YyB7IGRnLWRvIGNvbXBpbGUgfQoqIFJlc2VudC1Gcm9tOiBDcmFpZyBCdXJsZXkgPGJ1cmxleUBnbnUub3JnPgoqIFJlc2VudC1UbzogY3JhaWdAamNiLXNjLmNvbQoqIFgtRGVsaXZlcmVkOiBhdCByZXF1ZXN0IG9mIGJ1cmxleSBvbiBtZXNjYWxpbmUuZ251Lm9yZwoqIERhdGU6IFdlZCwgMTYgRGVjIDE5OTggMTg6MzE6MjQgKzAxMDAKKiBGcm9tOiBEaWV0ZXIgU3R1ZWtlbiA8c3R1ZWtlbkBjb250ZXJyYS5kZT4KKiBPcmdhbml6YXRpb246IGNvbiB0ZXJyYSBHbWJICiogVG86IGZvcnRyYW5AZ251Lm9yZwoqIFN1YmplY3Q6IHBvc3NpYmxlIGJ1ZwoqIENvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1pc28tODg1OS0xCiogWC1NaW1lLUF1dG9jb252ZXJ0ZWQ6IGZyb20gOGJpdCB0byBxdW90ZWQtcHJpbnRhYmxlIGJ5IG1lc2NhbGluZS5nbnUub3JnIGlkIEtBQTA5MDg1CiogWC1VSURMOiA3MjI5M2JmN2Y5ZmFjODM3OGVjN2ZlY2EyYmNjYmNlMgoqIAoqIEhpLAoqIAoqIEknbSBhYm91dCB0byBjb21waWxlIGEgdmVyeSBvbGQsIHZlcnkgdWdseSBGb3J0cmFuIHByb2dyYW0uCiogRm9yIG9uZSBwYXJ0IEkgZ290OgoqIAoqIGY3NzogSW50ZXJuYWwgY29tcGlsZXIgZXJyb3I6IHByb2dyYW0gZjc3MSBnb3QgZmF0YWwgc2lnbmFsIDYKKiAKKiBpbnN0ZWFkIG9mIGFueSBkZXRhaWxlZCBlcnJvciBtZXNzYWdlLiBJIHdhcyBhYmxlIHRvIGJyZWFrIGRvd24gdGhlCiogcHJvYmxlbSB0byB0aGUgZm9sbG93aW5nIHNvdXJjZSBmcmFnbWVudDoKKiAKKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgICAgUFJPR1JBTSBXQVAKCiAgICAgICAgaW50ZWdlcioyICBpb3MKICAgICAgICBjaGFyYWN0ZXIqODAgIG5hbWUKCiAgICAgICAgbmFtZSA9ICdibGFoJwogICAgICAgIG9wZW4odW5pdD04LHN0YXR1cz0ndW5rbm93bicsZmlsZT1uYW1lLGZvcm09J2Zvcm1hdHRlZCcsCiAgICAgRiAgICAgICBpb3N0YXQ9aW9zKQoKICAgICAgRU5ECiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqIAoqIFRoZSBwcm9ibGVtIHNlZW1zIHRvIGJlIGNhdXNlZCBieSB0aGUgImludGVnZXIqMiBpb3MiIGRlY2xhcmF0aW9uLgoqIFNvIGZhciBJIHNvbHZlZCBpdCBieSBzaW1wbHkgdXNpbmcgYSBwbGFpbiBpbnRlZ2VyIGluc3RlYWQuCiogCiogSSdtIHJ1bm5pbmcgZ2NjIG9uIGEgTGludXggc3lzdGVtIGNvbXBpbGVkL2luc3RhbGxlZAoqIHdpdGggbm8gc3BlY2lhbCBvcHRpb25zOgoqIAoqIC0+IGc3NyAtdgoqIGc3NyB2ZXJzaW9uIDAuNS4yMwoqIERyaXZpbmc6IGc3NyAtdiAtYyAteGY3Ny12ZXJzaW9uIC9kZXYvbnVsbCAteG5vbmUKKiBSZWFkaW5nIHNwZWNzIGZyb20gL3Vzci9saWIvZ2NjLWxpYi9pNjg2LXBjLWxpbnV4LWdudWxpYmMxLzIuOC4xL3NwZWNzCiogZ2NjIHZlcnNpb24gMi44LjEKKiAgL3Vzci9saWIvZ2NjLWxpYi9pNjg2LXBjLWxpbnV4LWdudWxpYmMxLzIuOC4xL2NwcCAtbGFuZy1jIC12IC11bmRlZgoqIC1EX19HTlVDX189MiAtRF9fR05VQ19NSU5PUl9fPTggLURfX0VMRl9fIC1EX191bml4X18gLURfX2xpbnV4X18KKiAtRF9fdW5peCAtRF9fbGludXggLUFzeXN0ZW0ocG9zaXgpIC1EX0xBTkdVQUdFX0ZPUlRSQU4gLXRyYWRpdGlvbmFsCiogLURpMzg2IC1EaTY4NiAtQXN5c3RlbSh1bml4KSAtQWNwdShpMzg2KSAtQW1hY2hpbmUoaTM4NikgLURfX2kzODZfXwoqIC1EX19pNjg2X18gLUFzeXN0ZW0odW5peCkgLUFjcHUoaTM4NikgLUFtYWNoaW5lKGkzODYpIC9kZXYvbnVsbAoqIC9kZXYvbnVsbAoqIEdOVSBDUFAgdmVyc2lvbiAyLjguMSAoaTM4NiBHTlUvTGludXggd2l0aCBFTEYpCiogI2luY2x1ZGUgIi4uLiIgc2VhcmNoIHN0YXJ0cyBoZXJlOgoqICNpbmNsdWRlIDwuLi4+IHNlYXJjaCBzdGFydHMgaGVyZToKKiAgL3Vzci9sb2NhbC9pbmNsdWRlCiogIC91c3IvaTY4Ni1wYy1saW51eC1nbnVsaWJjMS9pbmNsdWRlCiogIC91c3IvbGliL2djYy1saWIvaTY4Ni1wYy1saW51eC1nbnVsaWJjMS8yLjguMS9pbmNsdWRlCiogIC91c3IvaW5jbHVkZQoqIEVuZCBvZiBzZWFyY2ggbGlzdC4KKiAgL3Vzci9saWIvZ2NjLWxpYi9pNjg2LXBjLWxpbnV4LWdudWxpYmMxLzIuOC4xL2Y3NzEgLWZudWxsLXZlcnNpb24KKiAtcXVpZXQgLWR1bXBiYXNlIGc3Ny12ZXJzaW9uLmYgLXZlcnNpb24gLWZ2ZXJzaW9uIC1vIC90bXAvY2NhMjQ5MTEucwoqIC9kZXYvbnVsbAoqIEdOVSBGNzcgdmVyc2lvbiAyLjguMSAoaTY4Ni1wYy1saW51eC1nbnVsaWJjMSkgY29tcGlsZWQgYnkgR05VIEMgdmVyc2lvbgoqIDIuOC4xLgoqIEdOVSBGb3J0cmFuIEZyb250IEVuZCB2ZXJzaW9uIDAuNS4yMwoqICBhcyAtViAtUXkgLW8gL3RtcC9jY2EyNDkxMS5vIC90bXAvY2NhMjQ5MTEucwoqIEdOVSBhc3NlbWJsZXIgdmVyc2lvbiAyLjguMSAoaTQ4Ni1saW51eCksIHVzaW5nIEJGRCB2ZXJzaW9uIDIuOC4xCiogIGxkIC1tIGVsZl9pMzg2IC1keW5hbWljLWxpbmtlciAvbGliL2xkLWxpbnV4LnNvLjEgLW8gL3RtcC9jY2EyNDkxMQoqIC90bXAvY2NhMjQ5MTEubyAvdXNyL2xpYi9jcnQxLm8gL3Vzci9saWIvY3J0aS5vCiogL3Vzci9saWIvZ2NjLWxpYi9pNjg2LXBjLWxpbnV4LWdudWxpYmMxLzIuOC4xL2NydGJlZ2luLm8KKiAtTC91c3IvbGliL2djYy1saWIvaTY4Ni1wYy1saW51eC1nbnVsaWJjMS8yLjguMSAtTC91c3IgLWxnMmMgLWxtIC1sZ2NjCiogLWxjIC1sZ2NjIC91c3IvbGliL2djYy1saWIvaTY4Ni1wYy1saW51eC1nbnVsaWJjMS8yLjguMS9jcnRlbmQubwoqIC91c3IvbGliL2NydG4ubwoqICAvdG1wL2NjYTI0OTExCiogX19HNzdfTElCRjc3X1ZFUlNJT05fXzogMC41LjIzCiogQCgjKUxJQkY3NyBWRVJTSU9OIDE5OTcwOTE5CiogX19HNzdfTElCSTc3X1ZFUlNJT05fXzogMC41LjIzCiogQCgjKSBMSUJJNzcgVkVSU0lPTiBwancsZG1nLW1vZHMgMTk5ODA0MDUKKiBfX0c3N19MSUJVNzdfVkVSU0lPTl9fOiAwLjUuMjMKKiBAKCMpIExJQlU3NyBWRVJTSU9OIDE5OTcwOTE5CiogCiogCiogUmVnYXJkcywgRGlldGVyLgoqIC0tIAoqIERpZXRlciBTdPxrZW4sIGNvbiB0ZXJyYSBHbWJILCBN/G5zdGVyCiogICAgIHN0dWVrZW5AY29udGVycmEuZGUgICAgICAgICBzdHVla2VuQHFncC51bmktbXVlbnN0ZXIuZGUKKiAgICAgaHR0cDovL3d3dy5jb250ZXJyYS5kZS8gICAgIGh0dHA6Ly9xZ3AudW5pLW11ZW5zdGVyLmRlL35zdHVla2VuCiogICAgICgwKTI1MS05ODAtMjAyNyAgICAgICAgICAgICAoMCkyNTEtODMtMzM0OTc0Cg==