ZGlmZiAtLWdpdCBhL3J1bnRpbWUvYXV0b2xvYWQvY3NzY29tcGxldGUudmltIGIvcnVudGltZS9hdXRvbG9hZC9jc3Njb21wbGV0ZS52aW0KaW5kZXggOTQ2MWYzOS4uZjY3NDQ1NCAxMDA2NDQKLS0tIGEvcnVudGltZS9hdXRvbG9hZC9jc3Njb21wbGV0ZS52aW0KKysrIGIvcnVudGltZS9hdXRvbG9hZC9jc3Njb21wbGV0ZS52aW0KQEAgLTEsNyArMSw3IEBACiAiIFZpbSBjb21wbGV0aW9uIHNjcmlwdAogIiBMYW5ndWFnZToJQ1NTIDIuMQogIiBNYWludGFpbmVyOglNaWtvbGFqIE1hY2hvd3NraSAoIG1pa21hY2ggQVQgd3AgRE9UIHBsICkKLSIgTGFzdCBDaGFuZ2U6CTIwMDUgU2VwIDIzCisiIExhc3QgQ2hhbmdlOgkyMDA1IFNlcCAyNwogCiBmdW5jdGlvbiEgY3NzY29tcGxldGUjQ29tcGxldGVDU1MoZmluZHN0YXJ0LCBiYXNlKQogaWYgYTpmaW5kc3RhcnQKQEAgLTMwNCw3ICszMDQsMTQgQEAKIAkJZWxzZWlmIHByb3AgPT0gJ3otaW5kZXgnCiAJCQlsZXQgdmFsdWVzID0gWyJhdXRvIl0KIAkJZWxzZQotCQkJcmV0dXJuIFtdCisJCQkiIElmIG5vIHByb3BlcnR5IG1hdGNoIGl0IGlzIHBvc3NpYmxlIHdlIGFyZSBvdXRzaWRlIG9mIHt9IGFuZAorCQkJIiB0cnlpbmcgdG8gY29tcGxldGUgcHNldWRvLShjbGFzc3xlbGVtZW50KQorCQkJbGV0IGVsZW1lbnQgPSB0b2xvd2VyKG1hdGNoc3RyKGxpbmUsICdcenNbYS16QS1aMS02XSpcemU6W146WzpzcGFjZTpdXVx7LX0kJykpCisJCQlpZiAiLGEsYWJicixhY3JvbnltLGFkZHJlc3MsYXJlYSxiLGJhc2UsYmRvLGJpZyxibG9ja3F1b3RlLGJvZHksYnIsYnV0dG9uLGNhcHRpb24sY2l0ZSxjb2RlLGNvbCxjb2xncm91cCxkZCxkZWwsZGZuLGRpdixkbCxkdCxlbSxmaWVsZHNldCxmb3JtLGhlYWQsaDEsaDIsaDMsaDQsaDUsaDYsaHIsaHRtbCxpLGltZyxpbnB1dCxpbnMsa2JkLGxhYmVsLGxlZ2VuZCxsaSxsaW5rLG1hcCxtZXRhLG5vc2NyaXB0LG9iamVjdCxvbCxvcHRncm91cCxvcHRpb24scCxwYXJhbSxwcmUscSxzYW1wLHNjcmlwdCxzZWxlY3Qsc21hbGwsc3BhbixzdHJvbmcsc3R5bGUsc3ViLHN1cCx0YWJsZSx0Ym9keSx0ZCx0ZXh0YXJlYSx0Zm9vdCx0aCx0aGVhZCx0aXRsZSx0cix0dCx1bCx2YXIsIiA9fiAnLCcuZWxlbWVudC4nLCcKKwkJCQlsZXQgdmFsdWVzID0gWyJmaXJzdC1jaGlsZCIsICJsaW5rIiwgInZpc2l0ZWQiLCAiaG92ZXIiLCAiYWN0aXZlIiwgImZvY3VzIiwgImxhbmciLCAiZmlyc3QtbGluZSIsICJmaXJzdC1sZXR0ZXIiLCAiYmVmb3JlIiwgImFmdGVyIl0KKwkJCWVsc2UKKwkJCQlyZXR1cm4gW10KKwkJCWVuZGlmCiAJCWVuZGlmCiAKIAkJIiBDb21wbGV0ZSB2YWx1ZXMKZGlmZiAtLWdpdCBhL3J1bnRpbWUvYXV0b2xvYWQvbmV0cncudmltIGIvcnVudGltZS9hdXRvbG9hZC9uZXRydy52aW0KaW5kZXggMTBkZDI4NS4uZWZkNTI4YSAxMDA2NDQKLS0tIGEvcnVudGltZS9hdXRvbG9hZC9uZXRydy52aW0KKysrIGIvcnVudGltZS9hdXRvbG9hZC9uZXRydy52aW0KQEAgLTEsMjggKzEsMzYgQEAKICIgbmV0cncudmltOiBIYW5kbGVzIGZpbGUgdHJhbnNmZXIgYW5kIHJlbW90ZSBkaXJlY3RvcnkgbGlzdGluZyBhY3Jvc3MgYSBuZXR3b3JrCiAiICAgICAgICAgICAgQVVUT0xPQUQgUE9SVElPTgotIiBMYXN0IENoYW5nZToJQXVnIDI5LCAyMDA1CisiIERhdGU6CQlTZXAgMjksIDIwMDUKKyIgVmVyc2lvbjoJNzIKICIgTWFpbnRhaW5lcjoJQ2hhcmxlcyBFIENhbXBiZWxsLCBKciA8ZHJjaGlwTk9TUEFNIGF0IGNhbXBiZWxsZmFtaWx5IGRvdCBiaXo+CiAiIEdldExhdGVzdFZpbVNjcmlwdHM6IDEwNzUgMSA6QXV0b0luc3RhbGw6IG5ldHJ3LnZpbQogIiBDb3B5cmlnaHQ6ICAgIENvcHlyaWdodCAoQykgMTk5OS0yMDA1IENoYXJsZXMgRS4gQ2FtcGJlbGwsIEpyLiB7e3sxCiAiICAgICAgICAgICAgICAgUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCB0byB1c2UgYW5kIGRpc3RyaWJ1dGUgdGhpcyBjb2RlLAogIiAgICAgICAgICAgICAgIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb25zLCBwcm92aWRlZCB0aGF0IHRoaXMgY29weXJpZ2h0CiAiICAgICAgICAgICAgICAgbm90aWNlIGlzIGNvcGllZCB3aXRoIGl0LiBMaWtlIGFueXRoaW5nIGVsc2UgdGhhdCdzIGZyZWUsCi0iICAgICAgICAgICAgICAgbmV0cncudmltIGlzIHByb3ZpZGVkICphcyBpcyogYW5kIGNvbWVzIHdpdGggbm8gd2FycmFudHkKLSIgICAgICAgICAgICAgICBvZiBhbnkga2luZCwgZWl0aGVyIGV4cHJlc3NlZCBvciBpbXBsaWVkLiBCeSB1c2luZyB0aGlzCi0iICAgICAgICAgICAgICAgcGx1Z2luLCB5b3UgYWdyZWUgdGhhdCBpbiBubyBldmVudCB3aWxsIHRoZSBjb3B5cmlnaHQKLSIgICAgICAgICAgICAgICBob2xkZXIgYmUgbGlhYmxlIGZvciBhbnkgZGFtYWdlcyByZXN1bHRpbmcgZnJvbSB0aGUgdXNlCisiICAgICAgICAgICAgICAgbmV0cncudmltLCBuZXRyd1BsdWdpbi52aW0sIGFuZCBuZXRyd1NldHRpbmdzLnZpbSBhcmUgcHJvdmlkZWQKKyIgICAgICAgICAgICAgICAqYXMgaXMqIGFuZCBjb21lcyB3aXRoIG5vIHdhcnJhbnR5IG9mIGFueSBraW5kLCBlaXRoZXIKKyIgICAgICAgICAgICAgICBleHByZXNzZWQgb3IgaW1wbGllZC4gQnkgdXNpbmcgdGhpcyBwbHVnaW4sIHlvdSBhZ3JlZSB0aGF0CisiICAgICAgICAgICAgICAgaW4gbm8gZXZlbnQgd2lsbCB0aGUgY29weXJpZ2h0IGhvbGRlciBiZSBsaWFibGUgZm9yIGFueSBkYW1hZ2VzCisiICAgICAgICAgICAgICAgcmVzdWx0aW5nIGZyb20gdGhlIHVzZSBvZiB0aGlzIHNvZnR3YXJlLgogIiAgICAgICAgICAgICAgIG9mIHRoaXMgc29mdHdhcmUuCiAiCiAiICBCdXQgYmUgZG9lcnMgb2YgdGhlIFdvcmQsIGFuZCBub3Qgb25seSBoZWFyZXJzLCBkZWx1ZGluZyB5b3VyIG93biBzZWx2ZXMge3t7MQogIiAgKEphbWVzIDE6MjIgUlNWKQogIiA9LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS0KLWxldCBzOmtlZXBjcG89ICZjcG8KLXNldCBjcG8mdmltCi0iIGNhbGwgRGVjaG8oImRvaW5nIGF1dG9sb2FkL25ldHJ3LnZpbSIpCisKKyIgRXhjZXB0aW9uIGZvciAmY3A6IHt7ezEKK2lmICZjcCB8fCBleGlzdHMoImc6bG9hZGVkX25ldHJ3IikKKyAgZmluaXNoCitlbmRpZgogaWYgdjp2ZXJzaW9uIDwgNzAwCiAgZWNob2hsIFdhcm5pbmdNc2cgfCBlY2hvICIqKipuZXRydyoqKiB5b3UgbmVlZCB2aW0gdmVyc2lvbiA3LjAgb3IgbGF0ZXIgZm9yIHZlcnNpb24gIi5nOmxvYWRlZF9uZXRydy4iIG9mIG5ldHJ3IiB8IGVjaG9obCBOb25lCiAgZmluaXNoCiBlbmRpZgorbGV0IGc6bG9hZGVkX25ldHJ3ID0gInY3MiIKK2xldCBzOmtlZXBjcG8gICAgICA9ICZjcG8KK3NldCBjcG8mdmltCisiIGNhbGwgRGVjaG8oImRvaW5nIGF1dG9sb2FkL25ldHJ3LnZpbSIpCiAKICIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAiIERlZmF1bHQgdmFsdWVzIGZvciBnbG9iYWwgbmV0cncgdmFyaWFibGVzIHt7ezEKQEAgLTQwMywxMiArNDExLDE0IEBACiAgICAiLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KICAgICIgZnRwICsgPC5uZXRyYz46ICBOZXRSZWFkIE1ldGhvZCAjMgogICAgZWxzZWlmIGI6bmV0cndfbWV0aG9kICA9PSAyCQkiIHJlYWQgd2l0aCBmdHAgKyA8Lm5ldHJjPgotIiAgICBjYWxsIERlY2hvKCJyZWFkIHZpYSBmdHArLm5ldHJjIChtZXRob2QgIzIpIikKKyIgICAgIGNhbGwgRGVjaG8oInJlYWQgdmlhIGZ0cCsubmV0cmMgKG1ldGhvZCAjMikiKQogICAgICBsZXQgbmV0cndfZm5hbWU9IGI6bmV0cndfZm5hbWUKICAgICAgbmV3CiAgICAgIHNldGxvY2FsIGZmPXVuaXgKICAgICAgZXhlICJwdXQgPSciLmc6bmV0cndfZnRwbW9kZS4iJyIKLSAgICAgZXhlICJwdXQgPSciLiJnZXQgIi5uZXRyd19mbmFtZS4iICIudG1wZmlsZS4iJyIKKyIgICAgIGNhbGwgRGVjaG8oImZpbHRlciBpbnB1dDogIi5nZXRsaW5lKCIuIikpCisgICAgIGV4ZSAicHV0ID0nIi4nZ2V0IFwiJy5uZXRyd19mbmFtZS4nXCIgJy50bXBmaWxlLiInIgorIiAgICAgY2FsbCBEZWNobygiZmlsdGVyIGlucHV0OiAiLmdldGxpbmUoIi4iKSkKICAgICAgaWYgZXhpc3RzKCJnOm5ldHJ3X3BvcnQiKSAmJiBnOm5ldHJ3X3BvcnQgIT0gIiIKICIgICAgICBjYWxsIERlY2hvKCJleGVjdXRpbmc6ICUhIi5nOm5ldHJ3X2Z0cF9jbWQuIiAtaSAiLmc6bmV0cndfbWFjaGluZS4iICIuZzpuZXRyd19wb3J0KQogICAgICAgZXhlIGc6bmV0cndfc2lsZW50eGZlci4iJSEiLmc6bmV0cndfZnRwX2NtZC4iIC1pICIuZzpuZXRyd19tYWNoaW5lLiIgIi5nOm5ldHJ3X3BvcnQKQEAgLTQzOCwyNyArNDQ4LDMzIEBACiAgICAgc2V0bG9jYWwgZmY9dW5peAogICAgIGlmIGV4aXN0cygiZzpuZXRyd19wb3J0IikgJiYgZzpuZXRyd19wb3J0ICE9ICIiCiAgICAgIHB1dCA9J29wZW4gJy5nOm5ldHJ3X21hY2hpbmUuJyAnLmc6bmV0cndfcG9ydAorIiAgICAgY2FsbCBEZWNobygiZmlsdGVyIGlucHV0OiAiLmdldGxpbmUoIi4iKSkKICAgICBlbHNlCiAgICAgIHB1dCA9J29wZW4gJy5nOm5ldHJ3X21hY2hpbmUKKyIgICAgIGNhbGwgRGVjaG8oImZpbHRlciBpbnB1dDogIi5nZXRsaW5lKCIuIikpCiAgICAgZW5kaWYKICAKICAgICBpZiBleGlzdHMoImc6bmV0cndfZnRwIikgJiYgZzpuZXRyd19mdHAgPT0gMQogICAgICBwdXQgPWc6bmV0cndfdWlkCi0gICAgIHB1dCA9ZzpuZXRyd19wYXNzd2QKKyIgICAgIGNhbGwgRGVjaG8oImZpbHRlciBpbnB1dDogIi5nZXRsaW5lKCIuIikpCisgICAgIHB1dCA9J1wiJy5nOm5ldHJ3X3Bhc3N3ZC4nXCInCisiICAgICBjYWxsIERlY2hvKCJmaWx0ZXIgaW5wdXQ6ICIuZ2V0bGluZSgiLiIpKQogICAgIGVsc2UKLSAgICAgcHV0ID0ndXNlciAnLmc6bmV0cndfdWlkLicgJy5nOm5ldHJ3X3Bhc3N3ZAorICAgICBwdXQgPSd1c2VyIFwiJy5nOm5ldHJ3X3VpZC4nXCIgXCInLmc6bmV0cndfcGFzc3dkLidcIicKKyIgICAgIGNhbGwgRGVjaG8oImZpbHRlciBpbnB1dDogIi5nZXRsaW5lKCIuIikpCiAgICAgZW5kaWYKICAKICAgICBpZiBleGlzdHMoImc6bmV0cndfZnRwbW9kZSIpICYmIGc6bmV0cndfZnRwbW9kZSAhPSAiIgogICAgICBwdXQgPWc6bmV0cndfZnRwbW9kZQorIiAgICAgY2FsbCBEZWNobygiZmlsdGVyIGlucHV0OiAiLmdldGxpbmUoIi4iKSkKICAgICBlbmRpZgotICAgIHB1dCA9J2dldCAnLm5ldHJ3X2ZuYW1lLicgJy50bXBmaWxlCisgICAgcHV0ID0nZ2V0IFwiJy5uZXRyd19mbmFtZS4nXCIgJy50bXBmaWxlCisiICAgICBjYWxsIERlY2hvKCJmaWx0ZXIgaW5wdXQ6ICIuZ2V0bGluZSgiLiIpKQogIAogICAgICIgcGVyZm9ybSBmdHA6CiAgICAgIiAtaSAgICAgICA6IHR1cm5zIG9mZiBpbnRlcmFjdGl2ZSBwcm9tcHRpbmcgZnJvbSBmdHAKICAgICAiIC1uICB1bml4IDogRE9OJ1QgdXNlIDwubmV0cmM+LCBldmVuIHRob3VnaCBpdCBleGlzdHMKICAgICAiIC1uICB3aW4zMjogcXVpdCBiZWluZyBvYm5veGlvdXMgYWJvdXQgcGFzc3dvcmQKLSIgICAgY2FsbCBEZWNobygncGVyZm9ybWluZyBmdHAgLWkgLW4nKQogICAgIG5vcm0hIDFHZGQKICIgICAgY2FsbCBEZWNobygiZXhlY3V0aW5nOiAlISIuZzpuZXRyd19mdHBfY21kLiIgLWkgLW4iKQogICAgIGV4ZSBnOm5ldHJ3X3NpbGVudHhmZXIuIiUhIi5nOm5ldHJ3X2Z0cF9jbWQuIiAtaSAtbiIKQEAgLTUwMiw3ICs1MTgsOCBAQAogICAgICAgZWNob2hsIEVycm9yIHwgZWNobyAiKioqbmV0cncqKiogbmVpdGhlciB3Z2V0IG5vciBmZXRjaCBjb21tYW5kIGlzIGF2YWlsYWJsZSIgfCBlY2hvaGwgTm9uZQogICAgICAgY2FsbCBpbnB1dHNhdmUoKXxjYWxsIGlucHV0KCJQcmVzcyA8Y3I+IHRvIGNvbnRpbnVlIil8Y2FsbCBpbnB1dHJlc3RvcmUoKQogICAgICBlbmRpZgotICAgICBleGl0CisiICAgICBjYWxsIERyZXQoIk5ldFJlYWQiKQorICAgICByZXR1cm4KICAgICBlbmRpZgogIAogICAgIGlmIG1hdGNoKGI6bmV0cndfZm5hbWUsIiMiKSA9PSAtMQpAQCAtNTgxLDcgKzU5OCw3IEBACiAgICAgICBlY2hvaGwgRXJyb3IgfCBlY2hvICIqKipuZXRydyoqKiBmZXRjaCBjb21tYW5kIG5vdCBhdmFpbGFibGUiIHwgZWNob2hsIE5vbmUKICAgICAgIGNhbGwgaW5wdXRzYXZlKCl8Y2FsbCBpbnB1dCgiUHJlc3MgPGNyPiB0byBjb250aW51ZSIpfGNhbGwgaW5wdXRyZXN0b3JlKCkKICAgICAgZW5kaWYKLSAgICAgZXhpdAorIiAgICAgY2FsbCBEcmV0KCJOZXRSZWFkIikKICAgICBlbmRpZgogICAgIGlmIGV4aXN0cygiZzpuZXRyd19vcHRpb24iKSAmJiBnOm5ldHJ3X29wdGlvbiA9PSAiOmh0dHAiCiAgICAgIGxldCBuZXRyd19vcHRpb249ICJodHRwIgpAQCAtNjU1LDcgKzY3Miw3IEBACiAgICBlbmRpZgogICBlbHNlCiAgICBsZXQgZm5hbWU9IGE6Zm5hbWUKLSIgICBjYWxsIERlY2hvKCIoY29waWVkKSBmbmFtZTwiLmZuYW1lLiI+IikKKyIgICBjYWxsIERlY2hvKCJmbmFtZT1hOmZuYW1lPCIuZm5hbWUuIj4iKQogICBlbmRpZgogIAogICBpZiBhOnJlYWRjbWRbMF0gPT0gJzAnCkBAIC02ODgsOCArNzA1LDEyIEBACiAgICBleGUgYTpyZWFkY21kLiIgIi52OmNtZGFyZy4iICIuZm5hbWUKICAgIGxldCBsaW5lMSAgICAgICAgPSBjdXJsaW5lICsgMQogICAgbGV0IGxpbmUyICAgICAgICA9IGxpbmUoIiQiKSAtIGxhc3RsaW5lICsgMQorCiAgIGVsc2UKICAgICIgbm90IHJlYWRhYmxlCisiICAgY2FsbCBEZnVuYygiTmV0R2V0RmlsZShyZWFkY21kPCIuYTpyZWFkY21kLiI+LGZuYW1lPCIuYTpmbmFtZS4iPiBtZXRob2Q8Ii5hOm1ldGhvZC4iPikiKQorICAgZWNob2hsIFdhcm5pbmdNc2cgfCBlY2hvICIqKipuZXRydyoqKiBmaWxlIDwiLmZuYW1lLiI+IG5vdCByZWFkYWJsZSJ8IGVjaG9obCBOb25lCisgICBjYWxsIGlucHV0c2F2ZSgpfGNhbGwgaW5wdXQoIlByZXNzIDxjcj4gdG8gY29udGludWUiKXxjYWxsIGlucHV0cmVzdG9yZSgpCiAiICAgY2FsbCBEcmV0KCJOZXRHZXRGaWxlIDogZm5hbWU8Ii5mbmFtZS4iPiBub3QgcmVhZGFibGUiKQogICAgcmV0dXJuCiAgIGVuZGlmCkBAIC03MjksNyArNzUwLDcgQEAKICAgaWYgIWlzZGlyZWN0b3J5KHN1YnN0aXR1dGUodG1wZmlsZSwnW14vXVwrJCcsJycsJ2UnKSkKICAgIGVjaG9obCBFcnJvciB8IGVjaG8gIioqKm5ldHJ3KioqIHlvdXIgIi5zdWJzdGl0dXRlKHRtcGZpbGUsJ1teL11cKyQnLCcnLCdlJykuIiBkaXJlY3RvcnkgaXMgbWlzc2luZyEiCiAgICBjYWxsIGlucHV0c2F2ZSgpfGNhbGwgaW5wdXQoIlByZXNzIDxjcj4gdG8gY29udGludWUiKXxjYWxsIGlucHV0cmVzdG9yZSgpCi0iICAgY2FsbCBEcmV0KCJOZXRSZWFkIikKKyIgICBjYWxsIERyZXQoIk5ldFdyaXRlIikKICAgIHJldHVybgogICBlbmRpZgogIApAQCAtODM5LDkgKzg2MCw5IEBACiAgICAgbmV3CiAgICAgc2V0bG9jYWwgZmY9dW5peAogICAgIGV4ZSAicHV0ID0nIi5nOm5ldHJ3X2Z0cG1vZGUuIiciCi0iICAgIGNhbGwgRGVjaG8oIiBOZXRXcml0ZTogcHV0ID0nIi5nOm5ldHJ3X2Z0cG1vZGUuIiciKQotICAgIGV4ZSAicHV0ID0nIi4icHV0ICIudG1wZmlsZS4iICIubmV0cndfZm5hbWUuIiciCi0iICAgIGNhbGwgRGVjaG8oInB1dCA9JyIuInB1dCAiLnRtcGZpbGUuIiAiLm5ldHJ3X2ZuYW1lLiInIikKKyIgICAgY2FsbCBEZWNobygiIGZpbHRlciBpbnB1dDogIi5nZXRsaW5lKCIuIikpCisgICAgZXhlICJwdXQgPSciLiJwdXQgIi50bXBmaWxlLicgXCInLm5ldHJ3X2ZuYW1lLidcIicuIiciCisiICAgIGNhbGwgRGVjaG8oIiBmaWx0ZXIgaW5wdXQ6ICIuZ2V0bGluZSgiLiIpKQogICAgIGlmIGV4aXN0cygiZzpuZXRyd19wb3J0IikgJiYgZzpuZXRyd19wb3J0ICE9ICIiCiAiICAgICBjYWxsIERlY2hvKCJleGVjdXRpbmc6ICUhIi5nOm5ldHJ3X2Z0cF9jbWQuIiAtaSAiLmc6bmV0cndfbWFjaGluZS4iICIuZzpuZXRyd19wb3J0KQogICAgICBleGUgZzpuZXRyd19zaWxlbnR4ZmVyLiIlISIuZzpuZXRyd19mdHBfY21kLiIgLWkgIi5nOm5ldHJ3X21hY2hpbmUuIiAiLmc6bmV0cndfcG9ydApAQCAtODY4LDE2ICs4ODksMjIgQEAKICAgICBzZXRsb2NhbCBmZj11bml4CiAgICAgaWYgZXhpc3RzKCJnOm5ldHJ3X3BvcnQiKSAmJiBnOm5ldHJ3X3BvcnQgIT0gIiIKICAgICAgcHV0ID0nb3BlbiAnLmc6bmV0cndfbWFjaGluZS4nICcuZzpuZXRyd19wb3J0CisiICAgICBjYWxsIERlY2hvKCJmaWx0ZXIgaW5wdXQ6ICIuZ2V0bGluZSgiLiIpKQogICAgIGVsc2UKICAgICAgcHV0ID0nb3BlbiAnLmc6bmV0cndfbWFjaGluZQorIiAgICAgY2FsbCBEZWNobygiZmlsdGVyIGlucHV0OiAiLmdldGxpbmUoIi4iKSkKICAgICBlbmRpZgogICAgIGlmIGV4aXN0cygiZzpuZXRyd19mdHAiKSAmJiBnOm5ldHJ3X2Z0cCA9PSAxCiAgICAgIHB1dCA9ZzpuZXRyd191aWQKLSAgICAgcHV0ID1nOm5ldHJ3X3Bhc3N3ZAorIiAgICAgY2FsbCBEZWNobygiZmlsdGVyIGlucHV0OiAiLmdldGxpbmUoIi4iKSkKKyAgICAgcHV0ID0nXCInLmc6bmV0cndfcGFzc3dkLidcIicKKyIgICAgIGNhbGwgRGVjaG8oImZpbHRlciBpbnB1dDogIi5nZXRsaW5lKCIuIikpCiAgICAgZWxzZQotICAgICBwdXQgPSd1c2VyICcuZzpuZXRyd191aWQuJyAnLmc6bmV0cndfcGFzc3dkCisgICAgIHB1dCA9J3VzZXIgXCInLmc6bmV0cndfdWlkLidcIiBcIicuZzpuZXRyd19wYXNzd2QuJ1wiJworIiAgICAgY2FsbCBEZWNobygiZmlsdGVyIGlucHV0OiAiLmdldGxpbmUoIi4iKSkKICAgICBlbmRpZgotICAgIHB1dCA9J3B1dCAnLnRtcGZpbGUuJyAnLm5ldHJ3X2ZuYW1lCisgICAgcHV0ID0ncHV0ICcudG1wZmlsZS4nIFwiJy5uZXRyd19mbmFtZS4nXCInCisiICAgIGNhbGwgRGVjaG8oImZpbHRlciBpbnB1dDogIi5nZXRsaW5lKCIuIikpCiAgICAgIiBzYXZlIGNob2ljZS9pZC9wYXNzd29yZCBmb3IgZnV0dXJlIHVzZQogICAgIGxldCBiOm5ldHJ3X2xhc3RmaWxlID0gY2hvaWNlCiAgCkBAIC04ODUsNyArOTEyLDYgQEAKICAgICAiIC1pICAgICAgIDogdHVybnMgb2ZmIGludGVyYWN0aXZlIHByb21wdGluZyBmcm9tIGZ0cAogICAgICIgLW4gIHVuaXggOiBET04nVCB1c2UgPC5uZXRyYz4sIGV2ZW4gdGhvdWdoIGl0IGV4aXN0cwogICAgICIgLW4gIHdpbjMyOiBxdWl0IGJlaW5nIG9ibm94aW91cyBhYm91dCBwYXNzd29yZAotIiAgICBjYWxsIERlY2hvKCdwZXJmb3JtaW5nIGZ0cCAtaSAtbicpCiAgICAgbm9ybSEgMUdkZAogIiAgICBjYWxsIERlY2hvKCJleGVjdXRpbmc6ICUhIi5nOm5ldHJ3X2Z0cF9jbWQuIiAtaSAtbiIpCiAgICAgZXhlIGc6bmV0cndfc2lsZW50eGZlci4iJSEiLmc6bmV0cndfZnRwX2NtZC4iIC1pIC1uIgpAQCAtMTA1Niw3ICsxMDgyLDcgQEAKICAgIiBhbmFseXplIGE6ZGlybmFtZSBhbmQgZzpuZXRyd19saXN0X2NtZAogICBsZXQgZGlycGF0ICA9ICdeXChcd1x7LX1cKTovL1woXHdcK0BcKVw9XChbXi9dXCtcKS9cKC4qXCkkJwogICBsZXQgZGlybmFtZSA9IHN1YnN0aXR1dGUoYTpkaXJuYW1lLCdcXCcsJy8nLCdnZScpCi0iICBjYWxsIERlY2hvKCJkaXJwYXQ8Ii5kaXJwYXQuIj4iKQorIiAgY2FsbCBEZWNobygiZGlybmFtZTwiLmRpcm5hbWUuIj4iKQogICBpZiBkaXJuYW1lICF+IGRpcnBhdAogICAgaWYgIWV4aXN0cygiZzpuZXRyd19xdWlldCIpCiAgICAgZWNob2hsIEVycm9yIHwgZWNobyAiKioqbmV0cncqKiogbmV0cncgZG9lc24ndCB1bmRlcnN0YW5kIHlvdXIgZGlybmFtZTwiLmRpcm5hbWUuIj4iIHwgZWNob2hsIE5vbmUKQEAgLTExMjYsOSArMTE1Miw5IEBACiAiICAgY2FsbCBEZWNobygibmV3IHBhdGg8Ii5wYXRoLiI+IikKIAogICAgIiByZW1vdGUtcmVhZCB0aGUgcmVxdWVzdGVkIGZpbGUgaW50byBjdXJyZW50IGJ1ZmZlcgotICAgZW5ldyEKKyAgIGtlZXBqdW1wcyBrZWVwYWx0IGVuZXchCiAgICBzZXQgbWEKLSIgICBjYWxsIERlY2hvKCJleGUgZmlsZSAubWV0aG9kLiI6Ly8iLnVzZXIubWFjaGluZS4iLyIuZXNjYXBlKHBhdGgsczpuZXRyd19jZF9lc2NhcGUpKQorIiAgIGNhbGwgRGVjaG8oImV4ZSBmaWxlICIubWV0aG9kLiI6Ly8iLnVzZXIubWFjaGluZS4iLyIuZXNjYXBlKHBhdGgsczpuZXRyd19jZF9lc2NhcGUpKQogICAgZXhlICJmaWxlICIubWV0aG9kLiI6Ly8iLnVzZXIubWFjaGluZS4iLyIuZXNjYXBlKHBhdGgsczpuZXRyd19jZF9lc2NhcGUpCiAgICBleGUgInNpbGVudCBkb2F1IEJ1ZlJlYWRQcmUgIi5mbmFtZQogICAgc2lsZW50IGNhbGwgbmV0cncjTmV0UmVhZChtZXRob2QuIjovLyIudXNlci5tYWNoaW5lLiIvIi5wYXRoKQpAQCAtMTEzNiw3ICsxMTYyLDcgQEAKICAgIGtlZXBqdW1wcyAxZAogCiAgICAiIHNhdmUgY2VydGFpbiB3aW5kb3ctb3JpZW50ZWQgdmFyaWFibGVzIGludG8gYnVmZmVyLW9yaWVudGVkIHZhcmlhYmxlcwotICAgY2FsbCBzOkJ1ZldpblZhcnMoKQorICAgY2FsbCBzOlNldEJ1ZldpblZhcnMoKQogICAgY2FsbCBzOk5ldE9wdGlvblJlc3RvcmUoKQogICAgc2V0bG9jYWwgbm9tb2QKIApAQCAtMTE2Miw3ICsxMTg4LDcgQEAKICAgIGVuZGlmCiAgIGVsc2UKICIgICBjYWxsIERlY2hvKCJnZW5lcmF0ZSBhIG5ldyBidWZmZXIiKQotICAgZW5ldyEKKyAgIGtlZXBqdW1wcyBrZWVwYWx0IGVuZXchCiAgIGVuZGlmCiAKICAgIiByZW5hbWUgZmlsZSB0byByZWZsZWN0IHdoZXJlIGl0cyBmcm9tCkBAIC0xMjAwLDcgKzEyMjYsNyBAQAogICBubm9yZW1hcCA8YnVmZmVyPiA8c2lsZW50PiBVCQk6PGMtdT5jYWxsIDxTSUQ+TmV0Qm9va21hcmtEaXIoNSxleHBhbmQoIiUiKSk8Y3I+CiAgIG5ub3JlbWFwIDxidWZmZXI+IDxzaWxlbnQ+IHYJCTpjYWxsIDxTSUQ+TmV0U3BsaXQoMSk8Y3I+CiAgIG5ub3JlbWFwIDxidWZmZXI+IDxzaWxlbnQ+IHgJCTpjYWxsIDxTSUQ+TmV0QnJvd3NlWCg8U0lEPk5ldEJyb3dzZUNoZ0RpcihleHBhbmQoIiUiKSw8U0lEPk5ldEdldFdvcmQoKSksMSk8Y3I+Ci0gIG5ub3JlbWFwIDxidWZmZXI+IDxzaWxlbnQ+IDwyLWxlZnRtb3VzZT4gOmNhbGwgPFNJRD5OZXRCcm93c2UoPFNJRD5OZXRCcm93c2VDaGdEaXIoZXhwYW5kKCIlIiksPFNJRD5OZXRHZXRXb3JkKCkpKTxjcj4KKyAgbm5vcmVtYXAgPGJ1ZmZlcj4gPHNpbGVudD4gPDItbGVmdG1vdXNlPgk6Y2FsbCA8U0lEPk5ldEJyb3dzZSg8U0lEPk5ldEJyb3dzZUNoZ0RpcihleHBhbmQoIiUiKSw8U0lEPk5ldEdldFdvcmQoKSkpPGNyPgogICBleGUgJ25ub3JlbWFwIDxidWZmZXI+IDxzaWxlbnQ+IDxkZWw+CTpjYWxsIDxTSUQ+TmV0QnJvd3NlUm0oIicudXNlci5tYWNoaW5lLiciLCInLnBhdGguJyIpPGNyPicKICAgZXhlICd2bm9yZW1hcCA8YnVmZmVyPiA8c2lsZW50PiA8ZGVsPgk6Y2FsbCA8U0lEPk5ldEJyb3dzZVJtKCInLnVzZXIubWFjaGluZS4nIiwiJy5wYXRoLiciKTxjcj4nCiAgIGV4ZSAnbm5vcmVtYXAgPGJ1ZmZlcj4gPHNpbGVudD4gZAk6Y2FsbCA8U0lEPk5ldE1ha2VEaXIoIicudXNlci5tYWNoaW5lLiciKTxjcj4nCkBAIC0xMjYwLDYgKzEyODYsNyBAQAogICAgIGlmIGc6bmV0cndfZnRwX2Jyb3dzZV9yZWplY3QgIT0gIiIKICAgICAgZXhlICJzaWxlbnQhIGcvIi5nOm5ldHJ3X2Z0cF9icm93c2VfcmVqZWN0LiIva2VlcGp1bXBzIGQiCiAgICAgZW5kaWYKKyAgICBzaWxlbnQhIGtlZXBqdW1wcyAlcy9cciQvL2UKIAogICAgICIgaWYgdGhlcmUncyBubyAuLi8gbGlzdGVkLCB0aGVuIHB1dCAuLyBhbmQgLi4vIGluCiAgICAgbGV0IGxpbmUxPSBsaW5lKCIuIikKQEAgLTEyNzQsOSArMTMwMSw5IEBACiAgICAga2VlcGp1bXBzIG5vcm0hIDAKIAogICAgICIgbW9yZSBjbGVhbnVwCi0gICAgZXhlICdrZWVwanVtcHMgc2lsZW50ISAnLnc6bmV0cndfYmFubmVyY250LicsJHMvXlwoXCUoXFNcK1xzXCtcKVx7N31cU1wrXClcc1wrXChcUy4qXCkkL1wyL2UnCi0gICAgZXhlICJrZWVwanVtcHMgc2lsZW50ISAiLnc6bmV0cndfYmFubmVyY250LicsJGcvIC0+IC9zIyAtPiAuKi8kIy8jZScKLSAgICBleGUgImtlZXBqdW1wcyBzaWxlbnQhICIudzpuZXRyd19iYW5uZXJjbnQuJywkZy8gLT4gL3MjIC0+IC4qJCMvI2UnCisgICAgZXhlICdzaWxlbnQhIGtlZXBqdW1wcyAnLnc6bmV0cndfYmFubmVyY250LicsJHMvXlwoXCUoXFNcK1xzXCtcKVx7N31cU1wrXClcc1wrXChcUy4qXCkkL1wyL2UnCisgICAgZXhlICJzaWxlbnQhIGtlZXBqdW1wcyAiLnc6bmV0cndfYmFubmVyY250LicsJGcvIC0+IC9zIyAtPiAuKi8kIy8jZScKKyAgICBleGUgInNpbGVudCEga2VlcGp1bXBzICIudzpuZXRyd19iYW5uZXJjbnQuJywkZy8gLT4gL3MjIC0+IC4qJCMvI2UnCiAgICBlbmRpZgogCiAgIGVsc2UKQEAgLTEzMzMsMzMgKzEzNjAsMzMgQEAKICAgICBrZWVwanVtcHMgbm9ybSEgMAogICAgIGVuZGlmCiAKLSAgICBleGUgJ2tlZXBqdW1wcyBzaWxlbnQgJy53Om5ldHJ3X2Jhbm5lcmNudC4nLCRzLyAtPiAuKiQvL2UnCi0gICAgZXhlICdrZWVwanVtcHMgc2lsZW50ICcudzpuZXRyd19iYW5uZXJjbnQuJywkcy9eXChcJShcU1wrXHNcK1wpXHs3fVxTXCtcKVxzXCtcKFxTLipcKSQvXDJcdFwxL2UnCi0gICAgZXhlIHc6bmV0cndfYmFubmVyY250CisgICAgZXhlICdzaWxlbnQga2VlcGp1bXBzICcudzpuZXRyd19iYW5uZXJjbnQuJywkcy8gLT4gLiokLy9lJworICAgIGV4ZSAnc2lsZW50IGtlZXBqdW1wcyAnLnc6bmV0cndfYmFubmVyY250LicsJHMvXlwoXCUoXFNcK1xzXCtcKVx7N31cU1wrXClcc1wrXChcUy4qXCkkL1wyXHRcMS9lJworICAgIGV4ZSAnc2lsZW50IGtlZXBqdW1wcyAnLnc6bmV0cndfYmFubmVyY250CiAgICBlbmRpZgogCiAgICBpZiBsaW5lKCIkIikgPj0gdzpuZXRyd19iYW5uZXJjbnQKICAgICBpZiBnOm5ldHJ3X3NvcnRfYnkgPX4gIl5uIgogICAgICBjYWxsIHM6U2V0U29ydCgpCiAgICAgIGlmIGc6bmV0cndfc29ydF9kaXJlY3Rpb24gPX4gJ24nCi0gICAgICBleGUgJ2tlZXBqdW1wcyBzaWxlbnQgJy53Om5ldHJ3X2Jhbm5lcmNudC4nLCRzb3J0JworICAgICAgZXhlICdzaWxlbnQga2VlcGp1bXBzICcudzpuZXRyd19iYW5uZXJjbnQuJywkc29ydCcKICAgICAgZWxzZQotICAgICAgZXhlICdrZWVwanVtcHMgc2lsZW50ICcudzpuZXRyd19iYW5uZXJjbnQuJywkc29ydCEnCisgICAgICBleGUgJ3NpbGVudCBrZWVwanVtcHMgJy53Om5ldHJ3X2Jhbm5lcmNudC4nLCRzb3J0IScKICAgICAgZW5kaWYKLSAgICAgZXhlICdrZWVwanVtcHMgc2lsZW50ICcudzpuZXRyd19iYW5uZXJjbnQuJywkcy9eXGRcezN9XC8vL2UnCisgICAgIGV4ZSAnc2lsZW50IGtlZXBqdW1wcyAnLnc6bmV0cndfYmFubmVyY250LicsJHMvXlxkXHszfVwvLy9lJwogICAgIGVuZGlmCiAgICAgaWYgdzpuZXRyd19sb25nbGlzdCA9PSAxCiAgICAgICIgc2hvcnRlbiB0aGUgbGlzdCB0byBrZWVwIGl0cyB3aWR0aCA8PSB3aW53aWR0aCBjaGFyYWN0ZXJzCi0gICAgIGV4ZSAia2VlcGp1bXBzIHNpbGVudCAiLnc6bmV0cndfYmFubmVyY250LicsJHMvXHRbLWRzdHJ3eF1cKy9cdC9lJworICAgICBleGUgInNpbGVudCBrZWVwanVtcHMgIi53Om5ldHJ3X2Jhbm5lcmNudC4nLCRzL1x0Wy1kc3Ryd3hdXCsvXHQvZScKICAgICBlbmRpZgogICAgZW5kaWYKICAgZW5kaWYKIAotICAiIGNsZWFudXAgYW55IHdpbmRvd3MgbWVzcyBhdCBlbmQtb2YtbGluZQotICBrZWVwanVtcHMgc2lsZW50ISAlcy9cciQvL2UKICAgY2FsbCBzOk5ldHJ3V2lkZUxpc3RpbmcoKQogICBpZiBsaW5lKCIkIikgPj0gdzpuZXRyd19iYW5uZXJjbnQKKyAgICIgcGxhY2UgY3Vyc29yIG9uIHRoZSB0b3AtbGVmdCBjb3JuZXIgb2YgdGhlIGZpbGUgbGlzdGluZwogICAgZXhlICJrZWVwanVtcHMgIi53Om5ldHJ3X2Jhbm5lcmNudAorICAgbm9ybSEgMAogICBlbmRpZgogCiAgIGNhbGwgczpOZXRPcHRpb25SZXN0b3JlKCkKQEAgLTE0NDksNyArMTQ3Niw3IEBACiAgICAgbGV0IHM6bmV0cndfc2tpcGJyb3dzZT0gMQogICAgIGVjaG8gJ1ByZXNzaW5nICJhIiBhbHNvIHdvcmtzJwogICAgZWxzZWlmIGxpbmUoIiQiKSA+IHc6bmV0cndfYmFubmVyY250Ci0gICAgZXhlIHc6bmV0cndfYmFubmVyY250CisgICAgZXhlICdzaWxlbnQga2VlcGp1bXBzICcudzpuZXRyd19iYW5uZXJjbnQKICAgIGVuZGlmCiAKICAgZWxzZWlmIHc6bmV0cndfbG9uZ2xpc3QgPT0gMApAQCAtMTY5MCw3ICsxNzE3LDcgQEAKICAgICIgY3JlYXRlIGEgbG9jYWwgY29weQogICAgbGV0IGZuYW1lPSB0ZW1wbmFtZSgpLiIuIi5leHRlbgogIiAgIGNhbGwgRGVjaG8oImNyZWF0ZSBhIGxvY2FsIGNvcHkgb2YgPCIuYTpmbmFtZS4iPiBhcyA8Ii5mbmFtZS4iPiIpCi0gICBleGUgImtlZXBqdW1wcyBzaWxlbnQgYm90IDFuZXcgIi5hOmZuYW1lCisgICBleGUgInNpbGVudCBrZWVwanVtcHMgYm90IDFuZXcgIi5hOmZuYW1lCiAgICBzZXQgYmg9ZGVsZXRlCiAgICBleGUgInchICIuZm5hbWUKICAgIHEKQEAgLTE3NjUsMTEgKzE3OTIsMTEgQEAKICAgaWYgdzpuZXRyd19tZXRob2QgPT0gMiB8fCB3Om5ldHJ3X21ldGhvZCA9PSA1IAogICAgIiBmdHAgKyA8Lm5ldHJjPjogIE1ldGhvZCAjMgogICAgaWYgYTpwYXRoICE9ICIiCi0gICAgcHV0ID0nY2QgJy5hOnBhdGgKLSIgICAgY2FsbCBEZWNobygiZnRwOiAgY2QgIi5hOnBhdGgpCisgICAgcHV0ID0nY2QgXCInLmE6cGF0aC4nXCInCisiICAgIGNhbGwgRGVjaG8oJ2Z0cDogICcuZ2V0bGluZSgiLiIpKQogICAgZW5kaWYKICAgIGV4ZSAicHV0ID0nIi5hOmNtZC4iJyIKLSIgICBjYWxsIERlY2hvKCJmdHA6ICAiLmE6Y21kKQorIiAgIGNhbGwgRGVjaG8oImZ0cDogICIuZ2V0bGluZSgiLiIpKQogIiAgICByZWRyYXchfGNhbGwgaW5wdXRzYXZlKCl8Y2FsbCBpbnB1dCgiUGF1c2luZy4uLiIpfGNhbGwgaW5wdXRyZXN0b3JlKCkKICAgIGlmIGV4aXN0cygiZzpuZXRyd19wb3J0IikgJiYgZzpuZXRyd19wb3J0ICE9ICIiCiAiICAgIGNhbGwgRGVjaG8oImV4ZSAiLmc6bmV0cndfc2lsZW50eGZlci5jdXJsaW5lLiIsJCEiLmc6bmV0cndfZnRwX2NtZC4iIC1pICIuZzpuZXRyd19tYWNoaW5lLiIgIi5nOm5ldHJ3X3BvcnQpCkBAIC0xNzkxLDEzICsxODE4LDEzIEBACiAgCiAgICAgaWYgZXhpc3RzKCJnOm5ldHJ3X2Z0cCIpICYmIGc6bmV0cndfZnRwID09IDEKICAgICAgcHV0ID1nOm5ldHJ3X3VpZAotICAgICBwdXQgPWc6bmV0cndfcGFzc3dkCisgICAgIHB1dCA9J1wiJy5nOm5ldHJ3X3Bhc3N3ZC4nXCInCiAgICAgZWxzZQotICAgICBwdXQgPSd1c2VyICcuZzpuZXRyd191aWQuJyAnLmc6bmV0cndfcGFzc3dkCisgICAgIHB1dCA9J3VzZXIgXCInLmc6bmV0cndfdWlkLidcIiBcIicuZzpuZXRyd19wYXNzd2QuJ1wiJwogICAgIGVuZGlmCiAgCiAgICBpZiBhOnBhdGggIT0gIiIKLSAgICBwdXQgPSdjZCAnLmE6cGF0aAorICAgIHB1dCA9J2NkIFwiJy5hOnBhdGguJ1wiJwogICAgZW5kaWYKICAgIGV4ZSAicHV0ID0nIi5hOmNtZC4iJyIKICAKQEAgLTE4MTUsMTQgKzE4NDIsMTQgQEAKIAogICAiIGNsZWFudXAgZm9yIFdpbmRvd3MKICAgaWYgaGFzKCJ3aW4zMiIpIHx8IGhhcygid2luOTUiKSB8fCBoYXMoIndpbjY0IikgfHwgaGFzKCJ3aW4xNiIpCi0gICBrZWVwanVtcHMgc2lsZW50ISEgJXMvXHIkLy9lCisgICBzaWxlbnQhIGtlZXBqdW1wcyEgJXMvXHIkLy9lCiAgIGVuZGlmCiAgIGlmIGE6Y21kID09ICJkaXIiCiAgICAiIGluZmVyIGRpcmVjdG9yeS9saW5rIGJhc2VkIG9uIHRoZSBmaWxlIHBlcm1pc3Npb24gc3RyaW5nCi0gICBrZWVwanVtcHMgc2lsZW50ISBnL2RcJShbLXJdWy13XVsteF1cKVx7M30vc0AkQC9ACi0gICBrZWVwanVtcHMgc2lsZW50ISBnL2xcJShbLXJdWy13XVsteF1cKVx7M30vcy8kL0AvCisgICBzaWxlbnQhIGtlZXBqdW1wcyBnL2RcJShbLXJdWy13XVsteF1cKVx7M30vc0AkQC9ACisgICBzaWxlbnQhIGtlZXBqdW1wcyBnL2xcJShbLXJdWy13XVsteF1cKVx7M30vcy8kL0AvCiAgICBpZiB3Om5ldHJ3X2xvbmdsaXN0ID09IDAgfHwgdzpuZXRyd19sb25nbGlzdCA9PSAyCi0gICAgZXhlICJrZWVwanVtcHMgc2lsZW50ISAiLmN1cmxpbmUuJywkcy9eXCUoXFNcK1xzXCtcKVx7OH0vL2UnCisgICAgZXhlICJzaWxlbnQhIGtlZXBqdW1wcyAiLmN1cmxpbmUuJywkcy9eXCUoXFNcK1xzXCtcKVx7OH0vL2UnCiAgICBlbmRpZgogICBlbmRpZgogCkBAIC0xODYwLDkgKzE4ODcsOSBAQAogICAgIiBQcnVuZSB0aGUgbGlzdCBieSBoaWRpbmcgYW55IGZpbGVzIHdoaWNoIG1hdGNoCiAiICAgY2FsbCBEZWNobygicHJ1bmluZyA8Ii5oaWRlLiI+IGxpc3RoaWRlPCIubGlzdGhpZGUuIj4iKQogICAgaWYgZzpuZXRyd19oaWRlID09IDEKLSAgICBleGUgJ2tlZXBqdW1wcyBzaWxlbnQgJy53Om5ldHJ3X2Jhbm5lcmNudC4nLCRnficuaGlkZS4nfmQnCisgICAgZXhlICdzaWxlbnQga2VlcGp1bXBzICcudzpuZXRyd19iYW5uZXJjbnQuJywkZ34nLmhpZGUuJ35kJwogICAgZWxzZWlmIGc6bmV0cndfaGlkZSA9PSAyCi0gICAgZXhlICdrZWVwanVtcHMgc2lsZW50ICcudzpuZXRyd19iYW5uZXJjbnQuJywkdn4nLmhpZGUuJ35kJworICAgIGV4ZSAnc2lsZW50IGtlZXBqdW1wcyAnLnc6bmV0cndfYmFubmVyY250LicsJHZ+Jy5oaWRlLid+ZCcKICAgIGVuZGlmCiAgIGVuZHdoaWxlCiAKQEAgLTE5OTYsMTAgKzIwMjMsMTAgQEAKICAgICAgZXhlICJzaWxlbnQga2VlcGp1bXBzIG5vcm0hIDBcPGMtdj4iLm5ld2NvbHF0eS4naiRoeCcudzpuZXRyd19iYW5uZXJjbnQuJ0ckcCcKICAgICBlbmRpZgogICAgIGV4ZSAic2lsZW50IGtlZXBqdW1wcyAiLm5ld2NvbHN0YXJ0LicsJy5uZXdjb2xlbmQuJ2QnCi0gICAgZXhlIHc6bmV0cndfYmFubmVyY250CisgICAgZXhlICdzaWxlbnQga2VlcGp1bXBzICcudzpuZXRyd19iYW5uZXJjbnQKICAgIGVuZHdoaWxlCiAgICBleGUgInNpbGVudCBrZWVwanVtcHMgIi53Om5ldHJ3X2Jhbm5lcmNudC4nLCRzL1xzXCskLy9lJwotICAgc2V0IG5vbWEgbm9tb2QKKyAgIHNldGxvY2FsIG5vbWEgbm9tb2QKICAgZW5kaWYKIAogIiAgY2FsbCBEcmV0KCJOZXRyd1dpZGVMaXN0aW5nIikKQEAgLTIxMzAsOSArMjE1NywxMiBAQAogICBpZiBleGlzdHMoInc6bmV0cndfYmFubmVyY250IikgJiYgbGluZSgiLiIpIDw9IHc6bmV0cndfYmFubmVyY250CiAgICAiIGxvb2tzIGxpa2UgYSAiYiIgd2FzIHByZXNzZWQgd2hpbGUgaW4gdGhlIGJhbm5lciByZWdpb24KICAgIGlmIGxpbmUoIiQiKSA+IHc6bmV0cndfYmFubmVyY250Ci0gICAgZXhlIHc6bmV0cndfYmFubmVyY250CisgICAgZXhlICdzaWxlbnQga2VlcGp1bXBzICcudzpuZXRyd19iYW5uZXJjbnQKICAgIGVuZGlmCi0gICBlY2hvICIiCisgICBpZiAmY2ggPiAxCisgICAgIiAiY2xlYXIiIHRoZSBtZXNzYWdlCisgICAgZWNobyAiIgorICAgZW5kaWYKICIgIGNhbGwgRHJldCgiTmV0Qm9va21hcmtEaXIgLSBpZ25vcmluZyIpCiAgICByZXR1cm4KICAgZW5kaWYKQEAgLTIyMjksMTIgKzIyNTksMTAgQEAKICIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAiIE5ldE9idGFpbjogb2J0YWluIGZpbGUgdW5kZXIgY3Vyc29yIChmb3IgcmVtb3RlIGJyb3dzaW5nIHN1cHBvcnQpIHt7ezIKIGZ1biEgczpOZXRPYnRhaW4oKQotICBpZiAhZXhpc3RzKCJzOm5ldHJ3X3VzZXJzX3N0bCIpCi0gICBsZXQgczpuZXRyd191c2Vyc19zdGw9ICZzdGwKLSAgZW5kaWYKICAgbGV0IGZuYW1lPSBleHBhbmQoIjxjV09SRD4iKQotICBleGUgJ3NldCBzdGw9JWZcICVoJW0lciU9T2J0YWluaW5nXCAnLmVzY2FwZShmbmFtZSwnICcpCi0gIHJlZHJhdyEKKworICAiIE5ldHJ3U3RhdHVzTGluZSBzdXBwb3J0IC0gZm9yIG9idGFpbmluZyBzdXBwb3J0CisgIGNhbGwgczpTZXR1cE5ldHJ3U3RhdHVzTGluZSgnJWYgJWglbSVyJT0lOSpPYnRhaW5pbmcgJy5mbmFtZSkKIAogIiAgY2FsbCBEZnVuYygiTmV0T2J0YWluKCkgbWV0aG9kPSIudzpuZXRyd19tZXRob2QpCiAgIGlmIGV4aXN0cygidzpuZXRyd19tZXRob2QiKSAmJiB3Om5ldHJ3X21ldGhvZCA9fiAnWzIzNV0nCkBAIC0yMjc3LDExICsyMzA1LDExIEBACiAgCiAgICAgaWYgZXhpc3RzKCJnOm5ldHJ3X2Z0cCIpICYmIGc6bmV0cndfZnRwID09IDEKICAgICAgcHV0ID1nOm5ldHJ3X3VpZAotICAgICBwdXQgPWc6bmV0cndfcGFzc3dkCisgICAgIHB1dCA9J1wiJy5nOm5ldHJ3X3Bhc3N3ZC4nXCInCiAiICAgICBjYWxsIERlY2hvKCdmdHA6ICBnOm5ldHJ3X3VpZCcpCiAiICAgICBjYWxsIERlY2hvKCdmdHA6ICBnOm5ldHJ3X3Bhc3N3ZCcpCiAgICAgZWxzZQotICAgICBwdXQgPSd1c2VyICcuZzpuZXRyd191aWQuJyAnLmc6bmV0cndfcGFzc3dkCisgICAgIHB1dCA9J3VzZXIgXCInLmc6bmV0cndfdWlkLidcIiBcIicuZzpuZXRyd19wYXNzd2QuJ1wiJwogIiAgICAgY2FsbCBEZWNobygndXNlciAnLmc6bmV0cndfdWlkLicgJy5nOm5ldHJ3X3Bhc3N3ZCkKICAgICBlbmRpZgogIApAQCAtMjMwNiwxMiArMjMzNCwxNCBAQAogICAgICIgcmVzdG9yZQogICAgIGV4ZSAic2lsZW50ISAiLmVuZGxpbmUuIiwkZCIKICAgICBleGUgImtlZXBqdW1wcyAiLmN1cmxpbmUKLSAgICBzZXQgbm9tYSBub21vZAorICAgIHNldGxvY2FsIG5vbWEgbm9tb2QKICAgIGVsc2UKICAgICBpZiAhZXhpc3RzKCJnOm5ldHJ3X3F1aWV0IikKICAgICAgZWNob2hsIEVycm9yIHwgZWNobyAiKioqbmV0cncqKiogdGhpcyBzeXN0ZW0gZG9lc24ndCBzdXBwb3J0IGZ0cCIgfCBlY2hvaGwgTm9uZQogICAgICBjYWxsIGlucHV0c2F2ZSgpfGNhbGwgaW5wdXQoIlByZXNzIDxjcj4gdG8gY29udGludWUiKXxjYWxsIGlucHV0cmVzdG9yZSgpCiAgICAgZW5kaWYKKyAgICBsZXQgJnN0bCAgICAgICAgPSBzOm5ldHJ3X3VzZXJzX3N0bAorICAgIGxldCAmbGFzdHN0YXR1cyA9IHM6bmV0cndfdXNlcnNfbHMKICIgICAgY2FsbCBEcmV0KCJOZXRPYnRhaW4iKQogICAgIHJldHVybgogICAgZW5kaWYKQEAgLTIzMzUsNyArMjM2NSw4IEBACiAgIGVuZGlmCiAKICAgIiByZXN0b3JlIHN0YXR1cyBsaW5lCi0gIGxldCAmc3RsPSBzOm5ldHJ3X3VzZXJzX3N0bAorICBsZXQgJnN0bCAgICAgICAgPSBzOm5ldHJ3X3VzZXJzX3N0bAorICBsZXQgJmxhc3RzdGF0dXMgPSBzOm5ldHJ3X3VzZXJzX2xzCiAgIHJlZHJhdyEKIAogIiAgY2FsbCBEcmV0KCJOZXRPYnRhaW4iKQpAQCAtMjQwNCw3ICsyNDM1LDcgQEAKIAogICAiIGdldCBjbGVhcmVkIGJ1ZmZlcgogICBpZiBidWZudW0gPCAwIHx8ICFidWZleGlzdHMoYnVmbnVtKQotICAga2VlcGFsdCBlbmV3IQorICAga2VlcGp1bXBzIGtlZXBhbHQgZW5ldyEKICIgICBjYWxsIERlY2hvKCJlbmV3IGJ1ZmZlciIpCiAgIGVsc2UKICAgIGV4ZSAia2VlcGFsdCBiICIuYnVmbnVtCkBAIC0yNDk2LDcgKzI1MjcsNyBAQAogICBubm9yZW1hcCA8YnVmZmVyPiA8c2lsZW50PiBVCQk6PGMtdT5jYWxsIDxTSUQ+TmV0Qm9va21hcmtEaXIoNSxleHBhbmQoIiUiKSk8Y3I+CiAgIG5ub3JlbWFwIDxidWZmZXI+IDxzaWxlbnQ+IHYJCTpjYWxsIDxTSUQ+TmV0U3BsaXQoMyk8Y3I+CiAgIG5ub3JlbWFwIDxidWZmZXI+IDxzaWxlbnQ+IHgJCTpjYWxsIDxTSUQ+TmV0QnJvd3NlWCg8U0lEPkxvY2FsQnJvd3NlQ2hnRGlyKGI6bmV0cndfY3VyZGlyLDxTSUQ+TmV0R2V0V29yZCgpLDApLDApIjxjcj4KLSAgbm5vcmVtYXAgPGJ1ZmZlcj4gPHNpbGVudD4gPDItbGVmdG1vdXNlPiA6ZXhlICJjYWxsIDxTSUQ+TG9jYWxSZWZyZXNoKDxTSUQ+TG9jYWxCcm93c2VDaGdEaXIoYjpuZXRyd19jdXJkaXIsPFNJRD5OZXRHZXRXb3JkKCkpKSI8Y3I+CisgIG5ub3JlbWFwIDxidWZmZXI+IDxzaWxlbnQ+IDwyLWxlZnRtb3VzZT4JOmNhbGwgPFNJRD5Mb2NhbEJyb3dzZSg8U0lEPkxvY2FsQnJvd3NlQ2hnRGlyKGI6bmV0cndfY3VyZGlyLDxTSUQ+TmV0R2V0V29yZCgpKSk8Y3I+CiAgIG5ub3JlbWFwIDxidWZmZXI+IDxzaWxlbnQ+IDxzLXVwPgk6UGV4cGxvcmU8Y3I+CiAgIG5ub3JlbWFwIDxidWZmZXI+IDxzaWxlbnQ+IDxzLWRvd24+CTpOZXhwbG9yZTxjcj4KICAgZXhlICdubm9yZW1hcCA8YnVmZmVyPiA8c2lsZW50PiA8ZGVsPgk6Y2FsbCA8U0lEPkxvY2FsQnJvd3NlUm0oIicuYjpuZXRyd19jdXJkaXIuJyIpPGNyPicKQEAgLTI1NzQsMTkgKzI2MDUsMTkgQEAKICAgICAgY2FsbCBzOlNldFNvcnQoKQogCiAgICAgIGlmIGc6bmV0cndfc29ydF9kaXJlY3Rpb24gPX4gJ24nCi0gICAgICBleGUgJ2tlZXBqdW1wcyBzaWxlbnQgJy53Om5ldHJ3X2Jhbm5lcmNudC4nLCRzb3J0JworICAgICAgZXhlICdzaWxlbnQga2VlcGp1bXBzICcudzpuZXRyd19iYW5uZXJjbnQuJywkc29ydCcKICAgICAgZWxzZQotICAgICAgZXhlICdrZWVwanVtcHMgc2lsZW50ICcudzpuZXRyd19iYW5uZXJjbnQuJywkc29ydCEnCisgICAgICBleGUgJ3NpbGVudCBrZWVwanVtcHMgJy53Om5ldHJ3X2Jhbm5lcmNudC4nLCRzb3J0IScKICAgICAgZW5kaWYKLSAgICAgZXhlICdrZWVwanVtcHMgc2lsZW50ICcudzpuZXRyd19iYW5uZXJjbnQuJywkcy9eXGRcezN9XC8vL2UnCisgICAgIGV4ZSAnc2lsZW50IGtlZXBqdW1wcyAnLnc6bmV0cndfYmFubmVyY250LicsJHMvXlxkXHszfVwvLy9lJwogCiAgICAgZWxzZQogICAgICBpZiBnOm5ldHJ3X3NvcnRfZGlyZWN0aW9uID1+ICduJwotICAgICAgZXhlICdrZWVwanVtcHMgc2lsZW50ICcudzpuZXRyd19iYW5uZXJjbnQuJywkc29ydCcKKyAgICAgIGV4ZSAnc2lsZW50IGtlZXBqdW1wcyAnLnc6bmV0cndfYmFubmVyY250LicsJHNvcnQnCiAgICAgIGVsc2UKLSAgICAgIGV4ZSAna2VlcGp1bXBzIHNpbGVudCAnLnc6bmV0cndfYmFubmVyY250LicsJHNvcnQhJworICAgICAgZXhlICdzaWxlbnQga2VlcGp1bXBzICcudzpuZXRyd19iYW5uZXJjbnQuJywkc29ydCEnCiAgICAgIGVuZGlmCi0gICAgIGV4ZSAna2VlcGp1bXBzIHNpbGVudCAnLnc6bmV0cndfYmFubmVyY250LicsJHMvXlxkXHstfVwvLy9lJworICAgICBleGUgJ3NpbGVudCBrZWVwanVtcHMgJy53Om5ldHJ3X2Jhbm5lcmNudC4nLCRzL15cZFx7LX1cLy8vZScKICAgICBlbmRpZgogCiAgICBlbmRpZgpAQCAtMjU5NCwxNCArMjYyNSwxNiBAQAogCiAgIGNhbGwgczpOZXRyd1dpZGVMaXN0aW5nKCkKICAgaWYgZXhpc3RzKCJ3Om5ldHJ3X2Jhbm5lcmNudCIpICYmIGxpbmUoIiQiKSA+IHc6bmV0cndfYmFubmVyY250Ci0gICBleGUgdzpuZXRyd19iYW5uZXJjbnQKKyAgICIgcGxhY2UgY3Vyc29yIG9uIHRoZSB0b3AtbGVmdCBjb3JuZXIgb2YgdGhlIGZpbGUgbGlzdGluZworICAgZXhlICdzaWxlbnQgJy53Om5ldHJ3X2Jhbm5lcmNudAorICAgbm9ybSEgMAogICBlbmRpZgogCiAgICIgcmVjb3JkIHByZXZpb3VzIGN1cnJlbnQgZGlyZWN0b3J5CiAgIGxldCB3Om5ldHJ3X3BydmRpcj0gYjpuZXRyd19jdXJkaXIKIAogICAiIHNhdmUgY2VydGFpbiB3aW5kb3ctb3JpZW50ZWQgdmFyaWFibGVzIGludG8gYnVmZmVyLW9yaWVudGVkIHZhcmlhYmxlcwotICBjYWxsIHM6QnVmV2luVmFycygpCisgIGNhbGwgczpTZXRCdWZXaW5WYXJzKCkKICAgY2FsbCBzOk5ldE9wdGlvblJlc3RvcmUoKQogICBzZXRsb2NhbCBub21hIG5vbW9kIG5vbnUgYmg9aGlkZSBub2JsCiAKQEAgLTI3MDEsNyArMjczNCw3IEBACiAgIGVuZHdoaWxlCiAgIAogICAiIGNsZWFudXAgYW55IHdpbmRvd3MgbWVzcyBhdCBlbmQtb2YtbGluZQotICBrZWVwanVtcHMgc2lsZW50ISAlcy9cciQvL2UKKyAgc2lsZW50ISBrZWVwanVtcHMgJXMvXHIkLy9lCiAgIHNldGxvY2FsIHRzPTMyCiAKICIgIGNhbGwgRHJldCgiTG9jYWxCcm93c2VMaXN0IikKQEAgLTMwMzIsMTIgKzMwNjUsOCBAQAogICAgICBlbmRpZgogICAgIGVuZGlmCiAKLSAgICAiIE5ldHJ3U3RhdHVzTGluZSBzdXBwb3J0CisgICAgIiBOZXRyd1N0YXR1c0xpbmUgc3VwcG9ydCAtIGZvciBleHBsb3Jpbmcgc3VwcG9ydAogICAgIGxldCB3Om5ldHJ3X2V4cGxvcmVfaW5keD0gaW5keAotICAgIGlmICFleGlzdHMoInM6bmV0cndfdXNlcnNfc3RsIikKLSAgICAgbGV0IHM6bmV0cndfdXNlcnNfc3RsPSAmc3RsCi0gICAgZW5kaWYKLSAgICBzZXQgc3RsPSVmXCAlaCVtJXIlPSV7TmV0cndTdGF0dXNMaW5lKCl9CiAiICAgIGNhbGwgRGVjaG8oImV4cGxvcmVsaXN0PCIuam9pbih3Om5ldHJ3X2V4cGxvcmVfbGlzdCwnLCcpLiI+IGxlbj0iLnc6bmV0cndfZXhwbG9yZV9saXN0bGVuKQogCiAgICAgIiBzYW5pdHkgY2hlY2sKQEAgLTMwNTAsMTUgKzMwNzksMjEgQEAKICAgICBlbmRpZgogCiAgICAgZXhlICJsZXQgZGlyZmlsZT0gdzpuZXRyd19leHBsb3JlX2xpc3RbIi5pbmR4LiJdIgotIiAgICBjYWxsIERlY2hvKCJkaXJmaWxlPCIuZGlyZmlsZS4iPiBpbmR4PSIuaW5keCkKKyIgICAgY2FsbCBEZWNobygiZGlyZmlsZT13Om5ldHJ3X2V4cGxvcmVfbGlzdFtpbmR4PSIuaW5keC4iXT0gPCIuZGlyZmlsZS4iPiIpCiAgICAgbGV0IG5ld2Rpcj0gc3Vic3RpdHV0ZShkaXJmaWxlLCcvW14vXSokJywnJywnZScpCiAiICAgIGNhbGwgRGVjaG8oIm5ld2RpcjwiLm5ld2Rpci4iPiIpCisKICIgICAgY2FsbCBEZWNobygiY2FsbGluZyBMb2NhbEJyb3dzZShuZXdkaXI8Ii5uZXdkaXIuIj4pIikKICAgICBjYWxsIHM6TG9jYWxCcm93c2UobmV3ZGlyKQotICAgIGNhbGwgc2VhcmNoKHN1YnN0aXR1dGUoZGlyZmlsZSwiXi4qLyIsIiIsIiIpLCJXIikKKyAgICBpZiB3Om5ldHJ3X2xvbmdsaXN0ID09IDAgfHwgdzpuZXRyd19sb25nbGlzdCA9PSAxCisgICAgIGNhbGwgc2VhcmNoKCdeJy5zdWJzdGl0dXRlKGRpcmZpbGUsIl4uKi8iLCIiLCIiKS4nXD4nLCJXIikKKyAgICBlbHNlCisgICAgIGNhbGwgc2VhcmNoKCdcPCcuc3Vic3RpdHV0ZShkaXJmaWxlLCJeLiovIiwiIiwiIikuJ1w+JywidyIpCisgICAgZW5kaWYKICAgICBsZXQgdzpuZXRyd19leHBsb3JlX210Y2hjbnQgPSBpbmR4ICsgMQogICAgIGxldCB3Om5ldHJ3X2V4cGxvcmVfYnVmbnIgICA9IGJ1Zm5yKCIuIikKICAgICBsZXQgdzpuZXRyd19leHBsb3JlX2xpbmUgICAgPSBsaW5lKCIuIikKKyAgICBjYWxsIHM6U2V0dXBOZXRyd1N0YXR1c0xpbmUoJyVmICVoJW0lciU9JTkqJXtOZXRyd1N0YXR1c0xpbmUoKX0nKQogIiAgICBjYWxsIERlY2hvKCJleHBsb3JlOiBtdGNoY250PSIudzpuZXRyd19leHBsb3JlX210Y2hjbnQuIiBidWZucj0iLnc6bmV0cndfZXhwbG9yZV9idWZuci4iIGxpbmUjIi53Om5ldHJ3X2V4cGxvcmVfbGluZSkKIAogICAgZWxzZQpAQCAtMzA3OCwxMiArMzExMyw3MyBAQAogZW5kZnVuCiAKICIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisiIFNldHVwTmV0cndTdGF0dXNMaW5lOiB7e3syCitmdW4hIHM6U2V0dXBOZXRyd1N0YXR1c0xpbmUoc3RhdGxpbmUpCisiICBjYWxsIERmdW5jKCJTZXR1cE5ldHJ3U3RhdHVzTGluZShzdGF0bGluZTwiLmE6c3RhdGxpbmUuIj4pIikKKworICBpZiAhZXhpc3RzKCJzOm5ldHJ3X3NldHVwX3N0YXRsaW5lIikKKyAgIGxldCBzOm5ldHJ3X3NldHVwX3N0YXRsaW5lPSAxCisiICAgY2FsbCBEZWNobygiZG8gZmlyc3QtdGltZSBzdGF0dXMgbGluZSBzZXR1cCIpCisKKyAgIGlmICFleGlzdHMoInM6bmV0cndfdXNlcnNfc3RsIikKKyAgICBsZXQgczpuZXRyd191c2Vyc19zdGw9ICZzdGwKKyAgIGVuZGlmCisgICBpZiAhZXhpc3RzKCJzOm5ldHJ3X3VzZXJzX2xzIikKKyAgICBsZXQgczpuZXRyd191c2Vyc19scz0gJmxhc3RzdGF0dXMKKyAgIGVuZGlmCisKKyAgICIgc2V0IHVwIFVzZXI5IGhpZ2hsaWdodGluZyBhcyBuZWVkZWQKKyAgIGxldCBrZWVwYT0gQGEKKyAgIHJlZGlyIEBhCisgICB0cnkKKyAgICBoaSBVc2VyOQorICAgY2F0Y2ggL15WaW1cJSgoXGFcKylcKVw9OkU0MTEvCisgICAgaWYgJmJnID09ICJkYXJrIgorICAgICBoaSBVc2VyOSBjdGVybWZnPXllbGxvdyBjdGVybWJnPWJsdWUgZ3VpZmc9eWVsbG93IGd1aWJnPWJsdWUKKyAgICBlbHNlCisgICAgIGhpIFVzZXI5IGN0ZXJtYmc9eWVsbG93IGN0ZXJtZmc9Ymx1ZSBndWliZz15ZWxsb3cgZ3VpZmc9Ymx1ZQorICAgIGVuZGlmCisgICBlbmR0cnkKKyAgIHJlZGlyIEVORAorICAgbGV0IEBhPSBrZWVwYQorICBlbmRpZgorCisgICIgc2V0IHVwIHN0YXR1cyBsaW5lIChtYXkgdXNlIFVzZXI5IGhpZ2hsaWdodGluZykKKyAgIiBpbnN1cmUgdGhhdCB3aW5kb3dzIGhhdmUgYSBzdGF0dXNsaW5lCisgICIgbWFrZSBzdXJlIHN0YXR1c2xpbmUgaXMgZGlzcGxheWVkCisgIGxldCAmc3RsPWE6c3RhdGxpbmUKKyAgc2V0IGxhc3RzdGF0dXM9MgorIiAgY2FsbCBEZWNobygic3RsPSIuJnN0bCkKKyAgcmVkcmF3IQorCisiICBjYWxsIERyZXQoIlNldHVwTmV0cndTdGF0dXNMaW5lIDogc3RsPSIuJnN0bCkKK2VuZGZ1bgorCisiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIiBOZXRyd1N0YXR1c0xpbmU6IHt7ezIKIGZ1biEgTmV0cndTdGF0dXNMaW5lKCkKLSIgIGxldCBnOnN0bG1zZz0gIlhidWZucj0iLnc6bmV0cndfZXhwbG9yZV9idWZuci4iIGJ1Zm5yPSIuYnVmbnIoIi4iKS4iIFhsaW5lIyIudzpuZXRyd19leHBsb3JlX2xpbmUuIiBsaW5lIyIubGluZSgiLiIpCisKKyAgIiB2dnYgTmV0cndTdGF0dXNMaW5lKCkgZGVidWdnaW5nIHZ2dgorIiAgbGV0IGc6c3RsbXNnPSIiCisiICBpZiAhZXhpc3RzKCJ3Om5ldHJ3X2V4cGxvcmVfYnVmbnIiKQorIiAgIGxldCBnOnN0bG1zZz0iIVg8ZXhwbG9yZV9idWZucj4iCisiICBlbHNlaWYgdzpuZXRyd19leHBsb3JlX2J1Zm5yICE9IGJ1Zm5yKCIuIikKKyIgICBsZXQgZzpzdGxtc2c9ImV4cGxvcmVfYnVmbnIhPSIuYnVmbnIoIi4iKQorIiAgZW5kaWYKKyIgIGlmICFleGlzdHMoInc6bmV0cndfZXhwbG9yZV9saW5lIikKKyIgICBsZXQgZzpzdGxtc2c9IiAhWDxleHBsb3JlX2xpbmU+IgorIiAgZWxzZWlmIHc6bmV0cndfZXhwbG9yZV9saW5lICE9IGxpbmUoIi4iKQorIiAgIGxldCBnOnN0bG1zZz0iIGV4cGxvcmVfbGluZSE9e2xpbmUoLik8Ii5saW5lKCIuIikuIj4iCisiICBlbmRpZgorIiAgaWYgIWV4aXN0cygidzpuZXRyd19leHBsb3JlX2xpc3QiKQorIiAgIGxldCBnOnN0bG1zZz0iICFYPGV4cGxvcmVfbGlzdD4iCisiICBlbmRpZgorICAiIF5eXiBOZXRyd1N0YXR1c0xpbmUoKSBkZWJ1Z2dpbmcgXl5eCisKICAgaWYgIWV4aXN0cygidzpuZXRyd19leHBsb3JlX2J1Zm5yIikgfHwgdzpuZXRyd19leHBsb3JlX2J1Zm5yICE9IGJ1Zm5yKCIuIikgfHwgIWV4aXN0cygidzpuZXRyd19leHBsb3JlX2xpbmUiKSB8fCB3Om5ldHJ3X2V4cGxvcmVfbGluZSAhPSBsaW5lKCIuIikgfHwgIWV4aXN0cygidzpuZXRyd19leHBsb3JlX2xpc3QiKQogICAgIiByZXN0b3JlIHVzZXIncyBzdGF0dXMgbGluZQotICAgbGV0ICZzdGw9IHM6bmV0cndfdXNlcnNfc3RsCisgICBsZXQgJnN0bCAgICAgICAgPSBzOm5ldHJ3X3VzZXJzX3N0bAorICAgbGV0ICZsYXN0c3RhdHVzID0gczpuZXRyd191c2Vyc19scwogICAgaWYgZXhpc3RzKCJ3Om5ldHJ3X2V4cGxvcmVfYnVmbnIiKXx1bmxldCB3Om5ldHJ3X2V4cGxvcmVfYnVmbnJ8ZW5kaWYKICAgIGlmIGV4aXN0cygidzpuZXRyd19leHBsb3JlX2xpbmUiKXx1bmxldCB3Om5ldHJ3X2V4cGxvcmVfbGluZXxlbmRpZgogICAgcmV0dXJuICIiCkBAIC0zMTQ2LDcgKzMyNDIsNyBAQAogICBsZXQgZnRwdXJtICAgPSAnXmZ0cDovL1woXChbXi9AXVx7LX1cKUBcKVw9XChbXi8jOl1cey19XClcKFsjOl1cZFwrXClcPS9cKC4qXCkkJwogICBsZXQgcmNwdXJtICAgPSAnXnJjcDovL1wlKFwoW14vQF1cey19XClAXClcPVwoW14vXVx7LX1cKS9cKC4qXCkkJwogICBsZXQgcmNwaGYgICAgPSAnXlwoXChcaFx3KlwpQFwpXD1cKFxoXHcqXCk6XChbXkBdXCtcKSQnCi0gIGxldCBzY3B1cm0gICA9ICdec2NwOi8vXChbXi9dXHstfVwpXChbIzpdXGRcK1wpXD0vXCguKlwpJCcKKyAgbGV0IHNjcHVybSAgID0gJ15zY3A6Ly9cKFteLyM6XVwrXClcJShbIzpdXChcZFwrXClcKVw9L1woLipcKSQnCiAgIGxldCBodHRwdXJtICA9ICdeaHR0cDovL1woW14vXVx7LX1cKVwoLy4qXClcPSQnCiAgIGxldCBkYXZ1cm0gICA9ICdec1w9ZGF2Oi8vXChbXi9dXCtcKS9cKC4qL1wpXChbLV8ufls6YWxudW06XV1cK1wpJCcKICAgbGV0IHJzeW5jdXJtID0gJ15yc3luYzovL1woW14vXVx7LX1cKS9cKC4qXClcPSQnCkBAIC0zMzM2LDYgKzM0MzIsNyBAQAogIiAgY2FsbCBEZWNobygiYTowPSIuYTowLiIgY2FzZSA+MTogYToyPCIuYToyLiI+IikKICAgbGV0IGc6bmV0cndfcGFzc3dkPWE6MgogIGVuZGlmCisKICIgIGNhbGwgRHJldCgiTmV0VXNlclBhc3MiKQogZW5kZnVuCiAKQEAgLTMzNTcsMjAgKzM0NTQsMjEgQEAKICAgIGxldCB3OmFjZGtlZXAgPSAmYXV0b2NoZGlyCiAgICBzZXQgbm9hdXRvY2hkaXIKICAgZW5kaWYKLSAgbGV0IHc6Y2lua2VlcCAgPSAmY2luCi0gIGxldCB3OmNpbm9rZWVwID0gJmNpbm8KLSAgbGV0IHc6Y29ta2VlcCAgPSAmY29tCi0gIGxldCB3OmNwb2tlZXAgID0gJmNwbworICBsZXQgdzpjaW5rZWVwICAgPSAmY2luCisgIGxldCB3OmNpbm9rZWVwICA9ICZjaW5vCisgIGxldCB3OmNvbWtlZXAgICA9ICZjb20KKyAgbGV0IHc6Y3Bva2VlcCAgID0gJmNwbwogICBpZiAhZzpuZXRyd19rZWVwZGlyCi0gICBsZXQgdzpkaXJrZWVwID0gZ2V0Y3dkKCkKKyAgIGxldCB3OmRpcmtlZXAgID0gZ2V0Y3dkKCkKICAgZW5kaWYKLSAgbGV0IHc6Z2RrZWVwICAgPSAmZ2QKLSAgbGV0IHc6cmVwa2VlcCAgPSAmcmVwb3J0Ci0gIGxldCB3OnR3a2VlcCAgID0gJnR3CisgIGxldCB3Omdka2VlcCAgICA9ICZnZAorICBsZXQgdzpyZXBrZWVwICAgPSAmcmVwb3J0CisgIGxldCB3OnNwZWxsa2VlcCA9ICZzcGVsbAorICBsZXQgdzp0d2tlZXAgICAgPSAmdHcKICAgc2V0bG9jYWwgY2lubyA9CiAgIHNldGxvY2FsIGNvbSAgPQogICBzZXRsb2NhbCBjcG8gLT1hQQotICBzZXRsb2NhbCBub2NpbiBub2FpCisgIHNldGxvY2FsIG5vY2luIG5vYWkgbm9zcGVsbAogICBzZXRsb2NhbCB0dyAgID0wCiAgIHNldGxvY2FsIHJlcG9ydD0xMDAwMAogICBpZiBoYXMoIndpbjMyIikgJiYgIWhhcygid2luOTUiKQpAQCAtMzM5MiwyMiArMzQ5MCwyMiBAQAogICBlbmRpZgogICB1bmxldCB3Om5ldG9wdGlvbnNhdmUKICAKLSAgbGV0ICZhaQk9IHc6YWlrZWVwCi0gIGlmIGhhcygibmV0YmVhbnNfaW50ZyIpIHx8IGhhcygic3VuX3dvcmtzaG9wIikKLSAgIGxldCAmYWNkICAgICA9IHc6YWNka2VlcAorICBpZiBleGlzdHMoInc6YWlrZWVwIil8IGxldCAmYWk9IHc6YWlrZWVwfGVuZGlmCisgIGlmIChoYXMoIm5ldGJlYW5zX2ludGciKSB8fCBoYXMoInN1bl93b3Jrc2hvcCIpKSAmJiBleGlzdHMoInc6YWNka2VlcCIpCisgICBsZXQgJmFjZD0gdzphY2RrZWVwCisgICB1bmxldCB3OmFjZGtlZXAKICAgZW5kaWYKLSAgbGV0ICZjaW4JPSB3OmNpbmtlZXAKLSAgbGV0ICZjaW5vCT0gdzpjaW5va2VlcAotICBsZXQgJmNvbQk9IHc6Y29ta2VlcAotICBsZXQgJmNwbwk9IHc6Y3Bva2VlcAotICBpZiBleGlzdHMoInc6ZGlya2VlcCIpCi0gICBleGUgImxjZCAiLnc6ZGlya2VlcAotICBlbmRpZgotICBsZXQgJmdkCT0gdzpnZGtlZXAKLSAgbGV0ICZyZXBvcnQgICA9IHc6cmVwa2VlcAotICBsZXQgJnR3CT0gdzp0d2tlZXAKKyAgaWYgZXhpc3RzKCJ3OmNpbmtlZXAiKSAgfGxldCAmY2luICAgID0gdzpjaW5rZWVwICAgICB8dW5sZXQgdzpjaW5rZWVwICB8ZW5kaWYKKyAgaWYgZXhpc3RzKCJ3OmNpbm9rZWVwIikgfGxldCAmY2lubyAgID0gdzpjaW5va2VlcCAgICB8dW5sZXQgdzpjaW5va2VlcCB8ZW5kaWYKKyAgaWYgZXhpc3RzKCJ3OmNvbWtlZXAiKSAgfGxldCAmY29tICAgID0gdzpjb21rZWVwICAgICB8dW5sZXQgdzpjb21rZWVwICB8ZW5kaWYKKyAgaWYgZXhpc3RzKCJ3OmNwb2tlZXAiKSAgfGxldCAmY3BvICAgID0gdzpjcG9rZWVwICAgICB8dW5sZXQgdzpjcG9rZWVwICB8ZW5kaWYKKyAgaWYgZXhpc3RzKCJ3OmRpcmtlZXAiKSAgfGV4ZSAibGNkICIudzpkaXJrZWVwICAgICAgICB8dW5sZXQgdzpkaXJrZWVwICB8ZW5kaWYKKyAgaWYgZXhpc3RzKCJ3Omdka2VlcCIpICAgfGxldCAmZ2QgICAgID0gdzpnZGtlZXAgICAgICB8dW5sZXQgdzpnZGtlZXAgICB8ZW5kaWYKKyAgaWYgZXhpc3RzKCJ3OnJlcGtlZXAiKSAgfGxldCAmcmVwb3J0ID0gdzpyZXBrZWVwICAgICB8dW5sZXQgdzpyZXBrZWVwICB8ZW5kaWYKKyAgaWYgZXhpc3RzKCJ3OnNwZWxsa2VlcCIpfGxldCAmc3BlbGwgID0gdzpzcGVsbGtlZXAgICB8dW5sZXQgdzpzcGVsbGtlZXB8ZW5kaWYKKyAgaWYgZXhpc3RzKCJ3OnR3a2VlcCIpICAgfGxldCAmdHcgICAgID0gdzp0d2tlZXAgICAgICB8dW5sZXQgdzp0d2tlZXAgICB8ZW5kaWYKICAgaWYgZXhpc3RzKCJ3OnN3ZmtlZXAiKQotICAgaWYgJmRpcmVjdG9yeSA9PSAiIgorICAgaWYgJmRpcmVjdG9yeSA9PSAiIiAmJiBleGlzdHMoInc6c3dma2VlcCIpCiAgICAgIiB1c2VyIGhhc24ndCBzcGVjaWZpZWQgYSBzd2FwZmlsZSBkaXJlY3Rvcnk7CiAgICAgIiBuZXRydyB3aWxsIHRlbXBvcmFyaWx5IG1ha2UgdGhlIHN3YXBmaWxlCiAgICAgIiBkaXJlY3RvcnkgdGhlIGN1cnJlbnQgbG9jYWwgb25lLgpAQCAtMzQxOSwxNyArMzUxNyw2IEBACiAgICBlbmRpZgogICAgdW5sZXQgdzpzd2ZrZWVwCiAgIGVuZGlmCi0gIHVubGV0IHc6YWlrZWVwCi0gIHVubGV0IHc6Y2lua2VlcAotICB1bmxldCB3OmNpbm9rZWVwCi0gIHVubGV0IHc6Y29ta2VlcAotICB1bmxldCB3OmNwb2tlZXAKLSAgdW5sZXQgdzpnZGtlZXAKLSAgdW5sZXQgdzpyZXBrZWVwCi0gIHVubGV0IHc6dHdrZWVwCi0gIGlmIGV4aXN0cygidzpkaXJrZWVwIikKLSAgIHVubGV0IHc6ZGlya2VlcAotICBlbmRpZgogIAogIiAgY2FsbCBEcmV0KCJOZXRPcHRpb25SZXN0b3JlIikKIGVuZGZ1bgpAQCAtMzQ0MSw3ICszNTI4LDcgQEAKICIgICAgICAgICAgICAgICBleGFtcGxlIGFuZCBhcyBhIGZpeCBmb3IgYSBXaW5kb3dzIDk1IHByb2JsZW06IGluIG15CiAiICAgICAgICAgICAgICAgZXhwZXJpZW5jZSwgd2luOTUncyBmdHAgYWx3YXlzIGR1bXBlZCBmb3VyIGJsYW5rIGxpbmVzCiAiICAgICAgICAgICAgICAgYXQgdGhlIGVuZCBvZiB0aGUgdHJhbnNmZXIuCi1pZiBoYXMoIndpbjk1IikgJiYgZzpuZXRyd193aW45NWZ0cAoraWYgaGFzKCJ3aW45NSIpICYmIGV4aXN0cygiZzpuZXRyd193aW45NWZ0cCIpICYmIGc6bmV0cndfd2luOTVmdHAKICBmdW4hIE5ldFJlYWRGaXh1cChtZXRob2QsIGxpbmUxLCBsaW5lMikKICIgICBjYWxsIERmdW5jKCJOZXRSZWFkRml4dXAobWV0aG9kPCIuYTptZXRob2QuIj4gbGluZTE9Ii5hOmxpbmUxLiIgbGluZTI9Ii5hOmxpbmUyLiIpIikKICAgIGlmIG1ldGhvZCA9PSAzICAgIiBmdHAgKG5vIDwubmV0cmM+KQpAQCAtMzU0MiwxNCArMzYyOSwxNCBAQAogICAgIHJldHVybgogICAgZW5kaWYKICAgIGlmIHNlcSA9PSAnKicKLSAgICBleGUgJ2tlZXBqdW1wcyBzaWxlbnQgJy53Om5ldHJ3X2Jhbm5lcmNudC4nLCR2L15cZFx7M31cLy9zL14vJy5zcHJpb3JpdHkuJy8nCisgICAgZXhlICdzaWxlbnQga2VlcGp1bXBzICcudzpuZXRyd19iYW5uZXJjbnQuJywkdi9eXGRcezN9XC8vcy9eLycuc3ByaW9yaXR5LicvJwogICAgZWxzZQotICAgIGV4ZSAna2VlcGp1bXBzIHNpbGVudCAnLnc6bmV0cndfYmFubmVyY250LicsJGcvJy5lc2VxLicvcy9eLycuc3ByaW9yaXR5LicvJworICAgIGV4ZSAnc2lsZW50IGtlZXBqdW1wcyAnLnc6bmV0cndfYmFubmVyY250LicsJGcvJy5lc2VxLicvcy9eLycuc3ByaW9yaXR5LicvJwogICAgZW5kaWYKICAgIGxldCBwcmlvcml0eSA9IHByaW9yaXR5ICsgMQogICBlbmR3aGlsZQogCi0gIGV4ZSAna2VlcGp1bXBzIHNpbGVudCAnLnc6bmV0cndfYmFubmVyY250LicsJHMvXlwoXGRcezN9XC9cKVwlKFxkXHszfVwvXClcKy9cMS9lJworICBleGUgJ3NpbGVudCBrZWVwanVtcHMgJy53Om5ldHJ3X2Jhbm5lcmNudC4nLCRzL15cKFxkXHszfVwvXClcJShcZFx7M31cL1wpXCsvXDEvZScKIAogIiAgY2FsbCBEcmV0KCJTZXRTb3J0IikKIGVuZGZ1bgpAQCAtMzU4NywxNCArMzY3NCwxNCBAQAogZW5kZnVuCiAKICIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0iIEJ1ZldpblZhcnM6ICh1c2VkIGJ5IE5ldEJyb3dzZSgpIGFuZCBMb2NhbEJyb3dzZSgpKSB7e3sxCisiIFNldEJ1ZldpblZhcnM6ICh1c2VkIGJ5IE5ldEJyb3dzZSgpIGFuZCBMb2NhbEJyb3dzZSgpKSB7e3sxCiAiICAgVG8gYWxsb3cgc2VwYXJhdGUgd2luZG93cyB0byBoYXZlIHRoZWlyIG93biBhY3Rpdml0aWVzLCBzdWNoIGFzCiAiICAgRXhwbG9yZSAqKi9wYXR0ZXJuLCBzZXZlcmFsIHZhcmlhYmxlcyBoYXZlIGJlZW4gbWFkZSB3aW5kb3ctb3JpZW50ZWQuCiAiICAgSG93ZXZlciwgd2hlbiB0aGUgdXNlciBzcGxpdHMgYSBicm93c2VyIHdpbmRvdyAoZXg6IGN0cmwtdyBzKSwgdGhlc2UKLSIgICB2YXJpYWJsZXMgYXJlIG5vdCBpbmhlcml0ZWQgYnkgdGhlIG5ldyB3aW5kb3cuICBCdWZXaW5WYXJzKCkgYW5kCisiICAgdmFyaWFibGVzIGFyZSBub3QgaW5oZXJpdGVkIGJ5IHRoZSBuZXcgd2luZG93LiAgU2V0QnVmV2luVmFycygpIGFuZAogIiAgIFVzZUJ1ZldpblZhcnMoKSBnZXQgYXJvdW5kIHRoYXQuCi1mdW4hIHM6QnVmV2luVmFycygpCi0iICBjYWxsIERmdW5jKCJCdWZXaW5WYXJzKCkiKQorZnVuISBzOlNldEJ1ZldpblZhcnMoKQorIiAgY2FsbCBEZnVuYygiU2V0QnVmV2luVmFycygpIikKICAgaWYgZXhpc3RzKCJ3Om5ldHJ3X2xvbmdsaXN0IikgICAgICAgfGxldCBiOm5ldHJ3X2xvbmdsaXN0ICAgICAgICA9IHc6bmV0cndfbG9uZ2xpc3QgICAgICAgfGVuZGlmCiAgIGlmIGV4aXN0cygidzpuZXRyd19iYW5uZXJjbnQiKSAgICAgIHxsZXQgYjpuZXRyd19iYW5uZXJjbnQgICAgICAgPSB3Om5ldHJ3X2Jhbm5lcmNudCAgICAgIHxlbmRpZgogICBpZiBleGlzdHMoInc6bmV0cndfbWV0aG9kIikgICAgICAgICB8bGV0IGI6bmV0cndfbWV0aG9kICAgICAgICAgID0gdzpuZXRyd19tZXRob2QgICAgICAgICB8ZW5kaWYKQEAgLTM2MDUsNyArMzY5Miw3IEBACiAgIGlmIGV4aXN0cygidzpuZXRyd19leHBsb3JlX2J1Zm5yIikgIHxsZXQgYjpuZXRyd19leHBsb3JlX2J1Zm5yICAgPSB3Om5ldHJ3X2V4cGxvcmVfYnVmbnIgIHxlbmRpZgogICBpZiBleGlzdHMoInc6bmV0cndfZXhwbG9yZV9saW5lIikgICB8bGV0IGI6bmV0cndfZXhwbG9yZV9saW5lICAgID0gdzpuZXRyd19leHBsb3JlX2xpbmUgICB8ZW5kaWYKICAgaWYgZXhpc3RzKCJ3Om5ldHJ3X2V4cGxvcmVfbGlzdCIpICAgfGxldCBiOm5ldHJ3X2V4cGxvcmVfbGlzdCAgICA9IHc6bmV0cndfZXhwbG9yZV9saXN0ICAgfGVuZGlmCi0iICBjYWxsIERyZXQoIkJ1ZldpblZhcnMiKQorIiAgY2FsbCBEcmV0KCJTZXRCdWZXaW5WYXJzIikKIGVuZGZ1bgogCiAiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2Mvb3B0aW9ucy50eHQgYi9ydW50aW1lL2RvYy9vcHRpb25zLnR4dAppbmRleCAzOWE2ZjQwLi4zNDAwMDk0IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9vcHRpb25zLnR4dAorKysgYi9ydW50aW1lL2RvYy9vcHRpb25zLnR4dApAQCAtMSw0ICsxLDQgQEAKLSpvcHRpb25zLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMGFhLiAgTGFzdCBjaGFuZ2U6IDIwMDUgU2VwIDI1Cisqb3B0aW9ucy50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjBhYS4gIExhc3QgY2hhbmdlOiAyMDA1IFNlcCAyOAogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTAkgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC0zNjQ5LDggKzM2NDksMTEgQEAKIAl2YWx1ZSBpcyBmb3IgQyBwcm9ncmFtcy4gIFRoaXMgb3B0aW9uIGlzIHVzZWQgZm9yIHRoZSBjb21tYW5kcyAiW2kiLAogCSJdSSIsICJbZCIsIGV0Yy4KIAlOb3JtYWxseSB0aGUgJ2lzZm5hbWUnIG9wdGlvbiBpcyB1c2VkIHRvIHJlY29nbml6ZSB0aGUgZmlsZSBuYW1lIHRoYXQKLQljb21lcyBhZnRlciB0aGUgbWF0Y2hlZCBwYXR0ZXJuLiAgQnV0IGlmIGJvdGggIlx6cyIgYW5kICJcemUiIGFwcGVhcgotCWluIHRoZSBwYXR0ZXJuIHRoZW4gdGhlIHRleHQgc3Bhbm5lZCBieSB0aGVtIGlzIHVzZWQgYXMgdGhlIGZpbGUgbmFtZS4KKwljb21lcyBhZnRlciB0aGUgbWF0Y2hlZCBwYXR0ZXJuLiAgQnV0IGlmICJcenMiIGFwcGVhcnMgaW4gdGhlIHBhdHRlcm4KKwl0aGVuIHRoZSB0ZXh0IG1hdGNoZWQgZnJvbSAiXHpzIiB0byB0aGUgZW5kLCBvciB1bnRpbCAiXHplIiBpZiBpdAorCWFwcGVhcnMsIGlzIHVzZWQgYXMgdGhlIGZpbGUgbmFtZS4gIFVzZSB0aGlzIHRvIGluY2x1ZGUgY2hhcmFjdGVycworCXRoYXQgYXJlIG5vdCBpbiAnaXNmbmFtZScsIHN1Y2ggYXMgYSBzcGFjZS4gIFlvdSBjYW4gdGhlbiB1c2UKKwknaW5jbHVkZWV4cHInIHRvIHByb2Nlc3MgdGhlIG1hdGNoZWQgdGV4dC4KIAlTZWUgfG9wdGlvbi1iYWNrc2xhc2h8IGFib3V0IGluY2x1ZGluZyBzcGFjZXMgYW5kIGJhY2tzbGFzaGVzLgogCiAJCQkJCQkqJ2luY2x1ZGVleHByJyogKidpbmV4JyoKQEAgLTM2OTksNyArMzcwMiw3IEBACiAJJ3NtYXJ0aW5kZW50JyBpbmRlbnRpbmcuCiAJV2hlbiAncGFzdGUnIGlzIHNldCB0aGlzIG9wdGlvbiBpcyBub3QgdXNlZCBmb3IgaW5kZW50aW5nLgogCVRoZSBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCB3aXRoIHx2OmxudW18IHNldCB0byB0aGUgbGluZSBudW1iZXIgZm9yCi0Jd2hpY2ggdGhlIGluZGVudCBpcyB0byBiZSBjb21wdXRlZC4gIFRoZSBjdXJzb3IgaXMgYWxzbyBhcyB0aGlzIGxpbmUKKwl3aGljaCB0aGUgaW5kZW50IGlzIHRvIGJlIGNvbXB1dGVkLiAgVGhlIGN1cnNvciBpcyBhbHNvIGluIHRoaXMgbGluZQogCXdoZW4gdGhlIGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIChidXQgaXQgbWF5IGJlIG1vdmVkIGFyb3VuZCkuCiAJVGhlIGV4cHJlc3Npb24gbXVzdCByZXR1cm4gdGhlIG51bWJlciBvZiBzcGFjZXMgd29ydGggb2YgaW5kZW50LiAgSXQKIAljYW4gcmV0dXJuICItMSIgdG8ga2VlcCB0aGUgY3VycmVudCBpbmRlbnQgKHRoaXMgbWVhbnMgJ2F1dG9pbmRlbnQnIGlzCkBAIC01NjYyLDEzICs1NjY1LDEzIEBACiAJCQlnbG9iYWwKIAkJCXtub3QgaW4gVml9CiAJVGhlIG1pbmltYWwgbnVtYmVyIG9mIHNjcmVlbiBjb2x1bW5zIHRvIGtlZXAgdG8gdGhlIGxlZnQgYW5kIHRvIHRoZQotCXJpZ2h0IG9mIHRoZSBjdXJzb3IgaWYgJ25vd3JhcCcgaXMgc2V0LiAgU2V0dGluZyB0aGlzIG9wdGlvbiB0byBhIHZhbHVlCi0JZ3JlYXRlciB0aGFuIDAgd2hpbGUgaGF2aW5nIHwnc2lkZXNjcm9sbCd8IGFsc28gYXQgYSBub24temVybyB2YWx1ZQotCW1ha2VzIHNvbWUgY29udGV4dCB2aXNpYmxlIGluIHRoZSBsaW5lIHlvdSBhcmUgc2Nyb2xsaW5nIGluCi0JaG9yaXpvbnRhbGx5IChleGNlcHQgYXQgdGhlIGVuZCBhbmQgYmVnaW5uaW5nIG9mIHRoZSBsaW5lKS4gIFNldHRpbmcKLQl0aGlzIG9wdGlvbiB0byBhIGxhcmdlIHZhbHVlIChsaWtlIDk5OSkgaGFzIHRoZSBlZmZlY3Qgb2Yga2VlcGluZyB0aGUKLQljdXJzb3IgaG9yaXpvbnRhbGx5IGNlbnRlcmVkIGluIHRoZSB3aW5kb3csIGFzIGxvbmcgYXMgb25lIGRvZXMgbm90Ci0JY29tZSB0b28gY2xvc2UgdG8gdGhlIGJlZ2lubmluZyBvciBlbmQgb2YgdGhlIGxpbmUuCisJcmlnaHQgb2YgdGhlIGN1cnNvciBpZiAnbm93cmFwJyBpcyBzZXQuICBTZXR0aW5nIHRoaXMgb3B0aW9uIHRvIGEKKwl2YWx1ZSBncmVhdGVyIHRoYW4gMCB3aGlsZSBoYXZpbmcgfCdzaWRlc2Nyb2xsJ3wgYWxzbyBhdCBhIG5vbi16ZXJvCisJdmFsdWUgbWFrZXMgc29tZSBjb250ZXh0IHZpc2libGUgaW4gdGhlIGxpbmUgeW91IGFyZSBzY3JvbGxpbmcgaW4KKwlob3Jpem9udGFsbHkgKGV4Y2VwdCBhdCBiZWdpbm5pbmcgb2YgdGhlIGxpbmUpLiAgU2V0dGluZyB0aGlzIG9wdGlvbgorCXRvIGEgbGFyZ2UgdmFsdWUgKGxpa2UgOTk5KSBoYXMgdGhlIGVmZmVjdCBvZiBrZWVwaW5nIHRoZSBjdXJzb3IKKwlob3Jpem9udGFsbHkgY2VudGVyZWQgaW4gdGhlIHdpbmRvdywgYXMgbG9uZyBhcyBvbmUgZG9lcyBub3QgY29tZSB0b28KKwljbG9zZSB0byB0aGUgYmVnaW5uaW5nIG9mIHRoZSBsaW5lLgogCU5PVEU6IFRoaXMgb3B0aW9uIGlzIHNldCB0byAwIHdoZW4gJ2NvbXBhdGlibGUnIGlzIHNldC4KIAogCUV4YW1wbGU6IFRyeSB0aGlzIHRvZ2V0aGVyIHdpdGggJ3NpZGVzY3JvbGwnIGFuZCAnbGlzdGNoYXJzJyBhcwpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvcGlfbmV0cncudHh0IGIvcnVudGltZS9kb2MvcGlfbmV0cncudHh0CmluZGV4IGQxY2E2MjMuLjBlYzYxZmMgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3BpX25ldHJ3LnR4dAorKysgYi9ydW50aW1lL2RvYy9waV9uZXRydy50eHQKQEAgLTEsOCArMSw4IEBACi0qcGlfbmV0cncudHh0KiAgRm9yIFZpbSB2ZXJzaW9uIDcuMC4gIExhc3QgY2hhbmdlOiBBdWcgMjUsIDIwMDUKLQorKnBpX25ldHJ3LnR4dCogIEZvciBWaW0gdmVyc2lvbiA3LjAuICBMYXN0IGNoYW5nZTogU2VwIDI5LCAyMDA1CiAKIAkJVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQ2hhcmxlcyBFLiBDYW1wYmVsbCwgSnIuCiAKKwogKmRhdiogICAgICAgICAgICpodHRwKiAgICAgICAgICAqbmV0d29yayogICAgICAgKnJjcCogICAgICAgICAgICpzY3AqCiAqZmV0Y2gqICAgICAgICAgKm5ldHJ3KiAgICAgICAgICpOcmVhZCogICAgICAgICAqcnN5bmMqICAgICAgICAgKnNmdHAqCiAqZnRwKiAgICAgICAgICAgKm5ldHJ3LnZpbSogICAgICpOd3JpdGUqICAgICAgICAqbmV0cnctZmlsZSoKQEAgLTI1LDcgKzI1LDcgQEAKIDQuICBUcmFuc3BhcmVudCBGaWxlIFRyYW5zZmVyLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLnxuZXRydy10cmFuc3BhcmVudHwKIDUuICBFeCBDb21tYW5kcy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLnxuZXRydy1leHwKIDYuICBWYXJpYWJsZXMgYW5kIE9wdGlvbnMuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLnxuZXRydy12YXJ8Ci03LiAgRGlyZWN0b3J5IEJyb3dzZXIuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi58bmV0cnctYnJvd3NlfCB7e3sxCis3LiAgRGlyZWN0b3J5IEJyb3dzaW5nLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi58bmV0cnctYnJvd3NlfCB7e3sxCiAgICAgICBNYXBzLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi58bmV0cnctbWFwc3wKICAgICAgIEV4cGxvcmluZy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLnxuZXRydy1leHBsb3JlLWNtZHN8CiAgICAgICBRdWljayBSZWZlcmVuY2UgQ29tbWFuZHMgVGFibGUuLi4uLi4uLi4uLi4uLi4uLi4uLi58bmV0cnctYnJvd3NlLWNtZHN8CkBAIC00MCw3ICs0MCw3IEBACiAgICAgICBNYWtpbmcgQSBOZXcgRGlyZWN0b3J5Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi58bmV0cnctZHwKICAgICAgIERlbGV0aW5nIEZpbGVzIE9yIERpcmVjdG9yaWVzLi4uLi4uLi4uLi4uLi4uLi4uLi4uLnxuZXRydy1kZWxldGV8CiAgICAgICBSZW5hbWluZyBGaWxlcyBPciBEaXJlY3Rvcmllcy4uLi4uLi4uLi4uLi4uLi4uLi4uLi58bmV0cnctbW92ZXwKLSAgICAgIEhpZGluZyBGaWxlcyBPciBEaXJlY3Rvcmllcy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLnxnOm5ldHJ3LWF8CisgICAgICBIaWRpbmcgRmlsZXMgT3IgRGlyZWN0b3JpZXMuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi58bmV0cnctYXwKICAgICAgIEVkaXQgRmlsZSBPciBEaXJlY3RvcnkgSGlkaW5nIExpc3QuLi4uLi4uLi4uLi4uLi4uLnxuZXRydy1ofAogICAgICAgQnJvd3NpbmcgV2l0aCBBIEhvcml6b250YWxseSBTcGxpdCBXaW5kb3cuLi4uLi4uLi4ufG5ldHJ3LW98CiAgICAgICBQcmV2aWV3IFdpbmRvdy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi58bmV0cnctcHwKQEAgLTE5NCw4ICsxOTQsOCBAQAogMi4gTmV0d29yay1PcmllbnRlZCBGaWxlIFRyYW5zZmVyCQkJCSpuZXRydy14ZmVyKgogCiBOZXR3b3JrLW9yaWVudGVkIGZpbGUgdHJhbnNmZXIgdW5kZXIgVmltIGlzIGltcGxlbWVudGVkIGJ5IGEgVmltTC1iYXNlZCBzY3JpcHQKLSg8bmV0cncudmltPikgdXNpbmcgcGx1Z2luIHRlY2huaXF1ZXMuICBJdCBjdXJyZW50bHkgc3VwcG9ydHMgYm90aCByZWFkaW5nCi1hbmQgd3JpdGluZyBhY3Jvc3MgbmV0d29ya3MgdXNpbmcgcmNwLCBzY3AsIGZ0cCBvciBmdHArPC5uZXRyYz4sIHNjcCwgZmV0Y2gsCisoPG5ldHJ3LnZpbT4pIHVzaW5nIHBsdWdpbiB0ZWNobmlxdWVzLiAgSXQgY3VycmVudGx5IHN1cHBvcnRzIGJvdGggcmVhZGluZyBhbmQKK3dyaXRpbmcgYWNyb3NzIG5ldHdvcmtzIHVzaW5nIHJjcCwgc2NwLCBmdHAgb3IgZnRwKzwubmV0cmM+LCBzY3AsIGZldGNoLAogZGF2L2NhZGF2ZXIsIHJzeW5jLCBvciBzZnRwLgogCiBodHRwIGlzIGN1cnJlbnRseSBzdXBwb3J0ZWQgcmVhZC1vbmx5IHZpYSB1c2Ugb2Ygd2dldCBvciBmZXRjaC4KQEAgLTIwNiwyNCArMjA2LDIzIEBACiAKIAlleC4gdmltIGZ0cDovL2hvc3RuYW1lL3BhdGgvdG8vZmlsZQogPAotVGhlIGNoYXJhY3RlcnMgcHJlY2VkaW5nIHRoZSBjb2xvbiBzcGVjaWZ5IHRoZSBwcm90b2NvbCB0byB1c2U7Ci1pbiB0aGUgZXhhbXBsZSwgaXRzIGZ0cC4gIFRoZSA8bmV0cncudmltPiBzY3JpcHQgdGhlbiBmb3JtdWxhdGVzCi1hIGNvbW1hbmQgb3IgYSBzZXJpZXMgb2YgY29tbWFuZHMgKHR5cGljYWxseSBmdHApIHdoaWNoIGl0IGlzc3VlcwotdG8gYW4gZXh0ZXJuYWwgcHJvZ3JhbSAoZnRwLCBzY3AsIGV0Yykgd2hpY2ggZG9lcyB0aGUgYWN0dWFsIGZpbGUKLXRyYW5zZmVyL3Byb3RvY29sLiAgRmlsZXMgYXJlIHJlYWQgZnJvbS93cml0dGVuIHRvIGEgdGVtcG9yYXJ5IGZpbGUKLSh1bmRlciBVbml4L0xpbnV4LCAvdG1wLy4uLikgd2hpY2ggdGhlIDxuZXRydy52aW0+IHNjcmlwdCB3aWxsCi1jbGVhbiB1cC4KK1RoZSBjaGFyYWN0ZXJzIHByZWNlZGluZyB0aGUgY29sb24gc3BlY2lmeSB0aGUgcHJvdG9jb2wgdG8gdXNlOyBpbiB0aGUKK2V4YW1wbGUsIGl0cyBmdHAuICBUaGUgPG5ldHJ3LnZpbT4gc2NyaXB0IHRoZW4gZm9ybXVsYXRlcyBhIGNvbW1hbmQgb3IgYQorc2VyaWVzIG9mIGNvbW1hbmRzICh0eXBpY2FsbHkgZnRwKSB3aGljaCBpdCBpc3N1ZXMgdG8gYW4gZXh0ZXJuYWwgcHJvZ3JhbQorKGZ0cCwgc2NwLCBldGMpIHdoaWNoIGRvZXMgdGhlIGFjdHVhbCBmaWxlIHRyYW5zZmVyL3Byb3RvY29sLiAgRmlsZXMgYXJlIHJlYWQKK2Zyb20vd3JpdHRlbiB0byBhIHRlbXBvcmFyeSBmaWxlICh1bmRlciBVbml4L0xpbnV4LCAvdG1wLy4uLikgd2hpY2ggdGhlCis8bmV0cncudmltPiBzY3JpcHQgd2lsbCBjbGVhbiB1cC4KIAotT25lIG1heSBtb2RpZnkgYW55IHByb3RvY29sJ3MgaW1wbGVtZW50aW5nIGV4dGVybmFsIGFwcGxpY2F0aW9uCi1ieSBzZXR0aW5nIGEgdmFyaWFibGUgKGV4LiBzY3AgdXNlcyB0aGUgdmFyaWFibGUgZzpuZXRyd19zY3BfY21kLAotd2hpY2ggaXMgZGVmYXVsdGVkIHRvICJzY3AgLXEiKS4KK09uZSBtYXkgbW9kaWZ5IGFueSBwcm90b2NvbCdzIGltcGxlbWVudGluZyBleHRlcm5hbCBhcHBsaWNhdGlvbiBieSBzZXR0aW5nIGEKK3ZhcmlhYmxlIChleC4gc2NwIHVzZXMgdGhlIHZhcmlhYmxlIGc6bmV0cndfc2NwX2NtZCwgd2hpY2ggaXMgZGVmYXVsdGVkIHRvCisic2NwIC1xIikuCiAKIEZ0cCwgYW4gb2xkIHByb3RvY29sLCBzZWVtcyB0byBiZSBibGVzc2VkIGJ5IG51bWVyb3VzIGltcGxlbWVudGF0aW9ucy4KLVVuZm9ydHVuYXRlbHksIHNvbWUgaW1wbGVtZW50YXRpb25zIGFyZSBub2lzeSAoaWUuLCBhZGQganVuayB0byB0aGUgZW5kCi1vZiB0aGUgZmlsZSkuICBUaHVzLCBjb25jZXJuZWQgdXNlcnMgbWF5IGRlY2lkZSB0byB3cml0ZSBhIE5ldFJlYWRGaXh1cCgpCi1mdW5jdGlvbiB0aGF0IHdpbGwgY2xlYW4gdXAgYWZ0ZXIgcmVhZGluZyB3aXRoIHRoZWlyIGZ0cC4gIFNvbWUgVW5peCBzeXN0ZW1zCi0oaWUuLCBGcmVlQlNEKSBwcm92aWRlIGEgdXRpbGl0eSBjYWxsZWQgImZldGNoIiB3aGljaCB1c2VzIHRoZSBmdHAgcHJvdG9jb2wKLWJ1dCBpcyBub3Qgbm9pc3kgYW5kIG1vcmUgY29udmVuaWVudCwgYWN0dWFsbHksIGZvciA8bmV0cncudmltPiB0byB1c2UuCitVbmZvcnR1bmF0ZWx5LCBzb21lIGltcGxlbWVudGF0aW9ucyBhcmUgbm9pc3kgKGllLiwgYWRkIGp1bmsgdG8gdGhlIGVuZCBvZiB0aGUKK2ZpbGUpLiAgVGh1cywgY29uY2VybmVkIHVzZXJzIG1heSBkZWNpZGUgdG8gd3JpdGUgYSBOZXRSZWFkRml4dXAoKSBmdW5jdGlvbgordGhhdCB3aWxsIGNsZWFuIHVwIGFmdGVyIHJlYWRpbmcgd2l0aCB0aGVpciBmdHAuICBTb21lIFVuaXggc3lzdGVtcyAoaWUuLAorRnJlZUJTRCkgcHJvdmlkZSBhIHV0aWxpdHkgY2FsbGVkICJmZXRjaCIgd2hpY2ggdXNlcyB0aGUgZnRwIHByb3RvY29sIGJ1dCBpcworbm90IG5vaXN5IGFuZCBtb3JlIGNvbnZlbmllbnQsIGFjdHVhbGx5LCBmb3IgPG5ldHJ3LnZpbT4gdG8gdXNlLgogQ29uc2VxdWVudGx5LCBpZiAiZmV0Y2giIGlzIGV4ZWN1dGFibGUsIGl0IHdpbGwgYmUgdXNlZCB0byBkbyByZWFkcyBmb3IKIGZ0cDovLy4uLiAoYW5kIGh0dHA6Ly8uLi4pIC4gIFNlZSB8bmV0cnctdmFyfCBmb3IgbW9yZSBhYm91dCB0aGlzLgogCkBAIC0zMzIsOCArMzMxLDkgQEAKIGEgYnVpbHQtaW4gVmltIGZ1bmN0aW9uLiAgU2VlIHxuZXRydy11aWRwYXNzfCBmb3IgaG93IHRvIGNoYW5nZSB0aGUgcGFzc3dvcmQKIGFmdGVyIG9uZSBoYXMgc2V0IGl0LgogCi1VbmZvcnR1bmF0ZWx5IHRoZXJlIGRvZXNuJ3QgYXBwZWFyIHRvIGJlIGEgd2F5IGZvciBuZXRydyB0byBmZWVkIGEgcGFzc3dvcmQKLXRvIHNjcC4gIFRodXMgZXZlcnkgdHJhbnNmZXIgdmlhIHNjcCB3aWxsIHJlcXVpcmUgcmUtZW50cnkgb2YgdGhlIHBhc3N3b3JkLgorVW5mb3J0dW5hdGVseSB0aGVyZSBkb2Vzbid0IGFwcGVhciB0byBiZSBhIHdheSBmb3IgbmV0cncgdG8gZmVlZCBhIHBhc3N3b3JkIHRvCitzY3AuICBUaHVzIGV2ZXJ5IHRyYW5zZmVyIHZpYSBzY3Agd2lsbCByZXF1aXJlIHJlLWVudHJ5IG9mIHRoZSBwYXNzd29yZC4KK0hvd2V2ZXIsIHxuZXRydy1saXN0aGFja3wgY2FuIGhlbHAgd2l0aCB0aGlzIHByb2JsZW0uCiAKIAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkBAIC0zNDEsMjEgKzM0MSwyOCBAQAogCiBOZXR3b3JrLW9yaWVudGVkIGZpbGUgdHJhbnNmZXJzIGFyZSBhdmFpbGFibGUgYnkgZGVmYXVsdCB3aGVuZXZlcgogfCdub2NvbXBhdGlibGUnfCBtb2RlIGlzIGVuYWJsZWQuICBUaGUgPG5ldHJ3LnZpbT4gZmlsZSByZXNpZGVzIGluIHlvdXIKLXN5c3RlbSdzIHZpbS1wbHVnaW4gZGlyZWN0b3J5IGFuZCBpcyBzb3VyY2VkIGF1dG9tYXRpY2FsbHkgd2hlbmV2ZXIgeW91Ci1icmluZyB1cCB2aW0uCi0KK3N5c3RlbSdzIHZpbS1wbHVnaW4gZGlyZWN0b3J5IGFuZCBpcyBzb3VyY2VkIGF1dG9tYXRpY2FsbHkgd2hlbmV2ZXIgeW91IGJyaW5nCit1cCB2aW0uICBJIHN1Z2dlc3QgdGhhdCwgYXQgYSBtaW5pbXVtLCB5b3UgaGF2ZSBhdCBsZWFzdCB0aGUgZm9sbG93aW5nIGluIHlvdXIKKzwudmltcmM+IGN1c3RvbWl6YXRpb24gZmlsZTogPgorCXNldCBub2NwCisJaWYgdmVyc2lvbiA+PSA2MDAKKwkgIGZpbGV0eXBlIHBsdWdpbiBpbmRlbnQgb24KKwllbmRpZgorPAogCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIDQuIFRyYW5zcGFyZW50IEZpbGUgVHJhbnNmZXIJCQkJKm5ldHJ3LXRyYW5zcGFyZW50KgogCiBUcmFuc3BhcmVudCBmaWxlIHRyYW5zZmVycyBvY2N1ciB3aGVuZXZlciBhIHJlZ3VsYXIgZmlsZSByZWFkIG9yIHdyaXRlCiAoaW52b2tlZCB2aWEgYW4gfDphdXRvY21kfCBmb3IgfEJ1ZlJlYWRDbWR8IG9yIHxCdWZXcml0ZUNtZHwgZXZlbnRzKSBpcyBtYWRlLgotVGh1cyBvbmUgbWF5IHVzZSBmaWxlcyBhY3Jvc3MgbmV0d29ya3MgYXMgaWYgdGhleSB3ZXJlIGxvY2FsLiA+CitUaHVzIG9uZSBtYXkgdXNlIGZpbGVzIGFjcm9zcyBuZXR3b3JrcyBqdXN0IGFzIHNpbXBseSBhcyBpZiB0aGV5IHdlcmUgbG9jYWwuID4KIAogCXZpbSBmdHA6Ly9bdXNlckBdbWFjaGluZS9wYXRoCiAJLi4uCiAJOndxCiAKK1NlZSB8bmV0cnctYWN0aXZhdGV8IGZvciBtb3JlIG9uIGhvdyB0byBlbmNvdXJhZ2UgeW91ciB2aW0gdG8gdXNlIHBsdWdpbnMKK3N1Y2ggYXMgbmV0cncuCiAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogNS4gRXggQ29tbWFuZHMJCQkJCQkqbmV0cnctZXgqCkBAIC0zNjksMTUgKzM3NiwxNCBAQAogOltyYW5nZV1OdyB7bmV0ZmlsZX0gW3tuZXRmaWxlfV0uLi4KIAkJV3JpdGUgdGhlIHNwZWNpZmllZCBsaW5lcyB0byB0aGUge25ldGZpbGV9LgogCi06TnJlYWQKLQkJUmVhZCB0aGUgc3BlY2lmaWVkIGxpbmVzIGludG8gdGhlIGN1cnJlbnQKKzpOcmVhZAkJUmVhZCB0aGUgc3BlY2lmaWVkIGxpbmVzIGludG8gdGhlIGN1cnJlbnQKIAkJYnVmZmVyIGZyb20gdGhlIGZpbGUgc3BlY2lmaWVkIGluCiAJCWI6bmV0cndfbGFzdGZpbGUuCiAKIDpOcmVhZCB7bmV0ZmlsZX0ge25ldGZpbGV9Li4uCiAJCVJlYWQgdGhlIHtuZXRmaWxlfSBhZnRlciB0aGUgY3VycmVudCBsaW5lLgogCi0JCQkJCQkJCQkqbmV0cnctdWlkcGFzcyoKKwkJCQkJCQkJKm5ldHJ3LXVpZHBhc3MqCiA6Y2FsbCBOZXRVc2VyUGFzcygpCiAJCUlmIGI6bmV0cndfdWlkIGFuZCBiOm5ldHJ3X3Bhc3N3ZCBkb24ndCBleGlzdCwKIAkJdGhpcyBmdW5jdGlvbiBxdWVyeSB0aGUgdXNlciBmb3IgdGhlbS4KQEAgLTQwMSwxMCArNDA3LDExIEBACiAKIFRoZSBzY3JpcHQgPG5ldHJ3LnZpbT4gdXNlcyBzZXZlcmFsIHZhcmlhYmxlcyB3aGljaCBjYW4gYWZmZWN0IDxuZXRydy52aW0+J3MKIGJlaGF2aW9yLiAgVGhlc2UgdmFyaWFibGVzIHR5cGljYWxseSBtYXkgYmUgc2V0IGluIHRoZSB1c2VyJ3MgPC52aW1yYz4gZmlsZToKLT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0tLS0tLS0tLS0tLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgCU5ldHJ3IE9wdGlvbnMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0tLS0tLS0tLS0tLQorKGFsc28gc2VlIHxuZXRydy1zZXR0aW5nc3wpID4KKworICAgICAgICAgICAgICAgICAgICAgICAgLS0tLS0tLS0tLS0tLQorICAgICAgICAgICAgICAgICAgICAgICAgTmV0cncgT3B0aW9ucworICAgICAgICAgICAgICAgICAgICAgICAgLS0tLS0tLS0tLS0tLQogCU9wdGlvbgkJCU1lYW5pbmcKIAktLS0tLS0tLS0tLS0tLQkJLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDwKQEAgLTQyNyw3ICs0MzQsNyBAQAogCWc6bmV0cndfc2lsZW50ICAgICAgICAgID0wIHRyYW5zZmVycyBkb25lIG5vcm1hbGx5CiAJICAgICAgICAgICAgICAgICAgICAgICAgPTEgdHJhbnNmZXJzIGRvbmUgc2lsZW50bHkKICAgICAgICAgZzpuZXRyd191aWQgICAgICAgICAgICAgSG9sZHMgY3VycmVudCB1c2VyLWlkIGZvciBmdHAuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0xIHVzZSBhbHRlcm5hdGUgZnRwICAgICAgICAgICh1c2VyIHVpZCBwYXNzd29yZCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPTEgdXNlIGFsdGVybmF0ZSBmdHAgICAgICAgICAodXNlciB1aWQgcGFzc3dvcmQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzZWUgfG5ldHJ3LW9wdGlvbnN8KQogICAgICAgICBnOm5ldHJ3X3VzZV9udF9yY3AgICAgICA9MCBkb24ndCB1c2UgV2luTlQvMksvWFAncyByY3AgKGRlZmF1bHQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0xIHVzZSBXaW5OVC8ySy9YUCdzIHJjcCwgYmluYXJ5IG1vZGUKQEAgLTQ4MSwxMiArNDg4LDEyIEBACiAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogPAogCQkJCQkJCQkqbmV0cnctZnRwKgotVGhlIGZpcnN0IHR3byBvcHRpb25zIGJvdGggaGVscCB3aXRoIGNlcnRhaW4gZnRwJ3MgdGhhdCBnaXZlIHRyb3VibGUgb3RoZXJ3aXNlLgotSW4gb3JkZXIgdG8gYmVzdCB1bmRlcnN0YW5kIGhvdyB0byB1c2UgdGhlc2Ugb3B0aW9ucyBpZiBmdHAgaXMgZ2l2aW5nIHlvdQotdHJvdWJsZXMsIGEgYml0IG9mIGRpc2N1c3Npb24gZm9sbG93cyBvbiBob3cgbmV0cncgZG9lcyBmdHAgcmVhZHMuCitUaGUgZmlyc3QgdHdvIG9wdGlvbnMgYm90aCBoZWxwIHdpdGggY2VydGFpbiBmdHAncyB0aGF0IGdpdmUgdHJvdWJsZQorb3RoZXJ3aXNlLiAgSW4gb3JkZXIgdG8gYmVzdCB1bmRlcnN0YW5kIGhvdyB0byB1c2UgdGhlc2Ugb3B0aW9ucyBpZiBmdHAgaXMKK2dpdmluZyB5b3UgdHJvdWJsZXMsIGEgYml0IG9mIGRpc2N1c3Npb24gZm9sbG93cyBvbiBob3cgbmV0cncgZG9lcyBmdHAgcmVhZHMuCiAKLVRoZSBnOm5ldHJ3Xy4uLl9jbWQgdmFyaWFibGVzIHNwZWNpZnkgdGhlIGV4dGVybmFsIHByb2dyYW0gdG8gdXNlIGhhbmRsZQotdGhlIGFzc29jaWF0ZWQgcHJvdG9jb2wgKHJjcCwgZnRwLCBldGMpLCBwbHVzIGFueSBvcHRpb25zLgorVGhlIGc6bmV0cndfLi4uX2NtZCB2YXJpYWJsZXMgc3BlY2lmeSB0aGUgZXh0ZXJuYWwgcHJvZ3JhbSB0byB1c2UgaGFuZGxlIHRoZQorYXNzb2NpYXRlZCBwcm90b2NvbCAocmNwLCBmdHAsIGV0YyksIHBsdXMgYW55IG9wdGlvbnMuCiAKIFRoZSBnOm5ldHJ3X2xpc3RfY21kJ3MgSE9TVE5BTUUgZW50cnkgd2lsbCBiZSBjaGFuZ2VkIHZpYSBzdWJzdGl0dXRpb24gd2l0aAogd2hhdGV2ZXIgdGhlIGN1cnJlbnQgcmVxdWVzdCBpcyBmb3IgYSBob3N0bmFtZS4KQEAgLTUxOSw4ICs1MjYsOCBAQAogVGhlIHRlbXBvcmFyeSBmaWxlIGlzIHRoZW4gcmVhZCBpbnRvIHRoZSBtYWluIGVkaXRpbmcgc2Vzc2lvbiB3aW5kb3cgdGhhdAogcmVxdWVzdGVkIGl0IGFuZCB0aGUgdGVtcG9yYXJ5IGZpbGUgZGVsZXRlZC4KIAotSWYgeW91ciBmdHAgZG9lc24ndCBhY2NlcHQgdGhlICJ1c2VyIiBjb21tYW5kIGFuZCBpbW1lZGlhdGVseSBqdXN0IGRlbWFuZHMKLWEgdXNlcmlkLCB0aGVuIHRyeSBwdXR0aW5nICJsZXQgbmV0cndfZnRwPTEiIGluIHlvdXIgPC52aW1yYz4uCitJZiB5b3VyIGZ0cCBkb2Vzbid0IGFjY2VwdCB0aGUgInVzZXIiIGNvbW1hbmQgYW5kIGltbWVkaWF0ZWx5IGp1c3QgZGVtYW5kcyBhCit1c2VyaWQsIHRoZW4gdHJ5IHB1dHRpbmcgImxldCBuZXRyd19mdHA9MSIgaW4geW91ciA8LnZpbXJjPi4KIAogCQkJCQkJCQkqbmV0cnctY2FkYXZlcioKIFRvIGhhbmRsZSB0aGUgU1NMIGNlcnRpZmljYXRlIGRpYWxvZyBmb3IgdW50cnVzdGVkIHNlcnZlcnMsIG9uZSBtYXkgcHVsbApAQCAtNTQ3LDEyICs1NTQsMTIgQEAKICAgICAgIGVuZGlmCiAgICAgZW5kZnVuY3Rpb24KID4KLVRoZSBOZXRSZWFkRml4dXAoKSBmdW5jdGlvbiB3aWxsIGJlIGNhbGxlZCBpZiBpdCBleGlzdHMgYW5kIHRodXMgYWxsb3dzCi15b3UgdG8gY3VzdG9taXplIHlvdXIgcmVhZGluZyBwcm9jZXNzLiAgQXMgYSBmdXJ0aGVyIGV4YW1wbGUsIDxuZXRydy52aW0+Ci1jb250YWlucyBqdXN0IHN1Y2ggYSBmdW5jdGlvbiB0byBoYW5kbGUgV2luZG93cyA5NSBmdHAuICBGb3Igd2hhdGV2ZXIKLXJlYXNvbiwgV2luZG93cyA5NSdzIGZ0cCBkdW1wcyBmb3VyIGJsYW5rIGxpbmVzIGF0IHRoZSBlbmQgb2YgYSB0cmFuc2ZlciwKLWFuZCBzbyBpdCBpcyBkZXNpcmFibGUgdG8gYXV0b21hdGUgdGhlaXIgcmVtb3ZhbC4gIEhlcmUncyBzb21lIGNvZGUgdGFrZW4KLWZyb20gPG5ldHJ3LnZpbT4gaXRzZWxmOgorVGhlIE5ldFJlYWRGaXh1cCgpIGZ1bmN0aW9uIHdpbGwgYmUgY2FsbGVkIGlmIGl0IGV4aXN0cyBhbmQgdGh1cyBhbGxvd3MgeW91IHRvCitjdXN0b21pemUgeW91ciByZWFkaW5nIHByb2Nlc3MuICBBcyBhIGZ1cnRoZXIgZXhhbXBsZSwgPG5ldHJ3LnZpbT4gY29udGFpbnMKK2p1c3Qgc3VjaCBhIGZ1bmN0aW9uIHRvIGhhbmRsZSBXaW5kb3dzIDk1IGZ0cC4gIEZvciB3aGF0ZXZlciByZWFzb24sIFdpbmRvd3MKKzk1J3MgZnRwIGR1bXBzIGZvdXIgYmxhbmsgbGluZXMgYXQgdGhlIGVuZCBvZiBhIHRyYW5zZmVyLCBhbmQgc28gaXQgaXMKK2Rlc2lyYWJsZSB0byBhdXRvbWF0ZSB0aGVpciByZW1vdmFsLiAgSGVyZSdzIHNvbWUgY29kZSB0YWtlbiBmcm9tIDxuZXRydy52aW0+CitpdHNlbGY6CiA+CiAgICAgaWYgaGFzKCJ3aW45NSIpICYmIGc6bmV0cndfd2luOTVmdHAKICAgICAgZnVuISBOZXRSZWFkRml4dXAobWV0aG9kLCBsaW5lMSwgbGluZTIpCkBAIC01NjUsNyArNTcyLDcgQEAKID4KIAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci03LiBEaXJlY3RvcnkgQnJvd3NlcgkqbmV0cnctYnJvd3NlKiAqbmV0cnctZGlyKiAqbmV0cnctbGlzdCogKm5ldHJ3LWhlbHAqCis3LiBEaXJlY3RvcnkgQnJvd3NpbmcJKm5ldHJ3LWJyb3dzZSogKm5ldHJ3LWRpciogKm5ldHJ3LWxpc3QqICpuZXRydy1oZWxwKgogCiBNQVBTICAgCQkJCQkJCQkqbmV0cnctbWFwcyoKICAgICAgPy4uLi4uLi4uLi4uLi4uLi5IZWxwLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4ufG5ldHJ3LWhlbHB8CkBAIC03MzIsNyArNzM5LDcgQEAKIElOVFJPRFVDVElPTiBUTyBESVJFQ1RPUlkgQlJPV1NJTkcJCQkqbmV0cnctYnJvd3NlLWludHJvKgogCiBOZXRydyBzdXBwb3J0cyB0aGUgYnJvd3Npbmcgb2YgZGlyZWN0b3JpZXMgb24gdGhlIGxvY2FsIHN5c3RlbSBhbmQgb24gcmVtb3RlCi1ob3N0cywgaW5jbHVkaW5nIGdlbmVyYXRpbmcgbGlzdGluZyBkaXJlY3RvcmllcywgZW50ZXJpbmcgZGlyZWN0b3JpZXMsIGVkaXRpbmcKK2hvc3RzLCBpbmNsdWRpbmcgbGlzdGluZyBmaWxlcyBhbmQgZGlyZWN0b3JpZXMsIGVudGVyaW5nIGRpcmVjdG9yaWVzLCBlZGl0aW5nCiBmaWxlcyB0aGVyZWluLCBkZWxldGluZyBmaWxlcy9kaXJlY3RvcmllcywgbWFraW5nIG5ldyBkaXJlY3RvcmllcywgYW5kIG1vdmluZwogKHJlbmFtaW5nKSBmaWxlcyBhbmQgZGlyZWN0b3JpZXMuICBUaGUgTmV0cncgYnJvd3NlciBnZW5lcmFsbHkgaW1wbGVtZW50cyB0aGUKIHByZXZpb3VzIGV4cGxvcmVyIG1hcHMgYW5kIGNvbW1hbmRzIGZvciByZW1vdGUgZGlyZWN0b3JpZXMsIGFsdGhvdWdoIGRldGFpbHMKQEAgLTc0MywxMyArNzUwLDE1IEBACiBpbiBpdHMgcmVtb3RlIGJyb3dzaW5nLiAgQW55IG90aGVyIHByb3RvY29sIHdpbGwgYmUgdXNlZCBmb3IgZmlsZSB0cmFuc2ZlcnMsCiBidXQgb3RoZXJ3aXNlIHRoZSBzc2ggcHJvdG9jb2wgd2lsbCBiZSB1c2VkIHRvIGRvIHJlbW90ZSBkaXJlY3RvcnkgYnJvd3NpbmcuCiAKLVRvIGVudGVyIHRoZSBuZXRydyBkaXJlY3RvcnkgYnJvd3Nlciwgc2ltcGx5IGF0dGVtcHQgdG8gcmVhZCBhICJmaWxlIiB3aXRoIGEKK1RvIHVzZSBOZXRydydzIHJlbW90ZSBkaXJlY3RvcnkgYnJvd3Nlciwgc2ltcGx5IGF0dGVtcHQgdG8gcmVhZCBhICJmaWxlIiB3aXRoIGEKIHRyYWlsaW5nIHNsYXNoIGFuZCBpdCB3aWxsIGJlIGludGVycHJldGVkIGFzIGEgcmVxdWVzdCB0byBsaXN0IGEgZGlyZWN0b3J5OgogCiAJdmltIFtwcm90b2NvbF06Ly9bdXNlckBdaG9zdG5hbWUvcGF0aC8KIAotSWYgeW91J2QgbGlrZSB0byBhdm9pZCBlbnRlcmluZyB0aGUgcGFzc3dvcmQgaW4gZm9yIGRpcmVjdG9yeSBsaXN0aW5ncywgc2NwLAotc3NoIGludGVyYWN0aW9uLCBldGMsIHNlZSB8bmV0cnctbGlzdGhhY2t8LgorRm9yIGxvY2FsIGRpcmVjdG9yaWVzLCB0aGUgdHJhaWxpbmcgc2xhc2ggaXMgbm90IHJlcXVpcmVkLgorCitJZiB5b3UnZCBsaWtlIHRvIGF2b2lkIGVudGVyaW5nIHRoZSBwYXNzd29yZCBpbiBmb3IgcmVtb3RlIGRpcmVjdG9yeSBsaXN0aW5ncword2l0aCBzc2ggb3Igc2NwLCBzZWUgfG5ldHJ3LWxpc3RoYWNrfC4KIAogCQkJCSpuZXRydy1leHBsb3JlKiAgKm5ldHJ3LXBleHBsb3JlKgogCQkJCSpuZXRydy1oZXhwbG9yZSogKm5ldHJ3LXNleHBsb3JlKgpAQCAtNzgzLDcgKzc5Miw4IEBACiBtYXkgZXhwbGljaXRseSBwcm92aWRlIGEgZGlyZWN0b3J5IChwYXRoKSB0byB1c2UuCiAKIChGb2xsb3dpbmcgbmVlZHMgdjcuMCBvciBsYXRlcikJCQkqbmV0cnctc3RhcnN0YXIqCi1XaGVuIEV4cGxvcmUsIFNleHBsb3JlLCBIZXhwbG9yZSwgb3IgVmV4cGxvcmUgYXJlIHVzZWQgbGlrZQorV2hlbiBFeHBsb3JlLCBTZXhwbG9yZSwgSGV4cGxvcmUsIG9yIFZleHBsb3JlIGFyZSB1c2VkIHdpdGggYSAqKiwKK3N1Y2ggYXM6CiA+CiAJOkV4cGxvcmUgKiovZmlsZW5hbWVfcGF0dGVybgogPApAQCAtNzk3LDcgKzgwNyw4IEBACiBtYXRjaGluZyBmaWxlLiAgT25lIG1heSB0aGVuIHByb2NlZWQgdG8gdGhlIG5leHQgKG9yIHByZXZpb3VzKSBtYXRjaGluZyBmaWxlcycKIGRpcmVjdG9yaWVzIGJ5IHVzaW5nIE5leHBsb3JlIG9yIFBleHBsb3JlLCByZXNwZWN0aXZlbHkuICBJZiB5b3VyIGNvbnNvbGUgb3IKIGd1aSBwcm9kdWNlcyByZWNvZ25pemFibGUgc2hpZnQtdXAgb3Igc2hpZnQtZG93biBzZXF1ZW5jZXMsIHRoZW4geW91J2xsIGxpa2VseQotZmluZCB0aGUgZm9sbG93aW5nIG1hcHBpbmdzIGNvbnZlbmllbnQ6CitmaW5kIHVzaW5nIHNoaWZ0LWRvd25hcnJvdyBhbmQgc2hpZnQtdXBhcnJvdyBjb252ZW5pZW50LiAgVGhleSdyZSBtYXBwZWQgYnkKK25ldHJ3OgogCiAJPHMtZG93bj4gID09IE5leHBsb3JlLCBhbmQKIAk8cy11cD4gICAgPT0gUGV4cGxvcmUuCkBAIC04MjIsMTEgKzgzMywxMiBAQAogCiBHT0lORyBVUAkJCQkJCSpuZXRydy0tKgogCi1UbyBnbyB1cCBhIGRpcmVjdG9yeSwgcHJlc3MgLSBvciBoaXMgdGhlIDxjcj4gd2hlbiBhdG9wIHRoZSAuLi8gZGlyZWN0b3J5CitUbyBnbyB1cCBhIGRpcmVjdG9yeSwgcHJlc3MgLSBvciBwcmVzcyB0aGUgPGNyPiB3aGVuIGF0b3AgdGhlIC4uLyBkaXJlY3RvcnkKIGVudHJ5IGluIHRoZSBsaXN0aW5nLgogCi1OZXRydyB3aWxsIG1vZGlmeSB0aGUgY29tbWFuZCBpbiB8ZzpuZXRyd19saXN0X2NtZHwgdG8gcGVyZm9ybSB0aGUgZGlyZWN0b3J5Ci1saXN0aW5nIG9wZXJhdGlvbi4gIEJ5IGRlZmF1bHQgdGhlIGNvbW1hbmQgaXM6CitOZXRydyB3aWxsIHVzZSB0aGUgY29tbWFuZCBpbiB8ZzpuZXRyd19saXN0X2NtZHwgdG8gcGVyZm9ybSB0aGUgZGlyZWN0b3J5CitsaXN0aW5nIG9wZXJhdGlvbiBhZnRlciBjaGFuZ2luZyBIT1NUTkFNRSB0byB0aGUgaG9zdCBzcGVjaWZpZWQgYnkgdGhlCit1c2VyLXByb3ZpZGVkIHVybC4gIEJ5IGRlZmF1bHQgbmV0cncgcHJvdmlkZXMgdGhlIGNvbW1hbmQgYXM6CiAKIAlzc2ggSE9TVE5BTUUgbHMgLUZMYQogCkBAIC04NDEsNyArODUzLDEzIEBACiBCcm93c2luZyBpcyBzaW1wbGU6IG1vdmUgdGhlIGN1cnNvciBvbnRvIGEgZmlsZSBvciBkaXJlY3Rvcnkgb2YgaW50ZXJlc3QuCiBIaXR0aW5nIHRoZSA8Y3I+ICh0aGUgcmV0dXJuIGtleSkgd2lsbCBzZWxlY3QgdGhlIGZpbGUgb3IgZGlyZWN0b3J5LgogRGlyZWN0b3JpZXMgd2lsbCB0aGVtc2VsdmVzIGJlIGxpc3RlZCwgYW5kIGZpbGVzIHdpbGwgYmUgb3BlbmVkIHVzaW5nIHRoZQotcHJvdG9jb2wgZ2l2ZW4gaW4gdGhlIG9yaWdpbmFsIHJlYWQgcmVxdWVzdC4KK3Byb3RvY29sIGdpdmVuIGluIHRoZSBvcmlnaW5hbCByZWFkIHJlcXVlc3QuICAKKworICBDQVZFQVQ6IFRoZXJlIGFyZSB0aHJlZSBmb3JtcyBvZiBsaXN0aW5nIChzZWUgfG5ldHJ3LWl8KS4gIE5ldHJ3IGFzc3VtZXMKKyAgdGhhdCB0d28gb3IgbW9yZSBzcGFjZXMgZGVsaW1pdCBmaWxlbmFtZXMgYW5kIGRpcmVjdG9yeSBuYW1lcyBmb3IgdGhlIGxvbmcKKyAgYW5kIHdpZGUgbGlzdGluZyBmb3JtYXRzLiAgVGh1cywgaWYgeW91ciBmaWxlbmFtZSBvciBkaXJlY3RvcnkgbmFtZSBoYXMgdHdvCisgIG9yIG1vcmUgc3BhY2VzIGVtYmVkZGVkIGluIGl0LCBvciBhbnkgdHJhaWxpbmcgc3BhY2VzLCB0aGVuIHlvdSdsbCBuZWVkIHRvCisgIHVzZSB0aGUgInRoaW4iIGZvcm1hdCB0byBzZWxlY3QgaXQuCiAKIAogT0JUQUlOSU5HIEEgRklMRQkJCQkJCSpuZXRydy1PKgpAQCAtODQ5LDcgKzg2NywyMSBAQAogV2hlbiBicm93c2luZyBhIHJlbW90ZSBkaXJlY3RvcnksIG9uZSBtYXkgb2J0YWluIGEgZmlsZSB1bmRlciB0aGUgY3Vyc29yIChpZS4KIGdldCBhIGNvcHkgb24geW91ciBsb2NhbCBtYWNoaW5lLCBidXQgbm90IGVkaXQgaXQpIGJ5IHByZXNzaW5nIHRoZSBPIGtleS4KIE9ubHkgZnRwIGFuZCBzY3AgYXJlIHN1cHBvcnRlZCBmb3IgdGhpcyBvcGVyYXRpb24gKGJ1dCBzaW5jZSB0aGVzZSB0d28gYXJlCi1hdmFpbGFibGUgZm9yIGJyb3dzaW5nLCB0aGF0IHNob3VsZG4ndCBiZSBhIHByb2JsZW0pLgorYXZhaWxhYmxlIGZvciBicm93c2luZywgdGhhdCBzaG91bGRuJ3QgYmUgYSBwcm9ibGVtKS4gIFRoZSBzdGF0dXMgYmFyCit3aWxsIHRoZW4gc2hvdywgb24gaXRzIHJpZ2h0IGhhbmQgc2lkZSwgYSBtZXNzYWdlIGxpa2UgIk9idGFpbmluZyBmaWxlbmFtZSIuCitUaGUgc3RhdHVzbGluZSB3aWxsIGJlIHJlc3RvcmVkIGFmdGVyIHRoZSB0cmFuc2ZlciBpcyBjb21wbGV0ZS4KKworTmV0cncgY2FuIGFsc28gIm9idGFpbiIgYSBmaWxlIHVzaW5nIHRoZSBsb2NhbCBicm93c2VyLiAgTmV0cncncyBkaXNwbGF5CitvZiBhIGRpcmVjdG9yeSBpcyBub3QgbmVjZXNzYXJpbHkgdGhlIHNhbWUgYXMgVmltJ3MgImN1cnJlbnQgZGlyZWN0b3J5IiwKK3VubGVzcyB8ZzpuZXRyd19rZWVwZGlyfCBpcyBzZXQgdG8gMCBpbiB0aGUgdXNlcidzIDwudmltcmM+LiAgT25lIG1heSBzZWxlY3QKK2EgZmlsZSB1c2luZyB0aGUgbG9jYWwgYnJvd3NlciAoYnkgcHV0dGluZyB0aGUgY3Vyc29yIG9uIGl0KSBhbmQgcHJlc3NpbmcKKyJPIiB3aWxsIHRoZW4gIm9idGFpbiIgdGhlIGZpbGU7IGllLiBjb3B5IGl0IHRvIFZpbSdzIGN1cnJlbnQgZGlyZWN0b3J5LgorCitSZWxhdGVkIHRvcGljczoKKyAqIFRvIHNlZSB3aGF0IHRoZSBjdXJyZW50IGRpcmVjdG9yeSBpcywgdXNlIHw6cHdkfAorICogVG8gbWFrZSB0aGUgY3VycmVudGx5IGJyb3dzZWQgZGlyZWN0b3J5IHRoZSBjdXJyZW50IGRpcmVjdG9yeSwgc2VlIHxuZXRydy1jfAorICogVG8gYXV0b21hdGljYWxseSBtYWtlIHRoZSBjdXJyZW50bHkgYnJvd3NlZCBkaXJlY3RvcnkgdGhlIGN1cnJlbnQKKyAgIGRpcmVjdG9yeSwgc2VlIHxnOm5ldHJ3X2tlZXBkaXJ8LgogCiAKIFRISU4sIExPTkcsIEFORCBXSURFIExJU1RJTkdTCQkJCQkqbmV0cnctaSoKQEAgLTg1OSwyMSArODkxLDI3IEBACiBUaGUgc2hvcnQgbGlzdGluZyBmb3JtYXQgZ2l2ZXMganVzdCB0aGUgZmlsZXMnIGFuZCBkaXJlY3RvcmllcycgbmFtZXMuCiAKIFRoZSBsb25nIGxpc3RpbmcgaXMgZWl0aGVyIGJhc2VkIG9uIHRoZSAibHMiIGNvbW1hbmQgdmlhIHNzaCBmb3IgcmVtb3RlCi1kaXJlY3RvcmllcyBvciBkaXNwbGF5cyB0aGUgZmlsZW5hbWUsIGZpbGUgc2l6ZSAoaW4gYnl0ZXMpLCBhbmQgdGhlCi10aW1lIGFuZCBkYXRlIG9mIGxhc3QgbW9kaWZpY2F0aW9uIGZvciBsb2NhbCBkaXJlY3Rvcmllcy4KK2RpcmVjdG9yaWVzIG9yIGRpc3BsYXlzIHRoZSBmaWxlbmFtZSwgZmlsZSBzaXplIChpbiBieXRlcyksIGFuZCB0aGUgdGltZSBhbmQKK2RhdGUgb2YgbGFzdCBtb2RpZmljYXRpb24gZm9yIGxvY2FsIGRpcmVjdG9yaWVzLiAgV2l0aCB0aGUgbG9uZyBsaXN0aW5nCitmb3JtYXQsIG5ldHJ3IGlzIG5vdCBhYmxlIHRvIHJlY29nbml6ZSBmaWxlbmFtZXMgd2hpY2ggaGF2ZSB0cmFpbGluZyBzcGFjZXMuCitVc2UgdGhlIHRoaW4gbGlzdGluZyBmb3JtYXQgZm9yIHN1Y2ggZmlsZXMuCiAKLVRoZSB3aWRlIGxpc3RpbmcgZm9ybWF0IGhhcyBhIG11bHRpLWNvbHVtbiBkaXNwbGF5IG9mIHRoZSB2YXJpb3VzCi1maWxlcyBpbiB0aGUgbmV0cncgY3VycmVudCBkaXJlY3RvcnksIHJhdGhlciBsaWtlIHRoZSBVbml4ICJscyIgcHJlc2VudHMuCi1JbiB0aGlzIG1vZGUgdGhlICJiIiBhbmQgIkIiIG1hcHMgYXJlIG5vdCBhdmFpbGFibGU7IGluc3RlYWQsIHVzZQotTmIgKHxuZXRydy1OYnwpIGFuZCBOQiAofG5ldHJ3LU5CfCkuCitUaGUgd2lkZSBsaXN0aW5nIGZvcm1hdCBoYXMgYSBtdWx0aS1jb2x1bW4gZGlzcGxheSBvZiB0aGUgdmFyaW91cyBmaWxlcyBpbiB0aGUKK25ldHJ3IGN1cnJlbnQgZGlyZWN0b3J5LCByYXRoZXIgbGlrZSB0aGUgVW5peCAibHMiIHByZXNlbnRzLiAgSW4gdGhpcyBtb2RlIHRoZQorImIiIGFuZCAiQiIgbWFwcyBhcmUgbm90IGF2YWlsYWJsZTsgaW5zdGVhZCwgdXNlIE5iICh8bmV0cnctTmJ8KSBhbmQgTkIKKyh8bmV0cnctTkJ8KS4gIFRoZSB3aWRlIGxpc3RpbmcgZm9ybWF0IHVzZXMgdHdvIG9yIG1vcmUgY29udGlndW91cyBzcGFjZXMgdG8KK2RlbGluZWF0ZSBmaWxlbmFtZXM7IHdoZW4gdXNpbmcgdGhhdCBmb3JtYXQsIG5ldHJ3IHdvbid0IGJlIGFibGUgdG8gcmVjb2duaXplCitvciB1c2UgZmlsZW5hbWVzIHdoaWNoIGhhdmUgdHdvIG9yIG1vcmUgY29udGlndW91cyBzcGFjZXMgZW1iZWRkZWQgaW4gdGhlIG5hbWUKK29yIGFueSB0cmFpbGluZyBzcGFjZXMuICBUaGUgdGhpbiBsaXN0aW5nIGZvcm1hdCB3aWxsLCBob3dldmVyLCB3b3JrIHdpdGggc3VjaAorZmlsZXMuCiAKIAogTUFLSU5HIEEgTkVXIERJUkVDVE9SWQkJCQkJCSpuZXRydy1kKgogCi1XaXRoIHRoZSAiZCIgbWFwIG9uZSBtYXkgbWFrZSBhIG5ldyBkaXJlY3RvcnkgZWl0aGVyIHJlbW90ZWx5ICh3aGljaAotZGVwZW5kcyBvbiB0aGUgZ2xvYmFsIHZhcmlhYmxlIGc6bmV0cndfbWtkaXJfY21kKSBvciBsb2NhbGx5ICh3aGljaCBkZXBlbmRzIG9uCi10aGUgZ2xvYmFsIHZhcmlhYmxlIGc6bmV0cndfbG9jYWxfbWtkaXIpLiAgTmV0cncgd2lsbCBpc3N1ZSBhIHJlcXVlc3QgZm9yIHRoZQotbmV3IGRpcmVjdG9yeSdzIG5hbWUuICBBIGJhcmUgPENSPiBhdCB0aGF0IHBvaW50IHdpbGwgYWJvcnQgdGhlIG1ha2luZyBvZiB0aGUKK1dpdGggdGhlICJkIiBtYXAgb25lIG1heSBtYWtlIGEgbmV3IGRpcmVjdG9yeSBlaXRoZXIgcmVtb3RlbHkgKHdoaWNoIGRlcGVuZHMKK29uIHRoZSBnbG9iYWwgdmFyaWFibGUgZzpuZXRyd19ta2Rpcl9jbWQpIG9yIGxvY2FsbHkgKHdoaWNoIGRlcGVuZHMgb24gdGhlCitnbG9iYWwgdmFyaWFibGUgZzpuZXRyd19sb2NhbF9ta2RpcikuICBOZXRydyB3aWxsIGlzc3VlIGEgcmVxdWVzdCBmb3IgdGhlIG5ldworZGlyZWN0b3J5J3MgbmFtZS4gIEEgYmFyZSA8Q1I+IGF0IHRoYXQgcG9pbnQgd2lsbCBhYm9ydCB0aGUgbWFraW5nIG9mIHRoZQogZGlyZWN0b3J5LiAgQXR0ZW1wdHMgdG8gbWFrZSBhIGxvY2FsIGRpcmVjdG9yeSB0aGF0IGFscmVhZHkgZXhpc3RzIChhcyBlaXRoZXIKIGEgZmlsZSBvciBhIGRpcmVjdG9yeSkgd2lsbCBiZSBkZXRlY3RlZCwgcmVwb3J0ZWQgb24sIGFuZCBpZ25vcmVkLgogCkBAIC04ODEsMTIgKzkxOSwxMiBAQAogREVMRVRJTkcgRklMRVMgT1IgRElSRUNUT1JJRVMJCQkqbmV0cnctZGVsZXRlKiAqbmV0cnctRCoKIAogRGVsZXRpbmcvcmVtb3ZpbmcgZmlsZXMgYW5kIGRpcmVjdG9yaWVzIGludm9sdmVzIG1vdmluZyB0aGUgY3Vyc29yIHRvIHRoZQotZmlsZS9kaXJlY3RvcnkgdG8gYmUgZGVsZXRlZCBhbmQgcHJlc3NpbmcgIkQiLiAgRGlyZWN0b3JpZXMgbXVzdCBiZSBlbXB0eSBmaXJzdAotYmVmb3JlIHRoZXkgY2FuIGJlIHN1Y2Nlc3NmdWxseSByZW1vdmVkLiAgSWYgdGhlIGRpcmVjdG9yeSBpcyBhIHNvZnRsaW5rIHRvIGEKLWRpcmVjdG9yeSwgdGhlbiBuZXRydyB3aWxsIG1ha2UgdHdvIHJlcXVlc3RzIHRvIHJlbW92ZSB0aGUgZGlyZWN0b3J5IGJlZm9yZQotc3VjY2VlZGluZy4gIE5ldHJ3IHdpbGwgYXNrIGZvciBjb25maXJtYXRpb24gYmVmb3JlIGRvaW5nIHRoZSByZW1vdmFsKHMpLgotWW91IG1heSBzZWxlY3QgYSByYW5nZSBvZiBsaW5lcyB3aXRoIHRoZSAiViIgY29tbWFuZCAodmlzdWFsIHNlbGVjdGlvbiksCi1hbmQgdGhlbiBwcmVzc2luZyAiRCIuCitmaWxlL2RpcmVjdG9yeSB0byBiZSBkZWxldGVkIGFuZCBwcmVzc2luZyAiRCIuICBEaXJlY3RvcmllcyBtdXN0IGJlIGVtcHR5CitmaXJzdCBiZWZvcmUgdGhleSBjYW4gYmUgc3VjY2Vzc2Z1bGx5IHJlbW92ZWQuICBJZiB0aGUgZGlyZWN0b3J5IGlzIGEgc29mdGxpbmsKK3RvIGEgZGlyZWN0b3J5LCB0aGVuIG5ldHJ3IHdpbGwgbWFrZSB0d28gcmVxdWVzdHMgdG8gcmVtb3ZlIHRoZSBkaXJlY3RvcnkKK2JlZm9yZSBzdWNjZWVkaW5nLiAgTmV0cncgd2lsbCBhc2sgZm9yIGNvbmZpcm1hdGlvbiBiZWZvcmUgZG9pbmcgdGhlCityZW1vdmFsKHMpLiAgWW91IG1heSBzZWxlY3QgYSByYW5nZSBvZiBsaW5lcyB3aXRoIHRoZSAiViIgY29tbWFuZCAodmlzdWFsCitzZWxlY3Rpb24pLCBhbmQgdGhlbiBwcmVzc2luZyAiRCIuCiAKIFRoZSBnOm5ldHJ3X3JtX2NtZCwgZzpuZXRyd19ybWZfY21kLCBhbmQgZzpuZXRyd19ybWRpcl9jbWQgdmFyaWFibGVzIGFyZSB1c2VkCiB0byBjb250cm9sIHRoZSBhdHRlbXB0cyB0byByZW1vdmUgZmlsZXMgYW5kIGRpcmVjdG9yaWVzLiAgVGhlIGc6bmV0cndfcm1fY21kCkBAIC05MjEsMTkgKzk1OSwxOSBAQAogdGhlIFYgKHxsaW5ld2lzZS12aXN1YWx8KS4KIAogCi1ISURJTkcgRklMRVMgT1IgRElSRUNUT1JJRVMJCQkJKmc6bmV0cnctYSoKK0hJRElORyBGSUxFUyBPUiBESVJFQ1RPUklFUwkJCQkqbmV0cnctYSoKIAotTmV0cncncyBicm93c2luZyBmYWNpbGl0eSBhbGxvd3Mgb25lIHRvIHVzZSB0aGUgaGlkaW5nIGxpc3QgaW4gb25lIG9mCi10aHJlZSB3YXlzOiBpZ25vcmUgaXQsIGhpZGUgZmlsZXMgd2hpY2ggbWF0Y2gsIGFuZCBzaG93IG9ubHkgdGhvc2UgZmlsZXMKLXdoaWNoIG1hdGNoLiAgVGhlICJhIiBtYXAgYWxsb3dzIHRoZSB1c2VyIHRvIGN5Y2xlIGFib3V0IHRoZXNlIHRocmVlIHdheXMuCitOZXRydydzIGJyb3dzaW5nIGZhY2lsaXR5IGFsbG93cyBvbmUgdG8gdXNlIHRoZSBoaWRpbmcgbGlzdCBpbiBvbmUgb2YgdGhyZWUKK3dheXM6IGlnbm9yZSBpdCwgaGlkZSBmaWxlcyB3aGljaCBtYXRjaCwgYW5kIHNob3cgb25seSB0aG9zZSBmaWxlcyB3aGljaAorbWF0Y2guICBUaGUgImEiIG1hcCBhbGxvd3MgdGhlIHVzZXIgdG8gY3ljbGUgYWJvdXQgdGhlc2UgdGhyZWUgd2F5cy4KIAotVGhlIGc6bmV0cndfbGlzdF9oaWRlIHZhcmlhYmxlIGhvbGRzIGEgY29tbWEgZGVsaW1pdGVkIGxpc3Qgb2YgcGF0dGVybnMKLShleC4gXC5vYmopIHdoaWNoIHNwZWNpZnkgdGhlIGhpZGluZyBsaXN0LiAoYWxzbyBzZWUgfG5ldHJ3LWh8KSAgVG8KLXNldCB0aGUgaGlkaW5nIGxpc3QsIHVzZSB0aGUgPGMtaD4gbWFwLiAgQXMgYW4gZXhhbXBsZSwgdG8gaGlkZSBmaWxlcwotd2hpY2ggYmVnaW4gd2l0aCBhICIuIiwgb25lIG1heSB1c2UgdGhlIDxjLWg+IG1hcCB0byBzZXQgdGhlIGhpZGluZwotbGlzdCB0byAnXlwuLionIChvciBvbmUgbWF5IHB1dCAgbGV0IGc6bmV0cndfbGlzdF9oaWRlPSAnXlwuLionIGluCi1vbmUncyA8LnZpbXJjPikuICBPbmUgbWF5IHRoZW4gdXNlIHRoZSAiYSIga2V5IHRvIHNob3cgYWxsIGZpbGVzLAotaGlkZSBtYXRjaGluZyBmaWxlcywgb3IgdG8gc2hvdyBvbmx5IHRoZSBtYXRjaGluZyBmaWxlcy4KK1RoZSBnOm5ldHJ3X2xpc3RfaGlkZSB2YXJpYWJsZSBob2xkcyBhIGNvbW1hIGRlbGltaXRlZCBsaXN0IG9mIHBhdHRlcm5zIChleC4KK1wub2JqKSB3aGljaCBzcGVjaWZ5IHRoZSBoaWRpbmcgbGlzdC4gKGFsc28gc2VlIHxuZXRydy1ofCkgIFRvIHNldCB0aGUgaGlkaW5nCitsaXN0LCB1c2UgdGhlIDxjLWg+IG1hcC4gIEFzIGFuIGV4YW1wbGUsIHRvIGhpZGUgZmlsZXMgd2hpY2ggYmVnaW4gd2l0aCBhICIuIiwKK29uZSBtYXkgdXNlIHRoZSA8Yy1oPiBtYXAgdG8gc2V0IHRoZSBoaWRpbmcgbGlzdCB0byAnXlwuLionIChvciBvbmUgbWF5IHB1dAorbGV0IGc6bmV0cndfbGlzdF9oaWRlPSAnXlwuLionIGluIG9uZSdzIDwudmltcmM+KS4gIE9uZSBtYXkgdGhlbiB1c2UgdGhlICJhIgora2V5IHRvIHNob3cgYWxsIGZpbGVzLCBoaWRlIG1hdGNoaW5nIGZpbGVzLCBvciB0byBzaG93IG9ubHkgdGhlIG1hdGNoaW5nCitmaWxlcy4KIAogCiBFRElUIEZJTEUgT1IgRElSRUNUT1JZIEhJRElORyBMSVNUCQkqbmV0cnctaCogKm5ldHJ3LWVkaXRoaWRlKgpAQCAtOTQxLDcgKzk3OSw4IEBACiBUaGUgIjxjdHJsLWg+IiBtYXAgYnJpbmdzIHVwIGEgcmVxdWVzdG9yIGFsbG93aW5nIHRoZSB1c2VyIHRvIGNoYW5nZSB0aGUKIGZpbGUvZGlyZWN0b3J5IGhpZGluZyBsaXN0LiAgVGhlIGhpZGluZyBsaXN0IGNvbnNpc3RzIG9mIG9uZSBvciBtb3JlIHBhdHRlcm5zCiBkZWxpbWl0ZWQgYnkgY29tbWFzLiAgRmlsZXMgYW5kL29yIGRpcmVjdG9yaWVzIHNhdGlzZnlpbmcgdGhlc2UgcGF0dGVybnMgd2lsbAotZWl0aGVyIGJlIGhpZGRlbiAoaWUuIG5vdCBzaG93bikgb3IgYmUgdGhlIG9ubHkgb25lcyBkaXNwbGF5ZWQgKHNlZSB8bmV0cnctYXwpLgorZWl0aGVyIGJlIGhpZGRlbiAoaWUuIG5vdCBzaG93bikgb3IgYmUgdGhlIG9ubHkgb25lcyBkaXNwbGF5ZWQgKHNlZQorfG5ldHJ3LWF8KS4KIAogCiBCUk9XU0lORyBXSVRIIEEgSE9SSVpPTlRBTExZIFNQTElUIFdJTkRPVwkJKm5ldHJ3LW8qICpuZXRydy1ob3JpeioKQEAgLTk1MCw5ICs5ODksOSBAQAogYWxsb3dzIG9uZSB0byBvcGVuIGEgbmV3IHdpbmRvdyB0byBob2xkIHRoZSBuZXcgZGlyZWN0b3J5IGxpc3Rpbmcgb3IgZmlsZS4gIEEKIGhvcml6b250YWwgc3BsaXQgaXMgdXNlZC4gIChmb3IgdmVydGljYWwgc3BsaXR0aW5nLCBzZWUgfG5ldHJ3LXZ8KQogCi1Ob3JtYWxseSwgdGhlIG8ga2V5IHNwbGl0cyB0aGUgd2luZG93IGhvcml6b250YWxseSB3aXRoIHRoZSBuZXcgd2luZG93Ci1hbmQgY3Vyc29yIGF0IHRoZSB0b3AuICBUbyBjaGFuZ2UgdG8gc3BsaXR0aW5nIHRoZSB3aW5kb3cgaG9yaXpvbnRhbGx5Ci13aXRoIHRoZSBuZXcgd2luZG93IGFuZCBjdXJzb3IgYXQgdGhlIGJvdHRvbSwgaGF2ZQorTm9ybWFsbHksIHRoZSBvIGtleSBzcGxpdHMgdGhlIHdpbmRvdyBob3Jpem9udGFsbHkgd2l0aCB0aGUgbmV3IHdpbmRvdyBhbmQKK2N1cnNvciBhdCB0aGUgdG9wLiAgVG8gY2hhbmdlIHRvIHNwbGl0dGluZyB0aGUgd2luZG93IGhvcml6b250YWxseSB3aXRoIHRoZQorbmV3IHdpbmRvdyBhbmQgY3Vyc29yIGF0IHRoZSBib3R0b20sIGhhdmUKIAogCWxldCBnOm5ldHJ3X2FsdG8gPSAxCiAKQEAgLTk2MSwzMCArMTAwMCwzMCBAQAogCiBQUkVWSUVXIFdJTkRPVwkJCQkJKm5ldHJ3LXAqICpuZXRydy1wcmV2aWV3KgogCi1PbmUgbWF5IHVzZSBhIHByZXZpZXcgd2luZG93IChjdXJyZW50bHkgb25seSBmb3IgbG9jYWwgYnJvd3NpbmcpIGJ5IHVzaW5nCi10aGUgInAiIGtleSB3aGVuIHRoZSBjdXJzb3IgaXMgYXRvcCB0aGUgZGVzaXJlZCBmaWxlbmFtZSB0byBiZSBwcmV2aWV3ZWQuCitPbmUgbWF5IHVzZSBhIHByZXZpZXcgd2luZG93IChjdXJyZW50bHkgb25seSBmb3IgbG9jYWwgYnJvd3NpbmcpIGJ5IHVzaW5nIHRoZQorInAiIGtleSB3aGVuIHRoZSBjdXJzb3IgaXMgYXRvcCB0aGUgZGVzaXJlZCBmaWxlbmFtZSB0byBiZSBwcmV2aWV3ZWQuCiAKIAogU0VMRUNUSU5HIFNPUlRJTkcgU1RZTEUJCQkJKm5ldHJ3LXMqICpuZXRydy1zb3J0KgogCi1PbmUgbWF5IHNlbGVjdCB0aGUgc29ydGluZyBzdHlsZSBieSBuYW1lLCB0aW1lLCBvciAoZmlsZSkgc2l6ZS4gIFRoZQotInMiIG1hcCBhbGxvd3Mgb25lIHRvIGNpcmN1bGF0ZSBhbW9uZ3N0IHRoZSB0aHJlZSBjaG9pY2VzOyB0aGUgZGlyZWN0b3J5Ci1saXN0aW5nIHdpbGwgYXV0b21hdGljYWxseSBiZSByZWZyZXNoZWQgdG8gcmVmbGVjdCB0aGUgc2VsZWN0ZWQgc3R5bGUuCitPbmUgbWF5IHNlbGVjdCB0aGUgc29ydGluZyBzdHlsZSBieSBuYW1lLCB0aW1lLCBvciAoZmlsZSkgc2l6ZS4gIFRoZSAicyIgbWFwCithbGxvd3Mgb25lIHRvIGNpcmN1bGF0ZSBhbW9uZ3N0IHRoZSB0aHJlZSBjaG9pY2VzOyB0aGUgZGlyZWN0b3J5IGxpc3Rpbmcgd2lsbAorYXV0b21hdGljYWxseSBiZSByZWZyZXNoZWQgdG8gcmVmbGVjdCB0aGUgc2VsZWN0ZWQgc3R5bGUuCiAKIAogRURJVElORyBUSEUgU09SVElORyBTRVFVRU5DRQkJKm5ldHJ3LVMqICpuZXRydy1zb3J0c2VxdWVuY2UqCiAKLVdoZW4gIlNvcnRlZCBieSIgaXMgbmFtZSwgb25lIG1heSBzcGVjaWZ5IHByaW9yaXR5IHZpYSB0aGUgc29ydGluZwotc2VxdWVuY2UgKGc6bmV0cndfc29ydF9zZXF1ZW5jZSkuICBUaGUgc29ydGluZyBzZXF1ZW5jZSB0eXBpY2FsbHkKLXByaW9yaXRpemVzIHRoZSBuYW1lLWxpc3RpbmcgYnkgc3VmZml4LCBhbHRob3VnaCBhbnkgcGF0dGVybiB3aWxsIGRvLgotUGF0dGVybnMgYXJlIGRlbGltaXRlZCBieSBjb21tYXMuICBUaGUgZGVmYXVsdCBzb3J0aW5nIHNlcXVlbmNlIGlzOgorV2hlbiAiU29ydGVkIGJ5IiBpcyBuYW1lLCBvbmUgbWF5IHNwZWNpZnkgcHJpb3JpdHkgdmlhIHRoZSBzb3J0aW5nIHNlcXVlbmNlCisoZzpuZXRyd19zb3J0X3NlcXVlbmNlKS4gIFRoZSBzb3J0aW5nIHNlcXVlbmNlIHR5cGljYWxseSBwcmlvcml0aXplcyB0aGUKK25hbWUtbGlzdGluZyBieSBzdWZmaXgsIGFsdGhvdWdoIGFueSBwYXR0ZXJuIHdpbGwgZG8uICBQYXR0ZXJucyBhcmUgZGVsaW1pdGVkCitieSBjb21tYXMuICBUaGUgZGVmYXVsdCBzb3J0aW5nIHNlcXVlbmNlIGlzOgogPgogCVtcL10kLCosXC5iYWskLFwubyQsXC5oJCxcLmluZm8kLFwuc3dwJCxcLm9iaiQKIDwKLVRoZSBsb25lICogaXMgd2hlcmUgYWxsIGZpbGVuYW1lcyBub3QgY292ZXJlZCBieSBvbmUgb2YgdGhlIG90aGVyCi1wYXR0ZXJucyB3aWxsIGVuZCB1cC4gIE9uZSBtYXkgY2hhbmdlIHRoZSBzb3J0aW5nIHNlcXVlbmNlIGJ5IG1vZGlmeWluZwotdGhlIGc6bmV0cndfc29ydF9zZXF1ZW5jZSB2YXJpYWJsZSAoZWl0aGVyIG1hbnVhbGx5IG9yIGluIHlvdXIgPC52aW1yYz4pCi1vciBieSB1c2luZyB0aGUgIlMiIG1hcC4KK1RoZSBsb25lICogaXMgd2hlcmUgYWxsIGZpbGVuYW1lcyBub3QgY292ZXJlZCBieSBvbmUgb2YgdGhlIG90aGVyIHBhdHRlcm5zCit3aWxsIGVuZCB1cC4gIE9uZSBtYXkgY2hhbmdlIHRoZSBzb3J0aW5nIHNlcXVlbmNlIGJ5IG1vZGlmeWluZyB0aGUKK2c6bmV0cndfc29ydF9zZXF1ZW5jZSB2YXJpYWJsZSAoZWl0aGVyIG1hbnVhbGx5IG9yIGluIHlvdXIgPC52aW1yYz4pIG9yIGJ5Cit1c2luZyB0aGUgIlMiIG1hcC4KIAogCiBSRVZFUlNJTkcgU09SVElORyBPUkRFUgkJCSpuZXRydy1yKiAqbmV0cnctcmV2ZXJzZSoKQEAgLTEwMTEsMjAgKzEwNTAsMjAgQEAKIAogQlJPV1NJTkcgV0lUSCBBIFZFUlRJQ0FMTFkgU1BMSVQgV0lORE9XCQkJCSpuZXRydy12KgogCi1Ob3JtYWxseSBvbmUgZW50ZXJzIGEgZmlsZSBvciBkaXJlY3RvcnkgdXNpbmcgdGhlIDxjcj4uICBIb3dldmVyLCB0aGUgInYiCi1tYXAgYWxsb3dzIG9uZSB0byBvcGVuIGEgbmV3IHdpbmRvdyB0byBob2xkIHRoZSBuZXcgZGlyZWN0b3J5IGxpc3Rpbmcgb3IKLWZpbGUuICBBIHZlcnRpY2FsIHNwbGl0IGlzIHVzZWQuICAoZm9yIGhvcml6b250YWwgc3BsaXR0aW5nLCBzZWUgfG5ldHJ3LW98KQorTm9ybWFsbHkgb25lIGVudGVycyBhIGZpbGUgb3IgZGlyZWN0b3J5IHVzaW5nIHRoZSA8Y3I+LiAgSG93ZXZlciwgdGhlICJ2IiBtYXAKK2FsbG93cyBvbmUgdG8gb3BlbiBhIG5ldyB3aW5kb3cgdG8gaG9sZCB0aGUgbmV3IGRpcmVjdG9yeSBsaXN0aW5nIG9yIGZpbGUuICBBCit2ZXJ0aWNhbCBzcGxpdCBpcyB1c2VkLiAgKGZvciBob3Jpem9udGFsIHNwbGl0dGluZywgc2VlIHxuZXRydy1vfCkKIAotTm9ybWFsbHksIHRoZSB2IGtleSBzcGxpdHMgdGhlIHdpbmRvdyB2ZXJ0aWNhbGx5IHdpdGggdGhlIG5ldyB3aW5kb3cKLWFuZCBjdXJzb3IgYXQgdGhlIGxlZnQuICBUbyBjaGFuZ2UgdG8gc3BsaXR0aW5nIHRoZSB3aW5kb3cgdmVydGljYWxseQotd2l0aCB0aGUgbmV3IHdpbmRvdyBhbmQgY3Vyc29yIGF0IHRoZSByaWdodCwgaGF2ZQorTm9ybWFsbHksIHRoZSB2IGtleSBzcGxpdHMgdGhlIHdpbmRvdyB2ZXJ0aWNhbGx5IHdpdGggdGhlIG5ldyB3aW5kb3cgYW5kCitjdXJzb3IgYXQgdGhlIGxlZnQuICBUbyBjaGFuZ2UgdG8gc3BsaXR0aW5nIHRoZSB3aW5kb3cgdmVydGljYWxseSB3aXRoIHRoZSBuZXcKK3dpbmRvdyBhbmQgY3Vyc29yIGF0IHRoZSByaWdodCwgaGF2ZQogCiAJbGV0IGc6bmV0cndfYWx0diA9IDEKIAogaW4geW91ciA8LnZpbXJjPi4KIAogCi1DVVNUT01JWklORyBCUk9XU0lORyBXSVRIIEEgVVNFUiBGVU5DVElPTgkJKm5ldHJ3LXgqICpuZXRydy1oYW5kbGVyKgorQ1VTVE9NSVpJTkcgQlJPV1NJTkcgV0lUSCBBIFVTRVIgRlVOQ1RJT04JKm5ldHJ3LXgqICpuZXRydy1oYW5kbGVyKgogCiBPbmUgbWF5ICJlbnRlciIgYSBmaWxlIHdpdGggYSBzcGVjaWFsIGhhbmRsZXIsIHRoZXJlYnkgZmlyaW5nIHVwIGEgYnJvd3NlciBvcgogb3RoZXIgYXBwbGljYXRpb24sIGZvciBleGFtcGxlLCBvbiBhIGZpbGUgYnkgaGl0dGluZyB0aGUgIngiIGtleS4gIFRoZSBzcGVjaWFsCkBAIC0xMDM2LDkgKzEwNzUsOSBAQAogICAqIG90aGVyd2lzZSB0aGUgTmV0cndGaWxlSGFuZGxlciBwbHVnaW4gaXMgdXNlZC4KIAogVGhlIGZpbGUncyBzdWZmaXggaXMgdXNlZCBieSB0aGVzZSB2YXJpb3VzIGFwcHJvYWNoZXMgdG8gZGV0ZXJtaW5lIGFuCi1hcHByb3ByaWF0ZSBhcHBsaWNhdGlvbiB0byB1c2UgdG8gImhhbmRsZSIgdGhlc2UgZmlsZXMuICBTdWNoIHRoaW5ncwotYXMgT3Blbk9mZmljZSAoKi5zZngpLCB2aXN1YWxpemF0aW9uICgqLmpwZywgKi5naWYsIGV0YyksIGFuZCBQb3N0U2NyaXB0Ci0oKi5wcywgKi5lcHMpIGNhbiBiZSBoYW5kbGVkLgorYXBwcm9wcmlhdGUgYXBwbGljYXRpb24gdG8gdXNlIHRvICJoYW5kbGUiIHRoZXNlIGZpbGVzLiAgU3VjaCB0aGluZ3MgYXMKK09wZW5PZmZpY2UgKCouc2Z4KSwgdmlzdWFsaXphdGlvbiAoKi5qcGcsICouZ2lmLCBldGMpLCBhbmQgUG9zdFNjcmlwdCAoKi5wcywKKyouZXBzKSBjYW4gYmUgaGFuZGxlZC4KIAogVGhlIE5ldHJ3RmlsZUhhbmRsZXIgYXBwbGllcyBhIHVzZXItZGVmaW5lZCBmdW5jdGlvbiB0byBhIGZpbGUsIGJhc2VkIG9uIGl0cwogZXh0ZW5zaW9uLiAgT2YgY291cnNlLCB0aGUgaGFuZGxlciBmdW5jdGlvbiBtdXN0IGV4aXN0IGZvciBpdCB0byBiZSBjYWxsZWQhCkBAIC0xMDYzLDggKzExMDIsOCBAQAogY3VycmVudGx5IGJyb3dzZWQgZGlyZWN0b3J5IGJlIHRoZSBjdXJyZW50IGRpcmVjdG9yeS4KIAogV2l0aCB0aGUgZGVmYXVsdCBzZXR0aW5nIGZvciBnOm5ldHJ3X2tlZXBkaXIsIGluIG9yZGVyIHRvIG1ha2UgdGhlIHR3bwotZGlyZWN0b3JpZXMgdGhlIHNhbWUsIHVzZSB0aGUgImMiIG1hcCAoanVzdCB0eXBlIGMpLiAgVGhhdCBtYXAgd2lsbCBzZXQKLXRoZSBjdXJyZW50IGRpcmVjdG9yeSB0byB0aGUgY3VycmVudCBicm93c2luZyBkaXJlY3RvcnkuCitkaXJlY3RvcmllcyB0aGUgc2FtZSwgdXNlIHRoZSAiYyIgbWFwIChqdXN0IHR5cGUgYykuICBUaGF0IG1hcCB3aWxsIHNldCB0aGUKK2N1cnJlbnQgZGlyZWN0b3J5IHRvIHRoZSBjdXJyZW50IGJyb3dzaW5nIGRpcmVjdG9yeS4KIAogCiBCT09LTUFSS0lORyBBIERJUkVDVE9SWQkJKm5ldHJ3LWIqICpuZXRydy1ib29rbWFyayogKm5ldHJ3LWJvb2ttYXJrcyoKQEAgLTEwODcsOCArMTEyNiw4IEBACiAKIAl7Y250fUIKIAotQW55IGNvdW50IG1heSBiZSB1c2VkIHRvIHJlZmVyZW5jZSBhbnkgb2YgdGhlIGJvb2ttYXJrcy4gIFNlZSB8bmV0cnctYnwKLWZvciBob3cgdG8gYm9va21hcmsgYSBkaXJlY3RvcnkgYW5kIHxuZXRydy1xfCBmb3IgaG93IHRvIGxpc3QgdGhlbS4KK0FueSBjb3VudCBtYXkgYmUgdXNlZCB0byByZWZlcmVuY2UgYW55IG9mIHRoZSBib29rbWFya3MuICBTZWUgfG5ldHJ3LWJ8IG9uCitob3cgdG8gYm9va21hcmsgYSBkaXJlY3RvcnkgYW5kIHxuZXRydy1xfCBvbiBob3cgdG8gbGlzdCBib29rbWFya3MuCiAKIFdoZW4gd2lkZSBsaXN0aW5nIGlzIGluIHVzZSAoc2VlIHxuZXRydy1pfCksIHRoZW4gdGhlIEIgbWFwIGlzIG5vdCBhdmFpbGFibGU7CiBpbnN0ZWFkLCB1c2Uge2NudH1OQi4KQEAgLTExMTgsOSArMTE1Nyw5IEBACiBXaXRoIHRoZSBOZXRyd1NldHRpbmdzLnZpbSBwbHVnaW4sID4KIAk6TmV0cndTZXR0aW5ncwogd2lsbCBicmluZyB1cCBhIHdpbmRvdyB3aXRoIHRoZSBtYW55IHZhcmlhYmxlcyB0aGF0IG5ldHJ3IHVzZXMgZm9yIGl0cwotc2V0dGluZ3MuICBZb3UgbWF5IGNoYW5nZSBhbnkgb2YgdGhlaXIgdmFsdWVzOyB3aGVuIHlvdSBzYXZlIHRoZSBmaWxlLAotdGhlIHNldHRpbmdzIHRoZXJlaW4gd2lsbCBiZSB1c2VkLiAgT25lIG1heSBhbHNvIHByZXNzICI/IiBvbiBhbnkgb2YKLXRoZSBsaW5lcyBmb3IgaGVscCBvbiB3aGF0IGVhY2ggb2YgdGhlIHZhcmlhYmxlcyBkby4KK3NldHRpbmdzLiAgWW91IG1heSBjaGFuZ2UgYW55IG9mIHRoZWlyIHZhbHVlczsgd2hlbiB5b3Ugc2F2ZSB0aGUgZmlsZSwgdGhlCitzZXR0aW5ncyB0aGVyZWluIHdpbGwgYmUgdXNlZC4gIE9uZSBtYXkgYWxzbyBwcmVzcyAiPyIgb24gYW55IG9mIHRoZSBsaW5lcyBmb3IKK2hlbHAgb24gd2hhdCBlYWNoIG9mIHRoZSB2YXJpYWJsZXMgZG8uCiAKIAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkBAIC0xMjAxLDEwICsxMjQwLDEwIEBACiAKIAkxLiBHZXQgdGhlIDxEZWNoby52aW0+IHNjcmlwdCwgYXZhaWxhYmxlIGFzOgogCi0JCWh0dHA6Ly9teXNpdGUudmVyaXpvbi5uZXQvYXN0cm9uYXV0L3ZpbS9pbmRleC5odG1sI3ZpbWxpbmtzX3NjcmlwdHMKLQkJYXMgIkRlY2hvLCBhIHZpbUwgZGVidWdnaW5nIGFpZCIKKwkgICAgIGh0dHA6Ly9teXNpdGUudmVyaXpvbi5uZXQvYXN0cm9uYXV0L3ZpbS9pbmRleC5odG1sI3ZpbWxpbmtzX3NjcmlwdHMKKwkgICAgIGFzICJEZWNobywgYSB2aW1MIGRlYnVnZ2luZyBhaWQiCiAJICAgb3IKLQkJaHR0cDovL3ZpbS5zb3VyY2Vmb3JnZS5uZXQvc2NyaXB0cy9zY3JpcHQucGhwP3NjcmlwdF9pZD0xMjAKKwkgICAgIGh0dHA6Ly92aW0uc291cmNlZm9yZ2UubmV0L3NjcmlwdHMvc2NyaXB0LnBocD9zY3JpcHRfaWQ9MTIwCiAKIAkgICBhbmQgcHV0IGl0IGludG8geW91ciBsb2NhbCBwbHVnaW4gZGlyZWN0b3J5LgogCkBAIC0xMjQwLDYgKzEyNzksMjkgQEAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogMTAuIEhpc3RvcnkJCQkJCQkqbmV0cnctaGlzdG9yeSoKIAorCXY3MjogKiBidWdmaXggLS0gZm9ybWVybHksIG9uZSBjb3VsZCBwcmV2ZW50IHRoZSBsb2FkaW5nIG9mIG5ldHJ3CisJICAgICAgIGJ5ICJsZXQgZzpsb2FkZWRfbmV0cnc9MSI7IHdoZW4gYXV0b2xvYWRpbmcgYmVjYW1lIHN1cHBvcnRlZCwKKwkgICAgICAgdGhpcyBmZWF0dXJlIHdhcyBsb3N0LiAgSXQgaXMgbm93IHJlc3RvcmVkLgorCXY3MTogKiBidWdmaXggLS0gbWFkZSBzb21lICJzZXQgbm9tb2RpZmlhYmxlInMgaW50byBzZXRsb2NhbCB2YXJpYW50cworCSAgICAgICAoYWxsb3dzIDplIHNvbWVuZXdmaWxlICB0byBiZSBtb2RpZmlhYmxlIGFzIHVzdWFsKQorCSAgICAgKiBOZXRyd1NldHRpbmdzIGNhbGxzIGEgbmV0cncgZnVuY3Rpb24sIHRoZXJlYnkgYXNzdXJpbmcgdGhhdAorCSAgICAgICBuZXRydyBoYXMgbG9hZGVkLiAgSG93ZXZlciwgaWYgbmV0cncgZG9lcyBub3QgbG9hZCBmb3Igd2hhdGV2ZXIKKwkgICAgICAgcmVhc29uLCB0aGVuIE5ldHJ3U2V0dGluZ3Mgd2lsbCBub3cgaXNzdWUgYSB3YXJuaW5nIG1lc3NhZ2UuCisJICAgICAqIEZvciB3aGF0IHJlYXNvbiBJIGRvbid0IHJlY2FsbCwgd2hlbiB3Z2V0IGFuZCBmZXRjaCBhcmUgYm90aAorCSAgICAgICBub3QgcHJlc2VudCwgYW5kIGFuIGF0dGVtcHQgdG8gcmVhZCBhIGh0dHA6Ly8uLi4gdXJsIGlzIG1hZGUsCisJICAgICAgIG5ldHJ3IGV4aXRlZC4gIEl0IG5vdyBvbmx5IHJldHVybnMuCisJICAgICAqIFdoZW4gY2g9MSwgb24gdGhlIHNlY29uZCBhbmQgc3Vic2VxdWVudCB1c2VzIG9mIGJyb3dzaW5nIE5ldHJ3CisJICAgICAgIHdvdWxkIGlzc3VlIGEgYmxhbmsgbGluZSB0byBjbGVhciB0aGUgZWNobydkIG1lc3NhZ2VzLiAgVGhpcworCSAgICAgICBjYXVzZWQgYW4gYW5ub3lpbmcgIkhpdC1FbnRlciIgcHJvbXB0OyBub3cgYSBibGFuayBsaW5lIG1lc3NhZ2UKKwkgICAgICAgaXMgZWNobydkIG9ubHkgaWYgJmNoPjEuCisJdjcwOiAqIHdoZW4gdXNpbmcgfG5ldHJ3LU98LCB0aGUgIk9idGFpbmluZyBmaWxlbmFtZSIgbWVzc2FnZSBpcyBub3cKKwkgICAgICAgc2hvd24gdXNpbmcgfGhsLVVzZXI5fC4gIElmIFVzZXI5IGhhcyBub3QgYmVlbiBkZWZpbmVkLCBuZXRydworCSAgICAgICB3aWxsIGRlZmluZSBpdC4KKwl2Njk6ICogQnVnZml4OiB3aW45NS85OCBtYWNoaW5lcyB3ZXJlIGV4cGVyaWVuY2luZyBhCisJICAgICAgICJFMTIxOiBVbmRlZmluZWQgdmFyaWFibGU6IGc6bmV0cndfd2luOTVmdHAiIG1lc3NhZ2UKKwl2Njg6ICogZG91YmxlLWNsaWNrLWxlZnRtb3VzZSBzZWxlY3RzIHdvcmQgdW5kZXIgbW91c2UKKwl2Njc6ICogUGFzc3dvcmRzIHdoaWNoIGNvbnRhaW4gYmxhbmtzIHdpbGwgbm93IGJlIHN1cnJvdW5kZWQgYnkKKwkgICAgICAgZG91YmxlLXF1b3RlcyBhdXRvbWF0aWNhbGx5IChZb25nd2VpKQogCXY2NjogKiBOZXRydyBub3cgc2VlbXMgdG8gd29yayB3aXRoIGEgZmV3IG1vcmUgV2luZG93cyBzaXR1YXRpb25zCiAJICAgICAqIE8gbm93IG9idGFpbnMgYSBmaWxlOiByZW1vdGUgYnJvd3NpbmcgZmlsZSAtPiBsb2NhbCBjb3B5LAogCSAgICAgICBsb2NhbGx5IGJyb3dzaW5nIGZpbGUgLT4gY3VycmVudCBkaXJlY3RvcnkgKHNlZSA6cHdkKQpAQCAtMTM5Niw3ICsxNDU4LDcgQEAKIAlWaW0gZWRpdG9yCWJ5IEJyYW0gTW9vbGVuYWFyIChUaGFua3MsIEJyYW0hKQogCWRhdgkJc3VwcG9ydCBieSBDIENhbXBiZWxsCiAJZmV0Y2gJCXN1cHBvcnQgYnkgQnJhbSBNb29sZW5hYXIgYW5kIEMgQ2FtcGJlbGwKLQlmdHAJCXN1cHBvcnQgYnkgQyBDYW1wYmVsbCA8TmRyT2NoaXBAU2NhbXBiZWxsUGZhbWlseS5BYml6TT4gLSBOT1NQQU0KKwlmdHAJCXN1cHBvcnQgYnkgQyBDYW1wYmVsbCA8TmRyT2NoaXBAU2NhbXBiZWxsUGZhbWlseS5BYml6TT4KIAlodHRwCQlzdXBwb3J0IGJ5IEJyYW0gTW9vbGVuYWFyIDxicmFtQG1vb2xlbmFhci5uZXQ+CiAJcmNwCiAJcnN5bmMJCXN1cHBvcnQgYnkgQyBDYW1wYmVsbCAoc3VnZ2VzdGVkIGJ5IEVyaWsgV2FyZW5kb3JwaCkKQEAgLTE0MDYsMTEgKzE0NjgsMTMgQEAKIAlpbnB1dHNlY3JldCgpLCBCdWZSZWFkQ21kLCBCdWZXcml0ZUNtZCBjb250cmlidXRlZCBieSBDIENhbXBiZWxsCiAKIAlKw6lyw7RtZSBBdWfDqQkJLS0gYWxzbyB1c2luZyBuZXcgYnVmZmVyIG1ldGhvZCB3aXRoIGZ0cCsubmV0cmMKLQlCcmFtIE1vb2xlbmFhcgkJLS0gb2J2aW91c2x5IHZpbSBpdHNlbGYsIDplIGFuZCB2OmNtZGFyZyB1c2UsIGZldGNoLC4uLgorCUJyYW0gTW9vbGVuYWFyCQktLSBvYnZpb3VzbHkgdmltIGl0c2VsZiwgOmUgYW5kIHY6Y21kYXJnIHVzZSwKKwkgICAgICAgICAgICAgICAgICAgICAgICAgICBmZXRjaCwuLi4KIAlZYXN1aGlybyBNYXRzdW1vdG8JLS0gcG9pbnRpbmcgb3V0IHVuZG8rMHIgcHJvYmxlbSBhbmQgYSBzb2x1dGlvbgogCUVyaWsgV2FyZW5kb3JwaAkJLS0gZm9yIHNldmVyYWwgc3VnZ2VzdGlvbnMgKGc6bmV0cndfLi4uX2NtZAogCQkJCSAgIHZhcmlhYmxlcywgcnN5bmMgZXRjKQotCURvdWcgQ2xhYXIJCS0tIG1vZGlmaWNhdGlvbnMgdG8gdGVzdCBmb3Igc3VjY2VzcyB3aXRoIGZ0cCBvcGVyYXRpb24KKwlEb3VnIENsYWFyCQktLSBtb2RpZmljYXRpb25zIHRvIHRlc3QgZm9yIHN1Y2Nlc3Mgd2l0aCBmdHAKKwkgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRpb24KIAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgdmltOnR3PTc4OnRzPTg6ZnQ9aGVscDpub3JsOmZkbT1tYXJrZXIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3F1aWNrZml4LnR4dCBiL3J1bnRpbWUvZG9jL3F1aWNrZml4LnR4dAppbmRleCAyYTE0OGJkLi4wMDQ5YTU0IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9xdWlja2ZpeC50eHQKKysrIGIvcnVudGltZS9kb2MvcXVpY2tmaXgudHh0CkBAIC0xLDQgKzEsNCBAQAotKnF1aWNrZml4LnR4dCogIEZvciBWaW0gdmVyc2lvbiA3LjBhYS4gIExhc3QgY2hhbmdlOiAyMDA1IEF1ZyAzMQorKnF1aWNrZml4LnR4dCogIEZvciBWaW0gdmVyc2lvbiA3LjBhYS4gIExhc3QgY2hhbmdlOiAyMDA1IFNlcCAyNwogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtNjM1LDcgKzYzNSw3IEBACiBleHBhbmRlZCB0byB0aGUgaG9tZSBkaXJlY3RvcnkgYW5kIGVudmlyb25tZW50IHZhcmlhYmxlcyBhcmUgZXhwYW5kZWQuCiAKIFRoZSAiJWYiIGFuZCAiJW0iIGNvbnZlcnNpb25zIGhhdmUgdG8gZGV0ZWN0IHRoZSBlbmQgb2YgdGhlIHN0cmluZy4gIFRoaXMKLW5vcm1hbGx5IGhhcHBlbnMgYnkgbWF0Y2hpbmcgZm9sbG93aW5nIGNoYXJhY3RlcnMgYW5kIGl0ZW1zLiAgV2hlbiBub2h0aW5nIGlzCitub3JtYWxseSBoYXBwZW5zIGJ5IG1hdGNoaW5nIGZvbGxvd2luZyBjaGFyYWN0ZXJzIGFuZCBpdGVtcy4gIFdoZW4gbm90aGluZyBpcwogZm9sbG93aW5nIHRoZSByZXN0IG9mIHRoZSBsaW5lIGlzIG1hdGNoZWQuICBJZiAiJWYiIGlzIGZvbGxvd2VkIGJ5IGEgJyUnIG9yIGEKIGJhY2tzbGFzaCwgaXQgd2lsbCBsb29rIGZvciBhIHNlcXVlbmNlIG9mICdpc2ZuYW1lJyBjaGFyYWN0ZXJzLgogCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9zeW50YXgudHh0IGIvcnVudGltZS9kb2Mvc3ludGF4LnR4dAppbmRleCAyYTEyODk0Li4wMjFhMTU4IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9zeW50YXgudHh0CisrKyBiL3J1bnRpbWUvZG9jL3N5bnRheC50eHQKQEAgLTEsNCArMSw0IEBACi0qc3ludGF4LnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMGFhLiAgTGFzdCBjaGFuZ2U6IDIwMDUgU2VwIDEzCisqc3ludGF4LnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMGFhLiAgTGFzdCBjaGFuZ2U6IDIwMDUgU2VwIDI3CiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMCSAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTM1NjIsNyArMzU2Miw3IEBACiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIDExLiBMaXN0aW5nIHN5bnRheCBpdGVtcwkJKjpzeW50YXgqICo6c3kqICo6c3luKiAqOnN5bi1saXN0KgogCi1UaGlzIGNvbW1hbmRzIGxpc3RzIGFsbCB0aGUgc3ludGF4IGl0ZW1zOiA+CitUaGlzIGNvbW1hbmQgbGlzdHMgYWxsIHRoZSBzeW50YXggaXRlbXM6ID4KIAogICAgIDpzeVtudGF4XSBbbGlzdF0KIApkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdGFncyBiL3J1bnRpbWUvZG9jL3RhZ3MKaW5kZXggMzZkOWIyMi4uNDRlMTg5YSAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdGFncworKysgYi9ydW50aW1lL2RvYy90YWdzCkBAIC01MDgzLDcgKzUwODMsNiBAQAogZywJbW90aW9uLnR4dAkvKmcsKgogZzAJbW90aW9uLnR4dAkvKmcwKgogZzgJdmFyaW91cy50eHQJLypnOCoKLWc6bmV0cnctYQlwaV9uZXRydy50eHQJLypnOm5ldHJ3LWEqCiBnOm5ldHJ3X2FsdG8JcGlfbmV0cncudHh0CS8qZzpuZXRyd19hbHRvKgogZzpuZXRyd19hbHR2CXBpX25ldHJ3LnR4dAkvKmc6bmV0cndfYWx0dioKIGc6bmV0cndfY3lnd2luCXBpX25ldHJ3LnR4dAkvKmc6bmV0cndfY3lnd2luKgpAQCAtNTg1Niw2ICs1ODU1LDcgQEAKIG5ldHJ3LVIJcGlfbmV0cncudHh0CS8qbmV0cnctUioKIG5ldHJ3LVMJcGlfbmV0cncudHh0CS8qbmV0cnctUyoKIG5ldHJ3LVUJcGlfbmV0cncudHh0CS8qbmV0cnctVSoKK25ldHJ3LWEJcGlfbmV0cncudHh0CS8qbmV0cnctYSoKIG5ldHJ3LWFjdGl2YXRlCXBpX25ldHJ3LnR4dAkvKm5ldHJ3LWFjdGl2YXRlKgogbmV0cnctYglwaV9uZXRydy50eHQJLypuZXRydy1iKgogbmV0cnctYm9va21hcmsJcGlfbmV0cncudHh0CS8qbmV0cnctYm9va21hcmsqCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy90b2RvLnR4dCBiL3J1bnRpbWUvZG9jL3RvZG8udHh0CmluZGV4IDg4ZWE1MTcuLmM2MmZiMDUgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3RvZG8udHh0CisrKyBiL3J1bnRpbWUvZG9jL3RvZG8udHh0CkBAIC0xLDQgKzEsNCBAQAotKnRvZG8udHh0KiAgICAgIEZvciBWaW0gdmVyc2lvbiA3LjBhYS4gIExhc3QgY2hhbmdlOiAyMDA1IFNlcCAyNQorKnRvZG8udHh0KiAgICAgIEZvciBWaW0gdmVyc2lvbiA3LjBhYS4gIExhc3QgY2hhbmdlOiAyMDA1IFNlcCAyOQogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTAkgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC0zMSwxNiArMzEsMjAgQEAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tIEtub3duIGJ1Z3MgYW5kIGN1cnJlbnQgd29yayAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiBTcGVsbGluZzoKLS0gU3VnZ2VzdGlvbnMgZm9yICJ0aGUgdGhlIiBpbmNsdWRlcyAidGhlZSB0aGUiIGJ1dCBub3QgInRoZSB0aGVlIj8KIC0gQ1RSTC1YIHMgZG9lc24ndCBjb25zaWRlciAnc3BlbGxjYXBjaGVjaycuCi0tIFNwZWxsYmFkd29yZCgpIHJldHVybnMgYSBsaXN0IHdpdGggYmFkIHdvcmQgYW5kIHJlYXNvbiBpdCdzIGJhZC4KLSAgVGhpcyBkb2Vzbid0IHdvcmsgd2hlbiBoaWdobGlnaHRpbmcgaXMgdGhlIHNhbWUgZm9yIHNvbWUgbWlzdGFrZXMuCiAtIHNwZWxsc3VnZ2VzdCgpIG5lZWRzIGEgd2F5IHRvIHJlcXVpcmUgYSBjYXBpdGFsLiAgQSBmbGFnIG9yIGNvbnRleHQ/CistIFVzZSBtb3JlIHBob25ldC5kYXQgZmlsZXMgZnJvbSBBc3BlbGwuICBlbiBhbmQgZGUgYXJlIGRvbmUuCisgICAgZnRwLmdudS5vcmcvZ251L2FzcGVsbC9kaWN0CiAKIFdpbjMyOiBDb21wb3NpbmcgY2hhciBhcHBlYXJzIG9uIG5leHQgcG9zaXRpb24uIChUb255IE1lY2hlbHluY2spCiAKK0luY2x1ZGUgY2hlY2sgaW4gc2V0X251bV9vcHRpb24oKSBmb3IgJ2NvbHVtbnMnIGFuZCAnbGluZXMnIGluIFZpbSA2LjM/CisKIFN1cHBvcnQgc3ViZGlyZWN0b3JpZXMgaW4gcGx1Z2luIGRpcmVjdG9yeT8gIChOaWtvbGFpIFdlaWJ1bGwpCiAKK1doZW4gc2Nyb2xsaW5nIHN0YXJ0cywgcmVtZW1iZXIgd2hhdCBzY3JpcHQvbGluZSBjYXVzZWQgdGhpcywgc28gdGhhdCB3ZSBrbm93Cit3aGF0IGNhdXNlZCB0aGUgaGl0LWVudGVyIHByb21wdD8gIChDaGFybGVzIENhbXBiZWxsKQorCiBDaGFuZ2UgJ2luY2x1ZGUnIHNvIHRoYXQgaXQgY2FuIG1hdGNoIHRoZSBmaWxlIG5hbWUgd2hlbiBcenMgYW5kIFx6ZSBhcmUKIGluY2x1ZGVkLiAoZG9jcyBhbHJlYWR5IGRvbmUgdGVudGF0aXZlbHkpLgogCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy92ZXJzaW9uNy50eHQgYi9ydW50aW1lL2RvYy92ZXJzaW9uNy50eHQKaW5kZXggYjc3NTMwYS4uNzgyMTcxZiAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdmVyc2lvbjcudHh0CisrKyBiL3J1bnRpbWUvZG9jL3ZlcnNpb243LnR4dApAQCAtMSw0ICsxLDQgQEAKLSp2ZXJzaW9uNy50eHQqICBGb3IgVmltIHZlcnNpb24gNy4wYWEuICBMYXN0IGNoYW5nZTogMjAwNSBTZXAgMjMKKyp2ZXJzaW9uNy50eHQqICBGb3IgVmltIHZlcnNpb24gNy4wYWEuICBMYXN0IGNoYW5nZTogMjAwNSBTZXAgMjkKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTc0Nyw3ICs3NDcsNyBAQAogYmVlbiBhZGRlZCB0byB8OnN1YnN0aXR1dGV8LiAgU2VlIHxjb3VudC1pdGVtc3wuCiAKIFRoZSAic2NyZWVuLmxpbnV4IiAkVEVSTSBuYW1lIGlzIHJlY29nbml6ZWQgdG8gc2V0IHRoZSBkZWZhdWx0IGZvcgotJ2JhY2tncm91bmQnIHRvICJkYXJrIi4gKENpYXJhbiBNY0NyZWVzaCkgIEFsc28gZm9yICJjeWd3aW4iLgorJ2JhY2tncm91bmQnIHRvICJkYXJrIi4gKENpYXJhbiBNY0NyZWVzaCkgIEFsc28gZm9yICJjeWd3aW4iIGFuZCAicHV0dHkiLgogCiBUaGUgfEZpbGVDaGFuZ2VkU2hlbGx8IGF1dG9jb21tYW5kIGV2ZW50IGNhbiBub3cgdXNlIHRoZSB8djpmY3NfcmVhc29ufAogdmFyaWFibGUgdGhhdCBzcGVjaWZpZXMgd2hhdCB0cmlnZ2VyZWQgdGhlIGV2ZW50LiAgfHY6ZmNzX2Nob2ljZXwgY2FuIGJlIHVzZWQKQEAgLTEzNzUsNCArMTM3NSw4IEBACiAiZEZ4ZDsiIGRlbGV0ZWQgdGhlIGNoYXJhY3RlciB1bmRlciB0aGUgY3Vyc29yLCAiZDsiIGRpZG4ndCByZW1lbWJlciB0aGUKIGV4Y2x1c2l2ZW5lc3Mgb2YgdGhlIG1vdGlvbi4KIAorTGltaXQgdGhlIHZhbHVlcyBvZiAnY29sdW1ucycgYW5kICdsaW5lcycgdG8gYXZvaWQgYW4gb3ZlcmZsb3cgaW4gUm93cyAqCitDb2x1bW5zLiAgRml4ZWQgYmFkIGVmZmVjdHMgd2hlbiBydW5uaW5nIG91dCBvZiBtZW1vcnkgKGNvbW1hbmQgbGluZSB3b3VsZCBiZQorcmV2ZXJzZWQsICI6cWEhIiByZXN1bHRlZCBpbiAiOiFhcSIpLgorCiAgdmltOnR3PTc4OnRzPTg6ZnQ9aGVscDpub3JsOgpkaWZmIC0tZ2l0IGEvcnVudGltZS9wbHVnaW4vbmV0cndQbHVnaW4udmltIGIvcnVudGltZS9wbHVnaW4vbmV0cndQbHVnaW4udmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJjZGZhMmYKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3BsdWdpbi9uZXRyd1BsdWdpbi52aW0KQEAgLTAsMCArMSwxNDcgQEAKKyIgbmV0cndQbHVnaW4udmltOiBIYW5kbGVzIGZpbGUgdHJhbnNmZXIgYW5kIHJlbW90ZSBkaXJlY3RvcnkgbGlzdGluZyBhY3Jvc3MgYSBuZXR3b3JrCisiICAgICAgICAgICAgUExVR0lOIFBPUlRJT04KKyIgRGF0ZToJCVNlcCAwOCwgMjAwNQorIiBNYWludGFpbmVyOglDaGFybGVzIEUgQ2FtcGJlbGwsIEpyIDxkcmNoaXBOT1NQQU0gYXQgY2FtcGJlbGxmYW1pbHkgZG90IGJpej4KKyIgTGljZW5zZToJVmltIExpY2Vuc2UgIChzZWUgdmltJ3MgOmhlbHAgbGljZW5zZSkKKyIgR2V0TGF0ZXN0VmltU2NyaXB0czogMTA3NSAxIDpBdXRvSW5zdGFsbDogbmV0cncudmltCisiIENvcHlyaWdodDogICAgQ29weXJpZ2h0IChDKSAxOTk5LTIwMDUgQ2hhcmxlcyBFLiBDYW1wYmVsbCwgSnIuIHt7ezEKKyIgICAgICAgICAgICAgICBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkIHRvIHVzZSBhbmQgZGlzdHJpYnV0ZSB0aGlzIGNvZGUsCisiICAgICAgICAgICAgICAgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbnMsIHByb3ZpZGVkIHRoYXQgdGhpcyBjb3B5cmlnaHQKKyIgICAgICAgICAgICAgICBub3RpY2UgaXMgY29waWVkIHdpdGggaXQuIExpa2UgYW55dGhpbmcgZWxzZSB0aGF0J3MgZnJlZSwKKyIgICAgICAgICAgICAgICBuZXRydy52aW0sIG5ldHJ3UGx1Z2luLnZpbSwgYW5kIG5ldHJ3U2V0dGluZ3MudmltIGFyZSBwcm92aWRlZAorIiAgICAgICAgICAgICAgICphcyBpcyogYW5kIGNvbWVzIHdpdGggbm8gd2FycmFudHkgb2YgYW55IGtpbmQsIGVpdGhlcgorIiAgICAgICAgICAgICAgIGV4cHJlc3NlZCBvciBpbXBsaWVkLiBCeSB1c2luZyB0aGlzIHBsdWdpbiwgeW91IGFncmVlIHRoYXQKKyIgICAgICAgICAgICAgICBpbiBubyBldmVudCB3aWxsIHRoZSBjb3B5cmlnaHQgaG9sZGVyIGJlIGxpYWJsZSBmb3IgYW55IGRhbWFnZXMKKyIgICAgICAgICAgICAgICByZXN1bHRpbmcgZnJvbSB0aGUgdXNlIG9mIHRoaXMgc29mdHdhcmUuCisiCisiICBCdXQgYmUgZG9lcnMgb2YgdGhlIFdvcmQsIGFuZCBub3Qgb25seSBoZWFyZXJzLCBkZWx1ZGluZyB5b3VyIG93biBzZWx2ZXMge3t7MQorIiAgKEphbWVzIDE6MjIgUlNWKQorIiA9LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS0KKworIiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyIgTG9hZCBPbmNlOiB7e3sxCitpZiBleGlzdHMoImc6bG9hZGVkX25ldHJ3IikKKyBmaW5pc2gKK2VuZGlmCitsZXQgczprZWVwY3BvPSAmY3BvCitzZXQgY3BvJnZpbQorCisiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIiBQdWJsaWMgSW50ZXJmYWNlOiB7e3sxCisKKyIgTG9jYWwgQnJvd3Npbmc6IHt7ezIKK2F1Z3JvdXAgRmlsZUV4cGxvcmVyCisgYXUhCisgYXUgQnVmRW50ZXIgKiBjYWxsIHM6TG9jYWxCcm93c2UoZXhwYW5kKCI8YW1hdGNoPiIpKQorYXVncm91cCBFTkQKKworIiBOZXR3b3JrIEJyb3dzaW5nIFJlYWRpbmcgV3JpdGluZzoge3t7MgorYXVncm91cCBOZXR3b3JrCisgYXUhCisgaWYgaGFzKCJ3aW4zMiIpIHx8IGhhcygid2luOTUiKSB8fCBoYXMoIndpbjY0IikgfHwgaGFzKCJ3aW4xNiIpCisgIGF1IEJ1ZlJlYWRDbWQgIGZpbGU6Ly8qCQlleGUgInNpbGVudCBkb2F1IEJ1ZlJlYWRQcmUgIi5leHBhbmQoIjxhbWF0Y2g+Iil8ZXhlICdlICcuc3Vic3RpdHV0ZShleHBhbmQoIjxhbWF0Y2g+IiksImZpbGU6LyoiLCIiLCIiKXxleGUgInNpbGVudCBkb2F1IEJ1ZlJlYWRQb3N0ICIuZXhwYW5kKCI8YW1hdGNoPiIpCisgZWxzZQorICBhdSBCdWZSZWFkQ21kICBmaWxlOi8vLyoJCWV4ZSAic2lsZW50IGRvYXUgQnVmUmVhZFByZSAiLmV4cGFuZCgiPGFtYXRjaD4iKXxleGUgJ2UgLycuc3Vic3RpdHV0ZShleHBhbmQoIjxhbWF0Y2g+IiksImZpbGU6LyoiLCIiLCIiKXxleGUgInNpbGVudCBkb2F1IEJ1ZlJlYWRQb3N0ICIuZXhwYW5kKCI8YW1hdGNoPiIpCisgIGF1IEJ1ZlJlYWRDbWQgIGZpbGU6Ly9sb2NhbGhvc3QvKglleGUgInNpbGVudCBkb2F1IEJ1ZlJlYWRQcmUgIi5leHBhbmQoIjxhbWF0Y2g+Iil8ZXhlICdlIC8nLnN1YnN0aXR1dGUoZXhwYW5kKCI8YW1hdGNoPiIpLCJmaWxlOi8qIiwiIiwiIil8ZXhlICJzaWxlbnQgZG9hdSBCdWZSZWFkUG9zdCAiLmV4cGFuZCgiPGFtYXRjaD4iKQorIGVuZGlmCisgYXUgQnVmUmVhZENtZCAgIGZ0cDovLyoscmNwOi8vKixzY3A6Ly8qLGh0dHA6Ly8qLGRhdjovLyoscnN5bmM6Ly8qLHNmdHA6Ly8qCWV4ZSAic2lsZW50IGRvYXUgQnVmUmVhZFByZSAiLmV4cGFuZCgiPGFtYXRjaD4iKXxleGUgIk5yZWFkIDByICIuZXhwYW5kKCI8YW1hdGNoPiIpfGV4ZSAic2lsZW50IGRvYXUgQnVmUmVhZFBvc3QgIi5leHBhbmQoIjxhbWF0Y2g+IikKKyBhdSBGaWxlUmVhZENtZCAgZnRwOi8vKixyY3A6Ly8qLHNjcDovLyosaHR0cDovLyosZGF2Oi8vKixyc3luYzovLyosc2Z0cDovLyoJZXhlICJzaWxlbnQgZG9hdSBCdWZSZWFkUHJlICIuZXhwYW5kKCI8YW1hdGNoPiIpfGV4ZSAiTnJlYWQgIiAgIC5leHBhbmQoIjxhbWF0Y2g+Iil8ZXhlICJzaWxlbnQgZG9hdSBGaWxlUmVhZFBvc3QgIi5leHBhbmQoIjxhbWF0Y2g+IikKKyBhdSBCdWZXcml0ZUNtZCAgZnRwOi8vKixyY3A6Ly8qLHNjcDovLyosZGF2Oi8vKixyc3luYzovLyosc2Z0cDovLyogICAgCWV4ZSAic2lsZW50IGRvYXUgQnVmV3JpdGVQcmUgIi5leHBhbmQoIjxhbWF0Y2g+Iil8ZXhlICJOd3JpdGUgIiAuZXhwYW5kKCI8YW1hdGNoPiIpfGV4ZSAic2lsZW50IGRvYXUgQnVmV3JpdGVQb3N0ICIuZXhwYW5kKCI8YW1hdGNoPiIpCisgYXUgRmlsZVdyaXRlQ21kIGZ0cDovLyoscmNwOi8vKixzY3A6Ly8qLGRhdjovLyoscnN5bmM6Ly8qLHNmdHA6Ly8qICAgIAlleGUgInNpbGVudCBkb2F1IEJ1ZldyaXRlUHJlICIuZXhwYW5kKCI8YW1hdGNoPiIpfGV4ZSAiJ1ssJ11Od3JpdGUgIiAuZXhwYW5kKCI8YW1hdGNoPiIpfGV4ZSAic2lsZW50IGRvYXUgRmlsZVdyaXRlUG9zdCAiLmV4cGFuZCgiPGFtYXRjaD4iKQorYXVncm91cCBFTkQKKworIiBDb21tYW5kczogOk5yZWFkLCA6TndyaXRlLCA6TmV0VXNlclBhc3Mge3t7MgorY29tISAtbmFyZ3M9KgkJTnJlYWQJCWNhbGwgbmV0cncjTmV0U2F2ZVBvc24oKTxiYXI+Y2FsbCBuZXRydyNOZXRSZWFkKDxmLWFyZ3M+KTxiYXI+Y2FsbCBuZXRydyNOZXRSZXN0b3JlUG9zbigpCitjb20hIC1yYW5nZT0lIC1uYXJncz0qCU53cml0ZQkJY2FsbCBuZXRydyNOZXRTYXZlUG9zbigpPGJhcj48bGluZTE+LDxsaW5lMj5jYWxsIG5ldHJ3I05ldFdyaXRlKDxmLWFyZ3M+KTxiYXI+Y2FsbCBuZXRydyNOZXRSZXN0b3JlUG9zbigpCitjb20hIC1uYXJncz0qCQlOZXRVc2VyUGFzcwljYWxsIE5ldFVzZXJQYXNzKDxmLWFyZ3M+KQorCisiIENvbW1hbmRzOiA6RXhwbG9yZSwgOlNleHBsb3JlLCBIZXhwbG9yZSwgVmV4cGxvcmUge3t7MgorY29tISAtbmFyZ3M9PyAtYmFyIC1iYW5nIC1jb3VudD0wICAJRXhwbG9yZQkJY2FsbCBuZXRydyNFeHBsb3JlKDxjb3VudD4sMCwwKzxiYW5nPjAsPHEtYXJncz4pCitjb20hIC1uYXJncz0/IC1iYXIgLWJhbmcgLWNvdW50PTAgIAlTZXhwbG9yZQljYWxsIG5ldHJ3I0V4cGxvcmUoPGNvdW50PiwxLDArPGJhbmc+MCw8cS1hcmdzPikKK2NvbSEgLW5hcmdzPT8gLWJhciAtYmFuZyAtY291bnQ9MCAgCUhleHBsb3JlCWNhbGwgbmV0cncjRXhwbG9yZSg8Y291bnQ+LDEsMis8YmFuZz4wLDxxLWFyZ3M+KQorY29tISAtbmFyZ3M9PyAtYmFyIC1iYW5nIC1jb3VudD0wICAJVmV4cGxvcmUJY2FsbCBuZXRydyNFeHBsb3JlKDxjb3VudD4sMSw0KzxiYW5nPjAsPHEtYXJncz4pCitjb20hIC1uYXJncz0/IC1iYXIgLWJhbmcgICAJCU5leHBsb3JlCWNhbGwgbmV0cncjRXhwbG9yZSgtMSwwLDAsPHEtYXJncz4pCitjb20hIC1uYXJncz0/IC1iYXIgLWJhbmcgICAJCVBleHBsb3JlCWNhbGwgbmV0cncjRXhwbG9yZSgtMiwwLDAsPHEtYXJncz4pCisKKyIgQ29tbWFuZHM6IE5ldHJ3U2V0dGluZ3Mge3t7MgorY29tISAtbmFyZ3M9MCBOZXRyd1NldHRpbmdzIDpjYWxsIG5ldHJ3U2V0dGluZ3MjTmV0cndTZXR0aW5ncygpCisKKyIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisiIExvY2FsQnJvd3NlOiB7e3syCitmdW4hIHM6TG9jYWxCcm93c2UoZGlybmFtZSkKKyAgIiB1bmZvcnR1bmF0ZSBpbnRlcmFjdGlvbiAtLSBkZWJ1Z2dpbmcgY2FsbHMgY2FuJ3QgYmUgdXNlZCBoZXJlOworICAiIHRoZSBCdWZFbnRlciBldmVudCBjYXVzZXMgdHJpZ2dlcmluZyB3aGVuIGF0dGVtcHRzIHRvIHdyaXRlIHRvCisgICIgdGhlIERCRyBidWZmZXIgYXJlIG1hZGUuCisgIGlmIGlzZGlyZWN0b3J5KGE6ZGlybmFtZSkKKyAgIGNhbGwgbmV0cncjRGlyQnJvd3NlKGE6ZGlybmFtZSkKKyAgZW5kaWYKKyAgIiBub3QgYSBkaXJlY3RvcnksIGlnbm9yZSBpdAorZW5kZnVuCisKKyIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisiIE5ldHJ3U3RhdHVzTGluZToge3t7MQorZnVuISBOZXRyd1N0YXR1c0xpbmUoKQorIiAgbGV0IGc6c3RsbXNnPSAiWGJ1Zm5yPSIudzpuZXRyd19leHBsb3JlX2J1Zm5yLiIgYnVmbnI9Ii5idWZucigiLiIpLiIgWGxpbmUjIi53Om5ldHJ3X2V4cGxvcmVfbGluZS4iIGxpbmUjIi5saW5lKCIuIikKKyAgaWYgIWV4aXN0cygidzpuZXRyd19leHBsb3JlX2J1Zm5yIikgfHwgdzpuZXRyd19leHBsb3JlX2J1Zm5yICE9IGJ1Zm5yKCIuIikgfHwgIWV4aXN0cygidzpuZXRyd19leHBsb3JlX2xpbmUiKSB8fCB3Om5ldHJ3X2V4cGxvcmVfbGluZSAhPSBsaW5lKCIuIikgfHwgIWV4aXN0cygidzpuZXRyd19leHBsb3JlX2xpc3QiKQorICAgbGV0ICZzdGw9IHM6bmV0cndfZXhwbG9yZV9zdGwKKyAgIGlmIGV4aXN0cygidzpuZXRyd19leHBsb3JlX2J1Zm5yIil8dW5sZXQgdzpuZXRyd19leHBsb3JlX2J1Zm5yfGVuZGlmCisgICBpZiBleGlzdHMoInc6bmV0cndfZXhwbG9yZV9saW5lIil8dW5sZXQgdzpuZXRyd19leHBsb3JlX2xpbmV8ZW5kaWYKKyAgIHJldHVybiAiIgorICBlbHNlCisgICByZXR1cm4gIk1hdGNoICIudzpuZXRyd19leHBsb3JlX210Y2hjbnQuIiBvZiAiLnc6bmV0cndfZXhwbG9yZV9saXN0bGVuCisgIGVuZGlmCitlbmRmdW4KKworIiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyIgTmV0VXNlclBhc3M6IHNldCB1c2VybmFtZSBhbmQgcGFzc3dvcmQgZm9yIHN1YnNlcXVlbnQgZnRwIHRyYW5zZmVyIHt7ezEKKyIgICBVc2FnZTogIDpjYWxsIE5ldFVzZXJQYXNzKCkJCQktLSB3aWxsIHByb21wdCBmb3IgdXNlcmlkIGFuZCBwYXNzd29yZAorIgkgICAgOmNhbGwgTmV0VXNlclBhc3MoInVpZCIpCQktLSB3aWxsIHByb21wdCBmb3IgcGFzc3dvcmQKKyIJICAgIDpjYWxsIE5ldFVzZXJQYXNzKCJ1aWQiLCJwYXNzd29yZCIpIC0tIHNldHMgZ2xvYmFsIHVzZXJpZCBhbmQgcGFzc3dvcmQKK2Z1biEgTmV0VXNlclBhc3MoLi4uKQorCisgIiBnZXQvc2V0IHVzZXJpZAorIGlmIGE6MCA9PSAwCisiICBjYWxsIERmdW5jKCJOZXRVc2VyUGFzcyhhOjA8Ii5hOjAuIj4pIikKKyAgaWYgIWV4aXN0cygiZzpuZXRyd191aWQiKSB8fCBnOm5ldHJ3X3VpZCA9PSAiIgorICAgIiB2aWEgcHJvbXB0CisgICBsZXQgZzpuZXRyd191aWQ9IGlucHV0KCdFbnRlciB1c2VybmFtZTogJykKKyAgZW5kaWYKKyBlbHNlCSIgZnJvbSBjb21tYW5kIGxpbmUKKyIgIGNhbGwgRGZ1bmMoIk5ldFVzZXJQYXNzKGE6MTwiLmE6MS4iPikgeyIpCisgIGxldCBnOm5ldHJ3X3VpZD0gYToxCisgZW5kaWYKKworICIgZ2V0IHBhc3N3b3JkCisgaWYgYTowIDw9IDEgIiB2aWEgcHJvbXB0CisiICBjYWxsIERlY2hvKCJhOjA9Ii5hOjAuIiBjYXNlIDw9MToiKQorICBsZXQgZzpuZXRyd19wYXNzd2Q9IGlucHV0c2VjcmV0KCJFbnRlciBQYXNzd29yZDogIikKKyBlbHNlICIgZnJvbSBjb21tYW5kIGxpbmUKKyIgIGNhbGwgRGVjaG8oImE6MD0iLmE6MC4iIGNhc2UgPjE6IGE6MjwiLmE6Mi4iPiIpCisgIGxldCBnOm5ldHJ3X3Bhc3N3ZD1hOjIKKyBlbmRpZgorIiAgY2FsbCBEcmV0KCJOZXRVc2VyUGFzcyIpCitlbmRmdW4KKworIiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyIgTmV0UmVhZEZpeHVwOiB0aGlzIHNvcnQgb2YgZnVuY3Rpb24gaXMgdHlwaWNhbGx5IHdyaXR0ZW4gYnkgdGhlIHVzZXIge3t7MQorIiAgICAgICAgICAgICAgIHRvIGhhbmRsZSBleHRyYSBqdW5rIHRoYXQgdGhlaXIgc3lzdGVtJ3MgZnRwIGR1bXBzCisiICAgICAgICAgICAgICAgaW50byB0aGUgdHJhbnNmZXIuICBUaGlzIGZ1bmN0aW9uIGlzIHByb3ZpZGVkIGFzIGFuCisiICAgICAgICAgICAgICAgZXhhbXBsZSBhbmQgYXMgYSBmaXggZm9yIGEgV2luZG93cyA5NSBwcm9ibGVtOiBpbiBteQorIiAgICAgICAgICAgICAgIGV4cGVyaWVuY2UsIHdpbjk1J3MgZnRwIGFsd2F5cyBkdW1wZWQgZm91ciBibGFuayBsaW5lcworIiAgICAgICAgICAgICAgIGF0IHRoZSBlbmQgb2YgdGhlIHRyYW5zZmVyLgoraWYgaGFzKCJ3aW45NSIpICYmIGV4aXN0cygiZzpuZXRyd193aW45NWZ0cCIpICYmIGc6bmV0cndfd2luOTVmdHAKKyBmdW4hIE5ldFJlYWRGaXh1cChtZXRob2QsIGxpbmUxLCBsaW5lMikKKyIgICBjYWxsIERmdW5jKCJOZXRSZWFkRml4dXAobWV0aG9kPCIuYTptZXRob2QuIj4gbGluZTE9Ii5hOmxpbmUxLiIgbGluZTI9Ii5hOmxpbmUyLiIpIikKKyAgIGlmIG1ldGhvZCA9PSAzICAgIiBmdHAgKG5vIDwubmV0cmM+KQorICAgIGxldCBmb3VyYmxhbmtsaW5lcz0gbGluZTIgLSAzCisgICAgc2lsZW50IGZvdXJibGFua2xpbmVzLiIsIi5saW5lMi4iZy9eXHMqL2QiCisgICBlbmRpZgorIiAgIGNhbGwgRHJldCgiTmV0UmVhZEZpeHVwIikKKyBlbmRmdW4KK2VuZGlmCisKKyIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisiIE1vZGVsaW5lcyBBbmQgUmVzdG9yYXRpb246IHt7ezEKK2xldCAmY3BvPSBzOmtlZXBjcG8KK3VubGV0IHM6a2VlcGNwbworIiB2aW06dHM9OCBmZG09bWFya2VyCmRpZmYgLS1naXQgYS9ydW50aW1lL3BsdWdpbi9uZXRyd1NldHRpbmdzLnZpbSBiL3J1bnRpbWUvcGx1Z2luL25ldHJ3U2V0dGluZ3MudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY0OTA5NDAKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3BsdWdpbi9uZXRyd1NldHRpbmdzLnZpbQpAQCAtMCwwICsxLDE2MSBAQAorIiBOZXRyd1NldHRpbmdzLnZpbTogbWFrZXMgbmV0cncgc2V0dGluZ3Mgc2ltcGxlcgorIiBEYXRlOgkJU2VwIDE5LCAyMDA1CisiIE1haW50YWluZXI6CUNoYXJsZXMgRSBDYW1wYmVsbCwgSnIgPGRyY2hpcE5PU1BBTSBhdCBjYW1wYmVsbGZhbWlseSBkb3QgYml6PgorIiBWZXJzaW9uOgk0YQlOT1QgUkVMRUFTRUQKKyIgQ29weXJpZ2h0OiAgICBDb3B5cmlnaHQgKEMpIDE5OTktMjAwNSBDaGFybGVzIEUuIENhbXBiZWxsLCBKci4ge3t7MQorIiAgICAgICAgICAgICAgIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQgdG8gdXNlIGFuZCBkaXN0cmlidXRlIHRoaXMgY29kZSwKKyIgICAgICAgICAgICAgICB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9ucywgcHJvdmlkZWQgdGhhdCB0aGlzIGNvcHlyaWdodAorIiAgICAgICAgICAgICAgIG5vdGljZSBpcyBjb3BpZWQgd2l0aCBpdC4gTGlrZSBhbnl0aGluZyBlbHNlIHRoYXQncyBmcmVlLAorIiAgICAgICAgICAgICAgIG5ldHJ3U2V0dGluZ3MudmltIGlzIHByb3ZpZGVkICphcyBpcyogYW5kIGNvbWVzIHdpdGggbm8KKyIgICAgICAgICAgICAgICB3YXJyYW50eSBvZiBhbnkga2luZCwgZWl0aGVyIGV4cHJlc3NlZCBvciBpbXBsaWVkLiBCeSB1c2luZworIiAgICAgICAgICAgICAgIHRoaXMgcGx1Z2luLCB5b3UgYWdyZWUgdGhhdCBpbiBubyBldmVudCB3aWxsIHRoZSBjb3B5cmlnaHQKKyIgICAgICAgICAgICAgICBob2xkZXIgYmUgbGlhYmxlIGZvciBhbnkgZGFtYWdlcyByZXN1bHRpbmcgZnJvbSB0aGUgdXNlCisiICAgICAgICAgICAgICAgb2YgdGhpcyBzb2Z0d2FyZS4KKyIKKyIgTWF0IDQ6MjMgKFdFQikgSmVzdXMgd2VudCBhYm91dCBpbiBhbGwgR2FsaWxlZSwgdGVhY2hpbmcgaW4gdGhlaXIge3t7MQorIiAgICAgICAgICAgICAgICBzeW5hZ29ndWVzLCBwcmVhY2hpbmcgdGhlIGdvc3BlbCBvZiB0aGUga2luZ2RvbSwgYW5kIGhlYWxpbmcKKyIgICAgICAgICAgICAgICAgZXZlcnkgZGlzZWFzZSBhbmQgZXZlcnkgc2lja25lc3MgYW1vbmcgdGhlIHBlb3BsZS4KKyIgTG9hZCBPbmNlOiB7e3sxCitpZiBleGlzdHMoImc6bG9hZGVkX25ldHJ3U2V0dGluZ3MiKSB8fCAmY3AKKyAgZmluaXNoCitlbmRpZgorbGV0IGc6bG9hZGVkX25ldHJ3U2V0dGluZ3MgID0gInY0YSIKKworIiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyIgTmV0cndTZXR0aW5nczoge3t7MQorZnVuISBuZXRyd1NldHRpbmdzI05ldHJ3U2V0dGluZ3MoKQorICAiIHRoaXMgY2FsbCBpcyBoZXJlIGxhcmdlbHkganVzdCB0byBpbnN1cmUgdGhhdCBuZXRydyBoYXMgYmVlbiBsb2FkZWQKKyAgY2FsbCBuZXRydyNOZXRTYXZlUG9zbigpCisgIGlmICFleGlzdHMoImc6bG9hZGVkX25ldHJ3IikKKyAgIGVjaG9obCBXYXJuaW5nTXNnIHwgZWNob21zZyAiKioqc29ycnkqKiogbmV0cncgbmVlZHMgdG8gYmUgbG9hZGVkIHByaW9yIHRvIHVzaW5nIE5ldHJ3U2V0dGluZ3MiIHwgZWNob2hsIE5vbmUKKyAgIHJldHVybgorICBlbmRpZgorCisgIGFib3ZlIHdpbmNtZCBzCisgIGVuZXcKKyAgc2V0bG9jYWwgbm9zd2FwZmlsZSBiaD13aXBlCisgIHNldCBmdD12aW0KKyAgZmlsZSBOZXRyd1wgU2V0dGluZ3MKKworICAiIHRoZXNlIHZhcmlhYmxlcyBoYXZlIHRoZSBmb2xsb3dpbmcgZGVmYXVsdCBlZmZlY3RzIHdoZW4gdGhleSBkb24ndAorICAiIGV4aXN0IChpZS4gaGF2ZSBub3QgYmVlbiBzZXQgYnkgdGhlIHVzZXIgaW4gaGlzL2hlciAudmltcmMpCisgIGlmICFleGlzdHMoImc6bmV0cndfbG9uZ2xpc3QiKQorICAgbGV0IGc6bmV0cndfbG9uZ2xpc3Q9IDAKKyAgIGxldCBnOm5ldHJ3X2xpc3RfY21kPSAic3NoIEhPU1ROQU1FIGxzIC1GTGEiCisgIGVuZGlmCisgIGlmICFleGlzdHMoImc6bmV0cndfc2lsZW50IikKKyAgIGxldCBnOm5ldHJ3X3NpbGVudD0gMAorICBlbmRpZgorICBpZiAhZXhpc3RzKCJnOm5ldHJ3X3VzZV9udF9yY3AiKQorICAgbGV0IGc6bmV0cndfdXNlX250X3JjcD0gMAorICBlbmRpZgorICBpZiAhZXhpc3RzKCJnOm5ldHJ3X2Z0cCIpCisgICBsZXQgZzpuZXRyd19mdHA9IDAKKyAgZW5kaWYKKyAgaWYgIWV4aXN0cygiZzpuZXRyd19pZ25vcmVuZXRyYyIpCisgICBsZXQgZzpuZXRyd19pZ25vcmVuZXRyYz0gMAorICBlbmRpZgorCisgIHB1dCA9JysgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tJworICBwdXQgPScrIE5ldHJ3U2V0dGluZ3M6ICAoYnkgQ2hhcmxlcyBFLiBDYW1wYmVsbCwgSnIuKScKKyAgcHV0ID0nKyAgUHJlc3MgPyB3aXRoIGN1cnNvciBhdG9wIGFueSBsaW5lIGZvciBoZWxwICAnCisgIHB1dCA9JysgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tJworICBsZXQgczpuZXRyd19zZXR0aW5nc19zdG9wPSBsaW5lKCIuIikKKworICBwdXQgPScnCisgIHB1dCA9JysgTmV0cncgUHJvdG9jb2wgQ29tbWFuZHMnCisgIHB1dCA9ICdsZXQgZzpuZXRyd19kYXZfY21kICAgICAgICAgICA9ICcuZzpuZXRyd19kYXZfY21kCisgIHB1dCA9ICdsZXQgZzpuZXRyd19mZXRjaF9jbWQgICAgICAgICA9ICcuZzpuZXRyd19mZXRjaF9jbWQKKyAgcHV0ID0gJ2xldCBnOm5ldHJ3X2Z0cF9jbWQgICAgICAgICAgID0gJy5nOm5ldHJ3X2Z0cF9jbWQKKyAgcHV0ID0gJ2xldCBnOm5ldHJ3X2h0dHBfY21kICAgICAgICAgID0gJy5nOm5ldHJ3X2h0dHBfY21kCisgIHB1dCA9ICdsZXQgZzpuZXRyd19yY3BfY21kICAgICAgICAgICA9ICcuZzpuZXRyd19yY3BfY21kCisgIHB1dCA9ICdsZXQgZzpuZXRyd19yc3luY19jbWQgICAgICAgICA9ICcuZzpuZXRyd19yc3luY19jbWQKKyAgcHV0ID0gJ2xldCBnOm5ldHJ3X3NjcF9jbWQgICAgICAgICAgID0gJy5nOm5ldHJ3X3NjcF9jbWQKKyAgcHV0ID0gJ2xldCBnOm5ldHJ3X3NmdHBfY21kICAgICAgICAgID0gJy5nOm5ldHJ3X3NmdHBfY21kCisgIGxldCBzOm5ldHJ3X3Byb3RvY29sX3N0b3A9IGxpbmUoIi4iKQorICBwdXQgPSAnJworCisgIHB1dCA9JytOZXRydyBUcmFuc2ZlciBDb250cm9sJworICBwdXQgPSAnbGV0IGc6bmV0cndfY3lnd2luICAgICAgICAgICAgPSAnLmc6bmV0cndfY3lnd2luCisgIHB1dCA9ICdsZXQgZzpuZXRyd19mdHAgICAgICAgICAgICAgICA9ICcuZzpuZXRyd19mdHAKKyAgcHV0ID0gJ2xldCBnOm5ldHJ3X2Z0cG1vZGUgICAgICAgICAgID0gJy5nOm5ldHJ3X2Z0cG1vZGUKKyAgcHV0ID0gJ2xldCBnOm5ldHJ3X2lnbm9yZW5ldHJjICAgICAgID0gJy5nOm5ldHJ3X2lnbm9yZW5ldHJjCisgIHB1dCA9ICdsZXQgZzpuZXRyd191c2VfbnRfcmNwICAgICAgICA9ICcuZzpuZXRyd191c2VfbnRfcmNwCisgIHB1dCA9ICdsZXQgZzpuZXRyd193aW45NWZ0cCAgICAgICAgICA9ICcuZzpuZXRyd193aW45NWZ0cAorICBsZXQgczpuZXRyd194ZmVyX3N0b3A9IGxpbmUoIi4iKQorCisgIHB1dCA9ICcnCisgIHB1dCA9JysgTmV0cncgQnJvd3NlciBDb250cm9sJworICBwdXQgPSAnbGV0IGc6bmV0cndfYWx0byAgICAgICAgICAgICAgPSAnLmc6bmV0cndfYWx0bworICBwdXQgPSAnbGV0IGc6bmV0cndfYWx0diAgICAgICAgICAgICAgPSAnLmc6bmV0cndfYWx0dgorICBwdXQgPSAnbGV0IGc6bmV0cndfZGlyaGlzdG1heCAgICAgICAgPSAnLmc6bmV0cndfZGlyaGlzdG1heAorICBwdXQgPSAnbGV0IGc6bmV0cndfZnRwX2Jyb3dzZV9yZWplY3QgPSAnLmc6bmV0cndfZnRwX2Jyb3dzZV9yZWplY3QKKyAgcHV0ID0gJ2xldCBnOm5ldHJ3X2Z0cF9saXN0X2NtZCAgICAgID0gJy5nOm5ldHJ3X2Z0cF9saXN0X2NtZAorICBwdXQgPSAnbGV0IGc6bmV0cndfaGlkZSAgICAgICAgICAgICAgPSAnLmc6bmV0cndfaGlkZQorICBwdXQgPSAnbGV0IGc6bmV0cndfa2VlcGRpciAgICAgICAgICAgPSAnLmc6bmV0cndfa2VlcGRpcgorICBwdXQgPSAnbGV0IGc6bmV0cndfbGlzdF9jbWQgICAgICAgICAgPSAnLmc6bmV0cndfbGlzdF9jbWQKKyAgcHV0ID0gJ2xldCBnOm5ldHJ3X2xpc3RfY21kICAgICAgICAgID0gJy5nOm5ldHJ3X2xpc3RfY21kCisgIHB1dCA9ICdsZXQgZzpuZXRyd19saXN0X2hpZGUgICAgICAgICA9ICcuZzpuZXRyd19saXN0X2hpZGUKKyAgcHV0ID0gJ2xldCBnOm5ldHJ3X2xvY2FsX21rZGlyICAgICAgID0gJy5nOm5ldHJ3X2xvY2FsX21rZGlyCisgIHB1dCA9ICdsZXQgZzpuZXRyd19sb2NhbF9ybWRpciAgICAgICA9ICcuZzpuZXRyd19sb2NhbF9ybWRpcgorICBwdXQgPSAnbGV0IGc6bmV0cndfbG9uZ2xpc3QgICAgICAgICAgPSAnLmc6bmV0cndfbG9uZ2xpc3QKKyAgcHV0ID0gJ2xldCBnOm5ldHJ3X21heGZpbGVuYW1lbGVuICAgID0gJy5nOm5ldHJ3X21heGZpbGVuYW1lbGVuCisgIHB1dCA9ICdsZXQgZzpuZXRyd19ta2Rpcl9jbWQgICAgICAgICA9ICcuZzpuZXRyd19ta2Rpcl9jbWQKKyAgcHV0ID0gJ2xldCBnOm5ldHJ3X3JlbmFtZV9jbWQgICAgICAgID0gJy5nOm5ldHJ3X3JlbmFtZV9jbWQKKyAgcHV0ID0gJ2xldCBnOm5ldHJ3X3JtX2NtZCAgICAgICAgICAgID0gJy5nOm5ldHJ3X3JtX2NtZAorICBwdXQgPSAnbGV0IGc6bmV0cndfcm1kaXJfY21kICAgICAgICAgPSAnLmc6bmV0cndfcm1kaXJfY21kCisgIHB1dCA9ICdsZXQgZzpuZXRyd19ybWZfY21kICAgICAgICAgICA9ICcuZzpuZXRyd19ybWZfY21kCisgIHB1dCA9ICdsZXQgZzpuZXRyd19zaWxlbnQgICAgICAgICAgICA9ICcuZzpuZXRyd19zaWxlbnQKKyAgcHV0ID0gJ2xldCBnOm5ldHJ3X3NvcnRfYnkgICAgICAgICAgID0gJy5nOm5ldHJ3X3NvcnRfYnkKKyAgcHV0ID0gJ2xldCBnOm5ldHJ3X3NvcnRfZGlyZWN0aW9uICAgID0gJy5nOm5ldHJ3X3NvcnRfZGlyZWN0aW9uCisgIHB1dCA9ICdsZXQgZzpuZXRyd19zb3J0X3NlcXVlbmNlICAgICA9ICcuZzpuZXRyd19zb3J0X3NlcXVlbmNlCisgIHB1dCA9ICdsZXQgZzpuZXRyd19zc2hfYnJvd3NlX3JlamVjdCA9ICcuZzpuZXRyd19zc2hfYnJvd3NlX3JlamVjdAorICBwdXQgPSAnbGV0IGc6bmV0cndfdGltZWZtdCAgICAgICAgICAgPSAnLmc6bmV0cndfdGltZWZtdAorICBwdXQgPSAnbGV0IGc6bmV0cndfd2luc2l6ZSAgICAgICAgICAgPSAnLmc6bmV0cndfd2luc2l6ZQorCisgIHB1dCA9JycKKyAgcHV0ID0nKyBGb3IgaGVscCwgcGxhY2UgY3Vyc29yIG9uIGxpbmUgYW5kIHByZXNzID8nCisKKyAgMWQKKyAgc2lsZW50ICVzL14rLyIvZQorICByZXMgOTkKKyAgc2lsZW50ICVzLz0gXChbXjAtOV0uKlwpJC89ICdcMScvZQorICBzaWxlbnQgJXMvPSAkLz0gJycvZQorICAxCisKKyAgc2V0IG5vbW9kCisKKyAgbWFwIDxidWZmZXI+IDxzaWxlbnQ+ID8gOmNhbGwgTmV0cndTZXR0aW5nSGVscCgpPGNyPgorICBsZXQgdG1wZmlsZT0gdGVtcG5hbWUoKQorICBleGUgJ2F1IEJ1ZldyaXRlQ21kCU5ldHJ3XCBTZXR0aW5ncwlzaWxlbnQgdyEgJy50bXBmaWxlLid8c28gJy50bXBmaWxlLid8Y2FsbCBkZWxldGUoIicudG1wZmlsZS4nIil8c2V0IG5vbW9kJworZW5kZnVuCisKKyIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisiIE5ldHJ3U2V0dGluZ0hlbHA6IHt7ezIKK2Z1biEgTmV0cndTZXR0aW5nSGVscCgpCisiICBjYWxsIERmdW5jKCJOZXRyd1NldHRpbmdIZWxwKCkiKQorICBsZXQgY3VybGluZSA9IGdldGxpbmUoIi4iKQorICBpZiBjdXJsaW5lID1+ICc9JworICAgbGV0IHZhcmhlbHAgPSBzdWJzdGl0dXRlKGN1cmxpbmUsJ15ccypsZXQgJywnJywnZScpCisgICBsZXQgdmFyaGVscCA9IHN1YnN0aXR1dGUodmFyaGVscCwnXHMqPS4qJCcsJycsJ2UnKQorIiAgIGNhbGwgRGVjaG8oInRyeWluZyBoZWxwICIudmFyaGVscCkKKyAgIHRyeQorICAgIGV4ZSAiaGUgIi52YXJoZWxwCisgICBjYXRjaCAvXlZpbVwlKChcYVwrKVwpXD06RTE0OS8KKyAgIAllY2hvICIqKipzb3JyeSoqKiBubyBoZWxwIGF2YWlsYWJsZSBmb3IgPCIudmFyaGVscC4iPiIKKyAgIGVuZHRyeQorICBlbHNlaWYgbGluZSgiLiIpIDwgczpuZXRyd19zZXR0aW5nc19zdG9wCisgICBoZSBuZXRydy1zZXR0aW5ncworICBlbHNlaWYgbGluZSgiLiIpIDwgczpuZXRyd19wcm90b2NvbF9zdG9wCisgICBoZSBuZXRydy1leHRlcm5hcHAKKyAgZWxzZWlmIGxpbmUoIi4iKSA8IHM6bmV0cndfeGZlcl9zdG9wCisgICBoZSBuZXRydy12YXJpYWJsZXMKKyAgZWxzZQorICAgaGUgbmV0cnctYnJvd3NlLXZhcgorICBlbmRpZgorIiAgY2FsbCBEcmV0KCJOZXRyd1NldHRpbmdIZWxwIikKK2VuZGZ1bgorCisiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIiBNb2RlbGluZXM6IHt7ezEKKyIgdmltOnRzPTggZmRtPW1hcmtlcgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zcGVsbC9iZy9iZ19CRy5kaWZmIGIvcnVudGltZS9zcGVsbC9iZy9iZ19CRy5kaWZmCmluZGV4IGRhMGE0ZjMuLjNkOWJiOTggMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3BlbGwvYmcvYmdfQkcuZGlmZgorKysgYi9ydW50aW1lL3NwZWxsL2JnL2JnX0JHLmRpZmYKQEAgLTEsNSArMSw1IEBACi0qKiogYmdfQkcub3JpZy5hZmYJU3VuIEF1ZyAxNCAxODoxMjo0NCAyMDA1Ci0tLS0gYmdfQkcuYWZmCVN1biBBdWcgMTQgMTg6MTM6MTIgMjAwNQorKioqIGJnX0JHLm9yaWcuYWZmCVN1biBBdWcgMjggMjE6MzQ6NDQgMjAwNQorLS0tIGJnX0JHLmFmZglTdW4gQXVnIDI4IDIxOjM0OjQ0IDIwMDUKICoqKioqKioqKioqKioqKgogKioqIDEsMiAqKioqCiAhIFNFVCBtaWNyb3NvZnQtY3AxMjUxCmRpZmYgLS1naXQgYS9ydW50aW1lL3NwZWxsL2N5L2N5X0dCLmRpZmYgYi9ydW50aW1lL3NwZWxsL2N5L2N5X0dCLmRpZmYKaW5kZXggNTExZTcxOC4uNzVmM2Y0MiAxMDA2NDQKLS0tIGEvcnVudGltZS9zcGVsbC9jeS9jeV9HQi5kaWZmCisrKyBiL3J1bnRpbWUvc3BlbGwvY3kvY3lfR0IuZGlmZgpAQCAtMSw1ICsxLDUgQEAKLSoqKiBjeV9HQi5vcmlnLmFmZglXZWQgQXVnIDMxIDIxOjQyOjAzIDIwMDUKLS0tLSBjeV9HQi5hZmYJV2VkIEF1ZyAzMSAyMTo0MzoxMCAyMDA1CisqKiogY3lfR0Iub3JpZy5hZmYJV2VkIEF1ZyAzMSAyMTo0NDowMSAyMDA1CistLS0gY3lfR0IuYWZmCVdlZCBBdWcgMzEgMjE6NDQ6MDEgMjAwNQogKioqKioqKioqKioqKioqCiAqKiogODEsODIgKioqKgogLS0tIDgxLDg0IC0tLS0KZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3BlbGwvZGUvZGVfMTkuZGlmZiBiL3J1bnRpbWUvc3BlbGwvZGUvZGVfMTkuZGlmZgppbmRleCA0NDdiYjJmLi40MzQ1OThiIDEwMDY0NAotLS0gYS9ydW50aW1lL3NwZWxsL2RlL2RlXzE5LmRpZmYKKysrIGIvcnVudGltZS9zcGVsbC9kZS9kZV8xOS5kaWZmCkBAIC0xLDE2ICsxLDEzIEBACiAqKiogZGVfMTkub3JpZy5hZmYJVGh1IEF1ZyAyNSAxMToyMjowOCAyMDA1Ci0tLS0gZGVfMTkuYWZmCVRodSBBdWcgMjUgMTE6MjU6MjEgMjAwNQorLS0tIGRlXzE5LmFmZglUaHUgU2VwIDI5IDExOjQzOjQ2IDIwMDUKICoqKioqKioqKioqKioqKgogKioqIDMsNCAqKioqCi0tLS0gMywyNCAtLS0tCistLS0gMywyMSAtLS0tCiAgIAogKyBGT0wgIODh4uPk5ebn6Onq6+zt7u/w8fLz9PX2+Pn6+/z9/t//CiArIExPVyAg4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb4+fr7/P3+3/8KICsgVVBQICDAwcLDxMXGx8jJysvMzc7P0NHS09TV1tjZ2tvc3d7f/wogKyAKLSsgU09GT0ZST00gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWuDh4uPk5ebn6Onq6+zt7u/w8fLz9PX2+Pn6+/z9/t//wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbY2drb3N3evwotKyBTT0ZPVE8gICBlYmN0ZWZnaGVqa2xubmVwa3JzdGV2dmtlc2ViY3RlZmdoZWprbG5uZXBrcnN0ZXZ2a2VzZWVlZWVlZWNlZWVlZWVlZWRuZWVlZWVlZWVlZWVwc2VlZWVlZWVlY2VlZWVlZWVlZG5lZWVlZWVlZWVlZXA/Ci0rIAogKyBNSURXT1JECScKICsgCiArIE1BUCA5CkBAIC0yNSwzICsyMiw0ODIgQEAKICsgTUFQIHPfCiArIAogICAjIChjKSBjb3B5cmlnaHQgYnkgQmpvZXJuIEphY2tlIDxiam9lcm5AajNlLmRlPgorKioqKioqKioqKioqKioqCisqKiogNTYwICoqKioKKy0tLSA1NzcsMTA1MiAtLS0tCisgIAorKyAjICAgR2VybWFuIHBob25ldGljIHRyYW5zZm9ybWF0aW9uIHJ1bGVzIGZyb20gQXNwZWxsCisrICMgICBDb3B5cmlnaHQgKEMpIDIwMDAgQmr2cm4gSmFja2UsIGRpc3RyaWJ1dGVkIHVuZGVyIExHUEwuCisrICMgICBCavZybiBKYWNrZSBtYXkgYmUgcmVhY2hlZCBieSBlbWFpbCBhdCBiam9lcm4uamFja2VAZ214LmRlCisrICMgICBMYXN0IGNoYW5nZWQgMjAwMC0wMS0wNworKyAKKysgU0FMIGZvbGxvd3VwICAgICAgICAxCisrIFNBTCBjb2xsYXBzZV9yZXN1bHQgMQorKyAKKysgU0FMIMRFUi0gICAgICAgICAgICAgICAgIEUKKysgU0FMIMRVPCAgICAgICAgICAgICAgICAgIEVVCisrIFNBTCDEPCAgICAgICAgICAgICAgICAgICBFCisrIFNBTCDJICAgICAgICAgICAgICAgICAgICBFCisrIFNBTCDWRVItICAgICAgICAgICAgICAgICDWCisrIFNBTCDWICAgICAgICAgICAgICAgICAgICDWCisrIFNBTCDcQkVSXl4gICAgICAgICAgICAgICBJUEEKKysgU0FMINxFUi0gICAgICAgICAgICAgICAgIEkKKysgU0FMINwgICAgICAgICAgICAgICAgICAgIEkKKysgU0FMIN8gICAgICAgICAgICAgICAgICAgIFoKKysgU0FMIEFCRUxMRSQgICAgICAgICAgICAgIEFQTAorKyBTQUwgQUJFTEwkICAgICAgICAgICAgICAgQVBMCisrIFNBTCBBQklFTk5FJCAgICAgICAgICAgICBBUElOCisrIFNBTCBBQ0VZJCAgICAgICAgICAgICAgICBBWkkKKysgU0FMIEFFVTwgICAgICAgICAgICAgICAgIEVVCisrIFNBTCBBRTIgICAgICAgICAgICAgICAgICBFCisrIFNBTCBBR05JLV4gICAgICAgICAgICAgICBBS04KKysgU0FMIEFHTklFLSAgICAgICAgICAgICAgIEFOSQorKyBTQUwgQUdOKEFFT1UpLSQgICAgICAgICAgQU5JCisrIFNBTCBBSUEyICAgICAgICAgICAgICAgICBBSUEKKysgU0FMIEFJRSQgICAgICAgICAgICAgICAgIEUKKysgU0FMIEFJTEwoRU9VKS0gICAgICAgICAgIEFMSQorKyBTQUwgQUlORSQgICAgICAgICAgICAgICAgRU4KKysgU0FMIEFJUkUkICAgICAgICAgICAgICAgIEVSCisrIFNBTCBBSVItICAgICAgICAgICAgICAgICBFCisrIFNBTCBBSVNFJCAgICAgICAgICAgICAgICBFWgorKyBTQUwgQUlTU0FOQ0UkICAgICAgICAgICAgRVpBTloKKysgU0FMIEFJU1NFJCAgICAgICAgICAgICAgIEVaCisrIFNBTCBBSVgkICAgICAgICAgICAgICAgICBFWAorKyBTQUwgQUooQcRFSU/WVdwpLS0gICAgICAgQQorKyBTQUwgQUtUSUUgICAgICAgICAgICAgICAgQVhJRQorKyBTQUwgQUxPKElZKV4gICAgICAgICAgICAgQUxVSQorKyBTQUwgQU1BVEVVKFJTKS0gICAgICAgICAgQU5BVNYKKysgU0FMIEFOSUVMTEUkICAgICAgICAgICAgIEFOSUwKKysgU0FMIEFOVEleXiAgICAgICAgICAgICAgIEFOVEkKKysgU0FMIEFOVkVSXl4gICAgICAgICAgICAgIEFORkEKKysgU0FMIEFUSUEkICAgICAgICAgICAgICAgIEFUSUEKKysgU0FMIEFUSUEoTlMpLS0gICAgICAgICAgIEFUSQorKyBTQUwgQVRJKEHET9ZV3CktICAgICAgICAgQVpJCisrIFNBTCBBVUFVLS0gICAgICAgICAgICAgICBfCisrIFNBTCBBVUVSPCAgICAgICAgICAgICAgICBBVUEKKysgU0FMIEFVRl5eICAgICAgICAgICAgICAgIEFVRgorKyBTQUwgQVVMVCQgICAgICAgICAgICAgICAgVQorKyBTQUwgQVVTU0UkICAgICAgICAgICAgICAgVVoKKysgU0FMIEFVUyhTVCktXiAgICAgICAgICAgIEFVWgorKyBTQUwgQVVTXl4gICAgICAgICAgICAgICAgQVVaCisrIFNBTCBBVVRPXl4gICAgICAgICAgICAgICBBVVRVCisrIFNBTCBBVVgoSVkpLSAgICAgICAgICAgICBBVVgKKysgU0FMIEFVWCAgICAgICAgICAgICAgICAgIFUKKysgU0FMIEFVICAgICAgICAgICAgICAgICAgIEFVCisrIFNBTCBBVklFUiQgICAgICAgICAgICAgICBBRklFCisrIFNBTCBBWUVSLS08ICAgICAgICAgICAgICBFSQorKyBTQUwgQVkoQcRFSU/WVdwpLS0gICAgICAgQQorKyBTQUwgQShJSlkpPCAgICAgICAgICAgICAgRUkKKysgU0FMIEEgICAgICAgICAgICAgICAgICAgIEEKKysgU0FMIEJFQShCQ01OUlUpLV4gICAgICAgIFBFQQorKyBTQUwgQkVBVChBRUlNT1JVKS1eICAgICAgUEVBVAorKyBTQUwgQkVJR0VeJCAgICAgICAgICAgICAgUEVaCisrIFNBTCBCRShMTU5SU1QpLV4gICAgICAgICBQRQorKyBTQUwgQkVUVEUkICAgICAgICAgICAgICAgUEVUCisrIFNBTCBCSUMkICAgICAgICAgICAgICAgICBQSVoKKysgU0FMIEJPV0woRUkpLSAgICAgICAgICAgIFBVTAorKyBTQUwgQlAoQcRFSU/WUlXcWSktICAgICAgUAorKyBTQUwgQlVER0VUNyAgICAgICAgICAgICAgUElLRQorKyBTQUwgQlVGRkVUNyAgICAgICAgICAgICAgUElGRQorKyBTQUwgQllMTEUkICAgICAgICAgICAgICAgUElMRQorKyBTQUwgQllMTCQgICAgICAgICAgICAgICAgUElMCisrIFNBTCBCWVRFPCAgICAgICAgICAgICAgICBQRUlUCisrIFNBTCBCICAgICAgICAgICAgICAgICAgICBQCisrIFNBTCBDxC0gICAgICAgICAgICAgICAgICBaCisrIFNBTCBD3CQgICAgICAgICAgICAgICAgICBaSQorKyBTQUwgQ0FDSChFSSktXiAgICAgICAgICAgS0VaCisrIFNBTCBDQUUtLSAgICAgICAgICAgICAgICBaCisrIFNBTCBDQShJWSkkICAgICAgICAgICAgICBaRUkKKysgU0FMIENDSCAgICAgICAgICAgICAgICAgIFoKKysgU0FMIENDRS0gICAgICAgICAgICAgICAgIFgKKysgU0FMIENFKEVJSlVZKS0tICAgICAgICAgIFoKKysgU0FMIENFTlQ8ICAgICAgICAgICAgICAgIFpFTlQKKysgU0FMIENFUlNUKEVJKS0tLS1eICAgICAgIEtFCisrIFNBTCBDRVIkICAgICAgICAgICAgICAgICBaQQorKyBTQUwgQ0UzICAgICAgICAgICAgICAgICAgWkUKKysgU0FMIENIQU8oU1QpLSAgICAgICAgICAgIEtBVQorKyBTQUwgQ0hBTVBJTy1eICAgICAgICAgICAgWkVOUEkKKysgU0FMIENIQVIoQUkpLV4gICAgICAgICAgIEtBUgorKyBTQUwgQ0hBVShDREZTVldYWiktICAgICAgWlUKKysgU0FMIENIRShDRiktICAgICAgICAgICAgIFpFCisrIFNBTCBDSEVNLV4gICAgICAgICAgICAgICBLRQorKyBTQUwgQ0hFUVVFPCAgICAgICAgICAgICAgWkVLCisrIFNBTCBDSEkoQ0ZHUFZXKS0gICAgICAgICBaSQorKyBTQUwgQ0goQUVVWSktPF4gICAgICAgICAgWgorKyBTQUwgQ0hLLSAgICAgICAgICAgICAgICAgXworKyBTQUwgQ0goTE9SKS08XiAgICAgICAgICAgSworKyBTQUwgQ0hTVC0gICAgICAgICAgICAgICAgWAorKyBTQUwgQ0goU99YWikzICAgICAgICAgICAgWAorKyBTQUwgQ0ggICAgICAgICAgICAgICAgICAgSworKyBTQUwgQ0lFUiQgICAgICAgICAgICAgICAgWklFCisrIFNBTCBDWUItXiAgICAgICAgICAgICAgICBaRUkKKysgU0FMIENZOV4gICAgICAgICAgICAgICAgIFpJCisrIFNBTCBDKElKWSktMyAgICAgICAgICAgICBaCisrIFNBTCBDS1NUICAgICAgICAgICAgICAgICBYVAorKyBTQUwgQ0soU99YWikzICAgICAgICAgICAgWAorKyBTQUwgQyhDSyktICAgICAgICAgICAgICAgXworKyBTQUwgQ0xBVURFVC0tLSAgICAgICAgICAgS0xVCisrIFNBTCBDTEFVRElORV4kICAgICAgICAgICBLTFVUSU4KKysgU0FMIENPTEUkICAgICAgICAgICAgICAgIEtVTAorKyBTQUwgQ09VQ0ggICAgICAgICAgICAgICAgS0FVWgorKyBTQUwgQ1FVRVMkICAgICAgICAgICAgICAgSworKyBTQUwgQ1FVRSAgICAgICAgICAgICAgICAgSworKyBTQUwgQ1JFQVQtXiAgICAgICAgICAgICAgS1JFQQorKyBTQUwgQ1NUICAgICAgICAgICAgICAgICAgWFQKKysgU0FMIENTPF4gICAgICAgICAgICAgICAgIFoKKysgU0FMIEMoU99YKSAgICAgICAgICAgICAgIFgKKysgU0FMIENUKFPfWFopICAgICAgICAgICAgIFgKKysgU0FMIENaPCAgICAgICAgICAgICAgICAgIFoKKysgU0FMIEM8ICAgICAgICAgICAgICAgICAgIEsKKysgU0FMIEQnSF4gICAgICAgICAgICAgICAgIFQKKysgU0FMIEQnUzMkICAgICAgICAgICAgICAgIFoKKysgU0FMIERBVk8oTlIpLV4kICAgICAgICAgIFRBRlUKKysgU0FMIEREKFNaKS0tPCAgICAgICAgICAgIF8KKysgU0FMIERFUE9UNyAgICAgICAgICAgICAgIFRFUFUKKysgU0FMIERFU0lHTiAgICAgICAgICAgICAgIFRJWkVJTgorKyBTQUwgREUoTE1OUlNUKS0zXiAgICAgICAgVEUKKysgU0FMIERFVFRFJCAgICAgICAgICAgICAgIFRFVAorKyBTQUwgRElDJCAgICAgICAgICAgICAgICAgVElaCisrIFNBTCBESihBRUlPVSktXiAgICAgICAgICBJCisrIFNBTCBEUyhDSCktLTwgICAgICAgICAgICBUCisrIFNBTCBEU1QgICAgICAgICAgICAgICAgICBaVAorKyBTQUwgRFQtICAgICAgICAgICAgICAgICAgXworKyBTQUwgRFVJUy1eICAgICAgICAgICAgICAgVEkKKysgU0FMIERVUkNIXl4gICAgICAgICAgICAgIFRVUksKKysgU0FMIERaUyhDSCktLSAgICAgICAgICAgIFQKKysgU0FMIEQoU99aKSAgICAgICAgICAgICAgIFoKKysgU0FMIEQgICAgICAgICAgICAgICAgICAgIFQKKysgU0FMIEVBVUxUJCAgICAgICAgICAgICAgIFUKKysgU0FMIEVBVVgkICAgICAgICAgICAgICAgIFUKKysgU0FMIEVBVSAgICAgICAgICAgICAgICAgIFUKKysgU0FMIEVBViAgICAgICAgICAgICAgICAgIElGCisrIFNBTCBFQShBxEVJT9bcWSktMyAgICAgICBFQQorKyBTQUwgRUEzJCAgICAgICAgICAgICAgICAgRUEKKysgU0FMIEVBMyAgICAgICAgICAgICAgICAgIEkKKysgU0FMIEVCRU5eXiAgICAgICAgICAgICAgIEVQTgorKyBTQUwgRUU5ICAgICAgICAgICAgICAgICAgRQorKyBTQUwgRUlFSS0tICAgICAgICAgICAgICAgXworKyBTQUwgRUlILS0gICAgICAgICAgICAgICAgRQorKyBTQUwgRUlMTEUkICAgICAgICAgICAgICAgRUkKKysgU0FMIEVJICAgICAgICAgICAgICAgICAgIEVJCisrIFNBTCBFSiQgICAgICAgICAgICAgICAgICBFSQorKyBTQUwgRUwtXiAgICAgICAgICAgICAgICAgRQorKyBTQUwgRUwoREtMKS0tMSAgICAgICAgICAgRQorKyBTQUwgRUwoTU5UKS0tMSQgICAgICAgICAgRQorKyBTQUwgRUxZTkUkICAgICAgICAgICAgICAgRUxJTkUKKysgU0FMIEVMWU4kICAgICAgICAgICAgICAgIEVMSU4KKysgU0FMIEVMKEHERUlP1lXcWSktMSAgICAgIEVMCisrIFNBTCBFTC0xICAgICAgICAgICAgICAgICBMCisrIFNBTCBFTS1eICAgICAgICAgICAgICAgICBFCisrIFNBTCBFTShERktNUFFUKS0tMSAgICAgICBFCisrIFNBTCBFTShBxEVJT9ZV3FkpLS0xICAgICBFCisrIFNBTCBFTS0xICAgICAgICAgICAgICAgICBOCisrIFNBTCBFTi1eICAgICAgICAgICAgICAgICBFCisrIFNBTCBFTihDREdLUVQpLS0xICAgICAgICBFCisrIFNBTCBFTlooQUVJT1VZKS0tMSAgICAgICBFTgorKyBTQUwgRU4oQcRFSU5P1lXcWSktMSAgICAgRU4KKysgU0FMIEVOLTwxICAgICAgICAgICAgICAgIE4KKysgU0FMIEVSSChBxEVJT9ZV3CktXiAgICAgIEVSCisrIFNBTCBFUi1eICAgICAgICAgICAgICAgICBFCisrIFNBTCBFUihBxEVJT9ZV3FkpLTEgICAgICBBCisrIFNBTCBFUjEkICAgICAgICAgICAgICAgICBBCisrIFNBTCBFUjwxICAgICAgICAgICAgICAgICBBCisrIFNBTCBFVEkoQcRP1txVKS0gICAgICAgICBFWkkKKysgU0FMIEVVRVUtLSAgICAgICAgICAgICAgIF8KKysgU0FMIEVVSUxMRSQgICAgICAgICAgICAgINYKKysgU0FMIEVVUiQgICAgICAgICAgICAgICAgINZSCisrIFNBTCBFVVggICAgICAgICAgICAgICAgICDWCisrIFNBTCBFVVlTJCAgICAgICAgICAgICAgICBFVVoKKysgU0FMIEVVICAgICAgICAgICAgICAgICAgIEVVCisrIFNBTCBFWUVSPCAgICAgICAgICAgICAgICBFSUEKKysgU0FMIEVZPCAgICAgICAgICAgICAgICAgIEVJCisrIFNBTCBFICAgICAgICAgICAgICAgICAgICBFCisrIFNBTCBGQU5TLS1eJCAgICAgICAgICAgICBGRQorKyBTQUwgRkFOLV4kICAgICAgICAgICAgICAgRkUKKysgU0FMIEZBVUxULSAgICAgICAgICAgICAgIEZVTAorKyBTQUwgRkVFKERMKS0gICAgICAgICAgICAgRkkKKysgU0FMIEZFSExFUiAgICAgICAgICAgICAgIEZFTEEKKysgU0FMIEZFKExNTlJTVCktM14gICAgICAgIEZFCisrIFNBTCBGT05ENyAgICAgICAgICAgICAgICBGVU4KKysgU0FMIEZSQUlOJCAgICAgICAgICAgICAgIEZSQQorKyBTQUwgRlJJU0VVKFJTKS0gICAgICAgICAgRlJJWtYgICMgeAorKyBTQUwgRiAgICAgICAgICAgICAgICAgICAgRgorKyBTQUwgRydTJCAgICAgICAgICAgICAgICAgWAorKyBTQUwgR0FHU14kICAgICAgICAgICAgICAgS0VYCisrIFNBTCBHQUdeJCAgICAgICAgICAgICAgICBLRUsKKysgU0FMIEdEICAgICAgICAgICAgICAgICAgIEtUCisrIFNBTCBHRUdFTl5eICAgICAgICAgICAgICBLRUtOCisrIFNBTCBHRShMTU5SU1QpLTNeICAgICAgICBLRQorKyBTQUwgR0VUVEUkICAgICAgICAgICAgICAgS0VUCisrIFNBTCBHKENLKS0gICAgICAgICAgICAgICBfCisrIFNBTCBHRy0gICAgICAgICAgICAgICAgICBfCisrIFNBTCBHSShBTyktXiAgICAgICAgICAgICBJCisrIFNBTCBHSU9OJCAgICAgICAgICAgICAgICBLSVVOCisrIFNBTCBHSVVTLV4gICAgICAgICAgICAgICBJVQorKyBTQUwgR01CSF4kICAgICAgICAgICAgICAgR01QSAorKyBTQUwgR05BQyQgICAgICAgICAgICAgICAgTklBSworKyBTQUwgR05PTiQgICAgICAgICAgICAgICAgTklVTgorKyBTQUwgR04kICAgICAgICAgICAgICAgICAgTgorKyBTQUwgR09OQ0FMLV4gICAgICAgICAgICAgS1VOWkEKKysgU0FMIEdTKENIKS0tICAgICAgICAgICAgIEsKKysgU0FMIEdTVCAgICAgICAgICAgICAgICAgIFhUCisrIFNBTCBHKFPfWFopICAgICAgICAgICAgICBYCisrIFNBTCBHVUNLLSAgICAgICAgICAgICAgICBLVQorKyBTQUwgR1VJLV4gICAgICAgICAgICAgICAgSworKyBTQUwgRyAgICAgICAgICAgICAgICAgICAgSworKyBTQUwgSEVBRC0gICAgICAgICAgICAgICAgRQorKyBTQUwgSEUoTE1OUlNUKS0zXiAgICAgICAgRQorKyBTQUwgSEUoTE1OKS0xICAgICAgICAgICAgRQorKyBTQUwgSEVVUjEkICAgICAgICAgICAgICAg1lIKKysgU0FMIEheICAgICAgICAgICAgICAgICAgIF8KKysgU0FMIElFQyQgICAgICAgICAgICAgICAgIElaCisrIFNBTCBJRUktMyAgICAgICAgICAgICAgICBfCisrIFNBTCBJRUxMMyAgICAgICAgICAgICAgICBJRUwKKysgU0FMIElFTk5FJCAgICAgICAgICAgICAgIElOCisrIFNBTCBJRVJSRSQgICAgICAgICAgICAgICBJRVIKKysgU0FMIElFVFRFJCAgICAgICAgICAgICAgIElUCisrIFNBTCBJRVUgICAgICAgICAgICAgICAgICBJ1gorKyBTQUwgSUU8NCAgICAgICAgICAgICAgICAgSQorKyBTQUwgSUdIVDMkICAgICAgICAgICAgICAgRUlUCisrIFNBTCBJR05JKEVPKS0gICAgICAgICAgICBJTkkKKysgU0FMIElHTihBRU9VKS0kICAgICAgICAgIElOSQorKyBTQUwgSUooQU9VKS0gICAgICAgICAgICAgSQorKyBTQUwgSUokICAgICAgICAgICAgICAgICAgSQorKyBTQUwgSUo8ICAgICAgICAgICAgICAgICAgRUkKKysgU0FMIElLT0xFJCAgICAgICAgICAgICAgIElLVUwKKysgU0FMIElMTEFOKFNUWiktLSAgICAgICAgIElMSUEKKysgU0FMIElMTEFSKERUKS0tICAgICAgICAgIElMSUEKKysgU0FMIElOVkVSLSAgICAgICAgICAgICAgIElORkUKKysgU0FMIElUSShBxE/WVdwpLSAgICAgICAgIElaSQorKyBTQUwgSVZJRVIkICAgICAgICAgICAgICAgSUZJRQorKyBTQUwgSSAgICAgICAgICAgICAgICAgICAgSQorKyBTQUwgSkFWSUUtLS08XiAgICAgICAgICAgWkEKKysgU0FMIEpFQU5eJCAgICAgICAgICAgICAgIElBCisrIFNBTCBKRUFOLV4gICAgICAgICAgICAgICBJQQorKyBTQUwgSkVSLV4gICAgICAgICAgICAgICAgSUUKKysgU0FMIEpFKExNTlNUKS0gICAgICAgICAgIElFCisrIFNBTCBKT1IoR0spXiQgICAgICAgICAgICBJ1lJLCisrIFNBTCBKICAgICAgICAgICAgICAgICAgICBJCisrIFNBTCBLQyjERUlKKS0gICAgICAgICAgICBYCisrIFNBTCBLRShMTU5SU1QpLTNeICAgICAgICBLRQorKyBTQUwgS0g8XiAgICAgICAgICAgICAgICAgSworKyBTQUwgS0lDJCAgICAgICAgICAgICAgICAgS0laCisrIFNBTCBLTEUoTE1OUlNUKS0zXiAgICAgICBLTEUKKysgU0FMIEtPVEVMRS1eICAgICAgICAgICAgIEtVVEwKKysgU0FMIEtSRUFULV4gICAgICAgICAgICAgIEtSRUEKKysgU0FMIEtTVCAgICAgICAgICAgICAgICAgIFhUCisrIFNBTCBLKFPfWFopICAgICAgICAgICAgICBYCisrIFNBTCBLVEkoQUlPVSktMyAgICAgICAgICBYSQorKyBTQUwgS1QoU99YWikgICAgICAgICAgICAgWAorKyBTQUwgSyAgICAgICAgICAgICAgICAgICAgSworKyBTQUwgTEFSVkUtICAgICAgICAgICAgICAgTEFSRgorKyBTQUwgTEVBTkQtXiAgICAgICAgICAgICAgTEVBTgorKyBTQUwgTEVMLSAgICAgICAgICAgICAgICAgTEUKKysgU0FMIExFKE1OUlNUKS0zXiAgICAgICAgIExFCisrIFNBTCBMRVRURSQgICAgICAgICAgICAgICBMRVQKKysgU0FMIExGR05BRy0gICAgICAgICAgICAgIExGS0FOCisrIFNBTCBMSUMkICAgICAgICAgICAgICAgICBMSVoKKysgU0FMIExJVkVeJCAgICAgICAgICAgICAgIExFSUYKKysgU0FMIExVSShHUyktLSAgICAgICAgICAgIExVCisrIFNBTCBMICAgICAgICAgICAgICAgICAgICBMCisrIFNBTCBNQVNTRVUoUlMpLSAgICAgICAgICBOQVrWCisrIFNBTCBNQVVSSUNFICAgICAgICAgICAgICBOVVJJWgorKyBTQUwgTUJIXiQgICAgICAgICAgICAgICAgTVBICisrIFNBTCBNQihT31opLSAgICAgICAgICAgICBOCisrIFNBTCBNQzleICAgICAgICAgICAgICAgICBOSworKyBTQUwgTUVNT0lSLV4gICAgICAgICAgICAgTkVOVUEKKysgU0FMIE1FKExNTlJTVCktM14gICAgICAgIE5FCisrIFNBTCBNSUdVRUwgICAgICAgICAgICAgICBOSUtMCisrIFNBTCBNSUtFXiQgICAgICAgICAgICAgICBORUlLCisrIFNBTCBNTiAgICAgICAgICAgICAgICAgICBOCisrIFNBTCBNUEpVVEUtICAgICAgICAgICAgICBOUFVUCisrIFNBTCBNUChT31opLSAgICAgICAgICAgICBOCisrIFNBTCBNUChCREpMTU5QUVJUVlcpLSAgICBOUAorKyBTQUwgTSAgICAgICAgICAgICAgICAgICAgTgorKyBTQUwgTkFDSF5eICAgICAgICAgICAgICAgTkFLCisrIFNBTCBOQURJTkUgICAgICAgICAgICAgICBOQVRJTgorKyBTQUwgTkFJVi0tICAgICAgICAgICAgICAgTkEKKysgU0FMIE5BSVNFJCAgICAgICAgICAgICAgIE5FWkUKKysgU0FMIE5DT0lTRSQgICAgICAgICAgICAgIFpVQQorKyBTQUwgTkNPSVMkICAgICAgICAgICAgICAgWlVBCisrIFNBTCBORUJFTl5eICAgICAgICAgICAgICBORVBOCisrIFNBTCBORShMTU5SU1QpLTNeICAgICAgICBORQorKyBTQUwgTkVOLTMgICAgICAgICAgICAgICAgTkUKKysgU0FMIE5FVFRFJCAgICAgICAgICAgICAgIE5FVAorKyBTQUwgTkcoQkRGSkxNTlBRUlRWVyktICAgTksKKysgU0FMIE5JQ0hUU15eICAgICAgICAgICAgIE5JWAorKyBTQUwgTklDSFReXiAgICAgICAgICAgICAgTklLVAorKyBTQUwgTklORSQgICAgICAgICAgICAgICAgTklOCisrIFNBTCBOT05eXiAgICAgICAgICAgICAgICBOVU4KKysgU0FMIE5PVF5eICAgICAgICAgICAgICAgIE5VVAorKyBTQUwgTlRJKEFJT1UpLTMgICAgICAgICAgTlpJCisrIFNBTCBOVElFTC0tMyAgICAgICAgICAgICBOWkkKKysgU0FMIE5ZTE9OICAgICAgICAgICAgICAgIE5FSUxVTgorKyBTQUwgTkQoU99aKSQgICAgICAgICAgICAgTloKKysgU0FMIE5UKFPfWikkICAgICAgICAgICAgIE5aCisrIFNBTCBORCdTJCAgICAgICAgICAgICAgICBOWgorKyBTQUwgTlQnUyQgICAgICAgICAgICAgICAgTloKKysgU0FMIE5TVFMkICAgICAgICAgICAgICAgIE5aCisrIFNBTCBOICAgICAgICAgICAgICAgICAgICBOCisrIFNBTCBPQkVSXl4gICAgICAgICAgICAgICBVUEEKKysgU0FMIE9FMiAgICAgICAgICAgICAgICAgINYKKysgU0FMIE9HTklFLSAgICAgICAgICAgICAgIFVOSQorKyBTQUwgT0dOKEFFT1UpLSQgICAgICAgICAgVU5JCisrIFNBTCBPSUUkICAgICAgICAgICAgICAgICDWCisrIFNBTCBPSVIkICAgICAgICAgICAgICAgICBVQVIKKysgU0FMIE9JWCAgICAgICAgICAgICAgICAgIFVBCisrIFNBTCBPSTwzICAgICAgICAgICAgICAgICBFVQorKyBTQUwgT0ooQcRFSU/WVdwpLS0gICAgICAgVQorKyBTQUwgT0tBWV4kICAgICAgICAgICAgICAgVUtFCisrIFNBTCBPTFlOJCAgICAgICAgICAgICAgICBVTElOCisrIFNBTCBPVEkoQcRP1lXcKS0gICAgICAgICBVWkkKKysgU0FMIE9VSV4gICAgICAgICAgICAgICAgIEZJCisrIFNBTCBPVUlMTEUkICAgICAgICAgICAgICBVTElFCisrIFNBTCBPVShEVCktXiAgICAgICAgICAgICBBVQorKyBTQUwgT1VTRSQgICAgICAgICAgICAgICAgQVVaCisrIFNBTCBPVVQtICAgICAgICAgICAgICAgICBBVQorKyBTQUwgT1UgICAgICAgICAgICAgICAgICAgVQorKyBTQUwgT1dTJCAgICAgICAgICAgICAgICAgVVoKKysgU0FMIE9ZKEHERUlP1lXcKS0tICAgICAgIFUKKysgU0FMIE8oSlkpPCAgICAgICAgICAgICAgIEVVCisrIFNBTCBPICAgICAgICAgICAgICAgICAgICBVCisrIFNBTCBQQVRJRU4tLV4gICAgICAgICAgICBQQVpJCisrIFNBTCBQRU5TSU8tXiAgICAgICAgICAgICBQQU5aSQorKyBTQUwgUEUoTE1OUlNUKS0zXiAgICAgICAgUEUKKysgU0FMIFBGRVItXiAgICAgICAgICAgICAgIEZFCisrIFNBTCBQKEZIKTwgICAgICAgICAgICAgICBGCisrIFNBTCBQT0xZXl4gICAgICAgICAgICAgICBQVUxJCisrIFNBTCBQT1JUUkFJVDcgICAgICAgICAgICBQVVJUUkUKKysgU0FMIFBQKEZIKS0tPCAgICAgICAgICAgIFAKKysgU0FMIFBQLSAgICAgICAgICAgICAgICAgIF8KKysgU0FMIFBSSVheJCAgICAgICAgICAgICAgIFBSSQorKyBTQUwgUChT31opXiAgICAgICAgICAgICAgWgorKyBTQUwgUFRJKEHET9ZV3CktMyAgICAgICAgUFpJCisrIFNBTCBQSUNeJCAgICAgICAgICAgICAgICBQSUsKKysgU0FMIFAgICAgICAgICAgICAgICAgICAgIFAKKysgU0FMIFFVRShMTU5SU1QpLTMgICAgICAgIEtGRQorKyBTQUwgUVVFJCAgICAgICAgICAgICAgICAgSworKyBTQUwgUVVJKE5TKSQgICAgICAgICAgICAgS0kKKysgU0FMIFFVICAgICAgICAgICAgICAgICAgIEtGCisrIFNBTCBRPCAgICAgICAgICAgICAgICAgICBLCisrIFNBTCBSQ0ggICAgICAgICAgICAgICAgICBSSworKyBTQUwgUkVDSEVSQ0heICAgICAgICAgICAgUkVaQVoKKysgU0FMIFJFUiQgICAgICAgICAgICAgICAgIFJBCisrIFNBTCBSRShNTlIpLTQgICAgICAgICAgICBSRQorKyBTQUwgUkVUVEUkICAgICAgICAgICAgICAgUkVUCisrIFNBTCBSSDxeICAgICAgICAgICAgICAgICBSCisrIFNBTCBSSkEoTU4pLS0gICAgICAgICAgICBSSQorKyBTQUwgUlRJKEHET9ZV3CktMyAgICAgICAgUlpJCisrIFNBTCBSWShLTiktJCAgICAgICAgICAgICBSSQorKyBTQUwgUiAgICAgICAgICAgICAgICAgICAgUgorKyBTQUwgU0FGRV4kICAgICAgICAgICAgICAgWkVJRgorKyBTQUwgU0FVQ0UtXiAgICAgICAgICAgICAgWlVaCisrIFNBTCBTQ0hTQ0gtLS03ICAgICAgICAgICBfCisrIFNBTCBTQ0hUU0NIICAgICAgICAgICAgICBaCisrIFNBTCBTQyhIWik8ICAgICAgICAgICAgICBaCisrIFNBTCBTQyAgICAgICAgICAgICAgICAgICBaSworKyBTQUwgU0VMQlNUU1QtLTdeXiAgICAgICAgWkVMUAorKyBTQUwgU0VMQlNUN15eICAgICAgICAgICAgWkVMUFpUCisrIFNBTCBTRVJWSUNFN14gICAgICAgICAgICBa1lJGSVoKKysgU0FMIFNFKExNTlJTVCktM14gICAgICAgIFpFCisrIFNBTCBTRVRURSQgICAgICAgICAgICAgICBaRVQKKysgU0FMIFNIUC1eICAgICAgICAgICAgICAgIFoKKysgU0FMIFNIU1QgICAgICAgICAgICAgICAgIFpUCisrIFNBTCBTSFRTSCAgICAgICAgICAgICAgICBaCisrIFNBTCBTSFQgICAgICAgICAgICAgICAgICBaCisrIFNBTCBTSDMgICAgICAgICAgICAgICAgICBaCisrIFNBTCBTSUVHTEktXiAgICAgICAgICAgICBaSUtMCisrIFNBTCBTSUdMSS1eICAgICAgICAgICAgICBaSUtMCisrIFNBTCBTSUdIVCAgICAgICAgICAgICAgICBaRUlUCisrIFNBTCBTSUdOICAgICAgICAgICAgICAgICBaRUlOCisrIFNBTCBTS0koTlBaKS0gICAgICAgICAgICBaS0kKKysgU0FMIFNLSTxeICAgICAgICAgICAgICAgIFpJCisrIFNBTCBTT1VORC0gICAgICAgICAgICAgICBaQVVOCisrIFNBTCBTVEFBVFNeXiAgICAgICAgICAgICBaVEFaCisrIFNBTCBTVEFEVF5eICAgICAgICAgICAgICBaVEFUCisrIFNBTCBTVEFSVF5eICAgICAgICAgICAgICBaVEFSVAorKyBTQUwgU1RBVVJBTlQ3ICAgICAgICAgICAgWlRVUkFOCisrIFNBTCBTVEVBSy0gICAgICAgICAgICAgICBaVEUKKysgU0FMIFNUUkFGXl4gICAgICAgICAgICAgIFpUUkFGCisrIFNBTCBTVCdTJCAgICAgICAgICAgICAgICBaCisrIFNBTCBTVFNULS0gICAgICAgICAgICAgICBfCisrIFNBTCBTVFMoQUNFSElPVcTc1iktLSAgICBaVAorKyBTQUwgU1QoU1opICAgICAgICAgICAgICAgWgorKyBTQUwgU1RZTihBRSktJCAgICAgICAgICAgWlRJTgorKyBTQUwgU1QgICAgICAgICAgICAgICAgICAgWlQKKysgU0FMIFNaRShOUFQpLV4gICAgICAgICAgIFpFCisrIFNBTCBTWkkoRUxOKS1eICAgICAgICAgICBaSQorKyBTQUwgU1pDWjwgICAgICAgICAgICAgICAgWgorKyBTQUwgU1pUPCAgICAgICAgICAgICAgICAgWlQKKysgU0FMIFNaPDMgICAgICAgICAgICAgICAgIFoKKysgU0FMIFMgICAgICAgICAgICAgICAgICAgIFoKKysgU0FMIFQnUzMkICAgICAgICAgICAgICAgIFoKKysgU0FMIFRDSCAgICAgICAgICAgICAgICAgIFoKKysgU0FMIFRFQVQtXiAgICAgICAgICAgICAgIFRFQQorKyBTQUwgVEUoTE1OUlNUKS0zXiAgICAgICAgVEUKKysgU0FMIFRIPCAgICAgICAgICAgICAgICAgIFQKKysgU0FMIFRJQyQgICAgICAgICAgICAgICAgIFRJWgorKyBTQUwgVE9BUy1eICAgICAgICAgICAgICAgVFUKKysgU0FMIFRPSUxFVC0gICAgICAgICAgICAgIFRVTEUKKysgU0FMIFRPSU4tICAgICAgICAgICAgICAgIFRVQQorKyBTQUwgVFJBSU5JLSAgICAgICAgICAgICAgVFJFTgorKyBTQUwgVFNDSCAgICAgICAgICAgICAgICAgWgorKyBTQUwgVFNIICAgICAgICAgICAgICAgICAgWgorKyBTQUwgVFNUICAgICAgICAgICAgICAgICAgWlQKKysgU0FMIFQoU98pICAgICAgICAgICAgICAgIFoKKysgU0FMIFRUKFNaKS0tPCAgICAgICAgICAgIF8KKysgU0FMIFRUOSAgICAgICAgICAgICAgICAgIFQKKysgU0FMIFRaLSAgICAgICAgICAgICAgICAgIF8KKysgU0FMIFQgICAgICAgICAgICAgICAgICAgIFQKKysgU0FMIFVFQkVSXl4gICAgICAgICAgICAgIElQQQorKyBTQUwgVUUyICAgICAgICAgICAgICAgICAgSQorKyBTQUwgVUlFJCAgICAgICAgICAgICAgICAgSQorKyBTQUwgVU1eXiAgICAgICAgICAgICAgICAgVU4KKysgU0FMIFVOVEVSRS0tICAgICAgICAgICAgIFVOVEUKKysgU0FMIFVOVEVSXl4gICAgICAgICAgICAgIFVOVEEKKysgU0FMIFVOVkVSXl4gICAgICAgICAgICAgIFVORkEKKysgU0FMIFVOXl4gICAgICAgICAgICAgICAgIFVOCisrIFNBTCBVVEkoQcRP1lXcKS0gICAgICAgICBVWkkKKysgU0FMIFUgICAgICAgICAgICAgICAgICAgIFUKKysgU0FMIFZBQ0wtXiAgICAgICAgICAgICAgIEZBWgorKyBTQUwgVkFDJCAgICAgICAgICAgICAgICAgRkFaCisrIFNBTCBWRURELV4gICAgICAgICAgICAgICBGRQorKyBTQUwgVkVSRUlOICAgICAgICAgICAgICAgRkFFSU4KKysgU0FMIFZFUlNFTl4gICAgICAgICAgICAgIEZBWk4KKysgU0FMIFZFUl5eICAgICAgICAgICAgICAgIEZBCisrIFNBTCBWRVIgICAgICAgICAgICAgICAgICBGQQorKyBTQUwgVkVUKEhUKS1eICAgICAgICAgICAgRkVUCisrIFNBTCBWRVRURSQgICAgICAgICAgICAgICBGRVQKKysgU0FMIFZJQyQgICAgICAgICAgICAgICAgIEZJWgorKyBTQUwgVklFTCAgICAgICAgICAgICAgICAgRklMCisrIFNBTCBWSUVXICAgICAgICAgICAgICAgICBGSVUKKysgU0FMIFZPUl5eICAgICAgICAgICAgICAgIEZVUgorKyBTQUwgVlk5XiAgICAgICAgICAgICAgICAgRkkKKysgU0FMIFY8ICAgICAgICAgICAgICAgICAgIEYKKysgU0FMIFdFKExNTlJTVCktM14gICAgICAgIEZFCisrIFNBTCBXSUMkICAgICAgICAgICAgICAgICBGSVoKKysgU0FMIFdJRURFUl5eICAgICAgICAgICAgIEZJVEEKKysgU0FMIFdZOV4gICAgICAgICAgICAgICAgIEZJCisrIFNBTCBXICAgICAgICAgICAgICAgICAgICBGCisrIFNBTCBYRShMTU5SU1QpLTNeICAgICAgICBYRQorKyBTQUwgWDxeICAgICAgICAgICAgICAgICAgWgorKyBTQUwgWChDU1opICAgICAgICAgICAgICAgWAorKyBTQUwgWFRTKENIKS0tICAgICAgICAgICAgWFQKKysgU0FMIFhUKFNaKSAgICAgICAgICAgICAgIFoKKysgU0FMIFggICAgICAgICAgICAgICAgICAgIFgKKysgU0FMIFlFKExNTlJTVCktM14gICAgICAgIElFCisrIFNBTCBZRS0zICAgICAgICAgICAgICAgICBJCisrIFNBTCBZT1IoR0spXiQgICAgICAgICAgICBJ1lJLCisrIFNBTCBZKEFPVSktPDcgICAgICAgICAgICBJCisrIFNBTCBZVkVTXiQgICAgICAgICAgICAgICBJRgorKyBTQUwgWVZPTk5FXiQgICAgICAgICAgICAgSUZVTgorKyBTQUwgWSAgICAgICAgICAgICAgICAgICAgSQorKyBTQUwgWkMoQU9VKS0gICAgICAgICAgICAgWksKKysgU0FMIFpFKExNTlJTVCktM14gICAgICAgIFpFCisrIFNBTCBaSDwgICAgICAgICAgICAgICAgICBaCisrIFNBTCBaUyhDSFQpLS0gICAgICAgICAgICBfCisrIFNBTCBaUyAgICAgICAgICAgICAgICAgICBaCisrIFNBTCBaVUVSU1QgICAgICAgICAgICAgICBaVUVSWlQKKysgU0FMIFpVUtxDS15eICAgICAgICAgICAgIFpVUklLCisrIFNBTCBaVVZFUl5eICAgICAgICAgICAgICBaVUZBICAgICMgeAorKyBTQUwgWiAgICAgICAgICAgICAgICAgICAgWgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zcGVsbC9kZS9kZV8yMC5kaWZmIGIvcnVudGltZS9zcGVsbC9kZS9kZV8yMC5kaWZmCmluZGV4IGRjZTZmZTYuLjIzNWQwZmQgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3BlbGwvZGUvZGVfMjAuZGlmZgorKysgYi9ydW50aW1lL3NwZWxsL2RlL2RlXzIwLmRpZmYKQEAgLTEsMTcgKzEsMTQgQEAKICoqKiBkZV8yMC5vcmlnLmFmZglUaHUgQXVnIDI1IDExOjIyOjE0IDIwMDUKLS0tLSBkZV8yMC5hZmYJVGh1IEF1ZyAyNSAxMToyMjoxNCAyMDA1CistLS0gZGVfMjAuYWZmCVRodSBTZXAgMjkgMTE6NDQ6NDEgMjAwNQogKioqKioqKioqKioqKioqCiAqKiogMiwzICoqKioKLS0tLSAyLDI0IC0tLS0KKy0tLSAyLDIxIC0tLS0KICAgVFJZIGVzaWFucnRvbGNkdWdtcGhieWZ2a3fk/Pbf4enq4OLxRVNJQU5SVE9MQ0RVR01QSEJZRlZLV8Tc1gogKyAKICsgRk9MICDg4eLj5OXm5+jp6uvs7e7v8PHy8/T19vj5+vv8/f7f/wogKyBMT1cgIODh4uPk5ebn6Onq6+zt7u/w8fLz9PX2+Pn6+/z9/t//CiArIFVQUCAgwMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbY2drb3N3e3/8KICsgCi0rIFNPRk9GUk9NIGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVrg4eLj5OXm5+jp6uvs7e7v8PHy8/T19vj5+vv8/f7f/8DBwsPExcbHyMnKy8zNzs/Q0dLT1NXW2Nna29zd3r8KLSsgU09GT1RPICAgZWJjdGVmZ2hlamtsbm5lcGtyc3RldnZrZXNlYmN0ZWZnaGVqa2xubmVwa3JzdGV2dmtlc2VlZWVlZWVjZWVlZWVlZWVkbmVlZWVlZWVlZWVlcHNlZWVlZWVlZWNlZWVlZWVlZWRuZWVlZWVlZWVlZWVwPwotKyAKICsgTUlEV09SRAknCiArIAogKyBNQVAgOQpAQCAtMjYsMyArMjMsNDgzIEBACiArIE1BUCBz3wogKyAKICAgIworKioqKioqKioqKioqKioqCisqKiogMTIyNSAqKioqCistLS0gMTI0MywxNzE5IC0tLS0KKyAgUkVQIPYg9mUKKysgCisrICMgICBHZXJtYW4gcGhvbmV0aWMgdHJhbnNmb3JtYXRpb24gcnVsZXMgZnJvbSBBc3BlbGwKKysgIyAgIENvcHlyaWdodCAoQykgMjAwMCBCavZybiBKYWNrZSwgZGlzdHJpYnV0ZWQgdW5kZXIgTEdQTC4KKysgIyAgIEJq9nJuIEphY2tlIG1heSBiZSByZWFjaGVkIGJ5IGVtYWlsIGF0IGJqb2Vybi5qYWNrZUBnbXguZGUKKysgIyAgIExhc3QgY2hhbmdlZCAyMDAwLTAxLTA3CisrIAorKyBTQUwgZm9sbG93dXAgICAgICAgIDEKKysgU0FMIGNvbGxhcHNlX3Jlc3VsdCAxCisrIAorKyBTQUwgxEVSLSAgICAgICAgICAgICAgICAgRQorKyBTQUwgxFU8ICAgICAgICAgICAgICAgICAgRVUKKysgU0FMIMQ8ICAgICAgICAgICAgICAgICAgIEUKKysgU0FMIMkgICAgICAgICAgICAgICAgICAgIEUKKysgU0FMINZFUi0gICAgICAgICAgICAgICAgINYKKysgU0FMINYgICAgICAgICAgICAgICAgICAgINYKKysgU0FMINxCRVJeXiAgICAgICAgICAgICAgIElQQQorKyBTQUwg3EVSLSAgICAgICAgICAgICAgICAgSQorKyBTQUwg3CAgICAgICAgICAgICAgICAgICAgSQorKyBTQUwg3yAgICAgICAgICAgICAgICAgICAgWgorKyBTQUwgQUJFTExFJCAgICAgICAgICAgICAgQVBMCisrIFNBTCBBQkVMTCQgICAgICAgICAgICAgICBBUEwKKysgU0FMIEFCSUVOTkUkICAgICAgICAgICAgIEFQSU4KKysgU0FMIEFDRVkkICAgICAgICAgICAgICAgIEFaSQorKyBTQUwgQUVVPCAgICAgICAgICAgICAgICAgRVUKKysgU0FMIEFFMiAgICAgICAgICAgICAgICAgIEUKKysgU0FMIEFHTkktXiAgICAgICAgICAgICAgIEFLTgorKyBTQUwgQUdOSUUtICAgICAgICAgICAgICAgQU5JCisrIFNBTCBBR04oQUVPVSktJCAgICAgICAgICBBTkkKKysgU0FMIEFJQTIgICAgICAgICAgICAgICAgIEFJQQorKyBTQUwgQUlFJCAgICAgICAgICAgICAgICAgRQorKyBTQUwgQUlMTChFT1UpLSAgICAgICAgICAgQUxJCisrIFNBTCBBSU5FJCAgICAgICAgICAgICAgICBFTgorKyBTQUwgQUlSRSQgICAgICAgICAgICAgICAgRVIKKysgU0FMIEFJUi0gICAgICAgICAgICAgICAgIEUKKysgU0FMIEFJU0UkICAgICAgICAgICAgICAgIEVaCisrIFNBTCBBSVNTQU5DRSQgICAgICAgICAgICBFWkFOWgorKyBTQUwgQUlTU0UkICAgICAgICAgICAgICAgRVoKKysgU0FMIEFJWCQgICAgICAgICAgICAgICAgIEVYCisrIFNBTCBBSihBxEVJT9ZV3CktLSAgICAgICBBCisrIFNBTCBBS1RJRSAgICAgICAgICAgICAgICBBWElFCisrIFNBTCBBTE8oSVkpXiAgICAgICAgICAgICBBTFVJCisrIFNBTCBBTUFURVUoUlMpLSAgICAgICAgICBBTkFU1gorKyBTQUwgQU5JRUxMRSQgICAgICAgICAgICAgQU5JTAorKyBTQUwgQU5USV5eICAgICAgICAgICAgICAgQU5USQorKyBTQUwgQU5WRVJeXiAgICAgICAgICAgICAgQU5GQQorKyBTQUwgQVRJQSQgICAgICAgICAgICAgICAgQVRJQQorKyBTQUwgQVRJQShOUyktLSAgICAgICAgICAgQVRJCisrIFNBTCBBVEkoQcRP1lXcKS0gICAgICAgICBBWkkKKysgU0FMIEFVQVUtLSAgICAgICAgICAgICAgIF8KKysgU0FMIEFVRVI8ICAgICAgICAgICAgICAgIEFVQQorKyBTQUwgQVVGXl4gICAgICAgICAgICAgICAgQVVGCisrIFNBTCBBVUxUJCAgICAgICAgICAgICAgICBVCisrIFNBTCBBVVNTRSQgICAgICAgICAgICAgICBVWgorKyBTQUwgQVVTKFNUKS1eICAgICAgICAgICAgQVVaCisrIFNBTCBBVVNeXiAgICAgICAgICAgICAgICBBVVoKKysgU0FMIEFVVE9eXiAgICAgICAgICAgICAgIEFVVFUKKysgU0FMIEFVWChJWSktICAgICAgICAgICAgIEFVWAorKyBTQUwgQVVYICAgICAgICAgICAgICAgICAgVQorKyBTQUwgQVUgICAgICAgICAgICAgICAgICAgQVUKKysgU0FMIEFWSUVSJCAgICAgICAgICAgICAgIEFGSUUKKysgU0FMIEFZRVItLTwgICAgICAgICAgICAgIEVJCisrIFNBTCBBWShBxEVJT9ZV3CktLSAgICAgICBBCisrIFNBTCBBKElKWSk8ICAgICAgICAgICAgICBFSQorKyBTQUwgQSAgICAgICAgICAgICAgICAgICAgQQorKyBTQUwgQkVBKEJDTU5SVSktXiAgICAgICAgUEVBCisrIFNBTCBCRUFUKEFFSU1PUlUpLV4gICAgICBQRUFUCisrIFNBTCBCRUlHRV4kICAgICAgICAgICAgICBQRVoKKysgU0FMIEJFKExNTlJTVCktXiAgICAgICAgIFBFCisrIFNBTCBCRVRURSQgICAgICAgICAgICAgICBQRVQKKysgU0FMIEJJQyQgICAgICAgICAgICAgICAgIFBJWgorKyBTQUwgQk9XTChFSSktICAgICAgICAgICAgUFVMCisrIFNBTCBCUChBxEVJT9ZSVdxZKS0gICAgICBQCisrIFNBTCBCVURHRVQ3ICAgICAgICAgICAgICBQSUtFCisrIFNBTCBCVUZGRVQ3ICAgICAgICAgICAgICBQSUZFCisrIFNBTCBCWUxMRSQgICAgICAgICAgICAgICBQSUxFCisrIFNBTCBCWUxMJCAgICAgICAgICAgICAgICBQSUwKKysgU0FMIEJZVEU8ICAgICAgICAgICAgICAgIFBFSVQKKysgU0FMIEIgICAgICAgICAgICAgICAgICAgIFAKKysgU0FMIEPELSAgICAgICAgICAgICAgICAgIFoKKysgU0FMIEPcJCAgICAgICAgICAgICAgICAgIFpJCisrIFNBTCBDQUNIKEVJKS1eICAgICAgICAgICBLRVoKKysgU0FMIENBRS0tICAgICAgICAgICAgICAgIFoKKysgU0FMIENBKElZKSQgICAgICAgICAgICAgIFpFSQorKyBTQUwgQ0NIICAgICAgICAgICAgICAgICAgWgorKyBTQUwgQ0NFLSAgICAgICAgICAgICAgICAgWAorKyBTQUwgQ0UoRUlKVVkpLS0gICAgICAgICAgWgorKyBTQUwgQ0VOVDwgICAgICAgICAgICAgICAgWkVOVAorKyBTQUwgQ0VSU1QoRUkpLS0tLV4gICAgICAgS0UKKysgU0FMIENFUiQgICAgICAgICAgICAgICAgIFpBCisrIFNBTCBDRTMgICAgICAgICAgICAgICAgICBaRQorKyBTQUwgQ0hBTyhTVCktICAgICAgICAgICAgS0FVCisrIFNBTCBDSEFNUElPLV4gICAgICAgICAgICBaRU5QSQorKyBTQUwgQ0hBUihBSSktXiAgICAgICAgICAgS0FSCisrIFNBTCBDSEFVKENERlNWV1haKS0gICAgICBaVQorKyBTQUwgQ0hFKENGKS0gICAgICAgICAgICAgWkUKKysgU0FMIENIRU0tXiAgICAgICAgICAgICAgIEtFCisrIFNBTCBDSEVRVUU8ICAgICAgICAgICAgICBaRUsKKysgU0FMIENISShDRkdQVlcpLSAgICAgICAgIFpJCisrIFNBTCBDSChBRVVZKS08XiAgICAgICAgICBaCisrIFNBTCBDSEstICAgICAgICAgICAgICAgICBfCisrIFNBTCBDSChMT1IpLTxeICAgICAgICAgICBLCisrIFNBTCBDSFNULSAgICAgICAgICAgICAgICBYCisrIFNBTCBDSChT31haKTMgICAgICAgICAgICBYCisrIFNBTCBDSCAgICAgICAgICAgICAgICAgICBLCisrIFNBTCBDSUVSJCAgICAgICAgICAgICAgICBaSUUKKysgU0FMIENZQi1eICAgICAgICAgICAgICAgIFpFSQorKyBTQUwgQ1k5XiAgICAgICAgICAgICAgICAgWkkKKysgU0FMIEMoSUpZKS0zICAgICAgICAgICAgIFoKKysgU0FMIENLU1QgICAgICAgICAgICAgICAgIFhUCisrIFNBTCBDSyhT31haKTMgICAgICAgICAgICBYCisrIFNBTCBDKENLKS0gICAgICAgICAgICAgICBfCisrIFNBTCBDTEFVREVULS0tICAgICAgICAgICBLTFUKKysgU0FMIENMQVVESU5FXiQgICAgICAgICAgIEtMVVRJTgorKyBTQUwgQ09MRSQgICAgICAgICAgICAgICAgS1VMCisrIFNBTCBDT1VDSCAgICAgICAgICAgICAgICBLQVVaCisrIFNBTCBDUVVFUyQgICAgICAgICAgICAgICBLCisrIFNBTCBDUVVFICAgICAgICAgICAgICAgICBLCisrIFNBTCBDUkVBVC1eICAgICAgICAgICAgICBLUkVBCisrIFNBTCBDU1QgICAgICAgICAgICAgICAgICBYVAorKyBTQUwgQ1M8XiAgICAgICAgICAgICAgICAgWgorKyBTQUwgQyhT31gpICAgICAgICAgICAgICAgWAorKyBTQUwgQ1QoU99YWikgICAgICAgICAgICAgWAorKyBTQUwgQ1o8ICAgICAgICAgICAgICAgICAgWgorKyBTQUwgQzwgICAgICAgICAgICAgICAgICAgSworKyBTQUwgRCdIXiAgICAgICAgICAgICAgICAgVAorKyBTQUwgRCdTMyQgICAgICAgICAgICAgICAgWgorKyBTQUwgREFWTyhOUiktXiQgICAgICAgICAgVEFGVQorKyBTQUwgREQoU1opLS08ICAgICAgICAgICAgXworKyBTQUwgREVQT1Q3ICAgICAgICAgICAgICAgVEVQVQorKyBTQUwgREVTSUdOICAgICAgICAgICAgICAgVElaRUlOCisrIFNBTCBERShMTU5SU1QpLTNeICAgICAgICBURQorKyBTQUwgREVUVEUkICAgICAgICAgICAgICAgVEVUCisrIFNBTCBESUMkICAgICAgICAgICAgICAgICBUSVoKKysgU0FMIERKKEFFSU9VKS1eICAgICAgICAgIEkKKysgU0FMIERTKENIKS0tPCAgICAgICAgICAgIFQKKysgU0FMIERTVCAgICAgICAgICAgICAgICAgIFpUCisrIFNBTCBEVC0gICAgICAgICAgICAgICAgICBfCisrIFNBTCBEVUlTLV4gICAgICAgICAgICAgICBUSQorKyBTQUwgRFVSQ0heXiAgICAgICAgICAgICAgVFVSSworKyBTQUwgRFpTKENIKS0tICAgICAgICAgICAgVAorKyBTQUwgRChT31opICAgICAgICAgICAgICAgWgorKyBTQUwgRCAgICAgICAgICAgICAgICAgICAgVAorKyBTQUwgRUFVTFQkICAgICAgICAgICAgICAgVQorKyBTQUwgRUFVWCQgICAgICAgICAgICAgICAgVQorKyBTQUwgRUFVICAgICAgICAgICAgICAgICAgVQorKyBTQUwgRUFWICAgICAgICAgICAgICAgICAgSUYKKysgU0FMIEVBKEHERUlP1txZKS0zICAgICAgIEVBCisrIFNBTCBFQTMkICAgICAgICAgICAgICAgICBFQQorKyBTQUwgRUEzICAgICAgICAgICAgICAgICAgSQorKyBTQUwgRUJFTl5eICAgICAgICAgICAgICAgRVBOCisrIFNBTCBFRTkgICAgICAgICAgICAgICAgICBFCisrIFNBTCBFSUVJLS0gICAgICAgICAgICAgICBfCisrIFNBTCBFSUgtLSAgICAgICAgICAgICAgICBFCisrIFNBTCBFSUxMRSQgICAgICAgICAgICAgICBFSQorKyBTQUwgRUkgICAgICAgICAgICAgICAgICAgRUkKKysgU0FMIEVKJCAgICAgICAgICAgICAgICAgIEVJCisrIFNBTCBFTC1eICAgICAgICAgICAgICAgICBFCisrIFNBTCBFTChES0wpLS0xICAgICAgICAgICBFCisrIFNBTCBFTChNTlQpLS0xJCAgICAgICAgICBFCisrIFNBTCBFTFlORSQgICAgICAgICAgICAgICBFTElORQorKyBTQUwgRUxZTiQgICAgICAgICAgICAgICAgRUxJTgorKyBTQUwgRUwoQcRFSU/WVdxZKS0xICAgICAgRUwKKysgU0FMIEVMLTEgICAgICAgICAgICAgICAgIEwKKysgU0FMIEVNLV4gICAgICAgICAgICAgICAgIEUKKysgU0FMIEVNKERGS01QUVQpLS0xICAgICAgIEUKKysgU0FMIEVNKEHERUlP1lXcWSktLTEgICAgIEUKKysgU0FMIEVNLTEgICAgICAgICAgICAgICAgIE4KKysgU0FMIEVOLV4gICAgICAgICAgICAgICAgIEUKKysgU0FMIEVOKENER0tRVCktLTEgICAgICAgIEUKKysgU0FMIEVOWihBRUlPVVkpLS0xICAgICAgIEVOCisrIFNBTCBFTihBxEVJTk/WVdxZKS0xICAgICBFTgorKyBTQUwgRU4tPDEgICAgICAgICAgICAgICAgTgorKyBTQUwgRVJIKEHERUlP1lXcKS1eICAgICAgRVIKKysgU0FMIEVSLV4gICAgICAgICAgICAgICAgIEUKKysgU0FMIEVSKEHERUlP1lXcWSktMSAgICAgIEEKKysgU0FMIEVSMSQgICAgICAgICAgICAgICAgIEEKKysgU0FMIEVSPDEgICAgICAgICAgICAgICAgIEEKKysgU0FMIEVUSShBxE/W3FUpLSAgICAgICAgIEVaSQorKyBTQUwgRVVFVS0tICAgICAgICAgICAgICAgXworKyBTQUwgRVVJTExFJCAgICAgICAgICAgICAg1gorKyBTQUwgRVVSJCAgICAgICAgICAgICAgICAg1lIKKysgU0FMIEVVWCAgICAgICAgICAgICAgICAgINYKKysgU0FMIEVVWVMkICAgICAgICAgICAgICAgIEVVWgorKyBTQUwgRVUgICAgICAgICAgICAgICAgICAgRVUKKysgU0FMIEVZRVI8ICAgICAgICAgICAgICAgIEVJQQorKyBTQUwgRVk8ICAgICAgICAgICAgICAgICAgRUkKKysgU0FMIEUgICAgICAgICAgICAgICAgICAgIEUKKysgU0FMIEZBTlMtLV4kICAgICAgICAgICAgIEZFCisrIFNBTCBGQU4tXiQgICAgICAgICAgICAgICBGRQorKyBTQUwgRkFVTFQtICAgICAgICAgICAgICAgRlVMCisrIFNBTCBGRUUoREwpLSAgICAgICAgICAgICBGSQorKyBTQUwgRkVITEVSICAgICAgICAgICAgICAgRkVMQQorKyBTQUwgRkUoTE1OUlNUKS0zXiAgICAgICAgRkUKKysgU0FMIEZPTkQ3ICAgICAgICAgICAgICAgIEZVTgorKyBTQUwgRlJBSU4kICAgICAgICAgICAgICAgRlJBCisrIFNBTCBGUklTRVUoUlMpLSAgICAgICAgICBGUkla1iAgIyB4CisrIFNBTCBGICAgICAgICAgICAgICAgICAgICBGCisrIFNBTCBHJ1MkICAgICAgICAgICAgICAgICBYCisrIFNBTCBHQUdTXiQgICAgICAgICAgICAgICBLRVgKKysgU0FMIEdBR14kICAgICAgICAgICAgICAgIEtFSworKyBTQUwgR0QgICAgICAgICAgICAgICAgICAgS1QKKysgU0FMIEdFR0VOXl4gICAgICAgICAgICAgIEtFS04KKysgU0FMIEdFKExNTlJTVCktM14gICAgICAgIEtFCisrIFNBTCBHRVRURSQgICAgICAgICAgICAgICBLRVQKKysgU0FMIEcoQ0spLSAgICAgICAgICAgICAgIF8KKysgU0FMIEdHLSAgICAgICAgICAgICAgICAgIF8KKysgU0FMIEdJKEFPKS1eICAgICAgICAgICAgIEkKKysgU0FMIEdJT04kICAgICAgICAgICAgICAgIEtJVU4KKysgU0FMIEdJVVMtXiAgICAgICAgICAgICAgIElVCisrIFNBTCBHTUJIXiQgICAgICAgICAgICAgICBHTVBICisrIFNBTCBHTkFDJCAgICAgICAgICAgICAgICBOSUFLCisrIFNBTCBHTk9OJCAgICAgICAgICAgICAgICBOSVVOCisrIFNBTCBHTiQgICAgICAgICAgICAgICAgICBOCisrIFNBTCBHT05DQUwtXiAgICAgICAgICAgICBLVU5aQQorKyBTQUwgR1MoQ0gpLS0gICAgICAgICAgICAgSworKyBTQUwgR1NUICAgICAgICAgICAgICAgICAgWFQKKysgU0FMIEcoU99YWikgICAgICAgICAgICAgIFgKKysgU0FMIEdVQ0stICAgICAgICAgICAgICAgIEtVCisrIFNBTCBHVUktXiAgICAgICAgICAgICAgICBLCisrIFNBTCBHICAgICAgICAgICAgICAgICAgICBLCisrIFNBTCBIRUFELSAgICAgICAgICAgICAgICBFCisrIFNBTCBIRShMTU5SU1QpLTNeICAgICAgICBFCisrIFNBTCBIRShMTU4pLTEgICAgICAgICAgICBFCisrIFNBTCBIRVVSMSQgICAgICAgICAgICAgICDWUgorKyBTQUwgSF4gICAgICAgICAgICAgICAgICAgXworKyBTQUwgSUVDJCAgICAgICAgICAgICAgICAgSVoKKysgU0FMIElFSS0zICAgICAgICAgICAgICAgIF8KKysgU0FMIElFTEwzICAgICAgICAgICAgICAgIElFTAorKyBTQUwgSUVOTkUkICAgICAgICAgICAgICAgSU4KKysgU0FMIElFUlJFJCAgICAgICAgICAgICAgIElFUgorKyBTQUwgSUVUVEUkICAgICAgICAgICAgICAgSVQKKysgU0FMIElFVSAgICAgICAgICAgICAgICAgIEnWCisrIFNBTCBJRTw0ICAgICAgICAgICAgICAgICBJCisrIFNBTCBJR0hUMyQgICAgICAgICAgICAgICBFSVQKKysgU0FMIElHTkkoRU8pLSAgICAgICAgICAgIElOSQorKyBTQUwgSUdOKEFFT1UpLSQgICAgICAgICAgSU5JCisrIFNBTCBJSihBT1UpLSAgICAgICAgICAgICBJCisrIFNBTCBJSiQgICAgICAgICAgICAgICAgICBJCisrIFNBTCBJSjwgICAgICAgICAgICAgICAgICBFSQorKyBTQUwgSUtPTEUkICAgICAgICAgICAgICAgSUtVTAorKyBTQUwgSUxMQU4oU1RaKS0tICAgICAgICAgSUxJQQorKyBTQUwgSUxMQVIoRFQpLS0gICAgICAgICAgSUxJQQorKyBTQUwgSU5WRVItICAgICAgICAgICAgICAgSU5GRQorKyBTQUwgSVRJKEHET9ZV3CktICAgICAgICAgSVpJCisrIFNBTCBJVklFUiQgICAgICAgICAgICAgICBJRklFCisrIFNBTCBJICAgICAgICAgICAgICAgICAgICBJCisrIFNBTCBKQVZJRS0tLTxeICAgICAgICAgICBaQQorKyBTQUwgSkVBTl4kICAgICAgICAgICAgICAgSUEKKysgU0FMIEpFQU4tXiAgICAgICAgICAgICAgIElBCisrIFNBTCBKRVItXiAgICAgICAgICAgICAgICBJRQorKyBTQUwgSkUoTE1OU1QpLSAgICAgICAgICAgSUUKKysgU0FMIEpPUihHSyleJCAgICAgICAgICAgIEnWUksKKysgU0FMIEogICAgICAgICAgICAgICAgICAgIEkKKysgU0FMIEtDKMRFSUopLSAgICAgICAgICAgIFgKKysgU0FMIEtFKExNTlJTVCktM14gICAgICAgIEtFCisrIFNBTCBLSDxeICAgICAgICAgICAgICAgICBLCisrIFNBTCBLSUMkICAgICAgICAgICAgICAgICBLSVoKKysgU0FMIEtMRShMTU5SU1QpLTNeICAgICAgIEtMRQorKyBTQUwgS09URUxFLV4gICAgICAgICAgICAgS1VUTAorKyBTQUwgS1JFQVQtXiAgICAgICAgICAgICAgS1JFQQorKyBTQUwgS1NUICAgICAgICAgICAgICAgICAgWFQKKysgU0FMIEsoU99YWikgICAgICAgICAgICAgIFgKKysgU0FMIEtUSShBSU9VKS0zICAgICAgICAgIFhJCisrIFNBTCBLVChT31haKSAgICAgICAgICAgICBYCisrIFNBTCBLICAgICAgICAgICAgICAgICAgICBLCisrIFNBTCBMQVJWRS0gICAgICAgICAgICAgICBMQVJGCisrIFNBTCBMRUFORC1eICAgICAgICAgICAgICBMRUFOCisrIFNBTCBMRUwtICAgICAgICAgICAgICAgICBMRQorKyBTQUwgTEUoTU5SU1QpLTNeICAgICAgICAgTEUKKysgU0FMIExFVFRFJCAgICAgICAgICAgICAgIExFVAorKyBTQUwgTEZHTkFHLSAgICAgICAgICAgICAgTEZLQU4KKysgU0FMIExJQyQgICAgICAgICAgICAgICAgIExJWgorKyBTQUwgTElWRV4kICAgICAgICAgICAgICAgTEVJRgorKyBTQUwgTFVJKEdTKS0tICAgICAgICAgICAgTFUKKysgU0FMIEwgICAgICAgICAgICAgICAgICAgIEwKKysgU0FMIE1BU1NFVShSUyktICAgICAgICAgIE5BWtYKKysgU0FMIE1BVVJJQ0UgICAgICAgICAgICAgIE5VUklaCisrIFNBTCBNQkheJCAgICAgICAgICAgICAgICBNUEgKKysgU0FMIE1CKFPfWiktICAgICAgICAgICAgIE4KKysgU0FMIE1DOV4gICAgICAgICAgICAgICAgIE5LCisrIFNBTCBNRU1PSVItXiAgICAgICAgICAgICBORU5VQQorKyBTQUwgTUUoTE1OUlNUKS0zXiAgICAgICAgTkUKKysgU0FMIE1JR1VFTCAgICAgICAgICAgICAgIE5JS0wKKysgU0FMIE1JS0VeJCAgICAgICAgICAgICAgIE5FSUsKKysgU0FMIE1OICAgICAgICAgICAgICAgICAgIE4KKysgU0FMIE1QSlVURS0gICAgICAgICAgICAgIE5QVVQKKysgU0FMIE1QKFPfWiktICAgICAgICAgICAgIE4KKysgU0FMIE1QKEJESkxNTlBRUlRWVyktICAgIE5QCisrIFNBTCBNICAgICAgICAgICAgICAgICAgICBOCisrIFNBTCBOQUNIXl4gICAgICAgICAgICAgICBOQUsKKysgU0FMIE5BRElORSAgICAgICAgICAgICAgIE5BVElOCisrIFNBTCBOQUlWLS0gICAgICAgICAgICAgICBOQQorKyBTQUwgTkFJU0UkICAgICAgICAgICAgICAgTkVaRQorKyBTQUwgTkNPSVNFJCAgICAgICAgICAgICAgWlVBCisrIFNBTCBOQ09JUyQgICAgICAgICAgICAgICBaVUEKKysgU0FMIE5FQkVOXl4gICAgICAgICAgICAgIE5FUE4KKysgU0FMIE5FKExNTlJTVCktM14gICAgICAgIE5FCisrIFNBTCBORU4tMyAgICAgICAgICAgICAgICBORQorKyBTQUwgTkVUVEUkICAgICAgICAgICAgICAgTkVUCisrIFNBTCBORyhCREZKTE1OUFFSVFZXKS0gICBOSworKyBTQUwgTklDSFRTXl4gICAgICAgICAgICAgTklYCisrIFNBTCBOSUNIVF5eICAgICAgICAgICAgICBOSUtUCisrIFNBTCBOSU5FJCAgICAgICAgICAgICAgICBOSU4KKysgU0FMIE5PTl5eICAgICAgICAgICAgICAgIE5VTgorKyBTQUwgTk9UXl4gICAgICAgICAgICAgICAgTlVUCisrIFNBTCBOVEkoQUlPVSktMyAgICAgICAgICBOWkkKKysgU0FMIE5USUVMLS0zICAgICAgICAgICAgIE5aSQorKyBTQUwgTllMT04gICAgICAgICAgICAgICAgTkVJTFVOCisrIFNBTCBORChT31opJCAgICAgICAgICAgICBOWgorKyBTQUwgTlQoU99aKSQgICAgICAgICAgICAgTloKKysgU0FMIE5EJ1MkICAgICAgICAgICAgICAgIE5aCisrIFNBTCBOVCdTJCAgICAgICAgICAgICAgICBOWgorKyBTQUwgTlNUUyQgICAgICAgICAgICAgICAgTloKKysgU0FMIE4gICAgICAgICAgICAgICAgICAgIE4KKysgU0FMIE9CRVJeXiAgICAgICAgICAgICAgIFVQQQorKyBTQUwgT0UyICAgICAgICAgICAgICAgICAg1gorKyBTQUwgT0dOSUUtICAgICAgICAgICAgICAgVU5JCisrIFNBTCBPR04oQUVPVSktJCAgICAgICAgICBVTkkKKysgU0FMIE9JRSQgICAgICAgICAgICAgICAgINYKKysgU0FMIE9JUiQgICAgICAgICAgICAgICAgIFVBUgorKyBTQUwgT0lYICAgICAgICAgICAgICAgICAgVUEKKysgU0FMIE9JPDMgICAgICAgICAgICAgICAgIEVVCisrIFNBTCBPSihBxEVJT9ZV3CktLSAgICAgICBVCisrIFNBTCBPS0FZXiQgICAgICAgICAgICAgICBVS0UKKysgU0FMIE9MWU4kICAgICAgICAgICAgICAgIFVMSU4KKysgU0FMIE9USShBxE/WVdwpLSAgICAgICAgIFVaSQorKyBTQUwgT1VJXiAgICAgICAgICAgICAgICAgRkkKKysgU0FMIE9VSUxMRSQgICAgICAgICAgICAgIFVMSUUKKysgU0FMIE9VKERUKS1eICAgICAgICAgICAgIEFVCisrIFNBTCBPVVNFJCAgICAgICAgICAgICAgICBBVVoKKysgU0FMIE9VVC0gICAgICAgICAgICAgICAgIEFVCisrIFNBTCBPVSAgICAgICAgICAgICAgICAgICBVCisrIFNBTCBPV1MkICAgICAgICAgICAgICAgICBVWgorKyBTQUwgT1koQcRFSU/WVdwpLS0gICAgICAgVQorKyBTQUwgTyhKWSk8ICAgICAgICAgICAgICAgRVUKKysgU0FMIE8gICAgICAgICAgICAgICAgICAgIFUKKysgU0FMIFBBVElFTi0tXiAgICAgICAgICAgIFBBWkkKKysgU0FMIFBFTlNJTy1eICAgICAgICAgICAgIFBBTlpJCisrIFNBTCBQRShMTU5SU1QpLTNeICAgICAgICBQRQorKyBTQUwgUEZFUi1eICAgICAgICAgICAgICAgRkUKKysgU0FMIFAoRkgpPCAgICAgICAgICAgICAgIEYKKysgU0FMIFBPTFleXiAgICAgICAgICAgICAgIFBVTEkKKysgU0FMIFBPUlRSQUlUNyAgICAgICAgICAgIFBVUlRSRQorKyBTQUwgUFAoRkgpLS08ICAgICAgICAgICAgUAorKyBTQUwgUFAtICAgICAgICAgICAgICAgICAgXworKyBTQUwgUFJJWF4kICAgICAgICAgICAgICAgUFJJCisrIFNBTCBQKFPfWileICAgICAgICAgICAgICBaCisrIFNBTCBQVEkoQcRP1lXcKS0zICAgICAgICBQWkkKKysgU0FMIFBJQ14kICAgICAgICAgICAgICAgIFBJSworKyBTQUwgUCAgICAgICAgICAgICAgICAgICAgUAorKyBTQUwgUVVFKExNTlJTVCktMyAgICAgICAgS0ZFCisrIFNBTCBRVUUkICAgICAgICAgICAgICAgICBLCisrIFNBTCBRVUkoTlMpJCAgICAgICAgICAgICBLSQorKyBTQUwgUVUgICAgICAgICAgICAgICAgICAgS0YKKysgU0FMIFE8ICAgICAgICAgICAgICAgICAgIEsKKysgU0FMIFJDSCAgICAgICAgICAgICAgICAgIFJLCisrIFNBTCBSRUNIRVJDSF4gICAgICAgICAgICBSRVpBWgorKyBTQUwgUkVSJCAgICAgICAgICAgICAgICAgUkEKKysgU0FMIFJFKE1OUiktNCAgICAgICAgICAgIFJFCisrIFNBTCBSRVRURSQgICAgICAgICAgICAgICBSRVQKKysgU0FMIFJIPF4gICAgICAgICAgICAgICAgIFIKKysgU0FMIFJKQShNTiktLSAgICAgICAgICAgIFJJCisrIFNBTCBSVEkoQcRP1lXcKS0zICAgICAgICBSWkkKKysgU0FMIFJZKEtOKS0kICAgICAgICAgICAgIFJJCisrIFNBTCBSICAgICAgICAgICAgICAgICAgICBSCisrIFNBTCBTQUZFXiQgICAgICAgICAgICAgICBaRUlGCisrIFNBTCBTQVVDRS1eICAgICAgICAgICAgICBaVVoKKysgU0FMIFNDSFNDSC0tLTcgICAgICAgICAgIF8KKysgU0FMIFNDSFRTQ0ggICAgICAgICAgICAgIFoKKysgU0FMIFNDKEhaKTwgICAgICAgICAgICAgIFoKKysgU0FMIFNDICAgICAgICAgICAgICAgICAgIFpLCisrIFNBTCBTRUxCU1RTVC0tN15eICAgICAgICBaRUxQCisrIFNBTCBTRUxCU1Q3Xl4gICAgICAgICAgICBaRUxQWlQKKysgU0FMIFNFUlZJQ0U3XiAgICAgICAgICAgIFrWUkZJWgorKyBTQUwgU0UoTE1OUlNUKS0zXiAgICAgICAgWkUKKysgU0FMIFNFVFRFJCAgICAgICAgICAgICAgIFpFVAorKyBTQUwgU0hQLV4gICAgICAgICAgICAgICAgWgorKyBTQUwgU0hTVCAgICAgICAgICAgICAgICAgWlQKKysgU0FMIFNIVFNIICAgICAgICAgICAgICAgIFoKKysgU0FMIFNIVCAgICAgICAgICAgICAgICAgIFoKKysgU0FMIFNIMyAgICAgICAgICAgICAgICAgIFoKKysgU0FMIFNJRUdMSS1eICAgICAgICAgICAgIFpJS0wKKysgU0FMIFNJR0xJLV4gICAgICAgICAgICAgIFpJS0wKKysgU0FMIFNJR0hUICAgICAgICAgICAgICAgIFpFSVQKKysgU0FMIFNJR04gICAgICAgICAgICAgICAgIFpFSU4KKysgU0FMIFNLSShOUFopLSAgICAgICAgICAgIFpLSQorKyBTQUwgU0tJPF4gICAgICAgICAgICAgICAgWkkKKysgU0FMIFNPVU5ELSAgICAgICAgICAgICAgIFpBVU4KKysgU0FMIFNUQUFUU15eICAgICAgICAgICAgIFpUQVoKKysgU0FMIFNUQURUXl4gICAgICAgICAgICAgIFpUQVQKKysgU0FMIFNUQVJUXl4gICAgICAgICAgICAgIFpUQVJUCisrIFNBTCBTVEFVUkFOVDcgICAgICAgICAgICBaVFVSQU4KKysgU0FMIFNURUFLLSAgICAgICAgICAgICAgIFpURQorKyBTQUwgU1RSQUZeXiAgICAgICAgICAgICAgWlRSQUYKKysgU0FMIFNUJ1MkICAgICAgICAgICAgICAgIFoKKysgU0FMIFNUU1QtLSAgICAgICAgICAgICAgIF8KKysgU0FMIFNUUyhBQ0VISU9VxNzWKS0tICAgIFpUCisrIFNBTCBTVChTWikgICAgICAgICAgICAgICBaCisrIFNBTCBTVFlOKEFFKS0kICAgICAgICAgICBaVElOCisrIFNBTCBTVCAgICAgICAgICAgICAgICAgICBaVAorKyBTQUwgU1pFKE5QVCktXiAgICAgICAgICAgWkUKKysgU0FMIFNaSShFTE4pLV4gICAgICAgICAgIFpJCisrIFNBTCBTWkNaPCAgICAgICAgICAgICAgICBaCisrIFNBTCBTWlQ8ICAgICAgICAgICAgICAgICBaVAorKyBTQUwgU1o8MyAgICAgICAgICAgICAgICAgWgorKyBTQUwgUyAgICAgICAgICAgICAgICAgICAgWgorKyBTQUwgVCdTMyQgICAgICAgICAgICAgICAgWgorKyBTQUwgVENIICAgICAgICAgICAgICAgICAgWgorKyBTQUwgVEVBVC1eICAgICAgICAgICAgICAgVEVBCisrIFNBTCBURShMTU5SU1QpLTNeICAgICAgICBURQorKyBTQUwgVEg8ICAgICAgICAgICAgICAgICAgVAorKyBTQUwgVElDJCAgICAgICAgICAgICAgICAgVElaCisrIFNBTCBUT0FTLV4gICAgICAgICAgICAgICBUVQorKyBTQUwgVE9JTEVULSAgICAgICAgICAgICAgVFVMRQorKyBTQUwgVE9JTi0gICAgICAgICAgICAgICAgVFVBCisrIFNBTCBUUkFJTkktICAgICAgICAgICAgICBUUkVOCisrIFNBTCBUU0NIICAgICAgICAgICAgICAgICBaCisrIFNBTCBUU0ggICAgICAgICAgICAgICAgICBaCisrIFNBTCBUU1QgICAgICAgICAgICAgICAgICBaVAorKyBTQUwgVChT3ykgICAgICAgICAgICAgICAgWgorKyBTQUwgVFQoU1opLS08ICAgICAgICAgICAgXworKyBTQUwgVFQ5ICAgICAgICAgICAgICAgICAgVAorKyBTQUwgVFotICAgICAgICAgICAgICAgICAgXworKyBTQUwgVCAgICAgICAgICAgICAgICAgICAgVAorKyBTQUwgVUVCRVJeXiAgICAgICAgICAgICAgSVBBCisrIFNBTCBVRTIgICAgICAgICAgICAgICAgICBJCisrIFNBTCBVSUUkICAgICAgICAgICAgICAgICBJCisrIFNBTCBVTV5eICAgICAgICAgICAgICAgICBVTgorKyBTQUwgVU5URVJFLS0gICAgICAgICAgICAgVU5URQorKyBTQUwgVU5URVJeXiAgICAgICAgICAgICAgVU5UQQorKyBTQUwgVU5WRVJeXiAgICAgICAgICAgICAgVU5GQQorKyBTQUwgVU5eXiAgICAgICAgICAgICAgICAgVU4KKysgU0FMIFVUSShBxE/WVdwpLSAgICAgICAgIFVaSQorKyBTQUwgVSAgICAgICAgICAgICAgICAgICAgVQorKyBTQUwgVkFDTC1eICAgICAgICAgICAgICAgRkFaCisrIFNBTCBWQUMkICAgICAgICAgICAgICAgICBGQVoKKysgU0FMIFZFREQtXiAgICAgICAgICAgICAgIEZFCisrIFNBTCBWRVJFSU4gICAgICAgICAgICAgICBGQUVJTgorKyBTQUwgVkVSU0VOXiAgICAgICAgICAgICAgRkFaTgorKyBTQUwgVkVSXl4gICAgICAgICAgICAgICAgRkEKKysgU0FMIFZFUiAgICAgICAgICAgICAgICAgIEZBCisrIFNBTCBWRVQoSFQpLV4gICAgICAgICAgICBGRVQKKysgU0FMIFZFVFRFJCAgICAgICAgICAgICAgIEZFVAorKyBTQUwgVklDJCAgICAgICAgICAgICAgICAgRklaCisrIFNBTCBWSUVMICAgICAgICAgICAgICAgICBGSUwKKysgU0FMIFZJRVcgICAgICAgICAgICAgICAgIEZJVQorKyBTQUwgVk9SXl4gICAgICAgICAgICAgICAgRlVSCisrIFNBTCBWWTleICAgICAgICAgICAgICAgICBGSQorKyBTQUwgVjwgICAgICAgICAgICAgICAgICAgRgorKyBTQUwgV0UoTE1OUlNUKS0zXiAgICAgICAgRkUKKysgU0FMIFdJQyQgICAgICAgICAgICAgICAgIEZJWgorKyBTQUwgV0lFREVSXl4gICAgICAgICAgICAgRklUQQorKyBTQUwgV1k5XiAgICAgICAgICAgICAgICAgRkkKKysgU0FMIFcgICAgICAgICAgICAgICAgICAgIEYKKysgU0FMIFhFKExNTlJTVCktM14gICAgICAgIFhFCisrIFNBTCBYPF4gICAgICAgICAgICAgICAgICBaCisrIFNBTCBYKENTWikgICAgICAgICAgICAgICBYCisrIFNBTCBYVFMoQ0gpLS0gICAgICAgICAgICBYVAorKyBTQUwgWFQoU1opICAgICAgICAgICAgICAgWgorKyBTQUwgWCAgICAgICAgICAgICAgICAgICAgWAorKyBTQUwgWUUoTE1OUlNUKS0zXiAgICAgICAgSUUKKysgU0FMIFlFLTMgICAgICAgICAgICAgICAgIEkKKysgU0FMIFlPUihHSyleJCAgICAgICAgICAgIEnWUksKKysgU0FMIFkoQU9VKS08NyAgICAgICAgICAgIEkKKysgU0FMIFlWRVNeJCAgICAgICAgICAgICAgIElGCisrIFNBTCBZVk9OTkVeJCAgICAgICAgICAgICBJRlVOCisrIFNBTCBZICAgICAgICAgICAgICAgICAgICBJCisrIFNBTCBaQyhBT1UpLSAgICAgICAgICAgICBaSworKyBTQUwgWkUoTE1OUlNUKS0zXiAgICAgICAgWkUKKysgU0FMIFpIPCAgICAgICAgICAgICAgICAgIFoKKysgU0FMIFpTKENIVCktLSAgICAgICAgICAgIF8KKysgU0FMIFpTICAgICAgICAgICAgICAgICAgIFoKKysgU0FMIFpVRVJTVCAgICAgICAgICAgICAgIFpVRVJaVAorKyBTQUwgWlVS3ENLXl4gICAgICAgICAgICAgWlVSSUsKKysgU0FMIFpVVkVSXl4gICAgICAgICAgICAgIFpVRkEgICAgIyB4CisrIFNBTCBaICAgICAgICAgICAgICAgICAgICBaCmRpZmYgLS1naXQgYS9ydW50aW1lL3NwZWxsL2RlL2RlX0FULmRpZmYgYi9ydW50aW1lL3NwZWxsL2RlL2RlX0FULmRpZmYKaW5kZXggNTk0N2E5OC4uOWY4YzRkMSAxMDA2NDQKLS0tIGEvcnVudGltZS9zcGVsbC9kZS9kZV9BVC5kaWZmCisrKyBiL3J1bnRpbWUvc3BlbGwvZGUvZGVfQVQuZGlmZgpAQCAtMSwxNiArMSwxMyBAQAogKioqIGRlX0FULm9yaWcuYWZmCVRodSBBdWcgMjUgMTE6MjI6MTYgMjAwNQotLS0tIGRlX0FULmFmZglUaHUgQXVnIDI1IDExOjIyOjE2IDIwMDUKKy0tLSBkZV9BVC5hZmYJVGh1IFNlcCAyOSAxMTo0NDo0NSAyMDA1CiAqKioqKioqKioqKioqKioKICoqKiAzLDQgKioqKgotLS0tIDMsMjQgLS0tLQorLS0tIDMsMjEgLS0tLQogICAKICsgRk9MICDg4eLj5OXm5+jp6uvs7e7v8PHy8/T19vj5+vv8/f7f/wogKyBMT1cgIODh4uPk5ebn6Onq6+zt7u/w8fLz9PX2+Pn6+/z9/t//CiArIFVQUCAgwMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbY2drb3N3e3/8KICsgCi0rIFNPRk9GUk9NIGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVrg4eLj5OXm5+jp6uvs7e7v8PHy8/T19vj5+vv8/f7f/8DBwsPExcbHyMnKy8zNzs/Q0dLT1NXW2Nna29zd3r8KLSsgU09GT1RPICAgZWJjdGVmZ2hlamtsbm5lcGtyc3RldnZrZXNlYmN0ZWZnaGVqa2xubmVwa3JzdGV2dmtlc2VlZWVlZWVjZWVlZWVlZWVkbmVlZWVlZWVlZWVlcHNlZWVlZWVlZWNlZWVlZWVlZWRuZWVlZWVlZWVlZWVwPwotKyAKICsgTUlEV09SRAknCiArIAogKyBNQVAgOQpAQCAtMjUsNiArMjIsNDg2IEBACiArIE1BUCBz3wogKyAKICAgCisqKioqKioqKioqKioqKioKKyoqKiA1MDQgKioqKgorLS0tIDUyMSw5OTcgLS0tLQorICAKKysgCisrICMgICBHZXJtYW4gcGhvbmV0aWMgdHJhbnNmb3JtYXRpb24gcnVsZXMgZnJvbSBBc3BlbGwKKysgIyAgIENvcHlyaWdodCAoQykgMjAwMCBCavZybiBKYWNrZSwgZGlzdHJpYnV0ZWQgdW5kZXIgTEdQTC4KKysgIyAgIEJq9nJuIEphY2tlIG1heSBiZSByZWFjaGVkIGJ5IGVtYWlsIGF0IGJqb2Vybi5qYWNrZUBnbXguZGUKKysgIyAgIExhc3QgY2hhbmdlZCAyMDAwLTAxLTA3CisrIAorKyBTQUwgZm9sbG93dXAgICAgICAgIDEKKysgU0FMIGNvbGxhcHNlX3Jlc3VsdCAxCisrIAorKyBTQUwgxEVSLSAgICAgICAgICAgICAgICAgRQorKyBTQUwgxFU8ICAgICAgICAgICAgICAgICAgRVUKKysgU0FMIMQ8ICAgICAgICAgICAgICAgICAgIEUKKysgU0FMIMkgICAgICAgICAgICAgICAgICAgIEUKKysgU0FMINZFUi0gICAgICAgICAgICAgICAgINYKKysgU0FMINYgICAgICAgICAgICAgICAgICAgINYKKysgU0FMINxCRVJeXiAgICAgICAgICAgICAgIElQQQorKyBTQUwg3EVSLSAgICAgICAgICAgICAgICAgSQorKyBTQUwg3CAgICAgICAgICAgICAgICAgICAgSQorKyBTQUwg3yAgICAgICAgICAgICAgICAgICAgWgorKyBTQUwgQUJFTExFJCAgICAgICAgICAgICAgQVBMCisrIFNBTCBBQkVMTCQgICAgICAgICAgICAgICBBUEwKKysgU0FMIEFCSUVOTkUkICAgICAgICAgICAgIEFQSU4KKysgU0FMIEFDRVkkICAgICAgICAgICAgICAgIEFaSQorKyBTQUwgQUVVPCAgICAgICAgICAgICAgICAgRVUKKysgU0FMIEFFMiAgICAgICAgICAgICAgICAgIEUKKysgU0FMIEFHTkktXiAgICAgICAgICAgICAgIEFLTgorKyBTQUwgQUdOSUUtICAgICAgICAgICAgICAgQU5JCisrIFNBTCBBR04oQUVPVSktJCAgICAgICAgICBBTkkKKysgU0FMIEFJQTIgICAgICAgICAgICAgICAgIEFJQQorKyBTQUwgQUlFJCAgICAgICAgICAgICAgICAgRQorKyBTQUwgQUlMTChFT1UpLSAgICAgICAgICAgQUxJCisrIFNBTCBBSU5FJCAgICAgICAgICAgICAgICBFTgorKyBTQUwgQUlSRSQgICAgICAgICAgICAgICAgRVIKKysgU0FMIEFJUi0gICAgICAgICAgICAgICAgIEUKKysgU0FMIEFJU0UkICAgICAgICAgICAgICAgIEVaCisrIFNBTCBBSVNTQU5DRSQgICAgICAgICAgICBFWkFOWgorKyBTQUwgQUlTU0UkICAgICAgICAgICAgICAgRVoKKysgU0FMIEFJWCQgICAgICAgICAgICAgICAgIEVYCisrIFNBTCBBSihBxEVJT9ZV3CktLSAgICAgICBBCisrIFNBTCBBS1RJRSAgICAgICAgICAgICAgICBBWElFCisrIFNBTCBBTE8oSVkpXiAgICAgICAgICAgICBBTFVJCisrIFNBTCBBTUFURVUoUlMpLSAgICAgICAgICBBTkFU1gorKyBTQUwgQU5JRUxMRSQgICAgICAgICAgICAgQU5JTAorKyBTQUwgQU5USV5eICAgICAgICAgICAgICAgQU5USQorKyBTQUwgQU5WRVJeXiAgICAgICAgICAgICAgQU5GQQorKyBTQUwgQVRJQSQgICAgICAgICAgICAgICAgQVRJQQorKyBTQUwgQVRJQShOUyktLSAgICAgICAgICAgQVRJCisrIFNBTCBBVEkoQcRP1lXcKS0gICAgICAgICBBWkkKKysgU0FMIEFVQVUtLSAgICAgICAgICAgICAgIF8KKysgU0FMIEFVRVI8ICAgICAgICAgICAgICAgIEFVQQorKyBTQUwgQVVGXl4gICAgICAgICAgICAgICAgQVVGCisrIFNBTCBBVUxUJCAgICAgICAgICAgICAgICBVCisrIFNBTCBBVVNTRSQgICAgICAgICAgICAgICBVWgorKyBTQUwgQVVTKFNUKS1eICAgICAgICAgICAgQVVaCisrIFNBTCBBVVNeXiAgICAgICAgICAgICAgICBBVVoKKysgU0FMIEFVVE9eXiAgICAgICAgICAgICAgIEFVVFUKKysgU0FMIEFVWChJWSktICAgICAgICAgICAgIEFVWAorKyBTQUwgQVVYICAgICAgICAgICAgICAgICAgVQorKyBTQUwgQVUgICAgICAgICAgICAgICAgICAgQVUKKysgU0FMIEFWSUVSJCAgICAgICAgICAgICAgIEFGSUUKKysgU0FMIEFZRVItLTwgICAgICAgICAgICAgIEVJCisrIFNBTCBBWShBxEVJT9ZV3CktLSAgICAgICBBCisrIFNBTCBBKElKWSk8ICAgICAgICAgICAgICBFSQorKyBTQUwgQSAgICAgICAgICAgICAgICAgICAgQQorKyBTQUwgQkVBKEJDTU5SVSktXiAgICAgICAgUEVBCisrIFNBTCBCRUFUKEFFSU1PUlUpLV4gICAgICBQRUFUCisrIFNBTCBCRUlHRV4kICAgICAgICAgICAgICBQRVoKKysgU0FMIEJFKExNTlJTVCktXiAgICAgICAgIFBFCisrIFNBTCBCRVRURSQgICAgICAgICAgICAgICBQRVQKKysgU0FMIEJJQyQgICAgICAgICAgICAgICAgIFBJWgorKyBTQUwgQk9XTChFSSktICAgICAgICAgICAgUFVMCisrIFNBTCBCUChBxEVJT9ZSVdxZKS0gICAgICBQCisrIFNBTCBCVURHRVQ3ICAgICAgICAgICAgICBQSUtFCisrIFNBTCBCVUZGRVQ3ICAgICAgICAgICAgICBQSUZFCisrIFNBTCBCWUxMRSQgICAgICAgICAgICAgICBQSUxFCisrIFNBTCBCWUxMJCAgICAgICAgICAgICAgICBQSUwKKysgU0FMIEJZVEU8ICAgICAgICAgICAgICAgIFBFSVQKKysgU0FMIEIgICAgICAgICAgICAgICAgICAgIFAKKysgU0FMIEPELSAgICAgICAgICAgICAgICAgIFoKKysgU0FMIEPcJCAgICAgICAgICAgICAgICAgIFpJCisrIFNBTCBDQUNIKEVJKS1eICAgICAgICAgICBLRVoKKysgU0FMIENBRS0tICAgICAgICAgICAgICAgIFoKKysgU0FMIENBKElZKSQgICAgICAgICAgICAgIFpFSQorKyBTQUwgQ0NIICAgICAgICAgICAgICAgICAgWgorKyBTQUwgQ0NFLSAgICAgICAgICAgICAgICAgWAorKyBTQUwgQ0UoRUlKVVkpLS0gICAgICAgICAgWgorKyBTQUwgQ0VOVDwgICAgICAgICAgICAgICAgWkVOVAorKyBTQUwgQ0VSU1QoRUkpLS0tLV4gICAgICAgS0UKKysgU0FMIENFUiQgICAgICAgICAgICAgICAgIFpBCisrIFNBTCBDRTMgICAgICAgICAgICAgICAgICBaRQorKyBTQUwgQ0hBTyhTVCktICAgICAgICAgICAgS0FVCisrIFNBTCBDSEFNUElPLV4gICAgICAgICAgICBaRU5QSQorKyBTQUwgQ0hBUihBSSktXiAgICAgICAgICAgS0FSCisrIFNBTCBDSEFVKENERlNWV1haKS0gICAgICBaVQorKyBTQUwgQ0hFKENGKS0gICAgICAgICAgICAgWkUKKysgU0FMIENIRU0tXiAgICAgICAgICAgICAgIEtFCisrIFNBTCBDSEVRVUU8ICAgICAgICAgICAgICBaRUsKKysgU0FMIENISShDRkdQVlcpLSAgICAgICAgIFpJCisrIFNBTCBDSChBRVVZKS08XiAgICAgICAgICBaCisrIFNBTCBDSEstICAgICAgICAgICAgICAgICBfCisrIFNBTCBDSChMT1IpLTxeICAgICAgICAgICBLCisrIFNBTCBDSFNULSAgICAgICAgICAgICAgICBYCisrIFNBTCBDSChT31haKTMgICAgICAgICAgICBYCisrIFNBTCBDSCAgICAgICAgICAgICAgICAgICBLCisrIFNBTCBDSUVSJCAgICAgICAgICAgICAgICBaSUUKKysgU0FMIENZQi1eICAgICAgICAgICAgICAgIFpFSQorKyBTQUwgQ1k5XiAgICAgICAgICAgICAgICAgWkkKKysgU0FMIEMoSUpZKS0zICAgICAgICAgICAgIFoKKysgU0FMIENLU1QgICAgICAgICAgICAgICAgIFhUCisrIFNBTCBDSyhT31haKTMgICAgICAgICAgICBYCisrIFNBTCBDKENLKS0gICAgICAgICAgICAgICBfCisrIFNBTCBDTEFVREVULS0tICAgICAgICAgICBLTFUKKysgU0FMIENMQVVESU5FXiQgICAgICAgICAgIEtMVVRJTgorKyBTQUwgQ09MRSQgICAgICAgICAgICAgICAgS1VMCisrIFNBTCBDT1VDSCAgICAgICAgICAgICAgICBLQVVaCisrIFNBTCBDUVVFUyQgICAgICAgICAgICAgICBLCisrIFNBTCBDUVVFICAgICAgICAgICAgICAgICBLCisrIFNBTCBDUkVBVC1eICAgICAgICAgICAgICBLUkVBCisrIFNBTCBDU1QgICAgICAgICAgICAgICAgICBYVAorKyBTQUwgQ1M8XiAgICAgICAgICAgICAgICAgWgorKyBTQUwgQyhT31gpICAgICAgICAgICAgICAgWAorKyBTQUwgQ1QoU99YWikgICAgICAgICAgICAgWAorKyBTQUwgQ1o8ICAgICAgICAgICAgICAgICAgWgorKyBTQUwgQzwgICAgICAgICAgICAgICAgICAgSworKyBTQUwgRCdIXiAgICAgICAgICAgICAgICAgVAorKyBTQUwgRCdTMyQgICAgICAgICAgICAgICAgWgorKyBTQUwgREFWTyhOUiktXiQgICAgICAgICAgVEFGVQorKyBTQUwgREQoU1opLS08ICAgICAgICAgICAgXworKyBTQUwgREVQT1Q3ICAgICAgICAgICAgICAgVEVQVQorKyBTQUwgREVTSUdOICAgICAgICAgICAgICAgVElaRUlOCisrIFNBTCBERShMTU5SU1QpLTNeICAgICAgICBURQorKyBTQUwgREVUVEUkICAgICAgICAgICAgICAgVEVUCisrIFNBTCBESUMkICAgICAgICAgICAgICAgICBUSVoKKysgU0FMIERKKEFFSU9VKS1eICAgICAgICAgIEkKKysgU0FMIERTKENIKS0tPCAgICAgICAgICAgIFQKKysgU0FMIERTVCAgICAgICAgICAgICAgICAgIFpUCisrIFNBTCBEVC0gICAgICAgICAgICAgICAgICBfCisrIFNBTCBEVUlTLV4gICAgICAgICAgICAgICBUSQorKyBTQUwgRFVSQ0heXiAgICAgICAgICAgICAgVFVSSworKyBTQUwgRFpTKENIKS0tICAgICAgICAgICAgVAorKyBTQUwgRChT31opICAgICAgICAgICAgICAgWgorKyBTQUwgRCAgICAgICAgICAgICAgICAgICAgVAorKyBTQUwgRUFVTFQkICAgICAgICAgICAgICAgVQorKyBTQUwgRUFVWCQgICAgICAgICAgICAgICAgVQorKyBTQUwgRUFVICAgICAgICAgICAgICAgICAgVQorKyBTQUwgRUFWICAgICAgICAgICAgICAgICAgSUYKKysgU0FMIEVBKEHERUlP1txZKS0zICAgICAgIEVBCisrIFNBTCBFQTMkICAgICAgICAgICAgICAgICBFQQorKyBTQUwgRUEzICAgICAgICAgICAgICAgICAgSQorKyBTQUwgRUJFTl5eICAgICAgICAgICAgICAgRVBOCisrIFNBTCBFRTkgICAgICAgICAgICAgICAgICBFCisrIFNBTCBFSUVJLS0gICAgICAgICAgICAgICBfCisrIFNBTCBFSUgtLSAgICAgICAgICAgICAgICBFCisrIFNBTCBFSUxMRSQgICAgICAgICAgICAgICBFSQorKyBTQUwgRUkgICAgICAgICAgICAgICAgICAgRUkKKysgU0FMIEVKJCAgICAgICAgICAgICAgICAgIEVJCisrIFNBTCBFTC1eICAgICAgICAgICAgICAgICBFCisrIFNBTCBFTChES0wpLS0xICAgICAgICAgICBFCisrIFNBTCBFTChNTlQpLS0xJCAgICAgICAgICBFCisrIFNBTCBFTFlORSQgICAgICAgICAgICAgICBFTElORQorKyBTQUwgRUxZTiQgICAgICAgICAgICAgICAgRUxJTgorKyBTQUwgRUwoQcRFSU/WVdxZKS0xICAgICAgRUwKKysgU0FMIEVMLTEgICAgICAgICAgICAgICAgIEwKKysgU0FMIEVNLV4gICAgICAgICAgICAgICAgIEUKKysgU0FMIEVNKERGS01QUVQpLS0xICAgICAgIEUKKysgU0FMIEVNKEHERUlP1lXcWSktLTEgICAgIEUKKysgU0FMIEVNLTEgICAgICAgICAgICAgICAgIE4KKysgU0FMIEVOLV4gICAgICAgICAgICAgICAgIEUKKysgU0FMIEVOKENER0tRVCktLTEgICAgICAgIEUKKysgU0FMIEVOWihBRUlPVVkpLS0xICAgICAgIEVOCisrIFNBTCBFTihBxEVJTk/WVdxZKS0xICAgICBFTgorKyBTQUwgRU4tPDEgICAgICAgICAgICAgICAgTgorKyBTQUwgRVJIKEHERUlP1lXcKS1eICAgICAgRVIKKysgU0FMIEVSLV4gICAgICAgICAgICAgICAgIEUKKysgU0FMIEVSKEHERUlP1lXcWSktMSAgICAgIEEKKysgU0FMIEVSMSQgICAgICAgICAgICAgICAgIEEKKysgU0FMIEVSPDEgICAgICAgICAgICAgICAgIEEKKysgU0FMIEVUSShBxE/W3FUpLSAgICAgICAgIEVaSQorKyBTQUwgRVVFVS0tICAgICAgICAgICAgICAgXworKyBTQUwgRVVJTExFJCAgICAgICAgICAgICAg1gorKyBTQUwgRVVSJCAgICAgICAgICAgICAgICAg1lIKKysgU0FMIEVVWCAgICAgICAgICAgICAgICAgINYKKysgU0FMIEVVWVMkICAgICAgICAgICAgICAgIEVVWgorKyBTQUwgRVUgICAgICAgICAgICAgICAgICAgRVUKKysgU0FMIEVZRVI8ICAgICAgICAgICAgICAgIEVJQQorKyBTQUwgRVk8ICAgICAgICAgICAgICAgICAgRUkKKysgU0FMIEUgICAgICAgICAgICAgICAgICAgIEUKKysgU0FMIEZBTlMtLV4kICAgICAgICAgICAgIEZFCisrIFNBTCBGQU4tXiQgICAgICAgICAgICAgICBGRQorKyBTQUwgRkFVTFQtICAgICAgICAgICAgICAgRlVMCisrIFNBTCBGRUUoREwpLSAgICAgICAgICAgICBGSQorKyBTQUwgRkVITEVSICAgICAgICAgICAgICAgRkVMQQorKyBTQUwgRkUoTE1OUlNUKS0zXiAgICAgICAgRkUKKysgU0FMIEZPTkQ3ICAgICAgICAgICAgICAgIEZVTgorKyBTQUwgRlJBSU4kICAgICAgICAgICAgICAgRlJBCisrIFNBTCBGUklTRVUoUlMpLSAgICAgICAgICBGUkla1iAgIyB4CisrIFNBTCBGICAgICAgICAgICAgICAgICAgICBGCisrIFNBTCBHJ1MkICAgICAgICAgICAgICAgICBYCisrIFNBTCBHQUdTXiQgICAgICAgICAgICAgICBLRVgKKysgU0FMIEdBR14kICAgICAgICAgICAgICAgIEtFSworKyBTQUwgR0QgICAgICAgICAgICAgICAgICAgS1QKKysgU0FMIEdFR0VOXl4gICAgICAgICAgICAgIEtFS04KKysgU0FMIEdFKExNTlJTVCktM14gICAgICAgIEtFCisrIFNBTCBHRVRURSQgICAgICAgICAgICAgICBLRVQKKysgU0FMIEcoQ0spLSAgICAgICAgICAgICAgIF8KKysgU0FMIEdHLSAgICAgICAgICAgICAgICAgIF8KKysgU0FMIEdJKEFPKS1eICAgICAgICAgICAgIEkKKysgU0FMIEdJT04kICAgICAgICAgICAgICAgIEtJVU4KKysgU0FMIEdJVVMtXiAgICAgICAgICAgICAgIElVCisrIFNBTCBHTUJIXiQgICAgICAgICAgICAgICBHTVBICisrIFNBTCBHTkFDJCAgICAgICAgICAgICAgICBOSUFLCisrIFNBTCBHTk9OJCAgICAgICAgICAgICAgICBOSVVOCisrIFNBTCBHTiQgICAgICAgICAgICAgICAgICBOCisrIFNBTCBHT05DQUwtXiAgICAgICAgICAgICBLVU5aQQorKyBTQUwgR1MoQ0gpLS0gICAgICAgICAgICAgSworKyBTQUwgR1NUICAgICAgICAgICAgICAgICAgWFQKKysgU0FMIEcoU99YWikgICAgICAgICAgICAgIFgKKysgU0FMIEdVQ0stICAgICAgICAgICAgICAgIEtVCisrIFNBTCBHVUktXiAgICAgICAgICAgICAgICBLCisrIFNBTCBHICAgICAgICAgICAgICAgICAgICBLCisrIFNBTCBIRUFELSAgICAgICAgICAgICAgICBFCisrIFNBTCBIRShMTU5SU1QpLTNeICAgICAgICBFCisrIFNBTCBIRShMTU4pLTEgICAgICAgICAgICBFCisrIFNBTCBIRVVSMSQgICAgICAgICAgICAgICDWUgorKyBTQUwgSF4gICAgICAgICAgICAgICAgICAgXworKyBTQUwgSUVDJCAgICAgICAgICAgICAgICAgSVoKKysgU0FMIElFSS0zICAgICAgICAgICAgICAgIF8KKysgU0FMIElFTEwzICAgICAgICAgICAgICAgIElFTAorKyBTQUwgSUVOTkUkICAgICAgICAgICAgICAgSU4KKysgU0FMIElFUlJFJCAgICAgICAgICAgICAgIElFUgorKyBTQUwgSUVUVEUkICAgICAgICAgICAgICAgSVQKKysgU0FMIElFVSAgICAgICAgICAgICAgICAgIEnWCisrIFNBTCBJRTw0ICAgICAgICAgICAgICAgICBJCisrIFNBTCBJR0hUMyQgICAgICAgICAgICAgICBFSVQKKysgU0FMIElHTkkoRU8pLSAgICAgICAgICAgIElOSQorKyBTQUwgSUdOKEFFT1UpLSQgICAgICAgICAgSU5JCisrIFNBTCBJSihBT1UpLSAgICAgICAgICAgICBJCisrIFNBTCBJSiQgICAgICAgICAgICAgICAgICBJCisrIFNBTCBJSjwgICAgICAgICAgICAgICAgICBFSQorKyBTQUwgSUtPTEUkICAgICAgICAgICAgICAgSUtVTAorKyBTQUwgSUxMQU4oU1RaKS0tICAgICAgICAgSUxJQQorKyBTQUwgSUxMQVIoRFQpLS0gICAgICAgICAgSUxJQQorKyBTQUwgSU5WRVItICAgICAgICAgICAgICAgSU5GRQorKyBTQUwgSVRJKEHET9ZV3CktICAgICAgICAgSVpJCisrIFNBTCBJVklFUiQgICAgICAgICAgICAgICBJRklFCisrIFNBTCBJICAgICAgICAgICAgICAgICAgICBJCisrIFNBTCBKQVZJRS0tLTxeICAgICAgICAgICBaQQorKyBTQUwgSkVBTl4kICAgICAgICAgICAgICAgSUEKKysgU0FMIEpFQU4tXiAgICAgICAgICAgICAgIElBCisrIFNBTCBKRVItXiAgICAgICAgICAgICAgICBJRQorKyBTQUwgSkUoTE1OU1QpLSAgICAgICAgICAgSUUKKysgU0FMIEpPUihHSyleJCAgICAgICAgICAgIEnWUksKKysgU0FMIEogICAgICAgICAgICAgICAgICAgIEkKKysgU0FMIEtDKMRFSUopLSAgICAgICAgICAgIFgKKysgU0FMIEtFKExNTlJTVCktM14gICAgICAgIEtFCisrIFNBTCBLSDxeICAgICAgICAgICAgICAgICBLCisrIFNBTCBLSUMkICAgICAgICAgICAgICAgICBLSVoKKysgU0FMIEtMRShMTU5SU1QpLTNeICAgICAgIEtMRQorKyBTQUwgS09URUxFLV4gICAgICAgICAgICAgS1VUTAorKyBTQUwgS1JFQVQtXiAgICAgICAgICAgICAgS1JFQQorKyBTQUwgS1NUICAgICAgICAgICAgICAgICAgWFQKKysgU0FMIEsoU99YWikgICAgICAgICAgICAgIFgKKysgU0FMIEtUSShBSU9VKS0zICAgICAgICAgIFhJCisrIFNBTCBLVChT31haKSAgICAgICAgICAgICBYCisrIFNBTCBLICAgICAgICAgICAgICAgICAgICBLCisrIFNBTCBMQVJWRS0gICAgICAgICAgICAgICBMQVJGCisrIFNBTCBMRUFORC1eICAgICAgICAgICAgICBMRUFOCisrIFNBTCBMRUwtICAgICAgICAgICAgICAgICBMRQorKyBTQUwgTEUoTU5SU1QpLTNeICAgICAgICAgTEUKKysgU0FMIExFVFRFJCAgICAgICAgICAgICAgIExFVAorKyBTQUwgTEZHTkFHLSAgICAgICAgICAgICAgTEZLQU4KKysgU0FMIExJQyQgICAgICAgICAgICAgICAgIExJWgorKyBTQUwgTElWRV4kICAgICAgICAgICAgICAgTEVJRgorKyBTQUwgTFVJKEdTKS0tICAgICAgICAgICAgTFUKKysgU0FMIEwgICAgICAgICAgICAgICAgICAgIEwKKysgU0FMIE1BU1NFVShSUyktICAgICAgICAgIE5BWtYKKysgU0FMIE1BVVJJQ0UgICAgICAgICAgICAgIE5VUklaCisrIFNBTCBNQkheJCAgICAgICAgICAgICAgICBNUEgKKysgU0FMIE1CKFPfWiktICAgICAgICAgICAgIE4KKysgU0FMIE1DOV4gICAgICAgICAgICAgICAgIE5LCisrIFNBTCBNRU1PSVItXiAgICAgICAgICAgICBORU5VQQorKyBTQUwgTUUoTE1OUlNUKS0zXiAgICAgICAgTkUKKysgU0FMIE1JR1VFTCAgICAgICAgICAgICAgIE5JS0wKKysgU0FMIE1JS0VeJCAgICAgICAgICAgICAgIE5FSUsKKysgU0FMIE1OICAgICAgICAgICAgICAgICAgIE4KKysgU0FMIE1QSlVURS0gICAgICAgICAgICAgIE5QVVQKKysgU0FMIE1QKFPfWiktICAgICAgICAgICAgIE4KKysgU0FMIE1QKEJESkxNTlBRUlRWVyktICAgIE5QCisrIFNBTCBNICAgICAgICAgICAgICAgICAgICBOCisrIFNBTCBOQUNIXl4gICAgICAgICAgICAgICBOQUsKKysgU0FMIE5BRElORSAgICAgICAgICAgICAgIE5BVElOCisrIFNBTCBOQUlWLS0gICAgICAgICAgICAgICBOQQorKyBTQUwgTkFJU0UkICAgICAgICAgICAgICAgTkVaRQorKyBTQUwgTkNPSVNFJCAgICAgICAgICAgICAgWlVBCisrIFNBTCBOQ09JUyQgICAgICAgICAgICAgICBaVUEKKysgU0FMIE5FQkVOXl4gICAgICAgICAgICAgIE5FUE4KKysgU0FMIE5FKExNTlJTVCktM14gICAgICAgIE5FCisrIFNBTCBORU4tMyAgICAgICAgICAgICAgICBORQorKyBTQUwgTkVUVEUkICAgICAgICAgICAgICAgTkVUCisrIFNBTCBORyhCREZKTE1OUFFSVFZXKS0gICBOSworKyBTQUwgTklDSFRTXl4gICAgICAgICAgICAgTklYCisrIFNBTCBOSUNIVF5eICAgICAgICAgICAgICBOSUtUCisrIFNBTCBOSU5FJCAgICAgICAgICAgICAgICBOSU4KKysgU0FMIE5PTl5eICAgICAgICAgICAgICAgIE5VTgorKyBTQUwgTk9UXl4gICAgICAgICAgICAgICAgTlVUCisrIFNBTCBOVEkoQUlPVSktMyAgICAgICAgICBOWkkKKysgU0FMIE5USUVMLS0zICAgICAgICAgICAgIE5aSQorKyBTQUwgTllMT04gICAgICAgICAgICAgICAgTkVJTFVOCisrIFNBTCBORChT31opJCAgICAgICAgICAgICBOWgorKyBTQUwgTlQoU99aKSQgICAgICAgICAgICAgTloKKysgU0FMIE5EJ1MkICAgICAgICAgICAgICAgIE5aCisrIFNBTCBOVCdTJCAgICAgICAgICAgICAgICBOWgorKyBTQUwgTlNUUyQgICAgICAgICAgICAgICAgTloKKysgU0FMIE4gICAgICAgICAgICAgICAgICAgIE4KKysgU0FMIE9CRVJeXiAgICAgICAgICAgICAgIFVQQQorKyBTQUwgT0UyICAgICAgICAgICAgICAgICAg1gorKyBTQUwgT0dOSUUtICAgICAgICAgICAgICAgVU5JCisrIFNBTCBPR04oQUVPVSktJCAgICAgICAgICBVTkkKKysgU0FMIE9JRSQgICAgICAgICAgICAgICAgINYKKysgU0FMIE9JUiQgICAgICAgICAgICAgICAgIFVBUgorKyBTQUwgT0lYICAgICAgICAgICAgICAgICAgVUEKKysgU0FMIE9JPDMgICAgICAgICAgICAgICAgIEVVCisrIFNBTCBPSihBxEVJT9ZV3CktLSAgICAgICBVCisrIFNBTCBPS0FZXiQgICAgICAgICAgICAgICBVS0UKKysgU0FMIE9MWU4kICAgICAgICAgICAgICAgIFVMSU4KKysgU0FMIE9USShBxE/WVdwpLSAgICAgICAgIFVaSQorKyBTQUwgT1VJXiAgICAgICAgICAgICAgICAgRkkKKysgU0FMIE9VSUxMRSQgICAgICAgICAgICAgIFVMSUUKKysgU0FMIE9VKERUKS1eICAgICAgICAgICAgIEFVCisrIFNBTCBPVVNFJCAgICAgICAgICAgICAgICBBVVoKKysgU0FMIE9VVC0gICAgICAgICAgICAgICAgIEFVCisrIFNBTCBPVSAgICAgICAgICAgICAgICAgICBVCisrIFNBTCBPV1MkICAgICAgICAgICAgICAgICBVWgorKyBTQUwgT1koQcRFSU/WVdwpLS0gICAgICAgVQorKyBTQUwgTyhKWSk8ICAgICAgICAgICAgICAgRVUKKysgU0FMIE8gICAgICAgICAgICAgICAgICAgIFUKKysgU0FMIFBBVElFTi0tXiAgICAgICAgICAgIFBBWkkKKysgU0FMIFBFTlNJTy1eICAgICAgICAgICAgIFBBTlpJCisrIFNBTCBQRShMTU5SU1QpLTNeICAgICAgICBQRQorKyBTQUwgUEZFUi1eICAgICAgICAgICAgICAgRkUKKysgU0FMIFAoRkgpPCAgICAgICAgICAgICAgIEYKKysgU0FMIFBPTFleXiAgICAgICAgICAgICAgIFBVTEkKKysgU0FMIFBPUlRSQUlUNyAgICAgICAgICAgIFBVUlRSRQorKyBTQUwgUFAoRkgpLS08ICAgICAgICAgICAgUAorKyBTQUwgUFAtICAgICAgICAgICAgICAgICAgXworKyBTQUwgUFJJWF4kICAgICAgICAgICAgICAgUFJJCisrIFNBTCBQKFPfWileICAgICAgICAgICAgICBaCisrIFNBTCBQVEkoQcRP1lXcKS0zICAgICAgICBQWkkKKysgU0FMIFBJQ14kICAgICAgICAgICAgICAgIFBJSworKyBTQUwgUCAgICAgICAgICAgICAgICAgICAgUAorKyBTQUwgUVVFKExNTlJTVCktMyAgICAgICAgS0ZFCisrIFNBTCBRVUUkICAgICAgICAgICAgICAgICBLCisrIFNBTCBRVUkoTlMpJCAgICAgICAgICAgICBLSQorKyBTQUwgUVUgICAgICAgICAgICAgICAgICAgS0YKKysgU0FMIFE8ICAgICAgICAgICAgICAgICAgIEsKKysgU0FMIFJDSCAgICAgICAgICAgICAgICAgIFJLCisrIFNBTCBSRUNIRVJDSF4gICAgICAgICAgICBSRVpBWgorKyBTQUwgUkVSJCAgICAgICAgICAgICAgICAgUkEKKysgU0FMIFJFKE1OUiktNCAgICAgICAgICAgIFJFCisrIFNBTCBSRVRURSQgICAgICAgICAgICAgICBSRVQKKysgU0FMIFJIPF4gICAgICAgICAgICAgICAgIFIKKysgU0FMIFJKQShNTiktLSAgICAgICAgICAgIFJJCisrIFNBTCBSVEkoQcRP1lXcKS0zICAgICAgICBSWkkKKysgU0FMIFJZKEtOKS0kICAgICAgICAgICAgIFJJCisrIFNBTCBSICAgICAgICAgICAgICAgICAgICBSCisrIFNBTCBTQUZFXiQgICAgICAgICAgICAgICBaRUlGCisrIFNBTCBTQVVDRS1eICAgICAgICAgICAgICBaVVoKKysgU0FMIFNDSFNDSC0tLTcgICAgICAgICAgIF8KKysgU0FMIFNDSFRTQ0ggICAgICAgICAgICAgIFoKKysgU0FMIFNDKEhaKTwgICAgICAgICAgICAgIFoKKysgU0FMIFNDICAgICAgICAgICAgICAgICAgIFpLCisrIFNBTCBTRUxCU1RTVC0tN15eICAgICAgICBaRUxQCisrIFNBTCBTRUxCU1Q3Xl4gICAgICAgICAgICBaRUxQWlQKKysgU0FMIFNFUlZJQ0U3XiAgICAgICAgICAgIFrWUkZJWgorKyBTQUwgU0UoTE1OUlNUKS0zXiAgICAgICAgWkUKKysgU0FMIFNFVFRFJCAgICAgICAgICAgICAgIFpFVAorKyBTQUwgU0hQLV4gICAgICAgICAgICAgICAgWgorKyBTQUwgU0hTVCAgICAgICAgICAgICAgICAgWlQKKysgU0FMIFNIVFNIICAgICAgICAgICAgICAgIFoKKysgU0FMIFNIVCAgICAgICAgICAgICAgICAgIFoKKysgU0FMIFNIMyAgICAgICAgICAgICAgICAgIFoKKysgU0FMIFNJRUdMSS1eICAgICAgICAgICAgIFpJS0wKKysgU0FMIFNJR0xJLV4gICAgICAgICAgICAgIFpJS0wKKysgU0FMIFNJR0hUICAgICAgICAgICAgICAgIFpFSVQKKysgU0FMIFNJR04gICAgICAgICAgICAgICAgIFpFSU4KKysgU0FMIFNLSShOUFopLSAgICAgICAgICAgIFpLSQorKyBTQUwgU0tJPF4gICAgICAgICAgICAgICAgWkkKKysgU0FMIFNPVU5ELSAgICAgICAgICAgICAgIFpBVU4KKysgU0FMIFNUQUFUU15eICAgICAgICAgICAgIFpUQVoKKysgU0FMIFNUQURUXl4gICAgICAgICAgICAgIFpUQVQKKysgU0FMIFNUQVJUXl4gICAgICAgICAgICAgIFpUQVJUCisrIFNBTCBTVEFVUkFOVDcgICAgICAgICAgICBaVFVSQU4KKysgU0FMIFNURUFLLSAgICAgICAgICAgICAgIFpURQorKyBTQUwgU1RSQUZeXiAgICAgICAgICAgICAgWlRSQUYKKysgU0FMIFNUJ1MkICAgICAgICAgICAgICAgIFoKKysgU0FMIFNUU1QtLSAgICAgICAgICAgICAgIF8KKysgU0FMIFNUUyhBQ0VISU9VxNzWKS0tICAgIFpUCisrIFNBTCBTVChTWikgICAgICAgICAgICAgICBaCisrIFNBTCBTVFlOKEFFKS0kICAgICAgICAgICBaVElOCisrIFNBTCBTVCAgICAgICAgICAgICAgICAgICBaVAorKyBTQUwgU1pFKE5QVCktXiAgICAgICAgICAgWkUKKysgU0FMIFNaSShFTE4pLV4gICAgICAgICAgIFpJCisrIFNBTCBTWkNaPCAgICAgICAgICAgICAgICBaCisrIFNBTCBTWlQ8ICAgICAgICAgICAgICAgICBaVAorKyBTQUwgU1o8MyAgICAgICAgICAgICAgICAgWgorKyBTQUwgUyAgICAgICAgICAgICAgICAgICAgWgorKyBTQUwgVCdTMyQgICAgICAgICAgICAgICAgWgorKyBTQUwgVENIICAgICAgICAgICAgICAgICAgWgorKyBTQUwgVEVBVC1eICAgICAgICAgICAgICAgVEVBCisrIFNBTCBURShMTU5SU1QpLTNeICAgICAgICBURQorKyBTQUwgVEg8ICAgICAgICAgICAgICAgICAgVAorKyBTQUwgVElDJCAgICAgICAgICAgICAgICAgVElaCisrIFNBTCBUT0FTLV4gICAgICAgICAgICAgICBUVQorKyBTQUwgVE9JTEVULSAgICAgICAgICAgICAgVFVMRQorKyBTQUwgVE9JTi0gICAgICAgICAgICAgICAgVFVBCisrIFNBTCBUUkFJTkktICAgICAgICAgICAgICBUUkVOCisrIFNBTCBUU0NIICAgICAgICAgICAgICAgICBaCisrIFNBTCBUU0ggICAgICAgICAgICAgICAgICBaCisrIFNBTCBUU1QgICAgICAgICAgICAgICAgICBaVAorKyBTQUwgVChT3ykgICAgICAgICAgICAgICAgWgorKyBTQUwgVFQoU1opLS08ICAgICAgICAgICAgXworKyBTQUwgVFQ5ICAgICAgICAgICAgICAgICAgVAorKyBTQUwgVFotICAgICAgICAgICAgICAgICAgXworKyBTQUwgVCAgICAgICAgICAgICAgICAgICAgVAorKyBTQUwgVUVCRVJeXiAgICAgICAgICAgICAgSVBBCisrIFNBTCBVRTIgICAgICAgICAgICAgICAgICBJCisrIFNBTCBVSUUkICAgICAgICAgICAgICAgICBJCisrIFNBTCBVTV5eICAgICAgICAgICAgICAgICBVTgorKyBTQUwgVU5URVJFLS0gICAgICAgICAgICAgVU5URQorKyBTQUwgVU5URVJeXiAgICAgICAgICAgICAgVU5UQQorKyBTQUwgVU5WRVJeXiAgICAgICAgICAgICAgVU5GQQorKyBTQUwgVU5eXiAgICAgICAgICAgICAgICAgVU4KKysgU0FMIFVUSShBxE/WVdwpLSAgICAgICAgIFVaSQorKyBTQUwgVSAgICAgICAgICAgICAgICAgICAgVQorKyBTQUwgVkFDTC1eICAgICAgICAgICAgICAgRkFaCisrIFNBTCBWQUMkICAgICAgICAgICAgICAgICBGQVoKKysgU0FMIFZFREQtXiAgICAgICAgICAgICAgIEZFCisrIFNBTCBWRVJFSU4gICAgICAgICAgICAgICBGQUVJTgorKyBTQUwgVkVSU0VOXiAgICAgICAgICAgICAgRkFaTgorKyBTQUwgVkVSXl4gICAgICAgICAgICAgICAgRkEKKysgU0FMIFZFUiAgICAgICAgICAgICAgICAgIEZBCisrIFNBTCBWRVQoSFQpLV4gICAgICAgICAgICBGRVQKKysgU0FMIFZFVFRFJCAgICAgICAgICAgICAgIEZFVAorKyBTQUwgVklDJCAgICAgICAgICAgICAgICAgRklaCisrIFNBTCBWSUVMICAgICAgICAgICAgICAgICBGSUwKKysgU0FMIFZJRVcgICAgICAgICAgICAgICAgIEZJVQorKyBTQUwgVk9SXl4gICAgICAgICAgICAgICAgRlVSCisrIFNBTCBWWTleICAgICAgICAgICAgICAgICBGSQorKyBTQUwgVjwgICAgICAgICAgICAgICAgICAgRgorKyBTQUwgV0UoTE1OUlNUKS0zXiAgICAgICAgRkUKKysgU0FMIFdJQyQgICAgICAgICAgICAgICAgIEZJWgorKyBTQUwgV0lFREVSXl4gICAgICAgICAgICAgRklUQQorKyBTQUwgV1k5XiAgICAgICAgICAgICAgICAgRkkKKysgU0FMIFcgICAgICAgICAgICAgICAgICAgIEYKKysgU0FMIFhFKExNTlJTVCktM14gICAgICAgIFhFCisrIFNBTCBYPF4gICAgICAgICAgICAgICAgICBaCisrIFNBTCBYKENTWikgICAgICAgICAgICAgICBYCisrIFNBTCBYVFMoQ0gpLS0gICAgICAgICAgICBYVAorKyBTQUwgWFQoU1opICAgICAgICAgICAgICAgWgorKyBTQUwgWCAgICAgICAgICAgICAgICAgICAgWAorKyBTQUwgWUUoTE1OUlNUKS0zXiAgICAgICAgSUUKKysgU0FMIFlFLTMgICAgICAgICAgICAgICAgIEkKKysgU0FMIFlPUihHSyleJCAgICAgICAgICAgIEnWUksKKysgU0FMIFkoQU9VKS08NyAgICAgICAgICAgIEkKKysgU0FMIFlWRVNeJCAgICAgICAgICAgICAgIElGCisrIFNBTCBZVk9OTkVeJCAgICAgICAgICAgICBJRlVOCisrIFNBTCBZICAgICAgICAgICAgICAgICAgICBJCisrIFNBTCBaQyhBT1UpLSAgICAgICAgICAgICBaSworKyBTQUwgWkUoTE1OUlNUKS0zXiAgICAgICAgWkUKKysgU0FMIFpIPCAgICAgICAgICAgICAgICAgIFoKKysgU0FMIFpTKENIVCktLSAgICAgICAgICAgIF8KKysgU0FMIFpTICAgICAgICAgICAgICAgICAgIFoKKysgU0FMIFpVRVJTVCAgICAgICAgICAgICAgIFpVRVJaVAorKyBTQUwgWlVS3ENLXl4gICAgICAgICAgICAgWlVSSUsKKysgU0FMIFpVVkVSXl4gICAgICAgICAgICAgIFpVRkEgICAgIyB4CisrIFNBTCBaICAgICAgICAgICAgICAgICAgICBaCiAqKiogZGVfQVQub3JpZy5kaWMJVGh1IEF1ZyAyNSAxMToyMjoxNiAyMDA1CiAtLS0gZGVfQVQuZGljCVRodSBBdWcgMjUgMTE6MjQ6MDEgMjAwNQogKioqKioqKioqKioqKioqCmRpZmYgLS1naXQgYS9ydW50aW1lL3NwZWxsL2RlL2RlX0NILmRpZmYgYi9ydW50aW1lL3NwZWxsL2RlL2RlX0NILmRpZmYKaW5kZXggZWM0NGU4Yy4uMDQ2NzMzOCAxMDA2NDQKLS0tIGEvcnVudGltZS9zcGVsbC9kZS9kZV9DSC5kaWZmCisrKyBiL3J1bnRpbWUvc3BlbGwvZGUvZGVfQ0guZGlmZgpAQCAtMSwxNiArMSwxMyBAQAogKioqIGRlX0NILm9yaWcuYWZmCVRodSBBdWcgMjUgMTE6MjI6MTggMjAwNQotLS0tIGRlX0NILmFmZglUaHUgQXVnIDI1IDExOjIyOjE4IDIwMDUKKy0tLSBkZV9DSC5hZmYJVGh1IFNlcCAyOSAxMTo0NDo1MCAyMDA1CiAqKioqKioqKioqKioqKioKICoqKiAzLDQgKioqKgotLS0tIDMsMjQgLS0tLQorLS0tIDMsMjEgLS0tLQogICAKICsgRk9MICDg4eLj5OXm5+jp6uvs7e7v8PHy8/T19vj5+vv8/f7f/wogKyBMT1cgIODh4uPk5ebn6Onq6+zt7u/w8fLz9PX2+Pn6+/z9/t//CiArIFVQUCAgwMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbY2drb3N3e3/8KICsgCi0rIFNPRk9GUk9NIGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVrg4eLj5OXm5+jp6uvs7e7v8PHy8/T19vj5+vv8/f7f/8DBwsPExcbHyMnKy8zNzs/Q0dLT1NXW2Nna29zd3r8KLSsgU09GT1RPICAgZWJjdGVmZ2hlamtsbm5lcGtyc3RldnZrZXNlYmN0ZWZnaGVqa2xubmVwa3JzdGV2dmtlc2VlZWVlZWVjZWVlZWVlZWVkbmVlZWVlZWVlZWVlcHNlZWVlZWVlZWNlZWVlZWVlZWRuZWVlZWVlZWVlZWVwPwotKyAKICsgTUlEV09SRAknCiArIAogKyBNQVAgOQpAQCAtMjUsMyArMjIsNDgzIEBACiArIE1BUCBz3wogKyAKICAgCisqKioqKioqKioqKioqKioKKyoqKiA1MDEgKioqKgorLS0tIDUxOCw5OTQgLS0tLQorICBSRVAgZWggZQorKyAKKysgIyAgIEdlcm1hbiBwaG9uZXRpYyB0cmFuc2Zvcm1hdGlvbiBydWxlcyBmcm9tIEFzcGVsbAorKyAjICAgQ29weXJpZ2h0IChDKSAyMDAwIEJq9nJuIEphY2tlLCBkaXN0cmlidXRlZCB1bmRlciBMR1BMLgorKyAjICAgQmr2cm4gSmFja2UgbWF5IGJlIHJlYWNoZWQgYnkgZW1haWwgYXQgYmpvZXJuLmphY2tlQGdteC5kZQorKyAjICAgTGFzdCBjaGFuZ2VkIDIwMDAtMDEtMDcKKysgCisrIFNBTCBmb2xsb3d1cCAgICAgICAgMQorKyBTQUwgY29sbGFwc2VfcmVzdWx0IDEKKysgCisrIFNBTCDERVItICAgICAgICAgICAgICAgICBFCisrIFNBTCDEVTwgICAgICAgICAgICAgICAgICBFVQorKyBTQUwgxDwgICAgICAgICAgICAgICAgICAgRQorKyBTQUwgySAgICAgICAgICAgICAgICAgICAgRQorKyBTQUwg1kVSLSAgICAgICAgICAgICAgICAg1gorKyBTQUwg1iAgICAgICAgICAgICAgICAgICAg1gorKyBTQUwg3EJFUl5eICAgICAgICAgICAgICAgSVBBCisrIFNBTCDcRVItICAgICAgICAgICAgICAgICBJCisrIFNBTCDcICAgICAgICAgICAgICAgICAgICBJCisrIFNBTCDfICAgICAgICAgICAgICAgICAgICBaCisrIFNBTCBBQkVMTEUkICAgICAgICAgICAgICBBUEwKKysgU0FMIEFCRUxMJCAgICAgICAgICAgICAgIEFQTAorKyBTQUwgQUJJRU5ORSQgICAgICAgICAgICAgQVBJTgorKyBTQUwgQUNFWSQgICAgICAgICAgICAgICAgQVpJCisrIFNBTCBBRVU8ICAgICAgICAgICAgICAgICBFVQorKyBTQUwgQUUyICAgICAgICAgICAgICAgICAgRQorKyBTQUwgQUdOSS1eICAgICAgICAgICAgICAgQUtOCisrIFNBTCBBR05JRS0gICAgICAgICAgICAgICBBTkkKKysgU0FMIEFHTihBRU9VKS0kICAgICAgICAgIEFOSQorKyBTQUwgQUlBMiAgICAgICAgICAgICAgICAgQUlBCisrIFNBTCBBSUUkICAgICAgICAgICAgICAgICBFCisrIFNBTCBBSUxMKEVPVSktICAgICAgICAgICBBTEkKKysgU0FMIEFJTkUkICAgICAgICAgICAgICAgIEVOCisrIFNBTCBBSVJFJCAgICAgICAgICAgICAgICBFUgorKyBTQUwgQUlSLSAgICAgICAgICAgICAgICAgRQorKyBTQUwgQUlTRSQgICAgICAgICAgICAgICAgRVoKKysgU0FMIEFJU1NBTkNFJCAgICAgICAgICAgIEVaQU5aCisrIFNBTCBBSVNTRSQgICAgICAgICAgICAgICBFWgorKyBTQUwgQUlYJCAgICAgICAgICAgICAgICAgRVgKKysgU0FMIEFKKEHERUlP1lXcKS0tICAgICAgIEEKKysgU0FMIEFLVElFICAgICAgICAgICAgICAgIEFYSUUKKysgU0FMIEFMTyhJWSleICAgICAgICAgICAgIEFMVUkKKysgU0FMIEFNQVRFVShSUyktICAgICAgICAgIEFOQVTWCisrIFNBTCBBTklFTExFJCAgICAgICAgICAgICBBTklMCisrIFNBTCBBTlRJXl4gICAgICAgICAgICAgICBBTlRJCisrIFNBTCBBTlZFUl5eICAgICAgICAgICAgICBBTkZBCisrIFNBTCBBVElBJCAgICAgICAgICAgICAgICBBVElBCisrIFNBTCBBVElBKE5TKS0tICAgICAgICAgICBBVEkKKysgU0FMIEFUSShBxE/WVdwpLSAgICAgICAgIEFaSQorKyBTQUwgQVVBVS0tICAgICAgICAgICAgICAgXworKyBTQUwgQVVFUjwgICAgICAgICAgICAgICAgQVVBCisrIFNBTCBBVUZeXiAgICAgICAgICAgICAgICBBVUYKKysgU0FMIEFVTFQkICAgICAgICAgICAgICAgIFUKKysgU0FMIEFVU1NFJCAgICAgICAgICAgICAgIFVaCisrIFNBTCBBVVMoU1QpLV4gICAgICAgICAgICBBVVoKKysgU0FMIEFVU15eICAgICAgICAgICAgICAgIEFVWgorKyBTQUwgQVVUT15eICAgICAgICAgICAgICAgQVVUVQorKyBTQUwgQVVYKElZKS0gICAgICAgICAgICAgQVVYCisrIFNBTCBBVVggICAgICAgICAgICAgICAgICBVCisrIFNBTCBBVSAgICAgICAgICAgICAgICAgICBBVQorKyBTQUwgQVZJRVIkICAgICAgICAgICAgICAgQUZJRQorKyBTQUwgQVlFUi0tPCAgICAgICAgICAgICAgRUkKKysgU0FMIEFZKEHERUlP1lXcKS0tICAgICAgIEEKKysgU0FMIEEoSUpZKTwgICAgICAgICAgICAgIEVJCisrIFNBTCBBICAgICAgICAgICAgICAgICAgICBBCisrIFNBTCBCRUEoQkNNTlJVKS1eICAgICAgICBQRUEKKysgU0FMIEJFQVQoQUVJTU9SVSktXiAgICAgIFBFQVQKKysgU0FMIEJFSUdFXiQgICAgICAgICAgICAgIFBFWgorKyBTQUwgQkUoTE1OUlNUKS1eICAgICAgICAgUEUKKysgU0FMIEJFVFRFJCAgICAgICAgICAgICAgIFBFVAorKyBTQUwgQklDJCAgICAgICAgICAgICAgICAgUElaCisrIFNBTCBCT1dMKEVJKS0gICAgICAgICAgICBQVUwKKysgU0FMIEJQKEHERUlP1lJV3FkpLSAgICAgIFAKKysgU0FMIEJVREdFVDcgICAgICAgICAgICAgIFBJS0UKKysgU0FMIEJVRkZFVDcgICAgICAgICAgICAgIFBJRkUKKysgU0FMIEJZTExFJCAgICAgICAgICAgICAgIFBJTEUKKysgU0FMIEJZTEwkICAgICAgICAgICAgICAgIFBJTAorKyBTQUwgQllURTwgICAgICAgICAgICAgICAgUEVJVAorKyBTQUwgQiAgICAgICAgICAgICAgICAgICAgUAorKyBTQUwgQ8QtICAgICAgICAgICAgICAgICAgWgorKyBTQUwgQ9wkICAgICAgICAgICAgICAgICAgWkkKKysgU0FMIENBQ0goRUkpLV4gICAgICAgICAgIEtFWgorKyBTQUwgQ0FFLS0gICAgICAgICAgICAgICAgWgorKyBTQUwgQ0EoSVkpJCAgICAgICAgICAgICAgWkVJCisrIFNBTCBDQ0ggICAgICAgICAgICAgICAgICBaCisrIFNBTCBDQ0UtICAgICAgICAgICAgICAgICBYCisrIFNBTCBDRShFSUpVWSktLSAgICAgICAgICBaCisrIFNBTCBDRU5UPCAgICAgICAgICAgICAgICBaRU5UCisrIFNBTCBDRVJTVChFSSktLS0tXiAgICAgICBLRQorKyBTQUwgQ0VSJCAgICAgICAgICAgICAgICAgWkEKKysgU0FMIENFMyAgICAgICAgICAgICAgICAgIFpFCisrIFNBTCBDSEFPKFNUKS0gICAgICAgICAgICBLQVUKKysgU0FMIENIQU1QSU8tXiAgICAgICAgICAgIFpFTlBJCisrIFNBTCBDSEFSKEFJKS1eICAgICAgICAgICBLQVIKKysgU0FMIENIQVUoQ0RGU1ZXWFopLSAgICAgIFpVCisrIFNBTCBDSEUoQ0YpLSAgICAgICAgICAgICBaRQorKyBTQUwgQ0hFTS1eICAgICAgICAgICAgICAgS0UKKysgU0FMIENIRVFVRTwgICAgICAgICAgICAgIFpFSworKyBTQUwgQ0hJKENGR1BWVyktICAgICAgICAgWkkKKysgU0FMIENIKEFFVVkpLTxeICAgICAgICAgIFoKKysgU0FMIENISy0gICAgICAgICAgICAgICAgIF8KKysgU0FMIENIKExPUiktPF4gICAgICAgICAgIEsKKysgU0FMIENIU1QtICAgICAgICAgICAgICAgIFgKKysgU0FMIENIKFPfWFopMyAgICAgICAgICAgIFgKKysgU0FMIENIICAgICAgICAgICAgICAgICAgIEsKKysgU0FMIENJRVIkICAgICAgICAgICAgICAgIFpJRQorKyBTQUwgQ1lCLV4gICAgICAgICAgICAgICAgWkVJCisrIFNBTCBDWTleICAgICAgICAgICAgICAgICBaSQorKyBTQUwgQyhJSlkpLTMgICAgICAgICAgICAgWgorKyBTQUwgQ0tTVCAgICAgICAgICAgICAgICAgWFQKKysgU0FMIENLKFPfWFopMyAgICAgICAgICAgIFgKKysgU0FMIEMoQ0spLSAgICAgICAgICAgICAgIF8KKysgU0FMIENMQVVERVQtLS0gICAgICAgICAgIEtMVQorKyBTQUwgQ0xBVURJTkVeJCAgICAgICAgICAgS0xVVElOCisrIFNBTCBDT0xFJCAgICAgICAgICAgICAgICBLVUwKKysgU0FMIENPVUNIICAgICAgICAgICAgICAgIEtBVVoKKysgU0FMIENRVUVTJCAgICAgICAgICAgICAgIEsKKysgU0FMIENRVUUgICAgICAgICAgICAgICAgIEsKKysgU0FMIENSRUFULV4gICAgICAgICAgICAgIEtSRUEKKysgU0FMIENTVCAgICAgICAgICAgICAgICAgIFhUCisrIFNBTCBDUzxeICAgICAgICAgICAgICAgICBaCisrIFNBTCBDKFPfWCkgICAgICAgICAgICAgICBYCisrIFNBTCBDVChT31haKSAgICAgICAgICAgICBYCisrIFNBTCBDWjwgICAgICAgICAgICAgICAgICBaCisrIFNBTCBDPCAgICAgICAgICAgICAgICAgICBLCisrIFNBTCBEJ0heICAgICAgICAgICAgICAgICBUCisrIFNBTCBEJ1MzJCAgICAgICAgICAgICAgICBaCisrIFNBTCBEQVZPKE5SKS1eJCAgICAgICAgICBUQUZVCisrIFNBTCBERChTWiktLTwgICAgICAgICAgICBfCisrIFNBTCBERVBPVDcgICAgICAgICAgICAgICBURVBVCisrIFNBTCBERVNJR04gICAgICAgICAgICAgICBUSVpFSU4KKysgU0FMIERFKExNTlJTVCktM14gICAgICAgIFRFCisrIFNBTCBERVRURSQgICAgICAgICAgICAgICBURVQKKysgU0FMIERJQyQgICAgICAgICAgICAgICAgIFRJWgorKyBTQUwgREooQUVJT1UpLV4gICAgICAgICAgSQorKyBTQUwgRFMoQ0gpLS08ICAgICAgICAgICAgVAorKyBTQUwgRFNUICAgICAgICAgICAgICAgICAgWlQKKysgU0FMIERULSAgICAgICAgICAgICAgICAgIF8KKysgU0FMIERVSVMtXiAgICAgICAgICAgICAgIFRJCisrIFNBTCBEVVJDSF5eICAgICAgICAgICAgICBUVVJLCisrIFNBTCBEWlMoQ0gpLS0gICAgICAgICAgICBUCisrIFNBTCBEKFPfWikgICAgICAgICAgICAgICBaCisrIFNBTCBEICAgICAgICAgICAgICAgICAgICBUCisrIFNBTCBFQVVMVCQgICAgICAgICAgICAgICBVCisrIFNBTCBFQVVYJCAgICAgICAgICAgICAgICBVCisrIFNBTCBFQVUgICAgICAgICAgICAgICAgICBVCisrIFNBTCBFQVYgICAgICAgICAgICAgICAgICBJRgorKyBTQUwgRUEoQcRFSU/W3FkpLTMgICAgICAgRUEKKysgU0FMIEVBMyQgICAgICAgICAgICAgICAgIEVBCisrIFNBTCBFQTMgICAgICAgICAgICAgICAgICBJCisrIFNBTCBFQkVOXl4gICAgICAgICAgICAgICBFUE4KKysgU0FMIEVFOSAgICAgICAgICAgICAgICAgIEUKKysgU0FMIEVJRUktLSAgICAgICAgICAgICAgIF8KKysgU0FMIEVJSC0tICAgICAgICAgICAgICAgIEUKKysgU0FMIEVJTExFJCAgICAgICAgICAgICAgIEVJCisrIFNBTCBFSSAgICAgICAgICAgICAgICAgICBFSQorKyBTQUwgRUokICAgICAgICAgICAgICAgICAgRUkKKysgU0FMIEVMLV4gICAgICAgICAgICAgICAgIEUKKysgU0FMIEVMKERLTCktLTEgICAgICAgICAgIEUKKysgU0FMIEVMKE1OVCktLTEkICAgICAgICAgIEUKKysgU0FMIEVMWU5FJCAgICAgICAgICAgICAgIEVMSU5FCisrIFNBTCBFTFlOJCAgICAgICAgICAgICAgICBFTElOCisrIFNBTCBFTChBxEVJT9ZV3FkpLTEgICAgICBFTAorKyBTQUwgRUwtMSAgICAgICAgICAgICAgICAgTAorKyBTQUwgRU0tXiAgICAgICAgICAgICAgICAgRQorKyBTQUwgRU0oREZLTVBRVCktLTEgICAgICAgRQorKyBTQUwgRU0oQcRFSU/WVdxZKS0tMSAgICAgRQorKyBTQUwgRU0tMSAgICAgICAgICAgICAgICAgTgorKyBTQUwgRU4tXiAgICAgICAgICAgICAgICAgRQorKyBTQUwgRU4oQ0RHS1FUKS0tMSAgICAgICAgRQorKyBTQUwgRU5aKEFFSU9VWSktLTEgICAgICAgRU4KKysgU0FMIEVOKEHERUlOT9ZV3FkpLTEgICAgIEVOCisrIFNBTCBFTi08MSAgICAgICAgICAgICAgICBOCisrIFNBTCBFUkgoQcRFSU/WVdwpLV4gICAgICBFUgorKyBTQUwgRVItXiAgICAgICAgICAgICAgICAgRQorKyBTQUwgRVIoQcRFSU/WVdxZKS0xICAgICAgQQorKyBTQUwgRVIxJCAgICAgICAgICAgICAgICAgQQorKyBTQUwgRVI8MSAgICAgICAgICAgICAgICAgQQorKyBTQUwgRVRJKEHET9bcVSktICAgICAgICAgRVpJCisrIFNBTCBFVUVVLS0gICAgICAgICAgICAgICBfCisrIFNBTCBFVUlMTEUkICAgICAgICAgICAgICDWCisrIFNBTCBFVVIkICAgICAgICAgICAgICAgICDWUgorKyBTQUwgRVVYICAgICAgICAgICAgICAgICAg1gorKyBTQUwgRVVZUyQgICAgICAgICAgICAgICAgRVVaCisrIFNBTCBFVSAgICAgICAgICAgICAgICAgICBFVQorKyBTQUwgRVlFUjwgICAgICAgICAgICAgICAgRUlBCisrIFNBTCBFWTwgICAgICAgICAgICAgICAgICBFSQorKyBTQUwgRSAgICAgICAgICAgICAgICAgICAgRQorKyBTQUwgRkFOUy0tXiQgICAgICAgICAgICAgRkUKKysgU0FMIEZBTi1eJCAgICAgICAgICAgICAgIEZFCisrIFNBTCBGQVVMVC0gICAgICAgICAgICAgICBGVUwKKysgU0FMIEZFRShETCktICAgICAgICAgICAgIEZJCisrIFNBTCBGRUhMRVIgICAgICAgICAgICAgICBGRUxBCisrIFNBTCBGRShMTU5SU1QpLTNeICAgICAgICBGRQorKyBTQUwgRk9ORDcgICAgICAgICAgICAgICAgRlVOCisrIFNBTCBGUkFJTiQgICAgICAgICAgICAgICBGUkEKKysgU0FMIEZSSVNFVShSUyktICAgICAgICAgIEZSSVrWICAjIHgKKysgU0FMIEYgICAgICAgICAgICAgICAgICAgIEYKKysgU0FMIEcnUyQgICAgICAgICAgICAgICAgIFgKKysgU0FMIEdBR1NeJCAgICAgICAgICAgICAgIEtFWAorKyBTQUwgR0FHXiQgICAgICAgICAgICAgICAgS0VLCisrIFNBTCBHRCAgICAgICAgICAgICAgICAgICBLVAorKyBTQUwgR0VHRU5eXiAgICAgICAgICAgICAgS0VLTgorKyBTQUwgR0UoTE1OUlNUKS0zXiAgICAgICAgS0UKKysgU0FMIEdFVFRFJCAgICAgICAgICAgICAgIEtFVAorKyBTQUwgRyhDSyktICAgICAgICAgICAgICAgXworKyBTQUwgR0ctICAgICAgICAgICAgICAgICAgXworKyBTQUwgR0koQU8pLV4gICAgICAgICAgICAgSQorKyBTQUwgR0lPTiQgICAgICAgICAgICAgICAgS0lVTgorKyBTQUwgR0lVUy1eICAgICAgICAgICAgICAgSVUKKysgU0FMIEdNQkheJCAgICAgICAgICAgICAgIEdNUEgKKysgU0FMIEdOQUMkICAgICAgICAgICAgICAgIE5JQUsKKysgU0FMIEdOT04kICAgICAgICAgICAgICAgIE5JVU4KKysgU0FMIEdOJCAgICAgICAgICAgICAgICAgIE4KKysgU0FMIEdPTkNBTC1eICAgICAgICAgICAgIEtVTlpBCisrIFNBTCBHUyhDSCktLSAgICAgICAgICAgICBLCisrIFNBTCBHU1QgICAgICAgICAgICAgICAgICBYVAorKyBTQUwgRyhT31haKSAgICAgICAgICAgICAgWAorKyBTQUwgR1VDSy0gICAgICAgICAgICAgICAgS1UKKysgU0FMIEdVSS1eICAgICAgICAgICAgICAgIEsKKysgU0FMIEcgICAgICAgICAgICAgICAgICAgIEsKKysgU0FMIEhFQUQtICAgICAgICAgICAgICAgIEUKKysgU0FMIEhFKExNTlJTVCktM14gICAgICAgIEUKKysgU0FMIEhFKExNTiktMSAgICAgICAgICAgIEUKKysgU0FMIEhFVVIxJCAgICAgICAgICAgICAgINZSCisrIFNBTCBIXiAgICAgICAgICAgICAgICAgICBfCisrIFNBTCBJRUMkICAgICAgICAgICAgICAgICBJWgorKyBTQUwgSUVJLTMgICAgICAgICAgICAgICAgXworKyBTQUwgSUVMTDMgICAgICAgICAgICAgICAgSUVMCisrIFNBTCBJRU5ORSQgICAgICAgICAgICAgICBJTgorKyBTQUwgSUVSUkUkICAgICAgICAgICAgICAgSUVSCisrIFNBTCBJRVRURSQgICAgICAgICAgICAgICBJVAorKyBTQUwgSUVVICAgICAgICAgICAgICAgICAgSdYKKysgU0FMIElFPDQgICAgICAgICAgICAgICAgIEkKKysgU0FMIElHSFQzJCAgICAgICAgICAgICAgIEVJVAorKyBTQUwgSUdOSShFTyktICAgICAgICAgICAgSU5JCisrIFNBTCBJR04oQUVPVSktJCAgICAgICAgICBJTkkKKysgU0FMIElKKEFPVSktICAgICAgICAgICAgIEkKKysgU0FMIElKJCAgICAgICAgICAgICAgICAgIEkKKysgU0FMIElKPCAgICAgICAgICAgICAgICAgIEVJCisrIFNBTCBJS09MRSQgICAgICAgICAgICAgICBJS1VMCisrIFNBTCBJTExBTihTVFopLS0gICAgICAgICBJTElBCisrIFNBTCBJTExBUihEVCktLSAgICAgICAgICBJTElBCisrIFNBTCBJTlZFUi0gICAgICAgICAgICAgICBJTkZFCisrIFNBTCBJVEkoQcRP1lXcKS0gICAgICAgICBJWkkKKysgU0FMIElWSUVSJCAgICAgICAgICAgICAgIElGSUUKKysgU0FMIEkgICAgICAgICAgICAgICAgICAgIEkKKysgU0FMIEpBVklFLS0tPF4gICAgICAgICAgIFpBCisrIFNBTCBKRUFOXiQgICAgICAgICAgICAgICBJQQorKyBTQUwgSkVBTi1eICAgICAgICAgICAgICAgSUEKKysgU0FMIEpFUi1eICAgICAgICAgICAgICAgIElFCisrIFNBTCBKRShMTU5TVCktICAgICAgICAgICBJRQorKyBTQUwgSk9SKEdLKV4kICAgICAgICAgICAgSdZSSworKyBTQUwgSiAgICAgICAgICAgICAgICAgICAgSQorKyBTQUwgS0MoxEVJSiktICAgICAgICAgICAgWAorKyBTQUwgS0UoTE1OUlNUKS0zXiAgICAgICAgS0UKKysgU0FMIEtIPF4gICAgICAgICAgICAgICAgIEsKKysgU0FMIEtJQyQgICAgICAgICAgICAgICAgIEtJWgorKyBTQUwgS0xFKExNTlJTVCktM14gICAgICAgS0xFCisrIFNBTCBLT1RFTEUtXiAgICAgICAgICAgICBLVVRMCisrIFNBTCBLUkVBVC1eICAgICAgICAgICAgICBLUkVBCisrIFNBTCBLU1QgICAgICAgICAgICAgICAgICBYVAorKyBTQUwgSyhT31haKSAgICAgICAgICAgICAgWAorKyBTQUwgS1RJKEFJT1UpLTMgICAgICAgICAgWEkKKysgU0FMIEtUKFPfWFopICAgICAgICAgICAgIFgKKysgU0FMIEsgICAgICAgICAgICAgICAgICAgIEsKKysgU0FMIExBUlZFLSAgICAgICAgICAgICAgIExBUkYKKysgU0FMIExFQU5ELV4gICAgICAgICAgICAgIExFQU4KKysgU0FMIExFTC0gICAgICAgICAgICAgICAgIExFCisrIFNBTCBMRShNTlJTVCktM14gICAgICAgICBMRQorKyBTQUwgTEVUVEUkICAgICAgICAgICAgICAgTEVUCisrIFNBTCBMRkdOQUctICAgICAgICAgICAgICBMRktBTgorKyBTQUwgTElDJCAgICAgICAgICAgICAgICAgTElaCisrIFNBTCBMSVZFXiQgICAgICAgICAgICAgICBMRUlGCisrIFNBTCBMVUkoR1MpLS0gICAgICAgICAgICBMVQorKyBTQUwgTCAgICAgICAgICAgICAgICAgICAgTAorKyBTQUwgTUFTU0VVKFJTKS0gICAgICAgICAgTkFa1gorKyBTQUwgTUFVUklDRSAgICAgICAgICAgICAgTlVSSVoKKysgU0FMIE1CSF4kICAgICAgICAgICAgICAgIE1QSAorKyBTQUwgTUIoU99aKS0gICAgICAgICAgICAgTgorKyBTQUwgTUM5XiAgICAgICAgICAgICAgICAgTksKKysgU0FMIE1FTU9JUi1eICAgICAgICAgICAgIE5FTlVBCisrIFNBTCBNRShMTU5SU1QpLTNeICAgICAgICBORQorKyBTQUwgTUlHVUVMICAgICAgICAgICAgICAgTklLTAorKyBTQUwgTUlLRV4kICAgICAgICAgICAgICAgTkVJSworKyBTQUwgTU4gICAgICAgICAgICAgICAgICAgTgorKyBTQUwgTVBKVVRFLSAgICAgICAgICAgICAgTlBVVAorKyBTQUwgTVAoU99aKS0gICAgICAgICAgICAgTgorKyBTQUwgTVAoQkRKTE1OUFFSVFZXKS0gICAgTlAKKysgU0FMIE0gICAgICAgICAgICAgICAgICAgIE4KKysgU0FMIE5BQ0heXiAgICAgICAgICAgICAgIE5BSworKyBTQUwgTkFESU5FICAgICAgICAgICAgICAgTkFUSU4KKysgU0FMIE5BSVYtLSAgICAgICAgICAgICAgIE5BCisrIFNBTCBOQUlTRSQgICAgICAgICAgICAgICBORVpFCisrIFNBTCBOQ09JU0UkICAgICAgICAgICAgICBaVUEKKysgU0FMIE5DT0lTJCAgICAgICAgICAgICAgIFpVQQorKyBTQUwgTkVCRU5eXiAgICAgICAgICAgICAgTkVQTgorKyBTQUwgTkUoTE1OUlNUKS0zXiAgICAgICAgTkUKKysgU0FMIE5FTi0zICAgICAgICAgICAgICAgIE5FCisrIFNBTCBORVRURSQgICAgICAgICAgICAgICBORVQKKysgU0FMIE5HKEJERkpMTU5QUVJUVlcpLSAgIE5LCisrIFNBTCBOSUNIVFNeXiAgICAgICAgICAgICBOSVgKKysgU0FMIE5JQ0hUXl4gICAgICAgICAgICAgIE5JS1QKKysgU0FMIE5JTkUkICAgICAgICAgICAgICAgIE5JTgorKyBTQUwgTk9OXl4gICAgICAgICAgICAgICAgTlVOCisrIFNBTCBOT1ReXiAgICAgICAgICAgICAgICBOVVQKKysgU0FMIE5USShBSU9VKS0zICAgICAgICAgIE5aSQorKyBTQUwgTlRJRUwtLTMgICAgICAgICAgICAgTlpJCisrIFNBTCBOWUxPTiAgICAgICAgICAgICAgICBORUlMVU4KKysgU0FMIE5EKFPfWikkICAgICAgICAgICAgIE5aCisrIFNBTCBOVChT31opJCAgICAgICAgICAgICBOWgorKyBTQUwgTkQnUyQgICAgICAgICAgICAgICAgTloKKysgU0FMIE5UJ1MkICAgICAgICAgICAgICAgIE5aCisrIFNBTCBOU1RTJCAgICAgICAgICAgICAgICBOWgorKyBTQUwgTiAgICAgICAgICAgICAgICAgICAgTgorKyBTQUwgT0JFUl5eICAgICAgICAgICAgICAgVVBBCisrIFNBTCBPRTIgICAgICAgICAgICAgICAgICDWCisrIFNBTCBPR05JRS0gICAgICAgICAgICAgICBVTkkKKysgU0FMIE9HTihBRU9VKS0kICAgICAgICAgIFVOSQorKyBTQUwgT0lFJCAgICAgICAgICAgICAgICAg1gorKyBTQUwgT0lSJCAgICAgICAgICAgICAgICAgVUFSCisrIFNBTCBPSVggICAgICAgICAgICAgICAgICBVQQorKyBTQUwgT0k8MyAgICAgICAgICAgICAgICAgRVUKKysgU0FMIE9KKEHERUlP1lXcKS0tICAgICAgIFUKKysgU0FMIE9LQVleJCAgICAgICAgICAgICAgIFVLRQorKyBTQUwgT0xZTiQgICAgICAgICAgICAgICAgVUxJTgorKyBTQUwgT1RJKEHET9ZV3CktICAgICAgICAgVVpJCisrIFNBTCBPVUleICAgICAgICAgICAgICAgICBGSQorKyBTQUwgT1VJTExFJCAgICAgICAgICAgICAgVUxJRQorKyBTQUwgT1UoRFQpLV4gICAgICAgICAgICAgQVUKKysgU0FMIE9VU0UkICAgICAgICAgICAgICAgIEFVWgorKyBTQUwgT1VULSAgICAgICAgICAgICAgICAgQVUKKysgU0FMIE9VICAgICAgICAgICAgICAgICAgIFUKKysgU0FMIE9XUyQgICAgICAgICAgICAgICAgIFVaCisrIFNBTCBPWShBxEVJT9ZV3CktLSAgICAgICBVCisrIFNBTCBPKEpZKTwgICAgICAgICAgICAgICBFVQorKyBTQUwgTyAgICAgICAgICAgICAgICAgICAgVQorKyBTQUwgUEFUSUVOLS1eICAgICAgICAgICAgUEFaSQorKyBTQUwgUEVOU0lPLV4gICAgICAgICAgICAgUEFOWkkKKysgU0FMIFBFKExNTlJTVCktM14gICAgICAgIFBFCisrIFNBTCBQRkVSLV4gICAgICAgICAgICAgICBGRQorKyBTQUwgUChGSCk8ICAgICAgICAgICAgICAgRgorKyBTQUwgUE9MWV5eICAgICAgICAgICAgICAgUFVMSQorKyBTQUwgUE9SVFJBSVQ3ICAgICAgICAgICAgUFVSVFJFCisrIFNBTCBQUChGSCktLTwgICAgICAgICAgICBQCisrIFNBTCBQUC0gICAgICAgICAgICAgICAgICBfCisrIFNBTCBQUklYXiQgICAgICAgICAgICAgICBQUkkKKysgU0FMIFAoU99aKV4gICAgICAgICAgICAgIFoKKysgU0FMIFBUSShBxE/WVdwpLTMgICAgICAgIFBaSQorKyBTQUwgUElDXiQgICAgICAgICAgICAgICAgUElLCisrIFNBTCBQICAgICAgICAgICAgICAgICAgICBQCisrIFNBTCBRVUUoTE1OUlNUKS0zICAgICAgICBLRkUKKysgU0FMIFFVRSQgICAgICAgICAgICAgICAgIEsKKysgU0FMIFFVSShOUykkICAgICAgICAgICAgIEtJCisrIFNBTCBRVSAgICAgICAgICAgICAgICAgICBLRgorKyBTQUwgUTwgICAgICAgICAgICAgICAgICAgSworKyBTQUwgUkNIICAgICAgICAgICAgICAgICAgUksKKysgU0FMIFJFQ0hFUkNIXiAgICAgICAgICAgIFJFWkFaCisrIFNBTCBSRVIkICAgICAgICAgICAgICAgICBSQQorKyBTQUwgUkUoTU5SKS00ICAgICAgICAgICAgUkUKKysgU0FMIFJFVFRFJCAgICAgICAgICAgICAgIFJFVAorKyBTQUwgUkg8XiAgICAgICAgICAgICAgICAgUgorKyBTQUwgUkpBKE1OKS0tICAgICAgICAgICAgUkkKKysgU0FMIFJUSShBxE/WVdwpLTMgICAgICAgIFJaSQorKyBTQUwgUlkoS04pLSQgICAgICAgICAgICAgUkkKKysgU0FMIFIgICAgICAgICAgICAgICAgICAgIFIKKysgU0FMIFNBRkVeJCAgICAgICAgICAgICAgIFpFSUYKKysgU0FMIFNBVUNFLV4gICAgICAgICAgICAgIFpVWgorKyBTQUwgU0NIU0NILS0tNyAgICAgICAgICAgXworKyBTQUwgU0NIVFNDSCAgICAgICAgICAgICAgWgorKyBTQUwgU0MoSFopPCAgICAgICAgICAgICAgWgorKyBTQUwgU0MgICAgICAgICAgICAgICAgICAgWksKKysgU0FMIFNFTEJTVFNULS03Xl4gICAgICAgIFpFTFAKKysgU0FMIFNFTEJTVDdeXiAgICAgICAgICAgIFpFTFBaVAorKyBTQUwgU0VSVklDRTdeICAgICAgICAgICAgWtZSRklaCisrIFNBTCBTRShMTU5SU1QpLTNeICAgICAgICBaRQorKyBTQUwgU0VUVEUkICAgICAgICAgICAgICAgWkVUCisrIFNBTCBTSFAtXiAgICAgICAgICAgICAgICBaCisrIFNBTCBTSFNUICAgICAgICAgICAgICAgICBaVAorKyBTQUwgU0hUU0ggICAgICAgICAgICAgICAgWgorKyBTQUwgU0hUICAgICAgICAgICAgICAgICAgWgorKyBTQUwgU0gzICAgICAgICAgICAgICAgICAgWgorKyBTQUwgU0lFR0xJLV4gICAgICAgICAgICAgWklLTAorKyBTQUwgU0lHTEktXiAgICAgICAgICAgICAgWklLTAorKyBTQUwgU0lHSFQgICAgICAgICAgICAgICAgWkVJVAorKyBTQUwgU0lHTiAgICAgICAgICAgICAgICAgWkVJTgorKyBTQUwgU0tJKE5QWiktICAgICAgICAgICAgWktJCisrIFNBTCBTS0k8XiAgICAgICAgICAgICAgICBaSQorKyBTQUwgU09VTkQtICAgICAgICAgICAgICAgWkFVTgorKyBTQUwgU1RBQVRTXl4gICAgICAgICAgICAgWlRBWgorKyBTQUwgU1RBRFReXiAgICAgICAgICAgICAgWlRBVAorKyBTQUwgU1RBUlReXiAgICAgICAgICAgICAgWlRBUlQKKysgU0FMIFNUQVVSQU5UNyAgICAgICAgICAgIFpUVVJBTgorKyBTQUwgU1RFQUstICAgICAgICAgICAgICAgWlRFCisrIFNBTCBTVFJBRl5eICAgICAgICAgICAgICBaVFJBRgorKyBTQUwgU1QnUyQgICAgICAgICAgICAgICAgWgorKyBTQUwgU1RTVC0tICAgICAgICAgICAgICAgXworKyBTQUwgU1RTKEFDRUhJT1XE3NYpLS0gICAgWlQKKysgU0FMIFNUKFNaKSAgICAgICAgICAgICAgIFoKKysgU0FMIFNUWU4oQUUpLSQgICAgICAgICAgIFpUSU4KKysgU0FMIFNUICAgICAgICAgICAgICAgICAgIFpUCisrIFNBTCBTWkUoTlBUKS1eICAgICAgICAgICBaRQorKyBTQUwgU1pJKEVMTiktXiAgICAgICAgICAgWkkKKysgU0FMIFNaQ1o8ICAgICAgICAgICAgICAgIFoKKysgU0FMIFNaVDwgICAgICAgICAgICAgICAgIFpUCisrIFNBTCBTWjwzICAgICAgICAgICAgICAgICBaCisrIFNBTCBTICAgICAgICAgICAgICAgICAgICBaCisrIFNBTCBUJ1MzJCAgICAgICAgICAgICAgICBaCisrIFNBTCBUQ0ggICAgICAgICAgICAgICAgICBaCisrIFNBTCBURUFULV4gICAgICAgICAgICAgICBURUEKKysgU0FMIFRFKExNTlJTVCktM14gICAgICAgIFRFCisrIFNBTCBUSDwgICAgICAgICAgICAgICAgICBUCisrIFNBTCBUSUMkICAgICAgICAgICAgICAgICBUSVoKKysgU0FMIFRPQVMtXiAgICAgICAgICAgICAgIFRVCisrIFNBTCBUT0lMRVQtICAgICAgICAgICAgICBUVUxFCisrIFNBTCBUT0lOLSAgICAgICAgICAgICAgICBUVUEKKysgU0FMIFRSQUlOSS0gICAgICAgICAgICAgIFRSRU4KKysgU0FMIFRTQ0ggICAgICAgICAgICAgICAgIFoKKysgU0FMIFRTSCAgICAgICAgICAgICAgICAgIFoKKysgU0FMIFRTVCAgICAgICAgICAgICAgICAgIFpUCisrIFNBTCBUKFPfKSAgICAgICAgICAgICAgICBaCisrIFNBTCBUVChTWiktLTwgICAgICAgICAgICBfCisrIFNBTCBUVDkgICAgICAgICAgICAgICAgICBUCisrIFNBTCBUWi0gICAgICAgICAgICAgICAgICBfCisrIFNBTCBUICAgICAgICAgICAgICAgICAgICBUCisrIFNBTCBVRUJFUl5eICAgICAgICAgICAgICBJUEEKKysgU0FMIFVFMiAgICAgICAgICAgICAgICAgIEkKKysgU0FMIFVJRSQgICAgICAgICAgICAgICAgIEkKKysgU0FMIFVNXl4gICAgICAgICAgICAgICAgIFVOCisrIFNBTCBVTlRFUkUtLSAgICAgICAgICAgICBVTlRFCisrIFNBTCBVTlRFUl5eICAgICAgICAgICAgICBVTlRBCisrIFNBTCBVTlZFUl5eICAgICAgICAgICAgICBVTkZBCisrIFNBTCBVTl5eICAgICAgICAgICAgICAgICBVTgorKyBTQUwgVVRJKEHET9ZV3CktICAgICAgICAgVVpJCisrIFNBTCBVICAgICAgICAgICAgICAgICAgICBVCisrIFNBTCBWQUNMLV4gICAgICAgICAgICAgICBGQVoKKysgU0FMIFZBQyQgICAgICAgICAgICAgICAgIEZBWgorKyBTQUwgVkVERC1eICAgICAgICAgICAgICAgRkUKKysgU0FMIFZFUkVJTiAgICAgICAgICAgICAgIEZBRUlOCisrIFNBTCBWRVJTRU5eICAgICAgICAgICAgICBGQVpOCisrIFNBTCBWRVJeXiAgICAgICAgICAgICAgICBGQQorKyBTQUwgVkVSICAgICAgICAgICAgICAgICAgRkEKKysgU0FMIFZFVChIVCktXiAgICAgICAgICAgIEZFVAorKyBTQUwgVkVUVEUkICAgICAgICAgICAgICAgRkVUCisrIFNBTCBWSUMkICAgICAgICAgICAgICAgICBGSVoKKysgU0FMIFZJRUwgICAgICAgICAgICAgICAgIEZJTAorKyBTQUwgVklFVyAgICAgICAgICAgICAgICAgRklVCisrIFNBTCBWT1JeXiAgICAgICAgICAgICAgICBGVVIKKysgU0FMIFZZOV4gICAgICAgICAgICAgICAgIEZJCisrIFNBTCBWPCAgICAgICAgICAgICAgICAgICBGCisrIFNBTCBXRShMTU5SU1QpLTNeICAgICAgICBGRQorKyBTQUwgV0lDJCAgICAgICAgICAgICAgICAgRklaCisrIFNBTCBXSUVERVJeXiAgICAgICAgICAgICBGSVRBCisrIFNBTCBXWTleICAgICAgICAgICAgICAgICBGSQorKyBTQUwgVyAgICAgICAgICAgICAgICAgICAgRgorKyBTQUwgWEUoTE1OUlNUKS0zXiAgICAgICAgWEUKKysgU0FMIFg8XiAgICAgICAgICAgICAgICAgIFoKKysgU0FMIFgoQ1NaKSAgICAgICAgICAgICAgIFgKKysgU0FMIFhUUyhDSCktLSAgICAgICAgICAgIFhUCisrIFNBTCBYVChTWikgICAgICAgICAgICAgICBaCisrIFNBTCBYICAgICAgICAgICAgICAgICAgICBYCisrIFNBTCBZRShMTU5SU1QpLTNeICAgICAgICBJRQorKyBTQUwgWUUtMyAgICAgICAgICAgICAgICAgSQorKyBTQUwgWU9SKEdLKV4kICAgICAgICAgICAgSdZSSworKyBTQUwgWShBT1UpLTw3ICAgICAgICAgICAgSQorKyBTQUwgWVZFU14kICAgICAgICAgICAgICAgSUYKKysgU0FMIFlWT05ORV4kICAgICAgICAgICAgIElGVU4KKysgU0FMIFkgICAgICAgICAgICAgICAgICAgIEkKKysgU0FMIFpDKEFPVSktICAgICAgICAgICAgIFpLCisrIFNBTCBaRShMTU5SU1QpLTNeICAgICAgICBaRQorKyBTQUwgWkg8ICAgICAgICAgICAgICAgICAgWgorKyBTQUwgWlMoQ0hUKS0tICAgICAgICAgICAgXworKyBTQUwgWlMgICAgICAgICAgICAgICAgICAgWgorKyBTQUwgWlVFUlNUICAgICAgICAgICAgICAgWlVFUlpUCisrIFNBTCBaVVLcQ0teXiAgICAgICAgICAgICBaVVJJSworKyBTQUwgWlVWRVJeXiAgICAgICAgICAgICAgWlVGQSAgICAjIHgKKysgU0FMIFogICAgICAgICAgICAgICAgICAgIFoKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3BlbGwvZGUvZGVfREUuZGlmZiBiL3J1bnRpbWUvc3BlbGwvZGUvZGVfREUuZGlmZgppbmRleCA4OWYwYTMzLi4zZDQ0YzYwIDEwMDY0NAotLS0gYS9ydW50aW1lL3NwZWxsL2RlL2RlX0RFLmRpZmYKKysrIGIvcnVudGltZS9zcGVsbC9kZS9kZV9ERS5kaWZmCkBAIC0xLDE3ICsxLDE0IEBACiAqKiogZGVfREUub3JpZy5hZmYJVGh1IEF1ZyAyNSAxMToyMjowNiAyMDA1Ci0tLS0gZGVfREUuYWZmCVRodSBBdWcgMjUgMTE6MjI6MDYgMjAwNQorLS0tIGRlX0RFLmFmZglUaHUgU2VwIDI5IDExOjQ0OjU3IDIwMDUKICoqKioqKioqKioqKioqKgogKioqIDIsMyAqKioqCi0tLS0gMiwyNCAtLS0tCistLS0gMiwyMSAtLS0tCiAgIFRSWSBlc2lhbnJ0b2xjZHVnbXBoYnlmdmt35Pz23+Hp6uDi8UVTSUFOUlRPTENEVUdNUEhCWUZWS1fE3NYKICsgCiArIEZPTCAg4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb4+fr7/P3+3/8KICsgTE9XICDg4eLj5OXm5+jp6uvs7e7v8PHy8/T19vj5+vv8/f7f/wogKyBVUFAgIMDBwsPExcbHyMnKy8zNzs/Q0dLT1NXW2Nna29zd3t//CiArIAotKyBTT0ZPRlJPTSBhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFla4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb4+fr7/P3+3//AwcLDxMXGx8jJysvMzc7P0NHS09TV1tjZ2tvc3d6/Ci0rIFNPRk9UTyAgIGViY3RlZmdoZWprbG5uZXBrcnN0ZXZ2a2VzZWJjdGVmZ2hlamtsbm5lcGtyc3RldnZrZXNlZWVlZWVlY2VlZWVlZWVlZG5lZWVlZWVlZWVlZXBzZWVlZWVlZWVjZWVlZWVlZWVkbmVlZWVlZWVlZWVlcD8KLSsgCiArIE1JRFdPUkQJJwogKyAKICsgTUFQIDkKQEAgLTI2LDMgKzIzLDQ4MyBAQAogKyBNQVAgc98KICsgCiAgICMKKyoqKioqKioqKioqKioqKgorKioqIDEyMjUgKioqKgorLS0tIDEyNDMsMTcxOSAtLS0tCisgIFJFUCD2IPZlCisrIAorKyAjICAgR2VybWFuIHBob25ldGljIHRyYW5zZm9ybWF0aW9uIHJ1bGVzIGZyb20gQXNwZWxsCisrICMgICBDb3B5cmlnaHQgKEMpIDIwMDAgQmr2cm4gSmFja2UsIGRpc3RyaWJ1dGVkIHVuZGVyIExHUEwuCisrICMgICBCavZybiBKYWNrZSBtYXkgYmUgcmVhY2hlZCBieSBlbWFpbCBhdCBiam9lcm4uamFja2VAZ214LmRlCisrICMgICBMYXN0IGNoYW5nZWQgMjAwMC0wMS0wNworKyAKKysgU0FMIGZvbGxvd3VwICAgICAgICAxCisrIFNBTCBjb2xsYXBzZV9yZXN1bHQgMQorKyAKKysgU0FMIMRFUi0gICAgICAgICAgICAgICAgIEUKKysgU0FMIMRVPCAgICAgICAgICAgICAgICAgIEVVCisrIFNBTCDEPCAgICAgICAgICAgICAgICAgICBFCisrIFNBTCDJICAgICAgICAgICAgICAgICAgICBFCisrIFNBTCDWRVItICAgICAgICAgICAgICAgICDWCisrIFNBTCDWICAgICAgICAgICAgICAgICAgICDWCisrIFNBTCDcQkVSXl4gICAgICAgICAgICAgICBJUEEKKysgU0FMINxFUi0gICAgICAgICAgICAgICAgIEkKKysgU0FMINwgICAgICAgICAgICAgICAgICAgIEkKKysgU0FMIN8gICAgICAgICAgICAgICAgICAgIFoKKysgU0FMIEFCRUxMRSQgICAgICAgICAgICAgIEFQTAorKyBTQUwgQUJFTEwkICAgICAgICAgICAgICAgQVBMCisrIFNBTCBBQklFTk5FJCAgICAgICAgICAgICBBUElOCisrIFNBTCBBQ0VZJCAgICAgICAgICAgICAgICBBWkkKKysgU0FMIEFFVTwgICAgICAgICAgICAgICAgIEVVCisrIFNBTCBBRTIgICAgICAgICAgICAgICAgICBFCisrIFNBTCBBR05JLV4gICAgICAgICAgICAgICBBS04KKysgU0FMIEFHTklFLSAgICAgICAgICAgICAgIEFOSQorKyBTQUwgQUdOKEFFT1UpLSQgICAgICAgICAgQU5JCisrIFNBTCBBSUEyICAgICAgICAgICAgICAgICBBSUEKKysgU0FMIEFJRSQgICAgICAgICAgICAgICAgIEUKKysgU0FMIEFJTEwoRU9VKS0gICAgICAgICAgIEFMSQorKyBTQUwgQUlORSQgICAgICAgICAgICAgICAgRU4KKysgU0FMIEFJUkUkICAgICAgICAgICAgICAgIEVSCisrIFNBTCBBSVItICAgICAgICAgICAgICAgICBFCisrIFNBTCBBSVNFJCAgICAgICAgICAgICAgICBFWgorKyBTQUwgQUlTU0FOQ0UkICAgICAgICAgICAgRVpBTloKKysgU0FMIEFJU1NFJCAgICAgICAgICAgICAgIEVaCisrIFNBTCBBSVgkICAgICAgICAgICAgICAgICBFWAorKyBTQUwgQUooQcRFSU/WVdwpLS0gICAgICAgQQorKyBTQUwgQUtUSUUgICAgICAgICAgICAgICAgQVhJRQorKyBTQUwgQUxPKElZKV4gICAgICAgICAgICAgQUxVSQorKyBTQUwgQU1BVEVVKFJTKS0gICAgICAgICAgQU5BVNYKKysgU0FMIEFOSUVMTEUkICAgICAgICAgICAgIEFOSUwKKysgU0FMIEFOVEleXiAgICAgICAgICAgICAgIEFOVEkKKysgU0FMIEFOVkVSXl4gICAgICAgICAgICAgIEFORkEKKysgU0FMIEFUSUEkICAgICAgICAgICAgICAgIEFUSUEKKysgU0FMIEFUSUEoTlMpLS0gICAgICAgICAgIEFUSQorKyBTQUwgQVRJKEHET9ZV3CktICAgICAgICAgQVpJCisrIFNBTCBBVUFVLS0gICAgICAgICAgICAgICBfCisrIFNBTCBBVUVSPCAgICAgICAgICAgICAgICBBVUEKKysgU0FMIEFVRl5eICAgICAgICAgICAgICAgIEFVRgorKyBTQUwgQVVMVCQgICAgICAgICAgICAgICAgVQorKyBTQUwgQVVTU0UkICAgICAgICAgICAgICAgVVoKKysgU0FMIEFVUyhTVCktXiAgICAgICAgICAgIEFVWgorKyBTQUwgQVVTXl4gICAgICAgICAgICAgICAgQVVaCisrIFNBTCBBVVRPXl4gICAgICAgICAgICAgICBBVVRVCisrIFNBTCBBVVgoSVkpLSAgICAgICAgICAgICBBVVgKKysgU0FMIEFVWCAgICAgICAgICAgICAgICAgIFUKKysgU0FMIEFVICAgICAgICAgICAgICAgICAgIEFVCisrIFNBTCBBVklFUiQgICAgICAgICAgICAgICBBRklFCisrIFNBTCBBWUVSLS08ICAgICAgICAgICAgICBFSQorKyBTQUwgQVkoQcRFSU/WVdwpLS0gICAgICAgQQorKyBTQUwgQShJSlkpPCAgICAgICAgICAgICAgRUkKKysgU0FMIEEgICAgICAgICAgICAgICAgICAgIEEKKysgU0FMIEJFQShCQ01OUlUpLV4gICAgICAgIFBFQQorKyBTQUwgQkVBVChBRUlNT1JVKS1eICAgICAgUEVBVAorKyBTQUwgQkVJR0VeJCAgICAgICAgICAgICAgUEVaCisrIFNBTCBCRShMTU5SU1QpLV4gICAgICAgICBQRQorKyBTQUwgQkVUVEUkICAgICAgICAgICAgICAgUEVUCisrIFNBTCBCSUMkICAgICAgICAgICAgICAgICBQSVoKKysgU0FMIEJPV0woRUkpLSAgICAgICAgICAgIFBVTAorKyBTQUwgQlAoQcRFSU/WUlXcWSktICAgICAgUAorKyBTQUwgQlVER0VUNyAgICAgICAgICAgICAgUElLRQorKyBTQUwgQlVGRkVUNyAgICAgICAgICAgICAgUElGRQorKyBTQUwgQllMTEUkICAgICAgICAgICAgICAgUElMRQorKyBTQUwgQllMTCQgICAgICAgICAgICAgICAgUElMCisrIFNBTCBCWVRFPCAgICAgICAgICAgICAgICBQRUlUCisrIFNBTCBCICAgICAgICAgICAgICAgICAgICBQCisrIFNBTCBDxC0gICAgICAgICAgICAgICAgICBaCisrIFNBTCBD3CQgICAgICAgICAgICAgICAgICBaSQorKyBTQUwgQ0FDSChFSSktXiAgICAgICAgICAgS0VaCisrIFNBTCBDQUUtLSAgICAgICAgICAgICAgICBaCisrIFNBTCBDQShJWSkkICAgICAgICAgICAgICBaRUkKKysgU0FMIENDSCAgICAgICAgICAgICAgICAgIFoKKysgU0FMIENDRS0gICAgICAgICAgICAgICAgIFgKKysgU0FMIENFKEVJSlVZKS0tICAgICAgICAgIFoKKysgU0FMIENFTlQ8ICAgICAgICAgICAgICAgIFpFTlQKKysgU0FMIENFUlNUKEVJKS0tLS1eICAgICAgIEtFCisrIFNBTCBDRVIkICAgICAgICAgICAgICAgICBaQQorKyBTQUwgQ0UzICAgICAgICAgICAgICAgICAgWkUKKysgU0FMIENIQU8oU1QpLSAgICAgICAgICAgIEtBVQorKyBTQUwgQ0hBTVBJTy1eICAgICAgICAgICAgWkVOUEkKKysgU0FMIENIQVIoQUkpLV4gICAgICAgICAgIEtBUgorKyBTQUwgQ0hBVShDREZTVldYWiktICAgICAgWlUKKysgU0FMIENIRShDRiktICAgICAgICAgICAgIFpFCisrIFNBTCBDSEVNLV4gICAgICAgICAgICAgICBLRQorKyBTQUwgQ0hFUVVFPCAgICAgICAgICAgICAgWkVLCisrIFNBTCBDSEkoQ0ZHUFZXKS0gICAgICAgICBaSQorKyBTQUwgQ0goQUVVWSktPF4gICAgICAgICAgWgorKyBTQUwgQ0hLLSAgICAgICAgICAgICAgICAgXworKyBTQUwgQ0goTE9SKS08XiAgICAgICAgICAgSworKyBTQUwgQ0hTVC0gICAgICAgICAgICAgICAgWAorKyBTQUwgQ0goU99YWikzICAgICAgICAgICAgWAorKyBTQUwgQ0ggICAgICAgICAgICAgICAgICAgSworKyBTQUwgQ0lFUiQgICAgICAgICAgICAgICAgWklFCisrIFNBTCBDWUItXiAgICAgICAgICAgICAgICBaRUkKKysgU0FMIENZOV4gICAgICAgICAgICAgICAgIFpJCisrIFNBTCBDKElKWSktMyAgICAgICAgICAgICBaCisrIFNBTCBDS1NUICAgICAgICAgICAgICAgICBYVAorKyBTQUwgQ0soU99YWikzICAgICAgICAgICAgWAorKyBTQUwgQyhDSyktICAgICAgICAgICAgICAgXworKyBTQUwgQ0xBVURFVC0tLSAgICAgICAgICAgS0xVCisrIFNBTCBDTEFVRElORV4kICAgICAgICAgICBLTFVUSU4KKysgU0FMIENPTEUkICAgICAgICAgICAgICAgIEtVTAorKyBTQUwgQ09VQ0ggICAgICAgICAgICAgICAgS0FVWgorKyBTQUwgQ1FVRVMkICAgICAgICAgICAgICAgSworKyBTQUwgQ1FVRSAgICAgICAgICAgICAgICAgSworKyBTQUwgQ1JFQVQtXiAgICAgICAgICAgICAgS1JFQQorKyBTQUwgQ1NUICAgICAgICAgICAgICAgICAgWFQKKysgU0FMIENTPF4gICAgICAgICAgICAgICAgIFoKKysgU0FMIEMoU99YKSAgICAgICAgICAgICAgIFgKKysgU0FMIENUKFPfWFopICAgICAgICAgICAgIFgKKysgU0FMIENaPCAgICAgICAgICAgICAgICAgIFoKKysgU0FMIEM8ICAgICAgICAgICAgICAgICAgIEsKKysgU0FMIEQnSF4gICAgICAgICAgICAgICAgIFQKKysgU0FMIEQnUzMkICAgICAgICAgICAgICAgIFoKKysgU0FMIERBVk8oTlIpLV4kICAgICAgICAgIFRBRlUKKysgU0FMIEREKFNaKS0tPCAgICAgICAgICAgIF8KKysgU0FMIERFUE9UNyAgICAgICAgICAgICAgIFRFUFUKKysgU0FMIERFU0lHTiAgICAgICAgICAgICAgIFRJWkVJTgorKyBTQUwgREUoTE1OUlNUKS0zXiAgICAgICAgVEUKKysgU0FMIERFVFRFJCAgICAgICAgICAgICAgIFRFVAorKyBTQUwgRElDJCAgICAgICAgICAgICAgICAgVElaCisrIFNBTCBESihBRUlPVSktXiAgICAgICAgICBJCisrIFNBTCBEUyhDSCktLTwgICAgICAgICAgICBUCisrIFNBTCBEU1QgICAgICAgICAgICAgICAgICBaVAorKyBTQUwgRFQtICAgICAgICAgICAgICAgICAgXworKyBTQUwgRFVJUy1eICAgICAgICAgICAgICAgVEkKKysgU0FMIERVUkNIXl4gICAgICAgICAgICAgIFRVUksKKysgU0FMIERaUyhDSCktLSAgICAgICAgICAgIFQKKysgU0FMIEQoU99aKSAgICAgICAgICAgICAgIFoKKysgU0FMIEQgICAgICAgICAgICAgICAgICAgIFQKKysgU0FMIEVBVUxUJCAgICAgICAgICAgICAgIFUKKysgU0FMIEVBVVgkICAgICAgICAgICAgICAgIFUKKysgU0FMIEVBVSAgICAgICAgICAgICAgICAgIFUKKysgU0FMIEVBViAgICAgICAgICAgICAgICAgIElGCisrIFNBTCBFQShBxEVJT9bcWSktMyAgICAgICBFQQorKyBTQUwgRUEzJCAgICAgICAgICAgICAgICAgRUEKKysgU0FMIEVBMyAgICAgICAgICAgICAgICAgIEkKKysgU0FMIEVCRU5eXiAgICAgICAgICAgICAgIEVQTgorKyBTQUwgRUU5ICAgICAgICAgICAgICAgICAgRQorKyBTQUwgRUlFSS0tICAgICAgICAgICAgICAgXworKyBTQUwgRUlILS0gICAgICAgICAgICAgICAgRQorKyBTQUwgRUlMTEUkICAgICAgICAgICAgICAgRUkKKysgU0FMIEVJICAgICAgICAgICAgICAgICAgIEVJCisrIFNBTCBFSiQgICAgICAgICAgICAgICAgICBFSQorKyBTQUwgRUwtXiAgICAgICAgICAgICAgICAgRQorKyBTQUwgRUwoREtMKS0tMSAgICAgICAgICAgRQorKyBTQUwgRUwoTU5UKS0tMSQgICAgICAgICAgRQorKyBTQUwgRUxZTkUkICAgICAgICAgICAgICAgRUxJTkUKKysgU0FMIEVMWU4kICAgICAgICAgICAgICAgIEVMSU4KKysgU0FMIEVMKEHERUlP1lXcWSktMSAgICAgIEVMCisrIFNBTCBFTC0xICAgICAgICAgICAgICAgICBMCisrIFNBTCBFTS1eICAgICAgICAgICAgICAgICBFCisrIFNBTCBFTShERktNUFFUKS0tMSAgICAgICBFCisrIFNBTCBFTShBxEVJT9ZV3FkpLS0xICAgICBFCisrIFNBTCBFTS0xICAgICAgICAgICAgICAgICBOCisrIFNBTCBFTi1eICAgICAgICAgICAgICAgICBFCisrIFNBTCBFTihDREdLUVQpLS0xICAgICAgICBFCisrIFNBTCBFTlooQUVJT1VZKS0tMSAgICAgICBFTgorKyBTQUwgRU4oQcRFSU5P1lXcWSktMSAgICAgRU4KKysgU0FMIEVOLTwxICAgICAgICAgICAgICAgIE4KKysgU0FMIEVSSChBxEVJT9ZV3CktXiAgICAgIEVSCisrIFNBTCBFUi1eICAgICAgICAgICAgICAgICBFCisrIFNBTCBFUihBxEVJT9ZV3FkpLTEgICAgICBBCisrIFNBTCBFUjEkICAgICAgICAgICAgICAgICBBCisrIFNBTCBFUjwxICAgICAgICAgICAgICAgICBBCisrIFNBTCBFVEkoQcRP1txVKS0gICAgICAgICBFWkkKKysgU0FMIEVVRVUtLSAgICAgICAgICAgICAgIF8KKysgU0FMIEVVSUxMRSQgICAgICAgICAgICAgINYKKysgU0FMIEVVUiQgICAgICAgICAgICAgICAgINZSCisrIFNBTCBFVVggICAgICAgICAgICAgICAgICDWCisrIFNBTCBFVVlTJCAgICAgICAgICAgICAgICBFVVoKKysgU0FMIEVVICAgICAgICAgICAgICAgICAgIEVVCisrIFNBTCBFWUVSPCAgICAgICAgICAgICAgICBFSUEKKysgU0FMIEVZPCAgICAgICAgICAgICAgICAgIEVJCisrIFNBTCBFICAgICAgICAgICAgICAgICAgICBFCisrIFNBTCBGQU5TLS1eJCAgICAgICAgICAgICBGRQorKyBTQUwgRkFOLV4kICAgICAgICAgICAgICAgRkUKKysgU0FMIEZBVUxULSAgICAgICAgICAgICAgIEZVTAorKyBTQUwgRkVFKERMKS0gICAgICAgICAgICAgRkkKKysgU0FMIEZFSExFUiAgICAgICAgICAgICAgIEZFTEEKKysgU0FMIEZFKExNTlJTVCktM14gICAgICAgIEZFCisrIFNBTCBGT05ENyAgICAgICAgICAgICAgICBGVU4KKysgU0FMIEZSQUlOJCAgICAgICAgICAgICAgIEZSQQorKyBTQUwgRlJJU0VVKFJTKS0gICAgICAgICAgRlJJWtYgICMgeAorKyBTQUwgRiAgICAgICAgICAgICAgICAgICAgRgorKyBTQUwgRydTJCAgICAgICAgICAgICAgICAgWAorKyBTQUwgR0FHU14kICAgICAgICAgICAgICAgS0VYCisrIFNBTCBHQUdeJCAgICAgICAgICAgICAgICBLRUsKKysgU0FMIEdEICAgICAgICAgICAgICAgICAgIEtUCisrIFNBTCBHRUdFTl5eICAgICAgICAgICAgICBLRUtOCisrIFNBTCBHRShMTU5SU1QpLTNeICAgICAgICBLRQorKyBTQUwgR0VUVEUkICAgICAgICAgICAgICAgS0VUCisrIFNBTCBHKENLKS0gICAgICAgICAgICAgICBfCisrIFNBTCBHRy0gICAgICAgICAgICAgICAgICBfCisrIFNBTCBHSShBTyktXiAgICAgICAgICAgICBJCisrIFNBTCBHSU9OJCAgICAgICAgICAgICAgICBLSVVOCisrIFNBTCBHSVVTLV4gICAgICAgICAgICAgICBJVQorKyBTQUwgR01CSF4kICAgICAgICAgICAgICAgR01QSAorKyBTQUwgR05BQyQgICAgICAgICAgICAgICAgTklBSworKyBTQUwgR05PTiQgICAgICAgICAgICAgICAgTklVTgorKyBTQUwgR04kICAgICAgICAgICAgICAgICAgTgorKyBTQUwgR09OQ0FMLV4gICAgICAgICAgICAgS1VOWkEKKysgU0FMIEdTKENIKS0tICAgICAgICAgICAgIEsKKysgU0FMIEdTVCAgICAgICAgICAgICAgICAgIFhUCisrIFNBTCBHKFPfWFopICAgICAgICAgICAgICBYCisrIFNBTCBHVUNLLSAgICAgICAgICAgICAgICBLVQorKyBTQUwgR1VJLV4gICAgICAgICAgICAgICAgSworKyBTQUwgRyAgICAgICAgICAgICAgICAgICAgSworKyBTQUwgSEVBRC0gICAgICAgICAgICAgICAgRQorKyBTQUwgSEUoTE1OUlNUKS0zXiAgICAgICAgRQorKyBTQUwgSEUoTE1OKS0xICAgICAgICAgICAgRQorKyBTQUwgSEVVUjEkICAgICAgICAgICAgICAg1lIKKysgU0FMIEheICAgICAgICAgICAgICAgICAgIF8KKysgU0FMIElFQyQgICAgICAgICAgICAgICAgIElaCisrIFNBTCBJRUktMyAgICAgICAgICAgICAgICBfCisrIFNBTCBJRUxMMyAgICAgICAgICAgICAgICBJRUwKKysgU0FMIElFTk5FJCAgICAgICAgICAgICAgIElOCisrIFNBTCBJRVJSRSQgICAgICAgICAgICAgICBJRVIKKysgU0FMIElFVFRFJCAgICAgICAgICAgICAgIElUCisrIFNBTCBJRVUgICAgICAgICAgICAgICAgICBJ1gorKyBTQUwgSUU8NCAgICAgICAgICAgICAgICAgSQorKyBTQUwgSUdIVDMkICAgICAgICAgICAgICAgRUlUCisrIFNBTCBJR05JKEVPKS0gICAgICAgICAgICBJTkkKKysgU0FMIElHTihBRU9VKS0kICAgICAgICAgIElOSQorKyBTQUwgSUooQU9VKS0gICAgICAgICAgICAgSQorKyBTQUwgSUokICAgICAgICAgICAgICAgICAgSQorKyBTQUwgSUo8ICAgICAgICAgICAgICAgICAgRUkKKysgU0FMIElLT0xFJCAgICAgICAgICAgICAgIElLVUwKKysgU0FMIElMTEFOKFNUWiktLSAgICAgICAgIElMSUEKKysgU0FMIElMTEFSKERUKS0tICAgICAgICAgIElMSUEKKysgU0FMIElOVkVSLSAgICAgICAgICAgICAgIElORkUKKysgU0FMIElUSShBxE/WVdwpLSAgICAgICAgIElaSQorKyBTQUwgSVZJRVIkICAgICAgICAgICAgICAgSUZJRQorKyBTQUwgSSAgICAgICAgICAgICAgICAgICAgSQorKyBTQUwgSkFWSUUtLS08XiAgICAgICAgICAgWkEKKysgU0FMIEpFQU5eJCAgICAgICAgICAgICAgIElBCisrIFNBTCBKRUFOLV4gICAgICAgICAgICAgICBJQQorKyBTQUwgSkVSLV4gICAgICAgICAgICAgICAgSUUKKysgU0FMIEpFKExNTlNUKS0gICAgICAgICAgIElFCisrIFNBTCBKT1IoR0spXiQgICAgICAgICAgICBJ1lJLCisrIFNBTCBKICAgICAgICAgICAgICAgICAgICBJCisrIFNBTCBLQyjERUlKKS0gICAgICAgICAgICBYCisrIFNBTCBLRShMTU5SU1QpLTNeICAgICAgICBLRQorKyBTQUwgS0g8XiAgICAgICAgICAgICAgICAgSworKyBTQUwgS0lDJCAgICAgICAgICAgICAgICAgS0laCisrIFNBTCBLTEUoTE1OUlNUKS0zXiAgICAgICBLTEUKKysgU0FMIEtPVEVMRS1eICAgICAgICAgICAgIEtVVEwKKysgU0FMIEtSRUFULV4gICAgICAgICAgICAgIEtSRUEKKysgU0FMIEtTVCAgICAgICAgICAgICAgICAgIFhUCisrIFNBTCBLKFPfWFopICAgICAgICAgICAgICBYCisrIFNBTCBLVEkoQUlPVSktMyAgICAgICAgICBYSQorKyBTQUwgS1QoU99YWikgICAgICAgICAgICAgWAorKyBTQUwgSyAgICAgICAgICAgICAgICAgICAgSworKyBTQUwgTEFSVkUtICAgICAgICAgICAgICAgTEFSRgorKyBTQUwgTEVBTkQtXiAgICAgICAgICAgICAgTEVBTgorKyBTQUwgTEVMLSAgICAgICAgICAgICAgICAgTEUKKysgU0FMIExFKE1OUlNUKS0zXiAgICAgICAgIExFCisrIFNBTCBMRVRURSQgICAgICAgICAgICAgICBMRVQKKysgU0FMIExGR05BRy0gICAgICAgICAgICAgIExGS0FOCisrIFNBTCBMSUMkICAgICAgICAgICAgICAgICBMSVoKKysgU0FMIExJVkVeJCAgICAgICAgICAgICAgIExFSUYKKysgU0FMIExVSShHUyktLSAgICAgICAgICAgIExVCisrIFNBTCBMICAgICAgICAgICAgICAgICAgICBMCisrIFNBTCBNQVNTRVUoUlMpLSAgICAgICAgICBOQVrWCisrIFNBTCBNQVVSSUNFICAgICAgICAgICAgICBOVVJJWgorKyBTQUwgTUJIXiQgICAgICAgICAgICAgICAgTVBICisrIFNBTCBNQihT31opLSAgICAgICAgICAgICBOCisrIFNBTCBNQzleICAgICAgICAgICAgICAgICBOSworKyBTQUwgTUVNT0lSLV4gICAgICAgICAgICAgTkVOVUEKKysgU0FMIE1FKExNTlJTVCktM14gICAgICAgIE5FCisrIFNBTCBNSUdVRUwgICAgICAgICAgICAgICBOSUtMCisrIFNBTCBNSUtFXiQgICAgICAgICAgICAgICBORUlLCisrIFNBTCBNTiAgICAgICAgICAgICAgICAgICBOCisrIFNBTCBNUEpVVEUtICAgICAgICAgICAgICBOUFVUCisrIFNBTCBNUChT31opLSAgICAgICAgICAgICBOCisrIFNBTCBNUChCREpMTU5QUVJUVlcpLSAgICBOUAorKyBTQUwgTSAgICAgICAgICAgICAgICAgICAgTgorKyBTQUwgTkFDSF5eICAgICAgICAgICAgICAgTkFLCisrIFNBTCBOQURJTkUgICAgICAgICAgICAgICBOQVRJTgorKyBTQUwgTkFJVi0tICAgICAgICAgICAgICAgTkEKKysgU0FMIE5BSVNFJCAgICAgICAgICAgICAgIE5FWkUKKysgU0FMIE5DT0lTRSQgICAgICAgICAgICAgIFpVQQorKyBTQUwgTkNPSVMkICAgICAgICAgICAgICAgWlVBCisrIFNBTCBORUJFTl5eICAgICAgICAgICAgICBORVBOCisrIFNBTCBORShMTU5SU1QpLTNeICAgICAgICBORQorKyBTQUwgTkVOLTMgICAgICAgICAgICAgICAgTkUKKysgU0FMIE5FVFRFJCAgICAgICAgICAgICAgIE5FVAorKyBTQUwgTkcoQkRGSkxNTlBRUlRWVyktICAgTksKKysgU0FMIE5JQ0hUU15eICAgICAgICAgICAgIE5JWAorKyBTQUwgTklDSFReXiAgICAgICAgICAgICAgTklLVAorKyBTQUwgTklORSQgICAgICAgICAgICAgICAgTklOCisrIFNBTCBOT05eXiAgICAgICAgICAgICAgICBOVU4KKysgU0FMIE5PVF5eICAgICAgICAgICAgICAgIE5VVAorKyBTQUwgTlRJKEFJT1UpLTMgICAgICAgICAgTlpJCisrIFNBTCBOVElFTC0tMyAgICAgICAgICAgICBOWkkKKysgU0FMIE5ZTE9OICAgICAgICAgICAgICAgIE5FSUxVTgorKyBTQUwgTkQoU99aKSQgICAgICAgICAgICAgTloKKysgU0FMIE5UKFPfWikkICAgICAgICAgICAgIE5aCisrIFNBTCBORCdTJCAgICAgICAgICAgICAgICBOWgorKyBTQUwgTlQnUyQgICAgICAgICAgICAgICAgTloKKysgU0FMIE5TVFMkICAgICAgICAgICAgICAgIE5aCisrIFNBTCBOICAgICAgICAgICAgICAgICAgICBOCisrIFNBTCBPQkVSXl4gICAgICAgICAgICAgICBVUEEKKysgU0FMIE9FMiAgICAgICAgICAgICAgICAgINYKKysgU0FMIE9HTklFLSAgICAgICAgICAgICAgIFVOSQorKyBTQUwgT0dOKEFFT1UpLSQgICAgICAgICAgVU5JCisrIFNBTCBPSUUkICAgICAgICAgICAgICAgICDWCisrIFNBTCBPSVIkICAgICAgICAgICAgICAgICBVQVIKKysgU0FMIE9JWCAgICAgICAgICAgICAgICAgIFVBCisrIFNBTCBPSTwzICAgICAgICAgICAgICAgICBFVQorKyBTQUwgT0ooQcRFSU/WVdwpLS0gICAgICAgVQorKyBTQUwgT0tBWV4kICAgICAgICAgICAgICAgVUtFCisrIFNBTCBPTFlOJCAgICAgICAgICAgICAgICBVTElOCisrIFNBTCBPVEkoQcRP1lXcKS0gICAgICAgICBVWkkKKysgU0FMIE9VSV4gICAgICAgICAgICAgICAgIEZJCisrIFNBTCBPVUlMTEUkICAgICAgICAgICAgICBVTElFCisrIFNBTCBPVShEVCktXiAgICAgICAgICAgICBBVQorKyBTQUwgT1VTRSQgICAgICAgICAgICAgICAgQVVaCisrIFNBTCBPVVQtICAgICAgICAgICAgICAgICBBVQorKyBTQUwgT1UgICAgICAgICAgICAgICAgICAgVQorKyBTQUwgT1dTJCAgICAgICAgICAgICAgICAgVVoKKysgU0FMIE9ZKEHERUlP1lXcKS0tICAgICAgIFUKKysgU0FMIE8oSlkpPCAgICAgICAgICAgICAgIEVVCisrIFNBTCBPICAgICAgICAgICAgICAgICAgICBVCisrIFNBTCBQQVRJRU4tLV4gICAgICAgICAgICBQQVpJCisrIFNBTCBQRU5TSU8tXiAgICAgICAgICAgICBQQU5aSQorKyBTQUwgUEUoTE1OUlNUKS0zXiAgICAgICAgUEUKKysgU0FMIFBGRVItXiAgICAgICAgICAgICAgIEZFCisrIFNBTCBQKEZIKTwgICAgICAgICAgICAgICBGCisrIFNBTCBQT0xZXl4gICAgICAgICAgICAgICBQVUxJCisrIFNBTCBQT1JUUkFJVDcgICAgICAgICAgICBQVVJUUkUKKysgU0FMIFBQKEZIKS0tPCAgICAgICAgICAgIFAKKysgU0FMIFBQLSAgICAgICAgICAgICAgICAgIF8KKysgU0FMIFBSSVheJCAgICAgICAgICAgICAgIFBSSQorKyBTQUwgUChT31opXiAgICAgICAgICAgICAgWgorKyBTQUwgUFRJKEHET9ZV3CktMyAgICAgICAgUFpJCisrIFNBTCBQSUNeJCAgICAgICAgICAgICAgICBQSUsKKysgU0FMIFAgICAgICAgICAgICAgICAgICAgIFAKKysgU0FMIFFVRShMTU5SU1QpLTMgICAgICAgIEtGRQorKyBTQUwgUVVFJCAgICAgICAgICAgICAgICAgSworKyBTQUwgUVVJKE5TKSQgICAgICAgICAgICAgS0kKKysgU0FMIFFVICAgICAgICAgICAgICAgICAgIEtGCisrIFNBTCBRPCAgICAgICAgICAgICAgICAgICBLCisrIFNBTCBSQ0ggICAgICAgICAgICAgICAgICBSSworKyBTQUwgUkVDSEVSQ0heICAgICAgICAgICAgUkVaQVoKKysgU0FMIFJFUiQgICAgICAgICAgICAgICAgIFJBCisrIFNBTCBSRShNTlIpLTQgICAgICAgICAgICBSRQorKyBTQUwgUkVUVEUkICAgICAgICAgICAgICAgUkVUCisrIFNBTCBSSDxeICAgICAgICAgICAgICAgICBSCisrIFNBTCBSSkEoTU4pLS0gICAgICAgICAgICBSSQorKyBTQUwgUlRJKEHET9ZV3CktMyAgICAgICAgUlpJCisrIFNBTCBSWShLTiktJCAgICAgICAgICAgICBSSQorKyBTQUwgUiAgICAgICAgICAgICAgICAgICAgUgorKyBTQUwgU0FGRV4kICAgICAgICAgICAgICAgWkVJRgorKyBTQUwgU0FVQ0UtXiAgICAgICAgICAgICAgWlVaCisrIFNBTCBTQ0hTQ0gtLS03ICAgICAgICAgICBfCisrIFNBTCBTQ0hUU0NIICAgICAgICAgICAgICBaCisrIFNBTCBTQyhIWik8ICAgICAgICAgICAgICBaCisrIFNBTCBTQyAgICAgICAgICAgICAgICAgICBaSworKyBTQUwgU0VMQlNUU1QtLTdeXiAgICAgICAgWkVMUAorKyBTQUwgU0VMQlNUN15eICAgICAgICAgICAgWkVMUFpUCisrIFNBTCBTRVJWSUNFN14gICAgICAgICAgICBa1lJGSVoKKysgU0FMIFNFKExNTlJTVCktM14gICAgICAgIFpFCisrIFNBTCBTRVRURSQgICAgICAgICAgICAgICBaRVQKKysgU0FMIFNIUC1eICAgICAgICAgICAgICAgIFoKKysgU0FMIFNIU1QgICAgICAgICAgICAgICAgIFpUCisrIFNBTCBTSFRTSCAgICAgICAgICAgICAgICBaCisrIFNBTCBTSFQgICAgICAgICAgICAgICAgICBaCisrIFNBTCBTSDMgICAgICAgICAgICAgICAgICBaCisrIFNBTCBTSUVHTEktXiAgICAgICAgICAgICBaSUtMCisrIFNBTCBTSUdMSS1eICAgICAgICAgICAgICBaSUtMCisrIFNBTCBTSUdIVCAgICAgICAgICAgICAgICBaRUlUCisrIFNBTCBTSUdOICAgICAgICAgICAgICAgICBaRUlOCisrIFNBTCBTS0koTlBaKS0gICAgICAgICAgICBaS0kKKysgU0FMIFNLSTxeICAgICAgICAgICAgICAgIFpJCisrIFNBTCBTT1VORC0gICAgICAgICAgICAgICBaQVVOCisrIFNBTCBTVEFBVFNeXiAgICAgICAgICAgICBaVEFaCisrIFNBTCBTVEFEVF5eICAgICAgICAgICAgICBaVEFUCisrIFNBTCBTVEFSVF5eICAgICAgICAgICAgICBaVEFSVAorKyBTQUwgU1RBVVJBTlQ3ICAgICAgICAgICAgWlRVUkFOCisrIFNBTCBTVEVBSy0gICAgICAgICAgICAgICBaVEUKKysgU0FMIFNUUkFGXl4gICAgICAgICAgICAgIFpUUkFGCisrIFNBTCBTVCdTJCAgICAgICAgICAgICAgICBaCisrIFNBTCBTVFNULS0gICAgICAgICAgICAgICBfCisrIFNBTCBTVFMoQUNFSElPVcTc1iktLSAgICBaVAorKyBTQUwgU1QoU1opICAgICAgICAgICAgICAgWgorKyBTQUwgU1RZTihBRSktJCAgICAgICAgICAgWlRJTgorKyBTQUwgU1QgICAgICAgICAgICAgICAgICAgWlQKKysgU0FMIFNaRShOUFQpLV4gICAgICAgICAgIFpFCisrIFNBTCBTWkkoRUxOKS1eICAgICAgICAgICBaSQorKyBTQUwgU1pDWjwgICAgICAgICAgICAgICAgWgorKyBTQUwgU1pUPCAgICAgICAgICAgICAgICAgWlQKKysgU0FMIFNaPDMgICAgICAgICAgICAgICAgIFoKKysgU0FMIFMgICAgICAgICAgICAgICAgICAgIFoKKysgU0FMIFQnUzMkICAgICAgICAgICAgICAgIFoKKysgU0FMIFRDSCAgICAgICAgICAgICAgICAgIFoKKysgU0FMIFRFQVQtXiAgICAgICAgICAgICAgIFRFQQorKyBTQUwgVEUoTE1OUlNUKS0zXiAgICAgICAgVEUKKysgU0FMIFRIPCAgICAgICAgICAgICAgICAgIFQKKysgU0FMIFRJQyQgICAgICAgICAgICAgICAgIFRJWgorKyBTQUwgVE9BUy1eICAgICAgICAgICAgICAgVFUKKysgU0FMIFRPSUxFVC0gICAgICAgICAgICAgIFRVTEUKKysgU0FMIFRPSU4tICAgICAgICAgICAgICAgIFRVQQorKyBTQUwgVFJBSU5JLSAgICAgICAgICAgICAgVFJFTgorKyBTQUwgVFNDSCAgICAgICAgICAgICAgICAgWgorKyBTQUwgVFNIICAgICAgICAgICAgICAgICAgWgorKyBTQUwgVFNUICAgICAgICAgICAgICAgICAgWlQKKysgU0FMIFQoU98pICAgICAgICAgICAgICAgIFoKKysgU0FMIFRUKFNaKS0tPCAgICAgICAgICAgIF8KKysgU0FMIFRUOSAgICAgICAgICAgICAgICAgIFQKKysgU0FMIFRaLSAgICAgICAgICAgICAgICAgIF8KKysgU0FMIFQgICAgICAgICAgICAgICAgICAgIFQKKysgU0FMIFVFQkVSXl4gICAgICAgICAgICAgIElQQQorKyBTQUwgVUUyICAgICAgICAgICAgICAgICAgSQorKyBTQUwgVUlFJCAgICAgICAgICAgICAgICAgSQorKyBTQUwgVU1eXiAgICAgICAgICAgICAgICAgVU4KKysgU0FMIFVOVEVSRS0tICAgICAgICAgICAgIFVOVEUKKysgU0FMIFVOVEVSXl4gICAgICAgICAgICAgIFVOVEEKKysgU0FMIFVOVkVSXl4gICAgICAgICAgICAgIFVORkEKKysgU0FMIFVOXl4gICAgICAgICAgICAgICAgIFVOCisrIFNBTCBVVEkoQcRP1lXcKS0gICAgICAgICBVWkkKKysgU0FMIFUgICAgICAgICAgICAgICAgICAgIFUKKysgU0FMIFZBQ0wtXiAgICAgICAgICAgICAgIEZBWgorKyBTQUwgVkFDJCAgICAgICAgICAgICAgICAgRkFaCisrIFNBTCBWRURELV4gICAgICAgICAgICAgICBGRQorKyBTQUwgVkVSRUlOICAgICAgICAgICAgICAgRkFFSU4KKysgU0FMIFZFUlNFTl4gICAgICAgICAgICAgIEZBWk4KKysgU0FMIFZFUl5eICAgICAgICAgICAgICAgIEZBCisrIFNBTCBWRVIgICAgICAgICAgICAgICAgICBGQQorKyBTQUwgVkVUKEhUKS1eICAgICAgICAgICAgRkVUCisrIFNBTCBWRVRURSQgICAgICAgICAgICAgICBGRVQKKysgU0FMIFZJQyQgICAgICAgICAgICAgICAgIEZJWgorKyBTQUwgVklFTCAgICAgICAgICAgICAgICAgRklMCisrIFNBTCBWSUVXICAgICAgICAgICAgICAgICBGSVUKKysgU0FMIFZPUl5eICAgICAgICAgICAgICAgIEZVUgorKyBTQUwgVlk5XiAgICAgICAgICAgICAgICAgRkkKKysgU0FMIFY8ICAgICAgICAgICAgICAgICAgIEYKKysgU0FMIFdFKExNTlJTVCktM14gICAgICAgIEZFCisrIFNBTCBXSUMkICAgICAgICAgICAgICAgICBGSVoKKysgU0FMIFdJRURFUl5eICAgICAgICAgICAgIEZJVEEKKysgU0FMIFdZOV4gICAgICAgICAgICAgICAgIEZJCisrIFNBTCBXICAgICAgICAgICAgICAgICAgICBGCisrIFNBTCBYRShMTU5SU1QpLTNeICAgICAgICBYRQorKyBTQUwgWDxeICAgICAgICAgICAgICAgICAgWgorKyBTQUwgWChDU1opICAgICAgICAgICAgICAgWAorKyBTQUwgWFRTKENIKS0tICAgICAgICAgICAgWFQKKysgU0FMIFhUKFNaKSAgICAgICAgICAgICAgIFoKKysgU0FMIFggICAgICAgICAgICAgICAgICAgIFgKKysgU0FMIFlFKExNTlJTVCktM14gICAgICAgIElFCisrIFNBTCBZRS0zICAgICAgICAgICAgICAgICBJCisrIFNBTCBZT1IoR0spXiQgICAgICAgICAgICBJ1lJLCisrIFNBTCBZKEFPVSktPDcgICAgICAgICAgICBJCisrIFNBTCBZVkVTXiQgICAgICAgICAgICAgICBJRgorKyBTQUwgWVZPTk5FXiQgICAgICAgICAgICAgSUZVTgorKyBTQUwgWSAgICAgICAgICAgICAgICAgICAgSQorKyBTQUwgWkMoQU9VKS0gICAgICAgICAgICAgWksKKysgU0FMIFpFKExNTlJTVCktM14gICAgICAgIFpFCisrIFNBTCBaSDwgICAgICAgICAgICAgICAgICBaCisrIFNBTCBaUyhDSFQpLS0gICAgICAgICAgICBfCisrIFNBTCBaUyAgICAgICAgICAgICAgICAgICBaCisrIFNBTCBaVUVSU1QgICAgICAgICAgICAgICBaVUVSWlQKKysgU0FMIFpVUtxDS15eICAgICAgICAgICAgIFpVUklLCisrIFNBTCBaVVZFUl5eICAgICAgICAgICAgICBaVUZBICAgICMgeAorKyBTQUwgWiAgICAgICAgICAgICAgICAgICAgWgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zcGVsbC9lbi5hc2NpaS5zcGwgYi9ydW50aW1lL3NwZWxsL2VuLmFzY2lpLnNwbAppbmRleCAwNzE1ZTU1Li5kNzgzMTQ1IDEwMDY0NAotLS0gYS9ydW50aW1lL3NwZWxsL2VuLmFzY2lpLnNwbAorKysgYi9ydW50aW1lL3NwZWxsL2VuLmFzY2lpLnNwbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9ydW50aW1lL3NwZWxsL2VuLmxhdGluMS5zcGwgYi9ydW50aW1lL3NwZWxsL2VuLmxhdGluMS5zcGwKaW5kZXggNmQ0ZmU1Zi4uNmE4NDM4ZiAxMDA2NDQKLS0tIGEvcnVudGltZS9zcGVsbC9lbi5sYXRpbjEuc3BsCisrKyBiL3J1bnRpbWUvc3BlbGwvZW4ubGF0aW4xLnNwbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9ydW50aW1lL3NwZWxsL2VuLnV0Zi04LnNwbCBiL3J1bnRpbWUvc3BlbGwvZW4udXRmLTguc3BsCmluZGV4IGQzY2Q4MjMuLmJlY2JkNmMgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3BlbGwvZW4udXRmLTguc3BsCisrKyBiL3J1bnRpbWUvc3BlbGwvZW4udXRmLTguc3BsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3BlbGwvZW4vZW5fR0IuZGlmZiBiL3J1bnRpbWUvc3BlbGwvZW4vZW5fR0IuZGlmZgppbmRleCA3MTQwNzdkLi45ODA1MDJkIDEwMDY0NAotLS0gYS9ydW50aW1lL3NwZWxsL2VuL2VuX0dCLmRpZmYKKysrIGIvcnVudGltZS9zcGVsbC9lbi9lbl9HQi5kaWZmCkBAIC0yMzU2LDcgKzIzNTYsNyBAQAogISBTRlggMyBvIGlzdCdzIG8KICEgU0ZYIDMgMCBpc3QncyBbXmVveV0KICoqKiBlbl9HQi5vcmlnLmRpYwlTdW4gSnVsICAzIDE4OjA1OjA3IDIwMDUKLS0tLSBlbl9HQi5kaWMJVHVlIEF1ZyAxNiAxNzowNToxOCAyMDA1CistLS0gZW5fR0IuZGljCVdlZCBTZXAgMjggMjM6MDc6NTAgMjAwNQogKioqKioqKioqKioqKioqCiAqKiogNjMwLDYzMiAqKioqCiAgIEJ5cm5lL00KQEAgLTI1MTksMjYgKzI1MTksMzIgQEAKICEgc2luZ2x5CiAgIFNhYmluZS9NCiAqKioqKioqKioqKioqKioKKyoqKiA0MTE1Myw0MTE1NSAqKioqCisgIHp5bXVyZ3kvUworLSDgCisgIEFhY2hlbi9NCistLS0gNDExMzYsNDExMzcgLS0tLQorKioqKioqKioqKioqKioqCiAqKiogNDE0NzMsNDE0NzUgKioqKgogICBhemFsZWEvTVMKIC0gYi9wYgogICBCYWFsL00KLS0tLSA0MTQ1Niw0MTQ1NyAtLS0tCistLS0gNDE0NTUsNDE0NTYgLS0tLQogKioqKioqKioqKioqKioqCiAqKiogNDM2MTIsNDM2MTQgKioqKgogICBqdXN0bmVzc2VzCiAtIGsvawogICBrYWJvYidzCi0tLS0gNDM1OTQsNDM1OTUgLS0tLQorLS0tIDQzNTkzLDQzNTk0IC0tLS0KICoqKioqKioqKioqKioqKgogKioqIDQ1NjkwLDQ1NjkyICoqKioKICAgc3lyaW5nZS9TTUdECiAtIHQvN2sKICAgVGFiYXNjby9NCi0tLS0gNDU2NzEsNDU2NzIgLS0tLQorLS0tIDQ1NjcwLDQ1NjcxIC0tLS0KICoqKioqKioqKioqKioqKgogKioqIDQ2MjgxICoqKioKLS0tLSA0NjI2MSw0NjI3NiAtLS0tCistLS0gNDYyNjAsNDYyNzUgLS0tLQogICBadXJpY2gvTQogKyBjb25qLgogKyBwb21wb24KZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3BlbGwvZW4vZW5fTlouZGlmZiBiL3J1bnRpbWUvc3BlbGwvZW4vZW5fTlouZGlmZgppbmRleCAzZWVlNzE4Li41MjUwYThlIDEwMDY0NAotLS0gYS9ydW50aW1lL3NwZWxsL2VuL2VuX05aLmRpZmYKKysrIGIvcnVudGltZS9zcGVsbC9lbi9lbl9OWi5kaWZmCkBAIC0yMzUzLDcgKzIzNTMsNyBAQAogISBTRlggMyBvIGlzdCdzIG8KICEgU0ZYIDMgMCBpc3QncyBbXmVveV0KICoqKiBlbl9OWi5vcmlnLmRpYwlGcmkgQXByIDE1IDEzOjIwOjM2IDIwMDUKLS0tLSBlbl9OWi5kaWMJVHVlIEF1ZyAxNiAxNzowNToyOCAyMDA1CistLS0gZW5fTlouZGljCVdlZCBTZXAgMjggMjM6MDg6MDEgMjAwNQogKioqKioqKioqKioqKioqCiAqKiogNCw2ICoqKioKICAgMlpCCkBAIC0yNjAzLDcxICsyNjAzLDc3IEBACiAgIHlhY2h0L001U21HRAogLS0tIDQ1ODg2LDQ1ODg3IC0tLS0KICoqKioqKioqKioqKioqKgorKioqIDQ2MTUyLDQ2MTU0ICoqKioKKyAgenltdXJneS9TCistIOAKKyAgZm9udC9TTQorLS0tIDQ2MTMxLDQ2MTMyIC0tLS0KKyoqKioqKioqKioqKioqKgogKioqIDQ2MTk4LDQ2MjAwICoqKioKICAgcmF0YS9NCiAtIGtha2EvTQogICB3YWthL00KLS0tLSA0NjE3Nyw0NjE3OCAtLS0tCistLS0gNDYxNzYsNDYxNzcgLS0tLQogKioqKioqKioqKioqKioqCiAqKiogNDYyMTYsNDYyMTggKioqKgogICBqYW5kYWwvTVMKIC0gU3dhbm5kcmkvTQogICBob29uL01TCi0tLS0gNDYxOTQsNDYxOTUgLS0tLQorLS0tIDQ2MTkzLDQ2MTk0IC0tLS0KICoqKioqKioqKioqKioqKgogKioqIDQ2MjQyLDQ2MjQ0ICoqKioKICAgSW52ZXJjYXJnaWxsL00KIC0gVGUKICAgQWxleGFuZHJhL00KLS0tLSA0NjIxOSw0NjIyMCAtLS0tCistLS0gNDYyMTgsNDYyMTkgLS0tLQogKioqKioqKioqKioqKioqCiAqKiogNDYyNjEsNDYyNjMgKioqKgogICBLYXdlcmF1L00KIC0gS2VyaWtlcmkvTQogICBMeXR0ZWx0b24vTQotLS0tIDQ2MjM3LDQ2MjM4IC0tLS0KKy0tLSA0NjIzNiw0NjIzNyAtLS0tCiAqKioqKioqKioqKioqKioKICoqKiA0NjQ5MSw0NjQ5MyAqKioqCiAgIFdhaWFuYWthcnVhCiAtIEhha2F0ZXJlCiAgIFN3aW4KLS0tLSA0NjQ2Niw0NjQ2NyAtLS0tCistLS0gNDY0NjUsNDY0NjYgLS0tLQogKioqKioqKioqKioqKioqCiAqKiogNDY2OTAsNDY2OTIgKioqKgogICBPbWFyYW1hL00KIC0gV2FpcmFyYXBhL00KICAgS2lsZGEvTQotLS0tIDQ2NjY0LDQ2NjY1IC0tLS0KKy0tLSA0NjY2Myw0NjY2NCAtLS0tCiAqKioqKioqKioqKioqKioKICoqKiA0NjcxMSw0NjcxMyAqKioqCiAgIFdlbGxzZm9yZC9NCiAtIEFrYXJvYS9NCiAgIEF2b25oZWFkL00KLS0tLSA0NjY4NCw0NjY4NSAtLS0tCistLS0gNDY2ODMsNDY2ODQgLS0tLQogKioqKioqKioqKioqKioqCiAqKiogNDY4MzgsNDY4NDAgKioqKgogICBCYWxsYW50eW5lJ3MKIC0gREIKICAgTW9udGVpdGgncwotLS0tIDQ2ODEwLDQ2ODExIC0tLS0KKy0tLSA0NjgwOSw0NjgxMCAtLS0tCiAqKioqKioqKioqKioqKioKICoqKiA0NjkyMCw0NjkyMiAqKioqCiAgIEVnbW9udC9NCiAtIFdhaXRha2kvTQogICBrYXRpcG8vTQotLS0tIDQ2ODkxLDQ2ODkyIC0tLS0KKy0tLSA0Njg5MCw0Njg5MSAtLS0tCiAqKioqKioqKioqKioqKioKICoqKiA0Njk1Niw0Njk1OCAqKioqCiAgIFN1bm55c2lkZS9NCiAtIFdhaXJhdS9NCiAgIFdhaWtvcm9wdXB1Ci0tLS0gNDY5MjYsNDY5MjcgLS0tLQorLS0tIDQ2OTI1LDQ2OTI2IC0tLS0KICoqKioqKioqKioqKioqKgogKioqIDQ3MTQxLDQ3MTQyICoqKioKICAgQnVya2luYQogISBGYXNvL00KIFwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQotLS0tIDQ3MTEwLDQ3MTE4IC0tLS0KKy0tLSA0NzEwOSw0NzExNyAtLS0tCiAgIEJ1cmtpbmEKICEgRmFzby9NCiAhIG5kCmRpZmYgLS1naXQgYS9ydW50aW1lL3NwZWxsL2VuL2VuX1VTLmRpZmYgYi9ydW50aW1lL3NwZWxsL2VuL2VuX1VTLmRpZmYKaW5kZXggZjQyZGMwMy4uMTJkZTczMiAxMDA2NDQKLS0tIGEvcnVudGltZS9zcGVsbC9lbi9lbl9VUy5kaWZmCisrKyBiL3J1bnRpbWUvc3BlbGwvZW4vZW5fVVMuZGlmZgpAQCAtMSw1ICsxLDUgQEAKICoqKiBlbl9VUy5vcmlnLmFmZglGcmkgQXByIDE1IDEzOjIwOjM2IDIwMDUKLS0tLSBlbl9VUy5hZmYJVHVlIFNlcCAyMCAxOTo0MTowMCAyMDA1CistLS0gZW5fVVMuYWZmCVdlZCBTZXAgMjggMjI6MDY6MDEgMjAwNQogKioqKioqKioqKioqKioqCiAqKiogMyw0ICoqKioKIC0tLSAzLDEzNCAtLS0tCkBAIC0xOTAsOSArMTkwLDkgQEAKICoqKiAxODggKioqKgogLS0tIDMyMSwzMjUgLS0tLQogICBSRVAgc2h1biBjaW9uCi0rIFJFUCB0aGVfdGhlIHRoZQotKyBSRVAgYW5fYW4gYW4KICsgUkVQIGFuX2EgYQorKyBSRVAgYW5fYSBhbgorKyBSRVAgYV9hbiBhCiArIFJFUCBhX2FuIGFuCiAqKiogZW5fVVMub3JpZy5kaWMJRnJpIEFwciAxNSAxMzoyMDozNiAyMDA1CiAtLS0gZW5fVVMuZGljCVdlZCBTZXAgMjEgMTE6MzY6MDYgMjAwNQpkaWZmIC0tZ2l0IGEvcnVudGltZS9zcGVsbC9lcy9lc19FUy5kaWZmIGIvcnVudGltZS9zcGVsbC9lcy9lc19FUy5kaWZmCmluZGV4IDJmYWJlMjguLmY1MjIyOGYgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3BlbGwvZXMvZXNfRVMuZGlmZgorKysgYi9ydW50aW1lL3NwZWxsL2VzL2VzX0VTLmRpZmYKQEAgLTEsNSArMSw1IEBACi0qKiogZXNfRVMub3JpZy5hZmYJVGh1IEF1ZyAyNSAxOToxMToyMCAyMDA1Ci0tLS0gZXNfRVMuYWZmCVRodSBBdWcgMjUgMTk6MTI6NDcgMjAwNQorKioqIGVzX0VTLm9yaWcuYWZmCVRodSBBdWcgMjUgMTk6MTk6NDQgMjAwNQorLS0tIGVzX0VTLmFmZglUaHUgQXVnIDI1IDE5OjE5OjQ0IDIwMDUKICoqKioqKioqKioqKioqKgogKioqIDMsNCAqKioqCiAtLS0gMywyMiAtLS0tCkBAIC0yMywzICsyMyw1OSBAQAogKyBNQVAgc98KICsgCiAgIFNGWCBKIFkgMTIKKyoqKiBlc19FUy5vcmlnLmRpYwlUaHUgQXVnIDI1IDE5OjE5OjQ0IDIwMDUKKy0tLSBlc19FUy5kaWMJVGh1IEF1ZyAyNSAyMDoxODo1NSAyMDA1CisqKioqKioqKioqKioqKioKKyoqKiA0ODUsNDg3ICoqKioKKyAgYWNlcmPzc2UKKy0gYWNlcmPzc2UKKyAgYWNlcu1hL1MKKy0tLSA0ODUsNDg2IC0tLS0KKyoqKioqKioqKioqKioqKgorKioqIDcwOCw3MTAgKioqKgorICBhY3LtdGljYW1lbnRlCistIGFjcu10aWNvCisgIGFjcu10aWNvL1BTCistLS0gNzA3LDcwOCAtLS0tCisqKioqKioqKioqKioqKioKKyoqKiA5NDgsOTUwICoqKioKKyAgYWTzbmRlCistIGFk825kZQorICBhZG9uZGVxdWllcmEKKy0tLSA5NDYsOTQ3IC0tLS0KKyoqKioqKioqKioqKioqKgorKioqIDE0MzUsMTQzNyAqKioqCisgIGFoCistIGFoCisgIGFoYWphci9QU1RWV1gKKy0tLSAxNDMyLDE0MzMgLS0tLQorKioqKioqKioqKioqKioqCisqKiogMzg4NywzODg5ICoqKioKKyAgYXBvc3RvbGFkbworLSBhcG9zdG9sYWRvCisgIGFwb3N0b2xhZG9zCistLS0gMzg4MywzODg0IC0tLS0KKyoqKioqKioqKioqKioqKgorKioqIDEyOTI2LDEyOTI4ICoqKioKKyAgZGFtZQorLSBkYW1lCisgIGThbWVsbworLS0tIDEyOTIxLDEyOTIyIC0tLS0KKyoqKioqKioqKioqKioqKgorKioqIDE1NTYxLDE1NTYzICoqKioKKyAgZGltZQorLSBkaW1lCisgIGTtbWVsbworLS0tIDE1NTU1LDE1NTU2IC0tLS0KKyoqKioqKioqKioqKioqKgorKioqIDI1MTMzLDI1MTM1ICoqKioKKyAgaW5hZGFwdGFkby9QUworLSBpbmFkZWN1YWNp824KKyAgaW5hZGVjdWFjafNuL1MKKy0tLSAyNTEyNiwyNTEyNyAtLS0tCisqKioqKioqKioqKioqKioKKyoqKiAyODAwNywyODAwOSAqKioqCisgIGxpYnJhbmNpc3RhL1MKKy0gbO1icmFub3MKKyAgbO1icmFub3MKKy0tLSAyNzk5OSwyODAwMCAtLS0tCmRpZmYgLS1naXQgYS9ydW50aW1lL3NwZWxsL2VzL2VzX01YLmRpZmYgYi9ydW50aW1lL3NwZWxsL2VzL2VzX01YLmRpZmYKaW5kZXggM2U0ZTdjOS4uNTlkODMxMiAxMDA2NDQKLS0tIGEvcnVudGltZS9zcGVsbC9lcy9lc19NWC5kaWZmCisrKyBiL3J1bnRpbWUvc3BlbGwvZXMvZXNfTVguZGlmZgpAQCAtMSw1ICsxLDUgQEAKLSoqKiBlc19NWC5vcmlnLmFmZglUaHUgQXVnIDI1IDE5OjExOjIxIDIwMDUKLS0tLSBlc19NWC5hZmYJVGh1IEF1ZyAyNSAxOToxMzowOCAyMDA1CisqKiogZXNfTVgub3JpZy5hZmYJVGh1IEF1ZyAyNSAxOToxOTo0NSAyMDA1CistLS0gZXNfTVguYWZmCVRodSBBdWcgMjUgMTk6MTk6NDUgMjAwNQogKioqKioqKioqKioqKioqCiAqKiogMSw0ICoqKioKICEgU0VUIElTTzg4NTktMQ0KQEAgLTY5NTksMyArNjk1OSwxNyBAQAogISBTRlggWiBlZ3VpciBpZ3Vp6W5kb25vc2xhcyBlZ3VpcgogISBTRlggWiBlZ3VpciBpZ3Vp6W5kb25vc2xlIGVndWlyCiAhIFNGWCBaIGVndWlyIGlndWnpbmRvbm9zbGVzIGVndWlyCisqKiogZXNfTVgub3JpZy5kaWMJVGh1IEF1ZyAyNSAxOToxOTo0NSAyMDA1CistLS0gZXNfTVguZGljCVRodSBBdWcgMjUgMjA6MTU6NTkgMjAwNQorKioqKioqKioqKioqKioqCisqKiogMTIxOCwxMjIwICoqKioKKyAgSW50ZXJuZXQKKy0gaW50cmFvY3VsYXIKKyAgSXJhcHVhdG8KKy0tLSAxMjE4LDEyMTkgLS0tLQorKioqKioqKioqKioqKioqCisqKiogMzMzNDUsMzMzNDcgKioqKgorICBuYW5lYXIvUFNWV1gKKy0gbmFuY2hlL1MKKyAgbmFuamVhL1MKKy0tLSAzMzM0NCwzMzM0NSAtLS0tCmRpZmYgLS1naXQgYS9ydW50aW1lL3NwZWxsL2ZvL2ZvX0ZPLmRpZmYgYi9ydW50aW1lL3NwZWxsL2ZvL2ZvX0ZPLmRpZmYKaW5kZXggMjEyYmVmZS4uMTJkMDQyMCAxMDA2NDQKLS0tIGEvcnVudGltZS9zcGVsbC9mby9mb19GTy5kaWZmCisrKyBiL3J1bnRpbWUvc3BlbGwvZm8vZm9fRk8uZGlmZgpAQCAtMSw1ICsxLDUgQEAKLSoqKiBmb19GTy5vcmlnLmFmZglUdWUgQXVnIDE2IDE3OjM5OjIyIDIwMDUKLS0tLSBmb19GTy5hZmYJVHVlIEF1ZyAxNiAxNzo0MTowMCAyMDA1CisqKiogZm9fRk8ub3JpZy5hZmYJV2VkIEF1ZyAzMSAyMjowMjoxMSAyMDA1CistLS0gZm9fRk8uYWZmCVdlZCBBdWcgMzEgMjI6MDI6MTEgMjAwNQogKioqKioqKioqKioqKioqCiAqKiogNiAqKioqCiAtLS0gNiwxNCAtLS0tCmRpZmYgLS1naXQgYS9ydW50aW1lL3NwZWxsL2t1L2t1X1RSLmRpZmYgYi9ydW50aW1lL3NwZWxsL2t1L2t1X1RSLmRpZmYKaW5kZXggZTY5ZGUyOS4uNGQ2ZTg3NSAxMDA2NDQKLS0tIGEvcnVudGltZS9zcGVsbC9rdS9rdV9UUi5kaWZmCisrKyBiL3J1bnRpbWUvc3BlbGwva3Uva3VfVFIuZGlmZgpAQCAtMCwwICsxLDEwNCBAQAorKioqIGt1X1RSLm9yaWcuZGljCVdlZCBBdWcgMzEgMjI6MTM6MTcgMjAwNQorLS0tIGt1X1RSLmRpYwlXZWQgQXVnIDMxIDIyOjE5OjIyIDIwMDUKKyoqKioqKioqKioqKioqKgorKioqIDQ5Miw0OTQgKioqKgorICBiZXJnYW4KKy0gYmVyZ2VoCisgIGJlcmdlaC9tCistLS0gNDkyLDQ5MyAtLS0tCisqKioqKioqKioqKioqKioKKyoqKiAxMTQ0LDExNDYgKioqKgorICBkaWdldml6ZQorLSBkaWdpaO5qZQorICBkaWdpaO5qZS9EZAorLS0tIDExNDMsMTE0NCAtLS0tCisqKioqKioqKioqKioqKioKKyoqKiAxMTUwLDExNTIgKioqKgorICBkaWdpaO7+dGluCistIGRpZ2lyZS9ECisgIGRpZ2lyZS9EZAorLS0tIDExNDgsMTE0OSAtLS0tCisqKioqKioqKioqKioqKioKKyoqKiAxMzYxLDEzNjMgKioqKgorICBkaf51YmluCistIGRp/u5uZQorICBkaf7ubmUvRGQKKy0tLSAxMzU4LDEzNTkgLS0tLQorKioqKioqKioqKioqKioqCisqKiogMTM3MiwxMzc0ICoqKioKKyAgZG9tCistIGRvbWFuZAorICBkb21hbmQvRWUKKy0tLSAxMzY4LDEzNjkgLS0tLQorKioqKioqKioqKioqKioqCisqKiogMTQ4OSwxNDkxICoqKioKKyAgRXJiYf4KKy0gZXJkCisgIGVyZC9uCistLS0gMTQ4NCwxNDg1IC0tLS0KKyoqKioqKioqKioqKioqKgorKioqIDE4OTMsMTg5NSAqKioqCisgIEhlc28KKy0gaGVzcAorICBoZXNwL24KKy0tLSAxODg3LDE4ODggLS0tLQorKioqKioqKioqKioqKioqCisqKiogMjEzOSwyMTQxICoqKioKKyAgaml57m4KKy0gam9yCisgIGpvci9yCistLS0gMjEzMiwyMTMzIC0tLS0KKyoqKioqKioqKioqKioqKgorKioqIDIzODIsMjM4NCAqKioqCisgIGt1bmQKKy0ga3VyCisgIGt1ci9uCistLS0gMjM3NCwyMzc1IC0tLS0KKyoqKioqKioqKioqKioqKgorKioqIDI0MTQsMjQxNiAqKioqCisgIGt1eGl5YW5lCistIGt152UKKyAga3XnZS9tCistLS0gMjQwNSwyNDA2IC0tLS0KKyoqKioqKioqKioqKioqKgorKioqIDI1NzYsMjU3OCAqKioqCisgIG1lZHlheeoKKy0gbWVoCisgIG1laC9tCistLS0gMjU2NiwyNTY3IC0tLS0KKyoqKioqKioqKioqKioqKgorKioqIDMwNTAsMzA1MiAqKioqCisgIG5pdu5z7mL7CistIG5pdu5z7m4KKyAgbml27nPubi9tCistLS0gMzAzOSwzMDQwIC0tLS0KKyoqKioqKioqKioqKioqKgorKioqIDM0NDMsMzQ0NSAqKioqCisgIHFvbmF4L20KKy0gUW9zZXIKKyAgUW9zZXIvbQorLS0tIDM0MzEsMzQzMiAtLS0tCisqKioqKioqKioqKioqKioKKyoqKiAzNDY3LDM0NjkgKioqKgorICByYWRpYmUvRGQKKy0gcmFkaWdpaO5uZQorICByYWRpZ2lo7m5lL0RkCistLS0gMzQ1NCwzNDU1IC0tLS0KKyoqKioqKioqKioqKioqKgorKioqIDM2NzEsMzY3MyAqKioqCisgIHNha295ZWvuCistIHNhbC9tCisgIHNhbC9tbgorLS0tIDM2NTcsMzY1OCAtLS0tCisqKioqKioqKioqKioqKioKKyoqKiAzODgxLDM4ODMgKioqKgorICB0YXIKKy0gdGFy7gorICB0YXLuL20KKy0tLSAzODY2LDM4NjcgLS0tLQorKioqKioqKioqKioqKioqCisqKiogNDMwMyw0MzA1ICoqKioKKyAgeGVyYXRpeeoKKy0geGVy7mIKKyAgeGVy7mIvbQorLS0tIDQyODcsNDI4OCAtLS0tCmRpZmYgLS1naXQgYS9ydW50aW1lL3NwZWxsL2x2L2x2X0xWLmRpZmYgYi9ydW50aW1lL3NwZWxsL2x2L2x2X0xWLmRpZmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3BlbGwvbHYvbHZfTFYuZGlmZgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zcGVsbC9tcy9tc19NWS5kaWZmIGIvcnVudGltZS9zcGVsbC9tcy9tc19NWS5kaWZmCmluZGV4IDhiZGU1OTUuLmE2Yzk5MTYgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3BlbGwvbXMvbXNfTVkuZGlmZgorKysgYi9ydW50aW1lL3NwZWxsL21zL21zX01ZLmRpZmYKQEAgLTEsNSArMSw1IEBACi0qKiogbXNfTVkub3JpZy5hZmYJV2VkIEF1ZyAzMSAxODowOTo1OCAyMDA1Ci0tLS0gbXNfTVkuYWZmCVdlZCBBdWcgMzEgMTg6MTI6NTEgMjAwNQorKioqIG1zX01ZLm9yaWcuYWZmCVdlZCBBdWcgMzEgMTg6MTQ6MDEgMjAwNQorLS0tIG1zX01ZLmFmZglXZWQgQXVnIDMxIDE4OjE0OjAxIDIwMDUKICoqKioqKioqKioqKioqKgogKioqIDI1LDI2ICoqKioKIC0tLSAyNSwzNSAtLS0tCkBAIC0xNCw4ICsxNCw4IEBACiArIE1JRFdPUkQgLQogKyAKICAgUEZYIEIgWSAyIAotKioqIG1zX01ZLm9yaWcuZGljCVdlZCBBdWcgMzEgMTg6MDk6NTggMjAwNQotLS0tIG1zX01ZLmRpYwlXZWQgQXVnIDMxIDE4OjEyOjQ4IDIwMDUKKyoqKiBtc19NWS5vcmlnLmRpYwlXZWQgQXVnIDMxIDE4OjE0OjAxIDIwMDUKKy0tLSBtc19NWS5kaWMJV2VkIEF1ZyAzMSAxODoxNDowMSAyMDA1CiAqKioqKioqKioqKioqKioKICoqKiA0OTM5LDQ5NDEgKioqKgogICBkYXRpbgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zcGVsbC95aS95aS5kaWZmIGIvcnVudGltZS9zcGVsbC95aS95aS5kaWZmCmluZGV4IGQxNGE1OTIuLjA5OTQ4OGEgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3BlbGwveWkveWkuZGlmZgorKysgYi9ydW50aW1lL3NwZWxsL3lpL3lpLmRpZmYKQEAgLTYsNyArNiw3IEBACiArIDk5OTk5OQogICDXkteo15XXoNeY16LXnNei157Xoteg15gKICAg15PXltep15DWuNeR16LXoNeT15nXp9ehCi0qKiogL2Rldi9udWxsCVR1ZSBBdWcgMjMgMjI6NTE6MTEgMjAwNQorKioqIC9kZXYvbnVsbAlUaHUgU2VwIDI5IDIwOjA2OjU3IDIwMDUKIC0tLSB5aS5hZmYJTW9uIEF1ZyAxNSAyMzowNjowMCAyMDA1CiAqKioqKioqKioqKioqKioKICoqKiAwICoqKioKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3BlbGwveWkveWlfdHIuZGlmZiBiL3J1bnRpbWUvc3BlbGwveWkveWlfdHIuZGlmZgppbmRleCAxNjE2ZjMwLi5jMzllMGZlIDEwMDY0NAotLS0gYS9ydW50aW1lL3NwZWxsL3lpL3lpX3RyLmRpZmYKKysrIGIvcnVudGltZS9zcGVsbC95aS95aV90ci5kaWZmCkBAIC02LDcgKzYsNyBAQAogKyA4NDYwOAogICBncnVudGVsZW1lbnQKICAgZHpob2JlbmRpa3MKLSoqKiAvZGV2L251bGwJVHVlIEF1ZyAyMyAyMjo1MToxMSAyMDA1CisqKiogL2Rldi9udWxsCVRodSBTZXAgMjkgMjA6MDY6NTcgMjAwNQogLS0tIHlpX3RyLmFmZglUdWUgQXVnIDE2IDEwOjQ4OjAxIDIwMDUKICoqKioqKioqKioqKioqKgogKioqIDAgKioqKgo=