Q29udGVudC1sYW5ndWFnZTogY3MKQ29udGVudC10eXBlOiB0ZXh0L2h0bWw7IGNoYXJzZXQ9SVNPLTg4NTktMgpCb2R5Oi0tLS0tLS0tLS1jcy0tCjwhLS0jc2V0IHZhcj0iQ09OVEVOVF9MQU5HVUFHRSIgdmFsdWU9ImNzIgotLT48IS0tI3NldCB2YXI9IkNIQVJBQ1RFUl9FTkNPRElORyIgdmFsdWU9IklTTy04ODU5LTIiCi0tPjwhLS0jc2V0IHZhcj0iVElUTEUiIHZhbHVlPSJWc3R1cG7tIHBvZG3tbmthIHNlbGhhbGEhIgotLT48IS0tI2luY2x1ZGUgdmlydHVhbD0iaW5jbHVkZS90b3AuaHRtbCIgLS0+CgogICAgVnN0dXBu7SBwb2Rt7W5rYSBwcm8gcG++YWRhdmVrIG8mbmJzcDt6YWRhbukgVVJMIG5lc3BsbmlsYSBwb3ppdGl2bu0KICAgIHZ5aG9kbm9jZW7tLgogIAo8IS0tI2luY2x1ZGUgdmlydHVhbD0iaW5jbHVkZS9ib3R0b20uaHRtbCIgLS0+Ci0tLS0tLS0tLS1jcy0tCgpDb250ZW50LWxhbmd1YWdlOiBkZQpDb250ZW50LXR5cGU6IHRleHQvaHRtbDsgY2hhcnNldD1JU08tODg1OS0xCkJvZHk6LS0tLS0tLS0tLWRlLS0KPCEtLSNzZXQgdmFyPSJDT05URU5UX0xBTkdVQUdFIiB2YWx1ZT0iZGUiCi0tPjwhLS0jc2V0IHZhcj0iVElUTEUiIHZhbHVlPSJWb3JiZWRpbmd1bmcgdmVyZmVobHQhIgotLT48IS0tI2luY2x1ZGUgdmlydHVhbD0iaW5jbHVkZS90b3AuaHRtbCIgLS0+CgogICAgRGllIGYmdXVtbDtyIGRlbiBBYnJ1ZiBkZXIgYW5nZWZvcmRlcnRlbiBVUkwgbm90d2VuZGlnZQogICAgVm9yYmVkaW5ndW5nIHd1cmRlIG5pY2h0IGVyZiZ1dW1sO2xsdC4KCjwhLS0jaW5jbHVkZSB2aXJ0dWFsPSJpbmNsdWRlL2JvdHRvbS5odG1sIiAtLT4KLS0tLS0tLS0tLWRlLS0KCkNvbnRlbnQtbGFuZ3VhZ2U6IGVuCkNvbnRlbnQtdHlwZTogdGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEKQm9keTotLS0tLS0tLS0tZW4tLQo8IS0tI3NldCB2YXI9IlRJVExFIiB2YWx1ZT0iUHJlY29uZGl0aW9uIGZhaWxlZCEiCi0tPjwhLS0jaW5jbHVkZSB2aXJ0dWFsPSJpbmNsdWRlL3RvcC5odG1sIiAtLT4KCiAgICBUaGUgcHJlY29uZGl0aW9uIG9uIHRoZSByZXF1ZXN0IGZvciB0aGUgVVJMIGZhaWxlZCBwb3NpdGl2ZSBldmFsdWF0aW9uLgogIAo8IS0tI2luY2x1ZGUgdmlydHVhbD0iaW5jbHVkZS9ib3R0b20uaHRtbCIgLS0+Ci0tLS0tLS0tLS1lbi0tCgpDb250ZW50LWxhbmd1YWdlOiBlcwpDb250ZW50LXR5cGU6IHRleHQvaHRtbDsgY2hhcnNldD1JU08tODg1OS0xCkJvZHk6LS0tLS0tLS0tLWVzLS0KPCEtLSNzZXQgdmFyPSJDT05URU5UX0xBTkdVQUdFIiB2YWx1ZT0iZXMiCi0tPjwhLS0jc2V0IHZhcj0iVElUTEUiIHZhbHVlPSImaWV4Y2w7UHJlY29uZGljaSZvYWN1dGU7biBlcnImb2FjdXRlO25lYSEiCi0tPjwhLS0jaW5jbHVkZSB2aXJ0dWFsPSJpbmNsdWRlL3RvcC5odG1sIiAtLT4KCglMYSBwcmVjb25kaWNpJm9hY3V0ZTtuIHBhcmEgcXVlIGV4aXN0YSB1bmEgCgljb25leGkmb2FjdXRlO24gYSBsYSBkaXJlY2NpJm9hY3V0ZTtuIHNvbGljaXRhZGEgZXMgZmFsc2EuCgo8IS0tI2luY2x1ZGUgdmlydHVhbD0iaW5jbHVkZS9ib3R0b20uaHRtbCIgLS0+Ci0tLS0tLS0tLS1lcy0tCgpDb250ZW50LWxhbmd1YWdlOiBmcgpDb250ZW50LXR5cGU6IHRleHQvaHRtbDsgY2hhcnNldD1JU08tODg1OS0xCkJvZHk6LS0tLS0tLS0tLWZyLS0KPCEtLSNzZXQgdmFyPSJDT05URU5UX0xBTkdVQUdFIiB2YWx1ZT0iZnIiCi0tPjwhLS0jc2V0IHZhcj0iVElUTEUiIHZhbHVlPSJQciZlYWN1dGU7Y29uZGl0aW9uIG4mZWFjdXRlO2dhdGl2ZSEiCi0tPjwhLS0jaW5jbHVkZSB2aXJ0dWFsPSJpbmNsdWRlL3RvcC5odG1sIiAtLT4KCiAgICBMYSBwciZlYWN1dGU7Y29uZGl0aW9uIHBvdXIgbCdVUkwgcmVxdWlzZSBhICZlYWN1dGU7dCZlYWN1dGU7CiAgICAmZWFjdXRlO3ZhbHUmZWFjdXRlO2UgbiZlYWN1dGU7Z2F0aXZlbWVudC4KCjwhLS0jaW5jbHVkZSB2aXJ0dWFsPSJpbmNsdWRlL2JvdHRvbS5odG1sIiAtLT4KLS0tLS0tLS0tLWZyLS0KCkNvbnRlbnQtbGFuZ3VhZ2U6IGdhCkNvbnRlbnQtdHlwZTogdGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEKQm9keTotLS0tLS0tLS0tZ2EtLQo8IS0tI3NldCB2YXI9IlRJVExFIiB2YWx1ZT0iVGhlaXAgYXIgciZlYWN1dGU7YW1oY2hvaW5uJmlhY3V0ZTtvbGwhIgotLT48IS0tI2luY2x1ZGUgdmlydHVhbD0iaW5jbHVkZS90b3AuaHRtbCIgLS0+CgogICAgVGhlaXAgbWVhc3Qmb2FjdXRlO2lyZWFjaHQgYW4gciZlYWN1dGU7YW1oY2hvaW5uJmlhY3V0ZTtvbGwgCiAgICBkb24gaWFycmF0YWlzIGRlbiBVUkwuCiAgICAKPCEtLSNpbmNsdWRlIHZpcnR1YWw9ImluY2x1ZGUvYm90dG9tLmh0bWwiIC0tPgotLS0tLS0tLS0tZ2EtLQoKQ29udGVudC1sYW5ndWFnZTogaXQKQ29udGVudC10eXBlOiB0ZXh0L2h0bWw7IGNoYXJzZXQ9SVNPLTg4NTktMQpCb2R5Oi0tLS0tLS0tLS1pdC0tCjwhLS0jc2V0IHZhcj0iQ09OVEVOVF9MQU5HVUFHRSIgdmFsdWU9Iml0IgotLT48IS0tI3NldCB2YXI9IlRJVExFIiB2YWx1ZT0iQ3JpdGVyaSBkaSBwcmVjb25kaXppb25lIG5vbiBzb2RkaXNmYXR0aSEiCi0tPjwhLS0jaW5jbHVkZSB2aXJ0dWFsPSJpbmNsdWRlL3RvcC5odG1sIiAtLT4KCiAgICBJIGNyaXRlcmkgZGkgcHJlY29uZGl6aW9uZSBwZXIgY29uc2VudGlyZSBsJ2ludmlvIGRlbGwnVVJMCiAgICByaWNoaWVzdG8gbm9uIHNvbm8gc3RhdGkgc29kZGlzZmF0dGkuCgo8IS0tI2luY2x1ZGUgdmlydHVhbD0iaW5jbHVkZS9ib3R0b20uaHRtbCIgLS0+Ci0tLS0tLS0tLS1pdC0tCgpDb250ZW50LWxhbmd1YWdlOiBqYQpDb250ZW50LXR5cGU6IHRleHQvaHRtbDsgY2hhcnNldD1JU08tMjAyMi1KUApCb2R5Oi0tLS0tLS0tLS1qYS0tCjwhLS0jc2V0IHZhcj0iQ09OVEVOVF9MQU5HVUFHRSIgdmFsdWU9ImphIgotLT48IS0tI3NldCB2YXI9IkNIQVJBQ1RFUl9FTkNPRElORyIgdmFsdWU9Imlzby0yMDIyLWpwIgotLT48IS0tI3NldCB2YXI9IlRJVExFIiB2YWx1ZT0iUHJlY29uZGl0aW9uIGZhaWxlZCEiCi0tPjwhLS0jaW5jbHVkZSB2aXJ0dWFsPSJpbmNsdWRlL3RvcC5odG1sIiAtLT4KCiAgICAbJEI7WERqJDUkbCQ/GyhCIFVSTCAbJEIkWCROJWolLyUoJTklSCRLJCokMSRrO3ZBMD5yN28kLEt+JD8kNSRsJF4kOyRzJEckNyQ/ISMbKEIKICAKPCEtLSNpbmNsdWRlIHZpcnR1YWw9ImluY2x1ZGUvYm90dG9tLmh0bWwiIC0tPiAKLS0tLS0tLS0tLWphLS0KCkNvbnRlbnQtbGFuZ3VhZ2U6IGtvCkNvbnRlbnQtdHlwZTogdGV4dC9odG1sOyBjaGFyc2V0PUVVQy1LUgpCb2R5Oi0tLS0tLS0tLS1rby0tCjwhLS0jc2V0IHZhcj0iQ09OVEVOVF9MQU5HVUFHRSIgdmFsdWU9ImtvIgotLT48IS0tI3NldCB2YXI9IlRJVExFIiB2YWx1ZT0iwda+7sH4IMG2sMcgvcfG0CEiCi0tPjwhLS0jc2V0IHZhcj0iQ0hBUkFDVEVSX0VOQ09ESU5HIiB2YWx1ZT0iRVVDLUtSIgotLT48IS0tI2luY2x1ZGUgdmlydHVhbD0iaW5jbHVkZS90b3AuaHRtbCIgLS0+CgogICAgucy4riDB1r7uwfggwbawx8DMILi4wbe1x8H2IL7Kvsa8rSBVUkwgv+TDu8C7IMOzuK7H0iC89iC++L3AtM+02S4KCjwhLS0jaW5jbHVkZSB2aXJ0dWFsPSJpbmNsdWRlL2JvdHRvbS5odG1sIiAtLT4KLS0tLS0tLS0tLWtvLS0KCkNvbnRlbnQtbGFuZ3VhZ2U6IG5sCkNvbnRlbnQtdHlwZTogdGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEKQm9keTotLS0tLS0tLS0tbmwtLQo8IS0tI3NldCB2YXI9IkNPTlRFTlRfTEFOR1VBR0UiIHZhbHVlPSJubCIKLS0+PCEtLSNzZXQgdmFyPSJUSVRMRSIgdmFsdWU9IlN0YXJ0dm9vcndhYXJkZSBuaWV0IHZvbGRhYW4hIgotLT48IS0tI2luY2x1ZGUgdmlydHVhbD0iaW5jbHVkZS90b3AuaHRtbCIgLS0+CgogIEVlbiBzdGFydHZvb3J3YWFyZGUgd2VyZCBuaWV0IHZvbGRhYW4gYmlqIHZlcndlcmtpbmcgdmFuIGRlIHZyYWFnIG5hYXIgZGUgVVJMLgoKPCEtLSNpbmNsdWRlIHZpcnR1YWw9ImluY2x1ZGUvYm90dG9tLmh0bWwiIC0tPgotLS0tLS0tLS0tbmwtLQoKQ29udGVudC1sYW5ndWFnZTogcGwKQ29udGVudC10eXBlOiB0ZXh0L2h0bWw7IGNoYXJzZXQ9SVNPLTg4NTktMgpCb2R5Oi0tLS0tLS0tLS1wbC0tCjwhLS0jc2V0IHZhcj0iQ09OVEVOVF9MQU5HVUFHRSIgdmFsdWU9InBsIgotLT48IS0tI3NldCB2YXI9IlRJVExFIiB2YWx1ZT0iTmllc3Bls25pb255IHdhcnVuZWshIgotLT48IS0tI3NldCB2YXI9IkNIQVJBQ1RFUl9FTkNPRElORyIgdmFsdWU9IklTTy04ODU5LTIiCi0tPjwhLS0jaW5jbHVkZSB2aXJ0dWFsPSJpbmNsdWRlL3RvcC5odG1sIiAtLT4KCiAgICBXYXJ1bmVrIHdzdOpwbnkgZGxhIFVSTGEgbmllIHpvc3RhsyBzcGWzbmlvbnkuCgo8IS0tI2luY2x1ZGUgdmlydHVhbD0iaW5jbHVkZS9ib3R0b20uaHRtbCIgLS0+Ci0tLS0tLS0tLS1wbC0tCgpDb250ZW50LWxhbmd1YWdlOiBwdC1icgpDb250ZW50LXR5cGU6IHRleHQvaHRtbDsgY2hhcnNldD1JU08tODg1OS0xCkJvZHk6LS0tLS0tLXB0LWJyLS0KPCEtLSNzZXQgdmFyPSJDT05URU5UX0xBTkdVQUdFIiB2YWx1ZT0icHQtYnIiCi0tPjwhLS0jc2V0IHZhcj0iVElUTEUiIHZhbHVlPSJGYWxoYSBkZSBwcmVjb25kaSZjY2VkaWw7JmF0aWxkZTtvISIKLS0+PCEtLSNpbmNsdWRlIHZpcnR1YWw9ImluY2x1ZGUvdG9wLmh0bWwiIC0tPgoKICAgIEEgY29uZGkmY2NlZGlsOyZhdGlsZGU7byBuZWNlc3MmYWFjdXRlO3JpYSBwYXJhIGEKICAgIHJlcXVpc2kmY2NlZGlsOyZhdGlsZGU7byBkYSBVUkwgZm9pIGF2YWxpYWRhIGNvbW8gZmFsc2EuCgo8IS0tI2luY2x1ZGUgdmlydHVhbD0iaW5jbHVkZS9ib3R0b20uaHRtbCIgLS0+Ci0tLS0tLS1wdC1ici0tCgpDb250ZW50LWxhbmd1YWdlOiBybwpDb250ZW50LXR5cGU6IHRleHQvaHRtbDsgY2hhcnNldD1JU08tODg1OS0xCkJvZHk6LS0tLS0tLS0tLXJvLS0KPCEtLSNzZXQgdmFyPSJDT05URU5UX0xBTkdVQUdFIiB2YWx1ZT0icm8iCi0tPjwhLS0jc2V0IHZhcj0iVElUTEUiIHZhbHVlPSJQcmVjb25kaXRpb24gZmFpbGVkISIKLS0+PCEtLSNpbmNsdWRlIHZpcnR1YWw9ImluY2x1ZGUvdG9wLmh0bWwiIC0tPgoKICAgIFByZWNvbmRpdGlvbmFyZWEgcGVudHJ1IGNlcmVyZWEgVVJMLXVsdWkgbnUgYSBmb3N0IGV2YWx1YXRhIHBveml0aXYuCgo8IS0tI2luY2x1ZGUgdmlydHVhbD0iaW5jbHVkZS9ib3R0b20uaHRtbCIgLS0+Ci0tLS0tLS0tLS1yby0tCgpDb250ZW50LWxhbmd1YWdlOiBzcgpDb250ZW50LXR5cGU6IHRleHQvaHRtbDsgY2hhcnNldD1JU08tODg1OS01CkJvZHk6LS0tLS0tLS0tLXNyLS0KPCEtLSNzZXQgdmFyPSJDT05URU5UX0xBTkdVQUdFIiB2YWx1ZT0ic3IiCi0tPjwhLS0jc2V0IHZhcj0iQ0hBUkFDVEVSX0VOQ09ESU5HIiB2YWx1ZT0iSVNPLTg4NTktNSIKLS0+PCEtLSNzZXQgdmFyPSJUSVRMRSIgdmFsdWU9Ir/g1dTj4dve0iDd2PjVINjh3+P61d0hIgotLT48IS0tI2luY2x1ZGUgdmlydHVhbD0iaW5jbHVkZS90b3AuaHRtbCIgLS0+CgogICAgv+DV1OPh297SINfQINfQ5eLV0iDDwLst0CDd2PjVINjh3+P61d0uCgo8IS0tI2luY2x1ZGUgdmlydHVhbD0iaW5jbHVkZS9ib3R0b20uaHRtbCIgLS0+Ci0tLS0tLS0tLS1zci0tCgpDb250ZW50LWxhbmd1YWdlOiBzdgpDb250ZW50LXR5cGU6IHRleHQvaHRtbDsgY2hhcnNldD1JU08tODg1OS0xCkJvZHk6LS0tLS0tLS0tLXN2LS0KPCEtLSNzZXQgdmFyPSJDT05URU5UX0xBTkdVQUdFIiB2YWx1ZT0ic3YiCi0tPjwhLS0jc2V0IHZhcj0iVElUTEUiIHZhbHVlPSJOJm91bWw7ZHYmYXVtbDtuZGlnIGYmb3VtbDtydXRzJmF1bWw7dHRuaW5nIG1pc3NseWNrYWRlcyEiCi0tPjwhLS0jaW5jbHVkZSB2aXJ0dWFsPSJpbmNsdWRlL3RvcC5odG1sIiAtLT4KCiAgICBEZW4gbiZvdW1sO2R2JmF1bWw7bmRpZ2EgZiZvdW1sO3J1dHMmYXVtbDt0dG5pbmdlbiBmJm91bWw7cgogICAgYWRyZXNzZiZvdW1sO3JmciZhcmluZztnYW4gcGFzc2VyYWRlIGludGUgdXR2JmF1bWw7cmRlcmluZ2VuCiAgICBtZWQgYWNjZXB0YWJlbHQgcmVzdWx0YXQuCgo8IS0tI2luY2x1ZGUgdmlydHVhbD0iaW5jbHVkZS9ib3R0b20uaHRtbCIgLS0+Ci0tLS0tLS0tLS1zdi0tCgpDb250ZW50LWxhbmd1YWdlOiB0cgpDb250ZW50LXR5cGU6IHRleHQvaHRtbDsgY2hhcnNldD1JU08tODg1OS05CkJvZHk6LS0tLS0tLS0tLXRyLS0KPCEtLSNzZXQgdmFyPSJDT05URU5UX0xBTkdVQUdFIiB2YWx1ZT0idHIiCi0tPjwhLS0jc2V0IHZhcj0iQ0hBUkFDVEVSX0VOQ09ESU5HIiB2YWx1ZT0iSVNPLTg4NTktOSIKLS0+PCEtLSNzZXQgdmFyPSJUSVRMRSIgdmFsdWU9IlByZWNvbmRpdGlvbiBmYWlsZWQhIgotLT48IS0tI2luY2x1ZGUgdmlydHVhbD0iaW5jbHVkZS90b3AuaHRtbCIgLS0+CgogICAgVVJMIHRhbGViaW5pbiD2biYjMzUxO2FydCYjMzA1Oywgb2x1bWx1IHP8cmVjaQogICAgYmEmIzM1MTthciYjMzA1O3MmIzMwNTt6bCYjMzA1O2tsYSBzb25sYW5kJiMzMDU7cmQmIzMwNTsuCgo8IS0tI2luY2x1ZGUgdmlydHVhbD0iaW5jbHVkZS9ib3R0b20uaHRtbCIgLS0+Ci0tLS0tLS0tLS10ci0tCg==