IiBWaW0gc3ludGF4IGZpbGUKIiBMYW5ndWFnZToJRm9ydHJhbiAyMDA4IChhbmQgb2xkZXI6IEZvcnRyYW4gMjAwMywgOTUsIDkwLCBhbmQgNzcpCiIgVmVyc2lvbjoJMC45OQoiIExhc3QgQ2hhbmdlOgkyMDE2IFNlcC4gMjMKIiBNYWludGFpbmVyOglBaml0IEouIFRoYWtrYXIgPGFqaXRAdW5iLmNhPjsgPGh0dHA6Ly93d3cyLnVuYi5jYS9+YWppdC8+CiIgVXNhZ2U6CUZvciBpbnN0cnVjdGlvbnMsIGRvIDpoZWxwIGZvcnRyYW4tc3ludGF4IGZyb20gVmltCiIgQ3JlZGl0czoKIiAgVmVyc2lvbiAwLjEgKEFwcmlsIDIwMDApIGZvciBGb3J0cmFuIDk1IHdhcyBiYXNlZCBvbiB0aGUgRm9ydHJhbiA3NyBzeW50YXggZmlsZSBieQoiICBNYXJpbyBFdXNlYmlvIGFuZCBQcmViZW4gR3VsZGJlcmcuIFNpbmNlIHRoZW4sIHVzZWZ1bCBzdWdnZXN0aW9ucyBhbmQgY29udHJpYnV0aW9ucwoiICBoYXZlIGJlZW4gbWFkZSwgaW4gY2hyb25vbG9naWNhbCBvcmRlciwgYnk6CiIgIEFuZHJlaiBQYW5qa292LCBCcmFtIE1vb2xlbmFhciwgVGhvbWFzIE9sc2VuLCBNaWNoYWVsIFN0ZXJuYmVyZywgQ2hyaXN0aWFuIFJlaWxlLAoiICBXYWx0ZXIgRGlldWRvbm7pLCBBbGV4YW5kZXIgV2FnbmVyLCBSb21hbiBCZXJ0bGUsIENoYXJsZXMgUmVuZGxlbWFuLAoiICBBbmRyZXcgR3JpZmZpdGhzLCBKb2UgS3JhaG4sIEhlbmRyaWsgTWVyeCwgTWF0dCBUaG9tcHNvbiwgSmFuIEhlcm1hbm4sCiIgIFN0ZWZhbm8gWmFnaGksIFZpc2hudSBWLiBLcmlzaG5hbiBhbmQgSnVkaWNh62wgR3Jhc3NldAoKaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICBmaW5pc2gKZW5kaWYKCmxldCBzOmNwb19zYXZlID0gJmNwbwpzZXQgY3BvJnZpbQoKIiBDaG9vc2UgZm9ydHJhbl9kaWFsZWN0IHVzaW5nIHRoZSBwcmlvcml0eToKIiBzb3VyY2UgZmlsZSBkaXJlY3RpdmUgPiBidWZmZXItbG9jYWwgdmFsdWUgPiBnbG9iYWwgdmFsdWUgPiBmaWxlIGV4dGVuc2lvbgoiIGZpcnN0IHRyeSB1c2luZyBkaXJlY3RpdmUgaW4gZmlyc3QgdGhyZWUgbGluZXMgb2YgZmlsZQpsZXQgYjpmb3J0cmFuX3JldHlwZSA9IGdldGxpbmUoMSkuIiAiLmdldGxpbmUoMikuIiAiLmdldGxpbmUoMykKaWYgYjpmb3J0cmFuX3JldHlwZSA9fj8gJ1w8Zm9ydHJhbl9kaWFsZWN0XHMqPVxzKkZcPicKICBsZXQgYjpmb3J0cmFuX2RpYWxlY3QgPSAiRiIKZWxzZWlmIGI6Zm9ydHJhbl9yZXR5cGUgPX4/ICdcPGZvcnRyYW5fZGlhbGVjdFxzKj1ccypmMDhcPicKICBsZXQgYjpmb3J0cmFuX2RpYWxlY3QgPSAiZjA4IgplbHNlaWYgIWV4aXN0cygiYjpmb3J0cmFuX2RpYWxlY3QiKQogIGlmIGV4aXN0cygiZzpmb3J0cmFuX2RpYWxlY3QiKSAmJiBnOmZvcnRyYW5fZGlhbGVjdCA9fiMgJ1w8Rlx8ZjA4XD4nCiAgICAiIHRyeSBnbG9iYWwgdmFyaWFibGUKICAgIGxldCBiOmZvcnRyYW5fZGlhbGVjdCA9IGc6Zm9ydHJhbl9kaWFsZWN0CiAgZWxzZSAgICAgICAgICIgbm90aGluZyBmb3VuZCwgc28gdXNlIGRlZmF1bHQKICAgIGxldCBiOmZvcnRyYW5fZGlhbGVjdCA9ICJmMDgiCiAgZW5kaWYKZW5kaWYKdW5sZXQhIGI6Zm9ydHJhbl9yZXR5cGUKIiBtYWtlIHN1cmUgYnVmZmVyLWxvY2FsIHZhbHVlIGlzIG5vdCBpbnZhbGlkCmlmIGI6Zm9ydHJhbl9kaWFsZWN0ICF+IyAnXDxGXHxmMDhcPicKICBsZXQgYjpmb3J0cmFuX2RpYWxlY3QgPSAiZjA4IgplbmRpZgoKIiBDaG9vc2UgYmV0d2VlbiBmaXhlZCBhbmQgZnJlZSBzb3VyY2UgZm9ybSBpZiB0aGlzIGhhc24ndCBiZWVuIGRvbmUgeWV0CmlmICFleGlzdHMoImI6Zm9ydHJhbl9maXhlZF9zb3VyY2UiKQogIGlmIGI6Zm9ydHJhbl9kaWFsZWN0ID09ICJGIgogICAgIiBGIHJlcXVpcmVzIGZyZWUgc291cmNlIGZvcm0KICAgIGxldCBiOmZvcnRyYW5fZml4ZWRfc291cmNlID0gMAogIGVsc2VpZiBleGlzdHMoImZvcnRyYW5fZnJlZV9zb3VyY2UiKQogICAgIiBVc2VyIGd1YXJhbnRlZXMgZnJlZSBzb3VyY2UgZm9ybSBmb3IgYWxsIGZvcnRyYW4gZmlsZXMKICAgIGxldCBiOmZvcnRyYW5fZml4ZWRfc291cmNlID0gMAogIGVsc2VpZiBleGlzdHMoImZvcnRyYW5fZml4ZWRfc291cmNlIikKICAgICIgVXNlciBndWFyYW50ZWVzIGZpeGVkIHNvdXJjZSBmb3JtIGZvciBhbGwgZm9ydHJhbiBmaWxlcwogICAgbGV0IGI6Zm9ydHJhbl9maXhlZF9zb3VyY2UgPSAxCiAgZWxzZWlmIGV4cGFuZCgiJTplIikgPT0/ICJmXDw5MFx8OTVcfDAzXHwwOFw+IgogICAgIiBGcmVlLWZvcm0gZmlsZSBleHRlbnNpb24gZGVmYXVsdHMgYXMgaW4gSW50ZWwgaWZvcnQsIGdjYyhnZm9ydHJhbiksIE5BRywgUGF0aHNjYWxlLCBhbmQgQ3JheSBjb21waWxlcnMKICAgIGxldCBiOmZvcnRyYW5fZml4ZWRfc291cmNlID0gMAogIGVsc2VpZiBleHBhbmQoIiU6ZSIpID09PyAiZlx8Zjc3XHxmb3IiCiAgICAiIEZpeGVkLWZvcm0gZmlsZSBleHRlbnNpb24gZGVmYXVsdHMKICAgIGxldCBiOmZvcnRyYW5fZml4ZWRfc291cmNlID0gMQogIGVsc2UKICAgICIgTW9kZXJuIGZvcnRyYW4gc3RpbGwgYWxsb3dzIGJvdGggZnJlZSBhbmQgZml4ZWQgc291cmNlIGZvcm0uCiAgICAiIEFzc3VtZSBmaXhlZCBzb3VyY2UgZm9ybSB1bmxlc3Mgc2lnbnMgb2YgZnJlZSBzb3VyY2UgZm9ybQogICAgIiBhcmUgZGV0ZWN0ZWQgaW4gdGhlIGZpcnN0IGZpdmUgY29sdW1ucyBvZiB0aGUgZmlyc3QgczpsbWF4IGxpbmVzLgogICAgIiBEZXRlY3Rpb24gYmVjb21lcyBtb3JlIGFjY3VyYXRlIGFuZCB0aW1lLWNvbnN1bWluZyBpZiBtb3JlIGxpbmVzCiAgICAiIGFyZSBjaGVja2VkLiBJbmNyZWFzZSB0aGUgbGltaXQgYmVsb3cgaWYgeW91IGtlZXAgbG90cyBvZiBjb21tZW50cyBhdAogICAgIiB0aGUgdmVyeSB0b3Agb2YgZWFjaCBmaWxlIGFuZCB5b3UgaGF2ZSBhIGZhc3QgY29tcHV0ZXIuCiAgICBsZXQgczpsbWF4ID0gNTAwCiAgICBpZiAoIHM6bG1heCA+IGxpbmUoIiQiKSApCiAgICAgIGxldCBzOmxtYXggPSBsaW5lKCIkIikKICAgIGVuZGlmCiAgICBsZXQgYjpmb3J0cmFuX2ZpeGVkX3NvdXJjZSA9IDEKICAgIGxldCBzOmxuPTEKICAgIHdoaWxlIHM6bG4gPD0gczpsbWF4CiAgICAgIGxldCBzOnRlc3QgPSBzdHJwYXJ0KGdldGxpbmUoczpsbiksMCw1KQogICAgICBpZiBzOnRlc3QgIX4gJ15bQ2MqXScgJiYgczp0ZXN0ICF+ICdeICpbISNdJyAmJiBzOnRlc3QgPX4gJ1teIDAtOVx0XScgJiYgczp0ZXN0ICF+ICdeWyAwLTldKlx0JwogICAgICAgIGxldCBiOmZvcnRyYW5fZml4ZWRfc291cmNlID0gMAogICAgICAgIGJyZWFrCiAgICAgIGVuZGlmCiAgICAgIGxldCBzOmxuID0gczpsbiArIDEKICAgIGVuZHdoaWxlCiAgICB1bmxldCEgczpsbWF4IHM6bG4gczp0ZXN0CiAgZW5kaWYKZW5kaWYKCnN5biBjYXNlIGlnbm9yZQoKaWYgYjpmb3J0cmFuX2ZpeGVkX3NvdXJjZSA9PSAxCiAgc3luIG1hdGNoIGZvcnRyYW5Db25zdHJ1Y3ROYW1lCSJeXHNcezYsfVx6c1xhXHcqXHplXHMqOiIKZWxzZQogIHN5biBtYXRjaCBmb3J0cmFuQ29uc3RydWN0TmFtZQkiXlxzKlx6c1xhXHcqXHplXHMqOiIKZW5kaWYKaWYgZXhpc3RzKCJmb3J0cmFuX21vcmVfcHJlY2lzZSIpCiAgc3luIG1hdGNoIGZvcnRyYW5Db25zdHJ1Y3ROYW1lICJcKFw8ZW5kXHMqZG9cc1wrXClcQDw9XGFcdyoiCiAgc3luIG1hdGNoIGZvcnRyYW5Db25zdHJ1Y3ROYW1lICJcKFw8ZW5kXHMqaWZcc1wrXClcQDw9XGFcdyoiCiAgc3luIG1hdGNoIGZvcnRyYW5Db25zdHJ1Y3ROYW1lICJcKFw8ZW5kXHMqc2VsZWN0XHNcK1wpXEA8PVxhXHcqIgplbmRpZgoKc3luIG1hdGNoIGZvcnRyYW5Vbml0SGVhZGVyCSJcPGVuZFw+IgpzeW4gbWF0Y2ggZm9ydHJhblR5cGUJCSJcPGNoYXJhY3Rlclw+IgpzeW4gbWF0Y2ggZm9ydHJhblR5cGUJCSJcPGNvbXBsZXhcPiIKc3luIG1hdGNoIGZvcnRyYW5UeXBlCQkiXDxpbnRlZ2VyXD4iCnN5biBrZXl3b3JkIGZvcnRyYW5UeXBlCQlpbnRyaW5zaWMKc3luIG1hdGNoIGZvcnRyYW5UeXBlCQkiXDxpbXBsaWNpdFw+IgpzeW4ga2V5d29yZCBmb3J0cmFuU3RydWN0dXJlCWRpbWVuc2lvbgpzeW4ga2V5d29yZCBmb3J0cmFuU3RvcmFnZUNsYXNzCXBhcmFtZXRlciBzYXZlCnN5biBtYXRjaCBmb3J0cmFuVW5pdEhlYWRlcgkiXDxzdWJyb3V0aW5lXD4iCnN5biBrZXl3b3JkIGZvcnRyYW5DYWxsCQljYWxsCnN5biBtYXRjaCBmb3J0cmFuVW5pdEhlYWRlcgkiXDxmdW5jdGlvblw+IgpzeW4gbWF0Y2ggZm9ydHJhblVuaXRIZWFkZXIJIlw8cHJvZ3JhbVw+IgpzeW4gbWF0Y2ggZm9ydHJhblVuaXRIZWFkZXIJIlw8YmxvY2tcPiIKc3luIGtleXdvcmQgZm9ydHJhbktleXdvcmQJcmV0dXJuIHN0b3AKc3luIGtleXdvcmQgZm9ydHJhbkNvbmRpdGlvbmFsCWVsc2UgdGhlbgpzeW4gbWF0Y2ggZm9ydHJhbkNvbmRpdGlvbmFsCSJcPGlmXD4iCnN5biBtYXRjaCBmb3J0cmFuQ29uZGl0aW9uYWxPYgkiXDxpZlxzKiguKilccypcZFwrXHMqLFxzKlxkXCtccyosXHMqXGRcK1xzKiQiCnN5biBtYXRjaCBmb3J0cmFuUmVwZWF0CQkiXDxkb1w+IgoKc3luIGtleXdvcmQgZm9ydHJhblRvZG8JCWNvbnRhaW5lZCB0b2RvIGZpeG1lCgoiQ2F0Y2ggZXJyb3JzIGNhdXNlZCBieSB0b28gbWFueSByaWdodCBwYXJlbnRoZXNlcwpzeW4gcmVnaW9uIGZvcnRyYW5QYXJlbiB0cmFuc3BhcmVudCBzdGFydD0iKCIgZW5kPSIpIiBjb250YWlucz1BTExCVVQsZm9ydHJhblBhcmVuRXJyb3IsQGZvcnRyYW5Db21tZW50R3JvdXAsY0luY2x1ZGVkLEBzcGVsbApzeW4gbWF0Y2ggIGZvcnRyYW5QYXJlbkVycm9yICAgIikiCgpzeW4gbWF0Y2ggZm9ydHJhbk9wZXJhdG9yCSJcLlxzKm5cPWVxdlxzKlwuIgpzeW4gbWF0Y2ggZm9ydHJhbk9wZXJhdG9yCSJcLlxzKlwoYW5kXHxvclx8bm90XClccypcLiIKc3luIG1hdGNoIGZvcnRyYW5PcGVyYXRvcgkiXCgrXHwtXHwvXHxcKlwpIgpzeW4gbWF0Y2ggZm9ydHJhblR5cGVPYgkJIlw8Y2hhcmFjdGVyXHMqXCoiCgpzeW4gbWF0Y2ggZm9ydHJhbkJvb2xlYW4JIlwuXHMqXCh0cnVlXHxmYWxzZVwpXHMqXC4iCgpzeW4ga2V5d29yZCBmb3J0cmFuUmVhZFdyaXRlCWJhY2tzcGFjZSBjbG9zZSBlbmRmaWxlIGlucXVpcmUgb3BlbiBwcmludCByZWFkIHJld2luZCB3cml0ZQoKIklmIHRhYnMgYXJlIGFsbG93ZWQgdGhlbiB0aGUgbGVmdCBtYXJnaW4gY2hlY2tzIGRvIG5vdCB3b3JrCmlmIGV4aXN0cygiZm9ydHJhbl9oYXZlX3RhYnMiKQogIHN5biBtYXRjaCBmb3J0cmFuVGFiCQkiXHQiICB0cmFuc3BhcmVudAplbHNlCiAgc3luIG1hdGNoIGZvcnRyYW5UYWIJCSJcdCIKZW5kaWYKCnN5biBrZXl3b3JkIGZvcnRyYW5JTwkJYWNjZXNzIGJsYW5rIGRpcmVjdCBleGlzdCBmaWxlIGZtdCBmb3JtIGZvcm1hdHRlZCBpb3N0YXQgbmFtZSBuYW1lZCBuZXh0cmVjIG51bWJlciBvcGVuZWQgcmVjIHJlY2wgc2VxdWVudGlhbCBzdGF0dXMgdW5mb3JtYXR0ZWQgdW5pdAoKc3luIGtleXdvcmQgZm9ydHJhbkludHJpbnNpY1IJCWFsb2cgYWxvZzEwIGFtYXgwIGFtYXgxIGFtaW4wIGFtaW4xIGFtb2QgY2FicyBjY29zIGNleHAgY2xvZyBjc2luIGNzcXJ0IGRhYnMgZGFjb3MgZGFzaW4gZGF0YW4gZGF0YW4yIGRjb3MgZGNvc2ggZGRpbSBkZXhwIGRpbnQgZGxvZyBkbG9nMTAgZG1heDEgZG1pbjEgZG1vZCBkbmludCBkc2lnbiBkc2luIGRzaW5oIGRzcXJ0IGR0YW4gZHRhbmggZmxvYXQgaWFicyBpZGltIGlkaW50IGlkbmludCBpZml4IGlzaWduIG1heDAgbWF4MSBtaW4wIG1pbjEgc25nbAoKIiBJbnRyaW5zaWNzIHByb3ZpZGVkIGJ5IHNvbWUgdmVuZG9ycwpzeW4ga2V5d29yZCBmb3J0cmFuRXh0cmFJbnRyaW5zaWMJYWxnYW1hIGNkYWJzIGNkY29zIGNkZXhwIGNkbG9nIGNkc2luIGNkc3FydCBjcWFicyBjcWNvcyBjcWV4cCBjcWxvZyBjcXNpbiBjcXNxcnQgZGNtcGx4IGRjb25qZyBkZXJmIGRlcmZjIGRmbG9hdCBkZ2FtbWEgZGltYWcgZGxnYW1hIGlxaW50IHFhYnMgcWFjb3MgcWFzaW4gcWF0YW4gcWF0YW4yIHFjbXBseCBxY29uamcgcWNvcyBxY29zaCBxZGltIHFlcmYgcWVyZmMgcWV4cCBxZ2FtbWEgcWltYWcgcWxnYW1hIHFsb2cgcWxvZzEwIHFtYXgxIHFtaW4xIHFtb2QgcW5pbnQgcXNpZ24gcXNpbiBxc2luaCBxc3FydCBxdGFuIHF0YW5oCgpzeW4ga2V5d29yZCBmb3J0cmFuSW50cmluc2ljCWFicyBhY29zIGFpbWFnIGFpbnQgYW5pbnQgYXNpbiBhdGFuIGF0YW4yIGNoYXIgY21wbHggY29uamcgY29zIGNvc2ggZXhwIGljaGFyIGluZGV4IGludCBsb2cgbG9nMTAgbWF4IG1pbiBuaW50IHNpZ24gc2luIHNpbmggc3FydCB0YW4gdGFuaApzeW4gbWF0Y2ggZm9ydHJhbkludHJpbnNpYwkiXDxsZW5ccypbKCxdIm1lPXMrMwpzeW4gbWF0Y2ggZm9ydHJhbkludHJpbnNpYwkiXDxyZWFsXHMqKCJtZT1zKzQKc3luIG1hdGNoIGZvcnRyYW5UeXBlCQkiXDxpbXBsaWNpdFxzXCtyZWFsIgpzeW4gbWF0Y2ggZm9ydHJhblR5cGUJCSJeXHMqcmVhbFw+IgpzeW4gbWF0Y2ggZm9ydHJhbkludHJpbnNpYwkiXDxsb2dpY2FsXHMqKCJtZT1zKzcKc3luIG1hdGNoIGZvcnRyYW5UeXBlCQkiXDxpbXBsaWNpdFxzXCtsb2dpY2FsIgpzeW4gbWF0Y2ggZm9ydHJhblR5cGUJCSJeXHMqbG9naWNhbFw+IgoKIk51bWJlcnMgb2YgdmFyaW91cyBzb3J0cwoiIEludGVnZXJzCnN5biBtYXRjaCBmb3J0cmFuTnVtYmVyCWRpc3BsYXkgIlw8XGRcK1woX1xhXHcqXClcPVw+IgoiIGZsb2F0aW5nIHBvaW50IG51bWJlciwgd2l0aG91dCBhIGRlY2ltYWwgcG9pbnQKc3luIG1hdGNoIGZvcnRyYW5GbG9hdElsbAlkaXNwbGF5CSJcPFxkXCtbZGVxXVstK11cPVxkXCtcKF9cYVx3KlwpXD1cPiIKIiBmbG9hdGluZyBwb2ludCBudW1iZXIsIHN0YXJ0aW5nIHdpdGggYSBkZWNpbWFsIHBvaW50CnN5biBtYXRjaCBmb3J0cmFuRmxvYXRJbGwJZGlzcGxheQkiXC5cZFwrXChbZGVxXVstK11cPVxkXCtcKVw9XChfXGFcdypcKVw9XD4iCiIgZmxvYXRpbmcgcG9pbnQgbnVtYmVyLCBubyBkaWdpdHMgYWZ0ZXIgZGVjaW1hbApzeW4gbWF0Y2ggZm9ydHJhbkZsb2F0SWxsCWRpc3BsYXkJIlw8XGRcK1wuXChbZGVxXVstK11cPVxkXCtcKVw9XChfXGFcdypcKVw9XD4iCiIgZmxvYXRpbmcgcG9pbnQgbnVtYmVyLCBEIG9yIFEgZXhwb25lbnRzCnN5biBtYXRjaCBmb3J0cmFuRmxvYXRJbGwJZGlzcGxheQkiXDxcZFwrXC5cZFwrXChbZHFdWy0rXVw9XGRcK1wpXD1cKF9cYVx3KlwpXD1cPiIKIiBmbG9hdGluZyBwb2ludCBudW1iZXIKc3luIG1hdGNoIGZvcnRyYW5GbG9hdAlkaXNwbGF5CSJcPFxkXCtcLlxkXCtcKGVbLStdXD1cZFwrXClcPVwoX1xhXHcqXClcPVw+IgoiIE51bWJlcnMgaW4gZm9ybWF0cwpzeW4gbWF0Y2ggZm9ydHJhbkZvcm1hdFNwZWMJZGlzcGxheQkiXGQqZlxkXCtcLlxkXCsiCnN5biBtYXRjaCBmb3J0cmFuRm9ybWF0U3BlYwlkaXNwbGF5CSJcZCplW3NuXVw9XGRcK1wuXGRcK1woZVxkK1w+XClcPSIKc3luIG1hdGNoIGZvcnRyYW5Gb3JtYXRTcGVjCWRpc3BsYXkJIlxkKlwoZFx8cVx8Z1wpXGRcK1wuXGRcK1woZVxkK1wpXD0iCnN5biBtYXRjaCBmb3J0cmFuRm9ybWF0U3BlYwlkaXNwbGF5CSJcZFwreFw+IgoiIFRoZSBuZXh0IG1hdGNoIGNhbm5vdCBiZSB1c2VkIGJlY2F1c2UgaXQgd291bGQgcGljayB1cCBpZGVudGlmaWVycyBhcyB3ZWxsCiIgc3luIG1hdGNoIGZvcnRyYW5Gb3JtYXRTcGVjCWRpc3BsYXkJIlw8XChhXHxpXClcZFwrIgoKIiBOdW1iZXJzIGFzIGxhYmVscwpzeW4gbWF0Y2ggZm9ydHJhbkxhYmVsTnVtYmVyCWRpc3BsYXkJIl5cZFx7MSw1fVxzIm1lPWUtMQpzeW4gbWF0Y2ggZm9ydHJhbkxhYmVsTnVtYmVyCWRpc3BsYXkJIl4gXGRcezEsNH1ccyJtcz1zKzEsbWU9ZS0xCnN5biBtYXRjaCBmb3J0cmFuTGFiZWxOdW1iZXIJZGlzcGxheQkiXiAgXGRcezEsM31ccyJtcz1zKzIsbWU9ZS0xCnN5biBtYXRjaCBmb3J0cmFuTGFiZWxOdW1iZXIJZGlzcGxheQkiXiAgIFxkXGRcPVxzIm1zPXMrMyxtZT1lLTEKc3luIG1hdGNoIGZvcnRyYW5MYWJlbE51bWJlcglkaXNwbGF5CSJeICAgIFxkXHMibXM9cys0LG1lPWUtMQoKaWYgZXhpc3RzKCJmb3J0cmFuX21vcmVfcHJlY2lzZSIpCiAgIiBOdW1iZXJzIGFzIHRhcmdldHMKICBzeW4gbWF0Y2ggZm9ydHJhblRhcmdldAlkaXNwbGF5CSJcKFw8aWZccyooLlwrKVxzKlwpXEA8PVwoXGRcK1xzKixccypcKVx7Mn1cZFwrXD4iCiAgc3luIG1hdGNoIGZvcnRyYW5UYXJnZXQJZGlzcGxheQkiXChcPGRvXHNcK1wpXEA8PVxkXCtcPiIKICBzeW4gbWF0Y2ggZm9ydHJhblRhcmdldAlkaXNwbGF5CSJcKFw8Z29ccyp0b1xzKihcPVwpXEA8PVwoXGRcK1xzKixccypcKSpcZFwrXD4iCmVuZGlmCgpzeW4ga2V5d29yZCBmb3J0cmFuVHlwZVIJZXh0ZXJuYWwKc3luIGtleXdvcmQgZm9ydHJhbklPUgkJZm9ybWF0CnN5biBtYXRjaCBmb3J0cmFuS2V5d29yZFIJIlw8Y29udGludWVcPiIKc3luIG1hdGNoIGZvcnRyYW5LZXl3b3JkCSJeXHMqXGRcK1xzXCtjb250aW51ZVw+IgpzeW4gbWF0Y2ggZm9ydHJhbktleXdvcmQgIAkiXDxnb1xzKnRvXD4iCnN5biBtYXRjaCBmb3J0cmFuS2V5d29yZERlbCAgCSJcPGdvXHMqdG9cemVcc1wrLiosXHMqKC4qJCIKc3luIG1hdGNoIGZvcnRyYW5LZXl3b3JkT2IgIAkiXDxnb1xzKnRvXHplXHMqKFxkXCsuKiQiCnN5biByZWdpb24gZm9ydHJhblN0cmluZ1IJc3RhcnQ9KycrIGVuZD0rJysgY29udGFpbnM9Zm9ydHJhbkNvbnRpbnVlTWFyayxmb3J0cmFuTGVmdE1hcmdpbixmb3J0cmFuU2VyaWFsTnVtYmVyCnN5biBrZXl3b3JkIGZvcnRyYW5JbnRyaW5zaWNSCWRpbSBsZ2UgbGd0IGxsZSBsbHQgbW9kCnN5biBrZXl3b3JkIGZvcnRyYW5LZXl3b3JkRGVsCWFzc2lnbiBwYXVzZQoKc3luIG1hdGNoIGZvcnRyYW5UeXBlICAgICAgICAgICAiXDx0eXBlXD4iCnN5biBrZXl3b3JkIGZvcnRyYW5UeXBlCSAgICAgICAgbm9uZQoKc3luIGtleXdvcmQgZm9ydHJhblN0cnVjdHVyZQlwcml2YXRlIHB1YmxpYyBpbnRlbnQgb3B0aW9uYWwKc3luIGtleXdvcmQgZm9ydHJhblN0cnVjdHVyZQlwb2ludGVyIHRhcmdldCBhbGxvY2F0YWJsZQpzeW4ga2V5d29yZCBmb3J0cmFuU3RvcmFnZUNsYXNzCWluIG91dApzeW4gbWF0Y2ggZm9ydHJhblN0b3JhZ2VDbGFzcwkiXDxraW5kXHMqPSJtZT1zKzQKc3luIG1hdGNoIGZvcnRyYW5TdG9yYWdlQ2xhc3MJIlw8bGVuXHMqPSJtZT1zKzMKCnN5biBtYXRjaCBmb3J0cmFuVW5pdEhlYWRlcgkiXDxtb2R1bGVcPiIKc3luIG1hdGNoIGZvcnRyYW5Vbml0SGVhZGVyCSJcPHN1Ym1vZHVsZVw+IgpzeW4ga2V5d29yZCBmb3J0cmFuVW5pdEhlYWRlcgl1c2Ugb25seSBjb250YWlucwpzeW4ga2V5d29yZCBmb3J0cmFuVW5pdEhlYWRlcglyZXN1bHQgb3BlcmF0b3IgYXNzaWdubWVudApzeW4gbWF0Y2ggZm9ydHJhblVuaXRIZWFkZXIJIlw8aW50ZXJmYWNlXD4iCnN5biBtYXRjaCBmb3J0cmFuVW5pdEhlYWRlcgkiXDxyZWN1cnNpdmVcPiIKc3luIGtleXdvcmQgZm9ydHJhbktleXdvcmQJYWxsb2NhdGUgZGVhbGxvY2F0ZSBudWxsaWZ5IGN5Y2xlIGV4aXQKc3luIG1hdGNoIGZvcnRyYW5Db25kaXRpb25hbAkiXDxzZWxlY3RcPiIKc3luIGtleXdvcmQgZm9ydHJhbkNvbmRpdGlvbmFsCWNhc2UgZGVmYXVsdCB3aGVyZSBlbHNld2hlcmUKCnN5biBtYXRjaCBmb3J0cmFuT3BlcmF0b3IJIlwoXCg+XHw8XCk9XD1cfD09XHwvPVx8PVwpIgpzeW4gbWF0Y2ggZm9ydHJhbk9wZXJhdG9yCSI9PiIKCnN5biByZWdpb24gZm9ydHJhblN0cmluZwlzdGFydD0rIisgZW5kPSsiKwljb250YWlucz1mb3J0cmFuTGVmdE1hcmdpbixmb3J0cmFuQ29udGludWVNYXJrLGZvcnRyYW5TZXJpYWxOdW1iZXIKc3luIGtleXdvcmQgZm9ydHJhbklPCQlwYWQgcG9zaXRpb24gYWN0aW9uIGRlbGltIHJlYWR3cml0ZQpzeW4ga2V5d29yZCBmb3J0cmFuSU8JCWVvciBhZHZhbmNlIG5tbAoKc3luIGtleXdvcmQgZm9ydHJhbkludHJpbnNpYwlhZGp1c3RsIGFkanVzdHIgYWxsIGFsbG9jYXRlZCBhbnkgYXNzb2NpYXRlZCBiaXRfc2l6ZSBidGVzdCBjZWlsaW5nIGNvdW50IGNzaGlmdCBkYXRlX2FuZF90aW1lIGRpZ2l0cyBkb3RfcHJvZHVjdCBlb3NoaWZ0IGVwc2lsb24gZXhwb25lbnQgZmxvb3IgZnJhY3Rpb24gaHVnZSBpYW5kIGliY2xyIGliaXRzIGlic2V0IGllb3IgaW9yIGlzaGZ0IGlzaGZ0YyBsYm91bmQgbGVuX3RyaW0gbWF0bXVsIG1heGV4cG9uZW50IG1heGxvYyBtYXh2YWwgbWVyZ2UgbWluZXhwb25lbnQgbWlubG9jIG1pbnZhbCBtb2R1bG8gbXZiaXRzIG5lYXJlc3QgcGFjayBwcmVjaXNpb24gcHJlc2VudCBwcm9kdWN0IHJhZGl4IHJhbmRvbV9udW1iZXIgcmFuZG9tX3NlZWQgcmFuZ2UgcmVwZWF0IHJlc2hhcGUgcnJzcGFjaW5nCnN5biBrZXl3b3JkIGZvcnRyYW5JbnRyaW5zaWMJc2NhbGUgc2NhbiBzZWxlY3RlZF9pbnRfa2luZCBzZWxlY3RlZF9yZWFsX2tpbmQgc2V0X2V4cG9uZW50IHNoYXBlIHNpemUgc3BhY2luZyBzcHJlYWQgc3VtIHN5c3RlbV9jbG9jayB0aW55IHRyYW5zcG9zZSB0cmltIHVib3VuZCB1bnBhY2sgdmVyaWZ5CnN5biBtYXRjaCBmb3J0cmFuSW50cmluc2ljCQkiXDxub3RcPlwoXHMqXC5cKVxAISJtZT1zKzMKc3luIG1hdGNoIGZvcnRyYW5JbnRyaW5zaWMJIlw8a2luZFw+XHMqWygsXSJtZT1zKzQKCnN5biBtYXRjaCAgZm9ydHJhblVuaXRIZWFkZXIJIlw8ZW5kXHMqZnVuY3Rpb24iCnN5biBtYXRjaCAgZm9ydHJhblVuaXRIZWFkZXIJIlw8ZW5kXHMqaW50ZXJmYWNlIgpzeW4gbWF0Y2ggIGZvcnRyYW5Vbml0SGVhZGVyCSJcPGVuZFxzKm1vZHVsZSIKc3luIG1hdGNoICBmb3J0cmFuVW5pdEhlYWRlcgkiXDxlbmRccypzdWJtb2R1bGUiCnN5biBtYXRjaCAgZm9ydHJhblVuaXRIZWFkZXIJIlw8ZW5kXHMqcHJvZ3JhbSIKc3luIG1hdGNoICBmb3J0cmFuVW5pdEhlYWRlcgkiXDxlbmRccypzdWJyb3V0aW5lIgpzeW4gbWF0Y2ggIGZvcnRyYW5Vbml0SGVhZGVyCSJcPGVuZFxzKmJsb2NrIgpzeW4gbWF0Y2ggIGZvcnRyYW5SZXBlYXQJIlw8ZW5kXHMqZG8iCnN5biBtYXRjaCAgZm9ydHJhbkNvbmRpdGlvbmFsCSJcPGVuZFxzKndoZXJlIgpzeW4gbWF0Y2ggIGZvcnRyYW5Db25kaXRpb25hbAkiXDxzZWxlY3RccypjYXNlIgpzeW4gbWF0Y2ggIGZvcnRyYW5Db25kaXRpb25hbAkiXDxlbmRccypzZWxlY3QiCnN5biBtYXRjaCAgZm9ydHJhblR5cGUJIlw8ZW5kXHMqdHlwZSIKc3luIG1hdGNoICBmb3J0cmFuVHlwZQkiXDxpblxzKm91dCIKCnN5biBrZXl3b3JkIGZvcnRyYW5UeXBlCSAgICAgICAgcHJvY2VkdXJlCnN5biBtYXRjaCAgZm9ydHJhblR5cGUJICAgICAgICAiXDxtb2R1bGVcemVcc1wrcHJvY2VkdXJlXD4iCnN5biBrZXl3b3JkIGZvcnRyYW5JT1IJCW5hbWVsaXN0CnN5biBrZXl3b3JkIGZvcnRyYW5Db25kaXRpb25hbFIJd2hpbGUKc3luIGtleXdvcmQgZm9ydHJhbkludHJpbnNpY1IJYWNoYXIgaWFjaGFyIHRyYW5zZmVyCgpzeW4ga2V5d29yZCBmb3J0cmFuSW5jbHVkZQkJaW5jbHVkZQpzeW4ga2V5d29yZCBmb3J0cmFuU3RvcmFnZUNsYXNzUglzZXF1ZW5jZQoKc3luIG1hdGNoICAgZm9ydHJhbkNvbmRpdGlvbmFsCSJcPGVuZFxzKmlmIgpzeW4gbWF0Y2ggICBmb3J0cmFuSU8JCWNvbnRhaW5zPWZvcnRyYW5PcGVyYXRvciAiXDxlXChuZFx8cnJcKVxzKj1ccypcZFwrIgpzeW4gbWF0Y2ggICBmb3J0cmFuQ29uZGl0aW9uYWwJIlw8ZWxzZVxzKmlmIgoKc3luIGtleXdvcmQgZm9ydHJhblVuaXRIZWFkZXJPYgllbnRyeQpzeW4gbWF0Y2ggZm9ydHJhblR5cGVSCQlkaXNwbGF5ICJkb3VibGVcc1wrcHJlY2lzaW9uIgpzeW4gbWF0Y2ggZm9ydHJhblR5cGVSCQlkaXNwbGF5ICJkb3VibGVcc1wrY29tcGxleCIKc3luIG1hdGNoIGZvcnRyYW5Vbml0SGVhZGVyUglkaXNwbGF5ICJibG9ja1xzXCtkYXRhIgpzeW4ga2V5d29yZCBmb3J0cmFuU3RvcmFnZUNsYXNzUgljb21tb24gZXF1aXZhbGVuY2UgZGF0YQpzeW4ga2V5d29yZCBmb3J0cmFuSW50cmluc2ljUglkYmxlIGRwcm9kCnN5biBtYXRjaCAgIGZvcnRyYW5PcGVyYXRvclIJIlwuXHMqW2dsXVtldF1ccypcLiIKc3luIG1hdGNoICAgZm9ydHJhbk9wZXJhdG9yUgkiXC5ccypcKGVxXHxuZVwpXHMqXC4iCgpzeW4ga2V5d29yZCBmb3J0cmFuUmVwZWF0CQlmb3JhbGwKc3luIG1hdGNoIGZvcnRyYW5SZXBlYXQJCSJcPGVuZFxzKmZvcmFsbCIKc3luIGtleXdvcmQgZm9ydHJhbkludHJpbnNpYwludWxsIGNwdV90aW1lCnN5biBtYXRjaCBmb3J0cmFuVHlwZQkJCSJcPGVsZW1lbnRhbFw+IgpzeW4gbWF0Y2ggZm9ydHJhblR5cGUJCQkiXDxwdXJlXD4iCnN5biBtYXRjaCBmb3J0cmFuVHlwZQkJCSJcPGltcHVyZVw+IgppZiBleGlzdHMoImZvcnRyYW5fbW9yZV9wcmVjaXNlIikKICBzeW4gbWF0Y2ggZm9ydHJhbkNvbnN0cnVjdE5hbWUgIlwoXDxlbmRccypmb3JhbGxcc1wrXClcQDw9XGFcdypcPiIKZW5kaWYKCmlmIGI6Zm9ydHJhbl9kaWFsZWN0ID09ICJmMDgiCiAgIiBGMjAwMwogIHN5biBrZXl3b3JkIGZvcnRyYW5JbnRyaW5zaWMgICAgICAgIGNvbW1hbmRfYXJndW1lbnRfY291bnQgZ2V0X2NvbW1hbmQgZ2V0X2NvbW1hbmRfYXJndW1lbnQgZ2V0X2Vudmlyb25tZW50X3ZhcmlhYmxlIGlzX2lvc3RhdF9lbmQgaXNfaW9zdGF0X2VvciBtb3ZlX2FsbG9jIG5ld19saW5lIHNlbGVjdGVkX2NoYXJfa2luZCBzYW1lX3R5cGVfYXMgZXh0ZW5kc190eXBlX29mCiAgIiBJU09fQ19iaW5kaW5nCiAgc3luIGtleXdvcmQgZm9ydHJhbkNvbnN0YW50ICAgICAgICAgY19udWxsX2NoYXIgY19hbGVydCBjX2JhY2tzcGFjZSBjX2Zvcm1fZmVlZCBjX25ld19saW5lIGNfY2FycmlhZ2VfcmV0dXJuIGNfaG9yaXpvbnRhbF90YWIgY192ZXJ0aWNhbF90YWIKICBzeW4ga2V5d29yZCBmb3J0cmFuQ29uc3RhbnQgICAgICAgICBjX2ludCBjX3Nob3J0IGNfbG9uZyBjX2xvbmdfbG9uZyBjX3NpZ25lZF9jaGFyIGNfc2l6ZV90IGNfaW50OF90IGNfaW50MTZfdCBjX2ludDMyX3QgY19pbnQ2NF90IGNfaW50X2xlYXN0OF90IGNfaW50X2xlYXN0MTZfdCBjX2ludF9sZWFzdDMyX3QgY19pbnRfbGVhc3Q2NF90IGNfaW50X2Zhc3Q4X3QgY19pbnRfZmFzdDE2X3QgY19pbnRfZmFzdDMyX3QgY19pbnRfZmFzdDY0X3QgY19pbnRtYXhfdCBDX2ludHB0cl90IGNfZmxvYXQgY19kb3VibGUgY19sb25nX2RvdWJsZSBjX2Zsb2F0X2NvbXBsZXggY19kb3VibGVfY29tcGxleCBjX2xvbmdfZG91YmxlX2NvbXBsZXggY19ib29sIGNfY2hhciBjX251bGxfcHRyIGNfbnVsbF9mdW5wdHIKICBzeW4ga2V5d29yZCBmb3J0cmFuSW50cmluc2ljICAgICAgICBpc29fY19iaW5kaW5nIGNfbG9jIGNfZnVubG9jIGNfYXNzb2NpYXRlZCAgY19mX3BvaW50ZXIgY19mX3Byb2Nwb2ludGVyCiAgc3luIGtleXdvcmQgZm9ydHJhblR5cGUgICAgICAgICAgICAgY19wdHIgY19mdW5wdHIKICAiIElTT19Gb3J0cmFuX2VudgogIHN5biBrZXl3b3JkIGZvcnRyYW5Db25zdGFudCAgICAgICAgIGlzb19mb3J0cmFuX2VudiBjaGFyYWN0ZXJfc3RvcmFnZV9zaXplIGVycm9yX3VuaXQgZmlsZV9zdG9yYWdlX3NpemUgaW5wdXRfdW5pdCBpb3N0YXRfZW5kIGlvc3RhdF9lb3IgbnVtZXJpY19zdG9yYWdlX3NpemUgb3V0cHV0X3VuaXQKICAiIElFRUVfYXJpdGhtZXRpYwogIHN5biBrZXl3b3JkIGZvcnRyYW5JbnRyaW5zaWMgICAgICAgIGllZWVfYXJpdGhtZXRpYyBpZWVlX3N1cHBvcnRfdW5kZXJmbG93X2NvbnRyb2wgaWVlZV9nZXRfdW5kZXJmbG93X21vZGUgaWVlZV9zZXRfdW5kZXJmbG93X21vZGUKCiAgc3luIGtleXdvcmQgZm9ydHJhblJlYWRXcml0ZQlmbHVzaCB3YWl0CiAgc3luIGtleXdvcmQgZm9ydHJhbklPIAkgICAgICBkZWNpbWFsIHJvdW5kIGlvbXNnCiAgc3luIGtleXdvcmQgZm9ydHJhblR5cGUgICAgICAgICAgICAgYXN5bmNocm9ub3VzIG5vcGFzcyBub25fb3ZlcnJpZGFibGUgcGFzcyBwcm90ZWN0ZWQgdm9sYXRpbGUgZXh0ZW5kcyBpbXBvcnQKICBzeW4ga2V5d29yZCBmb3J0cmFuVHlwZSAgICAgICAgICAgICBub25faW50cmluc2ljIHZhbHVlIGJpbmQgZGVmZXJyZWQgZ2VuZXJpYyBmaW5hbCBlbnVtZXJhdG9yCiAgc3luIG1hdGNoIGZvcnRyYW5UeXBlICAgICAgICAgICAgICAgIlw8YWJzdHJhY3RcPiIKICBzeW4gbWF0Y2ggZm9ydHJhblR5cGUgICAgICAgICAgICAgICAiXDxjbGFzc1w+IgogIHN5biBtYXRjaCBmb3J0cmFuVHlwZSAgICAgICAgICAgICAgICJcPGFzc29jaWF0ZVw+IgogIHN5biBtYXRjaCBmb3J0cmFuVHlwZSAgICAgICAgICAgICAgICJcPGVuZFxzKmFzc29jaWF0ZSIKICBzeW4gbWF0Y2ggZm9ydHJhblR5cGUgICAgICAgICAgICAgICAiXDxlbnVtXHMqLFxzKmJpbmRccyooXHMqY1xzKikiCiAgc3luIG1hdGNoIGZvcnRyYW5UeXBlICAgICAgICAgICAgICAgIlw8ZW5kXHMqZW51bSIKICBzeW4gbWF0Y2ggZm9ydHJhbkNvbmRpdGlvbmFsCSJcPHNlbGVjdFxzKnR5cGUiCiAgc3luIG1hdGNoIGZvcnRyYW5Db25kaXRpb25hbCAgICAgICAgIlw8dHlwZVxzKmlzXD4iCiAgc3luIG1hdGNoIGZvcnRyYW5Db25kaXRpb25hbCAgICAgICAgIlw8Y2xhc3Nccyppc1w+IgogIHN5biBtYXRjaCBmb3J0cmFuVW5pdEhlYWRlciAgICAgICAgICJcPGFic3RyYWN0XHMqaW50ZXJmYWNlXD4iCiAgc3luIG1hdGNoIGZvcnRyYW5PcGVyYXRvciAgICAgICAgICAgIlwoW1x8XVwpIgoKICAiIEYyMDA4CiAgc3luIGtleXdvcmQgZm9ydHJhbkludHJpbnNpYyAgICAgICAgYWNvc2ggYXNpbmggYXRhbmggYmVzc2VsX2owIGJlc3NlbF9qMSBiZXNzZWxfam4gYmVzc2VsX3kwIGJlc3NlbF95MSBiZXNzZWxfeW4gZXJmIGVyZmMgZXJmY19zY2FsZWQgZ2FtbWEgbG9nX2dhbW1hIGh5cG90IG5vcm0yCiAgc3luIGtleXdvcmQgZm9ydHJhbkludHJpbnNpYyAgICAgICAgYXRvbWljX2RlZmluZSBhdG9taWNfcmVmIGV4ZWN1dGVfY29tbWFuZF9saW5lIGxlYWR6IHRyYWlseiBzdG9yYWdlX3NpemUgbWVyZ2VfYml0cwogIHN5biBrZXl3b3JkIGZvcnRyYW5JbnRyaW5zaWMgICAgICAgIGJnZSBiZ3QgYmxlIGJsdCBkc2hpZnRsIGRzaGlmdHIgZmluZGxvYyBpYWxsIGlhbnkgaXBhcml0eSBpbWFnZV9pbmRleCBsY29ib3VuZCB1Y29ib3VuZCBtYXNrbCBtYXNrciBudW1faW1hZ2VzIHBhcml0eSBwb3BjbnQgcG9wcGFyIHNoaWZ0YSBzaGlmdGwgc2hpZnRyIHRoaXNfaW1hZ2UKICBzeW4ga2V5d29yZCBmb3J0cmFuSU8gICAgICAgICAgICAgICBuZXd1bml0CiAgc3luIGtleXdvcmQgZm9ydHJhblR5cGUgICAgICAgICAgICAgY29udGlndW91cwogIHN5biBrZXl3b3JkIGZvcnRyYW5SZXBlYXQgICAgICAgICAgIGNvbmN1cnJlbnQKCiIgQ1VEQSBmb3J0cmFuCiAgc3luIG1hdGNoIGZvcnRyYW5UeXBlQ1VEQSAgICAgICAgICAgIlw8YXR0cmlidXRlc1w+IgogIHN5biBrZXl3b3JkIGZvcnRyYW5UeXBlQ1VEQSAgICAgICAgIGhvc3QgZ2xvYmFsIGRldmljZSB2YWx1ZQogIHN5biBrZXl3b3JkIGZvcnRyYW5UeXBlQ1VEQSAgICAgICAgIHNoYXJlZCBjb25zdGFudCBwaW5uZWQgdGV4dHVyZQogIHN5biBrZXl3b3JkIGZvcnRyYW5UeXBlQ1VEQSAgICAgICAgIGRpbTEgZGltMiBkaW0zIGRpbTQKICBzeW4ga2V5d29yZCBmb3J0cmFuVHlwZUNVREEgICAgICAgICBjdWRhZGV2aWNlcHJvcCBjdWRhX2NvdW50X2tpbmQgY3VkYV9zdHJlYW1fa2luZAogIHN5biBrZXl3b3JkIGZvcnRyYW5UeXBlQ1VEQSAgICAgICAgIGN1ZGFFdmVudCBjdWRhRnVuY0F0dHJpYnV0ZXMgY3VkYUFycmF5UHRyCiAgc3luIGtleXdvcmQgZm9ydHJhblR5cGVDVURBICAgICAgICAgY3VkYVN5bWJvbCBjdWRhQ2hhbm5lbEZvcm1hdERlc2MgY3VkYVBpdGNoZWRQdHIKICBzeW4ga2V5d29yZCBmb3J0cmFuVHlwZUNVREEgICAgICAgICBjdWRhRXh0ZW50IGN1ZGFNZW1jcHkzRFBhcm1zCiAgc3luIGtleXdvcmQgZm9ydHJhblR5cGVDVURBICAgICAgICAgY3VkYUZ1bmNDYWNoZVByZWZlck5vbmUgY3VkYUZ1bmNDYWNoZVByZWZlclNoYXJlZAogIHN5biBrZXl3b3JkIGZvcnRyYW5UeXBlQ1VEQSAgICAgICAgIGN1ZGFGdW5jQ2FjaGVQcmVmZXJMMSBjdWRhTGltaXRTdGFja1NpemUKICBzeW4ga2V5d29yZCBmb3J0cmFuVHlwZUNVREEgICAgICAgICBjdWRhTGltaXRQcmludGZTaXplIGN1ZGFMaW1pdE1hbGxvY0hlYXBTaXplCiAgc3luIGtleXdvcmQgZm9ydHJhblR5cGVDVURBICAgICAgICAgY3VkYVNoYXJlZE1lbUJhbmtTaXplRGVmYXVsdCBjdWRhU2hhcmVkTWVtQmFua1NpemVGb3VyQnl0ZSBjdWRhU2hhcmVkTWVtQmFua1NpemVFaWdodEJ5dGUKICBzeW4ga2V5d29yZCBmb3J0cmFuVHlwZUNVREEgICAgICAgICBjdWRhRXZlbnREZWZhdWx0IGN1ZGFFdmVudEJsb2NraW5nU3luYyBjdWRhRXZlbnREaXNhYmxlVGltaW5nCiAgc3luIGtleXdvcmQgZm9ydHJhblR5cGVDVURBICAgICAgICAgY3VkYU1lbWNweUhvc3RUb0RldmljZSBjdWRhTWVtY3B5RGV2aWNlVG9Ib3N0CiAgc3luIGtleXdvcmQgZm9ydHJhblR5cGVDVURBICAgICAgICAgY3VkYU1lbWNweURldmljZVRvRGV2aWNlCiAgc3luIGtleXdvcmQgZm9ydHJhblR5cGVDVURBICAgICAgICAgY3VkYUVycm9yTm90UmVhZHkgY3VkYVN1Y2Nlc3MgY3VkYUVycm9ySW52YWxpZFZhbHVlCiAgc3luIGtleXdvcmQgZm9ydHJhblR5cGVDVURBICAgICAgICAgY19kZXZwdHIKCiAgc3luIG1hdGNoIGZvcnRyYW5TdHJpbmdDVURBICAgICAgICAgImJsb2NraWR4JVt4eXpdIgogIHN5biBtYXRjaCBmb3J0cmFuU3RyaW5nQ1VEQSAgICAgICAgICJibG9ja2RpbSVbeHl6XSIKICBzeW4gbWF0Y2ggZm9ydHJhblN0cmluZ0NVREEgICAgICAgICAiZ3JpZGRpbSVbeHl6XSIKICBzeW4gbWF0Y2ggZm9ydHJhblN0cmluZ0NVREEgICAgICAgICAidGhyZWFkaWR4JVt4eXpdIgoKICBzeW4ga2V5d29yZCBmb3J0cmFuSW50cmluc2ljQ1VEQSAgICB3YXJwc2l6ZSBzeW5jdGhyZWFkcyBzeW5jdGhyZWFkc19hbmQgc3luY3RocmVhZHNfY291bnQgc3luY3RocmVhZHNfb3IgdGhyZWFkZmVuY2UgdGhyZWFkZmVuY2VfYmxvY2sgdGhyZWFkZmVuY2Vfc3lzdGVtIGdwdV90aW1lIGFsbHRocmVhZHMgYW55dGhyZWFkIGJhbGxvdAogIHN5biBrZXl3b3JkIGZvcnRyYW5JbnRyaW5zaWNDVURBICAgIGF0b21pY2FkZCBhdG9taWNzdWIgYXRvbWljbWF4IGF0b21pY21pbiBhdG9taWNhbmQgYXRvbWljb3IgYXRvbWljeG9yIGF0b21pY2V4Y2ggYXRvbWljaW5jIGF0b21pY2RlYyBhdG9taWNjYXMgc2l6ZW9mIF9fc2hmbCBfX3NoZmxfdXAgX19zaGZsX2Rvd24gX19zaGZsX3hvcgogIHN5biBrZXl3b3JkIGZvcnRyYW5JbnRyaW5zaWNDVURBICAgIGN1ZGFDaG9vc2VEZXZpY2UgY3VkYURldmljZUdldENhY2hlQ29uZmlnIGN1ZGFEZXZpY2VHZXRMaW1pdCBjdWRhRGV2aWNlR2V0U2hhcmVkTWVtQ29uZmlnIGN1ZGFEZXZpY2VSZXNldCBjdWRhRGV2aWNlU2V0Q2FjaGVDb25maWcgY3VkYURldmljZVNldExpbWl0IGN1ZGFEZXZpY2VTZXRTaGFyZWRNZW1Db25maWcgY3VkYURldmljZVN5bmNocm9uaXplIGN1ZGFHZXREZXZpY2UgY3VkYUdldERldmljZUNvdW50IGN1ZGFHZXREZXZpY2VQcm9wZXJ0aWVzIGN1ZGFTZXREZXZpY2UgY3VkYVNldERldmljZUZsYWdzIGN1ZGFTZXRWYWxpZERldmljZXMKICBzeW4ga2V5d29yZCBmb3J0cmFuSW50cmluc2ljQ1VEQSAgICBjdWRhVGhyZWFkRXhpdCBjdWRhVGhyZWFkU3luY2hyb25pemUgY3VkYUdldExhc3RFcnJvciBjdWRhR2V0RXJyb3JTdHJpbmcgY3VkYVBlZWtBdExhc3RFcnJvciBjdWRhU3RyZWFtQ3JlYXRlIGN1ZGFTdHJlYW1EZXN0cm95IGN1ZGFTdHJlYW1RdWVyeSBjdWRhU3RyZWFtU3luY2hyb25pemUgY3VkYVN0cmVhbVdhaXRFdmVudCBjdWRhRXZlbnRDcmVhdGUgY3VkYUV2ZW50Q3JlYXRlV2l0aEZsYWdzIGN1ZGFFdmVudERlc3Ryb3kgY3VkYUV2ZW50RWxhcHNlZFRpbWUgY3VkYUV2ZW50UXVlcnkgY3VkYUV2ZW50UmVjb3JkIGN1ZGFFdmVudFN5bmNocm9uaXplCiAgc3luIGtleXdvcmQgZm9ydHJhbkludHJpbnNpY0NVREEgICAgY3VkYUZ1bmNHZXRBdHRyaWJ1dGVzIGN1ZGFGdW5jU2V0Q2FjaGVDb25maWcgY3VkYUZ1bmNTZXRTaGFyZWRNZW1Db25maWcgY3VkYVNldERvdWJsZUZvckRldmljZSBjdWRhU2V0RG91YmxlRm9ySG9zdCBjdWRhRnJlZSBjdWRhRnJlZUFycmF5IGN1ZGFGcmVlSG9zdCBjdWRhR2V0U3ltYm9sQWRkcmVzcyBjdWRhR2V0U3ltYm9sU2l6ZQogIHN5biBrZXl3b3JkIGZvcnRyYW5JbnRyaW5zaWNDVURBICAgIGN1ZGFIb3N0QWxsb2MgY3VkYUhvc3RHZXREZXZpY2VQb2ludGVyIGN1ZGFIb3N0R2V0RmxhZ3MgY3VkYUhvc3RSZWdpc3RlciBjdWRhSG9zdFVucmVnaXN0ZXIgY3VkYU1hbGxvYyBjdWRhTWFsbG9jQXJyYXkgY3VkYU1hbGxvY0hvc3QgY3VkYU1hbGxvY1BpdGNoIGN1ZGFNYWxsb2MzRCBjdWRhTWFsbG9jM0RBcnJheQogIHN5biBrZXl3b3JkIGZvcnRyYW5JbnRyaW5zaWNDVURBICAgIGN1ZGFNZW1jcHkgY3VkYU1lbWNweUFycmF5dG9BcnJheSBjdWRhTWVtY3B5QXN5bmMgY3VkYU1lbWNweUZyb21BcnJheSBjdWRhTWVtY3B5RnJvbVN5bWJvbCBjdWRhTWVtY3B5RnJvbVN5bWJvbEFzeW5jIGN1ZGFNZW1jcHlQZWVyIGN1ZGFNZW1jcHlQZWVyQXN5bmMgY3VkYU1lbWNweVRvQXJyYXkgY3VkYU1lbWNweVRvU3ltYm9sIGN1ZGFNZW1jcHlUb1N5bWJvbEFzeW5jIGN1ZGFNZW1jcHkyRCBjdWRhTWVtY3B5MkRBcnJheVRvQXJyYXkgY3VkYU1lbWNweTJEQXN5bmMgY3VkYU1lbWNweTJERnJvbUFycmF5IGN1ZGFNZW1jcHkyRFRvQXJyYXkgY3VkYU1lbWNweTNEIGN1ZGFNZW1jcHkzREFzeW5jCiAgc3luIGtleXdvcmQgZm9ydHJhbkludHJpbnNpY0NVREEgICAgY3VkYU1lbUdldEluZm8gY3VkYU1lbXNldCBjdWRhTWVtc2V0MkQgY3VkYU1lbXNldDNEIGN1ZGFEZXZpY2VDYW5BY2Nlc3NQZWVyIGN1ZGFEZXZpY2VEaXNhYmxlUGVlckFjY2VzcyBjdWRhRGV2aWNlRW5hYmxlUGVlckFjY2VzcyBjdWRhUG9pbnRlckdldEF0dHJpYnV0ZXMgY3VkYURyaXZlckdldFZlcnNpb24gY3VkYVJ1bnRpbWVHZXRWZXJzaW9uCgogIHN5biByZWdpb24gbm9uZSBtYXRjaGdyb3VwPWZvcnRyYW5UeXBlIHN0YXJ0PSI8PDwiIGVuZD0iPj4+IiBjb250YWlucz1BTExCVVQsbm9uZQplbmRpZgoKc3luIGNsdXN0ZXIgZm9ydHJhbkNvbW1lbnRHcm91cCBjb250YWlucz1mb3J0cmFuVG9kbwoKaWYgKGI6Zm9ydHJhbl9maXhlZF9zb3VyY2UgPT0gMSkKICBpZiAhZXhpc3RzKCJmb3J0cmFuX2hhdmVfdGFicyIpCiAgICAiRmxhZyBpdGVtcyBiZXlvbmQgY29sdW1uIDcyCiAgICBzeW4gbWF0Y2ggZm9ydHJhblNlcmlhbE51bWJlcglleGNsdWRlbmwgIl4uXHs3Myx9JCJsYz03MgogICAgIkZsYWcgbGVmdCBtYXJnaW4gZXJyb3JzCiAgICBzeW4gbWF0Y2ggZm9ydHJhbkxhYmVsRXJyb3IJIl4uXHstLDR9W14wLTkgXSIgY29udGFpbnM9Zm9ydHJhblRhYgogICAgc3luIG1hdGNoIGZvcnRyYW5MYWJlbEVycm9yCSJeLlx7NH1cZFxTIgogIGVuZGlmCiAgc3luIG1hdGNoIGZvcnRyYW5Db21tZW50CQlleGNsdWRlbmwgIl5bIWMqXS4qJCIgY29udGFpbnM9QGZvcnRyYW5Db21tZW50R3JvdXAsQHNwZWxsCiAgc3luIG1hdGNoIGZvcnRyYW5MZWZ0TWFyZ2luCQl0cmFuc3BhcmVudCAiXiBcezV9IgogIHN5biBtYXRjaCBmb3J0cmFuQ29udGludWVNYXJrCQlkaXNwbGF5ICJeLlx7NX1cUyJsYz01CmVsc2UKICBzeW4gbWF0Y2ggZm9ydHJhbkNvbnRpbnVlTWFyawkJZGlzcGxheSAiJiIKZW5kaWYKCnN5biBtYXRjaCBmb3J0cmFuQ29tbWVudAlleGNsdWRlbmwgIiEuKiQiIGNvbnRhaW5zPUBmb3J0cmFuQ29tbWVudEdyb3VwLEBzcGVsbApzeW4gbWF0Y2ggZm9ydHJhbk9wZW5NUAkJZXhjbHVkZW5sIAkJIl5ccyohXCRcKE9NUFwpXD0mXD1ccy4qJCIKCiJjcHAgaXMgb2Z0ZW4gdXNlZCB3aXRoIEZvcnRyYW4Kc3luIG1hdGNoCWNQcmVQcm9jCQkiXlxzKiNccypcKGRlZmluZVx8aWZkZWZcKVw+LioiCnN5biBtYXRjaAljUHJlUHJvYwkJIl5ccyojXHMqXChlbGlmXHxpZlwpXD4uKiIKc3luIG1hdGNoCWNQcmVQcm9jCQkiXlxzKiNccypcKGlmbmRlZlx8dW5kZWZcKVw+LioiCnN5biBtYXRjaAljUHJlQ29uZGl0CQkiXlxzKiNccypcKGVsc2VcfGVuZGlmXClcPi4qIgpzeW4gcmVnaW9uCWNJbmNsdWRlZAljb250YWluZWQgc3RhcnQ9KyJbXihdKyBza2lwPStcXFxcXHxcXCIrIGVuZD0rIisgY29udGFpbnM9Zm9ydHJhbkxlZnRNYXJnaW4sZm9ydHJhbkNvbnRpbnVlTWFyayxmb3J0cmFuU2VyaWFsTnVtYmVyCnN5biBtYXRjaAljSW5jbHVkZWQJCWNvbnRhaW5lZCAiPFtePl0qPiIKc3luIG1hdGNoCWNJbmNsdWRlCQkiXlxzKiNccyppbmNsdWRlXD5ccypbIjxdIiBjb250YWlucz1jSW5jbHVkZWQKCiJTeW5jaHJvbmlzaW5nIGxpbWl0cyBhc3N1bWUgdGhhdCBjb21tZW50IGFuZCBjb250aW51YXRpb24gbGluZXMgYXJlIG5vdCBtaXhlZAppZiBleGlzdHMoImZvcnRyYW5fZm9sZCIpIHx8IGV4aXN0cygiZm9ydHJhbl9tb3JlX3ByZWNpc2UiKQogIHN5biBzeW5jIGZyb21zdGFydAplbHNlaWYgKGI6Zm9ydHJhbl9maXhlZF9zb3VyY2UgPT0gMCkKICBzeW4gc3luYyBsaW5lY29udCAiJiIgbWlubGluZXM9MzAKZWxzZQogIHN5biBzeW5jIG1pbmxpbmVzPTMwCmVuZGlmCgppZiBleGlzdHMoImZvcnRyYW5fZm9sZCIpCgogIGlmIChiOmZvcnRyYW5fZml4ZWRfc291cmNlID09IDEpCiAgICBzeW4gcmVnaW9uIGZvcnRyYW5Qcm9ncmFtIHRyYW5zcGFyZW50IGZvbGQga2VlcGVuZCBzdGFydD0iXlxzKnByb2dyYW1cc1wrXHooXGFcdypcKSIgc2tpcD0iXlwoWyFjKl1cfFxzKiNcKS4qJCIgZXhjbHVkZW5sIGVuZD0iXDxlbmRccypcKHByb2dyYW1cKFxzXCtcejFcPlwpXD1cfCRcKSIgY29udGFpbnM9QUxMQlVULGZvcnRyYW5Nb2R1bGUKICAgIHN5biByZWdpb24gZm9ydHJhbk1vZHVsZSB0cmFuc3BhcmVudCBmb2xkIGtlZXBlbmQgc3RhcnQ9Il5ccypzdWJtb2R1bGVcc1wrKFxhXHcqXHMqXCg6XGFcdypccypcKSopXHMqXHpcKFxhXHcqXCkiIHNraXA9Il5cKFshYypdXHxccyojXCkuKiQiIGV4Y2x1ZGVubCBlbmQ9Ilw8ZW5kXHMqXChzdWJtb2R1bGVcKFxzXCtcejFcPlwpXD1cfCRcKSIgY29udGFpbnM9QUxMQlVULGZvcnRyYW5Qcm9ncmFtLGZvcnRyYW5Nb2R1bGUKICAgIHN5biByZWdpb24gZm9ydHJhbk1vZHVsZSB0cmFuc3BhcmVudCBmb2xkIGtlZXBlbmQgc3RhcnQ9Il5ccyptb2R1bGVcc1wrXChwcm9jZWR1cmVcKVxAIVx6KFxhXHcqXCkiIHNraXA9Il5cKFshYypdXHxccyojXCkuKiQiIGV4Y2x1ZGVubCBlbmQ9Ilw8ZW5kXHMqXChtb2R1bGVcKFxzXCtcejFcPlwpXD1cfCRcKSIgY29udGFpbnM9QUxMQlVULGZvcnRyYW5Qcm9ncmFtCiAgICBzeW4gcmVnaW9uIGZvcnRyYW5GdW5jdGlvbiB0cmFuc3BhcmVudCBmb2xkIGtlZXBlbmQgZXh0ZW5kIHN0YXJ0PSJeXHMqXChlbGVtZW50YWwgXHxwdXJlIFx8aW1wdXJlIFx8bW9kdWxlIFx8cmVjdXJzaXZlIFwpXD1ccypcKFwoXChyZWFsIFx8aW50ZWdlciBcfGxvZ2ljYWwgXHxjb21wbGV4IFx8ZG91YmxlIFxzKnByZWNpc2lvbiBcKVxzKlwoKFwoXHMqa2luZFxzKj1cKVw9XHMqXHdcK1xzKilcKVw9XClcfHR5cGVcc1wrKFxzKlx3XCtccyopIFx8Y2hhcmFjdGVyIFwoKFwoXHMqbGVuXHMqPVwpXD1ccypcZFwrXHMqKVx8KFwoXHMqa2luZFxzKj1cKVw9XHMqXHdcK1xzKilcKVw9XClcPVxzKmZ1bmN0aW9uXHNcK1x6KFxhXHcqXCkiIHNraXA9Il5cKFshYypdXHxccyojXCkuKiQiIGV4Y2x1ZGVubCBlbmQ9Ilw8ZW5kXHMqXCgkXHxmdW5jdGlvblwoXHNcK1x6MVw+XClcPVwpIiBjb250YWlucz1BTExCVVQsZm9ydHJhblByb2dyYW0sZm9ydHJhbk1vZHVsZQogICAgc3luIHJlZ2lvbiBmb3J0cmFuU3Vicm91dGluZSB0cmFuc3BhcmVudCBmb2xkIGtlZXBlbmQgZXh0ZW5kIHN0YXJ0PSJeXHMqXChlbGVtZW50YWwgXHxwdXJlIFx8aW1wdXJlIFx8bW9kdWxlIFx8cmVjdXJzaXZlIFwpXD1ccypzdWJyb3V0aW5lXHNcK1x6KFxhXHcqXCkiIHNraXA9Il5cKFshYypdXHxccyojXCkuKiQiIGV4Y2x1ZGVubCBlbmQ9Ilw8ZW5kXHMqXCgkXHxzdWJyb3V0aW5lXChcc1wrXHoxXD5cKVw9XCkiIGNvbnRhaW5zPUFMTEJVVCxmb3J0cmFuUHJvZ3JhbSxmb3J0cmFuTW9kdWxlCiAgICBzeW4gcmVnaW9uIGZvcnRyYW5CbG9ja0RhdGEgdHJhbnNwYXJlbnQgZm9sZCBrZWVwZW5kIHN0YXJ0PSJcPGJsb2NrXHMqZGF0YVwoXHNcK1x6KFxhXHcqXClcKVw9IiBza2lwPSJeXChbIWMqXVx8XHMqI1wpLiokIiBleGNsdWRlbmwgZW5kPSJcPGVuZFxzKlwoJFx8YmxvY2tccypkYXRhXChcc1wrXHoxXD5cKVw9XCkiIGNvbnRhaW5zPUFMTEJVVCxmb3J0cmFuUHJvZ3JhbSxmb3J0cmFuTW9kdWxlLGZvcnRyYW5TdWJyb3V0aW5lLGZvcnRyYW5GdW5jdGlvbixmb3J0cmFuNzdMb29wLGZvcnRyYW5DYXNlLGZvcnRyYW45MExvb3AsZm9ydHJhbklmQmxvY2sKICAgIHN5biByZWdpb24gZm9ydHJhbkludGVyZmFjZSB0cmFuc3BhcmVudCBmb2xkIGtlZXBlbmQgZXh0ZW5kIHN0YXJ0PSJeXHMqXChhYnN0cmFjdCBcKVw9XHMqaW50ZXJmYWNlXD4iIHNraXA9Il5cKFshYypdXHxccyojXCkuKiQiIGV4Y2x1ZGVubCBlbmQ9Ilw8ZW5kXHMqaW50ZXJmYWNlXD4iIGNvbnRhaW5zPUFMTEJVVCxmb3J0cmFuUHJvZ3JhbSxmb3J0cmFuTW9kdWxlLGZvcnRyYW43N0xvb3AsZm9ydHJhbkNhc2UsZm9ydHJhbjkwTG9vcCxmb3J0cmFuSWZCbG9jawogICAgc3luIHJlZ2lvbiBmb3J0cmFuVHlwZURlZiB0cmFuc3BhcmVudCBmb2xkIGtlZXBlbmQgZXh0ZW5kIHN0YXJ0PSJeXHMqdHlwZVxzKlwoLFxzKlwocHVibGljXHxwcml2YXRlXHxhYnN0cmFjdFwpXClcPVxzKjo6IiBza2lwPSJeXChbIWMqXVx8XHMqI1wpLiokIiBleGNsdWRlbmwgZW5kPSJcPGVuZFxzKnR5cGVcPiIgY29udGFpbnM9QUxMQlVULGZvcnRyYW5Qcm9ncmFtLGZvcnRyYW5Nb2R1bGUsZm9ydHJhbjc3TG9vcCxmb3J0cmFuQ2FzZSxmb3J0cmFuOTBMb29wLGZvcnRyYW5JZkJsb2NrLGZvcnRyYW5JbnRlcmZhY2UKICBlbHNlCiAgICBzeW4gcmVnaW9uIGZvcnRyYW5Qcm9ncmFtIHRyYW5zcGFyZW50IGZvbGQga2VlcGVuZCBzdGFydD0iXlxzKnByb2dyYW1cc1wrXHooXGFcdypcKSIgc2tpcD0iXlxzKlshI10uKiQiIGV4Y2x1ZGVubCBlbmQ9Ilw8ZW5kXHMqXChwcm9ncmFtXChcc1wrXHoxXD5cKVw9XHwkXCkiIGNvbnRhaW5zPUFMTEJVVCxmb3J0cmFuTW9kdWxlCiAgICBzeW4gcmVnaW9uIGZvcnRyYW5Nb2R1bGUgdHJhbnNwYXJlbnQgZm9sZCBrZWVwZW5kIHN0YXJ0PSJeXHMqc3VibW9kdWxlXHNcKyhcYVx3KlxzKlwoOlxhXHcqXHMqXCkqKVxzKlx6XChcYVx3KlwpIiBza2lwPSJeXHMqWyEjXS4qJCIgZXhjbHVkZW5sIGVuZD0iXDxlbmRccypcKHN1Ym1vZHVsZVwoXHNcK1x6MVw+XClcPVx8JFwpIiBjb250YWlucz1BTExCVVQsZm9ydHJhblByb2dyYW0sZm9ydHJhbk1vZHVsZQogICAgc3luIHJlZ2lvbiBmb3J0cmFuTW9kdWxlIHRyYW5zcGFyZW50IGZvbGQga2VlcGVuZCBzdGFydD0iXlxzKm1vZHVsZVxzXCtcKHByb2NlZHVyZVwpXEAhXHooXGFcdypcKSIgc2tpcD0iXlxzKlshI10uKiQiIGV4Y2x1ZGVubCBlbmQ9Ilw8ZW5kXHMqXChtb2R1bGVcKFxzXCtcejFcPlwpXD1cfCRcKSIgY29udGFpbnM9QUxMQlVULGZvcnRyYW5Qcm9ncmFtCiAgICBzeW4gcmVnaW9uIGZvcnRyYW5GdW5jdGlvbiB0cmFuc3BhcmVudCBmb2xkIGtlZXBlbmQgZXh0ZW5kIHN0YXJ0PSJeXHMqXChlbGVtZW50YWwgXHxwdXJlIFx8aW1wdXJlIFx8bW9kdWxlIFx8cmVjdXJzaXZlIFwpXD1ccypcKFwoXChyZWFsIFx8aW50ZWdlciBcfGxvZ2ljYWwgXHxjb21wbGV4IFx8ZG91YmxlIFxzKnByZWNpc2lvbiBcKVxzKlwoKFwoXHMqa2luZFxzKj1cKVw9XHMqXHdcK1xzKilcKVw9XClcfHR5cGVcc1wrKFxzKlx3XCtccyopIFx8Y2hhcmFjdGVyIFwoKFwoXHMqbGVuXHMqPVwpXD1ccypcZFwrXHMqKVx8KFwoXHMqa2luZFxzKj1cKVw9XHMqXHdcK1xzKilcKVw9XClcPVxzKmZ1bmN0aW9uXHNcK1x6KFxhXHcqXCkiIHNraXA9Il5ccypbISNdLiokIiBleGNsdWRlbmwgZW5kPSJcPGVuZFxzKlwoJFx8ZnVuY3Rpb25cKFxzXCtcejFcPlwpXD1cKSIgY29udGFpbnM9QUxMQlVULGZvcnRyYW5Qcm9ncmFtLGZvcnRyYW5Nb2R1bGUKICAgIHN5biByZWdpb24gZm9ydHJhblN1YnJvdXRpbmUgdHJhbnNwYXJlbnQgZm9sZCBrZWVwZW5kIGV4dGVuZCBzdGFydD0iXlxzKlwoZWxlbWVudGFsIFx8cHVyZSBcfGltcHVyZSBcfG1vZHVsZSBcfHJlY3Vyc2l2ZSBcKVw9XHMqc3Vicm91dGluZVxzXCtceihcYVx3KlwpIiBza2lwPSJeXHMqWyEjXS4qJCIgZXhjbHVkZW5sIGVuZD0iXDxlbmRccypcKCRcfHN1YnJvdXRpbmVcKFxzXCtcejFcPlwpXD1cKSIgY29udGFpbnM9QUxMQlVULGZvcnRyYW5Qcm9ncmFtLGZvcnRyYW5Nb2R1bGUKICAgIHN5biByZWdpb24gZm9ydHJhbkJsb2NrRGF0YSB0cmFuc3BhcmVudCBmb2xkIGtlZXBlbmQgc3RhcnQ9Ilw8YmxvY2tccypkYXRhXChcc1wrXHooXGFcdypcKVwpXD0iIHNraXA9Il5ccypbISNdLiokIiBleGNsdWRlbmwgZW5kPSJcPGVuZFxzKlwoJFx8YmxvY2tccypkYXRhXChcc1wrXHoxXD5cKVw9XCkiIGNvbnRhaW5zPUFMTEJVVCxmb3J0cmFuUHJvZ3JhbSxmb3J0cmFuTW9kdWxlLGZvcnRyYW5TdWJyb3V0aW5lLGZvcnRyYW5GdW5jdGlvbixmb3J0cmFuNzdMb29wLGZvcnRyYW5DYXNlLGZvcnRyYW45MExvb3AsZm9ydHJhbklmQmxvY2sKICAgIHN5biByZWdpb24gZm9ydHJhbkludGVyZmFjZSB0cmFuc3BhcmVudCBmb2xkIGtlZXBlbmQgZXh0ZW5kIHN0YXJ0PSJeXHMqXChhYnN0cmFjdCBcKVw9XHMqaW50ZXJmYWNlXD4iIHNraXA9Il5ccypbISNdLiokIiBleGNsdWRlbmwgZW5kPSJcPGVuZFxzKmludGVyZmFjZVw+IiBjb250YWlucz1BTExCVVQsZm9ydHJhblByb2dyYW0sZm9ydHJhbk1vZHVsZSxmb3J0cmFuNzdMb29wLGZvcnRyYW5DYXNlLGZvcnRyYW45MExvb3AsZm9ydHJhbklmQmxvY2sKICAgIHN5biByZWdpb24gZm9ydHJhblR5cGVEZWYgdHJhbnNwYXJlbnQgZm9sZCBrZWVwZW5kIGV4dGVuZCBzdGFydD0iXlxzKnR5cGVccypcKCxccypcKHB1YmxpY1x8cHJpdmF0ZVx8YWJzdHJhY3RcKVwpXD1ccyo6OiIgc2tpcD0iXlxzKlshI10uKiQiIGV4Y2x1ZGVubCBlbmQ9Ilw8ZW5kXHMqdHlwZVw+IiBjb250YWlucz1BTExCVVQsZm9ydHJhblByb2dyYW0sZm9ydHJhbk1vZHVsZSxmb3J0cmFuNzdMb29wLGZvcnRyYW5DYXNlLGZvcnRyYW45MExvb3AsZm9ydHJhbklmQmxvY2ssZm9ydHJhbkludGVyZmFjZQogIGVuZGlmCgogIGlmIGV4aXN0cygiZm9ydHJhbl9mb2xkX2NvbmRpdGlvbmFscyIpCiAgICBpZiAoYjpmb3J0cmFuX2ZpeGVkX3NvdXJjZSA9PSAxKQogICAgICBzeW4gcmVnaW9uIGZvcnRyYW43N0xvb3AgdHJhbnNwYXJlbnQgZm9sZCBrZWVwZW5kIHN0YXJ0PSJcPGRvXHNcK1x6KFxkXCtcKSIgZW5kPSJeXHMqXHoxXD4iIGNvbnRhaW5zPUFMTEJVVCxmb3J0cmFuVW5pdEhlYWRlcixmb3J0cmFuU3RydWN0dXJlLGZvcnRyYW5TdG9yYWdlQ2xhc3MsZm9ydHJhblR5cGUsZm9ydHJhblByb2dyYW0sZm9ydHJhbk1vZHVsZSxmb3J0cmFuU3Vicm91dGluZSxmb3J0cmFuRnVuY3Rpb24sZm9ydHJhbkJsb2NrRGF0YQogICAgICBzeW4gcmVnaW9uIGZvcnRyYW45MExvb3AgdHJhbnNwYXJlbnQgZm9sZCBrZWVwZW5kIGV4dGVuZCBzdGFydD0iXChcPGVuZFxzXCtcKVxAPCFcPGRvXChcc1wrXGFcfFxzKiRcKSIgc2tpcD0iXlwoWyFjKl1cfFxzKiNcKS4qJCIgZXhjbHVkZW5sIGVuZD0iXDxlbmRccypkb1w+IiBjb250YWlucz1BTExCVVQsZm9ydHJhblVuaXRIZWFkZXIsZm9ydHJhblN0cnVjdHVyZSxmb3J0cmFuU3RvcmFnZUNsYXNzLGZvcnRyYW5UeXBlLGZvcnRyYW5Qcm9ncmFtLGZvcnRyYW5Nb2R1bGUsZm9ydHJhblN1YnJvdXRpbmUsZm9ydHJhbkZ1bmN0aW9uLGZvcnRyYW5CbG9ja0RhdGEKICAgICAgc3luIHJlZ2lvbiBmb3J0cmFuSWZCbG9jayB0cmFuc3BhcmVudCBmb2xkIGtlZXBlbmQgZXh0ZW5kIHN0YXJ0PSJcKFw8ZVwobmRcfGxzZVwpXHNcK1wpXEA8IVw8aWZccyooLlwrKVxzKnRoZW5cPiIgc2tpcD0iXlwoWyFjKl1cfFxzKiNcKS4qJCIgZW5kPSJcPGVuZFxzKmlmXD4iIGNvbnRhaW5zPUFMTEJVVCxmb3J0cmFuVW5pdEhlYWRlcixmb3J0cmFuU3RydWN0dXJlLGZvcnRyYW5TdG9yYWdlQ2xhc3MsZm9ydHJhblR5cGUsZm9ydHJhblByb2dyYW0sZm9ydHJhbk1vZHVsZSxmb3J0cmFuU3Vicm91dGluZSxmb3J0cmFuRnVuY3Rpb24sZm9ydHJhbkJsb2NrRGF0YQogICAgICBzeW4gcmVnaW9uIGZvcnRyYW5DYXNlIHRyYW5zcGFyZW50IGZvbGQga2VlcGVuZCBleHRlbmQgc3RhcnQ9Ilw8c2VsZWN0XHMqY2FzZVw+IiBza2lwPSJeXChbIWMqXVx8XHMqI1wpLiokIiBlbmQ9Ilw8ZW5kXHMqc2VsZWN0XD4iIGNvbnRhaW5zPUFMTEJVVCxmb3J0cmFuVW5pdEhlYWRlcixmb3J0cmFuU3RydWN0dXJlLGZvcnRyYW5TdG9yYWdlQ2xhc3MsZm9ydHJhblR5cGUsZm9ydHJhblByb2dyYW0sZm9ydHJhbk1vZHVsZSxmb3J0cmFuU3Vicm91dGluZSxmb3J0cmFuRnVuY3Rpb24sZm9ydHJhbkJsb2NrRGF0YQogICAgZWxzZQogICAgICBzeW4gcmVnaW9uIGZvcnRyYW43N0xvb3AgdHJhbnNwYXJlbnQgZm9sZCBrZWVwZW5kIHN0YXJ0PSJcPGRvXHNcK1x6KFxkXCtcKSIgZW5kPSJeXHMqXHoxXD4iIGNvbnRhaW5zPUFMTEJVVCxmb3J0cmFuVW5pdEhlYWRlcixmb3J0cmFuU3RydWN0dXJlLGZvcnRyYW5TdG9yYWdlQ2xhc3MsZm9ydHJhblR5cGUsZm9ydHJhblByb2dyYW0sZm9ydHJhbk1vZHVsZSxmb3J0cmFuU3Vicm91dGluZSxmb3J0cmFuRnVuY3Rpb24sZm9ydHJhbkJsb2NrRGF0YQogICAgICBzeW4gcmVnaW9uIGZvcnRyYW45MExvb3AgdHJhbnNwYXJlbnQgZm9sZCBrZWVwZW5kIGV4dGVuZCBzdGFydD0iXChcPGVuZFxzXCtcKVxAPCFcPGRvXChcc1wrXGFcfFxzKiRcKSIgc2tpcD0iXlxzKlshI10uKiQiIGV4Y2x1ZGVubCBlbmQ9Ilw8ZW5kXHMqZG9cPiIgY29udGFpbnM9QUxMQlVULGZvcnRyYW5Vbml0SGVhZGVyLGZvcnRyYW5TdHJ1Y3R1cmUsZm9ydHJhblN0b3JhZ2VDbGFzcyxmb3J0cmFuVHlwZSxmb3J0cmFuUHJvZ3JhbSxmb3J0cmFuTW9kdWxlLGZvcnRyYW5TdWJyb3V0aW5lLGZvcnRyYW5GdW5jdGlvbixmb3J0cmFuQmxvY2tEYXRhCiAgICAgIHN5biByZWdpb24gZm9ydHJhbklmQmxvY2sgdHJhbnNwYXJlbnQgZm9sZCBrZWVwZW5kIGV4dGVuZCBzdGFydD0iXChcPGVcKG5kXHxsc2VcKVxzXCtcKVxAPCFcPGlmXHMqKFwoLlx8JlxzKlxuXClcKylcKFxzXHwmXHMqXG5cKSp0aGVuXD4iIHNraXA9Il5ccypbISNdLiokIiBlbmQ9Ilw8ZW5kXHMqaWZcPiIgY29udGFpbnM9QUxMQlVULGZvcnRyYW5Vbml0SGVhZGVyLGZvcnRyYW5TdHJ1Y3R1cmUsZm9ydHJhblN0b3JhZ2VDbGFzcyxmb3J0cmFuVHlwZSxmb3J0cmFuUHJvZ3JhbSxmb3J0cmFuTW9kdWxlLGZvcnRyYW5TdWJyb3V0aW5lLGZvcnRyYW5GdW5jdGlvbixmb3J0cmFuQmxvY2tEYXRhCiAgICAgIHN5biByZWdpb24gZm9ydHJhbkNhc2UgdHJhbnNwYXJlbnQgZm9sZCBrZWVwZW5kIGV4dGVuZCBzdGFydD0iXDxzZWxlY3RccypjYXNlXD4iIHNraXA9Il5ccypbISNdLiokIiBlbmQ9Ilw8ZW5kXHMqc2VsZWN0XD4iIGNvbnRhaW5zPUFMTEJVVCxmb3J0cmFuVW5pdEhlYWRlcixmb3J0cmFuU3RydWN0dXJlLGZvcnRyYW5TdG9yYWdlQ2xhc3MsZm9ydHJhblR5cGUsZm9ydHJhblByb2dyYW0sZm9ydHJhbk1vZHVsZSxmb3J0cmFuU3Vicm91dGluZSxmb3J0cmFuRnVuY3Rpb24sZm9ydHJhbkJsb2NrRGF0YQogICAgZW5kaWYKICBlbmRpZgoKICBpZiBleGlzdHMoImZvcnRyYW5fZm9sZF9tdWx0aWxpbmVjb21tZW50cyIpCiAgICBpZiAoYjpmb3J0cmFuX2ZpeGVkX3NvdXJjZSA9PSAxKQogICAgICBzeW4gbWF0Y2ggZm9ydHJhbk11bHRpTGluZUNvbW1lbnRzIHRyYW5zcGFyZW50IGZvbGQgIlwoXlshYypdLipcKFxuXHxcJSRcKVwpXHs0LH0iIGNvbnRhaW5zPUFMTEJVVCxmb3J0cmFuTXVsdGlDb21tZW50TGluZXMKICAgIGVsc2UKICAgICAgc3luIG1hdGNoIGZvcnRyYW5NdWx0aUxpbmVDb21tZW50cyB0cmFuc3BhcmVudCBmb2xkICJcKF5ccyohLipcKFxuXHxcJSRcKVwpXHs0LH0iIGNvbnRhaW5zPUFMTEJVVCxmb3J0cmFuTXVsdGlDb21tZW50TGluZXMKICAgIGVuZGlmCiAgZW5kaWYKZW5kaWYKCiIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KIiBUaGUgZGVmYXVsdCBoaWdobGlnaHRpbmcgZGlmZmVycyBmb3IgZWFjaCBkaWFsZWN0LgoiIFRyYW5zcGFyZW50IGdyb3VwczoKIiBmb3J0cmFuUGFyZW4sIGZvcnRyYW5MZWZ0TWFyZ2luCiIgZm9ydHJhblByb2dyYW0sIGZvcnRyYW5Nb2R1bGUsIGZvcnRyYW5TdWJyb3V0aW5lLCBmb3J0cmFuRnVuY3Rpb24sCiIgZm9ydHJhbkJsb2NrRGF0YQoiIGZvcnRyYW43N0xvb3AsIGZvcnRyYW45MExvb3AsIGZvcnRyYW5JZkJsb2NrLCBmb3J0cmFuQ2FzZQoiIGZvcnRyYW5NdWx0aUNvbW1lbnRMaW5lcwpoaSBkZWYgbGluayBmb3J0cmFuS2V5d29yZCAJS2V5d29yZApoaSBkZWYgbGluayBmb3J0cmFuQ29uc3RydWN0TmFtZQlJZGVudGlmaWVyCmhpIGRlZiBsaW5rIGZvcnRyYW5Db25kaXRpb25hbAlDb25kaXRpb25hbApoaSBkZWYgbGluayBmb3J0cmFuUmVwZWF0CVJlcGVhdApoaSBkZWYgbGluayBmb3J0cmFuVG9kbwkJVG9kbwpoaSBkZWYgbGluayBmb3J0cmFuQ29udGludWVNYXJrCVNwZWNpYWwKaGkgZGVmIGxpbmsgZm9ydHJhblN0cmluZwlTdHJpbmcKaGkgZGVmIGxpbmsgZm9ydHJhbk51bWJlcglOdW1iZXIKaGkgZGVmIGxpbmsgZm9ydHJhbk9wZXJhdG9yCU9wZXJhdG9yCmhpIGRlZiBsaW5rIGZvcnRyYW5Cb29sZWFuCUJvb2xlYW4KaGkgZGVmIGxpbmsgZm9ydHJhbkxhYmVsRXJyb3IJRXJyb3IKaGkgZGVmIGxpbmsgZm9ydHJhbk9ic29sZXRlCVRvZG8KaGkgZGVmIGxpbmsgZm9ydHJhblR5cGUJCVR5cGUKaGkgZGVmIGxpbmsgZm9ydHJhblN0cnVjdHVyZQlUeXBlCmhpIGRlZiBsaW5rIGZvcnRyYW5TdG9yYWdlQ2xhc3MJU3RvcmFnZUNsYXNzCmhpIGRlZiBsaW5rIGZvcnRyYW5DYWxsCQlGdW5jdGlvbgpoaSBkZWYgbGluayBmb3J0cmFuVW5pdEhlYWRlcglmb3J0cmFuUHJlQ29uZGl0CmhpIGRlZiBsaW5rIGZvcnRyYW5SZWFkV3JpdGUJS2V5d29yZApoaSBkZWYgbGluayBmb3J0cmFuSU8JCUtleXdvcmQKaGkgZGVmIGxpbmsgZm9ydHJhbkludHJpbnNpYwlGdW5jdGlvbgpoaSBkZWYgbGluayBmb3J0cmFuQ29uc3RhbnQJQ29uc3RhbnQKCiIgVG8gc3RvcCBkZWxldGVkICYgb2Jzb2xlc2NlbnQgZmVhdHVyZXMgYmVpbmcgaGlnaGxpZ2h0ZWQgYXMgVG9kbyBpdGVtcywKIiBjb21tZW50IG91dCB0aGUgbmV4dCA1IGxpbmVzIGFuZCB1bmNvbW1lbnQgdGhlIDUgbGluZXMgYWZ0ZXIgdGhhdApoaSBkZWYgbGluayBmb3J0cmFuVW5pdEhlYWRlck9iICAgIGZvcnRyYW5PYnNvbGV0ZQpoaSBkZWYgbGluayBmb3J0cmFuS2V5d29yZE9iICAgICAgIGZvcnRyYW5PYnNvbGV0ZQpoaSBkZWYgbGluayBmb3J0cmFuQ29uZGl0aW9uYWxPYiAgIGZvcnRyYW5PYnNvbGV0ZQpoaSBkZWYgbGluayBmb3J0cmFuVHlwZU9iICAgICAgICAgIGZvcnRyYW5PYnNvbGV0ZQpoaSBkZWYgbGluayBmb3J0cmFuS2V5d29yZERlbCAgICAgIGZvcnRyYW5PYnNvbGV0ZQoiaGkgZGVmIGxpbmsgZm9ydHJhblVuaXRIZWFkZXJPYiAgICBmb3J0cmFuVW5pdEhlYWRlcgoiaGkgZGVmIGxpbmsgZm9ydHJhbktleXdvcmRPYiAgICAgICBmb3J0cmFuS2V5d29yZAoiaGkgZGVmIGxpbmsgZm9ydHJhbkNvbmRpdGlvbmFsT2IgICBmb3J0cmFuQ29uZGl0aW9uYWwKImhpIGRlZiBsaW5rIGZvcnRyYW5UeXBlT2IgICAgICAgICAgZm9ydHJhblR5cGUKImhpIGRlZiBsaW5rIGZvcnRyYW5LZXl3b3JkRGVsICAgICAgZm9ydHJhbktleXdvcmQKCmlmIGI6Zm9ydHJhbl9kaWFsZWN0ID09ICJGIgogIGhpISBkZWYgbGluayBmb3J0cmFuSW50cmluc2ljUglmb3J0cmFuT2Jzb2xldGUKICBoaSEgZGVmIGxpbmsgZm9ydHJhblVuaXRIZWFkZXJSCWZvcnRyYW5PYnNvbGV0ZQogIGhpISBkZWYgbGluayBmb3J0cmFuVHlwZVIJCWZvcnRyYW5PYnNvbGV0ZQogIGhpISBkZWYgbGluayBmb3J0cmFuU3RvcmFnZUNsYXNzUglmb3J0cmFuT2Jzb2xldGUKICBoaSEgZGVmIGxpbmsgZm9ydHJhbk9wZXJhdG9yUiAJZm9ydHJhbk9ic29sZXRlCiAgaGkhIGRlZiBsaW5rIGZvcnRyYW5JbmNsdWRlICAgCWZvcnRyYW5PYnNvbGV0ZQogIGhpISBkZWYgbGluayBmb3J0cmFuTGFiZWxOdW1iZXIJZm9ydHJhbk9ic29sZXRlCiAgaGkhIGRlZiBsaW5rIGZvcnRyYW5UYXJnZXQJICAgICAgICBmb3J0cmFuT2Jzb2xldGUKICBoaSEgZGVmIGxpbmsgZm9ydHJhbkZsb2F0SWxsCSAgICAgICAgZm9ydHJhbk9ic29sZXRlCiAgaGkhIGRlZiBsaW5rIGZvcnRyYW5JT1IJCWZvcnRyYW5PYnNvbGV0ZQogIGhpISBkZWYgbGluayBmb3J0cmFuS2V5d29yZFIJICAgICAgICBmb3J0cmFuT2Jzb2xldGUKICBoaSEgZGVmIGxpbmsgZm9ydHJhblN0cmluZ1IJICAgICAgICBmb3J0cmFuT2Jzb2xldGUKICBoaSEgZGVmIGxpbmsgZm9ydHJhbkNvbmRpdGlvbmFsUglmb3J0cmFuT2Jzb2xldGUKZWxzZQogIGhpISBkZWYgbGluayBmb3J0cmFuSW50cmluc2ljUglmb3J0cmFuSW50cmluc2ljCiAgaGkhIGRlZiBsaW5rIGZvcnRyYW5Vbml0SGVhZGVyUglmb3J0cmFuUHJlQ29uZGl0CiAgaGkhIGRlZiBsaW5rIGZvcnRyYW5UeXBlUgkJZm9ydHJhblR5cGUKICBoaSEgZGVmIGxpbmsgZm9ydHJhblN0b3JhZ2VDbGFzc1IJZm9ydHJhblN0b3JhZ2VDbGFzcwogIGhpISBkZWYgbGluayBmb3J0cmFuT3BlcmF0b3JSCSAgICAgICAgZm9ydHJhbk9wZXJhdG9yCiAgaGkhIGRlZiBsaW5rIGZvcnRyYW5JbmNsdWRlCSAgICAgICAgSW5jbHVkZQogIGhpISBkZWYgbGluayBmb3J0cmFuTGFiZWxOdW1iZXIJU3BlY2lhbAogIGhpISBkZWYgbGluayBmb3J0cmFuVGFyZ2V0CSAgICAgICAgU3BlY2lhbAogIGhpISBkZWYgbGluayBmb3J0cmFuRmxvYXRJbGwJICAgICAgICBmb3J0cmFuRmxvYXQKICBoaSEgZGVmIGxpbmsgZm9ydHJhbklPUgkJZm9ydHJhbklPCiAgaGkhIGRlZiBsaW5rIGZvcnRyYW5LZXl3b3JkUgkgICAgICAgIGZvcnRyYW5LZXl3b3JkCiAgaGkhIGRlZiBsaW5rIGZvcnRyYW5TdHJpbmdSCSAgICAgICAgZm9ydHJhblN0cmluZwogIGhpISBkZWYgbGluayBmb3J0cmFuQ29uZGl0aW9uYWxSCWZvcnRyYW5Db25kaXRpb25hbAplbmRpZgoKIiBDVURBCmhpIGRlZiBsaW5rIGZvcnRyYW5JbnRyaW5zaWNDVURBICAgICAgICBmb3J0cmFuSW50cmluc2ljCmhpIGRlZiBsaW5rIGZvcnRyYW5UeXBlQ1VEQSAgICAgICAgICAgICBmb3J0cmFuVHlwZQpoaSBkZWYgbGluayBmb3J0cmFuU3RyaW5nQ1VEQSAgICAgICAgICAgZm9ydHJhblN0cmluZwoKaGkgZGVmIGxpbmsgZm9ydHJhbkZvcm1hdFNwZWMJSWRlbnRpZmllcgpoaSBkZWYgbGluayBmb3J0cmFuRmxvYXQJRmxvYXQKaGkgZGVmIGxpbmsgZm9ydHJhblByZUNvbmRpdAlQcmVDb25kaXQKaGkgZGVmIGxpbmsgY0luY2x1ZGVkCQlmb3J0cmFuU3RyaW5nCmhpIGRlZiBsaW5rIGNJbmNsdWRlCQlJbmNsdWRlCmhpIGRlZiBsaW5rIGNQcmVQcm9jCQlQcmVQcm9jCmhpIGRlZiBsaW5rIGNQcmVDb25kaXQJCVByZUNvbmRpdApoaSBkZWYgbGluayBmb3J0cmFuT3Blbk1QICAgICAgIFByZVByb2MKaGkgZGVmIGxpbmsgZm9ydHJhblBhcmVuRXJyb3IJRXJyb3IKaGkgZGVmIGxpbmsgZm9ydHJhbkNvbW1lbnQJQ29tbWVudApoaSBkZWYgbGluayBmb3J0cmFuU2VyaWFsTnVtYmVyCVRvZG8KaGkgZGVmIGxpbmsgZm9ydHJhblRhYgkJRXJyb3IKCiIgVW5jb21tZW50IHRoZSBuZXh0IGxpbmUgaWYgeW91IHVzZSBleHRyYSBpbnRyaW5zaWNzIHByb3ZpZGVkIGJ5IHZlbmRvcnMKImhpIGRlZiBsaW5rIGZvcnRyYW5FeHRyYUludHJpbnNpYwlGdW5jdGlvbgoKbGV0IGI6Y3VycmVudF9zeW50YXggPSAiZm9ydHJhbiIKCmxldCAmY3BvID0gczpjcG9fc2F2ZQp1bmxldCBzOmNwb19zYXZlCiIgdmltOiB0cz04IHR3PTEzMgo=