ZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL2ZvbGQudHh0IGIvcnVudGltZS9kb2MvZm9sZC50eHQKaW5kZXggNWQ0NjVmNC4uNjA3MDRjNSAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvZm9sZC50eHQKKysrIGIvcnVudGltZS9kb2MvZm9sZC50eHQKQEAgLTEsNCArMSw0IEBACi0qZm9sZC50eHQqICAgICAgRm9yIFZpbSB2ZXJzaW9uIDcuMi4gIExhc3QgY2hhbmdlOiAyMDA5IERlYyAyMgorKmZvbGQudHh0KiAgICAgIEZvciBWaW0gdmVyc2lvbiA3LjIuICBMYXN0IGNoYW5nZTogMjAxMCBGZWIgMjEKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTI3NCw3ICsyNzQsNyBAQAogCQlBbHNvIHNlZSB8Zm9sZC1jcmVhdGUtbWFya2VyfC4KIAogCQkJCQkJCSp6RioKLXpGCQlDcmVhdGUgYSBmb2xkIGZvciBOIGxpbmVzLiAgV29ya3MgbGlrZSAiemYiLgorekYJCUNyZWF0ZSBhIGZvbGQgZm9yIFtjb3VudF0gbGluZXMuICBXb3JrcyBsaWtlICJ6ZiIuCiAKIDp7cmFuZ2V9Zm9bbGRdCQkJCQkJKjpmb2xkKiAqOmZvKgogCQlDcmVhdGUgYSBmb2xkIGZvciB0aGUgbGluZXMgaW4ge3JhbmdlfS4gIFdvcmtzIGxpa2UgInpmIi4KQEAgLTM5OSwyNCArMzk5LDI0IEBACiBbegkJTW92ZSB0byB0aGUgc3RhcnQgb2YgdGhlIGN1cnJlbnQgb3BlbiBmb2xkLiAgSWYgYWxyZWFkeSBhdCB0aGUKIAkJc3RhcnQsIG1vdmUgdG8gdGhlIHN0YXJ0IG9mIHRoZSBmb2xkIHRoYXQgY29udGFpbnMgaXQuICBJZgogCQl0aGVyZSBpcyBubyBjb250YWluaW5nIGZvbGQsIHRoZSBjb21tYW5kIGZhaWxzLgotCQlXaGVuIGEgY291bnQgaXMgdXNlZCwgcmVwZWF0cyB0aGUgY29tbWFuZCBOIHRpbWVzLgorCQlXaGVuIGEgY291bnQgaXMgdXNlZCwgcmVwZWF0cyB0aGUgY29tbWFuZCBbY291bnRdIHRpbWVzLgogCiAJCQkJCQkJKl16KgogXXoJCU1vdmUgdG8gdGhlIGVuZCBvZiB0aGUgY3VycmVudCBvcGVuIGZvbGQuICBJZiBhbHJlYWR5IGF0IHRoZQogCQllbmQsIG1vdmUgdG8gdGhlIGVuZCBvZiB0aGUgZm9sZCB0aGF0IGNvbnRhaW5zIGl0LiAgSWYgdGhlcmUKIAkJaXMgbm8gY29udGFpbmluZyBmb2xkLCB0aGUgY29tbWFuZCBmYWlscy4KLQkJV2hlbiBhIGNvdW50IGlzIHVzZWQsIHJlcGVhdHMgdGhlIGNvbW1hbmQgTiB0aW1lcy4KKwkJV2hlbiBhIGNvdW50IGlzIHVzZWQsIHJlcGVhdHMgdGhlIGNvbW1hbmQgW2NvdW50XSB0aW1lcy4KIAogCQkJCQkJCSp6aioKIHpqCQlNb3ZlIGRvd253YXJkcyB0byB0aGUgc3RhcnQgb2YgdGhlIG5leHQgZm9sZC4gIEEgY2xvc2VkIGZvbGQKIAkJaXMgY291bnRlZCBhcyBvbmUgZm9sZC4KLQkJV2hlbiBhIGNvdW50IGlzIHVzZWQsIHJlcGVhdHMgdGhlIGNvbW1hbmQgTiB0aW1lcy4KKwkJV2hlbiBhIGNvdW50IGlzIHVzZWQsIHJlcGVhdHMgdGhlIGNvbW1hbmQgW2NvdW50XSB0aW1lcy4KIAkJVGhpcyBjb21tYW5kIGNhbiBiZSB1c2VkIGFmdGVyIGFuIHxvcGVyYXRvcnwuCiAKIAkJCQkJCQkqemsqCiB6awkJTW92ZSB1cHdhcmRzIHRvIHRoZSBlbmQgb2YgdGhlIHByZXZpb3VzIGZvbGQuICBBIGNsb3NlZCBmb2xkCiAJCWlzIGNvdW50ZWQgYXMgb25lIGZvbGQuCi0JCVdoZW4gYSBjb3VudCBpcyB1c2VkLCByZXBlYXRzIHRoZSBjb21tYW5kIE4gdGltZXMuCisJCVdoZW4gYSBjb3VudCBpcyB1c2VkLCByZXBlYXRzIHRoZSBjb21tYW5kIFtjb3VudF0gdGltZXMuCiAJCVRoaXMgY29tbWFuZCBjYW4gYmUgdXNlZCBhZnRlciBhbiB8b3BlcmF0b3J8LgogCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL2lmX216c2NoLnR4dCBiL3J1bnRpbWUvZG9jL2lmX216c2NoLnR4dAppbmRleCA0ODRkMDlhLi4zZmUyMzVjIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9pZl9tenNjaC50eHQKKysrIGIvcnVudGltZS9kb2MvaWZfbXpzY2gudHh0CkBAIC0xLDQgKzEsNCBAQAotKmlmX216c2NoLnR4dCogIEZvciBWaW0gdmVyc2lvbiA3LjIuICBMYXN0IGNoYW5nZTogMjAxMCBKYW4gMTkKKyppZl9tenNjaC50eHQqICBGb3IgVmltIHZlcnNpb24gNy4yLiAgTGFzdCBjaGFuZ2U6IDIwMTAgRmViIDExCiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IFNlcmdleSBLaG9yZXYKQEAgLTE4NSw4ICsxODUsNyBAQAogCQkJCSAgICBjdXJyZW50IGJ1ZmZlciB3aWxsIGJlIHVzZWQuCiAgICAgKGdldC1idWZmLWxpbmUtbGlzdCB7c3RhcnR9IHtlbmR9IFtidWZmZXJdKQogCQkJCSAgICBHZXQgYSBsaXN0IG9mIGxpbmVzIGluIGEgYnVmZmVyLiB7U3RhcnR9Ci0JCQkJICAgIGFuZCB7ZW5kfSBhcmUgMS1iYXNlZC4ge1N0YXJ0fSBpcwotCQkJCSAgICBpbmNsdXNpdmUsIHtlbmR9IC0gZXhjbHVzaXZlLgorCQkJCSAgICBhbmQge2VuZH0gYXJlIDEtYmFzZWQgYW5kIGluY2x1c2l2ZS4KICAgICAoc2V0LWJ1ZmYtbGluZS1saXN0IHtzdGFydH0ge2VuZH0ge3N0cmluZy1saXN0fSBbYnVmZmVyXSkKIAkJCQkgICAgU2V0IGEgbGlzdCBvZiBsaW5lcyBpbiBhIGJ1ZmZlci4gSWYKIAkJCQkgICAgc3RyaW5nLWxpc3QgaXMgI2Ygb3IgbnVsbCwgdGhlIGxpbmVzIGdldApAQCAtMjAwLDggKzE5OSw4IEBACiAJCQkJICAgIEluc2VydCBhIGxpc3Qgb2YgbGluZXMgaW50byBhIGJ1ZmZlciBhZnRlcgogCQkJCSAgICB7bGluZW5yfS4gSWYge2xpbmVucn0gaXMgMCwgbGluZXMgd2lsbCBiZQogCQkJCSAgICBpbnNlcnRlZCBhdCBzdGFydC4KLSAgICAoY3Vyci1idWZmKQkJCSAgICBHZXQgdGhlIGN1cnJlbnQgYnVmZmVyLiBVc2UgcHJvY2VkdXJlcwotCQkJCSAgICBmcm9tICJ2aW1jbWQiIG1vZHVsZSB0byBjaGFuZ2UgaXQuCisgICAgKGN1cnItYnVmZikJCQkgICAgR2V0IHRoZSBjdXJyZW50IGJ1ZmZlci4gVXNlIG90aGVyIE16U2NoZW1lCisJCQkJICAgIGludGVyZmFjZSBwcm9jZWR1cmVzIHRvIGNoYW5nZSBpdC4KICAgICAoYnVmZi1jb3VudCkJCSAgICBHZXQgY291bnQgb2YgdG90YWwgYnVmZmVycyBpbiB0aGUgZWRpdG9yLgogICAgIChnZXQtbmV4dC1idWZmIFtidWZmZXJdKQkgICAgR2V0IG5leHQgYnVmZmVyLgogICAgIChnZXQtcHJldi1idWZmIFtidWZmZXJdKQkgICAgR2V0IHByZXZpb3VzIGJ1ZmZlci4gUmV0dXJuICNmIHdoZW4gdGhlcmUKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL21lc3NhZ2UudHh0IGIvcnVudGltZS9kb2MvbWVzc2FnZS50eHQKaW5kZXggMGFjMmU5OS4uYTY2ZTcyZiAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvbWVzc2FnZS50eHQKKysrIGIvcnVudGltZS9kb2MvbWVzc2FnZS50eHQKQEAgLTEsNCArMSw0IEBACi0qbWVzc2FnZS50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDcuMi4gIExhc3QgY2hhbmdlOiAyMDA5IE9jdCAyOAorKm1lc3NhZ2UudHh0KiAgIEZvciBWaW0gdmVyc2lvbiA3LjIuICBMYXN0IGNoYW5nZTogMjAxMCBGZWIgMTcKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTcyLDcgKzcyLDcgQEAKICAgSGFuZ3VsIGF1dG9tYXRhIEVSUk9SCiAgIGJsb2NrIHdhcyBub3QgbG9ja2VkCiAgIERpZG4ndCBnZXQgYmxvY2sgbnIge059PwotICBtbF90aW1lc3RhbXA6IERpZG4ndCBnZXQgYmxvY2sgMD8/CisgIG1sX3VwZF9ibG9jazAoKTogRGlkbid0IGdldCBibG9jayAwPz8KICAgcG9pbnRlciBibG9jayBpZCB3cm9uZyB7Tn0KICAgVXBkYXRlZCB0b28gbWFueSBibG9ja3M/CiAgIGdldF92YXJwIEVSUk9SCkBAIC0xMjgsNyArMTI4LDYgQEAKIGFyZSBhdmFpbGFibGUgb24gbW9zdCBzeXN0ZW1zLgogCiAJCQkJCQkJKkU0NTgqICA+Ci0gIENhbm5vdCBhbGxvY2F0ZSBjb2xvcm1hcCBlbnRyeSBmb3IgInh4eHgiCiAgIENhbm5vdCBhbGxvY2F0ZSBjb2xvcm1hcCBlbnRyeSwgc29tZSBjb2xvcnMgbWF5IGJlIGluY29ycmVjdAogCiBUaGlzIG1lYW5zIHRoYXQgdGhlcmUgYXJlIG5vdCBlbm91Z2ggY29sb3JzIGF2YWlsYWJsZSBmb3IgVmltLiAgSXQgd2lsbCBzdGlsbApAQCAtMTgwLDcgKzE3OSw3IEBACiBjYW4gb3ZlcndyaXRlLgogCiAJCQkJCQkJKkU0NiogID4KLSAgQ2Fubm90IHNldCByZWFkLW9ubHkgdmFyaWFibGUgIntuYW1lfSIKKyAgQ2Fubm90IGNoYW5nZSByZWFkLW9ubHkgdmFyaWFibGUgIntuYW1lfSIKIAogWW91IGFyZSB0cnlpbmcgdG8gYXNzaWduIGEgdmFsdWUgdG8gYW4gYXJndW1lbnQgb2YgYSBmdW5jdGlvbiB8YTp2YXJ8IG9yIGEgVmltCiBpbnRlcm5hbCB2YXJpYWJsZSB8djp2YXJ8IHdoaWNoIGlzIHJlYWQtb25seS4KQEAgLTI3OSw4ICsyNzgsOCBAQAogaW5jb21wbGV0ZS4KIAogCQkJCQkJCSpFMTMqICpFMTg5KiAgPgotICBGaWxlIGV4aXN0cyAodXNlICEgdG8gb3ZlcnJpZGUpCi0gICJ7ZmlsZW5hbWV9IiBleGlzdHMgKHVzZSAhIHRvIG92ZXJyaWRlKQorICBGaWxlIGV4aXN0cyAoYWRkICEgdG8gb3ZlcnJpZGUpCisgICJ7ZmlsZW5hbWV9IiBleGlzdHMgKGFkZCAhIHRvIG92ZXJyaWRlKQogCiBZb3UgYXJlIHByb3RlY3RlZCBmcm9tIGFjY2lkZW50YWxseSBvdmVyd3JpdGluZyBhIGZpbGUuICBXaGVuIHlvdSB3YW50IHRvCiB3cml0ZSBhbnl3YXksIHVzZSB0aGUgc2FtZSBjb21tYW5kLCBidXQgYWRkIGEgIiEiIGp1c3QgYWZ0ZXIgdGhlIGNvbW1hbmQuCkBAIC0zNDksNyArMzQ4LDcgQEAKICJmb28iIGFuZCAiYmFyIi4KIAogCQkJCQkJCSpFMzE1KiAgPgotICBtbF9nZXQ6IGludmFsaWQgbG51bToKKyAgbWxfZ2V0OiBpbnZhbGlkIGxudW06IHtudW1iZXJ9CiAKIFRoaXMgaXMgYW4gaW50ZXJuYWwgVmltIGVycm9yLiAgUGxlYXNlIHRyeSB0byBmaW5kIG91dCBob3cgaXQgY2FuIGJlCiByZXByb2R1Y2VkLCBhbmQgc3VibWl0IGEgYnVnIHJlcG9ydCB8YnVncmVwb3J0LnZpbXwuCkBAIC00MjAsOCArNDE5LDggQEAKICAgfDptYXAtPGJ1ZmZlcj58CiAKIAkJCQkJCQkqRTM3KiAqRTg5KiAgPgotICBObyB3cml0ZSBzaW5jZSBsYXN0IGNoYW5nZSAodXNlICEgdG8gb3ZlcnJpZGUpCi0gIE5vIHdyaXRlIHNpbmNlIGxhc3QgY2hhbmdlIGZvciBidWZmZXIge059ICh1c2UgISB0byBvdmVycmlkZSkKKyAgTm8gd3JpdGUgc2luY2UgbGFzdCBjaGFuZ2UgKGFkZCAhIHRvIG92ZXJyaWRlKQorICBObyB3cml0ZSBzaW5jZSBsYXN0IGNoYW5nZSBmb3IgYnVmZmVyIHtOfSAoYWRkICEgdG8gb3ZlcnJpZGUpCiAKIFlvdSBhcmUgdHJ5aW5nIHRvIHxhYmFuZG9ufCBhIGZpbGUgdGhhdCBoYXMgY2hhbmdlcy4gIFZpbSBwcm90ZWN0cyB5b3UgZnJvbQogbG9zaW5nIHlvdXIgd29yay4gIFlvdSBjYW4gZWl0aGVyIHdyaXRlIHRoZSBjaGFuZ2VkIGZpbGUgd2l0aCAiOnciLCBvciwgaWYgeW91CkBAIC00NzcsNyArNDc2LDcgQEAKIGxvbmdlciB0aGFuIGFib3V0IDY1MDAwIGNoYXJhY3RlcnMuICBUcnkgdXNpbmcgYSBzaG9ydGVyIHBhdHRlcm4uCiAKIAkJCQkJCQkqRTQ1KiAgPgotICAncmVhZG9ubHknIG9wdGlvbiBpcyBzZXQgKHVzZSAhIHRvIG92ZXJyaWRlKQorICAncmVhZG9ubHknIG9wdGlvbiBpcyBzZXQgKGFkZCAhIHRvIG92ZXJyaWRlKQogCiBZb3UgYXJlIHRyeWluZyB0byB3cml0ZSBhIGZpbGUgdGhhdCB3YXMgbWFya2VkIGFzIHJlYWQtb25seS4gIFRvIHdyaXRlIHRoZQogZmlsZSBhbnl3YXksIGVpdGhlciByZXNldCB0aGUgJ3JlYWRvbmx5JyBvcHRpb24sIG9yIGFkZCBhICchJyBjaGFyYWN0ZXIganVzdApAQCAtNjQxLDcgKzY0MCw3IEBACiBhdXRvbWF0aWNhbGx5IHJlbG9hZCB0aGUgZmlsZS4KIAogCQkJCQkJCSpFMjExKiAgPgotICBXYXJuaW5nOiBGaWxlICJ7ZmlsZW5hbWV9IiBubyBsb25nZXIgYXZhaWxhYmxlCisgIEZpbGUgIntmaWxlbmFtZX0iIG5vIGxvbmdlciBhdmFpbGFibGUKIAogVGhlIGZpbGUgd2hpY2ggeW91IGhhdmUgc3RhcnRlZCBlZGl0aW5nIGhhcyBkaXNhcHBlYXJlZCwgb3IgaXMgbm8gbG9uZ2VyCiBhY2Nlc3NpYmxlLiAgTWFrZSBzdXJlIHlvdSB3cml0ZSB0aGUgYnVmZmVyIHNvbWV3aGVyZSB0byBhdm9pZCBsb3NpbmcKQEAgLTY4OCw2ICs2ODcsNyBAQAogCiAJCQkJCQkJKkU0NzQqICpFNDc1KiAgPgogICBJbnZhbGlkIGFyZ3VtZW50CisgIEludmFsaWQgYXJndW1lbnQ6IHthcmd9CiAKIEFuIEV4IGNvbW1hbmQgaGFzIGJlZW4gZXhlY3V0ZWQsIGJ1dCBhbiBpbnZhbGlkIGFyZ3VtZW50IGhhcyBiZWVuIHNwZWNpZmllZC4KIApAQCAtNzE1LDggKzcxNSw4IEBACiBWaW0gY2Fubm90IGNyZWF0ZSBhIHRlbXBvcmFyeSBmaWxlLgogCiAJCQkJCQkJKkU0ODQqICpFNDg1KiAgPgotICBDYW4ndCBvcGVuIGZpbGUgJXMiCi0gIENhbid0IHJlYWQgZmlsZSAlcyIKKyAgQ2FuJ3Qgb3BlbiBmaWxlIHtmaWxlbmFtZX0KKyAgQ2FuJ3QgcmVhZCBmaWxlIHtmaWxlbmFtZX0KIAogVmltIGNhbm5vdCByZWFkIGEgdGVtcG9yYXJ5IGZpbGUuCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3RvZG8udHh0IGIvcnVudGltZS9kb2MvdG9kby50eHQKaW5kZXggMDU5MTdjNy4uYmUxODg3NCAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdG9kby50eHQKKysrIGIvcnVudGltZS9kb2MvdG9kby50eHQKQEAgLTEsNCArMSw0IEBACi0qdG9kby50eHQqICAgICAgRm9yIFZpbSB2ZXJzaW9uIDcuMi4gIExhc3QgY2hhbmdlOiAyMDEwIEZlYiAwOQorKnRvZG8udHh0KiAgICAgIEZvciBWaW0gdmVyc2lvbiA3LjIuICBMYXN0IGNoYW5nZTogMjAxMCBNYXIgMDIKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwJICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtMzAsMzAgKzMwLDIyIEBACiAJCQkJCQkJKmtub3duLWJ1Z3MqCiAtLS0tLS0tLS0tLS0tLS0tLS0tLSBLbm93biBidWdzIGFuZCBjdXJyZW50IHdvcmsgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAotUGF0Y2ggZm9yIGNyYXNoIGluIG5ldGJlYW5zIG9uIGpvaW4gY29tbWFuZC4gKFhhdmllciBkZSBHYXllLCAyMDEwIEZlYiA1KQorUGF0Y2ggZm9yIGFjY2VzcyB0byBmcmVlZCBtZW1vcnkuIChEb21pbmlxdWUgUGVsbGUsIDIwMTAgRmViIDI4KQogCi1QYXRjaCBmb3IgbXpzY2hlbWUgZG9jcy4gKFNlcmdleSBLaG9yZXYsIDIwMTAgSmFuIDI5KQorVXBkYXRlIHB5dGhvbmNvbXBsZXRlLiAoQWFyb24gR3JpZmZpbiwgMjAxMCBGZWIgMjUpCiAKLVBhdGNoIHRvIHN1cHBvcnQgbmV0YmVhbnMgaW4gVW5peCBjb25zb2xlIFZpbS4gKFhhdmllciBkZSBHYXllLCAyMDA5IEFwciAyNikKLU5vdyB3aXRoIE1lcmN1cmlhbCByZXBvc2l0b3J5ICgyMDEwIEphbiAyKQorUGF0Y2ggZm9yIFZpc3VhbCBTdHVkaW8gMjAxMC4gKEdlb3JnZSBSZWlsbHksIDIwMTAgRmViIDI2KQorVGVzdCA2OSBicmVha3MuCiAKLVdhcm5pbmdzIGZvciBQeXRob24gMi42LjQuIChEb21pbmlxdWUgUGVsbGUsIDIwMTAgSmFuIDMxKQorV2l0aCBjbWRsaW5lIHdpbmRvdyBvcGVuLCBjYW4gZHJhZyB0aGUgc3RhdHVzIGxpbmUgYWJvdmUgaXQsIGJ1dCBub3QgYW5vdGhlcgorb25lLiAoSmVhbiBKb2huZXIsIDIwMTAgRmViIDI3KQogCi1QYXRjaCBmb3IgYmV0dGVyIGZpeCBmb3IgV2luNjQuIChTZXJnZXkgS2hvcmV2LCAyMDEwIEZlYiA0KQorSSBvZnRlbiBzZWUgcGFzdGVkIHRleHQgKGZyb20gRmlyZWZveCwgdG8gVmltIGluIHh0ZXJtKSBhcHBlYXIgdHdpY2UuCitBbHNvLCBWaW0gaW4geHRlcm0gc29tZXRpbWVzIGxvc2VzIGNvcHkvcGFzdGUgYWJpbGl0eSAocHJvYmFibHkgYWZ0ZXIgcnVubmluZworYW4gZXh0ZXJuYWwgY29tbWFuZCkuCiAKLVBhdGNoIGZvciBlcnJvciBtZXNzYWdlcy4gKERvbWluaXF1ZSBQZWxsZSwgMjAxMCBGZWIgNSkKLVBhdGNoIGZvciB2aXN1YWwtb3BlcmF0b3JzIHRleHQgKERvbWluaXF1ZSBQZWxsZSwgMjAxMCBGZWIgNikKLQotUGF0Y2ggZm9yIFdpbjY0IE1pbmdXIHN0cnVjdCBzaXplLiAoQW5keSBLaXR0bmVyLCAyMDEwIEZlYiA3KQotCi1QYXRjaCBmb3IgUGVybCBpbnRlcmZhY2Ugd2l0aCBQZXJsIDUuMTAuIChTZXJnZXkgS2hvcmV2LCAyMDEwIEZlYiA1KQotCi1QYXRjaCBmb3IgeHhkIHRvIHN1cHBvcnQgIi1yIC1wIiBhcyBkb2N1bWVudGVkLiAoSmFtZXMgVmVnYSwgMjAxMCBGZWIgOCkKLQotV2luMzI6IHBhdGNoIGZvciBjcm9zcyBjb21waWxlIHh4ZCBhbmQgR3ZpbUV4dC4gKE1hcmt1cyBIZWlkZWxiZXJnLCAyMDA5IE1hcgotMTgpICBBbHNvIHVwZGF0ZSBJTlNUQUxMcGMudHh0PwotUGF0Y2ggZm9yIHh4ZC9NYWtlX2N5Zy5tYWsuIChDaHJpcyBTdXRjbGlmZmUsIDIwMDkgSnVuIDEwKSBJbmNsdWRlZCBpbiB0aGUKLWFib3ZlPworSW4gbmV0cncsIGNsaWNrIG9uIGxhc3Qgc3RhdHVzIGxpbmVzIGNhdXNlcyBuZXRydyB0byBvcGVuIHRoZSBsYXN0IGVudHJ5IGluCit0aGUgd2luZG93LiAoSmVhbiBKb2huZXIsIDIwMTAgRmViIDI2KQogCiBpY29udigpIGRvZXNuJ3QgZmFpbCBvbiBhbiBpbGxlZ2FsIGNoYXJhY3RlciwgYXMgZG9jdW1lbnRlZC4gKFlvbmd3ZWkgV3UsIDIwMDkKIE5vdiAxNSwgZXhhbXBsZSBOb3YgMjYpICBBZGQgYXJndW1lbnQgdG8gc3BlY2lmeSB3aGV0aGVyIGljb252KCkgc2hvdWxkIGZhaWwKQEAgLTYzLDE1ICs1NSwxOCBAQAogUmVxdWlyZXMgY29uZmlndXJlIGNoZWNrIGZvciBsb2NhbHRpbWUoKS4KIFVzZSBmb3JtYXQgeWVhci1tb250aC1kYXkgaHI6bWluOnNlYy4KIAorIjpzIiBzdW1tYXJ5IGluIDpmb2xkZG8gaXMgbm90IGNvcnJlY3QuIChKZWFuIEpvaG5lciwgMjAxMCBGZWIgMjApCisKIFNoZWxsIG5vdCByZWNvZ25pemVkIHByb3Blcmx5IGlmIGl0IGVuZHMgaW4gImNzaCAtZiIuIChKYW1lcyBWZWdhLCAyMDA5IE5vdiAzKQogRmluZCB0YWlsPyAgTWlnaHQgaGF2ZSBhIC8gaW4gYXJndW1lbnQuICBGaW5kIHNwYWNlPyAgTWlnaHQgaGF2ZSBzcGFjZSBpbgogcGF0aC4KIAorUGF0Y2ggdG8gc3VwcG9ydCBuZXRiZWFucyBpbiBVbml4IGNvbnNvbGUgVmltLiAoWGF2aWVyIGRlIEdheWUsIDIwMDkgQXByIDI2KQorTm93IHdpdGggTWVyY3VyaWFsIHJlcG9zaXRvcnkgKDIwMTAgSmFuIDIpCisKIENyYXNoIHdoZW4gYXNzaWduaW5nIHM6IHRvIHZhcmlhYmxlLCBwb2ludGVyIGJlY29tZXMgaW52YWxpZCBsYXRlci4KIChZdWtpaGlybyBOYWthZGFpcmEsIDIwMDkgT2N0IDEyLCBjb25maXJtZWQgYnkgRG9taW5pcXVlIFBlbGxlKQogCi1tbF9nZXQgZXJyb3Igd2hlbiB1c2luZyBTaVNVIHN5bnRheC4gKE5hdGhhbiBUaG9tYXMsIDIwMDkgT2N0IDI5KQotCiBDb3Zlcml0eTogYXNrIHNvbWVvbmUgdG8gY3JlYXRlIG5ldyB1c2VyOiBEb21pbmlxdWUuCiBsb29rIGludG8gcmVwb3J0ZWQgZGVmZWN0czogaHR0cDovL3NjYW4uY292ZXJpdHkuY29tL3J1bmcyLmh0bWwKIApAQCAtMTM5LDExICsxMzQsNiBAQAogTGlzdCBvZiBlbmNvZGluZyBhbGlhc2VzLiAoVGFrYW8gRnVqaXdhcmUsIDIwMDkgSnVsIDE4KQogQXJlIHRoZXkgYWxsIE9LPyAgVXBkYXRlIEp1bCAyMi4KIAotUGF0Y2ggZm9yIFJ1Ynkgc29ja2V0cy4gKHRvZGVza2luZy9Bcml5YSBNaXp1dGFuaSwgMjAwOCBKdWwgMSwyNCkKLUNvbmZpcm1lZCBieSBBbnRvbiBTaGFyb25vdiwgMjAwOCBEZWMgMjYuCi0KLVBhdGNoIGZvciBSdWJ5IDEuOS4gKE1zYWtpIFN1a2V0YSwgMjAwOSBKdWwgMjEsIEp1bCAyNikKLQogUGF0Y2ggZm9yIGNvbXBsZXRpb24gb2YgIjpmaW5kIiBhcmd1bWVudHMuIChOYXpyaSBSYW1saXksIDIwMDkgRmViIDIyLCAyNikKIDggICBGb3IgIjpmaW5kIiBhbmQgIjpzZmluZCIgZXhwYW5kIGZpbGVzIGZvdW5kIGluICdwYXRoJy4KIFVwZGF0ZSAyMDA5IE1hciAyOC4KQEAgLTExMzYsNiArMTEyNiw5IEBACiBSZW1lbWJlciB0aGUgcmVsYXRpdmUgcG9zaXRpb24gYW5kIHJlc3RvcmUgdGhhdCwganVzdCBsaWtlIGxudW0gYW5kIGNvbCBhcmUKIHJlc3RvcmVkLiAoTHVjIFN0LUxvdWlzKQogCitQYXRjaCBmb3IgYWRkaW5nICJKIiBmbGFnIHRvICdjaW5vcHRpb25zJzogcGxhY2VtZW50IG9mIGp1bXAgbGFiZWwuCisoTWFudWVsIEtvbmlnLCAyMDEwIEZlYiAxOSkgIFVwZGF0ZSBieSBMZWNoIExvcmVucywgRmViIDIyLgorCiAKIFZpbSA3LjM6CiAtICAgVXNlIGxhdGVzdCBhdXRvY29uZiAoMi42NSkKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3Vzcl8yMi50eHQgYi9ydW50aW1lL2RvYy91c3JfMjIudHh0CmluZGV4IDQ1YmQyZjQuLjc1MGY5MjMgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3Vzcl8yMi50eHQKKysrIGIvcnVudGltZS9kb2MvdXNyXzIyLnR4dApAQCAtMSw0ICsxLDQgQEAKLSp1c3JfMjIudHh0KglGb3IgVmltIHZlcnNpb24gNy4yLiAgTGFzdCBjaGFuZ2U6IDIwMDcgQXVnIDE0CisqdXNyXzIyLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMi4gIExhc3QgY2hhbmdlOiAyMDEwIEZlYiAyMQogCiAJCSAgICAgVklNIFVTRVIgTUFOVUFMIC0gYnkgQnJhbSBNb29sZW5hYXIKIApAQCAtNTQsNyArNTQsNyBAQAogICAgICouYyBmaWxlcywgZXRjKQogNS4gIEhvdyB0byBnZXQgaGVscCAodXNlIHRoZSA8RjE+IGtleSksIGFuZCBhbiBhYmJyZXZpYXRlZCBsaXN0aW5nCiAgICAgb2YgYXZhaWxhYmxlIGNvbW1hbmRzCi02LiAgQSBsaXN0aW5nIG9mIGZpbGVzLCBpbmNsdWRpbmcgIi4uLyIsIHdoaWNoIGFsbG93cyBvbmUgdG8gdG8gbGlzdAorNi4gIEEgbGlzdGluZyBvZiBmaWxlcywgaW5jbHVkaW5nICIuLi8iLCB3aGljaCBhbGxvd3Mgb25lIHRvIGxpc3QKICAgICB0aGUgcGFyZW50IGRpcmVjdG9yeS4KIAogSWYgeW91IGhhdmUgc3ludGF4IGhpZ2hsaWdodGluZyBlbmFibGVkLCB0aGUgZGlmZmVyZW50IHBhcnRzIGFyZSBoaWdobGlnaHRlZApkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdmlzdWFsLnR4dCBiL3J1bnRpbWUvZG9jL3Zpc3VhbC50eHQKaW5kZXggYzA0ZGI0YS4uNzM0OGVhOSAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdmlzdWFsLnR4dAorKysgYi9ydW50aW1lL2RvYy92aXN1YWwudHh0CkBAIC0xLDQgKzEsNCBAQAotKnZpc3VhbC50eHQqICAgIEZvciBWaW0gdmVyc2lvbiA3LjIuICBMYXN0IGNoYW5nZTogMjAwOSBPY3QgMTQKKyp2aXN1YWwudHh0KiAgICBGb3IgVmltIHZlcnNpb24gNy4yLiAgTGFzdCBjaGFuZ2U6IDIwMTAgRmViIDE3CiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC0yMTEsMTAgKzIxMSwxOCBAQAogCWliCWlubmVyICgpIGJsb2NrCQkJCQl8dl9pYnwKIAlhQglhIHt9IGJsb2NrICh3aXRoIGJyYWNlcykJCQl8dl9hQnwKIAlpQglpbm5lciB7fSBibG9jawkJCQkJfHZfaUJ8CisJYXQJYSA8dGFnPiA8L3RhZz4gYmxvY2sgKHdpdGggdGFncykJCXx2X2F0fAorCWl0CWlubmVyIDx0YWc+IDwvdGFnPiBibG9jawkJCXx2X2l0fAogCWE8CWEgPD4gYmxvY2sgKHdpdGggPD4pCQkJCXx2X2E8fAogCWk8CWlubmVyIDw+IGJsb2NrCQkJCQl8dl9pPHwKIAlhWwlhIFtdIGJsb2NrICh3aXRoIFtdKQkJCQl8dl9hW3wKIAlpWwlpbm5lciBbXSBibG9jawkJCQkJfHZfaVt8CisJYSIJYSBkb3VibGUgcXVvdGVkIHN0cmluZyAod2l0aCBxdW90ZXMpCQl8dl9hcXVvdGV8CisJaSIJaW5uZXIgZG91YmxlIHF1b3RlZCBzdHJpbmcJCQl8dl9pcXVvdGV8CisJYScJYSBzaW5nbGUgcXVvdGVkIHN0cmluZyAod2l0aCBxdW90ZXMpCQl8dl9hJ3wKKwlpJwlpbm5lciBzaW1wbGUgcXVvdGVkIHN0cmluZwkJCXx2X2knfAorCWFgCWEgc3RyaW5nIGluIGJhY2t0aWNrcyAod2l0aCBiYWNrdGlja3MpCQl8dl9hYHwKKwlpYAlpbm5lciBzdHJpbmcgaW4gYmFja3RpY2tzCQkJfHZfaWB8CiAKIEFkZGl0aW9uYWxseSB0aGUgZm9sbG93aW5nIGNvbW1hbmRzIGNhbiBiZSB1c2VkOgogCToJc3RhcnQgRXggY29tbWFuZCBmb3IgaGlnaGxpZ2h0ZWQgbGluZXMgKDEpCXx2Xzp8CmRpZmYgLS1naXQgYS9ydW50aW1lL2ZpbGV0eXBlLnZpbSBiL3J1bnRpbWUvZmlsZXR5cGUudmltCmluZGV4IDU2NjVjYzIuLjE0MGYwYzUgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZmlsZXR5cGUudmltCisrKyBiL3J1bnRpbWUvZmlsZXR5cGUudmltCkBAIC0xLDcgKzEsNyBAQAogIiBWaW0gc3VwcG9ydCBmaWxlIHRvIGRldGVjdCBmaWxlIHR5cGVzCiAiCiAiIE1haW50YWluZXI6CUJyYW0gTW9vbGVuYWFyIDxCcmFtQHZpbS5vcmc+Ci0iIExhc3QgQ2hhbmdlOgkyMDA5IERlYyAyNAorIiBMYXN0IENoYW5nZToJMjAxMCBGZWIgMjQKIAogIiBMaXN0ZW4gdmVyeSBjYXJlZnVsbHksIEkgd2lsbCBzYXkgdGhpcyBvbmx5IG9uY2UKIGlmIGV4aXN0cygiZGlkX2xvYWRfZmlsZXR5cGVzIikKQEAgLTUyOSw2ICs1MjksOSBAQAogIiBDb25maWd1cmUgZmlsZXMKIGF1IEJ1Zk5ld0ZpbGUsQnVmUmVhZCAqLmNmZwkJCXNldGYgY2ZnCiAKKyIgQ3VjdW1iZXIKK2F1IEJ1Zk5ld0ZpbGUsQnVmUmVhZCAqLmZlYXR1cmUgCQlzZXRmIGN1Y3VtYmVyCisKICIgQ29tbXVuaWNhdGluZyBTZXF1ZW50aWFsIFByb2Nlc3NlcwogYXUgQnVmTmV3RmlsZSxCdWZSZWFkICouY3NwLCouZmRyCQlzZXRmIGNzcAogCmRpZmYgLS1naXQgYS9ydW50aW1lL2Z0cGx1Z2luL2N1Y3VtYmVyLnZpbSBiL3J1bnRpbWUvZnRwbHVnaW4vY3VjdW1iZXIudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhlZjhjMjMKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL2Z0cGx1Z2luL2N1Y3VtYmVyLnZpbQpAQCAtMCwwICsxLDEzMSBAQAorIiBWaW0gZmlsZXR5cGUgcGx1Z2luCisiIExhbmd1YWdlOglDdWN1bWJlcgorIiBNYWludGFpbmVyOglUaW0gUG9wZSA8dmltTk9TUEFNQHRwb3BlLm9yZz4KKworIiBPbmx5IGRvIHRoaXMgd2hlbiBub3QgZG9uZSB5ZXQgZm9yIHRoaXMgYnVmZmVyCitpZiAoZXhpc3RzKCJiOmRpZF9mdHBsdWdpbiIpKQorICBmaW5pc2gKK2VuZGlmCitsZXQgYjpkaWRfZnRwbHVnaW4gPSAxCisKK3NldGxvY2FsIGZvcm1hdG9wdGlvbnMtPXQgZm9ybWF0b3B0aW9ucys9Y3JvcWwKK3NldGxvY2FsIGNvbW1lbnRzPTojIGNvbW1lbnRzdHJpbmc9I1wgJXMKK3NldGxvY2FsIG9tbmlmdW5jPUN1Y3VtYmVyQ29tcGxldGUKKworbGV0IGI6dW5kb19mdHBsdWdpbiA9ICJzZXRsIGZvPCBjb208IGNtczwgb2Z1PCIKKworbGV0IGI6Y3VjdW1iZXJfcm9vdCA9IGV4cGFuZCgnJTpwOmg6cz8uKltcL11cJShmZWF0dXJlc1x8c3Rvcmllc1wpXHpzW1wvXS4qPz8nKQorCitpZiAhZXhpc3RzKCJnOm5vX3BsdWdpbl9tYXBzIikgJiYgIWV4aXN0cygiZzpub19jdWN1bWJlcl9tYXBzIikKKyAgbm1hcCA8c2lsZW50PjxidWZmZXI+IDxDLV0+ICAgICAgIDo8Qy1VPmV4ZSA8U0lEPmp1bXAoJ2VkaXQnLHY6Y291bnQpPENSPgorICBubWFwIDxzaWxlbnQ+PGJ1ZmZlcj4gPEMtVz5dICAgICAgOjxDLVU+ZXhlIDxTSUQ+anVtcCgnc3BsaXQnLHY6Y291bnQpPENSPgorICBubWFwIDxzaWxlbnQ+PGJ1ZmZlcj4gPEMtVz48Qy1dPiAgOjxDLVU+ZXhlIDxTSUQ+anVtcCgnc3BsaXQnLHY6Y291bnQpPENSPgorICBubWFwIDxzaWxlbnQ+PGJ1ZmZlcj4gPEMtVz59ICAgICAgOjxDLVU+ZXhlIDxTSUQ+anVtcCgncGVkaXQnLHY6Y291bnQpPENSPgorICBsZXQgYjp1bmRvX2Z0cGx1Z2luIC49ICJ8IHNpbCEgaXVubWFwISA8Qy1dPnwgc2lsISBpdW5tYXAhIDxDLVc+XXwgc2lsISBpdW5tYXAhIDxDLVc+PEMtXT58IHNpbCEgaXVubWFwISA8Qy1XPn0iCitlbmRpZgorCitmdW5jdGlvbiEgczpqdW1wKGNvbW1hbmQsY291bnQpCisgIGxldCBzdGVwcyA9IHM6c3RlcHMoJy4nKQorICBpZiBsZW4oc3RlcHMpID09IDAgfHwgbGVuKHN0ZXBzKSA8IGE6Y291bnQKKyAgICByZXR1cm4gJ2VjaG9lcnIgIk5vIG1hdGNoaW5nIHN0ZXAgZm91bmQiJworICBlbHNlaWYgbGVuKHN0ZXBzKSA+IDEgJiYgIWE6Y291bnQKKyAgICByZXR1cm4gJ2VjaG9lcnIgIk11bHRpcGxlIG1hdGNoaW5nIHN0ZXBzIGZvdW5kIicKKyAgZWxzZQorICAgIGxldCBjID0gYTpjb3VudCA/IGE6Y291bnQtMSA6IDAKKyAgICByZXR1cm4gYTpjb21tYW5kLicgKycuc3RlcHNbY11bMV0uJyAnLmVzY2FwZShzdGVwc1tjXVswXSwnICUjJykKKyAgZW5kaWYKK2VuZGZ1bmN0aW9uCisKK2Z1bmN0aW9uISBzOmFsbHN0ZXBzKCkKKyAgbGV0IHN0ZXBfcGF0dGVybiA9ICdcQ15ccypcS1xrKlw+XHMqXHpzXFMuXHstXH1cemVccypcJShkb1x8e1wpXHMqXCUofFtefF0qfFxzKlwpXD1cJSgkXHwjXCknCisgIGxldCBzdGVwcyA9IFtdCisgIGZvciBmaWxlIGluIHNwbGl0KGdsb2IoYjpjdWN1bWJlcl9yb290LicvKiovKi5yYicpLCJcbiIpCisgICAgbGV0IGxpbmVzID0gcmVhZGZpbGUoZmlsZSkKKyAgICBsZXQgbnVtID0gMAorICAgIGZvciBsaW5lIGluIGxpbmVzCisgICAgICBsZXQgbnVtICs9IDEKKyAgICAgIGlmIGxpbmUgPX4gc3RlcF9wYXR0ZXJuCisgICAgICAgIGxldCB0eXBlID0gbWF0Y2hzdHIobGluZSwnXHdcKycpCisgICAgICAgIGxldCBzdGVwcyArPSBbW2ZpbGUsbnVtLHR5cGUsbWF0Y2hzdHIobGluZSxzdGVwX3BhdHRlcm4pXV0KKyAgICAgIGVuZGlmCisgICAgZW5kZm9yCisgIGVuZGZvcgorICByZXR1cm4gc3RlcHMKK2VuZGZ1bmN0aW9uCisKK2Z1bmN0aW9uISBzOnN0ZXBzKGxudW0pCisgIGxldCBjID0gaW5kZW50KGE6bG51bSkgKyAxCisgIHdoaWxlIHN5bklEYXR0cihzeW5JRChhOmxudW0sYywxKSwnbmFtZScpICF+IyAnXiRcfFJlZ2lvbiQnCisgICAgbGV0IGMgPSBjICsgMQorICBlbmR3aGlsZQorICBsZXQgc3RlcCA9IG1hdGNoc3RyKGdldGxpbmUoYTpsbnVtKVtjLTEgOiAtMV0sJ15ccypcenMuXHstXH1cemVccyokJykKKyAgcmV0dXJuIGZpbHRlcihzOmFsbHN0ZXBzKCksJ3M6c3RlcG1hdGNoKHY6dmFsWzNdLHN0ZXApJykKK2VuZGZ1bmN0aW9uCisKK2Z1bmN0aW9uISBzOnN0ZXBtYXRjaChyZWNlaXZlcix0YXJnZXQpCisgIGlmIGE6cmVjZWl2ZXIgPX4gJ15bJyciXS4qWycnIl0kJworICAgIGxldCBwYXR0ZXJuID0gJ14nLmVzY2FwZShzdWJzdGl0dXRlKGE6cmVjZWl2ZXJbMTotMl0sJyRcd1wrJywnKC4qKScsJ2cnKSwnLycpLickJworICBlbHNlaWYgYTpyZWNlaXZlciA9fiAnXi8uKi8kJworICAgIGxldCBwYXR0ZXJuID0gYTpyZWNlaXZlclsxOi0yXQorICBlbHNlaWYgYTpyZWNlaXZlciA9fiAnXiVyLi4qLiQnCisgICAgbGV0IHBhdHRlcm4gPSBlc2NhcGUoYTpyZWNlaXZlclszOi0yXSwnLycpCisgIGVsc2UKKyAgICByZXR1cm4gMAorICBlbmRpZgorICB0cnkKKyAgICBsZXQgdmltcGF0dGVybiA9IHN1YnN0aXR1dGUoc3Vic3RpdHV0ZShwYXR0ZXJuLCdcXFxAPCEoPzonLCclKCcsJ2cnKSwnXFxcQDwhXCo/Jywney19JywnZycpCisgICAgaWYgYTp0YXJnZXQgPX4jICdcdicudmltcGF0dGVybgorICAgICAgcmV0dXJuIDEKKyAgICBlbmRpZgorICBjYXRjaAorICBlbmR0cnkKKyAgaWYgaGFzKCJydWJ5IikKKyAgICBydWJ5IFZJTS5jb21tYW5kKCJyZXR1cm4gI3tpZiAoYmVnaW47IEtlcm5lbC5ldmFsKCcvJytWSU0uZXZhbHVhdGUoJ3BhdHRlcm4nKSsnLycpOyByZXNjdWUgU3ludGF4RXJyb3I7IGVuZCkgPT09IFZJTS5ldmFsdWF0ZSgnYTp0YXJnZXQnKSB0aGVuIDEgZWxzZSAwIGVuZH0iKQorICBlbHNlCisgICAgcmV0dXJuIDAKKyAgZW5kaWYKK2VuZGZ1bmN0aW9uCisKK2Z1bmN0aW9uISBzOmJzdWIodGFyZ2V0LHBhdHRlcm4scmVwbGFjZW1lbnQpCisgIHJldHVybiAgc3Vic3RpdHV0ZShhOnRhcmdldCwnXENcXFxAPCEnLmE6cGF0dGVybixhOnJlcGxhY2VtZW50LCdnJykKK2VuZGZ1bmN0aW9uCisKK2Z1bmN0aW9uISBDdWN1bWJlckNvbXBsZXRlKGZpbmRzdGFydCxiYXNlKSBhYm9ydAorICBsZXQgaW5kZW50ID0gaW5kZW50KCcuJykKKyAgbGV0IGdyb3VwID0gc3luSURhdHRyKHN5bklEKGxpbmUoJy4nKSxpbmRlbnQrMSwxKSwnbmFtZScpCisgIGxldCB0eXBlID0gbWF0Y2hzdHIoZ3JvdXAsJ1xDY3VjdW1iZXJcenNcJShHaXZlblx8V2hlblx8VGhlblwpJykKKyAgbGV0IGUgPSBtYXRjaGVuZChnZXRsaW5lKCcuJyksJ15ccypcU1wrXHMnKQorICBpZiB0eXBlID09ICcnIHx8IGNvbCgnLicpIDwgY29sKCckJykgfHwgZSA8IDAKKyAgICByZXR1cm4gLTEKKyAgZW5kaWYKKyAgaWYgYTpmaW5kc3RhcnQKKyAgICByZXR1cm4gZQorICBlbmRpZgorICBsZXQgc3RlcHMgPSBbXQorICBmb3Igc3RlcCBpbiBzOmFsbHN0ZXBzKCkKKyAgICBpZiBzdGVwWzJdID09IyB0eXBlCisgICAgICBpZiBzdGVwWzNdID1+ICdeWycnIl0nCisgICAgICAgIGxldCBzdGVwcyArPSBbc3RlcFszXVsxOi0yXV0KKyAgICAgIGVsc2VpZiBzdGVwWzNdID1+ICdeL1xeLipcJC8kJworICAgICAgICBsZXQgcGF0dGVybiA9IHN0ZXBbM11bMjotM10KKyAgICAgICAgbGV0IHBhdHRlcm4gPSBzdWJzdGl0dXRlKHBhdHRlcm4sJ1xDXig/OnxJICknLCdJICcsJycpCisgICAgICAgIGxldCBwYXR0ZXJuID0gczpic3ViKHBhdHRlcm4sJ1xcW1N3XScsJ3cnKQorICAgICAgICBsZXQgcGF0dGVybiA9IHM6YnN1YihwYXR0ZXJuLCdcXGQnLCcxJykKKyAgICAgICAgbGV0IHBhdHRlcm4gPSBzOmJzdWIocGF0dGVybiwnXFxbc1dEXScsJyAnKQorICAgICAgICBsZXQgcGF0dGVybiA9IHM6YnN1YihwYXR0ZXJuLCdcW1xeXFxcPSJcXScsJ18nKQorICAgICAgICBsZXQgcGF0dGVybiA9IHM6YnN1YihwYXR0ZXJuLCdbWzphbG51bTpdLiBfLV1bPypdP1w9JywnJykKKyAgICAgICAgbGV0IHBhdHRlcm4gPSBzOmJzdWIocGF0dGVybiwnXFtcKFteXl1cKS5cey1cfVxdJywnXDEnKQorICAgICAgICBsZXQgcGF0dGVybiA9IHM6YnN1YihwYXR0ZXJuLCcrP1w9JywnJykKKyAgICAgICAgbGV0IHBhdHRlcm4gPSBzOmJzdWIocGF0dGVybiwnKFwoW1s6YWxudW06XS4gLV1cey1cfVwpKScsJ1wxJykKKyAgICAgICAgbGV0IHBhdHRlcm4gPSBzOmJzdWIocGF0dGVybiwnXFxcKFtbOnB1bmN0Ol1dXCknLCdcMScpCisgICAgICAgIGlmIHBhdHRlcm4gIX4gJ1tcXCgpKj9dJworICAgICAgICAgIGxldCBzdGVwcyArPSBbcGF0dGVybl0KKyAgICAgICAgZW5kaWYKKyAgICAgIGVuZGlmCisgICAgZW5kaWYKKyAgZW5kZm9yCisgIGNhbGwgZmlsdGVyKHN0ZXBzLCdzdHJwYXJ0KHY6dmFsLDAsc3RybGVuKGE6YmFzZSkpID09IyBhOmJhc2UnKQorICByZXR1cm4gc29ydChzdGVwcykKK2VuZGZ1bmN0aW9uCisKKyIgdmltOnNldCBzdHM9MiBzdz0yOgpkaWZmIC0tZ2l0IGEvcnVudGltZS9pbmRlbnQvY3VjdW1iZXIudmltIGIvcnVudGltZS9pbmRlbnQvY3VjdW1iZXIudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhjYmJjMzkKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL2luZGVudC9jdWN1bWJlci52aW0KQEAgLTAsMCArMSw1OSBAQAorIiBWaW0gaW5kZW50IGZpbGUKKyIgTGFuZ3VhZ2U6CUN1Y3VtYmVyCisiIE1haW50YWluZXI6CVRpbSBQb3BlIDx2aW1OT1NQQU1AdHBvcGUub3JnPgorCitpZiBleGlzdHMoImI6ZGlkX2luZGVudCIpCisgIGZpbmlzaAorZW5kaWYKK2xldCBiOmRpZF9pbmRlbnQgPSAxCisKK3NldGxvY2FsIGF1dG9pbmRlbnQKK3NldGxvY2FsIGluZGVudGV4cHI9R2V0Q3VjdW1iZXJJbmRlbnQoKQorc2V0bG9jYWwgaW5kZW50a2V5cz1vLE8sKjxSZXR1cm4+LDw6PiwwPEJhcj4sMCMsPSwhXkYKKworIiBPbmx5IGRlZmluZSB0aGUgZnVuY3Rpb24gb25jZS4KK2lmIGV4aXN0cygiKkdldEN1Y3VtYmVySW5kZW50IikKKyAgZmluaXNoCitlbmRpZgorCitmdW5jdGlvbiEgczpzeW4obG51bSkKKyAgcmV0dXJuIHN5bklEYXR0cihzeW5JRChhOmxudW0sMStpbmRlbnQoYTpsbnVtKSwxKSwnbmFtZScpCitlbmRmdW5jdGlvbgorCitmdW5jdGlvbiEgR2V0Q3VjdW1iZXJJbmRlbnQoKQorICBsZXQgbGluZSAgPSBnZXRsaW5lKHByZXZub25ibGFuayh2OmxudW0tMSkpCisgIGxldCBjbGluZSA9IGdldGxpbmUodjpsbnVtKQorICBsZXQgc3luID0gczpzeW4ocHJldm5vbmJsYW5rKHY6bG51bS0xKSkKKyAgbGV0IGNzeW4gPSBzOnN5bih2OmxudW0pCisgIGlmIGNzeW4gPT0jICdjdWN1bWJlckZlYXR1cmUnIHx8IGNsaW5lID1+IyAnXlxzKkZlYXR1cmU6JworICAgIHJldHVybiAwCisgIGVsc2VpZiBjc3luID09IyAnY3VjdW1iZXJFeGFtcGxlcycgfHwgY2xpbmUgPX4jICdeXHMqXCUoRXhhbXBsZXNcfFNjZW5hcmlvc1wpOicKKyAgICByZXR1cm4gMiAqICZzdworICBlbHNlaWYgY3N5biA9fiMgJ15jdWN1bWJlclwlKEJhY2tncm91bmRcfFNjZW5hcmlvXHxTY2VuYXJpb091dGxpbmVcKSQnIHx8IGNsaW5lID1+IyAnXlxzKlwlKEJhY2tncm91bmRcfFNjZW5hcmlvXHxTY2VuYXJpbyBPdXRsaW5lXCk6JworICAgIHJldHVybiAmc3cKKyAgZWxzZWlmIHN5biA9PSMgJ2N1Y3VtYmVyRmVhdHVyZScgfHwgbGluZSA9fiMgJ15ccypGZWF0dXJlOicKKyAgICByZXR1cm4gJnN3CisgIGVsc2VpZiBzeW4gPT0jICdjdWN1bWJlckV4YW1wbGVzJyB8fCBsaW5lID1+IyAnXlxzKlwlKEV4YW1wbGVzXHxTY2VuYXJpb3NcKTonCisgICAgcmV0dXJuIDMgKiAmc3cKKyAgZWxzZWlmIHN5biA9fiMgJ15jdWN1bWJlclwlKEJhY2tncm91bmRcfFNjZW5hcmlvXHxTY2VuYXJpb091dGxpbmVcKSQnIHx8IGxpbmUgPX4jICdeXHMqXCUoQmFja2dyb3VuZFx8U2NlbmFyaW9cfFNjZW5hcmlvIE91dGxpbmVcKTonCisgICAgcmV0dXJuIDIgKiAmc3cKKyAgZWxzZWlmIGNsaW5lID1+IyAnXlxzKkAnICYmIChzOnN5bihuZXh0bm9uYmxhbmsodjpsbnVtKzEpKSA9PSAnY3VjdW1iZXJGZWF0dXJlJyB8fCBnZXRsaW5lKG5leHRub25ibGFuayh2OmxudW0rMSkpID1+IyAnXlxzKkZlYXR1cmU6JyB8fCBpbmRlbnQocHJldm5vbmJsYW5rKHY6bG51bS0xKSkgPD0gMCkKKyAgICByZXR1cm4gMAorICBlbHNlaWYgbGluZSA9fiMgJ15ccypAJworICAgIHJldHVybiAmc3cKKyAgZWxzZWlmIGNsaW5lID1+IyAnXlxzKnwnICYmIGxpbmUgPX4jICdeXHMqfCcKKyAgICByZXR1cm4gaW5kZW50KHByZXZub25ibGFuayh2OmxudW0tMSkpCisgIGVsc2VpZiBjbGluZSA9fiMgJ15ccyp8JyAmJiBsaW5lID1+IyAnXlxzKltefCNdJworICAgIHJldHVybiBpbmRlbnQocHJldm5vbmJsYW5rKHY6bG51bS0xKSkgKyAmc3cKKyAgZWxzZWlmIGNsaW5lID1+IyAnXlxzKltefCMgXHRdJyAmJiBsaW5lID1+IyAnXlxzKnwnCisgICAgcmV0dXJuIGluZGVudChwcmV2bm9uYmxhbmsodjpsbnVtLTEpKSAtICZzdworICBlbHNlaWYgY2xpbmUgPX4jICdeXHMqJCcgJiYgbGluZSA9fiMgJ15ccyp8JworICAgIGxldCBpbiA9IGluZGVudChwcmV2bm9uYmxhbmsodjpsbnVtLTEpKQorICAgIHJldHVybiBpbiA9PSBpbmRlbnQodjpsbnVtKSA/IGluIDogaW4gLSAmc3cKKyAgZWxzZWlmIGNsaW5lID1+IyAnXlxzKiMnICYmIGdldGxpbmUodjpsbnVtLTEpID1+ICdeXHMqJCcgJiYgZ2V0bGluZSh2OmxudW0rMSkgPX4jICdcUycKKyAgICByZXR1cm4gaW5kZW50KGdldGxpbmUodjpsbnVtKzEpKQorICBlbmRpZgorICByZXR1cm4gaW5kZW50KHByZXZub25ibGFuayh2OmxudW0tMSkpCitlbmRmdW5jdGlvbgorCisiIHZpbTpzZXQgc3RzPTIgc3c9MjoKZGlmZiAtLWdpdCBhL3J1bnRpbWUvbGFuZy9tZW51X2tvX2tyLmV1Y2tyLnZpbSBiL3J1bnRpbWUvbGFuZy9tZW51X2tvX2tyLmV1Y2tyLnZpbQppbmRleCA1ZTI4NTFlLi4xMTgwOWNmIDEwMDY0NAotLS0gYS9ydW50aW1lL2xhbmcvbWVudV9rb19rci5ldWNrci52aW0KKysrIGIvcnVudGltZS9sYW5nL21lbnVfa29fa3IuZXVja3IudmltCkBAIC0xLDYgKzEsNiBAQAogIiBNZW51IFRyYW5zbGF0aW9uczoJS29yZWFuCiAiIE1haW50YWluZXI6CQlTdW5nSHl1biBOYW0gPGdvd2VvbEBnbWFpbC5jb20+Ci0iIExhc3QgQ2hhbmdlOgkJMjAwOCBTZXAgMTcKKyIgTGFzdCBDaGFuZ2U6CQkyMDEwIEZlYiAxOAogCiAiIFF1aXQgd2hlbiBtZW51IHRyYW5zbGF0aW9ucyBoYXZlIGFscmVhZHkgYmVlbiBkb25lLgogaWYgZXhpc3RzKCJkaWRfbWVudV90cmFucyIpCkBAIC0xNCwxOSArMTQsMjEgQEAKIG1lbnV0cmFucyAmSGVscAkJCbW1v/K4uygmSCkKIG1lbnV0cmFucyAmT3ZlcnZpZXc8VGFiPjxGMT4JsLOw/CgmTyk8VGFiPjxGMT4KIG1lbnV0cmFucyAmVXNlclwgTWFudWFsCQm757/rwNpcILjFtLq+8ygmVSkKLW1lbnV0cmFucyAmSG93LXRvXCBsaW5rcwm+7sLux8+zqlwguPG3zygmSCkKLW1lbnV0cmFucyAmR1VJCQkJsbjAzCgmRykKK21lbnV0cmFucyAmSG93LXRvXCBsaW5rcwnHz7/sxfVcILjxt88oJkgpCittZW51dHJhbnMgJkdVSQkJCUdVSSgmRykKIG1lbnV0cmFucyAmRmluZFwuXC5cLgkJw6Ox4igmRilcLlwuXC4KIG1lbnV0cmFucyAmQ3JlZGl0cwkJsO24tr/uXCC60CgmQykKIG1lbnV0cmFucyBDbyZweWluZwkJwPrA27HHKCZwKQorbWVudXRyYW5zICZTcG9uc29yL1JlZ2lzdGVyCcjEv/gvte63zygmUykKIG1lbnV0cmFucyBPJnJwaGFucwkJsO2+xigmcikKLW1lbnV0cmFucyAmVmVyc2lvbgkJufbA/CgmVikKK21lbnV0cmFucyAmVmVyc2lvbgkJufbBrygmVikKIG1lbnV0cmFucyAmQWJvdXQJCcDMXCDHwbfOsde3pcC6KCZBKQogCiAiIEZpbGUgbWVudQogbWVudXRyYW5zICZGaWxlCQkJCcbEwM8oJkYpCiBtZW51dHJhbnMgJk9wZW5cLlwuXC48VGFiPjplCQm/rbHiKCZPKVwuXC5cLjxUYWI+OmUKIG1lbnV0cmFucyBTcCZsaXQtT3BlblwuXC5cLjxUYWI+OnNwCbOqtLK8rVwgv62x4igmbClcLlwuXC48VGFiPjpzcAorbWVudXRyYW5zIE9wZW5cIFRhYlwuXC5cLjxUYWI+OnRhYm5ldwnFx1wgv62x4lwuXC5cLjxUYWI+OnRhYm5ldwogbWVudXRyYW5zICZOZXc8VGFiPjplbmV3CQm79bfOv+4oJk4pPFRhYj46ZW5ldwogbWVudXRyYW5zICZDbG9zZTxUYWI+OmNsb3NlCQm03bHiKCZDKTxUYWI+OmNsb3NlCiBtZW51dHJhbnMgJlNhdmU8VGFiPjp3CQkJwPrA5SgmUyk8VGFiPjp3CkBAIC01Miw2ICs1NCw3IEBACiBtZW51dHJhbnMgJkZpbmRcLlwuXC4JCQnDo7HiKCZGKVwuXC5cLgogbWVudXRyYW5zIEZpbmRcIGFuZFwgUmVwJmxhY2VcLlwuXC4Jw6O+xrytXCC52bLZseIoJmwpXC5cLlwuCiBtZW51dHJhbnMgU2V0dGluZ3NcICZXaW5kb3cJCbyzwaRcIMOiKCZXKQorbWVudXRyYW5zIFN0YXJ0dXBcICZTZXR0aW5ncwkJvcPA21wgvLPBpCgmUykKIAogIiBFZGl0L0dsb2JhbCBTZXR0aW5ncwogbWVudXRyYW5zICZHbG9iYWxcIFNldHRpbmdzCQnA/L+qXCC8s8GkKCZHKQpAQCAtMTA0LDYgKzEwNywyMSBAQAogbWVudXRyYW5zIEp1bXBcICZiYWNrPFRhYj5eVAkJtdq3zlwgsKGx4igmYik8VGFiPl5UCiBtZW51dHJhbnMgQnVpbGRcICZUYWdzXCBGaWxlCQmyv7iux6VcIMbEwM9cILi4temx4igmVCkKIAorbWVudXRyYW5zICZTcGVsbGluZwkJCbjCw+O5/VwgsMu75ygmUykKK21lbnV0cmFucyAmU3BlbGxcIENoZWNrXCBPbgkJuMLD47n9XCCwy7vnXCC9w8DbKCZTKQorbWVudXRyYW5zIFNwZWxsXCBDaGVja1wgJk9mZgkJuMLD47n9XCCwy7vnXCCzoSgmTykKK21lbnV0cmFucyBUb1wgJk5leHRcIGVycm9yPFRhYj5dcwm02cC9XCC/obevt84oJk4pPFRhYj5dcworbWVudXRyYW5zIFRvXCAmUHJldmlvdXNcIGVycm9yPFRhYj5bcwnAzMD8XCC/obevt84oJlApPFRhYj5bcworbWVudXRyYW5zIFN1Z2dlc3RcICZDb3JyZWN0aW9uczxUYWI+ej0JvPbBpFwgwaa+yCgmQyk8VGFiPno9CittZW51dHJhbnMgJlJlcGVhdFwgY29ycmVjdGlvbjxUYWI+OnNwZWxscmVwYWxsCbz2waRcILndurkoJlIpPFRhYj46c3BlbGxyZXBhbGwKK21lbnV0cmFucyBTZXRcIGxhbmd1YWdlXCB0b1wgImVuIgm+8L7uuKZcICJlbiLAuLfOXCC8s8GkCittZW51dHJhbnMgU2V0XCBsYW5ndWFnZVwgdG9cICJlbl9hdSIJvvC+7rimXCAiZW5fYXUit85cILyzwaQKK21lbnV0cmFucyBTZXRcIGxhbmd1YWdlXCB0b1wgImVuX2NhIgm+8L7uuKZcICJlbl9jYSK3zlwgvLPBpAorbWVudXRyYW5zIFNldFwgbGFuZ3VhZ2VcIHRvXCAiZW5fZ2IiCb7wvu64plwgImVuX2diIrfOXCC8s8GkCittZW51dHJhbnMgU2V0XCBsYW5ndWFnZVwgdG9cICJlbl9ueiIJvvC+7rimXCAiZW5fbnoiwLi3zlwgvLPBpAorbWVudXRyYW5zIFNldFwgbGFuZ3VhZ2VcIHRvXCAiZW5fdXMiCb7wvu64plwgImVuX3VzIrfOXCC8s8GkCittZW51dHJhbnMgJkZpbmRcIE1vcmVcIExhbmd1YWdlcwm02bilXCC+8L7uXCDDo7HiKCZGKQorCiAiIFRvb2xzLkZvbGQgTWVudQogbWVudXRyYW5zICZGb2xkaW5nCQkJwaKx4igmRikKICIgb3BlbiBjbG9zZSBmb2xkcwpAQCAtMTM0LDcgKzE1Miw3IEBACiBtZW51dHJhbnMgJkdldFwgQmxvY2sJCQm67bewXCCwocGuv8Cx4igmRykKIG1lbnV0cmFucyAmUHV0XCBCbG9jawkJCbrtt7BcIMH9vu6z1rHiKCZQKQogCi1tZW51dHJhbnMgJk1ha2U8VGFiPjptYWtlCQlNYWtlKCZNKTxUYWI+Om1ha2UKK21lbnV0cmFucyAmTWFrZTxUYWI+Om1ha2UJCbr0teUoJk0pPFRhYj46bWFrZQogbWVudXRyYW5zICZMaXN0XCBFcnJvcnM8VGFiPjpjbAkJv6G3r1wguPG3z1wgurix4igmTCk8VGFiPjpjbAogbWVudXRyYW5zIEwmaXN0XCBNZXNzYWdlczxUYWI+OmNsIQm43r3DwfZcILjxt89cILq4seIoJmkpPFRhYj46Y2whCiBtZW51dHJhbnMgJk5leHRcIEVycm9yPFRhYj46Y24JCbTZwL1cIL+ht68oJk4pPFRhYj46Y24KQEAgLTE0NSw3ICsxNjMsNyBAQAogbWVudXRyYW5zICZVcGRhdGU8VGFiPjpjd2luCQmwu73FKCZVKTxUYWI+OmN3aW4KIG1lbnV0cmFucyAmT3BlbjxUYWI+OmNvcGVuCQm/rbHiKCZPKTxUYWI+OmNvcGVuCiBtZW51dHJhbnMgJkNsb3NlPFRhYj46Y2Nsb3NlCQm03bHiKCZDKTxUYWI+OmNjbG9zZQotbWVudXRyYW5zICZTZXRcIENvbXBpbGVyCQnExMbEwM+3r1wgvLPBpCgmUykKK21lbnV0cmFucyBTZSZUXCBDb21waWxlcgkJxMTGxMDPt69cILyzwaQoJlQpCiBtZW51dHJhbnMgJkNvbnZlcnRcIHRvXCBIRVg8VGFiPjolIW1jXCB2aW06eHhkCb3KwLDB+MC4t85cILqvyK88VGFiPjolIW1jXCB2aW06eHhkCiBtZW51dHJhbnMgJkNvbnZlcnRcIHRvXCBIRVg8VGFiPjolIXh4ZAm9ysCwwfjAuLfOXCC6r8ivKCZDKTxUYWI+OiUheHhkCiBtZW51dHJhbnMgQ29udmUmcnRcIGJhY2s8VGFiPjolIW1jXCB2aW06eHhkXCAtcgm/+LehtOu3zlwguq/Irygmcik8VGFiPjolIW1jXCB2aW06eHhkXCAtcgpkaWZmIC0tZ2l0IGEvcnVudGltZS9sYW5nL21lbnVfa29fa3IudXRmLTgudmltIGIvcnVudGltZS9sYW5nL21lbnVfa29fa3IudXRmLTgudmltCmluZGV4IGQwYjFjYzAuLmVmNDYxNzMgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvbGFuZy9tZW51X2tvX2tyLnV0Zi04LnZpbQorKysgYi9ydW50aW1lL2xhbmcvbWVudV9rb19rci51dGYtOC52aW0KQEAgLTEsNiArMSw2IEBACiAiIE1lbnUgVHJhbnNsYXRpb25zOglLb3JlYW4KICIgTWFpbnRhaW5lcjoJCVN1bmdIeXVuIE5hbSA8Z293ZW9sQGdtYWlsLmNvbT4KLSIgTGFzdCBDaGFuZ2U6CQkyMDA4IFNlcCAxNworIiBMYXN0IENoYW5nZToJCTIwMTAgRmViIDE4CiAKICIgUXVpdCB3aGVuIG1lbnUgdHJhbnNsYXRpb25zIGhhdmUgYWxyZWFkeSBiZWVuIGRvbmUuCiBpZiBleGlzdHMoImRpZF9tZW51X3RyYW5zIikKQEAgLTE0LDE5ICsxNCwyMSBAQAogbWVudXRyYW5zICZIZWxwCQkJ64+E7JuA66eQKCZIKQogbWVudXRyYW5zICZPdmVydmlldzxUYWI+PEYxPgnqsJzqtIAoJk8pPFRhYj48RjE+CiBtZW51dHJhbnMgJlVzZXJcIE1hbnVhbAkJ7IKs7Jqp7J6QXCDrp6TribTslrwoJlUpCi1tZW51dHJhbnMgJkhvdy10b1wgbGlua3MJ7Ja07LCM7ZWY64KYXCDrqqnroZ0oJkgpCi1tZW51dHJhbnMgJkdVSQkJCeq1rOydtCgmRykKK21lbnV0cmFucyAmSG93LXRvXCBsaW5rcwntlZjsmrDtiKxcIOuqqeuhnSgmSCkKK21lbnV0cmFucyAmR1VJCQkJR1VJKCZHKQogbWVudXRyYW5zICZGaW5kXC5cLlwuCQnssL7quLAoJkYpXC5cLlwuCiBtZW51dHJhbnMgJkNyZWRpdHMJCeqzoOuniOyatFwg67aEKCZDKQogbWVudXRyYW5zIENvJnB5aW5nCQnsoIDsnpHqtowoJnApCittZW51dHJhbnMgJlNwb25zb3IvUmVnaXN0ZXIJ7ZuE7JuQL+uTseuhnSgmUykKIG1lbnV0cmFucyBPJnJwaGFucwkJ6rOg7JWEKCZyKQotbWVudXRyYW5zICZWZXJzaW9uCQnrsoTsoIQoJlYpCittZW51dHJhbnMgJlZlcnNpb24JCeuyhOygvCgmVikKIG1lbnV0cmFucyAmQWJvdXQJCeydtFwg7ZSE66Gc6re4656o7J2AKCZBKQogCiAiIEZpbGUgbWVudQogbWVudXRyYW5zICZGaWxlCQkJCe2MjOydvCgmRikKIG1lbnV0cmFucyAmT3BlblwuXC5cLjxUYWI+OmUJCeyXtOq4sCgmTylcLlwuXC48VGFiPjplCiBtZW51dHJhbnMgU3AmbGl0LU9wZW5cLlwuXC48VGFiPjpzcAnrgpjriKDshJxcIOyXtOq4sCgmbClcLlwuXC48VGFiPjpzcAorbWVudXRyYW5zIE9wZW5cIFRhYlwuXC5cLjxUYWI+OnRhYm5ldwntg61cIOyXtOq4sFwuXC5cLjxUYWI+OnRhYm5ldwogbWVudXRyYW5zICZOZXc8VGFiPjplbmV3CQnsg4jroZzsmrQoJk4pPFRhYj46ZW5ldwogbWVudXRyYW5zICZDbG9zZTxUYWI+OmNsb3NlCQnri6vquLAoJkMpPFRhYj46Y2xvc2UKIG1lbnV0cmFucyAmU2F2ZTxUYWI+OncJCQnsoIDsnqUoJlMpPFRhYj46dwpAQCAtNTIsNiArNTQsNyBAQAogbWVudXRyYW5zICZGaW5kXC5cLlwuCQkJ7LC+6riwKCZGKVwuXC5cLgogbWVudXRyYW5zIEZpbmRcIGFuZFwgUmVwJmxhY2VcLlwuXC4J7LC+7JWE7IScXCDrsJTqvrjquLAoJmwpXC5cLlwuCiBtZW51dHJhbnMgU2V0dGluZ3NcICZXaW5kb3cJCeyEpOyglVwg7LC9KCZXKQorbWVudXRyYW5zIFN0YXJ0dXBcICZTZXR0aW5ncwkJ7Iuc7J6RXCDshKTsoJUoJlMpCiAKICIgRWRpdC9HbG9iYWwgU2V0dGluZ3MKIG1lbnV0cmFucyAmR2xvYmFsXCBTZXR0aW5ncwkJ7KCE7JetXCDshKTsoJUoJkcpCkBAIC0xMDQsNiArMTA3LDIxIEBACiBtZW51dHJhbnMgSnVtcFwgJmJhY2s8VGFiPl5UCQnrkqTroZxcIOqwgOq4sCgmYik8VGFiPl5UCiBtZW51dHJhbnMgQnVpbGRcICZUYWdzXCBGaWxlCQnqvKzrpqztkZxcIO2MjOydvFwg66eM65Ok6riwKCZUKQogCittZW51dHJhbnMgJlNwZWxsaW5nCQkJ66ee7Lak67KVXCDqsoDsgqwoJlMpCittZW51dHJhbnMgJlNwZWxsXCBDaGVja1wgT24JCeunnuy2pOuylVwg6rKA7IKsXCDsi5zsnpEoJlMpCittZW51dHJhbnMgU3BlbGxcIENoZWNrXCAmT2ZmCQnrp57stqTrspVcIOqygOyCrFwg64GdKCZPKQorbWVudXRyYW5zIFRvXCAmTmV4dFwgZXJyb3I8VGFiPl1zCeuLpOydjFwg7JeQ65+s66GcKCZOKTxUYWI+XXMKK21lbnV0cmFucyBUb1wgJlByZXZpb3VzXCBlcnJvcjxUYWI+W3MJ7J207KCEXCDsl5Drn6zroZwoJlApPFRhYj5bcworbWVudXRyYW5zIFN1Z2dlc3RcICZDb3JyZWN0aW9uczxUYWI+ej0J7IiY7KCVXCDsoJzslYgoJkMpPFRhYj56PQorbWVudXRyYW5zICZSZXBlYXRcIGNvcnJlY3Rpb248VGFiPjpzcGVsbHJlcGFsbAnsiJjsoJVcIOuwmOuztSgmUik8VGFiPjpzcGVsbHJlcGFsbAorbWVudXRyYW5zIFNldFwgbGFuZ3VhZ2VcIHRvXCAiZW4iCeyWuOyWtOulvFwgImVuIuycvOuhnFwg7ISk7KCVCittZW51dHJhbnMgU2V0XCBsYW5ndWFnZVwgdG9cICJlbl9hdSIJ7Ja47Ja066W8XCAiZW5fYXUi66GcXCDshKTsoJUKK21lbnV0cmFucyBTZXRcIGxhbmd1YWdlXCB0b1wgImVuX2NhIgnslrjslrTrpbxcICJlbl9jYSLroZxcIOyEpOyglQorbWVudXRyYW5zIFNldFwgbGFuZ3VhZ2VcIHRvXCAiZW5fZ2IiCeyWuOyWtOulvFwgImVuX2diIuuhnFwg7ISk7KCVCittZW51dHJhbnMgU2V0XCBsYW5ndWFnZVwgdG9cICJlbl9ueiIJ7Ja47Ja066W8XCAiZW5fbnoi7Jy866GcXCDshKTsoJUKK21lbnV0cmFucyBTZXRcIGxhbmd1YWdlXCB0b1wgImVuX3VzIgnslrjslrTrpbxcICJlbl91cyLroZxcIOyEpOyglQorbWVudXRyYW5zICZGaW5kXCBNb3JlXCBMYW5ndWFnZXMJ64uk66W4XCDslrjslrRcIOywvuq4sCgmRikKKwogIiBUb29scy5Gb2xkIE1lbnUKIG1lbnV0cmFucyAmRm9sZGluZwkJCeygkeq4sCgmRikKICIgb3BlbiBjbG9zZSBmb2xkcwpAQCAtMTM0LDcgKzE1Miw3IEBACiBtZW51dHJhbnMgJkdldFwgQmxvY2sJCQnruJTrn61cIOqwgOyguOyYpOq4sCgmRykKIG1lbnV0cmFucyAmUHV0XCBCbG9jawkJCeu4lOufrVwg7KeR7Ja064Sj6riwKCZQKQogCi1tZW51dHJhbnMgJk1ha2U8VGFiPjptYWtlCQlNYWtlKCZNKTxUYWI+Om1ha2UKK21lbnV0cmFucyAmTWFrZTxUYWI+Om1ha2UJCeu5jOuTnCgmTSk8VGFiPjptYWtlCiBtZW51dHJhbnMgJkxpc3RcIEVycm9yczxUYWI+OmNsCQnsl5Drn6xcIOuqqeuhnVwg67O06riwKCZMKTxUYWI+OmNsCiBtZW51dHJhbnMgTCZpc3RcIE1lc3NhZ2VzPFRhYj46Y2whCeuplOyLnOyngFwg66qp66GdXCDrs7TquLAoJmkpPFRhYj46Y2whCiBtZW51dHJhbnMgJk5leHRcIEVycm9yPFRhYj46Y24JCeuLpOydjFwg7JeQ65+sKCZOKTxUYWI+OmNuCkBAIC0xNDUsNyArMTYzLDcgQEAKIG1lbnV0cmFucyAmVXBkYXRlPFRhYj46Y3dpbgkJ6rCx7IugKCZVKTxUYWI+OmN3aW4KIG1lbnV0cmFucyAmT3BlbjxUYWI+OmNvcGVuCQnsl7TquLAoJk8pPFRhYj46Y29wZW4KIG1lbnV0cmFucyAmQ2xvc2U8VGFiPjpjY2xvc2UJCeuLq+q4sCgmQyk8VGFiPjpjY2xvc2UKLW1lbnV0cmFucyAmU2V0XCBDb21waWxlcgkJ7Lu07YyM7J2865+sXCDshKTsoJUoJlMpCittZW51dHJhbnMgU2UmVFwgQ29tcGlsZXIJCey7tO2MjOydvOufrFwg7ISk7KCVKCZUKQogbWVudXRyYW5zICZDb252ZXJ0XCB0b1wgSEVYPFRhYj46JSFtY1wgdmltOnh4ZAnsi63snKHsp4TsnLzroZxcIOuzgO2ZmDxUYWI+OiUhbWNcIHZpbTp4eGQKIG1lbnV0cmFucyAmQ29udmVydFwgdG9cIEhFWDxUYWI+OiUheHhkCeyLreycoeynhOycvOuhnFwg67OA7ZmYKCZDKTxUYWI+OiUheHhkCiBtZW51dHJhbnMgQ29udmUmcnRcIGJhY2s8VGFiPjolIW1jXCB2aW06eHhkXCAtcgnsm5DrnpjrjIDroZxcIOuzgO2ZmCgmcik8VGFiPjolIW1jXCB2aW06eHhkXCAtcgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvY2YudmltIGIvcnVudGltZS9zeW50YXgvY2YudmltCmluZGV4IGJkYTI0ZDcuLjYzZDk3NmQgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2NmLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9jZi52aW0KQEAgLTEsMzIxICsxLDQ0MCBAQAogIiBWaW0gc3ludGF4IGZpbGUKLSIgICAgTGFuZ3VhZ2U6IENvbGRGdXNpb24KLSIgIE1haW50YWluZXI6IFRvYnkgV29vZHdhcmsgKHRvYnkud29vZHdhcmsrdmltQGdtYWlsLmNvbSkKLSIgTGFzdCBDaGFuZ2U6IDIwMDcgTm92IDE5Ci0iICAgRmlsZW5hbWVzOiAqLmNmYyAqLmNmbQotIiAgICAgVmVyc2lvbjogTWFjcm9tZWRpYSBDb2xkRnVzaW9uIE1YIDcKLSIgICAgICAgVXNhZ2U6IE5vdGUgdGhhdCBDb2xkRnVzaW9uIGhhcyBpdHMgb3duIGNvbW1lbnQgc3ludGF4Ci0iICAgICAgICAgICAgICBpLmUuIDwhLS0tIC0tLT4KKyIgTGFuZ3VhZ2U6CUNGTUwKKyIgTWFpbnRhaW5lcjoJVG9ieSBXb29kd2FyayAodG9ieS53b29kd2Fyayt2aW1AZ21haWwuY29tKQorIiBMYXN0IENoYW5nZToJMjAxMC0wMy0wMgorIiBGaWxlbmFtZXM6CSouY2ZjICouY2ZtCisiIFZlcnNpb246CUFkb2JlIENvbGRGdXNpb24gOQorIiBVc2FnZToJVGhpcyBmaWxlIGNvbnRhaW5zIGJvdGggc3ludGF4IGRlZmluaXRpb25zCisiIAkJYW5kIGEgbGlzdCBvZiBrbm93biBidWlsdGluIHRhZ3MsIGZ1bmN0aW9ucyBhbmQga2V5d29yZHMuCisiIAkJUmVmcyAtIAorIiBodHRwOi8vaGVscC5hZG9iZS5jb20vZW5fVVMvQ29sZEZ1c2lvbi85LjAvRGV2ZWxvcGluZy9XUzhmMGNjNzgwMTFmZmZhNzE4NjY1MzRkMTFjZGFkOTZlNGUtODAwMC5odG1sCisiIGh0dHA6Ly9oZWxwLmFkb2JlLmNvbS9lbl9VUy9Db2xkRnVzaW9uLzkuMC9DRk1MUmVmL1dTYzNmZjZkMGVhNzc4NTk0NjExNzJlMDgxMWNiZWMxNzMyNC04MDAwLmh0bWwKKyIgVE9ETzogCisiIAkJU3VwcG9ydCB0aGUgbGltaXRlZCBhcnJheSBsaXRlcmFsIGFuZCBzdHJ1Y3QgbGl0ZXJhbCBzeW50YXggaW4gQ0Y4Ky4KKyIgCQlIaWdobGlnaHQgbmFtZXNwYWNlZCB0YWdzIGZvbSBjZmltcG9ydC4KKyIgCQlDb21wbGV0ZSBDRjkrIGNmc2NyaXB0IHN1cHBvcnQuCisiIAkJUmFpbG8gc3VwcG9ydC4KKyIgT3B0aW9uczoKKyIJZF9ub2luY2x1ZGVfaHRtbCAtIHNldCB0byBwcmV2ZW50IEhUTUwgaGlnaGxpZ2h0aW5nLglVc2UgdGhpcyBpZiB5b3UgYXJlIG5vdCB3b3JraW5nIG9uIEhUTUwuCiAKLSIgRm9yIHZlcnNpb24gNS54LCBjbGVhciBhbGwgc3ludGF4IGl0ZW1zLgotIiBGb3IgdmVyc2lvbiA2LngrLCBxdWl0IGlmIGEgc3ludGF4IGZpbGUgaXMgYWxyZWFkeSBsb2FkZWQuCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIFF1aXQgaWYgYSBzeW50YXggZmlsZSBpcyBhbHJlYWR5IGxvYWRlZC4KK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIAotIiBVc2UgYWxsIHRoZSBzdHVmZiBmcm9tIHRoZSBIVE1MIHN5bnRheCBmaWxlLgotIiBUT0RPIHJlbW92ZSB0aGlzOyBDRk1MIGlzIG5vdCBhIHN1cGVyc2V0IG9mIEhUTUwKLWlmIHZlcnNpb24gPCA2MDAKLSAgc291cmNlIDxzZmlsZT46cDpoL2h0bWwudmltCitpZiBleGlzdHMoImRfbm9pbmNsdWRlX2h0bWwiKQorICAiIERlZmluZSBhbHRlcm5hdGl2ZXMgdG8gdGhlIEhUTUwgc3ludGF4IGZpbGUuCisKKyAgIiBDb3BpZWQgZnJvbSBodG1sLnZpbSAtIHRoZSBydWxlcyBmb3IgbWF0Y2hpbmcgYSBDRiB0YWcgbWF0Y2gJdGhvc2UgZm9yIEhUTUwvU0dNTC4KKyAgIiBDRk1MIHN5bnRheCBpcyBtb3JlIHBlcm1pc3NpdmUgd2hlbiBpdCBjb21lcyB0byBzdXBlcmZsdW91cyA8PiBjaGFycy4KKyAgc3luIHJlZ2lvbglodG1sU3RyaW5nCWNvbnRhaW5lZCBzdGFydD0rIisgZW5kPSsiKyBjb250YWlucz1AaHRtbFByZXByb2MKKyAgc3luIHJlZ2lvbglodG1sU3RyaW5nCWNvbnRhaW5lZCBzdGFydD0rJysgZW5kPSsnKyBjb250YWlucz1AaHRtbFByZXByb2MKKyAgc3luIG1hdGNoCWh0bWxWYWx1ZQljb250YWluZWQgIj1bXHQgXSpbXiciIFx0Pl1bXiBcdD5dKiJocz1zKzEJY29udGFpbnM9QGh0bWxQcmVwcm9jCisgICIgSGFja2VkIGh0bWxUYWcgc28gdGhhdCBpdCBvbmx5IG1hdGNoZXMgY2YgdGFncyBhbmQgbm90IHJhbmRvbSA8PiBjaGFycy4KKyAgc3luIHJlZ2lvbglodG1sRW5kVGFnCXN0YXJ0PSs8L2NmKwllbmQ9Kz4rIGNvbnRhaW5zPWh0bWxUYWdOLGh0bWxUYWdFcnJvcgorICBzeW4gcmVnaW9uCWh0bWxUYWcJCXN0YXJ0PSs8XHMqY2ZbXi9dKwllbmQ9Kz4rIGNvbnRhaW5zPWh0bWxUYWdOLGh0bWxTdHJpbmcsaHRtbEFyZyxodG1sVmFsdWUsaHRtbFRhZ0Vycm9yLEBodG1sUHJlcHJvYyxAaHRtbEFyZ0NsdXN0ZXIKKyAgc3luIG1hdGNoCWh0bWxUYWdOCWNvbnRhaW5lZCArPFxzKlstYS16QS1aMC05XVwrK2hzPXMrMSBjb250YWlucz1odG1sVGFnTmFtZSxAaHRtbFRhZ05hbWVDbHVzdGVyCisgIHN5biBtYXRjaAlodG1sVGFnTgljb250YWluZWQgKzwvXHMqWy1hLXpBLVowLTldXCsraHM9cysyIGNvbnRhaW5zPWh0bWxUYWdOYW1lLEBodG1sVGFnTmFtZUNsdXN0ZXIKKyAgc3luIG1hdGNoCWh0bWxUYWdFcnJvcgljb250YWluZWQgIltePl08Im1zPXMrMQogZWxzZQorICAiIFVzZSBhbGwgdGhlIHN0dWZmIGZyb20gdGhlIEhUTUwgc3ludGF4IGZpbGUuCisgICIgVGhpcyBtZWFucyBlZyBIVE1MIGNvbW1lbnRzIGFyZSBoaWdobGlnaHRlZCBhcyBjb21tZW50cywgZXZlbiBpZiB0aGV5IGluY2x1ZGUgY2YgdGFncy4KICAgcnVudGltZSEgc3ludGF4L2h0bWwudmltCiBlbmRpZgogCi1zeW4gc3luYyBmcm9tc3RhcnQKLXN5biBzeW5jIG1heGxpbmVzPTIwMAotc3luIGNhc2UgaWdub3JlCitzeW4gc3luYwlmcm9tc3RhcnQKK3N5biBzeW5jCW1heGxpbmVzPTIwMAorc3luIGNhc2UJaWdub3JlCiAKICIgU2NvcGVzIGFuZCBrZXl3b3Jkcy4KLXN5biBrZXl3b3JkIGNmU2NvcGUgY29udGFpbmVkIGNnaSBjZmZpbGUgY29va2llIHJlcXVlc3QgY2FsbGVyIHRoaXMgdGhpc3RhZwotc3luIGtleXdvcmQgY2ZTY29wZSBjb250YWluZWQgY2ZjYXRjaCB2YXJpYWJsZXMgYXBwbGljYXRpb24gc2VydmVyIHNlc3Npb24gY2xpZW50IGZvcm0gdXJsIGF0dHJpYnV0ZXMKLXN5biBrZXl3b3JkIGNmU2NvcGUgY29udGFpbmVkIGFyZ3VtZW50cwotc3luIGtleXdvcmQgY2ZCb29sIGNvbnRhaW5lZCB5ZXMgbm8gdHJ1ZSBmYWxzZQorc3luIGtleXdvcmQJY2ZTY29wZQkJY29udGFpbmVkIGNnaSBjZmZpbGUgY29va2llIHJlcXVlc3QgY2FsbGVyIHRoaXMgdGhpc3RhZworc3luIGtleXdvcmQJY2ZTY29wZQkJY29udGFpbmVkIGNmY2F0Y2ggdmFyaWFibGVzIGFwcGxpY2F0aW9uIHNlcnZlciBzZXNzaW9uIGNsaWVudCBmb3JtIHVybCBsb2NhbAorc3luIGtleXdvcmQJY2ZTY29wZQkJY29udGFpbmVkIGFyZ3VtZW50cyBzdXBlciBjZmh0dHAgYXR0cmlidXRlcyBlcnJvcgorc3luIGtleXdvcmQJY2ZCb29sCQljb250YWluZWQgeWVzIG5vIHRydWUgZmFsc2UKIAogIiBPcGVyYXRvciBzdHJpbmdzLgotc3luIGtleXdvcmQgY2ZPcGVyYXRvciBjb250YWluZWQgeG9yIGVxdiBhbmQgb3IgbHQgbGUgbHRlIGd0IGdlIGd0ZSBlcXVhbCBlcSBuZXEgbm90IGlzIG1vZCBjb250YWlucwotc3luIG1hdGNoIGNmT3BlcmF0b3JNYXRjaCBjb250YWluZWQgIlw8ZG9lc1xfc1wrbm90XF9zXCtjb250YWluXD4iCi1zeW4gbWF0Y2ggY2ZPcGVyYXRvck1hdGNoIGNvbnRhaW5lZCAiXDxcKGdyZWF0ZXJcfGxlc3NcKVxfc1wrdGhhblwoXF9zXCtvclxfc1wrZXF1YWxcX3NcK3RvXClcP1w+Igotc3luIG1hdGNoIGNmT3BlcmF0b3JNYXRjaCBjb250YWluZWQgIltcK1wtXCpcL1xcXF5cJl1bXCtcLVwqXC9cXFxeXCZdXEAhIgotc3luIGNsdXN0ZXIgY2ZPcGVyYXRvckNsdXN0ZXIgY29udGFpbnM9Y2ZPcGVyYXRvcixjZk9wZXJhdG9yTWF0Y2gKKyIgQ29sZEZ1c2lvbiA8PTc6CitzeW4ga2V5d29yZAljZk9wZXJhdG9yCQljb250YWluZWQgeG9yIGVxdiBhbmQgb3IgbHQgbGUgbHRlIGd0IGdlIGd0ZSBlcXVhbCBlcSBuZXEgbm90IGlzIG1vZCBjb250YWlucworc3luIG1hdGNoCWNmT3BlcmF0b3JNYXRjaAkJY29udGFpbmVkICIrIiAKK3N5biBtYXRjaAljZk9wZXJhdG9yTWF0Y2gJCWNvbnRhaW5lZCAiXC0iCitzeW4gbWF0Y2gJY2ZPcGVyYXRvck1hdGNoCQljb250YWluZWQgIltcKlwvXFxcXlwmXVtcK1wtXCpcL1xcXF5cJl1cQCEiCitzeW4gbWF0Y2gJY2ZPcGVyYXRvck1hdGNoCQljb250YWluZWQgIlw8XChub3RcX3NcK1wpXD9lcXVhbFw+Igorc3luIG1hdGNoCWNmT3BlcmF0b3JNYXRjaAkJY29udGFpbmVkICJcPGRvZXNcX3NcK25vdFxfc1wrY29udGFpblw+Igorc3luIG1hdGNoCWNmT3BlcmF0b3JNYXRjaAkJY29udGFpbmVkICJcPFwoZ3JlYXRlclx8bGVzc1wpXF9zXCt0aGFuXChcX3NcK29yXF9zXCtlcXVhbFxfc1wrdG9cKVw/XD4iCisiIENvbGRGdXNpb24gODoKK3N5biBrZXl3b3JkCWNmT3BlcmF0b3IJCWNvbnRhaW5lZCBpbXAKK3N5biBtYXRjaAljZk9wZXJhdG9yTWF0Y2gJCWNvbnRhaW5lZCAiWz8lOiFdIgorc3luIG1hdGNoCWNmT3BlcmF0b3JNYXRjaAkJY29udGFpbmVkICJbXCtcLVwqXC9cJl09IiAKK3N5biBtYXRjaAljZk9wZXJhdG9yTWF0Y2gJCWNvbnRhaW5lZCAiKysiCitzeW4gbWF0Y2gJY2ZPcGVyYXRvck1hdGNoCQljb250YWluZWQgIi0tIgorc3luIG1hdGNoCWNmT3BlcmF0b3JNYXRjaAkgCWNvbnRhaW5lZCAiJiYiCitzeW4gbWF0Y2gJY2ZPcGVyYXRvck1hdGNoCSAJY29udGFpbmVkICJ8fCIKKworc3luIGNsdXN0ZXIJY2ZPcGVyYXRvckNsdXN0ZXIJY29udGFpbnM9Y2ZPcGVyYXRvcixjZk9wZXJhdG9yTWF0Y2gKKworIiBDdXN0b20gdGFncyBjYWxsZWQgd2l0aCB0aGUgPGNmX3h4eD4gc3ludGF4Lgorc3luIG1hdGNoCWNmQ3VzdG9tVGFnTmFtZQkJY29udGFpbmVkICJcPGNmX1thLXpBLVowLTlfXVwrXD4iCisiIChUT0RPIG1hdGNoCW5hbWVzcGFjZWQgdGFncyBpbXBvcnRlZCB1c2luZyBjZmltcG9ydCwgc2ltaWxhcmx5LikKIAogIiBUYWcgbmFtZXMuCi1zeW4ga2V5d29yZCBjZlRhZ05hbWUgY29udGFpbmVkIGNmYWJvcnQgY2ZhcHBsZXQgY2ZhcHBsaWNhdGlvbiBjZmFyZ3VtZW50IGNmYXNzb2NpYXRlCi1zeW4ga2V5d29yZCBjZlRhZ05hbWUgY29udGFpbmVkIGNmYnJlYWsgY2ZjYWNoZSBjZmNhbGVuZGFyIGNmY2FzZSBjZmNhdGNoCi1zeW4ga2V5d29yZCBjZlRhZ05hbWUgY29udGFpbmVkIGNmY2hhcnQgY2ZjaGFydGRhdGEgY2ZjaGFydHNlcmllcyBjZmNvbCBjZmNvbGxlY3Rpb24KLXN5biBrZXl3b3JkIGNmVGFnTmFtZSBjb250YWluZWQgY2Zjb21wb25lbnQgY2Zjb250ZW50IGNmY29va2llIGNmZGVmYXVsdGNhc2UgY2ZkaXJlY3RvcnkKLXN5biBrZXl3b3JkIGNmVGFnTmFtZSBjb250YWluZWQgY2Zkb2N1bWVudCBjZmRvY3VtZW50aXRlbSBjZmRvY3VtZW50c2VjdGlvbiBjZmR1bXAgY2ZlbHNlCi1zeW4ga2V5d29yZCBjZlRhZ05hbWUgY29udGFpbmVkIGNmZWxzZWlmIGNmZXJyb3IgY2ZleGVjdXRlIGNmZXhpdCBjZmZpbGUgY2ZmbHVzaCBjZmZvcm0KLXN5biBrZXl3b3JkIGNmVGFnTmFtZSBjb250YWluZWQgY2Zmb3JtZ3JvdXAgY2Zmb3JtaXRlbSBjZmZ0cCBjZmZ1bmN0aW9uIGNmZ3JhcGggY2ZncmFwaGRhdGEKLXN5biBrZXl3b3JkIGNmVGFnTmFtZSBjb250YWluZWQgY2ZncmlkIGNmZ3JpZGNvbHVtbiBjZmdyaWRyb3cgY2ZncmlkdXBkYXRlIGNmaGVhZGVyCi1zeW4ga2V5d29yZCBjZlRhZ05hbWUgY29udGFpbmVkIGNmaHRtbGhlYWQgY2ZodHRwIGNmaHR0cHBhcmFtIGNmaWYgY2ZpbXBvcnQKLXN5biBrZXl3b3JkIGNmVGFnTmFtZSBjb250YWluZWQgY2ZpbmNsdWRlIGNmaW5kZXggY2ZpbnB1dCBjZmluc2VydCBjZmludm9rZSBjZmludm9rZWFyZ3VtZW50Ci1zeW4ga2V5d29yZCBjZlRhZ05hbWUgY29udGFpbmVkIGNmbGRhcCBjZmxvY2F0aW9uIGNmbG9jayBjZmxvZyBjZmxvZ2luIGNmbG9naW51c2VyIGNmbG9nb3V0Ci1zeW4ga2V5d29yZCBjZlRhZ05hbWUgY29udGFpbmVkIGNmbG9vcCBjZm1haWwgY2ZtYWlscGFyYW0gY2ZtYWlscGFydCBjZm1vZHVsZQotc3luIGtleXdvcmQgY2ZUYWdOYW1lIGNvbnRhaW5lZCBjZk5UYXV0aGVudGljYXRlIGNmb2JqZWN0IGNmb2JqZWN0Y2FjaGUgY2ZvdXRwdXQgY2ZwYXJhbQotc3luIGtleXdvcmQgY2ZUYWdOYW1lIGNvbnRhaW5lZCBjZnBvcCBjZnByb2Nlc3NpbmdkaXJlY3RpdmUgY2Zwcm9jcGFyYW0gY2Zwcm9jcmVzdWx0Ci1zeW4ga2V5d29yZCBjZlRhZ05hbWUgY29udGFpbmVkIGNmcHJvcGVydHkgY2ZxdWVyeSBjZnF1ZXJ5cGFyYW0gY2ZyZWdpc3RyeSBjZnJlcG9ydAotc3luIGtleXdvcmQgY2ZUYWdOYW1lIGNvbnRhaW5lZCBjZnJlcG9ydHBhcmFtIGNmcmV0aHJvdyBjZnJldHVybiBjZnNhdmVjb250ZW50IGNmc2NoZWR1bGUKLXN5biBrZXl3b3JkIGNmVGFnTmFtZSBjb250YWluZWQgY2ZzY3JpcHQgY2ZzZWFyY2ggY2ZzZWxlY3QgY2ZzZXJ2bGV0IGNmc2VydmxldHBhcmFtIGNmc2V0Ci1zeW4ga2V5d29yZCBjZlRhZ05hbWUgY29udGFpbmVkIGNmc2V0dGluZyBjZnNpbGVudCBjZnNsaWRlciBjZnN0b3JlZHByb2MgY2Zzd2l0Y2ggY2Z0YWJsZQotc3luIGtleXdvcmQgY2ZUYWdOYW1lIGNvbnRhaW5lZCBjZnRleHRhcmVhIGNmdGV4dGlucHV0IGNmdGhyb3cgY2Z0aW1lciBjZnRyYWNlIGNmdHJhbnNhY3Rpb24KLXN5biBrZXl3b3JkIGNmVGFnTmFtZSBjb250YWluZWQgY2Z0cmVlIGNmdHJlZWl0ZW0gY2Z0cnkgY2Z1cGRhdGUgY2Z3ZGR4IGNmeG1sCisiIENvbGRGdXNpb24gPD03Ogorc3luIGtleXdvcmQJY2ZUYWdOYW1lCWNvbnRhaW5lZCBjZmFib3J0IGNmYXBwbGV0IGNmYXBwbGljYXRpb24gY2Zhcmd1bWVudCBjZmFzc29jaWF0ZQorc3luIGtleXdvcmQJY2ZUYWdOYW1lCWNvbnRhaW5lZCBjZmJyZWFrIGNmY2FjaGUgY2ZjYWxlbmRhciBjZmNhc2UgY2ZjYXRjaAorc3luIGtleXdvcmQJY2ZUYWdOYW1lCWNvbnRhaW5lZCBjZmNoYXJ0IGNmY2hhcnRkYXRhIGNmY2hhcnRzZXJpZXMgY2Zjb2wgY2Zjb2xsZWN0aW9uCitzeW4ga2V5d29yZAljZlRhZ05hbWUJY29udGFpbmVkIGNmY29tcG9uZW50IGNmY29udGVudCBjZmNvb2tpZSBjZmRlZmF1bHRjYXNlIGNmZGlyZWN0b3J5CitzeW4ga2V5d29yZAljZlRhZ05hbWUJY29udGFpbmVkIGNmZG9jdW1lbnQgY2Zkb2N1bWVudGl0ZW0gY2Zkb2N1bWVudHNlY3Rpb24gY2ZkdW1wIGNmZWxzZQorc3luIGtleXdvcmQJY2ZUYWdOYW1lCWNvbnRhaW5lZCBjZmVsc2VpZiBjZmVycm9yIGNmZXhlY3V0ZSBjZmV4aXQgY2ZmaWxlIGNmZmx1c2ggY2Zmb3JtCitzeW4ga2V5d29yZAljZlRhZ05hbWUJY29udGFpbmVkIGNmZm9ybWdyb3VwIGNmZm9ybWl0ZW0gY2ZmdHAgY2ZmdW5jdGlvbgorc3luIGtleXdvcmQJY2ZUYWdOYW1lCWNvbnRhaW5lZCBjZmdyaWQgY2ZncmlkY29sdW1uIGNmZ3JpZHJvdyBjZmdyaWR1cGRhdGUgY2ZoZWFkZXIKK3N5biBrZXl3b3JkCWNmVGFnTmFtZQljb250YWluZWQgY2ZodG1saGVhZCBjZmh0dHAgY2ZodHRwcGFyYW0gY2ZpZiBjZmltcG9ydAorc3luIGtleXdvcmQJY2ZUYWdOYW1lCWNvbnRhaW5lZCBjZmluY2x1ZGUgY2ZpbmRleCBjZmlucHV0IGNmaW5zZXJ0IGNmaW52b2tlIGNmaW52b2tlYXJndW1lbnQKK3N5biBrZXl3b3JkCWNmVGFnTmFtZQljb250YWluZWQgY2ZsZGFwIGNmbG9jYXRpb24gY2Zsb2NrIGNmbG9nIGNmbG9naW4gY2Zsb2dpbnVzZXIgY2Zsb2dvdXQKK3N5biBrZXl3b3JkCWNmVGFnTmFtZQljb250YWluZWQgY2Zsb29wIGNmbWFpbCBjZm1haWxwYXJhbSBjZm1haWxwYXJ0IGNmbW9kdWxlCitzeW4ga2V5d29yZAljZlRhZ05hbWUJY29udGFpbmVkIGNmTlRhdXRoZW50aWNhdGUgY2ZvYmplY3QgY2ZvYmplY3RjYWNoZSBjZm91dHB1dCBjZnBhcmFtCitzeW4ga2V5d29yZAljZlRhZ05hbWUJY29udGFpbmVkIGNmcG9wIGNmcHJvY2Vzc2luZ2RpcmVjdGl2ZSBjZnByb2NwYXJhbSBjZnByb2NyZXN1bHQKK3N5biBrZXl3b3JkCWNmVGFnTmFtZQljb250YWluZWQgY2Zwcm9wZXJ0eSBjZnF1ZXJ5IGNmcXVlcnlwYXJhbSBjZnJlZ2lzdHJ5IGNmcmVwb3J0CitzeW4ga2V5d29yZAljZlRhZ05hbWUJY29udGFpbmVkIGNmcmVwb3J0cGFyYW0gY2ZyZXRocm93IGNmcmV0dXJuIGNmc2F2ZWNvbnRlbnQgY2ZzY2hlZHVsZQorc3luIGtleXdvcmQJY2ZUYWdOYW1lCWNvbnRhaW5lZCBjZnNjcmlwdCBjZnNlYXJjaCBjZnNlbGVjdCBjZnNlcnZsZXRwYXJhbSBjZnNldAorc3luIGtleXdvcmQJY2ZUYWdOYW1lCWNvbnRhaW5lZCBjZnNldHRpbmcgY2ZzaWxlbnQgY2ZzbGlkZXIgY2ZzdG9yZWRwcm9jIGNmc3dpdGNoIGNmdGFibGUKK3N5biBrZXl3b3JkCWNmVGFnTmFtZQljb250YWluZWQgY2Z0ZXh0YXJlYSBjZnRleHRpbnB1dCBjZnRocm93IGNmdGltZXIgY2Z0cmFjZSBjZnRyYW5zYWN0aW9uCitzeW4ga2V5d29yZAljZlRhZ05hbWUJY29udGFpbmVkIGNmdHJlZSBjZnRyZWVpdGVtIGNmdHJ5IGNmdXBkYXRlIGNmd2RkeCBjZnhtbAorIiBDb2xkRnVzaW9uIDg6CitzeW4ga2V5d29yZAljZlRhZ05hbWUJY29udGFpbmVkIGNmYWpheGltcG9ydCBjZmFqYXhwcm94eSBjZmRiaW5mbyBjZmRpdiBjZmV4Y2hhbmdlY2FsZW5kYXIKK3N5biBrZXl3b3JkCWNmVGFnTmFtZQljb250YWluZWQgY2ZleGNoYW5nZWNvbm5lY3Rpb24gY2ZleGNoYW5nZWNvbnRhY3QgY2ZleGNoYW5nZWZpbHRlciAKK3N5biBrZXl3b3JkCWNmVGFnTmFtZQljb250YWluZWQgY2ZleGNoYW5nZW1haWwgY2ZleGNoYW5nZXRhc2sgY2ZmZWVkCitzeW4ga2V5d29yZAljZlRhZ05hbWUJY29udGFpbmVkIGNmaW50ZXJmYWNlIGNmbGF5b3V0IGNmbGF5b3V0YXJlYSBjZm1lbnUgY2ZtZW51aXRlbQorc3luIGtleXdvcmQJY2ZUYWdOYW1lCWNvbnRhaW5lZCBjZnBkZiBjZnBkZmZvcm0gY2ZwZGZmb3JtcGFyYW0gY2ZwZGZwYXJhbSBjZnBkZnN1YmZvcm0gY2Zwb2QKK3N5biBrZXl3b3JkCWNmVGFnTmFtZQljb250YWluZWQgY2ZwcmVzZW50YXRpb24gY2ZwcmVzZW50YXRpb25zbGlkZSBjZnByZXNlbnRlciBjZnByaW50CitzeW4ga2V5d29yZAljZlRhZ05hbWUJY29udGFpbmVkIGNmc3ByeWRhdGFzZXQgY2Z0aHJlYWQgY2Z0b29sdGlwIGNmd2luZG93IGNmemlwIGNmemlwcGFyYW0KKyIgQ29sZEZ1c2lvbiA5Ogorc3luIGtleXdvcmQJY2ZUYWdOYW1lCWNvbnRhaW5lZCBjZmNvbnRpbnVlIGNmZmlsZXVwbG9hZCBjZmZpbmFsbHkKK3N5biBrZXl3b3JkCWNmVGFnTmFtZQljb250YWluZWQgY2ZpbWFnZSBjZmltYXAgCitzeW4ga2V5d29yZAljZlRhZ05hbWUJY29udGFpbmVkIGNmbWFwIGNmbWFwaXRlbSBjZm1lZGlhcGxheWVyIGNmbWVzc2FnZWJveAorc3luIGtleXdvcmQJY2ZUYWdOYW1lCWNvbnRhaW5lZCBjZnByb2NwYXJhbSBjZnByb2dyZXNzYmFyCitzeW4ga2V5d29yZAljZlRhZ05hbWUJY29udGFpbmVkIGNmc2hhcmVwb2ludCBjZnNwcmVhZHNoZWV0CiAKLSIgVGFnIHBhcmFtZXRlcnMuCi1zeW4ga2V5d29yZCBjZkFyZyBjb250YWluZWQgYWJvcnQgYWNjZXB0IGFjY2VzcyBhY2Nlc3NpYmxlIGFjdGlvbiBhZGRuZXdsaW5lIGFkZHRva2VuCi1zeW4ga2V5d29yZCBjZkFyZyBjb250YWluZWQgYWdlbnRuYW1lIGFsaWduIGFwcGVuZGtleSBhcHBsZXRzb3VyY2UgYXBwbGljYXRpb24KLXN5biBrZXl3b3JkIGNmQXJnIGNvbnRhaW5lZCBhcHBsaWNhdGlvbnRpbWVvdXQgYXBwbGljYXRpb250b2tlbiBhcmNoaXZlCi1zeW4ga2V5d29yZCBjZkFyZyBjb250YWluZWQgYXJndW1lbnRjb2xsZWN0aW9uIGFyZ3VtZW50cyBhc2NpaWV4dGVuc2lvbmxpc3QKLXN5biBrZXl3b3JkIGNmQXJnIGNvbnRhaW5lZCBhdHRhY2htZW50cGF0aCBhdHRyaWJ1dGVjb2xsZWN0aW9uIGF0dHJpYnV0ZXMgYXV0b3dpZHRoCi1zeW4ga2V5d29yZCBjZkFyZyBjb250YWluZWQgYmFja2dyb3VuZHZpc2libGUgYmFzZXRhZyBiY2MgYmdjb2xvciBiaW5kIGJpbmRpbmduYW1lCi1zeW4ga2V5d29yZCBjZkFyZyBjb250YWluZWQgYmxvY2tmYWN0b3IgYm9keSBib2xkIGJvcmRlciBicmFuY2ggY2FjaGVkYWZ0ZXIgY2FjaGVkd2l0aGluCi1zeW4ga2V5d29yZCBjZkFyZyBjb250YWluZWQgY2FzZXNlbnNpdGl2ZSBjYXRlZ29yeSBjYXRlZ29yeXRyZWUgY2MgY2ZzcWx0eXBlIGNoYXJzZXQKLXN5biBrZXl3b3JkIGNmQXJnIGNvbnRhaW5lZCBjaGFydGhlaWdodCBjaGFydHdpZHRoIGNoZWNrZWQgY2xhc3MgY2xpZW50bWFuYWdlbWVudAotc3luIGtleXdvcmQgY2ZBcmcgY29udGFpbmVkIGNsaWVudHN0b3JhZ2UgY29kZWJhc2UgY29saGVhZGVyYWxpZ24gY29saGVhZGVyYm9sZAotc3luIGtleXdvcmQgY2ZBcmcgY29udGFpbmVkIGNvbGhlYWRlcmZvbnQgY29saGVhZGVyZm9udHNpemUgY29saGVhZGVyaXRhbGljIGNvbGhlYWRlcnMKLXN5biBrZXl3b3JkIGNmQXJnIGNvbnRhaW5lZCBjb2xoZWFkZXJ0ZXh0Y29sb3IgY29sbGVjdGlvbiBjb2xvcmxpc3QgY29sc3BhY2luZyBjb2x1bW5zCi1zeW4ga2V5d29yZCBjZkFyZyBjb250YWluZWQgY29tcGxldGVwYXRoIGNvbXBvbmVudCBjb25kaXRpb24gY29ubmVjdGlvbiBjb250ZW50aWQKLXN5biBrZXl3b3JkIGNmQXJnIGNvbnRhaW5lZCBjb250ZXh0IGNvbnRleHRieXRlcyBjb250ZXh0aGlnaGxpZ2h0YmVnaW4KLXN5biBrZXl3b3JkIGNmQXJnIGNvbnRhaW5lZCBjb250ZXh0aGlnaGxpZ2h0ZW5kIGNvbnRleHRwYXNzYWdlcyBjb29raWVkb21haW4gY3JpdGVyaWEKLXN5biBrZXl3b3JkIGNmQXJnIGNvbnRhaW5lZCBjdXN0b20xIGN1c3RvbTIgY3VzdG9tMyBjdXN0b200IGRhdGEgZGF0YWFsaWduCi1zeW4ga2V5d29yZCBjZkFyZyBjb250YWluZWQgZGF0YWJhY2tncm91bmRjb2xvciBkYXRhY29sbGVjdGlvbiBkYXRhc291cmNlIGRheW5hbWVzCi1zeW4ga2V5d29yZCBjZkFyZyBjb250YWluZWQgZGJuYW1lIGRic2VydmVyIGRidHlwZSBkYnZhcm5hbWUgZGVidWcgZGVmYXVsdCBkZWxldGUKLXN5biBrZXl3b3JkIGNmQXJnIGNvbnRhaW5lZCBkZWxldGVidXR0b24gZGVsZXRlZmlsZSBkZWxpbWl0ZXIgZGVsaW1pdGVycyBkZXNjcmlwdGlvbgotc3luIGtleXdvcmQgY2ZBcmcgY29udGFpbmVkIGRlc3RpbmF0aW9uIGRldGFpbCBkaXJlY3RvcnkgZGlzYWJsZWQgZGlzcGxheSBkaXNwbGF5bmFtZQotc3luIGtleXdvcmQgY2ZBcmcgY29udGFpbmVkIGRpc3Bvc2l0aW9uIGRuIGRvbWFpbiBlZGl0YWJsZSBlbmFibGVjYWIgZW5hYmxlY2ZvdXRwdXRvbmx5Ci1zeW4ga2V5d29yZCBjZkFyZyBjb250YWluZWQgZW5hYmxlZCBlbmNvZGVkIGVuY3J5cHRpb24gZW5jdHlwZSBlbmRkYXRlIGVuZHJhbmdlIGVuZHRpbWUKLXN5biBrZXl3b3JkIGNmQXJnIGNvbnRhaW5lZCBlbnRyeSBlcnJvcmNvZGUgZXhjZXB0aW9uIGV4aXN0aW5nIGV4cGFuZCBleHBpcmVzIGV4cGlyZXVybAotc3luIGtleXdvcmQgY2ZBcmcgY29udGFpbmVkIGV4cHJlc3Npb24gZXh0ZW5kZWRpbmZvIGV4dGVuZHMgZXh0ZW5zaW9ucyBleHRlcm5hbAotc3luIGtleXdvcmQgY2ZBcmcgY29udGFpbmVkIGZhaWxpZmV4aXN0cyBmYWlsdG8gZmlsZSBmaWxlZmllbGQgZmlsZW5hbWUgZmlsdGVyCi1zeW4ga2V5d29yZCBjZkFyZyBjb250YWluZWQgZmlyc3RkYXlvZndlZWsgZmlyc3Ryb3dhc2hlYWRlcnMgZml4bmV3bGluZSBmb250IGZvbnRib2xkCi1zeW4ga2V5d29yZCBjZkFyZyBjb250YWluZWQgZm9udGVtYmVkIGZvbnRpdGFsaWMgZm9udHNpemUgZm9yZWdyb3VuZGNvbG9yIGZvcm1hdAotc3luIGtleXdvcmQgY2ZBcmcgY29udGFpbmVkIGZvcm1maWVsZHMgZm9ybXVsYSBmcm9tIGdlbmVyYXRldW5pcXVlZmlsZW5hbWVzIGdldGFzYmluYXJ5Ci1zeW4ga2V5d29yZCBjZkFyZyBjb250YWluZWQgZ3JpZCBncmlkZGF0YWFsaWduIGdyaWRsaW5lcyBncm9vdmVjb2xvciBncm91cAotc3luIGtleXdvcmQgY2ZBcmcgY29udGFpbmVkIGdyb3VwY2FzZXNlbnNpdGl2ZSBoZWFkZXIgaGVhZGVyYWxpZ24gaGVhZGVyYm9sZCBoZWFkZXJmb250Ci1zeW4ga2V5d29yZCBjZkFyZyBjb250YWluZWQgaGVhZGVyZm9udHNpemUgaGVhZGVyaXRhbGljIGhlYWRlcmxpbmVzIGhlYWRlcnRleHRjb2xvcgotc3luIGtleXdvcmQgY2ZBcmcgY29udGFpbmVkIGhlaWdodCBoaWdobGlnaHRocmVmIGhpbnQgaHJlZiBocmVma2V5IGhzY3JvbGwgaHNwYWNlIGh0bWwKLXN5biBrZXl3b3JkIGNmQXJnIGNvbnRhaW5lZCBodG1sdGFibGUgaWQgaWRsZXRpbWVvdXQgaW1nIGltZ29wZW4gaW1nc3R5bGUgaW5kZXggaW5saW5lCi1zeW4ga2V5d29yZCBjZkFyZyBjb250YWluZWQgaW5wdXQgaW5zZXJ0IGluc2VydGJ1dHRvbiBpbnRlcnZhbCBpc29sYXRpb24gaXRhbGljIGl0ZW0KLXN5biBrZXl3b3JkIGNmQXJnIGNvbnRhaW5lZCBpdGVtY29sdW1uIGtleSBrZXlvbmx5IGxhYmVsIGxhYmVsZm9ybWF0IGxhbmd1YWdlIGxpc3QKLXN5biBrZXl3b3JkIGNmQXJnIGNvbnRhaW5lZCBsaXN0Z3JvdXBzIGxvY2FsZSBsb2NhbGZpbGUgbG9nIGxvZ2luc3RvcmFnZSBsb29rYW5kZmVlbAotc3luIGtleXdvcmQgY2ZBcmcgY29udGFpbmVkIG1haWxlcmlkIG1haWx0byBtYXJnaW5ib3R0b20gbWFyZ2lubGVmdCBtYXJnaW5yaWdodAotc3luIGtleXdvcmQgY2ZBcmcgY29udGFpbmVkIG1hcmdpbnRvcCBtYXJrZXJzaXplIG1hcmtlcnN0eWxlIG1hc2sgbWF4IG1heGxlbmd0aCBtYXhyb3dzCi1zeW4ga2V5d29yZCBjZkFyZyBjb250YWluZWQgbWVzc2FnZSBtZXNzYWdlbnVtYmVyIG1ldGhvZCBtaW1lYXR0YWNoIG1pbWV0eXBlIG1pbiBtb2RlCi1zeW4ga2V5d29yZCBjZkFyZyBjb250YWluZWQgbW9kaWZ5dHlwZSBtb250aG5hbWVzIG11bHRpcGFydCBtdWx0aXBsZSBuYW1lIG5hbWVjb25mbGljdAotc3luIGtleXdvcmQgY2ZBcmcgY29udGFpbmVkIG5hbWVzcGFjZSBuZXcgbmV3ZGlyZWN0b3J5IG5vdHN1cHBvcnRlZCBudWxsIG51bWJlcmZvcm1hdAotc3luIGtleXdvcmQgY2ZBcmcgY29udGFpbmVkIG9iamVjdCBvbWl0IG9uYmx1ciBvbmNoYW5nZSBvbmNsaWNrIG9uZXJyb3Igb25mb2N1cwotc3luIGtleXdvcmQgY2ZBcmcgY29udGFpbmVkIG9ua2V5ZG93biBvbmtleXVwIG9ubG9hZCBvbm1vdXNlZG93biBvbm1vdXNldXAgb25yZXNldAotc3luIGtleXdvcmQgY2ZBcmcgY29udGFpbmVkIG9uc3VibWl0IG9udmFsaWRhdGUgb3BlcmF0aW9uIG9yZGVyYnkgb3JpZW50YXRpb24gb3V0cHV0Ci1zeW4ga2V5d29yZCBjZkFyZyBjb250YWluZWQgb3V0cHV0ZmlsZSBvdmVyd3JpdGUgb3duZXJwYXNzd29yZCBwYWdlZW5jb2RpbmcgcGFnZWhlaWdodAotc3luIGtleXdvcmQgY2ZBcmcgY29udGFpbmVkIHBhZ2V0eXBlIHBhZ2V3aWR0aCBwYWludHN0eWxlIHBhcmFtXzEgcGFyYW1fMiBwYXJhbV8zCi1zeW4ga2V5d29yZCBjZkFyZyBjb250YWluZWQgcGFyYW1fNCBwYXJhbV81IHBhcmFtXzYgcGFyYW1fNyBwYXJhbV84IHBhcmFtXzkgcGFyZW50Ci1zeW4ga2V5d29yZCBjZkFyZyBjb250YWluZWQgcGFycmVudCBwYXNzaXZlIHBhc3N0aHJvdWdoIHBhc3N3b3JkIHBhdGggcGF0dGVybgotc3luIGtleXdvcmQgY2ZBcmcgY29udGFpbmVkIHBlcm1pc3Npb25zIHBpY3R1cmViYXIgcGllc2xpY2VzdHlsZSBwb3J0IHBvcnR0eXBlbmFtZQotc3luIGtleXdvcmQgY2ZBcmcgY29udGFpbmVkIHByZWZpeCBwcmVsb2FkZXIgcHJlc2VydmVkYXRhIHByZXZpb3VzY3JpdGVyaWEgcHJvY2VkdXJlCi1zeW4ga2V5d29yZCBjZkFyZyBjb250YWluZWQgcHJvdG9jb2wgcHJvdmlkZXIgcHJvdmlkZXJkc24gcHJveHlieXBhc3MgcHJveHlwYXNzd29yZAotc3luIGtleXdvcmQgY2ZBcmcgY29udGFpbmVkIHByb3h5cG9ydCBwcm94eXNlcnZlciBwcm94eXVzZXIgcHVibGlzaCBxdWVyeSBxdWVyeWFzcm9vdAotc3luIGtleXdvcmQgY2ZBcmcgY29udGFpbmVkIHF1ZXJ5cG9zaXRpb24gcmFuZ2UgcmViaW5kIHJlY3Vyc2UgcmVkaXJlY3QgcmVmZXJyYWwKLXN5biBrZXl3b3JkIGNmQXJnIGNvbnRhaW5lZCByZWZyZXNobGFiZWwgcmVtb3RlZmlsZSByZXBseXRvIHJlcG9ydCByZXF1ZXN0dGltZW91dAotc3luIGtleXdvcmQgY2ZBcmcgY29udGFpbmVkIHJlcXVpcmVkIHJlc2V0IHJlc29sZXVybCByZXNvbHZldXJsIHJlc3VsdCByZXN1bHRzZXQKLXN5biBrZXl3b3JkIGNmQXJnIGNvbnRhaW5lZCByZXRyeWNvdW50IHJldHVybmFzYmluYXJ5IHJldHVybmNvZGUgcmV0dXJudHlwZQotc3luIGtleXdvcmQgY2ZBcmcgY29udGFpbmVkIHJldHVybnZhcmlhYmxlIHJvbGVzIHJvdGF0ZWQgcm93aGVhZGVyYWxpZ24gcm93aGVhZGVyYm9sZAotc3luIGtleXdvcmQgY2ZBcmcgY29udGFpbmVkIHJvd2hlYWRlcmZvbnQgcm93aGVhZGVyZm9udHNpemUgcm93aGVhZGVyaXRhbGljIHJvd2hlYWRlcnMKLXN5biBrZXl3b3JkIGNmQXJnIGNvbnRhaW5lZCByb3doZWFkZXJ0ZXh0Y29sb3Igcm93aGVhZGVyd2lkdGggcm93aGVpZ2h0IHNjYWxlIHNjYWxlZnJvbQotc3luIGtleXdvcmQgY2ZBcmcgY29udGFpbmVkIHNjYWxldG8gc2NvcGUgc2NyaXB0cHJvdGVjdCBzY3JpcHRzcmMgc2VjdXJlIHNlY3VyaXR5Y29udGV4dAotc3luIGtleXdvcmQgY2ZBcmcgY29udGFpbmVkIHNlbGVjdCBzZWxlY3Rjb2xvciBzZWxlY3RlZCBzZWxlY3RlZGRhdGUgc2VsZWN0ZWRpbmRleAotc3luIGtleXdvcmQgY2ZBcmcgY29udGFpbmVkIHNlbGVjdG1vZGUgc2VwYXJhdG9yIHNlcmllc2NvbG9yIHNlcmllc2xhYmVsIHNlcmllc3BsYWNlbWVudAotc3luIGtleXdvcmQgY2ZBcmcgY29udGFpbmVkIHNlcnZlciBzZXJ2aWNlcG9ydCBzZXJ2aWNlcG9ydG5hbWUgc2Vzc2lvbm1hbmFnZW1lbnQKLXN5biBrZXl3b3JkIGNmQXJnIGNvbnRhaW5lZCBzZXNzaW9udGltZW91dCBzZXRjbGllbnRjb29raWVzIHNldGNvb2tpZSBzZXRkb21haW5jb29raWVzCi1zeW4ga2V5d29yZCBjZkFyZyBjb250YWluZWQgc2hvdzNkIHNob3dib3JkZXIgc2hvd2RlYnVnb3V0cHV0IHNob3dlcnJvciBzaG93bGVnZW5kCi1zeW4ga2V5d29yZCBjZkFyZyBjb250YWluZWQgc2hvd21hcmtlcnMgc2hvd3hncmlkbGluZXMgc2hvd3lncmlkbGluZXMgc2l6ZSBza2luIHNvcnQKLXN5biBrZXl3b3JkIGNmQXJnIGNvbnRhaW5lZCBzb3J0YXNjZW5kaW5nYnV0dG9uIHNvcnRjb250cm9sIHNvcnRkZXNjZW5kaW5nYnV0dG9uCi1zeW4ga2V5d29yZCBjZkFyZyBjb250YWluZWQgc29ydHhheGlzIHNvdXJjZSBzcG9vbGVuYWJsZSBzcWwgc3JjIHNyY2ZpbGUgc3RhcnQgc3RhcnRkYXRlCi1zeW4ga2V5d29yZCBjZkFyZyBjb250YWluZWQgc3RhcnRyYW5nZSBzdGFydHJvdyBzdGFydHRpbWUgc3RhdHVzIHN0YXR1c2NvZGUgc3RhdHVzdGV4dAotc3luIGtleXdvcmQgY2ZBcmcgY29udGFpbmVkIHN0ZXAgc3RvcG9uZXJyb3Igc3R5bGUgc3ViamVjdCBzdWdnZXN0aW9ucwotc3luIGtleXdvcmQgY2ZBcmcgY29udGFpbmVkIHN1cHByZXNzd2hpdGVzcGFjZSB0YWJsZW5hbWUgdGFibGVvd25lciB0YWJsZXF1YWxpZmllcgotc3luIGtleXdvcmQgY2ZBcmcgY29udGFpbmVkIHRhZ2xpYiB0YXJnZXQgdGFzayB0ZW1wbGF0ZSB0ZXh0IHRleHRjb2xvciB0ZXh0cXVhbGlmaWVyCi1zeW4ga2V5d29yZCBjZkFyZyBjb250YWluZWQgdGhyb3dvbmVycm9yIHRocm93b25lcnJvciB0aHJvd29uZmFpbHVyZSB0aHJvd29udGltZW91dAotc3luIGtleXdvcmQgY2ZBcmcgY29udGFpbmVkIHRpbWVvdXQgdGltZXNwYW4gdGlwYmdjb2xvciB0aXBzdHlsZSB0aXRsZSB0byB0b29sdGlwCi1zeW4ga2V5d29yZCBjZkFyZyBjb250YWluZWQgdG9wbGV2ZWx2YXJpYWJsZSB0cmFuc2Zlcm1vZGUgdHlwZSB1aWQgdW5pdCB1cmwgdXJscGF0aAotc3luIGtleXdvcmQgY2ZBcmcgY29udGFpbmVkIHVzZXJhZ2VudCB1c2VybmFtZSB1c2VycGFzc3dvcmQgdXNldGltZXpvbmVpbmZvIHZhbGlkYXRlCi1zeW4ga2V5d29yZCBjZkFyZyBjb250YWluZWQgdmFsaWRhdGVhdCB2YWx1ZSB2YWx1ZWNvbHVtbiB2YWx1ZXMgdmFsdWVzZGVsaW1pdGVyCi1zeW4ga2V5d29yZCBjZkFyZyBjb250YWluZWQgdmFsdWVzZGlzcGxheSB2YXIgdmFyaWFibGUgdmVydGljYWwgdmlzaWJsZSB2c2Nyb2xsIHZzcGFjZQotc3luIGtleXdvcmQgY2ZBcmcgY29udGFpbmVkIHdlYnNlcnZpY2Ugd2lkdGggd21vZGUgd3JhcHRleHQgd3NkbGZpbGUgeGF4aXN0aXRsZQotc3luIGtleXdvcmQgY2ZBcmcgY29udGFpbmVkIHhheGlzdHlwZSB4b2Zmc2V0IHlheGlzdGl0bGUgeWF4aXN0eXBlIHlvZmZzZXQKKyIgVGFnIGF0dHJpYnV0ZXMuCisiIFhYWCBOb3QgdXBkYXRlZCBmb3IgQ29sZEZ1c2lvbiA4LzkuCisiIFRoZXNlIGFyZSBiZWNvbWluZyBhIGhlYWRhY2hlIHRvIG1haW50YWluLCBzbyBtaWdodCBiZSByZW1vdmVkLgorc3luIGtleXdvcmQJY2ZBcmcJCWNvbnRhaW5lZCBhYm9ydCBhY2NlcHQgYWNjZXNzIGFjY2Vzc2libGUgYWN0aW9uIGFkZG5ld2xpbmUgYWRkdG9rZW4KK3N5biBrZXl3b3JkCWNmQXJnCQljb250YWluZWQgYWdlbnRuYW1lIGFsaWduIGFwcGVuZGtleSBhcHBsZXRzb3VyY2UgYXBwbGljYXRpb24KK3N5biBrZXl3b3JkCWNmQXJnCQljb250YWluZWQgYXBwbGljYXRpb250aW1lb3V0IGFwcGxpY2F0aW9udG9rZW4gYXJjaGl2ZQorc3luIGtleXdvcmQJY2ZBcmcJCWNvbnRhaW5lZCBhcmd1bWVudGNvbGxlY3Rpb24gYXJndW1lbnRzIGFzY2lpZXh0ZW5zaW9ubGlzdAorc3luIGtleXdvcmQJY2ZBcmcJCWNvbnRhaW5lZCBhdHRhY2htZW50cGF0aCBhdHRyaWJ1dGVjb2xsZWN0aW9uIGF0dHJpYnV0ZXMgYXV0b3dpZHRoCitzeW4ga2V5d29yZAljZkFyZwkJY29udGFpbmVkIGJhY2tncm91bmR2aXNpYmxlIGJhc2V0YWcgYmNjIGJnY29sb3IgYmluZCBiaW5kaW5nbmFtZQorc3luIGtleXdvcmQJY2ZBcmcJCWNvbnRhaW5lZCBibG9ja2ZhY3RvciBib2R5IGJvbGQgYm9yZGVyIGJyYW5jaCBjYWNoZWRhZnRlciBjYWNoZWR3aXRoaW4KK3N5biBrZXl3b3JkCWNmQXJnCQljb250YWluZWQgY2FzZXNlbnNpdGl2ZSBjYXRlZ29yeSBjYXRlZ29yeXRyZWUgY2MgY2ZzcWx0eXBlIGNoYXJzZXQKK3N5biBrZXl3b3JkCWNmQXJnCQljb250YWluZWQgY2hhcnRoZWlnaHQgY2hhcnR3aWR0aCBjaGVja2VkIGNsYXNzIGNsaWVudG1hbmFnZW1lbnQKK3N5biBrZXl3b3JkCWNmQXJnCQljb250YWluZWQgY2xpZW50c3RvcmFnZSBjb2RlYmFzZSBjb2xoZWFkZXJhbGlnbiBjb2xoZWFkZXJib2xkCitzeW4ga2V5d29yZAljZkFyZwkJY29udGFpbmVkIGNvbGhlYWRlcmZvbnQgY29saGVhZGVyZm9udHNpemUgY29saGVhZGVyaXRhbGljIGNvbGhlYWRlcnMKK3N5biBrZXl3b3JkCWNmQXJnCQljb250YWluZWQgY29saGVhZGVydGV4dGNvbG9yIGNvbGxlY3Rpb24gY29sb3JsaXN0IGNvbHNwYWNpbmcgY29sdW1ucworc3luIGtleXdvcmQJY2ZBcmcJCWNvbnRhaW5lZCBjb21wbGV0ZXBhdGggY29tcG9uZW50IGNvbmRpdGlvbiBjb25uZWN0aW9uIGNvbnRlbnRpZAorc3luIGtleXdvcmQJY2ZBcmcJCWNvbnRhaW5lZCBjb250ZXh0IGNvbnRleHRieXRlcyBjb250ZXh0aGlnaGxpZ2h0YmVnaW4KK3N5biBrZXl3b3JkCWNmQXJnCQljb250YWluZWQgY29udGV4dGhpZ2hsaWdodGVuZCBjb250ZXh0cGFzc2FnZXMgY29va2llZG9tYWluIGNyaXRlcmlhCitzeW4ga2V5d29yZAljZkFyZwkJY29udGFpbmVkIGN1c3RvbTEgY3VzdG9tMiBjdXN0b20zIGN1c3RvbTQgZGF0YSBkYXRhYWxpZ24KK3N5biBrZXl3b3JkCWNmQXJnCQljb250YWluZWQgZGF0YWJhY2tncm91bmRjb2xvciBkYXRhY29sbGVjdGlvbiBkYXRhc291cmNlIGRheW5hbWVzCitzeW4ga2V5d29yZAljZkFyZwkJY29udGFpbmVkIGRibmFtZSBkYnNlcnZlciBkYnR5cGUgZGJ2YXJuYW1lIGRlYnVnIGRlZmF1bHQgZGVsZXRlCitzeW4ga2V5d29yZAljZkFyZwkJY29udGFpbmVkIGRlbGV0ZWJ1dHRvbiBkZWxldGVmaWxlIGRlbGltaXRlciBkZWxpbWl0ZXJzIGRlc2NyaXB0aW9uCitzeW4ga2V5d29yZAljZkFyZwkJY29udGFpbmVkIGRlc3RpbmF0aW9uIGRldGFpbCBkaXJlY3RvcnkgZGlzYWJsZWQgZGlzcGxheSBkaXNwbGF5bmFtZQorc3luIGtleXdvcmQJY2ZBcmcJCWNvbnRhaW5lZCBkaXNwb3NpdGlvbiBkbiBkb21haW4gZWRpdGFibGUgZW5hYmxlY2FiIGVuYWJsZWNmb3V0cHV0b25seQorc3luIGtleXdvcmQJY2ZBcmcJCWNvbnRhaW5lZCBlbmFibGVkIGVuY29kZWQgZW5jcnlwdGlvbiBlbmN0eXBlIGVuZGRhdGUgZW5kcmFuZ2UgZW5kdGltZQorc3luIGtleXdvcmQJY2ZBcmcJCWNvbnRhaW5lZCBlbnRyeSBlcnJvcmNvZGUgZXhjZXB0aW9uIGV4aXN0aW5nIGV4cGFuZCBleHBpcmVzIGV4cGlyZXVybAorc3luIGtleXdvcmQJY2ZBcmcJCWNvbnRhaW5lZCBleHByZXNzaW9uIGV4dGVuZGVkaW5mbyBleHRlbmRzIGV4dGVuc2lvbnMgZXh0ZXJuYWwKK3N5biBrZXl3b3JkCWNmQXJnCQljb250YWluZWQgZmFpbGlmZXhpc3RzIGZhaWx0byBmaWxlIGZpbGVmaWVsZCBmaWxlbmFtZSBmaWx0ZXIKK3N5biBrZXl3b3JkCWNmQXJnCQljb250YWluZWQgZmlyc3RkYXlvZndlZWsgZmlyc3Ryb3dhc2hlYWRlcnMgZml4bmV3bGluZSBmb250IGZvbnRib2xkCitzeW4ga2V5d29yZAljZkFyZwkJY29udGFpbmVkIGZvbnRlbWJlZCBmb250aXRhbGljIGZvbnRzaXplIGZvcmVncm91bmRjb2xvciBmb3JtYXQKK3N5biBrZXl3b3JkCWNmQXJnCQljb250YWluZWQgZm9ybWZpZWxkcyBmb3JtdWxhIGZyb20gZ2VuZXJhdGV1bmlxdWVmaWxlbmFtZXMgZ2V0YXNiaW5hcnkKK3N5biBrZXl3b3JkCWNmQXJnCQljb250YWluZWQgZ3JpZCBncmlkZGF0YWFsaWduIGdyaWRsaW5lcyBncm9vdmVjb2xvciBncm91cAorc3luIGtleXdvcmQJY2ZBcmcJCWNvbnRhaW5lZCBncm91cGNhc2VzZW5zaXRpdmUgaGVhZGVyIGhlYWRlcmFsaWduIGhlYWRlcmJvbGQgaGVhZGVyZm9udAorc3luIGtleXdvcmQJY2ZBcmcJCWNvbnRhaW5lZCBoZWFkZXJmb250c2l6ZSBoZWFkZXJpdGFsaWMgaGVhZGVybGluZXMgaGVhZGVydGV4dGNvbG9yCitzeW4ga2V5d29yZAljZkFyZwkJY29udGFpbmVkIGhlaWdodCBoaWdobGlnaHRocmVmIGhpbnQgaHJlZiBocmVma2V5IGhzY3JvbGwgaHNwYWNlIGh0bWwKK3N5biBrZXl3b3JkCWNmQXJnCQljb250YWluZWQgaHRtbHRhYmxlIGlkIGlkbGV0aW1lb3V0IGltZyBpbWdvcGVuIGltZ3N0eWxlIGluZGV4IGlubGluZQorc3luIGtleXdvcmQJY2ZBcmcJCWNvbnRhaW5lZCBpbnB1dCBpbnNlcnQgaW5zZXJ0YnV0dG9uIGludGVydmFsIGlzb2xhdGlvbiBpdGFsaWMgaXRlbQorc3luIGtleXdvcmQJY2ZBcmcJCWNvbnRhaW5lZCBpdGVtY29sdW1uIGtleSBrZXlvbmx5IGxhYmVsIGxhYmVsZm9ybWF0IGxhbmd1YWdlIGxpc3QKK3N5biBrZXl3b3JkCWNmQXJnCQljb250YWluZWQgbGlzdGdyb3VwcyBsb2NhbGUgbG9jYWxmaWxlIGxvZyBsb2dpbnN0b3JhZ2UgbG9va2FuZGZlZWwKK3N5biBrZXl3b3JkCWNmQXJnCQljb250YWluZWQgbWFpbGVyaWQgbWFpbHRvIG1hcmdpbmJvdHRvbSBtYXJnaW5sZWZ0IG1hcmdpbnJpZ2h0CitzeW4ga2V5d29yZAljZkFyZwkJY29udGFpbmVkIG1hcmdpbnRvcCBtYXJrZXJzaXplIG1hcmtlcnN0eWxlIG1hc2sgbWF4IG1heGxlbmd0aCBtYXhyb3dzCitzeW4ga2V5d29yZAljZkFyZwkJY29udGFpbmVkIG1lc3NhZ2UgbWVzc2FnZW51bWJlciBtZXRob2QgbWltZWF0dGFjaCBtaW1ldHlwZSBtaW4gbW9kZQorc3luIGtleXdvcmQJY2ZBcmcJCWNvbnRhaW5lZCBtb2RpZnl0eXBlIG1vbnRobmFtZXMgbXVsdGlwYXJ0IG11bHRpcGxlIG5hbWUgbmFtZWNvbmZsaWN0CitzeW4ga2V5d29yZAljZkFyZwkJY29udGFpbmVkIG5hbWVzcGFjZSBuZXcgbmV3ZGlyZWN0b3J5IG5vdHN1cHBvcnRlZCBudWxsIG51bWJlcmZvcm1hdAorc3luIGtleXdvcmQJY2ZBcmcJCWNvbnRhaW5lZCBvYmplY3Qgb21pdCBvbmJsdXIgb25jaGFuZ2Ugb25jbGljayBvbmVycm9yIG9uZm9jdXMKK3N5biBrZXl3b3JkCWNmQXJnCQljb250YWluZWQgb25rZXlkb3duIG9ua2V5dXAgb25sb2FkIG9ubW91c2Vkb3duIG9ubW91c2V1cCBvbnJlc2V0CitzeW4ga2V5d29yZAljZkFyZwkJY29udGFpbmVkIG9uc3VibWl0IG9udmFsaWRhdGUgb3BlcmF0aW9uIG9yZGVyYnkgb3JpZW50YXRpb24gb3V0cHV0CitzeW4ga2V5d29yZAljZkFyZwkJY29udGFpbmVkIG91dHB1dGZpbGUgb3ZlcndyaXRlIG93bmVycGFzc3dvcmQgcGFnZWVuY29kaW5nIHBhZ2VoZWlnaHQKK3N5biBrZXl3b3JkCWNmQXJnCQljb250YWluZWQgcGFnZXR5cGUgcGFnZXdpZHRoIHBhaW50c3R5bGUgcGFyYW1fMSBwYXJhbV8yIHBhcmFtXzMKK3N5biBrZXl3b3JkCWNmQXJnCQljb250YWluZWQgcGFyYW1fNCBwYXJhbV81IHBhcmFtXzYgcGFyYW1fNyBwYXJhbV84IHBhcmFtXzkgcGFyZW50CitzeW4ga2V5d29yZAljZkFyZwkJY29udGFpbmVkIHBhcnJlbnQgcGFzc2l2ZSBwYXNzdGhyb3VnaCBwYXNzd29yZCBwYXRoIHBhdHRlcm4KK3N5biBrZXl3b3JkCWNmQXJnCQljb250YWluZWQgcGVybWlzc2lvbnMgcGljdHVyZWJhciBwaWVzbGljZXN0eWxlIHBvcnQgcG9ydHR5cGVuYW1lCitzeW4ga2V5d29yZAljZkFyZwkJY29udGFpbmVkIHByZWZpeCBwcmVsb2FkZXIgcHJlc2VydmVkYXRhIHByZXZpb3VzY3JpdGVyaWEgcHJvY2VkdXJlCitzeW4ga2V5d29yZAljZkFyZwkJY29udGFpbmVkIHByb3RvY29sIHByb3ZpZGVyIHByb3ZpZGVyZHNuIHByb3h5YnlwYXNzIHByb3h5cGFzc3dvcmQKK3N5biBrZXl3b3JkCWNmQXJnCQljb250YWluZWQgcHJveHlwb3J0IHByb3h5c2VydmVyIHByb3h5dXNlciBwdWJsaXNoIHF1ZXJ5IHF1ZXJ5YXNyb290CitzeW4ga2V5d29yZAljZkFyZwkJY29udGFpbmVkIHF1ZXJ5cG9zaXRpb24gcmFuZ2UgcmViaW5kIHJlY3Vyc2UgcmVkaXJlY3QgcmVmZXJyYWwKK3N5biBrZXl3b3JkCWNmQXJnCQljb250YWluZWQgcmVmcmVzaGxhYmVsIHJlbW90ZWZpbGUgcmVwbHl0byByZXBvcnQgcmVxdWVzdHRpbWVvdXQKK3N5biBrZXl3b3JkCWNmQXJnCQljb250YWluZWQgcmVxdWlyZWQgcmVzZXQgcmVzb2xldXJsIHJlc29sdmV1cmwgcmVzdWx0IHJlc3VsdHNldAorc3luIGtleXdvcmQJY2ZBcmcJCWNvbnRhaW5lZCByZXRyeWNvdW50IHJldHVybmFzYmluYXJ5IHJldHVybmNvZGUgcmV0dXJudHlwZQorc3luIGtleXdvcmQJY2ZBcmcJCWNvbnRhaW5lZCByZXR1cm52YXJpYWJsZSByb2xlcyByb3RhdGVkIHJvd2hlYWRlcmFsaWduIHJvd2hlYWRlcmJvbGQKK3N5biBrZXl3b3JkCWNmQXJnCQljb250YWluZWQgcm93aGVhZGVyZm9udCByb3doZWFkZXJmb250c2l6ZSByb3doZWFkZXJpdGFsaWMgcm93aGVhZGVycworc3luIGtleXdvcmQJY2ZBcmcJCWNvbnRhaW5lZCByb3doZWFkZXJ0ZXh0Y29sb3Igcm93aGVhZGVyd2lkdGggcm93aGVpZ2h0IHNjYWxlIHNjYWxlZnJvbQorc3luIGtleXdvcmQJY2ZBcmcJCWNvbnRhaW5lZCBzY2FsZXRvIHNjb3BlIHNjcmlwdHByb3RlY3Qgc2NyaXB0c3JjIHNlY3VyZSBzZWN1cml0eWNvbnRleHQKK3N5biBrZXl3b3JkCWNmQXJnCQljb250YWluZWQgc2VsZWN0IHNlbGVjdGNvbG9yIHNlbGVjdGVkIHNlbGVjdGVkZGF0ZSBzZWxlY3RlZGluZGV4CitzeW4ga2V5d29yZAljZkFyZwkJY29udGFpbmVkIHNlbGVjdG1vZGUgc2VwYXJhdG9yIHNlcmllc2NvbG9yIHNlcmllc2xhYmVsIHNlcmllc3BsYWNlbWVudAorc3luIGtleXdvcmQJY2ZBcmcJCWNvbnRhaW5lZCBzZXJ2ZXIgc2VydmljZXBvcnQgc2VydmljZXBvcnRuYW1lIHNlc3Npb25tYW5hZ2VtZW50CitzeW4ga2V5d29yZAljZkFyZwkJY29udGFpbmVkIHNlc3Npb250aW1lb3V0IHNldGNsaWVudGNvb2tpZXMgc2V0Y29va2llIHNldGRvbWFpbmNvb2tpZXMKK3N5biBrZXl3b3JkCWNmQXJnCQljb250YWluZWQgc2hvdzNkIHNob3dib3JkZXIgc2hvd2RlYnVnb3V0cHV0IHNob3dlcnJvciBzaG93bGVnZW5kCitzeW4ga2V5d29yZAljZkFyZwkJY29udGFpbmVkIHNob3dtYXJrZXJzIHNob3d4Z3JpZGxpbmVzIHNob3d5Z3JpZGxpbmVzIHNpemUgc2tpbiBzb3J0CitzeW4ga2V5d29yZAljZkFyZwkJY29udGFpbmVkIHNvcnRhc2NlbmRpbmdidXR0b24gc29ydGNvbnRyb2wgc29ydGRlc2NlbmRpbmdidXR0b24KK3N5biBrZXl3b3JkCWNmQXJnCQljb250YWluZWQgc29ydHhheGlzIHNvdXJjZSBzcG9vbGVuYWJsZSBzcWwgc3JjIHNyY2ZpbGUgc3RhcnQgc3RhcnRkYXRlCitzeW4ga2V5d29yZAljZkFyZwkJY29udGFpbmVkIHN0YXJ0cmFuZ2Ugc3RhcnRyb3cgc3RhcnR0aW1lIHN0YXR1cyBzdGF0dXNjb2RlIHN0YXR1c3RleHQKK3N5biBrZXl3b3JkCWNmQXJnCQljb250YWluZWQgc3RlcCBzdG9wb25lcnJvciBzdHlsZSBzdWJqZWN0IHN1Z2dlc3Rpb25zCitzeW4ga2V5d29yZAljZkFyZwkJY29udGFpbmVkIHN1cHByZXNzd2hpdGVzcGFjZSB0YWJsZW5hbWUgdGFibGVvd25lciB0YWJsZXF1YWxpZmllcgorc3luIGtleXdvcmQJY2ZBcmcJCWNvbnRhaW5lZCB0YWdsaWIgdGFyZ2V0IHRhc2sgdGVtcGxhdGUgdGV4dCB0ZXh0Y29sb3IgdGV4dHF1YWxpZmllcgorc3luIGtleXdvcmQJY2ZBcmcJCWNvbnRhaW5lZCB0aHJvd29uZXJyb3IgdGhyb3dvbmVycm9yIHRocm93b25mYWlsdXJlIHRocm93b250aW1lb3V0CitzeW4ga2V5d29yZAljZkFyZwkJY29udGFpbmVkIHRpbWVvdXQgdGltZXNwYW4gdGlwYmdjb2xvciB0aXBzdHlsZSB0aXRsZSB0byB0b29sdGlwCitzeW4ga2V5d29yZAljZkFyZwkJY29udGFpbmVkIHRvcGxldmVsdmFyaWFibGUgdHJhbnNmZXJtb2RlIHR5cGUgdWlkIHVuaXQgdXJsIHVybHBhdGgKK3N5biBrZXl3b3JkCWNmQXJnCQljb250YWluZWQgdXNlcmFnZW50IHVzZXJuYW1lIHVzZXJwYXNzd29yZCB1c2V0aW1lem9uZWluZm8gdmFsaWRhdGUKK3N5biBrZXl3b3JkCWNmQXJnCQljb250YWluZWQgdmFsaWRhdGVhdCB2YWx1ZSB2YWx1ZWNvbHVtbiB2YWx1ZXMgdmFsdWVzZGVsaW1pdGVyCitzeW4ga2V5d29yZAljZkFyZwkJY29udGFpbmVkIHZhbHVlc2Rpc3BsYXkgdmFyIHZhcmlhYmxlIHZlcnRpY2FsIHZpc2libGUgdnNjcm9sbCB2c3BhY2UKK3N5biBrZXl3b3JkCWNmQXJnCQljb250YWluZWQgd2Vic2VydmljZSB3aWR0aCB3bW9kZSB3cmFwdGV4dCB3c2RsZmlsZSB4YXhpc3RpdGxlCitzeW4ga2V5d29yZAljZkFyZwkJY29udGFpbmVkIHhheGlzdHlwZSB4b2Zmc2V0IHlheGlzdGl0bGUgeWF4aXN0eXBlIHlvZmZzZXQKIAotIiBDb2xkRnVzaW9uIEZ1bmN0aW9ucy4KLXN5biBrZXl3b3JkIGNmRnVuY3Rpb25OYW1lIGNvbnRhaW5lZCBBQ29zIEFTaW4gQWJzIEFkZFNPQVBSZXF1ZXN0SGVhZGVyIEFkZFNPQVBSZXNwb25zZUhlYWRlcgotc3luIGtleXdvcmQgY2ZGdW5jdGlvbk5hbWUgY29udGFpbmVkIEFycmF5QXBwZW5kIEFycmF5QXZnIEFycmF5Q2xlYXIgQXJyYXlEZWxldGVBdCBBcnJheUluc2VydEF0Ci1zeW4ga2V5d29yZCBjZkZ1bmN0aW9uTmFtZSBjb250YWluZWQgQXJyYXlJc0VtcHR5IEFycmF5TGVuIEFycmF5TWF4IEFycmF5TWluIEFycmF5TmV3Ci1zeW4ga2V5d29yZCBjZkZ1bmN0aW9uTmFtZSBjb250YWluZWQgQXJyYXlQcmVwZW5kIEFycmF5UmVzaXplIEFycmF5U2V0IEFycmF5U29ydCBBcnJheVN1bQotc3luIGtleXdvcmQgY2ZGdW5jdGlvbk5hbWUgY29udGFpbmVkIEFycmF5U3dhcCBBcnJheVRvTGlzdCBBc2MgQXRuIEF1dGhlbnRpY2F0ZWRDb250ZXh0Ci1zeW4ga2V5d29yZCBjZkZ1bmN0aW9uTmFtZSBjb250YWluZWQgQXV0aGVudGljYXRlZFVzZXIgQmluYXJ5RGVjb2RlIEJpbmFyeUVuY29kZSBCaXRBbmQKLXN5biBrZXl3b3JkIGNmRnVuY3Rpb25OYW1lIGNvbnRhaW5lZCBCaXRNYXNrQ2xlYXIgQml0TWFza1JlYWQgQml0TWFza1NldCBCaXROb3QgQml0T3IgQml0U0hMTgotc3luIGtleXdvcmQgY2ZGdW5jdGlvbk5hbWUgY29udGFpbmVkIEJpdFNIUk4gQml0WG9yIENKdXN0aWZ5IENlaWxpbmcgQ2hhcnNldERlY29kZSBDaGFyc2V0RW5jb2RlCi1zeW4ga2V5d29yZCBjZkZ1bmN0aW9uTmFtZSBjb250YWluZWQgQ2hyIENvbXBhcmUgQ29tcGFyZU5vQ2FzZSBDb3MgQ3JlYXRlRGF0ZSBDcmVhdGVEYXRlVGltZQotc3luIGtleXdvcmQgY2ZGdW5jdGlvbk5hbWUgY29udGFpbmVkIENyZWF0ZU9EQkNEYXRlIENyZWF0ZU9EQkNEYXRlVGltZSBDcmVhdGVPREJDVGltZQotc3luIGtleXdvcmQgY2ZGdW5jdGlvbk5hbWUgY29udGFpbmVkIENyZWF0ZU9iamVjdCBDcmVhdGVUaW1lIENyZWF0ZVRpbWVTcGFuIENyZWF0ZVVVSUQgREUgRGF0ZUFkZAotc3luIGtleXdvcmQgY2ZGdW5jdGlvbk5hbWUgY29udGFpbmVkIERhdGVDb21wYXJlIERhdGVDb252ZXJ0IERhdGVEaWZmIERhdGVGb3JtYXQgRGF0ZVBhcnQgRGF5Ci1zeW4ga2V5d29yZCBjZkZ1bmN0aW9uTmFtZSBjb250YWluZWQgRGF5T2ZXZWVrIERheU9mV2Vla0FzU3RyaW5nIERheU9mWWVhciBEYXlzSW5Nb250aCBEYXlzSW5ZZWFyCi1zeW4ga2V5d29yZCBjZkZ1bmN0aW9uTmFtZSBjb250YWluZWQgRGVjaW1hbEZvcm1hdCBEZWNyZW1lbnRWYWx1ZSBEZWNyeXB0IERlY3J5cHRCaW5hcnkKLXN5biBrZXl3b3JkIGNmRnVuY3Rpb25OYW1lIGNvbnRhaW5lZCBEZWxldGVDbGllbnRWYXJpYWJsZSBEaXJlY3RvcnlFeGlzdHMgRG9sbGFyRm9ybWF0IER1cGxpY2F0ZQotc3luIGtleXdvcmQgY2ZGdW5jdGlvbk5hbWUgY29udGFpbmVkIEVuY3J5cHQgRW5jcnlwdEJpbmFyeSBFdmFsdWF0ZSBFeHAgRXhwYW5kUGF0aCBGaWxlRXhpc3RzCi1zeW4ga2V5d29yZCBjZkZ1bmN0aW9uTmFtZSBjb250YWluZWQgRmluZCBGaW5kTm9DYXNlIEZpbmRPbmVPZiBGaXJzdERheU9mTW9udGggRml4IEZvcm1hdEJhc2VOCi1zeW4ga2V5d29yZCBjZkZ1bmN0aW9uTmFtZSBjb250YWluZWQgR2VuZXJhdGVTZWNyZXRLZXkgR2V0QXV0aFVzZXIgR2V0QmFzZVRhZ0RhdGEgR2V0QmFzZVRhZ0xpc3QKLXN5biBrZXl3b3JkIGNmRnVuY3Rpb25OYW1lIGNvbnRhaW5lZCBHZXRCYXNlVGVtcGxhdGVQYXRoIEdldENsaWVudFZhcmlhYmxlc0xpc3QgR2V0Q29udGV4dFJvb3QKLXN5biBrZXl3b3JkIGNmRnVuY3Rpb25OYW1lIGNvbnRhaW5lZCBHZXRDdXJyZW50VGVtcGxhdGVQYXRoIEdldERpcmVjdG9yeUZyb21QYXRoIEdldEVuY29kaW5nCi1zeW4ga2V5d29yZCBjZkZ1bmN0aW9uTmFtZSBjb250YWluZWQgR2V0RXhjZXB0aW9uIEdldEZpbGVGcm9tUGF0aCBHZXRGdW5jdGlvbkxpc3QKLXN5biBrZXl3b3JkIGNmRnVuY3Rpb25OYW1lIGNvbnRhaW5lZCBHZXRHYXRld2F5SGVscGVyIEdldEh0dHBSZXF1ZXN0RGF0YSBHZXRIdHRwVGltZVN0cmluZwotc3luIGtleXdvcmQgY2ZGdW5jdGlvbk5hbWUgY29udGFpbmVkIEdldExvY2FsSG9zdElQCi1zeW4ga2V5d29yZCBjZkZ1bmN0aW9uTmFtZSBjb250YWluZWQgR2V0TG9jYWxlIEdldExvY2FsZURpc3BsYXlOYW1lIEdldE1ldGFEYXRhIEdldE1ldHJpY0RhdGEKLXN5biBrZXl3b3JkIGNmRnVuY3Rpb25OYW1lIGNvbnRhaW5lZCBHZXRQYWdlQ29udGV4dCBHZXRQcm9maWxlU2VjdGlvbnMgR2V0UHJvZmlsZVN0cmluZwotc3luIGtleXdvcmQgY2ZGdW5jdGlvbk5hbWUgY29udGFpbmVkIEdldFNPQVBSZXF1ZXN0IEdldFNPQVBSZXF1ZXN0SGVhZGVyIEdldFNPQVBSZXNwb25zZQotc3luIGtleXdvcmQgY2ZGdW5jdGlvbk5hbWUgY29udGFpbmVkIEdldFNPQVBSZXNwb25zZUhlYWRlciBHZXRUZW1wRGlyZWN0b3J5IEdldFRlbXBGaWxlCi1zeW4ga2V5d29yZCBjZkZ1bmN0aW9uTmFtZSBjb250YWluZWQgR2V0VGlja0NvdW50IEdldFRpbWVab25lSW5mbyBHZXRUb2tlbgotc3luIGtleXdvcmQgY2ZGdW5jdGlvbk5hbWUgY29udGFpbmVkIEhUTUxDb2RlRm9ybWF0IEhUTUxFZGl0Rm9ybWF0IEhhc2ggSG91ciBJSWYgSW5jcmVtZW50VmFsdWUKLXN5biBrZXl3b3JkIGNmRnVuY3Rpb25OYW1lIGNvbnRhaW5lZCBJbnB1dEJhc2VOIEluc2VydCBJbnQgSXNBcnJheSBJc0F1dGhlbnRpY2F0ZWQgSXNBdXRob3JpemVkCi1zeW4ga2V5d29yZCBjZkZ1bmN0aW9uTmFtZSBjb250YWluZWQgSXNCaW5hcnkgSXNCb29sZWFuIElzQ3VzdG9tRnVuY3Rpb24gSXNEYXRlIElzRGVidWdNb2RlCi1zeW4ga2V5d29yZCBjZkZ1bmN0aW9uTmFtZSBjb250YWluZWQgSXNEZWZpbmVkCi1zeW4ga2V5d29yZCBjZkZ1bmN0aW9uTmFtZSBjb250YWluZWQgSXNMZWFwWWVhciBJc0xvY2FsSG9zdCBJc051bWVyaWMKLXN5biBrZXl3b3JkIGNmRnVuY3Rpb25OYW1lIGNvbnRhaW5lZCBJc051bWVyaWNEYXRlIElzT2JqZWN0IElzUHJvdGVjdGVkIElzUXVlcnkgSXNTT0FQUmVxdWVzdAotc3luIGtleXdvcmQgY2ZGdW5jdGlvbk5hbWUgY29udGFpbmVkIElzU2ltcGxlVmFsdWUgSXNTdHJ1Y3QgSXNVc2VySW5Sb2xlIElzVmFsaWQgSXNXRERYIElzWE1MCi1zeW4ga2V5d29yZCBjZkZ1bmN0aW9uTmFtZSBjb250YWluZWQgSXNYbWxBdHRyaWJ1dGUgSXNYbWxEb2MgSXNYbWxFbGVtIElzWG1sTm9kZSBJc1htbFJvb3QKLXN5biBrZXl3b3JkIGNmRnVuY3Rpb25OYW1lIGNvbnRhaW5lZCBKU1N0cmluZ0Zvcm1hdCBKYXZhQ2FzdCBMQ2FzZSBMSnVzdGlmeSBMU0N1cnJlbmN5Rm9ybWF0Ci1zeW4ga2V5d29yZCBjZkZ1bmN0aW9uTmFtZSBjb250YWluZWQgTFNEYXRlRm9ybWF0IExTRXVyb0N1cnJlbmN5Rm9ybWF0IExTSXNDdXJyZW5jeSBMU0lzRGF0ZQotc3luIGtleXdvcmQgY2ZGdW5jdGlvbk5hbWUgY29udGFpbmVkIExTSXNOdW1lcmljIExTTnVtYmVyRm9ybWF0IExTUGFyc2VDdXJyZW5jeSBMU1BhcnNlRGF0ZVRpbWUKLXN5biBrZXl3b3JkIGNmRnVuY3Rpb25OYW1lIGNvbnRhaW5lZCBMU1BhcnNlRXVyb0N1cnJlbmN5IExTUGFyc2VOdW1iZXIgTFNUaW1lRm9ybWF0IExUcmltIExlZnQKLXN5biBrZXl3b3JkIGNmRnVuY3Rpb25OYW1lIGNvbnRhaW5lZCBMZW4gTGlzdEFwcGVuZCBMaXN0Q2hhbmdlRGVsaW1zIExpc3RDb250YWlucwotc3luIGtleXdvcmQgY2ZGdW5jdGlvbk5hbWUgY29udGFpbmVkIExpc3RDb250YWluc05vQ2FzZSBMaXN0RGVsZXRlQXQgTGlzdEZpbmQgTGlzdEZpbmROb0Nhc2UKLXN5biBrZXl3b3JkIGNmRnVuY3Rpb25OYW1lIGNvbnRhaW5lZCBMaXN0Rmlyc3QgTGlzdEdldEF0IExpc3RJbnNlcnRBdCBMaXN0TGFzdCBMaXN0TGVuCi1zeW4ga2V5d29yZCBjZkZ1bmN0aW9uTmFtZSBjb250YWluZWQgTGlzdFByZXBlbmQgTGlzdFF1YWxpZnkgTGlzdFJlc3QgTGlzdFNldEF0IExpc3RTb3J0Ci1zeW4ga2V5d29yZCBjZkZ1bmN0aW9uTmFtZSBjb250YWluZWQgTGlzdFRvQXJyYXkgTGlzdFZhbHVlQ291bnQgTGlzdFZhbHVlQ291bnROb0Nhc2UgTG9nIExvZzEwCi1zeW4ga2V5d29yZCBjZkZ1bmN0aW9uTmFtZSBjb250YWluZWQgTWF4IE1pZCBNaW4gTWludXRlIE1vbnRoIE1vbnRoQXNTdHJpbmcgTm93IE51bWJlckZvcm1hdAotc3luIGtleXdvcmQgY2ZGdW5jdGlvbk5hbWUgY29udGFpbmVkIFBhcmFncmFwaEZvcm1hdCBQYXJzZURhdGVUaW1lIFBpCi1zeW4ga2V5d29yZCBjZkZ1bmN0aW9uTmFtZSBjb250YWluZWQgUHJlc2VydmVTaW5nbGVRdW90ZXMgUXVhcnRlciBRdWVyeUFkZENvbHVtbiBRdWVyeUFkZFJvdwotc3luIGtleXdvcmQgY2ZGdW5jdGlvbk5hbWUgY29udGFpbmVkIFF1ZXJ5TmV3IFF1ZXJ5U2V0Q2VsbCBRdW90ZWRWYWx1ZUxpc3QgUkVGaW5kIFJFRmluZE5vQ2FzZQotc3luIGtleXdvcmQgY2ZGdW5jdGlvbk5hbWUgY29udGFpbmVkIFJFUmVwbGFjZSBSRVJlcGxhY2VOb0Nhc2UgUkp1c3RpZnkgUlRyaW0gUmFuZCBSYW5kUmFuZ2UKLXN5biBrZXl3b3JkIGNmRnVuY3Rpb25OYW1lIGNvbnRhaW5lZCBSYW5kb21pemUgUmVsZWFzZUNvbU9iamVjdCBSZW1vdmVDaGFycyBSZXBlYXRTdHJpbmcgUmVwbGFjZQotc3luIGtleXdvcmQgY2ZGdW5jdGlvbk5hbWUgY29udGFpbmVkIFJlcGxhY2VMaXN0IFJlcGxhY2VOb0Nhc2UgUmV2ZXJzZSBSaWdodCBSb3VuZCBTZWNvbmQKLXN5biBrZXl3b3JkIGNmRnVuY3Rpb25OYW1lIGNvbnRhaW5lZCBTZW5kR2F0ZXdheU1lc3NhZ2UgU2V0RW5jb2RpbmcgU2V0TG9jYWxlIFNldFByb2ZpbGVTdHJpbmcKLXN5biBrZXl3b3JkIGNmRnVuY3Rpb25OYW1lIGNvbnRhaW5lZCBTZXRWYXJpYWJsZSBTZ24gU2luIFNwYW5FeGNsdWRpbmcgU3BhbkluY2x1ZGluZyBTcXIgU3RyaXBDUgotc3luIGtleXdvcmQgY2ZGdW5jdGlvbk5hbWUgY29udGFpbmVkIFN0cnVjdEFwcGVuZCBTdHJ1Y3RDbGVhciBTdHJ1Y3RDb3B5IFN0cnVjdENvdW50IFN0cnVjdERlbGV0ZQotc3luIGtleXdvcmQgY2ZGdW5jdGlvbk5hbWUgY29udGFpbmVkIFN0cnVjdEZpbmQgU3RydWN0RmluZEtleSBTdHJ1Y3RGaW5kVmFsdWUgU3RydWN0R2V0Ci1zeW4ga2V5d29yZCBjZkZ1bmN0aW9uTmFtZSBjb250YWluZWQgU3RydWN0SW5zZXJ0IFN0cnVjdElzRW1wdHkgU3RydWN0S2V5QXJyYXkgU3RydWN0S2V5RXhpc3RzCi1zeW4ga2V5d29yZCBjZkZ1bmN0aW9uTmFtZSBjb250YWluZWQgU3RydWN0S2V5TGlzdCBTdHJ1Y3ROZXcgU3RydWN0U29ydCBTdHJ1Y3RVcGRhdGUgVGFuCi1zeW4ga2V5d29yZCBjZkZ1bmN0aW9uTmFtZSBjb250YWluZWQgVGltZUZvcm1hdCBUb0Jhc2U2NCBUb0JpbmFyeSBUb1NjcmlwdCBUb1N0cmluZyBUcmltIFVDYXNlCi1zeW4ga2V5d29yZCBjZkZ1bmN0aW9uTmFtZSBjb250YWluZWQgVVJMRGVjb2RlIFVSTEVuY29kZWRGb3JtYXQgVVJMU2Vzc2lvbkZvcm1hdCBWYWwgVmFsdWVMaXN0Ci1zeW4ga2V5d29yZCBjZkZ1bmN0aW9uTmFtZSBjb250YWluZWQgV2VlayBXcmFwIFdyaXRlT3V0cHV0IFhtbENoaWxkUG9zIFhtbEVsZW1OZXcgWG1sRm9ybWF0Ci1zeW4ga2V5d29yZCBjZkZ1bmN0aW9uTmFtZSBjb250YWluZWQgWG1sR2V0Tm9kZVR5cGUgWG1sTmV3IFhtbFBhcnNlIFhtbFNlYXJjaCBYbWxUcmFuc2Zvcm0KLXN5biBrZXl3b3JkIGNmRnVuY3Rpb25OYW1lIGNvbnRhaW5lZCBYbWxWYWxpZGF0ZSBZZWFyIFllc05vRm9ybWF0CisiIEZ1bmN0aW9ucy4KKyIgQ29sZEZ1c2lvbiA8PTc6CitzeW4ga2V5d29yZAljZkZ1bmN0aW9uTmFtZQkJY29udGFpbmVkIEFDb3MgQVNpbiBBYnMgQWRkU09BUFJlcXVlc3RIZWFkZXIgQWRkU09BUFJlc3BvbnNlSGVhZGVyCitzeW4ga2V5d29yZAljZkZ1bmN0aW9uTmFtZQkJY29udGFpbmVkIEFycmF5QXBwZW5kIEFycmF5QXZnIEFycmF5Q2xlYXIgQXJyYXlEZWxldGVBdCBBcnJheUluc2VydEF0CitzeW4ga2V5d29yZAljZkZ1bmN0aW9uTmFtZQkJY29udGFpbmVkIEFycmF5SXNFbXB0eSBBcnJheUxlbiBBcnJheU1heCBBcnJheU1pbiBBcnJheU5ldworc3luIGtleXdvcmQJY2ZGdW5jdGlvbk5hbWUJCWNvbnRhaW5lZCBBcnJheVByZXBlbmQgQXJyYXlSZXNpemUgQXJyYXlTZXQgQXJyYXlTb3J0IEFycmF5U3VtCitzeW4ga2V5d29yZAljZkZ1bmN0aW9uTmFtZQkJY29udGFpbmVkIEFycmF5U3dhcCBBcnJheVRvTGlzdCBBc2MgQXRuIEF1dGhlbnRpY2F0ZWRDb250ZXh0CitzeW4ga2V5d29yZAljZkZ1bmN0aW9uTmFtZQkJY29udGFpbmVkIEF1dGhlbnRpY2F0ZWRVc2VyIEJpbmFyeURlY29kZSBCaW5hcnlFbmNvZGUgQml0QW5kCitzeW4ga2V5d29yZAljZkZ1bmN0aW9uTmFtZQkJY29udGFpbmVkIEJpdE1hc2tDbGVhciBCaXRNYXNrUmVhZCBCaXRNYXNrU2V0IEJpdE5vdCBCaXRPciBCaXRTSExOCitzeW4ga2V5d29yZAljZkZ1bmN0aW9uTmFtZQkJY29udGFpbmVkIEJpdFNIUk4gQml0WG9yIENKdXN0aWZ5IENlaWxpbmcgQ2hhcnNldERlY29kZSBDaGFyc2V0RW5jb2RlCitzeW4ga2V5d29yZAljZkZ1bmN0aW9uTmFtZQkJY29udGFpbmVkIENociBDb21wYXJlIENvbXBhcmVOb0Nhc2UgQ29zIENyZWF0ZURhdGUgQ3JlYXRlRGF0ZVRpbWUKK3N5biBrZXl3b3JkCWNmRnVuY3Rpb25OYW1lCQljb250YWluZWQgQ3JlYXRlT0RCQ0RhdGUgQ3JlYXRlT0RCQ0RhdGVUaW1lIENyZWF0ZU9EQkNUaW1lCitzeW4ga2V5d29yZAljZkZ1bmN0aW9uTmFtZQkJY29udGFpbmVkIENyZWF0ZU9iamVjdCBDcmVhdGVUaW1lIENyZWF0ZVRpbWVTcGFuIENyZWF0ZVVVSUQgREUgRGF0ZUFkZAorc3luIGtleXdvcmQJY2ZGdW5jdGlvbk5hbWUJCWNvbnRhaW5lZCBEYXRlQ29tcGFyZSBEYXRlQ29udmVydCBEYXRlRGlmZiBEYXRlRm9ybWF0IERhdGVQYXJ0IERheQorc3luIGtleXdvcmQJY2ZGdW5jdGlvbk5hbWUJCWNvbnRhaW5lZCBEYXlPZldlZWsgRGF5T2ZXZWVrQXNTdHJpbmcgRGF5T2ZZZWFyIERheXNJbk1vbnRoIERheXNJblllYXIKK3N5biBrZXl3b3JkCWNmRnVuY3Rpb25OYW1lCQljb250YWluZWQgRGVjaW1hbEZvcm1hdCBEZWNyZW1lbnRWYWx1ZSBEZWNyeXB0IERlY3J5cHRCaW5hcnkKK3N5biBrZXl3b3JkCWNmRnVuY3Rpb25OYW1lCQljb250YWluZWQgRGVsZXRlQ2xpZW50VmFyaWFibGUgRGlyZWN0b3J5RXhpc3RzIERvbGxhckZvcm1hdCBEdXBsaWNhdGUKK3N5biBrZXl3b3JkCWNmRnVuY3Rpb25OYW1lCQljb250YWluZWQgRW5jcnlwdCBFbmNyeXB0QmluYXJ5IEV2YWx1YXRlIEV4cCBFeHBhbmRQYXRoIEZpbGVFeGlzdHMKK3N5biBrZXl3b3JkCWNmRnVuY3Rpb25OYW1lCQljb250YWluZWQgRmluZCBGaW5kTm9DYXNlIEZpbmRPbmVPZiBGaXJzdERheU9mTW9udGggRml4IEZvcm1hdEJhc2VOCitzeW4ga2V5d29yZAljZkZ1bmN0aW9uTmFtZQkJY29udGFpbmVkIEdlbmVyYXRlU2VjcmV0S2V5IEdldEF1dGhVc2VyIEdldEJhc2VUYWdEYXRhIEdldEJhc2VUYWdMaXN0CitzeW4ga2V5d29yZAljZkZ1bmN0aW9uTmFtZQkJY29udGFpbmVkIEdldEJhc2VUZW1wbGF0ZVBhdGggR2V0Q2xpZW50VmFyaWFibGVzTGlzdCBHZXRDb250ZXh0Um9vdAorc3luIGtleXdvcmQJY2ZGdW5jdGlvbk5hbWUJCWNvbnRhaW5lZCBHZXRDdXJyZW50VGVtcGxhdGVQYXRoIEdldERpcmVjdG9yeUZyb21QYXRoIEdldEVuY29kaW5nCitzeW4ga2V5d29yZAljZkZ1bmN0aW9uTmFtZQkJY29udGFpbmVkIEdldEV4Y2VwdGlvbiBHZXRGaWxlRnJvbVBhdGggR2V0RnVuY3Rpb25MaXN0CitzeW4ga2V5d29yZAljZkZ1bmN0aW9uTmFtZQkJY29udGFpbmVkIEdldEdhdGV3YXlIZWxwZXIgR2V0SHR0cFJlcXVlc3REYXRhIEdldEh0dHBUaW1lU3RyaW5nCitzeW4ga2V5d29yZAljZkZ1bmN0aW9uTmFtZQkJY29udGFpbmVkIEdldExvY2FsSG9zdElQCitzeW4ga2V5d29yZAljZkZ1bmN0aW9uTmFtZQkJY29udGFpbmVkIEdldExvY2FsZSBHZXRMb2NhbGVEaXNwbGF5TmFtZSBHZXRNZXRhRGF0YSBHZXRNZXRyaWNEYXRhCitzeW4ga2V5d29yZAljZkZ1bmN0aW9uTmFtZQkJY29udGFpbmVkIEdldFBhZ2VDb250ZXh0IEdldFByb2ZpbGVTZWN0aW9ucyBHZXRQcm9maWxlU3RyaW5nCitzeW4ga2V5d29yZAljZkZ1bmN0aW9uTmFtZQkJY29udGFpbmVkIEdldFNPQVBSZXF1ZXN0IEdldFNPQVBSZXF1ZXN0SGVhZGVyIEdldFNPQVBSZXNwb25zZQorc3luIGtleXdvcmQJY2ZGdW5jdGlvbk5hbWUJCWNvbnRhaW5lZCBHZXRTT0FQUmVzcG9uc2VIZWFkZXIgR2V0VGVtcERpcmVjdG9yeSBHZXRUZW1wRmlsZQorc3luIGtleXdvcmQJY2ZGdW5jdGlvbk5hbWUJCWNvbnRhaW5lZCBHZXRUaWNrQ291bnQgR2V0VGltZVpvbmVJbmZvIEdldFRva2VuCitzeW4ga2V5d29yZAljZkZ1bmN0aW9uTmFtZQkJY29udGFpbmVkIEhUTUxDb2RlRm9ybWF0IEhUTUxFZGl0Rm9ybWF0IEhhc2ggSG91ciBJSWYgSW5jcmVtZW50VmFsdWUKK3N5biBrZXl3b3JkCWNmRnVuY3Rpb25OYW1lCQljb250YWluZWQgSW5wdXRCYXNlTiBJbnNlcnQgSW50IElzQXJyYXkgSXNBdXRoZW50aWNhdGVkIElzQXV0aG9yaXplZAorc3luIGtleXdvcmQJY2ZGdW5jdGlvbk5hbWUJCWNvbnRhaW5lZCBJc0JpbmFyeSBJc0Jvb2xlYW4gSXNDdXN0b21GdW5jdGlvbiBJc0RhdGUgSXNEZWJ1Z01vZGUKK3N5biBrZXl3b3JkCWNmRnVuY3Rpb25OYW1lCQljb250YWluZWQgSXNEZWZpbmVkCitzeW4ga2V5d29yZAljZkZ1bmN0aW9uTmFtZQkJY29udGFpbmVkIElzTGVhcFllYXIgSXNMb2NhbEhvc3QgSXNOdW1lcmljCitzeW4ga2V5d29yZAljZkZ1bmN0aW9uTmFtZQkJY29udGFpbmVkIElzTnVtZXJpY0RhdGUgSXNPYmplY3QgSXNQcm90ZWN0ZWQgSXNRdWVyeSBJc1NPQVBSZXF1ZXN0CitzeW4ga2V5d29yZAljZkZ1bmN0aW9uTmFtZQkJY29udGFpbmVkIElzU2ltcGxlVmFsdWUgSXNTdHJ1Y3QgSXNVc2VySW5Sb2xlIElzVmFsaWQgSXNXRERYIElzWE1MCitzeW4ga2V5d29yZAljZkZ1bmN0aW9uTmFtZQkJY29udGFpbmVkIElzWG1sQXR0cmlidXRlIElzWG1sRG9jIElzWG1sRWxlbSBJc1htbE5vZGUgSXNYbWxSb290CitzeW4ga2V5d29yZAljZkZ1bmN0aW9uTmFtZQkJY29udGFpbmVkIEpTU3RyaW5nRm9ybWF0IEphdmFDYXN0IExDYXNlIExKdXN0aWZ5IExTQ3VycmVuY3lGb3JtYXQKK3N5biBrZXl3b3JkCWNmRnVuY3Rpb25OYW1lCQljb250YWluZWQgTFNEYXRlRm9ybWF0IExTRXVyb0N1cnJlbmN5Rm9ybWF0IExTSXNDdXJyZW5jeSBMU0lzRGF0ZQorc3luIGtleXdvcmQJY2ZGdW5jdGlvbk5hbWUJCWNvbnRhaW5lZCBMU0lzTnVtZXJpYyBMU051bWJlckZvcm1hdCBMU1BhcnNlQ3VycmVuY3kgTFNQYXJzZURhdGVUaW1lCitzeW4ga2V5d29yZAljZkZ1bmN0aW9uTmFtZQkJY29udGFpbmVkIExTUGFyc2VFdXJvQ3VycmVuY3kgTFNQYXJzZU51bWJlciBMU1RpbWVGb3JtYXQgTFRyaW0gTGVmdAorc3luIGtleXdvcmQJY2ZGdW5jdGlvbk5hbWUJCWNvbnRhaW5lZCBMZW4gTGlzdEFwcGVuZCBMaXN0Q2hhbmdlRGVsaW1zIExpc3RDb250YWlucworc3luIGtleXdvcmQJY2ZGdW5jdGlvbk5hbWUJCWNvbnRhaW5lZCBMaXN0Q29udGFpbnNOb0Nhc2UgTGlzdERlbGV0ZUF0IExpc3RGaW5kIExpc3RGaW5kTm9DYXNlCitzeW4ga2V5d29yZAljZkZ1bmN0aW9uTmFtZQkJY29udGFpbmVkIExpc3RGaXJzdCBMaXN0R2V0QXQgTGlzdEluc2VydEF0IExpc3RMYXN0IExpc3RMZW4KK3N5biBrZXl3b3JkCWNmRnVuY3Rpb25OYW1lCQljb250YWluZWQgTGlzdFByZXBlbmQgTGlzdFF1YWxpZnkgTGlzdFJlc3QgTGlzdFNldEF0IExpc3RTb3J0CitzeW4ga2V5d29yZAljZkZ1bmN0aW9uTmFtZQkJY29udGFpbmVkIExpc3RUb0FycmF5IExpc3RWYWx1ZUNvdW50IExpc3RWYWx1ZUNvdW50Tm9DYXNlIExvZyBMb2cxMAorc3luIGtleXdvcmQJY2ZGdW5jdGlvbk5hbWUJCWNvbnRhaW5lZCBNYXggTWlkIE1pbiBNaW51dGUgTW9udGggTW9udGhBc1N0cmluZyBOb3cgTnVtYmVyRm9ybWF0CitzeW4ga2V5d29yZAljZkZ1bmN0aW9uTmFtZQkJY29udGFpbmVkIFBhcmFncmFwaEZvcm1hdCBQYXJzZURhdGVUaW1lIFBpCitzeW4ga2V5d29yZAljZkZ1bmN0aW9uTmFtZQkJY29udGFpbmVkIFByZXNlcnZlU2luZ2xlUXVvdGVzIFF1YXJ0ZXIgUXVlcnlBZGRDb2x1bW4gUXVlcnlBZGRSb3cKK3N5biBrZXl3b3JkCWNmRnVuY3Rpb25OYW1lCQljb250YWluZWQgUXVlcnlOZXcgUXVlcnlTZXRDZWxsIFF1b3RlZFZhbHVlTGlzdCBSRUZpbmQgUkVGaW5kTm9DYXNlCitzeW4ga2V5d29yZAljZkZ1bmN0aW9uTmFtZQkJY29udGFpbmVkIFJFUmVwbGFjZSBSRVJlcGxhY2VOb0Nhc2UgUkp1c3RpZnkgUlRyaW0gUmFuZCBSYW5kUmFuZ2UKK3N5biBrZXl3b3JkCWNmRnVuY3Rpb25OYW1lCQljb250YWluZWQgUmFuZG9taXplIFJlbGVhc2VDb21PYmplY3QgUmVtb3ZlQ2hhcnMgUmVwZWF0U3RyaW5nIFJlcGxhY2UKK3N5biBrZXl3b3JkCWNmRnVuY3Rpb25OYW1lCQljb250YWluZWQgUmVwbGFjZUxpc3QgUmVwbGFjZU5vQ2FzZSBSZXZlcnNlIFJpZ2h0IFJvdW5kIFNlY29uZAorc3luIGtleXdvcmQJY2ZGdW5jdGlvbk5hbWUJCWNvbnRhaW5lZCBTZW5kR2F0ZXdheU1lc3NhZ2UgU2V0RW5jb2RpbmcgU2V0TG9jYWxlIFNldFByb2ZpbGVTdHJpbmcKK3N5biBrZXl3b3JkCWNmRnVuY3Rpb25OYW1lCQljb250YWluZWQgU2V0VmFyaWFibGUgU2duIFNpbiBTcGFuRXhjbHVkaW5nIFNwYW5JbmNsdWRpbmcgU3FyIFN0cmlwQ1IKK3N5biBrZXl3b3JkCWNmRnVuY3Rpb25OYW1lCQljb250YWluZWQgU3RydWN0QXBwZW5kIFN0cnVjdENsZWFyIFN0cnVjdENvcHkgU3RydWN0Q291bnQgU3RydWN0RGVsZXRlCitzeW4ga2V5d29yZAljZkZ1bmN0aW9uTmFtZQkJY29udGFpbmVkIFN0cnVjdEZpbmQgU3RydWN0RmluZEtleSBTdHJ1Y3RGaW5kVmFsdWUgU3RydWN0R2V0CitzeW4ga2V5d29yZAljZkZ1bmN0aW9uTmFtZQkJY29udGFpbmVkIFN0cnVjdEluc2VydCBTdHJ1Y3RJc0VtcHR5IFN0cnVjdEtleUFycmF5IFN0cnVjdEtleUV4aXN0cworc3luIGtleXdvcmQJY2ZGdW5jdGlvbk5hbWUJCWNvbnRhaW5lZCBTdHJ1Y3RLZXlMaXN0IFN0cnVjdE5ldyBTdHJ1Y3RTb3J0IFN0cnVjdFVwZGF0ZSBUYW4KK3N5biBrZXl3b3JkCWNmRnVuY3Rpb25OYW1lCQljb250YWluZWQgVGltZUZvcm1hdCBUb0Jhc2U2NCBUb0JpbmFyeSBUb1NjcmlwdCBUb1N0cmluZyBUcmltIFVDYXNlCitzeW4ga2V5d29yZAljZkZ1bmN0aW9uTmFtZQkJY29udGFpbmVkIFVSTERlY29kZSBVUkxFbmNvZGVkRm9ybWF0IFVSTFNlc3Npb25Gb3JtYXQgVmFsIFZhbHVlTGlzdAorc3luIGtleXdvcmQJY2ZGdW5jdGlvbk5hbWUJCWNvbnRhaW5lZCBXZWVrIFdyYXAgV3JpdGVPdXRwdXQgWG1sQ2hpbGRQb3MgWG1sRWxlbU5ldyBYbWxGb3JtYXQKK3N5biBrZXl3b3JkCWNmRnVuY3Rpb25OYW1lCQljb250YWluZWQgWG1sR2V0Tm9kZVR5cGUgWG1sTmV3IFhtbFBhcnNlIFhtbFNlYXJjaCBYbWxUcmFuc2Zvcm0KK3N5biBrZXl3b3JkCWNmRnVuY3Rpb25OYW1lCQljb250YWluZWQgWG1sVmFsaWRhdGUgWWVhciBZZXNOb0Zvcm1hdAorIiBDb2xkRnVzaW9uIDg6CitzeW4ga2V5d29yZAljZkZ1bmN0aW9uTmFtZQkJY29udGFpbmVkIEFqYXhMaW5rIEFqYXhPbkxvYWQgQXJyYXlJc0RlZmluZWQgQmluYXJ5RGVjb2RlIEJpbmFyeUVuY29kZSBDaGFyc2V0RGVjb2RlIENoYXJzZXRFbmNvZGUgCitzeW4ga2V5d29yZAljZkZ1bmN0aW9uTmFtZQkJY29udGFpbmVkIERlY3J5cHRCaW5hcnkgRGVzZXJpYWxpemVKU09OIERvdE5ldFRvQ0ZUeXBlIEVuY3J5cHRCaW5hcnkgRmlsZUNsb3NlIEZpbGVDb3B5IEZpbGVEZWxldGUKK3N5biBrZXl3b3JkCWNmRnVuY3Rpb25OYW1lCQljb250YWluZWQgRmlsZUlzRU9GIEZpbGVNb3ZlIEZpbGVPcGVuIEZpbGVSZWFkIEZpbGVSZWFkQmluYXJ5IEZpbGVSZWFkTGluZSBGaWxlU2V0QWNjZXNzTW9kZSBGaWxlU2V0QXR0cmlidXRlCitzeW4ga2V5d29yZAljZkZ1bmN0aW9uTmFtZQkJY29udGFpbmVkIEZpbGVTZXRMYXN0TW9kaWZpZWQgRmlsZVdyaXRlIEdlbmVyYXRlU2VjcmV0S2V5IEdldEdhdGV3YXlIZWxwZXIgR2V0QXV0aFVzZXIgR2V0Q29tcG9uZW50TWV0YURhdGEKK3N5biBrZXl3b3JkCWNmRnVuY3Rpb25OYW1lCQljb250YWluZWQgR2V0Q29udGV4dFJvb3QgR2V0RW5jb2RpbmcgR2V0RmlsZUluZm8gR2V0TG9jYWxlRGlzcGxheU5hbWUgR2V0TG9jYWxIb3N0SVAgR2V0TWV0YURhdGEKK3N5biBrZXl3b3JkCWNmRnVuY3Rpb25OYW1lCQljb250YWluZWQgR2V0UGFnZUNvbnRleHQgR2V0UHJpbnRlckluZm8gR2V0UHJvZmlsZVNlY3Rpb25zIEdldFJlYWRhYmxlSW1hZ2VGb3JtYXRzIEdldFNPQVBSZXF1ZXN0CitzeW4ga2V5d29yZAljZkZ1bmN0aW9uTmFtZQkJY29udGFpbmVkIEdldFNPQVBSZXF1ZXN0SGVhZGVyIEdldFNPQVBSZXNwb25zZSBHZXRTT0FQUmVzcG9uc2VIZWFkZXIgR2V0VXNlclJvbGVzIEdldFdyaXRlYWJsZUltYWdlRm9ybWF0cworc3luIGtleXdvcmQJY2ZGdW5jdGlvbk5hbWUJCWNvbnRhaW5lZCBJbWFnZUFkZEJvcmRlciBJbWFnZUJsdXIgSW1hZ2VDbGVhclJlY3QgSW1hZ2VDb3B5IEltYWdlQ3JvcCBJbWFnZURyYXdBcmMgSW1hZ2VEcmF3QmV2ZWxlZFJlY3QKK3N5biBrZXl3b3JkCWNmRnVuY3Rpb25OYW1lCQljb250YWluZWQgSW1hZ2VEcmF3Q3ViaWNDdXJ2ZSBJbWFnZURyYXdQb2ludCBJbWFnZURyYXdMaW5lIEltYWdlRHJhd0xpbmVzIEltYWdlRHJhd092YWwKK3N5biBrZXl3b3JkCWNmRnVuY3Rpb25OYW1lCQljb250YWluZWQgSW1hZ2VEcmF3UXVhZHJhdGljQ3VydmUgSW1hZ2VEcmF3UmVjdCBJbWFnZURyYXdSb3VuZFJlY3QgSW1hZ2VEcmF3VGV4dCBJbWFnZUZsaXAgSW1hZ2VHZXRCbG9iCitzeW4ga2V5d29yZAljZkZ1bmN0aW9uTmFtZQkJY29udGFpbmVkIEltYWdlR2V0QnVmZmVyZWRJbWFnZSBJbWFnZUdldEVYSUZNZXRhZGF0YSBJbWFnZUdldEVYSUZUYWcgSW1hZ2VHZXRIZWlnaHQgSW1hZ2VHZXRJUFRDTWV0YWRhdGEKK3N5biBrZXl3b3JkCWNmRnVuY3Rpb25OYW1lCQljb250YWluZWQgSW1hZ2VHZXRJUFRDVGFnIEltYWdlR2V0V2lkdGggSW1hZ2VHcmF5c2NhbGUgSW1hZ2VJbmZvIEltYWdlTmVnYXRpdmUgSW1hZ2VOZXcgSW1hZ2VPdmVybGF5CitzeW4ga2V5d29yZAljZkZ1bmN0aW9uTmFtZQkJY29udGFpbmVkIEltYWdlUGFzdGUgSW1hZ2VSZWFkIEltYWdlUmVhZEJhc2U2NCBJbWFnZVJlc2l6ZSBJbWFnZVJvdGF0ZSBJbWFnZVJvdGF0ZURyYXdpbmdBeGlzIEltYWdlU2NhbGVUb0ZpdCAKKyIgQ29sZEZ1c2lvbiA5Ogorc3luIGtleXdvcmQJY2ZGdW5jdGlvbk5hbWUJCWNvbnRhaW5lZCBBcHBsaWNhdGlvblN0b3AgQXJyYXlDb250YWlucyBBcnJheURlbGV0ZSBBcnJheUZpbmQgQXJyYXlGaW5kTm9DYXNlIElzU3ByZWFkc2hlZXRGaWxlCitzeW4ga2V5d29yZAljZkZ1bmN0aW9uTmFtZQkJY29udGFpbmVkIElzU3ByZWFkc2hlZXRPYmplY3QgRmlsZVNraXBCeXRlcyBMb2NhdGlvbiBPYmplY3RMb2FkIFNwcmVhZHNoZWV0Rm9ybWF0Q29sdW1uCitzeW4ga2V5d29yZAljZkZ1bmN0aW9uTmFtZQkJY29udGFpbmVkIFNwcmVhZHNoZWV0Rm9ybWF0Q29sdW1ucyBTcHJlYWRzaGVldEZvcm1hdFJvdyBTcHJlYWRzaGVldEZvcm1hdFJvd3MgU3ByZWFkc2hlZXRHZXRDZWxsQ29tbWVudAorc3luIGtleXdvcmQJY2ZGdW5jdGlvbk5hbWUJCWNvbnRhaW5lZCBDYWNoZUdldEFsbElkcyBDYWNoZUdldE1ldGFkYXRhIENhY2hlR2V0UHJvcGVydGllcyBDYWNoZUdldCBDYWNoZVB1dCBPYmplY3RTYXZlIE9STUNsZWFyU2Vzc2lvbgorc3luIGtleXdvcmQJY2ZGdW5jdGlvbk5hbWUJCWNvbnRhaW5lZCBPUk1DbG9zZVNlc3Npb24gT1JNRXZpY3RRdWVyaWVzIE9STUV2aWN0Q29sbGVjdGlvbiBTcHJlYWRzaGVldEdldENlbGxGb3JtdWxhIFNwcmVhZHNoZWV0R2V0Q2VsbFZhbHVlCitzeW4ga2V5d29yZAljZkZ1bmN0aW9uTmFtZQkJY29udGFpbmVkIFNwcmVhZHNoZWV0SW5mbyBTcHJlYWRzaGVldE1lcmdlQ2VsbHMgU3ByZWFkc2hlZXROZXcgQ2FjaGVSZW1vdmUgQ2FjaGVTZXRQcm9wZXJ0aWVzIERpcmVjdG9yeUNyZWF0ZQorc3luIGtleXdvcmQJY2ZGdW5jdGlvbk5hbWUJCWNvbnRhaW5lZCBEaXJlY3RvcnlEZWxldGUgRGlyZWN0b3J5RXhpc3RzIE9STUV2aWN0RW50aXR5IE9STUV2aWN0UXVlcmllcyBPUk1FeGVjdXRlUXVlcnkgT1JNRmx1c2gKK3N5biBrZXl3b3JkCWNmRnVuY3Rpb25OYW1lCQljb250YWluZWQgT1JNR2V0U2Vzc2lvbiBTcHJlYWRzaGVldFJlYWQgU3ByZWFkc2hlZXRSZWFkQmluYXJ5IFNwcmVhZHNoZWV0U2V0QWN0aXZlU2hlZXROdW1iZXIKK3N5biBrZXl3b3JkCWNmRnVuY3Rpb25OYW1lCQljb250YWluZWQgU3ByZWFkc2hlZXRTZXRDZWxsQ29tbWVudCBTcHJlYWRzaGVldFNldENlbGxGb3JtdWxhIERpcmVjdG9yeUxpc3QgRGlyZWN0b3J5UmVuYW1lIEVudGl0eURlbGV0ZQorc3luIGtleXdvcmQJY2ZGdW5jdGlvbk5hbWUJCWNvbnRhaW5lZCBFbnRpdHlMb2FkIEVudGl0eUxvYWRCeUV4YW1wbGUgT1JNR2V0U2Vzc2lvbkZhY3RvcnkgT1JNUmVsb2FkIE9iamVjdEVxdWFscyBTcHJlYWRzaGVldEFkZENvbHVtbgorc3luIGtleXdvcmQJY2ZGdW5jdGlvbk5hbWUJCWNvbnRhaW5lZCBTcHJlYWRzaGVldEFkZEZyZWV6ZVBhbmUgU3ByZWFkc2hlZXRTZXRDZWxsVmFsdWUgU3ByZWFkc2hlZXRTZXRBY3RpdmVTaGVldCBTcHJlYWRzaGVldFNldEZvb3Rlcgorc3luIGtleXdvcmQJY2ZGdW5jdGlvbk5hbWUJCWNvbnRhaW5lZCBTcHJlYWRzaGVldFNldEhlYWRlciBTcHJlYWRzaGVldFNldENvbHVtbldpZHRoIEVudGl0eUxvYWRCeVBLIEVudGl0eU1lcmdlIEVudGl0eU5ldyBFbnRpdHlSZWxvYWQKK3N5biBrZXl3b3JkCWNmRnVuY3Rpb25OYW1lCQljb250YWluZWQgRW50aXR5U2F2ZSBTcHJlYWRzaGVldEFkZEltYWdlIFNwcmVhZHNoZWV0QWRkSW5mbyBTcHJlYWRzaGVldEFkZFJvdyBTcHJlYWRzaGVldEFkZFJvd3MKK3N5biBrZXl3b3JkCWNmRnVuY3Rpb25OYW1lCQljb250YWluZWQgU3ByZWFkc2hlZXRBZGRTcGxpdFBhbmUgU3ByZWFkc2hlZXRTaGlmdENvbHVtbnMgU3ByZWFkc2hlZXRTaGlmdFJvd3MgU3ByZWFkc2hlZXRTZXRSb3dIZWlnaHQKK3N5biBrZXl3b3JkCWNmRnVuY3Rpb25OYW1lCQljb250YWluZWQgU3ByZWFkc2hlZXRXcml0ZSBUcmFjZSBGaWxlRGVsZXRlIEZpbGVTZWVrIEZpbGVXcml0ZUxpbmUgR2V0RnVuY3Rpb25DYWxsZWROYW1lIEdldFZGU01ldGFEYXRhIElzSVB2Ngorc3luIGtleXdvcmQJY2ZGdW5jdGlvbk5hbWUJCWNvbnRhaW5lZCBJc051bGwgU3ByZWFkc2hlZXRDcmVhdGVTaGVldCBTcHJlYWRzaGVldERlbGV0ZUNvbHVtbiBTcHJlYWRzaGVldERlbGV0ZUNvbHVtbnMgU3ByZWFkc2hlZXREZWxldGVSb3cKK3N5biBrZXl3b3JkCWNmRnVuY3Rpb25OYW1lCQljb250YWluZWQgU3ByZWFkc2hlZXREZWxldGVSb3dzIFNwcmVhZHNoZWV0Rm9ybWF0Q2VsbCBUcmFuc2FjdGlvbkNvbW1pdCBUcmFuc2FjdGlvblJvbGxiYWNrCitzeW4ga2V5d29yZAljZkZ1bmN0aW9uTmFtZQkJY29udGFpbmVkIFRyYW5zYWN0aW9uU2V0U2F2ZVBvaW50IFRocmVhZFRlcm1pbmF0ZSBUaHJlYWRKb2luIFRocm93IFdyaXRlZHVtcCBXcml0ZWxvZyAKIAotIiBEZXByZWNhdGVkIHRhZ3MgYW5kIGZ1bmN0aW9ucy4KLXN5biBrZXl3b3JkIGNmRGVwcmVjYXRlZCBjb250YWluZWQgY2ZhdXRoZW50aWNhdGUgY2ZpbXBlcnNvbmF0ZSBjZmdyYXBoIGNmZ3JhcGhkYXRhCi1zeW4ga2V5d29yZCBjZkRlcHJlY2F0ZWQgY29udGFpbmVkIGNmc2VydmxldCBjZnNlcnZsZXRwYXJhbSBjZnRleHRpbnB1dAotc3luIGtleXdvcmQgY2ZEZXByZWNhdGVkIGNvbnRhaW5lZCBHZXRLMlNlcnZlckRvY0NvdW50IEdldEsyU2VydmVyRG9jQ291bnRMaW1pdCBHZXRUZW1wbGF0ZVBhdGgKLXN5biBrZXl3b3JkIGNmRGVwcmVjYXRlZCBjb250YWluZWQgSXNLMlNlcnZlckFCcm9rZXIgSXNLMlNlcnZlckRvY0NvdW50RXhjZWVkZWQgSXNLMlNlcnZlck9ubGluZQotc3luIGtleXdvcmQgY2ZEZXByZWNhdGVkIGNvbnRhaW5lZCBQYXJhbWV0ZXJFeGlzdHMKKyIgRGVwcmVjYXRlZCBvciBvYnNvbGV0ZWQgdGFncyBhbmQgZnVuY3Rpb25zLgorc3luIGtleXdvcmQJY2ZEZXByZWNhdGVkVGFnCQljb250YWluZWQgY2ZhdXRoZW50aWNhdGUgY2ZpbXBlcnNvbmF0ZSBjZmdyYXBoIGNmZ3JhcGhkYXRhCitzeW4ga2V5d29yZAljZkRlcHJlY2F0ZWRUYWcJCWNvbnRhaW5lZCBjZnNlcnZsZXQgY2ZzZXJ2bGV0cGFyYW0gY2Z0ZXh0aW5wdXQKK3N5biBrZXl3b3JkCWNmRGVwcmVjYXRlZFRhZwkJY29udGFpbmVkIGNmaW50ZXJuYWxhZG1pbnNlY3VyaXR5IGNmbmV3aW50ZXJuYWxhZG1pbnNlY3VyaXR5CitzeW4ga2V5d29yZAljZkRlcHJlY2F0ZWRGdW5jdGlvbgljb250YWluZWQgR2V0SzJTZXJ2ZXJEb2NDb3VudCBHZXRLMlNlcnZlckRvY0NvdW50TGltaXQgR2V0VGVtcGxhdGVQYXRoCitzeW4ga2V5d29yZAljZkRlcHJlY2F0ZWRGdW5jdGlvbgljb250YWluZWQgSXNLMlNlcnZlckFCcm9rZXIgSXNLMlNlcnZlckRvY0NvdW50RXhjZWVkZWQgSXNLMlNlcnZlck9ubGluZQorc3luIGtleXdvcmQJY2ZEZXByZWNhdGVkRnVuY3Rpb24JY29udGFpbmVkIFBhcmFtZXRlckV4aXN0cyBBdXRoZW50aWNhdGVkQ29udGV4dCBBdXRoZW50aWNhdGVkVXNlcgorc3luIGtleXdvcmQJY2ZEZXByZWNhdGVkRnVuY3Rpb24JY29udGFpbmVkIGlzQXV0aGVudGljYXRlZCBpc0F1dGhvcml6ZWQgaXNQcm90ZWN0ZWQKIAotc3luIGNsdXN0ZXIgaHRtbFRhZ05hbWVDbHVzdGVyIGFkZD1jZlRhZ05hbWUKLXN5biBjbHVzdGVyIGh0bWxBcmdDbHVzdGVyIGFkZD1jZkFyZyxjZkhhc2hSZWdpb24sY2ZTY29wZQotc3luIGNsdXN0ZXIgaHRtbFByZXByb2MgYWRkPWNmSGFzaFJlZ2lvbgorIiBBZGQgdG8gdGhlIEhUTUwgY2x1c3RlcnMuCitzeW4gY2x1c3RlcglodG1sVGFnTmFtZUNsdXN0ZXIJYWRkPWNmVGFnTmFtZSxjZkN1c3RvbVRhZ05hbWUsY2ZEZXByZWNhdGVkVGFnCitzeW4gY2x1c3RlcglodG1sQXJnQ2x1c3RlcgkJYWRkPWNmQXJnLGNmSGFzaFJlZ2lvbixjZlNjb3BlCitzeW4gY2x1c3RlcglodG1sUHJlcHJvYwkJYWRkPWNmSGFzaFJlZ2lvbgogCi1zeW4gY2x1c3RlciBjZkV4cHJlc3Npb25DbHVzdGVyIGNvbnRhaW5zPWNmRnVuY3Rpb25OYW1lLGNmU2NvcGUsQGNmT3BlcmF0b3JDbHVzdGVyLGNmU2NyaXB0U3RyaW5nRCxjZlNjcmlwdFN0cmluZ1MsY2ZTY3JpcHROdW1iZXIsY2ZCb29sCitzeW4gY2x1c3RlcgljZkV4cHJlc3Npb25DbHVzdGVyCWNvbnRhaW5zPWNmRnVuY3Rpb25OYW1lLGNmU2NvcGUsQGNmT3BlcmF0b3JDbHVzdGVyLGNmU2NyaXB0U3RyaW5nRCxjZlNjcmlwdFN0cmluZ1MsY2ZTY3JpcHROdW1iZXIsY2ZCb29sLGNmQ29tbWVudAogCiAiIEV2YWx1YXRpb247IHNraXAgc3RyaW5ncyAoIHRoaXMgaGVscHMgd2l0aCBjYXNlcyBsaWtlIG5lc3RlZCBJSWYoKSApCi1zeW4gcmVnaW9uIGNmSGFzaFJlZ2lvbiBzdGFydD0rIysgc2tpcD0rIlteIl0qIlx8J1teJ10qJysgZW5kPSsjKyBjb250YWlucz1AY2ZFeHByZXNzaW9uQ2x1c3RlcixjZlNjcmlwdFBhcmVuRXJyb3IKKyIJCWNvbnRhaW5lZGluIHRvIGFkZCB0byB0aGUgVE9QIG9mIGNmT3V0cHV0UmVnaW9uLgorc3luIHJlZ2lvbgljZkhhc2hSZWdpb24JCXN0YXJ0PSsjKyBza2lwPSsiW14iXSoiXHwnW14nXSonKyBlbmQ9KyMrIGNvbnRhaW5lZCBjb250YWluZWRpbj1jZk91dHB1dFJlZ2lvbiBjb250YWlucz1AY2ZFeHByZXNzaW9uQ2x1c3RlcixjZlNjcmlwdFBhcmVuRXJyb3IKKworIiBIYXNobWFya3MgYXJlIHNpZ25pZmljYW50IGluc2lkZSBjZm91dHB1dCB0YWdzLgorIiBjZm91dHB1dCB0YWdzIG1heSBiZSBuZXN0ZWQgaW5kZWZpbml0ZWx5Lgorc3luIHJlZ2lvbgljZk91dHB1dFJlZ2lvbgkJbWF0Y2hncm91cD1OT05FIHRyYW5zcGFyZW50IHN0YXJ0PSs8Y2ZvdXRwdXQ+KyBlbmQ9KzwvY2ZvdXRwdXQ+KyBjb250YWlucz1UT1AKIAogIiA8Y2ZzZXQ+LCA8Y2ZpZj4sIDxjZmVsc2VpZj4sIDxjZnJldHVybj4gYXJlIGFuYWxvZ291cyB0byBoYXNobWFya3MgKGltcGxpY2l0CiAiIGV2YWx1YXRpb24pIGFuZCBoYXZlICd2YXInCi1zeW4gcmVnaW9uIGNmU2V0UmVnaW9uIHN0YXJ0PSI8Y2ZzZXQgIiBzdGFydD0iPGNmcmV0dXJuICIgc3RhcnQ9IjxjZmVsc2VpZiAiIHN0YXJ0PSI8Y2ZpZiAiIGVuZD0nPicga2VlcGVuZCBjb250YWlucz1AY2ZFeHByZXNzaW9uQ2x1c3RlcixjZlNldExIU1JlZ2lvbixjZlNldFRhZ0VuZCxjZlNjcmlwdFR5cGUKLXN5biByZWdpb24gY2ZTZXRMSFNSZWdpb24gY29udGFpbmVkIHN0YXJ0PSI8Y2ZyZXR1cm4iIHN0YXJ0PSI8Y2ZlbHNlaWYiIHN0YXJ0PSI8Y2ZpZiIgc3RhcnQ9IjxjZnNldCIgZW5kPSIgIiBrZWVwZW5kIGNvbnRhaW5zPWNmVGFnTmFtZSxodG1sVGFnCi1zeW4gbWF0Y2ggIGNmU2V0VGFnRW5kIGNvbnRhaW5lZCAnPicKK3N5biByZWdpb24JY2ZTZXRSZWdpb24JCXN0YXJ0PSI8Y2ZzZXRcPiIgc3RhcnQ9IjxjZnJldHVyblw+IiBzdGFydD0iPGNmZWxzZWlmXD4iIHN0YXJ0PSI8Y2ZpZlw+IiBlbmQ9Jz4nIGtlZXBlbmQgY29udGFpbnM9QGNmRXhwcmVzc2lvbkNsdXN0ZXIsY2ZTZXRMSFNSZWdpb24sY2ZTZXRUYWdFbmQsY2ZTY3JpcHRTdGF0ZW1lbnQKK3N5biByZWdpb24JY2ZTZXRMSFNSZWdpb24JCWNvbnRhaW5lZCBzdGFydD0iPGNmcmV0dXJuIiBzdGFydD0iPGNmZWxzZWlmIiBzdGFydD0iPGNmaWYiIHN0YXJ0PSI8Y2ZzZXQiIGVuZD0iLiIga2VlcGVuZCBjb250YWlucz1jZlRhZ05hbWUsaHRtbFRhZworc3luIG1hdGNoCWNmU2V0VGFnRW5kCQljb250YWluZWQgJz4nCiAKLSIgQ0YgY29tbWVudHM6IHNpbWlsYXIgdG8gU0dNTCBjb21tZW50cwotc3luIHJlZ2lvbiAgY2ZDb21tZW50ICAgICBzdGFydD0nPCEtLS0nIGVuZD0nLS0tPicga2VlcGVuZCBjb250YWlucz1jZkNvbW1lbnRUb2RvCi1zeW4ga2V5d29yZCBjZkNvbW1lbnRUb2RvIGNvbnRhaW5lZCBUT0RPIEZJWE1FIFhYWCBUQkQgV1RGIAorIiBDRiBjb21tZW50czogc2ltaWxhciB0byBTR01MIGNvbW1lbnRzLCBidXQgY2FuIGJlIG5lc3RlZC4KK3N5biByZWdpb24JY2ZDb21tZW50CQlzdGFydD0nPCEtLS0nIGVuZD0nLS0tPicgY29udGFpbnM9Y2ZDb21tZW50VG9kbyxjZkNvbW1lbnQKK3N5biBrZXl3b3JkCWNmQ29tbWVudFRvZG8JCWNvbnRhaW5lZCBUT0RPIEZJWE1FIFhYWCBUQkQgV1RGIAogCiAiIENGc2NyaXB0IAotc3luIG1hdGNoICAgY2ZTY3JpcHRMaW5lQ29tbWVudCAgICAgIGNvbnRhaW5lZCAiXC9cLy4qJCIgY29udGFpbnM9Y2ZDb21tZW50VG9kbwotc3luIHJlZ2lvbiAgY2ZTY3JpcHRDb21tZW50CSAgICAgY29udGFpbmVkIHN0YXJ0PSIvXCoiICBlbmQ9IlwqLyIgY29udGFpbnM9Y2ZDb21tZW50VG9kbworIiBUT0RPIGJldHRlciBzdXBwb3J0IGZvciBuZXcgY29tcG9uZW50L2Z1bmN0aW9uIGRlZiBzeW50YXgKKyIgVE9ETyBiZXR0ZXIgc3VwcG9ydCBmb3IgJ25ldycKKyIgVE9ETyBoaWdobGlnaHQgbWV0YWRhdGEgKEAgLi4uKSBpbnNpZGUgY29tbWVudHMuCitzeW4gbWF0Y2gJY2ZTY3JpcHRMaW5lQ29tbWVudAljb250YWluZWQgIlwvXC8uKiQiIGNvbnRhaW5zPWNmQ29tbWVudFRvZG8KK3N5biByZWdpb24JY2ZTY3JpcHRDb21tZW50CQljb250YWluZWQgc3RhcnQ9Ii9cKiIJZW5kPSJcKi8iIGNvbnRhaW5zPWNmQ29tbWVudFRvZG8KK3N5biBtYXRjaAljZlNjcmlwdEJyYWNlcwkJY29udGFpbmVkICJbe31dIgorc3luIGtleXdvcmQJY2ZTY3JpcHRTdGF0ZW1lbnQJY29udGFpbmVkIHJldHVybiB2YXIKICIgaW4gQ0YsIHF1b3RlcyBhcmUgZXNjYXBlZCBieSBkb3VibGluZwotc3luIHJlZ2lvbiAgY2ZTY3JpcHRTdHJpbmdECSAgICAgY29udGFpbmVkIHN0YXJ0PSsiKyAgc2tpcD0rXFxcXFx8IiIrICBlbmQ9KyIrICBleHRlbmQgY29udGFpbnM9QGh0bWxQcmVwcm9jLGNmSGFzaFJlZ2lvbgotc3luIHJlZ2lvbiAgY2ZTY3JpcHRTdHJpbmdTCSAgICAgY29udGFpbmVkIHN0YXJ0PSsnKyAgc2tpcD0rXFxcXFx8JycrICBlbmQ9KycrICBleHRlbmQgY29udGFpbnM9QGh0bWxQcmVwcm9jLGNmSGFzaFJlZ2lvbgotc3luIG1hdGNoICAgY2ZTY3JpcHROdW1iZXIJICAgICBjb250YWluZWQgIlw8XGRcK1w+Igotc3luIGtleXdvcmQgY2ZTY3JpcHRDb25kaXRpb25hbCAgICAgIGNvbnRhaW5lZCBpZiBlbHNlCi1zeW4ga2V5d29yZCBjZlNjcmlwdFJlcGVhdAkgICAgIGNvbnRhaW5lZCB3aGlsZSBmb3IgaW4KLXN5biBrZXl3b3JkIGNmU2NyaXB0QnJhbmNoCSAgICAgY29udGFpbmVkIGJyZWFrIHN3aXRjaCBjYXNlIGRlZmF1bHQgdHJ5IGNhdGNoIGNvbnRpbnVlCi1zeW4ga2V5d29yZCBjZlNjcmlwdEZ1bmN0aW9uCSAgICAgY29udGFpbmVkIGZ1bmN0aW9uCi1zeW4ga2V5d29yZCBjZlNjcmlwdFR5cGUJICAgICBjb250YWluZWQgdmFyCi1zeW4gbWF0Y2ggICBjZlNjcmlwdEJyYWNlcwkgICAgIGNvbnRhaW5lZCAiW3t9XSIKLXN5biBrZXl3b3JkIGNmU2NyaXB0U3RhdGVtZW50ICAgICAgICBjb250YWluZWQgcmV0dXJuCitzeW4gcmVnaW9uCWNmU2NyaXB0U3RyaW5nRAkJY29udGFpbmVkIHN0YXJ0PSsiKwlza2lwPStcXFxcXHwiIisJZW5kPSsiKwlleHRlbmQgY29udGFpbnM9QGh0bWxQcmVwcm9jLGNmSGFzaFJlZ2lvbgorc3luIHJlZ2lvbgljZlNjcmlwdFN0cmluZ1MJCWNvbnRhaW5lZCBzdGFydD0rJysJc2tpcD0rXFxcXFx8JycrCWVuZD0rJysJZXh0ZW5kIGNvbnRhaW5zPUBodG1sUHJlcHJvYyxjZkhhc2hSZWdpb24KK3N5biBtYXRjaAljZlNjcmlwdE51bWJlcgkJY29udGFpbmVkICJcPFxkXCtcPiIKK3N5biBrZXl3b3JkCWNmU2NyaXB0Q29uZGl0aW9uYWwJY29udGFpbmVkIGlmIGVsc2UKK3N5biBrZXl3b3JkCWNmU2NyaXB0UmVwZWF0CQljb250YWluZWQgd2hpbGUgZm9yIGluCitzeW4ga2V5d29yZAljZlNjcmlwdEJyYW5jaAkJY29udGFpbmVkIGJyZWFrIHN3aXRjaCBjYXNlIGRlZmF1bHQgdHJ5IGNhdGNoIGNvbnRpbnVlIGZpbmFsbHkKK3N5biBrZXl3b3JkCWNmU2NyaXB0S2V5d29yZAkJY29udGFpbmVkIGZ1bmN0aW9uCisiIGFyZ3VtZW50Q29sbGVjdGlvbiBpcyBhIHNwZWNpYWwgYXJndW1lbnQgdG8gZnVuY3Rpb24gY2FsbHMKK3N5biBrZXl3b3JkCWNmU2NyaXB0U3BlY2lhbAkJY29udGFpbmVkIGFyZ3VtZW50Y29sbGVjdGlvbgorIiBDb2xkRnVzaW9uIDk6CitzeW4ga2V5d29yZAljZlNjcmlwdFN0YXRlbWVudAljb250YWluZWQgbmV3IGltcG9ydAorIiBDRnNjcmlwdCBlcXVpdmFsZW50cyBvZiBzb21lIHRhZ3MKK3N5biBrZXl3b3JkCWNmU2NyaXB0S2V5d29yZAkJY29udGFpbmVkIGFib3J0IGNvbXBvbmVudCBleGl0IGltcG9ydCBpbmNsdWRlCitzeW4ga2V5d29yZAljZlNjcmlwdEtleXdvcmQJCWNvbnRhaW5lZCBpbnRlcmZhY2UgcGFyYW0gcGFnZWVuY29kaW5nIHByb3BlcnR5IHJldGhyb3cgdGhyZWFkIHRyYW5zYWN0aW9uCisiIGZ1bmN0aW9uL2NvbXBvbmVudCBzeW50YXgKK3N5biBrZXl3b3JkCWNmU2NyaXB0U3BlY2lhbAkJY29udGFpbmVkIHJlcXVpcmVkIGV4dGVuZHMKIAotc3luIGNsdXN0ZXIgY2ZTY3JpcHRDbHVzdGVyIGNvbnRhaW5zPWNmU2NyaXB0UGFyZW4sY2ZTY3JpcHRMaW5lQ29tbWVudCxjZlNjcmlwdENvbW1lbnQsY2ZTY3JpcHRTdHJpbmdELGNmU2NyaXB0U3RyaW5nUyxjZlNjcmlwdEZ1bmN0aW9uLGNmU2NyaXB0TnVtYmVyLGNmU2NyaXB0UmVnZXhwU3RyaW5nLGNmU2NyaXB0Qm9vbGVhbixjZlNjcmlwdEJyYWNlcyxjZkhhc2hSZWdpb24sY2ZGdW5jdGlvbk5hbWUsY2ZTY29wZSxAY2ZPcGVyYXRvckNsdXN0ZXIsY2ZTY3JpcHRDb25kaXRpb25hbCxjZlNjcmlwdFJlcGVhdCxjZlNjcmlwdEJyYW5jaCxjZlNjcmlwdFR5cGUsQGNmRXhwcmVzc2lvbkNsdXN0ZXIsY2ZTY3JpcHRTdGF0ZW1lbnQKKworc3luIGNsdXN0ZXIJY2ZTY3JpcHRDbHVzdGVyCWNvbnRhaW5zPWNmU2NyaXB0UGFyZW4sY2ZTY3JpcHRMaW5lQ29tbWVudCxjZlNjcmlwdENvbW1lbnQsY2ZTY3JpcHRTdHJpbmdELGNmU2NyaXB0U3RyaW5nUyxjZlNjcmlwdEZ1bmN0aW9uLGNmU2NyaXB0TnVtYmVyLGNmU2NyaXB0UmVnZXhwU3RyaW5nLGNmU2NyaXB0Qm9vbGVhbixjZlNjcmlwdEJyYWNlcyxjZkhhc2hSZWdpb24sY2ZGdW5jdGlvbk5hbWUsY2ZEZXByZWNhdGVkRnVuY3Rpb24sY2ZTY29wZSxAY2ZPcGVyYXRvckNsdXN0ZXIsY2ZTY3JpcHRDb25kaXRpb25hbCxjZlNjcmlwdFJlcGVhdCxjZlNjcmlwdEJyYW5jaCxAY2ZFeHByZXNzaW9uQ2x1c3RlcixjZlNjcmlwdFN0YXRlbWVudCxjZlNjcmlwdFNwZWNpYWwsY2ZTY3JpcHRLZXl3b3JkCiAKICIgRXJyb3JzIGNhdXNlZCBieSB3cm9uZyBwYXJlbnRoZXNpczsgc2tpcCBzdHJpbmdzCi1zeW4gcmVnaW9uICBjZlNjcmlwdFBhcmVuICAgICAgIGNvbnRhaW5lZCB0cmFuc3BhcmVudCBza2lwPSsiW14iXSoiXHwnW14nXSonKyBzdGFydD0rKCsgZW5kPSspKyBjb250YWlucz1AY2ZTY3JpcHRDbHVzdGVyCi1zeW4gbWF0Y2ggICBjZlNjclBhcmVuRXJyb3IgCWNvbnRhaW5lZCArKSsKK3N5biByZWdpb24JY2ZTY3JpcHRQYXJlbgljb250YWluZWQgdHJhbnNwYXJlbnQgc2tpcD0rIlteIl0qIlx8J1teJ10qJysgc3RhcnQ9KygrIGVuZD0rKSsgY29udGFpbnM9QGNmU2NyaXB0Q2x1c3Rlcgorc3luIG1hdGNoCWNmU2NyUGFyZW5FcnJvcgljb250YWluZWQgKykrCiAKLXN5biByZWdpb24gY2ZzY3JpcHRCbG9jayBtYXRjaGdyb3VwPU5PTkUgc3RhcnQ9IjxjZnNjcmlwdD4iICBlbmQ9IjxcL2Nmc2NyaXB0PiJtZT1zLTEga2VlcGVuZCBjb250YWlucz1AY2ZTY3JpcHRDbHVzdGVyLGNmc2NyaXB0VGFnLGNmU2NyUGFyZW5FcnJvcgotc3luIHJlZ2lvbiAgY2ZzY3JpcHRUYWcgY29udGFpbmVkIHN0YXJ0PSc8Y2ZzY3JpcHQnIGVuZD0nPicga2VlcGVuZCBjb250YWlucz1jZlRhZ05hbWUsaHRtbFRhZworc3luIHJlZ2lvbgljZnNjcmlwdEJsb2NrCW1hdGNoZ3JvdXA9Tk9ORSBzdGFydD0iPGNmc2NyaXB0PiIJZW5kPSI8XC9jZnNjcmlwdD4ibWU9cy0xIGtlZXBlbmQgY29udGFpbnM9QGNmU2NyaXB0Q2x1c3RlcixjZnNjcmlwdFRhZyxjZlNjclBhcmVuRXJyb3IKK3N5biByZWdpb24JY2ZzY3JpcHRUYWcJY29udGFpbmVkIHN0YXJ0PSc8Y2ZzY3JpcHQnIGVuZD0nPicga2VlcGVuZCBjb250YWlucz1jZlRhZ05hbWUsaHRtbFRhZwogCiAiIENGTUwKLXN5biBjbHVzdGVyIGNmbWxDbHVzdGVyIGNvbnRhaW5zPWNmQ29tbWVudCxAaHRtbFRhZ05hbWVDbHVzdGVyLEBodG1sUHJlcHJvYyxjZlNldFJlZ2lvbixjZnNjcmlwdEJsb2NrCitzeW4gY2x1c3RlcgljZm1sQ2x1c3Rlcgljb250YWlucz1jZkNvbW1lbnQsQGh0bWxUYWdOYW1lQ2x1c3RlcixAaHRtbFByZXByb2MsY2ZTZXRSZWdpb24sY2ZzY3JpcHRCbG9jayxjZk91dHB1dFJlZ2lvbgogCi0iIGNmcXVlcnkgPSBzcWwKLXVubGV0IGI6Y3VycmVudF9zeW50YXgKLXN5biBpbmNsdWRlIEBjZlNxbCA8c2ZpbGU+OnA6aC9zcWwudmltCi11bmxldCBiOmN1cnJlbnRfc3ludGF4Ci1zeW4gcmVnaW9uICBjZnF1ZXJ5VGFnICBjb250YWluZWQgc3RhcnQ9KzxjZnF1ZXJ5KyBlbmQ9Kz4rICAgIGtlZXBlbmQgICBjb250YWlucz1jZlRhZ05hbWUsaHRtbFRhZwotc3luIHJlZ2lvbiAgY2ZTcWxyZWdpb24gc3RhcnQ9KzxjZnF1ZXJ5W14+XSo+KyBrZWVwZW5kIGVuZD0rPFwvY2ZxdWVyeT4rbWU9cy0xIG1hdGNoZ3JvdXA9Tk9ORSBjb250YWlucz1AY2ZTcWwsY2ZDb21tZW50LEBodG1sVGFnTmFtZUNsdXN0ZXIsY2ZxdWVyeVRhZwotCi0iIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfY2Zfc3luX2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfY2Zfc3luX2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKLQotICBIaUxpbmsgY2ZUYWdOYW1lIAkJU3RhdGVtZW50Ci0gIEhpTGluayBjZkFyZyAJCQlUeXBlCi0gIEhpTGluayBjZkZ1bmN0aW9uTmFtZSAJRnVuY3Rpb24KLSAgSGlMaW5rIGNmSGFzaFJlZ2lvbiAJCVByZVByb2MKLSAgSGlMaW5rIGNmQ29tbWVudCAJCUNvbW1lbnQKLSAgSGlMaW5rIGNmQ29tbWVudFRvZG8gCQlUb2RvCi0gIEhpTGluayBjZk9wZXJhdG9yCQlPcGVyYXRvcgotICBIaUxpbmsgY2ZPcGVyYXRvck1hdGNoCU9wZXJhdG9yCi0gIEhpTGluayBjZlNjb3BlCQlUaXRsZQotICBIaUxpbmsgY2ZCb29sCQkJQ29uc3RhbnQKLQotICBIaUxpbmsgY2ZzY3JpcHRCbG9jayAJCVNwZWNpYWwKLSAgSGlMaW5rIGNmc2NyaXB0VGFnIAkJaHRtbFRhZwotICBIaUxpbmsgY2ZTZXRSZWdpb24gCQlQcmVQcm9jCi0gIEhpTGluayBjZlNldExIU1JlZ2lvbiAJaHRtbFRhZwotICBIaUxpbmsgY2ZTZXRUYWdFbmQJCWh0bWxUYWcKLQotICBIaUxpbmsgY2ZTY3JpcHRMaW5lQ29tbWVudAlDb21tZW50Ci0gIEhpTGluayBjZlNjcmlwdENvbW1lbnQJQ29tbWVudAotICBIaUxpbmsgY2ZTY3JpcHRTdHJpbmdTCVN0cmluZwotICBIaUxpbmsgY2ZTY3JpcHRTdHJpbmdECVN0cmluZwotICBIaUxpbmsgY2ZTY3JpcHROdW1iZXIJICAgICAJY2ZTY3JpcHRWYWx1ZQotICBIaUxpbmsgY2ZTY3JpcHRDb25kaXRpb25hbAlDb25kaXRpb25hbAotICBIaUxpbmsgY2ZTY3JpcHRSZXBlYXQJICAgICAJUmVwZWF0Ci0gIEhpTGluayBjZlNjcmlwdEJyYW5jaAkgICAgIAlDb25kaXRpb25hbAotICBIaUxpbmsgY2ZTY3JpcHRUeXBlCQlUeXBlCi0gIEhpTGluayBjZlNjcmlwdFN0YXRlbWVudAlTdGF0ZW1lbnQKLSAgSGlMaW5rIGNmU2NyaXB0QnJhY2VzCSAgICAgCUZ1bmN0aW9uCi0gIEhpTGluayBjZlNjcmlwdEZ1bmN0aW9uICAgIAlGdW5jdGlvbgotICBIaUxpbmsgY2ZTY3JpcHRFcnJvcgkgICAgIAlFcnJvcgotICBIaUxpbmsgY2ZEZXByZWNhdGVkCSAgICAgCUVycm9yCi0gIEhpTGluayBjZlNjclBhcmVuRXJyb3IJY2ZTY3JpcHRFcnJvcgotCi0gIEhpTGluayBjZnF1ZXJ5VGFnIGh0bWxUYWcKLSAgCi0gIGRlbGNvbW1hbmQgSGlMaW5rCisiIGNmcXVlcnkgPSBzcWwgc3ludGF4CitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICB1bmxldCBiOmN1cnJlbnRfc3ludGF4CiBlbmRpZgorc3luIGluY2x1ZGUgQGNmU3FsICRWSU1SVU5USU1FL3N5bnRheC9zcWwudmltCit1bmxldCBiOmN1cnJlbnRfc3ludGF4CitzeW4gcmVnaW9uCWNmcXVlcnlUYWcJY29udGFpbmVkIHN0YXJ0PSs8Y2ZxdWVyeSsgZW5kPSs+KyBrZWVwZW5kIGNvbnRhaW5zPWNmVGFnTmFtZSxodG1sVGFnCitzeW4gcmVnaW9uCWNmU3FscmVnaW9uCXN0YXJ0PSs8Y2ZxdWVyeVxfW14+XSo+KyBrZWVwZW5kIGVuZD0rPC9jZnF1ZXJ5PittZT1zLTEgbWF0Y2hncm91cD1OT05FIGNvbnRhaW5zPUBjZlNxbCxjZkNvbW1lbnQsQGh0bWxUYWdOYW1lQ2x1c3RlcixjZnF1ZXJ5VGFnLGNmSGFzaFJlZ2lvbgorCisiIERlZmluZSB0aGUgaGlnaGxpZ2h0aW5nLgorY29tbWFuZCAtbmFyZ3M9KyBDZkhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKworaWYgZXhpc3RzKCJkX25vaW5jbHVkZV9odG1sIikKKyAgIiBUaGUgZGVmYXVsdCBodG1sLXN0eWxlIGhpZ2hsaWdodGluZyBjb3BpZWQgZnJvbSBodG1sLnZpbS4KKyAgQ2ZIaUxpbmsgaHRtbFRhZwkJRnVuY3Rpb24KKyAgQ2ZIaUxpbmsgaHRtbEVuZFRhZwkJSWRlbnRpZmllcgorICBDZkhpTGluayBodG1sQXJnCQlUeXBlCisgIENmSGlMaW5rIGh0bWxUYWdOYW1lCQlodG1sU3RhdGVtZW50CisgIENmSGlMaW5rIGh0bWxWYWx1ZQkJU3RyaW5nCisgIENmSGlMaW5rIGh0bWxQcmVQcm9jCQlQcmVQcm9jCisgIENmSGlMaW5rIGh0bWxTdHJpbmcJCVN0cmluZworICBDZkhpTGluayBodG1sU3RhdGVtZW50CVN0YXRlbWVudAorICBDZkhpTGluayBodG1sVmFsdWUJCVN0cmluZworICBDZkhpTGluayBodG1sVGFnRXJyb3IJCWh0bWxFcnJvcgorICBDZkhpTGluayBodG1sRXJyb3IJCUVycm9yCitlbmRpZgorCitDZkhpTGluayBjZlRhZ05hbWUJCVN0YXRlbWVudAorQ2ZIaUxpbmsgY2ZDdXN0b21UYWdOYW1lCVN0YXRlbWVudAorQ2ZIaUxpbmsgY2ZBcmcJCQlUeXBlCitDZkhpTGluayBjZkZ1bmN0aW9uTmFtZQkJRnVuY3Rpb24KK0NmSGlMaW5rIGNmSGFzaFJlZ2lvbgkJUHJlUHJvYworQ2ZIaUxpbmsgY2ZDb21tZW50CQlDb21tZW50CitDZkhpTGluayBjZkNvbW1lbnRUb2RvCQlUb2RvCitDZkhpTGluayBjZk9wZXJhdG9yCQlPcGVyYXRvcgorQ2ZIaUxpbmsgY2ZPcGVyYXRvck1hdGNoCU9wZXJhdG9yCitDZkhpTGluayBjZlNjb3BlCQlUaXRsZQorQ2ZIaUxpbmsgY2ZCb29sCQkJQ29uc3RhbnQKKworQ2ZIaUxpbmsgY2ZzY3JpcHRCbG9jawkJU3BlY2lhbAorQ2ZIaUxpbmsgY2ZzY3JpcHRUYWcJCWh0bWxUYWcKK0NmSGlMaW5rIGNmU2V0UmVnaW9uCQlQcmVQcm9jCitDZkhpTGluayBjZlNldExIU1JlZ2lvbgkJaHRtbFRhZworQ2ZIaUxpbmsgY2ZTZXRUYWdFbmQJCWh0bWxUYWcKKworQ2ZIaUxpbmsgY2ZTY3JpcHRMaW5lQ29tbWVudAlDb21tZW50CitDZkhpTGluayBjZlNjcmlwdENvbW1lbnQJQ29tbWVudAorQ2ZIaUxpbmsgY2ZTY3JpcHRTdHJpbmdTCVN0cmluZworQ2ZIaUxpbmsgY2ZTY3JpcHRTdHJpbmdECVN0cmluZworQ2ZIaUxpbmsgY2ZTY3JpcHROdW1iZXIJCWNmU2NyaXB0VmFsdWUKK0NmSGlMaW5rIGNmU2NyaXB0Q29uZGl0aW9uYWwJQ29uZGl0aW9uYWwKK0NmSGlMaW5rIGNmU2NyaXB0UmVwZWF0CQlSZXBlYXQKK0NmSGlMaW5rIGNmU2NyaXB0QnJhbmNoCQlDb25kaXRpb25hbAorQ2ZIaUxpbmsgY2ZTY3JpcHRTcGVjaWFsCVR5cGUKK0NmSGlMaW5rIGNmU2NyaXB0U3RhdGVtZW50CVN0YXRlbWVudAorQ2ZIaUxpbmsgY2ZTY3JpcHRCcmFjZXMJCUZ1bmN0aW9uCitDZkhpTGluayBjZlNjcmlwdEtleXdvcmQJRnVuY3Rpb24KK0NmSGlMaW5rIGNmU2NyaXB0RXJyb3IJCUVycm9yCitDZkhpTGluayBjZkRlcHJlY2F0ZWRUYWcJRXJyb3IKK0NmSGlMaW5rIGNmRGVwcmVjYXRlZEZ1bmN0aW9uCUVycm9yCitDZkhpTGluayBjZlNjclBhcmVuRXJyb3IJY2ZTY3JpcHRFcnJvcgorCitDZkhpTGluayBjZnF1ZXJ5VGFnCQlodG1sVGFnCisKK2RlbGNvbW1hbmQgQ2ZIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAiY2YiCiAKLSIgdmltOiB0cz04IHN3PTIKKyIgdmltOiBub3dyYXAgc3c9MiB0cz04IG5vZXQKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2N1Y3VtYmVyLnZpbSBiL3J1bnRpbWUvc3ludGF4L2N1Y3VtYmVyLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNTg0NzFhCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvY3VjdW1iZXIudmltCkBAIC0wLDAgKzEsMTE3IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZTogICAgIEN1Y3VtYmVyCisiIE1haW50YWluZXI6ICAgVGltIFBvcGUgPHZpbU5PU1BBTUB0cG9wZS5vcmc+CisiIEZpbGVuYW1lczogICAgKi5mZWF0dXJlCisKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgICAgZmluaXNoCitlbmRpZgorCitzeW4gY2FzZSBtYXRjaAorc3luIHN5bmMgbWlubGluZXM9MjAKKworbGV0IGc6Y3VjdW1iZXJfbGFuZ3VhZ2VzID0geworICAgICAgXCJlbiI6IHsiYW5kIjogIkFuZFxcPiIsICJiYWNrZ3JvdW5kIjogIkJhY2tncm91bmRcXD4iLCAiYnV0IjogIkJ1dFxcPiIsICJleGFtcGxlcyI6ICJTY2VuYXJpb3NcXD5cXHxFeGFtcGxlc1xcPiIsICJmZWF0dXJlIjogIkZlYXR1cmVcXD4iLCAiZ2l2ZW4iOiAiR2l2ZW5cXD4iLCAic2NlbmFyaW8iOiAiU2NlbmFyaW9cXD4iLCAic2NlbmFyaW9fb3V0bGluZSI6ICJTY2VuYXJpbyBPdXRsaW5lXFw+IiwgInRoZW4iOiAiVGhlblxcPiIsICJ3aGVuIjogIldoZW5cXD4ifSwKKyAgICAgIFwiYXIiOiB7ImFuZCI6ICJcXCV1MDY0OFxcPiIsICJiYWNrZ3JvdW5kIjogIlxcJXUwNjI3XFwldTA2NDRcXCV1MDYyZVxcJXUwNjQ0XFwldTA2NDFcXCV1MDY0YVxcJXUwNjI5XFw+IiwgImJ1dCI6ICJcXCV1MDY0NFxcJXUwNjQzXFwldTA2NDZcXD4iLCAiZXhhbXBsZXMiOiAiXFwldTA2MjdcXCV1MDY0NVxcJXUwNjJiXFwldTA2NDRcXCV1MDYyOVxcPiIsICJmZWF0dXJlIjogIlxcJXUwNjJlXFwldTA2MjdcXCV1MDYzNVxcJXUwNjRhXFwldTA2MjlcXD4iLCAiZ2l2ZW4iOiAiXFwldTA2MjhcXCV1MDY0MVxcJXUwNjMxXFwldTA2MzZcXD4iLCAic2NlbmFyaW8iOiAiXFwldTA2MzNcXCV1MDY0YVxcJXUwNjQ2XFwldTA2MjdcXCV1MDYzMVxcJXUwNjRhXFwldTA2NDhcXD4iLCAic2NlbmFyaW9fb3V0bGluZSI6ICJcXCV1MDYzM1xcJXUwNjRhXFwldTA2NDZcXCV1MDYyN1xcJXUwNjMxXFwldTA2NGFcXCV1MDY0OCBcXCV1MDY0NVxcJXUwNjJlXFwldTA2MzdcXCV1MDYzN1xcPiIsICJ0aGVuIjogIlxcJXUwNjI3XFwldTA2MzBcXCV1MDYyN1xcJXUwNjRiXFw+XFx8XFwldTA2MmJcXCV1MDY0NVxcPiIsICJ3aGVuIjogIlxcJXUwNjM5XFwldTA2NDZcXCV1MDYyZlxcJXUwNjQ1XFwldTA2MjdcXD5cXHxcXCV1MDY0NVxcJXUwNjJhXFwldTA2NDlcXD4ifSwKKyAgICAgIFwiYmciOiB7ImFuZCI6ICJcXCV1MDQxOFxcPiIsICJiYWNrZ3JvdW5kIjogIlxcJXUwNDFmXFwldTA0NDBcXCV1MDQzNVxcJXUwNDM0XFwldTA0MzhcXCV1MDQ0MVxcJXUwNDQyXFwldTA0M2VcXCV1MDQ0MFxcJXUwNDM4XFwldTA0NGZcXD4iLCAiYnV0IjogIlxcJXUwNDFkXFwldTA0M2VcXD4iLCAiZXhhbXBsZXMiOiAiXFwldTA0MWZcXCV1MDQ0MFxcJXUwNDM4XFwldTA0M2NcXCV1MDQzNVxcJXUwNDQwXFwldTA0MzhcXD4iLCAiZmVhdHVyZSI6ICJcXCV1MDQyNFxcJXUwNDQzXFwldTA0M2RcXCV1MDQzYVxcJXUwNDQ2XFwldTA0MzhcXCV1MDQzZVxcJXUwNDNkXFwldTA0MzBcXCV1MDQzYlxcJXUwNDNkXFwldTA0M2VcXCV1MDQ0MVxcJXUwNDQyXFw+IiwgImdpdmVuIjogIlxcJXUwNDE0XFwldTA0MzBcXCV1MDQzNFxcJXUwNDM1XFwldTA0M2RcXCV1MDQzZVxcPiIsICJzY2VuYXJpbyI6ICJcXCV1MDQyMVxcJXUwNDQ2XFwldTA0MzVcXCV1MDQzZFxcJXUwNDMwXFwldTA0NDBcXCV1MDQzOFxcJXUwNDM5XFw+IiwgInNjZW5hcmlvX291dGxpbmUiOiAiXFwldTA0MjBcXCV1MDQzMFxcJXUwNDNjXFwldTA0M2FcXCV1MDQzMCBcXCV1MDQzZFxcJXUwNDMwIFxcJXUwNDQxXFwldTA0NDZcXCV1MDQzNVxcJXUwNDNkXFwldTA0MzBcXCV1MDQ0MFxcJXUwNDM4XFwldTA0MzlcXD4iLCAidGhlbiI6ICJcXCV1MDQyMlxcJXUwNDNlXFw+IiwgIndoZW4iOiAiXFwldTA0MWFcXCV1MDQzZVxcJXUwNDMzXFwldTA0MzBcXCV1MDQ0MlxcJXUwNDNlXFw+In0sCisgICAgICBcImNhdCI6IHsiYW5kIjogIklcXD4iLCAiYmFja2dyb3VuZCI6ICJBbnRlY2VkZW50c1xcPlxcfFJlcmVmb25zXFw+IiwgImJ1dCI6ICJQZXJcXCV1MDBmMlxcPiIsICJleGFtcGxlcyI6ICJFeGVtcGxlc1xcPiIsICJmZWF0dXJlIjogIkNhcmFjdGVyXFwldTAwZWRzdGljYVxcPiIsICJnaXZlbiI6ICJEb25hZGFcXD5cXHxEb25hdFxcPiIsICJzY2VuYXJpbyI6ICJFc2NlbmFyaVxcPiIsICJzY2VuYXJpb19vdXRsaW5lIjogIkVzcXVlbWEgZGUgbCdlc2NlbmFyaVxcPiIsICJ0aGVuIjogIkFsZXNob3Jlc1xcPiIsICJ3aGVuIjogIlF1YW5cXD4ifSwKKyAgICAgIFwiY3MiOiB7ImFuZCI6ICJBIHRha1xcJXUwMGU5XFw+XFx8QVxcPiIsICJiYWNrZ3JvdW5kIjogIlBvemFkXFwldTAwZWRcXD5cXHxLb250ZXh0XFw+IiwgImJ1dCI6ICJBbGVcXD4iLCAiZXhhbXBsZXMiOiAiUFxcJXUwMTU5XFwldTAwZWRrbGFkeVxcPiIsICJmZWF0dXJlIjogIlBvXFwldTAxN2VhZGF2ZWtcXD4iLCAiZ2l2ZW4iOiAiUG9rdWRcXD4iLCAic2NlbmFyaW8iOiAiU2NcXCV1MDBlOW5cXCV1MDBlMVxcJXUwMTU5XFw+IiwgInNjZW5hcmlvX291dGxpbmUiOiAiTlxcJXUwMGUxXFwldTAxMGRydCBTY1xcJXUwMGU5blxcJXUwMGUxXFwldTAxNTllXFw+XFx8T3Nub3ZhIHNjXFwldTAwZTluXFwldTAwZTFcXCV1MDE1OWVcXD4iLCAidGhlbiI6ICJQYWtcXD4iLCAid2hlbiI6ICJLZHlcXCV1MDE3ZVxcPiJ9LAorICAgICAgXCJjeSI6IHsiYW5kIjogIkFcXD4iLCAiYmFja2dyb3VuZCI6ICJDZWZuZGlyXFw+IiwgImJ1dCI6ICJPbmRcXD4iLCAiZXhhbXBsZXMiOiAiRW5naHJlaWZmdGlhdVxcPiIsICJmZWF0dXJlIjogIkFyd2VkZFxcPiIsICJnaXZlbiI6ICJhbnJoZWdlZGlnIGFcXD4iLCAic2NlbmFyaW8iOiAiU2NlbmFyaW9cXD4iLCAic2NlbmFyaW9fb3V0bGluZSI6ICJTY2VuYXJpbyBBbWxpbmVsbG9sXFw+IiwgInRoZW4iOiAiWW5hXFw+IiwgIndoZW4iOiAiUHJ5ZFxcPiJ9LAorICAgICAgXCJkYSI6IHsiYW5kIjogIk9nXFw+IiwgImJhY2tncm91bmQiOiAiQmFnZ3J1bmRcXD4iLCAiYnV0IjogIk1lblxcPiIsICJleGFtcGxlcyI6ICJFa3NlbXBsZXJcXD4iLCAiZmVhdHVyZSI6ICJFZ2Vuc2thYlxcPiIsICJnaXZlbiI6ICJHaXZldFxcPiIsICJzY2VuYXJpbyI6ICJTY2VuYXJpZVxcPiIsICJzY2VuYXJpb19vdXRsaW5lIjogIkFic3RyYWt0IFNjZW5hcmlvXFw+IiwgInRoZW4iOiAiU1xcJXUwMGU1XFw+IiwgIndoZW4iOiAiTlxcJXUwMGU1clxcPiJ9LAorICAgICAgXCJkZSI6IHsiYW5kIjogIlVuZFxcPiIsICJiYWNrZ3JvdW5kIjogIkdydW5kbGFnZVxcPiIsICJidXQiOiAiQWJlclxcPiIsICJleGFtcGxlcyI6ICJCZWlzcGllbGVcXD4iLCAiZmVhdHVyZSI6ICJGdW5rdGlvbmFsaXRcXCV1MDBlNHRcXD4iLCAiZ2l2ZW4iOiAiR2VnZWJlbiBzZWlcXD4iLCAic2NlbmFyaW8iOiAiU3plbmFyaW9cXD4iLCAic2NlbmFyaW9fb3V0bGluZSI6ICJTemVuYXJpb2dydW5kcmlzc1xcPiIsICJ0aGVuIjogIkRhbm5cXD4iLCAid2hlbiI6ICJXZW5uXFw+In0sCisgICAgICBcImVuLWF1IjogeyJhbmQiOiAiTlxcPiIsICJiYWNrZ3JvdW5kIjogIkJhY2tncm91bmRcXD4iLCAiYnV0IjogIkNlcHRcXD4iLCAiZXhhbXBsZXMiOiAiQ29iYmVyXFw+IiwgImZlYXR1cmUiOiAiQ3Jpa2V5XFw+IiwgImdpdmVuIjogIllhIGtub3cgaG93XFw+IiwgInNjZW5hcmlvIjogIk1hdGVcXD4iLCAic2NlbmFyaW9fb3V0bGluZSI6ICJCbG9rZXNcXD4iLCAidGhlbiI6ICJZYSBnb3R0YVxcPiIsICJ3aGVuIjogIldoZW5cXD4ifSwKKyAgICAgIFwiZW4tbG9sIjogeyJhbmQiOiAiQU5cXD4iLCAiYmFja2dyb3VuZCI6ICJCNFxcPiIsICJidXQiOiAiQlVUXFw+IiwgImV4YW1wbGVzIjogIkVYQU1QTFpcXD4iLCAiZmVhdHVyZSI6ICJPSCBIQUlcXD4iLCAiZ2l2ZW4iOiAiSSBDQU4gSEFaXFw+IiwgInNjZW5hcmlvIjogIk1JU0hVTlxcPiIsICJzY2VuYXJpb19vdXRsaW5lIjogIk1JU0hVTiBTUlNMWVxcPiIsICJ0aGVuIjogIkRFTlxcPiIsICJ3aGVuIjogIldFTlxcPiJ9LAorICAgICAgXCJlcyI6IHsiYW5kIjogIllcXD4iLCAiYmFja2dyb3VuZCI6ICJBbnRlY2VkZW50ZXNcXD4iLCAiYnV0IjogIlBlcm9cXD4iLCAiZXhhbXBsZXMiOiAiRWplbXBsb3NcXD4iLCAiZmVhdHVyZSI6ICJDYXJhY3RlclxcJXUwMGVkc3RpY2FcXD4iLCAiZ2l2ZW4iOiAiRGFkb1xcPiIsICJzY2VuYXJpbyI6ICJFc2NlbmFyaW9cXD4iLCAic2NlbmFyaW9fb3V0bGluZSI6ICJFc3F1ZW1hIGRlbCBlc2NlbmFyaW9cXD4iLCAidGhlbiI6ICJFbnRvbmNlc1xcPiIsICJ3aGVuIjogIkN1YW5kb1xcPiJ9LAorICAgICAgXCJldCI6IHsiYW5kIjogIkphXFw+IiwgImJhY2tncm91bmQiOiAiVGF1c3RcXD4iLCAiYnV0IjogIkt1aWRcXD4iLCAiZXhhbXBsZXMiOiAiSnVodHVtaWRcXD4iLCAiZmVhdHVyZSI6ICJPbWFkdXNcXD4iLCAiZ2l2ZW4iOiAiRWVsZGFkZXNcXD4iLCAic2NlbmFyaW8iOiAiU3RzZW5hYXJpdW1cXD4iLCAic2NlbmFyaW9fb3V0bGluZSI6ICJSYWFtc3RzZW5hYXJpdW1cXD4iLCAidGhlbiI6ICJTaWlzXFw+IiwgIndoZW4iOiAiS3VpXFw+In0sCisgICAgICBcImZpIjogeyJhbmQiOiAiSmFcXD4iLCAiYmFja2dyb3VuZCI6ICJUYXVzdGFcXD4iLCAiYnV0IjogIk11dHRhXFw+IiwgImV4YW1wbGVzIjogIlRhcGF1a3NldFxcPiIsICJmZWF0dXJlIjogIk9taW5haXN1dXNcXD4iLCAiZ2l2ZW4iOiAiT2xldGV0YWFuXFw+IiwgInNjZW5hcmlvIjogIlRhcGF1c1xcPiIsICJzY2VuYXJpb19vdXRsaW5lIjogIlRhcGF1c2FpaGlvXFw+IiwgInRoZW4iOiAiTmlpblxcPiIsICJ3aGVuIjogIkt1blxcPiJ9LAorICAgICAgXCJmciI6IHsiYW5kIjogIkV0XFw+IiwgImJhY2tncm91bmQiOiAiQ29udGV4dGVcXD4iLCAiYnV0IjogIk1haXNcXD4iLCAiZXhhbXBsZXMiOiAiRXhlbXBsZXNcXD4iLCAiZmVhdHVyZSI6ICJGb25jdGlvbm5hbGl0XFwldTAwZTlcXD4iLCAiZ2l2ZW4iOiAiRXRhbnQgZG9ublxcJXUwMGU5XFw+XFx8U29pdFxcPiIsICJzY2VuYXJpbyI6ICJTY1xcJXUwMGU5bmFyaW9cXD4iLCAic2NlbmFyaW9fb3V0bGluZSI6ICJQbGFuIGR1IHNjXFwldTAwZTluYXJpb1xcPlxcfFBsYW4gZHUgU2NcXCV1MDBlOW5hcmlvXFw+IiwgInRoZW4iOiAiQWxvcnNcXD4iLCAid2hlbiI6ICJMb3JzcXUnXFx8TG9yc3F1ZVxcPlxcfFF1YW5kXFw+In0sCisgICAgICBcImhlIjogeyJhbmQiOiAiXFwldTA1ZDVcXCV1MDVkMlxcJXUwNWRkXFw+IiwgImJhY2tncm91bmQiOiAiXFwldTA1ZThcXCV1MDVlN1xcJXUwNWUyXFw+IiwgImJ1dCI6ICJcXCV1MDVkMFxcJXUwNWQxXFwldTA1ZGNcXD4iLCAiZXhhbXBsZXMiOiAiXFwldTA1ZDNcXCV1MDVkNVxcJXUwNWQyXFwldTA1ZGVcXCV1MDVkMFxcJXUwNWQ1XFwldTA1ZWFcXD4iLCAiZmVhdHVyZSI6ICJcXCV1MDVlYVxcJXUwNWRiXFwldTA1ZDVcXCV1MDVlMFxcJXUwNWQ0XFw+IiwgImdpdmVuIjogIlxcJXUwNWQxXFwldTA1ZDRcXCV1MDVkOVxcJXUwNWUwXFwldTA1ZWFcXCV1MDVkZlxcPiIsICJzY2VuYXJpbyI6ICJcXCV1MDVlYVxcJXUwNWU4XFwldTA1ZDdcXCV1MDVkOVxcJXUwNWU5XFw+IiwgInNjZW5hcmlvX291dGxpbmUiOiAiXFwldTA1ZWFcXCV1MDVkMVxcJXUwNWUwXFwldTA1ZDlcXCV1MDVlYSBcXCV1MDVlYVxcJXUwNWU4XFwldTA1ZDdcXCV1MDVkOVxcJXUwNWU5XFw+IiwgInRoZW4iOiAiXFwldTA1ZDBcXCV1MDVkNlxcJXUwNWQ5XFw+XFx8XFwldTA1ZDBcXCV1MDVkNlxcPiIsICJ3aGVuIjogIlxcJXUwNWRiXFwldTA1ZDBcXCV1MDVlOVxcJXUwNWU4XFw+In0sCisgICAgICBcImhyIjogeyJhbmQiOiAiSVxcPiIsICJiYWNrZ3JvdW5kIjogIlBvemFkaW5hXFw+IiwgImJ1dCI6ICJBbGlcXD4iLCAiZXhhbXBsZXMiOiAiU2NlbmFyaWppXFw+XFx8UHJpbWplcmlcXD4iLCAiZmVhdHVyZSI6ICJNb2d1XFwldTAxMDdub3N0XFw+XFx8TW9ndWNub3N0XFw+XFx8T3NvYmluYVxcPiIsICJnaXZlbiI6ICJaYWRhbm9cXD5cXHxaYWRhbmlcXD5cXHxaYWRhblxcPiIsICJzY2VuYXJpbyI6ICJTY2VuYXJpalxcPiIsICJzY2VuYXJpb19vdXRsaW5lIjogIktvbmNlcHRcXD5cXHxTa2ljYVxcPiIsICJ0aGVuIjogIk9uZGFcXD4iLCAid2hlbiI6ICJLYWRhXFw+XFx8S2FkXFw+In0sCisgICAgICBcImh1IjogeyJhbmQiOiAiXFwldTAwYzlzXFw+IiwgImJhY2tncm91bmQiOiAiSFxcJXUwMGUxdHRcXCV1MDBlOXJcXD4iLCAiYnV0IjogIkRlXFw+IiwgImV4YW1wbGVzIjogIlBcXCV1MDBlOWxkXFwldTAwZTFrXFw+IiwgImZlYXR1cmUiOiAiSmVsbGVtelxcJXUwMTUxXFw+IiwgImdpdmVuIjogIkhhXFw+IiwgInNjZW5hcmlvIjogIkZvcmdhdFxcJXUwMGYza1xcJXUwMGY2bnl2XFw+IiwgInNjZW5hcmlvX291dGxpbmUiOiAiRm9yZ2F0XFwldTAwZjNrXFwldTAwZjZueXYgdlxcJXUwMGUxemxhdFxcPiIsICJ0aGVuIjogIkFra29yXFw+IiwgIndoZW4iOiAiTWFqZFxcPiJ9LAorICAgICAgXCJpZCI6IHsiYW5kIjogIkRhblxcPiIsICJiYWNrZ3JvdW5kIjogIkRhc2FyXFw+IiwgImJ1dCI6ICJUYXBpXFw+IiwgImV4YW1wbGVzIjogIkNvbnRvaFxcPiIsICJmZWF0dXJlIjogIkZpdHVyXFw+IiwgImdpdmVuIjogIkRlbmdhblxcPiIsICJzY2VuYXJpbyI6ICJTa2VuYXJpb1xcPiIsICJzY2VuYXJpb19vdXRsaW5lIjogIlNrZW5hcmlvIGtvbnNlcFxcPiIsICJ0aGVuIjogIk1ha2FcXD4iLCAid2hlbiI6ICJLZXRpa2FcXD4ifSwKKyAgICAgIFwiaXQiOiB7ImFuZCI6ICJFXFw+IiwgImJhY2tncm91bmQiOiAiQ29udGVzdG9cXD4iLCAiYnV0IjogIk1hXFw+IiwgImV4YW1wbGVzIjogIkVzZW1waVxcPiIsICJmZWF0dXJlIjogIkZ1bnppb25hbGl0XFwldTAwZTBcXD4iLCAiZ2l2ZW4iOiAiRGF0b1xcPiIsICJzY2VuYXJpbyI6ICJTY2VuYXJpb1xcPiIsICJzY2VuYXJpb19vdXRsaW5lIjogIlNjaGVtYSBkZWxsbyBzY2VuYXJpb1xcPiIsICJ0aGVuIjogIkFsbG9yYVxcPiIsICJ3aGVuIjogIlF1YW5kb1xcPiJ9LAorICAgICAgXCJqYSI6IHsiYW5kIjogIlxcJXUzMDRiXFwldTMwNjQiLCAiYmFja2dyb3VuZCI6ICJcXCV1ODBjY1xcJXU2NjZmXFw+IiwgImJ1dCI6ICJcXCV1MzA1N1xcJXUzMDRiXFwldTMwNTdcXHxcXCV1MzA1ZlxcJXUzMDYwXFwldTMwNTdcXHxcXCV1NGY0NlxcJXUzMDU3IiwgImV4YW1wbGVzIjogIlxcJXUzMGI1XFwldTMwZjNcXCV1MzBkN1xcJXUzMGViXFw+XFx8XFwldTRmOGJcXD4iLCAiZmVhdHVyZSI6ICJcXCV1MzBkNVxcJXUzMGEzXFwldTMwZmNcXCV1MzBjMVxcJXUzMGUzXFw+XFx8XFwldTZhNWZcXCV1ODBmZFxcPiIsICJnaXZlbiI6ICJcXCV1NTI0ZFxcJXU2M2QwIiwgInNjZW5hcmlvIjogIlxcJXUzMGI3XFwldTMwY2FcXCV1MzBlYVxcJXUzMGFhXFw+IiwgInNjZW5hcmlvX291dGxpbmUiOiAiXFwldTMwYjdcXCV1MzBjYVxcJXUzMGVhXFwldTMwYWFcXCV1MzBhMlxcJXUzMGE2XFwldTMwYzhcXCV1MzBlOVxcJXUzMGE0XFwldTMwZjNcXD5cXHxcXCV1MzBiN1xcJXUzMGNhXFwldTMwZWFcXCV1MzBhYVxcJXUzMGM2XFwldTMwZjNcXCV1MzBkN1xcJXUzMGVjXFwldTMwZmNcXCV1MzBjOFxcPlxcfFxcJXUzMGI3XFwldTMwY2FcXCV1MzBlYVxcJXUzMGFhXFwldTMwYzZcXCV1MzBmM1xcJXUzMGQ3XFwldTMwZWNcXD5cXHxcXCV1MzBjNlxcJXUzMGYzXFwldTMwZDdcXCV1MzBlY1xcPiIsICJ0aGVuIjogIlxcJXUzMDZhXFwldTMwODlcXCV1MzA3MCIsICJ3aGVuIjogIlxcJXUzMDgyXFwldTMwNTcifSwKKyAgICAgIFwia28iOiB7ImFuZCI6ICJcXCV1YWRmOFxcJXViOWFjXFwldWFjZTAiLCAiYmFja2dyb3VuZCI6ICJcXCV1YmMzMFxcJXVhY2JkXFw+IiwgImJ1dCI6ICJcXCV1ZDU1OFxcJXVjOWMwXFwldWI5Y2MiLCAiZXhhbXBsZXMiOiAiXFwldWM2MDhcXD4iLCAiZmVhdHVyZSI6ICJcXCV1YWUzMFxcJXViMmE1XFw+IiwgImdpdmVuIjogIlxcJXVjODcwXFwldWFjNzQiLCAic2NlbmFyaW8iOiAiXFwldWMyZGNcXCV1YjA5OFxcJXViOWFjXFwldWM2MjRcXD4iLCAic2NlbmFyaW9fb3V0bGluZSI6ICJcXCV1YzJkY1xcJXViMDk4XFwldWI5YWNcXCV1YzYyNCBcXCV1YWMxY1xcJXVjNjk0XFw+IiwgInRoZW4iOiAiXFwldWFkZjhcXCV1YjdlY1xcJXViYTc0IiwgIndoZW4iOiAiXFwldWI5Y2NcXCV1Yzc3YyJ9LAorICAgICAgXCJsdCI6IHsiYW5kIjogIklyXFw+IiwgImJhY2tncm91bmQiOiAiS29udGVrc3Rhc1xcPiIsICJidXQiOiAiQmV0XFw+IiwgImV4YW1wbGVzIjogIlBhdnl6ZFxcJXUwMTdlaWFpXFw+XFx8U2NlbmFyaWphaVxcPlxcfFZhcmlhbnRhaVxcPiIsICJmZWF0dXJlIjogIlNhdnliXFwldTAxMTdcXD4iLCAiZ2l2ZW4iOiAiRHVvdGFcXD4iLCAic2NlbmFyaW8iOiAiU2NlbmFyaWp1c1xcPiIsICJzY2VuYXJpb19vdXRsaW5lIjogIlNjZW5hcmlqYXVzIFxcJXUwMTYxYWJsb25hc1xcPiIsICJ0aGVuIjogIlRhZGFcXD4iLCAid2hlbiI6ICJLYWlcXD4ifSwKKyAgICAgIFwibHYiOiB7ImFuZCI6ICJVblxcPiIsICJiYWNrZ3JvdW5kIjogIlNpdHVcXCV1MDEwMWNpamFcXD5cXHxLb250ZWtzdHNcXD4iLCAiYnV0IjogIkJldFxcPiIsICJleGFtcGxlcyI6ICJQaWVtXFwldTAxMTNyaVxcPlxcfFBhcmF1Z3NcXD4iLCAiZmVhdHVyZSI6ICJGdW5rY2lvbmFsaXRcXCV1MDEwMXRlXFw+XFx8RlxcJXUwMTJiXFwldTAxMGRhXFw+IiwgImdpdmVuIjogIkthZFxcPiIsICJzY2VuYXJpbyI6ICJTY2VuXFwldTAxMDFyaWpzXFw+IiwgInNjZW5hcmlvX291dGxpbmUiOiAiU2NlblxcJXUwMTAxcmlqcyBwXFwldTAxMTNjIHBhcmF1Z2FcXD4iLCAidGhlbiI6ICJUYWRcXD4iLCAid2hlbiI6ICJKYVxcPiJ9LAorICAgICAgXCJubCI6IHsiYW5kIjogIkVuXFw+IiwgImJhY2tncm91bmQiOiAiQWNodGVyZ3JvbmRcXD4iLCAiYnV0IjogIk1hYXJcXD4iLCAiZXhhbXBsZXMiOiAiVm9vcmJlZWxkZW5cXD4iLCAiZmVhdHVyZSI6ICJGdW5jdGlvbmFsaXRlaXRcXD4iLCAiZ2l2ZW4iOiAiR2VnZXZlblxcPlxcfFN0ZWxcXD4iLCAic2NlbmFyaW8iOiAiU2NlbmFyaW9cXD4iLCAic2NlbmFyaW9fb3V0bGluZSI6ICJBYnN0cmFjdCBTY2VuYXJpb1xcPiIsICJ0aGVuIjogIkRhblxcPiIsICJ3aGVuIjogIkFsc1xcPiJ9LAorICAgICAgXCJubyI6IHsiYW5kIjogIk9nXFw+IiwgImJhY2tncm91bmQiOiAiQmFrZ3J1bm5cXD4iLCAiYnV0IjogIk1lblxcPiIsICJleGFtcGxlcyI6ICJFa3NlbXBsZXJcXD4iLCAiZmVhdHVyZSI6ICJFZ2Vuc2thcFxcPiIsICJnaXZlbiI6ICJHaXR0XFw+IiwgInNjZW5hcmlvIjogIlNjZW5hcmlvXFw+IiwgInNjZW5hcmlvX291dGxpbmUiOiAiQWJzdHJha3QgU2NlbmFyaW9cXD4iLCAidGhlbiI6ICJTXFwldTAwZTVcXD4iLCAid2hlbiI6ICJOXFwldTAwZTVyXFw+In0sCisgICAgICBcInBsIjogeyJhbmQiOiAiT3JhelxcPiIsICJiYWNrZ3JvdW5kIjogIlphXFwldTAxNDJvXFwldTAxN2NlbmlhXFw+IiwgImJ1dCI6ICJBbGVcXD4iLCAiZXhhbXBsZXMiOiAiUHJ6eWtcXCV1MDE0MmFkeVxcPiIsICJmZWF0dXJlIjogIldcXCV1MDE0MmFcXCV1MDE1YmNpd29cXCV1MDE1YlxcJXUwMTA3XFw+IiwgImdpdmVuIjogIlpha1xcJXUwMTQyYWRhalxcJXUwMTA1Y1xcPiIsICJzY2VuYXJpbyI6ICJTY2VuYXJpdXN6XFw+IiwgInNjZW5hcmlvX291dGxpbmUiOiAiU3phYmxvbiBzY2VuYXJpdXN6YVxcPiIsICJ0aGVuIjogIld0ZWR5XFw+IiwgIndoZW4iOiAiSmVcXCV1MDE3Y2VsaVxcPiJ9LAorICAgICAgXCJwdCI6IHsiYW5kIjogIkVcXD4iLCAiYmFja2dyb3VuZCI6ICJDb250ZXh0b1xcPiIsICJidXQiOiAiTWFzXFw+IiwgImV4YW1wbGVzIjogIkV4ZW1wbG9zXFw+IiwgImZlYXR1cmUiOiAiRnVuY2lvbmFsaWRhZGVcXD4iLCAiZ2l2ZW4iOiAiRGFkb1xcPiIsICJzY2VuYXJpbyI6ICJDZW5cXCV1MDBlMXJpb1xcPlxcfENlbmFyaW9cXD4iLCAic2NlbmFyaW9fb3V0bGluZSI6ICJFc3F1ZW1hIGRvIENlblxcJXUwMGUxcmlvXFw+XFx8RXNxdWVtYSBkbyBDZW5hcmlvXFw+IiwgInRoZW4iOiAiRW50XFwldTAwZTNvXFw+XFx8RW50YW9cXD4iLCAid2hlbiI6ICJRdWFuZG9cXD4ifSwKKyAgICAgIFwicm8iOiB7ImFuZCI6ICJTaVxcPiIsICJiYWNrZ3JvdW5kIjogIkNvbmRpdGlpXFw+IiwgImJ1dCI6ICJEYXJcXD4iLCAiZXhhbXBsZXMiOiAiRXhlbXBsZWxlXFw+IiwgImZlYXR1cmUiOiAiRnVuY3Rpb25hbGl0YXRlXFw+IiwgImdpdmVuIjogIkRhY2FcXD4iLCAic2NlbmFyaW8iOiAiU2NlbmFyaXVcXD4iLCAic2NlbmFyaW9fb3V0bGluZSI6ICJTY2VuYXJpdWwgZGUgc2FibG9uXFw+IiwgInRoZW4iOiAiQXR1bmNpXFw+IiwgIndoZW4iOiAiQ2FuZFxcPiJ9LAorICAgICAgXCJybzIiOiB7ImFuZCI6ICJcXCV1MDIxOGlcXD4iLCAiYmFja2dyb3VuZCI6ICJDb25kaVxcJXUwMTYzaWlcXD4iLCAiYnV0IjogIkRhclxcPiIsICJleGFtcGxlcyI6ICJFeGVtcGxlbGVcXD4iLCAiZmVhdHVyZSI6ICJGdW5jXFwldTAyMWJpb25hbGl0YXRlXFw+IiwgImdpdmVuIjogIkRhY1xcJXUwMTAzXFw+IiwgInNjZW5hcmlvIjogIlNjZW5hcml1XFw+IiwgInNjZW5hcmlvX291dGxpbmUiOiAiU2NlbmFyaXVsIGRlIFxcJXUwMTVmYWJsb25cXD4iLCAidGhlbiI6ICJBdHVuY2lcXD4iLCAid2hlbiI6ICJDXFwldTAwZTJuZFxcPiJ9LAorICAgICAgXCJydSI6IHsiYW5kIjogIlxcJXUwNDFhIFxcJXUwNDQyXFwldTA0M2VcXCV1MDQzY1xcJXUwNDQzIFxcJXUwNDM2XFwldTA0MzVcXD5cXHxcXCV1MDQxOFxcPiIsICJiYWNrZ3JvdW5kIjogIlxcJXUwNDFmXFwldTA0NDBcXCV1MDQzNVxcJXUwNDM0XFwldTA0NGJcXCV1MDQ0MVxcJXUwNDQyXFwldTA0M2VcXCV1MDQ0MFxcJXUwNDM4XFwldTA0NGZcXD4iLCAiYnV0IjogIlxcJXUwNDFkXFwldTA0M2VcXD5cXHxcXCV1MDQxMFxcPiIsICJleGFtcGxlcyI6ICJcXCV1MDQxN1xcJXUwNDNkXFwldTA0MzBcXCV1MDQ0N1xcJXUwNDM1XFwldTA0M2RcXCV1MDQzOFxcJXUwNDRmXFw+IiwgImZlYXR1cmUiOiAiXFwldTA0MjRcXCV1MDQ0M1xcJXUwNDNkXFwldTA0M2FcXCV1MDQ0NlxcJXUwNDM4XFwldTA0M2VcXCV1MDQzZFxcJXUwNDMwXFwldTA0M2JcXD4iLCAiZ2l2ZW4iOiAiXFwldTA0MTRcXCV1MDQzZVxcJXUwNDNmXFwldTA0NDNcXCV1MDQ0MVxcJXUwNDQyXFwldTA0MzhcXCV1MDQzY1xcPiIsICJzY2VuYXJpbyI6ICJcXCV1MDQyMVxcJXUwNDQ2XFwldTA0MzVcXCV1MDQzZFxcJXUwNDMwXFwldTA0NDBcXCV1MDQzOFxcJXUwNDM5XFw+IiwgInNjZW5hcmlvX291dGxpbmUiOiAiXFwldTA0MjFcXCV1MDQ0MlxcJXUwNDQwXFwldTA0NDNcXCV1MDQzYVxcJXUwNDQyXFwldTA0NDNcXCV1MDQ0MFxcJXUwNDMwIFxcJXUwNDQxXFwldTA0NDZcXCV1MDQzNVxcJXUwNDNkXFwldTA0MzBcXCV1MDQ0MFxcJXUwNDM4XFwldTA0NGZcXD4iLCAidGhlbiI6ICJcXCV1MDQyMlxcJXUwNDNlXFw+IiwgIndoZW4iOiAiXFwldTA0MTVcXCV1MDQ0MVxcJXUwNDNiXFwldTA0MzhcXD4ifSwKKyAgICAgIFwic2UiOiB7ImFuZCI6ICJPY2hcXD4iLCAiYmFja2dyb3VuZCI6ICJCYWtncnVuZFxcPiIsICJidXQiOiAiTWVuXFw+IiwgImV4YW1wbGVzIjogIkV4ZW1wZWxcXD4iLCAiZmVhdHVyZSI6ICJFZ2Vuc2thcFxcPiIsICJnaXZlbiI6ICJHaXZldFxcPiIsICJzY2VuYXJpbyI6ICJTY2VuYXJpb1xcPiIsICJzY2VuYXJpb19vdXRsaW5lIjogIkFic3RyYWt0IFNjZW5hcmlvXFw+IiwgInRoZW4iOiAiU1xcJXUwMGU1XFw+IiwgIndoZW4iOiAiTlxcJXUwMGU0clxcPiJ9LAorICAgICAgXCJzayI6IHsiYW5kIjogIkFcXD4iLCAiYmFja2dyb3VuZCI6ICJQb3phZGllXFw+IiwgImJ1dCI6ICJBbGVcXD4iLCAiZXhhbXBsZXMiOiAiUHJcXCV1MDBlZGtsYWR5XFw+IiwgImZlYXR1cmUiOiAiUG9cXCV1MDE3ZWlhZGF2a2FcXD4iLCAiZ2l2ZW4iOiAiUG9raWFcXCV1MDEzZVxcPiIsICJzY2VuYXJpbyI6ICJTY2VuXFwldTAwZTFyXFw+IiwgInNjZW5hcmlvX291dGxpbmUiOiAiTlxcJXUwMGUxXFwldTAxMGRydCBTY2VuXFwldTAwZTFydVxcPiIsICJ0aGVuIjogIlRha1xcPiIsICJ3aGVuIjogIktlXFwldTAxMGZcXD4ifSwKKyAgICAgIFwic3IiOiB7ImFuZCI6ICJcXCV1MDQxOFxcPiIsICJiYWNrZ3JvdW5kIjogIlxcJXUwNDFhXFwldTA0M2VcXCV1MDQzZFxcJXUwNDQyXFwldTA0MzVcXCV1MDQzYVxcJXUwNDQxXFwldTA0NDJcXD5cXHxcXCV1MDQxZlxcJXUwNDNlXFwldTA0MzdcXCV1MDQzMFxcJXUwNDM0XFwldTA0MzhcXCV1MDQzZFxcJXUwNDMwXFw+XFx8XFwldTA0MWVcXCV1MDQ0MVxcJXUwNDNkXFwldTA0M2VcXCV1MDQzMlxcJXUwNDMwXFw+IiwgImJ1dCI6ICJcXCV1MDQxMFxcJXUwNDNiXFwldTA0MzhcXD4iLCAiZXhhbXBsZXMiOiAiXFwldTA0MjFcXCV1MDQ0NlxcJXUwNDM1XFwldTA0M2RcXCV1MDQzMFxcJXUwNDQwXFwldTA0MzhcXCV1MDQ1OFxcJXUwNDM4XFw+XFx8XFwldTA0MWZcXCV1MDQ0MFxcJXUwNDM4XFwldTA0M2NcXCV1MDQzNVxcJXUwNDQwXFwldTA0MzhcXD4iLCAiZmVhdHVyZSI6ICJcXCV1MDQyNFxcJXUwNDQzXFwldTA0M2RcXCV1MDQzYVxcJXUwNDQ2XFwldTA0MzhcXCV1MDQzZVxcJXUwNDNkXFwldTA0MzBcXCV1MDQzYlxcJXUwNDNkXFwldTA0M2VcXCV1MDQ0MVxcJXUwNDQyXFw+XFx8XFwldTA0MWNcXCV1MDQzZVxcJXUwNDMzXFwldTA0NDNcXCV1MDQ1YlxcJXUwNDNkXFwldTA0M2VcXCV1MDQ0MVxcJXUwNDQyXFw+XFx8XFwldTA0MWVcXCV1MDQ0MVxcJXUwNDNlXFwldTA0MzFcXCV1MDQzOFxcJXUwNDNkXFwldTA0MzBcXD4iLCAiZ2l2ZW4iOiAiXFwldTA0MTdcXCV1MDQzMFxcJXUwNDM0XFwldTA0MzBcXCV1MDQ0MlxcJXUwNDNlXFw+XFx8XFwldTA0MTdcXCV1MDQzMFxcJXUwNDM0XFwldTA0MzBcXCV1MDQ0MlxcJXUwNDM1XFw+XFx8XFwldTA0MTdcXCV1MDQzMFxcJXUwNDM0XFwldTA0MzBcXCV1MDQ0MlxcJXUwNDM4XFw+IiwgInNjZW5hcmlvIjogIlxcJXUwNDIxXFwldTA0NDZcXCV1MDQzNVxcJXUwNDNkXFwldTA0MzBcXCV1MDQ0MFxcJXUwNDM4XFwldTA0M2VcXD5cXHxcXCV1MDQxZlxcJXUwNDQwXFwldTA0MzhcXCV1MDQzY1xcJXUwNDM1XFwldTA0NDBcXD4iLCAic2NlbmFyaW9fb3V0bGluZSI6ICJcXCV1MDQyMVxcJXUwNDQyXFwldTA0NDBcXCV1MDQ0M1xcJXUwNDNhXFwldTA0NDJcXCV1MDQ0M1xcJXUwNDQwXFwldTA0MzAgXFwldTA0NDFcXCV1MDQ0NlxcJXUwNDM1XFwldTA0M2RcXCV1MDQzMFxcJXUwNDQwXFwldTA0MzhcXCV1MDQ1OFxcJXUwNDMwXFw+XFx8XFwldTA0MWFcXCV1MDQzZVxcJXUwNDNkXFwldTA0NDZcXCV1MDQzNVxcJXUwNDNmXFwldTA0NDJcXD5cXHxcXCV1MDQyMVxcJXUwNDNhXFwldTA0MzhcXCV1MDQ0NlxcJXUwNDMwXFw+IiwgInRoZW4iOiAiXFwldTA0MWVcXCV1MDQzZFxcJXUwNDM0XFwldTA0MzBcXD4iLCAid2hlbiI6ICJcXCV1MDQxYVxcJXUwNDMwXFwldTA0MzRcXCV1MDQzMFxcPlxcfFxcJXUwNDFhXFwldTA0MzBcXCV1MDQzNFxcPiJ9LAorICAgICAgXCJzci1MYXRuIjogeyJhbmQiOiAiSVxcPiIsICJiYWNrZ3JvdW5kIjogIktvbnRla3N0XFw+XFx8UG96YWRpbmFcXD5cXHxPc25vdmFcXD4iLCAiYnV0IjogIkFsaVxcPiIsICJleGFtcGxlcyI6ICJTY2VuYXJpamlcXD5cXHxQcmltZXJpXFw+IiwgImZlYXR1cmUiOiAiTW9ndVxcJXUwMTA3bm9zdFxcPlxcfEZ1bmtjaW9uYWxub3N0XFw+XFx8TW9ndWNub3N0XFw+XFx8T3NvYmluYVxcPiIsICJnaXZlbiI6ICJaYWRhdG9cXD5cXHxaYWRhdGVcXD5cXHxaYXRhdGlcXD4iLCAic2NlbmFyaW8iOiAiU2NlbmFyaW9cXD5cXHxQcmltZXJcXD4iLCAic2NlbmFyaW9fb3V0bGluZSI6ICJTdHJ1a3R1cmEgc2NlbmFyaWphXFw+XFx8S29uY2VwdFxcPlxcfFNraWNhXFw+IiwgInRoZW4iOiAiT25kYVxcPiIsICJ3aGVuIjogIkthZGFcXD5cXHxLYWRcXD4ifSwKKyAgICAgIFwidHIiOiB7ImFuZCI6ICJWZVxcPiIsICJiYWNrZ3JvdW5kIjogIkdlXFwldTAwZTdtaVxcJXUwMTVmXFw+IiwgImJ1dCI6ICJGYWthdFxcPlxcfEFtYVxcPiIsICJleGFtcGxlcyI6ICJcXCV1MDBkNnJuZWtsZXJcXD4iLCAiZmVhdHVyZSI6ICJcXCV1MDBkNnplbGxpa1xcPiIsICJnaXZlbiI6ICJEaXllbGltIGtpXFw+IiwgInNjZW5hcmlvIjogIlNlbmFyeW9cXD4iLCAic2NlbmFyaW9fb3V0bGluZSI6ICJTZW5hcnlvIHRhc2xhXFwldTAxMWZcXCV1MDEzMVxcPiIsICJ0aGVuIjogIk8gemFtYW5cXD4iLCAid2hlbiI6ICJFXFwldTAxMWZlciBraVxcPiJ9LAorICAgICAgXCJ1eiI6IHsiYW5kIjogIlxcJXUwNDEyXFwldTA0MzBcXD4iLCAiYmFja2dyb3VuZCI6ICJcXCV1MDQyMlxcJXUwNDMwXFwldTA0NDBcXCV1MDQzOFxcJXUwNDQ1XFw+IiwgImJ1dCI6ICJcXCV1MDQxYlxcJXUwNDM1XFwldTA0M2FcXCV1MDQzOFxcJXUwNDNkXFw+XFx8XFwldTA0MTFcXCV1MDQzOFxcJXUwNDQwXFwldTA0M2VcXCV1MDQzYVxcPlxcfFxcJXUwNDEwXFwldTA0M2NcXCV1MDQzY1xcJXUwNDNlXFw+IiwgImV4YW1wbGVzIjogIlxcJXUwNDFjXFwldTA0MzhcXCV1MDQ0MVxcJXUwNDNlXFwldTA0M2JcXCV1MDQzYlxcJXUwNDMwXFwldTA0NDBcXD4iLCAiZmVhdHVyZSI6ICJcXCV1MDQyNFxcJXUwNDQzXFwldTA0M2RcXCV1MDQzYVxcJXUwNDQ2XFwldTA0MzhcXCV1MDQzZVxcJXUwNDNkXFwldTA0MzBcXCV1MDQzYlxcPiIsICJnaXZlbiI6ICJcXCV1MDQxMFxcJXUwNDMzXFwldTA0MzBcXCV1MDQ0MFxcPiIsICJzY2VuYXJpbyI6ICJcXCV1MDQyMVxcJXUwNDQ2XFwldTA0MzVcXCV1MDQzZFxcJXUwNDMwXFwldTA0NDBcXCV1MDQzOFxcJXUwNDM5XFw+IiwgInNjZW5hcmlvX291dGxpbmUiOiAiXFwldTA0MjFcXCV1MDQ0NlxcJXUwNDM1XFwldTA0M2RcXCV1MDQzMFxcJXUwNDQwXFwldTA0MzhcXCV1MDQzOSBcXCV1MDQ0MVxcJXUwNDQyXFwldTA0NDBcXCV1MDQ0M1xcJXUwNDNhXFwldTA0NDJcXCV1MDQ0M1xcJXUwNDQwXFwldTA0MzBcXCV1MDQ0MVxcJXUwNDM4XFw+IiwgInRoZW4iOiAiXFwldTA0MjNcXCV1MDQzZFxcJXUwNDM0XFwldTA0MzBcXD4iLCAid2hlbiI6ICJcXCV1MDQxMFxcJXUwNDMzXFwldTA0MzBcXCV1MDQ0MFxcPiJ9LAorICAgICAgXCJ2aSI6IHsiYW5kIjogIlZcXCV1MDBlMFxcPiIsICJiYWNrZ3JvdW5kIjogIkJcXCV1MWVkMWkgY1xcJXUxZWEzbmhcXD4iLCAiYnV0IjogIk5oXFwldTAxYjBuZ1xcPiIsICJleGFtcGxlcyI6ICJEXFwldTFlZWYgbGlcXCV1MWVjN3VcXD4iLCAiZmVhdHVyZSI6ICJUXFwldTAwZWRuaCBuXFwldTAxMDNuZ1xcPiIsICJnaXZlbiI6ICJCaVxcJXUxZWJmdFxcPlxcfENob1xcPiIsICJzY2VuYXJpbyI6ICJUXFwldTAwZWNuaCBodVxcJXUxZWQxbmdcXD5cXHxLXFwldTFlY2JjaCBiXFwldTFlYTNuXFw+IiwgInNjZW5hcmlvX291dGxpbmUiOiAiS2h1bmcgdFxcJXUwMGVjbmggaHVcXCV1MWVkMW5nXFw+XFx8S2h1bmcga1xcJXUxZWNiY2ggYlxcJXUxZWEzblxcPiIsICJ0aGVuIjogIlRoXFwldTAwZWNcXD4iLCAid2hlbiI6ICJLaGlcXD4ifSwKKyAgICAgIFwiemgtQ04iOiB7ImFuZCI6ICJcXCV1ODAwY1xcJXU0ZTE0IiwgImJhY2tncm91bmQiOiAiXFwldTgwY2NcXCV1NjY2ZlxcPiIsICJidXQiOiAiXFwldTRmNDZcXCV1NjYyZiIsICJleGFtcGxlcyI6ICJcXCV1NGY4YlxcJXU1YjUwXFw+IiwgImZlYXR1cmUiOiAiXFwldTUyOWZcXCV1ODBmZFxcPiIsICJnaXZlbiI6ICJcXCV1NTA0N1xcJXU1OTgyIiwgInNjZW5hcmlvIjogIlxcJXU1NzNhXFwldTY2NmZcXD4iLCAic2NlbmFyaW9fb3V0bGluZSI6ICJcXCV1NTczYVxcJXU2NjZmXFwldTU5MjdcXCV1N2ViMlxcPiIsICJ0aGVuIjogIlxcJXU5MGEzXFwldTRlNDgiLCAid2hlbiI6ICJcXCV1NWY1MyJ9LAorICAgICAgXCJ6aC1UVyI6IHsiYW5kIjogIlxcJXU4MDBjXFwldTRlMTRcXHxcXCV1NGUyNlxcJXU0ZTE0IiwgImJhY2tncm91bmQiOiAiXFwldTgwY2NcXCV1NjY2ZlxcPiIsICJidXQiOiAiXFwldTRmNDZcXCV1NjYyZiIsICJleGFtcGxlcyI6ICJcXCV1NGY4YlxcJXU1YjUwXFw+IiwgImZlYXR1cmUiOiAiXFwldTUyOWZcXCV1ODBmZFxcPiIsICJnaXZlbiI6ICJcXCV1NTA0N1xcJXU4YTJkIiwgInNjZW5hcmlvIjogIlxcJXU1ODM0XFwldTY2NmZcXD5cXHxcXCV1NTI4N1xcJXU2NzJjXFw+IiwgInNjZW5hcmlvX291dGxpbmUiOiAiXFwldTU4MzRcXCV1NjY2ZlxcJXU1OTI3XFwldTdkYjFcXD5cXHxcXCV1NTI4N1xcJXU2NzJjXFwldTU5MjdcXCV1N2RiMVxcPiIsICJ0aGVuIjogIlxcJXU5MGEzXFwldTllYmMiLCAid2hlbiI6ICJcXCV1NzU3NiJ9fQorCitmdW5jdGlvbiEgczpwYXR0ZXJuKGtleSkKKyAgbGV0IGxhbmd1YWdlID0gbWF0Y2hzdHIoZ2V0bGluZSgxKSwnI1xzKmxhbmd1YWdlOlxzKlx6c1xTXCsnKQorICBpZiBoYXNfa2V5KGc6Y3VjdW1iZXJfbGFuZ3VhZ2VzLCBsYW5ndWFnZSkKKyAgICBsZXQgbGFuZ3VhZ2VzID0gW2c6Y3VjdW1iZXJfbGFuZ3VhZ2VzW2xhbmd1YWdlXV0KKyAgZWxzZQorICAgIGxldCBsYW5ndWFnZXMgPSB2YWx1ZXMoZzpjdWN1bWJlcl9sYW5ndWFnZXMpCisgIGVuZAorICByZXR1cm4gJ1w8XCUoJy5qb2luKG1hcChsYW5ndWFnZXMsJ2dldCh2OnZhbCxhOmtleSwiXFwlKGFcXCZiXFwpIiknKSwnXHwnKS4nXCknCitlbmRmdW5jdGlvbgorCitmdW5jdGlvbiEgczpBZGQobmFtZSkKKyAgbGV0IG5leHQgPSAiIHNraXBlbXB0eSBza2lwd2hpdGUgbmV4dGdyb3VwPSIuam9pbihtYXAoWyJSZWdpb24iLCJBbmRSZWdpb24iLCJCdXRSZWdpb24iLCJDb21tZW50IiwiVGFibGUiXSwnImN1Y3VtYmVyIi5hOm5hbWUudjp2YWwnKSwiLCIpCisgIGV4ZSAic3luIHJlZ2lvbiBjdWN1bWJlciIuYTpuYW1lLidSZWdpb24gbWF0Y2hncm91cD1jdWN1bWJlcicuYTpuYW1lLicgc3RhcnQ9IlwlKF5ccypcKVxAPD1cJSgnLnM6cGF0dGVybih0b2xvd2VyKGE6bmFtZSkpLidcKSIgZW5kPSIkIicubmV4dAorICBleGUgJ3N5biByZWdpb24gY3VjdW1iZXInLmE6bmFtZS4nQW5kUmVnaW9uIG1hdGNoZ3JvdXA9Y3VjdW1iZXInLmE6bmFtZS4nQW5kIHN0YXJ0PSJcJSheXHMqXClcQDw9Jy5zOnBhdHRlcm4oJ2FuZCcpLiciIGVuZD0iJCIgY29udGFpbmVkJy5uZXh0CisgIGV4ZSAnc3luIHJlZ2lvbiBjdWN1bWJlcicuYTpuYW1lLidCdXRSZWdpb24gbWF0Y2hncm91cD1jdWN1bWJlcicuYTpuYW1lLidCdXQgc3RhcnQ9IlwlKF5ccypcKVxAPD0nLnM6cGF0dGVybignYnV0JykuJyIgZW5kPSIkIiBjb250YWluZWQnLm5leHQKKyAgZXhlICdzeW4gbWF0Y2ggY3VjdW1iZXInLmE6bmFtZS4nQ29tbWVudCAiXCUoXlxzKlwpXEA8PSMuKiIgY29udGFpbmVkJy5uZXh0CisgIGV4ZSAnc3luIG1hdGNoIGN1Y3VtYmVyJy5hOm5hbWUuJ1RhYmxlICJcJSheXHMqXClcQDw9fC4qIiBjb250YWluZWQgY29udGFpbnM9Y3VjdW1iZXJEZWxpbWl0ZXInLm5leHQKKyAgZXhlICdoaSBkZWYgbGluayBjdWN1bWJlcicuYTpuYW1lLidDb21tZW50IGN1Y3VtYmVyQ29tbWVudCcKKyAgZXhlICdoaSBkZWYgbGluayBjdWN1bWJlcicuYTpuYW1lLidCdXQgY3VjdW1iZXInLmE6bmFtZS4nQW5kJworICBleGUgJ2hpIGRlZiBsaW5rIGN1Y3VtYmVyJy5hOm5hbWUuJ0FuZCBjdWN1bWJlcicuYTpuYW1lCisgIGV4ZSAnc3luIGNsdXN0ZXIgY3VjdW1iZXJTdGVwUmVnaW9ucyBhZGQ9Y3VjdW1iZXInLmE6bmFtZS4nUmVnaW9uLGN1Y3VtYmVyJy5hOm5hbWUuJ0FuZFJlZ2lvbixjdWN1bWJlcicuYTpuYW1lLidCdXRSZWdpb24nCitlbmRmdW5jdGlvbgorCitzeW4gbWF0Y2ggICBjdWN1bWJlckNvbW1lbnQgICJcJSheXHMqXClcQDw9Iy4qIgorc3luIG1hdGNoICAgY3VjdW1iZXJDb21tZW50ICAiXCUoXCVeXHMqXClcQDw9Iy4qIiBjb250YWlucz1jdWN1bWJlckxhbmd1YWdlCitzeW4gbWF0Y2ggICBjdWN1bWJlckxhbmd1YWdlICJcJSgjXHMqXClcQDw9bGFuZ3VhZ2U6IiBjb250YWluZWQKK3N5biBtYXRjaCAgIGN1Y3VtYmVyVW5wYXJzZWQgIlxTLioiIG5leHRncm91cD1jdWN1bWJlclVucGFyc2VkQ29tbWVudCxjdWN1bWJlclVucGFyc2VkLGN1Y3VtYmVyVGFncyxjdWN1bWJlckJhY2tncm91bmQsY3VjdW1iZXJTY2VuYXJpbyxjdWN1bWJlclNjZW5hcmlvT3V0bGluZSxjdWN1bWJlckV4YW1wbGVzIHNraXB3aGl0ZSBza2lwZW1wdHkgY29udGFpbmVkCitzeW4gbWF0Y2ggICBjdWN1bWJlclVucGFyc2VkQ29tbWVudCAiIy4qIiBuZXh0Z3JvdXA9Y3VjdW1iZXJVbnBhcnNlZENvbW1lbnQsY3VjdW1iZXJVbnBhcnNlZCxjdWN1bWJlclRhZ3MsY3VjdW1iZXJCYWNrZ3JvdW5kLGN1Y3VtYmVyU2NlbmFyaW8sY3VjdW1iZXJTY2VuYXJpb091dGxpbmUsY3VjdW1iZXJFeGFtcGxlcyBza2lwd2hpdGUgc2tpcGVtcHR5IGNvbnRhaW5lZAorCitleGUgJ3N5biBtYXRjaCBjdWN1bWJlckZlYXR1cmUgIlwlKF5ccypcKVxAPD0nLnM6cGF0dGVybignZmVhdHVyZScpLic6IiBuZXh0Z3JvdXA9Y3VjdW1iZXJVbnBhcnNlZENvbW1lbnQsY3VjdW1iZXJVbnBhcnNlZCxjdWN1bWJlckJhY2tncm91bmQsY3VjdW1iZXJTY2VuYXJpbyxjdWN1bWJlclNjZW5hcmlvT3V0bGluZSxjdWN1bWJlckV4YW1wbGVzIHNraXB3aGl0ZSBza2lwZW1wdHknCitleGUgJ3N5biBtYXRjaCBjdWN1bWJlckJhY2tncm91bmQgIlwlKF5ccypcKVxAPD0nLnM6cGF0dGVybignYmFja2dyb3VuZCcpLic6IicKK2V4ZSAnc3luIG1hdGNoIGN1Y3VtYmVyU2NlbmFyaW8gIlwlKF5ccypcKVxAPD0nLnM6cGF0dGVybignc2NlbmFyaW8nKS4nOiInCitleGUgJ3N5biBtYXRjaCBjdWN1bWJlclNjZW5hcmlvT3V0bGluZSAiXCUoXlxzKlwpXEA8PScuczpwYXR0ZXJuKCdzY2VuYXJpb19vdXRsaW5lJykuJzoiJworZXhlICdzeW4gbWF0Y2ggY3VjdW1iZXJFeGFtcGxlcyAiXCUoXlxzKlwpXEA8PScuczpwYXR0ZXJuKCdleGFtcGxlcycpLic6IiBuZXh0Z3JvdXA9Y3VjdW1iZXJFeGFtcGxlVGFibGUgc2tpcGVtcHR5IHNraXB3aGl0ZScKKworc3luIG1hdGNoICAgY3VjdW1iZXJQbGFjZWhvbGRlciAgICI8W148Pl0qPiIgY29udGFpbmVkIGNvbnRhaW5lZGluPUBjdWN1bWJlclN0ZXBSZWdpb25zCitzeW4gbWF0Y2ggICBjdWN1bWJlckV4YW1wbGVUYWJsZSAgIlwlKF5ccypcKVxAPD18LioiIGNvbnRhaW5zPWN1Y3VtYmVyRGVsaW1pdGVyCitzeW4gbWF0Y2ggICBjdWN1bWJlckRlbGltaXRlciAgICAgInwiIGNvbnRhaW5lZAorc3luIG1hdGNoICAgY3VjdW1iZXJUYWdzICAgICAgICAgICJcJSheXHMqXClcQDw9XCUoQFteQFs6c3BhY2U6XV1cK1xzXCtcKSpAW15AWzpzcGFjZTpdXVwrXHMqJCIKK3N5biByZWdpb24gIGN1Y3VtYmVyU3RyaW5nICAgc3RhcnQ9K1wlKF5ccypcKVxAPD0iIiIrIGVuZD0rIiIiKworCitjYWxsIHM6QWRkKCdUaGVuJykKK2NhbGwgczpBZGQoJ1doZW4nKQorY2FsbCBzOkFkZCgnR2l2ZW4nKQorCitoaSBkZWYgbGluayBjdWN1bWJlclVucGFyc2VkQ29tbWVudCAgIGN1Y3VtYmVyQ29tbWVudAoraGkgZGVmIGxpbmsgY3VjdW1iZXJDb21tZW50ICAgICAgICAgICBDb21tZW50CitoaSBkZWYgbGluayBjdWN1bWJlckxhbmd1YWdlICAgICAgICAgIFNwZWNpYWxDb21tZW50CitoaSBkZWYgbGluayBjdWN1bWJlckZlYXR1cmUgICAgICAgICAgIE1hY3JvCitoaSBkZWYgbGluayBjdWN1bWJlckJhY2tncm91bmQgICAgICAgIERlZmluZQoraGkgZGVmIGxpbmsgY3VjdW1iZXJTY2VuYXJpbyAgICAgICAgICBEZWZpbmUKK2hpIGRlZiBsaW5rIGN1Y3VtYmVyU2NlbmFyaW9PdXRsaW5lICAgRGVmaW5lCitoaSBkZWYgbGluayBjdWN1bWJlckV4YW1wbGVzICAgICAgICAgIERlZmluZQoraGkgZGVmIGxpbmsgY3VjdW1iZXJQbGFjZWhvbGRlciAgICAgICBDb25zdGFudAoraGkgZGVmIGxpbmsgY3VjdW1iZXJEZWxpbWl0ZXIgICAgICAgICBEZWxpbWl0ZXIKK2hpIGRlZiBsaW5rIGN1Y3VtYmVyVGFncyAgICAgICAgICAgICAgVGFnCitoaSBkZWYgbGluayBjdWN1bWJlclN0cmluZyAgICAgICAgICAgIFN0cmluZworaGkgZGVmIGxpbmsgY3VjdW1iZXJHaXZlbiAgICAgICAgICAgICBDb25kaXRpb25hbAoraGkgZGVmIGxpbmsgY3VjdW1iZXJXaGVuICAgICAgICAgICAgICBGdW5jdGlvbgoraGkgZGVmIGxpbmsgY3VjdW1iZXJUaGVuICAgICAgICAgICAgICBUeXBlCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gImN1Y3VtYmVyIgorCisiIHZpbTpzZXQgc3RzPTIgc3c9MjoK