ZGlmZiAtLWdpdCBhL3JlZGhhdC96ZWJyYS5zcGVjLmluIGIvcmVkaGF0L3plYnJhLnNwZWMuaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2UzYTZmYgotLS0gL2Rldi9udWxsCisrKyBiL3JlZGhhdC96ZWJyYS5zcGVjLmluCkBAIC0wLDAgKzEsMzQzIEBACisjIGNvbmRpdGlvbmFscworJWRlZmluZSAJd2l0aF9zbm1wCTAKKyVkZWZpbmUJCXdpdGhfdnR5c2gJMQorJWRlZmluZQkJd2l0aF9vc3BmX3RlCTEKKyVkZWZpbmUJCXdpdGhfbnNzYQkxCislZGVmaW5lCQl3aXRoX29wYXF1ZV9sc2EgMQorJWRlZmluZQkJd2l0aF90Y3BfemVicmEJMAorJWRlZmluZQkJd2l0aF92dHlzaAkxCislZGVmaW5lCQl3aXRoX3BhbQkxCislZGVmaW5lCQl3aXRoX2lwdjYJMQorJWRlZmluZQkJd2l0aF9vc3BmY2xpZW50IDEKKyVkZWZpbmUJCXdpdGhfb3NwZmFwaQkxCislZGVmaW5lCQl3aXRoX211bHRpcGF0aAk2NAorCisjIHBhdGggZGVmaW5lcworJWRlZmluZQkJX3N5c2NvbmZkaXIJL2V0Yy96ZWJyYQorJWRlZmluZQkJemViX3NyYwkJJXtfYnVpbGRkaXJ9LyV7bmFtZX0tJXt2ZXJzaW9ufQorJWRlZmluZQkJemViX3JoX3NyYwkle3plYl9zcmN9L3JlZGhhdAorJWRlZmluZQkJemViX2RvY3MJJXt6ZWJfc3JjfS9kb2MKKworIyBkZWZpbmVzIGZvciBjb25maWd1cmUKKyVkZWZpbmUJCV9saWJleGVjZGlyCSV7X2V4ZWNfcHJlZml4fS9saWJleGVjL3plYnJhCislZGVmaW5lCQlfaW5jbHVkZWRpcgkle19wcmVmaXh9L2luY2x1ZGUvemVicmEKKyVkZWZpbmUJCV9saWJkaXIJCSV7X2V4ZWNfcHJlZml4fS8le19saWJ9L3plYnJhCislZGVmaW5lCQlfbG9jYWxzdGF0ZWRpcgkle19wcmVmaXh9L3Zhci9ydW4KKworU3VtbWFyeTogUm91dGluZyBkYWVtb24KK05hbWU6CQl6ZWJyYQorVmVyc2lvbjoJQFZFUlNJT05ACitSZWxlYXNlOglAQ09ORkRBVEVACitMaWNlbnNlOglHUEwKK0dyb3VwOiBTeXN0ZW0gRW52aXJvbm1lbnQvRGFlbW9ucworU291cmNlMDoJZnRwOi8vZnRwLnplYnJhLm9yZy9wdWIvemVicmEvJXtuYW1lfS0le3ZlcnNpb259LnRhci5negorVVJMOgkJaHR0cDovL3d3dy56ZWJyYS5vcmcvCislaWYgJXdpdGhfc25tcAorI0J1aWxkUmVxdWlyZXM6CXVjZC1zbm1wLWRldmVsCitQcmVyZXE6CQl1Y2Qtc25tcAorJWVuZGlmCislaWYgJXdpdGhfdnR5c2gKK0J1aWxkUmVxdWlyZXM6CXJlYWRsaW5lIHJlYWRsaW5lLWRldmVsIG5jdXJzZXMgbmN1cnNlcy1kZXZlbAorUHJlcmVxOgkJcmVhZGxpbmUgbmN1cnNlcworJWVuZGlmCitCdWlsZFJlcXVpcmVzOgl0ZXhpbmZvIHRldGV4IGF1dG9jb25mIG9wZW5zc2wtZGV2ZWwgcGFtLWRldmVsIHBhdGNoCisjIEluaXRzY3JpcHRzID4gNS42MCBpcyByZXF1aXJlZCBmb3IgSVB2NiBzdXBwb3J0CitQcmVyZXE6CQlpbml0c2NyaXB0cyA+PSA1LjYwCitQcmVyZXE6CQlvcGVuc3NsIG5jdXJzZXMgcmVhZGxpbmUgcGFtCitQcmVyZXE6CQkvc2Jpbi9pbnN0YWxsLWluZm8KK1Byb3ZpZGVzOglyb3V0aW5nZGFlbW9uCitCdWlsZFJvb3Q6CSV7X3RtcHBhdGh9LyV7bmFtZX0tJXt2ZXJzaW9ufS1yb290CitPYnNvbGV0ZXM6CWJpcmQgZ2F0ZWQgbXJ0CisKKyVkZXNjcmlwdGlvbgorR05VIFplYnJhIGlzIGEgZnJlZSBzb2Z0d2FyZSB0aGF0IG1hbmFnZXMgVENQL0lQIGJhc2VkIHJvdXRpbmcKK3Byb3RvY29sLiBJdCB0YWtlcyBtdWx0aS1zZXJ2ZXIgYW5kIG11bHRpLXRocmVhZCBhcHByb2FjaCB0byByZXNvbHZlCit0aGUgY3VycmVudCBjb21wbGV4aXR5IG9mIHRoZSBJbnRlcm5ldC4KKworR05VIFplYnJhIHN1cHBvcnRzIEJHUDQsIEJHUDQrLCBPU1BGdjIsIE9TUEZ2MywgUklQdjEsIFJJUHYyLCBhbmQgUklQbmcuCisKK0dOVSBaZWJyYSBpcyBpbnRlbmRlZCB0byBiZSB1c2VkIGFzIGEgUm91dGUgU2VydmVyIGFuZCBhIFJvdXRlCitSZWZsZWN0b3IuIEl0IGlzIG5vdCBhIHRvb2xraXQsIGl0IHByb3ZpZGVzIGZ1bGwgcm91dGluZyBwb3dlciB1bmRlcgorYSBuZXcgYXJjaGl0ZWN0dXJlLiBHTlUgWmVicmEgaXMgdW5pcXVlIGluIGRlc2lnbiBpbiB0aGF0IGl0IGhhcyBhCitwcm9jZXNzIGZvciBlYWNoIHByb3RvY29sLgorCislcGFja2FnZSBjb250cmliCitTdW1tYXJ5OiBjb250cmliIHRvb2xzIGZvciB6ZWJyYQorR3JvdXA6IFN5c3RlbSBFbnZpcm9ubWVudC9EYWVtb25zCisKKyVkZXNjcmlwdGlvbiBjb250cmliCitDb250cmlidXRlZC8zcmQgcGFydHkgdG9vbHMgd2hpY2ggbWF5IGJlIG9mIHVzZSB3aXRoIHplYnJhLgorCislcGFja2FnZSBkZXZlbAorU3VtbWFyeTogSGVhZGVyIGFuZCBvYmplY3QgZmlsZXMgZm9yIHplYnJhIGRldmVsb3BtZW50CitHcm91cDogU3lzdGVtIEVudmlyb25tZW50L0RhZW1vbnMKKworJWRlc2NyaXB0aW9uIGRldmVsCitUaGUgemVicmEtZGV2ZWwgcGFja2FnZSBjb250YWlucyB0aGUgaGVhZGVyIGFuZCBvYmplY3QgZmlsZXMgbmVjY2Vzc2FyeSBmb3IKK2RldmVsb3BpbmcgT1NQRi1BUEkgYW5kIHplYnJhIGFwcGxpY2F0aW9ucy4KKworJXByZXAKKyVzZXR1cCAgLXEKKworJWJ1aWxkCisuL3VwZGF0ZS1hdXRvdG9vbHMKKyVjb25maWd1cmUgXAorCS0td2l0aC1jZmxhZ3M9Ii1PMiIgXAorCS0tZW5hYmxlLW5ldGxpbmsgXAorJWlmICV3aXRoX2lwdjYKKwktLWVuYWJsZS1pcHY2IFwKKyVlbmRpZgorJWlmICV3aXRoX3NubXAKKwktLWVuYWJsZS1zbm1wIFwKKyVlbmRpZgorJWlmICV3aXRoX211bHRpcGF0aAorCS0tZW5hYmxlLW11bHRpcGF0aD0ld2l0aF9tdWx0aXBhdGggXAorJWVuZGlmCislaWYgJXdpdGhfdGNwX3plYnJhCisJLS1lbmFibGUtdGNwLXplYnJhIFwKKyVlbmRpZgorJWlmICV3aXRoX25zc2EKKwktLWVuYWJsZS1uc3NhIFwKKyVlbmRpZgorJWlmICV3aXRoX29wYXF1ZV9sc2EKKwktLWVuYWJsZS1vcGFxdWUtbHNhIFwKKyVlbmRpZgorJWlmICV3aXRoX29zcGZfdGUKKwktLWVuYWJsZS1vc3BmLXRlIFwKKyVlbmRpZgorJWlmICV3aXRoX3Z0eXNoCisJLS1lbmFibGUtdnR5c2ggXAorJWVuZGlmCislaWYgJXdpdGhfb3NwZmNsaWVudCAKKwktLWVuYWJsZS1vc3BmY2xpZW50PXllcyBcCislZWxzZQorCS0tZW5hYmxlLW9zcGZjbGllbnQ9bm9cCislZW5kaWYKKyVpZiAld2l0aF9vc3BmYXBpCisJLS1lbmFibGUtb3NwZmFwaT15ZXMgXAorJWVsc2UKKwktLWVuYWJsZS1vc3BmYXBpPW5vIFwKKyVlbmRpZgorJWlmICV3aXRoX3BhbQorCS0td2l0aC1saWJwYW0KKyVlbmRpZgorCitwdXNoZCB2dHlzaAorbWFrZSAlez9fc21wX21mbGFnc30gcmVidWlsZAorcG9wZAorCittYWtlICV7P19zbXBfbWZsYWdzfSBNQUtFSU5GTz0ibWFrZWluZm8gLS1uby1zcGxpdCIKKworcHVzaGQgZG9jCit0ZXhpMmh0bWwgemVicmEudGV4aQorcG9wZAorCislaW5zdGFsbAorcm0gLXJmICRSUE1fQlVJTERfUk9PVAorCitpbnN0YWxsIC1kICRSUE1fQlVJTERfUk9PVC9ldGMve3JjLmQvaW5pdC5kLHN5c2NvbmZpZyxsb2dyb3RhdGUuZCxwYW0uZH0gXAorCSRSUE1fQlVJTERfUk9PVC92YXIvbG9nL3plYnJhICRSUE1fQlVJTERfUk9PVCV7X2luZm9kaXJ9CisKK21ha2UgaW5zdGFsbCBcCisJREVTVERJUj0kUlBNX0JVSUxEX1JPT1QKKworaW5zdGFsbCAle3plYl9yaF9zcmN9L3plYnJhLmluaXQgJFJQTV9CVUlMRF9ST09UL2V0Yy9yYy5kL2luaXQuZC96ZWJyYQoraW5zdGFsbCAle3plYl9yaF9zcmN9L2JncGQuaW5pdCAkUlBNX0JVSUxEX1JPT1QvZXRjL3JjLmQvaW5pdC5kL2JncGQKKyVpZiAld2l0aF9pcHY2CitpbnN0YWxsICV7emViX3JoX3NyY30vb3NwZjZkLmluaXQgJFJQTV9CVUlMRF9ST09UL2V0Yy9yYy5kL2luaXQuZC9vc3BmNmQKK2luc3RhbGwgJXt6ZWJfcmhfc3JjfS9yaXBuZ2QuaW5pdCAkUlBNX0JVSUxEX1JPT1QvZXRjL3JjLmQvaW5pdC5kL3JpcG5nZAorJWVuZGlmCitpbnN0YWxsICV7emViX3JoX3NyY30vb3NwZmQuaW5pdCAkUlBNX0JVSUxEX1JPT1QvZXRjL3JjLmQvaW5pdC5kL29zcGZkCitpbnN0YWxsICV7emViX3JoX3NyY30vcmlwZC5pbml0ICRSUE1fQlVJTERfUk9PVC9ldGMvcmMuZC9pbml0LmQvcmlwZAoraW5zdGFsbCAtbTY0NCAle3plYl9yaF9zcmN9L3plYnJhLnBhbSAkUlBNX0JVSUxEX1JPT1QvZXRjL3BhbS5kL3plYnJhCitpbnN0YWxsIC1tNjQ0ICV7emViX3JoX3NyY30vemVicmEubG9ncm90YXRlICRSUE1fQlVJTERfUk9PVC9ldGMvbG9ncm90YXRlLmQvemVicmEKKworJXBvc3QKKyMgemVicmFfc3BlY19hZGRfc2VydmljZSA8c2VydmljZSBuYW1lPiA8cG9ydC9wcm90bz4gPGNvbW1lbnQ+CisjIGUuZy4gemVicmFfc3BlY19hZGRfc2VydmljZSB6ZWJyYXNydiAyNjAwL3RjcCAiemVicmEgc2VydmljZSIKKworemVicmFfc3BlY19hZGRfc2VydmljZSAoKQoreworICAjIEFkZCBwb3J0IC9ldGMvc2VydmljZXMgZW50cnkgaWYgaXQgaXNuJ3QgYWxyZWFkeSB0aGVyZSAKKyAgaWYgWyAtZiAvZXRjL3NlcnZpY2VzIF0gJiYgISBncmVwIC1xICJeJDFbXmEtekEtWjAtOV0iIC9ldGMvc2VydmljZXMgOyB0aGVuCisgICAgZWNobyAiJDEJCSQyCQkJIyAkMyIgID4+IC9ldGMvc2VydmljZXMKKyAgZmkKK30KKworemVicmFfc3BlY19hZGRfc2VydmljZSB6ZWJyYXNydiAyNjAwL3RjcCAiemVicmEgc2VydmljZSIKK3plYnJhX3NwZWNfYWRkX3NlcnZpY2UgemVicmEgICAgMjYwMS90Y3AgInplYnJhIHZ0eSIKK3plYnJhX3NwZWNfYWRkX3NlcnZpY2UgcmlwZCAgICAgMjYwMi90Y3AgIlJJUGQgdnR5IgorJWlmICV3aXRoX2lwdjYKK3plYnJhX3NwZWNfYWRkX3NlcnZpY2UgcmlwbmdkICAgMjYwMy90Y3AgIlJJUG5nZCB2dHkiCislZW5kaWYKK3plYnJhX3NwZWNfYWRkX3NlcnZpY2Ugb3NwZmQgICAgMjYwNC90Y3AgIk9TUEZkIHZ0eSIKK3plYnJhX3NwZWNfYWRkX3NlcnZpY2UgYmdwZCAgICAgMjYwNS90Y3AgIkJHUGQgdnR5IgorJWlmICV3aXRoX2lwdjYKK3plYnJhX3NwZWNfYWRkX3NlcnZpY2Ugb3NwZjZkICAgMjYwNi90Y3AgIk9TUEY2ZCB2dHkiCislZW5kaWYKKworL3NiaW4vY2hrY29uZmlnIC0tYWRkIHplYnJhIAorL3NiaW4vY2hrY29uZmlnIC0tYWRkIHJpcGQKKyVpZiAld2l0aF9pcHY2Cisvc2Jpbi9jaGtjb25maWcgLS1hZGQgcmlwbmdkCisvc2Jpbi9jaGtjb25maWcgLS1hZGQgb3NwZjZkCislZW5kaWYKKy9zYmluL2Noa2NvbmZpZyAtLWFkZCBvc3BmZAorL3NiaW4vY2hrY29uZmlnIC0tYWRkIGJncGQKKworL3NiaW4vaW5zdGFsbC1pbmZvICV7X2luZm9kaXJ9L3plYnJhLmluZm8uZ3ogJXtfaW5mb2Rpcn0vZGlyCisKKyMgQ3JlYXRlIGR1bW15IGZpbGVzIGlmIHRoZXkgZG9uJ3QgZXhpc3Qgc28gYmFzaWMgZnVuY3Rpb25zIGNhbiBiZSB1c2VkLgoraWYgWyAhIC1lICV7X3N5c2NvbmZkaXJ9L3plYnJhLmNvbmYgXTsgdGhlbgorCWVjaG8gImhvc3RuYW1lIGBob3N0bmFtZWAiID4gJXtfc3lzY29uZmRpcn0vemVicmEuY29uZgorCWNobW9kIDY0MCAle19zeXNjb25mZGlyfS96ZWJyYS5jb25mCitmaQoraWYgWyAhIC1lICV7X3N5c2NvbmZkaXJ9L3Z0eXNoLmNvbmYgXTsgdGhlbgorCXRvdWNoICV7X3N5c2NvbmZkaXJ9L3Z0eXNoLmNvbmYKKwljaG1vZCA2NDAgJXtfc3lzY29uZmRpcn0vdnR5c2guY29uZgorZmkKKworJXBvc3R1bgoraWYgWyAiJDEiIC1nZSAgIjEiIF07IHRoZW4KKwkvZXRjL3JjLmQvaW5pdC5kL3plYnJhICBjb25kcmVzdGFydCA+L2Rldi9udWxsIDI+JjEKKwkvZXRjL3JjLmQvaW5pdC5kL3JpcGQgICBjb25kcmVzdGFydCA+L2Rldi9udWxsIDI+JjEKKyVpZiAld2l0aF9pcHY2CisJL2V0Yy9yYy5kL2luaXQuZC9yaXBuZ2QgY29uZHJlc3RhcnQgPi9kZXYvbnVsbCAyPiYxCislZW5kaWYKKwkvZXRjL3JjLmQvaW5pdC5kL29zcGZkICBjb25kcmVzdGFydCA+L2Rldi9udWxsIDI+JjEKKyVpZiAld2l0aF9pcHY2CisJL2V0Yy9yYy5kL2luaXQuZC9vc3BmNmQgY29uZHJlc3RhcnQgPi9kZXYvbnVsbCAyPiYxCislZW5kaWYKKwkvZXRjL3JjLmQvaW5pdC5kL2JncGQgICBjb25kcmVzdGFydCA+L2Rldi9udWxsIDI+JjEKK2ZpCisvc2Jpbi9pbnN0YWxsLWluZm8gLS1kZWxldGUgJXtfaW5mb2Rpcn0vemVicmEuaW5mby5neiAle19pbmZvZGlyfS9kaXIKKworJXByZXVuCitpZiBbICIkMSIgPSAiMCIgXTsgdGhlbgorICAgICAgICAvc2Jpbi9jaGtjb25maWcgLS1kZWwgemVicmEKKwkvc2Jpbi9jaGtjb25maWcgLS1kZWwgcmlwZAorJWlmICV3aXRoX2lwdjYKKwkvc2Jpbi9jaGtjb25maWcgLS1kZWwgcmlwbmdkCislZW5kaWYKKwkvc2Jpbi9jaGtjb25maWcgLS1kZWwgb3NwZmQKKyVpZiAld2l0aF9pcHY2CisJL3NiaW4vY2hrY29uZmlnIC0tZGVsIG9zcGY2ZAorJWVuZGlmCisJL3NiaW4vY2hrY29uZmlnIC0tZGVsIGJncGQKK2ZpCisKKyVjbGVhbgorI3JtIC1yZiAkUlBNX0JVSUxEX1JPT1QKKworJWZpbGVzCislZGVmYXR0cigtLHJvb3Qscm9vdCkKKyVkb2MgKi8qLnNhbXBsZSogQVVUSE9SUyBDT1BZSU5HCislZG9jIGRvYy96ZWJyYS5odG1sCislZG9jIGRvYy9tcGxzCislZG9jIENoYW5nZUxvZyBJTlNUQUxMIE5FV1MgUkVBRE1FIFJFUE9SVElORy1CVUdTIFNFUlZJQ0VTIFRPRE8KKyVkaXIgJWF0dHIoNzUwLHJvb3Qscm9vdCkgJXtfc3lzY29uZmRpcn0KKyVkaXIgJWF0dHIoNzUwLHJvb3Qscm9vdCkgL3Zhci9sb2cvemVicmEKKyVkaXIgJWF0dHIoNzU1LHJvb3Qscm9vdCkgL3Vzci9zaGFyZS9pbmZvCisle19pbmZvZGlyfS8qaW5mbyoKKyV7X21hbmRpcn0vbWFuKi8qCisle19zYmluZGlyfS8qCislaWYgJXdpdGhfdnR5c2gKKyV7X2JpbmRpcn0vKgorJWVuZGlmCislY29uZmlnIC9ldGMvemVicmEvKgorJWNvbmZpZyAvZXRjL3JjLmQvaW5pdC5kLyoKKyVjb25maWcobm9yZXBsYWNlKSAvZXRjL3BhbS5kL3plYnJhCislY29uZmlnKG5vcmVwbGFjZSkgJWF0dHIoNjQwLHJvb3Qscm9vdCkgL2V0Yy9sb2dyb3RhdGUuZC8qCisKKyVmaWxlcyBjb250cmliCislZGVmYXR0cigtLHJvb3Qscm9vdCkKKyVkb2MgdG9vbHMKKworJWZpbGVzIGRldmVsCislZGVmYXR0cigtLHJvb3Qscm9vdCkKKyVkaXIgJXtfbGliZGlyfS8qCislZGlyICV7X2luY2x1ZGVkaXJ9L29zcGZkLyoKKyVpZiAld2l0aF9vc3BmYXBpCislZGlyICV7X2luY2x1ZGVkaXJ9L29zcGZhcGkvKgorJWVuZGlmCisKKyVjaGFuZ2Vsb2cKKyogTW9uIE1hciAxOCAyMDAzIFBhdWwgSmFrbWEgPHBhdWxAZGlzaG9uZS5zdD4KKy0gRml4IG1lbSBsZWFrIGluICdzaG93IHRocmVhZCBjcHUnCistIFJhbHBoIEtlbGxlcidzIE9TUEYtQVBJCistIEFtaXI6IEZpeCBjb25maWd1cmUuYWMgZm9yIG5ldC1zbm1wCisKKyogU2F0IE1hciAxIDIwMDMgUGF1bCBKYWttYSA8cGF1bEBkaXNob25lLnN0PgorLSBvc3BmZCBJT1MgcHJlZml4IHRvIGludGVyZmFjZSBtYXRjaGluZyBmb3IgJ25ldHdvcmsnIHN0YXRlbWVudAorLSB0ZW1wb3JhcnkgZml4IGZvciBQdFAgYW5kIElQdjYKKy0gc3luYyB0byB6ZWJyYS5vcmcgQ1ZTCisKKyogTW9uIEphbiAyMCAyMDAzIFBhdWwgSmFrbWEgPHBhdWxAZGlzaG9uZS5zdD4KKy0gdXBkYXRlIHRvIGxhdGVzdCBjdnMKKy0gWW9uJ3MgInNob3cgdGhyZWFkIGNwdSIgcGF0Y2ggLSAxNzIxNworLSB3YWxrIHVwIHRyZWUgLSAxNzIxOAorLSBvc3BmZCBOU1NBIGZpeGVzIC0gMTY2ODEKKy0gb3NwZmQgbnNtIGZpeGVzIC0gMTY4MjQKKy0gb3NwZmQgT0xTQSBmaXhlcyBhbmQgbmV3IGZlYXR1cmUgLSAxNjgyMyAKKy0gS0FNRSBhbmQgaWZpbmRleCBmaXhlcyAtIDE2NTI1CistIHNwZWMgZmlsZSBjaGFuZ2VzIHRvIGFsbG93IHJlZGhhdCBmaWxlcyB0byBiZSBpbiB0cmVlCisKKyogU2F0IERlYyAyOCAyMDAyIEFsZXhhbmRlciBIb29nZXJodWlzIDxhbGV4aEBpaGF0ZW50LmNvbT4KKy0gQWRkZWQgY29uZGl0aW9uYWxzIGZvciBidWlsZGluZyB3aXRoKG91dCkgSVB2NiwgdnR5c2gsIFJJUCwgQkdQCistIEZpeGVkIHVwIHNvbWUgYnVpbGQgcmVxdWlyZW1lbnRzIChwYXRjaCkKKy0gQWRkZWQgY29uZGl0aW9uYWwgYnVpbGQgcmVxdWlyZW1lbnRzIGZvciB2dHlzaCAvIHNubXAKKy0gQWRkZWQgY29uZGl0aW9uYWwgdG8gJWZpbGVzIGZvciAlX2JpbmRpciBkZXBlbmRpbmcgb24gdnR5c2gKKworKiBNb24gTm92IDExIDIwMDIgUGF1bCBKYWttYSA8cGF1bGpAYWxwaHlyYS5pZT4KKy0gdXBkYXRlIHRvIGxhdGVzdCBDVlMKKy0gYWRkIEdyZWcgVHJveGVsJ3MgbWQ1IGJ1ZmZlciBjb3B5L2R1cCBmaXgKKy0gYWRkIFJJUHYxIGZpeAorLSBhZGQgRnJhbmsncyBtdWx0aWNhc3QgZmxhZyBmaXgKKworKiBXZWQgT2N0IDA5IDIwMDIgUGF1bCBKYWttYSA8cGF1bGpAYWxwaHlyYS5pZT4KKy0gdXBkYXRlIHRvIGxhdGVzdCBDVlMKKy0gdGltZXN0YW1wZWQgY3J5cHRfc2VxbnVtIHBhdGNoCistIG9pLT5vbl93cml0ZV9xIGZpeAorCisqIE1vbiBTZXAgMzAgMjAwMiBQYXVsIEpha21hIDxwYXVsakBhbHBoeXJhLmllPgorLSB1cGRhdGUgdG8gbGF0ZXN0IENWUworLSBhZGQgdnR5c2ggJ3dyaXRlLWNvbmZpZyAoaW50ZWdyYXRlZHxkYWVtb24pJyBwYXRjaAorLSBhbHdheXMgJ21ha2UgcmVidWlsZCcgaW4gdnR5c2gvIHRvIGNhdGNoIG5ldyBjb21tYW5kcworCisqIEZyaSBTZXAgMTMgMjAwMiBQYXVsIEpha21hIDxwYXVsakBhbHBoeXJhLmllPgorLSB1cGRhdGUgdG8gMC45M2IKKworKiBXZWQgU2VwIDExIDIwMDIgUGF1bCBKYWttYSA8cGF1bGpAYWxwaHlyYS5pZT4KKy0gdXBkYXRlIHRvIGxhdGVzdCBDVlMKKy0gYWRkICIvc2Jpbi9pcCByb3V0ZSBmbHVzaCBwcm90byB6ZWJyYSIgdG8gemVicmEgUkggaW5pdCBvbiBzdGFydHVwCisKKyogU2F0IEF1ZyAyNCAyMDAyIFBhdWwgSmFrbWEgPHBhdWxqQGFscGh5cmEuaWU+CistIHVwZGF0ZSB0byBjdXJyZW50IENWUworLSBhZGQgT1NQRiBwb2ludCB0byBtdWx0aXBvaW50IHBhdGNoCistIGFkZCBPU1BGIGJ1Z2ZpeGVzCistIGFkZCBCR1AgaGFzaCBvcHRpbWlzYXRpb24gcGF0Y2gKKworKiBGcmkgSnVuIDE0IDIwMDIgUGF1bCBKYWttYSA8cGF1bGpAYWxwaHlyYS5pZT4KKy0gdXBkYXRlIHRvIDAuOTMtcHJlMSAvIENWUworLSBhZGQgbGluayBzdGF0ZSBkZXRlY3Rpb24gc3VwcG9ydAorLSBhZGQgZ2VuZXJpYyBQdFAgYW5kIFJGQzMwMjEgc3VwcG9ydAorLSB2YXJpb3VzIGJ1ZyBmaXhlcworCisqIFRodSBBdWcgMDkgMjAwMSBFbGxpb3QgTGVlIDxzb3B3aXRoQHJlZGhhdC5jb20+IDAuOTFhLTYKKy0gRml4IGJ1ZyAjNTEzMzYKKworKiBXZWQgQXVnICAxIDIwMDEgVHJvbmQgRWl2aW5kIEdsb21zcvhkIDx0ZWdAcmVkaGF0LmNvbT4gMC45MWEtNQorLSBVc2UgZ2VuZXJpYyBpbml0c2NyaXB0IHN0cmluZ3MgaW5zdGVhZCBvZiBpbml0c2NyaXB0IHNwZWNpZmljCisgICggIlN0YXJ0aW5nIGZvbzogIiAtPiAiU3RhcnRpbmcgJHByb2c6IiApCisKKyogRnJpIEp1bCAyNyAyMDAxIEVsbGlvdCBMZWUgPHNvcHdpdGhAcmVkaGF0LmNvbT4gMC45MWEtNAorLSBCdW1wIHRoZSByZWxlYXNlIHdoZW4gcmVidWlsZGluZyBpbnRvIHRoZSBkaXN0LgorCisqIFR1ZSBGZWIgIDYgMjAwMSBUaW0gUG93ZXJzIDx0aW1wQHJlZGhhdC5jb20+CistIGJ1aWx0IGZvciBQb3dlcnRvb2xzCisKKyogU3VuIEZlYiAgNCAyMDAxIFBla2thIFNhdm9sYSA8cGVra2FzQG5ldGNvcmUuZmk+IAorLSBIYWNrZWQgdXAgZnJvbSBQTEQgTGludXggMC45MC0xLCBNYW5kcmFrZSAwLjkwLTFtZGsgYW5kIG9uZSBmcm9tIHplYnJhLm9yZy4KKy0gVXBkYXRlIHRvIDAuOTFhCistIFZlcnkgaGVhdnkgbW9kaWZpY2F0aW9ucyB0byBpbml0LmQvKiwgLnNwZWMsIHBhbSwgaTE4biwgbG9ncm90YXRlLCBldGMuCistIFNob3VsZCBiZSBxdWl0ZSBSZWQgSGF0J2lzcXVlIG5vdy4K