ZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGIxZTJiYQotLS0gL2Rldi9udWxsCisrKyBiL01ha2VmaWxlCkBAIC0wLDAgKzEsOTIgQEAKKyMKKyMgICAgQ29weXJpZ2h0IChjKSAyMDEwLTIwMTEgTmVzdCwgSW5jLgorIyAgICBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyAgICBUaGlzIGRvY3VtZW50IGlzIHRoZSBwcm9wZXJ0eSBvZiBOZXN0LiBJdCBpcyBjb25zaWRlcmVkCisjICAgIGNvbmZpZGVudGlhbCBhbmQgcHJvcHJpZXRhcnkgaW5mb3JtYXRpb24uCisjCisjICAgIFRoaXMgZG9jdW1lbnQgbWF5IG5vdCBiZSByZXByb2R1Y2VkIG9yIHRyYW5zbWl0dGVkIGluIGFueSBmb3JtLAorIyAgICBpbiB3aG9sZSBvciBpbiBwYXJ0LCB3aXRob3V0IHRoZSBleHByZXNzIHdyaXR0ZW4gcGVybWlzc2lvbiBvZgorIyAgICBOZXN0LgorIworIyAgICBEZXNjcmlwdGlvbjoKKyMgICAgICBUaGlzIGZpbGUgaXMgdGhlIG1ha2VmaWxlIGZvciB0aGUgc3lzdGVtIGNhbGwgdHJhY2VyIChzdHJhY2UpLgorIworCitCdWlsZENvbmZpZ1NwZWNpYWxpemVkCTo9IE5vCitCdWlsZFByb2R1Y3RTcGVjaWFsaXplZAk6PSBObworCitpbmNsdWRlIHByZS5tYWsKKworUGFja2FnZU5hbWUJCTo9IHN0cmFjZQorCitQYWNrYWdlRXh0ZW5zaW9uCTo9IHRhci5iejIKK1BhY2thZ2VTZXBhcmF0b3IJOj0gLQorCitQYWNrYWdlUGF0Y2hBcmdzCTo9CisKK1BhY2thZ2VBcmNoaXZlCQk6PSAkKFBhY2thZ2VOYW1lKS4kKFBhY2thZ2VFeHRlbnNpb24pCitQYWNrYWdlU291cmNlRGlyCTo9ICQoUGFja2FnZU5hbWUpJChQYWNrYWdlU2VwYXJhdG9yKSQoUGFja2FnZVZlcnNpb24pCisKK1BhY2thZ2VCdWlsZE1ha2VmaWxlCT0gJChjYWxsIEdlbmVyYXRlQnVpbGRQYXRocyxNYWtlZmlsZSkKKworQ2xlYW5QYXRocwkJKz0gJChQYWNrYWdlTGljZW5zZUZpbGUpCisKK2FsbDogJChQYWNrYWdlRGVmYXVsdEdvYWwpCisKKyMgR2VuZXJhdGUgdGhlIHBhY2thZ2UgbGljZW5zZSBjb250ZW50cy4KKworJChQYWNrYWdlU291cmNlRGlyKS9DT1BZUklHSFQ6IHNvdXJjZQorCiskKFBhY2thZ2VMaWNlbnNlRmlsZSk6ICQoUGFja2FnZVNvdXJjZURpcikvQ09QWVJJR0hUCisJJChjb3B5LXJlc3VsdCkKKworIyBFeHRyYWN0IHRoZSBzb3VyY2UgZnJvbSB0aGUgYXJjaGl2ZSBhbmQgYXBwbHkgcGF0Y2hlcywgaWYgYW55LgorCiskKFBhY2thZ2VTb3VyY2VEaXIpOiAkKFBhY2thZ2VBcmNoaXZlKSAkKFBhY2thZ2VQYXRjaFBhdGhzKQorCSQoZXhwYW5kLWFuZC1wYXRjaC1wYWNrYWdlKQorCisjIFByZXBhcmUgdGhlIHNvdXJjZXMuCisKKy5QSE9OWTogc291cmNlCitzb3VyY2U6IHwgJChQYWNrYWdlU291cmNlRGlyKQorCisjIFBhdGNoIHRoZSBzb3VyY2VzLCBpZiBuZWNlc3NhcnkuCisKKy5QSE9OWTogcGF0Y2gKK3BhdGNoOiBzb3VyY2UKKworIyBHZW5lcmF0ZSB0aGUgcGFja2FnZSBidWlsZCBtYWtlZmlsZS4KKworJChQYWNrYWdlQnVpbGRNYWtlZmlsZSk6IHwgJChQYWNrYWdlU291cmNlRGlyKSAkKEJ1aWxkRGlyZWN0b3J5KQorCSQoVmVyYm9zZSljZCAkKEJ1aWxkRGlyZWN0b3J5KSAmJiBcCisJJChDVVJESVIpLyQoUGFja2FnZVNvdXJjZURpcikvY29uZmlndXJlIFwKKwlJTlNUQUxMPSIkKElOU1RBTEwpICQoSU5TVEFMTEZMQUdTKSIgXAorCUNDPSIkKENDKSIgU1RSSVA9JChTVFJJUCkgXAorCS0tYnVpbGQ9JChIb3N0VHVwbGUpIFwKKwktLWhvc3Q9JChUYXJnZXRUdXBsZSkgXAorCS0tcHJlZml4PS91c3IKKworIyBDb25maWd1cmUgdGhlIHNvdXJjZSBmb3IgYnVpbGRpbmcuCisKKy5QSE9OWTogY29uZmlndXJlCitjb25maWd1cmU6IHNvdXJjZSAkKFBhY2thZ2VCdWlsZE1ha2VmaWxlKQorCisjIEJ1aWxkIHRoZSBzb3VyY2UuCisKKy5QSE9OWTogYnVpbGQKK2J1aWxkOiBjb25maWd1cmUKKwkkKFZlcmJvc2UpJChNQUtFKSAkKEpPQlNGTEFHKSAtQyAkKEJ1aWxkRGlyZWN0b3J5KSBhbGwKKworIyBTdGFnZSB0aGUgYnVpbGQgdG8gYSB0ZW1wb3JhcnkgaW5zdGFsbGF0aW9uIGFyZWEuCisKKy5QSE9OWTogc3RhZ2UKK3N0YWdlOiBidWlsZCB8ICQoUmVzdWx0RGlyZWN0b3J5KQorCSQoVmVyYm9zZSkkKE1BS0UpICQoSk9CU0ZMQUcpIC1DICQoQnVpbGREaXJlY3RvcnkpIERFU1RESVI9JChSZXN1bHREaXJlY3RvcnkpIGluc3RhbGwKKworY2xlYW46CisJJChWZXJib3NlKSQoUk0pICQoUk1GTEFHUykgLXIgJChQYWNrYWdlU291cmNlRGlyKQorCSQoVmVyYm9zZSkkKFJNKSAkKFJNRkxBR1MpIC1yICQoQnVpbGREaXJlY3RvcnkpCisJJChWZXJib3NlKSQoUk0pICQoUk1GTEFHUykgLXIgJChSZXN1bHREaXJlY3RvcnkpCisKK2luY2x1ZGUgcG9zdC5tYWsKZGlmZiAtLWdpdCBhL3N0cmFjZS00LjUuMjAvQVVUSE9SUyBiL3N0cmFjZS00LjUuMjAvQVVUSE9SUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYmJhODMxCi0tLSAvZGV2L251bGwKKysrIGIvc3RyYWNlLTQuNS4yMC9BVVRIT1JTCkBAIC0wLDAgKzEgQEAKK1NlZSB0aGUgZmlsZSBDUkVESVRTLiAgQXV0b21ha2UgbGlrZXMgdXMgdG8gaGF2ZSB0aGlzIGZpbGUgY2FsbGVkIEFVVEhPUlMuCmRpZmYgLS1naXQgYS9zdHJhY2UtNC41LjIwL0NPUFlSSUdIVCBiL3N0cmFjZS00LjUuMjAvQ09QWVJJR0hUCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZhYWEyZDgKLS0tIC9kZXYvbnVsbAorKysgYi9zdHJhY2UtNC41LjIwL0NPUFlSSUdIVApAQCAtMCwwICsxLDMxIEBACitDb3B5cmlnaHQgKGMpIDE5OTEsIDE5OTIgUGF1bCBLcmFuZW5idXJnIDxwa0Bjcy5mZXcuZXVyLm5sPgorQ29weXJpZ2h0IChjKSAxOTkzIEJyYW5rbyBMYW5rZXN0ZXIgPGJyYW5rb0BoYWNrdGljLm5sPgorQ29weXJpZ2h0IChjKSAxOTkzIFVscmljaCBQZWdlbG93IDxwZWdlbG93QG1vb3JlYS51bmktbXVlbnN0ZXIuZGU+CitDb3B5cmlnaHQgKGMpIDE5OTUsIDE5OTYgTWljaGFlbCBFbGl6YWJldGggQ2hhc3RhaW4gPG1lY0BkdXJhY2VmLnNob3V0Lm5ldD4KK0NvcHlyaWdodCAoYykgMTk5MywgMTk5NCwgMTk5NSwgMTk5NiBSaWNrIFNsYWRrZXkgPGpyc0B3b3JsZC5zdGQuY29tPgorQ29weXJpZ2h0IChDKSAxOTk4LTIwMDEgV2ljaGVydCBBa2tlcm1hbiA8d2Fra2VybWFAZGVlcGhhY2ttb2RlLm9yZz4KK0FsbCByaWdodHMgcmVzZXJ2ZWQuCisKK1JlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCithcmUgbWV0OgorMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKzIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorMy4gVGhlIG5hbWUgb2YgdGhlIGF1dGhvciBtYXkgbm90IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzCisgICBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKworVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQVVUSE9SIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1MgT1IKK0lNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMKK09GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuCitJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCitJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQKK05PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKK0RBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCitUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCiskSWQkCmRpZmYgLS1naXQgYS9zdHJhY2UtNC41LjIwL0NSRURJVFMgYi9zdHJhY2UtNC41LjIwL0NSRURJVFMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWI2NjAwZgotLS0gL2Rldi9udWxsCisrKyBiL3N0cmFjZS00LjUuMjAvQ1JFRElUUwpAQCAtMCwwICsxLDQ5IEBACitUaGUgcHJpbWFyeSBhdXRob3JzIG9mIHN0cmFjZSBhcmU6CisKKwlQYXVsIEtyYW5lbmJ1cmcgPHBrQGNzLmZldy5ldXIubmw+CisJQnJhbmtvIExhbmtlc3RlciA8YnJhbmtvQGhhY2t0aWMubmw+CisJUmljayBTbGFka2V5IDxqcnNAd29ybGQuc3RkLmNvbT4KKworVGhhbmtzIHRvIHRoZSBmb2xsb3cgcGVvcGxlIGZvciBjb250cmlidXRpbmcgdG8gc3RyYWNlIGJ5IHJlcG9ydGluZworYnVncywgcHJvdmlkaW5nIGZpeGVzLCBwcm92aWRpbmcgaW5mb3JtYXRpb24sIHByb3ZpZGluZyByZXNvdXJjZXMgb3IKK3BvcnRpbmcgdG8gbmV3IHN5c3RlbXM6CisKKwlBbmRyZWFzIFNjaHdhYiA8c2Nod2FiQGlzc2FuLmluZm9ybWF0aWsudW5pLWRvcnRtdW5kLmRlPgorCUFya2FkaXVzeiBNaXNraWV3aWN6IDxtaXNpZWtAcGxkLm9yZy5wbD4KKwlNYXJ0eSBMZWlzbmVyIDxsZWlzbmVyQHNkc3AubWMueGVyb3guY29tPgorCUx1cGUgQ2hyaXN0b3BoIDxsdXBlQGFsYW55YS5pc2FyLm11Yy5kZT4KKwlUaGFuaCBNYSA8dG1hQGVuY29yZS5jb20+CisJS2VpdGggVGhvbXBzb24gPGtzdEBhbHN5cy5jb20+CisJUm9sYW5kIEJvcmRlIDxib0B1ZWJlbWMuc2llbWVucy5kZT4KKwlNYXR0IERheSA8bWRheUBhcnRpc29mdC5jb20+CisJSm9lIElsYWNxdWEgPHNwaWtlQHdvcmxkLnN0ZC5jb20+CisJSnUicmdlbiBGbHVrIDxsb3Vpc0BtYXJjby5kZT4KKwlCbyBLdWxsbWFyIDxia0BrdWxsbWFyLnNlPgorCUxlb25hcmQgTi4gWnVia29mZiA8bG56QGRhbmRlbGlvbi5jb20+CisJUmV1YmVuIFN1bW5lciA8cmFzdW1uZXJAdW5kZXJncmFkLm1hdGgudXdhdGVybG9vLmNhPgorCUp1ZXJnZW4gV2VpZ2VydCA8am53ZWlnZXJAaW1tZDQuaW5mb3JtYXRpay51bmktZXJsYW5nZW4uZGU+CisJTGludXMgVG9ydmFsZHMgPExpbnVzLlRvcnZhbGRzQGNzLkhlbHNpbmtpLkZJPgorCU1pY2hhZWwgRSBDaGFzdGFpbiA8bWVjQGR1cmFjZWYuc2hvdXQubmV0PgorCUFhcm9uIFVja28gPFVDS09AVkFYMS5ST0NLSFVSU1QuRURVPgorCURhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AY2FpcC5ydXRnZXJzLmVkdT4KKwlNYXR0aGlhcyBQZmFsbGVyIDxsZW9AZGFjaGF1Lm1hcmNvLmRlPgorCVRob21hcyBCb2dlbmRvZXJmZXIgPHRzYm9nZW5kQGJpZ2J1Zy5mcmFua2VuLmRlPgorCVJpY2hhcmQgSGVuZGVyc29uIDxyaWNoYXJkQHR3aWRkbGUudGFtdS5lZHU+CisJVG9tIER5YXMgPHRkeWFzQGVkZW4ucnV0Z2Vycy5lZHU+CisJSGVucmlrIFN0b3JuZXIgPHN0b3JuZXJAb3NpcmlzLnBpbmcuZGs+CisJRGF2aWQgTW9zYmVyZ2VyLVRhbmcgPGRhdmlkbUBocGwuaHAuY29tPgorCVVscmljaCBEcmVwcGVyIDxkcmVwcGVyQGN5Z251cy5jb20+CisJTmF0ZSBFbGRyZWRnZSA8bmF0ZUBjYXJ0c3lzLmNvbT4KKwlKYWt1YiBKZWxpbmVrIDxqakB1bHRyYS5saW51eC5jej4KKwlKb2huIEh1Z2hlcyA8am9obkBDYWx2YS5DT00+CisJUmljaGFyZCBCcmFha21hbiA8ZGFya0B4czRhbGwubmw+CisJRmxvcmlhbiBMb2hvZmYgPGZsb0ByZmM4MjIub3JnPgorCUQuSi4gQmFycm93IDxkamJhcnJvd0BkZS5pYm0uY29tPgorCVRvcGkgTWlldHRpbmVuIDxUb3BpLk1pZXR0aW5lbkBuaWMuZmk+CisJR2HDq2wgUm91YWxsYW5kIDxnYWVsLnJvdWFsbGFuZEBpbmFtZS5jb20+CisJUmljaGFyZCBIaXJzdCA8cmhpcnN0QGxpbnV4Y2FyZS5jb20+CisJR2FuZXNhbiBSYWphZ29wYWwgPHJnYW5lc2FuQG15cmVhbGJveC5jb20+CisJR3JlZyBCYW5rcyA8Z2JhbmtzQHBvY2tldHBlbmd1aW5zLmNvbT4KKwlBbmRpIEtsZWVuIDxha0BzdXNlLmRlPgorCU1pY2hhbCBMdWR2aWcgPG1sdWR2aWdAc3VzZS5jej4KKwlIZWlrbyBDYXJzdGVucyA8aGVpa28uY2Fyc3RlbnNAZGUuaWJtLmNvbT4KZGlmZiAtLWdpdCBhL3N0cmFjZS00LjUuMjAvQ2hhbmdlTG9nIGIvc3RyYWNlLTQuNS4yMC9DaGFuZ2VMb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTUzOGRmNQotLS0gL2Rldi9udWxsCisrKyBiL3N0cmFjZS00LjUuMjAvQ2hhbmdlTG9nCkBAIC0wLDAgKzEsNTk1IEBACisyMDEwLTA0LTEzICBEbWl0cnkgVi4gTGV2aW4gIDxsZHZAYWx0bGludXgub3JnPgorCisJUHJlcGFyZSBmb3IgNC41LjIwIHJlbGVhc2UKKwkqIE5FV1M6IFVwZGF0ZSBmb3IgNC41LjIwIHJlbGVhc2UuCisJKiBjb25maWd1cmUuYWM6IFZlcnNpb24gNC41LjIwLgorCSogZGViaWFuL2NoYW5nZWxvZzogNC41LjIwLTEuCisJKiBzdHJhY2Uuc3BlYzogNC41LjIwLTEuCisKKzIwMTAtMDQtMTMgIEZyZWRlcmlrIFNjaMO8bGVyICA8ZnNAZGViaWFuLm9yZz4KKworCVVwZGF0ZSBkZWJpYW4vKiBmaWxlcyBmb3IgdGhlIHVwY29taW5nIHJlbGVhc2UKKwkqIGRlYmlhbi9jb250cm9sOiB1cGRhdGUgc3RhbmRhcmRzLXZlcnNpb24gdG8gMy44LjQuCisJKiBkZWJpYW4vcnVsZXM6IGFsbG93IHBhcmFsbGVsIGJ1aWxkaW5nLgorCSogZGViaWFuL3J1bGVzOiBjb21tZW50IG91dCB2ZXJib3NlIGJ1aWxkLCBvbmx5IG5lZWRlZCBmb3IgZGVidWdnaW5nLgorCSogZGViaWFuL3J1bGVzOiBjbGVhbiB1cCBjbGVhbjogdGFyZ2V0LCBkaF9jbGVhbiBkb2VzIG1vc3Qgb2YgdGhlIHdvcmsKKwkgIGFscmVhZHkuCisJKiBkZWJpYW4vcnVsZXM6IHVzZSAqLXN0YW1wIGluc3RlYWQgb2Ygc3RhbXAtKiwgc28gZGhfY2xlYW4gY2FuIHRpZHkKKwkgIHVwIGZvciB1cy4KKworMjAxMC0wNC0xMyAgSGVpa28gQ2Fyc3RlbnMgIDxoZWlrby5jYXJzdGVuc0BkZS5pYm0uY29tPgorCisJRml4IHMzOTAgc3lzdGVtIGNhbGwgdGFibGUgbGlzdAorCSogbGludXgvczM5MC9zeXNjYWxsZW50Lmg6IEFkZCB0aGUgbWlzc2luZyBlbnRyaWVzIGZvciBwcmVhZHYgYW5kCisJcHdyaXRldiB0byB0aGUgc3lzdGVtIGNhbGwgdGFibGUgbGlzdC4KKwkqIGxpbnV4L3MzOTB4L3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisKKzIwMTAtMDQtMDcgIERtaXRyeSBWLiBMZXZpbiAgPGxkdkBhbHRsaW51eC5vcmc+CisKKwlVcGRhdGUgbGludXgvaW9jdGxlbnQuaAorCSogbGludXgvaW9jdGxlbnQuc2g6IFNlYXJjaCBpbiBhc20tZ2VuZXJpYyBkaXJlY3RvcnkgYXMgd2VsbC4KKwkqIGxpbnV4L2lvY3RsZW50Lmg6IFJlZ2VuZXJhdGVkLgorCisJVXBkYXRlIGxpbnV4Lyovc3lzY2FsbGVudC5oIGZpbGVzIHRvIG1hdGNoIExpbnV4IGtlcm5lbCB2Mi42LjMzCisJKiBsaW51eC9hbHBoYS9zeXNjYWxsZW50Lmg6IEFkZCA0NyBob29rcy4KKwkqIGxpbnV4L2FybS9zeXNjYWxsZW50Lmg6IFVwZGF0ZSBob29rcyBmb3IgcHNlbGVjdDYsIHBwb2xsLAorCWVwb2xsX3B3YWl0LiAgQWRkIDExIGhvb2tzLgorCSogbGludXgvYmZpbi9zeXNjYWxsZW50Lmg6IFVwZGF0ZSBob29rcyBmb3IgcHJjdGwsIGZhbGxvY2F0ZSwKKwlzaWduYWxmZDQsIGV2ZW50ZmQyLCBlcG9sbF9jcmVhdGUxLCBkdXAzLCBwaXBlMiwgcGVyZl9ldmVudF9vcGVuLgorCUhvb2sgdXAgcmVjdm1tc2cuCisJKiBsaW51eC9ocHBhL3N5c2NhbGxlbnQuaDogVXBkYXRlIGhvb2tzIGZvciBzaWduYWxmZDQsIGV2ZW50ZmQyLAorCWVwb2xsX2NyZWF0ZTEsIGR1cDMsIHBpcGUyLCBwZXJmX2V2ZW50X29wZW4uCisJKiBsaW51eC9pMzg2L3N5c2NhbGxlbnQuaDogRml4IHN5c2NhbGwgbmFtZSBmb3IgdGhlIGtleGVjX2xvYWQgaG9vay4KKwlBZGQgNSBob29rcy4KKwkqIGxpbnV4L2lhNjQvc3lzY2FsbGVudC5oOiBGaXggc3lzY2FsbCBuYW1lIGZvciB0aGUga2V4ZWNfbG9hZCBob29rLgorCUFkZCA0IGhvb2tzLgorCSogbGludXgvbTY4ay9zeXNjYWxsZW50Lmg6IEFkZCA1MCBob29rcy4KKwkqIGxpbnV4L3Bvd2VycGMvc3lzY2FsbGVudC5oOiBGaXggaG9vayBmb3IgdGltZXJmZF9jcmVhdGUuICBGaXgKKwk2IHN5c2NhbGwgbmFtZXMgdG8gbWF0Y2ggdGhlIGtlcm5lbC4gIFVzZSBzeXNfc2Vtb3AgdG8gcGFyc2Ugc2Vtb3AuCisJQWRkIDE0IGhvb2tzLgorCSogbGludXgvczM5MC9zeXNjYWxsZW50Lmg6IEZpeCBzeXNjYWxsIG5hbWUgZm9yIHRoZSBrZXhlY19sb2FkIGhvb2suCisJQWRkIDE0IGhvb2tzLgorCSogbGludXgvczM5MHgvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKwkqIGxpbnV4L3NoL3N5c2NhbGxlbnQuaDogQWRkIDEzIGhvb2tzLgorCSogbGludXgvc2g2NC9zeXNjYWxsZW50Lmg6IEFkZCAxNSBob29rcy4KKwkqIGxpbnV4L3NwYXJjL3N5c2NhbGxlbnQuaDogQWRkIDIyIGhvb2tzLgorCSogbGludXgveDg2XzY0L3N5c2NhbGxlbnQuaDogQWRkIDUgaG9va3MuCisKKwlFbmhhbmNlIHJlY3ZtbXNnIHBhcnNlcgorCSogbmV0LmMgKHN5c19yZWN2bW1zZyk6IERlY29kZSBtbXNnaGRyIHN0cnVjdHVyZSBvbiBleGl0IGZyb20gdGhlCisJc3lzY2FsbC4gIERlY29kZSB0aW1lc3BlYyBzdHJ1Y3R1cmUgYm90aCBvbiBlbnRyYW5jZSBhbmQgb24gZXhpdC4KKworMjAxMC0wNC0wNyAgQW5kcmVhcyBTY2h3YWIgIDxzY2h3YWJAbGludXgtbTY4ay5vcmc+CisKKwlEZWNvZGUgcmVjdm1tc2cgc3lzY2FsbAorCSogbmV0LmMgKGRvX21zZ2hyKTogTmV3IGZ1bmN0aW9uIHRvIHByaW50IHN0cnVjdCBtc2doZHIuCisJKHByaW50bXNnaGRyKTogVXNlIGl0LgorCShwcmludG1tc2doZHIsIHN5c19yZWN2bW1zZyk6IE5ldy4KKwkqIGxpbnV4L3N5c2NhbGwuaDogRGVjbGFyZSBzeXNfcmVjdm1tc2cuCisJKFNZU19zdWJfcmVjdm1tc2cpOiBEZWZpbmUuCisJKFNZU19zb2NrZXRfbnN1YmNhbGxzKTogQnVtcC4KKwkqIGxpbnV4L3NwYXJjL3N5c2NhbGwuaDogTGlrZXdpc2UuCisJKiBsaW51eC9hcm0vc3lzY2FsbGVudC5oOiBBZGQgc3lzX3JlY3ZtbXNnLgorCSogbGludXgvYmZpbi9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCSogbGludXgvaTM4Ni9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCSogbGludXgvbTY4ay9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCSogbGludXgvcG93ZXJwYy9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCSogbGludXgvczM5MC9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCSogbGludXgvczM5MHgvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKwkqIGxpbnV4L3NoL3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9zaDY0L3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9zcGFyYy9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCSogbGludXgvaWE2NC9zeXNjYWxsZW50Lmg6IEFkanVzdC4KKworMjAxMC0wNC0wNyAgRG1pdHJ5IFYuIExldmluICA8bGR2QGFsdGxpbnV4Lm9yZz4KKworCSogc3RyYWNlLjE6IEZpeCBxdW90aW5nIG9mIGh5cGhlbnMgYW5kIGZvcm1hdHRpbmcgb2Ygc3RyYWNlIG9wdGlvbnMuCisKKwlTcGxpdCB0cmFjZV9zeXNjYWxsKCkgZm9yIGJldHRlciByZWFkYWJpbGl0eQorCSogc3lzY2FsbC5jICh0cmFjZV9zeXNjYWxsKTogU3BsaXQgaW50byB0cmFjZV9zeXNjYWxsX2V4aXRpbmcoKSBhbmQKKwl0cmFjZV9zeXNjYWxsX2VudGVyaW5nKCkuCisKKwlJbXBsZW1lbnQgLUMgb3B0aW9uIHRvIGNvbWJpbmUgcmVndWxhciBhbmQgLWMgb3V0cHV0CisJKiBkZWZzLmggKGNmbGFnX3QpOiBOZXcgZW51bS4KKwkqIHN0cmFjZS4xOiBEb2N1bWVudCAtQyBvcHRpb24uCisJKiBzdHJhY2UuYyAoY2ZsYWcpOiBVcGRhdGUgdHlwZS4KKwkobWFpbik6IEhhbmRsZSAtQyBvcHRpb24uCisJKHRyYWNlKTogVXBkYXRlIHVzZSBvZiBjZmxhZy4KKwkqIGNvdW50LmMgKGNvdW50X3N5c2NhbGwpOiBNb3ZlIGNsZWFyaW5nIG9mIFRDQl9JTlNZU0NBTEwgdG8gLi4uCisJKiBzeXNjYWxsLmMgKHRyYWNlX3N5c2NhbGwpOiAuLi4gaGVyZS4gIFVwZGF0ZSB1c2Ugb2YgY2ZsYWcuCisJQmFzZWQgb24gcGF0Y2ggYnkgQWRyaWVuIEt1bnlzei4KKworCUZpeCAibWFrZSBkaXN0IiByZWdyZXNzaW9uIGludHJvZHVjZWQgYnkgY29tbWl0IHY0LjUuMTktMTItZzUwNzg3NzAKKwkqIE1ha2VmaWxlLmFtIChFWFRSQV9ESVNUKTogUmVuYW1lIGxpbnV4L3N5c2NhbGxlbnQuaCB0byBsaW51eC9pMzg2L3N5c2NhbGxlbnQuaAorCisJKiBkZXNjLmMgKHN5c19lcG9sbF9wd2FpdCk6IEZpeCBvdXRwdXQgZm9ybWF0dGluZyBidWcuCisKKwkqIGRlc2MuYyAoZGVjb2RlX3NlbGVjdCk6IEZpeCBwb3RlbnRpYWwgc3RhY2sgYnVmZmVyIG92ZXJmbG93LgorCisyMDEwLTAzLTMxICBEbWl0cnkgVi4gTGV2aW4gIDxsZHZAYWx0bGludXgub3JnPgorCisJRml4IG1zZ3NuZCBpbmRpcmVjdCBpcGNjYWxsIGRlY29kaW5nCisJVGhpcyByZWdyZXNzaW9uIHdhcyBpbnRyb2R1Y2VkIGJ5IGNvbW1pdCB2NC41LjE4LTEzNi1nNzgzZjViYy4KKwkqIGlwYy5jICh0cHJpbnRfbXNnc25kKTogQWRkIGFuZCB1c2UgImZsYWdzIiBhcmd1bWVudC4KKwkoc3lzX21zZ3NuZCk6IFBhc3MgImZsYWdzIiBhcmd1bWVudCB0byB0cHJpbnRfbXNnc25kKCkuCisJUGF0Y2ggYnkgQW50b24gQmxhbmNoYXJkLgorCisyMDEwLTAzLTIzICBNYXJrIFdpZWxhYXJkICA8bWp3QHJlZGhhdC5jb20+CisKKwlIb29rIHVwIGlub3RpZnlfaW5pdDEgb3BlbiBtb2RlIGZsYWdzIHByaW50ZXIKKwkqIGZpbGUuYyBbTElOVVhdIChzeXNfaW5vdGlmeV9pbml0MSk6IE5ldyBmdW5jdGlvbi4KKwkqIGxpbnV4L3N5c2NhbGwuaDogRGVjbGFyZSBuZXcgc3lzX2lub3RpZnlfaW5pdDEgaGFuZGxlci4KKwkqIGxpbnV4L2JmaW4vc3lzY2FsbGVudC5oOiBIb29rIHVwIG5ldyBoYW5kbGVyLgorCSogbGludXgvaHBwYS9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCSogbGludXgvaTM4Ni9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCSogbGludXgveDg2XzY0L3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisKKzIwMTAtMDMtMDkgIEFuZHJlYXMgU2Nod2FiICA8c2Nod2FiQHJlZGhhdC5jb20+CisKKwlBdm9pZCBzcHVyaW91cyBlcnJvciB3aGVuIGNoZWNraW5nIGZvciBsaW51eC9uZXRsaW5rLmgKKwkqIGNvbmZpZ3VyZS5hYzogSW5jbHVkZSA8YXNtL3R5cGVzLmg+IHdoZW4gY2hlY2tpbmcgZm9yCisJbGludXgvbmV0bGluay5oLgorCisyMDEwLTAyLTIzICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBsaW51eC1tNjhrLm9yZz4KKworCUZpeCByZXBvcnRpbmcgc2lnbmFsIG1hc2sgYnkgc2lncmV0dXJuIG9uIHBvd2VycGMKKwkqIHNpZ25hbC5jIChzeXNfc2lncmV0dXJuKSBbUE9XRVJQQ106IFNraXAgZHVtbXkgc3RhY2sgZnJhbWUgd2hlbgorCWxvY2F0aW5nIHNpZ25hbCBjb250ZXh0LgorCisyMDEwLTAyLTA5ICBEYXZpZCBEYW5leSAgPGRkYW5leUBjYXZpdW1uZXR3b3Jrcy5jb20+CisKKwlGaXggTUlQUyBOMzIvTjY0IGNvbXBpbGUgZXJyb3IKKwkqIHN5c2NhbGwuYyBbTElOVVhfTUlQU04zMiB8fCBMSU5VWF9NSVBTTjY0XSAoc3lzY2FsbF9lbnRlcik6IFBhc3MKKwl0Y3AtPnBpZCB0byBwdHJhY2UoKS4KKworMjAxMC0wMi0wNSAgQ2hyaXMgTWV0Y2FsZiAgPGNtZXRjYWxmQHRpbGVyYS5jb20+CisKKwlBZGQgc3VwcG9ydCBmb3IgdGhlIFRJTEUgYXJjaGl0ZWN0dXJlCisJKiBjb25maWd1cmUuYWM6IEFkZCBUSUxFIHRvIHRoZSBsaXN0IG9mIHN1cHBvcnRlZCBhcmNoaXRlY3R1cmVzLgorCSogZGVmcy5oOiBEZWZpbmUgVENCX1dBSVRFWEVDVkUgZm9yIFRJTEUuCisJKiBsaW51eC90aWxlL3N5c2NhbGxlbnQuaDogTmV3IGZpbGUuCisJKiBNYWtlZmlsZS5hbSAoRVhUUkFfRElTVCk6IEFkZCBsaW51eC90aWxlL3N5c2NhbGxlbnQuaAorCSogcHJvY2Vzcy5jIChjaGFuZ2Vfc3lzY2FsbCwgc3RydWN0X3VzZXJfb2Zmc2V0cyk6IEFkZCBUSUxFIHN1cHBvcnQuCisJKiBzeXNjYWxsLmMgKGdldF9zY25vLCBnZXRfZXJyb3IsIHN5c2NhbGxfZW50ZXIpOiBMaWtld2lzZS4KKwkqIG1lbS5jIChtbWFwX2ZsYWdzLCBwcmludF9tbWFwKTogQWRkIE1BUF9DQUNIRV94eHggVElMRSBleHRlbnNpb25zCisJc3VwcG9ydC4KKwkqIHNpZ25hbC5jIChzaWdhY3RfZmxhZ3MpOiBBZGQgU0FfTk9QVFJBQ0UuCisJKHN5c19zaWdyZXR1cm4pOiBBZGQgVElMRSBzdXBwb3J0LgorCisyMDEwLTAyLTA0ICBEbWl0cnkgVi4gTGV2aW4gIDxsZHZAYWx0bGludXgub3JnPgorCisJUmVtb3ZlIGRlYWQgY29kZQorCSogZGVmcy5oICh0dl90dik6IFJlbW92ZS4KKwkqIG5ldC5jIChzeXNfeHNldHNvY2thZGRyKTogUmVtb3ZlIGNvbW1lbnRlZCBvdXQgZGVhZCBjb2RlLgorCSogcHJvY2Vzcy5jIChzZXRhcmcsIHN5c19leGVjdiwgc3lzX2V4ZWN2ZSwgc3RydWN0X3VzZXJfb2Zmc2V0cyk6CisJTGlrZXdpc2UuCisJKiBzaWduYWwuYyAoc3lzX3NpZ3N1c3BlbmQpOiBMaWtld2lzZS4KKwkqIHN0cmFjZS5jIChyZWFwZXIsIHRyYWNlKTogTGlrZXdpc2UuCisJKiBzdHJlYW0uYyAoaW50ZXJuYWxfc3RyZWFtX2lvY3RsKTogTGlrZXdpc2UuCisJKiBzeXNjYWxsLmMgKHRyYWNlX3N5c2NhbGwpOiBMaWtld2lzZS4KKwkqIHRlcm0uYyAodGVybV9pb2N0bCk6IExpa2V3aXNlLgorCSogdXRpbC5jICh0dl90diwgdW1vdmVuLCB1bG9hZCwgZ2V0cGMsIGZpeHZmb3JrLCBzZXRicHQsIGNsZWFyYnB0KToKKwlMaWtld2lzZS4KKworCU1lcmdlIExpbnV4IGludGVybmFsX2Nsb25lKCkgaW50byBpbnRlcm5hbF9mb3JrKCkKKwkqIGRlZnMuaCAoaW50ZXJuYWxfY2xvbmUpOiBSZW1vdmUuCisJKiBwcm9jZXNzLmMgKGludGVybmFsX2Nsb25lKTogTWVyZ2UgaW50byBpbnRlcm5hbF9mb3JrKCkuCisJKGludGVybmFsX2ZvcmspIFshTElOVVhdOiBSZW1vdmUgZGVhZCBjb2RlLgorCSogc3lzY2FsbC5jIChpbnRlcm5hbF9zeXNjYWxsKTogUmVwbGFjZSBpbnRlcm5hbF9jbG9uZSgpIHdpdGgKKwlpbnRlcm5hbF9mb3JrKCkuCisKKwkqIE1ha2VmaWxlLmFtIChJTkNMVURFUyk6IFJlbW92ZSByZWR1bmRhbnQgc2VhcmNoIGRpcmVjdG9yaWVzLgorCisyMDEwLTAyLTA0ICBGcmVkZXJpayBTY2jDvGxlciAgPGZzQGRlYmlhbi5vcmc+CisKKwlVcGRhdGUgZGViaWFuLyogZmlsZXMKKwkqIGRlYmlhbi9jb250cm9sOiBhZGQgc3BhcmM2NCB0byB0aGUgYXJjaGl0ZWN0dXJlcyBsaXN0LgorCVRoaXMgY2xvc2VzIERlYmlhbiBidWcgIzU2MDA2MgorCSogQmFja3BvcnQgY29tbWl0IGYwZGYzMWU3MWE1OGM2ZTc5YmE3N2MxYTlkODRiMmYzOGQ0NGJlYzcgdG8gZml4IEZUQkZTLgorCVRoaXMgY2xvc2VzIERlYmlhbiBidWcgIzU2MDUxNgorCSogZGViaWFuL2NvbnRyb2w6IFVwZGF0ZSBzdGFuZGFyZHMtdmVyc2lvbiB0byAzLjguMy4KKwkqIGRlYmlhbi9jb250cm9sOiBMb3dlciBwYWNrYWdlIHByaW9yaXR5IHRvIG9wdGlvbmFsLCBtYXRjaGluZworCXRoZSBhcmNoaXZlIG92ZXJyaWRlLgorCSogZGViaWFuL2NvbnRyb2w6IGFkZCAke21pc2M6RGVwZW5kc30gdG8gRGVwZW5kczogbGluZXMgd2hlcmUKKwlhcHByb3ByaWF0ZS4KKwkqIGRlYmlhbi93YXRjaDogbmV3IGZpbGUsIGFsbG93cyBhdXRvbWF0aWMgdHJhY2tpbmcgb2YgbmV3CisJdXBzdHJlYW0gdmVyc2lvbnMuCisJKiBkZWJpYW4vc291cmNlL2Zvcm1hdDogbmV3IGZpbGUsIGFkYXB0IHRvIGRlYmlhbiBzb3VyY2UgZm9ybWF0ICJxdWlsdCIKKwkqIGRlYmlhbi9ydWxlczogaW5kZW50YXRpb24gY2xlYW51cHM7IHVzZSBkaF90ZXN0cm9vdCBhbmQgZGhfcHJlcAorCWluIGNsZWFuIHRhcmdldC4KKworMjAxMC0wMS0yNSAgQW5kcmVhcyBTY2h3YWIgIDxzY2h3YWJAcmVkaGF0LmNvbT4KKworCUZpeCBzcHVyaW91cyBmYWlsdXJlIG9mIEFDX1NUQVQ2NCB0ZXN0CisJKiBhY2luY2x1ZGUubTQgKEFDX1NUQVQ2NCk6IEluY2x1ZGUgPHN5cy90eXBlcy5oPiBmaXJzdC4KKworMjAxMC0wMS0xMiAgQW5kcmVhcyBTY2h3YWIgIDxzY2h3YWJAcmVkaGF0LmNvbT4KKworCURvbid0IGtpbGwgdGhlIHByb2Nlc3Mgd2hlbiBkZXRhY2hpbmcKKwkqIHN0cmFjZS5jIChkZXRhY2gpOiBDYWxsIGNsZWFyYnB0IHdoZW4gVENCX0JQVFNFVCBpcyBzZXQuCisKKzIwMDktMTItMjUgIERtaXRyeSBWLiBMZXZpbiAgPGxkdkBhbHRsaW51eC5vcmc+CisKKwlEZWNvZGUgZmlmdGggYXJndW1lbnQgb2YgbXJlbWFwIHN5c2NhbGwKKwkqIG1lbS5jIChzeXNfbXJlbWFwKTogRGVjb2RlIGZpZnRoIGFyZ3VtZW50LgorCSogbGludXgvKi9zeXNjYWxsZW50Lmg6IFVwZGF0ZSB0aGUgbnVtYmVyIG9mIG1yZW1hcCBzeXNjYWxsIGFyZ3VtZW50cy4KKworMjAwOS0xMi0yNCAgQ2hyaXMgTWV0Y2FsZiAgPGNtZXRjYWxmQHRpbGVyYS5jb20+CisKKwkqIG1lbS5jIChzeXNfbWJpbmQpOiBEaXNwbGF5IGZpcnN0IGFyZ3VtZW50IGluIGhleAorCisJKiBtZW0uYyAobXJlbWFwX2ZsYWdzKTogQWRkIE1SRU1BUF9GSVhFRAorCisyMDA5LTExLTE2ICBNaWtlIEZyeXNpbmdlciAgPHZhcGllckBnZW50b28ub3JnPgorCisJTW92ZSBpMzg2LXNwZWNpZmljIGZpbGVzIG91dCBvZiBjb21tb24gbGludXggZGlyCisJKiBsaW51eC9zeXNjYWxsZW50Lmg6IE1vdmVkIHRvIC4uLgorCSogbGludXgvaTM4Ni9zeXNjYWxsZW50Lmg6IC4uLiBoZXJlLgorCSogbGludXgvaWE2NC9zeXNjYWxsZW50Lmg6IFVwZGF0ZSBpMzg2IHN5c2NhbGxlbnQuaCBpbmNsdWRlLgorCSogbGludXgvc3BhcmMvZ2VuLnBsOiBMaWtld2lzZS4KKwkqIGxpbnV4L3g4Nl82NC9zeXNjYWxsZW50MS5oOiBMaWtld2lzZS4KKworMjAwOS0xMS0xNiAgQW5kcmVhcyBTY2h3YWIgIDxzY2h3YWJAcmVkaGF0LmNvbT4KKworCVJlbW92ZSBzdXBwb3J0IGZvciBwcmUtQzg5CisJKiBkZWZzLmg6IFJlbW92ZSByZWZlcmVuY2VzIHRvIF9fU1REQ19fIGFuZCBQIG1hY3Jvcy4KKwkqIHN0cmFjZS5jOiBMaWtld2lzZS4KKworMjAwOS0xMS0xMyAgRG1pdHJ5IFYuIExldmluICA8bGR2QGFsdGxpbnV4Lm9yZz4KKworCURlY29kZSBtb3JlIFNPTF9QQUNLRVQgc29ja2V0IG9wdGlvbnMKKwkqIG5ldC5jIChzb2NrcGFja2V0b3B0aW9ucyk6IEFkZCBtb3JlIFBBQ0tFVF8qIGVudHJpZXMuCisJKHN5c19nZXRzb2Nrb3B0KTogRGVjb2RlIFBBQ0tFVF9TVEFUSVNUSUNTLgorCShwcmludHNvY2tvcHQpOiBEZWNvZGUgUEFDS0VUX1JYX1JJTkcgYW5kIFBBQ0tFVF9UWF9SSU5HLgorCVBhdGNoIGJ5IEdhYm9yIEdvbWJhcy4KKworMjAwOS0xMS0xMSAgQW5kcmVhcyBTY2h3YWIgIDxzY2h3YWJAcmVkaGF0LmNvbT4KKworCUlnbm9yZSBlcnJvcnMgaWYgYSB0aHJlYWQgaXMga2lsbGVkCisJKiB1dGlsLmMgKGNsZWFyYnB0KTogSWdub3JlIEVTUkNIIGVycm9yLgorCisyMDA5LTExLTA2ICBCZXJuaGFyZCBSZXV0bmVyLUZpc2NoZXIgIDxyZXAuZG90Lm5vcEBnbWFpbC5jb20+CisKKwlGaXggaGFuZGxpbmcgb2YgTGludXggc3lzdGVtcyB3aXRob3V0IHN0cnVjdCBzdGF0ZnM2NAorCSogYWNpbmNsdWRlLm00IChBQ19TVEFURlM2NCk6IE5ldyBtYWNybyB0byBjaGVjayBmb3Igc3RydWN0IHN0YXRmczY0LgorCSogY29uZmlndXJlLmFjOiBDYWxsIEFDX1NUQVRGUzY0LgorCSogZmlsZS5jIChwcmludHN0YXRmczY0LCBzeXNfc3RhdGZzNjQsIHN5c19mc3RhdGZzNjQpOiBDb21waWxlIG9ubHkKKwkgIGlmIHN0cnVjdCBzdGF0ZnM2NCBpcyBhdmFpbGFibGUuCisKKzIwMDktMTEtMDYgIERtaXRyeSBWLiBMZXZpbiAgPGxkdkBhbHRsaW51eC5vcmc+CisKKwlGaXggZ2V0c29ja29wdCBkZWNvZGluZyBvbiBhcmNoaXRlY3R1cmVzIHdoZXJlIHNpemVvZihsb25nKSA+IHNpemVvZihpbnQpCisJKiBuZXQuYyAoc3lzX2dldHNvY2tvcHQpOiBPcHRpbWl6ZSBvdXRwdXQgYSBiaXQuCisJRGVjb2RlIGludGVnZXIgYXJndW1lbnQgdXNpbmcgcHJpbnRudW1faW50KCksIHBhdGNoIGJ5IEdhYm9yIEdvbWJhcy4KKworCUNoZWNrIHVtb3ZlKCkgcmV0dXJuIGNvZGUKKwkqIGJqbS5jIChzeXNfcXVlcnlfbW9kdWxlKTogUHJpbnQgaW5wdXQgcGFyYW1ldGVycyB3aGVuIGVudGVyaW5nCisJc3lzY2FsbC4gIEZpeCBoYW5kbGluZyBvZiBzeXNjYWxsIGVycm9yLiAgSGFuZGxlIHVubGlrZWx5IHVtb3ZlKCkKKwlmYWlsdXJlcy4KKwkqIGlwYy5jICh0cHJpbnRfbXNncmN2KTogTmV3IGZ1bmN0aW9uLiAgTW92ZSBwYXJ0IG9mIG1zZ3JjdiBwYXJzZXIgY29kZQorCWhlcmUsIGFkZCBjaGVjayB1bW92ZSgpIHJldHVybiBjb2RlLgorCShzeXNfbXNnc25kKTogUHJpbnQgbXNxaWQgcGFyYW1ldGVyIGFzIGludCBpbnN0ZWFkIG9mIGxvbmcuCisJKHN5c19tc2dyY3YpOiBMaWtld2lzZS4gIFVzZSB0cHJpbnRfbXNncmN2KCkuCisJKiBwcm9jZXNzLmMgKHByaW50X2FmZmluaXR5bGlzdCk6IENoZWNrIHVtb3ZlKCkgcmV0dXJuIGNvZGUuCisJKiBzb2NrLmMgKHNvY2tfaW9jdGwpOiBIYW5kbGUgdW5saWtlbHkgdW1vdmUoKSBmYWlsdXJlIGluIHRoZQorCVNJT0NHSUZDT05GIHBhcnNlci4KKworCUZpeCBjaGVjayBmb3IgbGludXgvbmV0bGluay5oIG9uIExpbnV4IDIuNi4zMi1yYzUrCisJKiBjb25maWd1cmUuYWMgKEFDX0NIRUNLX0hFQURFUlMpOiBJbiBjaGVjayBmb3IgbGludXgvbmV0bGluay5oLCBpbmNsdWRlCisJc3lzL3NvY2tldC5oIGluc3RlYWQgb2YgbGludXgvc29ja2V0LmggYmVmb3JlaGFuZC4KKworMjAwOS0xMS0wNCAgQW5kcmVhcyBTY2h3YWIgIDxzY2h3YWJAcmVkaGF0LmNvbT4KKworCURlY29kZSBmYWxsb2NhdGUgb24gUG93ZXJQQworCSogbGludXgvcG93ZXJwYy9zeXNjYWxsZW50Lmg6IERlY29kZSBmYWxsb2NhdGUuCisKKwlGYWN0b3Igb3V0IHByaW50aW5nIG9mIDY0Yml0IHN5c2NhbGwgYXJndW1lbnQKKwkqIGRlZnMuaCAoQUxJR042NCk6IFJlbW92ZS4KKwkocHJpbnRsbHZhbCk6IERlY2xhcmUuCisJKiB1dGlsLmMgKHByaW50bGx2YWwpOiBEZWZpbmUuCisJKiBmaWxlLmMgKHN5c19yZWFkYWhlYWQpOiBVc2UgcHJpbnRsbHZhbC4KKwkoc3lzX2xzZWVrNjQpOiBMaWtld2lzZS4KKwkoc3lzX3RydW5jYXRlNjQpOiBMaWtld2lzZS4KKwkoc3lzX2Z0cnVuY2F0ZTY0KTogTGlrZXdpc2UuCisJKHN5c19mYWR2aXNlNjQpOiBMaWtld2lzZS4KKwkoc3lzX2ZhZHZpc2U2NF82NCk6IExpa2V3aXNlLgorCShzeXNfZmFsbG9jYXRlKTogTGlrZXdpc2UuCisJKiBpby5jIChzeXNfcHJlYWQpOiBMaWtld2lzZS4KKwkoc3lzX3B3cml0ZSk6IExpa2V3aXNlLgorCShzeXNfcHJlYWQ2NCk6IExpa2V3aXNlLgorCShzeXNfcHdyaXRlNjQpOiBMaWtld2lzZS4KKwkqIG1lbS5jIChzeXNfbW1hcDY0KTogTGlrZXdpc2UuCisKKzIwMDktMTEtMDMgIEFuZHJlYXMgU2Nod2FiICA8c2Nod2FiQHJlZGhhdC5jb20+CisKKwlDb3JyZWN0IGRlY29kaW5nIG9mIHJlYWRhaGVhZCBhbmQgZmFkdmljZTY0KF82NCkgb24gUG93ZXJQQworCSogZmlsZS5jIChzeXNfcmVhZGFoZWFkKTogQWxpZ24gNjRiaXQgYXJndW1lbnQuICBIYW5kbGUgUG93ZXJQQzY0CisJbGlrZSBvdGhlciA2NGJpdCBhcmNoaXRlY3R1cmVzLgorCShzeXNfZmFkdmlzZTY0KTogTGlrZXdpc2UuCisJKHN5c19mYWR2aXNlNjRfNjQpOiBIYW5kbGUgUG93ZXJQQyBsaWtlIEFSTS4KKwkqIGxpbnV4L3Bvd2VycGMvc3lzY2FsbGVudC5oIChzeXNfcmVhZGFoZWFkKTogQWNjb3VudCBmb3IgNjRiaXQKKwlhcmd1bWVudCBhbGlnbm1lbnQgb24gUG93ZXJQQzMyLgorCisyMDA5LTEwLTI3ICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkByZWRoYXQuY29tPgorCisJTWFpbnRhaW4gc2VwYXJhdGUgcHJpbnQgY29sdW1uIGZvciBlYWNoIHByb2Nlc3MKKwkqIGRlZnMuaCAoc3RydWN0IHRjcCk6IEFkZCBjdXJjb2wuCisJKiBzdHJhY2UuYzogKGFsbG9jX3RjYik6IEluaXRpYWxpemUgaXQuCisJKHRyYWNlKTogVXNlIGN1cmNvbCBmcm9tIGN1cnJlbnQgcHJvY2VzcyBhbmQgc2F2ZSBpdCBiZWZvcmUKKwljb250aW51aW5nLgorCSh0cHJpbnRmKTogRG9uJ3QgbW9kaWZ5IGN1cmNvbCBvbiBvdXRwdXQgZXJyb3IuCisKKzIwMDktMTAtMjEgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CisKKwkqIHN0cmFjZS5zcGVjOiA0LjUuMTktMSByZWxlYXNlLgorCisyMDA5LTEwLTIxICBEbWl0cnkgVi4gTGV2aW4gIDxsZHZAYWx0bGludXgub3JnPgorCisJKiBmaWxlLmMgKHByaW50c3RhdDY0KTogQ2xlYW51cCB0cmFpbGluZyB3aGl0ZXNwYWNlLgorCisyMDA5LTEwLTE2ICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkByZWRoYXQuY29tPgorCisJRml4IGRlY29kaW5nIG9mIG5ld2ZzdGF0YXQgc3lzY2FsbCBvbiB4ODYtNjQKKwkqIGZpbGUuYyAocHJpbnRzdGF0NjQpIFtMSU5VWCAmJiBYNjhfNjRdOiBJZiB0cmFjaW5nIGEgNjQtYml0CisJcHJvY2VzcyByZWRpcmVjdCB0byBwcmludHN0YXQuCisJRml4ZXMgUkgjNTI5MzE2ICJGaWVsZCB2YWx1ZXMgc2hvd24gZm9yICJuZXdmc3RhdGF0IiBzeXN0ZW0KKwljYWxsIGFyZSBpbmNvcnJlY3QiCisKKzIwMDktMTAtMTIgIERtaXRyeSBWLiBMZXZpbiAgPGxkdkBhbHRsaW51eC5vcmc+CisKKwkqIGNvbmZpZ3VyZS5hYyAoQUNfQ0hFQ0tfSEVBREVSUyk6IFJlbW92ZSBhc20vcmVnLmguCisKKzIwMDktMTAtMTIgIE1pa2UgRnJ5c2luZ2VyICA8dmFwaWVyQGdlbnRvby5vcmc+CisKKwlzcGFyYy9saW51eDogUmV3cml0ZSB0byB1c2UgYXNtL3B0cmFjZS5oCisJVGhlIGN1cnJlbnQgc3BhcmMvbGludXggY29kZSB1c2VzIGFzbS9yZWcuaCwgYnV0IHJlY2VudCBMaW51eCBrZXJuZWxzCisJZHJvcHBlZCB0aGF0IGhlYWRlciBjb21wbGV0ZWx5LiAgU28gc3dpdGNoIG92ZXIgdG8gdGhlIHB0cmFjZSBoZWFkZXJzCisJYXMgdGhvc2Ugc2hvdWxkIHN0aWNrIGFyb3VuZCBpbmRlZmluaXRlbHkgYXMgcGFydCBvZiB0aGUgQUJJLgorCisJKiBkZWZzLmggW0xJTlVYU1BBUkNdIChVX1JFR19HMSwgVV9SRUdfTzAsIFVfUkVHX08xKTogRGVmaW5lLgorCSogcHJvY2Vzcy5jOiBEcm9wIGFzbS9yZWdzLmggaW5jbHVkZS4KKwlbU1BBUkMgfHwgU1BBUkM2NF0gKGNoYW5nZV9zeXNjYWxsKTogQ2hhbmdlIHN0cnVjdCByZWdzIHRvIHN0cnVjdCBwdF9yZWdzLgorCSogc2lnbmFsLmM6IERyb3AgYXNtL3JlZ3MuaCBpbmNsdWRlLgorCShtX3NpZ2luZm9fdCk6IFVuaWZ5IFtTUEFSQyB8fCBTUEFSQzY0XSBhbmQgW01JUFNdLgorCVtTUEFSQyB8fCBTUEFSQzY0XSAoc3lzX3NpZ3JldHVybik6IENoYW5nZSBzdHJ1Y3QgcmVncyB0byBzdHJ1Y3QgcHRfcmVncy4KKwkqIHN5c2NhbGwuYzogRHJvcCBhc20vcmVncy5oIGluY2x1ZGUuCisJW1NQQVJDIHx8IFNQQVJDNjRdIChpbnRlcm5hbF9zeXNjYWxsLCBnZXRfc2NubywgZ2V0X2Vycm9yLCBmb3JjZV9yZXN1bHQsCisJc3lzY2FsbF9lbnRlcik6IENoYW5nZSBzdHJ1Y3QgcmVncyB0byBzdHJ1Y3QgcHRfcmVncy4KKwkqIHV0aWwuYzogRHJvcCBhc20vcmVncy5oIGluY2x1ZGUuCisJKF9oYWNrX3N5c2NhbGw1LCBfcHRyYWNlKTogRGVsZXRlLgorCVtTUEFSQyB8fCBTUEFSQzY0XSAoZ2V0cGMsIHByaW50Y2FsbCwgYXJnX3NldHVwX3N0YXRlKTogQ2hhbmdlCisJc3RydWN0IHJlZ3MgdG8gc3RydWN0IHB0X3JlZ3MuCisKKzIwMDktMTAtMTEgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CisKKwkqIG1ha2UtZGlzdDogQ2xlYW4gdXAuCisKKwkqIGNvbmZpZ3VyZS5hYzogVXNlIEFDX0NPTkZJR19BVVhfRElSKFsuXSkuCisKKzIwMDktMTAtMDkgIERtaXRyeSBWLiBMZXZpbiAgPGxkdkBhbHRsaW51eC5vcmc+CisKKwkqIG1ha2UtZGlzdDogTmV3IHNjcmlwdCBmb3IgcHJlcGFyaW5nIHJlbGVhc2UgdGFyYmFsbHMuCisKKwkqIGdpdC1zZXQtZmlsZS10aW1lczogSW1wb3J0IGZyb20gcnN5bmMuCisKKwkqIE1ha2VmaWxlLmFtIFtNQUlOVEFJTkVSX01PREVdOiBEZWZpbmUgYW5kIGV4cG9ydCBUQVJfT1BUSU9OUy4KKworMjAwOS0xMC0wOCAgRG1pdHJ5IFYuIExldmluICA8bGR2QGFsdGxpbnV4Lm9yZz4KKworCUVuaGFuY2UgbXNnc25kKCkgcGFyc2VyCisJKiBpcGMuYyAodHByaW50X21zZ3NuZCk6IE5ldyBmdW5jdGlvbi4gIE1vdmUgbXNnc25kIHBhcnNlciBjb2RlIGhlcmUsCisJYWRkIGNoZWNrIGZvciB1bW92ZSgpIHJldHVybiBjb2RlLgorCShzeXNfbXNnc25kKTogVXNlIHRwcmludF9tc2dzbmQoKS4KKworCSogTkVXUzogVXBkYXRlIGZvciA0LjUuMTkgcmVsZWFzZS4KKworCUVuaGFuY2Ugc2Vtb3AoKS9zZW10aW1lZG9wKCkgc2VtYnVmIHBhcnNlcgorCSogaXBjLmMgKHRwcmludF9zZW1idWYpOiBOZXcgZnVuY3Rpb24uIE1vdmUgc2VtYnVmIHBhcnNlciBjb2RlIGhlcmUsCisJYWRkIGFiYnJldigpIHN1cHBvcnQuCisJKHN5c19zZW1vcCwgc3lzX3NlbXRpbWVkb3ApOiBVc2UgdHByaW50X3NlbWJ1ZigpLgorCisyMDA5LTEwLTA4ICBKYWt1YiBCb2d1c3ogIDxxYm9vc2hAcGxkLWxpbnV4Lm9yZz4KKworCUFkZCBwcmV0dHkgcHJpbnRpbmcgb2Ygc2VtYnVmIGFyZ3VtZW50IHRvIHNlbW9wKCkgYW5kIHNlbXRpbWVkb3AoKQorCSogaXBjLmMgKHNlbW9wX2ZsYWdzKTogTmV3IHhsYXQgc3RydWN0dXJlLgorCShzeXNfc2Vtb3AsIHN5c19zZW10aW1lZG9wKTogQWRkIHByZXR0eSBwcmludGluZyBvZiBzZW1idWYgYXJndW1lbnQuCisKKzIwMDktMTAtMDggIE1pa2UgRnJ5c2luZ2VyICA8dmFwaWVyQGdlbnRvby5vcmc+CisKKwlBZGQgc3VwcG9ydCBmb3IgTGludXgvbm8tbW11IHdpdGggdmZvcmsKKwkqIGNvbmZpZ3VyZS5hYyAoQUNfQ0hFQ0tfRlVOQ1MpOiBBZGQgZm9yay4KKwkqIHN0cmFjZS5jIChzdHJhY2VfdmZvcmtlZCk6IERlZmluZS4KKwkoc3RhcnR1cF9jaGlsZCk6IERvIG5vdCByYWlzZSBTSUdTVE9QIGlmIHZmb3JrZWQuCisJKHRyYWNlKTogU2tpcCBmaXJzdCBleGVjIHdoZW4gc3RhcnRpbmcgdXAgYWZ0ZXIgdmZvcmtlZC4KKwkqIHN5c2NhbGwuYyBbQkZJTl0gKGdldF9zY25vKTogRHJvcCB3YWl0ZXhlYyBjaGVja3MuCisKKwlBdm9pZCBtYWxsb2MoMCkgaW4gZ2V0ZGVudHMgcGFyc2VycworCU9uIGVuZCBvZiBkaXJlY3RvcnksIGdldGRlbnRzIHJldHVybnMgMC4gIFRoaXMgcmV0dXJuIHZhbHVlIGlzIHVzZWQgdG8KKwl0aGVuIHRyeSBhbmQgZG8gbWFsbG9jKDApLCBidXQgb24gc29tZSBzeXN0ZW1zIHRoaXMgd2lsbCBhbHdheXMgcmV0dXJuCisJTlVMTC4gIFNpbmNlIHRoZSBjb2RlIHdvbid0IHJlYWQgdGhlIHBvaW50ZXIgaW4gcXVlc3Rpb24gaWYgbGVuIGlzIDAsCisJdGhlbiBkb24ndCBib3RoZXIgY2FsbGluZyBtYWxsb2MoMCkgYW5kIHNldCB0aGUgcG9pbnRlciB0byBOVUxMIG91cnNlbGYuCisJKiBmaWxlLmMgKHN5c19nZXRkZW50cywgc3lzX2dldGRlbnRzNjQpOiBBdm9pZCBtYWxsb2MoMCkgY2FsbC4KKworMjAwOS0xMC0wNyAgTWlrZSBGcnlzaW5nZXIgIDx2YXBpZXJAZ2VudG9vLm9yZz4KKworCUFkZCBzeXNfbmFub3NsZWVwKCkgcHJvdG90eXBlIGZvciBzcGFyYworCSogbGludXgvc3BhcmMvc3lzY2FsbC5oIChzeXNfbmFub3NsZWVwKTogTmV3IHByb3RvdHlwZS4KKwlSZXBvcnRlZCBieSBGcmVkZXJpayBTY2jDvGxlci4KKworCVNpbGVuY2UgY29tcGlsZXIgd2FybmluZ3MgYWJvdXQgaW1wbGljaXQgY2FzdCBmcm9tIHBvaW50ZXIgdG8gaW50ZWdlcgorCSogdXRpbC5jIChkb19wdHJhY2UpOiBDYXN0IHB0cmFjZSgpIDR0aCBhcmcgdG8gbG9uZy4KKwkocHRyYWNlX3Jlc3RhcnQpOiBEcm9wIHZvaWQqIGNhc3Qgb24gcHRyYWNlKCkgNHRoIGFyZy4KKworCUlnbm9yZSAuZ2RiIGZpbGVzIGZyb20gRkxBVCB0b29sY2hhaW5zCisJKiAuZ2l0aWdub3JlOiBBZGQgLyouZ2RiLgorCisJKiBjb25maWd1cmUuYWMgKEFDX0NIRUNLX0ZVTkNTKTogU29ydCBhbmQgZXhwYW5kLgorCisJQmxhY2tmaW46IFVwZGF0ZSBpb2N0bC9zeXNjYWxsIGxpc3RzCisJKiBsaW51eC9iZmluL2lvY3RsZW50Lmg6IFN5bmMgbGlzdCB3aXRoIGxhdGVzdCBrZXJuZWwgc291cmNlcy4KKwkqIGxpbnV4L2JmaW4vc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKworCWlvY3Rsc29ydDogQ2hlY2sgcHBjIGhvc3RzIHRvbworCSogbGludXgvaW9jdGxzb3J0LmM6IENoZWNrIGZvciBfX3Bvd2VycGNfXy4KKworMjAwOS0xMC0wNyAgQW5kcmVhcyBTY2h3YWIgIDxzY2h3YWJAcmVkaGF0LmNvbT4KKworCUZpeCBidWlsZCBvbiBpYTY0CisJKiBsaW51eC9pYTY0L3N5c2NhbGxlbnQuaDogVXBkYXRlIGZvciBhZGRpdGlvbiBvZiBhY2NlcHQ0IHN5c2NhbGwKKwlpbiAuLi9zeXNjYWxsZW50LmguCisKKzIwMDktMTAtMDcgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CisKKwkqIHN0cmFjZS5zcGVjICglZG9jKTogQWRkIENoYW5nZUxvZy1DVlMuCisKKwkqIE1ha2VmaWxlLmFtIChzcnBtKTogTmV3IHBob255IHRhcmdldC4KKworCSogTWFrZWZpbGUuYW0gKEVYVFJBX0RJU1QpOiBBZGQgQ2hhbmdlTG9nLgorCSgkKHNyY2RpcikvQ2hhbmdlTG9nKTogTmV3IHRhcmdldCwgcmVwbGFjZXMgZ2VuLWNoYW5nZWxvZyBwaG9ueSB0YXJnZXQuCisJUHV0IGl0IGluc2lkZSBbTUFJTlRBSU5FUl9NT0RFXS4KKworMjAwOS0xMC0wNiAgRG1pdHJ5IFYuIExldmluICA8bGR2QGFsdGxpbnV4Lm9yZz4KKworCSogTkVXUzogVXBkYXRlIGZvciA0LjUuMTkgcmVsZWFzZS4KKworMjAwOS0xMC0wNSAgRnJlZGVyaWsgU2Now7xsZXIgIDxmc0BkZWJpYW4ub3JnPgorCisJUHJlcGFyZSBkZWJpYW4vKiBmaWxlcyBmb3IgcmVsZWFzZQorCSogZGViaWFuL3J1bGVzOiBEbyBub3Qgc2hpcCBDaGFuZ2VMb2cgYW55bW9yZS4KKwkqIGRlYmlhbi9jb250cm9sOiBVcGRhdGUgdG8gRGViaWFuIHN0YW5kYXJkcyB2ZXJzaW9uIDMuOC4xLCBhbmQgcmVtb3ZlCisJUm9sYW5kIGZyb20gdGhlIE1haW50YWluZXJzIGxpc3QuICBUaGlzIGNsb3NlcyBEZWJpYW4gYnVnICM1MjE0NTguCisJKiBkZWJpYW4vY2hhbmdlbG9nOiBEb2N1bWVudCBjaGFuZ2VzIGFuZCBwcmVwYXJlIGZvciByZWxlYXNlLgorCisyMDA5LTEwLTA1ICBEbWl0cnkgVi4gTGV2aW4gIDxsZHZAYWx0bGludXgub3JnPgorCisJKiBkZWZzLmggW0hQUEFdOiBMb3dlciBNQVhfQVJHUyBmcm9tIDMyIHRvIDYuCisKKwkqIGlwYy5jIFtMSU5VWF0gKHN5c19zaG1hdCk6IEhQUEEgZG9lcyBub3QgdXNlIGFuIElQQyBtdWx0aXBsZXhlci4KKwlCYXNlZCBvbiBwYXRjaCBmcm9tIENhcmxvcyBPJ0RvbmVsbC4KKworMjAwOS0xMC0wNSAgQ2FybG9zIE8nRG9uZWxsICA8Y2FybG9zQHN5c3RlbWhhbHRlZC5vcmc+CisKKwkqIGxpbnV4L2hwcGEvc3lzY2FsbGVudC5oOiBVcGRhdGUgc3lzY2FsbHMuCisJQmFzZWQgb24gd29yayBieSBLeWxlIE1jTWFydGluIGFuZCBIZWxnZSBEZWxsZXIuCisKKwlGaXggU0FfSEFORExFUiBmdW5jdGlvbiBwb2ludGVyIGNvbXBhcmlzb25zIGZvciBocHBhCisJKiBzaWduYWwuYyAoc3lzX3NpZ2FjdGlvbik6IENhc3QgU0FfSEFORExFUiBmdW5jdGlvbiBwb2ludGVycyB0byBsb25nLgorCShzeXNfcnRfc2lnYWN0aW9uKTogTGlrZXdpc2UuCisKKzIwMDktMTAtMDUgIEVkZ2FyIEUuIElnbGVzaWFzICA8ZWRnYXIuaWdsZXNpYXNAZ21haWwuY29tPgorCisJQ1JJUzogQ29ycmVjdCBmaXJzdCBhcmd1bWVudCB0byB1cGVlaygpCisJVGhpcyBjb21wbGVtZW50cyBjb21taXQgZWEwZTZlODAyNjBkMmIxYjdhZDQwMjgyMDEyYjBlNDc4NjliY2RkZi4KKwkqIHN5c2NhbGwuYyBbQ1JJU1YxMCB8fCBDUklTVjMyXSAoc3lzY2FsbF9maXh1cCwgc3lzY2FsbF9lbnRlcik6IFBhc3MKKwl0Y3AgcG9pbnRlciBpbnN0ZWFkIG9mIHBpZCB0byB1cGVlaygpLgorCSogdXRpbC5jIFtDUklTVjEwIHx8IENSSVNWMzJdIChwcmludGNhbGwpOiBMaWtld2lzZS4KKworMjAwOS0xMC0wNSAgRG1pdHJ5IFYuIExldmluICA8bGR2QGFsdGxpbnV4Lm9yZz4KKworCSogc2lnbmFsLmMgKGRvX3NpZ25hbGZkKTogRml4IHR5cG8gaW4gb3V0cHV0IGZvcm1hdC4KKworMjAwOS0wOS0yMSAgRG1pdHJ5IFYuIExldmluICA8bGR2QGFsdGxpbnV4Lm9yZz4KKworCSogTWFrZWZpbGUuYW0gKGdlbl9jaGFuZ2Vsb2dfc3RhcnRfZGF0ZSk6IEZpeCBkYXRlLgorCisyMDA5LTA5LTE5ICBEbWl0cnkgVi4gTGV2aW4gIDxsZHZAYWx0bGludXgub3JnPgorCisJUHJlcGFyZSBmb3IgNC41LjE5IHJlbGVhc2UKKwkqIE5FV1M6IFVwZGF0ZSBmb3IgNC41LjE5IHJlbGVhc2UuCisJKiBjb25maWd1cmUuYWM6IFZlcnNpb24gNC41LjE5LgorCSogZGViaWFuL2NoYW5nZWxvZzogNC41LjE5LTEuCisJKiBzdHJhY2Uuc3BlYzogNC41LjE5LTEuCisKKwlVcGRhdGUgZGViaWFuLyogdG8gNC41LjE4LTEKKwkqIGRlYmlhbi9jaGFuZ2Vsb2c6IFVwZGF0ZSB0byA0LjUuMTgtMS4KKwkqIGRlYmlhbi9jb21wYXQ6IFNldCBjb21wYXRpYmlsaXR5IGxldmVsIHRvIDcuCisJKiBkZWJpYW4vY29udHJvbCAoQnVpbGQtRGVwZW5kcyk6IFVwZGF0ZSBkZWJoZWxwZXIgcmVxdWlyZW1lbnQuCisJKHN0cmFjZSwgc3RyYWNlNjQpOiBBZGQgU2VjdGlvbiBhbmQgUHJpb3JpdHkgdGFncy4KKworMjAwOS0wOS0xOSAgS2lyaWxsIEEuIFNodXRlbW92ICA8a2lyaWxsQHNodXRlbW92Lm5hbWU+CisKKwlGaXggZmFkdmlzZTY0IGRlY29kaW5nIG9uIEFSTQorCSogZmlsZS5jIChzeXNfZmFkdmlzZTY0XzY0KSBbQVJNXTogRml4IGFyZ3VtZW50IG9yZGVyaW5nLgorCisyMDA5LTA5LTE4ICBEbWl0cnkgVi4gTGV2aW4gIDxsZHZAYWx0bGludXgub3JnPgorCisJRml4IGZvbGxvdyBmb3JrL3Zmb3JrIG9uIExpbnV4IEFSTSBPQUJJCisJX19OUl9TWVNDQUxMX0JBU0UgZWlzIDAgZm9yIEVBQkkgYW5kIGlzIDB4OTAwMDAwIGZvciBPQUJJLgorCSogcHJvY2VzcyAoY2hhbmdlX3N5c2NhbGwpIFtMSU5VWCAmJiBBUk1dOiBNYXNrIG9mZiB0aGUgaGlnaCBvcmRlciBiaXRzCisJd2hlbiBjaGFuZ2luZyBzeXNjYWxsLgorCisJUmV2aWV3ZWQtYnk6IEtpcmlsbCBBLiBTaHV0ZW1vdiA8a2lyaWxsQHNodXRlbW92Lm5hbWU+CisKKzIwMDktMDktMTggIE1pa2UgRnJ5c2luZ2VyICA8dmFwaWVyQGdlbnRvby5vcmc+CisKKwlNYXJrIHNoZWxsIHNjcmlwdHMgYXMgZXhlY3V0YWJsZQorCisJSWdub3JlIGlvY3Rsc29ydCBoZWxwZXIgcHJvZ3JhbQorCSogLmdpdGlnbm9yZTogQWRkIGlvY3Rsc29ydC4KKworCWxpbnV4L2Vycm5vOiBBZGQgRVJGS0lMTAorCSogbGludXgvZXJybm9lbnQuaDogQ2hhbmdlIEVSUk5PXzEzMiB0byBFUkZLSUxMIGFjY29yZGluZyB0byBlcnJubyAxMzIKKwlkZWZpbml0aW9uIGludHJvZHVjZWQgaW4gTGludXggMi42LjMxLgorCisyMDA5LTA5LTAxICBQYW9sbyBCb256aW5pICA8cGJvbnppbmlAcmVkaGF0LmNvbT4KKworCUFkZCBhY2NlcHQ0IHNvY2tldGNhbGwKKwlUaGlzIHNlY29uZCBwYXRjaCBpbiB0aGUgc2VyaWVzIGFkZHMgc3VwcG9ydCBmb3IgYWNjZXB0NCBhcyBhIHNvY2tldGNhbGwKKwlzdWItY2FsbC4gIEJlc2lkZXMgdGhlIG5lZWQgdG8gcmVudW1iZXIgYWxsIHN5c3RlbSBjYWxscywgdGhpcyBwb3NlcworCW5vIHByb2JsZW0uCisJVGVzdGVkIG9uIGk2ODYuCisKKwkqIGxpbnV4L2FybS9zeXNjYWxsZW50Lmg6IEFkZCBhY2NlcHQ0IHNvY2tldGNhbGwuCisJKiBsaW51eC9tNjhrL3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9wb3dlcnBjL3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9zMzkwL3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9zMzkweC9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCSogbGludXgvc2gvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKwkqIGxpbnV4L3NoNjQvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKwkqIGxpbnV4L3NwYXJjL3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCisJKiBsaW51eC9zcGFyYy9zeXNjYWxsLmggKFNZU19zdWJfYWNjZXB0NCk6IERlY2xhcmUuCisJKFNZU19zb2NrZXRfbnN1YmNhbGxzKTogVXBkYXRlLgorCSogbGludXgvc3lzY2FsbC5oOiBMaWtld2lzZS4KKworCVJlcGxhY2UgeDg2LTY0IHBhY2NlcHQgd2l0aCBhY2NlcHQ0CisJVGhpcyBwYXRjaCBjaGFuZ2VzIHRoZSBwYWNjZXB0IHN5c2NhbGwgdG8gYWNjZXB0NCBmb3IgeDg2LTY0LCBzaW5jZQorCXRoZSBmb3JtZXIgd2FzIGRyb3BwZWQgaW4gTGludXgga2VybmVsIGNvbW1pdCB2Mi42LjI3LXJjNy0xNC1nMmQ0YzgyNi4KKwlBdCB0aGUgc2FtZSB0aW1lLCBpdCBhZGRzIHN1cHBvcnQgZm9yIHByZXR0eSBwcmludGluZyBpdHMgYXJndW1lbnRzLgorCisJKiBsaW51eC94ODZfNjQvc3lzY2FsbGVudC5oOiBSZXBsYWNlIHBhY2NlcHQgd2l0aCBhY2NlcHQ0LAorCWhvb2sgaW4gc3lzX2FjY2VwdDQuCisJKiBuZXQuYyAoc3lzX2FjY2VwdCk6IExlYXZlIGEgc21hbGwgc3R1YiBjYWxsaW5nIHRoZSBuZXcuLi4KKwkoZG9fYWNjZXB0KTogLi4uIGZ1bmN0aW9uLCB3aGljaCBhbHNvIGFkZHMgYSBmbGFnc19hcmcgYXJndW1lbnQuCisJKHN5c19hY2NlcHQ0KTogTmV3LgorCisyMDA5LTA4LTI4ICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkByZWRoYXQuY29tPgorCisJWmVyby1leHRlbmQgMzItYml0IGFkZHJlc3NlcyB3aGVuIHByaW50aW5nIGFyZ3YgYXJyYXkuCisJKHByaW50YXJndik6IFplcm8tZXh0ZW5kIDMyLWJpdCBhZGRyZXNzZXMuCisJRml4ZXMgUkgjNTE5NDgwICI2NC1iaXQgc3RyYWNlIGlzIGxhenkgb24gZXhlY3ZlIG9mIDMyLWJpdAorCXByb2Nlc3MiLgorCisyMDA5LTA4LTEyICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkByZWRoYXQuY29tPgorCisJQWRkIG1vcmUgZnV0ZXggZGVjb2RpbmcuCisJKiBwcm9jZXNzLmMgKEZVVEVYX1dBSVRfUkVRVUVVRV9QSSwgRlVURVhfQ01QX1JFUVVFVUVfUEkpCisJKEZVVEVYX1BSSVZBVEVfRkxBRywgRlVURVhfQ0xPQ0tfUkVBTFRJTUUpOiBEZWZpbmUuCisJKGZ1dGV4b3BzKTogQWRkIGVudHJpZXMgZm9yIHRoZW0uCisJKHN5c19mdXRleCk6IERlY29kZSBGVVRFWF9DTVBfUkVRVUVVRV9QSSBhbmQKKwlGVVRFWF9XQUlUX1JFUVVFVUVfUEkuCisKKzIwMDktMDctMDggIERtaXRyeSBWLiBMZXZpbiAgPGxkdkBhbHRsaW51eC5vcmc+CisKKwlHZW5lcmF0ZSBDaGFuZ2VMb2cgZnJvbSBnaXQgbG9nCisJKiAuZ2l0aWdub3JlOiBBZGQgQ2hhbmdlTG9nCisJKiBDaGFuZ2VMb2c6IFJlbmFtZSB0byBDaGFuZ2VMb2ctQ1ZTLgorCSogTWFrZWZpbGUuYW0gKGdlbi1jaGFuZ2Vsb2cpOiBOZXcgcnVsZS4KKwkoZGlzdC1ob29rKTogRGVwZW5kIG9uIGl0LgorCShFWFRSQV9ESVNUKTogQWRkIENoYW5nZUxvZy1DVlMuCisJKiBSRUFETUUtaGFja2luZzogRGVzY3JpYmUgY2hhbmdlcy4KKwkqIGdpdGxvZy10by1jaGFuZ2Vsb2c6IEltcG9ydCBmcm9tIGdudWxpYi4KKworCitTZWUgQ2hhbmdlTG9nLUNWUyBmb3Igb2xkZXIgY2hhbmdlcy4KZGlmZiAtLWdpdCBhL3N0cmFjZS00LjUuMjAvQ2hhbmdlTG9nLUNWUyBiL3N0cmFjZS00LjUuMjAvQ2hhbmdlTG9nLUNWUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNTI2MmFkCi0tLSAvZGV2L251bGwKKysrIGIvc3RyYWNlLTQuNS4yMC9DaGFuZ2VMb2ctQ1ZTCkBAIC0wLDAgKzEsNTYxNCBAQAorMjAwOS0wNy0wOCAgRG1pdHJ5IFYuIExldmluICA8bGR2QGFsdGxpbnV4Lm9yZz4KKworCUNsZWFuIHVwIHNwYWNpbmcgdG8gZml4IHdhcm5pbmdzIHJlcG9ydGVkIGJ5IGdpdCBkaWZmIC0tY2hlY2suCisJKiBDaGFuZ2VMb2c6IEZpeCBzcGFjZXMgYmVmb3JlIHRhYiBpbiBpbmRlbnQuCisJKiBiam0uYzogTGlrZXdpc2UuCisJKiBkZWJpYW4vY2hhbmdlbG9nOiBMaWtld2lzZS4KKwkqIHN0cmFjZS1ncmFwaDogTGlrZXdpc2UuCisJKiBzeXNjYWxsLmM6IExpa2V3aXNlLgorCSogSU5TVEFMTDogRml4IHRyYWlsaW5nIGJsYW5rIGxpbmVzLgorCSogUkVBRE1FLWxpbnV4OiBMaWtld2lzZS4KKwkqIFJFQURNRS1zdnI0OiBMaWtld2lzZS4KKwkqIGxpbnV4L3NwYXJjL2dlbi5wbDogTGlrZXdpc2UuCisJKiBsaW51eC9zcGFyYy9zeXNjYWxsMS5oOiBMaWtld2lzZS4KKwkqIGxpbnV4L3NwYXJjNjQvc3lzY2FsbDEuaDogTGlrZXdpc2UuCisJKiBsaW51eC94ODZfNjQvZ2VudGFiLnBsOiBMaWtld2lzZS4KKwkqIHN1bm9zNC9zeXNjYWxsLmg6IExpa2V3aXNlLgorCSogdGVzdC9NYWtlZmlsZTogTGlrZXdpc2UuCisJKiBkZWJpYW4vcnVsZXM6IEZpeCB0cmFpbGluZyB3aGl0ZXNwYWNlcy4KKwkqIGRlc2MuYzogTGlrZXdpc2UuCisJKiBzdnI0L3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiB0ZXN0L2NoaWxkdGhyZWFkLmM6IExpa2V3aXNlLgorCSogdGVzdC9sZWFkZXJraWxsLmM6IExpa2V3aXNlLgorCisyMDA5LTA3LTA3ICBEbWl0cnkgVi4gTGV2aW4gIDxsZHZAYWx0bGludXgub3JnPgorCisJKiAuY3ZzaWdub3JlOiBSZW1vdmUuCisJKiBSRUFETUUtQ1ZTOiBSZW5hbWUgdG8gUkVBRE1FLWhhY2tpbmcuCisJKiBNYWtlZmlsZS5hbSAoRVhUUkFfRElTVCk6IFJlbW92ZSBSRUFETUUtQ1ZTLgorCisyMDA5LTA2LTAxICBEbWl0cnkgVi4gTGV2aW4gIDxsZHZAYWx0bGludXgub3JnPgorCisJKiBiam0uYyAoc3lzX3F1ZXJ5X21vZHVsZSk6IEZpeCBmb3JtYXQgd2FybmluZyByZXBvcnRlZCBieQorCWdjYyAtV2Zvcm1hdC1zZWN1cml0eS4KKwkqIGZpbGUuYyAodHByaW50X29wZW5fbW9kZXMpOiBMaWtld2lzZS4KKwkqIHByb2Nlc3MuYyAocHJpbnRhcmd2KTogTGlrZXdpc2UuCisJKiBzaWduYWwuYyAocHJpbnRzaWduYWwpOiBMaWtld2lzZS4KKworCUNsZWFuIHVwIGhlYWRlciBjaGVja3MuCisJKiBjb25maWd1cmUuYWM6IFJlZm9ybWF0IEFDX0NIRUNLX0hFQURFUlMgdG8ga2VlcCBpdCBzb3J0ZWQgYW5kCisJZWFzaWx5IHVwZGF0ZWQsIGFuZCByZWR1Y2UgbWVyZ2luZyBlcnJvcnMgaW4gdGhlIGZ1dHVyZS4KKwkqIHN5c3RlbS5jOiBDb252ZXJ0IGFsbCBub24tc3RhbmRhcmQgI2lmZGVmIGNoZWNrcyBmb3Igc3BlY2lmaWMKKwloZWFkZXJzIHRvIHJlZ3VsYXIgI2lmZGVmIEhBVkVfKl9IIGNoZWNrcy4KKwlTaWduZWQtb2ZmLWJ5OiBNaWtlIEZyeXNpbmdlciA8dmFwaWVyQGdlbnRvby5vcmc+CisKKzIwMDktMDQtMjAgIERlbnlzIFZsYXNlbmtvICA8ZHZsYXNlbmtAcmVkaGF0LmNvbT4KKworCSogZmlsZS5jIChwcmludHN0YXRzb2wsIHByaW50c3RhdF9zcGFyYzY0KToKKwlSZW1vdmUgTlVMTC9lcnJvciBjaGVjayBmb3IgYWRkciBwYXJhbWV0ZXIuCisJKHByaW50b2xkc3RhdCwgcHJpbnRzdGF0LCBwcmludG9sZHN0YXQ2NCk6CisJTW92ZSBOVUxML2Vycm9yIGNoZWNrIGZvciBhZGRyIHBhcmFtZXRlcgorCXNvIHRoYXQgaXQgaGFwcGVucyBiZWZvcmUgcHJpbnRzdGF0c29sL3ByaW50c3RhdF9zcGFyYzY0IGNhbGxzLgorCisyMDA5LTA0LTE2ICBEZW55cyBWbGFzZW5rbyAgPGR2bGFzZW5rQHJlZGhhdC5jb20+CisKKwkqIGZpbGUuYyAocHJpbnRfZGlyZmQpOiBVc2UgaW50IGZvciBmaWxlIGRlc2NyaXB0b3IsIG5vdCBhIGxvbmcuCisJKiBwcm9jZXNzLmMgKHByaW50d2FpdG4pOiBVc2UgaW50IGZvciBQSUQsIG5vdCBhIGxvbmcuCisKKzIwMDktMDQtMTUgIERlbnlzIFZsYXNlbmtvICA8ZHZsYXNlbmtAcmVkaGF0LmNvbT4KKworCSogc2lnbmFsIChzeXNfcnRfc2lndGltZWR3YWl0KTogRml4IHNpZ3RpbWVkd2FpdCBzeXNjYWxsIGRlY29kaW5nLgorCisyMDA5LTA0LTE1ICBEZW55cyBWbGFzZW5rbyAgPGR2bGFzZW5rQHJlZGhhdC5jb20+CisKKwkqIHNpZ25hbCAoc3lzX3J0X3NpZ2FjdGlvbik6IFByaW50IHN0cnVjdCBzaWdhY3Rpb24gY29ycmVjdGx5CisJaW4gMzIvNjQgZW52aXJvbm1lbnQuCisJKiBkZXNjLmMgKHByaW50ZmxvY2spOiBBZGQgI2lmZGVmcyBhcm91bmQgZWFybGllciBmbG9jayAzMi82NCBmaXgKKwlzbyB0aGF0IHdlIGRvbid0IHdhc3RlIHRpbWUgb24gYXJjaGVzIHdpdGggb25lIHBlcnNvbmFsaXR5LgorCisyMDA5LTA0LTE0ICBEZW55cyBWbGFzZW5rbyAgPGR2bGFzZW5rQHJlZGhhdC5jb20+CisKKwkqIHNpZ25hbC5jOiBXaGl0ZXNwYWNlLCBjb21tZW50LCBhbmQgc3R5bGUgZml4ZXMsIG5vIGNvZGUgY2hhbmdlcy4KKwkqIGZpbGUuYzogRGl0dG8uCisJKiB0aW1lLmM6IERpdHRvLgorCSogcHJvY2Vzcy5jOiBEaXR0by4KKwkqIHJlc291cmNlLmM6IERpdHRvLgorCisyMDA5LTAzLTIzICBEZW55cyBWbGFzZW5rbyAgPGR2bGFzZW5rQHJlZGhhdC5jb20+CisKKwkqIHN5c3RlbS5jIChzcmFtX2FsbG9jX2ZsYWcpOiBBZGQgTDJfU1JBTSBjb25zdGFudC4KKwlieSBNaWtlIEZyeXNpbmdlciAodmFwaWVyIEFUIGdlbnRvby5vcmcpLgorCShzeXNfc3JhbV9hbGxvYyk6IEZpeCBpbXByb3Blcmx5IHVzZWQgJXp1OgorCXRjcC0+dV9hcmcgaXMgbm90IGEgc2l6ZV90LCBpdCBpcyBhIGxvbmcuCisJKiBuZXQuYyAocHJpbnRjbXNnaGRyKTogRml4IGltcHJvcGVybHkgdXNlZCAlenU6CisJc3RydWN0IGNtc2doZHI6OmNtc2dfbGVuIGlzIG5vdCBhIHNpemVfdC4KKworMjAwOS0wMy0xMCAgRGVueXMgVmxhc2Vua28gIDxkdmxhc2Vua0ByZWRoYXQuY29tPgorCisJRGVjb2RlIGZjbnRsJ3MgRl97R0VULFNFVH1MRUFTRSwgRl9OT1RJRlksIGFuZCBGX0RVUEZEX0NMT0VYRUMuCisJQnkgTWlrZSBGcnlzaW5nZXIgKHZhcGllciBBVCBnZW50b28ub3JnKQorCSogZGVzYy5jOiBBZGQgRl9TRVRMRUFTRSwgRl9HRVRMRUFTRSwgRl9OT1RJRlksCisJRl9EVVBGRF9DTE9FWEVDIHRvIGZjbnRsY21kc1tdLiBDcmVhdGUgbm90aWZ5ZmxhZ3NbXSBhcnJheS4KKwkoc3lzX2ZjbnRsKTogSGFuZGxlIG5ldyBmbGFncy4KKworCU9wdGltaXplIHByaW50aW5nIG9mIG9wZW4gbW9kZXMuCisJKiBkZWZzLmg6IERlY2xhcmUgc3ByaW50X29wZW5fbW9kZXMoKSwKKwlyZW1vdmUgdW51c2VkIHBhcmFtZXRlciBpbiB0cHJpbnRfb3Blbl9tb2RlcygpLgorCSogZGVzYy5jIChzcHJpbnRfb3Blbl9tb2Rlcyk6IE1vdmUgZnVjdGlvbiBkZWZpbml0aW9uIGZyb20gaGVyZS4uLgorCSogZmlsZS5jIChzcHJpbnRfb3Blbl9tb2Rlcyk6IFRvIGhlcmUuCisJKHRwcmludF9vcGVuX21vZGVzKTogVXNlIHNwcmludF9vcGVuX21vZGVzKCksIGl0IGFscmVhZHkKKwlnZW5lcmF0ZXMgbmVlZGVkIHN0cmluZy4KKwkqIGlwYy5jOiBSZW1vdmUgdW51c2VkIHBhcmFtZXRlciBmcm9tIGNhbGxzCisJdG8gdHByaW50X29wZW5fbW9kZXMoKS4KKworMjAwOS0wMi0yNyAgRGVueXMgVmxhc2Vua28gIDxkdmxhc2Vua0ByZWRoYXQuY29tPgorCisJQVZSMzIgc3VwcG9ydCBieSBIYW5zLUNocmlzdGlhbiBFZ3R2ZWR0CisJKGhhbnMtY2hyaXN0aWFuLmVndHZlZHQgQVQgYXRtZWwuY29tKS4KKwkqIGNvbmZpZ3VyZS5hYzogTWFrZSBpdCByZWNvZ25pemUgYXZyMzIuCisJKiBkZWZzLmg6IERlZmluZSBMSU5VWF9BVlIzMi4KKwkqIGxpbnV4L2F2cjMyL3N5c2NhbGxlbnQuaDogTmV3IGZpbGUuCisJKiBNYWtlZmlsZS5hbTogUmVmZXJlbmNlIGxpbnV4L2F2cjMyL3N5c2NhbGxlbnQuaC4KKwkqIHByb2MuYyAoY2hhbmdlX3N5c2NhbGwsIHNldGFyZyk6IEFkZCBzdXBwb3J0IGZvciBhdnIzMi4KKwkoc3RydWN0IHhsYXQgc3RydWN0X3VzZXJfb2Zmc2V0c1tdKTogRGl0dG8uCisJKiBzeXNjYWxsLmMgKGdldF9zY25vKTogRGl0dG8uCisJKGdldF9lcnJvciwgZm9yY2VfcmVzdWx0LCBzeXNjYWxsX2VudGVyKTogRGl0dG8uCisJKiB1dGlsLmMgKGdldHBjLCBwcmludGNhbGwpOiBEaXR0by4KKworMjAwOS0wMi0yNSAgRGVueXMgVmxhc2Vua28gIDxkdmxhc2Vua0ByZWRoYXQuY29tPgorCisJQ1JJUyBzdXBwb3J0IGJ5IEhpbmtvIEtvY2V2YXIgKGhpbmtvLmtvY2V2YXIgQVQgY2V0cnRhcG90LnNpKQorCSogY29uZmlndXJlLmFjOiBNYWtlIGl0IHJlY29nbml6ZSBjcmlzLgorCSogcHJvY2Vzcy5jOiBEZWZpbmUgQVJHX3h4eCBjb25zdGFudHMgZm9yIGNyaXMuCisJKGNoYW5nZV9zeXNjYWxsKTogQWRkIHN1cHBvcnQgZm9yIGNyaXMuCisJKHN0cnVjdF91c2VyX29mZnNldHMpOiBBZGQgY3Jpcy1zcGVjaWZpYyBkYXRhLgorCSogc2lnbmFsLmMgKHN5c19zaWdyZXR1cm4pOiBBZGQgc3VwcG9ydCBmb3IgY3Jpcy4KKwkqIHN5c2NhbGwuYyAoZ2V0X3Njbm8pOiBBZGQgc3VwcG9ydCBmb3IgY3Jpcy4KKwkoc3lzY2FsbF9maXh1cCk6IEFkZCBzdXBwb3J0IGZvciBjcmlzLgorCShnZXRfZXJyb3IpOiBBZGQgc3VwcG9ydCBmb3IgY3Jpcy4KKwkoc3lzY2FsbF9lbnRlcik6IEFkZCBzdXBwb3J0IGZvciBjcmlzLgorCShmb3JjZV9yZXN1bHQpOiBXaGlsZSBhdCBpdCwgZml4IGNwcCBkaXJlY3RpdmVzIGluZGVudGF0aW9uLgorCSogdXRpbC5jIChwcmludGNhbGwpOiBBZGQgc3VwcG9ydCBmb3IgY3Jpcy4KKworMjAwOS0wMi0yNCAgRGVueXMgVmxhc2Vua28gIDxkdmxhc2Vua0ByZWRoYXQuY29tPgorCisJKiBwcm9jZXNzLmM6IEluZGVudCBwcmVwcm9jZXNzb3IgZGlyZWN0aXZlcyBzbyB0aGF0IG5lc3RpbmcKKwljYW4gYmUgZmlndXJlZCBvdXQuIEFkZCBQVFJBQ0VfU0VUX1NZU0NBTEwgdG8gcHRyYWNlX2NtZHNbXS4KKwkqIGlvY3RsZW50LnNoOiBJbXByb3ZlZCBieSBNaWtlIEZyeXNpbmdlci4KKwkqIEhBQ0tJTkctc2NyaXB0czogTmV3IGZpbGUgYnkgTWlrZSBGcnlzaW5nZXIuCisKKzIwMDktMDItMjAgIERlbnlzIFZsYXNlbmtvICA8ZHZsYXNlbmtAcmVkaGF0LmNvbT4KKworCUZ1cnRoZXIgc2lnbmFsZW50LmggY2xlYW51cC4KKwkqIGxpbnV4L2lhNjQvc2lnbmFsZW50Lmg6IFJlbW92ZSwgaXQgaXMgaWRlbnRpY2FsIHRvIGNvbW1vbiBzaWduYWxlbnQuaAorCXNhbnMgIlNJR1JUbm4iIGRlZmluaXRpb25zIHdoaWNoIGFyZSByZWR1bmRhbnQuCisJKiBsaW51eC9wb3dlcnBjL3NpZ25hbGVudC5oOiBSZW1vdmUsIGl0IGlzIGlkZW50aWNhbCB0byBjb21tb24gc2lnbmFsZW50LmgKKwlzYW5zIG91dGRhdGVkICJTSUdVTlVTRUQiIHdoaWNoIHNob3VsZCBiZSAiU0lHU1lTIi4KKwkqIGxpbnV4L3MzOTAvc2lnbmFsZW50Lmg6IERpdHRvLgorCSogbGludXgvczM5MHgvc2lnbmFsZW50Lmg6IERpdHRvLgorCSogTWFrZWZpbGUuYW06IFJlbW92ZSByZWZlcmVuY2VzIHRvIHRoZSBhYm92ZSBmaWxlcy4KKworMjAwOS0wMi0yMCAgRGVueXMgVmxhc2Vua28gIDxkdmxhc2Vua0ByZWRoYXQuY29tPgorCisJUGF0Y2ggYnkgTWlrZSBGcnlzaW5nZXIgKHZhcGllciBBVCBnZW50b28ub3JnKS4KKwkqIGxpbnV4L2lvY3RsZW50LnNoOiBVcGRhdGUgc2VkIG1hY2hpbmVyeSB0byBwYXJzZSBfSU9DKCkgbWFjcm9zCisJd2l0aCB0d28gY29uc3RhbnRzLgorCisyMDA5LTAyLTIwICBEZW55cyBWbGFzZW5rbyAgPGR2bGFzZW5rQHJlZGhhdC5jb20+CisKKwlQYXRjaCBieSBNaWtlIEZyeXNpbmdlciAodmFwaWVyIEFUIGdlbnRvby5vcmcpLgorCSogTWFrZWZpbGUuYW06IFJlbW92ZSByZWZlcmVuY2UgdG8gbGludXgvc2gvc2lnbmFsZW50LmguCisJKiBsaW51eC9zaC9zaWduYWxlbnQuaDogUmVtb3ZlLCBpdCBpcyBpZGVudGljYWwgdG8gY29tbW9uIHNpZ25hbGVudC5oLgorCisyMDA5LTAyLTIwICBEZW55cyBWbGFzZW5rbyAgPGR2bGFzZW5rQHJlZGhhdC5jb20+CisKKwlQYXRjaCBieSBNaWtlIEZyeXNpbmdlciAodmFwaWVyIEFUIGdlbnRvby5vcmcpLgorCSogbGludXgvZXJybm9lbnQuaDogTWFrZSBFUlJOT181OCBzaG93IEVERUFETE9DSyBmb3IgUE9XRVJQQy4KKwkqIE1ha2VmaWxlLmFtOiBSZW1vdmUgcmVmZXJlbmNlIHRvIGxpbnV4L3Bvd2VycGMvZXJybm9lbnQuaC4KKwkqIGxpbnV4L3Bvd2VycGMvZXJybm9lbnQuaDogUmVtb3ZlLCB3ZSBjYW4gdXNlIGNvbW1vbiBlcnJub2VudC5oIG5vdy4KKworMjAwOS0wMi0yMCAgRGVueXMgVmxhc2Vua28gIDxkdmxhc2Vua0ByZWRoYXQuY29tPgorCisJUGF0Y2ggYnkgTWlrZSBGcnlzaW5nZXIgKHZhcGllciBBVCBnZW50b28ub3JnKS4KKwlSZW1vdmluZyByZWR1bmRhbnQgZXJybm9lbnQuaCBmaWxlcy4KKwkqIE1ha2VmaWxlLmFtOiBSZW1vdmUgcmVmZXJlbmNlIHRvIGxpbnV4L2lhNjQvZXJybm9lbnQuaCwKKwlsaW51eC9zMzkwL2Vycm5vZW50LmgsIGxpbnV4L3MzOTB4L2Vycm5vZW50LmggYW5kIGxpbnV4L3NoL2Vycm5vZW50LmguCisJKiBsaW51eC9pYTY0L2Vycm5vZW50Lmg6IFJlbW92ZSwgdGhpcyBhcmNoIHVzZXMgY29tbW9uIGVycm5vZW50LmguCisJKiBsaW51eC9zMzkwL2Vycm5vZW50Lmg6IERpdHRvLgorCSogbGludXgvczM5MHgvZXJybm9lbnQuaDogRGl0dG8uCisJKiBsaW51eC9zaC9lcnJub2VudC5oOiBEaXR0by4KKworMjAwOS0wMi0xMCAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KKworCSogY29uZmlndXJlLmFjOiBDaGVjayBmb3Igc3RydWN0IHNpZ2NvbnRleHQuCisJKiBzaWduYWwuYyBbTElOVVhdIFtNNjhLXSAoc3RydWN0IHNpZ2NvbnRleHQpOiBEb24ndCBkZWZpbmUgaXQgaWYKKwlbSEFWRV9TVFJVQ1RfU0lHQ09OVEVYVF0uCisJRnJvbSBNdXR0bGV5IE1lZW4gPG11dHRsZXkubWVlbkBnbWFpbC5jb20+LgorCisyMDA5LTAyLTA5ICBEZW55cyBWbGFzZW5rbyAgPGR2bGFzZW5rQHJlZGhhdC5jb20+CisKKwkqIGRlZnMuaDogQ29ycmVjdCB0aGUgY29tbWVudCBhYm91dCBUQ0JfU1VTUEVOREVELgorCSogc3RyYWNlLmM6IEZpeCBtaXNwbGFjZWQgI2VuZGlmLgorCSogdXRpbC5jOiBJbmRlbnQgcHJlcHJvY2Vzc29yIGRpcmVjdGl2ZXMsIG1hcmsgY29kZSBwYXJ0cworCXdoaWNoIGNhbiBuZXZlciBiZSByZWFjaGVkIGJ5IGNvbXBpbGF0aW9uIGJlY2F1c2Ugb2YKKwl0aGUgY29tYmluYXRpb24gb2YgI2lmIGRpcmVjdGl2ZXMuIFRoZXNlIGFyZSBsaWtlbHkgZGVhZCBjb2RlLAorCUkgd2FudCB0byByZW1vdmUgdGhlbSBsYXRlci4KKworMjAwOS0wMS0yOSAgRGVueXMgVmxhc2Vua28gIDxkdmxhc2Vua0ByZWRoYXQuY29tPgorCisJKiBzdHJhY2UuYyAobmV3b3V0Zik6IFByZXZlbnQgLW8gRklMRU5BTUUgb3ZlcmZsb3dpbmcgdGhlIHN0YWNrLgorCShzdGFydHVwX2F0dGFjaCk6IEZpeCB3cm9uZyBwaWQgaW4gIlByb2Nlc3MgPFBJRD4gYXR0YWNoZWQiLgorCShoYW5kbGVfZ3JvdXBfZXhpdCk6IERvIG5vdCBjb25zaWRlciBleGl0IHRvIGJlIHNwdXJpb3VzIGlmCisJdGNiIGhhcyBUQ0JfU1RBUlRVUCBiaXQgc2V0IC0gd2UgY2FuIGF0dGFjaCB0byB0aGUgdGFzaworCXJpZ2h0IGJlZm9yZSBpdHMgZGVhdGgsIGl0IGNhbiBsZWdpdGltYXRlbHkgaGFwcGVuLgorCShoYW5kbGVfc3RvcHBlZF90Y2JzKTogRGl0dG8uCisKKzIwMDktMDEtMjYgIERlbnlzIFZsYXNlbmtvICA8ZHZsYXNlbmtAcmVkaGF0LmNvbT4KKworCSogcHJvY2Vzcy5jIChwcmludHdhaXRuKTogQWRkIGNvbW1lbnQgYWJvdXQgd2FpdDQoKSBwaWQgZXhwYW5zaW9uLgorCVVzZSAjaWZkZWYgQUxQSEEgaW5zdGVhZCBvZiBMSU5VWF82NEJJVCwgaXQgd2FzIG1pc2xlYWRpbmcKKwkoYnkgaW1wbHlpbmcgImFueSA2NC1iaXQgcGxhdGZvcm0iKS4KKwkqIGRlZnMuaDogUmVtb3ZlIG5vdy11bnVzZWQgTElOVVhfNjRCSVQgZGVmaW5lLgorCSogcmVzb3VyY2UuYyAoc3lzX29zZl9nZXRydXNhZ2UpOiBGaXggaW5kZW50YXRpb24uCisKKzIwMDktMDEtMjYgIERlbnlzIFZsYXNlbmtvICA8ZHZsYXNlbmtAcmVkaGF0LmNvbT4KKworCSogcHJvY2Vzcy5jIChpbnRlcm5hbF9jbG9uZSk6IEZpeCBmYWxsb3V0IGZyb20gdGNiIHRhYmxlIGV4cGFuc2lvbgorCXNpbXBsaWZpY2F0aW9uLiBEdWUgdG8gb3Zlcmxvb2tlZCBlbHNlLCBJIGZvcmdvdCB0byBncm91cAorCWZvcmtfdGNiKHRjcCkgYW5kIGFsbG9jdGNiKHBpZCkgaW4gYSBibG9jay4KKworMjAwOS0wMS0yMyAgTWljaGFsIE5vd2FrICA8bW5vd2FrQHJlZGhhdC5jb20+CisKKwkqIHN5c2NhbGwuYyAoZ2V0X3Njbm8pOiBGaXggd2FybmluZ3MgYWJvdXQgdW51c2VkIHZhcmlhYmxlICdwaWQnLgorCisyMDA5LTAxLTIzICBNaWNoYWwgTm93YWsgIDxtbm93YWtAcmVkaGF0LmNvbT4KKworCSogbWVtLmMgKHByaW50X2xkdF9lbnRyeSk6IEZpeCB3YXJuaW5nOgorCUZvcm1hdCAnJSMwOGx4JyBleHBlY3RzIHR5cGUgJ2xvbmcgdW5zaWduZWQgaW50JywgYnV0CisJYXJndW1lbnQgMiB3YXMgdHlwZSAndW5zaWduZWQgaW50Jy4KKworMjAwOS0wMS0xNyAgRGVueXMgVmxhc2Vua28gIDxkdmxhc2Vua0ByZWRoYXQuY29tPgorCisJVHdvIGNsZWFudXBzOiB0Y2IgdGFibGUgZXhwYW5zaW9uIGZhaWx1cmUgaXMgbm90IHJlYWxseSBhIHN1cnZpdmFibGUKKwlldmVudCwgd2UgZG8gbm90IGhhdmUgYW55IHZpYWJsZSB3YXkgdG8gY29udGludWUuIE5vIHdvbmRlciBtb3N0CisJcGxhY2VzIHdoZXJlIHRoYXQgaXMgZGV0ZWN0ZWQgaGF2ZSBGSVhNRXMuCisJSXQncyB3YXkgc2ltcGxlciB0byB0cmVhdCBhcyBmYXRhbCBmYWlsdXJlLCBhbmQgaGFuZGxlIGl0IGluc2lkZQorCXRjYiB0YWJsZSBleHBhbnNpb24gZmluY3Rpb25zLgorCVNlY29uZCBjbGVhbnVwOiB0aWR5IHVwIGhhcGhhemFyZCBsb2NhdGlvbnMgb2YgYSBmZXcgZXh0ZXJucy4KKworCSogZGVmcy5oOiBDaGFuZ2UgcmV0dXJuIHR5cGUgb2YgZXhwYW5kX3RjYnRhYigpIHRvIHZvaWQuCisJRGVjbGFyZSBjaGFuZ2Vfc3lzY2FsbCgpLgorCSogcHJvY2Vzcy5jOiBDaGFuZ2UgYWxsIGNhbGxzaXRlcyBvZiBhbGxvY3RjYigpLCBhbGxvY190Y2IoKSBhbmQKKwlmb3JrX3RjYigpLCByZW1vdmluZyBub3ctcmVkdW5kYW50IGVycm9yIGNoZWNrcy4KKwkoZm9ya190Y2IpOiBDaGFuZ2UgcmV0dXJuIHR5cGUgdG8gdm9pZCAtIGl0IGNhbid0IGZhaWwgbm93LgorCSogc3RyYWNlLmM6IE1vdmUgZXh0ZXJuIGRlY2xhcmF0aW9ucyBvdXQgb2YgZnVuY3Rpb24gYm9kaWVzLgorCUNoYW5nZSBhbGwgY2FsbHNpdGVzIG9mIGFsbG9jdGNiKCksIGFsbG9jX3RjYigpIGFuZAorCWZvcmtfdGNiKCksIHJlbW92aW5nIG5vdy1yZWR1bmRhbnQgZXJyb3IgY2hlY2tzLgorCShleHBhbmRfdGNidGFiKTogQ2hhbmdlIHJldHVybiB0eXBlIHRvIHZvaWQgLSBpdCBjYW4ndCBmYWlsIG5vdy4KKwlPbiBmYWlsdXJlIHRvIGV4cGFuZCwgcHJpbnQgYSBtZXNzYWdlLCBjbGVhbiB1cCwgYW5kIGV4aXQuCisJKGFsbG9jX3RjYik6IE9uIGZhaWx1cmUgdG8gZXhwYW5kLCBwcmludCBhIG1lc3NhZ2UsIGNsZWFuIHVwLCBhbmQgZXhpdC4KKwkqIHV0aWwuYyAoc2V0YnB0KTogUmVtb3ZlIGV4dGVybiBkZWNsYXJhdGlvbiBmcm9tIGZ1bmN0aW9uIGJvZHkuCisKKzIwMDktMDEtMTQgIERlbnlzIFZsYXNlbmtvICA8ZHZsYXNlbmtAcmVkaGF0LmNvbT4KKworCSogbGludXgvYmZpbi9zeXNjYWxsZW50Lmg6IHN5c19mdXRleCBoYXMgNiBwYXJhbWV0ZXJzLCBub3QgNS4KKworMjAwOS0wMS0xMyAgRGVueXMgVmxhc2Vua28gIDxkdmxhc2Vua0ByZWRoYXQuY29tPgorCisJRml4ZXMgZm9yIHB0cmFjZSgpIGFyZ3VtZW50IHBhcnNpbmcuCisJKiBwcm9jZXNzLmM6IEFkZCBwYXJzaW5nIG9mIFBUUkFDRV9TRVRPUFRJT05TLCBQVFJBQ0VfR0VURVZFTlRNU0csCisJUFRSQUNFX0dFVFNJR0lORk8sIFBUUkFDRV9TRVRTSUdJTkZPLgorCSogZGVmcy5oOiBEZWNsYXJlIHNldmVyYWwgImV4dGVybiBjb25zdCBzdHJ1Y3QgeGxhdCIgYXJyYXlzIGhlcmUuCisJKiBkZXNjLmM6IFJlbW92ZSBvcGVuX21vZGVfZmxhZ3NbXSBhbmQgb3Blbl9hY2Nlc3NfbW9kZXNbXQorCWV4dGVybiBkZWNsYXJhdGlvbnMuCisJKiBuZXQuYzogUmVtb3ZlIG9wZW5fbW9kZV9mbGFnc1tdIGV4dGVybiBkZWNsYXJhdGlvbi4KKwkqIHNvY2suYzogUmVtb3ZlIGFkZHJmYW1zW10gZXh0ZXJuIGRlY2xhcmF0aW9uLgorCSogdXRpbC5jOiBSZW1vdmUgc3RydWN0X3VzZXJfb2Zmc2V0c1tdIGV4dGVybiBkZWNsYXJhdGlvbi4KKwkqIHNpZ25hbC5jOiBSZW1vdmUgb3Blbl9tb2RlX2ZsYWdzW10gZXh0ZXJuIGRlY2xhcmF0aW9uLgorCisyMDA5LTAxLTA2ICBEZW55cyBWbGFzZW5rbyAgPGR2bGFzZW5rQHJlZGhhdC5jb20+CisKKwlPdXRwdXQgZm9ybWF0IGZpeGVzLCBpbXByb3ZpbmcgdGhlIHNpdHVhdGlvbiBhZnRlciByZWNlbnQKKwljaGFuZ2Ugd2hpY2ggYWRkZWQgYmVldGVyIGhhbmRsaW5nIG9mIHByb2Nlc3NlcyBzdWRkZW5seQorCWRpc2FwcGVhcmluZy4gTm93IHdlIG9mdGVuIGRvIG5vdCBmaW5pc2ggbGFzdCBsaW5lCisJYmVmb3JlIGV4aXRpbmcgaW4gdGhvc2UgY2FzZXMuCisJVGhlIG9ubHkgY2hhbmdlIGFmZmVjdGluZyBzb21ldGhpbmcgb3RoZXIgdGhhbiBvdXRwdXQKKwlpcyBjaGFuZ2UgaW4gdW1vdmVzdHIgd2hlcmUgd2Ugd2VyZSBjYWxsaW5nCisJYWJvcnQoKSBvbiBwdHJhY2UgZXJyb3IuCisKKwkqIHN0cmFjZS5jICh0cmFjZSk6IElmIHRyYWNlX3N5c2NhbGwoKSBmYWlsZWQgd2l0aCBFU1JDSCwKKwlmaW5pc2ggY3VycmVudCBvdXRwdXQgbGluZSB3aXRoICIgPHVuZmluaXNoZWQgLi4uPiIuCisJKG1wX2lvY3RsKTogV2hpbGUgd2UgYXJlIGF0IGl0LCBmaXggZ3Jvc3Mgc3R5bGUgbWlzbWF0Y2gKKwlpbiB0aGlzIGZ1bmN0aW9uIGRlZmluaXRpb24uIE5vIGNvZGUgY2hhZ2VzLgorCSogc3lzY2FsbC5jICh0cmFjZV9zeXNjYWxsKTogSWYgZGVjb2RlIGZhaWxzIG9uIHN5c2NhbGwgZXhpdCwKKwlmaW5pc2ggY3VycmVudCBvdXRwdXQgbGluZSB3aXRoICI9ID8gPHVuYXZhaWxhYmxlPiIuCisJKiB1dGlsLmMgKHVtb3Zlbik6IERvIG5vdCBjb21wbGFpbiBpZiBlcnJvciBpcyBFU1JDSC4KKwkodW1vdmVzdHIpOiBEbyBub3QgY29tcGxhaW4gYW5kIGRvIG5vdCBhYm9ydCgpIGlmIGVycm9yIGlzIEVTUkNILgorCSogZGVmcy5oOiBSZW1vdmUgdW51c2VkIHRjcCBwYXJhbWV0ZXIgZnJvbSBwcmludHRyYWlsZXIoKS4KKwkqIHByb2Nlc3MuYzogQWRqdXN0IHByaW50dHJhaWxlcigpIGNhbGxzIGFjY29yZGluZ2x5LgorCSogc3RyYWNlLmM6IEFkanVzdCBwcmludHRyYWlsZXIoKSBjYWxscyBhY2NvcmRpbmdseS4KKwkqIHN5c2NhbGwuYzogQWRqdXN0IHByaW50dHJhaWxlcigpIGNhbGxzIGFjY29yZGluZ2x5LgorCisyMDA5LTAxLTA2ICBEZW55cyBWbGFzZW5rbyAgPGR2bGFzZW5rQHJlZGhhdC5jb20+CisKKwkqIGRlc2MuYyAocHJpbnRmbG9jayk6IEZpeCBkaXNwbGF5IG9mIGZjbnRsKEZfU0VUTEspIG9uCisJbm9uLW5hdGl2ZSAzMi1iaXQgYXJjaGl0ZWN0dXJlLgorCUZpeGVzIFJIIzQ3MTE2OSAiZm9ybWF0IGZjbnRsNjQoKSBzeXN0ZW0gY2FsbHMgZm9yCisJMzIgYml0IGFwcGxpY2F0aW9uIGluY29ycmVjdCIuCisJKiBkZXNjLmM6IGNvbnN0J2lmeSB0d28gc3RhdGljIHN0cnVjdCB4bGF0IHZlY3RvcltdJ3MsCisJY29udmVydCBhbGwgcmVtYWluaW5nIG9sZCBzdHlsZSBDIHBhcmFtZXRlciBkZWNsYXJhdGlvbnMKKwlpbiB0aGlzIGZpbGUuCisKKzIwMDgtMTEtMTMgIEtpcmlsbCBBLiBTaHV0ZW1vdiAgPGtpcmlsbEBzaHV0ZW1vdi5uYW1lPgorCisJKiBsaW51eC9hcm0vc3lzY2FsbGVudC5oOiBVcGRhdGUgc3lzY2FsbHMuCisJQmFzZWQgb24gcGF0Y2ggYnkgRW5yaWNvIFNjaG9sei4KKworCSogbGludXgvYXJtL3N5c2NhbGxlbnQuaDogRml4IGJ1aWxkIG9uIEFSTSBFQUJJIHdoaWNoIGRvZXMgbm90CisJcHJvdmlkZSBzeXNjYWxscyBzb2NrZXRjYWxsIGFuZCBpcGMuCisKKzIwMDktMDEtMDEgIEFuZHJlYXMgU2Nod2FiICA8c2Nod2FiQHN1c2UuZGU+CisKKwkqIG5ldC5jIChzeXNfYWNjZXB0KTogUHJvcGVybHkgZGVjb2RlIHRoaXJkIGFyZ3VtZW50IGFzIHBvaW50ZXIgdG8KKwlpbnQuCisKKzIwMDgtMTItMzAgIERlbnlzIFZsYXNlbmtvICA8ZHZsYXNlbmtAcmVkaGF0LmNvbT4KKworCUV4cGVyaW1lbnRhbCBzdXBwb3J0IGZvciAtRCBvcHRpb24uCisJVW5saWtlIG5vcm1hbCBjYXNlLCB3aXRoIC1EICpncmFuZHBhcmVudCogcHJvY2VzcyBleGVjJ3MsCisJYmVjb21pbmcgYSB0cmFjZWQgcHJvY2Vzcy4gQ2hpbGQgZXhpdHMgKHRoaXMgcHJldmVudHMgdHJhY2VkIHByb2Nlc3MKKwlmcm9tIGhhdmluZyBjaGlsZHJlbiBpdCBkb2Vzbid0IGV4cGVjdCB0byBoYXZlKSwgYW5kIGdyYW5kY2hpbGQKKwlhdHRhY2hlcyB0byBncmFuZHBhcmVudCBzaW1pbGFybHkgdG8gc3RyYWNlIC1wIFBJRC4KKwlUaGlzIGFsbG93cyBmb3IgbW9yZSB0cmFuc3BhcmVudCBpbnRlcmFjdGlvbiBpbiBjYXNlcworCXdoZW4gcHJvY2VzcyBhbmQgaXRzIHBhcmVudCBhcmUgY29tbXVuaWNhdGluZyB2aWEgc2lnbmFscywKKwl3YWl0KCkgZXRjLiBXaXRob3V0IC1ELCBzdHJhY2UgcHJvY2VzcyBnZXRzIGxvZGdlZCBpbiBiZXR3ZWVuLAorCWRpc3J1cHRpbmcgcGFyZW50PC0+Y2hpbGQgbGluay4KKwkqIHN0cmFjZS5jOiBBZGQgZ2xvYmFsIGZsYWcgdmFyaWFibGUgZGFlbW9uaXplZF90cmFjZXIgZm9yIC1EIG9wdGlvbi4KKwkoc3RhcnR1cF9hdHRhY2gpOiBJZiAtRCwgZm9yayBhbmQgYmxvY2sgcGFyZW50IGluIHBhdXNlKCkuCisJSW4gdGhpcyBjYXNlIHdlIGFyZSBhbHJlYWR5IGEgY2hpbGQsIHdlIGluIGZhY3QgY3JlYXRlZCBhIGdyYW5kY2hpbGQuCisJQWZ0ZXIgYXR0YWNoaW5nIHRvIGdyYW5kcGFyZW50LCBncmFuZGNoaWxkIFNJR0tJTExzIHBhcmVudC4KKwkoc3RhcnR1cF9jaGlsZCk6IElmIC1ELCBwYXJlbnQgYmxvY2tzIGluIHdhaXQoKSwgdGhlbgorCWV4ZWNzIHRoZSBwcm9ncmFtIHRvIHN0cmFjZS4gTm9ybWFsbHkgKHcvbyAtRCksIGl0IGlzIGNoaWxkCisJd2hvIGV4ZWNzIHRoZSBwcm9ncmFtLgorCShtYWluKTogRGV0ZWN0IC1EIG9wdGlvbiwgY2FsbCBzdGFydHVwX2F0dGFjaCgpIGlmIGl0IGlzIGdpdmVuLgorCisyMDA4LTEyLTMwICBLaXJpbGwgQS4gU2h1dGVtb3YgIDxraXJpbGxAc2h1dGVtb3YubmFtZT4KKworCUZpeCBzb21lIHdhcm5pbmdzIG9uIEFSTSBidWlsZC4KKwkqIGRlZnMuaDogaW5jbHVkZSA8c3lzL3B0cmFjZS5oPiBvbiBhcm0gdG9vLgorCSogc3lzY2FsbC5jOiBFQUJJIGFybSBkb2VzIG5vdCBuZWVkIGRlY29kZV9zdWJjYWxsKCksCisJaWZkZWYgaXQgb3V0LgorCisyMDA4LTEyLTI5ICBOaWNrIEJsYWNrICA8ZGFua2Ftb25nbWVuQGFjbS5vcmc+CisKKwkqIGxpbnV4L3N5c2NhbGxlbnQuaDogTWFyayBzZW5kZmlsZSgyKSBhcyBuZXR3b3JrIHN5c2NhbGwuCisJKiBsaW51eC8qL3N5c2NhbGxlbnQuaDogU2FtZSwgZm9yIGFsbCBhcmNoaXRlY3R1cmVzLgorCisyMDA4LTEyLTE3ICBEZW55cyBWbGFzZW5rbyAgPGR2bGFzZW5rQHJlZGhhdC5jb20+CisKKwlNYWtlIHN0cmFjZSBkZXRlY3Qgd2hlbiB0cmFjZWQgcHJvY2VzcyBzdWRkZW5seSBkaXNhcHBlYXJlZAorCShwcmltZSBleGFtcGxlIGlzIHJhbmRvbWx5IGFycml2aW5nIFNJR0tJTEwpLgorCSogZGVmcy5oIChkb19wdHJhY2UsIHB0cmFjZV9yZXN0YXJ0KTogRGVjbGFyZSBuZXcgZnVuY3Rpb25zCisJKiBwcm9jZXNzLmM6IFVzZSBwdHJhY2VfcmVzdGFydCBpbnN0ZWFkIG9mIGJhcmUgcHRyYWNlLgorCVRoaXMgY2F0Y2hlcyBhbmQgcmVjb3JkcyBFU1JDSCBlcnJvcnMuCisJUHJpbnQgIjx1bmF2YWlsYWJsZT4iIGlmIHN5c2NhbGwgZGVjb2RlIG9yIHJlc3VsdCBjYW4ndCBiZQorCWRldGVybWluZWQgYmVjYXVzZSBvZiBhbiBlYXJsaWVyIGVycm9yIGluIHB0cmFjZSgpCisJKiBzeXNjYWxsLmMgKHRyYWNlX3N5c2NhbGwpOiBTdG9wIGluZGlzY3JpbWluYXRlbHkgYmFpbGluZyBvdXQKKwlvbiBlcnJvcnMsIHByaW50ICJzeXNjYWxsKD8/Pz8iIG9yIGV2ZW4gIj8/Pz8oPz8/PyIgYnV0IGNvbnRpbnVlLgorCSogdXRpbC5jIChkb19wdHJhY2UsIHB0cmFjZV9yZXN0YXJ0KTogRGVmaW5lIG5ldyBmdW5jdGlvbnMuCisJKHVwZWVrKTogdXNlIGRvX3B0cmFjZSBpbiBvcmRlciB0byBjYXRjaCBhbmQgcmVjb3JkIEVTUkNILgorCURvIG5vdCBwcmludCBlcnJvciBtZXNzYWdlIGluIHRoaXMgY2FzZS4KKwlGaXhlcyBSSCM0NzIwNTMuCisKKzIwMDgtMTItMTcgIERlbnlzIFZsYXNlbmtvICA8ZHZsYXNlbmtAcmVkaGF0LmNvbT4KKworCSogc2lnbmFsLmMgKHN5c19zaWdhY3Rpb24sIHN5c19ydF9zaWdhY3Rpb24pOiBGaXggdHlwbworCWluIChzYV9oYW5kbGVyID09IFNJR19JR04pIGNvbXBhcmlzb24sIGl0IHdhcyB1c2luZyBTSUdfREZMCisJaW5zdGVhZC4KKworMjAwOC0xMi0xNiAgRGVueXMgVmxhc2Vua28gIDxkdmxhc2Vua0ByZWRoYXQuY29tPgorCisJKiBkZWZzLmg6IE1vZGlmeSBkZWNsYXJhdGlvbiBvZiB1cGVlayB0byB0YWtlIHN0cnVjdCB0Y2IgKgorCXBhcmFtZXRlciBpbnN0ZWFkIG9mIHBpZF90LgorCSogcHJvY2Vzcy5jOiBDaGFuZ2UgYWxsIHVwZWVrIGNhbGxzIGFjY29yZGluZ2x5LgorCSogc2lnbmFsLmM6IExpa2V3aXNlLgorCSogc3RyYWNlLmM6IExpa2V3aXNlLgorCSogc3lzY2FsbC5jOiBMaWtld2lzZS4KKwkqIHV0aWwuYzogTGlrZXdpc2UuCisKKzIwMDgtMTEtMTEgIERtaXRyeSBWLiBMZXZpbiAgPGxkdkBhbHRsaW51eC5vcmc+CisKKwkqIHNvY2suYyBbTElOVVhdIChzb2NrX2lvY3RsKTogUGFyc2UgbW9yZSBTSU9DUyogaW9jdGxzLgorCisyMDA4LTEyLTA5ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgorCisJKiBzdHJhY2UuMSAoRElBR05PU1RJQ1MpOiBOZXcgc2VjdGlvbiwgZGVzY3JpYmUgZXhpdCBiZWhhdmlvci4KKworMjAwOC0xMS0wOSAgRG1pdHJ5IFYuIExldmluICA8bGR2QGFsdGxpbnV4Lm9yZz4KKworCSogcHJvY2Vzcy5jIChwcmN0bF9vcHRpb25zKTogVXBkYXRlIGNvbnN0YW50cyBmcm9tIGxpbnV4IDIuNi4yNy4KKwkqIHN5c3RlbS5jIChjYXBhYmlsaXRpZXMpOiBBZGQgbW9yZSBjYXBhYmlsaXR5IHZhbHVlcy4KKworCSogdXRpbC5jIChzdHJpbmdfcXVvdGUpOiBGaXggc3VwcG9ydCBmb3IgTlVMLXRlcm1pbmF0ZWQgc3RyaW5nLgorCUFkZCBjb21tZW50cy4KKwkocHJpbnRwYXRobik6IEZpeCB0aGUgY2FzZSB3aGVuICIuLi4iIHdhcyBhcHBlbmRlZCB0byB0aGUgb3V0cHV0CisJYnV0IG5vIHRydW5jYXRpb24gd2FzIGFjdHVhbGx5IG1hZGUuICBBZGQgY29tbWVudHMuCisJKHByaW50c3RyKTogRml4IG1lbW9yeSBhbGxvY2F0aW9uLiAgRml4IHR3byBjYXNlcyB3aGVuICIuLi4iIHdhcworCWFwcGVuZGVkIHRvIHRoZSBvdXRwdXQgYnV0IG5vIHRydW5jYXRpb24gd2FzIGFjdHVhbGx5IG1hZGUuCisJQWRkIGNvbW1lbnRzLgorCUZpeGVzIFJIIzQ3MDUyOS4KKworMjAwOC0xMC0yMyAgRG1pdHJ5IFYuIExldmluICA8bGR2QGFsdGxpbnV4Lm9yZz4KKworCUltcGxlbWVudCBwYXJzZXJzIGZvciBuZXcgbGludXggc3lzY2FsbHMuCisJKiBkZXNjLmMgKGRvX2R1cDIsIFtMSU5VWF0gc3lzX2R1cDMpOiBOZXcgZnVuY3Rpb25zLgorCShzeXNfZHVwMik6IFVzZSBkb19kdXAyLgorCVtMSU5VWF0gKHN5c19lcG9sbF9jcmVhdGUxKTogTmV3IGZ1bmN0aW9uLgorCVtMSU5VWF0gKGRvX2V2ZW50ZmQsIHN5c19ldmVudGZkMik6IE5ldyBmdW5jdGlvbnMuCisJW0xJTlVYXSAoc3lzX2V2ZW50ZmQpOiBVc2UgZG9fZXZlbnRmZC4KKwkqIG5ldC5jIChkb19waXBlLCBbTElOVVhdIHN5c19waXBlMik6IE5ldyBmdW5jdGlvbnMuCisJKHN5c19waXBlKTogVXNlIGRvX3BpcGUuCisJKiBzaWduYWwuYyBbTElOVVhdIChkb19zaWduYWxmZCwgc3lzX3NpZ25hbGZkNCk6IE5ldyBmdW5jdGlvbnMuCisJW0xJTlVYXSAoc3lzX3NpZ25hbGZkKTogVXNlIGRvX3NpZ25hbGZkLgorCSogbGludXgvc3lzY2FsbC5oOiBEZWNsYXJlIG5ldyBzeXNfKiBmdW5jdGlvbnMuCisJKiBsaW51eC9zeXNjYWxsZW50Lmg6IEhvb2sgdXAgc2lnbmFsZmQ0LCBldmVudGZkMiwgZXBvbGxfY3JlYXRlMSwKKwlkdXAzLCBwaXBlMiwgaW5vdGlmeV9pbml0MS4KKwkqIGxpbnV4L3g4Nl82NC9zeXNjYWxsZW50Lmg6IEhvb2sgdXAgcGFjY2VwdCwgc2lnbmFsZmQ0LCBldmVudGZkMiwKKwllcG9sbF9jcmVhdGUxLCBkdXAzLCBwaXBlMiwgaW5vdGlmeV9pbml0MS4KKworMjAwOC0xMC0yMyAgTWlrZSBGcnlzaW5nZXIgIDx2YXBpZXJAZ2VudG9vLm9yZz4KKworCVBvcnQgc3RyYWNlIHRvIHRoZSBCbGFja2ZpbiBhcmNoaXRlY3R1cmUuCisJKiBjb25maWd1cmUuYWM6IEFkZCBiZmluIHRvIHN1cHBvcnRlZCBhcmNoaXRlY3R1cmVzLgorCSogcHJvY2Vzcy5jOiBTa2lwIHVfZnB2YWxpZC91X2Zwc3RhdGUgZm9yIEJsYWNrZmluIGFyY2hpdGVjdHVyZS4KKwkoY2hhbmdlX3N5c2NhbGwpOiBTdXBwb3J0IEJsYWNrZmluIGFyY2hpdGVjdHVyZS4KKwkqIHN5c2NhbGwuYzogRGVjbGFyZSByMCBmb3IgQmxhY2tmaW4gYXJjaGl0ZWN0dXJlLgorCShnZXRfc2Nubyk6IERlY29kZSBCbGFja2ZpbiBzeXNjYWxsIG51bWJlci4KKwkoc3lzY2FsbF9maXh1cCk6IEV4dHJhY3QgQmxhY2tmaW4gcmV0dXJuIHZhbHVlLgorCShnZXRfZXJyb3IpOiBEZWNvZGUgQmxhY2tmaW4gcmV0dXJuIHZhbHVlLgorCShmb3JjZV9yZXN1bHQpOiBQb2tlIEJsYWNrZmluIHJldHVybiB2YWx1ZS4KKwkoc3lzY2FsbF9lbnRlcik6IEV4dHJhY3QgQmxhY2tmaW4gc3lzY2FsbCBhcmd1bWVudHMuCisJKiBkZWZzLmg6IERlZmluZSBUQ0JfV0FJVEVYRUNWRSBmb3IgQmxhY2tmaW4gYXJjaGl0ZWN0dXJlLgorCSogbGludXgvc3lzY2FsbC5oIChzeXNfc3JhbV9hbGxvYyk6IERlY2xhcmUgZm9yIEJsYWNrZmluCisJYXJjaGl0ZWN0dXJlLgorCSogc3lzdGVtLmMgKHN5c19zcmFtX2FsbG9jKTogRGVjb2RlIEJsYWNrZmluIHNyYW1fYWxsb2MoKSBzeXNjYWxsLgorCSogdXRpbC5jIChnZXRwYyk6IEhhbmRsZSBQQyBvbiBCbGFja2ZpbiBhcmNoaXRlY3R1cmUuCisJKHByaW50Y2FsbCk6IExpa2V3aXNlLgorCSogbGludXgvYmZpbi9pb2N0bGVudC5oLCBsaW51eC9iZmluL3N5c2NhbGxlbnQuaDogTmV3IEJsYWNrZmluCisJaGVhZGVycy4KKwkqIE1ha2VmaWxlLmFtIChFWFRSQV9ESVNUKTogQWRkIGxpbnV4L2JmaW4vaW9jdGxlbnQuaCBhbmQKKwlsaW51eC9iZmluL3N5c2NhbGxlbnQuaC4KKworMjAwOC0wOS0xOCAgTWlrZSBGcnlzaW5nZXIgIDx2YXBpZXJAZ2VudG9vLm9yZz4KKworCSogY29uZmlndXJlLmFjOiBBY2NlcHQgdWNsaW51eCBob3N0cyBhcyBsaW51eC4KKworMjAwOC0xMC0yMiAgRG1pdHJ5IFYuIExldmluIDxsZHZAYWx0bGludXgub3JnPgorCisJSGFuZGxlIHNvY2tldCB0eXBlIGZsYWdzIGludHJvZHVjZWQgaW4gbGludXggMi42LjI3LgorCSogbmV0LmMgKHNvY2t0eXBlcyk6IEFkZCBTT0NLX0RDQ1AuCisJKHNvY2tfdHlwZV9mbGFncyk6IE5ldyB4bGF0IHN0cnVjdHVyZS4KKwkodHByaW50X3NvY2tfdHlwZSk6IE5ldyBmdW5jdGlvbi4KKwkoc3lzX3NvY2tldCwgc3lzX3NvY2tldHBhaXIpOiBVc2UgaXQgdG8gcGFyc2Ugc29ja2V0IHR5cGUgYW5kCisJc29ja2V0IHR5cGUgZmxhZ3MuCisKKzIwMDgtMDktMjkgIERtaXRyeSBWLiBMZXZpbiA8bGR2QGFsdGxpbnV4Lm9yZz4KKworCSogc3RyYWNlLmMgKHN0YXJ0dXBfY2hpbGQpOiBTYXZlIGNoaWxkIHBpZCBmb3IgZnV0dXJlIHVzZS4KKwkobWFpbik6IEV4aXQva2lsbCBvdXJzZWxmIHdpdGggc3RyYWNlZCBjaGlsZCdzIGV4aXRjb2RlL3NpZ25hbC4KKwkodHJhY2UpOiBJZiBzaWduYWxsZWQgcHJvY2VzcyBwaWQgbWF0Y2hlcyB0aGUgc2F2ZWQgY2hpbGQgcGlkLAorCXNhdmUgdGhlIHNpZ25hbCBudW1iZXIuICBJZiB0ZXJtaW5hdGVkIHByb2Nlc3MgcGlkIG1hdGNoZXMgdGhlCisJc2F2ZWQgY2hpbGQgcGlkLCBzYXZlIGl0cyBleGl0IHN0YXR1cy4KKwlQYXRjaCBmcm9tIERlbnlzIFZsYXNlbmtvIDxkdmxhc2Vua0ByZWRoYXQuY29tPgorCUZpeGVzIFJIIzEwNTM3MS4KKworMjAwOC0wOS0xMiAgVG9tYXMgUG9zcGlzZWsgIDx0cG9Ac291cmNlcG9sZS5jaD4KKwkgICAgSmFuIEtyYXRvY2h2aWwgIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPgorCisJKiBzdHJhY2UuMSAoREVTQ1JJUFRJT04pOiBOZXcgZGVzY3JpcHRpb24gb2YgdW5maW5pc2hlZCBzeXN0ZW0gY2FsbHMKKwlhbmQgc3lzdGVtIGNhbGxzIHJlc3RhcnRpbmcuCisKKzIwMDgtMDktMDMgIERtaXRyeSBWLiBMZXZpbiA8bGR2QGFsdGxpbnV4Lm9yZz4KKworCSogZGVzYy5jIChzeXNfZmNudGwpOiBEbyBub3QgaW5pdGlhbGl6ZSBhdXhzdHIgZm9yIGZhaWxlZCBzeXNjYWxsLgorCSogcHJvY2Vzcy5jIChzeXNfZm9yaywgc3lzX3Jmb3JrKSBbVVNFX1BST0NGU106IExpa2V3aXNlLgorCSogc2lnbmFsLmMgKHN5c19zaWduYWwpOiBMaWtld2lzZS4KKwkqIHN0cmVhbS5jIChpbnRlcm5hbF9zdHJlYW1faW9jdGwpOiBMaWtld2lzZS4KKwkqIHRpbWUuYyAoc3lzX2FkanRpbWV4KTogTGlrZXdpc2UuCisJKiBzeXNjYWxsLmMgKHRyYWNlX3N5c2NhbGwpOiBJZiBSVkFMX1NUUiBpcyBzZXQsIHRoZW4KKwlwcmludCBhdXhzdHIgZm9yIGZhaWxlZCBzeXNjYWxsIGFzIHdlbGwuCisKKwkqIHN5c2NhbGwuYyAoaXNfcmVzdGFydF9lcnJvcik6IE5ldyBmdW5jdGlvbi4KKwkqIGRlZnMuaCAoaXNfcmVzdGFydF9lcnJvcik6IERlY2xhcmUgaXQuCisKKwkqIGxpbnV4L2R1bW15LmggKHN5c19uYW5vc2xlZXApOiBVbmNvdXBsZSBmcm9tIHN5c19hZGp0aW1lKCkuCisJKiB0aW1lLmMgKHN5c19uYW5vc2xlZXApOiBOZXcgZnVuY3Rpb24sIGJhc2VkIG9uIGlzX3Jlc3RhcnRfZXJyb3IoKS4KKworCSogcHJvY2Vzcy5jIChzeXNfcHJjdGwpOiBEZWNvZGUgUFJfU0VUX1BERUFUSFNJRywgUFJfR0VUX1BERUFUSFNJRywKKwlQUl9TRVRfRFVNUEFCTEUsIFBSX0dFVF9EVU1QQUJMRSwgUFJfU0VUX0tFRVBDQVBTLCBQUl9HRVRfS0VFUENBUFMuCisJRml4IFBSX0dFVF9VTkFMSUdOIGRlY29kZXIuCisJKHByY3RsX29wdGlvbnMpOiBBZGQgbW9yZSBjb25zdGFudHMuCisKKwkqIGxpbnV4L3N5c2NhbGxlbnQuaDogVXNlIHN5c19wcmN0bCgpIGRlY29kZXIgZm9yICJwcmN0bCIgc3lzY2FsbC4KKwkqIGxpbnV4L2FscGhhL3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9hcm0vc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKwkqIGxpbnV4L202OGsvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKwkqIGxpbnV4L3Bvd2VycGMvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKwkqIGxpbnV4L3MzOTAvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKwkqIGxpbnV4L3MzOTB4L3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9zaC9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCSogbGludXgvc2g2NC9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCSogbGludXgveDg2XzY0L3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisKKzIwMDgtMDktMDIgIERtaXRyeSBWLiBMZXZpbiA8bGR2QGFsdGxpbnV4Lm9yZz4KKworCSogbGludXgveDg2XzY0L3N5c2NhbGxlbnQuaDogRml4IHN5c2NhbGwgbnVtYmVycyBmb3IgInRlZSIgYW5kCisJInN5bmNfZmlsZV9yYW5nZSIuCisJRnJvbSBGZXJuYW5kbyBMdWlzIFZhenF1ZXogQ2FvIDxmZXJuYW5kb0Bvc3MubnR0LmNvLmpwPgorCisyMDA4LTA4LTI4ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgorCisJKiBzdHJhY2UuMSAoQlVHUyk6IE5ldyBzZWN0aW9uLCBtZW50aW9uIFNJR1RSQVAgaW50ZXJmZXJlbmNlLgorCisJKiBzdHJhY2Uuc3BlYyAoJWlmYXJjaCAle3N0cmFjZTY0X2FyY2hlc30pOiBVc2UgY3AgLXAgaW5zdGVhZCBvZiBsbgorCWZvciAle3JoZWx9IDwgNi4KKworCSogY29uZmlndXJlLmFjLCBORVdTOiBWZXJzaW9uIDQuNS4xOC4KKwkqIHN0cmFjZS5zcGVjOiA0LjUuMTgtMS4KKworMjAwOC0wOC0yNCAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KKworCSogbGludXgvc3lzY2FsbC5oIChTWVNfc29ja2V0X3N1YmNhbGwgZXQgYWwsIFNZU19pcGNfc3ViY2FsbCBldCBhbCk6CisJRG9uJ3QgZGVmaW5lIHRoZXNlIGlmIFtfX0FSTV9FQUJJX19dLgorCVJlcG9ydGVkIGJ5IEpvaGFubmVzIFN0ZXplbmJhY2ggPGpzQHNpZzIxLm5ldD4uCisKKwkqIHN5c2NhbGwuYyAodHJhY2Vfc3lzY2FsbCk6IENvbmRpdGlvbmFsaXplIG9uIFtTWVNfc29ja2V0X3N1YmNhbGxdCisJYW5kIFtTWVNfaXBjX3N1YmNhbGxdIGluZGl2aWR1YWxseS4KKworCSogbGludXgvcG93ZXJwYy9zeXNjYWxsZW50Lmg6IEhhbmRsZSBzdWJwYWdlX3Byb3QuCisJKiBtZW0uYyBbTElOVVggJiYgUE9XRVJQQ10gKHN5c19zdWJwYWdlX3Byb3QpOiBOZXcgZnVuY3Rpb24uCisJKiBsaW51eC9zeXNjYWxsLmggW1BPV0VSUENdOiBEZWNsYXJlIGl0LgorCUZyb20gU2ltb24gTXVycmF5IDxzaW1vbkB0cmFuc2l0aXZlLmNvbT4uCisKKwkqIG1lbS5jIChtbWFwX3Byb3QpOiBIYW5kbGUgUFJPVF9TQU8uCisJRnJvbSBTaW1vbiBNdXJyYXkgPHNpbW9uQHRyYW5zaXRpdmUuY29tPi4KKworCSogbWVtLmMgKG1hZHZpc2VfZmxhZ3MpOiBUeXBvIGZpeGVzLiAgUmVuYW1lIHRvIG1hZHZpc2VfY21kcy4KKwkoc3lzX21hZHZpc2UpOiBVc2UgcHJpbnR4dmFsLCBub3QgcHJpbnRmbGFncy4KKwlSZXBvcnRlZCBieSBSYWplZXYgVi4gUGlsbGFpIDxyYWplZXZ2cEBnbWFpbC5jb20+LgorCisyMDA4LTA4LTE5ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgorCisJKiBzaWduYWwuYyAoc3lzX3NpZ2FjdGlvbiwgc3lzX3J0X3NpZ2FjdGlvbik6IERvbid0IG9taXQgdGhlIHJlc3Qgb2YKKwl0aGUgc3RydWN0IGFmdGVyIHNhX2hhbmRsZXIgaXMgYSBrbm93biBjb25zdGFudC4gIFNvbWUgc2FfZmxhZ3MgYml0cworCWhhdmUgbWVhbmluZyBldmVuIGZvciBTSUdfSUdOL1NJR19ERkwuCisKKzIwMDgtMDgtMDYgIEphbiBLcmF0b2NodmlsICA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KKworCSogdXRpbC5jIChDTE9ORV9WTSk6IERlZmluZSBpZiBub3QgZGVmaW5lZCBhbHJlYWR5LgorCShzZXRicHQpOiBDbGVhciBDTE9ORV9WTSBpbiB0aGUgY2FzZSB3ZSBhbHJlYWR5IGNsZWFyIENMT05FX1ZGT1JLIGZvcgorCVNZU19jbG9uZSBhbmQgU1lTX2Nsb25lMi4KKwlSZXBvcnRlZCBieSBNaWNoYWwgTm93YWsuCisJRml4ZXMgUkgjNDU1MDc4LgorCisyMDA4LTA4LTA2ICBKYW4gS3JhdG9jaHZpbCAgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+CisKKwlGaXggY29tcGlsZXIgd2FybmluZ3MuCisJKiBzaWduYWwuYyAoc3lzX3NpZ25hbCk6IENhc3QgdG8gU0lHXyogdG8gdGhlIG1hdGNoaW5nIHR5cGUgTE9ORy4KKwkqIHN0cmFjZS5jICh0cmFjZSk6IFZhcmlhYmxlcyBQU1IgYW5kIFBDIGFyZSBub3cgc2lnbmVkLgorCSogc3lzY2FsbC5jIChzeXNjYWxsX2VudGVyKTogVmFyaWFibGUgUkJTX0VORCBpcyBub3cgc2lnbmVkIGxvbmcuCisJUmVtb3ZlL2FkZCB0aGUgUkJTX0VORCBjYXN0cyBhcHByb3ByaWF0ZWx5LgorCSogdXRpbC5jIFtJQTY0XSAoYXJnX3NldHVwKTogVmFyaWFibGUgQlNQIGlzIG5vdyBzaWduZWQgbG9uZy4KKwlSZW1vdmUvYWRkIHRoZSBCU1AgY2FzdHMgYXBwcm9wcmlhdGVseS4KKwk8aWEzMj46IEluaXRpYWxpemUgKlNUQVRFLgorCisyMDA4LTA3LTMxICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgorCisJKiBNYWtlZmlsZS5hbSAoRVhUUkFfRElTVCk6IEFkZCBuZXcgbGludXgvYXJtLyBmaWxlcy4KKworCSogZmlsZS5jIFtMSU5VWF0gKHN0cnVjdCBrZXJuZWxfZGlyZW50KTogRGVmaW5lIGl0IGxvY2FsbHksCisJZG8gbm90IHVzZSA8bGludXgvZGlyZW50Lmg+LgorCUZpeGVzIFJIIzQ1NzI5MS4KKworCSogY29uZmlndXJlLmFjOiBBZGQgQUNfSEVBREVSX1NUREJPT0wuCisJKiBkZWZzLmggW0hBVkVfU1REQk9PTF9IXTogI2luY2x1ZGUgPHN0ZGJvb2wuaD4uCisJRml4ZXMgRGViaWFuIzQ5Mjc3NC4KKworMjAwOC0wNy0yNCAgRG1pdHJ5IFYuIExldmluIDxsZHZAYWx0bGludXgub3JnPgorCisJKiBzdHJhY2UuYyAobWFpbik6IEZpeCAtRiBvcHRpb24gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuCisKKzIwMDgtMDctMjIgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CisKKwkqIE1ha2VmaWxlLmFtIChFWFRSQV9ESVNUKTogQWRkIG5ldyBkZWJpYW4vIGZpbGVzLgorCisyMDA4LTA3LTIxICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgorCisJKiBjb25maWd1cmUuYWM6IFZlcnNpb24gNC41LjE3LgorCSogc3RyYWNlLnNwZWM6IDQuNS4xNy0xLgorCisJKiBkZWZzLmggW0xJTlVYU1BBUkNdOiBEb24ndCAjaW5jbHVkZSA8bGludXgvYS5vdXQuaD4uCisKKzIwMDgtMDctMTkgIEZyZWRlcmlrIFNjaMO8bGVyIDxmc0BkZWJpYW4ub3JnPgorCisJKiBkZWJpYW4vY29udHJvbDogQWRkIHN0cmFjZTY0IHBhY2thZ2UuCisJKiBkZWJpYW4vcnVsZXM6IFVzZSBkZWJoZWxwZXIgZmxhZyAtLXNhbWUtYXJjaCBpbnN0ZWFkIG9mIC0tYXJjaCBpbgorCW9yZGVyIHRvIGJ1aWxkIHN0cmFjZTY0IG9ubHkgb24gdGhlIHNwZWNpZmllZCBhcmNoaXRlY3R1cmVzLgorCSogZGViaWFuL3N0cmFjZTY0Lmluc3RhbGw6IE5ldyBmaWxlLCBsaXN0IGZvciBkaF9pbnN0YWxsLgorCSogZGViaWFuL3N0cmFjZTY0Lm1hbnBhZ2VzOiBOZXcgZmlsZSwgbGlzdCBmb3IgZGhfaW5zdGFsbC4KKwkqIGRlYmlhbi9jaGFuZ2Vsb2c6IEFkZCBwcmVyZWxlYXNlcyBlbnRyaWVzLgorCUZpeGVzIERlYmlhbiM0OTExNjcsIERlYmlhbiM0OTExODguCisKKzIwMDgtMDctMTggIEFuZHJlYXMgU2Nod2FiICA8c2Nod2FiQHN1c2UuZGU+CisKKwkqIGxpbnV4L2lhNjQvc3lzY2FsbGVudC5oOiBEZWNvZGUgbWluY29yZSBzeXNjYWxsLgorCisJKiBsaW51eC9wb3dlcnBjL3N5c2NhbGxlbnQuaDogRml4IGFyZ3VtZW50IGNvdW50IGZvciByZXF1ZXN0X2tleS4KKworCSogdGVybS5jICh0ZXJtX2lvY3RsKTogRGVjb2RlIGluZGlyZWN0IHBhcmFtZXRlciBhcyBpbnQsIG5vdCBsb25nLgorCisyMDA4LTA3LTE3ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgorCisJKiBORVdTLCBzdHJhY2Uuc3BlYzogVXBkYXRlcyBpbiBwcmVwYXJhdGlvbiBmb3IgcmVsZWFzZS4KKworCSogcHJvY2Vzcy5jIChwcmludHdhaXRuKTogV2hlbiBjdXJyZW50IHBlcnNvbmFsaXR5J3Mgd29yZHNpemUgaXMKKwlzbWFsbGVyIHRoYW4gbmF0aXZlLCBzaWduLWV4dGVuZCB0aGUgUElEIGFyZ3VtZW50IGZyb20gMzIgYml0cy4KKworCSogcHJvY2Vzcy5jIChmdXRleG9wcyk6IFVwZGF0ZSB0YWJsZS4KKwkoc3lzX2Z1dGV4KTogSGFuZGxlIEZVVEVYX1dBSVRfQklUU0VUIGNvcnJlY3RseS4KKwlGcm9tIFVscmljaCBEcmVwcGVyIDxkcmVwcGVyQHJlZGhhdC5jb20+LgorCUZpeGVzIFJIIzQ0ODYyOC4KKworCSogbGludXgvc3lzY2FsbGVudC5oOiBGaXggImZ1dGV4IiBhcmd1bWVudCBjb3VudC4KKwkqIGxpbnV4L2FscGhhL3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9hcm0vc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKwkqIGxpbnV4L2hwcGEvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKwkqIGxpbnV4L2lhNjQvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKwkqIGxpbnV4L202OGsvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKwkqIGxpbnV4L3Bvd2VycGMvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKwkqIGxpbnV4L3MzOTAvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKwkqIGxpbnV4L3MzOTB4L3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9zcGFyYy9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCSogbGludXgveDg2XzY0L3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJRnJvbSBVbHJpY2ggRHJlcHBlciA8ZHJlcHBlckByZWRoYXQuY29tPi4KKwlGaXhlcyBSSCM0NDg2MjkuCisKKwkqIHNpZ25hbC5jIChzaWdhY3RfZmxhZ3MpOiBQcmVmZXIgU0FfTk9ERUZFUiB0byBTQV9OT01BU0ssCisJU0FfUkVTRVRIQU5EIHRvIFNBX09ORVNIT1QuCisJRml4ZXMgUkgjNDU1ODIxLgorCisyMDA4LTA3LTA5ICBGcmVkZXJpayBTY2jDvGxlciA8ZnNAZGViaWFuLm9yZz4KKworCSogZGViaWFuL3J1bGVzOiBSZW1vdmUgdGhlIGJyb2tlbiB1ZGViIGNyZWF0aW9uIHJvdXRpbmVzLCBhbmQgcmVkbyB0aGUKKwljb21wbGV0ZSBpbnN0YWxsIHByb2NlZHVyZSB1c2luZyBkZWJoZWxwZXIuCisJKiBkZWJpYW4vc3RyYWNlLmRvY3M6IE5ldyBmaWxlLCBsaXN0IGZvciBkaF9pbnN0YWxsZG9jcy4KKwkqIGRlYmlhbi9zdHJhY2UuZXhhbXBsZXM6IE5ldyBmaWxlLCBsaXN0IGZvciBkaF9pbnN0YWxsZXhhbXBsZXMuCisJKiBkZWJpYW4vc3RyYWNlLmluc3RhbGw6IE5ldyBmaWxlLCBsaXN0IGZvciBkaF9pbnN0YWxsLgorCSogZGViaWFuL3N0cmFjZS11ZGViLmluc3RhbGw6IE5ldyBmaWxlLCBsaXN0IGZvciBkaF9pbnN0YWxsLgorCSogZGViaWFuL3N0cmFjZS5tYW5wYWdlcyA6IE5ldyBmaWxlLCBsaXN0IGZvciBkaF9pbnN0YWxsbWFucGFnZXMuCisJKiBkZWJpYW4vY29weXJpZ2h0OiBVcGRhdGUuCisJKiBkZWJpYW4vY29udHJvbDogRml4IGxpYmM2IGJ1aWxkIGRlcGVuZGVuY3kgZm9yIGFscGhhIGFuZCBpYTY0LgorCShzdHJhY2UtdWRlYjogWEMtUGFja2FnZS1UeXBlKTogQWRkIGhlYWRlci4KKwkqIGRlYmlhbi9jaGFuZ2Vsb2c6IENvc21ldGljIGNoYW5nZXMuCisKKzIwMDgtMDctMDMgIEphbiBLcmF0b2NodmlsICA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KKworCVRyYWNlIHZmb3JrIHVuZGVyIC1mIG9uIGFsbCB0aGUgcGxhdGZvcm1zLgorCSogc3RyYWNlLjEgPC1mPjogRGVzY3JpYmUgTGludXggY2F0Y2hlcyBuZXcgY2hpbGRyZW4gaW1tZWRpYXRlbHkuCisJPC1GPjogTWFrZSB0aGUgb3B0aW9uIG9ic29sZXRlLiAgTW92ZSB0aGUgU3VuT1MgVkZPUksgY29tbWVudCB0byB0aGUKKwlgLWYnIG9wdGlvbiBkZXNjcmlwdGlvbi4KKwkqIGRlZnMuaCAoZm9sbG93dmZvcmspOiBEZWNsYXJhdGlvbiByZW1vdmVkLgorCSogc3RyYWNlLmMgKGZvbGxvd3Zmb3JrKTogVmFyaWFibGUgcmVtb3ZlZC4KKwkobWFpbikgPC1GPjogTWVyZ2Ugd2l0aCB0aGUgYC1mJyBvcHRpb24uCisJKHRyYWNlKTogTWFrZSAhRk9MTE9XVkZPUksgdW5jb25kaXRpb25hbC4KKwkqIHByb2Nlc3MuYyAoaW50ZXJuYWxfZm9yayk6IE1ha2UgIUZPTExPV1ZGT1JLIHVuY29uZGl0aW9uYWwuCisKKzIwMDgtMDctMDEgIEZyZWRlcmlrIFNjaMO8bGVyIDxmc0BkZWJpYW4ub3JnPgorCisJKiBkZWJpYW4vY2hhbmdlbG9nOiBMaXN0IGFsbCBidWdzIGNsb3NlZCBzaW5jZSB0aGUgbGFzdCByZWxlYXNlLgorCSogZGViaWFuL2NvbnRyb2w6IFJlbW92ZSBXaWNoZXJ0IEFra2VybWFuIGZyb20gdXBsb2FkZXJzIGxpc3QuCisJKiBkZWJpYW4vY29udHJvbDogQnVtcCBzdGFuZGFyZHMgdmVyc2lvbiB0byAzLjguMC4KKwkqIGRlYmlhbi9jb250cm9sOiBBZGQgSG9tZXBhZ2UgZmllbGQuCisJKiBkZWJpYW4vcnVsZXM6IEZpeCBkcGtnLWdlbmNvbnRyb2wgY2FsbC4KKwkqIGRlYmlhbi9jb21wYXQ6IE5ldyBmaWxlLCBzZXQgdG8gY29tcGF0aWJpbGl0eSBsZXZlbCA1LgorCSogZGViaWFuL3J1bGVzOiBDYWxsIGRoX2NsZWFuIG9uIGNsZWFuIHRhcmdldC4KKwkqIGRlYmlhbi9ydWxlczogQWRkIGRoX21kNXN1bXMgY2FsbC4KKwlGaXhlcyBEZWJpYW4jNDM5NDI4LgorCisyMDA4LTA2LTMwICBKYW4gS3JhdG9jaHZpbCAgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+CisKKwlGaXggaWE2NCBgLWYnIG9uIGNsb25lMiBmb3JtZXJseSBjcmFzaGluZyB0aGUgY2hpbGQuCisJKiB1dGlsLmMgW0lBNjRdIChyZXN0b3JlX2FyZzAsIHJlc3RvcmVfYXJnMSk6IERlZmluZSBhcyBlbXB0eS4KKwlGaXhlcyBSSCM0NTM0MzguCisKKzIwMDgtMDYtMjcgIEphbiBLcmF0b2NodmlsICA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KKworCSogdXRpbC5jIChDTE9ORV9WRk9SSyk6IERlZmluZSBpZiBub3QgZGVmaW5lZCBhbHJlYWR5LgorCShzZXRicHQpOiBDbGVhciBDTE9ORV9WRk9SSyBmb3IgU1lTX2Nsb25lIGFuZCBTWVNfY2xvbmUyLgorCVJlcG9ydGVkIGJ5IFZpdGFseSBNYXlhdHNraWtoLgorCUZpeGVzIFJIIzQ1NTA3OC4KKworMjAwOC0wNi0yOSAgRG1pdHJ5IFYuIExldmluIDxsZHZAYWx0bGludXgub3JnPgorCisJKiBsaW51eC94ODZfNjQvc3lzY2FsbGVudC5oOiBSZW1vdmUgZHVwbGljYXRlIHN5c2NhbGwgZW50cmllcworCWZvciAjMjgzIGFuZCAjMjg0LgorCisyMDA4LTA2LTI3ICBKYW4gS3JhdG9jaHZpbCAgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+CisKKwkqIGxpbnV4L3N5c2NhbGxlbnQuaDogUmVtb3ZlIGEgZHVwbGljaXRlIHN5c2NhbGwgc3R1YiAjMzI2LgorCisyMDA4LTA1LTI3ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgorCisJKiBzeXNjYWxsLmMgW0xJTlVYXSAoaXNfbmVnYXRlZF9lcnJubyk6IE5ldyBmdW5jdGlvbi4KKwkoZ2V0X2Vycm9yKSBbTElOVVhdOiBVc2UgaXQgZm9yIGFsbCBzdWNoIGNhc2VzLgorCUZpeGVzIFJIIzQ0NzU4Ny4KKworMjAwOC0wNS0xOSAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KKworCSogbGludXgveDg2XzY0L3N5c2NhbGxlbnQuaDogVXBkYXRlIGVudHJpZXMgZm9yIHRpbWVyZmRfKiBhbmQgZmFsbG9jYXRlLgorCisJKiBmaWxlLmMgKHN5c19mYWxsb2NhdGUpOiBOZXcgZnVuY3Rpb24uCisJKiBsaW51eC9zeXNjYWxsLmg6IERlY2xhcmUgaXQuCisJKiBsaW51eC9zeXNjYWxsZW50Lmg6IFVwZGF0ZSBlbnRyeS4KKwlGcm9tIEt5bGUgTWNNYXJ0aW4gPGt5bGVAbWNtYXJ0aW4uY2E+LgorCisJKiB0aW1lLmMgKHN5c190aW1lcmZkX2NyZWF0ZSk6IE5ldyBmdW5jdGlvbi4KKwkoc3lzX3RpbWVyZmRfc2V0dGltZSwgc3lzX3RpbWVyZmRfZ2V0dGltZSk6IE5ldyBmdW5jdGlvbnMuCisJKiBsaW51eC9zeXNjYWxsLmg6IERlY2xhcmUgdGhlbS4KKwkqIGxpbnV4L3N5c2NhbGxlbnQuaDogVXBkYXRlIGVudHJpZXMgZm9yIHRob3NlIHN5c2NhbGxzLgorCUZyb20gS3lsZSBNY01hcnRpbiA8a3lsZUBtY21hcnRpbi5jYT4uCisKKwkqIGRlYmlhbi9ydWxlcyAoYmluYXJ5LWFyY2gpOiBGaXggY2htb2QvY2hvd24gdHlwby4KKwlGaXhlcyBEZWJpYW4jNDU5MjU1LgorCisJKiBkZWJpYW4vcnVsZXMgKGJpbmFyeS1hcmNoKTogSW5zdGFsbCBzdHJhY2UtZ3JhcGggaW4gZXhhbXBsZXMvCisJZGlyZWN0b3J5IHVuZGVyIHBhY2thZ2UgZG9jLgorCUZpeGVzIERlYmlhbiM0NjkwNjguCisKKwkqIHNpZ25hbC5jIChzeXNfa2lsbCk6IFdoZW4gY3VycmVudCBwZXJzb25hbGl0eSdzIHdvcmRzaXplIGlzIHNtYWxsZXIKKwl0aGFuIG5hdGl2ZSwgc2lnbi1leHRlbmQgdGhlIFBJRCBhcmd1bWVudCBmcm9tIDMyIGJpdHMuCisJRml4ZXMgUkgjNDMwNTg1LgorCisJKiBjb25maWd1cmUuYWM6IEFkZCBjaGVjayBmb3Igc3RydWN0IHNpZ2NvbnRleHRfc3RydWN0IGluIDxzaWduYWwuaD4uCisJKiBzaWduYWwuYyBbISBIQVZFX0FTTV9TSUdDT05URVhUX0hdIFtJMzg2XSAoc3RydWN0IHNpZ2NvbnRleHRfc3RydWN0KToKKwlDb25kaXRpb25hbGl6ZSBkZWZpbml0aW9uIG9uICFIQVZFX1NUUlVDVF9TSUdDT05URVhUX1NUUlVDVC4KKwlGaXhlcyBEZWJpYW4jNDU2ODc5LgorCisJKiB1dGlsLmMgW0xJTlVYXSAoc2V0YnB0KTogVXNlIGNvcnJlY3QgU1lTX2Nsb25lIG51bWJlciBmb3IgY3VycmVudAorCXBlcnNvbmFsaXR5LgorCUZpeGVzIFJIIzQ0NzQ3NS4KKworMjAwOC0wNS0wOCAgRGF2aWQgUy4gTWlsbGVyICA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KKworCSogc3lzY2FsbC5jIChzb2NrZXRfbWFwLCBzcGFyY19zb2NrZXRfZGVjb2RlKTogRGVsZXRlLgorCSh0cmFjZV9zeXNjYWxsKTogVXNlIGNvbW1vbiBzb2NrZXRjYWxsIGFuZCBpcGMgc3ViY2FsbAorCXN1cHBvcnQgb24gc3BhcmMuCisJKiBsaW51eC9zcGFyYy9zeXNjYWxsLmggKHN5c19zZW10aW1lZG9wKTogRGVjbGFyZS4KKwkoU1lTX3NvY2tldF9zdWJjYWxsLCBTWVNfc3ViX3NvY2tldCwgU1lTX3N1Yl9iaW5kLAorCVNZU19zdWJfY29ubmVjdCwgU1lTX3N1Yl9saXN0ZW4sIFNZU19zdWJfYWNjZXB0LAorCVNZU19zdWJfZ2V0c29ja25hbWUsIFNZU19zdWJfZ2V0cGVlcm5hbWUsCisJU1lTX3N1Yl9zb2NrZXRwYWlyLCBTWVNfc3ViX3NlbmQsIFNZU19zdWJfcmVjdiwKKwlTWVNfc3ViX3NlbmR0bywgU1lTX3N1Yl9yZWN2ZnJvbSwgU1lTX3N1Yl9zaHV0ZG93biwKKwlTWVNfc3ViX3NldHNvY2tvcHQsIFNZU19zdWJfZ2V0c29ja29wdCwgU1lTX3N1Yl9zZW5kbXNnLAorCVNZU19zdWJfcmVjdm1zZywgU1lTX3NvY2tldF9uc3ViY2FsbHMsIFNZU19pcGNfc3ViY2FsbCwKKwlTWVNfc3ViX3NlbW9wLCBTWVNfc3ViX3NlbWdldCwgU1lTX3N1Yl9zZW1jdGwsCisJU1lTX3N1Yl9zZW10aW1lZG9wLCBTWVNfc3ViX21zZ3NuZCwgU1lTX3N1Yl9tc2dyY3YsCisJU1lTX3N1Yl9tc2dnZXQsIFNZU19zdWJfbXNnY3RsLCBTWVNfc3ViX3NobWF0LAorCVNZU19zdWJfc2htZHQsIFNZU19zdWJfc2htZ2V0LCBTWVNfc3ViX3NobWN0bCwKKwlTWVNfaXBjX25zdWJjYWxscyk6IERlZmluZQorCSogbGludXgvc3BhcmMvc3lzY2FsbGVudC5oOiBBZGQgc29ja2V0Y2FsbCBhbmQgaXBjIGVudHJpZXMuCisKKzIwMDgtMDEtMjUgIEJydW5hIE1vcmVpcmEgIDxicnVuYS5tb3JlaXJhQGluZHQub3JnPgorCisJKiBkZWZzLmggW0FSTV06IERlZmluZSBTVVBQT1JURURfUEVSU09OQUxJVElFUyB0byAyLgorCSogc3lzY2FsbC5jIChnZXRfc2NubykgW0FSTV06IEFkZCBzdXBwb3J0IGZvciBhcmNoaXRlY3R1cmUgc3BlY2lmaWMKKwlzeXNjYWxscy4KKwkqIGxpbnV4L2FybS9zeXNjYWxsZW50Lmg6IFVwZGF0ZSBuZXR3b3JrIHN5c2NhbGxzIGxpc3QuCisJKiBsaW51eC9hcm0vc3lzY2FsbGVudDEuaDogTmV3IGZpbGUuIEFkZCBuZXcgYXJjaGl0ZWN0dXJlIHNwZWNpZmljCisJc3lzY2FsbHMuCisJKiBsaW51eC9hcm0vZXJybm9lbnQxLmg6IE5ldyBmaWxlLgorCSogbGludXgvYXJtL2lvY3RsZW50MS5oOiBOZXcgZmlsZS4KKwkqIGxpbnV4L2FybS9zaWduYWxlbnQxLmg6IE5ldyBmaWxlLgorCUZpeGVzIERlYmlhbiM0NDEwMDAuCisKKzIwMDgtMDEtMDcgIFBhdWwgTXVuZHQgIDxsZXRoYWxAbGludXgtc2gub3JnPgorCisJKiBsaW51eC9zaDY0L3N5c2NhbGxlbnQuaDogVXBkYXRlIG51bWVyb3VzIGNhbGxzLCBmaXggb3RoZXJzLgorCisyMDA3LTA4LTI2ICBEYW5pZWwgSmFjb2Jvd2l0eiAgPGRhbkBjb2Rlc291cmNlcnkuY29tPgorCisJKiBkZWZzLmggW01JUFNdOiBJbmNsdWRlIDxzZ2lkZWZzLmg+LgorCShNQVhfUVVBTFMpOiBVcGRhdGUgZm9yIE1JUFMuCisJKExJTlVYX01JUFNPMzIsIExJTlVYX01JUFNOMzIsIExJTlVYX01JUFNONjQsIExJTlVYX01JUFM2NCk6IERlZmluZS4KKwkoc3RydWN0IHRjYik6IEFkZCBleHRfYXJnIGZvciBNSVBTIE4zMi4KKwkoVENCX1dBSVRFWEVDVkUpOiBEZWZpbmUgZm9yIE1JUFMuCisJKEFMSUdONjQpOiBVc2UgTElOVVhfTUlQU08zMi4KKwkqIGZpbGUuYyAoc3lzX2xzZWVrKTogVXNlIGV4dF9hcmcgZm9yIE1JUFMgTjMyLgorCShzeXNfcmVhZGFoZWFkLCBzeXNfZmFkdmlzZTY0XzY0KTogTGlrZXdpc2UuCisJKiBpby5jIChzeXNfcHJlYWQ2NCwgc3lzX3B3cml0ZTY0KTogTGlrZXdpc2UuCisJKiBtZW0uYyAocHJpbnRfbW1hcCk6IFRha2UgT0ZGU0VUIGFyZ3VtZW50LgorCShzeXNfb2xkX21tYXApOiBVcGRhdGUgY2FsbCB0byBwcmludF9tbWFwLgorCShzeXNfbW1hcCk6IFVzZSBleHRfYXJnIGZvciBNSVBTIE4zMi4KKwkqIHByb2Nlc3MuYyAoc3RydWN0X3VzZXJfb2Zmc2V0cyk6IEFkZCBNSVBTIHJlZ2lzdGVycy4KKwkqIHNpZ25hbC5jIChzeXNfc2lncmV0dXJuKTogSGFuZGxlIE1JUFMgTjMyIGFuZCBNSVBTIE42NC4gIENvcnJlY3QKKwlNSVBTIE8zMiBjYWxsIHRvIHNwcmludHNpZ21hc2suCisJKiBzeXNjYWxsLmMgKGludGVybmFsX3N5c2NhbGwpOiBIYW5kbGUgTUlQUyBOMzIuICBDaGVjayBmb3IKKwlUQ0JfV0FJVEVYRUNWRSBvbiBNSVBTLgorCShmb3JjZV9yZXN1bHQpOiBBZGQgYSBjb21tZW50IGFib3V0IE1JUFMgTjMyLgorCShzeXNjYWxsX2VudGVyKTogSGFuZGxlIE1JUFMgTjMyIGFuZCBNSVBTIE42NC4KKwkqIGxpbnV4L3N5c2NhbGwuaCAoc3lzX3ByZWFkNjQsIHN5c19wd3JpdGU2NCk6IERlY2xhcmUuCisJKiBsaW51eC9taXBzL3N5c2NhbGxlbnQuaDogSW5jbHVkZSAiZHVtbXkuaCIuICBIYW5kbGUgYWx0ZXJuYXRlCisJTUlQUyBBQklzLgorCisyMDA4LTA0LTE5ICBEbWl0cnkgVi4gTGV2aW4gPGxkdkBhbHRsaW51eC5vcmc+CisKKwkqIGZpbGUuYyBbX0xGUzY0X0xBUkdFRklMRV0gKHN5c19nZXRkZW50czY0KTogRG8gdGhlIHNhbWUKKwlkX3JlY2xlbiBjaGVjayBhcyBpbiBzeXNfZ2V0ZGVudHM6IHdhcm4gaWYgZF9yZWNsZW4gaXMgMCByYXRoZXIKKwl0aGFuIGxvb3BpbmcgZm9yZXZlci4KKwlbRlJFRUJTRF0gKHN5c19nZXRkaXJlbnRyaWVzKTogTGlrZXdpc2UuCisJU2lnbmVkLW9mZi1ieTogTWlrZSBGcnlzaW5nZXIgPHZhcGllckBnZW50b28ub3JnPgorCisJKiBmaWxlLmMgW0xJTlVYU1BBUkNdIChwcmludHN0YXRzb2wpOiBGaXggc3ByaW50dGltZSgpCisJaW52b2NhdGlvbi4gIFRoZSBzcHJpbnR0aW1lKCkgZnVuY3Rpb24gdGFrZXMgYSB0aW1lX3QgYXJndW1lbnQsCisJYnV0IHRpbWVzdHJ1Y3RfdCBhcmd1bWVudCB3YXMgZ2l2ZW4uCisJU2lnbmVkLW9mZi1ieTogTWlrZSBGcnlzaW5nZXIgPHZhcGllckBnZW50b28ub3JnPgorCisJKiBmaWxlLmMgKHNwcmludHRpbWUpOiBDaGVjayBsb2NhbHRpbWUoKSByZXR1cm4gdmFsdWUsIHRvIGF2b2lkCisJcG90ZW50aWFsIE5VTEwgZGVyZWZlcmVuY2UgZHVlIHRvIGludmFsaWQgdGltZSBzdHJ1Y3R1cmVzLgorCVNpZ25lZC1vZmYtYnk6IEhhcmFsZCB2YW4gRGlqayA8dHJ1ZWRmeEBnZW50b28ub3JnPgorCVNpZ25lZC1vZmYtYnk6IE1pa2UgRnJ5c2luZ2VyIDx2YXBpZXJAZ2VudG9vLm9yZz4KKworCSogbGludXgvZXJybm9lbnQuaDogVXBkYXRlIGVycm5vIGxpc3QgYmFzZWQgb24gbGF0ZXN0CisJbGludXgvZXJybm8uaCBhbmQgYXNtLWdlbmVyaWMvZXJybm8qLmggZmlsZXMuCisJU2lnbmVkLW9mZi1ieTogTWlrZSBGcnlzaW5nZXIgPHZhcGllckBnZW50b28ub3JnPgorCisJKiBzaWduYWxlbnQuc2g6IEZpeCBzb3J0KDEpIG9sZC1zdHlsZSBvcHRpb25zLgorCSogc3lzY2FsbGVudC5zaDogTGlrZXdpc2UuCisJU2lnbmVkLW9mZi1ieTogTWlrZSBGcnlzaW5nZXIgPHZhcGllckBnZW50b28ub3JnPgorCisJKiBjb3VudC5jIChjYWxsX3N1bW1hcnlfcGVycyk6IENoZWNrIGNhbGxvYygpIHJldHVybiB2YWx1ZS4KKwlTaWduZWQtb2ZmLWJ5OiAiWWFuZyBaaGlndW8iIDx5emdjc3VAY24uZnVqaXRzdS5jb20+CisKKzIwMDgtMDMtMjYgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CisKKwkqIHN0cmFjZS5zcGVjIChzdHJhY2U2NF9hcmNoZXMpOiBBZGQgc3BhcmM2NC4KKworMjAwNy0xMS0yMCAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KKworCSogQ1JFRElUUywgQ2hhbmdlTG9nOiBDb252ZXJ0ZWQgY29udGVudHMgdG8gVVRGOC4KKworMjAwNy0xMS0xOSAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KKworCSogc3RyYWNlLnNwZWM6IEFkZCBCdWlsZFJlcXVpcmVzIG9uIGxpYmFpby1kZXZlbCwgbGliYWNsLWRldmVsLgorCisyMDA3LTExLTE5ICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBzdXNlLmRlPgorCisJKiBwcm9jZXNzLmMgKHN5c19wdHJhY2UpIFtJQTY0XTogRm9yIFBUUkFDRV9QRUVLREFUQSwKKwlQVFJBQ0VfUEVFS1RFWFQgYW5kIFBUUkFDRV9QRUVLVVNFUiB0aGUgZGF0YSBpcyByZXR1cm5lZCBkaXJlY3RseS4KKworCSogbGludXgvc3lzY2FsbGVudC5oOiBGaXggYXJndW1lbnQgY291bnQgZm9yIGdldGRlbnRzNjQuCisJKiBsaW51eC9hcm0vc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKwkqIGxpbnV4L202OGsvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKwkqIGxpbnV4L3g4Nl82NC9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCisJKiBsaW51eC9pYTY0L3N5c2NhbGxlbnQuaDogVXNlIHN5c19nZXRkZW50czY0LgorCSogbGludXgvc2gvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKworMjAwNy0xMS0wNiAgSmFuIEtyYXRvY2h2aWwgIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPgorCisJKiBzdHJhY2UuYyBbTElOVVhdIChkcm9wdGNiKTogUmVjdXJzZSBvbiBUQ1AtPnBhcmVudCBpZiBpdCBpcyBhCisJVENCX0VYSVRJTkcgem9tYmllIGdyb3VwIGxlYWRlci4KKwkqIHRlc3QvY2hpbGR0aHJlYWQuYzogTmV3IGZpbGUuCisJKiB0ZXN0Ly5jdnNpZ25vcmUsIHRlc3QvTWFrZWZpbGU6IEFkZCBpdC4KKwlDb2RlIGFkdmlzb3J5OiBSb2xhbmQgTWNHcmF0aAorCUZpeGVzIFJIIzM1NDI2MS4KKworMjAwNy0xMS0wMyAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KKworCSogcHJvY2Vzcy5jIChwcmN0bF9vcHRpb25zKTogQWRkIG51bWVyb3VzIGNvbnN0YW50cy4KKwlGcm9tIFNhbWkgRmFyaW4gPHNhZmFyaUB1LnNhZmFyaS5pa2kuZmk+LgorCUZpeGVzIFJIIzM2NDQwMS4KKworMjAwNy0xMS0wMyAgSmFuIEtyYXRvY2h2aWwgIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPgorCisJKiBzdHJhY2UuYyAobWFpbik6IE1vdmUgdGhlIFNUQVJUVVBfQ0hJTEQgY2FsbCBiZWZvcmUgc2V0dGluZyB1cCB0aGUKKwlzaWduYWwgaGFuZGxlcnMuICBOZXcgY29tbWVudCBhYm91dCB0aGUgdmFsaWQgaW50ZXJuYWwgc3RhdGVzLgorCisyMDA3LTExLTAyICBUaGllbW8gU2V1ZmVyICA8dGhzQG5ldHdvcmtuby5kZT4KKworCSogc2lnbmFsLmMgKG1fc2lnaW5mb190KTogQWRkIGZvciBNSVBTLgorCShzeXNfc2lncmV0dXJuKTogc3RydWN0IHNpZ2NvbnRleHQgb24gTUlQUyBoYXMgbm8gc2lnc2V0X3QgbWVtYmVyLAorCWFjcXVpcmUgdGhlIHNpZ25hbCBtYXNrIHdpdGggdGhlIHNhbWUgdHJpY2sgYXMgb24gU3BhcmMuCisJRml4ZXMgRGViaWFuIzQ0ODgwMi4KKworMjAwNy0xMS0wMSAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KKworCSogdXRpbC5jIChzdHJpbmdfcXVvdGUpOiBSZXR1cm4gbm9uemVybyBpZiB0aGUgc3RyaW5nIHdhcyB1bnRlcm1pbmF0ZWQuCisJKHByaW50c3RyKTogVXNlIHRoYXQgdmFsdWUgaW5zdGVhZCBvZiBqdXN0IG91ciBvd24gdGVzdC4KKwkocHJpbnRwYXRobik6IExpa2V3aXNlLgorCUZpeGVzIFJIIzM1ODI0MS4KKworCSogbGludXgvbWlwcy9zeXNjYWxsZW50Lmg6IEZpeCBhcmd1bWVudCBjb3VudCBmb3IgZmFkdmlzZTY0XzY0LgorCUZyb20gUGF1bCBNdW5kdCA8bGV0aGFsQGxpbnV4LXNoLm9yZz4uCisKKwkqIGxpbnV4L21pcHMvc3lzY2FsbGVudC5oOiBGaXggYXJndW1lbnQgY291bnQgZm9yIGxvb2t1cF9kY29va2llLgorCUZyb20gUGF1bCBNdW5kdCA8bGV0aGFsQGxpbnV4LXNoLm9yZz4uCisKKwkqIGxpbnV4L3NoNjQvc3lzY2FsbGVudC5oOiBGaXggU1lTX3NvY2tldF9zdWJjYWxsIGNoZWNrLgorCUZyb20gUGF1bCBNdW5kdCA8bGV0aGFsQGxpbnV4LXNoLm9yZz4uCisKKwkqIGxpbnV4L3NoL3N5c2NhbGxlbnQuaDogVXBkYXRlIG51bWVyb3VzIGNhbGxzLgorCUZyb20gUGF1bCBNdW5kdCA8bGV0aGFsQGxpbnV4LXNoLm9yZz4uCisKKzIwMDctMDktMjIgIERtaXRyeSBWLiBMZXZpbiA8bGR2QGFsdGxpbnV4Lm9yZz4KKworCSogZGVzYy5jIChzeXNfcHNlbGVjdDYpOiBEZWNvZGUgc2lnbmFsIG1hc2sgd2hlbiBlbnRlcmluZyBzeXNjYWxsLgorCVJlbGF4IHNpZ25hbCBtYXNrIHNpemUgY2hlY2suCisKKwkqIHRpbWUuYyAocHJpbnRfdGltZXNwZWMsIHNwcmludF90aW1lc3BlYyk6IE5ldyBmdW5jdGlvbnMuCisJKiBkZWZzLmggKHByaW50X3RpbWVzcGVjLCBzcHJpbnRfdGltZXNwZWMpOiBEZWNsYXJlIHRoZW0uCisJKiBkZXNjLmMgKHN5c19pb19nZXRldmVudHMpOiBVc2UgcHJpbnRfdGltZXNwZWMuCisJKiBzdHJlYW0uYyAoc3lzX3Bwb2xsKTogTGlrZXdpc2UuCisJKGRlY29kZV9wb2xsKTogVXNlIHNwcmludF90aW1lc3BlYy4KKworMjAwNy0wOS0yMiAgQWxhbiBDdXJyeSA8cGFjbWFuQHdvcmxkLnN0ZC5jb20+CisJICAgIERtaXRyeSBWLiBMZXZpbiA8bGR2QGFsdGxpbnV4Lm9yZz4KKworCSogc3RyZWFtLmMgKGRlY29kZV9wb2xsKTogUmVhcnJhbmdlIHNvIHRoYXQgYXJndW1lbnRzIGFyZSBkZWNvZGVkCisJYW5kIHByaW50ZWQgb24gc3lzY2FsbCBlbnRyeSwgZXhjZXB0IGZvciByZXZlbnRzIGFuZCB0aGUgb3V0cHV0CisJdGltZXNwZWMgd2hpY2ggYXJlIG5vdyBwcmludGVkIGluIHRoZSBhdXhzdHIuCisJKHN5c19wb2xsKTogUHJpbnQgdGhlIGlucHV0IHRpbWVvdXQgYXJndW1lbnQgb24gc3lzY2FsbCBlbnRyeS4KKwlbTElOVVhdIChzeXNfcHBvbGwpOiBMaWtld2lzZS4KKwlGaXhlcyBEZWJpYW4jMzY5NjUxLgorCisyMDA3LTA5LTIyICBEbWl0cnkgVi4gTGV2aW4gPGxkdkBhbHRsaW51eC5vcmc+CisKKwkqIGRlc2MuYyAoc3ByaW50ZmxhZ3MpOiBSZW1vdmUgc3RhdGljIHF1YWxpZmllciwgYWRkICJwcmVmaXgiCisJYXJndW1lbnQsIG1vdmUgZnVuY3Rpb24gdG8gLi4uCisJKiB1dGlsLmMgKHNwcmludGZsYWdzKTogLi4uIGhlcmUuCisJKiBkZWZzLmggKHNwcmludGZsYWdzKTogRGVjbGFyZSBpdC4KKworMjAwNy0xMS0wMSAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KKworCSogc3lzY2FsbC5jIChnZXRfc2NubykgW0FSTV06IENoZWNrIFRDQl9XQUlURVhFQ1ZFLgorCVJlcG9ydGVkIGJ5IEJlcm5oYXJkIEZpc2NoZXIgPHJlcC5kb3Qubm9wQGdtYWlsLmNvbT4uCisKKwkqIG5ldC5jIChzb2NrcGFja2V0b3B0aW9ucyk6IE1ha2UgUEFDS0VUX0FERF9NRU1CRVJTSElQIGFuZAorCVBBQ0tFVF9EUk9QX01FTUJFUlNISVAgY29uZGl0aW9uYWwuCisJRnJvbSBCZXJuaGFyZCBGaXNjaGVyIDxyZXAuZG90Lm5vcEBnbWFpbC5jb20+LgorCisJKiBjb25maWd1cmUuYWM6IE1hdGNoIHNoNjQqIGZvciBTSDY0LCBzaCogZm9yIFNILgorCVJlcG9ydGVkIGJ5IEJlcm5oYXJkIEZpc2NoZXIgPHJlcC5kb3Qubm9wQGdtYWlsLmNvbT4uCisKKzIwMDctMTAtMDEgIERtaXRyeSBWLiBMZXZpbiA8bGR2QGFsdGxpbnV4Lm9yZz4KKworCSogbmV0LmMgKHByaW50c29jayk6IE91dHB1dCBBRl9VTklYIHNvY2tldCBhZGRyZXNzIHVzaW5nCisJcHJpbnRwYXRobigpIHRvIGF2b2lkIHVucHJpbnRhYmxlIGNoYXJhY3RlcnMgaW4gb3V0cHV0LgorCVN1Z2dlc3RlZCBieSBOZWlsIENhbXBiZWxsLgorCisyMDA3LTEwLTAxICBEbWl0cnkgVi4gTGV2aW4gPGxkdkBhbHRsaW51eC5vcmc+CisKKwkqIHV0aWwuYyAoc3RyaW5nX3F1b3RlKTogTW92ZSBxdW90aW5nIGNvZGUgZnJvbSAuLi4KKwkocHJpbnRzdHIpIC4uLiBoZXJlLiAgVXNlIHN0cmluZ19xdW90ZS4KKwkocHJpbnRwYXRobik6IFVwZGF0ZSBmb3IgbmV3IHN0cmluZ19xdW90ZSBpbnRlcmZhY2UuCisJKHByaW50cGF0aCk6IFVzZSBwcmludHBhdGhuLgorCisyMDA3LTA5LTI1ICBEbWl0cnkgVi4gTGV2aW4gPGxkdkBhbHRsaW51eC5vcmc+CisKKwkqIHN0cmFjZS5jIChtYWluKTogVXNlIGNhbGxvYyBmb3IgdGNidGFiIGFsbG9jYXRpb24uCisJQ2hlY2sgY2FsbG9jIHJldHVybiB2YWx1ZS4KKwlSZXBvcnRlZCBieSBCYWkgV2VpZG9uZy4KKworMjAwNy0wOS0xMSAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KKworCSogbGludXgvc3BhcmMvc3lzY2FsbC5oOiBBZGQgbWlzc2luZyBkZWNscy4KKwkqIGxpbnV4L3NwYXJjL3N5c2NhbGxlbnQuaDogQ29ycmVjdCBlbnRyaWVzIGZvciBzZXRncm91cHMzMiwKKwlnZXRncm91cHMzMiwgc3lzX2dldGRlbnRzNjQuCisJRnJvbSBKYWt1YiBCb2d1c3ogPHFib29zaEBwbGQtbGludXgub3JnPi4KKworCSogbGludXgvYWxwaGEvc3lzY2FsbGVudC5oOiBDb3JyZWN0IGVudHJpZXMgZm9yIG1hZHZpc2UsIHNldHJlc2dpZCwKKwlnZXRyZXNnaWQsIHBpdm90X3Jvb3QsIG1pbmNvcmUsIHBjaWNvbmZpZ19pb2Jhc2UsIGdldGRlbnRzNjQuCisJRnJvbSBKYWt1YiBCb2d1c3ogPHFib29zaEBwbGQtbGludXgub3JnPi4KKworCSogbGludXgvc3lzY2FsbGVudC5oOiBGaXggZ2V0ZWdpZDMyIGVudHJ5LgorCUZyb20gSmFrdWIgQm9ndXN6IDxxYm9vc2hAcGxkLWxpbnV4Lm9yZz4uCisKKwkqIGRlZnMuaCBbTElOVVhTUEFSQ106IFVzZSBhc20vcHNyY29tcGF0LmggZm9yIFtTUEFSQzY0XSwgbm90IGFzbS9wc3IuaC4KKwlGcm9tIEpha3ViIEJvZ3VzeiA8cWJvb3NoQHBsZC1saW51eC5vcmc+LgorCisJKiBtZW0uYyAoc3lzX2dldHBhZ2VzaXplKTogRGVmaW5lIGZvciBbU1BBUkMgfHwgU1BBUkM2NF0gdG9vLgorCUZyb20gSmFrdWIgQm9ndXN6IDxxYm9vc2hAcGxkLWxpbnV4Lm9yZz4uCisKKzIwMDctMDgtMjAgIERtaXRyeSBWLiBMZXZpbiA8bGR2QGFsdGxpbnV4Lm9yZz4KKworCSogc3lzY2FsbC5jIChxdWFsX3N5c2NhbGwsIHF1YWxpZnkpOiBGaXggbnN5c2NhbGxzIGFuZCBNQVhfUVVBTFMgbWlzdXNlLgorCVJlcG9ydGVkIGJ5IFhpYW9uaW5nIERpbmcuCisKKzIwMDctMDgtMDYgIEphbiBLcmF0b2NodmlsICA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KKwkgICAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KKworCSogZmlsZS5jIFshSEFWRV9TVEFUNjQgJiYgTElOVVggJiYgWDg2XzY0XSAoc3RydWN0IHN0YXQ2NCk6IERlZmluZSBpdC4KKwlbIUhBVkVfU1RBVDY0ICYmIExJTlVYICYmIFg4Nl82NF0gKEhBVkVfU1RBVDY0LCBTVEFUNjRfU0laRSk6IERlZmluZS4KKwlbSEFWRV9TVEFUNjRdIChwcmludHN0YXQ2NCkgW1NUQVQ2NF9TSVpFXTogQWRkIGNvbXBpbGUtdGltZSBhc3NlcnRpb24uCisJRml4ZXMgUkgjMjIyMjc1LgorCisJKiBmaWxlLmMgKHByaW50c3RhdDY0KTogVGVzdCBbSEFWRV9MT05HX0xPTkddIGZvciBzdF9zaXplIHByaW50aW5nCisJYW5kIGNhc3QgdG8gd2lkZXN0IHR5cGUgYXZhaWxhYmxlLgorCisyMDA3LTA4LTAzICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KKworCSogZmlsZS5jIChvcGVuX21vZGVfZmxhZ3MpOiBBZGQgT19DTE9FWEVDLgorCSogbmV0LmMgKG1zZ19mbGFncyk6IEFkZCBNU0dfQ01TR19DTE9FWEVDLgorCUZpeGVzIFJIIzM2NTc4MS4KKworMjAwNy0wOC0wMyAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KKworCSogY29uZmlndXJlLmFjLCBORVdTOiBWZXJzaW9uIDQuNS4xNi4KKwkqIGRlYmlhbi9jaGFuZ2Vsb2csIHN0cmFjZS5zcGVjOiA0LjUuMTYtMS4KKworCSogZGViaWFuL2NvbnRyb2wgKEJ1aWxkLURlcGVuZHMpOiBSZXBsYWNlIGxpYmM2LWRldi1zMzkweCBhbmQKKwlsaWJjNi1kZXYtc3BhcmM2NCB3aXRoIGdjYy1tdWx0aWxpYi4KKwkqIGRlYmlhbi9ydWxlczogUmVwbGFjZSBzcGFyYy1saW51eCwgczM5MC1saW51eCBjb25kaXRpb25hbHMgd2l0aAorCWdlbmVyYWwgImFyY2g2NF9tYXAiIGhhaXIsIGhhbmRsZSB4ODZfNjQgYW5kIHBvd2VycGM2NCB0b28uCisJRnJvbSBNYXR0aGlhcyBLbG9zZSA8ZG9rb0Bjcy50dS1iZXJsaW4uZGU+LgorCUZpeGVzIERlYmlhbiM0MzUzMDMuCisKKzIwMDctMDgtMDIgIEphbiBLcmF0b2NodmlsICA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KKworCSogc3RyYWNlLmMgKGRldGFjaCk6IE1vdmVkIHRoZSByZXN1bWUgbm90aWZpY2F0aW9uIGNvZGUgdG8gLi4uCisJKHJlc3VtZV9mcm9tX3RjcCk6IC4uLiBhIG5ldyBmdW5jdGlvbiBoZXJlLgorCShoYW5kbGVfZ3JvdXBfZXhpdCk6IE5vIGxvbmdlciBkZXRhY2ggYWxzbyB0aGUgdGhyZWFkIGdyb3VwIGxlYWRlci4KKwkodHJhY2UpOiBGaXhlZCBwYW5pYyBvbiBleGl0IG9mIHRoZSBUQ0JfR1JPVVBfRVhJVElORyBsZWFkZXIgaXRzZWxmLgorCUZpeGVzIFJIIzI0NzkwNy4KKworCSogdGVzdC9sZWFkZXJraWxsLmMgKHN0YXJ0KTogUmVuYW1lZCB0byAuLi4KKwkoc3RhcnQwKTogLi4uIGhlcmUuCisJKHN0YXJ0MSk6IE5ldyBmdW5jdGlvbi4KKwkobWFpbik6IENyZWF0ZWQgYSBuZXcgc3BhcmUgdGhyZWFkLgorCisyMDA3LTA4LTAxICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgorCisJKiB1dGlsLmMgKHVtb3Zlbik6IERvbid0IHBlcnJvciBmb3IgRUlPLgorCSh1bW92ZXN0cik6IExpa2V3aXNlLgorCisJKiBwcm9jZXNzLmMgKHByaW50YXJndik6IEhhbmRsZSBib3VuZGFyeSBjYXNlcyBjb3JyZWN0bHkuCisJSGFuZGxlIGJpYXJjaCBmZXRjaGluZyBjb3JyZWN0bHkuCisKKwkqIHV0aWwuYyAocHJpbnRzdHIpOiBEb24ndCBwcmludCAuLi4gaWYgdGhlIHN0cmluZyBtYXRjaGVzIHRoZSBsZW5ndGgKKwlsaW1pdCBleGFjdGx5LgorCisJKiBsaW51eC9zcGFyYzY0L3N5c2NhbGxlbnQuaDogSnVzdCAjaW5jbHVkZSB0aGUgc3BhcmMgZmlsZS4KKwkqIGxpbnV4L3NwYXJjNjQvc3lzY2FsbGVudDEuaDogTGlrZXdpc2UuCisJKiBsaW51eC9zcGFyYzY0L3N5c2NhbGxlbnQyLmg6IExpa2V3aXNlLgorCisJKiBsaW51eC9hcm0vc3lzY2FsbGVudC5oOiBBZGQgZW50cnkgZm9yIGdldGNwdS4KKwkqIGxpbnV4L2hwcGEvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKwkqIGxpbnV4L2lhNjQvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKwkqIGxpbnV4L21pcHMvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKwkqIGxpbnV4L3Bvd2VycGMvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKwkqIGxpbnV4L3MzOTAvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKwkqIGxpbnV4L3MzOTB4L3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9zaC9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCSogbGludXgvc2g2NC9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCSogbGludXgvc3BhcmMvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKwkqIGxpbnV4L3NwYXJjNjQvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKworCSogbGludXgvYXJtL3N5c2NhbGxlbnQuaDogQWRkIGVudHJ5IGZvciBldmVudGZkLgorCSogbGludXgvaWE2NC9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCSogbGludXgvbWlwcy9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCSogbGludXgvcG93ZXJwYy9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCSogbGludXgvczM5MC9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCSogbGludXgvczM5MHgvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKwkqIGxpbnV4L3NoL3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9zaDY0L3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9zcGFyYy9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCSogbGludXgvc3BhcmM2NC9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCisJKiBsaW51eC9hcm0vc3lzY2FsbGVudC5oOiBBZGQgZW50cnkgZm9yIHRpbWVyZmQuCisJKiBsaW51eC9pYTY0L3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9taXBzL3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9wb3dlcnBjL3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9zMzkwL3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9zMzkweC9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCSogbGludXgvc2gvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKwkqIGxpbnV4L3NoNjQvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKwkqIGxpbnV4L3NwYXJjL3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9zcGFyYzY0L3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisKKwkqIGxpbnV4L2FybS9zeXNjYWxsZW50Lmg6IEFkZCBlbnRyeSBmb3Igc2lnbmFsZmQuCisJKiBsaW51eC9pYTY0L3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9taXBzL3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9wb3dlcnBjL3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9zMzkwL3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9zMzkweC9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCSogbGludXgvc2gvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKwkqIGxpbnV4L3NoNjQvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKwkqIGxpbnV4L3NwYXJjL3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9zcGFyYzY0L3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisKKwkqIGxpbnV4L2hwcGEvc3lzY2FsbGVudC5oOiBBZGQgZW50cnkgZm9yIGVwb2xsX3B3YWl0LgorCSogbGludXgvaWE2NC9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCSogbGludXgvbWlwcy9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCSogbGludXgvcG93ZXJwYy9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCSogbGludXgvczM5MC9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCSogbGludXgvczM5MHgvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKwkqIGxpbnV4L3NoL3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9zaDY0L3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9zcGFyYy9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCSogbGludXgvc3BhcmM2NC9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCisyMDA3LTA3LTIzICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KKworCSogcHJvY2Vzcy5jIChzeXNfZ2V0Y3B1KTogTmV3IGZ1bmN0aW9uLgorCSogbGludXgvc3lzY2FsbC5oOiBEZWNsYXJlIHN5c19nZXRjcHUuCisJKiBsaW51eC9zeXNjYWxsZW50Lmg6IEFkZCBlbnRyeSBmb3IgZ2V0Y3B1LgorCisJKiBkZXNjLmMgKHN5c19ldmVudGZkKTogTmV3IGZ1bmN0aW9uLgorCSogbGludXgvc3lzY2FsbC5oOiBEZWNsYXJlIHN5c19ldmVudGZkLgorCSogbGludXgvc3lzY2FsbGVudC5oOiBBZGQgZW50cnkgZm9yIGV2ZW50ZmQuCisJKiBsaW51eC94ODZfNjQvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKworCSogdGltZS5jIChwcmludGl0dl9iaXRuZXNzKTogQWRkIG1pc3NpbmcgYnJhY2VzIHRvIGVuY2xvc2UKKwljb25kaXRpb25hbCBjb2RlLgorCShUREZfVElNRVJfQUJTVElNRSk6IERlZmluZSBpZiBub3QgYWxyZWFkeS4KKwkodGltZXJmZGZsYWdzKTogTmV3IHZhcmlhYmxlLgorCShzeXNfdGltZXJmZCk6IE5ldyBmdW5jdGlvbi4KKwkqIGxpbnV4L3N5c2NhbGwuaDogRGVjbGFyZSBzeXNfdGltZXJmZC4KKwkqIGxpbnV4L3N5c2NhbGxlbnQuaDogQWRkIHRpbWVyZmQgZW50cnkuCisJKiBsaW51eC94ODZfNjQvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKworCSogbGludXgvc3lzY2FsbC5oOiBEZWNsYXJlIHN5c19zaWduYWxmZC4KKwkqIGxpbnV4L3N5c2NhbGxlbnQuaDogQWRkIGVudHJ5IGZvciBzaWduYWxmZC4KKwkqIGxpbnV4L3g4Nl82NC9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCSogc2lnbmFsLmMgKHN5c19zaWduYWxmZCk6IE5ldyBmdW5jdGlvbi4KKworCSogZGVzYy5jIChzeXNfZXBvbGxfd2FpdCk6IE1vdmUgYm9keSBvZiBmdW5jdGlvbiB0byAuLi4KKwkoZXBvbGxfd2FpdF9jb21tb24pOiAuLi5oZXJlLiAgTmV3IGZ1bmN0aW9uLgorCShzeXNfZXBvbGxfcHdhaXQpOiBOZXcgZnVuY3Rpb24uCisJKiBsaW51eC9zeXNjYWxsLmg6IERlY2xhcmUgc3lzX2Vwb2xsX3B3YWl0LgorCSogbGludXgvc3lzY2FsbGVudC5oOiBBZGQgZW50cnkgZm9yIGVwb2xsX3B3YWl0LgorCSogbGludXgveDg2XzY0L3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisKKzIwMDctMDctMjMgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CisKKwkqIHRpbWUuYyAocHJpbnR0dl9iaXRuZXNzKTogU1BFQ0lBTCBvbmx5IGNvdW50cyB3aGVuIHR2X3NlYyA9PSAwLgorCisJKiBsaW51eC9hcm0vc3lzY2FsbGVudC5oOiBBZGQgbW92ZV9wYWdlcy4KKwkqIGxpbnV4L2hwcGEvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKwkqIGxpbnV4L2lhNjQvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKwkqIGxpbnV4L202OGsvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKwkqIGxpbnV4L21pcHMvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKwkqIGxpbnV4L3Bvd2VycGMvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKwkqIGxpbnV4L3MzOTAvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKwkqIGxpbnV4L3MzOTB4L3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9zaC9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCSogbGludXgvc2g2NC9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCSogbGludXgvc3BhcmMvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKwkqIGxpbnV4L3NwYXJjNjQvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKworCSogbGludXgvc3lzY2FsbGVudC5oOiBtb3ZlX3BhZ2VzIHRha2VzIDYgYXJncywgbm90IDUuCisJKiBsaW51eC94ODZfNjQvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKworMjAwNy0wNy0yMyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CisKKwkqIGRlZnMuaDogQWRkIG5ldyBwYXJhbWV0ZXIgdG8gcHJpbnR0dl9iaXRuZXNzIHByb3RvdHlwZS4KKwkocHJpbnR0dHYpOiBQYXNzIHplcm8gZm9yIHRoZSBuZXcgcGFyYW1ldGVyLgorCShwcmludHR2X3NwZWNpYWwpOiBOZXcgbWFjcm8uCisJKiBkZXNjLmMgKGRlY29kZV9zZWxlY3QpOiBQYXNzIHplcm8gZm9yIHRoZSBuZXcgcGFyYW1ldGVyIG9mCisJcHJpbnR0dl9iaXRuZXNzLgorCSogZmlsZS5jICh1dGltZW5zYXRmbGFncyk6IE5ldyBtYWNyby4KKwkoc3lzX29zZl91dGltZXMpOiBQYXNzIHplcm8gZm9yIHRoZSBuZXcgcGFyYW1ldGVyIG9mCisJcHJpbnR0dl9iaXRuZXNzLgorCShzeXNfdXRpbWVzKTogTGlrZXdpc2UuCisJKHN5c19mdXRpbWVzYXQpOiBMaWtld2lzZS4KKwkoZGVjb2RlX3V0aW1lcyk6IEFkZCBuZXcgcGFyYW1ldGVyLiAgUGFzcyBpdCB0byB0aGUKKwlwcmludHR2X2JpdG5lc3MgY2FsbHMuICBGaXggcHJpbnRpbmcgb2YgdGltZSB2YWx1ZXMuCisJKHN5c191dGltZW5zYXQpOiBOZXcgZnVuY3Rpb24uCisJKiB0aW1lLmMgKFVUSU1FX05PVywgVVRJTUVfT01JVCk6IERlZmluZSBpZiBub3QgYWxyZWFkeQorCWhhcHBlbmVkLgorCShwcmludHR2X2JpdG5lc3MpOiBBZGQgbmV3IHBhcmFtZXRlci4gIFByaW50IHNwZWNpYWwgVVRJTUVfKgorCXZhbHVlcyBhcyBzdHJpbmdzIGlmIHNldC4KKwkoc3lzX29zZl9nZXR0aW1lb2ZkYXkpOiBQYXNzIHplcm8gZm9yIHRoZSBuZXcgcGFyYW1ldGVyIG9mCisJcHJpbnR0dl9iaXRuZXNzLgorCShzeXNfb3NmX3NldHRpbWVvZmRheSk6IExpa2V3aXNlLgorCSogbGludXgvc3lzY2FsbC5oOiBEZWNsYXJlIHN5c191dGltZW5zYXQuCisJKiBsaW51eC9zeXNjYWxsZW50Lmg6IEFkZCB1dGltZW5zYXQgZW50cnkuCisJKiBsaW51eC94ODZfNjQvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKworCSogbWVtLmMgKG1vdmVfcGFnZXNfZmxhZ3MpOiBOZXcgdmFyaWFibGUuCisJKHN5c19tb3ZlX3BhZ2VzKTogTmV3IGZ1bmN0aW9uLgorCSogbGludXgvc3lzY2FsbC5oOiBEZWNsYXJlIHN5c19tb3ZlX3BhZ2VzLgorCSogbGludXgvc3lzY2FsbGVudC5oOiBBZGQgZW50cnkgZm9yIHN5c19tb3ZlX3BhZ2VzLgorCSogbGludXgveDg2XzY0L3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisKKwkqIG1lbS5jIChNUE9MX01GX01PVkUsIE1QT0xfTUZfTU9WRV9BTEwpOiBEZWZpbmUuCisJKG1iaW5kZmxhZ3MpOiBBZGQgTVBPTF9NRl9NT1ZFIGFuZCBNUE9MX01GX01PVkVfQUxMIGVudHJpZXMuCisKKzIwMDctMDctMjMgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CisKKwkqIHV0aWwuYyAodHZfYWRkKTogRml4IHJvdW5kaW5nIGNvbXBhcmlzb24uCisJUmVwb3J0ZWQgYnkgQmFpIFdlaWRvbmcgPGJhaXdkQGNuLmZ1aml0c3UuY29tPi4KKworMjAwNy0wNy0xMSAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KKworCSogY291bnQuYyAoY2FsbF9zdW1tYXJ5X3BlcnMpOiBVc2UgdHZfZmxvYXQgY29udmVyc2lvbiBmb3Igb3V0cHV0IG9mCisJY3VtdWxhdGl2ZSB0aW1lLCBpbiBjYXNlIGl0IGlzIG5lZ2F0aXZlIGZyb20gYm9ndXMgLU8gdmFsdWUuCisJRnJvbSBMYWkgSmlhbmdTaGFuIDxsYWlqc0Bjbi5mdWppdHN1LmNvbT4uCisKKwkqIHN0cmFjZS5jIChoYW5kbGVfZ3JvdXBfZXhpdCk6IERldGFjaCBUQ1AgYmVmb3JlIExFQURFUi4KKwlEb24ndCB1c2UgUFRSQUNFX0tJTEwgb24gTEVBREVSLgorCisJKiB1dGlsLmMgKHByaW50c3RyKTogRml4IHNpemUgY2FsY3VsYXRpb24gZm9yIG91dHN0ciBhbGxvY2F0aW9uLgorCisJKiBjb25maWd1cmUuYWMgKHN0cnVjdCBzaWdjb250ZXh0LnNjX2hpMik6IFVzZSAjaWZkZWYgYXJvdW5kCisJPGFzbS9zaWdjb250ZXh0Lmg+IHRvIG1hdGNoIHNpZ25hbC5jIGluY2x1ZGUgY29uZGl0aW9ucy4KKworMjAwNy0wNy0wNSAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KKworCSogZGViaWFuL3J1bGVzOiBVc2UgZGViaWFuLyQocGFja2FnZSkgaW5zdGVhZCBvZiBkZWJpYW4vdG1wIGFzIHRlbXAgZGlyLgorCisJKiBjb25maWd1cmUuYWM6IFVzZSA8c3RkZGVmLmg+IGJlZm9yZSA8bGludXgvc29ja2V0Lmg+LgorCisJKiBkZWJpYW4vY2hhbmdlbG9nOiBIYXJtb25pemUgd2l0aCBkZWJpYW4gdmVyc2lvbi4KKwkqIGRlYmlhbi9jb250cm9sIChVcGxvYWRlcnMpOiBGaXggc3VybmFtZSBzcGVsbGluZy4KKwkoQnVpbGQtRGVwZW5kcyk6IE1ha2UgZGViaGVscGVyIHJlcXVpcmVtZW50ICg+PSA1LjAuMCkuCisJKFN0YW5kYXJkcy1WZXJzaW9uKTogVXBkYXRlIHRvIDMuNy4yLgorCisJKiAuY3ZzaWdub3JlOiBBZGQgc29tZSBhdXRvbWFrZS1jcmVhdGVkIGZpbGVzLgorCisJKiBmaWxlLmMgKHN5c191dGltZSk6IFVzZSBwZXJzb25hbGl0eV93b3Jkc2l6ZSB0byBoYW5kbGUgYmlhcmNoLgorCUZpeGVzIFJIIzI0NzE4NS4KKworCSogc2lnbmFsLmMgKHN5c19zaWdyZXR1cm4pIFtNSVBTXTogUGFzcyAzcmQgYXJnIHRvIHNwcmludHNpZ21hc2suCisJRnJvbSBaaGFuZyBMZSA8emhpbGdAdXNlcnMuc291cmNlZm9yZ2UubmV0Pi4KKworCSogc3RyYWNlLmMgKHN0cmFjZV9mb3Blbik6IFtfTEZTNjRfTEFSR0VGSUxFXTogVXNlIGZvcGVuNjQuCisJRml4ZXMgRGViaWFuIzM4NTMxMC4KKworCSogc3RyYWNlLmMgKG1haW4pOiBGaXggZXJyb3IgbWVzc2FnZSBmb3IgdW5mb3VuZCAtdSB1c2VyLgorCUZyb20gU3Jpbml2YXNhIERzIDxzcmluaXZhc2FAaW4uaWJtLmNvbT4uCisJRml4ZXMgUkgjMjQ3MTcwLgorCisJKiBkZWJpYW4vY29udHJvbCAoQXJjaGl0ZWN0dXJlKTogQWRkIGFybWVsLgorCisJKiBsaW51eC9zeXNjYWxsZW50Lmg6IEZpeCBzeXNfZGVsZXRlX21vZHVsZSBhcmcgY291bnQuCisJKiBsaW51eC9hbHBoYS9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCSogbGludXgvYXJtL3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9ocHBhL3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9pYTY0L3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9tNjhrL3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9taXBzL3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9wb3dlcnBjL3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9zMzkwL3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9zMzkweC9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCSogbGludXgvc2gvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKwkqIGxpbnV4L3NoNjQvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKwkqIGxpbnV4L3NwYXJjL3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9zcGFyYzY0L3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9zcGFyYzY0L3N5c2NhbGxlbnQyLmg6IExpa2V3aXNlLgorCSogbGludXgveDg2XzY0L3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9kdW1teS5oIChzeXNfZGVsZXRlX21vZHVsZSk6IFVzZSBzeXNfb3Blbi4KKwlGcm9tIEpvaGFubmVzIFN0ZXplbmJhY2ggPGpzQGxpbnV4dHYub3JnPi4KKworCSogY29uZmlndXJlLmFjOiBDaGVjayBmb3Igc3RydWN0IHNpZ2NvbnRleHQuc2NfaGkyLgorCSogc2lnbmFsLmMgKHN5c19zaWdyZXR1cm4pIFtNSVBTXTogVXNlIHNjX2hpMiB2cyBzY19zaWdzZXQgaWYgZm91bmQuCisKKwkqIHByb2Nlc3MuYyBbTElOVVhdIChmdXRleG9wcyk6IEFkZCBtYW55IG5ldyB2YWx1ZXMuCisJW0xJTlVYXSAoZnV0ZXh3YWtlb3BzLCBmdXRleHdha2VjbXBzKTogTmV3IHRhYmxlcy4KKwlbTElOVVhdIChzeXNfZnV0ZXgpOiBVc2UgdGhlbS4KKwlGcm9tIFVscmljaCBEcmVwcGVyIDxkcmVwcGVyQHJlZGhhdC5jb20+LgorCUZpeGVzIFJIIzI0MTQ2Ny4KKworMjAwNy0wNy0wNSAgSmFuIEtyYXRvY2h2aWwgIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPgorCisJKiBzdHJhY2UuYyAoZGV0YWNoKTogTmV3IHByb3RvdHlwZS4gIEV4dGVuZGVkIHRoZSBmdW5jdGlvbiBjb21tZW50LgorCVtMSU5VWF0gKGRldGFjaCk6IENhbGwgZHJvcHRjYigpIGluc3RlYWQgb2YgdGhlIHdyb25nbHkgcGFyYW1ldHJpemVkCisJZGV0YWNoKCkgY2FsbC4KKwkoaGFuZGxlX2dyb3VwX2V4aXQpOiBDYWxsIGRyb3B0Y2IoKSBpbnN0ZWFkIG9mIHRoZSB3cm9uZ2x5IHBhcmFtZXRyaXplZAorCWRldGFjaCgpIGNhbGwuCUFsd2F5cyBjYWxsIGRldGFjaCgpIG9ubHkgb25jZSBmcm9tIHRoZSBncm91cCBsZWFkZXIuCisJQ29tbWVudCB0aGUgbGVhZGVyIGtpbGxpbmcga25vd24gYnVnIHRlc3RlZCBieSBgdGVzdC9sZWFkZXJraWxsLmMnLgorCUNvZGUgYWR2aXNvcnk6IFJvbGFuZCBNY0dyYXRoCisJRml4ZXMgUkgjMjQwOTYxLgorCisJKiB0ZXN0L2xlYWRlcmtpbGwuYzogTmV3IGZpbGUuCisJKiB0ZXN0Ly5jdnNpZ25vcmUsIHRlc3QvTWFrZWZpbGU6IEFkZCBpdC4KKworMjAwNy0wMy0yMSAgQW5kcmVhcyBTY2h3YWIgIDxzY2h3YWJAc3VzZS5kZT4KKworCSogZmlsZS5jIChzeXNfbmV3ZnN0YXRhdCk6IERvbid0IHVzZSBwcmludHN0YXQ2NCBvbiBwcGM2NC4KKworMjAwNy0wMy0yOSAgVmxhZGltaXIgTmFkdm9ybmlrIDxuYWR2b3JuaWtAc3VzZS5jej4KKwkgICAgRG1pdHJ5IFYuIExldmluIDxsZHZAYWx0bGludXgub3JnPgorCisJVHJhY2UgbGludXggU0dfSU8gaW9jdGwgYXJndW1lbnRzIGFuZCByZXN1bHRzLgorCSogc2NzaS5jOiBOZXcgZmlsZS4KKwkqIE1ha2VmaWxlLmFtIChzdHJhY2VfU09VUkNFUyk6IEFkZCBpdC4KKwkqIGRlZnMuaCAoc2NzaV9pb2N0bCk6IE5ldyBmdW5jdGlvbi4KKwkqIGlvY3RsLmMgKGlvY3RsX2RlY29kZSk6IFVzZSBzY3NpX2lvY3RsKCkuCisKKzIwMDctMDYtMjggIERtaXRyeSBWLiBMZXZpbiA8bGR2QGFsdGxpbnV4Lm9yZz4KKworCSogdXRpbC5jICh0dl9tdWwpOiBNdWx0aXBseSB0dl91c2VjIHByb3Blcmx5LgorCVBhdGNoIGZyb20gQ2FpIEZlaSA8Y2FpZmVpQGNuLmZ1aml0c3UuY29tPi4KKworMjAwNy0wNi0xMSAgSmFuIEtyYXRvY2h2aWwgIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPgorCisJTmV2ZXIgaW50ZXJydXB0IHdoZW4gdGhlIGF0dGFjaGVkIHRyYWNlZCBwcm9jZXNzIHdvdWxkIGJlIGxlZnQgc3RvcHBlZC4KKwkqIHN0cmFjZS5jIChtYWluKTogYC1wJyBhdHRhY2hpbmcgbW92ZWQgdG8gLi4uCisJKHN0YXJ0dXBfYXR0YWNoKTogLi4uIGEgbmV3IGZ1bmN0aW9uLCByZW5hbWVkIGEgdmFyaWFibGUgQyB0byBUQ0JJLgorCUJsb2NrIGludGVycnVwdGluZyBzaWduYWxzIHNpbmNlIHRoZSBmaXJzdCB0cmFjZWUgaGFzIGJlZW4gYXR0YWNoZWQuCisJTmV3IGNvbW1lbnQgYWJvdXQgSU5URVJSVVBURUQgaW4gdGhlIG5vbnRocmVhZGVkIGNhc2UuCisJW0xJTlVYXSAoc3RhcnR1cF9hdHRhY2gpOiBDaGVjayBJTlRFUlJVUFRFRCBhZnRlciBlYWNoIGF0dGFjaGVkIHRocmVhZC4KKwkobWFpbik6IENvbW1hbmQgc3Bhd25pbmcgbW92ZWQgdG8gLi4uCisJKHN0YXJ0dXBfY2hpbGQpOiAuLi4gYSBuZXcgZnVuY3Rpb24sIHJlcGxhY2VkIFJFVFVSTiB3aXRoIEVYSVQuCisJW0xJTlVYXSAoZGV0YWNoKTogTmV3IHZhcmlhYmxlIENBVENIX1NJR1NUT1AsIGRvIG5vdCBzaWduYWwKKwluZXcgU0lHU1RPUCBmb3IgcHJvY2Vzc2VzIHN0aWxsIGluIFRDQl9TVEFSVFVQLgorCShtYWluKTogTW92ZSBzaWduYWxzIGFuZCBCTE9DS0VEX1NFVCBpbml0IGJlZm9yZSB0aGUgdHJhY2VlcyBhdHRhY2hpbmcsCisJW1NVTk9TNF0gKHRyYWNlKTogUmVtb3ZlZCBmaXh2Zm9yayAoKSBjYWxsIGFzIGEgZGVhZCBjb2RlLCBTSUdTVE9QIG11c3QKKwloYXZlIGJlZW4gYWxyZWFkeSBjYXVnaHQgYmVmb3JlIGNsZWFyaW5nIFRDQl9TVEFSVFVQLgorCSh0cmFjZSk6IFJlbW92ZWQgdGhlIGAhV0lGU1RPUFBFRChzdGF0dXMpJyBkZWFkIGNvZGUuCisJQ2xlYXIgVENCX1NUQVJUVVAgb25seSBpbiB0aGUgY2FzZSB0aGUgcmVjZWl2ZWQgc2lnbmFsIHdhcyBTSUdTVE9QLgorCU5ldyBjb21tZW50IHdoZW4gYFRDQl9CUFRTRVQgJiYgVENCX1NUQVJUVVAnIGNvbWJpbmF0aW9uIGNhbiBiZSBzZXQuCisJQ29kZSBhZHZpc29yeTogUm9sYW5kIE1jR3JhdGgKKwlGaXhlcyBSSCMyNDA5ODYuCisKKzIwMDctMDUtMjQgIEphbiBLcmF0b2NodmlsICA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KKworCSogc3RyYWNlLmMgW0xJTlVYXSAobXlfdGdraWxsKTogTmV3IG1hY3JvLgorCVtMSU5VWF0gKGRldGFjaCk6IFVzZSBteV90Z2tpbGwgKCkgaW5zdGVhZCBvZiBraWxsKDIpLgorCUZpeGVzIFJIIzI0MDk2Mi4KKworMjAwNy0wMy0zMCAgRG1pdHJ5IFYuIExldmluIDxsZHZAYWx0bGludXgub3JnPgorCisJKiBtZW0uYyAobW1hcF9mbGFncyk6IEFkZCBNQVBfMzJCSVQuCisJUmVwb3J0ZWQgYnkgS2lyaWxsIEEuIFNodXRlbW92LgorCisyMDA3LTAxLTEyICBEbWl0cnkgVi4gTGV2aW4gPGxkdkBhbHRsaW51eC5vcmc+CisKKwkqIHNvY2suYyAoc29ja19pb2N0bCk6IENoZWNrIHVtb3ZlKCkgcmV0dXJuIGNvZGUuCisJW0xJTlVYXTogSGFuZGxlIFNJT0NHSUZUWFFMRU4gYW5kIFNJT0NHSUZNQVAuCisKKzIwMDctMDMtMTYgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CisKKwkqIGxpbnV4L3MzOTAvc3lzY2FsbGVudC5oOiBVc2Ugc3lzX3Jlc3RhcnRfc3lzY2FsbCBmb3IgNy4KKwkqIGxpbnV4L3MzOTB4L3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisKKzIwMDctMDItMTggIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CisKKwkqIHN0cmFjZS5zcGVjIChTdW1tYXJ5KTogUmVtb3ZlIHRyYWlsaW5nIHBlcmlvZC4KKwkoJWZpbGVzKTogQWRkICVkb2MgZmlsZXMuCisJKCVjaGFuZ2Vsb2cpOiBEb3VibGUgJXMgaW4gdGV4dC4KKwkoQnVpbGRSb290KTogQ2hhbmdlIHRvIEZlZG9yYSBjYW5vbmljYWwuCisJKCVpbnN0YWxsKTogRG9uJ3QgdXNlICVtYWtlaW5zdGFsbCBtYWNyby4KKwkoJWJ1aWxkKTogVXNlICV7P19zbXBfbWZsYWdzfS4KKworMjAwNy0wMS0xNiAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KKworCSogY29uZmlndXJlLmFjLCBORVdTOiBWZXJzaW9uIDQuNS4xNS4KKwkqIGRlYmlhbi9jaGFuZ2Vsb2csIHN0cmFjZS5zcGVjOiA0LjUuMTUtMS4KKworMjAwNy0wMS0xNiAgRG1pdHJ5IFYuIExldmluIDxsZHZAYWx0bGludXgub3JnPgorCisJVXBkYXRlIG1vdW50IHBhcnNlciB0byBtYXRjaCBrZXJuZWwgYmVoYXZpb3VyLgorCSogc3lzdGVtLmMgW0xJTlVYXSAoTVNfVkVSQk9TRSk6IFJlbmFtZSB0byBNU19TSUxFTlQuCisJW0xJTlVYXSAoTVNfVU5CSU5EQUJMRSwgTVNfUFJJVkFURSwgTVNfU0xBVkUsIE1TX1NIQVJFRCk6CisJTmV3IG1hY3Jvcy4KKwlbTElOVVhdIChtb3VudF9mbGFncyk6IEFkZCB0aGVtLgorCVtMSU5VWF0gKE1TX01HQ19NU0spOiBOZXcgbWFjcm8uCisJW0xJTlVYXSAoc3lzX21vdW50KTogVXBkYXRlIHBhcnNlciB0byBtYXRjaCBrZXJuZWwgYmVoYXZpb3VyOgorCWRpc2NhcmQgTVNfTUdDX1ZBTCBtYWdpYywgZG8gbm90IGRlY29kZSB0eXBlIGFuZC9vciBkYXRhCisJc3RyaW5ncyB3aGVuIHNwZWNpZmllZCBmbGFncyBkbyBub3QgaW1wbHkgdmFsaWQgc3RyaW5ncy4KKworMjAwNy0wMS0xMiAgRG1pdHJ5IFYuIExldmluIDxsZHZAYWx0bGludXgub3JnPgorCisJKiB0aW1lLmMgW0xJTlVYXSAodHByaW50X3RpbWV4MzIsIHRwcmludF90aW1leCk6IERlY29kZSBhZGp0aW1leAorCW1vZGVzIGFzIGZsYWdzLgorCisyMDA3LTAxLTExICBEbWl0cnkgVi4gTGV2aW4gPGxkdkBhbHRsaW51eC5vcmc+CisKKwlVcGRhdGUgdW1vdW50IHBhcnNlci4KKwkqIHN5c3RlbS5jIFtMSU5VWF0gKE1OVF9GT1JDRSwgTU5UX0RFVEFDSCwgTU5UX0VYUElSRSk6IE5ldyBtYWNyb3MuCisJW0xJTlVYXSAodW1vdW50X2ZsYWdzKTogTmV3IHhsYXQgc3RydWN0dXJlIHdpdGggTU5UXyogZW50cmllcy4KKwlbTElOVVhdIChzeXNfdW1vdW50Mik6IFVzZSB1bW91bnRfZmxhZ3MuCisKKwlGaXggb3BlbigyKSBmbGFncyBwYXJzZXIuCisJKiBkZWZzLmggKHRwcmludF9vcGVuX21vZGVzKTogTmV3IGZ1bmN0aW9uLgorCSogZGVzYy5jIChzcHJpbnRfb3Blbl9tb2Rlcyk6IE5ldyBmdW5jdGlvbi4KKwkoc3lzX2ZjbnRsKTogVXNlIHRwcmludF9vcGVuX21vZGVzKCkgYW5kIHNwcmludF9vcGVuX21vZGVzKCkuCisJKiBmaWxlLmMgKG9wZW5tb2Rlcyk6IFNwbGl0IHhsYXQgaW50byBvcGVuX2FjY2Vzc19tb2RlcyBhbmQKKwlvcGVuX21vZGVfZmxhZ3MuCisJKHRwcmludF9vcGVuX21vZGVzKTogTmV3IGZ1bmN0aW9uLgorCShkZWNvZGVfb3Blbik6IFVzZSBpdC4KKwkqIGlwYy5jIChzeXNfbXFfb3BlbiwgcHJpbnRtcWF0dHIpOiBMaWtld2lzZS4KKwlGaXhlcyBSSCMyMjIzODUuCisKKzIwMDctMDEtMTEgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CisKKwkqIGNvbmZpZ3VyZS5hYywgTkVXUzogVmVyc2lvbiA0LjUuMTUuCisJKiBkZWJpYW4vY2hhbmdlbG9nLCBzdHJhY2Uuc3BlYzogNC41LjE1LTEuCisKKwkqIGRlYmlhbi9jb250cm9sIChVcGxvYWRlcnMpOiBBZGQgRnJlZGVyaWsgU2NodWVsZXIgPGZzQGRlYmlhbi5vcmc+LgorCisJKiBzdHJhY2Uuc3BlYyAoUmVsZWFzZSk6IFVzZSAlez9kaXN0fS4KKworCSogc3lzdGVtLmMgW0xJTlVYXSAoQ1RMX0NQVSk6IERlZmluZSBpbiBjYXNlIGhlYWRlciBpcyBtaXNzaW5nIGl0LgorCisyMDA2LTEyLTI3ICBEbWl0cnkgVi4gTGV2aW4gPGxkdkBhbHRsaW51eC5vcmc+CisKKwlBZGQgY29uc3QgcXVhbGlmaWVyIHRvIHhsb29rdXAoKSByZXR1cm4gdmFsdWUuCisJKiBkZWZzLmggKHhsb29rdXApOiBBZGQgY29uc3QgcXVhbGlmaWVyIHRvIHJldHVybiB2YWx1ZS4KKwkqIGRlc2MuYyAoc3ByaW50ZmxhZ3MpOiBMaWtld2lzZS4KKwkqIHByb2Nlc3MuYyAocHJpbnRwcml2KTogVXBkYXRlIHhsb29rdXAoKSB1c2UuCisJKiBzaWduYWwuYyAoc3ByaW50c2lnbWFzayk6IEFkZCBjb25zdCBxdWFsaWZpZXIgdG8gZmlyc3QgYXJndW1lbnQgYW5kCisJcmV0dXJuIHZhbHVlLgorCSogdXRpbC5jICh4bG9va3VwKTogQWRkIGNvbnN0IHF1YWxpZmllciB0byByZXR1cm4gdmFsdWUuCisJKHByaW50eHZhbCk6IFVwZGF0ZSB4bG9va3VwKCkgdXNlLgorCisyMDA2LTEyLTIxICBEbWl0cnkgVi4gTGV2aW4gPGxkdkBhbHRsaW51eC5vcmc+CisKKwlNb3ZlIGNvdW50cyBjb2RlIHRvIHNlcGFyYXRlIGZpbGUuCisJKiBjb3VudC5jOiBOZXcgZmlsZS4KKwkqIE1ha2VmaWxlLmFtIChzdHJhY2VfU09VUkNFUyk6IEFkZCBjb3VudC5jLgorCSogc3lzY2FsbC5jIChjYWxsX2NvdW50cywgY291bnR2LCBjb3VudHMsIHNob3J0ZXN0LCB0aW1lX2NtcCwKKwlzeXNjYWxsX2NtcCwgY291bnRfY21wLCBzb3J0ZnVuLCBvdmVyaGVhZCwgc2V0X3NvcnRieSwKKwlzZXRfb3ZlcmhlYWQsIGNhbGxfc3VtbWFyeV9wZXJzLCBjYWxsX3N1bW1hcnkpOiBNb3ZlIHRvIGNvdW50LmMKKwkqIGNvdW50LmMgKGNvdW50X3N5c2NhbGwpOiBOZXcgZnVuY3Rpb24uCisJKiBkZWZzLmggKGNvdW50X3N5c2NhbGwpOiBEZWNsYXJlIGl0LgorCSogc3lzY2FsbC5jICh0cmFjZV9zeXNjYWxsKTogVXNlIGl0LgorCisyMDA2LTEyLTIwICBEbWl0cnkgVi4gTGV2aW4gPGxkdkBhbHRsaW51eC5vcmc+CisKKwkqIHN5c2NhbGwuYyAoaW50ZXJuYWxfc3lzY2FsbCk6IENoYW5nZSBjb25kaXRpb25zIGZvciBpbnRlcm5hbF9leGl0LAorCWludGVybmFsX2ZvcmssIGludGVybmFsX2Nsb25lLCBpbnRlcm5hbF9leGVjIGFuZCBpbnRlcm5hbF93YWl0CisJY2FsbHMgZnJvbSBzd2l0Y2hpbmcgb24ga25vd24gc2NubyB2YWx1ZXMgdG8gc3dpdGNoaW5nIG9uIGtub3duCisJc3lzZW50W3RjcC0+c2Nub10uc3lzX2Z1bmMgdmFsdWVzLgorCUZpeGVzIFJIIzE3OTc0MC4KKworCVNob3cgc3lzdGVtIGNhbGwgc3VtbWFyeSBmb3IgZWFjaCBwZXJzb25hbGl0eS4KKwkqIHN5c2NhbGwuYyAoY291bnR2KTogTmV3IGNhbGxfY291bnRzIHBvaW50ZXJzIGFycmF5LgorCShjb3VudHMpOiBDb252ZXJ0IHRvIG1hY3JvIHdyYXBwZXIgYXJvdW5kIGNvdW50di4KKwkoY2FsbF9zdW1tYXJ5X3BlcnMpOiBOZXcgZnVuY3Rpb24uCisJKGNhbGxfc3VtbWFyeSk6IFVzZSBpdCBmb3IgZWFjaCBwZXJzb25hbGl0eS4KKwlGaXhlcyBSSCMxOTIxOTMuCisKKzIwMDYtMTItMTIgIERtaXRyeSBWLiBMZXZpbiA8bGR2QGFsdGxpbnV4Lm9yZz4KKworCUZpeCAtZmYgLW8gYmVoYXZpb3VyLiAgRml4IHBpcGluZyB0cmFjZSBvdXRwdXQuCisJKiBkZWZzLmggKG5ld291dGYpOiBSZW1vdmUuCisJKGFsbG9jdGNiKTogUmVuYW1lIHRvIGFsbG9jX3RjYi4gIEFkZCBhbGxvY3RjYigpIG1hY3JvIHdyYXBwZXIKKwlhcm91bmQgYWxsb2NfdGNiKCkuCisJKiBwcm9jZXNzLmMgWyFVU0VfUFJPQ0ZTXSAoaW50ZXJuYWxfY2xvbmUsIGludGVybmFsX2ZvcmspOgorCVJlbW92ZSBuZXdvdXRmKCkgY2FsbC4KKwkqIHN0cmFjZS5jIChzZXRfY2xvZXhlY19mbGFnLCBzdHJhY2VfZm9wZW4sIHN0cmFjZV9wb3BlbiwKKwlzd2FwX3VpZCk6IE5ldyBmdW5jdGlvbnMuCisJKHBvcGVuX3BpZCk6IE5ldyB2YXJpYWJsZS4KKwkobmV3b3V0Zik6IE1ha2Ugc3RhdGljLCB1c2Ugc3RyYWNlX2ZvcGVuKCkuCisJKG1haW4pOiBVc2Ugc3RyYWNlX2ZvcGVuKCkgYW5kIHN0cmFjZV9wb3BlbigpLCByZW1vdmUgdWlkcworCXN3YXBwaW5nLiAgRG8gbm90IG9wZW4gb3V0Zm5hbWUgd2hlbiBmb2xsb3dmb3JrID4gMS4KKwlSZWluaXRpYWxpemUgdGNwLT5vdXRmIHByb3Blcmx5LgorCShhbGxvY3RjYik6IFJlbmFtZSB0byBhbGxvY190Y2IuICBVc2UgbmV3b3V0ZigpLgorCSh0cmFjZSk6IENoZWNrIHBvcGVuX3BpZC4gIFJlbW92ZSBuZXdvdXRmKCkgY2FsbC4KKwlbVVNFX1BST0NGU10gKHByb2Nfb3BlbiwgcHJvY19wb2xsX29wZW4pOiBVc2Ugc2V0X2Nsb2V4ZWNfZmxhZygpLgorCUZpeGVzIFJIIzIwNDk1MCwgUkgjMjE4NDM1LCBEZWJpYW4jMzUzOTM1LgorCisyMDA2LTEyLTEwICBEbWl0cnkgVi4gTGV2aW4gPGxkdkBhbHRsaW51eC5vcmc+CisKKwlBZGQgYmlhcmNoIHN1cHBvcnQgZm9yICJzdHJ1Y3Qgc2lnZXZlbnQiLgorCSogdGltZS5jIFtMSU5VWCAmJiBTVVBQT1JURURfUEVSU09OQUxJVElFUyA+IDFdIChwcmludHNpZ2V2ZW50MzIpOgorCU5ldyBmdW5jdGlvbi4KKwlbTElOVVhdIChwcmludHNpZ2V2ZW50KTogW1NVUFBPUlRFRF9QRVJTT05BTElUSUVTID4gMV0KKwlIYW5kbGUgMzItYml0IHBlcnNvbmFsaXR5LgorCisJQWRkIGJpYXJjaCBzdXBwb3J0IGZvciAic3RydWN0IHRpbWV4Ii4KKwkqIHRpbWUuYyBbTElOVVggJiYgU1VQUE9SVEVEX1BFUlNPTkFMSVRJRVMgPiAxXSAodHByaW50X3RpbWV4MzIpOgorCU5ldyBmdW5jdGlvbi4KKwlbTElOVVhdICh0cHJpbnRfdGltZXgpOiBOZXcgZnVuY3Rpb24uCisJW0xJTlVYXSAoc3lzX2FkanRpbWV4KTogVXNlIGl0LgorCisJRW5oYW5jZSBhZGp0aW1leCBwYXJzZXIuCisJKiB0aW1lLmMgW0xJTlVYXSAoYWRqdGltZXhfbW9kZXMsIGFkanRpbWV4X3N0YXR1cywKKwlhZGp0aW1leF9zdGF0ZSk6IE5ldyB4bGF0IHN0cnVjdHVyZXMuCisJW0xJTlVYXSAoc3lzX2FkanRpbWV4KTogUHJpbnQgdGhlIHdob2xlIHN0cnVjdCB0aW1leC4KKwlEZWNvZGUgbW9kZXMsIHN0YXR1cyBhbmQgcmV0dXJuIGNvZGUuCisKKwlBZGQgYmlhcmNoIHN1cHBvcnQgZm9yICJzdHJ1Y3QgaXRpbWVydmFsIi4KKwkqIHRpbWUuYyAocHJpbnRpdHYpOiBSZW5hbWUgdG8gcHJpbnRpdHZfYml0bmVzcygpLgorCUFkZCBwcmludGl0digpIG1hY3JvIHdyYXBwZXIgYXJvdW5kIHByaW50aXR2X2JpdG5lc3MoKS4KKwkocHJpbnRpdHZfYml0bmVzcyk6IEhhbmRsZSAzMi1iaXQgcGVyc29uYWxpdHkuCisJW0FMUEhBXSAoc3lzX29zZl9nZXRpdGltZXIsIHN5c19vc2Zfc2V0aXRpbWVyKToKKwlVc2UgcHJpbnRpdHZfYml0bmVzcygpLgorCSh0cHJpbnRfdGltZXZhbCwgdHByaW50X3RpbWV2YWwzMik6IE5ldyBmdW5jdGlvbnMuCisJKHByaW50dHZfYml0bmVzcywgcHJpbnRpdHZfYml0bmVzcywgc3lzX2FkanRpbWV4KTogVXNlIHRoZW0uCisJKHByaW50aXR2MzIpOiBSZW1vdmUuCisKKwlBZGQgYmlhcmNoIHN1cHBvcnQgZm9yICJzdHJ1Y3QgdGltZXZhbCIuCisJKiBkZWZzLmggKGJpdG5lc3NfdCk6IE5ldyBlbnVtIHR5cGUuCisJKHByaW50dHZfYml0bmVzcywgc3ByaW50dHYpOiBOZXcgZnVuY3Rpb24gcHJvdG90eXBlcy4KKwkocHJpbnR0dik6IENvbnZlcnQgdG8gbWFjcm8gd3JhcHBlciBhcm91bmQgcHJpbnR0dl9iaXRuZXNzKCkuCisJKHByaW50dHYzMik6IFJlbW92ZS4KKwkqIGRlc2MuYyAoZGVjb2RlX3NlbGVjdCk6IFVzZSBwcmludHR2X2JpdG5lc3MoKSBhbmQgc3ByaW50dHYoKS4KKwkoc3lzX29sZHNlbGVjdCwgc3lzX29zZl9zZWxlY3QsIHN5c19zZWxlY3QsIHN5c19wc2VsZWN0Nik6CisJVXBkYXRlIGRlY29kZV9zZWxlY3QoKSB1c2UuCisJKiBmaWxlLmMgW0FMUEhBXSAoc3lzX29zZl91dGltZXMpOiBVc2UgcHJpbnR0dl9iaXRuZXNzKCkuCisJKiB0aW1lLmMgKHByaW50dHZfYml0bmVzcywgc3ByaW50dHYpOiBOZXcgZnVuY3Rpb25zLgorCShwcmludHR2LCBwcmludHR2MzIpOiBSZW1vdmUuCisJW0FMUEhBXSAoc3lzX29zZl9zZXR0aW1lb2ZkYXksIHN5c19vc2Zfc2V0dGltZW9mZGF5KToKKwlVc2UgcHJpbnR0dl9iaXRuZXNzKCkuCisJRml4ZXMgUkgjMTcxNjI2LCBSSCMxNzMwNTAuCisKKwlBZGQgYmlhcmNoIHN1cHBvcnQgZm9yICJzdHJ1Y3QgaW92ZWMiLgorCSogZGVmcy5oIChwZXJzb25hbGl0eV93b3Jkc2l6ZSk6IEFkZC4KKwkqIGlvLmMgW0hBVkVfU1lTX1VJT19IXSAodHByaW50X2lvdik6IFtMSU5VWCAmJgorCVNVUFBPUlRFRF9QRVJTT05BTElUSUVTID4gMV0gSGFuZGxlIDMyLWJpdCBwZXJzb25hbGl0eS4KKwkqIHV0aWwuYyBbSEFWRV9TWVNfVUlPX0hdIChkdW1waW92KTogW0xJTlVYICYmCisJU1VQUE9SVEVEX1BFUlNPTkFMSVRJRVMgPiAxXSBMaWtld2lzZS4KKwlQYXRjaCBmcm9tIEpha3ViIEplbGluZWsuCisJRml4ZXMgUkgjMjE4NDMzLgorCisJKiB0aW1lLmMgKHN5c190aW1lcl9jcmVhdGUpOiBDaGVjayB1bW92ZSgpIHJldHVybiBjb2RlLgorCisJTWFrZSBzZXZlcmFsIGdsb2JhbCB2YXJpYWJsZXMgc3RhdGljLgorCSNpZmRlZiBkZWZpbml0aW9ucyBvZiByYXJlbHkgdW51c2VkIGZ1bmN0aW9ucy4KKwkqIGRlZnMuaCAocmZsYWcsIHRmbGFnLCBvdXRmbmFtZSk6IFJlbW92ZS4KKwkqIHN0cmFjZS5jIChpZmxhZywgaW50ZXJhY3RpdmUsIHBmbGFnX3NlZW4sIHJmbGFnLCB0ZmxhZywKKwlvdXRmbmFtZSwgdXNlcm5hbWUpOiBNYWtlIHN0YXRpYy4KKwkqIGRlc2MuYyAoc3lzX2dldGR0YWJsZXNpemUpOiBEZWZpbmUgb25seSBmb3IKKwlBTFBIQSB8fCBGUkVFQlNEIHx8IFNVTk9TNC4KKwkqIGZpbGUuYyAoc3lzX2ZjaHJvb3QpOiBEZWZpbmUgb25seSBmb3IgU1VOT1M0IHx8IFNWUjQuCisJKHN5c19ta2ZpZm8pOiBEZWZpbmUgb25seSBmb3IgRlJFRUJTRC4KKwkqIG1lbS5jIChzeXNfc2Jyayk6IERlZmluZSBvbmx5IGZvciBGUkVFQlNEIHx8IFNVTk9TNC4KKwkoc3lzX2dldHBhZ2VzaXplKTogRGVmaW5lIG9ubHkgZm9yCisJQUxQSEEgfHwgRlJFRUJTRCB8fCBJQTY0IHx8IFNVTk9TNCB8fCBTVlI0LgorCSogbmV0LmMgKHN5c19zb19zb2NrZXQpOiBEZWZpbmUgb25seSBmb3IgU1ZSNC4KKwkqIHByb2Nlc3MuYyAoc3lzX2dldGhvc3RpZCk6IERlZmluZSBvbmx5IGZvcgorCUZSRUVCU0QgfHwgU1VOT1M0IHx8IFNWUjQuCisJKHN5c19nZXRob3N0bmFtZSk6IERlZmluZSBvbmx5IGZvcgorCUFMUEhBIHx8IEZSRUVCU0QgfHwgU1VOT1M0IHx8IFNWUjQuCisJKHN5c19zZXRwZ3JwKTogRGVmaW5lIG9ubHkgZm9yIEFMUEhBIHx8IFNVTk9TNCB8fCBTVlI0LgorCShzeXNfZXhlY3YpOiBEZWZpbmUgb25seSBmb3IgU1BBUkMgfHwgU1BBUkM2NCB8fCBTVU5PUzQuCisJKiBzaWduYWwuYyAoc3lzX3NpZ2Jsb2NrKTogRGVmaW5lIG9ubHkgZm9yIEZSRUVCU0QgfHwgU1VOT1M0LgorCShzeXNfc2lnaG9sZCwgc3lzX3NpZ3dhaXQpOiBEZWZpbmUgb25seSBmb3IgU1ZSNC4KKwkoc3lzX2tpbGxwZyk6IERlZmluZSBvbmx5IGZvciBGUkVFQlNEIHx8IFNVTk9TNC4KKwkqIHN0cmVhbS5jIChzeXNfZ2V0bXNnKTogRGVmaW5lIG9ubHkgZm9yCisJU1BBUkMgfHwgU1BBUkM2NCB8fCBTVU5PUzQgfHwgU1ZSNC4KKwkqIHN5c2NhbGwuYyAoc3lzX2luZGlyKTogRGVmaW5lIG9ubHkgZm9yIFNVTk9TNC4KKworMjAwNi0xMS0yNyAgRG1pdHJ5IFYuIExldmluICA8bGR2QGFsdGxpbnV4Lm9yZz4KKworCSogc3lzdGVtLmMgW0xJTlVYXTogRGVmaW5lIENUTF9QUk9DLCBzaW5jZSBMaW51eCAyLjYuMTgrIGhlYWRlcnMKKwlyZW1vdmVkIENUTF9QUk9DIGVudW0uCVBhdGNoIGZyb20gSmFrdWIgSmVsaW5lay4KKwlbTElOVVhdIChzeXNjdGxfcm9vdCk6IEFkZCBDVExfQlVTLCBDVExfQUJJIGFuZCBDVExfQ1BVLgorCisyMDA2LTExLTIwICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KKworCSogbGludXgvaWE2NC9zeXNjYWxsZW50Lmg6IEFkZCAjaWYgY2hlY2sgdG8gbWFrZSBzdXJlIHRoYXQKKwlTWVNfc29ja2V0X3N1YmNhbGwgYWRqdXN0bWVudCBpc24ndCBmb3Jnb3R0ZW4gYWdhaW4uCisKKzIwMDYtMTAtMTYgIERtaXRyeSBWLiBMZXZpbiAgPGxkdkBhbHRsaW51eC5vcmc+CisKKwlJbXBsZW1lbnQgY29tcHJlaGVuc2l2ZSBxdW90YWN0bCgyKSBwYXJzZXIgZm9yIExpbnV4LgorCSogTWFrZWZpbGUuYW0gKHN0cmFjZV9TT1VSQ0VTKTogQWRkIHF1b3RhLmMuCisJKiBxdW90YS5jOiBOZXcgZmlsZS4KKwkqIHJlc291cmNlLmM6IFJlbW92ZSBvbGQgcXVvdGFjdGwoMikgcGFyc2VyLgorCUZpeGVzIFJIIzExODY5Ni4KKworMjAwNi0xMC0xNCAgRG1pdHJ5IFYuIExldmluICA8bGR2QGFsdGxpbnV4Lm9yZz4KKworCSogY29uZmlndXJlLmFjIChBQ19DSEVDS19IRUFERVJTKTogQWRkIGludHR5cGVzLmguCisJKiBmaWxlLmMgW19MRlM2NF9MQVJHRUZJTEUgJiYgKExJTlVYIHx8IFNWUjQpXToKKwlJbmNsdWRlIDxpbnR0eXBlcy5oPi4KKwkoc3lzX2dldGRlbnRzNjQpOiBVc2UgUFJJdTY0L1BSSWQ2NCB0byBhdm9pZCBnY2Mgd2FybmluZ3Mgb24KKwk2NC1iaXQgcGxhdGZvcm1zLgorCisJKiBzdHJhY2UuYyAobWFpbik6IENoZWNrIGdldGN3ZCgpIHJldHVybiBjb2RlLgorCisyMDA2LTEwLTEzICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KKwkgICAgQmVybmhhcmQgS2FpbmRsIDxia0BzdXNlLmRlPgorCSAgICBEbWl0cnkgVi4gTGV2aW4gIDxsZHZAYWx0bGludXgub3JnPgorCSAgICBNaWNoYWVsIEhvbHpoZXUgPGhvbHpoZXVAZGUuaWJtLmNvbT4KKworCUFkZCBob29rcyBmb3IgbmV3IHN5c2NhbGxzLiAgQWRkIGRlY29kZXJzIGZvciAqYXQsIGlub3RpZnkqLAorCXBzZWxlY3Q2LCBwcG9sbCBhbmQgdW5zaGFyZSBzeXNjYWxscy4KKworCSogZGVmcy5oOiBEZWNsYXJlIHByaW50X3NpZ3NldC4KKwkqIGRlc2MuYyAoc3lzX3BzZWxlY3Q2KTogTmV3IGZ1bmN0aW9uLgorCSogZmlsZS5jIChkZWNvZGVfb3BlbiwgZGVjb2RlX2FjY2VzcywgZGVjb2RlX21rZGlyLAorCWRlY29kZV9yZWFkbGluaywgZGVjb2RlX2NobW9kLCBkZWNvZGVfdXRpbWVzLCBkZWNvZGVfbWtub2QpOgorCU5ldyBmdW5jdGlvbnMuCisJKHN5c19vcGVuLCBzeXNfYWNjZXNzLCBzeXNfbWtkaXIsIHN5c19yZWFkbGluaywgc3lzX2NobW9kLAorCXN5c191dGltZXMsIHN5c19ta25vZCk6IFVzZSB0aGVtLgorCVtMSU5VWF0gKGZzdGF0YXRmbGFncywgdW5saW5rYXRmbGFncywgaW5vdGlmeV9tb2Rlcyk6IE5ldworCXZhcmlhYmxlcy4KKwlbTElOVVhdIChwcmludF9kaXJmZCwgc3lzX29wZW5hdCwgc3lzX2ZhY2Nlc3NhdCwKKwlzeXNfbmV3ZnN0YXRhdCwgc3lzX21rZGlyYXQsIHN5c19saW5rYXQsIHN5c191bmxpbmthdCwKKwlzeXNfc3ltbGlua2F0LCBzeXNfcmVhZGxpbmthdCwgc3lzX3JlbmFtZWF0LCBzeXNfZmNob3duYXQsCisJc3lzX2ZjaG1vZGF0LCBzeXNfZnV0aW1lc2F0LCBzeXNfbWtub2RhdCwgc3lzX2lub3RpZnlfYWRkX3dhdGNoLAorCXN5c19pbm90aWZ5X3JtX3dhdGNoKTogTmV3IGZ1bmN0aW9ucy4KKwkqIHByb2Nlc3MuYyBbTElOVVhdIChzeXNfdW5zaGFyZSk6IE5ldyBmdW5jdGlvbi4KKwkqIHNpZ25hbC5jIChwcmludF9zaWdzZXQpOiBOZXcgZnVuY3Rpb24uCisJKHN5c19zaWdwcm9jbWFzayk6IFVzZSBpdC4KKwkqIHN0cmVhbS5jIChkZWNvZGVfcG9sbCk6IE5ldyBmdW5jdGlvbi4KKwkoc3lzX3BvbGwpOiBVc2UgaXQuCisJW0xJTlVYXSAoc3lzX3Bwb2xsKTogTmV3IGZ1bmN0aW9uLgorCSogbGludXgvc3lzY2FsbC5oOiBEZWxjYXJlIG5ldyBzeXNjYWxsIGhhbmRsZXJzLgorCSogbGludXgvc3lzY2FsbGVudC5oOiBIb29rIHVwIG5ldyBzeXNjYWxscy4KKwkqIGxpbnV4L2FscGhhL3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9ocHBhL3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9pYTY0L3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9taXBzL3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9wb3dlcnBjL3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9zMzkwL3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9zMzkweC9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCSogbGludXgvc3BhcmMvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKwkqIGxpbnV4L3NwYXJjNjQvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKwkqIGxpbnV4L3g4Nl82NC9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCUZpeGVzIFJIIzE3ODYzMy4KKworMjAwNi0xMC0wNiAgRG1pdHJ5IFYuIExldmluICA8bGR2QGFsdGxpbnV4Lm9yZz4KKworCSogc3RyYWNlLmMgWyFVU0VfUFJPQ0ZTXSAodHJhY2UpOiBQcmVzZW5jZSBvZiBQVF9HRVRTSUdJTkZPCisJbWFjcm8gZG9lcyBub3QgbWVhbiB0aGF0IFBUX0NSX0lQU1IgYW5kIFBUX0NSX0lJUCBtYWNyb3MgYXJlCisJYWxzbyBkZWZpbmVkLCBzbyBjaGVjayB0aGVtIGFsb25nIHdpdGggUFRfR0VUU0lHSU5GTy4KKwlGaXhlcyBSSCMyMDk4NTYuCisKKzIwMDYtMDktMDEgIERtaXRyeSBWLiBMZXZpbiAgPGxkdkBhbHRsaW51eC5vcmc+CisKKwkqIGZpbGUuYyAocHJpbnRfeGF0dHJfdmFsKTogRml4IG1lbW9yeSBjb3JydXB0aW9uIGJ1ZyByZXBvcnRlZAorCWJ5IEphbWVzIEFudGlsbC4KKwlGaXhlcyBSSCMyMDA2MjEuCisKKzIwMDYtMDQtMjEgIERtaXRyeSBWLiBMZXZpbiAgPGxkdkBhbHRsaW51eC5vcmc+CisKKwkqIGRlZnMuaCBbTElOVVggJiYgWDg2XzY0ICYmICFfX05SX2V4aXRfZ3JvdXBdOiBEZWZpbmUKKwlfX05SX2V4aXRfZ3JvdXAuCisKKzIwMDYtMDMtMjkgIERtaXRyeSBWLiBMZXZpbiAgPGxkdkBhbHRsaW51eC5vcmc+CisKKwlGaXggcmFjZSBjb25kaXRpb25zIGluIHRjYiBhbGxvY2F0aW9uLgorCSogcHJvY2Vzcy5jIChmb3JrX3RjYik6IFJldHVybiBlcnJvciBjb2RlIGFzIGRvY3VtZW50ZWQuICBEbyBub3QKKwlwcmludCAidGNiIHRhYmxlIGZ1bGwiIGVycm9yIG1lc3NhZ2UuCisJW1VTRV9QUk9DRlNdIChpbnRlcm5hbF9mb3JrKTogRG8gbm90IHByaW50ICJ0Y2IgdGFibGUgZnVsbCIKKwllcnJvciBtZXNzYWdlLgorCVtTWVNfY2xvbmUgfHwgU1lTX2Nsb25lMl0gKGludGVybmFsX2Nsb25lLCBpbnRlcm5hbF9mb3JrKTogQ2FsbAorCWZvcmtfdGNiKCkgYmVmb3JlIGFsbG9jdGNiKCkuICBEbyBub3QgcHJpbnQgInRjYiB0YWJsZSBmdWxsIgorCWVycm9yIG1lc3NhZ2UuCisJKiBzdHJhY2UuYyAobWFpbik6IERvIG5vdCBwcmludCAidGNiIHRhYmxlIGZ1bGwiIGVycm9yIG1lc3NhZ2UuCisJKGV4cGFuZF90Y2J0YWIpOiBQcmludCBlcnJvciBtZXNzYWdlIGluIGNhc2Ugb2YgbWVtb3J5IGFsbG9jYXRpb24KKwlmYWlsdXJlLgorCShhbGxvY3RjYik6IFByaW50IGVycm9yIG1lc3NhZ2Ugd2hlbiB0Y2IgdGFibGUgaXMgZnVsbC4KKwkodHJhY2UpOiBFeHBhbmQgdGNiIHRhYmxlIGlmIG5lY2Vzc2FyeSBwcmlvciB0byBhbGxvY2F0aW5nCisJZW50cnkgdGhlcmUuICBEbyBub3QgcHJpbnQgInRjYiB0YWJsZSBmdWxsIiBlcnJvciBtZXNzYWdlLgorCUZpeGVzIFJIIzE4MDI5My4KKworMjAwNi0wOC0yMiAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KKworCSogaXBjLmMgKHN5c19tc2dnZXQsIHN5c19zZW1nZXQsIHN5c19zaG1nZXQpOiBTaG93IGtleSB2YWx1ZXMgaW4gaGV4LgorCUZpeGVzIFJIIzE5ODE3OS4KKworMjAwNi0wOC0yMSAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KKworCSogbGludXgvc3lzY2FsbC5oIChTWVNfc29ja2V0X3N1YmNhbGwpOiBCdW1wIHRvIDQwMC4KKwkqIGxpbnV4L3N5c2NhbGxlbnQuaDogVXBkYXRlIHRhYmxlLgorCSogbGludXgvYXJtL3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9tNjhrL3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9zMzkwL3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9zMzkweC9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCSogbGludXgvcG93ZXJwYy9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCSogbGludXgvc2gvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKwkqIGxpbnV4L3NoNjQvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKwlGaXhlcyBSSCMyMDE0NjIuCisKKzIwMDYtMDQtMjUgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CisKKwkqIHN0cmFjZS5jIChtYWluKTogRmFpbCB3aGVuIC1jIGlzIGdpdmVuIHdpdGggLWZmLgorCSogc3RyYWNlLjE6IE5vdGUgdGhlaXIgaW5jb21wYXRpYmlsaXR5LgorCUZpeGVzIFJIIzE4Nzg0Ny4KKworCSogc3RyYWNlLmMgKG1haW4pOiBGYWlsIHdoZW4gbm9ub3B0aW9uIGFyZ3MgZm9sbG93IC1wIHN3aXRjaGVzLgorCUZpeGVzIERlYmlhbiMzNjEzMDIuCisKKwkqIE1ha2VmaWxlLmFtIChFWFRSQV9ESVNUKTogQWRkIHhsYXRlLmVsLgorCisJKiBsaW51eC9taXBzL01ha2VmaWxlLmluOiBGaWxlIHJlbW92ZWQsIHVudXNlZCBjcnVmdC4KKwkqIGxpbnV4L3NwYXJjL01ha2VmaWxlLmluOiBMaWtld2lzZS4KKworCSogc3RyYWNlLnNwZWMgKFNvdXJjZTApOiBVc2UgaHR0cDovL2RsLnNvdXJjZWZvcmdlLm5ldCBVUkwuCisKKwkqIGlwYy5jIChzeXNfc2VtdGltZWRvcCk6IEZpeGVkIGludmVydGVkIGluZGlyZWN0X2lwY2NhbGwgdGVzdC4KKwkqIGxpbnV4L2hwcGEvc3lzY2FsbGVudC5oOiBGaXhlZCBzZW10aW1lZG9wIGVudHJ5LgorCUZyb20gTWlrZSBTdHJveWFuIDxtaWtlLnN0cm95YW5AaHAuY29tPi4KKwlGaXhlcyBEZWJpYW4jMzQwMjM5LgorCisyMDA2LTAzLTMwICBEYW5pZWwgSmFjb2Jvd2l0eiAgPGRhbkBjb2Rlc291cmNlcnkuY29tPgorCisJKiBsaW51eC9hcm0vc3lzY2FsbGVudC5oOiBDb3JyZWN0IHRoZSBuYW1lIG9mIGV4aXQuICBSZW1vdmUKKwlNNjhLIGNvbmRpdGlvbmFscyBhbmQgc3lzX3NlY3VyaXR5LiAgQ29ycmVjdCBzeXNjYWxscyAyNDMtMjgyLgorCUZpeGVzIERlYmlhbiMzNjAxNTQuCisKKwkqIHByb2Nlc3MuYyAoY2hhbmdlX3N5c2NhbGwpOiBBZGQgQVJNIHN1cHBvcnQuCisJKiBzeXNjYWxsLmMgKGdldF9zY25vKTogSGFuZGxlIEFSTSBFQUJJLgorCUZpeGVzIERlYmlhbiMzNjAxNTIuCisKKzIwMDYtMDEtMTYgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CisKKwkqIGNvbmZpZ3VyZS5hYywgTkVXUzogVmVyc2lvbiA0LjUuMTQuCisJKiBkZWJpYW4vY2hhbmdlbG9nLCBzdHJhY2Uuc3BlYzogNC41LjE0LTEuCisKKzIwMDYtMDEtMTMgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CisKKwkqIGRlYmlhbi9jb250cm9sIChCdWlsZC1EZXBlbmRzKTogQWRkIGRlYmhlbHBlci4KKworMjAwNi0wMS0xMiAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KKworCSogc2lnbmFsLmMgW0xJTlVYXSAoc3lzX3Jlc3RhcnRfc3lzY2FsbCk6IE5ldyBmdW5jdGlvbi4KKwkqIGxpbnV4L3N5c2NhbGwuaDogRGVjbGFyZSBzeXNfcmVzdGFydF9zeXNjYWxsLgorCSogbGludXgvc3BhcmMvc3lzY2FsbC5oOiBMaWtld2lzZS4KKwkqIGxpbnV4L3N5c2NhbGxlbnQuaDogQ2FsbCAwIGlzIHJlc3RhcnRfc3lzY2FsbC4KKwkqIGxpbnV4L2FybS9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCSogbGludXgvcG93ZXJwYy9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCSogbGludXgvbTY4ay9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCSogbGludXgvaHBwYS9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCSogbGludXgvc2gvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKwkqIGxpbnV4L3NwYXJjL3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9zcGFyYzY0L3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9hbHBoYS9zeXNjYWxsZW50Lmg6IFVzZSBzeXNfcmVzdGFydF9zeXNjYWxsLgorCSogbGludXgvaWE2NC9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCSogbGludXgvbWlwcy9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCSogbGludXgveDg2XzY0L3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJRml4ZXMgUkgjMTY1NDY5LCBEZWJpYW4jMzUwNjQxLgorCisyMDA1LTA4LTA4ICBEbWl0cnkgVi4gTGV2aW4gIDxsZHZAYWx0bGludXgub3JnPgorCisJKiBzeXN0ZW0uYyBbTElOVVhdIChNU19NR0NfVkFMKTogTmV3IG1hY3JvLgorCVtMSU5VWF0gKG1vdW50X2ZsYWdzKTogQWRkIGl0LgorCVtMSU5VWF0gKHN5c19tb3VudCk6IElmIG5laXRoZXIgTVNfQklORCBub3IgTVNfTU9WRSBiaXRzIGFyZQorICAgICAgICBzZXQgaW4gdGhlIGZsYWdzIGFyZ3VtZW50LCB0cnkgdG8gZmV0Y2ggZGF0YSBzdHJpbmcuCisJRml4ZXMgUkgjMTY1Mzc3LgorCisyMDA2LTAxLTEyICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgorCisJKiBzeXN0ZW0uYyAoc3lzX3N5c2N0bCk6IERvbid0IHJlYWQgb2ZmIGVuZCBvZiBOQU1FIHdoZW4gbWF4X3N0cmxlbgorCWV4Y2VlZHMgSU5GTy5ubGVuLgorCUZyb20gVGltbyBMaW5kZm9ycyA8dGltby5saW5kZm9yc0Bpa2kuZmk+LgorCUZpeGVzIERlYmlhbiMzMzkxMTcuCisKKwkqIGRlYmlhbi9ydWxlcyAoYmluYXJ5LWFyY2gpOiBEb24ndCBwYXNzIC1zIHRvIGluc3RhbGwuICBVc2UgZGhfc3RyaXAuCisJRml4ZXMgRGViaWFuIzMyNTEzMi4KKworCSogZGViaWFuL2NvbnRyb2wgKFN0YW5kYXJkcy1WZXJzaW9uKTogVXBkYXRlIHRvIDMuNi4yLgorCisJKiBkZWZzLmggW0xJTlVYU1BBUkNdIChQRVJTT05BTElUWTBfV09SRFNJWkUsIFBFUlNPTkFMSVRZMV9XT1JEU0laRSk6CisJTmV3IG1hY3Jvcy4KKwlbU1BBUkM2NF0gKFBFUlNPTkFMSVRZMl9XT1JEU0laRSk6IE5ldyBtYWNyby4KKwlbWDg2XzY0XSAoUEVSU09OQUxJVFkwX1dPUkRTSVpFLCBQRVJTT05BTElUWTFfV09SRFNJWkUpOiBOZXcgbWFjcm9zLgorCSogc3lzY2FsbC5jIChQRVJTT05BTElUWTBfV09SRFNJWkUpOiBOZXcgbWFjcm8gaWYgdW5kZWZpbmVkLgorCShwZXJzb25hbGl0eV93b3Jkc2l6ZSk6IE5ldyB2YXJpYWJsZS4KKwkoZGVjb2RlX3N1YmNhbGwpOiBVc2UgaXQgZm9yIHNpemUgb2YgYXJndW1lbnQgd29yZHMuCisJRml4ZXMgUkgjMTc0MzU0LgorCisyMDA1LTExLTE3ICBEbWl0cnkgVi4gTGV2aW4gIDxsZHZAYWx0bGludXgub3JnPgorCisJSW1wbGVtZW50IHF1YWxfZmxhZ3Mgc3VwcG9ydCBmb3IgZWFjaCBwZXJzb25hbGl0eS4KKwkqIHN0cmFjZS5jIChtYWluKTogTW92ZSBxdWFsaWZ5IGNhbGxzIGFmdGVyIHNldF9wZXJzb25hbGl0eSBjYWxsLgorCSogc3lzY2FsbC5jIChxdWFsX2ZsYWdzMCk6IE5ldyB2YXJpYWJsZS4uCisJW1NVUFBPUlRFRF9QRVJTT05BTElUSUVTID49IDJdIChxdWFsX2ZsYWdzMSk6IE5ldyB2YXJpYWJsZS4KKwlbU1VQUE9SVEVEX1BFUlNPTkFMSVRJRVMgPj0gM10gKHF1YWxfZmxhZ3MyKTogTmV3IHZhcmlhYmxlLgorCShxdWFsX2ZsYWdzKTogQ2hhbmdlIHZhcmlhYmxlIGRlZmluaXRpb24gZnJvbSBhcnJheSB0byBwb2ludGVyLgorCShzZXRfcGVyc29uYWxpdHkpOiBJbml0aWFsaXplIHF1YWxfZmxhZ3MgdmFyaWFibGUuCisJKHF1YWxpZnlfb25lKTogQWRkICJwZXJzIiBhcmd1bWVudCB0byBzcGVjaWZ5IHBlcnNvbmFsaXR5LgorCVtTVVBQT1JURURfUEVSU09OQUxJVElFUyA+PSAyXTogU2V0IHF1YWxfZmxhZ3MxIGlmIHJlcXVlc3RlZC4KKwlbU1VQUE9SVEVEX1BFUlNPTkFMSVRJRVMgPj0gM106IFNldCBxdWFsX2ZsYWdzMiBpZiByZXF1ZXN0ZWQuCisJKHF1YWxfc3lzY2FsbCk6IFBhc3MgcGVyc29uYWxpdHkgdG8gcXVhbGlmeV9vbmUuCisJW1NVUFBPUlRFRF9QRVJTT05BTElUSUVTID49IDJdOiBMb29rIGZvciBzeXNjYWxsIGFsc28gaW4gc3lzZW50MQorCXRhYmxlLgorCVtTVVBQT1JURURfUEVSU09OQUxJVElFUyA+PSAzXTogTG9vayBmb3Igc3lzY2FsbCBhbHNvIGluIHN5c2VudDIKKwl0YWJsZS4KKwkocXVhbF9zaWduYWwpOiBQYXNzIHBlcnNvbmFsaXR5IHRvIHF1YWxpZnlfb25lLgorCShxdWFsX2Rlc2MpOiBMaWtld2lzZS4KKwkocXVhbGlmeSk6IFVzZSBxdWFsaWZ5X29uZSBpbnN0ZWFkIG9mIG1hbnVhbCBxdWFsX2ZsYWdzCisJbWFuaXB1bGF0aW9ucy4KKwlbU1VQUE9SVEVEX1BFUlNPTkFMSVRJRVMgPj0gMl06IExvb2sgZm9yIHN5c2NhbGwgYWxzbyBpbiBzeXNlbnQxCisJdGFibGUuCisJW1NVUFBPUlRFRF9QRVJTT05BTElUSUVTID49IDNdOiBMb29rIGZvciBzeXNjYWxsIGFsc28gaW4gc3lzZW50MgorCXRhYmxlLgorCSogZGVmcy5oOiBVcGRhdGUgcXVhbF9mbGFncyBkZWNsYXJhdGlvbi4KKwlGaXhlcyBSSCMxNzM5ODYuCisKKzIwMDUtMTEtMTQgIERtaXRyeSBWLiBMZXZpbiAgPGxkdkBhbHRsaW51eC5vcmc+CisKKwkqIHN5c2NhbGwuYyAocXVhbF9zeXNjYWxsKTogSGFuZGxlIG51bWVyaWMgc3lzY2FsbCBzcGVjaWZpY2F0aW9uLgorCUZpeGVzIFJIIzE3NDc5OC4KKworCSogc3lzY2FsbC5jIChxdWFsX3NpZ25hbCwgcXVhbF9vcHRpb25zKTogUmVtb3ZlIHJlZHVuZGFudCBhcmd1bWVudAorCWNoZWNrLgorCisyMDA1LTEyLTAxICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgorCisJKiBpcGMuYyAoaW5kaXJlY3RfaXBjY2FsbCkgW01JUFMgfHwgSFBQQV06IFJldHVybiBmYWxzZS4KKwlGaXhlcyBEZWJpYW4jMzQwMjM5LgorCisJKiBNYWtlZmlsZS5hbSAoRVhUUkFfRElTVCk6IEFkZCBsaW51eC9hcm0vc3lzY2FsbGVudC5oCisJYW5kIGxpbnV4L202OGsvc3lzY2FsbGVudC5oLgorCUZpeGVzIERlYmlhbiMzMzYxOTcuCisKKwkqIGRlYmlhbi9jb250cm9sIChBcmNoaXRlY3R1cmUpOiBBZGQgYXJtZWIuCisJRml4ZXMgRGViaWFuIzMzNTY4MS4KKworMjAwNS0xMS0wMiBNaWNoYWwgTWFyZWsgIDxtbWFyZWtAc3VzZS5jej4KKworCSogc3RyYWNlLWdyYXBoIChoYW5kbGVfdHJhY2UpOiBmb2xsb3cgY2xvbmUoKSBhbmQgdmZvcmsoKSBjYWxscy4KKworMjAwNS0xMC0yNSAgSGVpa28gQ2Fyc3RlbnMgIDxoZWlrby5jYXJzdGVuc0BkZS5pYm0uY29tPgorCisJKiBsaW51eC9zMzkwL3N5c2NhbGxlbnQuaDogQWRkZWQgaW9wcmlvX3NldCwgaW9wcmlvX2dldCwKKwlpbm90aWZ5X2luaXQsIGlub3RpZnlfYWRkX3dhdGNoLCBpbm90aWZ5X3JtX3dhdGNoLgorCUNvcnJlY3RlZCBudW1iZXIgb2YgYXJndW1lbnRzIGZvciByZXF1ZXN0X2tleS4KKwkqIGxpbnV4L3MzOTB4L3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisKKzIwMDUtMTItMDEgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CisKKwkqIGlwYy5jIChpbmRpcmVjdF9pcGNjYWxsKSBbSUE2NF06IFJldHVybiBmYWxzZSB1bmxlc3MgdGhlIHN5c2NhbGwKKwludW1iZXIgaXMgaW4gdGhlIGxvdyByYW5nZSBvZiBJQTMyIHN5c2NhbGxzLgorCisyMDA1LTEwLTA3ICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBzdXNlLmRlPgorCisJKiBsaW51eC9pYTY0L3N5c2NhbGxlbnQuaDogU3lzY2FsbCAxMTA1IGlzIGdldHRpZCwgbm90IGlvcGVybS4KKworMjAwNS0xMi0wMSAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KKworCSogcmVzb3VyY2UuYyAocmVzb3VyY2VzKTogQWRkIFJMSU1JVF9OSUNFLCBSTElNSVRfUlRQUklPLgorCVJlcG9ydGVkIGJ5IFNjb3R0IFRzYWkgPHNjb3R0dDk1OEB5YWhvby5jb20udHc+LgorCisJKiBpcGMuYyAoaW5kaXJlY3RfaXBjY2FsbCk6IE5ldyBmdW5jdGlvbi4KKwkoc3lzX21zZ2N0bCwgc3lzX21zZ3NuZCwgc3lzX21zZ3Jjdiwgc3lzX3NlbW9wKTogVXNlIHRoYXQgcHJlZGljYXRlCisJaW5zdGVhZCBvZiAjaWZkZWYgTElOVVggdGVzdC4KKwlbTElOVVhdIChzeXNfc2VtdGltZWRvcCk6IExpa2V3aXNlLgorCShzeXNfc2htY3RsLCBzeXNfc2htYXQsIHN5c19zaG1kdCk6IExpa2V3aXNlLgorCUZpeGVzIFJIIzE2NDc1NS4KKworMjAwNS0wNy0zMSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CisKKwkqIGxpbnV4L3g4Nl82NC9zeXNjYWxsZW50Lmg6IEZpeCBzeXNjYWxsIHBhcmFtZXRlciBjb3VudCBmb3IgbXNncmN2IGFuZAorCW1zZ2N0bC4KKworCSogaXBjLmMgKHN5c19tc2dyY3YpOiBBZGQgZW50ZXJpbmcgaGFuZGxpbmcgYW5kIHByaW50IGZpcnN0IHBhcmFtZXRlcgorCXRoZXJlLgorCUZpeGVzIFJIIzE2NDc1Ny4KKworMjAwNS0wOC0wOCAgRG1pdHJ5IFYuIExldmluICA8bGR2QGFsdGxpbnV4Lm9yZz4KKworCSogc3RyYWNlLjE6IFVwZGF0ZSAiU0VFIEFMU08iIGxpbmtzIHRvIHJlZmVyZW5jZSB0byB2YWxpZAorCW1hbnBhZ2VzLgorCVBhdGNoIGZyb20gTWljaGFpbCBMaXR2YWsgPG1jaUBvd2wub3BlbndhbGwuY29tPi4KKwlGaXhlcyBSSCMxNjUzNzUuCisKKzIwMDUtMTAtMjEgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CisKKwkqIHV0aWwuYyAocHJpbnRwYXRobik6IENhcCBOIGF0IHNpemVvZiBwYXRoIC0gMS4KKworMjAwNS0wOC0wMyAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KKworCSogY29uZmlndXJlLmFjLCBORVdTOiBWZXJzaW9uIDQuNS4xMy4KKwkqIGRlYmlhbi9jaGFuZ2Vsb2csIHN0cmFjZS5zcGVjOiA0LjUuMTMtMS4KKworCSogY29uZmlndXJlLmFjOiBDaGVjayBmb3Igc3RydWN0IGRxYmxrLmRxYl9jdXJibG9ja3MgZmllbGQuCisJKiByZXNvdXJjZS5jIFtMSU5VWF0gKE9MRF9DTUQpOiBOZXcgbWFjcm8uCisJKHF1b3RhY21kcyk6IFVzZSBpdCB0byBoYXJkLXdpcmUgb2xkIE9fKiB2YWx1ZXMsIGRvbid0IHVzZSBtYWNyb3MuCisJKHN5c19xdW90YWN0bCk6IElmIGRxYl9jdXJibG9ja3MgaXMgbm90IHRoZXJlLCBpdCdzIGNhbGxlZAorCWRxYl9jdXJzcGFjZSBpbnN0ZWFkLiAgUHJpbnQgZHFiXyogZmllbGRzIGFzIHVuc2lnbmVkIGxvbmcgbG9uZy4KKworMjAwNS0wNy0xOSAgTWljaGFlbCBTY2htaXR6ICA8c2NobWl0ekBkZWJpYW4ub3JnPgorCisJTG9uZyBvdmVyZHVlIG02OGsgY2xlYW51cC4KKwkqIGxpbnV4L3N5c2NhbGxlbnQuaDogcmVtb3ZlIG02OGsgZGVjbGFyYXRpb25zLgorCSogbGludXgvbTY4ay9zeXNjYWxsZW50Lmg6IG5ldyBmaWxlLCBmaXhlZCB1cCBkZWNsYXJhdGlvbnMKKwl0byBtYXRjaCBrZXJuZWwgdmVyc2lvbiAyLjYuMTEuIE5ld2VyIHN5c2NhbGxzIGFyZSBzdWZmaWNpZW50bHkKKwlkaWZmZXJlbnQgZnJvbSBpMzg2IHRvIG1lcml0IGEgc2VwYXJhdGUgZmlsZS4KKworMjAwNS0wOC0wMyAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KKworCSogbGludXgveDg2XzY0L3N5c2NhbGxlbnQuaDogVXBkYXRlIGluaXRfbW9kdWxlIGFyZ3VtZW50IGNvdW50LgorCSogbGludXgvc3BhcmMvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKwkqIGxpbnV4L3NwYXJjNjQvc3lzY2FsbGVudDIuaDogTGlrZXdpc2UuCisJKiBsaW51eC9zcGFyYzY0L3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9zaC9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCSogbGludXgvc2g2NC9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCSogbGludXgvczM5MC9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCSogbGludXgvczM5MHgvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKwkqIGxpbnV4L3Bvd2VycGMvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKwkqIGxpbnV4L2FybS9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCisyMDA1LTA3LTIyICBKYW1lcyBMZW50aW5pICA8amxlbnRpbmlAZ21haWwuY29tPgorCisJKiBiam0uYyAoc3lzX2luaXRfbW9kdWxlKTogRGlzcGxheSBhbGwgdGhyZWUgYXJndW1lbnRzLgorCSogbGludXgvc3lzY2FsbGVudC5oOiBVcGRhdGUgYXJndW1lbnQgY291bnQuCisKKzIwMDUtMDgtMDMgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CisKKwkqIHByb2Nlc3MuYyAoaW50ZXJuYWxfd2FpdCk6IERvbid0IHN1c3BlbmQgd2hlbiBrbm93biBjaGlsZCBpcyBrbm93bgorCXRvIGJlIGV4aXRpbmcgYWxyZWFkeS4KKworCSogc3RyYWNlLmMgKGRldGFjaCk6IElmIGRldGFjaGluZyB0aGUgbGFzdCBsaXZlIHRocmVhZCBpbiBhIGdyb3VwIHdpdGgKKwlhIHpvbWJpZSBsZWFkZXIsIHRoZW4gZGV0YWNoIHRoZSBsZWFkZXIgdG9vLgorCShoYW5kbGVfZ3JvdXBfZXhpdCk6IFVzZSBkZXRhY2gsIG5vdCBkcm9wdGNiLCBmb3IgcHJlZGVjZWFzZWQgdGhyZWFkLgorCU1hcmsgcHJvY2VzcyBhYm91dCB0byB0YWtlIGEgc2lnbmFsIHdpdGggVENCX0dST1VQX0VYSVRJTkcgZmxhZy4KKwlGaXhlcyBSSCMxNjE5MTkuCisKKzIwMDUtMDctMTkgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CisKKwkqIGRlZnMuaCBbTElOVVhdIFtNNjhLXSAoX19OUl9leGl0X2dyb3VwKTogRGVmaW5lIGl0IGlmIG1pc3NpbmcuCisJRml4ZXMgRGViaWFuIzMxNTUwMC4KKworMjAwNS0wNy0xNCAgSGVpa28gQ2Fyc3RlbnMgIDxoZWlrby5jYXJzdGVuc0BkZS5pYm0uY29tPgorCisJKiBsaW51eC9zMzkwL3N5c2NhbGxlbnQuaCAoc3lzX3Rna2lsbCwgdnNlcnZlciwgZmFkdmlzZTY0XzY0KQorCShzdGF0ZnM2NCwgZnN0YXRmczY0LCByZW1hcF9maWxlX3BhZ2VzLCBtYmluZCwgZ2V0X21lbXBvbGljeSkKKwkoc2V0X21lbXBvbGljeSwgbXFfb3BlbiwgbXFfdW5saW5rLCBtcV90aW1lZHNlbmQsIG1xX3RpbWVkcmVjZWl2ZSkKKwkobXFfbm90aWZ5LCBtcV9nZXRzZXRhdHRyLCBzeXNfa2V4ZWNfbG9hZCwgYWRkX2tleSwgcmVxdWVzdF9rZXkpCisJKGtleWN0bCwgd2FpdGlkKTogQWRkZWQuCisJKiBsaW51eC9zMzkweC9zeXNjYWxsZW50Lmg6IExpa2V3aXNlIGFuZCBhZGRlZCBtaXNzaW5nIF9sbHNlZWsuCisJKiBsaW51eC9zMzkwL2Vycm5vZW50LmggKEVDQU5DRUxFRCwgRU5PS0VZLCBFS0VZRVhQSVJFRCkKKwkoRUtFWVJFVk9LRUQsIEVLRVlSRUpFQ1RFRCwgRU9XTkVSREVBRCwgRU5PVFJFQ09WRVJBQkxFKTogQWRkZWQuCisJKiBsaW51eC9zMzkweC9lcnJub2VudC5oOiBMaWtld2lzZS4KKworMjAwNS0wNy0wNSAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KKworCSogbWVtLmMgW0xJTlVYXSAoc3lzX29sZF9tbWFwKSBbWDg2XzY0XTogRXh0cmFjdCAzMi1iaXQgdmFsdWVzIGlmCisJY2hpbGQgaXMgMzItYml0LgorCUZpeGVzIFJIIzE2MjQ2Ny4KKworMjAwNS0wNi0wOCAgRG1pdHJ5IFYuIExldmluICA8bGR2QGFsdGxpbnV4Lm9yZz4KKworCUludHJvZHVjZSAiLWUgdHJhY2U9ZGVzYyIuCisJKiBkZWZzLmggKFRSQUNFX0RFU0MpOiBOZXcgZmxhZy4KKwkqIHN5c2NhbGwuYzogRGVmaW5lIFREIG1hY3JvIGJlZm9yZSBpbmNsdWRlIG9mIHN5c2NhbGxlbnQgZmlsZXMKKwlhbmQgdW5kZWZpbmUgaXQgYWZ0ZXJ3YXJkcy4KKwkobG9va3VwX2NsYXNzKTogUmVjb2duaXplICJkZXNjIiBrZXl3b3JkLgorCSogc3RyYWNlLjE6IERvY3VtZW50ICItZSB0cmFjZT1kZXNjIi4KKwkqIGZyZWVic2QvaTM4Ni9zeXNjYWxsZW50Lmg6IE1hcmsgdGhvc2Ugc3lzY2FsbHMgd2hpY2ggdGFrZSBhCisJZmlsZSBkZXNjcmlwdG9yIGFzIGFuIGFyZ3VtZW50IG9yIHJldHVybiBhIGZpbGUgZGVzY3JpcHRvciB3aXRoCisJVEQgZmxhZy4KKwkqIGxpbnV4L2FscGhhL3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9ocHBhL3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9pYTY0L3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9taXBzL3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9wb3dlcnBjL3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9zMzkwL3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9zMzkweC9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCSogbGludXgvc2gvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKwkqIGxpbnV4L3NoNjQvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKwkqIGxpbnV4L3NwYXJjL3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9zcGFyYzY0L3N5c2NhbGxlbnQyLmg6IExpa2V3aXNlLgorCSogbGludXgvc3BhcmM2NC9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCSogbGludXgvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKwkqIGxpbnV4L3g4Nl82NC9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCSogc3Vub3M0L3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBzdnI0L3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJRml4ZXMgUkgjMTU5NDAwLgorCisJUmVtb3ZlIFRGIGZsYWcgZnJvbSB0aG9zZSBzeXNjYWxscyB3aGljaCBoYXZlIG5vIGZpbGVuYW1lIGFyZ3VtZW50LgorCSogZnJlZWJzZC9pMzg2L3N5c2NhbGxlbnQuaDogUmVtb3ZlIFRGIGZsYWcgZnJvbSBmc3RhdCwgcHJlYWQsCisJcHdyaXRlLCBmc3RhdCwgc2VuZGZpbGUuCisJKiBsaW51eC9hbHBoYS9zeXNjYWxsZW50Lmg6IFJlbW92ZSBURiBmbGFnIGZyb20gcmVhZCwgd3JpdGUsCisJcHJlYWQsIHB3cml0ZSwgc2VuZGZpbGUuCisJKiBsaW51eC9ocHBhL3N5c2NhbGxlbnQuaDogUmVtb3ZlIFRGIGZsYWcgZnJvbSByZWFkLCB3cml0ZSwKKwlwcmVhZCwgcHdyaXRlLCBmc3RhdDY0LCBzZW5kZmlsZSwgZnRydW5jYXRlNjQuCisJKiBsaW51eC9pYTY0L3N5c2NhbGxlbnQuaDogUmVtb3ZlIFRGIGZsYWcgZnJvbSByZWFkLCB3cml0ZSwKKwlzZW5kZmlsZSwgZnN0YXQsIGZhZHZpc2U2NC4KKwkqIGxpbnV4L21pcHMvc3lzY2FsbGVudC5oOiBSZW1vdmUgVEYgZmxhZyBmcm9tIHJlYWQsIHdyaXRlLAorCWZzdGF0ZnMsIGZzdGF0LCBwcmVhZCwgcHdyaXRlLCBzZW5kZmlsZSwgZnRydW5jYXRlNjQsIGZzdGF0NjQsCisJc2VuZGZpbGU2NCwgZmFkdmlzZTY0LCBmc3RhdGZzNjQuCisJKiBsaW51eC9wb3dlcnBjL3N5c2NhbGxlbnQuaDogUmVtb3ZlIFRGIGZsYWcgZnJvbSByZWFkLCB3cml0ZSwKKwlmc3RhdCwgcHJlYWQsIHB3cml0ZSwgc2VuZGZpbGUsIGZ0cnVuY2F0ZTY0LCBmc3RhdDY0LCBzZW5kZmlsZTY0LAorCWZhZHZpc2U2NCwgZnN0YXRmczY0LCBmYWR2aXNlNjRfNjQuCisJKiBsaW51eC9zMzkwL3N5c2NhbGxlbnQuaDogUmVtb3ZlIFRGIGZsYWcgZnJvbSBwcmVhZCwgcHdyaXRlLAorCXNlbmRmaWxlLCBmdHJ1bmNhdGU2NCwgZnN0YXQ2NCwgc2VuZGZpbGU2NC4KKwkqIGxpbnV4L3MzOTB4L3N5c2NhbGxlbnQuaDogUmVtb3ZlIFRGIGZsYWcgZnJvbSBwcmVhZCwgcHdyaXRlLAorCXNlbmRmaWxlLCBzZW5kZmlsZTY0LgorCSogbGludXgvc2gvc3lzY2FsbGVudC5oOiBSZW1vdmUgVEYgZmxhZyBmcm9tIHByZWFkLCBwd3JpdGUsCisJc2VuZGZpbGUsIGZzdGF0NjQuCisJKiBsaW51eC9zaDY0L3N5c2NhbGxlbnQuaDogUmVtb3ZlIFRGIGZsYWcgZnJvbSBwcmVhZCwgcHdyaXRlLAorCXNlbmRmaWxlLCBmdHJ1bmNhdGU2NCwgZnN0YXQ2NC4KKwkqIGxpbnV4L3NwYXJjL3N5c2NhbGxlbnQuaDogUmVtb3ZlIFRGIGZsYWcgZnJvbSBzZW5kZmlsZSwgZnN0YXQ2NCwKKwlwcmVhZCwgcHdyaXRlLCBzZW5kZmlsZTY0LgorCSogbGludXgvc3BhcmM2NC9zeXNjYWxsZW50Mi5oOiBMaWtld2lzZS4KKwkqIGxpbnV4L3NwYXJjNjQvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKwkqIGxpbnV4L3N5c2NhbGxlbnQuaDogUmVtb3ZlIFRGIGZsYWcgZnJvbSBwcmVhZCwgcHdyaXRlLCBzZW5kZmlsZSwKKwlmdHJ1bmNhdGU2NCwgZnN0YXQ2NCwgc2VuZGZpbGU2NCwgZmFkdmlzZTY0LCBmYWR2aXNlNjQsIGZzdGF0ZnM2NCwKKwlmYWR2aXNlNjRfNjQuCisJKiBsaW51eC94ODZfNjQvc3lzY2FsbGVudC5oOiBSZW1vdmUgVEYgZmxhZyBmcm9tIHByZWFkLCBwd3JpdGUsCisJc2VuZGZpbGUsIGZhZHZpc2U2NF82NC4KKwkqIHN2cjQvc3lzY2FsbGVudC5oOiBSZW1vdmUgVEYgZmxhZyBmcm9tIHByZWFkLCBwd3JpdGUsIGZ0cnVuY2F0ZSwKKwlmc3RhdHZmczY0LCBmdHJ1bmNhdGU2NC4KKwlGaXhlcyBSSCMxNTkzNDAuCisKKzIwMDUtMDctMDQgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CisKKwkqIG5ldC5jIChzb2NraXB2Nm9wdGlvbnMpOiBBZGQgSVBWNl9BRERfTUVNQkVSU0hJUCwKKwlJUFY2X0RST1BfTUVNQkVSU0hJUCwgSVBWNl9ST1VURVJfQUxFUlQuCisJRnJvbSBVbHJpY2ggRHJlcHBlciA8ZHJlcHBlckByZWRoYXQuY29tPi4KKwlGaXhlcyBSSCMxNjI0NTAuCisKKwkqIG5ldC5jIChzb2NraXBvcHRpb25zKTogRml4IHR5cG9zLgorCUZyb20gVWxyaWNoIERyZXBwZXIgPGRyZXBwZXJAcmVkaGF0LmNvbT4uCisJRml4ZXMgUkgjMTYxNTc4LgorCisJKiB1dGlsLmMgKHByaW50bnVtX2ludCk6IE5ldyBmdW5jdGlvbiwgcHJpbnRudW0gd2l0aCBzL2xvbmcvaW50Ly4KKwkqIGRlZnMuaDogRGVjbGFyZSBpdC4KKwkqIG5ldC5jIChwcmludHNvY2tvcHQpOiBVc2UgaXQgZm9yIGludC1zaXplZCBvcHRpb24uCisJRml4ZXMgUkgjMTYyNDQ5LgorCVJlcG9ydGVkIGJ5IFVscmljaCBEcmVwcGVyIDxkcmVwcGVyQHJlZGhhdC5jb20+LgorCisyMDA1LTA2LTA5ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgorCisJKiBjb25maWd1cmUuYWMsIE5FV1M6IFZlcnNpb24gNC41LjEyLgorCSogZGViaWFuL2NoYW5nZWxvZywgc3RyYWNlLnNwZWM6IDQuNS4xMi0xLgorCisyMDA1LTA2LTA4ICBEbWl0cnkgVi4gTGV2aW4gIDxsZHZAYWx0bGludXgub3JnPgorCisJTWlub3IgbmFtZXNwYWNlIGNsZWFudXAuCisJKiBkZWZzLmggKHN0cmluZ19xdW90ZSk6IFJlbW92ZSBkZWNsYXJhdGlvbi4KKwkqIGZpbGUuYyAob3Blbm1vZGVzc29sKSBbTElOVVhTUEFSQ106IE1ha2Ugc3RhdGljLgorCShmaWxlZmxhZ3MpOiBMaWtld2lzZS4KKwkoYWNsY21kcywgYWNsaXBjKSBbSEFWRV9TWVNfQUNMX0hdOiBMaWtld2lzZS4KKwkoZGlyZW50dHlwZXMpIFtGUkVFQlNEIHx8IExJTlVYXTogTGlrZXdpc2UuCisJKHhhdHRyZmxhZ3MpOiBMaWtld2lzZS4KKwkqIHByb2Nlc3MuYyAodW5hbGlnbmN0bF9zdHJpbmcpOiBNYWtlIHN0YXRpYy4KKwkoc2V0YXJnKTogRGlzYWJsZS4KKwkqIHN5c2NhbGwuYyAoc3ViY2FsbHNfdGFibGUpOiBNYWtlIHN0YXRpYy4KKwkoc29ja2V0X21hcCkgWyEoTElOVVggJiYgKEFMUEhBIHx8IE1JUFMpKV06IExpa2V3aXNlLgorCShzcGFyY19zb2NrZXRfZGVjb2RlKTogTWFrZSBzdGF0aWMsIGRlZmluZSBmb3IgW1NQQVJDIHx8IFNQQVJDNjRdIG9ubHkuCisJKGRlY29kZV9zdWJjYWxsKTogTWFrZSBzdGF0aWMuCisJKHN5c2NhbGxfZml4dXApOiBMaWtld2lzZS4KKwkoZ2V0X2Vycm9yKTogTGlrZXdpc2UuCisJKHN5c2NhbGxfZW50ZXIpOiBMaWtld2lzZS4KKwkqIHV0aWwuYyAodHZfdHYpOiBEaXNhYmxlLgorCShnZXRwYyk6IExpa2V3aXNlLgorCShzdHJpbmdfcXVvdGUpOiBNYWtlIHN0YXRpYy4KKwlGaXhlcyBSSCMxNTk2ODguCisKKzIwMDUtMDUtMTIgIFBoaWxpcHBlIERlIE11eXRlciAgPHBoZG1AbWFjcWVsLmJlPgorCisJKiB1dGlsLmMgKGdldHBjLCBwcmludGNhbGwpOiBDaGVjayAjaWYgZGVmaW5lZChNNjhLKSwgbm90IE02OGsuCisJRW5hYmxlcyBgLWknIG9uIG02OGsgbWFjaGluZXMuCisKKzIwMDUtMDYtMDYgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CisKKwkqIHByb2Nlc3MuYyAoc3RydWN0X3VzZXJfb2Zmc2V0cykgW1g4Nl82NF06IFJlb3JkZXIgZWxlbWVudHMgc28KKwltYXRjaGluZyB3b3JrcyByaWdodC4KKwlGaXhlcyBSSCMxNTk3ODcuCisKKwkqIGxpbnV4L3N5c2NhbGwuaCAoU1lTX3NvY2tldCwgU1lTX2JpbmQsIFNZU19jb25uZWN0LCBTWVNfbGlzdGVuKQorCShTWVNfYWNjZXB0LCBTWVNfZ2V0c29ja25hbWUsIFNZU19nZXRwZWVybmFtZSwgU1lTX3NvY2tldHBhaXIpCisJKFNZU19zZW5kLCBTWVNfcmVjdiwgU1lTX3NlbmR0bywgU1lTX3JlY3Zmcm9tLCBTWVNfc2h1dGRvd24pCisJKFNZU19zZXRzb2Nrb3B0LCBTWVNfZ2V0c29ja29wdCwgU1lTX3NlbmRtc2csIFNZU19yZWN2bXNnKQorCShTWVNfZ2V0c29ja25hbWUsIFNZU19zZW1vcCwgU1lTX3NlbWdzdWJfZXQsIFNZU19zZW1nZXQsIFNZU19zZW1jdGwpCisJKFNZU19zZW10aW1lZG9wLCBTWVNfbXNnc25kLCBTWVNfbXNncmN2LCBTWVNfbXNnZ2V0KQorCShTWVNfbXNnY3RsLCBTWVNfc2htYXQsIFNZU19zaG1kdCwgU1lTX3NobWdldCkKKwkoU1lTX3NobWN0bCk6IE1hY3JvcyByZW5hbWVkIHRvIFNZU19zdWJfKi4KKwkqIHN5c2NhbGwuYyAoZHVtcGlvKTogTWF0Y2ggU1lTX3N1Yl8qIGlmIGRlZmluZWQgaW5zdGVhZCBvZiBTWVNfKi4KKworCSogbGludXgvc3lzY2FsbC5oIChTWVNfd2FpdGlkKTogRGVmaW5lIGlmIG5vdCBkZWZpbmVkLgorCisJKiBsaW51eC9zeXNjYWxsZW50Lmg6IEZpeCBwcmVhZC9wd3JpdGUgbmFtZXMgdG8gcHJlYWQ2NC9wd3JpdGU2NC4KKworCSogZGVmcy5oIChzdHJ1Y3Qgc3lzZW50KTogTmV3IG1lbWJlciBgbmF0aXZlX3Njbm8nLgorCShrbm93bl9zY25vKTogRGVjbGFyZSBuZXcgZnVuY3Rpb24uCisJKiBsaW51eC9zeXNjYWxsZW50Lmg6IEFkZCBuZXcgZmluYWwgZmllbGQgdG8gaW50ZXJlc3Rpbmcgc3lzY2FsbHMuCisJKiBzeXNjYWxsLmMgKGtub3duX3Njbm8pOiBOZXcgZnVuY3Rpb24uCisJKGR1bXBpbywgaW50ZXJuYWxfc3lzY2FsbCwgc3lzY2FsbF9maXh1cCwgdHJhY2Vfc3lzY2FsbCk6IFVzZSBpdC4KKwkqIHByb2Nlc3MuYyAoaW50ZXJuYWxfZm9yaywgaW50ZXJuYWxfZXhpdCk6IExpa2V3aXNlLgorCVtJQTY0XSAoQVJHX1NUQUNLU0laRSwgQVJHX1BUSUQsIEFSR19DVElELCBBUkdfVExTKTogTGlrZXdpc2UuCisJKiBzdHJhY2UuYyAocHJvY19vcGVuKTogTGlrZXdpc2UuCisJKiB1dGlsLmMgW0xJTlVYXSAoc2V0YnB0KTogTGlrZXdpc2UuCisJKiBsaW51eC9zeXNjYWxsLmg6IFJlbW92ZSBbIWRlZmluZWQoWDg2XzY0KV0gZnJvbSBjb25kaXRpb25hbAorCWZvciBkZWZpbmluZyBTWVNfc29ja2V0X3N1YmNhbGwgZXQgYWwuCisJKiBsaW51eC9zeXNjYWxsZW50Lmg6IExpa2V3aXNlIGZvciAjZXJyb3IgY2hlY2suCisJKiBzeXNjYWxsLmMgKHRyYWNlX3N5c2NhbGwpOiBMaWtld2lzZSBmb3IgU1lTX3tzb2NrZXRjYWxsLGlwY30gY2FzZXMuCisJRml4ZXMgUkgjMTU4OTM0LgorCisyMDA1LTA2LTAyICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgorCisJKiBmaWxlLmMgKHByaW50c3RhdGZzNjQpOiBDYXN0IHZhbHVlcyB0byB1bnNpZ25lZCBsb25nIGxvbmcgYW5kIHVzZQorCSVsbHUgZm9ybWF0cy4KKwlGaXhlcyBSSCMxNTgyNDMuCisKKzIwMDUtMDUtMzEgIERtaXRyeSBWLiBMZXZpbiAgPGxkdkBhbHRsaW51eC5vcmc+CisKKwlEZWFsIHdpdGggbWVtb3J5IG1hbmFnZW1lbnQgaXNzdWVzLgorCSogZGVmcy5oICh0cHJpbnRfaW92KTogVXBkYXRlIHByb3RvdHlwZS4KKwkqIGRlc2MuYyAoc3lzX2Vwb2xsX3dhaXQpIFtIQVZFX1NZU19FUE9MTF9IXTogRG8gbm90IGFsbG9jYXRlCisJZXBvbGxfZXZlbnQgYXJyYXkgb2YgYXJiaXRyYXJ5IHNpemUgb24gdGhlIHN0YWNrLCB0byBhdm9pZAorCXN0YWNrIG92ZXJmbG93LgorCSogZmlsZS5jIChwcmludF94YXR0cl92YWwpOiBDaGVjayBmb3IgaW50ZWdlciBvdmVyZmxvdyBkdXJpbmcKKwltYWxsb2Mgc2l6ZSBjYWxjdWxhdGlvbiwgdG8gYXZvaWQgaGVhcCBjb3JydXB0aW9uLgorCSogaW8uYyAodHByaW50X2lvdikgW0hBVkVfU1lTX1VJT19IXTogQ2hlY2sgZm9yIGludGVnZXIgb3ZlcmZsb3cKKwlkdXJpbmcgbWFsbG9jIHNpemUgY2FsY3VsYXRpb24sIHRvIGF2b2lkIGhlYXAgY29ycnVwdGlvbi4KKwlDaGFuZ2UgaW92ZWMgYXJyYXkgaGFuZGxpbmcgdG8gYXZvaWQgaGVhcCBtZW1vcnkgYWxsb2NhdGlvbi4KKwkqIG1lbS5jIChnZXRfbm9kZXMpIFtMSU5VWF06IENoZWNrIGZvciBpbnRlZ2VyIG92ZXJmbG93IGR1cmluZworCXNpemUgY2FsY3VsYXRpb24gYW5kIGRvIG5vdCBhbGxvY2F0ZSBhcnJheSBvZiBhcmJpdHJhcnkgc2l6ZSBvbgorCXRoZSBzdGFjaywgdG8gYXZvaWQgc3RhY2sgb3ZlcmZsb3cuCisJKiBuZXQuYyAocHJpbnRjbXNnaGRyKSBbSEFWRV9TRU5ETVNHXTogRG8gbm90IGFsbG9jYXRlIGFycmF5IG9mCisJYXJiaXRyYXJ5IHNpemUgb24gdGhlIHN0YWNrLCB0byBhdm9pZCBzdGFjayBvdmVyZmxvdy4gIERvIG5vdAorCXRydXN0IGNtc2cuY21zZ19sZW4gdG8gYXZvaWQgcmVhZCBiZXlvbmQgdGhlIGVuZCBvZiBhbGxvY2F0ZWQKKwlvYmplY3QuCisJKHByaW50bXNnaGRyKSBbSEFWRV9TRU5ETVNHXTogVXBkYXRlIHRwcmludF9pb3YoKSB1c2FnZS4KKwkqIHByb2Nlc3MuYyAoc3lzX3NldGdyb3Vwcyk6IENoZWNrIGZvciBpbnRlZ2VyIG92ZXJmbG93IGR1cmluZworCW1hbGxvYyBzaXplIGNhbGN1bGF0aW9uLCB0byBhdm9pZCBoZWFwIGNvcnJ1cHRpb24uICBDaGFuZ2UgZ2lkX3QKKwlhcnJheSBoYW5kbGluZyB0byBhdm9pZCBoZWFwIG1lbW9yeSBhbGxvY2F0aW9uLgorCShzeXNfZ2V0Z3JvdXBzKTogTGlrZXdpc2UuCisJKHN5c19zZXRncm91cHMzMikgW0xJTlVYXTogTGlrZXdpc2UuCisJKHN5c19nZXRncm91cHMzMikgW0xJTlVYXTogTGlrZXdpc2UuCisJKiBzdHJlYW0uYyAoc3lzX3BvbGwpIFtIQVZFX1NZU19QT0xMX0hdOiBDaGVjayBmb3IgaW50ZWdlcgorCW92ZXJmbG93IGR1cmluZyBtYWxsb2Mgc2l6ZSBjYWxjdWxhdGlvbiwgdG8gYXZvaWQgaGVhcCBjb3JydXB0aW9uLgorCUNoYW5nZSBwb2xsZmQgYXJyYXkgaGFuZGxpbmcgdG8gYXZvaWQgaGVhcCBtZW1vcnkgYWxsb2NhdGlvbi4KKwkqIHN5c3RlbS5jIChzeXNfc3lzY3RsKSBbTElOVVhdOiBDaGVjayBmb3IgaW50ZWdlciBvdmVyZmxvdworCWR1cmluZyBtYWxsb2Mgc2l6ZSBjYWxjdWxhdGlvbiwgdG8gYXZvaWQgaGVhcCBjb3JydXB0aW9uLgorCSogdXRpbC5jIChkdW1waW92KSBbSEFWRV9TWVNfVUlPX0hdOiBDaGVjayBmb3IgaW50ZWdlciBvdmVyZmxvdworCWR1cmluZyBtYWxsb2Mgc2l6ZSBjYWxjdWxhdGlvbiwgdG8gYXZvaWQgaGVhcCBjb3JydXB0aW9uLgorCUZpeGVzIFJIIzE1OTE5Ni4KKworCSogdXRpbC5jIChwcmludHh2YWwpOiBDaGFuZ2UgdGhpcmQgYXJndW1lbnQgZnJvbSAiY2hhciAqIiB0bworCSJjb25zdCBjaGFyICoiLgorCShwcmludGZsYWdzKTogQWRkIHRoaXJkIGFyZ3VtZW50LCAiY29uc3QgY2hhciAqIiwgd2l0aCBzaW1pbGFyCisJbWVhbmluZyB0byB0aGUgdGhpcmQgYXJndW1lbnQgb2YgcHJpbnR4dmFsKCkuCisJKiBkZWZzLmggKHByaW50eHZhbCk6IENoYW5nZSB0aGlyZCBhcmd1bWVudCBmcm9tICJjaGFyICoiIHRvCisJImNvbnN0IGNoYXIgKiIuCisJKHByaW50ZmxhZ3MpOiBBZGQgdGhpcmQgYXJndW1lbnQuCisJKiBiam0uYyAoc3lzX3F1ZXJ5X21vZHVsZSkgW0xJTlVYXTogUGFzcyB0aGlyZCBhcmd1bWVudCB0bworCXByaW50ZmxhZ3MoKS4KKwkqIGRlc2MuYyAoc3lzX2ZjbnRsKTogTGlrZXdpc2UuCisJKHN5c19mbG9jaykgW0xPQ0tfU0hdOiBMaWtld2lzZS4KKwkocHJpbnRfZXBvbGxfZXZlbnQpIFtIQVZFX1NZU19FUE9MTF9IXTogTGlrZXdpc2UuCisJKiBmaWxlLmMgKHN5c19vcGVuKTogTGlrZXdpc2UuCisJKHNvbGFyaXNfb3BlbikgW0xJTlVYU1BBUkNdOiBMaWtld2lzZS4KKwkoc3lzX2FjY2Vzcyk6IExpa2V3aXNlLgorCShzeXNfY2hmbGFncywgc3lzX2ZjaGZsYWdzKSBbRlJFRUJTRF06IExpa2V3aXNlLgorCShyZWFscHJpbnRzdGF0KSBbSEFWRV9MT05HX0xPTkdfT0ZGX1QgJiYKKwlIQVZFX1NUUlVDVF9TVEFUX1NUX0ZMQUdTXTogTGlrZXdpc2UuCisJKHByaW50c3RhdDY0KSBbSEFWRV9TVEFUNjQgJiYKKwlIQVZFX1NUUlVDVF9TVEFUX1NUX0ZMQUdTXTogTGlrZXdpc2UuCisJKHN5c19zZXR4YXR0ciwgc3lzX2ZzZXR4YXR0cik6IExpa2V3aXNlLgorCSogaXBjLmMgKHN5c19tc2dnZXQsIHN5c19tc2dzbmQsIHN5c19tc2dyY3YsIHN5c19zZW1nZXQsCisJc3lzX3NobWdldCwgc3lzX3NobWF0KSBbTElOVVggfHwgU1VOT1M0IHx8IEZSRUVCU0RdOiBMaWtld2lzZS4KKwkoc3lzX21xX29wZW4pIFtMSU5VWF06IExpa2V3aXNlLgorCShwcmludG1xYXR0cikgW0hBVkVfTVFVRVVFX0hdOiBMaWtld2lzZS4KKwkqIG1lbS5jIChwcmludF9tbWFwKSBbIUhBVkVfTE9OR19MT05HX09GRl9UXTogTGlrZXdpc2UuCisJKHN5c19tbWFwNjQpIFtfTEZTNjRfTEFSR0VGSUxFIHx8IEhBVkVfTE9OR19MT05HX09GRl9UXTogTGlrZXdpc2UuCisJKHN5c19tcHJvdGVjdCk6IExpa2V3aXNlLgorCShzeXNfbXJlbWFwLCBzeXNfbWFkdmlzZSwgc3lzX21sb2NrYWxsKSBbTElOVVhdOiBMaWtld2lzZS4KKwkoc3lzX21zeW5jKSBbTVNfQVNZTkNdOiBMaWtld2lzZS4KKwkoc3lzX21jdGwpIFtNQ19TWU5DXTogTGlrZXdpc2UuCisJKHN5c19yZW1hcF9maWxlX3BhZ2VzLCBzeXNfbWJpbmQsIHN5c19nZXRfbWVtcG9saWN5KSBbTElOVVhdOgorCUxpa2V3aXNlLgorCSogbmV0LmMgKHByaW50bXNnaGRyKSBbSEFWRV9TVFJVQ1RfTVNHSERSX01TR19DT05UUk9MXTogTGlrZXdpc2UuCisJKHN5c19zZW5kLCBzeXNfc2VuZHRvKTogTGlrZXdpc2UuCisJKHN5c19zZW5kbXNnKSBbSEFWRV9TRU5ETVNHXTogTGlrZXdpc2UuCisJKHN5c19yZWN2LCBzeXNfcmVjdmZyb20pOiBMaWtld2lzZS4KKwkoc3lzX3JlY3Ztc2cpIFtIQVZFX1NFTkRNU0ddOiBMaWtld2lzZS4KKwkocHJpbnRpY21wZmlsdGVyKSBbSUNNUF9GSUxURVJdOiBMaWtld2lzZS4KKwkqIHByb2MuYyAocHJvY19pb2N0bCkgW1NWUjQgJiYgIUhBVkVfTVBfUFJPQ0ZTIHx8IEZSRUVCU0RdOiBMaWtld2lzZS4KKwkqIHByb2Nlc3MuYyAoc3lzX2Nsb25lKSBbTElOVVhdOiBMaWtld2lzZS4KKwkocHJpbnR3YWl0bik6IExpa2V3aXNlLgorCShzeXNfd2FpdGlkKSBbU1ZSNCB8fCBMSU5VWF06IExpa2V3aXNlLgorCSogc2lnbmFsLmMgKHN5c19zaWd2ZWMpIFtTVU5PUzQgfHwgRlJFRUJTRF06IExpa2V3aXNlLgorCShzeXNfc2lnYWN0aW9uKTogTGlrZXdpc2UuCisJKHByaW50Y29udGV4dCkgW1NWUjRdOiBMaWtld2lzZS4KKwkocHJpbnRfc3RhY2tfdCkgW0xJTlVYKSB8fCBGUkVFQlNEXTogTGlrZXdpc2UuCisJKHN5c19ydF9zaWdhY3Rpb24pIFtMSU5VWF06IExpa2V3aXNlLgorCSogc29jay5jIChzb2NrX2lvY3RsKSBbTElOVVhdOiBMaWtld2lzZS4KKwkqIHN0cmVhbS5jIChzeXNfcHV0bXNnLCBzeXNfZ2V0bXNnKTogTGlrZXdpc2UuCisJKHN5c19wdXRwbXNnKSBbU1lTX3B1dHBtc2ddOiBMaWtld2lzZS4KKwkoc3lzX2dldHBtc2cpIFtTWVNfZ2V0cG1zZ106IExpa2V3aXNlLgorCShzeXNfcG9sbCk6IExpa2V3aXNlLgorCShwcmludF90cmFuc3BvcnRfbWVzc2FnZSkgW1RJX0JJTkRdOiBMaWtld2lzZS4KKwkoc3RyZWFtX2lvY3RsKTogTGlrZXdpc2UuCisJKiBzeXN0ZW0uYyAoc3lzX21vdW50LCBzeXNfcmVib290KTogTGlrZXdpc2UuCisJKHN5c19jYWNoZWZsdXNoKSBbTElOVVggJiYgTTY4S106IExpa2V3aXNlLgorCShzeXNfY2FwZ2V0LCBzeXNfY2Fwc2V0KSBbU1lTX2NhcGdldF06IExpa2V3aXNlLgorCSogdGVybS5jICh0ZXJtX2lvY3RsKSBbVElPQ01HRVRdOiBMaWtld2lzZS4KKwkqIHRpbWUuYyAoc3lzX2Nsb2NrX25hbm9zbGVlcCwgc3lzX3RpbWVyX3NldHRpbWUpIFtMSU5VWF06CisJTGlrZXdpc2UuCisJRml4ZXMgUkgjMTU5MzEwLgorCisJKiBiam0uYyAoc3lzX3F1ZXJ5X21vZHVsZSkgW0xJTlVYXTogVW5pdGl6ZSAib3V0IG9mIG1lbW9yeSIKKwllcnJvcnMgcmVwb3J0aW5nIHN0eWxlLgorCSogc3RyYWNlLmMgKHJlYnVpbGRfcG9sbHYpIFtVU0VfUFJPQ0ZTXTogTGlrZXdpc2UuCisJKiBzeXN0ZW0uYyAoc3lzX2NhcGdldCwgc3lzX2NhcHNldCkgW1NZU19jYXBnZXRdOiBMaWtld2lzZS4KKwkqIHV0aWwuYyAocHJpbnRzdHIpOiBMaWtld2lzZS4KKwkoZHVtcGlvdikgW0hBVkVfU1lTX1VJT19IXTogTGlrZXdpc2UuCisJKGZpeHZmb3JrKSBbU1VOT1M0XTogTGlrZXdpc2UuCisJKiBkZXNjLmMgKGRlY29kZV9zZWxlY3QpOiBDb250aW51ZSB0byBkZWNvZGUgc3lzY2FsbCBhcmd1bWVudHMKKwlpbiBjYXNlIG9mIE9PTSBjb25kaXRpb24uCisJKiBmaWxlLmMgKHN5c19nZXRkZW50cyk6IExpa2V3aXNlLgorCShzeXNfZ2V0ZGVudHM2NCkgW19MRlM2NF9MQVJHRUZJTEVdOiBMaWtld2lzZS4KKwkoc3lzX2dldGRpcmVudHJpZXMpIFtGUkVFQlNEXTogTGlrZXdpc2UuCisJKiBtZW0uYyAoc3lzX21pbmNvcmUpOiBDaGFuZ2VkIHR5cGUgb2YgdmFyaWFibGVzIHdoaWNoIGRlYWwgd2l0aAorCW1hbGxvYyBzaXplIGZyb20gaW50IHRvIHVuc2lnbmVkIGxvbmcuCisJRml4ZXMgUkgjMTU5MzA4LgorCisyMDA1LTA1LTIyICBEbWl0cnkgVi4gTGV2aW4gIDxsZHZAYWx0bGludXgub3JnPgorCisJKiBiam0uYyBbTElOVVhdOiBEbyBub3QgaW5jbHVkZSA8bGludXgvbGlua2FnZS5oPi4gIEl0IGlzIG5vdAorCXNhZmUgdG8gaW5jbHVkZSBrZXJuZWwgaGVhZGVycywgYW5kIHRoaXMgb25lIGlzIG5vdCB1c2VkIGFueXdheS4KKwlGaXhlcyBSSCMxNTg0ODguCisKKzIwMDUtMDUtMjYgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CisKKwkqIHN5c3RlbS5jIChzeXNfc3lzY3RsKTogQ2hlY2sgZm9yIGVycm9ycyBhY2Nlc3NpbmcgdXNlciBwb2ludGVycy4KKwlVc2UgbWFsbG9jIGluc3RlYWQgb2YgYWxsb2NhIGluIGNhc2Ugc2l6ZSBpcyBpbnNhbmUuCisKKzIwMDUtMDUtMDkgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CisKKwkqIGNvbmZpZ3VyZS5hYzogQ2hlY2sgZm9yIGxpYmFpby5oLgorCSogZGVzYy5jIChzeXNfaW9fc2V0dXAsIHN5c19pb19zdWJtaXQsIHN5c19pb19jYW5jZWwsCisJc3lzX2lvX2dldGV2ZW50cywgc3lzX2lvX2Rlc3Ryb3kpOiBOZXcgZnVuY3Rpb25zLgorCSogbGludXgvc3lzY2FsbC5oOiBEZWNsYXJlIHRoZW0uCisJKiBsaW51eC9zeXNjYWxsZW50Lmg6IFVzZSB0aG9zZSBmb3IgaW9fKiBzeXNjYWxscy4KKwkqIGxpbnV4L2FscGhhL3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9ocHBhL3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9pYTY0L3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9taXBzL3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9wb3dlcnBjL3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9zMzkwL3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9zMzkweC9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCSogbGludXgveDg2XzY0L3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJRnJvbSBaYWNoIEJyb3duIDx6YWNoLmJyb3duQG9yYWNsZS5jb20+LgorCUZpeGVzIFJIIzE1NTA2NS4KKworCSogZGViaWFuL2NvbnRyb2wgKEFyY2hpdGVjdHVyZSk6IEFkZCBwcGM2NC4KKwlGaXhlcyBEZWJpYW4gYnVnICMzMDEwODkuCisKKzIwMDUtMDUtMDUgIEFudG9uIEJsYW5jaGFyZCAgPGFudG9uQHNhbWJhLm9yZz4KKworCSogcHJvY2Vzcy5jIChwdHJhY2VfY21kcyk6IEFkZCBQVFJBQ0VfR0VUVlJSRUdTIGFuZCBQVFJBQ0VfU0VUVlJSRUdTCisJaWYgZGVmaW5lZC4KKworMjAwNS0wNS0wOSAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KKworCSogc3RyYWNlLmMgKG1haW4pOiBSZWZ1c2UgbmVnYXRpdmUgLXMgYXJndW1lbnQgdmFsdWUuCisJRml4ZXMgRGViaWFuIGJ1ZyAjMzAzMjU2LgorCisyMDA1LTA0LTI1ICBBbnRvbiBCbGFuY2hhcmQgIDxhbnRvbkBzYW1iYS5vcmc+CisKKwkqIGZpbGUuYyAob3Blbm1vZGVzKTogQWRkIE9fTk9BVElNRSBmbGFnIGlmIGRlZmluZWQuCisKKzIwMDUtMDQtMDUgIEFudG9uIEJsYW5jaGFyZCAgPGFudG9uQHNhbWJhLm9yZz4KKworCSogbGludXgvcG93ZXJwYy9pb2N0bGVudC5oOiBSZWdlbmVyYXRlZC4KKworCSogc2lnbmFsLmMgKHNpZ25hbWUpOiBEb24ndCB0cnkgYW5kIGRlcmVmZXJlbmNlIG5lZ2F0aXZlIGluZGV4LgorCisJKiBsaW51eC9wb3dlcnBjL3N5c2NhbGxlbnQuaDogQWRkIGRlYnVnX3NldGNvbnRleHQsIHZzZXJ2ZXIsCisJbWJpbmQsICpfbWVtcG9saWN5LCBtcV8qLCBzeXNfa2V4ZWNfbG9hZCwgYWRkX2tleSwgcmVxdWVzdF9rZXksCisJa2V5Y3RsLCB3YWl0aWQsIHN5c19zZW10aW1lZG9wLiAgRml4IHZhcmlvdXMgb3RoZXIgc3lzY2FsbHMuCisKKwkqIGlwYy5jIChzaG1fcmVzb3VyY2VfZmxhZ3MpOiBOZXcgdmFyaWFibGUsIHRhYmxlIGhhcyBTSE1fSFVHRVRMQgorCWJ1dCBub3QgSVBDX05PV0FJVCwgd2hpY2ggaGF2ZSB0aGUgc2FtZSB2YWx1ZS4KKwkoc3lzX3NobWdldCk6IFVzZSB0aGF0IGluc3RlYWQgb2YgcmVzb3VyY2VfZmxhZ3MuCisKKzIwMDUtMDMtMjIgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CisKKwkqIGRlc2MuYyAoZGVjb2RlX3NlbGVjdCk6IEluY3JlYXNlIGxvY2FsIGJ1ZmZlciBzaXplLgorCUZpeGVzIFJIIzE1MTU3MC4KKworCSogY29uZmlndXJlLmFjLCBORVdTOiBWZXJzaW9uIDQuNS4xMS4KKwkqIGRlYmlhbi9jaGFuZ2Vsb2csIHN0cmFjZS5zcGVjOiA0LjUuMTEtMS4KKworCSogbGludXgvYXJtL3N5c2NhbGxlbnQuaDogRml4IDExMyBlbnRyeSAoc3lzY2FsbCwgbm90IHZtODZvbGQpLgorCisyMDA1LTAzLTE0ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgorCisJKiBjb25maWd1cmUuYWMsIE5FV1M6IFZlcnNpb24gNC41LjEwLgorCSogZGViaWFuL2NoYW5nZWxvZywgc3RyYWNlLnNwZWM6IDQuNS4xMC0xLgorCisyMDA1LTAyLTI2ICBHT1RPIE1hc2Fub3JpICA8Z290b21AZGViaWFuLm9yLmpwPgorCisJKiBsaW51eC9hbHBoYS9zeXNjYWxsZW50Lmg6IEZpeCB0aGUgcmV2ZXJzZWQgb3JkZXIgb2YgbHN0YXQ2NCBhbmQKKwlmc3RhdDY0LiAgQ2xlYW4gdXAgb3NmX25yZWN2bXNnIGFuZCBvc2ZfbmdldHNvY2tuYW1lLgorCisyMDA1LTAyLTI4ICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBzdXNlLmRlPgorCisJKiBzeXNjYWxsLmMgKGdldHJ2YWwyKTogTW92ZSAjaWZkZWYgSUE2NCBpbnNpZGUgI2lmZGVmIExJTlVYLgorCisyMDA1LTAzLTE0ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgorCisJKiBsaW51eC9taXBzL3N5c2NhbGxlbnQuaDogVXBkYXRlIHZhcmlvdXMgY2FsbHMuCisJRnJvbSBUaGllbW8gU2V1ZmVyIDx0aHNAbmV0d29ya25vLmRlPi4KKwlGaXhlcyBEZWJpYW4gYnVnICMyNTY2ODQuCisKKwkqIGRlYmlhbi9jb250cm9sIChBcmNoaXRlY3R1cmUpOiBBZGQgczM5MC4KKwlGaXhlcyBEZWJpYW4gYnVnICMyOTQxNzIuCisKKzIwMDUtMDMtMDYgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CisKKwkqIHN0cmFjZS5jICh0cmFjZSkgW1BUUkFDRV9HRVRTSUdJTkZPXTogRmV0Y2ggc2lnaW5mb190IGZvciBTSUdTRUdWCisJYW5kIFNJR0JVUyBzaWduYWxzLCB1c2Ugc2lfYWRkciBpbiBvdXRwdXQuCisKKzIwMDUtMDMtMDEgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CisKKwkqIGZpbGUuYyAocHJpbnRfeGF0dHJfdmFsKTogQWRkIGEgY2FzdC4KKworMjAwNS0wMi0wNSAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KKworCSogZGVzYy5jIChkZWNvZGVfc2VsZWN0KTogQ2FsY3VsYXRlIHNpemUgb2YgcGFzc2VkIGZkX3NldCB2ZWN0b3JzIGFuZAorCWNvcHkgaW4gdGhlIHVzZXIncyBzaXplIHJhdGhlciB0aGFuIHRoZSBzdGFuZGFyZCBzaXplb2YoZmRfc2V0KS4KKwlGaXhlcyBEZWJpYW4gYnVnICM2NTY1NCwgIzI4NDI5MC4KKworCSogdXRpbC5jIChwcmludHBhdGgsIHByaW50cGF0aG4pOiBQcmludCBOVUxMIGFuZCBkb24ndCB0cnkgYW55IGZldGNoCisJd2hlbiBBRERSIGlzIHplcm8uCisJRml4ZXMgRGViaWFuIGJ1ZyAjNjMwOTMuCisKKwkqIGRlYmlhbi9jb250cm9sIChCdWlsZC1EZXBlbmRzKTogRml4IGZvciBzMzkwIGFuZCBzcGFyYy4KKwlGcm9tIEJhc3RpYW4gQmxhbmsgPHdhbGRpQGRlYmlhbi5vcmc+LgorCUZpeGVzIERlYmlhbiBidWcgIzI5MzU2NC4KKworMjAwNC0xMi0xOSAgRG1pdHJ5IFYuIExldmluICA8bGR2QGFsdGxpbnV4Lm9yZz4KKworCSogc3RyYWNlLmMgKG1haW4pIFshVVNFX1BST0NGU106IEluIGNoaWxkIHByb2Nlc3MsIHJhaXNlIFNJR1NUT1AKKwlyaWdodCBiZWZvcmUgZXhlY3YoKSBjYWxsLiAgUmVtb3ZlIGZha2VfZXhlY3ZlKCkgY2FsbC4KKwkqIGRlZnMuaCAoZmFrZV9leGVjdmUpOiBSZW1vdmUgdW51c2VkIGRlY2xhcmF0aW9uLgorCSogcHJvY2Vzcy5jIChmYWtlX2V4ZWN2ZSk6IFJlbW92ZSB1bnVzZWQgZnVuY3Rpb24uCisJRml4ZXMgUkgjMTQzMzY1LgorCisyMDA1LTAyLTA0ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgorCisJKiBjb25maWd1cmUuYWMsIE5FV1M6IFZlcnNpb24gNC41LjkuCisJKiBkZWJpYW4vY2hhbmdlbG9nLCBzdHJhY2Uuc3BlYzogNC41LjktMi4KKworCSogZmlsZS5jIChPX0xBUkdFRklMRSk6IE9taXQgd2hlbiAjdW5kZWYnZCBiZWNhdXNlIGl0IHdhcyB6ZXJvLgorCisyMDA1LTAyLTAyICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgorCisJKiBkZWJpYW4vY29udHJvbDogQWRkIHN0cmFjZS11ZGViIHBhY2thZ2UgZm9yIGluc3RhbGxlciBkZWJ1Z2dpbmcuCisJKiBkZWJpYW4vcnVsZXMgKGJpbmFyeS1hcmNoKTogQnVpbGQgaXQuCisJRnJvbSBKb3NodWEgS3dhbiA8am9zaGtAdHJpcGxlaGVsaXgub3JnPi4KKwlGaXhlcyBEZWJpYW4gYnVnICMyNjgyOTQuCisKKwkqIGZpbGUuYyAob3Blbm1vZGVzKSBbT19MQVJHRUZJTEVdIFtPX0xBUkdFRklMRSA9PSAwXTogUmVkZWZpbmUgdG8KKwlrbm93biB2YWx1ZXMgZm9yIExpbnV4LgorCisJKiB1dGlsLmMgKHByaW50Y2FsbCk6IFByaW50IDE2ID9zIHdoZW4gbG9uZyBpcyA4IGJ5dGVzLgorCUZpeGVzIFJIIzE0NjkzMi4KKworCSogbGludXgvc3BhcmMvc3lzY2FsbC5oOiBEZWNsYXJlIHN5c19lcG9sbF9jcmVhdGUsIHN5c19lcG9sbF9jdGwsCisJc3lzX2Vwb2xsX3dhaXQuCisJKiBsaW51eC9zcGFyYzY0L3N5c2NhbGwuaDogSnVzdCAjaW5jbHVkZSAiLi4vc3BhcmMvc3lzY2FsbC5oIiBoZXJlLgorCSogaW9jdGwuYyAobmlvY3RsZW50czIpOiBBZGQgY29uc3QgdG8gdHlwZS4KKwlGaXhlcyBEZWJpYW4gYnVnICMyNzg0NDkuCisKKwkqIHNvY2suYyAoaWZmZmxhZ3MpOiBOZXcgdmFyaWFibGUsIHRhYmxlIG9mIElGRl8qIHZhbHVlcy4KKwkocHJpbnRfYWRkcik6IE5ldyBmdW5jdGlvbi4KKwkoc29ja19pb2N0bCk6IEhhbmRsZSBTSU9DR0lGQUREUiwgU0lPQ0dJRkRTVEFERFIsIFNJT0NHSUZCUkRBRERSLAorCVNJT0NHSUZORVRNQVNLLCBTSU9DR0lGRkxBR1MsIFNJT0NHSUZNRVRSSUMsIFNJT0NHSUZNVFUsIFNJT0NHSUZTTEFWRSwKKwlTSU9DR0lGSFdBRERSLglVc2UgcHJpbnRfYWRkciBmb3IgU0lPQ0dJRkNPTkYsIFNJT0NHSUZOQU1FLCBhbmQKKwlTSU9DR0lGSU5ERVgsIGFuZCBmaXggdGhlaXIgb3V0cHV0LgorCUZyb20gVWxyaWNoIERyZXBwZXIgPGRyZXBwZXJAcmVkaGF0LmNvbT4uCisJRml4ZXMgUkgjMTM4MjIzLgorCUZpeGVzIERlYmlhbiBidWcgIzE5MjE2NC4KKworMjAwNC0xMi0yMCAgRG1pdHJ5IFYuIExldmluICA8bGR2QGFsdGxpbnV4Lm9yZz4KKworCSogY29uZmlndXJlLmFjOiBVc2UgQUNfR05VX1NPVVJDRSBtYWNybyBpbnN0ZWFkIG9mIGNoYW5naW5nIENGTEFHUy4KKwkqIGRlZnMuaCBbSEFWRV9DT05GSUdfSF06IEluY2x1ZGUgY29uZmlnLmggZmlyc3QuCisJKiBzdHJhY2UuYzogSW5jbHVkZSAiZGVmcy5oIiBmaXJzdC4KKwlGaXhlcyBSSCMxNDMzNzAuCisKKwkqIHN5c2NhbGwuYyAoY2FsbF9zdW1tYXJ5KTogRml4IHBvdGVudGlhbCBOVUxMIGRlcmVmZXJlbmNlLgorCUZpeGVzIFJIIzE0MzM2OS4KKworMjAwNC0xMi0xOSAgRG1pdHJ5IFYuIExldmluICA8bGR2QGFsdGxpbnV4Lm9yZz4KKworCSogc3lzY2FsbC5jIChxdWFsX3NpZ25hbCk6IENoZWNrIGJvdW5kcyBmb3IgbnVtZXJpYyBzaWduYWwgbmFtZXMuCisJRml4IHBhcnNlciBvZiBzeW1ib2xpYyBzaWduYWwgbmFtZXMuCisJRml4IHJldHVybiBjb2RlLCBhcyByZXF1aXJlZCBieSBxdWFsaWZ5KCkgZnVuY3Rpb24uCisJKiBzeXNjYWxsLmMgKHF1YWxfZGVzYyk6IENoZWNrIGJvdW5kcyBmb3IgZGVzY3JpcHRvciBudW1iZXIuCisJKiBzeXNjYWxsLmMgKHF1YWxfc3lzY2FsbCk6IENvcnJlY3QgcmV0dXJuIGNvZGUsIHRvIGJlIGNvbnNpc3RlbnQKKwl3aXRoIHF1YWxpZnkoKSBhbmQgb3RoZXIgcXVhbF8qIGZ1bmN0aW9ucy4KKwlGaXhlcyBSSCMxNDMzNjIuCisKKzIwMDUtMDItMDEgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CisKKwkqIHN5c3RlbS5jIFtMSU5VWF0gKE1TX01BTkRMT0NLLCBNU19OT0FUSU1FLCBNU19OT0RJUkFUSU1FLCBNU19CSU5ELAorCU1TX01PVkUsIE1TX1JFQywgTVNfVkVSQk9TRSwgTVNfUE9TSVhBQ0wsIE1TX0FDVElWRSwgTVNfTk9VU0VSKToKKwlOZXcgbWFjcm9zLgorCVtMSU5VWF0gKG1vdW50X2ZsYWdzKTogQWRkIHRoZW0uCisJW0xJTlVYXSAoc3lzX21vdW50KTogSWYgYW55IG9mIChNU19CSU5EfE1TX01PVkV8TVNfUkVNT1VOVCkgYml0cyBhcmUKKwlzZXQgaW4gdGhlIGZsYWdzIGFyZ3VtZW50LCBkb24ndCB0cnkgdG8gZmV0Y2ggdGhlIGZpbGVzeXN0ZW0gc3RyaW5nLgorCUZpeGVzIFJIIzE0MTkzMi4KKworCSogY29uZmlnLmd1ZXNzOiBVcGRhdGUgZnJvbSBjYW5vbmljYWwgdmVyc2lvbiwgdGltZXN0YW1wIDIwMDQtMTEtMTIuCisJKiBjb25maWcuc3ViOiBMaWtld2lzZSwgdGltZXN0YW1wIDIwMDQtMTEtMzAuCisKKwkqIHByb2Nlc3MuYyBbTElOVVhdIFtYODZfNjRdIChzeXNfYXJjaF9wcmN0bCk6IE5ldyBmdW5jdGlvbi4KKwkqIGxpbnV4L3N5c2NhbGwuaDogRGVjbGFyZSBpdC4KKwkqIGxpbnV4L3g4Nl82NC9zeXNjYWxsZW50Lmg6IFVzZSBpdC4KKwlQYXJ0IG9mIFJIIzE0MjY2Ny4KKworCSogcHJvY2Vzcy5jIChzeXNfc2NoZWRfc2V0c2NoZWR1bGVyKTogVXNlICUjbHggZm9ybWF0IGZvciBiYWQgcG9pbnRlci4KKwkoc3lzX3NjaGVkX2dldHBhcmFtLCBzeXNfc2NoZWRfc2V0cGFyYW0pOiBMaWtld2lzZS4KKwlQYXJ0IG9mIFJIIzE0MjY2Ny4KKworCSogc2lnbmFsLmMgW0hBVkVfU0lHQUNUSU9OXSBbTElOVVggJiYgWDg2XzY0XSAoU0FfUkVTVE9SRVIpOiBEZWZpbmUKKwloZXJlIHRvby4KKwlQYXJ0IG9mIFJIIzE0MjY2Ny4KKworCSogbGludXgvc3lzY2FsbGVudC5oOiBVc2Ugc3lzX21pbmNvcmUgaW5zdGVhZCBvZiBwcmludGFyZ3MuCisJKiBsaW51eC94ODZfNjQvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4gIEFsc28gdXNlIHN5c19nZXRybGltaXQsCisJc3lzX3NlbXRpbWVkb3AsIHN5c191bW91bnQyLgorCVBhcnQgb2YgUkgjMTQyNjY3LgorCisJKiBzeXNjYWxsLmMgKHF1YWxfc2lnbmFsKTogRml4IGludmVydGVkIHJldHVybiB2YWx1ZSBhbmQgYm9ndXMKKwlhcmd1bWVudCB0byBxdWFsaWZ5X29uZSBpbiB0aGUgbmFtZWQgY2FzZS4KKworCSogZmlsZS5jIChwcmludF94YXR0cl92YWwpOiBEb24ndCB1c2UgYXV0byBhcnJheSBzaXplZCBieSBzeXNjYWxsCisJYXJndW1lbnQuICBVc2UgbWFsbG9jIGluc3RlYWQsIHNvIGl0IGNhbiBmYWlsIGZvciBpbnNhbmUgdmFsdWVzLgorCUZpeGVzIERlYmlhbiBidWcgIzI4MzcwNC4KKworCSogbmV0LmMgKHN5c19nZXRzb2Nrb3B0KTogRml4IGEgZm9ybWF0ICVsZCAtPiAlZC4KKworCSogbGludXgvc3lzY2FsbC5oIFtJQTY0XSAoU1lTX3NlbXRpbWVkb3ApOiAjdW5kZWYgaXQuCisKKwkqIHN5c2NhbGwuYyAoc3lzY2FsbF9lbnRlcikgW1g4Nl82NF06IEZpeCAzMi1iaXQgYXJndW1lbnQgcmVnaXN0ZXIgbWFwCisJbm90IHRvIGRvdWJsZSB0aGUgbWlkZGxlIGVudHJ5IQorCUZpeGVzIFJIIzE0NjA5My4KKworCSogbGludXgveDg2XzY0L3N5c2NhbGxlbnQuaDogRml4IGV4aXRfZ3JvdXAgZW50cnkuCisKKwkqIHV0aWwuYyAoZ2V0cGMpIFtTMzkwIHx8IFMzOTBYXTogSW1wbGVtZW50IGl0LgorCVBhdGNoIGJ5IERhdmlkIFdpbGRlciA8d2lsZGVyQHVzLmlibS5jb20+LgorCisJKiBsaW51eC9pYTY0L3N5c2NhbGxlbnQuaDogQWRkIGZhZHZpc2U2NCwgZnN0YXRmczY0LCBzdGF0ZnM2NCwgbWJpbmQsCisJW2dzXWV0X21lbXBvbGljeSwgbXFfKiwgc3lzX2tleGVjX2xvYWQsIHZzZXJ2ZXIsIGFuZCB3YWl0aWQuCisJRml4ZXMgUkgjMTQ2MjQ1LgorCisyMDA1LTAxLTIyICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBzdXNlLmRlPgorCisJKiBuZXQuYyAoc3lzX2dldHNvY2tvcHQpOiBDaGFuZ2UgdHlwZSBvZiBsZW4gdG8gaW50LgorCisyMDA0LTEwLTE5ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgorCisJKiBjb25maWd1cmUuYWMsIE5FV1M6IFZlcnNpb24gNC41LjguCisJKiBkZWJpYW4vY2hhbmdlbG9nLCBzdHJhY2Uuc3BlYzogNC41LjgtMS4KKworCSogZmlsZS5jIChzeXNfZmFkdmlzZTY0KTogQ29uZGl0aW9uYWxpemUganVzdCBvbiBbTElOVVhdLgorCisJKiBjb25maWd1cmUuYWM6IENoZWNrIGZvciBzeXMvZXBvbGwuaC4KKwkqIGRlc2MuYzogUHJvdGVjdCAjaW5jbHVkZSA8c3lzL2Vwb2xsLmg+IHdpdGggW0hBVkVfU1lTX0VQT0xMX0hdLgorCShlcG9sbGN0bHMsIGVwb2xsZXZlbnRzKTogUHJvdGVjdCBlYWNoIGVudHJ5IHdpdGggI2lmZGVmIG9uIGl0cyBtYWNyby4KKworCSogc3RyYWNlLmMgKGhhbmRsZV9ncm91cF9leGl0KTogRG9uJ3QgZGV0YWNoIGxlYWRlciB0aGF0IHdhc24ndAorCVRDQl9BVFRBQ0hFRC4gIEluc3RlYWQgbWFyayBpdCB3aXRoIFRDQl9HUk9VUF9FWElUSU5HLgorCVJlbW92ZSBkcm9wdGNiIGxvb3AgYXQgZW5kLCBubyBsb25nZXIgcmVxdWlyZWQgc2luY2UgMi42IHJlcG9ydHMgZWFjaAorCXRocmVhZCBkZWF0aC4KKwlGaXhlcyBSSCMxMzUyNTQuCisKKwkqIHN0cmFjZS5jICh0cmFjZSk6IFVzZSBoYW5kbGVfZ3JvdXBfZXhpdCBmb3Igbm9uLVRDQl9BVFRBQ0hFRCBjaGlsZAorCXRha2luZyBzaWduYWwgd2hlbiBpdCBoYXMgbmNsb25lX3RocmVhZHMgPiAwLgorCisJKiBzdHJhY2UuYyAoaGFuZGxlX2dyb3VwX2V4aXQsIHRyYWNlKTogTWFyayBsZWFkZXIgd2l0aAorCVRDQl9HUk9VUF9FWElUSU5HIGFuZCBkb24ndCBiZSBzdXJwcmlzZWQgYXQgY2hpbGQgZGVhdGhzIHdoZW4gdGhlaXIKKwlsZWFkZXIgaGFzIGl0IHNldC4KKwlGaXhlcyBSSCMxMzIxNTAuCisKKwkqIHByb2Nlc3MuYyAoV0NPUkVGTEFHKTogRGVmaW5lIGlmIG5vdCBkZWZpbmVkLgorCShXX1NUT1BDT0RFLCBXX0VYSVRDT0RFKTogTGlrZXdpc2UuCisJUmVwb3J0ZWQgYnkgTWFydHkgTGVpc25lciA8bWxlaXNuZXJAZW5nLm1jLnhlcm94LmNvbT4uCisKKwkqIHNvY2suYyBbISBMSU5VWF06IEluY2x1ZGUgPHN5cy9zb2NrZXQuaD4gYmVmb3JlIDxzeXMvc29ja2lvLmg+LgorCVJlcG9ydGVkIGJ5IE1hcnR5IExlaXNuZXIgPG1sZWlzbmVyQGVuZy5tYy54ZXJveC5jb20+LgorCisJKiBkZWJpYW4vcnVsZXM6IE1ha2Ugc3RyYWNlNjQuMS5neiBzeW1saW5rIHRvIHN0cmFjZS4xLmd6IGluc3RlYWQgb2YKKwlzdHJhY2U2NC4xIHRvIHN0cmFjZS4xLCB3aGljaCBkb2Vzbid0IGV4aXN0LgorCUZpeGVzIERlYmlhbiBidWcgIzI2OTIyMC4KKworMjAwNC0wOS0wNSAgUGhpbCBCbHVuZGVsbCAgPHBiQG5leHVzLmNvLnVrPgorCisJKiBsaW51eC9hcm0vc3lzY2FsbGVudC5oOiBOZXcgZmlsZS4KKworMjAwNC0xMC0xOSAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KKworCSogZGViaWFuL3J1bGVzIChERUJfQlVJTERfR05VX1RZUEUsIENPTkZJR19PUFRTKTogTmV3IHZhcmlhYmxlcy4KKwlbJChERUJfSE9TVF9HTlVfVFlQRSkgPT0gczM5MC1saW51eF0gKGJ1aWxkNjQsIEhPU1Q2NCwgQ0M2NCk6IFNldCB0aGVtLgorCShidWlsZC9NYWtlZmlsZSk6IFVzZSAkKENPTkZJR19PUFRTKS4KKwkoYnVpbGQ2NC9NYWtlZmlsZSk6IFBhc3MgLS1ob3N0IGFzIHdlbGwgYXMgLS1idWlsZC4KKwlGcm9tIEJhc3RpYW4gQmxhbmsgPHdhbGRpQGRlYmlhbi5vcmc+LgorCUZpeGVzIERlYmlhbiBidWcgIzI3MTUwMC4KKworCSogbGludXgvaHBwYS9zeXNjYWxsZW50Lmg6IFVwZGF0ZSBmb3IgMi42Ljkgc3lzY2FsbHMuCisJRnJvbSBSYW5kb2xwaCBDaHVuZyA8dGF1c3FAZGViaWFuLm9yZz4KKwlGaXhlcyBEZWJpYW4gYnVnICMyNzM4ODcuCisKKwkqIGZpbGUuYyAoc3lzX2xsc2Vlayk6IFJldmVydCBsYXN0IGNoYW5nZS4KKworMjAwNC0wOS0xNCAgUmljaGFyZCBIZW5kZXJzb24gIDxydGhAdHdpZGRsZS5uZXQ+CisKKwkqIGxpbnV4L2FscGhhL3N5c2NhbGxlbnQuaDogQWRkIHRna2lsbCwgKnN0YXQ2NCwgdnNlcnZlciwgbWJpbmQsCisJW2dzXWV0X21lbXBvbGljeSwgbXFfKiwgd2FpdGlkLgorCisyMDA0LTEwLTA3ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgorCisJKiBmaWxlLmMgKHN5c19sbHNzZWssIHN5c19yZWFkYWhlYWQsIHN5c19mYWR2aXNlNjQsIHN5c19mYWR2aXNlNjRfNjQpOgorCVVzZSBMT05HX0xPTkcgbWFjcm8uCisJKiBpby5jIChzeXNfcHJlYWQsIHN5c19wd3JpdGUsIHN5c19zZW5kZmlsZSk6IExpa2V3aXNlLgorCisJKiBsaW51eC94ODZfNjQvc3lzY2FsbGVudC5oOiBGaXggYm90Y2hlZCB0YWJsZSBlbnRyaWVzLgorCUZyb20gVWxyaWNoIERyZXBwZXIgPGRyZXBwZXJAcmVkaGF0LmNvbT4uCisKKwkqIG1lbS5jIFtMSU5VWF0gKHN5c19tYmluZCwgc3lzX3NldF9tZW1wb2xpY3ksIHN5c19nZXRfbWVtcG9saWN5KToKKwlOZXcgZnVuY3Rpb25zLgorCSogbGludXgvc3lzY2FsbC5oOiBEZWNsYXJlIHRoZW0uCisJKiBsaW51eC94ODZfNjQvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKwlGcm9tIFVscmljaCBEcmVwcGVyIDxkcmVwcGVyQHJlZGhhdC5jb20+LgorCisJKiBsaW51eC9zeXNjYWxsZW50Lmg6IEhhbmRsZSBtYmluZCwgc2V0X21lbXBvbGljeSwgZ2V0X21lbXBvbGljeS4KKwlGcm9tIFVscmljaCBEcmVwcGVyIDxkcmVwcGVyQHJlZGhhdC5jb20+LgorCisJKiBmaWxlLmMgW0xJTlVYICYmIChJMzg2IHx8IFg4Nl82NCldIChzeXNfZmFkdmlzZTY0LCBzeXNfZmFkdmlzZTY0XzY0KToKKwlOZXcgZnVuY3Rpb25zLgorCSogbGludXgvc3lzY2FsbC5oOiBEZWNsYXJlIHRoZW0uCisJKiBsaW51eC9zeXNjYWxsZW50Lmg6IEhhbmRsZSBmYWR2aXNlNjQgYW5kIGZhZHZpc2U2NF82NCB1c2luZyB0aG9zZS4KKwkqIGxpbnV4L3g4Nl82NC9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCUZyb20gVWxyaWNoIERyZXBwZXIgPGRyZXBwZXJAcmVkaGF0LmNvbT4uCisKKzIwMDQtMDktMTMgIERtaXRyeSBWLiBMZXZpbiAgPGxkdkBhbHRsaW51eC5vcmc+CisKKwkqIGxpbnV4L2lvY3Rsc29ydC5jIChtYWluKTogT21pdCBkdXBsaWNhdGUgbGluZXMKKwkod2l0aCBzYW1lIG5hbWUgYW5kIGNvZGUpIGZyb20gb3V0cHV0LgorCSogbGludXgvaW9jdGxlbnQuc2g6IEJ1aWxkIHRoZSBsaXN0IG9mIGlvY3RscyBkZWZpbmVkIGluCisJc2NzaS9zZy5oICgweDIyLi4pLCBzY3NpL3Njc2kuaCBhbmQgc2NzaS9zY3NpX2lvY3RsLmggKDB4NTMuLiksCisJYXMgc3VnZ2VzdGVkIGJ5IFBldGVyIEpvbmVzIDxwam9uZXNAcmVkaGF0LmNvbT4KKwkqIGxpbnV4L2lvY3RsZW50Lmg6IFJlZ2VuZXJhdGVkLgorCUZpeGVzIFJIIzEyOTgwOC4KKworMjAwNC0wOS0xMyAgVWxyaWNoIERyZXBwZXIgPGRyZXBwZXJAcmVkaGF0LmNvbT4KKwkgICAgRG1pdHJ5IFYuIExldmluIDxsZHZAYWx0bGludXgub3JnPgorCisJKiB0aW1lLmMgW0xJTlVYXSAocHJpbnRfcnRjKTogTmV3IGZ1bmN0aW9uLCBmb3IgcHJpbnRpbmcgcnRjX3RpbWUKKwlzdHJ1Y3R1cmUuCisJW0xJTlVYXSAocnRjX2lvY3RsKTogTmV3IGZ1bmN0aW9uLCBmb3IgcGFyc2luZyBSVENfKiBpb2N0bHMuCisJKiBpb2N0bC5jIFtMSU5VWF0gKGlvY3RsX2RlY29kZSk6IENhbGwgcnRjX2lvY3RsLgorCSogZGVmcy5oIFtMSU5VWF06IERlY2xhcmUgcnRjX2lvY3RsLgorCUZpeGVzIFJIIzU4NjA2LgorCisyMDA0LTEwLTA2ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgorCisJKiBkZXNjLmMgW0xJTlVYXSAoc3lzX2Vwb2xsX2NyZWF0ZSwgc3lzX2Vwb2xsX2N0bCwgc3lzX2Vwb2xsX3dhaXQpOgorCU5ldyBmdW5jdGlvbnMuCisJKiBsaW51eC9zeXNjYWxsLmg6IERlY2xhcmUgdGhlbS4KKwkqIGxpbnV4L3N5c2NhbGxlbnQuaDogVXNlIHRob3NlIGZvciBlcG9sbF8qIHN5c2NhbGxzLgorCSogbGludXgvYWxwaGEvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKwkqIGxpbnV4L2hwcGEvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKwkqIGxpbnV4L2lhNjQvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKwkqIGxpbnV4L3Bvd2VycGMvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKwkqIGxpbnV4L3MzOTAvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKwkqIGxpbnV4L3MzOTB4L3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9zcGFyYy9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCSogbGludXgvc3BhcmM2NC9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCSogbGludXgvc3BhcmM2NC9zeXNjYWxsZW50Mi5oOiBMaWtld2lzZS4KKwkqIGxpbnV4L3g4Nl82NC9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCUZyb20gVWxyaWNoIERyZXBwZXIgPGRyZXBwZXJAcmVkaGF0LmNvbT4uCisJRml4ZXMgUkgjMTM0NDYzLgorCisJKiByZXNvdXJjZS5jIChyZXNvdXJjZXMpOiBBZGQgUkxJTUlUX0xPQ0tTLCBSTElNSVRfU0lHUEVORElORywKKwlhbmQgUkxJTUlUX01TR1FVRVVFLCBpZiBkZWZpbmVkLgorCUZyb20gVWxyaWNoIERyZXBwZXIgPGRyZXBwZXJAcmVkaGF0LmNvbT4uCisJRml4ZXMgUkgjMTMzNTk0LgorCisJKiBuZXQuYyBbSEFWRV9TRU5ETVNHXSAocHJpbnRjbXNnaGRyKTogTmV3IGZ1bmN0aW9uLgorCShwcmludG1zZ2hkcik6IFVzZSBpdC4KKwlGcm9tIFVscmljaCBEcmVwcGVyIDxkcmVwcGVyQHJlZGhhdC5jb20+LgorCUZpeGVzIFJIIzEzMTY4OS4KKworCSogZmlsZS5jIChzcHJpbnRtb2RlKTogQWRkIGNvbnN0IHRvIHJldHVybiB0eXBlLgorCShzcHJpbnRmc3R5cGUpOiBMaWtld2lzZS4KKwkqIHNpZ25hbC5jIChwcmludHNpZ2luZm8pOiBBZGQgYSBjb25zdC4KKworMjAwNC0wOS0xNSAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KKworCSogbGludXgveDg2XzY0L3N5c2NhbGxlbnQuaDogVXNlIHN5c193YWl0aWQuCisKKwkqIGxpbnV4L3N5c2NhbGxlbnQuaDogd2FpdGlkIHRha2VzIDUgYXJndW1lbnRzLCBhbmQgaXMgaW4gVFAgY2F0ZWdvcnkuCisJKiBwcm9jZXNzLmMgKHN5c193YWl0aWQpOiBIYW5kbGUgZmlmdGggYXJndW1lbnQgKHN0cnVjdCBydXNhZ2UgKikuCisKKzIwMDQtMDktMTEgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CisKKwkqIHRpbWUuYyAoc3lzX2Nsb2NrX25hbm9zbGVlcCk6IFByaW50IHplcm8gZmxhZ3MgYXJnIGNvcnJlY3RseS4KKwkoc3lzX3RpbWVyX3NldHRpbWUpOiBMaWtld2lzZS4KKwkocHJpbnRzaWdldmVudCk6IFByaW50IHNpZ25hbHMgYnkgbmFtZSBmb3IgU0lHRVZfU0lHTkFMLgorCShzeXNfdGltZXJfY3JlYXRlKTogUHJpbnQgY2xvY2sgSUQgc3ltYm9saWNhbGx5LgorCUZyb20gVWxyaWNoIERyZXBwZXIgPGRyZXBwZXJAcmVkaGF0LmNvbT4uCisJRml4ZXMgUkgjMTMxNDIwLgorCisyMDA0LTA5LTA3ICBNaWNoYWwgTHVkdmlnICA8bWx1ZHZpZ0BzdXNlLmN6PgorCisJKiBkZWZzLmggKG5pb2N0bGVudHMxLCBuc2lnbmFsczIpOiBGaXggdHlwb3MgaW4gZGVjbHMuCisKKzIwMDQtMDktMDMgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CisKKwkqIHN5c2NhbGwuYyAocXVhbF9vcHRpb25zKTogQWRkIGNvbnN0IHRvIGRlZm4uCisJVXBkYXRlIGFsbCB1c2VzLgorCShjYWxsX2NvdW50LCBlcnJvcl9jb3VudCwgdHZfY291bnQpOiBWYXJpYWJsZXMgcmVtb3ZlZC4KKwkoc3RydWN0IGNhbGxfY291bnRzLCBjb3VudHMpOiBOZXcgdHlwZSBhbmQgdmFyaWFibGUuCisJVXBkYXRlIGFsbCB1c2VycyBvZiB0aGUgb2xkIHRocmVlIHRvIHVzZSB0aGUgbmV3IGFycmF5IG9mIHN0cnVjdHMuCisJKHRyYWNlX3N5c2NhbGwpOiBBbGxvY2F0ZSBjb3VudHMgb24gZmlyc3QgdXNlLgorCShzb3J0ZWRfY291bnQpOiBWYXJpYWJsZSByZW1vdmVkLgorCShjYWxsX3N1bW1hcnkpOiBBbGxvY2F0ZSBsb2NhbGx5LgorCisJKiBzeXNjYWxsLmMgKHN5c2VudDAsIHN5c2VudDEsIHN5c2VudDIsIHN5c2VudCk6IEFkZCBjb25zdCB0byBkZWZuLgorCShuc3lzY2FsbHMwLCBuc3lzY2FsbHMxLCBuc3lzY2FsbHMyKTogTGlrZXdpc2UuCisJKGVycm5vZW50MCwgZXJybm9lbnQxLCBlcnJub2VudDIsIGVycm5vZW50KTogTGlrZXdpc2UuCisJKG5lcnJub3MwLCBuZXJybm9zMSwgbmVycm5vczIpOiBMaWtld2lzZS4KKwkqIHNpZ25hbC5jIChzaWduYWxlbnQwLCBzaWduYWxlbnQxLCBzaWduYWxlbnQyKTogTGlrZXdpc2UuCisJKG5zaWduYWxzMCwgbnNpZ25hbHMxLCBuc2lnbmFsczIpOiBMaWtld2lzZS4KKwkoc2lnbmFtZSk6IExJa2V3aXNlLgorCSogaW9jdGwuYyAoaW9jdGxlbnQwLCBpb2N0bGVudDEsIGlvY3RsZW50Mik6IExpa2V3aXNlLgorCShuaW9jdGxlbnRzMCwgbmlvY3RsZW50czEsIG5pb2N0bGVudHMyKTogTGlrZXdpc2UuCisJKGlvY3RsX2xvb2t1cCwgaW9jdGxfbmV4dF9tYXRjaCk6IExpa2V3aXNlLgorCSogZGVmcy5oOiBVcGRhdGUgZGVjbHMuCisJKiBpby5jIChzeXNfaW9jdGwpOiBVcGRhdGUgdXNlcnMuCisKKwkqIHV0aWwuYyAoeGxvb2t1cCwgcHJpbnR4dmFsLCBhZGRmbGFncywgcHJpbnRmbGFncyk6IFVzZSBjb25zdCBmb3IKKwlzdHJ1Y3QgeGxhdCAqIGFyZ3VtZW50LgorCSogZGVmcy5oICh4bG9va3VwLCBwcmludHh2YWwsIGFkZGZsYWdzLCBwcmludGZsYWdzKTogVXBkYXRlIGRlY2xzLgorCSogYmptLmM6IEFkZCBjb25zdCB0byBhbGwgc3RydWN0IHhsYXQgZGVmbnMuCisJKiBkZXNjLmM6IExpa2V3aXNlLgorCSogZmlsZS5jOiBMaWtld2lzZS4KKwkqIGlwYy5jOiBMaWtld2lzZS4KKwkqIG1lbS5jOiBMaWtld2lzZS4KKwkqIG5ldC5jOiBMaWtld2lzZS4KKwkqIHByb2MuYzogTGlrZXdpc2UuCisJKiBwcm9jZXNzLmM6IExpa2V3aXNlLgorCSogcmVzb3VyY2UuYzogTGlrZXdpc2UuCisJKiBzaWduYWwuYzogTGlrZXdpc2UuCisJKiBzb2NrLmM6IExpa2V3aXNlLgorCSogc3RyZWFtLmM6IExpa2V3aXNlLgorCSogc3lzdGVtLmM6IExpa2V3aXNlLgorCSogdGVybS5jOiBMaWtld2lzZS4KKwkqIHRpbWUuYzogTGlrZXdpc2UuCisJKiB1dGlsLmM6IExpa2V3aXNlLgorCisyMDA0LTA5LTAxICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgorCisJKiBsaW51eC94ODZfNjQvc3lzY2FsbGVudC5oOiBBZGQgbmV3IGVudHJpZXMgZm9yIHRpbWVyXyosIGNsb2NrXyosIGFuZAorCW1xXyogc3lzY2FsbHMsIGFuZCBuYW1lcyBvbmx5IGZvciBuZXcgY2FsbHMgdXAgdG8gMjUyLgorCSogbGludXgvc3lzY2FsbGVudC5oOiBBZGQgd2FpdGlkLgorCSogbGludXgveDg2XzY0L3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9zeXNjYWxsLmg6IERlY2xhcmUgc3lzX3dhaXRpZC4KKworCSogcHJvY2Vzcy5jIChpbnRlcm5hbF93YWl0KTogVGFrZSBzZWNvbmQgYXJnIGdpdmluZyBpbmRleCBvZiBmbGFncworCWFyZ3VtZW50LgorCSogZGVmcy5oOiBVcGRhdGUgcHJvdG90eXBlLgorCSogc3lzY2FsbC5jIChpbnRlcm5hbF9zeXNjYWxsKTogVXBkYXRlIGNhbGxlci4KKwlBbHNvIHVzZSBpbnRlcm5hbF93YWl0IGZvciBTWVNfd2FpdGlkLgorCSogcHJvY2Vzcy5jIChzeXNfd2FpdGlkKTogRGVmaW5lIGZvciBbTElOVVhdIGFzIHdlbGwuCisJRG9uJ3QgdHdlYWsgVENCX1NVU1BFTkRFRC0taW50ZXJuYWxfd2FpdCBkb2VzIHRoYXQuCisJKHdhaXRpZF90eXBlcyk6IENvbmRpdGlvbmFsaXplIHVzZSBvZiBub25zdGFuZGFyZCBQXyogbWFjcm9zLgorCisyMDA0LTA4LTMxICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgorCisJKiBjb25maWd1cmUuYWMsIE5FV1M6IFZlcnNpb24gNC41LjcuCisJKiBkZWJpYW4vY2hhbmdlbG9nOiA0LjUuNy0xLgorCSogc3RyYWNlLnNwZWM6IDQuNS43LTIuCisKKwkqIGRlYmlhbi9ydWxlczogUmV3cml0ZSBzcGFyYzY0IGNoYW5nZSBvZiAyMDA0LTA3LTEyLgorCUFsd2F5cyBkbyBlYWNoIGJ1aWxkIGluIGEgc2VwYXJhdGUgYnVpbGQgZGlyZWN0b3J5LgorCUZpeGVzIERlYmlhbiBidWcgIzI1NDcyOC4KKworCSogdGltZS5jIChjbG9ja25hbWVzKTogVXNlICNpZmRlZiBhcm91bmQgQ0xPQ0tfKiB1c2VzLgorCisJKiBzdHJhY2UuMTogU2F5IHRoYXQgLWMgc2hvd3Mgc3lzdGVtIENQVSB0aW1lLCBub3QgcmVhbCB0aW1lLgorCUZpeGVzIERlYmlhbiBidWcgIzI1NDQzOC4KKworCSogc3lzY2FsbC5jIChkdW1waW8pOiBNYXRjaCBwcmVhZCBhbmQgcHdyaXRlIHN5c3RlbSBjYWxscyB0b28uCisJRml4ZXMgRGViaWFuIGJ1ZyAjMjM5OTQ3LgorCisJKiBuZXQuYyAoc29ja29wdGlvbnMpOiBBZGQgYWxsIFNPXyogbWFjcm9zIGtub3duIGluIExpbnV4IDIuNi45LgorCUZpeGVzIERlYmlhbiBidWcgIzE3MTY1My4KKworMjAwNC0wNy0xMiAgRG1pdHJ5IFYuIExldmluICA8bGR2QGFsdGxpbnV4Lm9yZz4KKworCSogc2lnbmFsLmMgW0xJTlVYXSAocGFyc2Vfc2lnc2V0X3QpOiBGaXggaGV4IHN0cmluZ3MgcGFyc2VyLgorCUZpeGVzIFJIIzEyODA5MS4KKworMjAwNC0wOC0zMCAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KKworCSogc3RyYWNlLmMgKG1haW4pOiBEb24ndCBjYWxsIGZha2VfZXhlY3ZlIHVuZGVyIC1jLgorCUZyb20gVWxyaWNoIERyZXBwZXIgPGRyZXBwZXJAcmVkaGF0LmNvbT4uCisJRml4ZXMgUkgjMTI5MTY2LgorCisJKiBuZXQuYyAoc29ja2lwb3B0aW9ucyk6IEFkZCBzb21lIG9wdGlvbnMuCisJW1NPTF9JUFY2XSAoc29ja2lwdjZvcHRpb25zKTogTmV3IHZhcmlhYmxlLgorCShzeXNfZ2V0c29ja29wdCwgcHJpbnRzb2Nrb3B0KTogVXNlIGl0IGZvciBTT0xfSVBWNiBsZXZlbC4KKwlGcm9tIFVscmljaCBEcmVwcGVyIDxkcmVwcGVyQHJlZGhhdC5jb20+LgorCUZpeGVzIFJIIzEyODM5MS4KKworCSogdGltZS5jIChjbG9ja25hbWVzKTogTmV3IHZhcmlhYmxlLCBzeW1ib2xpYyBuYW1lcyBmb3IgY2xvY2tfdC4KKwkoc3lzX2Nsb2NrX3NldHRpbWUsIHN5c19jbG9ja19nZXR0aW1lLCBzeXNfY2xvY2tfbmFub3NsZWVwKTogVXNlIGl0LgorCUZyb20gVWxyaWNoIERyZXBwZXIgPGRyZXBwZXJAcmVkaGF0LmNvbT4uCisJRml4ZXMgUkgjMTI5Mzc4LgorCisJKiBzeXN0ZW0uYyAocGVyc29uYWxpdHlfb3B0aW9ucyk6IEhhcmQtY29kZSB2YWx1ZXMgaGVyZS4KKwlEb24ndCAjaW5jbHVkZSA8bGludXgvcGVyc29uYWxpdHkuaD4gYXQgYWxsLgorCUZpeGVzIFJIIzEzMDk2NSBhbmQgRGViaWFuIGJ1ZyAjNDA1ODguCisKKwkqIGZpbGUuYyAocHJpbnRfeGF0dHJfdmFsKTogTmV3IGZ1bmN0aW9uIHRvIHNob3cgYXR0cmlidXRlIHZhbHVlcy4KKwkoc3lzX3NldHhhdHRyLCBzeXNfZnNldHhhdHRyLCBzeXNfZ2V0eGF0dHIsIHN5c19mZ2V0eGF0dHIpOiBVc2UgaXQuCisJRnJvbSBVbHJpY2ggRHJlcHBlciA8ZHJlcHBlckByZWRoYXQuY29tPi4KKwlGaXhlcyBSSCMxMzExNzcuCisKKzIwMDQtMDctMTIgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CisKKwkqIGNvbmZpZ3VyZS5hYywgTkVXUzogVmVyc2lvbiA0LjUuNi4KKwkqIHN0cmFjZS5zcGVjLCBkZWJpYW4vY2hhbmdlbG9nOiA0LjUuNi0xLgorCisJKiBNYWtlZmlsZS5hbSAoRVhUUkFfRElTVCk6IEFkZCBsaW51eC9zcGFyYzY0IGZpbGVzLgorCisJKiBkZWJpYW4vcnVsZXM6IE9uIHNwYXJjLWxpbnV4LCBidWlsZCBzdHJhY2U2NCBhcyB3ZWxsLgorCUZyb20gQmVuIENvbGxpbnMgPGJjb2xsaW5zQGRlYmlhbi5vcmc+LgorCUZpeGVzIERlYmlhbiBidWcgIzI1NDcyOC4KKworMjAwNC0wNy0wNyAgRGF2aWQgUy4gTWlsbGVyICA8ZGF2ZW1AbnV0cy5kYXZlbWxvZnQubmV0PgorCisJKiBsaW51eC9zcGFyYy9zeXNjYWxsZW50Lmg6IFN5bmMgd2l0aCByZWFsaXR5LgorCSogbGludXgvc3BhcmMvc3lzY2FsbC5oIChzeXNfc2VuZGZpbGU2NCwgc3lzX2Z1dGV4LCBzeXNfZ2V0dGlkLAorCXN5c19zY2hlZF9zZXRhZmZpbml0eSwgc3lzX3NjaGVkX2dldGFmZmluaXR5LCBzeXNfc2V0eGF0dHIsCisJc3lzX2xzZXR4YXR0ciwgc3lzX2ZzZXR4YXR0ciwgc3lzX2dldHhhdHRyLCBzeXNfbGdldHhhdHRyLAorCXN5c19mZ2V0eGF0dHIsIHN5c19saXN0eGF0dHIsIHN5c19sbGlzdHhhdHRyLCBzeXNfZmxpc3R4YXR0ciwKKwlzeXNfcmVtb3ZleGF0dHIsIHN5c19scmVtb3ZleGF0dHIsIHN5c19mcmVtb3ZleGF0dHIsCisJc3lzX3JlbWFwX2ZpbGVfcGFnZXMsIHN5c19yZWFkYWhlYWQsIHN5c190Z2tpbGwsIHN5c19zdGF0ZnM2NCwKKwlzeXNfZnN0YXRmczY0LCBzeXNfY2xvY2tfc2V0dGltZSwgc3lzX2Nsb2NrX2dldHRpbWUsCisJc3lzX2Nsb2NrX2dldHJlcywgc3lzX2Nsb2NrX25hbm9zbGVlcCwgc3lzX3RpbWVyX2NyZWF0ZSwKKwlzeXNfdGltZXJfc2V0dGltZSwgc3lzX3RpbWVyX2dldHRpbWUpOiBOZXcgZGVjbGFyYXRpb25zLgorCSogbGludXgvc3BhcmM2NC9kdW1teTIuaCwgbGludXgvc3BhcmM2NC9zeXNjYWxsZW50Mi5oLAorCWxpbnV4L3NwYXJjNjQvc3lzY2FsbC5oLCBsaW51eC9zcGFyYzY0L2Vycm5vZW50LmgsCisJbGludXgvc3BhcmM2NC9lcnJub2VudDEuaCwgbGludXgvc3BhcmM2NC9lcnJub2VudDIuaCwKKwlsaW51eC9zcGFyYzY0L2lvY3RsZW50LmgsIGxpbnV4L3NwYXJjNjQvaW9jdGxlbnQxLmgsCisJbGludXgvc3BhcmM2NC9pb2N0bGVudDIuaCwgbGludXgvc3BhcmM2NC9zaWduYWxlbnQuaCwKKwlsaW51eC9zcGFyYzY0L3NpZ25hbGVudC5oLCBsaW51eC9zcGFyYzY0L3NpZ25hbGVudC5oLAorCWxpbnV4L3NwYXJjNjQvc2lnbmFsZW50MS5oLCBsaW51eC9zcGFyYzY0L3NpZ25hbGVudDIuaCwKKwlsaW51eC9zcGFyYzY0L3N5c2NhbGwxLmgsIGxpbnV4L3NwYXJjNjQvc3lzY2FsbGVudC5oLAorCWxpbnV4L3NwYXJjNjQvc3lzY2FsbGVudDEuaDogTmV3IGZpbGVzLgorCSogZGVmcy5oIChMSU5VWFNQQVJDKTogRGVmaW5lIGFsc28gd2hlbiBTUEFSQzY0LgorCShMSU5VWCAmJiBTUEFSQzY0KTogU2V0IFNVUFBPUlRFRF9QRVJTT05BTElUSUVTIHRvIDMuCisJSWdub3JlIFNJR1RSQVAgYWZ0ZXIgZXhlY3ZlIGJ5IGRlZmluaW5nIFRDQl9XQUlURVhFQ1ZFLgorCURlZmluZSBwb3NzaWJseSBtaXNzaW5nIF9fTlJfZXhpdF9ncm91cC4gIERlY2xhcmUgZ2V0cnZhbDIuCisJKiBjb25maWd1cmUuYWMgKHNwYXJjNjQpOiBOZXcgYXJjaGl0ZWN0dXJlIGNhc2UuCisJKiBmaWxlLmMgKHN0YXRfc3BhcmM2NCk6IE5ldyBzdHJ1Y3R1cmUuCisJKHByaW50c3RhdF9zcGFyYzY0KTogTmV3IG91dHB1dCByb3V0aW5lIGZvciB0aGF0LgorCShwcmludHN0YXQpOiBDYWxsIGl0LCBpZiBwZXJzb25hbGl0eSBpcyAyLgorCShwcmludHN0YXQ2NCk6IExpa2V3aXNlLgorCSogdXRpbC5jOiBDb25kaXRpb25hbGl6ZSBwdHJhY2UgZGVmaW5lcyBvbiBMSU5VWFNQQVJDCisJbm90IExJTlVYICYmIFNQQVJDLgorCShTUEFSQzY0ICYmIExJTlVYKTogRGVmaW5lIHJfcGMgdG8gcl90cGMsIGFuZCBQVFJBQ0VfRk9PUkVHUworCXRvIFBUUkFDRV9GT09SRUdTNjQgc28gdGhhdCBtb3JlIHNwYXJjIGNvZGUgY2FuIGJlIHNoYXJlZAorCWJldHdlZW4gNjQtYml0IGFuZCAzMi1iaXQuCisJKF9oYWNrX3N5c2NhbGw1KTogQ29ycmVjdCB0cmFwIG51bWJlciB3aGVuIFNQQVJDNjQuCisJKFBUUkFDRV9XUklURXtURVhULERBVEF9KTogQWRkIFNQQVJDNjQgdG8gaWZkZWYgZ3VhcmQuCisJKGdldHBjKTogSGFuZGxlIFNQQVJDNjQgJiYgTElOVVguCisJKHByaW50Y2FsbCk6IExpa2V3aXNlLgorCShhcmcgZmV0Y2hpbmcvc2V0dGluZyk6IFVzZSBzYW1lIGNvZGUgZm9yIFNQQVJDNjQgTElOVVgKKwlhcyBmb3IgU1BBUkMuCisJKHNldGJwdCk6IEhhbmRsZSBTUEFSQzY0ICYmIExJTlVYLgorCShjbGVhcmJwdCk6IExpa2V3aXNlLgorCSogc2lnbmFsLmM6IENvbmRpdGlvbmFsaXplIHB0cmFjZSBkZWZpbmVzIG9uIFNQQVJDIGFuZAorCVNQQVJDNjQuCisJKFNQQVJDNjQgJiYgTElOVVgpOiBEZWZpbmUgcl9wYyB0byByX3RwYywgYW5kIFBUUkFDRV9GT09SRUdTCisJdG8gUFRSQUNFX0ZPT1JFR1M2NCBzbyB0aGF0IG1vcmUgc3BhcmMgY29kZSBjYW4gYmUgc2hhcmVkCisJYmV0d2VlbiA2NC1iaXQgYW5kIDMyLWJpdC4KKwkobV9zaWdpbmZvKTogVXNlIHNhbWUgZGVmaW5pdGlvbiBvbiBTUEFSQzY0IGFzIFNQQVJDLgorCShzeXNfc2lncmV0dXJuKTogSGFuZGxlIExJTlVYICYmIFNQQVJDNjQuCisJKiBzeXNjYWxsLmM6IENvbmRpdGlvbmFsaXplIHB0cmFjZSBkZWZpbmVzIG9uIFNQQVJDIGFuZAorCVNQQVJDNjQuCisJKFNQQVJDNjQgJiYgTElOVVgpOiBEZWZpbmUgcl9wYyB0byByX3RwYywgYW5kIFBUUkFDRV9GT09SRUdTCisJdG8gUFRSQUNFX0ZPT1JFR1M2NCBzbyB0aGF0IG1vcmUgc3BhcmMgY29kZSBjYW4gYmUgc2hhcmVkCisJYmV0d2VlbiA2NC1iaXQgYW5kIDMyLWJpdC4KKwkoZ2V0c2Nubyk6IFVzZSBzYW1lIHN0YXRpYyBzdGF0ZSBvbiBTUEFSQzY0IGFzIFNQQVJDLAorCWFuZCBhZGQgU1BBUkM2NCBoYW5kbGluZy4KKwkoZ2V0X2Vycm9yKTogSGFuZGxlIExJTlVYICYmIFNQQVJDNjQuCisJKGZvcmNlX3Jlc3VsdCk6IExpa2V3aXNlLgorCShzeXNjYWxsX2VudGVyKTogTGlrZXdpc2UuCisJKHRyYWNlX3N5c2NhbGwpOiBIYW5kbGUgc3lzX3NvY2tldGNhbGwgYW5kIHN5c19pcGMgb24gU1BBUkM2NAorCWp1c3QgbGlrZSBTUEFSQy4KKwkoZ2V0cnZhbDIpOiBIYW5kbGUgTElOVVggJiYgU1BBUkM2NC4KKwkqIHByb2Nlc3MuYzogQ29uZGl0aW9uYWxpemUgcHRyYWNlIGRlZmluZXMgb24gU1BBUkMgYW5kCisJU1BBUkM2NC4KKwkoU1BBUkM2NCAmJiBMSU5VWCk6IERlZmluZSByX3BjIHRvIHJfdHBjLCBhbmQgUFRSQUNFX0ZPT1JFR1MKKwl0byBQVFJBQ0VfRk9PUkVHUzY0IHNvIHRoYXQgbW9yZSBzcGFyYyBjb2RlIGNhbiBiZSBzaGFyZWQKKwliZXR3ZWVuIDY0LWJpdCBhbmQgMzItYml0LgorCShjaGFuZ2Vfc3lzY2FsbCk6IEhhbmRsZSBMSU5VWCAmJiBTUEFSQzY0LgorCShzdHJ1Y3RfdXNlcl9vZmZzZXRzKTogSWZkZWYgb3V0IHRob3NlIHdoaWNoIGRvIG5vdCBleGlzdAorCW9uIFNQQVJDNjQuCisJKiBuZXQuYyAoc3lzX3BpcGUpOiBIYW5kbGUgTElOVVggJiYgU1BBUkM2NC4KKwkqIGlvY3RsLmM6IEZpeCBpbml0aWFsaXplciB0eXBvIGZvciBuaW9jdGxlbnRzMiwgd2FzCisJbmlvY3RsZW50czEgYnkgYWNjaWRlbnQuCisKKzIwMDQtMDYtMjggIEFuZHJlYXMgU2Nod2FiICA8c2Nod2FiQHN1c2UuZGU+CisKKwkqIHByb2Nlc3MuYyAoaW50ZXJuYWxfZXhlYyk6IE1vdmUgVENCX1dBSVRFWEVDVkUgaGFuZGxpbmcgaGVyZS4KKwkoc3lzX2V4ZWN2ZSk6IFJlbW92ZSBpdCBoZXJlLgorCisyMDA0LTA3LTEyICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgorCisJKiBNYWtlZmlsZS5hbSAoRVhUUkFfRElTVCk6IEFkZCBsaW51eC9zaDY0L3N5c2NhbGxlbnQuaC4KKworCSogZGViaWFuL2NvbnRyb2wgKFNlY3Rpb24pOiBNb3ZlIHRvIHV0aWxzLCBtYXRjaGluZyBEZWJpYW4gb3ZlcnJpZGUuCisKKwkqIG5ldC5jIChhZGRyZmFtcyk6IE1ha2UgdmFyaWFibGUgZ2xvYmFsLgorCSogc29jay5jIChzb2NrX2lvY3RsKTogRGVjb2RlIHRoZSBhcmd1bWVudHMgZm9yIFNJT0NHSUZOQU1FLAorCVNJT0NHSUZJTkRFWCwgYW5kIFNJT0NHSUZDT05GLgorCUZyb20gVWxyaWNoIERyZXBwZXIgPGRyZXBwZXJAcmVkaGF0LmNvbT4uCisJRml4ZXMgUkgjMTI2OTE3LgorCisJKiBsaW51eC9pb2N0bHNvcnQuYzogQWRkIHNvbWUgI2luY2x1ZGVzLgorCVtQT1dFUlBDXTogS2x1ZGdlIG91dCBoaWdoIGJpdHMuCisJKiBsaW51eC9pYTY0L2lvY3RsZW50Lmg6IFJlZ2VuZXJhdGVkIHVzaW5nIFJIRUwzIGhlYWRlcnMuCisJKiBsaW51eC9wb3dlcnBjL2lvY3RsZW50Lmg6IExpa2V3aXNlLgorCisyMDA0LTA3LTExICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgorCisJKiBsaW51eC9pb2N0bGVudC5zaDogUmVwbGFjZSBhc20gd2l0aCAkYXNtIGluIGFsbCBwbGFjZXMuCisKKwkqIGNvbmZpZ3VyZS5hYzogQWRkIEkzODYgYXMgQU1fQ09ORElUSU9OQUwuCisJKiBNYWtlZmlsZS5hbSBbTElOVVhdOiBBZGQgbWFpbnRhaW5lci1tb2RlIHJ1bGVzIHRvIHJlZ2VuZXJhdGUKKwl0aGUgaW9jdGxlbnQuaCBmaWxlLgorCisyMDA0LTA3LTA4ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgorCisJKiByZXNvdXJjZS5jIChzeXNfcXVvdGFjdGwpOiBUcnVuY2F0ZSBmaXJzdCBhcmd1bWVudCB0byAzMiBiaXRzLCBzaW5jZQorCXRoYXQncyB3aGF0IHRoZSBrZXJuZWwgd2lsbCBkby4KKworMjAwNC0wNy0wNyAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KKworCSogbGludXgvaW9jdGxlbnQuc2g6IFRha2Ugb3B0aW9uYWwgc2Vjb25kIGFyZ3VtZW50IHRvIHVzZSBhcyBkaXJlY3RvcnkKKwluYW1lIGluIHBsYWNlIG9mIGBhc20nLgorCisyMDA0LTA2LTI3ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgorCisJKiBjb25maWd1cmUuYWMsIE5FV1M6IFZlcnNpb24gNC41LjUuCisJKiBzdHJhY2Uuc3BlYywgZGViaWFuL2NoYW5nZWxvZzogNC41LjUtMS4KKworMjAwNC0wNi0yMiAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KKworCSogc3lzY2FsbC5jIChzeXNjYWxsX2ZpeHVwKSBbTElOVVggJiYgWDg2XzY0XTogRm9yIDMyLWJpdCBwcm9jZXNzLAorCXNpZ24gZXh0ZW5kIHRoZSBsb3cgMzIgYml0cyBvZiBSQVggdG8gNjQgYml0cy4KKwlGaXhlcyBSSCMxMjY1NDcuCisKKwkqIHN5c2NhbGwuYyAoZm9yY2VfcmVzdWx0KTogW0xJTlVYICYmIFg4Nl82NF06IEZpeCBSQVgqNCAtPiBSQVgqOC4KKworMjAwNC0wNi0wMyAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KKworCSogY29uZmlndXJlLmFjLCBORVdTOiBWZXJzaW9uIDQuNS40LgorCSogc3RyYWNlLnNwZWMsIGRlYmlhbi9jaGFuZ2Vsb2c6IDQuNS40LTEuCisKKwkqIG5ldC5jIChkb21haW5zKTogQWRkIG1hbnkgUEZfKiB2YWx1ZXMgI2lmZGVmIFBGXyouCisJKGFkZHJmYW1zKTogQWRkIG1hbnkgQUZfKiB2YWx1ZXMgI2lmZGVmIEFGXyouCisJRml4ZXMgRGViaWFuIGJ1ZyAjMjUwNTA2LgorCisyMDA0LTA1LTAyICBEbWl0cnkgVi4gTGV2aW4gIDxsZHZAYWx0bGludXgub3JnPgorCisJKiBsaW51eC9pb2N0bHNvcnQuYyAoY29tcGFyZSk6IFdoZW4gaW9jdGwgY29kZXMgZXF1YWwsIGNvbXBhcmUKKwluYW1lcy4KKwkobWFpbik6IFByaW50IGEgbm90ZSB0aGF0IHByb2dyYW0gb3V0cHV0IGlzIGdlbmVyYXRlZCBieQorCWlvY3Rsc29ydC4KKwkqIGxpbnV4L2lvY3RsZW50LnNoOiBCdWlsZCB0aGUgbGlzdCBvZiBpb2N0bHMgZGVmaW5lZCBpbgorCWxpbnV4L2ZiLmggKDB4NDYuLiksIGxpbnV4L2tkLmggKDB4NEIuLiksIGxpbnV4L2Nkcm9tLmggKDB4NTMuLiksCisJYXNtL2lvY3Rscy5oICgweDU0Li4pLCBsaW51eC92dC5oICgweDU2Li4pLCBsaW51eC92aWRlb3RleHQuaAorCSgweDcxLi4pLCBsaW51eC92aWRlb3RleHQuaCAoMHg3Mi4uKSwgYXNtL3NvY2tpb3MuaCAoMHg4OS4uKSwKKwlsaW51eC9zb2NraW9zLmggKDB4ODkuLiksIGxpbnV4L3dpcmVsZXNzLmggKDB4OEIuLikuCisJKiBsaW51eC9pb2N0bGVudC5oOiBSZWdlbmVyYXRlZCBmcm9tIGxpbnV4LTIuNi41LgorCUZpeGVzIFJIIzEyMjI1Ny4KKworMjAwNC0wNi0wMyAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KKworCSogZGViaWFuL2NvbnRyb2wgKEFyY2hpdGVjdHVyZSk6IEFkZCBhbWQ2NC4KKwlGaXhlcyBEZWJpYW4gYnVnICMyNDY1NjguCisKKwkqIHN0cmFjZS5jIChtYWluKSBbTElOVVhdOiBFeHBhbmQgVENCVEFCIGFzIG5lY2Vzc2FyeSBmb3IgdGhyZWFkcworCWF0dGFjaGVkLiAgQXR0YWNoIHRocmVhZHMgb25seSB1bmRlciAtZi4gIFNldCBUQ0JfRk9MTE9XRk9SSyBpbiB0aGVtLgorCShleHBhbmRfdGNidGFiKTogTmV3IGZ1bmN0aW9uLCBicm9rZW4gb3V0IG9mIC4uLgorCSogcHJvY2Vzcy5jIChmb3JrX3RjYik6IC4uLiBoZXJlLCBjYWxsIHRoYXQuCisJKiBkZWZzLmg6IERlY2xhcmUgZXhwYW5kX3RjYnRhYi4KKworMjAwNC0wNC0xOSAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KKworCSogcHJvY2Vzcy5jIChwcmludHN0YXR1cyk6IEFkZCBhIHNwYWNlIGJlZm9yZSB8IGluIG91dHB1dC4KKworMjAwNC0wNC0xNiAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KKworCSogY29uZmlndXJlLmFjOiBWZXJzaW9uIDQuNS4zLgorCSogc3RyYWNlLnNwZWMsIGRlYmlhbi9jaGFuZ2Vsb2c6IDQuNS4zLTEuCisKKzIwMDQtMDMtMTggIERtaXRyeSBWLiBMZXZpbiAgPGxkdkBhbHRsaW51eC5vcmc+CisKKwkqIHJlc291cmNlLmMgKHN5c19xdW90YWN0bCkgW0xJTlVYXTogQ2FzdCBhcml0aG1ldGljIHNoaWZ0IG9wZXJhbmQKKwlmcm9tIGxvbmcgdG8gdW5zaWduZWQgbG9uZywgdG8gZml4IG91dHB1dCBvZiB0aGUgcXVvdGFjdGwgY29tbWFuZAorCXBhcnNlci4KKwlGaXhlcyBSSCMxMTg2OTQuCisKKzIwMDQtMDQtMTYgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CisKKwkqIGxpbnV4L3MzOTAvaW9jdGxlbnQuaCwgbGludXgvczM5MHgvaW9jdGxlbnQuaDogVXBkYXRlIERBU0QgaW9jdGxzLgorCUZyb20gTWF4aW0gU2hjaGV0eW5pbiA8bWF4aW1AZGUuaWJtLmNvbT4uCisKKwkqIGNvbmZpZ3VyZS5hYzogQ2hlY2sgZm9yIDxtcXVldWUuaD4uCisJKiBpcGMuYyAoc3lzX21xX29wZW4sIHByaW50bXFhdHRyKSBbISBIQVZFX01RVUVVRV9IXTogRG9uJ3QgdHJ5IHRvCisJZGVjb2RlIHN0cnVjdCBtcV9hdHRyLgorCSogTkVXUzogTWVudGlvbiBtcSBzdXBwb3J0LgorCisJKiBsaW51eC9zeXNjYWxsLmg6IFN1cHBvcnQgbmV3IG1xXyogc3lzY2FsbHMgb24gTGludXguCisJKiBsaW51eC9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCSogbGludXgvZHVtbXkuaDogTGlrZXdpc2UuCisJKiBpcGMuYzogTGlrZXdpc2UuCisJKiB0aW1lLmMgKHByaW50c2lnZXZlbnQpOiBIYW5kbGUgU0lHRVZfVEhSRUFELgorCUZyb20gVWxyaWNoIERyZXBwZXIgPGRyZXBwZXJAcmVkaGF0LmNvbT4uCisJRml4ZXMgUkgjMTIwNzAxLgorCisyMDA0LTA0LTEzICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgorCisJKiBuZXQuYyAobXNnX2ZsYWdzKTogR3JvayBNU0dfRklYLCBNU0dfU1lOLCBNU0dfUlNULCBNU0dfTk9TSUdOQUwsCisJTVNHX01PUkUuCisJRnJvbSBVbHJpY2ggRHJlcHBlciA8ZHJlcHBlckByZWRoYXQuY29tPi4KKwlGaXhlcyBSSCMxMjA1NDEuCisKKwkqIHByb2Nlc3MuYyAocHJpbnRzdGF0dXMpOiBNYXNrIG91dCBiaXRzIHByZXNlbnRlZCBzeW1ib2xpY2FsbHksIGFuZAorCXByaW50ICJ8IDB4bm5uIiBpZiB0aGUgcmVtYWluaW5nIGJpdHMgYXJlIG5vdCBhbGwgemVyby4KKwlGaXhlcyBEZWJpYW4gYnVnICMyNDAwNjIuCisKKwkqIHByb2Nlc3MuYyAocHJpbnRfYWZmaW5pdHlsaXN0KTogUmV3cml0dGVuIHRvIGhhbmRsZSBpbmRpcmVjdCB2YWx1ZXMuCisJKHN5c19zY2hlZF9zZXRhZmZpbml0eSwgc3lzX3NjaGVkX2dldGFmZmluaXR5KTogVXBkYXRlIGNhbGxlcnMuCisJRnJvbSBVbHJpY2ggRHJlcHBlciA8ZHJlcHBlckByZWRoYXQuY29tPi4KKwlGaXhlcyBSSCMxMTg2ODUuCisKKwkqIGFjaW5jbHVkZS5tNDogUXVvdGUgZmlyc3QgYXJndW1lbnQgdG8gQUNfREVGVU4gaW4gYWxsIGNhc2VzLgorCisyMDA0LTA0LTA4ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgorCisJKiBzdHJhY2UuYyAobWFpbikgW0xJTlVYXTogV2hlbiBhdHRhY2hpbmcgZm9yIC1wLCBsb29rIGluCisJL3Byb2MvUElEL3Rhc2sgZm9yIGFsbCB0aHJlYWRzIGFuZCBhdHRhY2ggdGhlbSBhcyBwcmVzdW1lZAorCUNMT05FX1RIUkVBRCBjaGlsZHJlbi4KKwkqIE5FV1M6IE1lbnRpb24gdGhlIGZlYXR1cmUuCisJRml4ZXMgUkgjMTIwNDYyLgorCisyMDA0LTAzLTAyICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgorCisJKiB1dGlsLmMgKHNldGJwdCk6IEZpeCBvbmUgbWlzc2VkIHNwb3QgdG8gdXNlIG5ldyBhcmcwX2luZGV4IG1hY3JvLgorCUZyb20gTWljaGFlbCBIb2x6aGV1IDxIT0xaSEVVQGRlLmlibS5jb20+LgorCisJKiBkZWJpYW4vY29udHJvbCAoU3RhbmRhcmRzLVZlcnNpb24pOiBVcGRhdGUgdG8gMy42LjEuCisKKzIwMDQtMDMtMDEgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CisKKwkqIGNvbmZpZ3VyZS5hYywgTkVXUzogVmVyc2lvbiA0LjUuMi4KKwkqIHN0cmFjZS5zcGVjLCBkZWJpYW4vY2hhbmdlbG9nOiA0LjUuMi0xLgorCisJKiBzdHJhY2UuYyAobWFpbik6IEF2b2lkIHBvdGVudGlhbCBidWZmZXIgb3ZlcnJ1bnMgZnJvbSBsdWRpY3JvdXMKKwlhcmd1bWVudHMgb3IgUEFUSCB2YWx1ZXMuCisJKiBzeXNjYWxsLmMgKHF1YWxfc2lnbmFsKTogQmFpbCBvdXQgZm9yIHRvby1sb25nIHN0cmluZy4KKworCSogbWVtLmMgW0xJTlVYXTogPGFzbS9tbWFuLmg+IC0+IDxsaW51eC9tbWFuLmg+CisJRml4ZXMgRGViaWFuIGJ1ZyAjMjIzMjA3LgorCisJKiBsaW51eC9zcGFyYy9zeXNjYWxsLmg6IENvcHkgbGludXgvc3lzY2FsbC5oIGRlY2xzIG9mIHN5c19zY2hlZF8qLgorCisJKiBjb25maWd1cmUuYWM6IENoZWNrIGZvciBgc3RydWN0IHVzZXJfZGVzYycgaW4gPGFzbS9sZHQuaD4uCisJKiBwcm9jZXNzLmMgW0hBVkVfU1RSVUNUX1VTRVJfREVTQ106IFVzZSBzdHJ1Y3QgdXNlcl9kZXNjIGluIHBsYWNlIG9mCisJc3RydWN0IG1vZGlmeV9sZHRfbGR0X3MuCisJKiBtZW0uYyBbSEFWRV9TVFJVQ1RfVVNFUl9ERVNDXTogTGlrZXdpc2UuCisKKwkqIHN5c3RlbS5jIChzeXNjdGxfdm0pOiBDb25kaXRpb25hbGl6ZSBWTV8qIG1hY3JvIHVzZXMsIGFkZCBzb21lIG1vcmUuCisJRnJvbSBUaW0gWWFtaW4gPHBsYXNtYXJvb0BnZW50b28ub3JnPi4KKworCSogcHJvY2Vzcy5jIChzeXNfZXhlY3ZlKTogQ2xlYXIgaW5zdGVhZCBvZiBzZXQgVENCX1dBSVRFWEVDVkUgb24KKwllcnJpbmcgc3lzY2FsbC4KKworCSogY29uZmlndXJlLmFjOiBDaGVjayBmb3IgYHN0cnVjdCBwdF9hbGxfdXNlcl9yZWdzJworCWFuZCBgc3RydWN0IGlhNjRfZnByZWcnIGluIDxzeXMvcHRyYWNlLmg+LgorCSogdXRpbC5jLCBwcm9jZXNzLmMsIHN5c2NhbGwuYywgc2lnbmFsLmM6IFdvcmsgYXJvdW5kIGNvbmZsaWN0cyBiZXR3ZWVuCisJPHN5cy9wdHJhY2UuaD4gYW5kIDxsaW51eC9wdHJhY2UuaD4gZm9yIGRlZmluaW5nIHRob3NlIHR5cGVzLgorCisJKiBwcm9jZXNzLmMgKHN0cnVjdF91c2VyX29mZnNldHMpIFtMSU5VWCAmJiBJQTY0XTogQ29uZGl0aW9uYWxpemUKKwlQVF9BUl9DU0QgYW5kIFBUX0FSX1NTRCB1c2VzIGluIGNhc2Ugb2Ygb2xkZXIga2VybmVsIGhlYWRlcnMuCisKKwkqIHV0aWwuYyBbTElOVVhdIChhcmcwX2luZGV4LCBhcmcxX2luZGV4KTogTmV3IG1hY3Jvcy4KKwlbUzM5MCB8fCBTMzkwWF06IERlZmluZSB0aGVtIHdpdGggaW52ZXJ0ZWQgdmFsdWVzLgorCShzZXRicHQpOiBVc2UgdGhlbSBmb3IgdV9hcmcgaW5kaWNlcy4KKworMjAwNC0wMi0yNiAgQW5kcmVhcyBTY2h3YWIgIDxzY2h3YWJAc3VzZS5kZT4KKworCSogZGVmcy5oIFtMSU5VWCAmJiBJQTY0XTogRGVjbGFyZSBnZXRydmFsMiBhbHNvIG9uIElBNjQuCisJKiBuZXQuYyAoc3lzX3BpcGUpIFtMSU5VWCAmJiBJQTY0XTogRm9yIElBNjQgdXNlIHRoZSB0d28gcmV0dXJuIHZhbHVlcy4KKwkqIHN5c2NhbGwuYyAoZ2V0cnZhbDIpIFtMSU5VWCAmJiBJQTY0XTogSW1wbGVtZW50IGZvciBJQTY0LgorCisyMDA0LTAzLTAxICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgorCisJKiBsaW51eC9kdW1teS5oIChzeXNfc2NoZWRfZ2V0c2NoZWR1bGVyLCBzeXNfc2NoZWRfc2V0cGFyYW0sCisJc3lzX3NjaGVkX2dldHBhcmFtLCBzeXNfc2NoZWRfc2V0c2NoZWR1bGVyLCBzeXNfc2NoZWRfZ2V0c2NoZWR1bGVyLAorCXN5c19zY2hlZF9nZXRfcHJpb3JpdHlfbWF4LCBzeXNfc2NoZWRfZ2V0X3ByaW9yaXR5X21pbik6IFJlbW92ZSBtYWNyb3MuCisJKiBwcm9jZXNzLmMgW0xJTlVYXSAoc3lzX3NjaGVkX2dldHNjaGVkdWxlciwgc3lzX3NjaGVkX3NldHBhcmFtLAorCXN5c19zY2hlZF9nZXRwYXJhbSwgc3lzX3NjaGVkX3NldHNjaGVkdWxlciwgc3lzX3NjaGVkX2dldHNjaGVkdWxlciwKKwlzeXNfc2NoZWRfZ2V0X3ByaW9yaXR5X21pbik6IE5ldyBmdW5jdGlvbnMuCisJRnJvbSBVbHJpY2ggRHJlcHBlciA8ZHJlcHBlckByZWRoYXQuY29tPi4KKwlGaXhlcyBSSCMxMTY5OTAuCisKKzIwMDQtMDItMjAgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CisKKwkqIGxpbnV4L2hwcGEvc3lzY2FsbGVudC5oOiBVcGRhdGUgc29tZSBzeXNjYWxscy4KKwlGcm9tIFJhbmRvbHBoIENodW5nIDx0YXVzcUBkZWJpYW4ub3JnPi4KKwlGaXhlcyBEZWJpYW4gYnVnICMyMzE2MzIuCisKKzIwMDMtMTItMzEgIERhdmlkIE1vc2JlcmdlciAgPGRhdmlkbUBocGwuaHAuY29tPgorCisJKiBwcm9jZXNzLmMgKGludGVybmFsX2V4aXQpOiBGb3IgaWE2NCwgYWxzbyByZWNvZ25pemUgSUEtMzIgMjUyCisJYXMgZXhpdF9ncm91cCgpLgorCShjaGFuZ2Vfc3lzY2FsbCk6IEZvciBJQTY0LCBhbHNvIHN1cHBvcnQgY2hhbmdpbmcgSUEtMzIgc3lzY2FsbHMuCisJKiBzeXNjYWxsLmMgKGludGVybmFsX3N5c2NhbGwpOiBGb3IgSUE2NCwgYWxzbyByZWNvZ25pemUgSUEtMzIKKyAgICAgICAgc3lzY2FsbCAyNTIgKGV4aXRfZ3JvdXApIGFzIGFuIGludGVybmFsX2V4aXQoKSBzeXNjYWxsLgorCSogdXRpbC5jIChTWVNfZm9yayk6IEZvciBJQTY0LCBkZWZpbmUgdGhlbSB0byB0aGUgSUEtMzIgc3lzY2FsbAorCW51bWJlci4KKwkoU1lTX3Zmb3JrKTogTGlrZXdpc2UuCisJKGFyZ19zZXR1cCk6IEZvciBJQTY0IHZlcnNpb24sIGFsc28gc3VwcG9ydCBJQS0zMiBzeXNjYWxscy4KKwkoZ2V0X2FyZzApOiBMaWtld2lzZS4KKwkoZ2V0X2FyZzEpOiBMaWtld2lzZS4KKwkoc2V0X2FyZzApOiBMaWtld2lzZS4KKwkoc2V0X2FyZzEpOiBMaWtld2lzZS4KKworMjAwNC0wMi0xNSAgQW50b24gQmxhbmNoYXJkICA8YW50b25Ac2FtYmEub3JnPgorCisJKiBsaW51eC9wb3dlcnBjL3N5c2NhbGxlbnQuaDogQWRkIHJ0YXMgY2FsbC4KKwlTaGlmdCBtdWx0aXBsZXhlZCBzeXNjYWxscyB0byBzdGFydCBhdCAzMDAsIHdlIGFyZSBhbHJlYWR5IGFib3V0CisJdG8gaGl0IDI1NiByZWFsIHN5c2NhbGxzLgorCSogbGludXgvc3lzY2FsbC5oOiBTWVNfc29ja2V0X3N1YmNhbGwgaXMgbm93IDMwMCBmb3IgW1BPV0VSUENdLgorCisyMDA0LTAyLTE5ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgorCisJKiBzdHJhY2UuYyAobWFpbik6IFVzZSBUQ1AtPnBpZCwgbm90IFBJRCwgaW4gLXAgbWVzc2FnZS4KKwlGaXhlcyBEZWJpYW4gYnVnICMyMjk4MDIuCisKKzIwMDQtMDEtMTMgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CisKKwkqIHN5c2NhbGwuYyAoZm9yY2VfcmVzdWx0KSBbTElOVVhdIFtTMzkwIHx8IFMzOTBYXTogUmVtb3ZlIGJvZ3VzIHVwZWVrCisJY2FsbC4KKworCSogc3RyZWFtLmMgKGludGVybmFsX3N0cmVhbV9pb2N0bCk6IEZpeCB0eXBvIHN0cmljdCAtPiBzdHJ1Y3QuCisJUmVwb3J0ZWQgYnkgUGV0dGVyIFJlaW5ob2xkdHNlbiA8cGVyZUBodW5ncnkuY29tPi4KKworMjAwMy0xMi0zMSAgRGF2aWQgTW9zYmVyZ2VyICA8ZGF2aWRtQGhwbC5ocC5jb20+CisKKwkqIHByb2Nlc3MuYyAoc3RydWN0X3VzZXJfb2Zmc2V0cykgW0lBNjRdOiBGaXggdXAgcmVnaXN0ZXIgbmFtZSBsaXN0LgorCisyMDAzLTEyLTE0ICBBbnRvbiBCbGFuY2hhcmQgIDxhbnRvbkBzYW1iYS5vcmc+CisKKwkqIGZpbGUuYyAoc3lzX2dldGRlbnRzNjQpOiBEb24ndCBjYXN0IGRfaW5vIGFuZCBkX29mZiB0byB1bnNpZ25lZCBsb25nLgorCVVzZSAlbGx1IGZvcm1hdHMgZm9yIHRoZW0uCisKKwkqIGZpbGUuYyBbTElOVVhdIChmc21hZ2ljKTogQWRkIFNZU0ZTX01BR0lDLgorCisJKiBsaW51eC9wb3dlcnBjL3N5c2NhbGxlbnQuaDogVXBkYXRlIHRvIGluY2x1ZGUgcmVjZW50bHkgYWRkZWQKKwlzeXNjYWxscy4KKworCSogc3lzY2FsbC5jIChnZXRfZXJyb3IpIFtQT1dFUlBDXTogQ2FzdCByZXN1bHQgdG8gdW5zaWduZWQgbG9uZyBmb3IKKwlwcGM2NCwgd2Ugd2VyZSBtaXNyZXBvcnRpbmcgc3lzY2FsbHMgdGhhdCByZWFsbHkgc3VjY2VlZGVkIGFzIGhhdmluZworCWZhaWxlZC4KKworMjAwNC0wMS0xMyAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KKworCSogc3RyYWNlLjE6IFJlbW92ZSBjb21tZW50IGFib3V0IHZmb3JrIG9uIExpbnV4LgorCUZpeGVzIERlYmlhbiBidWcgIzIyMzM5MC4KKworCSogZmlsZS5jIChkaXJlbnR0eXBlcyk6IERlZmluZSB1bmRlciBbTElOVVhdIGFzIHdlbGwuICBBZGQgRFRfVU5LTk9XTi4KKwkoc3lzX2dldGRlbnRzNjQpIFtMSU5VWF06IFByaW50IGRfdHlwZSBmaWVsZC4KKworMjAwMy0xMi0xNSAgRG1pdHJ5IFYuIExldmluICA8bGR2QGFsdGxpbnV4Lm9yZz4KKworCSogc3RyYWNlLmMgKHRyYWNlKSBbV0NPUkVEVU1QXTogU2hvdyBjb3JlZHVtcCBzdGF0dXMgb2YgdGhlCisJa2lsbGVkIHByb2Nlc3MgaWYgYXZhaWxhYmxlLiAgRml4ZXMgUkgjMTEyMTE3LgorCisyMDAzLTExLTEzICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgorCisJKiBjb25maWd1cmUuYWMsIE5FV1M6IFZlcnNpb24gNC41LjEuCisJKiBzdHJhY2Uuc3BlYywgZGViaWFuL2NoYW5nZWxvZzogNC41LjEtMS4KKworMjAwMy0wOS0wNiAgRG1pdHJ5IFYuIExldmluICA8bGR2QGFsdGxpbnV4Lm9yZz4KKworCSogZGVmcy5oIChpb2N0bF9sb29rdXApOiBQcm90b3R5cGUgY2hhbmdlLgorCSogaW9jdGwuYyAoaW9jdGxfbmV4dF9tYXRjaCk6IE5ldyBmdW5jdGlvbi4KKwkqIGRlZnMuaDogRGVjbGFyZSBpdC4KKwkqIGlvLmMgKHN5c19pb2N0bCk6IFVzZSBpdCwgdG8gZGlzcGxheSBhbGwgcG9zc2libGUgaW9jdGwgbmFtZXMKKwl3aGVuIHRoZXJlJ3MgbW9yZSB0aGFuIG9uZSBtYXRjaC4KKwkqIGlvY3RsLmMgKGlvY3RsX2xvb2t1cCk6IExpa2V3aXNlLgorCSogc3RyZWFtLmMgKGludGVybmFsX3N0cmVhbV9pb2N0bCk6IExpa2V3aXNlLgorCVBhdGNoIGZyb20gU29sYXIgRGVzaWduZXIgPHNvbGFyQG9wZW53YWxsLmNvbT4uCisKKzIwMDMtMTEtMTMgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CisKKwkqIGxpbnV4L3NoL3N5c2NhbGxlbnQuaDogVXNlIHN5c19zZXRncm91cHMzMiwgc3lzX2dldGdyb3VwczMyLgorCSogbGludXgvc2g2NC9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCisyMDAzLTA5LTA2ICBEbWl0cnkgVi4gTGV2aW4gIDxsZHZAYWx0bGludXgub3JnPgorCisJRml4ZXMgZm9yIFJIIzEwNTM1OS4KKwkqIHV0aWwuYyAocHJpbnR1aWQpOiBOZXcgZnVuY3Rpb24uCisJKiBkZWZzLmg6IERlY2xhcmUgaXQuCisJKiBmaWxlLmMgKHN5c19jaG93bik6IFVzZSBpdC4KKwkqIGZpbGUuYyAoc3lzX2ZjaG93bik6IExpa2V3aXNlLgorCSogcHJvY2Vzcy5jIChzeXNfc2V0cmV1aWQsIHN5c19zZXRyZWdpZCwgc3lzX3NldHJlc3VpZCwKKwlzeXNfc2V0cmVzZ2lkKTogTGlrZXdpc2UuCisJKiBsaW51eC9zeXNjYWxsZW50Lmg6IEJldHRlciBoYW5kbGUgZ2V0Z2lkMzIsIGdldGV1aWQzMiwgZ2V0ZWdpZDMyLAorCXNldHJldWlkMzIsIHNldHJlZ2lkMzIsIGdldGdyb3VwczMyLCBzZXRncm91cHMzMiwgZmNob3duMzIsCisJc2V0cmVzdWlkMzIsIGdldHJlc3VpZDMyLCBzZXRyZXNnaWQzMiwgZ2V0cmVzZ2lkMzIsIGNob3duMzIsCisJc2V0dWlkMzIsIHNldGdpZDMyLCBzZXRmc3VpZDMyLCBzZXRmc2dpZDMyLgorCSogcHJvY2Vzcy5jIFtMSU5VWF06IERlZmluZSBHRVRHUk9VUFMzMl9ULgorCSogcHJvY2Vzcy5jIFtMSU5VWF0gKHN5c19zZXRncm91cHMzMiwgc3lzX2dldGdyb3VwczMyKToKKwlOZXcgZnVuY3Rpb25zLgorCSogbGludXgvc3lzY2FsbC5oIChzeXNfc2V0Z3JvdXBzMzIsIHN5c19nZXRncm91cHMzMik6CisJRGVjbGFyZSB0aGVtLgorCisyMDAzLTExLTExICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgorCisJKiBzdHJhY2UuYyAobWFpbik6IEJhaWwgd2l0aCB1c2FnZSBlcnJvciBmb3IgbWlzc2luZyBjb21tYW5kIGJlZm9yZSB3ZQorCW9wZW4gdGhlIC1vIGZpbGUgb3IgZmlkZGxlIHVpZHMuCisKKzIwMDMtMTEtMDYgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CisKKwkqIHN0cmFjZS5jIChtYWluKTogVHJlYXQgcGlwZWQgb3V0cHV0IG1vcmUgbGlrZSBmaWxlIG91dHB1dC4KKwlEaXNhbGxvdyAtZmYgd2l0aCBwaXBlZCBvdXRwdXQuICBGaXhlcyBSSCMxMDUzNjYuCisJUmVwb3J0ZWQgYnkgRG1pdHJ5IFYuIExldmluIDxsZHZAYWx0bGludXgub3JnPgorCisJKiBzdHJhY2UuYyAodHByaW50Zik6IENoZWNrIHJlc3VsdCBvZiB2ZnByaW50ZiBhbmQgdXNlIHBlcnJvciB3aGVuIGl0CisJZmFpbHMgd2hpbGUgbm90IHdyaXRpbmcgdG8gc3RkZXJyIGl0c2VsZi4gIEZpeGVzIERlYmlhbiBidWcgIzIxODc2Mi4KKworCSogbmV0LmMgKHByaW50c29jayk6IEZpeCB0eXBvIGluICNpZmRlZiBBRl9ORVRMSU5LLgorCUZyb20gVWxyaWNoIERyZXBwZXIgPGRyZXBwZXJAcmVkaGF0LmNvbT4uCisKKzIwMDMtMTEtMDEgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CisKKwkqIHN5c2NhbGwuYyAodHJhY2Vfc3lzY2FsbCkgW0xJTlVYXTogQ2FsY3VsYXRlIE9ORV9USUNLIG9uY2UgdXNpbmcKKwlzZXRpdGltZXIgcmF0aGVyIHRoYW4gaGFyZC1jb2RpbmcgYSB2YWx1ZSBiYXNlZCBvbiBIWi4KKwlGaXhlcyBSSCMxMDgwMTIsIHJlcG9ydGVkIGJ5IEZsb3JpYW4gTGEgUm9jaGUgPGxhcm9jaGVAcmVkaGF0LmNvbT4uCisKKzIwMDMtMTAtMjEgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CisKKwkqIHN0cmFjZS4xOiBGaXhlZCBhIGZldyBzcGVsbGluZyBlcnJvcnMuCisJRml4ZXMgRGViaWFuIGJ1ZyAjMjE3MDA4LgorCisJKiBzeXNjYWxsLmM6IFJldmVydCBsYXN0IGNoYW5nZSwgd2FzIGJyb2tlbi4KKworMjAwMy0xMC0wMSAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KKworCSogcHJvY2Vzcy5jIChpbnRlcm5hbF9jbG9uZSk6IERvbid0IHN1c3BlbmQgcGFyZW50IHdoZW4gY2FsbCByZXF1ZXN0ZWQKKwlhIHNwZWNpZmljIFBJRCB0aGF0IGlzIG5vdCBhIHRyYWNlZCBjaGlsZC4KKworCSogc2lnbmFsLmMgW0xJTlVYXSAocGFyc2Vfc2lnc2V0X3QpOiBSZXdyaXRlIHRvIHByb2Nlc3MgaGV4IHN0cmluZ3MKKwlmcm9tIHJpZ2h0IHRvIGxlZnQgc28gd2UgZG9uJ3QgaGF2ZSB0byBwcmVzdW1lIHRoZSBzaXplLgorCVJlcG9ydGVkIGJ5IERhdmlkIFdvb2Rob3VzZSA8ZHdtdzJAcmVkaGF0LmNvbT4uCisKKzIwMDMtMDktMjUgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CisKKwkqIG1lbS5jIChtbWFwX3Byb3QpIFtQUk9UX1NFTSwgUFJPVF9HUk9XU0RPV04sIFBST1RfR1JPV1NVUF06IEluY2x1ZGUKKwl0aGVzZSBpbiB0aGUgdGFibGUgaWYgdGhleSBhcmUgZGVmaW5lZC4KKworMjAwMy0wOS0yNCAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KKworCSogY29uZmlndXJlLmFjLCBORVdTOiBWZXJzaW9uIDQuNS4KKwkqIHN0cmFjZS5zcGVjLCBkZWJpYW4vY2hhbmdlbG9nOiA0LjUtMS4KKworCSogc3lzY2FsbC5jIChnZXRfc2NubykgW0xJTlVYXSBbUzM5MCB8fCBTMzkwWF06IEJhaWwgb3V0IG9mCisJaW5zdHJ1Y3Rpb24gZGVjb2RpbmcgYnJhbmNoIGlmIFRDQl9JTlNZU0NBTEwgaXMgY2xlYXIuCisJUmVwb3J0ZWQgYnkgPGpvY2hlbkBwZW5ndWluLWJyZWVkZXIub3JnPi4KKworCSogbGludXgvaW9jdGxlbnQuaDogU3dhcCBvcmRlciBvZiBvdmVybG9hZGVkIFRDKiBhbmQgU05EQ1RMXyogdmFsdWVzLgorCisyMDAzLTA5LTIzICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgorCisJKiBzdHJhY2Uuc3BlYzogT24gcHBjNjQgKG1heWJlIG90aGVycyBsYXRlciksIGNyZWF0ZSBhbiBzdHJhY2U2NAorCXBhY2thZ2UgYXMgd2VsbCBjb250YWluaW5nIGp1c3QgL3Vzci9iaW4vc3RyYWNlNjQuCisKKwkqIHNpZ25hbC5jIChzcHJpbnRzaWdtYXNrKTogUHJpbnQgUlRfJXUgZm9yIF9fU0lHUlRNSU4uLl9fU0lHUlRNQVguCisJRml4ZXMgUkgjMTA0MzY1LgorCisyMDAzLTA4LTIxICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgorCisJKiBsaW51eC9zeXNjYWxsZW50Lmg6IEZpeCBtbG9jayBhcmd1bWVudCBjb3VudC4gIEZpeGVzIFJIIzEwMTQ5OS4KKwkqIGxpbnV4L3g4Nl82NC9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCSogbGludXgvczM5MC9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCSogbGludXgvczM5MHgvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKworMjAwMy0wNy0yOCAgRGFuaWVsIEphY29ib3dpdHogIDxkcm93QG12aXN0YS5jb20+CisKKwkqIGRlZnMuaCAoQUxJR042NCk6IERlZmluZSBmb3IgTUlQUy4KKwkqIGlvLmMgKFBSRUFEX09GRlNFVF9BUkcpOiBEZWZpbmUuCisJKHN5c19wcmVhZCwgc3lzX3B3cml0ZSk6IFVzZSBpdC4KKwkqIHByb2Nlc3MuYyAoc3RydWN0X3VzZXJfb2Zmc2V0cykgW1NIXTogQ2hlY2sgd2hldGhlciBSRUdfWERSRUcwCisJaXMgZGVmaW5lZC4KKwkqIGxpbnV4L3NoL3N5c2NhbGxlbnQuaCAocHJlYWQsIHB3cml0ZSk6IFRha2Ugc2l4IGFyZ3VtZW50cy4KKwkodHJ1bmNhdGU2NCwgZnRydW5jYXRlNjQpOiBQcmV0dHktcHJpbnQuCisJKiBsaW51eC9taXBzL3N5c2NhbGxlbnQuaCAocHJlYWQsIHB3cml0ZSk6IFRha2Ugc2l4IGFyZ3VtZW50cy4KKwkodHJ1bmNhdGU2NCwgZnRydW5jYXRlNjQpOiBUYWtlIGZvdXIgYXJndW1lbnRzLgorCisyMDAzLTA3LTE3ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgorCisJKiBjb25maWd1cmUuYWMsIE5FV1M6IFZlcnNpb24gNC40Ljk5LgorCSogc3RyYWNlLnNwZWMsIGRlYmlhbi9jaGFuZ2Vsb2c6IDQuNC45OS0xLgorCisyMDAzLTA3LTE1ICBBbnRvbiBCbGFuY2hhcmQgIDxhbnRvbkBzYW1iYS5vcmc+CisKKwkqIGlwYy5jOiBBZGQgU0hNX0hVR0VUTEIgZmllbGQuCisJTWFzayBvdXQgcGVybWlzc2lvbiBiaXRzIGluIG1zZ2dldCwgc2VtZ2V0IGFuZCBzaG1nZXQgYmVmb3JlCisJCXByaW50aW5nIHJlc291cmNlX2ZsYWdzLgorCU1hc2sgZXhlY3V0ZSBwZXJtaXNzaW9uIGJpdHMgKGV2ZW4gdGhvdWdoIHdlIGRvbnQgY3VycmVudGx5CisJCXVzZSB0aGVtKS4KKworMjAwMy0wNy0xNyAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KKworCSogbGludXgvcG93ZXJwYy9zeXNjYWxsZW50LmggKHRna2lsbCk6IE5ldyBhdCAyNTAuCisKKwkqIGxpbnV4L3N5c2NhbGxlbnQuaDogdHJ1bmNhdGU2NC9mdHJ1bmNhdGU2NCBuZWVkIDMgYXJncy4KKwlGcm9tIFVscmljaCBEcmVwcGVyIDxkcmVwcGVyQHJlZGhhdC5jb20+LgorCisJKiBsaW51eC9zeXNjYWxsZW50Lmg6IEhhbmRsZSBzdGF0ZnM2NCwgZnN0YXRmczY0LCB1dGltZXMuCisJKiBmaWxlLmMgKHByaW50c3RhdGZzKTogUHJpbnQgZl9mc2lkIGFuZCBmX2Zyc2l6ZS4KKwlbTElOVVhdIChwcmludHN0YXRmczY0LCBzeXNfc3RhdGZzNjQsIHN5c19mc3RhdGZzNjQpOiBOZXcgZnVuY3Rpb25zLgorCSogbGludXgvc3lzY2FsbC5oOiBBZGQgZGVjbHMuCisJRnJvbSBVbHJpY2ggRHJlcHBlciA8ZHJlcHBlckByZWRoYXQuY29tPi4KKworMjAwMy0wNy0wOSAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KKworCSogbGludXgvaWE2NC9zeXNjYWxsZW50LmggKHRna2lsbCk6IE5ldyBhdCAxMjM1LgorCisyMDAzLTA3LTA1ICBSaWNoYXJkIEhlbmRlcnNvbiAgPHJ0aEB0d2lkZGxlLm5ldD4KKworCSogcHJvY2Vzcy5jIChzeXNfY2xvbmUpOiBPcmRlciBhcmd1bWVudHMgZm9yIGFscGhhIHRoZSBzYW1lIGFzIHg4Nl82NC4KKwkqIHN5c2NhbGwuYyAoRVJFU1RBUlRfUkVTVEFSVEJMT0NLKTogTmV3LgorCSh0cmFjZV9zeXNjYWxsKTogUHJpbnQgaXQuCisJKiBsaW51eC9hbHBoYS9zeXNjYWxsZW50LmggKG9zZl9zeXNjYWxsKTogTmFtZSBwcm9wZXJseS4KKwkob3NmX3NldF9wcm9ncmFtX2F0dHJpYnV0ZXMpOiBGaXggdHlwby4KKwkob3NmX25mc3N2Yyk6IExpa2V3aXNlLgorCShvc2Zfc2lnc2VuZHNldCk6IExpa2V3aXNlLgorCShnZXRkZW50czY0LCBnZXR0aWQsIHJlYWRhaGVhZCwgdGtpbGwsIHNldHhhdHRyLCBsc2V0eGF0dHIsIGZzZXR4YXR0ciwKKwlnZXR4YXR0ciwgbGdldHhhdHRyLCBmZ2V0eGF0dHIsIGxpc3R4YXR0ciwgbGxpc3R4YXR0ciwgZmxpc3R4YXR0ciwKKwlyZW1vdmV4YXR0ciwgbHJlbW92ZXhhdHRyLCBmcmVtb3ZleGF0dHIsIGZ1dGV4LCBzY2hlZF9zZXRhZmZpbml0eSwKKwlzY2hlZF9nZXRhZmZpbml0eSwgdHV4Y2FsbCwgaW9fc2V0dXAsIGlvX2Rlc3Ryb3ksIGlvX2dldGV2ZW50cywKKwlpb19zdWJtaXQsIGlvX2NhbmNlbCwgZXhpdF9ncm91cCwgbG9va3VwX2Rjb29raWUsIGVwb2xsX2NyZWF0ZSwKKwllcG9sbF9jdGwsIGVwb2xsX3dhaXQsIHJlbWFwX2ZpbGVfcGFnZXMsIHNldF90aWRfYWRkcmVzcywKKwlyZXN0YXJ0X3N5c2NhbGwsIGZhZHZpc2UsIHRpbWVyX2NyZWF0ZSwgdGltZXJfc2V0dGltZSwgdGltZXJfZ2V0dGltZSwKKwl0aW1lcl9nZXRvdmVycnVuLCB0aW1lcl9kZWxldGUsIGNsb2NrX3NldHRpbWUsIGNsb2NrX2dldHRpbWUsCisJY2xvY2tfZ2V0cmVzLCBjbG9ja19uYW5vc2xlZXAsIHNlbXRpbWVkb3ApOiBOZXcuCisKKzIwMDMtMDctMDggIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CisKKwkqIHNpZ25hbC5jIChzeXNfdGdraWxsKTogTmV3IGZ1bmN0aW9uLgorCSogbGludXgvc3lzY2FsbC5oOiBEZWNsYXJlIGl0LgorCSogbGludXgvc3lzY2FsbGVudC5oOiBBZGQgdGdraWxsLgorCisyMDAzLTA2LTI3ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgorCisJKiBjb25maWd1cmUuYWM6IENoZWNrIGZvciB0eXBlIGBzdHJ1Y3QgX19vbGRfa2VybmVsX3N0YXQnLgorCSogZmlsZS5jIChjb252ZXJ0b2xkc3RhdCwgcHJpbnRvbGRzdGF0KTogRGVmaW5lIHVuZGVyCisJW0xJTlVYICYmIEhBVkVfU1RSVUNUX19fT0xEX0tFUk5FTF9TVEFUXSByYXRoZXIgdGhhbiBhIGxpc3Qgb2YgYXJjaHMuCisJKHN5c19vbGRzdGF0LCBzeXNfb2xkZnN0YXQsIHN5c19vbGRsc3RhdCk6IExpa2V3aXNlLgorCSogbGludXgvZHVtbXkuaCBbISBIQVZFX1NUUlVDVF9fX09MRF9LRVJORUxfU1RBVF0KKwkoc3lzX29sZHN0YXQsIHN5c19vbGRmc3RhdCwgc3lzX29sZGxzdGF0KTogI2RlZmluZSB0byBwcmludGFyZ3MuCisKKzIwMDMtMDYtMjYgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CisKKwkqIGNvbmZpZ3VyZS5hYzogU0hNRURJQSAtPiBTSDY0CisJKiBkZWZzLmg6IExpa2V3aXNlLgorCSogbWVtLmM6IExpa2V3aXNlLgorCSogcHJvY2Vzcy5jOiBMaWtld2lzZS4KKwkqIHNvY2suYzogTGlrZXdpc2UuCisJKiBzeXNjYWxsLmM6IExpa2V3aXNlLgorCSogdXRpbC5jOiBMaWtld2lzZS4KKwkqIGxpbnV4L3NobWVkaWEvc3lzY2FsbGVudC5oOiBNb3ZlZCB0byAuLi4KKwkqIGxpbnV4L3NoNjQvc3lzY2FsbGVudC5oOiAuLi4gaGVyZS4KKworCSogY29uZmlnLmd1ZXNzOiBVcGRhdGUgZnJvbSBjYW5vbmljYWwgdmVyc2lvbiwgdGltZXN0YW1wIDIwMDMtMDYtMTcuCisJKiBjb25maWcuc3ViOiBMaWtld2lzZS4KKworCSogc3lzY2FsbC5jIChmb3JjZV9yZXN1bHQpIFtMSU5VWF0gW0FSTV06IEZpeCB2YXJpYWJsZSB1c2FnZS4KKwlGcm9tOiBKb3NodWEgTmVhbCA8dGluYXJhQG5ldHBpcGVsaW5lLm5ldD4uCisKKwkqIHByb2Nlc3MuYyBbTElOVVhdIChzeXNfZnV0ZXgpOiBHcm9rIEZVVEVYX1JFUVVFVUUgYW5kIHByaW50IDV0aCBhcmcuCisJKiBsaW51eC9zeXNjYWxsZW50Lmg6IHN5c19mdXRleCBhcmd1bWVudCBjb3VudCBpcyBub3cgNSwgbm90IDQuCisJKiBsaW51eC9pYTY0L3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9wb3dlcnBjL3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9zMzkwL3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9zMzkweC9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCSogbGludXgveDg2XzY0L3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJRnJvbSBKYWt1YiBKZWxpbmVrIDxqYWt1YkByZWRoYXQuY29tPi4KKworCSogc3lzY2FsbC5jIChnZXRfc2NubykgW1MzOTAgfHwgUzM5MFhdOiBGaXggb2xkIHZzIG5ldyBtb2RlIGRldGVjdGlvbi4KKwlGcm9tIE1pY2hhZWwgSG9semhldSA8SE9MWkhFVUBkZS5pYm0uY29tPi4KKworMjAwMy0wNi0yMyAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KKworCSogbmV0LmMgKHN5c19zb2NrZXQpOiBEZWNvZGUgcHJvdG9jb2wgZm9yIFBGX0lORVQ2IHNhbWUgYXMgUEZfSU5FVC4KKwlGcm9tIFVscmljaCBEcmVwcGVyIDxkcmVwcGVyQHJlZGhhdC5jb20+LgorCisyMDAzLTA2LTEwICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgorCisJKiBjb25maWd1cmUuYWMsIE5FV1M6IFZlcnNpb24gNC40Ljk4LgorCSogc3RyYWNlLnNwZWMsIGRlYmlhbi9jaGFuZ2Vsb2c6IDQuNC45OC0xLgorCisyMDAzLTA2LTA5ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgorCisJKiBsaW51eC9zMzkweC9zeXNjYWxsZW50Lmg6IFVwZGF0ZSBtYW55IHN5c2NhbGxzLgorCSogbGludXgvc3lzY2FsbC5oIChTWVNfc29ja2V0X3N1YmNhbGwpOiBVcGRhdGUgW1MzOTBYXSB2YWx1ZS4KKworCSogbGludXgvczM5MC9zeXNjYWxsZW50Lmg6IFVwZGF0ZSBtYW55IHN5c2NhbGxzLgorCSogbGludXgvc3lzY2FsbC5oIChTWVNfc29ja2V0X3N1YmNhbGwpOiBVcGRhdGUgW1MzOTBdIHZhbHVlLgorCisJKiBsaW51eC9zaG1lZGlhL3N5c2NhbGxlbnQuaDogTmV3IGZpbGUuCisJRnJvbSBTdGVwaGVuIFRob21hcyA8c3RlcGhlbi50aG9tYXNAc3VwZXJoLmNvbT4uCisKKwkqIHN0cmFjZS5jICh0cmFjZSk6IFByaW50IGEgbWVzc2FnZSBhbmQgbmV3bGluZSBmb3IgYSBXSUZFWElURUQgcmVwb3J0CisJZnJvbSB0aGUgcHJvY2VzcyB3ZSBqdXN0IHByaW50ZWQgYW4gdW50ZXJtaW5hdGVkIHN5c2NhbGwgbGluZSBmb3IuCisKKzIwMDMtMDYtMDMgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CisKKwkqIHV0aWwuYyAocHJpbnRjYWxsKSBbTElOVVhdOiBGaXggdHlwbyBbSUE2Ml0gLT4gW0lBNjRdLgorCisJTGludXgvQVJNIGltcHJvdmVtZW50cyBmcm9tIFJ1c3NlbGwgS2luZyA8cm1rQGFybS5saW51eC5vcmcudWs+OgorCSogZGVmcy5oIFtMSU5VWF0gKFRDQl9XQUlURVhFQ1ZFKTogRGVmaW5lIGZvciBbQVJNXSB0b28uCisJKiBwcm9jZXNzLmMgKHN0cnVjdF91c2VyX29mZnNldHMpIFtMSU5VWF0gW0FSTV06IEFkZCBBUk0gcmVnaXN0ZXJzLgorCSogc2lnbmFsLmMgW0xJTlVYXSAoc3lzX3NpZ3JldHVybikgW0FSTV06IE5ldyBjYXNlLgorCSogc3lzY2FsbC5jIChnZXRfc2Nubywgc3lzY2FsbF9maXh1cCkgW0xJTlVYXSBbQVJNXTogQ2FzZSByZXdyaXR0ZW4uCisJKGdldF9lcnJvcikgW0xJTlVYXSBbQVJNXTogVXBkYXRlLgorCShzeXNjYWxsX2VudGVyKSBbTElOVVhdIFtBUk1dOiBOZXcgY2FzZS4KKwkqIHV0aWwuYyAocHJpbnRjYWxsKSBbTElOVVhdIFtBUk1dOiBOZXcgY2FzZS4KKworCSogZGViaWFuL2NvbnRyb2wgKFN0YW5kYXJkcy1WZXJzaW9uKTogVXBkYXRlIHRvIDMuNS4xMC4KKworCSogc3RyYWNlLmMgKG1haW4pOiBJbiBQQVRIIHNlYXJjaCwgYWNjZXB0IG9ubHkgYSByZWd1bGFyIGZpbGUgd2l0aAorCWV4ZWN1dGUgYml0cyBzZXQuICBGaXhlcyBEZWJpYW4gYnVnICMxMzcxMDMuCisKKzIwMDMtMDYtMDIgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CisKKwkqIHN0cmFjZS5jIChtYWluKTogU2V0IC1xIHdoZW4gZ2l2ZW4gLW8gYW5kIG5vdCAtcCwgYW5kIG5vdCB3aGVuIG5vdAorCWdpdmVuIC1vLCB0byBtYXRjaCB3aGF0IHRoZSBtYW4gcGFnZSBhbHdheXMgc2FpZC4KKwlGaXhlcyBEZWJpYW4gYnVnICM0NzExMywgIzE1MzY3OC4KKworCSogY29uZmlndXJlLmFjLCBORVdTOiBWZXJzaW9uIDQuNC45Ny4KKwkqIHN0cmFjZS5zcGVjLCBkZWJpYW4vY2hhbmdlbG9nOiA0LjQuOTctMS4KKworCSogY29uZmlndXJlLmFjLCBkZWZzLmgsIG1lbS5jLCBwcm9jZXNzLmMsIHNvY2suYywgc3lzY2FsbC5jLCB1dGlsLmM6CisJTWVyZ2VkIGluIFNIbWVkaWEgcG9ydCBmcm9tIFN0ZXBoZW4gVGhvbWFzIDxzdGVwaGVuLnRob21hc0BzdXBlcmguY29tPi4KKworCSogY29uZmlnLmd1ZXNzOiBVcGRhdGUgZnJvbSBmdHA6Ly9mdHAuZ251Lm9yZy9wdWIvZ251L2NvbmZpZy8sCisJdGltZXN0YW1wIDIwMDMtMDUtMjIuCisJKiBjb25maWcuc3ViOiBMaWtld2lzZSwgdGltZXN0YW1wIDIwMDMtMDUtMjQuCisKKzIwMDMtMDUtMjIgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CisKKwkqIGRlZnMuaCAoc3RydWN0IHRjYik6IE5ldyBtZW1iZXIgYG56b21iaWVzJy4KKwkqIHN0cmFjZS5jIChhbGxvY3RjYik6IEluaXRpYWxpemUgaXQuCisJKGRyb3B0Y2IpOiBJbmNyZW1lbnQgb3VyIHBhcmVudCdzIHpvbWJpZSBjb3VudC4KKwkqIHByb2Nlc3MuYyAoaW50ZXJuYWxfd2FpdCk6IERvbid0IGdvIGludG8gVENCX1NVU1BFTkRFRCBpZiB0aGUKKwlwcm9jZXNzIGhhcyB6b21iaWVzIGl0IGNhbiByZWFwLiAgT24gdGhlIHdheSBvdXQsIGlmIHdlIHJlYXBlZAorCWFuIHVudHJhY2VkIHByb2Nlc3MsIGRlY3JlbWVudCB0aGUgem9tYmllIGNvdW50LgorCisJKiBwcm9jZXNzLmMgKHN5c19jbG9uZSk6IE1hc2sgQ1NJR05BTCBvdXQgb2YgZmxhZ3MgYW5kIHByaW50IHRoYXQKKwlzZXBhcmF0ZWx5IHVzaW5nIHNpZ25hbWUuCisKKwkqIHByb2Nlc3MuYyAoaW50ZXJuYWxfY2xvbmUpIFtUQ0JfQ0xPTkVfVEhSRUFEXTogVXNlIEFSR19GTEFHUyBpbnN0ZWFkCisJb2YgbGl0ZXJhbCAwIGZvciBpbmRleC4gIENvbnN1bHQgdGhlIHJpZ2h0IGZsYWdzIHdpdGhvdXQgY2xvYmJlcmluZworCWFueXRoaW5nIHdoZW4gd2UgcmVwYXJlbnQgdGhlIG5ldyBjaGlsZCB0byB0aGUgY2FsbGVyJ3MgcGFyZW50IHRocmVhZC4KKworCSogbGludXgvczM5MC9zeXNjYWxsZW50Lmg6IEZpeCBzeXNfY2xvbmUgYXJndW1lbnQgY291bnQuCisJKiBsaW51eC9zMzkweC9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCSogbGludXgvbWlwcy9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCSogbGludXgvYWxwaGEvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKwkqIGxpbnV4L3Bvd2VycGMvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKwkqIGxpbnV4L3NoL3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisJKiBsaW51eC9zcGFyYy9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCSogbGludXgvaHBwYS9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCisJKiBwcm9jZXNzLmMgW0xJTlVYXSBbUzM5MCB8fCBTMzkwWF0gKEFSR19DVElELCBBUkdfVExTKTogRml4IHN3YXBwZWQKKwlpbmRpY2VzLiAgUmVwb3J0ZWQgYnkgSmFrdWIgSmVsaW5layA8amFrdWJAcmVkaGF0LmNvbT4uCisKKwkqIHNpZ25hbC5jIFtMSU5VWF0gKFNJX1NJR0lPLCBTSV9US0lMTCk6IE5ldyBtYWNyb3MuCisJW0xJTlVYIHx8IFNWUjRdIChzaWdpbmZvX2NvZGVzKTogQWRkIHN0cmluZ3MgZm9yIHRoZW0uCisKKwkqIHByb2Nlc3MuYyAocHJpbnRfYWZmaW5pdHlsaXN0KTogRml4IGxvb3AgY29uZGl0aW9uLgorCVJlcG9ydGVkIGJ5IElhbiBXaWVuYW5kIDxpYW53QGdlbGF0by51bnN3LmVkdS5hdT4uCisKKzIwMDMtMDQtMTAgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CisKKwkqIHN5c2NhbGwuYyAocXVhbF9kZXNjKTogUmV0dXJuIHplcm8gYWZ0ZXIgcGFyc2luZyBudW1iZXIuCisJRnJvbSBSb2IgTGVzbGllIDxyb2JAbWFycy5vcmc+LCBmaXhlcyBEZWJpYW4gYnVnICMxODgzNzkuCisKKzIwMDMtMDQtMDcgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CisKKwkqIGxpbnV4L3N5c2NhbGxlbnQuaDogSGFuZGxlIHNlbXRpbWVkb3Agc3ViY2FsbCBvZiBpcGMgc3lzY2FsbC4KKwkqIGxpbnV4L3N5c2NhbGwuaDogTGlrZXdpc2UuCisJKiBpcGMuYyBbTElOVVhdIChzeXNfc2VtdGltZWRvcCk6IE5ldyBmdW5jdGlvbi4KKwlGcm9tIFVscmljaCBEcmVwcGVyIDxkcmVwcGVyQHJlZGhhdC5jb20+LgorCisJKiBpcGMuYyAoc3lzX3NlbWdldCk6IE1hc2sgb2ZmIHBlcm1pc3Npb24gYml0cyBmb3IgcmVzb3VyY2VfZmxhZ3MuCisJRnJvbSBVbHJpY2ggRHJlcHBlciA8ZHJlcHBlckByZWRoYXQuY29tPi4KKworMjAwMy0wNC0wMSAgUGhpbGlwcGUgRGUgTXV5dGVyICA8cGhkbUBtYWNxZWwuYmU+CisKKwkqIHNvY2suYywgc3RyZWFtLmM6IENoZWNrICNpZmRlZiBMSU5VWCwgbm90IGxpbnV4LgorCSogZmlsZS5jOiBBbHdheXMgcHJvdmlkZSBzeXNfKmF0dHIsIHJlZ2FyZGxlc3Mgb2YgI2lmZGVmIFhBVFRSX0NSRUFURS4KKworMjAwMy0wMy0zMCAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KKworCSogY29uZmlndXJlLmFjLCBORVdTOiBWZXJzaW9uIDQuNC45Ni4KKwkqIHN0cmFjZS5zcGVjLCBkZWJpYW4vY2hhbmdlbG9nOiA0LjQuOTYtMS4KKworMjAwMy0wMi0yNiAgU3R1YXJ0IE1lbmVmeSA8c3R1YXJ0Lm1lbmVmeUBzdC5jb20+CisKKwlWYXJpb3VzIGZpeGVzIGZvciBTdXBlckggW1NIXToKKwkqIG1lbS5jIChzeXNfb2xkX21tYXApOiBtbWFwKCkgcGFyYW1ldGVycyBwYXNzZWQgaW4gcmVnaXN0ZXJzCisJKiBuZXQuYyAoc3lzX3BpcGUpLCBzeXNjYWxsLmMgKGdldHJ2YWwyKTogcGlwZSgpIHJlc3VsdHMgcmV0dXJuZWQKKwlpbiByZWdpc3RlcnMKKwkqIHByb2Nlc3MuYyAoY2hhbmdlX3N5c2NhbGwpOiBGaXhlZCByZWdpc3RlciB3aGljaCBob2xkcyBzeXN0ZW0KKwljYWxsIG51bWJlcgorCSogdXRpbC5jIChhcmcwX29mZnNldCwgYXJnMV9vZmZzZXQpOiBwcm92aWRlIGRlZmluaXRpb24KKwkqIE1ha2VmaWxlLmFtOiBBZGRlZCBuZXcgZmlsZXMgaW4gbGludXgvc2gKKwkqIGxpbnV4L3NoL3N5c2NhbGxlbnQuaDogTmV3IGZpbGUuCisJKiBsaW51eC9zaC9lcnJub2VudC5oOiBOZXcgZmlsZS4KKwkqIGxpbnV4L3NoL2lvY3RsZW50Lmg6IE5ldyBmaWxlLgorCSogbGludXgvc2gvc2lnbmFsZW50Lmg6IE5ldyBmaWxlLgorCisJKiBsaW51eC9pb2N0bGVudC5zaDogVGFrZSBhbiBhcmcgZm9yIGxvY2F0aW9uIG9mIGhlYWRlciBmaWxlcworCSogc3lzY2FsbGVudC5zaDogUmVwbGFjZWQgbG9zdCAkCisKKzIwMDMtMDMtMzAgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CisKKwkqIHRpbWUuYyBbTElOVVhdOiBIYW5kbGUgbmV3IExpbnV4IDIuNSBjbG9jay90aW1lciBzeXNjYWxscy4KKwkqIGxpbnV4L3N5c2NhbGwuaCwgbGludXgvc3lzY2FsbGVudC5oLCBsaW51eC9kdW1teS5oOiBMaWtld2lzZS4KKwlGcm9tIFVscmljaCBEcmVwcGVyIDxkcmVwcGVyQHJlZGhhdC5jb20+LgorCisJKiBsaW51eC9zeXNjYWxsZW50Lmg6IFVzZSBzeXNfZ2V0cmxpbWl0IGZvciAxOTEuCisJVXNlIG5hbWUgIm9sZF9nZXRybGltaXQiIGZvciA3Ni4KKwlSZXBvcnRlZCBieSBVbHJpY2ggRHJlcHBlciA8ZHJlcHBlckByZWRoYXQuY29tPi4KKworMjAwMy0wMy0xOCAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KKworCSogcHJvY2Vzcy5jIFtMSU5VWF0gKHN5c19jbG9uZSk6IERvbid0IGRlcmVmZXJlbmNlIHBhcmVudF90aWQgYXJndW1lbnQuCisKKzIwMDMtMDMtMTcgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CisKKwkqIGxpbnV4L3g4Nl82NC9zeXNjYWxsZW50Lmg6IGNsb25lIHRha2VzIDUgYXJncy4KKwkqIHByb2Nlc3MuYyBbTElOVVhdIChzeXNfY2xvbmUpIFtYODZfNjRdOiBGaXggYXJndW1lbnQgb3JkZXIuCisKKzIwMDMtMDMtMTUgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CisKKwkqIGxpbnV4L3g4Nl82NC9zeXNjYWxsZW50Lmg6IEFkZCBleGl0X2dyb3VwIHN5c2NhbGwgYXQgMjMxLgorCisyMDAzLTAzLTE0ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgorCisJKiBsaW51eC94ODZfNjQvc3lzY2FsbGVudC5oOiBVcGRhdGUgYW5kIGFkZCBtYW55IDIuNSBzeXNjYWxscy4KKworCSogbGludXgvaWE2NC9zeXNjYWxsZW50Lmg6IGNsb25lIHRha2VzIDUgYXJndW1lbnRzLgorCSogcHJvY2Vzcy5jIFtMSU5VWCAmJiBJQTY0XSAoQVJHXyopOiBVcGRhdGUgZm9yIDIuNSBjbG9uZSBjYWxscy4KKworMjAwMy0wMy0xMiAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KKworCSogbGludXgvaWE2NC9zeXNjYWxsZW50Lmg6IEZpeCBhcmcgY291bnRzIGZvciBjbG9uZSBhbmQgY2xvbmUyLgorCVVzZSBzeXNfY2xvbmUgZm9yIGNsb25lMi4KKwkqIGxpbnV4L3N5c2NhbGwuaDogRG9uJ3QgZGVjbGFyZSBzeXNfY2xvbmUyLgorCSogcHJvY2Vzcy5jIChzeXNfY2xvbmUpOiBSZXdyaXR0ZW4gdG8gaGFuZGxlIGJvdGggZmxhdm9ycywKKwlwcmludCBhbGwgZXh0cmEgYXJncyBkZXBlbmRpbmcgb24gZmxhZyBiaXRzLgorCShzeXNfY2xvbmUyKTogRnVuY3Rpb24gcmVtb3ZlZC4KKworCSogbGludXgvaWE2NC9zeXNjYWxsZW50Lmg6IEFkZCBhIGJ1bmNoIG9mIDIuNSBzeXNjYWxscy4KKworMjAwMy0wMy0wNCAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KKworCSogc3lzY2FsbC5jIChnZXRfc2NubykgW0lBNjRdOiBEbyBUQ0JfV0FJVEVYRUNWRSBjaGVjayBvbmx5IHdoZW4KKwlUQ0JfSU5TWVNDQUxMIGlzIGNsZWFyLCBsaWtlIG90aGVyIHBsYXRmb3JtcyBkby4KKworMjAwMy0wMy0wNCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CisKKwkqIG1lbS5jIFtMSU5VWF0gKHN5c19yZW1hcF9maWxlX3BhZ2VzKTogTmV3IGZ1bmN0aW9uLgorCSogbGludXgvc3lzY2FsbC5oOiBEZWNsYXJlIGl0LgorCSogbGludXgvc3lzY2FsbGVudC5oOiBVc2UgaXQuCisJKiBsaW51eC9wb3dlcnBjL3N5c2NhbGxlbnQuaDogTGlrZXdpc2UuCisKKwkqIHByb2Nlc3MuYyBbTElOVVhdIChzeXNfZnV0ZXgpOiBPbWl0IGZpbmFsIGlmIG9wIGlzIG5vdCBGVVRFWF9XQUlULgorCisyMDAzLTAyLTI2ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgorCisJKiBjb25maWd1cmUuYWM6IEZpeCB0eXBvIGluIG5ldGluZXQvaW4uaCBjaGVjay4KKwlBbHNvIGluY2x1ZGUgPHN5cy90eXBlcy5oPiBhbmQgPHN5cy9zb2NrZXQuaD4gYmVmb3JlIDxuZXRpbmV0L2luLmg+LgorCVJlcG9ydGVkIGJ5IEFsZXggU2VtZW55YWthIDxhbGV4c0BzbmFyay5yaW5ldC5ydT4uCisKKzIwMDMtMDItMjQgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CisKKwkqIGNvbmZpZ3VyZS5hYywgTkVXUzogVmVyc2lvbiA0LjQuOTUuCisJKiBzdHJhY2Uuc3BlYywgZGViaWFuL2NoYW5nZWxvZzogNC40Ljk1LTEuCisKKwkqIHByb2Nlc3MuYyAoc3lzX2dldHJlc2dpZCk6IEZpeCB0eXBvcyBpbiBhcmd1bWVudCBhY2Nlc3MuCisKKzIwMDMtMDItMjMgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CisKKwkqIHByb2Nlc3MuYyAoc3lzX2dldHJlc3VpZCk6IEZpeCB0eXBvcyBpbiBhcmd1bWVudCBhY2Nlc3MuCisJUmVwb3J0ZWQgYnkgQW50b24gQmxhbmNoYXJkIDxhbnRvbkBzYW1iYS5vcmc+LgorCisyMDAzLTAyLTE5ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgorCisJKiBjb25maWd1cmUuYWMsIE5FV1M6IFZlcnNpb24gNC40Ljk0LgorCSogc3RyYWNlLnNwZWMsIGRlYmlhbi9jaGFuZ2Vsb2c6IDQuNC45NC0xLgorCisJKiB2ZXJzaW9uLmM6IFJlbW92ZWQuCisJKiBNYWtlZmlsZS5hbSAoc3RyYWNlX1NPVVJDRVMpOiBSZW1vdmUgaXQuCisJKiBzdHJhY2UuYzogVXNlIFBBQ0tBR0VfTkFNRSBhbmQgVkVSU0lPTiBtYWNyb3MgaW5zdGVhZCBvZiB2ZXJzaW9uIHZhci4KKworCUZyZWVCU0QgcmZvcmsgc3VwcG9ydCBjaGFuZ2VzIGZyb20gUnVzcyBDb3ggPHJzY0BwbGFuOS5iZWxsLWxhYnMuY29tPjoKKwkqIHN5c2NhbGwuYyAoaW50ZXJuYWxfc3lzY2FsbCk6IEhhbmRsZSBTWVNfcmZvcmsgd2l0aCBpbnRlcm5hbF9mb3JrLgorCSogcHJvY2Vzcy5jIChpbnRlcm5hbF9mb3JrKSBbU1lTX3Jmb3JrXTogQmFpbCBpZiBSRlBST0MgZmxhZyBub3Qgc2V0LgorCisyMDAzLTAxLTIzICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgorCisJKiBzaWduYWwuYzogUmVvcmRlciAjaWZkZWZzIHNvIEhBVkVfQVNNX1NJR0NPTlRFWFRfSCBkb2Vzbid0IG1hdHRlciBvbgorCVNQQVJDLCB3aGljaCBkb2Vzbid0IHVzZSB0aGUgaGVhZGVyIHJlZ2FyZGxlc3MuCisKKwkqIHV0aWwuYyBbTElOVVggJiYgU1BBUkNdOiBEbyByZW5hbWluZyBrbHVkZ2VzIGFyb3VuZCA8YXNtL3JlZy5oPgorCWxpa2Ugc2lnbmFsLmMgZG9lcy4KKworCSogbGludXgvc3BhcmMvc3lzY2FsbC5oOiBEZWNsYXJlIHN5c19nZXRkZW50czY0LCBzeXNfbGxzZWVrLgorCisJKiBsaW51eC9kdW1teS5oIFshIFNZU19nZXRwbXNnXSAoc3lzX2dldHBtc2cpOiAjZGVmaW5lIHRvIHByaW50YXJncy4KKwlbISBTWVNfcHV0cG1zZ10gKHN5c19wdXRwbXNnKTogTGlrZXdpc2UuCisKKwkqIHByb2Nlc3MuYzogUmVvcmRlciBpbmNsdWRlcyB0byBwdXQgc3lzL3JlZy5oIGJlZm9yZSBsaW51eC9wdHJhY2UuaCwKKwlzaW5jZSB0aGV5IGNhbiBjb25mbGljdC4KKworMjAwMy0wMS0yMSAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KKworCSogc3RyYWNlLmMgKHVzYWdlKTogT21pdCAteiwgc2luY2UgaXQgaGFzIG5ldmVyIHdvcmtlZCBwcm9wZXJseS4KKwkqIE5FV1M6IExpa2V3aXNlLgorCisJKiBzdHJhY2UuYyAobWFpbik6IEdyb2sgbmV3IG9wdGlvbiBgLUUgdmFyPXZhbCcgb3IgYC1FIHZhcicgdG8gcHV0CisJdmFyPXZhbCBpbiBlbnZpcm9uIG9yIHRvIHJlbW92ZSB2YXIsIHJlc3BlY3RpdmVseS4KKwkodXNhZ2UpOiBNZW50aW9uIGl0LgorCSogc3RyYWNlLjEsIE5FV1M6IERvY3VtZW50IGl0LgorCisJKiBjb25maWd1cmUuYWMsIE5FV1M6IFZlcnNpb24gNC40LjkzLgorCSogc3RyYWNlLnNwZWMsIGRlYmlhbi9jaGFuZ2Vsb2c6IDQuNC45My0xLgorCSogc3RyYWNlLnNwZWMgKFNvdXJjZTApOiBVc2Ugc3RyYWNlLVZFUlNJT04udGFyLmJ6MiBub3cuCisKKzIwMDMtMDEtMjAgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CisKKwkqIGRlZnMuaCBbTElOVVhdIFtTMzkwIHx8IFMzOTBYXSAoVENCX1dBSVRFWEVDVkUpOiBEZWZpbmUgaXQuCisJKiBzeXNjYWxsLmMgKGdldF9zY25vLCBzeXNjYWxsX2ZpeHVwKSBbTElOVVhdIFtTMzkwIHx8IFMzOTBYXTogSGFuZGxlCisJVENCX1dBSVRFWEVDVkUgc3RhdGUgd2l0aCBzcGVjaWFsIGtsdWRnZXMuCisKKwkqIHByb2Nlc3MuYyBbTElOVVhdIChzeXNfY2xvbmUpIFtTMzkwIHx8IFMzOTBYXTogQXJndW1lbnQgb3JkZXIgaXMKKwlyZXZlcnNlZCBmcm9tIG90aGVyIGFyY2hpdGVjdHVyZXMuCisKKwkqIHByb2Nlc3MuYyAoc3lzX2V4ZWN2ZSkgW0xJTlVYXTogTWFrZSBzZXR0aW5nIFRDQl9XQUlURVhFQ1ZFIGZsYWcKKwljb25kaXRpb25hbCBvbiBbVENCX1dBSVRFWEVDVkVdIGluc3RlYWQgb2YgbGlzdCBvZiBwcm9jZXNzb3JzLgorCisJKiB1dGlsLmMgKHJlc3RvcmVfYXJnMCk6IEV2YWx1YXRlIGFyZ3MgaW4gbm8tb3AgZGVmbnMuCisKKwkqIHV0aWwuYyBbUzM5MCB8fCBTMzkwWF0gKGFyZzBfb2Zmc2V0LCBhcmcxX29mZnNldCk6IEZpeCBkZWZpbml0aW9ucworCWZvciBjbG9uZSBjYWxsIG9uIFMzOTAuICBGcm9tIE1pY2hhZWwgSG9semhldSA8aG9semhldUBkZS5pYm0uY29tPi4KKworMjAwMy0wMS0xNyAgQW50b24gQmxhbmNoYXJkIDxhbnRvbkBzYW1iYS5vcmc+CisKKwkqIHV0aWwuYyBbTElOVVhdIChzZXRicHQpOiBIYW5kbGUgU1lTX3Zmb3JrIGxpa2UgU1lTX2ZvcmsuCisKKwkqIGxpbnV4L3N5c2NhbGwuaCAoU1lTX3NvY2tldF9zdWJjYWxsKTogMjU2IGFsc28gZm9yIFBPV0VSUEMuCisKKzIwMDMtMDEtMTQgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CisKKwkqIGxpbnV4L3Bvd2VycGMvZXJybm9lbnQuaDogQWRkIG1pc3NpbmcgZXJybm9zLgorCSogbGludXgvcG93ZXJwYy9pb2N0bGVudC5oOiBVcGRhdGUgaW9jdGwgdmFsdWVzLgorCUZyb20gQW50b24gQmxhbmNoYXJkIDxhbnRvbkBzYW1iYS5vcmc+LgorCisJKiBpby5jIFtMSU5VWF0gKHN5c19wcmVhZCwgc3lzX3B3cml0ZSk6IEZpeCBsYXN0IGNoYW5nZS4KKwlGcm9tIEFudG9uIEJsYW5jaGFyZCA8YW50b25Ac2FtYmEub3JnPi4KKworCSogbGludXgvaHBwYS9zeXNjYWxsZW50Lmg6IFVzZSBzeXNfZ2V0ZGVudHM2NCwgc3lzX3RydW5jYXRlNjQsCisJc3lzX2Z0cnVuY2F0ZTY0LCBpbnN0ZWFkIG9mIHByaW50YXJncywgZm9yIHRob3NlIHN5c2NhbGxzLgorCSogbGludXgvbWlwcy9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCSogbGludXgvcG93ZXJwYy9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCSogbGludXgvczM5MC9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCSogbGludXgvc3BhcmMvc3lzY2FsbGVudC5oOiBMaWtld2lzZS4KKworCSogbGludXgvc3lzY2FsbC5oIChTWVNfc29ja2V0X3N1YmNhbGwpOiBPbmx5IDI1NiBmb3IgUzM5MCwgUzM5MFguCisJQWxsIG90aGVycyBhdCB0aGUgbW9tZW50IHVzZSBsaW51eC9zeXNjYWxsZW50LmgsIHdoZXJlIGl0J3MgMzAwLgorCisJKiBzdHJhY2UuMTogVXBkYXRlIGJ1ZyByZXBvcnRpbmcgaW5mby4KKworCSogcmVzb3VyY2UuYyBbTElOVVhdIChxdW90YWNtZHMpOiBHcm9rIG5ldyBjb21tYW5kIGVuY29kaW5ncy4KKwlGcm9tIE5hdGhhbiBTY290dCA8bmF0aGFuc0BkZWJpYW4ub3JnPi4KKworCSogY29uZmlndXJlLmFjLCBORVdTOiBWZXJzaW9uIDQuNC45Mi4KKwkqIHN0cmFjZS5zcGVjLCBkZWJpYW4vY2hhbmdlbG9nOiA0LjQuOTItMS4KKworCSogY29uZmlndXJlLmFjOiBNYXRjaCBwb3dlcnBjKiAoaW5jbHVkZXMgcG93ZXJwYzY0KSwgYW5kIGRvbid0IG1hdGNoCisJcHBjIChuZXZlciBjb21lcyBvdXQgb2YgY29uZmlnLnN1YikuCisKKwkqIHByb2Nlc3MuYyAoc3lzX3B0cmFjZSk6IFVzZSAjbHggZm9ybWF0IGZvciBhZGRyZXNzIGFyZ3VtZW50LgorCVtQT1dFUlBDXTogVXNlIHNpemVvZih1bnNpZ25lZCBsb25nKSBpbiBwbGFjZSBvZiA0IGZvciBtdWx0aXBsaWVycy4KKwkqIHByb2Nlc3MuYyBbUE9XRVJQQ106IExpa2V3aXNlLgorCSogc2lnbmFsLmMgKHN5c19zaWdyZXR1cm4pIFtQT1dFUlBDXTogTGlrZXdpc2UuCisJKiBzeXNjYWxsLmMgKGdldF9zY25vKSBbUE9XRVJQQ106IExpa2V3aXNlLgorCSogdXRpbC5jIFtQT1dFUlBDXTogTGlrZXdpc2UuCisJKHByaW50bnVtKTogVXNlIGxvbmcgZm9yIE5VTS4KKwlGcm9tIEFudG9uIEJsYW5jaGFyZCA8YW50b25Ac2FtYmEub3JnPi4KKworCSogZGVmcy5oIChBTElHTjY0KTogRml4IGRlZm4gZm9yIFBQQywgc2FtZSBhcyBGcmVlQlNEIG9uZS4KKworCSogdXRpbC5jIFtMSU5VWF0gKHJlc3RvcmVfYXJnMCwgcmVzdG9yZV9hcmcxKTogTmV3IG1hY3JvcywgZGVmaW5lZAorCWFwcHJvcHJpYXRlbHkgdmlhIHNldF9hcmcwIG9yIG5vLW9wcyBmb3IgZWFjaCBhcmNoaXRlY3R1cmUuCisJKGNsZWFyYnB0KTogVXNlIHRob3NlIGluc3RlYWQgb2Ygc2V0X2FyZzAgYW5kIHNldF9hcmcxLgorCisJKiBkZWZzLmggW19MQVJHRUZJTEU2NF9TT1VSQ0VdIChfTEZTNjRfTEFSR0VGSUxFKTogRGVmaW5lIGl0LgorCSogbGludXgvc3lzY2FsbGVudC5oOiBVc2Ugc3lzX2dldGRlbnRzNjQsIHN5c190cnVuY2F0ZTY0LAorCXN5c19mdHJ1bmNhdGU2NCwgaW5zdGVhZCBvZiBwcmludGFyZ3MsIGZvciB0aG9zZSBzeXNjYWxscy4KKworCSogcHJvY2Vzcy5jOiBVc2UgPGxpbnV4L3B0cmFjZS5oPiByZWdhcmRsZXNzIG9mIDxzeXMvcmVnLmg+LgorCShzeXNfcHRyYWNlKTogVXNlIHByaW50eHZhbC4KKwkocHRyYWNlX2NtZHMpOiBNYWtlIFBUUkFDRV9HRVRSRUdTIGV0IGFsIGNvbmRpdGlvbmFsIG9uICNpZmRlZiBQVFJBQ0VfKgorCWluc3RlYWQgb2Ygb25seSAjaWZkZWYgU1VOT1M0LiAgQWRkIFBUUkFDRV9bR1NdRVRGUFhSRUdTLgorCisJKiBpcGMuYyAoUFJJTlRDVEwpOiBOZXcgbWFjcm8uICAjaWZkZWYgSVBDXzY0LCBmYWN0b3Igb3V0IHRoZSBmbGFnIGFuZAorCXByaW50IGl0IGJlZm9yZSB1c2luZyBwcmludHh2YWwuCisJKHN5c19tc2djdGwsIHN5c19zZW1jdGwsIHN5c19zaG1jdGwpOiBVc2UgaXQuCisKKzIwMDMtMDEtMTMgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CisKKwkqIGNvbmZpZy5ndWVzczogVXBkYXRlIGZyb20gZnRwOi8vZnRwLmdudS5vcmcvcHViL2dudS9jb25maWcvLAorCXRpbWVzdGFtcCAyMDAzLTAxLTEwLgorCSogY29uZmlnLnN1YjogTGlrZXdpc2UsIHRpbWVzdGFtcCAyMDAzLTAxLTAzLgorCSogaW5zdGFsbC1zaDogVXBkYXRlIGZyb20gQXV0b21ha2UgMS43LjIuCisKKwkqIGxpbnV4L3Bvd2VycGMvc2lnbmFsZW50Lmg6IEFkZCBTSUdSVE1JTi4KKwlGcm9tIEFudG9uIEJsYW5jaGFyZCA8YW50b25Ac2FtYmEub3JnPi4KKworCSogbGludXgvcG93ZXJwYy9zeXNjYWxsZW50Lmg6IEFkZCBtaXNzaW5nIHN5c3RlbSBjYWxscy4KKwlEZWNvZGUgbW9yZSBzeXN0ZW0gY2FsbHMsIHdlIHdlcmUganVzdCBwcmludGFyZ3MgZm9yIG1hbnkgdGhpbmdzLgorCVJlbW92ZSBzb21lIHg4Ni1zcGVjaWZpYyBzeXN0ZW0gY2FsbHMuCisJUmVtb3ZlIHR3byBzeXNjYWxscyBiZXR3ZWVuIHRoZSBzb2NrZXQgYW5kIGlwYyBzeXNjYWxscywKKwlpdCB3YXMgcmVzdWx0aW5nIGluIGFsbCBJUEMgc3lzY2FsbHMgYmVpbmcgb2ZmIGJ5IHR3by4KKworCSogaW9jdGwuYyAoaW9jdGxfZGVjb2RlKSBbUE9XRVJQQ106IERlY29kZSB0ZXJtIGlvY3RscyBsaWtlIEFscGhhLgorCUZyb20gQW50b24gQmxhbmNoYXJkIDxhbnRvbkBzYW1iYS5vcmc+LgorCisJKiBkZWZzLmggW1BPV0VSUENdIChVRVNQLCBFSVAsIEVBWCwgT1JJR19FQVgpOiBSZW1vdmUgdGhpcyBjcnVmdC4KKwlbTElOVVggJiYgUE9XRVJQQyAmJiAhX19wb3dlcnBjNjRfX10gKEFMSUdONjQpOiBOZXcgbWFjcm8uCisJKiBpby5jIChzeXNfcHJlYWQsIHN5c19wd3JpdGUpOiBVc2UgQUxJR042NC4KKwlGcm9tIEFudG9uIEJsYW5jaGFyZCA8YW50b25Ac2FtYmEub3JnPi4KKworCSogdGVybS5jIFtMSU5VWF06IEdldCBrZXJuZWwgZGVmaW5pdGlvbiBvZiBzdHJ1Y3QgdGVybWlvcy4KKwlGcm9tIEFudG9uIEJsYW5jaGFyZCA8YW50b25Ac2FtYmEub3JnPi4KKworCSogbGludXgvaW9jdGxlbnQuc2g6IExvb2sgaW4gc291bmQvIGRpcmVjdG9yeSB0b28uCisJRnJvbSBBbnRvbiBCbGFuY2hhcmQgPGFudG9uQHNhbWJhLm9yZz4uCisKKwkqIGRlc2MuYyAocHJpbnRmbG9jazY0KTogRml4IEFERFIgYXJndW1lbnQgdHlwZS4KKwlGcm9tIEFudG9uIEJsYW5jaGFyZCA8YW50b25Ac2FtYmEub3JnPi4KKworCSogc3RyYWNlLmMgWyEgSEFWRV9TVFJTSUdOQUxdOiBDbGVhbiB1cCAjaWZkZWZzIG9uIGRlY2xzIGZvcgorCXN5c19zaWdsaXN0IGFuZCBfc3lzX3NpZ2xpc3QuCisJUmVwb3J0ZWQgYnkgSm9obiBIdWdoZXMgPGpvaG5AQ2FsdmEuQ09NPi4KKworCSogbmV0LmM6IEhBVkVfT1BUSERSIC0+IEhBVkVfU1RSVUNUX09QVEhEUgorCVJlcG9ydGVkIGJ5IEpvaG4gSHVnaGVzIDxqb2huQENhbHZhLkNPTT4uCisKKwkqIGxpbnV4L3N5c2NhbGwuaCBbQVJNXSAoU1lTX3NvY2tldF9zdWJjYWxsKTogU2V0IHRvIDMwMC4KKworMjAwMy0wMS0xMCAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KKworCSogY29uZmlndXJlLmFjLCBORVdTOiBWZXJzaW9uIDQuNC45MS4KKwkqIHN0cmFjZS5zcGVjLCBkZWJpYW4vY2hhbmdlbG9nOiA0LjQuOTEtMQorCisJKiB1dGlsLmMgW0xJTlVYICYmIFg4Nl82NF0gKGFyZzBfb2Zmc2V0LCBhcmcxX29mZnNldCk6IFVzZSBjb3JyZWN0CisJdmFsdWVzIGZvciB4ODYtNjQsIGNvbmRpdGlvbmFsIG9uIGN1cnJlbnRfcGVyc29uYWxpdHkuCisKKwkqIHN0cmFjZS5jIChkcm9wdGNiKTogQ2xlYXIgZmxhZ3Mgd29yZCBiZWZvcmUgY2FsbGluZyByZWJ1aWxkX3BvbGx2LgorCisJKiBjb25maWd1cmUuYWM6IENoZWNrIHN0cnVjdCBUX2Nvbm5fcmVzIGZvciBRVUVVRV9wdHIgb3IgQUNDRVBUT1JfaWQuCisJKiBzdHJlYW0uYyAocHJpbnRfdHJhbnNwb3J0X21lc3NhZ2UpOiBVc2UgI2lmZGVmcyBmb3IgdGhvc2UgbWVtYmVycy4KKworCSogc3RyYWNlLmMgKHJlYnVpbGRfcG9sbHYpOiBGaXggdHlwbzogc3RydWN0IHBvbGwgLT4gc3RydWN0IHBvbGxmZC4KKworCSogY29uZmlndXJlLmFjOiBGaXggc2lnaW5mb190L3NpZ19hdG9taWNfdCBjaGVja3MuCisJVXNlIHByZXJlcXVpc2l0ZSAjaW5jbHVkZSA8bmV0aW5ldC9pbi5oPiBmb3IgbmV0aW5ldC8qLmggY2hlY2tzLgorCisJKiBzdHJhY2UuYyAocGZkMnRjYik6IEZpeCBmb3IgbmV3IHRjYnRhYiB0eXBlLgorCShyZWJ1aWxkX3BvbGx2KTogTGlrZXdpc2UuCisJKGRldGFjaCk6IFB1dCB2YXJpYWJsZXMgdXNlZCB1bmRlciBbTElOVVhdIGluc2lkZSAjaWZkZWYuCisKKwkqIHByb2Nlc3MuYyAoY2hhbmdlX3N5c2NhbGwpIFtQT1dFUlBDXTogQWRkIG1pc3NpbmcgcmV0dXJuLgorCSogdXRpbC5jIFtQT1dFUlBDXSAoYXJnMF9vZmZzZXQpOiBTZXQgdG8gNCpQVF9SMywgbm90IDQqUFRfT1JJR19SMy4KKworCSogc3RyYWNlLnNwZWM6IE5ldyBmaWxlLgorCSogZGViaWFuL2NoYW5nZWxvZzogNC40LjkwLTEKKwkqIGRlYmlhbi9ydWxlcyAoYmluYXJ5LWFyY2gpOiBEZXBlbmQgb24gYnVpbGQuCisJKGNsZWFuKTogRG9uJ3QgdHJ5IHRvIHJ1biBNYWtlZmlsZS5pbi4KKwkqIGRlYmlhbi9jb250cm9sIChTdGFuZGFyZHMtVmVyc2lvbik6IE5vdyAzLjUuOC4KKworCSogY29uZmlndXJlLmFjOiBEaWRkbGUgQ0ZMQUdTIGFmdGVyIEFDX1BST0dfQ0MsIG5vdCBiZWZvcmUuCisKKzIwMDMtMDEtMDkgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CisKKwkqIHN5c2NhbGwuYyAoZm9yY2VfcmVzdWx0KSBbUzM5MCB8fCBTMzkwWF06IEZpeCB0eXBvLgorCisJKiBkZWJpYW4vY29udHJvbDogVXBkYXRlIE1haW50YWluZXI6IGZpZWxkLgorCisyMDAzLTAxLTA4ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgorCisJKiBORVdTOiBVcGRhdGUgZm9yIDQuNC45MCB0ZXN0IHJlbGVhc2UuCisKKwlTdXBwb3J0IGZvciBuZXcgTGludXggMi41IHRocmVhZCBmZWF0dXJlcy4KKwkqIGRlZnMuaCBbTElOVVhdOiBEZWZpbmUgX19OUl9leGl0X2dyb3VwIGlmIG5vdCBkZWZpbmVkLgorCShzdHJ1Y3QgdGNiKTogTmV3IG1lbWJlcnMgbmNsb25lX3RocmVhZHMsIG5jbG9uZV9kZXRhY2hlZCwKKwlhbmQgbmNsb25lX3dhaXRpbmcuCisJKFRDQl9DTE9ORV9ERVRBQ0hFRCwgVENCX0NMT05FX1RIUkVBRCwgVENCX0dST1VQX0VYSVRJTkcpOiBOZXcgbWFjcm9zLgorCSh3YWl0aW5nX3BhcmVudCk6IE1hY3JvIHJlbW92ZWQuCisJKHBpZDJ0Y2IpOiBEZWNsYXJlIGl0LgorCSogcHJvY2Vzcy5jIChpbnRlcm5hbF9jbG9uZSkgW1RDQl9DTE9ORV9USFJFQURdOiBSZXBhcmVudCB0aGUgbmV3CisJY2hpbGQgdG8gb3VyIHBhcmVudCBpZiB3ZSBhcmUgYSBDTE9ORV9USFJFQUQgY2hpbGQgb3Vyc2VsdmVzLgorCU1haW50YWluIFRDQl9DTE9ORV9USFJFQUQgYW5kIFRDQl9DTE9ORV9ERVRBQ0hFRCBmbGFncyBhbmQgY291bnRzLgorCShpbnRlcm5hbF93YWl0KSBbVENCX0NMT05FX1RIUkVBRF06IEZhY3RvciBvdXQgZGV0YWNoZWQgY2hpbGRyZW4gd2hlbgorCWRldGVybWluaW5nIGlmIHdlIGhhdmUgYW55LiAgSWYgVENCX0NMT05FX1RIUkVBRCBpcyBzZXQsIGNoZWNrCisJcGFyZW50J3MgY2hpbGRyZW4gaW5zdGVhZCBvZiBvdXIgb3duLCBhbmQgYnVtcCBuY2xvbmVfd2FpdGluZyBjb3VudC4KKwkoaW50ZXJuYWxfZXhpdCkgW19fTlJfZXhpdF9ncm91cF06IFNldCB0aGUgVENCX0dST1VQX0VYSVRJTkcgZmxhZyBpZgorCXRoZSBzeXNjYWxsIHdhcyBleGl0X2dyb3VwLgorCSogc3lzY2FsbC5jIChpbnRlcm5hbF9zeXNjYWxsKTogVXNlIGludGVybmFsX2V4aXQgZm9yIGV4aXRfZ3JvdXAuCisJKiBzdHJhY2UuYyAocGlkMnRjYik6IE5vIGxvbmdlciBzdGF0aWMuCisJKGFsbG9jdGNiKSBbVENCX0NMT05FX1RIUkVBRF06IEluaXRpYWxpemUgbmV3IGZpZWxkcy4KKwkoZHJvcHRjYikgW1RDQl9DTE9ORV9USFJFQURdOiBNYWludGFpbiBuZXcgZmllbGRzLgorCUlmIHdlIGhhdmUgdGhyZWFkIGNoaWxkcmVuLCBzZXQgVENCX0VYSVRJTkcgYW5kIGRvbid0IGNsZWFyIHRoZSBUQ0IuCisJKHJlc3VtZSkgW1RDQl9DTE9ORV9USFJFQURdOiBEZWNyZW1lbnQgcGFyZW50J3MgbmNsb25lX3dhaXRpbmcuCisJKGRldGFjaCkgW1RDQl9DTE9ORV9USFJFQURdOiBXaGVuIGNhbGxpbmcgcmVzdW1lLCBjaGVjayBhbGwgdGhyZWFkCisJY2hpbGRyZW4gb2Ygb3VyIHBhcmVudCB0aGF0IG1pZ2h0IGJlIHdhaXRpbmcgZm9yIHVzIHRvby4KKwlbVENCX0dST1VQX0VYSVRJTkddIChoYW5kbGVfZ3JvdXBfZXhpdCk6IE5ldyBmdW5jdGlvbi4KKwkodHJhY2UpIFtUQ0JfR1JPVVBfRVhJVElOR106IFVzZSB0aGF0IGluIHBsYWNlIG9mIGRldGFjaCBvciBkcm9wdGNiLgorCisJUmV2YW1wIC1mIHN1cHBvcnQgZm9yIExpbnV4LgorCSogdXRpbC5jIFtMSU5VWF0gKHNldGJwdCwgY2xlYXJicHQpOiBOZXcgaW1wbGVtZW50YXRpb25zIHRoYXQgdHdlYWsKKwl0aGUgc3lzdGVtIGNhbGwgdG8gYmUgY2xvbmUgd2l0aCBDTE9ORV9QVFJBQ0Ugc2V0LiAgVmFyaW91cyBuZXcgc3RhdGljCisJaGVscGVyIGZ1bmN0aW9ucy4KKwkqIHByb2Nlc3MuYyAoaW50ZXJuYWxfY2xvbmUpOiBEZWZpbmUgYWxzbyAjaWZkZWYgU1lTX2Nsb25lMi4KKwlJbml0aWFsaXplIFRDUENISUxELT5wYXJlbnQgZmllbGQuCisJW0NMT05FX1BUUkFDRV06IERvbid0IGRvIFBUUkFDRV9BVFRBQ0ggaGVyZSwgYmVjYXVzZSBpdCdzIHByZWF0dGFjaGVkLgorCUNoZWNrIGluIGNhc2UgdGhlIG5ldyBjaGlsZCBpcyBpbiB0aGUgdGNiIGFscmVhZHkuCisJKGludGVybmFsX2ZvcmspIFtMSU5VWF06IEp1c3QgY2FsbCBpbnRlcm5hbF9jbG9uZS4KKwkqIHN0cmFjZS5jICh0cmFjZSkgW0xJTlVYXTogVW5kZXIgLWYvLUYsIGdyb2sgYW4gdW5rbm93biBwaWQKKwlyZXBvcnRpbmcgdG8gd2FpdCwgcHV0IGl0IGluIHRoZSBUQ0Igd2l0aCBUQ0JfQVRUQUNIRUR8VENCX1NVU1BFTkRFRC4KKworCSogbGludXgveDg2XzY0L3N5c2NhbGxlbnQxLmggKHN5c19vbGRsc3RhdCk6ICNkZWZpbmUgYXMgcHJpbnRhcmdzLgorCisJKiBmaWxlLmMgW0xJTlVYXTogI3VuZGVmIHN0X1thbWNddGltZSBpbiBjYXNlIHRoZXkgYXJlIG1hY3Jvcy4KKworCSogTWFrZWZpbGUuYW0gKEFNX0NGTEFHUyk6IE5ldyB2YXJpYWJsZSwgZGVmaW5lIHRvICQoV0FSTkZMQUdTKS4KKworCSogTWFrZWZpbGUuYW0gKEVYVFJBX0RJU1QpOiBSZW1vdmUgZGViaWFuL3Bvc3RpbnN0IGFuZCBkZWJpYW4vcHJlcm0uCisKKzIwMDMtMDEtMDkgIFdpY2hlcnQgQWtrZXJtYW4gIDx3aWNoZXJ0QGRlZXBoYWNrbW9kZS5vcmc+CisKKwkqIGRlYmlhbi9wb3N0aW5zdCwgZGViaWFuL3ByZXJtOiByZW1vdmVkLCAvdXNyL2RvYyBzeW1saW5rIGlzIG5vCisJbG9uZ2VyIHVzZWQKKwkqIGRlYmlhbi9ydWxlczogbm8gbG9uZ2VyIGluc3RhbGwgcG9zdGluc3QgYW5kIHByZXJtCisJKiBkZWJpYW4vY29udHJvbDogZG8gbm90IGVuZCBzdW1tYXJ5IHdpdGggZnVsbCBzdG9wIChsaW50aWFuKQorCisyMDAyLTEyLTMwICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgorCisJKiBNYWtlZmlsZS5hbSAoYmluX1NDUklQVFMpOiBOZXcgdmFyaWFibGUsIGxpc3Qgc3RyYWNlLWdyYXBoLgorCShFWFRSQV9ESVNUKTogQWRkIG1pc3NpbmcgZmlsZXMuCisKKwkqIGNvbmZpZ3VyZS5hYzogRml4IGFzbS9zaWdjb250ZXh0LmggY2hlY2sgdG8gaW5jbHVkZSBwcmVyZXF1aXNpdGUuCisKKwkqIHN5c2NhbGwuYyAocXVhbGlmeV9vbmUpOiBOZXcgZnVuY3Rpb24uCisJKHF1YWxfb3B0aW9ucyk6IFJlcGxhY2UgbG9va3VwIGZpZWxkIHdpdGggcXVhbGlmeSwgdXBkYXRlIGluaXRpYWxpemVyLgorCShxdWFsaWZ5KTogVXBkYXRlIGNhbGxlci4KKwkocXVhbF9zaWduYWwsIHF1YWxfZmF1bHQsIHF1YWxfZGVzYyk6IFJld3JpdHRlbiBmcm9tIGxvb2t1cF8qLgorCShxdWFsX3N5c2NhbGwpOiBSZXdyaXR0ZW4gbG9va3VwX3N5c2NhbGwsIG1hdGNoIG5hbWUgbW9yZSB0aGFuIG9uY2UuCisJRml4ZXMgUkgjNzA1NzksIGJpdGVzIElBNjQgLWVmb28gd2hlbiBmb28gZXhpc3RzIG9uIElBMzIuCisKKwkqIHZlcnNpb24uYyAodmVyc2lvbik6IE1ha2UgY29uc3QsIGJ1bXAgdG8gNC40LjkwLgorCSogc3RyYWNlLmM6IFVwZGF0ZSBkZWNsLgorCisJKiBNYWtlZmlsZS5hbSBbTElOVVggJiYgWDg2XzY0XTogUmVtb3ZlIGNydWZ0LgorCSogbGludXgveDg2XzY0L2Vycm5vZW50MS5oOiBOZXcgZmlsZS4KKwkqIGxpbnV4L3g4Nl82NC9pb2N0bGVudDEuaDogTmV3IGZpbGUuCisJKiBsaW51eC94ODZfNjQvc2lnbmFsZW50MS5oOiBOZXcgZmlsZS4KKwkqIGxpbnV4L3g4Nl82NC9zeXNjYWxsZW50MS5oOiBOZXcgZmlsZS4KKwkqIGxpbnV4L3g4Nl82NC9pMzg2LWhlYWRlcnMuZGlmZjogRmlsZSByZW1vdmVkLgorCSogbGludXgveDg2XzY0L21ha2VoZWFkZXJzLnNoOiBGaWxlIHJlbW92ZWQuCisJKiBsaW51eC94ODZfNjQvTWFrZWZpbGUuaW46IEZpbGUgcmVtb3ZlZC4KKworCSogbGludXgvc3lzY2FsbGVudC5oIFtYODZfNjRdOiBEaXNhYmxlIHNhbml0eSBjaGVja3MsIHN1YmNhbGwgc3R1ZmYgaXMKKwlhbHJlYWR5IGJyb2tlbiBmb3IgMzItYml0IHBlcnNvbmFsaXR5IG9uIHg4Ni02NC4KKworMjAwMi0xMi0yOSAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KKworCSogY29uZmlndXJlLmFjLCBNYWtlZmlsZS5hbTogUHVudCBzdWJkaXJzLCBoYW5kbGUgZXZlcnl0aGluZyBoZXJlLgorCSogbGludXgvTWFrZWZpbGUuYW06IEZpbGUgcmVtb3ZlZC4KKwkqIGZyZWVic2QvTWFrZWZpbGUuYW06IEZpbGUgcmVtb3ZlZC4KKwkqIHN1bm9zNC9NYWtlZmlsZS5pbjogRmlsZSByZW1vdmVkLgorCSogc3ZyNC9NYWtlZmlsZS5pbjogRmlsZSByZW1vdmVkLgorCisJKiBsaW51eC9hbHBoYS9NYWtlZmlsZS5pbjogRmlsZSByZW1vdmVkLgorCSogbGludXgvaHBwYS9NYWtlZmlsZS5pbjogRmlsZSByZW1vdmVkLgorCSogbGludXgvaWE2NC9NYWtlZmlsZS5pbjogRmlsZSByZW1vdmVkLgorCSogbGludXgvcG93ZXJwYy9NYWtlZmlsZS5pbjogRmlsZSByZW1vdmVkLgorCSogbGludXgvczM5MC9NYWtlZmlsZS5pbjogRmlsZSByZW1vdmVkLgorCSogbGludXgvczM5MHgvTWFrZWZpbGUuaW46IEZpbGUgcmVtb3ZlZC4KKworMjAwMi0xMi0yNiAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KKworCSogc3lzY2FsbGVudC5zaDogR3JvayB0aHJlZSBmbGF2b3JzIG9mICNkZWZpbmUgbGluZSwgdW5pcXVpZnkuCisJKiBsaW51eC9ocHBhL3N5c2NhbGxlbnQuc2g6IEZpbGUgcmVtb3ZlZC4KKwkqIGxpbnV4L3Bvd2VycGMvc3lzY2FsbGVudC5zaDogRmlsZSByZW1vdmVkLgorCisJKiBsaW51eC9NYWtlZmlsZS5hbTogTmV3IGZpbGUuCisJKiBsaW51eC9NYWtlZmlsZS5pbjogRmlsZSByZW1vdmVkLgorCSogZnJlZWJzZC9NYWtlZmlsZS5hbTogTmV3IGZpbGUuCisJKiBmcmVlYnNkL2kzODYvTWFrZWZpbGUuYW06IE5ldyBmaWxlLgorCSogZnJlZWJzZC9pMzg2L01ha2VmaWxlLmluOiBGaWxlIHJlbW92ZWQuCisKKzIwMDItMTItMjIgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CisKKwlVcGRhdGUgdG8gQXV0b2NvbmYgMi41NywgYW5kIEF1dG9tYWtpZnkgd2l0aCB2ZXJzaW9uIDEuNy4KKwkqIE1ha2VmaWxlLmFtOiBOZXcgZmlsZS4KKwkqIE1ha2VmaWxlLmluOiBGaWxlIHJlbW92ZWQuCisJKiBjb25maWd1cmUuaW46IE1vdmVkIHRvIC4uLgorCSogY29uZmlndXJlLmFjOiAuLi4gaGVyZS4gIFVwZGF0ZSBmb3IgQXV0b2NvbmYgMi41eCBhbmQgQXV0b21ha2UuCisJKiBhY2xvY2FsLm00OiBNb3ZlZCB0byAuLi4KKwkqIGFjaW5jbHVkZS5tNDogLi4uIGhlcmUuICBVcGRhdGUgZm9yIEF1dG9jb25mIDIuNXguCisJKiBhY2NvbmZpZy5oOiBGaWxlIHJlbW92ZWQuCisJKiBBVVRIT1JTOiBOZXcgZmlsZSwgbWFrZXMgYXV0b21ha2UgaGFwcHkuCisJKiBhdXRvZ2VuLnNoOiBGaWxlIHJlbW92ZWQuCisJKiBSRUFETUUtQ1ZTOiBVcGRhdGUgdG8gcmVjb21tZW5kIGF1dG9yZWNvbmYgaW5zdGVhZC4KKwkqIGZpbGUuYzogSEFWRV9TVF8qIC0+IEhBVkVfU1RSVUNUX1NUQVRfU1RfKi4KKwkqIG5ldC5jOiBIQVZFX1NJTjZfU0NPUEVfSUQgLT4gSEFWRV9TVFJVQ1RfU09DS0FERFJfSU42X1NJTjZfU0NPUEVfSUQsCisJSEFWRV9NU0dfQ09OVFJPTCAtPiBIQVZFX1NUUlVDVF9NU0dIRFJfTVNHX0NPTlRST0wuCisJKiBzdHJhY2UuYzogKl9ERUNMQVJFRCAtPiBIQVZFX0RFQ0xfKgorCSogc3RyZWFtLmM6IEhBVkVfKiAtPiBIQVZFX1NUUlVDVF8qCisKKwkqIGxpbnV4L01ha2VmaWxlLmluIChpb2N0bGRlZnMuaCBpb2N0bHMuaCk6IFVzZSAkKFNIRUxMKSBpbnN0ZWFkIG9mCisJc2gsIGFuZCB1c2UgJChzcmNkaXIpIHRvIGZpbmQgdGhlIHNjcmlwdC4KKwkqIGxpbnV4L3Bvd2VycGMvTWFrZWZpbGUuaW4gKGlvY3RsZW50LnJhdyk6IEZpbmQgaW9jdGxlbnQuc2ggaW4gLi4vLgorCShpb2N0bHNvcnQubyk6IFVzZSAuLi9pb2N0bHNvcnQuYywgbm90IC4uLy4uL2lvY3Rsc29ydC5jLgorCSogbGludXgveDg2XzY0L01ha2VmaWxlLmluIChoZWFkZXJzKTogUmVuYW1lZCB0byBhbGwuCisJKiBsaW51eC9hbHBoYS9NYWtlZmlsZS5pbjogQWRkIGVtcHR5IGluc3RhbGwgdGFyZ2V0LgorCSogbGludXgveDg2XzY0L01ha2VmaWxlLmluOiBMaWtld2lzZS4KKwkqIGxpbnV4L3Bvd2VycGMvTWFrZWZpbGUuaW46IExpa2V3aXNlLgorCSogbGludXgvTWFrZWZpbGUuaW46IExpa2V3aXNlLgorCisyMDAyLTEyLTI2ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgorCisJKiBkZWZzLmggW0xJTlVYICYmIE1JUFNdIChNQVhfUVVBTFMpOiBTZXQgdG8gNTAwMCwgbm90IDQ5OTkuCisJRnJvbSBEYW5pZWwgSmFjb2Jvd2l0eiA8ZHJvd0BmYWxzZS5vcmc+LgorCisyMDAyLTEyLTIxICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgorCisJKiBsaW51eC9zeXNjYWxsZW50Lmg6IEFkZCBzb21lIG5ldyAyLjUgc3lzY2FsbCBuYW1lcy4KKwlOb3cgY2xvbmUgdGFrZXMgNSBhcmdzLgorCSogcHJvY2Vzcy5jIFtMSU5VWF0gKGNsb25lX2ZsYWdzKTogVXBkYXRlIHdpdGggMi41IGZsYWcgYml0cy4KKwlbTElOVVhdIChzeXNfY2xvbmUpOiBQcmludCBuZXcgYXJncy4KKwkqIG1lbS5jIChwcmludF9sZHRfZW50cnkpOiBNYWtlIGdsb2JhbC4KKworCSogbGludXgvc3lzY2FsbC5oIFtJMzg2IHx8IElBNjRdIChTWVNfc29ja2V0X3N1YmNhbGwpOiBCdW1wIHRvIDMwMCBmb3IKKwlzYWZldHksIHNpbmNlIHVwIHRvIDI2MCBhcmUgYWxyZWFkeSB1c2VkIGluIDIuNSBrZXJuZWxzLgorCSogbGludXgvc3lzY2FsbGVudC5oOiBVcGRhdGUgdGhlIHRhYmxlLgorCSogbGludXgvaWE2NC9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCisJKiBzeXNjYWxsLmMgKGZvcmNlX3Jlc3VsdCk6IE5ldyBmdW5jdGlvbi4KKwkqIHByb2Nlc3MuYyAoaW50ZXJuYWxfd2FpdCk6IEhhbmRsZSBFQ0hJTEQgZXhpdCBmcm9tIHdhaXQgY2FsbCB3aXRoCisJV05PSEFORyBmbGFnIHNldDsgZm9yY2UgdGhlIHJldHVybiB2YWx1ZSB0byAwIGluIHRoZSBpbmZlcmlvciB3aGVuIGl0CisJaGFzIGxpdmUgY2hpbGRyZW4gd2UgYXJlIHRyYWNpbmcuCisJKiBORVdTOiBNZW50aW9uIHRoZSBidWcgZml4LgorCisyMDAyLTEyLTE3ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgorCisJKiBsaW51eC9pYTY0L3N5c2NhbGxlbnQuaDogUmVtb3ZlIHBsYWNlaG9sZGVycyAyNzUtMjk4IHRvIGNhdGNoIHVwCisJd2l0aCBsaW51eC9zeXNjYWxsZW50LmggYWRkaXRpb25zLgorCisJKiBzdHJhY2UuYyAodGNidGFiKTogTWFrZSB0aGlzIGEgcG9pbnRlciB0byBwb2ludGVycywgbm90IGFuIGFycmF5LgorCSh0Y2J0YWJzaXplKTogTmV3IHZhcmlhYmxlLgorCShtYWluKTogSW5pdGlhbGl6ZSB0aGVtIHVzaW5nIGR5bmFtaWMgYWxsb2NhdGlvbi4KKwkoYWxsb2N0Y2IsIG1haW4pOiBVc2UgdGNidGFic2l6ZSBpbiBwbGFjZSBvZiBNQVhfUFJPQ1M7IGluZGlyZWN0LgorCShwaWQydGNiLCBjbGVhbnVwKTogTGlrZXdpc2UuCisJW1VTRV9QUk9DRlNdIChwb2xsdik6IE1ha2UgdGhpcyBhIHBvaW50ZXIsIG5vdCBhbiBhcnJheTsgbWFrZSBzdGF0aWMuCisJKHJlYnVpbGRfcG9sbHYpOiBEeW5hbWljYWxseSBhbGxvY2F0ZSB0aGUgdmVjdG9yLgorCSogZGVmcy5oICh0Y2J0YWIpOiBVcGRhdGUgZGVjbHMuCisJKE1BWF9QUk9DUyk6IE1hY3JvIHJlbW92ZWQsIG5vIG1vcmUgc3RhdGljIGxpbWl0IG9uIHRoaXMuCisJKiBwcm9jZXNzLmMgKGZvcmtfdGNiKTogTmV3IGZ1bmN0aW9uLgorCShpbnRlcm5hbF9jbG9uZSwgaW50ZXJuYWxfZm9yayk6IFVzZSBpdCBpbnN0ZWFkIG9mIGNoZWNraW5nIG5wcm9jcy4KKworCSogc3RyYWNlLmMgKGRldGFjaCkgW0xJTlVYXTogVXNlIF9fV0FMTCAob3IgYSBzZWNvbmQgdHJ5IHdpdGggX19XQ0xPTkUpCisJaW4gd2FpdCBhZnRlciBzZW5kaW5nIFNJR1NUT1AuCisKKzIwMDItMTItMTYgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CisKKwkqIHNpZ25hbC5jIChzcHJpbnRzaWdtYXNrKTogSW5jcmVhc2Ugc3RhdGljIGJ1ZmZlciBzaXplIHRvIGFjY291bnQgZm9yCisJd29yc3QgcG9zc2libGUgY2FzZS4gIFJlcG9ydGVkIGJ5IERhbmllbCBKYWNvYm93aXR6IDxkcm93QGZhbHNlLm9yZz4uCisKKwkqIHByb2Nlc3MuYyBbTElOVVhdICh3YWl0NF9vcHRpb25zKTogRml4IF9fV0NMT05FIHZhbHVlLiAgQWRkCisJX19XTk9USFJFQUQgYW5kIF9fV0FMTC4KKworCSogc3RyYWNlLmMgKHRyYWNlKSBbTElOVVhdOiBPbmx5IGNoZWNrIGVycm5vIGlmIHdhaXQ0IGFjdHVhbGx5IGZhaWxzLAorCXNvIHdlIGRvbid0IHJlcGVhdCBhIHdhaXQgYW5kIHRodXMgZHJvcCBhIHN0YXR1cy4gIEZpeGVzIFJIIzYyNTkxLgorCisyMDAyLTEyLTE1ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgorCisJKiBwcm9jZXNzLmMgKHNldGFyZykgW1BPV0VSUENdOiBTdXBwb3J0IGl0LgorCisJKiB1dGlsLmMgW1BPV0VSUENdIChMT09QKTogRml4IHZhbHVlLCBub3cgMHg0ODAwMDAwMCAoMDogYiAwYikuCisJT2xkIHZhbHVlIHdhcyBib2d1cywgbm90IGV2ZW4gYSBwcm9wZXIgaW5zdHJ1Y3Rpb24uCisJRnJvbSBHdXkgTS4gU3RyZWV0ZXIgPHN0cmVldGVyQHJlZGhhdC5jb20+LgorCisJKiBzdHJhY2UuYyAobWFpbikgWyEgVVNFX1BST0NGU106IEFsd2F5cyByZXNldCBTSUdDSExEIHRvIFNJR19ERkwuCisKKwkqIGNvbmZpZ3VyZS5pbjogRG9uJ3QgY2hlY2sgZm9yIHB1dHBtc2cuCisJKiBzdHJlYW0uYyAoc3lzX2dldHBtc2csIHN5c19wdXRwbXNnKTogTWFrZSB0aGVzZSBjb25kaXRpb25hbCBvbgorCSNpZmRlZiBTWVNfKiwgcmF0aGVyIHRoYW4gb24gSEFWRV9QVVRQTVNHLgorCisJKiBhY2xvY2FsLm00IChBQ19TVEFUNjQpOiBJbmNsdWRlIDxsaW51eC90eXBlcy5oPiBiZWZvcmUgPGFzbS9zdGF0Lmg+CisJaW4gdGVzdC4gIFRlc3Qgb3VyIG93biAjaWZkZWYgTElOVVggcmF0aGVyIHRoYW4gcHJlZGVmaW5lZCBgbGludXgnLgorCisJKiBsaW51eC9wb3dlcnBjL3N5c2NhbGxlbnQuaDogVXNlIHN5c19sbHNlZWsgZm9yIF9sbHNlZWsuCisJKiBsaW51eC9zcGFyYy9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCSogbGludXgvaHBwYS9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCisJKiBzeXNjYWxsLmMgKHN5c2NhbGxfZW50ZXIpIFtMSU5VWCAmJiBQT1dFUlBDXTogRGVmaW5lIFBUX09SSUdfUjMgaWYKKwlub3QgZGVmaW5lZCwgc2luY2UgPGFzbS9wdHJhY2UuaD4gZGVmaW5lcyBpdCBvbmx5ICNpZmRlZiBfX0tFUk5FTF9fLgorCSogcHJvY2Vzcy5jOiBMaWtld2lzZS4KKworCSogZGVzYy5jIChzeXNfb3NmX3NlbGVjdCk6IEFkZCBtaXNzaW5nIHJldHVybiB0eXBlLgorCisJKiBzeXNjYWxsLmMgKHRyYWNlX3N5c2NhbGwpOiBVc2Ugc3RyZXJyb3IsIG5vdCBzeXNfZXJybGlzdC9zeXNfbmVyci4KKworCSogbGludXgvaWE2NC9zeXNjYWxsZW50Lmg6IFJlbW92ZSBtYWNyb3MgZm9yIHN5c19kZWxldGVfbW9kdWxlLAorCXN5c19uYW5vc2xlZXAsIGJvdGggYWxyZWFkeSBpbiBsaW51eC9kdW1teS5oLgorCisJKiBzeXNjYWxsLmMgKGdldF9zY25vKTogTW92ZSBzdGF0aWMgYGN1cnJwZXJzJyBpbnNpZGUgI2lmZGVmIFg4Nl82NC4KKwkodHJhY2Vfc3lzY2FsbCk6IEZpeCByZXR1cm4gd2l0aG91dCB2YWx1ZS4KKworCSogbGludXgvc3lzY2FsbGVudC5oOiBVcGRhdGUgdGFibGUgd2l0aCBuYW1lcyBvZiBuZXcgc3lzY2FsbHMKKwlpb19zZXR1cCwgaW9fZGVzdHJveSwgaW9fZ2V0dmVudHMsIGlvX3N1Ym1pdCwgaW9fY2FuY2VsLgorCSogbGludXgvaWE2NC9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCSogbGludXgvcG93ZXJwYy9zeXNjYWxsZW50Lmg6IExpa2V3aXNlLgorCisJKiBzaWduYWwuYyBbTElOVVggJiYgSTM4Nl06IFByb3ZpZGUgU0FfUkVTVE9SRVIgY29uc3RhbnQgaWYgbm90CisJZGVmaW5lZC4gIElmIHRoZSBiaXQgaXMgc2V0LCBwcmludCB0aGUgc2FfcmVzdG9yZXIgZmllbGQgb2Ygc2lnYWN0aW9uLgorCisJKiBtZW0uYzogQWRkIHN5c197Z2V0LHNldH1fdGhyZWFkX2FyZWEuCisJKiBsaW51eC9zeXNjYWxsLmg6IERlY2xhcmUgdGhlbS4KKwkqIGxpbnV4L3N5c2NhbGxlbnQuaDogVXBkYXRlIHRoZSB0YWJsZSBmb3IgdGhlc2UuCisJKiBsaW51eC9kdW1teS5oIChzeXNfbW9kaWZ5X2xkdCk6IERlZmluZSBvbmx5ICNpZm5kZWYgSTM4Ni4KKwkoc3lzX2dldF90aHJlYWRfYXJlYSwgc3lzX3NldF90aHJlYWRfYXJlYSk6IE5ldyBtYWNyb3MgI2lmbmRlZiBJMzg2LgorCisJKiBjb25maWd1cmUuaW46IENoZWNrIGZvciBsaW51eC94YXR0ci5oIGFuZCBsaW51eC9mdXRleC5oIGhlYWRlcnMuCisJKiBsaW51eC9zeXNjYWxsLmg6IEFkZCBzeXNfKiBkZWNscyBmb3IgbmV3IHN5c2NhbGxzIGdldHBtc2csIHB1dHBtc2csCisJcmVhZGFoZWFkLCBzZW5kZmlsZTY0LCBzZXR4YXR0ciwgZnNldHhhdHRyLCBnZXR4YXR0ciwgZmdldHhhdHRyLCBpbnQKKwlsaXN0eGF0dHIsIGZsaXN0eGF0dHIsIHJlbW92ZXhhdHRyLCBmcmVtb3ZleGF0dHIsIHNjaGVkX3NldGFmZmluaXR5LAorCXNjaGVkX2dldGFmZmluaXR5LCBmdXRleC4KKwkqIGxpbnV4L3N5c2NhbGxlbnQuaDogVXBkYXRlIHRoZSB0YWJsZS4KKwkqIGlvLmM6IEFkZCBzeXNfc2VuZGZpbGU2NC4KKwkqIGZpbGUuYzogQWRkIHN5c19yZWFkYWhlYWQsIHN5c18qeGF0dHIuCisJKiBwcm9jZXNzLmM6IEFkZCBzeXNfZnV0ZXgsIHN5c18qYWZmaW5pdHkuCisKKwkqIGxpbnV4L3N5c2NhbGwuaCAoU1lTX3NvY2tldF9zdWJjYWxsKTogRGVmaW5lIHRvIDI1NiBvbiBhbGwgbWFjaGluZXMuCisJKFNZU19pcGNfc3ViY2FsbCk6IEFsd2F5cyBTWVNfc29ja2V0X3N1YmNhbGwgKyBTWVNfc29ja2V0X25zdWJjYWxscy4KKwkqIGxpbnV4L3N5c2NhbGxlbnQuaDogVXBkYXRlIHRoZSB0YWJsZSBmb3Igc29ja2V0IGFuZCBpcGMgc3ViY2FsbHMuCisKKzIwMDItMTEtMDkgIEhlaWtvIENhcnN0ZW5zIDxoZWlrby5jYXJzdGVuc0BkZS5pYm0uY29tPgorCisJQnVnZml4IGZvciBzMzkwL3MzOTB4OgorCSogc3lzY2FsbC5jOiBGaXhlZCBzY25vIGRlcml2YXRpb24gZm9yIHMzOTAvczM5MHguCisKKzIwMDItMTEtMDYgIE1pY2hhbCBMdWR2aWcgIDxtbHVkdmlnQHN1c2UuY3o+CisKKwlNZXJnZWQgcGF0Y2ggZnJvbSBTdGV2ZW4gSi4gSGlsbCA8c2poaWxsQHJlYWxpdHlkaWx1dGVkLmNvbT4KKwl0byBhbGxvdyB0aGUgY29tcGlsYXRpb24gb2YgYSBuYXRpdmUgTUlQUyBzdHJhY2UuCisKKzIwMDItMTEtMDYgIE1pY2hhbCBMdWR2aWcgIDxtbHVkdmlnQHN1c2UuY3o+CisKKwlGcm9tIE1hcnR5IExlaXNuZXIgPGxlaXNuZXJAcm9jaGVzdGVyLnJyLmNvbT4sCisJcmV3cml0dGVuIGJ5IG1sdWR2aWc6CisJKiBzdHJhY2UuYyAobm90X2ZhaWxpbmdfb25seSk6IE5ldy4KKwkodXNhZ2UpOiBBZGRlZCAteiBzd2l0Y2ggZGVzY3JpcHRpb24uCisJKG1haW4pOiBBZGRlZCAteiBzd2l0Y2ggcGFyc2luZyB0byBub3RfZmFpbGluZ19vbmx5IHZhcmlhYmxlLgorCSogc3lzY2FsbC5jICh0cmFjZV9zeXNjYWxsKTogQWRkZWQgbm90X2ZhaWxpbmdfb25seSBoYW5kbGluZy4KKworMjAwMi0xMC0wOCAgSGVpa28gQ2Fyc3RlbnMgPGhlaWtvLmNhcnN0ZW5zQGRlLmlibS5jb20+CisKKwlNaXNzaW5nIGNvbXBsZXRlIGNoYW5nZWxvZyBmb3IgMjAwMi0xMC0wNyBjb21taXQ6CisJKiBNYWtlZmlsZS5pbjogQWRkZWQgbGludXgvczM5MCwgbGludXgvczM5MHggdG8gQUxMX1NVQkRJUlMuCisJKiBhY2NvbmZpZy5oOiBOZXcgZGVmaW5lIGZvciBzMzkweC4KKwkqIGNvbmZpZy5zdWI6IEFkZGVkIG1pc3NpbmcgZGVmaW5lIGZvciBzMzkwIGFuZCBuZXcgb25lIGZvciBzMzkweC4KKwkqIGNvbmZpZ3VyZS5pbjogQWRkZWQgbmV3IGRlZmluZSBmb3IgczM5MHguCisJKiBmaWxlLmM6IEFkZGVkIG1pc3NpbmcgI3VuZGVmIGRpcmVudDY0IGFuZCBuZXcgZGVmaW5lcyBmb3IgczM5MHguCisJKiBsaW51eC9zMzkwOiBOZXcgZGlyZWN0b3J5LgorCSogbGludXgvczM5MC9NYWtlZmlsZS5pbjogTmV3IGZpbGUuCisJKiBsaW51eC9zMzkwL2Vycm5vZW50Lmg6IE5ldyBmaWxlLgorCSogbGludXgvczM5MC9pb2N0bGVudC5oOiBOZXcgZmlsZS4KKwkqIGxpbnV4L3MzOTAvc2lnbmFsZW50Lmg6IE5ldyBmaWxlLgorCSogbGludXgvczM5MC9zeXNjYWxsZW50Lmg6IE5ldyBmaWxlLgorCSogbGludXgvczM5MHg6IE5ldyBkaXJlY3RveS4KKwkqIGxpbnV4L3MzOTB4L01ha2VmaWxlLmluOiBOZXcgZmlsZS4KKwkqIGxpbnV4L3MzOTB4L2Vycm5vZW50Lmg6IE5ldyBmaWxlLgorCSogbGludXgvczM5MHgvaW9jdGxlbnQuaDogTmV3IGZpbGUuCisJKiBsaW51eC9zMzkweC9zaWduYWxlbnQuaDogTmV3IGZpbGUuCisJKiBsaW51eC9zMzkweC9zeXNjYWxsZW50Lmg6IE5ldyBmaWxlLgorCSogbGludXgvc3lzY2FsbC5oOiBBZGRlZCBzeXNfbWluY29yZSgpIHByb3RvdHlwZSBhbmQgYWRkZWQgbmV3CisJczM5MHggZGVmaW5lcy4KKwkqIHByb2Nlc3MuYzogQWRkZWQgczM5MHggZGVmaW5lcy4KKwkoY2hhbmdlX3N5c2NhbGwpOiBDaGFuZ2VkIGhhbmRsaW5nIGZvciBzMzkwLgorCShzZXRhcmcpOiBBZGRlZCBtaXNzaW5nIHMzOTAvczM5MHggY29kZSBpbiBzZXRhcmcoKS4KKwkqIHNpZ25hbC5jOiBBZGRlZCBzMzkweCBkZWZpbmUuCisJKHN5c19zaWdyZXR1cm4pOiBCdWdmaXggaW4gczM5MC9zMzkweCBjb2RlICh3cm9uZyBudW1iZXIgb2YKKwlhcmd1bWVudHMgdG8gc3ByaW50c2lnbWFzaygpKS4KKwkqIHN0cmVhbS5jIChpbnRlcm5hbF9zdHJlYW1faW9jdGwpOiBDaGFuZ2VkIGludCBjYXN0IHRvIGxvbmcgY2FzdCwKKwlzaW5jZSBwcmludHN0cigpIGV4cGVjdHMgYSBsb25nLgorCSogc3lzY2FsbC5jIChkZWNvZGVfc3ViY2FsbCk6IENoYW5nZWQgc2V2ZXJhbCB2YXJpYWJsZXMgdG8gYmUgbG9uZworCWluc3RlYWQgb2YgaW50IHRvIG1hdGNoIDY0IGJpdCByZXF1aXJlbWVudHMuIEFkZGVkIHMzOTB4IGRlZmluZXMuCisJKHN5c2NhbGxfZW50ZXIpOiBDaGFuZ2VkIHVwZWVrKCkgY2FsbCB0byBtYXRjaCBzMzkwIGFuZCBzMzkweAorCXJlcXVpcmVtZW50cy4KKwkqIHV0aWwuYzogQWRkZWQgczM5MHggZGVmaW5lcy4KKworMjAwMi0xMC0wNyAgTWljaGFsIEx1ZHZpZyAgPG1sdWR2aWdAc3VzZS5jej4KKworCU1lcmdlZCBzMzkweCBwb3J0IGJ5IEhlaWtvIENhcnN0ZW5zIDxIZWlrby5DYXJzdGVuc0BkZS5pYm0uY29tPgorCWFuZCBidWdmaXhlcyB0byBzMzkwIGJ5IEQuSi4gQmFycm93LgorCisyMDAyLTA5LTIzICBNaWNoYWwgTHVkdmlnICA8bWx1ZHZpZ0BzdXNlLmN6PgorCisJTWVyZ2VkIHg4Ni02NCBwb3J0IGJ5IEFuZGkgS2xlZW4gPGFrQHN1c2UuZGU+CisJYW5kIE1pY2hhbCBMdWR2aWcgPG1sdWR2aWdAc3VzZS5jej4KKwkqIE1ha2VmaWxlLmluOiBOZXcgdGFyZ2V0ICdoZWFkZXJzJy4gRmFpbHVyZSBpZ25vcmVkLgorCSogYWNjb25maWcuaDogTmV3IGRlZmluZXMgZm9yIHg4Ni02NC4KKwkqIGNvbmZpZ3VyZS5pbjogRGl0dG8uCisJKiBkZWZzLmg6IERpdHRvLgorCSogZmlsZS5jOiBEaXR0by4KKwkqIHNpZ25hbC5jOiBEaXR0by4KKwkqIHByb2Nlc3MuYzogQWRkZWQgc3VwcG9ydCBmb3IgeDg2LTY0LgorCSogdXRpbC5jOiBEaXR0by4KKwkqIHN5c2NhbGwuYzogRGl0dG8gKyBhZGRlZCBhdXRvbWF0aWMgcGVyc29uYWxpdHkgc3dpdGNoaW5nLgorCSogbGludXgvc3lzY2FsbC5oOiBEaXR0by4KKwkqIGxpbnV4L3g4Nl82NDogTmV3IGRpcmVjdG9yeS4KKwkqIGxpbnV4L3g4Nl82NC9NYWtlZmlsZS5pbjogTmV3IGZpbGUuCisJKiBsaW51eC94ODZfNjQvZ2VudGFiLnBsOiBEaXR0by4KKwkqIGxpbnV4L3g4Nl82NC9pMzg2LWhlYWRlcnMuZGlmZjogRGl0dG8uCisJKiBsaW51eC94ODZfNjQvbWFrZWhlYWRlcnMuc2g6IERpdHRvLgorCSogbGludXgveDg2XzY0L3N5c2NhbGxlbnQuaDogRGl0dG8uCisJKiBtZW0uYyAocHJpbnRfbW1hcCk6IEFsd2F5cyBwcmludCBhcmdbNF0gYXMgaW50LgorCisyMDAyLTA5LTIzICBNaWNoYWwgTHVkdmlnICA8bWx1ZHZpZ0BzdXNlLmN6PgorCisJKiBjb25maWd1cmUuaW46IEZpeCByZWd1bGFyIGV4cHJlc3Npb25zLgorCSogbGludXgvc3lzY2FsbC5oOiBBZGRlZCBtaXNzaW5nIGJyYWNlcyBpbiBwcm90b3R5cGUgb2YKKwlzeXNfZ2V0ZGVudHM2NCgpLgorCSogZmlsZS5jOiBVc2UgJyNpZmRlZiBMSU5VWCcgaW5zdGVhZCBvZiAnI2lmZGVmIGxpbnV4Jy4KKwkoc3RydWN0IGZpbGVmbGFncyk6IE1hZGUgZXh0ZXJuIHRvIGluaGliaXQgY29tcGlhdGlvbiB3YXJuaW5ncy4KKwkoc3lzX2dldGRlbnRzNjQpOiBNZXJnZWQgTElOVVggYW5kIFNWUjQgcGFydC4KKwkqIHN5c2NhbGwuYyAoZ2V0X3Njbm8pOiBTcGxpdCBtdWx0aWxpbmUgc3RyaW5nIGludG8gdHdvIGRpc3RpbmN0CisJc3RyaW5ncy4KKworMjAwMi0wNS0yNCAgSm9obiBIdWdoZXMgPGpvaG5AY2FsdmEuY29tPgorCisJKiBzdHJlYW0uaCwgbmV0Lmg6IEF2b2lkIHBvc3NpYmxlIGluZmluaXRlIGxvb3AgY2F1c2VkIGJ5CisJdW5zaWduZWQgYXJpdGhtZXRpYyBpbiBwcmVjZWVkaW5nIGNoYW5nZS4KKworMjAwMi0wNS0yMyAgSm9obiBIdWdoZXMgPGpvaG5AY2FsdmEuY29tPgorCisJKiBhY2NvbmZpZy5oOiBBZGQgSEFWRV9PUFRIRFIgYW5kIEhBVkVfVF9PUFRIRFIgZGVmaW5lcy4KKworCSogYWNsb2NhbC5tNDogQWRkIHRlc3RzIGZvciBzdHJ1Y3Qgb3B0aGRyIGluIHN5cy9zb2NrZXQuaCBhbmQKKwlzdHJ1Y3QgdF9vcHRoZHIgaW4gc3lzL3RpdXNlci5oLCBkZWZpbmUgSEFWRV9PUFRIRFIgYW5kIEhBVkVfVF9PUFRIRFIKKwlpZiBmb3VuZC4KKworCSogY29uZmlndXJlLmluOiB1c2UgdGVzdHMgZm9yIHN0cnVjdCBvcHRoZHIgYW5kIHN0cnVjdCB0X29wdGhkci4KKworCSogZGVmcy5oOiBhZGQgbmV3IGZ1bmN0aW9uIHByaW50X3NvY2tfb3B0bWdtdC4KKworCSogaW8uYzogYWRkIGhhY2sgdGhhdCBsZXRzIGlvY3RsIGRlY29kZSBmdW5jdGlvbnMgc2V0IGF1eGlsbGlhcnkKKwlzdHJpbmcgcmV0dXJuLgorCisJKiBzdHJlYW0uYzogYmV0dGVyIGRlY29kaW5nIGZvciB0aW1vZCBpb2N0bHMuCisKKwkqIG5ldC5jOiBhZGQgZnVuY3Rpb24gcHJpbnRfc29ja19vcHRtZ210LCB1c2VkIGJ5IHRpbW9kIGlvY3RsCisJZGVjb2RpbmcgZnVuY3Rpb25zIGluIHN0cmVhbS5jLgorCisyMDAyLTA1LTIzICBKb2huIEh1Z2hlcyA8am9obkBjYWx2YS5jb20+CisKKwkqIGFjY29uZmlnLmg6IE1ha2UgYXV0b2hlYWRlciBoYXBweSBhYm91dCBMaW51eC9TdXBlckgKKworMjAwMi0wNS0yMyAgSm9obiBIdWdoZXMgPGpvaG5AY2FsdmEuY29tPgorCisJKiBzdHJhY2UuYzogR2V0IHJpZCBvZiB3YXJuaW5nIGlmIG5vdCB1c2luZyBQT0xMX0hBQ0sKKworMjAwMi0wNS0yMiAgSm9obiBIdWdoZXMgPGpvaG5AY2FsdmEuY29tPgorCisJKiBuZXQuYzogU2ltcGxpZnkge2dldCxzZXR9c29ja29wdCwgZGVjb2RlIFNPX0xJTkdFUiwgY29wZSB3aXRoCisJb3B0aW9ucyB0aGF0IGFyZSBub3QganVzdCBpbnRzLCBjb3BlIHdpdGggc3lzdGVtcyB0aGF0IGRvbid0CisJI2RlZmluZSBTT0xfVENQIGFuZCBzbyBvbi4KKworMjAwMi0wNS0yMSAgSm9obiBIdWdoZXMgPGpvaG5AY2FsdmEuY29tPgorCisJKiBzdHJhY2UuYzogRml4IHdhcm5pbmcgaWYgUE9MTF9IQUNLIGlzIHVzZWQuCisKKzIwMDItMDUtMTcgIEpvaG4gSHVnaGVzIDxqb2huQGNhbHZhLmNvbT4KKworCSogc3ZyNC9pb2N0bGVudC5zaDogU29tZSBkZWZpbmVzIG9uIFVXIGNvbWUgd2l0aCB0b28gbWFueSBzcGFjZXMuCisKKzIwMDItMDUtMTcgIEpvaG4gSHVnaGVzIDxqb2huQGNhbHZhLmNvbT4KKworCSogc3ZyNC9pb2N0bGVudC5zaDogQ29wZSB3aXRoICNkZWZpbmVzIHdyYXBwZWQgaW4gI2lmZGVmcy4KKworMjAwMi0wNS0xNyAgSm9obiBIdWdoZXMgPGpvaG5AY2FsdmEuY29tPgorCisJKiBzdHJlYW0uYzogdGlkeSB1cCBvdXRwdXQgYSBsaXR0bGUuCisKKzIwMDItMDUtMTcgIEpvaG4gSHVnaGVzIDxqb2huQGNhbHZhLmNvbT4KKworCSogcHJvY2Vzcy5jLCBzdnI0L2R1bW15LmgsIHN2cjQvc3lzY2FsbC5oOiBkZWNvZGUgYXJndW1lbnRzCisJdG8gcHJvY3ByaXYgc3lzY2FsbC4KKworMjAwMi0wNS0wMSAgV2ljaGVydCBBa2tlcm1hbiA8d2ljaGVydEBkZWVwaGFja21vZGUub3JnPgorCisJKiBjb25maWd1cmUuaW4sIGRlZnMuaCwgcHJvY2Vzcy5jLCBzb2NrLmMsIHN5c2NhbGwuYywgdXRpbC5jOiBtZXJnZQorCSAgcGF0Y2ggZnJvbSBHcmVnIEJhbmtzIDxnYmFua3NAcG9ja2V0cGVuZ3VpbnMuY29tPiBmb3IgTGludXgvU3VwZXJICisJICBzdXBwb3J0CisKKzIwMDItMDQtMDEgIFdpY2hlcnQgQWtrZXJtYW4gPHdpY2hlcnRAZGVlcGhhY2ttb2RlLm9yZz4KKworCSogc3RyYWNlLmM6IGNsb3NlIHRjcC0+b3V0ZiBpbiBkcm9wdGNiKCkKKworMjAwMi0wNC0wMSAgV2ljaGVydCBBa2tlcm1hbiA8d2ljaGVydEBkZWVwaGFja21vZGUub3JnPgorCisJKiBuZXQuYzogZGVjb2RlIHBhY2tldCBvcHRpb25zCisKKzIwMDItMDMtMzEgIFdpY2hlcnQgQWtrZXJtYW4gPHdpY2hlcnRAZGVlcGhhY2ttb2RlLm9yZz4KKworCSogbGludXgve2FscGhhLGhwcGEsaWE2NCxtaXBzLHBvd2VycGMsc3BhcmN9L3N5c2NhbGxlbnQuaDogcmVnZW5lcmF0ZWQKKworMjAwMi0wMy0zMSAgV2ljaGVydCBBa2tlcm1hbiA8d2ljaGVydEBkZWVwaGFja21vZGUub3JnPgorCisJKiBkZWJpYW4vKjogYWRkZWQKKwkqIGxpbnV4L3N5c2NhbGxlbnQuaDogZml4IHR5cG8gYW5kIGFkZCB0aGUgcmVzZXJ2ZWQgc3RyZWFtIHN5c2NhbGxzCisJKiBkZWZzLmgsIGZpbGUuYywgaW8uYzogZml4IHNpZ25lZC91bnNpZ25lZCBpc3N1ZXMKKwkqIHN5c2NhbGwuYzogY2hlY2sgZm9yIG5lZ2F0aXZlIHVfZXJyb3JzCisJKiBjdnNidWlsZDogcmVuYW1lZCB0byBhdXRvZ2VuLnNoCisKKzIwMDEtMTItMTcgIFdpY2hlcnQgQWtrZXJtYW4gPHdha2tlcm1hQGRlYmlhbi5vcmc+CisKKwkqIG5ldC5jOiBhZGQgbmV3IFRDUCBzb2NrZXQgb3B0aW9ucworCisyMDAxLTEwLTI2ICBKb2huIEh1Z2hlcyA8am9obkBjYWx2YS5jb20+CisKKwkqIHN2cjQvaW9jdGxlbnQuc2g6IENvcGUgd2l0aCAjZGVmaW5lIGxpbmVzIGNvbnRhaW5pbmcKKwljb21tZW50cyB0aGF0IHRlcm1pbmF0ZSBvbiBzdWJzZXF1ZW50IGxpbmVzLiAgVXNlZCB0bworCWNvbW1lbnQgb3V0IHN1YnNlcXVlbnQgaW9jdGxzIQorCisyMDAxLTEwLTI1ICBXaWNoZXJ0IEFra2VybWFuIDx3YWtrZXJtYUBkZWJpYW4ub3JnPgorCisJKiBsaW51eC9pb2N0bGVudC5oOiByZWdlbmVyYXRlZCB1c2luZyBjdXJyZW50IHNjcmlwdHMgc28KKwkgIHRlcm0gaW9jdGxzIGFyZSBpbmNsdWRlZAorCisyMDAxLTEwLTE5ICBKb2huIEh1Z2hlcyAgPGpvaG5AQ2FsdmEuQ09NPgorCisJKiBzdHJhY2UuYyhwcm9jX29wZW4pOiBPbiBTVlI0IG9ubHkgdHJhY2UgdGhlIHN5c2NhbGxzLAorCXNpZ25hbHMgYW5kIGZhdWx0cyB3ZSBjYXJlIGFib3V0LgorCisyMDAxLTEwLTE4ICBKb2huIEh1Z2hlcyAgPGpvaG5AQ2FsdmEuQ09NPgorCisJKiBhY2NvbmZpZy5oOiBBZGQgSEFTX1NJR0lORk9fVC4KKwkqIGFjbG9jYWwubTQ6IGFkZCBjaGVjayBmb3Igc2lnaW5mb190IGluIHNpZ25hbC5oLgorCSogY29uZmlndXJlLmluOiB1c2UgY2hlY2sgZm9yIHNpZ2luZm9fdC4KKwkqIGRlZnMuaDogaWYgSEFWRV9TSUdJTkZPX1QgdGhlIGRlY2xhcmUgcHJpbnRzaWdpbmZvLiAgT24gU1ZSNAorCSAgYWxsb3cgYWNjZXNzIHRvIHNpZ2luZm8gd2hlbiBzaWduYWwgcmVjaWV2ZWQuCisJKiBwcm9jZXNzLmM6IFJlbW92ZSBTVlI0IG9ubHkgdmVyc2lvbiBvZiBwcmludHNpZ2luZm8uCisJKiBzaWduYWwuYzogbWVyZ2UgU1ZSNCBhbmQgTElOVVggdmVyc2lvbnMgb2YgcHJpbnRzaWdpbmZvLgorCSogc3RyYWNlLmM6IG9uIFNWUjQgcHJpbnQgc2lnaW5mbyB3aGVuIHNpZ25hbCByZWNpZXZlZC4KKworMjAwMS0xMC0xOCAgSm9obiBIdWdoZXMgIDxqb2huQENhbHZhLkNPTT4KKworCSogc3lzdGVtLmMoc3lzX3NzaXN5cyk6IGhhbmRsZSByZXR1cm4gdmFsdWVzIGZvciBzc2lzeXMKKworMjAwMS0xMC0xOCAgSm9obiBIdWdoZXMgIDxqb2huQENhbHZhLkNPTT4KKworCSogc2lnbmFsLmM6IGhhbmRsZSBzaWd3YWl0CisJKiBzdnI0L2R1bW15LmM6IE1vdmUgc2lnd2FpdCB0byBkb25lCisJKiBzdnI0L3N5c2NhbGwuaDogaGFuZGxlIHNpZ3dhaXQKKworMjAwMS0xMC0xNiAgSm9obiBIdWdoZXMgIDxqb2huQENhbHZhLkNPTT4KKworCSogc3lzdGVtLmMoc3lzX3NzaXN5cyk6IGRlY29kZSBzb21lIGFyZ3MgZm9yIHNzaXN5cy4KKworMjAwMS0xMC0xNiAgSm9obiBIdWdoZXMgIDxqb2huQENhbHZhLkNPTT4KKworCSogbWVtLmM6IE1TX1NZTkMgaXMgemVybywgc28gbXVzdCBiZSBmaXJzdCBpbiB4bGF0IGxpc3QuCisKKwkqIHN2cjQvZHVtbXkuaDogbWVtY250bCBpcyBtdWNoIGxpa2UgbWN0bC4KKworMjAwMS0xMC0xNiAgSm9obiBIdWdoZXMgIDxqb2huQENhbHZhLkNPTT4KKworCSogdXRpbC5jICh1bW92ZXN0cik6IFVuaXhXYXJlIChzdnI0PykgcmV0dXJucyAwIHdoZW4gdHJ5aW5nCisJdG8gcmVhZCB1bm1hcHBlZCBwYWdlLiAgTWFrZSBpdCBwb3NzaWJsZSB0byBzdHJhY2Uga3NoLgorCisyMDAxLTEwLTAzICBEYXZpZCBNb3NiZXJnZXIgIDxkYXZpZG1AaHBsLmhwLmNvbT4KKworCSogcHJvY2Vzcy5jIChpbnRlcm5hbF9jbG9uZSk6IEF2b2lkIHJhY2UgY29uZGl0aW9uIGJ5IGNsZWFyaW5nCisJYnJlYWtwb2ludCBhZnRlciBhdHRhY2hpbmcgdG8gY2hpbGQuCisKKzIwMDEtMTAtMDIgIERhdmlkIE1vc2JlcmdlciAgPGRhdmlkbUBocGwuaHAuY29tPgorCisJKiBsaW51eC9pYTY0L3N5c2NhbGxlbnQuaDogRGVmaW5lIGlhMzIgc3lzY2FsbCBudW1iZXJzIChvcmlnaW5hbGx5CisJYnkgRG9uIER1Z2dlciwgd2l0aCBteSByZWZpbmVtZW50cykuCisKKwkqIGxpbnV4L2lhNjQvaW9jdGxlbnQuaDogUmVnZW5lcmF0ZSBhbmQgbWFudWFsbHkgbWVyZ2UgY29uZmxpY3RpbmcKKwlpb2N0bHMgKFRDR0VUUyAmIFNORENUTF9UTVJfVElNRUJBU0UsIGV0Yy4pLgorCisJKiBsaW51eC9pYTY0L01ha2VmaWxlLmluIChpb2N0bGRlZnMuaCBpb2N0bHMuaCk6IFVwZGF0ZSBmb3IKKwluZXcgaW9jdGxlbnQuaCBnZW5lcmF0aW9uIHNjaGVtZS4KKworCSogbGludXgvc3lzY2FsbC5oIChzeXNfY2xvbmUyKTogRGVjbGFyZS4KKwlbSUE2NF0gRGVmaW5lIGlhMzIgc29ja2V0LCBpcGMsIGFuZCBleHRyYSBzeXNjYWxsIG51bWJlcnMuCisKKwkqIGxpbnV4L2lvY3RsZW50LnNoIChyZWdleHApOiBBbHNvIGhhbmRsZSA8YXNtL2lvY3Rscy5oPiBzbyB3ZQorCWRvbid0IG1pc3MgdGhlIHR0eSBpb2N0bHMgKHVuZm9ydHVuYXRlbHksIHNvbWUgb2YgdGhlIHNvdW5kIHRpbWVyCisJaW9jdGxzIGFyZSBpbiBjb25mbGljdCB3aXRoIHRoZW0hKS4KKworCSogdXRpbC5jIChzZXRicHQpIFtJQTY0XTogQWRkIGlhMzIgc3VwcG9ydCAoYnkgRG9uIER1Z2dlcikuCisJKGNscmJwdCkgW0lBNjRdOiBEaXR0by4KKworCSogc3lzY2FsbC5jIChpbnRlcm5hbF9zeXNjYWxsKTogSGFuZGxlIFNZU19jbG9uZTIsIFNZUzMyX3dhaXQ0LAorCWFuZCBTWVMzMl9leGl0LgorCShnZXRfc2Nubyk6IEdldCBpYTMyIHN5c2NhbGwgbnVtYmVyIGZyb20gcjEgKG9yaWcgZWF4KSBpbnN0ZWFkIG9mCisJcjggKGVheCkuICBIYW5kbGUgVENCX1dBSVRFWEVDVkUuCisJKHN5c2NhbGxfZml4dXApOiBIYW5kbGUgaWE2NC4KKwkoc3lzY2FsbF9lbnRlcik6IEZpeCBhcmd1bWVudCBmZXRjaGluZyBmb3IgaWE2NC4KKworCSogc3RyYWNlLmMgW0lBNjQgJiYgTElOVVhdOiBJbmNsdWRlIDxhc20vcHRyYWNlX29mZnNldHMuaD4uCisJKHRyYWNlKSBbUFRfR0VUU0lHSU5GT106IFByaW50IHNpZ25hbCBhZGRyZXNzIGFuZCBwYyBpZiBwb3NzaWJsZS4KKworCSogcHJvY2Vzcy5jICh0Y3ApOiBOZXcgZnVuY3Rpb24uCisJKGNoYW5nZV9zeXNjYWxsKTogQWRkIHN1cHBvcnQgZm9yIGlhNjQgbGludXguCisJKHN5c19leGVjdmUpOiBUdXJuIG9uIFRDQl9XQUlURVhFQ1ZFIGZvciBpYTY0IGxpbnV4LgorCisJKiBkZXNjLmMgKGdldGxrKTogQ2FzdCBsX2xlbiB0byAibG9uZyBsb25nIiB0byBhdm9pZCB3YXJuaW5ncyB3aGVuCisJdHlwZSBpcyBuYXJyb3dlci4KKwkqIHJlc291cmNlLmMgKHNwcmludHJsaW02NCk6IERpdHRvLgorCisJKiBkZWZzLmggKFRDQl9XQUlURVhFQ1ZFKSBbSUE2NF06IERlZmluZS4KKwlbSUE2NF06IERlY2xhcmUgImlhMzIiIHZhcmlhYmxlLgorCisJKiBiam0uYzogRG8gbm90IGluY2x1ZGUgPGxpbnV4L21vZHVsZS5oPi4gIEl0J3Mgbm90IHNhZmUgdG8gaW5jbHVkZQorCWtlcm5lbCBoZWFkZXJzLiAgRGVjbGFyZSB0aGUgbmVjZXNzYXJ5IGNvbnN0YW50cyBhbmQgc3RydWN0dXJlcworCWRpcmVjdGx5IGluc3RlYWQuCisKKzIwMDEtMTAtMDEgIERhdmlkIE1vc2JlcmdlciAgPGRhdmlkbUBocGwuaHAuY29tPgorCisJKiBzaWduYWwuYyAocGFyc2Vfc2lnc2V0X3QpOiBOZXcgZnVuY3Rpb24uCisJKHNpZ2lzaGFuZGxlZCk6IEZpeCBvZmYtYnktb25lIGJ1ZyBieSB1c2luZyBwYXJzZV9zaWdzZXRfdCgpIGFuZAorCWF2b2lkaW5nIHJlbHlpbmcgb24gaW50ZXJuYWwgbGF5b3V0IG9mIHNpZ3NldF90IGRhdGFzdHJ1Y3R1cmUuCisKKzIwMDEtMDQtMjYgIERhdmlkIE1vc2JlcmdlciAgPGRhdmlkbUBocGwuaHAuY29tPgorCisJKiBsaW51eC9pYTY0L3N5c2NhbGxlbnQuaDogQWRkIGdldHVud2luZCgpLgorCisyMDAxLTA0LTExICBEYXZpZCBNb3NiZXJnZXIgIDxkYXZpZG1AaHBsLmhwLmNvbT4KKworCSogc3lzY2FsbC5jIChzeXNjYWxsX2VudGVyKTogVXNlIFBUX1JCU19FTkQgaW5zdGVhZCBvZiBkZXByZWNhdGVkCisJUFRfQVJfQlNQLiAgUGljayB1cCBhcmd1bWVudHMgc3RhcnRpbmcgd2l0aCBvdXQwLCB3aGljaCBpcyBub3QKKwlhbHdheXMgdGhlIHNhbWUgYXMgcjMyIChlLmcuLCBjb25zaWRlciBpbmxpbmVkIHN5c2NhbGxzKS4KKworMjAwMS0wOS0yOCAgIEpvaG4gSHVnaGVzIDxqb2huQENhbHZhLkNPTT4KKworICAqIHByb2Nlc3MuYzogRnJlZUJTRC1DVVJSRU5UIG5vIGxvbmdlciBoYXMgUFRfUkVBRF9VLCBhbmQgYW55d2F5IHdlCisgICAgd2VyZSBzaG93aW5nIGl0IGFzIFBUX1dSSVRFX1UhICBGaXggZnJvbSBNYXhpbWUgSGVucmlvbi4KKworMjAwMS0wOS0xOCAgIEpvaG4gSHVnaGVzIDxqb2huQENhbHZhLkNPTT4KKworICAqIG5ldC5jOiBmaXggZGlzcGxheSBvZiBzb2NrYWRkciBzdHJ1Y3R1cmVzLCBzb21ldGltZXMgdG9vIG1hbnkgIn0iLAorICAgIHNvbWV0aW1lcyB0b28gZmV3LiAgRml4IHN1Z2dlc3RlZCBieSBSaWNoYXJkIEtldHRsZXdlbGwuCisKKzIwMDEtMDgtMTkgICBXaWNoZXJ0IEFra2VybWFuIDx3YWtrZXJtYUBkZWJpYW4ub3JnPgorCisgICogc2lnbmFsLmM6IGRvIG5vdCBpbmNsdWRlIGFzbS9zaWdjb250ZXh0Lmggb24gSUE2NCBzaW5jZSBpdCBnZXRzCisgICAgdGhlIHN0cnVjdCBmcm9tIGJpdHMvc2lnY29udGV4dC5oIGFscmVhZHkgd2hpY2ggc2lnbmFsLmggaW5jbHVkZXMuCisKKzIwMDEtMDgtMDMgICBXaWNoZXJ0IEFra2VybWFuIDx3YWtrZXJtYUBkZWJpYW4ub3JnPgorCisgICogbGludXgvaW9jdGxlbnQuc2g6IGNoYW5nZSByZWdleHBzIHNvIHdlIGNhdGNoIHNvdW5kIGlvY3RscyBhcyB3ZWxsIGluCisgICAgTGludXgKKyAgKiBsaW51eC9NYWtlZmlsZS5pbjogZml4IGEgZmV3IHRoaW5ncyBzbyB0aGUgaW9jdGwgbGlzdCBpcyBnZW5lcmF0ZWQKKyAgICBwcm9wZXJseQorICAqIGlvY3RsLmM6IHJlbWVtYmVyIHRvIHNoaWZ0IGlvY3RsIG1hc2tzIGFzIHdlbGwKKworMjAwMS0wOC0wMyAgIFdpY2hlcnQgQWtrZXJtYW4gPHdha2tlcm1hQGRlYmlhbi5vcmc+CisKKyAgKiBMaW51eC8qKi9zeXNjYWxsZW50Lmg6IHN5bmNocm9uaXplIHNlY3Rpb24gZm9yIGZjbnRsIGFuZCB1c2Ugc3lzX2ZjbnRsCisgICAgZm9yIHN5c19mY250bCBhcyB3ZWxsCisKKzIwMDEtMDgtMDMgICBXaWNoZXJ0IEFra2VybWFuIDx3YWtrZXJtYUBkZWJpYW4ub3JnPgorCisgICogbGludXgvaHBwYS9zeXNjYWxsZW50Lmg6IHVwZGF0ZWQgZnJvbSBNYXR0aGV3IFdpbGNveAorCisyMDAxLTA4LTAzICAgV2ljaGVydCBBa2tlcm1hbiA8d2Fra2VybWFAZGViaWFuLm9yZz4KKworICAqIHByb2Nlc3MuYzogc2VlbXMgTGludXgvSUE2NCBjaGFuZ2VkIHJlZ2lzdGVyIG5hbWVzIG9uIHVzLCBzd2l0Y2ggdG8KKyAgICB1c2luZyBuZXcgbmFtZXMuCisKKzIwMDEtMDgtMDMgICBXaWNoZXJ0IEFra2VybWFuIDx3YWtrZXJtYUBkZWJpYW4ub3JnPgorCisgICogc3RyYWNlLmM6IHNldCBDTE9FWEVDICBmbGFnIGZvciBvdXRwdXRmaWxlCisKKzIwMDEtMDgtMDMgICBXaWNoZXJ0IEFra2VybWFuIDx3YWtrZXJtYUBkZWJpYW4ub3JnPgorCisgICogbGludXgvc3BhcmMvc3lzY2FsbC5oLCBsaW51eC9zcGFyYy9zeXNjYWxsZW50Lmg6IGFkZCBzb21lIExGUyBjYWxscworCisyMDAxLTA3LTIzICBXaWNoZXJ0IEFra2VybWFuIDx3YWtrZXJtYUBkZWJpYW4ub3JnPgorCisgICogY29uZmlndXJlLmluOiBTdXBwb3J0IGNyb3NzLWNvbXBpbGluZyBiZXR3ZWVuIGFyY2hpdGVjdHVyZXMKKworMjAwMS0wNy0xMyAgV2ljaGVydCBBa2tlcm1hbiA8d2Fra2VybWFAZGViaWFuLm9yZz4KKworICAqIGNvbmZpZ3VyZS5pbjogYWRkIFMzOTAgdG8gYXJjaGl0ZWN0dXJlIGxpc3QKKworMjAwMS0wNy0xMCAgSm9obiBIdWdoZXMgPGpvaG5AQ2FsdmEuQ09NPgorCisgICogVE9ETywgZGVmcy5oLCBpby5oLCBuZXQuYywgc3RyYWNlLmMsIHN5c2NhbGwuYywgdXRpbC5jOiBNZXJnZSBmaXhlcworICAgIGZyb20gUmljaGFyZCBLZXR0bGV3ZWxsIDxya2V0dGxld2VsbEB6ZXVzLmNvbT4gd2hpY2ggYWRkIEkvTyBkdW1waW5nCisgICAgb2YgYXJncyB0byByZWFkdi93cml0ZXYuICBBbHNvIGdldHMgcmlkIG9mIHJlZHVuZGFudCBwcmludGlvdmVjCisgICAgcm91dGluZSBmcm9tIG5ldC5jIChkdXBsaWNhdGUgb2YgdHByaW50X2lvdiBpbiB1dGlsLmMpLgorCisyMDAxLTA3LTAyICBXaWNoZXJ0IEFra2VybWFuIDx3YWtrZXJtYUBkZWJpYW4ub3JnPgorCisgICogY29uZmlnLntndWVzcyxzdWJ9OiB1cGRhdGVkCisKKzIwMDEtMDUtMTUgIEpvaG4gSHVnaGVzIDxqb2huQENhbHZhLkNPTT4KKworICAqIHNpZ25hbC5jOiBwYXNzIGEgcG9pbnRlciB0byBzaWdtYXNrIHRvIHByaW50c2lnbWFzayBmcm9tIHByaW50Y29udGV4dCwKKyAgICBpdCB3YXMganVzdCBwYXNzaW5nIHRoZSBzaWdtYXNrICh1Y3AtPnVjX3NpZ21hc2spLgorCisyMDAxLTA1LTE1ICBKb2huIEh1Z2hlcyA8am9obkBDYWx2YS5DT00+CisKKyAgKiB1dGlsLmM6IERvbid0IHJ1biBvZmYgdGhlIGVuZCBvZiB2YWxpZCBtZW1vcnkgaW4gdW1vdmVzdHIgd2hlbgorICAgIFVTRV9QUk9DRlMuICBJbXBvcnRhbnQgZm9yIEZSRUVCU0Qgc3lzdGVtcyAod2hpY2ggc2VlbSB0byBoYXZlIGFuCisgICAgdW5tYXBwZWQgcGFnZSBqdXN0IGFmdGVyIHRoZSBhcmdzL2VudiBhcmVhKS4KKworMjAwMS0wNC0xOCAgSm9obiBIdWdoZXMgPGpvaG5AQ2FsdmEuQ09NPgorCisgICogY29uZmlndXJlLmluOiB0ZXN0IGZvciBzeXMvbnNjc3lzLmgsIHRoZSBub24tc3RvcCBjbHVzdGVycyBpbmNsdWRlcy4KKyAgKiBwcm9jZXNzLmM6IGhhbmRsZSByZm9ya3sxLGFsbH0gYW5kIHJleGVjdmUgY2FsbHMgb24gbm9uLXN0b3AgY2x1c3RlcnMuCisgICogc3lzY2FsbC5jOiB0cmVhdCByZm9ya3sxLGFsbH0gYW5kIGZvcmt7MSxhbGx9IGFzIGZvcmsgbGlrZSBjYWxscy4KKyAgICBUcmVhdCByZXhlY3ZlIGFzIGFuIGV4ZWMuCisgICogc3lzdGVtLmM6IGRlY29kZSBhcmd1bWVudHMgdG8gc3Npc3lzIGNhbGwgb24gbnNjIHN5c3RlbXMuCisgICogc3ZyNC9kdW1teS5oLCBzdnI0L3N5c2NhbGwuaDogbm93IHdlIGhhbmRsZSByZm9ya3sxLGFsbH0sIHNzaXN5cyBhbmQKKyAgICByZXhlY3ZlIGNhbGxzLgorCisyMDAxLTA0LTEyICBXaWNoZXJ0IEFra2VybWFuIDx3YWtrZXJtYUBkZWJpYW4ub3JnPgorCisgICogcHJvY2Vzcy5jOiBmaXggY2FzdCBmb3IgcG93ZXJwYyBjb2RlCisgICogbGludXgvcG93ZXJwYy9zeXNjYWxsZW50Lmg6IHVwZGF0ZSBzeXNjYWxsIGxpc3QKKyAgKiBSRUFETUU6IGZpeCBhZGRyZXNzIGZvciB0aGUgc3RyYWNlIG1haWxpbmdsaXN0CisgICogc2lnbmFsLmM6IHN3aXRjaCB0byB1c2luZyAvcHJvYy88cGlkPi9zdGF0dXMgb24gTGludXggc28gd2UgY2FuIGdldAorICAgIHRoZSByZWFsdGltZSBzaWduYWxzIGFzIHdlbGwKKworMjAwMS0wNC0xMCAgV2ljaGVydCBBa2tlcm1hbiA8d2Fra2VybWFAZGViaWFuLm9yZz4KKworICAqIE1lcmdlIHBhdGNoZXMgZnJvbSBNYWNpZWogVy4gUm96eWNraToKKyAgICArIHV0aWwuYzogYWRkIGNvZGUgdG8gcHJpbnQgUEMgZm9yIE1JUFMKKyAgICArIGxpbnV4L21pcHMvc3lzY2FsbGVudC5oOiB1cGRhdGVkCisgICAgKyBzeXN0ZW0uYzogZm9ybWF0aW5nIGZpeGVzIGZvciBzeXNfc3lzbWlwcworICAgICsgY29uZmlndXJlLmluOiB0ZXN0IGZvciB5ZXQgbW9yZSBoZWFkZXJzCisgICAgKyBzdHJlYW0uYzogdXNlIGNvbmZpZ3VyZS1oZWFkZXJ0ZXN0cyBpbnN0ZWFkIG9mIHJlbHlpbmcgb24gT1MgaGludHMKKworMjAwMS0wNC0wNyAgV2ljaGVydCBBa2tlcm1hbiA8d2Fra2VybWFAZGViaWFuLm9yZz4KKworICAqIE5FV1M6IHN0YXJ0IDQuMy4xIGl0ZW1zCisgICogdmVyc2lvbi5jOiB1cGRhdGVkIHRvIHNheSA0LjMuMSAod2FzIHN0aWxsIDQuMiwgb29wcyEpCisKKzIwMDEtMDQtMDcgIFdpY2hlcnQgQWtrZXJtYW4gPHdha2tlcm1hQGRlYmlhbi5vcmc+CisKKyAgKiBjb25maWd1cmUuaW46IHRlc3QgZm9yIGFzbS9zeXNtaXBzLmggYW5kIGxpbnV4L3V0c25hbWUuaAorICAqIGxpbnV4L3N5c2NhbGwuaDogZml4IGEgdHlwbyBmb3Igc3lzX3N5c21pcHMKKyAgKiBzeXN0ZW0uYzogaW5jbHVkZSBhc20vc3lzbWlwcy5oIGFuZCBsaW51eC91dHNuYW1lLmggaWYgdGhleSBleGlzdCwKKyAgICBmaXggdHlwbworCisyMDAxLTAzLTMxICBXaWNoZXJ0IEFra2VybWFuIDx3YWtrZXJtYUBkZWJpYW4ub3JnPgorCisgICogbGludXgvbWlwcy9pb2N0bGVudC5oOiB1cGRhdGVkIHVzaW5nIG5ldyBMaW51eCBpb2N0bCBzZXR1cAorCisyMDAxLTAzLTMxICBXaWNoZXJ0IEFra2VybWFuIDx3YWtrZXJtYUBkZWJpYW4ub3JnPgorCisgICogbGludXgvaWE2NC9pb2N0bGVudC5oOiByZWdlbmVyYXRlZAorCisyMDAxLTAzLTMxICBXaWNoZXJ0IEFra2VybWFuIDx3YWtrZXJtYUBkZWJpYW4ub3JnPgorCisgICogbGludXgve2FscGhhLGlhNjQscG93ZXJwY30vaW9jdGxlbnQuc2g6IHJlbW92ZWQsIGFsbCBhcmNocyB1c2UgdGhlCisgICAgZ2VuZXJhbCBMaW51eCBpb2N0bGVudC5zaAorCisyMDAxLTAzLTMxICBXaWNoZXJ0IEFra2VybWFuIDx3YWtrZXJtYUBkZWJpYW4ub3JnPgorCisgICogbGludXgvaW9jdGxlbnQuc2g6IGFkZCBkaXIgdmFyaWFibGUgZm9yIGxvY2F0aW9uIG9mIGtlcm5lbCBoZWFkZXJzCisKKzIwMDEtMDMtMjkgIFdpY2hlcnQgQWtrZXJtYW4gPHdha2tlcm1hQGRlYmlhbi5vcmc+CisKKyAgKiBsaW51eC9pYTY0L2lvY3RsZW50Lmg6IHVwZGF0ZWQgdXNpbmcgbmV3IExpbnV4IGlvY3RsIHNldHVwCisKKzIwMDEtMDMtMjkgIFdpY2hlcnQgQWtrZXJtYW4gPHdha2tlcm1hQGRlYmlhbi5vcmc+CisKKyAgKiBsaW51eC9wb3dlcnBjL2lvY3RsZW50Lmg6IHVwZGF0ZWQgdXNpbmcgbmV3IExpbnV4IGlvY3RsIHNldHVwCisKKzIwMDEtMDMtMjkgIFdpY2hlcnQgQWtrZXJtYW4gPHdha2tlcm1hQGRlYmlhbi5vcmc+CisKKyAgKiBsaW51eC9ocHBhL2lvY3RsZW50Lmg6IHVwZGF0ZWQgdXNpbmcgbmV3IExpbnV4IGlvY3RsIHNldHVwCisKKzIwMDEtMDMtMjkgIFdpY2hlcnQgQWtrZXJtYW4gPHdha2tlcm1hQGRlYmlhbi5vcmc+CisKKyAgKiBsaW51eC9hbHBoYS9pb2N0bGVudC5oOiB1cGRhdGVkIHVzaW5nIG5ldyBMaW51eCBpb2N0bCBzZXR1cAorCisyMDAxLTAzLTI4ICBXaWNoZXJ0IEFra2VybWFuIDx3YWtrZXJtYUBkZWJpYW4ub3JnPgorCisgICogY29uZmlndXJlLmluOiB1c2Ugc3BhcmMqIHNvIHdlIGNhbiBjb21waWxlIG9uIHNwYXJjNjQgYXMgd2VsbAorICAqIHByb2Nlc3MuYywgc3lzY2FsbC5jOiB3b3JrIGFyb3VuZCBkb3VibGUgZGVmaW5lIG9mIGZwcSwgZnEgYW5kIGZwdQorICAgIHN0cnVjdHMgb24gTGludXgvc3BhcmMsIGFuZCB1c2UgcmVncyBpbnN0ZWFkIG9mIHB0X3JlZ3MKKyAgKiBkb24ndCB1c2UgYXNtL3NpZ2NvbnRleHQuaCBvbiBMaW51eC9zcGFyYworCisyMDAxLTAzLTI4ICBXaWNoZXJ0IEFra2VybWFuIDx3YWtrZXJtYUBkZWJpYW4ub3JnPgorCisgICogbGludXgvc3BhcmMvaW9jdGxlbnQuaDogdXBkYXRlZCB1c2luZyBuZXcgTGludXggaW9jdGwgc2V0dXAKKworMjAwMS0wMy0yOCAgV2ljaGVydCBBa2tlcm1hbiA8d2Fra2VybWFAZGViaWFuLm9yZz4KKworICAqIHN0cmFjZS5jOiB1c2UgX19XQUxMIGFzIHdhaXQ0IGZsYWcgaWYgaXQgZXhpc3RzIHNvIHdlIGNhbiBwcm9wZXJseQorICAgIHRyYWNlIHRocmVhZGVkIHByb2dyYW1zCisKKzIwMDEtMDMtMjcgIEpvaG4gSHVnaGVzIDxqb2huQENhbHZhLkNPTT4KKworICAqIGFjbG9jYWwubTQ6IGFkZCBjaGVjayBmb3IgZW5kaWFubmVzcyBvZiBsb25nIGxvbmcuCisgICogYWNjb25maWcuaDogYWRkICNkZWZpbmUgZm9yIExJVFRMRV9FTkRJQU5fTE9OR19MT05HLgorICAqIGNvbmZpZ3VyZS5pbjogY2hlY2sgZm9yIGVuZGlhbm5lc3Mgb2YgbG9uZyBsb25nLgorICAqIGRlZnMuaDogY2hhbmdlIExPTkdfTE9ORyBtYWNybyB0byB3b3JrIHdpdGggZWl0aGVyIGVuZGlhbm5lc3Mgb2YKKyAgICBsb25nIGxvbmcuCisKKzIwMDEtMDMtMjcgIEpvaG4gSHVnaGVzIDxqb2huQENhbHZhLkNPTT4KKworICAqIG5ldC5jOiBNYWtlIGNvbXBpbGFibGUgYnkgU0NPIFVESyBjb21waWxlciAoZG9lc24ndCBsaWtlIGVtcHR5CisgICAgaW5pdGlhbGlzYXRpb24gbGlzdCBmb3IgYXJyYXkpLgorCisyMDAxLTAzLTI3ICBKb2huIEh1Z2hlcyA8am9obkBDYWx2YS5DT00+CisKKyAgKiBzdnI0L3N5c2NhbGxlbnQuaDogbnRwX2FkanRpbWUgZW50cnkgd2FzIGR1cGxpY2F0ZWQgb24gU29sYXJpcworICAgIHN5c3RlbXMgLSBiYWQgbWVyZ2Ugb2YgSGFyYWxkIEJvZWhtZSdzIHBhdGNoIGJ5IG1lLgorCisyMDAxLTAzLTI3ICBXaWNoZXJ0IEFra2VybWFuIDx3YWtrZXJtYUBkZWJpYW4ub3JnPgorCisgICogbG90cyBvZiBmaWxlczogYWRkIExpbnV4L2hwcGEgc3VwcG9ydAorCisyMDAxLTAzLTE5ICBXaWNoZXJ0IEFra2VybWFuIDx3YWtrZXJtYUBkZWJpYW4ub3JnPgorCisgICogbGludXgvbWlwcy9zeXNjYWxsZW50Lmg6IHdlIGNhbid0IGhhdmUgLTEgbmFyZ3MsIGNoYW5nZSB0byAwCisgICogbGludXgvc3lzY2FsbGVudC5oOiBub3QgdGhhdCBzeXNjYWxscyAyMjAgYW5kIDIyMSBhcmUgdXNlZCBub3cKKyAgKiBjb25maWcuZ3Vlc3M6IHVwZGF0ZWQKKworMjAwMS0wMy0xNyAgV2ljaGVydCBBa2tlcm1hbiA8d2Fra2VybWFAZGViaWFuLm9yZz4KKworICAqIGxpbnV4L2lvY2xzb3J0LmM6IG5ldyBmaWxlCisgICogbGludXgvaW9jdGxlbnQuc2g6IGNvbXBsZXRlIHJld3JpdGUgdG8gdXNlIGEgbW9yZSBzYW5lIGFwcHJvYWNoIHRvIGdldAorICAgIHRoZSBpb2N0bCBsaXN0IHRoYXQgZG9lc24ndCBpbnZvbHZlIGF0dGVtcHRpbmcgdG8gI2luY2x1ZGUgYWxsIGtlcm5lbAorICAgIGhlYWRlcnMKKyAgKiBsaW51eC8uY3ZzaWdub3JlOiBhZGRlZCBpb2N0ZGVmcy5oIGFuZCBpb2N0bHMuaCB3aGljaCBhcmUgZ2VuZXJhdGVkCisgICAgYnkgdGhlIG5ldyBpb2N0bGVudC5zaAorICAqIGlvY3RsLmM6IG9ubHkgbG9vayBhdCB0aGUgbnVtYmVyIGFuZCB0eXBlIGJpdHMgZm9yIGxpbnV4LCBzaW5jZQorICAgIGlvY3RsZW50LnNoIG5vIGxvbmdlciBzdXBwbGllcyB0aGUgb3RoZXJzCisKKzIwMDEtMDMtMDggIEpvaG4gSHVnaGVzIDxqb2huQENhbHZhLkNPTT4KKworICAqIGZyZWVic2Qvc3lzY2FsbHMucGw6IE9uIEZyZWVCU0Qgd2UgbXVzdCBjb3BlIHdpdGggQ09NUEFUaWJpbGl0eSBzeXNjYWxscywKKyAgICBwcmV0ZW5kIHRoZXkgaGF2ZSBuYW1lcyBlbmRpbmcgd2l0aCAiPyIgc28gdGhhdCAtZSB0cmFjZT1zdGF0IChmb3IKKyAgICBleGFtcGxlKSB3aWxsIHdvcmsuCisgICogZnJlZWJzZC9pMzg2L3N5c2NhbGxlbnQuaDogYWRkID8gdG8gY29tcGF0YWJpbGl0eSBzeXNjYWxscy4KKyAgKiBmcmVlYnNkL2kzODYvc3lzY2FsbC5oOiBjb25zaXN0ZW5jeS4KKworMjAwMS0wMy0wOCAgSm9obiBIdWdoZXMgPGpvaG5AQ2FsdmEuQ09NPgorCisgICogYWNjb25maWcuaDogYWRkIG5ldyBTVF94eHggZGVmaW5lcy4KKyAgKiBhY2xvY2FsLm00OiBtYWNyb3MgdG8gY2hlY2sgZm9yIG1vcmUgZmllbGRzIGluIHN0cnVjdCBzdGF0LgorICAqIGNvbmZpZ3VyZS5pbjogdXNlIG5ldyBtYWNyb3MgdG8gY2hlY2sgZm9yIGZpZWxkcyBpbiBzdHJ1Y3Qgc3RhdC4KKyAgKiBmaWxlLmM6IHVzZSBuZXcgZGVmaW5lcyB0byByZXBsYWNlICNpZmRlZiBGUkVFQlNEIGJ5ICNpZiBIQVZFX1NUX3h4eC4KKworMjAwMS0wMy0wOCAgSm9obiBIdWdoZXMgPGpvaG5AQ2FsdmEuQ09NPgorCisgICogZGVmcy5oOiByZW5hbWUgd2ltcHkgZ2V0NjQgYXMgcG93ZXJmdWwgbmV3IExPTkdfTE9ORworICAqIGZpbGUuYzogdXNlIExPTkdfTE9ORworICAqIGlvLmM6IHVzZSBMT05HX0xPTkcKKyAgKiBtZW0uYyB1c2UgTE9OR19MT05HCisKKzIwMDEtMDMtMDggIEpvaG4gSHVnaGVzIDxqb2huQENhbHZhLkNPTT4KKworICAqIGFjY29uZmlnLmg6IG5ldyAjZGVmaW5lcyBIQVZFX0xPTkdfTE9OR19PRkZfVCBhbmQgSEFWRV9MT05HX0xPTkdfUkxJTV9ULgorICAqIGFjbG9jYWwubTQ6IHJvdXRpbmVzIHRvIGNoZWNrIGZvciBsb25nIGxvbmcgb2ZmX3QgYW5kIHJsaW1fdC4KKyAgKiBjb25maWd1cmUuaW46IGNoZWNrIGZvciBsb25nIGxvbmcgb2ZmX3QgYW5kIHJsaW1fdC4KKyAgKiBkZXNjLmM6IGlmIEhBVkVfTE9OR19MT05HX09GRl9UIHRyZWF0IGZsb2NrIGFzIGZsb2NrNjQKKyAgKiBmaWxlLmM6IGlmIEhBVkVfTE9OR19MT05HX09GRl9UIHRyZWF0IHN0YXQsbHN0YXQsZnN0YXQgYW5kIGxzZWVrIGFzIDY0CisgICAgYml0IHZlcnNpb25zLgorICAqIGlvLmM6IGlmIEhBVkVfTE9OR19MT05HX09GRl9UIHVzZSA2NCBiaXQgdmVyc2lvbnMgb2YgcHJlYWQgYW5kIHB3cml0ZS4KKyAgKiBtZW0uYzogaWYgSEFWRV9MT05HX0xPTkdfT0ZGX1QgdXNlIDY0IGJpdCB2ZXJzaW9uIG9mIG1tYXAKKyAgKiByZXNvdXJjZS5jOiBpZiBIQVZFX0xPTkdfTE9OR19PRkZfVCB1c2UgNjQgYml0IHZlcnNpb25zIG9mIGdldHJsaW1pdAorICAgIGFuZCBzZXRybGltaXQuCisgICogZnJlZWJzZC9zeXNjYWxscy5wcmludDogZG9uJ3QgZXhwbGljaXRseSB1c2UgNjQgYml0IHZlcnNpb25zIG9mIGNhbGxzLAorICAgIG5vdyBkb25lIGF1dG9tYXRpY2FseSBmb3IgdXMuCisgICogZnJlZWJzZC9pMzg2L3N5c2NhbGwuaDogZGl0dG8uCisgICogZnJlZWJzZC9pMzg2L3N5c2NhbGxlbnQuaCBkaXR0by4KKworMjAwMS0wMy0wNyAgSm9obiBIdWdoZXMgPGpvaG5AQ2FsdmEuQ09NPgorCisgICogZGVzYy5jOiBPbiBGcmVlQlNEIGZsb2NrIHN0cnVjdHVyZSB1c2VzIDY0IGJpdCBvZmZzZXRzLgorICAqIGZpbGUuYzogT24gRnJlZUJTRCB1c2Ugc3RhdDY0IGFuZCBwYWxzIGluc3RlYWQgb2Ygc3RhdC4KKyAgKiBmcmVlYnNkL3N5c2NhbGxzLnByaW50OiB1c2Ugc3RhdDY0LCBsc3RhdDY0IGFuZCBmc3RhdDY0LgorICAqIGZyZWVic2QvaTM4Ni9zeXNjYWxsLmg6IGRpdHRvLgorICAqIGZyZWVic2QvaTM4Ni9zeXNjYWxsZW50Lmg6IGRpdHRvLgorCisyMDAxLTAzLTA3ICBKb2huIEh1Z2hlcyA8am9obkBDYWx2YS5DT00+CisKKyAgKiBmaWxlLmM6IG1lcmdlIG1pc3NpbmcgcGFydCBvZiBIYXJhbGQgQsO2aG1lJ3Mgc29sYXJpcyBwYXRjaGVzLAorICAgIHdhcyBvbmx5IGRlY2xhcmluZyBzeXNfe3N0YXQ2NCxsc3RhdDY0LGZzdGF0NjR9IG9uIGxpbnV4IQorCisyMDAxLTAzLTA3ICBKb2huIEh1Z2hlcyA8am9obkBDYWx2YS5DT00+CisKKyAgKiBzdnI0L2R1bW15Lmg6IGZpeCBtdWx0aXBsZSBkZWZpbmUgd2FybmluZyBvbiBub24gTEZTNjQgc3lzdGVtcy4KKyAgKiBzdnI0L3N5c2NhbGxlbnQuaDogcHJlYWQvcHdyaXRlIGFyZSBURiBjYWxscy4KKworMjAwMS0wMy0wNyAgSm9obiBIdWdoZXMgPGpvaG5AQ2FsdmEuQ09NPgorCisgICogZGVmcy5oOiBhZGQgQUxJR042NCBtYWNybyB0byBjb3BlIHdpdGggRnJlZUJTRCdzIHN0cmFuZ2UgaW5zaXN0ZW5jZQorICAgIG9uIGFsaWdubWVudCBmb3Igb2ZmX3QgKDY0IGJpdCkgYXJndW1lbnRzLiAgQWxzbyBzaW1wbGlmeSBnZXQ2NCBzbworICAgIHdlIGRvbid0IG5lZWQgdG8ga25vdyBlbmRpYW5uZXNzIG9mIGxvbmcgbG9uZy4KKyAgKiBmaWxlLmM6IEZyZWVCU0Qgbm93IHVzZXMgNjQgYml0IHZlcnNpb25zIG9mIGxzZWVrLCB0cnVuY2F0ZSwKKyAgICBmdHJ1bmNhdGUsIGFsbG93cyByZWR1Y3Rpb24gaW4gbnVtdmJlciBvZiBob3JyaWQgI2lmJ3MKKyAgKiBpby5jOiBGcmVlQlNEIG5vdyB1c2VzIDY0IGJpdCB2ZXJzaW9ucyBvZiBwcmVhZCwgcHdyaXRlLgorICAqIG1lbS5jOiBGcmVlQlNEIG5vdyB1c2VzIDY0IGJpdCB2ZXJzaW9uIG9mIG1tYXAuCisgICogZnJlZWJzZC9zeXNjYWxscy5wcmludDogdXNlIDY0IGJpdCB2ZXJzaW9ucyBvZiB2YXJpb3VzIHN5c2NhbGxzLgorICAqIGZyZWVic2QvaTM4Ni9zeXNjYWxsLmg6IHVzZSA2NCBiaXQgdmVyc2lvbnMgb2YgdmFyaW91cyBzeXNjYWxscy4KKyAgKiBmcmVlYnNkL2kzODYvc3lzY2FsbGVudC5oOiB1c2UgNjQgYml0IHZlcnNpb25zIG9mIHZhcmlvdXMgc3lzY2FsbHMuCisKKzIwMDEtMDMtMDYgIEpvaG4gSHVnaGVzIDxqb2huQENhbHZhLkNPTT4KKworICAqIGZpbGUuYzogSW1wbGVtZW50IHRydW5jYXRlNjQgYW5kIGZ0cnVuY2F0ZTY0CisgICogc3ZyNC9kdW1teS5oOiBhZGQgZHVtbWllcyBmb3IgdHJ1bmNhdGU2NCBhbmQgZnRydW5jYXRlNjQgZm9yIG5vbgorICAgIExGUzY0IHN5c3RlbXMuCisgICogc3ZyNC9zeXNjYWxsLmg6IGFkZCBkZWNsYXJhdGlvbnMgZm9yIHRydW5jYXRlNjQgYW5kIGZ0cnVuY2F0ZTY0LgorCisyMDAxLTAzLTA2ICBKb2huIEh1Z2hlcyA8am9obkBDYWx2YS5DT00+CisKKyAgKiBmcmVlYnNkL3N5c2NhbGxzLnBsOiBmaXggZm9yIEZyZWVCU0QgNC4xIChuZXcgb3B0aW9uYWwgZmllbGQgaW4KKyAgICBzeXNjYWxsIG1hc3RlciBmaWxlKS4KKworMjAwMS0wMy0wNiAgSm9obiBIdWdoZXMgPGpvaG5AQ2FsdmEuQ09NPgorCisgICogc3lzY2FsbC5jOiBmaXggZm9yIEZyZWVCU0QgNC4xIChTWVNfc2VtY29uZmlnIGhhcyBkaXNhcHBlYXJlZCkuICBBbHNvCisgICAgemFwIGluY29ycmVjdCBzeXNjYWxsIHN1YmFyZyByYW5nZSBjaGVjay4KKworMjAwMS0wMy0wNiAgSm9obiBIdWdoZXMgPGpvaG5AQ2FsdmEuQ09NPgorCisgICogY29uZmlndXJlLmluLCBkZWZzLmgsIGRlc2MuYywgZmlsZS5jLCBpby5jLCBtZW0uYywgbmV0LmMsIHJlc291cmNlLmMsCisgICAgc2lnbmFsLmMsIHN5c2NhbGwuYywgc3ZyNC9kdW1teS5oLCBzdnI0L3N5c2NhbGwuaCwgc3ZyNC9zeXNjYWxsZW50Lmg6CisgICAgbWVyZ2UgSGFyYWxkIELDtmhtZSdzIHNvbGFyaXMgcGF0Y2hlcyAoX0xGUzY0X0xBUkdFRklMRSBhbmQga2VybmVsIGFpbworICAgIG1vc3RseSkuCisKKzIwMDEtMDMtMDYgIEpvaG4gSHVnaGVzIDxqb2huQENhbHZhLkNPTT4KKworICAqIGR1bW15Lmg6IGFkZCB1bmltcGxlbWVudGVkIFVXIHN5Y2FsbHMKKyAgKiBzeXNjYWxsLmg6IHdlIGNhbiBkbyBzZXR0aW1lb2ZkYXkgZm9yIFVXLCB3aG9wZWUhCisgICogc3lzY2FsbGVudC5oOiBmaXggdW5pbXBsZW1lbnRlZCBVVyBzeXNjYWxscworCisyMDAxLTAzLTA2ICBKb2huIEh1Z2hlcyA8am9obkBDYWx2YS5DT00+CisKKyAgKiBhY2xvY2FsLm00OiBsb29rIGZvciBwcl9zeXNjYWxsIGluIHByX2x3cCBpZiB3ZSBIQVZFX01QX1BST0NGUworICAqIGRlZnMuaDogYWRkIFBSX1NZU0NBTEwgdG8gYWxsb3cgdXNlIG9mIHByX2x3cC5wcl9zeXNjYWxsIGlmIGl0IGV4aXN0cy4KKyAgKiBzeXNjYWxsLmM6IHVzZSBQUl9TWVNDQUxMIGluc3RlYWQgb2YgcHJfc3lzY2FsbCwgZml4IHVwIFVuaXhXYXJlIGNvZGUKKyAgICBzbyBpdCBkb2Vzbid0IHRyeSB0byB1c2UgcHJfc3lzYXJnLgorCisyMDAxLTAzLTA2ICBKb2huIEh1Z2hlcyA8am9obkBDYWx2YS5DT00+CisKKyAgKiBhY2xvY2FsLm00OiBvbiBzeXN0ZW1zIG90aGVyIHRoYW4gbGludXggbG9vayBmb3Igc3RhdDY0IGluIHN5cy9zdGF0LmgKKyAgKiBmaWxlLmM6IGhhbmRsZSB4c3RhdCB2ZXJzaW9uIF9TVEFUNjRfVkVSLCBha2Egc3RhdDY0LgorCisyMDAxLTAzLTA2ICBKb2huIEh1Z2hlcyA8am9obkBDYWx2YS5DT00+CisKKyAgKiBuZXQuYzogbWFrZSBzdXJlIFNPTF8gb3B0aW9ucyBhcmUgZGVmaW5lZCBiZWZvcmUgdXNpbmcuCisgICogc2lnbmFsLmM6IGRlY2xhcmUgc2lnc2V0IHZhcmlhYmxlLCBvbmx5IHVzZWQgb24gbGludXgsIGluc2lkZSAjaWZkZWYuCisKKzIwMDEtMDItMjEgIFdpY2hlcnQgQWtrZXJtYW4gPHdha2tlcm1hQGRlYmlhbi5vcmc+CisKKyAgKiBuZXQuYzogZml4IGZvcm1hdCBmb3IgcHJpbnRpbmcgVW5peCBkb21haW4gc29ja2V0cworCisyMDAxLTAyLTE5ICBXaWNoZXJ0IEFra2VybWFuIDx3YWtrZXJtYUBkZWJpYW4ub3JnPgorCisgICogbGludXgvbWlwcy9zeXNjYWxsZW50Lmg6IHVzZSBuZXcgc3lzX3N5c21pcHMKKyAgKiBzeXN0ZW0uYzogYWRkIHN5c19zeXNtaXBzIGRlY29kaW5nCisKKzIwMDEtMDItMTYgIFdpY2hlcnQgQWtrZXJtYW4gPHdha2tlcm1hQGRlYmlhbi5vcmc+CisKKyAgKiBDUkVESVRTOiBhZGQgQXJrYWRpdXN6IE1pc2tpZXdpY3ogPG1pc2lla0BwbGQub3JnLnBsPiB3aG8KKyAgICBzdWJtaXR0ZWQgdGhlIElQNiBzY29wZSBJRCB1cGRhdGVzCisgICogYWNjb25maWcuaDogYWRkIEhBVkVfU0lONl9TQ09QRV9JRCBhbmQgSEFWRV9TSU42X1NDT1BFX0lEX0xJTlVYCisgICogYWNsb2NhbC5tNDogYWRkIEFDX1NJTjZfU0NPUEVfSUQgdG8gY2hlY2sgaWYgc2luNl9zY29wZV9pZCBpcworICAgIGF2YWlsYWJsZQorICAqIGNvbmZpZ3VyZS5pbjogY2hlY2sgZm9yIGlmX2luZGV4dG9uYW1lIGZ1bmN0aW9uIGFuZCBzaW42X3Njb3BlX2lkCisgICogbmV0LmM6IHRlYWNoIHByaW50c29jayBhYm91dCBJUDYgc2NvcGUgaWRzCisKKzIwMDEtMDItMTYgIFdpY2hlcnQgQWtrZXJtYW4gPHdha2tlcm1hQGRlYmlhbi5vcmc+CisKKyAgKiBjb25maWd1cmUuaW46IHRlc3QgZm9yIG5ldGluZXQvdGNwLmggYW5kIG5ldGluZXQvdWRwLmggZXhpc3RhbmNlCisgICogbmV0LmM6IGluY2x1ZGUgbmV0aW5ldC90Y3AuaCBhbmQgbmV0aW5ldC91ZHAuaCBpZiB0aGV5IGV4aXN0CisgICogTWFrZWZpbGUuaW46IHVzZSBAbWFuZGlyQCBhbmQgQGJpbmRpckAKKworMjAwMC0xMS0yNiAgV2ljaGVydCBBa2tlcm1hbiA8d2Fra2VybWFAZGViaWFuLm9yZz4KKworICAqICBuZXQuYzogZml4IGZvcm1hdGluZyBlcnJvciBpbiBzeXNfc2V0c29ja29wdAorICAqICBuZXQuYzogYWRkIGxpc3Qgb2Ygc29ja2V0bGF5ZXJzIGFuZCB1c2UgdGhhdCBmb3IgW2dzXWV0c29ja29wdAorCisyMDAwLTEwLTEyICBXaWNoZXJ0IEFra2VybWFuIDx3YWtrZXJtYUBkZWJpYW4ub3JnPgorCisgICogdGltZS5jOiB1c2Ugc3lzL3RpbWV4Lmggc28gdGhpbmdzIGNvbXBpbGUgd2l0aCAyLjIga2VybmVscworICAqIHN0cmVhbS5jOiB0ZXN0IGlmIE1TR18qIGNvbnN0YW50cyBhcmUgI2RlZmluZWQKKworMjAwMC0wOS0wMyAgV2ljaGVydCBBa2tlcm1hbiA8d2Fra2VybWFAZGViaWFuLm9yZz4KKworICAqIHByb2Nlc3MuYzogcGVyZm9ybSBicHQgdHJpY2sgZm9yIGNsb25lIGFzIHdlbGwgc28gd2UgY2FuIGdldCB0aGUKKyAgICBwaWQgb2YgdGhlIGNoaWxkIGJlZm9yZSBpdCBzdGFydHMgZG9pbmcgc29tZXRoaW5nCisgICogZmlsZS5jOiByZW5hbWUgZGlyZW50NjQgc3RydWN0IHRvIGtlcm5lbF9kaXJlbnQ2NCBzbyB0aGluZ3MgY29tcGlsZQorICAgIGFnYWluIHdpdGggbmV3ZXIgbGliY3MKKyAgKiB0ZXN0L2Nsb25lLmM6IGltcHJvdmUgb3VyIHRlc3RjYXNlIGEgYml0CisgICogTWVyZ2UgYW5vdGhlciBwYXRjaCBmcm9tIEfDpGVsIFJvdWFsbGFuZCB3aXRoIEZyZWVCU0QgdXBkYXRlcworCisyMDAwLTA5LTAxICBXaWNoZXJ0IEFra2VybWFuIDx3YWtrZXJtYUBkZWJpYW4ub3JnPgorCisgICogbG90cyBvZiBmaWxlczogbWVyZ2UgcGF0Y2ggZnJvbSBHYcOrbCBSb3VhbGxhbmQgdG8gYWRkCisgICAgc3VwcG9ydCBmb3IgRnJlZUJTRC4KKworMjAwMC0wOC0wOSAgV2ljaGVydCBBa2tlcm1hbiA8d2Fra2VybWFAZGViaWFuLm9yZz4KKworICAqIGZpbGUuYzogdXBkYXRlIHRvIHJlZmxlY3QgdGhhdCBzdF9pbm8gc3VkZGVubHkgYmVjYW1lIGEgbG9uZyBsb25nCisgICAgaW4gdGhlIGluIExpbnV4IDIuNC4wLXRlc3Q2CisKKzIwMDAtMDgtMDkgIFdpY2hlcnQgQWtrZXJtYW4gPHdha2tlcm1hQGRlYmlhbi5vcmc+CisKKyAgKiB0ZXN0L2Nsb25lLmM6IG1pbm9yIGZpeHVwCisgICogQW5vdGhlciBidW5jaCBvZiBwYXRjaGVzIGZyb20gSm9obiBIdWdoZXMgbWVyZ2VkOgorICAqIHNpZ25hbC5jOgorICAgICsgU1ZSNCBwcmludGNvbnRleHQoKTogc2lnc2V0X3QgIT0gc2lnc2V0X3QqCisgICAgKyBnZXRjb250ZXh0IHJldHVybnMgYSB2YWx1ZSwgc28gcHJpbnQgb24gZXhpdCBvZiBzeXNjYWxsCisgICAgKyBhZGQgVUNfRlAgdG8gdWNvbnRleHRfZmxhZ3MgZm9yIE9TIHdyaXRlcnMgdGhhdCBjYW4ndCBzcGVsbAorICAgICsgc3lzX3NpZ25hbCgpOiBzcGVjaWFsIGNhc2UgU0lHX3tFUlIsREZMLElHTn0KKyAgICArIGRlY29kZV9zdWJjYWxsKCk6IG9ubHkgZG8gc3ViY2FsbCByYW5nZSBjaGVja2luZyB3aGVuIG5lZWRlZAorICAqIGJ1bmNoIG9mIFVuaXhXYXJlIHVwZGF0ZXMKKyAgKiBhY2xvY2FsLm00LCBhY2NvbmZpZy5oLCBjb25maWd1cmUuaW46IGFkZCB0ZXN0IGZvciBsb25nIGxvbmcgdHlwZQorCisyMDAwLTA3LTA0ICBXaWNoZXJ0IEFra2VybWFuIDx3YWtrZXJtYUBkZWJpYW4ub3JnPgorCisgICogbmV0LmM6IGFkZCBTT0xfUEFDS0VUIGFuZCBTT0xfUkFXIHNvY2tldCBvcHRpb25zLCB1cGRhdGUKKyAgICBTT0xfSVAgYW5kIFNPTF9UQ1AKKworMjAwMC0wNi0yMyAgV2ljaGVydCBBa2tlcm1hbiA8d2Fra2VybWFAZGViaWFuLm9yZz4KKworICAqIHN0cmFjZS5jOiBjbG9zZSBvdXRmIGJlZm9yZSB3ZSBleGVjIGEgY2hpbGQgcHJvY2VzcworCisyMDAwLTA2LTA5ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KKworICAqIGNvbmZpZ3VyZS5pbjogRG9uJ3QgbGluayBhZ2FpbnN0IGxpYm5zbCBvbiBMaW51eCwgaXQncyB1bm5lY2Vzc2FyeS4KKyAgKiBkZWZzLmggKHN0cnVjdCB0Y2IpOiBNYWtlIGF1eHN0ciBtZW1iZXIgY29uc3QuCisgICogZmlsZS5jIChmc21hZ2ljKTogQW5kIG1hbnkgbW9yZSBtYWdpYyBudW1iZXJzLgorICAqIHV0aWwuYzogRG9uJ3QgaW5jbHVkZSA8bGludXgvcHRyYWNlLmg+IGZvciBnbGliYyAyLjEgYW5kIHVwLgorCisyMDAwLTA0LTI2ICBXaWNoZXJ0IEFra2VybWFuIDx3YWtrZXJtYUBkZWJpYW4ub3JnPgorCisgICogZGVmcy5oOiBiYWxhbmNlICNpZi8jZW5kaWYgYWdhaW4KKyAgKiBzeXN0ZW0uYzogZml4IHJldHVybiBzdGF0ZW1lbnRzIGluIHN5c19jYXBnZXQoKQorICAqIE1lcmdlIHVwZGF0ZXMgZnJvbSBUb3BpIE1pZXR0aW5lbiA8VG9waS5NaWV0dGluZW5AbmljLmZpPjoKKyAgICArIGZpbGUuYzogYWRkIEZfW1NHXUVUU0lHIHRvIGZjbnRsIGZsYWdzCisgICAgKyBzdHJhY2UuYzogZG9uJ3Qgc2V0cmVbZ3VdaWQgaWYgbm90IG5lZWRlZAorICAgICsgc3lzdGVtLmM6IGhhbmRsZSBzeXNfcmVib290IGZvciBMaW51eAorICAgICsgdGVybS5jOiBhZGQgYmF1ZHJhdGUgY29uc3RhbnRzIHVwIHRvIEI0MDAwMDAwCisgICAgKyBsaW51eC8qKi9zeXNjYWxsZW50Lmg6IG5vdGUgdGhhdCBtdW5sb2NrYWxsIGhhcyBubyBhcmd1bWVudHMKKworMjAwMC0wNC0yNSAgRGF2aWQgTW9zYmVyZ2VyICA8ZGF2aWRtQGhwbC5ocC5jb20+CisKKyAgKiBDUkVESVRTOiBmaXggZW1haWwgYWRkcmVzcworICAqIHByb2Nlc3MuYzogaGFuZGxlIFBSX1tHU11FVF9VTkFMSUdOIGFuZCBQUl9bR1NdRVRfS0VFUENBUFMKKyAgKiBzaWduYWwuYzogaG9ub3VyIG9mZnNldCBvZiBzaWdjb25maWcgaW4gc2lnZnJhbWUgc3RydWN0dXJlIGZvcgorICAgIExpbnV4L2lhNjQKKyAgKiBsaW51eC9pYTY0L3N5c2NhbGxlbnQuaDogQWRkIHBlcmZtb25jdGwsIHBpdm90cm9vdCwgbWluY29yZSwgYW5kCisgICAgbWFkdmlzZSBzeXNjYWxscy4KKyAgKiBzeXNjYWxsLmMgKHN5c2NhbGxfZW50ZXIpOiBXaXRoIEtldmluJ3MgbGF0ZXN0IHB0cmFjZSBwYXRjaGVzLAorICAgIEFSX0JTUCBwb2ludHMgdG8gdGhlIF9lbmRfIG9mIHRoZSBhY3RpdmUgcmVnaXN0ZXIgZnJhbWUsIHNvIHdlIG5lZWQKKyAgICB0byBhZGp1c3QgYnNwIGJ5IG1vdmluZyBpdCBiYWNrIGJ5IHRoZSBzaXplIG9mIHRoZSBhY3RpdmUgZnJhbWUKKyAgICBiZWZvcmUgdXNpbmcgaXQuCisKKzIwMDAtMDQtMjQgIFdpY2hlcnQgQWtrZXJtYW4gPHdha2tlcm1hQGRlYmlhbi5vcmc+CisKKyAgKiBwcm9jZXNzLmM6IGFkZCBzcGFyYyBzdXBwb3J0IHRvIGNoYW5nZV9zeXNjYWxsCisKKzIwMDAtMDQtMjIgIFdpY2hlcnQgQWtrZXJtYW4gPHdha2tlcm1hQGRlYmlhbi5vcmc+CisKKyAgKiBsaW51eC9taXBzL3N5c2NhbGxlbnQuaDogZml4IHNvbWUgdHlwb3MKKworMjAwMC0wNC0xNCAgV2ljaGVydCBBa2tlcm1hbiA8d2Fra2VybWFAZGViaWFuLm9yZz4KKworICAqIGxpbnV4L21pcHMvc3lzY2FsbGVudC5oOiBhZGRlZCBuYW1lcyBmb3IgU1ZSNCwgU1lTViwgQlNENC4zIGFuZCBQT1NJWAorICAgIHN5c2NhbGxzCisKKzIwMDAtMDQtMTMgIFdpY2hlcnQgQWtrZXJtYW4gPHdha2tlcm1hQGRlYmlhbi5vcmc+CisKKyAgKiBkZWZzLmg6IExpbnV4L01JUFMgdXNlcyBzeXNjYWxscyB1cCB0byA+NGssIHNvIHNldCBNQVhfUVVBTFMgdG8KKyAgICA0OTk5CisKKzIwMDAtMDQtMDkgIFdpY2hlcnQgQWtrZXJtYW4gPHdha2tlcm1hQGRlYmlhbi5vcmc+CisKKyAgKiBSRUFETUUtbGludXg6IHVwZGF0ZWQgdG8gbm90ZSB0aGF0IHN0cmFjZSBtaWdodCBub3QgY29tcGlsZQorICAgIHdpdGggZGV2ZWxvcG1lbnQga2VybmVscworICAqIGJqbS5jOiBzeXNfcXVlcnlfbW9kdWxlOiBjaGVjayBpZiBtYWxsb2Mgc3VjY2VlZHMKKyAgKiBzeXN0ZW0uYzogc3lzX2NhcFtnc11ldCgpOiBjaGVjayBpZiBtYWxsb2Mgc3VjY2VlZHMsIG9ubHkgbWFsbG9jIG9uY2UKKyAgKiBsaW51eC9zeXNjYWxsZW50Lmg6IHVwZGF0ZWQgZm9yIDIuMy45OXByZTMKKyAgKiBsaW51eC9hbHBoYS9zeXNjYWxsZW50Lmg6IHVwZGF0ZWQgZm9yIDIuMy45OXByZTMsIGFkZCBhbGwgb3NmIHN5c2NhbGxzCisgICAgZXZlbiB0aG91Z2ggTGludXggZG9lc24ndCBpbXBsZW1lbnQgdGhlbQorICAqIHN5c2NhbGwuYzogYWRkIGdsb2JhbCB2YXJpYWJsZXMgZm9yIE1JUFMgcmVnaXN0ZXJzIGFzIHdlbGwKKyAgKiBzeXNjYWxsLmM6IG1vdmUgZ2xvYmFsIHZhcmlhYmxlcyB0byBiZWZvcmUgZ2V0X3Njbm8gc2luY2UgdGhhdCB1c2VzIHRoZW0KKyAgKiB1dGlsLmM6IG9vcHMsIG1pc3NwZWxsZWQgZGVmaW5lZAorICAqIHByb2Nlc3MuYzogZml4IHB0cmFjZSBjYWxscyBpbiBjaGFuZ2Vfc3lzY2FsbAorICAqIG1lbS5jOiBkZWNvZGUgc3lzX21hZHZpc2UKKyAgKiBNZXJnZSBwYXRjaCBmcm9tIFRvcGkgTWlldHRpbmVuIDxUb3BpLk1pZXR0aW5lbkBuaWMuZmk+CisgICAgKyBhZGQgc3VwcG9ydCBmb3IgcXVvdGFjdGwsIGZkYXRhc3luYywgbWxvY2ssIG1sb2NrYWxsLCBtdW5sb2NrYWxsICYgYWNjdAorICAgICsgc21hbGwgZml4IGZvciBSTElNSVRfKiBhbmQgUlVTQUdFX0JPVEgKKyAgICArIGVuaGFjZSBzdXBwb3J0IGZvciBjYXBnZXQgYW5kIGNhcHNldAorCisyMDAwLTAyLTE5IFdpY2hlcnQgQWtrZXJtYW4gPHdha2tlcm1hQGRlYmlhbi5vcmc+CisKKyAgKiB0ZXN0L3Zmb3JrLmM6IG5ldyBmaWxlIHRvIHRlc3QgdmZvcmsgdHJhY2VzCisgICogdGVzdC8uY3ZzaWdub3JlOiBuZXcgZmlsZQorICAqIGRlZnMuaDogVXAgbWF4aW11bSBudW1iZXIgb2YgdHJhY2VkIHByb2Nlc3NlZCB0byA2NAorICAqIHN0cmFjZS5jOiBEaXNhYmxlIHNvbWUgZGVidWdnaW5nIGNvZGUgZnJvbSBkYXZpZG0KKyAgKiBpbXBsZW1lbnQgc2V0YXJnIGZvciBtb3JlIGFyY2hpdGVjdHVyZXMKKyAgKiBpbXBsZW1lbnQgY2hhbmdlX3N5c2NhbGwKKworMTk5OS0xMi0yNyAgTW9ydGVuIFdlbGluZGVyICA8dGVycmFAZGlrdS5kaz4KKworCSogc3lzY2FsbC5jIChsb29rdXBfc2lnbmFsLCBsb29rdXBfZGVzYyk6IGlzZGlnaXQgcmVxdWlyZXMgYW4KKwlfdW5zaWduZWRfIGNoYXIgcGFyYW1ldGVyLgorCisyMDAwLTAyLTE0IFdpY2hlcnQgQWtrZXJtYW4gPHdha2tlcm1hQGRlYmlhbi5vcmc+CisKKyAgKiBTMzkwIHVwZGF0ZXMKKworMjAwMC0wMi0wMyBXaWNoZXJ0IEFra2VybWFuIDx3YWtrZXJtYUBkZWJpYW4ub3JnPgorCisgICogTWVyZ2UgTGludXgvaWE2NCBwYXRjaGVzCisKKzIwMDAtMDEtMDIgUGF2ZWwgTWFjaGVrCSAgICAgPHBhdmVsQHVjdy5jej4KKworICAqIHByb2JlIGlmIHN5cy9wb2xsLmggZXhpc3RzIGluIGNvbmZpZ3VyZSArIG1pbm9yIGNsZWFudXBzCisKKyAgKiBzeXNjYWxsLmM6IHNwbGl0IHRyYWNlX3N5c2NhbGwgaW50byBmZXcgcGllY2VzIHRvIG1ha2UgY29kZSByZWFkYWJsZQorCisyMDAwLTAxLTIxIFdpY2hlcnQgQWtrZXJtYW4gIDx3YWtrZXJtYUBkZWJpYW4ub3JnPgorCisgICogUmVsZWFzZSB2ZXJzaW9uIDQuMiB0byBnZXQgdGhlIGN1cnJlbnQgdXBkYXRlcyBvdXQgYW5kIHNvCisgICAgd2UgY2FuIGNvbmNlbnRyYXRlIGluIGZpbmlzaGluZyB0aGUgY2xvbmUgc3VwcG9ydC4KKworMjAwMC0wMS0xMSBXaWNoZXJ0IEFra2VybWFuICA8d2Fra2VybWFAZGViaWFuLm9yZz4KKworICAqIEFkZCAxOTAwIHRvIHRtX3llYXIgaW4gc3ByaW50dGltZQorCisxOTk5LTEyLTI0ICBXaWNoZXJ0IEFra2VybWFuICA8d2Fra2VybWFAZGViaWFuLm9yZz4KKworICogZmlsZS5jOiBwcm90ZWN0IHByaW50c3RhdDY0IHdpdGggU1RBVDY0IGluc3RlYWQgb2YgbGludXggc28gd2UgY2FuCisgICBjb21waWxlIG9uIExpbnV4IGFyY2hpdGVjdHVyZXMgdGhhdCBkb24ndCBoYXZlIGl0CisgKiB1dGlsLmM6IGZpeCBMT09QIGZvciBBUk0KKworRnJpIERlYyAyNCAxODowNTowMCBFU1QgMTk5OQorCisxOTk5LTEyLTIzICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAY3lnbnVzLmNvbT4KKworICogZmlsZS5jOiBVc2UgdWdseSBsaWJjX3N0YXQgdHJpY2sgYWxzbyBmb3Igc3RhdDY0LgorICAgSW1wbGVtZW50IHN5c19zdGF0NjQsIHN5c19mc3RhdDY0LCBzeXNfbHN0YXQ2NCwgYW5kIHByaW50c3RhdDY0LgorICogcHJvY2Vzcy5jIChpbnRlcm5hbF9jbG9uZSk6IEZpeCBhIGZldyB0eXBvcyBhbmQgYWRkIGRlZmluaXRpb25zIHRvIG1ha2UKKyAgIGl0IGF0IGxlYXN0IGNvbXBpbGUuCisgKiBsaW51eC9zeXNjYWxsLmg6IERlY2xhcmUgc3lzX3N0YXQ2NCwgc3lzX2xzdGF0NjQsIGFuZCBzeXNfZnN0YXQ2NC4KKyAqIGxpbnV4L3N5c2NhbGxlbnQuaDogRGVmaW5lIHRhYmxlIGVudHJpZXMgZm9yIHN5c19zdGF0NjQsIHN5c19sc3RhdDY0LAorICAgYW5kIHN5c19mc3RhdDY0LgorICogYWNsb2NhbC5tNDogRGVmaW5lIEFDX1NUQVQ2NC4KKyAqIGFjY29uZmlnLmg6IERlZmluZSBIQVZFX1NUQVQ2NC4KKyAqIGNvbmZpZ3VyZS5pbjogQWRkIEFDX1NUQVQ2NC4KKworVGh1IERlYyAyMyAxNTowMTozNyBDRVQgMTk5OSBXaWNoZXJ0IEFra2VybWFuIDx3YWtrZXJtYUBkZWJpYW4ub3JnPgorCisgICogTWVyZ2UgcGF0Y2ggZnJvbSBmdHA6Ly9vc3Muc29mdHdhcmUuaWJtLmNvbS9saW51eDM5MC8gdG8gYWRkCisgICAgc3VwcG9ydCBmb3IgTGludXggb24gdGhlIElCTSBTLzM5MCBhcmNoaXRlY3R1cmUKKyAgKiBwcm9jZXNzLmM6IGFkZCBpbnRlcm5hbF9jbG9uZSgpLCBjdXJyZW50bHkgb25seSBzaG93cyB0aGUgb3B0aW9ucworICAqIHN5c2NhbGwuYzogdXNlIGludGVybmFsX2Nsb25lIHRvIGhhbmRsZSBTWVNfY2xvbmUKKworTW9uIERlYyAyMCAwMDoyNzo1MCBDRVQgMTk5OSBXaWNoZXJ0IEFra2VybWFuIDx3YWtrZXJtYUBkZWJpYW4ub3JnPgorCisgICogUmV3cml0ZSBtbWFwLWhhbmRsaW5nIHRvIHN1cHBvcnQgbW1hcDIgb24gTGludXgKKworVHVlIERlYyAxNCAxMTozNToxNiBDRVQgMTk5OSBXaWNoZXJ0IEFra2VybWFuIDx3YWtrZXJtYUBkZWJpYW4ub3JnPgorCisgICogTm90ZSB0aGF0IExpbnV4IGNhbiBoYW5kbGUgc3lzX3NlbW9wKCkgYXMgd2VsbAorCitUdWUgTm92IDMwIDExOjA1OjI2IENFVCAxOTk5IFdpY2hlcnQgQWtrZXJtYW4gPHdha2tlcm1hQGRlYmlhbi5vcmc+CisKKyAgKiBJbmNsdWRlIGxpbnV4L2luNi5oIGZvciBnbGliYzIuMCBhbmQgb2xkZXIKKworTW9uIE5vdiAyOSAxNjozMzowNCBDRVQgMTk5OSBXaWNoZXJ0IEFra2VybWFuIDx3YWtrZXJtYUBkZWJpYW4ub3JnPgorCisgICogTWVyZ2UgcGF0Y2hlcyBmcm9tIEpvaG4gSHVnaGVzIHRvIG1ha2UgY29uZmlndXJlIHN1cHBvcnQgVW5peFdhcmUKKworU2F0IE5vdiAyNyAyMTozODoxNyBDRVQgMTk5OSBXaWNoZXJ0IEFra2VybWFuIDx3YWtrZXJtYUBkZWJpYW4ub3JnPgorCisgICogRW5oYW5jZSBzeXNfcXVlcnlfbW9kdWxlCisKK0ZyaSBOb3YgMjYgMTA6NTE6NTUgQ0VUIDE5OTkgV2ljaGVydCBBa2tlcm1hbiA8d2Fra2VybWFAZGViaWFuLm9yZz4KKworICAqIFBhdGNoZXMgZnJvbSBKb2huIEh1Z2hlczoKKyAgICArIGNvc21lY3RpYyBmaXggaW4gc3lzX2dldHBtc2cKKyAgICArIGFsbG93IG5ldC5jIHRvIGNvbXBpbGUgb24gc3lzdGVtcyB3aXRob3V0IEFGX0lORVQ2CisgICAgKyBPbmx5IHVzZSBsb25nX3RvX3NpZ3NldCBvbiBMaW51eCBzeXN0ZW1zCisgICAgKyBVbml4V2FyZSB0cmVhdHMgc2lnbWFza190IGFuZCBzaWdtYXNrX3QqIGFzIHRoZSBzYW1lIHRoaW5nCisgICAgKyBBZGQgcG9sbGhhY2sKKyAgICArIFBhcnNlIG1vdW50IGFyZ3VtZW50cyBmb3IgVW5peFdhcmUKKyAgICArIEFDTCBmaXhlcyBmb3IgVW5peFdhcmUKKworRnJpIE5vdiAyNiAwMToyODowOSBDRVQgMTk5OSBXaWNoZXJ0IEFra2VybWFuIDx3YWtrZXJtYUBkZWJpYW4ub3JnPgorCisgICogUmVsZWFzZSA0LjEgdG8gZ2V0IGFsbCB0aGUgY2hhbmdlcyBtYWRlIG91dCB0aGVyZQorCitUaHUgTm92IDE4IDE4OjA0OjA0IENFVCAxOTk5IFdpY2hlcnQgQWtrZXJtYW4gPHdha2tlcm1hQGRlYmlhbi5vcmc+CisKKyAgKiBNZXJnZSBzdHJhY2Vmb3JrIGZyb20gQWxleGV5IEt1em5ldHNvdiA8a3V6bmV0QG1zMi5pbnIuYWMucnU+CisgICAgKyBTb2NrZXQgY2FsbHMgcGFyc2VkIGJldHRlcgorCSsgYnVuY2ggb2YgYWxwaGEgT1NGIHN5c2NhbGxzIGFkZGVkCisJKyBGaXggYWxwaGEgMzIvNjQgYml0IGlzc3VlcworCitNb24gTm92ICAxIDIwOjUyOjA4IENFVCAxOTk5IFdpY2hlcnQgQWtrZXJtYW4gPHdha2tlcm1hQGRlYmlhbi5vcmc+CisKKyAgKiBNb3ZlIExpbnV4IGtlcm5lbG1vZHVsZS1mdW5jdGlvbnMgZnJvbSBzeXN0ZW0uYyB0byBiam0uYyBhbmQKKyAgICByZW1vdmUgZHVwbGljYXRlIGZvciBzeXNfY3JlYXRlX21vZHVsZQorICAqIExpbnV4IE1JUFMgdXBkYXRlczoKKyAgICArIFBsYXkgd2l0aCAjaWZkZWYncyBpbiBuZXQuYyB0byBnZXQgSVB2NiByaWdodAorICAgICsgVXNlIHByaW50YXJncyBmb3Igdm04Ni1zeXNjYWxsCisKK1N1biBPY3QgMzEgMjI6MDM6MDAgQ0VUIDE5OTkgV2ljaGVydCBBa2tlcm1hbiA8d2Fra2VybWFAZGViaWFuLm9yZz4KKworICAqIE1lcmdlIExpbnV4IG1pcHMgcGF0Y2ggZnJvbSBGbG9yaWFuIExvaG9mZiA8ZmxvQHJmYzgyMi5vcmc+CisKK01vbiBPY3QgMTEgMDA6MzY6MjUgQ0VTVCAxOTk5IFdpY2hlcnQgQWtrZXJtYW4gPHdha2tlcm1hQGRlYmlhbi5vcmc+CisKKyAgKiBNZXJnZSBwYXRjaCBmcm9tIEtlaXRoIE93ZW5zIDxrYW9zQG9jcy5jb20uYXU+IHRvIHN5c19xdWVyeV9tb2R1bGUKKyAgICBhbmQgc3lzX2RlbGV0ZV9tb2R1bGUgY29ycmVjdGx5CisKK1dlZCBPY3QgIDYgMDI6MDA6MzMgQ0VTVCAxOTk5IFdpY2hlcnQgQWtrZXJtYW4gPHdha2tlcm1hQGRlYmlhbi5vcmc+CisKKyAgKiBVcGRhdGUgY3ZzYnVpbGQgdG8gZ2l2ZSBhIGJldHRlciBlcnJvciBpZiBhdXRvY29uZiBpc24ndCBpbnN0YWxsZWQKKyAgKiBBZGQgdGVzdCBmb3IgbGludXgvcHRyYWNlLmggdG8gY29uZmlndXJlCisgICogU2luY2Ugd2UgZGVmaW5lIEdOVV9TT1VSQ0UgaW4gdGhlIE1ha2VmaWxlIHdlIGRvbid0IG5lZWQgdG8gZGVmaW5lCisgICAgVVNFX0dOVSBpbiBmaWxlLmMgYW55bW9yZQorCitGcmkgU2VwIDEwIDA0OjM1OjE2IENFU1QgMTk5OSBXaWNoZXJ0IEFra2VybWFuIDx3YWtrZXJtYUBkZWJpYW4ub3JnPgorCisgICogI2RlZmluZSBVU0VfR05VIGJlZm9yZSBpbmNsdWRpbmcgZmlsZS5jIHNvIHdlIGdldCBzb21lIGV4dHJhIE9fKiBmbGFncworCitUdWUgQXVnIDMxIDE2OjI3OjIxIENFU1QgMTk5OSBXaWNoZXJ0IEFra2VybWFuIDx3YWtrZXJtYUBkZWJpYW4ub3JnPgorCisgICogQWRkIG1pc3NpbmcgfSBpbiBJUHY2IG91dHB1dAorCitUdWUgQXVnIDMxIDAxOjIzOjA4IENFU1QgMTk5OSAgV2ljaGVydCBBa2tlcm1hbiA8d2Fra2VybWFAZGViaWFuLm9yZz4KKworICAqIFVwZGF0ZSBjb3B5cmlnaHQgZm9yIHN0cmFjZS1ncmFwaCB0byBCU0QgdG8gYmUgY29uc2lzdGVudCB3aXRoCisgICAgdGhlIHJlc3Qgb2Ygc3RyYWNlCisKK01vbiBBdWcgMzAgMDA6NTM6NTcgQ0VTVCAxOTk5IFdpY2hlcnQgQWtrZXJtYW4gPHdha2tlcm1hQGRlYmlhbi5vcmc+CisKKyAgKiBNZXJnZSBwYXRjaCBmcm9tIERhbmllbCBKYWNvYm93aXR6OiBLRVJOX0pBVkFfKiBhbmQgS0VSTl9TRUNVUkVMVkwgYXJlbid0CisgICAgZGVmaW5lZCBmb3IgYWxsIGtlcm5lbHZlcnNpb25zCisgICogQWRkIHN0cmFjZS1ncmFwaCwgd3JpdHRlbiBieSBSaWNoYXJkIEJyYWFrbWFuIDxkYXJrQHhzNGFsbC5ubD4KKworVGh1IEF1ZyAxOSAxMzoxMDoxNSBDRVNUIDE5OTkgSmFrdWIgSmVsaW5layA8ampAdWx0cmEubGludXguY3o+CisKKyAgKiBsaW51eC9zcGFyYy9zeXNjYWxsLmg6IERlY2xhcmUgY3JlYXRlX21vZHVsZS9pbml0X21vZHVsZS4KKyAgKiBjb25maWd1cmUuaW46IEFsbG93IGNvbXBpbGF0aW9uIGluIGEgZGlmZmVyZW50IGRpcmVjdG9yeQorICAgIHRoYW4gdGhlIHNvdXJjZSBvbmUuCisgICogc2lnbmFsLmM6IFVzZSBhc20vcmVnLmggYW5kIHN0cnVjdCByZWdzIGluc3RlYWQgb2YgcHRfcmVncworICAgIHNvIHRoYXQgd2UgZG9uJ3QgZGVwZW5kIG9uIGFzbS9wdHJhY2UuaCB3aGljaCBjbGFzaGVzIHdpdGgKKyAgICBnbGliYyBzeXMvcHRyYWNlLmguCisgICogdXRpbC5jOiBMaWtld2lzZS4KKyAgKiBzeXNjYWxsLmM6IExpa2V3aXNlLgorCitXZWQgQXVnICA0IDE4OjAxOjUwIENFU1QgMTk5OSBXaWNoZXJ0IEFra2VybWFuIDx3YWtrZXJtYUBkZWJpYW4ub3JnPgorCisgICogU3lzY2FsbCA5NCBvbiBMaW51eCBhbHBoYSBpcyBzeXNfcG9sbAorCitTdW4gSnVsIDI1IDE0OjM4OjMzIENFU1QgMTk5OSBXaWNoZXJ0IEFra2VybWFuIDx3YWtrZXJtYUBkZWJpYW4ub3JnPgorCisgICogTWVyZ2UgaW4gVW5peFdhcmUgcGF0Y2hlcyBmcm9tIEpvaG4gSHVnaGVzIDxqb2huQENhbHZhLkNPTT4KKworVGh1IEp1bCAxNSAyMzowMDozMiBDRVNUIDE5OTkgV2ljaGVydCBBa2tlcm1hbiA8d2Fra2VybWFAZGViaWFuLm9yZz4KKworICAqIE1lcmdlIHBhdGNoIGZyb20gTWFjaWVqIFcuIFJvenlja2kgPG1hY3JvQGRzMi5wZy5nZGEucGw+OgorICAgICsgQ29ycmVjdGx5IGltcGxlbWVudCBmaXggc3lzX2NyZWF0ZW1vZHVsZSAoTGludXgpCisgICAgKyBBZGQgbGltaXRlZCBoYW5kbGlnIG9mIHN5c19pbml0bW9kdWxlIChMaW51eCkKKworVHVlIEp1bCAxMyAxNzowNzo1MCBDRVNUIDE5OTkgV2ljaGVydCBBa2tlcm1hbiA8d2Fra2VybWFAZGViaWFuLm9yZz4KKworICAqIEFkZCBjb25maWd1cmUtdGVzdCBmb3Igc3lzL3JlZy5oIGFuZCB1c2UgdGhhdAorICAqIFVzZSBzeXMvcmVnLmggaW5zdGVhZCBvZiBhc20vcHRyYWNlLmgKKworU2F0IEp1bCAxMCAwMTo0NjoxMCBDRVNUIDE5OTkgV2ljaGVydCBBa2tlcm1hbiA8d2Fra2VybWFAZGViaWFuLm9yZz4KKworICAqIFJlbW92ZSBoYWNrIGluIHNpZ25hbC5jIGZvciBhcm0gYXJjaGl0ZWN0dXJlCisgICogQWRkIGhhY2sgc28gd2UgY29tcGlsZSBjb3JyZWN0bHkgb24gcG93ZXJwYworCitGcmkgSnVsICA5IDAyOjI4OjE2IENFU1QgMTk5OSBXaWNoZXJ0IEFra2VybWFuIDx3YWtrZXJtYUBkZWJpYW4ub3JnPgorCisgICogQWRkIGEgY29ycmVjdGVkIHBhdGNoIGZyb20gRGFuaWVsIEphY29ib3dpdHoKKworVGh1IEp1bCAgOCAxNjowMDowNCBDRVNUIDE5OTkgV2ljaGVydCBBa2tlcm1hbiA8d2Fra2VybWFAZGViaWFuLm9yZz4KKworICAqIE1lcmdlIHBhdGNoIGZyb20gRGFuaWVsIEphY29ib3dpdHogdG8gYWxsb3cgdXMgdG8gdXNlIHRoZSBrZXJuZWwgdHlwZXMKKyAgICBmb3IgdGhlIHN0YXQgc3RydWN0dXJlCisKK1RodSBKdW4gMjQgMTU6NTQ6MTggQ0VTVCAxOTk5IFdpY2hlcnQgQWtrZXJtYW4gPHdha2tlcm1hQGRlYmlhbi5vcmc+CisKKyAgKiBGaXggdGVzdCBmb3Igc3lzL3JlZyBpbmNsdWRlCisKK1R1ZSBKdW4gMjIgMTc6MjY6MzMgQ0VTVCAxOTk5IFdpY2hlcnQgQWtrZXJtYW4gPHdha2tlcm1hQGRlYmlhbi5vcmc+CisKKyAgKiBGaXhlZCBzb21lIExpbnV4L3Bvd2VycGMgc2lsbHluZXNzLCB0aGFua3MgdG8gRGFuaWVsIEphY29ib3dpdHoKKyAgKiBGaXhlZCBzb21lIFN1bk9TIGNvbXBpbGUgcHJvYmxlbXMgZWFybGllciB0aGF0IEkgZm9yZ290IHRvIGluY2x1ZGUKKyAgICBoZXJlCisKK01vbiBKdW4gMTQgMTI6NDQ6MjUgQ0VTVCAxOTk5CisKKyAgKiBBdm9pZCBsZWFraW50IGZkIGludG8gY2hpbGQgd2hlbiBmb3JraW5nLCBwYXRjaCBmcm9tCisgICAgSm9obiBIdWdoZXMgPGpvaG5AQ2FsdmEuQ09NPgorCitGcmkgSnVuIDExIDE0OjU0OjQ3IENFU1QgMTk5OQorCisgICogQXBwbGllZCBJUklYNjQgcGF0Y2ggZnJvbSBUaG9tYXMgRS4gRGlja2V5IDxkaWNrZXlAY2xhcmsubmV0PgorICAqIEFwcGxpZWQgU29sYXJpcyBhbmQgbWFucGFnZSB1cGRhdGVzIGZyb20gR3V5IEhhcnJpcyA8Z3V5QG5ldGFwcC5jb20+CisKK1dlZCBKdW4gIDkgMTQ6NDg6NDkgQ0VTVCAxOTk5IFdpY2hlcnQgQWtrZXJtYW4gPHdha2tlcm1hQGRlYmlhbi5vcmc+CisKKyAgKiBCcm91Z2h0IHN5c2NhbGwgbGlzdCBmb3IgYWxwaGEgdXAgdG8gZGF0ZQorCitXZWQgSnVuICAyIDE4OjMwOjEyIENFU1QgMTk5OSBKYWt1YiBKZWxpbmVrIDxqakB1bHRyYS5saW51eC5jej4KKworICAqIHN5c3RlbS5jOiBzeXNfdW1vdW50MiBzeXNjYWxsIHN1cHBvcnQuCisgICogbGludXgvc3BhcmMvZXJybm9lbnQuaDogVXBkYXRlIHNwYXJjLWxpbnV4IGVycm5vcy4KKyAgKiBsaW51eC9zcGFyYy9zeXNjYWxsLmg6IFVwZGF0ZSB1c2VkIHNwYXJjLWxpbnV4IHN5c2NhbGxzLgorICAqIGxpbnV4L3NwYXJjL3N5c2NhbGxlbnQuaDogTWF0Y2ggMi4yLjkgc3lzdGVtIGNhbGxzLgorICAqIGZpbGUuYzogc3BhcmMtbGludXggYXNtL3N0YXQuaCB1c2VzIGRldl90IGV0Yy4gdHlwZXMsCisgICAgc28gaXQgbmVlZHMgc3RyYWNlJ3Mgb3duIGNvcHkgb2YgdGhlIHN0YXQgc3RydWN0dXJlLgorICAqIHV0aWwuYzogTWFrZSBpdCBjb21waWxlIG9uIHNwYXJjLWxpbnV4LgorICAqIHN0cmFjZS5jOiBGaXggc3RyYWNlIC1mIGFuZCAtZmYgb3BlcmF0aW9uIG9uIHNwYXJjLWxpbnV4LgorICAqIHNpZ25hbC5jOiBydF9zaWdhY3Rpb24gaGFzIGRpZmZlcmVudCBhcmd1bWVudHMgb24gc3BhcmMqLWxpbnV4CisgICAgYW5kIGFscGhhLWxpbnV4LgorICAqIHN5c2NhbGwuYzogUmVjb2duaXplIHNwYXJjNjQtbGludXggYmluYXJpZXMuCisKK0ZyaSBNYXkgMjggMjE6MDk6MDAgUFNUIFVscmljaCBEcmVwcGVyIDxkcmVwcGVyQGN5Z251cy5jb20+CisKKyAgKiBjb25maWd1cmUuaW46IEZpeCB0eXBvIChDRkxBRyAtPiBDRkxBR1MpLgorCisgICogc3lzY2FsbC5jOiBEb24ndCBpbmNsdWRlIGxpbnV4L3B0cmFjZS5oIGV4cGxpY2l0bHkgZm9yIGdsaWJjLgorCitUaHUgTWF5IDI3IDEzOjU5OjI3IENFU1QgMTk5OSBXaWNoZXJ0IEFra2VybWFuIDx3YWtrZXJtYUBkZWJpYW4ub3JnPgorCisgICogQWRkIHNvbWUgc3lzY3RsIHN1cHBvcnQsIHBhdGNoIGZyb20gVWxyaWNoIERyZXBwZXIKKworV2VkIE1heSAyNiAwMTowNDozNCBDRVNUIDE5OTkgV2ljaGVydCBBa2tlcm1hbiA8d2Fra2VybWFAZGViaWFuLm9yZz4KKworICAqIFVzZSBrZXJuZWwgZGlyZW50IHN0cnVjdHVyZSBmb3IgTGludXgKKworU3VuIE1heSAgOSAwMjoxODozMCBDRVNUIDE5OTkgV2ljaGVydCBBa2tlcm1hbiA8d2Fra2VybWFAZGViaWFuLm9yZz4KKworICAqIE1lcmdlIGluIHBhdGNoZXMgZnJvbSBBbmRyZWFzIFNjaHdhYiA8c2Nod2FiQGlzc2FuLmNzLnVuaS1kb3J0bXVuZC5kZT4KKyAgICArIHNvbWUgbGF5b3V0IGFuZCBvdGhlciBtaW5vciBmaXhlcworICAgICsgYWRkIHNvbWUgbTY4ay1zcGVjaWZpYyB0aGluZ3MgdG8gbGludXgvc3lzY2FsbGVudC5oLiBOb3RlIHRoYXQgbTY4aworICAgICAgaXMgc2ltaWxhciBlbm91Z2ggdG8gaTM4NiB0byBub3QgbmVlZCBpdCdzIG93biBzdWJkaXJlY3RvcnkKKyAgICArIGFkZCBzdXBwb3J0IGZvciBzZW5kZmlsZSBhbmQgbXJlbWFwIHN5c2NhbGxzIGZvciBMaW51eAorICAqIE1lcmdlIGluIHBhdGNoZXMgZnJvbSBTYXNjaGEgU2NodW1hbm4gPHNhc2NoYUBzY2h1bWFubi4ybnMuZGU+CisgICAgKyBpb2N0bHMuaCB2cyBzeXMvaW9jdGwuaCBvbiBBbHBoYSBwbGF0Zm9ybQorICAgICsgcG9pbnRlciB3YXMgY2FzdGVkIHRvIGFuIGludCBpbiBzdHJlYW0uYworICAgICsgc3Ryc2lnbmFsKCkgbmVlZHMgLURfR05VX1NPVVJDRSBpbiBDRkxBR1MKKyAgICArIHNldmVyYWwgb3RoZXIgY2FzdHMgY2hhbmdlZAorICAgICsgY29ycmVjdCBBUk0vUE9XRVJQQyBhcmNoaXRlY3R1cmUgZGVmaW5lcyBpbiBhY2NvbmZpZy5oCisgICogTWVyZ2UgaW4gcGF0Y2hlcyBmcm9tIE1vcnRlbiBXZWxpbmRlciA8dGVycmFAZGlrdS5kaz4KKyAgICArIGFkZCBzb21lIGF1dG9jb25mLXRlc3RzIGZvciBpbmNsdWRlZmlsZXMKKyAgICArIGhhbmRsZSBzb2xhcmlzIHZlcnNpb24gb2Ygc2lnY29udGV4dCBzdHJ1Y3QgKGFjdHVhbGx5IEkgaGFja2VkIHRoaXMKKyAgICAgIHVwIGFnYWluLCBidXQgdGhlIGlkZWEgaXMgaGlzIDopCisKK1N1biBBcHIgMTggMjI6MzI6NDIgQ0VTVCAxOTk5IFdpY2hlcnQgQWtrZXJtYW4gPHdha2tlcm1hQGRlYmlhbi5vcmc+CisKKyAgKiBVcGRhdGUgc3lzY2FsbHMgZm9yIGxpbnV4IGFscGhhLCBwYXRjaCBmcm9tIEJhcnQgV2FybWVyZGFtCisgICAgPGJhcnR3QGRlYmlhbi5vcmc+CisgICogVXBkYXRlIHNwYXJjIGNvZGUgc28gaXQgYWN0dWFsbHkgY29tcGlsZXMKKworRnJpIEFwciAxNiAwMjoxODowNSBDRVNUIDE5OTkgV2ljaGVydCBBa2tlcm1hbiA8d2Fra2VybWFAZGViaWFuLm9yZz4KKworICAqIEFkZCBzdXBwb3J0IGZvciBvbGRfKnN0YXQgZnVuY3Rpb25zIGZvciBMaW51eC4gUGxlYXNlIG5vdGUgeW91IG5lZWQKKyAgICB0byB1c2UgcmVhc29uYWJseSByZWNlbnQga2VybmVsIGhlYWRlcnMgdG8gY29tcGlsZSBzdHJhY2Ugbm93LgorICAqIENoYW5nZSByZWZlcmVuY2VzIHRvIExJTlVYIGludG8gbGludXggaW4gZmlsZS5jCisgICogRml4IGluY2x1ZGUgZm9yIExEVCBpbiBtZW0uYworCitUaHUgQXByIDE1IDIyOjI4OjE1IENFU1QgMTk5OSBXaWNoZXJ0IEFra2VybWFuIDx3YWtrZXJtYUBkZWJpYW4ub3JnPgorCisgICogQ2hhbmdlIGluIHN0cmFjZSBtYWludGFpbmVyc2hpcCwganJzIHBhc3NlZCB0aGUgdG9yY2ggdG8gbWUuCisgICogVXNlIGF1dG9jb25mIDIuMTMKKyAgKiBJbmNvcnBvcmF0ZSBhbGwgY2hhbmdlcyBhbHJlYWR5IG1hZGUgaW4gdGhlIERlYmlhbiBzdHJhY2UgcGFja2FnZToKKyAgICArIGNvbXBpbGVzIHdpdGggbW9yZSBMaW51eCBrZXJuZWxzCisgICAgKyBhZGRlZCBzdXBwb3J0IGZvciBtb3JlIExpbnV4IGFyY2hpdGVjdHVyZXMKKyAgICArIGFkZCBzdXBwb3J0IGZvciBhIGxvdCBvZiBleHRyYSBzeXNjYWxscworICAgICsgZml4IHNvbWUgcHJvYmxlbXMgd2l0aCBoYW5naW5nIGNoaWxkcmVuCisgICAgKyBjaGVjayBzdHJheSBzeXNjYWxsIGFmdGVyIGV4ZWN2CisgICAgKyBkZWNvZGUgY2FwZ2V0IGFuZCBjYXBzZXQgYXJndW1lbnRzCisgICAgKyBhZGQgbW9yZSBjb25zdGFudHMgdG8gbmV0LmMKKyAgICArIGRldGVjdCBST1NFIG5ldHdvcmtpbmcKKyAgICArIGFkZCBtb3JlIHByb3RvY29sIGZhbWlsaWVzIHRvIGRvbWFpbnMKKyAgICArIGFkZCBJUElQIHByb3RvY29sCisgICAgKyBhZGRlZCBNU0dfUFJPWFkgYW5kIE1TR19DVFJVTkMgdG8gbXNnX2ZsYWdzCisgICAgKyBhZGRlZCBTT19CU0RDT01QQVQgYW5kIFNPX1JFVVNFUE9SVCB0byBzb2Nrb3B0aW9ucworICAgICsgYWRkZWQgSVAsIElQWCBhbmQgVENQLW9wdGlvbnMKKyAgICArIGFkZGVkIElQLCBJUFggYW5kIFRDUCBzdXBwb3J0IHRvIGdldC0vc2V0c29ja29wdCgpCisgICAgKyBhZGRlZCBJUFggc3VwcG9ydAorICAgICsgdXBkYXRlZCBoYW5kbGluZyBvZiBzaWduYWxzCisKK1N1biBPY3QgMjcgMjI6Mjg6MDAgMTk5NiAgSi4gUmljaGFyZCBTbGFka2V5ICA8anJzQHdvcmxkLnN0ZC5jb20+CisKKwkqIHV0aWwuYyAodW1vdmVzdHIpIFtMSU5VWF06IEhhbmRsZSBMaW51eCBsaWtlIFN1bk9TNAorCWluc3RlYWQgb2YgU1ZSNC4gIFRoYXQgaXMsIHJlYWQgYSBmZXcgYnl0ZXMgYXQgYSB0aW1lCisJdG8gYXZvaWQgb3ZlcnJ1bm5pbmcgdGhlIGVuZCBvZiB0aGUgc3RhY2suCisKK0ZyaSBNYXkgMzEgMDE6NDg6NDkgMTk5NiAgSi4gUmljaGFyZCBTbGFka2V5ICA8anJzQHdvcmxkLnN0ZC5jb20+CisKKwkqIHZlcnNpb24uYzogVmVyc2lvbiAzLjEgaXMgcmVsZWFzZWQuCisKK1RodSBNYXkgMjMgMDE6MDQ6NDMgMTk5NiAgSi4gUmljaGFyZCBTbGFka2V5ICA8anJzQHdvcmxkLnN0ZC5jb20+CisKKwkqIGFjbG9jYWwubTQgKEFDX0RFQ0xfU1lTX0VSUkxJU1QpOiBUcnkgbG9va2luZyBpbiBzdGRpby5oCisJYXMgd2VsbCBzaW5jZSB0aGF0J3Mgd2hlcmUgZ2xpYmMgZGVjbGFyZXMgaXQuICBHbyBmaWd1cmUuCisJKiBzaWduYWwuYyAoc3lzX3NpZ3JldHVybikgW0FMUEhBXTogVXNlIHNpZ2NvbnRleHQKKwlpbnN0ZWFkIG9mIHNpZ2NvbnRleHRfc3RydWN0IHNpbmNlIGdsaWJjIHY1KyBhcHBhcmVudGx5CisJcGxheXMgZ2FtZXMgd2l0aCB0aGUgbmF0aXZlIE9TIG5hbWVzcGFjZS4KKwlGcm9tIERhdmlkIE1vc2Jlcmdlci1UYW5nIDxkYXZpZG1AQVpTdGFyTmV0LmNvbT4uCisKK01vbiBNYXkgMjAgMjM6MTc6MTQgMTk5NiAgSi4gUmljaGFyZCBTbGFka2V5ICA8anJzQHdvcmxkLnN0ZC5jb20+CisKKwkqIHZlcnNpb24uYzogVmVyc2lvbiAzLjAuMTQgaXMgcmVsZWFzZWQuCisKKwkqIGFjbG9jYWwubTQgKEFDX1NUUlVDVF9NU0dfQ09OVFJPTCk6IE5ldyBtYWNyby4KKwkqIGNvbmZpZ3VyZS5pbjogQWRkIGNhbGwgdG8gQUNfU1RSVUNUX01TR19DT05UUk9MLgorCSogbmV0LmMgKHByaW50bXNnaGRyKTogSGFuZGxlIEJTRCA0LjMgYW5kIDQuNCBtc2doZHIgbWVtYmVycworCWRpZmZlcmVudGx5LgorCVJlcG9ydGVkIGJ5IEhlbnJpayBTdG9ybmVyIDxzdG9ybmVyQG9zaXJpcy5waW5nLmRrPi4KKworCSogY29uZmlndXJlLmluOiAoQUNfQ0hFQ0tfe0hFQURFUlMsRlVOQ1N9KTogQWRkIGNoZWNrcyBmb3IKKwlzeXMvZmlsaW8uaCBhbmQgc3lzL3N0cmVhbS5oIGFuZCByZW1vdmUgY2hlY2sgZm9yIHBvbGwuCisJKiBkZXNjLmMgKGRlY29kZV9zZWxlY3QsIHN5c19zZWxlY3QsIHN5c19vbGRzZWxlY3QpIFtMSU5VWF06CisJSGFuZGxlIG9sZCBhbmQgbmV3IHN0eWxlcyBvZiBhcmd1bWVudCBwYXNzaW5nIGZvciBzZWxlY3Qgb24gTGludXguCisJKiBpb2N0bC5jLCBzdHJlYW0uYzogQ29uZGl0aW9uYWxpemUgc3RyZWFtIGNvZGUgb24gcHJlc2VuY2Ugb2YKKwlzeXMvc3RyZWFtLmggaW5zdGVhZCBvZiBwb2xsIGJlY2F1c2UgZ2xpYmMgaW1wbGVtZW50cyBwb2xsIGJ1dAorCW5vdCB0aGUgcmVzdCBvZiB0aGUgc3RyZWFtIGludGVyZmFjZS4KKwkqIHNpZ25hbC5jIFtMSU5VWF06IFN0YW5kYXJkaXplIG9uIHRoZSBuYW1lIHNpZ2NvbnRleHRfc3RydWN0LgorCShzeXNfc2lncHJvY21hc2spIFtBTFBIQV06IEhhbmRsZSBPU0YgZmxhdm9yIHdoaWNoIGlzIG1vcmUgbGlrZQorCXNpZ3NldG1hc2suCisJKiB0ZXJtLmMgKHRlcm1faW9jdGwpOiBVc2UgX1ZNSU4sIGlmIHByZXNlbnQsIGZvciBUQ3tHLFN9RVRBKi4KKwkqIHV0aWwuYyAodW1vdmVuLCB1bW92ZXN0cik6IE1vdmUgZGF0YSBpbiBsb25nLXNpemVkIGNodW5rcworCWF0IGEgdGltZSwgaW5zdGVhZCBvZiBoYXJkIGNvZGluZyBpdCB0byBiZSA0LgorCUZyb20gRGF2aWQgTW9zYmVyZ2VyLVRhbmcgPGRhdmlkbUBBWlN0YXJOZXQuY29tPi4KKworTW9uIE1heSAyMCAwMToxOTozNiAxOTk2ICBKLiBSaWNoYXJkIFNsYWRrZXkgIDxqcnNAd29ybGQuc3RkLmNvbT4KKworCSogdmVyc2lvbi5jOiBWZXJzaW9uIDMuMC4xMyBpcyByZWxlYXNlZC4KKworCSogY29uZmlndXJlLmluIChBQ19DSEVDS19IRUFERVJTKTogQWRkIGNoZWNrIGZvciBhc20vc2lnY29udGV4dC5oLgorCSogc2lnbmFsLmMgW0hBVkVfQVNNX1NJR0NPTlRFWFRfSF06IENvbmRpdGlvbmFsbHkgaW5jbHVkZQorCWFzbS9zaWdjb250ZXh0LmggdG8gZGVmaW5lIHNpZ2NvbnRleHRfc3RydWN0IGFuZCBkb24ndCBkZWZpbmUgaXQKKwlsb2NhbGx5IGlmIHRoZSBoZWFkZXIgaXMgcHJlc2VudC4KKworCSogc3lzY2FsbC5jIChuZXJybm9zezAsMn0pOiBDb3JyZWN0IHNpemUgY29tcHV0YXRpb24uCisKKwkqIE1ha2VmaWxlLmluOiBSZW1vdmUgZGVwZW5kZW5jaWVzIGFuZCBydWxlcyByZWxhdGluZyB0byBmaWxlcworCW5vcm1hbGx5IGZvdW5kIGluIHRoZSBvcyBkaXJlY3RvcnkuICBCZWNhdXNlIG9mIHRoZSBuZXcgc2NoZW1lIHdlCisJZG9uJ3Qga25vdyBwcmVjaXNlbHkgd2hlcmUgdGhleSBjb21lIGZyb20uICBTaWdoLgorCSogc2lnbmFsZW50LnNoOiBNYWtlIGl0IHdvcmsgZm9yIHN1bm9zNCwgbGludXgsIGFuZCBzdnI0LgorCSoge3N1bm9zNCxsaW51eHssL2FscGhhfSxzdnI0fS9NYWtlZmlsZS5pbjogTWFrZSBydWxlcyBjb3JyZXNwb25kCisJdG8gdHJhZGl0aW9uYWwgbWFrZSBzeW50YXguICBBZGQgc2lnbmFsZW50LmggdG8gZmlsZXMgd2hpY2ggY2FuCisJdW5jb25kaXRpb25hbGx5IGJlIHJlYnVpbHQuICBQcmV2ZW50IHNpZ25hbGVudC5oIGZyb20gYmVpbmcKKwl1bmNvbmRpdGlvbmFsbHkgYmVpbmcgcmVidWlsdCBzaW5jZSBpdCdzIGN1c3RvbWl6ZWQuCisJKiB7c3Vub3M0LGxpbnV4eywvYWxwaGF9LHN2cjR9L3tpb2N0bGVudCxlcnJub2VudCxzaWduYWxlbnR9Lmg6CisJVXNlIHZlcnNpb25zIGJ1aWx0IGJ5IHtpb2N0bGVudCxlcnJub2VudCxzaWduYWx0ZW50fS5zaC4KKwkqIHN1bm9zNC9pb2N0bGVudC5zaDogV29yayBhcm91bmQgc3ByaW50ZiB0cm91YmxlcyB3aXRoIFN1bk9TCisJNC4xLjQgYW5kIGdjYyAyLjcuMi4KKworU3VuIE1heSAxOSAxNzoxNDowOSAxOTk2ICBKLiBSaWNoYXJkIFNsYWRrZXkgIDxqcnNAd29ybGQuc3RkLmNvbT4KKworCSogY29uZmlndXJlLmluLCBNYWtlZmlsZS5pbjogQWRkIE9TQVJDSCBjb25jZXB0IHRvIGZpbmlzaAorCWJ1aWxkIHN1cHBvcnQgZm9yIHRoZSBhbHBoYS4KKwkqIE1ha2VmaWxlLmluLCBsaW51eC9NYWtlZmlsZS5pbjogUmV3cml0ZSBjbGVhbiwgZGlzdGNsZWFuLAorCWFuZCBtYWludGFpbmVyLWNsZWFuIHJ1bGVzLgorCSogZGVmcy5oLCBpb2N0bHNvcnQuYzogTWFrZSBpb2N0bCBjb2RlIG1lbWJlciB1bnNpZ25lZC4KKwkqIGlvY3RsLmMsIGlvY3Rsc29ydC5jIChjb21wYXJlKTogUGVyZm9ybSBleHBsaWNpdCBjaGVja2luZworCWZvciBsZXNzLCBncmVhdGVyLCBhbmQgZXF1YWwgc2luY2Ugc3VidHJhY3Rpb24gb24gdHdvJ3MKKwljb21wbGVtZW50IG51bWJlcnMgaXNuJ3QgYW4gb3JkZXIgcmVsYXRpb24gKGl0IGlzbid0IHRyYW5zaXRpdmUpIQorCSogbGludXgvTWFrZWZpbGUuaW46IEFkZCBydWxlcyBmb3IgdGhlIHNpZ25hbGVudC5oIGZpbGUuCisJKiBsaW51eC9hbHBoYS9NYWtlZmlsZS5pbjogTmV3IGZpbGUuCisKK1N1biBNYXkgMTkgMDE6MTI6MjggMTk5NiAgSi4gUmljaGFyZCBTbGFka2V5ICA8anJzQHdvcmxkLnN0ZC5jb20+CisKKwkqIHZlcnNpb24uYzogVmVyc2lvbiAzLjAuMTIgaXMgcmVsZWFzZWQuCisKKwkqIGxpbnV4eyxhbHBoYX0vaW9jdGxlbnQuc2g6IFR3ZWFrIGZvciByZWNlbnQga2VybmVscy4KKwlGcm9tIE1pY2hhZWwgRSBDaGFzdGFpbiA8bWVjQGR1cmFjZWYuc2hvdXQubmV0Pi4KKworCSogZGVmcy5oIChTVVBQT1JURURfUEVSU09OQUxJVEVTLCBERUZBVUxUX1BFUlNPTkFMSVRZKTogTmV3LgorCSogc3lzY2FsbC5jIChzZXRfcGVyc29uYWxpdHkpOiBOZXcuCisJKiBzdHJhY2UuYyAobWFpbik6IENhbGwgc2V0X3BlcnNvbmFsaXR5LgorCSogZGVmcy5oLCBzeXNjYWxsLmMsIGlvY3RsLmMsIHNpZ25hbC5jOiBNYWtlIHN5c2VudCwgZXJybm9lbnQsCisJaW9jdGxlbnQsIGFuZCBzaWduYWxlbnQgaW5kaXJlY3QgcG9pbnRlcnMgYW5kIHJlZGlyZWN0IHRoZW0KKwliYXNlZCBvbiBwZXJzb25hbGl0eS4KKwkqIHtzdW5vczQsc3ZyNCxsaW51eHssL2FscGhhfX0vc2lnbmFsZW50Lmg6IE5ldyBmaWxlcy4KKwlTdWdnZXN0ZWQgYnkgVG9tIER5YXMgPHRkeWFzQGVkZW4ucnV0Z2Vycy5lZHU+LgorCisJKiB1dGlsLmMgKHVwZWVrKTogSGFuZGxlIGNhc2Ugd2hlcmUgcHRyYWNlIHJldHVybnMgYSBsb25nCisJYW5kIHNpemVvZihsb25nKSAhPSBzaXplb2YoaW50KS4KKwlGcm9tIFJpY2hhcmQgSGVuZGVyc29uIDxyaWNoYXJkQHR3aWRkbGUudGFtdS5lZHU+CisKK0ZyaSBNYXkgMTcgMjE6MDM6MzYgMTk5NiAgSi4gUmljaGFyZCBTbGFka2V5ICA8anJzQHdvcmxkLnN0ZC5jb20+CisKKwkqIHZlcnNpb24uYzogVmVyc2lvbiAzLjAuMTEgaXMgcmVsZWFzZWQuCisKKwkqIG1hbnkgZmlsZXM6IEZpeCBtb3JlIHByaW50ZiB3YXJuaW5ncyBmb3Igb3RoZXIgcGxhdGZvcm1zLgorCisJKiBpcGMuYyAoc3lzX21zZ3JjdikgW0xJTlVYXTogQ29uZGl0aW9uYWxpemUgZGVmaW5pdGlvbiBvZiBpcGNfd3JhcHBlci4KKworCSogbGludXgvZHVtbXkuaDogSGFuZGxlIG1pc3NpbmcgbGlicmFyeSBzdXBwb3J0IGZvciB7c2VuZCxyZWN2fW1zZy4KKwlSZXBvcnRlZCBieSBUaG9tYXMgQm9nZW5kb2VyZmVyIDx0c2JvZ2VuZEBiaWdidWcuZnJhbmtlbi5kZT4uCisKKwkqIGxpbnV4L3N5c2NhbGwuaCAoc3lzX3V0aW1lcyk6IEZpeCBhIHR5cG8gaW4gdGhlIGRlY2xhcmF0aW9uLgorCUZyb20gVGhvbWFzIEJvZ2VuZG9lcmZlciA8dHNib2dlbmRAYmlnYnVnLmZyYW5rZW4uZGU+LgorCitGcmkgTWF5IDE3IDAwOjUwOjA2IDE5OTYgIEouIFJpY2hhcmQgU2xhZGtleSAgPGpyc0B3b3JsZC5zdGQuY29tPgorCisJKiB2ZXJzaW9uLmM6IFZlcnNpb24gMy4wLjEwIGlzIHJlbGVhc2VkLgorCisJKiBNYWtmaWxlLmluOiBBZGQgb3MvYXJjaCB0byBpbmNsdWRlcyBzbyB0aGF0IGEgZ2l2ZW4gYXJjaAorCShsaWtlIGFscGhhKSBjYW4gb3ZlcnJpZGUgdGhlIG5hdGl2ZSBhcmNoIChsaWtlIGkzODYpLgorCSogY29uZmlndXJlLmluOiBDaGVjayBmb3Igc2VuZG1zZy4KKworCSogbmV0LmM6IE1ha2Ugc2VuZG1zZyBhbmQgcmVjdm1zZyBkZXBlbmRlbnQgb24gYW4gYXV0b2NvbmYKKwl0ZXN0LiAgUmVwb3J0ZWQgYnkgTWljaGFlbCBFIENoYXN0YWluIDxtZWNAZHVyYWNlZi5zaG91dC5uZXQ+LgorCisJKiBhY2NvbmZpZy5oLCBjb25maWd1cmUuaW46IERldGVjdCB0aGUgYWxwaGEuCisJKiBpb2N0bC5jOiBIYW5kbGUgdGhlIGFscGhhLgorCSogZGVmcy5oOiBNYWtlIHNvbWUgbWVtYmVycyBsb25nIGZvciB0aGUgYWxwaGEuICBEZWZpbmUKKwlzb21lIHJlZ2lzdGVyIG5pY2tuYW1lcy4gIEFkZCBzdXBwb3J0IGZvciBXQUlURVhFQ1ZFLgorCSogZmlsZS5jIFtBTFBIQV06IFN1cHBvcnQgdGhlIGFscGhhIGZvciBzdGF0ZnMuICBBZGQKKwlvc2Zfc3RhdGZzIGFuZCBvc2ZfZnN0YXRmcyBmb3IgdGhlIGFscGhhLiAgTWFrZSBkYW1uIHN1cmUKKwltYWpvciBhbmQgbWlub3IgcmVzdWx0cyBhcmUgc3VpdGFibGUgZm9yIHBhc3NpbmcgdG8gcHJpbnRmLgorCSogc2lnbmFsLmMsIHN5c2NhbGwuYzogU3VwcG9ydCB0aGUgYWxwaGEuCisJKiBwcm9jZXNzLmM6IEFkZCBhbHBoYSB1c2VyIG9mZnNldHMuCisJKiBtb3N0IGZpbGVzOiBVc2UgJWw/IGZvciBwcmludGYgYXJndW1lbnRzIHNpbmNlCisJbW9zdCBhcmUgbm93IGxvbmdzIGZvciB0aGUgYWxwaGEuCisJKiBsaW51eC9hbHBoYS97ZXJybm9lbnQuaCxpb2N0bGVudC57aCxzaH0sc3lzY2FsbGVudC5ofToKKwlOZXcgZm9yIHRoZSBhbHBoYS4KKwlGcm9tIFRob21hcyBCb2dlbmRvZXJmZXIgPHRzYm9nZW5kQGJpZ2J1Zy5mcmFua2VuLmRlPi4KKworV2VkIE1heSAxNSAwMDoyOTozNyAxOTk2ICBKLiBSaWNoYXJkIFNsYWRrZXkgIDxqcnNAd29ybGQuc3RkLmNvbT4KKworCSogdmVyc2lvbi5jOiBWZXJzaW9uIDMuMC45IGlzIHJlbGVhc2VkLgorCisJKiBjb25maWcuaW4sIGNvbmZpZy5zdWIsIGluc3RhbGwtc2g6IFVwZ3JhZGUgdG8gYXV0b2NvbmYgMi4xMC4KKworCSogbGludXgvZHVtbXkuaCwgbGludXgvc3lzY2FsbGVudC5oLCBsaW51eC9zeXNjYWxsLmg6IEFkZCByZWNlbnQKKwlMaW51eCBrZXJuZWwgdmVyc2lvbiBzeXN0ZW0gY2FsbHMuCisKK1dlZCBNYXIgMTMgMDE6MDM6MzggMTk5NiAgSi4gUmljaGFyZCBTbGFka2V5ICA8anJzQHdvcmxkLnN0ZC5jb20+CisKKwkqIGlwYy5jIFtTVU5PUzRdOiBBZGQgU3VuT1Mgc3VwcG9ydCBmb3IgZGVjb2RpbmcgSVBDIGNhbGxzLgorCSogc3lzY2FsbC5jIFtTVU5PUzRdOiBDb21waWxlIGRlY29kZV9zdWJjYWxsIG9uIFN1bk9TIGFuZAorCWRlY29kZSBJUEMgY2FsbHMgdXNpbmcgaXQuCisJKiBzdW5vczQvZHVtbXkuaDogQWxpYXMgc3lzX3NlbW9wIHRvIHByaW50YXJncy4KKwkqIHN1bm9zNC9zeXNjYWxsLmg6IEFkZCBuZXcgcHNldWRvIHN5c2NhbGxzIGZvciBJUEMuCisJKiBzdW5vczQvc3lzY2FsbGVudC5oOiBJbmNsdWRlIG5ldyBzdWJjYWxscyBmb3IgSVBDLgorCUZyb20gTWF0dGhpYXMgUGZhbGxlciA8bGVvQGRhY2hhdS5tYXJjby5kZT4uCisKK1R1ZSBGZWIgMTMgMjI6MDg6MjUgMTk5NiAgSi4gUmljaGFyZCBTbGFka2V5ICA8anJzQHdvcmxkLnN0ZC5jb20+CisKKwkqIHZlcnNpb24uYzogVmVyc2lvbiAzLjAuOCBpcyByZWxlYXNlZC4KKworCSogdGltZS5jIFtMSU5VWF06IEV4cGxpY2l0bHkgaW5jbHVkZSBsaW51eC92ZXJzaW9uLmguCisKKwkqIHN0cmFjZS5jIChtYWluKTogRG9uJ3QgbGV0IHRoZW0gZXZlbiAqdHJ5KiB0bworCWdldCBzdHJhY2UgdG8gYXR0YWNoIHRvIGl0c2VsZiBzaW5jZSBzb21lIHN5c3RlbXMKKwlkb24ndCBoYW5kbGUgdGhpcyBjYXNlIHZlcnkgZ3JhY2VmdWxseS4KKwlSZXBvcnRlZCBieSBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGNhaXAucnV0Z2Vycy5lZHU+LgorCisJKiBNYWtlZmlsZS5pbiAoZGlzdGNsZWFuKTogRml4IGl0IGZvciBzdWJkaXJlY3Rvcmllcy4KKworCSogc3Vub3M0L3N5c2NhbGxlbnQuaCwgc3ZyNC9zeXNjYWxsZW50Lmg6IEZpbGwgaW4gdGhlIG5ldworCXN5c19mbGFncyBtZW1iZXIgZm9yIGVhY2ggZGVmaW5lZCBzeXN0ZW0gY2FsbC4KKworRnJpIERlYyAgOCAwMToxNzoyOCAxOTk1ICBSaWNrIFNsYWRrZXkgIDxqcnNAd29ybGQuc3RkLmNvbT4KKworCSogZGVmcy5oIChUUkFDRV8qKTogTmV3IGZsYWdzIHRvIGRlc2NyaWJlIHdoYXQgY2xhc3MKKwlvZiBzeXN0ZW0gY2FsbCBlYWNoIHN5c3RlbSBjYWxsIGlzLgorCShzeXNlbnQpOiBBZGQgc3lzX2ZsYWdzIG1lbWJlci4KKwkqIHN5c2NhbGwuYyAoc3lzZW50KTogRGVmaW5lIChhbmQgbGF0ZXIgdW5kZWYpIGFiYnJldmlhdGlvbnMKKwlmb3IgdGhlIHN5c3RlbSBjYWxsIGNsYXNzIGZsYWdzLgorCShsb29rdXBfY2xhc3MpOiBOZXcgZnVuY3Rpb24gdG8gdHJhbnNsYXRlIHN0cmluZ3MgdG8KKwlzeXN0ZW0gY2FsbCBjbGFzcyBmbGFncy4KKwkocXVhbGlmeSk6IEhhbmRsZSBuZXcgc3lzdGVtIGNhbGwgY2xhc3MgbWVjaGFuaXNtLgorCSogbGludXgvc3lzY2FsbGVudC5oOiBGaWxsIGluIHRoZSBuZXcgc3lzX2ZsYWdzIG1lbWJlcgorCWZvciBlYWNoIGRlZmluZWQgc3lzdGVtIGNhbGwuCisKKwkqIGRlZnMuaCAocHJpbnRfc29jayk6IFJlbW92ZSByZWR1bmRhbnQgYW5kIG5vbi1LJlIgQworCWNvbXBhdGlibGUgcHJvdG90eXBlLiAgRnJvbSBKdWVyZ2VuIFdlaWdlcnQKKwk8am53ZWlnZXJAaW1tZDQuaW5mb3JtYXRpay51bmktZXJsYW5nZW4uZGU+LgorCitUaHUgRGVjICA3IDAxOjE3OjQwIDE5OTUgIFJpY2sgU2xhZGtleSAgPGpyc0B3b3JsZC5zdGQuY29tPgorCisJKiBsaW51eC9pb2N0bGVudC5zaDogVHdlYWsgdG8gaW1wcm92ZSBpb2N0bCBhY2N1cmFjeS4KKwlGcm9tIE1pY2hhZWwgRSBDaGFzdGFpbiA8bWVjQGR1cmFjZWYuc2hvdXQubmV0Pi4KKworCSogc3lzdGVtLmMgKGluY2x1ZGVzKSBbTElOVVhdOiBBZGQgbGludXgvbmZzLmggZm9yIHJlY2VudAorCWtlcm5lbHMuICBGcm9tIE1pY2hhZWwgRSBDaGFzdGFpbiA8bWVjQGR1cmFjZWYuc2hvdXQubmV0Pi4KKworV2VkIERlYyAgNiAyMTo1MjoyOCAxOTk1ICBSaWNrIFNsYWRrZXkgIDxqcnNAd29ybGQuc3RkLmNvbT4KKworCSogZmlsZS5jIChzcHJpbnRmc3R5cGUpOiBFbmNsb3NlIHN0cmluZyByZXN1bHQgaW4gZG91YmxlCisJcXVvdGVzLgorCisJKiB0aW1lLmMgKHN5c19hZGp0aW1leCkgW0xJTlVYXTogQ29uZGl0aW9uYWxpemUKKwljb25zdGFudGx5IGV2b2x2aW5nIHRpbWV4IHN0cnVjdHVyZS4KKwlGcm9tIEFhcm9uIFVja28gPFVDS09AVkFYMS5ST0NLSFVSU1QuRURVPi4KKworCSogZGVmcy5oLCBzeXNjYWxsLmMsIHN0cmFjZS5jOiBSZW5hbWUgc3lzY2FsbCB0bworCXRyYWNlX3N5c2NhbGwgYW5kIGNoYW5nZSBwcm90b3R5cGUgYW5kIGFsbCBjYWxsZXJzCisJYmVjYXVzZSBvZiBicm9rZW4gTGludXggc2hhcmVkIGxpYnJhcmllcy4KKwlGcm9tIEFhcm9uIFVja28gPFVDS09AVkFYMS5ST0NLSFVSU1QuRURVPi4KKworCSogTWFrZWZpbGUuaW4gKGNsZWFuKTogQ2hlY2sgZm9yIGEgZmlsZSB3aXRoIHRlc3QgLWYgbm90CisJdGVzdCAtZC4gIEZyb20gQWFyb24gVWNrbyA8VUNLT0BWQVgxLlJPQ0tIVVJTVC5FRFU+LgorCitUdWUgU2VwIDI2IDAyOjMyOjMxIDE5OTUgIFJpY2sgU2xhZGtleSAgPGpyc0B3b3JsZC5zdGQuY29tPgorCisJKiB2ZXJzaW9uLmM6IFZlcnNpb24gMy4wLjcgaXMgcmVsZWFzZWQuCisKKwkqIHV0aWwuYyAoc3RyaW5nX3F1b3RlKTogRml4IHRoaW5rbyB3aGljaCBjYXVzZWQgY29yZQorCWR1bXBzIGZvciBzdHJpbmdzIHdpdGggcXVvdGVzIGluIHRoZW0uCisJUmVwb3J0ZWQgYnkgTWFydHkgTGVpc25lciA8bGVpc25lckBzZHNwLm1jLnhlcm94LmNvbT4uCisKKwkqIGxpbnV4L01ha2VmaWxlLmluIChlcnJub2VudC5oIHJ1bGUpOiBHcmFiIGFsbCBlcnJuby5oCisJZmlsZXMgZnJvbSAvdXNyL2luY2x1ZGUsIG5vdCBqdXN0IHRoZSBsaW51eCBvbmUuCisJRnJvbSBNaWNoYWVsIEUgQ2hhc3RhaW4gPG1lY0BkdXJhY2VmLnNob3V0Lm5ldD4uCisKKwkqIGxpbnV4L2Vycm5vZW50LnNoOiBUb3RhbCByZXdyaXRlIHRvIGhhbmRsZSBtb3JlIGlvY3RscyB3aXRoCisJZmV3ZXIgZmFsc2UgcG9zaXRpdmVzIG9uIG1vcmUga2VybmVsIGZsYXZvcnMuCisJRnJvbSBNaWNoYWVsIEUgQ2hhc3RhaW4gPG1lY0BkdXJhY2VmLnNob3V0Lm5ldD4uCisKK01vbiBTZXAgIDQgMDE6Mjk6MjIgMTk5NSAgUmljayBTbGFka2V5ICA8anJzQHdvcmxkLnN0ZC5jb20+CisKKwkqIHZlcnNpb24uYzogVmVyc2lvbiAzLjAuNiBpcyByZWxlYXNlZC4KKworCSogbGludXgvZHVtbXkuaCwgbGludXgvc3lzY2FsbC5oLCBsaW51eC9zeXNjYWxsZW50Lmg6IEFkZAorCXN5c19tc3luYy4KKwkqIG1lbS5jIChtY3RsX2Z1bmNzLCBtY3RsX2xvY2thcywgc3lzX21jdGwpOiBDb25kaXRpb25hbGl6ZQorCW9uIE1DX1NZTkMgaW5zdGVhZCBvZiBIQVZFX01DVEwuCisJKG1jdGxfc3luYyk6IENvbmRpdGlvbmFsaXplIG9uIE1TX0FTWU5DIGluc3RlYWQgb2YgSEFWRV9NQ1RMLgorCShzeXNfbXN5bmMpOiBOZXcgZnVuY3Rpb24uCisKK1NhdCBTZXAgIDIgMTI6MDY6MDQgMTk5NSAgUmljayBTbGFka2V5ICA8anJzQHdvcmxkLnN0ZC5jb20+CisKKwkqIGxpbnV4L2R1bW15LmgsIGxpbnV4L3N5c2NhbGwuaCwgbGludXgvc3lzY2FsbGVudC5oOiBBZGQKKwlzeXNfZmxvY2sgYW5kIHN5c19nZXRkZW50cy4KKwkqIGRlc2MuYyAoZmxvY2tjbWRzLCBzeXNfZmxvY2spOiBDb25kaXRpb25hbGl6ZSBvbiBMT0NLX1NICisJbm90IFNVTk9TNC4KKwkqIGZpbGUuYyAoc3lzX2dldGRlbnRzKTogRGVmaW5lIHVuY29uZGl0aW9uYWxseSBhbmQgaGFuZGxlCisJTElOVVggY2FzZS4KKwkqIHN0cmFjZS5jIChtYWluKTogRGlzYWxsb3cgdXNlcm5hbWUgb3B0aW9uIHVubGVzcyBib3RoIHJlYWwKKwlhbmQgZWZmZWN0aXZlIHVpZHMgYXJlIHJvb3QuCisKK1dlZCBBdWcgMzAgMDE6Mjk6NTggMTk5NSAgUmljayBTbGFka2V5ICA8anJzQHdvcmxkLnN0ZC5jb20+CisKKwkqIHN0cmFjZS5jIChtYWluKTogRW5zdXJlIHRoYXQgcnVuX3VpZCBhbmQgcnVuX2dpZCBhcmUKKwlhbHdheXMgc2V0IHRvIHNvbWV0aGluZyBtZWFuaW5nZnVsLgorCShtYWluLCBuZXdvdXRmKSBbIVNWUjRdOiBTd2FwIHJlYWwgYW5kIGVmZmVjdGl2ZSB1aWRzIHdoaWxlCisJb3BlbmluZyBhbnkgb3V0cHV0IGZpbGVzLgorCShtYWluKSBbIVNWUjRdOiBUcmVhdCBlZmZlY3RpdmUgdWlkIG9mIHJvb3QgYXMgYSByZXF1ZXN0CisJdG8gaGFuZGxlIHN1aWQgYmluYXJpZXMgY29ycmVjdGx5IHVzaW5nIHRoZSByZWFsIHVpZCBvZgorCXRoZSBpbnZva2luZyB1c2VyLgorCitTYXQgQXVnIDE5IDAwOjA2OjA4IDE5OTUgIFJpY2sgU2xhZGtleSAgPGpyc0B3b3JsZC5zdGQuY29tPgorCisJKiBNYWtlZmlsZS5pbjogQWRkIGB8fCB0cnVlJyB0byBjbGVhbiBydWxlIGJlY2F1c2UKKwlhbHRob3VnaCBHTlUgbWFrZSAzLjc0IHVzZXMgYHNoIC1jJyB0byBpbnZva2UgY29tbWFuZHMKKwlldmVyeSBvdGhlciBtYWtlIGluIHRoZSB3b3JsZCB1c2VzIGBzaCAtZWMnLgorCisJKiBzeXNjYWxsLmMgKHN5c2NhbGwpIFtTVlI0LCBNSVBTXTogVGhlIGZpZnRoIGFuZCBzdWJzZXF1ZW50CisJYXJndW1lbnRzIGFwcGVhciB0byBiZSBzdG9yZWQgb24gdGhlIHN0YWNrLCBub3QgaW4gdGhlCisJcmVnaXN0ZXJzIGZvbGxvd2luZyBBMyAoZW1waXJpY2FsIHJlc3VsdCkuCisKKwkqIGRlZnMuaDogQWRkIHByb3RvdHlwZSBmb3IgcHJpbnRzb2NrLgorCSogc3ZyNC9kdW1teS5oOiBSZW1vdmUgZ2VuZXJpYyBoYW5kbGluZyBvZiBzeXNfbW91bnQuCisJKiBzeXN0ZW0uYyBbU1ZSNCwgTUlQU106IEluY2x1ZGUgc2V2ZXJhbCBzeXN0ZW0gaGVhZGVycyB0byBjbGVhbmx5CisJZ2V0IGFjY2VzcyB0byBTR0kgbW91bnQgaW5mb3JtYXRpb24uCisJKG1vdW50X2ZsYWdzLCBuZnNfZmxhZ3MpIFtTVlI0LCBNSVBTXTogTmV3IG9iamVjdHMuCisJKHN5c19tb3VudCkgW1NWUjQsIE1JUFNdOiBOZXcgZnVuY3Rpb24uCisJKHN5c19tb3VudCkgW1NWUjQsICFNSVBTXTogTmV3IGZ1bmN0aW9uLgorCitUdWUgSnVsICA0IDAwOjMwOjM0IDE5OTUgIFJpY2sgU2xhZGtleSAgPGpyc0B3b3JsZC5zdGQuY29tPgorCisJKiB2ZXJzaW9uLmM6IFZlcnNpb24gMy4wLjUgaXMgcmVsZWFzZWQuCisKKwkqIGRlc2MuYywgcmVzb3VyY2UuYywgc3RyYWNlLmMsIHN5c2NhbGwuYywgdGltZS5jOiBDYXN0IHR2X3NlYyBhbmQKKwl0dl91c2VjIG1lbWJlcnMgdG8gbG9uZyB3aGVuIHVzaW5nIHByaW50Zi4KKworCSogaXBjLmM6IE9taXQgZGVmaW5lIG9mIF9fS0VSTkVMX18uCisJKHtNU0csU0VNLFNITX1fe1NUQVQsSU5GT30pOiBFeHBsaWNpdGx5IGRlZmluZSB0aG9zZSB0aGluZ3Mgd2UKKwl3YW50IHdoaWNoIF9fS0VSTkVMX18gdXNlZCB0byBwcm92aWRlLgorCShzeXNfbXNncmN2KTogQ2hhbmdlIHJlZmVyZW5jZSB0byBpcGNfa2x1ZGdlIHN0cnVjdHVyZSB0bworCWxvb2stYWxpa2UgaXBjX3dyYXBwZXIgdG8gYXZvaWQgZGVwZW5kZW5jZSBvbiBfX0tFUk5FTF9fLgorCisJbWVtLmMgKG1tYXBfZmxhZ3MpIFtNQVBfe0dST1dTRE9XTixERU5ZV1JJVEUsRVhFQ1VUQUJMRX1dOiBBZGQKKwlMaW51eCBzcGVjaWZpYyBvcHRpb25zLgorCisJc3lzY2FsbC5jOiBVc2UgU1lTX0VSUkxJU1RfREVDTEFSRUQgaW5zdGVhZCBvZiBndWVzc2luZy4KKwlbRXtSRVNUQVJUe1NZUyxOT3tJTlRSLEhBTkR9fSxOT0lPQ1RMQ01EfV06IEV4cGxpY2l0bHkgZGVmaW5lCisJaW5zdGVhZCBvZiBkZXBlbmRpbmcgb2YgX19LRVJORUxfXy4KKworCXRlcm0uYzogQ2FzdCBjX3tpLG8sYyxsfWZsYWcgdG8gbG9uZyB3aGVuIHVzaW5nIHByaW50Zi4KKworVHVlIEp1biAgNiAwMDoyNzo0OCAxOTk1ICBSaWNrIFNsYWRrZXkgIDxqcnNAd29ybGQuc3RkLmNvbT4KKworCSogYWNsb2NhbC5tNCAoQUNfREVDTF9TWVNfRVJSTElTVCwgQUNfREVDTF9fU1lTX1NJR0xJU1QpOiBOZXcuCisJKiBjb25maWd1cmUuaW46IENhbGwgQUNfREVDTF9TWVNfRVJSTElTVCwgQUNfREVDTF9TWVNfU0lHTElTVCwKKwlhbmQgQUNfREVDTF9fU1lTX1NJR0xJU1QuCisJKiBhY2NvbmZpZy5oIChTWVNfRVJSTElTVF9ERUNMQVJFRCk6IE5ldy4KKwkqIHN0cmFjZS5jIChzdHJlcnJvcik6IFVzZSBTWVNfRVJSTElTVF9ERUNMQVJFRC4KKwkoc3Ryc2lnbmFsKTogVXNlIFNZU19TSUdMSVNUX0RFQ0xBUkVELgorCisJbmV0LmMgKHN5c19zb2NrZXQpOiBPbWl0IGluYWR2ZXJ0ZW50IHN1cnBsdXMgY29tbWEgd2hlbgorCXByb3RvY29sIGZhbWlseSBpc24ndCBQRl9JTkVULgorCisJdXRpbC5jIChkdW1wc3RyKTogRml4IGluY29ycmVjdCBwcmludGluZyBvZiBvbmUgdG9vIG1hbnkKKwljaGFyYWN0ZXJzIHdoZW4gdGhlIGxlbmd0aCBpcyBub3QgYW4gZXZlbiBtdWx0aXBsZSBvZiAxNiBieXRlcy4KKwlSZXBvcnRlZCBieSBKdWVyZ2VuIFdlaWdlcnQKKwk8am53ZWlnZXJAaW1tZDQuaW5mb3JtYXRpay51bmktZXJsYW5nZW4uZGU+LgorCitUaHUgTWF5ICA0IDIzOjM3OjQ3IDE5OTUgIFJpY2sgU2xhZGtleSAgPGpyc0B3b3JsZC5zdGQuY29tPgorCisJKiBpb2N0bC5jIChjb21wYXJlKTogQ2hhbmdlIHByb3RvdHlwZSB0byBtYXRjaCBQT1NJWCBxc29ydC4KKwkqIHNpZ25hbC5jIChzaWdpc2hhbmRsZWQpIFtTVlI0XTogT21pdCBldmVyeXRoaW5nIGFmdGVyIHJldHVybi4KKwkqIHN0cmFjZS5jICh0cmFjZSkgW1NWUjRdOiBCcmVhayBvdXQgb2YgZm9yIGxvb3AgaW5zdGVhZCBvZgorCXJldHVybmluZyB3aGVuIGZpbmlzaGVkIHNvIGZpbmFsIHJldHVybiBzdGF0ZW1lbnQgaXMgZXhlY3V0ZWQuCisJKiBzeXNjYWxsLmMgKGludGVybmFsX3N5c2NhbGwpOiBBZGQgbW9yZSBTWVNfd2FpdCogdmFyaWF0aW9ucy4KKwkoc3lzY2FsbCkgW0xJTlVYXTogQ29ycmVjdCB0eXBvIHdoaWNoIGNvbW1lbnRlZCBvdXQgdGhlIE02OEsKKwlhcmd1bWVudCB0byBpZmRlZi4KKwkqIHV0aWwuYyAocHJpbnRzdHIpOiBDYXN0IHVuc2lnbmVkIGNoYXIgcG9pbnRlciBhcmd1bWVudAorCXRvIGNoYXIgcG9pbnRlciBpbiB1bW92ZXN0ciBjYWxsLgorCShkdW1wc3RyKTogTGlrZXdpc2UgZm9yIHVtb3Zlbi4KKworV2VkIE1heSAgMyAwMToxMDo1NiAxOTk1ICBSaWNrIFNsYWRrZXkgIDxqcnNAd29ybGQuc3RkLmNvbT4KKworCSogdmVyc2lvbi5jOiBWZXJzaW9uIDMuMC40IGlzIHJlbGVhc2VkLgorCisJKiBzaWduYWwuYyAoc3lzX3NpZ2Jsb2NrKTogTW92ZSBhZnRlciB0aGUgZGVmaW5pdGlvbiBvZgorCXN5c19zaWdzZXRtYXNrIHRoYXQgaXQgY2FsbHMgdG8gYXZvaWQgYW4gaW1wbGljaXQgZGVjbGFyYXRpb24uCisJKiBzdHJlYW0uYyAodHJhbnNwb3J0X3VzZXJfb3B0aW9ucywgdHJhbnNwb3J0X3NlcnZlcl9vcHRpb25zKToKKwlPbmx5IG5lZWRlZCBpZiBUSV9CSU5EIGlzIGRlZmluZWQuCisJKiBjb25maWd1cmUuaW46IEFkZCAtV25vLWltcGxpY2l0IHRvIFdBUk5GTEFHUyBvbiBTdW5PUyA0LnguCisKKwkqIHByb2Nlc3MuYyAoaW50ZXJuYWxfZm9yaykgW1NWUjRdOiBGaXggYSB0eXBvIHRoYXQgb21pdHRlZAorCXRoZSB0Y3AgYXJndWVtZW50IGZyb20gdGhlIGNhbGwgdG8gZXhpdGluZy4gIEFkZCBnZXRydmFsMgorCWNoZWNrIHNvIG5vIGZvcmsgcHJvY2Vzc2luZyBpcyBkb25lIGluIHRoZSBjaGlsZC4KKwkocHJpbnR3YWl0bik6IEluaXRpYWxpemUgZXhpdGVkIHNvIHRoYXQgaXRzIHZhbHVlIGlzIGRlZmluZWQKKwlmb3IgYWxsIGZsb3dzIG9mIGV4ZWN1dGlvbi4KKworVHVlIE1heSAgMiAyMjozOTo0MiAxOTk1ICBSaWNrIFNsYWRrZXkgIDxqcnNAd29ybGQuc3RkLmNvbT4KKworCSogbGludXgvZHVtbXkuaDogQWRkIGFsaWFzZXMgZm9yIHN5c2ZzLCBwZXJzb25hbGl0eSwgYWZzX3N5c2NhbGwsCisJc2V0ZnN1aWQsIHNldGZzZ2lkLCBhbmQgX2xsc2VlayBzeXNjYWxscy4KKwkqIGxpbnV4L3N5c2NhbGwuaDogQWRkIHByb3RvdHlwZXMgZm9yIHRoZW0uCisJKiBsaW51eC9zeXNjYWxsZW50Lmg6IEFkZCB0aGVtIHRvIHRoZSBzeXNjYWxsIGVudHJpZXMgdGFibGUuCisJKiBzeXN0ZW0uYyAoaGVhZGVycykgW0xJTlVYXTogSW5jbHVkZSBsaW51eC91bmlzdGQuaCB0byBnZXQgX19OUl8qCisJZGVmaW5lcyBhbmQgY29uZGl0aW9uYWxseSBpbmNsdWRlIGxpbnV4L3BlcnNvbmFsaXR5LmggaWYKKwlfX05SX3BlcnNvbmFsaXR5IGlzIGRlZmluZWQuCisJKHBlcnNvbmFsaXR5X29wdGlvbnMpIFtMSU5VWF06IE5ldyB0YWJsZS4KKwkoc3lzX3BlcnNvbmFsaXR5KSBbTElOVVhdOiBOZXcgZnVuY3Rpb24uCisKK1R1ZSBNYXkgIDIgMDA6MjA6MzkgMTk5NSAgUmljayBTbGFka2V5ICA8anJzQHdvcmxkLnN0ZC5jb20+CisKKwkqIHN0cmFjZS5jICh0cmFjZSkgWyFTVlI0XTogQ2hhbmdlIGZvcmV2ZXIgbG9vcCB0byBvbmUgcHJlZGljYXRlZAorCW9uIHRoZSBudW1iZXIgb2YgdHJhY2VkIHByb2Nlc3NlcyBzbyB0aGF0IHdlIGNhbiBoYXZlIHVudHJhY2VkCisJY2hpbGRyZW4gKGUuZy4gdmlhIHBvcGVuKS4KKworCSogc3RyYWNlIChtYWluKSBbIVNWUjRdOiBDYWxsIGZha2VfZXhlY3ZlIHRvIGdldCB0aGUgYWN0dWFsCisJZXhlYyBhbmQgaXRzIGFyZ3VtZW50cyBpbnRvIHRoZSB0cmFjZS4KKwkoZW52aXJvbik6IERlY2xhcmUgaXQuCisJKiBwcm9jZXNzLmMgKGZha2VfZXhlY3ZlKTogTmV3IGZ1bmN0aW9uLgorCShoZWFkZXJzKTogSW5jbHVkZSBzeXMvc3lzY2FsbC5oIHRvIGdldCBTWVNfKiBkZWZpbmVzLgorCisJKiBwcm9jZXNzLmMgKHN5c19leGVjdiwgc3lzX2V4ZWN2ZSk6IFN1cnJvdW5kIGFyZ3VtZW50IGFubm90YXRpb25zCisJd2l0aCBDIGNvbW1lbnQgZGVsaW1pdGVycy4KKwkocHJpbnRhcmd2LCBwcmludGFyZ2MpOiBUaGUgYXJnIHZlY3RvciBpcyBhbiBhcnJheSBvZiBjaGFyIHBvaW50ZXJzCisJbm90IGludHMuCisKKwkqIHN0cmFjZS5jIChwcmludGxlYWRlcik6IEFsc28gY2hlY2sgZm9yIG11bHRpcGxlIC1wIGFyZ3VtZW50cworCXdoZW4gZGVjaWRpbmcgd2hldGhlciB0byBwcmludCB0aGUgcGlkIGZpZWxkLgorCisJKiBzdHJhY2UuYyAoc3RyZXJyb3IpIFshSEFWRV9TVFJFUlJPUl06IE5ldyBmdW5jdGlvbi4KKwkqIGRlZnMuaCAoc3RyZXJyb3IsIHN0cnNpZ25hbCk6IEFkZCB0aGVzZSBwcm90b3R5cGVzIGlmIHdlIHByb3ZpZGUKKwl0aGUgZnVuY3Rpb25zLgorCSogY29uZmlndXJlLmluIChBQ19DSEVDS19GVU5DUyk6IEFkZCBzdHJlcnJvci4KKworCSogc3RyYWNlLmMgKG1haW4sIHByb2NfcG9sbGVyKTogQWRkIFNJR1BJUEUgdG8gdGhlIGxpc3Qgb2YgY2F1Z2h0CisJYW5kIGJsb2NrZWQgc2lnbmFscy4KKworCSogc3RyYWNlLmMgKG1haW4pOiBBZGQgdXNlcm5hbWUgb3B0aW9uLiAgVmVyaWZ5IHRoZXkgYXJlIHJvb3QgYmVmb3JlCisJbGV0dGluZyB0aGVtIHVzZSBpdC4gIExvb2sgdXAgdGhlIGlkcyBpbiB0aGUgcGFzc3dvcmQgZmlsZS4gIFNldAorCXRoZW0ganVzdCBiZWZvcmUgZXhlY3V0aW5nIHRoZSBwcm9ncmFtLgorCUZyb20gUmV1YmVuIFN1bW5lciA8cmFzdW1uZXJAdW5kZXJncmFkLm1hdGgudXdhdGVybG9vLmNhPi4KKworU2F0IEFwciAyOSAwMDowOTo1NiAxOTk1ICBSaWNrIFNsYWRrZXkgIDxqcnNAd29ybGQuc3RkLmNvbT4KKworCSogdmVyc2lvbi5jOiBWZXJzaW9uIDMuMC4zIGlzIHJlbGVhc2VkLgorCisJKiBzeXN0ZW0uYyAobW91bnRfZmxhZ3MpIFtMSU5VWF06IE9taXQgZHVwbGljYXRlZCBNU19OT1NVSUQgZW50cnkuCisJRnJvbSBSZXViZW4gU3VtbmVyIDxyYXN1bW5lckB1bmRlcmdyYWQubWF0aC51d2F0ZXJsb28uY2E+LgorCisJKiBzdHJhY2UuYyAob3V0Zm5hbWUpOiBJbml0aWFsaXplIHRvIE5VTEwuCisJKG1haW4pOiBEZWZlciBvdXRwdXQgZmlsZSBwcm9jZXNzaW5nIHVudGlsIGFmdGVyIGFyZ3VtZW50cy4KKwlBbGxvdyBlaXRoZXIgYSBwaXBlIG9yIGEgYmFuZyBmb3IgY29tbWFuZCBhcmd1bWVudHMuCisJQ2hlY2sgaWYgb3V0Zm5hbWUgaXMgTlVMTCBpbnN0ZWFkIG9mIGNoZWNraW5nIG91dGYgZm9yIHN0ZGVyci4KKwlSZWluaXRpYWxpemUgZWFjaCBzdGFydHVwIFRDQidzIG91dGYgdG8gZml4IC1wLy1vIG9yZGVyaW5nIGJ1Zy4KKwkoZHJvcHRjYik6IFJlc2V0IGNsb3NlIFRDQidzIG91dGYgdG8gTlVMTCBpbnN0ZWFkIG9mIHN0ZGVyci4KKwkodHByaW50Zik6IEF2b2lkIGNhbGxpbmcgdmZwcmludGYgaWYgb3V0ZiBpcyBOVUxMLgorCisJKiBzdHJhY2UuYyAobWFpbik6IFVzZSBwb3BlbiBpZiAtbyBhcmd1bWVudCBiZWdpbnMgd2l0aCBhIHBpcGUuCisJRnJvbSBNYXJ0eSBMZWlzbmVyIDxsZWlzbmVyQHNkc3AubWMueGVyb3guY29tPi4KKworCSogcHJvY2Vzcy5jIChwcmludHN0YXR1cyk6IEZpeCBhIHR5cG8gd2hlcmUgV0lGU0lHTkFMRUQgd2FzIG1lYW50CisJYnV0IFdJRlNUT1BQRUQgd2FzIHVzZWQuCisKKwkqIE1ha2VmaWxlLmluOiBBZGQgYW4gRVhUUkFfREVGUyB2YXJpYWJsZSBhbmQgdXNlIGl0IGluIHRoZSAuYy5vCisJcnVsZSB0byBwcmV2ZW50IHRoZSBjb21tZW50IGZyb20gYmVpbmcgdW50cnVlLgorCitGcmkgQXByIDI4IDIyOjAxOjU2IDE5OTUgIFJpY2sgU2xhZGtleSAgPGpyc0B3b3JsZC5zdGQuY29tPgorCisJKiBzdHJhY2UuYyAoc3lzX2V4aXQpOiBNb3ZlIGZvbGxvdyBmb3JrIGNvZGUgdG8gaW50ZXJuYWxfZXhpdC4KKwkoc3lzX2ZvcmspOiBNb3ZlIGZvbGxvdyBmb3JrIGNvZGUgdG8gaW50ZXJuYWxfZm9yay4KKwkoc3lzX2V4ZWN2LCBzeXNfZXhlY3ZlKTogTW92ZSBmb2xsb3cgZm9yayBjb2RlIHRvIGludGVybmFsX2V4ZWMuCisJKHN5c193YWl0cGlkLCBzeXNfd2FpdDQpOiBNb3ZlIGZvbGxvdyBmb3JrIGNvZGUgdG8gaW50ZXJuYWxfd2FpdC4KKwkodmZvcmtpbmcpOiBSZW1vdmUgdGhpcyBzdGF0aWMgdmFyaWFibGUgYW5kIGNoZWNrIHNjbm8gaW4KKwlpbnRlcm5hbF9mb3JrIGluc3RlYWQuCisJKGludGVybmFsX2V4aXQsIGludGVybmFsX2ZvcmssIGludGVybmFsX2V4ZWMsIGludGVybmFsX3dhaXQpOiBOZXcKKwlmdW5jdGlvbnMuCisJKiBkZWZzLmg6IEFkZCBwcm90b3R5cGVzIGZvciB0aGUgbmV3IGludGVybmFsXyogZnVuY3Rpb25zLgorCSogc3lzY2FsbC5jIChzeXNjYWxsKTogTW92ZSBzeXNjYWxsIGVudGVyaW5nIHRyYWNlIHF1YWxpZmllciBjaGVjaworCWFuZCByZXByaW50IGNoZWNraW5nIGFmdGVyIGNvbnRleHQgZGVjb2RpbmcgYW5kIHByZWNlZGUgdGhlbSB3aXRoCisJYSBjYWxsIHRvIGludGVybmFsX3N5c2NhbGwuICBQcmVjZWRlIHN5c2NhbGwgZXhpdGluZyB0cmFjZQorCXF1YWxpZmllciBjaGVjayB3aXRoIGEgY2FsbCB0byBpbnRlcm5hbF9zeXNjYWxsLgorCShpbnRlcm5hbF9zeXNjYWxsKTogTmV3IGZ1bmN0aW9uLgorCisJKiBkZWZzLmggKHN0cnVjdCB0Y2IpOiBNYWtlIHNjbm8gc2lnbmVkLgorCSogc3RyYWNlLmMgKHN5c2NhbGwpIE1ha2UgdV9lcnJvciBzaWduZWQuCisJW0xJTlVYLCBJMzg2XTogQXZvaWQgdW5zaWduZWQgY2FzdCBpbiBlYXggY2hlY2suCisJKiBzeXNjYWxsLmMgKHN5c19pbmRpcik6IE1ha2UgaSwgc2NubywgYW5kIG5hcmdzIHNpZ25lZC4KKwkqIGRlc2MuYyAoc3lzX3NlbGVjdCk6IE1ha2UgY3VtbGVuIHVuc2lnbmVkCisKK01vbiBBcHIgMjQgMjM6NTI6NDcgMTk5NSAgUmljayBTbGFka2V5ICA8anJzQHdvcmxkLnN0ZC5jb20+CisKKwkqIG5ldC5jIChzb2NrdHlwZXMpOiBBZGQgU09DS19QQUNLRVQuCisKK1N1biBBcHIgIDIgMjM6NTA6MzkgMTk5NSAgUmljayBTbGFka2V5ICA8anJzQHdvcmxkLnN0ZC5jb20+CisKKwkqIE1ha2VmaWxlIChjbGVhbik6IENoZWNrIGV4cGxpY2l0bHkgZm9yIGEgTWFrZWZpbGUgaW4gc3ViZGlycworCWJlZm9yZSBydW5uaW5nIG1ha2UgaW4gdGhlbS4KKworU3VuIE1hciAyNiAxMjozNzoyMSAxOTk1ICBSaWNrIFNsYWRrZXkgIDxqcnNAd29ybGQuc3RkLmNvbT4KKworCSogc3RyYWNlLmMgW01JUFNdIChwcm9jX29wZW4pOiBDb25kaXRpb25hbGl6ZSBydW4gb24gTUlQUy4KKwlbTUlQU10gKGRldGFjaCk6IEluaXRpYWxpemUgZXJyb3IgZm9yIE1JUFMgY2FzZS4KKwkodHJhY2UpOiBJbml0aWFsaXplIGlvY3RsX3Jlc3VsdCBhbmQgaW9jdGxfZXJybm8gZm9yIG92ZXJseSBoZWxwZnVsCisJY29tcGlsZXJzLgorCSogc3lzY2FsbC5jIChkZWNvZGVfc3ViY2FsbCk6IE1vdmUgdmFyaWFibGUgaSBpbnRvIGNvbmRpdGlvbmFscworCXRoYXQgdXNlIHVzZSBpdC4KKwkqIHN5c3RlbS5jIChzeXNzZ2lfb3B0aW9ucyk6IENvbmRpdGlvbmFsaXplIFNHSV9SRUNWTE1TRyBhbmQKKwlTR0lfU0VUX0ZQREVCVUcgdGhhdCBTR0kgZGVjaWRlZCB0byBkcm9wLiAgSSBkb24ndCBoYXZlIHRoZSBzdG9tYWNoCisJdG8gY2hhbmdlIHRoZW0gYWxsLgorCSogdGVybS5jICh0ZXJtX2lvY3RsKTogRm9yY2UgW2NfW2lvY2xdZmxhZ3MgbWVtYmVycyB0byBsb25nIGJlZm9yZQorCXByaW50aW5nIHNpbmNlIHdlIGRvbid0IGtub3cgd2hhdCB0aGUgc2l6ZSBvZiB0aGVpciB0eXBlIGlzLgorCSogdXRpbC5jIFtTVlI0LCBNSVBTXSAodW1vdmVuKTogUHJldmVudCBNSVBTIGZyb20gdXNpbmcgcHJlYWQgZXZlbgorCWlmIGF1dG9jb25mIGRldGVjdHMgaXQgc2luY2UgaXQgc2VlbXMgdG8gZWl0aGVyIG5vdCB3b3JrIG9yIGRvCisJc29tZXRoaW5nIGVsc2UgZW50aXJlbHkgb24gSXJpeCA1LjMuCisKK1N1biBNYXIgMjYgMDA6MDE6MTEgMTk5NSAgUmljayBTbGFka2V5ICA8anJzQHdvcmxkLnN0ZC5jb20+CisKKwkqIHZlcnNpb24uYzogVmVyc2lvbiAzLjAuMiBpcyByZWxlYXNlZC4KKwkqIGxpbnV4L2R1bW15Lmg6IE1ha2Ugc3lzX2ZjaGRpciBsaWtlIHN5c19jbG9zZSBpbnN0ZWFkIG9mIHByaW50YXJncworCXNvIHRoYXQgdGhlIGZpbGUgZGVzY3JpcHRvciBhcmcgaXMgZGVjaW1hbC4KKworU2F0IE1hciAyNSAyMjo1MDoxMyAxOTk1ICBSaWNrIFNsYWRrZXkgIDxqcnNAd29ybGQuc3RkLmNvbT4KKworCSogbmV0LmMgW0xJTlVYXSAocHJvdG9jb2xzKTogRXhwbGljaXRseSBkZWZpbmUgYWxsIElQUFJPVE9fKiBlbnRyaWVzCisJYmVjYXVzZSBvbiBMaW51eCB0aGV5IGFyZSBlbnVtZXJhdG9ycy4KKworCSogc3lzdGVtLmMgW0xJTlVYXSAobW91bnRfZmxhZ3MpOiBIYW5kbGUgcmVuYW1pbmcgb2YgTVNfU1lOQyB0bworCU1TX1NZTkNIUk9OT1VTLgorCisJKiB1dGlsLmMgKHByaW50eHZhbCk6IFdoZW4gdGhlcmUgaXMgbm8gdHJhbnNsYXRpb24sIHByaW50IHRoZSBhY3R1YWwKKwludW1iZXIgZmlyc3QgYW5kIHRoZSB0aGUgZGVmYXVsdCB2YWx1ZSBhcyBhIEMgY29tbWVudC4KKworCSogbmV0LmMgKHN5c19zZW5kLCBzeXNfc2VuZHRvLCBzeXNfc2VuZG1zZywgc3lzX2dldHNvY2tvcHQsCisJc3lzX3NldHNvY2tvcHQpOiBDaGFuZ2UgZmlyc3QgYXJndW1lbnQgZnJvbSB1bnNpZ25lZCB0byBzaWduZWQgdG8KKwljYXRlciB0byB0aGUgZnJlcXVlbnQgcHJhY3RpY2Ugb2YgY2FsbGluZyBzeXN0ZW0gY2FsbHMgd2l0aCBhIGZpbGUKKwlkZXNjcmlwdG9yIG9mIC0xLgorCSogbWVtLmMgKHN5c19tbWFwKTogTGlrZXdpc2UuCisKK1N1biBNYXIgMTkgMTM6NTM6NTIgMTk5NSAgUmljayBTbGFka2V5ICA8anJzQHdvcmxkLnN0ZC5jb20+CisKKwkqIHNpZ25hbC5jIFtMSU5VWF0gKHNpZ25hbGVudCk6IEhhbmRsZSBvbGQgYW5kIG5ldyB2YWx1ZXMgb2YgU0lHSU8uCisKK1N1biBEZWMgMTEgMjI6NTE6NTEgMTk5NCAgUmljayBTbGFka2V5ICA8anJzQHdvcmxkLnN0ZC5jb20+CisKKwkqIHZlcnNpb24uYzogVmVyc2lvbiAzLjAuMSBpcyByZWxlYXNlZC4KKwkqIE1ha2VmaWxlLmluLCBjb25maWd1cmUuaW4sIGFjbG9jYWwubTQ6IENoYW5nZXMgZm9yIGF1dG9jb25mIDIuMC4KKwkqIGNvbmZpZy5ndWVzcywgY29uZmlnLmd1ZXNzOiBVcGRhdGUgZnJvbSB0aGUgRlNGLgorCSogaW5zdGFsbC1zaDogTmV3IGZyb20gdGhlIEZTRi4KKworTW9uIERlYyAgNSAyMDo1MToyOSAxOTk0ICBSaWNrIFNsYWRrZXkgIDxqcnNAd29ybGQuc3RkLmNvbT4KKworCSogTWFrZWZpbGUuaW46IEFkZCBtNjhrIGFyY2guCisJKiBhY2NvbmZpZy5oIChNNjhLKTogQWRkIG02OGsgZGVmaW5lLgorCSogY29uZmlndXJlLmluOiBBZGQgZGV0ZWN0aW9uIG9mIGFyY2ggbTY4ay4KKwkqIHByb2Nlc3MuYyBbTTY4S10gKHN0cnVjdF91c2VyX29mZnNldHMpOiBTdXBwb3J0IG02OGsgcmVnaXN0ZXJzIGFuZAorCW9mZnNldHMuCisJKiBzaWduYWwuYyBbTTY4S10gKHNpZ2NvbnRleHRfc3RydWN0KTogU3VwcG9ydCBtNjhrIHNpZ2NvbnRleHQKKwlzdHJ1Y3R1cmUuCisJW002OEtdIChzeXNfc2lncmV0dXJuKTogU3VwcG9ydCBtNjhrIHNpZ3JldHVybiBoYW5kbGluZy4KKwkqIHN5c2NhbGwuYyBbTTY4S10gKHN5c2NhbGwpOiBTdXBwb3J0IG02OGsgc3lzY2FsbCBudW1iZXIgcmVnaXN0ZXIKKwlhbmQgZXJybm8gaW4gZDAgaW5zdGVhZCBvZiBlYXguCisJKiB1dGlsLmMgW002OEtdIChnZXRwYywgcHJpbnRjYWxsLCBzZXRicHQsIGNsZWFyYnB0KTogU3VwcG9ydCBtNjhrCisJcHJvZ3JhbSBjb3VudGVyIGluIFBUX1BDIGluc3RlYWQgb2YgRUlQLgorCVtNNjhLXSAoTE9PUCk6IFN1cHBvcnQgbTY4ayBsb29wIGluc3RydWN0aW9uLgorCUZyb20gQW5kcmVhcyBTY2h3YWIgPHNjaHdhYkBpc3Nhbi5pbmZvcm1hdGlrLnVuaS1kb3J0bXVuZC5kZT4uCisKKwkqIG1lbS5jIFtNQVBfQU5PTllNT1VTXSAobW1hcF9mbGFncyk6IENvcnJlY3QgaW5hZHZlcnRlbnQgcmVmZXJlbmNlCisJdG8gTUFQX0ZJWEVEIGluc3RlYWQgb2YgTUFQX0FOT05ZTU9VUy4KKwlGcm9tIEFuZHJlYXMgU2Nod2FiIDxzY2h3YWJAaXNzYW4uaW5mb3JtYXRpay51bmktZG9ydG11bmQuZGU+LgorCisJKiBzaWduYWwuYyBbTElOVVhdIChzaWduYWxlbnQpOiBTaWduYWwgMzAgaXMgbm93IFNJR1BXUi4KKwlGcm9tIEFuZHJlYXMgU2Nod2FiIDxzY2h3YWJAaXNzYW4uaW5mb3JtYXRpay51bmktZG9ydG11bmQuZGU+LgorCitNb24gRGVjICA1IDAxOjA1OjQ2IDE5OTQgIFJpY2sgU2xhZGtleSAgPGpyc0B3b3JsZC5zdGQuY29tPgorCisJKiBkZWZzLmggKHRwcmludGYpOiBGaXggdHlwbyBpbiBub24tZ2NjIGFuc2kgcHJvdG90eXBlIGZvciB0cHJpbnRmLgorCVJlcG9ydGVkIGJ5IFRoYW5oIE1hIDx0bWFAZW5jb3JlLmNvbT4uCisKKwkqIHN0cmFjZS5jIChjbGVhbnVwKTogU2VuZCBTSUdDT05UIGJlZm9yZSBTSUdURVJNIGJlY2F1c2UgTGludXgKKwkxLjEuNjIgZG9lc24ndCBjb250aW51ZSBhIHRyYWNlZCBjaGlsZCB3aGVuIHRoZSBwYXJlbnQgZXhpdHMuCisJUmVwb3J0ZWQgYnkgTWF0dCBEYXkgPG1kYXlAYXJ0aXNvZnQuY29tPi4KKworCSogc3lzdGVtLmMgW0xJTlVYXTogSW5jbHVkZSBuZXRpbmV0L2luLmggYmVmb3JlIGFycGEvaW5ldC5oLgorCisJKiB1dGlsLmMgKHByaW50c3RyKTogRml4IGxvbmdzdGFuZGluZyBidWcgaW4gbm90YXRpbmcgc3RyaW5nCisJY29udGludWF0aW9uLgorCisJKiBzdHJhY2UuYyBbU1ZSNF0gKHByb2Nfb3Blbik6IFNwZWNpZmljYWxseSB3YWl0IGZvciB0aGUgY2hpbGQgdGhlCisJY2hpbGQgdG8gZ28gaW50byB0aGUgZXhlY3ZlIHN5c2NhbGwgdG8gYXZvaWQgc3B1cmlvdXMgdHJhY2VzLgorCVtMSU5VWF0gKGRldGFjaCk6IENvbmRpdGlvbmFsaXplIHRoZSBzdGF0dXMgdmFyaWFibGUuCisKK1N1biBEZWMgIDQgMjM6MjE6NDIgMTk5NCAgUmljayBTbGFka2V5ICA8anJzQHdvcmxkLnN0ZC5jb20+CisKKwkqIE1ha2VmaWxlLmluOiBBZGQgbWlwcyBhcmNoLgorCSogYWNjb25maWcuaCAoTUlQUyk6IEFkZCBtaXBzIGRlZmluZS4KKwkqIGNvbmZpZ3VyZS5pbjogQWRkIGRldGVjdGlvbiBvZiBvcHN5cyBpcml4NSBhbmQgYXJjaCBtaXBzLiAgQ2hlY2sKKwlmb3IgcHJjdGwgZnVuY3Rpb24uCisJQ2hlY2sgZm9yIHN5cy9zeXNjb25maWcuaCBoZWFkZXIuCisJKiBkZWZzLmggKE1BWF9BUkdTKTogQnVtcCBtYXhpbXVtIHN5c2NhbGwgYXJndW1lbnRzIGZyb20gOCB0byAzMi4KKwkqIGZpbGUuYyBbU1ZSNF06IEluY2x1ZGUgc3lzL2NyZWQuaC4KKwkoYWNjZXNzX2ZsYWdzKTogVXBkYXRlIGFjY2VzcyBmbGFncyBmb3IgU0dJLgorCShzcHJpbnR0aW1lKTogQ2hhbmdlIHR5cGUgb2Ygc3ByaW50dGltZSBhcmd1bWVudCBmcm9tIHVuc2lnbmVkCisJbG9uZyB0byB0aW1lX3QuCisJKiBwcm9jZXNzLmMgW0hBVkVfUFJDVExdOiBJbmNsdWRlIHN5cy9wcmN0bC5oLgorCVtIQVZFX1BSQ1RMXSAocHJjdGxfb3B0aW9ucywgc3lzX3ByY3RsKTogTmV3IGZvciBTR0kuCisJKHByaW50c2lnaW5mbyk6IENvbmRpdGlvbmFsbHkgY29tcGlsZSBTSV9USU1FUiBhbmQgU0lfTUVTR1EuCisJQ2FzdCBzaV9iYW5kIG1lbWJlciB0byBsb25nIGJlZm9yZSBwcmludGluZy4KKwkqIHNpZ25hbC5jIChzaWdhY3RfZmxhZ3MpOiBBZGQgX1NBX0JTRENBTEwgZm9yIFNHSS4KKwkoc2lncHJvY21hc2tjbWRzKTogQWRkIFNJR19TRVRNQVNLMzIgZm9yIFNHSS4KKwkqIHN0cmFjZS5jIFtTVlI0XSBbTUlQU106CisJKGZvb2Jhcik6IE5ldyBkdW1teSBzaWduYWwgaGFuZGxlci4KKwkobWFpbik6IEluc3RhbGwgYSBkdW1teSBzaWduYWwgaGFuZGxlciBpbiB0aGUgY2hpbGQgYmVmb3JlIHBhdXNpbmcKKwl0byB3b3JrIGFyb3VuZCBhbiBTR0kgYnVnIGluIFBSU0FCT1JULgorCShwcm9jX29wZW4pOiBTZW5kIGEgaW50ZXJydXB0IHRvIHRoZSBjaGlsZCBpbnN0ZWFkIG9mIGFib3J0aW5nIHRoZQorCXN5c2NhbGwgd2hpY2ggZG9lc24ndCB3b3JrIG9uIElyaXg1LjIuCisJKiBzdnI0L2R1bW15Lmg6IEFkZCBuZXcgdW5maW5pc2hlZCBTR0kgc3lzY2FsbHMKKwkoZS5nLiBzeXNfc3lzbXAsIHN5c19zZ2luYXAsIGV0Yy4pLiAgSGFuZGxlIHNvbWUgU0dJIHN5c2NhbGxzIGxpa2UKKwlleGlzdGluZyBjYWxscyAoZS5nLiBzeXNfa3NpZ2FjdGlvbiBsaWtlIHN5c19zaWdhY3Rpb24pLgorCVByaW50YXJncyBkb2VzIHRoZSBwcmludCB0aGluZyBmb3Igc3lzX3NldGhvc3RpZC4KKwkqIHN2cjQvc3lzY2FsbC5oOiBEZWNsYXJlIGFsbCBuZXcgU0dJIHN5c2NhbGxzLgorCShTR0lfS0xVREdFKTogRGVmaW5lIHN5c2NhbGwgdGFibGUgc3RhcnRpbmcgaW5kZXggdG8gYmUgMSBmb3IgU0dJCisJYW5kIGFkZCBpdCB0byBhbGwgc3ViY2FsbCBlbnRyeSBwb2ludHMuCisJKFNZU19wZ3Jwc3lzX3N1YmNhbGwsIFNZU19zaWdjYWxsX3N1YmNhbGwsIFNZU19jb250ZXh0KTogRG9uJ3QKKwlkZWNvZGUgYXMgc3ViY2FsbHMgb24gTUlQUy4gSW5zdGVhZCwgdXNlIHRoZSBub3JtYWwgc3lzY2FsbHMuCisJKiBzdnI0L3N5c2NhbGxlbnQuaCBbTUlQU106IExlYWQgc3lzY2FsbCB0YWJsZSB3aXRoIGEgZHVtbXkgZW50cnkKKwlzaW5jZSBTR0kgc3lzY2FsbCBudW1iZXJzIGFyZSBvZmYgYnkgb25lLgorCVtNSVBTXSAoc3lzX3BncnBzeXMpOiBSZW5hbWUgdG8gc3lzX3NldHBncnAgb24gU0dJLgorCVtNSVBTXSAoc3lzX3hlbml4KTogUmVuYW1lIHRvIHN5c19zeXNzZ2kgb24gU0dJLgorCVtNSVBTXSAoc3lzX3N5c21hY2hpbmUpOiBSZW5hbWUgdG8gc3lzX3N5c21pcHMgb24gU0dJLgorCVtNSVBTXTogQ29uZGl0aW9uYWxpemUgU1ZSNCBleHRlbnNpb24gaW50byBTR0kgYW5kIFNvbGFyaXMgY2xhc3Nlcy4KKwkqIHN5c2NhbGwuYyAoZHVtcGlvKTogVmFsaWRhdGUgZGVzY3JpcHRvciBhZ2FpbnN0IE1BWF9RVUFMUy4KKwlbSEFWRV9QUl9TWVNDQUxMXSAoc3lzY2FsbCk6IENvbmRpdGlvbmFsaXplIFNZU192Zm9yay4KKwlbTUlQU10gKHN5c2NhbGwpOiBBZGQgU0dJIHNlY3Rpb24gZm9yIGRlY29kaW5nIHVfZXJyb3IgYW5kIHVfcnZhbC4KKwlBZGQgd29ya2Fyb3VuZCBmb3IgYnJva2VuIFNHSSBwcl9zeXNhcmcgb24gc3lzY2FsbCBlbnRyeS4KKwlbU1ZSNF0gKHN5c2NhbGwpOiBDb25kaXRpb25hbGl6ZSBzdWJjYWxsIGRlY29kaW5nIGZvcgorCVNZU19wdHJwc3lzX3N1YmNhbGwsIFNZU19zaWdjYWxsX3N1YmNhbGwgYW5kIFNZU19jb250ZXh0X3N1YmNhbGwuCisJW1NWUjRdIFtNSVBTXSAoZ2V0cnZhbDIpOiBIYW5kbGUgU0dJLgorCSogc3lzY2FsbGVudC5zaDogRG9yayB0aGUgc2VkIGxpbmUgdG8gYmUgY2hvb3NpZXIgYWJvdXQgU1lTXyBsaW5lcy4KKwkqIHN5c3RlbS5jIFtIQVZFX1NZU0NPTkZJR19IXTogSW5jbHVkZSBzeXMvc3lzY29uZmlnLmguCisJW01JUFNdIChzeXNzZ2lfb3B0aW9ucywgc3lzX3N5c3NnaSk6IE5ldyBmb3IgU0dJLgpkaWZmIC0tZ2l0IGEvc3RyYWNlLTQuNS4yMC9JTlNUQUxMIGIvc3RyYWNlLTQuNS4yMC9JTlNUQUxMCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdhMTFlZDAKLS0tIC9kZXYvbnVsbAorKysgYi9zdHJhY2UtNC41LjIwL0lOU1RBTEwKQEAgLTAsMCArMSwxODAgQEAKK0Jhc2ljIEluc3RhbGxhdGlvbgorPT09PT09PT09PT09PT09PT09CisKKyAgIFRoZXNlIGFyZSBnZW5lcmljIGluc3RhbGxhdGlvbiBpbnN0cnVjdGlvbnMuCisKKyAgIFRoZSBgY29uZmlndXJlJyBzaGVsbCBzY3JpcHQgYXR0ZW1wdHMgdG8gZ3Vlc3MgY29ycmVjdCB2YWx1ZXMgZm9yCit2YXJpb3VzIHN5c3RlbS1kZXBlbmRlbnQgdmFyaWFibGVzIHVzZWQgZHVyaW5nIGNvbXBpbGF0aW9uLiAgSXQgdXNlcwordGhvc2UgdmFsdWVzIHRvIGNyZWF0ZSBhIGBNYWtlZmlsZScgaW4gZWFjaCBkaXJlY3Rvcnkgb2YgdGhlIHBhY2thZ2UuCitJdCBtYXkgYWxzbyBjcmVhdGUgb25lIG9yIG1vcmUgYC5oJyBmaWxlcyBjb250YWluaW5nIHN5c3RlbS1kZXBlbmRlbnQKK2RlZmluaXRpb25zLiAgRmluYWxseSwgaXQgY3JlYXRlcyBhIHNoZWxsIHNjcmlwdCBgY29uZmlnLnN0YXR1cycgdGhhdAoreW91IGNhbiBydW4gaW4gdGhlIGZ1dHVyZSB0byByZWNyZWF0ZSB0aGUgY3VycmVudCBjb25maWd1cmF0aW9uLCBhIGZpbGUKK2Bjb25maWcuY2FjaGUnIHRoYXQgc2F2ZXMgdGhlIHJlc3VsdHMgb2YgaXRzIHRlc3RzIHRvIHNwZWVkIHVwCityZWNvbmZpZ3VyaW5nLCBhbmQgYSBmaWxlIGBjb25maWcubG9nJyBjb250YWluaW5nIGNvbXBpbGVyIG91dHB1dAorKHVzZWZ1bCBtYWlubHkgZm9yIGRlYnVnZ2luZyBgY29uZmlndXJlJykuCisKKyAgIElmIHlvdSBuZWVkIHRvIGRvIHVudXN1YWwgdGhpbmdzIHRvIGNvbXBpbGUgdGhlIHBhY2thZ2UsIHBsZWFzZSB0cnkKK3RvIGZpZ3VyZSBvdXQgaG93IGBjb25maWd1cmUnIGNvdWxkIGNoZWNrIHdoZXRoZXIgdG8gZG8gdGhlbSwgYW5kIG1haWwKK2RpZmZzIG9yIGluc3RydWN0aW9ucyB0byB0aGUgYWRkcmVzcyBnaXZlbiBpbiB0aGUgYFJFQURNRScgc28gdGhleSBjYW4KK2JlIGNvbnNpZGVyZWQgZm9yIHRoZSBuZXh0IHJlbGVhc2UuICBJZiBhdCBzb21lIHBvaW50IGBjb25maWcuY2FjaGUnCitjb250YWlucyByZXN1bHRzIHlvdSBkb24ndCB3YW50IHRvIGtlZXAsIHlvdSBtYXkgcmVtb3ZlIG9yIGVkaXQgaXQuCisKKyAgIFRoZSBmaWxlIGBjb25maWd1cmUuaW4nIGlzIHVzZWQgdG8gY3JlYXRlIGBjb25maWd1cmUnIGJ5IGEgcHJvZ3JhbQorY2FsbGVkIGBhdXRvY29uZicuICBZb3Ugb25seSBuZWVkIGBjb25maWd1cmUuaW4nIGlmIHlvdSB3YW50IHRvIGNoYW5nZQoraXQgb3IgcmVnZW5lcmF0ZSBgY29uZmlndXJlJyB1c2luZyBhIG5ld2VyIHZlcnNpb24gb2YgYGF1dG9jb25mJy4KKworVGhlIHNpbXBsZXN0IHdheSB0byBjb21waWxlIHRoaXMgcGFja2FnZSBpczoKKworICAxLiBgY2QnIHRvIHRoZSBkaXJlY3RvcnkgY29udGFpbmluZyB0aGUgcGFja2FnZSdzIHNvdXJjZSBjb2RlIGFuZCB0eXBlCisgICAgIGAuL2NvbmZpZ3VyZScgdG8gY29uZmlndXJlIHRoZSBwYWNrYWdlIGZvciB5b3VyIHN5c3RlbS4gIElmIHlvdSdyZQorICAgICB1c2luZyBgY3NoJyBvbiBhbiBvbGQgdmVyc2lvbiBvZiBTeXN0ZW0gViwgeW91IG1pZ2h0IG5lZWQgdG8gdHlwZQorICAgICBgc2ggLi9jb25maWd1cmUnIGluc3RlYWQgdG8gcHJldmVudCBgY3NoJyBmcm9tIHRyeWluZyB0byBleGVjdXRlCisgICAgIGBjb25maWd1cmUnIGl0c2VsZi4KKworICAgICBSdW5uaW5nIGBjb25maWd1cmUnIHRha2VzIGF3aGlsZS4gIFdoaWxlIHJ1bm5pbmcsIGl0IHByaW50cyBzb21lCisgICAgIG1lc3NhZ2VzIHRlbGxpbmcgd2hpY2ggZmVhdHVyZXMgaXQgaXMgY2hlY2tpbmcgZm9yLgorCisgIDIuIFR5cGUgYG1ha2UnIHRvIGNvbXBpbGUgdGhlIHBhY2thZ2UuCisKKyAgMy4gT3B0aW9uYWxseSwgdHlwZSBgbWFrZSBjaGVjaycgdG8gcnVuIGFueSBzZWxmLXRlc3RzIHRoYXQgY29tZSB3aXRoCisgICAgIHRoZSBwYWNrYWdlLgorCisgIDQuIFR5cGUgYG1ha2UgaW5zdGFsbCcgdG8gaW5zdGFsbCB0aGUgcHJvZ3JhbXMgYW5kIGFueSBkYXRhIGZpbGVzIGFuZAorICAgICBkb2N1bWVudGF0aW9uLgorCisgIDUuIFlvdSBjYW4gcmVtb3ZlIHRoZSBwcm9ncmFtIGJpbmFyaWVzIGFuZCBvYmplY3QgZmlsZXMgZnJvbSB0aGUKKyAgICAgc291cmNlIGNvZGUgZGlyZWN0b3J5IGJ5IHR5cGluZyBgbWFrZSBjbGVhbicuICBUbyBhbHNvIHJlbW92ZSB0aGUKKyAgICAgZmlsZXMgdGhhdCBgY29uZmlndXJlJyBjcmVhdGVkIChzbyB5b3UgY2FuIGNvbXBpbGUgdGhlIHBhY2thZ2UgZm9yCisgICAgIGEgZGlmZmVyZW50IGtpbmQgb2YgY29tcHV0ZXIpLCB0eXBlIGBtYWtlIGRpc3RjbGVhbicuICBUaGVyZSBpcworICAgICBhbHNvIGEgYG1ha2UgbWFpbnRhaW5lci1jbGVhbicgdGFyZ2V0LCBidXQgdGhhdCBpcyBpbnRlbmRlZCBtYWlubHkKKyAgICAgZm9yIHRoZSBwYWNrYWdlJ3MgZGV2ZWxvcGVycy4gIElmIHlvdSB1c2UgaXQsIHlvdSBtYXkgaGF2ZSB0byBnZXQKKyAgICAgYWxsIHNvcnRzIG9mIG90aGVyIHByb2dyYW1zIGluIG9yZGVyIHRvIHJlZ2VuZXJhdGUgZmlsZXMgdGhhdCBjYW1lCisgICAgIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKworQ29tcGlsZXJzIGFuZCBPcHRpb25zCis9PT09PT09PT09PT09PT09PT09PT0KKworICAgU29tZSBzeXN0ZW1zIHJlcXVpcmUgdW51c3VhbCBvcHRpb25zIGZvciBjb21waWxhdGlvbiBvciBsaW5raW5nIHRoYXQKK3RoZSBgY29uZmlndXJlJyBzY3JpcHQgZG9lcyBub3Qga25vdyBhYm91dC4gIFlvdSBjYW4gZ2l2ZSBgY29uZmlndXJlJworaW5pdGlhbCB2YWx1ZXMgZm9yIHZhcmlhYmxlcyBieSBzZXR0aW5nIHRoZW0gaW4gdGhlIGVudmlyb25tZW50LiAgVXNpbmcKK2EgQm91cm5lLWNvbXBhdGlibGUgc2hlbGwsIHlvdSBjYW4gZG8gdGhhdCBvbiB0aGUgY29tbWFuZCBsaW5lIGxpa2UKK3RoaXM6CisgICAgIENDPWM4OSBDRkxBR1M9LU8yIExJQlM9LWxwb3NpeCAuL2NvbmZpZ3VyZQorCitPciBvbiBzeXN0ZW1zIHRoYXQgaGF2ZSB0aGUgYGVudicgcHJvZ3JhbSwgeW91IGNhbiBkbyBpdCBsaWtlIHRoaXM6CisgICAgIGVudiBDUFBGTEFHUz0tSS91c3IvbG9jYWwvaW5jbHVkZSBMREZMQUdTPS1zIC4vY29uZmlndXJlCisKK0NvbXBpbGluZyBGb3IgTXVsdGlwbGUgQXJjaGl0ZWN0dXJlcworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKKyAgIFlvdSBjYW4gY29tcGlsZSB0aGUgcGFja2FnZSBmb3IgbW9yZSB0aGFuIG9uZSBraW5kIG9mIGNvbXB1dGVyIGF0IHRoZQorc2FtZSB0aW1lLCBieSBwbGFjaW5nIHRoZSBvYmplY3QgZmlsZXMgZm9yIGVhY2ggYXJjaGl0ZWN0dXJlIGluIHRoZWlyCitvd24gZGlyZWN0b3J5LiAgVG8gZG8gdGhpcywgeW91IG11c3QgdXNlIGEgdmVyc2lvbiBvZiBgbWFrZScgdGhhdAorc3VwcG9ydHMgdGhlIGBWUEFUSCcgdmFyaWFibGUsIHN1Y2ggYXMgR05VIGBtYWtlJy4gIGBjZCcgdG8gdGhlCitkaXJlY3Rvcnkgd2hlcmUgeW91IHdhbnQgdGhlIG9iamVjdCBmaWxlcyBhbmQgZXhlY3V0YWJsZXMgdG8gZ28gYW5kIHJ1bgordGhlIGBjb25maWd1cmUnIHNjcmlwdC4gIGBjb25maWd1cmUnIGF1dG9tYXRpY2FsbHkgY2hlY2tzIGZvciB0aGUKK3NvdXJjZSBjb2RlIGluIHRoZSBkaXJlY3RvcnkgdGhhdCBgY29uZmlndXJlJyBpcyBpbiBhbmQgaW4gYC4uJy4KKworICAgSWYgeW91IGhhdmUgdG8gdXNlIGEgYG1ha2UnIHRoYXQgZG9lcyBub3Qgc3VwcG9ydHMgdGhlIGBWUEFUSCcKK3ZhcmlhYmxlLCB5b3UgaGF2ZSB0byBjb21waWxlIHRoZSBwYWNrYWdlIGZvciBvbmUgYXJjaGl0ZWN0dXJlIGF0IGEgdGltZQoraW4gdGhlIHNvdXJjZSBjb2RlIGRpcmVjdG9yeS4gIEFmdGVyIHlvdSBoYXZlIGluc3RhbGxlZCB0aGUgcGFja2FnZSBmb3IKK29uZSBhcmNoaXRlY3R1cmUsIHVzZSBgbWFrZSBkaXN0Y2xlYW4nIGJlZm9yZSByZWNvbmZpZ3VyaW5nIGZvciBhbm90aGVyCithcmNoaXRlY3R1cmUuCisKK0luc3RhbGxhdGlvbiBOYW1lcworPT09PT09PT09PT09PT09PT09CisKKyAgIEJ5IGRlZmF1bHQsIGBtYWtlIGluc3RhbGwnIHdpbGwgaW5zdGFsbCB0aGUgcGFja2FnZSdzIGZpbGVzIGluCitgL3Vzci9sb2NhbC9iaW4nLCBgL3Vzci9sb2NhbC9tYW4nLCBldGMuICBZb3UgY2FuIHNwZWNpZnkgYW4KK2luc3RhbGxhdGlvbiBwcmVmaXggb3RoZXIgdGhhbiBgL3Vzci9sb2NhbCcgYnkgZ2l2aW5nIGBjb25maWd1cmUnIHRoZQorb3B0aW9uIGAtLXByZWZpeD1QQVRIJy4KKworICAgWW91IGNhbiBzcGVjaWZ5IHNlcGFyYXRlIGluc3RhbGxhdGlvbiBwcmVmaXhlcyBmb3IKK2FyY2hpdGVjdHVyZS1zcGVjaWZpYyBmaWxlcyBhbmQgYXJjaGl0ZWN0dXJlLWluZGVwZW5kZW50IGZpbGVzLiAgSWYgeW91CitnaXZlIGBjb25maWd1cmUnIHRoZSBvcHRpb24gYC0tZXhlYy1wcmVmaXg9UEFUSCcsIHRoZSBwYWNrYWdlIHdpbGwgdXNlCitQQVRIIGFzIHRoZSBwcmVmaXggZm9yIGluc3RhbGxpbmcgcHJvZ3JhbXMgYW5kIGxpYnJhcmllcy4KK0RvY3VtZW50YXRpb24gYW5kIG90aGVyIGRhdGEgZmlsZXMgd2lsbCBzdGlsbCB1c2UgdGhlIHJlZ3VsYXIgcHJlZml4LgorCisgICBJbiBhZGRpdGlvbiwgaWYgeW91IHVzZSBhbiB1bnVzdWFsIGRpcmVjdG9yeSBsYXlvdXQgeW91IGNhbiBnaXZlCitvcHRpb25zIGxpa2UgYC0tYmluZGlyPVBBVEgnIHRvIHNwZWNpZnkgZGlmZmVyZW50IHZhbHVlcyBmb3IgcGFydGljdWxhcgora2luZHMgb2YgZmlsZXMuICBSdW4gYGNvbmZpZ3VyZSAtLWhlbHAnIGZvciBhIGxpc3Qgb2YgdGhlIGRpcmVjdG9yaWVzCit5b3UgY2FuIHNldCBhbmQgd2hhdCBraW5kcyBvZiBmaWxlcyBnbyBpbiB0aGVtLgorCisgICBJZiB0aGUgcGFja2FnZSBzdXBwb3J0cyBpdCwgeW91IGNhbiBjYXVzZSBwcm9ncmFtcyB0byBiZSBpbnN0YWxsZWQKK3dpdGggYW4gZXh0cmEgcHJlZml4IG9yIHN1ZmZpeCBvbiB0aGVpciBuYW1lcyBieSBnaXZpbmcgYGNvbmZpZ3VyZScgdGhlCitvcHRpb24gYC0tcHJvZ3JhbS1wcmVmaXg9UFJFRklYJyBvciBgLS1wcm9ncmFtLXN1ZmZpeD1TVUZGSVgnLgorCitPcHRpb25hbCBGZWF0dXJlcworPT09PT09PT09PT09PT09PT0KKworICAgU29tZSBwYWNrYWdlcyBwYXkgYXR0ZW50aW9uIHRvIGAtLWVuYWJsZS1GRUFUVVJFJyBvcHRpb25zIHRvCitgY29uZmlndXJlJywgd2hlcmUgRkVBVFVSRSBpbmRpY2F0ZXMgYW4gb3B0aW9uYWwgcGFydCBvZiB0aGUgcGFja2FnZS4KK1RoZXkgbWF5IGFsc28gcGF5IGF0dGVudGlvbiB0byBgLS13aXRoLVBBQ0tBR0UnIG9wdGlvbnMsIHdoZXJlIFBBQ0tBR0UKK2lzIHNvbWV0aGluZyBsaWtlIGBnbnUtYXMnIG9yIGB4JyAoZm9yIHRoZSBYIFdpbmRvdyBTeXN0ZW0pLiAgVGhlCitgUkVBRE1FJyBzaG91bGQgbWVudGlvbiBhbnkgYC0tZW5hYmxlLScgYW5kIGAtLXdpdGgtJyBvcHRpb25zIHRoYXQgdGhlCitwYWNrYWdlIHJlY29nbml6ZXMuCisKKyAgIEZvciBwYWNrYWdlcyB0aGF0IHVzZSB0aGUgWCBXaW5kb3cgU3lzdGVtLCBgY29uZmlndXJlJyBjYW4gdXN1YWxseQorZmluZCB0aGUgWCBpbmNsdWRlIGFuZCBsaWJyYXJ5IGZpbGVzIGF1dG9tYXRpY2FsbHksIGJ1dCBpZiBpdCBkb2Vzbid0LAoreW91IGNhbiB1c2UgdGhlIGBjb25maWd1cmUnIG9wdGlvbnMgYC0teC1pbmNsdWRlcz1ESVInIGFuZAorYC0teC1saWJyYXJpZXM9RElSJyB0byBzcGVjaWZ5IHRoZWlyIGxvY2F0aW9ucy4KKworU3BlY2lmeWluZyB0aGUgU3lzdGVtIFR5cGUKKz09PT09PT09PT09PT09PT09PT09PT09PT09CisKKyAgIFRoZXJlIG1heSBiZSBzb21lIGZlYXR1cmVzIGBjb25maWd1cmUnIGNhbiBub3QgZmlndXJlIG91dAorYXV0b21hdGljYWxseSwgYnV0IG5lZWRzIHRvIGRldGVybWluZSBieSB0aGUgdHlwZSBvZiBob3N0IHRoZSBwYWNrYWdlCit3aWxsIHJ1biBvbi4gIFVzdWFsbHkgYGNvbmZpZ3VyZScgY2FuIGZpZ3VyZSB0aGF0IG91dCwgYnV0IGlmIGl0IHByaW50cworYSBtZXNzYWdlIHNheWluZyBpdCBjYW4gbm90IGd1ZXNzIHRoZSBob3N0IHR5cGUsIGdpdmUgaXQgdGhlCitgLS1ob3N0PVRZUEUnIG9wdGlvbi4gIFRZUEUgY2FuIGVpdGhlciBiZSBhIHNob3J0IG5hbWUgZm9yIHRoZSBzeXN0ZW0KK3R5cGUsIHN1Y2ggYXMgYHN1bjQnLCBvciBhIGNhbm9uaWNhbCBuYW1lIHdpdGggdGhyZWUgZmllbGRzOgorICAgICBDUFUtQ09NUEFOWS1TWVNURU0KKworU2VlIHRoZSBmaWxlIGBjb25maWcuc3ViJyBmb3IgdGhlIHBvc3NpYmxlIHZhbHVlcyBvZiBlYWNoIGZpZWxkLiAgSWYKK2Bjb25maWcuc3ViJyBpc24ndCBpbmNsdWRlZCBpbiB0aGlzIHBhY2thZ2UsIHRoZW4gdGhpcyBwYWNrYWdlIGRvZXNuJ3QKK25lZWQgdG8ga25vdyB0aGUgaG9zdCB0eXBlLgorCisgICBJZiB5b3UgYXJlIGJ1aWxkaW5nIGNvbXBpbGVyIHRvb2xzIGZvciBjcm9zcy1jb21waWxpbmcsIHlvdSBjYW4gYWxzbwordXNlIHRoZSBgLS10YXJnZXQ9VFlQRScgb3B0aW9uIHRvIHNlbGVjdCB0aGUgdHlwZSBvZiBzeXN0ZW0gdGhleSB3aWxsCitwcm9kdWNlIGNvZGUgZm9yIGFuZCB0aGUgYC0tYnVpbGQ9VFlQRScgb3B0aW9uIHRvIHNlbGVjdCB0aGUgdHlwZSBvZgorc3lzdGVtIG9uIHdoaWNoIHlvdSBhcmUgY29tcGlsaW5nIHRoZSBwYWNrYWdlLgorCitTaGFyaW5nIERlZmF1bHRzCis9PT09PT09PT09PT09PT09CisKKyAgIElmIHlvdSB3YW50IHRvIHNldCBkZWZhdWx0IHZhbHVlcyBmb3IgYGNvbmZpZ3VyZScgc2NyaXB0cyB0byBzaGFyZSwKK3lvdSBjYW4gY3JlYXRlIGEgc2l0ZSBzaGVsbCBzY3JpcHQgY2FsbGVkIGBjb25maWcuc2l0ZScgdGhhdCBnaXZlcworZGVmYXVsdCB2YWx1ZXMgZm9yIHZhcmlhYmxlcyBsaWtlIGBDQycsIGBjYWNoZV9maWxlJywgYW5kIGBwcmVmaXgnLgorYGNvbmZpZ3VyZScgbG9va3MgZm9yIGBQUkVGSVgvc2hhcmUvY29uZmlnLnNpdGUnIGlmIGl0IGV4aXN0cywgdGhlbgorYFBSRUZJWC9ldGMvY29uZmlnLnNpdGUnIGlmIGl0IGV4aXN0cy4gIE9yLCB5b3UgY2FuIHNldCB0aGUKK2BDT05GSUdfU0lURScgZW52aXJvbm1lbnQgdmFyaWFibGUgdG8gdGhlIGxvY2F0aW9uIG9mIHRoZSBzaXRlIHNjcmlwdC4KK0Egd2FybmluZzogbm90IGFsbCBgY29uZmlndXJlJyBzY3JpcHRzIGxvb2sgZm9yIGEgc2l0ZSBzY3JpcHQuCisKK09wZXJhdGlvbiBDb250cm9scworPT09PT09PT09PT09PT09PT09CisKKyAgIGBjb25maWd1cmUnIHJlY29nbml6ZXMgdGhlIGZvbGxvd2luZyBvcHRpb25zIHRvIGNvbnRyb2wgaG93IGl0CitvcGVyYXRlcy4KKworYC0tY2FjaGUtZmlsZT1GSUxFJworICAgICBVc2UgYW5kIHNhdmUgdGhlIHJlc3VsdHMgb2YgdGhlIHRlc3RzIGluIEZJTEUgaW5zdGVhZCBvZgorICAgICBgLi9jb25maWcuY2FjaGUnLiAgU2V0IEZJTEUgdG8gYC9kZXYvbnVsbCcgdG8gZGlzYWJsZSBjYWNoaW5nLCBmb3IKKyAgICAgZGVidWdnaW5nIGBjb25maWd1cmUnLgorCitgLS1oZWxwJworICAgICBQcmludCBhIHN1bW1hcnkgb2YgdGhlIG9wdGlvbnMgdG8gYGNvbmZpZ3VyZScsIGFuZCBleGl0LgorCitgLS1xdWlldCcKK2AtLXNpbGVudCcKK2AtcScKKyAgICAgRG8gbm90IHByaW50IG1lc3NhZ2VzIHNheWluZyB3aGljaCBjaGVja3MgYXJlIGJlaW5nIG1hZGUuCisKK2AtLXNyY2Rpcj1ESVInCisgICAgIExvb2sgZm9yIHRoZSBwYWNrYWdlJ3Mgc291cmNlIGNvZGUgaW4gZGlyZWN0b3J5IERJUi4gIFVzdWFsbHkKKyAgICAgYGNvbmZpZ3VyZScgY2FuIGRldGVybWluZSB0aGF0IGRpcmVjdG9yeSBhdXRvbWF0aWNhbGx5LgorCitgLS12ZXJzaW9uJworICAgICBQcmludCB0aGUgdmVyc2lvbiBvZiBBdXRvY29uZiB1c2VkIHRvIGdlbmVyYXRlIHRoZSBgY29uZmlndXJlJworICAgICBzY3JpcHQsIGFuZCBleGl0LgorCitgY29uZmlndXJlJyBhbHNvIGFjY2VwdHMgc29tZSBvdGhlciwgbm90IHdpZGVseSB1c2VmdWwsIG9wdGlvbnMuCmRpZmYgLS1naXQgYS9zdHJhY2UtNC41LjIwL01ha2VmaWxlLmFtIGIvc3RyYWNlLTQuNS4yMC9NYWtlZmlsZS5hbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNDQ3NjJlCi0tLSAvZGV2L251bGwKKysrIGIvc3RyYWNlLTQuNS4yMC9NYWtlZmlsZS5hbQpAQCAtMCwwICsxLDEzMCBAQAorIyBBdXRvbWFrZSBpbnB1dCBmb3Igc3RyYWNlLgorCitiaW5fUFJPR1JBTVMgPSBzdHJhY2UKK21hbl9NQU5TID0gc3RyYWNlLjEKK2Jpbl9TQ1JJUFRTID0gc3RyYWNlLWdyYXBoCisKKyMgT1MgaXMgb25lIG9mIGBsaW51eCcsIGBzdW5vczQnLCBgc3ZyNCcsIG9yIGBmcmVlYnNkJy4KK09TCQk9IEBvcHN5c0AKKyMgQVJDSCBpcyBgaTM4NicsIGBtNjhrJywgYHNwYXJjJywgZXRjLgorQVJDSAkJPSBAYXJjaEAKKworQU1fQ0ZMQUdTID0gJChXQVJORkxBR1MpCitJTkNMVURFUyA9IC1JJChzcmNkaXIpLyQoT1MpLyQoQVJDSCkgLUkkKHNyY2RpcikvJChPUykKKworc3RyYWNlX1NPVVJDRVMgPSBzdHJhY2UuYyBzeXNjYWxsLmMgY291bnQuYyB1dGlsLmMgZGVzYy5jIGZpbGUuYyBpcGMuYyBcCisJCSBpby5jIGlvY3RsLmMgbWVtLmMgbmV0LmMgcHJvY2Vzcy5jIGJqbS5jIHF1b3RhLmMgXAorCQkgcmVzb3VyY2UuYyBzaWduYWwuYyBzb2NrLmMgc3lzdGVtLmMgdGVybS5jIHRpbWUuYyBcCisJCSBwcm9jLmMgc2NzaS5jIHN0cmVhbS5jCitub2luc3RfSEVBREVSUyA9IGRlZnMuaAorCitFWFRSQV9ESVNUID0gJChtYW5fTUFOUykgZXJybm9lbnQuc2ggc2lnbmFsZW50LnNoIHN5c2NhbGxlbnQuc2ggaW9jdGxzb3J0LmMgXAorCSAgICAgZGViaWFuL2NoYW5nZWxvZyBkZWJpYW4vY29udHJvbCBkZWJpYW4vY29weXJpZ2h0IGRlYmlhbi9ydWxlcyBcCisJICAgICBkZWJpYW4vY29tcGF0IGRlYmlhbi9zdHJhY2U2NC5pbnN0YWxsIGRlYmlhbi9zdHJhY2U2NC5tYW5wYWdlcyBcCisJICAgICBkZWJpYW4vc3RyYWNlLmRvY3MgZGViaWFuL3N0cmFjZS5leGFtcGxlcyBkZWJpYW4vc3RyYWNlLmluc3RhbGwgXAorCSAgICAgZGViaWFuL3N0cmFjZS5tYW5wYWdlcyBkZWJpYW4vc3RyYWNlLXVkZWIuaW5zdGFsbCBcCisJICAgICBzdHJhY2Uuc3BlYyBcCisJICAgICBzdHJhY2UtZ3JhcGggQ2hhbmdlTG9nIENoYW5nZUxvZy1DVlMgQ09QWVJJR0hUIENSRURJVFMgUE9SVElORyBcCisJICAgICBSRUFETUUtZnJlZWJzZCBSRUFETUUtbGludXggUkVBRE1FLXN1bm9zNCBSRUFETUUtc3ZyNCBcCisJICAgICBsaW51eC9pb2N0bHNvcnQuYyBsaW51eC9pb2N0bGVudC5zaCBcCisJICAgICBsaW51eC9pb2N0bGVudC5oIGxpbnV4L2Vycm5vZW50LmggbGludXgvc2lnbmFsZW50LmggXAorCSAgICAgbGludXgvc3lzY2FsbC5oIGxpbnV4L2R1bW15LmggXAorCSAgICAgbGludXgvaTM4Ni9zeXNjYWxsZW50LmggXAorCSAgICAgbGludXgvYWxwaGEvZXJybm9lbnQuaCBsaW51eC9hbHBoYS9pb2N0bGVudC5oIFwKKwkgICAgIGxpbnV4L2FscGhhL3NpZ25hbGVudC5oIGxpbnV4L2FscGhhL3N5c2NhbGxlbnQuaCBcCisJICAgICBsaW51eC9hcm0vc3lzY2FsbGVudC5oIGxpbnV4L2FybS9zeXNjYWxsZW50MS5oIFwKKwkgICAgIGxpbnV4L2FybS9zaWduYWxlbnQxLmggbGludXgvYXJtL2lvY3RsZW50MS5oIFwKKwkgICAgIGxpbnV4L2FybS9lcnJub2VudDEuaCBcCisJICAgICBsaW51eC9hdnIzMi9zeXNjYWxsZW50LmggXAorCSAgICAgbGludXgvYmZpbi9pb2N0bGVudC5oIGxpbnV4L2JmaW4vc3lzY2FsbGVudC5oIFwKKwkgICAgIGxpbnV4L2hwcGEvZXJybm9lbnQuaCBsaW51eC9ocHBhL2lvY3RsZW50LmggXAorCSAgICAgbGludXgvaHBwYS9zaWduYWxlbnQuaCBsaW51eC9ocHBhL3N5c2NhbGxlbnQuaCBcCisJICAgICBsaW51eC9pYTY0L3N5c2NhbGxlbnQuaCBcCisJICAgICBsaW51eC9pYTY0L2lvY3RsZW50LmggXAorCSAgICAgbGludXgvbTY4ay9zeXNjYWxsZW50LmggXAorCSAgICAgbGludXgvbWlwcy9pb2N0bGVudC5zaCBsaW51eC9taXBzL2Vycm5vZW50LmggXAorCSAgICAgbGludXgvbWlwcy9pb2N0bGVudC5oIGxpbnV4L21pcHMvc2lnbmFsZW50LmggXAorCSAgICAgbGludXgvbWlwcy9zeXNjYWxsZW50LmggXAorCSAgICAgbGludXgvcG93ZXJwYy9zeXNjYWxsZW50LmggXAorCSAgICAgbGludXgvcG93ZXJwYy9pb2N0bGVudC5oIFwKKwkgICAgIGxpbnV4L3MzOTAvaW9jdGxlbnQuaCBcCisJICAgICBsaW51eC9zMzkwL3N5c2NhbGxlbnQuaCBcCisJICAgICBsaW51eC9zMzkweC9pb2N0bGVudC5oIFwKKwkgICAgIGxpbnV4L3MzOTB4L3N5c2NhbGxlbnQuaCBcCisJICAgICBsaW51eC9zaC9zeXNjYWxsZW50LmggXAorCSAgICAgbGludXgvc2gvaW9jdGxlbnQuaCBcCisJICAgICBsaW51eC9zaDY0L3N5c2NhbGxlbnQuaCBcCisJICAgICBsaW51eC9zcGFyYy9kdW1teTIuaCBcCisJICAgICBsaW51eC9zcGFyYy9lcnJub2VudC5oIGxpbnV4L3NwYXJjL2Vycm5vZW50MS5oIFwKKwkgICAgIGxpbnV4L3NwYXJjL2lvY3RsZW50LmggbGludXgvc3BhcmMvaW9jdGxlbnQxLmggXAorCSAgICAgbGludXgvc3BhcmMvc2lnbmFsZW50LmggbGludXgvc3BhcmMvc2lnbmFsZW50MS5oIFwKKwkgICAgIGxpbnV4L3NwYXJjL3N5c2NhbGwuaCBsaW51eC9zcGFyYy9zeXNjYWxsMS5oIFwKKwkgICAgIGxpbnV4L3NwYXJjL3N5c2NhbGxlbnQuaCBsaW51eC9zcGFyYy9zeXNjYWxsZW50MS5oIFwKKwkgICAgIGxpbnV4L3NwYXJjL2dlbi5wbCBsaW51eC9zcGFyYy9zeXNjYWxsLmguMiBcCisJICAgICBsaW51eC9zcGFyYzY0L2R1bW15Mi5oIGxpbnV4L3NwYXJjNjQvZXJybm9lbnQuaCBcCisJICAgICBsaW51eC9zcGFyYzY0L2Vycm5vZW50MS5oIGxpbnV4L3NwYXJjNjQvZXJybm9lbnQyLmggXAorCSAgICAgbGludXgvc3BhcmM2NC9pb2N0bGVudC5oIGxpbnV4L3NwYXJjNjQvaW9jdGxlbnQxLmggXAorCSAgICAgbGludXgvc3BhcmM2NC9pb2N0bGVudDIuaCBsaW51eC9zcGFyYzY0L3NpZ25hbGVudC5oIFwKKwkgICAgIGxpbnV4L3NwYXJjNjQvc2lnbmFsZW50MS5oIGxpbnV4L3NwYXJjNjQvc2lnbmFsZW50Mi5oIFwKKwkgICAgIGxpbnV4L3NwYXJjNjQvc3lzY2FsbC5oIGxpbnV4L3NwYXJjNjQvc3lzY2FsbDEuaCBcCisJICAgICBsaW51eC9zcGFyYzY0L3N5c2NhbGxlbnQuaCBsaW51eC9zcGFyYzY0L3N5c2NhbGxlbnQxLmggXAorCSAgICAgbGludXgvc3BhcmM2NC9zeXNjYWxsZW50Mi5oIFwKKwkgICAgIGxpbnV4L3RpbGUvc3lzY2FsbGVudC5oIFwKKwkgICAgIGxpbnV4L3g4Nl82NC9zeXNjYWxsZW50LmggbGludXgveDg2XzY0L2dlbnRhYi5wbCBcCisJICAgICBsaW51eC94ODZfNjQvZXJybm9lbnQxLmggbGludXgveDg2XzY0L2lvY3RsZW50MS5oIFwKKwkgICAgIGxpbnV4L3g4Nl82NC9zaWduYWxlbnQxLmggbGludXgveDg2XzY0L3N5c2NhbGxlbnQxLmggXAorCSAgICAgZnJlZWJzZC9pb2N0bGVudC5zaCBcCisJICAgICBmcmVlYnNkL3N5c2NhbGxzLmNhdCBmcmVlYnNkL3N5c2NhbGxzLnBsIGZyZWVic2Qvc3lzY2FsbHMucHJpbnQgXAorCSAgICAgZnJlZWJzZC9pMzg2L2Vycm5vZW50LmggZnJlZWJzZC9pMzg2L2lvY3RsZW50LmggXAorCSAgICAgZnJlZWJzZC9pMzg2L3NpZ25hbGVudC5oIFwKKwkgICAgIGZyZWVic2QvaTM4Ni9zeXNjYWxsLmggZnJlZWJzZC9pMzg2L3N5c2NhbGxlbnQuaCBcCisJICAgICBzdW5vczQvZHVtbXkuaCBzdW5vczQvZXJybm9lbnQuaCBcCisJICAgICBzdW5vczQvaW9jdGxlbnQuaCBzdW5vczQvaW9jdGxlbnQuc2ggc3Vub3M0L3NpZ25hbGVudC5oIFwKKwkgICAgIHN1bm9zNC9zeXNjYWxsLmggc3Vub3M0L3N5c2NhbGxlbnQuaCBcCisJICAgICBzdnI0L2R1bW15Lmggc3ZyNC9lcnJub2VudC5oIHN2cjQvaW9jdGxlbnQuaCBzdnI0L2lvY3RsZW50LnNoIFwKKwkgICAgIHN2cjQvc2lnbmFsZW50Lmggc3ZyNC9zeXNjYWxsLmggc3ZyNC9zeXNjYWxsZW50LmggXAorCSAgICAgeGxhdGUuZWwKKworLlBIT05ZOiBzcnBtCitzcnBtOiBkaXN0LWJ6aXAyCisJcnBtYnVpbGQgLS1kZWZpbmUgJyVfc3JjcnBtZGlyIC4nIC10cyAkKGRpc3RkaXIpLnRhci5iejIKKworaWYgTUFJTlRBSU5FUl9NT0RFCisKK2dlbl9jaGFuZ2Vsb2dfc3RhcnRfZGF0ZSA9IDIwMDktMDctMDggMjA6MDAKKyQoc3JjZGlyKS9DaGFuZ2VMb2c6ICQodG9wX3NyY2RpcikvZ2l0bG9nLXRvLWNoYW5nZWxvZyAkKHNyY2RpcikvTWFrZWZpbGUuaW4gXAorCQkgICAgICQodG9wX3NyY2RpcikvLmdpdC9yZWZzL2hlYWRzLyoKKwlAcm0gLWYgJEAubmV3CisJKGNkICQodG9wX3NyY2Rpcik7IFwKKwkgLi9naXRsb2ctdG8tY2hhbmdlbG9nIC0tc2luY2U9JyQoZ2VuX2NoYW5nZWxvZ19zdGFydF9kYXRlKSc7IFwKKwkgZWNobzsgZWNobzsgZWNobyAnU2VlIENoYW5nZUxvZy1DVlMgZm9yIG9sZGVyIGNoYW5nZXMuJyBcCisJKSA+ICRALm5ldworCWNobW9kIDQ0NCAkQC5uZXcKKwltdiAtZiAkQC5uZXcgJEAKKworZXhwb3J0IFRBUl9PUFRJT05TID0gLS1vd25lcj0wIC0tZ3JvdXA9MCAtLW51bWVyaWMtb3duZXIgLS1tb2RlPWdvLXcsZ28rclgKKworaWYgTElOVVgKKworSU9DVExESVIgPSAvdXNyL2luY2x1ZGUKK0lPQ1RMQVNNID0gYXNtCisKK2lmIEkzODYKK2lvY3RsZW50X2ggPSBsaW51eC9pb2N0bGVudC5oCitlbHNlCitpb2N0bGVudF9oID0gbGludXgvJChBUkNIKS9pb2N0bGVudC5oCitlbmRpZgorCitCVUlMVF9TT1VSQ0VTID0gJChpb2N0bGVudF9oKQorCiskKHNyY2RpcikvJChpb2N0bGVudF9oKTogaW9jdGxzb3J0CisJJCg8RCkvJCg8RikgPiAkQAoraW9jdGxzb3J0OiAkKHNyY2RpcikvbGludXgvaW9jdGxzb3J0LmMgaW9jdGxzLmggaW9jdGxkZWZzLmgKKwkkKGZpbHRlci1vdXQgLUklLCQoTElOSy5jKSkgLUkuIC1JJChJT0NUTERJUikgJChmaWx0ZXIgLUklLCQoTElOSy5jKSkgXAorCSAgLW8gJEAgJDwKK2lvY3Rscy5oOiAkKHNyY2RpcikvbGludXgvaW9jdGxlbnQuc2gKKwkkKFNIRUxMKSAkPCAkKElPQ1RMRElSKSAkKElPQ1RMQVNNKQoraW9jdGxkZWZzLmg6IGlvY3Rscy5oIDsKKworZW5kaWYKK2VuZGlmCmRpZmYgLS1naXQgYS9zdHJhY2UtNC41LjIwL01ha2VmaWxlLmluIGIvc3RyYWNlLTQuNS4yMC9NYWtlZmlsZS5pbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNjdkYjYwCi0tLSAvZGV2L251bGwKKysrIGIvc3RyYWNlLTQuNS4yMC9NYWtlZmlsZS5pbgpAQCAtMCwwICsxLDg5MSBAQAorIyBNYWtlZmlsZS5pbiBnZW5lcmF0ZWQgYnkgYXV0b21ha2UgMS4xMS4xYSBmcm9tIE1ha2VmaWxlLmFtLgorIyBAY29uZmlndXJlX2lucHV0QAorCisjIENvcHlyaWdodCAoQykgMTk5NCwgMTk5NSwgMTk5NiwgMTk5NywgMTk5OCwgMTk5OSwgMjAwMCwgMjAwMSwgMjAwMiwKKyMgMjAwMywgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSwgMjAxMCAgRnJlZSBTb2Z0d2FyZQorIyBGb3VuZGF0aW9uLCBJbmMuCisjIFRoaXMgTWFrZWZpbGUuaW4gaXMgZnJlZSBzb2Z0d2FyZTsgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbgorIyBnaXZlcyB1bmxpbWl0ZWQgcGVybWlzc2lvbiB0byBjb3B5IGFuZC9vciBkaXN0cmlidXRlIGl0LAorIyB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9ucywgYXMgbG9uZyBhcyB0aGlzIG5vdGljZSBpcyBwcmVzZXJ2ZWQuCisKKyMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWSwgdG8gdGhlIGV4dGVudCBwZXJtaXR0ZWQgYnkgbGF3OyB3aXRob3V0CisjIGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEKKyMgUEFSVElDVUxBUiBQVVJQT1NFLgorCitAU0VUX01BS0VACisKKyMgQXV0b21ha2UgaW5wdXQgZm9yIHN0cmFjZS4KKworCisKK1ZQQVRIID0gQHNyY2RpckAKK3BrZ2RhdGFkaXIgPSAkKGRhdGFkaXIpL0BQQUNLQUdFQAorcGtnaW5jbHVkZWRpciA9ICQoaW5jbHVkZWRpcikvQFBBQ0tBR0VACitwa2dsaWJkaXIgPSAkKGxpYmRpcikvQFBBQ0tBR0VACitwa2dsaWJleGVjZGlyID0gJChsaWJleGVjZGlyKS9AUEFDS0FHRUAKK2FtX19jZCA9IENEUEFUSD0iJCR7WlNIX1ZFUlNJT04rLn0kKFBBVEhfU0VQQVJBVE9SKSIgJiYgY2QKK2luc3RhbGxfc2hfREFUQSA9ICQoaW5zdGFsbF9zaCkgLWMgLW0gNjQ0CitpbnN0YWxsX3NoX1BST0dSQU0gPSAkKGluc3RhbGxfc2gpIC1jCitpbnN0YWxsX3NoX1NDUklQVCA9ICQoaW5zdGFsbF9zaCkgLWMKK0lOU1RBTExfSEVBREVSID0gJChJTlNUQUxMX0RBVEEpCit0cmFuc2Zvcm0gPSAkKHByb2dyYW1fdHJhbnNmb3JtX25hbWUpCitOT1JNQUxfSU5TVEFMTCA9IDoKK1BSRV9JTlNUQUxMID0gOgorUE9TVF9JTlNUQUxMID0gOgorTk9STUFMX1VOSU5TVEFMTCA9IDoKK1BSRV9VTklOU1RBTEwgPSA6CitQT1NUX1VOSU5TVEFMTCA9IDoKK2J1aWxkX3RyaXBsZXQgPSBAYnVpbGRACitob3N0X3RyaXBsZXQgPSBAaG9zdEAKK2Jpbl9QUk9HUkFNUyA9IHN0cmFjZSQoRVhFRVhUKQorc3ViZGlyID0gLgorRElTVF9DT01NT04gPSBSRUFETUUgJChhbV9fY29uZmlndXJlX2RlcHMpICQobm9pbnN0X0hFQURFUlMpIFwKKwkkKHNyY2RpcikvTWFrZWZpbGUuYW0gJChzcmNkaXIpL01ha2VmaWxlLmluIFwKKwkkKHNyY2RpcikvY29uZmlnLmguaW4gJCh0b3Bfc3JjZGlyKS9jb25maWd1cmUgQVVUSE9SUyBJTlNUQUxMIFwKKwlORVdTIFRPRE8gY29uZmlnLmd1ZXNzIGNvbmZpZy5zdWIgZGVwY29tcCBpbnN0YWxsLXNoIG1pc3NpbmcKK0FDTE9DQUxfTTQgPSAkKHRvcF9zcmNkaXIpL2FjbG9jYWwubTQKK2FtX19hY2xvY2FsX200X2RlcHMgPSAkKHRvcF9zcmNkaXIpL2FjaW5jbHVkZS5tNCBcCisJJCh0b3Bfc3JjZGlyKS9jb25maWd1cmUuYWMKK2FtX19jb25maWd1cmVfZGVwcyA9ICQoYW1fX2FjbG9jYWxfbTRfZGVwcykgJChDT05GSUdVUkVfREVQRU5ERU5DSUVTKSBcCisJJChBQ0xPQ0FMX000KQorYW1fX0NPTkZJR19ESVNUQ0xFQU5fRklMRVMgPSBjb25maWcuc3RhdHVzIGNvbmZpZy5jYWNoZSBjb25maWcubG9nIFwKKyBjb25maWd1cmUubGluZW5vIGNvbmZpZy5zdGF0dXMubGluZW5vCitta2luc3RhbGxkaXJzID0gJChpbnN0YWxsX3NoKSAtZAorQ09ORklHX0hFQURFUiA9IGNvbmZpZy5oCitDT05GSUdfQ0xFQU5fRklMRVMgPQorQ09ORklHX0NMRUFOX1ZQQVRIX0ZJTEVTID0KK2FtX19pbnN0YWxsZGlycyA9ICIkKERFU1RESVIpJChiaW5kaXIpIiAiJChERVNURElSKSQoYmluZGlyKSIgXAorCSIkKERFU1RESVIpJChtYW4xZGlyKSIKK1BST0dSQU1TID0gJChiaW5fUFJPR1JBTVMpCithbV9zdHJhY2VfT0JKRUNUUyA9IHN0cmFjZS4kKE9CSkVYVCkgc3lzY2FsbC4kKE9CSkVYVCkgY291bnQuJChPQkpFWFQpIFwKKwl1dGlsLiQoT0JKRVhUKSBkZXNjLiQoT0JKRVhUKSBmaWxlLiQoT0JKRVhUKSBpcGMuJChPQkpFWFQpIFwKKwlpby4kKE9CSkVYVCkgaW9jdGwuJChPQkpFWFQpIG1lbS4kKE9CSkVYVCkgbmV0LiQoT0JKRVhUKSBcCisJcHJvY2Vzcy4kKE9CSkVYVCkgYmptLiQoT0JKRVhUKSBxdW90YS4kKE9CSkVYVCkgXAorCXJlc291cmNlLiQoT0JKRVhUKSBzaWduYWwuJChPQkpFWFQpIHNvY2suJChPQkpFWFQpIFwKKwlzeXN0ZW0uJChPQkpFWFQpIHRlcm0uJChPQkpFWFQpIHRpbWUuJChPQkpFWFQpIHByb2MuJChPQkpFWFQpIFwKKwlzY3NpLiQoT0JKRVhUKSBzdHJlYW0uJChPQkpFWFQpCitzdHJhY2VfT0JKRUNUUyA9ICQoYW1fc3RyYWNlX09CSkVDVFMpCitzdHJhY2VfTERBREQgPSAkKExEQUREKQorYW1fX3ZwYXRoX2Fkal9zZXR1cCA9IHNyY2RpcnN0cmlwPWBlY2hvICIkKHNyY2RpcikiIHwgc2VkICdzfC58LnxnJ2A7CithbV9fdnBhdGhfYWRqID0gY2FzZSAkJHAgaW4gXAorICAgICQoc3JjZGlyKS8qKSBmPWBlY2hvICIkJHAiIHwgc2VkICJzfF4kJHNyY2RpcnN0cmlwL3x8ImA7OyBcCisgICAgKikgZj0kJHA7OyBcCisgIGVzYWM7CithbV9fc3RyaXBfZGlyID0gZj1gZWNobyAkJHAgfCBzZWQgLWUgJ3N8Xi4qL3x8J2A7CithbV9faW5zdGFsbF9tYXggPSA0MAorYW1fX25vYmFzZV9zdHJpcF9zZXR1cCA9IFwKKyAgc3JjZGlyc3RyaXA9YGVjaG8gIiQoc3JjZGlyKSIgfCBzZWQgJ3MvW10uW14kJFxcKnxdL1xcXFwmL2cnYAorYW1fX25vYmFzZV9zdHJpcCA9IFwKKyAgZm9yIHAgaW4gJCRsaXN0OyBkbyBlY2hvICIkJHAiOyBkb25lIHwgc2VkIC1lICJzfCQkc3JjZGlyc3RyaXAvfHwiCithbV9fbm9iYXNlX2xpc3QgPSAkKGFtX19ub2Jhc2Vfc3RyaXBfc2V0dXApOyBcCisgIGZvciBwIGluICQkbGlzdDsgZG8gZWNobyAiJCRwICQkcCI7IGRvbmUgfCBcCisgIHNlZCAic3wgJCRzcmNkaXJzdHJpcC98IHw7IicgLyAuKlwvLyFzLyAuKi8gLi87IHMsXCggLipcKS9bXi9dKiQkLFwxLCcgfCBcCisgICQoQVdLKSAnQkVHSU4geyBmaWxlc1siLiJdID0gIiIgfSB7IGZpbGVzWyQkMl0gPSBmaWxlc1skJDJdICIgIiAkJDE7IFwKKyAgICBpZiAoKytuWyQkMl0gPT0gJChhbV9faW5zdGFsbF9tYXgpKSBcCisgICAgICB7IHByaW50ICQkMiwgZmlsZXNbJCQyXTsgblskJDJdID0gMDsgZmlsZXNbJCQyXSA9ICIiIH0gfSBcCisgICAgRU5EIHsgZm9yIChkaXIgaW4gZmlsZXMpIHByaW50IGRpciwgZmlsZXNbZGlyXSB9JworYW1fX2Jhc2VfbGlzdCA9IFwKKyAgc2VkICckJCFOOyQkIU47JCQhTjskJCFOOyQkIU47JCQhTjskJCFOO3MvXG4vIC9nJyB8IFwKKyAgc2VkICckJCFOOyQkIU47JCQhTjskJCFOO3MvXG4vIC9nJworU0NSSVBUUyA9ICQoYmluX1NDUklQVFMpCitERUZBVUxUX0lOQ0xVREVTID0gLUkuQGFtX19pc3JjQAorZGVwY29tcCA9ICQoU0hFTEwpICQodG9wX3NyY2RpcikvZGVwY29tcAorYW1fX2RlcGZpbGVzX21heWJlID0gZGVwZmlsZXMKK2FtX19tdiA9IG12IC1mCitDT01QSUxFID0gJChDQykgJChERUZTKSAkKERFRkFVTFRfSU5DTFVERVMpICQoSU5DTFVERVMpICQoQU1fQ1BQRkxBR1MpIFwKKwkkKENQUEZMQUdTKSAkKEFNX0NGTEFHUykgJChDRkxBR1MpCitDQ0xEID0gJChDQykKK0xJTksgPSAkKENDTEQpICQoQU1fQ0ZMQUdTKSAkKENGTEFHUykgJChBTV9MREZMQUdTKSAkKExERkxBR1MpIC1vICRACitTT1VSQ0VTID0gJChzdHJhY2VfU09VUkNFUykKK0RJU1RfU09VUkNFUyA9ICQoc3RyYWNlX1NPVVJDRVMpCittYW4xZGlyID0gJChtYW5kaXIpL21hbjEKK05ST0ZGID0gbnJvZmYKK01BTlMgPSAkKG1hbl9NQU5TKQorSEVBREVSUyA9ICQobm9pbnN0X0hFQURFUlMpCitFVEFHUyA9IGV0YWdzCitDVEFHUyA9IGN0YWdzCitESVNURklMRVMgPSAkKERJU1RfQ09NTU9OKSAkKERJU1RfU09VUkNFUykgJChURVhJTkZPUykgJChFWFRSQV9ESVNUKQorZGlzdGRpciA9ICQoUEFDS0FHRSktJChWRVJTSU9OKQordG9wX2Rpc3RkaXIgPSAkKGRpc3RkaXIpCithbV9fcmVtb3ZlX2Rpc3RkaXIgPSBcCisgIHsgdGVzdCAhIC1kICIkKGRpc3RkaXIpIiBcCisgICAgfHwgeyBmaW5kICIkKGRpc3RkaXIpIiAtdHlwZSBkICEgLXBlcm0gLTIwMCAtZXhlYyBjaG1vZCB1K3cge30gJzsnIFwKKyAgICAgICAgICYmIHJtIC1mciAiJChkaXN0ZGlyKSI7IH07IH0KK0daSVBfRU5WID0gLS1iZXN0CitESVNUX0FSQ0hJVkVTID0gJChkaXN0ZGlyKS50YXIuYnoyCitkaXN0dW5pbnN0YWxsY2hlY2tfbGlzdGZpbGVzID0gZmluZCAuIC10eXBlIGYgLXByaW50CitkaXN0Y2xlYW5jaGVja19saXN0ZmlsZXMgPSBmaW5kIC4gLXR5cGUgZiAtcHJpbnQKK0FDTE9DQUwgPSBAQUNMT0NBTEAKK0FNVEFSID0gQEFNVEFSQAorQVVUT0NPTkYgPSBAQVVUT0NPTkZACitBVVRPSEVBREVSID0gQEFVVE9IRUFERVJACitBVVRPTUFLRSA9IEBBVVRPTUFLRUAKK0FXSyA9IEBBV0tACitDQyA9IEBDQ0AKK0NDREVQTU9ERSA9IEBDQ0RFUE1PREVACitDRkxBR1MgPSBAQ0ZMQUdTQAorQ1BQID0gQENQUEAKK0NQUEZMQUdTID0gQENQUEZMQUdTQAorQ1lHUEFUSF9XID0gQENZR1BBVEhfV0AKK0RFRlMgPSBAREVGU0AKK0RFUERJUiA9IEBERVBESVJACitFQ0hPX0MgPSBARUNIT19DQAorRUNIT19OID0gQEVDSE9fTkAKK0VDSE9fVCA9IEBFQ0hPX1RACitFR1JFUCA9IEBFR1JFUEAKK0VYRUVYVCA9IEBFWEVFWFRACitHUkVQID0gQEdSRVBACitJTlNUQUxMID0gQElOU1RBTExACitJTlNUQUxMX0RBVEEgPSBASU5TVEFMTF9EQVRBQAorSU5TVEFMTF9QUk9HUkFNID0gQElOU1RBTExfUFJPR1JBTUAKK0lOU1RBTExfU0NSSVBUID0gQElOU1RBTExfU0NSSVBUQAorSU5TVEFMTF9TVFJJUF9QUk9HUkFNID0gQElOU1RBTExfU1RSSVBfUFJPR1JBTUAKK0xERkxBR1MgPSBATERGTEFHU0AKK0xJQk9CSlMgPSBATElCT0JKU0AKK0xJQlMgPSBATElCU0AKK0xUTElCT0JKUyA9IEBMVExJQk9CSlNACitNQUlOVCA9IEBNQUlOVEAKK01BS0VJTkZPID0gQE1BS0VJTkZPQAorTUtESVJfUCA9IEBNS0RJUl9QQAorT0JKRVhUID0gQE9CSkVYVEAKK1BBQ0tBR0UgPSBAUEFDS0FHRUAKK1BBQ0tBR0VfQlVHUkVQT1JUID0gQFBBQ0tBR0VfQlVHUkVQT1JUQAorUEFDS0FHRV9OQU1FID0gQFBBQ0tBR0VfTkFNRUAKK1BBQ0tBR0VfU1RSSU5HID0gQFBBQ0tBR0VfU1RSSU5HQAorUEFDS0FHRV9UQVJOQU1FID0gQFBBQ0tBR0VfVEFSTkFNRUAKK1BBQ0tBR0VfVVJMID0gQFBBQ0tBR0VfVVJMQAorUEFDS0FHRV9WRVJTSU9OID0gQFBBQ0tBR0VfVkVSU0lPTkAKK1BBVEhfU0VQQVJBVE9SID0gQFBBVEhfU0VQQVJBVE9SQAorUEVSTCA9IEBQRVJMQAorU0VUX01BS0UgPSBAU0VUX01BS0VACitTSEVMTCA9IEBTSEVMTEAKK1NUUklQID0gQFNUUklQQAorVkVSU0lPTiA9IEBWRVJTSU9OQAorV0FSTkZMQUdTID0gQFdBUk5GTEFHU0AKK2Fic19idWlsZGRpciA9IEBhYnNfYnVpbGRkaXJACithYnNfc3JjZGlyID0gQGFic19zcmNkaXJACithYnNfdG9wX2J1aWxkZGlyID0gQGFic190b3BfYnVpbGRkaXJACithYnNfdG9wX3NyY2RpciA9IEBhYnNfdG9wX3NyY2RpckAKK2FjX2N0X0NDID0gQGFjX2N0X0NDQAorYW1fX2luY2x1ZGUgPSBAYW1fX2luY2x1ZGVACithbV9fbGVhZGluZ19kb3QgPSBAYW1fX2xlYWRpbmdfZG90QAorYW1fX3F1b3RlID0gQGFtX19xdW90ZUAKK2FtX190YXIgPSBAYW1fX3RhckAKK2FtX191bnRhciA9IEBhbV9fdW50YXJACithcmNoID0gQGFyY2hACitiaW5kaXIgPSBAYmluZGlyQAorYnVpbGQgPSBAYnVpbGRACitidWlsZF9hbGlhcyA9IEBidWlsZF9hbGlhc0AKK2J1aWxkX2NwdSA9IEBidWlsZF9jcHVACitidWlsZF9vcyA9IEBidWlsZF9vc0AKK2J1aWxkX3ZlbmRvciA9IEBidWlsZF92ZW5kb3JACitidWlsZGRpciA9IEBidWlsZGRpckAKK2RhdGFkaXIgPSBAZGF0YWRpckAKK2RhdGFyb290ZGlyID0gQGRhdGFyb290ZGlyQAorZG9jZGlyID0gQGRvY2RpckAKK2R2aWRpciA9IEBkdmlkaXJACitleGVjX3ByZWZpeCA9IEBleGVjX3ByZWZpeEAKK2hvc3QgPSBAaG9zdEAKK2hvc3RfYWxpYXMgPSBAaG9zdF9hbGlhc0AKK2hvc3RfY3B1ID0gQGhvc3RfY3B1QAoraG9zdF9vcyA9IEBob3N0X29zQAoraG9zdF92ZW5kb3IgPSBAaG9zdF92ZW5kb3JACitodG1sZGlyID0gQGh0bWxkaXJACitpbmNsdWRlZGlyID0gQGluY2x1ZGVkaXJACitpbmZvZGlyID0gQGluZm9kaXJACitpbnN0YWxsX3NoID0gQGluc3RhbGxfc2hACitsaWJkaXIgPSBAbGliZGlyQAorbGliZXhlY2RpciA9IEBsaWJleGVjZGlyQAorbG9jYWxlZGlyID0gQGxvY2FsZWRpckAKK2xvY2Fsc3RhdGVkaXIgPSBAbG9jYWxzdGF0ZWRpckAKK21hbmRpciA9IEBtYW5kaXJACitta2Rpcl9wID0gQG1rZGlyX3BACitvbGRpbmNsdWRlZGlyID0gQG9sZGluY2x1ZGVkaXJACitvcHN5cyA9IEBvcHN5c0AKK3BkZmRpciA9IEBwZGZkaXJACitwcmVmaXggPSBAcHJlZml4QAorcHJvZ3JhbV90cmFuc2Zvcm1fbmFtZSA9IEBwcm9ncmFtX3RyYW5zZm9ybV9uYW1lQAorcHNkaXIgPSBAcHNkaXJACitzYmluZGlyID0gQHNiaW5kaXJACitzaGFyZWRzdGF0ZWRpciA9IEBzaGFyZWRzdGF0ZWRpckAKK3NyY2RpciA9IEBzcmNkaXJACitzeXNjb25mZGlyID0gQHN5c2NvbmZkaXJACit0YXJnZXRfYWxpYXMgPSBAdGFyZ2V0X2FsaWFzQAordG9wX2J1aWxkX3ByZWZpeCA9IEB0b3BfYnVpbGRfcHJlZml4QAordG9wX2J1aWxkZGlyID0gQHRvcF9idWlsZGRpckAKK3RvcF9zcmNkaXIgPSBAdG9wX3NyY2RpckAKK21hbl9NQU5TID0gc3RyYWNlLjEKK2Jpbl9TQ1JJUFRTID0gc3RyYWNlLWdyYXBoCisKKyMgT1MgaXMgb25lIG9mIGBsaW51eCcsIGBzdW5vczQnLCBgc3ZyNCcsIG9yIGBmcmVlYnNkJy4KK09TID0gQG9wc3lzQAorIyBBUkNIIGlzIGBpMzg2JywgYG02OGsnLCBgc3BhcmMnLCBldGMuCitBUkNIID0gQGFyY2hACitBTV9DRkxBR1MgPSAkKFdBUk5GTEFHUykKK0lOQ0xVREVTID0gLUkkKHNyY2RpcikvJChPUykvJChBUkNIKSAtSSQoc3JjZGlyKS8kKE9TKQorc3RyYWNlX1NPVVJDRVMgPSBzdHJhY2UuYyBzeXNjYWxsLmMgY291bnQuYyB1dGlsLmMgZGVzYy5jIGZpbGUuYyBpcGMuYyBcCisJCSBpby5jIGlvY3RsLmMgbWVtLmMgbmV0LmMgcHJvY2Vzcy5jIGJqbS5jIHF1b3RhLmMgXAorCQkgcmVzb3VyY2UuYyBzaWduYWwuYyBzb2NrLmMgc3lzdGVtLmMgdGVybS5jIHRpbWUuYyBcCisJCSBwcm9jLmMgc2NzaS5jIHN0cmVhbS5jCisKK25vaW5zdF9IRUFERVJTID0gZGVmcy5oCitFWFRSQV9ESVNUID0gJChtYW5fTUFOUykgZXJybm9lbnQuc2ggc2lnbmFsZW50LnNoIHN5c2NhbGxlbnQuc2ggaW9jdGxzb3J0LmMgXAorCSAgICAgZGViaWFuL2NoYW5nZWxvZyBkZWJpYW4vY29udHJvbCBkZWJpYW4vY29weXJpZ2h0IGRlYmlhbi9ydWxlcyBcCisJICAgICBkZWJpYW4vY29tcGF0IGRlYmlhbi9zdHJhY2U2NC5pbnN0YWxsIGRlYmlhbi9zdHJhY2U2NC5tYW5wYWdlcyBcCisJICAgICBkZWJpYW4vc3RyYWNlLmRvY3MgZGViaWFuL3N0cmFjZS5leGFtcGxlcyBkZWJpYW4vc3RyYWNlLmluc3RhbGwgXAorCSAgICAgZGViaWFuL3N0cmFjZS5tYW5wYWdlcyBkZWJpYW4vc3RyYWNlLXVkZWIuaW5zdGFsbCBcCisJICAgICBzdHJhY2Uuc3BlYyBcCisJICAgICBzdHJhY2UtZ3JhcGggQ2hhbmdlTG9nIENoYW5nZUxvZy1DVlMgQ09QWVJJR0hUIENSRURJVFMgUE9SVElORyBcCisJICAgICBSRUFETUUtZnJlZWJzZCBSRUFETUUtbGludXggUkVBRE1FLXN1bm9zNCBSRUFETUUtc3ZyNCBcCisJICAgICBsaW51eC9pb2N0bHNvcnQuYyBsaW51eC9pb2N0bGVudC5zaCBcCisJICAgICBsaW51eC9pb2N0bGVudC5oIGxpbnV4L2Vycm5vZW50LmggbGludXgvc2lnbmFsZW50LmggXAorCSAgICAgbGludXgvc3lzY2FsbC5oIGxpbnV4L2R1bW15LmggXAorCSAgICAgbGludXgvaTM4Ni9zeXNjYWxsZW50LmggXAorCSAgICAgbGludXgvYWxwaGEvZXJybm9lbnQuaCBsaW51eC9hbHBoYS9pb2N0bGVudC5oIFwKKwkgICAgIGxpbnV4L2FscGhhL3NpZ25hbGVudC5oIGxpbnV4L2FscGhhL3N5c2NhbGxlbnQuaCBcCisJICAgICBsaW51eC9hcm0vc3lzY2FsbGVudC5oIGxpbnV4L2FybS9zeXNjYWxsZW50MS5oIFwKKwkgICAgIGxpbnV4L2FybS9zaWduYWxlbnQxLmggbGludXgvYXJtL2lvY3RsZW50MS5oIFwKKwkgICAgIGxpbnV4L2FybS9lcnJub2VudDEuaCBcCisJICAgICBsaW51eC9hdnIzMi9zeXNjYWxsZW50LmggXAorCSAgICAgbGludXgvYmZpbi9pb2N0bGVudC5oIGxpbnV4L2JmaW4vc3lzY2FsbGVudC5oIFwKKwkgICAgIGxpbnV4L2hwcGEvZXJybm9lbnQuaCBsaW51eC9ocHBhL2lvY3RsZW50LmggXAorCSAgICAgbGludXgvaHBwYS9zaWduYWxlbnQuaCBsaW51eC9ocHBhL3N5c2NhbGxlbnQuaCBcCisJICAgICBsaW51eC9pYTY0L3N5c2NhbGxlbnQuaCBcCisJICAgICBsaW51eC9pYTY0L2lvY3RsZW50LmggXAorCSAgICAgbGludXgvbTY4ay9zeXNjYWxsZW50LmggXAorCSAgICAgbGludXgvbWlwcy9pb2N0bGVudC5zaCBsaW51eC9taXBzL2Vycm5vZW50LmggXAorCSAgICAgbGludXgvbWlwcy9pb2N0bGVudC5oIGxpbnV4L21pcHMvc2lnbmFsZW50LmggXAorCSAgICAgbGludXgvbWlwcy9zeXNjYWxsZW50LmggXAorCSAgICAgbGludXgvcG93ZXJwYy9zeXNjYWxsZW50LmggXAorCSAgICAgbGludXgvcG93ZXJwYy9pb2N0bGVudC5oIFwKKwkgICAgIGxpbnV4L3MzOTAvaW9jdGxlbnQuaCBcCisJICAgICBsaW51eC9zMzkwL3N5c2NhbGxlbnQuaCBcCisJICAgICBsaW51eC9zMzkweC9pb2N0bGVudC5oIFwKKwkgICAgIGxpbnV4L3MzOTB4L3N5c2NhbGxlbnQuaCBcCisJICAgICBsaW51eC9zaC9zeXNjYWxsZW50LmggXAorCSAgICAgbGludXgvc2gvaW9jdGxlbnQuaCBcCisJICAgICBsaW51eC9zaDY0L3N5c2NhbGxlbnQuaCBcCisJICAgICBsaW51eC9zcGFyYy9kdW1teTIuaCBcCisJICAgICBsaW51eC9zcGFyYy9lcnJub2VudC5oIGxpbnV4L3NwYXJjL2Vycm5vZW50MS5oIFwKKwkgICAgIGxpbnV4L3NwYXJjL2lvY3RsZW50LmggbGludXgvc3BhcmMvaW9jdGxlbnQxLmggXAorCSAgICAgbGludXgvc3BhcmMvc2lnbmFsZW50LmggbGludXgvc3BhcmMvc2lnbmFsZW50MS5oIFwKKwkgICAgIGxpbnV4L3NwYXJjL3N5c2NhbGwuaCBsaW51eC9zcGFyYy9zeXNjYWxsMS5oIFwKKwkgICAgIGxpbnV4L3NwYXJjL3N5c2NhbGxlbnQuaCBsaW51eC9zcGFyYy9zeXNjYWxsZW50MS5oIFwKKwkgICAgIGxpbnV4L3NwYXJjL2dlbi5wbCBsaW51eC9zcGFyYy9zeXNjYWxsLmguMiBcCisJICAgICBsaW51eC9zcGFyYzY0L2R1bW15Mi5oIGxpbnV4L3NwYXJjNjQvZXJybm9lbnQuaCBcCisJICAgICBsaW51eC9zcGFyYzY0L2Vycm5vZW50MS5oIGxpbnV4L3NwYXJjNjQvZXJybm9lbnQyLmggXAorCSAgICAgbGludXgvc3BhcmM2NC9pb2N0bGVudC5oIGxpbnV4L3NwYXJjNjQvaW9jdGxlbnQxLmggXAorCSAgICAgbGludXgvc3BhcmM2NC9pb2N0bGVudDIuaCBsaW51eC9zcGFyYzY0L3NpZ25hbGVudC5oIFwKKwkgICAgIGxpbnV4L3NwYXJjNjQvc2lnbmFsZW50MS5oIGxpbnV4L3NwYXJjNjQvc2lnbmFsZW50Mi5oIFwKKwkgICAgIGxpbnV4L3NwYXJjNjQvc3lzY2FsbC5oIGxpbnV4L3NwYXJjNjQvc3lzY2FsbDEuaCBcCisJICAgICBsaW51eC9zcGFyYzY0L3N5c2NhbGxlbnQuaCBsaW51eC9zcGFyYzY0L3N5c2NhbGxlbnQxLmggXAorCSAgICAgbGludXgvc3BhcmM2NC9zeXNjYWxsZW50Mi5oIFwKKwkgICAgIGxpbnV4L3RpbGUvc3lzY2FsbGVudC5oIFwKKwkgICAgIGxpbnV4L3g4Nl82NC9zeXNjYWxsZW50LmggbGludXgveDg2XzY0L2dlbnRhYi5wbCBcCisJICAgICBsaW51eC94ODZfNjQvZXJybm9lbnQxLmggbGludXgveDg2XzY0L2lvY3RsZW50MS5oIFwKKwkgICAgIGxpbnV4L3g4Nl82NC9zaWduYWxlbnQxLmggbGludXgveDg2XzY0L3N5c2NhbGxlbnQxLmggXAorCSAgICAgZnJlZWJzZC9pb2N0bGVudC5zaCBcCisJICAgICBmcmVlYnNkL3N5c2NhbGxzLmNhdCBmcmVlYnNkL3N5c2NhbGxzLnBsIGZyZWVic2Qvc3lzY2FsbHMucHJpbnQgXAorCSAgICAgZnJlZWJzZC9pMzg2L2Vycm5vZW50LmggZnJlZWJzZC9pMzg2L2lvY3RsZW50LmggXAorCSAgICAgZnJlZWJzZC9pMzg2L3NpZ25hbGVudC5oIFwKKwkgICAgIGZyZWVic2QvaTM4Ni9zeXNjYWxsLmggZnJlZWJzZC9pMzg2L3N5c2NhbGxlbnQuaCBcCisJICAgICBzdW5vczQvZHVtbXkuaCBzdW5vczQvZXJybm9lbnQuaCBcCisJICAgICBzdW5vczQvaW9jdGxlbnQuaCBzdW5vczQvaW9jdGxlbnQuc2ggc3Vub3M0L3NpZ25hbGVudC5oIFwKKwkgICAgIHN1bm9zNC9zeXNjYWxsLmggc3Vub3M0L3N5c2NhbGxlbnQuaCBcCisJICAgICBzdnI0L2R1bW15Lmggc3ZyNC9lcnJub2VudC5oIHN2cjQvaW9jdGxlbnQuaCBzdnI0L2lvY3RsZW50LnNoIFwKKwkgICAgIHN2cjQvc2lnbmFsZW50Lmggc3ZyNC9zeXNjYWxsLmggc3ZyNC9zeXNjYWxsZW50LmggXAorCSAgICAgeGxhdGUuZWwKKworQE1BSU5UQUlORVJfTU9ERV9UUlVFQGdlbl9jaGFuZ2Vsb2dfc3RhcnRfZGF0ZSA9IDIwMDktMDctMDggMjA6MDAKK0BMSU5VWF9UUlVFQEBNQUlOVEFJTkVSX01PREVfVFJVRUBJT0NUTERJUiA9IC91c3IvaW5jbHVkZQorQExJTlVYX1RSVUVAQE1BSU5UQUlORVJfTU9ERV9UUlVFQElPQ1RMQVNNID0gYXNtCitASTM4Nl9GQUxTRUBATElOVVhfVFJVRUBATUFJTlRBSU5FUl9NT0RFX1RSVUVAaW9jdGxlbnRfaCA9IGxpbnV4LyQoQVJDSCkvaW9jdGxlbnQuaAorQEkzODZfVFJVRUBATElOVVhfVFJVRUBATUFJTlRBSU5FUl9NT0RFX1RSVUVAaW9jdGxlbnRfaCA9IGxpbnV4L2lvY3RsZW50LmgKK0BMSU5VWF9UUlVFQEBNQUlOVEFJTkVSX01PREVfVFJVRUBCVUlMVF9TT1VSQ0VTID0gJChpb2N0bGVudF9oKQorYWxsOiAkKEJVSUxUX1NPVVJDRVMpIGNvbmZpZy5oCisJJChNQUtFKSAkKEFNX01BS0VGTEFHUykgYWxsLWFtCisKKy5TVUZGSVhFUzoKKy5TVUZGSVhFUzogLmMgLm8gLm9iagorYW0tLXJlZnJlc2g6CisJQDoKKyQoc3JjZGlyKS9NYWtlZmlsZS5pbjogQE1BSU5UQUlORVJfTU9ERV9UUlVFQCAkKHNyY2RpcikvTWFrZWZpbGUuYW0gICQoYW1fX2NvbmZpZ3VyZV9kZXBzKQorCUBmb3IgZGVwIGluICQ/OyBkbyBcCisJICBjYXNlICckKGFtX19jb25maWd1cmVfZGVwcyknIGluIFwKKwkgICAgKiQkZGVwKikgXAorCSAgICAgIGVjaG8gJyBjZCAkKHNyY2RpcikgJiYgJChBVVRPTUFLRSkgLS1mb3JlaWduJzsgXAorCSAgICAgICQoYW1fX2NkKSAkKHNyY2RpcikgJiYgJChBVVRPTUFLRSkgLS1mb3JlaWduIFwKKwkJJiYgZXhpdCAwOyBcCisJICAgICAgZXhpdCAxOzsgXAorCSAgZXNhYzsgXAorCWRvbmU7IFwKKwllY2hvICcgY2QgJCh0b3Bfc3JjZGlyKSAmJiAkKEFVVE9NQUtFKSAtLWZvcmVpZ24gTWFrZWZpbGUnOyBcCisJJChhbV9fY2QpICQodG9wX3NyY2RpcikgJiYgXAorCSAgJChBVVRPTUFLRSkgLS1mb3JlaWduIE1ha2VmaWxlCisuUFJFQ0lPVVM6IE1ha2VmaWxlCitNYWtlZmlsZTogJChzcmNkaXIpL01ha2VmaWxlLmluICQodG9wX2J1aWxkZGlyKS9jb25maWcuc3RhdHVzCisJQGNhc2UgJyQ/JyBpbiBcCisJICAqY29uZmlnLnN0YXR1cyopIFwKKwkgICAgZWNobyAnICQoU0hFTEwpIC4vY29uZmlnLnN0YXR1cyc7IFwKKwkgICAgJChTSEVMTCkgLi9jb25maWcuc3RhdHVzOzsgXAorCSAgKikgXAorCSAgICBlY2hvICcgY2QgJCh0b3BfYnVpbGRkaXIpICYmICQoU0hFTEwpIC4vY29uZmlnLnN0YXR1cyAkQCAkKGFtX19kZXBmaWxlc19tYXliZSknOyBcCisJICAgIGNkICQodG9wX2J1aWxkZGlyKSAmJiAkKFNIRUxMKSAuL2NvbmZpZy5zdGF0dXMgJEAgJChhbV9fZGVwZmlsZXNfbWF5YmUpOzsgXAorCWVzYWM7CisKKyQodG9wX2J1aWxkZGlyKS9jb25maWcuc3RhdHVzOiAkKHRvcF9zcmNkaXIpL2NvbmZpZ3VyZSAkKENPTkZJR19TVEFUVVNfREVQRU5ERU5DSUVTKQorCSQoU0hFTEwpIC4vY29uZmlnLnN0YXR1cyAtLXJlY2hlY2sKKworJCh0b3Bfc3JjZGlyKS9jb25maWd1cmU6IEBNQUlOVEFJTkVSX01PREVfVFJVRUAgJChhbV9fY29uZmlndXJlX2RlcHMpCisJJChhbV9fY2QpICQoc3JjZGlyKSAmJiAkKEFVVE9DT05GKQorJChBQ0xPQ0FMX000KTogQE1BSU5UQUlORVJfTU9ERV9UUlVFQCAkKGFtX19hY2xvY2FsX200X2RlcHMpCisJJChhbV9fY2QpICQoc3JjZGlyKSAmJiAkKEFDTE9DQUwpICQoQUNMT0NBTF9BTUZMQUdTKQorJChhbV9fYWNsb2NhbF9tNF9kZXBzKToKKworY29uZmlnLmg6IHN0YW1wLWgxCisJQGlmIHRlc3QgISAtZiAkQDsgdGhlbiBcCisJICBybSAtZiBzdGFtcC1oMTsgXAorCSAgJChNQUtFKSAkKEFNX01BS0VGTEFHUykgc3RhbXAtaDE7IFwKKwllbHNlIDo7IGZpCisKK3N0YW1wLWgxOiAkKHNyY2RpcikvY29uZmlnLmguaW4gJCh0b3BfYnVpbGRkaXIpL2NvbmZpZy5zdGF0dXMKKwlAcm0gLWYgc3RhbXAtaDEKKwljZCAkKHRvcF9idWlsZGRpcikgJiYgJChTSEVMTCkgLi9jb25maWcuc3RhdHVzIGNvbmZpZy5oCiskKHNyY2RpcikvY29uZmlnLmguaW46IEBNQUlOVEFJTkVSX01PREVfVFJVRUAgJChhbV9fY29uZmlndXJlX2RlcHMpIAorCSgkKGFtX19jZCkgJCh0b3Bfc3JjZGlyKSAmJiAkKEFVVE9IRUFERVIpKQorCXJtIC1mIHN0YW1wLWgxCisJdG91Y2ggJEAKKworZGlzdGNsZWFuLWhkcjoKKwktcm0gLWYgY29uZmlnLmggc3RhbXAtaDEKK2luc3RhbGwtYmluUFJPR1JBTVM6ICQoYmluX1BST0dSQU1TKQorCUAkKE5PUk1BTF9JTlNUQUxMKQorCXRlc3QgLXogIiQoYmluZGlyKSIgfHwgJChNS0RJUl9QKSAiJChERVNURElSKSQoYmluZGlyKSIKKwlAbGlzdD0nJChiaW5fUFJPR1JBTVMpJzsgdGVzdCAtbiAiJChiaW5kaXIpIiB8fCBsaXN0PTsgXAorCWZvciBwIGluICQkbGlzdDsgZG8gZWNobyAiJCRwICQkcCI7IGRvbmUgfCBcCisJc2VkICdzLyQoRVhFRVhUKSQkLy8nIHwgXAorCXdoaWxlIHJlYWQgcCBwMTsgZG8gaWYgdGVzdCAtZiAkJHA7IFwKKwkgIHRoZW4gZWNobyAiJCRwIjsgZWNobyAiJCRwIjsgZWxzZSA6OyBmaTsgXAorCWRvbmUgfCBcCisJc2VkIC1lICdwO3MsLiovLCw7bjtoJyAtZSAnc3wuKnwufCcgXAorCSAgICAtZSAncDt4O3MsLiovLCw7cy8kKEVYRUVYVCkkJC8vOyQodHJhbnNmb3JtKTtzLyQkLyQoRVhFRVhUKS8nIHwgXAorCXNlZCAnTjtOO047cyxcbiwgLGcnIHwgXAorCSQoQVdLKSAnQkVHSU4geyBmaWxlc1siLiJdID0gIiI7IGRpcnNbIi4iXSA9IDEgfSBcCisJICB7IGQ9JCQzOyBpZiAoZGlyc1tkXSAhPSAxKSB7IHByaW50ICJkIiwgZDsgZGlyc1tkXSA9IDEgfSBcCisJICAgIGlmICgkJDIgPT0gJCQ0KSBmaWxlc1tkXSA9IGZpbGVzW2RdICIgIiAkJDE7IFwKKwkgICAgZWxzZSB7IHByaW50ICJmIiwgJCQzICIvIiAkJDQsICQkMTsgfSB9IFwKKwkgIEVORCB7IGZvciAoZCBpbiBmaWxlcykgcHJpbnQgImYiLCBkLCBmaWxlc1tkXSB9JyB8IFwKKwl3aGlsZSByZWFkIHR5cGUgZGlyIGZpbGVzOyBkbyBcCisJICAgIGlmIHRlc3QgIiQkZGlyIiA9IC47IHRoZW4gZGlyPTsgZWxzZSBkaXI9LyQkZGlyOyBmaTsgXAorCSAgICB0ZXN0IC16ICIkJGZpbGVzIiB8fCB7IFwKKwkgICAgICBlY2hvICIgJChJTlNUQUxMX1BST0dSQU1fRU5WKSAkKElOU1RBTExfUFJPR1JBTSkgJCRmaWxlcyAnJChERVNURElSKSQoYmluZGlyKSQkZGlyJyI7IFwKKwkgICAgICAkKElOU1RBTExfUFJPR1JBTV9FTlYpICQoSU5TVEFMTF9QUk9HUkFNKSAkJGZpbGVzICIkKERFU1RESVIpJChiaW5kaXIpJCRkaXIiIHx8IGV4aXQgJCQ/OyBcCisJICAgIH0gXAorCTsgZG9uZQorCit1bmluc3RhbGwtYmluUFJPR1JBTVM6CisJQCQoTk9STUFMX1VOSU5TVEFMTCkKKwlAbGlzdD0nJChiaW5fUFJPR1JBTVMpJzsgdGVzdCAtbiAiJChiaW5kaXIpIiB8fCBsaXN0PTsgXAorCWZpbGVzPWBmb3IgcCBpbiAkJGxpc3Q7IGRvIGVjaG8gIiQkcCI7IGRvbmUgfCBcCisJICBzZWQgLWUgJ2g7cyxeLiovLCw7cy8kKEVYRUVYVCkkJC8vOyQodHJhbnNmb3JtKScgXAorCSAgICAgIC1lICdzLyQkLyQoRVhFRVhUKS8nIGA7IFwKKwl0ZXN0IC1uICIkJGxpc3QiIHx8IGV4aXQgMDsgXAorCWVjaG8gIiAoIGNkICckKERFU1RESVIpJChiaW5kaXIpJyAmJiBybSAtZiIgJCRmaWxlcyAiKSI7IFwKKwljZCAiJChERVNURElSKSQoYmluZGlyKSIgJiYgcm0gLWYgJCRmaWxlcworCitjbGVhbi1iaW5QUk9HUkFNUzoKKwktdGVzdCAteiAiJChiaW5fUFJPR1JBTVMpIiB8fCBybSAtZiAkKGJpbl9QUk9HUkFNUykKK3N0cmFjZSQoRVhFRVhUKTogJChzdHJhY2VfT0JKRUNUUykgJChzdHJhY2VfREVQRU5ERU5DSUVTKSAKKwlAcm0gLWYgc3RyYWNlJChFWEVFWFQpCisJJChMSU5LKSAkKHN0cmFjZV9PQkpFQ1RTKSAkKHN0cmFjZV9MREFERCkgJChMSUJTKQoraW5zdGFsbC1iaW5TQ1JJUFRTOiAkKGJpbl9TQ1JJUFRTKQorCUAkKE5PUk1BTF9JTlNUQUxMKQorCXRlc3QgLXogIiQoYmluZGlyKSIgfHwgJChNS0RJUl9QKSAiJChERVNURElSKSQoYmluZGlyKSIKKwlAbGlzdD0nJChiaW5fU0NSSVBUUyknOyB0ZXN0IC1uICIkKGJpbmRpcikiIHx8IGxpc3Q9OyBcCisJZm9yIHAgaW4gJCRsaXN0OyBkbyBcCisJICBpZiB0ZXN0IC1mICIkJHAiOyB0aGVuIGQ9OyBlbHNlIGQ9IiQoc3JjZGlyKS8iOyBmaTsgXAorCSAgaWYgdGVzdCAtZiAiJCRkJCRwIjsgdGhlbiBlY2hvICIkJGQkJHAiOyBlY2hvICIkJHAiOyBlbHNlIDo7IGZpOyBcCisJZG9uZSB8IFwKKwlzZWQgLWUgJ3A7cywuKi8sLDtuJyBcCisJICAgIC1lICdoO3N8Lip8LnwnIFwKKwkgICAgLWUgJ3A7eDtzLC4qLywsOyQodHJhbnNmb3JtKScgfCBzZWQgJ047TjtOO3MsXG4sICxnJyB8IFwKKwkkKEFXSykgJ0JFR0lOIHsgZmlsZXNbIi4iXSA9ICIiOyBkaXJzWyIuIl0gPSAxOyB9IFwKKwkgIHsgZD0kJDM7IGlmIChkaXJzW2RdICE9IDEpIHsgcHJpbnQgImQiLCBkOyBkaXJzW2RdID0gMSB9IFwKKwkgICAgaWYgKCQkMiA9PSAkJDQpIHsgZmlsZXNbZF0gPSBmaWxlc1tkXSAiICIgJCQxOyBcCisJICAgICAgaWYgKCsrbltkXSA9PSAkKGFtX19pbnN0YWxsX21heCkpIHsgXAorCQlwcmludCAiZiIsIGQsIGZpbGVzW2RdOyBuW2RdID0gMDsgZmlsZXNbZF0gPSAiIiB9IH0gXAorCSAgICBlbHNlIHsgcHJpbnQgImYiLCBkICIvIiAkJDQsICQkMSB9IH0gXAorCSAgRU5EIHsgZm9yIChkIGluIGZpbGVzKSBwcmludCAiZiIsIGQsIGZpbGVzW2RdIH0nIHwgXAorCXdoaWxlIHJlYWQgdHlwZSBkaXIgZmlsZXM7IGRvIFwKKwkgICAgIGlmIHRlc3QgIiQkZGlyIiA9IC47IHRoZW4gZGlyPTsgZWxzZSBkaXI9LyQkZGlyOyBmaTsgXAorCSAgICAgdGVzdCAteiAiJCRmaWxlcyIgfHwgeyBcCisJICAgICAgIGVjaG8gIiAkKElOU1RBTExfU0NSSVBUKSAkJGZpbGVzICckKERFU1RESVIpJChiaW5kaXIpJCRkaXInIjsgXAorCSAgICAgICAkKElOU1RBTExfU0NSSVBUKSAkJGZpbGVzICIkKERFU1RESVIpJChiaW5kaXIpJCRkaXIiIHx8IGV4aXQgJCQ/OyBcCisJICAgICB9IFwKKwk7IGRvbmUKKwordW5pbnN0YWxsLWJpblNDUklQVFM6CisJQCQoTk9STUFMX1VOSU5TVEFMTCkKKwlAbGlzdD0nJChiaW5fU0NSSVBUUyknOyB0ZXN0IC1uICIkKGJpbmRpcikiIHx8IGV4aXQgMDsgXAorCWZpbGVzPWBmb3IgcCBpbiAkJGxpc3Q7IGRvIGVjaG8gIiQkcCI7IGRvbmUgfCBcCisJICAgICAgIHNlZCAtZSAncywuKi8sLDskKHRyYW5zZm9ybSknYDsgXAorCXRlc3QgLW4gIiQkbGlzdCIgfHwgZXhpdCAwOyBcCisJZWNobyAiICggY2QgJyQoREVTVERJUikkKGJpbmRpciknICYmIHJtIC1mIiAkJGZpbGVzICIpIjsgXAorCWNkICIkKERFU1RESVIpJChiaW5kaXIpIiAmJiBybSAtZiAkJGZpbGVzCisKK21vc3RseWNsZWFuLWNvbXBpbGU6CisJLXJtIC1mICouJChPQkpFWFQpCisKK2Rpc3RjbGVhbi1jb21waWxlOgorCS1ybSAtZiAqLnRhYi5jCisKK0BBTURFUF9UUlVFQEBhbV9faW5jbHVkZUAgQGFtX19xdW90ZUAuLyQoREVQRElSKS9iam0uUG9AYW1fX3F1b3RlQAorQEFNREVQX1RSVUVAQGFtX19pbmNsdWRlQCBAYW1fX3F1b3RlQC4vJChERVBESVIpL2NvdW50LlBvQGFtX19xdW90ZUAKK0BBTURFUF9UUlVFQEBhbV9faW5jbHVkZUAgQGFtX19xdW90ZUAuLyQoREVQRElSKS9kZXNjLlBvQGFtX19xdW90ZUAKK0BBTURFUF9UUlVFQEBhbV9faW5jbHVkZUAgQGFtX19xdW90ZUAuLyQoREVQRElSKS9maWxlLlBvQGFtX19xdW90ZUAKK0BBTURFUF9UUlVFQEBhbV9faW5jbHVkZUAgQGFtX19xdW90ZUAuLyQoREVQRElSKS9pby5Qb0BhbV9fcXVvdGVACitAQU1ERVBfVFJVRUBAYW1fX2luY2x1ZGVAIEBhbV9fcXVvdGVALi8kKERFUERJUikvaW9jdGwuUG9AYW1fX3F1b3RlQAorQEFNREVQX1RSVUVAQGFtX19pbmNsdWRlQCBAYW1fX3F1b3RlQC4vJChERVBESVIpL2lwYy5Qb0BhbV9fcXVvdGVACitAQU1ERVBfVFJVRUBAYW1fX2luY2x1ZGVAIEBhbV9fcXVvdGVALi8kKERFUERJUikvbWVtLlBvQGFtX19xdW90ZUAKK0BBTURFUF9UUlVFQEBhbV9faW5jbHVkZUAgQGFtX19xdW90ZUAuLyQoREVQRElSKS9uZXQuUG9AYW1fX3F1b3RlQAorQEFNREVQX1RSVUVAQGFtX19pbmNsdWRlQCBAYW1fX3F1b3RlQC4vJChERVBESVIpL3Byb2MuUG9AYW1fX3F1b3RlQAorQEFNREVQX1RSVUVAQGFtX19pbmNsdWRlQCBAYW1fX3F1b3RlQC4vJChERVBESVIpL3Byb2Nlc3MuUG9AYW1fX3F1b3RlQAorQEFNREVQX1RSVUVAQGFtX19pbmNsdWRlQCBAYW1fX3F1b3RlQC4vJChERVBESVIpL3F1b3RhLlBvQGFtX19xdW90ZUAKK0BBTURFUF9UUlVFQEBhbV9faW5jbHVkZUAgQGFtX19xdW90ZUAuLyQoREVQRElSKS9yZXNvdXJjZS5Qb0BhbV9fcXVvdGVACitAQU1ERVBfVFJVRUBAYW1fX2luY2x1ZGVAIEBhbV9fcXVvdGVALi8kKERFUERJUikvc2NzaS5Qb0BhbV9fcXVvdGVACitAQU1ERVBfVFJVRUBAYW1fX2luY2x1ZGVAIEBhbV9fcXVvdGVALi8kKERFUERJUikvc2lnbmFsLlBvQGFtX19xdW90ZUAKK0BBTURFUF9UUlVFQEBhbV9faW5jbHVkZUAgQGFtX19xdW90ZUAuLyQoREVQRElSKS9zb2NrLlBvQGFtX19xdW90ZUAKK0BBTURFUF9UUlVFQEBhbV9faW5jbHVkZUAgQGFtX19xdW90ZUAuLyQoREVQRElSKS9zdHJhY2UuUG9AYW1fX3F1b3RlQAorQEFNREVQX1RSVUVAQGFtX19pbmNsdWRlQCBAYW1fX3F1b3RlQC4vJChERVBESVIpL3N0cmVhbS5Qb0BhbV9fcXVvdGVACitAQU1ERVBfVFJVRUBAYW1fX2luY2x1ZGVAIEBhbV9fcXVvdGVALi8kKERFUERJUikvc3lzY2FsbC5Qb0BhbV9fcXVvdGVACitAQU1ERVBfVFJVRUBAYW1fX2luY2x1ZGVAIEBhbV9fcXVvdGVALi8kKERFUERJUikvc3lzdGVtLlBvQGFtX19xdW90ZUAKK0BBTURFUF9UUlVFQEBhbV9faW5jbHVkZUAgQGFtX19xdW90ZUAuLyQoREVQRElSKS90ZXJtLlBvQGFtX19xdW90ZUAKK0BBTURFUF9UUlVFQEBhbV9faW5jbHVkZUAgQGFtX19xdW90ZUAuLyQoREVQRElSKS90aW1lLlBvQGFtX19xdW90ZUAKK0BBTURFUF9UUlVFQEBhbV9faW5jbHVkZUAgQGFtX19xdW90ZUAuLyQoREVQRElSKS91dGlsLlBvQGFtX19xdW90ZUAKKworLmMubzoKK0BhbV9fZmFzdGRlcENDX1RSVUVACSQoQ09NUElMRSkgLU1UICRAIC1NRCAtTVAgLU1GICQoREVQRElSKS8kKi5UcG8gLWMgLW8gJEAgJDwKK0BhbV9fZmFzdGRlcENDX1RSVUVACSQoYW1fX212KSAkKERFUERJUikvJCouVHBvICQoREVQRElSKS8kKi5QbworQEFNREVQX1RSVUVAQGFtX19mYXN0ZGVwQ0NfRkFMU0VACXNvdXJjZT0nJDwnIG9iamVjdD0nJEAnIGxpYnRvb2w9bm8gQEFNREVQQkFDS1NMQVNIQAorQEFNREVQX1RSVUVAQGFtX19mYXN0ZGVwQ0NfRkFMU0VACURFUERJUj0kKERFUERJUikgJChDQ0RFUE1PREUpICQoZGVwY29tcCkgQEFNREVQQkFDS1NMQVNIQAorQGFtX19mYXN0ZGVwQ0NfRkFMU0VACSQoQ09NUElMRSkgLWMgJDwKKworLmMub2JqOgorQGFtX19mYXN0ZGVwQ0NfVFJVRUAJJChDT01QSUxFKSAtTVQgJEAgLU1EIC1NUCAtTUYgJChERVBESVIpLyQqLlRwbyAtYyAtbyAkQCBgJChDWUdQQVRIX1cpICckPCdgCitAYW1fX2Zhc3RkZXBDQ19UUlVFQAkkKGFtX19tdikgJChERVBESVIpLyQqLlRwbyAkKERFUERJUikvJCouUG8KK0BBTURFUF9UUlVFQEBhbV9fZmFzdGRlcENDX0ZBTFNFQAlzb3VyY2U9JyQ8JyBvYmplY3Q9JyRAJyBsaWJ0b29sPW5vIEBBTURFUEJBQ0tTTEFTSEAKK0BBTURFUF9UUlVFQEBhbV9fZmFzdGRlcENDX0ZBTFNFQAlERVBESVI9JChERVBESVIpICQoQ0NERVBNT0RFKSAkKGRlcGNvbXApIEBBTURFUEJBQ0tTTEFTSEAKK0BhbV9fZmFzdGRlcENDX0ZBTFNFQAkkKENPTVBJTEUpIC1jIGAkKENZR1BBVEhfVykgJyQ8J2AKK2luc3RhbGwtbWFuMTogJChtYW5fTUFOUykKKwlAJChOT1JNQUxfSU5TVEFMTCkKKwl0ZXN0IC16ICIkKG1hbjFkaXIpIiB8fCAkKE1LRElSX1ApICIkKERFU1RESVIpJChtYW4xZGlyKSIKKwlAbGlzdD0nJzsgdGVzdCAtbiAiJChtYW4xZGlyKSIgfHwgZXhpdCAwOyBcCisJeyBmb3IgaSBpbiAkJGxpc3Q7IGRvIGVjaG8gIiQkaSI7IGRvbmU7IFwKKwlsMj0nJChtYW5fTUFOUyknOyBmb3IgaSBpbiAkJGwyOyBkbyBlY2hvICIkJGkiOyBkb25lIHwgXAorCSAgc2VkIC1uICcvXC4xW2Etel0qJCQvcCc7IFwKKwl9IHwgd2hpbGUgcmVhZCBwOyBkbyBcCisJICBpZiB0ZXN0IC1mICQkcDsgdGhlbiBkPTsgZWxzZSBkPSIkKHNyY2RpcikvIjsgZmk7IFwKKwkgIGVjaG8gIiQkZCQkcCI7IGVjaG8gIiQkcCI7IFwKKwlkb25lIHwgXAorCXNlZCAtZSAnbjtzLC4qLywsO3A7aDtzLC4qXC4sLDtzLF5bXjFdWzAtOWEtel0qJCQsMSw7eCcgXAorCSAgICAgIC1lICdzLFwuWzAtOWEtel0qJCQsLDskKHRyYW5zZm9ybSk7RztzLFxuLC4sJyB8IFwKKwlzZWQgJ047TjtzLFxuLCAsZycgfCB7IFwKKwlsaXN0PTsgd2hpbGUgcmVhZCBmaWxlIGJhc2UgaW5zdDsgZG8gXAorCSAgaWYgdGVzdCAiJCRiYXNlIiA9ICIkJGluc3QiOyB0aGVuIGxpc3Q9IiQkbGlzdCAkJGZpbGUiOyBlbHNlIFwKKwkgICAgZWNobyAiICQoSU5TVEFMTF9EQVRBKSAnJCRmaWxlJyAnJChERVNURElSKSQobWFuMWRpcikvJCRpbnN0JyI7IFwKKwkgICAgJChJTlNUQUxMX0RBVEEpICIkJGZpbGUiICIkKERFU1RESVIpJChtYW4xZGlyKS8kJGluc3QiIHx8IGV4aXQgJCQ/OyBcCisJICBmaTsgXAorCWRvbmU7IFwKKwlmb3IgaSBpbiAkJGxpc3Q7IGRvIGVjaG8gIiQkaSI7IGRvbmUgfCAkKGFtX19iYXNlX2xpc3QpIHwgXAorCXdoaWxlIHJlYWQgZmlsZXM7IGRvIFwKKwkgIHRlc3QgLXogIiQkZmlsZXMiIHx8IHsgXAorCSAgICBlY2hvICIgJChJTlNUQUxMX0RBVEEpICQkZmlsZXMgJyQoREVTVERJUikkKG1hbjFkaXIpJyI7IFwKKwkgICAgJChJTlNUQUxMX0RBVEEpICQkZmlsZXMgIiQoREVTVERJUikkKG1hbjFkaXIpIiB8fCBleGl0ICQkPzsgfTsgXAorCWRvbmU7IH0KKwordW5pbnN0YWxsLW1hbjE6CisJQCQoTk9STUFMX1VOSU5TVEFMTCkKKwlAbGlzdD0nJzsgdGVzdCAtbiAiJChtYW4xZGlyKSIgfHwgZXhpdCAwOyBcCisJZmlsZXM9YHsgZm9yIGkgaW4gJCRsaXN0OyBkbyBlY2hvICIkJGkiOyBkb25lOyBcCisJbDI9JyQobWFuX01BTlMpJzsgZm9yIGkgaW4gJCRsMjsgZG8gZWNobyAiJCRpIjsgZG9uZSB8IFwKKwkgIHNlZCAtbiAnL1wuMVthLXpdKiQkL3AnOyBcCisJfSB8IHNlZCAtZSAncywuKi8sLDtoO3MsLipcLiwsO3MsXlteMV1bMC05YS16XSokJCwxLDt4JyBcCisJICAgICAgLWUgJ3MsXC5bMC05YS16XSokJCwsOyQodHJhbnNmb3JtKTtHO3MsXG4sLiwnYDsgXAorCXRlc3QgLXogIiQkZmlsZXMiIHx8IHsgXAorCSAgZWNobyAiICggY2QgJyQoREVTVERJUikkKG1hbjFkaXIpJyAmJiBybSAtZiIgJCRmaWxlcyAiKSI7IFwKKwkgIGNkICIkKERFU1RESVIpJChtYW4xZGlyKSIgJiYgcm0gLWYgJCRmaWxlczsgfQorCitJRDogJChIRUFERVJTKSAkKFNPVVJDRVMpICQoTElTUCkgJChUQUdTX0ZJTEVTKQorCWxpc3Q9JyQoU09VUkNFUykgJChIRUFERVJTKSAkKExJU1ApICQoVEFHU19GSUxFUyknOyBcCisJdW5pcXVlPWBmb3IgaSBpbiAkJGxpc3Q7IGRvIFwKKwkgICAgaWYgdGVzdCAtZiAiJCRpIjsgdGhlbiBlY2hvICQkaTsgZWxzZSBlY2hvICQoc3JjZGlyKS8kJGk7IGZpOyBcCisJICBkb25lIHwgXAorCSAgJChBV0spICd7IGZpbGVzWyQkMF0gPSAxOyBub25lbXB0eSA9IDE7IH0gXAorCSAgICAgIEVORCB7IGlmIChub25lbXB0eSkgeyBmb3IgKGkgaW4gZmlsZXMpIHByaW50IGk7IH07IH0nYDsgXAorCW1raWQgLWZJRCAkJHVuaXF1ZQordGFnczogVEFHUworCitUQUdTOiAgJChIRUFERVJTKSAkKFNPVVJDRVMpIGNvbmZpZy5oLmluICQoVEFHU19ERVBFTkRFTkNJRVMpIFwKKwkJJChUQUdTX0ZJTEVTKSAkKExJU1ApCisJc2V0IHg7IFwKKwloZXJlPWBwd2RgOyBcCisJbGlzdD0nJChTT1VSQ0VTKSAkKEhFQURFUlMpIGNvbmZpZy5oLmluICQoTElTUCkgJChUQUdTX0ZJTEVTKSc7IFwKKwl1bmlxdWU9YGZvciBpIGluICQkbGlzdDsgZG8gXAorCSAgICBpZiB0ZXN0IC1mICIkJGkiOyB0aGVuIGVjaG8gJCRpOyBlbHNlIGVjaG8gJChzcmNkaXIpLyQkaTsgZmk7IFwKKwkgIGRvbmUgfCBcCisJICAkKEFXSykgJ3sgZmlsZXNbJCQwXSA9IDE7IG5vbmVtcHR5ID0gMTsgfSBcCisJICAgICAgRU5EIHsgaWYgKG5vbmVtcHR5KSB7IGZvciAoaSBpbiBmaWxlcykgcHJpbnQgaTsgfTsgfSdgOyBcCisJc2hpZnQ7IFwKKwlpZiB0ZXN0IC16ICIkKEVUQUdTX0FSR1MpJCQqJCR1bmlxdWUiOyB0aGVuIDo7IGVsc2UgXAorCSAgdGVzdCAtbiAiJCR1bmlxdWUiIHx8IHVuaXF1ZT0kJGVtcHR5X2ZpeDsgXAorCSAgaWYgdGVzdCAkJCMgLWd0IDA7IHRoZW4gXAorCSAgICAkKEVUQUdTKSAkKEVUQUdTRkxBR1MpICQoQU1fRVRBR1NGTEFHUykgJChFVEFHU19BUkdTKSBcCisJICAgICAgIiQkQCIgJCR1bmlxdWU7IFwKKwkgIGVsc2UgXAorCSAgICAkKEVUQUdTKSAkKEVUQUdTRkxBR1MpICQoQU1fRVRBR1NGTEFHUykgJChFVEFHU19BUkdTKSBcCisJICAgICAgJCR1bmlxdWU7IFwKKwkgIGZpOyBcCisJZmkKK2N0YWdzOiBDVEFHUworQ1RBR1M6ICAkKEhFQURFUlMpICQoU09VUkNFUykgY29uZmlnLmguaW4gJChUQUdTX0RFUEVOREVOQ0lFUykgXAorCQkkKFRBR1NfRklMRVMpICQoTElTUCkKKwlsaXN0PSckKFNPVVJDRVMpICQoSEVBREVSUykgY29uZmlnLmguaW4gJChMSVNQKSAkKFRBR1NfRklMRVMpJzsgXAorCXVuaXF1ZT1gZm9yIGkgaW4gJCRsaXN0OyBkbyBcCisJICAgIGlmIHRlc3QgLWYgIiQkaSI7IHRoZW4gZWNobyAkJGk7IGVsc2UgZWNobyAkKHNyY2RpcikvJCRpOyBmaTsgXAorCSAgZG9uZSB8IFwKKwkgICQoQVdLKSAneyBmaWxlc1skJDBdID0gMTsgbm9uZW1wdHkgPSAxOyB9IFwKKwkgICAgICBFTkQgeyBpZiAobm9uZW1wdHkpIHsgZm9yIChpIGluIGZpbGVzKSBwcmludCBpOyB9OyB9J2A7IFwKKwl0ZXN0IC16ICIkKENUQUdTX0FSR1MpJCR1bmlxdWUiIFwKKwkgIHx8ICQoQ1RBR1MpICQoQ1RBR1NGTEFHUykgJChBTV9DVEFHU0ZMQUdTKSAkKENUQUdTX0FSR1MpIFwKKwkgICAgICQkdW5pcXVlCisKK0dUQUdTOgorCWhlcmU9YCQoYW1fX2NkKSAkKHRvcF9idWlsZGRpcikgJiYgcHdkYCBcCisJICAmJiAkKGFtX19jZCkgJCh0b3Bfc3JjZGlyKSBcCisJICAmJiBndGFncyAtaSAkKEdUQUdTX0FSR1MpICIkJGhlcmUiCisKK2Rpc3RjbGVhbi10YWdzOgorCS1ybSAtZiBUQUdTIElEIEdUQUdTIEdSVEFHUyBHU1lNUyBHUEFUSCB0YWdzCisKK2Rpc3RkaXI6ICQoRElTVEZJTEVTKQorCUBjYXNlIGBzZWQgMTVxICQoc3JjZGlyKS9ORVdTYCBpbiBcCisJKiIkKFZFUlNJT04pIiopIDogOzsgXAorCSopIFwKKwkgIGVjaG8gIk5FV1Mgbm90IHVwZGF0ZWQ7IG5vdCByZWxlYXNpbmciIDE+JjI7IFwKKwkgIGV4aXQgMTs7IFwKKwllc2FjCisJQGxpc3Q9JyQoTUFOUyknOyBpZiB0ZXN0IC1uICIkJGxpc3QiOyB0aGVuIFwKKwkgIGxpc3Q9YGZvciBwIGluICQkbGlzdDsgZG8gXAorCSAgICBpZiB0ZXN0IC1mICQkcDsgdGhlbiBkPTsgZWxzZSBkPSIkKHNyY2RpcikvIjsgZmk7IFwKKwkgICAgaWYgdGVzdCAtZiAiJCRkJCRwIjsgdGhlbiBlY2hvICIkJGQkJHAiOyBlbHNlIDo7IGZpOyBkb25lYDsgXAorCSAgaWYgdGVzdCAtbiAiJCRsaXN0IiAmJiBcCisJICAgIGdyZXAgJ2FiIGhlbHAybWFuIGlzIHJlcXVpcmVkIHRvIGdlbmVyYXRlIHRoaXMgcGFnZScgJCRsaXN0ID4vZGV2L251bGw7IHRoZW4gXAorCSAgICBlY2hvICJlcnJvcjogZm91bmQgbWFuIHBhZ2VzIGNvbnRhaW5pbmcgdGhlIFxgbWlzc2luZyBoZWxwMm1hbicgcmVwbGFjZW1lbnQgdGV4dDoiID4mMjsgXAorCSAgICBncmVwIC1sICdhYiBoZWxwMm1hbiBpcyByZXF1aXJlZCB0byBnZW5lcmF0ZSB0aGlzIHBhZ2UnICQkbGlzdCB8IHNlZCAncy9eLyAgICAgICAgIC8nID4mMjsgXAorCSAgICBlY2hvICIgICAgICAgdG8gZml4IHRoZW0sIGluc3RhbGwgaGVscDJtYW4sIHJlbW92ZSBhbmQgcmVnZW5lcmF0ZSB0aGUgbWFuIHBhZ2VzOyIgPiYyOyBcCisJICAgIGVjaG8gIiAgICAgICB0eXBpY2FsbHkgXGBtYWtlIG1haW50YWluZXItY2xlYW4nIHdpbGwgcmVtb3ZlIHRoZW0iID4mMjsgXAorCSAgICBleGl0IDE7IFwKKwkgIGVsc2UgOjsgZmk7IFwKKwllbHNlIDo7IGZpCisJJChhbV9fcmVtb3ZlX2Rpc3RkaXIpCisJdGVzdCAtZCAiJChkaXN0ZGlyKSIgfHwgbWtkaXIgIiQoZGlzdGRpcikiCisJQHNyY2RpcnN0cmlwPWBlY2hvICIkKHNyY2RpcikiIHwgc2VkICdzL1tdLlteJCRcXCpdL1xcXFwmL2cnYDsgXAorCXRvcHNyY2RpcnN0cmlwPWBlY2hvICIkKHRvcF9zcmNkaXIpIiB8IHNlZCAncy9bXS5bXiQkXFwqXS9cXFxcJi9nJ2A7IFwKKwlsaXN0PSckKERJU1RGSUxFUyknOyBcCisJICBkaXN0X2ZpbGVzPWBmb3IgZmlsZSBpbiAkJGxpc3Q7IGRvIGVjaG8gJCRmaWxlOyBkb25lIHwgXAorCSAgc2VkIC1lICJzfF4kJHNyY2RpcnN0cmlwL3x8O3QiIFwKKwkgICAgICAtZSAic3xeJCR0b3BzcmNkaXJzdHJpcC98JCh0b3BfYnVpbGRkaXIpL3w7dCJgOyBcCisJY2FzZSAkJGRpc3RfZmlsZXMgaW4gXAorCSAgKi8qKSAkKE1LRElSX1ApIGBlY2hvICIkJGRpc3RfZmlsZXMiIHwgXAorCQkJICAgc2VkICcvXC8vIWQ7c3xefCQoZGlzdGRpcikvfDtzLC9bXi9dKiQkLCwnIHwgXAorCQkJICAgc29ydCAtdWAgOzsgXAorCWVzYWM7IFwKKwlmb3IgZmlsZSBpbiAkJGRpc3RfZmlsZXM7IGRvIFwKKwkgIGlmIHRlc3QgLWYgJCRmaWxlIHx8IHRlc3QgLWQgJCRmaWxlOyB0aGVuIGQ9LjsgZWxzZSBkPSQoc3JjZGlyKTsgZmk7IFwKKwkgIGlmIHRlc3QgLWQgJCRkLyQkZmlsZTsgdGhlbiBcCisJICAgIGRpcj1gZWNobyAiLyQkZmlsZSIgfCBzZWQgLWUgJ3MsL1teL10qJCQsLCdgOyBcCisJICAgIGlmIHRlc3QgLWQgIiQoZGlzdGRpcikvJCRmaWxlIjsgdGhlbiBcCisJICAgICAgZmluZCAiJChkaXN0ZGlyKS8kJGZpbGUiIC10eXBlIGQgISAtcGVybSAtNzAwIC1leGVjIGNobW9kIHUrcnd4IHt9IFw7OyBcCisJICAgIGZpOyBcCisJICAgIGlmIHRlc3QgLWQgJChzcmNkaXIpLyQkZmlsZSAmJiB0ZXN0ICQkZCAhPSAkKHNyY2Rpcik7IHRoZW4gXAorCSAgICAgIGNwIC1mcFIgJChzcmNkaXIpLyQkZmlsZSAiJChkaXN0ZGlyKSQkZGlyIiB8fCBleGl0IDE7IFwKKwkgICAgICBmaW5kICIkKGRpc3RkaXIpLyQkZmlsZSIgLXR5cGUgZCAhIC1wZXJtIC03MDAgLWV4ZWMgY2htb2QgdStyd3gge30gXDs7IFwKKwkgICAgZmk7IFwKKwkgICAgY3AgLWZwUiAkJGQvJCRmaWxlICIkKGRpc3RkaXIpJCRkaXIiIHx8IGV4aXQgMTsgXAorCSAgZWxzZSBcCisJICAgIHRlc3QgLWYgIiQoZGlzdGRpcikvJCRmaWxlIiBcCisJICAgIHx8IGNwIC1wICQkZC8kJGZpbGUgIiQoZGlzdGRpcikvJCRmaWxlIiBcCisJICAgIHx8IGV4aXQgMTsgXAorCSAgZmk7IFwKKwlkb25lCisJLXRlc3QgLW4gIiQoYW1fX3NraXBfbW9kZV9maXgpIiBcCisJfHwgZmluZCAiJChkaXN0ZGlyKSIgLXR5cGUgZCAhIC1wZXJtIC03NTUgXAorCQktZXhlYyBjaG1vZCB1K3J3eCxnbytyeCB7fSBcOyAtbyBcCisJICAhIC10eXBlIGQgISAtcGVybSAtNDQ0IC1saW5rcyAxIC1leGVjIGNobW9kIGErciB7fSBcOyAtbyBcCisJICAhIC10eXBlIGQgISAtcGVybSAtNDAwIC1leGVjIGNobW9kIGErciB7fSBcOyAtbyBcCisJICAhIC10eXBlIGQgISAtcGVybSAtNDQ0IC1leGVjICQoaW5zdGFsbF9zaCkgLWMgLW0gYStyIHt9IHt9IFw7IFwKKwl8fCBjaG1vZCAtUiBhK3IgIiQoZGlzdGRpcikiCitkaXN0LWd6aXA6IGRpc3RkaXIKKwl0YXJkaXI9JChkaXN0ZGlyKSAmJiAkKGFtX190YXIpIHwgR1pJUD0kKEdaSVBfRU5WKSBnemlwIC1jID4kKGRpc3RkaXIpLnRhci5negorCSQoYW1fX3JlbW92ZV9kaXN0ZGlyKQorZGlzdC1iemlwMjogZGlzdGRpcgorCXRhcmRpcj0kKGRpc3RkaXIpICYmICQoYW1fX3RhcikgfCBiemlwMiAtOSAtYyA+JChkaXN0ZGlyKS50YXIuYnoyCisJJChhbV9fcmVtb3ZlX2Rpc3RkaXIpCisKK2Rpc3QtbHptYTogZGlzdGRpcgorCXRhcmRpcj0kKGRpc3RkaXIpICYmICQoYW1fX3RhcikgfCBsem1hIC05IC1jID4kKGRpc3RkaXIpLnRhci5sem1hCisJJChhbV9fcmVtb3ZlX2Rpc3RkaXIpCisKK2Rpc3QteHo6IGRpc3RkaXIKKwl0YXJkaXI9JChkaXN0ZGlyKSAmJiAkKGFtX190YXIpIHwgeHogLWMgPiQoZGlzdGRpcikudGFyLnh6CisJJChhbV9fcmVtb3ZlX2Rpc3RkaXIpCisKK2Rpc3QtdGFyWjogZGlzdGRpcgorCXRhcmRpcj0kKGRpc3RkaXIpICYmICQoYW1fX3RhcikgfCBjb21wcmVzcyAtYyA+JChkaXN0ZGlyKS50YXIuWgorCSQoYW1fX3JlbW92ZV9kaXN0ZGlyKQorCitkaXN0LXNoYXI6IGRpc3RkaXIKKwlzaGFyICQoZGlzdGRpcikgfCBHWklQPSQoR1pJUF9FTlYpIGd6aXAgLWMgPiQoZGlzdGRpcikuc2hhci5negorCSQoYW1fX3JlbW92ZV9kaXN0ZGlyKQorCitkaXN0LXppcDogZGlzdGRpcgorCS1ybSAtZiAkKGRpc3RkaXIpLnppcAorCXppcCAtcnEgJChkaXN0ZGlyKS56aXAgJChkaXN0ZGlyKQorCSQoYW1fX3JlbW92ZV9kaXN0ZGlyKQorCitkaXN0IGRpc3QtYWxsOiBkaXN0ZGlyCisJdGFyZGlyPSQoZGlzdGRpcikgJiYgJChhbV9fdGFyKSB8IGJ6aXAyIC05IC1jID4kKGRpc3RkaXIpLnRhci5iejIKKwkkKGFtX19yZW1vdmVfZGlzdGRpcikKKworIyBUaGlzIHRhcmdldCB1bnRhcnMgdGhlIGRpc3QgZmlsZSBhbmQgdHJpZXMgYSBWUEFUSCBjb25maWd1cmF0aW9uLiAgVGhlbgorIyBpdCBndWFyYW50ZWVzIHRoYXQgdGhlIGRpc3RyaWJ1dGlvbiBpcyBzZWxmLWNvbnRhaW5lZCBieSBtYWtpbmcgYW5vdGhlcgorIyB0YXJmaWxlLgorZGlzdGNoZWNrOiBkaXN0CisJY2FzZSAnJChESVNUX0FSQ0hJVkVTKScgaW4gXAorCSoudGFyLmd6KikgXAorCSAgR1pJUD0kKEdaSVBfRU5WKSBnemlwIC1kYyAkKGRpc3RkaXIpLnRhci5neiB8ICQoYW1fX3VudGFyKSA7O1wKKwkqLnRhci5iejIqKSBcCisJICBiemlwMiAtZGMgJChkaXN0ZGlyKS50YXIuYnoyIHwgJChhbV9fdW50YXIpIDs7XAorCSoudGFyLmx6bWEqKSBcCisJICBsem1hIC1kYyAkKGRpc3RkaXIpLnRhci5sem1hIHwgJChhbV9fdW50YXIpIDs7XAorCSoudGFyLnh6KikgXAorCSAgeHogLWRjICQoZGlzdGRpcikudGFyLnh6IHwgJChhbV9fdW50YXIpIDs7XAorCSoudGFyLloqKSBcCisJICB1bmNvbXByZXNzIC1jICQoZGlzdGRpcikudGFyLlogfCAkKGFtX191bnRhcikgOztcCisJKi5zaGFyLmd6KikgXAorCSAgR1pJUD0kKEdaSVBfRU5WKSBnemlwIC1kYyAkKGRpc3RkaXIpLnNoYXIuZ3ogfCB1bnNoYXIgOztcCisJKi56aXAqKSBcCisJICB1bnppcCAkKGRpc3RkaXIpLnppcCA7O1wKKwllc2FjCisJY2htb2QgLVIgYS13ICQoZGlzdGRpcik7IGNobW9kIGErdyAkKGRpc3RkaXIpCisJbWtkaXIgJChkaXN0ZGlyKS9fYnVpbGQKKwlta2RpciAkKGRpc3RkaXIpL19pbnN0CisJY2htb2QgYS13ICQoZGlzdGRpcikKKwl0ZXN0IC1kICQoZGlzdGRpcikvX2J1aWxkIHx8IGV4aXQgMDsgXAorCWRjX2luc3RhbGxfYmFzZT1gJChhbV9fY2QpICQoZGlzdGRpcikvX2luc3QgJiYgcHdkIHwgc2VkIC1lICdzLF5bXjpcXC9dOltcXC9dLC8sJ2AgXAorCSAgJiYgZGNfZGVzdGRpcj0iJCR7VE1QRElSLS90bXB9L2FtLWRjLSQkJCQvIiBcCisJICAmJiBhbV9fY3dkPWBwd2RgIFwKKwkgICYmICQoYW1fX2NkKSAkKGRpc3RkaXIpL19idWlsZCBcCisJICAmJiAuLi9jb25maWd1cmUgLS1zcmNkaXI9Li4gLS1wcmVmaXg9IiQkZGNfaW5zdGFsbF9iYXNlIiBcCisJICAgICQoRElTVENIRUNLX0NPTkZJR1VSRV9GTEFHUykgXAorCSAgJiYgJChNQUtFKSAkKEFNX01BS0VGTEFHUykgXAorCSAgJiYgJChNQUtFKSAkKEFNX01BS0VGTEFHUykgZHZpIFwKKwkgICYmICQoTUFLRSkgJChBTV9NQUtFRkxBR1MpIGNoZWNrIFwKKwkgICYmICQoTUFLRSkgJChBTV9NQUtFRkxBR1MpIGluc3RhbGwgXAorCSAgJiYgJChNQUtFKSAkKEFNX01BS0VGTEFHUykgaW5zdGFsbGNoZWNrIFwKKwkgICYmICQoTUFLRSkgJChBTV9NQUtFRkxBR1MpIHVuaW5zdGFsbCBcCisJICAmJiAkKE1BS0UpICQoQU1fTUFLRUZMQUdTKSBkaXN0dW5pbnN0YWxsY2hlY2tfZGlyPSIkJGRjX2luc3RhbGxfYmFzZSIgXAorCSAgICAgICAgZGlzdHVuaW5zdGFsbGNoZWNrIFwKKwkgICYmIGNobW9kIC1SIGEtdyAiJCRkY19pbnN0YWxsX2Jhc2UiIFwKKwkgICYmICh7IFwKKwkgICAgICAgKGNkIC4uLy4uICYmIHVtYXNrIDA3NyAmJiBta2RpciAiJCRkY19kZXN0ZGlyIikgXAorCSAgICAgICAmJiAkKE1BS0UpICQoQU1fTUFLRUZMQUdTKSBERVNURElSPSIkJGRjX2Rlc3RkaXIiIGluc3RhbGwgXAorCSAgICAgICAmJiAkKE1BS0UpICQoQU1fTUFLRUZMQUdTKSBERVNURElSPSIkJGRjX2Rlc3RkaXIiIHVuaW5zdGFsbCBcCisJICAgICAgICYmICQoTUFLRSkgJChBTV9NQUtFRkxBR1MpIERFU1RESVI9IiQkZGNfZGVzdGRpciIgXAorCSAgICAgICAgICAgIGRpc3R1bmluc3RhbGxjaGVja19kaXI9IiQkZGNfZGVzdGRpciIgZGlzdHVuaW5zdGFsbGNoZWNrOyBcCisJICAgICAgfSB8fCB7IHJtIC1yZiAiJCRkY19kZXN0ZGlyIjsgZXhpdCAxOyB9KSBcCisJICAmJiBybSAtcmYgIiQkZGNfZGVzdGRpciIgXAorCSAgJiYgJChNQUtFKSAkKEFNX01BS0VGTEFHUykgZGlzdCBcCisJICAmJiBybSAtcmYgJChESVNUX0FSQ0hJVkVTKSBcCisJICAmJiAkKE1BS0UpICQoQU1fTUFLRUZMQUdTKSBkaXN0Y2xlYW5jaGVjayBcCisJICAmJiBjZCAiJCRhbV9fY3dkIiBcCisJICB8fCBleGl0IDEKKwkkKGFtX19yZW1vdmVfZGlzdGRpcikKKwlAKGVjaG8gIiQoZGlzdGRpcikgYXJjaGl2ZXMgcmVhZHkgZm9yIGRpc3RyaWJ1dGlvbjogIjsgXAorCSAgbGlzdD0nJChESVNUX0FSQ0hJVkVTKSc7IGZvciBpIGluICQkbGlzdDsgZG8gZWNobyAkJGk7IGRvbmUpIHwgXAorCSAgc2VkIC1lIDFoIC1lIDFzLy4vPS9nIC1lIDFwIC1lIDF4IC1lICckJHAnIC1lICckJHgnCitkaXN0dW5pbnN0YWxsY2hlY2s6CisJQCQoYW1fX2NkKSAnJChkaXN0dW5pbnN0YWxsY2hlY2tfZGlyKScgXAorCSYmIHRlc3QgYCQoZGlzdHVuaW5zdGFsbGNoZWNrX2xpc3RmaWxlcykgfCB3YyAtbGAgLWxlIDEgXAorCSAgIHx8IHsgZWNobyAiRVJST1I6IGZpbGVzIGxlZnQgYWZ0ZXIgdW5pbnN0YWxsOiIgOyBcCisJICAgICAgICBpZiB0ZXN0IC1uICIkKERFU1RESVIpIjsgdGhlbiBcCisJICAgICAgICAgIGVjaG8gIiAgKGNoZWNrIERFU1RESVIgc3VwcG9ydCkiOyBcCisJICAgICAgICBmaSA7IFwKKwkgICAgICAgICQoZGlzdHVuaW5zdGFsbGNoZWNrX2xpc3RmaWxlcykgOyBcCisJICAgICAgICBleGl0IDE7IH0gPiYyCitkaXN0Y2xlYW5jaGVjazogZGlzdGNsZWFuCisJQGlmIHRlc3QgJyQoc3JjZGlyKScgPSAuIDsgdGhlbiBcCisJICBlY2hvICJFUlJPUjogZGlzdGNsZWFuY2hlY2sgY2FuIG9ubHkgcnVuIGZyb20gYSBWUEFUSCBidWlsZCIgOyBcCisJICBleGl0IDEgOyBcCisJZmkKKwlAdGVzdCBgJChkaXN0Y2xlYW5jaGVja19saXN0ZmlsZXMpIHwgd2MgLWxgIC1lcSAwIFwKKwkgIHx8IHsgZWNobyAiRVJST1I6IGZpbGVzIGxlZnQgaW4gYnVpbGQgZGlyZWN0b3J5IGFmdGVyIGRpc3RjbGVhbjoiIDsgXAorCSAgICAgICAkKGRpc3RjbGVhbmNoZWNrX2xpc3RmaWxlcykgOyBcCisJICAgICAgIGV4aXQgMTsgfSA+JjIKK2NoZWNrLWFtOiBhbGwtYW0KK2NoZWNrOiAkKEJVSUxUX1NPVVJDRVMpCisJJChNQUtFKSAkKEFNX01BS0VGTEFHUykgY2hlY2stYW0KK2FsbC1hbTogTWFrZWZpbGUgJChQUk9HUkFNUykgJChTQ1JJUFRTKSAkKE1BTlMpICQoSEVBREVSUykgY29uZmlnLmgKK2luc3RhbGxkaXJzOgorCWZvciBkaXIgaW4gIiQoREVTVERJUikkKGJpbmRpcikiICIkKERFU1RESVIpJChiaW5kaXIpIiAiJChERVNURElSKSQobWFuMWRpcikiOyBkbyBcCisJICB0ZXN0IC16ICIkJGRpciIgfHwgJChNS0RJUl9QKSAiJCRkaXIiOyBcCisJZG9uZQoraW5zdGFsbDogJChCVUlMVF9TT1VSQ0VTKQorCSQoTUFLRSkgJChBTV9NQUtFRkxBR1MpIGluc3RhbGwtYW0KK2luc3RhbGwtZXhlYzogaW5zdGFsbC1leGVjLWFtCitpbnN0YWxsLWRhdGE6IGluc3RhbGwtZGF0YS1hbQordW5pbnN0YWxsOiB1bmluc3RhbGwtYW0KKworaW5zdGFsbC1hbTogYWxsLWFtCisJQCQoTUFLRSkgJChBTV9NQUtFRkxBR1MpIGluc3RhbGwtZXhlYy1hbSBpbnN0YWxsLWRhdGEtYW0KKworaW5zdGFsbGNoZWNrOiBpbnN0YWxsY2hlY2stYW0KK2luc3RhbGwtc3RyaXA6CisJJChNQUtFKSAkKEFNX01BS0VGTEFHUykgSU5TVEFMTF9QUk9HUkFNPSIkKElOU1RBTExfU1RSSVBfUFJPR1JBTSkiIFwKKwkgIGluc3RhbGxfc2hfUFJPR1JBTT0iJChJTlNUQUxMX1NUUklQX1BST0dSQU0pIiBJTlNUQUxMX1NUUklQX0ZMQUc9LXMgXAorCSAgYHRlc3QgLXogJyQoU1RSSVApJyB8fCBcCisJICAgIGVjaG8gIklOU1RBTExfUFJPR1JBTV9FTlY9U1RSSVBQUk9HPSckKFNUUklQKSciYCBpbnN0YWxsCittb3N0bHljbGVhbi1nZW5lcmljOgorCitjbGVhbi1nZW5lcmljOgorCitkaXN0Y2xlYW4tZ2VuZXJpYzoKKwktdGVzdCAteiAiJChDT05GSUdfQ0xFQU5fRklMRVMpIiB8fCBybSAtZiAkKENPTkZJR19DTEVBTl9GSUxFUykKKwktdGVzdCAuID0gIiQoc3JjZGlyKSIgfHwgdGVzdCAteiAiJChDT05GSUdfQ0xFQU5fVlBBVEhfRklMRVMpIiB8fCBybSAtZiAkKENPTkZJR19DTEVBTl9WUEFUSF9GSUxFUykKKworbWFpbnRhaW5lci1jbGVhbi1nZW5lcmljOgorCUBlY2hvICJUaGlzIGNvbW1hbmQgaXMgaW50ZW5kZWQgZm9yIG1haW50YWluZXJzIHRvIHVzZSIKKwlAZWNobyAiaXQgZGVsZXRlcyBmaWxlcyB0aGF0IG1heSByZXF1aXJlIHNwZWNpYWwgdG9vbHMgdG8gcmVidWlsZC4iCisJLXRlc3QgLXogIiQoQlVJTFRfU09VUkNFUykiIHx8IHJtIC1mICQoQlVJTFRfU09VUkNFUykKK2NsZWFuOiBjbGVhbi1hbQorCitjbGVhbi1hbTogY2xlYW4tYmluUFJPR1JBTVMgY2xlYW4tZ2VuZXJpYyBtb3N0bHljbGVhbi1hbQorCitkaXN0Y2xlYW46IGRpc3RjbGVhbi1hbQorCS1ybSAtZiAkKGFtX19DT05GSUdfRElTVENMRUFOX0ZJTEVTKQorCS1ybSAtcmYgLi8kKERFUERJUikKKwktcm0gLWYgTWFrZWZpbGUKK2Rpc3RjbGVhbi1hbTogY2xlYW4tYW0gZGlzdGNsZWFuLWNvbXBpbGUgZGlzdGNsZWFuLWdlbmVyaWMgXAorCWRpc3RjbGVhbi1oZHIgZGlzdGNsZWFuLXRhZ3MKKworZHZpOiBkdmktYW0KKworZHZpLWFtOgorCitodG1sOiBodG1sLWFtCisKK2h0bWwtYW06CisKK2luZm86IGluZm8tYW0KKworaW5mby1hbToKKworaW5zdGFsbC1kYXRhLWFtOiBpbnN0YWxsLW1hbgorCitpbnN0YWxsLWR2aTogaW5zdGFsbC1kdmktYW0KKworaW5zdGFsbC1kdmktYW06CisKK2luc3RhbGwtZXhlYy1hbTogaW5zdGFsbC1iaW5QUk9HUkFNUyBpbnN0YWxsLWJpblNDUklQVFMKKworaW5zdGFsbC1odG1sOiBpbnN0YWxsLWh0bWwtYW0KKworaW5zdGFsbC1odG1sLWFtOgorCitpbnN0YWxsLWluZm86IGluc3RhbGwtaW5mby1hbQorCitpbnN0YWxsLWluZm8tYW06CisKK2luc3RhbGwtbWFuOiBpbnN0YWxsLW1hbjEKKworaW5zdGFsbC1wZGY6IGluc3RhbGwtcGRmLWFtCisKK2luc3RhbGwtcGRmLWFtOgorCitpbnN0YWxsLXBzOiBpbnN0YWxsLXBzLWFtCisKK2luc3RhbGwtcHMtYW06CisKK2luc3RhbGxjaGVjay1hbToKKworbWFpbnRhaW5lci1jbGVhbjogbWFpbnRhaW5lci1jbGVhbi1hbQorCS1ybSAtZiAkKGFtX19DT05GSUdfRElTVENMRUFOX0ZJTEVTKQorCS1ybSAtcmYgJCh0b3Bfc3JjZGlyKS9hdXRvbTR0ZS5jYWNoZQorCS1ybSAtcmYgLi8kKERFUERJUikKKwktcm0gLWYgTWFrZWZpbGUKK21haW50YWluZXItY2xlYW4tYW06IGRpc3RjbGVhbi1hbSBtYWludGFpbmVyLWNsZWFuLWdlbmVyaWMKKworbW9zdGx5Y2xlYW46IG1vc3RseWNsZWFuLWFtCisKK21vc3RseWNsZWFuLWFtOiBtb3N0bHljbGVhbi1jb21waWxlIG1vc3RseWNsZWFuLWdlbmVyaWMKKworcGRmOiBwZGYtYW0KKworcGRmLWFtOgorCitwczogcHMtYW0KKworcHMtYW06CisKK3VuaW5zdGFsbC1hbTogdW5pbnN0YWxsLWJpblBST0dSQU1TIHVuaW5zdGFsbC1iaW5TQ1JJUFRTIHVuaW5zdGFsbC1tYW4KKwordW5pbnN0YWxsLW1hbjogdW5pbnN0YWxsLW1hbjEKKworLk1BS0U6IGFsbCBjaGVjayBpbnN0YWxsIGluc3RhbGwtYW0gaW5zdGFsbC1zdHJpcAorCisuUEhPTlk6IENUQUdTIEdUQUdTIGFsbCBhbGwtYW0gYW0tLXJlZnJlc2ggY2hlY2sgY2hlY2stYW0gY2xlYW4gXAorCWNsZWFuLWJpblBST0dSQU1TIGNsZWFuLWdlbmVyaWMgY3RhZ3MgZGlzdCBkaXN0LWFsbCBkaXN0LWJ6aXAyIFwKKwlkaXN0LWd6aXAgZGlzdC1sem1hIGRpc3Qtc2hhciBkaXN0LXRhclogZGlzdC14eiBkaXN0LXppcCBcCisJZGlzdGNoZWNrIGRpc3RjbGVhbiBkaXN0Y2xlYW4tY29tcGlsZSBkaXN0Y2xlYW4tZ2VuZXJpYyBcCisJZGlzdGNsZWFuLWhkciBkaXN0Y2xlYW4tdGFncyBkaXN0Y2xlYW5jaGVjayBkaXN0ZGlyIFwKKwlkaXN0dW5pbnN0YWxsY2hlY2sgZHZpIGR2aS1hbSBodG1sIGh0bWwtYW0gaW5mbyBpbmZvLWFtIFwKKwlpbnN0YWxsIGluc3RhbGwtYW0gaW5zdGFsbC1iaW5QUk9HUkFNUyBpbnN0YWxsLWJpblNDUklQVFMgXAorCWluc3RhbGwtZGF0YSBpbnN0YWxsLWRhdGEtYW0gaW5zdGFsbC1kdmkgaW5zdGFsbC1kdmktYW0gXAorCWluc3RhbGwtZXhlYyBpbnN0YWxsLWV4ZWMtYW0gaW5zdGFsbC1odG1sIGluc3RhbGwtaHRtbC1hbSBcCisJaW5zdGFsbC1pbmZvIGluc3RhbGwtaW5mby1hbSBpbnN0YWxsLW1hbiBpbnN0YWxsLW1hbjEgXAorCWluc3RhbGwtcGRmIGluc3RhbGwtcGRmLWFtIGluc3RhbGwtcHMgaW5zdGFsbC1wcy1hbSBcCisJaW5zdGFsbC1zdHJpcCBpbnN0YWxsY2hlY2sgaW5zdGFsbGNoZWNrLWFtIGluc3RhbGxkaXJzIFwKKwltYWludGFpbmVyLWNsZWFuIG1haW50YWluZXItY2xlYW4tZ2VuZXJpYyBtb3N0bHljbGVhbiBcCisJbW9zdGx5Y2xlYW4tY29tcGlsZSBtb3N0bHljbGVhbi1nZW5lcmljIHBkZiBwZGYtYW0gcHMgcHMtYW0gXAorCXRhZ3MgdW5pbnN0YWxsIHVuaW5zdGFsbC1hbSB1bmluc3RhbGwtYmluUFJPR1JBTVMgXAorCXVuaW5zdGFsbC1iaW5TQ1JJUFRTIHVuaW5zdGFsbC1tYW4gdW5pbnN0YWxsLW1hbjEKKworCisuUEhPTlk6IHNycG0KK3NycG06IGRpc3QtYnppcDIKKwlycG1idWlsZCAtLWRlZmluZSAnJV9zcmNycG1kaXIgLicgLXRzICQoZGlzdGRpcikudGFyLmJ6MgorQE1BSU5UQUlORVJfTU9ERV9UUlVFQCQoc3JjZGlyKS9DaGFuZ2VMb2c6ICQodG9wX3NyY2RpcikvZ2l0bG9nLXRvLWNoYW5nZWxvZyAkKHNyY2RpcikvTWFrZWZpbGUuaW4gXAorQE1BSU5UQUlORVJfTU9ERV9UUlVFQAkJICAgICAkKHRvcF9zcmNkaXIpLy5naXQvcmVmcy9oZWFkcy8qCitATUFJTlRBSU5FUl9NT0RFX1RSVUVACUBybSAtZiAkQC5uZXcKK0BNQUlOVEFJTkVSX01PREVfVFJVRUAJKGNkICQodG9wX3NyY2Rpcik7IFwKK0BNQUlOVEFJTkVSX01PREVfVFJVRUAJIC4vZ2l0bG9nLXRvLWNoYW5nZWxvZyAtLXNpbmNlPSckKGdlbl9jaGFuZ2Vsb2dfc3RhcnRfZGF0ZSknOyBcCitATUFJTlRBSU5FUl9NT0RFX1RSVUVACSBlY2hvOyBlY2hvOyBlY2hvICdTZWUgQ2hhbmdlTG9nLUNWUyBmb3Igb2xkZXIgY2hhbmdlcy4nIFwKK0BNQUlOVEFJTkVSX01PREVfVFJVRUAJKSA+ICRALm5ldworQE1BSU5UQUlORVJfTU9ERV9UUlVFQAljaG1vZCA0NDQgJEAubmV3CitATUFJTlRBSU5FUl9NT0RFX1RSVUVACW12IC1mICRALm5ldyAkQAorCitATUFJTlRBSU5FUl9NT0RFX1RSVUVAZXhwb3J0IFRBUl9PUFRJT05TID0gLS1vd25lcj0wIC0tZ3JvdXA9MCAtLW51bWVyaWMtb3duZXIgLS1tb2RlPWdvLXcsZ28rclgKKworQExJTlVYX1RSVUVAQE1BSU5UQUlORVJfTU9ERV9UUlVFQCQoc3JjZGlyKS8kKGlvY3RsZW50X2gpOiBpb2N0bHNvcnQKK0BMSU5VWF9UUlVFQEBNQUlOVEFJTkVSX01PREVfVFJVRUAJJCg8RCkvJCg8RikgPiAkQAorQExJTlVYX1RSVUVAQE1BSU5UQUlORVJfTU9ERV9UUlVFQGlvY3Rsc29ydDogJChzcmNkaXIpL2xpbnV4L2lvY3Rsc29ydC5jIGlvY3Rscy5oIGlvY3RsZGVmcy5oCitATElOVVhfVFJVRUBATUFJTlRBSU5FUl9NT0RFX1RSVUVACSQoZmlsdGVyLW91dCAtSSUsJChMSU5LLmMpKSAtSS4gLUkkKElPQ1RMRElSKSAkKGZpbHRlciAtSSUsJChMSU5LLmMpKSBcCitATElOVVhfVFJVRUBATUFJTlRBSU5FUl9NT0RFX1RSVUVACSAgLW8gJEAgJDwKK0BMSU5VWF9UUlVFQEBNQUlOVEFJTkVSX01PREVfVFJVRUBpb2N0bHMuaDogJChzcmNkaXIpL2xpbnV4L2lvY3RsZW50LnNoCitATElOVVhfVFJVRUBATUFJTlRBSU5FUl9NT0RFX1RSVUVACSQoU0hFTEwpICQ8ICQoSU9DVExESVIpICQoSU9DVExBU00pCitATElOVVhfVFJVRUBATUFJTlRBSU5FUl9NT0RFX1RSVUVAaW9jdGxkZWZzLmg6IGlvY3Rscy5oIDsKKworIyBUZWxsIHZlcnNpb25zIFszLjU5LDMuNjMpIG9mIEdOVSBtYWtlIHRvIG5vdCBleHBvcnQgYWxsIHZhcmlhYmxlcy4KKyMgT3RoZXJ3aXNlIGEgc3lzdGVtIGxpbWl0IChmb3IgU3lzViBhdCBsZWFzdCkgbWF5IGJlIGV4Y2VlZGVkLgorLk5PRVhQT1JUOgpkaWZmIC0tZ2l0IGEvc3RyYWNlLTQuNS4yMC9ORVdTIGIvc3RyYWNlLTQuNS4yMC9ORVdTCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE2MjhiODMKLS0tIC9kZXYvbnVsbAorKysgYi9zdHJhY2UtNC41LjIwL05FV1MKQEAgLTAsMCArMSwzMjggQEAKK05vdGV3b3J0aHkgY2hhbmdlcyBpbiByZWxlYXNlIDQuNS4yMAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKKyogSW1wcm92ZW1lbnRzCisgICogSW1wbGVtZW50ZWQgZGVjb2Rpbmcgb2YgbmV3IGxpbnV4IHN5c2NhbGxzOiBpbm90aWZ5X2luaXQxLCByZWN2bW1zZy4KKyAgKiBJbXBsZW1lbnRlZCBiYXNpYyBkZWNvZGluZyBvZiBuZXcgbGludXggc3lzY2FsbHM6IHByZWFkdiwgcHdyaXRldiwKKyAgICBydF90Z3NpZ3F1ZXVlaW5mbywgcGVyZl9ldmVudF9vcGVuLgorICAqIEVuaGFuY2VkIGRlY29kaW5nIG9mIHJlY2VudGx5IGFkZGVkIHN5c2NhbGxzIG9uIG5vbi14ODYgYXJjaGl0ZWN0dXJlcworICAgIGJ5IHJlcGxhY2luZyBhIGJhcmUgZGVjb2RlciB3aXRoIGVsYWJvcmF0ZSBwYXJzZXJzIGVuYWJsZWQgZWFybGllcgorICAgIGZvciB4ODYveDg2LTY0LgorICAqIEltcGxlbWVudGVkIC1DIG9wdGlvbiB0byBjb21iaW5lIHJlZ3VsYXIgYW5kIC1jIG91dHB1dC4KKyAgICAoQWRkcmVzc2VzIERlYmlhbiBidWcgIzQ2NjE5NikKKyAgKiBFbmhhbmNlZCBkZWNvZGluZyBvZiBtYmluZCBhbmQgbXJlbWFwIHN5c2NhbGxzLgorICAqIEVuaGFuY2VkIFNPTF9QQUNLRVQgc29ja2V0IG9wdGlvbnMgZGVjb2RpbmcuCisgICogUmVnZW5lcmF0ZWQgbGlzdCBvZiBpb2N0bCBuYW1lcyBmcm9tIGxpbnV4IDIuNi4zMy4KKyAgKiBBZGRlZCBUSUxFIGFyY2hpdGVjdHVyZSBzdXBwb3J0LgorCisqIEJ1ZyBmaXhlcworICAqIEZpeGVkIGJ1aWxkIHdpdGggTGludXgga2VybmVsIGhlYWRlcnMgMi42LjMyLXJjNSsuCisgICAgKEFkZHJlc3NlcyBEZWJpYW4gYnVnICM1NjA1MTYgYW5kIEZlZG9yYSBidWcgIzUzOTA0NCkKKyAgKiBGaXhlZCBidWlsZCBvbiBtaXBzLgorICAqIEZpeGVkIGhhbmRsaW5nIG9mIExpbnV4IHN5c3RlbXMgd2l0aG91dCBzdHJ1Y3Qgc3RhdGZzNjQuCisgICogRml4ZWQgcmVwb3J0aW5nIHNpZ25hbCBtYXNrIGJ5IHNpZ3JldHVybiBvbiBwb3dlcnBjLgorICAqIEZpeGVkIHBvdGVudGlhbCBzdGFjayBidWZmZXIgb3ZlcmZsb3cgaW4gc2VsZWN0IGRlY29kZXIuCisgICAgKEFkZHJlc3NlcyBGZWRvcmEgYnVnICM1NTY2NzgpCisgICogQ29ycmVjdGVkIG1zZ3NuZCBpbmRpcmVjdCBpcGNjYWxsIGRlY29kaW5nLgorICAqIENvcnJlY3RlZCBkZWNvZGluZyBvZiA2NGJpdCBzeXNjYWxscy4KKyAgICAoQWRkcmVzc2VzIERlYmlhbiBidWcgIzU3MDYwMykKKyAgKiBDb3JyZWN0ZWQgZ2V0c29ja29wdCBkZWNvZGluZyBvbiBhcmNoaXRlY3R1cmVzIHdoZXJlCisgICAgc2l6ZW9mKGxvbmcpID4gc2l6ZW9mKGludCkuCisgICAgKEFkZHJlc3NlcyBEZWJpYW4gYnVnICM0OTQ4NDQpCisgICogQ29ycmVjdGVkIGRlY29kaW5nIG9mIGVwb2xsX3B3YWl0LgorICAgIChBZGRyZXNzZXMgRGViaWFuIGJ1ZyAjNTEzMDE0KQorICAqIENvcnJlY3RlZCBoYW5kbGluZyBvZiBraWxsZWQgdGhyZWFkcy4KKworTm90ZXdvcnRoeSBjaGFuZ2VzIGluIHJlbGVhc2UgNC41LjE5Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworKiBDaGFuZ2VzIGluIGJlaGF2aW9yCisgICogV2hlbiBjb21tYW5kIGV4aXRzLCBzdHJhY2Ugbm93IGV4aXRzIHdpdGggdGhlIHNhbWUgZXhpdCBzdGF0dXMuCisgICAgSWYgY29tbWFuZCBpcyB0ZXJtaW5hdGVkIGJ5IGEgc2lnbmFsLCBzdHJhY2UgdGVybWluYXRlcyBpdHNlbGYKKyAgICB3aXRoIHRoZSBzYW1lIHNpZ25hbCwgc28gdGhhdCBzdHJhY2UgY2FuIGJlIHVzZWQgYXMgYSB3cmFwcGVyCisgICAgcHJvY2VzcyB0cmFuc3BhcmVudCB0byB0aGUgaW52b2tpbmcgcGFyZW50IHByb2Nlc3MuCisgICAgV2hlbiB1c2luZyAtcCBvcHRpb24sIHRoZSBleGl0IHN0YXR1cyBvZiBzdHJhY2UgaXMgemVybyB1bmxlc3MKKyAgICB0aGVyZSB3YXMgYW4gdW5leHBlY3RlZCBlcnJvciBpbiBkb2luZyB0aGUgdHJhY2luZy4KKyAgICAoQWRkcmVzc2VzIEZlZG9yYSBidWcgIzEwNTM3MSBhbmQgRGViaWFuIGJ1ZyAjMzc2NjUpCisKKyogSW1wcm92ZW1lbnRzCisgICogSW1wbGVtZW50ZWQgZGVjb2Rpbmcgb2YgbmV3IExpbnV4IHN5c2NhbGxzOiBhY2NlcHQ0LCBkdXAzLAorICAgIGVwb2xsX2NyZWF0ZTEsIGV2ZW50ZmQyLCBpbm90aWZ5X2luaXQxLCBwaXBlMiwgc2lnbmFsZmQ0LgorICAqIEltcGxlbWVudGVkIGRlY29kaW5nIG9mIHNvY2tldCB0eXBlIGZsYWdzIGludHJvZHVjZWQgaW4gTGludXggMi42LjI3LgorICAqIEltcGxlbWVudGVkIGRlY29kaW5nIG9mIGFjY2VwdDQgc29ja2V0Y2FsbC4KKyAgKiBFbmhhbmNlZCBwcmN0bCBkZWNvZGluZy4KKyAgKiBFbmhhbmNlZCBuYW5vc2xlZXAgZGVjb2RpbmcuCisgICogRW5oYW5jZWQgcHRyYWNlIGRlY29kaW5nLgorICAqIEVuaGFuY2VkIGZ1dGV4IGRlY29kaW5nLgorICAqIEVuaGFuY2VkIENBUF8qIGRlY29kaW5nLgorICAqIEVuaGFuY2VkIFNJT0NTKiBpb2N0bHMgZGVjb2RpbmcuCisgICogRW5oYW5jZWQgZmNudGwgRl8qIGZsYWdzIGRlY29kaW5nLgorICAqIEVuaGFuY2VkIHNlbW9wL3NlbXRpbWVkb3AgZGVjb2RpbmcuCisgICogVXBkYXRlZCBBUk0gYXJjaGl0ZWN0dXJlIHN1cHBvcnQuCisgICogQWRkZWQgQmxhY2tmaW4gYXJjaGl0ZWN0dXJlIHN1cHBvcnQuCisgICogQWRkZWQgQVZSMzIgYXJjaGl0ZWN0dXJlIHN1cHBvcnQuCisgICogQWRkZWQgQ1JJUyBhcmNoaXRlY3R1cmUgc3VwcG9ydC4KKyAgKiBNYWRlIHN0cmFjZSBkZXRlY3Qgd2hlbiB0cmFjZWQgcHJvY2VzcyBzdWRkZW5seSBkaXNhcHBlYXJlZC4KKworKiBCdWcgZml4ZXMKKyAgKiBGaXhlZCBzeXNjYWxsIG51bWJlcnMgZm9yIHRlZSBhbmQgc3luY19maWxlX3JhbmdlLgorICAgIChBZGRyZXNzZXMgRGViaWFuIGJ1ZyAjNTAzMTI0KQorICAqIEZpeGVkIHNldmVyYWwgYnVncyBpbiBzdHJpbmdzIGRlY29kZXIsIGluY2x1ZGluZyBwb3RlbnRpYWwgaGVhcAorICAgIG1lbW9yeSBjb3JydXB0aW9uLgorICAgIChBZGRyZXNzZXMgRmVkb3JhIGJ1Z3MgIzQ3MDUyOSwgIzQ3ODMyNCBhbmQgIzUxMTAzNSkKKyAgKiBNYXJrZWQgc2VuZGZpbGUoMikgYXMgYSBuZXR3b3JrIHN5c2NhbGwuCisgICAgKEFkZHJlc3NlcyBEZWJpYW4gYnVnICM1MDk0OTkpCisgICogRml4ZWQgYWNjZXB0KDIpIGRlY29kaW5nLgorICAgIChBZGRyZXNzZXMgRGViaWFuIGJ1ZyAjNTA3NTczKQorICAqIEZpeGVkIHNpZ3RpbWVkd2FpdCgyKSBkZWNvZGluZy4KKyAgKiBGaXhlZCBidWlsZCBvbiBBUk0gRUFCSS4KKyAgICAoQWRkcmVzc2VzIERlYmlhbiBidWdzICM1MjAwODQgYW5kICM1MzU1NjQsIGFuZCBGZWRvcmEgYnVnICM1MDc1NzYpCisgICogRml4ZWQgZGlzcGxheSBvZiAzMi1iaXQgZmNudGwoRl9TRVRMSykgb24gNjQtYml0IGFyY2hpdGVjdHVyZXMuCisgICAgKEFkZHJlc3NlcyBSZWQgSGF0IGJ1ZyAjNDcxMTY5KQorICAqIEZpeGVkIGRpc3BsYXkgb2YgMzItYml0IGFyZ3YgYXJyYXkgb24gNjQtYml0IGFyY2hpdGVjdHVyZXMuCisgICAgKEFkZHJlc3NlcyBGZWRvcmEgYnVnICM1MTk0ODApCisgICogRml4ZWQgZGlzcGxheSBvZiAzMi1iaXQgc3RydWN0IHNpZ2FjdGlvbiBvbiA2NC1iaXQgYXJjaGl0ZWN0dXJlcy4KKyAgKiBGaXhlZCBIUFBBIGFyY2hpdGVjdHVyZSBzdXBwb3J0LgorICAgIChBZGRyZXNzZXMgRGViaWFuIGJ1Z3MgIzQzNzkyOCBhbmQgIzU0NjYxOSkKKworQ2hhbmdlcyBpbiA0LjUuMTgKKz09PT09PT09PT09PT09CisqIEJ1ZyBmaXhlcy4KKyogU3VwcG9ydCBuZXcgTGludXgvUFBDIHN5c3RlbSBjYWxsIHN1YnBhZ2VfcHJvdCBhbmQgUFJPVF9TQU8gZmxhZy4KKyogSW4gc2lnYWN0aW9uIHN5c3RlbSBjYWxsLCBkaXNwbGF5IHNhX2ZsYWdzIHZhbHVlIGFsb25nIHdpdGggU0lHX0RGTC9TSUdfSUdOLgorCitDaGFuZ2VzIGluIDQuNS4xNworPT09PT09PT09PT09PT0KKyogTWFueSBidWcgZml4ZXMuCisqIC1GIGlzIG5vdyBkZXByZWNhdGVkLCAtZiBoYXMgdHJhY2VkIHZmb3JrIHRvbyBvbiBMaW51eCBmb3IgYSBsb25nIHRpbWUgbm93LgorKiBQcmludCBPX0NMT0VYRUMsIE1TR19DTVNHX0NMT0VYRUMgZmxhZyBiaXRzLgorKiBJbXByb3ZlZCBvdXRwdXQgZm9yIHByY3RsIHN5c3RlbSBjYWxsIG9uIExpbnV4LgorKiBJbXByb3ZlZCBzdXBwb3J0IGZvciBMaW51eC9BUk0uCisqIFNBX05PTUFTSyBpcyBub3cgc3BlbGxlZCBTQV9OT0RFRkVSLCBhbmQgU0FfT05FU0hPVCBpcyBzcGVsbGVkIFNBX1JFU0VUSEFORC4KKworQ2hhbmdlcyBpbiA0LjUuMTYKKz09PT09PT09PT09PT09CisqIEJ1ZyBmaXhlcy4KKyogSW1wcm92ZWQgb3V0cHV0IGZvciBkZWxldGVfbW9kdWxlLCBmdXRleCwgYW5kIG1iaW5kIHN5c3RlbSBjYWxscyBvbiBMaW51eC4KKyogSW1wcm92ZWQgb3V0cHV0IGZvciBTR19JTyBpb2N0bHMgb24gTGludXguCisqIFN1cHBvcnQgbmV3IExpbnV4IHN5c3RlbSBjYWxscyBtb3ZlX3BhZ2VzLCB1dGltZW5zYXQsIHNpZ25hbGZkLCB0aW1lcmZkLAorICBldmVudGZkLCBnZXRjcHUsIGVwb2xsX3B3YWl0LgorCitDaGFuZ2VzIGluIDQuNS4xNQorPT09PT09PT09PT09PT0KKyogQnVnIGZpeGVzLgorKiBTZXZlcmFsIGJpYXJjaCBpbXByb3ZlbWVudHMuCisqIEltcHJvdmVkIG91dHB1dCBmb3IgYWRqdGltZXgsIHN5c2N0bCwgcXVvdGFjdGwsIG1vdW50LCB1bW91bnQuCisqIFN1cHBvcnQgbmV3IExpbnV4IHN5c3RlbSBjYWxscyAqYXQsIGlub3RpZnkqLCBwc2VsZWN0NiwgcHBvbGwgYW5kIHVuc2hhcmUuCisKK0NoYW5nZXMgaW4gNC41LjE0Cis9PT09PT09PT09PT09PQorKiBCdWcgZml4ZXMuCisqIEFjY2VwdCBudW1lcmljIHN5c3RlbSBjYWxscyBpbiAtZS4KKworQ2hhbmdlcyBpbiA0LjUuMTMKKz09PT09PT09PT09PT09CisqIEJ1ZyBmaXhlcy4KKyogSW50cm9kdWNlICItZSB0cmFjZT1kZXNjIi4KKworQ2hhbmdlcyBpbiA0LjUuMTIKKz09PT09PT09PT09PT09CisqIEJ1ZyBmaXhlcy4KKyogQmV0dGVyIHg4Ni02NCBzdXBwb3J0IGZvciBJQTMyIHByb2Nlc3Nlcy4KKyogVXBkYXRlIFBvd2VyUEMgc3lzdGVtIGNhbGxzLgorKiBCZXR0ZXIgcHJpbnRpbmcgZm9yIExpbnV4IGFpbyBzeXN0ZW0gY2FsbHMuCisKK0NoYW5nZXMgaW4gNC41LjExCis9PT09PT09PT09PT09PQorKiBRdWljayBmaXggcmVsZWFzZSBmb3IgYnVpbGQgaXNzdWVzLgorKiBPbmUgZml4IGZvciBMaW51eC9BUk0gc3lzdGVtIGNhbGwgdGFibGUuCisKK0NoYW5nZXMgaW4gNC41LjEwCis9PT09PT09PT09PT09PQorKiBCdWcgZml4ZXMuCisqIFByaW50IGZhdWx0IGFkZHJlc3MgZm9yIFNJR1NFR1YvU0lHQlVTIHNpZ25hbHMgd2hlbiBhdmFpbGFibGUuCisKK0NoYW5nZXMgaW4gNC41LjkKKz09PT09PT09PT09PT09CisqIEJ1ZyBmaXhlcy4KKyogSW1wcm92ZSBzb2NrZXQgaW9jdGwgcHJpbnRpbmcuCisqIFVwZGF0ZSBMaW51eC9JQTY0IHN5c2NhbGwgbGlzdC4KKyogRml4IExpbnV4L3g4Ni02NCBzeXNjYWxsIGFyZ3VtZW50IGV4dHJhY3Rpb24gZm9yIDMyLWJpdCBwcm9jZXNzZXMuCisqIEltcHJvdmUgbW91bnQgZmxhZ3MgcHJpbnRpbmcuCisqIFN1cHBvcnQgc3ltYm9saWMgcHJpbnRpbmcgb2YgeDg2XzY0IGFyY2hfcHJjdGwgcGFyYW1ldGVycy4KKworQ2hhbmdlcyBpbiA0LjUuOAorPT09PT09PT09PT09PT0KKyogQnVnIGZpeGVzLgorKiBVcGRhdGUgc3lzY2FsbCB0YWJsZXMgZm9yIEFscGhhLCBBUk0sIEhQUEEuCisqIFN1cHBvcnQgbmV3IExpbnV4IHN5c2NhbGxzIG1iaW5kLCBzZXRfbWVtcG9saWN5LCBnZXRfbWVtcG9saWN5LCB3YWl0aWQuCisqIFN1cHBvcnQgTGludXggc3lzY2FsbHMgZmFkdmlzZTY0LCBmYWR2aXNlNjRfNjQsIGFuZCBlcG9sbF8qLgorKiBJbXByb3ZlIGlvY3RsIGNvbW1hbmQgbmFtZSBtYXRjaGluZy4KKyogUHJpbnQgUlRDXyogaW9jdGwgc3RydWN0dXJlIGNvbnRlbnRzLgorKiBTdXBwb3J0IG5ld2VyIFJMSU1JVF8qIHZhbHVlcy4KKyogUHJpbnQgc3RydWN0IGNtc2doZHIgZGV0YWlscyBpbiBzZW5kbXNnLgorCitDaGFuZ2VzIGluIDQuNS43Cis9PT09PT09PT09PT09PQorKiBCdWcgZml4ZXMuCisqIFByaW50IGF0dHJpYnV0ZSB2YWx1ZXMgaW4gKnhhdHRyIHN5c3RlbSBjYWxscyBvbiBMaW51eC4KKyogSW5jbHVkZSBwcmVhZCBhbmQgcHdyaXRlIGNhbGxzIGluIC1lIHJlYWQgYW5kIC1lIHdyaXRlIHRyYWNpbmcuCisqIFVwZGF0ZSBTT18qIGFuZCBJUF8qIHZhbHVlIGxpc3RzIGFuZCBhZGQgSVBWNl8qIHZhbHVlcyBmb3Igc29ja2V0IG9wdGlvbnMuCisqIFByaW50IGNsb2NrX3QgdmFsdWVzIHN5bWJvbGljYWxseSBpbiBMaW51eCBjbG9ja18qIHN5c3RlbSBjYWxscy4KKworQ2hhbmdlcyBpbiA0LjUuNgorPT09PT09PT09PT09PT0KKyogQnVnIGZpeGVzLCBMaW51eCBpb2N0bCB1cGRhdGVzLgorKiBEYXZpZCBNaWxsZXIgY29udHJpYnV0ZWQgc3VwcG9ydCBmb3IgTGludXgvU1BBUkM2NC4KKworQ2hhbmdlcyBpbiA0LjUuNQorPT09PT09PT09PT09PT0KKyogSnVzdCBidWcgZml4ZXMuCisKK0NoYW5nZXMgaW4gNC41LjQKKz09PT09PT09PT09PT09CisqIFVwZGF0ZSBMaW51eCBpb2N0bCBsaXN0cy4KKyogVXBkYXRlIFBGXyogYW5kIEFGXyogdmFsdWUgbGlzdHMuCisqIFRoZSA0LjUuMyAtcCBiZWhhdmlvciBmb3IgTlBUTCB0aHJlYWRzIGFwcGxpZXMgb25seSB1bmRlciAtZiwgYW5kIGdvdCBmaXhlZC4KKworQ2hhbmdlcyBpbiA0LjUuMworPT09PT09PT09PT09PT0KKyogQnVnIGZpeGVzLgorKiBPbiBMaW51eCB1c2luZyBOUFRMIHRocmVhZHMsIC1wIHdpbGwgbm93IGF0dGFjaCB0byBhbGwgdGhyZWFkcyBpbiBhIHByb2Nlc3MuCisqIEhhbmRsZSBuZXcgbXFfKiBzeXN0ZW0gY2FsbHMgaW4gTGludXggMi42LjYgYW5kIGxhdGVyLgorCitDaGFuZ2VzIGluIDQuNS4yCis9PT09PT09PT09PT09PQorKiBCdWcgZml4ZXMuCisqIFJlcG9ydCBzb21lIG5ldyBWTV8qIGJpdCB2YWx1ZXMgb24gTGludXguCisqIEJldHRlciBvdXRwdXQgZm9yIExpbnV4IHNjaGVkXyogc3lzdGVtIGNhbGxzLgorCitDaGFuZ2VzIGluIDQuNS4xCis9PT09PT09PT09PT09PQorKiBCdWcgZml4ZXMuCisqIERpc3BsYXkgbXVsdGlwbGUgaW9jdGwgbmFtZSBtYXRjaGVzIG9uIExpbnV4LgorCitDaGFuZ2VzIGluIDQuNQorPT09PT09PT09PT09PT0KKyogTmV3IHBvcnQgdG8gQU1EJ3MgeDg2LTY0IGFyY2hpdGVjdHVyZS4gT25lIHN0cmFjZSBiaW5hcnkgY2FuCisgIGhhbmRsZSBib3RoIG5ldyB4ODYtNjQgYW5kIG9sZCBpMzg2IHByb2Nlc3Nlcy4KKyogRml4ZWQgc3VwcG9ydCBmb3IgTEZTNjQgY2FsbHMuCisqIE5ldyBzd2l0Y2ggLUUgdG8gYWRkL3JlbW92ZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgZm9yIHRoZSBjb21tYW5kLgorKiBNZXJnZWQgczM5MC9zMzkweCBwb3J0LgorKiBUcmFjZSBhbiB1bmJvdW5kZWQgbnVtYmVyIG9mIHByb2Nlc3Nlcy4KKyogSGFuZGxlIG51bWVyb3VzIG5ldyBzeXN0ZW0gY2FsbHMgaW4gTGludXggMi41LCBhbmQgbmV3IHRocmVhZHMgc2VtYW50aWNzLgorKiBGaXhlZCBidWdzIHdpdGggYXR0YWNoL2RldGFjaCBsZWF2aW5nIHRoaW5ncyBzdG9wcGVkLgorKiBGaXhlZCB0cmFjZWQgcHJvY2VzcyBzZWVpbmcgRUNISUxEIGRlc3BpdGUgbGl2ZSwgdHJhY2VkIGNoaWxkcmVuCisgIGluIHdhaXRwaWQgY2FsbHMgd2l0aCBXTk9IQU5HLgorKiBTdHVhcnQgTWVuZWZ5IGNvbnRyaWJ1dGVkIGEgcG9ydCB0byBMaW51eC9TSC4KKyogU3RlcGhlbiBUaG9tYXMgY29udHJpYnV0ZWQgYSBwb3J0IHRvIExpbnV4L1NINjQuCisqIE1hbnkgb3RoZXIgYnVnIGZpeGVzLgorCitDaGFuZ2VzIGluIDQuNAorPT09PT09PT09PT09PT0KKyogRml4IExpbnV4L2lhNjQgc3VwcG9ydCwgbG9va3MgbGlrZSBzb21lb25lIHJlbmFtZWQgYSBmZXcgdGhpbmdzIG9uIHVzCisqIEZpeCB0aGUgaW9jdGwgc2V0dXAgZm9yIExpbnV4LCB0dXJuZWQgb3V0IGl0IGRpZCBub3QgcmVhbGx5IHdvcmsuCisgIEltcHJvdmUgdGhlIGlvY3RsIGV4dHJhY3RlciBhcyB3ZWxsIHNvIHdlIGRlY29kZSBzb21lIG1vcmUgb25lcy4KKworQ2hhbmdlcyBpbiA0LjMuMQorPT09PT09PT09PT09PT09PQorKiBjb21waWxlIGZpeGVzIGZvciBMaW51eC9taXBzCisKK0NoYW5nZXMgaW4gNC4zCis9PT09PT09PT09PT09PQorKiBMaW51eCBpYTY0IGFuZCBocHBhIHBvcnRzIGFkZGVkCisqIFRoZSB1c3VhbCBMaW51eCBzeXNjYWxsIHVwZGF0ZXMgKGluY2x1ZGVzIDMyYml0IHVpZC9naWQgc3VwcG9ydCksCisqIExpbnV4IGlvY3RsIGxpc3QgdXBkYXRlZAorKiBTdXBwb3J0IElQdjYgc2NvcGUgaWRzCisqIEZyZWVCU0QvaTM4NiBwb3J0IGFkZGVkCisqIFVuaXhXYXJlIGFuZCBTb2xhcmlzIHVwZGF0ZXMKKyogQmV0dGVyIHN1cHBvcnQgZm9yIHRyYWNpbmcgbXVsdGl0aHJlYWRlZCBwcm9jZXNzZXMgaW4gTGludXgKKworQ2hhbmdlcyBpbiA0LjIKKz09PT09PT09PT09PT09CisqIENvbXBpbGVzIG9uIGdsaWJjMi4wIHN5c3RlbXMgYWdhaW4KKyogTGludXgvUzM5MCBwb3J0IGFkZGVkCisqIFRoZSB1c3VhbCBMaW51eCBzeXNjYWxsIHVwZGF0ZXMKKyogd2UgY2FuIGZvbGxvdyBmb3JrIG9uIGFybSBub3cKKworQ2hhbmdlcyBpbiA0LjEKKz09PT09PT09PT09PT09PT0KKyogTGludXgvTUlQUyBwb3J0IGFkZGVkCisqIExvdHMgb2YgTGludXggdXBkYXRlcyBhZ2FpbgorKiBJbXByb3ZlZCBJUHY2IHN1cHBvcnQKKyogQWRkIHN0cmFjZS1ncmFwaAorCitDaGFuZ2VzIGluIDQuMC4xCis9PT09PT09PT09PT09PT09CisqIE1pbm9yIGJ1Z2ZpeGVzCisqIENvbXBpbGVzIG9uIGdsaWJjMi4wIHN5c3RlbXMgYWdhaW4KKworQ2hhbmdlcyBpbiA0LjAKKz09PT09PT09PT09PT09CisqIEdldCBzdGF0IHN0cnVjdHVyZSBwcm9wZXJseSBvbiBMaW51eCA2NGJpdCBhcmNocworKiBQZXJzb25hbGl0aWVzIHdvcmsgYWdhaW4KKyogQ29tcGlsZSBjb3JyZWN0bHkgb24gU3VuT1MgYWdhaW4KKyogSVJJWDY0IHVwZGF0ZXMKKyogU29sYXJpcyB1cGRhdGVzCisKK0NoYW5nZXMgaW4gMy45OS4xCis9PT09PT09PT09PT09PT09PQorKiBMaW51eCAodWx0cmEpc3BhcmMgZml4ZXMKKyogTGludXggYWxwaGEgZml4ZXMKKyogTWlub3IgY2xlYW51cHMKKworQ2hhbmdlcyBpbiAzLjk5Cis9PT09PT09PT09PT09PT0KKyogTmV3IG1haW50YWluZXIKKyogYWRkIHN1cHBvcnQgZm9yIG1vcmUgTGludXggYXJjaGl0ZWN0dXJlcyAocG93ZXJwYywgc3BhcmMsIGFybSkKKyogc3VwcG9ydCBsb3RzIG1vcmUgTGludXggc3lzY2FsbHMKKyogZml4IHNpZ25hbCBoYW5kbGluZworKiBhZGQgSVBYIGFuZCBJUElQIHN1cHBvcnQKKyogY2hlY2sgc3RyYXkgc3lzY2FsbCBhZnRlciBleGVjdgorKiBmaXggaGFuZ2luZyBjaGlsZHJlbgorCitDaGFuZ2VzIGluIHZlcnNpb24gMy4xCis9PT09PT09PT09PT09PT09PT09PT09CisKKyogSXJpeDUgaXMgc3VwcG9ydGVkCisqIExpbnV4IDY4ayBpcyBzdXBwb3J0ZWQKKyogTGludXggYWxwaGEgaXMgc3VwcG9ydGVkCisqIGNvbmZpZ3VyZSBpcyB1cGdyYWRlZCB0byBhdXRvY29uZiAyLngKKyogdXNpbmcgLWYgaW4gY29tYmluYXRpb24gd2l0aCAtZSBub3cgd29ya3MgY29ycmVjdGx5CisqIG91dHB1dCBjYW4gYmUgcGlwZWQgdG8gYSBwcm9ncmFtCisqIHRyYWNpbmcgc2V0dWlkIHByb2dyYW1zIHdvcmtzIGJldHRlcgorKiBpdCBpcyBub3cgcmVhc29uYWJsZSB0byBpbnN0YWxsIHN0cmFjZSBzZXR1aWQgdG8gcm9vdCBpbiBzb21lIGNpcmN1bXN0YW5jZXMKKyogbmV3IHVzZWZ1bCB0cmFjaW5nIG5hbWVzIGxpa2UgZmlsZSBhbmQgcHJvY2VzcyB0byB0cmFjZSB3aG9sZQorICBjbGFzc2VzIG9mIHN5c3RlbSBjYWxscywgZS5nLiAtZWZpbGUgdHJhY2VzIGFsbCBzeXN0ZW0gY2FsbHMgdGhhdAorICB0YWtlIGEgZmlsZSBuYW1lIGFzIGFuIGFyZ3VtZW50CisqIElQQyBjYWxscyBvbiBTdW5PUyA0LjEueCBhcmUgZGVjb2RlZAorKiBMaW51eCBwcm9ncmFtIG1lbW9yeSBpcyByZWxpYWJseSBkZXJlZmVyZW5jZWQKKyogTGludXggZGVjb2RlcyBhdCBsZWFzdCB0aGUgbmFtZSBvZiBhbGwgc3lzY2FsbHMgYXMgb2YgcHJlMi4wLjQKKyogdmFyaW91cyBjb3NtZXRpYyBjaGFuZ2VzIGFuZCBidWcgZml4ZXMKKworQ2hhbmdlcyBmcm9tIHZlcnNpb25zIDIueCB0byB2ZXJzaW9uIDMuMAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCisqIGZpbGVuYW1lIGFyZ3VtZW50cyBhcmUgbmVpdGhlciBhYmJyZXZpYXRlZCBub3Igc3RyaW5naWZpZWQKKyogc3RyaW5nIGFyZ3VtZW50cyBhcmUgbm93IHRydWUgQyBzdHJpbmdzIHVzaW5nIG9jdGFsIGluc3RlYWQgb2YgaGV4IGJ5IGRlZmF1bHQKKyogcHJlcHJvY2Vzc29yIGNvbnN0YW50cyBhcmUgbmV2ZXIgc2hvcnRlbmVkIChlLmcuIHdhcyBSRE9OTFkgPT4gbm93IE9fUkRPTkxZKQorKiBieSBkZWZhdWx0IHRoZSBvdXRwdXQgZm9yIG11bHRpcGxlIHByb2Nlc3NlcyBub3cgZ29lcyBpbnRvIG9uZSBmaWxlCisqIGFsbCBzdHJ1Y3R1cmVzLCB2ZWN0b3JzLCBiaXRzZXRzLCBldGMuIHVzZSBjb25zaXN0ZW50IG91dHB1dCBmb3JtYXRzCisqIHRoZSAtYyBvcHRpb24gbm93IG1lYW5zIGNvdW50IGNhbGxzLCAtaSBkb2VzIHdoYXQgdGhlIG9sZCAtYyB1c2VkIHRvIGRvCisKK05ldyBGZWF0dXJlcyBpbiB2ZXJzaW9uIDMuMAorPT09PT09PT09PT09PT09PT09PT09PT09PT09CisKKyogbm9uLWFzY2lpIHN0cmluZ3MgY2FuIGJlIG9wdGlvbmFsbHkgcHJpbnRlZCBlbnRpcmVseSBpbiBoZXgKKyogdGhlIG91dHB1dCBmb3JtYXQgaXMgcmVhZGFibGUgd2hlbiBtdXRpcGxlIHByb2Nlc3NlcyBhcmUgZ2VuZXJhdGluZyBvdXRwdXQKKyogZXhpdCB2YWx1ZXMgYXJlIHByaW50ZWQgaW4gYW4gYWxpZ25tZW50IGNvbHVtbgorKiBpcyBpcyBwb3NzaWJsZSB0byBzdXBwcmVzcyBtZXNzYWdlcyBhYm91dCBhdHRhY2hpbmcgYW5kIGRldGFjaGluZworKiB2YXJpb3VzIHRyYWNpbmcgZmVhdHVyZXMgY2FuIGJlIGVuYWJsZWQgb24gYSBwZXIgc3lzY2FsbC9zaWduYWwvZGVzYyBiYXNpcworKiBzZWxlY3RpdmUgdHJhY2luZyBvZiBzeXNjYWxscworKiBzZWxlY3RpdmUgcHJpbnRpbmcgb2Ygc3lzY2FsbCBzdHJ1Y3R1cmVzCisqIHNlbGVjdGl2ZSBhYmJyZXZpYXRpb24gb2YgbG9uZyBzdHJ1Y3R1cmVzIG9uIGEgcGVyIHN5c2NhbGwgYmFzaXMKKyogc2VsZWN0aXZlIHByaW50aW5nIG9mIHJhdyBzeXNjYWxsIGFyZ3VtZW50cyBhbmQgcmVzdWx0cworKiBzZWxlY3RpdmUgdHJhY2luZyBvZiBzaWduYWxzCisqIHNlbGVjdGl2ZSBkdW1waW5nIG9mIGFsbCBJL08gcmVhZCBmcm9tIGZpbGUgZGVzY3JpcHRvcnMKKyogc2VsZWN0aXZlIGR1bXBpbmcgb2YgYWxsIEkvTyB3cml0dGVuIHRvIGZpbGUgZGVzY3JpcHRvcnMKKyogb3B0aW9uYWwgY291bnRpbmcgb2YgdGltZSwgY2FsbHMsIGFuZCBlcnJvcnMgZm9yIGVhY2ggc3lzY2FsbApkaWZmIC0tZ2l0IGEvc3RyYWNlLTQuNS4yMC9QT1JUSU5HIGIvc3RyYWNlLTQuNS4yMC9QT1JUSU5HCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFlZjRjZTQKLS0tIC9kZXYvbnVsbAorKysgYi9zdHJhY2UtNC41LjIwL1BPUlRJTkcKQEAgLTAsMCArMSw3MCBAQAorSSBhbSBmcmVxdWVudGx5IGFza2VkIHRvIHBvcnQgc3RyYWNlIHRvIGEgZ2l2ZW4gcGxhdGZvcm0uICBMZXNzCitmcmVxdWVudGx5IEkgYW0gYXNrZWQgaG93IG9uZSB3b3VsZCBnbyBhYm91dCBwb3J0aW5nIHN0cmFjZSB0byBhIGdpdmVuCitwbGF0Zm9ybS4gOi0pIFNpbmNlIEkgaGF2ZSBwb3J0ZWQgc3RyYWNlIHRvIGEgZmV3IHBsYXRmb3JtcyBhbHJlYWR5IEkKK2hhdmUgc29tZSBhZHZpY2UgdG8gdGhlIHdvdWxkLWJlIHN0cmFjZSBwb3J0ZXIuCisKK1RoZSBudW1iZXIgb25lIHF1ZXN0aW9uIGlzIGBgRG9lcyB0aGUgbmF0aXZlIG9wZXJhdGluZyBzdXBwb3J0IGEKK2NvbmNlcHQgd2hpY2ggZW5hYmxlcyBldmVuIHRoZSBtZXJlIHBvc3NpYmlsaXR5IG9mIHRyYWNpbmc/JycuICBTbyBmYXIKK0kgaGF2ZSBzZWVuIHR3byBtZWNoYW5pc21zIHdoaWNoIHN1cHBvcnQgc3lzdGVtIGNhbGwgdHJhY2luZy4gIFRoZXkKK2FyZSB0aGUgU3VuT1Mgb3JpZ2luYXRlZCBmZWF0dXJlIG9mIHRoZSBQVFJBQ0VfU1lTQ0FMTCBhcmd1bWVudCB0byB0aGUKK3B0cmFjZSBzeXN0ZW0gY2FsbCBhbmQgdGhlIFBJT0NTRU5UUlkvUElPQ1NFWElUIGlvY3RsIGZvciB0aGUgL3Byb2MKK2ZpbGVzeXN0ZW0gdW5kZXIgU3lzdGVtIFYgcmVsZWFzZSA0IHN0eWxlIFVuaXggZGVyaXZlZCBzeXN0ZW1zLiAgVGhlcmUKK21heSBiZSBvdGhlcnMgKHN1cmVseSBhIGJldHRlciBvbmUgY291bGQgYmUgZGV2aXNlZCA6LSkgYnV0IGlubm92YXRpb24KK2lzIGEgcmFyZSBjb21tb2RpdHkgc28gdW5sZXNzIG9uZSBvZiB0aGVzZSBpcyBzdXBwb3J0ZWQgeW91IG1heSBiZQorU09MLgorCitUaGVyZWZvcmUgdGhlIGZpcnN0IHN0ZXAgaXMgdG8gdHJ5IGBtYW4gMiBwdHJhY2UnIGFuZCBgbWFuIDQgcHJvYycgdG8KK3NlZSBpZiB0aGVyZSBpcyBldmVuIGEgZ2xpbW1lciBvZiBob3BlLiAgV2l0aG91dCBhc3Npc3RhbmNlIGZyb20gdGhlCitvcGVyYXRpbmcgc3lzdGVtLCBzeXN0ZW0gY2FsbCB0cmFjaW5nIGlzIGEgbG9zdCBjYXVzZS4gIElmIHRoZXJlIGlzIGEKK25hdGl2ZSBzeXN0ZW0gY2FsbCB0cmFjaW5nIHByb2dyYW0gKGhvd2V2ZXIgcGF0aGV0aWMgaXQgbWlnaHQgYmUgOi0pLAoreW91IG1heSBiZSBhYmxlIHRvIHVzZSBpdCB0byB0cmFjZSBpdHNlbGYgdG8gZGV0ZXJtaW5lIHdoYXQgbWVjaGFuaXNtCitpdCBpcyB1c2luZyBmb3IgdHJhY2luZyB0aGUgc3lzdGVtIGNhbGxzIG9mIGFub3RoZXIgcHJvY2Vzcy4gIElmIHRoZQoraW50ZXJmYWNlIGlzIGRvY3VtZW50ZWQgeW91IHNob3VsZCBiZSBhIGhhcHB5IGNhbXBlci4gIE90aGVyd2lzZSwKK3VubGVzcyB5b3UgY2FuIHRvbGVyYXRlIHRoZSB0aG91Z2h0IG9mIG1hbnkgdGhhbmtsZXNzIGhvdXJzCitzaW5nbGUtc3RlcHBpbmcgaW4gYSBkZWJ1Z2dlciB3aXRoIGxpdHRsZSBvciBub3RoaW5nIHRvIHNob3cgZm9yIGl0LAoreW91IHNob3VsZCBjb25zaWRlciBvdGhlciB0YXNrcyB0byBkaXN0cmFjdCB5b3UgZnJvbSB5b3VyIGZyaWVuZHMsCitmYW1pbHksIGVkdWNhdGlvbiwgam9iLCBzcG91c2UgYW5kL29yIHNpZ25pZmljYW50IG90aGVyLgorCitJZiB5b3UgaGF2ZSBhcnJpdmVkIGhlcmUsIHlvdXIgT1Mgc2hvdWxkIGhhdmUgcHRyYWNlIG9yIHByb2Mgb3IgeW91CitzaG91bGQgaGF2ZSBhIGhpZ2ggdG9sZXJhbmNlIGZvciBwYWluLiAgVGhlbiBhZ2FpbiwgY3VyaW91cyBidXQKK2RldGFjaGVkIHJlYWRlcnMgYXJlIGludml0ZWQgdG8gY29udGludWUgd2l0aCBsaXR0bGUgdG8gcmlzayBidXQKK2JvcmVkb20uICBJZiB0aGUgbWVjaGFuaXNtIGlzIG5laXRoZXIgcHRyYWNlIG5vciBwcm9jIHRoZW4gZXhhbWluZSBob3cKK2l0IGlzIGludGVuZGVkIHRvIHdvcmsgYW5kIHNlZSBob3cgd2VsbCBpdCBmaXRzIHdpdGggd2hhdCBzdHJhY2UKK2FscmVhZHkgZG9lcy4gIElmIGl0IGZpdHMsIGZpbmUsIGFkZCBhIGZldyBtb3JlIGlmZGVmcy4gIElmIHRoZXJlIGlzIGEKK2dyb3NzIG1pc21hdGNoLCB3cml0ZSBhIHdob2xlIG5ldyBldmVudCBsb29wLgorCitBdCB0aGlzIHBvaW50IHlvdSBhcmUgcmVzcG9uc2libGUgZm9yIGRldGVybWluaW5nIHRocmVlIHRoaW5nczogaG93IGlzCit0aGUgc3BlY2lmaWMgc3lzdGVtIGNhbGwgY29tbXVuaWNhdGVkLCBob3cgYXJlIHN5c3RlbSBjYWxsIGFyZ3VtZW50cworaGFuZGxlZCwgYW5kIGhvdyBpcyBlcnJubyBoYW5kbGVkLiAgVGhlc2UgdGhpbmdzIGNhbiB1c3VhbGx5IGJlCityZXNvbHZlZCBpbiBhIGRheSBvciB0d28gdXNpbmcgYSBkZWNlbnQgYXNzZW1ibHkgbGV2ZWwgZGVidWdnZXIgYW5kCitzb21lIGVkdWNhdGVkIGd1ZXNzd29yay4gIEZvciBleGFtcGxlLCBzZXQgYSBicmVha3BvaW50IG9uIGByZWFkJy4KK1RoZW4gZGlzYXNzZW1ibGUgdGhlIGNvZGUgYW5kIHNlZSB3aGVyZSB0aGUgYXJndW1lbnRzIGdvLiAgRG8gdGhleSBnbworb24gdGhlIHN0YWNrPyAgRG8gdGhleSBnbyBpbnRvIHJlZ2lzdGVycz8gIFNvbWUgY29tYmluYXRpb24gb2YgdGhlCit0d28/ICBGaW5kIHRoZSBwb2ludCB3aGVyZSB0aGUgdHJhbnNpdGlvbiBmcm9tIHVzZXIgbW9kZSB0byBrZXJuZWwKK21vZGUgaXMgbWFkZS4gIENhbiB5b3UgaWRlbnRpZnkgdGhlIGFyZ3VtZW50cyBhdCB0aGlzIHBvaW50PyAgV2hlbiB0aGUKK2NhbGwgcmV0dXJucyB3aGVyZSBkb2VzIGVycm5vIGdvPyAgSW50byBhIHNwZWNpZmljIHJlZ2lzdGVyPyAgSW50byBhCitnbG9iYWwgdmFyaWFibGU/CisKK05leHQgeW91IG5lZWQgdG8gZGV0ZXJtaW5lIGhvdyB0byBkZWNvZGUgbnVtZXJpYyBzeXN0ZW0gY2FsbCBudW1iZXJzCitpbnRvIHN5c3RlbSBjYWxsIG5hbWVzIChzeXNjYWxsZW50LmgpLCBlcnJubyB2YWx1ZXMgaW50byBlcnJubyBuYW1lcworKGVycm5vZW50LmgpIGFuZCBpb2N0bCB2YWx1ZXMgaW50byBpb2N0bCBuYW1lcyAoaW9jdGxlbnQuaCkuICBPZnRlbgordGhpcyBmcmFnaWxlIHN0ZXAgY2FuIGJlIGFjY29tcGxpc2hlZCBieSBtYXNzYWdpbmcgc3lzdGVtIGhlYWRlciBmaWxlcword2l0aCBhZCBob2Mgc2hlbGwgc2NyaXB0cy4gIEV4cGVjdCB5b3VyIHNjcmlwdHMgdG8gYnJlYWsgd2l0aCBldmVyeQorZG90IHJldiBvZiBlYWNoIE9TIHJlbGVhc2UuCisKK0ZpbmFsbHksIG9uY2UgeW91IGhhdmUgdGhlIGJhc2ljIGZyYW1ld29yayBpbiB3aGljaCBzeXN0ZW0gY2FsbHMgYW5kCit0aGVpciBhcmd1bWVudHMgY2FuIGJlIGRlY29kZWQsIHlvdSBtdXN0IGRvIHRoZSBkaXJ0eSB3b3JrIG9mIGRlY29kaW5nCitldmVyeSB1c2VmdWwgY2FsbC4gIFNvbWUgbWF5IGJlIHNpbWlsYXIgb3IgaWRlbnRpY2FsIHRvIGxpa2UtbmFtZWQKK2NhbGxzIGluIG90aGVyIG9wZXJhdGluZyBzeXN0ZW1zLiAgR28gYWhlYWQgYW5kIHR3ZWFrIHdoYXQgaXMgdGhlcmUKK3RvIGFjaGlldmUgd2hhdCB5b3Ugd2FudC4gIElmIHRoZXJlIGlzIG1vcmUgZGlmZmVyZW5jZSB0aGFuIHNpbWlsYXJpdHksCit0aGVuIGp1c3Qgd3JpdGUgeW91ciBvd24gdmVyc2lvbiBvZiBpdCB1c2luZyBvbmUgb2YgdGhlIGV4aXN0aW5nCitpbXBsZW1lbnRhdGlvbnMgZm9yIGlkZWFzLgorCitUaGUgZmlyc3Qgb3JkZXIgb2YgZGVjb2RpbmcgaXMgdGhlIGdlbmVyYXRpb24gb2Ygc3VpdGFibGUgc3lzdGVtIGNhbGwsCitlcnJubywgaW9jdGwgYW5kIHNpZ25hbCB0YWJsZXMuICBTYW1wbGUgc2NyaXB0cyBhcmUgaW5jbHVkZWQgdG8gYXNzaXN0Cit3aXRoIHRoZSBnZW5lcmF0aW9uIG9mIGEgZmlyc3QgcGFzcyBhdCB0aGVzZSB0YWJsZXMuCisKK0dvb2QgbHVjayBhbmQgZmVlbCBmcmVlIHRvIGNvbnRhY3QgbWUgYmVmb3JlIGFuZC9vciBkdXJpbmcgYW55IG1ham9yCitwcm9qZWN0LgorCitSaWNrIFNsYWRrZXkgPGpyc0B3b3JsZC5zdGQuY29tPgpkaWZmIC0tZ2l0IGEvc3RyYWNlLTQuNS4yMC9SRUFETUUgYi9zdHJhY2UtNC41LjIwL1JFQURNRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MTQ5MGNiCi0tLSAvZGV2L251bGwKKysrIGIvc3RyYWNlLTQuNS4yMC9SRUFETUUKQEAgLTAsMCArMSwzMSBAQAorVGhpcyBpcyBzdHJhY2UgNC4wLCBhIHN5c3RlbSBjYWxsIHRyYWNlciBmb3IgU3VuT1MgNC54LCBMaW51eCwgU3lzdGVtCitWIHJlbGVhc2UgNCwgU29sYXJpcyAyLnggYW5kIElyaXggNS54LiAgc3RyYWNlIGlzIHJlbGVhc2VkIHVuZGVyIGEKK0JlcmtlbGV5LXN0eWxlIGxpY2Vuc2UgYXQgdGhlIHJlcXVlc3Qgb2YgUGF1bCBLcmFuZW5idXJnOyBzZWUgdGhlIGZpbGUKK0NPUFlSSUdIVCBmb3IgZGV0YWlscy4KKworUmVhZCB0aGUgSU5TVEFMTCBmaWxlIGZvciBnZW5lcmljIGluc3RydWN0aW9ucyBvbiBob3cgdG8gaW5zdGFsbAorc3RyYWNlLiAgSWYgY29uZmlndXJlIGNhbm5vdCBndWVzcyB5b3VyIHN5c3RlbSBjb25maWd1cmF0aW9uLCB5b3UgY2FuCitzcGVjaWZ5IGl0IG9uIHRoZSBjb21tYW5kIGxpbmUgYWZ0ZXIgdGhlIG90aGVyIG9wdGlvbnMgbGlrZSB0aGlzOgorCisJLi9jb25maWd1cmUgLS1wcmVmaXg9L3VzciBpNDg2LWxpbnV4CisKK0Egc2luZ2xlIHN1bm9zNC4xIGJpbmFyeSBzaG91bGQgd29yayBvbiBhbGwgdGhlIHN1bjQsIHN1bjRjIGFuZCBzdW40bQora2VybmVsIGFyY2hpdGVjdHVyZXMuICBMZXQgbWUga25vdyBpZiBzdW40ZCBkb2Vzbid0IHdvcmsuICBPdGhlcgoraTQ4Ni0qLXN5c3Y0IHN5c3RlbXMgbWF5IHdvcmsgd2l0aCBsaXR0bGUgb3Igbm8gdHdlYWtpbmcuCisKK1NlZSB0aGUgZmlsZSBORVdTIGZvciBpbmZvcm1hdGlvbiBvbiB3aGF0IGhhcyBjaGFuZ2VkIGluIHJlY2VudAordmVyc2lvbnMuCisKK1NlZSB0aGUgZmlsZSBQT1JUSU5HIGlmIHlvdSBsaWtlIHN0cmFjZSBidXQgaXQgZG9lc24ndCB3b3JrIG9uIGFuCitvcGVyYXRpbmcgc3lzdGVtIHlvdSB1c2UgZnJlcXVlbnRseS4KKworU2VlIHRoZSBmaWxlIENSRURJVFMgdG8gc2VlIHdobyBoYXMgY29udHJpYnV0ZWQgdG8gc3RyYWNlLgorCitTZWUgdGhlIGZpbGUgVE9ETyBpZiB5b3UgZmVlbCBsaWtlIGhlbHBpbmcgb3V0LgorCitZb3UgY2FuIGdldCB0aGUgbGF0ZXN0IHZlcnNpb24gb2Ygc3RyYWNlIGZyb20gaXRzIGhvbWVwYWdlIGF0CitodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL3N0cmFjZS8gLgorCitQbGVhc2Ugc2VuZCBidWcgcmVwb3J0cyBhbmQgZW5oYW5jZW1lbnRzIHRvIHRoZSBzdHJhY2UKK21haWxpbmdsaXN0IGF0IHN0cmFjZS1kZXZlbEBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQsIG9yIGRpcmVjdGx5IHRvCitXaWNoZXJ0IEFra2VybWFuIDx3YWtrZXJtYUBkZWJpYW4ub3JnPgpkaWZmIC0tZ2l0IGEvc3RyYWNlLTQuNS4yMC9SRUFETUUtZnJlZWJzZCBiL3N0cmFjZS00LjUuMjAvUkVBRE1FLWZyZWVic2QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWY5YmQzYgotLS0gL2Rldi9udWxsCisrKyBiL3N0cmFjZS00LjUuMjAvUkVBRE1FLWZyZWVic2QKQEAgLTAsMCArMSwyNiBAQAorSGVyZSdzIGEgcHJlbGltaW5hcnkgcG9ydCBvZiBzdHJhY2UgdG8gRnJlZUJTRC4KKworSGVyZSBhcmUgc29tZSBub3RlcyBhYm91dCBpdCA6CisKKy0gVGhpcyBjb3VsZG4ndCBoYXZlIGJlZW4gZG9uZSB3aXRob3V0IHRoZSBzb3VyY2VzIG9mIHRoZSB0cnVzcworICB1dGlsaXR5IGJ5IFNlYW4gRXJpYyBGYWdhbiwgd2hpY2ggd2VyZSBvZiBncmVhdCBoZWxwLgorCistIFRoZSB0cmFjaW5nIG1lY2FuaXNtIHVzZWQgYnkgRnJlZUJEIGlzIGEgbG90IGxpa2UgdGhlIFNWUjQgb25lLCBzbworICB0aGlzIHBvcnQgc2hhcmVzIGEgbG90IG9mIGNvZGUgd2l0aCB0aGUgU1ZSNCBwb3J0LCBpbmNsdWRpbmcgdGhlCisgIGFrd2FyZCBldmVudCBsb29wIHdoZW4gdHJhY2luZyBtdWx0aXBsZSBwcm9jZXNzZXMuCisKKy0gVGhpcyB3b3JrcyBmb3IgaTM4NiBiaW5hcmllcywgYWx0aG91Z2ggc3VwcG9ydCBmb3IgYWxwaGEgcHJvY2Vzc29yCisgIHNob3VsZCBiZSBxdWl0ZSBzdHJhaWdodCBmb3J3YXJkLCBidXQgSSBkbyBub3QgaGF2ZSBhbiBhbHBoYSB0bworICB0ZXN0IGl0IG9uLgorCistIFRyYWNpbmcgbGludXggYmluYXJpZXMgaXMgbm90IHN1cHBvcnRlZCB5ZXQsIGJ1dCBzaG91bGQgYmUgcG9zc2libGUKKyAgd2l0aCBzb21lIHdvcmsuCisKKy0gVGhlcmUgYXJlIHNvbWUgaXNzdWVzIHdpdGggZm9sbG93aW5nIGZvcmtzLCBhbmQgb25seSBhIGZldyBGcmVlQlNECisgIHNwZWNpZmljIHN5c2NhbGxzIGFyZSBkZWNvZGVkIHJpZ2h0IG5vdy4KKworLSBUaGlzIHdhcyB0ZXN0ZWQgb24gRnJlZUJTRCA0LjAuIEkgYmVsaWV2ZSB0aGUgdHJhY2luZyBpbnRlcmZhY2UgaXMKKyAgcHJlc2VudCBzaW5jZSBhdCBsZWFzdCBGcmVlQlNEIDMuMCwgc28gaXQgInNob3VsZCIgd29yayBvbiBhbGwKKyAgbGF0ZXN0IHJlbGVhc2VzLiBJIGhhdmUgbm8gaWRlYSBmb3Igb3RoZXIgQlNEcywgdGhvdWdoLgorCitHYetsIFJvdWFsbGFuZCA8Z2FlbC5yb3VhbGxhbmRAaW5hbWUuY29tPgpkaWZmIC0tZ2l0IGEvc3RyYWNlLTQuNS4yMC9SRUFETUUtbGludXggYi9zdHJhY2UtNC41LjIwL1JFQURNRS1saW51eApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MmRmMjU4Ci0tLSAvZGV2L251bGwKKysrIGIvc3RyYWNlLTQuNS4yMC9SRUFETUUtbGludXgKQEAgLTAsMCArMSwzMSBAQAorCitTdHJhY2UgaGFzIGJlZW4gcG9ydGVkIGJ5IEJyYW5rbyBMYW5rZXN0ZXIgPGJyYW5rb0BoYWNrdGljLm5sPgordG8gcnVuIG9uIExpbnV4IHN5c3RlbXMuICBTaW5jZSB0aGVuIGl0IGhhcyBiZWVuIGdyZWF0bHkgbW9kaWZpZWQKK2J5IHZhcmlvdXMgb3RoZXIgcGVvcGxlLgorCitJZiB5b3Ugd2FudCB0byBjb21waWxlIHN0cmFjZSBvbiBhIExpbnV4IHN5c3RlbSBwbGVhc2UgbWFrZSBzdXJlIHRoYXQKK3lvdSB1c2UgcmVjZW50IGtlcm5lbCBoZWFkZXJzLiBTdHJhY2UgbmVlZHMgdGhvc2UgdG8gZ2V0IHRoZSBwcm9wZXIgZGF0YQorc3RydWN0dXJlcyBhbmQgY29uc3RhdG5zIHVzZWQgYnkgdGhlIGtlcm5lbCwgc2luY2UgdGhlc2UgY2FuIGJlCitkaWZmZXJlbnQgZnJvbSB0aGUgc3RydWN0dXJlcyB0aGF0IHRoZSBDIGxpYnJhcnkgdXNlcy4gQ3VycmVudGx5IHlvdQord2lsbCBuZWVkIGF0IGxlYXN0IGEgMi4yLjcgb3IgbmV3ZXIga2VybmVsLgorCitUbyBjb21wbGljYXRlIHRoaW5ncyBhIGJpdCBmdXJ0aGVyIHN0cmFjZSBtaWdodCBub3QgY29tcGlsZSBpZiB5b3UgYXJlCit1c2luZyBkZXZlbG9wbWVudCBrZXJuZWxzLiBUaGVzZSB0ZW5kIHRvIGhhdmUgaGVhZGVycyB0aGF0IGNvbmZsaWN0IHdpdGgKK3RoZSBoZWFkZXJzIGZyb20gbGliYyB3aGljaCBtYWtlcyBpdCBpbXBvc3NpYmxlIHRvIHVzZSB0aGVtLgorCitUaGVyZSBhcmUgdGhyZWUgd2F5cyB0byBjb21waWxlIHN0cmFjZSB3aXRoIG90aGVyIGtlcm5lbCBoZWFkZXJzOgorKiBTcGVjaWZ5IHRoZSBsb2NhdGlvbiBpbiBDRkxBR1Mgd2hlbiBydW5uaW5nIGNvbmZpZ3VyZQorCisgICAgIENGTEFHUz0tSS91c3Ivc3JjL2xpbnV4L2luY2x1ZGUgLi9jb25maWd1cmUKKworKiB5b3UgY2FuIHRlbGwgbWFrZSB3aGVyZSB5b3VyIGtlcm5lbCBzb3VyY2VzIGFyZS4gRm9yIGV4YW1wbGUgaWYgeW91CisgIGhhdmUgeW91ciBrZXJuZWxzb3VyY2UgaW4gL3Vzci9zcmMvbGludXgsIHlvdSBjYW4gaW52b2tlIG1ha2UgbGlrZQorICB0aGlzOgorCisgICAgIG1ha2UgQ0ZMQUdTPSJcJENGTEFHUyAtSS91c3Ivc3JjL2xpbnV4L2luY2x1ZGUiCisKKyAgKHRoZSBleHRyYSBcJENGTEFHUyBpcyB0aGVyZSB0byBtYWtlIHN1cmUgd2UgZG9uJ3Qgb3ZlcnJpZGUgYW55IENGTEFHUworICBzZXR0aW5ncyB0aGF0IGNvbmZpZ3VyZSBoYXMgZm91bmQpLgorCisqIHlvdSBjYW4gbGluayAvdXNyL2luY2x1ZGUvbGludXggYW5kIC91c3IvaW5jbHVkZS9hc20gdG8gdGhlCisgIGNvcnJlc3BvbmRpbmcgZGlyZWN0b3JpZXMgaW4geW91ciBrZXJuZWwgc291cmNlLXRyZWUuCmRpZmYgLS1naXQgYS9zdHJhY2UtNC41LjIwL1JFQURNRS1zdW5vczQgYi9zdHJhY2UtNC41LjIwL1JFQURNRS1zdW5vczQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWZhOGFlMgotLS0gL2Rldi9udWxsCisrKyBiL3N0cmFjZS00LjUuMjAvUkVBRE1FLXN1bm9zNApAQCAtMCwwICsxLDg1IEBACis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KK1RoaXMgaXMgdGhlIHVubW9kaWZpZWQgUkVBRE1FIGZyb20gUGF1bCBLcmFuZW5idXJnJ3MgcmVsZWFzZSBvZiBzdHJhY2UKK2ZvciBTdW5PUyA0LjEueC4gIFNvbWUgb2YgdGhlIG5vdGVzIGFuZCBpbnN0cnVjdGlvbnMgYXJlIG5vIGxvbmdlciB2YWxpZAoraG93ZXZlciB0aGUgZmlsZSBoYXMgYmVlbiByZXRhaW5lZCBmb3IgaXRzIGhpc3RvcmljYWwgdmFsdWUuIC0tIGpycworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKKy8qCisgKiBAKCMpUkVBRE1FCTIuNCA5Mi8wMS8yMQorICoKKyAqIENvcHlyaWdodCAoQykgMTk5MSBQYXVsIEtyYW5lbmJ1cmcuCisgKgorICogUGxlYXNlIHNlbmQgY29tbWVudHMsIGVuaGFuY2VtZW50cyBvciBhbnkgb3RoZXIgdXNlZnVsIGlkZWFzIHRvCisgKiB0aGUgYWRkcmVzcyBhdCB0aGUgZW5kIG9mIHRoaXMgZmlsZS4KKyAqCisgKi8KKworc3RyYWNlKDEpIGlzIGEgc3lzdGVtIGNhbGwgdHJhY2VyIGZvciBTdW4odG0pIHN5c3RlbXMgbXVjaCBsaWtlIHRoZQorU3VuIHN1cHBsaWVkIHByb2dyYW0gdHJhY2UoMSkuIHN0cmFjZSgxKSBpcyBhIHVzZWZ1bCB1dGlsaXR5IHRvIHNvcnQKK29mIGRlYnVnIHByb2dyYW1zIGZvciB3aGljaCBubyBzb3VyY2UgaXMgYXZhaWxhYmxlIHdoaWNoIHVuZm9ydHVuYXRlbHkKK2luY2x1ZGVzIGFsbW9zdCBhbGwgb2YgdGhlIFN1biBzdXBwbGllZCBzeXN0ZW0gc29mdHdhcmUuCisKK0xpa2UgdHJhY2UoMSksIHN0cmFjZSBkaXNwbGF5cyBlYWNoIHN5c3RlbSBjYWxsIGFuZCBpdHMgYXJndW1lbnRzIGFzIGl0CitpcyBpbnZva2VkIGJ5IHRoZSB0cmFjZWQgcHJvY2VzcywgYnV0IHRyaWVzIHRvIGRvIGEgYmV0dGVyIGpvYiBvZgorZGVjb2RpbmcgdGhlIGFyZ3VtZW50cywgZGlzcGxheWluZyB0aGVtIGluIHN5bWJvbGljIGZvcm1hdCB3aGVuZXZlcgorcG9zc2libGUuIFBhc3NlZCBzdHJ1Y3R1cmVzL2NoYXJhY3RlciBhcnJheXMgYXJlIHJlYWQgZnJvbSB0aGUgcHJvY2VzcycKK2FkZHJlc3Mgc3BhY2UgYW5kIGRpc3BsYXllZCBpbiBhbiBhcHByb3ByaWF0ZSBmb3JtYXQuCisKK0l0IGlzIGFsc28gcG9zc2libGUgdG8gaW5zdHJ1Y3Qgc3RyYWNlIHRvIHRyYWNlIGNoaWxkIHByb2Nlc3NlcyBhcwordGhleSBhcmUgY3JlYXRlZCBieSB0aGUgZm9yaygyKSBzeXN0ZW0gY2FsbC4gSG93ZXZlciwgdGhpcyBpcyBzbGlnaHRseQoraW52b2x2ZWQgZm9yIHR3byByZWFzb25zOiAxKSB0aGUgdHJhY2UgZmxhZyBpcyBjbGVhcmVkIGluIHRoZSBjaGlsZAorcHJvY2VzcyBieSB0aGUgZm9yayBzeXN0ZW0gY2FsbCwgc28gd2UgbXVzdCBtYWtlIGEgc3BlY2lhbCBlZmZvcnQgdG8KK2dhaW4gY29udHJvbCBvZiB0aGUgY2hpbGQgKHNlZSBOT1RFUyBiZWxvdyksIDIpIG91ciB0cmFjaW5nIG1hbmlwdWxhdGlvbnMKK29mIHRoZSBjaGlsZCBtYXkgaW50ZXJmZXJlIHdpdGggYSBwb3NzaWJsZSB3YWl0KDIpIHN5c3RlbSBjYWxsIGV4ZWN1dGVkCitieSB0aGUgKGFsc28gdHJhY2VkKSBwYXJlbnQgcHJvY2Vzcy4gSW4gdGhpcyBjYXNlIHdlIGRvbid0IGFsbG93IHRoZSBwYXJlbnQKK3RvIGNvbnRpbnVlIHVudGlsIG9uZSBvZiBpdHMgY2hpbGRyZW4gZW50ZXJzIGEgc3RhdGUgdGhhdCBtYXkgY2F1c2UgdGhlCitwYXJlbnQncyB3YWl0KDIpIGNhbGwgdG8gcmV0dXJuLgorCisKK05PVEVTLgorCitvCU5vdCBhbGwgc3lzdGVtIGNhbGxzIGhhdmUgYmVlbiBpbXBsZW1lbnRlZCB5ZXQgYXMgZGVzY3JpYmVkCisJYWJvdmUgKHNlZSBkdW1teS5oIGZvciBhIGxpc3QpLCB0aGVzZSBjYWxscyBvbmx5IGhhdmUgdGhlaXIgYXJncworCWRpc3BsYXllZCBhcyBoZXggbnVtYmVycy4KKworbwlUaGUgcHJvZ3JhbSBkcmF3cyBoZWF2aWx5IG9uIFN1bidzIGV4dGVuc2lvbnMgdG8gdGhlIHB0cmFjZSgyKQorCXN5c3RlbSBjYWxsLgorCitvCVRoaXMgcmVsZWFzZSBpcyBiYXNlZCB1cG9uIFN1bk9TIDQuMS4xLiBUaGUgc3lzY2FsbCBsaXN0IChzeXNjYWxsLmgpCisJYW5kIGlvY3RsJ3MgKGlvY3RsZW50Lm00KSBhcmUgcHJvYmFibHkgbW9zdCBjcml0aWNhbGx5IGRlcGVuZGFudAorCW9uIHRoZSBPUyB2ZXJzaW9uIChzZWUgYWxzbyAvc3lzL29zL2luaXRfc3lzZW50LmMpLgorCVlvdSBtYXkgaGF2ZSB0byBlZGl0IGBpb2N0bHNvcnQuYycgYW5kL29yIGBpb2N0bGVudC5tNCcgdG8gZ2V0CisJYGlvY3Rsc29ydC5jJyB0byBjb21waWxlIHdpdGggeW91ciBzdWl0ZSBvZiBzeXN0ZW0gaGVhZGVyIGZpbGVzLgorCitvCVRoZSB3YXkgaW4gd2hpY2ggY2hpbGQgcHJvY2Vzc2VzIGFyZSBjYXVnaHQgYW5kIGF0dGFjaGVkIHRvIGFmdGVyCisJdGhlIGZvcmsoKSBjYWxsIGlzIFNwYXJjLXNwZWNpZmljIChpbiBmYWN0IGl0IGhhcyB0aGUgbG9va3Mgb2YgYQorCXRlcnJpYmxlIGhhY2spLiBBbHNvLCB0aGlzIHRyaWNrIHdvbid0IHdvcmsgd2l0aCB2Zm9yaygyKS4KKwlFbmhhbmNlbWVudHMgYXJlIHNvbGxpY2l0ZWQgZm9yLgorCitvCUR5bmFtaWNhbGx5IGxpbmtlZCBleGVjdXRhYmxlcyBjYW4gYmUgY29udmluY2VkIHRvIHVzZSB0aGUgZm9yaygyKQorCXN5c3RlbSBjYWxsIGluIHN0ZWFkIG9mIHZmb3JrKDIpIGJ5IG1vZGlmeWluZyB0aGVpciAoaW50ZXJuYWwpCisJc3ltYm9sIHRhYmxlIGltbWVkaWF0ZWx5IGFmdGVyIHN1Y2ggYSBwcm9ncmFtIGlzIGV4ZWMnZWQuIEJlCisJd2FybmVkIHRoYXQgcHJvZ3JhbXMgd2hpY2ggZGVwZW5kIG9uIHZmb3JrJ3MgcGVjdWxpYXIgc2VtYW50aWNzCisJbWF5IG5vdCBydW4gYXMgZXhwZWN0ZWQuIEVuYWJsZSBieSB0aGUgYC1GJyBzd2l0Y2guCisKKworSU5TVEFMTEFUSU9OLgorCisJRWRpdCB0aGUgcGF0aHMgaW4gdGhlIE1ha2VmaWxlIHRvIHN1aXQgeW91ciBsb2NhbCBzeXN0ZW0uCisJRW50ZXIgdGhlIHVzdWFsIG1ha2UgY29tbWFuZHMgKGBtYWtlIGRlYnVnJyB0byBlbmFibGUgdGhlCisJY29tcGlsZXIgYC1nJyBmbGFnKS4KKworCU5vdCBhbGwgc2l0ZXMgaGF2ZSBhIGNvbXBsZXRlIHNldCBvZiBpbmNsdWRlIGZpbGVzLCBkZXBlbmRpbmcKKwlvbiB0aGUgc2VsZWN0ZWQgc29mdHdhcmUgY2F0ZWdvcmllcyBhdCBPUyBpbnN0YWxsIHRpbWUuIFRoZQorCW1ha2VmaWxlIHRyaWVzIHRvIGRldGVjdCB0aGUgcHJlc2VuY2Ugb2YgdGhlIFN1bnZpZXcgY2F0ZWdvcnksCisJaWYgb3RoZXIgZmlsZXMgYXJlIG1pc3NpbmcgeW91IG1heSBoYXZlIHRvIGVkaXQgYGlvY3RsZW50LmgnLgorCisKK0NPTU1FTlRTIFRPOgorCisJUC4gS3JhbmVuYnVyZworCURlcGFydG1lbnQgb2YgQ29tcHV0ZXIgU2NpZW5jZQorCUVyYXNtdXMgVW5pdmVyc2l0eSBSb3R0ZXJkYW0KKwlQLk8uIEJveCAxNzM4CisJTkwtMzAwMCBEUiBSb3R0ZXJkYW0KKwllLW1haWw6IHBrQGNzLmZldy5ldXIubmwKZGlmZiAtLWdpdCBhL3N0cmFjZS00LjUuMjAvUkVBRE1FLXN2cjQgYi9zdHJhY2UtNC41LjIwL1JFQURNRS1zdnI0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM4N2QyNGQKLS0tIC9kZXYvbnVsbAorKysgYi9zdHJhY2UtNC41LjIwL1JFQURNRS1zdnI0CkBAIC0wLDAgKzEsMjEgQEAKK0V2ZW4gdGhvdWdoIFNWUjQgaGFzIHRydXNzLCB5b3UgbWF5IHByZWZlciB1c2luZyBzdHJhY2UgZm9yIGEgbnVtYmVyCitvZiByZWFzb25zLiAgTm90IHRoZSBsZWFzdCBvZiB3aGljaCBhcmUgcG9ydGFiaWxpdHkgYW5kIHNvdXJjZSBjb2RlLgorCitUaGUgbWFpbiBldmVudCBsb29wIGlzIGF3a3dhcmQgb24gc3lzdGVtcyBmb3Igd2hpY2ggcHJvY2ZzIGlzbid0Citwb2xsYWJsZS4gIEkgdGhpbmsgYSBwb2xsYWJsZSBwcm9jZnMgaXMgYSBTb2xhcmlzIGludmVudGlvbiBzbyBtb3N0IFNWUjQKK3N5c3RlbXMgaGF2ZSB0aGlzIHdlYWtuZXNzLiAgT24gU29sYXJpcywgc3RyYWNlIHJ1bnMgYXMgYSBzaW5nbGUKK2NvbnRyb2xsaW5nIHByb2Nlc3MuICBUaGlzIGlzIGEgYmlnIGltcHJvdmVtZW50IGlmIHlvdSBhcmUgZGVidWdnaW5nIGEKK2xvdCBvZiBwcm9jZXNzZXMgYXQgb25jZS4KKworVGhlcmUgaXMgbm8gdGhyZWFkIHN1cHBvcnQgYnV0IGl0IHdvdWxkbid0IGJlIHZlcnkgZGlmZmljdWx0IHRvIGFkZCBpdC4KKworT24gVW5peFdhcmUgdXNpbmcgdGhlIC1mIG9wdGlvbiB0byBmb2xsb3cgZm9ya2VkIGNoaWxkcmVuIHNvbWV0aW1lcyBzaG93cworbWFueSAidW5maW5pc2hlZCIgc3lzdGVtIGNhbGxzIGFzIHN0cmFjZSBib3VuY2VzIGJldHdlZW4gZWFjaCBydW5uYWJsZSBjaGlsZC4KK0EgY3J1ZGUgd29ya2Fyb3VuZCBmb3IgdGhpcyBpcyBhdmFpbGFibGUgYnkgYWRkaW5nCisKKyAgICAjZGVmaW5lIFBPTExfSEFDSyAxCisKK3RvIHRoZSBjb25maWcuaCBmaWxlLiAgVGhpcyBmb3JjZXMgc3RyYWNlIHRvIGNoZWNrIHdoZXRoZXIgdGhlIGxhc3QgcHJvY2VzcworaGFzIGZpbmlzaGVkIGEgc3lzdGVtIGNhbGwgYmVmb3JlIHBvbGxpbmcgb3RoZXIgcHJvY2Vzc2VzIGZvciBldmVudHMuCisKK1dpY2hlcnQgQWtrZXJtYW4gPHdha2tlcm1hQGRlYmlhbi5vcmc+CmRpZmYgLS1naXQgYS9zdHJhY2UtNC41LjIwL1RPRE8gYi9zdHJhY2UtNC41LjIwL1RPRE8KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWQ2YThlOAotLS0gL2Rldi9udWxsCisrKyBiL3N0cmFjZS00LjUuMjAvVE9ETwpAQCAtMCwwICsxLDMyIEBACistLSBuZXcgZW50cmllcyBmcm9tIHd0YQorKiBjbG9uZSBkb2Vzbid0IHdvcms7IGNsb25lZCBwcm9jZXNzZXMgY2FuIGhhbmcKKyogcGFydGlhbGx5IGRvbmU6IGZpbmlzaCB1cCBjaGFuZ2Vfc3lzY2FsbCB1c2luZyBuZXcgc2V0YXJncworKiBkbyBzZXRhcmdzIGZvciBub24taWE2NAorKiBnZW5lcmF0ZSBzeXNjYWxsZW50LmggZnJvbSB0aGUga2VybmVsIHNvdXJjZXMgKGFzbS91bmlzdGQuaCkKKyogdXBkYXRlIGxpbnV4L3NwYXJjIHN5c2NhbGwgZW50cmllczsgTGludXggbWVzc2VkIHRoaW5ncyB1cCBieSBvdmVycmlkaW5nCisgIGFsbCBraW5kcyBvZiBTdW5PUyBlbnRyaWVzCisqIHN5bmNocm9uaXplIGxpbnV4LyoqL3N5c2NhbGxlbnQuaCwgbnVtYmVyIG9mIGFyZ3VtZW50cyBmb3IgYSBzeXNjYWwgaXNuJ3QKKyAgY29uc2lzdGVudCBhY3Jvc3MgZGlmZmVyZW50IGFyY2hpdGVjdHVyZXMKKworLS0gb2xkIGVudHJpZXMgZnJvbSBqcnMKK2F0dGVtcHQgcmVvcGVuIG9mIC9wcm9jIGZpbGUgaWYgd2UgZ2V0IEVBR0FJTiBmcm9tIGFueSAvcHJvYyBpb2N0bAora2lsbCBwcm9jcyB3ZSBlcnJvciBvdXQgb2Ygb24gc3ZyNAorZW5jbG9zZSAidG90YWwgeCBkZW50cyIgaW4gYSBjb21tZW50CitkZWNsYXJlIGdldHRpbWVvZmRheSBhbmQgcHJlYWQgZm9yIHNvbGFyaXMyCit1cGRhdGUgYXV0b21hdGljIHJlbWFraW5nIG9mIGF1dG9jb25mIHRhcmdldHMKK0kgZG9uJ3QgbGlrZSBydW4gb24gbGFzdCBjbG9zZSwgY2hhbmdlIGl0PworcGFyc2UgbG9uZyBvcHRpb25zPworY291bnQgc2lnbmFscyB0b28gd2l0aCAtYwordHJlYXQgYXR0YWNoLCBkZXRhY2ggbWVzc2FnZXMgbGlrZSBzaWduYWxzCithZGQgcHJlYWQsIHB3cml0ZSB0byBJL08gZHVtcGluZworYWRkIHN5c3RlbSBhc3Npc3QgZm9yIHF1YWxpZmllcnMgb24gc3ZyNAorY2hhbmdlIHByaW50Y2FsbCB0byBnZXRjYWxsZXIgYW5kIGZpeCBmb3IgbGludXggYW5kIHN2cjQKK2ZpeCBmb3JrIGhhbmcgZm9yIHN2cjQgd2l0aG91dCBwb2xsYWJsZSBwcm9jZnMKK3ByaW50IGV2ZW50cyBvbiBlbnRyeSB0byBhbmQgcmV2ZW50cyBvbiBleGl0IGZyb20gcG9sbAorbW9uaXRvciBwcm9jZnMgb3BlbiBhbmQgcmVsZWFzZSB0aGUgb3RoZXIgY2hpbGQgaWYgdGhlIHByb2Nlc3Mgd2FudHMgdG8gb3duIGl0CitmaXggaW5jb3JyZWN0IHN5c2NhbGwgbnVtYmVyIGlmIGV4aXQgd2l0aG91dCBlbnRyeSBvbiBzdnI0IHdpdGhvdXQgcHJfc3lzY2FsbAorZml4IGNsZWFuIHRhcmdldHMgc28gY29uZmlnLmggYW5kIGNvbmZpZy5zdGF0dXMgY2FuIGJlIHJlbW92ZWQKK2lnbm9yZSBmYXVsdHMgd2hpY2ggb2NjdXIgYmVmb3JlIGV4ZWMKK2xvb2sgZm9yIG1vcmUgaW9jdGxzIG9uIHNvbGFyaXMsIHVzZWQgaW4gbnNsb29rdXAgZm9yIGV4YW1wbGUKK2NvbnNpZGVyIGFkZGluZyBiYWNrdHJhY2Ugc3VwcG9ydAorY29uc2lkZXIgYWRkaW5nIGdlbmVyYWwgcHVycG9zZSBpbnRlcnByZXRlcgpkaWZmIC0tZ2l0IGEvc3RyYWNlLTQuNS4yMC9hY2luY2x1ZGUubTQgYi9zdHJhY2UtNC41LjIwL2FjaW5jbHVkZS5tNApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYTY2YzY0Ci0tLSAvZGV2L251bGwKKysrIGIvc3RyYWNlLTQuNS4yMC9hY2luY2x1ZGUubTQKQEAgLTAsMCArMSwyOTkgQEAKK2RubAorZG5sIFRoaXMgZmlsZSBjb250YWlucyBtYWNyb3MgdXNlZCBpbiBjb25maWd1cmUuYWMuCitkbmwgYXV0b21ha2UgdXNlcyB0aGlzIGZpbGUgdG8gZ2VuZXJhdGUgYWNsb2NhbC5tNCwgd2hpY2ggaXMgdXNlZCBieSBhdXRvY29uZi4KK2RubAorCitkbmwgIyMjIEEgbWFjcm8gdG8gZmluZCB0aGUgaW5jbHVkZSBkaXJlY3RvcnksIHVzZWZ1bCBmb3IgY3Jvc3MtY29tcGlsaW5nLgorQUNfREVGVU4oW0FDX0lOQ0xVREVESVJdLAorW0FDX1JFUVVJUkUoW0FDX1BST0dfQVdLXSlkbmwKK0FDX1NVQlNUKGluY2x1ZGVkaXIpCitBQ19NU0dfQ0hFQ0tJTkcoZm9yIHByaW1hcnkgaW5jbHVkZSBkaXJlY3RvcnkpCitpbmNsdWRlZGlyPS91c3IvaW5jbHVkZQoraWYgdGVzdCAtbiAiJEdDQyIKK3RoZW4KKwk+Y29uZnRlc3QuYworCW5ld19pbmNsdWRlZGlyPWAKKwkJJENDIC12IC1FIGNvbmZ0ZXN0LmMgMj4mMSB8ICRBV0sgJworCQkJL15FbmQgb2Ygc2VhcmNoIGxpc3QvIHsgcHJpbnQgbGFzdDsgZXhpdCB9CisJCQl7IGxhc3QgPSBbJF0xIH0KKwkJJworCWAKKwlybSAtZiBjb25mdGVzdC5jCisJaWYgdGVzdCAtbiAiJG5ld19pbmNsdWRlZGlyIiAmJiB0ZXN0IC1kICIkbmV3X2luY2x1ZGVkaXIiCisJdGhlbgorCQlpbmNsdWRlZGlyPSRuZXdfaW5jbHVkZWRpcgorCWZpCitmaQorQUNfTVNHX1JFU1VMVCgkaW5jbHVkZWRpcikKK10pCisKK2RubCAjIyMgQSBtYWNybyB0byBzZXQgZ2NjIHdhcm5pbmcgZmxhZ3MuCitkZWZpbmUoQUNfV0FSTkZMQUdTLAorW0FDX1NVQlNUKFdBUk5GTEFHUykKK2lmIHRlc3QgLXogIiRXQVJORkxBR1MiCit0aGVuCisJaWYgdGVzdCAtbiAiJEdDQyIKKwl0aGVuCisJCSMgSWYgd2UncmUgdXNpbmcgZ2NjIHdlIHdhbnQgd2FybmluZyBmbGFncy4KKwkJV0FSTkZMQUdTPS1XYWxsCisJZmkKK2ZpCitdKQorCitkbmwgIyMjIEEgbWFjcm8gdG8gZGV0ZXJtaW5lIGlmIHdlIGhhdmUgYSAiTVAiIHR5cGUgcHJvY2ZzCitBQ19ERUZVTihbQUNfTVBfUFJPQ0ZTXSwKK1tBQ19NU0dfQ0hFQ0tJTkcoZm9yIE1QIHByb2NmcykKK0FDX0NBQ0hFX1ZBTChhY19jdl9tcF9wcm9jZnMsCitbQUNfUlVOX0lGRUxTRShbQUNfTEFOR19TT1VSQ0UoW1sKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHNpZ25hbC5oPgorI2luY2x1ZGUgPHN5cy9wcm9jZnMuaD4KKworbWFpbigpCit7CisJaW50IHBpZDsKKwljaGFyIHByb2NbMzJdOworCUZJTEUgKmN0bDsKKwlGSUxFICpzdGF0dXM7CisJaW50IGNtZDsKKwlzdHJ1Y3QgcHN0YXR1cyBwc3RhdHVzOworCisJaWYgKChwaWQgPSBmb3JrKCkpID09IDApIHsKKwkJcGF1c2UoKTsKKwkJZXhpdCgwKTsKKwl9CisJc3ByaW50Zihwcm9jLCAiL3Byb2MvJWQvY3RsIiwgcGlkKTsKKwlpZiAoKGN0bCA9IGZvcGVuKHByb2MsICJ3IikpID09IE5VTEwpCisJCWdvdG8gZmFpbDsKKwlzcHJpbnRmKHByb2MsICIvcHJvYy8lZC9zdGF0dXMiLCBwaWQpOworCWlmICgoc3RhdHVzID0gZm9wZW4gKHByb2MsICJyIikpID09IE5VTEwpCisJCWdvdG8gZmFpbDsKKwljbWQgPSBQQ1NUT1A7CisJaWYgKHdyaXRlIChmaWxlbm8gKGN0bCksICZjbWQsIHNpemVvZiBjbWQpIDwgMCkKKwkJZ290byBmYWlsOworCWlmIChyZWFkIChmaWxlbm8gKHN0YXR1cyksICZwc3RhdHVzLCBzaXplb2YgcHN0YXR1cykgPCAwKQorCQlnb3RvIGZhaWw7CisJa2lsbChwaWQsIFNJR0tJTEwpOworCWV4aXQoMCk7CitmYWlsOgorCWtpbGwocGlkLCBTSUdLSUxMKTsKKwlleGl0KDEpOworfQorXV0pXSxbYWNfY3ZfbXBfcHJvY2ZzPXllc10sW2FjX2N2X21wX3Byb2Nmcz1ub10sWworIyBHdWVzcyBvciBwdW50LgorY2FzZSAiJGhvc3Rfb3MiIGluCitzdnI0LjIqfHN2cjUqKQorCWFjX2N2X21wX3Byb2Nmcz15ZXMKKwk7OworKikKKwlhY19jdl9tcF9wcm9jZnM9bm8KKwk7OworZXNhYworXSldKQorQUNfTVNHX1JFU1VMVCgkYWNfY3ZfbXBfcHJvY2ZzKQoraWYgdGVzdCAiJGFjX2N2X21wX3Byb2NmcyIgPSB5ZXMKK3RoZW4KKwlBQ19ERUZJTkUoW0hBVkVfTVBfUFJPQ0ZTXSwgMSwKK1tEZWZpbmUgaWYgeW91IGhhdmUgYSBTVlI0IE1QIHR5cGUgcHJvY2ZzLgorSS5FLiAvZGV2L3h4eC9jdGwsIC9kZXYveHh4L3N0YXR1cy4KK0Fsc28gaW1wbGllcyB0aGF0IHlvdSBoYXZlIHRoZSBwcl9sd3AgbWVtYmVyIGluIHByc3RhdHVzLl0pCitmaQorXSkKKworZG5sICMjIyBBIG1hY3JvIHRvIGRldGVybWluZSBpZiBwcm9jZnMgaXMgcG9sbGFibGUuCitBQ19ERUZVTihbQUNfUE9MTEFCTEVfUFJPQ0ZTXSwKK1tBQ19NU0dfQ0hFQ0tJTkcoZm9yIHBvbGxhYmxlIHByb2NmcykKK0FDX0NBQ0hFX1ZBTChhY19jdl9wb2xsYWJsZV9wcm9jZnMsCitbQUNfUlVOX0lGRUxTRShbQUNfTEFOR19TT1VSQ0UoW1sKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHNpZ25hbC5oPgorI2luY2x1ZGUgPHN5cy9wcm9jZnMuaD4KKyNpbmNsdWRlIDxzeXMvc3Ryb3B0cy5oPgorI2luY2x1ZGUgPHBvbGwuaD4KKworI2lmZGVmIEhBVkVfTVBfUFJPQ0ZTCisjZGVmaW5lIFBJT0NTVE9QCVBDU1RPUAorI2RlZmluZSBQT0xMV0FOVAlQT0xMV1JOT1JNCisjZGVmaW5lIFBST0MJCSIvcHJvYy8lZC9jdGwiCisjZGVmaW5lIFBST0NfTU9ERQkidyIKK2ludCBJT0NUTCAoaW50IGZkLCBpbnQgY21kLCBpbnQgYXJnKSB7CisJcmV0dXJuIHdyaXRlIChmZCwgJmNtZCwgc2l6ZW9mIGNtZCk7Cit9CisjZWxzZQorI2RlZmluZSBQT0xMV0FOVAlQT0xMUFJJCisjZGVmaW5lCVBST0MJCSIvcHJvYy8lZCIKKyNkZWZpbmUgUFJPQ19NT0RFCSJyKyIKKyNkZWZpbmUgSU9DVEwJCWlvY3RsCisjZW5kaWYKKworbWFpbigpCit7CisJaW50IHBpZDsKKwljaGFyIHByb2NbMzJdOworCUZJTEUgKnBmcDsKKwlzdHJ1Y3QgcG9sbGZkIHBmZDsKKworCWlmICgocGlkID0gZm9yaygpKSA9PSAwKSB7CisJCXBhdXNlKCk7CisJCWV4aXQoMCk7CisJfQorCXNwcmludGYocHJvYywgUFJPQywgcGlkKTsKKwlpZiAoKHBmcCA9IGZvcGVuKHByb2MsIFBST0NfTU9ERSkpID09IE5VTEwpCisJCWdvdG8gZmFpbDsKKwlpZiAoSU9DVEwoZmlsZW5vKHBmcCksIFBJT0NTVE9QLCBOVUxMKSA8IDApCisJCWdvdG8gZmFpbDsKKwlwZmQuZmQgPSBmaWxlbm8ocGZwKTsKKwlwZmQuZXZlbnRzID0gUE9MTFdBTlQ7CisJaWYgKHBvbGwoJnBmZCwgMSwgMCkgPCAwKQorCQlnb3RvIGZhaWw7CisJaWYgKCEocGZkLnJldmVudHMgJiBQT0xMV0FOVCkpCisJCWdvdG8gZmFpbDsKKwlraWxsKHBpZCwgU0lHS0lMTCk7CisJZXhpdCgwKTsKK2ZhaWw6CisJa2lsbChwaWQsIFNJR0tJTEwpOworCWV4aXQoMSk7Cit9CitdXSldLFthY19jdl9wb2xsYWJsZV9wcm9jZnM9eWVzXSxbYWNfY3ZfcG9sbGFibGVfcHJvY2ZzPW5vXSxbCisjIEd1ZXNzIG9yIHB1bnQuCitjYXNlICIkaG9zdF9vcyIgaW4KK3NvbGFyaXMyKnxpcml4NSp8c3ZyNC4ydXcqfHN2cjUqKQorCWFjX2N2X3BvbGxhYmxlX3Byb2Nmcz15ZXMKKwk7OworKikKKwlhY19jdl9wb2xsYWJsZV9wcm9jZnM9bm8KKwk7OworZXNhYworXSldKQorQUNfTVNHX1JFU1VMVCgkYWNfY3ZfcG9sbGFibGVfcHJvY2ZzKQoraWYgdGVzdCAiJGFjX2N2X3BvbGxhYmxlX3Byb2NmcyIgPSB5ZXMKK3RoZW4KKwlBQ19ERUZJTkUoW0hBVkVfUE9MTEFCTEVfUFJPQ0ZTXSwgMSwKK1tEZWZpbmUgaWYgeW91IGhhdmUgU1ZSNCBhbmQgdGhlIHBvbGwgc3lzdGVtIGNhbGwgd29ya3Mgb24gL3Byb2MgZmlsZXMuXSkKK2ZpCitdKQorCitkbmwgIyMjIEEgbWFjcm8gdG8gZGV0ZXJtaW5lIGlmIHRoZSBwcnN0YXR1cyBzdHJ1Y3R1cmUgaGFzIGEgcHJfc3lzY2FsbCBtZW1iZXIuCitBQ19ERUZVTihbQUNfU1RSVUNUX1BSX1NZU0NBTExdLAorW0FDX01TR19DSEVDS0lORyhmb3IgcHJfc3lzY2FsbCBpbiBzdHJ1Y3QgcHJzdGF0dXMpCitBQ19DQUNIRV9WQUwoYWNfY3Zfc3RydWN0X3ByX3N5c2NhbGwsCitbQUNfQ09NUElMRV9JRkVMU0UoW0FDX0xBTkdfUFJPR1JBTShbWyNpbmNsdWRlIDxzeXMvcHJvY2ZzLmg+XV0sIFtbI2lmZGVmIEhBVkVfTVBfUFJPQ0ZTCitwc3RhdHVzX3QgczsKK3MucHJfbHdwLnByX3N5c2NhbGwKKyNlbHNlCitwcnN0YXR1c190IHM7CitzLnByX3N5c2NhbGwKKyNlbmRpZl1dKV0sW2FjX2N2X3N0cnVjdF9wcl9zeXNjYWxsPXllc10sW2FjX2N2X3N0cnVjdF9wcl9zeXNjYWxsPW5vXSldKQorQUNfTVNHX1JFU1VMVCgkYWNfY3Zfc3RydWN0X3ByX3N5c2NhbGwpCitpZiB0ZXN0ICIkYWNfY3Zfc3RydWN0X3ByX3N5c2NhbGwiID0geWVzCit0aGVuCisJQUNfREVGSU5FKFtIQVZFX1BSX1NZU0NBTExdLCAxLAorW0RlZmluZSBpZiB0aGUgcHJzdGF0dXMgc3RydWN0dXJlIGluIHN5cy9wcm9jZnMuaCBoYXMgYSBwcl9zeXNjYWxsIG1lbWJlci5dKQorZmkKK10pCisKK2RubCAjIyMgQSBtYWNybyB0byBkZXRlcm1pbmUgd2hldGhlciBzdGF0NjQgaXMgZGVmaW5lZC4KK0FDX0RFRlVOKFtBQ19TVEFUNjRdLAorW0FDX01TR19DSEVDS0lORyhmb3Igc3RhdDY0IGluIChhc218c3lzKS9zdGF0LmgpCitBQ19DQUNIRV9WQUwoYWNfY3ZfdHlwZV9zdGF0NjQsCitbQUNfQ09NUElMRV9JRkVMU0UoW0FDX0xBTkdfUFJPR1JBTShbWyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpZmRlZiBMSU5VWAorI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisjaW5jbHVkZSA8YXNtL3N0YXQuaD4KKyNlbHNlCisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNlbmRpZl1dLCBbW3N0cnVjdCBzdGF0NjQgc3Q7XV0pXSxbYWNfY3ZfdHlwZV9zdGF0NjQ9eWVzXSxbYWNfY3ZfdHlwZV9zdGF0NjQ9bm9dKV0pCitBQ19NU0dfUkVTVUxUKCRhY19jdl90eXBlX3N0YXQ2NCkKK2lmIHRlc3QgIiRhY19jdl90eXBlX3N0YXQ2NCIgPSB5ZXMKK3RoZW4KKwlBQ19ERUZJTkUoW0hBVkVfU1RBVDY0XSwgMSwKK1tEZWZpbmUgaWYgc3RhdDY0IGlzIGF2YWlsYWJsZSBpbiBhc20vc3RhdC5oLl0pCitmaQorXSkKKworZG5sICMjIyBBIG1hY3JvIHRvIGRldGVybWluZSB3aGV0aGVyIHN0YXRmczY0IGlzIGRlZmluZWQuCitBQ19ERUZVTihbQUNfU1RBVEZTNjRdLAorW0FDX01TR19DSEVDS0lORyhmb3Igc3RhdGZzNjQgaW4gc3lzL3Zmcy5oKQorQUNfQ0FDSEVfVkFMKGFjX2N2X3R5cGVfc3RhdGZzNjQsCitbQUNfQ09NUElMRV9JRkVMU0UoW0FDX0xBTkdfUFJPR1JBTShbWyNpZmRlZiBMSU5VWAorI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL3Zmcy5oPgorI2VuZGlmXV0sIFtbc3RydWN0IHN0YXRmczY0IHN0O11dKV0sW2FjX2N2X3R5cGVfc3RhdGZzNjQ9eWVzXSxbYWNfY3ZfdHlwZV9zdGF0ZnM2ND1ub10pXSkKK0FDX01TR19SRVNVTFQoJGFjX2N2X3R5cGVfc3RhdGZzNjQpCitpZiB0ZXN0ICIkYWNfY3ZfdHlwZV9zdGF0ZnM2NCIgPSB5ZXMKK3RoZW4KKwlBQ19ERUZJTkUoW0hBVkVfU1RBVEZTNjRdLCAxLAorW0RlZmluZSBpZiBzdGF0ZnM2NCBpcyBhdmFpbGFibGUgaW4gc3lzL3Zmcy5oLl0pCitmaQorXSkKKworCitkbmwgIyMjIEEgbWFjcm8gdG8gZGV0ZXJtaW5lIGlmIG9mZl90IGlzIGEgbG9uZyBsb25nCitBQ19ERUZVTihbQUNfT0ZGX1RfSVNfTE9OR19MT05HXSwKK1tBQ19NU0dfQ0hFQ0tJTkcoZm9yIGxvbmcgbG9uZyBvZmZfdCkKK0FDX0NBQ0hFX1ZBTChhY19jdl9oYXZlX2xvbmdfbG9uZ19vZmZfdCwKK1tBQ19SVU5fSUZFTFNFKFtBQ19MQU5HX1NPVVJDRShbWyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KK21haW4gKCkgeworCWlmIChzaXplb2YgKG9mZl90KSA9PSBzaXplb2YgKGxvbmcgbG9uZykgJiYKKwkgICAgc2l6ZW9mIChvZmZfdCkgPiBzaXplb2YgKGxvbmcpKQorCSAgICByZXR1cm4gMDsKKwlyZXR1cm4gMTsKK30KK11dKV0sW2FjX2N2X2hhdmVfbG9uZ19sb25nX29mZl90PXllc10sW2FjX2N2X2hhdmVfbG9uZ19sb25nX29mZl90PW5vXSxbIyBTaG91bGQgdHJ5IHRvIGd1ZXNzIGhlcmUKK2FjX2N2X2hhdmVfbG9uZ19sb25nX29mZl90PW5vCitdKV0pCitBQ19NU0dfUkVTVUxUKCRhY19jdl9oYXZlX2xvbmdfbG9uZ19vZmZfdCkKK2lmIHRlc3QgIiRhY19jdl9oYXZlX2xvbmdfbG9uZ19vZmZfdCIgPSB5ZXMKK3RoZW4KKwlBQ19ERUZJTkUoW0hBVkVfTE9OR19MT05HX09GRl9UXSwgMSwgW0RlZmluZSBpZiBvZmZfdCBpcyBhIGxvbmcgbG9uZy5dKQorZmkKK10pCisKK2RubCAjIyMgQSBtYWNybyB0byBkZXRlcm1pbmUgaWYgcmxpbV90IGlzIGEgbG9uZyBsb25nCitBQ19ERUZVTihbQUNfUkxJTV9UX0lTX0xPTkdfTE9OR10sCitbQUNfTVNHX0NIRUNLSU5HKGZvciBsb25nIGxvbmcgcmxpbV90KQorQUNfQ0FDSEVfVkFMKGFjX2N2X2hhdmVfbG9uZ19sb25nX3JsaW1fdCwKK1tBQ19SVU5fSUZFTFNFKFtBQ19MQU5HX1NPVVJDRShbWyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvdGltZS5oPgorI2luY2x1ZGUgPHN5cy9yZXNvdXJjZS5oPgorbWFpbiAoKSB7CisJaWYgKHNpemVvZiAocmxpbV90KSA9PSBzaXplb2YgKGxvbmcgbG9uZykgJiYKKwkgICAgc2l6ZW9mIChybGltX3QpID4gc2l6ZW9mIChsb25nKSkKKwkgICAgcmV0dXJuIDA7CisJcmV0dXJuIDE7Cit9CitdXSldLFthY19jdl9oYXZlX2xvbmdfbG9uZ19ybGltX3Q9eWVzXSxbYWNfY3ZfaGF2ZV9sb25nX2xvbmdfcmxpbV90PW5vXSxbIyBTaG91bGQgdHJ5IHRvIGd1ZXNzIGhlcmUKK2FjX2N2X2hhdmVfbG9uZ19sb25nX3JsaW1fdD1ubworXSldKQorQUNfTVNHX1JFU1VMVCgkYWNfY3ZfaGF2ZV9sb25nX2xvbmdfcmxpbV90KQoraWYgdGVzdCAiJGFjX2N2X2hhdmVfbG9uZ19sb25nX3JsaW1fdCIgPSB5ZXMKK3RoZW4KKwlBQ19ERUZJTkUoW0hBVkVfTE9OR19MT05HX1JMSU1fVF0sIDEsIFtEZWZpbmUgaWYgcmxpbV90IGlzIGEgbG9uZyBsb25nLl0pCitmaQorXSkKKworZG5sICMjIyBBIG1hY3JvIHRvIGRldGVybWluZSBlbmRpYW5uZXNzIG9mIGxvbmcgbG9uZworQUNfREVGVU4oW0FDX0xJVFRMRV9FTkRJQU5fTE9OR19MT05HXSwKK1tBQ19NU0dfQ0hFQ0tJTkcoZm9yIGxpdHRsZSBlbmRpYW4gbG9uZyBsb25nKQorQUNfQ0FDSEVfVkFMKGFjX2N2X2hhdmVfbGl0dGxlX2VuZGlhbl9sb25nX2xvbmcsCitbQUNfUlVOX0lGRUxTRShbQUNfTEFOR19TT1VSQ0UoW1sKK2ludCBtYWluICgpIHsKKwl1bmlvbiB7CisJCWxvbmcgbG9uZyBsbDsKKwkJbG9uZyBsIFsyXTsKKwl9IHU7CisJdS5sbCA9IDB4MTIzNDU2Nzg7CisJaWYgKHUubFswXSA9PSAweDEyMzQ1Njc4KQorCQlyZXR1cm4gMDsKKwlyZXR1cm4gMTsKK30KK11dKV0sW2FjX2N2X2hhdmVfbGl0dGxlX2VuZGlhbl9sb25nX2xvbmc9eWVzXSxbYWNfY3ZfaGF2ZV9saXR0bGVfZW5kaWFuX2xvbmdfbG9uZz1ub10sWyMgU2hvdWxkIHRyeSB0byBndWVzcyBoZXJlCithY19jdl9oYXZlX2xpdHRsZV9lbmRpYW5fbG9uZ19sb25nPW5vCitdKV0pCitBQ19NU0dfUkVTVUxUKCRhY19jdl9oYXZlX2xpdHRsZV9lbmRpYW5fbG9uZ19sb25nKQoraWYgdGVzdCAiJGFjX2N2X2hhdmVfbGl0dGxlX2VuZGlhbl9sb25nX2xvbmciID0geWVzCit0aGVuCisJQUNfREVGSU5FKFtIQVZFX0xJVFRMRV9FTkRJQU5fTE9OR19MT05HXSwgMSwKK1tEZWZpbmUgaWYgbG9uZyBsb25nIGlzIGxpdHRsZS1lbmRpYW4uXSkKK2ZpCitdKQpkaWZmIC0tZ2l0IGEvc3RyYWNlLTQuNS4yMC9hY2xvY2FsLm00IGIvc3RyYWNlLTQuNS4yMC9hY2xvY2FsLm00Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY4NTc4Y2UKLS0tIC9kZXYvbnVsbAorKysgYi9zdHJhY2UtNC41LjIwL2FjbG9jYWwubTQKQEAgLTAsMCArMSwxMDA3IEBACisjIGdlbmVyYXRlZCBhdXRvbWF0aWNhbGx5IGJ5IGFjbG9jYWwgMS4xMS4xYSAtKi0gQXV0b2NvbmYgLSotCisKKyMgQ29weXJpZ2h0IChDKSAxOTk2LCAxOTk3LCAxOTk4LCAxOTk5LCAyMDAwLCAyMDAxLCAyMDAyLCAyMDAzLCAyMDA0LAorIyAyMDA1LCAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5LCAyMDEwICBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24KKyMgZ2l2ZXMgdW5saW1pdGVkIHBlcm1pc3Npb24gdG8gY29weSBhbmQvb3IgZGlzdHJpYnV0ZSBpdCwKKyMgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbnMsIGFzIGxvbmcgYXMgdGhpcyBub3RpY2UgaXMgcHJlc2VydmVkLgorCisjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFksIHRvIHRoZSBleHRlbnQgcGVybWl0dGVkIGJ5IGxhdzsgd2l0aG91dAorIyBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBCisjIFBBUlRJQ1VMQVIgUFVSUE9TRS4KKworbTRfaWZuZGVmKFtBQ19BVVRPQ09ORl9WRVJTSU9OXSwKKyAgW200X2NvcHkoW200X1BBQ0tBR0VfVkVSU0lPTl0sIFtBQ19BVVRPQ09ORl9WRVJTSU9OXSldKWRubAorbTRfaWYobTRfZGVmbihbQUNfQVVUT0NPTkZfVkVSU0lPTl0pLCBbMi42NV0sLAorW200X3dhcm5pbmcoW3RoaXMgZmlsZSB3YXMgZ2VuZXJhdGVkIGZvciBhdXRvY29uZiAyLjY1LgorWW91IGhhdmUgYW5vdGhlciB2ZXJzaW9uIG9mIGF1dG9jb25mLiAgSXQgbWF5IHdvcmssIGJ1dCBpcyBub3QgZ3VhcmFudGVlZCB0by4KK0lmIHlvdSBoYXZlIHByb2JsZW1zLCB5b3UgbWF5IG5lZWQgdG8gcmVnZW5lcmF0ZSB0aGUgYnVpbGQgc3lzdGVtIGVudGlyZWx5LgorVG8gZG8gc28sIHVzZSB0aGUgcHJvY2VkdXJlIGRvY3VtZW50ZWQgYnkgdGhlIHBhY2thZ2UsIHR5cGljYWxseSBgYXV0b3JlY29uZicuXSldKQorCisjIENvcHlyaWdodCAoQykgMjAwMiwgMjAwMywgMjAwNSwgMjAwNiwgMjAwNywgMjAwOCAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uCisjIGdpdmVzIHVubGltaXRlZCBwZXJtaXNzaW9uIHRvIGNvcHkgYW5kL29yIGRpc3RyaWJ1dGUgaXQsCisjIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb25zLCBhcyBsb25nIGFzIHRoaXMgbm90aWNlIGlzIHByZXNlcnZlZC4KKworIyBBTV9BVVRPTUFLRV9WRVJTSU9OKFZFUlNJT04pCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0b21ha2UgWC5ZIHRyYWNlcyB0aGlzIG1hY3JvIHRvIGVuc3VyZSBhY2xvY2FsLm00IGhhcyBiZWVuCisjIGdlbmVyYXRlZCBmcm9tIHRoZSBtNCBmaWxlcyBhY2NvbXBhbnlpbmcgQXV0b21ha2UgWC5ZLgorIyAoVGhpcyBwcml2YXRlIG1hY3JvIHNob3VsZCBub3QgYmUgY2FsbGVkIG91dHNpZGUgdGhpcyBmaWxlLikKK0FDX0RFRlVOKFtBTV9BVVRPTUFLRV9WRVJTSU9OXSwKK1thbV9fYXBpX3ZlcnNpb249JzEuMTEnCitkbmwgU29tZSB1c2VycyBmaW5kIEFNX0FVVE9NQUtFX1ZFUlNJT04gYW5kIG1pc3Rha2UgaXQgZm9yIGEgd2F5IHRvCitkbmwgcmVxdWlyZSBzb21lIG1pbmltdW0gdmVyc2lvbi4gIFBvaW50IHRoZW0gdG8gdGhlIHJpZ2h0IG1hY3JvLgorbTRfaWYoWyQxXSwgWzEuMTEuMWFdLCBbXSwKKyAgICAgIFtBQ19GQVRBTChbRG8gbm90IGNhbGwgJDAsIHVzZSBBTV9JTklUX0FVVE9NQUtFKFskMV0pLl0pXSlkbmwKK10pCisKKyMgX0FNX0FVVE9DT05GX1ZFUlNJT04oVkVSU0lPTikKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgYWNsb2NhbCB0cmFjZXMgdGhpcyBtYWNybyB0byBmaW5kIHRoZSBBdXRvY29uZiB2ZXJzaW9uLgorIyBUaGlzIGlzIGEgcHJpdmF0ZSBtYWNybyB0b28uICBVc2luZyBtNF9kZWZpbmUgc2ltcGxpZmllcworIyB0aGUgbG9naWMgaW4gYWNsb2NhbCwgd2hpY2ggY2FuIHNpbXBseSBpZ25vcmUgdGhpcyBkZWZpbml0aW9uLgorbTRfZGVmaW5lKFtfQU1fQVVUT0NPTkZfVkVSU0lPTl0sIFtdKQorCisjIEFNX1NFVF9DVVJSRU5UX0FVVE9NQUtFX1ZFUlNJT04KKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBDYWxsIEFNX0FVVE9NQUtFX1ZFUlNJT04gYW5kIEFNX0FVVE9NQUtFX1ZFUlNJT04gc28gdGhleSBjYW4gYmUgdHJhY2VkLgorIyBUaGlzIGZ1bmN0aW9uIGlzIEFDX1JFUVVJUkVkIGJ5IEFNX0lOSVRfQVVUT01BS0UuCitBQ19ERUZVTihbQU1fU0VUX0NVUlJFTlRfQVVUT01BS0VfVkVSU0lPTl0sCitbQU1fQVVUT01BS0VfVkVSU0lPTihbMS4xMS4xYV0pZG5sCittNF9pZm5kZWYoW0FDX0FVVE9DT05GX1ZFUlNJT05dLAorICBbbTRfY29weShbbTRfUEFDS0FHRV9WRVJTSU9OXSwgW0FDX0FVVE9DT05GX1ZFUlNJT05dKV0pZG5sCitfQU1fQVVUT0NPTkZfVkVSU0lPTihtNF9kZWZuKFtBQ19BVVRPQ09ORl9WRVJTSU9OXSkpXSkKKworIyBBTV9BVVhfRElSX0VYUEFORCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSotIEF1dG9jb25mIC0qLQorCisjIENvcHlyaWdodCAoQykgMjAwMSwgMjAwMywgMjAwNSAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uCisjIGdpdmVzIHVubGltaXRlZCBwZXJtaXNzaW9uIHRvIGNvcHkgYW5kL29yIGRpc3RyaWJ1dGUgaXQsCisjIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb25zLCBhcyBsb25nIGFzIHRoaXMgbm90aWNlIGlzIHByZXNlcnZlZC4KKworIyBGb3IgcHJvamVjdHMgdXNpbmcgQUNfQ09ORklHX0FVWF9ESVIoW2Zvb10pLCBBdXRvY29uZiBzZXRzCisjICRhY19hdXhfZGlyIHRvIGAkc3JjZGlyL2ZvbycuICBJbiBvdGhlciBwcm9qZWN0cywgaXQgaXMgc2V0IHRvCisjIGAkc3JjZGlyJywgYCRzcmNkaXIvLi4nLCBvciBgJHNyY2Rpci8uLi8uLicuCisjCisjIE9mIGNvdXJzZSwgQXV0b21ha2UgbXVzdCBob25vciB0aGlzIHZhcmlhYmxlIHdoZW5ldmVyIGl0IGNhbGxzIGEKKyMgdG9vbCBmcm9tIHRoZSBhdXhpbGlhcnkgZGlyZWN0b3J5LiAgVGhlIHByb2JsZW0gaXMgdGhhdCAkc3JjZGlyIChhbmQKKyMgdGhlcmVmb3JlICRhY19hdXhfZGlyIGFzIHdlbGwpIGNhbiBiZSBlaXRoZXIgYWJzb2x1dGUgb3IgcmVsYXRpdmUsCisjIGRlcGVuZGluZyBvbiBob3cgY29uZmlndXJlIGlzIHJ1bi4gIFRoaXMgaXMgcHJldHR5IGFubm95aW5nLCBzaW5jZQorIyBpdCBtYWtlcyAkYWNfYXV4X2RpciBxdWl0ZSB1bnVzYWJsZSBpbiBzdWJkaXJlY3RvcmllczogaW4gdGhlIHRvcAorIyBzb3VyY2UgZGlyZWN0b3J5LCBhbnkgZm9ybSB3aWxsIHdvcmsgZmluZSwgYnV0IGluIHN1YmRpcmVjdG9yaWVzIGEKKyMgcmVsYXRpdmUgcGF0aCBuZWVkcyB0byBiZSBhZGp1c3RlZCBmaXJzdC4KKyMKKyMgJGFjX2F1eF9kaXIvbWlzc2luZworIyAgICBmYWlscyB3aGVuIGNhbGxlZCBmcm9tIGEgc3ViZGlyZWN0b3J5IGlmICRhY19hdXhfZGlyIGlzIHJlbGF0aXZlCisjICR0b3Bfc3JjZGlyLyRhY19hdXhfZGlyL21pc3NpbmcKKyMgICAgZmFpbHMgaWYgJGFjX2F1eF9kaXIgaXMgYWJzb2x1dGUsCisjICAgIGZhaWxzIHdoZW4gY2FsbGVkIGZyb20gYSBzdWJkaXJlY3RvcnkgaW4gYSBWUEFUSCBidWlsZCB3aXRoCisjICAgICAgICAgIGEgcmVsYXRpdmUgJGFjX2F1eF9kaXIKKyMKKyMgVGhlIHJlYXNvbiBvZiB0aGUgbGF0dGVyIGZhaWx1cmUgaXMgdGhhdCAkdG9wX3NyY2RpciBhbmQgJGFjX2F1eF9kaXIKKyMgYXJlIGJvdGggcHJlZml4ZWQgYnkgJHNyY2Rpci4gIEluIGFuIGluLXNvdXJjZSBidWlsZCB0aGlzIGlzIHVzdWFsbHkKKyMgaGFybWxlc3MgYmVjYXVzZSAkc3JjZGlyIGlzIGAuJywgYnV0IHRoaW5ncyB3aWxsIGJyb2tlIHdoZW4geW91CisjIHN0YXJ0IGEgVlBBVEggYnVpbGQgb3IgdXNlIGFuIGFic29sdXRlICRzcmNkaXIuCisjCisjIFNvIHdlIGNvdWxkIHVzZSBzb21ldGhpbmcgc2ltaWxhciB0byAkdG9wX3NyY2Rpci8kYWNfYXV4X2Rpci9taXNzaW5nLAorIyBpZmYgd2Ugc3RyaXAgdGhlIGxlYWRpbmcgJHNyY2RpciBmcm9tICRhY19hdXhfZGlyLiAgVGhhdCB3b3VsZCBiZToKKyMgICBhbV9hdXhfZGlyPSdcJCh0b3Bfc3JjZGlyKS8nYGV4cHIgIiRhY19hdXhfZGlyIiA6ICIkc3JjZGlyLy8qXCguKlwpImAKKyMgYW5kIHRoZW4gd2Ugd291bGQgZGVmaW5lICRNSVNTSU5HIGFzCisjICAgTUlTU0lORz0iXCR7U0hFTEx9ICRhbV9hdXhfZGlyL21pc3NpbmciCisjIFRoaXMgd2lsbCB3b3JrIGFzIGxvbmcgYXMgTUlTU0lORyBpcyBub3QgY2FsbGVkIGZyb20gY29uZmlndXJlLCBiZWNhdXNlCisjIHVuZm9ydHVuYXRlbHkgJCh0b3Bfc3JjZGlyKSBoYXMgbm8gbWVhbmluZyBpbiBjb25maWd1cmUuCisjIEhvd2V2ZXIgdGhlcmUgYXJlIG90aGVyIHZhcmlhYmxlcywgbGlrZSBDQywgd2hpY2ggYXJlIG9mdGVuIHVzZWQgaW4KKyMgY29uZmlndXJlLCBhbmQgY291bGQgdGhlcmVmb3JlIG5vdCB1c2UgdGhpcyAiZml4ZWQiICRhY19hdXhfZGlyLgorIworIyBBbm90aGVyIHNvbHV0aW9uLCB1c2VkIGhlcmUsIGlzIHRvIGFsd2F5cyBleHBhbmQgJGFjX2F1eF9kaXIgdG8gYW4KKyMgYWJzb2x1dGUgUEFUSC4gIFRoZSBkcmF3YmFjayBpcyB0aGF0IHVzaW5nIGFic29sdXRlIHBhdGhzIHByZXZlbnQgYQorIyBjb25maWd1cmVkIHRyZWUgdG8gYmUgbW92ZWQgd2l0aG91dCByZWNvbmZpZ3VyYXRpb24uCisKK0FDX0RFRlVOKFtBTV9BVVhfRElSX0VYUEFORF0sCitbZG5sIFJlbHkgb24gYXV0b2NvbmYgdG8gc2V0IHVwIENEUEFUSCBwcm9wZXJseS4KK0FDX1BSRVJFUShbMi41MF0pZG5sCisjIGV4cGFuZCAkYWNfYXV4X2RpciB0byBhbiBhYnNvbHV0ZSBwYXRoCithbV9hdXhfZGlyPWBjZCAkYWNfYXV4X2RpciAmJiBwd2RgCitdKQorCisjIEFNX0NPTkRJVElPTkFMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtKi0gQXV0b2NvbmYgLSotCisKKyMgQ29weXJpZ2h0IChDKSAxOTk3LCAyMDAwLCAyMDAxLCAyMDAzLCAyMDA0LCAyMDA1LCAyMDA2LCAyMDA4CisjIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbgorIyBnaXZlcyB1bmxpbWl0ZWQgcGVybWlzc2lvbiB0byBjb3B5IGFuZC9vciBkaXN0cmlidXRlIGl0LAorIyB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9ucywgYXMgbG9uZyBhcyB0aGlzIG5vdGljZSBpcyBwcmVzZXJ2ZWQuCisKKyMgc2VyaWFsIDkKKworIyBBTV9DT05ESVRJT05BTChOQU1FLCBTSEVMTC1DT05ESVRJT04pCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgRGVmaW5lIGEgY29uZGl0aW9uYWwuCitBQ19ERUZVTihbQU1fQ09ORElUSU9OQUxdLAorW0FDX1BSRVJFUSgyLjUyKWRubAorIGlmZWxzZShbJDFdLCBbVFJVRV0sICBbQUNfRkFUQUwoWyQwOiBpbnZhbGlkIGNvbmRpdGlvbjogJDFdKV0sCisJWyQxXSwgW0ZBTFNFXSwgW0FDX0ZBVEFMKFskMDogaW52YWxpZCBjb25kaXRpb246ICQxXSldKWRubAorQUNfU1VCU1QoWyQxX1RSVUVdKWRubAorQUNfU1VCU1QoWyQxX0ZBTFNFXSlkbmwKK19BTV9TVUJTVF9OT1RNQUtFKFskMV9UUlVFXSlkbmwKK19BTV9TVUJTVF9OT1RNQUtFKFskMV9GQUxTRV0pZG5sCittNF9kZWZpbmUoW19BTV9DT05EX1ZBTFVFXyQxXSwgWyQyXSlkbmwKK2lmICQyOyB0aGVuCisgICQxX1RSVUU9CisgICQxX0ZBTFNFPScjJworZWxzZQorICAkMV9UUlVFPScjJworICAkMV9GQUxTRT0KK2ZpCitBQ19DT05GSUdfQ09NTUFORFNfUFJFKAorW2lmIHRlc3QgLXogIiR7JDFfVFJVRX0iICYmIHRlc3QgLXogIiR7JDFfRkFMU0V9IjsgdGhlbgorICBBQ19NU0dfRVJST1IoW1tjb25kaXRpb25hbCAiJDEiIHdhcyBuZXZlciBkZWZpbmVkLgorVXN1YWxseSB0aGlzIG1lYW5zIHRoZSBtYWNybyB3YXMgb25seSBpbnZva2VkIGNvbmRpdGlvbmFsbHkuXV0pCitmaV0pXSkKKworIyBDb3B5cmlnaHQgKEMpIDE5OTksIDIwMDAsIDIwMDEsIDIwMDIsIDIwMDMsIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDksCisjIDIwMTAgIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbgorIyBnaXZlcyB1bmxpbWl0ZWQgcGVybWlzc2lvbiB0byBjb3B5IGFuZC9vciBkaXN0cmlidXRlIGl0LAorIyB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9ucywgYXMgbG9uZyBhcyB0aGlzIG5vdGljZSBpcyBwcmVzZXJ2ZWQuCisKKyMgc2VyaWFsIDExCisKKyMgVGhlcmUgYXJlIGEgZmV3IGRpcnR5IGhhY2tzIGJlbG93IHRvIGF2b2lkIGxldHRpbmcgYEFDX1BST0dfQ0MnIGJlCisjIHdyaXR0ZW4gaW4gY2xlYXIsIGluIHdoaWNoIGNhc2UgYXV0b21ha2UsIHdoZW4gcmVhZGluZyBhY2xvY2FsLm00LAorIyB3aWxsIHRoaW5rIGl0IHNlZXMgYSAqdXNlKiwgYW5kIHRoZXJlZm9yZSB3aWxsIHRyaWdnZXIgYWxsIGl0J3MKKyMgQyBzdXBwb3J0IG1hY2hpbmVyeS4gIEFsc28gbm90ZSB0aGF0IGl0IG1lYW5zIHRoYXQgYXV0b3NjYW4sIHNlZWluZworIyBDQyBldGMuIGluIHRoZSBNYWtlZmlsZSwgd2lsbCBhc2sgZm9yIGFuIEFDX1BST0dfQ0MgdXNlLi4uCisKKworIyBfQU1fREVQRU5ERU5DSUVTKE5BTUUpCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgU2VlIGhvdyB0aGUgY29tcGlsZXIgaW1wbGVtZW50cyBkZXBlbmRlbmN5IGNoZWNraW5nLgorIyBOQU1FIGlzICJDQyIsICJDWFgiLCAiR0NKIiwgb3IgIk9CSkMiLgorIyBXZSB0cnkgYSBmZXcgdGVjaG5pcXVlcyBhbmQgdXNlIHRoYXQgdG8gc2V0IGEgc2luZ2xlIGNhY2hlIHZhcmlhYmxlLgorIworIyBXZSBkb24ndCBBQ19SRVFVSVJFIHRoZSBjb3JyZXNwb25kaW5nIEFDX1BST0dfQ0Mgc2luY2UgdGhlIGxhdHRlciB3YXMKKyMgbW9kaWZpZWQgdG8gaW52b2tlIF9BTV9ERVBFTkRFTkNJRVMoQ0MpOyB3ZSB3b3VsZCBoYXZlIGEgY2lyY3VsYXIKKyMgZGVwZW5kZW5jeSwgYW5kIGdpdmVuIHRoYXQgdGhlIHVzZXIgaXMgbm90IGV4cGVjdGVkIHRvIHJ1biB0aGlzIG1hY3JvLAorIyBqdXN0IHJlbHkgb24gQUNfUFJPR19DQy4KK0FDX0RFRlVOKFtfQU1fREVQRU5ERU5DSUVTXSwKK1tBQ19SRVFVSVJFKFtBTV9TRVRfREVQRElSXSlkbmwKK0FDX1JFUVVJUkUoW0FNX09VVFBVVF9ERVBFTkRFTkNZX0NPTU1BTkRTXSlkbmwKK0FDX1JFUVVJUkUoW0FNX01BS0VfSU5DTFVERV0pZG5sCitBQ19SRVFVSVJFKFtBTV9ERVBfVFJBQ0tdKWRubAorCitpZmVsc2UoWyQxXSwgQ0MsICAgW2RlcGNjPSIkQ0MiICAgYW1fY29tcGlsZXJfbGlzdD1dLAorICAgICAgIFskMV0sIENYWCwgIFtkZXBjYz0iJENYWCIgIGFtX2NvbXBpbGVyX2xpc3Q9XSwKKyAgICAgICBbJDFdLCBPQkpDLCBbZGVwY2M9IiRPQkpDIiBhbV9jb21waWxlcl9saXN0PSdnY2MzIGdjYyddLAorICAgICAgIFskMV0sIFVQQywgIFtkZXBjYz0iJFVQQyIgIGFtX2NvbXBpbGVyX2xpc3Q9XSwKKyAgICAgICBbJDFdLCBHQ0osICBbZGVwY2M9IiRHQ0oiICBhbV9jb21waWxlcl9saXN0PSdnY2MzIGdjYyddLAorICAgICAgICAgICAgICAgICAgIFtkZXBjYz0iJCQxIiAgIGFtX2NvbXBpbGVyX2xpc3Q9XSkKKworQUNfQ0FDSEVfQ0hFQ0soW2RlcGVuZGVuY3kgc3R5bGUgb2YgJGRlcGNjXSwKKyAgICAgICAgICAgICAgIFthbV9jdl8kMV9kZXBlbmRlbmNpZXNfY29tcGlsZXJfdHlwZV0sCitbaWYgdGVzdCAteiAiJEFNREVQX1RSVUUiICYmIHRlc3QgLWYgIiRhbV9kZXBjb21wIjsgdGhlbgorICAjIFdlIG1ha2UgYSBzdWJkaXIgYW5kIGRvIHRoZSB0ZXN0cyB0aGVyZS4gIE90aGVyd2lzZSB3ZSBjYW4gZW5kIHVwCisgICMgbWFraW5nIGJvZ3VzIGZpbGVzIHRoYXQgd2UgZG9uJ3Qga25vdyBhYm91dCBhbmQgbmV2ZXIgcmVtb3ZlLiAgRm9yCisgICMgaW5zdGFuY2UgaXQgd2FzIHJlcG9ydGVkIHRoYXQgb24gSFAtVVggdGhlIGdjYyB0ZXN0IHdpbGwgZW5kIHVwCisgICMgbWFraW5nIGEgZHVtbXkgZmlsZSBuYW1lZCBgRCcgLS0gYmVjYXVzZSBgLU1EJyBtZWFucyBgcHV0IHRoZSBvdXRwdXQKKyAgIyBpbiBEJy4KKyAgbWtkaXIgY29uZnRlc3QuZGlyCisgICMgQ29weSBkZXBjb21wIHRvIHN1YmRpciBiZWNhdXNlIG90aGVyd2lzZSB3ZSB3b24ndCBmaW5kIGl0IGlmIHdlJ3JlCisgICMgdXNpbmcgYSByZWxhdGl2ZSBkaXJlY3RvcnkuCisgIGNwICIkYW1fZGVwY29tcCIgY29uZnRlc3QuZGlyCisgIGNkIGNvbmZ0ZXN0LmRpcgorICAjIFdlIHdpbGwgYnVpbGQgb2JqZWN0cyBhbmQgZGVwZW5kZW5jaWVzIGluIGEgc3ViZGlyZWN0b3J5IGJlY2F1c2UKKyAgIyBpdCBoZWxwcyB0byBkZXRlY3QgaW5hcHBsaWNhYmxlIGRlcGVuZGVuY3kgbW9kZXMuICBGb3IgaW5zdGFuY2UKKyAgIyBib3RoIFRydTY0J3MgY2MgYW5kIElDQyBzdXBwb3J0IC1NRCB0byBvdXRwdXQgZGVwZW5kZW5jaWVzIGFzIGEKKyAgIyBzaWRlIGVmZmVjdCBvZiBjb21waWxhdGlvbiwgYnV0IElDQyB3aWxsIHB1dCB0aGUgZGVwZW5kZW5jaWVzIGluCisgICMgdGhlIGN1cnJlbnQgZGlyZWN0b3J5IHdoaWxlIFRydTY0IHdpbGwgcHV0IHRoZW0gaW4gdGhlIG9iamVjdAorICAjIGRpcmVjdG9yeS4KKyAgbWtkaXIgc3ViCisKKyAgYW1fY3ZfJDFfZGVwZW5kZW5jaWVzX2NvbXBpbGVyX3R5cGU9bm9uZQorICBpZiB0ZXN0ICIkYW1fY29tcGlsZXJfbGlzdCIgPSAiIjsgdGhlbgorICAgICBhbV9jb21waWxlcl9saXN0PWBzZWQgLW4gWydzL14jKlwoW2EtekEtWjAtOV0qXCkpJC9cMS9wJ10gPCAuL2RlcGNvbXBgCisgIGZpCisgIGFtX191bml2ZXJzYWw9ZmFsc2UKKyAgbTRfY2FzZShbJDFdLCBbQ0NdLAorICAgIFtjYXNlICIgJGRlcGNjICIgaW4gIygKKyAgICAgKlwgLWFyY2hcICpcIC1hcmNoXCAqKSBhbV9fdW5pdmVyc2FsPXRydWUgOzsKKyAgICAgZXNhY10sCisgICAgW0NYWF0sCisgICAgW2Nhc2UgIiAkZGVwY2MgIiBpbiAjKAorICAgICAqXCAtYXJjaFwgKlwgLWFyY2hcICopIGFtX191bml2ZXJzYWw9dHJ1ZSA7OworICAgICBlc2FjXSkKKworICBmb3IgZGVwbW9kZSBpbiAkYW1fY29tcGlsZXJfbGlzdDsgZG8KKyAgICAjIFNldHVwIGEgc291cmNlIHdpdGggbWFueSBkZXBlbmRlbmNpZXMsIGJlY2F1c2Ugc29tZSBjb21waWxlcnMKKyAgICAjIGxpa2UgdG8gd3JhcCBsYXJnZSBkZXBlbmRlbmN5IGxpc3RzIG9uIGNvbHVtbiA4MCAod2l0aCBcKSwgYW5kCisgICAgIyB3ZSBzaG91bGQgbm90IGNob29zZSBhIGRlcGNvbXAgbW9kZSB3aGljaCBpcyBjb25mdXNlZCBieSB0aGlzLgorICAgICMKKyAgICAjIFdlIG5lZWQgdG8gcmVjcmVhdGUgdGhlc2UgZmlsZXMgZm9yIGVhY2ggdGVzdCwgYXMgdGhlIGNvbXBpbGVyIG1heQorICAgICMgb3ZlcndyaXRlIHNvbWUgb2YgdGhlbSB3aGVuIHRlc3Rpbmcgd2l0aCBvYnNjdXJlIGNvbW1hbmQgbGluZXMuCisgICAgIyBUaGlzIGhhcHBlbnMgYXQgbGVhc3Qgd2l0aCB0aGUgQUlYIEMgY29tcGlsZXIuCisgICAgOiA+IHN1Yi9jb25mdGVzdC5jCisgICAgZm9yIGkgaW4gMSAyIDMgNCA1IDY7IGRvCisgICAgICBlY2hvICcjaW5jbHVkZSAiY29uZnRzdCckaScuaCInID4+IHN1Yi9jb25mdGVzdC5jCisgICAgICAjIFVzaW5nIGA6ID4gc3ViL2NvbmZ0c3QkaS5oJyBjcmVhdGVzIG9ubHkgc3ViL2NvbmZ0c3QxLmggd2l0aAorICAgICAgIyBTb2xhcmlzIDgncyB7L3Vzcix9L2Jpbi9zaC4KKyAgICAgIHRvdWNoIHN1Yi9jb25mdHN0JGkuaAorICAgIGRvbmUKKyAgICBlY2hvICIke2FtX19pbmNsdWRlfSAke2FtX19xdW90ZX1zdWIvY29uZnRlc3QuUG8ke2FtX19xdW90ZX0iID4gY29uZm1mCisKKyAgICAjIFdlIGNoZWNrIHdpdGggYC1jJyBhbmQgYC1vJyBmb3IgdGhlIHNha2Ugb2YgdGhlICJkYXNobXN0ZG91dCIKKyAgICAjIG1vZGUuICBJdCB0dXJucyBvdXQgdGhhdCB0aGUgU3VuUHJvIEMrKyBjb21waWxlciBkb2VzIG5vdCBwcm9wZXJseQorICAgICMgaGFuZGxlIGAtTSAtbycsIGFuZCB3ZSBuZWVkIHRvIGRldGVjdCB0aGlzLiAgQWxzbywgc29tZSBJbnRlbAorICAgICMgdmVyc2lvbnMgaGFkIHRyb3VibGUgd2l0aCBvdXRwdXQgaW4gc3ViZGlycworICAgIGFtX19vYmo9c3ViL2NvbmZ0ZXN0LiR7T0JKRVhULW99CisgICAgYW1fX21pbnVzX29iaj0iLW8gJGFtX19vYmoiCisgICAgY2FzZSAkZGVwbW9kZSBpbgorICAgIGdjYykKKyAgICAgICMgVGhpcyBkZXBtb2RlIGNhdXNlcyBhIGNvbXBpbGVyIHJhY2UgaW4gdW5pdmVyc2FsIG1vZGUuCisgICAgICB0ZXN0ICIkYW1fX3VuaXZlcnNhbCIgPSBmYWxzZSB8fCBjb250aW51ZQorICAgICAgOzsKKyAgICBub3NpZGVlZmZlY3QpCisgICAgICAjIGFmdGVyIHRoaXMgdGFnLCBtZWNoYW5pc21zIGFyZSBub3QgYnkgc2lkZS1lZmZlY3QsIHNvIHRoZXknbGwKKyAgICAgICMgb25seSBiZSB1c2VkIHdoZW4gZXhwbGljaXRseSByZXF1ZXN0ZWQKKyAgICAgIGlmIHRlc3QgIngkZW5hYmxlX2RlcGVuZGVuY3lfdHJhY2tpbmciID0geHllczsgdGhlbgorCWNvbnRpbnVlCisgICAgICBlbHNlCisJYnJlYWsKKyAgICAgIGZpCisgICAgICA7OworICAgIG1zdmlzdWFsY3BwIHwgbXN2Y21zeXMpCisgICAgICAjIFRoaXMgY29tcGlsZXIgd29uJ3QgZ3JvayBgLWMgLW8nLCBidXQgYWxzbywgdGhlIG1pbnVzbyB0ZXN0IGhhcworICAgICAgIyBub3QgcnVuIHlldC4gIFRoZXNlIGRlcG1vZGVzIGFyZSBsYXRlIGVub3VnaCBpbiB0aGUgZ2FtZSwgYW5kCisgICAgICAjIHNvIHdlYWsgdGhhdCB0aGVpciBmdW5jdGlvbmluZyBzaG91bGQgbm90IGJlIGltcGFjdGVkLgorICAgICAgYW1fX29iaj1jb25mdGVzdC4ke09CSkVYVC1vfQorICAgICAgYW1fX21pbnVzX29iaj0KKyAgICAgIDs7CisgICAgbm9uZSkgYnJlYWsgOzsKKyAgICBlc2FjCisgICAgaWYgZGVwbW9kZT0kZGVwbW9kZSBcCisgICAgICAgc291cmNlPXN1Yi9jb25mdGVzdC5jIG9iamVjdD0kYW1fX29iaiBcCisgICAgICAgZGVwZmlsZT1zdWIvY29uZnRlc3QuUG8gdG1wZGVwZmlsZT1zdWIvY29uZnRlc3QuVFBvIFwKKyAgICAgICAkU0hFTEwgLi9kZXBjb21wICRkZXBjYyAtYyAkYW1fX21pbnVzX29iaiBzdWIvY29uZnRlc3QuYyBcCisgICAgICAgICA+L2Rldi9udWxsIDI+Y29uZnRlc3QuZXJyICYmCisgICAgICAgZ3JlcCBzdWIvY29uZnRzdDEuaCBzdWIvY29uZnRlc3QuUG8gPiAvZGV2L251bGwgMj4mMSAmJgorICAgICAgIGdyZXAgc3ViL2NvbmZ0c3Q2Lmggc3ViL2NvbmZ0ZXN0LlBvID4gL2Rldi9udWxsIDI+JjEgJiYKKyAgICAgICBncmVwICRhbV9fb2JqIHN1Yi9jb25mdGVzdC5QbyA+IC9kZXYvbnVsbCAyPiYxICYmCisgICAgICAgJHtNQUtFLW1ha2V9IC1zIC1mIGNvbmZtZiA+IC9kZXYvbnVsbCAyPiYxOyB0aGVuCisgICAgICAjIGljYyBkb2Vzbid0IGNob2tlIG9uIHVua25vd24gb3B0aW9ucywgaXQgd2lsbCBqdXN0IGlzc3VlIHdhcm5pbmdzCisgICAgICAjIG9yIHJlbWFya3MgKGV2ZW4gd2l0aCAtV2Vycm9yKS4gIFNvIHdlIGdyZXAgc3RkZXJyIGZvciBhbnkgbWVzc2FnZQorICAgICAgIyB0aGF0IHNheXMgYW4gb3B0aW9uIHdhcyBpZ25vcmVkIG9yIG5vdCBzdXBwb3J0ZWQuCisgICAgICAjIFdoZW4gZ2l2ZW4gLU1QLCBpY2MgNy4wIGFuZCA3LjEgY29tcGxhaW4gdGh1c2x5OgorICAgICAgIyAgIGljYzogQ29tbWFuZCBsaW5lIHdhcm5pbmc6IGlnbm9yaW5nIG9wdGlvbiAnLU0nOyBubyBhcmd1bWVudCByZXF1aXJlZAorICAgICAgIyBUaGUgZGlhZ25vc2lzIGNoYW5nZWQgaW4gaWNjIDguMDoKKyAgICAgICMgICBpY2M6IENvbW1hbmQgbGluZSByZW1hcms6IG9wdGlvbiAnLU1QJyBub3Qgc3VwcG9ydGVkCisgICAgICBpZiAoZ3JlcCAnaWdub3Jpbmcgb3B0aW9uJyBjb25mdGVzdC5lcnIgfHwKKyAgICAgICAgICBncmVwICdub3Qgc3VwcG9ydGVkJyBjb25mdGVzdC5lcnIpID4vZGV2L251bGwgMj4mMTsgdGhlbiA6OyBlbHNlCisgICAgICAgIGFtX2N2XyQxX2RlcGVuZGVuY2llc19jb21waWxlcl90eXBlPSRkZXBtb2RlCisgICAgICAgIGJyZWFrCisgICAgICBmaQorICAgIGZpCisgIGRvbmUKKworICBjZCAuLgorICBybSAtcmYgY29uZnRlc3QuZGlyCitlbHNlCisgIGFtX2N2XyQxX2RlcGVuZGVuY2llc19jb21waWxlcl90eXBlPW5vbmUKK2ZpCitdKQorQUNfU1VCU1QoWyQxREVQTU9ERV0sIFtkZXBtb2RlPSRhbV9jdl8kMV9kZXBlbmRlbmNpZXNfY29tcGlsZXJfdHlwZV0pCitBTV9DT05ESVRJT05BTChbYW1fX2Zhc3RkZXAkMV0sIFsKKyAgdGVzdCAieCRlbmFibGVfZGVwZW5kZW5jeV90cmFja2luZyIgIT0geG5vIFwKKyAgJiYgdGVzdCAiJGFtX2N2XyQxX2RlcGVuZGVuY2llc19jb21waWxlcl90eXBlIiA9IGdjYzNdKQorXSkKKworCisjIEFNX1NFVF9ERVBESVIKKyMgLS0tLS0tLS0tLS0tLQorIyBDaG9vc2UgYSBkaXJlY3RvcnkgbmFtZSBmb3IgZGVwZW5kZW5jeSBmaWxlcy4KKyMgVGhpcyBtYWNybyBpcyBBQ19SRVFVSVJFZCBpbiBfQU1fREVQRU5ERU5DSUVTCitBQ19ERUZVTihbQU1fU0VUX0RFUERJUl0sCitbQUNfUkVRVUlSRShbQU1fU0VUX0xFQURJTkdfRE9UXSlkbmwKK0FDX1NVQlNUKFtERVBESVJdLCBbIiR7YW1fX2xlYWRpbmdfZG90fWRlcHMiXSlkbmwKK10pCisKKworIyBBTV9ERVBfVFJBQ0sKKyMgLS0tLS0tLS0tLS0tCitBQ19ERUZVTihbQU1fREVQX1RSQUNLXSwKK1tBQ19BUkdfRU5BQkxFKGRlcGVuZGVuY3ktdHJhY2tpbmcsCitbICAtLWRpc2FibGUtZGVwZW5kZW5jeS10cmFja2luZyAgc3BlZWRzIHVwIG9uZS10aW1lIGJ1aWxkCisgIC0tZW5hYmxlLWRlcGVuZGVuY3ktdHJhY2tpbmcgICBkbyBub3QgcmVqZWN0IHNsb3cgZGVwZW5kZW5jeSBleHRyYWN0b3JzXSkKK2lmIHRlc3QgIngkZW5hYmxlX2RlcGVuZGVuY3lfdHJhY2tpbmciICE9IHhubzsgdGhlbgorICBhbV9kZXBjb21wPSIkYWNfYXV4X2Rpci9kZXBjb21wIgorICBBTURFUEJBQ0tTTEFTSD0nXCcKKyAgYW1fX25vZGVwPSdfbm8nCitmaQorQU1fQ09ORElUSU9OQUwoW0FNREVQXSwgW3Rlc3QgIngkZW5hYmxlX2RlcGVuZGVuY3lfdHJhY2tpbmciICE9IHhub10pCitBQ19TVUJTVChbQU1ERVBCQUNLU0xBU0hdKWRubAorX0FNX1NVQlNUX05PVE1BS0UoW0FNREVQQkFDS1NMQVNIXSlkbmwKK0FDX1NVQlNUKFthbV9fbm9kZXBdKWRubAorX0FNX1NVQlNUX05PVE1BS0UoW2FtX19ub2RlcF0pZG5sCitdKQorCisjIEdlbmVyYXRlIGNvZGUgdG8gc2V0IHVwIGRlcGVuZGVuY3kgdHJhY2tpbmcuICAgICAgICAgICAgICAtKi0gQXV0b2NvbmYgLSotCisKKyMgQ29weXJpZ2h0IChDKSAxOTk5LCAyMDAwLCAyMDAxLCAyMDAyLCAyMDAzLCAyMDA0LCAyMDA1LCAyMDA4CisjIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbgorIyBnaXZlcyB1bmxpbWl0ZWQgcGVybWlzc2lvbiB0byBjb3B5IGFuZC9vciBkaXN0cmlidXRlIGl0LAorIyB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9ucywgYXMgbG9uZyBhcyB0aGlzIG5vdGljZSBpcyBwcmVzZXJ2ZWQuCisKKyNzZXJpYWwgNQorCisjIF9BTV9PVVRQVVRfREVQRU5ERU5DWV9DT01NQU5EUworIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0FDX0RFRlVOKFtfQU1fT1VUUFVUX0RFUEVOREVOQ1lfQ09NTUFORFNdLAorW3sKKyAgIyBBdXRvY29uZiAyLjYyIHF1b3RlcyAtLWZpbGUgYXJndW1lbnRzIGZvciBldmFsLCBidXQgbm90IHdoZW4gZmlsZXMKKyAgIyBhcmUgbGlzdGVkIHdpdGhvdXQgLS1maWxlLiAgTGV0J3MgcGxheSBzYWZlIGFuZCBvbmx5IGVuYWJsZSB0aGUgZXZhbAorICAjIGlmIHdlIGRldGVjdCB0aGUgcXVvdGluZy4KKyAgY2FzZSAkQ09ORklHX0ZJTEVTIGluCisgICpcJyopIGV2YWwgc2V0IHggIiRDT05GSUdfRklMRVMiIDs7CisgICopICAgc2V0IHggJENPTkZJR19GSUxFUyA7OworICBlc2FjCisgIHNoaWZ0CisgIGZvciBtZgorICBkbworICAgICMgU3RyaXAgTUYgc28gd2UgZW5kIHVwIHdpdGggdGhlIG5hbWUgb2YgdGhlIGZpbGUuCisgICAgbWY9YGVjaG8gIiRtZiIgfCBzZWQgLWUgJ3MvOi4qJC8vJ2AKKyAgICAjIENoZWNrIHdoZXRoZXIgdGhpcyBpcyBhbiBBdXRvbWFrZSBnZW5lcmF0ZWQgTWFrZWZpbGUgb3Igbm90LgorICAgICMgV2UgdXNlZCB0byBtYXRjaCBvbmx5IHRoZSBmaWxlcyBuYW1lZCBgTWFrZWZpbGUuaW4nLCBidXQKKyAgICAjIHNvbWUgcGVvcGxlIHJlbmFtZSB0aGVtOyBzbyBpbnN0ZWFkIHdlIGxvb2sgYXQgdGhlIGZpbGUgY29udGVudC4KKyAgICAjIEdyZXAnaW5nIHRoZSBmaXJzdCBsaW5lIGlzIG5vdCBlbm91Z2g6IHNvbWUgcGVvcGxlIHBvc3QtcHJvY2VzcworICAgICMgZWFjaCBNYWtlZmlsZS5pbiBhbmQgYWRkIGEgbmV3IGxpbmUgb24gdG9wIG9mIGVhY2ggZmlsZSB0byBzYXkgc28uCisgICAgIyBHcmVwJ2luZyB0aGUgd2hvbGUgZmlsZSBpcyBub3QgZ29vZCBlaXRoZXI6IEFJWCBncmVwIGhhcyBhIGxpbmUKKyAgICAjIGxpbWl0IG9mIDIwNDgsIGJ1dCBhbGwgc2VkJ3Mgd2Uga25vdyBoYXZlIHVuZGVyc3RhbmQgYXQgbGVhc3QgNDAwMC4KKyAgICBpZiBzZWQgLW4gJ3MsXiMuKmdlbmVyYXRlZCBieSBhdXRvbWFrZS4qLFgscCcgIiRtZiIgfCBncmVwIFggPi9kZXYvbnVsbCAyPiYxOyB0aGVuCisgICAgICBkaXJwYXJ0PWBBU19ESVJOQU1FKCIkbWYiKWAKKyAgICBlbHNlCisgICAgICBjb250aW51ZQorICAgIGZpCisgICAgIyBFeHRyYWN0IHRoZSBkZWZpbml0aW9uIG9mIERFUERJUiwgYW1fX2luY2x1ZGUsIGFuZCBhbV9fcXVvdGUKKyAgICAjIGZyb20gdGhlIE1ha2VmaWxlIHdpdGhvdXQgcnVubmluZyBgbWFrZScuCisgICAgREVQRElSPWBzZWQgLW4gJ3MvXkRFUERJUiA9IC8vcCcgPCAiJG1mImAKKyAgICB0ZXN0IC16ICIkREVQRElSIiAmJiBjb250aW51ZQorICAgIGFtX19pbmNsdWRlPWBzZWQgLW4gJ3MvXmFtX19pbmNsdWRlID0gLy9wJyA8ICIkbWYiYAorICAgIHRlc3QgLXogImFtX19pbmNsdWRlIiAmJiBjb250aW51ZQorICAgIGFtX19xdW90ZT1gc2VkIC1uICdzL15hbV9fcXVvdGUgPSAvL3AnIDwgIiRtZiJgCisgICAgIyBXaGVuIHVzaW5nIGFuc2kya25yLCBVIG1heSBiZSBlbXB0eSBvciBhbiB1bmRlcnNjb3JlOyBleHBhbmQgaXQKKyAgICBVPWBzZWQgLW4gJ3MvXlUgPSAvL3AnIDwgIiRtZiJgCisgICAgIyBGaW5kIGFsbCBkZXBlbmRlbmN5IG91dHB1dCBmaWxlcywgdGhleSBhcmUgaW5jbHVkZWQgZmlsZXMgd2l0aAorICAgICMgJChERVBESVIpIGluIHRoZWlyIG5hbWVzLiAgV2UgaW52b2tlIHNlZCB0d2ljZSBiZWNhdXNlIGl0IGlzIHRoZQorICAgICMgc2ltcGxlc3QgYXBwcm9hY2ggdG8gY2hhbmdpbmcgJChERVBESVIpIHRvIGl0cyBhY3R1YWwgdmFsdWUgaW4gdGhlCisgICAgIyBleHBhbnNpb24uCisgICAgZm9yIGZpbGUgaW4gYHNlZCAtbiAiCisgICAgICBzL14kYW1fX2luY2x1ZGUgJGFtX19xdW90ZVwoLiooREVQRElSKS4qXCkkYW1fX3F1b3RlIickL1wxL3AnIDwiJG1mIiB8IFwKKwkgc2VkIC1lICdzL1wkKERFUERJUikvJyIkREVQRElSIicvZycgLWUgJ3MvXCRVLyciJFUiJy9nJ2A7IGRvCisgICAgICAjIE1ha2Ugc3VyZSB0aGUgZGlyZWN0b3J5IGV4aXN0cy4KKyAgICAgIHRlc3QgLWYgIiRkaXJwYXJ0LyRmaWxlIiAmJiBjb250aW51ZQorICAgICAgZmRpcj1gQVNfRElSTkFNRShbIiRmaWxlIl0pYAorICAgICAgQVNfTUtESVJfUChbJGRpcnBhcnQvJGZkaXJdKQorICAgICAgIyBlY2hvICJjcmVhdGluZyAkZGlycGFydC8kZmlsZSIKKyAgICAgIGVjaG8gJyMgZHVtbXknID4gIiRkaXJwYXJ0LyRmaWxlIgorICAgIGRvbmUKKyAgZG9uZQorfQorXSkjIF9BTV9PVVRQVVRfREVQRU5ERU5DWV9DT01NQU5EUworCisKKyMgQU1fT1VUUFVUX0RFUEVOREVOQ1lfQ09NTUFORFMKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgVGhpcyBtYWNybyBzaG91bGQgb25seSBiZSBpbnZva2VkIG9uY2UgLS0gdXNlIHZpYSBBQ19SRVFVSVJFLgorIworIyBUaGlzIGNvZGUgaXMgb25seSByZXF1aXJlZCB3aGVuIGF1dG9tYXRpYyBkZXBlbmRlbmN5IHRyYWNraW5nCisjIGlzIGVuYWJsZWQuICBGSVhNRS4gIFRoaXMgY3JlYXRlcyBlYWNoIGAuUCcgZmlsZSB0aGF0IHdlIHdpbGwKKyMgbmVlZCBpbiBvcmRlciB0byBib290c3RyYXAgdGhlIGRlcGVuZGVuY3kgaGFuZGxpbmcgY29kZS4KK0FDX0RFRlVOKFtBTV9PVVRQVVRfREVQRU5ERU5DWV9DT01NQU5EU10sCitbQUNfQ09ORklHX0NPTU1BTkRTKFtkZXBmaWxlc10sCisgICAgIFt0ZXN0IHgiJEFNREVQX1RSVUUiICE9IHgiIiB8fCBfQU1fT1VUUFVUX0RFUEVOREVOQ1lfQ09NTUFORFNdLAorICAgICBbQU1ERVBfVFJVRT0iJEFNREVQX1RSVUUiIGFjX2F1eF9kaXI9IiRhY19hdXhfZGlyIl0pCitdKQorCisjIENvcHlyaWdodCAoQykgMTk5NiwgMTk5NywgMjAwMCwgMjAwMSwgMjAwMywgMjAwNQorIyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24KKyMgZ2l2ZXMgdW5saW1pdGVkIHBlcm1pc3Npb24gdG8gY29weSBhbmQvb3IgZGlzdHJpYnV0ZSBpdCwKKyMgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbnMsIGFzIGxvbmcgYXMgdGhpcyBub3RpY2UgaXMgcHJlc2VydmVkLgorCisjIHNlcmlhbCA4CisKKyMgQU1fQ09ORklHX0hFQURFUiBpcyBvYnNvbGV0ZS4gIEl0IGhhcyBiZWVuIHJlcGxhY2VkIGJ5IEFDX0NPTkZJR19IRUFERVJTLgorQVVfREVGVU4oW0FNX0NPTkZJR19IRUFERVJdLCBbQUNfQ09ORklHX0hFQURFUlMoJEApXSkKKworIyBEbyBhbGwgdGhlIHdvcmsgZm9yIEF1dG9tYWtlLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSotIEF1dG9jb25mIC0qLQorCisjIENvcHlyaWdodCAoQykgMTk5NiwgMTk5NywgMTk5OCwgMTk5OSwgMjAwMCwgMjAwMSwgMjAwMiwgMjAwMywgMjAwNCwKKyMgMjAwNSwgMjAwNiwgMjAwOCwgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24KKyMgZ2l2ZXMgdW5saW1pdGVkIHBlcm1pc3Npb24gdG8gY29weSBhbmQvb3IgZGlzdHJpYnV0ZSBpdCwKKyMgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbnMsIGFzIGxvbmcgYXMgdGhpcyBub3RpY2UgaXMgcHJlc2VydmVkLgorCisjIHNlcmlhbCAxNgorCisjIFRoaXMgbWFjcm8gYWN0dWFsbHkgZG9lcyB0b28gbXVjaC4gIFNvbWUgY2hlY2tzIGFyZSBvbmx5IG5lZWRlZCBpZgorIyB5b3VyIHBhY2thZ2UgZG9lcyBjZXJ0YWluIHRoaW5ncy4gIEJ1dCB0aGlzIGlzbid0IHJlYWxseSBhIGJpZyBkZWFsLgorCisjIEFNX0lOSVRfQVVUT01BS0UoUEFDS0FHRSwgVkVSU0lPTiwgW05PLURFRklORV0pCisjIEFNX0lOSVRfQVVUT01BS0UoW09QVElPTlNdKQorIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBUaGUgY2FsbCB3aXRoIFBBQ0tBR0UgYW5kIFZFUlNJT04gYXJndW1lbnRzIGlzIHRoZSBvbGQgc3R5bGUKKyMgY2FsbCAocHJlIGF1dG9jb25mLTIuNTApLCB3aGljaCBpcyBiZWluZyBwaGFzZWQgb3V0LiAgUEFDS0FHRQorIyBhbmQgVkVSU0lPTiBzaG91bGQgbm93IGJlIHBhc3NlZCB0byBBQ19JTklUIGFuZCByZW1vdmVkIGZyb20KKyMgdGhlIGNhbGwgdG8gQU1fSU5JVF9BVVRPTUFLRS4KKyMgV2Ugc3VwcG9ydCBib3RoIGNhbGwgc3R5bGVzIGZvciB0aGUgdHJhbnNpdGlvbi4gIEFmdGVyCisjIHRoZSBuZXh0IEF1dG9tYWtlIHJlbGVhc2UsIEF1dG9jb25mIGNhbiBtYWtlIHRoZSBBQ19JTklUCisjIGFyZ3VtZW50cyBtYW5kYXRvcnksIGFuZCB0aGVuIHdlIGNhbiBkZXBlbmQgb24gYSBuZXcgQXV0b2NvbmYKKyMgcmVsZWFzZSBhbmQgZHJvcCB0aGUgb2xkIGNhbGwgc3VwcG9ydC4KK0FDX0RFRlVOKFtBTV9JTklUX0FVVE9NQUtFXSwKK1tBQ19QUkVSRVEoWzIuNjJdKWRubAorZG5sIEF1dG9jb25mIHdhbnRzIHRvIGRpc2FsbG93IEFNXyBuYW1lcy4gIFdlIGV4cGxpY2l0bHkgYWxsb3cKK2RubCB0aGUgb25lcyB3ZSBjYXJlIGFib3V0LgorbTRfcGF0dGVybl9hbGxvdyhbXkFNX1tBLVpdK0ZMQUdTJF0pZG5sCitBQ19SRVFVSVJFKFtBTV9TRVRfQ1VSUkVOVF9BVVRPTUFLRV9WRVJTSU9OXSlkbmwKK0FDX1JFUVVJUkUoW0FDX1BST0dfSU5TVEFMTF0pZG5sCitpZiB0ZXN0ICJgY2QgJHNyY2RpciAmJiBwd2RgIiAhPSAiYHB3ZGAiOyB0aGVuCisgICMgVXNlIC1JJChzcmNkaXIpIG9ubHkgd2hlbiAkKHNyY2RpcikgIT0gLiwgc28gdGhhdCBtYWtlJ3Mgb3V0cHV0CisgICMgaXMgbm90IHBvbGx1dGVkIHdpdGggcmVwZWF0ZWQgIi1JLiIKKyAgQUNfU1VCU1QoW2FtX19pc3JjXSwgWycgLUkkKHNyY2RpciknXSlfQU1fU1VCU1RfTk9UTUFLRShbYW1fX2lzcmNdKWRubAorICAjIHRlc3QgdG8gc2VlIGlmIHNyY2RpciBhbHJlYWR5IGNvbmZpZ3VyZWQKKyAgaWYgdGVzdCAtZiAkc3JjZGlyL2NvbmZpZy5zdGF0dXM7IHRoZW4KKyAgICBBQ19NU0dfRVJST1IoW3NvdXJjZSBkaXJlY3RvcnkgYWxyZWFkeSBjb25maWd1cmVkOyBydW4gIm1ha2UgZGlzdGNsZWFuIiB0aGVyZSBmaXJzdF0pCisgIGZpCitmaQorCisjIHRlc3Qgd2hldGhlciB3ZSBoYXZlIGN5Z3BhdGgKK2lmIHRlc3QgLXogIiRDWUdQQVRIX1ciOyB0aGVuCisgIGlmIChjeWdwYXRoIC0tdmVyc2lvbikgPi9kZXYvbnVsbCAyPi9kZXYvbnVsbDsgdGhlbgorICAgIENZR1BBVEhfVz0nY3lncGF0aCAtdycKKyAgZWxzZQorICAgIENZR1BBVEhfVz1lY2hvCisgIGZpCitmaQorQUNfU1VCU1QoW0NZR1BBVEhfV10pCisKKyMgRGVmaW5lIHRoZSBpZGVudGl0eSBvZiB0aGUgcGFja2FnZS4KK2RubCBEaXN0aW5ndWlzaCBiZXR3ZWVuIG9sZC1zdHlsZSBhbmQgbmV3LXN0eWxlIGNhbGxzLgorbTRfaWZ2YWwoWyQyXSwKK1ttNF9pZnZhbChbJDNdLCBbX0FNX1NFVF9PUFRJT04oW25vLWRlZmluZV0pXSlkbmwKKyBBQ19TVUJTVChbUEFDS0FHRV0sIFskMV0pZG5sCisgQUNfU1VCU1QoW1ZFUlNJT05dLCBbJDJdKV0sCitbX0FNX1NFVF9PUFRJT05TKFskMV0pZG5sCitkbmwgRGlhZ25vc2Ugb2xkLXN0eWxlIEFDX0lOSVQgd2l0aCBuZXctc3R5bGUgQU1fQVVUT01BS0VfSU5JVC4KK200X2lmKG00X2lmZGVmKFtBQ19QQUNLQUdFX05BTUVdLCAxKW00X2lmZGVmKFtBQ19QQUNLQUdFX1ZFUlNJT05dLCAxKSwgMTEsLAorICBbbTRfZmF0YWwoW0FDX0lOSVQgc2hvdWxkIGJlIGNhbGxlZCB3aXRoIHBhY2thZ2UgYW5kIHZlcnNpb24gYXJndW1lbnRzXSldKWRubAorIEFDX1NVQlNUKFtQQUNLQUdFXSwgWydBQ19QQUNLQUdFX1RBUk5BTUUnXSlkbmwKKyBBQ19TVUJTVChbVkVSU0lPTl0sIFsnQUNfUEFDS0FHRV9WRVJTSU9OJ10pXSlkbmwKKworX0FNX0lGX09QVElPTihbbm8tZGVmaW5lXSwsCitbQUNfREVGSU5FX1VOUVVPVEVEKFBBQ0tBR0UsICIkUEFDS0FHRSIsIFtOYW1lIG9mIHBhY2thZ2VdKQorIEFDX0RFRklORV9VTlFVT1RFRChWRVJTSU9OLCAiJFZFUlNJT04iLCBbVmVyc2lvbiBudW1iZXIgb2YgcGFja2FnZV0pXSlkbmwKKworIyBTb21lIHRvb2xzIEF1dG9tYWtlIG5lZWRzLgorQUNfUkVRVUlSRShbQU1fU0FOSVRZX0NIRUNLXSlkbmwKK0FDX1JFUVVJUkUoW0FDX0FSR19QUk9HUkFNXSlkbmwKK0FNX01JU1NJTkdfUFJPRyhBQ0xPQ0FMLCBhY2xvY2FsLSR7YW1fX2FwaV92ZXJzaW9ufSkKK0FNX01JU1NJTkdfUFJPRyhBVVRPQ09ORiwgYXV0b2NvbmYpCitBTV9NSVNTSU5HX1BST0coQVVUT01BS0UsIGF1dG9tYWtlLSR7YW1fX2FwaV92ZXJzaW9ufSkKK0FNX01JU1NJTkdfUFJPRyhBVVRPSEVBREVSLCBhdXRvaGVhZGVyKQorQU1fTUlTU0lOR19QUk9HKE1BS0VJTkZPLCBtYWtlaW5mbykKK0FDX1JFUVVJUkUoW0FNX1BST0dfSU5TVEFMTF9TSF0pZG5sCitBQ19SRVFVSVJFKFtBTV9QUk9HX0lOU1RBTExfU1RSSVBdKWRubAorQUNfUkVRVUlSRShbQU1fUFJPR19NS0RJUl9QXSlkbmwKKyMgV2UgbmVlZCBhd2sgZm9yIHRoZSAiY2hlY2siIHRhcmdldC4gIFRoZSBzeXN0ZW0gImF3ayIgaXMgYmFkIG9uCisjIHNvbWUgcGxhdGZvcm1zLgorQUNfUkVRVUlSRShbQUNfUFJPR19BV0tdKWRubAorQUNfUkVRVUlSRShbQUNfUFJPR19NQUtFX1NFVF0pZG5sCitBQ19SRVFVSVJFKFtBTV9TRVRfTEVBRElOR19ET1RdKWRubAorX0FNX0lGX09QVElPTihbdGFyLXVzdGFyXSwgW19BTV9QUk9HX1RBUihbdXN0YXJdKV0sCisJICAgICAgW19BTV9JRl9PUFRJT04oW3Rhci1wYXhdLCBbX0FNX1BST0dfVEFSKFtwYXhdKV0sCisJCQkgICAgIFtfQU1fUFJPR19UQVIoW3Y3XSldKV0pCitfQU1fSUZfT1BUSU9OKFtuby1kZXBlbmRlbmNpZXNdLCwKK1tBQ19QUk9WSURFX0lGRUxTRShbQUNfUFJPR19DQ10sCisJCSAgW19BTV9ERVBFTkRFTkNJRVMoQ0MpXSwKKwkJICBbZGVmaW5lKFtBQ19QUk9HX0NDXSwKKwkJCSAgZGVmbihbQUNfUFJPR19DQ10pW19BTV9ERVBFTkRFTkNJRVMoQ0MpXSldKWRubAorQUNfUFJPVklERV9JRkVMU0UoW0FDX1BST0dfQ1hYXSwKKwkJICBbX0FNX0RFUEVOREVOQ0lFUyhDWFgpXSwKKwkJICBbZGVmaW5lKFtBQ19QUk9HX0NYWF0sCisJCQkgIGRlZm4oW0FDX1BST0dfQ1hYXSlbX0FNX0RFUEVOREVOQ0lFUyhDWFgpXSldKWRubAorQUNfUFJPVklERV9JRkVMU0UoW0FDX1BST0dfT0JKQ10sCisJCSAgW19BTV9ERVBFTkRFTkNJRVMoT0JKQyldLAorCQkgIFtkZWZpbmUoW0FDX1BST0dfT0JKQ10sCisJCQkgIGRlZm4oW0FDX1BST0dfT0JKQ10pW19BTV9ERVBFTkRFTkNJRVMoT0JKQyldKV0pZG5sCitdKQorX0FNX0lGX09QVElPTihbc2lsZW50LXJ1bGVzXSwgW0FDX1JFUVVJUkUoW0FNX1NJTEVOVF9SVUxFU10pXSlkbmwKK2RubCBUaGUgYHBhcmFsbGVsLXRlc3RzJyBkcml2ZXIgbWF5IG5lZWQgdG8ga25vdyBhYm91dCBFWEVFWFQsIHNvIGFkZCB0aGUKK2RubCBgYW1fX0VYRUVYVCcgY29uZGl0aW9uYWwgaWYgX0FNX0NPTVBJTEVSX0VYRUVYVCB3YXMgc2Vlbi4gIFRoaXMgbWFjcm8KK2RubCBpcyBob29rZWQgb250byBfQUNfQ09NUElMRVJfRVhFRVhUIGVhcmx5LCBzZWUgYmVsb3cuCitBQ19DT05GSUdfQ09NTUFORFNfUFJFKGRubAorW200X3Byb3ZpZGVfaWYoW19BTV9DT01QSUxFUl9FWEVFWFRdLAorICBbQU1fQ09ORElUSU9OQUwoW2FtX19FWEVFWFRdLCBbdGVzdCAtbiAiJEVYRUVYVCJdKV0pXSlkbmwKK10pCisKK2RubCBIb29rIGludG8gYF9BQ19DT01QSUxFUl9FWEVFWFQnIGVhcmx5IHRvIGxlYXJuIGl0cyBleHBhbnNpb24uICBEbyBub3QKK2RubCBhZGQgdGhlIGNvbmRpdGlvbmFsIHJpZ2h0IGhlcmUsIGFzIF9BQ19DT01QSUxFUl9FWEVFWFQgbWF5IGJlIGZ1cnRoZXIKK2RubCBtYW5nbGVkIGJ5IEF1dG9jb25mIGFuZCBydW4gaW4gYSBzaGVsbCBjb25kaXRpb25hbCBzdGF0ZW1lbnQuCittNF9kZWZpbmUoW19BQ19DT01QSUxFUl9FWEVFWFRdLAorbTRfZGVmbihbX0FDX0NPTVBJTEVSX0VYRUVYVF0pW200X3Byb3ZpZGUoW19BTV9DT01QSUxFUl9FWEVFWFRdKV0pCisKKworIyBXaGVuIGNvbmZpZy5zdGF0dXMgZ2VuZXJhdGVzIGEgaGVhZGVyLCB3ZSBtdXN0IHVwZGF0ZSB0aGUgc3RhbXAtaCBmaWxlLgorIyBUaGlzIGZpbGUgcmVzaWRlcyBpbiB0aGUgc2FtZSBkaXJlY3RvcnkgYXMgdGhlIGNvbmZpZyBoZWFkZXIKKyMgdGhhdCBpcyBnZW5lcmF0ZWQuICBUaGUgc3RhbXAgZmlsZXMgYXJlIG51bWJlcmVkIHRvIGhhdmUgZGlmZmVyZW50IG5hbWVzLgorCisjIEF1dG9jb25mIGNhbGxzIF9BQ19BTV9DT05GSUdfSEVBREVSX0hPT0sgKHdoZW4gZGVmaW5lZCkgaW4gdGhlCisjIGxvb3Agd2hlcmUgY29uZmlnLnN0YXR1cyBjcmVhdGVzIHRoZSBoZWFkZXJzLCBzbyB3ZSBjYW4gZ2VuZXJhdGUKKyMgb3VyIHN0YW1wIGZpbGVzIHRoZXJlLgorQUNfREVGVU4oW19BQ19BTV9DT05GSUdfSEVBREVSX0hPT0tdLAorWyMgQ29tcHV0ZSAkMSdzIGluZGV4IGluICRjb25maWdfaGVhZGVycy4KK19hbV9hcmc9JDEKK19hbV9zdGFtcF9jb3VudD0xCitmb3IgX2FtX2hlYWRlciBpbiAkY29uZmlnX2hlYWRlcnMgOjsgZG8KKyAgY2FzZSAkX2FtX2hlYWRlciBpbgorICAgICRfYW1fYXJnIHwgJF9hbV9hcmc6KiApCisgICAgICBicmVhayA7OworICAgICogKQorICAgICAgX2FtX3N0YW1wX2NvdW50PWBleHByICRfYW1fc3RhbXBfY291bnQgKyAxYCA7OworICBlc2FjCitkb25lCitlY2hvICJ0aW1lc3RhbXAgZm9yICRfYW1fYXJnIiA+YEFTX0RJUk5BTUUoWyIkX2FtX2FyZyJdKWAvc3RhbXAtaFtdJF9hbV9zdGFtcF9jb3VudF0pCisKKyMgQ29weXJpZ2h0IChDKSAyMDAxLCAyMDAzLCAyMDA1LCAyMDA4ICBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24KKyMgZ2l2ZXMgdW5saW1pdGVkIHBlcm1pc3Npb24gdG8gY29weSBhbmQvb3IgZGlzdHJpYnV0ZSBpdCwKKyMgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbnMsIGFzIGxvbmcgYXMgdGhpcyBub3RpY2UgaXMgcHJlc2VydmVkLgorCisjIEFNX1BST0dfSU5TVEFMTF9TSAorIyAtLS0tLS0tLS0tLS0tLS0tLS0KKyMgRGVmaW5lICRpbnN0YWxsX3NoLgorQUNfREVGVU4oW0FNX1BST0dfSU5TVEFMTF9TSF0sCitbQUNfUkVRVUlSRShbQU1fQVVYX0RJUl9FWFBBTkRdKWRubAoraWYgdGVzdCB4IiR7aW5zdGFsbF9zaH0iICE9IHhzZXQ7IHRoZW4KKyAgY2FzZSAkYW1fYXV4X2RpciBpbgorICAqXCAqIHwgKlwJKikKKyAgICBpbnN0YWxsX3NoPSJcJHtTSEVMTH0gJyRhbV9hdXhfZGlyL2luc3RhbGwtc2gnIiA7OworICAqKQorICAgIGluc3RhbGxfc2g9Ilwke1NIRUxMfSAkYW1fYXV4X2Rpci9pbnN0YWxsLXNoIgorICBlc2FjCitmaQorQUNfU1VCU1QoaW5zdGFsbF9zaCldKQorCisjIENvcHlyaWdodCAoQykgMjAwMywgMjAwNSAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uCisjIGdpdmVzIHVubGltaXRlZCBwZXJtaXNzaW9uIHRvIGNvcHkgYW5kL29yIGRpc3RyaWJ1dGUgaXQsCisjIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb25zLCBhcyBsb25nIGFzIHRoaXMgbm90aWNlIGlzIHByZXNlcnZlZC4KKworIyBzZXJpYWwgMgorCisjIENoZWNrIHdoZXRoZXIgdGhlIHVuZGVybHlpbmcgZmlsZS1zeXN0ZW0gc3VwcG9ydHMgZmlsZW5hbWVzCisjIHdpdGggYSBsZWFkaW5nIGRvdC4gIEZvciBpbnN0YW5jZSBNUy1ET1MgZG9lc24ndC4KK0FDX0RFRlVOKFtBTV9TRVRfTEVBRElOR19ET1RdLAorW3JtIC1yZiAudHN0IDI+L2Rldi9udWxsCitta2RpciAudHN0IDI+L2Rldi9udWxsCitpZiB0ZXN0IC1kIC50c3Q7IHRoZW4KKyAgYW1fX2xlYWRpbmdfZG90PS4KK2Vsc2UKKyAgYW1fX2xlYWRpbmdfZG90PV8KK2ZpCitybWRpciAudHN0IDI+L2Rldi9udWxsCitBQ19TVUJTVChbYW1fX2xlYWRpbmdfZG90XSldKQorCisjIEFkZCAtLWVuYWJsZS1tYWludGFpbmVyLW1vZGUgb3B0aW9uIHRvIGNvbmZpZ3VyZS4gICAgICAgICAtKi0gQXV0b2NvbmYgLSotCisjIEZyb20gSmltIE1leWVyaW5nCisKKyMgQ29weXJpZ2h0IChDKSAxOTk2LCAxOTk4LCAyMDAwLCAyMDAxLCAyMDAyLCAyMDAzLCAyMDA0LCAyMDA1LCAyMDA4CisjIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbgorIyBnaXZlcyB1bmxpbWl0ZWQgcGVybWlzc2lvbiB0byBjb3B5IGFuZC9vciBkaXN0cmlidXRlIGl0LAorIyB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9ucywgYXMgbG9uZyBhcyB0aGlzIG5vdGljZSBpcyBwcmVzZXJ2ZWQuCisKKyMgc2VyaWFsIDUKKworIyBBTV9NQUlOVEFJTkVSX01PREUoW0RFRkFVTFQtTU9ERV0pCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQ29udHJvbCBtYWludGFpbmVyLXNwZWNpZmljIHBvcnRpb25zIG9mIE1ha2VmaWxlcy4KKyMgRGVmYXVsdCBpcyB0byBkaXNhYmxlIHRoZW0sIHVubGVzcyBgZW5hYmxlJyBpcyBwYXNzZWQgbGl0ZXJhbGx5LgorIyBGb3Igc3ltbWV0cnksIGBkaXNhYmxlJyBtYXkgYmUgcGFzc2VkIGFzIHdlbGwuICBBbnl3YXksIHRoZSB1c2VyCisjIGNhbiBvdmVycmlkZSB0aGUgZGVmYXVsdCB3aXRoIHRoZSAtLWVuYWJsZS8tLWRpc2FibGUgc3dpdGNoLgorQUNfREVGVU4oW0FNX01BSU5UQUlORVJfTU9ERV0sCitbbTRfY2FzZShtNF9kZWZhdWx0KFskMV0sIFtkaXNhYmxlXSksCisgICAgICAgW2VuYWJsZV0sIFttNF9kZWZpbmUoW2FtX21haW50YWluZXJfb3RoZXJdLCBbZGlzYWJsZV0pXSwKKyAgICAgICBbZGlzYWJsZV0sIFttNF9kZWZpbmUoW2FtX21haW50YWluZXJfb3RoZXJdLCBbZW5hYmxlXSldLAorICAgICAgIFttNF9kZWZpbmUoW2FtX21haW50YWluZXJfb3RoZXJdLCBbZW5hYmxlXSkKKyAgICAgICAgbTRfd2Fybihbc3ludGF4XSwgW3VuZXhwZWN0ZWQgYXJndW1lbnQgdG8gQU1AJnRAX01BSU5UQUlORVJfTU9ERTogJDFdKV0pCitBQ19NU0dfQ0hFQ0tJTkcoW3doZXRoZXIgdG8gYW1fbWFpbnRhaW5lcl9vdGhlciBtYWludGFpbmVyLXNwZWNpZmljIHBvcnRpb25zIG9mIE1ha2VmaWxlc10pCisgIGRubCBtYWludGFpbmVyLW1vZGUncyBkZWZhdWx0IGlzICdkaXNhYmxlJyB1bmxlc3MgJ2VuYWJsZScgaXMgcGFzc2VkCisgIEFDX0FSR19FTkFCTEUoW21haW50YWluZXItbW9kZV0sCitbICAtLV1bYW1fbWFpbnRhaW5lcl9vdGhlcl1bLW1haW50YWluZXItbW9kZSAgYW1fbWFpbnRhaW5lcl9vdGhlciBtYWtlIHJ1bGVzIGFuZCBkZXBlbmRlbmNpZXMgbm90IHVzZWZ1bAorCQkJICAoYW5kIHNvbWV0aW1lcyBjb25mdXNpbmcpIHRvIHRoZSBjYXN1YWwgaW5zdGFsbGVyXSwKKyAgICAgIFtVU0VfTUFJTlRBSU5FUl9NT0RFPSRlbmFibGV2YWxdLAorICAgICAgW1VTRV9NQUlOVEFJTkVSX01PREU9XW00X2lmKGFtX21haW50YWluZXJfb3RoZXIsIFtlbmFibGVdLCBbbm9dLCBbeWVzXSkpCisgIEFDX01TR19SRVNVTFQoWyRVU0VfTUFJTlRBSU5FUl9NT0RFXSkKKyAgQU1fQ09ORElUSU9OQUwoW01BSU5UQUlORVJfTU9ERV0sIFt0ZXN0ICRVU0VfTUFJTlRBSU5FUl9NT0RFID0geWVzXSkKKyAgTUFJTlQ9JE1BSU5UQUlORVJfTU9ERV9UUlVFCisgIEFDX1NVQlNUKFtNQUlOVF0pZG5sCitdCispCisKK0FVX0RFRlVOKFtqbV9NQUlOVEFJTkVSX01PREVdLCBbQU1fTUFJTlRBSU5FUl9NT0RFXSkKKworIyBDaGVjayB0byBzZWUgaG93ICdtYWtlJyB0cmVhdHMgaW5jbHVkZXMuCSAgICAgICAgICAgIC0qLSBBdXRvY29uZiAtKi0KKworIyBDb3B5cmlnaHQgKEMpIDIwMDEsIDIwMDIsIDIwMDMsIDIwMDUsIDIwMDkgIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbgorIyBnaXZlcyB1bmxpbWl0ZWQgcGVybWlzc2lvbiB0byBjb3B5IGFuZC9vciBkaXN0cmlidXRlIGl0LAorIyB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9ucywgYXMgbG9uZyBhcyB0aGlzIG5vdGljZSBpcyBwcmVzZXJ2ZWQuCisKKyMgc2VyaWFsIDQKKworIyBBTV9NQUtFX0lOQ0xVREUoKQorIyAtLS0tLS0tLS0tLS0tLS0tLQorIyBDaGVjayB0byBzZWUgaG93IG1ha2UgdHJlYXRzIGluY2x1ZGVzLgorQUNfREVGVU4oW0FNX01BS0VfSU5DTFVERV0sCitbYW1fbWFrZT0ke01BS0UtbWFrZX0KK2NhdCA+IGNvbmZpbmMgPDwgJ0VORCcKK2FtX19kb2l0OgorCUBlY2hvIHRoaXMgaXMgdGhlIGFtX19kb2l0IHRhcmdldAorLlBIT05ZOiBhbV9fZG9pdAorRU5ECisjIElmIHdlIGRvbid0IGZpbmQgYW4gaW5jbHVkZSBkaXJlY3RpdmUsIGp1c3QgY29tbWVudCBvdXQgdGhlIGNvZGUuCitBQ19NU0dfQ0hFQ0tJTkcoW2ZvciBzdHlsZSBvZiBpbmNsdWRlIHVzZWQgYnkgJGFtX21ha2VdKQorYW1fX2luY2x1ZGU9IiMiCithbV9fcXVvdGU9CitfYW1fcmVzdWx0PW5vbmUKKyMgRmlyc3QgdHJ5IEdOVSBtYWtlIHN0eWxlIGluY2x1ZGUuCitlY2hvICJpbmNsdWRlIGNvbmZpbmMiID4gY29uZm1mCisjIElnbm9yZSBhbGwga2luZHMgb2YgYWRkaXRpb25hbCBvdXRwdXQgZnJvbSBgbWFrZScuCitjYXNlIGAkYW1fbWFrZSAtcyAtZiBjb25mbWYgMj4gL2Rldi9udWxsYCBpbiAjKAorKnRoZVwgYW1fX2RvaXRcIHRhcmdldCopCisgIGFtX19pbmNsdWRlPWluY2x1ZGUKKyAgYW1fX3F1b3RlPQorICBfYW1fcmVzdWx0PUdOVQorICA7OworZXNhYworIyBOb3cgdHJ5IEJTRCBtYWtlIHN0eWxlIGluY2x1ZGUuCitpZiB0ZXN0ICIkYW1fX2luY2x1ZGUiID0gIiMiOyB0aGVuCisgICBlY2hvICcuaW5jbHVkZSAiY29uZmluYyInID4gY29uZm1mCisgICBjYXNlIGAkYW1fbWFrZSAtcyAtZiBjb25mbWYgMj4gL2Rldi9udWxsYCBpbiAjKAorICAgKnRoZVwgYW1fX2RvaXRcIHRhcmdldCopCisgICAgIGFtX19pbmNsdWRlPS5pbmNsdWRlCisgICAgIGFtX19xdW90ZT0iXCIiCisgICAgIF9hbV9yZXN1bHQ9QlNECisgICAgIDs7CisgICBlc2FjCitmaQorQUNfU1VCU1QoW2FtX19pbmNsdWRlXSkKK0FDX1NVQlNUKFthbV9fcXVvdGVdKQorQUNfTVNHX1JFU1VMVChbJF9hbV9yZXN1bHRdKQorcm0gLWYgY29uZmluYyBjb25mbWYKK10pCisKKyMgRmFrZSB0aGUgZXhpc3RlbmNlIG9mIHByb2dyYW1zIHRoYXQgR05VIG1haW50YWluZXJzIHVzZS4gIC0qLSBBdXRvY29uZiAtKi0KKworIyBDb3B5cmlnaHQgKEMpIDE5OTcsIDE5OTksIDIwMDAsIDIwMDEsIDIwMDMsIDIwMDQsIDIwMDUsIDIwMDgKKyMgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uCisjIGdpdmVzIHVubGltaXRlZCBwZXJtaXNzaW9uIHRvIGNvcHkgYW5kL29yIGRpc3RyaWJ1dGUgaXQsCisjIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb25zLCBhcyBsb25nIGFzIHRoaXMgbm90aWNlIGlzIHByZXNlcnZlZC4KKworIyBzZXJpYWwgNgorCisjIEFNX01JU1NJTkdfUFJPRyhOQU1FLCBQUk9HUkFNKQorIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0FDX0RFRlVOKFtBTV9NSVNTSU5HX1BST0ddLAorW0FDX1JFUVVJUkUoW0FNX01JU1NJTkdfSEFTX1JVTl0pCiskMT0keyQxLSIke2FtX21pc3NpbmdfcnVufSQyIn0KK0FDX1NVQlNUKCQxKV0pCisKKworIyBBTV9NSVNTSU5HX0hBU19SVU4KKyMgLS0tLS0tLS0tLS0tLS0tLS0tCisjIERlZmluZSBNSVNTSU5HIGlmIG5vdCBkZWZpbmVkIHNvIGZhciBhbmQgdGVzdCBpZiBpdCBzdXBwb3J0cyAtLXJ1bi4KKyMgSWYgaXQgZG9lcywgc2V0IGFtX21pc3NpbmdfcnVuIHRvIHVzZSBpdCwgb3RoZXJ3aXNlLCB0byBub3RoaW5nLgorQUNfREVGVU4oW0FNX01JU1NJTkdfSEFTX1JVTl0sCitbQUNfUkVRVUlSRShbQU1fQVVYX0RJUl9FWFBBTkRdKWRubAorQUNfUkVRVUlSRV9BVVhfRklMRShbbWlzc2luZ10pZG5sCitpZiB0ZXN0IHgiJHtNSVNTSU5HK3NldH0iICE9IHhzZXQ7IHRoZW4KKyAgY2FzZSAkYW1fYXV4X2RpciBpbgorICAqXCAqIHwgKlwJKikKKyAgICBNSVNTSU5HPSJcJHtTSEVMTH0gXCIkYW1fYXV4X2Rpci9taXNzaW5nXCIiIDs7CisgICopCisgICAgTUlTU0lORz0iXCR7U0hFTEx9ICRhbV9hdXhfZGlyL21pc3NpbmciIDs7CisgIGVzYWMKK2ZpCisjIFVzZSBldmFsIHRvIGV4cGFuZCAkU0hFTEwKK2lmIGV2YWwgIiRNSVNTSU5HIC0tcnVuIHRydWUiOyB0aGVuCisgIGFtX21pc3NpbmdfcnVuPSIkTUlTU0lORyAtLXJ1biAiCitlbHNlCisgIGFtX21pc3NpbmdfcnVuPQorICBBQ19NU0dfV0FSTihbYG1pc3NpbmcnIHNjcmlwdCBpcyB0b28gb2xkIG9yIG1pc3NpbmddKQorZmkKK10pCisKKyMgQ29weXJpZ2h0IChDKSAyMDAzLCAyMDA0LCAyMDA1LCAyMDA2ICBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24KKyMgZ2l2ZXMgdW5saW1pdGVkIHBlcm1pc3Npb24gdG8gY29weSBhbmQvb3IgZGlzdHJpYnV0ZSBpdCwKKyMgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbnMsIGFzIGxvbmcgYXMgdGhpcyBub3RpY2UgaXMgcHJlc2VydmVkLgorCisjIEFNX1BST0dfTUtESVJfUAorIyAtLS0tLS0tLS0tLS0tLS0KKyMgQ2hlY2sgZm9yIGBta2RpciAtcCcuCitBQ19ERUZVTihbQU1fUFJPR19NS0RJUl9QXSwKK1tBQ19QUkVSRVEoWzIuNjBdKWRubAorQUNfUkVRVUlSRShbQUNfUFJPR19NS0RJUl9QXSlkbmwKK2RubCBBdXRvbWFrZSAxLjggdG8gMS45LjYgdXNlZCB0byBkZWZpbmUgbWtkaXJfcC4gIFdlIG5vdyB1c2UgTUtESVJfUCwKK2RubCB3aGlsZSBrZWVwaW5nIGEgZGVmaW5pdGlvbiBvZiBta2Rpcl9wIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LgorZG5sIEBNS0RJUl9QQCBpcyBtYWdpYzogQUNfT1VUUFVUIGFkanVzdHMgaXRzIHZhbHVlIGZvciBlYWNoIE1ha2VmaWxlLgorZG5sIEhvd2V2ZXIgd2UgY2Fubm90IGRlZmluZSBta2Rpcl9wIGFzICQoTUtESVJfUCkgZm9yIHRoZSBzYWtlIG9mCitkbmwgTWFrZWZpbGUuaW5zIHRoYXQgZG8gbm90IGRlZmluZSBNS0RJUl9QLCBzbyB3ZSBkbyBvdXIgb3duCitkbmwgYWRqdXN0bWVudCB1c2luZyB0b3BfYnVpbGRkaXIgKHdoaWNoIGlzIGRlZmluZWQgbW9yZSBvZnRlbiB0aGFuCitkbmwgTUtESVJfUCkuCitBQ19TVUJTVChbbWtkaXJfcF0sIFsiJE1LRElSX1AiXSlkbmwKK2Nhc2UgJG1rZGlyX3AgaW4KKyAgW1tcXC8kXV0qIHwgPzpbW1xcL11dKikgOzsKKyAgKi8qKSBta2Rpcl9wPSJcJCh0b3BfYnVpbGRkaXIpLyRta2Rpcl9wIiA7OworZXNhYworXSkKKworIyBIZWxwZXIgZnVuY3Rpb25zIGZvciBvcHRpb24gaGFuZGxpbmcuICAgICAgICAgICAgICAgICAgICAgLSotIEF1dG9jb25mIC0qLQorCisjIENvcHlyaWdodCAoQykgMjAwMSwgMjAwMiwgMjAwMywgMjAwNSwgMjAwOCAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uCisjIGdpdmVzIHVubGltaXRlZCBwZXJtaXNzaW9uIHRvIGNvcHkgYW5kL29yIGRpc3RyaWJ1dGUgaXQsCisjIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb25zLCBhcyBsb25nIGFzIHRoaXMgbm90aWNlIGlzIHByZXNlcnZlZC4KKworIyBzZXJpYWwgNAorCisjIF9BTV9NQU5HTEVfT1BUSU9OKE5BTUUpCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitBQ19ERUZVTihbX0FNX01BTkdMRV9PUFRJT05dLAorW1tfQU1fT1BUSU9OX11tNF9icGF0c3Vic3QoJDEsIFtbXmEtekEtWjAtOV9dXSwgW19dKV0pCisKKyMgX0FNX1NFVF9PUFRJT04oTkFNRSkKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFNldCBvcHRpb24gTkFNRS4gIFByZXNlbnRseSB0aGF0IG9ubHkgbWVhbnMgZGVmaW5pbmcgYSBmbGFnIGZvciB0aGlzIG9wdGlvbi4KK0FDX0RFRlVOKFtfQU1fU0VUX09QVElPTl0sCitbbTRfZGVmaW5lKF9BTV9NQU5HTEVfT1BUSU9OKFskMV0pLCAxKV0pCisKKyMgX0FNX1NFVF9PUFRJT05TKE9QVElPTlMpCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgT1BUSU9OUyBpcyBhIHNwYWNlLXNlcGFyYXRlZCBsaXN0IG9mIEF1dG9tYWtlIG9wdGlvbnMuCitBQ19ERUZVTihbX0FNX1NFVF9PUFRJT05TXSwKK1ttNF9mb3JlYWNoX3coW19BTV9PcHRpb25dLCBbJDFdLCBbX0FNX1NFVF9PUFRJT04oX0FNX09wdGlvbildKV0pCisKKyMgX0FNX0lGX09QVElPTihPUFRJT04sIElGLVNFVCwgW0lGLU5PVC1TRVRdKQorIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEV4ZWN1dGUgSUYtU0VUIGlmIE9QVElPTiBpcyBzZXQsIElGLU5PVC1TRVQgb3RoZXJ3aXNlLgorQUNfREVGVU4oW19BTV9JRl9PUFRJT05dLAorW200X2lmc2V0KF9BTV9NQU5HTEVfT1BUSU9OKFskMV0pLCBbJDJdLCBbJDNdKV0pCisKKyMgQ2hlY2sgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuICAgIC0qLSBBdXRvY29uZiAtKi0KKworIyBDb3B5cmlnaHQgKEMpIDE5OTYsIDE5OTcsIDIwMDAsIDIwMDEsIDIwMDMsIDIwMDUsIDIwMDgKKyMgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uCisjIGdpdmVzIHVubGltaXRlZCBwZXJtaXNzaW9uIHRvIGNvcHkgYW5kL29yIGRpc3RyaWJ1dGUgaXQsCisjIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb25zLCBhcyBsb25nIGFzIHRoaXMgbm90aWNlIGlzIHByZXNlcnZlZC4KKworIyBzZXJpYWwgNQorCisjIEFNX1NBTklUWV9DSEVDSworIyAtLS0tLS0tLS0tLS0tLS0KK0FDX0RFRlVOKFtBTV9TQU5JVFlfQ0hFQ0tdLAorW0FDX01TR19DSEVDS0lORyhbd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lXSkKKyMgSnVzdCBpbiBjYXNlCitzbGVlcCAxCitlY2hvIHRpbWVzdGFtcCA+IGNvbmZ0ZXN0LmZpbGUKKyMgUmVqZWN0IHVuc2FmZSBjaGFyYWN0ZXJzIGluICRzcmNkaXIgb3IgdGhlIGFic29sdXRlIHdvcmtpbmcgZGlyZWN0b3J5CisjIG5hbWUuICBBY2NlcHQgc3BhY2UgYW5kIHRhYiBvbmx5IGluIHRoZSBsYXR0ZXIuCithbV9sZj0nCisnCitjYXNlIGBwd2RgIGluCisgICpbW1xcXCJcI1wkXCZcJ1xgJGFtX2xmXV0qKQorICAgIEFDX01TR19FUlJPUihbdW5zYWZlIGFic29sdXRlIHdvcmtpbmcgZGlyZWN0b3J5IG5hbWVdKTs7Citlc2FjCitjYXNlICRzcmNkaXIgaW4KKyAgKltbXFxcIlwjXCRcJlwnXGAkYW1fbGZcIFwJXV0qKQorICAgIEFDX01TR19FUlJPUihbdW5zYWZlIHNyY2RpciB2YWx1ZTogYCRzcmNkaXInXSk7OworZXNhYworCisjIERvIGBzZXQnIGluIGEgc3Vic2hlbGwgc28gd2UgZG9uJ3QgY2xvYmJlciB0aGUgY3VycmVudCBzaGVsbCdzCisjIGFyZ3VtZW50cy4gIE11c3QgdHJ5IC1MIGZpcnN0IGluIGNhc2UgY29uZmlndXJlIGlzIGFjdHVhbGx5IGEKKyMgc3ltbGluazsgc29tZSBzeXN0ZW1zIHBsYXkgd2VpcmQgZ2FtZXMgd2l0aCB0aGUgbW9kIHRpbWUgb2Ygc3ltbGlua3MKKyMgKGVnIEZyZWVCU0QgcmV0dXJucyB0aGUgbW9kIHRpbWUgb2YgdGhlIHN5bWxpbmsncyBjb250YWluaW5nCisjIGRpcmVjdG9yeSkuCitpZiAoCisgICBzZXQgWCBgbHMgLUx0ICIkc3JjZGlyL2NvbmZpZ3VyZSIgY29uZnRlc3QuZmlsZSAyPiAvZGV2L251bGxgCisgICBpZiB0ZXN0ICIkWypdIiA9ICJYIjsgdGhlbgorICAgICAgIyAtTCBkaWRuJ3Qgd29yay4KKyAgICAgIHNldCBYIGBscyAtdCAiJHNyY2Rpci9jb25maWd1cmUiIGNvbmZ0ZXN0LmZpbGVgCisgICBmaQorICAgcm0gLWYgY29uZnRlc3QuZmlsZQorICAgaWYgdGVzdCAiJFsqXSIgIT0gIlggJHNyY2Rpci9jb25maWd1cmUgY29uZnRlc3QuZmlsZSIgXAorICAgICAgJiYgdGVzdCAiJFsqXSIgIT0gIlggY29uZnRlc3QuZmlsZSAkc3JjZGlyL2NvbmZpZ3VyZSI7IHRoZW4KKworICAgICAgIyBJZiBuZWl0aGVyIG1hdGNoZWQsIHRoZW4gd2UgaGF2ZSBhIGJyb2tlbiBscy4gIFRoaXMgY2FuIGhhcHBlbgorICAgICAgIyBpZiwgZm9yIGluc3RhbmNlLCBDT05GSUdfU0hFTEwgaXMgYmFzaCBhbmQgaXQgaW5oZXJpdHMgYQorICAgICAgIyBicm9rZW4gbHMgYWxpYXMgZnJvbSB0aGUgZW52aXJvbm1lbnQuICBUaGlzIGhhcyBhY3R1YWxseQorICAgICAgIyBoYXBwZW5lZC4gIFN1Y2ggYSBzeXN0ZW0gY291bGQgbm90IGJlIGNvbnNpZGVyZWQgInNhbmUiLgorICAgICAgQUNfTVNHX0VSUk9SKFtscyAtdCBhcHBlYXJzIHRvIGZhaWwuICBNYWtlIHN1cmUgdGhlcmUgaXMgbm90IGEgYnJva2VuCithbGlhcyBpbiB5b3VyIGVudmlyb25tZW50XSkKKyAgIGZpCisKKyAgIHRlc3QgIiRbMl0iID0gY29uZnRlc3QuZmlsZQorICAgKQordGhlbgorICAgIyBPay4KKyAgIDoKK2Vsc2UKKyAgIEFDX01TR19FUlJPUihbbmV3bHkgY3JlYXRlZCBmaWxlIGlzIG9sZGVyIHRoYW4gZGlzdHJpYnV0ZWQgZmlsZXMhCitDaGVjayB5b3VyIHN5c3RlbSBjbG9ja10pCitmaQorQUNfTVNHX1JFU1VMVCh5ZXMpXSkKKworIyBDb3B5cmlnaHQgKEMpIDIwMDEsIDIwMDMsIDIwMDUgIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbgorIyBnaXZlcyB1bmxpbWl0ZWQgcGVybWlzc2lvbiB0byBjb3B5IGFuZC9vciBkaXN0cmlidXRlIGl0LAorIyB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9ucywgYXMgbG9uZyBhcyB0aGlzIG5vdGljZSBpcyBwcmVzZXJ2ZWQuCisKKyMgQU1fUFJPR19JTlNUQUxMX1NUUklQCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBPbmUgaXNzdWUgd2l0aCB2ZW5kb3IgYGluc3RhbGwnIChldmVuIEdOVSkgaXMgdGhhdCB5b3UgY2FuJ3QKKyMgc3BlY2lmeSB0aGUgcHJvZ3JhbSB1c2VkIHRvIHN0cmlwIGJpbmFyaWVzLiAgVGhpcyBpcyBlc3BlY2lhbGx5CisjIGFubm95aW5nIGluIGNyb3NzLWNvbXBpbGluZyBlbnZpcm9ubWVudHMsIHdoZXJlIHRoZSBidWlsZCdzIHN0cmlwCisjIGlzIHVubGlrZWx5IHRvIGhhbmRsZSB0aGUgaG9zdCdzIGJpbmFyaWVzLgorIyBGb3J0dW5hdGVseSBpbnN0YWxsLXNoIHdpbGwgaG9ub3IgYSBTVFJJUFBST0cgdmFyaWFibGUsIHNvIHdlCisjIGFsd2F5cyB1c2UgaW5zdGFsbC1zaCBpbiBgbWFrZSBpbnN0YWxsLXN0cmlwJywgYW5kIGluaXRpYWxpemUKKyMgU1RSSVBQUk9HIHdpdGggdGhlIHZhbHVlIG9mIHRoZSBTVFJJUCB2YXJpYWJsZSAoc2V0IGJ5IHRoZSB1c2VyKS4KK0FDX0RFRlVOKFtBTV9QUk9HX0lOU1RBTExfU1RSSVBdLAorW0FDX1JFUVVJUkUoW0FNX1BST0dfSU5TVEFMTF9TSF0pZG5sCisjIEluc3RhbGxlZCBiaW5hcmllcyBhcmUgdXN1YWxseSBzdHJpcHBlZCB1c2luZyBgc3RyaXAnIHdoZW4gdGhlIHVzZXIKKyMgcnVuIGBtYWtlIGluc3RhbGwtc3RyaXAnLiAgSG93ZXZlciBgc3RyaXAnIG1pZ2h0IG5vdCBiZSB0aGUgcmlnaHQKKyMgdG9vbCB0byB1c2UgaW4gY3Jvc3MtY29tcGlsYXRpb24gZW52aXJvbm1lbnRzLCB0aGVyZWZvcmUgQXV0b21ha2UKKyMgd2lsbCBob25vciB0aGUgYFNUUklQJyBlbnZpcm9ubWVudCB2YXJpYWJsZSB0byBvdmVycnVsZSB0aGlzIHByb2dyYW0uCitkbmwgRG9uJ3QgdGVzdCBmb3IgJGNyb3NzX2NvbXBpbGluZyA9IHllcywgYmVjYXVzZSBpdCBtaWdodCBiZSBgbWF5YmUnLgoraWYgdGVzdCAiJGNyb3NzX2NvbXBpbGluZyIgIT0gbm87IHRoZW4KKyAgQUNfQ0hFQ0tfVE9PTChbU1RSSVBdLCBbc3RyaXBdLCA6KQorZmkKK0lOU1RBTExfU1RSSVBfUFJPR1JBTT0iXCQoaW5zdGFsbF9zaCkgLWMgLXMiCitBQ19TVUJTVChbSU5TVEFMTF9TVFJJUF9QUk9HUkFNXSldKQorCisjIENvcHlyaWdodCAoQykgMjAwNiwgMjAwOCAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uCisjIGdpdmVzIHVubGltaXRlZCBwZXJtaXNzaW9uIHRvIGNvcHkgYW5kL29yIGRpc3RyaWJ1dGUgaXQsCisjIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb25zLCBhcyBsb25nIGFzIHRoaXMgbm90aWNlIGlzIHByZXNlcnZlZC4KKworIyBzZXJpYWwgMgorCisjIF9BTV9TVUJTVF9OT1RNQUtFKFZBUklBQkxFKQorIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgUHJldmVudCBBdXRvbWFrZSBmcm9tIG91dHB1dHRpbmcgVkFSSUFCTEUgPSBAVkFSSUFCTEVAIGluIE1ha2VmaWxlLmluLgorIyBUaGlzIG1hY3JvIGlzIHRyYWNlZCBieSBBdXRvbWFrZS4KK0FDX0RFRlVOKFtfQU1fU1VCU1RfTk9UTUFLRV0pCisKKyMgQU1fU1VCU1RfTk9UTUFLRShWQVJJQUJMRSkKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFB1YmxpYyBzaXN0ZXIgb2YgX0FNX1NVQlNUX05PVE1BS0UuCitBQ19ERUZVTihbQU1fU1VCU1RfTk9UTUFLRV0sIFtfQU1fU1VCU1RfTk9UTUFLRSgkQCldKQorCisjIENoZWNrIGhvdyB0byBjcmVhdGUgYSB0YXJiYWxsLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtKi0gQXV0b2NvbmYgLSotCisKKyMgQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1ICBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24KKyMgZ2l2ZXMgdW5saW1pdGVkIHBlcm1pc3Npb24gdG8gY29weSBhbmQvb3IgZGlzdHJpYnV0ZSBpdCwKKyMgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbnMsIGFzIGxvbmcgYXMgdGhpcyBub3RpY2UgaXMgcHJlc2VydmVkLgorCisjIHNlcmlhbCAyCisKKyMgX0FNX1BST0dfVEFSKEZPUk1BVCkKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQ2hlY2sgaG93IHRvIGNyZWF0ZSBhIHRhcmJhbGwgaW4gZm9ybWF0IEZPUk1BVC4KKyMgRk9STUFUIHNob3VsZCBiZSBvbmUgb2YgYHY3JywgYHVzdGFyJywgb3IgYHBheCcuCisjCisjIFN1YnN0aXR1dGUgYSB2YXJpYWJsZSAkKGFtX190YXIpIHRoYXQgaXMgYSBjb21tYW5kCisjIHdyaXRpbmcgdG8gc3Rkb3V0IGEgRk9STUFULXRhcmJhbGwgY29udGFpbmluZyB0aGUgZGlyZWN0b3J5CisjICR0YXJkaXIuCisjICAgICB0YXJkaXI9ZGlyZWN0b3J5ICYmICQoYW1fX3RhcikgPiByZXN1bHQudGFyCisjCisjIFN1YnN0aXR1dGUgYSB2YXJpYWJsZSAkKGFtX191bnRhcikgdGhhdCBleHRyYWN0IHN1Y2gKKyMgYSB0YXJiYWxsIHJlYWQgZnJvbSBzdGRpbi4KKyMgICAgICQoYW1fX3VudGFyKSA8IHJlc3VsdC50YXIKK0FDX0RFRlVOKFtfQU1fUFJPR19UQVJdLAorWyMgQWx3YXlzIGRlZmluZSBBTVRBUiBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eS4KK0FNX01JU1NJTkdfUFJPRyhbQU1UQVJdLCBbdGFyXSkKK200X2lmKFskMV0sIFt2N10sCisgICAgIFthbV9fdGFyPScke0FNVEFSfSBjaG9mIC0gIiQkdGFyZGlyIic7IGFtX191bnRhcj0nJHtBTVRBUn0geGYgLSddLAorICAgICBbbTRfY2FzZShbJDFdLCBbdXN0YXJdLCwgW3BheF0sLAorICAgICAgICAgICAgICBbbTRfZmF0YWwoW1Vua25vd24gdGFyIGZvcm1hdF0pXSkKK0FDX01TR19DSEVDS0lORyhbaG93IHRvIGNyZWF0ZSBhICQxIHRhciBhcmNoaXZlXSkKKyMgTG9vcCBvdmVyIGFsbCBrbm93biBtZXRob2RzIHRvIGNyZWF0ZSBhIHRhciBhcmNoaXZlIHVudGlsIG9uZSB3b3Jrcy4KK19hbV90b29scz0nZ251dGFyIG00X2lmKFskMV0sIFt1c3Rhcl0sIFtwbGFpbnRhcl0pIHBheCBjcGlvIG5vbmUnCitfYW1fdG9vbHM9JHthbV9jdl9wcm9nX3Rhcl8kMS0kX2FtX3Rvb2xzfQorIyBEbyBub3QgZm9sZCB0aGUgYWJvdmUgdHdvIGxpbmUgaW50byBvbmUsIGJlY2F1c2UgVHJ1NjQgc2ggYW5kCisjIFNvbGFyaXMgc2ggd2lsbCBub3QgZ3JvayBzcGFjZXMgaW4gdGhlIHJocyBvZiBgLScuCitmb3IgX2FtX3Rvb2wgaW4gJF9hbV90b29scworZG8KKyAgY2FzZSAkX2FtX3Rvb2wgaW4KKyAgZ251dGFyKQorICAgIGZvciBfYW1fdGFyIGluIHRhciBnbnV0YXIgZ3RhcjsKKyAgICBkbworICAgICAgQU1fUlVOX0xPRyhbJF9hbV90YXIgLS12ZXJzaW9uXSkgJiYgYnJlYWsKKyAgICBkb25lCisgICAgYW1fX3Rhcj0iJF9hbV90YXIgLS1mb3JtYXQ9bTRfaWYoWyQxXSwgW3BheF0sIFtwb3NpeF0sIFskMV0pIC1jaGYgLSAiJyIkJHRhcmRpciInCisgICAgYW1fX3Rhcl89IiRfYW1fdGFyIC0tZm9ybWF0PW00X2lmKFskMV0sIFtwYXhdLCBbcG9zaXhdLCBbJDFdKSAtY2hmIC0gIiciJHRhcmRpciInCisgICAgYW1fX3VudGFyPSIkX2FtX3RhciAteGYgLSIKKyAgICA7OworICBwbGFpbnRhcikKKyAgICAjIE11c3Qgc2tpcCBHTlUgdGFyOiBpZiBpdCBkb2VzIG5vdCBzdXBwb3J0IC0tZm9ybWF0PSBpdCBkb2Vzbid0IGNyZWF0ZQorICAgICMgdXN0YXIgdGFyYmFsbCBlaXRoZXIuCisgICAgKHRhciAtLXZlcnNpb24pID4vZGV2L251bGwgMj4mMSAmJiBjb250aW51ZQorICAgIGFtX190YXI9J3RhciBjaGYgLSAiJCR0YXJkaXIiJworICAgIGFtX190YXJfPSd0YXIgY2hmIC0gIiR0YXJkaXIiJworICAgIGFtX191bnRhcj0ndGFyIHhmIC0nCisgICAgOzsKKyAgcGF4KQorICAgIGFtX190YXI9J3BheCAtTCAteCAkMSAtdyAiJCR0YXJkaXIiJworICAgIGFtX190YXJfPSdwYXggLUwgLXggJDEgLXcgIiR0YXJkaXIiJworICAgIGFtX191bnRhcj0ncGF4IC1yJworICAgIDs7CisgIGNwaW8pCisgICAgYW1fX3Rhcj0nZmluZCAiJCR0YXJkaXIiIC1wcmludCB8IGNwaW8gLW8gLUggJDEgLUwnCisgICAgYW1fX3Rhcl89J2ZpbmQgIiR0YXJkaXIiIC1wcmludCB8IGNwaW8gLW8gLUggJDEgLUwnCisgICAgYW1fX3VudGFyPSdjcGlvIC1pIC1IICQxIC1kJworICAgIDs7CisgIG5vbmUpCisgICAgYW1fX3Rhcj1mYWxzZQorICAgIGFtX190YXJfPWZhbHNlCisgICAgYW1fX3VudGFyPWZhbHNlCisgICAgOzsKKyAgZXNhYworCisgICMgSWYgdGhlIHZhbHVlIHdhcyBjYWNoZWQsIHN0b3Agbm93LiAgV2UganVzdCB3YW50ZWQgdG8gaGF2ZSBhbV9fdGFyCisgICMgYW5kIGFtX191bnRhciBzZXQuCisgIHRlc3QgLW4gIiR7YW1fY3ZfcHJvZ190YXJfJDF9IiAmJiBicmVhaworCisgICMgdGFyL3VudGFyIGEgZHVtbXkgZGlyZWN0b3J5LCBhbmQgc3RvcCBpZiB0aGUgY29tbWFuZCB3b3JrcworICBybSAtcmYgY29uZnRlc3QuZGlyCisgIG1rZGlyIGNvbmZ0ZXN0LmRpcgorICBlY2hvIEdyZXBNZSA+IGNvbmZ0ZXN0LmRpci9maWxlCisgIEFNX1JVTl9MT0coW3RhcmRpcj1jb25mdGVzdC5kaXIgJiYgZXZhbCAkYW1fX3Rhcl8gPmNvbmZ0ZXN0LnRhcl0pCisgIHJtIC1yZiBjb25mdGVzdC5kaXIKKyAgaWYgdGVzdCAtcyBjb25mdGVzdC50YXI7IHRoZW4KKyAgICBBTV9SVU5fTE9HKFskYW1fX3VudGFyIDxjb25mdGVzdC50YXJdKQorICAgIGdyZXAgR3JlcE1lIGNvbmZ0ZXN0LmRpci9maWxlID4vZGV2L251bGwgMj4mMSAmJiBicmVhaworICBmaQorZG9uZQorcm0gLXJmIGNvbmZ0ZXN0LmRpcgorCitBQ19DQUNIRV9WQUwoW2FtX2N2X3Byb2dfdGFyXyQxXSwgW2FtX2N2X3Byb2dfdGFyXyQxPSRfYW1fdG9vbF0pCitBQ19NU0dfUkVTVUxUKFskYW1fY3ZfcHJvZ190YXJfJDFdKV0pCitBQ19TVUJTVChbYW1fX3Rhcl0pCitBQ19TVUJTVChbYW1fX3VudGFyXSkKK10pICMgX0FNX1BST0dfVEFSCisKK200X2luY2x1ZGUoW2FjaW5jbHVkZS5tNF0pCmRpZmYgLS1naXQgYS9zdHJhY2UtNC41LjIwL2JqbS5jIGIvc3RyYWNlLTQuNS4yMC9iam0uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42Yzk0OGQ1Ci0tLSAvZGV2L251bGwKKysrIGIvc3RyYWNlLTQuNS4yMC9iam0uYwpAQCAtMCwwICsxLDIxMyBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMTk5MSwgMTk5MiBQYXVsIEtyYW5lbmJ1cmcgPHBrQGNzLmZldy5ldXIubmw+CisgKiBDb3B5cmlnaHQgKGMpIDE5OTMgQnJhbmtvIExhbmtlc3RlciA8YnJhbmtvQGhhY2t0aWMubmw+CisgKiBDb3B5cmlnaHQgKGMpIDE5OTMsIDE5OTQsIDE5OTUsIDE5OTYgUmljayBTbGFka2V5IDxqcnNAd29ybGQuc3RkLmNvbT4KKyAqIENvcHlyaWdodCAoYykgMTk5Ni0xOTk5IFdpY2hlcnQgQWtrZXJtYW4gPHdpY2hlcnRAY2lzdHJvbi5ubD4KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBUaGUgbmFtZSBvZiB0aGUgYXV0aG9yIG1heSBub3QgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMKKyAqICAgIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIEFVVEhPUiBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCisgKiBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELgorICogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAorICogSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUCisgKiBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqCisgKgkkSWQkCisgKi8KKyNpbmNsdWRlICJkZWZzLmgiCisKKyNpZiBkZWZpbmVkKExJTlVYKQorCisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPHN5cy90aW1lLmg+CisjaW5jbHVkZSA8c3lzL3dhaXQuaD4KKyNpbmNsdWRlIDxzeXMvcmVzb3VyY2UuaD4KKyNpbmNsdWRlIDxzeXMvdXRzbmFtZS5oPgorI2luY2x1ZGUgPHN5cy91c2VyLmg+CisjaW5jbHVkZSA8c3lzL3N5c2NhbGwuaD4KKyNpbmNsdWRlIDxzaWduYWwuaD4KKworLyogQml0cyBvZiBtb2R1bGUuZmxhZ3MuICAqLworCisjZGVmaW5lIE1PRF9VTklOSVRJQUxJWkVECTAKKyNkZWZpbmUgTU9EX1JVTk5JTkcJCTEKKyNkZWZpbmUgTU9EX0RFTEVURUQJCTIKKyNkZWZpbmUgTU9EX0FVVE9DTEVBTgkJNAorI2RlZmluZSBNT0RfVklTSVRFRCAgCQk4CisjZGVmaW5lIE1PRF9VU0VEX09OQ0UJCTE2CisjZGVmaW5lIE1PRF9KVVNUX0ZSRUVECQkzMgorI2RlZmluZSBNT0RfSU5JVElBTElaSU5HCTY0CisKKy8qIFZhbHVlcyBmb3IgcXVlcnlfbW9kdWxlJ3Mgd2hpY2guICAqLworCisjZGVmaW5lIFFNX01PRFVMRVMJMQorI2RlZmluZSBRTV9ERVBTCQkyCisjZGVmaW5lIFFNX1JFRlMJCTMKKyNkZWZpbmUgUU1fU1lNQk9MUwk0CisjZGVmaW5lIFFNX0lORk8JCTUKKworc3RydWN0IG1vZHVsZV9zeW1ib2wKK3sKKwl1bnNpZ25lZCBsb25nIHZhbHVlOworCWNvbnN0IGNoYXIgKm5hbWU7Cit9OworCitzdHJ1Y3QgbW9kdWxlX2luZm8KK3sKKwl1bnNpZ25lZCBsb25nIGFkZHI7CisJdW5zaWduZWQgbG9uZyBzaXplOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJbG9uZyB1c2Vjb3VudDsKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCB3aGljaFtdID0geworCXsgMCwJCSIwIgkJfSwKKwl7IFFNX01PRFVMRVMsCSJRTV9NT0RVTEVTIgl9LAorCXsgUU1fREVQUywJIlFNX0RFUFMiCX0sCisJeyBRTV9SRUZTLAkiUU1fUkVGUyIJfSwKKwl7IFFNX1NZTUJPTFMsCSJRTV9TWU1CT0xTIgl9LAorCXsgUU1fSU5GTywJIlFNX0lORk8iCX0sCisJeyAwLAkJTlVMTAkJfSwKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCBtb2RmbGFnc1tdID0geworCXsgTU9EX1VOSU5JVElBTElaRUQsCSJNT0RfVU5JTklUSUFMSVpFRCIJfSwKKwl7IE1PRF9SVU5OSU5HLAkJIk1PRF9SVU5OSU5HIgkJfSwKKwl7IE1PRF9ERUxFVEVELAkJIk1PRF9ERUxFVEVEIgkJfSwKKwl7IE1PRF9BVVRPQ0xFQU4sCSJNT0RfQVVUT0NMRUFOIgkJfSwKKwl7IE1PRF9WSVNJVEVELAkJIk1PRF9WSVNJVEVEIgkJfSwKKwl7IE1PRF9VU0VEX09OQ0UsCSJNT0RfVVNFRF9PTkNFIgkJfSwKKwl7IE1PRF9KVVNUX0ZSRUVELAkiTU9EX0pVU1RfRlJFRUQiCX0sCisJeyAwLAkJCU5VTEwJCQl9LAorfTsKKworaW50CitzeXNfcXVlcnlfbW9kdWxlKHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQlwcmludHN0cih0Y3AsIHRjcC0+dV9hcmdbMF0sIC0xKTsKKwkJdHByaW50ZigiLCAiKTsKKwkJcHJpbnR4dmFsKHdoaWNoLCB0Y3AtPnVfYXJnWzFdLCAiUU1fPz8/Iik7CisJCXRwcmludGYoIiwgIik7CisJfSBlbHNlIHsKKwkJc2l6ZV90IHJldDsKKworCQlpZiAoIXZlcmJvc2UodGNwKSB8fCBzeXNlcnJvcih0Y3ApIHx8CisJCSAgICB1bW92ZSh0Y3AsIHRjcC0+dV9hcmdbNF0sICZyZXQpIDwgMCkgeworCQkJdHByaW50ZigiJSNseCwgJWx1LCAlI2x4IiwgdGNwLT51X2FyZ1syXSwKKwkJCQl0Y3AtPnVfYXJnWzNdLCB0Y3AtPnVfYXJnWzRdKTsKKwkJfSBlbHNlIGlmICh0Y3AtPnVfYXJnWzFdPT1RTV9JTkZPKSB7CisJCQlzdHJ1Y3QgbW9kdWxlX2luZm8JbWk7CisJCQlpZiAodW1vdmUodGNwLCB0Y3AtPnVfYXJnWzJdLCAmbWkpIDwgMCkgeworCQkJCXRwcmludGYoIiUjbHgsICIsIHRjcC0+dV9hcmdbMl0pOworCQkJfSBlbHNlIHsKKwkJCQl0cHJpbnRmKCJ7YWRkcmVzcz0lI2x4LCBzaXplPSVsdSwgZmxhZ3M9IiwKKwkJCQkJbWkuYWRkciwgbWkuc2l6ZSk7CisJCQkJcHJpbnRmbGFncyhtb2RmbGFncywgbWkuZmxhZ3MsICJNT0RfPz8/Iik7CisJCQkJdHByaW50ZigiLCB1c2Vjb3VudD0lbHV9LCAiLCBtaS51c2Vjb3VudCk7CisJCQl9CisJCQl0cHJpbnRmKCIlWnUiLCByZXQpOworCQl9IGVsc2UgaWYgKCh0Y3AtPnVfYXJnWzFdPT1RTV9NT0RVTEVTKSB8fAorCQkJICAgKHRjcC0+dV9hcmdbMV09PVFNX0RFUFMpIHx8CisJCQkgICAodGNwLT51X2FyZ1sxXT09UU1fUkVGUykpIHsKKwkJCXRwcmludGYoInsiKTsKKwkJCWlmICghYWJicmV2KHRjcCkpIHsKKwkJCQljaGFyKglkYXRhCT0gbWFsbG9jKHRjcC0+dV9hcmdbM10pOworCQkJCWNoYXIqCW1vZAk9IGRhdGE7CisJCQkJc2l6ZV90CWlkeDsKKworCQkJCWlmICghZGF0YSkgeworCQkJCQlmcHJpbnRmKHN0ZGVyciwgIm91dCBvZiBtZW1vcnlcbiIpOworCQkJCQl0cHJpbnRmKCIgLyogJVp1IGVudHJpZXMgKi8gIiwgcmV0KTsKKwkJCQl9IGVsc2UgeworCQkJCQlpZiAodW1vdmVuKHRjcCwgdGNwLT51X2FyZ1syXSwKKwkJCQkJCXRjcC0+dV9hcmdbM10sIGRhdGEpIDwgMCkgeworCQkJCQkJdHByaW50ZigiIC8qICVadSBlbnRyaWVzICovICIsIHJldCk7CisJCQkJCX0gZWxzZSB7CisJCQkJCQlmb3IgKGlkeD0wOyBpZHg8cmV0OyBpZHgrKykgeworCQkJCQkJCXRwcmludGYoIiVzJXMiLAorCQkJCQkJCQkoaWR4ID8gIiwgIiA6ICIiKSwKKwkJCQkJCQkJbW9kKTsKKwkJCQkJCQltb2QgKz0gc3RybGVuKG1vZCkrMTsKKwkJCQkJCX0KKwkJCQkJfQorCQkJCQlmcmVlKGRhdGEpOworCQkJCX0KKwkJCX0gZWxzZQorCQkJCXRwcmludGYoIiAvKiAlWnUgZW50cmllcyAqLyAiLCByZXQpOworCQkJdHByaW50ZigifSwgJVp1IiwgcmV0KTsKKwkJfSBlbHNlIGlmICh0Y3AtPnVfYXJnWzFdPT1RTV9TWU1CT0xTKSB7CisJCQl0cHJpbnRmKCJ7Iik7CisJCQlpZiAoIWFiYnJldih0Y3ApKSB7CisJCQkJY2hhcioJCQlkYXRhCT0gbWFsbG9jKHRjcC0+dV9hcmdbM10pOworCQkJCXN0cnVjdCBtb2R1bGVfc3ltYm9sKglzeW0JPSAoc3RydWN0IG1vZHVsZV9zeW1ib2wqKWRhdGE7CisJCQkJc2l6ZV90CQkJaWR4OworCisJCQkJaWYgKCFkYXRhKSB7CisJCQkJCWZwcmludGYoc3RkZXJyLCAib3V0IG9mIG1lbW9yeVxuIik7CisJCQkJCXRwcmludGYoIiAvKiAlWnUgZW50cmllcyAqLyAiLCByZXQpOworCQkJCX0gZWxzZSB7CisJCQkJCWlmICh1bW92ZW4odGNwLCB0Y3AtPnVfYXJnWzJdLAorCQkJCQkJdGNwLT51X2FyZ1szXSwgZGF0YSkgPCAwKSB7CisJCQkJCQl0cHJpbnRmKCIgLyogJVp1IGVudHJpZXMgKi8gIiwgcmV0KTsKKwkJCQkJfSBlbHNlIHsKKwkJCQkJCWZvciAoaWR4PTA7IGlkeDxyZXQ7IGlkeCsrKSB7CisJCQkJCQkJdHByaW50ZigiJXN7bmFtZT0lcywgdmFsdWU9JWx1fSIsCisJCQkJCQkJCShpZHggPyAiICIgOiAiIiksCisJCQkJCQkJCWRhdGErKGxvbmcpc3ltLT5uYW1lLAorCQkJCQkJCQlzeW0tPnZhbHVlKTsKKwkJCQkJCQlzeW0rKzsKKwkJCQkJCX0KKwkJCQkJfQorCQkJCQlmcmVlKGRhdGEpOworCQkJCX0KKwkJCX0gZWxzZQorCQkJCXRwcmludGYoIiAvKiAlWnUgZW50cmllcyAqLyAiLCByZXQpOworCQkJdHByaW50ZigifSwgJVpkIiwgcmV0KTsKKwkJfSBlbHNlIHsKKwkJCXByaW50c3RyKHRjcCwgdGNwLT51X2FyZ1syXSwgdGNwLT51X2FyZ1szXSk7CisJCQl0cHJpbnRmKCIsICUjbHgiLCB0Y3AtPnVfYXJnWzRdKTsKKwkJfQorCX0KKwlyZXR1cm4gMDsKK30KKworaW50CitzeXNfY3JlYXRlX21vZHVsZSh0Y3ApCitzdHJ1Y3QgdGNiICp0Y3A7Cit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJcHJpbnRwYXRoKHRjcCwgdGNwLT51X2FyZ1swXSk7CisJCXRwcmludGYoIiwgJWx1IiwgdGNwLT51X2FyZ1sxXSk7CisJfQorCXJldHVybiBSVkFMX0hFWDsKK30KKworaW50CitzeXNfaW5pdF9tb2R1bGUodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXRwcmludGYoIiUjbHgsICIsIHRjcC0+dV9hcmdbMF0pOworCQl0cHJpbnRmKCIlbHUsICIsIHRjcC0+dV9hcmdbMV0pOworCQlwcmludHN0cih0Y3AsIHRjcC0+dV9hcmdbMl0sIC0xKTsKKwl9CisJcmV0dXJuIDA7Cit9CisjZW5kaWYgLyogTElOVVggKi8KZGlmZiAtLWdpdCBhL3N0cmFjZS00LjUuMjAvY29uZmlnLmd1ZXNzIGIvc3RyYWNlLTQuNS4yMC9jb25maWcuZ3Vlc3MKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzIyNDZhNAotLS0gL2Rldi9udWxsCisrKyBiL3N0cmFjZS00LjUuMjAvY29uZmlnLmd1ZXNzCkBAIC0wLDAgKzEsMTUwMiBAQAorIyEgL2Jpbi9zaAorIyBBdHRlbXB0IHRvIGd1ZXNzIGEgY2Fub25pY2FsIHN5c3RlbSBuYW1lLgorIyAgIENvcHlyaWdodCAoQykgMTk5MiwgMTk5MywgMTk5NCwgMTk5NSwgMTk5NiwgMTk5NywgMTk5OCwgMTk5OSwKKyMgICAyMDAwLCAyMDAxLCAyMDAyLCAyMDAzLCAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5LCAyMDEwCisjICAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisKK3RpbWVzdGFtcD0nMjAwOS0xMi0zMCcKKworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAorIyB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0CisjIFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyMgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorIyBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQgLSBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQQorIyAwMjExMC0xMzAxLCBVU0EuCisjCisjIEFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLCBpZiB5b3UKKyMgZGlzdHJpYnV0ZSB0aGlzIGZpbGUgYXMgcGFydCBvZiBhIHByb2dyYW0gdGhhdCBjb250YWlucyBhCisjIGNvbmZpZ3VyYXRpb24gc2NyaXB0IGdlbmVyYXRlZCBieSBBdXRvY29uZiwgeW91IG1heSBpbmNsdWRlIGl0IHVuZGVyCisjIHRoZSBzYW1lIGRpc3RyaWJ1dGlvbiB0ZXJtcyB0aGF0IHlvdSB1c2UgZm9yIHRoZSByZXN0IG9mIHRoYXQgcHJvZ3JhbS4KKworCisjIE9yaWdpbmFsbHkgd3JpdHRlbiBieSBQZXIgQm90aG5lci4gIFBsZWFzZSBzZW5kIHBhdGNoZXMgKGNvbnRleHQKKyMgZGlmZiBmb3JtYXQpIHRvIDxjb25maWctcGF0Y2hlc0BnbnUub3JnPiBhbmQgaW5jbHVkZSBhIENoYW5nZUxvZworIyBlbnRyeS4KKyMKKyMgVGhpcyBzY3JpcHQgYXR0ZW1wdHMgdG8gZ3Vlc3MgYSBjYW5vbmljYWwgc3lzdGVtIG5hbWUgc2ltaWxhciB0bworIyBjb25maWcuc3ViLiAgSWYgaXQgc3VjY2VlZHMsIGl0IHByaW50cyB0aGUgc3lzdGVtIG5hbWUgb24gc3Rkb3V0LCBhbmQKKyMgZXhpdHMgd2l0aCAwLiAgT3RoZXJ3aXNlLCBpdCBleGl0cyB3aXRoIDEuCisjCisjIFlvdSBjYW4gZ2V0IHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIHNjcmlwdCBmcm9tOgorIyBodHRwOi8vZ2l0LnNhdmFubmFoLmdudS5vcmcvZ2l0d2ViLz9wPWNvbmZpZy5naXQ7YT1ibG9iX3BsYWluO2Y9Y29uZmlnLmd1ZXNzO2hiPUhFQUQKKworbWU9YGVjaG8gIiQwIiB8IHNlZCAtZSAncywuKi8sLCdgCisKK3VzYWdlPSJcCitVc2FnZTogJDAgW09QVElPTl0KKworT3V0cHV0IHRoZSBjb25maWd1cmF0aW9uIG5hbWUgb2YgdGhlIHN5c3RlbSBcYCRtZScgaXMgcnVuIG9uLgorCitPcGVyYXRpb24gbW9kZXM6CisgIC1oLCAtLWhlbHAgICAgICAgICBwcmludCB0aGlzIGhlbHAsIHRoZW4gZXhpdAorICAtdCwgLS10aW1lLXN0YW1wICAgcHJpbnQgZGF0ZSBvZiBsYXN0IG1vZGlmaWNhdGlvbiwgdGhlbiBleGl0CisgIC12LCAtLXZlcnNpb24gICAgICBwcmludCB2ZXJzaW9uIG51bWJlciwgdGhlbiBleGl0CisKK1JlcG9ydCBidWdzIGFuZCBwYXRjaGVzIHRvIDxjb25maWctcGF0Y2hlc0BnbnUub3JnPi4iCisKK3ZlcnNpb249IlwKK0dOVSBjb25maWcuZ3Vlc3MgKCR0aW1lc3RhbXApCisKK09yaWdpbmFsbHkgd3JpdHRlbiBieSBQZXIgQm90aG5lci4KK0NvcHlyaWdodCAoQykgMTk5MiwgMTk5MywgMTk5NCwgMTk5NSwgMTk5NiwgMTk5NywgMTk5OCwgMTk5OSwgMjAwMCwKKzIwMDEsIDIwMDIsIDIwMDMsIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDksIDIwMTAgRnJlZQorU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorCitUaGlzIGlzIGZyZWUgc29mdHdhcmU7IHNlZSB0aGUgc291cmNlIGZvciBjb3B5aW5nIGNvbmRpdGlvbnMuICBUaGVyZSBpcyBOTword2FycmFudHk7IG5vdCBldmVuIGZvciBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIgorCitoZWxwPSIKK1RyeSBcYCRtZSAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLiIKKworIyBQYXJzZSBjb21tYW5kIGxpbmUKK3doaWxlIHRlc3QgJCMgLWd0IDAgOyBkbworICBjYXNlICQxIGluCisgICAgLS10aW1lLXN0YW1wIHwgLS10aW1lKiB8IC10ICkKKyAgICAgICBlY2hvICIkdGltZXN0YW1wIiA7IGV4aXQgOzsKKyAgICAtLXZlcnNpb24gfCAtdiApCisgICAgICAgZWNobyAiJHZlcnNpb24iIDsgZXhpdCA7OworICAgIC0taGVscCB8IC0taCogfCAtaCApCisgICAgICAgZWNobyAiJHVzYWdlIjsgZXhpdCA7OworICAgIC0tICkgICAgICMgU3RvcCBvcHRpb24gcHJvY2Vzc2luZworICAgICAgIHNoaWZ0OyBicmVhayA7OworICAgIC0gKQkjIFVzZSBzdGRpbiBhcyBpbnB1dC4KKyAgICAgICBicmVhayA7OworICAgIC0qICkKKyAgICAgICBlY2hvICIkbWU6IGludmFsaWQgb3B0aW9uICQxJGhlbHAiID4mMgorICAgICAgIGV4aXQgMSA7OworICAgICogKQorICAgICAgIGJyZWFrIDs7CisgIGVzYWMKK2RvbmUKKworaWYgdGVzdCAkIyAhPSAwOyB0aGVuCisgIGVjaG8gIiRtZTogdG9vIG1hbnkgYXJndW1lbnRzJGhlbHAiID4mMgorICBleGl0IDEKK2ZpCisKK3RyYXAgJ2V4aXQgMScgMSAyIDE1CisKKyMgQ0NfRk9SX0JVSUxEIC0tIGNvbXBpbGVyIHVzZWQgYnkgdGhpcyBzY3JpcHQuIE5vdGUgdGhhdCB0aGUgdXNlIG9mIGEKKyMgY29tcGlsZXIgdG8gYWlkIGluIHN5c3RlbSBkZXRlY3Rpb24gaXMgZGlzY291cmFnZWQgYXMgaXQgcmVxdWlyZXMKKyMgdGVtcG9yYXJ5IGZpbGVzIHRvIGJlIGNyZWF0ZWQgYW5kLCBhcyB5b3UgY2FuIHNlZSBiZWxvdywgaXQgaXMgYQorIyBoZWFkYWNoZSB0byBkZWFsIHdpdGggaW4gYSBwb3J0YWJsZSBmYXNoaW9uLgorCisjIEhpc3RvcmljYWxseSwgYENDX0ZPUl9CVUlMRCcgdXNlZCB0byBiZSBuYW1lZCBgSE9TVF9DQycuIFdlIHN0aWxsCisjIHVzZSBgSE9TVF9DQycgaWYgZGVmaW5lZCwgYnV0IGl0IGlzIGRlcHJlY2F0ZWQuCisKKyMgUG9ydGFibGUgdG1wIGRpcmVjdG9yeSBjcmVhdGlvbiBpbnNwaXJlZCBieSB0aGUgQXV0b2NvbmYgdGVhbS4KKworc2V0X2NjX2Zvcl9idWlsZD0nCit0cmFwICJleGl0Y29kZT1cJD87IChybSAtZiBcJHRtcGZpbGVzIDI+L2Rldi9udWxsOyBybWRpciBcJHRtcCAyPi9kZXYvbnVsbCkgJiYgZXhpdCBcJGV4aXRjb2RlIiAwIDsKK3RyYXAgInJtIC1mIFwkdG1wZmlsZXMgMj4vZGV2L251bGw7IHJtZGlyIFwkdG1wIDI+L2Rldi9udWxsOyBleGl0IDEiIDEgMiAxMyAxNSA7Cis6ICR7VE1QRElSPS90bXB9IDsKKyB7IHRtcD1gKHVtYXNrIDA3NyAmJiBta3RlbXAgLWQgIiRUTVBESVIvY2dYWFhYWFgiKSAyPi9kZXYvbnVsbGAgJiYgdGVzdCAtbiAiJHRtcCIgJiYgdGVzdCAtZCAiJHRtcCIgOyB9IHx8CisgeyB0ZXN0IC1uICIkUkFORE9NIiAmJiB0bXA9JFRNUERJUi9jZyQkLSRSQU5ET00gJiYgKHVtYXNrIDA3NyAmJiBta2RpciAkdG1wKSA7IH0gfHwKKyB7IHRtcD0kVE1QRElSL2NnLSQkICYmICh1bWFzayAwNzcgJiYgbWtkaXIgJHRtcCkgJiYgZWNobyAiV2FybmluZzogY3JlYXRpbmcgaW5zZWN1cmUgdGVtcCBkaXJlY3RvcnkiID4mMiA7IH0gfHwKKyB7IGVjaG8gIiRtZTogY2Fubm90IGNyZWF0ZSBhIHRlbXBvcmFyeSBkaXJlY3RvcnkgaW4gJFRNUERJUiIgPiYyIDsgZXhpdCAxIDsgfSA7CitkdW1teT0kdG1wL2R1bW15IDsKK3RtcGZpbGVzPSIkZHVtbXkuYyAkZHVtbXkubyAkZHVtbXkucmVsICRkdW1teSIgOworY2FzZSAkQ0NfRk9SX0JVSUxELCRIT1NUX0NDLCRDQyBpbgorICwsKSAgICBlY2hvICJpbnQgeDsiID4gJGR1bW15LmMgOworCWZvciBjIGluIGNjIGdjYyBjODkgYzk5IDsgZG8KKwkgIGlmICgkYyAtYyAtbyAkZHVtbXkubyAkZHVtbXkuYykgPi9kZXYvbnVsbCAyPiYxIDsgdGhlbgorCSAgICAgQ0NfRk9SX0JVSUxEPSIkYyI7IGJyZWFrIDsKKwkgIGZpIDsKKwlkb25lIDsKKwlpZiB0ZXN0IHgiJENDX0ZPUl9CVUlMRCIgPSB4IDsgdGhlbgorCSAgQ0NfRk9SX0JVSUxEPW5vX2NvbXBpbGVyX2ZvdW5kIDsKKwlmaQorCTs7CisgLCwqKSAgIENDX0ZPUl9CVUlMRD0kQ0MgOzsKKyAsKiwqKSAgQ0NfRk9SX0JVSUxEPSRIT1NUX0NDIDs7Citlc2FjIDsgc2V0X2NjX2Zvcl9idWlsZD0gOycKKworIyBUaGlzIGlzIG5lZWRlZCB0byBmaW5kIHVuYW1lIG9uIGEgUHlyYW1pZCBPU3ggd2hlbiBydW4gaW4gdGhlIEJTRCB1bml2ZXJzZS4KKyMgKGdoYXppQG5vYy5ydXRnZXJzLmVkdSAxOTk0LTA4LTI0KQoraWYgKHRlc3QgLWYgLy5hdHRiaW4vdW5hbWUpID4vZGV2L251bGwgMj4mMSA7IHRoZW4KKwlQQVRIPSRQQVRIOi8uYXR0YmluIDsgZXhwb3J0IFBBVEgKK2ZpCisKK1VOQU1FX01BQ0hJTkU9YCh1bmFtZSAtbSkgMj4vZGV2L251bGxgIHx8IFVOQU1FX01BQ0hJTkU9dW5rbm93bgorVU5BTUVfUkVMRUFTRT1gKHVuYW1lIC1yKSAyPi9kZXYvbnVsbGAgfHwgVU5BTUVfUkVMRUFTRT11bmtub3duCitVTkFNRV9TWVNURU09YCh1bmFtZSAtcykgMj4vZGV2L251bGxgICB8fCBVTkFNRV9TWVNURU09dW5rbm93bgorVU5BTUVfVkVSU0lPTj1gKHVuYW1lIC12KSAyPi9kZXYvbnVsbGAgfHwgVU5BTUVfVkVSU0lPTj11bmtub3duCisKKyMgTm90ZTogb3JkZXIgaXMgc2lnbmlmaWNhbnQgLSB0aGUgY2FzZSBicmFuY2hlcyBhcmUgbm90IGV4Y2x1c2l2ZS4KKworY2FzZSAiJHtVTkFNRV9NQUNISU5FfToke1VOQU1FX1NZU1RFTX06JHtVTkFNRV9SRUxFQVNFfToke1VOQU1FX1ZFUlNJT059IiBpbgorICAgICo6TmV0QlNEOio6KikKKwkjIE5ldEJTRCAobmJzZCkgdGFyZ2V0cyBzaG91bGQgKHdoZXJlIGFwcGxpY2FibGUpIG1hdGNoIG9uZSBvcgorCSMgbW9yZSBvZiB0aGUgdHVwcGxlczogKi0qLW5ldGJzZGVsZiosICotKi1uZXRic2Rhb3V0KiwKKwkjICotKi1uZXRic2RlY29mZiogYW5kICotKi1uZXRic2QqLiAgRm9yIHRhcmdldHMgdGhhdCByZWNlbnRseQorCSMgc3dpdGNoZWQgdG8gRUxGLCAqLSotbmV0YnNkKiB3b3VsZCBzZWxlY3QgdGhlIG9sZAorCSMgb2JqZWN0IGZpbGUgZm9ybWF0LiAgVGhpcyBwcm92aWRlcyBib3RoIGZvcndhcmQKKwkjIGNvbXBhdGliaWxpdHkgYW5kIGEgY29uc2lzdGVudCBtZWNoYW5pc20gZm9yIHNlbGVjdGluZyB0aGUKKwkjIG9iamVjdCBmaWxlIGZvcm1hdC4KKwkjCisJIyBOb3RlOiBOZXRCU0QgZG9lc24ndCBwYXJ0aWN1bGFybHkgY2FyZSBhYm91dCB0aGUgdmVuZG9yCisJIyBwb3J0aW9uIG9mIHRoZSBuYW1lLiAgV2UgYWx3YXlzIHNldCBpdCB0byAidW5rbm93biIuCisJc3lzY3RsPSJzeXNjdGwgLW4gaHcubWFjaGluZV9hcmNoIgorCVVOQU1FX01BQ0hJTkVfQVJDSD1gKC9zYmluLyRzeXNjdGwgMj4vZGV2L251bGwgfHwgXAorCSAgICAvdXNyL3NiaW4vJHN5c2N0bCAyPi9kZXYvbnVsbCB8fCBlY2hvIHVua25vd24pYAorCWNhc2UgIiR7VU5BTUVfTUFDSElORV9BUkNIfSIgaW4KKwkgICAgYXJtZWIpIG1hY2hpbmU9YXJtZWItdW5rbm93biA7OworCSAgICBhcm0qKSBtYWNoaW5lPWFybS11bmtub3duIDs7CisJICAgIHNoM2VsKSBtYWNoaW5lPXNobC11bmtub3duIDs7CisJICAgIHNoM2ViKSBtYWNoaW5lPXNoLXVua25vd24gOzsKKwkgICAgc2g1ZWwpIG1hY2hpbmU9c2g1bGUtdW5rbm93biA7OworCSAgICAqKSBtYWNoaW5lPSR7VU5BTUVfTUFDSElORV9BUkNIfS11bmtub3duIDs7CisJZXNhYworCSMgVGhlIE9wZXJhdGluZyBTeXN0ZW0gaW5jbHVkaW5nIG9iamVjdCBmb3JtYXQsIGlmIGl0IGhhcyBzd2l0Y2hlZAorCSMgdG8gRUxGIHJlY2VudGx5LCBvciB3aWxsIGluIHRoZSBmdXR1cmUuCisJY2FzZSAiJHtVTkFNRV9NQUNISU5FX0FSQ0h9IiBpbgorCSAgICBhcm0qfGkzODZ8bTY4a3xuczMya3xzaDMqfHNwYXJjfHZheCkKKwkJZXZhbCAkc2V0X2NjX2Zvcl9idWlsZAorCQlpZiBlY2hvIF9fRUxGX18gfCAkQ0NfRk9SX0JVSUxEIC1FIC0gMj4vZGV2L251bGwgXAorCQkJfCBncmVwIC1xIF9fRUxGX18KKwkJdGhlbgorCQkgICAgIyBPbmNlIGFsbCB1dGlsaXRpZXMgY2FuIGJlIEVDT0ZGIChuZXRic2RlY29mZikgb3IgYS5vdXQgKG5ldGJzZGFvdXQpLgorCQkgICAgIyBSZXR1cm4gbmV0YnNkIGZvciBlaXRoZXIuICBGSVg/CisJCSAgICBvcz1uZXRic2QKKwkJZWxzZQorCQkgICAgb3M9bmV0YnNkZWxmCisJCWZpCisJCTs7CisJICAgICopCisJICAgICAgICBvcz1uZXRic2QKKwkJOzsKKwllc2FjCisJIyBUaGUgT1MgcmVsZWFzZQorCSMgRGViaWFuIEdOVS9OZXRCU0QgbWFjaGluZXMgaGF2ZSBhIGRpZmZlcmVudCB1c2VybGFuZCwgYW5kCisJIyB0aHVzLCBuZWVkIGEgZGlzdGluY3QgdHJpcGxldC4gSG93ZXZlciwgdGhleSBkbyBub3QgbmVlZAorCSMga2VybmVsIHZlcnNpb24gaW5mb3JtYXRpb24sIHNvIGl0IGNhbiBiZSByZXBsYWNlZCB3aXRoIGEKKwkjIHN1aXRhYmxlIHRhZywgaW4gdGhlIHN0eWxlIG9mIGxpbnV4LWdudS4KKwljYXNlICIke1VOQU1FX1ZFUlNJT059IiBpbgorCSAgICBEZWJpYW4qKQorCQlyZWxlYXNlPSctZ251JworCQk7OworCSAgICAqKQorCQlyZWxlYXNlPWBlY2hvICR7VU5BTUVfUkVMRUFTRX18c2VkIC1lICdzL1stX10uKi9cLi8nYAorCQk7OworCWVzYWMKKwkjIFNpbmNlIENQVV9UWVBFLU1BTlVGQUNUVVJFUi1LRVJORUwtT1BFUkFUSU5HX1NZU1RFTToKKwkjIGNvbnRhaW5zIHJlZHVuZGFudCBpbmZvcm1hdGlvbiwgdGhlIHNob3J0ZXIgZm9ybToKKwkjIENQVV9UWVBFLU1BTlVGQUNUVVJFUi1PUEVSQVRJTkdfU1lTVEVNIGlzIHVzZWQuCisJZWNobyAiJHttYWNoaW5lfS0ke29zfSR7cmVsZWFzZX0iCisJZXhpdCA7OworICAgICo6T3BlbkJTRDoqOiopCisJVU5BTUVfTUFDSElORV9BUkNIPWBhcmNoIHwgc2VkICdzL09wZW5CU0QuLy8nYAorCWVjaG8gJHtVTkFNRV9NQUNISU5FX0FSQ0h9LXVua25vd24tb3BlbmJzZCR7VU5BTUVfUkVMRUFTRX0KKwlleGl0IDs7CisgICAgKjpla2tvQlNEOio6KikKKwllY2hvICR7VU5BTUVfTUFDSElORX0tdW5rbm93bi1la2tvYnNkJHtVTkFNRV9SRUxFQVNFfQorCWV4aXQgOzsKKyAgICAqOlNvbGlkQlNEOio6KikKKwllY2hvICR7VU5BTUVfTUFDSElORX0tdW5rbm93bi1zb2xpZGJzZCR7VU5BTUVfUkVMRUFTRX0KKwlleGl0IDs7CisgICAgbWFjcHBjOk1pckJTRDoqOiopCisJZWNobyBwb3dlcnBjLXVua25vd24tbWlyYnNkJHtVTkFNRV9SRUxFQVNFfQorCWV4aXQgOzsKKyAgICAqOk1pckJTRDoqOiopCisJZWNobyAke1VOQU1FX01BQ0hJTkV9LXVua25vd24tbWlyYnNkJHtVTkFNRV9SRUxFQVNFfQorCWV4aXQgOzsKKyAgICBhbHBoYTpPU0YxOio6KikKKwljYXNlICRVTkFNRV9SRUxFQVNFIGluCisJKjQuMCkKKwkJVU5BTUVfUkVMRUFTRT1gL3Vzci9zYmluL3NpemVyIC12IHwgYXdrICd7cHJpbnQgJDN9J2AKKwkJOzsKKwkqNS4qKQorCSAgICAgICAgVU5BTUVfUkVMRUFTRT1gL3Vzci9zYmluL3NpemVyIC12IHwgYXdrICd7cHJpbnQgJDR9J2AKKwkJOzsKKwllc2FjCisJIyBBY2NvcmRpbmcgdG8gQ29tcGFxLCAvdXNyL3NiaW4vcHNyaW5mbyBoYXMgYmVlbiBhdmFpbGFibGUgb24KKwkjIE9TRi8xIGFuZCBUcnU2NCBzeXN0ZW1zIHByb2R1Y2VkIHNpbmNlIDE5OTUuICBJIGhvcGUgdGhhdAorCSMgY292ZXJzIG1vc3Qgc3lzdGVtcyBydW5uaW5nIHRvZGF5LiAgVGhpcyBjb2RlIHBpcGVzIHRoZSBDUFUKKwkjIHR5cGVzIHRocm91Z2ggaGVhZCAtbiAxLCBzbyB3ZSBvbmx5IGRldGVjdCB0aGUgdHlwZSBvZiBDUFUgMC4KKwlBTFBIQV9DUFVfVFlQRT1gL3Vzci9zYmluL3BzcmluZm8gLXYgfCBzZWQgLW4gLWUgJ3MvXiAgVGhlIGFscGhhIFwoLipcKSBwcm9jZXNzb3IuKiQvXDEvcCcgfCBoZWFkIC1uIDFgCisJY2FzZSAiJEFMUEhBX0NQVV9UWVBFIiBpbgorCSAgICAiRVY0ICgyMTA2NCkiKQorCQlVTkFNRV9NQUNISU5FPSJhbHBoYSIgOzsKKwkgICAgIkVWNC41ICgyMTA2NCkiKQorCQlVTkFNRV9NQUNISU5FPSJhbHBoYSIgOzsKKwkgICAgIkxDQTQgKDIxMDY2LzIxMDY4KSIpCisJCVVOQU1FX01BQ0hJTkU9ImFscGhhIiA7OworCSAgICAiRVY1ICgyMTE2NCkiKQorCQlVTkFNRV9NQUNISU5FPSJhbHBoYWV2NSIgOzsKKwkgICAgIkVWNS42ICgyMTE2NEEpIikKKwkJVU5BTUVfTUFDSElORT0iYWxwaGFldjU2IiA7OworCSAgICAiRVY1LjYgKDIxMTY0UEMpIikKKwkJVU5BTUVfTUFDSElORT0iYWxwaGFwY2E1NiIgOzsKKwkgICAgIkVWNS43ICgyMTE2NFBDKSIpCisJCVVOQU1FX01BQ0hJTkU9ImFscGhhcGNhNTciIDs7CisJICAgICJFVjYgKDIxMjY0KSIpCisJCVVOQU1FX01BQ0hJTkU9ImFscGhhZXY2IiA7OworCSAgICAiRVY2LjcgKDIxMjY0QSkiKQorCQlVTkFNRV9NQUNISU5FPSJhbHBoYWV2NjciIDs7CisJICAgICJFVjYuOENCICgyMTI2NEMpIikKKwkJVU5BTUVfTUFDSElORT0iYWxwaGFldjY4IiA7OworCSAgICAiRVY2LjhBTCAoMjEyNjRCKSIpCisJCVVOQU1FX01BQ0hJTkU9ImFscGhhZXY2OCIgOzsKKwkgICAgIkVWNi44Q1ggKDIxMjY0RCkiKQorCQlVTkFNRV9NQUNISU5FPSJhbHBoYWV2NjgiIDs7CisJICAgICJFVjYuOUEgKDIxMjY0L0VWNjlBKSIpCisJCVVOQU1FX01BQ0hJTkU9ImFscGhhZXY2OSIgOzsKKwkgICAgIkVWNyAoMjEzNjQpIikKKwkJVU5BTUVfTUFDSElORT0iYWxwaGFldjciIDs7CisJICAgICJFVjcuOSAoMjEzNjRBKSIpCisJCVVOQU1FX01BQ0hJTkU9ImFscGhhZXY3OSIgOzsKKwllc2FjCisJIyBBIFBuLm4gdmVyc2lvbiBpcyBhIHBhdGNoZWQgdmVyc2lvbi4KKwkjIEEgVm4ubiB2ZXJzaW9uIGlzIGEgcmVsZWFzZWQgdmVyc2lvbi4KKwkjIEEgVG4ubiB2ZXJzaW9uIGlzIGEgcmVsZWFzZWQgZmllbGQgdGVzdCB2ZXJzaW9uLgorCSMgQSBYbi5uIHZlcnNpb24gaXMgYW4gdW5yZWxlYXNlZCBleHBlcmltZW50YWwgYmFzZWxldmVsLgorCSMgMS4yIHVzZXMgIjEuMiIgZm9yIHVuYW1lIC1yLgorCWVjaG8gJHtVTkFNRV9NQUNISU5FfS1kZWMtb3NmYGVjaG8gJHtVTkFNRV9SRUxFQVNFfSB8IHNlZCAtZSAncy9eW1BWVFhdLy8nIHwgdHIgJ0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaJyAnYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXonYAorCWV4aXQgOzsKKyAgICBBbHBoYVwgKjpXaW5kb3dzX05UKjoqKQorCSMgSG93IGRvIHdlIGtub3cgaXQncyBJbnRlcml4IHJhdGhlciB0aGFuIHRoZSBnZW5lcmljIFBPU0lYIHN1YnN5c3RlbT8KKwkjIFNob3VsZCB3ZSBjaGFuZ2UgVU5BTUVfTUFDSElORSBiYXNlZCBvbiB0aGUgb3V0cHV0IG9mIHVuYW1lIGluc3RlYWQKKwkjIG9mIHRoZSBzcGVjaWZpYyBBbHBoYSBtb2RlbD8KKwllY2hvIGFscGhhLXBjLWludGVyaXgKKwlleGl0IDs7CisgICAgMjEwNjQ6V2luZG93c19OVDo1MDozKQorCWVjaG8gYWxwaGEtZGVjLXdpbm50My41CisJZXhpdCA7OworICAgIEFtaWdhKjpVTklYX1N5c3RlbV9WOjQuMDoqKQorCWVjaG8gbTY4ay11bmtub3duLXN5c3Y0CisJZXhpdCA7OworICAgICo6W0FhXW1pZ2FbT29dW1NzXToqOiopCisJZWNobyAke1VOQU1FX01BQ0hJTkV9LXVua25vd24tYW1pZ2FvcworCWV4aXQgOzsKKyAgICAqOltNbV1vcnBoW09vXVtTc106KjoqKQorCWVjaG8gJHtVTkFNRV9NQUNISU5FfS11bmtub3duLW1vcnBob3MKKwlleGl0IDs7CisgICAgKjpPUy8zOTA6KjoqKQorCWVjaG8gaTM3MC1pYm0tb3BlbmVkaXRpb24KKwlleGl0IDs7CisgICAgKjp6L1ZNOio6KikKKwllY2hvIHMzOTAtaWJtLXp2bW9lCisJZXhpdCA7OworICAgICo6T1M0MDA6KjoqKQorICAgICAgICBlY2hvIHBvd2VycGMtaWJtLW9zNDAwCisJZXhpdCA7OworICAgIGFybTpSSVNDKjoxLlswMTJdKjoqfGFybTpyaXNjaXg6MS5bMDEyXSo6KikKKwllY2hvIGFybS1hY29ybi1yaXNjaXgke1VOQU1FX1JFTEVBU0V9CisJZXhpdCA7OworICAgIGFybTpyaXNjb3M6KjoqfGFybTpSSVNDT1M6KjoqKQorCWVjaG8gYXJtLXVua25vd24tcmlzY29zCisJZXhpdCA7OworICAgIFNSMj8wMTpISS1VWC9NUFA6KjoqIHwgU1I4MDAwOkhJLVVYL01QUDoqOiopCisJZWNobyBocHBhMS4xLWhpdGFjaGktaGl1eG1wcAorCWV4aXQgOzsKKyAgICBQeXJhbWlkKjpPU3gqOio6KiB8IE1JUyo6T1N4KjoqOiogfCBNSVMqOlNNUF9EQy1PU3gqOio6KikKKwkjIGFrZWVAd3BkaXMwMy53cGFmYi5hZi5taWwgKEVhcmxlIEYuIEFrZSkgY29udHJpYnV0ZWQgTUlTIGFuZCBOSUxFLgorCWlmIHRlc3QgImAoL2Jpbi91bml2ZXJzZSkgMj4vZGV2L251bGxgIiA9IGF0dCA7IHRoZW4KKwkJZWNobyBweXJhbWlkLXB5cmFtaWQtc3lzdjMKKwllbHNlCisJCWVjaG8gcHlyYW1pZC1weXJhbWlkLWJzZAorCWZpCisJZXhpdCA7OworICAgIE5JTEUqOio6KjpkY29zeCkKKwllY2hvIHB5cmFtaWQtcHlyYW1pZC1zdnI0CisJZXhpdCA7OworICAgIERSUz82MDAwOnVuaXg6NC4wOjYqKQorCWVjaG8gc3BhcmMtaWNsLW54NgorCWV4aXQgOzsKKyAgICBEUlM/NjAwMDpVTklYX1NWOjQuMio6NyogfCBEUlM/NjAwMDppc2lzOjQuMio6NyopCisJY2FzZSBgL3Vzci9iaW4vdW5hbWUgLXBgIGluCisJICAgIHNwYXJjKSBlY2hvIHNwYXJjLWljbC1ueDc7IGV4aXQgOzsKKwllc2FjIDs7CisgICAgczM5MHg6U3VuT1M6KjoqKQorCWVjaG8gJHtVTkFNRV9NQUNISU5FfS1pYm0tc29sYXJpczJgZWNobyAke1VOQU1FX1JFTEVBU0V9fHNlZCAtZSAncy9bXi5dKi8vJ2AKKwlleGl0IDs7CisgICAgc3VuNEg6U3VuT1M6NS4qOiopCisJZWNobyBzcGFyYy1oYWwtc29sYXJpczJgZWNobyAke1VOQU1FX1JFTEVBU0V9fHNlZCAtZSAncy9bXi5dKi8vJ2AKKwlleGl0IDs7CisgICAgc3VuNCo6U3VuT1M6NS4qOiogfCB0YWRwb2xlKjpTdW5PUzo1Lio6KikKKwllY2hvIHNwYXJjLXN1bi1zb2xhcmlzMmBlY2hvICR7VU5BTUVfUkVMRUFTRX18c2VkIC1lICdzL1teLl0qLy8nYAorCWV4aXQgOzsKKyAgICBpODZwYzpBdXJvcmFVWDo1Lio6KiB8IGk4NnhlbjpBdXJvcmFVWDo1Lio6KikKKwllY2hvIGkzODYtcGMtYXVyb3JhdXgke1VOQU1FX1JFTEVBU0V9CisJZXhpdCA7OworICAgIGk4NnBjOlN1bk9TOjUuKjoqIHwgaTg2eGVuOlN1bk9TOjUuKjoqKQorCWV2YWwgJHNldF9jY19mb3JfYnVpbGQKKwlTVU5fQVJDSD0iaTM4NiIKKwkjIElmIHRoZXJlIGlzIGEgY29tcGlsZXIsIHNlZSBpZiBpdCBpcyBjb25maWd1cmVkIGZvciA2NC1iaXQgb2JqZWN0cy4KKwkjIE5vdGUgdGhhdCB0aGUgU3VuIGNjIGRvZXMgbm90IHR1cm4gX19MUDY0X18gaW50byAxIGxpa2UgZ2NjIGRvZXMuCisJIyBUaGlzIHRlc3Qgd29ya3MgZm9yIGJvdGggY29tcGlsZXJzLgorCWlmIFsgIiRDQ19GT1JfQlVJTEQiICE9ICdub19jb21waWxlcl9mb3VuZCcgXTsgdGhlbgorCSAgICBpZiAoZWNobyAnI2lmZGVmIF9fYW1kNjQnOyBlY2hvIElTXzY0QklUX0FSQ0g7IGVjaG8gJyNlbmRpZicpIHwgXAorCQkoQ0NPUFRTPSAkQ0NfRk9SX0JVSUxEIC1FIC0gMj4vZGV2L251bGwpIHwgXAorCQlncmVwIElTXzY0QklUX0FSQ0ggPi9kZXYvbnVsbAorCSAgICB0aGVuCisJCVNVTl9BUkNIPSJ4ODZfNjQiCisJICAgIGZpCisJZmkKKwllY2hvICR7U1VOX0FSQ0h9LXBjLXNvbGFyaXMyYGVjaG8gJHtVTkFNRV9SRUxFQVNFfXxzZWQgLWUgJ3MvW14uXSovLydgCisJZXhpdCA7OworICAgIHN1bjQqOlN1bk9TOjYqOiopCisJIyBBY2NvcmRpbmcgdG8gY29uZmlnLnN1YiwgdGhpcyBpcyB0aGUgcHJvcGVyIHdheSB0byBjYW5vbmljYWxpemUKKwkjIFN1bk9TNi4gIEhhcmQgdG8gZ3Vlc3MgZXhhY3RseSB3aGF0IFN1bk9TNiB3aWxsIGJlIGxpa2UsIGJ1dAorCSMgaXQncyBsaWtlbHkgdG8gYmUgbW9yZSBsaWtlIFNvbGFyaXMgdGhhbiBTdW5PUzQuCisJZWNobyBzcGFyYy1zdW4tc29sYXJpczNgZWNobyAke1VOQU1FX1JFTEVBU0V9fHNlZCAtZSAncy9bXi5dKi8vJ2AKKwlleGl0IDs7CisgICAgc3VuNCo6U3VuT1M6KjoqKQorCWNhc2UgImAvdXNyL2Jpbi9hcmNoIC1rYCIgaW4KKwkgICAgU2VyaWVzKnxTNCopCisJCVVOQU1FX1JFTEVBU0U9YHVuYW1lIC12YAorCQk7OworCWVzYWMKKwkjIEphcGFuZXNlIExhbmd1YWdlIHZlcnNpb25zIGhhdmUgYSB2ZXJzaW9uIG51bWJlciBsaWtlIGA0LjEuMy1KTCcuCisJZWNobyBzcGFyYy1zdW4tc3Vub3NgZWNobyAke1VOQU1FX1JFTEVBU0V9fHNlZCAtZSAncy8tL18vJ2AKKwlleGl0IDs7CisgICAgc3VuMyo6U3VuT1M6KjoqKQorCWVjaG8gbTY4ay1zdW4tc3Vub3Mke1VOQU1FX1JFTEVBU0V9CisJZXhpdCA7OworICAgIHN1bio6Kjo0LjJCU0Q6KikKKwlVTkFNRV9SRUxFQVNFPWAoc2VkIDFxIC9ldGMvbW90ZCB8IGF3ayAne3ByaW50IHN1YnN0cigkNSwxLDMpfScpIDI+L2Rldi9udWxsYAorCXRlc3QgIngke1VOQU1FX1JFTEVBU0V9IiA9ICJ4IiAmJiBVTkFNRV9SRUxFQVNFPTMKKwljYXNlICJgL2Jpbi9hcmNoYCIgaW4KKwkgICAgc3VuMykKKwkJZWNobyBtNjhrLXN1bi1zdW5vcyR7VU5BTUVfUkVMRUFTRX0KKwkJOzsKKwkgICAgc3VuNCkKKwkJZWNobyBzcGFyYy1zdW4tc3Vub3Mke1VOQU1FX1JFTEVBU0V9CisJCTs7CisJZXNhYworCWV4aXQgOzsKKyAgICBhdXNocDpTdW5PUzoqOiopCisJZWNobyBzcGFyYy1hdXNwZXgtc3Vub3Mke1VOQU1FX1JFTEVBU0V9CisJZXhpdCA7OworICAgICMgVGhlIHNpdHVhdGlvbiBmb3IgTWlOVCBpcyBhIGxpdHRsZSBjb25mdXNpbmcuICBUaGUgbWFjaGluZSBuYW1lCisgICAgIyBjYW4gYmUgdmlydHVhbGx5IGV2ZXJ5dGhpbmcgKGV2ZXJ5dGhpbmcgd2hpY2ggaXMgbm90CisgICAgIyAiYXRhcmlzdCIgb3IgImF0YXJpc3RlIiBhdCBsZWFzdCBzaG91bGQgaGF2ZSBhIHByb2Nlc3NvcgorICAgICMgPiBtNjgwMDApLiAgVGhlIHN5c3RlbSBuYW1lIHJhbmdlcyBmcm9tICJNaU5UIiBvdmVyICJGcmVlTWlOVCIKKyAgICAjIHRvIHRoZSBsb3dlcmNhc2UgdmVyc2lvbiAibWludCIgKG9yICJmcmVlbWludCIpLiAgRmluYWxseQorICAgICMgdGhlIHN5c3RlbSBuYW1lICJUT1MiIGRlbm90ZXMgYSBzeXN0ZW0gd2hpY2ggaXMgYWN0dWFsbHkgbm90CisgICAgIyBNaU5ULiAgQnV0IE1pTlQgaXMgZG93bndhcmQgY29tcGF0aWJsZSB0byBUT1MsIHNvIHRoaXMgc2hvdWxkCisgICAgIyBiZSBubyBwcm9ibGVtLgorICAgIGF0YXJpc3RbZV06Kk1pTlQ6KjoqIHwgYXRhcmlzdFtlXToqbWludDoqOiogfCBhdGFyaXN0W2VdOipUT1M6KjoqKQorICAgICAgICBlY2hvIG02OGstYXRhcmktbWludCR7VU5BTUVfUkVMRUFTRX0KKwlleGl0IDs7CisgICAgYXRhcmkqOipNaU5UOio6KiB8IGF0YXJpKjoqbWludDoqOiogfCBhdGFyaXN0W2VdOipUT1M6KjoqKQorCWVjaG8gbTY4ay1hdGFyaS1taW50JHtVTkFNRV9SRUxFQVNFfQorICAgICAgICBleGl0IDs7CisgICAgKmZhbGNvbio6Kk1pTlQ6KjoqIHwgKmZhbGNvbio6Km1pbnQ6KjoqIHwgKmZhbGNvbio6KlRPUzoqOiopCisgICAgICAgIGVjaG8gbTY4ay1hdGFyaS1taW50JHtVTkFNRV9SRUxFQVNFfQorCWV4aXQgOzsKKyAgICBtaWxhbio6Kk1pTlQ6KjoqIHwgbWlsYW4qOiptaW50Oio6KiB8ICptaWxhbio6KlRPUzoqOiopCisgICAgICAgIGVjaG8gbTY4ay1taWxhbi1taW50JHtVTkFNRV9SRUxFQVNFfQorICAgICAgICBleGl0IDs7CisgICAgaGFkZXMqOipNaU5UOio6KiB8IGhhZGVzKjoqbWludDoqOiogfCAqaGFkZXMqOipUT1M6KjoqKQorICAgICAgICBlY2hvIG02OGstaGFkZXMtbWludCR7VU5BTUVfUkVMRUFTRX0KKyAgICAgICAgZXhpdCA7OworICAgICo6Kk1pTlQ6KjoqIHwgKjoqbWludDoqOiogfCAqOipUT1M6KjoqKQorICAgICAgICBlY2hvIG02OGstdW5rbm93bi1taW50JHtVTkFNRV9SRUxFQVNFfQorICAgICAgICBleGl0IDs7CisgICAgbTY4azptYWNodGVuOio6KikKKwllY2hvIG02OGstYXBwbGUtbWFjaHRlbiR7VU5BTUVfUkVMRUFTRX0KKwlleGl0IDs7CisgICAgcG93ZXJwYzptYWNodGVuOio6KikKKwllY2hvIHBvd2VycGMtYXBwbGUtbWFjaHRlbiR7VU5BTUVfUkVMRUFTRX0KKwlleGl0IDs7CisgICAgUklTQyo6TWFjaDoqOiopCisJZWNobyBtaXBzLWRlYy1tYWNoX2JzZDQuMworCWV4aXQgOzsKKyAgICBSSVNDKjpVTFRSSVg6KjoqKQorCWVjaG8gbWlwcy1kZWMtdWx0cml4JHtVTkFNRV9SRUxFQVNFfQorCWV4aXQgOzsKKyAgICBWQVgqOlVMVFJJWCo6KjoqKQorCWVjaG8gdmF4LWRlYy11bHRyaXgke1VOQU1FX1JFTEVBU0V9CisJZXhpdCA7OworICAgIDIwMjA6Q0xJWDoqOiogfCAyNDMwOkNMSVg6KjoqKQorCWVjaG8gY2xpcHBlci1pbnRlcmdyYXBoLWNsaXgke1VOQU1FX1JFTEVBU0V9CisJZXhpdCA7OworICAgIG1pcHM6KjoqOlVNSVBTIHwgbWlwczoqOio6UklTQ29zKQorCWV2YWwgJHNldF9jY19mb3JfYnVpbGQKKwlzZWQgJ3MvXgkvLycgPDwgRU9GID4kZHVtbXkuYworI2lmZGVmIF9fY3BsdXNwbHVzCisjaW5jbHVkZSA8c3RkaW8uaD4gIC8qIGZvciBwcmludGYoKSBwcm90b3R5cGUgKi8KKwlpbnQgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkgeworI2Vsc2UKKwlpbnQgbWFpbiAoYXJnYywgYXJndikgaW50IGFyZ2M7IGNoYXIgKmFyZ3ZbXTsgeworI2VuZGlmCisJI2lmIGRlZmluZWQgKGhvc3RfbWlwcykgJiYgZGVmaW5lZCAoTUlQU0VCKQorCSNpZiBkZWZpbmVkIChTWVNUWVBFX1NZU1YpCisJICBwcmludGYgKCJtaXBzLW1pcHMtcmlzY29zJXNzeXN2XG4iLCBhcmd2WzFdKTsgZXhpdCAoMCk7CisJI2VuZGlmCisJI2lmIGRlZmluZWQgKFNZU1RZUEVfU1ZSNCkKKwkgIHByaW50ZiAoIm1pcHMtbWlwcy1yaXNjb3Mlc3N2cjRcbiIsIGFyZ3ZbMV0pOyBleGl0ICgwKTsKKwkjZW5kaWYKKwkjaWYgZGVmaW5lZCAoU1lTVFlQRV9CU0Q0MykgfHwgZGVmaW5lZChTWVNUWVBFX0JTRCkKKwkgIHByaW50ZiAoIm1pcHMtbWlwcy1yaXNjb3Mlc2JzZFxuIiwgYXJndlsxXSk7IGV4aXQgKDApOworCSNlbmRpZgorCSNlbmRpZgorCSAgZXhpdCAoLTEpOworCX0KK0VPRgorCSRDQ19GT1JfQlVJTEQgLW8gJGR1bW15ICRkdW1teS5jICYmCisJICBkdW1teWFyZz1gZWNobyAiJHtVTkFNRV9SRUxFQVNFfSIgfCBzZWQgLW4gJ3MvXChbMC05XSpcKS4qL1wxL3AnYCAmJgorCSAgU1lTVEVNX05BTUU9YCRkdW1teSAkZHVtbXlhcmdgICYmCisJICAgIHsgZWNobyAiJFNZU1RFTV9OQU1FIjsgZXhpdDsgfQorCWVjaG8gbWlwcy1taXBzLXJpc2NvcyR7VU5BTUVfUkVMRUFTRX0KKwlleGl0IDs7CisgICAgTW90b3JvbGE6UG93ZXJNQVhfT1M6KjoqKQorCWVjaG8gcG93ZXJwYy1tb3Rvcm9sYS1wb3dlcm1heAorCWV4aXQgOzsKKyAgICBNb3Rvcm9sYToqOjQuMzpQTDgtKikKKwllY2hvIHBvd2VycGMtaGFycmlzLXBvd2VybWF4CisJZXhpdCA7OworICAgIE5pZ2h0X0hhd2s6KjoqOlBvd2VyTUFYX09TIHwgU3luZXJneTpQb3dlck1BWF9PUzoqOiopCisJZWNobyBwb3dlcnBjLWhhcnJpcy1wb3dlcm1heAorCWV4aXQgOzsKKyAgICBOaWdodF9IYXdrOlBvd2VyX1VOSVg6KjoqKQorCWVjaG8gcG93ZXJwYy1oYXJyaXMtcG93ZXJ1bml4CisJZXhpdCA7OworICAgIG04OGs6Q1gvVVg6Nyo6KikKKwllY2hvIG04OGstaGFycmlzLWN4dXg3CisJZXhpdCA7OworICAgIG04OGs6Kjo0KjpSNCopCisJZWNobyBtODhrLW1vdG9yb2xhLXN5c3Y0CisJZXhpdCA7OworICAgIG04OGs6KjozKjpSMyopCisJZWNobyBtODhrLW1vdG9yb2xhLXN5c3YzCisJZXhpdCA7OworICAgIEFWaWlPTjpkZ3V4Oio6KikKKyAgICAgICAgIyBERy9VWCByZXR1cm5zIEFWaWlPTiBmb3IgYWxsIGFyY2hpdGVjdHVyZXMKKyAgICAgICAgVU5BTUVfUFJPQ0VTU09SPWAvdXNyL2Jpbi91bmFtZSAtcGAKKwlpZiBbICRVTkFNRV9QUk9DRVNTT1IgPSBtYzg4MTAwIF0gfHwgWyAkVU5BTUVfUFJPQ0VTU09SID0gbWM4ODExMCBdCisJdGhlbgorCSAgICBpZiBbICR7VEFSR0VUX0JJTkFSWV9JTlRFUkZBQ0V9eCA9IG04OGtkZ3V4ZWxmeCBdIHx8IFwKKwkgICAgICAgWyAke1RBUkdFVF9CSU5BUllfSU5URVJGQUNFfXggPSB4IF0KKwkgICAgdGhlbgorCQllY2hvIG04OGstZGctZGd1eCR7VU5BTUVfUkVMRUFTRX0KKwkgICAgZWxzZQorCQllY2hvIG04OGstZGctZGd1eGJjcyR7VU5BTUVfUkVMRUFTRX0KKwkgICAgZmkKKwllbHNlCisJICAgIGVjaG8gaTU4Ni1kZy1kZ3V4JHtVTkFNRV9SRUxFQVNFfQorCWZpCisgCWV4aXQgOzsKKyAgICBNODgqOkRvbHBoaW5PUzoqOiopCSMgRG9scGhpbk9TIChTVlIzKQorCWVjaG8gbTg4ay1kb2xwaGluLXN5c3YzCisJZXhpdCA7OworICAgIE04OCo6KjpSMyo6KikKKwkjIERlbHRhIDg4ayBzeXN0ZW0gcnVubmluZyBTVlIzCisJZWNobyBtODhrLW1vdG9yb2xhLXN5c3YzCisJZXhpdCA7OworICAgIFhEODgqOio6KjoqKSAjIFRla3Ryb25peCBYRDg4IHN5c3RlbSBydW5uaW5nIFVUZWtWIChTVlIzKQorCWVjaG8gbTg4ay10ZWt0cm9uaXgtc3lzdjMKKwlleGl0IDs7CisgICAgVGVrNDNbMC05XVswLTldOlVUZWs6KjoqKSAjIFRla3Ryb25peCA0MzAwIHN5c3RlbSBydW5uaW5nIFVUZWsgKEJTRCkKKwllY2hvIG02OGstdGVrdHJvbml4LWJzZAorCWV4aXQgOzsKKyAgICAqOklSSVgqOio6KikKKwllY2hvIG1pcHMtc2dpLWlyaXhgZWNobyAke1VOQU1FX1JFTEVBU0V9fHNlZCAtZSAncy8tL18vZydgCisJZXhpdCA7OworICAgID8/Pz8/Pz8/OkFJWD86WzEyXS4xOjIpICAgIyBBSVggMi4yLjEgb3IgQUlYIDIuMS4xIGlzIFJUL1BDIEFJWC4KKwllY2hvIHJvbXAtaWJtLWFpeCAgICAgIyB1bmFtZSAtbSBnaXZlcyBhbiA4IGhleC1jb2RlIENQVSBpZAorCWV4aXQgOzsgICAgICAgICAgICAgICAjIE5vdGUgdGhhdDogZWNobyAiJ2B1bmFtZSAtc2AnIiBnaXZlcyAnQUlYICcKKyAgICBpKjg2OkFJWDoqOiopCisJZWNobyBpMzg2LWlibS1haXgKKwlleGl0IDs7CisgICAgaWE2NDpBSVg6KjoqKQorCWlmIFsgLXggL3Vzci9iaW4vb3NsZXZlbCBdIDsgdGhlbgorCQlJQk1fUkVWPWAvdXNyL2Jpbi9vc2xldmVsYAorCWVsc2UKKwkJSUJNX1JFVj0ke1VOQU1FX1ZFUlNJT059LiR7VU5BTUVfUkVMRUFTRX0KKwlmaQorCWVjaG8gJHtVTkFNRV9NQUNISU5FfS1pYm0tYWl4JHtJQk1fUkVWfQorCWV4aXQgOzsKKyAgICAqOkFJWDoyOjMpCisJaWYgZ3JlcCBib3MzMjUgL3Vzci9pbmNsdWRlL3N0ZGlvLmggPi9kZXYvbnVsbCAyPiYxOyB0aGVuCisJCWV2YWwgJHNldF9jY19mb3JfYnVpbGQKKwkJc2VkICdzL14JCS8vJyA8PCBFT0YgPiRkdW1teS5jCisJCSNpbmNsdWRlIDxzeXMvc3lzdGVtY2ZnLmg+CisKKwkJbWFpbigpCisJCQl7CisJCQlpZiAoIV9fcG93ZXJfcGMoKSkKKwkJCQlleGl0KDEpOworCQkJcHV0cygicG93ZXJwYy1pYm0tYWl4My4yLjUiKTsKKwkJCWV4aXQoMCk7CisJCQl9CitFT0YKKwkJaWYgJENDX0ZPUl9CVUlMRCAtbyAkZHVtbXkgJGR1bW15LmMgJiYgU1lTVEVNX05BTUU9YCRkdW1teWAKKwkJdGhlbgorCQkJZWNobyAiJFNZU1RFTV9OQU1FIgorCQllbHNlCisJCQllY2hvIHJzNjAwMC1pYm0tYWl4My4yLjUKKwkJZmkKKwllbGlmIGdyZXAgYm9zMzI0IC91c3IvaW5jbHVkZS9zdGRpby5oID4vZGV2L251bGwgMj4mMTsgdGhlbgorCQllY2hvIHJzNjAwMC1pYm0tYWl4My4yLjQKKwllbHNlCisJCWVjaG8gcnM2MDAwLWlibS1haXgzLjIKKwlmaQorCWV4aXQgOzsKKyAgICAqOkFJWDoqOls0NTZdKQorCUlCTV9DUFVfSUQ9YC91c3Ivc2Jpbi9sc2RldiAtQyAtYyBwcm9jZXNzb3IgLVMgYXZhaWxhYmxlIHwgc2VkIDFxIHwgYXdrICd7IHByaW50ICQxIH0nYAorCWlmIC91c3Ivc2Jpbi9sc2F0dHIgLUVsICR7SUJNX0NQVV9JRH0gfCBncmVwICcgUE9XRVInID4vZGV2L251bGwgMj4mMTsgdGhlbgorCQlJQk1fQVJDSD1yczYwMDAKKwllbHNlCisJCUlCTV9BUkNIPXBvd2VycGMKKwlmaQorCWlmIFsgLXggL3Vzci9iaW4vb3NsZXZlbCBdIDsgdGhlbgorCQlJQk1fUkVWPWAvdXNyL2Jpbi9vc2xldmVsYAorCWVsc2UKKwkJSUJNX1JFVj0ke1VOQU1FX1ZFUlNJT059LiR7VU5BTUVfUkVMRUFTRX0KKwlmaQorCWVjaG8gJHtJQk1fQVJDSH0taWJtLWFpeCR7SUJNX1JFVn0KKwlleGl0IDs7CisgICAgKjpBSVg6KjoqKQorCWVjaG8gcnM2MDAwLWlibS1haXgKKwlleGl0IDs7CisgICAgaWJtcnQ6NC40QlNEOip8cm9tcC1pYm06QlNEOiopCisJZWNobyByb21wLWlibS1ic2Q0LjQKKwlleGl0IDs7CisgICAgaWJtcnQ6KkJTRDoqfHJvbXAtaWJtOkJTRDoqKSAgICAgICAgICAgICMgY292ZXJzIFJUL1BDIEJTRCBhbmQKKwllY2hvIHJvbXAtaWJtLWJzZCR7VU5BTUVfUkVMRUFTRX0gICAjIDQuMyB3aXRoIHVuYW1lIGFkZGVkIHRvCisJZXhpdCA7OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyByZXBvcnQ6IHJvbXAtaWJtIEJTRCA0LjMKKyAgICAqOkJPU1g6KjoqKQorCWVjaG8gcnM2MDAwLWJ1bGwtYm9zeAorCWV4aXQgOzsKKyAgICBEUFgvMj8wMDpCLk8uUy46KjoqKQorCWVjaG8gbTY4ay1idWxsLXN5c3YzCisJZXhpdCA7OworICAgIDkwMDAvWzM0XT8/OjQuM2JzZDoxLio6KikKKwllY2hvIG02OGstaHAtYnNkCisJZXhpdCA7OworICAgIGhwMzAwOjQuNEJTRDoqOiogfCA5MDAwL1szNF0/Pzo0LjNic2Q6Mi4qOiopCisJZWNobyBtNjhrLWhwLWJzZDQuNAorCWV4aXQgOzsKKyAgICA5MDAwL1szNDY3OF0/PzpIUC1VWDoqOiopCisJSFBVWF9SRVY9YGVjaG8gJHtVTkFNRV9SRUxFQVNFfXxzZWQgLWUgJ3MvW14uXSouWzBCXSovLydgCisJY2FzZSAiJHtVTkFNRV9NQUNISU5FfSIgaW4KKwkgICAgOTAwMC8zMT8gKSAgICAgICAgICAgIEhQX0FSQ0g9bTY4MDAwIDs7CisJICAgIDkwMDAvWzM0XT8/ICkgICAgICAgICBIUF9BUkNIPW02OGsgOzsKKwkgICAgOTAwMC9bNjc4XVswLTldWzAtOV0pCisJCWlmIFsgLXggL3Vzci9iaW4vZ2V0Y29uZiBdOyB0aGVuCisJCSAgICBzY19jcHVfdmVyc2lvbj1gL3Vzci9iaW4vZ2V0Y29uZiBTQ19DUFVfVkVSU0lPTiAyPi9kZXYvbnVsbGAKKyAgICAgICAgICAgICAgICAgICAgc2Nfa2VybmVsX2JpdHM9YC91c3IvYmluL2dldGNvbmYgU0NfS0VSTkVMX0JJVFMgMj4vZGV2L251bGxgCisgICAgICAgICAgICAgICAgICAgIGNhc2UgIiR7c2NfY3B1X3ZlcnNpb259IiBpbgorICAgICAgICAgICAgICAgICAgICAgIDUyMykgSFBfQVJDSD0iaHBwYTEuMCIgOzsgIyBDUFVfUEFfUklTQzFfMAorICAgICAgICAgICAgICAgICAgICAgIDUyOCkgSFBfQVJDSD0iaHBwYTEuMSIgOzsgIyBDUFVfUEFfUklTQzFfMQorICAgICAgICAgICAgICAgICAgICAgIDUzMikgICAgICAgICAgICAgICAgICAgICAgIyBDUFVfUEFfUklTQzJfMAorICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAiJHtzY19rZXJuZWxfYml0c30iIGluCisgICAgICAgICAgICAgICAgICAgICAgICAgIDMyKSBIUF9BUkNIPSJocHBhMi4wbiIgOzsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgNjQpIEhQX0FSQ0g9ImhwcGEyLjB3IiA7OworCQkJICAnJykgSFBfQVJDSD0iaHBwYTIuMCIgOzsgICAjIEhQLVVYIDEwLjIwCisgICAgICAgICAgICAgICAgICAgICAgICBlc2FjIDs7CisgICAgICAgICAgICAgICAgICAgIGVzYWMKKwkJZmkKKwkJaWYgWyAiJHtIUF9BUkNIfSIgPSAiIiBdOyB0aGVuCisJCSAgICBldmFsICRzZXRfY2NfZm9yX2J1aWxkCisJCSAgICBzZWQgJ3MvXiAgICAgICAgICAgICAgLy8nIDw8IEVPRiA+JGR1bW15LmMKKworICAgICAgICAgICAgICAjZGVmaW5lIF9IUFVYX1NPVVJDRQorICAgICAgICAgICAgICAjaW5jbHVkZSA8c3RkbGliLmg+CisgICAgICAgICAgICAgICNpbmNsdWRlIDx1bmlzdGQuaD4KKworICAgICAgICAgICAgICBpbnQgbWFpbiAoKQorICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICNpZiBkZWZpbmVkKF9TQ19LRVJORUxfQklUUykKKyAgICAgICAgICAgICAgICAgIGxvbmcgYml0cyA9IHN5c2NvbmYoX1NDX0tFUk5FTF9CSVRTKTsKKyAgICAgICAgICAgICAgI2VuZGlmCisgICAgICAgICAgICAgICAgICBsb25nIGNwdSAgPSBzeXNjb25mIChfU0NfQ1BVX1ZFUlNJT04pOworCisgICAgICAgICAgICAgICAgICBzd2l0Y2ggKGNwdSkKKyAgICAgICAgICAgICAgCXsKKyAgICAgICAgICAgICAgCWNhc2UgQ1BVX1BBX1JJU0MxXzA6IHB1dHMgKCJocHBhMS4wIik7IGJyZWFrOworICAgICAgICAgICAgICAJY2FzZSBDUFVfUEFfUklTQzFfMTogcHV0cyAoImhwcGExLjEiKTsgYnJlYWs7CisgICAgICAgICAgICAgIAljYXNlIENQVV9QQV9SSVNDMl8wOgorICAgICAgICAgICAgICAjaWYgZGVmaW5lZChfU0NfS0VSTkVMX0JJVFMpCisgICAgICAgICAgICAgIAkgICAgc3dpdGNoIChiaXRzKQorICAgICAgICAgICAgICAJCXsKKyAgICAgICAgICAgICAgCQljYXNlIDY0OiBwdXRzICgiaHBwYTIuMHciKTsgYnJlYWs7CisgICAgICAgICAgICAgIAkJY2FzZSAzMjogcHV0cyAoImhwcGEyLjBuIik7IGJyZWFrOworICAgICAgICAgICAgICAJCWRlZmF1bHQ6IHB1dHMgKCJocHBhMi4wIik7IGJyZWFrOworICAgICAgICAgICAgICAJCX0gYnJlYWs7CisgICAgICAgICAgICAgICNlbHNlICAvKiAhZGVmaW5lZChfU0NfS0VSTkVMX0JJVFMpICovCisgICAgICAgICAgICAgIAkgICAgcHV0cyAoImhwcGEyLjAiKTsgYnJlYWs7CisgICAgICAgICAgICAgICNlbmRpZgorICAgICAgICAgICAgICAJZGVmYXVsdDogcHV0cyAoImhwcGExLjAiKTsgYnJlYWs7CisgICAgICAgICAgICAgIAl9CisgICAgICAgICAgICAgICAgICBleGl0ICgwKTsKKyAgICAgICAgICAgICAgfQorRU9GCisJCSAgICAoQ0NPUFRTPSAkQ0NfRk9SX0JVSUxEIC1vICRkdW1teSAkZHVtbXkuYyAyPi9kZXYvbnVsbCkgJiYgSFBfQVJDSD1gJGR1bW15YAorCQkgICAgdGVzdCAteiAiJEhQX0FSQ0giICYmIEhQX0FSQ0g9aHBwYQorCQlmaSA7OworCWVzYWMKKwlpZiBbICR7SFBfQVJDSH0gPSAiaHBwYTIuMHciIF0KKwl0aGVuCisJICAgIGV2YWwgJHNldF9jY19mb3JfYnVpbGQKKworCSAgICAjIGhwcGEyLjB3LWhwLWhwdXgqIGhhcyBhIDY0LWJpdCBrZXJuZWwgYW5kIGEgY29tcGlsZXIgZ2VuZXJhdGluZworCSAgICAjIDMyLWJpdCBjb2RlLiAgaHBwYTY0LWhwLWhwdXgqIGhhcyB0aGUgc2FtZSBrZXJuZWwgYW5kIGEgY29tcGlsZXIKKwkgICAgIyBnZW5lcmF0aW5nIDY0LWJpdCBjb2RlLiAgR05VIGFuZCBIUCB1c2UgZGlmZmVyZW50IG5vbWVuY2xhdHVyZToKKwkgICAgIworCSAgICAjICQgQ0NfRk9SX0JVSUxEPWNjIC4vY29uZmlnLmd1ZXNzCisJICAgICMgPT4gaHBwYTIuMHctaHAtaHB1eDExLjIzCisJICAgICMgJCBDQ19GT1JfQlVJTEQ9ImNjICtEQTIuMHciIC4vY29uZmlnLmd1ZXNzCisJICAgICMgPT4gaHBwYTY0LWhwLWhwdXgxMS4yMworCisJICAgIGlmIGVjaG8gX19MUDY0X18gfCAoQ0NPUFRTPSAkQ0NfRk9SX0JVSUxEIC1FIC0gMj4vZGV2L251bGwpIHwKKwkJZ3JlcCAtcSBfX0xQNjRfXworCSAgICB0aGVuCisJCUhQX0FSQ0g9ImhwcGEyLjB3IgorCSAgICBlbHNlCisJCUhQX0FSQ0g9ImhwcGE2NCIKKwkgICAgZmkKKwlmaQorCWVjaG8gJHtIUF9BUkNIfS1ocC1ocHV4JHtIUFVYX1JFVn0KKwlleGl0IDs7CisgICAgaWE2NDpIUC1VWDoqOiopCisJSFBVWF9SRVY9YGVjaG8gJHtVTkFNRV9SRUxFQVNFfXxzZWQgLWUgJ3MvW14uXSouWzBCXSovLydgCisJZWNobyBpYTY0LWhwLWhwdXgke0hQVVhfUkVWfQorCWV4aXQgOzsKKyAgICAzMDUwKjpISS1VWDoqOiopCisJZXZhbCAkc2V0X2NjX2Zvcl9idWlsZAorCXNlZCAncy9eCS8vJyA8PCBFT0YgPiRkdW1teS5jCisJI2luY2x1ZGUgPHVuaXN0ZC5oPgorCWludAorCW1haW4gKCkKKwl7CisJICBsb25nIGNwdSA9IHN5c2NvbmYgKF9TQ19DUFVfVkVSU0lPTik7CisJICAvKiBUaGUgb3JkZXIgbWF0dGVycywgYmVjYXVzZSBDUFVfSVNfSFBfTUM2OEsgZXJyb25lb3VzbHkgcmV0dXJucworCSAgICAgdHJ1ZSBmb3IgQ1BVX1BBX1JJU0MxXzAuICBDUFVfSVNfUEFfUklTQyByZXR1cm5zIGNvcnJlY3QKKwkgICAgIHJlc3VsdHMsIGhvd2V2ZXIuICAqLworCSAgaWYgKENQVV9JU19QQV9SSVNDIChjcHUpKQorCSAgICB7CisJICAgICAgc3dpdGNoIChjcHUpCisJCXsKKwkJICBjYXNlIENQVV9QQV9SSVNDMV8wOiBwdXRzICgiaHBwYTEuMC1oaXRhY2hpLWhpdXh3ZTIiKTsgYnJlYWs7CisJCSAgY2FzZSBDUFVfUEFfUklTQzFfMTogcHV0cyAoImhwcGExLjEtaGl0YWNoaS1oaXV4d2UyIik7IGJyZWFrOworCQkgIGNhc2UgQ1BVX1BBX1JJU0MyXzA6IHB1dHMgKCJocHBhMi4wLWhpdGFjaGktaGl1eHdlMiIpOyBicmVhazsKKwkJICBkZWZhdWx0OiBwdXRzICgiaHBwYS1oaXRhY2hpLWhpdXh3ZTIiKTsgYnJlYWs7CisJCX0KKwkgICAgfQorCSAgZWxzZSBpZiAoQ1BVX0lTX0hQX01DNjhLIChjcHUpKQorCSAgICBwdXRzICgibTY4ay1oaXRhY2hpLWhpdXh3ZTIiKTsKKwkgIGVsc2UgcHV0cyAoInVua25vd24taGl0YWNoaS1oaXV4d2UyIik7CisJICBleGl0ICgwKTsKKwl9CitFT0YKKwkkQ0NfRk9SX0JVSUxEIC1vICRkdW1teSAkZHVtbXkuYyAmJiBTWVNURU1fTkFNRT1gJGR1bW15YCAmJgorCQl7IGVjaG8gIiRTWVNURU1fTkFNRSI7IGV4aXQ7IH0KKwllY2hvIHVua25vd24taGl0YWNoaS1oaXV4d2UyCisJZXhpdCA7OworICAgIDkwMDAvNz8/OjQuM2JzZDoqOiogfCA5MDAwLzg/Wzc5XTo0LjNic2Q6KjoqICkKKwllY2hvIGhwcGExLjEtaHAtYnNkCisJZXhpdCA7OworICAgIDkwMDAvOD8/OjQuM2JzZDoqOiopCisJZWNobyBocHBhMS4wLWhwLWJzZAorCWV4aXQgOzsKKyAgICAqOT8/KjpNUEUvaVg6KjoqIHwgKjMwMDAqOk1QRS9pWDoqOiopCisJZWNobyBocHBhMS4wLWhwLW1wZWl4CisJZXhpdCA7OworICAgIGhwNz8/Ok9TRjE6KjoqIHwgaHA4P1s3OV06T1NGMToqOiogKQorCWVjaG8gaHBwYTEuMS1ocC1vc2YKKwlleGl0IDs7CisgICAgaHA4Pz86T1NGMToqOiopCisJZWNobyBocHBhMS4wLWhwLW9zZgorCWV4aXQgOzsKKyAgICBpKjg2Ok9TRjE6KjoqKQorCWlmIFsgLXggL3Vzci9zYmluL3N5c3ZlcnNpb24gXSA7IHRoZW4KKwkgICAgZWNobyAke1VOQU1FX01BQ0hJTkV9LXVua25vd24tb3NmMW1rCisJZWxzZQorCSAgICBlY2hvICR7VU5BTUVfTUFDSElORX0tdW5rbm93bi1vc2YxCisJZmkKKwlleGl0IDs7CisgICAgcGFyaXNjKjpMaXRlcyo6KjoqKQorCWVjaG8gaHBwYTEuMS1ocC1saXRlcworCWV4aXQgOzsKKyAgICBDMSo6Q29udmV4T1M6KjoqIHwgY29udmV4OkNvbnZleE9TOkMxKjoqKQorCWVjaG8gYzEtY29udmV4LWJzZAorICAgICAgICBleGl0IDs7CisgICAgQzIqOkNvbnZleE9TOio6KiB8IGNvbnZleDpDb252ZXhPUzpDMio6KikKKwlpZiBnZXRzeXNpbmZvIC1mIHNjYWxhcl9hY2MKKwl0aGVuIGVjaG8gYzMyLWNvbnZleC1ic2QKKwllbHNlIGVjaG8gYzItY29udmV4LWJzZAorCWZpCisgICAgICAgIGV4aXQgOzsKKyAgICBDMzQqOkNvbnZleE9TOio6KiB8IGNvbnZleDpDb252ZXhPUzpDMzQqOiopCisJZWNobyBjMzQtY29udmV4LWJzZAorICAgICAgICBleGl0IDs7CisgICAgQzM4KjpDb252ZXhPUzoqOiogfCBjb252ZXg6Q29udmV4T1M6QzM4KjoqKQorCWVjaG8gYzM4LWNvbnZleC1ic2QKKyAgICAgICAgZXhpdCA7OworICAgIEM0KjpDb252ZXhPUzoqOiogfCBjb252ZXg6Q29udmV4T1M6QzQqOiopCisJZWNobyBjNC1jb252ZXgtYnNkCisgICAgICAgIGV4aXQgOzsKKyAgICBDUkFZKlktTVA6KjoqOiopCisJZWNobyB5bXAtY3JheS11bmljb3Mke1VOQU1FX1JFTEVBU0V9IHwgc2VkIC1lICdzL1wuW14uXSokLy5YLycKKwlleGl0IDs7CisgICAgQ1JBWSpbQS1aXTkwOio6KjoqKQorCWVjaG8gJHtVTkFNRV9NQUNISU5FfS1jcmF5LXVuaWNvcyR7VU5BTUVfUkVMRUFTRX0gXAorCXwgc2VkIC1lICdzL0NSQVkuKlwoW0EtWl05MFwpL1wxLycgXAorCSAgICAgIC1lIHkvQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVovYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXovIFwKKwkgICAgICAtZSAncy9cLlteLl0qJC8uWC8nCisJZXhpdCA7OworICAgIENSQVkqVFM6KjoqOiopCisJZWNobyB0OTAtY3JheS11bmljb3Mke1VOQU1FX1JFTEVBU0V9IHwgc2VkIC1lICdzL1wuW14uXSokLy5YLycKKwlleGl0IDs7CisgICAgQ1JBWSpUM0U6KjoqOiopCisJZWNobyBhbHBoYWV2NS1jcmF5LXVuaWNvc21rJHtVTkFNRV9SRUxFQVNFfSB8IHNlZCAtZSAncy9cLlteLl0qJC8uWC8nCisJZXhpdCA7OworICAgIENSQVkqU1YxOio6KjoqKQorCWVjaG8gc3YxLWNyYXktdW5pY29zJHtVTkFNRV9SRUxFQVNFfSB8IHNlZCAtZSAncy9cLlteLl0qJC8uWC8nCisJZXhpdCA7OworICAgICo6VU5JQ09TL21wOio6KikKKwllY2hvIGNyYXludi1jcmF5LXVuaWNvc21wJHtVTkFNRV9SRUxFQVNFfSB8IHNlZCAtZSAncy9cLlteLl0qJC8uWC8nCisJZXhpdCA7OworICAgIEYzMFswMV06VU5JWF9TeXN0ZW1fVjoqOiogfCBGNzAwOlVOSVhfU3lzdGVtX1Y6KjoqKQorCUZVSklUU1VfUFJPQz1gdW5hbWUgLW0gfCB0ciAnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVonICdhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eidgCisgICAgICAgIEZVSklUU1VfU1lTPWB1bmFtZSAtcCB8IHRyICdBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWicgJ2FiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6JyB8IHNlZCAtZSAncy9cLy8vJ2AKKyAgICAgICAgRlVKSVRTVV9SRUw9YGVjaG8gJHtVTkFNRV9SRUxFQVNFfSB8IHNlZCAtZSAncy8gL18vJ2AKKyAgICAgICAgZWNobyAiJHtGVUpJVFNVX1BST0N9LWZ1aml0c3UtJHtGVUpJVFNVX1NZU30ke0ZVSklUU1VfUkVMfSIKKyAgICAgICAgZXhpdCA7OworICAgIDUwMDA6VU5JWF9TeXN0ZW1fVjo0Lio6KikKKyAgICAgICAgRlVKSVRTVV9TWVM9YHVuYW1lIC1wIHwgdHIgJ0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaJyAnYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXonIHwgc2VkIC1lICdzL1wvLy8nYAorICAgICAgICBGVUpJVFNVX1JFTD1gZWNobyAke1VOQU1FX1JFTEVBU0V9IHwgdHIgJ0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaJyAnYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXonIHwgc2VkIC1lICdzLyAvXy8nYAorICAgICAgICBlY2hvICJzcGFyYy1mdWppdHN1LSR7RlVKSVRTVV9TWVN9JHtGVUpJVFNVX1JFTH0iCisJZXhpdCA7OworICAgIGkqODY6QlNELzM4NjoqOiogfCBpKjg2OkJTRC9PUzoqOiogfCAqOkFzY2VuZFwgRW1iZWRkZWQvT1M6KjoqKQorCWVjaG8gJHtVTkFNRV9NQUNISU5FfS1wYy1ic2RpJHtVTkFNRV9SRUxFQVNFfQorCWV4aXQgOzsKKyAgICBzcGFyYyo6QlNEL09TOio6KikKKwllY2hvIHNwYXJjLXVua25vd24tYnNkaSR7VU5BTUVfUkVMRUFTRX0KKwlleGl0IDs7CisgICAgKjpCU0QvT1M6KjoqKQorCWVjaG8gJHtVTkFNRV9NQUNISU5FfS11bmtub3duLWJzZGkke1VOQU1FX1JFTEVBU0V9CisJZXhpdCA7OworICAgICo6RnJlZUJTRDoqOiopCisJY2FzZSAke1VOQU1FX01BQ0hJTkV9IGluCisJICAgIHBjOTgpCisJCWVjaG8gaTM4Ni11bmtub3duLWZyZWVic2RgZWNobyAke1VOQU1FX1JFTEVBU0V9fHNlZCAtZSAncy9bLShdLiovLydgIDs7CisJICAgIGFtZDY0KQorCQllY2hvIHg4Nl82NC11bmtub3duLWZyZWVic2RgZWNobyAke1VOQU1FX1JFTEVBU0V9fHNlZCAtZSAncy9bLShdLiovLydgIDs7CisJICAgICopCisJCWVjaG8gJHtVTkFNRV9NQUNISU5FfS11bmtub3duLWZyZWVic2RgZWNobyAke1VOQU1FX1JFTEVBU0V9fHNlZCAtZSAncy9bLShdLiovLydgIDs7CisJZXNhYworCWV4aXQgOzsKKyAgICBpKjpDWUdXSU4qOiopCisJZWNobyAke1VOQU1FX01BQ0hJTkV9LXBjLWN5Z3dpbgorCWV4aXQgOzsKKyAgICAqOk1JTkdXKjoqKQorCWVjaG8gJHtVTkFNRV9NQUNISU5FfS1wYy1taW5ndzMyCisJZXhpdCA7OworICAgIGkqOndpbmRvd3MzMio6KikKKyAgICAJIyB1bmFtZSAtbSBpbmNsdWRlcyAiLXBjIiBvbiB0aGlzIHN5c3RlbS4KKyAgICAJZWNobyAke1VOQU1FX01BQ0hJTkV9LW1pbmd3MzIKKwlleGl0IDs7CisgICAgaSo6UFcqOiopCisJZWNobyAke1VOQU1FX01BQ0hJTkV9LXBjLXB3MzIKKwlleGl0IDs7CisgICAgKjpJbnRlcml4KjoqKQorICAgIAljYXNlICR7VU5BTUVfTUFDSElORX0gaW4KKwkgICAgeDg2KQorCQllY2hvIGk1ODYtcGMtaW50ZXJpeCR7VU5BTUVfUkVMRUFTRX0KKwkJZXhpdCA7OworCSAgICBhdXRoZW50aWNhbWQgfCBnZW51aW5laW50ZWwgfCBFTTY0VCkKKwkJZWNobyB4ODZfNjQtdW5rbm93bi1pbnRlcml4JHtVTkFNRV9SRUxFQVNFfQorCQlleGl0IDs7CisJICAgIElBNjQpCisJCWVjaG8gaWE2NC11bmtub3duLWludGVyaXgke1VOQU1FX1JFTEVBU0V9CisJCWV4aXQgOzsKKwllc2FjIDs7CisgICAgWzM0NV04NjpXaW5kb3dzXzk1OiogfCBbMzQ1XTg2OldpbmRvd3NfOTg6KiB8IFszNDVdODY6V2luZG93c19OVDoqKQorCWVjaG8gaSR7VU5BTUVfTUFDSElORX0tcGMtbWtzCisJZXhpdCA7OworICAgIDg2NjQ6V2luZG93c19OVDoqKQorCWVjaG8geDg2XzY0LXBjLW1rcworCWV4aXQgOzsKKyAgICBpKjpXaW5kb3dzX05UKjoqIHwgUGVudGl1bSo6V2luZG93c19OVCo6KikKKwkjIEhvdyBkbyB3ZSBrbm93IGl0J3MgSW50ZXJpeCByYXRoZXIgdGhhbiB0aGUgZ2VuZXJpYyBQT1NJWCBzdWJzeXN0ZW0/CisJIyBJdCBhbHNvIGNvbmZsaWN0cyB3aXRoIHByZS0yLjAgdmVyc2lvbnMgb2YgQVQmVCBVV0lOLiBTaG91bGQgd2UKKwkjIFVOQU1FX01BQ0hJTkUgYmFzZWQgb24gdGhlIG91dHB1dCBvZiB1bmFtZSBpbnN0ZWFkIG9mIGkzODY/CisJZWNobyBpNTg2LXBjLWludGVyaXgKKwlleGl0IDs7CisgICAgaSo6VVdJTio6KikKKwllY2hvICR7VU5BTUVfTUFDSElORX0tcGMtdXdpbgorCWV4aXQgOzsKKyAgICBhbWQ2NDpDWUdXSU4qOio6KiB8IHg4Nl82NDpDWUdXSU4qOio6KikKKwllY2hvIHg4Nl82NC11bmtub3duLWN5Z3dpbgorCWV4aXQgOzsKKyAgICBwKjpDWUdXSU4qOiopCisJZWNobyBwb3dlcnBjbGUtdW5rbm93bi1jeWd3aW4KKwlleGl0IDs7CisgICAgcHJlcCo6U3VuT1M6NS4qOiopCisJZWNobyBwb3dlcnBjbGUtdW5rbm93bi1zb2xhcmlzMmBlY2hvICR7VU5BTUVfUkVMRUFTRX18c2VkIC1lICdzL1teLl0qLy8nYAorCWV4aXQgOzsKKyAgICAqOkdOVToqOiopCisJIyB0aGUgR05VIHN5c3RlbQorCWVjaG8gYGVjaG8gJHtVTkFNRV9NQUNISU5FfXxzZWQgLWUgJ3MsWy0vXS4qJCwsJ2AtdW5rbm93bi1nbnVgZWNobyAke1VOQU1FX1JFTEVBU0V9fHNlZCAtZSAncywvLiokLCwnYAorCWV4aXQgOzsKKyAgICAqOkdOVS8qOio6KikKKwkjIG90aGVyIHN5c3RlbXMgd2l0aCBHTlUgbGliYyBhbmQgdXNlcmxhbmQKKwllY2hvICR7VU5BTUVfTUFDSElORX0tdW5rbm93bi1gZWNobyAke1VOQU1FX1NZU1RFTX0gfCBzZWQgJ3MsXlteL10qLywsJyB8IHRyICdbQS1aXScgJ1thLXpdJ2BgZWNobyAke1VOQU1FX1JFTEVBU0V9fHNlZCAtZSAncy9bLShdLiovLydgLWdudQorCWV4aXQgOzsKKyAgICBpKjg2Ok1pbml4Oio6KikKKwllY2hvICR7VU5BTUVfTUFDSElORX0tcGMtbWluaXgKKwlleGl0IDs7CisgICAgYWxwaGE6TGludXg6KjoqKQorCWNhc2UgYHNlZCAtbiAnL15jcHUgbW9kZWwvcy9eLio6IFwoLipcKS9cMS9wJyA8IC9wcm9jL2NwdWluZm9gIGluCisJICBFVjUpICAgVU5BTUVfTUFDSElORT1hbHBoYWV2NSA7OworCSAgRVY1NikgIFVOQU1FX01BQ0hJTkU9YWxwaGFldjU2IDs7CisJICBQQ0E1NikgVU5BTUVfTUFDSElORT1hbHBoYXBjYTU2IDs7CisJICBQQ0E1NykgVU5BTUVfTUFDSElORT1hbHBoYXBjYTU2IDs7CisJICBFVjYpICAgVU5BTUVfTUFDSElORT1hbHBoYWV2NiA7OworCSAgRVY2NykgIFVOQU1FX01BQ0hJTkU9YWxwaGFldjY3IDs7CisJICBFVjY4KikgVU5BTUVfTUFDSElORT1hbHBoYWV2NjggOzsKKyAgICAgICAgZXNhYworCW9iamR1bXAgLS1wcml2YXRlLWhlYWRlcnMgL2Jpbi9zaCB8IGdyZXAgLXEgbGQuc28uMQorCWlmIHRlc3QgIiQ/IiA9IDAgOyB0aGVuIExJQkM9ImxpYmMxIiA7IGVsc2UgTElCQz0iIiA7IGZpCisJZWNobyAke1VOQU1FX01BQ0hJTkV9LXVua25vd24tbGludXgtZ251JHtMSUJDfQorCWV4aXQgOzsKKyAgICBhcm0qOkxpbnV4Oio6KikKKwlldmFsICRzZXRfY2NfZm9yX2J1aWxkCisJaWYgZWNobyBfX0FSTV9FQUJJX18gfCAkQ0NfRk9SX0JVSUxEIC1FIC0gMj4vZGV2L251bGwgXAorCSAgICB8IGdyZXAgLXEgX19BUk1fRUFCSV9fCisJdGhlbgorCSAgICBlY2hvICR7VU5BTUVfTUFDSElORX0tdW5rbm93bi1saW51eC1nbnUKKwllbHNlCisJICAgIGVjaG8gJHtVTkFNRV9NQUNISU5FfS11bmtub3duLWxpbnV4LWdudWVhYmkKKwlmaQorCWV4aXQgOzsKKyAgICBhdnIzMio6TGludXg6KjoqKQorCWVjaG8gJHtVTkFNRV9NQUNISU5FfS11bmtub3duLWxpbnV4LWdudQorCWV4aXQgOzsKKyAgICBjcmlzOkxpbnV4Oio6KikKKwllY2hvIGNyaXMtYXhpcy1saW51eC1nbnUKKwlleGl0IDs7CisgICAgY3Jpc3YzMjpMaW51eDoqOiopCisJZWNobyBjcmlzdjMyLWF4aXMtbGludXgtZ251CisJZXhpdCA7OworICAgIGZydjpMaW51eDoqOiopCisgICAgCWVjaG8gZnJ2LXVua25vd24tbGludXgtZ251CisJZXhpdCA7OworICAgIGkqODY6TGludXg6KjoqKQorCUxJQkM9Z251CisJZXZhbCAkc2V0X2NjX2Zvcl9idWlsZAorCXNlZCAncy9eCS8vJyA8PCBFT0YgPiRkdW1teS5jCisJI2lmZGVmIF9fZGlldGxpYmNfXworCUxJQkM9ZGlldGxpYmMKKwkjZW5kaWYKK0VPRgorCWV2YWwgYCRDQ19GT1JfQlVJTEQgLUUgJGR1bW15LmMgMj4vZGV2L251bGwgfCBncmVwICdeTElCQydgCisJZWNobyAiJHtVTkFNRV9NQUNISU5FfS1wYy1saW51eC0ke0xJQkN9IgorCWV4aXQgOzsKKyAgICBpYTY0OkxpbnV4Oio6KikKKwllY2hvICR7VU5BTUVfTUFDSElORX0tdW5rbm93bi1saW51eC1nbnUKKwlleGl0IDs7CisgICAgbTMycio6TGludXg6KjoqKQorCWVjaG8gJHtVTkFNRV9NQUNISU5FfS11bmtub3duLWxpbnV4LWdudQorCWV4aXQgOzsKKyAgICBtNjgqOkxpbnV4Oio6KikKKwllY2hvICR7VU5BTUVfTUFDSElORX0tdW5rbm93bi1saW51eC1nbnUKKwlleGl0IDs7CisgICAgbWlwczpMaW51eDoqOiogfCBtaXBzNjQ6TGludXg6KjoqKQorCWV2YWwgJHNldF9jY19mb3JfYnVpbGQKKwlzZWQgJ3MvXgkvLycgPDwgRU9GID4kZHVtbXkuYworCSN1bmRlZiBDUFUKKwkjdW5kZWYgJHtVTkFNRV9NQUNISU5FfQorCSN1bmRlZiAke1VOQU1FX01BQ0hJTkV9ZWwKKwkjaWYgZGVmaW5lZChfX01JUFNFTF9fKSB8fCBkZWZpbmVkKF9fTUlQU0VMKSB8fCBkZWZpbmVkKF9NSVBTRUwpIHx8IGRlZmluZWQoTUlQU0VMKQorCUNQVT0ke1VOQU1FX01BQ0hJTkV9ZWwKKwkjZWxzZQorCSNpZiBkZWZpbmVkKF9fTUlQU0VCX18pIHx8IGRlZmluZWQoX19NSVBTRUIpIHx8IGRlZmluZWQoX01JUFNFQikgfHwgZGVmaW5lZChNSVBTRUIpCisJQ1BVPSR7VU5BTUVfTUFDSElORX0KKwkjZWxzZQorCUNQVT0KKwkjZW5kaWYKKwkjZW5kaWYKK0VPRgorCWV2YWwgYCRDQ19GT1JfQlVJTEQgLUUgJGR1bW15LmMgMj4vZGV2L251bGwgfCBncmVwICdeQ1BVJ2AKKwl0ZXN0IHgiJHtDUFV9IiAhPSB4ICYmIHsgZWNobyAiJHtDUFV9LXVua25vd24tbGludXgtZ251IjsgZXhpdDsgfQorCTs7CisgICAgb3IzMjpMaW51eDoqOiopCisJZWNobyBvcjMyLXVua25vd24tbGludXgtZ251CisJZXhpdCA7OworICAgIHBhZHJlOkxpbnV4Oio6KikKKwllY2hvIHNwYXJjLXVua25vd24tbGludXgtZ251CisJZXhpdCA7OworICAgIHBhcmlzYzY0OkxpbnV4Oio6KiB8IGhwcGE2NDpMaW51eDoqOiopCisJZWNobyBocHBhNjQtdW5rbm93bi1saW51eC1nbnUKKwlleGl0IDs7CisgICAgcGFyaXNjOkxpbnV4Oio6KiB8IGhwcGE6TGludXg6KjoqKQorCSMgTG9vayBmb3IgQ1BVIGxldmVsCisJY2FzZSBgZ3JlcCAnXmNwdVteYS16XSo6JyAvcHJvYy9jcHVpbmZvIDI+L2Rldi9udWxsIHwgY3V0IC1kJyAnIC1mMmAgaW4KKwkgIFBBNyopIGVjaG8gaHBwYTEuMS11bmtub3duLWxpbnV4LWdudSA7OworCSAgUEE4KikgZWNobyBocHBhMi4wLXVua25vd24tbGludXgtZ251IDs7CisJICAqKSAgICBlY2hvIGhwcGEtdW5rbm93bi1saW51eC1nbnUgOzsKKwllc2FjCisJZXhpdCA7OworICAgIHBwYzY0OkxpbnV4Oio6KikKKwllY2hvIHBvd2VycGM2NC11bmtub3duLWxpbnV4LWdudQorCWV4aXQgOzsKKyAgICBwcGM6TGludXg6KjoqKQorCWVjaG8gcG93ZXJwYy11bmtub3duLWxpbnV4LWdudQorCWV4aXQgOzsKKyAgICBzMzkwOkxpbnV4Oio6KiB8IHMzOTB4OkxpbnV4Oio6KikKKwllY2hvICR7VU5BTUVfTUFDSElORX0taWJtLWxpbnV4CisJZXhpdCA7OworICAgIHNoNjQqOkxpbnV4Oio6KikKKyAgICAJZWNobyAke1VOQU1FX01BQ0hJTkV9LXVua25vd24tbGludXgtZ251CisJZXhpdCA7OworICAgIHNoKjpMaW51eDoqOiopCisJZWNobyAke1VOQU1FX01BQ0hJTkV9LXVua25vd24tbGludXgtZ251CisJZXhpdCA7OworICAgIHNwYXJjOkxpbnV4Oio6KiB8IHNwYXJjNjQ6TGludXg6KjoqKQorCWVjaG8gJHtVTkFNRV9NQUNISU5FfS11bmtub3duLWxpbnV4LWdudQorCWV4aXQgOzsKKyAgICB2YXg6TGludXg6KjoqKQorCWVjaG8gJHtVTkFNRV9NQUNISU5FfS1kZWMtbGludXgtZ251CisJZXhpdCA7OworICAgIHg4Nl82NDpMaW51eDoqOiopCisJZWNobyB4ODZfNjQtdW5rbm93bi1saW51eC1nbnUKKwlleGl0IDs7CisgICAgeHRlbnNhKjpMaW51eDoqOiopCisgICAgCWVjaG8gJHtVTkFNRV9NQUNISU5FfS11bmtub3duLWxpbnV4LWdudQorCWV4aXQgOzsKKyAgICBpKjg2OkRZTklYL3B0eDo0KjoqKQorCSMgcHR4IDQuMCBkb2VzIHVuYW1lIC1zIGNvcnJlY3RseSwgd2l0aCBEWU5JWC9wdHggaW4gdGhlcmUuCisJIyBlYXJsaWVyIHZlcnNpb25zIGFyZSBtZXNzZWQgdXAgYW5kIHB1dCB0aGUgbm9kZW5hbWUgaW4gYm90aAorCSMgc3lzbmFtZSBhbmQgbm9kZW5hbWUuCisJZWNobyBpMzg2LXNlcXVlbnQtc3lzdjQKKwlleGl0IDs7CisgICAgaSo4NjpVTklYX1NWOjQuMk1QOjIuKikKKyAgICAgICAgIyBVbml4d2FyZSBpcyBhbiBvZmZzaG9vdCBvZiBTVlI0LCBidXQgaXQgaGFzIGl0cyBvd24gdmVyc2lvbgorICAgICAgICAjIG51bWJlciBzZXJpZXMgc3RhcnRpbmcgd2l0aCAyLi4uCisgICAgICAgICMgSSBhbSBub3QgcG9zaXRpdmUgdGhhdCBvdGhlciBTVlI0IHN5c3RlbXMgd29uJ3QgbWF0Y2ggdGhpcywKKwkjIEkganVzdCBoYXZlIHRvIGhvcGUuICAtLSBybXMuCisgICAgICAgICMgVXNlIHN5c3Y0LjJ1dy4uLiBzbyB0aGF0IHN5c3Y0KiBtYXRjaGVzIGl0LgorCWVjaG8gJHtVTkFNRV9NQUNISU5FfS1wYy1zeXN2NC4ydXcke1VOQU1FX1ZFUlNJT059CisJZXhpdCA7OworICAgIGkqODY6T1MvMjoqOiopCisJIyBJZiB3ZSB3ZXJlIGFibGUgdG8gZmluZCBgdW5hbWUnLCB0aGVuIEVNWCBVbml4IGNvbXBhdGliaWxpdHkKKwkjIGlzIHByb2JhYmx5IGluc3RhbGxlZC4KKwllY2hvICR7VU5BTUVfTUFDSElORX0tcGMtb3MyLWVteAorCWV4aXQgOzsKKyAgICBpKjg2OlhUUy0zMDA6KjpTVE9QKQorCWVjaG8gJHtVTkFNRV9NQUNISU5FfS11bmtub3duLXN0b3AKKwlleGl0IDs7CisgICAgaSo4NjphdGhlb3M6KjoqKQorCWVjaG8gJHtVTkFNRV9NQUNISU5FfS11bmtub3duLWF0aGVvcworCWV4aXQgOzsKKyAgICBpKjg2OnN5bGxhYmxlOio6KikKKwllY2hvICR7VU5BTUVfTUFDSElORX0tcGMtc3lsbGFibGUKKwlleGl0IDs7CisgICAgaSo4NjpMeW54T1M6Mi4qOiogfCBpKjg2Okx5bnhPUzozLlswMV0qOiogfCBpKjg2Okx5bnhPUzo0LlswMl0qOiopCisJZWNobyBpMzg2LXVua25vd24tbHlueG9zJHtVTkFNRV9SRUxFQVNFfQorCWV4aXQgOzsKKyAgICBpKjg2OipET1M6KjoqKQorCWVjaG8gJHtVTkFNRV9NQUNISU5FfS1wYy1tc2Rvc2RqZ3BwCisJZXhpdCA7OworICAgIGkqODY6Kjo0Lio6KiB8IGkqODY6U1lTVEVNX1Y6NC4qOiopCisJVU5BTUVfUkVMPWBlY2hvICR7VU5BTUVfUkVMRUFTRX0gfCBzZWQgJ3MvXC9NUCQvLydgCisJaWYgZ3JlcCBOb3ZlbGwgL3Vzci9pbmNsdWRlL2xpbmsuaCA+L2Rldi9udWxsIDI+L2Rldi9udWxsOyB0aGVuCisJCWVjaG8gJHtVTkFNRV9NQUNISU5FfS11bml2ZWwtc3lzdiR7VU5BTUVfUkVMfQorCWVsc2UKKwkJZWNobyAke1VOQU1FX01BQ0hJTkV9LXBjLXN5c3Yke1VOQU1FX1JFTH0KKwlmaQorCWV4aXQgOzsKKyAgICBpKjg2Oio6NTpbNjc4XSopCisgICAgCSMgVW5peFdhcmUgNy54LCBPcGVuVU5JWCBhbmQgT3BlblNlcnZlciA2LgorCWNhc2UgYC9iaW4vdW5hbWUgLVggfCBncmVwICJeTWFjaGluZSJgIGluCisJICAgICo0ODYqKQkgICAgIFVOQU1FX01BQ0hJTkU9aTQ4NiA7OworCSAgICAqUGVudGl1bSkJICAgICBVTkFNRV9NQUNISU5FPWk1ODYgOzsKKwkgICAgKlBlbnQqfCpDZWxlcm9uKSBVTkFNRV9NQUNISU5FPWk2ODYgOzsKKwllc2FjCisJZWNobyAke1VOQU1FX01BQ0hJTkV9LXVua25vd24tc3lzdiR7VU5BTUVfUkVMRUFTRX0ke1VOQU1FX1NZU1RFTX0ke1VOQU1FX1ZFUlNJT059CisJZXhpdCA7OworICAgIGkqODY6KjozLjI6KikKKwlpZiB0ZXN0IC1mIC91c3Ivb3B0aW9ucy9jYi5uYW1lOyB0aGVuCisJCVVOQU1FX1JFTD1gc2VkIC1uICdzLy4qVmVyc2lvbiAvL3AnIDwvdXNyL29wdGlvbnMvY2IubmFtZWAKKwkJZWNobyAke1VOQU1FX01BQ0hJTkV9LXBjLWlzYyRVTkFNRV9SRUwKKwllbGlmIC9iaW4vdW5hbWUgLVggMj4vZGV2L251bGwgPi9kZXYvbnVsbCA7IHRoZW4KKwkJVU5BTUVfUkVMPWAoL2Jpbi91bmFtZSAtWHxncmVwIFJlbGVhc2V8c2VkIC1lICdzLy4qPSAvLycpYAorCQkoL2Jpbi91bmFtZSAtWHxncmVwIGk4MDQ4NiA+L2Rldi9udWxsKSAmJiBVTkFNRV9NQUNISU5FPWk0ODYKKwkJKC9iaW4vdW5hbWUgLVh8Z3JlcCAnXk1hY2hpbmUuKlBlbnRpdW0nID4vZGV2L251bGwpIFwKKwkJCSYmIFVOQU1FX01BQ0hJTkU9aTU4NgorCQkoL2Jpbi91bmFtZSAtWHxncmVwICdeTWFjaGluZS4qUGVudCAqSUknID4vZGV2L251bGwpIFwKKwkJCSYmIFVOQU1FX01BQ0hJTkU9aTY4NgorCQkoL2Jpbi91bmFtZSAtWHxncmVwICdeTWFjaGluZS4qUGVudGl1bSBQcm8nID4vZGV2L251bGwpIFwKKwkJCSYmIFVOQU1FX01BQ0hJTkU9aTY4NgorCQllY2hvICR7VU5BTUVfTUFDSElORX0tcGMtc2NvJFVOQU1FX1JFTAorCWVsc2UKKwkJZWNobyAke1VOQU1FX01BQ0hJTkV9LXBjLXN5c3YzMgorCWZpCisJZXhpdCA7OworICAgIHBjOio6KjoqKQorCSMgTGVmdCBoZXJlIGZvciBjb21wYXRpYmlsaXR5OgorICAgICAgICAjIHVuYW1lIC1tIHByaW50cyBmb3IgREpHUFAgYWx3YXlzICdwYycsIGJ1dCBpdCBwcmludHMgbm90aGluZyBhYm91dAorICAgICAgICAjIHRoZSBwcm9jZXNzb3IsIHNvIHdlIHBsYXkgc2FmZSBieSBhc3N1bWluZyBpNTg2LgorCSMgTm90ZTogd2hhdGV2ZXIgdGhpcyBpcywgaXQgTVVTVCBiZSB0aGUgc2FtZSBhcyB3aGF0IGNvbmZpZy5zdWIKKwkjIHByaW50cyBmb3IgdGhlICJkamdwcCIgaG9zdCwgb3IgZWxzZSBHREIgY29uZmlndXJ5IHdpbGwgZGVjaWRlIHRoYXQKKwkjIHRoaXMgaXMgYSBjcm9zcy1idWlsZC4KKwllY2hvIGk1ODYtcGMtbXNkb3NkamdwcAorICAgICAgICBleGl0IDs7CisgICAgSW50ZWw6TWFjaDozKjoqKQorCWVjaG8gaTM4Ni1wYy1tYWNoMworCWV4aXQgOzsKKyAgICBwYXJhZ29uOio6KjoqKQorCWVjaG8gaTg2MC1pbnRlbC1vc2YxCisJZXhpdCA7OworICAgIGk4NjA6Kjo0Lio6KikgIyBpODYwLVNWUjQKKwlpZiBncmVwIFN0YXJkZW50IC91c3IvaW5jbHVkZS9zeXMvdWFkbWluLmggPi9kZXYvbnVsbCAyPiYxIDsgdGhlbgorCSAgZWNobyBpODYwLXN0YXJkZW50LXN5c3Yke1VOQU1FX1JFTEVBU0V9ICMgU3RhcmRlbnQgVmlzdHJhIGk4NjAtU1ZSNAorCWVsc2UgIyBBZGQgb3RoZXIgaTg2MC1TVlI0IHZlbmRvcnMgYmVsb3cgYXMgdGhleSBhcmUgZGlzY292ZXJlZC4KKwkgIGVjaG8gaTg2MC11bmtub3duLXN5c3Yke1VOQU1FX1JFTEVBU0V9ICAjIFVua25vd24gaTg2MC1TVlI0CisJZmkKKwlleGl0IDs7CisgICAgbWluaSo6Q1RJWDpTWVMqNToqKQorCSMgIm1pbmlmcmFtZSIKKwllY2hvIG02ODAxMC1jb252ZXJnZW50LXN5c3YKKwlleGl0IDs7CisgICAgbWM2OGs6VU5JWDpTWVNURU01OjMuNTFtKQorCWVjaG8gbTY4ay1jb252ZXJnZW50LXN5c3YKKwlleGl0IDs7CisgICAgTTY4MD8wOkQtTklYOjUuMzoqKQorCWVjaG8gbTY4ay1kaWFiLWRuaXgKKwlleGl0IDs7CisgICAgTTY4KjoqOlIzVls1Njc4XSo6KikKKwl0ZXN0IC1yIC9zeXNWNjggJiYgeyBlY2hvICdtNjhrLW1vdG9yb2xhLXN5c3YnOyBleGl0OyB9IDs7CisgICAgM1szNDVdPz86Kjo0LjA6My4wIHwgM1szNF0/P0E6Kjo0LjA6My4wIHwgM1szNF0/PywqOio6NC4wOjMuMCB8IDNbMzRdPz8vKjoqOjQuMDozLjAgfCA0NDAwOio6NC4wOjMuMCB8IDQ4NTA6Kjo0LjA6My4wIHwgU0tBNDA6Kjo0LjA6My4wIHwgU0RTMjoqOjQuMDozLjAgfCBTSEcyOio6NC4wOjMuMCB8IFM3NTAxKjoqOjQuMDozLjApCisJT1NfUkVMPScnCisJdGVzdCAtciAvZXRjLy5yZWxpZCBcCisJJiYgT1NfUkVMPS5gc2VkIC1uICdzL1teIF0qIFteIF0qIFwoWzAtOV1bMC05XVwpLiovXDEvcCcgPCAvZXRjLy5yZWxpZGAKKwkvYmluL3VuYW1lIC1wIDI+L2Rldi9udWxsIHwgZ3JlcCA4NiA+L2Rldi9udWxsIFwKKwkgICYmIHsgZWNobyBpNDg2LW5jci1zeXN2NC4zJHtPU19SRUx9OyBleGl0OyB9CisJL2Jpbi91bmFtZSAtcCAyPi9kZXYvbnVsbCB8IC9iaW4vZ3JlcCBlbnRpdW0gPi9kZXYvbnVsbCBcCisJICAmJiB7IGVjaG8gaTU4Ni1uY3Itc3lzdjQuMyR7T1NfUkVMfTsgZXhpdDsgfSA7OworICAgIDNbMzRdPz86Kjo0LjA6KiB8IDNbMzRdPz8sKjoqOjQuMDoqKQorICAgICAgICAvYmluL3VuYW1lIC1wIDI+L2Rldi9udWxsIHwgZ3JlcCA4NiA+L2Rldi9udWxsIFwKKyAgICAgICAgICAmJiB7IGVjaG8gaTQ4Ni1uY3Itc3lzdjQ7IGV4aXQ7IH0gOzsKKyAgICBOQ1IqOio6NC4yOiogfCBNUFJBUyo6Kjo0LjI6KikKKwlPU19SRUw9Jy4zJworCXRlc3QgLXIgL2V0Yy8ucmVsaWQgXAorCSAgICAmJiBPU19SRUw9LmBzZWQgLW4gJ3MvW14gXSogW14gXSogXChbMC05XVswLTldXCkuKi9cMS9wJyA8IC9ldGMvLnJlbGlkYAorCS9iaW4vdW5hbWUgLXAgMj4vZGV2L251bGwgfCBncmVwIDg2ID4vZGV2L251bGwgXAorCSAgICAmJiB7IGVjaG8gaTQ4Ni1uY3Itc3lzdjQuMyR7T1NfUkVMfTsgZXhpdDsgfQorCS9iaW4vdW5hbWUgLXAgMj4vZGV2L251bGwgfCAvYmluL2dyZXAgZW50aXVtID4vZGV2L251bGwgXAorCSAgICAmJiB7IGVjaG8gaTU4Ni1uY3Itc3lzdjQuMyR7T1NfUkVMfTsgZXhpdDsgfQorCS9iaW4vdW5hbWUgLXAgMj4vZGV2L251bGwgfCAvYmluL2dyZXAgcHRlcm9uID4vZGV2L251bGwgXAorCSAgICAmJiB7IGVjaG8gaTU4Ni1uY3Itc3lzdjQuMyR7T1NfUkVMfTsgZXhpdDsgfSA7OworICAgIG02OCo6THlueE9TOjIuKjoqIHwgbTY4KjpMeW54T1M6My4wKjoqKQorCWVjaG8gbTY4ay11bmtub3duLWx5bnhvcyR7VU5BTUVfUkVMRUFTRX0KKwlleGl0IDs7CisgICAgbWM2ODAzMDpVTklYX1N5c3RlbV9WOjQuKjoqKQorCWVjaG8gbTY4ay1hdGFyaS1zeXN2NAorCWV4aXQgOzsKKyAgICBUU1VOQU1JOkx5bnhPUzoyLio6KikKKwllY2hvIHNwYXJjLXVua25vd24tbHlueG9zJHtVTkFNRV9SRUxFQVNFfQorCWV4aXQgOzsKKyAgICByczYwMDA6THlueE9TOjIuKjoqKQorCWVjaG8gcnM2MDAwLXVua25vd24tbHlueG9zJHtVTkFNRV9SRUxFQVNFfQorCWV4aXQgOzsKKyAgICBQb3dlclBDOkx5bnhPUzoyLio6KiB8IFBvd2VyUEM6THlueE9TOjMuWzAxXSo6KiB8IFBvd2VyUEM6THlueE9TOjQuWzAyXSo6KikKKwllY2hvIHBvd2VycGMtdW5rbm93bi1seW54b3Mke1VOQU1FX1JFTEVBU0V9CisJZXhpdCA7OworICAgIFNNW0JFXVM6VU5JWF9TVjoqOiopCisJZWNobyBtaXBzLWRkZS1zeXN2JHtVTkFNRV9SRUxFQVNFfQorCWV4aXQgOzsKKyAgICBSTSo6UmVsaWFudFVOSVgtKjoqOiopCisJZWNobyBtaXBzLXNuaS1zeXN2NAorCWV4aXQgOzsKKyAgICBSTSo6U0lOSVgtKjoqOiopCisJZWNobyBtaXBzLXNuaS1zeXN2NAorCWV4aXQgOzsKKyAgICAqOlNJTklYLSo6KjoqKQorCWlmIHVuYW1lIC1wIDI+L2Rldi9udWxsID4vZGV2L251bGwgOyB0aGVuCisJCVVOQU1FX01BQ0hJTkU9YCh1bmFtZSAtcCkgMj4vZGV2L251bGxgCisJCWVjaG8gJHtVTkFNRV9NQUNISU5FfS1zbmktc3lzdjQKKwllbHNlCisJCWVjaG8gbnMzMmstc25pLXN5c3YKKwlmaQorCWV4aXQgOzsKKyAgICBQRU5USVVNOio6NC4wKjoqKSAjIFVuaXN5cyBgQ2xlYXJQYXRoIEhNUCBJWCA0MDAwJyBTVlI0L01QIGVmZm9ydAorICAgICAgICAgICAgICAgICAgICAgICMgc2F5cyA8UmljaGFyZC5NLkJhcnRlbEBjY01haWwuQ2Vuc3VzLkdPVj4KKyAgICAgICAgZWNobyBpNTg2LXVuaXN5cy1zeXN2NAorICAgICAgICBleGl0IDs7CisgICAgKjpVTklYX1N5c3RlbV9WOjQqOkZUWCopCisJIyBGcm9tIEdlcmFsZCBIZXdlcyA8aGV3ZXNAb3Blbm1hcmtldC5jb20+LgorCSMgSG93IGFib3V0IGRpZmZlcmVudGlhdGluZyBiZXR3ZWVuIHN0cmF0dXMgYXJjaGl0ZWN0dXJlcz8gLWRqbQorCWVjaG8gaHBwYTEuMS1zdHJhdHVzLXN5c3Y0CisJZXhpdCA7OworICAgICo6KjoqOkZUWCopCisJIyBGcm9tIHNlYW5mQHN3ZGMuc3RyYXR1cy5jb20uCisJZWNobyBpODYwLXN0cmF0dXMtc3lzdjQKKwlleGl0IDs7CisgICAgaSo4NjpWT1M6KjoqKQorCSMgRnJvbSBQYXVsLkdyZWVuQHN0cmF0dXMuY29tLgorCWVjaG8gJHtVTkFNRV9NQUNISU5FfS1zdHJhdHVzLXZvcworCWV4aXQgOzsKKyAgICAqOlZPUzoqOiopCisJIyBGcm9tIFBhdWwuR3JlZW5Ac3RyYXR1cy5jb20uCisJZWNobyBocHBhMS4xLXN0cmF0dXMtdm9zCisJZXhpdCA7OworICAgIG1jNjgqOkEvVVg6KjoqKQorCWVjaG8gbTY4ay1hcHBsZS1hdXgke1VOQU1FX1JFTEVBU0V9CisJZXhpdCA7OworICAgIG5ld3MqOk5FV1MtT1M6Nio6KikKKwllY2hvIG1pcHMtc29ueS1uZXdzb3M2CisJZXhpdCA7OworICAgIFJbMzRdMDAwOipTeXN0ZW1fVio6KjoqIHwgUjQwMDA6VU5JWF9TWVNWOio6KiB8IFIqMDAwOlVOSVhfU1Y6KjoqKQorCWlmIFsgLWQgL3Vzci9uZWMgXTsgdGhlbgorCSAgICAgICAgZWNobyBtaXBzLW5lYy1zeXN2JHtVTkFNRV9SRUxFQVNFfQorCWVsc2UKKwkgICAgICAgIGVjaG8gbWlwcy11bmtub3duLXN5c3Yke1VOQU1FX1JFTEVBU0V9CisJZmkKKyAgICAgICAgZXhpdCA7OworICAgIEJlQm94OkJlT1M6KjoqKQkjIEJlT1MgcnVubmluZyBvbiBoYXJkd2FyZSBtYWRlIGJ5IEJlLCBQUEMgb25seS4KKwllY2hvIHBvd2VycGMtYmUtYmVvcworCWV4aXQgOzsKKyAgICBCZU1hYzpCZU9TOio6KikJIyBCZU9TIHJ1bm5pbmcgb24gTWFjIG9yIE1hYyBjbG9uZSwgUFBDIG9ubHkuCisJZWNobyBwb3dlcnBjLWFwcGxlLWJlb3MKKwlleGl0IDs7CisgICAgQmVQQzpCZU9TOio6KikJIyBCZU9TIHJ1bm5pbmcgb24gSW50ZWwgUEMgY29tcGF0aWJsZS4KKwllY2hvIGk1ODYtcGMtYmVvcworCWV4aXQgOzsKKyAgICBCZVBDOkhhaWt1Oio6KikJIyBIYWlrdSBydW5uaW5nIG9uIEludGVsIFBDIGNvbXBhdGlibGUuCisJZWNobyBpNTg2LXBjLWhhaWt1CisJZXhpdCA7OworICAgIFNYLTQ6U1VQRVItVVg6KjoqKQorCWVjaG8gc3g0LW5lYy1zdXBlcnV4JHtVTkFNRV9SRUxFQVNFfQorCWV4aXQgOzsKKyAgICBTWC01OlNVUEVSLVVYOio6KikKKwllY2hvIHN4NS1uZWMtc3VwZXJ1eCR7VU5BTUVfUkVMRUFTRX0KKwlleGl0IDs7CisgICAgU1gtNjpTVVBFUi1VWDoqOiopCisJZWNobyBzeDYtbmVjLXN1cGVydXgke1VOQU1FX1JFTEVBU0V9CisJZXhpdCA7OworICAgIFNYLTc6U1VQRVItVVg6KjoqKQorCWVjaG8gc3g3LW5lYy1zdXBlcnV4JHtVTkFNRV9SRUxFQVNFfQorCWV4aXQgOzsKKyAgICBTWC04OlNVUEVSLVVYOio6KikKKwllY2hvIHN4OC1uZWMtc3VwZXJ1eCR7VU5BTUVfUkVMRUFTRX0KKwlleGl0IDs7CisgICAgU1gtOFI6U1VQRVItVVg6KjoqKQorCWVjaG8gc3g4ci1uZWMtc3VwZXJ1eCR7VU5BTUVfUkVMRUFTRX0KKwlleGl0IDs7CisgICAgUG93ZXIqOlJoYXBzb2R5Oio6KikKKwllY2hvIHBvd2VycGMtYXBwbGUtcmhhcHNvZHkke1VOQU1FX1JFTEVBU0V9CisJZXhpdCA7OworICAgICo6UmhhcHNvZHk6KjoqKQorCWVjaG8gJHtVTkFNRV9NQUNISU5FfS1hcHBsZS1yaGFwc29keSR7VU5BTUVfUkVMRUFTRX0KKwlleGl0IDs7CisgICAgKjpEYXJ3aW46KjoqKQorCVVOQU1FX1BST0NFU1NPUj1gdW5hbWUgLXBgIHx8IFVOQU1FX1BST0NFU1NPUj11bmtub3duCisJY2FzZSAkVU5BTUVfUFJPQ0VTU09SIGluCisJICAgIGkzODYpCisJCWV2YWwgJHNldF9jY19mb3JfYnVpbGQKKwkJaWYgWyAiJENDX0ZPUl9CVUlMRCIgIT0gJ25vX2NvbXBpbGVyX2ZvdW5kJyBdOyB0aGVuCisJCSAgaWYgKGVjaG8gJyNpZmRlZiBfX0xQNjRfXyc7IGVjaG8gSVNfNjRCSVRfQVJDSDsgZWNobyAnI2VuZGlmJykgfCBcCisJCSAgICAgIChDQ09QVFM9ICRDQ19GT1JfQlVJTEQgLUUgLSAyPi9kZXYvbnVsbCkgfCBcCisJCSAgICAgIGdyZXAgSVNfNjRCSVRfQVJDSCA+L2Rldi9udWxsCisJCSAgdGhlbgorCQkgICAgICBVTkFNRV9QUk9DRVNTT1I9Ing4Nl82NCIKKwkJICBmaQorCQlmaSA7OworCSAgICB1bmtub3duKSBVTkFNRV9QUk9DRVNTT1I9cG93ZXJwYyA7OworCWVzYWMKKwllY2hvICR7VU5BTUVfUFJPQ0VTU09SfS1hcHBsZS1kYXJ3aW4ke1VOQU1FX1JFTEVBU0V9CisJZXhpdCA7OworICAgICo6cHJvY250byo6KjoqIHwgKjpRTlg6WzAxMjM0NTY3ODldKjoqKQorCVVOQU1FX1BST0NFU1NPUj1gdW5hbWUgLXBgCisJaWYgdGVzdCAiJFVOQU1FX1BST0NFU1NPUiIgPSAieDg2IjsgdGhlbgorCQlVTkFNRV9QUk9DRVNTT1I9aTM4NgorCQlVTkFNRV9NQUNISU5FPXBjCisJZmkKKwllY2hvICR7VU5BTUVfUFJPQ0VTU09SfS0ke1VOQU1FX01BQ0hJTkV9LW50by1xbngke1VOQU1FX1JFTEVBU0V9CisJZXhpdCA7OworICAgICo6UU5YOio6NCopCisJZWNobyBpMzg2LXBjLXFueAorCWV4aXQgOzsKKyAgICBOU0UtPzpOT05TVE9QX0tFUk5FTDoqOiopCisJZWNobyBuc2UtdGFuZGVtLW5zayR7VU5BTUVfUkVMRUFTRX0KKwlleGl0IDs7CisgICAgTlNSLT86Tk9OU1RPUF9LRVJORUw6KjoqKQorCWVjaG8gbnNyLXRhbmRlbS1uc2ske1VOQU1FX1JFTEVBU0V9CisJZXhpdCA7OworICAgICo6Tm9uU3RvcC1VWDoqOiopCisJZWNobyBtaXBzLWNvbXBhcS1ub25zdG9wdXgKKwlleGl0IDs7CisgICAgQlMyMDAwOlBPU0lYKjoqOiopCisJZWNobyBiczIwMDAtc2llbWVucy1zeXN2CisJZXhpdCA7OworICAgIERTLyo6VU5JWF9TeXN0ZW1fVjoqOiopCisJZWNobyAke1VOQU1FX01BQ0hJTkV9LSR7VU5BTUVfU1lTVEVNfS0ke1VOQU1FX1JFTEVBU0V9CisJZXhpdCA7OworICAgICo6UGxhbjk6KjoqKQorCSMgInVuYW1lIC1tIiBpcyBub3QgY29uc2lzdGVudCwgc28gdXNlICRjcHV0eXBlIGluc3RlYWQuIDM4NgorCSMgaXMgY29udmVydGVkIHRvIGkzODYgZm9yIGNvbnNpc3RlbmN5IHdpdGggb3RoZXIgeDg2CisJIyBvcGVyYXRpbmcgc3lzdGVtcy4KKwlpZiB0ZXN0ICIkY3B1dHlwZSIgPSAiMzg2IjsgdGhlbgorCSAgICBVTkFNRV9NQUNISU5FPWkzODYKKwllbHNlCisJICAgIFVOQU1FX01BQ0hJTkU9IiRjcHV0eXBlIgorCWZpCisJZWNobyAke1VOQU1FX01BQ0hJTkV9LXVua25vd24tcGxhbjkKKwlleGl0IDs7CisgICAgKjpUT1BTLTEwOio6KikKKwllY2hvIHBkcDEwLXVua25vd24tdG9wczEwCisJZXhpdCA7OworICAgICo6VEVORVg6KjoqKQorCWVjaG8gcGRwMTAtdW5rbm93bi10ZW5leAorCWV4aXQgOzsKKyAgICBLUzEwOlRPUFMtMjA6KjoqIHwgS0wxMDpUT1BTLTIwOio6KiB8IFRZUEU0OlRPUFMtMjA6KjoqKQorCWVjaG8gcGRwMTAtZGVjLXRvcHMyMAorCWV4aXQgOzsKKyAgICBYS0wtMTpUT1BTLTIwOio6KiB8IFRZUEU1OlRPUFMtMjA6KjoqKQorCWVjaG8gcGRwMTAteGtsLXRvcHMyMAorCWV4aXQgOzsKKyAgICAqOlRPUFMtMjA6KjoqKQorCWVjaG8gcGRwMTAtdW5rbm93bi10b3BzMjAKKwlleGl0IDs7CisgICAgKjpJVFM6KjoqKQorCWVjaG8gcGRwMTAtdW5rbm93bi1pdHMKKwlleGl0IDs7CisgICAgU0VJOio6KjpTRUlVWCkKKyAgICAgICAgZWNobyBtaXBzLXNlaS1zZWl1eCR7VU5BTUVfUkVMRUFTRX0KKwlleGl0IDs7CisgICAgKjpEcmFnb25GbHk6KjoqKQorCWVjaG8gJHtVTkFNRV9NQUNISU5FfS11bmtub3duLWRyYWdvbmZseWBlY2hvICR7VU5BTUVfUkVMRUFTRX18c2VkIC1lICdzL1stKF0uKi8vJ2AKKwlleGl0IDs7CisgICAgKjoqVk1TOio6KikKKyAgICAJVU5BTUVfTUFDSElORT1gKHVuYW1lIC1wKSAyPi9kZXYvbnVsbGAKKwljYXNlICIke1VOQU1FX01BQ0hJTkV9IiBpbgorCSAgICBBKikgZWNobyBhbHBoYS1kZWMtdm1zIDsgZXhpdCA7OworCSAgICBJKikgZWNobyBpYTY0LWRlYy12bXMgOyBleGl0IDs7CisJICAgIFYqKSBlY2hvIHZheC1kZWMtdm1zIDsgZXhpdCA7OworCWVzYWMgOzsKKyAgICAqOlhFTklYOio6U3lzVikKKwllY2hvIGkzODYtcGMteGVuaXgKKwlleGl0IDs7CisgICAgaSo4Njpza3lvczoqOiopCisJZWNobyAke1VOQU1FX01BQ0hJTkV9LXBjLXNreW9zYGVjaG8gJHtVTkFNRV9SRUxFQVNFfWAgfCBzZWQgLWUgJ3MvIC4qJC8vJworCWV4aXQgOzsKKyAgICBpKjg2OnJkb3M6KjoqKQorCWVjaG8gJHtVTkFNRV9NQUNISU5FfS1wYy1yZG9zCisJZXhpdCA7OworICAgIGkqODY6QVJPUzoqOiopCisJZWNobyAke1VOQU1FX01BQ0hJTkV9LXBjLWFyb3MKKwlleGl0IDs7Citlc2FjCisKKyNlY2hvICcoTm8gdW5hbWUgY29tbWFuZCBvciB1bmFtZSBvdXRwdXQgbm90IHJlY29nbml6ZWQuKScgMT4mMgorI2VjaG8gIiR7VU5BTUVfTUFDSElORX06JHtVTkFNRV9TWVNURU19OiR7VU5BTUVfUkVMRUFTRX06JHtVTkFNRV9WRVJTSU9OfSIgMT4mMgorCitldmFsICRzZXRfY2NfZm9yX2J1aWxkCitjYXQgPiRkdW1teS5jIDw8RU9GCisjaWZkZWYgX1NFUVVFTlRfCisjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgorIyBpbmNsdWRlIDxzeXMvdXRzbmFtZS5oPgorI2VuZGlmCittYWluICgpCit7CisjaWYgZGVmaW5lZCAoc29ueSkKKyNpZiBkZWZpbmVkIChNSVBTRUIpCisgIC8qIEJGRCB3YW50cyAiYnNkIiBpbnN0ZWFkIG9mICJuZXdzb3MiLiAgUGVyaGFwcyBCRkQgc2hvdWxkIGJlIGNoYW5nZWQsCisgICAgIEkgZG9uJ3Qga25vdy4uLi4gICovCisgIHByaW50ZiAoIm1pcHMtc29ueS1ic2RcbiIpOyBleGl0ICgwKTsKKyNlbHNlCisjaW5jbHVkZSA8c3lzL3BhcmFtLmg+CisgIHByaW50ZiAoIm02OGstc29ueS1uZXdzb3Mlc1xuIiwKKyNpZmRlZiBORVdTT1M0CisgICAgICAgICAgIjQiCisjZWxzZQorCSAgIiIKKyNlbmRpZgorICAgICAgICAgKTsgZXhpdCAoMCk7CisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZCAoX19hcm0pICYmIGRlZmluZWQgKF9fYWNvcm4pICYmIGRlZmluZWQgKF9fdW5peCkKKyAgcHJpbnRmICgiYXJtLWFjb3JuLXJpc2NpeFxuIik7IGV4aXQgKDApOworI2VuZGlmCisKKyNpZiBkZWZpbmVkIChocDMwMCkgJiYgIWRlZmluZWQgKGhwdXgpCisgIHByaW50ZiAoIm02OGstaHAtYnNkXG4iKTsgZXhpdCAoMCk7CisjZW5kaWYKKworI2lmIGRlZmluZWQgKE5lWFQpCisjaWYgIWRlZmluZWQgKF9fQVJDSElURUNUVVJFX18pCisjZGVmaW5lIF9fQVJDSElURUNUVVJFX18gIm02OGsiCisjZW5kaWYKKyAgaW50IHZlcnNpb247CisgIHZlcnNpb249YChob3N0aW5mbyB8IHNlZCAtbiAncy8uKk5lWFQgTWFjaCBcKFswLTldKlwpLiovXDEvcCcpIDI+L2Rldi9udWxsYDsKKyAgaWYgKHZlcnNpb24gPCA0KQorICAgIHByaW50ZiAoIiVzLW5leHQtbmV4dHN0ZXAlZFxuIiwgX19BUkNISVRFQ1RVUkVfXywgdmVyc2lvbik7CisgIGVsc2UKKyAgICBwcmludGYgKCIlcy1uZXh0LW9wZW5zdGVwJWRcbiIsIF9fQVJDSElURUNUVVJFX18sIHZlcnNpb24pOworICBleGl0ICgwKTsKKyNlbmRpZgorCisjaWYgZGVmaW5lZCAoTVVMVElNQVgpIHx8IGRlZmluZWQgKG4xNikKKyNpZiBkZWZpbmVkIChVTUFYVikKKyAgcHJpbnRmICgibnMzMmstZW5jb3JlLXN5c3ZcbiIpOyBleGl0ICgwKTsKKyNlbHNlCisjaWYgZGVmaW5lZCAoQ01VKQorICBwcmludGYgKCJuczMyay1lbmNvcmUtbWFjaFxuIik7IGV4aXQgKDApOworI2Vsc2UKKyAgcHJpbnRmICgibnMzMmstZW5jb3JlLWJzZFxuIik7IGV4aXQgKDApOworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZCAoX18zODZCU0RfXykKKyAgcHJpbnRmICgiaTM4Ni1wYy1ic2RcbiIpOyBleGl0ICgwKTsKKyNlbmRpZgorCisjaWYgZGVmaW5lZCAoc2VxdWVudCkKKyNpZiBkZWZpbmVkIChpMzg2KQorICBwcmludGYgKCJpMzg2LXNlcXVlbnQtZHluaXhcbiIpOyBleGl0ICgwKTsKKyNlbmRpZgorI2lmIGRlZmluZWQgKG5zMzIwMDApCisgIHByaW50ZiAoIm5zMzJrLXNlcXVlbnQtZHluaXhcbiIpOyBleGl0ICgwKTsKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkIChfU0VRVUVOVF8pCisgICAgc3RydWN0IHV0c25hbWUgdW47CisKKyAgICB1bmFtZSgmdW4pOworCisgICAgaWYgKHN0cm5jbXAodW4udmVyc2lvbiwgIlYyIiwgMikgPT0gMCkgeworCXByaW50ZiAoImkzODYtc2VxdWVudC1wdHgyXG4iKTsgZXhpdCAoMCk7CisgICAgfQorICAgIGlmIChzdHJuY21wKHVuLnZlcnNpb24sICJWMSIsIDIpID09IDApIHsgLyogWFhYIGlzIFYxIGNvcnJlY3Q/ICovCisJcHJpbnRmICgiaTM4Ni1zZXF1ZW50LXB0eDFcbiIpOyBleGl0ICgwKTsKKyAgICB9CisgICAgcHJpbnRmICgiaTM4Ni1zZXF1ZW50LXB0eFxuIik7IGV4aXQgKDApOworCisjZW5kaWYKKworI2lmIGRlZmluZWQgKHZheCkKKyMgaWYgIWRlZmluZWQgKHVsdHJpeCkKKyMgIGluY2x1ZGUgPHN5cy9wYXJhbS5oPgorIyAgaWYgZGVmaW5lZCAoQlNEKQorIyAgIGlmIEJTRCA9PSA0MworICAgICAgcHJpbnRmICgidmF4LWRlYy1ic2Q0LjNcbiIpOyBleGl0ICgwKTsKKyMgICBlbHNlCisjICAgIGlmIEJTRCA9PSAxOTkwMDYKKyAgICAgIHByaW50ZiAoInZheC1kZWMtYnNkNC4zcmVub1xuIik7IGV4aXQgKDApOworIyAgICBlbHNlCisgICAgICBwcmludGYgKCJ2YXgtZGVjLWJzZFxuIik7IGV4aXQgKDApOworIyAgICBlbmRpZgorIyAgIGVuZGlmCisjICBlbHNlCisgICAgcHJpbnRmICgidmF4LWRlYy1ic2RcbiIpOyBleGl0ICgwKTsKKyMgIGVuZGlmCisjIGVsc2UKKyAgICBwcmludGYgKCJ2YXgtZGVjLXVsdHJpeFxuIik7IGV4aXQgKDApOworIyBlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkIChhbGxpYW50KSAmJiBkZWZpbmVkIChpODYwKQorICBwcmludGYgKCJpODYwLWFsbGlhbnQtYnNkXG4iKTsgZXhpdCAoMCk7CisjZW5kaWYKKworICBleGl0ICgxKTsKK30KK0VPRgorCiskQ0NfRk9SX0JVSUxEIC1vICRkdW1teSAkZHVtbXkuYyAyPi9kZXYvbnVsbCAmJiBTWVNURU1fTkFNRT1gJGR1bW15YCAmJgorCXsgZWNobyAiJFNZU1RFTV9OQU1FIjsgZXhpdDsgfQorCisjIEFwb2xsb3MgcHV0IHRoZSBzeXN0ZW0gdHlwZSBpbiB0aGUgZW52aXJvbm1lbnQuCisKK3Rlc3QgLWQgL3Vzci9hcG9sbG8gJiYgeyBlY2hvICR7SVNQfS1hcG9sbG8tJHtTWVNUWVBFfTsgZXhpdDsgfQorCisjIENvbnZleCB2ZXJzaW9ucyB0aGF0IHByZWRhdGUgdW5hbWUgY2FuIHVzZSBnZXRzeXNpbmZvKDEpCisKK2lmIFsgLXggL3Vzci9jb252ZXgvZ2V0c3lzaW5mbyBdCit0aGVuCisgICAgY2FzZSBgZ2V0c3lzaW5mbyAtZiBjcHVfdHlwZWAgaW4KKyAgICBjMSopCisJZWNobyBjMS1jb252ZXgtYnNkCisJZXhpdCA7OworICAgIGMyKikKKwlpZiBnZXRzeXNpbmZvIC1mIHNjYWxhcl9hY2MKKwl0aGVuIGVjaG8gYzMyLWNvbnZleC1ic2QKKwllbHNlIGVjaG8gYzItY29udmV4LWJzZAorCWZpCisJZXhpdCA7OworICAgIGMzNCopCisJZWNobyBjMzQtY29udmV4LWJzZAorCWV4aXQgOzsKKyAgICBjMzgqKQorCWVjaG8gYzM4LWNvbnZleC1ic2QKKwlleGl0IDs7CisgICAgYzQqKQorCWVjaG8gYzQtY29udmV4LWJzZAorCWV4aXQgOzsKKyAgICBlc2FjCitmaQorCitjYXQgPiYyIDw8RU9GCiskMDogdW5hYmxlIHRvIGd1ZXNzIHN5c3RlbSB0eXBlCisKK1RoaXMgc2NyaXB0LCBsYXN0IG1vZGlmaWVkICR0aW1lc3RhbXAsIGhhcyBmYWlsZWQgdG8gcmVjb2duaXplCit0aGUgb3BlcmF0aW5nIHN5c3RlbSB5b3UgYXJlIHVzaW5nLiBJdCBpcyBhZHZpc2VkIHRoYXQgeW91Citkb3dubG9hZCB0aGUgbW9zdCB1cCB0byBkYXRlIHZlcnNpb24gb2YgdGhlIGNvbmZpZyBzY3JpcHRzIGZyb20KKworICBodHRwOi8vZ2l0LnNhdmFubmFoLmdudS5vcmcvZ2l0d2ViLz9wPWNvbmZpZy5naXQ7YT1ibG9iX3BsYWluO2Y9Y29uZmlnLmd1ZXNzO2hiPUhFQUQKK2FuZAorICBodHRwOi8vZ2l0LnNhdmFubmFoLmdudS5vcmcvZ2l0d2ViLz9wPWNvbmZpZy5naXQ7YT1ibG9iX3BsYWluO2Y9Y29uZmlnLnN1YjtoYj1IRUFECisKK0lmIHRoZSB2ZXJzaW9uIHlvdSBydW4gKCQwKSBpcyBhbHJlYWR5IHVwIHRvIGRhdGUsIHBsZWFzZQorc2VuZCB0aGUgZm9sbG93aW5nIGRhdGEgYW5kIGFueSBpbmZvcm1hdGlvbiB5b3UgdGhpbmsgbWlnaHQgYmUKK3BlcnRpbmVudCB0byA8Y29uZmlnLXBhdGNoZXNAZ251Lm9yZz4gaW4gb3JkZXIgdG8gcHJvdmlkZSB0aGUgbmVlZGVkCitpbmZvcm1hdGlvbiB0byBoYW5kbGUgeW91ciBzeXN0ZW0uCisKK2NvbmZpZy5ndWVzcyB0aW1lc3RhbXAgPSAkdGltZXN0YW1wCisKK3VuYW1lIC1tID0gYCh1bmFtZSAtbSkgMj4vZGV2L251bGwgfHwgZWNobyB1bmtub3duYAordW5hbWUgLXIgPSBgKHVuYW1lIC1yKSAyPi9kZXYvbnVsbCB8fCBlY2hvIHVua25vd25gCit1bmFtZSAtcyA9IGAodW5hbWUgLXMpIDI+L2Rldi9udWxsIHx8IGVjaG8gdW5rbm93bmAKK3VuYW1lIC12ID0gYCh1bmFtZSAtdikgMj4vZGV2L251bGwgfHwgZWNobyB1bmtub3duYAorCisvdXNyL2Jpbi91bmFtZSAtcCA9IGAoL3Vzci9iaW4vdW5hbWUgLXApIDI+L2Rldi9udWxsYAorL2Jpbi91bmFtZSAtWCAgICAgPSBgKC9iaW4vdW5hbWUgLVgpIDI+L2Rldi9udWxsYAorCitob3N0aW5mbyAgICAgICAgICAgICAgID0gYChob3N0aW5mbykgMj4vZGV2L251bGxgCisvYmluL3VuaXZlcnNlICAgICAgICAgID0gYCgvYmluL3VuaXZlcnNlKSAyPi9kZXYvbnVsbGAKKy91c3IvYmluL2FyY2ggLWsgICAgICAgPSBgKC91c3IvYmluL2FyY2ggLWspIDI+L2Rldi9udWxsYAorL2Jpbi9hcmNoICAgICAgICAgICAgICA9IGAoL2Jpbi9hcmNoKSAyPi9kZXYvbnVsbGAKKy91c3IvYmluL29zbGV2ZWwgICAgICAgPSBgKC91c3IvYmluL29zbGV2ZWwpIDI+L2Rldi9udWxsYAorL3Vzci9jb252ZXgvZ2V0c3lzaW5mbyA9IGAoL3Vzci9jb252ZXgvZ2V0c3lzaW5mbykgMj4vZGV2L251bGxgCisKK1VOQU1FX01BQ0hJTkUgPSAke1VOQU1FX01BQ0hJTkV9CitVTkFNRV9SRUxFQVNFID0gJHtVTkFNRV9SRUxFQVNFfQorVU5BTUVfU1lTVEVNICA9ICR7VU5BTUVfU1lTVEVNfQorVU5BTUVfVkVSU0lPTiA9ICR7VU5BTUVfVkVSU0lPTn0KK0VPRgorCitleGl0IDEKKworIyBMb2NhbCB2YXJpYWJsZXM6CisjIGV2YWw6IChhZGQtaG9vayAnd3JpdGUtZmlsZS1ob29rcyAndGltZS1zdGFtcCkKKyMgdGltZS1zdGFtcC1zdGFydDogInRpbWVzdGFtcD0nIgorIyB0aW1lLXN0YW1wLWZvcm1hdDogIiU6eS0lMDJtLSUwMmQiCisjIHRpbWUtc3RhbXAtZW5kOiAiJyIKKyMgRW5kOgpkaWZmIC0tZ2l0IGEvc3RyYWNlLTQuNS4yMC9jb25maWcuaC5pbiBiL3N0cmFjZS00LjUuMjAvY29uZmlnLmguaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGFjM2Q4YQotLS0gL2Rldi9udWxsCisrKyBiL3N0cmFjZS00LjUuMjAvY29uZmlnLmguaW4KQEAgLTAsMCArMSw0ODQgQEAKKy8qIGNvbmZpZy5oLmluLiAgR2VuZXJhdGVkIGZyb20gY29uZmlndXJlLmFjIGJ5IGF1dG9oZWFkZXIuICAqLworCisvKiBEZWZpbmUgZm9yIHRoZSBBbHBoYSBhcmNoaXRlY3R1cmUuICovCisjdW5kZWYgQUxQSEEKKworLyogRGVmaW5lIGZvciB0aGUgQVJNIGFyY2hpdGVjdHVyZS4gKi8KKyN1bmRlZiBBUk0KKworLyogRGVmaW5lIGZvciB0aGUgQVZSMzIgYXJjaGl0ZWN0dXJlLiAqLworI3VuZGVmIEFWUjMyCisKKy8qIERlZmluZSBmb3IgdGhlIEJsYWNrZmluIGFyY2hpdGVjdHVyZS4gKi8KKyN1bmRlZiBCRklOCisKKy8qIERlZmluZSBmb3IgdGhlIENSSVN2MTAgYXJjaGl0ZWN0dXJlLiAqLworI3VuZGVmIENSSVNWMTAKKworLyogRGVmaW5lIGZvciB0aGUgQ1JJU3YzMiBhcmNoaXRlY3R1cmUuICovCisjdW5kZWYgQ1JJU1YzMgorCisvKiBEZWZpbmUgZm9yIHRoZSBGcmVlQlNEIG9wZXJhdGluZyBzeXN0ZW0uICovCisjdW5kZWYgRlJFRUJTRAorCisvKiBEZWZpbmUgdG8gdGhlIHR5cGUgb2YgZWxlbWVudHMgaW4gdGhlIGFycmF5IHNldCBieSBgZ2V0Z3JvdXBzJy4gVXN1YWxseQorICAgdGhpcyBpcyBlaXRoZXIgYGludCcgb3IgYGdpZF90Jy4gKi8KKyN1bmRlZiBHRVRHUk9VUFNfVAorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGFzbS9jYWNoZWN0bC5oPiBoZWFkZXIgZmlsZS4gKi8KKyN1bmRlZiBIQVZFX0FTTV9DQUNIRUNUTF9ICisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8YXNtL3NpZ2NvbnRleHQuaD4gaGVhZGVyIGZpbGUuICovCisjdW5kZWYgSEFWRV9BU01fU0lHQ09OVEVYVF9ICisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8YXNtL3N5c21pcHMuaD4gaGVhZGVyIGZpbGUuICovCisjdW5kZWYgSEFWRV9BU01fU1lTTUlQU19ICisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBkZWNsYXJhdGlvbiBvZiBgc3lzX2Vycmxpc3QnLCBhbmQgdG8gMCBpZiB5b3UKKyAgIGRvbid0LiAqLworI3VuZGVmIEhBVkVfREVDTF9TWVNfRVJSTElTVAorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgZGVjbGFyYXRpb24gb2YgYHN5c19zaWdsaXN0JywgYW5kIHRvIDAgaWYgeW91CisgICBkb24ndC4gKi8KKyN1bmRlZiBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGRlY2xhcmF0aW9uIG9mIGBfc3lzX3NpZ2xpc3QnLCBhbmQgdG8gMCBpZiB5b3UKKyAgIGRvbid0LiAqLworI3VuZGVmIEhBVkVfREVDTF9fU1lTX1NJR0xJU1QKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxkaXJlbnQuaD4gaGVhZGVyIGZpbGUsIGFuZCBpdCBkZWZpbmVzIGBESVInLgorICAgKi8KKyN1bmRlZiBIQVZFX0RJUkVOVF9ICisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgZm9yaycgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9GT1JLCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgZ2V0ZGVudHMnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfR0VUREVOVFMKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBpZl9pbmRleHRvbmFtZScgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9JRl9JTkRFWFRPTkFNRQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGluZXRfbnRvcCcgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9JTkVUX05UT1AKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxpbnR0eXBlcy5oPiBoZWFkZXIgZmlsZS4gKi8KKyN1bmRlZiBIQVZFX0lOVFRZUEVTX0gKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxpb2N0bHMuaD4gaGVhZGVyIGZpbGUuICovCisjdW5kZWYgSEFWRV9JT0NUTFNfSAorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGxpYmFpby5oPiBoZWFkZXIgZmlsZS4gKi8KKyN1bmRlZiBIQVZFX0xJQkFJT19ICisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgbnNsJyBsaWJyYXJ5ICgtbG5zbCkuICovCisjdW5kZWYgSEFWRV9MSUJOU0wKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxsaW51eC9jYXBhYmlsaXR5Lmg+IGhlYWRlciBmaWxlLiAqLworI3VuZGVmIEhBVkVfTElOVVhfQ0FQQUJJTElUWV9ICisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8bGludXgvaWNtcC5oPiBoZWFkZXIgZmlsZS4gKi8KKyN1bmRlZiBIQVZFX0xJTlVYX0lDTVBfSAorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGxpbnV4L2lmX3BhY2tldC5oPiBoZWFkZXIgZmlsZS4gKi8KKyN1bmRlZiBIQVZFX0xJTlVYX0lGX1BBQ0tFVF9ICisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8bGludXgvaW42Lmg+IGhlYWRlciBmaWxlLiAqLworI3VuZGVmIEhBVkVfTElOVVhfSU42X0gKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxsaW51eC9uZXRsaW5rLmg+IGhlYWRlciBmaWxlLiAqLworI3VuZGVmIEhBVkVfTElOVVhfTkVUTElOS19ICisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8bGludXgvcHRyYWNlLmg+IGhlYWRlciBmaWxlLiAqLworI3VuZGVmIEhBVkVfTElOVVhfUFRSQUNFX0gKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxsaW51eC91dHNuYW1lLmg+IGhlYWRlciBmaWxlLiAqLworI3VuZGVmIEhBVkVfTElOVVhfVVRTTkFNRV9ICisKKy8qIERlZmluZSBpZiBsb25nIGxvbmcgaXMgbGl0dGxlLWVuZGlhbi4gKi8KKyN1bmRlZiBIQVZFX0xJVFRMRV9FTkRJQU5fTE9OR19MT05HCisKKy8qIERlZmluZSB0byAxIGlmIHRoZSBzeXN0ZW0gaGFzIHRoZSB0eXBlIGBsb25nIGxvbmcnLiAqLworI3VuZGVmIEhBVkVfTE9OR19MT05HCisKKy8qIERlZmluZSBpZiBvZmZfdCBpcyBhIGxvbmcgbG9uZy4gKi8KKyN1bmRlZiBIQVZFX0xPTkdfTE9OR19PRkZfVAorCisvKiBEZWZpbmUgaWYgcmxpbV90IGlzIGEgbG9uZyBsb25nLiAqLworI3VuZGVmIEhBVkVfTE9OR19MT05HX1JMSU1fVAorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYG1jdGwnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfTUNUTAorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPG1lbW9yeS5oPiBoZWFkZXIgZmlsZS4gKi8KKyN1bmRlZiBIQVZFX01FTU9SWV9ICisKKy8qIERlZmluZSBpZiB5b3UgaGF2ZSBhIFNWUjQgTVAgdHlwZSBwcm9jZnMuIEkuRS4gL2Rldi94eHgvY3RsLAorICAgL2Rldi94eHgvc3RhdHVzLiBBbHNvIGltcGxpZXMgdGhhdCB5b3UgaGF2ZSB0aGUgcHJfbHdwIG1lbWJlciBpbiBwcnN0YXR1cy4KKyAgICovCisjdW5kZWYgSEFWRV9NUF9QUk9DRlMKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxtcXVldWUuaD4gaGVhZGVyIGZpbGUuICovCisjdW5kZWYgSEFWRV9NUVVFVUVfSAorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPG5kaXIuaD4gaGVhZGVyIGZpbGUsIGFuZCBpdCBkZWZpbmVzIGBESVInLiAqLworI3VuZGVmIEhBVkVfTkRJUl9ICisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8bmV0aW5ldC90Y3AuaD4gaGVhZGVyIGZpbGUuICovCisjdW5kZWYgSEFWRV9ORVRJTkVUX1RDUF9ICisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8bmV0aW5ldC91ZHAuaD4gaGVhZGVyIGZpbGUuICovCisjdW5kZWYgSEFWRV9ORVRJTkVUX1VEUF9ICisKKy8qIERlZmluZSBpZiB5b3UgaGF2ZSBTVlI0IGFuZCB0aGUgcG9sbCBzeXN0ZW0gY2FsbCB3b3JrcyBvbiAvcHJvYyBmaWxlcy4gKi8KKyN1bmRlZiBIQVZFX1BPTExBQkxFX1BST0NGUworCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHBvbGwuaD4gaGVhZGVyIGZpbGUuICovCisjdW5kZWYgSEFWRV9QT0xMX0gKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBwcmN0bCcgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9QUkNUTAorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHByZWFkJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX1BSRUFECisKKy8qIERlZmluZSBpZiB0aGUgcHJzdGF0dXMgc3RydWN0dXJlIGluIHN5cy9wcm9jZnMuaCBoYXMgYSBwcl9zeXNjYWxsIG1lbWJlci4KKyAgICovCisjdW5kZWYgSEFWRV9QUl9TWVNDQUxMCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgc2VuZG1zZycgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9TRU5ETVNHCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgc2lnYWN0aW9uJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX1NJR0FDVElPTgorCisvKiBEZWZpbmUgdG8gMSBpZiB0aGUgc3lzdGVtIGhhcyB0aGUgdHlwZSBgc2lnaW5mb190Jy4gKi8KKyN1bmRlZiBIQVZFX1NJR0lORk9fVAorCisvKiBEZWZpbmUgdG8gMSBpZiB0aGUgc3lzdGVtIGhhcyB0aGUgdHlwZSBgc2lnX2F0b21pY190Jy4gKi8KKyN1bmRlZiBIQVZFX1NJR19BVE9NSUNfVAorCisvKiBEZWZpbmUgaWYgc3RhdDY0IGlzIGF2YWlsYWJsZSBpbiBhc20vc3RhdC5oLiAqLworI3VuZGVmIEhBVkVfU1RBVDY0CisKKy8qIERlZmluZSBpZiBzdGF0ZnM2NCBpcyBhdmFpbGFibGUgaW4gc3lzL3Zmcy5oLiAqLworI3VuZGVmIEhBVkVfU1RBVEZTNjQKKworLyogRGVmaW5lIHRvIDEgaWYgc3RkYm9vbC5oIGNvbmZvcm1zIHRvIEM5OS4gKi8KKyN1bmRlZiBIQVZFX1NUREJPT0xfSAorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN0ZGludC5oPiBoZWFkZXIgZmlsZS4gKi8KKyN1bmRlZiBIQVZFX1NURElOVF9ICisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3RkbGliLmg+IGhlYWRlciBmaWxlLiAqLworI3VuZGVmIEhBVkVfU1RETElCX0gKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBzdHJlcnJvcicgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9TVFJFUlJPUgorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN0cmluZ3MuaD4gaGVhZGVyIGZpbGUuICovCisjdW5kZWYgSEFWRV9TVFJJTkdTX0gKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzdHJpbmcuaD4gaGVhZGVyIGZpbGUuICovCisjdW5kZWYgSEFWRV9TVFJJTkdfSAorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN0cm9wdHMuaD4gaGVhZGVyIGZpbGUuICovCisjdW5kZWYgSEFWRV9TVFJPUFRTX0gKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBzdHJzaWduYWwnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfU1RSU0lHTkFMCisKKy8qIERlZmluZSB0byAxIGlmIGBkcWJfY3VyYmxvY2tzJyBpcyBhIG1lbWJlciBvZiBgc3RydWN0IGRxYmxrJy4gKi8KKyN1bmRlZiBIQVZFX1NUUlVDVF9EUUJMS19EUUJfQ1VSQkxPQ0tTCisKKy8qIERlZmluZSB0byAxIGlmIHRoZSBzeXN0ZW0gaGFzIHRoZSB0eXBlIGBzdHJ1Y3QgaWE2NF9mcHJlZycuICovCisjdW5kZWYgSEFWRV9TVFJVQ1RfSUE2NF9GUFJFRworCisvKiBEZWZpbmUgdG8gMSBpZiBgbXNnX2NvbnRyb2wnIGlzIGEgbWVtYmVyIG9mIGBzdHJ1Y3QgbXNnaGRyJy4gKi8KKyN1bmRlZiBIQVZFX1NUUlVDVF9NU0dIRFJfTVNHX0NPTlRST0wKKworLyogRGVmaW5lIHRvIDEgaWYgdGhlIHN5c3RlbSBoYXMgdGhlIHR5cGUgYHN0cnVjdCBvcHRoZHInLiAqLworI3VuZGVmIEhBVkVfU1RSVUNUX09QVEhEUgorCisvKiBEZWZpbmUgdG8gMSBpZiB0aGUgc3lzdGVtIGhhcyB0aGUgdHlwZSBgc3RydWN0IHB0X2FsbF91c2VyX3JlZ3MnLiAqLworI3VuZGVmIEhBVkVfU1RSVUNUX1BUX0FMTF9VU0VSX1JFR1MKKworLyogRGVmaW5lIHRvIDEgaWYgdGhlIHN5c3RlbSBoYXMgdGhlIHR5cGUgYHN0cnVjdCBzaWdjb250ZXh0Jy4gKi8KKyN1bmRlZiBIQVZFX1NUUlVDVF9TSUdDT05URVhUCisKKy8qIERlZmluZSB0byAxIGlmIGBzY19oaTInIGlzIGEgbWVtYmVyIG9mIGBzdHJ1Y3Qgc2lnY29udGV4dCcuICovCisjdW5kZWYgSEFWRV9TVFJVQ1RfU0lHQ09OVEVYVF9TQ19ISTIKKworLyogRGVmaW5lIHRvIDEgaWYgdGhlIHN5c3RlbSBoYXMgdGhlIHR5cGUgYHN0cnVjdCBzaWdjb250ZXh0X3N0cnVjdCcuICovCisjdW5kZWYgSEFWRV9TVFJVQ1RfU0lHQ09OVEVYVF9TVFJVQ1QKKworLyogRGVmaW5lIHRvIDEgaWYgYHNpbjZfc2NvcGVfaWQnIGlzIGEgbWVtYmVyIG9mIGBzdHJ1Y3Qgc29ja2FkZHJfaW42Jy4gKi8KKyN1bmRlZiBIQVZFX1NUUlVDVF9TT0NLQUREUl9JTjZfU0lONl9TQ09QRV9JRAorCisvKiBEZWZpbmUgdG8gMSBpZiBgc3RfYWNsY250JyBpcyBhIG1lbWJlciBvZiBgc3RydWN0IHN0YXQnLiAqLworI3VuZGVmIEhBVkVfU1RSVUNUX1NUQVRfU1RfQUNMQ05UCisKKy8qIERlZmluZSB0byAxIGlmIGBzdF9ibGtzaXplJyBpcyBhIG1lbWJlciBvZiBgc3RydWN0IHN0YXQnLiAqLworI3VuZGVmIEhBVkVfU1RSVUNUX1NUQVRfU1RfQkxLU0laRQorCisvKiBEZWZpbmUgdG8gMSBpZiBgc3RfYmxvY2tzJyBpcyBhIG1lbWJlciBvZiBgc3RydWN0IHN0YXQnLiAqLworI3VuZGVmIEhBVkVfU1RSVUNUX1NUQVRfU1RfQkxPQ0tTCisKKy8qIERlZmluZSB0byAxIGlmIGBzdF9mbGFncycgaXMgYSBtZW1iZXIgb2YgYHN0cnVjdCBzdGF0Jy4gKi8KKyN1bmRlZiBIQVZFX1NUUlVDVF9TVEFUX1NUX0ZMQUdTCisKKy8qIERlZmluZSB0byAxIGlmIGBzdF9mc3R5cGUnIGlzIGEgbWVtYmVyIG9mIGBzdHJ1Y3Qgc3RhdCcuICovCisjdW5kZWYgSEFWRV9TVFJVQ1RfU1RBVF9TVF9GU1RZUEUKKworLyogRGVmaW5lIHRvIDEgaWYgYHN0X2dlbicgaXMgYSBtZW1iZXIgb2YgYHN0cnVjdCBzdGF0Jy4gKi8KKyN1bmRlZiBIQVZFX1NUUlVDVF9TVEFUX1NUX0dFTgorCisvKiBEZWZpbmUgdG8gMSBpZiBgc3RfbGV2ZWwnIGlzIGEgbWVtYmVyIG9mIGBzdHJ1Y3Qgc3RhdCcuICovCisjdW5kZWYgSEFWRV9TVFJVQ1RfU1RBVF9TVF9MRVZFTAorCisvKiBEZWZpbmUgdG8gMSBpZiBgc3RfcmRldicgaXMgYSBtZW1iZXIgb2YgYHN0cnVjdCBzdGF0Jy4gKi8KKyN1bmRlZiBIQVZFX1NUUlVDVF9TVEFUX1NUX1JERVYKKworLyogRGVmaW5lIHRvIDEgaWYgYEFDQ0VQVE9SX2lkJyBpcyBhIG1lbWJlciBvZiBgc3RydWN0IFRfY29ubl9yZXMnLiAqLworI3VuZGVmIEhBVkVfU1RSVUNUX1RfQ09OTl9SRVNfQUNDRVBUT1JfSUQKKworLyogRGVmaW5lIHRvIDEgaWYgYFFVRVVFX3B0cicgaXMgYSBtZW1iZXIgb2YgYHN0cnVjdCBUX2Nvbm5fcmVzJy4gKi8KKyN1bmRlZiBIQVZFX1NUUlVDVF9UX0NPTk5fUkVTX1FVRVVFX1BUUgorCisvKiBEZWZpbmUgdG8gMSBpZiB0aGUgc3lzdGVtIGhhcyB0aGUgdHlwZSBgc3RydWN0IHRfb3B0aGRyJy4gKi8KKyN1bmRlZiBIQVZFX1NUUlVDVF9UX09QVEhEUgorCisvKiBEZWZpbmUgdG8gMSBpZiB0aGUgc3lzdGVtIGhhcyB0aGUgdHlwZSBgc3RydWN0IHVzZXJfZGVzYycuICovCisjdW5kZWYgSEFWRV9TVFJVQ1RfVVNFUl9ERVNDCisKKy8qIERlZmluZSB0byAxIGlmIHRoZSBzeXN0ZW0gaGFzIHRoZSB0eXBlIGBzdHJ1Y3QgX19vbGRfa2VybmVsX3N0YXQnLiAqLworI3VuZGVmIEhBVkVfU1RSVUNUX19fT0xEX0tFUk5FTF9TVEFUCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3lzL2FjbC5oPiBoZWFkZXIgZmlsZS4gKi8KKyN1bmRlZiBIQVZFX1NZU19BQ0xfSAorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy9haW8uaD4gaGVhZGVyIGZpbGUuICovCisjdW5kZWYgSEFWRV9TWVNfQUlPX0gKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzeXMvYXN5bmNoLmg+IGhlYWRlciBmaWxlLiAqLworI3VuZGVmIEhBVkVfU1lTX0FTWU5DSF9ICisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3lzL2NvbmYuaD4gaGVhZGVyIGZpbGUuICovCisjdW5kZWYgSEFWRV9TWVNfQ09ORl9ICisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3lzL2Rpci5oPiBoZWFkZXIgZmlsZSwgYW5kIGl0IGRlZmluZXMgYERJUicuCisgICAqLworI3VuZGVmIEhBVkVfU1lTX0RJUl9ICisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3lzL2Rvb3IuaD4gaGVhZGVyIGZpbGUuICovCisjdW5kZWYgSEFWRV9TWVNfRE9PUl9ICisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3lzL2Vwb2xsLmg+IGhlYWRlciBmaWxlLiAqLworI3VuZGVmIEhBVkVfU1lTX0VQT0xMX0gKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzeXMvZmlsaW8uaD4gaGVhZGVyIGZpbGUuICovCisjdW5kZWYgSEFWRV9TWVNfRklMSU9fSAorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy9pb2N0bC5oPiBoZWFkZXIgZmlsZS4gKi8KKyN1bmRlZiBIQVZFX1NZU19JT0NUTF9ICisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3lzL25kaXIuaD4gaGVhZGVyIGZpbGUsIGFuZCBpdCBkZWZpbmVzIGBESVInLgorICAgKi8KKyN1bmRlZiBIQVZFX1NZU19ORElSX0gKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzeXMvbnNjc3lzLmg+IGhlYWRlciBmaWxlLiAqLworI3VuZGVmIEhBVkVfU1lTX05TQ1NZU19ICisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3lzL3BvbGwuaD4gaGVhZGVyIGZpbGUuICovCisjdW5kZWYgSEFWRV9TWVNfUE9MTF9ICisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3lzL3B0cmFjZS5oPiBoZWFkZXIgZmlsZS4gKi8KKyN1bmRlZiBIQVZFX1NZU19QVFJBQ0VfSAorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy9yZWcuaD4gaGVhZGVyIGZpbGUuICovCisjdW5kZWYgSEFWRV9TWVNfUkVHX0gKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBzeXNfc2lnbGlzdCcgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9TWVNfU0lHTElTVAorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy9zdGF0Lmg+IGhlYWRlciBmaWxlLiAqLworI3VuZGVmIEhBVkVfU1lTX1NUQVRfSAorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy9zdHJlYW0uaD4gaGVhZGVyIGZpbGUuICovCisjdW5kZWYgSEFWRV9TWVNfU1RSRUFNX0gKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzeXMvc3lzY29uZmlnLmg+IGhlYWRlciBmaWxlLiAqLworI3VuZGVmIEhBVkVfU1lTX1NZU0NPTkZJR19ICisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3lzL3RpaGRyLmg+IGhlYWRlciBmaWxlLiAqLworI3VuZGVmIEhBVkVfU1lTX1RJSERSX0gKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzeXMvdGl1c2VyLmg+IGhlYWRlciBmaWxlLiAqLworI3VuZGVmIEhBVkVfU1lTX1RJVVNFUl9ICisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3lzL3R5cGVzLmg+IGhlYWRlciBmaWxlLiAqLworI3VuZGVmIEhBVkVfU1lTX1RZUEVTX0gKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzeXMvdWlvLmg+IGhlYWRlciBmaWxlLiAqLworI3VuZGVmIEhBVkVfU1lTX1VJT19ICisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3lzL3Zmcy5oPiBoZWFkZXIgZmlsZS4gKi8KKyN1bmRlZiBIQVZFX1NZU19WRlNfSAorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHRlcm1pby5oPiBoZWFkZXIgZmlsZS4gKi8KKyN1bmRlZiBIQVZFX1RFUk1JT19ICisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8dW5pc3RkLmg+IGhlYWRlciBmaWxlLiAqLworI3VuZGVmIEhBVkVfVU5JU1REX0gKKworLyogRGVmaW5lIHRvIDEgaWYgdGhlIHN5c3RlbSBoYXMgdGhlIHR5cGUgYF9Cb29sJy4gKi8KKyN1bmRlZiBIQVZFX19CT09MCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgX3N5c19zaWdsaXN0JyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX19TWVNfU0lHTElTVAorCisvKiBEZWZpbmUgZm9yIHRoZSBIUFBBIGFyY2hpdGVjdHVyZS4gKi8KKyN1bmRlZiBIUFBBCisKKy8qIERlZmluZSBmb3IgdGhlIGkzODYgYXJjaGl0ZWN0dXJlLiAqLworI3VuZGVmIEkzODYKKworLyogRGVmaW5lIGZvciB0aGUgSUE2NCBhcmNoaXRlY3R1cmUuICovCisjdW5kZWYgSUE2NAorCisvKiBEZWZpbmUgZm9yIHRoZSBMaW51eCBvcGVyYXRpbmcgc3lzdGVtLiAqLworI3VuZGVmIExJTlVYCisKKy8qIERlZmluZSBmb3IgdGhlIG02OGsgYXJjaGl0ZWN0dXJlLiAqLworI3VuZGVmIE02OEsKKworLyogRGVmaW5lIHRvIDEgaWYgYG1ham9yJywgYG1pbm9yJywgYW5kIGBtYWtlZGV2JyBhcmUgZGVjbGFyZWQgaW4gPG1rZGV2Lmg+LgorICAgKi8KKyN1bmRlZiBNQUpPUl9JTl9NS0RFVgorCisvKiBEZWZpbmUgdG8gMSBpZiBgbWFqb3InLCBgbWlub3InLCBhbmQgYG1ha2VkZXYnIGFyZSBkZWNsYXJlZCBpbgorICAgPHN5c21hY3Jvcy5oPi4gKi8KKyN1bmRlZiBNQUpPUl9JTl9TWVNNQUNST1MKKworLyogRGVmaW5lIGZvciB0aGUgTUlQUyBhcmNoaXRlY3R1cmUuICovCisjdW5kZWYgTUlQUworCisvKiBOYW1lIG9mIHBhY2thZ2UgKi8KKyN1bmRlZiBQQUNLQUdFCisKKy8qIERlZmluZSB0byB0aGUgYWRkcmVzcyB3aGVyZSBidWcgcmVwb3J0cyBmb3IgdGhpcyBwYWNrYWdlIHNob3VsZCBiZSBzZW50LiAqLworI3VuZGVmIFBBQ0tBR0VfQlVHUkVQT1JUCisKKy8qIERlZmluZSB0byB0aGUgZnVsbCBuYW1lIG9mIHRoaXMgcGFja2FnZS4gKi8KKyN1bmRlZiBQQUNLQUdFX05BTUUKKworLyogRGVmaW5lIHRvIHRoZSBmdWxsIG5hbWUgYW5kIHZlcnNpb24gb2YgdGhpcyBwYWNrYWdlLiAqLworI3VuZGVmIFBBQ0tBR0VfU1RSSU5HCisKKy8qIERlZmluZSB0byB0aGUgb25lIHN5bWJvbCBzaG9ydCBuYW1lIG9mIHRoaXMgcGFja2FnZS4gKi8KKyN1bmRlZiBQQUNLQUdFX1RBUk5BTUUKKworLyogRGVmaW5lIHRvIHRoZSBob21lIHBhZ2UgZm9yIHRoaXMgcGFja2FnZS4gKi8KKyN1bmRlZiBQQUNLQUdFX1VSTAorCisvKiBEZWZpbmUgdG8gdGhlIHZlcnNpb24gb2YgdGhpcyBwYWNrYWdlLiAqLworI3VuZGVmIFBBQ0tBR0VfVkVSU0lPTgorCisvKiBEZWZpbmUgZm9yIHRoZSBQb3dlclBDIGFyY2hpdGVjdHVyZS4gKi8KKyN1bmRlZiBQT1dFUlBDCisKKy8qIERlZmluZSBhcyB0aGUgcmV0dXJuIHR5cGUgb2Ygc2lnbmFsIGhhbmRsZXJzIChgaW50JyBvciBgdm9pZCcpLiAqLworI3VuZGVmIFJFVFNJR1RZUEUKKworLyogRGVmaW5lIGZvciB0aGUgUzM5MCBhcmNoaXRlY3R1cmUuICovCisjdW5kZWYgUzM5MAorCisvKiBEZWZpbmUgZm9yIHRoZSBTMzkweCBhcmNoaXRlY3R1cmUuICovCisjdW5kZWYgUzM5MFgKKworLyogRGVmaW5lIGZvciB0aGUgU0ggYXJjaGl0ZWN0dXJlLiAqLworI3VuZGVmIFNICisKKy8qIERlZmluZSBmb3IgdGhlIFNINjQgYXJjaGl0ZWN0dXJlLiAqLworI3VuZGVmIFNINjQKKworLyogRGVmaW5lIGZvciB0aGUgU1BBUkMgYXJjaGl0ZWN0dXJlLiAqLworI3VuZGVmIFNQQVJDCisKKy8qIERlZmluZSBmb3IgdGhlIFNQQVJDNjQgYXJjaGl0ZWN0dXJlLiAqLworI3VuZGVmIFNQQVJDNjQKKworLyogRGVmaW5lIHRvIDEgaWYgdGhlIGBTX0lTKicgbWFjcm9zIGluIDxzeXMvc3RhdC5oPiBkbyBub3Qgd29yayBwcm9wZXJseS4gKi8KKyN1bmRlZiBTVEFUX01BQ1JPU19CUk9LRU4KKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIEFOU0kgQyBoZWFkZXIgZmlsZXMuICovCisjdW5kZWYgU1REQ19IRUFERVJTCisKKy8qIERlZmluZSBmb3IgdGhlIFN1bk9TIDQueCBvcGVyYXRpbmcgc3lzdGVtLiAqLworI3VuZGVmIFNVTk9TNAorCisvKiBEZWZpbmUgaWYgeW91IGFyZSBoYXZlIGEgU1BBUkMgd2l0aCBTVU5PUzQgYW5kIHlvdXIgd2FudCBhIHZlcnNpb24gb2YKKyAgIHN0cmFjZSB0aGF0IHdpbGwgd29yayBvbiBzdW40LCBzdW40YyBhbmQgc3VuNG0ga2VybmVsIGFyY2hpdGVjdHVyZXMuIE9ubHkKKyAgIHVzZWZ1bCBpZiB5b3UgaGF2ZSBhIHN5bWJvbGljIGxpbmsgZnJvbSBtYWNoaW5lIHRvIC91c3IvaW5jbHVkZS9zdW40IGluIHRoZQorICAgY29tcGlsYXRpb24gZGlyZWN0b3J5LiAqLworI3VuZGVmIFNVTk9TNF9LRVJORUxfQVJDSF9LTFVER0UKKworLyogRGVmaW5lIGZvciB0aGUgU3lzdGVtIFYgcmVsZWFzZSA0IG9wZXJhdGluZyBzeXN0ZW0gb3IgYSBkZXJpdmF0aXZlIGxpa2UKKyAgIFNvbGFyaXMgMi54IG9yIElyaXggNS54LiAqLworI3VuZGVmIFNWUjQKKworLyogRGVmaW5lIGZvciB0aGUgVGlsZSBhcmNoaXRlY3R1cmUgKi8KKyN1bmRlZiBUSUxFCisKKy8qIERlZmluZSBmb3IgVW5peFdhcmUgc3lzdGVtcy4gKi8KKyN1bmRlZiBVTklYV0FSRQorCisvKiBFbmFibGUgZXh0ZW5zaW9ucyBvbiBBSVggMywgSW50ZXJpeC4gICovCisjaWZuZGVmIF9BTExfU09VUkNFCisjIHVuZGVmIF9BTExfU09VUkNFCisjZW5kaWYKKy8qIEVuYWJsZSBHTlUgZXh0ZW5zaW9ucyBvbiBzeXN0ZW1zIHRoYXQgaGF2ZSB0aGVtLiAgKi8KKyNpZm5kZWYgX0dOVV9TT1VSQ0UKKyMgdW5kZWYgX0dOVV9TT1VSQ0UKKyNlbmRpZgorLyogRW5hYmxlIHRocmVhZGluZyBleHRlbnNpb25zIG9uIFNvbGFyaXMuICAqLworI2lmbmRlZiBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MKKyMgdW5kZWYgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTCisjZW5kaWYKKy8qIEVuYWJsZSBleHRlbnNpb25zIG9uIEhQIE5vblN0b3AuICAqLworI2lmbmRlZiBfVEFOREVNX1NPVVJDRQorIyB1bmRlZiBfVEFOREVNX1NPVVJDRQorI2VuZGlmCisvKiBFbmFibGUgZ2VuZXJhbCBleHRlbnNpb25zIG9uIFNvbGFyaXMuICAqLworI2lmbmRlZiBfX0VYVEVOU0lPTlNfXworIyB1bmRlZiBfX0VYVEVOU0lPTlNfXworI2VuZGlmCisKKworLyogVmVyc2lvbiBudW1iZXIgb2YgcGFja2FnZSAqLworI3VuZGVmIFZFUlNJT04KKworLyogRGVmaW5lIGZvciB0aGUgQU1EIHg4Ni02NCBhcmNoaXRlY3R1cmUuICovCisjdW5kZWYgWDg2XzY0CisKKy8qIERlZmluZSB0byAxIGlmIG9uIE1JTklYLiAqLworI3VuZGVmIF9NSU5JWAorCisvKiBEZWZpbmUgdG8gMiBpZiB0aGUgc3lzdGVtIGRvZXMgbm90IHByb3ZpZGUgUE9TSVguMSBmZWF0dXJlcyBleGNlcHQgd2l0aAorICAgdGhpcyBkZWZpbmVkLiAqLworI3VuZGVmIF9QT1NJWF8xX1NPVVJDRQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgbmVlZCB0byBpbiBvcmRlciBmb3IgYHN0YXQnIGFuZCBvdGhlciB0aGluZ3MgdG8gd29yay4gKi8KKyN1bmRlZiBfUE9TSVhfU09VUkNFCisKKy8qIERlZmluZSB0byBlbXB0eSBpZiBgY29uc3QnIGRvZXMgbm90IGNvbmZvcm0gdG8gQU5TSSBDLiAqLworI3VuZGVmIGNvbnN0CisKKy8qIERlZmluZSB0byBgaW50JyBpZiA8c3lzL3R5cGVzLmg+IGRvZXNuJ3QgZGVmaW5lLiAqLworI3VuZGVmIGdpZF90CisKKy8qIERlZmluZSB0byBgaW50JyBpZiA8c3lzL3R5cGVzLmg+IGRvZXMgbm90IGRlZmluZS4gKi8KKyN1bmRlZiBtb2RlX3QKKworLyogRGVmaW5lIHRvIGBpbnQnIGlmIDxzeXMvdHlwZXMuaD4gZG9lc24ndCBkZWZpbmUuICovCisjdW5kZWYgdWlkX3QKZGlmZiAtLWdpdCBhL3N0cmFjZS00LjUuMjAvY29uZmlnLnN1YiBiL3N0cmFjZS00LjUuMjAvY29uZmlnLnN1YgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44NTE4NjA5Ci0tLSAvZGV2L251bGwKKysrIGIvc3RyYWNlLTQuNS4yMC9jb25maWcuc3ViCkBAIC0wLDAgKzEsMTcwOCBAQAorIyEgL2Jpbi9zaAorIyBDb25maWd1cmF0aW9uIHZhbGlkYXRpb24gc3Vicm91dGluZSBzY3JpcHQuCisjICAgQ29weXJpZ2h0IChDKSAxOTkyLCAxOTkzLCAxOTk0LCAxOTk1LCAxOTk2LCAxOTk3LCAxOTk4LCAxOTk5LAorIyAgIDIwMDAsIDIwMDEsIDIwMDIsIDIwMDMsIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDksIDIwMTAKKyMgICBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKwordGltZXN0YW1wPScyMDA5LTEyLTMxJworCisjIFRoaXMgZmlsZSBpcyAoaW4gcHJpbmNpcGxlKSBjb21tb24gdG8gQUxMIEdOVSBzb2Z0d2FyZS4KKyMgVGhlIHByZXNlbmNlIG9mIGEgbWFjaGluZSBpbiB0aGlzIGZpbGUgc3VnZ2VzdHMgdGhhdCBTT01FIEdOVSBzb2Z0d2FyZQorIyBjYW4gaGFuZGxlIHRoYXQgbWFjaGluZS4gIEl0IGRvZXMgbm90IGltcGx5IEFMTCBHTlUgc29mdHdhcmUgY2FuLgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorIyBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQgLSBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQQorIyAwMjExMC0xMzAxLCBVU0EuCisjCisjIEFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLCBpZiB5b3UKKyMgZGlzdHJpYnV0ZSB0aGlzIGZpbGUgYXMgcGFydCBvZiBhIHByb2dyYW0gdGhhdCBjb250YWlucyBhCisjIGNvbmZpZ3VyYXRpb24gc2NyaXB0IGdlbmVyYXRlZCBieSBBdXRvY29uZiwgeW91IG1heSBpbmNsdWRlIGl0IHVuZGVyCisjIHRoZSBzYW1lIGRpc3RyaWJ1dGlvbiB0ZXJtcyB0aGF0IHlvdSB1c2UgZm9yIHRoZSByZXN0IG9mIHRoYXQgcHJvZ3JhbS4KKworCisjIFBsZWFzZSBzZW5kIHBhdGNoZXMgdG8gPGNvbmZpZy1wYXRjaGVzQGdudS5vcmc+LiAgU3VibWl0IGEgY29udGV4dAorIyBkaWZmIGFuZCBhIHByb3Blcmx5IGZvcm1hdHRlZCBHTlUgQ2hhbmdlTG9nIGVudHJ5LgorIworIyBDb25maWd1cmF0aW9uIHN1YnJvdXRpbmUgdG8gdmFsaWRhdGUgYW5kIGNhbm9uaWNhbGl6ZSBhIGNvbmZpZ3VyYXRpb24gdHlwZS4KKyMgU3VwcGx5IHRoZSBzcGVjaWZpZWQgY29uZmlndXJhdGlvbiB0eXBlIGFzIGFuIGFyZ3VtZW50LgorIyBJZiBpdCBpcyBpbnZhbGlkLCB3ZSBwcmludCBhbiBlcnJvciBtZXNzYWdlIG9uIHN0ZGVyciBhbmQgZXhpdCB3aXRoIGNvZGUgMS4KKyMgT3RoZXJ3aXNlLCB3ZSBwcmludCB0aGUgY2Fub25pY2FsIGNvbmZpZyB0eXBlIG9uIHN0ZG91dCBhbmQgc3VjY2VlZC4KKworIyBZb3UgY2FuIGdldCB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBzY3JpcHQgZnJvbToKKyMgaHR0cDovL2dpdC5zYXZhbm5haC5nbnUub3JnL2dpdHdlYi8/cD1jb25maWcuZ2l0O2E9YmxvYl9wbGFpbjtmPWNvbmZpZy5zdWI7aGI9SEVBRAorCisjIFRoaXMgZmlsZSBpcyBzdXBwb3NlZCB0byBiZSB0aGUgc2FtZSBmb3IgYWxsIEdOVSBwYWNrYWdlcworIyBhbmQgcmVjb2duaXplIGFsbCB0aGUgQ1BVIHR5cGVzLCBzeXN0ZW0gdHlwZXMgYW5kIGFsaWFzZXMKKyMgdGhhdCBhcmUgbWVhbmluZ2Z1bCB3aXRoICphbnkqIEdOVSBzb2Z0d2FyZS4KKyMgRWFjaCBwYWNrYWdlIGlzIHJlc3BvbnNpYmxlIGZvciByZXBvcnRpbmcgd2hpY2ggdmFsaWQgY29uZmlndXJhdGlvbnMKKyMgaXQgZG9lcyBub3Qgc3VwcG9ydC4gIFRoZSB1c2VyIHNob3VsZCBiZSBhYmxlIHRvIGRpc3Rpbmd1aXNoCisjIGEgZmFpbHVyZSB0byBzdXBwb3J0IGEgdmFsaWQgY29uZmlndXJhdGlvbiBmcm9tIGEgbWVhbmluZ2xlc3MKKyMgY29uZmlndXJhdGlvbi4KKworIyBUaGUgZ29hbCBvZiB0aGlzIGZpbGUgaXMgdG8gbWFwIGFsbCB0aGUgdmFyaW91cyB2YXJpYXRpb25zIG9mIGEgZ2l2ZW4KKyMgbWFjaGluZSBzcGVjaWZpY2F0aW9uIGludG8gYSBzaW5nbGUgc3BlY2lmaWNhdGlvbiBpbiB0aGUgZm9ybToKKyMJQ1BVX1RZUEUtTUFOVUZBQ1RVUkVSLU9QRVJBVElOR19TWVNURU0KKyMgb3IgaW4gc29tZSBjYXNlcywgdGhlIG5ld2VyIGZvdXItcGFydCBmb3JtOgorIwlDUFVfVFlQRS1NQU5VRkFDVFVSRVItS0VSTkVMLU9QRVJBVElOR19TWVNURU0KKyMgSXQgaXMgd3JvbmcgdG8gZWNobyBhbnkgb3RoZXIgdHlwZSBvZiBzcGVjaWZpY2F0aW9uLgorCittZT1gZWNobyAiJDAiIHwgc2VkIC1lICdzLC4qLywsJ2AKKwordXNhZ2U9IlwKK1VzYWdlOiAkMCBbT1BUSU9OXSBDUFUtTUZSLU9QU1lTCisgICAgICAgJDAgW09QVElPTl0gQUxJQVMKKworQ2Fub25pY2FsaXplIGEgY29uZmlndXJhdGlvbiBuYW1lLgorCitPcGVyYXRpb24gbW9kZXM6CisgIC1oLCAtLWhlbHAgICAgICAgICBwcmludCB0aGlzIGhlbHAsIHRoZW4gZXhpdAorICAtdCwgLS10aW1lLXN0YW1wICAgcHJpbnQgZGF0ZSBvZiBsYXN0IG1vZGlmaWNhdGlvbiwgdGhlbiBleGl0CisgIC12LCAtLXZlcnNpb24gICAgICBwcmludCB2ZXJzaW9uIG51bWJlciwgdGhlbiBleGl0CisKK1JlcG9ydCBidWdzIGFuZCBwYXRjaGVzIHRvIDxjb25maWctcGF0Y2hlc0BnbnUub3JnPi4iCisKK3ZlcnNpb249IlwKK0dOVSBjb25maWcuc3ViICgkdGltZXN0YW1wKQorCitDb3B5cmlnaHQgKEMpIDE5OTIsIDE5OTMsIDE5OTQsIDE5OTUsIDE5OTYsIDE5OTcsIDE5OTgsIDE5OTksIDIwMDAsCisyMDAxLCAyMDAyLCAyMDAzLCAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5LCAyMDEwIEZyZWUKK1NvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKworVGhpcyBpcyBmcmVlIHNvZnR3YXJlOyBzZWUgdGhlIHNvdXJjZSBmb3IgY29weWluZyBjb25kaXRpb25zLiAgVGhlcmUgaXMgTk8KK3dhcnJhbnR5OyBub3QgZXZlbiBmb3IgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiIKKworaGVscD0iCitUcnkgXGAkbWUgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4iCisKKyMgUGFyc2UgY29tbWFuZCBsaW5lCit3aGlsZSB0ZXN0ICQjIC1ndCAwIDsgZG8KKyAgY2FzZSAkMSBpbgorICAgIC0tdGltZS1zdGFtcCB8IC0tdGltZSogfCAtdCApCisgICAgICAgZWNobyAiJHRpbWVzdGFtcCIgOyBleGl0IDs7CisgICAgLS12ZXJzaW9uIHwgLXYgKQorICAgICAgIGVjaG8gIiR2ZXJzaW9uIiA7IGV4aXQgOzsKKyAgICAtLWhlbHAgfCAtLWgqIHwgLWggKQorICAgICAgIGVjaG8gIiR1c2FnZSI7IGV4aXQgOzsKKyAgICAtLSApICAgICAjIFN0b3Agb3B0aW9uIHByb2Nlc3NpbmcKKyAgICAgICBzaGlmdDsgYnJlYWsgOzsKKyAgICAtICkJIyBVc2Ugc3RkaW4gYXMgaW5wdXQuCisgICAgICAgYnJlYWsgOzsKKyAgICAtKiApCisgICAgICAgZWNobyAiJG1lOiBpbnZhbGlkIG9wdGlvbiAkMSRoZWxwIgorICAgICAgIGV4aXQgMSA7OworCisgICAgKmxvY2FsKikKKyAgICAgICAjIEZpcnN0IHBhc3MgdGhyb3VnaCBhbnkgbG9jYWwgbWFjaGluZSB0eXBlcy4KKyAgICAgICBlY2hvICQxCisgICAgICAgZXhpdCA7OworCisgICAgKiApCisgICAgICAgYnJlYWsgOzsKKyAgZXNhYworZG9uZQorCitjYXNlICQjIGluCisgMCkgZWNobyAiJG1lOiBtaXNzaW5nIGFyZ3VtZW50JGhlbHAiID4mMgorICAgIGV4aXQgMTs7CisgMSkgOzsKKyAqKSBlY2hvICIkbWU6IHRvbyBtYW55IGFyZ3VtZW50cyRoZWxwIiA+JjIKKyAgICBleGl0IDE7OworZXNhYworCisjIFNlcGFyYXRlIHdoYXQgdGhlIHVzZXIgZ2F2ZSBpbnRvIENQVS1DT01QQU5ZIGFuZCBPUyBvciBLRVJORUwtT1MgKGlmIGFueSkuCisjIEhlcmUgd2UgbXVzdCByZWNvZ25pemUgYWxsIHRoZSB2YWxpZCBLRVJORUwtT1MgY29tYmluYXRpb25zLgorbWF5YmVfb3M9YGVjaG8gJDEgfCBzZWQgJ3MvXlwoLipcKS1cKFteLV0qLVteLV0qXCkkL1wyLydgCitjYXNlICRtYXliZV9vcyBpbgorICBudG8tcW54KiB8IGxpbnV4LWdudSogfCBsaW51eC1kaWV0bGliYyB8IGxpbnV4LW5ld2xpYiogfCBsaW51eC11Y2xpYmMqIHwgXAorICB1Y2xpbnV4LXVjbGliYyogfCB1Y2xpbnV4LWdudSogfCBrZnJlZWJzZCotZ251KiB8IGtuZXRic2QqLWdudSogfCBuZXRic2QqLWdudSogfCBcCisgIGtvcGVuc29sYXJpcyotZ251KiB8IFwKKyAgc3Rvcm0tY2hhb3MqIHwgb3MyLWVteCogfCBydG1rLW5vdmEqKQorICAgIG9zPS0kbWF5YmVfb3MKKyAgICBiYXNpY19tYWNoaW5lPWBlY2hvICQxIHwgc2VkICdzL15cKC4qXCktXChbXi1dKi1bXi1dKlwpJC9cMS8nYAorICAgIDs7CisgICopCisgICAgYmFzaWNfbWFjaGluZT1gZWNobyAkMSB8IHNlZCAncy8tW14tXSokLy8nYAorICAgIGlmIFsgJGJhc2ljX21hY2hpbmUgIT0gJDEgXQorICAgIHRoZW4gb3M9YGVjaG8gJDEgfCBzZWQgJ3MvLiotLy0vJ2AKKyAgICBlbHNlIG9zPTsgZmkKKyAgICA7OworZXNhYworCisjIyMgTGV0J3MgcmVjb2duaXplIGNvbW1vbiBtYWNoaW5lcyBhcyBub3QgYmVpbmcgb3BlcmF0aW5nIHN5c3RlbXMgc28KKyMjIyB0aGF0IHRoaW5ncyBsaWtlIGNvbmZpZy5zdWIgZGVjc3RhdGlvbi0zMTAwIHdvcmsuICBXZSBhbHNvCisjIyMgcmVjb2duaXplIHNvbWUgbWFudWZhY3R1cmVycyBhcyBub3QgYmVpbmcgb3BlcmF0aW5nIHN5c3RlbXMsIHNvIHdlCisjIyMgY2FuIHByb3ZpZGUgZGVmYXVsdCBvcGVyYXRpbmcgc3lzdGVtcyBiZWxvdy4KK2Nhc2UgJG9zIGluCisJLXN1bipvcyopCisJCSMgUHJldmVudCBmb2xsb3dpbmcgY2xhdXNlIGZyb20gaGFuZGxpbmcgdGhpcyBpbnZhbGlkIGlucHV0LgorCQk7OworCS1kZWMqIHwgLW1pcHMqIHwgLXNlcXVlbnQqIHwgLWVuY29yZSogfCAtcGM1MzIqIHwgLXNnaSogfCAtc29ueSogfCBcCisJLWF0dCogfCAtNzMwMCogfCAtMzMwMCogfCAtZGVsdGEqIHwgLW1vdG9yb2xhKiB8IC1zdW5bMjM0XSogfCBcCisJLXVuaWNvbSogfCAtaWJtKiB8IC1uZXh0IHwgLWhwIHwgLWlzaSogfCAtYXBvbGxvIHwgLWFsdG9zKiB8IFwKKwktY29udmVyZ2VudCogfCAtbmNyKiB8IC1uZXdzIHwgLTMyKiB8IC0zNjAwKiB8IC0zMTAwKiB8IC1oaXRhY2hpKiB8XAorCS1jWzEyM10qIHwgLWNvbnZleCogfCAtc3VuIHwgLWNyZHMgfCAtb21yb24qIHwgLWRnIHwgLXVsdHJhIHwgLXR0aSogfCBcCisJLWhhcnJpcyB8IC1kb2xwaGluIHwgLWhpZ2hsZXZlbCB8IC1nb3VsZCB8IC1jYm0gfCAtbnMgfCAtbWFzc2NvbXAgfCBcCisJLWFwcGxlIHwgLWF4aXMgfCAta251dGggfCAtY3JheSB8IC1taWNyb2JsYXplKQorCQlvcz0KKwkJYmFzaWNfbWFjaGluZT0kMQorCQk7OworICAgICAgICAtYmx1ZWdlbmUqKQorCSAgICAgICAgb3M9LWNuaworCQk7OworCS1zaW0gfCAtY2lzY28gfCAtb2tpIHwgLXdlYyB8IC13aW5ib25kKQorCQlvcz0KKwkJYmFzaWNfbWFjaGluZT0kMQorCQk7OworCS1zY291dCkKKwkJOzsKKwktd3JzKQorCQlvcz0tdnh3b3JrcworCQliYXNpY19tYWNoaW5lPSQxCisJCTs7CisJLWNob3J1c29zKikKKwkJb3M9LWNob3J1c29zCisJCWJhc2ljX21hY2hpbmU9JDEKKwkJOzsKKyAJLWNob3J1c3JkYikKKyAJCW9zPS1jaG9ydXNyZGIKKwkJYmFzaWNfbWFjaGluZT0kMQorIAkJOzsKKwktaGl1eCopCisJCW9zPS1oaXV4d2UyCisJCTs7CisJLXNjbzYpCisJCW9zPS1zY281djYKKwkJYmFzaWNfbWFjaGluZT1gZWNobyAkMSB8IHNlZCAtZSAncy84Ni0uKi84Ni1wYy8nYAorCQk7OworCS1zY281KQorCQlvcz0tc2NvMy4ydjUKKwkJYmFzaWNfbWFjaGluZT1gZWNobyAkMSB8IHNlZCAtZSAncy84Ni0uKi84Ni1wYy8nYAorCQk7OworCS1zY280KQorCQlvcz0tc2NvMy4ydjQKKwkJYmFzaWNfbWFjaGluZT1gZWNobyAkMSB8IHNlZCAtZSAncy84Ni0uKi84Ni1wYy8nYAorCQk7OworCS1zY28zLjIuWzQtOV0qKQorCQlvcz1gZWNobyAkb3MgfCBzZWQgLWUgJ3Mvc2NvMy4yLi9zY28zLjJ2LydgCisJCWJhc2ljX21hY2hpbmU9YGVjaG8gJDEgfCBzZWQgLWUgJ3MvODYtLiovODYtcGMvJ2AKKwkJOzsKKwktc2NvMy4ydls0LTldKikKKwkJIyBEb24ndCBmb3JnZXQgdmVyc2lvbiBpZiBpdCBpcyAzLjJ2NCBvciBuZXdlci4KKwkJYmFzaWNfbWFjaGluZT1gZWNobyAkMSB8IHNlZCAtZSAncy84Ni0uKi84Ni1wYy8nYAorCQk7OworCS1zY281djYqKQorCQkjIERvbid0IGZvcmdldCB2ZXJzaW9uIGlmIGl0IGlzIDMuMnY0IG9yIG5ld2VyLgorCQliYXNpY19tYWNoaW5lPWBlY2hvICQxIHwgc2VkIC1lICdzLzg2LS4qLzg2LXBjLydgCisJCTs7CisJLXNjbyopCisJCW9zPS1zY28zLjJ2MgorCQliYXNpY19tYWNoaW5lPWBlY2hvICQxIHwgc2VkIC1lICdzLzg2LS4qLzg2LXBjLydgCisJCTs7CisJLXVkayopCisJCWJhc2ljX21hY2hpbmU9YGVjaG8gJDEgfCBzZWQgLWUgJ3MvODYtLiovODYtcGMvJ2AKKwkJOzsKKwktaXNjKQorCQlvcz0taXNjMi4yCisJCWJhc2ljX21hY2hpbmU9YGVjaG8gJDEgfCBzZWQgLWUgJ3MvODYtLiovODYtcGMvJ2AKKwkJOzsKKwktY2xpeCopCisJCWJhc2ljX21hY2hpbmU9Y2xpcHBlci1pbnRlcmdyYXBoCisJCTs7CisJLWlzYyopCisJCWJhc2ljX21hY2hpbmU9YGVjaG8gJDEgfCBzZWQgLWUgJ3MvODYtLiovODYtcGMvJ2AKKwkJOzsKKwktbHlueCopCisJCW9zPS1seW54b3MKKwkJOzsKKwktcHR4KikKKwkJYmFzaWNfbWFjaGluZT1gZWNobyAkMSB8IHNlZCAtZSAncy84Ni0uKi84Ni1zZXF1ZW50LydgCisJCTs7CisJLXdpbmRvd3NudCopCisJCW9zPWBlY2hvICRvcyB8IHNlZCAtZSAncy93aW5kb3dzbnQvd2lubnQvJ2AKKwkJOzsKKwktcHNvcyopCisJCW9zPS1wc29zCisJCTs7CisJLW1pbnQgfCAtbWludFswLTldKikKKwkJYmFzaWNfbWFjaGluZT1tNjhrLWF0YXJpCisJCW9zPS1taW50CisJCTs7Citlc2FjCisKKyMgRGVjb2RlIGFsaWFzZXMgZm9yIGNlcnRhaW4gQ1BVLUNPTVBBTlkgY29tYmluYXRpb25zLgorY2FzZSAkYmFzaWNfbWFjaGluZSBpbgorCSMgUmVjb2duaXplIHRoZSBiYXNpYyBDUFUgdHlwZXMgd2l0aG91dCBjb21wYW55IG5hbWUuCisJIyBTb21lIGFyZSBvbWl0dGVkIGhlcmUgYmVjYXVzZSB0aGV5IGhhdmUgc3BlY2lhbCBtZWFuaW5ncyBiZWxvdy4KKwkxNzUwYSB8IDU4MCBcCisJfCBhMjlrIFwKKwl8IGFscGhhIHwgYWxwaGFldls0LThdIHwgYWxwaGFldjU2IHwgYWxwaGFldjZbNzhdIHwgYWxwaGFwY2E1WzY3XSBcCisJfCBhbHBoYTY0IHwgYWxwaGE2NGV2WzQtOF0gfCBhbHBoYTY0ZXY1NiB8IGFscGhhNjRldjZbNzhdIHwgYWxwaGE2NHBjYTVbNjddIFwKKwl8IGFtMzNfMi4wIFwKKwl8IGFyYyB8IGFybSB8IGFybVtibF1lIHwgYXJtZVtsYl0gfCBhcm12WzIzNDVdIHwgYXJtdlszNDVdW2xiXSB8IGF2ciB8IGF2cjMyIFwKKwl8IGJmaW4gXAorCXwgYzR4IHwgY2xpcHBlciBcCisJfCBkMTB2IHwgZDMwdiB8IGRseCB8IGRzcDE2eHggXAorCXwgZmlkbyB8IGZyMzAgfCBmcnYgXAorCXwgaDgzMDAgfCBoODUwMCB8IGhwcGEgfCBocHBhMS5bMDFdIHwgaHBwYTIuMCB8IGhwcGEyLjBbbnddIHwgaHBwYTY0IFwKKwl8IGkzNzAgfCBpODYwIHwgaTk2MCB8IGlhNjQgXAorCXwgaXAyayB8IGlxMjAwMCBcCisJfCBsbTMyIFwKKwl8IG0zMmMgfCBtMzJyIHwgbTMycmxlIHwgbTY4MDAwIHwgbTY4ayB8IG04OGsgXAorCXwgbWF4cSB8IG1iIHwgbWljcm9ibGF6ZSB8IG1jb3JlIHwgbWVwIHwgbWV0YWcgXAorCXwgbWlwcyB8IG1pcHNiZSB8IG1pcHNlYiB8IG1pcHNlbCB8IG1pcHNsZSBcCisJfCBtaXBzMTYgXAorCXwgbWlwczY0IHwgbWlwczY0ZWwgXAorCXwgbWlwczY0b2N0ZW9uIHwgbWlwczY0b2N0ZW9uZWwgXAorCXwgbWlwczY0b3Jpb24gfCBtaXBzNjRvcmlvbmVsIFwKKwl8IG1pcHM2NHI1OTAwIHwgbWlwczY0cjU5MDBlbCBcCisJfCBtaXBzNjR2ciB8IG1pcHM2NHZyZWwgXAorCXwgbWlwczY0dnI0MTAwIHwgbWlwczY0dnI0MTAwZWwgXAorCXwgbWlwczY0dnI0MzAwIHwgbWlwczY0dnI0MzAwZWwgXAorCXwgbWlwczY0dnI1MDAwIHwgbWlwczY0dnI1MDAwZWwgXAorCXwgbWlwczY0dnI1OTAwIHwgbWlwczY0dnI1OTAwZWwgXAorCXwgbWlwc2lzYTMyIHwgbWlwc2lzYTMyZWwgXAorCXwgbWlwc2lzYTMycjIgfCBtaXBzaXNhMzJyMmVsIFwKKwl8IG1pcHNpc2E2NCB8IG1pcHNpc2E2NGVsIFwKKwl8IG1pcHNpc2E2NHIyIHwgbWlwc2lzYTY0cjJlbCBcCisJfCBtaXBzaXNhNjRzYjEgfCBtaXBzaXNhNjRzYjFlbCBcCisJfCBtaXBzaXNhNjRzcjcxayB8IG1pcHNpc2E2NHNyNzFrZWwgXAorCXwgbWlwc3R4MzkgfCBtaXBzdHgzOWVsIFwKKwl8IG1uMTAyMDAgfCBtbjEwMzAwIFwKKwl8IG1veGllIFwKKwl8IG10IFwKKwl8IG1zcDQzMCBcCisJfCBuaW9zIHwgbmlvczIgXAorCXwgbnMxNmsgfCBuczMyayBcCisJfCBvcjMyIFwKKwl8IHBkcDEwIHwgcGRwMTEgfCBwaiB8IHBqbCBcCisJfCBwb3dlcnBjIHwgcG93ZXJwYzY0IHwgcG93ZXJwYzY0bGUgfCBwb3dlcnBjbGUgfCBwcGNiZSBcCisJfCBweXJhbWlkIFwKKwl8IHJ4IFwKKwl8IHNjb3JlIFwKKwl8IHNoIHwgc2hbMTIzNF0gfCBzaFsyNF1hIHwgc2hbMjRdYWViIHwgc2hbMjNdZSB8IHNoWzM0XWViIHwgc2hlYiB8IHNoYmUgfCBzaGxlIHwgc2hbMTIzNF1sZSB8IHNoM2VsZSBcCisJfCBzaDY0IHwgc2g2NGxlIFwKKwl8IHNwYXJjIHwgc3BhcmM2NCB8IHNwYXJjNjRiIHwgc3BhcmM2NHYgfCBzcGFyYzg2eCB8IHNwYXJjbGV0IHwgc3BhcmNsaXRlIFwKKwl8IHNwYXJjdjggfCBzcGFyY3Y5IHwgc3BhcmN2OWIgfCBzcGFyY3Y5diBcCisJfCBzcHUgfCBzdHJvbmdhcm0gXAorCXwgdGFob2UgfCB0aHVtYiB8IHRpYzR4IHwgdGljODAgfCB0cm9uIFwKKwl8IHViaWNvbTMyIFwKKwl8IHY4NTAgfCB2ODUwZSBcCisJfCB3ZTMyayBcCisJfCB4ODYgfCB4YzE2eCB8IHhzY2FsZSB8IHhzY2FsZWVbYmxdIHwgeHN0b3JteTE2IHwgeHRlbnNhIFwKKwl8IHo4ayB8IHo4MCkKKwkJYmFzaWNfbWFjaGluZT0kYmFzaWNfbWFjaGluZS11bmtub3duCisJCTs7CisJbTY4MTEgfCBtNjhoYzExIHwgbTY4MTIgfCBtNjhoYzEyIHwgcGljb2NoaXApCisJCSMgTW90b3JvbGEgNjhIQzExLzEyLgorCQliYXNpY19tYWNoaW5lPSRiYXNpY19tYWNoaW5lLXVua25vd24KKwkJb3M9LW5vbmUKKwkJOzsKKwltODgxMTAgfCBtNjgwWzEyMzQ2XTAgfCBtNjgzPzIgfCBtNjgzNjAgfCBtNTIwMCB8IHY3MCB8IHc2NSB8IHo4aykKKwkJOzsKKwltczEpCisJCWJhc2ljX21hY2hpbmU9bXQtdW5rbm93bgorCQk7OworCisJIyBXZSB1c2UgYHBjJyByYXRoZXIgdGhhbiBgdW5rbm93bicKKwkjIGJlY2F1c2UgKDEpIHRoYXQncyB3aGF0IHRoZXkgbm9ybWFsbHkgYXJlLCBhbmQKKwkjICgyKSB0aGUgd29yZCAidW5rbm93biIgdGVuZHMgdG8gY29uZnVzZSBiZWdpbm5pbmcgdXNlcnMuCisJaSo4NiB8IHg4Nl82NCkKKwkgIGJhc2ljX21hY2hpbmU9JGJhc2ljX21hY2hpbmUtcGMKKwkgIDs7CisJIyBPYmplY3QgaWYgbW9yZSB0aGFuIG9uZSBjb21wYW55IG5hbWUgd29yZC4KKwkqLSotKikKKwkJZWNobyBJbnZhbGlkIGNvbmZpZ3VyYXRpb24gXGAkMVwnOiBtYWNoaW5lIFxgJGJhc2ljX21hY2hpbmVcJyBub3QgcmVjb2duaXplZCAxPiYyCisJCWV4aXQgMQorCQk7OworCSMgUmVjb2duaXplIHRoZSBiYXNpYyBDUFUgdHlwZXMgd2l0aCBjb21wYW55IG5hbWUuCisJNTgwLSogXAorCXwgYTI5ay0qIFwKKwl8IGFscGhhLSogfCBhbHBoYWV2WzQtOF0tKiB8IGFscGhhZXY1Ni0qIHwgYWxwaGFldjZbNzhdLSogXAorCXwgYWxwaGE2NC0qIHwgYWxwaGE2NGV2WzQtOF0tKiB8IGFscGhhNjRldjU2LSogfCBhbHBoYTY0ZXY2Wzc4XS0qIFwKKwl8IGFscGhhcGNhNVs2N10tKiB8IGFscGhhNjRwY2E1WzY3XS0qIHwgYXJjLSogXAorCXwgYXJtLSogIHwgYXJtYmUtKiB8IGFybWxlLSogfCBhcm1lYi0qIHwgYXJtdiotKiBcCisJfCBhdnItKiB8IGF2cjMyLSogXAorCXwgYmZpbi0qIHwgYnMyMDAwLSogXAorCXwgY1sxMjNdKiB8IGMzMC0qIHwgW2NqdF05MC0qIHwgYzR4LSogfCBjNTR4LSogfCBjNTV4LSogfCBjNngtKiBcCisJfCBjbGlwcGVyLSogfCBjcmF5bnYtKiB8IGN5ZHJhLSogXAorCXwgZDEwdi0qIHwgZDMwdi0qIHwgZGx4LSogXAorCXwgZWx4c2ktKiBcCisJfCBmMzBbMDFdLSogfCBmNzAwLSogfCBmaWRvLSogfCBmcjMwLSogfCBmcnYtKiB8IGZ4ODAtKiBcCisJfCBoODMwMC0qIHwgaDg1MDAtKiBcCisJfCBocHBhLSogfCBocHBhMS5bMDFdLSogfCBocHBhMi4wLSogfCBocHBhMi4wW253XS0qIHwgaHBwYTY0LSogXAorCXwgaSo4Ni0qIHwgaTg2MC0qIHwgaTk2MC0qIHwgaWE2NC0qIFwKKwl8IGlwMmstKiB8IGlxMjAwMC0qIFwKKwl8IGxtMzItKiBcCisJfCBtMzJjLSogfCBtMzJyLSogfCBtMzJybGUtKiBcCisJfCBtNjgwMDAtKiB8IG02ODBbMDEyMzQ2XTAtKiB8IG02ODM2MC0qIHwgbTY4Mz8yLSogfCBtNjhrLSogXAorCXwgbTg4MTEwLSogfCBtODhrLSogfCBtYXhxLSogfCBtY29yZS0qIHwgbWV0YWctKiB8IG1pY3JvYmxhemUtKiBcCisJfCBtaXBzLSogfCBtaXBzYmUtKiB8IG1pcHNlYi0qIHwgbWlwc2VsLSogfCBtaXBzbGUtKiBcCisJfCBtaXBzMTYtKiBcCisJfCBtaXBzNjQtKiB8IG1pcHM2NGVsLSogXAorCXwgbWlwczY0b2N0ZW9uLSogfCBtaXBzNjRvY3Rlb25lbC0qIFwKKwl8IG1pcHM2NG9yaW9uLSogfCBtaXBzNjRvcmlvbmVsLSogXAorCXwgbWlwczY0cjU5MDAtKiB8IG1pcHM2NHI1OTAwZWwtKiBcCisJfCBtaXBzNjR2ci0qIHwgbWlwczY0dnJlbC0qIFwKKwl8IG1pcHM2NHZyNDEwMC0qIHwgbWlwczY0dnI0MTAwZWwtKiBcCisJfCBtaXBzNjR2cjQzMDAtKiB8IG1pcHM2NHZyNDMwMGVsLSogXAorCXwgbWlwczY0dnI1MDAwLSogfCBtaXBzNjR2cjUwMDBlbC0qIFwKKwl8IG1pcHM2NHZyNTkwMC0qIHwgbWlwczY0dnI1OTAwZWwtKiBcCisJfCBtaXBzaXNhMzItKiB8IG1pcHNpc2EzMmVsLSogXAorCXwgbWlwc2lzYTMycjItKiB8IG1pcHNpc2EzMnIyZWwtKiBcCisJfCBtaXBzaXNhNjQtKiB8IG1pcHNpc2E2NGVsLSogXAorCXwgbWlwc2lzYTY0cjItKiB8IG1pcHNpc2E2NHIyZWwtKiBcCisJfCBtaXBzaXNhNjRzYjEtKiB8IG1pcHNpc2E2NHNiMWVsLSogXAorCXwgbWlwc2lzYTY0c3I3MWstKiB8IG1pcHNpc2E2NHNyNzFrZWwtKiBcCisJfCBtaXBzdHgzOS0qIHwgbWlwc3R4MzllbC0qIFwKKwl8IG1taXgtKiBcCisJfCBtdC0qIFwKKwl8IG1zcDQzMC0qIFwKKwl8IG5pb3MtKiB8IG5pb3MyLSogXAorCXwgbm9uZS0qIHwgbnAxLSogfCBuczE2ay0qIHwgbnMzMmstKiBcCisJfCBvcmlvbi0qIFwKKwl8IHBkcDEwLSogfCBwZHAxMS0qIHwgcGotKiB8IHBqbC0qIHwgcG4tKiB8IHBvd2VyLSogXAorCXwgcG93ZXJwYy0qIHwgcG93ZXJwYzY0LSogfCBwb3dlcnBjNjRsZS0qIHwgcG93ZXJwY2xlLSogfCBwcGNiZS0qIFwKKwl8IHB5cmFtaWQtKiBcCisJfCByb21wLSogfCByczYwMDAtKiB8IHJ4LSogXAorCXwgc2gtKiB8IHNoWzEyMzRdLSogfCBzaFsyNF1hLSogfCBzaFsyNF1hZWItKiB8IHNoWzIzXWUtKiB8IHNoWzM0XWViLSogfCBzaGViLSogfCBzaGJlLSogXAorCXwgc2hsZS0qIHwgc2hbMTIzNF1sZS0qIHwgc2gzZWxlLSogfCBzaDY0LSogfCBzaDY0bGUtKiBcCisJfCBzcGFyYy0qIHwgc3BhcmM2NC0qIHwgc3BhcmM2NGItKiB8IHNwYXJjNjR2LSogfCBzcGFyYzg2eC0qIHwgc3BhcmNsZXQtKiBcCisJfCBzcGFyY2xpdGUtKiBcCisJfCBzcGFyY3Y4LSogfCBzcGFyY3Y5LSogfCBzcGFyY3Y5Yi0qIHwgc3BhcmN2OXYtKiB8IHN0cm9uZ2FybS0qIHwgc3YxLSogfCBzeD8tKiBcCisJfCB0YWhvZS0qIHwgdGh1bWItKiBcCisJfCB0aWMzMC0qIHwgdGljNHgtKiB8IHRpYzU0eC0qIHwgdGljNTV4LSogfCB0aWM2eC0qIHwgdGljODAtKiB8IHRpbGUtKiBcCisJfCB0cm9uLSogXAorCXwgdWJpY29tMzItKiBcCisJfCB2ODUwLSogfCB2ODUwZS0qIHwgdmF4LSogXAorCXwgd2UzMmstKiBcCisJfCB4ODYtKiB8IHg4Nl82NC0qIHwgeGMxNngtKiB8IHhwczEwMC0qIHwgeHNjYWxlLSogfCB4c2NhbGVlW2JsXS0qIFwKKwl8IHhzdG9ybXkxNi0qIHwgeHRlbnNhKi0qIFwKKwl8IHltcC0qIFwKKwl8IHo4ay0qIHwgejgwLSopCisJCTs7CisJIyBSZWNvZ25pemUgdGhlIGJhc2ljIENQVSB0eXBlcyB3aXRob3V0IGNvbXBhbnkgbmFtZSwgd2l0aCBnbG9iIG1hdGNoLgorCXh0ZW5zYSopCisJCWJhc2ljX21hY2hpbmU9JGJhc2ljX21hY2hpbmUtdW5rbm93bgorCQk7OworCSMgUmVjb2duaXplIHRoZSB2YXJpb3VzIG1hY2hpbmUgbmFtZXMgYW5kIGFsaWFzZXMgd2hpY2ggc3RhbmQKKwkjIGZvciBhIENQVSB0eXBlIGFuZCBhIGNvbXBhbnkgYW5kIHNvbWV0aW1lcyBldmVuIGFuIE9TLgorCTM4NmJzZCkKKwkJYmFzaWNfbWFjaGluZT1pMzg2LXVua25vd24KKwkJb3M9LWJzZAorCQk7OworCTNiMSB8IDczMDAgfCA3MzAwLWF0dCB8IGF0dC03MzAwIHwgcGM3MzAwIHwgc2FmYXJpIHwgdW5peHBjKQorCQliYXNpY19tYWNoaW5lPW02ODAwMC1hdHQKKwkJOzsKKwkzYiopCisJCWJhc2ljX21hY2hpbmU9d2UzMmstYXR0CisJCTs7CisJYTI5a2hpZikKKwkJYmFzaWNfbWFjaGluZT1hMjlrLWFtZAorCQlvcz0tdWRpCisJCTs7CisgICAgCWFiYWN1cykKKwkJYmFzaWNfbWFjaGluZT1hYmFjdXMtdW5rbm93bgorCQk7OworCWFkb2JlNjhrKQorCQliYXNpY19tYWNoaW5lPW02ODAxMC1hZG9iZQorCQlvcz0tc2NvdXQKKwkJOzsKKwlhbGxpYW50IHwgZng4MCkKKwkJYmFzaWNfbWFjaGluZT1meDgwLWFsbGlhbnQKKwkJOzsKKwlhbHRvcyB8IGFsdG9zMzA2OCkKKwkJYmFzaWNfbWFjaGluZT1tNjhrLWFsdG9zCisJCTs7CisJYW0yOWspCisJCWJhc2ljX21hY2hpbmU9YTI5ay1ub25lCisJCW9zPS1ic2QKKwkJOzsKKwlhbWQ2NCkKKwkJYmFzaWNfbWFjaGluZT14ODZfNjQtcGMKKwkJOzsKKwlhbWQ2NC0qKQorCQliYXNpY19tYWNoaW5lPXg4Nl82NC1gZWNobyAkYmFzaWNfbWFjaGluZSB8IHNlZCAncy9eW14tXSotLy8nYAorCQk7OworCWFtZGFobCkKKwkJYmFzaWNfbWFjaGluZT01ODAtYW1kYWhsCisJCW9zPS1zeXN2CisJCTs7CisJYW1pZ2EgfCBhbWlnYS0qKQorCQliYXNpY19tYWNoaW5lPW02OGstdW5rbm93bgorCQk7OworCWFtaWdhb3MgfCBhbWlnYWRvcykKKwkJYmFzaWNfbWFjaGluZT1tNjhrLXVua25vd24KKwkJb3M9LWFtaWdhb3MKKwkJOzsKKwlhbWlnYXVuaXggfCBhbWl4KQorCQliYXNpY19tYWNoaW5lPW02OGstdW5rbm93bgorCQlvcz0tc3lzdjQKKwkJOzsKKwlhcG9sbG82OCkKKwkJYmFzaWNfbWFjaGluZT1tNjhrLWFwb2xsbworCQlvcz0tc3lzdgorCQk7OworCWFwb2xsbzY4YnNkKQorCQliYXNpY19tYWNoaW5lPW02OGstYXBvbGxvCisJCW9zPS1ic2QKKwkJOzsKKwlhcm9zKQorCQliYXNpY19tYWNoaW5lPWkzODYtcGMKKwkJb3M9LWFyb3MKKwkJOzsKKwlhdXgpCisJCWJhc2ljX21hY2hpbmU9bTY4ay1hcHBsZQorCQlvcz0tYXV4CisJCTs7CisJYmFsYW5jZSkKKwkJYmFzaWNfbWFjaGluZT1uczMyay1zZXF1ZW50CisJCW9zPS1keW5peAorCQk7OworCWJsYWNrZmluKQorCQliYXNpY19tYWNoaW5lPWJmaW4tdW5rbm93bgorCQlvcz0tbGludXgKKwkJOzsKKwlibGFja2Zpbi0qKQorCQliYXNpY19tYWNoaW5lPWJmaW4tYGVjaG8gJGJhc2ljX21hY2hpbmUgfCBzZWQgJ3MvXlteLV0qLS8vJ2AKKwkJb3M9LWxpbnV4CisJCTs7CisJYmx1ZWdlbmUqKQorCQliYXNpY19tYWNoaW5lPXBvd2VycGMtaWJtCisJCW9zPS1jbmsKKwkJOzsKKwljOTApCisJCWJhc2ljX21hY2hpbmU9YzkwLWNyYXkKKwkJb3M9LXVuaWNvcworCQk7OworICAgICAgICBjZWdjYykKKwkJYmFzaWNfbWFjaGluZT1hcm0tdW5rbm93bgorCQlvcz0tY2VnY2MKKwkJOzsKKwljb252ZXgtYzEpCisJCWJhc2ljX21hY2hpbmU9YzEtY29udmV4CisJCW9zPS1ic2QKKwkJOzsKKwljb252ZXgtYzIpCisJCWJhc2ljX21hY2hpbmU9YzItY29udmV4CisJCW9zPS1ic2QKKwkJOzsKKwljb252ZXgtYzMyKQorCQliYXNpY19tYWNoaW5lPWMzMi1jb252ZXgKKwkJb3M9LWJzZAorCQk7OworCWNvbnZleC1jMzQpCisJCWJhc2ljX21hY2hpbmU9YzM0LWNvbnZleAorCQlvcz0tYnNkCisJCTs7CisJY29udmV4LWMzOCkKKwkJYmFzaWNfbWFjaGluZT1jMzgtY29udmV4CisJCW9zPS1ic2QKKwkJOzsKKwljcmF5IHwgajkwKQorCQliYXNpY19tYWNoaW5lPWo5MC1jcmF5CisJCW9zPS11bmljb3MKKwkJOzsKKwljcmF5bnYpCisJCWJhc2ljX21hY2hpbmU9Y3JheW52LWNyYXkKKwkJb3M9LXVuaWNvc21wCisJCTs7CisJY3IxNikKKwkJYmFzaWNfbWFjaGluZT1jcjE2LXVua25vd24KKwkJb3M9LWVsZgorCQk7OworCWNyZHMgfCB1bm9zKQorCQliYXNpY19tYWNoaW5lPW02OGstY3JkcworCQk7OworCWNyaXN2MzIgfCBjcmlzdjMyLSogfCBldHJheGZzKikKKwkJYmFzaWNfbWFjaGluZT1jcmlzdjMyLWF4aXMKKwkJOzsKKwljcmlzIHwgY3Jpcy0qIHwgZXRyYXgqKQorCQliYXNpY19tYWNoaW5lPWNyaXMtYXhpcworCQk7OworCWNyeCkKKwkJYmFzaWNfbWFjaGluZT1jcngtdW5rbm93bgorCQlvcz0tZWxmCisJCTs7CisJZGEzMCB8IGRhMzAtKikKKwkJYmFzaWNfbWFjaGluZT1tNjhrLWRhMzAKKwkJOzsKKwlkZWNzdGF0aW9uIHwgZGVjc3RhdGlvbi0zMTAwIHwgcG1heCB8IHBtYXgtKiB8IHBtaW4gfCBkZWMzMTAwIHwgZGVjc3RhdG4pCisJCWJhc2ljX21hY2hpbmU9bWlwcy1kZWMKKwkJOzsKKwlkZWNzeXN0ZW0xMCogfCBkZWMxMCopCisJCWJhc2ljX21hY2hpbmU9cGRwMTAtZGVjCisJCW9zPS10b3BzMTAKKwkJOzsKKwlkZWNzeXN0ZW0yMCogfCBkZWMyMCopCisJCWJhc2ljX21hY2hpbmU9cGRwMTAtZGVjCisJCW9zPS10b3BzMjAKKwkJOzsKKwlkZWx0YSB8IDMzMDAgfCBtb3Rvcm9sYS0zMzAwIHwgbW90b3JvbGEtZGVsdGEgXAorCSAgICAgIHwgMzMwMC1tb3Rvcm9sYSB8IGRlbHRhLW1vdG9yb2xhKQorCQliYXNpY19tYWNoaW5lPW02OGstbW90b3JvbGEKKwkJOzsKKwlkZWx0YTg4KQorCQliYXNpY19tYWNoaW5lPW04OGstbW90b3JvbGEKKwkJb3M9LXN5c3YzCisJCTs7CisJZGljb3MpCisJCWJhc2ljX21hY2hpbmU9aTY4Ni1wYworCQlvcz0tZGljb3MKKwkJOzsKKwlkamdwcCkKKwkJYmFzaWNfbWFjaGluZT1pNTg2LXBjCisJCW9zPS1tc2Rvc2RqZ3BwCisJCTs7CisJZHB4MjAgfCBkcHgyMC0qKQorCQliYXNpY19tYWNoaW5lPXJzNjAwMC1idWxsCisJCW9zPS1ib3N4CisJCTs7CisJZHB4MiogfCBkcHgyKi1idWxsKQorCQliYXNpY19tYWNoaW5lPW02OGstYnVsbAorCQlvcz0tc3lzdjMKKwkJOzsKKwllYm1vbjI5aykKKwkJYmFzaWNfbWFjaGluZT1hMjlrLWFtZAorCQlvcz0tZWJtb24KKwkJOzsKKwllbHhzaSkKKwkJYmFzaWNfbWFjaGluZT1lbHhzaS1lbHhzaQorCQlvcz0tYnNkCisJCTs7CisJZW5jb3JlIHwgdW1heCB8IG1tYXgpCisJCWJhc2ljX21hY2hpbmU9bnMzMmstZW5jb3JlCisJCTs7CisJZXMxODAwIHwgT1NFNjhrIHwgb3NlNjhrIHwgb3NlIHwgT1NFKQorCQliYXNpY19tYWNoaW5lPW02OGstZXJpY3Nzb24KKwkJb3M9LW9zZQorCQk7OworCWZ4MjgwMCkKKwkJYmFzaWNfbWFjaGluZT1pODYwLWFsbGlhbnQKKwkJOzsKKwlnZW5peCkKKwkJYmFzaWNfbWFjaGluZT1uczMyay1ucworCQk7OworCWdtaWNybykKKwkJYmFzaWNfbWFjaGluZT10cm9uLWdtaWNybworCQlvcz0tc3lzdgorCQk7OworCWdvMzIpCisJCWJhc2ljX21hY2hpbmU9aTM4Ni1wYworCQlvcz0tZ28zMgorCQk7OworCWgzMDUwciogfCBoaXV4KikKKwkJYmFzaWNfbWFjaGluZT1ocHBhMS4xLWhpdGFjaGkKKwkJb3M9LWhpdXh3ZTIKKwkJOzsKKwloODMwMGhtcykKKwkJYmFzaWNfbWFjaGluZT1oODMwMC1oaXRhY2hpCisJCW9zPS1obXMKKwkJOzsKKwloODMwMHhyYXkpCisJCWJhc2ljX21hY2hpbmU9aDgzMDAtaGl0YWNoaQorCQlvcz0teHJheQorCQk7OworCWg4NTAwaG1zKQorCQliYXNpY19tYWNoaW5lPWg4NTAwLWhpdGFjaGkKKwkJb3M9LWhtcworCQk7OworCWhhcnJpcykKKwkJYmFzaWNfbWFjaGluZT1tODhrLWhhcnJpcworCQlvcz0tc3lzdjMKKwkJOzsKKwlocDMwMC0qKQorCQliYXNpY19tYWNoaW5lPW02OGstaHAKKwkJOzsKKwlocDMwMGJzZCkKKwkJYmFzaWNfbWFjaGluZT1tNjhrLWhwCisJCW9zPS1ic2QKKwkJOzsKKwlocDMwMGhwdXgpCisJCWJhc2ljX21hY2hpbmU9bTY4ay1ocAorCQlvcz0taHB1eAorCQk7OworCWhwM2s5WzAtOV1bMC05XSB8IGhwOVswLTldWzAtOV0pCisJCWJhc2ljX21hY2hpbmU9aHBwYTEuMC1ocAorCQk7OworCWhwOWsyWzAtOV1bMC05XSB8IGhwOWszMVswLTldKQorCQliYXNpY19tYWNoaW5lPW02ODAwMC1ocAorCQk7OworCWhwOWszWzItOV1bMC05XSkKKwkJYmFzaWNfbWFjaGluZT1tNjhrLWhwCisJCTs7CisJaHA5azZbMC05XVswLTldIHwgaHA2WzAtOV1bMC05XSkKKwkJYmFzaWNfbWFjaGluZT1ocHBhMS4wLWhwCisJCTs7CisJaHA5azdbMC03OV1bMC05XSB8IGhwN1swLTc5XVswLTldKQorCQliYXNpY19tYWNoaW5lPWhwcGExLjEtaHAKKwkJOzsKKwlocDlrNzhbMC05XSB8IGhwNzhbMC05XSkKKwkJIyBGSVhNRTogcmVhbGx5IGhwcGEyLjAtaHAKKwkJYmFzaWNfbWFjaGluZT1ocHBhMS4xLWhwCisJCTs7CisJaHA5azhbNjddMSB8IGhwOFs2N10xIHwgaHA5azgwWzI0XSB8IGhwODBbMjRdIHwgaHA5azhbNzhdOSB8IGhwOFs3OF05IHwgaHA5azg5MyB8IGhwODkzKQorCQkjIEZJWE1FOiByZWFsbHkgaHBwYTIuMC1ocAorCQliYXNpY19tYWNoaW5lPWhwcGExLjEtaHAKKwkJOzsKKwlocDlrOFswLTldWzEzNjc5XSB8IGhwOFswLTldWzEzNjc5XSkKKwkJYmFzaWNfbWFjaGluZT1ocHBhMS4xLWhwCisJCTs7CisJaHA5azhbMC05XVswLTldIHwgaHA4WzAtOV1bMC05XSkKKwkJYmFzaWNfbWFjaGluZT1ocHBhMS4wLWhwCisJCTs7CisJaHBwYS1uZXh0KQorCQlvcz0tbmV4dHN0ZXAzCisJCTs7CisJaHBwYW9zZikKKwkJYmFzaWNfbWFjaGluZT1ocHBhMS4xLWhwCisJCW9zPS1vc2YKKwkJOzsKKwlocHBybykKKwkJYmFzaWNfbWFjaGluZT1ocHBhMS4xLWhwCisJCW9zPS1wcm9lbGYKKwkJOzsKKwlpMzcwLWlibSogfCBpYm0qKQorCQliYXNpY19tYWNoaW5lPWkzNzAtaWJtCisJCTs7CisjIEknbSBub3Qgc3VyZSB3aGF0ICJTeXN2MzIiIG1lYW5zLiAgU2hvdWxkIHRoaXMgYmUgc3lzdjMuMj8KKwlpKjg2djMyKQorCQliYXNpY19tYWNoaW5lPWBlY2hvICQxIHwgc2VkIC1lICdzLzg2LiovODYtcGMvJ2AKKwkJb3M9LXN5c3YzMgorCQk7OworCWkqODZ2NCopCisJCWJhc2ljX21hY2hpbmU9YGVjaG8gJDEgfCBzZWQgLWUgJ3MvODYuKi84Ni1wYy8nYAorCQlvcz0tc3lzdjQKKwkJOzsKKwlpKjg2dikKKwkJYmFzaWNfbWFjaGluZT1gZWNobyAkMSB8IHNlZCAtZSAncy84Ni4qLzg2LXBjLydgCisJCW9zPS1zeXN2CisJCTs7CisJaSo4NnNvbDIpCisJCWJhc2ljX21hY2hpbmU9YGVjaG8gJDEgfCBzZWQgLWUgJ3MvODYuKi84Ni1wYy8nYAorCQlvcz0tc29sYXJpczIKKwkJOzsKKwlpMzg2bWFjaCkKKwkJYmFzaWNfbWFjaGluZT1pMzg2LW1hY2gKKwkJb3M9LW1hY2gKKwkJOzsKKwlpMzg2LXZzdGEgfCB2c3RhKQorCQliYXNpY19tYWNoaW5lPWkzODYtdW5rbm93bgorCQlvcz0tdnN0YQorCQk7OworCWlyaXMgfCBpcmlzNGQpCisJCWJhc2ljX21hY2hpbmU9bWlwcy1zZ2kKKwkJY2FzZSAkb3MgaW4KKwkJICAgIC1pcml4KikKKwkJCTs7CisJCSAgICAqKQorCQkJb3M9LWlyaXg0CisJCQk7OworCQllc2FjCisJCTs7CisJaXNpNjggfCBpc2kpCisJCWJhc2ljX21hY2hpbmU9bTY4ay1pc2kKKwkJb3M9LXN5c3YKKwkJOzsKKwltNjhrbm9tbXUpCisJCWJhc2ljX21hY2hpbmU9bTY4ay11bmtub3duCisJCW9zPS1saW51eAorCQk7OworCW02OGtub21tdS0qKQorCQliYXNpY19tYWNoaW5lPW02OGstYGVjaG8gJGJhc2ljX21hY2hpbmUgfCBzZWQgJ3MvXlteLV0qLS8vJ2AKKwkJb3M9LWxpbnV4CisJCTs7CisJbTg4ay1vbXJvbiopCisJCWJhc2ljX21hY2hpbmU9bTg4ay1vbXJvbgorCQk7OworCW1hZ251bSB8IG0zMjMwKQorCQliYXNpY19tYWNoaW5lPW1pcHMtbWlwcworCQlvcz0tc3lzdgorCQk7OworCW1lcmxpbikKKwkJYmFzaWNfbWFjaGluZT1uczMyay11dGVrCisJCW9zPS1zeXN2CisJCTs7CisgICAgICAgIG1pY3JvYmxhemUpCisJCWJhc2ljX21hY2hpbmU9bWljcm9ibGF6ZS14aWxpbngKKwkJOzsKKwltaW5ndzMyKQorCQliYXNpY19tYWNoaW5lPWkzODYtcGMKKwkJb3M9LW1pbmd3MzIKKwkJOzsKKwltaW5ndzMyY2UpCisJCWJhc2ljX21hY2hpbmU9YXJtLXVua25vd24KKwkJb3M9LW1pbmd3MzJjZQorCQk7OworCW1pbmlmcmFtZSkKKwkJYmFzaWNfbWFjaGluZT1tNjgwMDAtY29udmVyZ2VudAorCQk7OworCSptaW50IHwgLW1pbnRbMC05XSogfCAqTWlOVCB8ICpNaU5UWzAtOV0qKQorCQliYXNpY19tYWNoaW5lPW02OGstYXRhcmkKKwkJb3M9LW1pbnQKKwkJOzsKKwltaXBzMyotKikKKwkJYmFzaWNfbWFjaGluZT1gZWNobyAkYmFzaWNfbWFjaGluZSB8IHNlZCAtZSAncy9taXBzMy9taXBzNjQvJ2AKKwkJOzsKKwltaXBzMyopCisJCWJhc2ljX21hY2hpbmU9YGVjaG8gJGJhc2ljX21hY2hpbmUgfCBzZWQgLWUgJ3MvbWlwczMvbWlwczY0LydgLXVua25vd24KKwkJOzsKKwltb25pdG9yKQorCQliYXNpY19tYWNoaW5lPW02OGstcm9tNjhrCisJCW9zPS1jb2ZmCisJCTs7CisJbW9ycGhvcykKKwkJYmFzaWNfbWFjaGluZT1wb3dlcnBjLXVua25vd24KKwkJb3M9LW1vcnBob3MKKwkJOzsKKwltc2RvcykKKwkJYmFzaWNfbWFjaGluZT1pMzg2LXBjCisJCW9zPS1tc2RvcworCQk7OworCW1zMS0qKQorCQliYXNpY19tYWNoaW5lPWBlY2hvICRiYXNpY19tYWNoaW5lIHwgc2VkIC1lICdzL21zMS0vbXQtLydgCisJCTs7CisJbXZzKQorCQliYXNpY19tYWNoaW5lPWkzNzAtaWJtCisJCW9zPS1tdnMKKwkJOzsKKwluY3IzMDAwKQorCQliYXNpY19tYWNoaW5lPWk0ODYtbmNyCisJCW9zPS1zeXN2NAorCQk7OworCW5ldGJzZDM4NikKKwkJYmFzaWNfbWFjaGluZT1pMzg2LXVua25vd24KKwkJb3M9LW5ldGJzZAorCQk7OworCW5ldHdpbmRlcikKKwkJYmFzaWNfbWFjaGluZT1hcm12NGwtcmViZWwKKwkJb3M9LWxpbnV4CisJCTs7CisJbmV3cyB8IG5ld3M3MDAgfCBuZXdzODAwIHwgbmV3czkwMCkKKwkJYmFzaWNfbWFjaGluZT1tNjhrLXNvbnkKKwkJb3M9LW5ld3NvcworCQk7OworCW5ld3MxMDAwKQorCQliYXNpY19tYWNoaW5lPW02ODAzMC1zb255CisJCW9zPS1uZXdzb3MKKwkJOzsKKwluZXdzLTM2MDAgfCByaXNjLW5ld3MpCisJCWJhc2ljX21hY2hpbmU9bWlwcy1zb255CisJCW9zPS1uZXdzb3MKKwkJOzsKKwluZWN2NzApCisJCWJhc2ljX21hY2hpbmU9djcwLW5lYworCQlvcz0tc3lzdgorCQk7OworCW5leHQgfCBtKi1uZXh0ICkKKwkJYmFzaWNfbWFjaGluZT1tNjhrLW5leHQKKwkJY2FzZSAkb3MgaW4KKwkJICAgIC1uZXh0c3RlcCogKQorCQkJOzsKKwkJICAgIC1uczIqKQorCQkgICAgICBvcz0tbmV4dHN0ZXAyCisJCQk7OworCQkgICAgKikKKwkJICAgICAgb3M9LW5leHRzdGVwMworCQkJOzsKKwkJZXNhYworCQk7OworCW5oMzAwMCkKKwkJYmFzaWNfbWFjaGluZT1tNjhrLWhhcnJpcworCQlvcz0tY3h1eAorCQk7OworCW5oWzQ1XTAwMCkKKwkJYmFzaWNfbWFjaGluZT1tODhrLWhhcnJpcworCQlvcz0tY3h1eAorCQk7OworCW5pbmR5OTYwKQorCQliYXNpY19tYWNoaW5lPWk5NjAtaW50ZWwKKwkJb3M9LW5pbmR5CisJCTs7CisJbW9uOTYwKQorCQliYXNpY19tYWNoaW5lPWk5NjAtaW50ZWwKKwkJb3M9LW1vbjk2MAorCQk7OworCW5vbnN0b3B1eCkKKwkJYmFzaWNfbWFjaGluZT1taXBzLWNvbXBhcQorCQlvcz0tbm9uc3RvcHV4CisJCTs7CisJbnAxKQorCQliYXNpY19tYWNoaW5lPW5wMS1nb3VsZAorCQk7OworCW5zci10YW5kZW0pCisJCWJhc2ljX21hY2hpbmU9bnNyLXRhbmRlbQorCQk7OworCW9wNTBuLSogfCBvcDYwYy0qKQorCQliYXNpY19tYWNoaW5lPWhwcGExLjEtb2tpCisJCW9zPS1wcm9lbGYKKwkJOzsKKwlvcGVucmlzYyB8IG9wZW5yaXNjLSopCisJCWJhc2ljX21hY2hpbmU9b3IzMi11bmtub3duCisJCTs7CisJb3M0MDApCisJCWJhc2ljX21hY2hpbmU9cG93ZXJwYy1pYm0KKwkJb3M9LW9zNDAwCisJCTs7CisJT1NFNjgwMDAgfCBvc2U2ODAwMCkKKwkJYmFzaWNfbWFjaGluZT1tNjgwMDAtZXJpY3Nzb24KKwkJb3M9LW9zZQorCQk7OworCW9zNjhrKQorCQliYXNpY19tYWNoaW5lPW02OGstbm9uZQorCQlvcz0tb3M2OGsKKwkJOzsKKwlwYS1oaXRhY2hpKQorCQliYXNpY19tYWNoaW5lPWhwcGExLjEtaGl0YWNoaQorCQlvcz0taGl1eHdlMgorCQk7OworCXBhcmFnb24pCisJCWJhc2ljX21hY2hpbmU9aTg2MC1pbnRlbAorCQlvcz0tb3NmCisJCTs7CisJcGFyaXNjKQorCQliYXNpY19tYWNoaW5lPWhwcGEtdW5rbm93bgorCQlvcz0tbGludXgKKwkJOzsKKwlwYXJpc2MtKikKKwkJYmFzaWNfbWFjaGluZT1ocHBhLWBlY2hvICRiYXNpY19tYWNoaW5lIHwgc2VkICdzL15bXi1dKi0vLydgCisJCW9zPS1saW51eAorCQk7OworCXBiZCkKKwkJYmFzaWNfbWFjaGluZT1zcGFyYy10dGkKKwkJOzsKKwlwYmIpCisJCWJhc2ljX21hY2hpbmU9bTY4ay10dGkKKwkJOzsKKwlwYzUzMiB8IHBjNTMyLSopCisJCWJhc2ljX21hY2hpbmU9bnMzMmstcGM1MzIKKwkJOzsKKwlwYzk4KQorCQliYXNpY19tYWNoaW5lPWkzODYtcGMKKwkJOzsKKwlwYzk4LSopCisJCWJhc2ljX21hY2hpbmU9aTM4Ni1gZWNobyAkYmFzaWNfbWFjaGluZSB8IHNlZCAncy9eW14tXSotLy8nYAorCQk7OworCXBlbnRpdW0gfCBwNSB8IGs1IHwgazYgfCBuZXhnZW4gfCB2aWFjMykKKwkJYmFzaWNfbWFjaGluZT1pNTg2LXBjCisJCTs7CisJcGVudGl1bXBybyB8IHA2IHwgNng4NiB8IGF0aGxvbiB8IGF0aGxvbl8qKQorCQliYXNpY19tYWNoaW5lPWk2ODYtcGMKKwkJOzsKKwlwZW50aXVtaWkgfCBwZW50aXVtMiB8IHBlbnRpdW1paWkgfCBwZW50aXVtMykKKwkJYmFzaWNfbWFjaGluZT1pNjg2LXBjCisJCTs7CisJcGVudGl1bTQpCisJCWJhc2ljX21hY2hpbmU9aTc4Ni1wYworCQk7OworCXBlbnRpdW0tKiB8IHA1LSogfCBrNS0qIHwgazYtKiB8IG5leGdlbi0qIHwgdmlhYzMtKikKKwkJYmFzaWNfbWFjaGluZT1pNTg2LWBlY2hvICRiYXNpY19tYWNoaW5lIHwgc2VkICdzL15bXi1dKi0vLydgCisJCTs7CisJcGVudGl1bXByby0qIHwgcDYtKiB8IDZ4ODYtKiB8IGF0aGxvbi0qKQorCQliYXNpY19tYWNoaW5lPWk2ODYtYGVjaG8gJGJhc2ljX21hY2hpbmUgfCBzZWQgJ3MvXlteLV0qLS8vJ2AKKwkJOzsKKwlwZW50aXVtaWktKiB8IHBlbnRpdW0yLSogfCBwZW50aXVtaWlpLSogfCBwZW50aXVtMy0qKQorCQliYXNpY19tYWNoaW5lPWk2ODYtYGVjaG8gJGJhc2ljX21hY2hpbmUgfCBzZWQgJ3MvXlteLV0qLS8vJ2AKKwkJOzsKKwlwZW50aXVtNC0qKQorCQliYXNpY19tYWNoaW5lPWk3ODYtYGVjaG8gJGJhc2ljX21hY2hpbmUgfCBzZWQgJ3MvXlteLV0qLS8vJ2AKKwkJOzsKKwlwbikKKwkJYmFzaWNfbWFjaGluZT1wbi1nb3VsZAorCQk7OworCXBvd2VyKQliYXNpY19tYWNoaW5lPXBvd2VyLWlibQorCQk7OworCXBwYykJYmFzaWNfbWFjaGluZT1wb3dlcnBjLXVua25vd24KKwkJOzsKKwlwcGMtKikJYmFzaWNfbWFjaGluZT1wb3dlcnBjLWBlY2hvICRiYXNpY19tYWNoaW5lIHwgc2VkICdzL15bXi1dKi0vLydgCisJCTs7CisJcHBjbGUgfCBwb3dlcnBjbGl0dGxlIHwgcHBjLWxlIHwgcG93ZXJwYy1saXR0bGUpCisJCWJhc2ljX21hY2hpbmU9cG93ZXJwY2xlLXVua25vd24KKwkJOzsKKwlwcGNsZS0qIHwgcG93ZXJwY2xpdHRsZS0qKQorCQliYXNpY19tYWNoaW5lPXBvd2VycGNsZS1gZWNobyAkYmFzaWNfbWFjaGluZSB8IHNlZCAncy9eW14tXSotLy8nYAorCQk7OworCXBwYzY0KQliYXNpY19tYWNoaW5lPXBvd2VycGM2NC11bmtub3duCisJCTs7CisJcHBjNjQtKikgYmFzaWNfbWFjaGluZT1wb3dlcnBjNjQtYGVjaG8gJGJhc2ljX21hY2hpbmUgfCBzZWQgJ3MvXlteLV0qLS8vJ2AKKwkJOzsKKwlwcGM2NGxlIHwgcG93ZXJwYzY0bGl0dGxlIHwgcHBjNjQtbGUgfCBwb3dlcnBjNjQtbGl0dGxlKQorCQliYXNpY19tYWNoaW5lPXBvd2VycGM2NGxlLXVua25vd24KKwkJOzsKKwlwcGM2NGxlLSogfCBwb3dlcnBjNjRsaXR0bGUtKikKKwkJYmFzaWNfbWFjaGluZT1wb3dlcnBjNjRsZS1gZWNobyAkYmFzaWNfbWFjaGluZSB8IHNlZCAncy9eW14tXSotLy8nYAorCQk7OworCXBzMikKKwkJYmFzaWNfbWFjaGluZT1pMzg2LWlibQorCQk7OworCXB3MzIpCisJCWJhc2ljX21hY2hpbmU9aTU4Ni11bmtub3duCisJCW9zPS1wdzMyCisJCTs7CisJcmRvcykKKwkJYmFzaWNfbWFjaGluZT1pMzg2LXBjCisJCW9zPS1yZG9zCisJCTs7CisJcm9tNjhrKQorCQliYXNpY19tYWNoaW5lPW02OGstcm9tNjhrCisJCW9zPS1jb2ZmCisJCTs7CisJcm1bNDZdMDApCisJCWJhc2ljX21hY2hpbmU9bWlwcy1zaWVtZW5zCisJCTs7CisJcnRwYyB8IHJ0cGMtKikKKwkJYmFzaWNfbWFjaGluZT1yb21wLWlibQorCQk7OworCXMzOTAgfCBzMzkwLSopCisJCWJhc2ljX21hY2hpbmU9czM5MC1pYm0KKwkJOzsKKwlzMzkweCB8IHMzOTB4LSopCisJCWJhc2ljX21hY2hpbmU9czM5MHgtaWJtCisJCTs7CisJc2EyOTIwMCkKKwkJYmFzaWNfbWFjaGluZT1hMjlrLWFtZAorCQlvcz0tdWRpCisJCTs7CisJc2IxKQorCQliYXNpY19tYWNoaW5lPW1pcHNpc2E2NHNiMS11bmtub3duCisJCTs7CisJc2IxZWwpCisJCWJhc2ljX21hY2hpbmU9bWlwc2lzYTY0c2IxZWwtdW5rbm93bgorCQk7OworCXNkZSkKKwkJYmFzaWNfbWFjaGluZT1taXBzaXNhMzItc2RlCisJCW9zPS1lbGYKKwkJOzsKKwlzZWkpCisJCWJhc2ljX21hY2hpbmU9bWlwcy1zZWkKKwkJb3M9LXNlaXV4CisJCTs7CisJc2VxdWVudCkKKwkJYmFzaWNfbWFjaGluZT1pMzg2LXNlcXVlbnQKKwkJOzsKKwlzaCkKKwkJYmFzaWNfbWFjaGluZT1zaC1oaXRhY2hpCisJCW9zPS1obXMKKwkJOzsKKwlzaDVlbCkKKwkJYmFzaWNfbWFjaGluZT1zaDVsZS11bmtub3duCisJCTs7CisJc2g2NCkKKwkJYmFzaWNfbWFjaGluZT1zaDY0LXVua25vd24KKwkJOzsKKwlzcGFyY2xpdGUtd3JzIHwgc2ltc28td3JzKQorCQliYXNpY19tYWNoaW5lPXNwYXJjbGl0ZS13cnMKKwkJb3M9LXZ4d29ya3MKKwkJOzsKKwlzcHM3KQorCQliYXNpY19tYWNoaW5lPW02OGstYnVsbAorCQlvcz0tc3lzdjIKKwkJOzsKKwlzcHVyKQorCQliYXNpY19tYWNoaW5lPXNwdXItdW5rbm93bgorCQk7OworCXN0MjAwMCkKKwkJYmFzaWNfbWFjaGluZT1tNjhrLXRhbmRlbQorCQk7OworCXN0cmF0dXMpCisJCWJhc2ljX21hY2hpbmU9aTg2MC1zdHJhdHVzCisJCW9zPS1zeXN2NAorCQk7OworCXN1bjIpCisJCWJhc2ljX21hY2hpbmU9bTY4MDAwLXN1bgorCQk7OworCXN1bjJvczMpCisJCWJhc2ljX21hY2hpbmU9bTY4MDAwLXN1bgorCQlvcz0tc3Vub3MzCisJCTs7CisJc3VuMm9zNCkKKwkJYmFzaWNfbWFjaGluZT1tNjgwMDAtc3VuCisJCW9zPS1zdW5vczQKKwkJOzsKKwlzdW4zb3MzKQorCQliYXNpY19tYWNoaW5lPW02OGstc3VuCisJCW9zPS1zdW5vczMKKwkJOzsKKwlzdW4zb3M0KQorCQliYXNpY19tYWNoaW5lPW02OGstc3VuCisJCW9zPS1zdW5vczQKKwkJOzsKKwlzdW40b3MzKQorCQliYXNpY19tYWNoaW5lPXNwYXJjLXN1bgorCQlvcz0tc3Vub3MzCisJCTs7CisJc3VuNG9zNCkKKwkJYmFzaWNfbWFjaGluZT1zcGFyYy1zdW4KKwkJb3M9LXN1bm9zNAorCQk7OworCXN1bjRzb2wyKQorCQliYXNpY19tYWNoaW5lPXNwYXJjLXN1bgorCQlvcz0tc29sYXJpczIKKwkJOzsKKwlzdW4zIHwgc3VuMy0qKQorCQliYXNpY19tYWNoaW5lPW02OGstc3VuCisJCTs7CisJc3VuNCkKKwkJYmFzaWNfbWFjaGluZT1zcGFyYy1zdW4KKwkJOzsKKwlzdW4zODYgfCBzdW4zODZpIHwgcm9hZHJ1bm5lcikKKwkJYmFzaWNfbWFjaGluZT1pMzg2LXN1bgorCQk7OworCXN2MSkKKwkJYmFzaWNfbWFjaGluZT1zdjEtY3JheQorCQlvcz0tdW5pY29zCisJCTs7CisJc3ltbWV0cnkpCisJCWJhc2ljX21hY2hpbmU9aTM4Ni1zZXF1ZW50CisJCW9zPS1keW5peAorCQk7OworCXQzZSkKKwkJYmFzaWNfbWFjaGluZT1hbHBoYWV2NS1jcmF5CisJCW9zPS11bmljb3MKKwkJOzsKKwl0OTApCisJCWJhc2ljX21hY2hpbmU9dDkwLWNyYXkKKwkJb3M9LXVuaWNvcworCQk7OworCXRpYzU0eCB8IGM1NHgqKQorCQliYXNpY19tYWNoaW5lPXRpYzU0eC11bmtub3duCisJCW9zPS1jb2ZmCisJCTs7CisJdGljNTV4IHwgYzU1eCopCisJCWJhc2ljX21hY2hpbmU9dGljNTV4LXVua25vd24KKwkJb3M9LWNvZmYKKwkJOzsKKwl0aWM2eCB8IGM2eCopCisJCWJhc2ljX21hY2hpbmU9dGljNngtdW5rbm93bgorCQlvcz0tY29mZgorCQk7OworCXRpbGUqKQorCQliYXNpY19tYWNoaW5lPXRpbGUtdW5rbm93bgorCQlvcz0tbGludXgtZ251CisJCTs7CisJdHgzOSkKKwkJYmFzaWNfbWFjaGluZT1taXBzdHgzOS11bmtub3duCisJCTs7CisJdHgzOWVsKQorCQliYXNpY19tYWNoaW5lPW1pcHN0eDM5ZWwtdW5rbm93bgorCQk7OworCXRvYWQxKQorCQliYXNpY19tYWNoaW5lPXBkcDEwLXhrbAorCQlvcz0tdG9wczIwCisJCTs7CisJdG93ZXIgfCB0b3dlci0zMikKKwkJYmFzaWNfbWFjaGluZT1tNjhrLW5jcgorCQk7OworCXRwZikKKwkJYmFzaWNfbWFjaGluZT1zMzkweC1pYm0KKwkJb3M9LXRwZgorCQk7OworCXVkaTI5aykKKwkJYmFzaWNfbWFjaGluZT1hMjlrLWFtZAorCQlvcz0tdWRpCisJCTs7CisJdWx0cmEzKQorCQliYXNpY19tYWNoaW5lPWEyOWstbnl1CisJCW9zPS1zeW0xCisJCTs7CisJdjgxMCB8IG5lY3Y4MTApCisJCWJhc2ljX21hY2hpbmU9djgxMC1uZWMKKwkJb3M9LW5vbmUKKwkJOzsKKwl2YXh2KQorCQliYXNpY19tYWNoaW5lPXZheC1kZWMKKwkJb3M9LXN5c3YKKwkJOzsKKwl2bXMpCisJCWJhc2ljX21hY2hpbmU9dmF4LWRlYworCQlvcz0tdm1zCisJCTs7CisJdnBwKnx2eHx2eC0qKQorCQliYXNpY19tYWNoaW5lPWYzMDEtZnVqaXRzdQorCQk7OworCXZ4d29ya3M5NjApCisJCWJhc2ljX21hY2hpbmU9aTk2MC13cnMKKwkJb3M9LXZ4d29ya3MKKwkJOzsKKwl2eHdvcmtzNjgpCisJCWJhc2ljX21hY2hpbmU9bTY4ay13cnMKKwkJb3M9LXZ4d29ya3MKKwkJOzsKKwl2eHdvcmtzMjlrKQorCQliYXNpY19tYWNoaW5lPWEyOWstd3JzCisJCW9zPS12eHdvcmtzCisJCTs7CisJdzY1KikKKwkJYmFzaWNfbWFjaGluZT13NjUtd2RjCisJCW9zPS1ub25lCisJCTs7CisJdzg5ay0qKQorCQliYXNpY19tYWNoaW5lPWhwcGExLjEtd2luYm9uZAorCQlvcz0tcHJvZWxmCisJCTs7CisJeGJveCkKKwkJYmFzaWNfbWFjaGluZT1pNjg2LXBjCisJCW9zPS1taW5ndzMyCisJCTs7CisJeHBzIHwgeHBzMTAwKQorCQliYXNpY19tYWNoaW5lPXhwczEwMC1ob25leXdlbGwKKwkJOzsKKwl5bXApCisJCWJhc2ljX21hY2hpbmU9eW1wLWNyYXkKKwkJb3M9LXVuaWNvcworCQk7OworCXo4ay0qLWNvZmYpCisJCWJhc2ljX21hY2hpbmU9ejhrLXVua25vd24KKwkJb3M9LXNpbQorCQk7OworCXo4MC0qLWNvZmYpCisJCWJhc2ljX21hY2hpbmU9ejgwLXVua25vd24KKwkJb3M9LXNpbQorCQk7OworCW5vbmUpCisJCWJhc2ljX21hY2hpbmU9bm9uZS1ub25lCisJCW9zPS1ub25lCisJCTs7CisKKyMgSGVyZSB3ZSBoYW5kbGUgdGhlIGRlZmF1bHQgbWFudWZhY3R1cmVyIG9mIGNlcnRhaW4gQ1BVIHR5cGVzLiAgSXQgaXMgaW4KKyMgc29tZSBjYXNlcyB0aGUgb25seSBtYW51ZmFjdHVyZXIsIGluIG90aGVycywgaXQgaXMgdGhlIG1vc3QgcG9wdWxhci4KKwl3ODlrKQorCQliYXNpY19tYWNoaW5lPWhwcGExLjEtd2luYm9uZAorCQk7OworCW9wNTBuKQorCQliYXNpY19tYWNoaW5lPWhwcGExLjEtb2tpCisJCTs7CisJb3A2MGMpCisJCWJhc2ljX21hY2hpbmU9aHBwYTEuMS1va2kKKwkJOzsKKwlyb21wKQorCQliYXNpY19tYWNoaW5lPXJvbXAtaWJtCisJCTs7CisJbW1peCkKKwkJYmFzaWNfbWFjaGluZT1tbWl4LWtudXRoCisJCTs7CisJcnM2MDAwKQorCQliYXNpY19tYWNoaW5lPXJzNjAwMC1pYm0KKwkJOzsKKwl2YXgpCisJCWJhc2ljX21hY2hpbmU9dmF4LWRlYworCQk7OworCXBkcDEwKQorCQkjIHRoZXJlIGFyZSBtYW55IGNsb25lcywgc28gREVDIGlzIG5vdCBhIHNhZmUgYmV0CisJCWJhc2ljX21hY2hpbmU9cGRwMTAtdW5rbm93bgorCQk7OworCXBkcDExKQorCQliYXNpY19tYWNoaW5lPXBkcDExLWRlYworCQk7OworCXdlMzJrKQorCQliYXNpY19tYWNoaW5lPXdlMzJrLWF0dAorCQk7OworCXNoWzEyMzRdIHwgc2hbMjRdYSB8IHNoWzI0XWFlYiB8IHNoWzM0XWViIHwgc2hbMTIzNF1sZSB8IHNoWzIzXWVsZSkKKwkJYmFzaWNfbWFjaGluZT1zaC11bmtub3duCisJCTs7CisJc3BhcmMgfCBzcGFyY3Y4IHwgc3BhcmN2OSB8IHNwYXJjdjliIHwgc3BhcmN2OXYpCisJCWJhc2ljX21hY2hpbmU9c3BhcmMtc3VuCisJCTs7CisJY3lkcmEpCisJCWJhc2ljX21hY2hpbmU9Y3lkcmEtY3lkcm9tZQorCQk7OworCW9yaW9uKQorCQliYXNpY19tYWNoaW5lPW9yaW9uLWhpZ2hsZXZlbAorCQk7OworCW9yaW9uMTA1KQorCQliYXNpY19tYWNoaW5lPWNsaXBwZXItaGlnaGxldmVsCisJCTs7CisJbWFjIHwgbXB3IHwgbWFjLW1wdykKKwkJYmFzaWNfbWFjaGluZT1tNjhrLWFwcGxlCisJCTs7CisJcG1hYyB8IHBtYWMtbXB3KQorCQliYXNpY19tYWNoaW5lPXBvd2VycGMtYXBwbGUKKwkJOzsKKwkqLXVua25vd24pCisJCSMgTWFrZSBzdXJlIHRvIG1hdGNoIGFuIGFscmVhZHktY2Fub25pY2FsaXplZCBtYWNoaW5lIG5hbWUuCisJCTs7CisJKikKKwkJZWNobyBJbnZhbGlkIGNvbmZpZ3VyYXRpb24gXGAkMVwnOiBtYWNoaW5lIFxgJGJhc2ljX21hY2hpbmVcJyBub3QgcmVjb2duaXplZCAxPiYyCisJCWV4aXQgMQorCQk7OworZXNhYworCisjIEhlcmUgd2UgY2Fub25pY2FsaXplIGNlcnRhaW4gYWxpYXNlcyBmb3IgbWFudWZhY3R1cmVycy4KK2Nhc2UgJGJhc2ljX21hY2hpbmUgaW4KKwkqLWRpZ2l0YWwqKQorCQliYXNpY19tYWNoaW5lPWBlY2hvICRiYXNpY19tYWNoaW5lIHwgc2VkICdzL2RpZ2l0YWwuKi9kZWMvJ2AKKwkJOzsKKwkqLWNvbW1vZG9yZSopCisJCWJhc2ljX21hY2hpbmU9YGVjaG8gJGJhc2ljX21hY2hpbmUgfCBzZWQgJ3MvY29tbW9kb3JlLiovY2JtLydgCisJCTs7CisJKikKKwkJOzsKK2VzYWMKKworIyBEZWNvZGUgbWFudWZhY3R1cmVyLXNwZWNpZmljIGFsaWFzZXMgZm9yIGNlcnRhaW4gb3BlcmF0aW5nIHN5c3RlbXMuCisKK2lmIFsgeCIkb3MiICE9IHgiIiBdCit0aGVuCitjYXNlICRvcyBpbgorICAgICAgICAjIEZpcnN0IG1hdGNoIHNvbWUgc3lzdGVtIHR5cGUgYWxpYXNlcworICAgICAgICAjIHRoYXQgbWlnaHQgZ2V0IGNvbmZ1c2VkIHdpdGggdmFsaWQgc3lzdGVtIHR5cGVzLgorCSMgLXNvbGFyaXMqIGlzIGEgYmFzaWMgc3lzdGVtIHR5cGUsIHdpdGggdGhpcyBvbmUgZXhjZXB0aW9uLgorICAgICAgICAtYXVyb3JhdXgpCisJICAgICAgICBvcz0tYXVyb3JhdXgKKwkJOzsKKwktc29sYXJpczEgfCAtc29sYXJpczEuKikKKwkJb3M9YGVjaG8gJG9zIHwgc2VkIC1lICdzfHNvbGFyaXMxfHN1bm9zNHwnYAorCQk7OworCS1zb2xhcmlzKQorCQlvcz0tc29sYXJpczIKKwkJOzsKKwktc3ZyNCopCisJCW9zPS1zeXN2NAorCQk7OworCS11bml4d2FyZSopCisJCW9zPS1zeXN2NC4ydXcKKwkJOzsKKwktZ251L2xpbnV4KikKKwkJb3M9YGVjaG8gJG9zIHwgc2VkIC1lICdzfGdudS9saW51eHxsaW51eC1nbnV8J2AKKwkJOzsKKwkjIEZpcnN0IGFjY2VwdCB0aGUgYmFzaWMgc3lzdGVtIHR5cGVzLgorCSMgVGhlIHBvcnRhYmxlIHN5c3RlbXMgY29tZXMgZmlyc3QuCisJIyBFYWNoIGFsdGVybmF0aXZlIE1VU1QgRU5EIElOIEEgKiwgdG8gbWF0Y2ggYSB2ZXJzaW9uIG51bWJlci4KKwkjIC1zeXN2KiBpcyBub3QgaGVyZSBiZWNhdXNlIGl0IGNvbWVzIGxhdGVyLCBhZnRlciBzeXN2cjQuCisJLWdudSogfCAtYnNkKiB8IC1tYWNoKiB8IC1taW5peCogfCAtZ2VuaXgqIHwgLXVsdHJpeCogfCAtaXJpeCogXAorCSAgICAgIHwgLSp2bXMqIHwgLXNjbyogfCAtZXNpeCogfCAtaXNjKiB8IC1haXgqIHwgLWNuayogfCAtc3Vub3MgfCAtc3Vub3NbMzRdKlwKKwkgICAgICB8IC1ocHV4KiB8IC11bm9zKiB8IC1vc2YqIHwgLWx1bmEqIHwgLWRndXgqIHwgLWF1cm9yYXV4KiB8IC1zb2xhcmlzKiBcCisJICAgICAgfCAtc3ltKiB8IC1rb3BlbnNvbGFyaXMqIFwKKwkgICAgICB8IC1hbWlnYW9zKiB8IC1hbWlnYWRvcyogfCAtbXNkb3MqIHwgLW5ld3NvcyogfCAtdW5pY29zKiB8IC1hb2YqIFwKKwkgICAgICB8IC1hb3MqIHwgLWFyb3MqIFwKKwkgICAgICB8IC1uaW5keSogfCAtdnhzaW0qIHwgLXZ4d29ya3MqIHwgLWVibW9uKiB8IC1obXMqIHwgLW12cyogXAorCSAgICAgIHwgLWNsaXgqIHwgLXJpc2NvcyogfCAtdW5pcGx1cyogfCAtaXJpcyogfCAtcnR1KiB8IC14ZW5peCogXAorCSAgICAgIHwgLWhpdXgqIHwgLTM4NmJzZCogfCAta25ldGJzZCogfCAtbWlyYnNkKiB8IC1uZXRic2QqIFwKKwkgICAgICB8IC1vcGVuYnNkKiB8IC1zb2xpZGJzZCogXAorCSAgICAgIHwgLWVra29ic2QqIHwgLWtmcmVlYnNkKiB8IC1mcmVlYnNkKiB8IC1yaXNjaXgqIHwgLWx5bnhvcyogXAorCSAgICAgIHwgLWJvc3gqIHwgLW5leHRzdGVwKiB8IC1jeHV4KiB8IC1hb3V0KiB8IC1lbGYqIHwgLW9hYmkqIFwKKwkgICAgICB8IC1wdHgqIHwgLWNvZmYqIHwgLWVjb2ZmKiB8IC13aW5udCogfCAtZG9tYWluKiB8IC12c3RhKiBcCisJICAgICAgfCAtdWRpKiB8IC1lYWJpKiB8IC1saXRlcyogfCAtaWVlZSogfCAtZ28zMiogfCAtYXV4KiBcCisJICAgICAgfCAtY2hvcnVzb3MqIHwgLWNob3J1c3JkYiogfCAtY2VnY2MqIFwKKwkgICAgICB8IC1jeWd3aW4qIHwgLXBlKiB8IC1wc29zKiB8IC1tb3NzKiB8IC1wcm9lbGYqIHwgLXJ0ZW1zKiBcCisJICAgICAgfCAtbWluZ3czMiogfCAtbGludXgtZ251KiB8IC1saW51eC1uZXdsaWIqIHwgLWxpbnV4LXVjbGliYyogXAorCSAgICAgIHwgLXV4cHYqIHwgLWJlb3MqIHwgLW1wZWl4KiB8IC11ZGsqIFwKKwkgICAgICB8IC1pbnRlcml4KiB8IC11d2luKiB8IC1ta3MqIHwgLXJoYXBzb2R5KiB8IC1kYXJ3aW4qIHwgLW9wZW5lZCogXAorCSAgICAgIHwgLW9wZW5zdGVwKiB8IC1vc2tpdCogfCAtY29uaXgqIHwgLXB3MzIqIHwgLW5vbnN0b3B1eCogXAorCSAgICAgIHwgLXN0b3JtLWNoYW9zKiB8IC10b3BzMTAqIHwgLXRlbmV4KiB8IC10b3BzMjAqIHwgLWl0cyogXAorCSAgICAgIHwgLW9zMiogfCAtdm9zKiB8IC1wYWxtb3MqIHwgLXVjbGludXgqIHwgLW51Y2xldXMqIFwKKwkgICAgICB8IC1tb3JwaG9zKiB8IC1zdXBlcnV4KiB8IC1ydG1rKiB8IC1ydG1rLW5vdmEqIHwgLXdpbmRpc3MqIFwKKwkgICAgICB8IC1wb3dlcm1heCogfCAtZG5peCogfCAtbng2IHwgLW54NyB8IC1zZWkqIHwgLWRyYWdvbmZseSogXAorCSAgICAgIHwgLXNreW9zKiB8IC1oYWlrdSogfCAtcmRvcyogfCAtdG9wcGVycyogfCAtZHJvcHMqIHwgLWVzKikKKwkjIFJlbWVtYmVyLCBlYWNoIGFsdGVybmF0aXZlIE1VU1QgRU5EIElOICosIHRvIG1hdGNoIGEgdmVyc2lvbiBudW1iZXIuCisJCTs7CisJLXFueCopCisJCWNhc2UgJGJhc2ljX21hY2hpbmUgaW4KKwkJICAgIHg4Ni0qIHwgaSo4Ni0qKQorCQkJOzsKKwkJICAgICopCisJCQlvcz0tbnRvJG9zCisJCQk7OworCQllc2FjCisJCTs7CisJLW50by1xbngqKQorCQk7OworCS1udG8qKQorCQlvcz1gZWNobyAkb3MgfCBzZWQgLWUgJ3N8bnRvfG50by1xbnh8J2AKKwkJOzsKKwktc2ltIHwgLWVzMTgwMCogfCAtaG1zKiB8IC14cmF5IHwgLW9zNjhrKiB8IC1ub25lKiB8IC12ODhyKiBcCisJICAgICAgfCAtd2luZG93cyogfCAtb3N4IHwgLWFidWcgfCAtbmV0d2FyZSogfCAtb3M5KiB8IC1iZW9zKiB8IC1oYWlrdSogXAorCSAgICAgIHwgLW1hY29zKiB8IC1tcHcqIHwgLW1hZ2ljKiB8IC1tbWl4d2FyZSogfCAtbW9uOTYwKiB8IC1sbmV3cyopCisJCTs7CisJLW1hYyopCisJCW9zPWBlY2hvICRvcyB8IHNlZCAtZSAnc3xtYWN8bWFjb3N8J2AKKwkJOzsKKwktbGludXgtZGlldGxpYmMpCisJCW9zPS1saW51eC1kaWV0bGliYworCQk7OworCS1saW51eCopCisJCW9zPWBlY2hvICRvcyB8IHNlZCAtZSAnc3xsaW51eHxsaW51eC1nbnV8J2AKKwkJOzsKKwktc3Vub3M1KikKKwkJb3M9YGVjaG8gJG9zIHwgc2VkIC1lICdzfHN1bm9zNXxzb2xhcmlzMnwnYAorCQk7OworCS1zdW5vczYqKQorCQlvcz1gZWNobyAkb3MgfCBzZWQgLWUgJ3N8c3Vub3M2fHNvbGFyaXMzfCdgCisJCTs7CisJLW9wZW5lZCopCisJCW9zPS1vcGVuZWRpdGlvbgorCQk7OworICAgICAgICAtb3M0MDAqKQorCQlvcz0tb3M0MDAKKwkJOzsKKwktd2luY2UqKQorCQlvcz0td2luY2UKKwkJOzsKKwktb3Nmcm9zZSopCisJCW9zPS1vc2Zyb3NlCisJCTs7CisJLW9zZiopCisJCW9zPS1vc2YKKwkJOzsKKwktdXRlayopCisJCW9zPS1ic2QKKwkJOzsKKwktZHluaXgqKQorCQlvcz0tYnNkCisJCTs7CisJLWFjaXMqKQorCQlvcz0tYW9zCisJCTs7CisJLWF0aGVvcyopCisJCW9zPS1hdGhlb3MKKwkJOzsKKwktc3lsbGFibGUqKQorCQlvcz0tc3lsbGFibGUKKwkJOzsKKwktMzg2YnNkKQorCQlvcz0tYnNkCisJCTs7CisJLWN0aXgqIHwgLXV0cyopCisJCW9zPS1zeXN2CisJCTs7CisJLW5vdmEqKQorCQlvcz0tcnRtay1ub3ZhCisJCTs7CisJLW5zMiApCisJCW9zPS1uZXh0c3RlcDIKKwkJOzsKKwktbnNrKikKKwkJb3M9LW5zaworCQk7OworCSMgUHJlc2VydmUgdGhlIHZlcnNpb24gbnVtYmVyIG9mIHNpbml4NS4KKwktc2luaXg1LiopCisJCW9zPWBlY2hvICRvcyB8IHNlZCAtZSAnc3xzaW5peHxzeXN2fCdgCisJCTs7CisJLXNpbml4KikKKwkJb3M9LXN5c3Y0CisJCTs7CisgICAgICAgIC10cGYqKQorCQlvcz0tdHBmCisJCTs7CisJLXRyaXRvbiopCisJCW9zPS1zeXN2MworCQk7OworCS1vc3MqKQorCQlvcz0tc3lzdjMKKwkJOzsKKwktc3ZyNCkKKwkJb3M9LXN5c3Y0CisJCTs7CisJLXN2cjMpCisJCW9zPS1zeXN2MworCQk7OworCS1zeXN2cjQpCisJCW9zPS1zeXN2NAorCQk7OworCSMgVGhpcyBtdXN0IGNvbWUgYWZ0ZXIgLXN5c3ZyNC4KKwktc3lzdiopCisJCTs7CisJLW9zZSopCisJCW9zPS1vc2UKKwkJOzsKKwktZXMxODAwKikKKwkJb3M9LW9zZQorCQk7OworCS14ZW5peCkKKwkJb3M9LXhlbml4CisJCTs7CisJLSptaW50IHwgLW1pbnRbMC05XSogfCAtKk1pTlQgfCAtTWlOVFswLTldKikKKwkJb3M9LW1pbnQKKwkJOzsKKwktYXJvcyopCisJCW9zPS1hcm9zCisJCTs7CisJLWthb3MqKQorCQlvcz0ta2FvcworCQk7OworCS16dm1vZSkKKwkJb3M9LXp2bW9lCisJCTs7CisJLWRpY29zKikKKwkJb3M9LWRpY29zCisJCTs7CisgICAgICAgIC1uYWNsKikKKwkgICAgICAgIDs7CisJLW5vbmUpCisJCTs7CisJKikKKwkJIyBHZXQgcmlkIG9mIHRoZSBgLScgYXQgdGhlIGJlZ2lubmluZyBvZiAkb3MuCisJCW9zPWBlY2hvICRvcyB8IHNlZCAncy9bXi1dKi0vLydgCisJCWVjaG8gSW52YWxpZCBjb25maWd1cmF0aW9uIFxgJDFcJzogc3lzdGVtIFxgJG9zXCcgbm90IHJlY29nbml6ZWQgMT4mMgorCQlleGl0IDEKKwkJOzsKK2VzYWMKK2Vsc2UKKworIyBIZXJlIHdlIGhhbmRsZSB0aGUgZGVmYXVsdCBvcGVyYXRpbmcgc3lzdGVtcyB0aGF0IGNvbWUgd2l0aCB2YXJpb3VzIG1hY2hpbmVzLgorIyBUaGUgdmFsdWUgc2hvdWxkIGJlIHdoYXQgdGhlIHZlbmRvciBjdXJyZW50bHkgc2hpcHMgb3V0IHRoZSBkb29yIHdpdGggdGhlaXIKKyMgbWFjaGluZSBvciBwdXQgYW5vdGhlciB3YXksIHRoZSBtb3N0IHBvcHVsYXIgb3MgcHJvdmlkZWQgd2l0aCB0aGUgbWFjaGluZS4KKworIyBOb3RlIHRoYXQgaWYgeW91J3JlIGdvaW5nIHRvIHRyeSB0byBtYXRjaCAiLU1BTlVGQUNUVVJFUiIgaGVyZSAoc2F5LAorIyAiLXN1biIpLCB0aGVuIHlvdSBoYXZlIHRvIHRlbGwgdGhlIGNhc2Ugc3RhdGVtZW50IHVwIHRvd2FyZHMgdGhlIHRvcAorIyB0aGF0IE1BTlVGQUNUVVJFUiBpc24ndCBhbiBvcGVyYXRpbmcgc3lzdGVtLiAgT3RoZXJ3aXNlLCBjb2RlIGFib3ZlCisjIHdpbGwgc2lnbmFsIGFuIGVycm9yIHNheWluZyB0aGF0IE1BTlVGQUNUVVJFUiBpc24ndCBhbiBvcGVyYXRpbmcKKyMgc3lzdGVtLCBhbmQgd2UnbGwgbmV2ZXIgZ2V0IHRvIHRoaXMgcG9pbnQuCisKK2Nhc2UgJGJhc2ljX21hY2hpbmUgaW4KKyAgICAgICAgc2NvcmUtKikKKwkJb3M9LWVsZgorCQk7OworICAgICAgICBzcHUtKikKKwkJb3M9LWVsZgorCQk7OworCSotYWNvcm4pCisJCW9zPS1yaXNjaXgxLjIKKwkJOzsKKwlhcm0qLXJlYmVsKQorCQlvcz0tbGludXgKKwkJOzsKKwlhcm0qLXNlbWkpCisJCW9zPS1hb3V0CisJCTs7CisgICAgICAgIGM0eC0qIHwgdGljNHgtKikKKyAgICAgICAgCW9zPS1jb2ZmCisJCTs7CisJIyBUaGlzIG11c3QgY29tZSBiZWZvcmUgdGhlICotZGVjIGVudHJ5LgorCXBkcDEwLSopCisJCW9zPS10b3BzMjAKKwkJOzsKKwlwZHAxMS0qKQorCQlvcz0tbm9uZQorCQk7OworCSotZGVjIHwgdmF4LSopCisJCW9zPS11bHRyaXg0LjIKKwkJOzsKKwltNjgqLWFwb2xsbykKKwkJb3M9LWRvbWFpbgorCQk7OworCWkzODYtc3VuKQorCQlvcz0tc3Vub3M0LjAuMgorCQk7OworCW02ODAwMC1zdW4pCisJCW9zPS1zdW5vczMKKwkJIyBUaGlzIGFsc28gZXhpc3RzIGluIHRoZSBjb25maWd1cmUgcHJvZ3JhbSwgYnV0IHdhcyBub3QgdGhlCisJCSMgZGVmYXVsdC4KKwkJIyBvcz0tc3Vub3M0CisJCTs7CisJbTY4Ki1jaXNjbykKKwkJb3M9LWFvdXQKKwkJOzsKKyAgICAgICAgbWVwLSopCisJCW9zPS1lbGYKKwkJOzsKKwltaXBzKi1jaXNjbykKKwkJb3M9LWVsZgorCQk7OworCW1pcHMqLSopCisJCW9zPS1lbGYKKwkJOzsKKwlvcjMyLSopCisJCW9zPS1jb2ZmCisJCTs7CisJKi10dGkpCSMgbXVzdCBiZSBiZWZvcmUgc3BhcmMgZW50cnkgb3Igd2UgZ2V0IHRoZSB3cm9uZyBvcy4KKwkJb3M9LXN5c3YzCisJCTs7CisJc3BhcmMtKiB8ICotc3VuKQorCQlvcz0tc3Vub3M0LjEuMQorCQk7OworCSotYmUpCisJCW9zPS1iZW9zCisJCTs7CisJKi1oYWlrdSkKKwkJb3M9LWhhaWt1CisJCTs7CisJKi1pYm0pCisJCW9zPS1haXgKKwkJOzsKKyAgICAJKi1rbnV0aCkKKwkJb3M9LW1taXh3YXJlCisJCTs7CisJKi13ZWMpCisJCW9zPS1wcm9lbGYKKwkJOzsKKwkqLXdpbmJvbmQpCisJCW9zPS1wcm9lbGYKKwkJOzsKKwkqLW9raSkKKwkJb3M9LXByb2VsZgorCQk7OworCSotaHApCisJCW9zPS1ocHV4CisJCTs7CisJKi1oaXRhY2hpKQorCQlvcz0taGl1eAorCQk7OworCWk4NjAtKiB8ICotYXR0IHwgKi1uY3IgfCAqLWFsdG9zIHwgKi1tb3Rvcm9sYSB8ICotY29udmVyZ2VudCkKKwkJb3M9LXN5c3YKKwkJOzsKKwkqLWNibSkKKwkJb3M9LWFtaWdhb3MKKwkJOzsKKwkqLWRnKQorCQlvcz0tZGd1eAorCQk7OworCSotZG9scGhpbikKKwkJb3M9LXN5c3YzCisJCTs7CisJbTY4ay1jY3VyKQorCQlvcz0tcnR1CisJCTs7CisJbTg4ay1vbXJvbiopCisJCW9zPS1sdW5hCisJCTs7CisJKi1uZXh0ICkKKwkJb3M9LW5leHRzdGVwCisJCTs7CisJKi1zZXF1ZW50KQorCQlvcz0tcHR4CisJCTs7CisJKi1jcmRzKQorCQlvcz0tdW5vcworCQk7OworCSotbnMpCisJCW9zPS1nZW5peAorCQk7OworCWkzNzAtKikKKwkJb3M9LW12cworCQk7OworCSotbmV4dCkKKwkJb3M9LW5leHRzdGVwMworCQk7OworCSotZ291bGQpCisJCW9zPS1zeXN2CisJCTs7CisJKi1oaWdobGV2ZWwpCisJCW9zPS1ic2QKKwkJOzsKKwkqLWVuY29yZSkKKwkJb3M9LWJzZAorCQk7OworCSotc2dpKQorCQlvcz0taXJpeAorCQk7OworCSotc2llbWVucykKKwkJb3M9LXN5c3Y0CisJCTs7CisJKi1tYXNzY29tcCkKKwkJb3M9LXJ0dQorCQk7OworCWYzMFswMV0tZnVqaXRzdSB8IGY3MDAtZnVqaXRzdSkKKwkJb3M9LXV4cHYKKwkJOzsKKwkqLXJvbTY4aykKKwkJb3M9LWNvZmYKKwkJOzsKKwkqLSpidWcpCisJCW9zPS1jb2ZmCisJCTs7CisJKi1hcHBsZSkKKwkJb3M9LW1hY29zCisJCTs7CisJKi1hdGFyaSopCisJCW9zPS1taW50CisJCTs7CisJKikKKwkJb3M9LW5vbmUKKwkJOzsKK2VzYWMKK2ZpCisKKyMgSGVyZSB3ZSBoYW5kbGUgdGhlIGNhc2Ugd2hlcmUgd2Uga25vdyB0aGUgb3MsIGFuZCB0aGUgQ1BVIHR5cGUsIGJ1dCBub3QgdGhlCisjIG1hbnVmYWN0dXJlci4gIFdlIHBpY2sgdGhlIGxvZ2ljYWwgbWFudWZhY3R1cmVyLgordmVuZG9yPXVua25vd24KK2Nhc2UgJGJhc2ljX21hY2hpbmUgaW4KKwkqLXVua25vd24pCisJCWNhc2UgJG9zIGluCisJCQktcmlzY2l4KikKKwkJCQl2ZW5kb3I9YWNvcm4KKwkJCQk7OworCQkJLXN1bm9zKikKKwkJCQl2ZW5kb3I9c3VuCisJCQkJOzsKKwkJCS1jbmsqfC1haXgqKQorCQkJCXZlbmRvcj1pYm0KKwkJCQk7OworCQkJLWJlb3MqKQorCQkJCXZlbmRvcj1iZQorCQkJCTs7CisJCQktaHB1eCopCisJCQkJdmVuZG9yPWhwCisJCQkJOzsKKwkJCS1tcGVpeCopCisJCQkJdmVuZG9yPWhwCisJCQkJOzsKKwkJCS1oaXV4KikKKwkJCQl2ZW5kb3I9aGl0YWNoaQorCQkJCTs7CisJCQktdW5vcyopCisJCQkJdmVuZG9yPWNyZHMKKwkJCQk7OworCQkJLWRndXgqKQorCQkJCXZlbmRvcj1kZworCQkJCTs7CisJCQktbHVuYSopCisJCQkJdmVuZG9yPW9tcm9uCisJCQkJOzsKKwkJCS1nZW5peCopCisJCQkJdmVuZG9yPW5zCisJCQkJOzsKKwkJCS1tdnMqIHwgLW9wZW5lZCopCisJCQkJdmVuZG9yPWlibQorCQkJCTs7CisJCQktb3M0MDAqKQorCQkJCXZlbmRvcj1pYm0KKwkJCQk7OworCQkJLXB0eCopCisJCQkJdmVuZG9yPXNlcXVlbnQKKwkJCQk7OworCQkJLXRwZiopCisJCQkJdmVuZG9yPWlibQorCQkJCTs7CisJCQktdnhzaW0qIHwgLXZ4d29ya3MqIHwgLXdpbmRpc3MqKQorCQkJCXZlbmRvcj13cnMKKwkJCQk7OworCQkJLWF1eCopCisJCQkJdmVuZG9yPWFwcGxlCisJCQkJOzsKKwkJCS1obXMqKQorCQkJCXZlbmRvcj1oaXRhY2hpCisJCQkJOzsKKwkJCS1tcHcqIHwgLW1hY29zKikKKwkJCQl2ZW5kb3I9YXBwbGUKKwkJCQk7OworCQkJLSptaW50IHwgLW1pbnRbMC05XSogfCAtKk1pTlQgfCAtTWlOVFswLTldKikKKwkJCQl2ZW5kb3I9YXRhcmkKKwkJCQk7OworCQkJLXZvcyopCisJCQkJdmVuZG9yPXN0cmF0dXMKKwkJCQk7OworCQllc2FjCisJCWJhc2ljX21hY2hpbmU9YGVjaG8gJGJhc2ljX21hY2hpbmUgfCBzZWQgInMvdW5rbm93bi8kdmVuZG9yLyJgCisJCTs7Citlc2FjCisKK2VjaG8gJGJhc2ljX21hY2hpbmUkb3MKK2V4aXQKKworIyBMb2NhbCB2YXJpYWJsZXM6CisjIGV2YWw6IChhZGQtaG9vayAnd3JpdGUtZmlsZS1ob29rcyAndGltZS1zdGFtcCkKKyMgdGltZS1zdGFtcC1zdGFydDogInRpbWVzdGFtcD0nIgorIyB0aW1lLXN0YW1wLWZvcm1hdDogIiU6eS0lMDJtLSUwMmQiCisjIHRpbWUtc3RhbXAtZW5kOiAiJyIKKyMgRW5kOgpkaWZmIC0tZ2l0IGEvc3RyYWNlLTQuNS4yMC9jb25maWd1cmUgYi9zdHJhY2UtNC41LjIwL2NvbmZpZ3VyZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44MjEzYmIzCi0tLSAvZGV2L251bGwKKysrIGIvc3RyYWNlLTQuNS4yMC9jb25maWd1cmUKQEAgLTAsMCArMSw3OTA1IEBACisjISAvYmluL3NoCisjIEd1ZXNzIHZhbHVlcyBmb3Igc3lzdGVtLWRlcGVuZGVudCB2YXJpYWJsZXMgYW5kIGNyZWF0ZSBNYWtlZmlsZXMuCisjIEdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi42NSBmb3Igc3RyYWNlIDQuNS4yMC4KKyMKKyMKKyMgQ29weXJpZ2h0IChDKSAxOTkyLCAxOTkzLCAxOTk0LCAxOTk1LCAxOTk2LCAxOTk4LCAxOTk5LCAyMDAwLCAyMDAxLAorIyAyMDAyLCAyMDAzLCAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5LCAyMDEwIEZyZWUgU29mdHdhcmUKKyMgRm91bmRhdGlvbiwgSW5jLgorIworIworIyBUaGlzIGNvbmZpZ3VyZSBzY3JpcHQgaXMgZnJlZSBzb2Z0d2FyZTsgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbgorIyBnaXZlcyB1bmxpbWl0ZWQgcGVybWlzc2lvbiB0byBjb3B5LCBkaXN0cmlidXRlIGFuZCBtb2RpZnkgaXQuCisjIyAtLS0tLS0tLS0tLS0tLS0tLS0tLSAjIworIyMgTTRzaCBJbml0aWFsaXphdGlvbi4gIyMKKyMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCisKKyMgQmUgbW9yZSBCb3VybmUgY29tcGF0aWJsZQorRFVBTENBU0U9MTsgZXhwb3J0IERVQUxDQVNFICMgZm9yIE1LUyBzaAoraWYgdGVzdCAtbiAiJHtaU0hfVkVSU0lPTitzZXR9IiAmJiAoZW11bGF0ZSBzaCkgPi9kZXYvbnVsbCAyPiYxOyB0aGVuIDoKKyAgZW11bGF0ZSBzaAorICBOVUxMQ01EPToKKyAgIyBQcmUtNC4yIHZlcnNpb25zIG9mIFpzaCBkbyB3b3JkIHNwbGl0dGluZyBvbiAkezErIiRAIn0sIHdoaWNoCisgICMgaXMgY29udHJhcnkgdG8gb3VyIHVzYWdlLiAgRGlzYWJsZSB0aGlzIGZlYXR1cmUuCisgIGFsaWFzIC1nICckezErIiRAIn0nPSciJEAiJworICBzZXRvcHQgTk9fR0xPQl9TVUJTVAorZWxzZQorICBjYXNlIGAoc2V0IC1vKSAyPi9kZXYvbnVsbGAgaW4gIygKKyAgKnBvc2l4KikgOgorICAgIHNldCAtbyBwb3NpeCA7OyAjKAorICAqKSA6CisgICAgIDs7Citlc2FjCitmaQorCisKK2FzX25sPScKKycKK2V4cG9ydCBhc19ubAorIyBQcmludGluZyBhIGxvbmcgc3RyaW5nIGNyYXNoZXMgU29sYXJpcyA3IC91c3IvYmluL3ByaW50Zi4KK2FzX2VjaG89J1xcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFwnCithc19lY2hvPSRhc19lY2hvJGFzX2VjaG8kYXNfZWNobyRhc19lY2hvJGFzX2VjaG8KK2FzX2VjaG89JGFzX2VjaG8kYXNfZWNobyRhc19lY2hvJGFzX2VjaG8kYXNfZWNobyRhc19lY2hvCisjIFByZWZlciBhIGtzaCBzaGVsbCBidWlsdGluIG92ZXIgYW4gZXh0ZXJuYWwgcHJpbnRmIHByb2dyYW0gb24gU29sYXJpcywKKyMgYnV0IHdpdGhvdXQgd2FzdGluZyBmb3JrcyBmb3IgYmFzaCBvciB6c2guCitpZiB0ZXN0IC16ICIkQkFTSF9WRVJTSU9OJFpTSF9WRVJTSU9OIiBcCisgICAgJiYgKHRlc3QgIlhgcHJpbnQgLXIgLS0gJGFzX2VjaG9gIiA9ICJYJGFzX2VjaG8iKSAyPi9kZXYvbnVsbDsgdGhlbgorICBhc19lY2hvPSdwcmludCAtciAtLScKKyAgYXNfZWNob19uPSdwcmludCAtcm4gLS0nCitlbGlmICh0ZXN0ICJYYHByaW50ZiAlcyAkYXNfZWNob2AiID0gIlgkYXNfZWNobyIpIDI+L2Rldi9udWxsOyB0aGVuCisgIGFzX2VjaG89J3ByaW50ZiAlc1xuJworICBhc19lY2hvX249J3ByaW50ZiAlcycKK2Vsc2UKKyAgaWYgdGVzdCAiWGAoL3Vzci91Y2IvZWNobyAtbiAtbiAkYXNfZWNobykgMj4vZGV2L251bGxgIiA9ICJYLW4gJGFzX2VjaG8iOyB0aGVuCisgICAgYXNfZWNob19ib2R5PSdldmFsIC91c3IvdWNiL2VjaG8gLW4gIiQxJGFzX25sIicKKyAgICBhc19lY2hvX249Jy91c3IvdWNiL2VjaG8gLW4nCisgIGVsc2UKKyAgICBhc19lY2hvX2JvZHk9J2V2YWwgZXhwciAiWCQxIiA6ICJYXFwoLipcXCkiJworICAgIGFzX2VjaG9fbl9ib2R5PSdldmFsCisgICAgICBhcmc9JDE7CisgICAgICBjYXNlICRhcmcgaW4gIygKKyAgICAgICoiJGFzX25sIiopCisJZXhwciAiWCRhcmciIDogIlhcXCguKlxcKSRhc19ubCI7CisJYXJnPWBleHByICJYJGFyZyIgOiAiLiokYXNfbmxcXCguKlxcKSJgOzsKKyAgICAgIGVzYWM7CisgICAgICBleHByICJYJGFyZyIgOiAiWFxcKC4qXFwpIiB8IHRyIC1kICIkYXNfbmwiCisgICAgJworICAgIGV4cG9ydCBhc19lY2hvX25fYm9keQorICAgIGFzX2VjaG9fbj0nc2ggLWMgJGFzX2VjaG9fbl9ib2R5IGFzX2VjaG8nCisgIGZpCisgIGV4cG9ydCBhc19lY2hvX2JvZHkKKyAgYXNfZWNobz0nc2ggLWMgJGFzX2VjaG9fYm9keSBhc19lY2hvJworZmkKKworIyBUaGUgdXNlciBpcyBhbHdheXMgcmlnaHQuCitpZiB0ZXN0ICIke1BBVEhfU0VQQVJBVE9SK3NldH0iICE9IHNldDsgdGhlbgorICBQQVRIX1NFUEFSQVRPUj06CisgIChQQVRIPScvYmluOy9iaW4nOyBGUEFUSD0kUEFUSDsgc2ggLWMgOikgPi9kZXYvbnVsbCAyPiYxICYmIHsKKyAgICAoUEFUSD0nL2JpbjovYmluJzsgRlBBVEg9JFBBVEg7IHNoIC1jIDopID4vZGV2L251bGwgMj4mMSB8fAorICAgICAgUEFUSF9TRVBBUkFUT1I9JzsnCisgIH0KK2ZpCisKKworIyBJRlMKKyMgV2UgbmVlZCBzcGFjZSwgdGFiIGFuZCBuZXcgbGluZSwgaW4gcHJlY2lzZWx5IHRoYXQgb3JkZXIuICBRdW90aW5nIGlzCisjIHRoZXJlIHRvIHByZXZlbnQgZWRpdG9ycyBmcm9tIGNvbXBsYWluaW5nIGFib3V0IHNwYWNlLXRhYi4KKyMgKElmIF9BU19QQVRIX1dBTEsgd2VyZSBjYWxsZWQgd2l0aCBJRlMgdW5zZXQsIGl0IHdvdWxkIGRpc2FibGUgd29yZAorIyBzcGxpdHRpbmcgYnkgc2V0dGluZyBJRlMgdG8gZW1wdHkgdmFsdWUuKQorSUZTPSIgIiIJJGFzX25sIgorCisjIEZpbmQgd2hvIHdlIGFyZS4gIExvb2sgaW4gdGhlIHBhdGggaWYgd2UgY29udGFpbiBubyBkaXJlY3Rvcnkgc2VwYXJhdG9yLgorY2FzZSAkMCBpbiAjKCgKKyAgKltcXC9dKiApIGFzX215c2VsZj0kMCA7OworICAqKSBhc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCitmb3IgYXNfZGlyIGluICRQQVRICitkbworICBJRlM9JGFzX3NhdmVfSUZTCisgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCisgICAgdGVzdCAtciAiJGFzX2Rpci8kMCIgJiYgYXNfbXlzZWxmPSRhc19kaXIvJDAgJiYgYnJlYWsKKyAgZG9uZQorSUZTPSRhc19zYXZlX0lGUworCisgICAgIDs7Citlc2FjCisjIFdlIGRpZCBub3QgZmluZCBvdXJzZWx2ZXMsIG1vc3QgcHJvYmFibHkgd2Ugd2VyZSBydW4gYXMgYHNoIENPTU1BTkQnCisjIGluIHdoaWNoIGNhc2Ugd2UgYXJlIG5vdCB0byBiZSBmb3VuZCBpbiB0aGUgcGF0aC4KK2lmIHRlc3QgIngkYXNfbXlzZWxmIiA9IHg7IHRoZW4KKyAgYXNfbXlzZWxmPSQwCitmaQoraWYgdGVzdCAhIC1mICIkYXNfbXlzZWxmIjsgdGhlbgorICAkYXNfZWNobyAiJGFzX215c2VsZjogZXJyb3I6IGNhbm5vdCBmaW5kIG15c2VsZjsgcmVydW4gd2l0aCBhbiBhYnNvbHV0ZSBmaWxlIG5hbWUiID4mMgorICBleGl0IDEKK2ZpCisKKyMgVW5zZXQgdmFyaWFibGVzIHRoYXQgd2UgZG8gbm90IG5lZWQgYW5kIHdoaWNoIGNhdXNlIGJ1Z3MgKGUuZy4gaW4KKyMgcHJlLTMuMCBVV0lOIGtzaCkuICBCdXQgZG8gbm90IGNhdXNlIGJ1Z3MgaW4gYmFzaCAyLjAxOyB0aGUgInx8IGV4aXQgMSIKKyMgc3VwcHJlc3NlcyBhbnkgIlNlZ21lbnRhdGlvbiBmYXVsdCIgbWVzc2FnZSB0aGVyZS4gICcoKCcgY291bGQKKyMgdHJpZ2dlciBhIGJ1ZyBpbiBwZGtzaCA1LjIuMTQuCitmb3IgYXNfdmFyIGluIEJBU0hfRU5WIEVOViBNQUlMIE1BSUxQQVRICitkbyBldmFsIHRlc3QgeFwkeyRhc192YXIrc2V0fSA9IHhzZXQgXAorICAmJiAoICh1bnNldCAkYXNfdmFyKSB8fCBleGl0IDEpID4vZGV2L251bGwgMj4mMSAmJiB1bnNldCAkYXNfdmFyIHx8IDoKK2RvbmUKK1BTMT0nJCAnCitQUzI9Jz4gJworUFM0PScrICcKKworIyBOTFMgbnVpc2FuY2VzLgorTENfQUxMPUMKK2V4cG9ydCBMQ19BTEwKK0xBTkdVQUdFPUMKK2V4cG9ydCBMQU5HVUFHRQorCisjIENEUEFUSC4KKyh1bnNldCBDRFBBVEgpID4vZGV2L251bGwgMj4mMSAmJiB1bnNldCBDRFBBVEgKKworaWYgdGVzdCAieCRDT05GSUdfU0hFTEwiID0geDsgdGhlbgorICBhc19ib3VybmVfY29tcGF0aWJsZT0iaWYgdGVzdCAtbiBcIlwke1pTSF9WRVJTSU9OK3NldH1cIiAmJiAoZW11bGF0ZSBzaCkgPi9kZXYvbnVsbCAyPiYxOyB0aGVuIDoKKyAgZW11bGF0ZSBzaAorICBOVUxMQ01EPToKKyAgIyBQcmUtNC4yIHZlcnNpb25zIG9mIFpzaCBkbyB3b3JkIHNwbGl0dGluZyBvbiBcJHsxK1wiXCRAXCJ9LCB3aGljaAorICAjIGlzIGNvbnRyYXJ5IHRvIG91ciB1c2FnZS4gIERpc2FibGUgdGhpcyBmZWF0dXJlLgorICBhbGlhcyAtZyAnXCR7MStcIlwkQFwifSc9J1wiXCRAXCInCisgIHNldG9wdCBOT19HTE9CX1NVQlNUCitlbHNlCisgIGNhc2UgXGAoc2V0IC1vKSAyPi9kZXYvbnVsbFxgIGluICMoCisgICpwb3NpeCopIDoKKyAgICBzZXQgLW8gcG9zaXggOzsgIygKKyAgKikgOgorICAgICA7OworZXNhYworZmkKKyIKKyAgYXNfcmVxdWlyZWQ9ImFzX2ZuX3JldHVybiAoKSB7IChleGl0IFwkMSk7IH0KK2FzX2ZuX3N1Y2Nlc3MgKCkgeyBhc19mbl9yZXR1cm4gMDsgfQorYXNfZm5fZmFpbHVyZSAoKSB7IGFzX2ZuX3JldHVybiAxOyB9Cithc19mbl9yZXRfc3VjY2VzcyAoKSB7IHJldHVybiAwOyB9Cithc19mbl9yZXRfZmFpbHVyZSAoKSB7IHJldHVybiAxOyB9CisKK2V4aXRjb2RlPTAKK2FzX2ZuX3N1Y2Nlc3MgfHwgeyBleGl0Y29kZT0xOyBlY2hvIGFzX2ZuX3N1Y2Nlc3MgZmFpbGVkLjsgfQorYXNfZm5fZmFpbHVyZSAmJiB7IGV4aXRjb2RlPTE7IGVjaG8gYXNfZm5fZmFpbHVyZSBzdWNjZWVkZWQuOyB9Cithc19mbl9yZXRfc3VjY2VzcyB8fCB7IGV4aXRjb2RlPTE7IGVjaG8gYXNfZm5fcmV0X3N1Y2Nlc3MgZmFpbGVkLjsgfQorYXNfZm5fcmV0X2ZhaWx1cmUgJiYgeyBleGl0Y29kZT0xOyBlY2hvIGFzX2ZuX3JldF9mYWlsdXJlIHN1Y2NlZWRlZC47IH0KK2lmICggc2V0IHg7IGFzX2ZuX3JldF9zdWNjZXNzIHkgJiYgdGVzdCB4ID0gXCJcJDFcIiApOyB0aGVuIDoKKworZWxzZQorICBleGl0Y29kZT0xOyBlY2hvIHBvc2l0aW9uYWwgcGFyYW1ldGVycyB3ZXJlIG5vdCBzYXZlZC4KK2ZpCit0ZXN0IHhcJGV4aXRjb2RlID0geDAgfHwgZXhpdCAxIgorICBhc19zdWdnZXN0ZWQ9IiAgYXNfbGluZW5vXzE9Ijthc19zdWdnZXN0ZWQ9JGFzX3N1Z2dlc3RlZCRMSU5FTk87YXNfc3VnZ2VzdGVkPSRhc19zdWdnZXN0ZWQiIGFzX2xpbmVub18xYT1cJExJTkVOTworICBhc19saW5lbm9fMj0iO2FzX3N1Z2dlc3RlZD0kYXNfc3VnZ2VzdGVkJExJTkVOTzthc19zdWdnZXN0ZWQ9JGFzX3N1Z2dlc3RlZCIgYXNfbGluZW5vXzJhPVwkTElORU5PCisgIGV2YWwgJ3Rlc3QgXCJ4XCRhc19saW5lbm9fMSdcJGFzX3J1bidcIiAhPSBcInhcJGFzX2xpbmVub18yJ1wkYXNfcnVuJ1wiICYmCisgIHRlc3QgXCJ4XGBleHByIFwkYXNfbGluZW5vXzEnXCRhc19ydW4nICsgMVxgXCIgPSBcInhcJGFzX2xpbmVub18yJ1wkYXNfcnVuJ1wiJyB8fCBleGl0IDEKK3Rlc3QgXCQoKCAxICsgMSApKSA9IDIgfHwgZXhpdCAxIgorICBpZiAoZXZhbCAiJGFzX3JlcXVpcmVkIikgMj4vZGV2L251bGw7IHRoZW4gOgorICBhc19oYXZlX3JlcXVpcmVkPXllcworZWxzZQorICBhc19oYXZlX3JlcXVpcmVkPW5vCitmaQorICBpZiB0ZXN0IHgkYXNfaGF2ZV9yZXF1aXJlZCA9IHh5ZXMgJiYgKGV2YWwgIiRhc19zdWdnZXN0ZWQiKSAyPi9kZXYvbnVsbDsgdGhlbiA6CisKK2Vsc2UKKyAgYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgorYXNfZm91bmQ9ZmFsc2UKK2ZvciBhc19kaXIgaW4gL2JpbiRQQVRIX1NFUEFSQVRPUi91c3IvYmluJFBBVEhfU0VQQVJBVE9SJFBBVEgKK2RvCisgIElGUz0kYXNfc2F2ZV9JRlMKKyAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KKyAgYXNfZm91bmQ9OgorICBjYXNlICRhc19kaXIgaW4gIygKKwkgLyopCisJICAgZm9yIGFzX2Jhc2UgaW4gc2ggYmFzaCBrc2ggc2g1OyBkbworCSAgICAgIyBUcnkgb25seSBzaGVsbHMgdGhhdCBleGlzdCwgdG8gc2F2ZSBzZXZlcmFsIGZvcmtzLgorCSAgICAgYXNfc2hlbGw9JGFzX2Rpci8kYXNfYmFzZQorCSAgICAgaWYgeyB0ZXN0IC1mICIkYXNfc2hlbGwiIHx8IHRlc3QgLWYgIiRhc19zaGVsbC5leGUiOyB9ICYmCisJCSAgICB7ICRhc19lY2hvICIkYXNfYm91cm5lX2NvbXBhdGlibGUiIiRhc19yZXF1aXJlZCIgfCBhc19ydW49YSAiJGFzX3NoZWxsIjsgfSAyPi9kZXYvbnVsbDsgdGhlbiA6CisgIENPTkZJR19TSEVMTD0kYXNfc2hlbGwgYXNfaGF2ZV9yZXF1aXJlZD15ZXMKKwkJICAgaWYgeyAkYXNfZWNobyAiJGFzX2JvdXJuZV9jb21wYXRpYmxlIiIkYXNfc3VnZ2VzdGVkIiB8IGFzX3J1bj1hICIkYXNfc2hlbGwiOyB9IDI+L2Rldi9udWxsOyB0aGVuIDoKKyAgYnJlYWsgMgorZmkKK2ZpCisJICAgZG9uZTs7CisgICAgICAgZXNhYworICBhc19mb3VuZD1mYWxzZQorZG9uZQorJGFzX2ZvdW5kIHx8IHsgaWYgeyB0ZXN0IC1mICIkU0hFTEwiIHx8IHRlc3QgLWYgIiRTSEVMTC5leGUiOyB9ICYmCisJICAgICAgeyAkYXNfZWNobyAiJGFzX2JvdXJuZV9jb21wYXRpYmxlIiIkYXNfcmVxdWlyZWQiIHwgYXNfcnVuPWEgIiRTSEVMTCI7IH0gMj4vZGV2L251bGw7IHRoZW4gOgorICBDT05GSUdfU0hFTEw9JFNIRUxMIGFzX2hhdmVfcmVxdWlyZWQ9eWVzCitmaTsgfQorSUZTPSRhc19zYXZlX0lGUworCisKKyAgICAgIGlmIHRlc3QgIngkQ09ORklHX1NIRUxMIiAhPSB4OyB0aGVuIDoKKyAgIyBXZSBjYW5ub3QgeWV0IGFzc3VtZSBhIGRlY2VudCBzaGVsbCwgc28gd2UgaGF2ZSB0byBwcm92aWRlIGEKKwkjIG5ldXRyYWxpemF0aW9uIHZhbHVlIGZvciBzaGVsbHMgd2l0aG91dCB1bnNldDsgYW5kIHRoaXMgYWxzbworCSMgd29ya3MgYXJvdW5kIHNoZWxscyB0aGF0IGNhbm5vdCB1bnNldCBub25leGlzdGVudCB2YXJpYWJsZXMuCisJQkFTSF9FTlY9L2Rldi9udWxsCisJRU5WPS9kZXYvbnVsbAorCSh1bnNldCBCQVNIX0VOVikgPi9kZXYvbnVsbCAyPiYxICYmIHVuc2V0IEJBU0hfRU5WIEVOVgorCWV4cG9ydCBDT05GSUdfU0hFTEwKKwlleGVjICIkQ09ORklHX1NIRUxMIiAiJGFzX215c2VsZiIgJHsxKyIkQCJ9CitmaQorCisgICAgaWYgdGVzdCB4JGFzX2hhdmVfcmVxdWlyZWQgPSB4bm87IHRoZW4gOgorICAkYXNfZWNobyAiJDA6IFRoaXMgc2NyaXB0IHJlcXVpcmVzIGEgc2hlbGwgbW9yZSBtb2Rlcm4gdGhhbiBhbGwiCisgICRhc19lY2hvICIkMDogdGhlIHNoZWxscyB0aGF0IEkgZm91bmQgb24geW91ciBzeXN0ZW0uIgorICBpZiB0ZXN0IHgke1pTSF9WRVJTSU9OK3NldH0gPSB4c2V0IDsgdGhlbgorICAgICRhc19lY2hvICIkMDogSW4gcGFydGljdWxhciwgenNoICRaU0hfVkVSU0lPTiBoYXMgYnVncyBhbmQgc2hvdWxkIgorICAgICRhc19lY2hvICIkMDogYmUgdXBncmFkZWQgdG8genNoIDQuMy40IG9yIGxhdGVyLiIKKyAgZWxzZQorICAgICRhc19lY2hvICIkMDogUGxlYXNlIHRlbGwgYnVnLWF1dG9jb25mQGdudS5vcmcgYWJvdXQgeW91ciBzeXN0ZW0sCiskMDogaW5jbHVkaW5nIGFueSBlcnJvciBwb3NzaWJseSBvdXRwdXQgYmVmb3JlIHRoaXMKKyQwOiBtZXNzYWdlLiBUaGVuIGluc3RhbGwgYSBtb2Rlcm4gc2hlbGwsIG9yIG1hbnVhbGx5IHJ1bgorJDA6IHRoZSBzY3JpcHQgdW5kZXIgc3VjaCBhIHNoZWxsIGlmIHlvdSBkbyBoYXZlIG9uZS4iCisgIGZpCisgIGV4aXQgMQorZmkKK2ZpCitmaQorU0hFTEw9JHtDT05GSUdfU0hFTEwtL2Jpbi9zaH0KK2V4cG9ydCBTSEVMTAorIyBVbnNldCBtb3JlIHZhcmlhYmxlcyBrbm93biB0byBpbnRlcmZlcmUgd2l0aCBiZWhhdmlvciBvZiBjb21tb24gdG9vbHMuCitDTElDT0xPUl9GT1JDRT0gR1JFUF9PUFRJT05TPQordW5zZXQgQ0xJQ09MT1JfRk9SQ0UgR1JFUF9PUFRJT05TCisKKyMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIworIyMgTTRzaCBTaGVsbCBGdW5jdGlvbnMuICMjCisjIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKKyMgYXNfZm5fdW5zZXQgVkFSCisjIC0tLS0tLS0tLS0tLS0tLQorIyBQb3J0YWJseSB1bnNldCBWQVIuCithc19mbl91bnNldCAoKQoreworICB7IGV2YWwgJDE9OyB1bnNldCAkMTt9Cit9Cithc191bnNldD1hc19mbl91bnNldAorCisjIGFzX2ZuX3NldF9zdGF0dXMgU1RBVFVTCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFNldCAkPyB0byBTVEFUVVMsIHdpdGhvdXQgZm9ya2luZy4KK2FzX2ZuX3NldF9zdGF0dXMgKCkKK3sKKyAgcmV0dXJuICQxCit9ICMgYXNfZm5fc2V0X3N0YXR1cworCisjIGFzX2ZuX2V4aXQgU1RBVFVTCisjIC0tLS0tLS0tLS0tLS0tLS0tCisjIEV4aXQgdGhlIHNoZWxsIHdpdGggU1RBVFVTLCBldmVuIGluIGEgInRyYXAgMCIgb3IgInNldCAtZSIgY29udGV4dC4KK2FzX2ZuX2V4aXQgKCkKK3sKKyAgc2V0ICtlCisgIGFzX2ZuX3NldF9zdGF0dXMgJDEKKyAgZXhpdCAkMQorfSAjIGFzX2ZuX2V4aXQKKworIyBhc19mbl9ta2Rpcl9wCisjIC0tLS0tLS0tLS0tLS0KKyMgQ3JlYXRlICIkYXNfZGlyIiBhcyBhIGRpcmVjdG9yeSwgaW5jbHVkaW5nIHBhcmVudHMgaWYgbmVjZXNzYXJ5LgorYXNfZm5fbWtkaXJfcCAoKQoreworCisgIGNhc2UgJGFzX2RpciBpbiAjKAorICAtKikgYXNfZGlyPS4vJGFzX2Rpcjs7CisgIGVzYWMKKyAgdGVzdCAtZCAiJGFzX2RpciIgfHwgZXZhbCAkYXNfbWtkaXJfcCB8fCB7CisgICAgYXNfZGlycz0KKyAgICB3aGlsZSA6OyBkbworICAgICAgY2FzZSAkYXNfZGlyIGluICMoCisgICAgICAqXCcqKSBhc19xZGlyPWAkYXNfZWNobyAiJGFzX2RpciIgfCBzZWQgInMvJy8nXFxcXFxcXFwnJy9nImA7OyAjJygKKyAgICAgICopIGFzX3FkaXI9JGFzX2Rpcjs7CisgICAgICBlc2FjCisgICAgICBhc19kaXJzPSInJGFzX3FkaXInICRhc19kaXJzIgorICAgICAgYXNfZGlyPWAkYXNfZGlybmFtZSAtLSAiJGFzX2RpciIgfHwKKyRhc19leHByIFgiJGFzX2RpciIgOiAnWFwoLipbXi9dXCkvLypbXi9dW14vXSovKiQnIFx8IFwKKwkgWCIkYXNfZGlyIiA6ICdYXCgvL1wpW14vXScgXHwgXAorCSBYIiRhc19kaXIiIDogJ1hcKC8vXCkkJyBcfCBcCisJIFgiJGFzX2RpciIgOiAnWFwoL1wpJyBcfCAuIDI+L2Rldi9udWxsIHx8CiskYXNfZWNobyBYIiRhc19kaXIiIHwKKyAgICBzZWQgJy9eWFwoLipbXi9dXClcL1wvKlteL11bXi9dKlwvKiQveworCSAgICBzLy9cMS8KKwkgICAgcQorCSAgfQorCSAgL15YXChcL1wvXClbXi9dLioveworCSAgICBzLy9cMS8KKwkgICAgcQorCSAgfQorCSAgL15YXChcL1wvXCkkL3sKKwkgICAgcy8vXDEvCisJICAgIHEKKwkgIH0KKwkgIC9eWFwoXC9cKS4qL3sKKwkgICAgcy8vXDEvCisJICAgIHEKKwkgIH0KKwkgIHMvLiovLi87IHEnYAorICAgICAgdGVzdCAtZCAiJGFzX2RpciIgJiYgYnJlYWsKKyAgICBkb25lCisgICAgdGVzdCAteiAiJGFzX2RpcnMiIHx8IGV2YWwgIm1rZGlyICRhc19kaXJzIgorICB9IHx8IHRlc3QgLWQgIiRhc19kaXIiIHx8IGFzX2ZuX2Vycm9yICJjYW5ub3QgY3JlYXRlIGRpcmVjdG9yeSAkYXNfZGlyIgorCisKK30gIyBhc19mbl9ta2Rpcl9wCisjIGFzX2ZuX2FwcGVuZCBWQVIgVkFMVUUKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBcHBlbmQgdGhlIHRleHQgaW4gVkFMVUUgdG8gdGhlIGVuZCBvZiB0aGUgZGVmaW5pdGlvbiBjb250YWluZWQgaW4gVkFSLiBUYWtlCisjIGFkdmFudGFnZSBvZiBhbnkgc2hlbGwgb3B0aW1pemF0aW9ucyB0aGF0IGFsbG93IGFtb3J0aXplZCBsaW5lYXIgZ3Jvd3RoIG92ZXIKKyMgcmVwZWF0ZWQgYXBwZW5kcywgaW5zdGVhZCBvZiB0aGUgdHlwaWNhbCBxdWFkcmF0aWMgZ3Jvd3RoIHByZXNlbnQgaW4gbmFpdmUKKyMgaW1wbGVtZW50YXRpb25zLgoraWYgKGV2YWwgImFzX3Zhcj0xOyBhc192YXIrPTI7IHRlc3QgeFwkYXNfdmFyID0geDEyIikgMj4vZGV2L251bGw7IHRoZW4gOgorICBldmFsICdhc19mbl9hcHBlbmQgKCkKKyAgeworICAgIGV2YWwgJDErPVwkMgorICB9JworZWxzZQorICBhc19mbl9hcHBlbmQgKCkKKyAgeworICAgIGV2YWwgJDE9XCQkMVwkMgorICB9CitmaSAjIGFzX2ZuX2FwcGVuZAorCisjIGFzX2ZuX2FyaXRoIEFSRy4uLgorIyAtLS0tLS0tLS0tLS0tLS0tLS0KKyMgUGVyZm9ybSBhcml0aG1ldGljIGV2YWx1YXRpb24gb24gdGhlIEFSR3MsIGFuZCBzdG9yZSB0aGUgcmVzdWx0IGluIHRoZQorIyBnbG9iYWwgJGFzX3ZhbC4gVGFrZSBhZHZhbnRhZ2Ugb2Ygc2hlbGxzIHRoYXQgY2FuIGF2b2lkIGZvcmtzLiBUaGUgYXJndW1lbnRzCisjIG11c3QgYmUgcG9ydGFibGUgYWNyb3NzICQoKCkpIGFuZCBleHByLgoraWYgKGV2YWwgInRlc3QgXCQoKCAxICsgMSApKSA9IDIiKSAyPi9kZXYvbnVsbDsgdGhlbiA6CisgIGV2YWwgJ2FzX2ZuX2FyaXRoICgpCisgIHsKKyAgICBhc192YWw9JCgoICQqICkpCisgIH0nCitlbHNlCisgIGFzX2ZuX2FyaXRoICgpCisgIHsKKyAgICBhc192YWw9YGV4cHIgIiRAIiB8fCB0ZXN0ICQ/IC1lcSAxYAorICB9CitmaSAjIGFzX2ZuX2FyaXRoCisKKworIyBhc19mbl9lcnJvciBFUlJPUiBbTElORU5PIExPR19GRF0KKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIE91dHB1dCAiYGJhc2VuYW1lICQwYDogZXJyb3I6IEVSUk9SIiB0byBzdGRlcnIuIElmIExJTkVOTyBhbmQgTE9HX0ZEIGFyZQorIyBwcm92aWRlZCwgYWxzbyBvdXRwdXQgdGhlIGVycm9yIHRvIExPR19GRCwgcmVmZXJlbmNpbmcgTElORU5PLiBUaGVuIGV4aXQgdGhlCisjIHNjcmlwdCB3aXRoIHN0YXR1cyAkPywgdXNpbmcgMSBpZiB0aGF0IHdhcyAwLgorYXNfZm5fZXJyb3IgKCkKK3sKKyAgYXNfc3RhdHVzPSQ/OyB0ZXN0ICRhc19zdGF0dXMgLWVxIDAgJiYgYXNfc3RhdHVzPTEKKyAgaWYgdGVzdCAiJDMiOyB0aGVuCisgICAgYXNfbGluZW5vPSR7YXNfbGluZW5vLSIkMiJ9IGFzX2xpbmVub19zdGFjaz1hc19saW5lbm9fc3RhY2s9JGFzX2xpbmVub19zdGFjaworICAgICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGVycm9yOiAkMSIgPiYkMworICBmaQorICAkYXNfZWNobyAiJGFzX21lOiBlcnJvcjogJDEiID4mMgorICBhc19mbl9leGl0ICRhc19zdGF0dXMKK30gIyBhc19mbl9lcnJvcgorCitpZiBleHByIGEgOiAnXChhXCknID4vZGV2L251bGwgMj4mMSAmJgorICAgdGVzdCAiWGBleHByIDAwMDAxIDogJy4qXCguLi5cKSdgIiA9IFgwMDE7IHRoZW4KKyAgYXNfZXhwcj1leHByCitlbHNlCisgIGFzX2V4cHI9ZmFsc2UKK2ZpCisKK2lmIChiYXNlbmFtZSAtLSAvKSA+L2Rldi9udWxsIDI+JjEgJiYgdGVzdCAiWGBiYXNlbmFtZSAtLSAvIDI+JjFgIiA9ICJYLyI7IHRoZW4KKyAgYXNfYmFzZW5hbWU9YmFzZW5hbWUKK2Vsc2UKKyAgYXNfYmFzZW5hbWU9ZmFsc2UKK2ZpCisKK2lmIChhc19kaXI9YGRpcm5hbWUgLS0gL2AgJiYgdGVzdCAiWCRhc19kaXIiID0gWC8pID4vZGV2L251bGwgMj4mMTsgdGhlbgorICBhc19kaXJuYW1lPWRpcm5hbWUKK2Vsc2UKKyAgYXNfZGlybmFtZT1mYWxzZQorZmkKKworYXNfbWU9YCRhc19iYXNlbmFtZSAtLSAiJDAiIHx8CiskYXNfZXhwciBYLyIkMCIgOiAnLiovXChbXi9dW14vXSpcKS8qJCcgXHwgXAorCSBYIiQwIiA6ICdYXCgvL1wpJCcgXHwgXAorCSBYIiQwIiA6ICdYXCgvXCknIFx8IC4gMj4vZGV2L251bGwgfHwKKyRhc19lY2hvIFgvIiQwIiB8CisgICAgc2VkICcvXi4qXC9cKFteL11bXi9dKlwpXC8qJC97CisJICAgIHMvL1wxLworCSAgICBxCisJICB9CisJICAvXlhcL1woXC9cL1wpJC97CisJICAgIHMvL1wxLworCSAgICBxCisJICB9CisJICAvXlhcL1woXC9cKS4qL3sKKwkgICAgcy8vXDEvCisJICAgIHEKKwkgIH0KKwkgIHMvLiovLi87IHEnYAorCisjIEF2b2lkIGRlcGVuZGluZyB1cG9uIENoYXJhY3RlciBSYW5nZXMuCithc19jcl9sZXR0ZXJzPSdhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eicKK2FzX2NyX0xFVFRFUlM9J0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaJworYXNfY3JfTGV0dGVycz0kYXNfY3JfbGV0dGVycyRhc19jcl9MRVRURVJTCithc19jcl9kaWdpdHM9JzAxMjM0NTY3ODknCithc19jcl9hbG51bT0kYXNfY3JfTGV0dGVycyRhc19jcl9kaWdpdHMKKworCisgIGFzX2xpbmVub18xPSRMSU5FTk8gYXNfbGluZW5vXzFhPSRMSU5FTk8KKyAgYXNfbGluZW5vXzI9JExJTkVOTyBhc19saW5lbm9fMmE9JExJTkVOTworICBldmFsICd0ZXN0ICJ4JGFzX2xpbmVub18xJyRhc19ydW4nIiAhPSAieCRhc19saW5lbm9fMickYXNfcnVuJyIgJiYKKyAgdGVzdCAieGBleHByICRhc19saW5lbm9fMSckYXNfcnVuJyArIDFgIiA9ICJ4JGFzX2xpbmVub18yJyRhc19ydW4nIicgfHwgeworICAjIEJsYW1lIExlZSBFLiBNY01haG9uICgxOTMxLTE5ODkpIGZvciBzZWQncyBzeW50YXguICA6LSkKKyAgc2VkIC1uICcKKyAgICBwCisgICAgL1skXUxJTkVOTy89CisgICcgPCRhc19teXNlbGYgfAorICAgIHNlZCAnCisgICAgICBzL1skXUxJTkVOTy4qLyYtLworICAgICAgdCBsaW5lbm8KKyAgICAgIGIKKyAgICAgIDpsaW5lbm8KKyAgICAgIE4KKyAgICAgIDpsb29wCisgICAgICBzL1skXUxJTkVOT1woW14nJGFzX2NyX2FsbnVtJ19dLipcblwpXCguKlwpL1wyXDFcMi8KKyAgICAgIHQgbG9vcAorICAgICAgcy8tXG4uKi8vCisgICAgJyA+JGFzX21lLmxpbmVubyAmJgorICBjaG1vZCAreCAiJGFzX21lLmxpbmVubyIgfHwKKyAgICB7ICRhc19lY2hvICIkYXNfbWU6IGVycm9yOiBjYW5ub3QgY3JlYXRlICRhc19tZS5saW5lbm87IHJlcnVuIHdpdGggYSBQT1NJWCBzaGVsbCIgPiYyOyBhc19mbl9leGl0IDE7IH0KKworICAjIERvbid0IHRyeSB0byBleGVjIGFzIGl0IGNoYW5nZXMgJFswXSwgY2F1c2luZyBhbGwgc29ydCBvZiBwcm9ibGVtcworICAjICh0aGUgZGlybmFtZSBvZiAkWzBdIGlzIG5vdCB0aGUgcGxhY2Ugd2hlcmUgd2UgbWlnaHQgZmluZCB0aGUKKyAgIyBvcmlnaW5hbCBhbmQgc28gb24uICBBdXRvY29uZiBpcyBlc3BlY2lhbGx5IHNlbnNpdGl2ZSB0byB0aGlzKS4KKyAgLiAiLi8kYXNfbWUubGluZW5vIgorICAjIEV4aXQgc3RhdHVzIGlzIHRoYXQgb2YgdGhlIGxhc3QgY29tbWFuZC4KKyAgZXhpdAorfQorCitFQ0hPX0M9IEVDSE9fTj0gRUNIT19UPQorY2FzZSBgZWNobyAtbiB4YCBpbiAjKCgoKCgKKy1uKikKKyAgY2FzZSBgZWNobyAneHlcYydgIGluCisgICpjKikgRUNIT19UPScJJzs7CSMgRUNIT19UIGlzIHNpbmdsZSB0YWIgY2hhcmFjdGVyLgorICB4eSkgIEVDSE9fQz0nXGMnOzsKKyAgKikgICBlY2hvIGBlY2hvIGtzaDg4IGJ1ZyBvbiBBSVggNi4xYCA+IC9kZXYvbnVsbAorICAgICAgIEVDSE9fVD0nCSc7OworICBlc2FjOzsKKyopCisgIEVDSE9fTj0nLW4nOzsKK2VzYWMKKworcm0gLWYgY29uZiQkIGNvbmYkJC5leGUgY29uZiQkLmZpbGUKK2lmIHRlc3QgLWQgY29uZiQkLmRpcjsgdGhlbgorICBybSAtZiBjb25mJCQuZGlyL2NvbmYkJC5maWxlCitlbHNlCisgIHJtIC1mIGNvbmYkJC5kaXIKKyAgbWtkaXIgY29uZiQkLmRpciAyPi9kZXYvbnVsbAorZmkKK2lmIChlY2hvID5jb25mJCQuZmlsZSkgMj4vZGV2L251bGw7IHRoZW4KKyAgaWYgbG4gLXMgY29uZiQkLmZpbGUgY29uZiQkIDI+L2Rldi9udWxsOyB0aGVuCisgICAgYXNfbG5fcz0nbG4gLXMnCisgICAgIyAuLi4gYnV0IHRoZXJlIGFyZSB0d28gZ290Y2hhczoKKyAgICAjIDEpIE9uIE1TWVMsIGJvdGggYGxuIC1zIGZpbGUgZGlyJyBhbmQgYGxuIGZpbGUgZGlyJyBmYWlsLgorICAgICMgMikgREpHUFAgPCAyLjA0IGhhcyBubyBzeW1saW5rczsgYGxuIC1zJyBjcmVhdGVzIGEgd3JhcHBlciBleGVjdXRhYmxlLgorICAgICMgSW4gYm90aCBjYXNlcywgd2UgaGF2ZSB0byBkZWZhdWx0IHRvIGBjcCAtcCcuCisgICAgbG4gLXMgY29uZiQkLmZpbGUgY29uZiQkLmRpciAyPi9kZXYvbnVsbCAmJiB0ZXN0ICEgLWYgY29uZiQkLmV4ZSB8fAorICAgICAgYXNfbG5fcz0nY3AgLXAnCisgIGVsaWYgbG4gY29uZiQkLmZpbGUgY29uZiQkIDI+L2Rldi9udWxsOyB0aGVuCisgICAgYXNfbG5fcz1sbgorICBlbHNlCisgICAgYXNfbG5fcz0nY3AgLXAnCisgIGZpCitlbHNlCisgIGFzX2xuX3M9J2NwIC1wJworZmkKK3JtIC1mIGNvbmYkJCBjb25mJCQuZXhlIGNvbmYkJC5kaXIvY29uZiQkLmZpbGUgY29uZiQkLmZpbGUKK3JtZGlyIGNvbmYkJC5kaXIgMj4vZGV2L251bGwKKworaWYgbWtkaXIgLXAgLiAyPi9kZXYvbnVsbDsgdGhlbgorICBhc19ta2Rpcl9wPSdta2RpciAtcCAiJGFzX2RpciInCitlbHNlCisgIHRlc3QgLWQgLi8tcCAmJiBybWRpciAuLy1wCisgIGFzX21rZGlyX3A9ZmFsc2UKK2ZpCisKK2lmIHRlc3QgLXggLyA+L2Rldi9udWxsIDI+JjE7IHRoZW4KKyAgYXNfdGVzdF94PSd0ZXN0IC14JworZWxzZQorICBpZiBscyAtZEwgLyA+L2Rldi9udWxsIDI+JjE7IHRoZW4KKyAgICBhc19sc19MX29wdGlvbj1MCisgIGVsc2UKKyAgICBhc19sc19MX29wdGlvbj0KKyAgZmkKKyAgYXNfdGVzdF94PScKKyAgICBldmFsIHNoIC1jICdcJycKKyAgICAgIGlmIHRlc3QgLWQgIiQxIjsgdGhlbgorCXRlc3QgLWQgIiQxLy4iOworICAgICAgZWxzZQorCWNhc2UgJDEgaW4gIygKKwktKilzZXQgIi4vJDEiOzsKKwllc2FjOworCWNhc2UgYGxzIC1sZCckYXNfbHNfTF9vcHRpb24nICIkMSIgMj4vZGV2L251bGxgIGluICMoKAorCT8/P1tzeF0qKTo7OyopZmFsc2U7O2VzYWM7ZmkKKyAgICAnXCcnIHNoCisgICcKK2ZpCithc19leGVjdXRhYmxlX3A9JGFzX3Rlc3RfeAorCisjIFNlZCBleHByZXNzaW9uIHRvIG1hcCBhIHN0cmluZyBvbnRvIGEgdmFsaWQgQ1BQIG5hbWUuCithc190cl9jcHA9ImV2YWwgc2VkICd5JSokYXNfY3JfbGV0dGVycyVQJGFzX2NyX0xFVFRFUlMlO3MlW15fJGFzX2NyX2FsbnVtXSVfJWcnIgorCisjIFNlZCBleHByZXNzaW9uIHRvIG1hcCBhIHN0cmluZyBvbnRvIGEgdmFsaWQgdmFyaWFibGUgbmFtZS4KK2FzX3RyX3NoPSJldmFsIHNlZCAneSUqKyVwcCU7cyVbXl8kYXNfY3JfYWxudW1dJV8lZyciCisKKwordGVzdCAtbiAiJERKRElSIiB8fCBleGVjIDc8JjAgPC9kZXYvbnVsbAorZXhlYyA2PiYxCisKKyMgTmFtZSBvZiB0aGUgaG9zdC4KKyMgaG9zdG5hbWUgb24gc29tZSBzeXN0ZW1zIChTVlIzLjIsIExpbnV4KSByZXR1cm5zIGEgYm9ndXMgZXhpdCBzdGF0dXMsCisjIHNvIHVuYW1lIGdldHMgcnVuIHRvby4KK2FjX2hvc3RuYW1lPWAoaG9zdG5hbWUgfHwgdW5hbWUgLW4pIDI+L2Rldi9udWxsIHwgc2VkIDFxYAorCisjCisjIEluaXRpYWxpemF0aW9ucy4KKyMKK2FjX2RlZmF1bHRfcHJlZml4PS91c3IvbG9jYWwKK2FjX2NsZWFuX2ZpbGVzPQorYWNfY29uZmlnX2xpYm9ial9kaXI9LgorTElCT0JKUz0KK2Nyb3NzX2NvbXBpbGluZz1ubworc3ViZGlycz0KK01GTEFHUz0KK01BS0VGTEFHUz0KKworIyBJZGVudGl0eSBvZiB0aGlzIHBhY2thZ2UuCitQQUNLQUdFX05BTUU9J3N0cmFjZScKK1BBQ0tBR0VfVEFSTkFNRT0nc3RyYWNlJworUEFDS0FHRV9WRVJTSU9OPSc0LjUuMjAnCitQQUNLQUdFX1NUUklORz0nc3RyYWNlIDQuNS4yMCcKK1BBQ0tBR0VfQlVHUkVQT1JUPScnCitQQUNLQUdFX1VSTD0nJworCithY191bmlxdWVfZmlsZT0ic3RyYWNlLmMiCisjIEZhY3RvcmluZyBkZWZhdWx0IGhlYWRlcnMgZm9yIG1vc3QgdGVzdHMuCithY19pbmNsdWRlc19kZWZhdWx0PSJcCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpZmRlZiBIQVZFX1NZU19UWVBFU19ICisjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICisjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CisjZW5kaWYKKyNpZmRlZiBTVERDX0hFQURFUlMKKyMgaW5jbHVkZSA8c3RkbGliLmg+CisjIGluY2x1ZGUgPHN0ZGRlZi5oPgorI2Vsc2UKKyMgaWZkZWYgSEFWRV9TVERMSUJfSAorIyAgaW5jbHVkZSA8c3RkbGliLmg+CisjIGVuZGlmCisjZW5kaWYKKyNpZmRlZiBIQVZFX1NUUklOR19ICisjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKKyMgIGluY2x1ZGUgPG1lbW9yeS5oPgorIyBlbmRpZgorIyBpbmNsdWRlIDxzdHJpbmcuaD4KKyNlbmRpZgorI2lmZGVmIEhBVkVfU1RSSU5HU19ICisjIGluY2x1ZGUgPHN0cmluZ3MuaD4KKyNlbmRpZgorI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAorIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9TVERJTlRfSAorIyBpbmNsdWRlIDxzdGRpbnQuaD4KKyNlbmRpZgorI2lmZGVmIEhBVkVfVU5JU1REX0gKKyMgaW5jbHVkZSA8dW5pc3RkLmg+CisjZW5kaWYiCisKK2FjX3N1YnN0X3ZhcnM9J2FtX19FWEVFWFRfRkFMU0UKK2FtX19FWEVFWFRfVFJVRQorTFRMSUJPQkpTCitMSUJPQkpTCitQRVJMCitXQVJORkxBR1MKK0VHUkVQCitHUkVQCitDUFAKK2FtX19mYXN0ZGVwQ0NfRkFMU0UKK2FtX19mYXN0ZGVwQ0NfVFJVRQorQ0NERVBNT0RFCithbV9fbm9kZXAKK0FNREVQQkFDS1NMQVNICitBTURFUF9GQUxTRQorQU1ERVBfVFJVRQorYW1fX3F1b3RlCithbV9faW5jbHVkZQorREVQRElSCitPQkpFWFQKK0VYRUVYVAorYWNfY3RfQ0MKK0NQUEZMQUdTCitMREZMQUdTCitDRkxBR1MKK0NDCitGUkVFQlNEX0ZBTFNFCitGUkVFQlNEX1RSVUUKK1NWUjRfRkFMU0UKK1NWUjRfVFJVRQorU1VOT1M0X0ZBTFNFCitTVU5PUzRfVFJVRQorWDg2XzY0X0ZBTFNFCitYODZfNjRfVFJVRQorSTM4Nl9GQUxTRQorSTM4Nl9UUlVFCitMSU5VWF9GQUxTRQorTElOVVhfVFJVRQorYXJjaAorb3BzeXMKK2hvc3Rfb3MKK2hvc3RfdmVuZG9yCitob3N0X2NwdQoraG9zdAorYnVpbGRfb3MKK2J1aWxkX3ZlbmRvcgorYnVpbGRfY3B1CitidWlsZAorTUFJTlQKK01BSU5UQUlORVJfTU9ERV9GQUxTRQorTUFJTlRBSU5FUl9NT0RFX1RSVUUKK2FtX191bnRhcgorYW1fX3RhcgorQU1UQVIKK2FtX19sZWFkaW5nX2RvdAorU0VUX01BS0UKK0FXSworbWtkaXJfcAorTUtESVJfUAorSU5TVEFMTF9TVFJJUF9QUk9HUkFNCitTVFJJUAoraW5zdGFsbF9zaAorTUFLRUlORk8KK0FVVE9IRUFERVIKK0FVVE9NQUtFCitBVVRPQ09ORgorQUNMT0NBTAorVkVSU0lPTgorUEFDS0FHRQorQ1lHUEFUSF9XCithbV9faXNyYworSU5TVEFMTF9EQVRBCitJTlNUQUxMX1NDUklQVAorSU5TVEFMTF9QUk9HUkFNCit0YXJnZXRfYWxpYXMKK2hvc3RfYWxpYXMKK2J1aWxkX2FsaWFzCitMSUJTCitFQ0hPX1QKK0VDSE9fTgorRUNIT19DCitERUZTCittYW5kaXIKK2xvY2FsZWRpcgorbGliZGlyCitwc2RpcgorcGRmZGlyCitkdmlkaXIKK2h0bWxkaXIKK2luZm9kaXIKK2RvY2Rpcgorb2xkaW5jbHVkZWRpcgoraW5jbHVkZWRpcgorbG9jYWxzdGF0ZWRpcgorc2hhcmVkc3RhdGVkaXIKK3N5c2NvbmZkaXIKK2RhdGFkaXIKK2RhdGFyb290ZGlyCitsaWJleGVjZGlyCitzYmluZGlyCitiaW5kaXIKK3Byb2dyYW1fdHJhbnNmb3JtX25hbWUKK3ByZWZpeAorZXhlY19wcmVmaXgKK1BBQ0tBR0VfVVJMCitQQUNLQUdFX0JVR1JFUE9SVAorUEFDS0FHRV9TVFJJTkcKK1BBQ0tBR0VfVkVSU0lPTgorUEFDS0FHRV9UQVJOQU1FCitQQUNLQUdFX05BTUUKK1BBVEhfU0VQQVJBVE9SCitTSEVMTCcKK2FjX3N1YnN0X2ZpbGVzPScnCithY191c2VyX29wdHM9JworZW5hYmxlX29wdGlvbl9jaGVja2luZworZW5hYmxlX21haW50YWluZXJfbW9kZQorZW5hYmxlX2RlcGVuZGVuY3lfdHJhY2tpbmcKKycKKyAgICAgIGFjX3ByZWNpb3VzX3ZhcnM9J2J1aWxkX2FsaWFzCitob3N0X2FsaWFzCit0YXJnZXRfYWxpYXMKK0NDCitDRkxBR1MKK0xERkxBR1MKK0xJQlMKK0NQUEZMQUdTCitDUFAnCisKKworIyBJbml0aWFsaXplIHNvbWUgdmFyaWFibGVzIHNldCBieSBvcHRpb25zLgorYWNfaW5pdF9oZWxwPQorYWNfaW5pdF92ZXJzaW9uPWZhbHNlCithY191bnJlY29nbml6ZWRfb3B0cz0KK2FjX3VucmVjb2duaXplZF9zZXA9CisjIFRoZSB2YXJpYWJsZXMgaGF2ZSB0aGUgc2FtZSBuYW1lcyBhcyB0aGUgb3B0aW9ucywgd2l0aAorIyBkYXNoZXMgY2hhbmdlZCB0byB1bmRlcmxpbmVzLgorY2FjaGVfZmlsZT0vZGV2L251bGwKK2V4ZWNfcHJlZml4PU5PTkUKK25vX2NyZWF0ZT0KK25vX3JlY3Vyc2lvbj0KK3ByZWZpeD1OT05FCitwcm9ncmFtX3ByZWZpeD1OT05FCitwcm9ncmFtX3N1ZmZpeD1OT05FCitwcm9ncmFtX3RyYW5zZm9ybV9uYW1lPXMseCx4LAorc2lsZW50PQorc2l0ZT0KK3NyY2Rpcj0KK3ZlcmJvc2U9Cit4X2luY2x1ZGVzPU5PTkUKK3hfbGlicmFyaWVzPU5PTkUKKworIyBJbnN0YWxsYXRpb24gZGlyZWN0b3J5IG9wdGlvbnMuCisjIFRoZXNlIGFyZSBsZWZ0IHVuZXhwYW5kZWQgc28gdXNlcnMgY2FuICJtYWtlIGluc3RhbGwgZXhlY19wcmVmaXg9L2ZvbyIKKyMgYW5kIGFsbCB0aGUgdmFyaWFibGVzIHRoYXQgYXJlIHN1cHBvc2VkIHRvIGJlIGJhc2VkIG9uIGV4ZWNfcHJlZml4CisjIGJ5IGRlZmF1bHQgd2lsbCBhY3R1YWxseSBjaGFuZ2UuCisjIFVzZSBicmFjZXMgaW5zdGVhZCBvZiBwYXJlbnMgYmVjYXVzZSBzaCwgcGVybCwgZXRjLiBhbHNvIGFjY2VwdCB0aGVtLgorIyAoVGhlIGxpc3QgZm9sbG93cyB0aGUgc2FtZSBvcmRlciBhcyB0aGUgR05VIENvZGluZyBTdGFuZGFyZHMuKQorYmluZGlyPScke2V4ZWNfcHJlZml4fS9iaW4nCitzYmluZGlyPScke2V4ZWNfcHJlZml4fS9zYmluJworbGliZXhlY2Rpcj0nJHtleGVjX3ByZWZpeH0vbGliZXhlYycKK2RhdGFyb290ZGlyPScke3ByZWZpeH0vc2hhcmUnCitkYXRhZGlyPScke2RhdGFyb290ZGlyfScKK3N5c2NvbmZkaXI9JyR7cHJlZml4fS9ldGMnCitzaGFyZWRzdGF0ZWRpcj0nJHtwcmVmaXh9L2NvbScKK2xvY2Fsc3RhdGVkaXI9JyR7cHJlZml4fS92YXInCitpbmNsdWRlZGlyPScke3ByZWZpeH0vaW5jbHVkZScKK29sZGluY2x1ZGVkaXI9Jy91c3IvaW5jbHVkZScKK2RvY2Rpcj0nJHtkYXRhcm9vdGRpcn0vZG9jLyR7UEFDS0FHRV9UQVJOQU1FfScKK2luZm9kaXI9JyR7ZGF0YXJvb3RkaXJ9L2luZm8nCitodG1sZGlyPScke2RvY2Rpcn0nCitkdmlkaXI9JyR7ZG9jZGlyfScKK3BkZmRpcj0nJHtkb2NkaXJ9JworcHNkaXI9JyR7ZG9jZGlyfScKK2xpYmRpcj0nJHtleGVjX3ByZWZpeH0vbGliJworbG9jYWxlZGlyPScke2RhdGFyb290ZGlyfS9sb2NhbGUnCittYW5kaXI9JyR7ZGF0YXJvb3RkaXJ9L21hbicKKworYWNfcHJldj0KK2FjX2Rhc2hkYXNoPQorZm9yIGFjX29wdGlvbgorZG8KKyAgIyBJZiB0aGUgcHJldmlvdXMgb3B0aW9uIG5lZWRzIGFuIGFyZ3VtZW50LCBhc3NpZ24gaXQuCisgIGlmIHRlc3QgLW4gIiRhY19wcmV2IjsgdGhlbgorICAgIGV2YWwgJGFjX3ByZXY9XCRhY19vcHRpb24KKyAgICBhY19wcmV2PQorICAgIGNvbnRpbnVlCisgIGZpCisKKyAgY2FzZSAkYWNfb3B0aW9uIGluCisgICo9KikJYWNfb3B0YXJnPWBleHByICJYJGFjX29wdGlvbiIgOiAnW149XSo9XCguKlwpJ2AgOzsKKyAgKikJYWNfb3B0YXJnPXllcyA7OworICBlc2FjCisKKyAgIyBBY2NlcHQgdGhlIGltcG9ydGFudCBDeWdudXMgY29uZmlndXJlIG9wdGlvbnMsIHNvIHdlIGNhbiBkaWFnbm9zZSB0eXBvcy4KKworICBjYXNlICRhY19kYXNoZGFzaCRhY19vcHRpb24gaW4KKyAgLS0pCisgICAgYWNfZGFzaGRhc2g9eWVzIDs7CisKKyAgLWJpbmRpciB8IC0tYmluZGlyIHwgLS1iaW5kaSB8IC0tYmluZCB8IC0tYmluIHwgLS1iaSkKKyAgICBhY19wcmV2PWJpbmRpciA7OworICAtYmluZGlyPSogfCAtLWJpbmRpcj0qIHwgLS1iaW5kaT0qIHwgLS1iaW5kPSogfCAtLWJpbj0qIHwgLS1iaT0qKQorICAgIGJpbmRpcj0kYWNfb3B0YXJnIDs7CisKKyAgLWJ1aWxkIHwgLS1idWlsZCB8IC0tYnVpbCB8IC0tYnVpIHwgLS1idSkKKyAgICBhY19wcmV2PWJ1aWxkX2FsaWFzIDs7CisgIC1idWlsZD0qIHwgLS1idWlsZD0qIHwgLS1idWlsPSogfCAtLWJ1aT0qIHwgLS1idT0qKQorICAgIGJ1aWxkX2FsaWFzPSRhY19vcHRhcmcgOzsKKworICAtY2FjaGUtZmlsZSB8IC0tY2FjaGUtZmlsZSB8IC0tY2FjaGUtZmlsIHwgLS1jYWNoZS1maSBcCisgIHwgLS1jYWNoZS1mIHwgLS1jYWNoZS0gfCAtLWNhY2hlIHwgLS1jYWNoIHwgLS1jYWMgfCAtLWNhIHwgLS1jKQorICAgIGFjX3ByZXY9Y2FjaGVfZmlsZSA7OworICAtY2FjaGUtZmlsZT0qIHwgLS1jYWNoZS1maWxlPSogfCAtLWNhY2hlLWZpbD0qIHwgLS1jYWNoZS1maT0qIFwKKyAgfCAtLWNhY2hlLWY9KiB8IC0tY2FjaGUtPSogfCAtLWNhY2hlPSogfCAtLWNhY2g9KiB8IC0tY2FjPSogfCAtLWNhPSogfCAtLWM9KikKKyAgICBjYWNoZV9maWxlPSRhY19vcHRhcmcgOzsKKworICAtLWNvbmZpZy1jYWNoZSB8IC1DKQorICAgIGNhY2hlX2ZpbGU9Y29uZmlnLmNhY2hlIDs7CisKKyAgLWRhdGFkaXIgfCAtLWRhdGFkaXIgfCAtLWRhdGFkaSB8IC0tZGF0YWQpCisgICAgYWNfcHJldj1kYXRhZGlyIDs7CisgIC1kYXRhZGlyPSogfCAtLWRhdGFkaXI9KiB8IC0tZGF0YWRpPSogfCAtLWRhdGFkPSopCisgICAgZGF0YWRpcj0kYWNfb3B0YXJnIDs7CisKKyAgLWRhdGFyb290ZGlyIHwgLS1kYXRhcm9vdGRpciB8IC0tZGF0YXJvb3RkaSB8IC0tZGF0YXJvb3RkIHwgLS1kYXRhcm9vdCBcCisgIHwgLS1kYXRhcm9vIHwgLS1kYXRhcm8gfCAtLWRhdGFyKQorICAgIGFjX3ByZXY9ZGF0YXJvb3RkaXIgOzsKKyAgLWRhdGFyb290ZGlyPSogfCAtLWRhdGFyb290ZGlyPSogfCAtLWRhdGFyb290ZGk9KiB8IC0tZGF0YXJvb3RkPSogXAorICB8IC0tZGF0YXJvb3Q9KiB8IC0tZGF0YXJvbz0qIHwgLS1kYXRhcm89KiB8IC0tZGF0YXI9KikKKyAgICBkYXRhcm9vdGRpcj0kYWNfb3B0YXJnIDs7CisKKyAgLWRpc2FibGUtKiB8IC0tZGlzYWJsZS0qKQorICAgIGFjX3VzZXJvcHQ9YGV4cHIgIngkYWNfb3B0aW9uIiA6ICd4LSpkaXNhYmxlLVwoLipcKSdgCisgICAgIyBSZWplY3QgbmFtZXMgdGhhdCBhcmUgbm90IHZhbGlkIHNoZWxsIHZhcmlhYmxlIG5hbWVzLgorICAgIGV4cHIgIngkYWNfdXNlcm9wdCIgOiAiLipbXi0rLl8kYXNfY3JfYWxudW1dIiA+L2Rldi9udWxsICYmCisgICAgICBhc19mbl9lcnJvciAiaW52YWxpZCBmZWF0dXJlIG5hbWU6ICRhY191c2Vyb3B0IgorICAgIGFjX3VzZXJvcHRfb3JpZz0kYWNfdXNlcm9wdAorICAgIGFjX3VzZXJvcHQ9YCRhc19lY2hvICIkYWNfdXNlcm9wdCIgfCBzZWQgJ3MvWy0rLl0vXy9nJ2AKKyAgICBjYXNlICRhY191c2VyX29wdHMgaW4KKyAgICAgICoiCisiZW5hYmxlXyRhY191c2Vyb3B0IgorIiopIDs7CisgICAgICAqKSBhY191bnJlY29nbml6ZWRfb3B0cz0iJGFjX3VucmVjb2duaXplZF9vcHRzJGFjX3VucmVjb2duaXplZF9zZXAtLWRpc2FibGUtJGFjX3VzZXJvcHRfb3JpZyIKKwkgYWNfdW5yZWNvZ25pemVkX3NlcD0nLCAnOzsKKyAgICBlc2FjCisgICAgZXZhbCBlbmFibGVfJGFjX3VzZXJvcHQ9bm8gOzsKKworICAtZG9jZGlyIHwgLS1kb2NkaXIgfCAtLWRvY2RpIHwgLS1kb2MgfCAtLWRvKQorICAgIGFjX3ByZXY9ZG9jZGlyIDs7CisgIC1kb2NkaXI9KiB8IC0tZG9jZGlyPSogfCAtLWRvY2RpPSogfCAtLWRvYz0qIHwgLS1kbz0qKQorICAgIGRvY2Rpcj0kYWNfb3B0YXJnIDs7CisKKyAgLWR2aWRpciB8IC0tZHZpZGlyIHwgLS1kdmlkaSB8IC0tZHZpZCB8IC0tZHZpIHwgLS1kdikKKyAgICBhY19wcmV2PWR2aWRpciA7OworICAtZHZpZGlyPSogfCAtLWR2aWRpcj0qIHwgLS1kdmlkaT0qIHwgLS1kdmlkPSogfCAtLWR2aT0qIHwgLS1kdj0qKQorICAgIGR2aWRpcj0kYWNfb3B0YXJnIDs7CisKKyAgLWVuYWJsZS0qIHwgLS1lbmFibGUtKikKKyAgICBhY191c2Vyb3B0PWBleHByICJ4JGFjX29wdGlvbiIgOiAneC0qZW5hYmxlLVwoW149XSpcKSdgCisgICAgIyBSZWplY3QgbmFtZXMgdGhhdCBhcmUgbm90IHZhbGlkIHNoZWxsIHZhcmlhYmxlIG5hbWVzLgorICAgIGV4cHIgIngkYWNfdXNlcm9wdCIgOiAiLipbXi0rLl8kYXNfY3JfYWxudW1dIiA+L2Rldi9udWxsICYmCisgICAgICBhc19mbl9lcnJvciAiaW52YWxpZCBmZWF0dXJlIG5hbWU6ICRhY191c2Vyb3B0IgorICAgIGFjX3VzZXJvcHRfb3JpZz0kYWNfdXNlcm9wdAorICAgIGFjX3VzZXJvcHQ9YCRhc19lY2hvICIkYWNfdXNlcm9wdCIgfCBzZWQgJ3MvWy0rLl0vXy9nJ2AKKyAgICBjYXNlICRhY191c2VyX29wdHMgaW4KKyAgICAgICoiCisiZW5hYmxlXyRhY191c2Vyb3B0IgorIiopIDs7CisgICAgICAqKSBhY191bnJlY29nbml6ZWRfb3B0cz0iJGFjX3VucmVjb2duaXplZF9vcHRzJGFjX3VucmVjb2duaXplZF9zZXAtLWVuYWJsZS0kYWNfdXNlcm9wdF9vcmlnIgorCSBhY191bnJlY29nbml6ZWRfc2VwPScsICc7OworICAgIGVzYWMKKyAgICBldmFsIGVuYWJsZV8kYWNfdXNlcm9wdD1cJGFjX29wdGFyZyA7OworCisgIC1leGVjLXByZWZpeCB8IC0tZXhlY19wcmVmaXggfCAtLWV4ZWMtcHJlZml4IHwgLS1leGVjLXByZWZpIFwKKyAgfCAtLWV4ZWMtcHJlZiB8IC0tZXhlYy1wcmUgfCAtLWV4ZWMtcHIgfCAtLWV4ZWMtcCB8IC0tZXhlYy0gXAorICB8IC0tZXhlYyB8IC0tZXhlIHwgLS1leCkKKyAgICBhY19wcmV2PWV4ZWNfcHJlZml4IDs7CisgIC1leGVjLXByZWZpeD0qIHwgLS1leGVjX3ByZWZpeD0qIHwgLS1leGVjLXByZWZpeD0qIHwgLS1leGVjLXByZWZpPSogXAorICB8IC0tZXhlYy1wcmVmPSogfCAtLWV4ZWMtcHJlPSogfCAtLWV4ZWMtcHI9KiB8IC0tZXhlYy1wPSogfCAtLWV4ZWMtPSogXAorICB8IC0tZXhlYz0qIHwgLS1leGU9KiB8IC0tZXg9KikKKyAgICBleGVjX3ByZWZpeD0kYWNfb3B0YXJnIDs7CisKKyAgLWdhcyB8IC0tZ2FzIHwgLS1nYSB8IC0tZykKKyAgICAjIE9ic29sZXRlOyB1c2UgLS13aXRoLWdhcy4KKyAgICB3aXRoX2dhcz15ZXMgOzsKKworICAtaGVscCB8IC0taGVscCB8IC0taGVsIHwgLS1oZSB8IC1oKQorICAgIGFjX2luaXRfaGVscD1sb25nIDs7CisgIC1oZWxwPXIqIHwgLS1oZWxwPXIqIHwgLS1oZWw9ciogfCAtLWhlPXIqIHwgLWhyKikKKyAgICBhY19pbml0X2hlbHA9cmVjdXJzaXZlIDs7CisgIC1oZWxwPXMqIHwgLS1oZWxwPXMqIHwgLS1oZWw9cyogfCAtLWhlPXMqIHwgLWhzKikKKyAgICBhY19pbml0X2hlbHA9c2hvcnQgOzsKKworICAtaG9zdCB8IC0taG9zdCB8IC0taG9zIHwgLS1obykKKyAgICBhY19wcmV2PWhvc3RfYWxpYXMgOzsKKyAgLWhvc3Q9KiB8IC0taG9zdD0qIHwgLS1ob3M9KiB8IC0taG89KikKKyAgICBob3N0X2FsaWFzPSRhY19vcHRhcmcgOzsKKworICAtaHRtbGRpciB8IC0taHRtbGRpciB8IC0taHRtbGRpIHwgLS1odG1sZCB8IC0taHRtbCB8IC0taHRtIHwgLS1odCkKKyAgICBhY19wcmV2PWh0bWxkaXIgOzsKKyAgLWh0bWxkaXI9KiB8IC0taHRtbGRpcj0qIHwgLS1odG1sZGk9KiB8IC0taHRtbGQ9KiB8IC0taHRtbD0qIHwgLS1odG09KiBcCisgIHwgLS1odD0qKQorICAgIGh0bWxkaXI9JGFjX29wdGFyZyA7OworCisgIC1pbmNsdWRlZGlyIHwgLS1pbmNsdWRlZGlyIHwgLS1pbmNsdWRlZGkgfCAtLWluY2x1ZGVkIHwgLS1pbmNsdWRlIFwKKyAgfCAtLWluY2x1ZCB8IC0taW5jbHUgfCAtLWluY2wgfCAtLWluYykKKyAgICBhY19wcmV2PWluY2x1ZGVkaXIgOzsKKyAgLWluY2x1ZGVkaXI9KiB8IC0taW5jbHVkZWRpcj0qIHwgLS1pbmNsdWRlZGk9KiB8IC0taW5jbHVkZWQ9KiB8IC0taW5jbHVkZT0qIFwKKyAgfCAtLWluY2x1ZD0qIHwgLS1pbmNsdT0qIHwgLS1pbmNsPSogfCAtLWluYz0qKQorICAgIGluY2x1ZGVkaXI9JGFjX29wdGFyZyA7OworCisgIC1pbmZvZGlyIHwgLS1pbmZvZGlyIHwgLS1pbmZvZGkgfCAtLWluZm9kIHwgLS1pbmZvIHwgLS1pbmYpCisgICAgYWNfcHJldj1pbmZvZGlyIDs7CisgIC1pbmZvZGlyPSogfCAtLWluZm9kaXI9KiB8IC0taW5mb2RpPSogfCAtLWluZm9kPSogfCAtLWluZm89KiB8IC0taW5mPSopCisgICAgaW5mb2Rpcj0kYWNfb3B0YXJnIDs7CisKKyAgLWxpYmRpciB8IC0tbGliZGlyIHwgLS1saWJkaSB8IC0tbGliZCkKKyAgICBhY19wcmV2PWxpYmRpciA7OworICAtbGliZGlyPSogfCAtLWxpYmRpcj0qIHwgLS1saWJkaT0qIHwgLS1saWJkPSopCisgICAgbGliZGlyPSRhY19vcHRhcmcgOzsKKworICAtbGliZXhlY2RpciB8IC0tbGliZXhlY2RpciB8IC0tbGliZXhlY2RpIHwgLS1saWJleGVjZCB8IC0tbGliZXhlYyBcCisgIHwgLS1saWJleGUgfCAtLWxpYmV4IHwgLS1saWJlKQorICAgIGFjX3ByZXY9bGliZXhlY2RpciA7OworICAtbGliZXhlY2Rpcj0qIHwgLS1saWJleGVjZGlyPSogfCAtLWxpYmV4ZWNkaT0qIHwgLS1saWJleGVjZD0qIHwgLS1saWJleGVjPSogXAorICB8IC0tbGliZXhlPSogfCAtLWxpYmV4PSogfCAtLWxpYmU9KikKKyAgICBsaWJleGVjZGlyPSRhY19vcHRhcmcgOzsKKworICAtbG9jYWxlZGlyIHwgLS1sb2NhbGVkaXIgfCAtLWxvY2FsZWRpIHwgLS1sb2NhbGVkIHwgLS1sb2NhbGUpCisgICAgYWNfcHJldj1sb2NhbGVkaXIgOzsKKyAgLWxvY2FsZWRpcj0qIHwgLS1sb2NhbGVkaXI9KiB8IC0tbG9jYWxlZGk9KiB8IC0tbG9jYWxlZD0qIHwgLS1sb2NhbGU9KikKKyAgICBsb2NhbGVkaXI9JGFjX29wdGFyZyA7OworCisgIC1sb2NhbHN0YXRlZGlyIHwgLS1sb2NhbHN0YXRlZGlyIHwgLS1sb2NhbHN0YXRlZGkgfCAtLWxvY2Fsc3RhdGVkIFwKKyAgfCAtLWxvY2Fsc3RhdGUgfCAtLWxvY2Fsc3RhdCB8IC0tbG9jYWxzdGEgfCAtLWxvY2Fsc3QgfCAtLWxvY2FscykKKyAgICBhY19wcmV2PWxvY2Fsc3RhdGVkaXIgOzsKKyAgLWxvY2Fsc3RhdGVkaXI9KiB8IC0tbG9jYWxzdGF0ZWRpcj0qIHwgLS1sb2NhbHN0YXRlZGk9KiB8IC0tbG9jYWxzdGF0ZWQ9KiBcCisgIHwgLS1sb2NhbHN0YXRlPSogfCAtLWxvY2Fsc3RhdD0qIHwgLS1sb2NhbHN0YT0qIHwgLS1sb2NhbHN0PSogfCAtLWxvY2Fscz0qKQorICAgIGxvY2Fsc3RhdGVkaXI9JGFjX29wdGFyZyA7OworCisgIC1tYW5kaXIgfCAtLW1hbmRpciB8IC0tbWFuZGkgfCAtLW1hbmQgfCAtLW1hbiB8IC0tbWEgfCAtLW0pCisgICAgYWNfcHJldj1tYW5kaXIgOzsKKyAgLW1hbmRpcj0qIHwgLS1tYW5kaXI9KiB8IC0tbWFuZGk9KiB8IC0tbWFuZD0qIHwgLS1tYW49KiB8IC0tbWE9KiB8IC0tbT0qKQorICAgIG1hbmRpcj0kYWNfb3B0YXJnIDs7CisKKyAgLW5mcCB8IC0tbmZwIHwgLS1uZikKKyAgICAjIE9ic29sZXRlOyB1c2UgLS13aXRob3V0LWZwLgorICAgIHdpdGhfZnA9bm8gOzsKKworICAtbm8tY3JlYXRlIHwgLS1uby1jcmVhdGUgfCAtLW5vLWNyZWF0IHwgLS1uby1jcmVhIHwgLS1uby1jcmUgXAorICB8IC0tbm8tY3IgfCAtLW5vLWMgfCAtbikKKyAgICBub19jcmVhdGU9eWVzIDs7CisKKyAgLW5vLXJlY3Vyc2lvbiB8IC0tbm8tcmVjdXJzaW9uIHwgLS1uby1yZWN1cnNpbyB8IC0tbm8tcmVjdXJzaSBcCisgIHwgLS1uby1yZWN1cnMgfCAtLW5vLXJlY3VyIHwgLS1uby1yZWN1IHwgLS1uby1yZWMgfCAtLW5vLXJlIHwgLS1uby1yKQorICAgIG5vX3JlY3Vyc2lvbj15ZXMgOzsKKworICAtb2xkaW5jbHVkZWRpciB8IC0tb2xkaW5jbHVkZWRpciB8IC0tb2xkaW5jbHVkZWRpIHwgLS1vbGRpbmNsdWRlZCBcCisgIHwgLS1vbGRpbmNsdWRlIHwgLS1vbGRpbmNsdWQgfCAtLW9sZGluY2x1IHwgLS1vbGRpbmNsIHwgLS1vbGRpbmMgXAorICB8IC0tb2xkaW4gfCAtLW9sZGkgfCAtLW9sZCB8IC0tb2wgfCAtLW8pCisgICAgYWNfcHJldj1vbGRpbmNsdWRlZGlyIDs7CisgIC1vbGRpbmNsdWRlZGlyPSogfCAtLW9sZGluY2x1ZGVkaXI9KiB8IC0tb2xkaW5jbHVkZWRpPSogfCAtLW9sZGluY2x1ZGVkPSogXAorICB8IC0tb2xkaW5jbHVkZT0qIHwgLS1vbGRpbmNsdWQ9KiB8IC0tb2xkaW5jbHU9KiB8IC0tb2xkaW5jbD0qIHwgLS1vbGRpbmM9KiBcCisgIHwgLS1vbGRpbj0qIHwgLS1vbGRpPSogfCAtLW9sZD0qIHwgLS1vbD0qIHwgLS1vPSopCisgICAgb2xkaW5jbHVkZWRpcj0kYWNfb3B0YXJnIDs7CisKKyAgLXByZWZpeCB8IC0tcHJlZml4IHwgLS1wcmVmaSB8IC0tcHJlZiB8IC0tcHJlIHwgLS1wciB8IC0tcCkKKyAgICBhY19wcmV2PXByZWZpeCA7OworICAtcHJlZml4PSogfCAtLXByZWZpeD0qIHwgLS1wcmVmaT0qIHwgLS1wcmVmPSogfCAtLXByZT0qIHwgLS1wcj0qIHwgLS1wPSopCisgICAgcHJlZml4PSRhY19vcHRhcmcgOzsKKworICAtcHJvZ3JhbS1wcmVmaXggfCAtLXByb2dyYW0tcHJlZml4IHwgLS1wcm9ncmFtLXByZWZpIHwgLS1wcm9ncmFtLXByZWYgXAorICB8IC0tcHJvZ3JhbS1wcmUgfCAtLXByb2dyYW0tcHIgfCAtLXByb2dyYW0tcCkKKyAgICBhY19wcmV2PXByb2dyYW1fcHJlZml4IDs7CisgIC1wcm9ncmFtLXByZWZpeD0qIHwgLS1wcm9ncmFtLXByZWZpeD0qIHwgLS1wcm9ncmFtLXByZWZpPSogXAorICB8IC0tcHJvZ3JhbS1wcmVmPSogfCAtLXByb2dyYW0tcHJlPSogfCAtLXByb2dyYW0tcHI9KiB8IC0tcHJvZ3JhbS1wPSopCisgICAgcHJvZ3JhbV9wcmVmaXg9JGFjX29wdGFyZyA7OworCisgIC1wcm9ncmFtLXN1ZmZpeCB8IC0tcHJvZ3JhbS1zdWZmaXggfCAtLXByb2dyYW0tc3VmZmkgfCAtLXByb2dyYW0tc3VmZiBcCisgIHwgLS1wcm9ncmFtLXN1ZiB8IC0tcHJvZ3JhbS1zdSB8IC0tcHJvZ3JhbS1zKQorICAgIGFjX3ByZXY9cHJvZ3JhbV9zdWZmaXggOzsKKyAgLXByb2dyYW0tc3VmZml4PSogfCAtLXByb2dyYW0tc3VmZml4PSogfCAtLXByb2dyYW0tc3VmZmk9KiBcCisgIHwgLS1wcm9ncmFtLXN1ZmY9KiB8IC0tcHJvZ3JhbS1zdWY9KiB8IC0tcHJvZ3JhbS1zdT0qIHwgLS1wcm9ncmFtLXM9KikKKyAgICBwcm9ncmFtX3N1ZmZpeD0kYWNfb3B0YXJnIDs7CisKKyAgLXByb2dyYW0tdHJhbnNmb3JtLW5hbWUgfCAtLXByb2dyYW0tdHJhbnNmb3JtLW5hbWUgXAorICB8IC0tcHJvZ3JhbS10cmFuc2Zvcm0tbmFtIHwgLS1wcm9ncmFtLXRyYW5zZm9ybS1uYSBcCisgIHwgLS1wcm9ncmFtLXRyYW5zZm9ybS1uIHwgLS1wcm9ncmFtLXRyYW5zZm9ybS0gXAorICB8IC0tcHJvZ3JhbS10cmFuc2Zvcm0gfCAtLXByb2dyYW0tdHJhbnNmb3IgXAorICB8IC0tcHJvZ3JhbS10cmFuc2ZvIHwgLS1wcm9ncmFtLXRyYW5zZiBcCisgIHwgLS1wcm9ncmFtLXRyYW5zIHwgLS1wcm9ncmFtLXRyYW4gXAorICB8IC0tcHJvZ3ItdHJhIHwgLS1wcm9ncmFtLXRyIHwgLS1wcm9ncmFtLXQpCisgICAgYWNfcHJldj1wcm9ncmFtX3RyYW5zZm9ybV9uYW1lIDs7CisgIC1wcm9ncmFtLXRyYW5zZm9ybS1uYW1lPSogfCAtLXByb2dyYW0tdHJhbnNmb3JtLW5hbWU9KiBcCisgIHwgLS1wcm9ncmFtLXRyYW5zZm9ybS1uYW09KiB8IC0tcHJvZ3JhbS10cmFuc2Zvcm0tbmE9KiBcCisgIHwgLS1wcm9ncmFtLXRyYW5zZm9ybS1uPSogfCAtLXByb2dyYW0tdHJhbnNmb3JtLT0qIFwKKyAgfCAtLXByb2dyYW0tdHJhbnNmb3JtPSogfCAtLXByb2dyYW0tdHJhbnNmb3I9KiBcCisgIHwgLS1wcm9ncmFtLXRyYW5zZm89KiB8IC0tcHJvZ3JhbS10cmFuc2Y9KiBcCisgIHwgLS1wcm9ncmFtLXRyYW5zPSogfCAtLXByb2dyYW0tdHJhbj0qIFwKKyAgfCAtLXByb2dyLXRyYT0qIHwgLS1wcm9ncmFtLXRyPSogfCAtLXByb2dyYW0tdD0qKQorICAgIHByb2dyYW1fdHJhbnNmb3JtX25hbWU9JGFjX29wdGFyZyA7OworCisgIC1wZGZkaXIgfCAtLXBkZmRpciB8IC0tcGRmZGkgfCAtLXBkZmQgfCAtLXBkZiB8IC0tcGQpCisgICAgYWNfcHJldj1wZGZkaXIgOzsKKyAgLXBkZmRpcj0qIHwgLS1wZGZkaXI9KiB8IC0tcGRmZGk9KiB8IC0tcGRmZD0qIHwgLS1wZGY9KiB8IC0tcGQ9KikKKyAgICBwZGZkaXI9JGFjX29wdGFyZyA7OworCisgIC1wc2RpciB8IC0tcHNkaXIgfCAtLXBzZGkgfCAtLXBzZCB8IC0tcHMpCisgICAgYWNfcHJldj1wc2RpciA7OworICAtcHNkaXI9KiB8IC0tcHNkaXI9KiB8IC0tcHNkaT0qIHwgLS1wc2Q9KiB8IC0tcHM9KikKKyAgICBwc2Rpcj0kYWNfb3B0YXJnIDs7CisKKyAgLXEgfCAtcXVpZXQgfCAtLXF1aWV0IHwgLS1xdWllIHwgLS1xdWkgfCAtLXF1IHwgLS1xIFwKKyAgfCAtc2lsZW50IHwgLS1zaWxlbnQgfCAtLXNpbGVuIHwgLS1zaWxlIHwgLS1zaWwpCisgICAgc2lsZW50PXllcyA7OworCisgIC1zYmluZGlyIHwgLS1zYmluZGlyIHwgLS1zYmluZGkgfCAtLXNiaW5kIHwgLS1zYmluIHwgLS1zYmkgfCAtLXNiKQorICAgIGFjX3ByZXY9c2JpbmRpciA7OworICAtc2JpbmRpcj0qIHwgLS1zYmluZGlyPSogfCAtLXNiaW5kaT0qIHwgLS1zYmluZD0qIHwgLS1zYmluPSogXAorICB8IC0tc2JpPSogfCAtLXNiPSopCisgICAgc2JpbmRpcj0kYWNfb3B0YXJnIDs7CisKKyAgLXNoYXJlZHN0YXRlZGlyIHwgLS1zaGFyZWRzdGF0ZWRpciB8IC0tc2hhcmVkc3RhdGVkaSBcCisgIHwgLS1zaGFyZWRzdGF0ZWQgfCAtLXNoYXJlZHN0YXRlIHwgLS1zaGFyZWRzdGF0IHwgLS1zaGFyZWRzdGEgXAorICB8IC0tc2hhcmVkc3QgfCAtLXNoYXJlZHMgfCAtLXNoYXJlZCB8IC0tc2hhcmUgfCAtLXNoYXIgXAorICB8IC0tc2hhIHwgLS1zaCkKKyAgICBhY19wcmV2PXNoYXJlZHN0YXRlZGlyIDs7CisgIC1zaGFyZWRzdGF0ZWRpcj0qIHwgLS1zaGFyZWRzdGF0ZWRpcj0qIHwgLS1zaGFyZWRzdGF0ZWRpPSogXAorICB8IC0tc2hhcmVkc3RhdGVkPSogfCAtLXNoYXJlZHN0YXRlPSogfCAtLXNoYXJlZHN0YXQ9KiB8IC0tc2hhcmVkc3RhPSogXAorICB8IC0tc2hhcmVkc3Q9KiB8IC0tc2hhcmVkcz0qIHwgLS1zaGFyZWQ9KiB8IC0tc2hhcmU9KiB8IC0tc2hhcj0qIFwKKyAgfCAtLXNoYT0qIHwgLS1zaD0qKQorICAgIHNoYXJlZHN0YXRlZGlyPSRhY19vcHRhcmcgOzsKKworICAtc2l0ZSB8IC0tc2l0ZSB8IC0tc2l0KQorICAgIGFjX3ByZXY9c2l0ZSA7OworICAtc2l0ZT0qIHwgLS1zaXRlPSogfCAtLXNpdD0qKQorICAgIHNpdGU9JGFjX29wdGFyZyA7OworCisgIC1zcmNkaXIgfCAtLXNyY2RpciB8IC0tc3JjZGkgfCAtLXNyY2QgfCAtLXNyYyB8IC0tc3IpCisgICAgYWNfcHJldj1zcmNkaXIgOzsKKyAgLXNyY2Rpcj0qIHwgLS1zcmNkaXI9KiB8IC0tc3JjZGk9KiB8IC0tc3JjZD0qIHwgLS1zcmM9KiB8IC0tc3I9KikKKyAgICBzcmNkaXI9JGFjX29wdGFyZyA7OworCisgIC1zeXNjb25mZGlyIHwgLS1zeXNjb25mZGlyIHwgLS1zeXNjb25mZGkgfCAtLXN5c2NvbmZkIHwgLS1zeXNjb25mIFwKKyAgfCAtLXN5c2NvbiB8IC0tc3lzY28gfCAtLXN5c2MgfCAtLXN5cyB8IC0tc3kpCisgICAgYWNfcHJldj1zeXNjb25mZGlyIDs7CisgIC1zeXNjb25mZGlyPSogfCAtLXN5c2NvbmZkaXI9KiB8IC0tc3lzY29uZmRpPSogfCAtLXN5c2NvbmZkPSogfCAtLXN5c2NvbmY9KiBcCisgIHwgLS1zeXNjb249KiB8IC0tc3lzY289KiB8IC0tc3lzYz0qIHwgLS1zeXM9KiB8IC0tc3k9KikKKyAgICBzeXNjb25mZGlyPSRhY19vcHRhcmcgOzsKKworICAtdGFyZ2V0IHwgLS10YXJnZXQgfCAtLXRhcmdlIHwgLS10YXJnIHwgLS10YXIgfCAtLXRhIHwgLS10KQorICAgIGFjX3ByZXY9dGFyZ2V0X2FsaWFzIDs7CisgIC10YXJnZXQ9KiB8IC0tdGFyZ2V0PSogfCAtLXRhcmdlPSogfCAtLXRhcmc9KiB8IC0tdGFyPSogfCAtLXRhPSogfCAtLXQ9KikKKyAgICB0YXJnZXRfYWxpYXM9JGFjX29wdGFyZyA7OworCisgIC12IHwgLXZlcmJvc2UgfCAtLXZlcmJvc2UgfCAtLXZlcmJvcyB8IC0tdmVyYm8gfCAtLXZlcmIpCisgICAgdmVyYm9zZT15ZXMgOzsKKworICAtdmVyc2lvbiB8IC0tdmVyc2lvbiB8IC0tdmVyc2lvIHwgLS12ZXJzaSB8IC0tdmVycyB8IC1WKQorICAgIGFjX2luaXRfdmVyc2lvbj06IDs7CisKKyAgLXdpdGgtKiB8IC0td2l0aC0qKQorICAgIGFjX3VzZXJvcHQ9YGV4cHIgIngkYWNfb3B0aW9uIiA6ICd4LSp3aXRoLVwoW149XSpcKSdgCisgICAgIyBSZWplY3QgbmFtZXMgdGhhdCBhcmUgbm90IHZhbGlkIHNoZWxsIHZhcmlhYmxlIG5hbWVzLgorICAgIGV4cHIgIngkYWNfdXNlcm9wdCIgOiAiLipbXi0rLl8kYXNfY3JfYWxudW1dIiA+L2Rldi9udWxsICYmCisgICAgICBhc19mbl9lcnJvciAiaW52YWxpZCBwYWNrYWdlIG5hbWU6ICRhY191c2Vyb3B0IgorICAgIGFjX3VzZXJvcHRfb3JpZz0kYWNfdXNlcm9wdAorICAgIGFjX3VzZXJvcHQ9YCRhc19lY2hvICIkYWNfdXNlcm9wdCIgfCBzZWQgJ3MvWy0rLl0vXy9nJ2AKKyAgICBjYXNlICRhY191c2VyX29wdHMgaW4KKyAgICAgICoiCisid2l0aF8kYWNfdXNlcm9wdCIKKyIqKSA7OworICAgICAgKikgYWNfdW5yZWNvZ25pemVkX29wdHM9IiRhY191bnJlY29nbml6ZWRfb3B0cyRhY191bnJlY29nbml6ZWRfc2VwLS13aXRoLSRhY191c2Vyb3B0X29yaWciCisJIGFjX3VucmVjb2duaXplZF9zZXA9JywgJzs7CisgICAgZXNhYworICAgIGV2YWwgd2l0aF8kYWNfdXNlcm9wdD1cJGFjX29wdGFyZyA7OworCisgIC13aXRob3V0LSogfCAtLXdpdGhvdXQtKikKKyAgICBhY191c2Vyb3B0PWBleHByICJ4JGFjX29wdGlvbiIgOiAneC0qd2l0aG91dC1cKC4qXCknYAorICAgICMgUmVqZWN0IG5hbWVzIHRoYXQgYXJlIG5vdCB2YWxpZCBzaGVsbCB2YXJpYWJsZSBuYW1lcy4KKyAgICBleHByICJ4JGFjX3VzZXJvcHQiIDogIi4qW14tKy5fJGFzX2NyX2FsbnVtXSIgPi9kZXYvbnVsbCAmJgorICAgICAgYXNfZm5fZXJyb3IgImludmFsaWQgcGFja2FnZSBuYW1lOiAkYWNfdXNlcm9wdCIKKyAgICBhY191c2Vyb3B0X29yaWc9JGFjX3VzZXJvcHQKKyAgICBhY191c2Vyb3B0PWAkYXNfZWNobyAiJGFjX3VzZXJvcHQiIHwgc2VkICdzL1stKy5dL18vZydgCisgICAgY2FzZSAkYWNfdXNlcl9vcHRzIGluCisgICAgICAqIgorIndpdGhfJGFjX3VzZXJvcHQiCisiKikgOzsKKyAgICAgICopIGFjX3VucmVjb2duaXplZF9vcHRzPSIkYWNfdW5yZWNvZ25pemVkX29wdHMkYWNfdW5yZWNvZ25pemVkX3NlcC0td2l0aG91dC0kYWNfdXNlcm9wdF9vcmlnIgorCSBhY191bnJlY29nbml6ZWRfc2VwPScsICc7OworICAgIGVzYWMKKyAgICBldmFsIHdpdGhfJGFjX3VzZXJvcHQ9bm8gOzsKKworICAtLXgpCisgICAgIyBPYnNvbGV0ZTsgdXNlIC0td2l0aC14LgorICAgIHdpdGhfeD15ZXMgOzsKKworICAteC1pbmNsdWRlcyB8IC0teC1pbmNsdWRlcyB8IC0teC1pbmNsdWRlIHwgLS14LWluY2x1ZCB8IC0teC1pbmNsdSBcCisgIHwgLS14LWluY2wgfCAtLXgtaW5jIHwgLS14LWluIHwgLS14LWkpCisgICAgYWNfcHJldj14X2luY2x1ZGVzIDs7CisgIC14LWluY2x1ZGVzPSogfCAtLXgtaW5jbHVkZXM9KiB8IC0teC1pbmNsdWRlPSogfCAtLXgtaW5jbHVkPSogfCAtLXgtaW5jbHU9KiBcCisgIHwgLS14LWluY2w9KiB8IC0teC1pbmM9KiB8IC0teC1pbj0qIHwgLS14LWk9KikKKyAgICB4X2luY2x1ZGVzPSRhY19vcHRhcmcgOzsKKworICAteC1saWJyYXJpZXMgfCAtLXgtbGlicmFyaWVzIHwgLS14LWxpYnJhcmllIHwgLS14LWxpYnJhcmkgXAorICB8IC0teC1saWJyYXIgfCAtLXgtbGlicmEgfCAtLXgtbGliciB8IC0teC1saWIgfCAtLXgtbGkgfCAtLXgtbCkKKyAgICBhY19wcmV2PXhfbGlicmFyaWVzIDs7CisgIC14LWxpYnJhcmllcz0qIHwgLS14LWxpYnJhcmllcz0qIHwgLS14LWxpYnJhcmllPSogfCAtLXgtbGlicmFyaT0qIFwKKyAgfCAtLXgtbGlicmFyPSogfCAtLXgtbGlicmE9KiB8IC0teC1saWJyPSogfCAtLXgtbGliPSogfCAtLXgtbGk9KiB8IC0teC1sPSopCisgICAgeF9saWJyYXJpZXM9JGFjX29wdGFyZyA7OworCisgIC0qKSBhc19mbl9lcnJvciAidW5yZWNvZ25pemVkIG9wdGlvbjogXGAkYWNfb3B0aW9uJworVHJ5IFxgJDAgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4iCisgICAgOzsKKworICAqPSopCisgICAgYWNfZW52dmFyPWBleHByICJ4JGFjX29wdGlvbiIgOiAneFwoW149XSpcKT0nYAorICAgICMgUmVqZWN0IG5hbWVzIHRoYXQgYXJlIG5vdCB2YWxpZCBzaGVsbCB2YXJpYWJsZSBuYW1lcy4KKyAgICBjYXNlICRhY19lbnZ2YXIgaW4gIygKKyAgICAgICcnIHwgWzAtOV0qIHwgKlshXyRhc19jcl9hbG51bV0qICkKKyAgICAgIGFzX2ZuX2Vycm9yICJpbnZhbGlkIHZhcmlhYmxlIG5hbWU6IFxgJGFjX2VudnZhciciIDs7CisgICAgZXNhYworICAgIGV2YWwgJGFjX2VudnZhcj1cJGFjX29wdGFyZworICAgIGV4cG9ydCAkYWNfZW52dmFyIDs7CisKKyAgKikKKyAgICAjIEZJWE1FOiBzaG91bGQgYmUgcmVtb3ZlZCBpbiBhdXRvY29uZiAzLjAuCisgICAgJGFzX2VjaG8gIiRhc19tZTogV0FSTklORzogeW91IHNob3VsZCB1c2UgLS1idWlsZCwgLS1ob3N0LCAtLXRhcmdldCIgPiYyCisgICAgZXhwciAieCRhY19vcHRpb24iIDogIi4qW14tLl8kYXNfY3JfYWxudW1dIiA+L2Rldi9udWxsICYmCisgICAgICAkYXNfZWNobyAiJGFzX21lOiBXQVJOSU5HOiBpbnZhbGlkIGhvc3QgdHlwZTogJGFjX29wdGlvbiIgPiYyCisgICAgOiAke2J1aWxkX2FsaWFzPSRhY19vcHRpb259ICR7aG9zdF9hbGlhcz0kYWNfb3B0aW9ufSAke3RhcmdldF9hbGlhcz0kYWNfb3B0aW9ufQorICAgIDs7CisKKyAgZXNhYworZG9uZQorCitpZiB0ZXN0IC1uICIkYWNfcHJldiI7IHRoZW4KKyAgYWNfb3B0aW9uPS0tYGVjaG8gJGFjX3ByZXYgfCBzZWQgJ3MvXy8tL2cnYAorICBhc19mbl9lcnJvciAibWlzc2luZyBhcmd1bWVudCB0byAkYWNfb3B0aW9uIgorZmkKKworaWYgdGVzdCAtbiAiJGFjX3VucmVjb2duaXplZF9vcHRzIjsgdGhlbgorICBjYXNlICRlbmFibGVfb3B0aW9uX2NoZWNraW5nIGluCisgICAgbm8pIDs7CisgICAgZmF0YWwpIGFzX2ZuX2Vycm9yICJ1bnJlY29nbml6ZWQgb3B0aW9uczogJGFjX3VucmVjb2duaXplZF9vcHRzIiA7OworICAgICopICAgICAkYXNfZWNobyAiJGFzX21lOiBXQVJOSU5HOiB1bnJlY29nbml6ZWQgb3B0aW9uczogJGFjX3VucmVjb2duaXplZF9vcHRzIiA+JjIgOzsKKyAgZXNhYworZmkKKworIyBDaGVjayBhbGwgZGlyZWN0b3J5IGFyZ3VtZW50cyBmb3IgY29uc2lzdGVuY3kuCitmb3IgYWNfdmFyIGluCWV4ZWNfcHJlZml4IHByZWZpeCBiaW5kaXIgc2JpbmRpciBsaWJleGVjZGlyIGRhdGFyb290ZGlyIFwKKwkJZGF0YWRpciBzeXNjb25mZGlyIHNoYXJlZHN0YXRlZGlyIGxvY2Fsc3RhdGVkaXIgaW5jbHVkZWRpciBcCisJCW9sZGluY2x1ZGVkaXIgZG9jZGlyIGluZm9kaXIgaHRtbGRpciBkdmlkaXIgcGRmZGlyIHBzZGlyIFwKKwkJbGliZGlyIGxvY2FsZWRpciBtYW5kaXIKK2RvCisgIGV2YWwgYWNfdmFsPVwkJGFjX3ZhcgorICAjIFJlbW92ZSB0cmFpbGluZyBzbGFzaGVzLgorICBjYXNlICRhY192YWwgaW4KKyAgICAqLyApCisgICAgICBhY192YWw9YGV4cHIgIlgkYWNfdmFsIiA6ICdYXCguKlteL11cKScgXHwgIlgkYWNfdmFsIiA6ICdYXCguKlwpJ2AKKyAgICAgIGV2YWwgJGFjX3Zhcj1cJGFjX3ZhbDs7CisgIGVzYWMKKyAgIyBCZSBzdXJlIHRvIGhhdmUgYWJzb2x1dGUgZGlyZWN0b3J5IG5hbWVzLgorICBjYXNlICRhY192YWwgaW4KKyAgICBbXFwvJF0qIHwgPzpbXFwvXSogKSAgY29udGludWU7OworICAgIE5PTkUgfCAnJyApIGNhc2UgJGFjX3ZhciBpbiAqcHJlZml4ICkgY29udGludWU7OyBlc2FjOzsKKyAgZXNhYworICBhc19mbl9lcnJvciAiZXhwZWN0ZWQgYW4gYWJzb2x1dGUgZGlyZWN0b3J5IG5hbWUgZm9yIC0tJGFjX3ZhcjogJGFjX3ZhbCIKK2RvbmUKKworIyBUaGVyZSBtaWdodCBiZSBwZW9wbGUgd2hvIGRlcGVuZCBvbiB0aGUgb2xkIGJyb2tlbiBiZWhhdmlvcjogYCRob3N0JworIyB1c2VkIHRvIGhvbGQgdGhlIGFyZ3VtZW50IG9mIC0taG9zdCBldGMuCisjIEZJWE1FOiBUbyByZW1vdmUgc29tZSBkYXkuCitidWlsZD0kYnVpbGRfYWxpYXMKK2hvc3Q9JGhvc3RfYWxpYXMKK3RhcmdldD0kdGFyZ2V0X2FsaWFzCisKKyMgRklYTUU6IFRvIHJlbW92ZSBzb21lIGRheS4KK2lmIHRlc3QgIngkaG9zdF9hbGlhcyIgIT0geDsgdGhlbgorICBpZiB0ZXN0ICJ4JGJ1aWxkX2FsaWFzIiA9IHg7IHRoZW4KKyAgICBjcm9zc19jb21waWxpbmc9bWF5YmUKKyAgICAkYXNfZWNobyAiJGFzX21lOiBXQVJOSU5HOiBJZiB5b3Ugd2FudGVkIHRvIHNldCB0aGUgLS1idWlsZCB0eXBlLCBkb24ndCB1c2UgLS1ob3N0LgorICAgIElmIGEgY3Jvc3MgY29tcGlsZXIgaXMgZGV0ZWN0ZWQgdGhlbiBjcm9zcyBjb21waWxlIG1vZGUgd2lsbCBiZSB1c2VkLiIgPiYyCisgIGVsaWYgdGVzdCAieCRidWlsZF9hbGlhcyIgIT0gIngkaG9zdF9hbGlhcyI7IHRoZW4KKyAgICBjcm9zc19jb21waWxpbmc9eWVzCisgIGZpCitmaQorCithY190b29sX3ByZWZpeD0KK3Rlc3QgLW4gIiRob3N0X2FsaWFzIiAmJiBhY190b29sX3ByZWZpeD0kaG9zdF9hbGlhcy0KKwordGVzdCAiJHNpbGVudCIgPSB5ZXMgJiYgZXhlYyA2Pi9kZXYvbnVsbAorCisKK2FjX3B3ZD1gcHdkYCAmJiB0ZXN0IC1uICIkYWNfcHdkIiAmJgorYWNfbHNfZGk9YGxzIC1kaSAuYCAmJgorYWNfcHdkX2xzX2RpPWBjZCAiJGFjX3B3ZCIgJiYgbHMgLWRpIC5gIHx8CisgIGFzX2ZuX2Vycm9yICJ3b3JraW5nIGRpcmVjdG9yeSBjYW5ub3QgYmUgZGV0ZXJtaW5lZCIKK3Rlc3QgIlgkYWNfbHNfZGkiID0gIlgkYWNfcHdkX2xzX2RpIiB8fAorICBhc19mbl9lcnJvciAicHdkIGRvZXMgbm90IHJlcG9ydCBuYW1lIG9mIHdvcmtpbmcgZGlyZWN0b3J5IgorCisKKyMgRmluZCB0aGUgc291cmNlIGZpbGVzLCBpZiBsb2NhdGlvbiB3YXMgbm90IHNwZWNpZmllZC4KK2lmIHRlc3QgLXogIiRzcmNkaXIiOyB0aGVuCisgIGFjX3NyY2Rpcl9kZWZhdWx0ZWQ9eWVzCisgICMgVHJ5IHRoZSBkaXJlY3RvcnkgY29udGFpbmluZyB0aGlzIHNjcmlwdCwgdGhlbiB0aGUgcGFyZW50IGRpcmVjdG9yeS4KKyAgYWNfY29uZmRpcj1gJGFzX2Rpcm5hbWUgLS0gIiRhc19teXNlbGYiIHx8CiskYXNfZXhwciBYIiRhc19teXNlbGYiIDogJ1hcKC4qW14vXVwpLy8qW14vXVteL10qLyokJyBcfCBcCisJIFgiJGFzX215c2VsZiIgOiAnWFwoLy9cKVteL10nIFx8IFwKKwkgWCIkYXNfbXlzZWxmIiA6ICdYXCgvL1wpJCcgXHwgXAorCSBYIiRhc19teXNlbGYiIDogJ1hcKC9cKScgXHwgLiAyPi9kZXYvbnVsbCB8fAorJGFzX2VjaG8gWCIkYXNfbXlzZWxmIiB8CisgICAgc2VkICcvXlhcKC4qW14vXVwpXC9cLypbXi9dW14vXSpcLyokL3sKKwkgICAgcy8vXDEvCisJICAgIHEKKwkgIH0KKwkgIC9eWFwoXC9cL1wpW14vXS4qL3sKKwkgICAgcy8vXDEvCisJICAgIHEKKwkgIH0KKwkgIC9eWFwoXC9cL1wpJC97CisJICAgIHMvL1wxLworCSAgICBxCisJICB9CisJICAvXlhcKFwvXCkuKi97CisJICAgIHMvL1wxLworCSAgICBxCisJICB9CisJICBzLy4qLy4vOyBxJ2AKKyAgc3JjZGlyPSRhY19jb25mZGlyCisgIGlmIHRlc3QgISAtciAiJHNyY2Rpci8kYWNfdW5pcXVlX2ZpbGUiOyB0aGVuCisgICAgc3JjZGlyPS4uCisgIGZpCitlbHNlCisgIGFjX3NyY2Rpcl9kZWZhdWx0ZWQ9bm8KK2ZpCitpZiB0ZXN0ICEgLXIgIiRzcmNkaXIvJGFjX3VuaXF1ZV9maWxlIjsgdGhlbgorICB0ZXN0ICIkYWNfc3JjZGlyX2RlZmF1bHRlZCIgPSB5ZXMgJiYgc3JjZGlyPSIkYWNfY29uZmRpciBvciAuLiIKKyAgYXNfZm5fZXJyb3IgImNhbm5vdCBmaW5kIHNvdXJjZXMgKCRhY191bmlxdWVfZmlsZSkgaW4gJHNyY2RpciIKK2ZpCithY19tc2c9InNvdXJjZXMgYXJlIGluICRzcmNkaXIsIGJ1dCBcYGNkICRzcmNkaXInIGRvZXMgbm90IHdvcmsiCithY19hYnNfY29uZmRpcj1gKAorCWNkICIkc3JjZGlyIiAmJiB0ZXN0IC1yICIuLyRhY191bmlxdWVfZmlsZSIgfHwgYXNfZm5fZXJyb3IgIiRhY19tc2ciCisJcHdkKWAKKyMgV2hlbiBidWlsZGluZyBpbiBwbGFjZSwgc2V0IHNyY2Rpcj0uCitpZiB0ZXN0ICIkYWNfYWJzX2NvbmZkaXIiID0gIiRhY19wd2QiOyB0aGVuCisgIHNyY2Rpcj0uCitmaQorIyBSZW1vdmUgdW5uZWNlc3NhcnkgdHJhaWxpbmcgc2xhc2hlcyBmcm9tIHNyY2Rpci4KKyMgRG91YmxlIHNsYXNoZXMgaW4gZmlsZSBuYW1lcyBpbiBvYmplY3QgZmlsZSBkZWJ1Z2dpbmcgaW5mbworIyBtZXNzIHVwIE0teCBnZGIgaW4gRW1hY3MuCitjYXNlICRzcmNkaXIgaW4KKyovKSBzcmNkaXI9YGV4cHIgIlgkc3JjZGlyIiA6ICdYXCguKlteL11cKScgXHwgIlgkc3JjZGlyIiA6ICdYXCguKlwpJ2A7OworZXNhYworZm9yIGFjX3ZhciBpbiAkYWNfcHJlY2lvdXNfdmFyczsgZG8KKyAgZXZhbCBhY19lbnZfJHthY192YXJ9X3NldD1cJHske2FjX3Zhcn0rc2V0fQorICBldmFsIGFjX2Vudl8ke2FjX3Zhcn1fdmFsdWU9XCQke2FjX3Zhcn0KKyAgZXZhbCBhY19jdl9lbnZfJHthY192YXJ9X3NldD1cJHske2FjX3Zhcn0rc2V0fQorICBldmFsIGFjX2N2X2Vudl8ke2FjX3Zhcn1fdmFsdWU9XCQke2FjX3Zhcn0KK2RvbmUKKworIworIyBSZXBvcnQgdGhlIC0taGVscCBtZXNzYWdlLgorIworaWYgdGVzdCAiJGFjX2luaXRfaGVscCIgPSAibG9uZyI7IHRoZW4KKyAgIyBPbWl0IHNvbWUgaW50ZXJuYWwgb3Igb2Jzb2xldGUgb3B0aW9ucyB0byBtYWtlIHRoZSBsaXN0IGxlc3MgaW1wb3NpbmcuCisgICMgVGhpcyBtZXNzYWdlIGlzIHRvbyBsb25nIHRvIGJlIGEgc3RyaW5nIGluIHRoZSBBL1VYIDMuMSBzaC4KKyAgY2F0IDw8X0FDRU9GCitcYGNvbmZpZ3VyZScgY29uZmlndXJlcyBzdHJhY2UgNC41LjIwIHRvIGFkYXB0IHRvIG1hbnkga2luZHMgb2Ygc3lzdGVtcy4KKworVXNhZ2U6ICQwIFtPUFRJT05dLi4uIFtWQVI9VkFMVUVdLi4uCisKK1RvIGFzc2lnbiBlbnZpcm9ubWVudCB2YXJpYWJsZXMgKGUuZy4sIENDLCBDRkxBR1MuLi4pLCBzcGVjaWZ5IHRoZW0gYXMKK1ZBUj1WQUxVRS4gIFNlZSBiZWxvdyBmb3IgZGVzY3JpcHRpb25zIG9mIHNvbWUgb2YgdGhlIHVzZWZ1bCB2YXJpYWJsZXMuCisKK0RlZmF1bHRzIGZvciB0aGUgb3B0aW9ucyBhcmUgc3BlY2lmaWVkIGluIGJyYWNrZXRzLgorCitDb25maWd1cmF0aW9uOgorICAtaCwgLS1oZWxwICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdAorICAgICAgLS1oZWxwPXNob3J0ICAgICAgICBkaXNwbGF5IG9wdGlvbnMgc3BlY2lmaWMgdG8gdGhpcyBwYWNrYWdlCisgICAgICAtLWhlbHA9cmVjdXJzaXZlICAgIGRpc3BsYXkgdGhlIHNob3J0IGhlbHAgb2YgYWxsIHRoZSBpbmNsdWRlZCBwYWNrYWdlcworICAtViwgLS12ZXJzaW9uICAgICAgICAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQKKyAgLXEsIC0tcXVpZXQsIC0tc2lsZW50ICAgZG8gbm90IHByaW50IFxgY2hlY2tpbmcuLi4nIG1lc3NhZ2VzCisgICAgICAtLWNhY2hlLWZpbGU9RklMRSAgIGNhY2hlIHRlc3QgcmVzdWx0cyBpbiBGSUxFIFtkaXNhYmxlZF0KKyAgLUMsIC0tY29uZmlnLWNhY2hlICAgICAgYWxpYXMgZm9yIFxgLS1jYWNoZS1maWxlPWNvbmZpZy5jYWNoZScKKyAgLW4sIC0tbm8tY3JlYXRlICAgICAgICAgZG8gbm90IGNyZWF0ZSBvdXRwdXQgZmlsZXMKKyAgICAgIC0tc3JjZGlyPURJUiAgICAgICAgZmluZCB0aGUgc291cmNlcyBpbiBESVIgW2NvbmZpZ3VyZSBkaXIgb3IgXGAuLiddCisKK0luc3RhbGxhdGlvbiBkaXJlY3RvcmllczoKKyAgLS1wcmVmaXg9UFJFRklYICAgICAgICAgaW5zdGFsbCBhcmNoaXRlY3R1cmUtaW5kZXBlbmRlbnQgZmlsZXMgaW4gUFJFRklYCisgICAgICAgICAgICAgICAgICAgICAgICAgIFskYWNfZGVmYXVsdF9wcmVmaXhdCisgIC0tZXhlYy1wcmVmaXg9RVBSRUZJWCAgIGluc3RhbGwgYXJjaGl0ZWN0dXJlLWRlcGVuZGVudCBmaWxlcyBpbiBFUFJFRklYCisgICAgICAgICAgICAgICAgICAgICAgICAgIFtQUkVGSVhdCisKK0J5IGRlZmF1bHQsIFxgbWFrZSBpbnN0YWxsJyB3aWxsIGluc3RhbGwgYWxsIHRoZSBmaWxlcyBpbgorXGAkYWNfZGVmYXVsdF9wcmVmaXgvYmluJywgXGAkYWNfZGVmYXVsdF9wcmVmaXgvbGliJyBldGMuICBZb3UgY2FuIHNwZWNpZnkKK2FuIGluc3RhbGxhdGlvbiBwcmVmaXggb3RoZXIgdGhhbiBcYCRhY19kZWZhdWx0X3ByZWZpeCcgdXNpbmcgXGAtLXByZWZpeCcsCitmb3IgaW5zdGFuY2UgXGAtLXByZWZpeD1cJEhPTUUnLgorCitGb3IgYmV0dGVyIGNvbnRyb2wsIHVzZSB0aGUgb3B0aW9ucyBiZWxvdy4KKworRmluZSB0dW5pbmcgb2YgdGhlIGluc3RhbGxhdGlvbiBkaXJlY3RvcmllczoKKyAgLS1iaW5kaXI9RElSICAgICAgICAgICAgdXNlciBleGVjdXRhYmxlcyBbRVBSRUZJWC9iaW5dCisgIC0tc2JpbmRpcj1ESVIgICAgICAgICAgIHN5c3RlbSBhZG1pbiBleGVjdXRhYmxlcyBbRVBSRUZJWC9zYmluXQorICAtLWxpYmV4ZWNkaXI9RElSICAgICAgICBwcm9ncmFtIGV4ZWN1dGFibGVzIFtFUFJFRklYL2xpYmV4ZWNdCisgIC0tc3lzY29uZmRpcj1ESVIgICAgICAgIHJlYWQtb25seSBzaW5nbGUtbWFjaGluZSBkYXRhIFtQUkVGSVgvZXRjXQorICAtLXNoYXJlZHN0YXRlZGlyPURJUiAgICBtb2RpZmlhYmxlIGFyY2hpdGVjdHVyZS1pbmRlcGVuZGVudCBkYXRhIFtQUkVGSVgvY29tXQorICAtLWxvY2Fsc3RhdGVkaXI9RElSICAgICBtb2RpZmlhYmxlIHNpbmdsZS1tYWNoaW5lIGRhdGEgW1BSRUZJWC92YXJdCisgIC0tbGliZGlyPURJUiAgICAgICAgICAgIG9iamVjdCBjb2RlIGxpYnJhcmllcyBbRVBSRUZJWC9saWJdCisgIC0taW5jbHVkZWRpcj1ESVIgICAgICAgIEMgaGVhZGVyIGZpbGVzIFtQUkVGSVgvaW5jbHVkZV0KKyAgLS1vbGRpbmNsdWRlZGlyPURJUiAgICAgQyBoZWFkZXIgZmlsZXMgZm9yIG5vbi1nY2MgWy91c3IvaW5jbHVkZV0KKyAgLS1kYXRhcm9vdGRpcj1ESVIgICAgICAgcmVhZC1vbmx5IGFyY2guLWluZGVwZW5kZW50IGRhdGEgcm9vdCBbUFJFRklYL3NoYXJlXQorICAtLWRhdGFkaXI9RElSICAgICAgICAgICByZWFkLW9ubHkgYXJjaGl0ZWN0dXJlLWluZGVwZW5kZW50IGRhdGEgW0RBVEFST09URElSXQorICAtLWluZm9kaXI9RElSICAgICAgICAgICBpbmZvIGRvY3VtZW50YXRpb24gW0RBVEFST09URElSL2luZm9dCisgIC0tbG9jYWxlZGlyPURJUiAgICAgICAgIGxvY2FsZS1kZXBlbmRlbnQgZGF0YSBbREFUQVJPT1RESVIvbG9jYWxlXQorICAtLW1hbmRpcj1ESVIgICAgICAgICAgICBtYW4gZG9jdW1lbnRhdGlvbiBbREFUQVJPT1RESVIvbWFuXQorICAtLWRvY2Rpcj1ESVIgICAgICAgICAgICBkb2N1bWVudGF0aW9uIHJvb3QgW0RBVEFST09URElSL2RvYy9zdHJhY2VdCisgIC0taHRtbGRpcj1ESVIgICAgICAgICAgIGh0bWwgZG9jdW1lbnRhdGlvbiBbRE9DRElSXQorICAtLWR2aWRpcj1ESVIgICAgICAgICAgICBkdmkgZG9jdW1lbnRhdGlvbiBbRE9DRElSXQorICAtLXBkZmRpcj1ESVIgICAgICAgICAgICBwZGYgZG9jdW1lbnRhdGlvbiBbRE9DRElSXQorICAtLXBzZGlyPURJUiAgICAgICAgICAgICBwcyBkb2N1bWVudGF0aW9uIFtET0NESVJdCitfQUNFT0YKKworICBjYXQgPDxcX0FDRU9GCisKK1Byb2dyYW0gbmFtZXM6CisgIC0tcHJvZ3JhbS1wcmVmaXg9UFJFRklYICAgICAgICAgICAgcHJlcGVuZCBQUkVGSVggdG8gaW5zdGFsbGVkIHByb2dyYW0gbmFtZXMKKyAgLS1wcm9ncmFtLXN1ZmZpeD1TVUZGSVggICAgICAgICAgICBhcHBlbmQgU1VGRklYIHRvIGluc3RhbGxlZCBwcm9ncmFtIG5hbWVzCisgIC0tcHJvZ3JhbS10cmFuc2Zvcm0tbmFtZT1QUk9HUkFNICAgcnVuIHNlZCBQUk9HUkFNIG9uIGluc3RhbGxlZCBwcm9ncmFtIG5hbWVzCisKK1N5c3RlbSB0eXBlczoKKyAgLS1idWlsZD1CVUlMRCAgICAgY29uZmlndXJlIGZvciBidWlsZGluZyBvbiBCVUlMRCBbZ3Vlc3NlZF0KKyAgLS1ob3N0PUhPU1QgICAgICAgY3Jvc3MtY29tcGlsZSB0byBidWlsZCBwcm9ncmFtcyB0byBydW4gb24gSE9TVCBbQlVJTERdCitfQUNFT0YKK2ZpCisKK2lmIHRlc3QgLW4gIiRhY19pbml0X2hlbHAiOyB0aGVuCisgIGNhc2UgJGFjX2luaXRfaGVscCBpbgorICAgICBzaG9ydCB8IHJlY3Vyc2l2ZSApIGVjaG8gIkNvbmZpZ3VyYXRpb24gb2Ygc3RyYWNlIDQuNS4yMDoiOzsKKyAgIGVzYWMKKyAgY2F0IDw8XF9BQ0VPRgorCitPcHRpb25hbCBGZWF0dXJlczoKKyAgLS1kaXNhYmxlLW9wdGlvbi1jaGVja2luZyAgaWdub3JlIHVucmVjb2duaXplZCAtLWVuYWJsZS8tLXdpdGggb3B0aW9ucworICAtLWRpc2FibGUtRkVBVFVSRSAgICAgICBkbyBub3QgaW5jbHVkZSBGRUFUVVJFIChzYW1lIGFzIC0tZW5hYmxlLUZFQVRVUkU9bm8pCisgIC0tZW5hYmxlLUZFQVRVUkVbPUFSR10gIGluY2x1ZGUgRkVBVFVSRSBbQVJHPXllc10KKyAgLS1lbmFibGUtbWFpbnRhaW5lci1tb2RlICBlbmFibGUgbWFrZSBydWxlcyBhbmQgZGVwZW5kZW5jaWVzIG5vdCB1c2VmdWwKKwkJCSAgKGFuZCBzb21ldGltZXMgY29uZnVzaW5nKSB0byB0aGUgY2FzdWFsIGluc3RhbGxlcgorICAtLWRpc2FibGUtZGVwZW5kZW5jeS10cmFja2luZyAgc3BlZWRzIHVwIG9uZS10aW1lIGJ1aWxkCisgIC0tZW5hYmxlLWRlcGVuZGVuY3ktdHJhY2tpbmcgICBkbyBub3QgcmVqZWN0IHNsb3cgZGVwZW5kZW5jeSBleHRyYWN0b3JzCisKK1NvbWUgaW5mbHVlbnRpYWwgZW52aXJvbm1lbnQgdmFyaWFibGVzOgorICBDQyAgICAgICAgICBDIGNvbXBpbGVyIGNvbW1hbmQKKyAgQ0ZMQUdTICAgICAgQyBjb21waWxlciBmbGFncworICBMREZMQUdTICAgICBsaW5rZXIgZmxhZ3MsIGUuZy4gLUw8bGliIGRpcj4gaWYgeW91IGhhdmUgbGlicmFyaWVzIGluIGEKKyAgICAgICAgICAgICAgbm9uc3RhbmRhcmQgZGlyZWN0b3J5IDxsaWIgZGlyPgorICBMSUJTICAgICAgICBsaWJyYXJpZXMgdG8gcGFzcyB0byB0aGUgbGlua2VyLCBlLmcuIC1sPGxpYnJhcnk+CisgIENQUEZMQUdTICAgIChPYmplY3RpdmUpIEMvQysrIHByZXByb2Nlc3NvciBmbGFncywgZS5nLiAtSTxpbmNsdWRlIGRpcj4gaWYKKyAgICAgICAgICAgICAgeW91IGhhdmUgaGVhZGVycyBpbiBhIG5vbnN0YW5kYXJkIGRpcmVjdG9yeSA8aW5jbHVkZSBkaXI+CisgIENQUCAgICAgICAgIEMgcHJlcHJvY2Vzc29yCisKK1VzZSB0aGVzZSB2YXJpYWJsZXMgdG8gb3ZlcnJpZGUgdGhlIGNob2ljZXMgbWFkZSBieSBgY29uZmlndXJlJyBvciB0byBoZWxwCitpdCB0byBmaW5kIGxpYnJhcmllcyBhbmQgcHJvZ3JhbXMgd2l0aCBub25zdGFuZGFyZCBuYW1lcy9sb2NhdGlvbnMuCisKK1JlcG9ydCBidWdzIHRvIHRoZSBwYWNrYWdlIHByb3ZpZGVyLgorX0FDRU9GCithY19zdGF0dXM9JD8KK2ZpCisKK2lmIHRlc3QgIiRhY19pbml0X2hlbHAiID0gInJlY3Vyc2l2ZSI7IHRoZW4KKyAgIyBJZiB0aGVyZSBhcmUgc3ViZGlycywgcmVwb3J0IHRoZWlyIHNwZWNpZmljIC0taGVscC4KKyAgZm9yIGFjX2RpciBpbiA6ICRhY19zdWJkaXJzX2FsbDsgZG8gdGVzdCAieCRhY19kaXIiID0geDogJiYgY29udGludWUKKyAgICB0ZXN0IC1kICIkYWNfZGlyIiB8fAorICAgICAgeyBjZCAiJHNyY2RpciIgJiYgYWNfcHdkPWBwd2RgICYmIHNyY2Rpcj0uICYmIHRlc3QgLWQgIiRhY19kaXIiOyB9IHx8CisgICAgICBjb250aW51ZQorICAgIGFjX2J1aWxkZGlyPS4KKworY2FzZSAiJGFjX2RpciIgaW4KKy4pIGFjX2Rpcl9zdWZmaXg9IGFjX3RvcF9idWlsZGRpcl9zdWI9LiBhY190b3BfYnVpbGRfcHJlZml4PSA7OworKikKKyAgYWNfZGlyX3N1ZmZpeD0vYCRhc19lY2hvICIkYWNfZGlyIiB8IHNlZCAnc3xeXC5bXFwvXXx8J2AKKyAgIyBBICIuLiIgZm9yIGVhY2ggZGlyZWN0b3J5IGluICRhY19kaXJfc3VmZml4LgorICBhY190b3BfYnVpbGRkaXJfc3ViPWAkYXNfZWNobyAiJGFjX2Rpcl9zdWZmaXgiIHwgc2VkICdzfC9bXlxcL10qfC8uLnxnO3N8L3x8J2AKKyAgY2FzZSAkYWNfdG9wX2J1aWxkZGlyX3N1YiBpbgorICAiIikgYWNfdG9wX2J1aWxkZGlyX3N1Yj0uIGFjX3RvcF9idWlsZF9wcmVmaXg9IDs7CisgICopICBhY190b3BfYnVpbGRfcHJlZml4PSRhY190b3BfYnVpbGRkaXJfc3ViLyA7OworICBlc2FjIDs7Citlc2FjCithY19hYnNfdG9wX2J1aWxkZGlyPSRhY19wd2QKK2FjX2Fic19idWlsZGRpcj0kYWNfcHdkJGFjX2Rpcl9zdWZmaXgKKyMgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHk6CithY190b3BfYnVpbGRkaXI9JGFjX3RvcF9idWlsZF9wcmVmaXgKKworY2FzZSAkc3JjZGlyIGluCisgIC4pICAjIFdlIGFyZSBidWlsZGluZyBpbiBwbGFjZS4KKyAgICBhY19zcmNkaXI9LgorICAgIGFjX3RvcF9zcmNkaXI9JGFjX3RvcF9idWlsZGRpcl9zdWIKKyAgICBhY19hYnNfdG9wX3NyY2Rpcj0kYWNfcHdkIDs7CisgIFtcXC9dKiB8ID86W1xcL10qICkgICMgQWJzb2x1dGUgbmFtZS4KKyAgICBhY19zcmNkaXI9JHNyY2RpciRhY19kaXJfc3VmZml4OworICAgIGFjX3RvcF9zcmNkaXI9JHNyY2RpcgorICAgIGFjX2Fic190b3Bfc3JjZGlyPSRzcmNkaXIgOzsKKyAgKikgIyBSZWxhdGl2ZSBuYW1lLgorICAgIGFjX3NyY2Rpcj0kYWNfdG9wX2J1aWxkX3ByZWZpeCRzcmNkaXIkYWNfZGlyX3N1ZmZpeAorICAgIGFjX3RvcF9zcmNkaXI9JGFjX3RvcF9idWlsZF9wcmVmaXgkc3JjZGlyCisgICAgYWNfYWJzX3RvcF9zcmNkaXI9JGFjX3B3ZC8kc3JjZGlyIDs7Citlc2FjCithY19hYnNfc3JjZGlyPSRhY19hYnNfdG9wX3NyY2RpciRhY19kaXJfc3VmZml4CisKKyAgICBjZCAiJGFjX2RpciIgfHwgeyBhY19zdGF0dXM9JD87IGNvbnRpbnVlOyB9CisgICAgIyBDaGVjayBmb3IgZ3Vlc3RlZCBjb25maWd1cmUuCisgICAgaWYgdGVzdCAtZiAiJGFjX3NyY2Rpci9jb25maWd1cmUuZ251IjsgdGhlbgorICAgICAgZWNobyAmJgorICAgICAgJFNIRUxMICIkYWNfc3JjZGlyL2NvbmZpZ3VyZS5nbnUiIC0taGVscD1yZWN1cnNpdmUKKyAgICBlbGlmIHRlc3QgLWYgIiRhY19zcmNkaXIvY29uZmlndXJlIjsgdGhlbgorICAgICAgZWNobyAmJgorICAgICAgJFNIRUxMICIkYWNfc3JjZGlyL2NvbmZpZ3VyZSIgLS1oZWxwPXJlY3Vyc2l2ZQorICAgIGVsc2UKKyAgICAgICRhc19lY2hvICIkYXNfbWU6IFdBUk5JTkc6IG5vIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gaXMgaW4gJGFjX2RpciIgPiYyCisgICAgZmkgfHwgYWNfc3RhdHVzPSQ/CisgICAgY2QgIiRhY19wd2QiIHx8IHsgYWNfc3RhdHVzPSQ/OyBicmVhazsgfQorICBkb25lCitmaQorCit0ZXN0IC1uICIkYWNfaW5pdF9oZWxwIiAmJiBleGl0ICRhY19zdGF0dXMKK2lmICRhY19pbml0X3ZlcnNpb247IHRoZW4KKyAgY2F0IDw8XF9BQ0VPRgorc3RyYWNlIGNvbmZpZ3VyZSA0LjUuMjAKK2dlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi42NQorCitDb3B5cmlnaHQgKEMpIDIwMTAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCitUaGlzIGNvbmZpZ3VyZSBzY3JpcHQgaXMgZnJlZSBzb2Z0d2FyZTsgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbgorZ2l2ZXMgdW5saW1pdGVkIHBlcm1pc3Npb24gdG8gY29weSwgZGlzdHJpYnV0ZSBhbmQgbW9kaWZ5IGl0LgorX0FDRU9GCisgIGV4aXQKK2ZpCisKKyMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIworIyMgQXV0b2NvbmYgaW5pdGlhbGl6YXRpb24uICMjCisjIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKKworIyBhY19mbl9jX3RyeV9jb21waWxlIExJTkVOTworIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBUcnkgdG8gY29tcGlsZSBjb25mdGVzdC4kYWNfZXh0LCBhbmQgcmV0dXJuIHdoZXRoZXIgdGhpcyBzdWNjZWVkZWQuCithY19mbl9jX3RyeV9jb21waWxlICgpCit7CisgIGFzX2xpbmVubz0ke2FzX2xpbmVuby0iJDEifSBhc19saW5lbm9fc3RhY2s9YXNfbGluZW5vX3N0YWNrPSRhc19saW5lbm9fc3RhY2sKKyAgcm0gLWYgY29uZnRlc3QuJGFjX29iamV4dAorICBpZiB7IHsgYWNfdHJ5PSIkYWNfY29tcGlsZSIKK2Nhc2UgIigoJGFjX3RyeSIgaW4KKyAgKlwiKiB8ICpcYCogfCAqXFwqKSBhY190cnlfZWNobz1cJGFjX3RyeTs7CisgICopIGFjX3RyeV9lY2hvPSRhY190cnk7OworZXNhYworZXZhbCBhY190cnlfZWNobz0iXCJcJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiAkYWNfdHJ5X2VjaG9cIiIKKyRhc19lY2hvICIkYWNfdHJ5X2VjaG8iOyB9ID4mNQorICAoZXZhbCAiJGFjX2NvbXBpbGUiKSAyPmNvbmZ0ZXN0LmVycgorICBhY19zdGF0dXM9JD8KKyAgaWYgdGVzdCAtcyBjb25mdGVzdC5lcnI7IHRoZW4KKyAgICBncmVwIC12ICdeICorJyBjb25mdGVzdC5lcnIgPmNvbmZ0ZXN0LmVyMQorICAgIGNhdCBjb25mdGVzdC5lcjEgPiY1CisgICAgbXYgLWYgY29uZnRlc3QuZXIxIGNvbmZ0ZXN0LmVycgorICBmaQorICAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKyAgdGVzdCAkYWNfc3RhdHVzID0gMDsgfSAmJiB7CisJIHRlc3QgLXogIiRhY19jX3dlcnJvcl9mbGFnIiB8fAorCSB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyCisgICAgICAgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0LiRhY19vYmpleHQ7IHRoZW4gOgorICBhY19yZXR2YWw9MAorZWxzZQorICAkYXNfZWNobyAiJGFzX21lOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKK3NlZCAncy9eL3wgLycgY29uZnRlc3QuJGFjX2V4dCA+JjUKKworCWFjX3JldHZhbD0xCitmaQorICBldmFsICRhc19saW5lbm9fc3RhY2s7IHRlc3QgIngkYXNfbGluZW5vX3N0YWNrIiA9IHggJiYgeyBhc19saW5lbm89OyB1bnNldCBhc19saW5lbm87fQorICBhc19mbl9zZXRfc3RhdHVzICRhY19yZXR2YWwKKworfSAjIGFjX2ZuX2NfdHJ5X2NvbXBpbGUKKworIyBhY19mbl9jX3RyeV9jcHAgTElORU5PCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgVHJ5IHRvIHByZXByb2Nlc3MgY29uZnRlc3QuJGFjX2V4dCwgYW5kIHJldHVybiB3aGV0aGVyIHRoaXMgc3VjY2VlZGVkLgorYWNfZm5fY190cnlfY3BwICgpCit7CisgIGFzX2xpbmVubz0ke2FzX2xpbmVuby0iJDEifSBhc19saW5lbm9fc3RhY2s9YXNfbGluZW5vX3N0YWNrPSRhc19saW5lbm9fc3RhY2sKKyAgaWYgeyB7IGFjX3RyeT0iJGFjX2NwcCBjb25mdGVzdC4kYWNfZXh0IgorY2FzZSAiKCgkYWNfdHJ5IiBpbgorICAqXCIqIHwgKlxgKiB8ICpcXCopIGFjX3RyeV9lY2hvPVwkYWNfdHJ5OzsKKyAgKikgYWNfdHJ5X2VjaG89JGFjX3RyeTs7Citlc2FjCitldmFsIGFjX3RyeV9lY2hvPSJcIlwkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306ICRhY190cnlfZWNob1wiIgorJGFzX2VjaG8gIiRhY190cnlfZWNobyI7IH0gPiY1CisgIChldmFsICIkYWNfY3BwIGNvbmZ0ZXN0LiRhY19leHQiKSAyPmNvbmZ0ZXN0LmVycgorICBhY19zdGF0dXM9JD8KKyAgaWYgdGVzdCAtcyBjb25mdGVzdC5lcnI7IHRoZW4KKyAgICBncmVwIC12ICdeICorJyBjb25mdGVzdC5lcnIgPmNvbmZ0ZXN0LmVyMQorICAgIGNhdCBjb25mdGVzdC5lcjEgPiY1CisgICAgbXYgLWYgY29uZnRlc3QuZXIxIGNvbmZ0ZXN0LmVycgorICBmaQorICAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKyAgdGVzdCAkYWNfc3RhdHVzID0gMDsgfSA+L2Rldi9udWxsICYmIHsKKwkgdGVzdCAteiAiJGFjX2NfcHJlcHJvY193YXJuX2ZsYWckYWNfY193ZXJyb3JfZmxhZyIgfHwKKwkgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycgorICAgICAgIH07IHRoZW4gOgorICBhY19yZXR2YWw9MAorZWxzZQorICAkYXNfZWNobyAiJGFzX21lOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKK3NlZCAncy9eL3wgLycgY29uZnRlc3QuJGFjX2V4dCA+JjUKKworICAgIGFjX3JldHZhbD0xCitmaQorICBldmFsICRhc19saW5lbm9fc3RhY2s7IHRlc3QgIngkYXNfbGluZW5vX3N0YWNrIiA9IHggJiYgeyBhc19saW5lbm89OyB1bnNldCBhc19saW5lbm87fQorICBhc19mbl9zZXRfc3RhdHVzICRhY19yZXR2YWwKKworfSAjIGFjX2ZuX2NfdHJ5X2NwcAorCisjIGFjX2ZuX2NfY2hlY2tfaGVhZGVyX21vbmdyZWwgTElORU5PIEhFQURFUiBWQVIgSU5DTFVERVMKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBUZXN0cyB3aGV0aGVyIEhFQURFUiBleGlzdHMsIGdpdmluZyBhIHdhcm5pbmcgaWYgaXQgY2Fubm90IGJlIGNvbXBpbGVkIHVzaW5nCisjIHRoZSBpbmNsdWRlIGZpbGVzIGluIElOQ0xVREVTIGFuZCBzZXR0aW5nIHRoZSBjYWNoZSB2YXJpYWJsZSBWQVIKKyMgYWNjb3JkaW5nbHkuCithY19mbl9jX2NoZWNrX2hlYWRlcl9tb25ncmVsICgpCit7CisgIGFzX2xpbmVubz0ke2FzX2xpbmVuby0iJDEifSBhc19saW5lbm9fc3RhY2s9YXNfbGluZW5vX3N0YWNrPSRhc19saW5lbm9fc3RhY2sKKyAgaWYgeyBhc192YXI9JDM7IGV2YWwgInRlc3QgXCJcJHskYXNfdmFyK3NldH1cIiA9IHNldCI7IH07IHRoZW4gOgorICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciAkMiIgPiY1CiskYXNfZWNob19uICJjaGVja2luZyBmb3IgJDIuLi4gIiA+JjY7IH0KK2lmIHsgYXNfdmFyPSQzOyBldmFsICJ0ZXN0IFwiXCR7JGFzX3ZhcitzZXR9XCIgPSBzZXQiOyB9OyB0aGVuIDoKKyAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKK2ZpCitldmFsIGFjX3Jlcz1cJCQzCisJICAgICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfcmVzIiA+JjUKKyRhc19lY2hvICIkYWNfcmVzIiA+JjY7IH0KK2Vsc2UKKyAgIyBJcyB0aGUgaGVhZGVyIGNvbXBpbGFibGU/Cit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nICQyIHVzYWJpbGl0eSIgPiY1CiskYXNfZWNob19uICJjaGVja2luZyAkMiB1c2FiaWxpdHkuLi4gIiA+JjY7IH0KK2NhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKKy8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKyQ0CisjaW5jbHVkZSA8JDI+CitfQUNFT0YKK2lmIGFjX2ZuX2NfdHJ5X2NvbXBpbGUgIiRMSU5FTk8iOyB0aGVuIDoKKyAgYWNfaGVhZGVyX2NvbXBpbGVyPXllcworZWxzZQorICBhY19oZWFkZXJfY29tcGlsZXI9bm8KK2ZpCitybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfaGVhZGVyX2NvbXBpbGVyIiA+JjUKKyRhc19lY2hvICIkYWNfaGVhZGVyX2NvbXBpbGVyIiA+JjY7IH0KKworIyBJcyB0aGUgaGVhZGVyIHByZXNlbnQ/Cit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nICQyIHByZXNlbmNlIiA+JjUKKyRhc19lY2hvX24gImNoZWNraW5nICQyIHByZXNlbmNlLi4uICIgPiY2OyB9CitjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0CisvKiBlbmQgY29uZmRlZnMuaC4gICovCisjaW5jbHVkZSA8JDI+CitfQUNFT0YKK2lmIGFjX2ZuX2NfdHJ5X2NwcCAiJExJTkVOTyI7IHRoZW4gOgorICBhY19oZWFkZXJfcHJlcHJvYz15ZXMKK2Vsc2UKKyAgYWNfaGVhZGVyX3ByZXByb2M9bm8KK2ZpCitybSAtZiBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX2V4dAoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRhY19oZWFkZXJfcHJlcHJvYyIgPiY1CiskYXNfZWNobyAiJGFjX2hlYWRlcl9wcmVwcm9jIiA+JjY7IH0KKworIyBTbz8gIFdoYXQgYWJvdXQgdGhpcyBoZWFkZXI/CitjYXNlICRhY19oZWFkZXJfY29tcGlsZXI6JGFjX2hlYWRlcl9wcmVwcm9jOiRhY19jX3ByZXByb2Nfd2Fybl9mbGFnIGluICMoKAorICB5ZXM6bm86ICkKKyAgICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IFdBUk5JTkc6ICQyOiBhY2NlcHRlZCBieSB0aGUgY29tcGlsZXIsIHJlamVjdGVkIGJ5IHRoZSBwcmVwcm9jZXNzb3IhIiA+JjUKKyRhc19lY2hvICIkYXNfbWU6IFdBUk5JTkc6ICQyOiBhY2NlcHRlZCBieSB0aGUgY29tcGlsZXIsIHJlamVjdGVkIGJ5IHRoZSBwcmVwcm9jZXNzb3IhIiA+JjI7fQorICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogV0FSTklORzogJDI6IHByb2NlZWRpbmcgd2l0aCB0aGUgY29tcGlsZXIncyByZXN1bHQiID4mNQorJGFzX2VjaG8gIiRhc19tZTogV0FSTklORzogJDI6IHByb2NlZWRpbmcgd2l0aCB0aGUgY29tcGlsZXIncyByZXN1bHQiID4mMjt9CisgICAgOzsKKyAgbm86eWVzOiogKQorICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogV0FSTklORzogJDI6IHByZXNlbnQgYnV0IGNhbm5vdCBiZSBjb21waWxlZCIgPiY1CiskYXNfZWNobyAiJGFzX21lOiBXQVJOSU5HOiAkMjogcHJlc2VudCBidXQgY2Fubm90IGJlIGNvbXBpbGVkIiA+JjI7fQorICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogV0FSTklORzogJDI6ICAgICBjaGVjayBmb3IgbWlzc2luZyBwcmVyZXF1aXNpdGUgaGVhZGVycz8iID4mNQorJGFzX2VjaG8gIiRhc19tZTogV0FSTklORzogJDI6ICAgICBjaGVjayBmb3IgbWlzc2luZyBwcmVyZXF1aXNpdGUgaGVhZGVycz8iID4mMjt9CisgICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBXQVJOSU5HOiAkMjogc2VlIHRoZSBBdXRvY29uZiBkb2N1bWVudGF0aW9uIiA+JjUKKyRhc19lY2hvICIkYXNfbWU6IFdBUk5JTkc6ICQyOiBzZWUgdGhlIEF1dG9jb25mIGRvY3VtZW50YXRpb24iID4mMjt9CisgICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBXQVJOSU5HOiAkMjogICAgIHNlY3Rpb24gXCJQcmVzZW50IEJ1dCBDYW5ub3QgQmUgQ29tcGlsZWRcIiIgPiY1CiskYXNfZWNobyAiJGFzX21lOiBXQVJOSU5HOiAkMjogICAgIHNlY3Rpb24gXCJQcmVzZW50IEJ1dCBDYW5ub3QgQmUgQ29tcGlsZWRcIiIgPiYyO30KKyAgICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IFdBUk5JTkc6ICQyOiBwcm9jZWVkaW5nIHdpdGggdGhlIGNvbXBpbGVyJ3MgcmVzdWx0IiA+JjUKKyRhc19lY2hvICIkYXNfbWU6IFdBUk5JTkc6ICQyOiBwcm9jZWVkaW5nIHdpdGggdGhlIGNvbXBpbGVyJ3MgcmVzdWx0IiA+JjI7fQorICAgIDs7Citlc2FjCisgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yICQyIiA+JjUKKyRhc19lY2hvX24gImNoZWNraW5nIGZvciAkMi4uLiAiID4mNjsgfQoraWYgeyBhc192YXI9JDM7IGV2YWwgInRlc3QgXCJcJHskYXNfdmFyK3NldH1cIiA9IHNldCI7IH07IHRoZW4gOgorICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgorZWxzZQorICBldmFsICIkMz1cJGFjX2hlYWRlcl9jb21waWxlciIKK2ZpCitldmFsIGFjX3Jlcz1cJCQzCisJICAgICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfcmVzIiA+JjUKKyRhc19lY2hvICIkYWNfcmVzIiA+JjY7IH0KK2ZpCisgIGV2YWwgJGFzX2xpbmVub19zdGFjazsgdGVzdCAieCRhc19saW5lbm9fc3RhY2siID0geCAmJiB7IGFzX2xpbmVubz07IHVuc2V0IGFzX2xpbmVubzt9CisKK30gIyBhY19mbl9jX2NoZWNrX2hlYWRlcl9tb25ncmVsCisKKyMgYWNfZm5fY190cnlfcnVuIExJTkVOTworIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFRyeSB0byBsaW5rIGNvbmZ0ZXN0LiRhY19leHQsIGFuZCByZXR1cm4gd2hldGhlciB0aGlzIHN1Y2NlZWRlZC4gQXNzdW1lcworIyB0aGF0IGV4ZWN1dGFibGVzICpjYW4qIGJlIHJ1bi4KK2FjX2ZuX2NfdHJ5X3J1biAoKQoreworICBhc19saW5lbm89JHthc19saW5lbm8tIiQxIn0gYXNfbGluZW5vX3N0YWNrPWFzX2xpbmVub19zdGFjaz0kYXNfbGluZW5vX3N0YWNrCisgIGlmIHsgeyBhY190cnk9IiRhY19saW5rIgorY2FzZSAiKCgkYWNfdHJ5IiBpbgorICAqXCIqIHwgKlxgKiB8ICpcXCopIGFjX3RyeV9lY2hvPVwkYWNfdHJ5OzsKKyAgKikgYWNfdHJ5X2VjaG89JGFjX3RyeTs7Citlc2FjCitldmFsIGFjX3RyeV9lY2hvPSJcIlwkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306ICRhY190cnlfZWNob1wiIgorJGFzX2VjaG8gIiRhY190cnlfZWNobyI7IH0gPiY1CisgIChldmFsICIkYWNfbGluayIpIDI+JjUKKyAgYWNfc3RhdHVzPSQ/CisgICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IFwkPyA9ICRhY19zdGF0dXMiID4mNQorICB0ZXN0ICRhY19zdGF0dXMgPSAwOyB9ICYmIHsgYWNfdHJ5PScuL2NvbmZ0ZXN0JGFjX2V4ZWV4dCcKKyAgeyB7IGNhc2UgIigoJGFjX3RyeSIgaW4KKyAgKlwiKiB8ICpcYCogfCAqXFwqKSBhY190cnlfZWNobz1cJGFjX3RyeTs7CisgICopIGFjX3RyeV9lY2hvPSRhY190cnk7OworZXNhYworZXZhbCBhY190cnlfZWNobz0iXCJcJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiAkYWNfdHJ5X2VjaG9cIiIKKyRhc19lY2hvICIkYWNfdHJ5X2VjaG8iOyB9ID4mNQorICAoZXZhbCAiJGFjX3RyeSIpIDI+JjUKKyAgYWNfc3RhdHVzPSQ/CisgICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IFwkPyA9ICRhY19zdGF0dXMiID4mNQorICB0ZXN0ICRhY19zdGF0dXMgPSAwOyB9OyB9OyB0aGVuIDoKKyAgYWNfcmV0dmFsPTAKK2Vsc2UKKyAgJGFzX2VjaG8gIiRhc19tZTogcHJvZ3JhbSBleGl0ZWQgd2l0aCBzdGF0dXMgJGFjX3N0YXR1cyIgPiY1CisgICAgICAgJGFzX2VjaG8gIiRhc19tZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1CitzZWQgJ3MvXi98IC8nIGNvbmZ0ZXN0LiRhY19leHQgPiY1CisKKyAgICAgICBhY19yZXR2YWw9JGFjX3N0YXR1cworZmkKKyAgcm0gLXJmIGNvbmZ0ZXN0LmRTWU0gY29uZnRlc3RfaXBhOF9jb25mdGVzdC5vbworICBldmFsICRhc19saW5lbm9fc3RhY2s7IHRlc3QgIngkYXNfbGluZW5vX3N0YWNrIiA9IHggJiYgeyBhc19saW5lbm89OyB1bnNldCBhc19saW5lbm87fQorICBhc19mbl9zZXRfc3RhdHVzICRhY19yZXR2YWwKKworfSAjIGFjX2ZuX2NfdHJ5X3J1bgorCisjIGFjX2ZuX2NfY2hlY2tfaGVhZGVyX2NvbXBpbGUgTElORU5PIEhFQURFUiBWQVIgSU5DTFVERVMKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBUZXN0cyB3aGV0aGVyIEhFQURFUiBleGlzdHMgYW5kIGNhbiBiZSBjb21waWxlZCB1c2luZyB0aGUgaW5jbHVkZSBmaWxlcyBpbgorIyBJTkNMVURFUywgc2V0dGluZyB0aGUgY2FjaGUgdmFyaWFibGUgVkFSIGFjY29yZGluZ2x5LgorYWNfZm5fY19jaGVja19oZWFkZXJfY29tcGlsZSAoKQoreworICBhc19saW5lbm89JHthc19saW5lbm8tIiQxIn0gYXNfbGluZW5vX3N0YWNrPWFzX2xpbmVub19zdGFjaz0kYXNfbGluZW5vX3N0YWNrCisgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yICQyIiA+JjUKKyRhc19lY2hvX24gImNoZWNraW5nIGZvciAkMi4uLiAiID4mNjsgfQoraWYgeyBhc192YXI9JDM7IGV2YWwgInRlc3QgXCJcJHskYXNfdmFyK3NldH1cIiA9IHNldCI7IH07IHRoZW4gOgorICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgorZWxzZQorICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0CisvKiBlbmQgY29uZmRlZnMuaC4gICovCiskNAorI2luY2x1ZGUgPCQyPgorX0FDRU9GCitpZiBhY19mbl9jX3RyeV9jb21waWxlICIkTElORU5PIjsgdGhlbiA6CisgIGV2YWwgIiQzPXllcyIKK2Vsc2UKKyAgZXZhbCAiJDM9bm8iCitmaQorcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC4kYWNfZXh0CitmaQorZXZhbCBhY19yZXM9XCQkMworCSAgICAgICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX3JlcyIgPiY1CiskYXNfZWNobyAiJGFjX3JlcyIgPiY2OyB9CisgIGV2YWwgJGFzX2xpbmVub19zdGFjazsgdGVzdCAieCRhc19saW5lbm9fc3RhY2siID0geCAmJiB7IGFzX2xpbmVubz07IHVuc2V0IGFzX2xpbmVubzt9CisKK30gIyBhY19mbl9jX2NoZWNrX2hlYWRlcl9jb21waWxlCisKKyMgYWNfZm5fY19jaGVja190eXBlIExJTkVOTyBUWVBFIFZBUiBJTkNMVURFUworIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFRlc3RzIHdoZXRoZXIgVFlQRSBleGlzdHMgYWZ0ZXIgaGF2aW5nIGluY2x1ZGVkIElOQ0xVREVTLCBzZXR0aW5nIGNhY2hlCisjIHZhcmlhYmxlIFZBUiBhY2NvcmRpbmdseS4KK2FjX2ZuX2NfY2hlY2tfdHlwZSAoKQoreworICBhc19saW5lbm89JHthc19saW5lbm8tIiQxIn0gYXNfbGluZW5vX3N0YWNrPWFzX2xpbmVub19zdGFjaz0kYXNfbGluZW5vX3N0YWNrCisgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yICQyIiA+JjUKKyRhc19lY2hvX24gImNoZWNraW5nIGZvciAkMi4uLiAiID4mNjsgfQoraWYgeyBhc192YXI9JDM7IGV2YWwgInRlc3QgXCJcJHskYXNfdmFyK3NldH1cIiA9IHNldCI7IH07IHRoZW4gOgorICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgorZWxzZQorICBldmFsICIkMz1ubyIKKyAgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAorLyogZW5kIGNvbmZkZWZzLmguICAqLworJDQKK2ludAorbWFpbiAoKQoreworaWYgKHNpemVvZiAoJDIpKQorCSByZXR1cm4gMDsKKyAgOworICByZXR1cm4gMDsKK30KK19BQ0VPRgoraWYgYWNfZm5fY190cnlfY29tcGlsZSAiJExJTkVOTyI7IHRoZW4gOgorICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0CisvKiBlbmQgY29uZmRlZnMuaC4gICovCiskNAoraW50CittYWluICgpCit7CitpZiAoc2l6ZW9mICgoJDIpKSkKKwkgICAgcmV0dXJuIDA7CisgIDsKKyAgcmV0dXJuIDA7Cit9CitfQUNFT0YKK2lmIGFjX2ZuX2NfdHJ5X2NvbXBpbGUgIiRMSU5FTk8iOyB0aGVuIDoKKworZWxzZQorICBldmFsICIkMz15ZXMiCitmaQorcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC4kYWNfZXh0CitmaQorcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC4kYWNfZXh0CitmaQorZXZhbCBhY19yZXM9XCQkMworCSAgICAgICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX3JlcyIgPiY1CiskYXNfZWNobyAiJGFjX3JlcyIgPiY2OyB9CisgIGV2YWwgJGFzX2xpbmVub19zdGFjazsgdGVzdCAieCRhc19saW5lbm9fc3RhY2siID0geCAmJiB7IGFzX2xpbmVubz07IHVuc2V0IGFzX2xpbmVubzt9CisKK30gIyBhY19mbl9jX2NoZWNrX3R5cGUKKworIyBhY19mbl9jX3RyeV9saW5rIExJTkVOTworIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBUcnkgdG8gbGluayBjb25mdGVzdC4kYWNfZXh0LCBhbmQgcmV0dXJuIHdoZXRoZXIgdGhpcyBzdWNjZWVkZWQuCithY19mbl9jX3RyeV9saW5rICgpCit7CisgIGFzX2xpbmVubz0ke2FzX2xpbmVuby0iJDEifSBhc19saW5lbm9fc3RhY2s9YXNfbGluZW5vX3N0YWNrPSRhc19saW5lbm9fc3RhY2sKKyAgcm0gLWYgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdCRhY19leGVleHQKKyAgaWYgeyB7IGFjX3RyeT0iJGFjX2xpbmsiCitjYXNlICIoKCRhY190cnkiIGluCisgICpcIiogfCAqXGAqIHwgKlxcKikgYWNfdHJ5X2VjaG89XCRhY190cnk7OworICAqKSBhY190cnlfZWNobz0kYWNfdHJ5OzsKK2VzYWMKK2V2YWwgYWNfdHJ5X2VjaG89IlwiXCRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogJGFjX3RyeV9lY2hvXCIiCiskYXNfZWNobyAiJGFjX3RyeV9lY2hvIjsgfSA+JjUKKyAgKGV2YWwgIiRhY19saW5rIikgMj5jb25mdGVzdC5lcnIKKyAgYWNfc3RhdHVzPSQ/CisgIGlmIHRlc3QgLXMgY29uZnRlc3QuZXJyOyB0aGVuCisgICAgZ3JlcCAtdiAnXiAqKycgY29uZnRlc3QuZXJyID5jb25mdGVzdC5lcjEKKyAgICBjYXQgY29uZnRlc3QuZXIxID4mNQorICAgIG12IC1mIGNvbmZ0ZXN0LmVyMSBjb25mdGVzdC5lcnIKKyAgZmkKKyAgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CisgIHRlc3QgJGFjX3N0YXR1cyA9IDA7IH0gJiYgeworCSB0ZXN0IC16ICIkYWNfY193ZXJyb3JfZmxhZyIgfHwKKwkgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycgorICAgICAgIH0gJiYgdGVzdCAtcyBjb25mdGVzdCRhY19leGVleHQgJiYgeworCSB0ZXN0ICIkY3Jvc3NfY29tcGlsaW5nIiA9IHllcyB8fAorCSAkYXNfdGVzdF94IGNvbmZ0ZXN0JGFjX2V4ZWV4dAorICAgICAgIH07IHRoZW4gOgorICBhY19yZXR2YWw9MAorZWxzZQorICAkYXNfZWNobyAiJGFzX21lOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKK3NlZCAncy9eL3wgLycgY29uZnRlc3QuJGFjX2V4dCA+JjUKKworCWFjX3JldHZhbD0xCitmaQorICAjIERlbGV0ZSB0aGUgSVBBL0lQTyAoSW50ZXIgUHJvY2VkdXJhbCBBbmFseXNpcy9PcHRpbWl6YXRpb24pIGluZm9ybWF0aW9uCisgICMgY3JlYXRlZCBieSB0aGUgUEdJIGNvbXBpbGVyIChjb25mdGVzdF9pcGE4X2NvbmZ0ZXN0Lm9vKSwgYXMgaXQgd291bGQKKyAgIyBpbnRlcmZlcmUgd2l0aCB0aGUgbmV4dCBsaW5rIGNvbW1hbmQ7IGFsc28gZGVsZXRlIGEgZGlyZWN0b3J5IHRoYXQgaXMKKyAgIyBsZWZ0IGJlaGluZCBieSBBcHBsZSdzIGNvbXBpbGVyLiAgV2UgZG8gdGhpcyBiZWZvcmUgZXhlY3V0aW5nIHRoZSBhY3Rpb25zLgorICBybSAtcmYgY29uZnRlc3QuZFNZTSBjb25mdGVzdF9pcGE4X2NvbmZ0ZXN0Lm9vCisgIGV2YWwgJGFzX2xpbmVub19zdGFjazsgdGVzdCAieCRhc19saW5lbm9fc3RhY2siID0geCAmJiB7IGFzX2xpbmVubz07IHVuc2V0IGFzX2xpbmVubzt9CisgIGFzX2ZuX3NldF9zdGF0dXMgJGFjX3JldHZhbAorCit9ICMgYWNfZm5fY190cnlfbGluaworCisjIGFjX2ZuX2NfY2hlY2tfbWVtYmVyIExJTkVOTyBBR0dSIE1FTUJFUiBWQVIgSU5DTFVERVMKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBUcmllcyB0byBmaW5kIGlmIHRoZSBmaWVsZCBNRU1CRVIgZXhpc3RzIGluIHR5cGUgQUdHUiwgYWZ0ZXIgaW5jbHVkaW5nCisjIElOQ0xVREVTLCBzZXR0aW5nIGNhY2hlIHZhcmlhYmxlIFZBUiBhY2NvcmRpbmdseS4KK2FjX2ZuX2NfY2hlY2tfbWVtYmVyICgpCit7CisgIGFzX2xpbmVubz0ke2FzX2xpbmVuby0iJDEifSBhc19saW5lbm9fc3RhY2s9YXNfbGluZW5vX3N0YWNrPSRhc19saW5lbm9fc3RhY2sKKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgJDIuJDMiID4mNQorJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICQyLiQzLi4uICIgPiY2OyB9CitpZiB7IGFzX3Zhcj0kNDsgZXZhbCAidGVzdCBcIlwkeyRhc192YXIrc2V0fVwiID0gc2V0IjsgfTsgdGhlbiA6CisgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CitlbHNlCisgIGNhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKKy8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKyQ1CitpbnQKK21haW4gKCkKK3sKK3N0YXRpYyAkMiBhY19hZ2dyOworaWYgKGFjX2FnZ3IuJDMpCityZXR1cm4gMDsKKyAgOworICByZXR1cm4gMDsKK30KK19BQ0VPRgoraWYgYWNfZm5fY190cnlfY29tcGlsZSAiJExJTkVOTyI7IHRoZW4gOgorICBldmFsICIkND15ZXMiCitlbHNlCisgIGNhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKKy8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKyQ1CitpbnQKK21haW4gKCkKK3sKK3N0YXRpYyAkMiBhY19hZ2dyOworaWYgKHNpemVvZiBhY19hZ2dyLiQzKQorcmV0dXJuIDA7CisgIDsKKyAgcmV0dXJuIDA7Cit9CitfQUNFT0YKK2lmIGFjX2ZuX2NfdHJ5X2NvbXBpbGUgIiRMSU5FTk8iOyB0aGVuIDoKKyAgZXZhbCAiJDQ9eWVzIgorZWxzZQorICBldmFsICIkND1ubyIKK2ZpCitybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKK2ZpCitybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKK2ZpCitldmFsIGFjX3Jlcz1cJCQ0CisJICAgICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfcmVzIiA+JjUKKyRhc19lY2hvICIkYWNfcmVzIiA+JjY7IH0KKyAgZXZhbCAkYXNfbGluZW5vX3N0YWNrOyB0ZXN0ICJ4JGFzX2xpbmVub19zdGFjayIgPSB4ICYmIHsgYXNfbGluZW5vPTsgdW5zZXQgYXNfbGluZW5vO30KKworfSAjIGFjX2ZuX2NfY2hlY2tfbWVtYmVyCisKKyMgYWNfZm5fY19jaGVja19mdW5jIExJTkVOTyBGVU5DIFZBUgorIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFRlc3RzIHdoZXRoZXIgRlVOQyBleGlzdHMsIHNldHRpbmcgdGhlIGNhY2hlIHZhcmlhYmxlIFZBUiBhY2NvcmRpbmdseQorYWNfZm5fY19jaGVja19mdW5jICgpCit7CisgIGFzX2xpbmVubz0ke2FzX2xpbmVuby0iJDEifSBhc19saW5lbm9fc3RhY2s9YXNfbGluZW5vX3N0YWNrPSRhc19saW5lbm9fc3RhY2sKKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgJDIiID4mNQorJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICQyLi4uICIgPiY2OyB9CitpZiB7IGFzX3Zhcj0kMzsgZXZhbCAidGVzdCBcIlwkeyRhc192YXIrc2V0fVwiID0gc2V0IjsgfTsgdGhlbiA6CisgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CitlbHNlCisgIGNhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKKy8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKy8qIERlZmluZSAkMiB0byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzICQyLgorICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldHRpbWVvZmRheS4gICovCisjZGVmaW5lICQyIGlubm9jdW91c18kMgorCisvKiBUZWxsIEdOVSBDIGhlYWRlcnMgdG8gaW5jbHVkZSBzdHVicy4gICovCisjZGVmaW5lIF9fbmVlZF9HTlVfU1RVQlNfSAorCisvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCisgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciAkMiAoKTsgYmVsb3cuCisgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5jZQorICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4gICovCisKKyNpZmRlZiBfX1NURENfXworIyBpbmNsdWRlIDxsaW1pdHMuaD4KKyNlbHNlCisjIGluY2x1ZGUgPGFzc2VydC5oPgorI2VuZGlmCisKKyN1bmRlZiAkMgorCisvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KKyAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQworICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIgorI2VuZGlmCitjaGFyICQyICgpOworLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cworICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCisgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCisjaWYgZGVmaW5lZCBfX3N0dWJfJDIgfHwgZGVmaW5lZCBfX3N0dWJfX18kMgorY2hva2UgbWUKKyNlbmRpZgorCitpbnQKK21haW4gKCkKK3sKK3JldHVybiAkMiAoKTsKKyAgOworICByZXR1cm4gMDsKK30KK19BQ0VPRgoraWYgYWNfZm5fY190cnlfbGluayAiJExJTkVOTyI7IHRoZW4gOgorICBldmFsICIkMz15ZXMiCitlbHNlCisgIGlmIHRlc3QgIiRHQ0MiID0geWVzOyB0aGVuCisJCSAgICAgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAorLyogZW5kIGNvbmZkZWZzLmguICAqLworI3VuZGVmICQyCisvKiBEZWNsYXJlIHRoaXMgZnVuY3Rpb24gd2l0aCB0aGUgc2FtZSBwcm90b3R5cGUgYXMgX19idWlsdGluXyQyLgorICBUaGlzIHJlbW92ZXMgYSB3YXJuaW5nIGFib3V0IGNvbmZsaWN0aW5nIHR5cGVzIGZvciBidWlsdC1pbiBmdW5jdGlvbiAkMiAqLworX190eXBlb2ZfXyhfX2J1aWx0aW5fJDIpICQyOworX190eXBlb2ZfXyhfX2J1aWx0aW5fJDIpICpmID0gJDI7CisKK2ludAorbWFpbiAoKQoreworcmV0dXJuIGYgIT0gJDI7CisgIDsKKyAgcmV0dXJuIDA7Cit9CitfQUNFT0YKK2lmIGFjX2ZuX2NfdHJ5X2xpbmsgIiRMSU5FTk8iOyB0aGVuIDoKKyAgZXZhbCAiJDM9eWVzIgorZWxzZQorICBldmFsICIkMz1ubyIKK2ZpCitybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IFwKKyAgICBjb25mdGVzdCRhY19leGVleHQgY29uZnRlc3QuJGFjX2V4dAorCQkgICBlbHNlCisJCSAgICAgZXZhbCAiJDM9bm8iCisJCSAgIGZpCitmaQorcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBcCisgICAgY29uZnRlc3QkYWNfZXhlZXh0IGNvbmZ0ZXN0LiRhY19leHQKK2ZpCitldmFsIGFjX3Jlcz1cJCQzCisJICAgICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfcmVzIiA+JjUKKyRhc19lY2hvICIkYWNfcmVzIiA+JjY7IH0KKyAgZXZhbCAkYXNfbGluZW5vX3N0YWNrOyB0ZXN0ICJ4JGFzX2xpbmVub19zdGFjayIgPSB4ICYmIHsgYXNfbGluZW5vPTsgdW5zZXQgYXNfbGluZW5vO30KKworfSAjIGFjX2ZuX2NfY2hlY2tfZnVuYworCisjIGFjX2ZuX2NfY2hlY2tfZGVjbCBMSU5FTk8gU1lNQk9MIFZBUiBJTkNMVURFUworIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgVGVzdHMgd2hldGhlciBTWU1CT0wgaXMgZGVjbGFyZWQgaW4gSU5DTFVERVMsIHNldHRpbmcgY2FjaGUgdmFyaWFibGUgVkFSCisjIGFjY29yZGluZ2x5LgorYWNfZm5fY19jaGVja19kZWNsICgpCit7CisgIGFzX2xpbmVubz0ke2FzX2xpbmVuby0iJDEifSBhc19saW5lbm9fc3RhY2s9YXNfbGluZW5vX3N0YWNrPSRhc19saW5lbm9fc3RhY2sKKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyB3aGV0aGVyICQyIGlzIGRlY2xhcmVkIiA+JjUKKyRhc19lY2hvX24gImNoZWNraW5nIHdoZXRoZXIgJDIgaXMgZGVjbGFyZWQuLi4gIiA+JjY7IH0KK2lmIHsgYXNfdmFyPSQzOyBldmFsICJ0ZXN0IFwiXCR7JGFzX3ZhcitzZXR9XCIgPSBzZXQiOyB9OyB0aGVuIDoKKyAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKK2Vsc2UKKyAgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAorLyogZW5kIGNvbmZkZWZzLmguICAqLworJDQKK2ludAorbWFpbiAoKQoreworI2lmbmRlZiAkMgorICAodm9pZCkgJDI7CisjZW5kaWYKKworICA7CisgIHJldHVybiAwOworfQorX0FDRU9GCitpZiBhY19mbl9jX3RyeV9jb21waWxlICIkTElORU5PIjsgdGhlbiA6CisgIGV2YWwgIiQzPXllcyIKK2Vsc2UKKyAgZXZhbCAiJDM9bm8iCitmaQorcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC4kYWNfZXh0CitmaQorZXZhbCBhY19yZXM9XCQkMworCSAgICAgICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX3JlcyIgPiY1CiskYXNfZWNobyAiJGFjX3JlcyIgPiY2OyB9CisgIGV2YWwgJGFzX2xpbmVub19zdGFjazsgdGVzdCAieCRhc19saW5lbm9fc3RhY2siID0geCAmJiB7IGFzX2xpbmVubz07IHVuc2V0IGFzX2xpbmVubzt9CisKK30gIyBhY19mbl9jX2NoZWNrX2RlY2wKK2NhdCA+Y29uZmlnLmxvZyA8PF9BQ0VPRgorVGhpcyBmaWxlIGNvbnRhaW5zIGFueSBtZXNzYWdlcyBwcm9kdWNlZCBieSBjb21waWxlcnMgd2hpbGUKK3J1bm5pbmcgY29uZmlndXJlLCB0byBhaWQgZGVidWdnaW5nIGlmIGNvbmZpZ3VyZSBtYWtlcyBhIG1pc3Rha2UuCisKK0l0IHdhcyBjcmVhdGVkIGJ5IHN0cmFjZSAkYXNfbWUgNC41LjIwLCB3aGljaCB3YXMKK2dlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi42NS4gIEludm9jYXRpb24gY29tbWFuZCBsaW5lIHdhcworCisgICQgJDAgJEAKKworX0FDRU9GCitleGVjIDU+PmNvbmZpZy5sb2cKK3sKK2NhdCA8PF9BU1VOQU1FCisjIyAtLS0tLS0tLS0gIyMKKyMjIFBsYXRmb3JtLiAjIworIyMgLS0tLS0tLS0tICMjCisKK2hvc3RuYW1lID0gYChob3N0bmFtZSB8fCB1bmFtZSAtbikgMj4vZGV2L251bGwgfCBzZWQgMXFgCit1bmFtZSAtbSA9IGAodW5hbWUgLW0pIDI+L2Rldi9udWxsIHx8IGVjaG8gdW5rbm93bmAKK3VuYW1lIC1yID0gYCh1bmFtZSAtcikgMj4vZGV2L251bGwgfHwgZWNobyB1bmtub3duYAordW5hbWUgLXMgPSBgKHVuYW1lIC1zKSAyPi9kZXYvbnVsbCB8fCBlY2hvIHVua25vd25gCit1bmFtZSAtdiA9IGAodW5hbWUgLXYpIDI+L2Rldi9udWxsIHx8IGVjaG8gdW5rbm93bmAKKworL3Vzci9iaW4vdW5hbWUgLXAgPSBgKC91c3IvYmluL3VuYW1lIC1wKSAyPi9kZXYvbnVsbCB8fCBlY2hvIHVua25vd25gCisvYmluL3VuYW1lIC1YICAgICA9IGAoL2Jpbi91bmFtZSAtWCkgMj4vZGV2L251bGwgICAgIHx8IGVjaG8gdW5rbm93bmAKKworL2Jpbi9hcmNoICAgICAgICAgICAgICA9IGAoL2Jpbi9hcmNoKSAyPi9kZXYvbnVsbCAgICAgICAgICAgICAgfHwgZWNobyB1bmtub3duYAorL3Vzci9iaW4vYXJjaCAtayAgICAgICA9IGAoL3Vzci9iaW4vYXJjaCAtaykgMj4vZGV2L251bGwgICAgICAgfHwgZWNobyB1bmtub3duYAorL3Vzci9jb252ZXgvZ2V0c3lzaW5mbyA9IGAoL3Vzci9jb252ZXgvZ2V0c3lzaW5mbykgMj4vZGV2L251bGwgfHwgZWNobyB1bmtub3duYAorL3Vzci9iaW4vaG9zdGluZm8gICAgICA9IGAoL3Vzci9iaW4vaG9zdGluZm8pIDI+L2Rldi9udWxsICAgICAgfHwgZWNobyB1bmtub3duYAorL2Jpbi9tYWNoaW5lICAgICAgICAgICA9IGAoL2Jpbi9tYWNoaW5lKSAyPi9kZXYvbnVsbCAgICAgICAgICAgfHwgZWNobyB1bmtub3duYAorL3Vzci9iaW4vb3NsZXZlbCAgICAgICA9IGAoL3Vzci9iaW4vb3NsZXZlbCkgMj4vZGV2L251bGwgICAgICAgfHwgZWNobyB1bmtub3duYAorL2Jpbi91bml2ZXJzZSAgICAgICAgICA9IGAoL2Jpbi91bml2ZXJzZSkgMj4vZGV2L251bGwgICAgICAgICAgfHwgZWNobyB1bmtub3duYAorCitfQVNVTkFNRQorCithc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCitmb3IgYXNfZGlyIGluICRQQVRICitkbworICBJRlM9JGFzX3NhdmVfSUZTCisgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCisgICAgJGFzX2VjaG8gIlBBVEg6ICRhc19kaXIiCisgIGRvbmUKK0lGUz0kYXNfc2F2ZV9JRlMKKworfSA+JjUKKworY2F0ID4mNSA8PF9BQ0VPRgorCisKKyMjIC0tLS0tLS0tLS0tICMjCisjIyBDb3JlIHRlc3RzLiAjIworIyMgLS0tLS0tLS0tLS0gIyMKKworX0FDRU9GCisKKworIyBLZWVwIGEgdHJhY2Ugb2YgdGhlIGNvbW1hbmQgbGluZS4KKyMgU3RyaXAgb3V0IC0tbm8tY3JlYXRlIGFuZCAtLW5vLXJlY3Vyc2lvbiBzbyB0aGV5IGRvIG5vdCBwaWxlIHVwLgorIyBTdHJpcCBvdXQgLS1zaWxlbnQgYmVjYXVzZSB3ZSBkb24ndCB3YW50IHRvIHJlY29yZCBpdCBmb3IgZnV0dXJlIHJ1bnMuCisjIEFsc28gcXVvdGUgYW55IGFyZ3MgY29udGFpbmluZyBzaGVsbCBtZXRhLWNoYXJhY3RlcnMuCisjIE1ha2UgdHdvIHBhc3NlcyB0byBhbGxvdyBmb3IgcHJvcGVyIGR1cGxpY2F0ZS1hcmd1bWVudCBzdXBwcmVzc2lvbi4KK2FjX2NvbmZpZ3VyZV9hcmdzPQorYWNfY29uZmlndXJlX2FyZ3MwPQorYWNfY29uZmlndXJlX2FyZ3MxPQorYWNfbXVzdF9rZWVwX25leHQ9ZmFsc2UKK2ZvciBhY19wYXNzIGluIDEgMgorZG8KKyAgZm9yIGFjX2FyZworICBkbworICAgIGNhc2UgJGFjX2FyZyBpbgorICAgIC1uby1jcmVhdGUgfCAtLW5vLWMqIHwgLW4gfCAtbm8tcmVjdXJzaW9uIHwgLS1uby1yKikgY29udGludWUgOzsKKyAgICAtcSB8IC1xdWlldCB8IC0tcXVpZXQgfCAtLXF1aWUgfCAtLXF1aSB8IC0tcXUgfCAtLXEgXAorICAgIHwgLXNpbGVudCB8IC0tc2lsZW50IHwgLS1zaWxlbiB8IC0tc2lsZSB8IC0tc2lsKQorICAgICAgY29udGludWUgOzsKKyAgICAqXCcqKQorICAgICAgYWNfYXJnPWAkYXNfZWNobyAiJGFjX2FyZyIgfCBzZWQgInMvJy8nXFxcXFxcXFwnJy9nImAgOzsKKyAgICBlc2FjCisgICAgY2FzZSAkYWNfcGFzcyBpbgorICAgIDEpIGFzX2ZuX2FwcGVuZCBhY19jb25maWd1cmVfYXJnczAgIiAnJGFjX2FyZyciIDs7CisgICAgMikKKyAgICAgIGFzX2ZuX2FwcGVuZCBhY19jb25maWd1cmVfYXJnczEgIiAnJGFjX2FyZyciCisgICAgICBpZiB0ZXN0ICRhY19tdXN0X2tlZXBfbmV4dCA9IHRydWU7IHRoZW4KKwlhY19tdXN0X2tlZXBfbmV4dD1mYWxzZSAjIEdvdCB2YWx1ZSwgYmFjayB0byBub3JtYWwuCisgICAgICBlbHNlCisJY2FzZSAkYWNfYXJnIGluCisJICAqPSogfCAtLWNvbmZpZy1jYWNoZSB8IC1DIHwgLWRpc2FibGUtKiB8IC0tZGlzYWJsZS0qIFwKKwkgIHwgLWVuYWJsZS0qIHwgLS1lbmFibGUtKiB8IC1nYXMgfCAtLWcqIHwgLW5mcCB8IC0tbmYqIFwKKwkgIHwgLXEgfCAtcXVpZXQgfCAtLXEqIHwgLXNpbGVudCB8IC0tc2lsKiB8IC12IHwgLXZlcmIqIFwKKwkgIHwgLXdpdGgtKiB8IC0td2l0aC0qIHwgLXdpdGhvdXQtKiB8IC0td2l0aG91dC0qIHwgLS14KQorCSAgICBjYXNlICIkYWNfY29uZmlndXJlX2FyZ3MwICIgaW4KKwkgICAgICAiJGFjX2NvbmZpZ3VyZV9hcmdzMSIqIiAnJGFjX2FyZycgIiogKSBjb250aW51ZSA7OworCSAgICBlc2FjCisJICAgIDs7CisJICAtKiApIGFjX211c3Rfa2VlcF9uZXh0PXRydWUgOzsKKwllc2FjCisgICAgICBmaQorICAgICAgYXNfZm5fYXBwZW5kIGFjX2NvbmZpZ3VyZV9hcmdzICIgJyRhY19hcmcnIgorICAgICAgOzsKKyAgICBlc2FjCisgIGRvbmUKK2RvbmUKK3sgYWNfY29uZmlndXJlX2FyZ3MwPTsgdW5zZXQgYWNfY29uZmlndXJlX2FyZ3MwO30KK3sgYWNfY29uZmlndXJlX2FyZ3MxPTsgdW5zZXQgYWNfY29uZmlndXJlX2FyZ3MxO30KKworIyBXaGVuIGludGVycnVwdGVkIG9yIGV4aXQnZCwgY2xlYW51cCB0ZW1wb3JhcnkgZmlsZXMsIGFuZCBjb21wbGV0ZQorIyBjb25maWcubG9nLiAgV2UgcmVtb3ZlIGNvbW1lbnRzIGJlY2F1c2UgYW55d2F5IHRoZSBxdW90ZXMgaW4gdGhlcmUKKyMgd291bGQgY2F1c2UgcHJvYmxlbXMgb3IgbG9vayB1Z2x5LgorIyBXQVJOSU5HOiBVc2UgJ1wnJyB0byByZXByZXNlbnQgYW4gYXBvc3Ryb3BoZSB3aXRoaW4gdGhlIHRyYXAuCisjIFdBUk5JTkc6IERvIG5vdCBzdGFydCB0aGUgdHJhcCBjb2RlIHdpdGggYSBuZXdsaW5lLCBkdWUgdG8gYSBGcmVlQlNEIDQuMCBidWcuCit0cmFwICdleGl0X3N0YXR1cz0kPworICAjIFNhdmUgaW50byBjb25maWcubG9nIHNvbWUgaW5mb3JtYXRpb24gdGhhdCBtaWdodCBoZWxwIGluIGRlYnVnZ2luZy4KKyAgeworICAgIGVjaG8KKworICAgIGNhdCA8PFxfQVNCT1gKKyMjIC0tLS0tLS0tLS0tLS0tLS0gIyMKKyMjIENhY2hlIHZhcmlhYmxlcy4gIyMKKyMjIC0tLS0tLS0tLS0tLS0tLS0gIyMKK19BU0JPWAorICAgIGVjaG8KKyAgICAjIFRoZSBmb2xsb3dpbmcgd2F5IG9mIHdyaXRpbmcgdGhlIGNhY2hlIG1pc2hhbmRsZXMgbmV3bGluZXMgaW4gdmFsdWVzLAorKAorICBmb3IgYWNfdmFyIGluIGAoc2V0KSAyPiYxIHwgc2VkIC1uICdcJydzL15cKFthLXpBLVpfXVthLXpBLVowLTlfXSpcKT0uKi9cMS9wJ1wnJ2A7IGRvCisgICAgZXZhbCBhY192YWw9XCQkYWNfdmFyCisgICAgY2FzZSAkYWNfdmFsIGluICMoCisgICAgKiR7YXNfbmx9KikKKyAgICAgIGNhc2UgJGFjX3ZhciBpbiAjKAorICAgICAgKl9jdl8qKSB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IFdBUk5JTkc6IGNhY2hlIHZhcmlhYmxlICRhY192YXIgY29udGFpbnMgYSBuZXdsaW5lIiA+JjUKKyRhc19lY2hvICIkYXNfbWU6IFdBUk5JTkc6IGNhY2hlIHZhcmlhYmxlICRhY192YXIgY29udGFpbnMgYSBuZXdsaW5lIiA+JjI7fSA7OworICAgICAgZXNhYworICAgICAgY2FzZSAkYWNfdmFyIGluICMoCisgICAgICBfIHwgSUZTIHwgYXNfbmwpIDs7ICMoCisgICAgICBCQVNIX0FSR1YgfCBCQVNIX1NPVVJDRSkgZXZhbCAkYWNfdmFyPSA7OyAjKAorICAgICAgKikgeyBldmFsICRhY192YXI9OyB1bnNldCAkYWNfdmFyO30gOzsKKyAgICAgIGVzYWMgOzsKKyAgICBlc2FjCisgIGRvbmUKKyAgKHNldCkgMj4mMSB8CisgICAgY2FzZSAkYXNfbmxgKGFjX3NwYWNlPSdcJycgJ1wnJzsgc2V0KSAyPiYxYCBpbiAjKAorICAgICoke2FzX25sfWFjX3NwYWNlPVwgKikKKyAgICAgIHNlZCAtbiBcCisJInMvJ1wnJy8nXCcnXFxcXCdcJycnXCcnL2c7CisJICBzL15cXChbXyRhc19jcl9hbG51bV0qX2N2X1tfJGFzX2NyX2FsbnVtXSpcXCk9XFwoLipcXCkvXFwxPSdcJydcXDInXCcnL3AiCisgICAgICA7OyAjKAorICAgICopCisgICAgICBzZWQgLW4gIi9eW18kYXNfY3JfYWxudW1dKl9jdl9bXyRhc19jcl9hbG51bV0qPS9wIgorICAgICAgOzsKKyAgICBlc2FjIHwKKyAgICBzb3J0CispCisgICAgZWNobworCisgICAgY2F0IDw8XF9BU0JPWAorIyMgLS0tLS0tLS0tLS0tLS0tLS0gIyMKKyMjIE91dHB1dCB2YXJpYWJsZXMuICMjCisjIyAtLS0tLS0tLS0tLS0tLS0tLSAjIworX0FTQk9YCisgICAgZWNobworICAgIGZvciBhY192YXIgaW4gJGFjX3N1YnN0X3ZhcnMKKyAgICBkbworICAgICAgZXZhbCBhY192YWw9XCQkYWNfdmFyCisgICAgICBjYXNlICRhY192YWwgaW4KKyAgICAgICpcJ1wnJyopIGFjX3ZhbD1gJGFzX2VjaG8gIiRhY192YWwiIHwgc2VkICJzLydcJycvJ1wnJ1xcXFxcXFxcJ1wnJydcJycvZyJgOzsKKyAgICAgIGVzYWMKKyAgICAgICRhc19lY2hvICIkYWNfdmFyPSdcJyckYWNfdmFsJ1wnJyIKKyAgICBkb25lIHwgc29ydAorICAgIGVjaG8KKworICAgIGlmIHRlc3QgLW4gIiRhY19zdWJzdF9maWxlcyI7IHRoZW4KKyAgICAgIGNhdCA8PFxfQVNCT1gKKyMjIC0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKKyMjIEZpbGUgc3Vic3RpdHV0aW9ucy4gIyMKKyMjIC0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKK19BU0JPWAorICAgICAgZWNobworICAgICAgZm9yIGFjX3ZhciBpbiAkYWNfc3Vic3RfZmlsZXMKKyAgICAgIGRvCisJZXZhbCBhY192YWw9XCQkYWNfdmFyCisJY2FzZSAkYWNfdmFsIGluCisJKlwnXCcnKikgYWNfdmFsPWAkYXNfZWNobyAiJGFjX3ZhbCIgfCBzZWQgInMvJ1wnJy8nXCcnXFxcXFxcXFwnXCcnJ1wnJy9nImA7OworCWVzYWMKKwkkYXNfZWNobyAiJGFjX3Zhcj0nXCcnJGFjX3ZhbCdcJyciCisgICAgICBkb25lIHwgc29ydAorICAgICAgZWNobworICAgIGZpCisKKyAgICBpZiB0ZXN0IC1zIGNvbmZkZWZzLmg7IHRoZW4KKyAgICAgIGNhdCA8PFxfQVNCT1gKKyMjIC0tLS0tLS0tLS0tICMjCisjIyBjb25mZGVmcy5oLiAjIworIyMgLS0tLS0tLS0tLS0gIyMKK19BU0JPWAorICAgICAgZWNobworICAgICAgY2F0IGNvbmZkZWZzLmgKKyAgICAgIGVjaG8KKyAgICBmaQorICAgIHRlc3QgIiRhY19zaWduYWwiICE9IDAgJiYKKyAgICAgICRhc19lY2hvICIkYXNfbWU6IGNhdWdodCBzaWduYWwgJGFjX3NpZ25hbCIKKyAgICAkYXNfZWNobyAiJGFzX21lOiBleGl0ICRleGl0X3N0YXR1cyIKKyAgfSA+JjUKKyAgcm0gLWYgY29yZSAqLmNvcmUgY29yZS5jb25mdGVzdC4qICYmCisgICAgcm0gLWYgLXIgY29uZnRlc3QqIGNvbmZkZWZzKiBjb25mJCQqICRhY19jbGVhbl9maWxlcyAmJgorICAgIGV4aXQgJGV4aXRfc3RhdHVzCisnIDAKK2ZvciBhY19zaWduYWwgaW4gMSAyIDEzIDE1OyBkbworICB0cmFwICdhY19zaWduYWw9JyRhY19zaWduYWwnOyBhc19mbl9leGl0IDEnICRhY19zaWduYWwKK2RvbmUKK2FjX3NpZ25hbD0wCisKKyMgY29uZmRlZnMuaCBhdm9pZHMgT1MgY29tbWFuZCBsaW5lIGxlbmd0aCBsaW1pdHMgdGhhdCBERUZTIGNhbiBleGNlZWQuCitybSAtZiAtciBjb25mdGVzdCogY29uZmRlZnMuaAorCiskYXNfZWNobyAiLyogY29uZmRlZnMuaCAqLyIgPiBjb25mZGVmcy5oCisKKyMgUHJlZGVmaW5lZCBwcmVwcm9jZXNzb3IgdmFyaWFibGVzLgorCitjYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCisjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiJFBBQ0tBR0VfTkFNRSIKK19BQ0VPRgorCitjYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCisjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiJFBBQ0tBR0VfVEFSTkFNRSIKK19BQ0VPRgorCitjYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCisjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiJFBBQ0tBR0VfVkVSU0lPTiIKK19BQ0VPRgorCitjYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCisjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICIkUEFDS0FHRV9TVFJJTkciCitfQUNFT0YKKworY2F0ID4+Y29uZmRlZnMuaCA8PF9BQ0VPRgorI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiJFBBQ0tBR0VfQlVHUkVQT1JUIgorX0FDRU9GCisKK2NhdCA+PmNvbmZkZWZzLmggPDxfQUNFT0YKKyNkZWZpbmUgUEFDS0FHRV9VUkwgIiRQQUNLQUdFX1VSTCIKK19BQ0VPRgorCisKKyMgTGV0IHRoZSBzaXRlIGZpbGUgc2VsZWN0IGFuIGFsdGVybmF0ZSBjYWNoZSBmaWxlIGlmIGl0IHdhbnRzIHRvLgorIyBQcmVmZXIgYW4gZXhwbGljaXRseSBzZWxlY3RlZCBmaWxlIHRvIGF1dG9tYXRpY2FsbHkgc2VsZWN0ZWQgb25lcy4KK2FjX3NpdGVfZmlsZTE9Tk9ORQorYWNfc2l0ZV9maWxlMj1OT05FCitpZiB0ZXN0IC1uICIkQ09ORklHX1NJVEUiOyB0aGVuCisgIGFjX3NpdGVfZmlsZTE9JENPTkZJR19TSVRFCitlbGlmIHRlc3QgIngkcHJlZml4IiAhPSB4Tk9ORTsgdGhlbgorICBhY19zaXRlX2ZpbGUxPSRwcmVmaXgvc2hhcmUvY29uZmlnLnNpdGUKKyAgYWNfc2l0ZV9maWxlMj0kcHJlZml4L2V0Yy9jb25maWcuc2l0ZQorZWxzZQorICBhY19zaXRlX2ZpbGUxPSRhY19kZWZhdWx0X3ByZWZpeC9zaGFyZS9jb25maWcuc2l0ZQorICBhY19zaXRlX2ZpbGUyPSRhY19kZWZhdWx0X3ByZWZpeC9ldGMvY29uZmlnLnNpdGUKK2ZpCitmb3IgYWNfc2l0ZV9maWxlIGluICIkYWNfc2l0ZV9maWxlMSIgIiRhY19zaXRlX2ZpbGUyIgorZG8KKyAgdGVzdCAieCRhY19zaXRlX2ZpbGUiID0geE5PTkUgJiYgY29udGludWUKKyAgaWYgdGVzdCAvZGV2L251bGwgIT0gIiRhY19zaXRlX2ZpbGUiICYmIHRlc3QgLXIgIiRhY19zaXRlX2ZpbGUiOyB0aGVuCisgICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBsb2FkaW5nIHNpdGUgc2NyaXB0ICRhY19zaXRlX2ZpbGUiID4mNQorJGFzX2VjaG8gIiRhc19tZTogbG9hZGluZyBzaXRlIHNjcmlwdCAkYWNfc2l0ZV9maWxlIiA+JjY7fQorICAgIHNlZCAncy9eL3wgLycgIiRhY19zaXRlX2ZpbGUiID4mNQorICAgIC4gIiRhY19zaXRlX2ZpbGUiCisgIGZpCitkb25lCisKK2lmIHRlc3QgLXIgIiRjYWNoZV9maWxlIjsgdGhlbgorICAjIFNvbWUgdmVyc2lvbnMgb2YgYmFzaCB3aWxsIGZhaWwgdG8gc291cmNlIC9kZXYvbnVsbCAoc3BlY2lhbCBmaWxlcworICAjIGFjdHVhbGx5KSwgc28gd2UgYXZvaWQgZG9pbmcgdGhhdC4gIERKR1BQIGVtdWxhdGVzIGl0IGFzIGEgcmVndWxhciBmaWxlLgorICBpZiB0ZXN0IC9kZXYvbnVsbCAhPSAiJGNhY2hlX2ZpbGUiICYmIHRlc3QgLWYgIiRjYWNoZV9maWxlIjsgdGhlbgorICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogbG9hZGluZyBjYWNoZSAkY2FjaGVfZmlsZSIgPiY1CiskYXNfZWNobyAiJGFzX21lOiBsb2FkaW5nIGNhY2hlICRjYWNoZV9maWxlIiA+JjY7fQorICAgIGNhc2UgJGNhY2hlX2ZpbGUgaW4KKyAgICAgIFtcXC9dKiB8ID86W1xcL10qICkgLiAiJGNhY2hlX2ZpbGUiOzsKKyAgICAgICopICAgICAgICAgICAgICAgICAgICAgIC4gIi4vJGNhY2hlX2ZpbGUiOzsKKyAgICBlc2FjCisgIGZpCitlbHNlCisgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY3JlYXRpbmcgY2FjaGUgJGNhY2hlX2ZpbGUiID4mNQorJGFzX2VjaG8gIiRhc19tZTogY3JlYXRpbmcgY2FjaGUgJGNhY2hlX2ZpbGUiID4mNjt9CisgID4kY2FjaGVfZmlsZQorZmkKKworIyBDaGVjayB0aGF0IHRoZSBwcmVjaW91cyB2YXJpYWJsZXMgc2F2ZWQgaW4gdGhlIGNhY2hlIGhhdmUga2VwdCB0aGUgc2FtZQorIyB2YWx1ZS4KK2FjX2NhY2hlX2NvcnJ1cHRlZD1mYWxzZQorZm9yIGFjX3ZhciBpbiAkYWNfcHJlY2lvdXNfdmFyczsgZG8KKyAgZXZhbCBhY19vbGRfc2V0PVwkYWNfY3ZfZW52XyR7YWNfdmFyfV9zZXQKKyAgZXZhbCBhY19uZXdfc2V0PVwkYWNfZW52XyR7YWNfdmFyfV9zZXQKKyAgZXZhbCBhY19vbGRfdmFsPVwkYWNfY3ZfZW52XyR7YWNfdmFyfV92YWx1ZQorICBldmFsIGFjX25ld192YWw9XCRhY19lbnZfJHthY192YXJ9X3ZhbHVlCisgIGNhc2UgJGFjX29sZF9zZXQsJGFjX25ld19zZXQgaW4KKyAgICBzZXQsKQorICAgICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBlcnJvcjogXGAkYWNfdmFyJyB3YXMgc2V0IHRvIFxgJGFjX29sZF92YWwnIGluIHRoZSBwcmV2aW91cyBydW4iID4mNQorJGFzX2VjaG8gIiRhc19tZTogZXJyb3I6IFxgJGFjX3Zhcicgd2FzIHNldCB0byBcYCRhY19vbGRfdmFsJyBpbiB0aGUgcHJldmlvdXMgcnVuIiA+JjI7fQorICAgICAgYWNfY2FjaGVfY29ycnVwdGVkPTogOzsKKyAgICAsc2V0KQorICAgICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBlcnJvcjogXGAkYWNfdmFyJyB3YXMgbm90IHNldCBpbiB0aGUgcHJldmlvdXMgcnVuIiA+JjUKKyRhc19lY2hvICIkYXNfbWU6IGVycm9yOiBcYCRhY192YXInIHdhcyBub3Qgc2V0IGluIHRoZSBwcmV2aW91cyBydW4iID4mMjt9CisgICAgICBhY19jYWNoZV9jb3JydXB0ZWQ9OiA7OworICAgICwpOzsKKyAgICAqKQorICAgICAgaWYgdGVzdCAieCRhY19vbGRfdmFsIiAhPSAieCRhY19uZXdfdmFsIjsgdGhlbgorCSMgZGlmZmVyZW5jZXMgaW4gd2hpdGVzcGFjZSBkbyBub3QgbGVhZCB0byBmYWlsdXJlLgorCWFjX29sZF92YWxfdz1gZWNobyB4ICRhY19vbGRfdmFsYAorCWFjX25ld192YWxfdz1gZWNobyB4ICRhY19uZXdfdmFsYAorCWlmIHRlc3QgIiRhY19vbGRfdmFsX3ciICE9ICIkYWNfbmV3X3ZhbF93IjsgdGhlbgorCSAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBlcnJvcjogXGAkYWNfdmFyJyBoYXMgY2hhbmdlZCBzaW5jZSB0aGUgcHJldmlvdXMgcnVuOiIgPiY1CiskYXNfZWNobyAiJGFzX21lOiBlcnJvcjogXGAkYWNfdmFyJyBoYXMgY2hhbmdlZCBzaW5jZSB0aGUgcHJldmlvdXMgcnVuOiIgPiYyO30KKwkgIGFjX2NhY2hlX2NvcnJ1cHRlZD06CisJZWxzZQorCSAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiB3YXJuaW5nOiBpZ25vcmluZyB3aGl0ZXNwYWNlIGNoYW5nZXMgaW4gXGAkYWNfdmFyJyBzaW5jZSB0aGUgcHJldmlvdXMgcnVuOiIgPiY1CiskYXNfZWNobyAiJGFzX21lOiB3YXJuaW5nOiBpZ25vcmluZyB3aGl0ZXNwYWNlIGNoYW5nZXMgaW4gXGAkYWNfdmFyJyBzaW5jZSB0aGUgcHJldmlvdXMgcnVuOiIgPiYyO30KKwkgIGV2YWwgJGFjX3Zhcj1cJGFjX29sZF92YWwKKwlmaQorCXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogICBmb3JtZXIgdmFsdWU6ICBcYCRhY19vbGRfdmFsJyIgPiY1CiskYXNfZWNobyAiJGFzX21lOiAgIGZvcm1lciB2YWx1ZTogIFxgJGFjX29sZF92YWwnIiA+JjI7fQorCXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogICBjdXJyZW50IHZhbHVlOiBcYCRhY19uZXdfdmFsJyIgPiY1CiskYXNfZWNobyAiJGFzX21lOiAgIGN1cnJlbnQgdmFsdWU6IFxgJGFjX25ld192YWwnIiA+JjI7fQorICAgICAgZmk7OworICBlc2FjCisgICMgUGFzcyBwcmVjaW91cyB2YXJpYWJsZXMgdG8gY29uZmlnLnN0YXR1cy4KKyAgaWYgdGVzdCAiJGFjX25ld19zZXQiID0gc2V0OyB0aGVuCisgICAgY2FzZSAkYWNfbmV3X3ZhbCBpbgorICAgICpcJyopIGFjX2FyZz0kYWNfdmFyPWAkYXNfZWNobyAiJGFjX25ld192YWwiIHwgc2VkICJzLycvJ1xcXFxcXFxcJycvZyJgIDs7CisgICAgKikgYWNfYXJnPSRhY192YXI9JGFjX25ld192YWwgOzsKKyAgICBlc2FjCisgICAgY2FzZSAiICRhY19jb25maWd1cmVfYXJncyAiIGluCisgICAgICAqIiAnJGFjX2FyZycgIiopIDs7ICMgQXZvaWQgZHVwcy4gIFVzZSBvZiBxdW90ZXMgZW5zdXJlcyBhY2N1cmFjeS4KKyAgICAgICopIGFzX2ZuX2FwcGVuZCBhY19jb25maWd1cmVfYXJncyAiICckYWNfYXJnJyIgOzsKKyAgICBlc2FjCisgIGZpCitkb25lCitpZiAkYWNfY2FjaGVfY29ycnVwdGVkOyB0aGVuCisgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogZXJyb3I6IGluIFxgJGFjX3B3ZCc6IiA+JjUKKyRhc19lY2hvICIkYXNfbWU6IGVycm9yOiBpbiBcYCRhY19wd2QnOiIgPiYyO30KKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBlcnJvcjogY2hhbmdlcyBpbiB0aGUgZW52aXJvbm1lbnQgY2FuIGNvbXByb21pc2UgdGhlIGJ1aWxkIiA+JjUKKyRhc19lY2hvICIkYXNfbWU6IGVycm9yOiBjaGFuZ2VzIGluIHRoZSBlbnZpcm9ubWVudCBjYW4gY29tcHJvbWlzZSB0aGUgYnVpbGQiID4mMjt9CisgIGFzX2ZuX2Vycm9yICJydW4gXGBtYWtlIGRpc3RjbGVhbicgYW5kL29yIFxgcm0gJGNhY2hlX2ZpbGUnIGFuZCBzdGFydCBvdmVyIiAiJExJTkVOTyIgNQorZmkKKyMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCisjIyBNYWluIGJvZHkgb2Ygc2NyaXB0LiAjIworIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKKworYWNfZXh0PWMKK2FjX2NwcD0nJENQUCAkQ1BQRkxBR1MnCithY19jb21waWxlPSckQ0MgLWMgJENGTEFHUyAkQ1BQRkxBR1MgY29uZnRlc3QuJGFjX2V4dCA+JjUnCithY19saW5rPSckQ0MgLW8gY29uZnRlc3QkYWNfZXhlZXh0ICRDRkxBR1MgJENQUEZMQUdTICRMREZMQUdTIGNvbmZ0ZXN0LiRhY19leHQgJExJQlMgPiY1JworYWNfY29tcGlsZXJfZ251PSRhY19jdl9jX2NvbXBpbGVyX2dudQorCisKKworYWNfYXV4X2Rpcj0KK2ZvciBhY19kaXIgaW4gLiAiJHNyY2RpciIvLjsgZG8KKyAgaWYgdGVzdCAtZiAiJGFjX2Rpci9pbnN0YWxsLXNoIjsgdGhlbgorICAgIGFjX2F1eF9kaXI9JGFjX2RpcgorICAgIGFjX2luc3RhbGxfc2g9IiRhY19hdXhfZGlyL2luc3RhbGwtc2ggLWMiCisgICAgYnJlYWsKKyAgZWxpZiB0ZXN0IC1mICIkYWNfZGlyL2luc3RhbGwuc2giOyB0aGVuCisgICAgYWNfYXV4X2Rpcj0kYWNfZGlyCisgICAgYWNfaW5zdGFsbF9zaD0iJGFjX2F1eF9kaXIvaW5zdGFsbC5zaCAtYyIKKyAgICBicmVhaworICBlbGlmIHRlc3QgLWYgIiRhY19kaXIvc2h0b29sIjsgdGhlbgorICAgIGFjX2F1eF9kaXI9JGFjX2RpcgorICAgIGFjX2luc3RhbGxfc2g9IiRhY19hdXhfZGlyL3NodG9vbCBpbnN0YWxsIC1jIgorICAgIGJyZWFrCisgIGZpCitkb25lCitpZiB0ZXN0IC16ICIkYWNfYXV4X2RpciI7IHRoZW4KKyAgYXNfZm5fZXJyb3IgImNhbm5vdCBmaW5kIGluc3RhbGwtc2gsIGluc3RhbGwuc2gsIG9yIHNodG9vbCBpbiAuIFwiJHNyY2RpclwiLy4iICIkTElORU5PIiA1CitmaQorCisjIFRoZXNlIHRocmVlIHZhcmlhYmxlcyBhcmUgdW5kb2N1bWVudGVkIGFuZCB1bnN1cHBvcnRlZCwKKyMgYW5kIGFyZSBpbnRlbmRlZCB0byBiZSB3aXRoZHJhd24gaW4gYSBmdXR1cmUgQXV0b2NvbmYgcmVsZWFzZS4KKyMgVGhleSBjYW4gY2F1c2Ugc2VyaW91cyBwcm9ibGVtcyBpZiBhIGJ1aWxkZXIncyBzb3VyY2UgdHJlZSBpcyBpbiBhIGRpcmVjdG9yeQorIyB3aG9zZSBmdWxsIG5hbWUgY29udGFpbnMgdW51c3VhbCBjaGFyYWN0ZXJzLgorYWNfY29uZmlnX2d1ZXNzPSIkU0hFTEwgJGFjX2F1eF9kaXIvY29uZmlnLmd1ZXNzIiAgIyBQbGVhc2UgZG9uJ3QgdXNlIHRoaXMgdmFyLgorYWNfY29uZmlnX3N1Yj0iJFNIRUxMICRhY19hdXhfZGlyL2NvbmZpZy5zdWIiICAjIFBsZWFzZSBkb24ndCB1c2UgdGhpcyB2YXIuCithY19jb25maWd1cmU9IiRTSEVMTCAkYWNfYXV4X2Rpci9jb25maWd1cmUiICAjIFBsZWFzZSBkb24ndCB1c2UgdGhpcyB2YXIuCisKKworYWNfY29uZmlnX2hlYWRlcnM9IiRhY19jb25maWdfaGVhZGVycyBjb25maWcuaCIKKworYW1fX2FwaV92ZXJzaW9uPScxLjExJworCisjIEZpbmQgYSBnb29kIGluc3RhbGwgcHJvZ3JhbS4gIFdlIHByZWZlciBhIEMgcHJvZ3JhbSAoZmFzdGVyKSwKKyMgc28gb25lIHNjcmlwdCBpcyBhcyBnb29kIGFzIGFub3RoZXIuICBCdXQgYXZvaWQgdGhlIGJyb2tlbiBvcgorIyBpbmNvbXBhdGlibGUgdmVyc2lvbnM6CisjIFN5c1YgL2V0Yy9pbnN0YWxsLCAvdXNyL3NiaW4vaW5zdGFsbAorIyBTdW5PUyAvdXNyL2V0Yy9pbnN0YWxsCisjIElSSVggL3NiaW4vaW5zdGFsbAorIyBBSVggL2Jpbi9pbnN0YWxsCisjIEFtaWdhT1MgL0MvaW5zdGFsbCwgd2hpY2ggaW5zdGFsbHMgYm9vdGJsb2NrcyBvbiBmbG9wcHkgZGlzY3MKKyMgQUlYIDQgL3Vzci9iaW4vaW5zdGFsbGJzZCwgd2hpY2ggZG9lc24ndCB3b3JrIHdpdGhvdXQgYSAtZyBmbGFnCisjIEFGUyAvdXNyL2Fmc3dzL2Jpbi9pbnN0YWxsLCB3aGljaCBtaXNoYW5kbGVzIG5vbmV4aXN0ZW50IGFyZ3MKKyMgU1ZSNCAvdXNyL3VjYi9pbnN0YWxsLCB3aGljaCB0cmllcyB0byB1c2UgdGhlIG5vbmV4aXN0ZW50IGdyb3VwICJzdGFmZiIKKyMgT1MvMidzIHN5c3RlbSBpbnN0YWxsLCB3aGljaCBoYXMgYSBjb21wbGV0ZWx5IGRpZmZlcmVudCBzZW1hbnRpYworIyAuL2luc3RhbGwsIHdoaWNoIGNhbiBiZSBlcnJvbmVvdXNseSBjcmVhdGVkIGJ5IG1ha2UgZnJvbSAuL2luc3RhbGwuc2guCisjIFJlamVjdCBpbnN0YWxsIHByb2dyYW1zIHRoYXQgY2Fubm90IGluc3RhbGwgbXVsdGlwbGUgZmlsZXMuCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwiID4mNQorJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAiID4mNjsgfQoraWYgdGVzdCAteiAiJElOU1RBTEwiOyB0aGVuCitpZiB0ZXN0ICIke2FjX2N2X3BhdGhfaW5zdGFsbCtzZXR9IiA9IHNldDsgdGhlbiA6CisgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CitlbHNlCisgIGFzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKK2ZvciBhc19kaXIgaW4gJFBBVEgKK2RvCisgIElGUz0kYXNfc2F2ZV9JRlMKKyAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KKyAgICAjIEFjY291bnQgZm9yIHBlb3BsZSB3aG8gcHV0IHRyYWlsaW5nIHNsYXNoZXMgaW4gUEFUSCBlbGVtZW50cy4KK2Nhc2UgJGFzX2Rpci8gaW4gIygoCisgIC4vIHwgLi8vIHwgL1tjQ10vKiB8IFwKKyAgL2V0Yy8qIHwgL3Vzci9zYmluLyogfCAvdXNyL2V0Yy8qIHwgL3NiaW4vKiB8IC91c3IvYWZzd3MvYmluLyogfCBcCisgID86W1xcL11vczJbXFwvXWluc3RhbGxbXFwvXSogfCA/OltcXC9dT1MyW1xcL11JTlNUQUxMW1xcL10qIHwgXAorICAvdXNyL3VjYi8qICkgOzsKKyAgKikKKyAgICAjIE9TRjEgYW5kIFNDTyBPRFQgMy4wIGhhdmUgdGhlaXIgb3duIG5hbWVzIGZvciBpbnN0YWxsLgorICAgICMgRG9uJ3QgdXNlIGluc3RhbGxic2QgZnJvbSBPU0Ygc2luY2UgaXQgaW5zdGFsbHMgc3R1ZmYgYXMgcm9vdAorICAgICMgYnkgZGVmYXVsdC4KKyAgICBmb3IgYWNfcHJvZyBpbiBnaW5zdGFsbCBzY29pbnN0IGluc3RhbGw7IGRvCisgICAgICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KKwlpZiB7IHRlc3QgLWYgIiRhc19kaXIvJGFjX3Byb2ckYWNfZXhlY19leHQiICYmICRhc190ZXN0X3ggIiRhc19kaXIvJGFjX3Byb2ckYWNfZXhlY19leHQiOyB9OyB0aGVuCisJICBpZiB0ZXN0ICRhY19wcm9nID0gaW5zdGFsbCAmJgorCSAgICBncmVwIGRzcG1zZyAiJGFzX2Rpci8kYWNfcHJvZyRhY19leGVjX2V4dCIgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCisJICAgICMgQUlYIGluc3RhbGwuICBJdCBoYXMgYW4gaW5jb21wYXRpYmxlIGNhbGxpbmcgY29udmVudGlvbi4KKwkgICAgOgorCSAgZWxpZiB0ZXN0ICRhY19wcm9nID0gaW5zdGFsbCAmJgorCSAgICBncmVwIHB3cGx1cyAiJGFzX2Rpci8kYWNfcHJvZyRhY19leGVjX2V4dCIgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCisJICAgICMgcHJvZ3JhbS1zcGVjaWZpYyBpbnN0YWxsIHNjcmlwdCB1c2VkIGJ5IEhQIHB3cGx1cy0tZG9uJ3QgdXNlLgorCSAgICA6CisJICBlbHNlCisJICAgIHJtIC1yZiBjb25mdGVzdC5vbmUgY29uZnRlc3QudHdvIGNvbmZ0ZXN0LmRpcgorCSAgICBlY2hvIG9uZSA+IGNvbmZ0ZXN0Lm9uZQorCSAgICBlY2hvIHR3byA+IGNvbmZ0ZXN0LnR3bworCSAgICBta2RpciBjb25mdGVzdC5kaXIKKwkgICAgaWYgIiRhc19kaXIvJGFjX3Byb2ckYWNfZXhlY19leHQiIC1jIGNvbmZ0ZXN0Lm9uZSBjb25mdGVzdC50d28gImBwd2RgL2NvbmZ0ZXN0LmRpciIgJiYKKwkgICAgICB0ZXN0IC1zIGNvbmZ0ZXN0Lm9uZSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0LnR3byAmJgorCSAgICAgIHRlc3QgLXMgY29uZnRlc3QuZGlyL2NvbmZ0ZXN0Lm9uZSAmJgorCSAgICAgIHRlc3QgLXMgY29uZnRlc3QuZGlyL2NvbmZ0ZXN0LnR3bworCSAgICB0aGVuCisJICAgICAgYWNfY3ZfcGF0aF9pbnN0YWxsPSIkYXNfZGlyLyRhY19wcm9nJGFjX2V4ZWNfZXh0IC1jIgorCSAgICAgIGJyZWFrIDMKKwkgICAgZmkKKwkgIGZpCisJZmkKKyAgICAgIGRvbmUKKyAgICBkb25lCisgICAgOzsKK2VzYWMKKworICBkb25lCitJRlM9JGFzX3NhdmVfSUZTCisKK3JtIC1yZiBjb25mdGVzdC5vbmUgY29uZnRlc3QudHdvIGNvbmZ0ZXN0LmRpcgorCitmaQorICBpZiB0ZXN0ICIke2FjX2N2X3BhdGhfaW5zdGFsbCtzZXR9IiA9IHNldDsgdGhlbgorICAgIElOU1RBTEw9JGFjX2N2X3BhdGhfaW5zdGFsbAorICBlbHNlCisgICAgIyBBcyBhIGxhc3QgcmVzb3J0LCB1c2UgdGhlIHNsb3cgc2hlbGwgc2NyaXB0LiAgRG9uJ3QgY2FjaGUgYQorICAgICMgdmFsdWUgZm9yIElOU1RBTEwgd2l0aGluIGEgc291cmNlIGRpcmVjdG9yeSwgYmVjYXVzZSB0aGF0IHdpbGwKKyAgICAjIGJyZWFrIG90aGVyIHBhY2thZ2VzIHVzaW5nIHRoZSBjYWNoZSBpZiB0aGF0IGRpcmVjdG9yeSBpcworICAgICMgcmVtb3ZlZCwgb3IgaWYgdGhlIHZhbHVlIGlzIGEgcmVsYXRpdmUgbmFtZS4KKyAgICBJTlNUQUxMPSRhY19pbnN0YWxsX3NoCisgIGZpCitmaQoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRJTlNUQUxMIiA+JjUKKyRhc19lY2hvICIkSU5TVEFMTCIgPiY2OyB9CisKKyMgVXNlIHRlc3QgLXogYmVjYXVzZSBTdW5PUzQgc2ggbWlzaGFuZGxlcyBicmFjZXMgaW4gJHt2YXItdmFsfS4KKyMgSXQgdGhpbmtzIHRoZSBmaXJzdCBjbG9zZSBicmFjZSBlbmRzIHRoZSB2YXJpYWJsZSBzdWJzdGl0dXRpb24uCit0ZXN0IC16ICIkSU5TVEFMTF9QUk9HUkFNIiAmJiBJTlNUQUxMX1BST0dSQU09JyR7SU5TVEFMTH0nCisKK3Rlc3QgLXogIiRJTlNUQUxMX1NDUklQVCIgJiYgSU5TVEFMTF9TQ1JJUFQ9JyR7SU5TVEFMTH0nCisKK3Rlc3QgLXogIiRJTlNUQUxMX0RBVEEiICYmIElOU1RBTExfREFUQT0nJHtJTlNUQUxMfSAtbSA2NDQnCisKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lIiA+JjUKKyRhc19lY2hvX24gImNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiAiID4mNjsgfQorIyBKdXN0IGluIGNhc2UKK3NsZWVwIDEKK2VjaG8gdGltZXN0YW1wID4gY29uZnRlc3QuZmlsZQorIyBSZWplY3QgdW5zYWZlIGNoYXJhY3RlcnMgaW4gJHNyY2RpciBvciB0aGUgYWJzb2x1dGUgd29ya2luZyBkaXJlY3RvcnkKKyMgbmFtZS4gIEFjY2VwdCBzcGFjZSBhbmQgdGFiIG9ubHkgaW4gdGhlIGxhdHRlci4KK2FtX2xmPScKKycKK2Nhc2UgYHB3ZGAgaW4KKyAgKltcXFwiXCNcJFwmXCdcYCRhbV9sZl0qKQorICAgIGFzX2ZuX2Vycm9yICJ1bnNhZmUgYWJzb2x1dGUgd29ya2luZyBkaXJlY3RvcnkgbmFtZSIgIiRMSU5FTk8iIDU7OworZXNhYworY2FzZSAkc3JjZGlyIGluCisgICpbXFxcIlwjXCRcJlwnXGAkYW1fbGZcIFwJXSopCisgICAgYXNfZm5fZXJyb3IgInVuc2FmZSBzcmNkaXIgdmFsdWU6IFxgJHNyY2RpciciICIkTElORU5PIiA1OzsKK2VzYWMKKworIyBEbyBgc2V0JyBpbiBhIHN1YnNoZWxsIHNvIHdlIGRvbid0IGNsb2JiZXIgdGhlIGN1cnJlbnQgc2hlbGwncworIyBhcmd1bWVudHMuICBNdXN0IHRyeSAtTCBmaXJzdCBpbiBjYXNlIGNvbmZpZ3VyZSBpcyBhY3R1YWxseSBhCisjIHN5bWxpbms7IHNvbWUgc3lzdGVtcyBwbGF5IHdlaXJkIGdhbWVzIHdpdGggdGhlIG1vZCB0aW1lIG9mIHN5bWxpbmtzCisjIChlZyBGcmVlQlNEIHJldHVybnMgdGhlIG1vZCB0aW1lIG9mIHRoZSBzeW1saW5rJ3MgY29udGFpbmluZworIyBkaXJlY3RvcnkpLgoraWYgKAorICAgc2V0IFggYGxzIC1MdCAiJHNyY2Rpci9jb25maWd1cmUiIGNvbmZ0ZXN0LmZpbGUgMj4gL2Rldi9udWxsYAorICAgaWYgdGVzdCAiJCoiID0gIlgiOyB0aGVuCisgICAgICAjIC1MIGRpZG4ndCB3b3JrLgorICAgICAgc2V0IFggYGxzIC10ICIkc3JjZGlyL2NvbmZpZ3VyZSIgY29uZnRlc3QuZmlsZWAKKyAgIGZpCisgICBybSAtZiBjb25mdGVzdC5maWxlCisgICBpZiB0ZXN0ICIkKiIgIT0gIlggJHNyY2Rpci9jb25maWd1cmUgY29uZnRlc3QuZmlsZSIgXAorICAgICAgJiYgdGVzdCAiJCoiICE9ICJYIGNvbmZ0ZXN0LmZpbGUgJHNyY2Rpci9jb25maWd1cmUiOyB0aGVuCisKKyAgICAgICMgSWYgbmVpdGhlciBtYXRjaGVkLCB0aGVuIHdlIGhhdmUgYSBicm9rZW4gbHMuICBUaGlzIGNhbiBoYXBwZW4KKyAgICAgICMgaWYsIGZvciBpbnN0YW5jZSwgQ09ORklHX1NIRUxMIGlzIGJhc2ggYW5kIGl0IGluaGVyaXRzIGEKKyAgICAgICMgYnJva2VuIGxzIGFsaWFzIGZyb20gdGhlIGVudmlyb25tZW50LiAgVGhpcyBoYXMgYWN0dWFsbHkKKyAgICAgICMgaGFwcGVuZWQuICBTdWNoIGEgc3lzdGVtIGNvdWxkIG5vdCBiZSBjb25zaWRlcmVkICJzYW5lIi4KKyAgICAgIGFzX2ZuX2Vycm9yICJscyAtdCBhcHBlYXJzIHRvIGZhaWwuICBNYWtlIHN1cmUgdGhlcmUgaXMgbm90IGEgYnJva2VuCithbGlhcyBpbiB5b3VyIGVudmlyb25tZW50IiAiJExJTkVOTyIgNQorICAgZmkKKworICAgdGVzdCAiJDIiID0gY29uZnRlc3QuZmlsZQorICAgKQordGhlbgorICAgIyBPay4KKyAgIDoKK2Vsc2UKKyAgIGFzX2ZuX2Vycm9yICJuZXdseSBjcmVhdGVkIGZpbGUgaXMgb2xkZXIgdGhhbiBkaXN0cmlidXRlZCBmaWxlcyEKK0NoZWNrIHlvdXIgc3lzdGVtIGNsb2NrIiAiJExJTkVOTyIgNQorZmkKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiB5ZXMiID4mNQorJGFzX2VjaG8gInllcyIgPiY2OyB9Cit0ZXN0ICIkcHJvZ3JhbV9wcmVmaXgiICE9IE5PTkUgJiYKKyAgcHJvZ3JhbV90cmFuc2Zvcm1fbmFtZT0icyZeJiRwcm9ncmFtX3ByZWZpeCY7JHByb2dyYW1fdHJhbnNmb3JtX25hbWUiCisjIFVzZSBhIGRvdWJsZSAkIHNvIG1ha2UgaWdub3JlcyBpdC4KK3Rlc3QgIiRwcm9ncmFtX3N1ZmZpeCIgIT0gTk9ORSAmJgorICBwcm9ncmFtX3RyYW5zZm9ybV9uYW1lPSJzJlwkJiRwcm9ncmFtX3N1ZmZpeCY7JHByb2dyYW1fdHJhbnNmb3JtX25hbWUiCisjIERvdWJsZSBhbnkgXCBvciAkLgorIyBCeSBkZWZhdWx0IHdhcyBgcyx4LHgnLCByZW1vdmUgaXQgaWYgdXNlbGVzcy4KK2FjX3NjcmlwdD0ncy9bXFwkXS8mJi9nO3MvO3MseCx4LCQvLycKK3Byb2dyYW1fdHJhbnNmb3JtX25hbWU9YCRhc19lY2hvICIkcHJvZ3JhbV90cmFuc2Zvcm1fbmFtZSIgfCBzZWQgIiRhY19zY3JpcHQiYAorCisjIGV4cGFuZCAkYWNfYXV4X2RpciB0byBhbiBhYnNvbHV0ZSBwYXRoCithbV9hdXhfZGlyPWBjZCAkYWNfYXV4X2RpciAmJiBwd2RgCisKK2lmIHRlc3QgeCIke01JU1NJTkcrc2V0fSIgIT0geHNldDsgdGhlbgorICBjYXNlICRhbV9hdXhfZGlyIGluCisgICpcICogfCAqXAkqKQorICAgIE1JU1NJTkc9Ilwke1NIRUxMfSBcIiRhbV9hdXhfZGlyL21pc3NpbmdcIiIgOzsKKyAgKikKKyAgICBNSVNTSU5HPSJcJHtTSEVMTH0gJGFtX2F1eF9kaXIvbWlzc2luZyIgOzsKKyAgZXNhYworZmkKKyMgVXNlIGV2YWwgdG8gZXhwYW5kICRTSEVMTAoraWYgZXZhbCAiJE1JU1NJTkcgLS1ydW4gdHJ1ZSI7IHRoZW4KKyAgYW1fbWlzc2luZ19ydW49IiRNSVNTSU5HIC0tcnVuICIKK2Vsc2UKKyAgYW1fbWlzc2luZ19ydW49CisgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogV0FSTklORzogXGBtaXNzaW5nJyBzY3JpcHQgaXMgdG9vIG9sZCBvciBtaXNzaW5nIiA+JjUKKyRhc19lY2hvICIkYXNfbWU6IFdBUk5JTkc6IFxgbWlzc2luZycgc2NyaXB0IGlzIHRvbyBvbGQgb3IgbWlzc2luZyIgPiYyO30KK2ZpCisKK2lmIHRlc3QgeCIke2luc3RhbGxfc2h9IiAhPSB4c2V0OyB0aGVuCisgIGNhc2UgJGFtX2F1eF9kaXIgaW4KKyAgKlwgKiB8ICpcCSopCisgICAgaW5zdGFsbF9zaD0iXCR7U0hFTEx9ICckYW1fYXV4X2Rpci9pbnN0YWxsLXNoJyIgOzsKKyAgKikKKyAgICBpbnN0YWxsX3NoPSJcJHtTSEVMTH0gJGFtX2F1eF9kaXIvaW5zdGFsbC1zaCIKKyAgZXNhYworZmkKKworIyBJbnN0YWxsZWQgYmluYXJpZXMgYXJlIHVzdWFsbHkgc3RyaXBwZWQgdXNpbmcgYHN0cmlwJyB3aGVuIHRoZSB1c2VyCisjIHJ1biBgbWFrZSBpbnN0YWxsLXN0cmlwJy4gIEhvd2V2ZXIgYHN0cmlwJyBtaWdodCBub3QgYmUgdGhlIHJpZ2h0CisjIHRvb2wgdG8gdXNlIGluIGNyb3NzLWNvbXBpbGF0aW9uIGVudmlyb25tZW50cywgdGhlcmVmb3JlIEF1dG9tYWtlCisjIHdpbGwgaG9ub3IgdGhlIGBTVFJJUCcgZW52aXJvbm1lbnQgdmFyaWFibGUgdG8gb3ZlcnJ1bGUgdGhpcyBwcm9ncmFtLgoraWYgdGVzdCAiJGNyb3NzX2NvbXBpbGluZyIgIT0gbm87IHRoZW4KKyAgaWYgdGVzdCAtbiAiJGFjX3Rvb2xfcHJlZml4IjsgdGhlbgorICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIiR7YWNfdG9vbF9wcmVmaXh9c3RyaXAiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorc2V0IGR1bW15ICR7YWNfdG9vbF9wcmVmaXh9c3RyaXA7IGFjX3dvcmQ9JDIKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKKyRhc19lY2hvX24gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAiID4mNjsgfQoraWYgdGVzdCAiJHthY19jdl9wcm9nX1NUUklQK3NldH0iID0gc2V0OyB0aGVuIDoKKyAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKK2Vsc2UKKyAgaWYgdGVzdCAtbiAiJFNUUklQIjsgdGhlbgorICBhY19jdl9wcm9nX1NUUklQPSIkU1RSSVAiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0LgorZWxzZQorYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgorZm9yIGFzX2RpciBpbiAkUEFUSAorZG8KKyAgSUZTPSRhc19zYXZlX0lGUworICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgorICAgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbworICBpZiB7IHRlc3QgLWYgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiICYmICRhc190ZXN0X3ggIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB9OyB0aGVuCisgICAgYWNfY3ZfcHJvZ19TVFJJUD0iJHthY190b29sX3ByZWZpeH1zdHJpcCIKKyAgICAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKKyAgICBicmVhayAyCisgIGZpCitkb25lCisgIGRvbmUKK0lGUz0kYXNfc2F2ZV9JRlMKKworZmkKK2ZpCitTVFJJUD0kYWNfY3ZfcHJvZ19TVFJJUAoraWYgdGVzdCAtbiAiJFNUUklQIjsgdGhlbgorICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJFNUUklQIiA+JjUKKyRhc19lY2hvICIkU1RSSVAiID4mNjsgfQorZWxzZQorICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogbm8iID4mNQorJGFzX2VjaG8gIm5vIiA+JjY7IH0KK2ZpCisKKworZmkKK2lmIHRlc3QgLXogIiRhY19jdl9wcm9nX1NUUklQIjsgdGhlbgorICBhY19jdF9TVFJJUD0kU1RSSVAKKyAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICJzdHJpcCIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitzZXQgZHVtbXkgc3RyaXA7IGFjX3dvcmQ9JDIKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKKyRhc19lY2hvX24gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAiID4mNjsgfQoraWYgdGVzdCAiJHthY19jdl9wcm9nX2FjX2N0X1NUUklQK3NldH0iID0gc2V0OyB0aGVuIDoKKyAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKK2Vsc2UKKyAgaWYgdGVzdCAtbiAiJGFjX2N0X1NUUklQIjsgdGhlbgorICBhY19jdl9wcm9nX2FjX2N0X1NUUklQPSIkYWNfY3RfU1RSSVAiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0LgorZWxzZQorYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgorZm9yIGFzX2RpciBpbiAkUEFUSAorZG8KKyAgSUZTPSRhc19zYXZlX0lGUworICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgorICAgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbworICBpZiB7IHRlc3QgLWYgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiICYmICRhc190ZXN0X3ggIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB9OyB0aGVuCisgICAgYWNfY3ZfcHJvZ19hY19jdF9TVFJJUD0ic3RyaXAiCisgICAgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CisgICAgYnJlYWsgMgorICBmaQorZG9uZQorICBkb25lCitJRlM9JGFzX3NhdmVfSUZTCisKK2ZpCitmaQorYWNfY3RfU1RSSVA9JGFjX2N2X3Byb2dfYWNfY3RfU1RSSVAKK2lmIHRlc3QgLW4gIiRhY19jdF9TVFJJUCI7IHRoZW4KKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRhY19jdF9TVFJJUCIgPiY1CiskYXNfZWNobyAiJGFjX2N0X1NUUklQIiA+JjY7IH0KK2Vsc2UKKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IG5vIiA+JjUKKyRhc19lY2hvICJubyIgPiY2OyB9CitmaQorCisgIGlmIHRlc3QgIngkYWNfY3RfU1RSSVAiID0geDsgdGhlbgorICAgIFNUUklQPSI6IgorICBlbHNlCisgICAgY2FzZSAkY3Jvc3NfY29tcGlsaW5nOiRhY190b29sX3dhcm5lZCBpbgoreWVzOikKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogV0FSTklORzogdXNpbmcgY3Jvc3MgdG9vbHMgbm90IHByZWZpeGVkIHdpdGggaG9zdCB0cmlwbGV0IiA+JjUKKyRhc19lY2hvICIkYXNfbWU6IFdBUk5JTkc6IHVzaW5nIGNyb3NzIHRvb2xzIG5vdCBwcmVmaXhlZCB3aXRoIGhvc3QgdHJpcGxldCIgPiYyO30KK2FjX3Rvb2xfd2FybmVkPXllcyA7OworZXNhYworICAgIFNUUklQPSRhY19jdF9TVFJJUAorICBmaQorZWxzZQorICBTVFJJUD0iJGFjX2N2X3Byb2dfU1RSSVAiCitmaQorCitmaQorSU5TVEFMTF9TVFJJUF9QUk9HUkFNPSJcJChpbnN0YWxsX3NoKSAtYyAtcyIKKworeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcCIgPiY1CiskYXNfZWNob19uICJjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAiID4mNjsgfQoraWYgdGVzdCAteiAiJE1LRElSX1AiOyB0aGVuCisgIGlmIHRlc3QgIiR7YWNfY3ZfcGF0aF9ta2RpcitzZXR9IiA9IHNldDsgdGhlbiA6CisgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CitlbHNlCisgIGFzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKK2ZvciBhc19kaXIgaW4gJFBBVEgkUEFUSF9TRVBBUkFUT1Ivb3B0L3Nmdy9iaW4KK2RvCisgIElGUz0kYXNfc2F2ZV9JRlMKKyAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KKyAgICBmb3IgYWNfcHJvZyBpbiBta2RpciBnbWtkaXI7IGRvCisJIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbworCSAgIHsgdGVzdCAtZiAiJGFzX2Rpci8kYWNfcHJvZyRhY19leGVjX2V4dCIgJiYgJGFzX3Rlc3RfeCAiJGFzX2Rpci8kYWNfcHJvZyRhY19leGVjX2V4dCI7IH0gfHwgY29udGludWUKKwkgICBjYXNlIGAiJGFzX2Rpci8kYWNfcHJvZyRhY19leGVjX2V4dCIgLS12ZXJzaW9uIDI+JjFgIGluICMoCisJICAgICAnbWtkaXIgKEdOVSBjb3JldXRpbHMpICcqIHwgXAorCSAgICAgJ21rZGlyIChjb3JldXRpbHMpICcqIHwgXAorCSAgICAgJ21rZGlyIChmaWxldXRpbHMpICc0LjEqKQorCSAgICAgICBhY19jdl9wYXRoX21rZGlyPSRhc19kaXIvJGFjX3Byb2ckYWNfZXhlY19leHQKKwkgICAgICAgYnJlYWsgMzs7CisJICAgZXNhYworCSBkb25lCisgICAgICAgZG9uZQorICBkb25lCitJRlM9JGFzX3NhdmVfSUZTCisKK2ZpCisKKyAgdGVzdCAtZCAuLy0tdmVyc2lvbiAmJiBybWRpciAuLy0tdmVyc2lvbgorICBpZiB0ZXN0ICIke2FjX2N2X3BhdGhfbWtkaXIrc2V0fSIgPSBzZXQ7IHRoZW4KKyAgICBNS0RJUl9QPSIkYWNfY3ZfcGF0aF9ta2RpciAtcCIKKyAgZWxzZQorICAgICMgQXMgYSBsYXN0IHJlc29ydCwgdXNlIHRoZSBzbG93IHNoZWxsIHNjcmlwdC4gIERvbid0IGNhY2hlIGEKKyAgICAjIHZhbHVlIGZvciBNS0RJUl9QIHdpdGhpbiBhIHNvdXJjZSBkaXJlY3RvcnksIGJlY2F1c2UgdGhhdCB3aWxsCisgICAgIyBicmVhayBvdGhlciBwYWNrYWdlcyB1c2luZyB0aGUgY2FjaGUgaWYgdGhhdCBkaXJlY3RvcnkgaXMKKyAgICAjIHJlbW92ZWQsIG9yIGlmIHRoZSB2YWx1ZSBpcyBhIHJlbGF0aXZlIG5hbWUuCisgICAgTUtESVJfUD0iJGFjX2luc3RhbGxfc2ggLWQiCisgIGZpCitmaQoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRNS0RJUl9QIiA+JjUKKyRhc19lY2hvICIkTUtESVJfUCIgPiY2OyB9CisKK21rZGlyX3A9IiRNS0RJUl9QIgorY2FzZSAkbWtkaXJfcCBpbgorICBbXFwvJF0qIHwgPzpbXFwvXSopIDs7CisgICovKikgbWtkaXJfcD0iXCQodG9wX2J1aWxkZGlyKS8kbWtkaXJfcCIgOzsKK2VzYWMKKworZm9yIGFjX3Byb2cgaW4gZ2F3ayBtYXdrIG5hd2sgYXdrCitkbworICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIiRhY19wcm9nIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KK3NldCBkdW1teSAkYWNfcHJvZzsgYWNfd29yZD0kMgoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICIgPiY2OyB9CitpZiB0ZXN0ICIke2FjX2N2X3Byb2dfQVdLK3NldH0iID0gc2V0OyB0aGVuIDoKKyAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKK2Vsc2UKKyAgaWYgdGVzdCAtbiAiJEFXSyI7IHRoZW4KKyAgYWNfY3ZfcHJvZ19BV0s9IiRBV0siICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0LgorZWxzZQorYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgorZm9yIGFzX2RpciBpbiAkUEFUSAorZG8KKyAgSUZTPSRhc19zYXZlX0lGUworICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgorICAgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbworICBpZiB7IHRlc3QgLWYgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiICYmICRhc190ZXN0X3ggIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB9OyB0aGVuCisgICAgYWNfY3ZfcHJvZ19BV0s9IiRhY19wcm9nIgorICAgICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQorICAgIGJyZWFrIDIKKyAgZmkKK2RvbmUKKyAgZG9uZQorSUZTPSRhc19zYXZlX0lGUworCitmaQorZmkKK0FXSz0kYWNfY3ZfcHJvZ19BV0sKK2lmIHRlc3QgLW4gIiRBV0siOyB0aGVuCisgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkQVdLIiA+JjUKKyRhc19lY2hvICIkQVdLIiA+JjY7IH0KK2Vsc2UKKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IG5vIiA+JjUKKyRhc19lY2hvICJubyIgPiY2OyB9CitmaQorCisKKyAgdGVzdCAtbiAiJEFXSyIgJiYgYnJlYWsKK2RvbmUKKworeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyB3aGV0aGVyICR7TUFLRS1tYWtlfSBzZXRzIFwkKE1BS0UpIiA+JjUKKyRhc19lY2hvX24gImNoZWNraW5nIHdoZXRoZXIgJHtNQUtFLW1ha2V9IHNldHMgXCQoTUFLRSkuLi4gIiA+JjY7IH0KK3NldCB4ICR7TUFLRS1tYWtlfQorYWNfbWFrZT1gJGFzX2VjaG8gIiQyIiB8IHNlZCAncy8rL3AvZzsgcy9bXmEtekEtWjAtOV9dL18vZydgCitpZiB7IGFzX3Zhcj1hY19jdl9wcm9nX21ha2VfJHthY19tYWtlfV9zZXQ7IGV2YWwgInRlc3QgXCJcJHskYXNfdmFyK3NldH1cIiA9IHNldCI7IH07IHRoZW4gOgorICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgorZWxzZQorICBjYXQgPmNvbmZ0ZXN0Lm1ha2UgPDxcX0FDRU9GCitTSEVMTCA9IC9iaW4vc2gKK2FsbDoKKwlAZWNobyAnQEBAJSUlPSQoTUFLRSk9QEBAJSUlJworX0FDRU9GCisjIEdOVSBtYWtlIHNvbWV0aW1lcyBwcmludHMgIm1ha2VbMV06IEVudGVyaW5nLi4uIiwgd2hpY2ggd291bGQgY29uZnVzZSB1cy4KK2Nhc2UgYCR7TUFLRS1tYWtlfSAtZiBjb25mdGVzdC5tYWtlIDI+L2Rldi9udWxsYCBpbgorICAqQEBAJSUlPT8qPUBAQCUlJSopCisgICAgZXZhbCBhY19jdl9wcm9nX21ha2VfJHthY19tYWtlfV9zZXQ9eWVzOzsKKyAgKikKKyAgICBldmFsIGFjX2N2X3Byb2dfbWFrZV8ke2FjX21ha2V9X3NldD1ubzs7Citlc2FjCitybSAtZiBjb25mdGVzdC5tYWtlCitmaQoraWYgZXZhbCB0ZXN0IFwkYWNfY3ZfcHJvZ19tYWtlXyR7YWNfbWFrZX1fc2V0ID0geWVzOyB0aGVuCisgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiB5ZXMiID4mNQorJGFzX2VjaG8gInllcyIgPiY2OyB9CisgIFNFVF9NQUtFPQorZWxzZQorICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogbm8iID4mNQorJGFzX2VjaG8gIm5vIiA+JjY7IH0KKyAgU0VUX01BS0U9Ik1BS0U9JHtNQUtFLW1ha2V9IgorZmkKKworcm0gLXJmIC50c3QgMj4vZGV2L251bGwKK21rZGlyIC50c3QgMj4vZGV2L251bGwKK2lmIHRlc3QgLWQgLnRzdDsgdGhlbgorICBhbV9fbGVhZGluZ19kb3Q9LgorZWxzZQorICBhbV9fbGVhZGluZ19kb3Q9XworZmkKK3JtZGlyIC50c3QgMj4vZGV2L251bGwKKworaWYgdGVzdCAiYGNkICRzcmNkaXIgJiYgcHdkYCIgIT0gImBwd2RgIjsgdGhlbgorICAjIFVzZSAtSSQoc3JjZGlyKSBvbmx5IHdoZW4gJChzcmNkaXIpICE9IC4sIHNvIHRoYXQgbWFrZSdzIG91dHB1dAorICAjIGlzIG5vdCBwb2xsdXRlZCB3aXRoIHJlcGVhdGVkICItSS4iCisgIGFtX19pc3JjPScgLUkkKHNyY2RpciknCisgICMgdGVzdCB0byBzZWUgaWYgc3JjZGlyIGFscmVhZHkgY29uZmlndXJlZAorICBpZiB0ZXN0IC1mICRzcmNkaXIvY29uZmlnLnN0YXR1czsgdGhlbgorICAgIGFzX2ZuX2Vycm9yICJzb3VyY2UgZGlyZWN0b3J5IGFscmVhZHkgY29uZmlndXJlZDsgcnVuIFwibWFrZSBkaXN0Y2xlYW5cIiB0aGVyZSBmaXJzdCIgIiRMSU5FTk8iIDUKKyAgZmkKK2ZpCisKKyMgdGVzdCB3aGV0aGVyIHdlIGhhdmUgY3lncGF0aAoraWYgdGVzdCAteiAiJENZR1BBVEhfVyI7IHRoZW4KKyAgaWYgKGN5Z3BhdGggLS12ZXJzaW9uKSA+L2Rldi9udWxsIDI+L2Rldi9udWxsOyB0aGVuCisgICAgQ1lHUEFUSF9XPSdjeWdwYXRoIC13JworICBlbHNlCisgICAgQ1lHUEFUSF9XPWVjaG8KKyAgZmkKK2ZpCisKKworIyBEZWZpbmUgdGhlIGlkZW50aXR5IG9mIHRoZSBwYWNrYWdlLgorIFBBQ0tBR0U9J3N0cmFjZScKKyBWRVJTSU9OPSc0LjUuMjAnCisKKworY2F0ID4+Y29uZmRlZnMuaCA8PF9BQ0VPRgorI2RlZmluZSBQQUNLQUdFICIkUEFDS0FHRSIKK19BQ0VPRgorCisKK2NhdCA+PmNvbmZkZWZzLmggPDxfQUNFT0YKKyNkZWZpbmUgVkVSU0lPTiAiJFZFUlNJT04iCitfQUNFT0YKKworIyBTb21lIHRvb2xzIEF1dG9tYWtlIG5lZWRzLgorCitBQ0xPQ0FMPSR7QUNMT0NBTC0iJHthbV9taXNzaW5nX3J1bn1hY2xvY2FsLSR7YW1fX2FwaV92ZXJzaW9ufSJ9CisKKworQVVUT0NPTkY9JHtBVVRPQ09ORi0iJHthbV9taXNzaW5nX3J1bn1hdXRvY29uZiJ9CisKKworQVVUT01BS0U9JHtBVVRPTUFLRS0iJHthbV9taXNzaW5nX3J1bn1hdXRvbWFrZS0ke2FtX19hcGlfdmVyc2lvbn0ifQorCisKK0FVVE9IRUFERVI9JHtBVVRPSEVBREVSLSIke2FtX21pc3NpbmdfcnVufWF1dG9oZWFkZXIifQorCisKK01BS0VJTkZPPSR7TUFLRUlORk8tIiR7YW1fbWlzc2luZ19ydW59bWFrZWluZm8ifQorCisjIFdlIG5lZWQgYXdrIGZvciB0aGUgImNoZWNrIiB0YXJnZXQuICBUaGUgc3lzdGVtICJhd2siIGlzIGJhZCBvbgorIyBzb21lIHBsYXRmb3Jtcy4KKyMgQWx3YXlzIGRlZmluZSBBTVRBUiBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eS4KKworQU1UQVI9JHtBTVRBUi0iJHthbV9taXNzaW5nX3J1bn10YXIifQorCithbV9fdGFyPScke0FNVEFSfSBjaG9mIC0gIiQkdGFyZGlyIic7IGFtX191bnRhcj0nJHtBTVRBUn0geGYgLScKKworCisKKworCisKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgd2hldGhlciB0byBlbmFibGUgbWFpbnRhaW5lci1zcGVjaWZpYyBwb3J0aW9ucyBvZiBNYWtlZmlsZXMiID4mNQorJGFzX2VjaG9fbiAiY2hlY2tpbmcgd2hldGhlciB0byBlbmFibGUgbWFpbnRhaW5lci1zcGVjaWZpYyBwb3J0aW9ucyBvZiBNYWtlZmlsZXMuLi4gIiA+JjY7IH0KKyAgICAjIENoZWNrIHdoZXRoZXIgLS1lbmFibGUtbWFpbnRhaW5lci1tb2RlIHdhcyBnaXZlbi4KK2lmIHRlc3QgIiR7ZW5hYmxlX21haW50YWluZXJfbW9kZStzZXR9IiA9IHNldDsgdGhlbiA6CisgIGVuYWJsZXZhbD0kZW5hYmxlX21haW50YWluZXJfbW9kZTsgVVNFX01BSU5UQUlORVJfTU9ERT0kZW5hYmxldmFsCitlbHNlCisgIFVTRV9NQUlOVEFJTkVSX01PREU9bm8KK2ZpCisKKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRVU0VfTUFJTlRBSU5FUl9NT0RFIiA+JjUKKyRhc19lY2hvICIkVVNFX01BSU5UQUlORVJfTU9ERSIgPiY2OyB9CisgICBpZiB0ZXN0ICRVU0VfTUFJTlRBSU5FUl9NT0RFID0geWVzOyB0aGVuCisgIE1BSU5UQUlORVJfTU9ERV9UUlVFPQorICBNQUlOVEFJTkVSX01PREVfRkFMU0U9JyMnCitlbHNlCisgIE1BSU5UQUlORVJfTU9ERV9UUlVFPScjJworICBNQUlOVEFJTkVSX01PREVfRkFMU0U9CitmaQorCisgIE1BSU5UPSRNQUlOVEFJTkVSX01PREVfVFJVRQorCisKKyMgTWFrZSBzdXJlIHdlIGNhbiBydW4gY29uZmlnLnN1Yi4KKyRTSEVMTCAiJGFjX2F1eF9kaXIvY29uZmlnLnN1YiIgc3VuNCA+L2Rldi9udWxsIDI+JjEgfHwKKyAgYXNfZm5fZXJyb3IgImNhbm5vdCBydW4gJFNIRUxMICRhY19hdXhfZGlyL2NvbmZpZy5zdWIiICIkTElORU5PIiA1CisKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgYnVpbGQgc3lzdGVtIHR5cGUiID4mNQorJGFzX2VjaG9fbiAiY2hlY2tpbmcgYnVpbGQgc3lzdGVtIHR5cGUuLi4gIiA+JjY7IH0KK2lmIHRlc3QgIiR7YWNfY3ZfYnVpbGQrc2V0fSIgPSBzZXQ7IHRoZW4gOgorICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgorZWxzZQorICBhY19idWlsZF9hbGlhcz0kYnVpbGRfYWxpYXMKK3Rlc3QgIngkYWNfYnVpbGRfYWxpYXMiID0geCAmJgorICBhY19idWlsZF9hbGlhcz1gJFNIRUxMICIkYWNfYXV4X2Rpci9jb25maWcuZ3Vlc3MiYAordGVzdCAieCRhY19idWlsZF9hbGlhcyIgPSB4ICYmCisgIGFzX2ZuX2Vycm9yICJjYW5ub3QgZ3Vlc3MgYnVpbGQgdHlwZTsgeW91IG11c3Qgc3BlY2lmeSBvbmUiICIkTElORU5PIiA1CithY19jdl9idWlsZD1gJFNIRUxMICIkYWNfYXV4X2Rpci9jb25maWcuc3ViIiAkYWNfYnVpbGRfYWxpYXNgIHx8CisgIGFzX2ZuX2Vycm9yICIkU0hFTEwgJGFjX2F1eF9kaXIvY29uZmlnLnN1YiAkYWNfYnVpbGRfYWxpYXMgZmFpbGVkIiAiJExJTkVOTyIgNQorCitmaQoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRhY19jdl9idWlsZCIgPiY1CiskYXNfZWNobyAiJGFjX2N2X2J1aWxkIiA+JjY7IH0KK2Nhc2UgJGFjX2N2X2J1aWxkIGluCisqLSotKikgOzsKKyopIGFzX2ZuX2Vycm9yICJpbnZhbGlkIHZhbHVlIG9mIGNhbm9uaWNhbCBidWlsZCIgIiRMSU5FTk8iIDU7OworZXNhYworYnVpbGQ9JGFjX2N2X2J1aWxkCithY19zYXZlX0lGUz0kSUZTOyBJRlM9Jy0nCitzZXQgeCAkYWNfY3ZfYnVpbGQKK3NoaWZ0CitidWlsZF9jcHU9JDEKK2J1aWxkX3ZlbmRvcj0kMgorc2hpZnQ7IHNoaWZ0CisjIFJlbWVtYmVyLCB0aGUgZmlyc3QgY2hhcmFjdGVyIG9mIElGUyBpcyB1c2VkIHRvIGNyZWF0ZSAkKiwKKyMgZXhjZXB0IHdpdGggb2xkIHNoZWxsczoKK2J1aWxkX29zPSQqCitJRlM9JGFjX3NhdmVfSUZTCitjYXNlICRidWlsZF9vcyBpbiAqXCAqKSBidWlsZF9vcz1gZWNobyAiJGJ1aWxkX29zIiB8IHNlZCAncy8gLy0vZydgOzsgZXNhYworCisKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgaG9zdCBzeXN0ZW0gdHlwZSIgPiY1CiskYXNfZWNob19uICJjaGVja2luZyBob3N0IHN5c3RlbSB0eXBlLi4uICIgPiY2OyB9CitpZiB0ZXN0ICIke2FjX2N2X2hvc3Qrc2V0fSIgPSBzZXQ7IHRoZW4gOgorICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgorZWxzZQorICBpZiB0ZXN0ICJ4JGhvc3RfYWxpYXMiID0geDsgdGhlbgorICBhY19jdl9ob3N0PSRhY19jdl9idWlsZAorZWxzZQorICBhY19jdl9ob3N0PWAkU0hFTEwgIiRhY19hdXhfZGlyL2NvbmZpZy5zdWIiICRob3N0X2FsaWFzYCB8fAorICAgIGFzX2ZuX2Vycm9yICIkU0hFTEwgJGFjX2F1eF9kaXIvY29uZmlnLnN1YiAkaG9zdF9hbGlhcyBmYWlsZWQiICIkTElORU5PIiA1CitmaQorCitmaQoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRhY19jdl9ob3N0IiA+JjUKKyRhc19lY2hvICIkYWNfY3ZfaG9zdCIgPiY2OyB9CitjYXNlICRhY19jdl9ob3N0IGluCisqLSotKikgOzsKKyopIGFzX2ZuX2Vycm9yICJpbnZhbGlkIHZhbHVlIG9mIGNhbm9uaWNhbCBob3N0IiAiJExJTkVOTyIgNTs7Citlc2FjCitob3N0PSRhY19jdl9ob3N0CithY19zYXZlX0lGUz0kSUZTOyBJRlM9Jy0nCitzZXQgeCAkYWNfY3ZfaG9zdAorc2hpZnQKK2hvc3RfY3B1PSQxCitob3N0X3ZlbmRvcj0kMgorc2hpZnQ7IHNoaWZ0CisjIFJlbWVtYmVyLCB0aGUgZmlyc3QgY2hhcmFjdGVyIG9mIElGUyBpcyB1c2VkIHRvIGNyZWF0ZSAkKiwKKyMgZXhjZXB0IHdpdGggb2xkIHNoZWxsczoKK2hvc3Rfb3M9JCoKK0lGUz0kYWNfc2F2ZV9JRlMKK2Nhc2UgJGhvc3Rfb3MgaW4gKlwgKikgaG9zdF9vcz1gZWNobyAiJGhvc3Rfb3MiIHwgc2VkICdzLyAvLS9nJ2A7OyBlc2FjCisKKworCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBzdXBwb3J0ZWQgb3BlcmF0aW5nIHN5c3RlbSIgPiY1CiskYXNfZWNob19uICJjaGVja2luZyBmb3Igc3VwcG9ydGVkIG9wZXJhdGluZyBzeXN0ZW0uLi4gIiA+JjY7IH0KK2Nhc2UgIiRob3N0X29zIiBpbgorKmxpbnV4KikKKwlvcHN5cz1saW51eAorCiskYXNfZWNobyAiI2RlZmluZSBMSU5VWCAxIiA+PmNvbmZkZWZzLmgKKworCTs7CitzdW5vczQqKQorCW9wc3lzPXN1bm9zNAorCiskYXNfZWNobyAiI2RlZmluZSBTVU5PUzQgMSIgPj5jb25mZGVmcy5oCisKKwk7Oworc29sYXJpczIqIHwgc3lzdls0NV0qIHwgaXJpeFs1Nl0qKQorCW9wc3lzPXN2cjQKKworJGFzX2VjaG8gIiNkZWZpbmUgU1ZSNCAxIiA+PmNvbmZkZWZzLmgKKworCWNhc2UgIiRob3N0X29zIiBpbgorCXN5c3Y0LjJ1dyopCisKKyRhc19lY2hvICIjZGVmaW5lIFVOSVhXQVJFIDIiID4+Y29uZmRlZnMuaAorCisJCTs7CisJc3lzdjUqKQorCiskYXNfZWNobyAiI2RlZmluZSBVTklYV0FSRSA3IiA+PmNvbmZkZWZzLmgKKworCQk7OworCWVzYWMKKwk7OworZnJlZWJzZCopCisJb3BzeXM9ZnJlZWJzZAorCiskYXNfZWNobyAiI2RlZmluZSBGUkVFQlNEIDEiID4+Y29uZmRlZnMuaAorCisJOzsKKyopCisJeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IE5PISIgPiY1CiskYXNfZWNobyAiTk8hIiA+JjY7IH0KKwlhc19mbl9lcnJvciAib3BlcmF0aW5nIHN5c3RlbSAkaG9zdF9vcyBpcyBub3Qgc3VwcG9ydGVkIGJ5IHN0cmFjZSIgIiRMSU5FTk8iIDUKKwk7OworZXNhYworeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRvcHN5cyIgPiY1CiskYXNfZWNobyAiJG9wc3lzIiA+JjY7IH0KKworeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3Igc3VwcG9ydGVkIGFyY2hpdGVjdHVyZSIgPiY1CiskYXNfZWNob19uICJjaGVja2luZyBmb3Igc3VwcG9ydGVkIGFyY2hpdGVjdHVyZS4uLiAiID4mNjsgfQorY2FzZSAiJGhvc3RfY3B1IiBpbgorYmZpbikKKwlhcmNoPWJmaW4KKworJGFzX2VjaG8gIiNkZWZpbmUgQkZJTiAxIiA+PmNvbmZkZWZzLmgKKworCTs7CitpWzM0NTZdODZ8cGVudGl1bSkKKwlhcmNoPWkzODYKKworJGFzX2VjaG8gIiNkZWZpbmUgSTM4NiAxIiA+PmNvbmZkZWZzLmgKKworCTs7CitpYTY0KQorCWFyY2g9aWE2NAorCiskYXNfZWNobyAiI2RlZmluZSBJQTY0IDEiID4+Y29uZmRlZnMuaAorCisJOzsKK202OGspCisJYXJjaD1tNjhrCisKKyRhc19lY2hvICIjZGVmaW5lIE02OEsgMSIgPj5jb25mZGVmcy5oCisKKwk7Oworc3BhcmM2NCopCisJYXJjaD1zcGFyYzY0CisKKyRhc19lY2hvICIjZGVmaW5lIFNQQVJDNjQgMSIgPj5jb25mZGVmcy5oCisKKwk7Oworc3BhcmMqKQorCWFyY2g9c3BhcmMKKworJGFzX2VjaG8gIiNkZWZpbmUgU1BBUkMgMSIgPj5jb25mZGVmcy5oCisKKwk7OworbWlwcyopCisJYXJjaD1taXBzCisKKyRhc19lY2hvICIjZGVmaW5lIE1JUFMgMSIgPj5jb25mZGVmcy5oCisKKwk7OworYWxwaGEqKQorCWFyY2g9YWxwaGEKKworJGFzX2VjaG8gIiNkZWZpbmUgQUxQSEEgMSIgPj5jb25mZGVmcy5oCisKKwk7OworcG93ZXJwYyopCisJYXJjaD1wb3dlcnBjCisKKyRhc19lY2hvICIjZGVmaW5lIFBPV0VSUEMgMSIgPj5jb25mZGVmcy5oCisKKwk7OworYXJtKikKKwlhcmNoPWFybQorCiskYXNfZWNobyAiI2RlZmluZSBBUk0gMSIgPj5jb25mZGVmcy5oCisKKwk7OworYXZyMzIqKQorCWFyY2g9YXZyMzIKKworJGFzX2VjaG8gIiNkZWZpbmUgQVZSMzIgMSIgPj5jb25mZGVmcy5oCisKKwk7OworczM5MCkKKwlhcmNoPXMzOTAKKworJGFzX2VjaG8gIiNkZWZpbmUgUzM5MCAxIiA+PmNvbmZkZWZzLmgKKworCTs7CitzMzkweCkKKwlhcmNoPXMzOTB4CisKKyRhc19lY2hvICIjZGVmaW5lIFMzOTBYIDEiID4+Y29uZmRlZnMuaAorCisJOzsKK2hwcGEqfHBhcmlzYyopCisJYXJjaD1ocHBhCisKKyRhc19lY2hvICIjZGVmaW5lIEhQUEEgMSIgPj5jb25mZGVmcy5oCisKKwk7Oworc2g2NCopCisJYXJjaD1zaDY0CisKKyRhc19lY2hvICIjZGVmaW5lIFNINjQgMSIgPj5jb25mZGVmcy5oCisKKwk7Oworc2gqKQorCWFyY2g9c2gKKworJGFzX2VjaG8gIiNkZWZpbmUgU0ggMSIgPj5jb25mZGVmcy5oCisKKwk7OworeDg2PzY0KikKKwlhcmNoPXg4Nl82NAorCiskYXNfZWNobyAiI2RlZmluZSBYODZfNjQgMSIgPj5jb25mZGVmcy5oCisKKwk7OworY3Jpc3xjcmlzdjEwKQorCWFyY2g9Y3Jpc3YxMAorCiskYXNfZWNobyAiI2RlZmluZSBDUklTVjEwIDEiID4+Y29uZmRlZnMuaAorCisJOzsKK2NyaXN2MzIpCisJYXJjaD1jcmlzdjMyCisKKyRhc19lY2hvICIjZGVmaW5lIENSSVNWMzIgMSIgPj5jb25mZGVmcy5oCisKKwk7OwordGlsZSopCisJYXJjaD10aWxlCisKKyRhc19lY2hvICIjZGVmaW5lIFRJTEUgMSIgPj5jb25mZGVmcy5oCisKKwk7OworKikKKwl7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogTk8hIiA+JjUKKyRhc19lY2hvICJOTyEiID4mNjsgfQorCWFzX2ZuX2Vycm9yICJhcmNoaXRlY3R1cmUgJGhvc3RfY3B1IGlzIG5vdCBzdXBwb3J0ZWQgYnkgc3RyYWNlIiAiJExJTkVOTyIgNQorCTs7Citlc2FjCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFyY2giID4mNQorJGFzX2VjaG8gIiRhcmNoIiA+JjY7IH0KKworCisKKworIGlmIHRlc3QgeCRvcHN5cyA9IHhsaW51eDsgdGhlbgorICBMSU5VWF9UUlVFPQorICBMSU5VWF9GQUxTRT0nIycKK2Vsc2UKKyAgTElOVVhfVFJVRT0nIycKKyAgTElOVVhfRkFMU0U9CitmaQorCisgaWYgdGVzdCB4JGFyY2ggPSB4aTM4NjsgdGhlbgorICBJMzg2X1RSVUU9CisgIEkzODZfRkFMU0U9JyMnCitlbHNlCisgIEkzODZfVFJVRT0nIycKKyAgSTM4Nl9GQUxTRT0KK2ZpCisKKyBpZiB0ZXN0IHgkYXJjaCA9IHh4ODZfNjQ7IHRoZW4KKyAgWDg2XzY0X1RSVUU9CisgIFg4Nl82NF9GQUxTRT0nIycKK2Vsc2UKKyAgWDg2XzY0X1RSVUU9JyMnCisgIFg4Nl82NF9GQUxTRT0KK2ZpCisKKyBpZiB0ZXN0IHgkb3BzeXMgPSB4c3Vub3M0OyB0aGVuCisgIFNVTk9TNF9UUlVFPQorICBTVU5PUzRfRkFMU0U9JyMnCitlbHNlCisgIFNVTk9TNF9UUlVFPScjJworICBTVU5PUzRfRkFMU0U9CitmaQorCisgaWYgdGVzdCB4JG9wc3lzID0geHN2cjQ7IHRoZW4KKyAgU1ZSNF9UUlVFPQorICBTVlI0X0ZBTFNFPScjJworZWxzZQorICBTVlI0X1RSVUU9JyMnCisgIFNWUjRfRkFMU0U9CitmaQorCisgaWYgdGVzdCB4JG9wc3lzID0geGZyZWVic2Q7IHRoZW4KKyAgRlJFRUJTRF9UUlVFPQorICBGUkVFQlNEX0ZBTFNFPScjJworZWxzZQorICBGUkVFQlNEX1RSVUU9JyMnCisgIEZSRUVCU0RfRkFMU0U9CitmaQorCisKK2FjX2V4dD1jCithY19jcHA9JyRDUFAgJENQUEZMQUdTJworYWNfY29tcGlsZT0nJENDIC1jICRDRkxBR1MgJENQUEZMQUdTIGNvbmZ0ZXN0LiRhY19leHQgPiY1JworYWNfbGluaz0nJENDIC1vIGNvbmZ0ZXN0JGFjX2V4ZWV4dCAkQ0ZMQUdTICRDUFBGTEFHUyAkTERGTEFHUyBjb25mdGVzdC4kYWNfZXh0ICRMSUJTID4mNScKK2FjX2NvbXBpbGVyX2dudT0kYWNfY3ZfY19jb21waWxlcl9nbnUKK2lmIHRlc3QgLW4gIiRhY190b29sX3ByZWZpeCI7IHRoZW4KKyAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIke2FjX3Rvb2xfcHJlZml4fWdjYyIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitzZXQgZHVtbXkgJHthY190b29sX3ByZWZpeH1nY2M7IGFjX3dvcmQ9JDIKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKKyRhc19lY2hvX24gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAiID4mNjsgfQoraWYgdGVzdCAiJHthY19jdl9wcm9nX0NDK3NldH0iID0gc2V0OyB0aGVuIDoKKyAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKK2Vsc2UKKyAgaWYgdGVzdCAtbiAiJENDIjsgdGhlbgorICBhY19jdl9wcm9nX0NDPSIkQ0MiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0LgorZWxzZQorYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgorZm9yIGFzX2RpciBpbiAkUEFUSAorZG8KKyAgSUZTPSRhc19zYXZlX0lGUworICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgorICAgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbworICBpZiB7IHRlc3QgLWYgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiICYmICRhc190ZXN0X3ggIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB9OyB0aGVuCisgICAgYWNfY3ZfcHJvZ19DQz0iJHthY190b29sX3ByZWZpeH1nY2MiCisgICAgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CisgICAgYnJlYWsgMgorICBmaQorZG9uZQorICBkb25lCitJRlM9JGFzX3NhdmVfSUZTCisKK2ZpCitmaQorQ0M9JGFjX2N2X3Byb2dfQ0MKK2lmIHRlc3QgLW4gIiRDQyI7IHRoZW4KKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRDQyIgPiY1CiskYXNfZWNobyAiJENDIiA+JjY7IH0KK2Vsc2UKKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IG5vIiA+JjUKKyRhc19lY2hvICJubyIgPiY2OyB9CitmaQorCisKK2ZpCitpZiB0ZXN0IC16ICIkYWNfY3ZfcHJvZ19DQyI7IHRoZW4KKyAgYWNfY3RfQ0M9JENDCisgICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiZ2NjIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KK3NldCBkdW1teSBnY2M7IGFjX3dvcmQ9JDIKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKKyRhc19lY2hvX24gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAiID4mNjsgfQoraWYgdGVzdCAiJHthY19jdl9wcm9nX2FjX2N0X0NDK3NldH0iID0gc2V0OyB0aGVuIDoKKyAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKK2Vsc2UKKyAgaWYgdGVzdCAtbiAiJGFjX2N0X0NDIjsgdGhlbgorICBhY19jdl9wcm9nX2FjX2N0X0NDPSIkYWNfY3RfQ0MiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0LgorZWxzZQorYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgorZm9yIGFzX2RpciBpbiAkUEFUSAorZG8KKyAgSUZTPSRhc19zYXZlX0lGUworICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgorICAgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbworICBpZiB7IHRlc3QgLWYgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiICYmICRhc190ZXN0X3ggIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB9OyB0aGVuCisgICAgYWNfY3ZfcHJvZ19hY19jdF9DQz0iZ2NjIgorICAgICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQorICAgIGJyZWFrIDIKKyAgZmkKK2RvbmUKKyAgZG9uZQorSUZTPSRhc19zYXZlX0lGUworCitmaQorZmkKK2FjX2N0X0NDPSRhY19jdl9wcm9nX2FjX2N0X0NDCitpZiB0ZXN0IC1uICIkYWNfY3RfQ0MiOyB0aGVuCisgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfY3RfQ0MiID4mNQorJGFzX2VjaG8gIiRhY19jdF9DQyIgPiY2OyB9CitlbHNlCisgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiBubyIgPiY1CiskYXNfZWNobyAibm8iID4mNjsgfQorZmkKKworICBpZiB0ZXN0ICJ4JGFjX2N0X0NDIiA9IHg7IHRoZW4KKyAgICBDQz0iIgorICBlbHNlCisgICAgY2FzZSAkY3Jvc3NfY29tcGlsaW5nOiRhY190b29sX3dhcm5lZCBpbgoreWVzOikKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogV0FSTklORzogdXNpbmcgY3Jvc3MgdG9vbHMgbm90IHByZWZpeGVkIHdpdGggaG9zdCB0cmlwbGV0IiA+JjUKKyRhc19lY2hvICIkYXNfbWU6IFdBUk5JTkc6IHVzaW5nIGNyb3NzIHRvb2xzIG5vdCBwcmVmaXhlZCB3aXRoIGhvc3QgdHJpcGxldCIgPiYyO30KK2FjX3Rvb2xfd2FybmVkPXllcyA7OworZXNhYworICAgIENDPSRhY19jdF9DQworICBmaQorZWxzZQorICBDQz0iJGFjX2N2X3Byb2dfQ0MiCitmaQorCitpZiB0ZXN0IC16ICIkQ0MiOyB0aGVuCisgICAgICAgICAgaWYgdGVzdCAtbiAiJGFjX3Rvb2xfcHJlZml4IjsgdGhlbgorICAgICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJHthY190b29sX3ByZWZpeH1jYyIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitzZXQgZHVtbXkgJHthY190b29sX3ByZWZpeH1jYzsgYWNfd29yZD0kMgoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICIgPiY2OyB9CitpZiB0ZXN0ICIke2FjX2N2X3Byb2dfQ0Mrc2V0fSIgPSBzZXQ7IHRoZW4gOgorICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgorZWxzZQorICBpZiB0ZXN0IC1uICIkQ0MiOyB0aGVuCisgIGFjX2N2X3Byb2dfQ0M9IiRDQyIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCitlbHNlCithc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCitmb3IgYXNfZGlyIGluICRQQVRICitkbworICBJRlM9JGFzX3NhdmVfSUZTCisgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCisgICAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCisgIGlmIHsgdGVzdCAtZiAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgJiYgJGFzX3Rlc3RfeCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IH07IHRoZW4KKyAgICBhY19jdl9wcm9nX0NDPSIke2FjX3Rvb2xfcHJlZml4fWNjIgorICAgICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQorICAgIGJyZWFrIDIKKyAgZmkKK2RvbmUKKyAgZG9uZQorSUZTPSRhc19zYXZlX0lGUworCitmaQorZmkKK0NDPSRhY19jdl9wcm9nX0NDCitpZiB0ZXN0IC1uICIkQ0MiOyB0aGVuCisgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkQ0MiID4mNQorJGFzX2VjaG8gIiRDQyIgPiY2OyB9CitlbHNlCisgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiBubyIgPiY1CiskYXNfZWNobyAibm8iID4mNjsgfQorZmkKKworCisgIGZpCitmaQoraWYgdGVzdCAteiAiJENDIjsgdGhlbgorICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgImNjIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KK3NldCBkdW1teSBjYzsgYWNfd29yZD0kMgoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICIgPiY2OyB9CitpZiB0ZXN0ICIke2FjX2N2X3Byb2dfQ0Mrc2V0fSIgPSBzZXQ7IHRoZW4gOgorICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgorZWxzZQorICBpZiB0ZXN0IC1uICIkQ0MiOyB0aGVuCisgIGFjX2N2X3Byb2dfQ0M9IiRDQyIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCitlbHNlCisgIGFjX3Byb2dfcmVqZWN0ZWQ9bm8KK2FzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKK2ZvciBhc19kaXIgaW4gJFBBVEgKK2RvCisgIElGUz0kYXNfc2F2ZV9JRlMKKyAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KKyAgICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KKyAgaWYgeyB0ZXN0IC1mICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiAmJiAkYXNfdGVzdF94ICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgfTsgdGhlbgorICAgIGlmIHRlc3QgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID0gIi91c3IvdWNiL2NjIjsgdGhlbgorICAgICAgIGFjX3Byb2dfcmVqZWN0ZWQ9eWVzCisgICAgICAgY29udGludWUKKyAgICAgZmkKKyAgICBhY19jdl9wcm9nX0NDPSJjYyIKKyAgICAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKKyAgICBicmVhayAyCisgIGZpCitkb25lCisgIGRvbmUKK0lGUz0kYXNfc2F2ZV9JRlMKKworaWYgdGVzdCAkYWNfcHJvZ19yZWplY3RlZCA9IHllczsgdGhlbgorICAjIFdlIGZvdW5kIGEgYm9nb24gaW4gdGhlIHBhdGgsIHNvIG1ha2Ugc3VyZSB3ZSBuZXZlciB1c2UgaXQuCisgIHNldCBkdW1teSAkYWNfY3ZfcHJvZ19DQworICBzaGlmdAorICBpZiB0ZXN0ICQjICE9IDA7IHRoZW4KKyAgICAjIFdlIGNob3NlIGEgZGlmZmVyZW50IGNvbXBpbGVyIGZyb20gdGhlIGJvZ3VzIG9uZS4KKyAgICAjIEhvd2V2ZXIsIGl0IGhhcyB0aGUgc2FtZSBiYXNlbmFtZSwgc28gdGhlIGJvZ29uIHdpbGwgYmUgY2hvc2VuCisgICAgIyBmaXJzdCBpZiB3ZSBzZXQgQ0MgdG8ganVzdCB0aGUgYmFzZW5hbWU7IHVzZSB0aGUgZnVsbCBmaWxlIG5hbWUuCisgICAgc2hpZnQKKyAgICBhY19jdl9wcm9nX0NDPSIkYXNfZGlyLyRhY193b3JkJHsxKycgJ30kQCIKKyAgZmkKK2ZpCitmaQorZmkKK0NDPSRhY19jdl9wcm9nX0NDCitpZiB0ZXN0IC1uICIkQ0MiOyB0aGVuCisgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkQ0MiID4mNQorJGFzX2VjaG8gIiRDQyIgPiY2OyB9CitlbHNlCisgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiBubyIgPiY1CiskYXNfZWNobyAibm8iID4mNjsgfQorZmkKKworCitmaQoraWYgdGVzdCAteiAiJENDIjsgdGhlbgorICBpZiB0ZXN0IC1uICIkYWNfdG9vbF9wcmVmaXgiOyB0aGVuCisgIGZvciBhY19wcm9nIGluIGNsLmV4ZQorICBkbworICAgICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJGFjX3Rvb2xfcHJlZml4JGFjX3Byb2ciLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorc2V0IGR1bW15ICRhY190b29sX3ByZWZpeCRhY19wcm9nOyBhY193b3JkPSQyCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CiskYXNfZWNob19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gIiA+JjY7IH0KK2lmIHRlc3QgIiR7YWNfY3ZfcHJvZ19DQytzZXR9IiA9IHNldDsgdGhlbiA6CisgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CitlbHNlCisgIGlmIHRlc3QgLW4gIiRDQyI7IHRoZW4KKyAgYWNfY3ZfcHJvZ19DQz0iJENDIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KK2Vsc2UKK2FzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKK2ZvciBhc19kaXIgaW4gJFBBVEgKK2RvCisgIElGUz0kYXNfc2F2ZV9JRlMKKyAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KKyAgICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KKyAgaWYgeyB0ZXN0IC1mICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiAmJiAkYXNfdGVzdF94ICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgfTsgdGhlbgorICAgIGFjX2N2X3Byb2dfQ0M9IiRhY190b29sX3ByZWZpeCRhY19wcm9nIgorICAgICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQorICAgIGJyZWFrIDIKKyAgZmkKK2RvbmUKKyAgZG9uZQorSUZTPSRhc19zYXZlX0lGUworCitmaQorZmkKK0NDPSRhY19jdl9wcm9nX0NDCitpZiB0ZXN0IC1uICIkQ0MiOyB0aGVuCisgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkQ0MiID4mNQorJGFzX2VjaG8gIiRDQyIgPiY2OyB9CitlbHNlCisgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiBubyIgPiY1CiskYXNfZWNobyAibm8iID4mNjsgfQorZmkKKworCisgICAgdGVzdCAtbiAiJENDIiAmJiBicmVhaworICBkb25lCitmaQoraWYgdGVzdCAteiAiJENDIjsgdGhlbgorICBhY19jdF9DQz0kQ0MKKyAgZm9yIGFjX3Byb2cgaW4gY2wuZXhlCitkbworICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIiRhY19wcm9nIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KK3NldCBkdW1teSAkYWNfcHJvZzsgYWNfd29yZD0kMgoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICIgPiY2OyB9CitpZiB0ZXN0ICIke2FjX2N2X3Byb2dfYWNfY3RfQ0Mrc2V0fSIgPSBzZXQ7IHRoZW4gOgorICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgorZWxzZQorICBpZiB0ZXN0IC1uICIkYWNfY3RfQ0MiOyB0aGVuCisgIGFjX2N2X3Byb2dfYWNfY3RfQ0M9IiRhY19jdF9DQyIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCitlbHNlCithc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCitmb3IgYXNfZGlyIGluICRQQVRICitkbworICBJRlM9JGFzX3NhdmVfSUZTCisgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCisgICAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCisgIGlmIHsgdGVzdCAtZiAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgJiYgJGFzX3Rlc3RfeCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IH07IHRoZW4KKyAgICBhY19jdl9wcm9nX2FjX2N0X0NDPSIkYWNfcHJvZyIKKyAgICAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKKyAgICBicmVhayAyCisgIGZpCitkb25lCisgIGRvbmUKK0lGUz0kYXNfc2F2ZV9JRlMKKworZmkKK2ZpCithY19jdF9DQz0kYWNfY3ZfcHJvZ19hY19jdF9DQworaWYgdGVzdCAtbiAiJGFjX2N0X0NDIjsgdGhlbgorICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N0X0NDIiA+JjUKKyRhc19lY2hvICIkYWNfY3RfQ0MiID4mNjsgfQorZWxzZQorICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogbm8iID4mNQorJGFzX2VjaG8gIm5vIiA+JjY7IH0KK2ZpCisKKworICB0ZXN0IC1uICIkYWNfY3RfQ0MiICYmIGJyZWFrCitkb25lCisKKyAgaWYgdGVzdCAieCRhY19jdF9DQyIgPSB4OyB0aGVuCisgICAgQ0M9IiIKKyAgZWxzZQorICAgIGNhc2UgJGNyb3NzX2NvbXBpbGluZzokYWNfdG9vbF93YXJuZWQgaW4KK3llczopCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IFdBUk5JTkc6IHVzaW5nIGNyb3NzIHRvb2xzIG5vdCBwcmVmaXhlZCB3aXRoIGhvc3QgdHJpcGxldCIgPiY1CiskYXNfZWNobyAiJGFzX21lOiBXQVJOSU5HOiB1c2luZyBjcm9zcyB0b29scyBub3QgcHJlZml4ZWQgd2l0aCBob3N0IHRyaXBsZXQiID4mMjt9CithY190b29sX3dhcm5lZD15ZXMgOzsKK2VzYWMKKyAgICBDQz0kYWNfY3RfQ0MKKyAgZmkKK2ZpCisKK2ZpCisKKwordGVzdCAteiAiJENDIiAmJiB7IHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogZXJyb3I6IGluIFxgJGFjX3B3ZCc6IiA+JjUKKyRhc19lY2hvICIkYXNfbWU6IGVycm9yOiBpbiBcYCRhY19wd2QnOiIgPiYyO30KK2FzX2ZuX2Vycm9yICJubyBhY2NlcHRhYmxlIEMgY29tcGlsZXIgZm91bmQgaW4gXCRQQVRICitTZWUgXGBjb25maWcubG9nJyBmb3IgbW9yZSBkZXRhaWxzLiIgIiRMSU5FTk8iIDU7IH0KKworIyBQcm92aWRlIHNvbWUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGNvbXBpbGVyLgorJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgdmVyc2lvbiIgPiY1CitzZXQgWCAkYWNfY29tcGlsZQorYWNfY29tcGlsZXI9JDIKK2ZvciBhY19vcHRpb24gaW4gLS12ZXJzaW9uIC12IC1WIC1xdmVyc2lvbjsgZG8KKyAgeyB7IGFjX3RyeT0iJGFjX2NvbXBpbGVyICRhY19vcHRpb24gPiY1IgorY2FzZSAiKCgkYWNfdHJ5IiBpbgorICAqXCIqIHwgKlxgKiB8ICpcXCopIGFjX3RyeV9lY2hvPVwkYWNfdHJ5OzsKKyAgKikgYWNfdHJ5X2VjaG89JGFjX3RyeTs7Citlc2FjCitldmFsIGFjX3RyeV9lY2hvPSJcIlwkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306ICRhY190cnlfZWNob1wiIgorJGFzX2VjaG8gIiRhY190cnlfZWNobyI7IH0gPiY1CisgIChldmFsICIkYWNfY29tcGlsZXIgJGFjX29wdGlvbiA+JjUiKSAyPmNvbmZ0ZXN0LmVycgorICBhY19zdGF0dXM9JD8KKyAgaWYgdGVzdCAtcyBjb25mdGVzdC5lcnI7IHRoZW4KKyAgICBzZWQgJzEwYVwKKy4uLiByZXN0IG9mIHN0ZGVyciBvdXRwdXQgZGVsZXRlZCAuLi4KKyAgICAgICAgIDEwcScgY29uZnRlc3QuZXJyID5jb25mdGVzdC5lcjEKKyAgICBjYXQgY29uZnRlc3QuZXIxID4mNQorICBmaQorICBybSAtZiBjb25mdGVzdC5lcjEgY29uZnRlc3QuZXJyCisgICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IFwkPyA9ICRhY19zdGF0dXMiID4mNQorICB0ZXN0ICRhY19zdGF0dXMgPSAwOyB9Citkb25lCisKK2NhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKKy8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKworaW50CittYWluICgpCit7CisKKyAgOworICByZXR1cm4gMDsKK30KK19BQ0VPRgorYWNfY2xlYW5fZmlsZXNfc2F2ZT0kYWNfY2xlYW5fZmlsZXMKK2FjX2NsZWFuX2ZpbGVzPSIkYWNfY2xlYW5fZmlsZXMgYS5vdXQgYS5vdXQuZFNZTSBhLmV4ZSBiLm91dCIKKyMgVHJ5IHRvIGNyZWF0ZSBhbiBleGVjdXRhYmxlIHdpdGhvdXQgLW8gZmlyc3QsIGRpc3JlZ2FyZCBhLm91dC4KKyMgSXQgd2lsbCBoZWxwIHVzIGRpYWdub3NlIGJyb2tlbiBjb21waWxlcnMsIGFuZCBmaW5kaW5nIG91dCBhbiBpbnR1aXRpb24KKyMgb2YgZXhlZXh0LgoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzIiA+JjUKKyRhc19lY2hvX24gImNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4gIiA+JjY7IH0KK2FjX2xpbmtfZGVmYXVsdD1gJGFzX2VjaG8gIiRhY19saW5rIiB8IHNlZCAncy8gLW8gKmNvbmZ0ZXN0W14gXSovLydgCisKKyMgVGhlIHBvc3NpYmxlIG91dHB1dCBmaWxlczoKK2FjX2ZpbGVzPSJhLm91dCBjb25mdGVzdC5leGUgY29uZnRlc3QgYS5leGUgYV9vdXQuZXhlIGIub3V0IGNvbmZ0ZXN0LioiCisKK2FjX3JtZmlsZXM9Citmb3IgYWNfZmlsZSBpbiAkYWNfZmlsZXMKK2RvCisgIGNhc2UgJGFjX2ZpbGUgaW4KKyAgICAqLiRhY19leHQgfCAqLnhjb2ZmIHwgKi50ZHMgfCAqLmQgfCAqLnBkYiB8ICoueFNZTSB8ICouYmIgfCAqLmJiZyB8ICoubWFwIHwgKi5pbmYgfCAqLmRTWU0gfCAqLm8gfCAqLm9iaiApIDs7CisgICAgKiApIGFjX3JtZmlsZXM9IiRhY19ybWZpbGVzICRhY19maWxlIjs7CisgIGVzYWMKK2RvbmUKK3JtIC1mICRhY19ybWZpbGVzCisKK2lmIHsgeyBhY190cnk9IiRhY19saW5rX2RlZmF1bHQiCitjYXNlICIoKCRhY190cnkiIGluCisgICpcIiogfCAqXGAqIHwgKlxcKikgYWNfdHJ5X2VjaG89XCRhY190cnk7OworICAqKSBhY190cnlfZWNobz0kYWNfdHJ5OzsKK2VzYWMKK2V2YWwgYWNfdHJ5X2VjaG89IlwiXCRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogJGFjX3RyeV9lY2hvXCIiCiskYXNfZWNobyAiJGFjX3RyeV9lY2hvIjsgfSA+JjUKKyAgKGV2YWwgIiRhY19saW5rX2RlZmF1bHQiKSAyPiY1CisgIGFjX3N0YXR1cz0kPworICAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKyAgdGVzdCAkYWNfc3RhdHVzID0gMDsgfTsgdGhlbiA6CisgICMgQXV0b2NvbmYtMi4xMyBjb3VsZCBzZXQgdGhlIGFjX2N2X2V4ZWV4dCB2YXJpYWJsZSB0byBgbm8nLgorIyBTbyBpZ25vcmUgYSB2YWx1ZSBvZiBgbm8nLCBvdGhlcndpc2UgdGhpcyB3b3VsZCBsZWFkIHRvIGBFWEVFWFQgPSBubycKKyMgaW4gYSBNYWtlZmlsZS4gIFdlIHNob3VsZCBub3Qgb3ZlcnJpZGUgYWNfY3ZfZXhlZXh0IGlmIGl0IHdhcyBjYWNoZWQsCisjIHNvIHRoYXQgdGhlIHVzZXIgY2FuIHNob3J0LWNpcmN1aXQgdGhpcyB0ZXN0IGZvciBjb21waWxlcnMgdW5rbm93biB0bworIyBBdXRvY29uZi4KK2ZvciBhY19maWxlIGluICRhY19maWxlcyAnJworZG8KKyAgdGVzdCAtZiAiJGFjX2ZpbGUiIHx8IGNvbnRpbnVlCisgIGNhc2UgJGFjX2ZpbGUgaW4KKyAgICAqLiRhY19leHQgfCAqLnhjb2ZmIHwgKi50ZHMgfCAqLmQgfCAqLnBkYiB8ICoueFNZTSB8ICouYmIgfCAqLmJiZyB8ICoubWFwIHwgKi5pbmYgfCAqLmRTWU0gfCAqLm8gfCAqLm9iaiApCisJOzsKKyAgICBbYWJdLm91dCApCisJIyBXZSBmb3VuZCB0aGUgZGVmYXVsdCBleGVjdXRhYmxlLCBidXQgZXhlZXh0PScnIGlzIG1vc3QKKwkjIGNlcnRhaW5seSByaWdodC4KKwlicmVhazs7CisgICAgKi4qICkKKwlpZiB0ZXN0ICIke2FjX2N2X2V4ZWV4dCtzZXR9IiA9IHNldCAmJiB0ZXN0ICIkYWNfY3ZfZXhlZXh0IiAhPSBubzsKKwl0aGVuIDo7IGVsc2UKKwkgICBhY19jdl9leGVleHQ9YGV4cHIgIiRhY19maWxlIiA6ICdbXi5dKlwoXC4uKlwpJ2AKKwlmaQorCSMgV2Ugc2V0IGFjX2N2X2V4ZWV4dCBoZXJlIGJlY2F1c2UgdGhlIGxhdGVyIHRlc3QgZm9yIGl0IGlzIG5vdAorCSMgc2FmZTogY3Jvc3MgY29tcGlsZXJzIG1heSBub3QgYWRkIHRoZSBzdWZmaXggaWYgZ2l2ZW4gYW4gYC1vJworCSMgYXJndW1lbnQsIHNvIHdlIG1heSBuZWVkIHRvIGtub3cgaXQgYXQgdGhhdCBwb2ludCBhbHJlYWR5LgorCSMgRXZlbiBpZiB0aGlzIHNlY3Rpb24gbG9va3MgY3J1ZnR5OiBpdCBoYXMgdGhlIGFkdmFudGFnZSBvZgorCSMgYWN0dWFsbHkgd29ya2luZy4KKwlicmVhazs7CisgICAgKiApCisJYnJlYWs7OworICBlc2FjCitkb25lCit0ZXN0ICIkYWNfY3ZfZXhlZXh0IiA9IG5vICYmIGFjX2N2X2V4ZWV4dD0KKworZWxzZQorICBhY19maWxlPScnCitmaQoraWYgdGVzdCAteiAiJGFjX2ZpbGUiOyB0aGVuIDoKKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IG5vIiA+JjUKKyRhc19lY2hvICJubyIgPiY2OyB9CiskYXNfZWNobyAiJGFzX21lOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKK3NlZCAncy9eL3wgLycgY29uZnRlc3QuJGFjX2V4dCA+JjUKKworeyB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGVycm9yOiBpbiBcYCRhY19wd2QnOiIgPiY1CiskYXNfZWNobyAiJGFzX21lOiBlcnJvcjogaW4gXGAkYWNfcHdkJzoiID4mMjt9Cit7IGFzX2ZuX3NldF9zdGF0dXMgNzcKK2FzX2ZuX2Vycm9yICJDIGNvbXBpbGVyIGNhbm5vdCBjcmVhdGUgZXhlY3V0YWJsZXMKK1NlZSBcYGNvbmZpZy5sb2cnIGZvciBtb3JlIGRldGFpbHMuIiAiJExJTkVOTyIgNTsgfTsgfQorZWxzZQorICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogeWVzIiA+JjUKKyRhc19lY2hvICJ5ZXMiID4mNjsgfQorZmkKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lIiA+JjUKKyRhc19lY2hvX24gImNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiAiID4mNjsgfQoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRhY19maWxlIiA+JjUKKyRhc19lY2hvICIkYWNfZmlsZSIgPiY2OyB9CithY19leGVleHQ9JGFjX2N2X2V4ZWV4dAorCitybSAtZiAtciBhLm91dCBhLm91dC5kU1lNIGEuZXhlIGNvbmZ0ZXN0JGFjX2N2X2V4ZWV4dCBiLm91dAorYWNfY2xlYW5fZmlsZXM9JGFjX2NsZWFuX2ZpbGVzX3NhdmUKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcyIgPiY1CiskYXNfZWNob19uICJjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uICIgPiY2OyB9CitpZiB7IHsgYWNfdHJ5PSIkYWNfbGluayIKK2Nhc2UgIigoJGFjX3RyeSIgaW4KKyAgKlwiKiB8ICpcYCogfCAqXFwqKSBhY190cnlfZWNobz1cJGFjX3RyeTs7CisgICopIGFjX3RyeV9lY2hvPSRhY190cnk7OworZXNhYworZXZhbCBhY190cnlfZWNobz0iXCJcJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiAkYWNfdHJ5X2VjaG9cIiIKKyRhc19lY2hvICIkYWNfdHJ5X2VjaG8iOyB9ID4mNQorICAoZXZhbCAiJGFjX2xpbmsiKSAyPiY1CisgIGFjX3N0YXR1cz0kPworICAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKyAgdGVzdCAkYWNfc3RhdHVzID0gMDsgfTsgdGhlbiA6CisgICMgSWYgYm90aCBgY29uZnRlc3QuZXhlJyBhbmQgYGNvbmZ0ZXN0JyBhcmUgYHByZXNlbnQnICh3ZWxsLCBvYnNlcnZhYmxlKQorIyBjYXRjaCBgY29uZnRlc3QuZXhlJy4gIEZvciBpbnN0YW5jZSB3aXRoIEN5Z3dpbiwgYGxzIGNvbmZ0ZXN0JyB3aWxsCisjIHdvcmsgcHJvcGVybHkgKGkuZS4sIHJlZmVyIHRvIGBjb25mdGVzdC5leGUnKSwgd2hpbGUgaXQgd29uJ3Qgd2l0aAorIyBgcm0nLgorZm9yIGFjX2ZpbGUgaW4gY29uZnRlc3QuZXhlIGNvbmZ0ZXN0IGNvbmZ0ZXN0Lio7IGRvCisgIHRlc3QgLWYgIiRhY19maWxlIiB8fCBjb250aW51ZQorICBjYXNlICRhY19maWxlIGluCisgICAgKi4kYWNfZXh0IHwgKi54Y29mZiB8ICoudGRzIHwgKi5kIHwgKi5wZGIgfCAqLnhTWU0gfCAqLmJiIHwgKi5iYmcgfCAqLm1hcCB8ICouaW5mIHwgKi5kU1lNIHwgKi5vIHwgKi5vYmogKSA7OworICAgICouKiApIGFjX2N2X2V4ZWV4dD1gZXhwciAiJGFjX2ZpbGUiIDogJ1teLl0qXChcLi4qXCknYAorCSAgYnJlYWs7OworICAgICogKSBicmVhazs7CisgIGVzYWMKK2RvbmUKK2Vsc2UKKyAgeyB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGVycm9yOiBpbiBcYCRhY19wd2QnOiIgPiY1CiskYXNfZWNobyAiJGFzX21lOiBlcnJvcjogaW4gXGAkYWNfcHdkJzoiID4mMjt9Cithc19mbl9lcnJvciAiY2Fubm90IGNvbXB1dGUgc3VmZml4IG9mIGV4ZWN1dGFibGVzOiBjYW5ub3QgY29tcGlsZSBhbmQgbGluaworU2VlIFxgY29uZmlnLmxvZycgZm9yIG1vcmUgZGV0YWlscy4iICIkTElORU5PIiA1OyB9CitmaQorcm0gLWYgY29uZnRlc3QgY29uZnRlc3QkYWNfY3ZfZXhlZXh0Cit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N2X2V4ZWV4dCIgPiY1CiskYXNfZWNobyAiJGFjX2N2X2V4ZWV4dCIgPiY2OyB9CisKK3JtIC1mIGNvbmZ0ZXN0LiRhY19leHQKK0VYRUVYVD0kYWNfY3ZfZXhlZXh0CithY19leGVleHQ9JEVYRUVYVAorY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAorLyogZW5kIGNvbmZkZWZzLmguICAqLworI2luY2x1ZGUgPHN0ZGlvLmg+CitpbnQKK21haW4gKCkKK3sKK0ZJTEUgKmYgPSBmb3BlbiAoImNvbmZ0ZXN0Lm91dCIsICJ3Iik7CisgcmV0dXJuIGZlcnJvciAoZikgfHwgZmNsb3NlIChmKSAhPSAwOworCisgIDsKKyAgcmV0dXJuIDA7Cit9CitfQUNFT0YKK2FjX2NsZWFuX2ZpbGVzPSIkYWNfY2xlYW5fZmlsZXMgY29uZnRlc3Qub3V0IgorIyBDaGVjayB0aGF0IHRoZSBjb21waWxlciBwcm9kdWNlcyBleGVjdXRhYmxlcyB3ZSBjYW4gcnVuLiAgSWYgbm90LCBlaXRoZXIKKyMgdGhlIGNvbXBpbGVyIGlzIGJyb2tlbiwgb3Igd2UgY3Jvc3MgY29tcGlsZS4KK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nIiA+JjUKKyRhc19lY2hvX24gImNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiAiID4mNjsgfQoraWYgdGVzdCAiJGNyb3NzX2NvbXBpbGluZyIgIT0geWVzOyB0aGVuCisgIHsgeyBhY190cnk9IiRhY19saW5rIgorY2FzZSAiKCgkYWNfdHJ5IiBpbgorICAqXCIqIHwgKlxgKiB8ICpcXCopIGFjX3RyeV9lY2hvPVwkYWNfdHJ5OzsKKyAgKikgYWNfdHJ5X2VjaG89JGFjX3RyeTs7Citlc2FjCitldmFsIGFjX3RyeV9lY2hvPSJcIlwkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306ICRhY190cnlfZWNob1wiIgorJGFzX2VjaG8gIiRhY190cnlfZWNobyI7IH0gPiY1CisgIChldmFsICIkYWNfbGluayIpIDI+JjUKKyAgYWNfc3RhdHVzPSQ/CisgICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IFwkPyA9ICRhY19zdGF0dXMiID4mNQorICB0ZXN0ICRhY19zdGF0dXMgPSAwOyB9CisgIGlmIHsgYWNfdHJ5PScuL2NvbmZ0ZXN0JGFjX2N2X2V4ZWV4dCcKKyAgeyB7IGNhc2UgIigoJGFjX3RyeSIgaW4KKyAgKlwiKiB8ICpcYCogfCAqXFwqKSBhY190cnlfZWNobz1cJGFjX3RyeTs7CisgICopIGFjX3RyeV9lY2hvPSRhY190cnk7OworZXNhYworZXZhbCBhY190cnlfZWNobz0iXCJcJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiAkYWNfdHJ5X2VjaG9cIiIKKyRhc19lY2hvICIkYWNfdHJ5X2VjaG8iOyB9ID4mNQorICAoZXZhbCAiJGFjX3RyeSIpIDI+JjUKKyAgYWNfc3RhdHVzPSQ/CisgICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IFwkPyA9ICRhY19zdGF0dXMiID4mNQorICB0ZXN0ICRhY19zdGF0dXMgPSAwOyB9OyB9OyB0aGVuCisgICAgY3Jvc3NfY29tcGlsaW5nPW5vCisgIGVsc2UKKyAgICBpZiB0ZXN0ICIkY3Jvc3NfY29tcGlsaW5nIiA9IG1heWJlOyB0aGVuCisJY3Jvc3NfY29tcGlsaW5nPXllcworICAgIGVsc2UKKwl7IHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogZXJyb3I6IGluIFxgJGFjX3B3ZCc6IiA+JjUKKyRhc19lY2hvICIkYXNfbWU6IGVycm9yOiBpbiBcYCRhY19wd2QnOiIgPiYyO30KK2FzX2ZuX2Vycm9yICJjYW5ub3QgcnVuIEMgY29tcGlsZWQgcHJvZ3JhbXMuCitJZiB5b3UgbWVhbnQgdG8gY3Jvc3MgY29tcGlsZSwgdXNlIFxgLS1ob3N0Jy4KK1NlZSBcYGNvbmZpZy5sb2cnIGZvciBtb3JlIGRldGFpbHMuIiAiJExJTkVOTyIgNTsgfQorICAgIGZpCisgIGZpCitmaQoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRjcm9zc19jb21waWxpbmciID4mNQorJGFzX2VjaG8gIiRjcm9zc19jb21waWxpbmciID4mNjsgfQorCitybSAtZiBjb25mdGVzdC4kYWNfZXh0IGNvbmZ0ZXN0JGFjX2N2X2V4ZWV4dCBjb25mdGVzdC5vdXQKK2FjX2NsZWFuX2ZpbGVzPSRhY19jbGVhbl9maWxlc19zYXZlCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzIiA+JjUKKyRhc19lY2hvX24gImNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uICIgPiY2OyB9CitpZiB0ZXN0ICIke2FjX2N2X29iamV4dCtzZXR9IiA9IHNldDsgdGhlbiA6CisgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CitlbHNlCisgIGNhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKKy8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKworaW50CittYWluICgpCit7CisKKyAgOworICByZXR1cm4gMDsKK30KK19BQ0VPRgorcm0gLWYgY29uZnRlc3QubyBjb25mdGVzdC5vYmoKK2lmIHsgeyBhY190cnk9IiRhY19jb21waWxlIgorY2FzZSAiKCgkYWNfdHJ5IiBpbgorICAqXCIqIHwgKlxgKiB8ICpcXCopIGFjX3RyeV9lY2hvPVwkYWNfdHJ5OzsKKyAgKikgYWNfdHJ5X2VjaG89JGFjX3RyeTs7Citlc2FjCitldmFsIGFjX3RyeV9lY2hvPSJcIlwkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306ICRhY190cnlfZWNob1wiIgorJGFzX2VjaG8gIiRhY190cnlfZWNobyI7IH0gPiY1CisgIChldmFsICIkYWNfY29tcGlsZSIpIDI+JjUKKyAgYWNfc3RhdHVzPSQ/CisgICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IFwkPyA9ICRhY19zdGF0dXMiID4mNQorICB0ZXN0ICRhY19zdGF0dXMgPSAwOyB9OyB0aGVuIDoKKyAgZm9yIGFjX2ZpbGUgaW4gY29uZnRlc3QubyBjb25mdGVzdC5vYmogY29uZnRlc3QuKjsgZG8KKyAgdGVzdCAtZiAiJGFjX2ZpbGUiIHx8IGNvbnRpbnVlOworICBjYXNlICRhY19maWxlIGluCisgICAgKi4kYWNfZXh0IHwgKi54Y29mZiB8ICoudGRzIHwgKi5kIHwgKi5wZGIgfCAqLnhTWU0gfCAqLmJiIHwgKi5iYmcgfCAqLm1hcCB8ICouaW5mIHwgKi5kU1lNICkgOzsKKyAgICAqKSBhY19jdl9vYmpleHQ9YGV4cHIgIiRhY19maWxlIiA6ICcuKlwuXCguKlwpJ2AKKyAgICAgICBicmVhazs7CisgIGVzYWMKK2RvbmUKK2Vsc2UKKyAgJGFzX2VjaG8gIiRhc19tZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1CitzZWQgJ3MvXi98IC8nIGNvbmZ0ZXN0LiRhY19leHQgPiY1CisKK3sgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBlcnJvcjogaW4gXGAkYWNfcHdkJzoiID4mNQorJGFzX2VjaG8gIiRhc19tZTogZXJyb3I6IGluIFxgJGFjX3B3ZCc6IiA+JjI7fQorYXNfZm5fZXJyb3IgImNhbm5vdCBjb21wdXRlIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXM6IGNhbm5vdCBjb21waWxlCitTZWUgXGBjb25maWcubG9nJyBmb3IgbW9yZSBkZXRhaWxzLiIgIiRMSU5FTk8iIDU7IH0KK2ZpCitybSAtZiBjb25mdGVzdC4kYWNfY3Zfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKK2ZpCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N2X29iamV4dCIgPiY1CiskYXNfZWNobyAiJGFjX2N2X29iamV4dCIgPiY2OyB9CitPQkpFWFQ9JGFjX2N2X29iamV4dAorYWNfb2JqZXh0PSRPQkpFWFQKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyIiA+JjUKKyRhc19lY2hvX24gImNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiAiID4mNjsgfQoraWYgdGVzdCAiJHthY19jdl9jX2NvbXBpbGVyX2dudStzZXR9IiA9IHNldDsgdGhlbiA6CisgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CitlbHNlCisgIGNhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKKy8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKworaW50CittYWluICgpCit7CisjaWZuZGVmIF9fR05VQ19fCisgICAgICAgY2hva2UgbWUKKyNlbmRpZgorCisgIDsKKyAgcmV0dXJuIDA7Cit9CitfQUNFT0YKK2lmIGFjX2ZuX2NfdHJ5X2NvbXBpbGUgIiRMSU5FTk8iOyB0aGVuIDoKKyAgYWNfY29tcGlsZXJfZ251PXllcworZWxzZQorICBhY19jb21waWxlcl9nbnU9bm8KK2ZpCitybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKK2FjX2N2X2NfY29tcGlsZXJfZ251PSRhY19jb21waWxlcl9nbnUKKworZmkKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfY3ZfY19jb21waWxlcl9nbnUiID4mNQorJGFzX2VjaG8gIiRhY19jdl9jX2NvbXBpbGVyX2dudSIgPiY2OyB9CitpZiB0ZXN0ICRhY19jb21waWxlcl9nbnUgPSB5ZXM7IHRoZW4KKyAgR0NDPXllcworZWxzZQorICBHQ0M9CitmaQorYWNfdGVzdF9DRkxBR1M9JHtDRkxBR1Mrc2V0fQorYWNfc2F2ZV9DRkxBR1M9JENGTEFHUworeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyB3aGV0aGVyICRDQyBhY2NlcHRzIC1nIiA+JjUKKyRhc19lY2hvX24gImNoZWNraW5nIHdoZXRoZXIgJENDIGFjY2VwdHMgLWcuLi4gIiA+JjY7IH0KK2lmIHRlc3QgIiR7YWNfY3ZfcHJvZ19jY19nK3NldH0iID0gc2V0OyB0aGVuIDoKKyAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKK2Vsc2UKKyAgYWNfc2F2ZV9jX3dlcnJvcl9mbGFnPSRhY19jX3dlcnJvcl9mbGFnCisgICBhY19jX3dlcnJvcl9mbGFnPXllcworICAgYWNfY3ZfcHJvZ19jY19nPW5vCisgICBDRkxBR1M9Ii1nIgorICAgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAorLyogZW5kIGNvbmZkZWZzLmguICAqLworCitpbnQKK21haW4gKCkKK3sKKworICA7CisgIHJldHVybiAwOworfQorX0FDRU9GCitpZiBhY19mbl9jX3RyeV9jb21waWxlICIkTElORU5PIjsgdGhlbiA6CisgIGFjX2N2X3Byb2dfY2NfZz15ZXMKK2Vsc2UKKyAgQ0ZMQUdTPSIiCisgICAgICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0CisvKiBlbmQgY29uZmRlZnMuaC4gICovCisKK2ludAorbWFpbiAoKQoreworCisgIDsKKyAgcmV0dXJuIDA7Cit9CitfQUNFT0YKK2lmIGFjX2ZuX2NfdHJ5X2NvbXBpbGUgIiRMSU5FTk8iOyB0aGVuIDoKKworZWxzZQorICBhY19jX3dlcnJvcl9mbGFnPSRhY19zYXZlX2Nfd2Vycm9yX2ZsYWcKKwkgQ0ZMQUdTPSItZyIKKwkgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAorLyogZW5kIGNvbmZkZWZzLmguICAqLworCitpbnQKK21haW4gKCkKK3sKKworICA7CisgIHJldHVybiAwOworfQorX0FDRU9GCitpZiBhY19mbl9jX3RyeV9jb21waWxlICIkTElORU5PIjsgdGhlbiA6CisgIGFjX2N2X3Byb2dfY2NfZz15ZXMKK2ZpCitybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKK2ZpCitybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKK2ZpCitybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKKyAgIGFjX2Nfd2Vycm9yX2ZsYWc9JGFjX3NhdmVfY193ZXJyb3JfZmxhZworZmkKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfY3ZfcHJvZ19jY19nIiA+JjUKKyRhc19lY2hvICIkYWNfY3ZfcHJvZ19jY19nIiA+JjY7IH0KK2lmIHRlc3QgIiRhY190ZXN0X0NGTEFHUyIgPSBzZXQ7IHRoZW4KKyAgQ0ZMQUdTPSRhY19zYXZlX0NGTEFHUworZWxpZiB0ZXN0ICRhY19jdl9wcm9nX2NjX2cgPSB5ZXM7IHRoZW4KKyAgaWYgdGVzdCAiJEdDQyIgPSB5ZXM7IHRoZW4KKyAgICBDRkxBR1M9Ii1nIC1PMiIKKyAgZWxzZQorICAgIENGTEFHUz0iLWciCisgIGZpCitlbHNlCisgIGlmIHRlc3QgIiRHQ0MiID0geWVzOyB0aGVuCisgICAgQ0ZMQUdTPSItTzIiCisgIGVsc2UKKyAgICBDRkxBR1M9CisgIGZpCitmaQoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgJENDIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OSIgPiY1CiskYXNfZWNob19uICJjaGVja2luZyBmb3IgJENDIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiAiID4mNjsgfQoraWYgdGVzdCAiJHthY19jdl9wcm9nX2NjX2M4OStzZXR9IiA9IHNldDsgdGhlbiA6CisgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CitlbHNlCisgIGFjX2N2X3Byb2dfY2NfYzg5PW5vCithY19zYXZlX0NDPSRDQworY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAorLyogZW5kIGNvbmZkZWZzLmguICAqLworI2luY2x1ZGUgPHN0ZGFyZy5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKy8qIE1vc3Qgb2YgdGhlIGZvbGxvd2luZyB0ZXN0cyBhcmUgc3RvbGVuIGZyb20gUkNTIDUuNydzIHNyYy9jb25mLnNoLiAgKi8KK3N0cnVjdCBidWYgeyBpbnQgeDsgfTsKK0ZJTEUgKiAoKnJjc29wZW4pIChzdHJ1Y3QgYnVmICosIHN0cnVjdCBzdGF0ICosIGludCk7CitzdGF0aWMgY2hhciAqZSAocCwgaSkKKyAgICAgY2hhciAqKnA7CisgICAgIGludCBpOworeworICByZXR1cm4gcFtpXTsKK30KK3N0YXRpYyBjaGFyICpmIChjaGFyICogKCpnKSAoY2hhciAqKiwgaW50KSwgY2hhciAqKnAsIC4uLikKK3sKKyAgY2hhciAqczsKKyAgdmFfbGlzdCB2OworICB2YV9zdGFydCAodixwKTsKKyAgcyA9IGcgKHAsIHZhX2FyZyAodixpbnQpKTsKKyAgdmFfZW5kICh2KTsKKyAgcmV0dXJuIHM7Cit9CisKKy8qIE9TRiA0LjAgQ29tcGFxIGNjIGlzIHNvbWUgc29ydCBvZiBhbG1vc3QtQU5TSSBieSBkZWZhdWx0LiAgSXQgaGFzCisgICBmdW5jdGlvbiBwcm90b3R5cGVzIGFuZCBzdHVmZiwgYnV0IG5vdCAnXHhISCcgaGV4IGNoYXJhY3RlciBjb25zdGFudHMuCisgICBUaGVzZSBkb24ndCBwcm92b2tlIGFuIGVycm9yIHVuZm9ydHVuYXRlbHksIGluc3RlYWQgYXJlIHNpbGVudGx5IHRyZWF0ZWQKKyAgIGFzICd4Jy4gIFRoZSBmb2xsb3dpbmcgaW5kdWNlcyBhbiBlcnJvciwgdW50aWwgLXN0ZCBpcyBhZGRlZCB0byBnZXQKKyAgIHByb3BlciBBTlNJIG1vZGUuICBDdXJpb3VzbHkgJ1x4MDAnIT0neCcgYWx3YXlzIGNvbWVzIG91dCB0cnVlLCBmb3IgYW4KKyAgIGFycmF5IHNpemUgYXQgbGVhc3QuICBJdCdzIG5lY2Vzc2FyeSB0byB3cml0ZSAnXHgwMCc9PTAgdG8gZ2V0IHNvbWV0aGluZworICAgdGhhdCdzIHRydWUgb25seSB3aXRoIC1zdGQuICAqLworaW50IG9zZjRfY2NfYXJyYXkgWydceDAwJyA9PSAwID8gMSA6IC0xXTsKKworLyogSUJNIEMgNiBmb3IgQUlYIGlzIGFsbW9zdC1BTlNJIGJ5IGRlZmF1bHQsIGJ1dCBpdCByZXBsYWNlcyBtYWNybyBwYXJhbWV0ZXJzCisgICBpbnNpZGUgc3RyaW5ncyBhbmQgY2hhcmFjdGVyIGNvbnN0YW50cy4gICovCisjZGVmaW5lIEZPTyh4KSAneCcKK2ludCB4bGM2X2NjX2FycmF5W0ZPTyhhKSA9PSAneCcgPyAxIDogLTFdOworCitpbnQgdGVzdCAoaW50IGksIGRvdWJsZSB4KTsKK3N0cnVjdCBzMSB7aW50ICgqZikgKGludCBhKTt9Oworc3RydWN0IHMyIHtpbnQgKCpmKSAoZG91YmxlIGEpO307CitpbnQgcGFpcm5hbWVzIChpbnQsIGNoYXIgKiosIEZJTEUgKigqKShzdHJ1Y3QgYnVmICosIHN0cnVjdCBzdGF0ICosIGludCksIGludCwgaW50KTsKK2ludCBhcmdjOworY2hhciAqKmFyZ3Y7CitpbnQKK21haW4gKCkKK3sKK3JldHVybiBmIChlLCBhcmd2LCAwKSAhPSBhcmd2WzBdICB8fCAgZiAoZSwgYXJndiwgMSkgIT0gYXJndlsxXTsKKyAgOworICByZXR1cm4gMDsKK30KK19BQ0VPRgorZm9yIGFjX2FyZyBpbiAnJyAtcWxhbmdsdmw9ZXh0Yzg5IC1xbGFuZ2x2bD1hbnNpIC1zdGQgXAorCS1BZSAiLUFhIC1EX0hQVVhfU09VUkNFIiAiLVhjIC1EX19FWFRFTlNJT05TX18iCitkbworICBDQz0iJGFjX3NhdmVfQ0MgJGFjX2FyZyIKKyAgaWYgYWNfZm5fY190cnlfY29tcGlsZSAiJExJTkVOTyI7IHRoZW4gOgorICBhY19jdl9wcm9nX2NjX2M4OT0kYWNfYXJnCitmaQorcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dAorICB0ZXN0ICJ4JGFjX2N2X3Byb2dfY2NfYzg5IiAhPSAieG5vIiAmJiBicmVhaworZG9uZQorcm0gLWYgY29uZnRlc3QuJGFjX2V4dAorQ0M9JGFjX3NhdmVfQ0MKKworZmkKKyMgQUNfQ0FDSEVfVkFMCitjYXNlICJ4JGFjX2N2X3Byb2dfY2NfYzg5IiBpbgorICB4KQorICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiBub25lIG5lZWRlZCIgPiY1CiskYXNfZWNobyAibm9uZSBuZWVkZWQiID4mNjsgfSA7OworICB4bm8pCisgICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IHVuc3VwcG9ydGVkIiA+JjUKKyRhc19lY2hvICJ1bnN1cHBvcnRlZCIgPiY2OyB9IDs7CisgICopCisgICAgQ0M9IiRDQyAkYWNfY3ZfcHJvZ19jY19jODkiCisgICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRhY19jdl9wcm9nX2NjX2M4OSIgPiY1CiskYXNfZWNobyAiJGFjX2N2X3Byb2dfY2NfYzg5IiA+JjY7IH0gOzsKK2VzYWMKK2lmIHRlc3QgIngkYWNfY3ZfcHJvZ19jY19jODkiICE9IHhubzsgdGhlbiA6CisKK2ZpCisKK2FjX2V4dD1jCithY19jcHA9JyRDUFAgJENQUEZMQUdTJworYWNfY29tcGlsZT0nJENDIC1jICRDRkxBR1MgJENQUEZMQUdTIGNvbmZ0ZXN0LiRhY19leHQgPiY1JworYWNfbGluaz0nJENDIC1vIGNvbmZ0ZXN0JGFjX2V4ZWV4dCAkQ0ZMQUdTICRDUFBGTEFHUyAkTERGTEFHUyBjb25mdGVzdC4kYWNfZXh0ICRMSUJTID4mNScKK2FjX2NvbXBpbGVyX2dudT0kYWNfY3ZfY19jb21waWxlcl9nbnUKK0RFUERJUj0iJHthbV9fbGVhZGluZ19kb3R9ZGVwcyIKKworYWNfY29uZmlnX2NvbW1hbmRzPSIkYWNfY29uZmlnX2NvbW1hbmRzIGRlcGZpbGVzIgorCisKK2FtX21ha2U9JHtNQUtFLW1ha2V9CitjYXQgPiBjb25maW5jIDw8ICdFTkQnCithbV9fZG9pdDoKKwlAZWNobyB0aGlzIGlzIHRoZSBhbV9fZG9pdCB0YXJnZXQKKy5QSE9OWTogYW1fX2RvaXQKK0VORAorIyBJZiB3ZSBkb24ndCBmaW5kIGFuIGluY2x1ZGUgZGlyZWN0aXZlLCBqdXN0IGNvbW1lbnQgb3V0IHRoZSBjb2RlLgoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3Igc3R5bGUgb2YgaW5jbHVkZSB1c2VkIGJ5ICRhbV9tYWtlIiA+JjUKKyRhc19lY2hvX24gImNoZWNraW5nIGZvciBzdHlsZSBvZiBpbmNsdWRlIHVzZWQgYnkgJGFtX21ha2UuLi4gIiA+JjY7IH0KK2FtX19pbmNsdWRlPSIjIgorYW1fX3F1b3RlPQorX2FtX3Jlc3VsdD1ub25lCisjIEZpcnN0IHRyeSBHTlUgbWFrZSBzdHlsZSBpbmNsdWRlLgorZWNobyAiaW5jbHVkZSBjb25maW5jIiA+IGNvbmZtZgorIyBJZ25vcmUgYWxsIGtpbmRzIG9mIGFkZGl0aW9uYWwgb3V0cHV0IGZyb20gYG1ha2UnLgorY2FzZSBgJGFtX21ha2UgLXMgLWYgY29uZm1mIDI+IC9kZXYvbnVsbGAgaW4gIygKKyp0aGVcIGFtX19kb2l0XCB0YXJnZXQqKQorICBhbV9faW5jbHVkZT1pbmNsdWRlCisgIGFtX19xdW90ZT0KKyAgX2FtX3Jlc3VsdD1HTlUKKyAgOzsKK2VzYWMKKyMgTm93IHRyeSBCU0QgbWFrZSBzdHlsZSBpbmNsdWRlLgoraWYgdGVzdCAiJGFtX19pbmNsdWRlIiA9ICIjIjsgdGhlbgorICAgZWNobyAnLmluY2x1ZGUgImNvbmZpbmMiJyA+IGNvbmZtZgorICAgY2FzZSBgJGFtX21ha2UgLXMgLWYgY29uZm1mIDI+IC9kZXYvbnVsbGAgaW4gIygKKyAgICp0aGVcIGFtX19kb2l0XCB0YXJnZXQqKQorICAgICBhbV9faW5jbHVkZT0uaW5jbHVkZQorICAgICBhbV9fcXVvdGU9IlwiIgorICAgICBfYW1fcmVzdWx0PUJTRAorICAgICA7OworICAgZXNhYworZmkKKworCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJF9hbV9yZXN1bHQiID4mNQorJGFzX2VjaG8gIiRfYW1fcmVzdWx0IiA+JjY7IH0KK3JtIC1mIGNvbmZpbmMgY29uZm1mCisKKyMgQ2hlY2sgd2hldGhlciAtLWVuYWJsZS1kZXBlbmRlbmN5LXRyYWNraW5nIHdhcyBnaXZlbi4KK2lmIHRlc3QgIiR7ZW5hYmxlX2RlcGVuZGVuY3lfdHJhY2tpbmcrc2V0fSIgPSBzZXQ7IHRoZW4gOgorICBlbmFibGV2YWw9JGVuYWJsZV9kZXBlbmRlbmN5X3RyYWNraW5nOworZmkKKworaWYgdGVzdCAieCRlbmFibGVfZGVwZW5kZW5jeV90cmFja2luZyIgIT0geG5vOyB0aGVuCisgIGFtX2RlcGNvbXA9IiRhY19hdXhfZGlyL2RlcGNvbXAiCisgIEFNREVQQkFDS1NMQVNIPSdcJworICBhbV9fbm9kZXA9J19ubycKK2ZpCisgaWYgdGVzdCAieCRlbmFibGVfZGVwZW5kZW5jeV90cmFja2luZyIgIT0geG5vOyB0aGVuCisgIEFNREVQX1RSVUU9CisgIEFNREVQX0ZBTFNFPScjJworZWxzZQorICBBTURFUF9UUlVFPScjJworICBBTURFUF9GQUxTRT0KK2ZpCisKKworCitkZXBjYz0iJENDIiAgIGFtX2NvbXBpbGVyX2xpc3Q9CisKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiAkZGVwY2MiID4mNQorJGFzX2VjaG9fbiAiY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiAkZGVwY2MuLi4gIiA+JjY7IH0KK2lmIHRlc3QgIiR7YW1fY3ZfQ0NfZGVwZW5kZW5jaWVzX2NvbXBpbGVyX3R5cGUrc2V0fSIgPSBzZXQ7IHRoZW4gOgorICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgorZWxzZQorICBpZiB0ZXN0IC16ICIkQU1ERVBfVFJVRSIgJiYgdGVzdCAtZiAiJGFtX2RlcGNvbXAiOyB0aGVuCisgICMgV2UgbWFrZSBhIHN1YmRpciBhbmQgZG8gdGhlIHRlc3RzIHRoZXJlLiAgT3RoZXJ3aXNlIHdlIGNhbiBlbmQgdXAKKyAgIyBtYWtpbmcgYm9ndXMgZmlsZXMgdGhhdCB3ZSBkb24ndCBrbm93IGFib3V0IGFuZCBuZXZlciByZW1vdmUuICBGb3IKKyAgIyBpbnN0YW5jZSBpdCB3YXMgcmVwb3J0ZWQgdGhhdCBvbiBIUC1VWCB0aGUgZ2NjIHRlc3Qgd2lsbCBlbmQgdXAKKyAgIyBtYWtpbmcgYSBkdW1teSBmaWxlIG5hbWVkIGBEJyAtLSBiZWNhdXNlIGAtTUQnIG1lYW5zIGBwdXQgdGhlIG91dHB1dAorICAjIGluIEQnLgorICBta2RpciBjb25mdGVzdC5kaXIKKyAgIyBDb3B5IGRlcGNvbXAgdG8gc3ViZGlyIGJlY2F1c2Ugb3RoZXJ3aXNlIHdlIHdvbid0IGZpbmQgaXQgaWYgd2UncmUKKyAgIyB1c2luZyBhIHJlbGF0aXZlIGRpcmVjdG9yeS4KKyAgY3AgIiRhbV9kZXBjb21wIiBjb25mdGVzdC5kaXIKKyAgY2QgY29uZnRlc3QuZGlyCisgICMgV2Ugd2lsbCBidWlsZCBvYmplY3RzIGFuZCBkZXBlbmRlbmNpZXMgaW4gYSBzdWJkaXJlY3RvcnkgYmVjYXVzZQorICAjIGl0IGhlbHBzIHRvIGRldGVjdCBpbmFwcGxpY2FibGUgZGVwZW5kZW5jeSBtb2Rlcy4gIEZvciBpbnN0YW5jZQorICAjIGJvdGggVHJ1NjQncyBjYyBhbmQgSUNDIHN1cHBvcnQgLU1EIHRvIG91dHB1dCBkZXBlbmRlbmNpZXMgYXMgYQorICAjIHNpZGUgZWZmZWN0IG9mIGNvbXBpbGF0aW9uLCBidXQgSUNDIHdpbGwgcHV0IHRoZSBkZXBlbmRlbmNpZXMgaW4KKyAgIyB0aGUgY3VycmVudCBkaXJlY3Rvcnkgd2hpbGUgVHJ1NjQgd2lsbCBwdXQgdGhlbSBpbiB0aGUgb2JqZWN0CisgICMgZGlyZWN0b3J5LgorICBta2RpciBzdWIKKworICBhbV9jdl9DQ19kZXBlbmRlbmNpZXNfY29tcGlsZXJfdHlwZT1ub25lCisgIGlmIHRlc3QgIiRhbV9jb21waWxlcl9saXN0IiA9ICIiOyB0aGVuCisgICAgIGFtX2NvbXBpbGVyX2xpc3Q9YHNlZCAtbiAncy9eIypcKFthLXpBLVowLTldKlwpKSQvXDEvcCcgPCAuL2RlcGNvbXBgCisgIGZpCisgIGFtX191bml2ZXJzYWw9ZmFsc2UKKyAgY2FzZSAiICRkZXBjYyAiIGluICMoCisgICAgICpcIC1hcmNoXCAqXCAtYXJjaFwgKikgYW1fX3VuaXZlcnNhbD10cnVlIDs7CisgICAgIGVzYWMKKworICBmb3IgZGVwbW9kZSBpbiAkYW1fY29tcGlsZXJfbGlzdDsgZG8KKyAgICAjIFNldHVwIGEgc291cmNlIHdpdGggbWFueSBkZXBlbmRlbmNpZXMsIGJlY2F1c2Ugc29tZSBjb21waWxlcnMKKyAgICAjIGxpa2UgdG8gd3JhcCBsYXJnZSBkZXBlbmRlbmN5IGxpc3RzIG9uIGNvbHVtbiA4MCAod2l0aCBcKSwgYW5kCisgICAgIyB3ZSBzaG91bGQgbm90IGNob29zZSBhIGRlcGNvbXAgbW9kZSB3aGljaCBpcyBjb25mdXNlZCBieSB0aGlzLgorICAgICMKKyAgICAjIFdlIG5lZWQgdG8gcmVjcmVhdGUgdGhlc2UgZmlsZXMgZm9yIGVhY2ggdGVzdCwgYXMgdGhlIGNvbXBpbGVyIG1heQorICAgICMgb3ZlcndyaXRlIHNvbWUgb2YgdGhlbSB3aGVuIHRlc3Rpbmcgd2l0aCBvYnNjdXJlIGNvbW1hbmQgbGluZXMuCisgICAgIyBUaGlzIGhhcHBlbnMgYXQgbGVhc3Qgd2l0aCB0aGUgQUlYIEMgY29tcGlsZXIuCisgICAgOiA+IHN1Yi9jb25mdGVzdC5jCisgICAgZm9yIGkgaW4gMSAyIDMgNCA1IDY7IGRvCisgICAgICBlY2hvICcjaW5jbHVkZSAiY29uZnRzdCckaScuaCInID4+IHN1Yi9jb25mdGVzdC5jCisgICAgICAjIFVzaW5nIGA6ID4gc3ViL2NvbmZ0c3QkaS5oJyBjcmVhdGVzIG9ubHkgc3ViL2NvbmZ0c3QxLmggd2l0aAorICAgICAgIyBTb2xhcmlzIDgncyB7L3Vzcix9L2Jpbi9zaC4KKyAgICAgIHRvdWNoIHN1Yi9jb25mdHN0JGkuaAorICAgIGRvbmUKKyAgICBlY2hvICIke2FtX19pbmNsdWRlfSAke2FtX19xdW90ZX1zdWIvY29uZnRlc3QuUG8ke2FtX19xdW90ZX0iID4gY29uZm1mCisKKyAgICAjIFdlIGNoZWNrIHdpdGggYC1jJyBhbmQgYC1vJyBmb3IgdGhlIHNha2Ugb2YgdGhlICJkYXNobXN0ZG91dCIKKyAgICAjIG1vZGUuICBJdCB0dXJucyBvdXQgdGhhdCB0aGUgU3VuUHJvIEMrKyBjb21waWxlciBkb2VzIG5vdCBwcm9wZXJseQorICAgICMgaGFuZGxlIGAtTSAtbycsIGFuZCB3ZSBuZWVkIHRvIGRldGVjdCB0aGlzLiAgQWxzbywgc29tZSBJbnRlbAorICAgICMgdmVyc2lvbnMgaGFkIHRyb3VibGUgd2l0aCBvdXRwdXQgaW4gc3ViZGlycworICAgIGFtX19vYmo9c3ViL2NvbmZ0ZXN0LiR7T0JKRVhULW99CisgICAgYW1fX21pbnVzX29iaj0iLW8gJGFtX19vYmoiCisgICAgY2FzZSAkZGVwbW9kZSBpbgorICAgIGdjYykKKyAgICAgICMgVGhpcyBkZXBtb2RlIGNhdXNlcyBhIGNvbXBpbGVyIHJhY2UgaW4gdW5pdmVyc2FsIG1vZGUuCisgICAgICB0ZXN0ICIkYW1fX3VuaXZlcnNhbCIgPSBmYWxzZSB8fCBjb250aW51ZQorICAgICAgOzsKKyAgICBub3NpZGVlZmZlY3QpCisgICAgICAjIGFmdGVyIHRoaXMgdGFnLCBtZWNoYW5pc21zIGFyZSBub3QgYnkgc2lkZS1lZmZlY3QsIHNvIHRoZXknbGwKKyAgICAgICMgb25seSBiZSB1c2VkIHdoZW4gZXhwbGljaXRseSByZXF1ZXN0ZWQKKyAgICAgIGlmIHRlc3QgIngkZW5hYmxlX2RlcGVuZGVuY3lfdHJhY2tpbmciID0geHllczsgdGhlbgorCWNvbnRpbnVlCisgICAgICBlbHNlCisJYnJlYWsKKyAgICAgIGZpCisgICAgICA7OworICAgIG1zdmlzdWFsY3BwIHwgbXN2Y21zeXMpCisgICAgICAjIFRoaXMgY29tcGlsZXIgd29uJ3QgZ3JvayBgLWMgLW8nLCBidXQgYWxzbywgdGhlIG1pbnVzbyB0ZXN0IGhhcworICAgICAgIyBub3QgcnVuIHlldC4gIFRoZXNlIGRlcG1vZGVzIGFyZSBsYXRlIGVub3VnaCBpbiB0aGUgZ2FtZSwgYW5kCisgICAgICAjIHNvIHdlYWsgdGhhdCB0aGVpciBmdW5jdGlvbmluZyBzaG91bGQgbm90IGJlIGltcGFjdGVkLgorICAgICAgYW1fX29iaj1jb25mdGVzdC4ke09CSkVYVC1vfQorICAgICAgYW1fX21pbnVzX29iaj0KKyAgICAgIDs7CisgICAgbm9uZSkgYnJlYWsgOzsKKyAgICBlc2FjCisgICAgaWYgZGVwbW9kZT0kZGVwbW9kZSBcCisgICAgICAgc291cmNlPXN1Yi9jb25mdGVzdC5jIG9iamVjdD0kYW1fX29iaiBcCisgICAgICAgZGVwZmlsZT1zdWIvY29uZnRlc3QuUG8gdG1wZGVwZmlsZT1zdWIvY29uZnRlc3QuVFBvIFwKKyAgICAgICAkU0hFTEwgLi9kZXBjb21wICRkZXBjYyAtYyAkYW1fX21pbnVzX29iaiBzdWIvY29uZnRlc3QuYyBcCisgICAgICAgICA+L2Rldi9udWxsIDI+Y29uZnRlc3QuZXJyICYmCisgICAgICAgZ3JlcCBzdWIvY29uZnRzdDEuaCBzdWIvY29uZnRlc3QuUG8gPiAvZGV2L251bGwgMj4mMSAmJgorICAgICAgIGdyZXAgc3ViL2NvbmZ0c3Q2Lmggc3ViL2NvbmZ0ZXN0LlBvID4gL2Rldi9udWxsIDI+JjEgJiYKKyAgICAgICBncmVwICRhbV9fb2JqIHN1Yi9jb25mdGVzdC5QbyA+IC9kZXYvbnVsbCAyPiYxICYmCisgICAgICAgJHtNQUtFLW1ha2V9IC1zIC1mIGNvbmZtZiA+IC9kZXYvbnVsbCAyPiYxOyB0aGVuCisgICAgICAjIGljYyBkb2Vzbid0IGNob2tlIG9uIHVua25vd24gb3B0aW9ucywgaXQgd2lsbCBqdXN0IGlzc3VlIHdhcm5pbmdzCisgICAgICAjIG9yIHJlbWFya3MgKGV2ZW4gd2l0aCAtV2Vycm9yKS4gIFNvIHdlIGdyZXAgc3RkZXJyIGZvciBhbnkgbWVzc2FnZQorICAgICAgIyB0aGF0IHNheXMgYW4gb3B0aW9uIHdhcyBpZ25vcmVkIG9yIG5vdCBzdXBwb3J0ZWQuCisgICAgICAjIFdoZW4gZ2l2ZW4gLU1QLCBpY2MgNy4wIGFuZCA3LjEgY29tcGxhaW4gdGh1c2x5OgorICAgICAgIyAgIGljYzogQ29tbWFuZCBsaW5lIHdhcm5pbmc6IGlnbm9yaW5nIG9wdGlvbiAnLU0nOyBubyBhcmd1bWVudCByZXF1aXJlZAorICAgICAgIyBUaGUgZGlhZ25vc2lzIGNoYW5nZWQgaW4gaWNjIDguMDoKKyAgICAgICMgICBpY2M6IENvbW1hbmQgbGluZSByZW1hcms6IG9wdGlvbiAnLU1QJyBub3Qgc3VwcG9ydGVkCisgICAgICBpZiAoZ3JlcCAnaWdub3Jpbmcgb3B0aW9uJyBjb25mdGVzdC5lcnIgfHwKKyAgICAgICAgICBncmVwICdub3Qgc3VwcG9ydGVkJyBjb25mdGVzdC5lcnIpID4vZGV2L251bGwgMj4mMTsgdGhlbiA6OyBlbHNlCisgICAgICAgIGFtX2N2X0NDX2RlcGVuZGVuY2llc19jb21waWxlcl90eXBlPSRkZXBtb2RlCisgICAgICAgIGJyZWFrCisgICAgICBmaQorICAgIGZpCisgIGRvbmUKKworICBjZCAuLgorICBybSAtcmYgY29uZnRlc3QuZGlyCitlbHNlCisgIGFtX2N2X0NDX2RlcGVuZGVuY2llc19jb21waWxlcl90eXBlPW5vbmUKK2ZpCisKK2ZpCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFtX2N2X0NDX2RlcGVuZGVuY2llc19jb21waWxlcl90eXBlIiA+JjUKKyRhc19lY2hvICIkYW1fY3ZfQ0NfZGVwZW5kZW5jaWVzX2NvbXBpbGVyX3R5cGUiID4mNjsgfQorQ0NERVBNT0RFPWRlcG1vZGU9JGFtX2N2X0NDX2RlcGVuZGVuY2llc19jb21waWxlcl90eXBlCisKKyBpZgorICB0ZXN0ICJ4JGVuYWJsZV9kZXBlbmRlbmN5X3RyYWNraW5nIiAhPSB4bm8gXAorICAmJiB0ZXN0ICIkYW1fY3ZfQ0NfZGVwZW5kZW5jaWVzX2NvbXBpbGVyX3R5cGUiID0gZ2NjMzsgdGhlbgorICBhbV9fZmFzdGRlcENDX1RSVUU9CisgIGFtX19mYXN0ZGVwQ0NfRkFMU0U9JyMnCitlbHNlCisgIGFtX19mYXN0ZGVwQ0NfVFJVRT0nIycKKyAgYW1fX2Zhc3RkZXBDQ19GQUxTRT0KK2ZpCisKKworCithY19leHQ9YworYWNfY3BwPSckQ1BQICRDUFBGTEFHUycKK2FjX2NvbXBpbGU9JyRDQyAtYyAkQ0ZMQUdTICRDUFBGTEFHUyBjb25mdGVzdC4kYWNfZXh0ID4mNScKK2FjX2xpbms9JyRDQyAtbyBjb25mdGVzdCRhY19leGVleHQgJENGTEFHUyAkQ1BQRkxBR1MgJExERkxBR1MgY29uZnRlc3QuJGFjX2V4dCAkTElCUyA+JjUnCithY19jb21waWxlcl9nbnU9JGFjX2N2X2NfY29tcGlsZXJfZ251Cit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGhvdyB0byBydW4gdGhlIEMgcHJlcHJvY2Vzc29yIiA+JjUKKyRhc19lY2hvX24gImNoZWNraW5nIGhvdyB0byBydW4gdGhlIEMgcHJlcHJvY2Vzc29yLi4uICIgPiY2OyB9CisjIE9uIFN1bnMsIHNvbWV0aW1lcyAkQ1BQIG5hbWVzIGEgZGlyZWN0b3J5LgoraWYgdGVzdCAtbiAiJENQUCIgJiYgdGVzdCAtZCAiJENQUCI7IHRoZW4KKyAgQ1BQPQorZmkKK2lmIHRlc3QgLXogIiRDUFAiOyB0aGVuCisgIGlmIHRlc3QgIiR7YWNfY3ZfcHJvZ19DUFArc2V0fSIgPSBzZXQ7IHRoZW4gOgorICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgorZWxzZQorICAgICAgIyBEb3VibGUgcXVvdGVzIGJlY2F1c2UgQ1BQIG5lZWRzIHRvIGJlIGV4cGFuZGVkCisgICAgZm9yIENQUCBpbiAiJENDIC1FIiAiJENDIC1FIC10cmFkaXRpb25hbC1jcHAiICIvbGliL2NwcCIKKyAgICBkbworICAgICAgYWNfcHJlcHJvY19vaz1mYWxzZQorZm9yIGFjX2NfcHJlcHJvY193YXJuX2ZsYWcgaW4gJycgeWVzCitkbworICAjIFVzZSBhIGhlYWRlciBmaWxlIHRoYXQgY29tZXMgd2l0aCBnY2MsIHNvIGNvbmZpZ3VyaW5nIGdsaWJjCisgICMgd2l0aCBhIGZyZXNoIGNyb3NzLWNvbXBpbGVyIHdvcmtzLgorICAjIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKKyAgIyA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMuCisgICMgT24gdGhlIE5lWFQsIGNjIC1FIHJ1bnMgdGhlIGNvZGUgdGhyb3VnaCB0aGUgY29tcGlsZXIncyBwYXJzZXIsCisgICMgbm90IGp1c3QgdGhyb3VnaCBjcHAuICJTeW50YXggZXJyb3IiIGlzIGhlcmUgdG8gY2F0Y2ggdGhpcyBjYXNlLgorICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0CisvKiBlbmQgY29uZmRlZnMuaC4gICovCisjaWZkZWYgX19TVERDX18KKyMgaW5jbHVkZSA8bGltaXRzLmg+CisjZWxzZQorIyBpbmNsdWRlIDxhc3NlcnQuaD4KKyNlbmRpZgorCQkgICAgIFN5bnRheCBlcnJvcgorX0FDRU9GCitpZiBhY19mbl9jX3RyeV9jcHAgIiRMSU5FTk8iOyB0aGVuIDoKKworZWxzZQorICAjIEJyb2tlbjogZmFpbHMgb24gdmFsaWQgaW5wdXQuCitjb250aW51ZQorZmkKK3JtIC1mIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfZXh0CisKKyAgIyBPSywgd29ya3Mgb24gc2FuZSBjYXNlcy4gIE5vdyBjaGVjayB3aGV0aGVyIG5vbmV4aXN0ZW50IGhlYWRlcnMKKyAgIyBjYW4gYmUgZGV0ZWN0ZWQgYW5kIGhvdy4KKyAgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAorLyogZW5kIGNvbmZkZWZzLmguICAqLworI2luY2x1ZGUgPGFjX25vbmV4aXN0ZW50Lmg+CitfQUNFT0YKK2lmIGFjX2ZuX2NfdHJ5X2NwcCAiJExJTkVOTyI7IHRoZW4gOgorICAjIEJyb2tlbjogc3VjY2VzcyBvbiBpbnZhbGlkIGlucHV0LgorY29udGludWUKK2Vsc2UKKyAgIyBQYXNzZXMgYm90aCB0ZXN0cy4KK2FjX3ByZXByb2Nfb2s9OgorYnJlYWsKK2ZpCitybSAtZiBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX2V4dAorCitkb25lCisjIEJlY2F1c2Ugb2YgYGJyZWFrJywgX0FDX1BSRVBST0NfSUZFTFNFJ3MgY2xlYW5pbmcgY29kZSB3YXMgc2tpcHBlZC4KK3JtIC1mIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfZXh0CitpZiAkYWNfcHJlcHJvY19vazsgdGhlbiA6CisgIGJyZWFrCitmaQorCisgICAgZG9uZQorICAgIGFjX2N2X3Byb2dfQ1BQPSRDUFAKKworZmkKKyAgQ1BQPSRhY19jdl9wcm9nX0NQUAorZWxzZQorICBhY19jdl9wcm9nX0NQUD0kQ1BQCitmaQoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRDUFAiID4mNQorJGFzX2VjaG8gIiRDUFAiID4mNjsgfQorYWNfcHJlcHJvY19vaz1mYWxzZQorZm9yIGFjX2NfcHJlcHJvY193YXJuX2ZsYWcgaW4gJycgeWVzCitkbworICAjIFVzZSBhIGhlYWRlciBmaWxlIHRoYXQgY29tZXMgd2l0aCBnY2MsIHNvIGNvbmZpZ3VyaW5nIGdsaWJjCisgICMgd2l0aCBhIGZyZXNoIGNyb3NzLWNvbXBpbGVyIHdvcmtzLgorICAjIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKKyAgIyA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMuCisgICMgT24gdGhlIE5lWFQsIGNjIC1FIHJ1bnMgdGhlIGNvZGUgdGhyb3VnaCB0aGUgY29tcGlsZXIncyBwYXJzZXIsCisgICMgbm90IGp1c3QgdGhyb3VnaCBjcHAuICJTeW50YXggZXJyb3IiIGlzIGhlcmUgdG8gY2F0Y2ggdGhpcyBjYXNlLgorICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0CisvKiBlbmQgY29uZmRlZnMuaC4gICovCisjaWZkZWYgX19TVERDX18KKyMgaW5jbHVkZSA8bGltaXRzLmg+CisjZWxzZQorIyBpbmNsdWRlIDxhc3NlcnQuaD4KKyNlbmRpZgorCQkgICAgIFN5bnRheCBlcnJvcgorX0FDRU9GCitpZiBhY19mbl9jX3RyeV9jcHAgIiRMSU5FTk8iOyB0aGVuIDoKKworZWxzZQorICAjIEJyb2tlbjogZmFpbHMgb24gdmFsaWQgaW5wdXQuCitjb250aW51ZQorZmkKK3JtIC1mIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfZXh0CisKKyAgIyBPSywgd29ya3Mgb24gc2FuZSBjYXNlcy4gIE5vdyBjaGVjayB3aGV0aGVyIG5vbmV4aXN0ZW50IGhlYWRlcnMKKyAgIyBjYW4gYmUgZGV0ZWN0ZWQgYW5kIGhvdy4KKyAgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAorLyogZW5kIGNvbmZkZWZzLmguICAqLworI2luY2x1ZGUgPGFjX25vbmV4aXN0ZW50Lmg+CitfQUNFT0YKK2lmIGFjX2ZuX2NfdHJ5X2NwcCAiJExJTkVOTyI7IHRoZW4gOgorICAjIEJyb2tlbjogc3VjY2VzcyBvbiBpbnZhbGlkIGlucHV0LgorY29udGludWUKK2Vsc2UKKyAgIyBQYXNzZXMgYm90aCB0ZXN0cy4KK2FjX3ByZXByb2Nfb2s9OgorYnJlYWsKK2ZpCitybSAtZiBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX2V4dAorCitkb25lCisjIEJlY2F1c2Ugb2YgYGJyZWFrJywgX0FDX1BSRVBST0NfSUZFTFNFJ3MgY2xlYW5pbmcgY29kZSB3YXMgc2tpcHBlZC4KK3JtIC1mIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfZXh0CitpZiAkYWNfcHJlcHJvY19vazsgdGhlbiA6CisKK2Vsc2UKKyAgeyB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGVycm9yOiBpbiBcYCRhY19wd2QnOiIgPiY1CiskYXNfZWNobyAiJGFzX21lOiBlcnJvcjogaW4gXGAkYWNfcHdkJzoiID4mMjt9Cithc19mbl9lcnJvciAiQyBwcmVwcm9jZXNzb3IgXCIkQ1BQXCIgZmFpbHMgc2FuaXR5IGNoZWNrCitTZWUgXGBjb25maWcubG9nJyBmb3IgbW9yZSBkZXRhaWxzLiIgIiRMSU5FTk8iIDU7IH0KK2ZpCisKK2FjX2V4dD1jCithY19jcHA9JyRDUFAgJENQUEZMQUdTJworYWNfY29tcGlsZT0nJENDIC1jICRDRkxBR1MgJENQUEZMQUdTIGNvbmZ0ZXN0LiRhY19leHQgPiY1JworYWNfbGluaz0nJENDIC1vIGNvbmZ0ZXN0JGFjX2V4ZWV4dCAkQ0ZMQUdTICRDUFBGTEFHUyAkTERGTEFHUyBjb25mdGVzdC4kYWNfZXh0ICRMSUJTID4mNScKK2FjX2NvbXBpbGVyX2dudT0kYWNfY3ZfY19jb21waWxlcl9nbnUKKworCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBncmVwIHRoYXQgaGFuZGxlcyBsb25nIGxpbmVzIGFuZCAtZSIgPiY1CiskYXNfZWNob19uICJjaGVja2luZyBmb3IgZ3JlcCB0aGF0IGhhbmRsZXMgbG9uZyBsaW5lcyBhbmQgLWUuLi4gIiA+JjY7IH0KK2lmIHRlc3QgIiR7YWNfY3ZfcGF0aF9HUkVQK3NldH0iID0gc2V0OyB0aGVuIDoKKyAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKK2Vsc2UKKyAgaWYgdGVzdCAteiAiJEdSRVAiOyB0aGVuCisgIGFjX3BhdGhfR1JFUF9mb3VuZD1mYWxzZQorICAjIExvb3AgdGhyb3VnaCB0aGUgdXNlcidzIHBhdGggYW5kIHRlc3QgZm9yIGVhY2ggb2YgUFJPR05BTUUtTElTVAorICBhc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCitmb3IgYXNfZGlyIGluICRQQVRIJFBBVEhfU0VQQVJBVE9SL3Vzci94cGc0L2JpbgorZG8KKyAgSUZTPSRhc19zYXZlX0lGUworICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgorICAgIGZvciBhY19wcm9nIGluIGdyZXAgZ2dyZXA7IGRvCisgICAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCisgICAgICBhY19wYXRoX0dSRVA9IiRhc19kaXIvJGFjX3Byb2ckYWNfZXhlY19leHQiCisgICAgICB7IHRlc3QgLWYgIiRhY19wYXRoX0dSRVAiICYmICRhc190ZXN0X3ggIiRhY19wYXRoX0dSRVAiOyB9IHx8IGNvbnRpbnVlCisjIENoZWNrIGZvciBHTlUgYWNfcGF0aF9HUkVQIGFuZCBzZWxlY3QgaXQgaWYgaXQgaXMgZm91bmQuCisgICMgQ2hlY2sgZm9yIEdOVSAkYWNfcGF0aF9HUkVQCitjYXNlIGAiJGFjX3BhdGhfR1JFUCIgLS12ZXJzaW9uIDI+JjFgIGluCisqR05VKikKKyAgYWNfY3ZfcGF0aF9HUkVQPSIkYWNfcGF0aF9HUkVQIiBhY19wYXRoX0dSRVBfZm91bmQ9Ojs7CisqKQorICBhY19jb3VudD0wCisgICRhc19lY2hvX24gMDEyMzQ1Njc4OSA+ImNvbmZ0ZXN0LmluIgorICB3aGlsZSA6CisgIGRvCisgICAgY2F0ICJjb25mdGVzdC5pbiIgImNvbmZ0ZXN0LmluIiA+ImNvbmZ0ZXN0LnRtcCIKKyAgICBtdiAiY29uZnRlc3QudG1wIiAiY29uZnRlc3QuaW4iCisgICAgY3AgImNvbmZ0ZXN0LmluIiAiY29uZnRlc3QubmwiCisgICAgJGFzX2VjaG8gJ0dSRVAnID4+ICJjb25mdGVzdC5ubCIKKyAgICAiJGFjX3BhdGhfR1JFUCIgLWUgJ0dSRVAkJyAtZSAnLShjYW5ub3QgbWF0Y2gpLScgPCAiY29uZnRlc3QubmwiID4iY29uZnRlc3Qub3V0IiAyPi9kZXYvbnVsbCB8fCBicmVhaworICAgIGRpZmYgImNvbmZ0ZXN0Lm91dCIgImNvbmZ0ZXN0Lm5sIiA+L2Rldi9udWxsIDI+JjEgfHwgYnJlYWsKKyAgICBhc19mbl9hcml0aCAkYWNfY291bnQgKyAxICYmIGFjX2NvdW50PSRhc192YWwKKyAgICBpZiB0ZXN0ICRhY19jb3VudCAtZ3QgJHthY19wYXRoX0dSRVBfbWF4LTB9OyB0aGVuCisgICAgICAjIEJlc3Qgb25lIHNvIGZhciwgc2F2ZSBpdCBidXQga2VlcCBsb29raW5nIGZvciBhIGJldHRlciBvbmUKKyAgICAgIGFjX2N2X3BhdGhfR1JFUD0iJGFjX3BhdGhfR1JFUCIKKyAgICAgIGFjX3BhdGhfR1JFUF9tYXg9JGFjX2NvdW50CisgICAgZmkKKyAgICAjIDEwKigyXjEwKSBjaGFycyBhcyBpbnB1dCBzZWVtcyBtb3JlIHRoYW4gZW5vdWdoCisgICAgdGVzdCAkYWNfY291bnQgLWd0IDEwICYmIGJyZWFrCisgIGRvbmUKKyAgcm0gLWYgY29uZnRlc3QuaW4gY29uZnRlc3QudG1wIGNvbmZ0ZXN0Lm5sIGNvbmZ0ZXN0Lm91dDs7Citlc2FjCisKKyAgICAgICRhY19wYXRoX0dSRVBfZm91bmQgJiYgYnJlYWsgMworICAgIGRvbmUKKyAgZG9uZQorICBkb25lCitJRlM9JGFzX3NhdmVfSUZTCisgIGlmIHRlc3QgLXogIiRhY19jdl9wYXRoX0dSRVAiOyB0aGVuCisgICAgYXNfZm5fZXJyb3IgIm5vIGFjY2VwdGFibGUgZ3JlcCBjb3VsZCBiZSBmb3VuZCBpbiAkUEFUSCRQQVRIX1NFUEFSQVRPUi91c3IveHBnNC9iaW4iICIkTElORU5PIiA1CisgIGZpCitlbHNlCisgIGFjX2N2X3BhdGhfR1JFUD0kR1JFUAorZmkKKworZmkKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfY3ZfcGF0aF9HUkVQIiA+JjUKKyRhc19lY2hvICIkYWNfY3ZfcGF0aF9HUkVQIiA+JjY7IH0KKyBHUkVQPSIkYWNfY3ZfcGF0aF9HUkVQIgorCisKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIGVncmVwIiA+JjUKKyRhc19lY2hvX24gImNoZWNraW5nIGZvciBlZ3JlcC4uLiAiID4mNjsgfQoraWYgdGVzdCAiJHthY19jdl9wYXRoX0VHUkVQK3NldH0iID0gc2V0OyB0aGVuIDoKKyAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKK2Vsc2UKKyAgaWYgZWNobyBhIHwgJEdSRVAgLUUgJyhhfGIpJyA+L2Rldi9udWxsIDI+JjEKKyAgIHRoZW4gYWNfY3ZfcGF0aF9FR1JFUD0iJEdSRVAgLUUiCisgICBlbHNlCisgICAgIGlmIHRlc3QgLXogIiRFR1JFUCI7IHRoZW4KKyAgYWNfcGF0aF9FR1JFUF9mb3VuZD1mYWxzZQorICAjIExvb3AgdGhyb3VnaCB0aGUgdXNlcidzIHBhdGggYW5kIHRlc3QgZm9yIGVhY2ggb2YgUFJPR05BTUUtTElTVAorICBhc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCitmb3IgYXNfZGlyIGluICRQQVRIJFBBVEhfU0VQQVJBVE9SL3Vzci94cGc0L2JpbgorZG8KKyAgSUZTPSRhc19zYXZlX0lGUworICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgorICAgIGZvciBhY19wcm9nIGluIGVncmVwOyBkbworICAgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbworICAgICAgYWNfcGF0aF9FR1JFUD0iJGFzX2Rpci8kYWNfcHJvZyRhY19leGVjX2V4dCIKKyAgICAgIHsgdGVzdCAtZiAiJGFjX3BhdGhfRUdSRVAiICYmICRhc190ZXN0X3ggIiRhY19wYXRoX0VHUkVQIjsgfSB8fCBjb250aW51ZQorIyBDaGVjayBmb3IgR05VIGFjX3BhdGhfRUdSRVAgYW5kIHNlbGVjdCBpdCBpZiBpdCBpcyBmb3VuZC4KKyAgIyBDaGVjayBmb3IgR05VICRhY19wYXRoX0VHUkVQCitjYXNlIGAiJGFjX3BhdGhfRUdSRVAiIC0tdmVyc2lvbiAyPiYxYCBpbgorKkdOVSopCisgIGFjX2N2X3BhdGhfRUdSRVA9IiRhY19wYXRoX0VHUkVQIiBhY19wYXRoX0VHUkVQX2ZvdW5kPTo7OworKikKKyAgYWNfY291bnQ9MAorICAkYXNfZWNob19uIDAxMjM0NTY3ODkgPiJjb25mdGVzdC5pbiIKKyAgd2hpbGUgOgorICBkbworICAgIGNhdCAiY29uZnRlc3QuaW4iICJjb25mdGVzdC5pbiIgPiJjb25mdGVzdC50bXAiCisgICAgbXYgImNvbmZ0ZXN0LnRtcCIgImNvbmZ0ZXN0LmluIgorICAgIGNwICJjb25mdGVzdC5pbiIgImNvbmZ0ZXN0Lm5sIgorICAgICRhc19lY2hvICdFR1JFUCcgPj4gImNvbmZ0ZXN0Lm5sIgorICAgICIkYWNfcGF0aF9FR1JFUCIgJ0VHUkVQJCcgPCAiY29uZnRlc3QubmwiID4iY29uZnRlc3Qub3V0IiAyPi9kZXYvbnVsbCB8fCBicmVhaworICAgIGRpZmYgImNvbmZ0ZXN0Lm91dCIgImNvbmZ0ZXN0Lm5sIiA+L2Rldi9udWxsIDI+JjEgfHwgYnJlYWsKKyAgICBhc19mbl9hcml0aCAkYWNfY291bnQgKyAxICYmIGFjX2NvdW50PSRhc192YWwKKyAgICBpZiB0ZXN0ICRhY19jb3VudCAtZ3QgJHthY19wYXRoX0VHUkVQX21heC0wfTsgdGhlbgorICAgICAgIyBCZXN0IG9uZSBzbyBmYXIsIHNhdmUgaXQgYnV0IGtlZXAgbG9va2luZyBmb3IgYSBiZXR0ZXIgb25lCisgICAgICBhY19jdl9wYXRoX0VHUkVQPSIkYWNfcGF0aF9FR1JFUCIKKyAgICAgIGFjX3BhdGhfRUdSRVBfbWF4PSRhY19jb3VudAorICAgIGZpCisgICAgIyAxMCooMl4xMCkgY2hhcnMgYXMgaW5wdXQgc2VlbXMgbW9yZSB0aGFuIGVub3VnaAorICAgIHRlc3QgJGFjX2NvdW50IC1ndCAxMCAmJiBicmVhaworICBkb25lCisgIHJtIC1mIGNvbmZ0ZXN0LmluIGNvbmZ0ZXN0LnRtcCBjb25mdGVzdC5ubCBjb25mdGVzdC5vdXQ7OworZXNhYworCisgICAgICAkYWNfcGF0aF9FR1JFUF9mb3VuZCAmJiBicmVhayAzCisgICAgZG9uZQorICBkb25lCisgIGRvbmUKK0lGUz0kYXNfc2F2ZV9JRlMKKyAgaWYgdGVzdCAteiAiJGFjX2N2X3BhdGhfRUdSRVAiOyB0aGVuCisgICAgYXNfZm5fZXJyb3IgIm5vIGFjY2VwdGFibGUgZWdyZXAgY291bGQgYmUgZm91bmQgaW4gJFBBVEgkUEFUSF9TRVBBUkFUT1IvdXNyL3hwZzQvYmluIiAiJExJTkVOTyIgNQorICBmaQorZWxzZQorICBhY19jdl9wYXRoX0VHUkVQPSRFR1JFUAorZmkKKworICAgZmkKK2ZpCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N2X3BhdGhfRUdSRVAiID4mNQorJGFzX2VjaG8gIiRhY19jdl9wYXRoX0VHUkVQIiA+JjY7IH0KKyBFR1JFUD0iJGFjX2N2X3BhdGhfRUdSRVAiCisKKworeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgQU5TSSBDIGhlYWRlciBmaWxlcyIgPiY1CiskYXNfZWNob19uICJjaGVja2luZyBmb3IgQU5TSSBDIGhlYWRlciBmaWxlcy4uLiAiID4mNjsgfQoraWYgdGVzdCAiJHthY19jdl9oZWFkZXJfc3RkYytzZXR9IiA9IHNldDsgdGhlbiA6CisgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CitlbHNlCisgIGNhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKKy8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdGRhcmcuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxmbG9hdC5oPgorCitpbnQKK21haW4gKCkKK3sKKworICA7CisgIHJldHVybiAwOworfQorX0FDRU9GCitpZiBhY19mbl9jX3RyeV9jb21waWxlICIkTElORU5PIjsgdGhlbiA6CisgIGFjX2N2X2hlYWRlcl9zdGRjPXllcworZWxzZQorICBhY19jdl9oZWFkZXJfc3RkYz1ubworZmkKK3JtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QuJGFjX2V4dAorCitpZiB0ZXN0ICRhY19jdl9oZWFkZXJfc3RkYyA9IHllczsgdGhlbgorICAjIFN1bk9TIDQueCBzdHJpbmcuaCBkb2VzIG5vdCBkZWNsYXJlIG1lbSosIGNvbnRyYXJ5IHRvIEFOU0kuCisgIGNhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKKy8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKworX0FDRU9GCitpZiAoZXZhbCAiJGFjX2NwcCBjb25mdGVzdC4kYWNfZXh0IikgMj4mNSB8CisgICRFR1JFUCAibWVtY2hyIiA+L2Rldi9udWxsIDI+JjE7IHRoZW4gOgorCitlbHNlCisgIGFjX2N2X2hlYWRlcl9zdGRjPW5vCitmaQorcm0gLWYgY29uZnRlc3QqCisKK2ZpCisKK2lmIHRlc3QgJGFjX2N2X2hlYWRlcl9zdGRjID0geWVzOyB0aGVuCisgICMgSVNDIDIuMC4yIHN0ZGxpYi5oIGRvZXMgbm90IGRlY2xhcmUgZnJlZSwgY29udHJhcnkgdG8gQU5TSS4KKyAgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAorLyogZW5kIGNvbmZkZWZzLmguICAqLworI2luY2x1ZGUgPHN0ZGxpYi5oPgorCitfQUNFT0YKK2lmIChldmFsICIkYWNfY3BwIGNvbmZ0ZXN0LiRhY19leHQiKSAyPiY1IHwKKyAgJEVHUkVQICJmcmVlIiA+L2Rldi9udWxsIDI+JjE7IHRoZW4gOgorCitlbHNlCisgIGFjX2N2X2hlYWRlcl9zdGRjPW5vCitmaQorcm0gLWYgY29uZnRlc3QqCisKK2ZpCisKK2lmIHRlc3QgJGFjX2N2X2hlYWRlcl9zdGRjID0geWVzOyB0aGVuCisgICMgL2Jpbi9jYyBpbiBJcml4LTQuMC41IGdldHMgbm9uLUFOU0kgY3R5cGUgbWFjcm9zIHVubGVzcyB1c2luZyAtYW5zaS4KKyAgaWYgdGVzdCAiJGNyb3NzX2NvbXBpbGluZyIgPSB5ZXM7IHRoZW4gOgorICA6CitlbHNlCisgIGNhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKKy8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKyNpbmNsdWRlIDxjdHlwZS5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2lmICgoJyAnICYgMHgwRkYpID09IDB4MDIwKQorIyBkZWZpbmUgSVNMT1dFUihjKSAoJ2EnIDw9IChjKSAmJiAoYykgPD0gJ3onKQorIyBkZWZpbmUgVE9VUFBFUihjKSAoSVNMT1dFUihjKSA/ICdBJyArICgoYykgLSAnYScpIDogKGMpKQorI2Vsc2UKKyMgZGVmaW5lIElTTE9XRVIoYykgXAorCQkgICAoKCdhJyA8PSAoYykgJiYgKGMpIDw9ICdpJykgXAorCQkgICAgIHx8ICgnaicgPD0gKGMpICYmIChjKSA8PSAncicpIFwKKwkJICAgICB8fCAoJ3MnIDw9IChjKSAmJiAoYykgPD0gJ3onKSkKKyMgZGVmaW5lIFRPVVBQRVIoYykgKElTTE9XRVIoYykgPyAoKGMpIHwgMHg0MCkgOiAoYykpCisjZW5kaWYKKworI2RlZmluZSBYT1IoZSwgZikgKCgoZSkgJiYgIShmKSkgfHwgKCEoZSkgJiYgKGYpKSkKK2ludAorbWFpbiAoKQoreworICBpbnQgaTsKKyAgZm9yIChpID0gMDsgaSA8IDI1NjsgaSsrKQorICAgIGlmIChYT1IgKGlzbG93ZXIgKGkpLCBJU0xPV0VSIChpKSkKKwl8fCB0b3VwcGVyIChpKSAhPSBUT1VQUEVSIChpKSkKKyAgICAgIHJldHVybiAyOworICByZXR1cm4gMDsKK30KK19BQ0VPRgoraWYgYWNfZm5fY190cnlfcnVuICIkTElORU5PIjsgdGhlbiA6CisKK2Vsc2UKKyAgYWNfY3ZfaGVhZGVyX3N0ZGM9bm8KK2ZpCitybSAtZiBjb3JlICouY29yZSBjb3JlLmNvbmZ0ZXN0LiogZ21vbi5vdXQgYmIub3V0IGNvbmZ0ZXN0JGFjX2V4ZWV4dCBcCisgIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QuYmVhbSBjb25mdGVzdC4kYWNfZXh0CitmaQorCitmaQorZmkKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfY3ZfaGVhZGVyX3N0ZGMiID4mNQorJGFzX2VjaG8gIiRhY19jdl9oZWFkZXJfc3RkYyIgPiY2OyB9CitpZiB0ZXN0ICRhY19jdl9oZWFkZXJfc3RkYyA9IHllczsgdGhlbgorCiskYXNfZWNobyAiI2RlZmluZSBTVERDX0hFQURFUlMgMSIgPj5jb25mZGVmcy5oCisKK2ZpCisKKyMgT24gSVJJWCA1LjMsIHN5cy90eXBlcyBhbmQgaW50dHlwZXMuaCBhcmUgY29uZmxpY3RpbmcuCitmb3IgYWNfaGVhZGVyIGluIHN5cy90eXBlcy5oIHN5cy9zdGF0Lmggc3RkbGliLmggc3RyaW5nLmggbWVtb3J5Lmggc3RyaW5ncy5oIFwKKwkJICBpbnR0eXBlcy5oIHN0ZGludC5oIHVuaXN0ZC5oCitkbyA6CisgIGFzX2FjX0hlYWRlcj1gJGFzX2VjaG8gImFjX2N2X2hlYWRlcl8kYWNfaGVhZGVyIiB8ICRhc190cl9zaGAKK2FjX2ZuX2NfY2hlY2tfaGVhZGVyX2NvbXBpbGUgIiRMSU5FTk8iICIkYWNfaGVhZGVyIiAiJGFzX2FjX0hlYWRlciIgIiRhY19pbmNsdWRlc19kZWZhdWx0CisiCitldmFsIGFzX3ZhbD1cJCRhc19hY19IZWFkZXIKKyAgIGlmIHRlc3QgIngkYXNfdmFsIiA9IHgiInllczsgdGhlbiA6CisgIGNhdCA+PmNvbmZkZWZzLmggPDxfQUNFT0YKKyNkZWZpbmUgYCRhc19lY2hvICJIQVZFXyRhY19oZWFkZXIiIHwgJGFzX3RyX2NwcGAgMQorX0FDRU9GCisKK2ZpCisKK2RvbmUKKworCisKKyAgYWNfZm5fY19jaGVja19oZWFkZXJfbW9uZ3JlbCAiJExJTkVOTyIgIm1pbml4L2NvbmZpZy5oIiAiYWNfY3ZfaGVhZGVyX21pbml4X2NvbmZpZ19oIiAiJGFjX2luY2x1ZGVzX2RlZmF1bHQiCitpZiB0ZXN0ICJ4JGFjX2N2X2hlYWRlcl9taW5peF9jb25maWdfaCIgPSB4IiJ5ZXM7IHRoZW4gOgorICBNSU5JWD15ZXMKK2Vsc2UKKyAgTUlOSVg9CitmaQorCisKKyAgaWYgdGVzdCAiJE1JTklYIiA9IHllczsgdGhlbgorCiskYXNfZWNobyAiI2RlZmluZSBfUE9TSVhfU09VUkNFIDEiID4+Y29uZmRlZnMuaAorCisKKyRhc19lY2hvICIjZGVmaW5lIF9QT1NJWF8xX1NPVVJDRSAyIiA+PmNvbmZkZWZzLmgKKworCiskYXNfZWNobyAiI2RlZmluZSBfTUlOSVggMSIgPj5jb25mZGVmcy5oCisKKyAgZmkKKworCisgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgd2hldGhlciBpdCBpcyBzYWZlIHRvIGRlZmluZSBfX0VYVEVOU0lPTlNfXyIgPiY1CiskYXNfZWNob19uICJjaGVja2luZyB3aGV0aGVyIGl0IGlzIHNhZmUgdG8gZGVmaW5lIF9fRVhURU5TSU9OU19fLi4uICIgPiY2OyB9CitpZiB0ZXN0ICIke2FjX2N2X3NhZmVfdG9fZGVmaW5lX19fZXh0ZW5zaW9uc19fK3NldH0iID0gc2V0OyB0aGVuIDoKKyAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKK2Vsc2UKKyAgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAorLyogZW5kIGNvbmZkZWZzLmguICAqLworCisjCSAgZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKKwkgICRhY19pbmNsdWRlc19kZWZhdWx0CitpbnQKK21haW4gKCkKK3sKKworICA7CisgIHJldHVybiAwOworfQorX0FDRU9GCitpZiBhY19mbl9jX3RyeV9jb21waWxlICIkTElORU5PIjsgdGhlbiA6CisgIGFjX2N2X3NhZmVfdG9fZGVmaW5lX19fZXh0ZW5zaW9uc19fPXllcworZWxzZQorICBhY19jdl9zYWZlX3RvX2RlZmluZV9fX2V4dGVuc2lvbnNfXz1ubworZmkKK3JtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QuJGFjX2V4dAorZmkKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfY3Zfc2FmZV90b19kZWZpbmVfX19leHRlbnNpb25zX18iID4mNQorJGFzX2VjaG8gIiRhY19jdl9zYWZlX3RvX2RlZmluZV9fX2V4dGVuc2lvbnNfXyIgPiY2OyB9CisgIHRlc3QgJGFjX2N2X3NhZmVfdG9fZGVmaW5lX19fZXh0ZW5zaW9uc19fID0geWVzICYmCisgICAgJGFzX2VjaG8gIiNkZWZpbmUgX19FWFRFTlNJT05TX18gMSIgPj5jb25mZGVmcy5oCisKKyAgJGFzX2VjaG8gIiNkZWZpbmUgX0FMTF9TT1VSQ0UgMSIgPj5jb25mZGVmcy5oCisKKyAgJGFzX2VjaG8gIiNkZWZpbmUgX0dOVV9TT1VSQ0UgMSIgPj5jb25mZGVmcy5oCisKKyAgJGFzX2VjaG8gIiNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEiID4+Y29uZmRlZnMuaAorCisgICRhc19lY2hvICIjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEiID4+Y29uZmRlZnMuaAorCisKKworCisKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIHByaW1hcnkgaW5jbHVkZSBkaXJlY3RvcnkiID4mNQorJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIHByaW1hcnkgaW5jbHVkZSBkaXJlY3RvcnkuLi4gIiA+JjY7IH0KK2luY2x1ZGVkaXI9L3Vzci9pbmNsdWRlCitpZiB0ZXN0IC1uICIkR0NDIgordGhlbgorCT5jb25mdGVzdC5jCisJbmV3X2luY2x1ZGVkaXI9YAorCQkkQ0MgLXYgLUUgY29uZnRlc3QuYyAyPiYxIHwgJEFXSyAnCisJCQkvXkVuZCBvZiBzZWFyY2ggbGlzdC8geyBwcmludCBsYXN0OyBleGl0IH0KKwkJCXsgbGFzdCA9ICQxIH0KKwkJJworCWAKKwlybSAtZiBjb25mdGVzdC5jCisJaWYgdGVzdCAtbiAiJG5ld19pbmNsdWRlZGlyIiAmJiB0ZXN0IC1kICIkbmV3X2luY2x1ZGVkaXIiCisJdGhlbgorCQlpbmNsdWRlZGlyPSRuZXdfaW5jbHVkZWRpcgorCWZpCitmaQoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRpbmNsdWRlZGlyIiA+JjUKKyRhc19lY2hvICIkaW5jbHVkZWRpciIgPiY2OyB9CisKKworaWYgdGVzdCAieCRvcHN5cyIgPSAieHN1bm9zNCIgJiYgdGVzdCAieCRhcmNoIiA9ICJ4c3BhcmMiCit0aGVuCisJeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgdmFsaWQgbWFjaGluZSBpbmNsdWRlIGRpcmVjdG9yeSIgPiY1CiskYXNfZWNob19uICJjaGVja2luZyBmb3IgdmFsaWQgbWFjaGluZSBpbmNsdWRlIGRpcmVjdG9yeS4uLiAiID4mNjsgfQorCWlmIHRlc3QgLWQgIiRpbmNsdWRlZGlyL3N1bjQiCisJdGhlbgorCQlybSAtZiBtYWNoaW5lCisJCWxuIC1zICRpbmNsdWRlZGlyL3N1bjQgbWFjaGluZQorCQl7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogeWVzIiA+JjUKKyRhc19lY2hvICJ5ZXMiID4mNjsgfQorCiskYXNfZWNobyAiI2RlZmluZSBTVU5PUzRfS0VSTkVMX0FSQ0hfS0xVREdFIDEiID4+Y29uZmRlZnMuaAorCisJZWxzZQorCQl7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogbm8iID4mNQorJGFzX2VjaG8gIm5vIiA+JjY7IH0KKwlmaQorZmkKKworCitpZiB0ZXN0IC16ICIkV0FSTkZMQUdTIgordGhlbgorCWlmIHRlc3QgLW4gIiRHQ0MiCisJdGhlbgorCQkjIElmIHdlJ3JlIHVzaW5nIGdjYyB3ZSB3YW50IHdhcm5pbmcgZmxhZ3MuCisJCVdBUk5GTEFHUz0tV2FsbAorCWZpCitmaQorCitpZiB0ZXN0ICJ4JG9wc3lzIiA9ICJ4c3Vub3M0IgordGhlbgorCWlmIHRlc3QgLW4gIiRHQ0MiCisJdGhlbgorCQkjIFN1bk9TIDQueCBoZWFkZXIgZmlsZXMgZG9uJ3QgZGVjbGFyZSBpbnQgZnVuY3Rpb25zLgorCQlXQVJORkxBR1M9IiRXQVJORkxBR1MgLVduby1pbXBsaWNpdCIKKwlmaQorZmkKKworYWNfZXh0PWMKK2FjX2NwcD0nJENQUCAkQ1BQRkxBR1MnCithY19jb21waWxlPSckQ0MgLWMgJENGTEFHUyAkQ1BQRkxBR1MgY29uZnRlc3QuJGFjX2V4dCA+JjUnCithY19saW5rPSckQ0MgLW8gY29uZnRlc3QkYWNfZXhlZXh0ICRDRkxBR1MgJENQUEZMQUdTICRMREZMQUdTIGNvbmZ0ZXN0LiRhY19leHQgJExJQlMgPiY1JworYWNfY29tcGlsZXJfZ251PSRhY19jdl9jX2NvbXBpbGVyX2dudQoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBob3cgdG8gcnVuIHRoZSBDIHByZXByb2Nlc3NvciIgPiY1CiskYXNfZWNob19uICJjaGVja2luZyBob3cgdG8gcnVuIHRoZSBDIHByZXByb2Nlc3Nvci4uLiAiID4mNjsgfQorIyBPbiBTdW5zLCBzb21ldGltZXMgJENQUCBuYW1lcyBhIGRpcmVjdG9yeS4KK2lmIHRlc3QgLW4gIiRDUFAiICYmIHRlc3QgLWQgIiRDUFAiOyB0aGVuCisgIENQUD0KK2ZpCitpZiB0ZXN0IC16ICIkQ1BQIjsgdGhlbgorICBpZiB0ZXN0ICIke2FjX2N2X3Byb2dfQ1BQK3NldH0iID0gc2V0OyB0aGVuIDoKKyAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKK2Vsc2UKKyAgICAgICMgRG91YmxlIHF1b3RlcyBiZWNhdXNlIENQUCBuZWVkcyB0byBiZSBleHBhbmRlZAorICAgIGZvciBDUFAgaW4gIiRDQyAtRSIgIiRDQyAtRSAtdHJhZGl0aW9uYWwtY3BwIiAiL2xpYi9jcHAiCisgICAgZG8KKyAgICAgIGFjX3ByZXByb2Nfb2s9ZmFsc2UKK2ZvciBhY19jX3ByZXByb2Nfd2Fybl9mbGFnIGluICcnIHllcworZG8KKyAgIyBVc2UgYSBoZWFkZXIgZmlsZSB0aGF0IGNvbWVzIHdpdGggZ2NjLCBzbyBjb25maWd1cmluZyBnbGliYworICAjIHdpdGggYSBmcmVzaCBjcm9zcy1jb21waWxlciB3b3Jrcy4KKyAgIyBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNlCisgICMgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLgorICAjIE9uIHRoZSBOZVhULCBjYyAtRSBydW5zIHRoZSBjb2RlIHRocm91Z2ggdGhlIGNvbXBpbGVyJ3MgcGFyc2VyLAorICAjIG5vdCBqdXN0IHRocm91Z2ggY3BwLiAiU3ludGF4IGVycm9yIiBpcyBoZXJlIHRvIGNhdGNoIHRoaXMgY2FzZS4KKyAgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAorLyogZW5kIGNvbmZkZWZzLmguICAqLworI2lmZGVmIF9fU1REQ19fCisjIGluY2x1ZGUgPGxpbWl0cy5oPgorI2Vsc2UKKyMgaW5jbHVkZSA8YXNzZXJ0Lmg+CisjZW5kaWYKKwkJICAgICBTeW50YXggZXJyb3IKK19BQ0VPRgoraWYgYWNfZm5fY190cnlfY3BwICIkTElORU5PIjsgdGhlbiA6CisKK2Vsc2UKKyAgIyBCcm9rZW46IGZhaWxzIG9uIHZhbGlkIGlucHV0LgorY29udGludWUKK2ZpCitybSAtZiBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX2V4dAorCisgICMgT0ssIHdvcmtzIG9uIHNhbmUgY2FzZXMuICBOb3cgY2hlY2sgd2hldGhlciBub25leGlzdGVudCBoZWFkZXJzCisgICMgY2FuIGJlIGRldGVjdGVkIGFuZCBob3cuCisgIGNhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKKy8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKyNpbmNsdWRlIDxhY19ub25leGlzdGVudC5oPgorX0FDRU9GCitpZiBhY19mbl9jX3RyeV9jcHAgIiRMSU5FTk8iOyB0aGVuIDoKKyAgIyBCcm9rZW46IHN1Y2Nlc3Mgb24gaW52YWxpZCBpbnB1dC4KK2NvbnRpbnVlCitlbHNlCisgICMgUGFzc2VzIGJvdGggdGVzdHMuCithY19wcmVwcm9jX29rPToKK2JyZWFrCitmaQorcm0gLWYgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19leHQKKworZG9uZQorIyBCZWNhdXNlIG9mIGBicmVhaycsIF9BQ19QUkVQUk9DX0lGRUxTRSdzIGNsZWFuaW5nIGNvZGUgd2FzIHNraXBwZWQuCitybSAtZiBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX2V4dAoraWYgJGFjX3ByZXByb2Nfb2s7IHRoZW4gOgorICBicmVhaworZmkKKworICAgIGRvbmUKKyAgICBhY19jdl9wcm9nX0NQUD0kQ1BQCisKK2ZpCisgIENQUD0kYWNfY3ZfcHJvZ19DUFAKK2Vsc2UKKyAgYWNfY3ZfcHJvZ19DUFA9JENQUAorZmkKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkQ1BQIiA+JjUKKyRhc19lY2hvICIkQ1BQIiA+JjY7IH0KK2FjX3ByZXByb2Nfb2s9ZmFsc2UKK2ZvciBhY19jX3ByZXByb2Nfd2Fybl9mbGFnIGluICcnIHllcworZG8KKyAgIyBVc2UgYSBoZWFkZXIgZmlsZSB0aGF0IGNvbWVzIHdpdGggZ2NjLCBzbyBjb25maWd1cmluZyBnbGliYworICAjIHdpdGggYSBmcmVzaCBjcm9zcy1jb21waWxlciB3b3Jrcy4KKyAgIyBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNlCisgICMgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLgorICAjIE9uIHRoZSBOZVhULCBjYyAtRSBydW5zIHRoZSBjb2RlIHRocm91Z2ggdGhlIGNvbXBpbGVyJ3MgcGFyc2VyLAorICAjIG5vdCBqdXN0IHRocm91Z2ggY3BwLiAiU3ludGF4IGVycm9yIiBpcyBoZXJlIHRvIGNhdGNoIHRoaXMgY2FzZS4KKyAgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAorLyogZW5kIGNvbmZkZWZzLmguICAqLworI2lmZGVmIF9fU1REQ19fCisjIGluY2x1ZGUgPGxpbWl0cy5oPgorI2Vsc2UKKyMgaW5jbHVkZSA8YXNzZXJ0Lmg+CisjZW5kaWYKKwkJICAgICBTeW50YXggZXJyb3IKK19BQ0VPRgoraWYgYWNfZm5fY190cnlfY3BwICIkTElORU5PIjsgdGhlbiA6CisKK2Vsc2UKKyAgIyBCcm9rZW46IGZhaWxzIG9uIHZhbGlkIGlucHV0LgorY29udGludWUKK2ZpCitybSAtZiBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX2V4dAorCisgICMgT0ssIHdvcmtzIG9uIHNhbmUgY2FzZXMuICBOb3cgY2hlY2sgd2hldGhlciBub25leGlzdGVudCBoZWFkZXJzCisgICMgY2FuIGJlIGRldGVjdGVkIGFuZCBob3cuCisgIGNhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKKy8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKyNpbmNsdWRlIDxhY19ub25leGlzdGVudC5oPgorX0FDRU9GCitpZiBhY19mbl9jX3RyeV9jcHAgIiRMSU5FTk8iOyB0aGVuIDoKKyAgIyBCcm9rZW46IHN1Y2Nlc3Mgb24gaW52YWxpZCBpbnB1dC4KK2NvbnRpbnVlCitlbHNlCisgICMgUGFzc2VzIGJvdGggdGVzdHMuCithY19wcmVwcm9jX29rPToKK2JyZWFrCitmaQorcm0gLWYgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19leHQKKworZG9uZQorIyBCZWNhdXNlIG9mIGBicmVhaycsIF9BQ19QUkVQUk9DX0lGRUxTRSdzIGNsZWFuaW5nIGNvZGUgd2FzIHNraXBwZWQuCitybSAtZiBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX2V4dAoraWYgJGFjX3ByZXByb2Nfb2s7IHRoZW4gOgorCitlbHNlCisgIHsgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBlcnJvcjogaW4gXGAkYWNfcHdkJzoiID4mNQorJGFzX2VjaG8gIiRhc19tZTogZXJyb3I6IGluIFxgJGFjX3B3ZCc6IiA+JjI7fQorYXNfZm5fZXJyb3IgIkMgcHJlcHJvY2Vzc29yIFwiJENQUFwiIGZhaWxzIHNhbml0eSBjaGVjaworU2VlIFxgY29uZmlnLmxvZycgZm9yIG1vcmUgZGV0YWlscy4iICIkTElORU5PIiA1OyB9CitmaQorCithY19leHQ9YworYWNfY3BwPSckQ1BQICRDUFBGTEFHUycKK2FjX2NvbXBpbGU9JyRDQyAtYyAkQ0ZMQUdTICRDUFBGTEFHUyBjb25mdGVzdC4kYWNfZXh0ID4mNScKK2FjX2xpbms9JyRDQyAtbyBjb25mdGVzdCRhY19leGVleHQgJENGTEFHUyAkQ1BQRkxBR1MgJExERkxBR1MgY29uZnRlc3QuJGFjX2V4dCAkTElCUyA+JjUnCithY19jb21waWxlcl9nbnU9JGFjX2N2X2NfY29tcGlsZXJfZ251CisKK2lmIHRlc3QgJGFjX2N2X2NfY29tcGlsZXJfZ251ID0geWVzOyB0aGVuCisgICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyB3aGV0aGVyICRDQyBuZWVkcyAtdHJhZGl0aW9uYWwiID4mNQorJGFzX2VjaG9fbiAiY2hlY2tpbmcgd2hldGhlciAkQ0MgbmVlZHMgLXRyYWRpdGlvbmFsLi4uICIgPiY2OyB9CitpZiB0ZXN0ICIke2FjX2N2X3Byb2dfZ2NjX3RyYWRpdGlvbmFsK3NldH0iID0gc2V0OyB0aGVuIDoKKyAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKK2Vsc2UKKyAgICBhY19wYXR0ZXJuPSJBdXRvY29uZi4qJ3gnIgorICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0CisvKiBlbmQgY29uZmRlZnMuaC4gICovCisjaW5jbHVkZSA8c2d0dHkuaD4KK0F1dG9jb25mIFRJT0NHRVRQCitfQUNFT0YKK2lmIChldmFsICIkYWNfY3BwIGNvbmZ0ZXN0LiRhY19leHQiKSAyPiY1IHwKKyAgJEVHUkVQICIkYWNfcGF0dGVybiIgPi9kZXYvbnVsbCAyPiYxOyB0aGVuIDoKKyAgYWNfY3ZfcHJvZ19nY2NfdHJhZGl0aW9uYWw9eWVzCitlbHNlCisgIGFjX2N2X3Byb2dfZ2NjX3RyYWRpdGlvbmFsPW5vCitmaQorcm0gLWYgY29uZnRlc3QqCisKKworICBpZiB0ZXN0ICRhY19jdl9wcm9nX2djY190cmFkaXRpb25hbCA9IG5vOyB0aGVuCisgICAgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAorLyogZW5kIGNvbmZkZWZzLmguICAqLworI2luY2x1ZGUgPHRlcm1pby5oPgorQXV0b2NvbmYgVENHRVRBCitfQUNFT0YKK2lmIChldmFsICIkYWNfY3BwIGNvbmZ0ZXN0LiRhY19leHQiKSAyPiY1IHwKKyAgJEVHUkVQICIkYWNfcGF0dGVybiIgPi9kZXYvbnVsbCAyPiYxOyB0aGVuIDoKKyAgYWNfY3ZfcHJvZ19nY2NfdHJhZGl0aW9uYWw9eWVzCitmaQorcm0gLWYgY29uZnRlc3QqCisKKyAgZmkKK2ZpCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N2X3Byb2dfZ2NjX3RyYWRpdGlvbmFsIiA+JjUKKyRhc19lY2hvICIkYWNfY3ZfcHJvZ19nY2NfdHJhZGl0aW9uYWwiID4mNjsgfQorICBpZiB0ZXN0ICRhY19jdl9wcm9nX2djY190cmFkaXRpb25hbCA9IHllczsgdGhlbgorICAgIENDPSIkQ0MgLXRyYWRpdGlvbmFsIgorICBmaQorZmkKKworCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBhbiBBTlNJIEMtY29uZm9ybWluZyBjb25zdCIgPiY1CiskYXNfZWNob19uICJjaGVja2luZyBmb3IgYW4gQU5TSSBDLWNvbmZvcm1pbmcgY29uc3QuLi4gIiA+JjY7IH0KK2lmIHRlc3QgIiR7YWNfY3ZfY19jb25zdCtzZXR9IiA9IHNldDsgdGhlbiA6CisgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CitlbHNlCisgIGNhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKKy8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKworaW50CittYWluICgpCit7CisvKiBGSVhNRTogSW5jbHVkZSB0aGUgY29tbWVudHMgc3VnZ2VzdGVkIGJ5IFBhdWwuICovCisjaWZuZGVmIF9fY3BsdXNwbHVzCisgIC8qIFVsdHJpeCBtaXBzIGNjIHJlamVjdHMgdGhpcy4gICovCisgIHR5cGVkZWYgaW50IGNoYXJzZXRbMl07CisgIGNvbnN0IGNoYXJzZXQgY3M7CisgIC8qIFN1bk9TIDQuMS4xIGNjIHJlamVjdHMgdGhpcy4gICovCisgIGNoYXIgY29uc3QgKmNvbnN0ICpwY3BjYzsKKyAgY2hhciAqKnBwYzsKKyAgLyogTkVDIFNWUjQuMC4yIG1pcHMgY2MgcmVqZWN0cyB0aGlzLiAgKi8KKyAgc3RydWN0IHBvaW50IHtpbnQgeCwgeTt9OworICBzdGF0aWMgc3RydWN0IHBvaW50IGNvbnN0IHplcm8gPSB7MCwwfTsKKyAgLyogQUlYIFhMIEMgMS4wMi4wLjAgcmVqZWN0cyB0aGlzLgorICAgICBJdCBkb2VzIG5vdCBsZXQgeW91IHN1YnRyYWN0IG9uZSBjb25zdCBYKiBwb2ludGVyIGZyb20gYW5vdGhlciBpbgorICAgICBhbiBhcm0gb2YgYW4gaWYtZXhwcmVzc2lvbiB3aG9zZSBpZi1wYXJ0IGlzIG5vdCBhIGNvbnN0YW50CisgICAgIGV4cHJlc3Npb24gKi8KKyAgY29uc3QgY2hhciAqZyA9ICJzdHJpbmciOworICBwY3BjYyA9ICZnICsgKGcgPyBnLWcgOiAwKTsKKyAgLyogSFBVWCA3LjAgY2MgcmVqZWN0cyB0aGVzZS4gKi8KKyAgKytwY3BjYzsKKyAgcHBjID0gKGNoYXIqKikgcGNwY2M7CisgIHBjcGNjID0gKGNoYXIgY29uc3QgKmNvbnN0ICopIHBwYzsKKyAgeyAvKiBTQ08gMy4ydjQgY2MgcmVqZWN0cyB0aGlzLiAgKi8KKyAgICBjaGFyICp0OworICAgIGNoYXIgY29uc3QgKnMgPSAwID8gKGNoYXIgKikgMCA6IChjaGFyIGNvbnN0ICopIDA7CisKKyAgICAqdCsrID0gMDsKKyAgICBpZiAocykgcmV0dXJuIDA7CisgIH0KKyAgeyAvKiBTb21lb25lIHRoaW5rcyB0aGUgU3VuIHN1cHBvc2VkbHktQU5TSSBjb21waWxlciB3aWxsIHJlamVjdCB0aGlzLiAgKi8KKyAgICBpbnQgeFtdID0gezI1LCAxN307CisgICAgY29uc3QgaW50ICpmb28gPSAmeFswXTsKKyAgICArK2ZvbzsKKyAgfQorICB7IC8qIFN1biBTQzEuMCBBTlNJIGNvbXBpbGVyIHJlamVjdHMgdGhpcyAtLSBidXQgbm90IHRoZSBhYm92ZS4gKi8KKyAgICB0eXBlZGVmIGNvbnN0IGludCAqaXB0cjsKKyAgICBpcHRyIHAgPSAwOworICAgICsrcDsKKyAgfQorICB7IC8qIEFJWCBYTCBDIDEuMDIuMC4wIHJlamVjdHMgdGhpcyBzYXlpbmcKKyAgICAgICAiay5jIiwgbGluZSAyLjI3OiAxNTA2LTAyNSAoUykgT3BlcmFuZCBtdXN0IGJlIGEgbW9kaWZpYWJsZSBsdmFsdWUuICovCisgICAgc3RydWN0IHMgeyBpbnQgajsgY29uc3QgaW50ICphcFszXTsgfTsKKyAgICBzdHJ1Y3QgcyAqYjsgYi0+aiA9IDU7CisgIH0KKyAgeyAvKiBVTFRSSVgtMzIgVjMuMSAoUmV2IDkpIHZjYyByZWplY3RzIHRoaXMgKi8KKyAgICBjb25zdCBpbnQgZm9vID0gMTA7CisgICAgaWYgKCFmb28pIHJldHVybiAwOworICB9CisgIHJldHVybiAhY3NbMF0gJiYgIXplcm8ueDsKKyNlbmRpZgorCisgIDsKKyAgcmV0dXJuIDA7Cit9CitfQUNFT0YKK2lmIGFjX2ZuX2NfdHJ5X2NvbXBpbGUgIiRMSU5FTk8iOyB0aGVuIDoKKyAgYWNfY3ZfY19jb25zdD15ZXMKK2Vsc2UKKyAgYWNfY3ZfY19jb25zdD1ubworZmkKK3JtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QuJGFjX2V4dAorZmkKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfY3ZfY19jb25zdCIgPiY1CiskYXNfZWNobyAiJGFjX2N2X2NfY29uc3QiID4mNjsgfQoraWYgdGVzdCAkYWNfY3ZfY19jb25zdCA9IG5vOyB0aGVuCisKKyRhc19lY2hvICIjZGVmaW5lIGNvbnN0IC8qKi8iID4+Y29uZmRlZnMuaAorCitmaQorCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBBTlNJIEMgaGVhZGVyIGZpbGVzIiA+JjUKKyRhc19lY2hvX24gImNoZWNraW5nIGZvciBBTlNJIEMgaGVhZGVyIGZpbGVzLi4uICIgPiY2OyB9CitpZiB0ZXN0ICIke2FjX2N2X2hlYWRlcl9zdGRjK3NldH0iID0gc2V0OyB0aGVuIDoKKyAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKK2Vsc2UKKyAgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAorLyogZW5kIGNvbmZkZWZzLmguICAqLworI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0ZGFyZy5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGZsb2F0Lmg+CisKK2ludAorbWFpbiAoKQoreworCisgIDsKKyAgcmV0dXJuIDA7Cit9CitfQUNFT0YKK2lmIGFjX2ZuX2NfdHJ5X2NvbXBpbGUgIiRMSU5FTk8iOyB0aGVuIDoKKyAgYWNfY3ZfaGVhZGVyX3N0ZGM9eWVzCitlbHNlCisgIGFjX2N2X2hlYWRlcl9zdGRjPW5vCitmaQorcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC4kYWNfZXh0CisKK2lmIHRlc3QgJGFjX2N2X2hlYWRlcl9zdGRjID0geWVzOyB0aGVuCisgICMgU3VuT1MgNC54IHN0cmluZy5oIGRvZXMgbm90IGRlY2xhcmUgbWVtKiwgY29udHJhcnkgdG8gQU5TSS4KKyAgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAorLyogZW5kIGNvbmZkZWZzLmguICAqLworI2luY2x1ZGUgPHN0cmluZy5oPgorCitfQUNFT0YKK2lmIChldmFsICIkYWNfY3BwIGNvbmZ0ZXN0LiRhY19leHQiKSAyPiY1IHwKKyAgJEVHUkVQICJtZW1jaHIiID4vZGV2L251bGwgMj4mMTsgdGhlbiA6CisKK2Vsc2UKKyAgYWNfY3ZfaGVhZGVyX3N0ZGM9bm8KK2ZpCitybSAtZiBjb25mdGVzdCoKKworZmkKKworaWYgdGVzdCAkYWNfY3ZfaGVhZGVyX3N0ZGMgPSB5ZXM7IHRoZW4KKyAgIyBJU0MgMi4wLjIgc3RkbGliLmggZG9lcyBub3QgZGVjbGFyZSBmcmVlLCBjb250cmFyeSB0byBBTlNJLgorICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0CisvKiBlbmQgY29uZmRlZnMuaC4gICovCisjaW5jbHVkZSA8c3RkbGliLmg+CisKK19BQ0VPRgoraWYgKGV2YWwgIiRhY19jcHAgY29uZnRlc3QuJGFjX2V4dCIpIDI+JjUgfAorICAkRUdSRVAgImZyZWUiID4vZGV2L251bGwgMj4mMTsgdGhlbiA6CisKK2Vsc2UKKyAgYWNfY3ZfaGVhZGVyX3N0ZGM9bm8KK2ZpCitybSAtZiBjb25mdGVzdCoKKworZmkKKworaWYgdGVzdCAkYWNfY3ZfaGVhZGVyX3N0ZGMgPSB5ZXM7IHRoZW4KKyAgIyAvYmluL2NjIGluIElyaXgtNC4wLjUgZ2V0cyBub24tQU5TSSBjdHlwZSBtYWNyb3MgdW5sZXNzIHVzaW5nIC1hbnNpLgorICBpZiB0ZXN0ICIkY3Jvc3NfY29tcGlsaW5nIiA9IHllczsgdGhlbiA6CisgIDoKK2Vsc2UKKyAgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAorLyogZW5kIGNvbmZkZWZzLmguICAqLworI2luY2x1ZGUgPGN0eXBlLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaWYgKCgnICcgJiAweDBGRikgPT0gMHgwMjApCisjIGRlZmluZSBJU0xPV0VSKGMpICgnYScgPD0gKGMpICYmIChjKSA8PSAneicpCisjIGRlZmluZSBUT1VQUEVSKGMpIChJU0xPV0VSKGMpID8gJ0EnICsgKChjKSAtICdhJykgOiAoYykpCisjZWxzZQorIyBkZWZpbmUgSVNMT1dFUihjKSBcCisJCSAgICgoJ2EnIDw9IChjKSAmJiAoYykgPD0gJ2knKSBcCisJCSAgICAgfHwgKCdqJyA8PSAoYykgJiYgKGMpIDw9ICdyJykgXAorCQkgICAgIHx8ICgncycgPD0gKGMpICYmIChjKSA8PSAneicpKQorIyBkZWZpbmUgVE9VUFBFUihjKSAoSVNMT1dFUihjKSA/ICgoYykgfCAweDQwKSA6IChjKSkKKyNlbmRpZgorCisjZGVmaW5lIFhPUihlLCBmKSAoKChlKSAmJiAhKGYpKSB8fCAoIShlKSAmJiAoZikpKQoraW50CittYWluICgpCit7CisgIGludCBpOworICBmb3IgKGkgPSAwOyBpIDwgMjU2OyBpKyspCisgICAgaWYgKFhPUiAoaXNsb3dlciAoaSksIElTTE9XRVIgKGkpKQorCXx8IHRvdXBwZXIgKGkpICE9IFRPVVBQRVIgKGkpKQorICAgICAgcmV0dXJuIDI7CisgIHJldHVybiAwOworfQorX0FDRU9GCitpZiBhY19mbl9jX3RyeV9ydW4gIiRMSU5FTk8iOyB0aGVuIDoKKworZWxzZQorICBhY19jdl9oZWFkZXJfc3RkYz1ubworZmkKK3JtIC1mIGNvcmUgKi5jb3JlIGNvcmUuY29uZnRlc3QuKiBnbW9uLm91dCBiYi5vdXQgY29uZnRlc3QkYWNfZXhlZXh0IFwKKyAgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC5iZWFtIGNvbmZ0ZXN0LiRhY19leHQKK2ZpCisKK2ZpCitmaQoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRhY19jdl9oZWFkZXJfc3RkYyIgPiY1CiskYXNfZWNobyAiJGFjX2N2X2hlYWRlcl9zdGRjIiA+JjY7IH0KK2lmIHRlc3QgJGFjX2N2X2hlYWRlcl9zdGRjID0geWVzOyB0aGVuCisKKyRhc19lY2hvICIjZGVmaW5lIFNURENfSEVBREVSUyAxIiA+PmNvbmZkZWZzLmgKKworZmkKKworeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3Igc3RkYm9vbC5oIHRoYXQgY29uZm9ybXMgdG8gQzk5IiA+JjUKKyRhc19lY2hvX24gImNoZWNraW5nIGZvciBzdGRib29sLmggdGhhdCBjb25mb3JtcyB0byBDOTkuLi4gIiA+JjY7IH0KK2lmIHRlc3QgIiR7YWNfY3ZfaGVhZGVyX3N0ZGJvb2xfaCtzZXR9IiA9IHNldDsgdGhlbiA6CisgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CitlbHNlCisgIGNhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKKy8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKworI2luY2x1ZGUgPHN0ZGJvb2wuaD4KKyNpZm5kZWYgYm9vbAorICJlcnJvcjogYm9vbCBpcyBub3QgZGVmaW5lZCIKKyNlbmRpZgorI2lmbmRlZiBmYWxzZQorICJlcnJvcjogZmFsc2UgaXMgbm90IGRlZmluZWQiCisjZW5kaWYKKyNpZiBmYWxzZQorICJlcnJvcjogZmFsc2UgaXMgbm90IDAiCisjZW5kaWYKKyNpZm5kZWYgdHJ1ZQorICJlcnJvcjogdHJ1ZSBpcyBub3QgZGVmaW5lZCIKKyNlbmRpZgorI2lmIHRydWUgIT0gMQorICJlcnJvcjogdHJ1ZSBpcyBub3QgMSIKKyNlbmRpZgorI2lmbmRlZiBfX2Jvb2xfdHJ1ZV9mYWxzZV9hcmVfZGVmaW5lZAorICJlcnJvcjogX19ib29sX3RydWVfZmFsc2VfYXJlX2RlZmluZWQgaXMgbm90IGRlZmluZWQiCisjZW5kaWYKKworCXN0cnVjdCBzIHsgX0Jvb2wgczogMTsgX0Jvb2wgdDsgfSBzOworCisJY2hhciBhW3RydWUgPT0gMSA/IDEgOiAtMV07CisJY2hhciBiW2ZhbHNlID09IDAgPyAxIDogLTFdOworCWNoYXIgY1tfX2Jvb2xfdHJ1ZV9mYWxzZV9hcmVfZGVmaW5lZCA9PSAxID8gMSA6IC0xXTsKKwljaGFyIGRbKGJvb2wpIDAuNSA9PSB0cnVlID8gMSA6IC0xXTsKKwlib29sIGUgPSAmczsKKwljaGFyIGZbKF9Cb29sKSAwLjAgPT0gZmFsc2UgPyAxIDogLTFdOworCWNoYXIgZ1t0cnVlXTsKKwljaGFyIGhbc2l6ZW9mIChfQm9vbCldOworCWNoYXIgaVtzaXplb2Ygcy50XTsKKwllbnVtIHsgaiA9IGZhbHNlLCBrID0gdHJ1ZSwgbCA9IGZhbHNlICogdHJ1ZSwgbSA9IHRydWUgKiAyNTYgfTsKKwkvKiBUaGUgZm9sbG93aW5nIGZhaWxzIGZvcgorCSAgIEhQIGFDKysvQU5TSSBDIEIzOTEwQiBBLjA1LjU1IFtEZWMgMDQgMjAwM10uICovCisJX0Jvb2wgblttXTsKKwljaGFyIG9bc2l6ZW9mIG4gPT0gbSAqIHNpemVvZiBuWzBdID8gMSA6IC0xXTsKKwljaGFyIHBbLTEgLSAoX0Jvb2wpIDAgPCAwICYmIC0xIC0gKGJvb2wpIDAgPCAwID8gMSA6IC0xXTsKKyMJaWYgZGVmaW5lZCBfX3hsY19fIHx8IGRlZmluZWQgX19HTlVDX18KKwkgLyogQ2F0Y2ggYSBidWcgaW4gSUJNIEFJWCB4bGMgY29tcGlsZXIgdmVyc2lvbiA2LjAuMC4wCisJICAgIHJlcG9ydGVkIGJ5IEphbWVzIExlbWxleSBvbiAyMDA1LTEwLTA1OyBzZWUKKwkgICAgaHR0cDovL2xpc3RzLmdudS5vcmcvYXJjaGl2ZS9odG1sL2J1Zy1jb3JldXRpbHMvMjAwNS0xMC9tc2cwMDA4Ni5odG1sCisJICAgIFRoaXMgdGVzdCBpcyBub3QgcXVpdGUgcmlnaHQsIHNpbmNlIHhsYyBpcyBhbGxvd2VkIHRvCisJICAgIHJlamVjdCB0aGlzIHByb2dyYW0sIGFzIHRoZSBpbml0aWFsaXplciBmb3IgeGxjYnVnIGlzCisJICAgIG5vdCBvbmUgb2YgdGhlIGZvcm1zIHRoYXQgQyByZXF1aXJlcyBzdXBwb3J0IGZvci4KKwkgICAgSG93ZXZlciwgZG9pbmcgdGhlIHRlc3QgcmlnaHQgd291bGQgcmVxdWlyZSBhIHJ1bnRpbWUKKwkgICAgdGVzdCwgYW5kIHRoYXQgd291bGQgbWFrZSBjcm9zcy1jb21waWxhdGlvbiBoYXJkZXIuCisJICAgIExldCB1cyBob3BlIHRoYXQgSUJNIGZpeGVzIHRoZSB4bGMgYnVnLCBhbmQgYWxzbyBhZGRzCisJICAgIHN1cHBvcnQgZm9yIHRoaXMga2luZCBvZiBjb25zdGFudCBleHByZXNzaW9uLiAgSW4gdGhlCisJICAgIG1lYW50aW1lLCB0aGlzIHRlc3Qgd2lsbCByZWplY3QgeGxjLCB3aGljaCBpcyBPSywgc2luY2UKKwkgICAgb3VyIHN0ZGJvb2wuaCBzdWJzdGl0dXRlIHNob3VsZCBzdWZmaWNlLiAgV2UgYWxzbyB0ZXN0CisJICAgIHRoaXMgd2l0aCBHQ0MsIHdoZXJlIGl0IHNob3VsZCB3b3JrLCB0byBkZXRlY3QgbW9yZQorCSAgICBxdWlja2x5IHdoZXRoZXIgc29tZW9uZSBtZXNzZXMgdXAgdGhlIHRlc3QgaW4gdGhlCisJICAgIGZ1dHVyZS4gICovCisJIGNoYXIgZGlnc1tdID0gIjAxMjM0NTY3ODkiOworCSBpbnQgeGxjYnVnID0gMSAvICgmKGRpZ3MgKyA1KVstMiArIChib29sKSAxXSA9PSAmZGlnc1s0XSA/IDEgOiAtMSk7CisjCWVuZGlmCisJLyogQ2F0Y2ggYSBidWcgaW4gYW4gSFAtVVggQyBjb21waWxlci4gIFNlZQorCSAgIGh0dHA6Ly9nY2MuZ251Lm9yZy9tbC9nY2MtcGF0Y2hlcy8yMDAzLTEyL21zZzAyMzAzLmh0bWwKKwkgICBodHRwOi8vbGlzdHMuZ251Lm9yZy9hcmNoaXZlL2h0bWwvYnVnLWNvcmV1dGlscy8yMDA1LTExL21zZzAwMTYxLmh0bWwKKwkgKi8KKwlfQm9vbCBxID0gdHJ1ZTsKKwlfQm9vbCAqcHEgPSAmcTsKKworaW50CittYWluICgpCit7CisKKwkqcHEgfD0gcTsKKwkqcHEgfD0gISBxOworCS8qIFJlZmVyIHRvIGV2ZXJ5IGRlY2xhcmVkIHZhbHVlLCB0byBhdm9pZCBjb21waWxlciBvcHRpbWl6YXRpb25zLiAgKi8KKwlyZXR1cm4gKCFhICsgIWIgKyAhYyArICFkICsgIWUgKyAhZiArICFnICsgIWggKyAhaSArICEhaiArICFrICsgISFsCisJCSsgIW0gKyAhbiArICFvICsgIXAgKyAhcSArICFwcSk7CisKKyAgOworICByZXR1cm4gMDsKK30KK19BQ0VPRgoraWYgYWNfZm5fY190cnlfY29tcGlsZSAiJExJTkVOTyI7IHRoZW4gOgorICBhY19jdl9oZWFkZXJfc3RkYm9vbF9oPXllcworZWxzZQorICBhY19jdl9oZWFkZXJfc3RkYm9vbF9oPW5vCitmaQorcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC4kYWNfZXh0CitmaQoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRhY19jdl9oZWFkZXJfc3RkYm9vbF9oIiA+JjUKKyRhc19lY2hvICIkYWNfY3ZfaGVhZGVyX3N0ZGJvb2xfaCIgPiY2OyB9CithY19mbl9jX2NoZWNrX3R5cGUgIiRMSU5FTk8iICJfQm9vbCIgImFjX2N2X3R5cGVfX0Jvb2wiICIkYWNfaW5jbHVkZXNfZGVmYXVsdCIKK2lmIHRlc3QgIngkYWNfY3ZfdHlwZV9fQm9vbCIgPSB4IiJ5ZXM7IHRoZW4gOgorCitjYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCisjZGVmaW5lIEhBVkVfX0JPT0wgMQorX0FDRU9GCisKKworZmkKKworaWYgdGVzdCAkYWNfY3ZfaGVhZGVyX3N0ZGJvb2xfaCA9IHllczsgdGhlbgorCiskYXNfZWNobyAiI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxIiA+PmNvbmZkZWZzLmgKKworZmkKKworYWNfaGVhZGVyX2RpcmVudD1ubworZm9yIGFjX2hkciBpbiBkaXJlbnQuaCBzeXMvbmRpci5oIHN5cy9kaXIuaCBuZGlyLmg7IGRvCisgIGFzX2FjX0hlYWRlcj1gJGFzX2VjaG8gImFjX2N2X2hlYWRlcl9kaXJlbnRfJGFjX2hkciIgfCAkYXNfdHJfc2hgCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciAkYWNfaGRyIHRoYXQgZGVmaW5lcyBESVIiID4mNQorJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRhY19oZHIgdGhhdCBkZWZpbmVzIERJUi4uLiAiID4mNjsgfQoraWYgeyBhc192YXI9JGFzX2FjX0hlYWRlcjsgZXZhbCAidGVzdCBcIlwkeyRhc192YXIrc2V0fVwiID0gc2V0IjsgfTsgdGhlbiA6CisgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CitlbHNlCisgIGNhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKKy8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDwkYWNfaGRyPgorCitpbnQKK21haW4gKCkKK3sKK2lmICgoRElSICopIDApCityZXR1cm4gMDsKKyAgOworICByZXR1cm4gMDsKK30KK19BQ0VPRgoraWYgYWNfZm5fY190cnlfY29tcGlsZSAiJExJTkVOTyI7IHRoZW4gOgorICBldmFsICIkYXNfYWNfSGVhZGVyPXllcyIKK2Vsc2UKKyAgZXZhbCAiJGFzX2FjX0hlYWRlcj1ubyIKK2ZpCitybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKK2ZpCitldmFsIGFjX3Jlcz1cJCRhc19hY19IZWFkZXIKKwkgICAgICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRhY19yZXMiID4mNQorJGFzX2VjaG8gIiRhY19yZXMiID4mNjsgfQorZXZhbCBhc192YWw9XCQkYXNfYWNfSGVhZGVyCisgICBpZiB0ZXN0ICJ4JGFzX3ZhbCIgPSB4IiJ5ZXM7IHRoZW4gOgorICBjYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCisjZGVmaW5lIGAkYXNfZWNobyAiSEFWRV8kYWNfaGRyIiB8ICRhc190cl9jcHBgIDEKK19BQ0VPRgorCithY19oZWFkZXJfZGlyZW50PSRhY19oZHI7IGJyZWFrCitmaQorCitkb25lCisjIFR3byB2ZXJzaW9ucyBvZiBvcGVuZGlyIGV0IGFsLiBhcmUgaW4gLWxkaXIgYW5kIC1seCBvbiBTQ08gWGVuaXguCitpZiB0ZXN0ICRhY19oZWFkZXJfZGlyZW50ID0gZGlyZW50Lmg7IHRoZW4KKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgbGlicmFyeSBjb250YWluaW5nIG9wZW5kaXIiID4mNQorJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIGxpYnJhcnkgY29udGFpbmluZyBvcGVuZGlyLi4uICIgPiY2OyB9CitpZiB0ZXN0ICIke2FjX2N2X3NlYXJjaF9vcGVuZGlyK3NldH0iID0gc2V0OyB0aGVuIDoKKyAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKK2Vsc2UKKyAgYWNfZnVuY19zZWFyY2hfc2F2ZV9MSUJTPSRMSUJTCitjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0CisvKiBlbmQgY29uZmRlZnMuaC4gICovCisKKy8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgorICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCisgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiCisjZW5kaWYKK2NoYXIgb3BlbmRpciAoKTsKK2ludAorbWFpbiAoKQoreworcmV0dXJuIG9wZW5kaXIgKCk7CisgIDsKKyAgcmV0dXJuIDA7Cit9CitfQUNFT0YKK2ZvciBhY19saWIgaW4gJycgZGlyOyBkbworICBpZiB0ZXN0IC16ICIkYWNfbGliIjsgdGhlbgorICAgIGFjX3Jlcz0ibm9uZSByZXF1aXJlZCIKKyAgZWxzZQorICAgIGFjX3Jlcz0tbCRhY19saWIKKyAgICBMSUJTPSItbCRhY19saWIgICRhY19mdW5jX3NlYXJjaF9zYXZlX0xJQlMiCisgIGZpCisgIGlmIGFjX2ZuX2NfdHJ5X2xpbmsgIiRMSU5FTk8iOyB0aGVuIDoKKyAgYWNfY3Zfc2VhcmNoX29wZW5kaXI9JGFjX3JlcworZmkKK3JtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgXAorICAgIGNvbmZ0ZXN0JGFjX2V4ZWV4dAorICBpZiB0ZXN0ICIke2FjX2N2X3NlYXJjaF9vcGVuZGlyK3NldH0iID0gc2V0OyB0aGVuIDoKKyAgYnJlYWsKK2ZpCitkb25lCitpZiB0ZXN0ICIke2FjX2N2X3NlYXJjaF9vcGVuZGlyK3NldH0iID0gc2V0OyB0aGVuIDoKKworZWxzZQorICBhY19jdl9zZWFyY2hfb3BlbmRpcj1ubworZmkKK3JtIGNvbmZ0ZXN0LiRhY19leHQKK0xJQlM9JGFjX2Z1bmNfc2VhcmNoX3NhdmVfTElCUworZmkKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfY3Zfc2VhcmNoX29wZW5kaXIiID4mNQorJGFzX2VjaG8gIiRhY19jdl9zZWFyY2hfb3BlbmRpciIgPiY2OyB9CithY19yZXM9JGFjX2N2X3NlYXJjaF9vcGVuZGlyCitpZiB0ZXN0ICIkYWNfcmVzIiAhPSBubzsgdGhlbiA6CisgIHRlc3QgIiRhY19yZXMiID0gIm5vbmUgcmVxdWlyZWQiIHx8IExJQlM9IiRhY19yZXMgJExJQlMiCisKK2ZpCisKK2Vsc2UKKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgbGlicmFyeSBjb250YWluaW5nIG9wZW5kaXIiID4mNQorJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIGxpYnJhcnkgY29udGFpbmluZyBvcGVuZGlyLi4uICIgPiY2OyB9CitpZiB0ZXN0ICIke2FjX2N2X3NlYXJjaF9vcGVuZGlyK3NldH0iID0gc2V0OyB0aGVuIDoKKyAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKK2Vsc2UKKyAgYWNfZnVuY19zZWFyY2hfc2F2ZV9MSUJTPSRMSUJTCitjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0CisvKiBlbmQgY29uZmRlZnMuaC4gICovCisKKy8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgorICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCisgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiCisjZW5kaWYKK2NoYXIgb3BlbmRpciAoKTsKK2ludAorbWFpbiAoKQoreworcmV0dXJuIG9wZW5kaXIgKCk7CisgIDsKKyAgcmV0dXJuIDA7Cit9CitfQUNFT0YKK2ZvciBhY19saWIgaW4gJycgeDsgZG8KKyAgaWYgdGVzdCAteiAiJGFjX2xpYiI7IHRoZW4KKyAgICBhY19yZXM9Im5vbmUgcmVxdWlyZWQiCisgIGVsc2UKKyAgICBhY19yZXM9LWwkYWNfbGliCisgICAgTElCUz0iLWwkYWNfbGliICAkYWNfZnVuY19zZWFyY2hfc2F2ZV9MSUJTIgorICBmaQorICBpZiBhY19mbl9jX3RyeV9saW5rICIkTElORU5PIjsgdGhlbiA6CisgIGFjX2N2X3NlYXJjaF9vcGVuZGlyPSRhY19yZXMKK2ZpCitybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IFwKKyAgICBjb25mdGVzdCRhY19leGVleHQKKyAgaWYgdGVzdCAiJHthY19jdl9zZWFyY2hfb3BlbmRpcitzZXR9IiA9IHNldDsgdGhlbiA6CisgIGJyZWFrCitmaQorZG9uZQoraWYgdGVzdCAiJHthY19jdl9zZWFyY2hfb3BlbmRpcitzZXR9IiA9IHNldDsgdGhlbiA6CisKK2Vsc2UKKyAgYWNfY3Zfc2VhcmNoX29wZW5kaXI9bm8KK2ZpCitybSBjb25mdGVzdC4kYWNfZXh0CitMSUJTPSRhY19mdW5jX3NlYXJjaF9zYXZlX0xJQlMKK2ZpCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N2X3NlYXJjaF9vcGVuZGlyIiA+JjUKKyRhc19lY2hvICIkYWNfY3Zfc2VhcmNoX29wZW5kaXIiID4mNjsgfQorYWNfcmVzPSRhY19jdl9zZWFyY2hfb3BlbmRpcgoraWYgdGVzdCAiJGFjX3JlcyIgIT0gbm87IHRoZW4gOgorICB0ZXN0ICIkYWNfcmVzIiA9ICJub25lIHJlcXVpcmVkIiB8fCBMSUJTPSIkYWNfcmVzICRMSUJTIgorCitmaQorCitmaQorCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIHdoZXRoZXIgc3RhdCBmaWxlLW1vZGUgbWFjcm9zIGFyZSBicm9rZW4iID4mNQorJGFzX2VjaG9fbiAiY2hlY2tpbmcgd2hldGhlciBzdGF0IGZpbGUtbW9kZSBtYWNyb3MgYXJlIGJyb2tlbi4uLiAiID4mNjsgfQoraWYgdGVzdCAiJHthY19jdl9oZWFkZXJfc3RhdF9icm9rZW4rc2V0fSIgPSBzZXQ7IHRoZW4gOgorICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgorZWxzZQorICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0CisvKiBlbmQgY29uZmRlZnMuaC4gICovCisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKworI2lmIGRlZmluZWQgU19JU0JMSyAmJiBkZWZpbmVkIFNfSUZESVIKK2V4dGVybiBjaGFyIGMxW1NfSVNCTEsgKFNfSUZESVIpID8gLTEgOiAxXTsKKyNlbmRpZgorCisjaWYgZGVmaW5lZCBTX0lTQkxLICYmIGRlZmluZWQgU19JRkNIUgorZXh0ZXJuIGNoYXIgYzJbU19JU0JMSyAoU19JRkNIUikgPyAtMSA6IDFdOworI2VuZGlmCisKKyNpZiBkZWZpbmVkIFNfSVNMTksgJiYgZGVmaW5lZCBTX0lGUkVHCitleHRlcm4gY2hhciBjM1tTX0lTTE5LIChTX0lGUkVHKSA/IC0xIDogMV07CisjZW5kaWYKKworI2lmIGRlZmluZWQgU19JU1NPQ0sgJiYgZGVmaW5lZCBTX0lGUkVHCitleHRlcm4gY2hhciBjNFtTX0lTU09DSyAoU19JRlJFRykgPyAtMSA6IDFdOworI2VuZGlmCisKK19BQ0VPRgoraWYgYWNfZm5fY190cnlfY29tcGlsZSAiJExJTkVOTyI7IHRoZW4gOgorICBhY19jdl9oZWFkZXJfc3RhdF9icm9rZW49bm8KK2Vsc2UKKyAgYWNfY3ZfaGVhZGVyX3N0YXRfYnJva2VuPXllcworZmkKK3JtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QuJGFjX2V4dAorZmkKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfY3ZfaGVhZGVyX3N0YXRfYnJva2VuIiA+JjUKKyRhc19lY2hvICIkYWNfY3ZfaGVhZGVyX3N0YXRfYnJva2VuIiA+JjY7IH0KK2lmIHRlc3QgJGFjX2N2X2hlYWRlcl9zdGF0X2Jyb2tlbiA9IHllczsgdGhlbgorCiskYXNfZWNobyAiI2RlZmluZSBTVEFUX01BQ1JPU19CUk9LRU4gMSIgPj5jb25mZGVmcy5oCisKK2ZpCisKK2FjX2ZuX2NfY2hlY2tfbWVtYmVyICIkTElORU5PIiAic3RydWN0IHN0YXQiICJzdF9ibGtzaXplIiAiYWNfY3ZfbWVtYmVyX3N0cnVjdF9zdGF0X3N0X2Jsa3NpemUiICIkYWNfaW5jbHVkZXNfZGVmYXVsdCIKK2lmIHRlc3QgIngkYWNfY3ZfbWVtYmVyX3N0cnVjdF9zdGF0X3N0X2Jsa3NpemUiID0geCIieWVzOyB0aGVuIDoKKworY2F0ID4+Y29uZmRlZnMuaCA8PF9BQ0VPRgorI2RlZmluZSBIQVZFX1NUUlVDVF9TVEFUX1NUX0JMS1NJWkUgMQorX0FDRU9GCisKKworZmkKK2FjX2ZuX2NfY2hlY2tfbWVtYmVyICIkTElORU5PIiAic3RydWN0IHN0YXQiICJzdF9ibG9ja3MiICJhY19jdl9tZW1iZXJfc3RydWN0X3N0YXRfc3RfYmxvY2tzIiAiJGFjX2luY2x1ZGVzX2RlZmF1bHQiCitpZiB0ZXN0ICJ4JGFjX2N2X21lbWJlcl9zdHJ1Y3Rfc3RhdF9zdF9ibG9ja3MiID0geCIieWVzOyB0aGVuIDoKKworY2F0ID4+Y29uZmRlZnMuaCA8PF9BQ0VPRgorI2RlZmluZSBIQVZFX1NUUlVDVF9TVEFUX1NUX0JMT0NLUyAxCitfQUNFT0YKKworCitmaQorYWNfZm5fY19jaGVja19tZW1iZXIgIiRMSU5FTk8iICJzdHJ1Y3Qgc3RhdCIgInN0X2FjbGNudCIgImFjX2N2X21lbWJlcl9zdHJ1Y3Rfc3RhdF9zdF9hY2xjbnQiICIkYWNfaW5jbHVkZXNfZGVmYXVsdCIKK2lmIHRlc3QgIngkYWNfY3ZfbWVtYmVyX3N0cnVjdF9zdGF0X3N0X2FjbGNudCIgPSB4IiJ5ZXM7IHRoZW4gOgorCitjYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCisjZGVmaW5lIEhBVkVfU1RSVUNUX1NUQVRfU1RfQUNMQ05UIDEKK19BQ0VPRgorCisKK2ZpCithY19mbl9jX2NoZWNrX21lbWJlciAiJExJTkVOTyIgInN0cnVjdCBzdGF0IiAic3RfZmxhZ3MiICJhY19jdl9tZW1iZXJfc3RydWN0X3N0YXRfc3RfZmxhZ3MiICIkYWNfaW5jbHVkZXNfZGVmYXVsdCIKK2lmIHRlc3QgIngkYWNfY3ZfbWVtYmVyX3N0cnVjdF9zdGF0X3N0X2ZsYWdzIiA9IHgiInllczsgdGhlbiA6CisKK2NhdCA+PmNvbmZkZWZzLmggPDxfQUNFT0YKKyNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVF9TVF9GTEFHUyAxCitfQUNFT0YKKworCitmaQorYWNfZm5fY19jaGVja19tZW1iZXIgIiRMSU5FTk8iICJzdHJ1Y3Qgc3RhdCIgInN0X2ZzdHlwZSIgImFjX2N2X21lbWJlcl9zdHJ1Y3Rfc3RhdF9zdF9mc3R5cGUiICIkYWNfaW5jbHVkZXNfZGVmYXVsdCIKK2lmIHRlc3QgIngkYWNfY3ZfbWVtYmVyX3N0cnVjdF9zdGF0X3N0X2ZzdHlwZSIgPSB4IiJ5ZXM7IHRoZW4gOgorCitjYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCisjZGVmaW5lIEhBVkVfU1RSVUNUX1NUQVRfU1RfRlNUWVBFIDEKK19BQ0VPRgorCisKK2ZpCithY19mbl9jX2NoZWNrX21lbWJlciAiJExJTkVOTyIgInN0cnVjdCBzdGF0IiAic3RfZ2VuIiAiYWNfY3ZfbWVtYmVyX3N0cnVjdF9zdGF0X3N0X2dlbiIgIiRhY19pbmNsdWRlc19kZWZhdWx0IgoraWYgdGVzdCAieCRhY19jdl9tZW1iZXJfc3RydWN0X3N0YXRfc3RfZ2VuIiA9IHgiInllczsgdGhlbiA6CisKK2NhdCA+PmNvbmZkZWZzLmggPDxfQUNFT0YKKyNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVF9TVF9HRU4gMQorX0FDRU9GCisKKworZmkKK2FjX2ZuX2NfY2hlY2tfbWVtYmVyICIkTElORU5PIiAic3RydWN0IHN0YXQiICJzdF9sZXZlbCIgImFjX2N2X21lbWJlcl9zdHJ1Y3Rfc3RhdF9zdF9sZXZlbCIgIiRhY19pbmNsdWRlc19kZWZhdWx0IgoraWYgdGVzdCAieCRhY19jdl9tZW1iZXJfc3RydWN0X3N0YXRfc3RfbGV2ZWwiID0geCIieWVzOyB0aGVuIDoKKworY2F0ID4+Y29uZmRlZnMuaCA8PF9BQ0VPRgorI2RlZmluZSBIQVZFX1NUUlVDVF9TVEFUX1NUX0xFVkVMIDEKK19BQ0VPRgorCisKK2ZpCithY19mbl9jX2NoZWNrX21lbWJlciAiJExJTkVOTyIgInN0cnVjdCBzdGF0IiAic3RfcmRldiIgImFjX2N2X21lbWJlcl9zdHJ1Y3Rfc3RhdF9zdF9yZGV2IiAiJGFjX2luY2x1ZGVzX2RlZmF1bHQiCitpZiB0ZXN0ICJ4JGFjX2N2X21lbWJlcl9zdHJ1Y3Rfc3RhdF9zdF9yZGV2IiA9IHgiInllczsgdGhlbiA6CisKK2NhdCA+PmNvbmZkZWZzLmggPDxfQUNFT0YKKyNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVF9TVF9SREVWIDEKK19BQ0VPRgorCisKK2ZpCisKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIHN0YXQ2NCBpbiAoYXNtfHN5cykvc3RhdC5oIiA+JjUKKyRhc19lY2hvX24gImNoZWNraW5nIGZvciBzdGF0NjQgaW4gKGFzbXxzeXMpL3N0YXQuaC4uLiAiID4mNjsgfQoraWYgdGVzdCAiJHthY19jdl90eXBlX3N0YXQ2NCtzZXR9IiA9IHNldDsgdGhlbiA6CisgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CitlbHNlCisgIGNhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKKy8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpZmRlZiBMSU5VWAorI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisjaW5jbHVkZSA8YXNtL3N0YXQuaD4KKyNlbHNlCisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNlbmRpZgoraW50CittYWluICgpCit7CitzdHJ1Y3Qgc3RhdDY0IHN0OworICA7CisgIHJldHVybiAwOworfQorX0FDRU9GCitpZiBhY19mbl9jX3RyeV9jb21waWxlICIkTElORU5PIjsgdGhlbiA6CisgIGFjX2N2X3R5cGVfc3RhdDY0PXllcworZWxzZQorICBhY19jdl90eXBlX3N0YXQ2ND1ubworZmkKK3JtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QuJGFjX2V4dAorZmkKKworeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRhY19jdl90eXBlX3N0YXQ2NCIgPiY1CiskYXNfZWNobyAiJGFjX2N2X3R5cGVfc3RhdDY0IiA+JjY7IH0KK2lmIHRlc3QgIiRhY19jdl90eXBlX3N0YXQ2NCIgPSB5ZXMKK3RoZW4KKworJGFzX2VjaG8gIiNkZWZpbmUgSEFWRV9TVEFUNjQgMSIgPj5jb25mZGVmcy5oCisKK2ZpCisKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIHN0YXRmczY0IGluIHN5cy92ZnMuaCIgPiY1CiskYXNfZWNob19uICJjaGVja2luZyBmb3Igc3RhdGZzNjQgaW4gc3lzL3Zmcy5oLi4uICIgPiY2OyB9CitpZiB0ZXN0ICIke2FjX2N2X3R5cGVfc3RhdGZzNjQrc2V0fSIgPSBzZXQ7IHRoZW4gOgorICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgorZWxzZQorICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0CisvKiBlbmQgY29uZmRlZnMuaC4gICovCisjaWZkZWYgTElOVVgKKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorI2luY2x1ZGUgPHN5cy92ZnMuaD4KKyNlbmRpZgoraW50CittYWluICgpCit7CitzdHJ1Y3Qgc3RhdGZzNjQgc3Q7CisgIDsKKyAgcmV0dXJuIDA7Cit9CitfQUNFT0YKK2lmIGFjX2ZuX2NfdHJ5X2NvbXBpbGUgIiRMSU5FTk8iOyB0aGVuIDoKKyAgYWNfY3ZfdHlwZV9zdGF0ZnM2ND15ZXMKK2Vsc2UKKyAgYWNfY3ZfdHlwZV9zdGF0ZnM2ND1ubworZmkKK3JtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QuJGFjX2V4dAorZmkKKworeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRhY19jdl90eXBlX3N0YXRmczY0IiA+JjUKKyRhc19lY2hvICIkYWNfY3ZfdHlwZV9zdGF0ZnM2NCIgPiY2OyB9CitpZiB0ZXN0ICIkYWNfY3ZfdHlwZV9zdGF0ZnM2NCIgPSB5ZXMKK3RoZW4KKworJGFzX2VjaG8gIiNkZWZpbmUgSEFWRV9TVEFURlM2NCAxIiA+PmNvbmZkZWZzLmgKKworZmkKKworCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIHJldHVybiB0eXBlIG9mIHNpZ25hbCBoYW5kbGVycyIgPiY1CiskYXNfZWNob19uICJjaGVja2luZyByZXR1cm4gdHlwZSBvZiBzaWduYWwgaGFuZGxlcnMuLi4gIiA+JjY7IH0KK2lmIHRlc3QgIiR7YWNfY3ZfdHlwZV9zaWduYWwrc2V0fSIgPSBzZXQ7IHRoZW4gOgorICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgorZWxzZQorICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0CisvKiBlbmQgY29uZmRlZnMuaC4gICovCisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c2lnbmFsLmg+CisKK2ludAorbWFpbiAoKQoreworcmV0dXJuICooc2lnbmFsICgwLCAwKSkgKDApID09IDE7CisgIDsKKyAgcmV0dXJuIDA7Cit9CitfQUNFT0YKK2lmIGFjX2ZuX2NfdHJ5X2NvbXBpbGUgIiRMSU5FTk8iOyB0aGVuIDoKKyAgYWNfY3ZfdHlwZV9zaWduYWw9aW50CitlbHNlCisgIGFjX2N2X3R5cGVfc2lnbmFsPXZvaWQKK2ZpCitybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKK2ZpCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N2X3R5cGVfc2lnbmFsIiA+JjUKKyRhc19lY2hvICIkYWNfY3ZfdHlwZV9zaWduYWwiID4mNjsgfQorCitjYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCisjZGVmaW5lIFJFVFNJR1RZUEUgJGFjX2N2X3R5cGVfc2lnbmFsCitfQUNFT0YKKworCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciB1aWRfdCBpbiBzeXMvdHlwZXMuaCIgPiY1CiskYXNfZWNob19uICJjaGVja2luZyBmb3IgdWlkX3QgaW4gc3lzL3R5cGVzLmguLi4gIiA+JjY7IH0KK2lmIHRlc3QgIiR7YWNfY3ZfdHlwZV91aWRfdCtzZXR9IiA9IHNldDsgdGhlbiA6CisgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CitlbHNlCisgIGNhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKKy8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKworX0FDRU9GCitpZiAoZXZhbCAiJGFjX2NwcCBjb25mdGVzdC4kYWNfZXh0IikgMj4mNSB8CisgICRFR1JFUCAidWlkX3QiID4vZGV2L251bGwgMj4mMTsgdGhlbiA6CisgIGFjX2N2X3R5cGVfdWlkX3Q9eWVzCitlbHNlCisgIGFjX2N2X3R5cGVfdWlkX3Q9bm8KK2ZpCitybSAtZiBjb25mdGVzdCoKKworZmkKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfY3ZfdHlwZV91aWRfdCIgPiY1CiskYXNfZWNobyAiJGFjX2N2X3R5cGVfdWlkX3QiID4mNjsgfQoraWYgdGVzdCAkYWNfY3ZfdHlwZV91aWRfdCA9IG5vOyB0aGVuCisKKyRhc19lY2hvICIjZGVmaW5lIHVpZF90IGludCIgPj5jb25mZGVmcy5oCisKKworJGFzX2VjaG8gIiNkZWZpbmUgZ2lkX3QgaW50IiA+PmNvbmZkZWZzLmgKKworZmkKKworYWNfZm5fY19jaGVja190eXBlICIkTElORU5PIiAibW9kZV90IiAiYWNfY3ZfdHlwZV9tb2RlX3QiICIkYWNfaW5jbHVkZXNfZGVmYXVsdCIKK2lmIHRlc3QgIngkYWNfY3ZfdHlwZV9tb2RlX3QiID0geCIieWVzOyB0aGVuIDoKKworZWxzZQorCitjYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCisjZGVmaW5lIG1vZGVfdCBpbnQKK19BQ0VPRgorCitmaQorCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIHR5cGUgb2YgYXJyYXkgYXJndW1lbnQgdG8gZ2V0Z3JvdXBzIiA+JjUKKyRhc19lY2hvX24gImNoZWNraW5nIHR5cGUgb2YgYXJyYXkgYXJndW1lbnQgdG8gZ2V0Z3JvdXBzLi4uICIgPiY2OyB9CitpZiB0ZXN0ICIke2FjX2N2X3R5cGVfZ2V0Z3JvdXBzK3NldH0iID0gc2V0OyB0aGVuIDoKKyAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKK2Vsc2UKKyAgaWYgdGVzdCAiJGNyb3NzX2NvbXBpbGluZyIgPSB5ZXM7IHRoZW4gOgorICBhY19jdl90eXBlX2dldGdyb3Vwcz1jcm9zcworZWxzZQorICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0CisvKiBlbmQgY29uZmRlZnMuaC4gICovCisvKiBUaGFua3MgdG8gTWlrZSBSZW5kZWxsIGZvciB0aGlzIHRlc3QuICAqLworJGFjX2luY2x1ZGVzX2RlZmF1bHQKKyNkZWZpbmUgTkdJRCAyNTYKKyN1bmRlZiBNQVgKKyNkZWZpbmUgTUFYKHgsIHkpICgoeCkgPiAoeSkgPyAoeCkgOiAoeSkpCisKK2ludAorbWFpbiAoKQoreworICBnaWRfdCBnaWRzZXRbTkdJRF07CisgIGludCBpLCBuOworICB1bmlvbiB7IGdpZF90IGd2YWw7IGxvbmcgaW50IGx2YWw7IH0gIHZhbDsKKworICB2YWwubHZhbCA9IC0xOworICBmb3IgKGkgPSAwOyBpIDwgTkdJRDsgaSsrKQorICAgIGdpZHNldFtpXSA9IHZhbC5ndmFsOworICBuID0gZ2V0Z3JvdXBzIChzaXplb2YgKGdpZHNldCkgLyBNQVggKHNpemVvZiAoaW50KSwgc2l6ZW9mIChnaWRfdCkpIC0gMSwKKwkJIGdpZHNldCk7CisgIC8qIEV4aXQgbm9uLXplcm8gaWYgZ2V0Z3JvdXBzIHNlZW1zIHRvIHJlcXVpcmUgYW4gYXJyYXkgb2YgaW50cy4gIFRoaXMKKyAgICAgaGFwcGVucyB3aGVuIGdpZF90IGlzIHNob3J0IGludCBidXQgZ2V0Z3JvdXBzIG1vZGlmaWVzIGFuIGFycmF5CisgICAgIG9mIGludHMuICAqLworICByZXR1cm4gbiA+IDAgJiYgZ2lkc2V0W25dICE9IHZhbC5ndmFsOworfQorX0FDRU9GCitpZiBhY19mbl9jX3RyeV9ydW4gIiRMSU5FTk8iOyB0aGVuIDoKKyAgYWNfY3ZfdHlwZV9nZXRncm91cHM9Z2lkX3QKK2Vsc2UKKyAgYWNfY3ZfdHlwZV9nZXRncm91cHM9aW50CitmaQorcm0gLWYgY29yZSAqLmNvcmUgY29yZS5jb25mdGVzdC4qIGdtb24ub3V0IGJiLm91dCBjb25mdGVzdCRhY19leGVleHQgXAorICBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LmJlYW0gY29uZnRlc3QuJGFjX2V4dAorZmkKKworaWYgdGVzdCAkYWNfY3ZfdHlwZV9nZXRncm91cHMgPSBjcm9zczsgdGhlbgorICAgICAgICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0CisvKiBlbmQgY29uZmRlZnMuaC4gICovCisjaW5jbHVkZSA8dW5pc3RkLmg+CisKK19BQ0VPRgoraWYgKGV2YWwgIiRhY19jcHAgY29uZnRlc3QuJGFjX2V4dCIpIDI+JjUgfAorICAkRUdSRVAgImdldGdyb3Vwcy4qaW50LipnaWRfdCIgPi9kZXYvbnVsbCAyPiYxOyB0aGVuIDoKKyAgYWNfY3ZfdHlwZV9nZXRncm91cHM9Z2lkX3QKK2Vsc2UKKyAgYWNfY3ZfdHlwZV9nZXRncm91cHM9aW50CitmaQorcm0gLWYgY29uZnRlc3QqCisKK2ZpCitmaQoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRhY19jdl90eXBlX2dldGdyb3VwcyIgPiY1CiskYXNfZWNobyAiJGFjX2N2X3R5cGVfZ2V0Z3JvdXBzIiA+JjY7IH0KKworY2F0ID4+Y29uZmRlZnMuaCA8PF9BQ0VPRgorI2RlZmluZSBHRVRHUk9VUFNfVCAkYWNfY3ZfdHlwZV9nZXRncm91cHMKK19BQ0VPRgorCisKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgd2hldGhlciBzeXMvdHlwZXMuaCBkZWZpbmVzIG1ha2VkZXYiID4mNQorJGFzX2VjaG9fbiAiY2hlY2tpbmcgd2hldGhlciBzeXMvdHlwZXMuaCBkZWZpbmVzIG1ha2VkZXYuLi4gIiA+JjY7IH0KK2lmIHRlc3QgIiR7YWNfY3ZfaGVhZGVyX3N5c190eXBlc19oX21ha2VkZXYrc2V0fSIgPSBzZXQ7IHRoZW4gOgorICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgorZWxzZQorICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0CisvKiBlbmQgY29uZmRlZnMuaC4gICovCisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CitpbnQKK21haW4gKCkKK3sKK3JldHVybiBtYWtlZGV2KDAsIDApOworICA7CisgIHJldHVybiAwOworfQorX0FDRU9GCitpZiBhY19mbl9jX3RyeV9saW5rICIkTElORU5PIjsgdGhlbiA6CisgIGFjX2N2X2hlYWRlcl9zeXNfdHlwZXNfaF9tYWtlZGV2PXllcworZWxzZQorICBhY19jdl9oZWFkZXJfc3lzX3R5cGVzX2hfbWFrZWRldj1ubworZmkKK3JtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgXAorICAgIGNvbmZ0ZXN0JGFjX2V4ZWV4dCBjb25mdGVzdC4kYWNfZXh0CisKK2ZpCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N2X2hlYWRlcl9zeXNfdHlwZXNfaF9tYWtlZGV2IiA+JjUKKyRhc19lY2hvICIkYWNfY3ZfaGVhZGVyX3N5c190eXBlc19oX21ha2VkZXYiID4mNjsgfQorCitpZiB0ZXN0ICRhY19jdl9oZWFkZXJfc3lzX3R5cGVzX2hfbWFrZWRldiA9IG5vOyB0aGVuCithY19mbl9jX2NoZWNrX2hlYWRlcl9tb25ncmVsICIkTElORU5PIiAic3lzL21rZGV2LmgiICJhY19jdl9oZWFkZXJfc3lzX21rZGV2X2giICIkYWNfaW5jbHVkZXNfZGVmYXVsdCIKK2lmIHRlc3QgIngkYWNfY3ZfaGVhZGVyX3N5c19ta2Rldl9oIiA9IHgiInllczsgdGhlbiA6CisKKyRhc19lY2hvICIjZGVmaW5lIE1BSk9SX0lOX01LREVWIDEiID4+Y29uZmRlZnMuaAorCitmaQorCisKKworICBpZiB0ZXN0ICRhY19jdl9oZWFkZXJfc3lzX21rZGV2X2ggPSBubzsgdGhlbgorICAgIGFjX2ZuX2NfY2hlY2tfaGVhZGVyX21vbmdyZWwgIiRMSU5FTk8iICJzeXMvc3lzbWFjcm9zLmgiICJhY19jdl9oZWFkZXJfc3lzX3N5c21hY3Jvc19oIiAiJGFjX2luY2x1ZGVzX2RlZmF1bHQiCitpZiB0ZXN0ICJ4JGFjX2N2X2hlYWRlcl9zeXNfc3lzbWFjcm9zX2giID0geCIieWVzOyB0aGVuIDoKKworJGFzX2VjaG8gIiNkZWZpbmUgTUFKT1JfSU5fU1lTTUFDUk9TIDEiID4+Y29uZmRlZnMuaAorCitmaQorCisKKyAgZmkKK2ZpCisKK2FjX2ZuX2NfY2hlY2tfdHlwZSAiJExJTkVOTyIgInNpZ19hdG9taWNfdCIgImFjX2N2X3R5cGVfc2lnX2F0b21pY190IiAiI2luY2x1ZGUgPHNpZ25hbC5oPgorIgoraWYgdGVzdCAieCRhY19jdl90eXBlX3NpZ19hdG9taWNfdCIgPSB4IiJ5ZXM7IHRoZW4gOgorCitjYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCisjZGVmaW5lIEhBVkVfU0lHX0FUT01JQ19UIDEKK19BQ0VPRgorCisKK2ZpCithY19mbl9jX2NoZWNrX3R5cGUgIiRMSU5FTk8iICJzaWdpbmZvX3QiICJhY19jdl90eXBlX3NpZ2luZm9fdCIgIiNpbmNsdWRlIDxzaWduYWwuaD4KKyIKK2lmIHRlc3QgIngkYWNfY3ZfdHlwZV9zaWdpbmZvX3QiID0geCIieWVzOyB0aGVuIDoKKworY2F0ID4+Y29uZmRlZnMuaCA8PF9BQ0VPRgorI2RlZmluZSBIQVZFX1NJR0lORk9fVCAxCitfQUNFT0YKKworCitmaQorCithY19mbl9jX2NoZWNrX21lbWJlciAiJExJTkVOTyIgInN0cnVjdCBzb2NrYWRkcl9pbjYiICJzaW42X3Njb3BlX2lkIiAiYWNfY3ZfbWVtYmVyX3N0cnVjdF9zb2NrYWRkcl9pbjZfc2luNl9zY29wZV9pZCIgIiNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CisjaW5jbHVkZSA8bmV0aW5ldC9pbi5oPgorIgoraWYgdGVzdCAieCRhY19jdl9tZW1iZXJfc3RydWN0X3NvY2thZGRyX2luNl9zaW42X3Njb3BlX2lkIiA9IHgiInllczsgdGhlbiA6CisKK2NhdCA+PmNvbmZkZWZzLmggPDxfQUNFT0YKKyNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfSU42X1NJTjZfU0NPUEVfSUQgMQorX0FDRU9GCisKKworZmkKKworYWNfZm5fY19jaGVja190eXBlICIkTElORU5PIiAibG9uZyBsb25nIiAiYWNfY3ZfdHlwZV9sb25nX2xvbmciICIkYWNfaW5jbHVkZXNfZGVmYXVsdCIKK2lmIHRlc3QgIngkYWNfY3ZfdHlwZV9sb25nX2xvbmciID0geCIieWVzOyB0aGVuIDoKKworY2F0ID4+Y29uZmRlZnMuaCA8PF9BQ0VPRgorI2RlZmluZSBIQVZFX0xPTkdfTE9ORyAxCitfQUNFT0YKKworCitmaQorCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBsaXR0bGUgZW5kaWFuIGxvbmcgbG9uZyIgPiY1CiskYXNfZWNob19uICJjaGVja2luZyBmb3IgbGl0dGxlIGVuZGlhbiBsb25nIGxvbmcuLi4gIiA+JjY7IH0KK2lmIHRlc3QgIiR7YWNfY3ZfaGF2ZV9saXR0bGVfZW5kaWFuX2xvbmdfbG9uZytzZXR9IiA9IHNldDsgdGhlbiA6CisgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CitlbHNlCisgIGlmIHRlc3QgIiRjcm9zc19jb21waWxpbmciID0geWVzOyB0aGVuIDoKKyAgIyBTaG91bGQgdHJ5IHRvIGd1ZXNzIGhlcmUKK2FjX2N2X2hhdmVfbGl0dGxlX2VuZGlhbl9sb25nX2xvbmc9bm8KKworZWxzZQorICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0CisvKiBlbmQgY29uZmRlZnMuaC4gICovCisKK2ludCBtYWluICgpIHsKKwl1bmlvbiB7CisJCWxvbmcgbG9uZyBsbDsKKwkJbG9uZyBsIFsyXTsKKwl9IHU7CisJdS5sbCA9IDB4MTIzNDU2Nzg7CisJaWYgKHUubFswXSA9PSAweDEyMzQ1Njc4KQorCQlyZXR1cm4gMDsKKwlyZXR1cm4gMTsKK30KKworX0FDRU9GCitpZiBhY19mbl9jX3RyeV9ydW4gIiRMSU5FTk8iOyB0aGVuIDoKKyAgYWNfY3ZfaGF2ZV9saXR0bGVfZW5kaWFuX2xvbmdfbG9uZz15ZXMKK2Vsc2UKKyAgYWNfY3ZfaGF2ZV9saXR0bGVfZW5kaWFuX2xvbmdfbG9uZz1ubworZmkKK3JtIC1mIGNvcmUgKi5jb3JlIGNvcmUuY29uZnRlc3QuKiBnbW9uLm91dCBiYi5vdXQgY29uZnRlc3QkYWNfZXhlZXh0IFwKKyAgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC5iZWFtIGNvbmZ0ZXN0LiRhY19leHQKK2ZpCisKK2ZpCisKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfY3ZfaGF2ZV9saXR0bGVfZW5kaWFuX2xvbmdfbG9uZyIgPiY1CiskYXNfZWNobyAiJGFjX2N2X2hhdmVfbGl0dGxlX2VuZGlhbl9sb25nX2xvbmciID4mNjsgfQoraWYgdGVzdCAiJGFjX2N2X2hhdmVfbGl0dGxlX2VuZGlhbl9sb25nX2xvbmciID0geWVzCit0aGVuCisKKyRhc19lY2hvICIjZGVmaW5lIEhBVkVfTElUVExFX0VORElBTl9MT05HX0xPTkcgMSIgPj5jb25mZGVmcy5oCisKK2ZpCisKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIGxvbmcgbG9uZyBvZmZfdCIgPiY1CiskYXNfZWNob19uICJjaGVja2luZyBmb3IgbG9uZyBsb25nIG9mZl90Li4uICIgPiY2OyB9CitpZiB0ZXN0ICIke2FjX2N2X2hhdmVfbG9uZ19sb25nX29mZl90K3NldH0iID0gc2V0OyB0aGVuIDoKKyAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKK2Vsc2UKKyAgaWYgdGVzdCAiJGNyb3NzX2NvbXBpbGluZyIgPSB5ZXM7IHRoZW4gOgorICAjIFNob3VsZCB0cnkgdG8gZ3Vlc3MgaGVyZQorYWNfY3ZfaGF2ZV9sb25nX2xvbmdfb2ZmX3Q9bm8KKworZWxzZQorICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0CisvKiBlbmQgY29uZmRlZnMuaC4gICovCisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CittYWluICgpIHsKKwlpZiAoc2l6ZW9mIChvZmZfdCkgPT0gc2l6ZW9mIChsb25nIGxvbmcpICYmCisJICAgIHNpemVvZiAob2ZmX3QpID4gc2l6ZW9mIChsb25nKSkKKwkgICAgcmV0dXJuIDA7CisJcmV0dXJuIDE7Cit9CisKK19BQ0VPRgoraWYgYWNfZm5fY190cnlfcnVuICIkTElORU5PIjsgdGhlbiA6CisgIGFjX2N2X2hhdmVfbG9uZ19sb25nX29mZl90PXllcworZWxzZQorICBhY19jdl9oYXZlX2xvbmdfbG9uZ19vZmZfdD1ubworZmkKK3JtIC1mIGNvcmUgKi5jb3JlIGNvcmUuY29uZnRlc3QuKiBnbW9uLm91dCBiYi5vdXQgY29uZnRlc3QkYWNfZXhlZXh0IFwKKyAgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC5iZWFtIGNvbmZ0ZXN0LiRhY19leHQKK2ZpCisKK2ZpCisKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfY3ZfaGF2ZV9sb25nX2xvbmdfb2ZmX3QiID4mNQorJGFzX2VjaG8gIiRhY19jdl9oYXZlX2xvbmdfbG9uZ19vZmZfdCIgPiY2OyB9CitpZiB0ZXN0ICIkYWNfY3ZfaGF2ZV9sb25nX2xvbmdfb2ZmX3QiID0geWVzCit0aGVuCisKKyRhc19lY2hvICIjZGVmaW5lIEhBVkVfTE9OR19MT05HX09GRl9UIDEiID4+Y29uZmRlZnMuaAorCitmaQorCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBsb25nIGxvbmcgcmxpbV90IiA+JjUKKyRhc19lY2hvX24gImNoZWNraW5nIGZvciBsb25nIGxvbmcgcmxpbV90Li4uICIgPiY2OyB9CitpZiB0ZXN0ICIke2FjX2N2X2hhdmVfbG9uZ19sb25nX3JsaW1fdCtzZXR9IiA9IHNldDsgdGhlbiA6CisgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CitlbHNlCisgIGlmIHRlc3QgIiRjcm9zc19jb21waWxpbmciID0geWVzOyB0aGVuIDoKKyAgIyBTaG91bGQgdHJ5IHRvIGd1ZXNzIGhlcmUKK2FjX2N2X2hhdmVfbG9uZ19sb25nX3JsaW1fdD1ubworCitlbHNlCisgIGNhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKKy8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvdGltZS5oPgorI2luY2x1ZGUgPHN5cy9yZXNvdXJjZS5oPgorbWFpbiAoKSB7CisJaWYgKHNpemVvZiAocmxpbV90KSA9PSBzaXplb2YgKGxvbmcgbG9uZykgJiYKKwkgICAgc2l6ZW9mIChybGltX3QpID4gc2l6ZW9mIChsb25nKSkKKwkgICAgcmV0dXJuIDA7CisJcmV0dXJuIDE7Cit9CisKK19BQ0VPRgoraWYgYWNfZm5fY190cnlfcnVuICIkTElORU5PIjsgdGhlbiA6CisgIGFjX2N2X2hhdmVfbG9uZ19sb25nX3JsaW1fdD15ZXMKK2Vsc2UKKyAgYWNfY3ZfaGF2ZV9sb25nX2xvbmdfcmxpbV90PW5vCitmaQorcm0gLWYgY29yZSAqLmNvcmUgY29yZS5jb25mdGVzdC4qIGdtb24ub3V0IGJiLm91dCBjb25mdGVzdCRhY19leGVleHQgXAorICBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LmJlYW0gY29uZnRlc3QuJGFjX2V4dAorZmkKKworZmkKKworeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRhY19jdl9oYXZlX2xvbmdfbG9uZ19ybGltX3QiID4mNQorJGFzX2VjaG8gIiRhY19jdl9oYXZlX2xvbmdfbG9uZ19ybGltX3QiID4mNjsgfQoraWYgdGVzdCAiJGFjX2N2X2hhdmVfbG9uZ19sb25nX3JsaW1fdCIgPSB5ZXMKK3RoZW4KKworJGFzX2VjaG8gIiNkZWZpbmUgSEFWRV9MT05HX0xPTkdfUkxJTV9UIDEiID4+Y29uZmRlZnMuaAorCitmaQorCithY19mbl9jX2NoZWNrX3R5cGUgIiRMSU5FTk8iICJzdHJ1Y3Qgb3B0aGRyIiAiYWNfY3ZfdHlwZV9zdHJ1Y3Rfb3B0aGRyIiAiI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KKyIKK2lmIHRlc3QgIngkYWNfY3ZfdHlwZV9zdHJ1Y3Rfb3B0aGRyIiA9IHgiInllczsgdGhlbiA6CisKK2NhdCA+PmNvbmZkZWZzLmggPDxfQUNFT0YKKyNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSERSIDEKK19BQ0VPRgorCisKK2ZpCisKK2FjX2ZuX2NfY2hlY2tfdHlwZSAiJExJTkVOTyIgInN0cnVjdCB0X29wdGhkciIgImFjX2N2X3R5cGVfc3RydWN0X3Rfb3B0aGRyIiAiI2luY2x1ZGUgPHN5cy90aXVzZXIuaD4KKyIKK2lmIHRlc3QgIngkYWNfY3ZfdHlwZV9zdHJ1Y3RfdF9vcHRoZHIiID0geCIieWVzOyB0aGVuIDoKKworY2F0ID4+Y29uZmRlZnMuaCA8PF9BQ0VPRgorI2RlZmluZSBIQVZFX1NUUlVDVF9UX09QVEhEUiAxCitfQUNFT0YKKworCitmaQorCisKK2lmIHRlc3QgeCRvcHN5cyAhPSB4bGludXg7IHRoZW4KK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIG1haW4gaW4gLWxuc2wiID4mNQorJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIG1haW4gaW4gLWxuc2wuLi4gIiA+JjY7IH0KK2lmIHRlc3QgIiR7YWNfY3ZfbGliX25zbF9tYWluK3NldH0iID0gc2V0OyB0aGVuIDoKKyAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKK2Vsc2UKKyAgYWNfY2hlY2tfbGliX3NhdmVfTElCUz0kTElCUworTElCUz0iLWxuc2wgICRMSUJTIgorY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAorLyogZW5kIGNvbmZkZWZzLmguICAqLworCisKK2ludAorbWFpbiAoKQoreworcmV0dXJuIG1haW4gKCk7CisgIDsKKyAgcmV0dXJuIDA7Cit9CitfQUNFT0YKK2lmIGFjX2ZuX2NfdHJ5X2xpbmsgIiRMSU5FTk8iOyB0aGVuIDoKKyAgYWNfY3ZfbGliX25zbF9tYWluPXllcworZWxzZQorICBhY19jdl9saWJfbnNsX21haW49bm8KK2ZpCitybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IFwKKyAgICBjb25mdGVzdCRhY19leGVleHQgY29uZnRlc3QuJGFjX2V4dAorTElCUz0kYWNfY2hlY2tfbGliX3NhdmVfTElCUworZmkKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfY3ZfbGliX25zbF9tYWluIiA+JjUKKyRhc19lY2hvICIkYWNfY3ZfbGliX25zbF9tYWluIiA+JjY7IH0KK2lmIHRlc3QgIngkYWNfY3ZfbGliX25zbF9tYWluIiA9IHgiInllczsgdGhlbiA6CisgIGNhdCA+PmNvbmZkZWZzLmggPDxfQUNFT0YKKyNkZWZpbmUgSEFWRV9MSUJOU0wgMQorX0FDRU9GCisKKyAgTElCUz0iLWxuc2wgJExJQlMiCisKK2ZpCisKK2ZpCisKK2ZvciBhY19mdW5jIGluICBcCisJZm9yayBcCisJZ2V0ZGVudHMgXAorCWlmX2luZGV4dG9uYW1lIFwKKwlpbmV0X250b3AgXAorCW1jdGwgXAorCXByY3RsIFwKKwlwcmVhZCBcCisJc2VuZG1zZyBcCisJc2lnYWN0aW9uIFwKKwlzdHJlcnJvciBcCisJc3Ryc2lnbmFsIFwKKwlzeXNfc2lnbGlzdCBcCisJX3N5c19zaWdsaXN0IFwKKworZG8gOgorICBhc19hY192YXI9YCRhc19lY2hvICJhY19jdl9mdW5jXyRhY19mdW5jIiB8ICRhc190cl9zaGAKK2FjX2ZuX2NfY2hlY2tfZnVuYyAiJExJTkVOTyIgIiRhY19mdW5jIiAiJGFzX2FjX3ZhciIKK2V2YWwgYXNfdmFsPVwkJGFzX2FjX3ZhcgorICAgaWYgdGVzdCAieCRhc192YWwiID0geCIieWVzOyB0aGVuIDoKKyAgY2F0ID4+Y29uZmRlZnMuaCA8PF9BQ0VPRgorI2RlZmluZSBgJGFzX2VjaG8gIkhBVkVfJGFjX2Z1bmMiIHwgJGFzX3RyX2NwcGAgMQorX0FDRU9GCisKK2ZpCitkb25lCisKK2ZvciBhY19oZWFkZXIgaW4gIFwKKwlpbnR0eXBlcy5oIFwKKwlpb2N0bHMuaCBcCisJbGliYWlvLmggXAorCW1xdWV1ZS5oIFwKKwlwb2xsLmggXAorCXN0cm9wdHMuaCBcCisJdGVybWlvLmggXAorCXN5cy9hY2wuaCBcCisJc3lzL2Fpby5oIFwKKwlzeXMvYXN5bmNoLmggXAorCXN5cy9jb25mLmggXAorCXN5cy9kb29yLmggXAorCXN5cy9lcG9sbC5oIFwKKwlzeXMvZmlsaW8uaCBcCisJc3lzL2lvY3RsLmggXAorCXN5cy9uc2NzeXMuaCBcCisJc3lzL3BvbGwuaCBcCisJc3lzL3B0cmFjZS5oIFwKKwlzeXMvcmVnLmggXAorCXN5cy9zdHJlYW0uaCBcCisJc3lzL3N5c2NvbmZpZy5oIFwKKwlzeXMvdGloZHIuaCBcCisJc3lzL3RpdXNlci5oIFwKKwlzeXMvdWlvLmggXAorCXN5cy92ZnMuaCBcCisJYXNtL2NhY2hlY3RsLmggXAorCWFzbS9zeXNtaXBzLmggXAorCWxpbnV4L2NhcGFiaWxpdHkuaCBcCisJbGludXgvcHRyYWNlLmggXAorCWxpbnV4L3V0c25hbWUuaCBcCisKK2RvIDoKKyAgYXNfYWNfSGVhZGVyPWAkYXNfZWNobyAiYWNfY3ZfaGVhZGVyXyRhY19oZWFkZXIiIHwgJGFzX3RyX3NoYAorYWNfZm5fY19jaGVja19oZWFkZXJfbW9uZ3JlbCAiJExJTkVOTyIgIiRhY19oZWFkZXIiICIkYXNfYWNfSGVhZGVyIiAiJGFjX2luY2x1ZGVzX2RlZmF1bHQiCitldmFsIGFzX3ZhbD1cJCRhc19hY19IZWFkZXIKKyAgIGlmIHRlc3QgIngkYXNfdmFsIiA9IHgiInllczsgdGhlbiA6CisgIGNhdCA+PmNvbmZkZWZzLmggPDxfQUNFT0YKKyNkZWZpbmUgYCRhc19lY2hvICJIQVZFXyRhY19oZWFkZXIiIHwgJGFzX3RyX2NwcGAgMQorX0FDRU9GCisKK2ZpCisKK2RvbmUKKworZm9yIGFjX2hlYWRlciBpbiBsaW51eC9pY21wLmggbGludXgvaW42LmggbGludXgvbmV0bGluay5oIGxpbnV4L2lmX3BhY2tldC5oCitkbyA6CisgIGFzX2FjX0hlYWRlcj1gJGFzX2VjaG8gImFjX2N2X2hlYWRlcl8kYWNfaGVhZGVyIiB8ICRhc190cl9zaGAKK2FjX2ZuX2NfY2hlY2tfaGVhZGVyX2NvbXBpbGUgIiRMSU5FTk8iICIkYWNfaGVhZGVyIiAiJGFzX2FjX0hlYWRlciIgIiNpbmNsdWRlIDxzdGRkZWYuaD4KKyNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CisjaW5jbHVkZSA8YXNtL3R5cGVzLmg+CisiCitldmFsIGFzX3ZhbD1cJCRhc19hY19IZWFkZXIKKyAgIGlmIHRlc3QgIngkYXNfdmFsIiA9IHgiInllczsgdGhlbiA6CisgIGNhdCA+PmNvbmZkZWZzLmggPDxfQUNFT0YKKyNkZWZpbmUgYCRhc19lY2hvICJIQVZFXyRhY19oZWFkZXIiIHwgJGFzX3RyX2NwcGAgMQorX0FDRU9GCisKK2ZpCisKK2RvbmUKKworZm9yIGFjX2hlYWRlciBpbiBhc20vc2lnY29udGV4dC5oCitkbyA6CisgIGFjX2ZuX2NfY2hlY2tfaGVhZGVyX2NvbXBpbGUgIiRMSU5FTk8iICJhc20vc2lnY29udGV4dC5oIiAiYWNfY3ZfaGVhZGVyX2FzbV9zaWdjb250ZXh0X2giICIjaW5jbHVkZSA8c2lnbmFsLmg+CisiCitpZiB0ZXN0ICJ4JGFjX2N2X2hlYWRlcl9hc21fc2lnY29udGV4dF9oIiA9IHgiInllczsgdGhlbiA6CisgIGNhdCA+PmNvbmZkZWZzLmggPDxfQUNFT0YKKyNkZWZpbmUgSEFWRV9BU01fU0lHQ09OVEVYVF9IIDEKK19BQ0VPRgorCitmaQorCitkb25lCisKK2FjX2ZuX2NfY2hlY2tfdHlwZSAiJExJTkVOTyIgInN0cnVjdCBzaWdjb250ZXh0X3N0cnVjdCIgImFjX2N2X3R5cGVfc3RydWN0X3NpZ2NvbnRleHRfc3RydWN0IiAiI2luY2x1ZGUgPHNpZ25hbC5oPgorIgoraWYgdGVzdCAieCRhY19jdl90eXBlX3N0cnVjdF9zaWdjb250ZXh0X3N0cnVjdCIgPSB4IiJ5ZXM7IHRoZW4gOgorCitjYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCisjZGVmaW5lIEhBVkVfU1RSVUNUX1NJR0NPTlRFWFRfU1RSVUNUIDEKK19BQ0VPRgorCisKK2ZpCithY19mbl9jX2NoZWNrX3R5cGUgIiRMSU5FTk8iICJzdHJ1Y3Qgc2lnY29udGV4dCIgImFjX2N2X3R5cGVfc3RydWN0X3NpZ2NvbnRleHQiICIjaW5jbHVkZSA8c2lnbmFsLmg+CisiCitpZiB0ZXN0ICJ4JGFjX2N2X3R5cGVfc3RydWN0X3NpZ2NvbnRleHQiID0geCIieWVzOyB0aGVuIDoKKworY2F0ID4+Y29uZmRlZnMuaCA8PF9BQ0VPRgorI2RlZmluZSBIQVZFX1NUUlVDVF9TSUdDT05URVhUIDEKK19BQ0VPRgorCisKK2ZpCisKK2ZvciBhY19oZWFkZXIgaW4gbmV0aW5ldC90Y3AuaCBuZXRpbmV0L3VkcC5oCitkbyA6CisgIGFzX2FjX0hlYWRlcj1gJGFzX2VjaG8gImFjX2N2X2hlYWRlcl8kYWNfaGVhZGVyIiB8ICRhc190cl9zaGAKK2FjX2ZuX2NfY2hlY2tfaGVhZGVyX2NvbXBpbGUgIiRMSU5FTk8iICIkYWNfaGVhZGVyIiAiJGFzX2FjX0hlYWRlciIgIiNpbmNsdWRlIDxuZXRpbmV0L2luLmg+CisiCitldmFsIGFzX3ZhbD1cJCRhc19hY19IZWFkZXIKKyAgIGlmIHRlc3QgIngkYXNfdmFsIiA9IHgiInllczsgdGhlbiA6CisgIGNhdCA+PmNvbmZkZWZzLmggPDxfQUNFT0YKKyNkZWZpbmUgYCRhc19lY2hvICJIQVZFXyRhY19oZWFkZXIiIHwgJGFzX3RyX2NwcGAgMQorX0FDRU9GCisKK2ZpCisKK2RvbmUKKworCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBNUCBwcm9jZnMiID4mNQorJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIE1QIHByb2Nmcy4uLiAiID4mNjsgfQoraWYgdGVzdCAiJHthY19jdl9tcF9wcm9jZnMrc2V0fSIgPSBzZXQ7IHRoZW4gOgorICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgorZWxzZQorICBpZiB0ZXN0ICIkY3Jvc3NfY29tcGlsaW5nIiA9IHllczsgdGhlbiA6CisKKyMgR3Vlc3Mgb3IgcHVudC4KK2Nhc2UgIiRob3N0X29zIiBpbgorc3ZyNC4yKnxzdnI1KikKKwlhY19jdl9tcF9wcm9jZnM9eWVzCisJOzsKKyopCisJYWNfY3ZfbXBfcHJvY2ZzPW5vCisJOzsKK2VzYWMKKworZWxzZQorICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0CisvKiBlbmQgY29uZmRlZnMuaC4gICovCisKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHNpZ25hbC5oPgorI2luY2x1ZGUgPHN5cy9wcm9jZnMuaD4KKworbWFpbigpCit7CisJaW50IHBpZDsKKwljaGFyIHByb2NbMzJdOworCUZJTEUgKmN0bDsKKwlGSUxFICpzdGF0dXM7CisJaW50IGNtZDsKKwlzdHJ1Y3QgcHN0YXR1cyBwc3RhdHVzOworCisJaWYgKChwaWQgPSBmb3JrKCkpID09IDApIHsKKwkJcGF1c2UoKTsKKwkJZXhpdCgwKTsKKwl9CisJc3ByaW50Zihwcm9jLCAiL3Byb2MvJWQvY3RsIiwgcGlkKTsKKwlpZiAoKGN0bCA9IGZvcGVuKHByb2MsICJ3IikpID09IE5VTEwpCisJCWdvdG8gZmFpbDsKKwlzcHJpbnRmKHByb2MsICIvcHJvYy8lZC9zdGF0dXMiLCBwaWQpOworCWlmICgoc3RhdHVzID0gZm9wZW4gKHByb2MsICJyIikpID09IE5VTEwpCisJCWdvdG8gZmFpbDsKKwljbWQgPSBQQ1NUT1A7CisJaWYgKHdyaXRlIChmaWxlbm8gKGN0bCksICZjbWQsIHNpemVvZiBjbWQpIDwgMCkKKwkJZ290byBmYWlsOworCWlmIChyZWFkIChmaWxlbm8gKHN0YXR1cyksICZwc3RhdHVzLCBzaXplb2YgcHN0YXR1cykgPCAwKQorCQlnb3RvIGZhaWw7CisJa2lsbChwaWQsIFNJR0tJTEwpOworCWV4aXQoMCk7CitmYWlsOgorCWtpbGwocGlkLCBTSUdLSUxMKTsKKwlleGl0KDEpOworfQorCitfQUNFT0YKK2lmIGFjX2ZuX2NfdHJ5X3J1biAiJExJTkVOTyI7IHRoZW4gOgorICBhY19jdl9tcF9wcm9jZnM9eWVzCitlbHNlCisgIGFjX2N2X21wX3Byb2Nmcz1ubworZmkKK3JtIC1mIGNvcmUgKi5jb3JlIGNvcmUuY29uZnRlc3QuKiBnbW9uLm91dCBiYi5vdXQgY29uZnRlc3QkYWNfZXhlZXh0IFwKKyAgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC5iZWFtIGNvbmZ0ZXN0LiRhY19leHQKK2ZpCisKK2ZpCisKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfY3ZfbXBfcHJvY2ZzIiA+JjUKKyRhc19lY2hvICIkYWNfY3ZfbXBfcHJvY2ZzIiA+JjY7IH0KK2lmIHRlc3QgIiRhY19jdl9tcF9wcm9jZnMiID0geWVzCit0aGVuCisKKyRhc19lY2hvICIjZGVmaW5lIEhBVkVfTVBfUFJPQ0ZTIDEiID4+Y29uZmRlZnMuaAorCitmaQorCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBwb2xsYWJsZSBwcm9jZnMiID4mNQorJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIHBvbGxhYmxlIHByb2Nmcy4uLiAiID4mNjsgfQoraWYgdGVzdCAiJHthY19jdl9wb2xsYWJsZV9wcm9jZnMrc2V0fSIgPSBzZXQ7IHRoZW4gOgorICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgorZWxzZQorICBpZiB0ZXN0ICIkY3Jvc3NfY29tcGlsaW5nIiA9IHllczsgdGhlbiA6CisKKyMgR3Vlc3Mgb3IgcHVudC4KK2Nhc2UgIiRob3N0X29zIiBpbgorc29sYXJpczIqfGlyaXg1KnxzdnI0LjJ1dyp8c3ZyNSopCisJYWNfY3ZfcG9sbGFibGVfcHJvY2ZzPXllcworCTs7CisqKQorCWFjX2N2X3BvbGxhYmxlX3Byb2Nmcz1ubworCTs7Citlc2FjCisKK2Vsc2UKKyAgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAorLyogZW5kIGNvbmZkZWZzLmguICAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzaWduYWwuaD4KKyNpbmNsdWRlIDxzeXMvcHJvY2ZzLmg+CisjaW5jbHVkZSA8c3lzL3N0cm9wdHMuaD4KKyNpbmNsdWRlIDxwb2xsLmg+CisKKyNpZmRlZiBIQVZFX01QX1BST0NGUworI2RlZmluZSBQSU9DU1RPUAlQQ1NUT1AKKyNkZWZpbmUgUE9MTFdBTlQJUE9MTFdSTk9STQorI2RlZmluZSBQUk9DCQkiL3Byb2MvJWQvY3RsIgorI2RlZmluZSBQUk9DX01PREUJInciCitpbnQgSU9DVEwgKGludCBmZCwgaW50IGNtZCwgaW50IGFyZykgeworCXJldHVybiB3cml0ZSAoZmQsICZjbWQsIHNpemVvZiBjbWQpOworfQorI2Vsc2UKKyNkZWZpbmUgUE9MTFdBTlQJUE9MTFBSSQorI2RlZmluZQlQUk9DCQkiL3Byb2MvJWQiCisjZGVmaW5lIFBST0NfTU9ERQkicisiCisjZGVmaW5lIElPQ1RMCQlpb2N0bAorI2VuZGlmCisKK21haW4oKQoreworCWludCBwaWQ7CisJY2hhciBwcm9jWzMyXTsKKwlGSUxFICpwZnA7CisJc3RydWN0IHBvbGxmZCBwZmQ7CisKKwlpZiAoKHBpZCA9IGZvcmsoKSkgPT0gMCkgeworCQlwYXVzZSgpOworCQlleGl0KDApOworCX0KKwlzcHJpbnRmKHByb2MsIFBST0MsIHBpZCk7CisJaWYgKChwZnAgPSBmb3Blbihwcm9jLCBQUk9DX01PREUpKSA9PSBOVUxMKQorCQlnb3RvIGZhaWw7CisJaWYgKElPQ1RMKGZpbGVubyhwZnApLCBQSU9DU1RPUCwgTlVMTCkgPCAwKQorCQlnb3RvIGZhaWw7CisJcGZkLmZkID0gZmlsZW5vKHBmcCk7CisJcGZkLmV2ZW50cyA9IFBPTExXQU5UOworCWlmIChwb2xsKCZwZmQsIDEsIDApIDwgMCkKKwkJZ290byBmYWlsOworCWlmICghKHBmZC5yZXZlbnRzICYgUE9MTFdBTlQpKQorCQlnb3RvIGZhaWw7CisJa2lsbChwaWQsIFNJR0tJTEwpOworCWV4aXQoMCk7CitmYWlsOgorCWtpbGwocGlkLCBTSUdLSUxMKTsKKwlleGl0KDEpOworfQorCitfQUNFT0YKK2lmIGFjX2ZuX2NfdHJ5X3J1biAiJExJTkVOTyI7IHRoZW4gOgorICBhY19jdl9wb2xsYWJsZV9wcm9jZnM9eWVzCitlbHNlCisgIGFjX2N2X3BvbGxhYmxlX3Byb2Nmcz1ubworZmkKK3JtIC1mIGNvcmUgKi5jb3JlIGNvcmUuY29uZnRlc3QuKiBnbW9uLm91dCBiYi5vdXQgY29uZnRlc3QkYWNfZXhlZXh0IFwKKyAgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC5iZWFtIGNvbmZ0ZXN0LiRhY19leHQKK2ZpCisKK2ZpCisKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfY3ZfcG9sbGFibGVfcHJvY2ZzIiA+JjUKKyRhc19lY2hvICIkYWNfY3ZfcG9sbGFibGVfcHJvY2ZzIiA+JjY7IH0KK2lmIHRlc3QgIiRhY19jdl9wb2xsYWJsZV9wcm9jZnMiID0geWVzCit0aGVuCisKKyRhc19lY2hvICIjZGVmaW5lIEhBVkVfUE9MTEFCTEVfUFJPQ0ZTIDEiID4+Y29uZmRlZnMuaAorCitmaQorCisKK2FjX2ZuX2NfY2hlY2tfbWVtYmVyICIkTElORU5PIiAic3RydWN0IG1zZ2hkciIgIm1zZ19jb250cm9sIiAiYWNfY3ZfbWVtYmVyX3N0cnVjdF9tc2doZHJfbXNnX2NvbnRyb2wiICIjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgorIgoraWYgdGVzdCAieCRhY19jdl9tZW1iZXJfc3RydWN0X21zZ2hkcl9tc2dfY29udHJvbCIgPSB4IiJ5ZXM7IHRoZW4gOgorCitjYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCisjZGVmaW5lIEhBVkVfU1RSVUNUX01TR0hEUl9NU0dfQ09OVFJPTCAxCitfQUNFT0YKKworCitmaQorCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBwcl9zeXNjYWxsIGluIHN0cnVjdCBwcnN0YXR1cyIgPiY1CiskYXNfZWNob19uICJjaGVja2luZyBmb3IgcHJfc3lzY2FsbCBpbiBzdHJ1Y3QgcHJzdGF0dXMuLi4gIiA+JjY7IH0KK2lmIHRlc3QgIiR7YWNfY3Zfc3RydWN0X3ByX3N5c2NhbGwrc2V0fSIgPSBzZXQ7IHRoZW4gOgorICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgorZWxzZQorICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0CisvKiBlbmQgY29uZmRlZnMuaC4gICovCisjaW5jbHVkZSA8c3lzL3Byb2Nmcy5oPgoraW50CittYWluICgpCit7CisjaWZkZWYgSEFWRV9NUF9QUk9DRlMKK3BzdGF0dXNfdCBzOworcy5wcl9sd3AucHJfc3lzY2FsbAorI2Vsc2UKK3Byc3RhdHVzX3QgczsKK3MucHJfc3lzY2FsbAorI2VuZGlmCisgIDsKKyAgcmV0dXJuIDA7Cit9CitfQUNFT0YKK2lmIGFjX2ZuX2NfdHJ5X2NvbXBpbGUgIiRMSU5FTk8iOyB0aGVuIDoKKyAgYWNfY3Zfc3RydWN0X3ByX3N5c2NhbGw9eWVzCitlbHNlCisgIGFjX2N2X3N0cnVjdF9wcl9zeXNjYWxsPW5vCitmaQorcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC4kYWNfZXh0CitmaQorCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N2X3N0cnVjdF9wcl9zeXNjYWxsIiA+JjUKKyRhc19lY2hvICIkYWNfY3Zfc3RydWN0X3ByX3N5c2NhbGwiID4mNjsgfQoraWYgdGVzdCAiJGFjX2N2X3N0cnVjdF9wcl9zeXNjYWxsIiA9IHllcwordGhlbgorCiskYXNfZWNobyAiI2RlZmluZSBIQVZFX1BSX1NZU0NBTEwgMSIgPj5jb25mZGVmcy5oCisKK2ZpCisKKworYWNfZm5fY19jaGVja19tZW1iZXIgIiRMSU5FTk8iICJzdHJ1Y3QgVF9jb25uX3JlcyIgIlFVRVVFX3B0ciIgImFjX2N2X21lbWJlcl9zdHJ1Y3RfVF9jb25uX3Jlc19RVUVVRV9wdHIiICIjaW5jbHVkZSA8c3lzL3N0cmVhbS5oPgorI2luY2x1ZGUgPHN5cy90aWhkci5oPgorIgoraWYgdGVzdCAieCRhY19jdl9tZW1iZXJfc3RydWN0X1RfY29ubl9yZXNfUVVFVUVfcHRyIiA9IHgiInllczsgdGhlbiA6CisKK2NhdCA+PmNvbmZkZWZzLmggPDxfQUNFT0YKKyNkZWZpbmUgSEFWRV9TVFJVQ1RfVF9DT05OX1JFU19RVUVVRV9QVFIgMQorX0FDRU9GCisKKworZmkKK2FjX2ZuX2NfY2hlY2tfbWVtYmVyICIkTElORU5PIiAic3RydWN0IFRfY29ubl9yZXMiICJBQ0NFUFRPUl9pZCIgImFjX2N2X21lbWJlcl9zdHJ1Y3RfVF9jb25uX3Jlc19BQ0NFUFRPUl9pZCIgIiNpbmNsdWRlIDxzeXMvc3RyZWFtLmg+CisjaW5jbHVkZSA8c3lzL3RpaGRyLmg+CisiCitpZiB0ZXN0ICJ4JGFjX2N2X21lbWJlcl9zdHJ1Y3RfVF9jb25uX3Jlc19BQ0NFUFRPUl9pZCIgPSB4IiJ5ZXM7IHRoZW4gOgorCitjYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCisjZGVmaW5lIEhBVkVfU1RSVUNUX1RfQ09OTl9SRVNfQUNDRVBUT1JfSUQgMQorX0FDRU9GCisKKworZmkKKworCithY19mbl9jX2NoZWNrX3R5cGUgIiRMSU5FTk8iICJzdHJ1Y3QgX19vbGRfa2VybmVsX3N0YXQiICJhY19jdl90eXBlX3N0cnVjdF9fX29sZF9rZXJuZWxfc3RhdCIgIiNpbmNsdWRlIDxhc20vc3RhdC5oPgorIgoraWYgdGVzdCAieCRhY19jdl90eXBlX3N0cnVjdF9fX29sZF9rZXJuZWxfc3RhdCIgPSB4IiJ5ZXM7IHRoZW4gOgorCitjYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCisjZGVmaW5lIEhBVkVfU1RSVUNUX19fT0xEX0tFUk5FTF9TVEFUIDEKK19BQ0VPRgorCisKK2ZpCisKKworYWNfZm5fY19jaGVja190eXBlICIkTElORU5PIiAic3RydWN0IHB0X2FsbF91c2VyX3JlZ3MiICJhY19jdl90eXBlX3N0cnVjdF9wdF9hbGxfdXNlcl9yZWdzIiAiI2luY2x1ZGUgPHN5cy9wdHJhY2UuaD4KKyIKK2lmIHRlc3QgIngkYWNfY3ZfdHlwZV9zdHJ1Y3RfcHRfYWxsX3VzZXJfcmVncyIgPSB4IiJ5ZXM7IHRoZW4gOgorCitjYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCisjZGVmaW5lIEhBVkVfU1RSVUNUX1BUX0FMTF9VU0VSX1JFR1MgMQorX0FDRU9GCisKKworZmkKK2FjX2ZuX2NfY2hlY2tfdHlwZSAiJExJTkVOTyIgInN0cnVjdCBpYTY0X2ZwcmVnIiAiYWNfY3ZfdHlwZV9zdHJ1Y3RfaWE2NF9mcHJlZyIgIiNpbmNsdWRlIDxzeXMvcHRyYWNlLmg+CisiCitpZiB0ZXN0ICJ4JGFjX2N2X3R5cGVfc3RydWN0X2lhNjRfZnByZWciID0geCIieWVzOyB0aGVuIDoKKworY2F0ID4+Y29uZmRlZnMuaCA8PF9BQ0VPRgorI2RlZmluZSBIQVZFX1NUUlVDVF9JQTY0X0ZQUkVHIDEKK19BQ0VPRgorCisKK2ZpCisKKworYWNfZm5fY19jaGVja190eXBlICIkTElORU5PIiAic3RydWN0IHVzZXJfZGVzYyIgImFjX2N2X3R5cGVfc3RydWN0X3VzZXJfZGVzYyIgIiNpbmNsdWRlIDxhc20vbGR0Lmg+CisiCitpZiB0ZXN0ICJ4JGFjX2N2X3R5cGVfc3RydWN0X3VzZXJfZGVzYyIgPSB4IiJ5ZXM7IHRoZW4gOgorCitjYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCisjZGVmaW5lIEhBVkVfU1RSVUNUX1VTRVJfREVTQyAxCitfQUNFT0YKKworCitmaQorCisKK2FjX2ZuX2NfY2hlY2tfbWVtYmVyICIkTElORU5PIiAic3RydWN0IGRxYmxrIiAiZHFiX2N1cmJsb2NrcyIgImFjX2N2X21lbWJlcl9zdHJ1Y3RfZHFibGtfZHFiX2N1cmJsb2NrcyIgIiNpbmNsdWRlIDxzeXMvcXVvdGEuaD4KKyIKK2lmIHRlc3QgIngkYWNfY3ZfbWVtYmVyX3N0cnVjdF9kcWJsa19kcWJfY3VyYmxvY2tzIiA9IHgiInllczsgdGhlbiA6CisKK2NhdCA+PmNvbmZkZWZzLmggPDxfQUNFT0YKKyNkZWZpbmUgSEFWRV9TVFJVQ1RfRFFCTEtfRFFCX0NVUkJMT0NLUyAxCitfQUNFT0YKKworCitmaQorCisKK2FjX2ZuX2NfY2hlY2tfbWVtYmVyICIkTElORU5PIiAic3RydWN0IHNpZ2NvbnRleHQiICJzY19oaTIiICJhY19jdl9tZW1iZXJfc3RydWN0X3NpZ2NvbnRleHRfc2NfaGkyIiAiI2luY2x1ZGUgPHNpZ25hbC5oPgorI2lmZGVmIEhBVkVfQVNNX1NJR0NPTlRFWFRfSAorIyBpbmNsdWRlIDxhc20vc2lnY29udGV4dC5oPgorI2VuZGlmCisiCitpZiB0ZXN0ICJ4JGFjX2N2X21lbWJlcl9zdHJ1Y3Rfc2lnY29udGV4dF9zY19oaTIiID0geCIieWVzOyB0aGVuIDoKKworY2F0ID4+Y29uZmRlZnMuaCA8PF9BQ0VPRgorI2RlZmluZSBIQVZFX1NUUlVDVF9TSUdDT05URVhUX1NDX0hJMiAxCitfQUNFT0YKKworCitmaQorCisKKworYWNfZm5fY19jaGVja19kZWNsICIkTElORU5PIiAic3lzX2Vycmxpc3QiICJhY19jdl9oYXZlX2RlY2xfc3lzX2Vycmxpc3QiICIkYWNfaW5jbHVkZXNfZGVmYXVsdCIKK2lmIHRlc3QgIngkYWNfY3ZfaGF2ZV9kZWNsX3N5c19lcnJsaXN0IiA9IHgiInllczsgdGhlbiA6CisgIGFjX2hhdmVfZGVjbD0xCitlbHNlCisgIGFjX2hhdmVfZGVjbD0wCitmaQorCitjYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCisjZGVmaW5lIEhBVkVfREVDTF9TWVNfRVJSTElTVCAkYWNfaGF2ZV9kZWNsCitfQUNFT0YKKworYWNfZm5fY19jaGVja19kZWNsICIkTElORU5PIiAic3lzX3NpZ2xpc3QiICJhY19jdl9oYXZlX2RlY2xfc3lzX3NpZ2xpc3QiICIjaW5jbHVkZSA8c2lnbmFsLmg+CisiCitpZiB0ZXN0ICJ4JGFjX2N2X2hhdmVfZGVjbF9zeXNfc2lnbGlzdCIgPSB4IiJ5ZXM7IHRoZW4gOgorICBhY19oYXZlX2RlY2w9MQorZWxzZQorICBhY19oYXZlX2RlY2w9MAorZmkKKworY2F0ID4+Y29uZmRlZnMuaCA8PF9BQ0VPRgorI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgJGFjX2hhdmVfZGVjbAorX0FDRU9GCithY19mbl9jX2NoZWNrX2RlY2wgIiRMSU5FTk8iICJfc3lzX3NpZ2xpc3QiICJhY19jdl9oYXZlX2RlY2xfX3N5c19zaWdsaXN0IiAiI2luY2x1ZGUgPHNpZ25hbC5oPgorIgoraWYgdGVzdCAieCRhY19jdl9oYXZlX2RlY2xfX3N5c19zaWdsaXN0IiA9IHgiInllczsgdGhlbiA6CisgIGFjX2hhdmVfZGVjbD0xCitlbHNlCisgIGFjX2hhdmVfZGVjbD0wCitmaQorCitjYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCisjZGVmaW5lIEhBVkVfREVDTF9fU1lTX1NJR0xJU1QgJGFjX2hhdmVfZGVjbAorX0FDRU9GCisKKworIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICJwZXJsIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KK3NldCBkdW1teSBwZXJsOyBhY193b3JkPSQyCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CiskYXNfZWNob19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gIiA+JjY7IH0KK2lmIHRlc3QgIiR7YWNfY3ZfcGF0aF9QRVJMK3NldH0iID0gc2V0OyB0aGVuIDoKKyAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKK2Vsc2UKKyAgY2FzZSAkUEVSTCBpbgorICBbXFwvXSogfCA/OltcXC9dKikKKyAgYWNfY3ZfcGF0aF9QRVJMPSIkUEVSTCIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3Qgd2l0aCBhIHBhdGguCisgIDs7CisgICopCisgIGFzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKK2ZvciBhc19kaXIgaW4gJFBBVEgKK2RvCisgIElGUz0kYXNfc2F2ZV9JRlMKKyAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KKyAgICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KKyAgaWYgeyB0ZXN0IC1mICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiAmJiAkYXNfdGVzdF94ICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgfTsgdGhlbgorICAgIGFjX2N2X3BhdGhfUEVSTD0iJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIKKyAgICAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKKyAgICBicmVhayAyCisgIGZpCitkb25lCisgIGRvbmUKK0lGUz0kYXNfc2F2ZV9JRlMKKworICA7OworZXNhYworZmkKK1BFUkw9JGFjX2N2X3BhdGhfUEVSTAoraWYgdGVzdCAtbiAiJFBFUkwiOyB0aGVuCisgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkUEVSTCIgPiY1CiskYXNfZWNobyAiJFBFUkwiID4mNjsgfQorZWxzZQorICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogbm8iID4mNQorJGFzX2VjaG8gIm5vIiA+JjY7IH0KK2ZpCisKKworCithY19jb25maWdfZmlsZXM9IiRhY19jb25maWdfZmlsZXMgTWFrZWZpbGUiCisKK2NhdCA+Y29uZmNhY2hlIDw8XF9BQ0VPRgorIyBUaGlzIGZpbGUgaXMgYSBzaGVsbCBzY3JpcHQgdGhhdCBjYWNoZXMgdGhlIHJlc3VsdHMgb2YgY29uZmlndXJlCisjIHRlc3RzIHJ1biBvbiB0aGlzIHN5c3RlbSBzbyB0aGV5IGNhbiBiZSBzaGFyZWQgYmV0d2VlbiBjb25maWd1cmUKKyMgc2NyaXB0cyBhbmQgY29uZmlndXJlIHJ1bnMsIHNlZSBjb25maWd1cmUncyBvcHRpb24gLS1jb25maWctY2FjaGUuCisjIEl0IGlzIG5vdCB1c2VmdWwgb24gb3RoZXIgc3lzdGVtcy4gIElmIGl0IGNvbnRhaW5zIHJlc3VsdHMgeW91IGRvbid0CisjIHdhbnQgdG8ga2VlcCwgeW91IG1heSByZW1vdmUgb3IgZWRpdCBpdC4KKyMKKyMgY29uZmlnLnN0YXR1cyBvbmx5IHBheXMgYXR0ZW50aW9uIHRvIHRoZSBjYWNoZSBmaWxlIGlmIHlvdSBnaXZlIGl0CisjIHRoZSAtLXJlY2hlY2sgb3B0aW9uIHRvIHJlcnVuIGNvbmZpZ3VyZS4KKyMKKyMgYGFjX2N2X2Vudl9mb28nIHZhcmlhYmxlcyAoc2V0IG9yIHVuc2V0KSB3aWxsIGJlIG92ZXJyaWRkZW4gd2hlbgorIyBsb2FkaW5nIHRoaXMgZmlsZSwgb3RoZXIgKnVuc2V0KiBgYWNfY3ZfZm9vJyB3aWxsIGJlIGFzc2lnbmVkIHRoZQorIyBmb2xsb3dpbmcgdmFsdWVzLgorCitfQUNFT0YKKworIyBUaGUgZm9sbG93aW5nIHdheSBvZiB3cml0aW5nIHRoZSBjYWNoZSBtaXNoYW5kbGVzIG5ld2xpbmVzIGluIHZhbHVlcywKKyMgYnV0IHdlIGtub3cgb2Ygbm8gd29ya2Fyb3VuZCB0aGF0IGlzIHNpbXBsZSwgcG9ydGFibGUsIGFuZCBlZmZpY2llbnQuCisjIFNvLCB3ZSBraWxsIHZhcmlhYmxlcyBjb250YWluaW5nIG5ld2xpbmVzLgorIyBVbHRyaXggc2ggc2V0IHdyaXRlcyB0byBzdGRlcnIgYW5kIGNhbid0IGJlIHJlZGlyZWN0ZWQgZGlyZWN0bHksCisjIGFuZCBzZXRzIHRoZSBoaWdoIGJpdCBpbiB0aGUgY2FjaGUgZmlsZSB1bmxlc3Mgd2UgYXNzaWduIHRvIHRoZSB2YXJzLgorKAorICBmb3IgYWNfdmFyIGluIGAoc2V0KSAyPiYxIHwgc2VkIC1uICdzL15cKFthLXpBLVpfXVthLXpBLVowLTlfXSpcKT0uKi9cMS9wJ2A7IGRvCisgICAgZXZhbCBhY192YWw9XCQkYWNfdmFyCisgICAgY2FzZSAkYWNfdmFsIGluICMoCisgICAgKiR7YXNfbmx9KikKKyAgICAgIGNhc2UgJGFjX3ZhciBpbiAjKAorICAgICAgKl9jdl8qKSB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IFdBUk5JTkc6IGNhY2hlIHZhcmlhYmxlICRhY192YXIgY29udGFpbnMgYSBuZXdsaW5lIiA+JjUKKyRhc19lY2hvICIkYXNfbWU6IFdBUk5JTkc6IGNhY2hlIHZhcmlhYmxlICRhY192YXIgY29udGFpbnMgYSBuZXdsaW5lIiA+JjI7fSA7OworICAgICAgZXNhYworICAgICAgY2FzZSAkYWNfdmFyIGluICMoCisgICAgICBfIHwgSUZTIHwgYXNfbmwpIDs7ICMoCisgICAgICBCQVNIX0FSR1YgfCBCQVNIX1NPVVJDRSkgZXZhbCAkYWNfdmFyPSA7OyAjKAorICAgICAgKikgeyBldmFsICRhY192YXI9OyB1bnNldCAkYWNfdmFyO30gOzsKKyAgICAgIGVzYWMgOzsKKyAgICBlc2FjCisgIGRvbmUKKworICAoc2V0KSAyPiYxIHwKKyAgICBjYXNlICRhc19ubGAoYWNfc3BhY2U9JyAnOyBzZXQpIDI+JjFgIGluICMoCisgICAgKiR7YXNfbmx9YWNfc3BhY2U9XCAqKQorICAgICAgIyBgc2V0JyBkb2VzIG5vdCBxdW90ZSBjb3JyZWN0bHksIHNvIGFkZCBxdW90ZXM6IGRvdWJsZS1xdW90ZQorICAgICAgIyBzdWJzdGl0dXRpb24gdHVybnMgXFxcXCBpbnRvIFxcLCBhbmQgc2VkIHR1cm5zIFxcIGludG8gXC4KKyAgICAgIHNlZCAtbiBcCisJInMvJy8nXFxcXCcnL2c7CisJICBzL15cXChbXyRhc19jcl9hbG51bV0qX2N2X1tfJGFzX2NyX2FsbnVtXSpcXCk9XFwoLipcXCkvXFwxPSdcXDInL3AiCisgICAgICA7OyAjKAorICAgICopCisgICAgICAjIGBzZXQnIHF1b3RlcyBjb3JyZWN0bHkgYXMgcmVxdWlyZWQgYnkgUE9TSVgsIHNvIGRvIG5vdCBhZGQgcXVvdGVzLgorICAgICAgc2VkIC1uICIvXltfJGFzX2NyX2FsbnVtXSpfY3ZfW18kYXNfY3JfYWxudW1dKj0vcCIKKyAgICAgIDs7CisgICAgZXNhYyB8CisgICAgc29ydAorKSB8CisgIHNlZCAnCisgICAgIC9eYWNfY3ZfZW52Xy9iIGVuZAorICAgICB0IGNsZWFyCisgICAgIDpjbGVhcgorICAgICBzL15cKFtePV0qXCk9XCguKlt7fV0uKlwpJC90ZXN0ICIke1wxK3NldH0iID0gc2V0IHx8ICYvCisgICAgIHQgZW5kCisgICAgIHMvXlwoW149XSpcKT1cKC4qXCkkL1wxPSR7XDE9XDJ9LworICAgICA6ZW5kJyA+PmNvbmZjYWNoZQoraWYgZGlmZiAiJGNhY2hlX2ZpbGUiIGNvbmZjYWNoZSA+L2Rldi9udWxsIDI+JjE7IHRoZW4gOjsgZWxzZQorICBpZiB0ZXN0IC13ICIkY2FjaGVfZmlsZSI7IHRoZW4KKyAgICB0ZXN0ICJ4JGNhY2hlX2ZpbGUiICE9ICJ4L2Rldi9udWxsIiAmJgorICAgICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiB1cGRhdGluZyBjYWNoZSAkY2FjaGVfZmlsZSIgPiY1CiskYXNfZWNobyAiJGFzX21lOiB1cGRhdGluZyBjYWNoZSAkY2FjaGVfZmlsZSIgPiY2O30KKyAgICBjYXQgY29uZmNhY2hlID4kY2FjaGVfZmlsZQorICBlbHNlCisgICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBub3QgdXBkYXRpbmcgdW53cml0YWJsZSBjYWNoZSAkY2FjaGVfZmlsZSIgPiY1CiskYXNfZWNobyAiJGFzX21lOiBub3QgdXBkYXRpbmcgdW53cml0YWJsZSBjYWNoZSAkY2FjaGVfZmlsZSIgPiY2O30KKyAgZmkKK2ZpCitybSAtZiBjb25mY2FjaGUKKwordGVzdCAieCRwcmVmaXgiID0geE5PTkUgJiYgcHJlZml4PSRhY19kZWZhdWx0X3ByZWZpeAorIyBMZXQgbWFrZSBleHBhbmQgZXhlY19wcmVmaXguCit0ZXN0ICJ4JGV4ZWNfcHJlZml4IiA9IHhOT05FICYmIGV4ZWNfcHJlZml4PScke3ByZWZpeH0nCisKK0RFRlM9LURIQVZFX0NPTkZJR19ICisKK2FjX2xpYm9ianM9CithY19sdGxpYm9ianM9Citmb3IgYWNfaSBpbiA6ICRMSUJPQkpTOyBkbyB0ZXN0ICJ4JGFjX2kiID0geDogJiYgY29udGludWUKKyAgIyAxLiBSZW1vdmUgdGhlIGV4dGVuc2lvbiwgYW5kICRVIGlmIGFscmVhZHkgaW5zdGFsbGVkLgorICBhY19zY3JpcHQ9J3MvXCRVXC4vLi87cy9cLm8kLy87cy9cLm9iaiQvLycKKyAgYWNfaT1gJGFzX2VjaG8gIiRhY19pIiB8IHNlZCAiJGFjX3NjcmlwdCJgCisgICMgMi4gUHJlcGVuZCBMSUJPQkpESVIuICBXaGVuIHVzZWQgd2l0aCBhdXRvbWFrZT49MS4xMCBMSUJPQkpESVIKKyAgIyAgICB3aWxsIGJlIHNldCB0byB0aGUgZGlyZWN0b3J5IHdoZXJlIExJQk9CSlMgb2JqZWN0cyBhcmUgYnVpbHQuCisgIGFzX2ZuX2FwcGVuZCBhY19saWJvYmpzICIgXCR7TElCT0JKRElSfSRhY19pXCRVLiRhY19vYmpleHQiCisgIGFzX2ZuX2FwcGVuZCBhY19sdGxpYm9ianMgIiBcJHtMSUJPQkpESVJ9JGFjX2kiJyRVLmxvJworZG9uZQorTElCT0JKUz0kYWNfbGlib2JqcworCitMVExJQk9CSlM9JGFjX2x0bGlib2JqcworCisKKyBpZiB0ZXN0IC1uICIkRVhFRVhUIjsgdGhlbgorICBhbV9fRVhFRVhUX1RSVUU9CisgIGFtX19FWEVFWFRfRkFMU0U9JyMnCitlbHNlCisgIGFtX19FWEVFWFRfVFJVRT0nIycKKyAgYW1fX0VYRUVYVF9GQUxTRT0KK2ZpCisKK2lmIHRlc3QgLXogIiR7TUFJTlRBSU5FUl9NT0RFX1RSVUV9IiAmJiB0ZXN0IC16ICIke01BSU5UQUlORVJfTU9ERV9GQUxTRX0iOyB0aGVuCisgIGFzX2ZuX2Vycm9yICJjb25kaXRpb25hbCBcIk1BSU5UQUlORVJfTU9ERVwiIHdhcyBuZXZlciBkZWZpbmVkLgorVXN1YWxseSB0aGlzIG1lYW5zIHRoZSBtYWNybyB3YXMgb25seSBpbnZva2VkIGNvbmRpdGlvbmFsbHkuIiAiJExJTkVOTyIgNQorZmkKK2lmIHRlc3QgLXogIiR7TElOVVhfVFJVRX0iICYmIHRlc3QgLXogIiR7TElOVVhfRkFMU0V9IjsgdGhlbgorICBhc19mbl9lcnJvciAiY29uZGl0aW9uYWwgXCJMSU5VWFwiIHdhcyBuZXZlciBkZWZpbmVkLgorVXN1YWxseSB0aGlzIG1lYW5zIHRoZSBtYWNybyB3YXMgb25seSBpbnZva2VkIGNvbmRpdGlvbmFsbHkuIiAiJExJTkVOTyIgNQorZmkKK2lmIHRlc3QgLXogIiR7STM4Nl9UUlVFfSIgJiYgdGVzdCAteiAiJHtJMzg2X0ZBTFNFfSI7IHRoZW4KKyAgYXNfZm5fZXJyb3IgImNvbmRpdGlvbmFsIFwiSTM4NlwiIHdhcyBuZXZlciBkZWZpbmVkLgorVXN1YWxseSB0aGlzIG1lYW5zIHRoZSBtYWNybyB3YXMgb25seSBpbnZva2VkIGNvbmRpdGlvbmFsbHkuIiAiJExJTkVOTyIgNQorZmkKK2lmIHRlc3QgLXogIiR7WDg2XzY0X1RSVUV9IiAmJiB0ZXN0IC16ICIke1g4Nl82NF9GQUxTRX0iOyB0aGVuCisgIGFzX2ZuX2Vycm9yICJjb25kaXRpb25hbCBcIlg4Nl82NFwiIHdhcyBuZXZlciBkZWZpbmVkLgorVXN1YWxseSB0aGlzIG1lYW5zIHRoZSBtYWNybyB3YXMgb25seSBpbnZva2VkIGNvbmRpdGlvbmFsbHkuIiAiJExJTkVOTyIgNQorZmkKK2lmIHRlc3QgLXogIiR7U1VOT1M0X1RSVUV9IiAmJiB0ZXN0IC16ICIke1NVTk9TNF9GQUxTRX0iOyB0aGVuCisgIGFzX2ZuX2Vycm9yICJjb25kaXRpb25hbCBcIlNVTk9TNFwiIHdhcyBuZXZlciBkZWZpbmVkLgorVXN1YWxseSB0aGlzIG1lYW5zIHRoZSBtYWNybyB3YXMgb25seSBpbnZva2VkIGNvbmRpdGlvbmFsbHkuIiAiJExJTkVOTyIgNQorZmkKK2lmIHRlc3QgLXogIiR7U1ZSNF9UUlVFfSIgJiYgdGVzdCAteiAiJHtTVlI0X0ZBTFNFfSI7IHRoZW4KKyAgYXNfZm5fZXJyb3IgImNvbmRpdGlvbmFsIFwiU1ZSNFwiIHdhcyBuZXZlciBkZWZpbmVkLgorVXN1YWxseSB0aGlzIG1lYW5zIHRoZSBtYWNybyB3YXMgb25seSBpbnZva2VkIGNvbmRpdGlvbmFsbHkuIiAiJExJTkVOTyIgNQorZmkKK2lmIHRlc3QgLXogIiR7RlJFRUJTRF9UUlVFfSIgJiYgdGVzdCAteiAiJHtGUkVFQlNEX0ZBTFNFfSI7IHRoZW4KKyAgYXNfZm5fZXJyb3IgImNvbmRpdGlvbmFsIFwiRlJFRUJTRFwiIHdhcyBuZXZlciBkZWZpbmVkLgorVXN1YWxseSB0aGlzIG1lYW5zIHRoZSBtYWNybyB3YXMgb25seSBpbnZva2VkIGNvbmRpdGlvbmFsbHkuIiAiJExJTkVOTyIgNQorZmkKK2lmIHRlc3QgLXogIiR7QU1ERVBfVFJVRX0iICYmIHRlc3QgLXogIiR7QU1ERVBfRkFMU0V9IjsgdGhlbgorICBhc19mbl9lcnJvciAiY29uZGl0aW9uYWwgXCJBTURFUFwiIHdhcyBuZXZlciBkZWZpbmVkLgorVXN1YWxseSB0aGlzIG1lYW5zIHRoZSBtYWNybyB3YXMgb25seSBpbnZva2VkIGNvbmRpdGlvbmFsbHkuIiAiJExJTkVOTyIgNQorZmkKK2lmIHRlc3QgLXogIiR7YW1fX2Zhc3RkZXBDQ19UUlVFfSIgJiYgdGVzdCAteiAiJHthbV9fZmFzdGRlcENDX0ZBTFNFfSI7IHRoZW4KKyAgYXNfZm5fZXJyb3IgImNvbmRpdGlvbmFsIFwiYW1fX2Zhc3RkZXBDQ1wiIHdhcyBuZXZlciBkZWZpbmVkLgorVXN1YWxseSB0aGlzIG1lYW5zIHRoZSBtYWNybyB3YXMgb25seSBpbnZva2VkIGNvbmRpdGlvbmFsbHkuIiAiJExJTkVOTyIgNQorZmkKKworOiAke0NPTkZJR19TVEFUVVM9Li9jb25maWcuc3RhdHVzfQorYWNfd3JpdGVfZmFpbD0wCithY19jbGVhbl9maWxlc19zYXZlPSRhY19jbGVhbl9maWxlcworYWNfY2xlYW5fZmlsZXM9IiRhY19jbGVhbl9maWxlcyAkQ09ORklHX1NUQVRVUyIKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY3JlYXRpbmcgJENPTkZJR19TVEFUVVMiID4mNQorJGFzX2VjaG8gIiRhc19tZTogY3JlYXRpbmcgJENPTkZJR19TVEFUVVMiID4mNjt9Cithc193cml0ZV9mYWlsPTAKK2NhdCA+JENPTkZJR19TVEFUVVMgPDxfQVNFT0YgfHwgYXNfd3JpdGVfZmFpbD0xCisjISAkU0hFTEwKKyMgR2VuZXJhdGVkIGJ5ICRhc19tZS4KKyMgUnVuIHRoaXMgZmlsZSB0byByZWNyZWF0ZSB0aGUgY3VycmVudCBjb25maWd1cmF0aW9uLgorIyBDb21waWxlciBvdXRwdXQgcHJvZHVjZWQgYnkgY29uZmlndXJlLCB1c2VmdWwgZm9yIGRlYnVnZ2luZworIyBjb25maWd1cmUsIGlzIGluIGNvbmZpZy5sb2cgaWYgaXQgZXhpc3RzLgorCitkZWJ1Zz1mYWxzZQorYWNfY3NfcmVjaGVjaz1mYWxzZQorYWNfY3Nfc2lsZW50PWZhbHNlCisKK1NIRUxMPVwke0NPTkZJR19TSEVMTC0kU0hFTEx9CitleHBvcnQgU0hFTEwKK19BU0VPRgorY2F0ID4+JENPTkZJR19TVEFUVVMgPDxcX0FTRU9GIHx8IGFzX3dyaXRlX2ZhaWw9MQorIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKKyMjIE00c2ggSW5pdGlhbGl6YXRpb24uICMjCisjIyAtLS0tLS0tLS0tLS0tLS0tLS0tLSAjIworCisjIEJlIG1vcmUgQm91cm5lIGNvbXBhdGlibGUKK0RVQUxDQVNFPTE7IGV4cG9ydCBEVUFMQ0FTRSAjIGZvciBNS1Mgc2gKK2lmIHRlc3QgLW4gIiR7WlNIX1ZFUlNJT04rc2V0fSIgJiYgKGVtdWxhdGUgc2gpID4vZGV2L251bGwgMj4mMTsgdGhlbiA6CisgIGVtdWxhdGUgc2gKKyAgTlVMTENNRD06CisgICMgUHJlLTQuMiB2ZXJzaW9ucyBvZiBac2ggZG8gd29yZCBzcGxpdHRpbmcgb24gJHsxKyIkQCJ9LCB3aGljaAorICAjIGlzIGNvbnRyYXJ5IHRvIG91ciB1c2FnZS4gIERpc2FibGUgdGhpcyBmZWF0dXJlLgorICBhbGlhcyAtZyAnJHsxKyIkQCJ9Jz0nIiRAIicKKyAgc2V0b3B0IE5PX0dMT0JfU1VCU1QKK2Vsc2UKKyAgY2FzZSBgKHNldCAtbykgMj4vZGV2L251bGxgIGluICMoCisgICpwb3NpeCopIDoKKyAgICBzZXQgLW8gcG9zaXggOzsgIygKKyAgKikgOgorICAgICA7OworZXNhYworZmkKKworCithc19ubD0nCisnCitleHBvcnQgYXNfbmwKKyMgUHJpbnRpbmcgYSBsb25nIHN0cmluZyBjcmFzaGVzIFNvbGFyaXMgNyAvdXNyL2Jpbi9wcmludGYuCithc19lY2hvPSdcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcJworYXNfZWNobz0kYXNfZWNobyRhc19lY2hvJGFzX2VjaG8kYXNfZWNobyRhc19lY2hvCithc19lY2hvPSRhc19lY2hvJGFzX2VjaG8kYXNfZWNobyRhc19lY2hvJGFzX2VjaG8kYXNfZWNobworIyBQcmVmZXIgYSBrc2ggc2hlbGwgYnVpbHRpbiBvdmVyIGFuIGV4dGVybmFsIHByaW50ZiBwcm9ncmFtIG9uIFNvbGFyaXMsCisjIGJ1dCB3aXRob3V0IHdhc3RpbmcgZm9ya3MgZm9yIGJhc2ggb3IgenNoLgoraWYgdGVzdCAteiAiJEJBU0hfVkVSU0lPTiRaU0hfVkVSU0lPTiIgXAorICAgICYmICh0ZXN0ICJYYHByaW50IC1yIC0tICRhc19lY2hvYCIgPSAiWCRhc19lY2hvIikgMj4vZGV2L251bGw7IHRoZW4KKyAgYXNfZWNobz0ncHJpbnQgLXIgLS0nCisgIGFzX2VjaG9fbj0ncHJpbnQgLXJuIC0tJworZWxpZiAodGVzdCAiWGBwcmludGYgJXMgJGFzX2VjaG9gIiA9ICJYJGFzX2VjaG8iKSAyPi9kZXYvbnVsbDsgdGhlbgorICBhc19lY2hvPSdwcmludGYgJXNcbicKKyAgYXNfZWNob19uPSdwcmludGYgJXMnCitlbHNlCisgIGlmIHRlc3QgIlhgKC91c3IvdWNiL2VjaG8gLW4gLW4gJGFzX2VjaG8pIDI+L2Rldi9udWxsYCIgPSAiWC1uICRhc19lY2hvIjsgdGhlbgorICAgIGFzX2VjaG9fYm9keT0nZXZhbCAvdXNyL3VjYi9lY2hvIC1uICIkMSRhc19ubCInCisgICAgYXNfZWNob19uPScvdXNyL3VjYi9lY2hvIC1uJworICBlbHNlCisgICAgYXNfZWNob19ib2R5PSdldmFsIGV4cHIgIlgkMSIgOiAiWFxcKC4qXFwpIicKKyAgICBhc19lY2hvX25fYm9keT0nZXZhbAorICAgICAgYXJnPSQxOworICAgICAgY2FzZSAkYXJnIGluICMoCisgICAgICAqIiRhc19ubCIqKQorCWV4cHIgIlgkYXJnIiA6ICJYXFwoLipcXCkkYXNfbmwiOworCWFyZz1gZXhwciAiWCRhcmciIDogIi4qJGFzX25sXFwoLipcXCkiYDs7CisgICAgICBlc2FjOworICAgICAgZXhwciAiWCRhcmciIDogIlhcXCguKlxcKSIgfCB0ciAtZCAiJGFzX25sIgorICAgICcKKyAgICBleHBvcnQgYXNfZWNob19uX2JvZHkKKyAgICBhc19lY2hvX249J3NoIC1jICRhc19lY2hvX25fYm9keSBhc19lY2hvJworICBmaQorICBleHBvcnQgYXNfZWNob19ib2R5CisgIGFzX2VjaG89J3NoIC1jICRhc19lY2hvX2JvZHkgYXNfZWNobycKK2ZpCisKKyMgVGhlIHVzZXIgaXMgYWx3YXlzIHJpZ2h0LgoraWYgdGVzdCAiJHtQQVRIX1NFUEFSQVRPUitzZXR9IiAhPSBzZXQ7IHRoZW4KKyAgUEFUSF9TRVBBUkFUT1I9OgorICAoUEFUSD0nL2JpbjsvYmluJzsgRlBBVEg9JFBBVEg7IHNoIC1jIDopID4vZGV2L251bGwgMj4mMSAmJiB7CisgICAgKFBBVEg9Jy9iaW46L2Jpbic7IEZQQVRIPSRQQVRIOyBzaCAtYyA6KSA+L2Rldi9udWxsIDI+JjEgfHwKKyAgICAgIFBBVEhfU0VQQVJBVE9SPSc7JworICB9CitmaQorCisKKyMgSUZTCisjIFdlIG5lZWQgc3BhY2UsIHRhYiBhbmQgbmV3IGxpbmUsIGluIHByZWNpc2VseSB0aGF0IG9yZGVyLiAgUXVvdGluZyBpcworIyB0aGVyZSB0byBwcmV2ZW50IGVkaXRvcnMgZnJvbSBjb21wbGFpbmluZyBhYm91dCBzcGFjZS10YWIuCisjIChJZiBfQVNfUEFUSF9XQUxLIHdlcmUgY2FsbGVkIHdpdGggSUZTIHVuc2V0LCBpdCB3b3VsZCBkaXNhYmxlIHdvcmQKKyMgc3BsaXR0aW5nIGJ5IHNldHRpbmcgSUZTIHRvIGVtcHR5IHZhbHVlLikKK0lGUz0iICIiCSRhc19ubCIKKworIyBGaW5kIHdobyB3ZSBhcmUuICBMb29rIGluIHRoZSBwYXRoIGlmIHdlIGNvbnRhaW4gbm8gZGlyZWN0b3J5IHNlcGFyYXRvci4KK2Nhc2UgJDAgaW4gIygoCisgICpbXFwvXSogKSBhc19teXNlbGY9JDAgOzsKKyAgKikgYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgorZm9yIGFzX2RpciBpbiAkUEFUSAorZG8KKyAgSUZTPSRhc19zYXZlX0lGUworICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgorICAgIHRlc3QgLXIgIiRhc19kaXIvJDAiICYmIGFzX215c2VsZj0kYXNfZGlyLyQwICYmIGJyZWFrCisgIGRvbmUKK0lGUz0kYXNfc2F2ZV9JRlMKKworICAgICA7OworZXNhYworIyBXZSBkaWQgbm90IGZpbmQgb3Vyc2VsdmVzLCBtb3N0IHByb2JhYmx5IHdlIHdlcmUgcnVuIGFzIGBzaCBDT01NQU5EJworIyBpbiB3aGljaCBjYXNlIHdlIGFyZSBub3QgdG8gYmUgZm91bmQgaW4gdGhlIHBhdGguCitpZiB0ZXN0ICJ4JGFzX215c2VsZiIgPSB4OyB0aGVuCisgIGFzX215c2VsZj0kMAorZmkKK2lmIHRlc3QgISAtZiAiJGFzX215c2VsZiI7IHRoZW4KKyAgJGFzX2VjaG8gIiRhc19teXNlbGY6IGVycm9yOiBjYW5ub3QgZmluZCBteXNlbGY7IHJlcnVuIHdpdGggYW4gYWJzb2x1dGUgZmlsZSBuYW1lIiA+JjIKKyAgZXhpdCAxCitmaQorCisjIFVuc2V0IHZhcmlhYmxlcyB0aGF0IHdlIGRvIG5vdCBuZWVkIGFuZCB3aGljaCBjYXVzZSBidWdzIChlLmcuIGluCisjIHByZS0zLjAgVVdJTiBrc2gpLiAgQnV0IGRvIG5vdCBjYXVzZSBidWdzIGluIGJhc2ggMi4wMTsgdGhlICJ8fCBleGl0IDEiCisjIHN1cHByZXNzZXMgYW55ICJTZWdtZW50YXRpb24gZmF1bHQiIG1lc3NhZ2UgdGhlcmUuICAnKCgnIGNvdWxkCisjIHRyaWdnZXIgYSBidWcgaW4gcGRrc2ggNS4yLjE0LgorZm9yIGFzX3ZhciBpbiBCQVNIX0VOViBFTlYgTUFJTCBNQUlMUEFUSAorZG8gZXZhbCB0ZXN0IHhcJHskYXNfdmFyK3NldH0gPSB4c2V0IFwKKyAgJiYgKCAodW5zZXQgJGFzX3ZhcikgfHwgZXhpdCAxKSA+L2Rldi9udWxsIDI+JjEgJiYgdW5zZXQgJGFzX3ZhciB8fCA6Citkb25lCitQUzE9JyQgJworUFMyPSc+ICcKK1BTND0nKyAnCisKKyMgTkxTIG51aXNhbmNlcy4KK0xDX0FMTD1DCitleHBvcnQgTENfQUxMCitMQU5HVUFHRT1DCitleHBvcnQgTEFOR1VBR0UKKworIyBDRFBBVEguCisodW5zZXQgQ0RQQVRIKSA+L2Rldi9udWxsIDI+JjEgJiYgdW5zZXQgQ0RQQVRICisKKworIyBhc19mbl9lcnJvciBFUlJPUiBbTElORU5PIExPR19GRF0KKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIE91dHB1dCAiYGJhc2VuYW1lICQwYDogZXJyb3I6IEVSUk9SIiB0byBzdGRlcnIuIElmIExJTkVOTyBhbmQgTE9HX0ZEIGFyZQorIyBwcm92aWRlZCwgYWxzbyBvdXRwdXQgdGhlIGVycm9yIHRvIExPR19GRCwgcmVmZXJlbmNpbmcgTElORU5PLiBUaGVuIGV4aXQgdGhlCisjIHNjcmlwdCB3aXRoIHN0YXR1cyAkPywgdXNpbmcgMSBpZiB0aGF0IHdhcyAwLgorYXNfZm5fZXJyb3IgKCkKK3sKKyAgYXNfc3RhdHVzPSQ/OyB0ZXN0ICRhc19zdGF0dXMgLWVxIDAgJiYgYXNfc3RhdHVzPTEKKyAgaWYgdGVzdCAiJDMiOyB0aGVuCisgICAgYXNfbGluZW5vPSR7YXNfbGluZW5vLSIkMiJ9IGFzX2xpbmVub19zdGFjaz1hc19saW5lbm9fc3RhY2s9JGFzX2xpbmVub19zdGFjaworICAgICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGVycm9yOiAkMSIgPiYkMworICBmaQorICAkYXNfZWNobyAiJGFzX21lOiBlcnJvcjogJDEiID4mMgorICBhc19mbl9leGl0ICRhc19zdGF0dXMKK30gIyBhc19mbl9lcnJvcgorCisKKyMgYXNfZm5fc2V0X3N0YXR1cyBTVEFUVVMKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgU2V0ICQ/IHRvIFNUQVRVUywgd2l0aG91dCBmb3JraW5nLgorYXNfZm5fc2V0X3N0YXR1cyAoKQoreworICByZXR1cm4gJDEKK30gIyBhc19mbl9zZXRfc3RhdHVzCisKKyMgYXNfZm5fZXhpdCBTVEFUVVMKKyMgLS0tLS0tLS0tLS0tLS0tLS0KKyMgRXhpdCB0aGUgc2hlbGwgd2l0aCBTVEFUVVMsIGV2ZW4gaW4gYSAidHJhcCAwIiBvciAic2V0IC1lIiBjb250ZXh0LgorYXNfZm5fZXhpdCAoKQoreworICBzZXQgK2UKKyAgYXNfZm5fc2V0X3N0YXR1cyAkMQorICBleGl0ICQxCit9ICMgYXNfZm5fZXhpdAorCisjIGFzX2ZuX3Vuc2V0IFZBUgorIyAtLS0tLS0tLS0tLS0tLS0KKyMgUG9ydGFibHkgdW5zZXQgVkFSLgorYXNfZm5fdW5zZXQgKCkKK3sKKyAgeyBldmFsICQxPTsgdW5zZXQgJDE7fQorfQorYXNfdW5zZXQ9YXNfZm5fdW5zZXQKKyMgYXNfZm5fYXBwZW5kIFZBUiBWQUxVRQorIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEFwcGVuZCB0aGUgdGV4dCBpbiBWQUxVRSB0byB0aGUgZW5kIG9mIHRoZSBkZWZpbml0aW9uIGNvbnRhaW5lZCBpbiBWQVIuIFRha2UKKyMgYWR2YW50YWdlIG9mIGFueSBzaGVsbCBvcHRpbWl6YXRpb25zIHRoYXQgYWxsb3cgYW1vcnRpemVkIGxpbmVhciBncm93dGggb3ZlcgorIyByZXBlYXRlZCBhcHBlbmRzLCBpbnN0ZWFkIG9mIHRoZSB0eXBpY2FsIHF1YWRyYXRpYyBncm93dGggcHJlc2VudCBpbiBuYWl2ZQorIyBpbXBsZW1lbnRhdGlvbnMuCitpZiAoZXZhbCAiYXNfdmFyPTE7IGFzX3Zhcis9MjsgdGVzdCB4XCRhc192YXIgPSB4MTIiKSAyPi9kZXYvbnVsbDsgdGhlbiA6CisgIGV2YWwgJ2FzX2ZuX2FwcGVuZCAoKQorICB7CisgICAgZXZhbCAkMSs9XCQyCisgIH0nCitlbHNlCisgIGFzX2ZuX2FwcGVuZCAoKQorICB7CisgICAgZXZhbCAkMT1cJCQxXCQyCisgIH0KK2ZpICMgYXNfZm5fYXBwZW5kCisKKyMgYXNfZm5fYXJpdGggQVJHLi4uCisjIC0tLS0tLS0tLS0tLS0tLS0tLQorIyBQZXJmb3JtIGFyaXRobWV0aWMgZXZhbHVhdGlvbiBvbiB0aGUgQVJHcywgYW5kIHN0b3JlIHRoZSByZXN1bHQgaW4gdGhlCisjIGdsb2JhbCAkYXNfdmFsLiBUYWtlIGFkdmFudGFnZSBvZiBzaGVsbHMgdGhhdCBjYW4gYXZvaWQgZm9ya3MuIFRoZSBhcmd1bWVudHMKKyMgbXVzdCBiZSBwb3J0YWJsZSBhY3Jvc3MgJCgoKSkgYW5kIGV4cHIuCitpZiAoZXZhbCAidGVzdCBcJCgoIDEgKyAxICkpID0gMiIpIDI+L2Rldi9udWxsOyB0aGVuIDoKKyAgZXZhbCAnYXNfZm5fYXJpdGggKCkKKyAgeworICAgIGFzX3ZhbD0kKCggJCogKSkKKyAgfScKK2Vsc2UKKyAgYXNfZm5fYXJpdGggKCkKKyAgeworICAgIGFzX3ZhbD1gZXhwciAiJEAiIHx8IHRlc3QgJD8gLWVxIDFgCisgIH0KK2ZpICMgYXNfZm5fYXJpdGgKKworCitpZiBleHByIGEgOiAnXChhXCknID4vZGV2L251bGwgMj4mMSAmJgorICAgdGVzdCAiWGBleHByIDAwMDAxIDogJy4qXCguLi5cKSdgIiA9IFgwMDE7IHRoZW4KKyAgYXNfZXhwcj1leHByCitlbHNlCisgIGFzX2V4cHI9ZmFsc2UKK2ZpCisKK2lmIChiYXNlbmFtZSAtLSAvKSA+L2Rldi9udWxsIDI+JjEgJiYgdGVzdCAiWGBiYXNlbmFtZSAtLSAvIDI+JjFgIiA9ICJYLyI7IHRoZW4KKyAgYXNfYmFzZW5hbWU9YmFzZW5hbWUKK2Vsc2UKKyAgYXNfYmFzZW5hbWU9ZmFsc2UKK2ZpCisKK2lmIChhc19kaXI9YGRpcm5hbWUgLS0gL2AgJiYgdGVzdCAiWCRhc19kaXIiID0gWC8pID4vZGV2L251bGwgMj4mMTsgdGhlbgorICBhc19kaXJuYW1lPWRpcm5hbWUKK2Vsc2UKKyAgYXNfZGlybmFtZT1mYWxzZQorZmkKKworYXNfbWU9YCRhc19iYXNlbmFtZSAtLSAiJDAiIHx8CiskYXNfZXhwciBYLyIkMCIgOiAnLiovXChbXi9dW14vXSpcKS8qJCcgXHwgXAorCSBYIiQwIiA6ICdYXCgvL1wpJCcgXHwgXAorCSBYIiQwIiA6ICdYXCgvXCknIFx8IC4gMj4vZGV2L251bGwgfHwKKyRhc19lY2hvIFgvIiQwIiB8CisgICAgc2VkICcvXi4qXC9cKFteL11bXi9dKlwpXC8qJC97CisJICAgIHMvL1wxLworCSAgICBxCisJICB9CisJICAvXlhcL1woXC9cL1wpJC97CisJICAgIHMvL1wxLworCSAgICBxCisJICB9CisJICAvXlhcL1woXC9cKS4qL3sKKwkgICAgcy8vXDEvCisJICAgIHEKKwkgIH0KKwkgIHMvLiovLi87IHEnYAorCisjIEF2b2lkIGRlcGVuZGluZyB1cG9uIENoYXJhY3RlciBSYW5nZXMuCithc19jcl9sZXR0ZXJzPSdhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eicKK2FzX2NyX0xFVFRFUlM9J0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaJworYXNfY3JfTGV0dGVycz0kYXNfY3JfbGV0dGVycyRhc19jcl9MRVRURVJTCithc19jcl9kaWdpdHM9JzAxMjM0NTY3ODknCithc19jcl9hbG51bT0kYXNfY3JfTGV0dGVycyRhc19jcl9kaWdpdHMKKworRUNIT19DPSBFQ0hPX049IEVDSE9fVD0KK2Nhc2UgYGVjaG8gLW4geGAgaW4gIygoKCgoCistbiopCisgIGNhc2UgYGVjaG8gJ3h5XGMnYCBpbgorICAqYyopIEVDSE9fVD0nCSc7OwkjIEVDSE9fVCBpcyBzaW5nbGUgdGFiIGNoYXJhY3Rlci4KKyAgeHkpICBFQ0hPX0M9J1xjJzs7CisgICopICAgZWNobyBgZWNobyBrc2g4OCBidWcgb24gQUlYIDYuMWAgPiAvZGV2L251bGwKKyAgICAgICBFQ0hPX1Q9JwknOzsKKyAgZXNhYzs7CisqKQorICBFQ0hPX049Jy1uJzs7Citlc2FjCisKK3JtIC1mIGNvbmYkJCBjb25mJCQuZXhlIGNvbmYkJC5maWxlCitpZiB0ZXN0IC1kIGNvbmYkJC5kaXI7IHRoZW4KKyAgcm0gLWYgY29uZiQkLmRpci9jb25mJCQuZmlsZQorZWxzZQorICBybSAtZiBjb25mJCQuZGlyCisgIG1rZGlyIGNvbmYkJC5kaXIgMj4vZGV2L251bGwKK2ZpCitpZiAoZWNobyA+Y29uZiQkLmZpbGUpIDI+L2Rldi9udWxsOyB0aGVuCisgIGlmIGxuIC1zIGNvbmYkJC5maWxlIGNvbmYkJCAyPi9kZXYvbnVsbDsgdGhlbgorICAgIGFzX2xuX3M9J2xuIC1zJworICAgICMgLi4uIGJ1dCB0aGVyZSBhcmUgdHdvIGdvdGNoYXM6CisgICAgIyAxKSBPbiBNU1lTLCBib3RoIGBsbiAtcyBmaWxlIGRpcicgYW5kIGBsbiBmaWxlIGRpcicgZmFpbC4KKyAgICAjIDIpIERKR1BQIDwgMi4wNCBoYXMgbm8gc3ltbGlua3M7IGBsbiAtcycgY3JlYXRlcyBhIHdyYXBwZXIgZXhlY3V0YWJsZS4KKyAgICAjIEluIGJvdGggY2FzZXMsIHdlIGhhdmUgdG8gZGVmYXVsdCB0byBgY3AgLXAnLgorICAgIGxuIC1zIGNvbmYkJC5maWxlIGNvbmYkJC5kaXIgMj4vZGV2L251bGwgJiYgdGVzdCAhIC1mIGNvbmYkJC5leGUgfHwKKyAgICAgIGFzX2xuX3M9J2NwIC1wJworICBlbGlmIGxuIGNvbmYkJC5maWxlIGNvbmYkJCAyPi9kZXYvbnVsbDsgdGhlbgorICAgIGFzX2xuX3M9bG4KKyAgZWxzZQorICAgIGFzX2xuX3M9J2NwIC1wJworICBmaQorZWxzZQorICBhc19sbl9zPSdjcCAtcCcKK2ZpCitybSAtZiBjb25mJCQgY29uZiQkLmV4ZSBjb25mJCQuZGlyL2NvbmYkJC5maWxlIGNvbmYkJC5maWxlCitybWRpciBjb25mJCQuZGlyIDI+L2Rldi9udWxsCisKKworIyBhc19mbl9ta2Rpcl9wCisjIC0tLS0tLS0tLS0tLS0KKyMgQ3JlYXRlICIkYXNfZGlyIiBhcyBhIGRpcmVjdG9yeSwgaW5jbHVkaW5nIHBhcmVudHMgaWYgbmVjZXNzYXJ5LgorYXNfZm5fbWtkaXJfcCAoKQoreworCisgIGNhc2UgJGFzX2RpciBpbiAjKAorICAtKikgYXNfZGlyPS4vJGFzX2Rpcjs7CisgIGVzYWMKKyAgdGVzdCAtZCAiJGFzX2RpciIgfHwgZXZhbCAkYXNfbWtkaXJfcCB8fCB7CisgICAgYXNfZGlycz0KKyAgICB3aGlsZSA6OyBkbworICAgICAgY2FzZSAkYXNfZGlyIGluICMoCisgICAgICAqXCcqKSBhc19xZGlyPWAkYXNfZWNobyAiJGFzX2RpciIgfCBzZWQgInMvJy8nXFxcXFxcXFwnJy9nImA7OyAjJygKKyAgICAgICopIGFzX3FkaXI9JGFzX2Rpcjs7CisgICAgICBlc2FjCisgICAgICBhc19kaXJzPSInJGFzX3FkaXInICRhc19kaXJzIgorICAgICAgYXNfZGlyPWAkYXNfZGlybmFtZSAtLSAiJGFzX2RpciIgfHwKKyRhc19leHByIFgiJGFzX2RpciIgOiAnWFwoLipbXi9dXCkvLypbXi9dW14vXSovKiQnIFx8IFwKKwkgWCIkYXNfZGlyIiA6ICdYXCgvL1wpW14vXScgXHwgXAorCSBYIiRhc19kaXIiIDogJ1hcKC8vXCkkJyBcfCBcCisJIFgiJGFzX2RpciIgOiAnWFwoL1wpJyBcfCAuIDI+L2Rldi9udWxsIHx8CiskYXNfZWNobyBYIiRhc19kaXIiIHwKKyAgICBzZWQgJy9eWFwoLipbXi9dXClcL1wvKlteL11bXi9dKlwvKiQveworCSAgICBzLy9cMS8KKwkgICAgcQorCSAgfQorCSAgL15YXChcL1wvXClbXi9dLioveworCSAgICBzLy9cMS8KKwkgICAgcQorCSAgfQorCSAgL15YXChcL1wvXCkkL3sKKwkgICAgcy8vXDEvCisJICAgIHEKKwkgIH0KKwkgIC9eWFwoXC9cKS4qL3sKKwkgICAgcy8vXDEvCisJICAgIHEKKwkgIH0KKwkgIHMvLiovLi87IHEnYAorICAgICAgdGVzdCAtZCAiJGFzX2RpciIgJiYgYnJlYWsKKyAgICBkb25lCisgICAgdGVzdCAteiAiJGFzX2RpcnMiIHx8IGV2YWwgIm1rZGlyICRhc19kaXJzIgorICB9IHx8IHRlc3QgLWQgIiRhc19kaXIiIHx8IGFzX2ZuX2Vycm9yICJjYW5ub3QgY3JlYXRlIGRpcmVjdG9yeSAkYXNfZGlyIgorCisKK30gIyBhc19mbl9ta2Rpcl9wCitpZiBta2RpciAtcCAuIDI+L2Rldi9udWxsOyB0aGVuCisgIGFzX21rZGlyX3A9J21rZGlyIC1wICIkYXNfZGlyIicKK2Vsc2UKKyAgdGVzdCAtZCAuLy1wICYmIHJtZGlyIC4vLXAKKyAgYXNfbWtkaXJfcD1mYWxzZQorZmkKKworaWYgdGVzdCAteCAvID4vZGV2L251bGwgMj4mMTsgdGhlbgorICBhc190ZXN0X3g9J3Rlc3QgLXgnCitlbHNlCisgIGlmIGxzIC1kTCAvID4vZGV2L251bGwgMj4mMTsgdGhlbgorICAgIGFzX2xzX0xfb3B0aW9uPUwKKyAgZWxzZQorICAgIGFzX2xzX0xfb3B0aW9uPQorICBmaQorICBhc190ZXN0X3g9JworICAgIGV2YWwgc2ggLWMgJ1wnJworICAgICAgaWYgdGVzdCAtZCAiJDEiOyB0aGVuCisJdGVzdCAtZCAiJDEvLiI7CisgICAgICBlbHNlCisJY2FzZSAkMSBpbiAjKAorCS0qKXNldCAiLi8kMSI7OworCWVzYWM7CisJY2FzZSBgbHMgLWxkJyRhc19sc19MX29wdGlvbicgIiQxIiAyPi9kZXYvbnVsbGAgaW4gIygoCisJPz8/W3N4XSopOjs7KilmYWxzZTs7ZXNhYztmaQorICAgICdcJycgc2gKKyAgJworZmkKK2FzX2V4ZWN1dGFibGVfcD0kYXNfdGVzdF94CisKKyMgU2VkIGV4cHJlc3Npb24gdG8gbWFwIGEgc3RyaW5nIG9udG8gYSB2YWxpZCBDUFAgbmFtZS4KK2FzX3RyX2NwcD0iZXZhbCBzZWQgJ3klKiRhc19jcl9sZXR0ZXJzJVAkYXNfY3JfTEVUVEVSUyU7cyVbXl8kYXNfY3JfYWxudW1dJV8lZyciCisKKyMgU2VkIGV4cHJlc3Npb24gdG8gbWFwIGEgc3RyaW5nIG9udG8gYSB2YWxpZCB2YXJpYWJsZSBuYW1lLgorYXNfdHJfc2g9ImV2YWwgc2VkICd5JSorJXBwJTtzJVteXyRhc19jcl9hbG51bV0lXyVnJyIKKworCitleGVjIDY+JjEKKyMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCisjIyBNYWluIGJvZHkgb2YgJENPTkZJR19TVEFUVVMgc2NyaXB0LiAjIworIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKK19BU0VPRgordGVzdCAkYXNfd3JpdGVfZmFpbCA9IDAgJiYgY2htb2QgK3ggJENPTkZJR19TVEFUVVMgfHwgYWNfd3JpdGVfZmFpbD0xCisKK2NhdCA+PiRDT05GSUdfU1RBVFVTIDw8XF9BQ0VPRiB8fCBhY193cml0ZV9mYWlsPTEKKyMgU2F2ZSB0aGUgbG9nIG1lc3NhZ2UsIHRvIGtlZXAgJDAgYW5kIHNvIG9uIG1lYW5pbmdmdWwsIGFuZCB0bworIyByZXBvcnQgYWN0dWFsIGlucHV0IHZhbHVlcyBvZiBDT05GSUdfRklMRVMgZXRjLiBpbnN0ZWFkIG9mIHRoZWlyCisjIHZhbHVlcyBhZnRlciBvcHRpb25zIGhhbmRsaW5nLgorYWNfbG9nPSIKK1RoaXMgZmlsZSB3YXMgZXh0ZW5kZWQgYnkgc3RyYWNlICRhc19tZSA0LjUuMjAsIHdoaWNoIHdhcworZ2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjY1LiAgSW52b2NhdGlvbiBjb21tYW5kIGxpbmUgd2FzCisKKyAgQ09ORklHX0ZJTEVTICAgID0gJENPTkZJR19GSUxFUworICBDT05GSUdfSEVBREVSUyAgPSAkQ09ORklHX0hFQURFUlMKKyAgQ09ORklHX0xJTktTICAgID0gJENPTkZJR19MSU5LUworICBDT05GSUdfQ09NTUFORFMgPSAkQ09ORklHX0NPTU1BTkRTCisgICQgJDAgJEAKKworb24gYChob3N0bmFtZSB8fCB1bmFtZSAtbikgMj4vZGV2L251bGwgfCBzZWQgMXFgCisiCisKK19BQ0VPRgorCitjYXNlICRhY19jb25maWdfZmlsZXMgaW4gKiIKKyIqKSBzZXQgeCAkYWNfY29uZmlnX2ZpbGVzOyBzaGlmdDsgYWNfY29uZmlnX2ZpbGVzPSQqOzsKK2VzYWMKKworY2FzZSAkYWNfY29uZmlnX2hlYWRlcnMgaW4gKiIKKyIqKSBzZXQgeCAkYWNfY29uZmlnX2hlYWRlcnM7IHNoaWZ0OyBhY19jb25maWdfaGVhZGVycz0kKjs7Citlc2FjCisKKworY2F0ID4+JENPTkZJR19TVEFUVVMgPDxfQUNFT0YgfHwgYWNfd3JpdGVfZmFpbD0xCisjIEZpbGVzIHRoYXQgY29uZmlnLnN0YXR1cyB3YXMgbWFkZSBmb3IuCitjb25maWdfZmlsZXM9IiRhY19jb25maWdfZmlsZXMiCitjb25maWdfaGVhZGVycz0iJGFjX2NvbmZpZ19oZWFkZXJzIgorY29uZmlnX2NvbW1hbmRzPSIkYWNfY29uZmlnX2NvbW1hbmRzIgorCitfQUNFT0YKKworY2F0ID4+JENPTkZJR19TVEFUVVMgPDxcX0FDRU9GIHx8IGFjX3dyaXRlX2ZhaWw9MQorYWNfY3NfdXNhZ2U9IlwKK1xgJGFzX21lJyBpbnN0YW50aWF0ZXMgZmlsZXMgYW5kIG90aGVyIGNvbmZpZ3VyYXRpb24gYWN0aW9ucworZnJvbSB0ZW1wbGF0ZXMgYWNjb3JkaW5nIHRvIHRoZSBjdXJyZW50IGNvbmZpZ3VyYXRpb24uICBVbmxlc3MgdGhlIGZpbGVzCithbmQgYWN0aW9ucyBhcmUgc3BlY2lmaWVkIGFzIFRBR3MsIGFsbCBhcmUgaW5zdGFudGlhdGVkIGJ5IGRlZmF1bHQuCisKK1VzYWdlOiAkMCBbT1BUSU9OXS4uLiBbVEFHXS4uLgorCisgIC1oLCAtLWhlbHAgICAgICAgcHJpbnQgdGhpcyBoZWxwLCB0aGVuIGV4aXQKKyAgLVYsIC0tdmVyc2lvbiAgICBwcmludCB2ZXJzaW9uIG51bWJlciBhbmQgY29uZmlndXJhdGlvbiBzZXR0aW5ncywgdGhlbiBleGl0CisgICAgICAtLWNvbmZpZyAgICAgcHJpbnQgY29uZmlndXJhdGlvbiwgdGhlbiBleGl0CisgIC1xLCAtLXF1aWV0LCAtLXNpbGVudAorICAgICAgICAgICAgICAgICAgIGRvIG5vdCBwcmludCBwcm9ncmVzcyBtZXNzYWdlcworICAtZCwgLS1kZWJ1ZyAgICAgIGRvbid0IHJlbW92ZSB0ZW1wb3JhcnkgZmlsZXMKKyAgICAgIC0tcmVjaGVjayAgICB1cGRhdGUgJGFzX21lIGJ5IHJlY29uZmlndXJpbmcgaW4gdGhlIHNhbWUgY29uZGl0aW9ucworICAgICAgLS1maWxlPUZJTEVbOlRFTVBMQVRFXQorICAgICAgICAgICAgICAgICAgIGluc3RhbnRpYXRlIHRoZSBjb25maWd1cmF0aW9uIGZpbGUgRklMRQorICAgICAgLS1oZWFkZXI9RklMRVs6VEVNUExBVEVdCisgICAgICAgICAgICAgICAgICAgaW5zdGFudGlhdGUgdGhlIGNvbmZpZ3VyYXRpb24gaGVhZGVyIEZJTEUKKworQ29uZmlndXJhdGlvbiBmaWxlczoKKyRjb25maWdfZmlsZXMKKworQ29uZmlndXJhdGlvbiBoZWFkZXJzOgorJGNvbmZpZ19oZWFkZXJzCisKK0NvbmZpZ3VyYXRpb24gY29tbWFuZHM6CiskY29uZmlnX2NvbW1hbmRzCisKK1JlcG9ydCBidWdzIHRvIHRoZSBwYWNrYWdlIHByb3ZpZGVyLiIKKworX0FDRU9GCitjYXQgPj4kQ09ORklHX1NUQVRVUyA8PF9BQ0VPRiB8fCBhY193cml0ZV9mYWlsPTEKK2FjX2NzX2NvbmZpZz0iYCRhc19lY2hvICIkYWNfY29uZmlndXJlX2FyZ3MiIHwgc2VkICdzL14gLy87IHMvW1xcIiJcYFwkXS9cXFxcJi9nJ2AiCithY19jc192ZXJzaW9uPSJcXAorc3RyYWNlIGNvbmZpZy5zdGF0dXMgNC41LjIwCitjb25maWd1cmVkIGJ5ICQwLCBnZW5lcmF0ZWQgYnkgR05VIEF1dG9jb25mIDIuNjUsCisgIHdpdGggb3B0aW9ucyBcXCJcJGFjX2NzX2NvbmZpZ1xcIgorCitDb3B5cmlnaHQgKEMpIDIwMTAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCitUaGlzIGNvbmZpZy5zdGF0dXMgc2NyaXB0IGlzIGZyZWUgc29mdHdhcmU7IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24KK2dpdmVzIHVubGltaXRlZCBwZXJtaXNzaW9uIHRvIGNvcHksIGRpc3RyaWJ1dGUgYW5kIG1vZGlmeSBpdC4iCisKK2FjX3B3ZD0nJGFjX3B3ZCcKK3NyY2Rpcj0nJHNyY2RpcicKK0lOU1RBTEw9JyRJTlNUQUxMJworTUtESVJfUD0nJE1LRElSX1AnCitBV0s9JyRBV0snCit0ZXN0IC1uICJcJEFXSyIgfHwgQVdLPWF3aworX0FDRU9GCisKK2NhdCA+PiRDT05GSUdfU1RBVFVTIDw8XF9BQ0VPRiB8fCBhY193cml0ZV9mYWlsPTEKKyMgVGhlIGRlZmF1bHQgbGlzdHMgYXBwbHkgaWYgdGhlIHVzZXIgZG9lcyBub3Qgc3BlY2lmeSBhbnkgZmlsZS4KK2FjX25lZWRfZGVmYXVsdHM9Ogord2hpbGUgdGVzdCAkIyAhPSAwCitkbworICBjYXNlICQxIGluCisgIC0tKj0qKQorICAgIGFjX29wdGlvbj1gZXhwciAiWCQxIiA6ICdYXChbXj1dKlwpPSdgCisgICAgYWNfb3B0YXJnPWBleHByICJYJDEiIDogJ1hbXj1dKj1cKC4qXCknYAorICAgIGFjX3NoaWZ0PToKKyAgICA7OworICAqKQorICAgIGFjX29wdGlvbj0kMQorICAgIGFjX29wdGFyZz0kMgorICAgIGFjX3NoaWZ0PXNoaWZ0CisgICAgOzsKKyAgZXNhYworCisgIGNhc2UgJGFjX29wdGlvbiBpbgorICAjIEhhbmRsaW5nIG9mIHRoZSBvcHRpb25zLgorICAtcmVjaGVjayB8IC0tcmVjaGVjayB8IC0tcmVjaGVjIHwgLS1yZWNoZSB8IC0tcmVjaCB8IC0tcmVjIHwgLS1yZSB8IC0tcikKKyAgICBhY19jc19yZWNoZWNrPTogOzsKKyAgLS12ZXJzaW9uIHwgLS12ZXJzaW8gfCAtLXZlcnNpIHwgLS12ZXJzIHwgLS12ZXIgfCAtLXZlIHwgLS12IHwgLVYgKQorICAgICRhc19lY2hvICIkYWNfY3NfdmVyc2lvbiI7IGV4aXQgOzsKKyAgLS1jb25maWcgfCAtLWNvbmZpIHwgLS1jb25mIHwgLS1jb24gfCAtLWNvIHwgLS1jICkKKyAgICAkYXNfZWNobyAiJGFjX2NzX2NvbmZpZyI7IGV4aXQgOzsKKyAgLS1kZWJ1ZyB8IC0tZGVidSB8IC0tZGViIHwgLS1kZSB8IC0tZCB8IC1kICkKKyAgICBkZWJ1Zz06IDs7CisgIC0tZmlsZSB8IC0tZmlsIHwgLS1maSB8IC0tZiApCisgICAgJGFjX3NoaWZ0CisgICAgY2FzZSAkYWNfb3B0YXJnIGluCisgICAgKlwnKikgYWNfb3B0YXJnPWAkYXNfZWNobyAiJGFjX29wdGFyZyIgfCBzZWQgInMvJy8nXFxcXFxcXFwnJy9nImAgOzsKKyAgICBlc2FjCisgICAgYXNfZm5fYXBwZW5kIENPTkZJR19GSUxFUyAiICckYWNfb3B0YXJnJyIKKyAgICBhY19uZWVkX2RlZmF1bHRzPWZhbHNlOzsKKyAgLS1oZWFkZXIgfCAtLWhlYWRlIHwgLS1oZWFkIHwgLS1oZWEgKQorICAgICRhY19zaGlmdAorICAgIGNhc2UgJGFjX29wdGFyZyBpbgorICAgICpcJyopIGFjX29wdGFyZz1gJGFzX2VjaG8gIiRhY19vcHRhcmciIHwgc2VkICJzLycvJ1xcXFxcXFxcJycvZyJgIDs7CisgICAgZXNhYworICAgIGFzX2ZuX2FwcGVuZCBDT05GSUdfSEVBREVSUyAiICckYWNfb3B0YXJnJyIKKyAgICBhY19uZWVkX2RlZmF1bHRzPWZhbHNlOzsKKyAgLS1oZSB8IC0taCkKKyAgICAjIENvbmZsaWN0IGJldHdlZW4gLS1oZWxwIGFuZCAtLWhlYWRlcgorICAgIGFzX2ZuX2Vycm9yICJhbWJpZ3VvdXMgb3B0aW9uOiBcYCQxJworVHJ5IFxgJDAgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4iOzsKKyAgLS1oZWxwIHwgLS1oZWwgfCAtaCApCisgICAgJGFzX2VjaG8gIiRhY19jc191c2FnZSI7IGV4aXQgOzsKKyAgLXEgfCAtcXVpZXQgfCAtLXF1aWV0IHwgLS1xdWllIHwgLS1xdWkgfCAtLXF1IHwgLS1xIFwKKyAgfCAtc2lsZW50IHwgLS1zaWxlbnQgfCAtLXNpbGVuIHwgLS1zaWxlIHwgLS1zaWwgfCAtLXNpIHwgLS1zKQorICAgIGFjX2NzX3NpbGVudD06IDs7CisKKyAgIyBUaGlzIGlzIGFuIGVycm9yLgorICAtKikgYXNfZm5fZXJyb3IgInVucmVjb2duaXplZCBvcHRpb246IFxgJDEnCitUcnkgXGAkMCAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLiIgOzsKKworICAqKSBhc19mbl9hcHBlbmQgYWNfY29uZmlnX3RhcmdldHMgIiAkMSIKKyAgICAgYWNfbmVlZF9kZWZhdWx0cz1mYWxzZSA7OworCisgIGVzYWMKKyAgc2hpZnQKK2RvbmUKKworYWNfY29uZmlndXJlX2V4dHJhX2FyZ3M9CisKK2lmICRhY19jc19zaWxlbnQ7IHRoZW4KKyAgZXhlYyA2Pi9kZXYvbnVsbAorICBhY19jb25maWd1cmVfZXh0cmFfYXJncz0iJGFjX2NvbmZpZ3VyZV9leHRyYV9hcmdzIC0tc2lsZW50IgorZmkKKworX0FDRU9GCitjYXQgPj4kQ09ORklHX1NUQVRVUyA8PF9BQ0VPRiB8fCBhY193cml0ZV9mYWlsPTEKK2lmIFwkYWNfY3NfcmVjaGVjazsgdGhlbgorICBzZXQgWCAnJFNIRUxMJyAnJDAnICRhY19jb25maWd1cmVfYXJncyBcJGFjX2NvbmZpZ3VyZV9leHRyYV9hcmdzIC0tbm8tY3JlYXRlIC0tbm8tcmVjdXJzaW9uCisgIHNoaWZ0CisgIFwkYXNfZWNobyAicnVubmluZyBDT05GSUdfU0hFTEw9JFNIRUxMIFwkKiIgPiY2CisgIENPTkZJR19TSEVMTD0nJFNIRUxMJworICBleHBvcnQgQ09ORklHX1NIRUxMCisgIGV4ZWMgIlwkQCIKK2ZpCisKK19BQ0VPRgorY2F0ID4+JENPTkZJR19TVEFUVVMgPDxcX0FDRU9GIHx8IGFjX3dyaXRlX2ZhaWw9MQorZXhlYyA1Pj5jb25maWcubG9nCit7CisgIGVjaG8KKyAgc2VkICdoO3MvLi8tL2c7cy9eLi4uLyMjIC87cy8uLi4kLyAjIy87cDt4O3A7eCcgPDxfQVNCT1gKKyMjIFJ1bm5pbmcgJGFzX21lLiAjIworX0FTQk9YCisgICRhc19lY2hvICIkYWNfbG9nIgorfSA+JjUKKworX0FDRU9GCitjYXQgPj4kQ09ORklHX1NUQVRVUyA8PF9BQ0VPRiB8fCBhY193cml0ZV9mYWlsPTEKKyMKKyMgSU5JVC1DT01NQU5EUworIworQU1ERVBfVFJVRT0iJEFNREVQX1RSVUUiIGFjX2F1eF9kaXI9IiRhY19hdXhfZGlyIgorCitfQUNFT0YKKworY2F0ID4+JENPTkZJR19TVEFUVVMgPDxcX0FDRU9GIHx8IGFjX3dyaXRlX2ZhaWw9MQorCisjIEhhbmRsaW5nIG9mIGFyZ3VtZW50cy4KK2ZvciBhY19jb25maWdfdGFyZ2V0IGluICRhY19jb25maWdfdGFyZ2V0cworZG8KKyAgY2FzZSAkYWNfY29uZmlnX3RhcmdldCBpbgorICAgICJjb25maWcuaCIpIENPTkZJR19IRUFERVJTPSIkQ09ORklHX0hFQURFUlMgY29uZmlnLmgiIDs7CisgICAgImRlcGZpbGVzIikgQ09ORklHX0NPTU1BTkRTPSIkQ09ORklHX0NPTU1BTkRTIGRlcGZpbGVzIiA7OworICAgICJNYWtlZmlsZSIpIENPTkZJR19GSUxFUz0iJENPTkZJR19GSUxFUyBNYWtlZmlsZSIgOzsKKworICAqKSBhc19mbl9lcnJvciAiaW52YWxpZCBhcmd1bWVudDogXGAkYWNfY29uZmlnX3RhcmdldCciICIkTElORU5PIiA1OzsKKyAgZXNhYworZG9uZQorCisKKyMgSWYgdGhlIHVzZXIgZGlkIG5vdCB1c2UgdGhlIGFyZ3VtZW50cyB0byBzcGVjaWZ5IHRoZSBpdGVtcyB0byBpbnN0YW50aWF0ZSwKKyMgdGhlbiB0aGUgZW52dmFyIGludGVyZmFjZSBpcyB1c2VkLiAgU2V0IG9ubHkgdGhvc2UgdGhhdCBhcmUgbm90LgorIyBXZSB1c2UgdGhlIGxvbmcgZm9ybSBmb3IgdGhlIGRlZmF1bHQgYXNzaWdubWVudCBiZWNhdXNlIG9mIGFuIGV4dHJlbWVseQorIyBiaXphcnJlIGJ1ZyBvbiBTdW5PUyA0LjEuMy4KK2lmICRhY19uZWVkX2RlZmF1bHRzOyB0aGVuCisgIHRlc3QgIiR7Q09ORklHX0ZJTEVTK3NldH0iID0gc2V0IHx8IENPTkZJR19GSUxFUz0kY29uZmlnX2ZpbGVzCisgIHRlc3QgIiR7Q09ORklHX0hFQURFUlMrc2V0fSIgPSBzZXQgfHwgQ09ORklHX0hFQURFUlM9JGNvbmZpZ19oZWFkZXJzCisgIHRlc3QgIiR7Q09ORklHX0NPTU1BTkRTK3NldH0iID0gc2V0IHx8IENPTkZJR19DT01NQU5EUz0kY29uZmlnX2NvbW1hbmRzCitmaQorCisjIEhhdmUgYSB0ZW1wb3JhcnkgZGlyZWN0b3J5IGZvciBjb252ZW5pZW5jZS4gIE1ha2UgaXQgaW4gdGhlIGJ1aWxkIHRyZWUKKyMgc2ltcGx5IGJlY2F1c2UgdGhlcmUgaXMgbm8gcmVhc29uIGFnYWluc3QgaGF2aW5nIGl0IGhlcmUsIGFuZCBpbiBhZGRpdGlvbiwKKyMgY3JlYXRpbmcgYW5kIG1vdmluZyBmaWxlcyBmcm9tIC90bXAgY2FuIHNvbWV0aW1lcyBjYXVzZSBwcm9ibGVtcy4KKyMgSG9vayBmb3IgaXRzIHJlbW92YWwgdW5sZXNzIGRlYnVnZ2luZy4KKyMgTm90ZSB0aGF0IHRoZXJlIGlzIGEgc21hbGwgd2luZG93IGluIHdoaWNoIHRoZSBkaXJlY3Rvcnkgd2lsbCBub3QgYmUgY2xlYW5lZDoKKyMgYWZ0ZXIgaXRzIGNyZWF0aW9uIGJ1dCBiZWZvcmUgaXRzIG5hbWUgaGFzIGJlZW4gYXNzaWduZWQgdG8gYCR0bXAnLgorJGRlYnVnIHx8Cit7CisgIHRtcD0KKyAgdHJhcCAnZXhpdF9zdGF0dXM9JD8KKyAgeyB0ZXN0IC16ICIkdG1wIiB8fCB0ZXN0ICEgLWQgIiR0bXAiIHx8IHJtIC1mciAiJHRtcCI7IH0gJiYgZXhpdCAkZXhpdF9zdGF0dXMKKycgMAorICB0cmFwICdhc19mbl9leGl0IDEnIDEgMiAxMyAxNQorfQorIyBDcmVhdGUgYSAoc2VjdXJlKSB0bXAgZGlyZWN0b3J5IGZvciB0bXAgZmlsZXMuCisKK3sKKyAgdG1wPWAodW1hc2sgMDc3ICYmIG1rdGVtcCAtZCAiLi9jb25mWFhYWFhYIilgICYmCisgIHRlc3QgLW4gIiR0bXAiICYmIHRlc3QgLWQgIiR0bXAiCit9IHx8IGFzX2ZuX2Vycm9yICJjYW5ub3QgY3JlYXRlIGEgdGVtcG9yYXJ5IGRpcmVjdG9yeSBpbiAuIiAiJExJTkVOTyIgNQorCisjIFNldCB1cCB0aGUgc2NyaXB0cyBmb3IgQ09ORklHX0ZJTEVTIHNlY3Rpb24uCisjIE5vIG5lZWQgdG8gZ2VuZXJhdGUgdGhlbSBpZiB0aGVyZSBhcmUgbm8gQ09ORklHX0ZJTEVTLgorIyBUaGlzIGhhcHBlbnMgZm9yIGluc3RhbmNlIHdpdGggYC4vY29uZmlnLnN0YXR1cyBjb25maWcuaCcuCitpZiB0ZXN0IC1uICIkQ09ORklHX0ZJTEVTIjsgdGhlbgorCisKK2FjX2NyPWBlY2hvIFggfCB0ciBYICdcMDE1J2AKKyMgT24gY3lnd2luLCBiYXNoIGNhbiBlYXQgXHIgaW5zaWRlIGBgIGlmIHRoZSB1c2VyIHJlcXVlc3RlZCBpZ25jci4KKyMgQnV0IHdlIGtub3cgb2Ygbm8gb3RoZXIgc2hlbGwgd2hlcmUgYWNfY3Igd291bGQgYmUgZW1wdHkgYXQgdGhpcworIyBwb2ludCwgc28gd2UgY2FuIHVzZSBhIGJhc2hpc20gYXMgYSBmYWxsYmFjay4KK2lmIHRlc3QgIngkYWNfY3IiID0geDsgdGhlbgorICBldmFsIGFjX2NyPVwkXCdcXHJcJworZmkKK2FjX2NzX2F3a19jcj1gJEFXSyAnQkVHSU4geyBwcmludCAiYVxyYiIgfScgPC9kZXYvbnVsbCAyPi9kZXYvbnVsbGAKK2lmIHRlc3QgIiRhY19jc19hd2tfY3IiID0gImEke2FjX2NyfWIiOyB0aGVuCisgIGFjX2NzX2F3a19jcj0nXFxyJworZWxzZQorICBhY19jc19hd2tfY3I9JGFjX2NyCitmaQorCitlY2hvICdCRUdJTiB7JyA+IiR0bXAvc3ViczEuYXdrIiAmJgorX0FDRU9GCisKKworeworICBlY2hvICJjYXQgPmNvbmYkJHN1YnMuYXdrIDw8X0FDRU9GIiAmJgorICBlY2hvICIkYWNfc3Vic3RfdmFycyIgfCBzZWQgJ3MvLiovJiEkJiRhY19kZWxpbS8nICYmCisgIGVjaG8gIl9BQ0VPRiIKK30gPmNvbmYkJHN1YnMuc2ggfHwKKyAgYXNfZm5fZXJyb3IgImNvdWxkIG5vdCBtYWtlICRDT05GSUdfU1RBVFVTIiAiJExJTkVOTyIgNQorYWNfZGVsaW1fbnVtPWBlY2hvICIkYWNfc3Vic3RfdmFycyIgfCBncmVwIC1jICckJ2AKK2FjX2RlbGltPSclIV8hIyAnCitmb3IgYWNfbGFzdF90cnkgaW4gZmFsc2UgZmFsc2UgZmFsc2UgZmFsc2UgZmFsc2UgOjsgZG8KKyAgLiAuL2NvbmYkJHN1YnMuc2ggfHwKKyAgICBhc19mbl9lcnJvciAiY291bGQgbm90IG1ha2UgJENPTkZJR19TVEFUVVMiICIkTElORU5PIiA1CisKKyAgYWNfZGVsaW1fbj1gc2VkIC1uICJzLy4qJGFjX2RlbGltXCQvWC9wIiBjb25mJCRzdWJzLmF3ayB8IGdyZXAgLWMgWGAKKyAgaWYgdGVzdCAkYWNfZGVsaW1fbiA9ICRhY19kZWxpbV9udW07IHRoZW4KKyAgICBicmVhaworICBlbGlmICRhY19sYXN0X3RyeTsgdGhlbgorICAgIGFzX2ZuX2Vycm9yICJjb3VsZCBub3QgbWFrZSAkQ09ORklHX1NUQVRVUyIgIiRMSU5FTk8iIDUKKyAgZWxzZQorICAgIGFjX2RlbGltPSIkYWNfZGVsaW0hJGFjX2RlbGltIF8kYWNfZGVsaW0hISAiCisgIGZpCitkb25lCitybSAtZiBjb25mJCRzdWJzLnNoCisKK2NhdCA+PiRDT05GSUdfU1RBVFVTIDw8X0FDRU9GIHx8IGFjX3dyaXRlX2ZhaWw9MQorY2F0ID4+IlwkdG1wL3N1YnMxLmF3ayIgPDxcXF9BQ0FXSyAmJgorX0FDRU9GCitzZWQgLW4gJworaAorcy9eL1NbIi87IHMvIS4qLyJdPS8KK3AKK2cKK3MvXlteIV0qIS8vCis6cmVwbAordCByZXBsCitzLyciJGFjX2RlbGltIickLy8KK3QgZGVsaW0KKzpubAoraAorcy9cKC5cezE0OFx9XCkuLiovXDEvCit0IG1vcmUxCitzL1siXFxdL1xcJi9nOyBzL14vIi87IHMvJC9cXG4iXFwvCitwCituCitiIHJlcGwKKzptb3JlMQorcy9bIlxcXS9cXCYvZzsgcy9eLyIvOyBzLyQvIlxcLworcAorZworcy8uXHsxNDhcfS8vCit0IG5sCis6ZGVsaW0KK2gKK3MvXCguXHsxNDhcfVwpLi4qL1wxLwordCBtb3JlMgorcy9bIlxcXS9cXCYvZzsgcy9eLyIvOyBzLyQvIi8KK3AKK2IKKzptb3JlMgorcy9bIlxcXS9cXCYvZzsgcy9eLyIvOyBzLyQvIlxcLworcAorZworcy8uXHsxNDhcfS8vCit0IGRlbGltCisnIDxjb25mJCRzdWJzLmF3ayB8IHNlZCAnCisvXlteIiJdL3sKKyAgTgorICBzL1xuLy8KK30KKycgPj4kQ09ORklHX1NUQVRVUyB8fCBhY193cml0ZV9mYWlsPTEKK3JtIC1mIGNvbmYkJHN1YnMuYXdrCitjYXQgPj4kQ09ORklHX1NUQVRVUyA8PF9BQ0VPRiB8fCBhY193cml0ZV9mYWlsPTEKK19BQ0FXSworY2F0ID4+IlwkdG1wL3N1YnMxLmF3ayIgPDxfQUNBV0sgJiYKKyAgZm9yIChrZXkgaW4gUykgU19pc19zZXRba2V5XSA9IDEKKyAgRlMgPSAiByIKKworfQoreworICBsaW5lID0gJCAwCisgIG5maWVsZHMgPSBzcGxpdChsaW5lLCBmaWVsZCwgIkAiKQorICBzdWJzdGVkID0gMAorICBsZW4gPSBsZW5ndGgoZmllbGRbMV0pCisgIGZvciAoaSA9IDI7IGkgPCBuZmllbGRzOyBpKyspIHsKKyAgICBrZXkgPSBmaWVsZFtpXQorICAgIGtleWxlbiA9IGxlbmd0aChrZXkpCisgICAgaWYgKFNfaXNfc2V0W2tleV0pIHsKKyAgICAgIHZhbHVlID0gU1trZXldCisgICAgICBsaW5lID0gc3Vic3RyKGxpbmUsIDEsIGxlbikgIiIgdmFsdWUgIiIgc3Vic3RyKGxpbmUsIGxlbiArIGtleWxlbiArIDMpCisgICAgICBsZW4gKz0gbGVuZ3RoKHZhbHVlKSArIGxlbmd0aChmaWVsZFsrK2ldKQorICAgICAgc3Vic3RlZCA9IDEKKyAgICB9IGVsc2UKKyAgICAgIGxlbiArPSAxICsga2V5bGVuCisgIH0KKworICBwcmludCBsaW5lCit9CisKK19BQ0FXSworX0FDRU9GCitjYXQgPj4kQ09ORklHX1NUQVRVUyA8PFxfQUNFT0YgfHwgYWNfd3JpdGVfZmFpbD0xCitpZiBzZWQgInMvJGFjX2NyLy8iIDwgL2Rldi9udWxsID4gL2Rldi9udWxsIDI+JjE7IHRoZW4KKyAgc2VkICJzLyRhY19jclwkLy87IHMvJGFjX2NyLyRhY19jc19hd2tfY3IvZyIKK2Vsc2UKKyAgY2F0CitmaSA8ICIkdG1wL3N1YnMxLmF3ayIgPiAiJHRtcC9zdWJzLmF3ayIgXAorICB8fCBhc19mbl9lcnJvciAiY291bGQgbm90IHNldHVwIGNvbmZpZyBmaWxlcyBtYWNoaW5lcnkiICIkTElORU5PIiA1CitfQUNFT0YKKworIyBWUEFUSCBtYXkgY2F1c2UgdHJvdWJsZSB3aXRoIHNvbWUgbWFrZXMsIHNvIHdlIHJlbW92ZSAkKHNyY2RpciksCisjICR7c3JjZGlyfSBhbmQgQHNyY2RpckAgZnJvbSBWUEFUSCBpZiBzcmNkaXIgaXMgIi4iLCBzdHJpcCBsZWFkaW5nIGFuZAorIyB0cmFpbGluZyBjb2xvbnMgYW5kIHRoZW4gcmVtb3ZlIHRoZSB3aG9sZSBsaW5lIGlmIFZQQVRIIGJlY29tZXMgZW1wdHkKKyMgKGFjdHVhbGx5IHdlIGxlYXZlIGFuIGVtcHR5IGxpbmUgdG8gcHJlc2VydmUgbGluZSBudW1iZXJzKS4KK2lmIHRlc3QgIngkc3JjZGlyIiA9IHguOyB0aGVuCisgIGFjX3Zwc3ViPScvXlsJIF0qVlBBVEhbCSBdKj0veworcy86KlwkKHNyY2Rpcik6Ki86Lworcy86Klwke3NyY2Rpcn06Ki86Lworcy86KkBzcmNkaXJAOiovOi8KK3MvXlwoW149XSo9WwkgXSpcKToqL1wxLworcy86KiQvLworcy9eW149XSo9WwkgXSokLy8KK30nCitmaQorCitjYXQgPj4kQ09ORklHX1NUQVRVUyA8PFxfQUNFT0YgfHwgYWNfd3JpdGVfZmFpbD0xCitmaSAjIHRlc3QgLW4gIiRDT05GSUdfRklMRVMiCisKKyMgU2V0IHVwIHRoZSBzY3JpcHRzIGZvciBDT05GSUdfSEVBREVSUyBzZWN0aW9uLgorIyBObyBuZWVkIHRvIGdlbmVyYXRlIHRoZW0gaWYgdGhlcmUgYXJlIG5vIENPTkZJR19IRUFERVJTLgorIyBUaGlzIGhhcHBlbnMgZm9yIGluc3RhbmNlIHdpdGggYC4vY29uZmlnLnN0YXR1cyBNYWtlZmlsZScuCitpZiB0ZXN0IC1uICIkQ09ORklHX0hFQURFUlMiOyB0aGVuCitjYXQgPiIkdG1wL2RlZmluZXMuYXdrIiA8PFxfQUNBV0sgfHwKK0JFR0lOIHsKK19BQ0VPRgorCisjIFRyYW5zZm9ybSBjb25mZGVmcy5oIGludG8gYW4gYXdrIHNjcmlwdCBgZGVmaW5lcy5hd2snLCBlbWJlZGRlZCBhcworIyBoZXJlLWRvY3VtZW50IGluIGNvbmZpZy5zdGF0dXMsIHRoYXQgc3Vic3RpdHV0ZXMgdGhlIHByb3BlciB2YWx1ZXMgaW50bworIyBjb25maWcuaC5pbiB0byBwcm9kdWNlIGNvbmZpZy5oLgorCisjIENyZWF0ZSBhIGRlbGltaXRlciBzdHJpbmcgdGhhdCBkb2VzIG5vdCBleGlzdCBpbiBjb25mZGVmcy5oLCB0byBlYXNlCisjIGhhbmRsaW5nIG9mIGxvbmcgbGluZXMuCithY19kZWxpbT0nJSFfISMgJworZm9yIGFjX2xhc3RfdHJ5IGluIGZhbHNlIGZhbHNlIDo7IGRvCisgIGFjX3Q9YHNlZCAtbiAiLyRhY19kZWxpbS9wIiBjb25mZGVmcy5oYAorICBpZiB0ZXN0IC16ICIkYWNfdCI7IHRoZW4KKyAgICBicmVhaworICBlbGlmICRhY19sYXN0X3RyeTsgdGhlbgorICAgIGFzX2ZuX2Vycm9yICJjb3VsZCBub3QgbWFrZSAkQ09ORklHX0hFQURFUlMiICIkTElORU5PIiA1CisgIGVsc2UKKyAgICBhY19kZWxpbT0iJGFjX2RlbGltISRhY19kZWxpbSBfJGFjX2RlbGltISEgIgorICBmaQorZG9uZQorCisjIEZvciB0aGUgYXdrIHNjcmlwdCwgRCBpcyBhbiBhcnJheSBvZiBtYWNybyB2YWx1ZXMga2V5ZWQgYnkgbmFtZSwKKyMgbGlrZXdpc2UgUCBjb250YWlucyBtYWNybyBwYXJhbWV0ZXJzIGlmIGFueS4gIFByZXNlcnZlIGJhY2tzbGFzaAorIyBuZXdsaW5lIHNlcXVlbmNlcy4KKworYWNfd29yZF9yZT1bXyRhc19jcl9MZXR0ZXJzXVtfJGFzX2NyX2FsbnVtXSoKK3NlZCAtbiAnCitzLy5cezE0OFx9LyYnIiRhY19kZWxpbSInL2cKK3QgcnNldAorOnJzZXQKK3MvXlsJIF0qI1sJIF0qZGVmaW5lWwkgXVsJIF0qLyAvCit0IGRlZgorZAorOmRlZgorcy9cXCQvLwordCBic25sCitzL1siXFxdL1xcJi9nCitzL14gXCgnIiRhY193b3JkX3JlIidcKVwoKFteKCldKilcKVsJIF0qXCguKlwpL1BbIlwxIl09IlwyIlwKK0RbIlwxIl09IiBcMyIvcAorcy9eIFwoJyIkYWNfd29yZF9yZSInXClbCSBdKlwoLipcKS9EWyJcMSJdPSIgXDIiL3AKK2QKKzpic25sCitzL1siXFxdL1xcJi9nCitzL14gXCgnIiRhY193b3JkX3JlIidcKVwoKFteKCldKilcKVsJIF0qXCguKlwpL1BbIlwxIl09IlwyIlwKK0RbIlwxIl09IiBcM1xcXFxcXG4iXFwvcAordCBjb250CitzL14gXCgnIiRhY193b3JkX3JlIidcKVsJIF0qXCguKlwpL0RbIlwxIl09IiBcMlxcXFxcXG4iXFwvcAordCBjb250CitkCis6Y29udAorbgorcy8uXHsxNDhcfS8mJyIkYWNfZGVsaW0iJy9nCit0IGNsZWFyCis6Y2xlYXIKK3MvXFwkLy8KK3QgYnNubGMKK3MvWyJcXF0vXFwmL2c7IHMvXi8iLzsgcy8kLyIvcAorZAorOmJzbmxjCitzL1siXFxdL1xcJi9nOyBzL14vIi87IHMvJC9cXFxcXFxuIlxcL3AKK2IgY29udAorJyA8Y29uZmRlZnMuaCB8IHNlZCAnCitzLyciJGFjX2RlbGltIicvIlxcXAorIi9nJyA+PiRDT05GSUdfU1RBVFVTIHx8IGFjX3dyaXRlX2ZhaWw9MQorCitjYXQgPj4kQ09ORklHX1NUQVRVUyA8PF9BQ0VPRiB8fCBhY193cml0ZV9mYWlsPTEKKyAgZm9yIChrZXkgaW4gRCkgRF9pc19zZXRba2V5XSA9IDEKKyAgRlMgPSAiByIKK30KKy9eW1x0IF0qI1tcdCBdKihkZWZpbmV8dW5kZWYpW1x0IF0rJGFjX3dvcmRfcmUoW1x0IChdfFwkKS8geworICBsaW5lID0gXCQgMAorICBzcGxpdChsaW5lLCBhcmcsICIgIikKKyAgaWYgKGFyZ1sxXSA9PSAiIyIpIHsKKyAgICBkZWZ1bmRlZiA9IGFyZ1syXQorICAgIG1hYzEgPSBhcmdbM10KKyAgfSBlbHNlIHsKKyAgICBkZWZ1bmRlZiA9IHN1YnN0cihhcmdbMV0sIDIpCisgICAgbWFjMSA9IGFyZ1syXQorICB9CisgIHNwbGl0KG1hYzEsIG1hYzIsICIoIikgIykKKyAgbWFjcm8gPSBtYWMyWzFdCisgIHByZWZpeCA9IHN1YnN0cihsaW5lLCAxLCBpbmRleChsaW5lLCBkZWZ1bmRlZikgLSAxKQorICBpZiAoRF9pc19zZXRbbWFjcm9dKSB7CisgICAgIyBQcmVzZXJ2ZSB0aGUgd2hpdGUgc3BhY2Ugc3Vycm91bmRpbmcgdGhlICIjIi4KKyAgICBwcmludCBwcmVmaXggImRlZmluZSIsIG1hY3JvIFBbbWFjcm9dIERbbWFjcm9dCisgICAgbmV4dAorICB9IGVsc2UgeworICAgICMgUmVwbGFjZSAjdW5kZWYgd2l0aCBjb21tZW50cy4gIFRoaXMgaXMgbmVjZXNzYXJ5LCBmb3IgZXhhbXBsZSwKKyAgICAjIGluIHRoZSBjYXNlIG9mIF9QT1NJWF9TT1VSQ0UsIHdoaWNoIGlzIHByZWRlZmluZWQgYW5kIHJlcXVpcmVkCisgICAgIyBvbiBzb21lIHN5c3RlbXMgd2hlcmUgY29uZmlndXJlIHdpbGwgbm90IGRlY2lkZSB0byBkZWZpbmUgaXQuCisgICAgaWYgKGRlZnVuZGVmID09ICJ1bmRlZiIpIHsKKyAgICAgIHByaW50ICIvKiIsIHByZWZpeCBkZWZ1bmRlZiwgbWFjcm8sICIqLyIKKyAgICAgIG5leHQKKyAgICB9CisgIH0KK30KK3sgcHJpbnQgfQorX0FDQVdLCitfQUNFT0YKK2NhdCA+PiRDT05GSUdfU1RBVFVTIDw8XF9BQ0VPRiB8fCBhY193cml0ZV9mYWlsPTEKKyAgYXNfZm5fZXJyb3IgImNvdWxkIG5vdCBzZXR1cCBjb25maWcgaGVhZGVycyBtYWNoaW5lcnkiICIkTElORU5PIiA1CitmaSAjIHRlc3QgLW4gIiRDT05GSUdfSEVBREVSUyIKKworCitldmFsIHNldCBYICIgIDpGICRDT05GSUdfRklMRVMgIDpIICRDT05GSUdfSEVBREVSUyAgICA6QyAkQ09ORklHX0NPTU1BTkRTIgorc2hpZnQKK2ZvciBhY190YWcKK2RvCisgIGNhc2UgJGFjX3RhZyBpbgorICA6W0ZITENdKSBhY19tb2RlPSRhY190YWc7IGNvbnRpbnVlOzsKKyAgZXNhYworICBjYXNlICRhY19tb2RlJGFjX3RhZyBpbgorICA6W0ZITF0qOiopOzsKKyAgOkwqIHwgOkMqOiopIGFzX2ZuX2Vycm9yICJpbnZhbGlkIHRhZyBcYCRhY190YWcnIiAiJExJTkVOTyIgNTs7CisgIDpbRkhdLSkgYWNfdGFnPS06LTs7CisgIDpbRkhdKikgYWNfdGFnPSRhY190YWc6JGFjX3RhZy5pbjs7CisgIGVzYWMKKyAgYWNfc2F2ZV9JRlM9JElGUworICBJRlM9OgorICBzZXQgeCAkYWNfdGFnCisgIElGUz0kYWNfc2F2ZV9JRlMKKyAgc2hpZnQKKyAgYWNfZmlsZT0kMQorICBzaGlmdAorCisgIGNhc2UgJGFjX21vZGUgaW4KKyAgOkwpIGFjX3NvdXJjZT0kMTs7CisgIDpbRkhdKQorICAgIGFjX2ZpbGVfaW5wdXRzPQorICAgIGZvciBhY19mCisgICAgZG8KKyAgICAgIGNhc2UgJGFjX2YgaW4KKyAgICAgIC0pIGFjX2Y9IiR0bXAvc3RkaW4iOzsKKyAgICAgICopICMgTG9vayBmb3IgdGhlIGZpbGUgZmlyc3QgaW4gdGhlIGJ1aWxkIHRyZWUsIHRoZW4gaW4gdGhlIHNvdXJjZSB0cmVlCisJICMgKGlmIHRoZSBwYXRoIGlzIG5vdCBhYnNvbHV0ZSkuICBUaGUgYWJzb2x1dGUgcGF0aCBjYW5ub3QgYmUgRE9TLXN0eWxlLAorCSAjIGJlY2F1c2UgJGFjX2YgY2Fubm90IGNvbnRhaW4gYDonLgorCSB0ZXN0IC1mICIkYWNfZiIgfHwKKwkgICBjYXNlICRhY19mIGluCisJICAgW1xcLyRdKikgZmFsc2U7OworCSAgICopIHRlc3QgLWYgIiRzcmNkaXIvJGFjX2YiICYmIGFjX2Y9IiRzcmNkaXIvJGFjX2YiOzsKKwkgICBlc2FjIHx8CisJICAgeyBhc19mbl9zZXRfc3RhdHVzIDEKK2FzX2ZuX2Vycm9yICJjYW5ub3QgZmluZCBpbnB1dCBmaWxlOiBcYCRhY19mJyIgIiRMSU5FTk8iIDU7IH07OworICAgICAgZXNhYworICAgICAgY2FzZSAkYWNfZiBpbiAqXCcqKSBhY19mPWAkYXNfZWNobyAiJGFjX2YiIHwgc2VkICJzLycvJ1xcXFxcXFxcJycvZyJgOzsgZXNhYworICAgICAgYXNfZm5fYXBwZW5kIGFjX2ZpbGVfaW5wdXRzICIgJyRhY19mJyIKKyAgICBkb25lCisKKyAgICAjIExldCdzIHN0aWxsIHByZXRlbmQgaXQgaXMgYGNvbmZpZ3VyZScgd2hpY2ggaW5zdGFudGlhdGVzIChpLmUuLCBkb24ndAorICAgICMgdXNlICRhc19tZSksIHBlb3BsZSB3b3VsZCBiZSBzdXJwcmlzZWQgdG8gcmVhZDoKKyAgICAjICAgIC8qIGNvbmZpZy5oLiAgR2VuZXJhdGVkIGJ5IGNvbmZpZy5zdGF0dXMuICAqLworICAgIGNvbmZpZ3VyZV9pbnB1dD0nR2VuZXJhdGVkIGZyb20gJ2AKKwkgICRhc19lY2hvICIkKiIgfCBzZWQgJ3N8XlteOl0qL3x8O3N8OlteOl0qL3wsIHxnJworCWAnIGJ5IGNvbmZpZ3VyZS4nCisgICAgaWYgdGVzdCB4IiRhY19maWxlIiAhPSB4LTsgdGhlbgorICAgICAgY29uZmlndXJlX2lucHV0PSIkYWNfZmlsZS4gICRjb25maWd1cmVfaW5wdXQiCisgICAgICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNyZWF0aW5nICRhY19maWxlIiA+JjUKKyRhc19lY2hvICIkYXNfbWU6IGNyZWF0aW5nICRhY19maWxlIiA+JjY7fQorICAgIGZpCisgICAgIyBOZXV0cmFsaXplIHNwZWNpYWwgY2hhcmFjdGVycyBpbnRlcnByZXRlZCBieSBzZWQgaW4gcmVwbGFjZW1lbnQgc3RyaW5ncy4KKyAgICBjYXNlICRjb25maWd1cmVfaW5wdXQgaW4gIygKKyAgICAqXCYqIHwgKlx8KiB8ICpcXCogKQorICAgICAgIGFjX3NlZF9jb25mX2lucHV0PWAkYXNfZWNobyAiJGNvbmZpZ3VyZV9pbnB1dCIgfAorICAgICAgIHNlZCAncy9bXFxcXCZ8XS9cXFxcJi9nJ2A7OyAjKAorICAgICopIGFjX3NlZF9jb25mX2lucHV0PSRjb25maWd1cmVfaW5wdXQ7OworICAgIGVzYWMKKworICAgIGNhc2UgJGFjX3RhZyBpbgorICAgICo6LToqIHwgKjotKSBjYXQgPiIkdG1wL3N0ZGluIiBcCisgICAgICB8fCBhc19mbl9lcnJvciAiY291bGQgbm90IGNyZWF0ZSAkYWNfZmlsZSIgIiRMSU5FTk8iIDUgOzsKKyAgICBlc2FjCisgICAgOzsKKyAgZXNhYworCisgIGFjX2Rpcj1gJGFzX2Rpcm5hbWUgLS0gIiRhY19maWxlIiB8fAorJGFzX2V4cHIgWCIkYWNfZmlsZSIgOiAnWFwoLipbXi9dXCkvLypbXi9dW14vXSovKiQnIFx8IFwKKwkgWCIkYWNfZmlsZSIgOiAnWFwoLy9cKVteL10nIFx8IFwKKwkgWCIkYWNfZmlsZSIgOiAnWFwoLy9cKSQnIFx8IFwKKwkgWCIkYWNfZmlsZSIgOiAnWFwoL1wpJyBcfCAuIDI+L2Rldi9udWxsIHx8CiskYXNfZWNobyBYIiRhY19maWxlIiB8CisgICAgc2VkICcvXlhcKC4qW14vXVwpXC9cLypbXi9dW14vXSpcLyokL3sKKwkgICAgcy8vXDEvCisJICAgIHEKKwkgIH0KKwkgIC9eWFwoXC9cL1wpW14vXS4qL3sKKwkgICAgcy8vXDEvCisJICAgIHEKKwkgIH0KKwkgIC9eWFwoXC9cL1wpJC97CisJICAgIHMvL1wxLworCSAgICBxCisJICB9CisJICAvXlhcKFwvXCkuKi97CisJICAgIHMvL1wxLworCSAgICBxCisJICB9CisJICBzLy4qLy4vOyBxJ2AKKyAgYXNfZGlyPSIkYWNfZGlyIjsgYXNfZm5fbWtkaXJfcAorICBhY19idWlsZGRpcj0uCisKK2Nhc2UgIiRhY19kaXIiIGluCisuKSBhY19kaXJfc3VmZml4PSBhY190b3BfYnVpbGRkaXJfc3ViPS4gYWNfdG9wX2J1aWxkX3ByZWZpeD0gOzsKKyopCisgIGFjX2Rpcl9zdWZmaXg9L2AkYXNfZWNobyAiJGFjX2RpciIgfCBzZWQgJ3N8XlwuW1xcL118fCdgCisgICMgQSAiLi4iIGZvciBlYWNoIGRpcmVjdG9yeSBpbiAkYWNfZGlyX3N1ZmZpeC4KKyAgYWNfdG9wX2J1aWxkZGlyX3N1Yj1gJGFzX2VjaG8gIiRhY19kaXJfc3VmZml4IiB8IHNlZCAnc3wvW15cXC9dKnwvLi58ZztzfC98fCdgCisgIGNhc2UgJGFjX3RvcF9idWlsZGRpcl9zdWIgaW4KKyAgIiIpIGFjX3RvcF9idWlsZGRpcl9zdWI9LiBhY190b3BfYnVpbGRfcHJlZml4PSA7OworICAqKSAgYWNfdG9wX2J1aWxkX3ByZWZpeD0kYWNfdG9wX2J1aWxkZGlyX3N1Yi8gOzsKKyAgZXNhYyA7OworZXNhYworYWNfYWJzX3RvcF9idWlsZGRpcj0kYWNfcHdkCithY19hYnNfYnVpbGRkaXI9JGFjX3B3ZCRhY19kaXJfc3VmZml4CisjIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5OgorYWNfdG9wX2J1aWxkZGlyPSRhY190b3BfYnVpbGRfcHJlZml4CisKK2Nhc2UgJHNyY2RpciBpbgorICAuKSAgIyBXZSBhcmUgYnVpbGRpbmcgaW4gcGxhY2UuCisgICAgYWNfc3JjZGlyPS4KKyAgICBhY190b3Bfc3JjZGlyPSRhY190b3BfYnVpbGRkaXJfc3ViCisgICAgYWNfYWJzX3RvcF9zcmNkaXI9JGFjX3B3ZCA7OworICBbXFwvXSogfCA/OltcXC9dKiApICAjIEFic29sdXRlIG5hbWUuCisgICAgYWNfc3JjZGlyPSRzcmNkaXIkYWNfZGlyX3N1ZmZpeDsKKyAgICBhY190b3Bfc3JjZGlyPSRzcmNkaXIKKyAgICBhY19hYnNfdG9wX3NyY2Rpcj0kc3JjZGlyIDs7CisgICopICMgUmVsYXRpdmUgbmFtZS4KKyAgICBhY19zcmNkaXI9JGFjX3RvcF9idWlsZF9wcmVmaXgkc3JjZGlyJGFjX2Rpcl9zdWZmaXgKKyAgICBhY190b3Bfc3JjZGlyPSRhY190b3BfYnVpbGRfcHJlZml4JHNyY2RpcgorICAgIGFjX2Fic190b3Bfc3JjZGlyPSRhY19wd2QvJHNyY2RpciA7OworZXNhYworYWNfYWJzX3NyY2Rpcj0kYWNfYWJzX3RvcF9zcmNkaXIkYWNfZGlyX3N1ZmZpeAorCisKKyAgY2FzZSAkYWNfbW9kZSBpbgorICA6RikKKyAgIworICAjIENPTkZJR19GSUxFCisgICMKKworICBjYXNlICRJTlNUQUxMIGluCisgIFtcXC8kXSogfCA/OltcXC9dKiApIGFjX0lOU1RBTEw9JElOU1RBTEwgOzsKKyAgKikgYWNfSU5TVEFMTD0kYWNfdG9wX2J1aWxkX3ByZWZpeCRJTlNUQUxMIDs7CisgIGVzYWMKKyAgYWNfTUtESVJfUD0kTUtESVJfUAorICBjYXNlICRNS0RJUl9QIGluCisgIFtcXC8kXSogfCA/OltcXC9dKiApIDs7CisgICovKikgYWNfTUtESVJfUD0kYWNfdG9wX2J1aWxkX3ByZWZpeCRNS0RJUl9QIDs7CisgIGVzYWMKK19BQ0VPRgorCitjYXQgPj4kQ09ORklHX1NUQVRVUyA8PFxfQUNFT0YgfHwgYWNfd3JpdGVfZmFpbD0xCisjIElmIHRoZSB0ZW1wbGF0ZSBkb2VzIG5vdCBrbm93IGFib3V0IGRhdGFyb290ZGlyLCBleHBhbmQgaXQuCisjIEZJWE1FOiBUaGlzIGhhY2sgc2hvdWxkIGJlIHJlbW92ZWQgYSBmZXcgeWVhcnMgYWZ0ZXIgMi42MC4KK2FjX2RhdGFyb290ZGlyX2hhY2s9OyBhY19kYXRhcm9vdGRpcl9zZWVuPQorYWNfc2VkX2RhdGFyb290PScKKy9kYXRhcm9vdGRpci8geworICBwCisgIHEKK30KKy9AZGF0YWRpckAvcAorL0Bkb2NkaXJAL3AKKy9AaW5mb2RpckAvcAorL0Bsb2NhbGVkaXJAL3AKKy9AbWFuZGlyQC9wJworY2FzZSBgZXZhbCAic2VkIC1uIFwiXCRhY19zZWRfZGF0YXJvb3RcIiAkYWNfZmlsZV9pbnB1dHMiYCBpbgorKmRhdGFyb290ZGlyKikgYWNfZGF0YXJvb3RkaXJfc2Vlbj15ZXM7OworKkBkYXRhZGlyQCp8KkBkb2NkaXJAKnwqQGluZm9kaXJAKnwqQGxvY2FsZWRpckAqfCpAbWFuZGlyQCopCisgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogV0FSTklORzogJGFjX2ZpbGVfaW5wdXRzIHNlZW1zIHRvIGlnbm9yZSB0aGUgLS1kYXRhcm9vdGRpciBzZXR0aW5nIiA+JjUKKyRhc19lY2hvICIkYXNfbWU6IFdBUk5JTkc6ICRhY19maWxlX2lucHV0cyBzZWVtcyB0byBpZ25vcmUgdGhlIC0tZGF0YXJvb3RkaXIgc2V0dGluZyIgPiYyO30KK19BQ0VPRgorY2F0ID4+JENPTkZJR19TVEFUVVMgPDxfQUNFT0YgfHwgYWNfd3JpdGVfZmFpbD0xCisgIGFjX2RhdGFyb290ZGlyX2hhY2s9JworICBzJkBkYXRhZGlyQCYkZGF0YWRpciZnCisgIHMmQGRvY2RpckAmJGRvY2RpciZnCisgIHMmQGluZm9kaXJAJiRpbmZvZGlyJmcKKyAgcyZAbG9jYWxlZGlyQCYkbG9jYWxlZGlyJmcKKyAgcyZAbWFuZGlyQCYkbWFuZGlyJmcKKyAgcyZcXFwke2RhdGFyb290ZGlyfSYkZGF0YXJvb3RkaXImZycgOzsKK2VzYWMKK19BQ0VPRgorCisjIE5ldXRyYWxpemUgVlBBVEggd2hlbiBgJHNyY2RpcicgPSBgLicuCisjIFNoZWxsIGNvZGUgaW4gY29uZmlndXJlLmFjIG1pZ2h0IHNldCBleHRyYXN1Yi4KKyMgRklYTUU6IGRvIHdlIHJlYWxseSB3YW50IHRvIG1haW50YWluIHRoaXMgZmVhdHVyZT8KK2NhdCA+PiRDT05GSUdfU1RBVFVTIDw8X0FDRU9GIHx8IGFjX3dyaXRlX2ZhaWw9MQorYWNfc2VkX2V4dHJhPSIkYWNfdnBzdWIKKyRleHRyYXN1YgorX0FDRU9GCitjYXQgPj4kQ09ORklHX1NUQVRVUyA8PFxfQUNFT0YgfHwgYWNfd3JpdGVfZmFpbD0xCis6dAorL0BbYS16QS1aX11bYS16QS1aXzAtOV0qQC8hYgorc3xAY29uZmlndXJlX2lucHV0QHwkYWNfc2VkX2NvbmZfaW5wdXR8O3QgdAorcyZAdG9wX2J1aWxkZGlyQCYkYWNfdG9wX2J1aWxkZGlyX3N1YiY7dCB0CitzJkB0b3BfYnVpbGRfcHJlZml4QCYkYWNfdG9wX2J1aWxkX3ByZWZpeCY7dCB0CitzJkBzcmNkaXJAJiRhY19zcmNkaXImO3QgdAorcyZAYWJzX3NyY2RpckAmJGFjX2Fic19zcmNkaXImO3QgdAorcyZAdG9wX3NyY2RpckAmJGFjX3RvcF9zcmNkaXImO3QgdAorcyZAYWJzX3RvcF9zcmNkaXJAJiRhY19hYnNfdG9wX3NyY2RpciY7dCB0CitzJkBidWlsZGRpckAmJGFjX2J1aWxkZGlyJjt0IHQKK3MmQGFic19idWlsZGRpckAmJGFjX2Fic19idWlsZGRpciY7dCB0CitzJkBhYnNfdG9wX2J1aWxkZGlyQCYkYWNfYWJzX3RvcF9idWlsZGRpciY7dCB0CitzJkBJTlNUQUxMQCYkYWNfSU5TVEFMTCY7dCB0CitzJkBNS0RJUl9QQCYkYWNfTUtESVJfUCY7dCB0CiskYWNfZGF0YXJvb3RkaXJfaGFjaworIgorZXZhbCBzZWQgXCJcJGFjX3NlZF9leHRyYVwiICIkYWNfZmlsZV9pbnB1dHMiIHwgJEFXSyAtZiAiJHRtcC9zdWJzLmF3ayIgPiR0bXAvb3V0IFwKKyAgfHwgYXNfZm5fZXJyb3IgImNvdWxkIG5vdCBjcmVhdGUgJGFjX2ZpbGUiICIkTElORU5PIiA1CisKK3Rlc3QgLXogIiRhY19kYXRhcm9vdGRpcl9oYWNrJGFjX2RhdGFyb290ZGlyX3NlZW4iICYmCisgIHsgYWNfb3V0PWBzZWQgLW4gJy9cJHtkYXRhcm9vdGRpcn0vcCcgIiR0bXAvb3V0ImA7IHRlc3QgLW4gIiRhY19vdXQiOyB9ICYmCisgIHsgYWNfb3V0PWBzZWQgLW4gJy9eWwkgXSpkYXRhcm9vdGRpclsJIF0qOio9L3AnICIkdG1wL291dCJgOyB0ZXN0IC16ICIkYWNfb3V0IjsgfSAmJgorICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IFdBUk5JTkc6ICRhY19maWxlIGNvbnRhaW5zIGEgcmVmZXJlbmNlIHRvIHRoZSB2YXJpYWJsZSBcYGRhdGFyb290ZGlyJword2hpY2ggc2VlbXMgdG8gYmUgdW5kZWZpbmVkLiAgUGxlYXNlIG1ha2Ugc3VyZSBpdCBpcyBkZWZpbmVkLiIgPiY1CiskYXNfZWNobyAiJGFzX21lOiBXQVJOSU5HOiAkYWNfZmlsZSBjb250YWlucyBhIHJlZmVyZW5jZSB0byB0aGUgdmFyaWFibGUgXGBkYXRhcm9vdGRpcicKK3doaWNoIHNlZW1zIHRvIGJlIHVuZGVmaW5lZC4gIFBsZWFzZSBtYWtlIHN1cmUgaXQgaXMgZGVmaW5lZC4iID4mMjt9CisKKyAgcm0gLWYgIiR0bXAvc3RkaW4iCisgIGNhc2UgJGFjX2ZpbGUgaW4KKyAgLSkgY2F0ICIkdG1wL291dCIgJiYgcm0gLWYgIiR0bXAvb3V0Ijs7CisgICopIHJtIC1mICIkYWNfZmlsZSIgJiYgbXYgIiR0bXAvb3V0IiAiJGFjX2ZpbGUiOzsKKyAgZXNhYyBcCisgIHx8IGFzX2ZuX2Vycm9yICJjb3VsZCBub3QgY3JlYXRlICRhY19maWxlIiAiJExJTkVOTyIgNQorIDs7CisgIDpIKQorICAjCisgICMgQ09ORklHX0hFQURFUgorICAjCisgIGlmIHRlc3QgeCIkYWNfZmlsZSIgIT0geC07IHRoZW4KKyAgICB7CisgICAgICAkYXNfZWNobyAiLyogJGNvbmZpZ3VyZV9pbnB1dCAgKi8iIFwKKyAgICAgICYmIGV2YWwgJyRBV0sgLWYgIiR0bXAvZGVmaW5lcy5hd2siJyAiJGFjX2ZpbGVfaW5wdXRzIgorICAgIH0gPiIkdG1wL2NvbmZpZy5oIiBcCisgICAgICB8fCBhc19mbl9lcnJvciAiY291bGQgbm90IGNyZWF0ZSAkYWNfZmlsZSIgIiRMSU5FTk8iIDUKKyAgICBpZiBkaWZmICIkYWNfZmlsZSIgIiR0bXAvY29uZmlnLmgiID4vZGV2L251bGwgMj4mMTsgdGhlbgorICAgICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiAkYWNfZmlsZSBpcyB1bmNoYW5nZWQiID4mNQorJGFzX2VjaG8gIiRhc19tZTogJGFjX2ZpbGUgaXMgdW5jaGFuZ2VkIiA+JjY7fQorICAgIGVsc2UKKyAgICAgIHJtIC1mICIkYWNfZmlsZSIKKyAgICAgIG12ICIkdG1wL2NvbmZpZy5oIiAiJGFjX2ZpbGUiIFwKKwl8fCBhc19mbl9lcnJvciAiY291bGQgbm90IGNyZWF0ZSAkYWNfZmlsZSIgIiRMSU5FTk8iIDUKKyAgICBmaQorICBlbHNlCisgICAgJGFzX2VjaG8gIi8qICRjb25maWd1cmVfaW5wdXQgICovIiBcCisgICAgICAmJiBldmFsICckQVdLIC1mICIkdG1wL2RlZmluZXMuYXdrIicgIiRhY19maWxlX2lucHV0cyIgXAorICAgICAgfHwgYXNfZm5fZXJyb3IgImNvdWxkIG5vdCBjcmVhdGUgLSIgIiRMSU5FTk8iIDUKKyAgZmkKKyMgQ29tcHV0ZSAiJGFjX2ZpbGUiJ3MgaW5kZXggaW4gJGNvbmZpZ19oZWFkZXJzLgorX2FtX2FyZz0iJGFjX2ZpbGUiCitfYW1fc3RhbXBfY291bnQ9MQorZm9yIF9hbV9oZWFkZXIgaW4gJGNvbmZpZ19oZWFkZXJzIDo7IGRvCisgIGNhc2UgJF9hbV9oZWFkZXIgaW4KKyAgICAkX2FtX2FyZyB8ICRfYW1fYXJnOiogKQorICAgICAgYnJlYWsgOzsKKyAgICAqICkKKyAgICAgIF9hbV9zdGFtcF9jb3VudD1gZXhwciAkX2FtX3N0YW1wX2NvdW50ICsgMWAgOzsKKyAgZXNhYworZG9uZQorZWNobyAidGltZXN0YW1wIGZvciAkX2FtX2FyZyIgPmAkYXNfZGlybmFtZSAtLSAiJF9hbV9hcmciIHx8CiskYXNfZXhwciBYIiRfYW1fYXJnIiA6ICdYXCguKlteL11cKS8vKlteL11bXi9dKi8qJCcgXHwgXAorCSBYIiRfYW1fYXJnIiA6ICdYXCgvL1wpW14vXScgXHwgXAorCSBYIiRfYW1fYXJnIiA6ICdYXCgvL1wpJCcgXHwgXAorCSBYIiRfYW1fYXJnIiA6ICdYXCgvXCknIFx8IC4gMj4vZGV2L251bGwgfHwKKyRhc19lY2hvIFgiJF9hbV9hcmciIHwKKyAgICBzZWQgJy9eWFwoLipbXi9dXClcL1wvKlteL11bXi9dKlwvKiQveworCSAgICBzLy9cMS8KKwkgICAgcQorCSAgfQorCSAgL15YXChcL1wvXClbXi9dLioveworCSAgICBzLy9cMS8KKwkgICAgcQorCSAgfQorCSAgL15YXChcL1wvXCkkL3sKKwkgICAgcy8vXDEvCisJICAgIHEKKwkgIH0KKwkgIC9eWFwoXC9cKS4qL3sKKwkgICAgcy8vXDEvCisJICAgIHEKKwkgIH0KKwkgIHMvLiovLi87IHEnYC9zdGFtcC1oJF9hbV9zdGFtcF9jb3VudAorIDs7CisKKyAgOkMpICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGV4ZWN1dGluZyAkYWNfZmlsZSBjb21tYW5kcyIgPiY1CiskYXNfZWNobyAiJGFzX21lOiBleGVjdXRpbmcgJGFjX2ZpbGUgY29tbWFuZHMiID4mNjt9CisgOzsKKyAgZXNhYworCisKKyAgY2FzZSAkYWNfZmlsZSRhY19tb2RlIGluCisgICAgImRlcGZpbGVzIjpDKSB0ZXN0IHgiJEFNREVQX1RSVUUiICE9IHgiIiB8fCB7CisgICMgQXV0b2NvbmYgMi42MiBxdW90ZXMgLS1maWxlIGFyZ3VtZW50cyBmb3IgZXZhbCwgYnV0IG5vdCB3aGVuIGZpbGVzCisgICMgYXJlIGxpc3RlZCB3aXRob3V0IC0tZmlsZS4gIExldCdzIHBsYXkgc2FmZSBhbmQgb25seSBlbmFibGUgdGhlIGV2YWwKKyAgIyBpZiB3ZSBkZXRlY3QgdGhlIHF1b3RpbmcuCisgIGNhc2UgJENPTkZJR19GSUxFUyBpbgorICAqXCcqKSBldmFsIHNldCB4ICIkQ09ORklHX0ZJTEVTIiA7OworICAqKSAgIHNldCB4ICRDT05GSUdfRklMRVMgOzsKKyAgZXNhYworICBzaGlmdAorICBmb3IgbWYKKyAgZG8KKyAgICAjIFN0cmlwIE1GIHNvIHdlIGVuZCB1cCB3aXRoIHRoZSBuYW1lIG9mIHRoZSBmaWxlLgorICAgIG1mPWBlY2hvICIkbWYiIHwgc2VkIC1lICdzLzouKiQvLydgCisgICAgIyBDaGVjayB3aGV0aGVyIHRoaXMgaXMgYW4gQXV0b21ha2UgZ2VuZXJhdGVkIE1ha2VmaWxlIG9yIG5vdC4KKyAgICAjIFdlIHVzZWQgdG8gbWF0Y2ggb25seSB0aGUgZmlsZXMgbmFtZWQgYE1ha2VmaWxlLmluJywgYnV0CisgICAgIyBzb21lIHBlb3BsZSByZW5hbWUgdGhlbTsgc28gaW5zdGVhZCB3ZSBsb29rIGF0IHRoZSBmaWxlIGNvbnRlbnQuCisgICAgIyBHcmVwJ2luZyB0aGUgZmlyc3QgbGluZSBpcyBub3QgZW5vdWdoOiBzb21lIHBlb3BsZSBwb3N0LXByb2Nlc3MKKyAgICAjIGVhY2ggTWFrZWZpbGUuaW4gYW5kIGFkZCBhIG5ldyBsaW5lIG9uIHRvcCBvZiBlYWNoIGZpbGUgdG8gc2F5IHNvLgorICAgICMgR3JlcCdpbmcgdGhlIHdob2xlIGZpbGUgaXMgbm90IGdvb2QgZWl0aGVyOiBBSVggZ3JlcCBoYXMgYSBsaW5lCisgICAgIyBsaW1pdCBvZiAyMDQ4LCBidXQgYWxsIHNlZCdzIHdlIGtub3cgaGF2ZSB1bmRlcnN0YW5kIGF0IGxlYXN0IDQwMDAuCisgICAgaWYgc2VkIC1uICdzLF4jLipnZW5lcmF0ZWQgYnkgYXV0b21ha2UuKixYLHAnICIkbWYiIHwgZ3JlcCBYID4vZGV2L251bGwgMj4mMTsgdGhlbgorICAgICAgZGlycGFydD1gJGFzX2Rpcm5hbWUgLS0gIiRtZiIgfHwKKyRhc19leHByIFgiJG1mIiA6ICdYXCguKlteL11cKS8vKlteL11bXi9dKi8qJCcgXHwgXAorCSBYIiRtZiIgOiAnWFwoLy9cKVteL10nIFx8IFwKKwkgWCIkbWYiIDogJ1hcKC8vXCkkJyBcfCBcCisJIFgiJG1mIiA6ICdYXCgvXCknIFx8IC4gMj4vZGV2L251bGwgfHwKKyRhc19lY2hvIFgiJG1mIiB8CisgICAgc2VkICcvXlhcKC4qW14vXVwpXC9cLypbXi9dW14vXSpcLyokL3sKKwkgICAgcy8vXDEvCisJICAgIHEKKwkgIH0KKwkgIC9eWFwoXC9cL1wpW14vXS4qL3sKKwkgICAgcy8vXDEvCisJICAgIHEKKwkgIH0KKwkgIC9eWFwoXC9cL1wpJC97CisJICAgIHMvL1wxLworCSAgICBxCisJICB9CisJICAvXlhcKFwvXCkuKi97CisJICAgIHMvL1wxLworCSAgICBxCisJICB9CisJICBzLy4qLy4vOyBxJ2AKKyAgICBlbHNlCisgICAgICBjb250aW51ZQorICAgIGZpCisgICAgIyBFeHRyYWN0IHRoZSBkZWZpbml0aW9uIG9mIERFUERJUiwgYW1fX2luY2x1ZGUsIGFuZCBhbV9fcXVvdGUKKyAgICAjIGZyb20gdGhlIE1ha2VmaWxlIHdpdGhvdXQgcnVubmluZyBgbWFrZScuCisgICAgREVQRElSPWBzZWQgLW4gJ3MvXkRFUERJUiA9IC8vcCcgPCAiJG1mImAKKyAgICB0ZXN0IC16ICIkREVQRElSIiAmJiBjb250aW51ZQorICAgIGFtX19pbmNsdWRlPWBzZWQgLW4gJ3MvXmFtX19pbmNsdWRlID0gLy9wJyA8ICIkbWYiYAorICAgIHRlc3QgLXogImFtX19pbmNsdWRlIiAmJiBjb250aW51ZQorICAgIGFtX19xdW90ZT1gc2VkIC1uICdzL15hbV9fcXVvdGUgPSAvL3AnIDwgIiRtZiJgCisgICAgIyBXaGVuIHVzaW5nIGFuc2kya25yLCBVIG1heSBiZSBlbXB0eSBvciBhbiB1bmRlcnNjb3JlOyBleHBhbmQgaXQKKyAgICBVPWBzZWQgLW4gJ3MvXlUgPSAvL3AnIDwgIiRtZiJgCisgICAgIyBGaW5kIGFsbCBkZXBlbmRlbmN5IG91dHB1dCBmaWxlcywgdGhleSBhcmUgaW5jbHVkZWQgZmlsZXMgd2l0aAorICAgICMgJChERVBESVIpIGluIHRoZWlyIG5hbWVzLiAgV2UgaW52b2tlIHNlZCB0d2ljZSBiZWNhdXNlIGl0IGlzIHRoZQorICAgICMgc2ltcGxlc3QgYXBwcm9hY2ggdG8gY2hhbmdpbmcgJChERVBESVIpIHRvIGl0cyBhY3R1YWwgdmFsdWUgaW4gdGhlCisgICAgIyBleHBhbnNpb24uCisgICAgZm9yIGZpbGUgaW4gYHNlZCAtbiAiCisgICAgICBzL14kYW1fX2luY2x1ZGUgJGFtX19xdW90ZVwoLiooREVQRElSKS4qXCkkYW1fX3F1b3RlIickL1wxL3AnIDwiJG1mIiB8IFwKKwkgc2VkIC1lICdzL1wkKERFUERJUikvJyIkREVQRElSIicvZycgLWUgJ3MvXCRVLyciJFUiJy9nJ2A7IGRvCisgICAgICAjIE1ha2Ugc3VyZSB0aGUgZGlyZWN0b3J5IGV4aXN0cy4KKyAgICAgIHRlc3QgLWYgIiRkaXJwYXJ0LyRmaWxlIiAmJiBjb250aW51ZQorICAgICAgZmRpcj1gJGFzX2Rpcm5hbWUgLS0gIiRmaWxlIiB8fAorJGFzX2V4cHIgWCIkZmlsZSIgOiAnWFwoLipbXi9dXCkvLypbXi9dW14vXSovKiQnIFx8IFwKKwkgWCIkZmlsZSIgOiAnWFwoLy9cKVteL10nIFx8IFwKKwkgWCIkZmlsZSIgOiAnWFwoLy9cKSQnIFx8IFwKKwkgWCIkZmlsZSIgOiAnWFwoL1wpJyBcfCAuIDI+L2Rldi9udWxsIHx8CiskYXNfZWNobyBYIiRmaWxlIiB8CisgICAgc2VkICcvXlhcKC4qW14vXVwpXC9cLypbXi9dW14vXSpcLyokL3sKKwkgICAgcy8vXDEvCisJICAgIHEKKwkgIH0KKwkgIC9eWFwoXC9cL1wpW14vXS4qL3sKKwkgICAgcy8vXDEvCisJICAgIHEKKwkgIH0KKwkgIC9eWFwoXC9cL1wpJC97CisJICAgIHMvL1wxLworCSAgICBxCisJICB9CisJICAvXlhcKFwvXCkuKi97CisJICAgIHMvL1wxLworCSAgICBxCisJICB9CisJICBzLy4qLy4vOyBxJ2AKKyAgICAgIGFzX2Rpcj0kZGlycGFydC8kZmRpcjsgYXNfZm5fbWtkaXJfcAorICAgICAgIyBlY2hvICJjcmVhdGluZyAkZGlycGFydC8kZmlsZSIKKyAgICAgIGVjaG8gJyMgZHVtbXknID4gIiRkaXJwYXJ0LyRmaWxlIgorICAgIGRvbmUKKyAgZG9uZQorfQorIDs7CisKKyAgZXNhYworZG9uZSAjIGZvciBhY190YWcKKworCithc19mbl9leGl0IDAKK19BQ0VPRgorYWNfY2xlYW5fZmlsZXM9JGFjX2NsZWFuX2ZpbGVzX3NhdmUKKwordGVzdCAkYWNfd3JpdGVfZmFpbCA9IDAgfHwKKyAgYXNfZm5fZXJyb3IgIndyaXRlIGZhaWx1cmUgY3JlYXRpbmcgJENPTkZJR19TVEFUVVMiICIkTElORU5PIiA1CisKKworIyBjb25maWd1cmUgaXMgd3JpdGluZyB0byBjb25maWcubG9nLCBhbmQgdGhlbiBjYWxscyBjb25maWcuc3RhdHVzLgorIyBjb25maWcuc3RhdHVzIGRvZXMgaXRzIG93biByZWRpcmVjdGlvbiwgYXBwZW5kaW5nIHRvIGNvbmZpZy5sb2cuCisjIFVuZm9ydHVuYXRlbHksIG9uIERPUyB0aGlzIGZhaWxzLCBhcyBjb25maWcubG9nIGlzIHN0aWxsIGtlcHQgb3BlbgorIyBieSBjb25maWd1cmUsIHNvIGNvbmZpZy5zdGF0dXMgd29uJ3QgYmUgYWJsZSB0byB3cml0ZSB0byBpdDsgaXRzCisjIG91dHB1dCBpcyBzaW1wbHkgZGlzY2FyZGVkLiAgU28gd2UgZXhlYyB0aGUgRkQgdG8gL2Rldi9udWxsLAorIyBlZmZlY3RpdmVseSBjbG9zaW5nIGNvbmZpZy5sb2csIHNvIGl0IGNhbiBiZSBwcm9wZXJseSAocmUpb3BlbmVkIGFuZAorIyBhcHBlbmRlZCB0byBieSBjb25maWcuc3RhdHVzLiAgV2hlbiBjb21pbmcgYmFjayB0byBjb25maWd1cmUsIHdlCisjIG5lZWQgdG8gbWFrZSB0aGUgRkQgYXZhaWxhYmxlIGFnYWluLgoraWYgdGVzdCAiJG5vX2NyZWF0ZSIgIT0geWVzOyB0aGVuCisgIGFjX2NzX3N1Y2Nlc3M9OgorICBhY19jb25maWdfc3RhdHVzX2FyZ3M9CisgIHRlc3QgIiRzaWxlbnQiID0geWVzICYmCisgICAgYWNfY29uZmlnX3N0YXR1c19hcmdzPSIkYWNfY29uZmlnX3N0YXR1c19hcmdzIC0tcXVpZXQiCisgIGV4ZWMgNT4vZGV2L251bGwKKyAgJFNIRUxMICRDT05GSUdfU1RBVFVTICRhY19jb25maWdfc3RhdHVzX2FyZ3MgfHwgYWNfY3Nfc3VjY2Vzcz1mYWxzZQorICBleGVjIDU+PmNvbmZpZy5sb2cKKyAgIyBVc2UgfHwsIG5vdCAmJiwgdG8gYXZvaWQgZXhpdGluZyBmcm9tIHRoZSBpZiB3aXRoICQ/ID0gMSwgd2hpY2gKKyAgIyB3b3VsZCBtYWtlIGNvbmZpZ3VyZSBmYWlsIGlmIHRoaXMgaXMgdGhlIGxhc3QgaW5zdHJ1Y3Rpb24uCisgICRhY19jc19zdWNjZXNzIHx8IGFzX2ZuX2V4aXQgMQorZmkKK2lmIHRlc3QgLW4gIiRhY191bnJlY29nbml6ZWRfb3B0cyIgJiYgdGVzdCAiJGVuYWJsZV9vcHRpb25fY2hlY2tpbmciICE9IG5vOyB0aGVuCisgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogV0FSTklORzogdW5yZWNvZ25pemVkIG9wdGlvbnM6ICRhY191bnJlY29nbml6ZWRfb3B0cyIgPiY1CiskYXNfZWNobyAiJGFzX21lOiBXQVJOSU5HOiB1bnJlY29nbml6ZWQgb3B0aW9uczogJGFjX3VucmVjb2duaXplZF9vcHRzIiA+JjI7fQorZmkKKwpkaWZmIC0tZ2l0IGEvc3RyYWNlLTQuNS4yMC9jb25maWd1cmUuYWMgYi9zdHJhY2UtNC41LjIwL2NvbmZpZ3VyZS5hYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NmY1NWQyCi0tLSAvZGV2L251bGwKKysrIGIvc3RyYWNlLTQuNS4yMC9jb25maWd1cmUuYWMKQEAgLTAsMCArMSwzMDUgQEAKK2RubCBQcm9jZXNzIHRoaXMgZmlsZSB3aXRoIGF1dG9jb25mIHRvIGNyZWF0ZSBjb25maWd1cmUuICBVc2UgYXV0b3JlY29uZi4KK0FDX1BSRVJFUSgyLjU3KQorQUNfSU5JVChbc3RyYWNlXSxbNC41LjIwXSkKK0FDX0NPTkZJR19TUkNESVIoW3N0cmFjZS5jXSkKK0FDX0NPTkZJR19BVVhfRElSKFsuXSkKK0FNX0NPTkZJR19IRUFERVIoW2NvbmZpZy5oXSkKK0FNX0lOSVRfQVVUT01BS0UoW2ZvcmVpZ24gY2hlY2stbmV3cyBkaXN0LWJ6aXAyIG5vLWRpc3QtZ3ppcF0pCitBTV9NQUlOVEFJTkVSX01PREUKK0FDX0NBTk9OSUNBTF9IT1NUCisKK0FDX01TR19DSEVDS0lORyhbZm9yIHN1cHBvcnRlZCBvcGVyYXRpbmcgc3lzdGVtXSkKK2Nhc2UgIiRob3N0X29zIiBpbgorKmxpbnV4KikKKwlvcHN5cz1saW51eAorCUFDX0RFRklORShbTElOVVhdLCAxLCBbRGVmaW5lIGZvciB0aGUgTGludXggb3BlcmF0aW5nIHN5c3RlbS5dKQorCTs7CitzdW5vczQqKQorCW9wc3lzPXN1bm9zNAorCUFDX0RFRklORShbU1VOT1M0XSwgMSwgW0RlZmluZSBmb3IgdGhlIFN1bk9TIDQueCBvcGVyYXRpbmcgc3lzdGVtLl0pCisJOzsKK3NvbGFyaXMyKiB8IHN5c3ZbWzQ1XV0qIHwgaXJpeFtbNTZdXSopCisJb3BzeXM9c3ZyNAorCUFDX0RFRklORShbU1ZSNF0sIDEsIFtEZWZpbmUgZm9yIHRoZSBTeXN0ZW0gViByZWxlYXNlIDQgb3BlcmF0aW5nCitzeXN0ZW0gb3IgYSBkZXJpdmF0aXZlIGxpa2UgU29sYXJpcyAyLnggb3IgSXJpeCA1LnguXSkKKwljYXNlICIkaG9zdF9vcyIgaW4KKwlzeXN2NC4ydXcqKQorCQlBQ19ERUZJTkUoVU5JWFdBUkUsIDIsIFtEZWZpbmUgZm9yIFVuaXhXYXJlIHN5c3RlbXMuXSkKKwkJOzsKKwlzeXN2NSopCisJCUFDX0RFRklORShVTklYV0FSRSwgNywgW0RlZmluZSBmb3IgVW5peFdhcmUgc3lzdGVtcy5dKQorCQk7OworCWVzYWMKKwk7OworZnJlZWJzZCopCisJb3BzeXM9ZnJlZWJzZAorCUFDX0RFRklORShbRlJFRUJTRF0sIDEsIFtEZWZpbmUgZm9yIHRoZSBGcmVlQlNEIG9wZXJhdGluZyBzeXN0ZW0uXSkKKwk7OworKikKKwlBQ19NU0dfUkVTVUxUKFtOTyFdKQorCUFDX01TR19FUlJPUihbb3BlcmF0aW5nIHN5c3RlbSAkaG9zdF9vcyBpcyBub3Qgc3VwcG9ydGVkIGJ5IHN0cmFjZV0pCisJOzsKK2VzYWMKK0FDX01TR19SRVNVTFQoJG9wc3lzKQorCitBQ19NU0dfQ0hFQ0tJTkcoW2ZvciBzdXBwb3J0ZWQgYXJjaGl0ZWN0dXJlXSkKK2Nhc2UgIiRob3N0X2NwdSIgaW4KK2JmaW4pCisJYXJjaD1iZmluCisJQUNfREVGSU5FKFtCRklOXSwgMSwgW0RlZmluZSBmb3IgdGhlIEJsYWNrZmluIGFyY2hpdGVjdHVyZS5dKQorCTs7CitpW1szNDU2XV04NnxwZW50aXVtKQorCWFyY2g9aTM4NgorCUFDX0RFRklORShbSTM4Nl0sIDEsIFtEZWZpbmUgZm9yIHRoZSBpMzg2IGFyY2hpdGVjdHVyZS5dKQorCTs7CitpYTY0KQorCWFyY2g9aWE2NAorCUFDX0RFRklORShbSUE2NF0sIDEsIFtEZWZpbmUgZm9yIHRoZSBJQTY0IGFyY2hpdGVjdHVyZS5dKQorCTs7CittNjhrKQorCWFyY2g9bTY4aworCUFDX0RFRklORShbTTY4S10sIDEsIFtEZWZpbmUgZm9yIHRoZSBtNjhrIGFyY2hpdGVjdHVyZS5dKQorCTs7CitzcGFyYzY0KikKKwlhcmNoPXNwYXJjNjQKKwlBQ19ERUZJTkUoW1NQQVJDNjRdLCAxLCBbRGVmaW5lIGZvciB0aGUgU1BBUkM2NCBhcmNoaXRlY3R1cmUuXSkKKwk7Oworc3BhcmMqKQorCWFyY2g9c3BhcmMKKwlBQ19ERUZJTkUoW1NQQVJDXSwgMSwgW0RlZmluZSBmb3IgdGhlIFNQQVJDIGFyY2hpdGVjdHVyZS5dKQorCTs7CittaXBzKikKKwlhcmNoPW1pcHMKKwlBQ19ERUZJTkUoW01JUFNdLCAxLCBbRGVmaW5lIGZvciB0aGUgTUlQUyBhcmNoaXRlY3R1cmUuXSkKKwk7OworYWxwaGEqKQorCWFyY2g9YWxwaGEKKwlBQ19ERUZJTkUoW0FMUEhBXSwgMSwgW0RlZmluZSBmb3IgdGhlIEFscGhhIGFyY2hpdGVjdHVyZS5dKQorCTs7Citwb3dlcnBjKikKKwlhcmNoPXBvd2VycGMKKwlBQ19ERUZJTkUoW1BPV0VSUENdLCAxLCBbRGVmaW5lIGZvciB0aGUgUG93ZXJQQyBhcmNoaXRlY3R1cmUuXSkKKwk7OworYXJtKikKKwlhcmNoPWFybQorCUFDX0RFRklORShbQVJNXSwgMSwgW0RlZmluZSBmb3IgdGhlIEFSTSBhcmNoaXRlY3R1cmUuXSkKKwk7OworYXZyMzIqKQorCWFyY2g9YXZyMzIKKwlBQ19ERUZJTkUoW0FWUjMyXSwgMSwgW0RlZmluZSBmb3IgdGhlIEFWUjMyIGFyY2hpdGVjdHVyZS5dKQorCTs7CitzMzkwKQorCWFyY2g9czM5MAorCUFDX0RFRklORShbUzM5MF0sIDEsIFtEZWZpbmUgZm9yIHRoZSBTMzkwIGFyY2hpdGVjdHVyZS5dKQorCTs7CitzMzkweCkKKwlhcmNoPXMzOTB4CisJQUNfREVGSU5FKFtTMzkwWF0sIDEsIFtEZWZpbmUgZm9yIHRoZSBTMzkweCBhcmNoaXRlY3R1cmUuXSkKKwk7OworaHBwYSp8cGFyaXNjKikKKwlhcmNoPWhwcGEKKwlBQ19ERUZJTkUoW0hQUEFdLCAxLCBbRGVmaW5lIGZvciB0aGUgSFBQQSBhcmNoaXRlY3R1cmUuXSkKKwk7Oworc2g2NCopCisJYXJjaD1zaDY0CisJQUNfREVGSU5FKFtTSDY0XSwgMSwgW0RlZmluZSBmb3IgdGhlIFNINjQgYXJjaGl0ZWN0dXJlLl0pCisJOzsKK3NoKikKKwlhcmNoPXNoCisJQUNfREVGSU5FKFtTSF0sIDEsIFtEZWZpbmUgZm9yIHRoZSBTSCBhcmNoaXRlY3R1cmUuXSkKKwk7OworeDg2PzY0KikKKwlhcmNoPXg4Nl82NAorCUFDX0RFRklORShbWDg2XzY0XSwgMSwgW0RlZmluZSBmb3IgdGhlIEFNRCB4ODYtNjQgYXJjaGl0ZWN0dXJlLl0pCisJOzsKK2NyaXN8Y3Jpc3YxMCkKKwlhcmNoPWNyaXN2MTAKKwlBQ19ERUZJTkUoW0NSSVNWMTBdLCAxLCBbRGVmaW5lIGZvciB0aGUgQ1JJU3YxMCBhcmNoaXRlY3R1cmUuXSkKKwk7OworY3Jpc3YzMikKKwlhcmNoPWNyaXN2MzIKKwlBQ19ERUZJTkUoW0NSSVNWMzJdLCAxLCBbRGVmaW5lIGZvciB0aGUgQ1JJU3YzMiBhcmNoaXRlY3R1cmUuXSkKKwk7OwordGlsZSopCisJYXJjaD10aWxlCisJQUNfREVGSU5FKFtUSUxFXSwgMSwgW0RlZmluZSBmb3IgdGhlIFRpbGUgYXJjaGl0ZWN0dXJlXSkKKwk7OworKikKKwlBQ19NU0dfUkVTVUxUKFtOTyFdKQorCUFDX01TR19FUlJPUihbYXJjaGl0ZWN0dXJlICRob3N0X2NwdSBpcyBub3Qgc3VwcG9ydGVkIGJ5IHN0cmFjZV0pCisJOzsKK2VzYWMKK0FDX01TR19SRVNVTFQoJGFyY2gpCisKK0FDX1NVQlNUKG9wc3lzKQorQUNfU1VCU1QoYXJjaCkKKworQU1fQ09ORElUSU9OQUwoW0xJTlVYXSwgW3Rlc3QgeCRvcHN5cyA9IHhsaW51eF0pCitBTV9DT05ESVRJT05BTChbSTM4Nl0sIFt0ZXN0IHgkYXJjaCA9IHhpMzg2XSkKK0FNX0NPTkRJVElPTkFMKFtYODZfNjRdLCBbdGVzdCB4JGFyY2ggPSB4eDg2XzY0XSkKK0FNX0NPTkRJVElPTkFMKFtTVU5PUzRdLCBbdGVzdCB4JG9wc3lzID0geHN1bm9zNF0pCitBTV9DT05ESVRJT05BTChbU1ZSNF0sIFt0ZXN0IHgkb3BzeXMgPSB4c3ZyNF0pCitBTV9DT05ESVRJT05BTChbRlJFRUJTRF0sIFt0ZXN0IHgkb3BzeXMgPSB4ZnJlZWJzZF0pCisKK0FDX1BST0dfQ0MKK0FDX0dOVV9TT1VSQ0UKKworQUNfSU5DTFVERURJUgorCitpZiB0ZXN0ICJ4JG9wc3lzIiA9ICJ4c3Vub3M0IiAmJiB0ZXN0ICJ4JGFyY2giID0gInhzcGFyYyIKK3RoZW4KKwlBQ19NU0dfQ0hFQ0tJTkcoZm9yIHZhbGlkIG1hY2hpbmUgaW5jbHVkZSBkaXJlY3RvcnkpCisJaWYgdGVzdCAtZCAiJGluY2x1ZGVkaXIvc3VuNCIKKwl0aGVuCisJCXJtIC1mIG1hY2hpbmUKKwkJbG4gLXMgJGluY2x1ZGVkaXIvc3VuNCBtYWNoaW5lCisJCUFDX01TR19SRVNVTFQoeWVzKQorCQlBQ19ERUZJTkUoU1VOT1M0X0tFUk5FTF9BUkNIX0tMVURHRSwgMSwgWworRGVmaW5lIGlmIHlvdSBhcmUgaGF2ZSBhIFNQQVJDIHdpdGggU1VOT1M0IGFuZCB5b3VyIHdhbnQgYSB2ZXJzaW9uCitvZiBzdHJhY2UgdGhhdCB3aWxsIHdvcmsgb24gc3VuNCwgc3VuNGMgYW5kIHN1bjRtIGtlcm5lbCBhcmNoaXRlY3R1cmVzLgorT25seSB1c2VmdWwgaWYgeW91IGhhdmUgYSBzeW1ib2xpYyBsaW5rIGZyb20gbWFjaGluZSB0byAvdXNyL2luY2x1ZGUvc3VuNAoraW4gdGhlIGNvbXBpbGF0aW9uIGRpcmVjdG9yeS5dKQorCWVsc2UKKwkJQUNfTVNHX1JFU1VMVChubykKKwlmaQorZmkKKworQUNfV0FSTkZMQUdTCitpZiB0ZXN0ICJ4JG9wc3lzIiA9ICJ4c3Vub3M0IgordGhlbgorCWlmIHRlc3QgLW4gIiRHQ0MiCisJdGhlbgorCQkjIFN1bk9TIDQueCBoZWFkZXIgZmlsZXMgZG9uJ3QgZGVjbGFyZSBpbnQgZnVuY3Rpb25zLgorCQlXQVJORkxBR1M9IiRXQVJORkxBR1MgLVduby1pbXBsaWNpdCIKKwlmaQorZmkKKworQUNfUFJPR19DUFAKK0FDX1BST0dfR0NDX1RSQURJVElPTkFMCitBQ19QUk9HX0lOU1RBTEwKK0FDX0NfQ09OU1QKK0FDX0hFQURFUl9TVERDCitBQ19IRUFERVJfU1REQk9PTAorQUNfSEVBREVSX0RJUkVOVAorQUNfSEVBREVSX1NUQVQKK0FDX0NIRUNLX01FTUJFUlMoW3N0cnVjdCBzdGF0LnN0X2Jsa3NpemUsCisJCSAgc3RydWN0IHN0YXQuc3RfYmxvY2tzLAorCQkgIHN0cnVjdCBzdGF0LnN0X2FjbGNudCwKKwkJICBzdHJ1Y3Qgc3RhdC5zdF9mbGFncywKKwkJICBzdHJ1Y3Qgc3RhdC5zdF9mc3R5cGUsCisJCSAgc3RydWN0IHN0YXQuc3RfZ2VuLAorCQkgIHN0cnVjdCBzdGF0LnN0X2xldmVsLAorCQkgIHN0cnVjdCBzdGF0LnN0X3JkZXZdKQorQUNfU1RBVDY0CitBQ19TVEFURlM2NAorCitBQ19UWVBFX1NJR05BTAorQUNfVFlQRV9VSURfVAorQUNfVFlQRV9NT0RFX1QKK0FDX1RZUEVfR0VUR1JPVVBTCitBQ19IRUFERVJfTUFKT1IKK0FDX0NIRUNLX1RZUEVTKFtzaWdfYXRvbWljX3QsIHNpZ2luZm9fdF0sLCwgWyNpbmNsdWRlIDxzaWduYWwuaD5dKQorQUNfQ0hFQ0tfTUVNQkVSUyhbc3RydWN0IHNvY2thZGRyX2luNi5zaW42X3Njb3BlX2lkXSwsLAorWyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CisjaW5jbHVkZSA8bmV0aW5ldC9pbi5oPl0pCitBQ19DSEVDS19UWVBFUyhbbG9uZyBsb25nXSkKK0FDX0xJVFRMRV9FTkRJQU5fTE9OR19MT05HCitBQ19PRkZfVF9JU19MT05HX0xPTkcKK0FDX1JMSU1fVF9JU19MT05HX0xPTkcKK0FDX0NIRUNLX1RZUEVTKFtzdHJ1Y3Qgb3B0aGRyXSwsLCBbI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD5dKQorQUNfQ0hFQ0tfVFlQRVMoW3N0cnVjdCB0X29wdGhkcl0sLCwgWyNpbmNsdWRlIDxzeXMvdGl1c2VyLmg+XSkKKworaWYgdGVzdCB4JG9wc3lzICE9IHhsaW51eDsgdGhlbgorQUNfQ0hFQ0tfTElCKG5zbCwgbWFpbikKK2ZpCisKK0FDX0NIRUNLX0ZVTkNTKFsgXAorCWZvcmsgXAorCWdldGRlbnRzIFwKKwlpZl9pbmRleHRvbmFtZSBcCisJaW5ldF9udG9wIFwKKwltY3RsIFwKKwlwcmN0bCBcCisJcHJlYWQgXAorCXNlbmRtc2cgXAorCXNpZ2FjdGlvbiBcCisJc3RyZXJyb3IgXAorCXN0cnNpZ25hbCBcCisJc3lzX3NpZ2xpc3QgXAorCV9zeXNfc2lnbGlzdCBcCitdKQorQUNfQ0hFQ0tfSEVBREVSUyhbIFwKKwlpbnR0eXBlcy5oIFwKKwlpb2N0bHMuaCBcCisJbGliYWlvLmggXAorCW1xdWV1ZS5oIFwKKwlwb2xsLmggXAorCXN0cm9wdHMuaCBcCisJdGVybWlvLmggXAorCXN5cy9hY2wuaCBcCisJc3lzL2Fpby5oIFwKKwlzeXMvYXN5bmNoLmggXAorCXN5cy9jb25mLmggXAorCXN5cy9kb29yLmggXAorCXN5cy9lcG9sbC5oIFwKKwlzeXMvZmlsaW8uaCBcCisJc3lzL2lvY3RsLmggXAorCXN5cy9uc2NzeXMuaCBcCisJc3lzL3BvbGwuaCBcCisJc3lzL3B0cmFjZS5oIFwKKwlzeXMvcmVnLmggXAorCXN5cy9zdHJlYW0uaCBcCisJc3lzL3N5c2NvbmZpZy5oIFwKKwlzeXMvdGloZHIuaCBcCisJc3lzL3RpdXNlci5oIFwKKwlzeXMvdWlvLmggXAorCXN5cy92ZnMuaCBcCisJYXNtL2NhY2hlY3RsLmggXAorCWFzbS9zeXNtaXBzLmggXAorCWxpbnV4L2NhcGFiaWxpdHkuaCBcCisJbGludXgvcHRyYWNlLmggXAorCWxpbnV4L3V0c25hbWUuaCBcCitdLCBbXSwgW10pCitBQ19DSEVDS19IRUFERVJTKFtsaW51eC9pY21wLmggbGludXgvaW42LmggbGludXgvbmV0bGluay5oIGxpbnV4L2lmX3BhY2tldC5oXSwKKyAgICAgICAgICAgICAgICAgW10sIFtdLCBbI2luY2x1ZGUgPHN0ZGRlZi5oPgorI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KKyNpbmNsdWRlIDxhc20vdHlwZXMuaD5dKQorQUNfQ0hFQ0tfSEVBREVSUyhbYXNtL3NpZ2NvbnRleHQuaF0sIFtdLCBbXSwgWyNpbmNsdWRlIDxzaWduYWwuaD5dKQorQUNfQ0hFQ0tfVFlQRVMoW3N0cnVjdCBzaWdjb250ZXh0X3N0cnVjdCwKKwkJc3RydWN0IHNpZ2NvbnRleHRdLCwsIFsjaW5jbHVkZSA8c2lnbmFsLmg+XSkKK0FDX0NIRUNLX0hFQURFUlMoW25ldGluZXQvdGNwLmggbmV0aW5ldC91ZHAuaF0sLCwgWyNpbmNsdWRlIDxuZXRpbmV0L2luLmg+XSkKKworQUNfTVBfUFJPQ0ZTCitBQ19QT0xMQUJMRV9QUk9DRlMKKworQUNfQ0hFQ0tfTUVNQkVSUyhbc3RydWN0IG1zZ2hkci5tc2dfY29udHJvbF0sLCwgWyNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+XSkKK0FDX1NUUlVDVF9QUl9TWVNDQUxMCisKK0FDX0NIRUNLX01FTUJFUlMoW3N0cnVjdCBUX2Nvbm5fcmVzLlFVRVVFX3B0ciwKKyAgICAgICAgICAgICAgICAgIHN0cnVjdCBUX2Nvbm5fcmVzLkFDQ0VQVE9SX2lkXSwsLAorWyNpbmNsdWRlIDxzeXMvc3RyZWFtLmg+CisjaW5jbHVkZSA8c3lzL3RpaGRyLmg+XSkKKworQUNfQ0hFQ0tfVFlQRVMoW3N0cnVjdCBfX29sZF9rZXJuZWxfc3RhdF0sLCwgWyNpbmNsdWRlIDxhc20vc3RhdC5oPl0pCisKK0FDX0NIRUNLX1RZUEVTKFtzdHJ1Y3QgcHRfYWxsX3VzZXJfcmVncywgc3RydWN0IGlhNjRfZnByZWddLCwsCisJICAgICAgIFsjaW5jbHVkZSA8c3lzL3B0cmFjZS5oPl0pCisKK0FDX0NIRUNLX1RZUEVTKFtzdHJ1Y3QgdXNlcl9kZXNjXSwsLCBbI2luY2x1ZGUgPGFzbS9sZHQuaD5dKQorCitBQ19DSEVDS19NRU1CRVJTKFtzdHJ1Y3QgZHFibGsuZHFiX2N1cmJsb2Nrc10sLCwgWyNpbmNsdWRlIDxzeXMvcXVvdGEuaD5dKQorCitBQ19DSEVDS19NRU1CRVJTKFtzdHJ1Y3Qgc2lnY29udGV4dC5zY19oaTJdLCwsIFsjaW5jbHVkZSA8c2lnbmFsLmg+CisjaWZkZWYgSEFWRV9BU01fU0lHQ09OVEVYVF9ICisjIGluY2x1ZGUgPGFzbS9zaWdjb250ZXh0Lmg+CisjZW5kaWZdKQorCisKK0FDX0NIRUNLX0RFQ0xTKFtzeXNfZXJybGlzdF0pCitBQ19DSEVDS19ERUNMUyhbc3lzX3NpZ2xpc3QsIF9zeXNfc2lnbGlzdF0sLCwgWyNpbmNsdWRlIDxzaWduYWwuaD5dKQorCitBQ19QQVRIX1BST0coW1BFUkxdLCBbcGVybF0pCisKK0FDX0NPTkZJR19GSUxFUyhbTWFrZWZpbGVdKQorQUNfT1VUUFVUCmRpZmYgLS1naXQgYS9zdHJhY2UtNC41LjIwL2NvdW50LmMgYi9zdHJhY2UtNC41LjIwL2NvdW50LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDBlYTAxNgotLS0gL2Rldi9udWxsCisrKyBiL3N0cmFjZS00LjUuMjAvY291bnQuYwpAQCAtMCwwICsxLDI1MyBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMTk5MSwgMTk5MiBQYXVsIEtyYW5lbmJ1cmcgPHBrQGNzLmZldy5ldXIubmw+CisgKiBDb3B5cmlnaHQgKGMpIDE5OTMgQnJhbmtvIExhbmtlc3RlciA8YnJhbmtvQGhhY2t0aWMubmw+CisgKiBDb3B5cmlnaHQgKGMpIDE5OTMsIDE5OTQsIDE5OTUsIDE5OTYgUmljayBTbGFka2V5IDxqcnNAd29ybGQuc3RkLmNvbT4KKyAqIENvcHlyaWdodCAoYykgMTk5Ni0xOTk5IFdpY2hlcnQgQWtrZXJtYW4gPHdpY2hlcnRAY2lzdHJvbi5ubD4KKyAqIENvcHlyaWdodCAoYykgMTk5OSBJQk0gRGV1dHNjaGxhbmQgRW50d2lja2x1bmcgR21iSCwgSUJNIENvcnBvcmF0aW9uCisgKiAgICAgICAgICAgICAgICAgICAgIExpbnV4IGZvciBzMzkwIHBvcnQgYnkgRC5KLiBCYXJyb3cKKyAqICAgICAgICAgICAgICAgICAgICA8YmFycm93X2RqQG1haWwueWFob28uY29tLGRqYmFycm93QGRlLmlibS5jb20+CisgKiBDb3B5cmlnaHQgKGMpIDIwMDQgUm9sYW5kIE1jR3JhdGggPHJvbGFuZEByZWRoYXQuY29tPgorICogQ29weXJpZ2h0IChjKSAyMDA2IERtaXRyeSBWLiBMZXZpbiA8bGR2QGFsdGxpbnV4Lm9yZz4KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBUaGUgbmFtZSBvZiB0aGUgYXV0aG9yIG1heSBub3QgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMKKyAqICAgIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIEFVVEhPUiBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCisgKiBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELgorICogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAorICogSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUCisgKiBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqCisgKgkkSWQkCisgKi8KKworI2luY2x1ZGUgImRlZnMuaCIKKworc3RydWN0IGNhbGxfY291bnRzIHsKKwlzdHJ1Y3QgdGltZXZhbCB0aW1lOworCWludCBjYWxscywgZXJyb3JzOworfTsKKworc3RhdGljIHN0cnVjdCBjYWxsX2NvdW50cyAqY291bnR2W1NVUFBPUlRFRF9QRVJTT05BTElUSUVTXTsKKyNkZWZpbmUgY291bnRzIChjb3VudHZbY3VycmVudF9wZXJzb25hbGl0eV0pCisKK3N0YXRpYyBzdHJ1Y3QgdGltZXZhbCBzaG9ydGVzdCA9IHsgMTAwMDAwMCwgMCB9OworCitpbnQKK2NvdW50X3N5c2NhbGwoc3RydWN0IHRjYiAqdGNwLCBzdHJ1Y3QgdGltZXZhbCAqdHYpCit7CisJaWYgKHRjcC0+c2NubyA8IDAgfHwgdGNwLT5zY25vID49IG5zeXNjYWxscykKKwkJcmV0dXJuIDA7CisKKwlpZiAoIWNvdW50cykKKwl7CisJCWNvdW50cyA9IGNhbGxvYyhuc3lzY2FsbHMsIHNpemVvZigqY291bnRzKSk7CisJCWlmICghY291bnRzKQorCQl7CisJCQlmcHJpbnRmKHN0ZGVyciwKKwkJCQkic3RyYWNlOiBvdXQgb2YgbWVtb3J5IGZvciBjYWxsIGNvdW50c1xuIik7CisJCQlleGl0KDEpOworCQl9CisJfQorCisJY291bnRzW3RjcC0+c2Nub10uY2FsbHMrKzsKKwlpZiAodGNwLT51X2Vycm9yKQorCQljb3VudHNbdGNwLT5zY25vXS5lcnJvcnMrKzsKKworCXR2X3N1Yih0diwgdHYsICZ0Y3AtPmV0aW1lKTsKKyNpZmRlZiBMSU5VWAorCWlmICh0dl9jbXAodHYsICZ0Y3AtPmR0aW1lKSA+IDApCisJeworCQlzdGF0aWMgc3RydWN0IHRpbWV2YWwgb25lX3RpY2s7CisKKwkJaWYgKG9uZV90aWNrLnR2X3VzZWMgPT0gMCkKKwkJeworCQkJLyogSW5pdGlhbGl6ZSBpdC4gICovCisJCQlzdHJ1Y3QgaXRpbWVydmFsIGl0OworCisJCQltZW1zZXQoJml0LCAwLCBzaXplb2YgaXQpOworCQkJaXQuaXRfaW50ZXJ2YWwudHZfdXNlYyA9IDE7CisJCQlzZXRpdGltZXIoSVRJTUVSX1JFQUwsICZpdCwgTlVMTCk7CisJCQlnZXRpdGltZXIoSVRJTUVSX1JFQUwsICZpdCk7CisJCQlvbmVfdGljayA9IGl0Lml0X2ludGVydmFsOworCQl9CisKKwkJaWYgKHR2X256KCZ0Y3AtPmR0aW1lKSkKKwkJCSp0diA9IHRjcC0+ZHRpbWU7CisJCWVsc2UgaWYgKHR2X2NtcCh0diwgJm9uZV90aWNrKSA+IDApCisJCXsKKwkJCWlmICh0dl9jbXAoJnNob3J0ZXN0LCAmb25lX3RpY2spIDwgMCkKKwkJCQkqdHYgPSBzaG9ydGVzdDsKKwkJCWVsc2UKKwkJCQkqdHYgPSBvbmVfdGljazsKKwkJfQorCX0KKyNlbmRpZiAvKiBMSU5VWCAqLworCWlmICh0dl9jbXAodHYsICZzaG9ydGVzdCkgPCAwKQorCQlzaG9ydGVzdCA9ICp0djsKKwl0dl9hZGQoJmNvdW50c1t0Y3AtPnNjbm9dLnRpbWUsICZjb3VudHNbdGNwLT5zY25vXS50aW1lLCB0dik7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludAordGltZV9jbXAodm9pZCAqYSwgdm9pZCAqYikKK3sKKwlyZXR1cm4gLXR2X2NtcCgmY291bnRzWyooKGludCAqKSBhKV0udGltZSwKKwkJICAgICAgICZjb3VudHNbKigoaW50ICopIGIpXS50aW1lKTsKK30KKworc3RhdGljIGludAorc3lzY2FsbF9jbXAodm9pZCAqYSwgdm9pZCAqYikKK3sKKwlyZXR1cm4gc3RyY21wKHN5c2VudFsqKChpbnQgKikgYSldLnN5c19uYW1lLAorCQkgICAgICBzeXNlbnRbKigoaW50ICopIGIpXS5zeXNfbmFtZSk7Cit9CisKK3N0YXRpYyBpbnQKK2NvdW50X2NtcCh2b2lkICphLCB2b2lkICpiKQoreworCWludCAgICAgbSA9IGNvdW50c1sqKChpbnQgKikgYSldLmNhbGxzOworCWludCAgICAgbiA9IGNvdW50c1sqKChpbnQgKikgYildLmNhbGxzOworCisJcmV0dXJuIChtIDwgbikgPyAxIDogKG0gPiBuKSA/IC0xIDogMDsKK30KKworc3RhdGljIGludCAoKnNvcnRmdW4pKCk7CitzdGF0aWMgc3RydWN0IHRpbWV2YWwgb3ZlcmhlYWQgPSB7IC0xLCAtMSB9OworCit2b2lkCitzZXRfc29ydGJ5KGNoYXIgKnNvcnRieSkKK3sKKwlpZiAoc3RyY21wKHNvcnRieSwgInRpbWUiKSA9PSAwKQorCQlzb3J0ZnVuID0gdGltZV9jbXA7CisJZWxzZSBpZiAoc3RyY21wKHNvcnRieSwgImNhbGxzIikgPT0gMCkKKwkJc29ydGZ1biA9IGNvdW50X2NtcDsKKwllbHNlIGlmIChzdHJjbXAoc29ydGJ5LCAibmFtZSIpID09IDApCisJCXNvcnRmdW4gPSBzeXNjYWxsX2NtcDsKKwllbHNlIGlmIChzdHJjbXAoc29ydGJ5LCAibm90aGluZyIpID09IDApCisJCXNvcnRmdW4gPSBOVUxMOworCWVsc2UKKwl7CisJCWZwcmludGYoc3RkZXJyLCAiaW52YWxpZCBzb3J0Ynk6IGAlcydcbiIsIHNvcnRieSk7CisJCWV4aXQoMSk7CisJfQorfQorCit2b2lkIHNldF9vdmVyaGVhZChpbnQgbikKK3sKKwlvdmVyaGVhZC50dl9zZWMgPSBuIC8gMTAwMDAwMDsKKwlvdmVyaGVhZC50dl91c2VjID0gbiAlIDEwMDAwMDA7Cit9CisKK3N0YXRpYyB2b2lkCitjYWxsX3N1bW1hcnlfcGVycyhGSUxFICpvdXRmKQoreworCWludCAgICAgaSwgajsKKwlpbnQgICAgIGNhbGxfY3VtLCBlcnJvcl9jdW07CisJc3RydWN0IHRpbWV2YWwgdHZfY3VtLCBkdHY7CisJZG91YmxlICBwZXJjZW50OworCWNoYXIgICAqZGFzaGVzID0gIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0iOworCWNoYXIgICAgZXJyb3Jfc3RyWzE2XTsKKwlpbnQgICAgKnNvcnRlZF9jb3VudCA9IGNhbGxvYyhzaXplb2YoaW50KSwgbnN5c2NhbGxzKTsKKworCWlmICghc29ydGVkX2NvdW50KQorCXsKKwkJZnByaW50ZihzdGRlcnIsICJzdHJhY2U6IG91dCBvZiBtZW1vcnkgZm9yIGNhbGwgc3VtbWFyeVxuIik7CisJCXJldHVybjsKKwl9CisKKwljYWxsX2N1bSA9IGVycm9yX2N1bSA9IHR2X2N1bS50dl9zZWMgPSB0dl9jdW0udHZfdXNlYyA9IDA7CisJaWYgKG92ZXJoZWFkLnR2X3NlYyA9PSAtMSkKKwl7CisJCXR2X211bCgmb3ZlcmhlYWQsICZzaG9ydGVzdCwgOCk7CisJCXR2X2Rpdigmb3ZlcmhlYWQsICZvdmVyaGVhZCwgMTApOworCX0KKwlmb3IgKGkgPSAwOyBpIDwgbnN5c2NhbGxzOyBpKyspCisJeworCQlzb3J0ZWRfY291bnRbaV0gPSBpOworCQlpZiAoY291bnRzID09IE5VTEwgfHwgY291bnRzW2ldLmNhbGxzID09IDApCisJCQljb250aW51ZTsKKwkJdHZfbXVsKCZkdHYsICZvdmVyaGVhZCwgY291bnRzW2ldLmNhbGxzKTsKKwkJdHZfc3ViKCZjb3VudHNbaV0udGltZSwgJmNvdW50c1tpXS50aW1lLCAmZHR2KTsKKwkJY2FsbF9jdW0gKz0gY291bnRzW2ldLmNhbGxzOworCQllcnJvcl9jdW0gKz0gY291bnRzW2ldLmVycm9yczsKKwkJdHZfYWRkKCZ0dl9jdW0sICZ0dl9jdW0sICZjb3VudHNbaV0udGltZSk7CisJfQorCWlmIChjb3VudHMgJiYgc29ydGZ1bikKKwkJcXNvcnQoKHZvaWQgKikgc29ydGVkX2NvdW50LCBuc3lzY2FsbHMsIHNpemVvZihpbnQpLCBzb3J0ZnVuKTsKKwlmcHJpbnRmKG91dGYsICIlNi42cyAlMTEuMTFzICUxMS4xMXMgJTkuOXMgJTkuOXMgJXNcbiIsCisJCSIlIHRpbWUiLCAic2Vjb25kcyIsICJ1c2Vjcy9jYWxsIiwKKwkJImNhbGxzIiwgImVycm9ycyIsICJzeXNjYWxsIik7CisJZnByaW50ZihvdXRmLCAiJTYuNnMgJTExLjExcyAlMTEuMTFzICU5LjlzICU5LjlzICUtMTYuMTZzXG4iLAorCQlkYXNoZXMsIGRhc2hlcywgZGFzaGVzLCBkYXNoZXMsIGRhc2hlcywgZGFzaGVzKTsKKwlpZiAoY291bnRzKQorCXsKKwkJZm9yIChpID0gMDsgaSA8IG5zeXNjYWxsczsgaSsrKQorCQl7CisJCQlqID0gc29ydGVkX2NvdW50W2ldOworCQkJaWYgKGNvdW50c1tqXS5jYWxscyA9PSAwKQorCQkJCWNvbnRpbnVlOworCQkJdHZfZGl2KCZkdHYsICZjb3VudHNbal0udGltZSwgY291bnRzW2pdLmNhbGxzKTsKKwkJCWlmIChjb3VudHNbal0uZXJyb3JzKQorCQkJCXNwcmludGYoZXJyb3Jfc3RyLCAiJWQiLCBjb3VudHNbal0uZXJyb3JzKTsKKwkJCWVsc2UKKwkJCQllcnJvcl9zdHJbMF0gPSAnXDAnOworCQkJcGVyY2VudCA9ICgxMDAuMCAqIHR2X2Zsb2F0KCZjb3VudHNbal0udGltZSkKKwkJCQkgICAvIHR2X2Zsb2F0KCZ0dl9jdW0pKTsKKwkJCWZwcmludGYob3V0ZiwgIiU2LjJmICUxMS42ZiAlMTFsZCAlOWQgJTkuOXMgJXNcbiIsCisJCQkJcGVyY2VudCwgdHZfZmxvYXQoJmNvdW50c1tqXS50aW1lKSwKKwkJCQkobG9uZykgMTAwMDAwMCAqIGR0di50dl9zZWMgKyBkdHYudHZfdXNlYywKKwkJCQljb3VudHNbal0uY2FsbHMsCisJCQkJZXJyb3Jfc3RyLCBzeXNlbnRbal0uc3lzX25hbWUpOworCQl9CisJfQorCWZyZWUoc29ydGVkX2NvdW50KTsKKworCWZwcmludGYob3V0ZiwgIiU2LjZzICUxMS4xMXMgJTExLjExcyAlOS45cyAlOS45cyAlLTE2LjE2c1xuIiwKKwkJZGFzaGVzLCBkYXNoZXMsIGRhc2hlcywgZGFzaGVzLCBkYXNoZXMsIGRhc2hlcyk7CisJaWYgKGVycm9yX2N1bSkKKwkJc3ByaW50ZihlcnJvcl9zdHIsICIlZCIsIGVycm9yX2N1bSk7CisJZWxzZQorCQllcnJvcl9zdHJbMF0gPSAnXDAnOworCWZwcmludGYob3V0ZiwgIiU2LjZzICUxMS42ZiAlMTEuMTFzICU5ZCAlOS45cyAlc1xuIiwKKwkJIjEwMC4wMCIsIHR2X2Zsb2F0KCZ0dl9jdW0pLCAiIiwKKwkJY2FsbF9jdW0sIGVycm9yX3N0ciwgInRvdGFsIik7Cit9CisKK3ZvaWQKK2NhbGxfc3VtbWFyeShGSUxFICpvdXRmKQoreworCWludCAgICAgaSwgb2xkX3BlcnMgPSBjdXJyZW50X3BlcnNvbmFsaXR5OworCisJZm9yIChpID0gMDsgaSA8IFNVUFBPUlRFRF9QRVJTT05BTElUSUVTOyArK2kpCisJeworCQlpZiAoIWNvdW50dltpXSkKKwkJCWNvbnRpbnVlOworCisJCWlmIChjdXJyZW50X3BlcnNvbmFsaXR5ICE9IGkpCisJCQlzZXRfcGVyc29uYWxpdHkoaSk7CisJCWlmIChpKQorCQkJZnByaW50ZihvdXRmLAorCQkJCSJTeXN0ZW0gY2FsbCB1c2FnZSBzdW1tYXJ5IGZvciAldSBiaXQgbW9kZTpcbiIsCisJCQkJcGVyc29uYWxpdHlfd29yZHNpemVbY3VycmVudF9wZXJzb25hbGl0eV0gKiA4KTsKKwkJY2FsbF9zdW1tYXJ5X3BlcnMob3V0Zik7CisJfQorCisJaWYgKG9sZF9wZXJzICE9IGN1cnJlbnRfcGVyc29uYWxpdHkpCisJCXNldF9wZXJzb25hbGl0eShvbGRfcGVycyk7Cit9CmRpZmYgLS1naXQgYS9zdHJhY2UtNC41LjIwL2RlYmlhbi9jaGFuZ2Vsb2cgYi9zdHJhY2UtNC41LjIwL2RlYmlhbi9jaGFuZ2Vsb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzcxYTljZAotLS0gL2Rldi9udWxsCisrKyBiL3N0cmFjZS00LjUuMjAvZGViaWFuL2NoYW5nZWxvZwpAQCAtMCwwICsxLDc0NiBAQAorc3RyYWNlICg0LjUuMjAtMSkgdW5zdGFibGU7IHVyZ2VuY3k9bG93CisKKyAgWyBEbWl0cnkgVi4gTGV2aW4gXQorICAqIE5ldyB1cHN0cmVhbSB2ZXJzaW9uLgorICAgICsgQ29ycmVjdGVkIGRlY29kaW5nIG9mIDY0Yml0IHN5c2NhbGxzLCBjbG9zZXM6ICM1NzA2MDMKKyAgICArIENvcnJlY3RlZCBnZXRzb2Nrb3B0IGRlY29kaW5nIG9uIGFyY2hpdGVjdHVyZXMgd2hlcmUKKyAgICAgIHNpemVvZihsb25nKSA+IHNpemVvZihpbnQpLCBjbG9zZXM6ICM0OTQ4NDQKKyAgICArIENvcnJlY3RlZCBkZWNvZGluZyBvZiBlcG9sbF9wd2FpdCwgY2xvc2VzOiAjNTEzMDE0CisgICAgKyBJbXBsZW1lbnRlZCAtQyBvcHRpb24gdG8gY29tYmluZSByZWd1bGFyIGFuZCAtYyBvdXRwdXQsIGNsb3NlczogIzQ2NjE5NgorCisgIFsgRnJlZGVyaWsgU2Now7xsZXIgXQorICAqIFVwZGF0ZSBzdGFuZGFyZHMtdmVyc2lvbiB0byAzLjguNC4KKyAgKiBkZWJpYW4vcnVsZXM6IGFsbG93IHBhcmFsbGVsIGJ1aWxkaW5nLgorICAqIGRlYmlhbi9ydWxlczogY29tbWVudCBvdXQgdmVyYm9zZSBidWlsZCwgb25seSBuZWVkZWQgZm9yIGRlYnVnZ2luZy4KKyAgKiBkZWJpYW4vcnVsZXM6IGNsZWFuIHVwIGNsZWFuOiB0YXJnZXQsIGRoX2NsZWFuIGRvZXMgbW9zdCBvZiB0aGUgd29yaworICAgIGFscmVhZHkuCisgICogZGViaWFuL3J1bGVzOiB1c2UgKi1zdGFtcCBpbnN0ZWFkIG9mIHN0YW1wLSosIHNvIGRoX2NsZWFuIGNhbiB0aWR5CisgICAgdXAgZm9yIHVzLgorCisgLS0gRnJlZGVyaWsgU2Now7xsZXIgPGZzQGRlYmlhbi5vcmc+ICBUdWUsIDEzIEFwciAyMDEwIDEzOjAyOjU3ICswMjAwCisKK3N0cmFjZSAoNC41LjE5LTIpIHVuc3RhYmxlOyB1cmdlbmN5PWxvdworCisgICogQWRkIHNwYXJjNjQgdG8gdGhlIGFyY2hpdGVjdHVyZXMgbGlzdCwgY2xvc2VzOiAjNTYwMDYyCisgICogRml4IEZUQkZTLCB0aGFua3MgdG8gQXVyZWxpZW4gSmFybm8gPGF1cmVsaWVuQGF1cmVsMzIubmV0PiBmb3IgcG9pbnRpbmcKKyAgICBvdXQgdGhlIHNvbHV0aW9uLiBDbG9zZXM6ICM1NjA1MTYKKyAgKiBSZWJ1aWxkIGFzIG5vcm1hbCBwYWNrYWdlLCBjbG9zZXM6ICM1NjY5NjgKKyAgKiBVcGRhdGUgc3RhbmRhcmRzLXZlcnNpb24gdG8gMy44LjMuCisgICogTG93ZXIgcGFja2FnZSBwcmlvcml0eSB0byBvcHRpb25hbCwgbWF0Y2hpbmcgdGhlIGFyY2hpdmUgb3ZlcnJpZGUuCisgICogQWRkIHdhdGNoIGZpbGUuCisKKyAtLSBGcmVkZXJpayBTY2jDvGxlciA8ZnNAZGViaWFuLm9yZz4gIFR1ZSwgMjYgSmFuIDIwMTAgMTI6MjA6NTEgKzAxMDAKKworc3RyYWNlICg0LjUuMTktMSkgdW5zdGFibGU7IHVyZ2VuY3k9bG93CisKKyAgWyBEbWl0cnkgVi4gTGV2aW4gXQorICAqIE5ldyB1cHN0cmVhbSByZWxlYXNlLgorICAgICsgRml4ZWQgRlRCRlMgb24gYXJtZWwsIGNsb3NlczogIzUyMDA4NCwgIzUzNTU2NAorICAgICsgTWFya2VkIHNlbmRmaWxlKDIpIGFzIGEgbmV0d29yayBzeXNjYWxsLCBjbG9zZXM6ICM1MDk0OTkKKyAgICArIEZpeGVkIHN5c2NhbGwgbnVtYmVycyBmb3IgdGVlIGFuZCBzeW5jX2ZpbGVfcmFuZ2UsIGNsb3NlczogIzUwMzEyNAorICAgICsgQ29ycmVjdGVkIGFjY2VwdCgyKSBkZWNvZGluZywgY2xvc2VzOiAjNTA3NTczCisgICAgKyBDaGFuZ2VkIHN0cmFjZSB0byBleGl0L2tpbGwgd2l0aCB0cmFjZWQgcHJvY2VzcworICAgICAgZXhpdGNvZGUvc2lnbmFsLCBjbG9zZXM6ICMzNzY2NQorCisgIFsgRnJlZGVyaWsgU2Now7xsZXIgXQorICAqIE1vdmUgbXlzZWxmIGZyb20gdXBsb2FkZXJzIHRvIG1haW50YWluZXJzLCBhbmQgZHJvcCBSb2xhbmQgZnJvbSB0aGUgbGlzdCwKKyAgICBjbG9zZXM6ICM1MjE0NTgKKyAgKiBBcHBseSBocHBhIGZpeGVzLCB0aGFua3MgdG8gQ2FybG9zIE8nRG9uZWxsIDxjYXJsb3NAc3lzdGVtaGFsdGVkLm9yZz4KKyAgICBhbmQgSGVsZ2UgRGVsbGVyIDxkZWxsZXJAZ214LmRlPiBmb3IgdGhlIGZpeGVzLCBjbG9zZXM6ICM1NDY2MTksICM0Mzc5MjgKKyAgKiBVcGRhdGUgc3RhbmRhcmRzLXZlcnNpb24gdG8gMy44LjEuCisKKyAtLSBGcmVkZXJpayBTY2jDvGxlciA8ZnNAZGViaWFuLm9yZz4gIE1vbiwgMDUgT2N0IDIwMDkgMjI6Mzk6NTQgKzAyMDAKKworc3RyYWNlICg0LjUuMTgtMSkgdW5zdGFibGU7IHVyZ2VuY3k9bG93CisKKyAgKiBOZXcgdXBzdHJlYW0gcmVsZWFzZSwgY2xvc2VzOiAjNTE1NjU1CisgICAgKyBGaXggRlRCRlMsIGNsb3NlczogIzUxODg1MgorICAqIEJhY2twb3J0ZWQgcGF0Y2ggZnJvbSBDVlM6IEZpeCBzdXBwb3J0IGZvciBOVUwtdGVybWluYXRlZAorICAgIHN0cmluZywgY2xvc2VzOiAjNTA4NDg0CisgICogQnVpbGQtZGVwZW5kIG9uIGRlYmhlbHBlciAoPj0gNy4wLjApLgorCisgLS0gRnJlZGVyaWsgU2Now7xsZXIgPGZzQGRlYmlhbi5vcmc+ICBNb24sIDA5IE1hciAyMDA5IDE0OjM5OjQyICswMTAwCisKK3N0cmFjZSAoNC41LjE3K2N2czA4MDcyMy0yKSB1bnN0YWJsZTsgdXJnZW5jeT1sb3cKKworICAqIFB1bGwgRml4IGZvciBzcGFyYyBGVEJGUyBmcm9tIENWUywgY2xvc2VzOiAjNDkyNzc0CisgICogTWFrZSBzdHJhY2U2NCBwcmlvcml0eSBleHRyYS4KKworIC0tIEZyZWRlcmlrIFNjaMO8bGVyIDxmc0BkZWJpYW4ub3JnPiAgU2F0LCAwMiBBdWcgMjAwOCAxMDozNjo1OSArMDIwMAorCitzdHJhY2UgKDQuNS4xNytjdnMwODA3MjMtMSkgdW5zdGFibGU7IHVyZ2VuY3k9bG93CisKKyAgKiBOZXcgdXBzdHJlYW0gY3ZzIHNuYXBzaG90LgorICAgIC0gZml4ZXMgYXJtIGFuZCBhcm1lbCBGVEJGUy4KKworIC0tIEZyZWRlcmlrIFNjaMO8bGVyIDxmc0BkZWJpYW4ub3JnPiAgV2VkLCAyMyBKdWwgMjAwOCAxNToyMzoyMiArMDIwMAorCitzdHJhY2UgKDQuNS4xNy0xKSB1bnN0YWJsZTsgdXJnZW5jeT1sb3cKKworICAqIE5ldyB1cHN0cmVhbSByZWxlYXNlLgorCisgLS0gRnJlZGVyaWsgU2Now7xsZXIgPGZzQGRlYmlhbi5vcmc+ICBTYXQsIDE5IEp1bCAyMDA4IDIxOjM4OjMwICswMjAwCisKK3N0cmFjZSAoNC41LjE2K2N2czIwMDgwNzA4LTIpIHVuc3RhYmxlOyB1cmdlbmN5PWxvdworCisgICogUmVydW4gYXV0b3Rvb2xzIGluIGNvcnJlY3Qgb3JkZXIuCisgICogQWRkIHN0cmFjZTY0IHBhY2thZ2Ugb24gaTM4NiwgcG93ZXJwYywgczM5MCBhbmQgc3BhcmMsCisgICAgY2xvc2VzOiAjNDkxMTY3LCAjNDkxMTg4CisKKyAtLSBGcmVkZXJpayBTY2jDvGxlciA8ZnNAZGViaWFuLm9yZz4gIFRodSwgMTcgSnVsIDIwMDggMTc6MjE6MjcgKzAyMDAKKworc3RyYWNlICg0LjUuMTYrY3ZzMjAwODA3MDgtMSkgdW5zdGFibGU7IHVyZ2VuY3k9bG93CisKKyAgKiBOZXcgdXBzdHJlYW0gc25hcHNob3QuCisgICAgKyBGaXggY2htb2QvY2hvd24gdHlwbyBpbiBkZWJpYW4vcnVsZXMsIGNsb3NlczogIzQ1OTI1NS4KKyAgICArIEluc3RhbGwgc3RyYWNlLWdyYXBoIHRvbywgY2xvc2VzOiA0NjkwNjguCisgICAgKyBGaXggbTY4ayBidWlsZCwgY2xvc2VzOiA0NTY4NzkuCisgICAgKyBBcm0gdXBkYXRlcywgY2xvc2VzOiAjNDQxMDAwLgorICAgICsgZml4IGJ1aWxkIG9uIG1pcHMvbWlwc2VsLCBjbG9zZXM6ICM0NDg4MDIuCisgICAgKyBzaG93IHBvbGwoKSBwYXJhbWV0ZXJzIGJlZm9yZSBibG9ja2luZywgY2xvc2VzOiAjMzY5NjUxLgorICAgICsgdXNlIGRoX3N0cmlwIGluc3RlYWQgb2YgaW5zdGFsbCAtcywgY2xvc2VzOiAjNDM4MDU1LCAjMzk2NjgyLgorICAgICsgZml4IHNwYXJjIGJ1aWxkLCBjbG9zZXM6ICM0NjkzNzkuCisgICogQWNrbm93bGVkZ2UgTk1VLCBjbG9zZXM6ICM0NjkzODAuCisgICogUmVtb3ZlIFdpY2hlcnQgQWtrZXJtYW4gZnJvbSB1cGxvYWRlcnMgbGlzdC4KKyAgKiBCdW1wIHN0YW5kYXJkcyB2ZXJzaW9uIHRvIDMuOC4wLgorICAgIC0gQWRkIEhvbWVwYWdlIGZpZWxkLgorICAqIEFkZCBkaF9tZDVzdW1zIGNhbGwsIGNsb3NlczogIzQzOTQyOC4KKyAgKiBGaXggZHBrZy1nZW5jb250cm9sIGNhbGwuCisgICogVXBkYXRlIGRlYmlhbi9jb3B5cmlnaHQuCisKKyAtLSBGcmVkZXJpayBTY2jDvGxlciA8ZnNAZGViaWFuLm9yZz4gIFR1ZSwgMDEgSnVsIDIwMDggMjM6MDU6NTEgKzAyMDAKKworc3RyYWNlICg0LjUuMTYtMSkgdW5zdGFibGU7IHVyZ2VuY3k9bG93CisKKyAgKiBOZXcgdXBzdHJlYW0gdmVyc2lvbi4KKyAgICArIDY0LWJpdCBidWlsZHMsIGNsb3NlczogIzQzNTMwMy4KKyAgICArIExGUyBidWlsZCBmaXgsIGNsb3NlczogIzM4NTMxMC4KKyAgICArIEZpeCBtdWx0aXRocmVhZCBpc3N1ZXMKKyAgICArIEZpeCBzcHVyaW91cyBTSUdTVE9QIG9uIGVhcmx5IGludGVycnVwdC4KKyAgICArIEZpeCB1dGltZSBmb3IgYmlhcmNoLgorICAgICsgRml4IC11IGVycm9yIG1lc3NhZ2UuCisgICAgKyBCZXR0ZXIgZnV0ZXggc3lzY2FsbCBwcmludGluZy4KKyAgICArIEZpeCBhcmd2L2VudnAgcHJpbnRpbmcgd2l0aCBzbWFsbCAtcyBzZXR0aW5ncywgYW5kIGZvciBiaWFyY2guCisgICAgKyBOZXcgc3lzY2FsbHM6IGdldGNwdSwgZXZlbnRmZCwgdGltZXJmZCwgc2lnbmFsZmQsIGVwb2xsX3B3YWl0LAorICAgICAgbW92ZV9wYWdlcywgdXRpbWVuc2F0LgorCisgLS0gUm9sYW5kIE1jR3JhdGggPGZyb2JAZGViaWFuLm9yZz4gIEZyaSwgMDMgQXVnIDIwMDcgMDM6MjQ6MjEgLTA3MDAKKworc3RyYWNlICg0LjUuMTUtMSkgdW5zdGFibGU7IHVyZ2VuY3k9aGlnaAorCisgIFsgUm9sYW5kIE1jR3JhdGggXQorICAqIE5ldyB1cHN0cmVhbSB2ZXJzaW9uLgorICAgICsgRml4IC1mZiAtbyBiZWhhdmlvciwgY2xvc2VzOiAjMzUzOTM1LgorICAgICsgRmFpbCB3aGVuIG5vbm9wdGlvbiBhcmdzIGZvbGxvdyAtcCBzd2l0Y2hlcywgY2xvc2VzOiAjMzYxMzAyLgorICAgICsgRml4IHNlbXRpbWVkb3AsIGNsb3NlczogIzM0MDIzOS4KKyAgICArIEFSTSBzdXBwb3J0IGZpeGVzLCBjbG9zZXM6ICMzNjAxNTIsICMzNjAxNTQuCisKKyAgWyBGcmVkZXJpayBTY2jDvGxlciBdCisgICogRml4IGNvbmZpZ3VyZSBzY3JpcHQsIGNsb3NlczogIzQyODk5NworCisgLS0gRnJlZGVyaWsgU2Now7xsZXIgPGZzQGRlYmlhbi5vcmc+ICBGcmksIDIyIEp1biAyMDA3IDE2OjI4OjA4ICswMDAwCisKK3N0cmFjZSAoNC41LjE0LTIpIHVuc3RhYmxlOyB1cmdlbmN5PWxvdworCisgICogTmV3IGNvbWFpbnRhaW5lci4KKyAgKiBGaXggYnVpbGQgZmFpbHVyZSB3aXRoIGxpbnV4LTIuNi4xOCwgdGhhbmtzIHRvIEFuZHJlYXMgSGVucmlrc3NvbiBmb3IgdGhlCisgICAgcGF0Y2gsIGNsb3NlczogIzM5MjU1Ni4KKyAgKiBGaXggYnVpbGQgd2l0aCBsaWJjNiAyLjUuCisgICogQWNrbm93bGVkZ2UgTk1VcywgY2xvc2VzOiAjMzE1NTAwLCAjMzU1NzMzCisKKyAtLSBGcmVkZXJpayBTY2jDvGxlciA8ZnNAZGViaWFuLm9yZz4gIFRodSwgMjYgT2N0IDIwMDYgMjI6MTE6MjUgKzAyMDAKKworc3RyYWNlICg0LjUuMTQtMSkgdW5zdGFibGU7IHVyZ2VuY3k9bG93CisKKyAgKiBOZXcgdXBzdHJlYW0gdmVyc2lvbi4KKyAgICArIEZpeCBjcmFzaCBpbiBwcmludGluZyBzeXNjdGwsIGNsb3NlczogIzMzOTExNy4KKyAgICArIFJlc3BlY3QgREVCX0JVSUxEX09QVElPTlM9bm9zdHJpcCwgY2xvc2VzOiAjMzI1MTMyLgorICAgICsgRml4IGlwYyBzeXNjYWxsIGRlY29kaW5nLCBjbG9zZXM6ICMzNDAyMzkuCisgICAgKyBBZGQgbWlzc2luZyBzb3VyY2UgZmlsZXMgdG8gdGFyYmFsbCwgY2xvc2VzOiAjMzM2MTk3LgorICAgICsgQnVpbGQgb24gYXJtZWIsIGNsb3NlczogIzMzNTY4MS4KKworIC0tIFJvbGFuZCBNY0dyYXRoIDxmcm9iQGRlYmlhbi5vcmc+ICBNb24sIDE2IEphbiAyMDA2IDIyOjE3OjM4IC0wODAwCisKK3N0cmFjZSAoNC41LjEzLTEpIHVuc3RhYmxlOyB1cmdlbmN5PWxvdworCisgICogTmV3IHVwc3RyZWFtIHZlcnNpb24uCisgICAgKyBGaXggbTY4ayBidWlsZCwgY2xvc2VzOiAjMzE1NTAwLgorICAgICsgRml4IHNldHNvY2tvcHQgZGVjb2Rpbmcgb24gNjQtYml0LgorICAgICsgRml4IHR5cG9zIGluIHNvY2tldCBvcHRpb24gbmFtZSBzdHJpbmdzLgorICAgICsgRGlzcGxheSBtb3JlIElQVjYgc29ja2V0IG9wdGlvbnMgYnkgbmFtZS4KKyAgICArIERvbid0IGRpc3BsYXkgaW5hcHByb3ByaWF0ZSBzeXNjYWxscyBmb3IgLWUgdHJhY2U9ZmlsZS4KKyAgICArIE5ldyBzZWxlY3RvciB0eXBlIC1lIHRyYWNlPWRlc2MgZm9yIGZpbGUtZGVzY3JpcHRvciB1c2luZyBjYWxscy4KKyAgICArIEZpeCAzMi1iaXQgb2xkX21tYXAgc3lzY2FsbCBkZWNvZGluZyBvbiB4ODYtNjQuCisgICAgKyBGaXggZXJyb3JzIGRldGFjaGluZyBmcm9tIG11bHRpdGhyZWFkZWQgcHJvY2VzcyBvbiBpbnRlcnJ1cHQuCisgICAgKyBOb3RlIDQuNS4xMiBmaXggZm9yIGNyYXNoIGhhbmRsaW5nIGJhZCBzaWduYWwgbnVtYmVycy4KKworIC0tIFJvbGFuZCBNY0dyYXRoIDxmcm9iQGRlYmlhbi5vcmc+ICBXZWQsICAzIEF1ZyAyMDA1IDA0OjQxOjQ5IC0wNzAwCisKK3N0cmFjZSAoNC41LjEyLTEpIHVuc3RhYmxlOyB1cmdlbmN5PWxvdworCisgICogTmV3IHVwc3RyZWFtIHZlcnNpb24uCisgICAgKyBCdWlsZCBvbiBwcGM2NCwgY2xvc2VzOiAjMzAxMDg5LgorICAgICsgUmVmdXNlIG5lZ2F0aXZlIC1zIGFyZ3VtZW50IHZhbHVlLCBjbG9zZXM6ICMzMDMyNTYuCisgICAgKyBGaXgga25vd24gc3lzY2FsbCByZWNvZ25pdGlvbiBmb3IgSUEzMiBwcm9jZXNzZXMgb24geDg2LTY0LgorICAgICsgRml4IGJhZCBvdXRwdXQgZm9yIHB0cmFjZSBvbiB4ODYtNjQuCisgICAgKyBGaXggcG90ZW50aWFsIGJ1ZmZlciBvdmVycnVucy4KKyAgICArIE1ha2Ugc29tZSBkaWFnbm9zdGljcyBtb3JlIGNvbnNpc3RlbnQuCisgICAgKyBVcGRhdGUgUG93ZXJQQyBzeXN0ZW0gY2FsbHMuCisgICAgKyBCZXR0ZXIgcHJpbnRpbmcgZm9yIExpbnV4IGFpbyBzeXN0ZW0gY2FsbHMuCisgICAgKyBEb24ndCB0cnVuY2F0ZSBzdGF0ZnM2NCBmaWVsZHMgdG8gMzIgYml0cyBpbiBvdXRwdXQuCisgICAgKyBDb3NtZXRpYyBjb2RlIGNsZWFudXBzLgorCisgLS0gUm9sYW5kIE1jR3JhdGggPGZyb2JAZGViaWFuLm9yZz4gIFdlZCwgIDggSnVuIDIwMDUgMTM6NTI6MzkgLTA3MDAKKworc3RyYWNlICg0LjUuMTEtMSkgdW5zdGFibGU7IHVyZ2VuY3k9bG93CisKKyAgKiBOZXcgdXBzdHJlYW0gdmVyc2lvbi4KKyAgICArIFVwZGF0ZSBNSVBTIHN5c3RlbSBjYWxsIHRhYmxlLCBjbG9zZXM6ICMyNTY2ODQuCisgICAgKyBGaXggYnVpbGQgb24gczM5MCBhbmQgc3BhcmMsIGNsb3NlczogIzI5NDE3MiwgIzI5MzU2NC4KKyAgICArIEZpeCBzZWxlY3QgaGFuZGxpbmcgb24gbm9uc3RhbmRhcmQgZmRfc2V0IHNpemVzLCBjbG9zZXM6ICM2NTY1NCwgIzI4NDI5MC4KKyAgICArIERvbid0IHByaW50IGVycm9ycyBmb3IgbnVsbCBmaWxlIG5hbWUgcG9pbnRlcnMsIGNsb3NlczogIzYzMDkzLgorICAgICsgRml4IGluaXRpYWwgZXhlY3ZlIG91dHB1dCB3aXRoIC1pLgorICAgICsgRml4IGJ1aWxkIG5pdHMsIGNsb3NlczogIzMwMDU5OC4KKworIC0tIFJvbGFuZCBNY0dyYXRoIDxmcm9iQGRlYmlhbi5vcmc+ICBUdWUsIDIyIE1hciAyMDA1IDE1OjEyOjIyIC0wODAwCisKK3N0cmFjZSAoNC41LjktMSkgdW5zdGFibGU7IHVyZ2VuY3k9bG93CisKKyAgKiBOZXcgdXBzdHJlYW0gdmVyc2lvbi4KKyAgICArIEZpeCBwb3RlbnRpYWwgY3Jhc2ggaW4gZ2V0eGF0dHIgcHJpbnRpbmcsIGNsb3NlczogIzI4MzcwNC4KKyAgICArIEltcHJvdmUgc29ja2V0IGlvY3RsIHByaW50aW5nLCBjbG9zZXM6ICMxOTIxNjQuCisgICAgKyBGaXggc3BhcmMgYnVpbGQsIGNsb3NlczogIzI3ODQ0OS4KKyAgICArIFVwZGF0ZSBpYTY0IHN5c2NhbGwgbGlzdC4KKyAgICArIEZpeCB4ODZfNjQgc3lzY2FsbCBhcmd1bWVudCBleHRyYWN0aW9uIGZvciAzMi1iaXQgcHJvY2Vzc2VzLgorICAgICsgRml4IC1lIHNpZ25hbD1OQU1FIHBhcnNpbmcuCisgICAgKyBGaXggeDg2XzY0IGV4aXRfZ3JvdXAgc3lzY2FsbCBoYW5kbGluZy4KKyAgICArIEltcHJvdmUgbW91bnQgZmxhZ3MgcHJpbnRpbmcuCisgICAgKyBTdXBwb3J0IHN5bWJvbGljIHByaW50aW5nIG9mIHg4Nl82NCBhcmNoX3ByY3RsIHBhcmFtZXRlcnMuCisgICAgKyBBZGQgc3RyYWNlLXVkZWIgcGFja2FnZSBmb3IgRGViaWFuIGluc3RhbGxlciBkZWJ1Z2dpbmcsIGNsb3NlczogIzI2ODI5NC4KKworIC0tIFJvbGFuZCBNY0dyYXRoIDxmcm9iQGRlYmlhbi5vcmc+ICBGcmksICA0IEZlYiAyMDA1IDAxOjUzOjAxIC0wODAwCisKK3N0cmFjZSAoNC41LjgtMSkgdW5zdGFibGU7IHVyZ2VuY3k9bG93CisKKyAgKiBOZXcgdXBzdHJlYW0gdmVyc2lvbi4KKyAgICArIEZpeCBzdHJhY2U2NCBtYW4gcGFnZSBzeW1saW5rLCBjbG9zZXM6ICMyNjkyMjAuCisgICAgKyBVcGRhdGUgc3lzY2FsbCB0YWJsZXMgZm9yIEFscGhhLCBBUk0sIEhQUEEsIGNsb3NlczogIzI3Mzg4Ny4KKyAgICArIEJ1aWxkIHN0cmFjZTY0IGZvciBzMzkwLCBjbG9zZXM6ICMyNzE1MDAuCisgICAgKyBGaXggc29tZSBlbmRpYW4gaXNzdWVzIGluIDY0LWJpdCBhcmd1bWVudCBvdXRwdXQgb24gMzItYml0IG1hY2hpbmVzLgorICAgICsgU3VwcG9ydCBuZXcgTGludXggc3lzY2FsbHMgbWJpbmQsIHNldF9tZW1wb2xpY3ksIGdldF9tZW1wb2xpY3ksIHdhaXRpZC4KKyAgICArIFN1cHBvcnQgTGludXggc3lzY2FsbHMgZmFkdmlzZTY0LCBmYWR2aXNlNjRfNjQsIGFuZCBlcG9sbF8qLgorICAgICsgSW1wcm92ZSBpb2N0bCBjb21tYW5kIG5hbWUgbWF0Y2hpbmcuCisgICAgKyBQcmludCBSVENfKiBpb2N0bCBzdHJ1Y3R1cmUgY29udGVudHMuCisgICAgKyBTdXBwb3J0IG5ld2VyIFJMSU1JVF8qIHZhbHVlcy4KKyAgICArIFByaW50IHN0cnVjdCBjbXNnaGRyIGRldGFpbHMgaW4gc2VuZG1zZy4KKworIC0tIFJvbGFuZCBNY0dyYXRoIDxmcm9iQGRlYmlhbi5vcmc+ICBUdWUsIDE5IE9jdCAyMDA0IDE4OjA1OjI4IC0wNzAwCisKK3N0cmFjZSAoNC41LjctMSkgdW5zdGFibGU7IHVyZ2VuY3k9bG93CisKKyAgKiBOZXcgdXBzdHJlYW0gdmVyc2lvbi4KKyAgICArIFVwZGF0ZSBtYW4gcGFnZSBhYm91dCAtYywgY2xvc2VzOiAjMjU0NDM4LgorICAgICsgSW5jbHVkZSBwcmVhZC9wd3JpdGUgY2FsbHMgaW4gLWUgcmVhZC93cml0ZSB0cmFjaW5nLCBjbG9zZXM6ICMyMzk5NDcuCisgICAgKyBVcGRhdGUgU09fKiBhbmQgSVBfKiB2YWx1ZSBsaXN0cywgY2xvc2VzOiAjMTcxNjUzLgorICAgICsgUHJpbnQgYXR0cmlidXRlIHZhbHVlcyBpbiAqeGF0dHIgc3lzdGVtIGNhbGxzLgorICAgICsgUHJpbnQgY2xvY2tfdCB2YWx1ZXMgc3ltYm9saWNhbGx5IGluIExpbnV4IGNsb2NrXyogc3lzdGVtIGNhbGxzLgorICAgICsgU2hvdyBQRVJfKiB2YWx1ZXMgY29ycmVjdGx5LCBjbG9zZXM6ICM0MDU4OC4KKyAgICArIEZpeCBgc3RyYWNlNjQnIGJ1aWxkIG9uIHNwYXJjLCBjbG9zZXM6ICMyNTQ3MjguCisKKyAtLSBSb2xhbmQgTWNHcmF0aCA8ZnJvYkBkZWJpYW4ub3JnPiAgVHVlLCAzMSBBdWcgMjAwNCAwMTo0MToxOSAtMDcwMAorCitzdHJhY2UgKDQuNS42LTEpIHVuc3RhYmxlOyB1cmdlbmN5PWxvdworCisgICogTmV3IHVwc3RyZWFtIHZlcnNpb24uCisgICAgKyBVcGRhdGUgTGludXggaW9jdGwgbGlzdHMgYW5kIGRlY29kZSBzb21lIG1vcmUgbmV0d29yayBpb2N0bHMuCisgICAgKyBGaXggYHF1b3RhY3RsJyBhcmd1bWVudCBkZWNvZGluZyBvbiA2NC1iaXQuCisgICAgKyBMaW51eC9TUEFSQzY0IHN1cHBvcnQsIGNsb3NlczogIzI1NDcyOC4KKworIC0tIFJvbGFuZCBNY0dyYXRoIDxmcm9iQGRlYmlhbi5vcmc+ICBNb24sIDEyIEp1bCAyMDA0IDAwOjE4OjMyIC0wNzAwCisKK3N0cmFjZSAoNC41LjUtMSkgdW5zdGFibGU7IHVyZ2VuY3k9bG93CisKKyAgKiBOZXcgdXBzdHJlYW0gdmVyc2lvbi4KKyAgICArIEZpeCBzdXBwb3J0IGZvciAzMi1iaXQgKGkzODYpIGJpbmFyaWVzIG9uIExpbnV4L0FNRDY0LgorCisgLS0gUm9sYW5kIE1jR3JhdGggPGZyb2JAZGViaWFuLm9yZz4gIFN1biwgMjcgSnVuIDIwMDQgMjI6MTk6MTUgLTA3MDAKKworc3RyYWNlICg0LjUuNC0xKSB1bnN0YWJsZTsgdXJnZW5jeT1sb3cKKworICAqIEJ1aWxkIHBhY2thZ2Ugb24gYW1kNjQsIGNsb3NlczogIzI0NjU2OC4KKyAgKiBOZXcgdXBzdHJlYW0gdmVyc2lvbi4KKyAgICArIFJlY29nbml6ZSBtb3JlIFBGXyogYW5kIEFGXyogdmFsdWVzLCBjbG9zZXM6ICMyNTA1MDYuCisgICAgKyBPdGhlciAgZml4ZXMuCisKKyAtLSBSb2xhbmQgTWNHcmF0aCA8ZnJvYkBkZWJpYW4ub3JnPiAgVGh1LCAgMyBKdW4gMjAwNCAxOTozNTozNyAtMDcwMAorCitzdHJhY2UgKDQuNS4zLTEpIHVuc3RhYmxlOyB1cmdlbmN5PWxvdworCisgICogTmV3IHVwc3RyZWFtIHZlcnNpb24uCisgICAgKyBGaW5pc2ggZml4IGZvciAtZiBvbiBMaW51eC9TMzkwKHgpLgorICAgICsgUHJpbnQgZXh0cmEgd2FpdCBzdGF0dXMgYml0cywgY2xvc2VzOiAjMjQwMDYyLgorCisgLS0gUm9sYW5kIE1jR3JhdGggPGZyb2JAZGViaWFuLm9yZz4gIEZyaSwgMTYgQXByIDIwMDQgMTU6Mjc6NDMgLTA3MDAKKworc3RyYWNlICg0LjUuMi0xKSB1bnN0YWJsZTsgdXJnZW5jeT1sb3cKKworICAqIE5ldyB1cHN0cmVhbSB2ZXJzaW9uLgorICAgICsgQ2hlY2sgZm9yIGVycm9ycyB3cml0aW5nIHRvIC1vIGZpbGUsIGNsb3NlczogIzIxODc2MgorICAgICsgUHJpbnQgbXVsdGlwbGUgaW9jdGwgY29kZSBtYXRjaGVzIG9uIExpbnV4LgorICAgICsgVmFyaW91cyBvdGhlciBmaXhlcy4KKyAgICArIFVwZGF0ZSB0eXBvcyBhbmQgb2Jzb2xldGUgYml0cyBpbiBtYW4gcGFnZSwgY2xvc2VzOiAjMjE3MDA4LCAjMjIzMzkwCisgICAgKyBGaXggY29tcGlsYXRpb24gcHJvYmxlbXMgd2l0aCBuZXdlciBrZXJuZWwgaGVhZGVycywgY2xvc2VzOiAjMjIzMjA3CisgICAgKyBVcGRhdGUgSFBQQSBzeXN0ZW0gY2FsbHMsIGNsb3NlczogIzIzMTYzMgorICAgICsgRml4IFBJRCBpbiBtZXNzYWdlcywgY2xvc2VzOiAjMjI5ODAyCisgICAgKyBGaXggczM5MCBicm9rZW5uZXNzIGluIDQuNSwgY2xvc2VzOiAjMjI2MDk4CisKKyAtLSBSb2xhbmQgTWNHcmF0aCA8ZnJvYkBkZWJpYW4ub3JnPiAgTW9uLCAgMSBNYXIgMjAwNCAyMjo0NDo1NSAtMDgwMAorCitzdHJhY2UgKDQuNS0xKSB1bnN0YWJsZTsgdXJnZW5jeT1sb3cKKworICAqIE5ldyB1cHN0cmVhbSB2ZXJzaW9uLgorICAgICsgRml4IG1sb2NrIHN5c2NhbGwgcHJpbnRpbmcuCisgICAgKyBNSVBTICYgUzM5MCB1cGRhdGVzLgorICAgICsgUHJpbnQgbmFtZXMgZm9yIFNJR1JUXyogaW4gc2V0cy4KKworIC0tIFJvbGFuZCBNY0dyYXRoIDxmcm9iQGRlYmlhbi5vcmc+ICBXZWQsIDI0IFNlcCAyMDAzIDE1OjIwOjE4IC0wNzAwCisKK3N0cmFjZSAoNC40Ljk5LTEpIHVuc3RhYmxlOyB1cmdlbmN5PWxvdworCisgICogTmV3IHVwc3RyZWFtIHZlcnNpb24uCisgICAgKyBBbHBoYSB1cGRhdGVzLgorICAgICsgQWRkIGEgZmV3IG1vcmUgbmV3IExpbnV4IDIuNSBzeXN0ZW0gY2FsbHMuCisgICAgKyBTdGVwaGVuIFRob21hcyBjb250cmlidXRlZCBhIHBvcnQgdG8gTGludXgvU0g2NC4KKyAgICArIFByaW50IHByb3RvY29sIG5hbWVzIGZvciBQRl9JTkVUNiBzb2NrZXRzLgorCisgLS0gUm9sYW5kIE1jR3JhdGggPGZyb2JAZGViaWFuLm9yZz4gIFRodSwgMTcgSnVsIDIwMDMgMDI6MDQ6NDMgLTA3MDAKKworc3RyYWNlICg0LjQuOTgtMSkgdW5zdGFibGU7IHVyZ2VuY3k9bG93CisKKyAgKiBOZXcgdXBzdHJlYW0gdmVyc2lvbi4KKyAgICArIEZpeGVzIGNsb25lIGFyZ3VtZW50IGJ1Z3MuCisgICAgKyBGaXhlcyBzZW0qIHByaW50aW5nIGJ1Z3MuCisgICAgKyBGaXhlcyAtZSBhcmd1bWVudCBwYXJzaW5nLCBjbG9zZXM6ICMxODgzNzkuCisgICAgKyBGaXhlcyBoYW5naW5nIHBhcmVudCBpbiBvZGQgd2FpdCBjYXNlcywgY2xvc2VzOiAjNDc2MDgsICMxMDk2NTYuCisgICAgKyBGaXhlcyAtcSBkZWZhdWx0aW5nLCBjbG9zZXM6ICM0NzExMywgIzE1MzY3OC4KKyAgICArIEZpeGVzIHRyeWluZyB0byBleGVjdXRlIGRpcmVjdG9yaWVzLCBjbG9zZXM6ICMxMzcxMDMuCisgICAgKyBVcGRhdGVzIEFSTSBzdXBwb3J0LCB0aGFua3MgdG8gUnVzc2VsbCBLaW5nLgorICAgICsgVXBkYXRlcyBTMzkwL1MzOTB4IHN1cHBvcnQuCisgICogQnVtcCBzdGFuZGFyZHMtdmVyc2lvbiB0byAzLjUuMTAKKworIC0tIFJvbGFuZCBNY0dyYXRoIDxmcm9iQGRlYmlhbi5vcmc+ICBNb24sICAyIEp1biAyMDAzIDEyOjI2OjI5IC0wNzAwCisKK3N0cmFjZSAoNC40Ljk2LTEpIHVuc3RhYmxlOyB1cmdlbmN5PWxvdworCisgICogTmV3IHVwc3RyZWFtIHZlcnNpb24uCisgICAgKyBIYW5kbGVzIHlldCBtb3JlIG5ldyBMaW51eCAyLjUgc3lzdGVtIGNhbGxzLgorICAgICsgRml4ZXMgeDg2XzY0IGFuZCBpYTY0IGNsb25lIHByaW50aW5nLgorICAgICsgVXBkYXRlcyBTSCBwb3J0LgorCisgLS0gUm9sYW5kIE1jR3JhdGggPGZyb2JAZGViaWFuLm9yZz4gIFN1biwgMzAgTWFyIDIwMDMgMTc6MTQ6MzQgLTA4MDAKKworc3RyYWNlICg0LjQuOTUtMSkgdW5zdGFibGU7IHVyZ2VuY3k9bG93CisKKyAgKiBOZXcgdXBzdHJlYW0gdmVyc2lvbi4KKyAgICArIEZpeGVzIHByaW50aW5nIG9mIGdldHJlc3VpZCBhbmQgZ2V0cmVzZ2lkIHZhbHVlcy4KKworIC0tIFJvbGFuZCBNY0dyYXRoIDxmcm9iQGRlYmlhbi5vcmc+ICBNb24sIDI0IEZlYiAyMDAzIDAyOjUwOjQzIC0wODAwCisKK3N0cmFjZSAoNC40Ljk0LTEpIHVuc3RhYmxlOyB1cmdlbmN5PWxvdworCisgICogTmV3IHVwc3RyZWFtIHZlcnNpb24uCisgICAgKyBOZXcgb3B0aW9uIC1FIHRvIHNldCBlbnZpcm9ubWVudCB2YXJpYWJsZXMuCisgICAgKyBCdWlsZCBmaXhlcyBmb3Igc3BhcmMsIGNsb3NlczogIzE3ODYzNi4KKworIC0tIFJvbGFuZCBNY0dyYXRoIDxmcm9iQGRlYmlhbi5vcmc+ICBXZWQsIDE5IEZlYiAyMDAzIDE5OjEyOjQwIC0wODAwCisKK3N0cmFjZSAoNC40LjkzLTEpIHVuc3RhYmxlOyB1cmdlbmN5PWxvdworCisgICogTmV3IHVwc3RyZWFtIHZlcnNpb24uCisgICAgKyBHcm9rIG5ldyBxdW90YWN0bCBhcmd1bWVudHMsIGNsb3NlczogIzE1NDA2Ny4KKyAgICArIEZpeCBtNjhrIGJ1aWxkIHByb2JsZW0sIGNsb3NlczogIzE3NjUyOC4KKyAgICArIE9sZCBidWdzIHByaW9yIHJlbGVhc2UgYWN0dWFsbHkgY2xvc2VzOiAjMTU0MDY4LgorICAgICsgRml4IFMzOTAgYnVncyB3aXRoIC1mLCBhbmQgYnVncyB3aXRoIGV4ZWN2ZS4KKyAgKiBTd2l0Y2hlZCB0byBub24tbmF0aXZlIHBhY2thZ2luZyAoZW1wdHkgLmRpZmYpLCBjbG9zZXM6ICMxNzYzODguCisKKyAtLSBSb2xhbmQgTWNHcmF0aCA8ZnJvYkBkZWJpYW4ub3JnPiAgVHVlLCAyMSBKYW4gMjAwMyAxMjoyMjowOCAtMDgwMAorCitzdHJhY2UgKDQuNC45Mi0xKSB1bnN0YWJsZTsgdXJnZW5jeT1sb3cKKworICAqIE5ldyB1cHN0cmVhbSB2ZXJzaW9uLgorICAgICsgVXBkYXRlZCBjb25maWcuZ3Vlc3MgYW5kIGNvbmZpZy5zdWIsIGNsb3NlczogIzE3NjI0MS4KKyAgICArIFNldmVyYWwgZml4ZXMgZm9yIFBQQywgY2xvc2VzOiAjMTQ0MzI2LgorICAgICsgRml4ZWQgcHRyYWNlIG91dHB1dCBmb3IgdW5rbm93biByZXF1ZXN0cywgY2xvc2VzOiAjNzc3MjguCisgICAgKyBGaXhlZCBvdXRwdXQgb2YgZ2V0ZGVudHM2NCwgdHJ1bmNhdGU2NCwgZnRydW5jYXRlNjQsIGNsb3NlczogIzE2OTUyOC4KKyAgICArIE9sZCBidWdzIHRoZSBsYXN0IHJlbGVhc2UgYWN0dWFsbHkgY2xvc2VzOiAjMTUzNzUwLCAjMzg0NjcsICMxMDk5OTMsCisgICAgICAjMTA5ODE1LCAjMTA0NTk0LCAjMTEzMDg3LCAjMTM0ODAzLCAjMTY2NjIyLCAjOTYzNTYsICM5NDcyNSwgIzMyMTQ3LAorICAgICAgIzMyNzk4LCAjMzY4MDEsICM0MTA2NiwgIzgxNjM3LCAjMTM4MzAwLCAjMTQzNzkxLgorCisgLS0gUm9sYW5kIE1jR3JhdGggPGZyb2JAZGViaWFuLm9yZz4gIFR1ZSwgMTQgSmFuIDIwMDMgMDI6MDI6NDQgLTA4MDAKKworc3RyYWNlICg0LjQuOTEtMSkgdW5zdGFibGU7IHVyZ2VuY3k9bG93CisKKyAgKiBOZXcgdXBzdHJlYW0gdmVyc2lvbi4KKyAgICArIEZpeGVzIC1mIG9uIHg4Ni02NC4KKworIC0tIFJvbGFuZCBNY0dyYXRoIDxmcm9iQGRlYmlhbi5vcmc+ICBGcmksIDEwIEphbiAyMDAzIDEyOjU1OjM0IC0wODAwCisKK3N0cmFjZSAoNC40LjkwLTEpIHVuc3RhYmxlOyB1cmdlbmN5PWxvdworCisgICogTmV3IG1haW50YWluZXIuCisgICogTmV3IHVwc3RyZWFtIHZlcnNpb24uCisKKyAtLSBSb2xhbmQgTWNHcmF0aCA8ZnJvYkBkZWJpYW4ub3JnPiAgRnJpLCAxMCBKYW4gMjAwMyAwMTo1ODo0MCAtMDgwMAorCitzdHJhY2UgKDQuNC0xLjIpIHVuc3RhYmxlOyB1cmdlbmN5PWxvdworCisgICogTk1VCisgICogUXVpY2sgb25lLWxpbmVyIHRvIGFsbG93IGJ1aWxkaW5nIG9uIHRoZSBBUk0uIENsb3NlczogIzEwOTk5My4KKyAgKiBSZS1yYW4gYXV0b2NvbmYsIGhvcGVmdWxseSBJIGRpZG4ndCBicmVhayBvdGhlciBhcmNoZXMuCisKKyAtLSBBbmFuZCBLdW1yaWEgPHdpbGRmaXJlQHByb2dzb2Mub3JnPiAgTW9uLCAgMSBPY3QgMjAwMSAxNDoyMjoyNSArMTAwMAorCitzdHJhY2UgKDQuNC0xLjEpIHVuc3RhYmxlOyB1cmdlbmN5PWxvdworCisgICogTk1VLgorICAqIEFkZGVkIHBhdGNoIGZyb20gRGF2aWQgTW9zYmVyZ2VyIHdoaWNoIGZpeGVzIHNvbWUgaWE2NCBpc3N1ZXMuCisgICAgQ2xvc2VzOiAjMTEzMDg3LgorICAqIEFkZGVkIGlhNjQtc3BlY2lmaWMgQnVpbGQtRGVwZW5kcyBvbiBsaWJjNi4xLWRldi4gIENsb3NlczoKKyAgICAjMTA5ODE1LgorICAqIFJhbiBhdXRvaGVhZGVyLCBzbyB0aGUgczM5MCBwYXRjaCBhcHBsaWVzLiAgQ2xvc2VzOiAjMTA0NTk0LgorCisgLS0gSmVmZiBMaWNxdWlhIDxqbGljcXVpYUBwcm9nZW55LmNvbT4gIFR1ZSwgMjUgU2VwIDIwMDEgMTM6MTU6MjggLTA1MDAKKworc3RyYWNlICg0LjQtMSkgdW5zdGFibGU7IHVyZ2VuY3k9bG93CisKKyAgKiBOZXcgdXBzdHJlYW0gdmVyc2lvbgorICAgICsgQWRkZWQgUzM5MCBzdXBwb3J0LiBDbG9zZXM6IEJ1ZyMxMDQ1OTQKKyAgICArIE5ldyBjb25maWcue2d1ZXNzLHN1Yn0uIENsb3NlczogQnVnIzkyNTMyCisgICAgKyBMRlMgc3VwcG9ydCBmb3IgTGludXgvc3BhcmMuIENsb3NlczogQnVnIzk5MjE1CisgICAgKiBXb3JrcyBvbiBJQTY0IGFnYWluLiBDbG9zZXM6IEJ1ZyMxMDM4NTQKKyAgKiBEb24ndCBvdmVycmlkZSBDRkxBR1MgaW4gZGViaWFuL3J1bGVzCisgICogUmVtb3ZlIHJ1bGVzIHRvIGNyZWF0ZSBjb25maWd1cmUgJiBmcmllbmRzLiBDbG9zZXM6IEJ1ZyM5MjQ4MworCisgLS0gV2ljaGVydCBBa2tlcm1hbiA8d2Fra2VybWFAZGViaWFuLm9yZz4gIFN1biwgMTkgQXVnIDIwMDEgMTQ6MTA6NTggKzAyMDAKKworc3RyYWNlICg0LjMtMy4xKSB1bnN0YWJsZTsgdXJnZW5jeT1sb3cKKworICAqIGNvcHkgaW4gbmV3IGNvbmZpZy57Z3Vlc3Msc3VifSB0byBnZXQgc3VwcG9ydCBmb3IgbmV3IGFyY2hpdGVjdHVyZXMuCisgICAgQ2xvc2VzOiAjOTQ3MjUKKworIC0tIExhTW9udCBKb25lcyA8bGFtb250QGRlYmlhbi5vcmc+ICBNb24sICA5IEp1bCAyMDAxIDIxOjM5OjM0IC0wNjAwCisKK3N0cmFjZSAoNC4zLTMpIHVuc3RhYmxlOyB1cmdlbmN5PWxvdworCisgICogVXBkYXRlIGFyY2hpdGVjdHVyZSBsaXN0CisKKyAtLSBXaWNoZXJ0IEFra2VybWFuIDx3YWtrZXJtYUBkZWJpYW4ub3JnPiAgU2F0LCAxNCBBcHIgMjAwMSAxMDo0MjoxOSArMDIwMAorCitzdHJhY2UgKDQuMy0yKSB1bnN0YWJsZTsgdXJnZW5jeT1sb3cKKworICAqIFJ1biBjdnNidWlsZCBzbyB3ZSBkb24ndCBuZWVkIHRvIHJ1biBhdXRvaGVhZCAmIGZyaWVuZHMKKyAgKiBTeW5jIHRvIGN1cnJlbnQgQ1ZTCisKKyAtLSBXaWNoZXJ0IEFra2VybWFuIDx3YWtrZXJtYUBkZWJpYW4ub3JnPiAgRnJpLCAxMyBBcHIgMjAwMSAxOTowODo1MyArMDIwMAorCitzdHJhY2UgKDQuMy0xKSB1bnN0YWJsZTsgdXJnZW5jeT1sb3cKKworICAqIE5ldyB1cHN0cmVhbSB2ZXJzaW9uCisgICogVXBkYXRlZCBCdWlsZC1EZXBlbmRzIHRvIHVzZSBhIHJlY2VudCBnbGliYyBzbyB3ZSBnZXQgdGhlIDIuNCBrZXJuZWwKKyAgICBoZWFkZXJzCisgICogQ2hhbmdlZCBBcmNoaXRlY3R1cmUgc28gd2Ugb25seSBidWlsZCBvbiBMaW51eAorICAqIEluY2x1ZGUgc2VjdGlvbiBhbmQgcHJpb3JpdHkgaW4gY29udHJvbCBpbmZvCisKKyAtLSBXaWNoZXJ0IEFra2VybWFuIDx3YWtrZXJtYUBkZWJpYW4ub3JnPiAgU3VuLCAgMSBBcHIgMjAwMSAxNjozNTozMiArMDIwMAorCitzdHJhY2UgKDQuMi00KSBmcm96ZW4gdW5zdGFibGU7IHVyZ2VuY3k9bG93CisKKyAgKiBBY3R1YWxseSBpbnN0YWxsIHBvc3RpbnN0IGFuZCBwcmVybSBzbyB3ZSBnZXQgdGhlIHByb3BlciAvdXNyL2RvYy9zdHJhY2UKKyAgICBzeW1saW5rCisKKyAtLSBXaWNoZXJ0IEFra2VybWFuIDx3YWtrZXJtYUBkZWJpYW4ub3JnPiAgVGh1LCAxNyBGZWIgMjAwMCAyMTo0OToxNyArMDEwMAorCitzdHJhY2UgKDQuMi0zKSBmcm96ZW4gdW5zdGFibGU7IHVyZ2VuY3k9bG93CisKKyAgKiBGaXggdHlwbyBpbiBhY2xvY2FsLm00IHRoYXQgcHJldmVudGVkIGNvbXBpbGF0aW9uIG9uIGFyY2hpdGVjdHVyZXMgd2l0aG91dAorICAgIExGUworCisgLS0gV2ljaGVydCBBa2tlcm1hbiA8d2Fra2VybWFAZGViaWFuLm9yZz4gIFN1biwgMTMgRmViIDIwMDAgMDE6MTk6MTEgKzAxMDAKKworc3RyYWNlICg0LjItMikgZnJvemVuIHVuc3RhYmxlOyB1cmdlbmN5PWxvdworCisgICogb25seSBpbmNsdWRlIGxpbnV4L3B0cmFjZS5oIGlmIHN5cy9yZWcuaCBoYXNuJ3QgYmVlbiBmb3VuZCBieSBjb25maWd1cmUsCisgICAgQ2xvc2VzOiBCdWcjIDM5NTU2CisKKyAtLSBXaWNoZXJ0IEFra2VybWFuIDx3YWtrZXJtYUBkZWJpYW4ub3JnPiAgVGh1LCAyNyBKYW4gMjAwMCAwMzoyMjo1NSArMDEwMAorCitzdHJhY2UgKDQuMi0xKSBmcm96ZW4gIHVuc3RhYmxlOyB1cmdlbmN5PWxvdworCisgICogTmV3IHVwc3RyZWFtIHZlcnNpb246CisgICAgKyBCdWlsZHMgY29ycmVjdGx5IG9uIGdsaWJjMi4wIGFnYWluLCBDbG9zZXM6IEJ1ZyMgNTE2NDgKKyAgICArIFNtYWxsIHkyayBmaXggaW4gcHJpbnR0aW1lcywgQ2xvc2VzOiBCdWcjIDU0NTkyCisgICAgKyBzZW1vcCBpcyBoYW5kbGVkIG5vdywgQ2xvc2VzOiBCdWcjIDUyNjg0CisKKyAtLSBXaWNoZXJ0IEFra2VybWFuIDx3YWtrZXJtYUBkZWJpYW4ub3JnPiAgRnJpLCAyMSBKYW4gMjAwMCAyMTo0NTo0MSArMDEwMAorCitzdHJhY2UgKDQuMS0xKSB1bnN0YWJsZTsgdXJnZW5jeT1sb3cKKworICAqIE5ldyB1cHN0cmVhbSB2ZXJzaW9uCisgICogQnVtcCBzdGFuZGFyZHMtdmVyc2lvbiB0byAzLjEuMAorICAqIEZIUyAyLjEgY29tcGxpYW50CisKKyAtLSBXaWNoZXJ0IEFra2VybWFuIDx3YWtrZXJtYUBkZWJpYW4ub3JnPiAgRnJpLCAyNiBOb3YgMTk5OSAwMTo0MjowNyArMDEwMAorCitzdHJhY2UgKDQuMC0xKSB1bnN0YWJsZTsgdXJnZW5jeT1sb3cKKworICAqIE5ldyB1cHN0cmVhbSB2ZXJzaW9uCisKKyAtLSBXaWNoZXJ0IEFra2VybWFuIDx3YWtrZXJtYUBkZWJpYW4ub3JnPiAgRnJpLCAgOSBKdWwgMTk5OSAxNjoxMjozNCArMDIwMAorCitzdHJhY2UgKDMuOTkuMS0xKSB1bnN0YWJsZTsgdXJnZW5jeT1sb3cKKworICAqIE5ldyB1cHN0cmVhbSB2ZXJzaW9uLCBzZWNvbmQgcHJlLXJlbGVhc2UgZm9yIDQuMAorCisgLS0gV2ljaGVydCBBa2tlcm1hbiA8d2Fra2VybWFAZGViaWFuLm9yZz4gIFdlZCwgIDkgSnVuIDE5OTkgMTU6MjA6NDIgKzAyMDAKKworc3RyYWNlICgzLjk5LTEpIHVuc3RhYmxlOyB1cmdlbmN5PWxvdworCisgICogTmV3IHVwc3RyZWFtIG1haW50YWluZXIgKG1lIDopCisgICogTmV3IHVwc3RyZWFtIHZlcnNpb24sIHByZS1yZWxlYXNlIGZvciBzdHJhY2UgNC4wCisgICogU2VlIHVwc3RyZWFtIGNoYW5nZWxvZyBmb3IgY2hhbmdlcworICAqIEJ1aWxkIHdpdGggZ2xpYmMyLjEKKworIC0tIFdpY2hlcnQgQWtrZXJtYW4gPHdha2tlcm1hQGRlYmlhbi5vcmc+ICBUdWUsIDI3IEFwciAxOTk5IDE0OjAwOjE1ICswMjAwCisKK3N0cmFjZSAoMy4xLjAuMS0xMikgdW5zdGFibGU7IHVyZ2VuY3k9bG93CisKKyAgKiBPbmx5IGkzODYgaGFzIGEgTERULCBzbyBjaGVjayBmb3IgYXJjaGl0ZWN0dXJlIGluIG1lbS5jIChCdWcjIDMyNzk4KQorICAqIENoZWNrIGZvciBuc2lnbmFscyBwcm9wZXJseSwgY2xvc2VzOiAjMzQ0NDUKKyAgKiBGaXggY2hlY2sgZm9yIG92ZXJydW5zIGluIHVtb3ZlKiwgcGF0Y2ggYnkgTmF0ZSBFbGRyZWRnZSA8bmF0ZUBjYXJ0c3lzLmNvbT4KKworIC0tIFdpY2hlcnQgQWtrZXJtYW4gPHdha2tlcm1hQGRlYmlhbi5vcmc+ICBNb24sIDE1IE1hciAxOTk5IDAwOjQzOjE0ICswMTAwCisKK3N0cmFjZSAoMy4xLjAuMS0xMSkgdW5zdGFibGU7IHVyZ2VuY3k9bG93CisKKyAgKiBNZXJnZSBzb21lIEFSTSBzdHVmZiB0aGF0IGdvdCBzdHVjayBpbiBteSBtYWlsYm94CisKKyAtLSBXaWNoZXJ0IEFra2VybWFuIDx3YWtrZXJtYUBkZWJpYW4ub3JnPiAgU3VuLCAzMSBKYW4gMTk5OSAxMzowNDoxMyArMDEwMAorCitzdHJhY2UgKDMuMS4wLjEtMTApIHVuc3RhYmxlOyB1cmdlbmN5PWxvdworCisgICogTW92ZSBzeXNfcG9sbCB0byB0aGUgRE9ORSBzZWN0aW9uIGluIGxpbnV4L2R1bW15LmgKKyAgKiBTdXBwb3J0IHN1YmFyY2hpdGVjdHVyZXMgZm9yIGFscGhhIChCdWcjIDMyMTQ3KQorICAqIEluY29ycG9yYXRlIGNoYW5nZXMgZnJvbSBVbHJpY2ggRHJlcHBlcgorICAgICsgdXAgbnVtYmVyIG9mIHN1cHBvcnRlZCBwZXJzb25hbGl0aWVzIG9uIExpbnV4IHNwYXJjIHRvIDMKKyAgICArIGFkZCBPX0RJUkVDVCwgT19MQVJHRUZJTEUgYW5kIE9fRElSRUNUT1JZIHRvIG9wZW5tb2RlcworICAgICsgY2hhbmdlIHByZWZpeCBmb3IgcHJpbnR4dmFsIHRvIFNFRUtfIGluIHN5c19sc2VlaworICAgICsgYWRkIGEgc3VwcG9ydCBmb3IgYSB3aG9sZSBidW5jaCBvZiBzeXNjYWxscworICAgICsgdXBkYXRlZCBzeXNfcHJlYWQgYW5kIHN5c19wd3JpdGUgZm9yIFNWUjQKKyAgICArIGhhbmRsZSBzeXNfZGVsZXRlX21vZHVsZSBwcm9wZXJseQorICAgICsgY2hhbmdlIFNZU19zb2NrZXRfc3ViY2FsbCB0byAyMzAgZm9yIG5vbi1wb3dlcnBjIGFyY2hpdGVjdHVyZXMKKyAgICArIHN5c19jaG93biBpcyBub3cgbGNob3duCisgICAgKyBsb29rcyBsaWtlIGEgd2hvbGUgbG90IG9mIHN5c2NhbGxzIGlzIG1vdmVkIGZyb20gMTgwIHRvIDIzMAorICAgICsgUmV2YW1wIGEgbG90IG9mIHRoZSBzaWduYWwgaGFuZGxpbmcgY29kZQorICAgICsgaGFuZGxlIHN5c19jbG9uZQorICAgICsgTG90cyBtb3JlIChpdCB3YXMgYSA2NDk0LWxpbmUgcGF0Y2ggYW5kIEknbSB0b28gbGF6eSB0byBwdXQgYWxsCisgICAgICBjaGFuZ2VzIGluIGhlcmUuLikKKyAgKiBQbGVhc2Ugbm90ZSB5b3UgbmVlZCB0byBoYXZlIDIuMSBvciAyLjIga2VybmVsIHNvdXJjZXMgaW4gL3Vzci9zcmMvbGludXgKKyAgICBpbiBvcmRlciB0byBjb21waWxlIHRoaXMuCisKKyAtLSBXaWNoZXJ0IEFra2VybWFuIDx3YWtrZXJtYUBkZWJpYW4ub3JnPiAgRnJpLCAyOSBKYW4gMTk5OSAwMjowNDoxMiArMDEwMAorCitzdHJhY2UgKDMuMS4wLjEtOSkgdW5zdGFibGU7IHVyZ2VuY3k9bG93CisKKyAgKiBBZGQgc3VwcG9ydCBmb3IgcG9sbCgpIHN5c3RlbWNhbGwKKworIC0tIFdpY2hlcnQgQWtrZXJtYW4gPHdha2tlcm1hQGRlYmlhbi5vcmc+ICBUaHUsIDMxIERlYyAxOTk4IDE2OjAzOjQ0ICswMTAwCisKK3N0cmFjZSAoMy4xLjAuMS04KSBmcm96ZW4gdW5zdGFibGU7IHVyZ2VuY3k9bG93CisKKyAgKiBVc2UgbmV3X3N0YXQgZnJvbSBsaWJjNiBub3csIGV4Y2VwdCBmb3IgcG93ZXJwYyBhbmQgc3BhcmMKKworIC0tIFdpY2hlcnQgQWtrZXJtYW4gPHdha2tlcm1hQGRlYmlhbi5vcmc+ICBUaHUsIDI0IERlYyAxOTk4IDExOjM1OjMyICswMTAwCisKK3N0cmFjZSAoMy4xLjAuMS03KSBmcm96ZW4gdW5zdGFibGU7IHVyZ2VuY3k9bG93CisKKyAgKiBGaXggc3BhcmMgc3VwcG9ydAorICAqIERpc3BsYXkgbmFub3NsZWVwIGNhbGwgY29ycmVjdGx5IChCdWcjIDI1OTA0KQorICAqIEhvbm91ciAtdiBmbGFnIGluIHByaW50YXJncyAoQnVnIyAxMDQyNikKKyAgKiBQbGF5IHdpdGggI2RlZmluZSB0byBnZXQgcHJvcGVyIGtlcm5lbCBzdHJ1Y3Qgc3RhdAorICAqIENvbXBpbGUgd2l0aCAyLjEuMTMxIGtlcm5lbCBzb3VyY2UKKworIC0tIFdpY2hlcnQgQWtrZXJtYW4gPHdha2tlcm1hQGRlYmlhbi5vcmc+ICBTYXQsIDE5IERlYyAxOTk4IDE1OjAyOjE0ICswMTAwCisKK3N0cmFjZSAoMy4xLjAuMS02KSBmcm96ZW4gdW5zdGFibGU7IHVyZ2VuY3k9bG93CisKKyAgKiBTZXQgTlNJRyBjb3JyZWN0bHkgZm9yIEFSTQorICAqIEluY2x1ZGUgc3RyYWNlLWdyYXBoIHNjcmlwdCBmcm9tIFJpY2hhcmQgQnJhYWttYW4gPGRhcmtAZGViaWFuLm9yZz4KKyAgICBhcyBhbiBleGFtcGxlLiBUcnkgaXQgYW5kIGJlIGFtYXplZCEKKyAgKiBGaXggc2lnYWN0aW9uIHByb2JsZW0sIHBhdGNoIGZyb20gVG9waSBNaWV0dGluZW4KKyAgICA8VG9waS5NaWV0dGluZW5AbWVkaWFsYWIuc29uZXJhLm5ldD4KKworIC0tIFdpY2hlcnQgQWtrZXJtYW4gPHdha2tlcm1hQGRlYmlhbi5vcmc+ICBNb24sICA3IERlYyAxOTk4IDAyOjEwOjMwICswMTAwCisKK3N0cmFjZSAoMy4xLjAuMS01KSB1bnN0YWJsZTsgdXJnZW5jeT1sb3cKKworICAqIFBhdGNoZWQgZnJvbSBSaWNoYXJkIEJyYWFrbWFuIDxkYXJrQGRlYmlhbi5vcmc+OgorICAgICsgdXNlIGNvcnJlY3QgZGlyZW50Lmggb24gTGludXgKKyAgICArIHJlbW92ZSBkZWJ1Z2dpbmcgY29kZSBsZWZ0IGZyb20gdGhlIHBvd2VycGMgcGF0Y2gKKyAgICArIGZpeCBvdXRwdXQgZm9yIGV4ZWN2ZSB3aGVuIC12IGlzIHVzZWQKKworIC0tIFdpY2hlcnQgQWtrZXJtYW4gPHdha2tlcm1hQGRlYmlhbi5vcmc+ICBGcmksIDEzIE5vdiAxOTk4IDE1OjU5OjE3ICswMTAwCisKK3N0cmFjZSAoMy4xLjAuMS01KSB1bnN0YWJsZTsgdXJnZW5jeT1sb3cKKworICAqIEFkZCBsb2NhdGlvbiBvZiB1cHN0cmVhbSBzb3VyY2VzIHRvIHRoZSBjb3B5cmlnaHQKKyAgKiBNZXJnZWQgQVJNIGFyY2hpdGVjdHVyZSBzdXBwb3J0IGZyb20gSmltIFN0dWR0IDxqaW1AZmVkZXJhdGVkLmNvbT4KKworIC0tIFdpY2hlcnQgQWtrZXJtYW4gPHdha2tlcm1hQGRlYmlhbi5vcmc+ICBNb24sICA5IE5vdiAxOTk4IDE2OjQzOjI0ICswMTAwCisKK3N0cmFjZSAoMy4xLjAuMS00KSB1bnN0YWJsZTsgdXJnZW5jeT1sb3cKKworICAqIE1vcmUgcHBjIHBhdGNoZXMgZnJvbSBEYW5pZWwgSmFjb2Jvd2l0eiA8ZGFuQGRlYmlhbi5vcmc+CisKKyAtLSBXaWNoZXJ0IEFra2VybWFuIDx3YWtrZXJtYUBkZWJpYW4ub3JnPiAgTW9uLCAxMiBPY3QgMTk5OCAwMDo1OTo0NCArMDIwMAorCitzdHJhY2UgKDMuMS4wLjEtMykgdW5zdGFibGU7IHVyZ2VuY3k9bG93CisKKyAgKiBBZGRlZCBzdXBwb3J0IGZvciBzeXNfcXVlcnlfbW9kdWxlLCBwYXRjaCBmcm9tIEJyaWFuIEouIE11cnJlbGwKKyAgICA8YnJpYW5AaW50ZXJsaW54LmJjLmNhPgorICAqIFByZXNlcnZlIHRpbWVzdGFtcHMgZm9yIGRvY3VtZW50YXRpb24gd2hlbiBpbnN0YWxsZWQKKyAgKiBJbmNvcnBvcmF0ZSBwYXRjaGVzIGZyb20gRGFuaWVsIEphY29ib3dpdHogPGRhbkBkZWJpYW4ub3JnPjoKKyAgICArIHBvd2VycGMgcGF0Y2hlcworICAgICsgUGF0Y2hlcyBpbmNsdWRlIGNoYW5naW5nIFNZU19zb2NrZXRfc3ViY2FsbCBhbmQgU1lTX2lwY19zdWJjYWxsLAorICAgICAgY2hlY2sgZm9yIHN0cmF5IHN5c2NhbGwgZXhpdCBhZnRlciBleGVjdiwgYW5kIGNvbXBsZXRlbHkgcmVnZW5lcmF0ZWQKKyAgICAgIHN5c2NhbGwsIGVycm5vLCBhbmQgaW9jdGwgbGlzdHMuCisgICAgKyBEZWNvZGUgY2FwZ2V0IGFuZCBjYXBzZXQgYXJndW1lbnRzLgorCisgLS0gV2ljaGVydCBBa2tlcm1hbiA8d2Fra2VybWFAZGViaWFuLm9yZz4gIFN1biwgMTEgT2N0IDE5OTggMjI6NDI6NTYgKzAyMDAKKworc3RyYWNlICgzLjEuMC4xLTIpIHVuc3RhYmxlOyB1cmdlbmN5PWxvdworCisgICogUGF0Y2ggdG8gc3VwcG9ydCBzcGFyYywgY291cnRlc3kgb2YgUmVkSGF0CisgICogQ2xlYW5lZCB1cCBzb21lIHN0dWZmIHRoZSBwYXRjaCBsZWZ0IGJyb2tlbgorICAqIEZpeCBzb21lIG1vcmUgY29tcGlsYXRpb24taXNzdWVzIGZvciBJUFggd2l0aCBjdXJyZW50IGtlcm5lbHMKKworIC0tIFdpY2hlcnQgQWtrZXJtYW4gPHdha2tlcm1hQGRlYmlhbi5vcmc+ICBGcmksIDI0IEp1bCAxOTk4IDIyOjUzOjQzICswMjAwCisKK3N0cmFjZSAoMy4xLjAuMS0xKSB1bnN0YWJsZTsgdXJnZW5jeT1sb3cKKworICAqIE5ldyAoYWN0dWFsbHkgdmVyeSBvbGQpIHVwc3RyZWFtIHZlcnNpb24uIEZpeGVzIHNvbWV0aGluZyB3ZQorICAgIGFscmVhZHkgaGFkIGZpeGVkCisgICogQ29tcGlsZWQgd2l0aCBjdXJyZW50IGtlcm5lbC1oZWFkZXJzIGZyb20gbGliYzYtZGV2CisgICogRml4ZWQgc3BlbGxpbmctZXJyb3IKKyAgKiBDb21wcmVzcyBjaGFuZ2Vsb2cKKyAgKiBCdW1wZWQgc3RhbmRhcmQtdmVyc2lvbiB0byAyLjQuMS4wCisKKyAtLSBXaWNoZXJ0IEFra2VybWFuIDx3YWtrZXJtYUBkZWJpYW4ub3JnPiAgV2VkLCAyMiBKdWwgMTk5OCAxNTo1MzoyMyArMDIwMAorCitzdHJhY2UgKDMuMS0xNCkgdW5zdGFibGU7IHVyZ2VuY3k9bG93CisKKyAgKiBEb24ndCBsZXQgbGliYzYgdHJpY2sgdXMgYW55bW9yZSB3aXRoIHtmLGwsfXN0YXQoKSBjYWxscworICAqIEZpeCBjb25maWd1cmUuaW4gdG8gc3VwcG9ydCBQZW50aXVtSUkgcHJvY2Vzc29ycworCisgLS0gV2ljaGVydCBBa2tlcm1hbiA8d2Fra2VybWFAZGViaWFuLm9yZz4gIE1vbiwgMjIgSnVuIDE5OTggMjA6MTc6MjAgKzAyMDAKKworc3RyYWNlICgzLjEtMTMpIHVuc3RhYmxlOyB1cmdlbmN5PWxvdworCisgICogQ29ycmVjdGVkIGVycm9yIG9uIFBvd2VyUEMgcGF0Y2ggdGhhdCBicm9rZSBvdGhlciBhcmNoaWN0ZWN0dXJlcworICAgIChCdWcjIDEzODM3KQorCisgLS0gV2ljaGVydCBBa2tlcm1hbiA8d2Fra2VybWFAZGViaWFuLm9yZz4gIFR1ZSwgMTQgT2N0IDE5OTcgMTU6NDE6MjkgKzAyMDAKKworc3RyYWNlICgzLjEtMTIpIHVuc3RhYmxlOyB1cmdlbmN5PWxvdworCisgICogUG93ZXJQQyBwYXRjaGVzIGJ5IEtsZWUgRGllbmVzIChCdWcjIDEwNzg4LCAxMDc5MCkKKyAgKiBDcmVhdGUgY29ycmVjdCBtZDVzdW1zIChCdWcjIDEzMzYzKQorICAqIFB1dCBjaGFuZ2Vsb2cgaW4gY29ycmVjdCBwbGFjZSAoQnVnIyAxMzM2MykKKyAgKiBQcmlzdGluZSBzb3VyY2VzCisKKyAtLSBXaWNoZXJ0IEFra2VybWFuIDx3YWtrZXJtYUBkZWJpYW4ub3JnPiAgTW9uLCAgNiBPY3QgMTk5NyAxNTo0MjoyNSArMDIwMAorCitzdHJhY2UgKDMuMS0xMSkgdW5zdGFibGU7IHVyZ2VuY3k9TE9XCisKKyAgKiBQb3J0ZWQgdG8gbGliYzYgLyBnbGliYzIgKEJ1ZyMgMTE3MjkpCisgICogQ29tcHJlc3MgbWFucGFnZQorCisgLS0gV2ljaGVydCBBa2tlcm1hbiA8d2Fra2VybWFAd2kubGVpZGVudW5pdi5ubD4gIEZyaSwgIDEgQXVnIDE5OTcgMDA6MTM6MzggKzAyCisKK3N0cmFjZSAoMy4xLTEwKSB1bnN0YWJsZTsgdXJnZW5jeT1MT1cKKworICAqIEluc3RhbGwgdXBzdHJlYW0gY2hhbmdlbG9nCisgICogQWRkZWQgZGVwZW5kZW5jaWVzIHRvIGNvbnRyb2wgZmlsZSBmb3IgbGliYworICAqIEFkZGVkIG1kNXN1bXMgdG8gLmRlYiBmaWxlCisKKyAtLSBXaWNoZXJ0IEFra2VybWFuIDx3YWtrZXJtYUBkZWJpYW4ub3JnPiAgRnJpLCAxMSBKdWwgMTk5NyAxMjoyNjoxMiArMDIwMAorCitzdHJhY2UgKDMuMS05KSBzdGFibGU7IHVyZ2VuY3k9TE9XCisKKyAgKiBGaXhlZCBidWcgd2l0aCBoYW5naW5nIGNoaWxkcmVuLiBQYXRjaCBieSBNYXR0aGlhcyBVcmxpY2hzCisgICogQWRkZWQgc29tZSBtb3JlIGNvbnN0YW50cyB0byBuZXQuYy4KKyAgKiBnbGliYyBwYXRjaGVzLCBjb3VydGVzeSBvZiBLbGVlIERpZW5lcyAoQnVnIyA3NzM1KQorCisgLS0gV2ljaGVydCBBa2tlcm1hbiA8d2Fra2VybWFAZGViaWFuLm9yZz4gIE1vbiwgMjEgQXByIDE5OTcgMTE6NTk6NDUgKzAyMDAKKworc3RyYWNlICgzLjEtOCkgZnJvemVuIHVuc3RhYmxlOyB1cmdlbmN5PUxPVworCisgICogQWRkZWQgZGV0ZWN0aW9uIG9mIFJPU0UgbmV0d29ya2luZworCisgLS0gV2ljaGVydCBBa2tlcm1hbiA8d2Fra2VybWFAd2kubGVpZGVudW5pdi5ubD4gIFR1ZSwgMTIgTm92IDE5OTYgMjI6MjE6MjIgKzAxMDAKKworc3RyYWNlICgzLjEtNykgc3RhYmxlOyB1cmdlbmN5PUxPVworCisgICogSW5zdGFsbCBtYW5wYWdlIHdpdGggY29ycmVjdCBtb2RlICgwNjQ0KSAoQnVnIzQ4MTMpCisgICogUmVuYW1lZCBkZWJpYW4gY2hhbmdlbG9nIHRvIGNoYW5nZWxvZy5EZWJpYW4KKworIC0tIFdpY2hlcnQgQWtrZXJtYW4gPHdha2tlcm1hQHdpLmxlaWRlbnVuaXYubmw+ICBTYXQsIDI2IE9jdCAxOTk2IDE4OjE1OjQxICswMjAwCisKK3N0cmFjZSAoMy4xLTYpIHN0YWJsZTsgdXJnZW5jeT1MT1cKKworICAqIFNtYWxsIHBhdGNoIGZvciBjb21waWxhdGlvbiBvbiBrZXJuZWxzIDIuMS4wIGFuZCBsYXRlciAoc2VlIHNpZ25hbC5jKQorCisgLS0gV2ljaGVydCBBa2tlcm1hbiA8d2Fra2VybWFAd2kubGVpZGVudW5pdi5ubD4gIEZyaSwgMTggT2N0IDE5OTYgMDA6Mjg6NDcgKzAyMDAKK3N0cmFjZSAoMy4xLTUpIHN0YWJsZSB1bnN0YWJsZTsgdXJnZW5jeT1MT1cKKworICAqIE1vdmVkIHRvIG5ldyBwYWNrYWdpbmdmb3JtYXQKKyAgKiBGaXhlZCB1bW92ZW4gYnVnIChCdWcjIDQ1MjMpCisgICogQ29ycmVjdGVkIG51bWJlciBvZiBwYXJhbWV0ZXJzIGZvciBtbWFwIHN5c3RlbWNhbGwgKGJ1ZyMgNDUwOCkKKworIC0tIFdpY2hlcnQgQWtrZXJtYW4gPHdha2tlcm1hQHdpLmxlaWRlbnVuaXYubmw+ICBTYXQsIDIzIFNlcCAxOTk2IDIzOjMzOjU4ICswMjAwCisKK3N0cmFjZSAoMy4xLTQpIHVuc3RhYmxlOyB1cmdlbmN5PUxPVworCisgICogRml4ZWQgY2hhbmdlc3RlbXBsYXRlCisKKyAtLSBXaWNoZXJ0IEFra2VybWFuIDx3YWtrZXJtYUB3aS5sZWlkZW51bml2Lm5sPiwgVGh1IFNlcCAxMiAxNDo1OTo0NCBNRVQgRFNUIDE5OTYKKworCitzdHJhY2UgKDMuMS0zKSB1bnN0YWJsZTsgcHJpb3JpdHk9TE9XCisKKyAgKiBSZXZhbXBlZCBkZWJpYW4gZmlsZXMKKworIC0tIFdpY2hlcnQgQWtrZXJtYW4gPHdha2tlcm1hQHdpLmxlaWRlbnVuaXYubmw+LCBUaHUgSnVsIDExIDIwOjE5OjExIE1FVCBEU1QgMTk5NgorCisKK3N0cmFjZSAoMy4xLTIpIHVuc3RhYmxlOyBwcmlvcml0eT1MT1cKKyAgKiBBZGRlZCBzb21lICNpZmRlZidzIGFyb3VuZCBJUFggc3R1ZmYgdG8gbWFrZSBpdCBjb21waWxhYmxlIG9uIG5vbi1MaW51eAorICAgIHN5c3RlbXMuCisgICogY2hhbmdlZCBkZWJpYW4uY29udHJvbCBhbmQgZGViaWFuLnJ1bGVzIHRvIGNvbmZvcm0gdG8gbmV3IGRlYmlhbiBuYW1pbmcKKyAgICBzY2hlbWVzCisgICogYWRkZWQgYXJjaGl0ZWN0dXJlLW9wdGlvbiB0byBkZWJpYW4ucnVsZXMgYW5kIGRlYmlhbi5jb250cm9sCisKKyAtLSBXaWNoZXJ0IEFra2VybWFuIDx3YWtrZXJtYUB3aS5sZWlkZW51bml2Lm5sPgorCisKK3N0cmFjZSAoMy4xLTEpIHVuc3RhYmxlOyBwcmlvcml0eT1MT1cKKworICAqIE1vdmVkIHRvIG5ldyB1cHN0cmVhbSB2ZXJzaW9uCisgICogYWRkZWQgbW9yZSBwcm90b2NvbCBmYW1pbGllcyB0byBkb21haW5zCisgICogYWRkZWQgSVBJUC1wcm90b2NvbCB0byBwcm90b2NvbHMKKyAgKiBhZGRlZCBNU0dfUFJPWFkgYW5kIE1TR19DVFJVTkMgdG8gbXNnX2ZsYWdzCisgICogYWRkZWQgU09fQlNEQ09NUEFUIGFuZCBTT19SRVVTRVBPUlQgdG8gc29ja29wdGlvbnMKKyAgKiBhZGRlZCBJUCwgSVBYIGFuZCBUQ1Atb3B0aW9ucworICAqIGFkZGVkIElQLCBJUFggYW5kIFRDUCBzdXBwb3J0IHRvIGdldC0vc2V0c29ja29wdCgpCisgICogYWRkZWQgSVBYIHN1cHBvcnQKKworIC0tIFdpY2hlcnQgQWtrZXJtYW4gPHdha2tlcm1hQHdpLmxlaWRlbnVuaXYubmw+CmRpZmYgLS1naXQgYS9zdHJhY2UtNC41LjIwL2RlYmlhbi9jb21wYXQgYi9zdHJhY2UtNC41LjIwL2RlYmlhbi9jb21wYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2Y4ZjAxMQotLS0gL2Rldi9udWxsCisrKyBiL3N0cmFjZS00LjUuMjAvZGViaWFuL2NvbXBhdApAQCAtMCwwICsxIEBACis3CmRpZmYgLS1naXQgYS9zdHJhY2UtNC41LjIwL2RlYmlhbi9jb250cm9sIGIvc3RyYWNlLTQuNS4yMC9kZWJpYW4vY29udHJvbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMjJiMWEzCi0tLSAvZGV2L251bGwKKysrIGIvc3RyYWNlLTQuNS4yMC9kZWJpYW4vY29udHJvbApAQCAtMCwwICsxLDU2IEBACitTb3VyY2U6IHN0cmFjZQorTWFpbnRhaW5lcjogRnJlZGVyaWsgU2Now7xsZXIgPGZzQGRlYmlhbi5vcmc+CitTZWN0aW9uOiB1dGlscworUHJpb3JpdHk6IG9wdGlvbmFsCitCdWlsZC1EZXBlbmRzOiBsaWJjNi1kZXYgKD49IDIuMi4yKSBbIWFscGhhICFpYTY0XSwgbGliYzYuMS1kZXYgKD49IDIuMi4yKSBbYWxwaGEgaWE2NF0sIGdjYy1tdWx0aWxpYiBbaTM4NiBwb3dlcnBjIHMzOTAgc3BhcmNdLCBkZWJoZWxwZXIgKD49IDcuMC4wKQorU3RhbmRhcmRzLVZlcnNpb246IDMuOC40CitIb21lcGFnZTogaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9zdHJhY2UvCisKK1BhY2thZ2U6IHN0cmFjZQorQXJjaGl0ZWN0dXJlOiBhbHBoYSBhbWQ2NCBhcm0gYXJtZWIgYXJtZWwgaHBwYSBpMzg2IGlhNjQgbTY4ayBtaXBzIG1pcHNlbCBwb3dlcnBjIHBwYzY0IHMzOTAgczM5MHggc2ggc3BhcmMgc3BhcmM2NAorRGVwZW5kczogJHtzaGxpYnM6RGVwZW5kc30sICR7bWlzYzpEZXBlbmRzfQorRGVzY3JpcHRpb246IEEgc3lzdGVtIGNhbGwgdHJhY2VyCisgc3RyYWNlIGlzIGEgc3lzdGVtIGNhbGwgdHJhY2VyLCBpLmUuIGEgZGVidWdnaW5nIHRvb2wgd2hpY2ggcHJpbnRzIG91dAorIGEgdHJhY2Ugb2YgYWxsIHRoZSBzeXN0ZW0gY2FsbHMgbWFkZSBieSBhIGFub3RoZXIgcHJvY2Vzcy9wcm9ncmFtLgorIFRoZSBwcm9ncmFtIHRvIGJlIHRyYWNlZCBuZWVkIG5vdCBiZSByZWNvbXBpbGVkIGZvciB0aGlzLCBzbyB5b3UgY2FuCisgdXNlIGl0IG9uIGJpbmFyaWVzIGZvciB3aGljaCB5b3UgZG9uJ3QgaGF2ZSBzb3VyY2UuCisgLgorIFN5c3RlbSBjYWxscyBhbmQgc2lnbmFscyBhcmUgZXZlbnRzIHRoYXQgaGFwcGVuIGF0IHRoZSB1c2VyL2tlcm5lbAorIGludGVyZmFjZS4gQSBjbG9zZSBleGFtaW5hdGlvbiBvZiB0aGlzIGJvdW5kYXJ5IGlzIHZlcnkgdXNlZnVsIGZvciBidWcKKyBpc29sYXRpb24sIHNhbml0eSBjaGVja2luZyBhbmQgYXR0ZW1wdGluZyB0byBjYXB0dXJlIHJhY2UgY29uZGl0aW9ucy4KKworUGFja2FnZTogc3RyYWNlNjQKK0FyY2hpdGVjdHVyZTogaTM4NiBwb3dlcnBjIHMzOTAgc3BhcmMKK1ByaW9yaXR5OiBleHRyYQorRGVwZW5kczogJHtzaGxpYnM6RGVwZW5kc30sICR7bWlzYzpEZXBlbmRzfQorRGVzY3JpcHRpb246IEEgc3lzdGVtIGNhbGwgdHJhY2VyIGZvciA2NGJpdCBiaW5hcmllcworIHN0cmFjZSBpcyBhIHN5c3RlbSBjYWxsIHRyYWNlciwgaS5lLiBhIGRlYnVnZ2luZyB0b29sIHdoaWNoIHByaW50cyBvdXQKKyBhIHRyYWNlIG9mIGFsbCB0aGUgc3lzdGVtIGNhbGxzIG1hZGUgYnkgYSBhbm90aGVyIHByb2Nlc3MvcHJvZ3JhbS4KKyBUaGUgcHJvZ3JhbSB0byBiZSB0cmFjZWQgbmVlZCBub3QgYmUgcmVjb21waWxlZCBmb3IgdGhpcywgc28geW91IGNhbgorIHVzZSBpdCBvbiBiaW5hcmllcyBmb3Igd2hpY2ggeW91IGRvbid0IGhhdmUgc291cmNlLgorIC4KKyBUaGlzIHBhY2thZ2UgY29udGFpbnRzIHRoZSA2NGJpdCB2ZXJzaW9uIG9mIHRoZSBiaW5hcnksIGludGVuZGVkIGZvcgorIGJpYXJjaCBzeXN0ZW1zIHdpdGggMzJiaXQgdXNlcmxhbmQgYW5kIDY0Yml0IGtlcm5lbC4KKyAuCisgU3lzdGVtIGNhbGxzIGFuZCBzaWduYWxzIGFyZSBldmVudHMgdGhhdCBoYXBwZW4gYXQgdGhlIHVzZXIva2VybmVsCisgaW50ZXJmYWNlLiBBIGNsb3NlIGV4YW1pbmF0aW9uIG9mIHRoaXMgYm91bmRhcnkgaXMgdmVyeSB1c2VmdWwgZm9yIGJ1ZworIGlzb2xhdGlvbiwgc2FuaXR5IGNoZWNraW5nIGFuZCBhdHRlbXB0aW5nIHRvIGNhcHR1cmUgcmFjZSBjb25kaXRpb25zLgorCitQYWNrYWdlOiBzdHJhY2UtdWRlYgorU2VjdGlvbjogZGViaWFuLWluc3RhbGxlcgorWEMtUGFja2FnZS1UeXBlOiB1ZGViCitQcmlvcml0eTogZXh0cmEKK0FyY2hpdGVjdHVyZTogYWxwaGEgYW1kNjQgYXJtIGFybWViIGFybWVsIGhwcGEgaTM4NiBpYTY0IG02OGsgbWlwcyBtaXBzZWwgcG93ZXJwYyBwcGM2NCBzMzkwIHNoIHNwYXJjIHNwYXJjNjQKK0RlcGVuZHM6ICR7c2hsaWJzOkRlcGVuZHN9LCAke21pc2M6RGVwZW5kc30KK0Rlc2NyaXB0aW9uOiBBIHN5c3RlbSBjYWxsIHRyYWNlcgorIHN0cmFjZSBpcyBhIHN5c3RlbSBjYWxsIHRyYWNlciwgaS5lLiBhIGRlYnVnZ2luZyB0b29sIHdoaWNoIHByaW50cyBvdXQKKyBhIHRyYWNlIG9mIGFsbCB0aGUgc3lzdGVtIGNhbGxzIG1hZGUgYnkgYSBhbm90aGVyIHByb2Nlc3MvcHJvZ3JhbS4KKyBUaGUgcHJvZ3JhbSB0byBiZSB0cmFjZWQgbmVlZCBub3QgYmUgcmVjb21waWxlZCBmb3IgdGhpcywgc28geW91IGNhbgorIHVzZSBpdCBvbiBiaW5hcmllcyBmb3Igd2hpY2ggeW91IGRvbid0IGhhdmUgc291cmNlLgorIC4KKyBTeXN0ZW0gY2FsbHMgYW5kIHNpZ25hbHMgYXJlIGV2ZW50cyB0aGF0IGhhcHBlbiBhdCB0aGUgdXNlci9rZXJuZWwKKyBpbnRlcmZhY2UuIEEgY2xvc2UgZXhhbWluYXRpb24gb2YgdGhpcyBib3VuZGFyeSBpcyB2ZXJ5IHVzZWZ1bCBmb3IgYnVnCisgaXNvbGF0aW9uLCBzYW5pdHkgY2hlY2tpbmcgYW5kIGF0dGVtcHRpbmcgdG8gY2FwdHVyZSByYWNlIGNvbmRpdGlvbnMuCisgLgorIFRoaXMgaXMgYSBzdHJpcHBlZCBkb3duIHBhY2thZ2UgaW50ZW5kZWQgZm9yIGRlYnVnZ2luZyB1c2UgaW4gdGhlIERlYmlhbgorIGluc3RhbGxlci4KZGlmZiAtLWdpdCBhL3N0cmFjZS00LjUuMjAvZGViaWFuL2NvcHlyaWdodCBiL3N0cmFjZS00LjUuMjAvZGViaWFuL2NvcHlyaWdodApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41OWU3YjFiCi0tLSAvZGV2L251bGwKKysrIGIvc3RyYWNlLTQuNS4yMC9kZWJpYW4vY29weXJpZ2h0CkBAIC0wLDAgKzEsNDEgQEAKK1RoaXMgaXMgdGhlIERlYmlhbiBwYWNrYWdlZCB2ZXJzaW9uIG9mIHN0cmFjZS4gRm9yIGEgY29tcGxldGUgbGlzdCBvZgorY2hhbmdlcyBmcm9tIHRoZSB1cHN0cmVhbSB2ZXJzaW9uIHBsZWFzZSBzZWUgdGhlIGNoYW5nZWxvZy4KKworVGhlIHVwc3RyZWFtIHNvdXJjZXMgY2FuIGJlIGZvdW5kIGF0IGh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvc3RyYWNlLworCitUaGlzIGlzIHRoZSBjb3B5cmlnaHQgYXMgZm91bmQgaW4gdGhlIHVwc3RyZWFtIHNvdXJjZXM6CisKK0NvcHlyaWdodCAoYykgMTk5MSwgMTk5MiBQYXVsIEtyYW5lbmJ1cmcgPHBrQGNzLmZldy5ldXIubmw+CitDb3B5cmlnaHQgKGMpIDE5OTMgQnJhbmtvIExhbmtlc3RlciA8YnJhbmtvQGhhY2t0aWMubmw+CitDb3B5cmlnaHQgKGMpIDE5OTMgVWxyaWNoIFBlZ2Vsb3cgPHBlZ2Vsb3dAbW9vcmVhLnVuaS1tdWVuc3Rlci5kZT4KK0NvcHlyaWdodCAoYykgMTk5NSwgMTk5NiBNaWNoYWVsIEVsaXphYmV0aCBDaGFzdGFpbiA8bWVjQGR1cmFjZWYuc2hvdXQubmV0PgorQ29weXJpZ2h0IChjKSAxOTkzLCAxOTk0LCAxOTk1LCAxOTk2IFJpY2sgU2xhZGtleSA8anJzQHdvcmxkLnN0ZC5jb20+CitDb3B5cmlnaHQgKEMpIDE5OTgtMjAwMyBXaWNoZXJ0IEFra2VybWFuIDx3YWtrZXJtYUBkZWVwaGFja21vZGUub3JnPgorQ29weXJpZ2h0IChjKSAyMDAyLTIwMDggUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KK0NvcHlyaWdodCAoYykgMjAwMy0yMDA4IERtaXRyeSBWLiBMZXZpbiA8bGR2QGFsdGxpbnV4Lm9yZz4KK0NvcHlyaWdodCAoYykgMjAwNy0yMDA4IEphbiBLcmF0b2NodmlsICA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KK0FsbCByaWdodHMgcmVzZXJ2ZWQuCisKK1JlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCithcmUgbWV0OgorMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKzIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorMy4gVGhlIG5hbWUgb2YgdGhlIGF1dGhvciBtYXkgbm90IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzCisgICBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKworVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQVVUSE9SIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1MgT1IKK0lNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMKK09GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuCitJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCitJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQKK05PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKK0RBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCitUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCiskSWQkCmRpZmYgLS1naXQgYS9zdHJhY2UtNC41LjIwL2RlYmlhbi9ydWxlcyBiL3N0cmFjZS00LjUuMjAvZGViaWFuL3J1bGVzCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjhlNjZhZTkKLS0tIC9kZXYvbnVsbAorKysgYi9zdHJhY2UtNC41LjIwL2RlYmlhbi9ydWxlcwpAQCAtMCwwICsxLDgzIEBACisjISAvdXNyL2Jpbi9tYWtlIC1mCisKKyNleHBvcnQgREhfVkVSQk9TRT0xCisKK0NGTEFHUyA9IC1XYWxsIC1nCisKK2lmbmVxICgsJChmaW5kc3RyaW5nIG5vb3B0LCQoREVCX0JVSUxEX09QVElPTlMpKSkKKyAgQ0ZMQUdTICs9IC1PMAorZWxzZQorICBDRkxBR1MgKz0gLU8yCitlbmRpZgorCitpZm5lcSAoLCQoZmlsdGVyIHBhcmFsbGVsPSUsJChERUJfQlVJTERfT1BUSU9OUykpKQorICBOVU1KT0JTID0gJChwYXRzdWJzdCBwYXJhbGxlbD0lLCUsJChmaWx0ZXIgcGFyYWxsZWw9JSwkKERFQl9CVUlMRF9PUFRJT05TKSkpCisgIE1BS0VGTEFHUyArPSAtaiQoTlVNSk9CUykKK2VuZGlmCisKK0RFQl9CVUlMRF9HTlVfVFlQRSA6PSAkKHNoZWxsIGRwa2ctYXJjaGl0ZWN0dXJlIC1xREVCX0JVSUxEX0dOVV9UWVBFKQorREVCX0hPU1RfR05VX1RZUEUgOj0gJChzaGVsbCBkcGtnLWFyY2hpdGVjdHVyZSAtcURFQl9IT1NUX0dOVV9UWVBFKQorREVCX0hPU1RfQVJDSCA6PSAkKHNoZWxsIGRwa2ctYXJjaGl0ZWN0dXJlIC1xREVCX0hPU1RfQVJDSCkKKworYXJjaDY0X21hcCA9IGkzODY9eDg2XzY0IHBvd2VycGM9cG93ZXJwYzY0IHNwYXJjPXNwYXJjNjQgczM5MD1zMzkweAoraWZuZXEgKCwkKGZpbHRlciAkKERFQl9IT1NUX0FSQ0gpPSUsICQoYXJjaDY0X21hcCkpKQorICBIT1NUNjQgPSAkKHN0cmlwICQocGF0c3Vic3QgJChERUJfSE9TVF9BUkNIKT0lLCAlLCBcCisJICAgICAkKGZpbHRlciAkKERFQl9IT1NUX0FSQ0gpPSUsICQoYXJjaDY0X21hcCkpKSktbGludXgtZ251CisgIENDNjQgPSBnY2MgLW02NAorICBleHRyYV9idWlsZF90YXJnZXRzICs9IGJ1aWxkNjQtc3RhbXAKK2VuZGlmCisKK2lmZXEgKCQoREVCX0hPU1RfR05VX1RZUEUpLCQoREVCX0JVSUxEX0dOVV9UWVBFKSkKKyAgQ09ORklHX09QVFMgPSAtLWJ1aWxkPSQoREVCX0JVSUxEX0dOVV9UWVBFKQorZWxzZQorICBDT05GSUdfT1BUUyA9IC0tYnVpbGQ9JChERUJfQlVJTERfR05VX1RZUEUpIC0taG9zdD0kKERFQl9IT1NUX0dOVV9UWVBFKQorZW5kaWYKKworYWxsIGJ1aWxkOiBidWlsZC1zdGFtcCAkKGV4dHJhX2J1aWxkX3RhcmdldHMpCisKKyUtc3RhbXA6ICUvTWFrZWZpbGUKKwkkKE1BS0UpIC1DICQqCisJdG91Y2ggJEAKKworYnVpbGQvTWFrZWZpbGU6CisJbWtkaXIgLXAgJChARCkKKwljZCAkKEBEKTsgc2ggLi4vY29uZmlndXJlIC0tcHJlZml4PS91c3IgJChDT05GSUdfT1BUUykKKworYnVpbGQ2NC9NYWtlZmlsZToKKwlta2RpciAtcCAkKEBEKQorCWNkICQoQEQpOyBDQz0iJChDQzY0KSIgc2ggLi4vY29uZmlndXJlIC0tcHJlZml4PS91c3IgLS1idWlsZD0kKERFQl9CVUlMRF9HTlVfVFlQRSkgLS1ob3N0PSQoSE9TVDY0KQorCitjbGVhbjoKKwlkaF90ZXN0ZGlyCisJZGhfdGVzdHJvb3QKKwlybSAtcmYgYnVpbGQgYnVpbGQ2NCBzdHJhY2U2NC4xCisJZGhfY2xlYW4KKworYmluYXJ5OiBiaW5hcnktaW5kZXAgYmluYXJ5LWFyY2gKKworYmluYXJ5LWluZGVwOgorCitiaW5hcnktYXJjaDogYnVpbGQKKwl0ZXN0IC1mIGJ1aWxkLXN0YW1wIHx8IG1ha2UgJChNRkxBR1MpIC1mIGRlYmlhbi9ydWxlcyBidWlsZAorCisJIyBwcmVwYXJlIDY0Yml0IGV4ZWN1dGFibGUgYW5kIG1hbnBhZ2UsIGlmIGl0IGhhcyBiZWVuIGJ1aWx0CisJdGVzdCAtZiBidWlsZDY0LXN0YW1wICYmICggbXYgYnVpbGQ2NC9zdHJhY2UgYnVpbGQ2NC9zdHJhY2U2NCA7IFwKKwkJY3Agc3RyYWNlLjEgc3RyYWNlNjQuMSApIHx8IHRydWUKKworCWRoX3Rlc3RkaXIgLXMKKwlkaF90ZXN0cm9vdCAtcworCWRoX2luc3RhbGxkaXJzIC1zCisJZGhfaW5zdGFsbGRvY3MgLXMKKwlkaF9pbnN0YWxsbWFuIC1zCisJZGhfaW5zdGFsbGV4YW1wbGVzIC1zCisJZGhfaW5zdGFsbGNoYW5nZWxvZ3MgLXMKKwlkaF9pbnN0YWxsIC1zCisJZGhfbGluayAtcworCWRoX3N0cmlwIC1zCisJZGhfY29tcHJlc3MgLXMKKwlkaF9maXhwZXJtcyAtcworCWRoX2luc3RhbGxkZWIgLXMKKwlkaF9zaGxpYmRlcHMgLXMKKwlkaF9nZW5jb250cm9sIC1zCisJZGhfbWQ1c3VtcyAtcworCWRoX2J1aWxkZGViIC1zCmRpZmYgLS1naXQgYS9zdHJhY2UtNC41LjIwL2RlYmlhbi9zdHJhY2UtdWRlYi5pbnN0YWxsIGIvc3RyYWNlLTQuNS4yMC9kZWJpYW4vc3RyYWNlLXVkZWIuaW5zdGFsbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZjQxOTI4Ci0tLSAvZGV2L251bGwKKysrIGIvc3RyYWNlLTQuNS4yMC9kZWJpYW4vc3RyYWNlLXVkZWIuaW5zdGFsbApAQCAtMCwwICsxIEBACitidWlsZC9zdHJhY2UgdXNyL2JpbgpkaWZmIC0tZ2l0IGEvc3RyYWNlLTQuNS4yMC9kZWJpYW4vc3RyYWNlLmRvY3MgYi9zdHJhY2UtNC41LjIwL2RlYmlhbi9zdHJhY2UuZG9jcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNjJkMDY3Ci0tLSAvZGV2L251bGwKKysrIGIvc3RyYWNlLTQuNS4yMC9kZWJpYW4vc3RyYWNlLmRvY3MKQEAgLTAsMCArMSwyIEBACitUT0RPCitORVdTCmRpZmYgLS1naXQgYS9zdHJhY2UtNC41LjIwL2RlYmlhbi9zdHJhY2UuZXhhbXBsZXMgYi9zdHJhY2UtNC41LjIwL2RlYmlhbi9zdHJhY2UuZXhhbXBsZXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDZiNGQ5NgotLS0gL2Rldi9udWxsCisrKyBiL3N0cmFjZS00LjUuMjAvZGViaWFuL3N0cmFjZS5leGFtcGxlcwpAQCAtMCwwICsxIEBACitzdHJhY2UtZ3JhcGgKZGlmZiAtLWdpdCBhL3N0cmFjZS00LjUuMjAvZGViaWFuL3N0cmFjZS5pbnN0YWxsIGIvc3RyYWNlLTQuNS4yMC9kZWJpYW4vc3RyYWNlLmluc3RhbGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWY0MTkyOAotLS0gL2Rldi9udWxsCisrKyBiL3N0cmFjZS00LjUuMjAvZGViaWFuL3N0cmFjZS5pbnN0YWxsCkBAIC0wLDAgKzEgQEAKK2J1aWxkL3N0cmFjZSB1c3IvYmluCmRpZmYgLS1naXQgYS9zdHJhY2UtNC41LjIwL2RlYmlhbi9zdHJhY2UubWFucGFnZXMgYi9zdHJhY2UtNC41LjIwL2RlYmlhbi9zdHJhY2UubWFucGFnZXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWU3NGRkNwotLS0gL2Rldi9udWxsCisrKyBiL3N0cmFjZS00LjUuMjAvZGViaWFuL3N0cmFjZS5tYW5wYWdlcwpAQCAtMCwwICsxIEBACitzdHJhY2UuMQpkaWZmIC0tZ2l0IGEvc3RyYWNlLTQuNS4yMC9kZWJpYW4vc3RyYWNlNjQuaW5zdGFsbCBiL3N0cmFjZS00LjUuMjAvZGViaWFuL3N0cmFjZTY0Lmluc3RhbGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmQzMDM2ZAotLS0gL2Rldi9udWxsCisrKyBiL3N0cmFjZS00LjUuMjAvZGViaWFuL3N0cmFjZTY0Lmluc3RhbGwKQEAgLTAsMCArMSBAQAorYnVpbGQ2NC9zdHJhY2U2NCB1c3IvYmluCmRpZmYgLS1naXQgYS9zdHJhY2UtNC41LjIwL2RlYmlhbi9zdHJhY2U2NC5tYW5wYWdlcyBiL3N0cmFjZS00LjUuMjAvZGViaWFuL3N0cmFjZTY0Lm1hbnBhZ2VzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUzYWRjOTMKLS0tIC9kZXYvbnVsbAorKysgYi9zdHJhY2UtNC41LjIwL2RlYmlhbi9zdHJhY2U2NC5tYW5wYWdlcwpAQCAtMCwwICsxIEBACitzdHJhY2U2NC4xCmRpZmYgLS1naXQgYS9zdHJhY2UtNC41LjIwL2RlZnMuaCBiL3N0cmFjZS00LjUuMjAvZGVmcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYyYjM3MTkKLS0tIC9kZXYvbnVsbAorKysgYi9zdHJhY2UtNC41LjIwL2RlZnMuaApAQCAtMCwwICsxLDY2NCBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMTk5MSwgMTk5MiBQYXVsIEtyYW5lbmJ1cmcgPHBrQGNzLmZldy5ldXIubmw+CisgKiBDb3B5cmlnaHQgKGMpIDE5OTMgQnJhbmtvIExhbmtlc3RlciA8YnJhbmtvQGhhY2t0aWMubmw+CisgKiBDb3B5cmlnaHQgKGMpIDE5OTMsIDE5OTQsIDE5OTUsIDE5OTYgUmljayBTbGFka2V5IDxqcnNAd29ybGQuc3RkLmNvbT4KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBUaGUgbmFtZSBvZiB0aGUgYXV0aG9yIG1heSBub3QgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMKKyAqICAgIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIEFVVEhPUiBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCisgKiBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELgorICogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAorICogSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUCisgKiBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqCisgKgkkSWQkCisgKi8KKworI2lmZGVmIEhBVkVfQ09ORklHX0gKKyNpbmNsdWRlICJjb25maWcuaCIKKyNlbmRpZgorCisjaWZkZWYgTUlQUworI2luY2x1ZGUgPHNnaWRlZnMuaD4KKyNlbmRpZgorCisjaWZkZWYgbGludXgKKyNpbmNsdWRlIDxmZWF0dXJlcy5oPgorI2VuZGlmCisKKyNpZmRlZiBfTEFSR0VGSUxFNjRfU09VUkNFCisvKiBUaGlzIGlzIHRoZSBtYWNybyBldmVyeXRoaW5nIGNoZWNrcyBiZWZvcmUgdXNpbmcgZm9vNjQgbmFtZXMuICAqLworIyBpZm5kZWYgX0xGUzY0X0xBUkdFRklMRQorIyAgZGVmaW5lIF9MRlM2NF9MQVJHRUZJTEUgMQorIyBlbmRpZgorI2VuZGlmCisKKy8qIGNvbmZpZ3VyYXRpb24gc2VjdGlvbiAqLworI2lmbmRlZiBNQVhfUVVBTFMKKyNpZiBkZWZpbmVkKExJTlVYKSAmJiBkZWZpbmVkKE1JUFMpCisjZGVmaW5lIE1BWF9RVUFMUwk3MDAwCS8qIG1heGltdW0gbnVtYmVyIG9mIHN5c2NhbGxzLCBzaWduYWxzLCBldGMuICovCisjZWxzZQorI2RlZmluZSBNQVhfUVVBTFMJMjA0OAkvKiBtYXhpbXVtIG51bWJlciBvZiBzeXNjYWxscywgc2lnbmFscywgZXRjLiAqLworI2VuZGlmCisjZW5kaWYKKyNpZm5kZWYgREVGQVVMVF9TVFJMRU4KKyNkZWZpbmUgREVGQVVMVF9TVFJMRU4JMzIJLyogZGVmYXVsdCBtYXhpbXVtICMgb2YgYnl0ZXMgcHJpbnRlZCBpbgorCQkJCSAgYHByaW50c3RyJywgY2hhbmdlIHdpdGggYC1zJyBzd2l0Y2ggKi8KKyNlbmRpZgorI2lmbmRlZiBERUZBVUxUX0FDT0xVTU4KKyNkZWZpbmUgREVGQVVMVF9BQ09MVU1OCTQwCS8qIGRlZmF1bHQgYWxpZ25tZW50IGNvbHVtbiBmb3IgcmVzdWx0cyAqLworI2VuZGlmCisjaWZuZGVmIE1BWF9BUkdTCisjIGlmZGVmIEhQUEEKKyMgIGRlZmluZSBNQVhfQVJHUwk2CS8qIG1heGltdW0gbnVtYmVyIG9mIGFyZ3MgdG8gYSBzeXNjYWxsICovCisjIGVsc2UKKyMgIGRlZmluZSBNQVhfQVJHUwkzMgkvKiBtYXhpbXVtIG51bWJlciBvZiBhcmdzIHRvIGEgc3lzY2FsbCAqLworIyBlbmRpZgorI2VuZGlmCisjaWZuZGVmIERFRkFVTFRfU09SVEJZCisjZGVmaW5lIERFRkFVTFRfU09SVEJZICJ0aW1lIgkvKiBkZWZhdWx0IHNvcnRpbmcgbWV0aG9kIGZvciBjYWxsIHByb2ZpbGluZyAqLworI2VuZGlmCisKKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPGN0eXBlLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8dGltZS5oPgorI2luY2x1ZGUgPHN5cy90aW1lLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKworI2lmZGVmIEhBVkVfU1REQk9PTF9ICisjaW5jbHVkZSA8c3RkYm9vbC5oPgorI2VuZGlmCisKKyNpZmRlZiBTVERDX0hFQURFUlMKKyNpbmNsdWRlIDxzdGRkZWYuaD4KKyNlbmRpZiAvKiBTVERDX0hFQURFUlMgKi8KKworI2lmZGVmIEhBVkVfU0lHSU5GT19UCisjaW5jbHVkZSA8c2lnbmFsLmg+CisjZW5kaWYKKworI2lmIGRlZmluZWQoTElOVVgpCisjICBpZiBkZWZpbmVkKFNQQVJDKSB8fCBkZWZpbmVkKFNQQVJDNjQpCisjICAgICBkZWZpbmUgTElOVVhTUEFSQworIyAgZW5kaWYKKyMgIGlmIGRlZmluZWQoWDg2XzY0KQorIyAgICAgZGVmaW5lIExJTlVYX1g4Nl82NAorIyAgZW5kaWYKKyMgIGlmIGRlZmluZWQoTUlQUykgJiYgX01JUFNfU0lNID09IF9NSVBTX1NJTV9BQkkzMgorIyAgICAgZGVmaW5lIExJTlVYX01JUFNPMzIKKyMgIGVuZGlmCisjICBpZiBkZWZpbmVkKE1JUFMpICYmIF9NSVBTX1NJTSA9PSBfTUlQU19TSU1fTkFCSTMyCisjICAgICBkZWZpbmUgTElOVVhfTUlQU04zMgorIyAgICAgZGVmaW5lIExJTlVYX01JUFM2NAorIyAgZW5kaWYKKyMgIGlmIGRlZmluZWQoTUlQUykgJiYgX01JUFNfU0lNID09IF9NSVBTX1NJTV9BQkk2NAorIyAgICAgZGVmaW5lIExJTlVYX01JUFNONjQKKyMgICAgIGRlZmluZSBMSU5VWF9NSVBTNjQKKyMgIGVuZGlmCisjICBpZiBkZWZpbmVkKEFSTSkKKyMgICAgIGRlZmluZSBMSU5VWF9BUk0KKyMgIGVuZGlmCisjICBpZiBkZWZpbmVkKEFWUjMyKQorIyAgICAgZGVmaW5lIExJTlVYX0FWUjMyCisjICBlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKFNWUjQpIHx8IGRlZmluZWQoRlJFRUJTRCkKKyNkZWZpbmUgVVNFX1BST0NGUworI2Vsc2UKKyN1bmRlZiBVU0VfUFJPQ0ZTCisjZW5kaWYKKworI2lmZGVmIEZSRUVCU0QKKyNpZm5kZWYgSTM4NgorI2Vycm9yICJGcmVlQlNEIHN1cHBvcnQgaXMgb25seSBmb3IgaTM4NiBhcmNoIHJpZ2h0IG5vdy4iCisjZW5kaWYKKyNpbmNsdWRlIDxtYWNoaW5lL3BzbC5oPgorI2luY2x1ZGUgPG1hY2hpbmUvcmVnLmg+CisjaW5jbHVkZSA8c3lzL3N5c2NhbGwuaD4KKyNlbmRpZgorCisjaWZkZWYgVVNFX1BST0NGUworI2luY2x1ZGUgPHN5cy9wcm9jZnMuaD4KKyNpZmRlZiBIQVZFX01QX1BST0NGUworI2luY2x1ZGUgPHN5cy91aW8uaD4KKyNlbmRpZgorI2lmZGVmIEZSRUVCU0QKKyNpbmNsdWRlIDxzeXMvcGlvY3RsLmg+CisjZW5kaWYgLyogRlJFRUJTRCAqLworI2Vsc2UgLyogIVVTRV9QUk9DRlMgKi8KKyNpZiAoZGVmaW5lZChMSU5VWFNQQVJDKSB8fCBkZWZpbmVkKExJTlVYX1g4Nl82NCkgfHwgZGVmaW5lZChMSU5VWF9BUk0pIHx8IGRlZmluZWQoTElOVVhfQVZSMzIpKSAmJiBkZWZpbmVkKF9fR0xJQkNfXykKKyNpbmNsdWRlIDxzeXMvcHRyYWNlLmg+CisjZWxzZQorLyogV29yayBhcm91bmQgYXdrd2FyZCBwcm90b3R5cGUgaW4gcHRyYWNlLmguICovCisjZGVmaW5lIHB0cmFjZSB4cHRyYWNlCisjaW5jbHVkZSA8c3lzL3B0cmFjZS5oPgorI3VuZGVmIHB0cmFjZQorI2lmZGVmIFBPV0VSUEMKKyNkZWZpbmUgX19LRVJORUxfXworI2luY2x1ZGUgPGFzbS9wdHJhY2UuaD4KKyN1bmRlZiBfX0tFUk5FTF9fCisjZW5kaWYKKyNpZmRlZiBMSU5VWAorZXh0ZXJuIGxvbmcgcHRyYWNlKGludCwgaW50LCBjaGFyICosIGxvbmcpOworI2Vsc2UgLyogIUxJTlVYICovCitleHRlcm4gaW50IHB0cmFjZShpbnQsIGludCwgY2hhciAqLCBpbnQsIC4uLik7CisjZW5kaWYgLyogIUxJTlVYICovCisjZW5kaWYgLyogIUxJTlVYU1BBUkMgKi8KKyNlbmRpZiAvKiAhU1ZSNCAqLworCisjaWZkZWYgTElOVVgKKyNpZiAhZGVmaW5lZChfX0dMSUJDX18pCisjZGVmaW5lCVBUUkFDRV9QRUVLVVNFUglQVFJBQ0VfUEVFS1VTUgorI2RlZmluZQlQVFJBQ0VfUE9LRVVTRVIJUFRSQUNFX1BPS0VVU1IKKyNlbmRpZgorI2lmZGVmIEFMUEhBCisjICBkZWZpbmUgUkVHX1IwIDAKKyMgIGRlZmluZSBSRUdfQTAgMTYKKyMgIGRlZmluZSBSRUdfQTMgMTkKKyMgIGRlZmluZSBSRUdfRlAgMzAKKyMgIGRlZmluZSBSRUdfUEMgNjQKKyNlbmRpZiAvKiBBTFBIQSAqLworI2lmZGVmIE1JUFMKKyMgIGRlZmluZSBSRUdfVjAgMgorIyAgZGVmaW5lIFJFR19BMCA0CisjICBkZWZpbmUgUkVHX0EzIDcKKyMgIGRlZmluZSBSRUdfU1AgMjkKKyMgIGRlZmluZSBSRUdfRVBDIDY0CisjZW5kaWYgLyogTUlQUyAqLworI2lmZGVmIEhQUEEKKyMgIGRlZmluZSBQVF9HUjIwICgyMCo0KQorIyAgZGVmaW5lIFBUX0dSMjYgKDI2KjQpCisjICBkZWZpbmUgUFRfR1IyOCAoMjgqNCkKKyMgIGRlZmluZSBQVF9JQU9RMCAoMTA2KjQpCisjICBkZWZpbmUgUFRfSUFPUTEgKDEwNyo0KQorI2VuZGlmIC8qIEhQUEEgKi8KKyNpZmRlZiBTSDY0CisgICAvKiBTSDY0IExpbnV4IC0gdGhpcyBjb2RlIGFzc3VtZXMgdGhlIGZvbGxvd2luZyBrZXJuZWwgQVBJIGZvciBzeXN0ZW0gY2FsbHM6CisgICAgICAgICAgUEMgICAgICAgICAgIE9mZnNldCAwCisgICAgICAgICAgU3lzdGVtIENhbGwgIE9mZnNldCAxNiAoYWN0dWFsbHksIChzeXNjYWxsIG5vLikgfCAoMHgxbiA8PCAxNiksCisgICAgICAgICAgICAgICAgICAgICAgIHdoZXJlIG4gPSBuby4gb2YgcGFyYW1ldGVycy4KKyAgICAgICAgICBPdGhlciByZWdzICAgT2Zmc2V0IDI0KworCisgICAgICAgICAgT24gZW50cnk6ICAgIFIyLTcgPSBwYXJhbWV0ZXJzIDEtNiAoYXMgbWFueSBhcyBuZWNlc3NhcnkpCisgICAgICAgICAgT24gcmV0dXJuOiAgIFI5ICAgPSByZXN1bHQuICovCisKKyAgIC8qIE9mZnNldCBmb3IgcGVla3Mgb2YgcmVnaXN0ZXJzICovCisjICBkZWZpbmUgUkVHX09GRlNFVCAgICAgICAgICgyNCkKKyMgIGRlZmluZSBSRUdfR0VORVJBTCh4KSAgICAgKDgqKHgpK1JFR19PRkZTRVQpCisjICBkZWZpbmUgUkVHX1BDICAgICAgICAgICAgICgwKjgpCisjICBkZWZpbmUgUkVHX1NZU0NBTEwgICAgICAgICgyKjgpCisjZW5kaWYgLyogU0g2NCAqLworI2VuZGlmIC8qIExJTlVYICovCisKKyNkZWZpbmUgU1VQUE9SVEVEX1BFUlNPTkFMSVRJRVMgMQorI2RlZmluZSBERUZBVUxUX1BFUlNPTkFMSVRZIDAKKworI2lmZGVmIExJTlVYU1BBUkMKKy8qIEluZGV4ZXMgaW50byB0aGUgcHRfcmVncy51X3JlZ1tdIGFycmF5IC0tIFVSRUdfWFggZnJvbSBrZXJuZWwgYXJlIGFsbCBvZmYKKyAqIGJ5IDEgYW5kIHVzZSBJeCBpbnN0ZWFkIG9mIE94LiAgVGhlc2Ugd29yayBmb3IgYm90aCAzMiBhbmQgNjQgYml0IExpbnV4LiAqLworI2RlZmluZSBVX1JFR19HMSAwCisjZGVmaW5lIFVfUkVHX08wIDcKKyNkZWZpbmUgVV9SRUdfTzEgOAorI2RlZmluZSBQRVJTT05BTElUWTBfV09SRFNJWkUgNAorI2RlZmluZSBQRVJTT05BTElUWTFfV09SRFNJWkUgNAorI3VuZGVmICBTVVBQT1JURURfUEVSU09OQUxJVElFUworI2lmIGRlZmluZWQoU1BBUkM2NCkKKyNpbmNsdWRlIDxhc20vcHNyY29tcGF0Lmg+CisjZGVmaW5lIFNVUFBPUlRFRF9QRVJTT05BTElUSUVTIDMKKyNkZWZpbmUgUEVSU09OQUxJVFkyX1dPUkRTSVpFIDgKKyNlbHNlCisjaW5jbHVkZSA8YXNtL3Bzci5oPgorI2RlZmluZSBTVVBQT1JURURfUEVSU09OQUxJVElFUyAyCisjZW5kaWYgLyogU1BBUkM2NCAqLworI2VuZGlmIC8qIExJTlVYU1BBUkMgKi8KKworI2lmZGVmIFg4Nl82NAorI3VuZGVmIFNVUFBPUlRFRF9QRVJTT05BTElUSUVTCisjZGVmaW5lIFNVUFBPUlRFRF9QRVJTT05BTElUSUVTIDIKKyNkZWZpbmUgUEVSU09OQUxJVFkwX1dPUkRTSVpFIDgKKyNkZWZpbmUgUEVSU09OQUxJVFkxX1dPUkRTSVpFIDQKKyNlbmRpZgorCisjaWZkZWYgQVJNCisjdW5kZWYgU1VQUE9SVEVEX1BFUlNPTkFMSVRJRVMKKyNkZWZpbmUgU1VQUE9SVEVEX1BFUlNPTkFMSVRJRVMgMgorI2RlZmluZSBQRVJTT05BTElUWTBfV09SRFNJWkUgNAorI2RlZmluZSBQRVJTT05BTElUWTFfV09SRFNJWkUgNAorI2VuZGlmCisKKyNpZmRlZiBTVlI0CisjaWZkZWYgSEFWRV9NUF9QUk9DRlMKK2V4dGVybiBpbnQgbXBfaW9jdGwgKGludCBmLCBpbnQgYywgdm9pZCAqYSwgaW50IHMpOworI2RlZmluZSBJT0NUTChmLGMsYSkJbXBfaW9jdGwgKGYsIGMsIGEsIHNpemVvZiAqYSkKKyNkZWZpbmUgSU9DVExfU1RBVFVTKHQpIFwKKwkgcHJlYWQgKHQtPnBmZF9zdGF0LCAmdC0+c3RhdHVzLCBzaXplb2YgdC0+c3RhdHVzLCAwKQorI2RlZmluZSBJT0NUTF9XU1RPUCh0KQkJCQkJCVwKKwkoSU9DVEwgKHQtPnBmZCwgUENXU1RPUCwgKGNoYXIgKilOVUxMKSA8IDAgPyAtMSA6CQlcCisJIElPQ1RMX1NUQVRVUyAodCkpCisjZGVmaW5lIFBSX1dIWQkJcHJfbHdwLnByX3doeQorI2RlZmluZSBQUl9XSEFUCQlwcl9sd3AucHJfd2hhdAorI2RlZmluZSBQUl9SRUcJCXByX2x3cC5wcl9jb250ZXh0LnVjX21jb250ZXh0LmdyZWdzCisjZGVmaW5lIFBSX0ZMQUdTCXByX2x3cC5wcl9mbGFncworI2RlZmluZSBQUl9TWVNDQUxMCXByX2x3cC5wcl9zeXNjYWxsCisjZGVmaW5lIFBSX0lORk8JCXByX2x3cC5wcl9pbmZvCisjZGVmaW5lIFBJT0NTVElQCVBDU1RPUAorI2RlZmluZSBQSU9DU0VUCQlQQ1NFVAorI2RlZmluZSBQSU9DUkVTRVQJUENSRVNFVAorI2RlZmluZSBQSU9DU1RSQUNFCVBDU1RSQUNFCisjZGVmaW5lIFBJT0NTRkFVTFQJUENTRkFVTFQKKyNkZWZpbmUgUElPQ1dTVE9QCVBDV1NUT1AKKyNkZWZpbmUgUElPQ1NUT1AJUENTVE9QCisjZGVmaW5lIFBJT0NTRU5UUlkJUENTRU5UUlkKKyNkZWZpbmUgUElPQ1NFWElUCVBDU0VYSVQKKyNkZWZpbmUgUElPQ1JVTgkJUENSVU4KKyNlbHNlCisjZGVmaW5lIElPQ1RMCQlpb2N0bAorI2RlZmluZSBJT0NUTF9TVEFUVVModCkJaW9jdGwgKHQtPnBmZCwgUElPQ1NUQVRVUywgJnQtPnN0YXR1cykKKyNkZWZpbmUgSU9DVExfV1NUT1AodCkJaW9jdGwgKHQtPnBmZCwgUElPQ1dTVE9QLCAmdC0+c3RhdHVzKQorI2RlZmluZSBQUl9XSFkJCXByX3doeQorI2RlZmluZSBQUl9XSEFUCQlwcl93aGF0CisjZGVmaW5lIFBSX1JFRwkJcHJfcmVnCisjZGVmaW5lIFBSX0ZMQUdTCXByX2ZsYWdzCisjZGVmaW5lIFBSX1NZU0NBTEwJcHJfc3lzY2FsbAorI2RlZmluZSBQUl9JTkZPCQlwcl9pbmZvCisjZW5kaWYKKyNlbmRpZgorI2lmZGVmIEZSRUVCU0QKKyNkZWZpbmUgSU9DVEwJCWlvY3RsCisjZGVmaW5lIElPQ1RMX1NUQVRVUyh0KQlpb2N0bCAodC0+cGZkLCBQSU9DU1RBVFVTLCAmdC0+c3RhdHVzKQorI2RlZmluZSBJT0NUTF9XU1RPUCh0KQlpb2N0bCAodC0+cGZkLCBQSU9DV0FJVCwgJnQtPnN0YXR1cykKKyNkZWZpbmUgUElPQ1JVTiAgICAgICAgIFBJT0NDT05UCisjZGVmaW5lIFBJT0NXU1RPUCAgICAgICBQSU9DV0FJVAorI2RlZmluZSBQUl9XSFkJCXdoeQorI2RlZmluZSBQUl9XSEFUCQl2YWwKKyNkZWZpbmUgUFJfRkxBR1MJc3RhdGUKKy8qIGZyb20gL3Vzci9zcmMvc3lzL21pc2Nmcy9wcm9jZnMvcHJvY2ZzX3Zub3BzLmMsCisgICBzdGF0dXMuc3RhdGUgPSAwIGZvciBydW5uaW5nLCAxIGZvciBzdG9wcGVkICovCisjZGVmaW5lIFBSX0FTTEVFUAkxCisjZGVmaW5lIFBSX1NZU0VOVFJZICAgICBTX1NDRQorI2RlZmluZSBQUl9TWVNFWElUICAgICAgU19TQ1gKKyNkZWZpbmUgUFJfU0lHTkFMTEVEICAgIFNfU0lHCisjZGVmaW5lIFBSX0ZBVUxURUQgICAgICBTX0NPUkUKKyNlbmRpZgorCisvKiBUcmFjZSBDb250cm9sIEJsb2NrICovCitzdHJ1Y3QgdGNiIHsKKwlzaG9ydCBmbGFnczsJCS8qIFNlZSBiZWxvdyBmb3IgVENCXyB2YWx1ZXMgKi8KKwlpbnQgcGlkOwkJLyogUHJvY2VzcyBJZCBvZiB0aGlzIGVudHJ5ICovCisJbG9uZyBzY25vOwkJLyogU3lzdGVtIGNhbGwgbnVtYmVyICovCisJaW50IHVfbmFyZ3M7CQkvKiBTeXN0ZW0gY2FsbCBhcmd1bWVudHMgKi8KKwlsb25nIHVfYXJnW01BWF9BUkdTXTsJLyogU3lzdGVtIGNhbGwgYXJndW1lbnRzICovCisjaWYgZGVmaW5lZCAoTElOVVhfTUlQU04zMikKKwlsb25nIGxvbmcgZXh0X2FyZ1tNQVhfQVJHU107CS8qIFN5c3RlbSBjYWxsIGFyZ3VtZW50cyAqLworI2VuZGlmCisJaW50IHVfZXJyb3I7CQkvKiBFcnJvciBjb2RlICovCisJbG9uZyB1X3J2YWw7CQkvKiAoZmlyc3QpIHJldHVybiB2YWx1ZSAqLworI2lmZGVmIEhBVkVfTE9OR19MT05HCisJbG9uZyBsb25nIHVfbHJ2YWw7CS8qIGxvbmcgbG9uZyByZXR1cm4gdmFsdWUgKi8KKyNlbmRpZgorCUZJTEUgKm91dGY7CQkvKiBPdXRwdXQgZmlsZSBmb3IgdGhpcyBwcm9jZXNzICovCisJaW50IGN1cmNvbDsJCS8qIE91dHB1dCBjb2x1bW4gZm9yIHRoaXMgcHJvY2VzcyAqLworCWNvbnN0IGNoYXIgKmF1eHN0cjsJLyogQXV4aWxpYXJ5IGluZm8gZnJvbSBzeXNjYWxsIChzZWUgUlZBTF9TVFIpICovCisJc3RydWN0IHRpbWV2YWwgc3RpbWU7CS8qIFN5c3RlbSB0aW1lIHVzYWdlIGFzIG9mIGxhc3QgcHJvY2VzcyB3YWl0ICovCisJc3RydWN0IHRpbWV2YWwgZHRpbWU7CS8qIERlbHRhIGZvciBzeXN0ZW0gdGltZSB1c2FnZSAqLworCXN0cnVjdCB0aW1ldmFsIGV0aW1lOwkvKiBTeXNjYWxsIGVudHJ5IHRpbWUgKi8KKwkJCQkvKiBTdXBwb3J0IGZvciB0cmFjaW5nIGZvcmtlZCBwcm9jZXNzZXMgKi8KKwlzdHJ1Y3QgdGNiICpwYXJlbnQ7CS8qIFBhcmVudCBvZiB0aGlzIHByb2Nlc3MgKi8KKwlpbnQgbmNoaWxkcmVuOwkJLyogIyBvZiB0cmFjZWQgY2hpbGRyZW4gKi8KKwlpbnQgd2FpdHBpZDsJCS8qIHBpZChzKSB0aGlzIHByb2Nlc3MgaXMgd2FpdGluZyBmb3IgKi8KKwlpbnQgbnpvbWJpZXM7CQkvKiAjIG9mIGZvcm1lcmx5IHRyYWNlZCBjaGlsZHJlbiBub3cgZGVhZCAqLworI2lmZGVmIExJTlVYCisJaW50IG5jbG9uZV90aHJlYWRzOwkvKiAjIG9mIG5jaGlsZHJlbiB3aXRoIENMT05FX1RIUkVBRCAqLworCWludCBuY2xvbmVfZGV0YWNoZWQ7CS8qICMgb2YgbmNoaWxkcmVuIHdpdGggQ0xPTkVfREVUQUNIRUQgKi8KKwlpbnQgbmNsb25lX3dhaXRpbmc7CS8qIGNsb25lIHRocmVhZHMgaW4gd2FpdDQgKFRDQl9TVVNQRU5ERUQpICovCisjZW5kaWYKKwkJCQkvKiAoMXN0IGFyZyBvZiB3YWl0NCgpKSAqLworCWxvbmcgYmFkZHI7CQkvKiBgQnJlYWtwb2ludCcgYWRkcmVzcyAqLworCWxvbmcgaW5zdFsyXTsJCS8qIEluc3RydWN0aW9ucyBvbiBhYm92ZSAqLworCWludCBwZmQ7CQkvKiBwcm9jIGZpbGUgZGVzY3JpcHRvciAqLworI2lmZGVmIFNWUjQKKyNpZmRlZiBIQVZFX01QX1BST0NGUworCWludCBwZmRfc3RhdDsKKwlpbnQgcGZkX2FzOworCXBzdGF0dXNfdCBzdGF0dXM7CisjZWxzZQorCXByc3RhdHVzX3Qgc3RhdHVzOwkvKiBwcm9jZnMgc3RhdHVzIHN0cnVjdHVyZSAqLworI2VuZGlmCisjZW5kaWYKKwlpbnQgcHRyYWNlX2Vycm5vOworI2lmZGVmIEZSRUVCU0QKKwlzdHJ1Y3QgcHJvY2ZzX3N0YXR1cyBzdGF0dXM7CisJaW50IHBmZF9yZWc7CisJaW50IHBmZF9zdGF0dXM7CisjZW5kaWYKK307CisKKy8qIFRDQiBmbGFncyAqLworI2RlZmluZSBUQ0JfU1RBUlRVUAkwMDAwMQkvKiBXZSBoYXZlIGp1c3QgYmVndW4gcHRyYWNpbmcgdGhpcyBwcm9jZXNzICovCisjZGVmaW5lIFRDQl9JTlVTRQkwMDAwMgkvKiBUaGlzIHRhYmxlIGVudHJ5IGlzIGluIHVzZSAqLworI2RlZmluZSBUQ0JfSU5TWVNDQUxMCTAwMDA0CS8qIEEgc3lzdGVtIGNhbGwgaXMgaW4gcHJvZ3Jlc3MgKi8KKyNkZWZpbmUgVENCX0FUVEFDSEVECTAwMDEwCS8qIFByb2Nlc3MgaXMgbm90IG91ciBvd24gY2hpbGQgKi8KKyNkZWZpbmUgVENCX0VYSVRJTkcJMDAwMjAJLyogQXMgZmFyIGFzIHdlIGtub3csIHRoaXMgcHJvY2VzcyBpcyBleGl0aW5nICovCisjZGVmaW5lIFRDQl9TVVNQRU5ERUQJMDAwNDAJLyogUHJvY2VzcyBjYW4gbm90IGJlIGFsbG93ZWQgdG8gcmVzdW1lIGp1c3Qgbm93ICovCisjZGVmaW5lIFRDQl9CUFRTRVQJMDAxMDAJLyogIkJyZWFrcG9pbnQiIHNldCBhZnRlciBmb3JrKDIpICovCisjZGVmaW5lIFRDQl9TSUdUUkFQUEVECTAwMjAwCS8qIFByb2Nlc3Mgd2FudGVkIHRvIGJsb2NrIFNJR1RSQVAgKi8KKyNkZWZpbmUgVENCX0ZPTExPV0ZPUksJMDA0MDAJLyogUHJvY2VzcyBzaG91bGQgaGF2ZSBmb3JrcyBmb2xsb3dlZCAqLworI2RlZmluZSBUQ0JfUkVQUklOVAkwMTAwMAkvKiBXZSBzaG91bGQgcmVwcmludCB0aGlzIHN5c2NhbGwgb24gZXhpdCAqLworI2lmZGVmIExJTlVYCisvKiB4ODYgZG9lcyBub3QgbmVlZCBUQ0JfV0FJVEVYRUNWRS4KKyAqIEl0IGNhbiBkZXRlY3QgZXhlY3ZlJ3MgU0lHVFJBUCBieSBsb29raW5nIGF0IGVheC9yYXguCisgKiBTZWUgInN0cmF5IHN5c2NhbGwgZXhpdDogZWF4ID0gIiBtZXNzYWdlIGluIHN5c2NhbGxfZml4dXAoKS4KKyAqLworIyBpZiBkZWZpbmVkKEFMUEhBKSB8fCBkZWZpbmVkKEFWUjMyKSB8fCBkZWZpbmVkKFNQQVJDKSB8fCBkZWZpbmVkKFNQQVJDNjQpIFwKKyAgfHwgZGVmaW5lZChQT1dFUlBDKSB8fCBkZWZpbmVkKElBNjQpIHx8IGRlZmluZWQoSFBQQSkgXAorICB8fCBkZWZpbmVkKFNIKSB8fCBkZWZpbmVkKFNINjQpIHx8IGRlZmluZWQoUzM5MCkgfHwgZGVmaW5lZChTMzkwWCkgXAorICB8fCBkZWZpbmVkKEFSTSkgfHwgZGVmaW5lZChNSVBTKSB8fCBkZWZpbmVkKEJGSU4pIHx8IGRlZmluZWQoVElMRSkKKyMgIGRlZmluZSBUQ0JfV0FJVEVYRUNWRSAwMjAwMAkvKiBpZ25vcmUgU0lHVFJBUCBhZnRlciBleGNldmUgKi8KKyMgZW5kaWYKKyMgZGVmaW5lIFRDQl9DTE9ORV9ERVRBQ0hFRCAwNDAwMCAvKiBDTE9ORV9ERVRBQ0hFRCBzZXQgaW4gY3JlYXRpbmcgc3lzY2FsbCAqLworIyBkZWZpbmUgVENCX0NMT05FX1RIUkVBRCAgMDEwMDAwIC8qIENMT05FX1RIUkVBRCBzZXQgaW4gY3JlYXRpbmcgc3lzY2FsbCAqLworIyBkZWZpbmUgVENCX0dST1VQX0VYSVRJTkcgMDIwMDAwIC8qIFRDQl9FWElUSU5HIHdhcyBleGl0X2dyb3VwLCBub3QgX2V4aXQgKi8KKyMgaW5jbHVkZSA8c3lzL3N5c2NhbGwuaD4KKyMgaWZuZGVmIF9fTlJfZXhpdF9ncm91cAorIyAvKiBIYWNrOiBNb3N0IGhlYWRlcnMgYXJvdW5kIGFyZSB0b28gb2xkIHRvIGhhdmUgX19OUl9leGl0X2dyb3VwLiAgKi8KKyMgIGlmZGVmIEFMUEhBCisjICAgZGVmaW5lIF9fTlJfZXhpdF9ncm91cCA0MDUKKyMgIGVsaWYgZGVmaW5lZCBJMzg2CisjICAgZGVmaW5lIF9fTlJfZXhpdF9ncm91cCAyNTIKKyMgIGVsaWYgZGVmaW5lZCBYODZfNjQKKyMgICBkZWZpbmUgX19OUl9leGl0X2dyb3VwIDIzMQorIyAgZWxpZiBkZWZpbmVkIElBNjQKKyMgICBkZWZpbmUgX19OUl9leGl0X2dyb3VwIDEyMzYKKyMgIGVsaWYgZGVmaW5lZCBQT1dFUlBDCisjICAgZGVmaW5lIF9fTlJfZXhpdF9ncm91cCAyMzQKKyMgIGVsaWYgZGVmaW5lZCBTMzkwIHx8IGRlZmluZWQgUzM5MFgKKyMgICBkZWZpbmUgX19OUl9leGl0X2dyb3VwIDI0OAorIyAgZWxpZiBkZWZpbmVkIFNQQVJDIHx8IGRlZmluZWQgU1BBUkM2NAorIyAgIGRlZmluZSBfX05SX2V4aXRfZ3JvdXAgMTg4CisjICBlbGlmIGRlZmluZWQgTTY4SworIyAgIGRlZmluZSBfX05SX2V4aXRfZ3JvdXAgMjQ3CisjICBlbmRpZiAvKiBBTFBIQSBldCBhbCAqLworIyBlbmRpZgkvKiAhX19OUl9leGl0X2dyb3VwICovCisjZW5kaWYgLyogTElOVVggKi8KKworLyogcXVhbGlmaWVyIGZsYWdzICovCisjZGVmaW5lIFFVQUxfVFJBQ0UJMDAwMQkvKiB0aGlzIHN5c3RlbSBjYWxsIHNob3VsZCBiZSB0cmFjZWQgKi8KKyNkZWZpbmUgUVVBTF9BQkJSRVYJMDAwMgkvKiBhYmJyZXZpYXRlIHRoZSBzdHJ1Y3R1cmVzIG9mIHRoaXMgc3lzY2FsbCAqLworI2RlZmluZSBRVUFMX1ZFUkJPU0UJMDAwNAkvKiBkZWNvZGUgdGhlIHN0cnVjdHVyZXMgb2YgdGhpcyBzeXNjYWxsICovCisjZGVmaW5lIFFVQUxfUkFXCTAwMTAJLyogcHJpbnQgYWxsIGFyZ3MgaW4gaGV4IGZvciB0aGlzIHN5c2NhbGwgKi8KKyNkZWZpbmUgUVVBTF9TSUdOQUwJMDAyMAkvKiByZXBvcnQgZXZlbnRzIHdpdGggdGhpcyBzaWduYWwgKi8KKyNkZWZpbmUgUVVBTF9GQVVMVAkwMDQwCS8qIHJlcG9ydCBldmVudHMgd2l0aCB0aGlzIGZhdWx0ICovCisjZGVmaW5lIFFVQUxfUkVBRAkwMTAwCS8qIGR1bXAgZGF0YSByZWFkIG9uIHRoaXMgZmlsZSBkZXNjcmlwdG9yICovCisjZGVmaW5lIFFVQUxfV1JJVEUJMDIwMAkvKiBkdW1wIGRhdGEgd3JpdHRlbiB0byB0aGlzIGZpbGUgZGVzY3JpcHRvciAqLworCisjZGVmaW5lIGVudGVyaW5nKHRjcCkJKCEoKHRjcCktPmZsYWdzICYgVENCX0lOU1lTQ0FMTCkpCisjZGVmaW5lIGV4aXRpbmcodGNwKQkoKHRjcCktPmZsYWdzICYgVENCX0lOU1lTQ0FMTCkKKyNkZWZpbmUgc3lzZXJyb3IodGNwKQkoKHRjcCktPnVfZXJyb3IgIT0gMCkKKyNkZWZpbmUgdmVyYm9zZSh0Y3ApCShxdWFsX2ZsYWdzWyh0Y3ApLT5zY25vXSAmIFFVQUxfVkVSQk9TRSkKKyNkZWZpbmUgYWJicmV2KHRjcCkJKHF1YWxfZmxhZ3NbKHRjcCktPnNjbm9dICYgUVVBTF9BQkJSRVYpCisKK3N0cnVjdCB4bGF0IHsKKwlpbnQgdmFsOworCWNoYXIgKnN0cjsKK307CisKK2V4dGVybiBjb25zdCBzdHJ1Y3QgeGxhdCBvcGVuX21vZGVfZmxhZ3NbXTsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgeGxhdCBhZGRyZmFtc1tdOworZXh0ZXJuIGNvbnN0IHN0cnVjdCB4bGF0IHN0cnVjdF91c2VyX29mZnNldHNbXTsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgeGxhdCBvcGVuX2FjY2Vzc19tb2Rlc1tdOworCisvKiBGb3JtYXQgb2Ygc3lzY2FsbCByZXR1cm4gdmFsdWVzICovCisjZGVmaW5lIFJWQUxfREVDSU1BTAkwMDAJLyogZGVjaW1hbCBmb3JtYXQgKi8KKyNkZWZpbmUgUlZBTF9IRVgJMDAxCS8qIGhleCBmb3JtYXQgKi8KKyNkZWZpbmUgUlZBTF9PQ1RBTAkwMDIJLyogb2N0YWwgZm9ybWF0ICovCisjZGVmaW5lIFJWQUxfVURFQ0lNQUwJMDAzCS8qIHVuc2lnbmVkIGRlY2ltYWwgZm9ybWF0ICovCisjZGVmaW5lIFJWQUxfTERFQ0lNQUwJMDA0CS8qIGxvbmcgZGVjaW1hbCBmb3JtYXQgKi8KKyNkZWZpbmUgUlZBTF9MSEVYCTAwNQkvKiBsb25nIGhleCBmb3JtYXQgKi8KKyNkZWZpbmUgUlZBTF9MT0NUQUwJMDA2CS8qIGxvbmcgb2N0YWwgZm9ybWF0ICovCisjZGVmaW5lIFJWQUxfTFVERUNJTUFMCTAwNwkvKiBsb25nIHVuc2lnbmVkIGRlY2ltYWwgZm9ybWF0ICovCisjZGVmaW5lIFJWQUxfTUFTSwkwMDcJLyogbWFzayBmb3IgdGhlc2UgdmFsdWVzICovCisKKyNkZWZpbmUgUlZBTF9TVFIJMDEwCS8qIFByaW50IGBhdXhzdHInIGZpZWxkIGFmdGVyIHJldHVybiB2YWwgKi8KKyNkZWZpbmUgUlZBTF9OT05FCTAyMAkvKiBQcmludCBub3RoaW5nICovCisKKyNpZm5kZWYgb2Zmc2V0b2YKKyNkZWZpbmUgb2Zmc2V0b2YodHlwZSwgbWVtYmVyKQkoKChjaGFyICopICYoKCh0eXBlICopIE5VTEwpLT5tZW1iZXIpKSAtIFwKKwkJCQkgKChjaGFyICopICh0eXBlICopIE5VTEwpKQorI2VuZGlmIC8qICFvZmZzZXRvZiAqLworCisvKiBnZXQgb2Zmc2V0IG9mIG1lbWJlciB3aXRoaW4gYSB1c2VyIHN0cnVjdCAqLworI2RlZmluZSB1b2ZmKG1lbWJlcikJb2Zmc2V0b2Yoc3RydWN0IHVzZXIsIG1lbWJlcikKKworI2RlZmluZSBUUkFDRV9GSUxFCTAwMQkvKiBUcmFjZSBmaWxlLXJlbGF0ZWQgc3lzY2FsbHMuICovCisjZGVmaW5lIFRSQUNFX0lQQwkwMDIJLyogVHJhY2UgSVBDLXJlbGF0ZWQgc3lzY2FsbHMuICovCisjZGVmaW5lIFRSQUNFX05FVFdPUksJMDA0CS8qIFRyYWNlIG5ldHdvcmstcmVsYXRlZCBzeXNjYWxscy4gKi8KKyNkZWZpbmUgVFJBQ0VfUFJPQ0VTUwkwMTAJLyogVHJhY2UgcHJvY2Vzcy1yZWxhdGVkIHN5c2NhbGxzLiAqLworI2RlZmluZSBUUkFDRV9TSUdOQUwJMDIwCS8qIFRyYWNlIHNpZ25hbC1yZWxhdGVkIHN5c2NhbGxzLiAqLworI2RlZmluZSBUUkFDRV9ERVNDCTA0MAkvKiBUcmFjZSBmaWxlIGRlc2NyaXB0b3ItcmVsYXRlZCBzeXNjYWxscy4gKi8KKwordHlwZWRlZiBlbnVtIHsKKwlDRkxBR19OT05FID0gMCwKKwlDRkxBR19PTkxZX1NUQVRTLAorCUNGTEFHX0JPVEgKK30gY2ZsYWdfdDsKKworZXh0ZXJuIHN0cnVjdCB0Y2IgKip0Y2J0YWI7CitleHRlcm4gaW50ICpxdWFsX2ZsYWdzOworZXh0ZXJuIGludCBkZWJ1ZywgZm9sbG93Zm9yazsKK2V4dGVybiBpbnQgZHRpbWUsIHhmbGFnLCBxZmxhZzsKK2V4dGVybiBjZmxhZ190IGNmbGFnOworZXh0ZXJuIGludCBhY29sdW1uOworZXh0ZXJuIHVuc2lnbmVkIGludCBucHJvY3MsIHRjYnRhYnNpemU7CitleHRlcm4gaW50IG1heF9zdHJsZW47CitleHRlcm4gc3RydWN0IHRjYiAqdGNwX2xhc3Q7CisKK2VudW0gYml0bmVzc190IHsgQklUTkVTU19DVVJSRU5UID0gMCwgQklUTkVTU18zMiB9OworCitleHRlcm4gaW50IHNldF9wZXJzb25hbGl0eShpbnQgcGVyc29uYWxpdHkpOworZXh0ZXJuIGNvbnN0IGNoYXIgKnhsb29rdXAoY29uc3Qgc3RydWN0IHhsYXQgKiwgaW50KTsKK2V4dGVybiBzdHJ1Y3QgdGNiICphbGxvY190Y2IoaW50LCBpbnQpOworZXh0ZXJuIHN0cnVjdCB0Y2IgKnBpZDJ0Y2IoaW50KTsKK2V4dGVybiB2b2lkIGRyb3B0Y2Ioc3RydWN0IHRjYiAqKTsKK2V4dGVybiB2b2lkIGV4cGFuZF90Y2J0YWIodm9pZCk7CisKKyNkZWZpbmUgYWxsb2N0Y2IocGlkKQlhbGxvY190Y2IoKHBpZCksIDEpCisKK2V4dGVybiB2b2lkIHNldF9zb3J0YnkoY2hhciAqKTsKK2V4dGVybiB2b2lkIHNldF9vdmVyaGVhZChpbnQpOworZXh0ZXJuIHZvaWQgcXVhbGlmeShjaGFyICopOworZXh0ZXJuIGludCBnZXRfc2NubyhzdHJ1Y3QgdGNiICopOworZXh0ZXJuIGxvbmcga25vd25fc2NubyhzdHJ1Y3QgdGNiICopOworZXh0ZXJuIGxvbmcgZG9fcHRyYWNlKGludCByZXF1ZXN0LCBzdHJ1Y3QgdGNiICp0Y3AsIHZvaWQgKmFkZHIsIHZvaWQgKmRhdGEpOworZXh0ZXJuIGludCBwdHJhY2VfcmVzdGFydChpbnQgcmVxdWVzdCwgc3RydWN0IHRjYiAqdGNwLCBpbnQgc2lnKTsKK2V4dGVybiBpbnQgdHJhY2Vfc3lzY2FsbChzdHJ1Y3QgdGNiICopOworZXh0ZXJuIGludCBjb3VudF9zeXNjYWxsKHN0cnVjdCB0Y2IgKiwgc3RydWN0IHRpbWV2YWwgKik7CitleHRlcm4gdm9pZCBwcmludHh2YWwoY29uc3Qgc3RydWN0IHhsYXQgKiwgaW50LCBjb25zdCBjaGFyICopOworZXh0ZXJuIGludCBwcmludGFyZ3Moc3RydWN0IHRjYiAqKTsKK2V4dGVybiBpbnQgYWRkZmxhZ3MoY29uc3Qgc3RydWN0IHhsYXQgKiwgaW50KTsKK2V4dGVybiBpbnQgcHJpbnRmbGFncyhjb25zdCBzdHJ1Y3QgeGxhdCAqLCBpbnQsIGNvbnN0IGNoYXIgKik7CitleHRlcm4gY29uc3QgY2hhciAqc3ByaW50ZmxhZ3MoY29uc3QgY2hhciAqLCBjb25zdCBzdHJ1Y3QgeGxhdCAqLCBpbnQpOworZXh0ZXJuIGludCB1bW92ZW4oc3RydWN0IHRjYiAqLCBsb25nLCBpbnQsIGNoYXIgKik7CitleHRlcm4gaW50IHVtb3Zlc3RyKHN0cnVjdCB0Y2IgKiwgbG9uZywgaW50LCBjaGFyICopOworZXh0ZXJuIGludCB1cGVlayhzdHJ1Y3QgdGNiICosIGxvbmcsIGxvbmcgKik7CitleHRlcm4gdm9pZCBkdW1waW92KHN0cnVjdCB0Y2IgKiwgaW50LCBsb25nKTsKK2V4dGVybiB2b2lkIGR1bXBzdHIoc3RydWN0IHRjYiAqLCBsb25nLCBpbnQpOworZXh0ZXJuIHZvaWQgcHJpbnRzdHIoc3RydWN0IHRjYiAqLCBsb25nLCBpbnQpOworZXh0ZXJuIHZvaWQgcHJpbnRudW0oc3RydWN0IHRjYiAqLCBsb25nLCBjaGFyICopOworZXh0ZXJuIHZvaWQgcHJpbnRudW1faW50KHN0cnVjdCB0Y2IgKiwgbG9uZywgY2hhciAqKTsKK2V4dGVybiB2b2lkIHByaW50cGF0aChzdHJ1Y3QgdGNiICosIGxvbmcpOworZXh0ZXJuIHZvaWQgcHJpbnRwYXRobihzdHJ1Y3QgdGNiICosIGxvbmcsIGludCk7CitleHRlcm4gdm9pZCBwcmludHR2X2JpdG5lc3Moc3RydWN0IHRjYiAqLCBsb25nLCBlbnVtIGJpdG5lc3NfdCwgaW50KTsKK2V4dGVybiB2b2lkIHNwcmludHR2KHN0cnVjdCB0Y2IgKiwgbG9uZywgZW51bSBiaXRuZXNzX3QsIGNoYXIgKik7CitleHRlcm4gdm9pZCBwcmludF90aW1lc3BlYyhzdHJ1Y3QgdGNiICosIGxvbmcpOworZXh0ZXJuIHZvaWQgc3ByaW50X3RpbWVzcGVjKGNoYXIgKiwgc3RydWN0IHRjYiAqLCBsb25nKTsKKyNpZmRlZiBIQVZFX1NJR0lORk9fVAorZXh0ZXJuIHZvaWQgcHJpbnRzaWdpbmZvKHNpZ2luZm9fdCAqLCBpbnQpOworI2VuZGlmCitleHRlcm4gdm9pZCBwcmludHNvY2soc3RydWN0IHRjYiAqLCBsb25nLCBpbnQpOworZXh0ZXJuIHZvaWQgcHJpbnRfc29ja19vcHRtZ210KHN0cnVjdCB0Y2IgKiwgbG9uZywgaW50KTsKK2V4dGVybiB2b2lkIHByaW50cnVzYWdlKHN0cnVjdCB0Y2IgKiwgbG9uZyk7CitleHRlcm4gdm9pZCBwcmludHVpZChjb25zdCBjaGFyICosIHVuc2lnbmVkIGxvbmcpOworZXh0ZXJuIGludCBjbGVhcmJwdChzdHJ1Y3QgdGNiICopOworZXh0ZXJuIGludCBzZXRicHQoc3RydWN0IHRjYiAqKTsKK2V4dGVybiBpbnQgc2lnaXNoYW5kbGVkKHN0cnVjdCB0Y2IgKiwgaW50KTsKK2V4dGVybiB2b2lkIHByaW50Y2FsbChzdHJ1Y3QgdGNiICopOworZXh0ZXJuIGNvbnN0IGNoYXIgKnNpZ25hbWUoaW50KTsKK2V4dGVybiB2b2lkIHByaW50X3NpZ3NldChzdHJ1Y3QgdGNiICosIGxvbmcsIGludCk7CitleHRlcm4gdm9pZCBwcmludHNpZ25hbChpbnQpOworZXh0ZXJuIHZvaWQgcHJpbnRsZWFkZXIoc3RydWN0IHRjYiAqKTsKK2V4dGVybiB2b2lkIHByaW50dHJhaWxlcih2b2lkKTsKK2V4dGVybiB2b2lkIHRhYnRvKGludCk7CitleHRlcm4gdm9pZCBjYWxsX3N1bW1hcnkoRklMRSAqKTsKK2V4dGVybiB2b2lkIHRwcmludF9pb3Yoc3RydWN0IHRjYiAqLCB1bnNpZ25lZCBsb25nLCB1bnNpZ25lZCBsb25nKTsKK2V4dGVybiB2b2lkIHRwcmludF9vcGVuX21vZGVzKG1vZGVfdCk7CitleHRlcm4gY29uc3QgY2hhciAqc3ByaW50X29wZW5fbW9kZXMobW9kZV90KTsKK2V4dGVybiBpbnQgaXNfcmVzdGFydF9lcnJvcihzdHJ1Y3QgdGNiICopOworCitleHRlcm4gaW50IGNoYW5nZV9zeXNjYWxsKHN0cnVjdCB0Y2IgKiwgaW50KTsKK2V4dGVybiBpbnQgaW50ZXJuYWxfZm9yayhzdHJ1Y3QgdGNiICopOworZXh0ZXJuIGludCBpbnRlcm5hbF9leGVjKHN0cnVjdCB0Y2IgKik7CitleHRlcm4gaW50IGludGVybmFsX3dhaXQoc3RydWN0IHRjYiAqLCBpbnQpOworZXh0ZXJuIGludCBpbnRlcm5hbF9leGl0KHN0cnVjdCB0Y2IgKik7CisKK2V4dGVybiBjb25zdCBzdHJ1Y3QgaW9jdGxlbnQgKmlvY3RsX2xvb2t1cChsb25nKTsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgaW9jdGxlbnQgKmlvY3RsX25leHRfbWF0Y2goY29uc3Qgc3RydWN0IGlvY3RsZW50ICopOworZXh0ZXJuIGludCBpb2N0bF9kZWNvZGUoc3RydWN0IHRjYiAqLCBsb25nLCBsb25nKTsKK2V4dGVybiBpbnQgdGVybV9pb2N0bChzdHJ1Y3QgdGNiICosIGxvbmcsIGxvbmcpOworZXh0ZXJuIGludCBzb2NrX2lvY3RsKHN0cnVjdCB0Y2IgKiwgbG9uZywgbG9uZyk7CitleHRlcm4gaW50IHByb2NfaW9jdGwoc3RydWN0IHRjYiAqLCBpbnQsIGludCk7CitleHRlcm4gaW50IHN0cmVhbV9pb2N0bChzdHJ1Y3QgdGNiICosIGludCwgaW50KTsKKyNpZmRlZiBMSU5VWAorZXh0ZXJuIGludCBydGNfaW9jdGwoc3RydWN0IHRjYiAqLCBsb25nLCBsb25nKTsKK2V4dGVybiBpbnQgc2NzaV9pb2N0bChzdHJ1Y3QgdGNiICosIGxvbmcsIGxvbmcpOworI2VuZGlmCisKK2V4dGVybiBpbnQgdHZfbnooc3RydWN0IHRpbWV2YWwgKik7CitleHRlcm4gaW50IHR2X2NtcChzdHJ1Y3QgdGltZXZhbCAqLCBzdHJ1Y3QgdGltZXZhbCAqKTsKK2V4dGVybiBkb3VibGUgdHZfZmxvYXQoc3RydWN0IHRpbWV2YWwgKik7CitleHRlcm4gdm9pZCB0dl9hZGQoc3RydWN0IHRpbWV2YWwgKiwgc3RydWN0IHRpbWV2YWwgKiwgc3RydWN0IHRpbWV2YWwgKik7CitleHRlcm4gdm9pZCB0dl9zdWIoc3RydWN0IHRpbWV2YWwgKiwgc3RydWN0IHRpbWV2YWwgKiwgc3RydWN0IHRpbWV2YWwgKik7CitleHRlcm4gdm9pZCB0dl9tdWwoc3RydWN0IHRpbWV2YWwgKiwgc3RydWN0IHRpbWV2YWwgKiwgaW50KTsKK2V4dGVybiB2b2lkIHR2X2RpdihzdHJ1Y3QgdGltZXZhbCAqLCBzdHJ1Y3QgdGltZXZhbCAqLCBpbnQpOworCisjaWZkZWYgU1VOT1M0CitleHRlcm4gaW50IGZpeHZmb3JrKHN0cnVjdCB0Y2IgKik7CisjZW5kaWYKKyNpZiAhKGRlZmluZWQoTElOVVgpICYmICFkZWZpbmVkKFNQQVJDKSAmJiAhZGVmaW5lZChTUEFSQzY0KSAmJiAhZGVmaW5lZChJQTY0KSkKK2V4dGVybiBsb25nIGdldHJ2YWwyKHN0cnVjdCB0Y2IgKik7CisjZW5kaWYKKyNpZmRlZiBVU0VfUFJPQ0ZTCitleHRlcm4gaW50IHByb2Nfb3BlbihzdHJ1Y3QgdGNiICp0Y3AsIGludCBhdHRhY2hpbmcpOworI2VuZGlmCisKKyNkZWZpbmUgdW1vdmUocGlkLCBhZGRyLCBvYmpwKQlcCisJdW1vdmVuKChwaWQpLCAoYWRkciksIHNpemVvZiAqKG9ianApLCAoY2hhciAqKSAob2JqcCkpCisKKyNkZWZpbmUgcHJpbnR0dih0Y3AsIGFkZHIpCVwKKwlwcmludHR2X2JpdG5lc3MoKHRjcCksIChhZGRyKSwgQklUTkVTU19DVVJSRU5ULCAwKQorI2RlZmluZSBwcmludHR2X3NwZWNpYWwodGNwLCBhZGRyKQlcCisJcHJpbnR0dl9iaXRuZXNzKCh0Y3ApLCAoYWRkciksIEJJVE5FU1NfQ1VSUkVOVCwgMSkKKworI2lmZGVmIF9fR05VQ19fCitleHRlcm4gdm9pZCB0cHJpbnRmKGNvbnN0IGNoYXIgKmZtdCwgLi4uKQorCV9fYXR0cmlidXRlX18gKChmb3JtYXQgKHByaW50ZiwgMSwgMikpKTsKKyNlbHNlCitleHRlcm4gdm9pZCB0cHJpbnRmKGNvbnN0IGNoYXIgKmZtdCwgLi4uKTsKKyNlbmRpZgorCisjaWZuZGVmIEhBVkVfU1RSRVJST1IKK2NvbnN0IGNoYXIgKnN0cmVycm9yKGludCk7CisjZW5kaWYKKyNpZm5kZWYgSEFWRV9TVFJTSUdOQUwKK2NvbnN0IGNoYXIgKnN0cnNpZ25hbChpbnQpOworI2VuZGlmCisKK2V4dGVybiBpbnQgY3VycmVudF9wZXJzb25hbGl0eTsKK2V4dGVybiBjb25zdCBpbnQgcGVyc29uYWxpdHlfd29yZHNpemVbXTsKKworc3RydWN0IHN5c2VudCB7CisJaW50CW5hcmdzOworCWludAlzeXNfZmxhZ3M7CisJaW50CSgqc3lzX2Z1bmMpKCk7CisJY29uc3QgY2hhciAqc3lzX25hbWU7CisJbG9uZwluYXRpdmVfc2NubzsJLyogTWF0Y2ggYWdhaW5zdCBTWVNfKiBjb25zdGFudHMuICAqLworfTsKKworZXh0ZXJuIGNvbnN0IHN0cnVjdCBzeXNlbnQgKnN5c2VudDsKK2V4dGVybiBpbnQgbnN5c2NhbGxzOworCitleHRlcm4gY29uc3QgY2hhciAqY29uc3QgKmVycm5vZW50OworZXh0ZXJuIGludCBuZXJybm9zOworCitzdHJ1Y3QgaW9jdGxlbnQgeworCWNvbnN0IGNoYXIgKmRvdGg7CisJY29uc3QgY2hhciAqc3ltYm9sOworCXVuc2lnbmVkIGxvbmcgY29kZTsKK307CisKK2V4dGVybiBjb25zdCBzdHJ1Y3QgaW9jdGxlbnQgKmlvY3RsZW50OworZXh0ZXJuIGludCBuaW9jdGxlbnRzOworCitleHRlcm4gY29uc3QgY2hhciAqY29uc3QgKnNpZ25hbGVudDsKK2V4dGVybiBpbnQgbnNpZ25hbHM7CisKK2V4dGVybiBjb25zdCBzdHJ1Y3QgaW9jdGxlbnQgaW9jdGxlbnQwW107CitleHRlcm4gY29uc3QgaW50IG5pb2N0bGVudHMwOworZXh0ZXJuIGNvbnN0IGNoYXIgKmNvbnN0IHNpZ25hbGVudDBbXTsKK2V4dGVybiBjb25zdCBpbnQgbnNpZ25hbHMwOworCisjaWYgU1VQUE9SVEVEX1BFUlNPTkFMSVRJRVMgPj0gMgorZXh0ZXJuIGNvbnN0IHN0cnVjdCBpb2N0bGVudCBpb2N0bGVudDFbXTsKK2V4dGVybiBjb25zdCBpbnQgbmlvY3RsZW50czE7CitleHRlcm4gY29uc3QgY2hhciAqY29uc3Qgc2lnbmFsZW50MVtdOworZXh0ZXJuIGNvbnN0IGludCBuc2lnbmFsczE7CisjZW5kaWYgLyogU1VQUE9SVEVEX1BFUlNPTkFMSVRJRVMgPj0gMiAqLworCisjaWYgU1VQUE9SVEVEX1BFUlNPTkFMSVRJRVMgPj0gMworZXh0ZXJuIGNvbnN0IHN0cnVjdCBpb2N0bGVudCBpb2N0bGVudDJbXTsKK2V4dGVybiBjb25zdCBpbnQgbmlvY3RsZW50czI7CitleHRlcm4gY29uc3QgY2hhciAqY29uc3Qgc2lnbmFsZW50MltdOworZXh0ZXJuIGNvbnN0IGludCBuc2lnbmFsczI7CisjZW5kaWYgLyogU1VQUE9SVEVEX1BFUlNPTkFMSVRJRVMgPj0gMyAqLworCisjaWYgSEFWRV9MT05HX0xPTkcKKworLyogX2wgcmVmZXJzIHRvIHRoZSBsb3dlciBudW1iZXJlZCB1X2FyZywKKyAqIF9oIHJlZmVycyB0byB0aGUgaGlnaGVyIG51bWJlcmVkIHVfYXJnCisgKi8KKworI2lmIEhBVkVfTElUVExFX0VORElBTl9MT05HX0xPTkcKKyNkZWZpbmUgTE9OR19MT05HKF9sLF9oKSBcCisgICAgKChsb25nIGxvbmcpKCh1bnNpZ25lZCBsb25nIGxvbmcpKHVuc2lnbmVkKShfbCkgfCAoKHVuc2lnbmVkIGxvbmcgbG9uZykoX2gpPDwzMikpKQorI2Vsc2UKKyNkZWZpbmUgTE9OR19MT05HKF9sLF9oKSBcCisgICAgKChsb25nIGxvbmcpKCh1bnNpZ25lZCBsb25nIGxvbmcpKHVuc2lnbmVkKShfaCkgfCAoKHVuc2lnbmVkIGxvbmcgbG9uZykoX2wpPDwzMikpKQorI2VuZGlmCisKK2V4dGVybiBpbnQgcHJpbnRsbHZhbChzdHJ1Y3QgdGNiICosIGNvbnN0IGNoYXIgKiwgaW50KTsKKyNlbmRpZgorCisjaWZkZWYgSUE2NAorZXh0ZXJuIGxvbmcgaWEzMjsKKyNlbmRpZgorCitleHRlcm4gaW50IG5vdF9mYWlsaW5nX29ubHk7CmRpZmYgLS1naXQgYS9zdHJhY2UtNC41LjIwL2RlcGNvbXAgYi9zdHJhY2UtNC41LjIwL2RlcGNvbXAKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZGY4ZWVhNwotLS0gL2Rldi9udWxsCisrKyBiL3N0cmFjZS00LjUuMjAvZGVwY29tcApAQCAtMCwwICsxLDYzMCBAQAorIyEgL2Jpbi9zaAorIyBkZXBjb21wIC0gY29tcGlsZSBhIHByb2dyYW0gZ2VuZXJhdGluZyBkZXBlbmRlbmNpZXMgYXMgc2lkZS1lZmZlY3RzCisKK3NjcmlwdHZlcnNpb249MjAwOS0wNC0yOC4yMTsgIyBVVEMKKworIyBDb3B5cmlnaHQgKEMpIDE5OTksIDIwMDAsIDIwMDMsIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcsIDIwMDkgRnJlZQorIyBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisKKyMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiwgb3IgKGF0IHlvdXIgb3B0aW9uKQorIyBhbnkgbGF0ZXIgdmVyc2lvbi4KKworIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCisjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorCisjIEFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLCBpZiB5b3UKKyMgZGlzdHJpYnV0ZSB0aGlzIGZpbGUgYXMgcGFydCBvZiBhIHByb2dyYW0gdGhhdCBjb250YWlucyBhCisjIGNvbmZpZ3VyYXRpb24gc2NyaXB0IGdlbmVyYXRlZCBieSBBdXRvY29uZiwgeW91IG1heSBpbmNsdWRlIGl0IHVuZGVyCisjIHRoZSBzYW1lIGRpc3RyaWJ1dGlvbiB0ZXJtcyB0aGF0IHlvdSB1c2UgZm9yIHRoZSByZXN0IG9mIHRoYXQgcHJvZ3JhbS4KKworIyBPcmlnaW5hbGx5IHdyaXR0ZW4gYnkgQWxleGFuZHJlIE9saXZhIDxvbGl2YUBkY2MudW5pY2FtcC5icj4uCisKK2Nhc2UgJDEgaW4KKyAgJycpCisgICAgIGVjaG8gIiQwOiBObyBjb21tYW5kLiAgVHJ5IFxgJDAgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4iIDE+JjIKKyAgICAgZXhpdCAxOworICAgICA7OworICAtaCB8IC0taCopCisgICAgY2F0IDw8XEVPRgorVXNhZ2U6IGRlcGNvbXAgWy0taGVscF0gWy0tdmVyc2lvbl0gUFJPR1JBTSBbQVJHU10KKworUnVuIFBST0dSQU1TIEFSR1MgdG8gY29tcGlsZSBhIGZpbGUsIGdlbmVyYXRpbmcgZGVwZW5kZW5jaWVzCithcyBzaWRlLWVmZmVjdHMuCisKK0Vudmlyb25tZW50IHZhcmlhYmxlczoKKyAgZGVwbW9kZSAgICAgRGVwZW5kZW5jeSB0cmFja2luZyBtb2RlLgorICBzb3VyY2UgICAgICBTb3VyY2UgZmlsZSByZWFkIGJ5IGBQUk9HUkFNUyBBUkdTJy4KKyAgb2JqZWN0ICAgICAgT2JqZWN0IGZpbGUgb3V0cHV0IGJ5IGBQUk9HUkFNUyBBUkdTJy4KKyAgREVQRElSICAgICAgZGlyZWN0b3J5IHdoZXJlIHRvIHN0b3JlIGRlcGVuZGVuY2llcy4KKyAgZGVwZmlsZSAgICAgRGVwZW5kZW5jeSBmaWxlIHRvIG91dHB1dC4KKyAgdG1wZGVwZmlsZSAgVGVtcG9yYXJ5IGZpbGUgdG8gdXNlIHdoZW4gb3V0cHV0aW5nIGRlcGVuZGVuY2llcy4KKyAgbGlidG9vbCAgICAgV2hldGhlciBsaWJ0b29sIGlzIHVzZWQgKHllcy9ubykuCisKK1JlcG9ydCBidWdzIHRvIDxidWctYXV0b21ha2VAZ251Lm9yZz4uCitFT0YKKyAgICBleGl0ICQ/CisgICAgOzsKKyAgLXYgfCAtLXYqKQorICAgIGVjaG8gImRlcGNvbXAgJHNjcmlwdHZlcnNpb24iCisgICAgZXhpdCAkPworICAgIDs7Citlc2FjCisKK2lmIHRlc3QgLXogIiRkZXBtb2RlIiB8fCB0ZXN0IC16ICIkc291cmNlIiB8fCB0ZXN0IC16ICIkb2JqZWN0IjsgdGhlbgorICBlY2hvICJkZXBjb21wOiBWYXJpYWJsZXMgc291cmNlLCBvYmplY3QgYW5kIGRlcG1vZGUgbXVzdCBiZSBzZXQiIDE+JjIKKyAgZXhpdCAxCitmaQorCisjIERlcGVuZGVuY2llcyBmb3Igc3ViL2Jhci5vIG9yIHN1Yi9iYXIub2JqIGdvIGludG8gc3ViLy5kZXBzL2Jhci5Qby4KK2RlcGZpbGU9JHtkZXBmaWxlLWBlY2hvICIkb2JqZWN0IiB8CisgIHNlZCAnc3xbXlxcL10qJHwnJHtERVBESVItLmRlcHN9Jy8mfDtzfFwuXChbXi5dKlwpJHwuUFwxfDtzfFBvYmokfFBvfCdgfQordG1wZGVwZmlsZT0ke3RtcGRlcGZpbGUtYGVjaG8gIiRkZXBmaWxlIiB8IHNlZCAncy9cLlwoW14uXSpcKSQvLlRcMS8nYH0KKworcm0gLWYgIiR0bXBkZXBmaWxlIgorCisjIFNvbWUgbW9kZXMgd29yayBqdXN0IGxpa2Ugb3RoZXIgbW9kZXMsIGJ1dCB1c2UgZGlmZmVyZW50IGZsYWdzLiAgV2UKKyMgcGFyYW1ldGVyaXplIGhlcmUsIGJ1dCBzdGlsbCBsaXN0IHRoZSBtb2RlcyBpbiB0aGUgYmlnIGNhc2UgYmVsb3csCisjIHRvIG1ha2UgZGVwZW5kLm00IGVhc2llciB0byB3cml0ZS4gIE5vdGUgdGhhdCB3ZSAqY2Fubm90KiB1c2UgYSBjYXNlCisjIGhlcmUsIGJlY2F1c2UgdGhpcyBmaWxlIGNhbiBvbmx5IGNvbnRhaW4gb25lIGNhc2Ugc3RhdGVtZW50LgoraWYgdGVzdCAiJGRlcG1vZGUiID0gaHA7IHRoZW4KKyAgIyBIUCBjb21waWxlciB1c2VzIC1NIGFuZCBubyBleHRyYSBhcmcuCisgIGdjY2ZsYWc9LU0KKyAgZGVwbW9kZT1nY2MKK2ZpCisKK2lmIHRlc3QgIiRkZXBtb2RlIiA9IGRhc2hYbXN0ZG91dDsgdGhlbgorICAgIyBUaGlzIGlzIGp1c3QgbGlrZSBkYXNobXN0ZG91dCB3aXRoIGEgZGlmZmVyZW50IGFyZ3VtZW50LgorICAgZGFzaG1mbGFnPS14TQorICAgZGVwbW9kZT1kYXNobXN0ZG91dAorZmkKKworY3lncGF0aF91PSJjeWdwYXRoIC11IC1mIC0iCitpZiB0ZXN0ICIkZGVwbW9kZSIgPSBtc3ZjbXN5czsgdGhlbgorICAgIyBUaGlzIGlzIGp1c3QgbGlrZSBtc3Zpc3VhbGNwcCBidXQgdy9vIGN5Z3BhdGggdHJhbnNsYXRpb24uCisgICAjIEp1c3QgY29udmVydCB0aGUgYmFja3NsYXNoLWVzY2FwZWQgYmFja3NsYXNoZXMgdG8gc2luZ2xlIGZvcndhcmQKKyAgICMgc2xhc2hlcyB0byBzYXRpc2Z5IGRlcGVuZC5tNAorICAgY3lncGF0aF91PSJzZWQgcyxcXFxcXFxcXCwvLGciCisgICBkZXBtb2RlPW1zdmlzdWFsY3BwCitmaQorCitjYXNlICIkZGVwbW9kZSIgaW4KK2djYzMpCisjIyBnY2MgMyBpbXBsZW1lbnRzIGRlcGVuZGVuY3kgdHJhY2tpbmcgdGhhdCBkb2VzIGV4YWN0bHkgd2hhdAorIyMgd2Ugd2FudC4gIFlheSEgIE5vdGU6IGZvciBzb21lIHJlYXNvbiBsaWJ0b29sIDEuNCBkb2Vzbid0IGxpa2UKKyMjIGl0IGlmIC1NRCAtTVAgY29tZXMgYWZ0ZXIgdGhlIC1NRiBzdHVmZi4gIEhtbS4KKyMjIFVuZm9ydHVuYXRlbHksIEZyZWVCU0QgYzg5IGFjY2VwdGFuY2Ugb2YgZmxhZ3MgZGVwZW5kcyB1cG9uCisjIyB0aGUgY29tbWFuZCBsaW5lIGFyZ3VtZW50IG9yZGVyOyBzbyBhZGQgdGhlIGZsYWdzIHdoZXJlIHRoZXkKKyMjIGFwcGVhciBpbiBkZXBlbmQyLmFtLiAgTm90ZSB0aGF0IHRoZSBzbG93ZG93biBpbmN1cnJlZCBoZXJlCisjIyBhZmZlY3RzIG9ubHkgY29uZmlndXJlOiBpbiBtYWtlZmlsZXMsICVGQVNUREVQJSBzaG9ydGN1dHMgdGhpcy4KKyAgZm9yIGFyZworICBkbworICAgIGNhc2UgJGFyZyBpbgorICAgIC1jKSBzZXQgZm5vcmQgIiRAIiAtTVQgIiRvYmplY3QiIC1NRCAtTVAgLU1GICIkdG1wZGVwZmlsZSIgIiRhcmciIDs7CisgICAgKikgIHNldCBmbm9yZCAiJEAiICIkYXJnIiA7OworICAgIGVzYWMKKyAgICBzaGlmdCAjIGZub3JkCisgICAgc2hpZnQgIyAkYXJnCisgIGRvbmUKKyAgIiRAIgorICBzdGF0PSQ/CisgIGlmIHRlc3QgJHN0YXQgLWVxIDA7IHRoZW4gOgorICBlbHNlCisgICAgcm0gLWYgIiR0bXBkZXBmaWxlIgorICAgIGV4aXQgJHN0YXQKKyAgZmkKKyAgbXYgIiR0bXBkZXBmaWxlIiAiJGRlcGZpbGUiCisgIDs7CisKK2djYykKKyMjIFRoZXJlIGFyZSB2YXJpb3VzIHdheXMgdG8gZ2V0IGRlcGVuZGVuY3kgb3V0cHV0IGZyb20gZ2NjLiAgSGVyZSdzCisjIyB3aHkgd2UgcGljayB0aGlzIHJhdGhlciBvYnNjdXJlIG1ldGhvZDoKKyMjIC0gRG9uJ3Qgd2FudCB0byB1c2UgLU1EIGJlY2F1c2Ugd2UnZCBsaWtlIHRoZSBkZXBlbmRlbmNpZXMgdG8gZW5kCisjIyAgIHVwIGluIGEgc3ViZGlyLiAgSGF2aW5nIHRvIHJlbmFtZSBieSBoYW5kIGlzIHVnbHkuCisjIyAgIChXZSBtaWdodCBlbmQgdXAgZG9pbmcgdGhpcyBhbnl3YXkgdG8gc3VwcG9ydCBvdGhlciBjb21waWxlcnMuKQorIyMgLSBUaGUgREVQRU5ERU5DSUVTX09VVFBVVCBlbnZpcm9ubWVudCB2YXJpYWJsZSBtYWtlcyBnY2MgYWN0IGxpa2UKKyMjICAgLU1NLCBub3QgLU0gKGRlc3BpdGUgd2hhdCB0aGUgZG9jcyBzYXkpLgorIyMgLSBVc2luZyAtTSBkaXJlY3RseSBtZWFucyBydW5uaW5nIHRoZSBjb21waWxlciB0d2ljZSAoZXZlbiB3b3JzZQorIyMgICB0aGFuIHJlbmFtaW5nKS4KKyAgaWYgdGVzdCAteiAiJGdjY2ZsYWciOyB0aGVuCisgICAgZ2NjZmxhZz0tTUQsCisgIGZpCisgICIkQCIgLVdwLCIkZ2NjZmxhZyR0bXBkZXBmaWxlIgorICBzdGF0PSQ/CisgIGlmIHRlc3QgJHN0YXQgLWVxIDA7IHRoZW4gOgorICBlbHNlCisgICAgcm0gLWYgIiR0bXBkZXBmaWxlIgorICAgIGV4aXQgJHN0YXQKKyAgZmkKKyAgcm0gLWYgIiRkZXBmaWxlIgorICBlY2hvICIkb2JqZWN0IDogXFwiID4gIiRkZXBmaWxlIgorICBhbHBoYT1BQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6CisjIyBUaGUgc2Vjb25kIC1lIGV4cHJlc3Npb24gaGFuZGxlcyBET1Mtc3R5bGUgZmlsZSBuYW1lcyB3aXRoIGRyaXZlIGxldHRlcnMuCisgIHNlZCAtZSAncy9eW146XSo6IC8gLycgXAorICAgICAgLWUgJ3MvXlsnJGFscGhhJ106XC9bXjpdKjogLyAvJyA8ICIkdG1wZGVwZmlsZSIgPj4gIiRkZXBmaWxlIgorIyMgVGhpcyBuZXh0IHBpZWNlIG9mIG1hZ2ljIGF2b2lkcyB0aGUgYGRlbGV0ZWQgaGVhZGVyIGZpbGUnIHByb2JsZW0uCisjIyBUaGUgcHJvYmxlbSBpcyB0aGF0IHdoZW4gYSBoZWFkZXIgZmlsZSB3aGljaCBhcHBlYXJzIGluIGEgLlAgZmlsZQorIyMgaXMgZGVsZXRlZCwgdGhlIGRlcGVuZGVuY3kgY2F1c2VzIG1ha2UgdG8gZGllIChiZWNhdXNlIHRoZXJlIGlzCisjIyB0eXBpY2FsbHkgbm8gd2F5IHRvIHJlYnVpbGQgdGhlIGhlYWRlcikuICBXZSBhdm9pZCB0aGlzIGJ5IGFkZGluZworIyMgZHVtbXkgZGVwZW5kZW5jaWVzIGZvciBlYWNoIGhlYWRlciBmaWxlLiAgVG9vIGJhZCBnY2MgZG9lc24ndCBkbworIyMgdGhpcyBmb3IgdXMgZGlyZWN0bHkuCisgIHRyICcgJyAnCisnIDwgIiR0bXBkZXBmaWxlIiB8CisjIyBTb21lIHZlcnNpb25zIG9mIGdjYyBwdXQgYSBzcGFjZSBiZWZvcmUgdGhlIGA6Jy4gIE9uIHRoZSB0aGVvcnkKKyMjIHRoYXQgdGhlIHNwYWNlIG1lYW5zIHNvbWV0aGluZywgd2UgYWRkIGEgc3BhY2UgdG8gdGhlIG91dHB1dCBhcworIyMgd2VsbC4KKyMjIFNvbWUgdmVyc2lvbnMgb2YgdGhlIEhQVVggMTAuMjAgc2VkIGNhbid0IHByb2Nlc3MgdGhpcyBpbnZvY2F0aW9uCisjIyBjb3JyZWN0bHkuICBCcmVha2luZyBpdCBpbnRvIHR3byBzZWQgaW52b2NhdGlvbnMgaXMgYSB3b3JrYXJvdW5kLgorICAgIHNlZCAtZSAncy9eXFwkLy8nIC1lICcvXiQvZCcgLWUgJy86JC9kJyB8IHNlZCAtZSAncy8kLyA6LycgPj4gIiRkZXBmaWxlIgorICBybSAtZiAiJHRtcGRlcGZpbGUiCisgIDs7CisKK2hwKQorICAjIFRoaXMgY2FzZSBleGlzdHMgb25seSB0byBsZXQgZGVwZW5kLm00IGRvIGl0cyB3b3JrLiAgSXQgd29ya3MgYnkKKyAgIyBsb29raW5nIGF0IHRoZSB0ZXh0IG9mIHRoaXMgc2NyaXB0LiAgVGhpcyBjYXNlIHdpbGwgbmV2ZXIgYmUgcnVuLAorICAjIHNpbmNlIGl0IGlzIGNoZWNrZWQgZm9yIGFib3ZlLgorICBleGl0IDEKKyAgOzsKKworc2dpKQorICBpZiB0ZXN0ICIkbGlidG9vbCIgPSB5ZXM7IHRoZW4KKyAgICAiJEAiICItV3AsLU1EdXBkYXRlLCR0bXBkZXBmaWxlIgorICBlbHNlCisgICAgIiRAIiAtTUR1cGRhdGUgIiR0bXBkZXBmaWxlIgorICBmaQorICBzdGF0PSQ/CisgIGlmIHRlc3QgJHN0YXQgLWVxIDA7IHRoZW4gOgorICBlbHNlCisgICAgcm0gLWYgIiR0bXBkZXBmaWxlIgorICAgIGV4aXQgJHN0YXQKKyAgZmkKKyAgcm0gLWYgIiRkZXBmaWxlIgorCisgIGlmIHRlc3QgLWYgIiR0bXBkZXBmaWxlIjsgdGhlbiAgIyB5ZXMsIHRoZSBzb3VyY2VmaWxlIGRlcGVuZCBvbiBvdGhlciBmaWxlcworICAgIGVjaG8gIiRvYmplY3QgOiBcXCIgPiAiJGRlcGZpbGUiCisKKyAgICAjIENsaXAgb2ZmIHRoZSBpbml0aWFsIGVsZW1lbnQgKHRoZSBkZXBlbmRlbnQpLiAgRG9uJ3QgdHJ5IHRvIGJlCisgICAgIyBjbGV2ZXIgYW5kIHJlcGxhY2UgdGhpcyB3aXRoIHNlZCBjb2RlLCBhcyBJUklYIHNlZCB3b24ndCBoYW5kbGUKKyAgICAjIGxpbmVzIHdpdGggbW9yZSB0aGFuIGEgZml4ZWQgbnVtYmVyIG9mIGNoYXJhY3RlcnMgKDQwOTYgaW4KKyAgICAjIElSSVggNi4yIHNlZCwgODE5MiBpbiBJUklYIDYuNSkuICBXZSBhbHNvIHJlbW92ZSBjb21tZW50IGxpbmVzOworICAgICMgdGhlIElSSVggY2MgYWRkcyBjb21tZW50cyBsaWtlIGAjOmZlYycgdG8gdGhlIGVuZCBvZiB0aGUKKyAgICAjIGRlcGVuZGVuY3kgbGluZS4KKyAgICB0ciAnICcgJworJyA8ICIkdG1wZGVwZmlsZSIgXAorICAgIHwgc2VkIC1lICdzL14uKlwubzovLycgLWUgJ3MvIy4qJC8vJyAtZSAnL14kLyBkJyB8IFwKKyAgICB0ciAnCisnICcgJyA+PiAiJGRlcGZpbGUiCisgICAgZWNobyA+PiAiJGRlcGZpbGUiCisKKyAgICAjIFRoZSBzZWNvbmQgcGFzcyBnZW5lcmF0ZXMgYSBkdW1teSBlbnRyeSBmb3IgZWFjaCBoZWFkZXIgZmlsZS4KKyAgICB0ciAnICcgJworJyA8ICIkdG1wZGVwZmlsZSIgXAorICAgfCBzZWQgLWUgJ3MvXi4qXC5vOi8vJyAtZSAncy8jLiokLy8nIC1lICcvXiQvIGQnIC1lICdzLyQvOi8nIFwKKyAgID4+ICIkZGVwZmlsZSIKKyAgZWxzZQorICAgICMgVGhlIHNvdXJjZWZpbGUgZG9lcyBub3QgY29udGFpbiBhbnkgZGVwZW5kZW5jaWVzLCBzbyBqdXN0CisgICAgIyBzdG9yZSBhIGR1bW15IGNvbW1lbnQgbGluZSwgdG8gYXZvaWQgZXJyb3JzIHdpdGggdGhlIE1ha2VmaWxlCisgICAgIyAiaW5jbHVkZSBiYXNlbmFtZS5QbG8iIHNjaGVtZS4KKyAgICBlY2hvICIjZHVtbXkiID4gIiRkZXBmaWxlIgorICBmaQorICBybSAtZiAiJHRtcGRlcGZpbGUiCisgIDs7CisKK2FpeCkKKyAgIyBUaGUgQyBmb3IgQUlYIENvbXBpbGVyIHVzZXMgLU0gYW5kIG91dHB1dHMgdGhlIGRlcGVuZGVuY2llcworICAjIGluIGEgLnUgZmlsZS4gIEluIG9sZGVyIHZlcnNpb25zLCB0aGlzIGZpbGUgYWx3YXlzIGxpdmVzIGluIHRoZQorICAjIGN1cnJlbnQgZGlyZWN0b3J5LiAgQWxzbywgdGhlIEFJWCBjb21waWxlciBwdXRzIGAkb2JqZWN0OicgYXQgdGhlCisgICMgc3RhcnQgb2YgZWFjaCBsaW5lOyAkb2JqZWN0IGRvZXNuJ3QgaGF2ZSBkaXJlY3RvcnkgaW5mb3JtYXRpb24uCisgICMgVmVyc2lvbiA2IHVzZXMgdGhlIGRpcmVjdG9yeSBpbiBib3RoIGNhc2VzLgorICBkaXI9YGVjaG8gIiRvYmplY3QiIHwgc2VkIC1lICdzfC9bXi9dKiR8L3wnYAorICB0ZXN0ICJ4JGRpciIgPSAieCRvYmplY3QiICYmIGRpcj0KKyAgYmFzZT1gZWNobyAiJG9iamVjdCIgfCBzZWQgLWUgJ3N8Xi4qL3x8JyAtZSAncy9cLm8kLy8nIC1lICdzL1wubG8kLy8nYAorICBpZiB0ZXN0ICIkbGlidG9vbCIgPSB5ZXM7IHRoZW4KKyAgICB0bXBkZXBmaWxlMT0kZGlyJGJhc2UudQorICAgIHRtcGRlcGZpbGUyPSRiYXNlLnUKKyAgICB0bXBkZXBmaWxlMz0kZGlyLmxpYnMvJGJhc2UudQorICAgICIkQCIgLVdjLC1NCisgIGVsc2UKKyAgICB0bXBkZXBmaWxlMT0kZGlyJGJhc2UudQorICAgIHRtcGRlcGZpbGUyPSRkaXIkYmFzZS51CisgICAgdG1wZGVwZmlsZTM9JGRpciRiYXNlLnUKKyAgICAiJEAiIC1NCisgIGZpCisgIHN0YXQ9JD8KKworICBpZiB0ZXN0ICRzdGF0IC1lcSAwOyB0aGVuIDoKKyAgZWxzZQorICAgIHJtIC1mICIkdG1wZGVwZmlsZTEiICIkdG1wZGVwZmlsZTIiICIkdG1wZGVwZmlsZTMiCisgICAgZXhpdCAkc3RhdAorICBmaQorCisgIGZvciB0bXBkZXBmaWxlIGluICIkdG1wZGVwZmlsZTEiICIkdG1wZGVwZmlsZTIiICIkdG1wZGVwZmlsZTMiCisgIGRvCisgICAgdGVzdCAtZiAiJHRtcGRlcGZpbGUiICYmIGJyZWFrCisgIGRvbmUKKyAgaWYgdGVzdCAtZiAiJHRtcGRlcGZpbGUiOyB0aGVuCisgICAgIyBFYWNoIGxpbmUgaXMgb2YgdGhlIGZvcm0gYGZvby5vOiBkZXBlbmRlbnQuaCcuCisgICAgIyBEbyB0d28gcGFzc2VzLCBvbmUgdG8ganVzdCBjaGFuZ2UgdGhlc2UgdG8KKyAgICAjIGAkb2JqZWN0OiBkZXBlbmRlbnQuaCcgYW5kIG9uZSB0byBzaW1wbHkgYGRlcGVuZGVudC5oOicuCisgICAgc2VkIC1lICJzLF4uKlwuW2Etel0qOiwkb2JqZWN0OiwiIDwgIiR0bXBkZXBmaWxlIiA+ICIkZGVwZmlsZSIKKyAgICAjIFRoYXQncyBhIHRhYiBhbmQgYSBzcGFjZSBpbiB0aGUgW10uCisgICAgc2VkIC1lICdzLF4uKlwuW2Etel0qOlsJIF0qLCwnIC1lICdzLCQsOiwnIDwgIiR0bXBkZXBmaWxlIiA+PiAiJGRlcGZpbGUiCisgIGVsc2UKKyAgICAjIFRoZSBzb3VyY2VmaWxlIGRvZXMgbm90IGNvbnRhaW4gYW55IGRlcGVuZGVuY2llcywgc28ganVzdAorICAgICMgc3RvcmUgYSBkdW1teSBjb21tZW50IGxpbmUsIHRvIGF2b2lkIGVycm9ycyB3aXRoIHRoZSBNYWtlZmlsZQorICAgICMgImluY2x1ZGUgYmFzZW5hbWUuUGxvIiBzY2hlbWUuCisgICAgZWNobyAiI2R1bW15IiA+ICIkZGVwZmlsZSIKKyAgZmkKKyAgcm0gLWYgIiR0bXBkZXBmaWxlIgorICA7OworCitpY2MpCisgICMgSW50ZWwncyBDIGNvbXBpbGVyIHVuZGVyc3RhbmRzIGAtTUQgLU1GIGZpbGUnLiAgSG93ZXZlciBvbgorICAjICAgIGljYyAtTUQgLU1GIGZvby5kIC1jIC1vIHN1Yi9mb28ubyBzdWIvZm9vLmMKKyAgIyBJQ0MgNy4wIHdpbGwgZmlsbCBmb28uZCB3aXRoIHNvbWV0aGluZyBsaWtlCisgICMgICAgZm9vLm86IHN1Yi9mb28uYworICAjICAgIGZvby5vOiBzdWIvZm9vLmgKKyAgIyB3aGljaCBpcyB3cm9uZy4gIFdlIHdhbnQ6CisgICMgICAgc3ViL2Zvby5vOiBzdWIvZm9vLmMKKyAgIyAgICBzdWIvZm9vLm86IHN1Yi9mb28uaAorICAjICAgIHN1Yi9mb28uYzoKKyAgIyAgICBzdWIvZm9vLmg6CisgICMgSUNDIDcuMSB3aWxsIG91dHB1dAorICAjICAgIGZvby5vOiBzdWIvZm9vLmMgc3ViL2Zvby5oCisgICMgYW5kIHdpbGwgd3JhcCBsb25nIGxpbmVzIHVzaW5nIFwgOgorICAjICAgIGZvby5vOiBzdWIvZm9vLmMgLi4uIFwKKyAgIyAgICAgc3ViL2Zvby5oIC4uLiBcCisgICMgICAgIC4uLgorCisgICIkQCIgLU1EIC1NRiAiJHRtcGRlcGZpbGUiCisgIHN0YXQ9JD8KKyAgaWYgdGVzdCAkc3RhdCAtZXEgMDsgdGhlbiA6CisgIGVsc2UKKyAgICBybSAtZiAiJHRtcGRlcGZpbGUiCisgICAgZXhpdCAkc3RhdAorICBmaQorICBybSAtZiAiJGRlcGZpbGUiCisgICMgRWFjaCBsaW5lIGlzIG9mIHRoZSBmb3JtIGBmb28ubzogZGVwZW5kZW50LmgnLAorICAjIG9yIGBmb28ubzogZGVwMS5oIGRlcDIuaCBcJywgb3IgYCBkZXAzLmggZGVwNC5oIFwnLgorICAjIERvIHR3byBwYXNzZXMsIG9uZSB0byBqdXN0IGNoYW5nZSB0aGVzZSB0bworICAjIGAkb2JqZWN0OiBkZXBlbmRlbnQuaCcgYW5kIG9uZSB0byBzaW1wbHkgYGRlcGVuZGVudC5oOicuCisgIHNlZCAicyxeW146XSo6LCRvYmplY3QgOiwiIDwgIiR0bXBkZXBmaWxlIiA+ICIkZGVwZmlsZSIKKyAgIyBTb21lIHZlcnNpb25zIG9mIHRoZSBIUFVYIDEwLjIwIHNlZCBjYW4ndCBwcm9jZXNzIHRoaXMgaW52b2NhdGlvbgorICAjIGNvcnJlY3RseS4gIEJyZWFraW5nIGl0IGludG8gdHdvIHNlZCBpbnZvY2F0aW9ucyBpcyBhIHdvcmthcm91bmQuCisgIHNlZCAncyxeW146XSo6IFwoLipcKSQsXDEsO3MvXlxcJC8vOy9eJC9kOy86JC9kJyA8ICIkdG1wZGVwZmlsZSIgfAorICAgIHNlZCAtZSAncy8kLyA6LycgPj4gIiRkZXBmaWxlIgorICBybSAtZiAiJHRtcGRlcGZpbGUiCisgIDs7CisKK2hwMikKKyAgIyBUaGUgImhwIiBzdGFuemEgYWJvdmUgZG9lcyBub3Qgd29yayB3aXRoIGFDQyAoQysrKSBhbmQgSFAncyBpYTY0CisgICMgY29tcGlsZXJzLCB3aGljaCBoYXZlIGludGVncmF0ZWQgcHJlcHJvY2Vzc29ycy4gIFRoZSBjb3JyZWN0IG9wdGlvbgorICAjIHRvIHVzZSB3aXRoIHRoZXNlIGlzICtNYWtlZDsgaXQgd3JpdGVzIGRlcGVuZGVuY2llcyB0byBhIGZpbGUgbmFtZWQKKyAgIyAnZm9vLmQnLCB3aGljaCBsYW5kcyBuZXh0IHRvIHRoZSBvYmplY3QgZmlsZSwgd2hlcmV2ZXIgdGhhdAorICAjIGhhcHBlbnMgdG8gYmUuCisgICMgTXVjaCBvZiB0aGlzIGlzIHNpbWlsYXIgdG8gdGhlIHRydTY0IGNhc2U7IHNlZSBjb21tZW50cyB0aGVyZS4KKyAgZGlyPWBlY2hvICIkb2JqZWN0IiB8IHNlZCAtZSAnc3wvW14vXSokfC98J2AKKyAgdGVzdCAieCRkaXIiID0gIngkb2JqZWN0IiAmJiBkaXI9CisgIGJhc2U9YGVjaG8gIiRvYmplY3QiIHwgc2VkIC1lICdzfF4uKi98fCcgLWUgJ3MvXC5vJC8vJyAtZSAncy9cLmxvJC8vJ2AKKyAgaWYgdGVzdCAiJGxpYnRvb2wiID0geWVzOyB0aGVuCisgICAgdG1wZGVwZmlsZTE9JGRpciRiYXNlLmQKKyAgICB0bXBkZXBmaWxlMj0kZGlyLmxpYnMvJGJhc2UuZAorICAgICIkQCIgLVdjLCtNYWtlZAorICBlbHNlCisgICAgdG1wZGVwZmlsZTE9JGRpciRiYXNlLmQKKyAgICB0bXBkZXBmaWxlMj0kZGlyJGJhc2UuZAorICAgICIkQCIgK01ha2VkCisgIGZpCisgIHN0YXQ9JD8KKyAgaWYgdGVzdCAkc3RhdCAtZXEgMDsgdGhlbiA6CisgIGVsc2UKKyAgICAgcm0gLWYgIiR0bXBkZXBmaWxlMSIgIiR0bXBkZXBmaWxlMiIKKyAgICAgZXhpdCAkc3RhdAorICBmaQorCisgIGZvciB0bXBkZXBmaWxlIGluICIkdG1wZGVwZmlsZTEiICIkdG1wZGVwZmlsZTIiCisgIGRvCisgICAgdGVzdCAtZiAiJHRtcGRlcGZpbGUiICYmIGJyZWFrCisgIGRvbmUKKyAgaWYgdGVzdCAtZiAiJHRtcGRlcGZpbGUiOyB0aGVuCisgICAgc2VkIC1lICJzLF4uKlwuW2Etel0qOiwkb2JqZWN0OiwiICIkdG1wZGVwZmlsZSIgPiAiJGRlcGZpbGUiCisgICAgIyBBZGQgYGRlcGVuZGVudC5oOicgbGluZXMuCisgICAgc2VkIC1uZSAnMiwkeworCSAgICAgICBzL14gKi8vCisJICAgICAgIHMvIFxcKiQvLworCSAgICAgICBzLyQvOi8KKwkgICAgICAgcAorCSAgICAgfScgIiR0bXBkZXBmaWxlIiA+PiAiJGRlcGZpbGUiCisgIGVsc2UKKyAgICBlY2hvICIjZHVtbXkiID4gIiRkZXBmaWxlIgorICBmaQorICBybSAtZiAiJHRtcGRlcGZpbGUiICIkdG1wZGVwZmlsZTIiCisgIDs7CisKK3RydTY0KQorICAgIyBUaGUgVHJ1NjQgY29tcGlsZXIgdXNlcyAtTUQgdG8gZ2VuZXJhdGUgZGVwZW5kZW5jaWVzIGFzIGEgc2lkZQorICAgIyBlZmZlY3QuICBgY2MgLU1EIC1vIGZvby5vIC4uLicgcHV0cyB0aGUgZGVwZW5kZW5jaWVzIGludG8gYGZvby5vLmQnLgorICAgIyBBdCBsZWFzdCBvbiBBbHBoYS9SZWRoYXQgNi4xLCBDb21wYXEgQ0NDIFY2LjItNTA0IHNlZW1zIHRvIHB1dAorICAgIyBkZXBlbmRlbmNpZXMgaW4gYGZvby5kJyBpbnN0ZWFkLCBzbyB3ZSBjaGVjayBmb3IgdGhhdCB0b28uCisgICAjIFN1YmRpcmVjdG9yaWVzIGFyZSByZXNwZWN0ZWQuCisgICBkaXI9YGVjaG8gIiRvYmplY3QiIHwgc2VkIC1lICdzfC9bXi9dKiR8L3wnYAorICAgdGVzdCAieCRkaXIiID0gIngkb2JqZWN0IiAmJiBkaXI9CisgICBiYXNlPWBlY2hvICIkb2JqZWN0IiB8IHNlZCAtZSAnc3xeLiovfHwnIC1lICdzL1wubyQvLycgLWUgJ3MvXC5sbyQvLydgCisKKyAgIGlmIHRlc3QgIiRsaWJ0b29sIiA9IHllczsgdGhlbgorICAgICAgIyBXaXRoIFRydTY0IGNjLCBzaGFyZWQgb2JqZWN0cyBjYW4gYWxzbyBiZSB1c2VkIHRvIG1ha2UgYQorICAgICAgIyBzdGF0aWMgbGlicmFyeS4gIFRoaXMgbWVjaGFuaXNtIGlzIHVzZWQgaW4gbGlidG9vbCAxLjQgc2VyaWVzIHRvCisgICAgICAjIGhhbmRsZSBib3RoIHNoYXJlZCBhbmQgc3RhdGljIGxpYnJhcmllcyBpbiBhIHNpbmdsZSBjb21waWxhdGlvbi4KKyAgICAgICMgV2l0aCBsaWJ0b29sIDEuNCwgZGVwZW5kZW5jaWVzIHdlcmUgb3V0cHV0IGluICRkaXIubGlicy8kYmFzZS5sby5kLgorICAgICAgIworICAgICAgIyBXaXRoIGxpYnRvb2wgMS41IHRoaXMgZXhjZXB0aW9uIHdhcyByZW1vdmVkLCBhbmQgbGlidG9vbCBub3cKKyAgICAgICMgZ2VuZXJhdGVzIDIgc2VwYXJhdGUgb2JqZWN0cyBmb3IgdGhlIDIgbGlicmFyaWVzLiAgVGhlc2UgdHdvCisgICAgICAjIGNvbXBpbGF0aW9ucyBvdXRwdXQgZGVwZW5kZW5jaWVzIGluICRkaXIubGlicy8kYmFzZS5vLmQgYW5kCisgICAgICAjIGluICRkaXIkYmFzZS5vLmQuICBXZSBoYXZlIHRvIGNoZWNrIGZvciBib3RoIGZpbGVzLCBiZWNhdXNlCisgICAgICAjIG9uZSBvZiB0aGUgdHdvIGNvbXBpbGF0aW9ucyBjYW4gYmUgZGlzYWJsZWQuICBXZSBzaG91bGQgcHJlZmVyCisgICAgICAjICRkaXIkYmFzZS5vLmQgb3ZlciAkZGlyLmxpYnMvJGJhc2Uuby5kIGJlY2F1c2UgdGhlIGxhdHRlciBpcworICAgICAgIyBhdXRvbWF0aWNhbGx5IGNsZWFuZWQgd2hlbiAubGlicy8gaXMgZGVsZXRlZCwgd2hpbGUgaWdub3JpbmcKKyAgICAgICMgdGhlIGZvcm1lciB3b3VsZCBjYXVzZSBhIGRpc3RjbGVhbmNoZWNrIHBhbmljLgorICAgICAgdG1wZGVwZmlsZTE9JGRpci5saWJzLyRiYXNlLmxvLmQgICAjIGxpYnRvb2wgMS40CisgICAgICB0bXBkZXBmaWxlMj0kZGlyJGJhc2Uuby5kICAgICAgICAgICMgbGlidG9vbCAxLjUKKyAgICAgIHRtcGRlcGZpbGUzPSRkaXIubGlicy8kYmFzZS5vLmQgICAgIyBsaWJ0b29sIDEuNQorICAgICAgdG1wZGVwZmlsZTQ9JGRpci5saWJzLyRiYXNlLmQgICAgICAjIENvbXBhcSBDQ0MgVjYuMi01MDQKKyAgICAgICIkQCIgLVdjLC1NRAorICAgZWxzZQorICAgICAgdG1wZGVwZmlsZTE9JGRpciRiYXNlLm8uZAorICAgICAgdG1wZGVwZmlsZTI9JGRpciRiYXNlLmQKKyAgICAgIHRtcGRlcGZpbGUzPSRkaXIkYmFzZS5kCisgICAgICB0bXBkZXBmaWxlND0kZGlyJGJhc2UuZAorICAgICAgIiRAIiAtTUQKKyAgIGZpCisKKyAgIHN0YXQ9JD8KKyAgIGlmIHRlc3QgJHN0YXQgLWVxIDA7IHRoZW4gOgorICAgZWxzZQorICAgICAgcm0gLWYgIiR0bXBkZXBmaWxlMSIgIiR0bXBkZXBmaWxlMiIgIiR0bXBkZXBmaWxlMyIgIiR0bXBkZXBmaWxlNCIKKyAgICAgIGV4aXQgJHN0YXQKKyAgIGZpCisKKyAgIGZvciB0bXBkZXBmaWxlIGluICIkdG1wZGVwZmlsZTEiICIkdG1wZGVwZmlsZTIiICIkdG1wZGVwZmlsZTMiICIkdG1wZGVwZmlsZTQiCisgICBkbworICAgICB0ZXN0IC1mICIkdG1wZGVwZmlsZSIgJiYgYnJlYWsKKyAgIGRvbmUKKyAgIGlmIHRlc3QgLWYgIiR0bXBkZXBmaWxlIjsgdGhlbgorICAgICAgc2VkIC1lICJzLF4uKlwuW2Etel0qOiwkb2JqZWN0OiwiIDwgIiR0bXBkZXBmaWxlIiA+ICIkZGVwZmlsZSIKKyAgICAgICMgVGhhdCdzIGEgdGFiIGFuZCBhIHNwYWNlIGluIHRoZSBbXS4KKyAgICAgIHNlZCAtZSAncyxeLipcLlthLXpdKjpbCSBdKiwsJyAtZSAncywkLDosJyA8ICIkdG1wZGVwZmlsZSIgPj4gIiRkZXBmaWxlIgorICAgZWxzZQorICAgICAgZWNobyAiI2R1bW15IiA+ICIkZGVwZmlsZSIKKyAgIGZpCisgICBybSAtZiAiJHRtcGRlcGZpbGUiCisgICA7OworCisjbm9zaWRlZWZmZWN0KQorICAjIFRoaXMgY29tbWVudCBhYm92ZSBpcyB1c2VkIGJ5IGF1dG9tYWtlIHRvIHRlbGwgc2lkZS1lZmZlY3QKKyAgIyBkZXBlbmRlbmN5IHRyYWNraW5nIG1lY2hhbmlzbXMgZnJvbSBzbG93ZXIgb25lcy4KKworZGFzaG1zdGRvdXQpCisgICMgSW1wb3J0YW50IG5vdGU6IGluIG9yZGVyIHRvIHN1cHBvcnQgdGhpcyBtb2RlLCBhIGNvbXBpbGVyICptdXN0KgorICAjIGFsd2F5cyB3cml0ZSB0aGUgcHJlcHJvY2Vzc2VkIGZpbGUgdG8gc3Rkb3V0LCByZWdhcmRsZXNzIG9mIC1vLgorICAiJEAiIHx8IGV4aXQgJD8KKworICAjIFJlbW92ZSB0aGUgY2FsbCB0byBMaWJ0b29sLgorICBpZiB0ZXN0ICIkbGlidG9vbCIgPSB5ZXM7IHRoZW4KKyAgICB3aGlsZSB0ZXN0ICJYJDEiICE9ICdYLS1tb2RlPWNvbXBpbGUnOyBkbworICAgICAgc2hpZnQKKyAgICBkb25lCisgICAgc2hpZnQKKyAgZmkKKworICAjIFJlbW92ZSBgLW8gJG9iamVjdCcuCisgIElGUz0iICIKKyAgZm9yIGFyZworICBkbworICAgIGNhc2UgJGFyZyBpbgorICAgIC1vKQorICAgICAgc2hpZnQKKyAgICAgIDs7CisgICAgJG9iamVjdCkKKyAgICAgIHNoaWZ0CisgICAgICA7OworICAgICopCisgICAgICBzZXQgZm5vcmQgIiRAIiAiJGFyZyIKKyAgICAgIHNoaWZ0ICMgZm5vcmQKKyAgICAgIHNoaWZ0ICMgJGFyZworICAgICAgOzsKKyAgICBlc2FjCisgIGRvbmUKKworICB0ZXN0IC16ICIkZGFzaG1mbGFnIiAmJiBkYXNobWZsYWc9LU0KKyAgIyBSZXF1aXJlIGF0IGxlYXN0IHR3byBjaGFyYWN0ZXJzIGJlZm9yZSBzZWFyY2hpbmcgZm9yIGA6JworICAjIGluIHRoZSB0YXJnZXQgbmFtZS4gIFRoaXMgaXMgdG8gY29wZSB3aXRoIERPUy1zdHlsZSBmaWxlbmFtZXM6CisgICMgYSBkZXBlbmRlbmN5IHN1Y2ggYXMgYGM6L2Zvby9iYXInIGNvdWxkIGJlIHNlZW4gYXMgdGFyZ2V0IGBjJyBvdGhlcndpc2UuCisgICIkQCIgJGRhc2htZmxhZyB8CisgICAgc2VkICdzOl5bICBdKlteOiBdW146XVteOl0qXDpbICAgIF0qOiciJG9iamVjdCInXDogOicgPiAiJHRtcGRlcGZpbGUiCisgIHJtIC1mICIkZGVwZmlsZSIKKyAgY2F0IDwgIiR0bXBkZXBmaWxlIiA+ICIkZGVwZmlsZSIKKyAgdHIgJyAnICcKKycgPCAiJHRtcGRlcGZpbGUiIHwgXAorIyMgU29tZSB2ZXJzaW9ucyBvZiB0aGUgSFBVWCAxMC4yMCBzZWQgY2FuJ3QgcHJvY2VzcyB0aGlzIGludm9jYXRpb24KKyMjIGNvcnJlY3RseS4gIEJyZWFraW5nIGl0IGludG8gdHdvIHNlZCBpbnZvY2F0aW9ucyBpcyBhIHdvcmthcm91bmQuCisgICAgc2VkIC1lICdzL15cXCQvLycgLWUgJy9eJC9kJyAtZSAnLzokL2QnIHwgc2VkIC1lICdzLyQvIDovJyA+PiAiJGRlcGZpbGUiCisgIHJtIC1mICIkdG1wZGVwZmlsZSIKKyAgOzsKKworZGFzaFhtc3Rkb3V0KQorICAjIFRoaXMgY2FzZSBvbmx5IGV4aXN0cyB0byBzYXRpc2Z5IGRlcGVuZC5tNC4gIEl0IGlzIG5ldmVyIGFjdHVhbGx5CisgICMgcnVuLCBhcyB0aGlzIG1vZGUgaXMgc3BlY2lhbGx5IHJlY29nbml6ZWQgaW4gdGhlIHByZWFtYmxlLgorICBleGl0IDEKKyAgOzsKKworbWFrZWRlcGVuZCkKKyAgIiRAIiB8fCBleGl0ICQ/CisgICMgUmVtb3ZlIGFueSBMaWJ0b29sIGNhbGwKKyAgaWYgdGVzdCAiJGxpYnRvb2wiID0geWVzOyB0aGVuCisgICAgd2hpbGUgdGVzdCAiWCQxIiAhPSAnWC0tbW9kZT1jb21waWxlJzsgZG8KKyAgICAgIHNoaWZ0CisgICAgZG9uZQorICAgIHNoaWZ0CisgIGZpCisgICMgWCBtYWtlZGVwZW5kCisgIHNoaWZ0CisgIGNsZWFyZWQ9bm8gZWF0PW5vCisgIGZvciBhcmcKKyAgZG8KKyAgICBjYXNlICRjbGVhcmVkIGluCisgICAgbm8pCisgICAgICBzZXQgIiI7IHNoaWZ0CisgICAgICBjbGVhcmVkPXllcyA7OworICAgIGVzYWMKKyAgICBpZiB0ZXN0ICRlYXQgPSB5ZXM7IHRoZW4KKyAgICAgIGVhdD1ubworICAgICAgY29udGludWUKKyAgICBmaQorICAgIGNhc2UgIiRhcmciIGluCisgICAgLUQqfC1JKikKKyAgICAgIHNldCBmbm9yZCAiJEAiICIkYXJnIjsgc2hpZnQgOzsKKyAgICAjIFN0cmlwIGFueSBvcHRpb24gdGhhdCBtYWtlZGVwZW5kIG1heSBub3QgdW5kZXJzdGFuZC4gIFJlbW92ZQorICAgICMgdGhlIG9iamVjdCB0b28sIG90aGVyd2lzZSBtYWtlZGVwZW5kIHdpbGwgcGFyc2UgaXQgYXMgYSBzb3VyY2UgZmlsZS4KKyAgICAtYXJjaCkKKyAgICAgIGVhdD15ZXMgOzsKKyAgICAtKnwkb2JqZWN0KQorICAgICAgOzsKKyAgICAqKQorICAgICAgc2V0IGZub3JkICIkQCIgIiRhcmciOyBzaGlmdCA7OworICAgIGVzYWMKKyAgZG9uZQorICBvYmpfc3VmZml4PWBlY2hvICIkb2JqZWN0IiB8IHNlZCAncy9eLipcLi8uLydgCisgIHRvdWNoICIkdG1wZGVwZmlsZSIKKyAgJHtNQUtFREVQRU5ELW1ha2VkZXBlbmR9IC1vIiRvYmpfc3VmZml4IiAtZiIkdG1wZGVwZmlsZSIgIiRAIgorICBybSAtZiAiJGRlcGZpbGUiCisgIGNhdCA8ICIkdG1wZGVwZmlsZSIgPiAiJGRlcGZpbGUiCisgIHNlZCAnMSwyZCcgIiR0bXBkZXBmaWxlIiB8IHRyICcgJyAnCisnIHwgXAorIyMgU29tZSB2ZXJzaW9ucyBvZiB0aGUgSFBVWCAxMC4yMCBzZWQgY2FuJ3QgcHJvY2VzcyB0aGlzIGludm9jYXRpb24KKyMjIGNvcnJlY3RseS4gIEJyZWFraW5nIGl0IGludG8gdHdvIHNlZCBpbnZvY2F0aW9ucyBpcyBhIHdvcmthcm91bmQuCisgICAgc2VkIC1lICdzL15cXCQvLycgLWUgJy9eJC9kJyAtZSAnLzokL2QnIHwgc2VkIC1lICdzLyQvIDovJyA+PiAiJGRlcGZpbGUiCisgIHJtIC1mICIkdG1wZGVwZmlsZSIgIiR0bXBkZXBmaWxlIi5iYWsKKyAgOzsKKworY3BwKQorICAjIEltcG9ydGFudCBub3RlOiBpbiBvcmRlciB0byBzdXBwb3J0IHRoaXMgbW9kZSwgYSBjb21waWxlciAqbXVzdCoKKyAgIyBhbHdheXMgd3JpdGUgdGhlIHByZXByb2Nlc3NlZCBmaWxlIHRvIHN0ZG91dC4KKyAgIiRAIiB8fCBleGl0ICQ/CisKKyAgIyBSZW1vdmUgdGhlIGNhbGwgdG8gTGlidG9vbC4KKyAgaWYgdGVzdCAiJGxpYnRvb2wiID0geWVzOyB0aGVuCisgICAgd2hpbGUgdGVzdCAiWCQxIiAhPSAnWC0tbW9kZT1jb21waWxlJzsgZG8KKyAgICAgIHNoaWZ0CisgICAgZG9uZQorICAgIHNoaWZ0CisgIGZpCisKKyAgIyBSZW1vdmUgYC1vICRvYmplY3QnLgorICBJRlM9IiAiCisgIGZvciBhcmcKKyAgZG8KKyAgICBjYXNlICRhcmcgaW4KKyAgICAtbykKKyAgICAgIHNoaWZ0CisgICAgICA7OworICAgICRvYmplY3QpCisgICAgICBzaGlmdAorICAgICAgOzsKKyAgICAqKQorICAgICAgc2V0IGZub3JkICIkQCIgIiRhcmciCisgICAgICBzaGlmdCAjIGZub3JkCisgICAgICBzaGlmdCAjICRhcmcKKyAgICAgIDs7CisgICAgZXNhYworICBkb25lCisKKyAgIiRAIiAtRSB8CisgICAgc2VkIC1uIC1lICcvXiMgWzAtOV1bMC05XSogIlwoW14iXSpcKSIuKi8gczo6IFwxIFxcOnAnIFwKKyAgICAgICAtZSAnL14jbGluZSBbMC05XVswLTldKiAiXChbXiJdKlwpIi4qLyBzOjogXDEgXFw6cCcgfAorICAgIHNlZCAnJCBzOiBcXCQ6OicgPiAiJHRtcGRlcGZpbGUiCisgIHJtIC1mICIkZGVwZmlsZSIKKyAgZWNobyAiJG9iamVjdCA6IFxcIiA+ICIkZGVwZmlsZSIKKyAgY2F0IDwgIiR0bXBkZXBmaWxlIiA+PiAiJGRlcGZpbGUiCisgIHNlZCA8ICIkdG1wZGVwZmlsZSIgJy9eJC9kO3MvXiAvLztzLyBcXCQvLztzLyQvIDovJyA+PiAiJGRlcGZpbGUiCisgIHJtIC1mICIkdG1wZGVwZmlsZSIKKyAgOzsKKworbXN2aXN1YWxjcHApCisgICMgSW1wb3J0YW50IG5vdGU6IGluIG9yZGVyIHRvIHN1cHBvcnQgdGhpcyBtb2RlLCBhIGNvbXBpbGVyICptdXN0KgorICAjIGFsd2F5cyB3cml0ZSB0aGUgcHJlcHJvY2Vzc2VkIGZpbGUgdG8gc3Rkb3V0LgorICAiJEAiIHx8IGV4aXQgJD8KKworICAjIFJlbW92ZSB0aGUgY2FsbCB0byBMaWJ0b29sLgorICBpZiB0ZXN0ICIkbGlidG9vbCIgPSB5ZXM7IHRoZW4KKyAgICB3aGlsZSB0ZXN0ICJYJDEiICE9ICdYLS1tb2RlPWNvbXBpbGUnOyBkbworICAgICAgc2hpZnQKKyAgICBkb25lCisgICAgc2hpZnQKKyAgZmkKKworICBJRlM9IiAiCisgIGZvciBhcmcKKyAgZG8KKyAgICBjYXNlICIkYXJnIiBpbgorICAgIC1vKQorICAgICAgc2hpZnQKKyAgICAgIDs7CisgICAgJG9iamVjdCkKKyAgICAgIHNoaWZ0CisgICAgICA7OworICAgICItR20ifCIvR20ifCItR2kifCIvR2kifCItWkkifCIvWkkiKQorCXNldCBmbm9yZCAiJEAiCisJc2hpZnQKKwlzaGlmdAorCTs7CisgICAgKikKKwlzZXQgZm5vcmQgIiRAIiAiJGFyZyIKKwlzaGlmdAorCXNoaWZ0CisJOzsKKyAgICBlc2FjCisgIGRvbmUKKyAgIiRAIiAtRSAyPi9kZXYvbnVsbCB8CisgIHNlZCAtbiAnL14jbGluZSBbMC05XVswLTldKiAiXChbXiJdKlwpIi8gczo6XDE6cCcgfCAkY3lncGF0aF91IHwgc29ydCAtdSA+ICIkdG1wZGVwZmlsZSIKKyAgcm0gLWYgIiRkZXBmaWxlIgorICBlY2hvICIkb2JqZWN0IDogXFwiID4gIiRkZXBmaWxlIgorICBzZWQgPCAiJHRtcGRlcGZpbGUiIC1uIC1lICdzJSAlXFwgJWcnIC1lICcvXlwoLipcKSQvIHM6OglcMSBcXDpwJyA+PiAiJGRlcGZpbGUiCisgIGVjaG8gIgkiID4+ICIkZGVwZmlsZSIKKyAgc2VkIDwgIiR0bXBkZXBmaWxlIiAtbiAtZSAncyUgJVxcICVnJyAtZSAnL15cKC4qXCkkLyBzOjpcMVw6OnAnID4+ICIkZGVwZmlsZSIKKyAgcm0gLWYgIiR0bXBkZXBmaWxlIgorICA7OworCittc3ZjbXN5cykKKyAgIyBUaGlzIGNhc2UgZXhpc3RzIG9ubHkgdG8gbGV0IGRlcGVuZC5tNCBkbyBpdHMgd29yay4gIEl0IHdvcmtzIGJ5CisgICMgbG9va2luZyBhdCB0aGUgdGV4dCBvZiB0aGlzIHNjcmlwdC4gIFRoaXMgY2FzZSB3aWxsIG5ldmVyIGJlIHJ1biwKKyAgIyBzaW5jZSBpdCBpcyBjaGVja2VkIGZvciBhYm92ZS4KKyAgZXhpdCAxCisgIDs7CisKK25vbmUpCisgIGV4ZWMgIiRAIgorICA7OworCisqKQorICBlY2hvICJVbmtub3duIGRlcG1vZGUgJGRlcG1vZGUiIDE+JjIKKyAgZXhpdCAxCisgIDs7Citlc2FjCisKK2V4aXQgMAorCisjIExvY2FsIFZhcmlhYmxlczoKKyMgbW9kZTogc2hlbGwtc2NyaXB0CisjIHNoLWluZGVudGF0aW9uOiAyCisjIGV2YWw6IChhZGQtaG9vayAnd3JpdGUtZmlsZS1ob29rcyAndGltZS1zdGFtcCkKKyMgdGltZS1zdGFtcC1zdGFydDogInNjcmlwdHZlcnNpb249IgorIyB0aW1lLXN0YW1wLWZvcm1hdDogIiU6eS0lMDJtLSUwMmQuJTAySCIKKyMgdGltZS1zdGFtcC10aW1lLXpvbmU6ICJVVEMiCisjIHRpbWUtc3RhbXAtZW5kOiAiOyAjIFVUQyIKKyMgRW5kOgpkaWZmIC0tZ2l0IGEvc3RyYWNlLTQuNS4yMC9kZXNjLmMgYi9zdHJhY2UtNC41LjIwL2Rlc2MuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NTcxZTQ5Ci0tLSAvZGV2L251bGwKKysrIGIvc3RyYWNlLTQuNS4yMC9kZXNjLmMKQEAgLTAsMCArMSw5ODEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDE5OTEsIDE5OTIgUGF1bCBLcmFuZW5idXJnIDxwa0Bjcy5mZXcuZXVyLm5sPgorICogQ29weXJpZ2h0IChjKSAxOTkzIEJyYW5rbyBMYW5rZXN0ZXIgPGJyYW5rb0BoYWNrdGljLm5sPgorICogQ29weXJpZ2h0IChjKSAxOTkzLCAxOTk0LCAxOTk1LCAxOTk2IFJpY2sgU2xhZGtleSA8anJzQHdvcmxkLnN0ZC5jb20+CisgKiBDb3B5cmlnaHQgKGMpIDE5OTYtMTk5OSBXaWNoZXJ0IEFra2VybWFuIDx3aWNoZXJ0QGNpc3Ryb24ubmw+CisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gVGhlIG5hbWUgb2YgdGhlIGF1dGhvciBtYXkgbm90IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzCisgKiAgICBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBBVVRIT1IgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUyBPUgorICogSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUworICogT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4KKyAqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKKyAqIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVAorICogTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKgorICoJJElkJAorICovCisKKyNpbmNsdWRlICJkZWZzLmgiCisKKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPHN5cy9maWxlLmg+CisjaWZkZWYgTElOVVgKKyNpbmNsdWRlIDxpbnR0eXBlcy5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9TWVNfRVBPTExfSAorI2luY2x1ZGUgPHN5cy9lcG9sbC5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9MSUJBSU9fSAorI2luY2x1ZGUgPGxpYmFpby5oPgorI2VuZGlmCisKKyNpZiBIQVZFX0xPTkdfTE9OR19PRkZfVAorLyoKKyAqIEhhY2tzIGZvciBzeXN0ZW1zIHRoYXQgaGF2ZSBhIGxvbmcgbG9uZyBvZmZfdAorICovCisjZGVmaW5lIGZsb2NrNjQJZmxvY2sJCS8qIEhvcnJpZCBoYWNrICovCisjZGVmaW5lIHByaW50ZmxvY2sgcHJpbnRmbG9jazY0CS8qIEhvcnJpZGVyIGhhY2sgKi8KKyNlbmRpZgorCisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCBmY250bGNtZHNbXSA9IHsKKwl7IEZfRFVQRkQsCSJGX0RVUEZEIgl9LAorCXsgRl9HRVRGRCwJIkZfR0VURkQiCX0sCisJeyBGX1NFVEZELAkiRl9TRVRGRCIJfSwKKwl7IEZfR0VURkwsCSJGX0dFVEZMIgl9LAorCXsgRl9TRVRGTCwJIkZfU0VURkwiCX0sCisJeyBGX0dFVExLLAkiRl9HRVRMSyIJfSwKKwl7IEZfU0VUTEssCSJGX1NFVExLIgl9LAorCXsgRl9TRVRMS1csCSJGX1NFVExLVyIJfSwKKwl7IEZfR0VUT1dOLAkiRl9HRVRPV04iCX0sCisJeyBGX1NFVE9XTiwJIkZfU0VUT1dOIgl9LAorI2lmZGVmIEZfUlNFVExLCisJeyBGX1JTRVRMSywJIkZfUlNFVExLIgl9LAorI2VuZGlmCisjaWZkZWYgRl9SU0VUTEtXCisJeyBGX1JTRVRMS1csCSJGX1JTRVRMS1ciCX0sCisjZW5kaWYKKyNpZmRlZiBGX1JHRVRMSworCXsgRl9SR0VUTEssCSJGX1JHRVRMSyIJfSwKKyNlbmRpZgorI2lmZGVmIEZfQ05WVAorCXsgRl9DTlZULAkiRl9DTlZUIgl9LAorI2VuZGlmCisjaWZkZWYgRl9TRVRTSUcKKwl7IEZfU0VUU0lHLAkiRl9TRVRTSUciCX0sCisjZW5kaWYKKyNpZmRlZiBGX0dFVFNJRworCXsgRl9HRVRTSUcsCSJGX0dFVFNJRyIJfSwKKyNlbmRpZgorI2lmZGVmIEZfQ0hLRkwKKwl7IEZfQ0hLRkwsCSJGX0NIS0ZMIgl9LAorI2VuZGlmCisjaWZkZWYgRl9EVVAyRkQKKwl7IEZfRFVQMkZELAkiRl9EVVAyRkQiCX0sCisjZW5kaWYKKyNpZmRlZiBGX0FMTE9DU1AKKwl7IEZfQUxMT0NTUCwJIkZfQUxMT0NTUCIJfSwKKyNlbmRpZgorI2lmZGVmIEZfSVNTVFJFQU0KKwl7IEZfSVNTVFJFQU0sCSJGX0lTU1RSRUFNIgl9LAorI2VuZGlmCisjaWZkZWYgRl9QUklWCisJeyBGX1BSSVYsCSJGX1BSSVYiCX0sCisjZW5kaWYKKyNpZmRlZiBGX05QUklWCisJeyBGX05QUklWLAkiRl9OUFJJViIJfSwKKyNlbmRpZgorI2lmZGVmIEZfUVVPVEFDTAorCXsgRl9RVU9UQUNMLAkiRl9RVU9UQUNMIgl9LAorI2VuZGlmCisjaWZkZWYgRl9CTE9DS1MKKwl7IEZfQkxPQ0tTLAkiRl9CTE9DS1MiCX0sCisjZW5kaWYKKyNpZmRlZiBGX0JMS1NJWkUKKwl7IEZfQkxLU0laRSwJIkZfQkxLU0laRSIJfSwKKyNlbmRpZgorI2lmZGVmIEZfR0VUT1dOCisJeyBGX0dFVE9XTiwJIkZfR0VUT1dOIgl9LAorI2VuZGlmCisjaWZkZWYgRl9TRVRPV04KKwl7IEZfU0VUT1dOLAkiRl9TRVRPV04iCX0sCisjZW5kaWYKKyNpZmRlZiBGX1JFVk9LRQorCXsgRl9SRVZPS0UsCSJGX1JFVk9LRSIJfSwKKyNlbmRpZgorI2lmZGVmIEZfU0VUTEsKKwl7IEZfU0VUTEssCSJGX1NFVExLIgl9LAorI2VuZGlmCisjaWZkZWYgRl9TRVRMS1cKKwl7IEZfU0VUTEtXLAkiRl9TRVRMS1ciCX0sCisjZW5kaWYKKyNpZmRlZiBGX0ZSRUVTUAorCXsgRl9GUkVFU1AsCSJGX0ZSRUVTUCIJfSwKKyNlbmRpZgorI2lmZGVmIEZfR0VUTEsKKwl7IEZfR0VUTEssCSJGX0dFVExLIgl9LAorI2VuZGlmCisjaWZkZWYgRl9TRVRMSzY0CisJeyBGX1NFVExLNjQsCSJGX1NFVExLNjQiCX0sCisjZW5kaWYKKyNpZmRlZiBGX1NFVExLVzY0CisJeyBGX1NFVExLVzY0LAkiRl9TRVRMS1c2NCIJfSwKKyNlbmRpZgorI2lmZGVmIEZfRlJFRVNQNjQKKwl7IEZfRlJFRVNQNjQsCSJGX0ZSRUVTUDY0Igl9LAorI2VuZGlmCisjaWZkZWYgRl9HRVRMSzY0CisJeyBGX0dFVExLNjQsCSJGX0dFVExLNjQiCX0sCisjZW5kaWYKKyNpZmRlZiBGX1NIQVJFCisJeyBGX1NIQVJFLAkiRl9TSEFSRSIJfSwKKyNlbmRpZgorI2lmZGVmIEZfVU5TSEFSRQorCXsgRl9VTlNIQVJFLAkiRl9VTlNIQVJFIgl9LAorI2VuZGlmCisjaWZkZWYgRl9TRVRMRUFTRQorCXsgRl9TRVRMRUFTRSwJIkZfU0VUTEVBU0UiCX0sCisjZW5kaWYKKyNpZmRlZiBGX0dFVExFQVNFCisJeyBGX0dFVExFQVNFLAkiRl9HRVRMRUFTRSIJfSwKKyNlbmRpZgorI2lmZGVmIEZfTk9USUZZCisJeyBGX05PVElGWSwJIkZfTk9USUZZIgl9LAorI2VuZGlmCisjaWZkZWYgRl9EVVBGRF9DTE9FWEVDCisJeyBGX0RVUEZEX0NMT0VYRUMsIkZfRFVQRkRfQ0xPRVhFQyJ9LAorI2VuZGlmCisJeyAwLAkJTlVMTAkJfSwKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCBmZGZsYWdzW10gPSB7CisjaWZkZWYgRkRfQ0xPRVhFQworCXsgRkRfQ0xPRVhFQywJIkZEX0NMT0VYRUMiCX0sCisjZW5kaWYKKwl7IDAsCQlOVUxMCQl9LAorfTsKKworI2lmZGVmIExPQ0tfU0gKKworc3RhdGljIGNvbnN0IHN0cnVjdCB4bGF0IGZsb2NrY21kc1tdID0geworCXsgTE9DS19TSCwJIkxPQ0tfU0giCX0sCisJeyBMT0NLX0VYLAkiTE9DS19FWCIJfSwKKwl7IExPQ0tfTkIsCSJMT0NLX05CIgl9LAorCXsgTE9DS19VTiwJIkxPQ0tfVU4iCX0sCisJeyAwLAkJTlVMTAkJfSwKK307CisKKyNlbmRpZiAvKiBMT0NLX1NIICovCisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCBsb2NrZmNtZHNbXSA9IHsKKwl7IEZfUkRMQ0ssCSJGX1JETENLIgl9LAorCXsgRl9XUkxDSywJIkZfV1JMQ0siCX0sCisJeyBGX1VOTENLLAkiRl9VTkxDSyIJfSwKKyNpZmRlZiBGX0VYTENLCisJeyBGX0VYTENLLAkiRl9FWExDSyIJfSwKKyNlbmRpZgorI2lmZGVmIEZfU0hMQ0sKKwl7IEZfU0hMQ0ssCSJGX1NITENLIgl9LAorI2VuZGlmCisJeyAwLAkJTlVMTAkJfSwKK307CisKKyNpZmRlZiBGX05PVElGWQorc3RhdGljIGNvbnN0IHN0cnVjdCB4bGF0IG5vdGlmeWZsYWdzW10gPSB7CisjaWZkZWYgRE5fQUNDRVNTCisJeyBETl9BQ0NFU1MsCSJETl9BQ0NFU1MiCX0sCisjZW5kaWYKKyNpZmRlZiBETl9NT0RJRlkKKwl7IEROX01PRElGWSwJIkROX01PRElGWSIJfSwKKyNlbmRpZgorI2lmZGVmIEROX0NSRUFURQorCXsgRE5fQ1JFQVRFLAkiRE5fQ1JFQVRFIgl9LAorI2VuZGlmCisjaWZkZWYgRE5fREVMRVRFCisJeyBETl9ERUxFVEUsCSJETl9ERUxFVEUiCX0sCisjZW5kaWYKKyNpZmRlZiBETl9SRU5BTUUKKwl7IEROX1JFTkFNRSwJIkROX1JFTkFNRSIJfSwKKyNlbmRpZgorI2lmZGVmIEROX0FUVFJJQgorCXsgRE5fQVRUUklCLAkiRE5fQVRUUklCIgl9LAorI2VuZGlmCisjaWZkZWYgRE5fTVVMVElTSE9UCisJeyBETl9NVUxUSVNIT1QsCSJETl9NVUxUSVNIT1QiCX0sCisjZW5kaWYKKwl7IDAsCQlOVUxMCQl9LAorfTsKKyNlbmRpZgorCitzdGF0aWMgY29uc3Qgc3RydWN0IHhsYXQgd2hlbmNlW10gPSB7CisJeyBTRUVLX1NFVCwJIlNFRUtfU0VUIgl9LAorCXsgU0VFS19DVVIsCSJTRUVLX0NVUiIJfSwKKwl7IFNFRUtfRU5ELAkiU0VFS19FTkQiCX0sCisJeyAwLAkJTlVMTAkJfSwKK307CisKKyNpZm5kZWYgSEFWRV9MT05HX0xPTkdfT0ZGX1QKKy8qIGZjbnRsL2xvY2tmICovCitzdGF0aWMgdm9pZAorcHJpbnRmbG9jayhzdHJ1Y3QgdGNiICp0Y3AsIGxvbmcgYWRkciwgaW50IGdldGxrKQoreworCXN0cnVjdCBmbG9jayBmbDsKKworI2lmIFNVUFBPUlRFRF9QRVJTT05BTElUSUVTID4gMQorCWlmIChwZXJzb25hbGl0eV93b3Jkc2l6ZVtjdXJyZW50X3BlcnNvbmFsaXR5XSAhPSBzaXplb2YoZmwubF9zdGFydCkpIHsKKwkJaWYgKHBlcnNvbmFsaXR5X3dvcmRzaXplW2N1cnJlbnRfcGVyc29uYWxpdHldID09IDQpIHsKKwkJCS8qIDMyLWJpdCB4ODYgYXBwIG9uIHg4Nl82NCBhbmQgc2ltaWxhciBjYXNlcyAqLworCQkJc3RydWN0IHsKKwkJCQlzaG9ydCBpbnQgbF90eXBlOworCQkJCXNob3J0IGludCBsX3doZW5jZTsKKwkJCQlpbnQzMl90IGxfc3RhcnQ7IC8qIG9mZl90ICovCisJCQkJaW50MzJfdCBsX2xlbjsgLyogb2ZmX3QgKi8KKwkJCQlpbnQzMl90IGxfcGlkOyAvKiBwaWRfdCAqLworCQkJfSBmbDMyOworCQkJaWYgKHVtb3ZlKHRjcCwgYWRkciwgJmZsMzIpIDwgMCkgeworCQkJCXRwcmludGYoInsuLi59Iik7CisJCQkJcmV0dXJuOworCQkJfQorCQkJZmwubF90eXBlID0gZmwzMi5sX3R5cGU7CisJCQlmbC5sX3doZW5jZSA9IGZsMzIubF93aGVuY2U7CisJCQlmbC5sX3N0YXJ0ID0gZmwzMi5sX3N0YXJ0OworCQkJZmwubF9sZW4gPSBmbDMyLmxfbGVuOworCQkJZmwubF9waWQgPSBmbDMyLmxfcGlkOworCQl9IGVsc2UgeworCQkJLyogbGV0IHBlb3BsZSBrbm93IHdlIGhhdmUgYSBwcm9ibGVtIGhlcmUgKi8KKwkJCXRwcmludGYoInsgPGRlY29kZSBlcnJvcjogdW5zdXBwb3J0ZWQgd29yZHNpemUgJWQ+IH0iLAorCQkJCXBlcnNvbmFsaXR5X3dvcmRzaXplW2N1cnJlbnRfcGVyc29uYWxpdHldKTsKKwkJCXJldHVybjsKKwkJfQorCX0gZWxzZQorI2VuZGlmCisJeworCQlpZiAodW1vdmUodGNwLCBhZGRyLCAmZmwpIDwgMCkgeworCQkJdHByaW50Zigiey4uLn0iKTsKKwkJCXJldHVybjsKKwkJfQorCX0KKwl0cHJpbnRmKCJ7dHlwZT0iKTsKKwlwcmludHh2YWwobG9ja2ZjbWRzLCBmbC5sX3R5cGUsICJGXz8/PyIpOworCXRwcmludGYoIiwgd2hlbmNlPSIpOworCXByaW50eHZhbCh3aGVuY2UsIGZsLmxfd2hlbmNlLCAiU0VFS18/Pz8iKTsKKwl0cHJpbnRmKCIsIHN0YXJ0PSVsZCwgbGVuPSVsZCIsIGZsLmxfc3RhcnQsIGZsLmxfbGVuKTsKKwlpZiAoZ2V0bGspCisJCXRwcmludGYoIiwgcGlkPSVsdX0iLCAodW5zaWduZWQgbG9uZykgZmwubF9waWQpOworCWVsc2UKKwkJdHByaW50ZigifSIpOworfQorI2VuZGlmCisKKyNpZiBfTEZTNjRfTEFSR0VGSUxFIHx8IEhBVkVfTE9OR19MT05HX09GRl9UCisvKiBmY250bC9sb2NrZiAqLworc3RhdGljIHZvaWQKK3ByaW50ZmxvY2s2NChzdHJ1Y3QgdGNiICp0Y3AsIGxvbmcgYWRkciwgaW50IGdldGxrKQoreworCXN0cnVjdCBmbG9jazY0IGZsOworCisJaWYgKHVtb3ZlKHRjcCwgYWRkciwgJmZsKSA8IDApIHsKKwkJdHByaW50Zigiey4uLn0iKTsKKwkJcmV0dXJuOworCX0KKwl0cHJpbnRmKCJ7dHlwZT0iKTsKKwlwcmludHh2YWwobG9ja2ZjbWRzLCBmbC5sX3R5cGUsICJGXz8/PyIpOworCXRwcmludGYoIiwgd2hlbmNlPSIpOworCXByaW50eHZhbCh3aGVuY2UsIGZsLmxfd2hlbmNlLCAiU0VFS18/Pz8iKTsKKwl0cHJpbnRmKCIsIHN0YXJ0PSVsbGQsIGxlbj0lbGxkIiwgKGxvbmcgbG9uZykgZmwubF9zdGFydCwgKGxvbmcgbG9uZykgZmwubF9sZW4pOworCWlmIChnZXRsaykKKwkJdHByaW50ZigiLCBwaWQ9JWx1fSIsICh1bnNpZ25lZCBsb25nKSBmbC5sX3BpZCk7CisJZWxzZQorCQl0cHJpbnRmKCJ9Iik7Cit9CisjZW5kaWYKKworaW50CitzeXNfZmNudGwoc3RydWN0IHRjYiAqdGNwKQoreworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXRwcmludGYoIiVsZCwgIiwgdGNwLT51X2FyZ1swXSk7CisJCXByaW50eHZhbChmY250bGNtZHMsIHRjcC0+dV9hcmdbMV0sICJGXz8/PyIpOworCQlzd2l0Y2ggKHRjcC0+dV9hcmdbMV0pIHsKKwkJY2FzZSBGX1NFVEZEOgorCQkJdHByaW50ZigiLCAiKTsKKwkJCXByaW50ZmxhZ3MoZmRmbGFncywgdGNwLT51X2FyZ1syXSwgIkZEXz8/PyIpOworCQkJYnJlYWs7CisJCWNhc2UgRl9TRVRPV046IGNhc2UgRl9EVVBGRDoKKyNpZmRlZiBGX0RVUEZEX0NMT0VYRUMKKwkJY2FzZSBGX0RVUEZEX0NMT0VYRUM6CisjZW5kaWYKKwkJCXRwcmludGYoIiwgJWxkIiwgdGNwLT51X2FyZ1syXSk7CisJCQlicmVhazsKKwkJY2FzZSBGX1NFVEZMOgorCQkJdHByaW50ZigiLCAiKTsKKwkJCXRwcmludF9vcGVuX21vZGVzKHRjcC0+dV9hcmdbMl0pOworCQkJYnJlYWs7CisJCWNhc2UgRl9TRVRMSzogY2FzZSBGX1NFVExLVzoKKyNpZmRlZiBGX0ZSRUVTUAorCQljYXNlIEZfRlJFRVNQOgorI2VuZGlmCisJCQl0cHJpbnRmKCIsICIpOworCQkJcHJpbnRmbG9jayh0Y3AsIHRjcC0+dV9hcmdbMl0sIDApOworCQkJYnJlYWs7CisjaWYgX0xGUzY0X0xBUkdFRklMRQorI2lmZGVmIEZfRlJFRVNQNjQKKwkJY2FzZSBGX0ZSRUVTUDY0OgorI2VuZGlmCisJCS8qIExpbnV4IGdsaWJjIGRlZmluZXMgU0VUTEs2NCBhcyBTRVRMSywKKwkJICAgZXZlbiB0aG91Z2ggdGhlIGtlcm5lbCBoYXMgZGlmZmVyZW50IHZhbHVlcyAtIGFzIGRvZXMgU29sYXJpcy4gKi8KKyNpZiBkZWZpbmVkKEZfU0VUTEs2NCkgJiYgRl9TRVRMSzY0ICsgMCAhPSBGX1NFVExLCisJCWNhc2UgRl9TRVRMSzY0OgorI2VuZGlmCisjaWYgZGVmaW5lZChGX1NFVExLVzY0KSAmJiBGX1NFVExLVzY0ICsgMCAhPSBGX1NFVExLVworCQljYXNlIEZfU0VUTEtXNjQ6CisjZW5kaWYKKwkJCXRwcmludGYoIiwgIik7CisJCQlwcmludGZsb2NrNjQodGNwLCB0Y3AtPnVfYXJnWzJdLCAwKTsKKwkJCWJyZWFrOworI2VuZGlmCisjaWZkZWYgRl9OT1RJRlkKKwkJY2FzZSBGX05PVElGWToKKwkJCXRwcmludGYoIiwgIik7CisJCQlwcmludGZsYWdzKG5vdGlmeWZsYWdzLCB0Y3AtPnVfYXJnWzJdLCAiRE5fPz8/Iik7CisJCQlicmVhazsKKyNlbmRpZgorI2lmZGVmIEZfU0VUTEVBU0UKKwkJY2FzZSBGX1NFVExFQVNFOgorCQkJdHByaW50ZigiLCAiKTsKKwkJCXByaW50eHZhbChsb2NrZmNtZHMsIHRjcC0+dV9hcmdbMl0sICJGXz8/PyIpOworCQkJYnJlYWs7CisjZW5kaWYKKwkJfQorCX0KKwllbHNlIHsKKwkJc3dpdGNoICh0Y3AtPnVfYXJnWzFdKSB7CisJCWNhc2UgRl9EVVBGRDoKKyNpZmRlZiBGX0RVUEZEX0NMT0VYRUMKKwkJY2FzZSBGX0RVUEZEX0NMT0VYRUM6CisjZW5kaWYKKwkJY2FzZSBGX1NFVEZEOiBjYXNlIEZfU0VURkw6CisJCWNhc2UgRl9TRVRMSzogY2FzZSBGX1NFVExLVzoKKwkJY2FzZSBGX1NFVE9XTjogY2FzZSBGX0dFVE9XTjoKKyNpZmRlZiBGX05PVElGWQorCQljYXNlIEZfTk9USUZZOgorI2VuZGlmCisjaWZkZWYgRl9TRVRMRUFTRQorCQljYXNlIEZfU0VUTEVBU0U6CisjZW5kaWYKKwkJCWJyZWFrOworCQljYXNlIEZfR0VURkQ6CisJCQlpZiAoc3lzZXJyb3IodGNwKSB8fCB0Y3AtPnVfcnZhbCA9PSAwKQorCQkJCXJldHVybiAwOworCQkJdGNwLT5hdXhzdHIgPSBzcHJpbnRmbGFncygiZmxhZ3MgIiwgZmRmbGFncywgdGNwLT51X3J2YWwpOworCQkJcmV0dXJuIFJWQUxfSEVYfFJWQUxfU1RSOworCQljYXNlIEZfR0VURkw6CisJCQlpZiAoc3lzZXJyb3IodGNwKSkKKwkJCQlyZXR1cm4gMDsKKwkJCXRjcC0+YXV4c3RyID0gc3ByaW50X29wZW5fbW9kZXModGNwLT51X3J2YWwpOworCQkJcmV0dXJuIFJWQUxfSEVYfFJWQUxfU1RSOworCQljYXNlIEZfR0VUTEs6CisJCQl0cHJpbnRmKCIsICIpOworCQkJcHJpbnRmbG9jayh0Y3AsIHRjcC0+dV9hcmdbMl0sIDEpOworCQkJYnJlYWs7CisjaWYgX0xGUzY0X0xBUkdFRklMRQorI2lmIGRlZmluZWQoRl9HRVRMSzY0KSAmJiBGX0dFVExLNjQrMCE9Rl9HRVRMSworCQljYXNlIEZfR0VUTEs2NDoKKyNlbmRpZgorCQkJdHByaW50ZigiLCAiKTsKKwkJCXByaW50ZmxvY2s2NCh0Y3AsIHRjcC0+dV9hcmdbMl0sIDEpOworCQkJYnJlYWs7CisjZW5kaWYKKyNpZmRlZiBGX0dFVExFQVNFCisJCWNhc2UgRl9HRVRMRUFTRToKKwkJCWlmIChzeXNlcnJvcih0Y3ApKQorCQkJCXJldHVybiAwOworCQkJdGNwLT5hdXhzdHIgPSB4bG9va3VwKGxvY2tmY21kcywgdGNwLT51X3J2YWwpOworCQkJcmV0dXJuIFJWQUxfSEVYfFJWQUxfU1RSOworI2VuZGlmCisJCWRlZmF1bHQ6CisJCQl0cHJpbnRmKCIsICUjbHgiLCB0Y3AtPnVfYXJnWzJdKTsKKwkJCWJyZWFrOworCQl9CisJfQorCXJldHVybiAwOworfQorCisjaWZkZWYgTE9DS19TSAorCitpbnQKK3N5c19mbG9jayhzdHJ1Y3QgdGNiICp0Y3ApCit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJdHByaW50ZigiJWxkLCAiLCB0Y3AtPnVfYXJnWzBdKTsKKwkJcHJpbnRmbGFncyhmbG9ja2NtZHMsIHRjcC0+dV9hcmdbMV0sICJMT0NLXz8/PyIpOworCX0KKwlyZXR1cm4gMDsKK30KKyNlbmRpZiAvKiBMT0NLX1NIICovCisKK2ludAorc3lzX2Nsb3NlKHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQl0cHJpbnRmKCIlbGQiLCB0Y3AtPnVfYXJnWzBdKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK2ludAorc3lzX2R1cChzdHJ1Y3QgdGNiICp0Y3ApCit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJdHByaW50ZigiJWxkIiwgdGNwLT51X2FyZ1swXSk7CisJfQorCXJldHVybiAwOworfQorCitzdGF0aWMgaW50Citkb19kdXAyKHN0cnVjdCB0Y2IgKnRjcCwgaW50IGZsYWdzX2FyZykKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQl0cHJpbnRmKCIlbGQsICVsZCIsIHRjcC0+dV9hcmdbMF0sIHRjcC0+dV9hcmdbMV0pOworCQlpZiAoZmxhZ3NfYXJnID49IDApIHsKKwkJCXRwcmludGYoIiwgIik7CisJCQlwcmludGZsYWdzKG9wZW5fbW9kZV9mbGFncywgdGNwLT51X2FyZ1tmbGFnc19hcmddLCAiT18/Pz8iKTsKKwkJfQorCX0KKwlyZXR1cm4gMDsKK30KKworaW50CitzeXNfZHVwMihzdHJ1Y3QgdGNiICp0Y3ApCit7CisJcmV0dXJuIGRvX2R1cDIodGNwLCAtMSk7Cit9CisKKyNpZmRlZiBMSU5VWAoraW50CitzeXNfZHVwMyhzdHJ1Y3QgdGNiICp0Y3ApCit7CisJcmV0dXJuIGRvX2R1cDIodGNwLCAyKTsKK30KKyNlbmRpZgorCisjaWYgZGVmaW5lZChBTFBIQSkgfHwgZGVmaW5lZChGUkVFQlNEKSB8fCBkZWZpbmVkKFNVTk9TNCkKK2ludAorc3lzX2dldGR0YWJsZXNpemUoc3RydWN0IHRjYiAqdGNwKQoreworCXJldHVybiAwOworfQorI2VuZGlmIC8qIEFMUEhBIHx8IEZSRUVCU0QgfHwgU1VOT1M0ICovCisKK3N0YXRpYyBpbnQKK2RlY29kZV9zZWxlY3Qoc3RydWN0IHRjYiAqdGNwLCBsb25nICphcmdzLCBlbnVtIGJpdG5lc3NfdCBiaXRuZXNzKQoreworCWludCBpLCBqLCBuZmRzOworCXVuc2lnbmVkIGludCBmZHNpemUgPSAoKCgoYXJnc1swXSArIDcpIC8gOCkgKyBzaXplb2YobG9uZykgLSAxKQorCQkJICAgICAgICYgLXNpemVvZihsb25nKSk7CisJZmRfc2V0ICpmZHM7CisJc3RhdGljIGNoYXIgb3V0c3RyWzEwMjRdOworCWNoYXIgKnNlcDsKKwlsb25nIGFyZzsKKworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCWZkcyA9IChmZF9zZXQgKikgbWFsbG9jKGZkc2l6ZSk7CisJCWlmIChmZHMgPT0gTlVMTCkKKwkJCWZwcmludGYoc3RkZXJyLCAib3V0IG9mIG1lbW9yeVxuIik7CisJCW5mZHMgPSBhcmdzWzBdOworCQl0cHJpbnRmKCIlZCIsIG5mZHMpOworCQlmb3IgKGkgPSAwOyBpIDwgMzsgaSsrKSB7CisJCQlhcmcgPSBhcmdzW2krMV07CisJCQlpZiAoYXJnID09IDApIHsKKwkJCQl0cHJpbnRmKCIsIE5VTEwiKTsKKwkJCQljb250aW51ZTsKKwkJCX0KKwkJCWlmIChmZHMgPT0gTlVMTCB8fCAhdmVyYm9zZSh0Y3ApKSB7CisJCQkJdHByaW50ZigiLCAlI2x4IiwgYXJnKTsKKwkJCQljb250aW51ZTsKKwkJCX0KKwkJCWlmICh1bW92ZW4odGNwLCBhcmcsIGZkc2l6ZSwgKGNoYXIgKikgZmRzKSA8IDApIHsKKwkJCQl0cHJpbnRmKCIsIFs/XSIpOworCQkJCWNvbnRpbnVlOworCQkJfQorCQkJdHByaW50ZigiLCBbIik7CisJCQlmb3IgKGogPSAwLCBzZXAgPSAiIjsgaiA8IG5mZHM7IGorKykgeworCQkJCWlmIChGRF9JU1NFVChqLCBmZHMpKSB7CisJCQkJCXRwcmludGYoIiVzJXUiLCBzZXAsIGopOworCQkJCQlzZXAgPSAiICI7CisJCQkJfQorCQkJfQorCQkJdHByaW50ZigiXSIpOworCQl9CisJCWZyZWUoZmRzKTsKKwkJdHByaW50ZigiLCAiKTsKKwkJcHJpbnR0dl9iaXRuZXNzKHRjcCwgYXJnc1s0XSwgYml0bmVzcywgMCk7CisJfQorCWVsc2UKKwl7CisJCXVuc2lnbmVkIGludCBjdW1sZW4gPSAwOworCQljaGFyICpzZXAgPSAiIjsKKworCQlpZiAoc3lzZXJyb3IodGNwKSkKKwkJCXJldHVybiAwOworCisJCWlmICgobmZkcyA9IHRjcC0+dV9ydmFsKSA9PSAwKSB7CisJCQl0Y3AtPmF1eHN0ciA9ICJUaW1lb3V0IjsKKwkJCXJldHVybiBSVkFMX1NUUjsKKwkJfQorCisJCWZkcyA9IChmZF9zZXQgKikgbWFsbG9jKGZkc2l6ZSk7CisJCWlmIChmZHMgPT0gTlVMTCkKKwkJCWZwcmludGYoc3RkZXJyLCAib3V0IG9mIG1lbW9yeVxuIik7CisKKwkJb3V0c3RyWzBdID0gJ1wwJzsKKwkJZm9yIChpID0gMDsgaSA8IDM7IGkrKykgeworCQkJaW50IGZpcnN0ID0gMTsKKworCQkJdGNwLT5hdXhzdHIgPSBvdXRzdHI7CisJCQlhcmcgPSBhcmdzW2krMV07CisJCQlpZiAoZmRzID09IE5VTEwgfHwgIWFyZyB8fAorCQkJICAgIHVtb3Zlbih0Y3AsIGFyZywgZmRzaXplLCAoY2hhciAqKSBmZHMpIDwgMCkKKwkJCQljb250aW51ZTsKKwkJCWZvciAoaiA9IDA7IGogPCBhcmdzWzBdOyBqKyspIHsKKwkJCQlpZiAoRkRfSVNTRVQoaiwgZmRzKSkgeworCQkJCQljaGFyIHN0clsxMSArIDMgKiBzaXplb2YoaW50KV07CisKKwkJCQkJaWYgKGZpcnN0KSB7CisJCQkJCQlzcHJpbnRmKHN0ciwgIiVzJXMgWyV1Iiwgc2VwLAorCQkJCQkJCWkgPT0gMCA/ICJpbiIgOgorCQkJCQkJCWkgPT0gMSA/ICJvdXQiIDoKKwkJCQkJCQkiZXhjZXB0Iiwgaik7CisJCQkJCQlmaXJzdCA9IDA7CisJCQkJCQlzZXAgPSAiLCAiOworCQkJCQl9CisJCQkJCWVsc2UKKwkJCQkJCXNwcmludGYoc3RyLCAiICV1Iiwgaik7CisJCQkJCWN1bWxlbiArPSBzdHJsZW4oc3RyKTsKKwkJCQkJaWYgKGN1bWxlbiA8IHNpemVvZihvdXRzdHIpKQorCQkJCQkJc3RyY2F0KG91dHN0ciwgc3RyKTsKKwkJCQkJbmZkcy0tOworCQkJCX0KKwkJCX0KKwkJCWlmIChjdW1sZW4pCisJCQkJc3RyY2F0KG91dHN0ciwgIl0iKTsKKwkJCWlmIChuZmRzID09IDApCisJCQkJYnJlYWs7CisJCX0KKwkJZnJlZShmZHMpOworI2lmZGVmIExJTlVYCisJCS8qIFRoaXMgY29udGFpbnMgbm8gdXNlZnVsIGluZm9ybWF0aW9uIG9uIFN1bk9TLiAgKi8KKwkJaWYgKGFyZ3NbNF0pIHsKKwkJCWNoYXIgc3RyWzEyOF07CisKKwkJCXNwcmludGYoc3RyLCAiJXNsZWZ0ICIsIHNlcCk7CisJCQlzcHJpbnR0dih0Y3AsIGFyZ3NbNF0sIGJpdG5lc3MsIHN0ciArIHN0cmxlbihzdHIpKTsKKwkJCWlmICgoY3VtbGVuICs9IHN0cmxlbihzdHIpKSA8IHNpemVvZihvdXRzdHIpKQorCQkJCXN0cmNhdChvdXRzdHIsIHN0cik7CisJCX0KKyNlbmRpZiAvKiBMSU5VWCAqLworCQlyZXR1cm4gUlZBTF9TVFI7CisJfQorCXJldHVybiAwOworfQorCisjaWZkZWYgTElOVVgKKworaW50CitzeXNfb2xkc2VsZWN0KHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwlsb25nIGFyZ3NbNV07CisKKwlpZiAodW1vdmVuKHRjcCwgdGNwLT51X2FyZ1swXSwgc2l6ZW9mIGFyZ3MsIChjaGFyICopIGFyZ3MpIDwgMCkgeworCQl0cHJpbnRmKCJbLi4uXSIpOworCQlyZXR1cm4gMDsKKwl9CisJcmV0dXJuIGRlY29kZV9zZWxlY3QodGNwLCBhcmdzLCBCSVRORVNTX0NVUlJFTlQpOworfQorCisjaWZkZWYgQUxQSEEKK2ludAorc3lzX29zZl9zZWxlY3Qoc3RydWN0IHRjYiAqdGNwKQoreworCWxvbmcgKmFyZ3MgPSB0Y3AtPnVfYXJnOworCXJldHVybiBkZWNvZGVfc2VsZWN0KHRjcCwgYXJncywgQklUTkVTU18zMik7Cit9CisjZW5kaWYKKworc3RhdGljIGNvbnN0IHN0cnVjdCB4bGF0IGVwb2xsY3Rsc1tdID0geworI2lmZGVmIEVQT0xMX0NUTF9BREQKKwl7IEVQT0xMX0NUTF9BREQsCSJFUE9MTF9DVExfQUREIgl9LAorI2VuZGlmCisjaWZkZWYgRVBPTExfQ1RMX01PRAorCXsgRVBPTExfQ1RMX01PRCwJIkVQT0xMX0NUTF9NT0QiCX0sCisjZW5kaWYKKyNpZmRlZiBFUE9MTF9DVExfREVMCisJeyBFUE9MTF9DVExfREVMLAkiRVBPTExfQ1RMX0RFTCIJfSwKKyNlbmRpZgorCXsgMCwJCQlOVUxMCQl9Cit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IHhsYXQgZXBvbGxldmVudHNbXSA9IHsKKyNpZmRlZiBFUE9MTElOCisJeyBFUE9MTElOLAkiRVBPTExJTiIJfSwKKyNlbmRpZgorI2lmZGVmIEVQT0xMUFJJCisJeyBFUE9MTFBSSSwJIkVQT0xMUFJJIgl9LAorI2VuZGlmCisjaWZkZWYgRVBPTExPVVQKKwl7IEVQT0xMT1VULAkiRVBPTExPVVQiCX0sCisjZW5kaWYKKyNpZmRlZiBFUE9MTFJETk9STQorCXsgRVBPTExSRE5PUk0sCSJFUE9MTFJETk9STSIJfSwKKyNlbmRpZgorI2lmZGVmIEVQT0xMUkRCQU5ECisJeyBFUE9MTFJEQkFORCwJIkVQT0xMUkRCQU5EIgl9LAorI2VuZGlmCisjaWZkZWYgRVBPTExXUk5PUk0KKwl7IEVQT0xMV1JOT1JNLAkiRVBPTExXUk5PUk0iCX0sCisjZW5kaWYKKyNpZmRlZiBFUE9MTFdSQkFORAorCXsgRVBPTExXUkJBTkQsCSJFUE9MTFdSQkFORCIJfSwKKyNlbmRpZgorI2lmZGVmIEVQT0xMTVNHCisJeyBFUE9MTE1TRywJIkVQT0xMTVNHIgl9LAorI2VuZGlmCisjaWZkZWYgRVBPTExFUlIKKwl7IEVQT0xMRVJSLAkiRVBPTExFUlIiCX0sCisjZW5kaWYKKyNpZmRlZiBFUE9MTEhVUAorCXsgRVBPTExIVVAsCSJFUE9MTEhVUCIJfSwKKyNlbmRpZgorI2lmZGVmIEVQT0xMT05FU0hPVAorCXsgRVBPTExPTkVTSE9ULAkiRVBPTExPTkVTSE9UIgl9LAorI2VuZGlmCisjaWZkZWYgRVBPTExFVAorCXsgRVBPTExFVCwJIkVQT0xMRVQiCX0sCisjZW5kaWYKKwl7IDAsCQlOVUxMCQl9Cit9OworCitpbnQKK3N5c19lcG9sbF9jcmVhdGUoc3RydWN0IHRjYiAqdGNwKQoreworCWlmIChlbnRlcmluZyh0Y3ApKQorCQl0cHJpbnRmKCIlbGQiLCB0Y3AtPnVfYXJnWzBdKTsKKwlyZXR1cm4gMDsKK30KKworaW50CitzeXNfZXBvbGxfY3JlYXRlMShzdHJ1Y3QgdGNiICp0Y3ApCit7CisJaWYgKGVudGVyaW5nKHRjcCkpCisJCXByaW50ZmxhZ3Mob3Blbl9tb2RlX2ZsYWdzLCB0Y3AtPnVfYXJnWzBdLCAiT18/Pz8iKTsKKwlyZXR1cm4gMDsKK30KKworI2lmZGVmIEhBVkVfU1lTX0VQT0xMX0gKK3N0YXRpYyB2b2lkCitwcmludF9lcG9sbF9ldmVudChzdHJ1Y3QgZXBvbGxfZXZlbnQgKmV2KQoreworCXRwcmludGYoInsiKTsKKwlwcmludGZsYWdzKGVwb2xsZXZlbnRzLCBldi0+ZXZlbnRzLCAiRVBPTEw/Pz8iKTsKKwkvKiBXZSBjYW5ub3Qga25vdyB3aGF0IGZvcm1hdCB0aGUgcHJvZ3JhbSB1c2VzLCBzbyBwcmludCB1MzIgYW5kIHU2NAorCSAgIHdoaWNoIHdpbGwgY292ZXIgZXZlcnkgdmFsdWUuICAqLworCXRwcmludGYoIiwge3UzMj0lIiBQUkl1MzIgIiwgdTY0PSUiIFBSSXU2NCAifX0iLAorCQlldi0+ZGF0YS51MzIsIGV2LT5kYXRhLnU2NCk7Cit9CisjZW5kaWYKKworaW50CitzeXNfZXBvbGxfY3RsKHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQl0cHJpbnRmKCIlbGQsICIsIHRjcC0+dV9hcmdbMF0pOworCQlwcmludHh2YWwoZXBvbGxjdGxzLCB0Y3AtPnVfYXJnWzFdLCAiRVBPTExfQ1RMXz8/PyIpOworCQl0cHJpbnRmKCIsICVsZCwgIiwgdGNwLT51X2FyZ1syXSk7CisJCWlmICh0Y3AtPnVfYXJnWzNdID09IDApCisJCQl0cHJpbnRmKCJOVUxMIik7CisJCWVsc2UgeworI2lmZGVmIEhBVkVfU1lTX0VQT0xMX0gKKwkJCXN0cnVjdCBlcG9sbF9ldmVudCBldjsKKwkJCWlmICh1bW92ZSh0Y3AsIHRjcC0+dV9hcmdbM10sICZldikgPT0gMCkKKwkJCQlwcmludF9lcG9sbF9ldmVudCgmZXYpOworCQkJZWxzZQorI2VuZGlmCisJCQkJdHByaW50Zigiey4uLn0iKTsKKwkJfQorCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQKK2Vwb2xsX3dhaXRfY29tbW9uKHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkKKwkJdHByaW50ZigiJWxkLCAiLCB0Y3AtPnVfYXJnWzBdKTsKKwllbHNlIHsKKwkJaWYgKHN5c2Vycm9yKHRjcCkpCisJCQl0cHJpbnRmKCIlbHgiLCB0Y3AtPnVfYXJnWzFdKTsKKwkJZWxzZSBpZiAodGNwLT51X3J2YWwgPT0gMCkKKwkJCXRwcmludGYoInt9Iik7CisJCWVsc2UgeworI2lmZGVmIEhBVkVfU1lTX0VQT0xMX0gKKwkJCXN0cnVjdCBlcG9sbF9ldmVudCBldiwgKnN0YXJ0LCAqY3VyLCAqZW5kOworCQkJaW50IGZhaWxlZCA9IDA7CisKKwkJCXRwcmludGYoInsiKTsKKwkJCXN0YXJ0ID0gKHN0cnVjdCBlcG9sbF9ldmVudCAqKSB0Y3AtPnVfYXJnWzFdOworCQkJZW5kID0gc3RhcnQgKyB0Y3AtPnVfcnZhbDsKKwkJCWZvciAoY3VyID0gc3RhcnQ7IGN1ciA8IGVuZDsgKytjdXIpIHsKKwkJCQlpZiAoY3VyID4gc3RhcnQpCisJCQkJCXRwcmludGYoIiwgIik7CisJCQkJaWYgKHVtb3ZlKHRjcCwgKGxvbmcpIGN1ciwgJmV2KSA9PSAwKQorCQkJCQlwcmludF9lcG9sbF9ldmVudCgmZXYpOworCQkJCWVsc2UgeworCQkJCQl0cHJpbnRmKCI/Iik7CisJCQkJCWZhaWxlZCA9IDE7CisJCQkJCWJyZWFrOworCQkJCX0KKwkJCX0KKwkJCXRwcmludGYoIn0iKTsKKwkJCWlmIChmYWlsZWQpCisJCQkJdHByaW50ZigiICUjbHgiLCAobG9uZykgc3RhcnQpOworI2Vsc2UKKwkJCXRwcmludGYoInsuLi59Iik7CisjZW5kaWYKKwkJfQorCQl0cHJpbnRmKCIsICVsZCwgJWxkIiwgdGNwLT51X2FyZ1syXSwgdGNwLT51X2FyZ1szXSk7CisJfQorfQorCitpbnQKK3N5c19lcG9sbF93YWl0KHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwllcG9sbF93YWl0X2NvbW1vbih0Y3ApOworCXJldHVybiAwOworfQorCitpbnQKK3N5c19lcG9sbF9wd2FpdChzdHJ1Y3QgdGNiICp0Y3ApCit7CisJZXBvbGxfd2FpdF9jb21tb24odGNwKTsKKwlpZiAoZXhpdGluZyh0Y3ApKSB7CisJCXRwcmludGYoIiwgIik7CisJCXByaW50X3NpZ3NldCh0Y3AsIHRjcC0+dV9hcmdbNF0sIDApOworCX0KKwlyZXR1cm4gMDsKK30KKworaW50CitzeXNfaW9fc2V0dXAoc3RydWN0IHRjYiAqdGNwKQoreworCWlmIChlbnRlcmluZyh0Y3ApKQorCQl0cHJpbnRmKCIlbGQsICIsIHRjcC0+dV9hcmdbMF0pOworCWVsc2UgeworCQlpZiAoc3lzZXJyb3IodGNwKSkKKwkJCXRwcmludGYoIjB4JTBseCIsIHRjcC0+dV9hcmdbMV0pOworCQllbHNlIHsKKwkJCXVuc2lnbmVkIGxvbmcgdXNlcl9pZDsKKwkJCWlmICh1bW92ZSh0Y3AsIHRjcC0+dV9hcmdbMV0sICZ1c2VyX2lkKSA9PSAwKQorCQkJCXRwcmludGYoInslbHV9IiwgdXNlcl9pZCk7CisJCQllbHNlCisJCQkJdHByaW50Zigiey4uLn0iKTsKKwkJfQorCX0KKwlyZXR1cm4gMDsKK30KKworaW50CitzeXNfaW9fZGVzdHJveShzdHJ1Y3QgdGNiICp0Y3ApCit7CisJaWYgKGVudGVyaW5nKHRjcCkpCisJCXRwcmludGYoIiVsdSIsIHRjcC0+dV9hcmdbMF0pOworCXJldHVybiAwOworfQorCitpbnQKK3N5c19pb19zdWJtaXQoc3RydWN0IHRjYiAqdGNwKQoreworCWxvbmcgbnI7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJdHByaW50ZigiJWx1LCAlbGQsICIsIHRjcC0+dV9hcmdbMF0sIHRjcC0+dV9hcmdbMV0pOworCQluciA9IHRjcC0+dV9hcmdbMV07CisJCS8qIGFuZCBpZiBuciBpcyBuZWdhdGl2ZT8gKi8KKwkJaWYgKG5yID09IDApCisJCQl0cHJpbnRmKCJ7fSIpOworCQllbHNlIHsKKyNpZmRlZiBIQVZFX0xJQkFJT19ICisJCQlsb25nIGk7CisJCQlzdHJ1Y3QgaW9jYiAqaW9jYnAsICoqaW9jYnMgPSAodm9pZCAqKXRjcC0+dV9hcmdbMl07CisKKwkJCWZvciAoaSA9IDA7IGkgPCBucjsgaSsrLCBpb2NicysrKSB7CisJCQkJc3RydWN0IGlvY2IgaW9jYjsKKwkJCQlpZiAoaSA9PSAwKQorCQkJCQl0cHJpbnRmKCJ7Iik7CisJCQkJZWxzZQorCQkJCQl0cHJpbnRmKCIsICIpOworCisJCQkJaWYgKHVtb3ZlKHRjcCwgKHVuc2lnbmVkIGxvbmcpaW9jYnMsICZpb2NicCkgfHwKKwkJCQkgICAgdW1vdmUodGNwLCAodW5zaWduZWQgbG9uZylpb2NicCwgJmlvY2IpKSB7CisJCQkJCXRwcmludGYoInsuLi59Iik7CisJCQkJCWNvbnRpbnVlOworCQkJCX0KKwkJCQl0cHJpbnRmKCJ7JXAsICV1LCAlaHUsICVodSwgJWR9IiwKKwkJCQkJaW9jYi5kYXRhLCBpb2NiLmtleSwKKwkJCQkJaW9jYi5haW9fbGlvX29wY29kZSwKKwkJCQkJaW9jYi5haW9fcmVxcHJpbywgaW9jYi5haW9fZmlsZGVzKTsKKwkJCX0KKwkJCWlmIChpKQorCQkJCXRwcmludGYoIn0iKTsKKyNlbHNlCisJCQl0cHJpbnRmKCJ7Li4ufSIpOworI2VuZGlmCisJCX0KKwl9CisJcmV0dXJuIDA7Cit9CisKK2ludAorc3lzX2lvX2NhbmNlbChzdHJ1Y3QgdGNiICp0Y3ApCit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKyNpZmRlZiBIQVZFX0xJQkFJT19ICisJCXN0cnVjdCBpb2NiIGlvY2I7CisjZW5kaWYKKwkJdHByaW50ZigiJWx1LCAiLCB0Y3AtPnVfYXJnWzBdKTsKKyNpZmRlZiBIQVZFX0xJQkFJT19ICisJCWlmICh1bW92ZSh0Y3AsIHRjcC0+dV9hcmdbMV0sICZpb2NiKSA9PSAwKSB7CisJCQl0cHJpbnRmKCJ7JXAsICV1LCAlaHUsICVodSwgJWR9LCAiLAorCQkJCWlvY2IuZGF0YSwgaW9jYi5rZXksCisJCQkJaW9jYi5haW9fbGlvX29wY29kZSwKKwkJCQlpb2NiLmFpb19yZXFwcmlvLCBpb2NiLmFpb19maWxkZXMpOworCQl9IGVsc2UKKyNlbmRpZgorCQkJdHByaW50Zigiey4uLn0sICIpOworCX0gZWxzZSB7CisJCWlmICh0Y3AtPnVfcnZhbCA8IDApCisJCQl0cHJpbnRmKCJ7Li4ufSIpOworCQllbHNlIHsKKyNpZmRlZiBIQVZFX0xJQkFJT19ICisJCQlzdHJ1Y3QgaW9fZXZlbnQgZXZlbnQ7CisJCQlpZiAodW1vdmUodGNwLCB0Y3AtPnVfYXJnWzJdLCAmZXZlbnQpID09IDApCisJCQkJdHByaW50ZigieyVwLCAlcCwgJWxkLCAlbGR9IiwKKwkJCQkJZXZlbnQuZGF0YSwgZXZlbnQub2JqLAorCQkJCQlldmVudC5yZXMsIGV2ZW50LnJlczIpOworCQkJZWxzZQorI2VuZGlmCisJCQkJdHByaW50Zigiey4uLn0iKTsKKwkJfQorCX0KKwlyZXR1cm4gMDsKK30KKworaW50CitzeXNfaW9fZ2V0ZXZlbnRzKHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQl0cHJpbnRmKCIlbGQsICVsZCwgJWxkLCAiLCB0Y3AtPnVfYXJnWzBdLCB0Y3AtPnVfYXJnWzFdLAorCQkJdGNwLT51X2FyZ1syXSk7CisJfSBlbHNlIHsKKwkJaWYgKHRjcC0+dV9ydmFsID09IDApIHsKKwkJCXRwcmludGYoInt9Iik7CisJCX0gZWxzZSAgeworI2lmZGVmIEhBVkVfTElCQUlPX0gKKwkJCXN0cnVjdCBpb19ldmVudCAqZXZlbnRzID0gKHZvaWQgKil0Y3AtPnVfYXJnWzNdOworCQkJbG9uZyBpLCBuciA9IHRjcC0+dV9ydmFsOworCisJCQlmb3IgKGkgPSAwOyBpIDwgbnI7IGkrKywgZXZlbnRzKyspIHsKKwkJCQlzdHJ1Y3QgaW9fZXZlbnQgZXZlbnQ7CisKKwkJCQlpZiAoaSA9PSAwKQorCQkJCQl0cHJpbnRmKCJ7Iik7CisJCQkJZWxzZQorCQkJCQl0cHJpbnRmKCIsICIpOworCisJCQkJaWYgKHVtb3ZlKHRjcCwgKHVuc2lnbmVkIGxvbmcpZXZlbnRzLCAmZXZlbnQpICE9IDApIHsKKwkJCQkJdHByaW50Zigiey4uLn0iKTsKKwkJCQkJY29udGludWU7CisJCQkJfQorCQkJCXRwcmludGYoInslcCwgJXAsICVsZCwgJWxkfSIsIGV2ZW50LmRhdGEsCisJCQkJCWV2ZW50Lm9iaiwgZXZlbnQucmVzLCBldmVudC5yZXMyKTsKKwkJCX0KKwkJCXRwcmludGYoIn0sICIpOworI2Vsc2UKKwkJCQl0cHJpbnRmKCJ7Li4ufSIpOworI2VuZGlmCisJCX0KKworCQlwcmludF90aW1lc3BlYyh0Y3AsIHRjcC0+dV9hcmdbNF0pOworCX0KKwlyZXR1cm4gMDsKK30KKyNlbmRpZiAvKiBMSU5VWCAqLworCitpbnQKK3N5c19zZWxlY3Qoc3RydWN0IHRjYiAqdGNwKQoreworCXJldHVybiBkZWNvZGVfc2VsZWN0KHRjcCwgdGNwLT51X2FyZywgQklUTkVTU19DVVJSRU5UKTsKK30KKworI2lmZGVmIExJTlVYCitpbnQKK3N5c19wc2VsZWN0NihzdHJ1Y3QgdGNiICp0Y3ApCit7CisJaW50IHJjID0gZGVjb2RlX3NlbGVjdCh0Y3AsIHRjcC0+dV9hcmcsIEJJVE5FU1NfQ1VSUkVOVCk7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJc3RydWN0IHsKKwkJCXZvaWQgKnNzOworCQkJdW5zaWduZWQgbG9uZyBsZW47CisJCX0gZGF0YTsKKwkJaWYgKHVtb3ZlKHRjcCwgdGNwLT51X2FyZ1s1XSwgJmRhdGEpIDwgMCkKKwkJCXRwcmludGYoIiwgJSNseCIsIHRjcC0+dV9hcmdbNV0pOworCQllbHNlIHsKKwkJCXRwcmludGYoIiwgeyIpOworCQkJaWYgKGRhdGEubGVuIDwgc2l6ZW9mKGxvbmcpKQorCQkJCXRwcmludGYoIiUjbHgiLCAobG9uZylkYXRhLnNzKTsKKwkJCWVsc2UKKwkJCQlwcmludF9zaWdzZXQodGNwLCAobG9uZylkYXRhLnNzLCAwKTsKKwkJCXRwcmludGYoIiwgJWx1fSIsIGRhdGEubGVuKTsKKwkJfQorCX0KKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQKK2RvX2V2ZW50ZmQoc3RydWN0IHRjYiAqdGNwLCBpbnQgZmxhZ3NfYXJnKQoreworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXRwcmludGYoIiVsdSIsIHRjcC0+dV9hcmdbMF0pOworCQlpZiAoZmxhZ3NfYXJnID49IDApIHsKKwkJCXRwcmludGYoIiwgIik7CisJCQlwcmludGZsYWdzKG9wZW5fbW9kZV9mbGFncywgdGNwLT51X2FyZ1tmbGFnc19hcmddLCAiT18/Pz8iKTsKKwkJfQorCX0KKwlyZXR1cm4gMDsKK30KKworaW50CitzeXNfZXZlbnRmZChzdHJ1Y3QgdGNiICp0Y3ApCit7CisJcmV0dXJuIGRvX2V2ZW50ZmQodGNwLCAtMSk7Cit9CisKK2ludAorc3lzX2V2ZW50ZmQyKHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwlyZXR1cm4gZG9fZXZlbnRmZCh0Y3AsIDEpOworfQorI2VuZGlmCmRpZmYgLS1naXQgYS9zdHJhY2UtNC41LjIwL2Vycm5vZW50LnNoIGIvc3RyYWNlLTQuNS4yMC9lcnJub2VudC5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zYTcwOWFlCi0tLSAvZGV2L251bGwKKysrIGIvc3RyYWNlLTQuNS4yMC9lcnJub2VudC5zaApAQCAtMCwwICsxLDQyIEBACisjIS9iaW4vc2gKKyMgQ29weXJpZ2h0IChjKSAxOTkzLCAxOTk0LCAxOTk1IFJpY2sgU2xhZGtleSA8anJzQHdvcmxkLnN0ZC5jb20+CisjIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyMgYXJlIG1ldDoKKyMgMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisjICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisjIDMuIFRoZSBuYW1lIG9mIHRoZSBhdXRob3IgbWF5IG5vdCBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cworIyAgICBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQVVUSE9SIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1MgT1IKKyMgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUworIyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELgorIyBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCisjIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVAorIyBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisjIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorIyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorIyBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorIworIwkkSWQkCisKK2F3ayAnCisvXiNkZWZpbmVbIAldK0VbQS1aMC05X10rWyAJXStbMC05XSsvIHsKKwllcnJub1skM10gPSAkMgorCWlmICgkMyA+IG1heCkKKwkJbWF4ID0gJDMKK30KK0VORCB7CisJZm9yIChpID0gMDsgaSA8PSBtYXg7IGkrKykgeworCQlpZiAoIWVycm5vW2ldKQorCQkJZXJybm9baV0gPSAiRVJSTk9fIiBpCisJCXByaW50ZiAiXHRcIiVzXCIsIC8qICVkICovXG4iLCBlcnJub1tpXSwgaQorCX0KK30KKycgJCoKZGlmZiAtLWdpdCBhL3N0cmFjZS00LjUuMjAvZmlsZS5jIGIvc3RyYWNlLTQuNS4yMC9maWxlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODU0NTQ4ZgotLS0gL2Rldi9udWxsCisrKyBiL3N0cmFjZS00LjUuMjAvZmlsZS5jCkBAIC0wLDAgKzEsMjkwNyBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMTk5MSwgMTk5MiBQYXVsIEtyYW5lbmJ1cmcgPHBrQGNzLmZldy5ldXIubmw+CisgKiBDb3B5cmlnaHQgKGMpIDE5OTMgQnJhbmtvIExhbmtlc3RlciA8YnJhbmtvQGhhY2t0aWMubmw+CisgKiBDb3B5cmlnaHQgKGMpIDE5OTMsIDE5OTQsIDE5OTUsIDE5OTYgUmljayBTbGFka2V5IDxqcnNAd29ybGQuc3RkLmNvbT4KKyAqIENvcHlyaWdodCAoYykgMTk5Ni0xOTk5IFdpY2hlcnQgQWtrZXJtYW4gPHdpY2hlcnRAY2lzdHJvbi5ubD4KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBUaGUgbmFtZSBvZiB0aGUgYXV0aG9yIG1heSBub3QgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMKKyAqICAgIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIEFVVEhPUiBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCisgKiBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELgorICogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAorICogSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUCisgKiBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqCisgKgkkSWQkCisgKi8KKworI2luY2x1ZGUgImRlZnMuaCIKKworI2luY2x1ZGUgPGRpcmVudC5oPgorCisjaWZkZWYgTElOVVgKK3N0cnVjdCBrZXJuZWxfZGlyZW50IHsKKwl1bnNpZ25lZCBsb25nICAgZF9pbm87CisJdW5zaWduZWQgbG9uZyAgIGRfb2ZmOworCXVuc2lnbmVkIHNob3J0ICBkX3JlY2xlbjsKKwljaGFyICAgICAgICAgICAgZF9uYW1lWzFdOworfTsKKyNlbHNlCisjIGRlZmluZSBrZXJuZWxfZGlyZW50IGRpcmVudAorI2VuZGlmCisKKyNpZmRlZiBMSU5VWAorIyAgaWZkZWYgTElOVVhTUEFSQworc3RydWN0IHN0YXQgeworCXVuc2lnbmVkIHNob3J0CXN0X2RldjsKKwl1bnNpZ25lZCBpbnQJc3RfaW5vOworCXVuc2lnbmVkIHNob3J0CXN0X21vZGU7CisJc2hvcnQJCXN0X25saW5rOworCXVuc2lnbmVkIHNob3J0CXN0X3VpZDsKKwl1bnNpZ25lZCBzaG9ydAlzdF9naWQ7CisJdW5zaWduZWQgc2hvcnQJc3RfcmRldjsKKwl1bnNpZ25lZCBpbnQJc3Rfc2l6ZTsKKwlpbnQJCXN0X2F0aW1lOworCXVuc2lnbmVkIGludAlfX3VudXNlZDE7CisJaW50CQlzdF9tdGltZTsKKwl1bnNpZ25lZCBpbnQJX191bnVzZWQyOworCWludAkJc3RfY3RpbWU7CisJdW5zaWduZWQgaW50CV9fdW51c2VkMzsKKwlpbnQJCXN0X2Jsa3NpemU7CisJaW50CQlzdF9ibG9ja3M7CisJdW5zaWduZWQgaW50CV9fdW51c2VkNFsyXTsKK307CisjaWYgZGVmaW5lZChTUEFSQzY0KQorc3RydWN0IHN0YXRfc3BhcmM2NCB7CisJdW5zaWduZWQgaW50CXN0X2RldjsKKwl1bnNpZ25lZCBsb25nCXN0X2lubzsKKwl1bnNpZ25lZCBpbnQJc3RfbW9kZTsKKwl1bnNpZ25lZCBpbnQJc3Rfbmxpbms7CisJdW5zaWduZWQgaW50CXN0X3VpZDsKKwl1bnNpZ25lZCBpbnQJc3RfZ2lkOworCXVuc2lnbmVkIGludAlzdF9yZGV2OworCWxvbmcJCXN0X3NpemU7CisJbG9uZwkJc3RfYXRpbWU7CisJbG9uZwkJc3RfbXRpbWU7CisJbG9uZwkJc3RfY3RpbWU7CisJbG9uZwkJc3RfYmxrc2l6ZTsKKwlsb25nCQlzdF9ibG9ja3M7CisJdW5zaWduZWQgbG9uZwlfX3VudXNlZDRbMl07Cit9OworI2VuZGlmIC8qIFNQQVJDNjQgKi8KKyMgICAgZGVmaW5lIHN0YXQga2VybmVsX3N0YXQKKyMgICAgaW5jbHVkZSA8YXNtL3N0YXQuaD4KKyMgICAgdW5kZWYgc3RhdAorIyAgZWxzZQorIyAgICB1bmRlZiBkZXZfdAorIyAgICB1bmRlZiBpbm9fdAorIyAgICB1bmRlZiBtb2RlX3QKKyMgICAgdW5kZWYgbmxpbmtfdAorIyAgICB1bmRlZiB1aWRfdAorIyAgICB1bmRlZiBnaWRfdAorIyAgICB1bmRlZiBvZmZfdAorIyAgICB1bmRlZiBsb2ZmX3QKKworIyAgICBkZWZpbmUgZGV2X3QgX19rZXJuZWxfZGV2X3QKKyMgICAgZGVmaW5lIGlub190IF9fa2VybmVsX2lub190CisjICAgIGRlZmluZSBtb2RlX3QgX19rZXJuZWxfbW9kZV90CisjICAgIGRlZmluZSBubGlua190IF9fa2VybmVsX25saW5rX3QKKyMgICAgZGVmaW5lIHVpZF90IF9fa2VybmVsX3VpZF90CisjICAgIGRlZmluZSBnaWRfdCBfX2tlcm5lbF9naWRfdAorIyAgICBkZWZpbmUgb2ZmX3QgX19rZXJuZWxfb2ZmX3QKKyMgICAgZGVmaW5lIGxvZmZfdCBfX2tlcm5lbF9sb2ZmX3QKKworIyAgICBpbmNsdWRlIDxhc20vc3RhdC5oPgorCisjICAgIHVuZGVmIGRldl90CisjICAgIHVuZGVmIGlub190CisjICAgIHVuZGVmIG1vZGVfdAorIyAgICB1bmRlZiBubGlua190CisjICAgIHVuZGVmIHVpZF90CisjICAgIHVuZGVmIGdpZF90CisjICAgIHVuZGVmIG9mZl90CisjICAgIHVuZGVmIGxvZmZfdAorCisjICAgIGRlZmluZSBkZXZfdCBkZXZfdAorIyAgICBkZWZpbmUgaW5vX3QgaW5vX3QKKyMgICAgZGVmaW5lIG1vZGVfdCBtb2RlX3QKKyMgICAgZGVmaW5lIG5saW5rX3QgbmxpbmtfdAorIyAgICBkZWZpbmUgdWlkX3QgdWlkX3QKKyMgICAgZGVmaW5lIGdpZF90IGdpZF90CisjICAgIGRlZmluZSBvZmZfdCBvZmZfdAorIyAgICBkZWZpbmUgbG9mZl90IGxvZmZfdAorIyAgZW5kaWYKKyMgIGlmZGVmIEhQUEEJLyogYXNtLXBhcmlzYy9zdGF0LmggZGVmaW5lcyBzdGF0NjQgKi8KKyMgICAgdW5kZWYgc3RhdDY0CisjICBlbmRpZgorIyAgZGVmaW5lIHN0YXQgbGliY19zdGF0CisjICBkZWZpbmUgc3RhdDY0IGxpYmNfc3RhdDY0CisjICBpbmNsdWRlIDxzeXMvc3RhdC5oPgorIyAgdW5kZWYgc3RhdAorIyAgdW5kZWYgc3RhdDY0CisgICAvKiBUaGVzZSBtaWdodCBiZSBtYWNyb3MuICovCisjICB1bmRlZiBzdF9hdGltZQorIyAgdW5kZWYgc3RfbXRpbWUKKyMgIHVuZGVmIHN0X2N0aW1lCisjICBpZmRlZiBIUFBBCisjICAgIGRlZmluZSBzdGF0NjQgaHB1eF9zdGF0NjQKKyMgIGVuZGlmCisjZWxzZQorIyAgaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNlbmRpZgorCisjaW5jbHVkZSA8ZmNudGwuaD4KKworI2lmZGVmIFNWUjQKKyMgIGluY2x1ZGUgPHN5cy9jcmVkLmg+CisjZW5kaWYgLyogU1ZSNCAqLworCisjaWZkZWYgSEFWRV9TWVNfVkZTX0gKKyNpbmNsdWRlIDxzeXMvdmZzLmg+CisjZW5kaWYKKworI2lmZGVmIEhBVkVfTElOVVhfWEFUVFJfSAorI2luY2x1ZGUgPGxpbnV4L3hhdHRyLmg+CisjZWxpZiBkZWZpbmVkIGxpbnV4CisjZGVmaW5lIFhBVFRSX0NSRUFURSAxCisjZGVmaW5lIFhBVFRSX1JFUExBQ0UgMgorI2VuZGlmCisKKyNpZmRlZiBGUkVFQlNECisjaW5jbHVkZSA8c3lzL3BhcmFtLmg+CisjaW5jbHVkZSA8c3lzL21vdW50Lmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNlbmRpZgorCisjaWYgX0xGUzY0X0xBUkdFRklMRSAmJiAoZGVmaW5lZChMSU5VWCkgfHwgZGVmaW5lZChTVlI0KSkKKyMgaWZkZWYgSEFWRV9JTlRUWVBFU19ICisjICBpbmNsdWRlIDxpbnR0eXBlcy5oPgorIyBlbHNlCisjICBkZWZpbmUgUFJJZDY0ICJsbGQiCisjICBkZWZpbmUgUFJJdTY0ICJsbHUiCisjIGVuZGlmCisjZW5kaWYKKworI2lmIEhBVkVfTE9OR19MT05HX09GRl9UCisvKgorICogVWdseSBoYWNrcyBmb3Igc3lzdGVtcyB0aGF0IGhhdmUgdHlwZWRlZiBsb25nIGxvbmcgb2ZmX3QKKyAqLworCisjZGVmaW5lIHN0YXQ2NCBzdGF0CisjZGVmaW5lIEhBVkVfU1RBVDY0IDEJLyogVWdseSBoYWNrICovCisKKyNkZWZpbmUJc3lzX3N0YXQ2NAlzeXNfc3RhdAorI2RlZmluZSBzeXNfZnN0YXQ2NAlzeXNfZnN0YXQKKyNkZWZpbmUgc3lzX2xzdGF0NjQJc3lzX2xzdGF0CisjZGVmaW5lIHN5c19sc2VlazY0CXN5c19sc2VlaworI2RlZmluZSBzeXNfdHJ1bmNhdGU2NAlzeXNfdHJ1bmNhdGUKKyNkZWZpbmUgc3lzX2Z0cnVuY2F0ZTY0CXN5c19mdHJ1bmNhdGUKKyNlbmRpZgorCisjaWZkZWYgTUFKT1JfSU5fU1lTTUFDUk9TCisjaW5jbHVkZSA8c3lzL3N5c21hY3Jvcy5oPgorI2VuZGlmCisKKyNpZmRlZiBNQUpPUl9JTl9NS0RFVgorI2luY2x1ZGUgPHN5cy9ta2Rldi5oPgorI2VuZGlmCisKKyNpZmRlZiBIQVZFX1NZU19BU1lOQ0hfSAorI2luY2x1ZGUgPHN5cy9hc3luY2guaD4KKyNlbmRpZgorCisjaWZkZWYgU1VOT1M0CisjaW5jbHVkZSA8dXN0YXQuaD4KKyNlbmRpZgorCitjb25zdCBzdHJ1Y3QgeGxhdCBvcGVuX2FjY2Vzc19tb2Rlc1tdID0geworCXsgT19SRE9OTFksCSJPX1JET05MWSIJfSwKKwl7IE9fV1JPTkxZLAkiT19XUk9OTFkiCX0sCisJeyBPX1JEV1IsCSJPX1JEV1IiCX0sCisjaWZkZWYgT19BQ0NNT0RFCisJeyBPX0FDQ01PREUsCSJPX0FDQ01PREUiCX0sCisjZW5kaWYKKwl7IDAsCQlOVUxMCQl9LAorfTsKKworY29uc3Qgc3RydWN0IHhsYXQgb3Blbl9tb2RlX2ZsYWdzW10gPSB7CisJeyBPX0NSRUFULAkiT19DUkVBVCIJfSwKKwl7IE9fRVhDTCwJIk9fRVhDTCIJfSwKKwl7IE9fTk9DVFRZLAkiT19OT0NUVFkiCX0sCisJeyBPX1RSVU5DLAkiT19UUlVOQyIJfSwKKwl7IE9fQVBQRU5ELAkiT19BUFBFTkQiCX0sCisJeyBPX05PTkJMT0NLLAkiT19OT05CTE9DSyIJfSwKKyNpZmRlZiBPX1NZTkMKKwl7IE9fU1lOQywJIk9fU1lOQyIJfSwKKyNlbmRpZgorI2lmZGVmIE9fQVNZTkMKKwl7IE9fQVNZTkMsCSJPX0FTWU5DIgl9LAorI2VuZGlmCisjaWZkZWYgT19EU1lOQworCXsgT19EU1lOQywJIk9fRFNZTkMiCX0sCisjZW5kaWYKKyNpZmRlZiBPX1JTWU5DCisJeyBPX1JTWU5DLAkiT19SU1lOQyIJfSwKKyNlbmRpZgorI2lmIGRlZmluZWQoT19OREVMQVkpICYmIChPX05ERUxBWSAhPSBPX05PTkJMT0NLKQorCXsgT19OREVMQVksCSJPX05ERUxBWSIJfSwKKyNlbmRpZgorI2lmZGVmIE9fUFJJVgorCXsgT19QUklWLAkiT19QUklWIgl9LAorI2VuZGlmCisjaWZkZWYgT19ESVJFQ1QKKwl7IE9fRElSRUNULAkiT19ESVJFQ1QiCX0sCisjZW5kaWYKKyNpZmRlZiBPX0xBUkdFRklMRQorIyBpZiBPX0xBUkdFRklMRSA9PSAwCQkvKiBiaWFyY2ggcGxhdGZvcm1zIGluIDY0LWJpdCBtb2RlICovCisjICB1bmRlZiBPX0xBUkdFRklMRQorIyAgaWZkZWYgU1BBUkM2NAorIyAgIGRlZmluZSBPX0xBUkdFRklMRQkweDQwMDAwCisjICBlbGlmIGRlZmluZWQgWDg2XzY0IHx8IGRlZmluZWQgUzM5MFgKKyMgICBkZWZpbmUgT19MQVJHRUZJTEUJMDEwMDAwMAorIyAgZW5kaWYKKyMgZW5kaWYKKyMgaWZkZWYgT19MQVJHRUZJTEUKKwl7IE9fTEFSR0VGSUxFLAkiT19MQVJHRUZJTEUiICAgfSwKKyMgZW5kaWYKKyNlbmRpZgorI2lmZGVmIE9fRElSRUNUT1JZCisJeyBPX0RJUkVDVE9SWSwJIk9fRElSRUNUT1JZIiAgIH0sCisjZW5kaWYKKyNpZmRlZiBPX05PRk9MTE9XCisJeyBPX05PRk9MTE9XLCAJIk9fTk9GT0xMT1ciCX0sCisjZW5kaWYKKyNpZmRlZiBPX05PQVRJTUUKKwl7IE9fTk9BVElNRSwgCSJPX05PQVRJTUUiCX0sCisjZW5kaWYKKyNpZmRlZiBPX0NMT0VYRUMKKwl7IE9fQ0xPRVhFQywJIk9fQ0xPRVhFQyIJfSwKKyNlbmRpZgorCisjaWZkZWYgRk5ERUxBWQorCXsgRk5ERUxBWSwJIkZOREVMQVkiCX0sCisjZW5kaWYKKyNpZmRlZiBGQVBQRU5ECisJeyBGQVBQRU5ELAkiRkFQUEVORCIJfSwKKyNlbmRpZgorI2lmZGVmIEZNQVJLCisJeyBGTUFSSywJIkZNQVJLIgkJfSwKKyNlbmRpZgorI2lmZGVmIEZERUZFUgorCXsgRkRFRkVSLAkiRkRFRkVSIgl9LAorI2VuZGlmCisjaWZkZWYgRkFTWU5DCisJeyBGQVNZTkMsCSJGQVNZTkMiCX0sCisjZW5kaWYKKyNpZmRlZiBGU0hMT0NLCisJeyBGU0hMT0NLLAkiRlNITE9DSyIJfSwKKyNlbmRpZgorI2lmZGVmIEZFWExPQ0sKKwl7IEZFWExPQ0ssCSJGRVhMT0NLIgl9LAorI2VuZGlmCisjaWZkZWYgRkNSRUFUCisJeyBGQ1JFQVQsCSJGQ1JFQVQiCX0sCisjZW5kaWYKKyNpZmRlZiBGVFJVTkMKKwl7IEZUUlVOQywJIkZUUlVOQyIJfSwKKyNlbmRpZgorI2lmZGVmIEZFWENMCisJeyBGRVhDTCwJIkZFWENMIgkJfSwKKyNlbmRpZgorI2lmZGVmIEZOQklPCisJeyBGTkJJTywJIkZOQklPIgkJfSwKKyNlbmRpZgorI2lmZGVmIEZTWU5DCisJeyBGU1lOQywJIkZTWU5DIgkJfSwKKyNlbmRpZgorI2lmZGVmIEZOT0NUVFkKKwl7IEZOT0NUVFksCSJGTk9DVFRZIgl9LAorI2VuZGlmCisjaWZkZWYgT19TSExPQ0sKKwl7IE9fU0hMT0NLLAkiT19TSExPQ0siCX0sCisjZW5kaWYKKyNpZmRlZiBPX0VYTE9DSworCXsgT19FWExPQ0ssCSJPX0VYTE9DSyIJfSwKKyNlbmRpZgorCXsgMCwJCU5VTEwJCX0sCit9OworCisjaWZkZWYgTElOVVgKKworI2lmbmRlZiBBVF9GRENXRAorIyBkZWZpbmUgQVRfRkRDV0QgICAgICAgICAgICAgICAgLTEwMAorI2VuZGlmCisKKy8qIFRoZSBmZCBpcyBhbiAiaW50Iiwgc28gd2hlbiBkZWNvZGluZyB4ODYgb24geDg2XzY0LCB3ZSBuZWVkIHRvIGZvcmNlIHNpZ24KKyAqIGV4dGVuc2lvbiB0byBnZXQgdGhlIHJpZ2h0IHZhbHVlLiAgV2UgZG8gdGhpcyBieSBkZWNsYXJpbmcgZmQgYXMgaW50IGhlcmUuCisgKi8KK3N0YXRpYyB2b2lkCitwcmludF9kaXJmZChpbnQgZmQpCit7CisJaWYgKGZkID09IEFUX0ZEQ1dEKQorCQl0cHJpbnRmKCJBVF9GRENXRCwgIik7CisJZWxzZQorCQl0cHJpbnRmKCIlZCwgIiwgZmQpOworfQorI2VuZGlmCisKKy8qCisgKiBQaXR5IHN0cGNweSgpIGlzIG5vdCBzdGFuZGFyZGl6ZWQuLi4KKyAqLworc3RhdGljIGNoYXIgKgorc3RyX2FwcGVuZChjaGFyICpkc3QsIGNvbnN0IGNoYXIgKnNyYykKK3sKKwl3aGlsZSAoKCpkc3QgPSAqc3JjKyspICE9ICdcMCcpCisJCWRzdCsrOworCXJldHVybiBkc3Q7Cit9CisKKy8qCisgKiBsb3cgYml0cyBvZiB0aGUgb3BlbigyKSBmbGFncyBkZWZpbmUgYWNjZXNzIG1vZGUsCisgKiBvdGhlciBiaXRzIGFyZSByZWFsIGZsYWdzLgorICovCitjb25zdCBjaGFyICoKK3NwcmludF9vcGVuX21vZGVzKG1vZGVfdCBmbGFncykKK3sKKwlzdGF0aWMgY2hhciBvdXRzdHJbMTAyNF07CisJY2hhciAqcDsKKwljaGFyIHNlcCA9IDA7CisJY29uc3QgY2hhciAqc3RyOworCWNvbnN0IHN0cnVjdCB4bGF0ICp4OworCisJcCA9IHN0cl9hcHBlbmQob3V0c3RyLCAiZmxhZ3MgIik7CisJc3RyID0geGxvb2t1cChvcGVuX2FjY2Vzc19tb2RlcywgZmxhZ3MgJiAzKTsKKwlpZiAoc3RyKSB7CisJCXAgPSBzdHJfYXBwZW5kKHAsIHN0cik7CisJCWZsYWdzICY9IH4zOworCQlpZiAoIWZsYWdzKQorCQkJcmV0dXJuIG91dHN0cjsKKwkJc2VwID0gJ3wnOworCX0KKworCWZvciAoeCA9IG9wZW5fbW9kZV9mbGFnczsgeC0+c3RyOyB4KyspIHsKKwkJaWYgKChmbGFncyAmIHgtPnZhbCkgPT0geC0+dmFsKSB7CisJCQlpZiAoc2VwKQorCQkJCSpwKysgPSBzZXA7CisJCQlwID0gc3RyX2FwcGVuZChwLCB4LT5zdHIpOworCQkJZmxhZ3MgJj0gfngtPnZhbDsKKwkJCWlmICghZmxhZ3MpCisJCQkJcmV0dXJuIG91dHN0cjsKKwkJCXNlcCA9ICd8JzsKKwkJfQorCX0KKwkvKiBmbGFncyBpcyBzdGlsbCBub256ZXJvICovCisJaWYgKHNlcCkKKwkJKnArKyA9IHNlcDsKKwlzcHJpbnRmKHAsICIlI3giLCBmbGFncyk7CisJcmV0dXJuIG91dHN0cjsKK30KKwordm9pZAordHByaW50X29wZW5fbW9kZXMobW9kZV90IGZsYWdzKQoreworCXRwcmludGYoIiVzIiwgc3ByaW50X29wZW5fbW9kZXMoZmxhZ3MpICsgc2l6ZW9mKCJmbGFncyIpKTsKK30KKworc3RhdGljIGludAorZGVjb2RlX29wZW4oc3RydWN0IHRjYiAqdGNwLCBpbnQgb2Zmc2V0KQoreworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXByaW50cGF0aCh0Y3AsIHRjcC0+dV9hcmdbb2Zmc2V0XSk7CisJCXRwcmludGYoIiwgIik7CisJCS8qIGZsYWdzICovCisJCXRwcmludF9vcGVuX21vZGVzKHRjcC0+dV9hcmdbb2Zmc2V0ICsgMV0pOworCQlpZiAodGNwLT51X2FyZ1tvZmZzZXQgKyAxXSAmIE9fQ1JFQVQpIHsKKwkJCS8qIG1vZGUgKi8KKwkJCXRwcmludGYoIiwgJSNsbyIsIHRjcC0+dV9hcmdbb2Zmc2V0ICsgMl0pOworCQl9CisJfQorCXJldHVybiAwOworfQorCitpbnQKK3N5c19vcGVuKHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwlyZXR1cm4gZGVjb2RlX29wZW4odGNwLCAwKTsKK30KKworI2lmZGVmIExJTlVYCitpbnQKK3N5c19vcGVuYXQoc3RydWN0IHRjYiAqdGNwKQoreworCWlmIChlbnRlcmluZyh0Y3ApKQorCQlwcmludF9kaXJmZCh0Y3AtPnVfYXJnWzBdKTsKKwlyZXR1cm4gZGVjb2RlX29wZW4odGNwLCAxKTsKK30KKyNlbmRpZgorCisjaWZkZWYgTElOVVhTUEFSQworc3RhdGljIGNvbnN0IHN0cnVjdCB4bGF0IG9wZW5tb2Rlc3NvbFtdID0geworCXsgMCwJCSJPX1JEV1IiCX0sCisJeyAxLAkJIk9fUkRPTkxZIgl9LAorCXsgMiwJCSJPX1dST05MWSIJfSwKKwl7IDB4ODAsCQkiT19OT05CTE9DSyIJfSwKKwl7IDgsCQkiT19BUFBFTkQiCX0sCisJeyAweDEwMCwJIk9fQ1JFQVQiCX0sCisJeyAweDIwMCwJIk9fVFJVTkMiCX0sCisJeyAweDQwMCwJIk9fRVhDTCIJfSwKKwl7IDB4ODAwLAkiT19OT0NUVFkiCX0sCisJeyAweDEwLAkJIk9fU1lOQyIJfSwKKwl7IDB4NDAsCQkiT19EU1lOQyIJfSwKKwl7IDB4ODAwMCwJIk9fUlNZTkMiCX0sCisJeyA0LAkJIk9fTkRFTEFZIgl9LAorCXsgMHgxMDAwLAkiT19QUklWIgl9LAorCXsgMCwJCU5VTEwJCX0sCit9OworCitpbnQKK3NvbGFyaXNfb3BlbihzdHJ1Y3QgdGNiICp0Y3ApCit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJcHJpbnRwYXRoKHRjcCwgdGNwLT51X2FyZ1swXSk7CisJCXRwcmludGYoIiwgIik7CisJCS8qIGZsYWdzICovCisJCXByaW50ZmxhZ3Mob3Blbm1vZGVzc29sLCB0Y3AtPnVfYXJnWzFdICsgMSwgIk9fPz8/Iik7CisJCWlmICh0Y3AtPnVfYXJnWzFdICYgMHgxMDApIHsKKwkJCS8qIG1vZGUgKi8KKwkJCXRwcmludGYoIiwgJSNsbyIsIHRjcC0+dV9hcmdbMl0pOworCQl9CisJfQorCXJldHVybiAwOworfQorCisjZW5kaWYKKworaW50CitzeXNfY3JlYXQoc3RydWN0IHRjYiAqdGNwKQoreworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXByaW50cGF0aCh0Y3AsIHRjcC0+dV9hcmdbMF0pOworCQl0cHJpbnRmKCIsICUjbG8iLCB0Y3AtPnVfYXJnWzFdKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCBhY2Nlc3NfZmxhZ3NbXSA9IHsKKwl7IEZfT0ssCQkiRl9PSyIsCQl9LAorCXsgUl9PSywJCSJSX09LIgkJfSwKKwl7IFdfT0ssCQkiV19PSyIJCX0sCisJeyBYX09LLAkJIlhfT0siCQl9LAorI2lmZGVmIEVGRl9PTkxZX09LCisJeyBFRkZfT05MWV9PSywJIkVGRl9PTkxZX09LIgl9LAorI2VuZGlmCisjaWZkZWYgRVhfT0sKKwl7IEVYX09LLAkiRVhfT0siCQl9LAorI2VuZGlmCisJeyAwLAkJTlVMTAkJfSwKK307CisKK3N0YXRpYyBpbnQKK2RlY29kZV9hY2Nlc3Moc3RydWN0IHRjYiAqdGNwLCBpbnQgb2Zmc2V0KQoreworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXByaW50cGF0aCh0Y3AsIHRjcC0+dV9hcmdbb2Zmc2V0XSk7CisJCXRwcmludGYoIiwgIik7CisJCXByaW50ZmxhZ3MoYWNjZXNzX2ZsYWdzLCB0Y3AtPnVfYXJnW29mZnNldCArIDFdLCAiP19PSyIpOworCX0KKwlyZXR1cm4gMDsKK30KKworaW50CitzeXNfYWNjZXNzKHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwlyZXR1cm4gZGVjb2RlX2FjY2Vzcyh0Y3AsIDApOworfQorCisjaWZkZWYgTElOVVgKK2ludAorc3lzX2ZhY2Nlc3NhdChzdHJ1Y3QgdGNiICp0Y3ApCit7CisJaWYgKGVudGVyaW5nKHRjcCkpCisJCXByaW50X2RpcmZkKHRjcC0+dV9hcmdbMF0pOworCXJldHVybiBkZWNvZGVfYWNjZXNzKHRjcCwgMSk7Cit9CisjZW5kaWYKKworaW50CitzeXNfdW1hc2soc3RydWN0IHRjYiAqdGNwKQoreworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXRwcmludGYoIiUjbG8iLCB0Y3AtPnVfYXJnWzBdKTsKKwl9CisJcmV0dXJuIFJWQUxfT0NUQUw7Cit9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCB3aGVuY2VbXSA9IHsKKwl7IFNFRUtfU0VULAkiU0VFS19TRVQiCX0sCisJeyBTRUVLX0NVUiwJIlNFRUtfQ1VSIgl9LAorCXsgU0VFS19FTkQsCSJTRUVLX0VORCIJfSwKKwl7IDAsCQlOVUxMCQl9LAorfTsKKworI2lmbmRlZiBIQVZFX0xPTkdfTE9OR19PRkZfVAorI2lmIGRlZmluZWQgKExJTlVYX01JUFNOMzIpCitpbnQKK3N5c19sc2VlayhzdHJ1Y3QgdGNiICp0Y3ApCit7CisJbG9uZyBsb25nIG9mZnNldDsKKwlpbnQgX3doZW5jZTsKKworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXRwcmludGYoIiVsZCwgIiwgdGNwLT51X2FyZ1swXSk7CisJCW9mZnNldCA9IHRjcC0+ZXh0X2FyZ1sxXTsKKwkJX3doZW5jZSA9IHRjcC0+dV9hcmdbMl07CisJCWlmIChfd2hlbmNlID09IFNFRUtfU0VUKQorCQkJdHByaW50ZigiJWxsdSwgIiwgb2Zmc2V0KTsKKwkJZWxzZQorCQkJdHByaW50ZigiJWxsZCwgIiwgb2Zmc2V0KTsKKwkJcHJpbnR4dmFsKHdoZW5jZSwgX3doZW5jZSwgIlNFRUtfPz8/Iik7CisJfQorCXJldHVybiBSVkFMX1VERUNJTUFMOworfQorI2Vsc2UgLyogIUxJTlVYX01JUFNOMzIgKi8KK2ludAorc3lzX2xzZWVrKHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwlvZmZfdCBvZmZzZXQ7CisJaW50IF93aGVuY2U7CisKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQl0cHJpbnRmKCIlbGQsICIsIHRjcC0+dV9hcmdbMF0pOworCQlvZmZzZXQgPSB0Y3AtPnVfYXJnWzFdOworCQlfd2hlbmNlID0gdGNwLT51X2FyZ1syXTsKKwkJaWYgKF93aGVuY2UgPT0gU0VFS19TRVQpCisJCQl0cHJpbnRmKCIlbHUsICIsIG9mZnNldCk7CisJCWVsc2UKKwkJCXRwcmludGYoIiVsZCwgIiwgb2Zmc2V0KTsKKwkJcHJpbnR4dmFsKHdoZW5jZSwgX3doZW5jZSwgIlNFRUtfPz8/Iik7CisJfQorCXJldHVybiBSVkFMX1VERUNJTUFMOworfQorI2VuZGlmIC8qIExJTlVYX01JUFNOMzIgKi8KKyNlbmRpZgorCisjaWZkZWYgTElOVVgKK2ludAorc3lzX2xsc2VlayhzdHJ1Y3QgdGNiICp0Y3ApCit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJLyoKKwkJICogVGhpcyBvbmUgY2FsbCB0YWtlcyBleHBsaWNpdGx5IHR3byAzMi1iaXQgYXJndW1lbnRzIGhpLCBsbywKKwkJICogcmF0aGVyIHRoYW4gb25lIDY0LWJpdCBhcmd1bWVudCBmb3Igd2hpY2ggTE9OR19MT05HIHdvcmtzCisJCSAqIGFwcHJvcHJpYXRlIGZvciB0aGUgbmF0aXZlIGJ5dGUgb3JkZXIuCisJCSAqLworCQlpZiAodGNwLT51X2FyZ1s0XSA9PSBTRUVLX1NFVCkKKwkJCXRwcmludGYoIiVsZCwgJWxsdSwgIiwgdGNwLT51X2FyZ1swXSwKKwkJCQkoKChsb25nIGxvbmcgaW50KSB0Y3AtPnVfYXJnWzFdKSA8PCAzMgorCQkJCSB8ICh1bnNpZ25lZCBsb25nIGxvbmcpICh1bnNpZ25lZCkgdGNwLT51X2FyZ1syXSkpOworCQllbHNlCisJCQl0cHJpbnRmKCIlbGQsICVsbGQsICIsIHRjcC0+dV9hcmdbMF0sCisJCQkJKCgobG9uZyBsb25nIGludCkgdGNwLT51X2FyZ1sxXSkgPDwgMzIKKwkJCQkgfCAodW5zaWduZWQgbG9uZyBsb25nKSAodW5zaWduZWQpIHRjcC0+dV9hcmdbMl0pKTsKKwl9CisJZWxzZSB7CisJCWxvbmcgbG9uZyBpbnQgb2ZmOworCQlpZiAoc3lzZXJyb3IodGNwKSB8fCB1bW92ZSh0Y3AsIHRjcC0+dV9hcmdbM10sICZvZmYpIDwgMCkKKwkJCXRwcmludGYoIiUjbHgsICIsIHRjcC0+dV9hcmdbM10pOworCQllbHNlCisJCQl0cHJpbnRmKCJbJWxsdV0sICIsIG9mZik7CisJCXByaW50eHZhbCh3aGVuY2UsIHRjcC0+dV9hcmdbNF0sICJTRUVLXz8/PyIpOworCX0KKwlyZXR1cm4gMDsKK30KKworaW50CitzeXNfcmVhZGFoZWFkKHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQlpbnQgYXJnbjsKKwkJdHByaW50ZigiJWxkLCAiLCB0Y3AtPnVfYXJnWzBdKTsKKwkJYXJnbiA9IHByaW50bGx2YWwodGNwLCAiJWxsZCIsIDEpOworCQl0cHJpbnRmKCIsICVsZCIsIHRjcC0+dV9hcmdbYXJnbl0pOworCX0KKwlyZXR1cm4gMDsKK30KKyNlbmRpZgorCisjaWYgX0xGUzY0X0xBUkdFRklMRSB8fCBIQVZFX0xPTkdfTE9OR19PRkZfVAoraW50CitzeXNfbHNlZWs2NChzdHJ1Y3QgdGNiICp0Y3ApCit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJaW50IGFyZ247CisJCXRwcmludGYoIiVsZCwgIiwgdGNwLT51X2FyZ1swXSk7CisJCWlmICh0Y3AtPnVfYXJnWzNdID09IFNFRUtfU0VUKQorCQkJYXJnbiA9IHByaW50bGx2YWwodGNwLCAiJWxsdSwgIiwgMSk7CisJCWVsc2UKKwkJCWFyZ24gPSBwcmludGxsdmFsKHRjcCwgIiVsbGQsICIsIDEpOworCQlwcmludHh2YWwod2hlbmNlLCB0Y3AtPnVfYXJnW2FyZ25dLCAiU0VFS18/Pz8iKTsKKwl9CisJcmV0dXJuIFJWQUxfTFVERUNJTUFMOworfQorI2VuZGlmCisKKyNpZm5kZWYgSEFWRV9MT05HX0xPTkdfT0ZGX1QKK2ludAorc3lzX3RydW5jYXRlKHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQlwcmludHBhdGgodGNwLCB0Y3AtPnVfYXJnWzBdKTsKKwkJdHByaW50ZigiLCAlbHUiLCB0Y3AtPnVfYXJnWzFdKTsKKwl9CisJcmV0dXJuIDA7Cit9CisjZW5kaWYKKworI2lmIF9MRlM2NF9MQVJHRUZJTEUgfHwgSEFWRV9MT05HX0xPTkdfT0ZGX1QKK2ludAorc3lzX3RydW5jYXRlNjQoc3RydWN0IHRjYiAqdGNwKQoreworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXByaW50cGF0aCh0Y3AsIHRjcC0+dV9hcmdbMF0pOworCQlwcmludGxsdmFsKHRjcCwgIiwgJWxsdSIsIDEpOworCX0KKwlyZXR1cm4gMDsKK30KKyNlbmRpZgorCisjaWZuZGVmIEhBVkVfTE9OR19MT05HX09GRl9UCitpbnQKK3N5c19mdHJ1bmNhdGUoc3RydWN0IHRjYiAqdGNwKQoreworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXRwcmludGYoIiVsZCwgJWx1IiwgdGNwLT51X2FyZ1swXSwgdGNwLT51X2FyZ1sxXSk7CisJfQorCXJldHVybiAwOworfQorI2VuZGlmCisKKyNpZiBfTEZTNjRfTEFSR0VGSUxFIHx8IEhBVkVfTE9OR19MT05HX09GRl9UCitpbnQKK3N5c19mdHJ1bmNhdGU2NChzdHJ1Y3QgdGNiICp0Y3ApCit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJdHByaW50ZigiJWxkLCAiLCB0Y3AtPnVfYXJnWzBdKTsKKwkJcHJpbnRsbHZhbCh0Y3AsICIlbGx1IiwgMSk7CisJfQorCXJldHVybiAwOworfQorI2VuZGlmCisKKy8qIHNldmVyYWwgc3RhdHMgKi8KKworc3RhdGljIGNvbnN0IHN0cnVjdCB4bGF0IG1vZGV0eXBlc1tdID0geworCXsgU19JRlJFRywJIlNfSUZSRUciCX0sCisJeyBTX0lGU09DSywJIlNfSUZTT0NLIgl9LAorCXsgU19JRklGTywJIlNfSUZJRk8iCX0sCisJeyBTX0lGTE5LLAkiU19JRkxOSyIJfSwKKwl7IFNfSUZESVIsCSJTX0lGRElSIgl9LAorCXsgU19JRkJMSywJIlNfSUZCTEsiCX0sCisJeyBTX0lGQ0hSLAkiU19JRkNIUiIJfSwKKwl7IDAsCQlOVUxMCQl9LAorfTsKKworc3RhdGljIGNvbnN0IGNoYXIgKgorc3ByaW50bW9kZShpbnQgbW9kZSkKK3sKKwlzdGF0aWMgY2hhciBidWZbNjRdOworCWNvbnN0IGNoYXIgKnM7CisKKwlpZiAoKG1vZGUgJiBTX0lGTVQpID09IDApCisJCXMgPSAiIjsKKwllbHNlIGlmICgocyA9IHhsb29rdXAobW9kZXR5cGVzLCBtb2RlICYgU19JRk1UKSkgPT0gTlVMTCkgeworCQlzcHJpbnRmKGJ1ZiwgIiUjbyIsIG1vZGUpOworCQlyZXR1cm4gYnVmOworCX0KKwlzcHJpbnRmKGJ1ZiwgIiVzJXMlcyVzIiwgcywKKwkJKG1vZGUgJiBTX0lTVUlEKSA/ICJ8U19JU1VJRCIgOiAiIiwKKwkJKG1vZGUgJiBTX0lTR0lEKSA/ICJ8U19JU0dJRCIgOiAiIiwKKwkJKG1vZGUgJiBTX0lTVlRYKSA/ICJ8U19JU1ZUWCIgOiAiIik7CisJbW9kZSAmPSB+KFNfSUZNVHxTX0lTVUlEfFNfSVNHSUR8U19JU1ZUWCk7CisJaWYgKG1vZGUpCisJCXNwcmludGYoYnVmICsgc3RybGVuKGJ1ZiksICJ8JSNvIiwgbW9kZSk7CisJcyA9ICgqYnVmID09ICd8JykgPyBidWYgKyAxIDogYnVmOworCXJldHVybiAqcyA/IHMgOiAiMCI7Cit9CisKK3N0YXRpYyBjaGFyICoKK3NwcmludHRpbWUodGltZV90IHQpCit7CisJc3RydWN0IHRtICp0bXA7CisJc3RhdGljIGNoYXIgYnVmWzMyXTsKKworCWlmICh0ID09IDApIHsKKwkJc3RyY3B5KGJ1ZiwgIjAiKTsKKwkJcmV0dXJuIGJ1ZjsKKwl9CisJaWYgKCh0bXAgPSBsb2NhbHRpbWUoJnQpKSkKKwkJc25wcmludGYoYnVmLCBzaXplb2YgYnVmLCAiJTAyZC8lMDJkLyUwMmQtJTAyZDolMDJkOiUwMmQiLAorCQkJdG1wLT50bV95ZWFyICsgMTkwMCwgdG1wLT50bV9tb24gKyAxLCB0bXAtPnRtX21kYXksCisJCQl0bXAtPnRtX2hvdXIsIHRtcC0+dG1fbWluLCB0bXAtPnRtX3NlYyk7CisJZWxzZQorCQlzbnByaW50ZihidWYsIHNpemVvZiBidWYsICIlbHUiLCAodW5zaWduZWQgbG9uZykgdCk7CisKKwlyZXR1cm4gYnVmOworfQorCisjaWZkZWYgTElOVVhTUEFSQwordHlwZWRlZiBzdHJ1Y3QgeworCWludCAgICAgdHZfc2VjOworCWludCAgICAgdHZfbnNlYzsKK30gdGltZXN0cnVjdF90OworCitzdHJ1Y3Qgc29sc3RhdCB7CisJdW5zaWduZWQgICAgICAgIHN0X2RldjsKKwlpbnQgICAgICAgICAgICAgc3RfcGFkMVszXTsgICAgIC8qIG5ldHdvcmsgaWQgKi8KKwl1bnNpZ25lZCAgICAgICAgc3RfaW5vOworCXVuc2lnbmVkICAgICAgICBzdF9tb2RlOworCXVuc2lnbmVkICAgICAgICBzdF9ubGluazsKKwl1bnNpZ25lZCAgICAgICAgc3RfdWlkOworCXVuc2lnbmVkICAgICAgICBzdF9naWQ7CisJdW5zaWduZWQgICAgICAgIHN0X3JkZXY7CisJaW50ICAgICAgICAgICAgIHN0X3BhZDJbMl07CisJaW50ICAgICAgICAgICAgIHN0X3NpemU7CisJaW50ICAgICAgICAgICAgIHN0X3BhZDM7ICAgICAgICAvKiBzdF9zaXplLCBvZmZfdCBleHBhbnNpb24gKi8KKwl0aW1lc3RydWN0X3QgICAgc3RfYXRpbWU7CisJdGltZXN0cnVjdF90ICAgIHN0X210aW1lOworCXRpbWVzdHJ1Y3RfdCAgICBzdF9jdGltZTsKKwlpbnQgICAgICAgICAgICAgc3RfYmxrc2l6ZTsKKwlpbnQgICAgICAgICAgICAgc3RfYmxvY2tzOworCWNoYXIgICAgICAgICAgICBzdF9mc3R5cGVbMTZdOworCWludCAgICAgICAgICAgICBzdF9wYWQ0WzhdOyAgICAgLyogZXhwYW5zaW9uIGFyZWEgKi8KK307CisKK3N0YXRpYyB2b2lkCitwcmludHN0YXRzb2woc3RydWN0IHRjYiAqdGNwLCBsb25nIGFkZHIpCit7CisJc3RydWN0IHNvbHN0YXQgc3RhdGJ1ZjsKKworCWlmICh1bW92ZSh0Y3AsIGFkZHIsICZzdGF0YnVmKSA8IDApIHsKKwkJdHByaW50Zigiey4uLn0iKTsKKwkJcmV0dXJuOworCX0KKwlpZiAoIWFiYnJldih0Y3ApKSB7CisJCXRwcmludGYoIntzdF9kZXY9bWFrZWRldiglbHUsICVsdSksIHN0X2lubz0lbHUsIHN0X21vZGU9JXMsICIsCisJCQkodW5zaWduZWQgbG9uZykgKChzdGF0YnVmLnN0X2RldiA+PiAxOCkgJiAweDNmZmYpLAorCQkJKHVuc2lnbmVkIGxvbmcpIChzdGF0YnVmLnN0X2RldiAmIDB4M2ZmZmYpLAorCQkJKHVuc2lnbmVkIGxvbmcpIHN0YXRidWYuc3RfaW5vLAorCQkJc3ByaW50bW9kZShzdGF0YnVmLnN0X21vZGUpKTsKKwkJdHByaW50Zigic3Rfbmxpbms9JWx1LCBzdF91aWQ9JWx1LCBzdF9naWQ9JWx1LCAiLAorCQkJKHVuc2lnbmVkIGxvbmcpIHN0YXRidWYuc3RfbmxpbmssCisJCQkodW5zaWduZWQgbG9uZykgc3RhdGJ1Zi5zdF91aWQsCisJCQkodW5zaWduZWQgbG9uZykgc3RhdGJ1Zi5zdF9naWQpOworCQl0cHJpbnRmKCJzdF9ibGtzaXplPSVsdSwgIiwgKHVuc2lnbmVkIGxvbmcpIHN0YXRidWYuc3RfYmxrc2l6ZSk7CisJCXRwcmludGYoInN0X2Jsb2Nrcz0lbHUsICIsICh1bnNpZ25lZCBsb25nKSBzdGF0YnVmLnN0X2Jsb2Nrcyk7CisJfQorCWVsc2UKKwkJdHByaW50Zigie3N0X21vZGU9JXMsICIsIHNwcmludG1vZGUoc3RhdGJ1Zi5zdF9tb2RlKSk7CisJc3dpdGNoIChzdGF0YnVmLnN0X21vZGUgJiBTX0lGTVQpIHsKKwljYXNlIFNfSUZDSFI6IGNhc2UgU19JRkJMSzoKKwkJdHByaW50Zigic3RfcmRldj1tYWtlZGV2KCVsdSwgJWx1KSwgIiwKKwkJCSh1bnNpZ25lZCBsb25nKSAoKHN0YXRidWYuc3RfcmRldiA+PiAxOCkgJiAweDNmZmYpLAorCQkJKHVuc2lnbmVkIGxvbmcpIChzdGF0YnVmLnN0X3JkZXYgJiAweDNmZmZmKSk7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXRwcmludGYoInN0X3NpemU9JXUsICIsIHN0YXRidWYuc3Rfc2l6ZSk7CisJCWJyZWFrOworCX0KKwlpZiAoIWFiYnJldih0Y3ApKSB7CisJCXRwcmludGYoInN0X2F0aW1lPSVzLCAiLCBzcHJpbnR0aW1lKHN0YXRidWYuc3RfYXRpbWUudHZfc2VjKSk7CisJCXRwcmludGYoInN0X210aW1lPSVzLCAiLCBzcHJpbnR0aW1lKHN0YXRidWYuc3RfbXRpbWUudHZfc2VjKSk7CisJCXRwcmludGYoInN0X2N0aW1lPSVzfSIsIHNwcmludHRpbWUoc3RhdGJ1Zi5zdF9jdGltZS50dl9zZWMpKTsKKwl9CisJZWxzZQorCQl0cHJpbnRmKCIuLi59Iik7Cit9CisKKyNpZiBkZWZpbmVkIChTUEFSQzY0KQorc3RhdGljIHZvaWQKK3ByaW50c3RhdF9zcGFyYzY0KHN0cnVjdCB0Y2IgKnRjcCwgbG9uZyBhZGRyKQoreworCXN0cnVjdCBzdGF0X3NwYXJjNjQgc3RhdGJ1ZjsKKworCWlmICh1bW92ZSh0Y3AsIGFkZHIsICZzdGF0YnVmKSA8IDApIHsKKwkJdHByaW50Zigiey4uLn0iKTsKKwkJcmV0dXJuOworCX0KKworCWlmICghYWJicmV2KHRjcCkpIHsKKwkJdHByaW50Zigie3N0X2Rldj1tYWtlZGV2KCVsdSwgJWx1KSwgc3RfaW5vPSVsdSwgc3RfbW9kZT0lcywgIiwKKwkJCSh1bnNpZ25lZCBsb25nKSBtYWpvcihzdGF0YnVmLnN0X2RldiksCisJCQkodW5zaWduZWQgbG9uZykgbWlub3Ioc3RhdGJ1Zi5zdF9kZXYpLAorCQkJKHVuc2lnbmVkIGxvbmcpIHN0YXRidWYuc3RfaW5vLAorCQkJc3ByaW50bW9kZShzdGF0YnVmLnN0X21vZGUpKTsKKwkJdHByaW50Zigic3Rfbmxpbms9JWx1LCBzdF91aWQ9JWx1LCBzdF9naWQ9JWx1LCAiLAorCQkJKHVuc2lnbmVkIGxvbmcpIHN0YXRidWYuc3RfbmxpbmssCisJCQkodW5zaWduZWQgbG9uZykgc3RhdGJ1Zi5zdF91aWQsCisJCQkodW5zaWduZWQgbG9uZykgc3RhdGJ1Zi5zdF9naWQpOworCQl0cHJpbnRmKCJzdF9ibGtzaXplPSVsdSwgIiwKKwkJCSh1bnNpZ25lZCBsb25nKSBzdGF0YnVmLnN0X2Jsa3NpemUpOworCQl0cHJpbnRmKCJzdF9ibG9ja3M9JWx1LCAiLAorCQkJKHVuc2lnbmVkIGxvbmcpIHN0YXRidWYuc3RfYmxvY2tzKTsKKwl9CisJZWxzZQorCQl0cHJpbnRmKCJ7c3RfbW9kZT0lcywgIiwgc3ByaW50bW9kZShzdGF0YnVmLnN0X21vZGUpKTsKKwlzd2l0Y2ggKHN0YXRidWYuc3RfbW9kZSAmIFNfSUZNVCkgeworCWNhc2UgU19JRkNIUjogY2FzZSBTX0lGQkxLOgorCQl0cHJpbnRmKCJzdF9yZGV2PW1ha2VkZXYoJWx1LCAlbHUpLCAiLAorCQkJKHVuc2lnbmVkIGxvbmcpIG1ham9yKHN0YXRidWYuc3RfcmRldiksCisJCQkodW5zaWduZWQgbG9uZykgbWlub3Ioc3RhdGJ1Zi5zdF9yZGV2KSk7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXRwcmludGYoInN0X3NpemU9JWx1LCAiLCBzdGF0YnVmLnN0X3NpemUpOworCQlicmVhazsKKwl9CisJaWYgKCFhYmJyZXYodGNwKSkgeworCQl0cHJpbnRmKCJzdF9hdGltZT0lcywgIiwgc3ByaW50dGltZShzdGF0YnVmLnN0X2F0aW1lKSk7CisJCXRwcmludGYoInN0X210aW1lPSVzLCAiLCBzcHJpbnR0aW1lKHN0YXRidWYuc3RfbXRpbWUpKTsKKwkJdHByaW50Zigic3RfY3RpbWU9JXMiLCBzcHJpbnR0aW1lKHN0YXRidWYuc3RfY3RpbWUpKTsKKwkJdHByaW50ZigifSIpOworCX0KKwllbHNlCisJCXRwcmludGYoIi4uLn0iKTsKK30KKyNlbmRpZiAvKiBTUEFSQzY0ICovCisjZW5kaWYgLyogTElOVVhTUEFSQyAqLworCitzdGF0aWMgY29uc3Qgc3RydWN0IHhsYXQgZmlsZWZsYWdzW10gPSB7CisjaWZkZWYgRlJFRUJTRAorCXsgVUZfTk9EVU1QLAkiVUZfTk9EVU1QIgl9LAorCXsgVUZfSU1NVVRBQkxFLAkiVUZfSU1NVVRBQkxFIgl9LAorCXsgVUZfQVBQRU5ELAkiVUZfQVBQRU5EIgl9LAorCXsgVUZfT1BBUVVFLAkiVUZfT1BBUVVFIgl9LAorCXsgVUZfTk9VTkxJTkssCSJVRl9OT1VOTElOSyIJfSwKKwl7IFNGX0FSQ0hJVkVELAkiU0ZfQVJDSElWRUQiCX0sCisJeyBTRl9JTU1VVEFCTEUsCSJTRl9JTU1VVEFCTEUiCX0sCisJeyBTRl9BUFBFTkQsCSJTRl9BUFBFTkQiCX0sCisJeyBTRl9OT1VOTElOSywJIlNGX05PVU5MSU5LIgl9LAorI2VsaWYgVU5JWFdBUkUgPj0gMgorI2lmZGVmIAlfU19JU01MRAorCXsgX1NfSVNNTEQsIAkiX1NfSVNNTEQiCX0sCisjZW5kaWYKKyNpZmRlZiAJX1NfSVNNT1VOVEVECisJeyBfU19JU01PVU5URUQsICJfU19JU01PVU5URUQiCX0sCisjZW5kaWYKKyNlbmRpZgorCXsgMCwJCU5VTEwJCX0sCit9OworCisjaWZkZWYgRlJFRUJTRAoraW50CitzeXNfY2hmbGFncyhzdHJ1Y3QgdGNiICp0Y3ApCit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJcHJpbnRwYXRoKHRjcCwgdGNwLT51X2FyZ1swXSk7CisJCXRwcmludGYoIiwgIik7CisJCXByaW50ZmxhZ3MoZmlsZWZsYWdzLCB0Y3AtPnVfYXJnWzFdLCAiVUZfPz8/Iik7CisJfQorCXJldHVybiAwOworfQorCitpbnQKK3N5c19mY2hmbGFncyhzdHJ1Y3QgdGNiICp0Y3ApCit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJdHByaW50ZigiJWxkLCAiLCB0Y3AtPnVfYXJnWzBdKTsKKwkJcHJpbnRmbGFncyhmaWxlZmxhZ3MsIHRjcC0+dV9hcmdbMV0sICJVRl8/Pz8iKTsKKwl9CisJcmV0dXJuIDA7Cit9CisjZW5kaWYKKworI2lmbmRlZiBIQVZFX0xPTkdfTE9OR19PRkZfVAorc3RhdGljIHZvaWQKK3JlYWxwcmludHN0YXQoc3RydWN0IHRjYiAqdGNwLCBzdHJ1Y3Qgc3RhdCAqc3RhdGJ1ZikKK3sKKwlpZiAoIWFiYnJldih0Y3ApKSB7CisJCXRwcmludGYoIntzdF9kZXY9bWFrZWRldiglbHUsICVsdSksIHN0X2lubz0lbHUsIHN0X21vZGU9JXMsICIsCisJCQkodW5zaWduZWQgbG9uZykgbWFqb3Ioc3RhdGJ1Zi0+c3RfZGV2KSwKKwkJCSh1bnNpZ25lZCBsb25nKSBtaW5vcihzdGF0YnVmLT5zdF9kZXYpLAorCQkJKHVuc2lnbmVkIGxvbmcpIHN0YXRidWYtPnN0X2lubywKKwkJCXNwcmludG1vZGUoc3RhdGJ1Zi0+c3RfbW9kZSkpOworCQl0cHJpbnRmKCJzdF9ubGluaz0lbHUsIHN0X3VpZD0lbHUsIHN0X2dpZD0lbHUsICIsCisJCQkodW5zaWduZWQgbG9uZykgc3RhdGJ1Zi0+c3RfbmxpbmssCisJCQkodW5zaWduZWQgbG9uZykgc3RhdGJ1Zi0+c3RfdWlkLAorCQkJKHVuc2lnbmVkIGxvbmcpIHN0YXRidWYtPnN0X2dpZCk7CisjaWZkZWYgSEFWRV9TVFJVQ1RfU1RBVF9TVF9CTEtTSVpFCisJCXRwcmludGYoInN0X2Jsa3NpemU9JWx1LCAiLCAodW5zaWduZWQgbG9uZykgc3RhdGJ1Zi0+c3RfYmxrc2l6ZSk7CisjZW5kaWYKKyNpZmRlZiBIQVZFX1NUUlVDVF9TVEFUX1NUX0JMT0NLUworCQl0cHJpbnRmKCJzdF9ibG9ja3M9JWx1LCAiLCAodW5zaWduZWQgbG9uZykgc3RhdGJ1Zi0+c3RfYmxvY2tzKTsKKyNlbmRpZgorCX0KKwllbHNlCisJCXRwcmludGYoIntzdF9tb2RlPSVzLCAiLCBzcHJpbnRtb2RlKHN0YXRidWYtPnN0X21vZGUpKTsKKwlzd2l0Y2ggKHN0YXRidWYtPnN0X21vZGUgJiBTX0lGTVQpIHsKKwljYXNlIFNfSUZDSFI6IGNhc2UgU19JRkJMSzoKKyNpZmRlZiBIQVZFX1NUUlVDVF9TVEFUX1NUX1JERVYKKwkJdHByaW50Zigic3RfcmRldj1tYWtlZGV2KCVsdSwgJWx1KSwgIiwKKwkJCSh1bnNpZ25lZCBsb25nKSBtYWpvcihzdGF0YnVmLT5zdF9yZGV2KSwKKwkJCSh1bnNpZ25lZCBsb25nKSBtaW5vcihzdGF0YnVmLT5zdF9yZGV2KSk7CisjZWxzZSAvKiAhSEFWRV9TVFJVQ1RfU1RBVF9TVF9SREVWICovCisJCXRwcmludGYoInN0X3NpemU9bWFrZWRldiglbHUsICVsdSksICIsCisJCQkodW5zaWduZWQgbG9uZykgbWFqb3Ioc3RhdGJ1Zi0+c3Rfc2l6ZSksCisJCQkodW5zaWduZWQgbG9uZykgbWlub3Ioc3RhdGJ1Zi0+c3Rfc2l6ZSkpOworI2VuZGlmIC8qICFIQVZFX1NUUlVDVF9TVEFUX1NUX1JERVYgKi8KKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJdHByaW50Zigic3Rfc2l6ZT0lbHUsICIsIHN0YXRidWYtPnN0X3NpemUpOworCQlicmVhazsKKwl9CisJaWYgKCFhYmJyZXYodGNwKSkgeworCQl0cHJpbnRmKCJzdF9hdGltZT0lcywgIiwgc3ByaW50dGltZShzdGF0YnVmLT5zdF9hdGltZSkpOworCQl0cHJpbnRmKCJzdF9tdGltZT0lcywgIiwgc3ByaW50dGltZShzdGF0YnVmLT5zdF9tdGltZSkpOworCQl0cHJpbnRmKCJzdF9jdGltZT0lcyIsIHNwcmludHRpbWUoc3RhdGJ1Zi0+c3RfY3RpbWUpKTsKKyNpZiBIQVZFX1NUUlVDVF9TVEFUX1NUX0ZMQUdTCisJCXRwcmludGYoIiwgc3RfZmxhZ3M9Iik7CisJCXByaW50ZmxhZ3MoZmlsZWZsYWdzLCBzdGF0YnVmLT5zdF9mbGFncywgIlVGXz8/PyIpOworI2VuZGlmCisjaWYgSEFWRV9TVFJVQ1RfU1RBVF9TVF9BQ0xDTlQKKwkJdHByaW50ZigiLCBzdF9hY2xjbnQ9JWQiLCBzdGF0YnVmLT5zdF9hY2xjbnQpOworI2VuZGlmCisjaWYgSEFWRV9TVFJVQ1RfU1RBVF9TVF9MRVZFTAorCQl0cHJpbnRmKCIsIHN0X2xldmVsPSVsZCIsIHN0YXRidWYtPnN0X2xldmVsKTsKKyNlbmRpZgorI2lmIEhBVkVfU1RSVUNUX1NUQVRfU1RfRlNUWVBFCisJCXRwcmludGYoIiwgc3RfZnN0eXBlPSUuKnMiLAorCQkJKGludCkgc2l6ZW9mIHN0YXRidWYtPnN0X2ZzdHlwZSwgc3RhdGJ1Zi0+c3RfZnN0eXBlKTsKKyNlbmRpZgorI2lmIEhBVkVfU1RSVUNUX1NUQVRfU1RfR0VOCisJCXRwcmludGYoIiwgc3RfZ2VuPSV1Iiwgc3RhdGJ1Zi0+c3RfZ2VuKTsKKyNlbmRpZgorCQl0cHJpbnRmKCJ9Iik7CisJfQorCWVsc2UKKwkJdHByaW50ZigiLi4ufSIpOworfQorCisKK3N0YXRpYyB2b2lkCitwcmludHN0YXQoc3RydWN0IHRjYiAqdGNwLCBsb25nIGFkZHIpCit7CisJc3RydWN0IHN0YXQgc3RhdGJ1ZjsKKworCWlmICghYWRkcikgeworCQl0cHJpbnRmKCJOVUxMIik7CisJCXJldHVybjsKKwl9CisJaWYgKHN5c2Vycm9yKHRjcCkgfHwgIXZlcmJvc2UodGNwKSkgeworCQl0cHJpbnRmKCIlI2x4IiwgYWRkcik7CisJCXJldHVybjsKKwl9CisKKyNpZmRlZiBMSU5VWFNQQVJDCisJaWYgKGN1cnJlbnRfcGVyc29uYWxpdHkgPT0gMSkgeworCQlwcmludHN0YXRzb2wodGNwLCBhZGRyKTsKKwkJcmV0dXJuOworCX0KKyNpZmRlZiBTUEFSQzY0CisJZWxzZSBpZiAoY3VycmVudF9wZXJzb25hbGl0eSA9PSAyKSB7CisJCXByaW50c3RhdF9zcGFyYzY0KHRjcCwgYWRkcik7CisJCXJldHVybjsKKwl9CisjZW5kaWYKKyNlbmRpZiAvKiBMSU5VWFNQQVJDICovCisKKwlpZiAodW1vdmUodGNwLCBhZGRyLCAmc3RhdGJ1ZikgPCAwKSB7CisJCXRwcmludGYoInsuLi59Iik7CisJCXJldHVybjsKKwl9CisKKwlyZWFscHJpbnRzdGF0KHRjcCwgJnN0YXRidWYpOworfQorI2VuZGlmCS8qICFIQVZFX0xPTkdfTE9OR19PRkZfVCAqLworCisjaWYgIWRlZmluZWQgSEFWRV9TVEFUNjQgJiYgZGVmaW5lZCBMSU5VWCAmJiBkZWZpbmVkIFg4Nl82NAorLyoKKyAqIExpbnV4IHg4Nl82NCBoYXMgdW5pZmllZCBgc3RydWN0IHN0YXQnIGJ1dCBpdHMgaTM4NiBiaWFyY2ggbmVlZHMKKyAqIGBzdHJ1Y3Qgc3RhdDY0Jy4gIEl0cyA8YXNtLWkzODYvc3RhdC5oPiBkZWZpbml0aW9uIGV4cGVjdHMgMzItYml0IGBsb25nJy4KKyAqIDxsaW51eC9pbmNsdWRlL2FzbS14ODZfNjQvaWEzMi5oPiBpcyBub3QgaW4gdGhlIHB1YmxpYyBpbmNsdWRlcyBzZXQuCisgKiBfX0dOVUNfXyBpcyBuZWVkZWQgZm9yIHRoZSByZXF1aXJlZCBfX2F0dHJpYnV0ZV9fIGJlbG93LgorICovCitzdHJ1Y3Qgc3RhdDY0IHsKKwl1bnNpZ25lZCBsb25nIGxvbmcJc3RfZGV2OworCXVuc2lnbmVkIGNoYXIJX19wYWQwWzRdOworCXVuc2lnbmVkIGludAlfX3N0X2lubzsKKwl1bnNpZ25lZCBpbnQJc3RfbW9kZTsKKwl1bnNpZ25lZCBpbnQJc3Rfbmxpbms7CisJdW5zaWduZWQgaW50CXN0X3VpZDsKKwl1bnNpZ25lZCBpbnQJc3RfZ2lkOworCXVuc2lnbmVkIGxvbmcgbG9uZwlzdF9yZGV2OworCXVuc2lnbmVkIGNoYXIJX19wYWQzWzRdOworCWxvbmcgbG9uZwlzdF9zaXplOworCXVuc2lnbmVkIGludAlzdF9ibGtzaXplOworCXVuc2lnbmVkIGxvbmcgbG9uZwlzdF9ibG9ja3M7CisJdW5zaWduZWQgaW50CXN0X2F0aW1lOworCXVuc2lnbmVkIGludAlzdF9hdGltZV9uc2VjOworCXVuc2lnbmVkIGludAlzdF9tdGltZTsKKwl1bnNpZ25lZCBpbnQJc3RfbXRpbWVfbnNlYzsKKwl1bnNpZ25lZCBpbnQJc3RfY3RpbWU7CisJdW5zaWduZWQgaW50CXN0X2N0aW1lX25zZWM7CisJdW5zaWduZWQgbG9uZyBsb25nCXN0X2lubzsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisjIGRlZmluZSBIQVZFX1NUQVQ2NAkxCisjIGRlZmluZSBTVEFUNjRfU0laRQk5NgorI2VuZGlmCisKKyNpZmRlZiBIQVZFX1NUQVQ2NAorc3RhdGljIHZvaWQKK3ByaW50c3RhdDY0KHN0cnVjdCB0Y2IgKnRjcCwgbG9uZyBhZGRyKQoreworCXN0cnVjdCBzdGF0NjQgc3RhdGJ1ZjsKKworI2lmZGVmIFNUQVQ2NF9TSVpFCisJKHZvaWQpIHNpemVvZihjaGFyW3NpemVvZiBzdGF0YnVmID09IFNUQVQ2NF9TSVpFID8gMSA6IC0xXSk7CisjZW5kaWYKKworCWlmICghYWRkcikgeworCQl0cHJpbnRmKCJOVUxMIik7CisJCXJldHVybjsKKwl9CisJaWYgKHN5c2Vycm9yKHRjcCkgfHwgIXZlcmJvc2UodGNwKSkgeworCQl0cHJpbnRmKCIlI2x4IiwgYWRkcik7CisJCXJldHVybjsKKwl9CisKKyNpZmRlZiBMSU5VWFNQQVJDCisJaWYgKGN1cnJlbnRfcGVyc29uYWxpdHkgPT0gMSkgeworCQlwcmludHN0YXRzb2wodGNwLCBhZGRyKTsKKwkJcmV0dXJuOworCX0KKyMgaWZkZWYgU1BBUkM2NAorCWVsc2UgaWYgKGN1cnJlbnRfcGVyc29uYWxpdHkgPT0gMikgeworCQlwcmludHN0YXRfc3BhcmM2NCh0Y3AsIGFkZHIpOworCQlyZXR1cm47CisJfQorIyBlbmRpZgorI2VuZGlmIC8qIExJTlVYU1BBUkMgKi8KKworI2lmIGRlZmluZWQgTElOVVggJiYgZGVmaW5lZCBYODZfNjQKKwlpZiAoY3VycmVudF9wZXJzb25hbGl0eSA9PSAwKSB7CisJCXByaW50c3RhdCh0Y3AsIGFkZHIpOworCQlyZXR1cm47CisJfQorI2VuZGlmCisKKwlpZiAodW1vdmUodGNwLCBhZGRyLCAmc3RhdGJ1ZikgPCAwKSB7CisJCXRwcmludGYoInsuLi59Iik7CisJCXJldHVybjsKKwl9CisKKwlpZiAoIWFiYnJldih0Y3ApKSB7CisjaWZkZWYgSEFWRV9MT05HX0xPTkcKKwkJdHByaW50Zigie3N0X2Rldj1tYWtlZGV2KCVsdSwgJWx1KSwgc3RfaW5vPSVsbHUsIHN0X21vZGU9JXMsICIsCisjZWxzZQorCQl0cHJpbnRmKCJ7c3RfZGV2PW1ha2VkZXYoJWx1LCAlbHUpLCBzdF9pbm89JWx1LCBzdF9tb2RlPSVzLCAiLAorI2VuZGlmCisJCQkodW5zaWduZWQgbG9uZykgbWFqb3Ioc3RhdGJ1Zi5zdF9kZXYpLAorCQkJKHVuc2lnbmVkIGxvbmcpIG1pbm9yKHN0YXRidWYuc3RfZGV2KSwKKyNpZmRlZiBIQVZFX0xPTkdfTE9ORworCQkJKHVuc2lnbmVkIGxvbmcgbG9uZykgc3RhdGJ1Zi5zdF9pbm8sCisjZWxzZQorCQkJKHVuc2lnbmVkIGxvbmcpIHN0YXRidWYuc3RfaW5vLAorI2VuZGlmCisJCQlzcHJpbnRtb2RlKHN0YXRidWYuc3RfbW9kZSkpOworCQl0cHJpbnRmKCJzdF9ubGluaz0lbHUsIHN0X3VpZD0lbHUsIHN0X2dpZD0lbHUsICIsCisJCQkodW5zaWduZWQgbG9uZykgc3RhdGJ1Zi5zdF9ubGluaywKKwkJCSh1bnNpZ25lZCBsb25nKSBzdGF0YnVmLnN0X3VpZCwKKwkJCSh1bnNpZ25lZCBsb25nKSBzdGF0YnVmLnN0X2dpZCk7CisjaWZkZWYgSEFWRV9TVFJVQ1RfU1RBVF9TVF9CTEtTSVpFCisJCXRwcmludGYoInN0X2Jsa3NpemU9JWx1LCAiLAorCQkJKHVuc2lnbmVkIGxvbmcpIHN0YXRidWYuc3RfYmxrc2l6ZSk7CisjZW5kaWYgLyogSEFWRV9TVFJVQ1RfU1RBVF9TVF9CTEtTSVpFICovCisjaWZkZWYgSEFWRV9TVFJVQ1RfU1RBVF9TVF9CTE9DS1MKKwkJdHByaW50Zigic3RfYmxvY2tzPSVsdSwgIiwgKHVuc2lnbmVkIGxvbmcpIHN0YXRidWYuc3RfYmxvY2tzKTsKKyNlbmRpZiAvKiBIQVZFX1NUUlVDVF9TVEFUX1NUX0JMT0NLUyAqLworCX0KKwllbHNlCisJCXRwcmludGYoIntzdF9tb2RlPSVzLCAiLCBzcHJpbnRtb2RlKHN0YXRidWYuc3RfbW9kZSkpOworCXN3aXRjaCAoc3RhdGJ1Zi5zdF9tb2RlICYgU19JRk1UKSB7CisJY2FzZSBTX0lGQ0hSOiBjYXNlIFNfSUZCTEs6CisjaWZkZWYgSEFWRV9TVFJVQ1RfU1RBVF9TVF9SREVWCisJCXRwcmludGYoInN0X3JkZXY9bWFrZWRldiglbHUsICVsdSksICIsCisJCQkodW5zaWduZWQgbG9uZykgbWFqb3Ioc3RhdGJ1Zi5zdF9yZGV2KSwKKwkJCSh1bnNpZ25lZCBsb25nKSBtaW5vcihzdGF0YnVmLnN0X3JkZXYpKTsKKyNlbHNlIC8qICFIQVZFX1NUUlVDVF9TVEFUX1NUX1JERVYgKi8KKwkJdHByaW50Zigic3Rfc2l6ZT1tYWtlZGV2KCVsdSwgJWx1KSwgIiwKKwkJCSh1bnNpZ25lZCBsb25nKSBtYWpvcihzdGF0YnVmLnN0X3NpemUpLAorCQkJKHVuc2lnbmVkIGxvbmcpIG1pbm9yKHN0YXRidWYuc3Rfc2l6ZSkpOworI2VuZGlmIC8qICFIQVZFX1NUUlVDVF9TVEFUX1NUX1JERVYgKi8KKwkJYnJlYWs7CisJZGVmYXVsdDoKKyNpZmRlZiBIQVZFX0xPTkdfTE9ORworCQl0cHJpbnRmKCJzdF9zaXplPSVsbHUsICIsICh1bnNpZ25lZCBsb25nIGxvbmcpIHN0YXRidWYuc3Rfc2l6ZSk7CisjZWxzZQorCQl0cHJpbnRmKCJzdF9zaXplPSVsdSwgIiwgKHVuc2lnbmVkIGxvbmcpIHN0YXRidWYuc3Rfc2l6ZSk7CisjZW5kaWYKKwkJYnJlYWs7CisJfQorCWlmICghYWJicmV2KHRjcCkpIHsKKwkJdHByaW50Zigic3RfYXRpbWU9JXMsICIsIHNwcmludHRpbWUoc3RhdGJ1Zi5zdF9hdGltZSkpOworCQl0cHJpbnRmKCJzdF9tdGltZT0lcywgIiwgc3ByaW50dGltZShzdGF0YnVmLnN0X210aW1lKSk7CisJCXRwcmludGYoInN0X2N0aW1lPSVzIiwgc3ByaW50dGltZShzdGF0YnVmLnN0X2N0aW1lKSk7CisjaWYgSEFWRV9TVFJVQ1RfU1RBVF9TVF9GTEFHUworCQl0cHJpbnRmKCIsIHN0X2ZsYWdzPSIpOworCQlwcmludGZsYWdzKGZpbGVmbGFncywgc3RhdGJ1Zi5zdF9mbGFncywgIlVGXz8/PyIpOworI2VuZGlmCisjaWYgSEFWRV9TVFJVQ1RfU1RBVF9TVF9BQ0xDTlQKKwkJdHByaW50ZigiLCBzdF9hY2xjbnQ9JWQiLCBzdGF0YnVmLnN0X2FjbGNudCk7CisjZW5kaWYKKyNpZiBIQVZFX1NUUlVDVF9TVEFUX1NUX0xFVkVMCisJCXRwcmludGYoIiwgc3RfbGV2ZWw9JWxkIiwgc3RhdGJ1Zi5zdF9sZXZlbCk7CisjZW5kaWYKKyNpZiBIQVZFX1NUUlVDVF9TVEFUX1NUX0ZTVFlQRQorCQl0cHJpbnRmKCIsIHN0X2ZzdHlwZT0lLipzIiwKKwkJCShpbnQpIHNpemVvZiBzdGF0YnVmLnN0X2ZzdHlwZSwgc3RhdGJ1Zi5zdF9mc3R5cGUpOworI2VuZGlmCisjaWYgSEFWRV9TVFJVQ1RfU1RBVF9TVF9HRU4KKwkJdHByaW50ZigiLCBzdF9nZW49JXUiLCBzdGF0YnVmLnN0X2dlbik7CisjZW5kaWYKKwkJdHByaW50ZigifSIpOworCX0KKwllbHNlCisJCXRwcmludGYoIi4uLn0iKTsKK30KKyNlbmRpZiAvKiBIQVZFX1NUQVQ2NCAqLworCisjaWYgZGVmaW5lZChMSU5VWCkgJiYgZGVmaW5lZChIQVZFX1NUUlVDVF9fX09MRF9LRVJORUxfU1RBVCkKK3N0YXRpYyB2b2lkCitjb252ZXJ0b2xkc3RhdChjb25zdCBzdHJ1Y3QgX19vbGRfa2VybmVsX3N0YXQgKm9sZGJ1Ziwgc3RydWN0IHN0YXQgKm5ld2J1ZikKK3sKKwluZXdidWYtPnN0X2RldiA9IG9sZGJ1Zi0+c3RfZGV2OworCW5ld2J1Zi0+c3RfaW5vID0gb2xkYnVmLT5zdF9pbm87CisJbmV3YnVmLT5zdF9tb2RlID0gb2xkYnVmLT5zdF9tb2RlOworCW5ld2J1Zi0+c3RfbmxpbmsgPSBvbGRidWYtPnN0X25saW5rOworCW5ld2J1Zi0+c3RfdWlkID0gb2xkYnVmLT5zdF91aWQ7CisJbmV3YnVmLT5zdF9naWQgPSBvbGRidWYtPnN0X2dpZDsKKwluZXdidWYtPnN0X3JkZXYgPSBvbGRidWYtPnN0X3JkZXY7CisJbmV3YnVmLT5zdF9zaXplID0gb2xkYnVmLT5zdF9zaXplOworCW5ld2J1Zi0+c3RfYXRpbWUgPSBvbGRidWYtPnN0X2F0aW1lOworCW5ld2J1Zi0+c3RfbXRpbWUgPSBvbGRidWYtPnN0X210aW1lOworCW5ld2J1Zi0+c3RfY3RpbWUgPSBvbGRidWYtPnN0X2N0aW1lOworCW5ld2J1Zi0+c3RfYmxrc2l6ZSA9IDA7IC8qIG5vdCBzdXBwb3J0ZWQgaW4gb2xkX3N0YXQgKi8KKwluZXdidWYtPnN0X2Jsb2NrcyA9IDA7IC8qIG5vdCBzdXBwb3J0ZWQgaW4gb2xkX3N0YXQgKi8KK30KKworCitzdGF0aWMgdm9pZAorcHJpbnRvbGRzdGF0KHN0cnVjdCB0Y2IgKnRjcCwgbG9uZyBhZGRyKQoreworCXN0cnVjdCBfX29sZF9rZXJuZWxfc3RhdCBzdGF0YnVmOworCXN0cnVjdCBzdGF0IG5ld3N0YXRidWY7CisKKwlpZiAoIWFkZHIpIHsKKwkJdHByaW50ZigiTlVMTCIpOworCQlyZXR1cm47CisJfQorCWlmIChzeXNlcnJvcih0Y3ApIHx8ICF2ZXJib3NlKHRjcCkpIHsKKwkJdHByaW50ZigiJSNseCIsIGFkZHIpOworCQlyZXR1cm47CisJfQorCisjaWZkZWYgTElOVVhTUEFSQworCWlmIChjdXJyZW50X3BlcnNvbmFsaXR5ID09IDEpIHsKKwkJcHJpbnRzdGF0c29sKHRjcCwgYWRkcik7CisJCXJldHVybjsKKwl9CisjZW5kaWYgLyogTElOVVhTUEFSQyAqLworCisJaWYgKHVtb3ZlKHRjcCwgYWRkciwgJnN0YXRidWYpIDwgMCkgeworCQl0cHJpbnRmKCJ7Li4ufSIpOworCQlyZXR1cm47CisJfQorCisJY29udmVydG9sZHN0YXQoJnN0YXRidWYsICZuZXdzdGF0YnVmKTsKKwlyZWFscHJpbnRzdGF0KHRjcCwgJm5ld3N0YXRidWYpOworfQorI2VuZGlmIC8qIExJTlVYICYmICFJQTY0ICYmICFIUFBBICYmICFYODZfNjQgJiYgIVMzOTAgJiYgIVMzOTBYICovCisKKyNpZm5kZWYgSEFWRV9MT05HX0xPTkdfT0ZGX1QKK2ludAorc3lzX3N0YXQoc3RydWN0IHRjYiAqdGNwKQoreworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXByaW50cGF0aCh0Y3AsIHRjcC0+dV9hcmdbMF0pOworCQl0cHJpbnRmKCIsICIpOworCX0gZWxzZSB7CisJCXByaW50c3RhdCh0Y3AsIHRjcC0+dV9hcmdbMV0pOworCX0KKwlyZXR1cm4gMDsKK30KKyNlbmRpZgorCitpbnQKK3N5c19zdGF0NjQoc3RydWN0IHRjYiAqdGNwKQoreworI2lmZGVmIEhBVkVfU1RBVDY0CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJcHJpbnRwYXRoKHRjcCwgdGNwLT51X2FyZ1swXSk7CisJCXRwcmludGYoIiwgIik7CisJfSBlbHNlIHsKKwkJcHJpbnRzdGF0NjQodGNwLCB0Y3AtPnVfYXJnWzFdKTsKKwl9CisJcmV0dXJuIDA7CisjZWxzZQorCXJldHVybiBwcmludGFyZ3ModGNwKTsKKyNlbmRpZgorfQorCisjaWZkZWYgTElOVVgKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCBmc3RhdGF0ZmxhZ3NbXSA9IHsKKyNpZm5kZWYgQVRfU1lNTElOS19OT0ZPTExPVworIyBkZWZpbmUgQVRfU1lNTElOS19OT0ZPTExPVyAgICAgMHgxMDAKKyNlbmRpZgorCXsgQVRfU1lNTElOS19OT0ZPTExPVywJIkFUX1NZTUxJTktfTk9GT0xMT1ciCX0sCisJeyAwLAkJCU5VTEwJCQl9LAorfTsKKyNkZWZpbmUgdXRpbWVuc2F0ZmxhZ3MgZnN0YXRhdGZsYWdzCisKK2ludAorc3lzX25ld2ZzdGF0YXQoc3RydWN0IHRjYiAqdGNwKQoreworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXByaW50X2RpcmZkKHRjcC0+dV9hcmdbMF0pOworCQlwcmludHBhdGgodGNwLCB0Y3AtPnVfYXJnWzFdKTsKKwkJdHByaW50ZigiLCAiKTsKKwl9IGVsc2UgeworI2lmIGRlZmluZWQgSEFWRV9TVEFUNjQgJiYgIShkZWZpbmVkIFBPV0VSUEMgJiYgZGVmaW5lZCBfX3Bvd2VycGM2NF9fKQorCQlwcmludHN0YXQ2NCh0Y3AsIHRjcC0+dV9hcmdbMl0pOworI2Vsc2UKKwkJcHJpbnRzdGF0KHRjcCwgdGNwLT51X2FyZ1syXSk7CisjZW5kaWYKKwkJdHByaW50ZigiLCAiKTsKKwkJcHJpbnRmbGFncyhmc3RhdGF0ZmxhZ3MsIHRjcC0+dV9hcmdbM10sICJBVF8/Pz8iKTsKKwl9CisJcmV0dXJuIDA7Cit9CisjZW5kaWYKKworI2lmIGRlZmluZWQoTElOVVgpICYmIGRlZmluZWQoSEFWRV9TVFJVQ1RfX19PTERfS0VSTkVMX1NUQVQpCitpbnQKK3N5c19vbGRzdGF0KHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQlwcmludHBhdGgodGNwLCB0Y3AtPnVfYXJnWzBdKTsKKwkJdHByaW50ZigiLCAiKTsKKwl9IGVsc2UgeworCQlwcmludG9sZHN0YXQodGNwLCB0Y3AtPnVfYXJnWzFdKTsKKwl9CisJcmV0dXJuIDA7Cit9CisjZW5kaWYgLyogTElOVVggJiYgSEFWRV9TVFJVQ1RfX19PTERfS0VSTkVMX1NUQVQgKi8KKworI2lmbmRlZiBIQVZFX0xPTkdfTE9OR19PRkZfVAoraW50CitzeXNfZnN0YXQoc3RydWN0IHRjYiAqdGNwKQoreworCWlmIChlbnRlcmluZyh0Y3ApKQorCQl0cHJpbnRmKCIlbGQsICIsIHRjcC0+dV9hcmdbMF0pOworCWVsc2UgeworCQlwcmludHN0YXQodGNwLCB0Y3AtPnVfYXJnWzFdKTsKKwl9CisJcmV0dXJuIDA7Cit9CisjZW5kaWYKKworaW50CitzeXNfZnN0YXQ2NChzdHJ1Y3QgdGNiICp0Y3ApCit7CisjaWZkZWYgSEFWRV9TVEFUNjQKKwlpZiAoZW50ZXJpbmcodGNwKSkKKwkJdHByaW50ZigiJWxkLCAiLCB0Y3AtPnVfYXJnWzBdKTsKKwllbHNlIHsKKwkJcHJpbnRzdGF0NjQodGNwLCB0Y3AtPnVfYXJnWzFdKTsKKwl9CisJcmV0dXJuIDA7CisjZWxzZQorCXJldHVybiBwcmludGFyZ3ModGNwKTsKKyNlbmRpZgorfQorCisjaWYgZGVmaW5lZChMSU5VWCkgJiYgZGVmaW5lZChIQVZFX1NUUlVDVF9fX09MRF9LRVJORUxfU1RBVCkKK2ludAorc3lzX29sZGZzdGF0KHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkKKwkJdHByaW50ZigiJWxkLCAiLCB0Y3AtPnVfYXJnWzBdKTsKKwllbHNlIHsKKwkJcHJpbnRvbGRzdGF0KHRjcCwgdGNwLT51X2FyZ1sxXSk7CisJfQorCXJldHVybiAwOworfQorI2VuZGlmIC8qIExJTlVYICYmIEhBVkVfU1RSVUNUX19fT0xEX0tFUk5FTF9TVEFUICovCisKKyNpZm5kZWYgSEFWRV9MT05HX0xPTkdfT0ZGX1QKK2ludAorc3lzX2xzdGF0KHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQlwcmludHBhdGgodGNwLCB0Y3AtPnVfYXJnWzBdKTsKKwkJdHByaW50ZigiLCAiKTsKKwl9IGVsc2UgeworCQlwcmludHN0YXQodGNwLCB0Y3AtPnVfYXJnWzFdKTsKKwl9CisJcmV0dXJuIDA7Cit9CisjZW5kaWYKKworaW50CitzeXNfbHN0YXQ2NChzdHJ1Y3QgdGNiICp0Y3ApCit7CisjaWZkZWYgSEFWRV9TVEFUNjQKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQlwcmludHBhdGgodGNwLCB0Y3AtPnVfYXJnWzBdKTsKKwkJdHByaW50ZigiLCAiKTsKKwl9IGVsc2UgeworCQlwcmludHN0YXQ2NCh0Y3AsIHRjcC0+dV9hcmdbMV0pOworCX0KKwlyZXR1cm4gMDsKKyNlbHNlCisJcmV0dXJuIHByaW50YXJncyh0Y3ApOworI2VuZGlmCit9CisKKyNpZiBkZWZpbmVkKExJTlVYKSAmJiBkZWZpbmVkKEhBVkVfU1RSVUNUX19fT0xEX0tFUk5FTF9TVEFUKQoraW50CitzeXNfb2xkbHN0YXQoc3RydWN0IHRjYiAqdGNwKQoreworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXByaW50cGF0aCh0Y3AsIHRjcC0+dV9hcmdbMF0pOworCQl0cHJpbnRmKCIsICIpOworCX0gZWxzZSB7CisJCXByaW50b2xkc3RhdCh0Y3AsIHRjcC0+dV9hcmdbMV0pOworCX0KKwlyZXR1cm4gMDsKK30KKyNlbmRpZiAvKiBMSU5VWCAmJiBIQVZFX1NUUlVDVF9fX09MRF9LRVJORUxfU1RBVCAqLworCisKKyNpZiBkZWZpbmVkKFNWUjQpIHx8IGRlZmluZWQoTElOVVhTUEFSQykKKworaW50CitzeXNfeHN0YXQoc3RydWN0IHRjYiAqdGNwKQoreworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXRwcmludGYoIiVsZCwgIiwgdGNwLT51X2FyZ1swXSk7CisJCXByaW50cGF0aCh0Y3AsIHRjcC0+dV9hcmdbMV0pOworCQl0cHJpbnRmKCIsICIpOworCX0gZWxzZSB7CisjaWZkZWYgX1NUQVQ2NF9WRVIKKwkJaWYgKHRjcC0+dV9hcmdbMF0gPT0gX1NUQVQ2NF9WRVIpCisJCQlwcmludHN0YXQ2NCAodGNwLCB0Y3AtPnVfYXJnWzJdKTsKKwkJZWxzZQorI2VuZGlmCisJCXByaW50c3RhdCh0Y3AsIHRjcC0+dV9hcmdbMl0pOworCX0KKwlyZXR1cm4gMDsKK30KKworaW50CitzeXNfZnhzdGF0KHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkKKwkJdHByaW50ZigiJWxkLCAlbGQsICIsIHRjcC0+dV9hcmdbMF0sIHRjcC0+dV9hcmdbMV0pOworCWVsc2UgeworI2lmZGVmIF9TVEFUNjRfVkVSCisJCWlmICh0Y3AtPnVfYXJnWzBdID09IF9TVEFUNjRfVkVSKQorCQkJcHJpbnRzdGF0NjQgKHRjcCwgdGNwLT51X2FyZ1syXSk7CisJCWVsc2UKKyNlbmRpZgorCQlwcmludHN0YXQodGNwLCB0Y3AtPnVfYXJnWzJdKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK2ludAorc3lzX2x4c3RhdChzdHJ1Y3QgdGNiICp0Y3ApCit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJdHByaW50ZigiJWxkLCAiLCB0Y3AtPnVfYXJnWzBdKTsKKwkJcHJpbnRwYXRoKHRjcCwgdGNwLT51X2FyZ1sxXSk7CisJCXRwcmludGYoIiwgIik7CisJfSBlbHNlIHsKKyNpZmRlZiBfU1RBVDY0X1ZFUgorCQlpZiAodGNwLT51X2FyZ1swXSA9PSBfU1RBVDY0X1ZFUikKKwkJCXByaW50c3RhdDY0ICh0Y3AsIHRjcC0+dV9hcmdbMl0pOworCQllbHNlCisjZW5kaWYKKwkJcHJpbnRzdGF0KHRjcCwgdGNwLT51X2FyZ1syXSk7CisJfQorCXJldHVybiAwOworfQorCitpbnQKK3N5c194bWtub2Qoc3RydWN0IHRjYiAqdGNwKQoreworCWludCBtb2RlID0gdGNwLT51X2FyZ1syXTsKKworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXRwcmludGYoIiVsZCwgIiwgdGNwLT51X2FyZ1swXSk7CisJCXByaW50cGF0aCh0Y3AsIHRjcC0+dV9hcmdbMV0pOworCQl0cHJpbnRmKCIsICVzIiwgc3ByaW50bW9kZShtb2RlKSk7CisJCXN3aXRjaCAobW9kZSAmIFNfSUZNVCkgeworCQljYXNlIFNfSUZDSFI6IGNhc2UgU19JRkJMSzoKKyNpZmRlZiBMSU5VWFNQQVJDCisJCQl0cHJpbnRmKCIsIG1ha2VkZXYoJWx1LCAlbHUpIiwKKwkJCQkodW5zaWduZWQgbG9uZykgKCh0Y3AtPnVfYXJnWzNdID4+IDE4KSAmIDB4M2ZmZiksCisJCQkJKHVuc2lnbmVkIGxvbmcpICh0Y3AtPnVfYXJnWzNdICYgMHgzZmZmZikpOworI2Vsc2UKKwkJCXRwcmludGYoIiwgbWFrZWRldiglbHUsICVsdSkiLAorCQkJCSh1bnNpZ25lZCBsb25nKSBtYWpvcih0Y3AtPnVfYXJnWzNdKSwKKwkJCQkodW5zaWduZWQgbG9uZykgbWlub3IodGNwLT51X2FyZ1szXSkpOworI2VuZGlmCisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCWJyZWFrOworCQl9CisJfQorCXJldHVybiAwOworfQorCisjaWZkZWYgSEFWRV9TWVNfQUNMX0gKKworI2luY2x1ZGUgPHN5cy9hY2wuaD4KKworc3RhdGljIGNvbnN0IHN0cnVjdCB4bGF0IGFjbGNtZHNbXSA9IHsKKyNpZmRlZiBTRVRBQ0wKKwl7IFNFVEFDTCwJIlNFVEFDTCIJfSwKKyNlbmRpZgorI2lmZGVmIEdFVEFDTAorCXsgR0VUQUNMLAkiR0VUQUNMIgl9LAorI2VuZGlmCisjaWZkZWYgR0VUQUNMQ05UCisJeyBHRVRBQ0xDTlQsCSJHRVRBQ0xDTlQiCX0sCisjZW5kaWYKKyNpZmRlZiBBQ0xfR0VUCisJeyBBQ0xfR0VULAkiQUNMX0dFVCIJfSwKKyNlbmRpZgorI2lmZGVmIEFDTF9TRVQKKwl7IEFDTF9TRVQsCSJBQ0xfU0VUIgl9LAorI2VuZGlmCisjaWZkZWYgQUNMX0NOVAorCXsgQUNMX0NOVCwJIkFDTF9DTlQiCX0sCisjZW5kaWYKKwl7IDAsCQlOVUxMCQl9LAorfTsKKworaW50CitzeXNfYWNsKHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQlwcmludHBhdGgodGNwLCB0Y3AtPnVfYXJnWzBdKTsKKwkJdHByaW50ZigiLCAiKTsKKwkJcHJpbnR4dmFsKGFjbGNtZHMsIHRjcC0+dV9hcmdbMV0sICI/Pz9BQ0w/Pz8iKTsKKwkJdHByaW50ZigiLCAlbGQiLCB0Y3AtPnVfYXJnWzJdKTsKKwkJLyoKKwkJICogRklYTUUgLSBkdW1wIG91dCB0aGUgbGlzdCBvZiBhY2xlbnRfdCdzIHBvaW50ZWQgdG8KKwkJICogYnkgInRjcC0+dV9hcmdbM10iIGlmIGl0J3Mgbm90IE5VTEwuCisJCSAqLworCQlpZiAodGNwLT51X2FyZ1szXSkKKwkJCXRwcmludGYoIiwgJSNseCIsIHRjcC0+dV9hcmdbM10pOworCQllbHNlCisJCQl0cHJpbnRmKCIsIE5VTEwiKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKKworaW50CitzeXNfZmFjbChzdHJ1Y3QgdGNiICp0Y3ApCit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJdHByaW50ZigiJWxkLCAiLCB0Y3AtPnVfYXJnWzBdKTsKKwkJcHJpbnR4dmFsKGFjbGNtZHMsIHRjcC0+dV9hcmdbMV0sICI/Pz9BQ0w/Pz8iKTsKKwkJdHByaW50ZigiLCAlbGQiLCB0Y3AtPnVfYXJnWzJdKTsKKwkJLyoKKwkJICogRklYTUUgLSBkdW1wIG91dCB0aGUgbGlzdCBvZiBhY2xlbnRfdCdzIHBvaW50ZWQgdG8KKwkJICogYnkgInRjcC0+dV9hcmdbM10iIGlmIGl0J3Mgbm90IE5VTEwuCisJCSAqLworCQlpZiAodGNwLT51X2FyZ1szXSkKKwkJCXRwcmludGYoIiwgJSNseCIsIHRjcC0+dV9hcmdbM10pOworCQllbHNlCisJCQl0cHJpbnRmKCIsIE5VTEwiKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKKworc3RhdGljIGNvbnN0IHN0cnVjdCB4bGF0IGFjbGlwY1tdID0geworI2lmZGVmIElQQ19TSE0KKwl7IElQQ19TSE0sCSJJUENfU0hNIgl9LAorI2VuZGlmCisjaWZkZWYgSVBDX1NFTQorCXsgSVBDX1NFTSwJIklQQ19TRU0iCX0sCisjZW5kaWYKKyNpZmRlZiBJUENfTVNHCisJeyBJUENfTVNHLAkiSVBDX01TRyIJfSwKKyNlbmRpZgorCXsgMCwJCU5VTEwJCX0sCit9OworCisKK2ludAorc3lzX2FjbGlwYyhzdHJ1Y3QgdGNiICp0Y3ApCit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJcHJpbnR4dmFsKGFjbGlwYywgdGNwLT51X2FyZ1swXSwgIj8/P0lQQz8/PyIpOworCQl0cHJpbnRmKCIsICUjbHgsICIsIHRjcC0+dV9hcmdbMV0pOworCQlwcmludHh2YWwoYWNsY21kcywgdGNwLT51X2FyZ1syXSwgIj8/P0FDTD8/PyIpOworCQl0cHJpbnRmKCIsICVsZCIsIHRjcC0+dV9hcmdbM10pOworCQkvKgorCQkgKiBGSVhNRSAtIGR1bXAgb3V0IHRoZSBsaXN0IG9mIGFjbGVudF90J3MgcG9pbnRlZCB0bworCQkgKiBieSAidGNwLT51X2FyZ1s0XSIgaWYgaXQncyBub3QgTlVMTC4KKwkJICovCisJCWlmICh0Y3AtPnVfYXJnWzRdKQorCQkJdHByaW50ZigiLCAlI2x4IiwgdGNwLT51X2FyZ1s0XSk7CisJCWVsc2UKKwkJCXRwcmludGYoIiwgTlVMTCIpOworCX0KKwlyZXR1cm4gMDsKK30KKworI2VuZGlmIC8qIEhBVkVfU1lTX0FDTF9IICovCisKKyNlbmRpZiAvKiBTVlI0IHx8IExJTlVYU1BBUkMgKi8KKworI2lmZGVmIExJTlVYCisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCBmc21hZ2ljW10gPSB7CisJeyAweDczNzU3MjQ1LAkiQ09EQV9TVVBFUl9NQUdJQyIJfSwKKwl7IDB4MDEyZmY3YjcsCSJDT0hfU1VQRVJfTUFHSUMiCX0sCisJeyAweDEzNzMsCSJERVZGU19TVVBFUl9NQUdJQyIJfSwKKwl7IDB4MWNkMSwJIkRFVlBUU19TVVBFUl9NQUdJQyIJfSwKKwl7IDB4NDE0QTUzLAkiRUZTX1NVUEVSX01BR0lDIgl9LAorCXsgMHhlZjUxLAkiRVhUMl9PTERfU1VQRVJfTUFHSUMiCX0sCisJeyAweGVmNTMsCSJFWFQyX1NVUEVSX01BR0lDIgl9LAorCXsgMHgxMzdkLAkiRVhUX1NVUEVSX01BR0lDIgl9LAorCXsgMHhmOTk1ZTg0OSwJIkhQRlNfU1VQRVJfTUFHSUMiCX0sCisJeyAweDk2NjAsCSJJU09GU19TVVBFUl9NQUdJQyIJfSwKKwl7IDB4MTM3ZiwJIk1JTklYX1NVUEVSX01BR0lDIgl9LAorCXsgMHgxMzhmLAkiTUlOSVhfU1VQRVJfTUFHSUMyIgl9LAorCXsgMHgyNDY4LAkiTUlOSVgyX1NVUEVSX01BR0lDIgl9LAorCXsgMHgyNDc4LAkiTUlOSVgyX1NVUEVSX01BR0lDMiIJfSwKKwl7IDB4NGQ0NCwJIk1TRE9TX1NVUEVSX01BR0lDIgl9LAorCXsgMHg1NjRjLAkiTkNQX1NVUEVSX01BR0lDIgl9LAorCXsgMHg2OTY5LAkiTkZTX1NVUEVSX01BR0lDIgl9LAorCXsgMHg5ZmEwLAkiUFJPQ19TVVBFUl9NQUdJQyIJfSwKKwl7IDB4MDAyZiwJIlFOWDRfU1VQRVJfTUFHSUMiCX0sCisJeyAweDUyNjU0OTczLAkiUkVJU0VSRlNfU1VQRVJfTUFHSUMiCX0sCisJeyAweDAyMDExOTk0LAkiU0hNRlNfU1VQRVJfTUFHSUMiCX0sCisJeyAweDUxN2IsCSJTTUJfU1VQRVJfTUFHSUMiCX0sCisJeyAweDAxMmZmN2I2LAkiU1lTVjJfU1VQRVJfTUFHSUMiCX0sCisJeyAweDAxMmZmN2I1LAkiU1lTVjRfU1VQRVJfTUFHSUMiCX0sCisJeyAweDAwMDExOTU0LAkiVUZTX01BR0lDIgkJfSwKKwl7IDB4NTQxOTAxMDAsCSJVRlNfQ0lHQU0iCQl9LAorCXsgMHgwMTJmZjdiNCwJIlhFTklYX1NVUEVSX01BR0lDIgl9LAorCXsgMHgwMTJmZDE2ZCwJIlhJQUZTX1NVUEVSX01BR0lDIgl9LAorCXsgMHg2MjY1NjU3MiwJIlNZU0ZTX01BR0lDIgkJfSwKKwl7IDAsCQlOVUxMCQkJfSwKK307CisKKyNlbmRpZiAvKiBMSU5VWCAqLworCisjaWZuZGVmIFNWUjQKKworc3RhdGljIGNvbnN0IGNoYXIgKgorc3ByaW50ZnN0eXBlKGludCBtYWdpYykKK3sKKwlzdGF0aWMgY2hhciBidWZbMzJdOworI2lmZGVmIExJTlVYCisJY29uc3QgY2hhciAqczsKKworCXMgPSB4bG9va3VwKGZzbWFnaWMsIG1hZ2ljKTsKKwlpZiAocykgeworCQlzcHJpbnRmKGJ1ZiwgIlwiJXNcIiIsIHMpOworCQlyZXR1cm4gYnVmOworCX0KKyNlbmRpZiAvKiBMSU5VWCAqLworCXNwcmludGYoYnVmLCAiJSN4IiwgbWFnaWMpOworCXJldHVybiBidWY7Cit9CisKK3N0YXRpYyB2b2lkCitwcmludHN0YXRmcyhzdHJ1Y3QgdGNiICp0Y3AsIGxvbmcgYWRkcikKK3sKKwlzdHJ1Y3Qgc3RhdGZzIHN0YXRidWY7CisKKwlpZiAoc3lzZXJyb3IodGNwKSB8fCAhdmVyYm9zZSh0Y3ApKSB7CisJCXRwcmludGYoIiUjbHgiLCBhZGRyKTsKKwkJcmV0dXJuOworCX0KKwlpZiAodW1vdmUodGNwLCBhZGRyLCAmc3RhdGJ1ZikgPCAwKSB7CisJCXRwcmludGYoInsuLi59Iik7CisJCXJldHVybjsKKwl9CisjaWZkZWYgQUxQSEEKKworCXRwcmludGYoIntmX3R5cGU9JXMsIGZfZmJzaXplPSV1LCBmX2Jsb2Nrcz0ldSwgZl9iZnJlZT0ldSwgIiwKKwkJc3ByaW50ZnN0eXBlKHN0YXRidWYuZl90eXBlKSwKKwkJc3RhdGJ1Zi5mX2JzaXplLCBzdGF0YnVmLmZfYmxvY2tzLCBzdGF0YnVmLmZfYmZyZWUpOworCXRwcmludGYoImZfYmF2YWlsPSV1LCBmX2ZpbGVzPSV1LCBmX2ZmcmVlPSV1LCBmX2ZzaWQ9eyVkLCAlZH0sIGZfbmFtZWxlbj0ldSIsCisJCXN0YXRidWYuZl9iYXZhaWwsc3RhdGJ1Zi5mX2ZpbGVzLCBzdGF0YnVmLmZfZmZyZWUsCisJCXN0YXRidWYuZl9mc2lkLl9fdmFsWzBdLCBzdGF0YnVmLmZfZnNpZC5fX3ZhbFsxXSwKKwkJc3RhdGJ1Zi5mX25hbWVsZW4pOworI2Vsc2UgLyogIUFMUEhBICovCisJdHByaW50Zigie2ZfdHlwZT0lcywgZl9ic2l6ZT0lbHUsIGZfYmxvY2tzPSVsdSwgZl9iZnJlZT0lbHUsICIsCisJCXNwcmludGZzdHlwZShzdGF0YnVmLmZfdHlwZSksCisJCSh1bnNpZ25lZCBsb25nKXN0YXRidWYuZl9ic2l6ZSwKKwkJKHVuc2lnbmVkIGxvbmcpc3RhdGJ1Zi5mX2Jsb2NrcywKKwkJKHVuc2lnbmVkIGxvbmcpc3RhdGJ1Zi5mX2JmcmVlKTsKKwl0cHJpbnRmKCJmX2JhdmFpbD0lbHUsIGZfZmlsZXM9JWx1LCBmX2ZmcmVlPSVsdSwgZl9mc2lkPXslZCwgJWR9IiwKKwkJKHVuc2lnbmVkIGxvbmcpc3RhdGJ1Zi5mX2JhdmFpbCwKKwkJKHVuc2lnbmVkIGxvbmcpc3RhdGJ1Zi5mX2ZpbGVzLAorCQkodW5zaWduZWQgbG9uZylzdGF0YnVmLmZfZmZyZWUsCisJCXN0YXRidWYuZl9mc2lkLl9fdmFsWzBdLCBzdGF0YnVmLmZfZnNpZC5fX3ZhbFsxXSk7CisjaWZkZWYgTElOVVgKKwl0cHJpbnRmKCIsIGZfbmFtZWxlbj0lbHUiLCAodW5zaWduZWQgbG9uZylzdGF0YnVmLmZfbmFtZWxlbik7CisjZW5kaWYgLyogTElOVVggKi8KKyNlbmRpZiAvKiAhQUxQSEEgKi8KKyNpZmRlZiBfU1RBVEZTX0ZfRlJTSVpFCisJdHByaW50ZigiLCBmX2Zyc2l6ZT0lbHUiLCAodW5zaWduZWQgbG9uZylzdGF0YnVmLmZfZnJzaXplKTsKKyNlbmRpZgorCXRwcmludGYoIn0iKTsKK30KKworaW50CitzeXNfc3RhdGZzKHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQlwcmludHBhdGgodGNwLCB0Y3AtPnVfYXJnWzBdKTsKKwkJdHByaW50ZigiLCAiKTsKKwl9IGVsc2UgeworCQlwcmludHN0YXRmcyh0Y3AsIHRjcC0+dV9hcmdbMV0pOworCX0KKwlyZXR1cm4gMDsKK30KKworaW50CitzeXNfZnN0YXRmcyhzdHJ1Y3QgdGNiICp0Y3ApCit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJdHByaW50ZigiJWx1LCAiLCB0Y3AtPnVfYXJnWzBdKTsKKwl9IGVsc2UgeworCQlwcmludHN0YXRmcyh0Y3AsIHRjcC0+dV9hcmdbMV0pOworCX0KKwlyZXR1cm4gMDsKK30KKworI2lmIGRlZmluZWQgTElOVVggJiYgZGVmaW5lZCBIQVZFX1NUQVRGUzY0CitzdGF0aWMgdm9pZAorcHJpbnRzdGF0ZnM2NChzdHJ1Y3QgdGNiICp0Y3AsIGxvbmcgYWRkcikKK3sKKwlzdHJ1Y3Qgc3RhdGZzNjQgc3RhdGJ1ZjsKKworCWlmIChzeXNlcnJvcih0Y3ApIHx8ICF2ZXJib3NlKHRjcCkpIHsKKwkJdHByaW50ZigiJSNseCIsIGFkZHIpOworCQlyZXR1cm47CisJfQorCWlmICh1bW92ZSh0Y3AsIGFkZHIsICZzdGF0YnVmKSA8IDApIHsKKwkJdHByaW50Zigiey4uLn0iKTsKKwkJcmV0dXJuOworCX0KKwl0cHJpbnRmKCJ7Zl90eXBlPSVzLCBmX2JzaXplPSVsbHUsIGZfYmxvY2tzPSVsbHUsIGZfYmZyZWU9JWxsdSwgIiwKKwkJc3ByaW50ZnN0eXBlKHN0YXRidWYuZl90eXBlKSwKKwkJKHVuc2lnbmVkIGxvbmcgbG9uZylzdGF0YnVmLmZfYnNpemUsCisJCSh1bnNpZ25lZCBsb25nIGxvbmcpc3RhdGJ1Zi5mX2Jsb2NrcywKKwkJKHVuc2lnbmVkIGxvbmcgbG9uZylzdGF0YnVmLmZfYmZyZWUpOworCXRwcmludGYoImZfYmF2YWlsPSVsbHUsIGZfZmlsZXM9JWxsdSwgZl9mZnJlZT0lbGx1LCBmX2ZzaWQ9eyVkLCAlZH0iLAorCQkodW5zaWduZWQgbG9uZyBsb25nKXN0YXRidWYuZl9iYXZhaWwsCisJCSh1bnNpZ25lZCBsb25nIGxvbmcpc3RhdGJ1Zi5mX2ZpbGVzLAorCQkodW5zaWduZWQgbG9uZyBsb25nKXN0YXRidWYuZl9mZnJlZSwKKwkJc3RhdGJ1Zi5mX2ZzaWQuX192YWxbMF0sIHN0YXRidWYuZl9mc2lkLl9fdmFsWzFdKTsKKwl0cHJpbnRmKCIsIGZfbmFtZWxlbj0lbHUiLCAodW5zaWduZWQgbG9uZylzdGF0YnVmLmZfbmFtZWxlbik7CisjaWZkZWYgX1NUQVRGU19GX0ZSU0laRQorCXRwcmludGYoIiwgZl9mcnNpemU9JWxsdSIsICh1bnNpZ25lZCBsb25nIGxvbmcpc3RhdGJ1Zi5mX2Zyc2l6ZSk7CisjZW5kaWYKKwl0cHJpbnRmKCJ9Iik7Cit9CisKK2ludAorc3lzX3N0YXRmczY0KHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQlwcmludHBhdGgodGNwLCB0Y3AtPnVfYXJnWzBdKTsKKwkJdHByaW50ZigiLCAlbHUsICIsIHRjcC0+dV9hcmdbMV0pOworCX0gZWxzZSB7CisJCWlmICh0Y3AtPnVfYXJnWzFdID09IHNpemVvZiAoc3RydWN0IHN0YXRmczY0KSkKKwkJCXByaW50c3RhdGZzNjQodGNwLCB0Y3AtPnVfYXJnWzJdKTsKKwkJZWxzZQorCQkJdHByaW50Zigiez8/P30iKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK2ludAorc3lzX2ZzdGF0ZnM2NChzdHJ1Y3QgdGNiICp0Y3ApCit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJdHByaW50ZigiJWx1LCAlbHUsICIsIHRjcC0+dV9hcmdbMF0sIHRjcC0+dV9hcmdbMV0pOworCX0gZWxzZSB7CisJCWlmICh0Y3AtPnVfYXJnWzFdID09IHNpemVvZiAoc3RydWN0IHN0YXRmczY0KSkKKwkJCXByaW50c3RhdGZzNjQodGNwLCB0Y3AtPnVfYXJnWzJdKTsKKwkJZWxzZQorCQkJdHByaW50Zigiez8/P30iKTsKKwl9CisJcmV0dXJuIDA7Cit9CisjZW5kaWYKKworI2lmIGRlZmluZWQoTElOVVgpICYmIGRlZmluZWQoX19hbHBoYSkKKworaW50Citvc2Zfc3RhdGZzKHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQlwcmludHBhdGgodGNwLCB0Y3AtPnVfYXJnWzBdKTsKKwkJdHByaW50ZigiLCAiKTsKKwl9IGVsc2UgeworCQlwcmludHN0YXRmcyh0Y3AsIHRjcC0+dV9hcmdbMV0pOworCQl0cHJpbnRmKCIsICVsdSIsIHRjcC0+dV9hcmdbMl0pOworCX0KKwlyZXR1cm4gMDsKK30KKworaW50Citvc2ZfZnN0YXRmcyhzdHJ1Y3QgdGNiICp0Y3ApCit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJdHByaW50ZigiJWx1LCAiLCB0Y3AtPnVfYXJnWzBdKTsKKwl9IGVsc2UgeworCQlwcmludHN0YXRmcyh0Y3AsIHRjcC0+dV9hcmdbMV0pOworCQl0cHJpbnRmKCIsICVsdSIsIHRjcC0+dV9hcmdbMl0pOworCX0KKwlyZXR1cm4gMDsKK30KKyNlbmRpZiAvKiBMSU5VWCAmJiBfX2FscGhhICovCisKKyNlbmRpZiAvKiAhU1ZSNCAqLworCisjaWZkZWYgU1VOT1M0CitpbnQKK3N5c191c3RhdChzdHJ1Y3QgdGNiICp0Y3ApCit7CisJc3RydWN0IHVzdGF0IHN0YXRidWY7CisKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQl0cHJpbnRmKCJtYWtlZGV2KCVsdSwgJWx1KSwgIiwKKwkJCQkobG9uZykgbWFqb3IodGNwLT51X2FyZ1swXSksCisJCQkJKGxvbmcpIG1pbm9yKHRjcC0+dV9hcmdbMF0pKTsKKwl9CisJZWxzZSB7CisJCWlmIChzeXNlcnJvcih0Y3ApIHx8ICF2ZXJib3NlKHRjcCkpCisJCQl0cHJpbnRmKCIlI2x4IiwgdGNwLT51X2FyZ1sxXSk7CisJCWVsc2UgaWYgKHVtb3ZlKHRjcCwgdGNwLT51X2FyZ1sxXSwgJnN0YXRidWYpIDwgMCkKKwkJCXRwcmludGYoInsuLi59Iik7CisJCWVsc2UgeworCQkJdHByaW50Zigie2ZfdGZyZWU9JWx1LCBmX3Rpbm9kZT0lbHUsICIsCisJCQkJc3RhdGJ1Zi5mX3RmcmVlLCBzdGF0YnVmLmZfdGlub2RlKTsKKwkJCXRwcmludGYoImZfZm5hbWU9XCIlLipzXCIsICIsCisJCQkJKGludCkgc2l6ZW9mKHN0YXRidWYuZl9mbmFtZSksCisJCQkJc3RhdGJ1Zi5mX2ZuYW1lKTsKKwkJCXRwcmludGYoImZfZnBhY2s9XCIlLipzXCJ9IiwKKwkJCQkoaW50KSBzaXplb2Yoc3RhdGJ1Zi5mX2ZwYWNrKSwKKwkJCQlzdGF0YnVmLmZfZnBhY2spOworCQl9CisJfQorCXJldHVybiAwOworfQorI2VuZGlmIC8qIFNVTk9TNCAqLworCitpbnQKK3N5c19waXZvdHJvb3Qoc3RydWN0IHRjYiAqdGNwKQoreworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXByaW50cGF0aCh0Y3AsIHRjcC0+dV9hcmdbMF0pOworCQl0cHJpbnRmKCIsICIpOworCQlwcmludHBhdGgodGNwLCB0Y3AtPnVfYXJnWzFdKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKKworLyogZGlyZWN0b3J5ICovCitpbnQKK3N5c19jaGRpcihzdHJ1Y3QgdGNiICp0Y3ApCit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJcHJpbnRwYXRoKHRjcCwgdGNwLT51X2FyZ1swXSk7CisJfQorCXJldHVybiAwOworfQorCitzdGF0aWMgaW50CitkZWNvZGVfbWtkaXIoc3RydWN0IHRjYiAqdGNwLCBpbnQgb2Zmc2V0KQoreworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXByaW50cGF0aCh0Y3AsIHRjcC0+dV9hcmdbb2Zmc2V0XSk7CisJCXRwcmludGYoIiwgJSNsbyIsIHRjcC0+dV9hcmdbb2Zmc2V0ICsgMV0pOworCX0KKwlyZXR1cm4gMDsKK30KKworaW50CitzeXNfbWtkaXIoc3RydWN0IHRjYiAqdGNwKQoreworCXJldHVybiBkZWNvZGVfbWtkaXIodGNwLCAwKTsKK30KKworI2lmZGVmIExJTlVYCitpbnQKK3N5c19ta2RpcmF0KHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkKKwkJcHJpbnRfZGlyZmQodGNwLT51X2FyZ1swXSk7CisJcmV0dXJuIGRlY29kZV9ta2Rpcih0Y3AsIDEpOworfQorI2VuZGlmCisKK2ludAorc3lzX3JtZGlyKHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQlwcmludHBhdGgodGNwLCB0Y3AtPnVfYXJnWzBdKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK2ludAorc3lzX2ZjaGRpcihzdHJ1Y3QgdGNiICp0Y3ApCit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJdHByaW50ZigiJWxkIiwgdGNwLT51X2FyZ1swXSk7CisJfQorCXJldHVybiAwOworfQorCitpbnQKK3N5c19jaHJvb3Qoc3RydWN0IHRjYiAqdGNwKQoreworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXByaW50cGF0aCh0Y3AsIHRjcC0+dV9hcmdbMF0pOworCX0KKwlyZXR1cm4gMDsKK30KKworI2lmIGRlZmluZWQoU1VOT1M0KSB8fCBkZWZpbmVkKFNWUjQpCitpbnQKK3N5c19mY2hyb290KHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQl0cHJpbnRmKCIlbGQiLCB0Y3AtPnVfYXJnWzBdKTsKKwl9CisJcmV0dXJuIDA7Cit9CisjZW5kaWYgLyogU1VOT1M0IHx8IFNWUjQgKi8KKworaW50CitzeXNfbGluayhzdHJ1Y3QgdGNiICp0Y3ApCit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJcHJpbnRwYXRoKHRjcCwgdGNwLT51X2FyZ1swXSk7CisJCXRwcmludGYoIiwgIik7CisJCXByaW50cGF0aCh0Y3AsIHRjcC0+dV9hcmdbMV0pOworCX0KKwlyZXR1cm4gMDsKK30KKworI2lmZGVmIExJTlVYCitpbnQKK3N5c19saW5rYXQoc3RydWN0IHRjYiAqdGNwKQoreworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXByaW50X2RpcmZkKHRjcC0+dV9hcmdbMF0pOworCQlwcmludHBhdGgodGNwLCB0Y3AtPnVfYXJnWzFdKTsKKwkJdHByaW50ZigiLCAiKTsKKwkJcHJpbnRfZGlyZmQodGNwLT51X2FyZ1syXSk7CisJCXByaW50cGF0aCh0Y3AsIHRjcC0+dV9hcmdbM10pOworCQl0cHJpbnRmKCIsICVsZCIsIHRjcC0+dV9hcmdbNF0pOworCX0KKwlyZXR1cm4gMDsKK30KKyNlbmRpZgorCitpbnQKK3N5c191bmxpbmsoc3RydWN0IHRjYiAqdGNwKQoreworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXByaW50cGF0aCh0Y3AsIHRjcC0+dV9hcmdbMF0pOworCX0KKwlyZXR1cm4gMDsKK30KKworI2lmZGVmIExJTlVYCitzdGF0aWMgY29uc3Qgc3RydWN0IHhsYXQgdW5saW5rYXRmbGFnc1tdID0geworI2lmbmRlZiBBVF9SRU1PVkVESVIKKyMgZGVmaW5lIEFUX1JFTU9WRURJUiAgICAgICAgICAgIDB4MjAwCisjZW5kaWYKKwl7IEFUX1JFTU9WRURJUiwJIkFUX1JFTU9WRURJUiIJfSwKKwl7IDAsCQlOVUxMCQl9LAorfTsKKworaW50CitzeXNfdW5saW5rYXQoc3RydWN0IHRjYiAqdGNwKQoreworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXByaW50X2RpcmZkKHRjcC0+dV9hcmdbMF0pOworCQlwcmludHBhdGgodGNwLCB0Y3AtPnVfYXJnWzFdKTsKKwkJdHByaW50ZigiLCAiKTsKKwkJcHJpbnRmbGFncyh1bmxpbmthdGZsYWdzLCB0Y3AtPnVfYXJnWzJdLCAiQVRfPz8/Iik7CisJfQorCXJldHVybiAwOworfQorI2VuZGlmCisKK2ludAorc3lzX3N5bWxpbmsoc3RydWN0IHRjYiAqdGNwKQoreworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXByaW50cGF0aCh0Y3AsIHRjcC0+dV9hcmdbMF0pOworCQl0cHJpbnRmKCIsICIpOworCQlwcmludHBhdGgodGNwLCB0Y3AtPnVfYXJnWzFdKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKKyNpZmRlZiBMSU5VWAoraW50CitzeXNfc3ltbGlua2F0KHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQlwcmludHBhdGgodGNwLCB0Y3AtPnVfYXJnWzBdKTsKKwkJdHByaW50ZigiLCAiKTsKKwkJcHJpbnRfZGlyZmQodGNwLT51X2FyZ1sxXSk7CisJCXByaW50cGF0aCh0Y3AsIHRjcC0+dV9hcmdbMl0pOworCX0KKwlyZXR1cm4gMDsKK30KKyNlbmRpZgorCitzdGF0aWMgaW50CitkZWNvZGVfcmVhZGxpbmsoc3RydWN0IHRjYiAqdGNwLCBpbnQgb2Zmc2V0KQoreworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXByaW50cGF0aCh0Y3AsIHRjcC0+dV9hcmdbb2Zmc2V0XSk7CisJCXRwcmludGYoIiwgIik7CisJfSBlbHNlIHsKKwkJaWYgKHN5c2Vycm9yKHRjcCkpCisJCQl0cHJpbnRmKCIlI2x4IiwgdGNwLT51X2FyZ1tvZmZzZXQgKyAxXSk7CisJCWVsc2UKKwkJCXByaW50cGF0aG4odGNwLCB0Y3AtPnVfYXJnW29mZnNldCArIDFdLCB0Y3AtPnVfcnZhbCk7CisJCXRwcmludGYoIiwgJWx1IiwgdGNwLT51X2FyZ1tvZmZzZXQgKyAyXSk7CisJfQorCXJldHVybiAwOworfQorCitpbnQKK3N5c19yZWFkbGluayhzdHJ1Y3QgdGNiICp0Y3ApCit7CisJcmV0dXJuIGRlY29kZV9yZWFkbGluayh0Y3AsIDApOworfQorCisjaWZkZWYgTElOVVgKK2ludAorc3lzX3JlYWRsaW5rYXQoc3RydWN0IHRjYiAqdGNwKQoreworCWlmIChlbnRlcmluZyh0Y3ApKQorCQlwcmludF9kaXJmZCh0Y3AtPnVfYXJnWzBdKTsKKwlyZXR1cm4gZGVjb2RlX3JlYWRsaW5rKHRjcCwgMSk7Cit9CisjZW5kaWYKKworaW50CitzeXNfcmVuYW1lKHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQlwcmludHBhdGgodGNwLCB0Y3AtPnVfYXJnWzBdKTsKKwkJdHByaW50ZigiLCAiKTsKKwkJcHJpbnRwYXRoKHRjcCwgdGNwLT51X2FyZ1sxXSk7CisJfQorCXJldHVybiAwOworfQorCisjaWZkZWYgTElOVVgKK2ludAorc3lzX3JlbmFtZWF0KHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQlwcmludF9kaXJmZCh0Y3AtPnVfYXJnWzBdKTsKKwkJcHJpbnRwYXRoKHRjcCwgdGNwLT51X2FyZ1sxXSk7CisJCXRwcmludGYoIiwgIik7CisJCXByaW50X2RpcmZkKHRjcC0+dV9hcmdbMl0pOworCQlwcmludHBhdGgodGNwLCB0Y3AtPnVfYXJnWzNdKTsKKwl9CisJcmV0dXJuIDA7Cit9CisjZW5kaWYKKworaW50CitzeXNfY2hvd24oc3RydWN0IHRjYiAqdGNwKQoreworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXByaW50cGF0aCh0Y3AsIHRjcC0+dV9hcmdbMF0pOworCQlwcmludHVpZCgiLCAiLCB0Y3AtPnVfYXJnWzFdKTsKKwkJcHJpbnR1aWQoIiwgIiwgdGNwLT51X2FyZ1syXSk7CisJfQorCXJldHVybiAwOworfQorCisjaWZkZWYgTElOVVgKK2ludAorc3lzX2ZjaG93bmF0KHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQlwcmludF9kaXJmZCh0Y3AtPnVfYXJnWzBdKTsKKwkJcHJpbnRwYXRoKHRjcCwgdGNwLT51X2FyZ1sxXSk7CisJCXByaW50dWlkKCIsICIsIHRjcC0+dV9hcmdbMl0pOworCQlwcmludHVpZCgiLCAiLCB0Y3AtPnVfYXJnWzNdKTsKKwkJdHByaW50ZigiLCAiKTsKKwkJcHJpbnRmbGFncyhmc3RhdGF0ZmxhZ3MsIHRjcC0+dV9hcmdbNF0sICJBVF8/Pz8iKTsKKwl9CisJcmV0dXJuIDA7Cit9CisjZW5kaWYKKworaW50CitzeXNfZmNob3duKHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQl0cHJpbnRmKCIlbGQiLCB0Y3AtPnVfYXJnWzBdKTsKKwkJcHJpbnR1aWQoIiwgIiwgdGNwLT51X2FyZ1sxXSk7CisJCXByaW50dWlkKCIsICIsIHRjcC0+dV9hcmdbMl0pOworCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludAorZGVjb2RlX2NobW9kKHN0cnVjdCB0Y2IgKnRjcCwgaW50IG9mZnNldCkKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQlwcmludHBhdGgodGNwLCB0Y3AtPnVfYXJnW29mZnNldF0pOworCQl0cHJpbnRmKCIsICUjbG8iLCB0Y3AtPnVfYXJnW29mZnNldCArIDFdKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK2ludAorc3lzX2NobW9kKHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwlyZXR1cm4gZGVjb2RlX2NobW9kKHRjcCwgMCk7Cit9CisKKyNpZmRlZiBMSU5VWAoraW50CitzeXNfZmNobW9kYXQoc3RydWN0IHRjYiAqdGNwKQoreworCWlmIChlbnRlcmluZyh0Y3ApKQorCQlwcmludF9kaXJmZCh0Y3AtPnVfYXJnWzBdKTsKKwlyZXR1cm4gZGVjb2RlX2NobW9kKHRjcCwgMSk7Cit9CisjZW5kaWYKKworaW50CitzeXNfZmNobW9kKHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQl0cHJpbnRmKCIlbGQsICUjbG8iLCB0Y3AtPnVfYXJnWzBdLCB0Y3AtPnVfYXJnWzFdKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKKyNpZmRlZiBBTFBIQQoraW50CitzeXNfb3NmX3V0aW1lcyhzdHJ1Y3QgdGNiICp0Y3ApCit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJcHJpbnRwYXRoKHRjcCwgdGNwLT51X2FyZ1swXSk7CisJCXRwcmludGYoIiwgIik7CisJCXByaW50dHZfYml0bmVzcyh0Y3AsIHRjcC0+dV9hcmdbMV0sIEJJVE5FU1NfMzIsICAwKTsKKwl9CisJcmV0dXJuIDA7Cit9CisjZW5kaWYKKworc3RhdGljIGludAorZGVjb2RlX3V0aW1lcyhzdHJ1Y3QgdGNiICp0Y3AsIGludCBvZmZzZXQsIGludCBzcGVjaWFsKQoreworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXByaW50cGF0aCh0Y3AsIHRjcC0+dV9hcmdbb2Zmc2V0XSk7CisJCXRwcmludGYoIiwgIik7CisJCWlmICh0Y3AtPnVfYXJnW29mZnNldCArIDFdID09IDApCisJCQl0cHJpbnRmKCJOVUxMIik7CisJCWVsc2UgeworCQkJdHByaW50ZigieyIpOworCQkJcHJpbnR0dl9iaXRuZXNzKHRjcCwgdGNwLT51X2FyZ1tvZmZzZXQgKyAxXSwKKwkJCQkJQklUTkVTU19DVVJSRU5ULCBzcGVjaWFsKTsKKwkJCXRwcmludGYoIiwgIik7CisJCQlwcmludHR2X2JpdG5lc3ModGNwLCB0Y3AtPnVfYXJnW29mZnNldCArIDFdCisJCQkJCSsgc2l6ZW9mIChzdHJ1Y3QgdGltZXZhbCksCisJCQkJCUJJVE5FU1NfQ1VSUkVOVCwgc3BlY2lhbCk7CisJCQl0cHJpbnRmKCJ9Iik7CisJCX0KKwl9CisJcmV0dXJuIDA7Cit9CisKK2ludAorc3lzX3V0aW1lcyhzdHJ1Y3QgdGNiICp0Y3ApCit7CisJcmV0dXJuIGRlY29kZV91dGltZXModGNwLCAwLCAwKTsKK30KKworI2lmZGVmIExJTlVYCitpbnQKK3N5c19mdXRpbWVzYXQoc3RydWN0IHRjYiAqdGNwKQoreworCWlmIChlbnRlcmluZyh0Y3ApKQorCQlwcmludF9kaXJmZCh0Y3AtPnVfYXJnWzBdKTsKKwlyZXR1cm4gZGVjb2RlX3V0aW1lcyh0Y3AsIDEsIDApOworfQorCitpbnQKK3N5c191dGltZW5zYXQoc3RydWN0IHRjYiAqdGNwKQoreworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXByaW50X2RpcmZkKHRjcC0+dV9hcmdbMF0pOworCQlkZWNvZGVfdXRpbWVzKHRjcCwgMSwgMSk7CisJCXRwcmludGYoIiwgIik7CisJCXByaW50ZmxhZ3ModXRpbWVuc2F0ZmxhZ3MsIHRjcC0+dV9hcmdbM10sICJBVF8/Pz8iKTsKKwl9CisJcmV0dXJuIDA7Cit9CisjZW5kaWYKKworaW50CitzeXNfdXRpbWUoc3RydWN0IHRjYiAqdGNwKQoreworCXVuaW9uIHsKKwkJbG9uZyB1dGxbMl07CisJCWludCB1dGlbMl07CisJfSB1OworCisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJcHJpbnRwYXRoKHRjcCwgdGNwLT51X2FyZ1swXSk7CisJCXRwcmludGYoIiwgIik7CisJCWlmICghdGNwLT51X2FyZ1sxXSkKKwkJCXRwcmludGYoIk5VTEwiKTsKKwkJZWxzZSBpZiAoIXZlcmJvc2UodGNwKSkKKwkJCXRwcmludGYoIiUjbHgiLCB0Y3AtPnVfYXJnWzFdKTsKKwkJZWxzZSBpZiAodW1vdmVuKHRjcCwgdGNwLT51X2FyZ1sxXSwKKwkJCQkyICogcGVyc29uYWxpdHlfd29yZHNpemVbY3VycmVudF9wZXJzb25hbGl0eV0sCisJCQkJKGNoYXIgKikgJnUpIDwgMCkKKwkJCXRwcmludGYoIls/LCA/XSIpOworCQllbHNlIGlmIChwZXJzb25hbGl0eV93b3Jkc2l6ZVtjdXJyZW50X3BlcnNvbmFsaXR5XQorCQkJID09IHNpemVvZiB1LnV0bFswXSkgeworCQkJdHByaW50ZigiWyVzLCIsIHNwcmludHRpbWUodS51dGxbMF0pKTsKKwkJCXRwcmludGYoIiAlc10iLCBzcHJpbnR0aW1lKHUudXRsWzFdKSk7CisJCX0KKwkJZWxzZSBpZiAocGVyc29uYWxpdHlfd29yZHNpemVbY3VycmVudF9wZXJzb25hbGl0eV0KKwkJCSA9PSBzaXplb2YgdS51dGlbMF0pIHsKKwkJCXRwcmludGYoIlslcywiLCBzcHJpbnR0aW1lKHUudXRpWzBdKSk7CisJCQl0cHJpbnRmKCIgJXNdIiwgc3ByaW50dGltZSh1LnV0aVsxXSkpOworCQl9CisJCWVsc2UKKwkJCWFib3J0KCk7CisJfQorCXJldHVybiAwOworfQorCitzdGF0aWMgaW50CitkZWNvZGVfbWtub2Qoc3RydWN0IHRjYiAqdGNwLCBpbnQgb2Zmc2V0KQoreworCWludCBtb2RlID0gdGNwLT51X2FyZ1tvZmZzZXQgKyAxXTsKKworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXByaW50cGF0aCh0Y3AsIHRjcC0+dV9hcmdbb2Zmc2V0XSk7CisJCXRwcmludGYoIiwgJXMiLCBzcHJpbnRtb2RlKG1vZGUpKTsKKwkJc3dpdGNoIChtb2RlICYgU19JRk1UKSB7CisJCWNhc2UgU19JRkNIUjogY2FzZSBTX0lGQkxLOgorI2lmZGVmIExJTlVYU1BBUkMKKwkJCWlmIChjdXJyZW50X3BlcnNvbmFsaXR5ID09IDEpCisJCQl0cHJpbnRmKCIsIG1ha2VkZXYoJWx1LCAlbHUpIiwKKwkJCQkodW5zaWduZWQgbG9uZykgKCh0Y3AtPnVfYXJnW29mZnNldCArIDJdID4+IDE4KSAmIDB4M2ZmZiksCisJCQkJKHVuc2lnbmVkIGxvbmcpICh0Y3AtPnVfYXJnW29mZnNldCArIDJdICYgMHgzZmZmZikpOworCQkJZWxzZQorI2VuZGlmCisJCQl0cHJpbnRmKCIsIG1ha2VkZXYoJWx1LCAlbHUpIiwKKwkJCQkodW5zaWduZWQgbG9uZykgbWFqb3IodGNwLT51X2FyZ1tvZmZzZXQgKyAyXSksCisJCQkJKHVuc2lnbmVkIGxvbmcpIG1pbm9yKHRjcC0+dV9hcmdbb2Zmc2V0ICsgMl0pKTsKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJYnJlYWs7CisJCX0KKwl9CisJcmV0dXJuIDA7Cit9CisKK2ludAorc3lzX21rbm9kKHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwlyZXR1cm4gZGVjb2RlX21rbm9kKHRjcCwgMCk7Cit9CisKKyNpZmRlZiBMSU5VWAoraW50CitzeXNfbWtub2RhdChzdHJ1Y3QgdGNiICp0Y3ApCit7CisJaWYgKGVudGVyaW5nKHRjcCkpCisJCXByaW50X2RpcmZkKHRjcC0+dV9hcmdbMF0pOworCXJldHVybiBkZWNvZGVfbWtub2QodGNwLCAxKTsKK30KKyNlbmRpZgorCisjaWZkZWYgRlJFRUJTRAoraW50CitzeXNfbWtmaWZvKHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQlwcmludHBhdGgodGNwLCB0Y3AtPnVfYXJnWzBdKTsKKwkJdHByaW50ZigiLCAlI2xvIiwgdGNwLT51X2FyZ1sxXSk7CisJfQorCXJldHVybiAwOworfQorI2VuZGlmIC8qIEZSRUVCU0QgKi8KKworaW50CitzeXNfZnN5bmMoc3RydWN0IHRjYiAqdGNwKQoreworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXRwcmludGYoIiVsZCIsIHRjcC0+dV9hcmdbMF0pOworCX0KKwlyZXR1cm4gMDsKK30KKworI2lmZGVmIExJTlVYCisKK3N0YXRpYyB2b2lkCitwcmludGRpcihzdHJ1Y3QgdGNiICp0Y3AsIGxvbmcgYWRkcikKK3sKKwlzdHJ1Y3QgZGlyZW50IGQ7CisKKwlpZiAoIXZlcmJvc2UodGNwKSkgeworCQl0cHJpbnRmKCIlI2x4IiwgYWRkcik7CisJCXJldHVybjsKKwl9CisJaWYgKHVtb3ZlKHRjcCwgYWRkciwgJmQpIDwgMCkgeworCQl0cHJpbnRmKCJ7Li4ufSIpOworCQlyZXR1cm47CisJfQorCXRwcmludGYoIntkX2lubz0lbGQsICIsICh1bnNpZ25lZCBsb25nKSBkLmRfaW5vKTsKKwl0cHJpbnRmKCJkX25hbWU9Iik7CisJcHJpbnRwYXRobih0Y3AsIChsb25nKSAoKHN0cnVjdCBkaXJlbnQgKikgYWRkciktPmRfbmFtZSwgZC5kX3JlY2xlbik7CisJdHByaW50ZigifSIpOworfQorCitpbnQKK3N5c19yZWFkZGlyKHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQl0cHJpbnRmKCIlbHUsICIsIHRjcC0+dV9hcmdbMF0pOworCX0gZWxzZSB7CisJCWlmIChzeXNlcnJvcih0Y3ApIHx8IHRjcC0+dV9ydmFsID09IDAgfHwgIXZlcmJvc2UodGNwKSkKKwkJCXRwcmludGYoIiUjbHgiLCB0Y3AtPnVfYXJnWzFdKTsKKwkJZWxzZQorCQkJcHJpbnRkaXIodGNwLCB0Y3AtPnVfYXJnWzFdKTsKKwkJLyogTm90IG11Y2ggcG9pbnQgaW4gcHJpbnRpbmcgdGhpcyBvdXQsIGl0IGlzIGFsd2F5cyAxLiAqLworCQlpZiAodGNwLT51X2FyZ1syXSAhPSAxKQorCQkJdHByaW50ZigiLCAlbHUiLCB0Y3AtPnVfYXJnWzJdKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKKyNlbmRpZiAvKiBMSU5VWCAqLworCisjaWYgZGVmaW5lZCBGUkVFQlNEIHx8IGRlZmluZWQgTElOVVgKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCBkaXJlbnR0eXBlc1tdID0geworCXsgRFRfVU5LTk9XTiwJIkRUX1VOS05PV04iIAl9LAorCXsgRFRfRklGTywJIkRUX0ZJRk8iIAl9LAorCXsgRFRfQ0hSLAkiRFRfQ0hSIiAJfSwKKwl7IERUX0RJUiwJIkRUX0RJUiIgCX0sCisJeyBEVF9CTEssCSJEVF9CTEsiIAl9LAorCXsgRFRfUkVHLAkiRFRfUkVHIiAJfSwKKwl7IERUX0xOSywJIkRUX0xOSyIgCX0sCisJeyBEVF9TT0NLLAkiRFRfU09DSyIgCX0sCisJeyBEVF9XSFQsCSJEVF9XSFQiIAl9LAorCXsgMCwJCU5VTEwJCX0sCit9OworCisjZW5kaWYKKworaW50CitzeXNfZ2V0ZGVudHMoc3RydWN0IHRjYiAqdGNwKQoreworCWludCBpLCBsZW4sIGRlbnRzID0gMDsKKwljaGFyICpidWY7CisKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQl0cHJpbnRmKCIlbHUsICIsIHRjcC0+dV9hcmdbMF0pOworCQlyZXR1cm4gMDsKKwl9CisJaWYgKHN5c2Vycm9yKHRjcCkgfHwgIXZlcmJvc2UodGNwKSkgeworCQl0cHJpbnRmKCIlI2x4LCAlbHUiLCB0Y3AtPnVfYXJnWzFdLCB0Y3AtPnVfYXJnWzJdKTsKKwkJcmV0dXJuIDA7CisJfQorCWxlbiA9IHRjcC0+dV9ydmFsOworCWJ1ZiA9IGxlbiA/IG1hbGxvYyhsZW4pIDogTlVMTDsKKwlpZiAobGVuICYmICFidWYpIHsKKwkJdHByaW50ZigiJSNseCwgJWx1IiwgdGNwLT51X2FyZ1sxXSwgdGNwLT51X2FyZ1syXSk7CisJCWZwcmludGYoc3RkZXJyLCAib3V0IG9mIG1lbW9yeVxuIik7CisJCXJldHVybiAwOworCX0KKwlpZiAodW1vdmVuKHRjcCwgdGNwLT51X2FyZ1sxXSwgbGVuLCBidWYpIDwgMCkgeworCQl0cHJpbnRmKCIlI2x4LCAlbHUiLCB0Y3AtPnVfYXJnWzFdLCB0Y3AtPnVfYXJnWzJdKTsKKwkJZnJlZShidWYpOworCQlyZXR1cm4gMDsKKwl9CisJaWYgKCFhYmJyZXYodGNwKSkKKwkJdHByaW50ZigieyIpOworCWZvciAoaSA9IDA7IGkgPCBsZW47KSB7CisJCXN0cnVjdCBrZXJuZWxfZGlyZW50ICpkID0gKHN0cnVjdCBrZXJuZWxfZGlyZW50ICopICZidWZbaV07CisjaWZkZWYgTElOVVgKKwkJaWYgKCFhYmJyZXYodGNwKSkgeworCQkJdHByaW50ZigiJXN7ZF9pbm89JWx1LCBkX29mZj0lbHUsICIsCisJCQkJaSA/ICIgIiA6ICIiLCBkLT5kX2lubywgZC0+ZF9vZmYpOworCQkJdHByaW50ZigiZF9yZWNsZW49JXUsIGRfbmFtZT1cIiVzXCJ9IiwKKwkJCQlkLT5kX3JlY2xlbiwgZC0+ZF9uYW1lKTsKKwkJfQorI2VuZGlmIC8qIExJTlVYICovCisjaWZkZWYgU1ZSNAorCQlpZiAoIWFiYnJldih0Y3ApKSB7CisJCQl0cHJpbnRmKCIlc3tkX2lubz0lbHUsIGRfb2ZmPSVsdSwgIiwKKwkJCQlpID8gIiAiIDogIiIsCisJCQkJKHVuc2lnbmVkIGxvbmcpIGQtPmRfaW5vLAorCQkJCSh1bnNpZ25lZCBsb25nKSBkLT5kX29mZik7CisJCQl0cHJpbnRmKCJkX3JlY2xlbj0ldSwgZF9uYW1lPVwiJXNcIn0iLAorCQkJCWQtPmRfcmVjbGVuLCBkLT5kX25hbWUpOworCQl9CisjZW5kaWYgLyogU1ZSNCAqLworI2lmZGVmIFNVTk9TNAorCQlpZiAoIWFiYnJldih0Y3ApKSB7CisJCQl0cHJpbnRmKCIlc3tkX29mZj0lbHUsIGRfZmlsZW5vPSVsdSwgZF9yZWNsZW49JXUsICIsCisJCQkJaSA/ICIgIiA6ICIiLCBkLT5kX29mZiwgZC0+ZF9maWxlbm8sCisJCQkJZC0+ZF9yZWNsZW4pOworCQkJdHByaW50ZigiZF9uYW1sZW49JXUsIGRfbmFtZT1cIiUuKnNcIn0iLAorCQkJCWQtPmRfbmFtbGVuLCBkLT5kX25hbWxlbiwgZC0+ZF9uYW1lKTsKKwkJfQorI2VuZGlmIC8qIFNVTk9TNCAqLworI2lmZGVmIEZSRUVCU0QKKwkJaWYgKCFhYmJyZXYodGNwKSkgeworCQkJdHByaW50ZigiJXN7ZF9maWxlbm89JXUsIGRfcmVjbGVuPSV1LCBkX3R5cGU9IiwKKwkJCQlpID8gIiAiIDogIiIsIGQtPmRfZmlsZW5vLCBkLT5kX3JlY2xlbik7CisJCQlwcmludHh2YWwoZGlyZW50dHlwZXMsIGQtPmRfdHlwZSwgIkRUXz8/PyIpOworCQkJdHByaW50ZigiLCBkX25hbWxlbj0ldSwgZF9uYW1lPVwiJS4qc1wifSIsCisJCQkJZC0+ZF9uYW1sZW4sIGQtPmRfbmFtbGVuLCBkLT5kX25hbWUpOworCQl9CisjZW5kaWYgLyogRlJFRUJTRCAqLworCQlpZiAoIWQtPmRfcmVjbGVuKSB7CisJCQl0cHJpbnRmKCIvKiBkX3JlY2xlbiA9PSAwLCBwcm9ibGVtIGhlcmUgKi8iKTsKKwkJCWJyZWFrOworCQl9CisJCWkgKz0gZC0+ZF9yZWNsZW47CisJCWRlbnRzKys7CisJfQorCWlmICghYWJicmV2KHRjcCkpCisJCXRwcmludGYoIn0iKTsKKwllbHNlCisJCXRwcmludGYoIi8qICV1IGVudHJpZXMgKi8iLCBkZW50cyk7CisJdHByaW50ZigiLCAlbHUiLCB0Y3AtPnVfYXJnWzJdKTsKKwlmcmVlKGJ1Zik7CisJcmV0dXJuIDA7Cit9CisKKworI2lmIF9MRlM2NF9MQVJHRUZJTEUKK2ludAorc3lzX2dldGRlbnRzNjQoc3RydWN0IHRjYiAqdGNwKQoreworCWludCBpLCBsZW4sIGRlbnRzID0gMDsKKwljaGFyICpidWY7CisKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQl0cHJpbnRmKCIlbHUsICIsIHRjcC0+dV9hcmdbMF0pOworCQlyZXR1cm4gMDsKKwl9CisJaWYgKHN5c2Vycm9yKHRjcCkgfHwgIXZlcmJvc2UodGNwKSkgeworCQl0cHJpbnRmKCIlI2x4LCAlbHUiLCB0Y3AtPnVfYXJnWzFdLCB0Y3AtPnVfYXJnWzJdKTsKKwkJcmV0dXJuIDA7CisJfQorCWxlbiA9IHRjcC0+dV9ydmFsOworCWJ1ZiA9IGxlbiA/IG1hbGxvYyhsZW4pIDogTlVMTDsKKwlpZiAobGVuICYmICFidWYpIHsKKwkJdHByaW50ZigiJSNseCwgJWx1IiwgdGNwLT51X2FyZ1sxXSwgdGNwLT51X2FyZ1syXSk7CisJCWZwcmludGYoc3RkZXJyLCAib3V0IG9mIG1lbW9yeVxuIik7CisJCXJldHVybiAwOworCX0KKwlpZiAodW1vdmVuKHRjcCwgdGNwLT51X2FyZ1sxXSwgbGVuLCBidWYpIDwgMCkgeworCQl0cHJpbnRmKCIlI2x4LCAlbHUiLCB0Y3AtPnVfYXJnWzFdLCB0Y3AtPnVfYXJnWzJdKTsKKwkJZnJlZShidWYpOworCQlyZXR1cm4gMDsKKwl9CisJaWYgKCFhYmJyZXYodGNwKSkKKwkJdHByaW50ZigieyIpOworCWZvciAoaSA9IDA7IGkgPCBsZW47KSB7CisJCXN0cnVjdCBkaXJlbnQ2NCAqZCA9IChzdHJ1Y3QgZGlyZW50NjQgKikgJmJ1ZltpXTsKKyNpZiBkZWZpbmVkKExJTlVYKSB8fCBkZWZpbmVkKFNWUjQpCisJCWlmICghYWJicmV2KHRjcCkpIHsKKwkJCXRwcmludGYoIiVze2RfaW5vPSUiIFBSSXU2NCAiLCBkX29mZj0lIiBQUklkNjQgIiwgIiwKKwkJCQlpID8gIiAiIDogIiIsCisJCQkJZC0+ZF9pbm8sCisJCQkJZC0+ZF9vZmYpOworI2lmZGVmIExJTlVYCisJCQl0cHJpbnRmKCJkX3R5cGU9Iik7CisJCQlwcmludHh2YWwoZGlyZW50dHlwZXMsIGQtPmRfdHlwZSwgIkRUXz8/PyIpOworCQkJdHByaW50ZigiLCAiKTsKKyNlbmRpZgorCQkJdHByaW50ZigiZF9yZWNsZW49JXUsIGRfbmFtZT1cIiVzXCJ9IiwKKwkJCQlkLT5kX3JlY2xlbiwgZC0+ZF9uYW1lKTsKKwkJfQorI2VuZGlmIC8qIExJTlVYIHx8IFNWUjQgKi8KKyNpZmRlZiBTVU5PUzQKKwkJaWYgKCFhYmJyZXYodGNwKSkgeworCQkJdHByaW50ZigiJXN7ZF9vZmY9JWx1LCBkX2ZpbGVubz0lbHUsIGRfcmVjbGVuPSV1LCAiLAorCQkJCWkgPyAiICIgOiAiIiwgZC0+ZF9vZmYsIGQtPmRfZmlsZW5vLAorCQkJCWQtPmRfcmVjbGVuKTsKKwkJCXRwcmludGYoImRfbmFtbGVuPSV1LCBkX25hbWU9XCIlLipzXCJ9IiwKKwkJCQlkLT5kX25hbWxlbiwgZC0+ZF9uYW1sZW4sIGQtPmRfbmFtZSk7CisJCX0KKyNlbmRpZiAvKiBTVU5PUzQgKi8KKwkJaWYgKCFkLT5kX3JlY2xlbikgeworCQkJdHByaW50ZigiLyogZF9yZWNsZW4gPT0gMCwgcHJvYmxlbSBoZXJlICovIik7CisJCQlicmVhazsKKwkJfQorCQlpICs9IGQtPmRfcmVjbGVuOworCQlkZW50cysrOworCX0KKwlpZiAoIWFiYnJldih0Y3ApKQorCQl0cHJpbnRmKCJ9Iik7CisJZWxzZQorCQl0cHJpbnRmKCIvKiAldSBlbnRyaWVzICovIiwgZGVudHMpOworCXRwcmludGYoIiwgJWx1IiwgdGNwLT51X2FyZ1syXSk7CisJZnJlZShidWYpOworCXJldHVybiAwOworfQorI2VuZGlmCisKKyNpZmRlZiBGUkVFQlNECitpbnQKK3N5c19nZXRkaXJlbnRyaWVzKHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwlpbnQgaSwgbGVuLCBkZW50cyA9IDA7CisJbG9uZyBiYXNlcDsKKwljaGFyICpidWY7CisKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQl0cHJpbnRmKCIlbHUsICIsIHRjcC0+dV9hcmdbMF0pOworCQlyZXR1cm4gMDsKKwl9CisJaWYgKHN5c2Vycm9yKHRjcCkgfHwgIXZlcmJvc2UodGNwKSkgeworCQl0cHJpbnRmKCIlI2x4LCAlbHUsICUjbHgiLCB0Y3AtPnVfYXJnWzFdLCB0Y3AtPnVfYXJnWzJdLCB0Y3AtPnVfYXJnWzNdKTsKKwkJcmV0dXJuIDA7CisJfQorCWxlbiA9IHRjcC0+dV9ydmFsOworCWlmICgoYnVmID0gbWFsbG9jKGxlbikpID09IE5VTEwpIHsKKwkJdHByaW50ZigiJSNseCwgJWx1LCAlI2x4IiwgdGNwLT51X2FyZ1sxXSwgdGNwLT51X2FyZ1syXSwgdGNwLT51X2FyZ1szXSk7CisJCWZwcmludGYoc3RkZXJyLCAib3V0IG9mIG1lbW9yeVxuIik7CisJCXJldHVybiAwOworCX0KKwlpZiAodW1vdmVuKHRjcCwgdGNwLT51X2FyZ1sxXSwgbGVuLCBidWYpIDwgMCkgeworCQl0cHJpbnRmKCIlI2x4LCAlbHUsICUjbHgiLCB0Y3AtPnVfYXJnWzFdLCB0Y3AtPnVfYXJnWzJdLCB0Y3AtPnVfYXJnWzNdKTsKKwkJZnJlZShidWYpOworCQlyZXR1cm4gMDsKKwl9CisJaWYgKCFhYmJyZXYodGNwKSkKKwkJdHByaW50ZigieyIpOworCWZvciAoaSA9IDA7IGkgPCBsZW47KSB7CisJCXN0cnVjdCBrZXJuZWxfZGlyZW50ICpkID0gKHN0cnVjdCBrZXJuZWxfZGlyZW50ICopICZidWZbaV07CisJCWlmICghYWJicmV2KHRjcCkpIHsKKwkJCXRwcmludGYoIiVze2RfZmlsZW5vPSV1LCBkX3JlY2xlbj0ldSwgZF90eXBlPSIsCisJCQkJaSA/ICIgIiA6ICIiLCBkLT5kX2ZpbGVubywgZC0+ZF9yZWNsZW4pOworCQkJcHJpbnR4dmFsKGRpcmVudHR5cGVzLCBkLT5kX3R5cGUsICJEVF8/Pz8iKTsKKwkJCXRwcmludGYoIiwgZF9uYW1sZW49JXUsIGRfbmFtZT1cIiUuKnNcIn0iLAorCQkJCWQtPmRfbmFtbGVuLCBkLT5kX25hbWxlbiwgZC0+ZF9uYW1lKTsKKwkJfQorCQlpZiAoIWQtPmRfcmVjbGVuKSB7CisJCQl0cHJpbnRmKCIvKiBkX3JlY2xlbiA9PSAwLCBwcm9ibGVtIGhlcmUgKi8iKTsKKwkJCWJyZWFrOworCQl9CisJCWkgKz0gZC0+ZF9yZWNsZW47CisJCWRlbnRzKys7CisJfQorCWlmICghYWJicmV2KHRjcCkpCisJCXRwcmludGYoIn0iKTsKKwllbHNlCisJCXRwcmludGYoIi8qICV1IGVudHJpZXMgKi8iLCBkZW50cyk7CisJZnJlZShidWYpOworCXRwcmludGYoIiwgJWx1IiwgdGNwLT51X2FyZ1syXSk7CisJaWYgKHVtb3ZlKHRjcCwgdGNwLT51X2FyZ1szXSwgJmJhc2VwKSA8IDApCisJCXRwcmludGYoIiwgJSNseCIsIHRjcC0+dV9hcmdbM10pOworCWVsc2UKKwkJdHByaW50ZigiLCBbJWx1XSIsIGJhc2VwKTsKKwlyZXR1cm4gMDsKK30KKyNlbmRpZgorCisjaWZkZWYgTElOVVgKK2ludAorc3lzX2dldGN3ZChzdHJ1Y3QgdGNiICp0Y3ApCit7CisJaWYgKGV4aXRpbmcodGNwKSkgeworCQlpZiAoc3lzZXJyb3IodGNwKSkKKwkJCXRwcmludGYoIiUjbHgiLCB0Y3AtPnVfYXJnWzBdKTsKKwkJZWxzZQorCQkJcHJpbnRwYXRobih0Y3AsIHRjcC0+dV9hcmdbMF0sIHRjcC0+dV9ydmFsIC0gMSk7CisJCXRwcmludGYoIiwgJWx1IiwgdGNwLT51X2FyZ1sxXSk7CisJfQorCXJldHVybiAwOworfQorI2VuZGlmIC8qIExJTlVYICovCisKKyNpZmRlZiBGUkVFQlNECitpbnQKK3N5c19fX2dldGN3ZChzdHJ1Y3QgdGNiICp0Y3ApCit7CisJaWYgKGV4aXRpbmcodGNwKSkgeworCQlpZiAoc3lzZXJyb3IodGNwKSkKKwkJCXRwcmludGYoIiUjbHgiLCB0Y3AtPnVfYXJnWzBdKTsKKwkJZWxzZQorCQkJcHJpbnRwYXRobih0Y3AsIHRjcC0+dV9hcmdbMF0sIHRjcC0+dV9hcmdbMV0pOworCQl0cHJpbnRmKCIsICVsdSIsIHRjcC0+dV9hcmdbMV0pOworCX0KKwlyZXR1cm4gMDsKK30KKyNlbmRpZgorCisjaWZkZWYgSEFWRV9TWVNfQVNZTkNIX0gKKworaW50CitzeXNfYWlvcmVhZChzdHJ1Y3QgdGNiICp0Y3ApCit7CisJc3RydWN0IGFpb19yZXN1bHRfdCByZXM7CisKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQl0cHJpbnRmKCIlbHUsICIsIHRjcC0+dV9hcmdbMF0pOworCX0gZWxzZSB7CisJCWlmIChzeXNlcnJvcih0Y3ApKQorCQkJdHByaW50ZigiJSNseCIsIHRjcC0+dV9hcmdbMV0pOworCQllbHNlCisJCQlwcmludHN0cih0Y3AsIHRjcC0+dV9hcmdbMV0sIHRjcC0+dV9hcmdbMl0pOworCQl0cHJpbnRmKCIsICVsdSwgJWx1LCAiLCB0Y3AtPnVfYXJnWzJdLCB0Y3AtPnVfYXJnWzNdKTsKKwkJcHJpbnR4dmFsKHdoZW5jZSwgdGNwLT51X2FyZ1s0XSwgIkxfPz8/Iik7CisJCWlmIChzeXNlcnJvcih0Y3ApIHx8IHRjcC0+dV9hcmdbNV0gPT0gMAorCQkgICAgfHwgdW1vdmUodGNwLCB0Y3AtPnVfYXJnWzVdLCAmcmVzKSA8IDApCisJCQl0cHJpbnRmKCIsICUjbHgiLCB0Y3AtPnVfYXJnWzVdKTsKKwkJZWxzZQorCQkJdHByaW50ZigiLCB7YWlvX3JldHVybiAlZCBhaW9fZXJybm8gJWR9IiwKKwkJCQlyZXMuYWlvX3JldHVybiwgcmVzLmFpb19lcnJubyk7CisJfQorCXJldHVybiAwOworfQorCitpbnQKK3N5c19haW93cml0ZShzdHJ1Y3QgdGNiICp0Y3ApCit7CisJc3RydWN0IGFpb19yZXN1bHRfdCByZXM7CisKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQl0cHJpbnRmKCIlbHUsICIsIHRjcC0+dV9hcmdbMF0pOworCQlwcmludHN0cih0Y3AsIHRjcC0+dV9hcmdbMV0sIHRjcC0+dV9hcmdbMl0pOworCQl0cHJpbnRmKCIsICVsdSwgJWx1LCAiLCB0Y3AtPnVfYXJnWzJdLCB0Y3AtPnVfYXJnWzNdKTsKKwkJcHJpbnR4dmFsKHdoZW5jZSwgdGNwLT51X2FyZ1s0XSwgIkxfPz8/Iik7CisJfQorCWVsc2UgeworCQlpZiAodGNwLT51X2FyZ1s1XSA9PSAwKQorCQkJdHByaW50ZigiLCBOVUxMIik7CisJCWVsc2UgaWYgKHN5c2Vycm9yKHRjcCkKKwkJICAgIHx8IHVtb3ZlKHRjcCwgdGNwLT51X2FyZ1s1XSwgJnJlcykgPCAwKQorCQkJdHByaW50ZigiLCAlI2x4IiwgdGNwLT51X2FyZ1s1XSk7CisJCWVsc2UKKwkJCXRwcmludGYoIiwge2Fpb19yZXR1cm4gJWQgYWlvX2Vycm5vICVkfSIsCisJCQkJcmVzLmFpb19yZXR1cm4sIHJlcy5haW9fZXJybm8pOworCX0KKwlyZXR1cm4gMDsKK30KKworaW50CitzeXNfYWlvd2FpdChzdHJ1Y3QgdGNiICp0Y3ApCit7CisJaWYgKGVudGVyaW5nKHRjcCkpCisJCXByaW50dHYodGNwLCB0Y3AtPnVfYXJnWzBdKTsKKwlyZXR1cm4gMDsKK30KKworaW50CitzeXNfYWlvY2FuY2VsKHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwlzdHJ1Y3QgYWlvX3Jlc3VsdF90IHJlczsKKworCWlmIChleGl0aW5nKHRjcCkpIHsKKwkJaWYgKHRjcC0+dV9hcmdbMF0gPT0gMCkKKwkJCXRwcmludGYoIk5VTEwiKTsKKwkJZWxzZSBpZiAoc3lzZXJyb3IodGNwKQorCQkgICAgfHwgdW1vdmUodGNwLCB0Y3AtPnVfYXJnWzBdLCAmcmVzKSA8IDApCisJCQl0cHJpbnRmKCIlI2x4IiwgdGNwLT51X2FyZ1swXSk7CisJCWVsc2UKKwkJCXRwcmludGYoInthaW9fcmV0dXJuICVkIGFpb19lcnJubyAlZH0iLAorCQkJCXJlcy5haW9fcmV0dXJuLCByZXMuYWlvX2Vycm5vKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKKyNlbmRpZiAvKiBIQVZFX1NZU19BU1lOQ0hfSCAqLworCitzdGF0aWMgY29uc3Qgc3RydWN0IHhsYXQgeGF0dHJmbGFnc1tdID0geworI2lmZGVmIFhBVFRSX0NSRUFURQorCXsgWEFUVFJfQ1JFQVRFLAkgIlhBVFRSX0NSRUFURSIgfSwKKwl7IFhBVFRSX1JFUExBQ0UsICJYQVRUUl9SRVBMQUNFIiB9LAorI2VuZGlmCisJeyAwLAkJIE5VTEwgfQorfTsKKworc3RhdGljIHZvaWQKK3ByaW50X3hhdHRyX3ZhbChzdHJ1Y3QgdGNiICp0Y3AsIGludCBmYWlsZWQsCisJCXVuc2lnbmVkIGxvbmcgYXJnLAorCQl1bnNpZ25lZCBsb25nIGluc2l6ZSwKKwkJdW5zaWduZWQgbG9uZyBzaXplKQoreworCWlmICghZmFpbGVkKSB7CisJCXVuc2lnbmVkIGxvbmcgY2FwYWNpdHkgPSA0ICogc2l6ZSArIDE7CisJCXVuc2lnbmVkIGNoYXIgKmJ1ZiA9IChjYXBhY2l0eSA8IHNpemUpID8gTlVMTCA6IG1hbGxvYyhjYXBhY2l0eSk7CisJCWlmIChidWYgPT0gTlVMTCB8fCAvKiBwcm9iYWJseSBhIGJvZ3VzIHNpemUgYXJndW1lbnQgKi8KKwkJCXVtb3Zlbih0Y3AsIGFyZywgc2l6ZSwgKGNoYXIgKikgJmJ1ZlszICogc2l6ZV0pIDwgMCkgeworCQkJZmFpbGVkID0gMTsKKwkJfQorCQllbHNlIHsKKwkJCXVuc2lnbmVkIGNoYXIgKm91dCA9IGJ1ZjsKKwkJCXVuc2lnbmVkIGNoYXIgKmluID0gJmJ1ZlszICogc2l6ZV07CisJCQlzaXplX3QgaTsKKwkJCWZvciAoaSA9IDA7IGkgPCBzaXplOyArK2kpIHsKKwkJCQlpZiAoaXNwcmludChpbltpXSkpCisJCQkJCSpvdXQrKyA9IGluW2ldOworCQkJCWVsc2UgeworI2RlZmluZSB0b2hleChuKSAiMDEyMzQ1Njc4OWFiY2RlZiJbbl0KKwkJCQkJKm91dCsrID0gJ1xcJzsKKwkJCQkJKm91dCsrID0gJ3gnOworCQkJCQkqb3V0KysgPSB0b2hleChpbltpXSAvIDE2KTsKKwkJCQkJKm91dCsrID0gdG9oZXgoaW5baV0gJSAxNik7CisJCQkJfQorCQkJfQorCQkJLyogRG9uJ3QgcHJpbnQgdGVybWluYXRpbmcgTlVMIGlmIHRoZXJlIGlzIG9uZS4gICovCisJCQlpZiAoaSA+IDAgJiYgaW5baSAtIDFdID09ICdcMCcpCisJCQkJb3V0IC09IDQ7CisJCQkqb3V0ID0gJ1wwJzsKKwkJCXRwcmludGYoIiwgXCIlc1wiLCAlbGQiLCBidWYsIGluc2l6ZSk7CisJCX0KKwkJZnJlZShidWYpOworCX0KKwlpZiAoZmFpbGVkKQorCQl0cHJpbnRmKCIsIDB4JWx4LCAlbGQiLCBhcmcsIGluc2l6ZSk7Cit9CisKK2ludAorc3lzX3NldHhhdHRyKHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQlwcmludHBhdGgodGNwLCB0Y3AtPnVfYXJnWzBdKTsKKwkJdHByaW50ZigiLCAiKTsKKwkJcHJpbnRzdHIodGNwLCB0Y3AtPnVfYXJnWzFdLCAtMSk7CisJCXByaW50X3hhdHRyX3ZhbCh0Y3AsIDAsIHRjcC0+dV9hcmdbMl0sIHRjcC0+dV9hcmdbM10sIHRjcC0+dV9hcmdbM10pOworCQl0cHJpbnRmKCIsICIpOworCQlwcmludGZsYWdzKHhhdHRyZmxhZ3MsIHRjcC0+dV9hcmdbNF0sICJYQVRUUl8/Pz8iKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK2ludAorc3lzX2ZzZXR4YXR0cihzdHJ1Y3QgdGNiICp0Y3ApCit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJdHByaW50ZigiJWxkLCAiLCB0Y3AtPnVfYXJnWzBdKTsKKwkJcHJpbnRzdHIodGNwLCB0Y3AtPnVfYXJnWzFdLCAtMSk7CisJCXByaW50X3hhdHRyX3ZhbCh0Y3AsIDAsIHRjcC0+dV9hcmdbMl0sIHRjcC0+dV9hcmdbM10sIHRjcC0+dV9hcmdbM10pOworCQl0cHJpbnRmKCIsICIpOworCQlwcmludGZsYWdzKHhhdHRyZmxhZ3MsIHRjcC0+dV9hcmdbNF0sICJYQVRUUl8/Pz8iKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK2ludAorc3lzX2dldHhhdHRyKHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQlwcmludHBhdGgodGNwLCB0Y3AtPnVfYXJnWzBdKTsKKwkJdHByaW50ZigiLCAiKTsKKwkJcHJpbnRzdHIodGNwLCB0Y3AtPnVfYXJnWzFdLCAtMSk7CisJfSBlbHNlIHsKKwkJcHJpbnRfeGF0dHJfdmFsKHRjcCwgc3lzZXJyb3IodGNwKSwgdGNwLT51X2FyZ1syXSwgdGNwLT51X2FyZ1szXSwKKwkJCQl0Y3AtPnVfcnZhbCk7CisJfQorCXJldHVybiAwOworfQorCitpbnQKK3N5c19mZ2V0eGF0dHIoc3RydWN0IHRjYiAqdGNwKQoreworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXRwcmludGYoIiVsZCwgIiwgdGNwLT51X2FyZ1swXSk7CisJCXByaW50c3RyKHRjcCwgdGNwLT51X2FyZ1sxXSwgLTEpOworCX0gZWxzZSB7CisJCXByaW50X3hhdHRyX3ZhbCh0Y3AsIHN5c2Vycm9yKHRjcCksIHRjcC0+dV9hcmdbMl0sIHRjcC0+dV9hcmdbM10sCisJCQkJdGNwLT51X3J2YWwpOworCX0KKwlyZXR1cm4gMDsKK30KKworaW50CitzeXNfbGlzdHhhdHRyKHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQlwcmludHBhdGgodGNwLCB0Y3AtPnVfYXJnWzBdKTsKKwl9IGVsc2UgeworCQkvKiBYWFggUHJpbnQgdmFsdWUgaW4gZm9ybWF0ICovCisJCXRwcmludGYoIiwgJXAsICVsdSIsICh2b2lkICopIHRjcC0+dV9hcmdbMV0sIHRjcC0+dV9hcmdbMl0pOworCX0KKwlyZXR1cm4gMDsKK30KKworaW50CitzeXNfZmxpc3R4YXR0cihzdHJ1Y3QgdGNiICp0Y3ApCit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJdHByaW50ZigiJWxkIiwgdGNwLT51X2FyZ1swXSk7CisJfSBlbHNlIHsKKwkJLyogWFhYIFByaW50IHZhbHVlIGluIGZvcm1hdCAqLworCQl0cHJpbnRmKCIsICVwLCAlbHUiLCAodm9pZCAqKSB0Y3AtPnVfYXJnWzFdLCB0Y3AtPnVfYXJnWzJdKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK2ludAorc3lzX3JlbW92ZXhhdHRyKHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQlwcmludHBhdGgodGNwLCB0Y3AtPnVfYXJnWzBdKTsKKwkJdHByaW50ZigiLCAiKTsKKwkJcHJpbnRzdHIodGNwLCB0Y3AtPnVfYXJnWzFdLCAtMSk7CisJfQorCXJldHVybiAwOworfQorCitpbnQKK3N5c19mcmVtb3ZleGF0dHIoc3RydWN0IHRjYiAqdGNwKQoreworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXRwcmludGYoIiVsZCwgIiwgdGNwLT51X2FyZ1swXSk7CisJCXByaW50c3RyKHRjcCwgdGNwLT51X2FyZ1sxXSwgLTEpOworCX0KKwlyZXR1cm4gMDsKK30KKworCitzdGF0aWMgY29uc3Qgc3RydWN0IHhsYXQgYWR2aXNlW10gPSB7CisgIHsgUE9TSVhfRkFEVl9OT1JNQUwsCQkiUE9TSVhfRkFEVl9OT1JNQUwiCX0sCisgIHsgUE9TSVhfRkFEVl9SQU5ET00sCQkiUE9TSVhfRkFEVl9SQU5ET00iCX0sCisgIHsgUE9TSVhfRkFEVl9TRVFVRU5USUFMLAkiUE9TSVhfRkFEVl9TRVFVRU5USUFMIgl9LAorICB7IFBPU0lYX0ZBRFZfV0lMTE5FRUQsCSJQT1NJWF9GQURWX1dJTExORUVEIgl9LAorICB7IFBPU0lYX0ZBRFZfRE9OVE5FRUQsCSJQT1NJWF9GQURWX0RPTlRORUVEIgl9LAorICB7IFBPU0lYX0ZBRFZfTk9SRVVTRSwJCSJQT1NJWF9GQURWX05PUkVVU0UiCX0sCisgIHsgMCwJCQkJTlVMTAkJCX0KK307CisKKworI2lmZGVmIExJTlVYCitpbnQKK3N5c19mYWR2aXNlNjQoc3RydWN0IHRjYiAqdGNwKQoreworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCWludCBhcmduOworCQl0cHJpbnRmKCIlbGQsICIsIHRjcC0+dV9hcmdbMF0pOworCQlhcmduID0gcHJpbnRsbHZhbCh0Y3AsICIlbGxkIiwgMSk7CisJCXRwcmludGYoIiwgJWxkLCAiLCB0Y3AtPnVfYXJnW2FyZ24rK10pOworCQlwcmludHh2YWwoYWR2aXNlLCB0Y3AtPnVfYXJnW2FyZ25dLCAiUE9TSVhfRkFEVl8/Pz8iKTsKKwl9CisJcmV0dXJuIDA7Cit9CisjZW5kaWYKKworCitpbnQKK3N5c19mYWR2aXNlNjRfNjQoc3RydWN0IHRjYiAqdGNwKQoreworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCWludCBhcmduOworCQl0cHJpbnRmKCIlbGQsICIsIHRjcC0+dV9hcmdbMF0pOworI2lmIGRlZmluZWQgQVJNIHx8IGRlZmluZWQgUE9XRVJQQworCQlhcmduID0gcHJpbnRsbHZhbCh0Y3AsICIlbGxkLCAiLCAyKTsKKyNlbHNlCisJCWFyZ24gPSBwcmludGxsdmFsKHRjcCwgIiVsbGQsICIsIDEpOworI2VuZGlmCisJCWFyZ24gPSBwcmludGxsdmFsKHRjcCwgIiVsbGQsICIsIGFyZ24pOworI2lmIGRlZmluZWQgQVJNIHx8IGRlZmluZWQgUE9XRVJQQworCQlwcmludHh2YWwoYWR2aXNlLCB0Y3AtPnVfYXJnWzFdLCAiUE9TSVhfRkFEVl8/Pz8iKTsKKyNlbHNlCisJCXByaW50eHZhbChhZHZpc2UsIHRjcC0+dV9hcmdbYXJnbl0sICJQT1NJWF9GQURWXz8/PyIpOworI2VuZGlmCisJfQorCXJldHVybiAwOworfQorCisjaWZkZWYgTElOVVgKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCBpbm90aWZ5X21vZGVzW10gPSB7CisJeyAweDAwMDAwMDAxLCAiSU5fQUNDRVNTIiB9LAorCXsgMHgwMDAwMDAwMiwgIklOX01PRElGWSIgfSwKKwl7IDB4MDAwMDAwMDQsICJJTl9BVFRSSUIiIH0sCisJeyAweDAwMDAwMDA4LCAiSU5fQ0xPU0VfV1JJVEUiIH0sCisJeyAweDAwMDAwMDEwLCAiSU5fQ0xPU0VfTk9XUklURSIgfSwKKwl7IDB4MDAwMDAwMjAsICJJTl9PUEVOIiB9LAorCXsgMHgwMDAwMDA0MCwgIklOX01PVkVEX0ZST00iIH0sCisJeyAweDAwMDAwMDgwLCAiSU5fTU9WRURfVE8iIH0sCisJeyAweDAwMDAwMTAwLCAiSU5fQ1JFQVRFIiB9LAorCXsgMHgwMDAwMDIwMCwgIklOX0RFTEVURSIgfSwKKwl7IDB4MDAwMDA0MDAsICJJTl9ERUxFVEVfU0VMRiIgfSwKKwl7IDB4MDAwMDA4MDAsICJJTl9NT1ZFX1NFTEYiIH0sCisJeyAweDAwMDAyMDAwLCAiSU5fVU5NT1VOVCIgfSwKKwl7IDB4MDAwMDQwMDAsICJJTl9RX09WRVJGTE9XIiB9LAorCXsgMHgwMDAwODAwMCwgIklOX0lHTk9SRUQiIH0sCisJeyAweDAxMDAwMDAwLCAiSU5fT05MWURJUiIgfSwKKwl7IDB4MDIwMDAwMDAsICJJTl9ET05UX0ZPTExPVyIgfSwKKwl7IDB4MjAwMDAwMDAsICJJTl9NQVNLX0FERCIgfSwKKwl7IDB4NDAwMDAwMDAsICJJTl9JU0RJUiIgfSwKKwl7IDB4ODAwMDAwMDAsICJJTl9PTkVTSE9UIiB9Cit9OworCitpbnQKK3N5c19pbm90aWZ5X2FkZF93YXRjaChzdHJ1Y3QgdGNiICp0Y3ApCit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJdHByaW50ZigiJWxkLCAiLCB0Y3AtPnVfYXJnWzBdKTsKKwkJcHJpbnRwYXRoKHRjcCwgdGNwLT51X2FyZ1sxXSk7CisJCXRwcmludGYoIiwgIik7CisJCXByaW50ZmxhZ3MoaW5vdGlmeV9tb2RlcywgdGNwLT51X2FyZ1syXSwgIklOXz8/PyIpOworCX0KKwlyZXR1cm4gMDsKK30KKworaW50CitzeXNfaW5vdGlmeV9ybV93YXRjaChzdHJ1Y3QgdGNiICp0Y3ApCit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJdHByaW50ZigiJWxkLCAlbGQiLCB0Y3AtPnVfYXJnWzBdLCB0Y3AtPnVfYXJnWzFdKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK2ludAorc3lzX2lub3RpZnlfaW5pdDEoc3RydWN0IHRjYiAqdGNwKQoreworCWlmIChlbnRlcmluZyh0Y3ApKQorCQlwcmludGZsYWdzKG9wZW5fbW9kZV9mbGFncywgdGNwLT51X2FyZ1swXSwgIk9fPz8/Iik7CisJcmV0dXJuIDA7Cit9CisKK2ludAorc3lzX2ZhbGxvY2F0ZShzdHJ1Y3QgdGNiICp0Y3ApCit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJaW50IGFyZ247CisJCXRwcmludGYoIiVsZCwgIiwgdGNwLT51X2FyZ1swXSk7CS8qIGZkICovCisJCXRwcmludGYoIiUjbG8sICIsIHRjcC0+dV9hcmdbMV0pOwkvKiBtb2RlICovCisJCWFyZ24gPSBwcmludGxsdmFsKHRjcCwgIiVsbHUsICIsIDIpOwkvKiBvZmZzZXQgKi8KKwkJcHJpbnRsbHZhbCh0Y3AsICIlbGx1IiwgYXJnbik7CQkvKiBsZW4gKi8KKwl9CisJcmV0dXJuIDA7Cit9CisjZW5kaWYKZGlmZiAtLWdpdCBhL3N0cmFjZS00LjUuMjAvZnJlZWJzZC9pMzg2L2Vycm5vZW50LmggYi9zdHJhY2UtNC41LjIwL2ZyZWVic2QvaTM4Ni9lcnJub2VudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQxOGI5YWMKLS0tIC9kZXYvbnVsbAorKysgYi9zdHJhY2UtNC41LjIwL2ZyZWVic2QvaTM4Ni9lcnJub2VudC5oCkBAIC0wLDAgKzEsODcgQEAKKwkiRVJSTk9fMCIsIC8qIDAgKi8KKwkiRVBFUk0iLCAvKiAxICovCisJIkVOT0VOVCIsIC8qIDIgKi8KKwkiRVNSQ0giLCAvKiAzICovCisJIkVJTlRSIiwgLyogNCAqLworCSJFSU8iLCAvKiA1ICovCisJIkVOWElPIiwgLyogNiAqLworCSJFMkJJRyIsIC8qIDcgKi8KKwkiRU5PRVhFQyIsIC8qIDggKi8KKwkiRUJBREYiLCAvKiA5ICovCisJIkVDSElMRCIsIC8qIDEwICovCisJIkVERUFETEsiLCAvKiAxMSAqLworCSJFTk9NRU0iLCAvKiAxMiAqLworCSJFQUNDRVMiLCAvKiAxMyAqLworCSJFRkFVTFQiLCAvKiAxNCAqLworCSJFTk9UQkxLIiwgLyogMTUgKi8KKwkiRUJVU1kiLCAvKiAxNiAqLworCSJFRVhJU1QiLCAvKiAxNyAqLworCSJFWERFViIsIC8qIDE4ICovCisJIkVOT0RFViIsIC8qIDE5ICovCisJIkVOT1RESVIiLCAvKiAyMCAqLworCSJFSVNESVIiLCAvKiAyMSAqLworCSJFSU5WQUwiLCAvKiAyMiAqLworCSJFTkZJTEUiLCAvKiAyMyAqLworCSJFTUZJTEUiLCAvKiAyNCAqLworCSJFTk9UVFkiLCAvKiAyNSAqLworCSJFVFhUQlNZIiwgLyogMjYgKi8KKwkiRUZCSUciLCAvKiAyNyAqLworCSJFTk9TUEMiLCAvKiAyOCAqLworCSJFU1BJUEUiLCAvKiAyOSAqLworCSJFUk9GUyIsIC8qIDMwICovCisJIkVNTElOSyIsIC8qIDMxICovCisJIkVQSVBFIiwgLyogMzIgKi8KKwkiRURPTSIsIC8qIDMzICovCisJIkVSQU5HRSIsIC8qIDM0ICovCisJIkVBR0FJTiIsIC8qIDM1ICovCisJIkVJTlBST0dSRVNTIiwgLyogMzYgKi8KKwkiRUFMUkVBRFkiLCAvKiAzNyAqLworCSJFTk9UU09DSyIsIC8qIDM4ICovCisJIkVERVNUQUREUlJFUSIsIC8qIDM5ICovCisJIkVNU0dTSVpFIiwgLyogNDAgKi8KKwkiRVBST1RPVFlQRSIsIC8qIDQxICovCisJIkVOT1BST1RPT1BUIiwgLyogNDIgKi8KKwkiRVBST1RPTk9TVVBQT1JUIiwgLyogNDMgKi8KKwkiRVNPQ0tUTk9TVVBQT1JUIiwgLyogNDQgKi8KKwkiRU9QTk9UU1VQUCIsIC8qIDQ1ICovCisJIkVQRk5PU1VQUE9SVCIsIC8qIDQ2ICovCisJIkVBRk5PU1VQUE9SVCIsIC8qIDQ3ICovCisJIkVBRERSSU5VU0UiLCAvKiA0OCAqLworCSJFQUREUk5PVEFWQUlMIiwgLyogNDkgKi8KKwkiRU5FVERPV04iLCAvKiA1MCAqLworCSJFTkVUVU5SRUFDSCIsIC8qIDUxICovCisJIkVORVRSRVNFVCIsIC8qIDUyICovCisJIkVDT05OQUJPUlRFRCIsIC8qIDUzICovCisJIkVDT05OUkVTRVQiLCAvKiA1NCAqLworCSJFTk9CVUZTIiwgLyogNTUgKi8KKwkiRUlTQ09OTiIsIC8qIDU2ICovCisJIkVOT1RDT05OIiwgLyogNTcgKi8KKwkiRVNIVVRET1dOIiwgLyogNTggKi8KKwkiRVRPT01BTllSRUZTIiwgLyogNTkgKi8KKwkiRVRJTUVET1VUIiwgLyogNjAgKi8KKwkiRUNPTk5SRUZVU0VEIiwgLyogNjEgKi8KKwkiRUxPT1AiLCAvKiA2MiAqLworCSJFTkFNRVRPT0xPTkciLCAvKiA2MyAqLworCSJFSE9TVERPV04iLCAvKiA2NCAqLworCSJFSE9TVFVOUkVBQ0giLCAvKiA2NSAqLworCSJFTk9URU1QVFkiLCAvKiA2NiAqLworCSJFUFJPQ0xJTSIsIC8qIDY3ICovCisJIkVVU0VSUyIsIC8qIDY4ICovCisJIkVEUVVPVCIsIC8qIDY5ICovCisJIkVTVEFMRSIsIC8qIDcwICovCisJIkVSRU1PVEUiLCAvKiA3MSAqLworCSJFQkFEUlBDIiwgLyogNzIgKi8KKwkiRVJQQ01JU01BVENIIiwgLyogNzMgKi8KKwkiRVBST0dVTkFWQUlMIiwgLyogNzQgKi8KKwkiRVBST0dNSVNNQVRDSCIsIC8qIDc1ICovCisJIkVQUk9DVU5BVkFJTCIsIC8qIDc2ICovCisJIkVOT0xDSyIsIC8qIDc3ICovCisJIkVOT1NZUyIsIC8qIDc4ICovCisJIkVGVFlQRSIsIC8qIDc5ICovCisJIkVBVVRIIiwgLyogODAgKi8KKwkiRU5FRURBVVRIIiwgLyogODEgKi8KKwkiRUlEUk0iLCAvKiA4MiAqLworCSJFTk9NU0ciLCAvKiA4MyAqLworCSJFT1ZFUkZMT1ciLCAvKiA4NCAqLworCSJFQ0FOQ0VMRUQiLCAvKiA4NSAqLworCSJFTEFTVCIsIC8qIDg2ICovCmRpZmYgLS1naXQgYS9zdHJhY2UtNC41LjIwL2ZyZWVic2QvaTM4Ni9pb2N0bGVudC5oIGIvc3RyYWNlLTQuNS4yMC9mcmVlYnNkL2kzODYvaW9jdGxlbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNDQ4ZTRjCi0tLSAvZGV2L251bGwKKysrIGIvc3RyYWNlLTQuNS4yMC9mcmVlYnNkL2kzODYvaW9jdGxlbnQuaApAQCAtMCwwICsxLDEwNTYgQEAKK3sic3lzL3RpbWVwcHMuaCIsICJQUFNfSU9DX0NSRUFURSIsIDB4MjAwMDMxMDF9LAoreyJzeXMvdGltZXBwcy5oIiwgIlBQU19JT0NfREVTVFJPWSIsIDB4MjAwMDMxMDJ9LAoreyJtYWNoaW5lL3BjYXVkaW9pby5oIiwgIkFVRElPX0RSQUlOIiwgMHgyMDAwNDEwM30sCit7Im1hY2hpbmUvcGNhdWRpb2lvLmgiLCAiQVVESU9fRkxVU0giLCAweDIwMDA0MTA0fSwKK3sic3lzL2RhdGFhY3EuaCIsICJBRF9TVVBQT1JURURfR0FJTlMiLCAweDIwMDA0MTA1fSwKK3sic3lzL2RhdGFhY3EuaCIsICJBRF9HQUlOU19TRVQiLCAweDIwMDA0MTA2fSwKK3sic3lzL2RhdGFhY3EuaCIsICJBRF9HQUlOU19HRVQiLCAweDIwMDA0MTA3fSwKK3sibmV0L2JwZi5oIiwgIkJJT0NGTFVTSCIsIDB4MjAwMDQyNjh9LAoreyJuZXQvYnBmLmgiLCAiQklPQ1BST01JU0MiLCAweDIwMDA0MjY5fSwKK3sic3lzL3NvdW5kY2FyZC5oIiwgIlNORENUTF9DT1BSX1JFU0VUIiwgMHgyMDAwNDMwMH0sCit7Im1hY2hpbmUvc291bmRjYXJkLmgiLCAiU05EQ1RMX0NPUFJfUkVTRVQiLCAweDIwMDA0MzAwfSwKK3sibWFjaGluZS9wY3Z0X2lvY3RsLmgiLCAiS0JEUkVTRVQiLCAweDIwMDA0YjAxfSwKK3sic3lzL2tiaW8uaCIsICJLRFNLQk1PREUiLCAweDIwMDA0YjA3fSwKK3sibWFjaGluZS9wY3Z0X2lvY3RsLmgiLCAiS0RTS0JNT0RFIiwgMHgyMDAwNGIwN30sCit7InN5cy9rYmlvLmgiLCAiS0RNS1RPTkUiLCAweDIwMDA0YjA4fSwKK3sibWFjaGluZS9wY3Z0X2lvY3RsLmgiLCAiS0RNS1RPTkUiLCAweDIwMDA0YjA4fSwKK3sibWFjaGluZS9wY3Z0X2lvY3RsLmgiLCAiS0RTRVRNT0RFIiwgMHgyMDAwNGIwYX0sCit7InN5cy9jb25zaW8uaCIsICJLRFNFVE1PREUiLCAweDIwMDA0YjBhfSwKK3sic3lzL2NvbnNpby5oIiwgIktEU0JPUkRFUiIsIDB4MjAwMDRiMGR9LAoreyJtYWNoaW5lL3BjdnRfaW9jdGwuaCIsICJLQkRERUZBVUxUIiwgMHgyMDAwNGIxNH0sCit7InN5cy9rYmlvLmgiLCAiS0RTS0JTVEFURSIsIDB4MjAwMDRiMTR9LAoreyJtYWNoaW5lL3BjdnRfaW9jdGwuaCIsICJLREVOQUJJTyIsIDB4MjAwMDRiM2N9LAoreyJzeXMva2Jpby5oIiwgIktERU5BQklPIiwgMHgyMDAwNGIzY30sCit7InN5cy9rYmlvLmgiLCAiS0RESVNBQklPIiwgMHgyMDAwNGIzZH0sCit7Im1hY2hpbmUvcGN2dF9pb2N0bC5oIiwgIktERElTQUJJTyIsIDB4MjAwMDRiM2R9LAoreyJzeXMva2Jpby5oIiwgIktJT0NTT1VORCIsIDB4MjAwMDRiM2Z9LAoreyJzeXMva2Jpby5oIiwgIktEU0VUTEVEIiwgMHgyMDAwNGI0Mn0sCit7Im1hY2hpbmUvcGN2dF9pb2N0bC5oIiwgIktEU0VUTEVEIiwgMHgyMDAwNGI0Mn0sCit7Im1hY2hpbmUvcGN2dF9pb2N0bC5oIiwgIktEU0VUUkFEIiwgMHgyMDAwNGI0M30sCit7InN5cy9rYmlvLmgiLCAiS0RTRVRSQUQiLCAweDIwMDA0YjQzfSwKK3sibWFjaGluZS9wY2F1ZGlvaW8uaCIsICJBVURJT19DT01QQVRfRkxVU0giLCAweDIwMDA1MDAwfSwKK3sic3lzL3NvdW5kY2FyZC5oIiwgIlNORENUTF9EU1BfUkVTRVQiLCAweDIwMDA1MDAwfSwKK3sibWFjaGluZS9zb3VuZGNhcmQuaCIsICJTTkRDVExfRFNQX1JFU0VUIiwgMHgyMDAwNTAwMH0sCit7InN5cy9zb3VuZGNhcmQuaCIsICJTTkRDVExfRFNQX1NZTkMiLCAweDIwMDA1MDAxfSwKK3sibWFjaGluZS9zb3VuZGNhcmQuaCIsICJTTkRDVExfRFNQX1NZTkMiLCAweDIwMDA1MDAxfSwKK3sibWFjaGluZS9wY2F1ZGlvaW8uaCIsICJBVURJT19DT01QQVRfRFJBSU4iLCAweDIwMDA1MDAxfSwKK3sibWFjaGluZS9hcG1fYmlvcy5oIiwgIkFQTUlPX1NVU1BFTkQiLCAweDIwMDA1MDAxfSwKK3sibWFjaGluZS9hcG1fYmlvcy5oIiwgIkFQTUlPX0VOQUJMRSIsIDB4MjAwMDUwMDV9LAoreyJtYWNoaW5lL2FwbV9iaW9zLmgiLCAiQVBNSU9fRElTQUJMRSIsIDB4MjAwMDUwMDZ9LAoreyJtYWNoaW5lL2FwbV9iaW9zLmgiLCAiQVBNSU9fSEFMVENQVSIsIDB4MjAwMDUwMDd9LAoreyJzeXMvc291bmRjYXJkLmgiLCAiU05EQ1RMX0RTUF9QT1NUIiwgMHgyMDAwNTAwOH0sCit7Im1hY2hpbmUvc291bmRjYXJkLmgiLCAiU05EQ1RMX0RTUF9QT1NUIiwgMHgyMDAwNTAwOH0sCit7Im1hY2hpbmUvYXBtX2Jpb3MuaCIsICJBUE1JT19OT1RIQUxUQ1BVIiwgMHgyMDAwNTAwOH0sCit7Im1hY2hpbmUvYXBtX2Jpb3MuaCIsICJBUE1JT19TVEFOREJZIiwgMHgyMDAwNTAwY30sCit7Im1hY2hpbmUvc291bmRjYXJkLmgiLCAiU05EQ1RMX0RTUF9OT05CTE9DSyIsIDB4MjAwMDUwMGV9LAoreyJzeXMvc291bmRjYXJkLmgiLCAiU05EQ1RMX0RTUF9OT05CTE9DSyIsIDB4MjAwMDUwMGV9LAoreyJtYWNoaW5lL3NvdW5kY2FyZC5oIiwgIlNORENUTF9EU1BfU0VUU1lOQ1JPIiwgMHgyMDAwNTAxNX0sCit7InN5cy9zb3VuZGNhcmQuaCIsICJTTkRDVExfRFNQX1NFVFNZTkNSTyIsIDB4MjAwMDUwMTV9LAoreyJtYWNoaW5lL2FwbV9iaW9zLmgiLCAiQVBNSU9fUkVKRUNUTEFTVFJFUSIsIDB4MjAwMDUwNjV9LAoreyJtYWNoaW5lL3NvdW5kY2FyZC5oIiwgIlNORENUTF9TRVFfUkVTRVQiLCAweDIwMDA1MTAwfSwKK3sic3lzL3NvdW5kY2FyZC5oIiwgIlNORENUTF9TRVFfUkVTRVQiLCAweDIwMDA1MTAwfSwKK3sic3lzL3NvdW5kY2FyZC5oIiwgIlNORENUTF9TRVFfU1lOQyIsIDB4MjAwMDUxMDF9LAoreyJtYWNoaW5lL3NvdW5kY2FyZC5oIiwgIlNORENUTF9TRVFfU1lOQyIsIDB4MjAwMDUxMDF9LAoreyJtYWNoaW5lL3NvdW5kY2FyZC5oIiwgIlNORENUTF9TRVFfUEFOSUMiLCAweDIwMDA1MTExfSwKK3sic3lzL3NvdW5kY2FyZC5oIiwgIlNORENUTF9TRVFfUEFOSUMiLCAweDIwMDA1MTExfSwKK3sic3lzL2NvbnNpby5oIiwgIlNXX0I0MHgyNSIsIDB4MjAwMDUzMDB9LAoreyJzeXMvY29uc2lvLmgiLCAiU1dfQzQweDI1IiwgMHgyMDAwNTMwMX0sCit7Im1hY2hpbmUvc3BlYWtlci5oIiwgIlNQS1JUVU5FIiwgMHgyMDAwNTMwMn0sCit7InN5cy9jb25zaW8uaCIsICJTV19CODB4MjUiLCAweDIwMDA1MzAyfSwKK3sic3lzL2NvbnNpby5oIiwgIlNXX0M4MHgyNSIsIDB4MjAwMDUzMDN9LAoreyJzeXMvY29uc2lvLmgiLCAiU1dfQkczMjAiLCAweDIwMDA1MzA0fSwKK3sic3lzL2NvbnNpby5oIiwgIlNXX0NHMzIwIiwgMHgyMDAwNTMwNX0sCit7InN5cy9jb25zaW8uaCIsICJTV19CRzY0MCIsIDB4MjAwMDUzMDZ9LAoreyJzeXMvY29uc2lvLmgiLCAiU1dfRUdBTU9OTzgweDI1IiwgMHgyMDAwNTMwN30sCit7Im1hY2hpbmUvZ3NjLmgiLCAiR1NDX1NSRVNTVyIsIDB4MjAwMDUzMGJ9LAoreyJtYWNoaW5lL2FzY19pb2N0bC5oIiwgIkFTQ19TUkVTU1ciLCAweDIwMDA1MzBifSwKK3sic3lzL2NvbnNpby5oIiwgIlNXX0NHMzIwX0QiLCAweDIwMDA1MzBkfSwKK3sic3lzL2NvbnNpby5oIiwgIlNXX0NHNjQwX0UiLCAweDIwMDA1MzBlfSwKK3sic3lzL2NvbnNpby5oIiwgIlNXX0VHQU1PTk9BUEEiLCAweDIwMDA1MzBmfSwKK3sic3lzL2NvbnNpby5oIiwgIlNXX0NHNjQweDM1MCIsIDB4MjAwMDUzMTB9LAoreyJzeXMvY29uc2lvLmgiLCAiU1dfRU5IX01PTk9BUEEyIiwgMHgyMDAwNTMxMX0sCit7InN5cy9jb25zaW8uaCIsICJTV19FTkhfQ0c2NDAiLCAweDIwMDA1MzEyfSwKK3sic3lzL2NvbnNpby5oIiwgIlNXX0VOSF9CNDB4MjUiLCAweDIwMDA1MzEzfSwKK3sic3lzL2NvbnNpby5oIiwgIlNXX0VOSF9DNDB4MjUiLCAweDIwMDA1MzE0fSwKK3sic3lzL2NvbnNpby5oIiwgIlNXX0VOSF9CODB4MjUiLCAweDIwMDA1MzE1fSwKK3sic3lzL2NvbnNpby5oIiwgIlNXX0VOSF9DODB4MjUiLCAweDIwMDA1MzE2fSwKK3sic3lzL2NvbnNpby5oIiwgIlNXX1ZHQV9DNDB4MjUiLCAweDIwMDA1MzE3fSwKK3sic3lzL2NvbnNpby5oIiwgIlNXX1ZHQV9DODB4MjUiLCAweDIwMDA1MzE4fSwKK3sic3lzL2NvbnNpby5oIiwgIlNXX1ZHQV9NODB4MjUiLCAweDIwMDA1MzE5fSwKK3sic3lzL2NvbnNpby5oIiwgIlNXX1ZHQTExIiwgMHgyMDAwNTMxYX0sCit7InN5cy9jb25zaW8uaCIsICJTV19CRzY0MHg0ODAiLCAweDIwMDA1MzFhfSwKK3sic3lzL2NvbnNpby5oIiwgIlNXX0NHNjQweDQ4MCIsIDB4MjAwMDUzMWJ9LAoreyJzeXMvY29uc2lvLmgiLCAiU1dfVkdBMTIiLCAweDIwMDA1MzFifSwKK3sic3lzL2NvbnNpby5oIiwgIlNXX1ZHQTEzIiwgMHgyMDAwNTMxY30sCit7InN5cy9jb25zaW8uaCIsICJTV19WR0FfQ0czMjAiLCAweDIwMDA1MzFjfSwKK3sic3lzL2NvbnNpby5oIiwgIlNXX1ZHQV9DODB4NTAiLCAweDIwMDA1MzFlfSwKK3sic3lzL2NvbnNpby5oIiwgIlNXX1ZHQV9NODB4NTAiLCAweDIwMDA1MzFmfSwKK3sic3lzL2NvbnNpby5oIiwgIlNXX1ZHQV9DODB4MzAiLCAweDIwMDA1MzIwfSwKK3sic3lzL2NvbnNpby5oIiwgIlNXX1ZHQV9NODB4MzAiLCAweDIwMDA1MzIxfSwKK3sic3lzL2NvbnNpby5oIiwgIlNXX1ZHQV9DODB4NjAiLCAweDIwMDA1MzIyfSwKK3sic3lzL2NvbnNpby5oIiwgIlNXX1ZHQV9NODB4NjAiLCAweDIwMDA1MzIzfSwKK3sic3lzL2NvbnNpby5oIiwgIlNXX1ZHQV9DRzY0MCIsIDB4MjAwMDUzMjR9LAoreyJzeXMvY29uc2lvLmgiLCAiU1dfVkdBX01PREVYIiwgMHgyMDAwNTMyNX0sCit7InN5cy9jb25zaW8uaCIsICJTV19WR0FfQzkweDI1IiwgMHgyMDAwNTMyOH0sCit7InN5cy9jb25zaW8uaCIsICJTV19WR0FfTTkweDI1IiwgMHgyMDAwNTMyOX0sCit7InN5cy9jb25zaW8uaCIsICJTV19WR0FfQzkweDMwIiwgMHgyMDAwNTMyYX0sCit7InN5cy9jb25zaW8uaCIsICJTV19WR0FfTTkweDMwIiwgMHgyMDAwNTMyYn0sCit7InN5cy9jb25zaW8uaCIsICJTV19WR0FfQzkweDQzIiwgMHgyMDAwNTMyY30sCit7InN5cy9jb25zaW8uaCIsICJTV19WR0FfTTkweDQzIiwgMHgyMDAwNTMyZH0sCit7InN5cy9jb25zaW8uaCIsICJTV19WR0FfQzkweDUwIiwgMHgyMDAwNTMyZX0sCit7InN5cy9jb25zaW8uaCIsICJTV19WR0FfTTkweDUwIiwgMHgyMDAwNTMyZn0sCit7InN5cy9jb25zaW8uaCIsICJTV19WR0FfQzkweDYwIiwgMHgyMDAwNTMzMH0sCit7InN5cy9jb25zaW8uaCIsICJTV19WR0FfTTkweDYwIiwgMHgyMDAwNTMzMX0sCit7InN5cy9jb25zaW8uaCIsICJTV19QQzk4XzgweDI1IiwgMHgyMDAwNTM2Mn0sCit7InN5cy9jb25zaW8uaCIsICJTV19QQzk4XzgweDMwIiwgMHgyMDAwNTM2M30sCit7InN5cy9jb25zaW8uaCIsICJTV19FTkhfQjgweDQzIiwgMHgyMDAwNTM3MH0sCit7InN5cy9jb25zaW8uaCIsICJTV19FTkhfQzgweDQzIiwgMHgyMDAwNTM3MX0sCit7InN5cy9jb25zaW8uaCIsICJTV19URVhUXzgweDI1IiwgMHgyMDAwNTNjOH0sCit7InN5cy9jb25zaW8uaCIsICJTV19URVhUXzgweDMwIiwgMHgyMDAwNTNjOX0sCit7InN5cy9jb25zaW8uaCIsICJTV19URVhUXzgweDQzIiwgMHgyMDAwNTNjYX0sCit7InN5cy9jb25zaW8uaCIsICJTV19URVhUXzgweDUwIiwgMHgyMDAwNTNjYn0sCit7InN5cy9jb25zaW8uaCIsICJTV19URVhUXzgweDYwIiwgMHgyMDAwNTNjY30sCit7InN5cy9jb25zaW8uaCIsICJTV19URVhUXzEzMngyNSIsIDB4MjAwMDUzY2R9LAoreyJzeXMvY29uc2lvLmgiLCAiU1dfVEVYVF8xMzJ4MzAiLCAweDIwMDA1M2NlfSwKK3sic3lzL2NvbnNpby5oIiwgIlNXX1RFWFRfMTMyeDQzIiwgMHgyMDAwNTNjZn0sCit7InN5cy9jb25zaW8uaCIsICJTV19URVhUXzEzMng1MCIsIDB4MjAwMDUzZDB9LAoreyJzeXMvY29uc2lvLmgiLCAiU1dfVEVYVF8xMzJ4NjAiLCAweDIwMDA1M2QxfSwKK3sic3lzL2NvbnNpby5oIiwgIlNXX01DQU1PREUiLCAweDIwMDA1M2ZmfSwKK3sibWFjaGluZS9zb3VuZGNhcmQuaCIsICJTTkRDVExfVE1SX1NUQVJUIiwgMHgyMDAwNTQwMn0sCit7InN5cy9zb3VuZGNhcmQuaCIsICJTTkRDVExfVE1SX1NUQVJUIiwgMHgyMDAwNTQwMn0sCit7InN5cy9zb3VuZGNhcmQuaCIsICJTTkRDVExfVE1SX1NUT1AiLCAweDIwMDA1NDAzfSwKK3sibWFjaGluZS9zb3VuZGNhcmQuaCIsICJTTkRDVExfVE1SX1NUT1AiLCAweDIwMDA1NDAzfSwKK3sibWFjaGluZS9zb3VuZGNhcmQuaCIsICJTTkRDVExfVE1SX0NPTlRJTlVFIiwgMHgyMDAwNTQwNH0sCit7InN5cy9zb3VuZGNhcmQuaCIsICJTTkRDVExfVE1SX0NPTlRJTlVFIiwgMHgyMDAwNTQwNH0sCit7ImRldi91c2IvdXNiLmgiLCAiVVNCX0RJU0NPVkVSIiwgMHgyMDAwNTUwM30sCit7InN5cy9jb25zaW8uaCIsICJTV19WRVNBX0NHNjQweDQwMCIsIDB4MjAwMDU2MDB9LAoreyJzeXMvY29uc2lvLmgiLCAiU1dfVkVTQV9DRzY0MHg0ODAiLCAweDIwMDA1NjAxfSwKK3sic3lzL2NvbnNpby5oIiwgIlNXX1ZFU0FfODAweDYwMCIsIDB4MjAwMDU2MDJ9LAoreyJzeXMvY29uc2lvLmgiLCAiU1dfVkVTQV9DRzgwMHg2MDAiLCAweDIwMDA1NjAzfSwKK3sic3lzL2NvbnNpby5oIiwgIlNXX1ZFU0FfMTAyNHg3NjgiLCAweDIwMDA1NjA0fSwKK3sic3lzL2NvbnNpby5oIiwgIlNXX1ZFU0FfQ0cxMDI0eDc2OCIsIDB4MjAwMDU2MDV9LAoreyJzeXMvY29uc2lvLmgiLCAiU1dfVkVTQV8xMjgweDEwMjQiLCAweDIwMDA1NjA2fSwKK3sic3lzL2NvbnNpby5oIiwgIlNXX1ZFU0FfQ0cxMjgweDEwMjQiLCAweDIwMDA1NjA3fSwKK3sic3lzL2NvbnNpby5oIiwgIlNXX1ZFU0FfQzgweDYwIiwgMHgyMDAwNTYwOH0sCit7InN5cy9jb25zaW8uaCIsICJTV19WRVNBX0MxMzJ4MjUiLCAweDIwMDA1NjA5fSwKK3sic3lzL2NvbnNpby5oIiwgIlNXX1ZFU0FfQzEzMng0MyIsIDB4MjAwMDU2MGF9LAoreyJzeXMvY29uc2lvLmgiLCAiU1dfVkVTQV9DMTMyeDUwIiwgMHgyMDAwNTYwYn0sCit7InN5cy9jb25zaW8uaCIsICJTV19WRVNBX0MxMzJ4NjAiLCAweDIwMDA1NjBjfSwKK3sic3lzL2NvbnNpby5oIiwgIlNXX1ZFU0FfMzJLXzMyMCIsIDB4MjAwMDU2MGR9LAoreyJzeXMvY29uc2lvLmgiLCAiU1dfVkVTQV82NEtfMzIwIiwgMHgyMDAwNTYwZX0sCit7InN5cy9jb25zaW8uaCIsICJTV19WRVNBX0ZVTExfMzIwIiwgMHgyMDAwNTYwZn0sCit7InN5cy9jb25zaW8uaCIsICJTV19WRVNBXzMyS182NDAiLCAweDIwMDA1NjEwfSwKK3sic3lzL2NvbnNpby5oIiwgIlNXX1ZFU0FfNjRLXzY0MCIsIDB4MjAwMDU2MTF9LAoreyJzeXMvY29uc2lvLmgiLCAiU1dfVkVTQV9GVUxMXzY0MCIsIDB4MjAwMDU2MTJ9LAoreyJzeXMvY29uc2lvLmgiLCAiU1dfVkVTQV8zMktfODAwIiwgMHgyMDAwNTYxM30sCit7InN5cy9jb25zaW8uaCIsICJTV19WRVNBXzY0S184MDAiLCAweDIwMDA1NjE0fSwKK3sic3lzL2NvbnNpby5oIiwgIlNXX1ZFU0FfRlVMTF84MDAiLCAweDIwMDA1NjE1fSwKK3sic3lzL2NvbnNpby5oIiwgIlNXX1ZFU0FfMzJLXzEwMjQiLCAweDIwMDA1NjE2fSwKK3sic3lzL2NvbnNpby5oIiwgIlNXX1ZFU0FfNjRLXzEwMjQiLCAweDIwMDA1NjE3fSwKK3sic3lzL2NvbnNpby5oIiwgIlNXX1ZFU0FfRlVMTF8xMDI0IiwgMHgyMDAwNTYxOH0sCit7InN5cy9jb25zaW8uaCIsICJTV19WRVNBXzMyS18xMjgwIiwgMHgyMDAwNTYxOX0sCit7InN5cy9jb25zaW8uaCIsICJTV19WRVNBXzY0S18xMjgwIiwgMHgyMDAwNTYxYX0sCit7InN5cy9jb25zaW8uaCIsICJTV19WRVNBX0ZVTExfMTI4MCIsIDB4MjAwMDU2MWJ9LAoreyJzeXMvd29ybWlvLmgiLCAiV09STUlPQ0ZJTklTSFRSQUNLIiwgMHgyMDAwNTcxN30sCit7InN5cy9jb25zaW8uaCIsICJDT05TX0lPIiwgMHgyMDAwNjMwM30sCit7InN5cy9jZGlvLmgiLCAiQ0RJT0NTRVRNT05PIiwgMHgyMDAwNjMwY30sCit7InN5cy9jZGlvLmgiLCAiQ0RJT0NTRVRTVEVSSU8iLCAweDIwMDA2MzBkfSwKK3sic3lzL2NkaW8uaCIsICJDRElPQ1NFVFNURVJFTyIsIDB4MjAwMDYzMGR9LAoreyJzeXMvY2Rpby5oIiwgIkNESU9DU0VUTVVURSIsIDB4MjAwMDYzMGV9LAoreyJzeXMvY2Rpby5oIiwgIkNESU9DU0VUTEVGVCIsIDB4MjAwMDYzMGZ9LAoreyJzeXMvY2Rpby5oIiwgIkNESU9DU0VUUklHSFQiLCAweDIwMDA2MzEwfSwKK3sic3lzL2NkaW8uaCIsICJDRElPQ1NFVERFQlVHIiwgMHgyMDAwNjMxMX0sCit7InN5cy9jZGlvLmgiLCAiQ0RJT0NDTFJERUJVRyIsIDB4MjAwMDYzMTJ9LAoreyJzeXMvY2Rpby5oIiwgIkNESU9DUEFVU0UiLCAweDIwMDA2MzEzfSwKK3sic3lzL2NkaW8uaCIsICJDRElPQ1JFU1VNRSIsIDB4MjAwMDYzMTR9LAoreyJzeXMvY2Rpby5oIiwgIkNESU9DUkVTRVQiLCAweDIwMDA2MzE1fSwKK3sic3lzL2NkaW8uaCIsICJDRElPQ1NUQVJUIiwgMHgyMDAwNjMxNn0sCit7InN5cy9jZGlvLmgiLCAiQ0RJT0NTVE9QIiwgMHgyMDAwNjMxN30sCit7InN5cy9jZGlvLmgiLCAiQ0RJT0NFSkVDVCIsIDB4MjAwMDYzMTh9LAoreyJzeXMvY2Rpby5oIiwgIkNESU9DQUxMT1ciLCAweDIwMDA2MzFhfSwKK3sic3lzL2NkaW8uaCIsICJDRElPQ1BSRVZFTlQiLCAweDIwMDA2MzFifSwKK3sic3lzL2NkaW8uaCIsICJDRElPQ0NMT1NFIiwgMHgyMDAwNjMxY30sCit7InN5cy93b3JtaW8uaCIsICJDRFJJT0NCTEFOSyIsIDB4MjAwMDYzNjR9LAoreyJzeXMvY2RyaW8uaCIsICJDRFJJT0NCTEFOSyIsIDB4MjAwMDYzNjR9LAoreyJzeXMvY2RyaW8uaCIsICJDRFJJT0NPUEVORElTSyIsIDB4MjAwMDYzNjZ9LAoreyJzeXMvY2RyaW8uaCIsICJDRFJJT0NDTE9TRURJU0siLCAweDIwMDA2MzY3fSwKK3sic3lzL2NvbnNpby5oIiwgIkNPTlNfU0VUV0lOT1JHIiwgMHgyMDAwNjM2OH0sCit7InN5cy9jZHJpby5oIiwgIkNEUklPQ0NMT1NFVFJBQ0siLCAweDIwMDA2MzY5fSwKK3sic3lzL2NvbnNpby5oIiwgIkNPTlNfU0VUS0JEIiwgMHgyMDAwNjM2ZX0sCit7InN5cy9jb25zaW8uaCIsICJDT05TX1JFTEtCRCIsIDB4MjAwMDYzNmZ9LAoreyJzeXMvZmlsaW8uaCIsICJGSU9DTEVYIiwgMHgyMDAwNjYwMX0sCit7InN5cy9maWxpby5oIiwgIkZJT05DTEVYIiwgMHgyMDAwNjYwMn0sCit7Im1hY2hpbmUvaWljLmgiLCAiSTJDU1RPUCIsIDB4MjAwMDY5MDJ9LAoreyJzeXMvbXRpby5oIiwgIk1USU9DSUVPVCIsIDB4MjAwMDZkMDN9LAoreyJzeXMvbXRpby5oIiwgIk1USU9DRUVPVCIsIDB4MjAwMDZkMDR9LAoreyJtYWNoaW5lL3NwaWdvdC5oIiwgIlNQSUdPVF9JT1BMX09OIiwgMHgyMDAwNzMwNn0sCit7Im1hY2hpbmUvc3BpZ290LmgiLCAiU1BJR09UX0lPUExfT0ZGIiwgMHgyMDAwNzMwN30sCit7Im1hY2hpbmUvY2RrLmgiLCAiU1RMX0JJTlRSIiwgMHgyMDAwNzMxNH0sCit7Im1hY2hpbmUvY2RrLmgiLCAiU1RMX0JTVEFSVCIsIDB4MjAwMDczMTV9LAoreyJtYWNoaW5lL2Nkay5oIiwgIlNUTF9CU1RPUCIsIDB4MjAwMDczMTZ9LAoreyJtYWNoaW5lL2Nkay5oIiwgIlNUTF9CUkVTRVQiLCAweDIwMDA3MzE3fSwKK3sic3lzL2lvY3RsX2NvbXBhdC5oIiwgIlRJT0NIUENMIiwgMHgyMDAwNzQwMn0sCit7InN5cy90dHljb20uaCIsICJUSU9DRVhDTCIsIDB4MjAwMDc0MGR9LAoreyJzeXMvdHR5Y29tLmgiLCAiVElPQ05YQ0wiLCAweDIwMDA3NDBlfSwKK3sibmV0L2lmX3BwcC5oIiwgIlBQUElPQ1hGRVJVTklUIiwgMHgyMDAwNzQ0ZX0sCit7InN5cy90dHljb20uaCIsICJUSU9DRFJBSU4iLCAweDIwMDA3NDVlfSwKK3sic3lzL3R0eWNvbS5oIiwgIlRJT0NTSUciLCAweDIwMDA3NDVmfSwKK3sibmV0L2lmX3R1bi5oIiwgIlRVTlNJRlBJRCIsIDB4MjAwMDc0NWZ9LAoreyJzeXMvdHR5Y29tLmgiLCAiVElPQ1NDVFRZIiwgMHgyMDAwNzQ2MX0sCit7InN5cy9pb2N0bF9jb21wYXQuaCIsICJPVElPQ0NPTlMiLCAweDIwMDA3NDYyfSwKK3sic3lzL3R0eWNvbS5oIiwgIlRJT0NTVEFUIiwgMHgyMDAwNzQ2NX0sCit7InN5cy90dHljb20uaCIsICJUSU9DU1RBUlQiLCAweDIwMDA3NDZlfSwKK3sic3lzL3R0eWNvbS5oIiwgIlRJT0NTVE9QIiwgMHgyMDAwNzQ2Zn0sCit7InN5cy90dHljb20uaCIsICJUSU9DTk9UVFkiLCAweDIwMDA3NDcxfSwKK3sic3lzL3R0eWNvbS5oIiwgIlRJT0NDRFRSIiwgMHgyMDAwNzQ3OH0sCit7Im1hY2hpbmUvcGN2dF9pb2N0bC5oIiwgIkNPTlNPTEVfWF9NT0RFX09OIiwgMHgyMDAwNzQ3OX0sCit7InN5cy90dHljb20uaCIsICJUSU9DU0RUUiIsIDB4MjAwMDc0Nzl9LAoreyJtYWNoaW5lL3BjdnRfaW9jdGwuaCIsICJDT05TT0xFX1hfTU9ERV9PRkYiLCAweDIwMDA3NDdhfSwKK3sic3lzL3R0eWNvbS5oIiwgIlRJT0NDQlJLIiwgMHgyMDAwNzQ3YX0sCit7InN5cy90dHljb20uaCIsICJUSU9DU0JSSyIsIDB4MjAwMDc0N2J9LAoreyJzeXMvY29uc2lvLmgiLCAiVlRfUkVMRElTUCIsIDB4MjAwMDc2MDR9LAoreyJtYWNoaW5lL3BjdnRfaW9jdGwuaCIsICJWVF9SRUxESVNQIiwgMHgyMDAwNzYwNH0sCit7InN5cy9jb25zaW8uaCIsICJWVF9BQ1RJVkFURSIsIDB4MjAwMDc2MDV9LAoreyJtYWNoaW5lL3BjdnRfaW9jdGwuaCIsICJWVF9BQ1RJVkFURSIsIDB4MjAwMDc2MDV9LAoreyJzeXMvY29uc2lvLmgiLCAiVlRfV0FJVEFDVElWRSIsIDB4MjAwMDc2MDZ9LAoreyJtYWNoaW5lL3BjdnRfaW9jdGwuaCIsICJWVF9XQUlUQUNUSVZFIiwgMHgyMDAwNzYwNn0sCit7Im1hY2hpbmUvaW9jdGxfY3R4LmgiLCAiQ1RYX0xJVkUiLCAweDIwMDA3ODAxfSwKK3sibWFjaGluZS9pb2N0bF9jdHguaCIsICJDVFhfR1JBQiIsIDB4MjAwMDc4MDJ9LAoreyJtYWNoaW5lL2lvY3RsX2N0eC5oIiwgIkNUWF9IX09SR0FOSVpFIiwgMHgyMDAwNzgwM30sCit7Im1hY2hpbmUvaW9jdGxfY3R4LmgiLCAiQ1RYX1ZfT1JHQU5JWkUiLCAweDIwMDA3ODA0fSwKK3siY2FtL3Njc2kvc2NzaV9zZXMuaCIsICJTRVNJT0NfR0VUTk9CSiIsIDB4MjA1MzAwMDF9LAoreyJjYW0vc2NzaS9zY3NpX3Nlcy5oIiwgIlNFU0lPQ19HRVRPQkpNQVAiLCAweDIwNTMwMDAyfSwKK3siY2FtL3Njc2kvc2NzaV9zZXMuaCIsICJTRVNJT0NfR0VURU5DU1RBVCIsIDB4MjA1MzAwMDN9LAoreyJjYW0vc2NzaS9zY3NpX3Nlcy5oIiwgIlNFU0lPQ19TRVRFTkNTVEFUIiwgMHgyMDUzMDAwNH0sCit7ImNhbS9zY3NpL3Njc2lfc2VzLmgiLCAiU0VTSU9DX0dFVE9CSlNUQVQiLCAweDIwNTMwMDA1fSwKK3siY2FtL3Njc2kvc2NzaV9zZXMuaCIsICJTRVNJT0NfU0VUT0JKU1RBVCIsIDB4MjA1MzAwMDZ9LAoreyJjYW0vc2NzaS9zY3NpX3Nlcy5oIiwgIlNFU0lPQ19HRVRURVhUIiwgMHgyMDUzMDAwN30sCit7ImNhbS9zY3NpL3Njc2lfc2VzLmgiLCAiU0VTSU9DX0lOSVQiLCAweDIwNTMwMDA4fSwKK3sibWFjaGluZS9pb2N0bF9tZXRlb3IuaCIsICJNRVRFT1JHSFVFIiwgMHg0MDAxNzgwNn0sCit7Im1hY2hpbmUvaW9jdGxfbWV0ZW9yLmgiLCAiTUVURU9SR0NIQ1YiLCAweDQwMDE3ODA5fSwKK3sibWFjaGluZS9pb2N0bF9tZXRlb3IuaCIsICJNRVRFT1JHQlJJRyIsIDB4NDAwMTc4MGV9LAoreyJtYWNoaW5lL2lvY3RsX21ldGVvci5oIiwgIk1FVEVPUkdDU0FUIiwgMHg0MDAxNzgwZn0sCit7Im1hY2hpbmUvaW9jdGxfbWV0ZW9yLmgiLCAiTUVURU9SR0NPTlQiLCAweDQwMDE3ODEwfSwKK3sibWFjaGluZS9pb2N0bF9tZXRlb3IuaCIsICJNRVRFT1JHSFdTIiwgMHg0MDAxNzgxMn0sCit7Im1hY2hpbmUvaW9jdGxfbWV0ZW9yLmgiLCAiTUVURU9SR1ZXUyIsIDB4NDAwMTc4MTN9LAoreyJtYWNoaW5lL2lvY3RsX21ldGVvci5oIiwgIk1FVEVPUkdUUyIsIDB4NDAwMTc4MTR9LAoreyJtYWNoaW5lL2lvY3RsX2J0ODQ4LmgiLCAiUkFESU9fR0VUTU9ERSIsIDB4NDAwMTc4M2F9LAoreyJtYWNoaW5lL3JhbmRvbS5oIiwgIk1FTV9SRVRVUk5JUlEiLCAweDQwMDI3MjAzfSwKK3sibWFjaGluZS9pb2N0bF9tZXRlb3IuaCIsICJNRVRFT1JTVEFUVVMiLCAweDQwMDI3ODA1fSwKK3sibWFjaGluZS9pb2N0bF9tZXRlb3IuaCIsICJNRVRFT1JHRlBTIiwgMHg0MDAyNzgwYn0sCit7Im1hY2hpbmUvaW9jdGxfbWV0ZW9yLmgiLCAiTUVURU9SR0JUMjU0IiwgMHg0MDAyNzgxMX0sCit7Im1hY2hpbmUvaW9jdGxfYnQ4NDguaCIsICJSRU1PVEVfR0VUS0VZIiwgMHg0MDAzNzg0N30sCit7InN5cy90aW1lcHBzLmgiLCAiUFBTX0lPQ19HRVRDQVAiLCAweDQwMDQzMTA1fSwKK3sibWFjaGluZS9pNGJfdGVsX2lvY3RsLmgiLCAiSTRCX1RFTF9HRVRBVURJT0ZNVCIsIDB4NDAwNDQxMDB9LAoreyJzeXMvZGF0YWFjcS5oIiwgIkFEX01JQ1JPX1BFUklPRF9HRVQiLCAweDQwMDQ0MTAyfSwKK3sic3lzL2RhdGFhY3EuaCIsICJBRF9OR0FJTlNfR0VUIiwgMHg0MDA0NDEwM30sCit7InN5cy9kYXRhYWNxLmgiLCAiQURfTkNIQU5TX0dFVCIsIDB4NDAwNDQxMDR9LAoreyJtYWNoaW5lL3NvdW5kY2FyZC5oIiwgIkFJT05XUklURSIsIDB4NDAwNDQxMGF9LAoreyJzeXMvc291bmRjYXJkLmgiLCAiQUlPTldSSVRFIiwgMHg0MDA0NDEwYX0sCit7Im5ldC9icGYuaCIsICJCSU9DR0JMRU4iLCAweDQwMDQ0MjY2fSwKK3sibmV0L2JwZi5oIiwgIkJJT0NHRExUIiwgMHg0MDA0NDI2YX0sCit7Im5ldC9icGYuaCIsICJCSU9DVkVSU0lPTiIsIDB4NDAwNDQyNzF9LAoreyJuZXQvYnBmLmgiLCAiQklPQ0dSU0lHIiwgMHg0MDA0NDI3Mn0sCit7Im5ldC9icGYuaCIsICJCSU9DR0hEUkNNUExUIiwgMHg0MDA0NDI3NH0sCit7Im5ldC9icGYuaCIsICJCSU9DR1NFRVNFTlQiLCAweDQwMDQ0Mjc2fSwKK3siY2FtL3Njc2kvc2NzaV90YXJnZXRpby5oIiwgIlRBUkdJT0NGRVRDSEVYQ0VQVElPTiIsIDB4NDAwNDQzMDF9LAoreyJzeXMvZmJpby5oIiwgIkZCSU9HVklERU8iLCAweDQwMDQ0NjA4fSwKK3sic3lzL2ZiaW8uaCIsICJGQklPR0NVUk1BWCIsIDB4NDAwNDQ2MWN9LAoreyJtYWNoaW5lL2lvY3RsX2ZkLmgiLCAiRkRfR09QVFMiLCAweDQwMDQ0NjQwfSwKK3sic3lzL2ZiaW8uaCIsICJGQklPX0FEQVBURVIiLCAweDQwMDQ0NjY0fSwKK3sic3lzL2ZiaW8uaCIsICJGQklPX0FEUFRZUEUiLCAweDQwMDQ0NjY1fSwKK3sic3lzL2ZiaW8uaCIsICJGQklPX0dFVE1PREUiLCAweDQwMDQ0NjY5fSwKK3sic3lzL2ZiaW8uaCIsICJGQklPX0dFVFdJTk9SRyIsIDB4NDAwNDQ2NmJ9LAoreyJzeXMvZmJpby5oIiwgIkZCSU9fR0VUTElORVdJRFRIIiwgMHg0MDA0NDY2Zn0sCit7Im1hY2hpbmUvam95c3RpY2suaCIsICJKT1lfR0VUVElNRU9VVCIsIDB4NDAwNDRhMDJ9LAoreyJzeXMvam95c3RpY2suaCIsICJKT1lfR0VUVElNRU9VVCIsIDB4NDAwNDRhMDJ9LAoreyJtYWNoaW5lL2pveXN0aWNrLmgiLCAiSk9ZX0dFVF9YX09GRlNFVCIsIDB4NDAwNDRhMDV9LAoreyJzeXMvam95c3RpY2suaCIsICJKT1lfR0VUX1hfT0ZGU0VUIiwgMHg0MDA0NGEwNX0sCit7Im1hY2hpbmUvam95c3RpY2suaCIsICJKT1lfR0VUX1lfT0ZGU0VUIiwgMHg0MDA0NGEwNn0sCit7InN5cy9qb3lzdGljay5oIiwgIkpPWV9HRVRfWV9PRkZTRVQiLCAweDQwMDQ0YTA2fSwKK3sibWFjaGluZS9wY3Z0X2lvY3RsLmgiLCAiS0JER1RQTUFUIiwgMHg0MDA0NGIwMn0sCit7Im1hY2hpbmUvcGN2dF9pb2N0bC5oIiwgIktCREdSRVBTVyIsIDB4NDAwNDRiMDR9LAoreyJtYWNoaW5lL3BjdnRfaW9jdGwuaCIsICJLQkRHTEVEUyIsIDB4NDAwNDRiMDZ9LAoreyJzeXMva2Jpby5oIiwgIktER0tCTU9ERSIsIDB4NDAwNDRiMDZ9LAoreyJtYWNoaW5lL3BjdnRfaW9jdGwuaCIsICJLQkRHTE9DSyIsIDB4NDAwNDRiMDh9LAoreyJzeXMvY29uc2lvLmgiLCAiS0RHRVRNT0RFIiwgMHg0MDA0NGIwOX0sCit7InN5cy9rYmlvLmgiLCAiS0RHS0JTVEFURSIsIDB4NDAwNDRiMTN9LAoreyJzeXMva2Jpby5oIiwgIktER0tCVFlQRSIsIDB4NDAwNDRiNDB9LAoreyJzeXMva2Jpby5oIiwgIktER0VUTEVEIiwgMHg0MDA0NGI0MX0sCit7Im1hY2hpbmUvcGN2dF9pb2N0bC5oIiwgIktER0VUTEVEIiwgMHg0MDA0NGI0MX0sCit7Im1hY2hpbmUvbW91c2UuaCIsICJNT1VTRV9HRVRMRVZFTCIsIDB4NDAwNDRkMDR9LAoreyJtYWNoaW5lL3NvdW5kY2FyZC5oIiwgIlNPVU5EX1BDTV9SRUFEX1JBVEUiLCAweDQwMDQ1MDAyfSwKK3sic3lzL3NvdW5kY2FyZC5oIiwgIlNPVU5EX1BDTV9SRUFEX1JBVEUiLCAweDQwMDQ1MDAyfSwKK3sibWFjaGluZS9zb3VuZGNhcmQuaCIsICJTTkRDVExfRFNQX0dFVEJMS1NJWkUiLCAweDQwMDQ1MDA0fSwKK3sic3lzL3NvdW5kY2FyZC5oIiwgIlNORENUTF9EU1BfR0VUQkxLU0laRSIsIDB4NDAwNDUwMDR9LAoreyJzeXMvc291bmRjYXJkLmgiLCAiU09VTkRfUENNX1JFQURfQklUUyIsIDB4NDAwNDUwMDV9LAoreyJtYWNoaW5lL3NvdW5kY2FyZC5oIiwgIlNPVU5EX1BDTV9SRUFEX0JJVFMiLCAweDQwMDQ1MDA1fSwKK3sic3lzL3NvdW5kY2FyZC5oIiwgIlNPVU5EX1BDTV9SRUFEX0NIQU5ORUxTIiwgMHg0MDA0NTAwNn0sCit7Im1hY2hpbmUvc291bmRjYXJkLmgiLCAiU09VTkRfUENNX1JFQURfQ0hBTk5FTFMiLCAweDQwMDQ1MDA2fSwKK3sibWFjaGluZS9zb3VuZGNhcmQuaCIsICJTT1VORF9QQ01fUkVBRF9GSUxURVIiLCAweDQwMDQ1MDA3fSwKK3sic3lzL3NvdW5kY2FyZC5oIiwgIlNPVU5EX1BDTV9SRUFEX0ZJTFRFUiIsIDB4NDAwNDUwMDd9LAoreyJtYWNoaW5lL3NvdW5kY2FyZC5oIiwgIlNORENUTF9EU1BfR0VURk1UUyIsIDB4NDAwNDUwMGJ9LAoreyJzeXMvc291bmRjYXJkLmgiLCAiU05EQ1RMX0RTUF9HRVRGTVRTIiwgMHg0MDA0NTAwYn0sCit7Im1hY2hpbmUvc291bmRjYXJkLmgiLCAiU05EQ1RMX0RTUF9HRVRDQVBTIiwgMHg0MDA0NTAwZn0sCit7InN5cy9zb3VuZGNhcmQuaCIsICJTTkRDVExfRFNQX0dFVENBUFMiLCAweDQwMDQ1MDBmfSwKK3sic3lzL3NvdW5kY2FyZC5oIiwgIlNORENUTF9EU1BfR0VUVFJJR0dFUiIsIDB4NDAwNDUwMTB9LAoreyJtYWNoaW5lL3NvdW5kY2FyZC5oIiwgIlNORENUTF9EU1BfR0VUVFJJR0dFUiIsIDB4NDAwNDUwMTB9LAoreyJzeXMvc291bmRjYXJkLmgiLCAiU05EQ1RMX0RTUF9HRVRPREVMQVkiLCAweDQwMDQ1MDE3fSwKK3sibWFjaGluZS9zb3VuZGNhcmQuaCIsICJTTkRDVExfRFNQX0dFVE9ERUxBWSIsIDB4NDAwNDUwMTd9LAoreyJtYWNoaW5lL3NvdW5kY2FyZC5oIiwgIlNORENUTF9TRVFfR0VUT1VUQ09VTlQiLCAweDQwMDQ1MTA0fSwKK3sic3lzL3NvdW5kY2FyZC5oIiwgIlNORENUTF9TRVFfR0VUT1VUQ09VTlQiLCAweDQwMDQ1MTA0fSwKK3sibWFjaGluZS9zb3VuZGNhcmQuaCIsICJTTkRDVExfU0VRX0dFVElOQ09VTlQiLCAweDQwMDQ1MTA1fSwKK3sic3lzL3NvdW5kY2FyZC5oIiwgIlNORENUTF9TRVFfR0VUSU5DT1VOVCIsIDB4NDAwNDUxMDV9LAoreyJzeXMvc291bmRjYXJkLmgiLCAiU05EQ1RMX1NFUV9OUlNZTlRIUyIsIDB4NDAwNDUxMGF9LAoreyJtYWNoaW5lL3NvdW5kY2FyZC5oIiwgIlNORENUTF9TRVFfTlJTWU5USFMiLCAweDQwMDQ1MTBhfSwKK3sic3lzL3NvdW5kY2FyZC5oIiwgIlNORENUTF9TRVFfTlJNSURJUyIsIDB4NDAwNDUxMGJ9LAoreyJtYWNoaW5lL3NvdW5kY2FyZC5oIiwgIlNORENUTF9TRVFfTlJNSURJUyIsIDB4NDAwNDUxMGJ9LAoreyJtYWNoaW5lL2dzYy5oIiwgIkdTQ19HUkVTIiwgMHg0MDA0NTMwMX0sCit7Im1hY2hpbmUvYXNjX2lvY3RsLmgiLCAiQVNDX0dSRVMiLCAweDQwMDQ1MzAxfSwKK3sibWFjaGluZS9hc2NfaW9jdGwuaCIsICJBU0NfR1dJRFRIIiwgMHg0MDA0NTMwM30sCit7Im1hY2hpbmUvZ3NjLmgiLCAiR1NDX0dXSURUSCIsIDB4NDAwNDUzMDN9LAoreyJtYWNoaW5lL2FzY19pb2N0bC5oIiwgIkFTQ19HSEVJR0hUIiwgMHg0MDA0NTMwNX0sCit7Im1hY2hpbmUvZ3NjLmgiLCAiR1NDX0dIRUlHSFQiLCAweDQwMDQ1MzA1fSwKK3sibWFjaGluZS9hc2NfaW9jdGwuaCIsICJBU0NfR0JMRU4iLCAweDQwMDQ1MzA3fSwKK3sibWFjaGluZS9nc2MuaCIsICJHU0NfR0JMRU4iLCAweDQwMDQ1MzA3fSwKK3sibWFjaGluZS9nc2MuaCIsICJHU0NfR0JUSU1FIiwgMHg0MDA0NTMwOX0sCit7Im1hY2hpbmUvYXNjX2lvY3RsLmgiLCAiQVNDX0dCVElNRSIsIDB4NDAwNDUzMDl9LAoreyJtYWNoaW5lL2k0Yl90cmFjZS5oIiwgIkk0Ql9UUkNfR0VUIiwgMHg0MDA0NTQwMH0sCit7InN5cy9wdGlvLmgiLCAiUFRJT0NHRVRUSU1FT1VUIiwgMHg0MDA0NTQwMX0sCit7InN5cy9zbm9vcC5oIiwgIlNOUEdUVFkiLCAweDQwMDQ1NDU5fSwKK3siZGV2L3VzYi91c2IuaCIsICJVU0JfR0VUX0NPTkZJRyIsIDB4NDAwNDU1NjR9LAoreyJkZXYvdXNiL3VzYi5oIiwgIlVTQl9HRVRfQ01fT1ZFUl9EQVRBIiwgMHg0MDA0NTU4Mn0sCit7InN5cy93b3JtaW8uaCIsICJXT1JNSU9FUlJPUiIsIDB4NDAwNDU3MTh9LAoreyJzeXMvd29ybWlvLmgiLCAiV09STUlPQ1JFQURTRVNTSU9OSU5GTyIsIDB4NDAwNDU3MWZ9LAoreyJzeXMvY29uc2lvLmgiLCAiR0lPX0FUVFIiLCAweDQwMDQ2MTAwfSwKK3sic3lzL2NvbnNpby5oIiwgIkdJT19DT0xPUiIsIDB4NDAwNDYzMDB9LAoreyJzeXMvY29uc2lvLmgiLCAiQ09OU19DVVJSRU5UIiwgMHg0MDA0NjMwMX0sCit7InN5cy9jb25zaW8uaCIsICJDT05TX0dFVCIsIDB4NDAwNDYzMDJ9LAoreyJzeXMvY2Rpby5oIiwgIkNESU9SRUFEVE9DSEVBREVSIiwgMHg0MDA0NjMwNH0sCit7InN5cy9jaGlvLmgiLCAiQ0hJT0dQSUNLRVIiLCAweDQwMDQ2MzA0fSwKK3sic3lzL2NkaW8uaCIsICJDRElPQ0dFVFZPTCIsIDB4NDAwNDYzMGF9LAoreyJzeXMvY29uc2lvLmgiLCAiQ09OU19JRExFIiwgMHg0MDA0NjMwYn0sCit7InN5cy9jb25zaW8uaCIsICJDT05TX0dFVFZFUlMiLCAweDQwMDQ2MzRhfSwKK3sic3lzL2NvbnNpby5oIiwgIkNPTlNfQ1VSUkVOVEFEUCIsIDB4NDAwNDYzNjR9LAoreyJzeXMvY2RyaW8uaCIsICJDRFJJT0NORVhUV1JJVEVBQkxFQUREUiIsIDB4NDAwNDYzNjV9LAoreyJzeXMvd29ybWlvLmgiLCAiQ0RSSU9DTkVYVFdSSVRFQUJMRUFERFIiLCAweDQwMDQ2MzY1fSwKK3sic3lzL2NkcmlvLmgiLCAiQ0RSSU9DR0VUQkxPQ0tTSVpFIiwgMHg0MDA0NjM2Yn0sCit7InN5cy9maWxpby5oIiwgIkZJT0dFVExCQSIsIDB4NDAwNDY2Nzl9LAoreyJzeXMvZmlsaW8uaCIsICJGSU9EVFlQRSIsIDB4NDAwNDY2N2F9LAoreyJzeXMvZmlsaW8uaCIsICJGSU9HRVRPV04iLCAweDQwMDQ2NjdifSwKK3sic3lzL2ZpbGlvLmgiLCAiRklPTlJFQUQiLCAweDQwMDQ2NjdmfSwKK3sic3lzL210aW8uaCIsICJNVElPQ1JEU1BPUyIsIDB4NDAwNDZkMDV9LAoreyJzeXMvbXRpby5oIiwgIk1USU9DUkRIUE9TIiwgMHg0MDA0NmQwNn0sCit7InN5cy9tdGlvLmgiLCAiTVRJT0NHRVRFT1RNT0RFTCIsIDB4NDAwNDZkMDh9LAoreyJud2ZzL253ZnMuaCIsICJOV0ZTSU9DX0dFVENPTk4iLCAweDQwMDQ2ZTAxfSwKK3sibndmcy9ud2ZzLmgiLCAiTldGU0lPQ19HRVROUyIsIDB4NDAwNDZlMDN9LAoreyJzeXMvcGlvY3RsLmgiLCAiUElPQ0dGTCIsIDB4NDAwNDcwMDd9LAoreyJuZXRpbmV0L2lwX2ZpbC5oIiwgIlNJT0NHRVRGRiIsIDB4NDAwNDcyM2Z9LAoreyJuZXRpbmV0L2lwX2ZpbC5oIiwgIlNJT0NJUEZGQiIsIDB4NDAwNDcyNDJ9LAoreyJuZXRpbmV0L2lwX2ZpbC5oIiwgIlNJT0NTV0FQQSIsIDB4NDAwNDcyNDV9LAoreyJzeXMvc29ja2lvLmgiLCAiU0lPQ0dISVdBVCIsIDB4NDAwNDczMDF9LAoreyJzeXMvc29ja2lvLmgiLCAiU0lPQ0dMT1dBVCIsIDB4NDAwNDczMDN9LAoreyJzeXMvc29ja2lvLmgiLCAiU0lPQ0FUTUFSSyIsIDB4NDAwNDczMDd9LAoreyJzeXMvc29ja2lvLmgiLCAiU0lPQ0dQR1JQIiwgMHg0MDA0NzMwOX0sCit7Im1hY2hpbmUvY2RrLmgiLCAiU1RMX0dFVFBGTEFHIiwgMHg0MDA0NzM1MH0sCit7InN5cy9pb2N0bF9jb21wYXQuaCIsICJPVElPQ0dFVEQiLCAweDQwMDQ3NDAwfSwKK3sic3lzL3R0eWNvbS5oIiwgIlRJT0NNT0RHIiwgMHg0MDA0NzQwM30sCit7InN5cy90dHljb20uaCIsICJUSU9DR0VURCIsIDB4NDAwNDc0MWF9LAoreyJuZXQvaWZfcHBwLmgiLCAiUFBQSU9DR01UVSIsIDB4NDAwNDc0NDl9LAoreyJuZXQvc2xpcC5oIiwgIlNMSU9DR09VVEZJTEwiLCAweDQwMDQ3NDUxfSwKK3sibmV0L3NsaXAuaCIsICJTTElPQ0dLRUVQQUwiLCAweDQwMDQ3NDUyfSwKK3sibmV0L2lmX3BwcC5oIiwgIlBQUElPQ0dNUlUiLCAweDQwMDQ3NDUzfSwKK3sibmV0L2lmX3BwcC5oIiwgIlBQUElPQ0dSQVNZTkNNQVAiLCAweDQwMDQ3NDU1fSwKK3sic3lzL3R0eWNvbS5oIiwgIlRJT0NHRFJBSU5XQUlUIiwgMHg0MDA0NzQ1Nn0sCit7Im5ldC9pZl9wcHAuaCIsICJQUFBJT0NHVU5JVCIsIDB4NDAwNDc0NTZ9LAoreyJuZXQvc2xpcC5oIiwgIlNMSU9DR1VOSVQiLCAweDQwMDQ3NDU4fSwKK3sibmV0L2lmX3BwcC5oIiwgIlBQUElPQ0dBU1lOQ01BUCIsIDB4NDAwNDc0NTh9LAoreyJuZXQvaWZfdHVuLmgiLCAiVFVOR0RFQlVHIiwgMHg0MDA0NzQ1OX0sCit7Im5ldC9pZl9wcHAuaCIsICJQUFBJT0NHRkxBR1MiLCAweDQwMDQ3NDVhfSwKK3sic3lzL3R0eWNvbS5oIiwgIlRJT0NNR0RUUldBSVQiLCAweDQwMDQ3NDVhfSwKK3sibmV0L2lmX3R1bi5oIiwgIlRVTkdJRkhFQUQiLCAweDQwMDQ3NDYxfSwKK3sic3lzL3R0eWNvbS5oIiwgIlRJT0NNR0VUIiwgMHg0MDA0NzQ2YX0sCit7InN5cy90dHljb20uaCIsICJUSU9DT1VUUSIsIDB4NDAwNDc0NzN9LAoreyJzeXMvdHR5Y29tLmgiLCAiVElPQ0dQR1JQIiwgMHg0MDA0NzQ3N30sCit7InN5cy9pb2N0bF9jb21wYXQuaCIsICJUSU9DTEdFVCIsIDB4NDAwNDc0N2N9LAoreyJzeXMvY29uc2lvLmgiLCAiVlRfT1BFTlFSWSIsIDB4NDAwNDc2MDF9LAoreyJtYWNoaW5lL3BjdnRfaW9jdGwuaCIsICJWVF9PUEVOUVJZIiwgMHg0MDA0NzYwMX0sCit7Im1hY2hpbmUvcGN2dF9pb2N0bC5oIiwgIlZUX0dFVEFDVElWRSIsIDB4NDAwNDc2MDd9LAoreyJzeXMvY29uc2lvLmgiLCAiVlRfR0VUQUNUSVZFIiwgMHg0MDA0NzYwN30sCit7InN5cy9jb25zaW8uaCIsICJWVF9HRVRJTkRFWCIsIDB4NDAwNDc2MDh9LAoreyJtYWNoaW5lL2lvY3RsX21ldGVvci5oIiwgIk1FVEVPUkdGTVQiLCAweDQwMDQ3ODA3fSwKK3sibWFjaGluZS9pb2N0bF9tZXRlb3IuaCIsICJNRVRFT1JHSU5QVVQiLCAweDQwMDQ3ODA4fSwKK3sibWFjaGluZS9pb2N0bF9tZXRlb3IuaCIsICJNRVRFT1JHU0lHTkFMIiwgMHg0MDA0NzgwY30sCit7Im1hY2hpbmUvaW9jdGxfYnQ4NDguaCIsICJUVlRVTkVSX0dFVENITkwiLCAweDQwMDQ3ODIwfSwKK3sibWFjaGluZS9pb2N0bF9idDg0OC5oIiwgIlRWVFVORVJfR0VUVFlQRSIsIDB4NDAwNDc4MjF9LAoreyJtYWNoaW5lL2lvY3RsX2J0ODQ4LmgiLCAiVFZUVU5FUl9HRVRTVEFUVVMiLCAweDQwMDQ3ODIyfSwKK3sibWFjaGluZS9pb2N0bF9idDg0OC5oIiwgIlRWVFVORVJfR0VURlJFUSIsIDB4NDAwNDc4MjR9LAoreyJtYWNoaW5lL2lvY3RsX2J0ODQ4LmgiLCAiQlQ4NDhfR0hVRSIsIDB4NDAwNDc4MjV9LAoreyJtYWNoaW5lL2lvY3RsX2J0ODQ4LmgiLCAiQlQ4NDhfR0JSSUciLCAweDQwMDQ3ODI2fSwKK3sibWFjaGluZS9pb2N0bF9idDg0OC5oIiwgIkJUODQ4X0dDU0FUIiwgMHg0MDA0NzgyN30sCit7Im1hY2hpbmUvaW9jdGxfYnQ4NDguaCIsICJCVDg0OF9HQ09OVCIsIDB4NDAwNDc4Mjh9LAoreyJtYWNoaW5lL2lvY3RsX2J0ODQ4LmgiLCAiQlQ4NDhfR1ZTQVQiLCAweDQwMDQ3ODI5fSwKK3sibWFjaGluZS9pb2N0bF9idDg0OC5oIiwgIkJUODQ4X0dVU0FUIiwgMHg0MDA0NzgyYX0sCit7Im1hY2hpbmUvaW9jdGxfYnQ4NDguaCIsICJCVDg0OF9TQ0JBUlMiLCAweDQwMDQ3ODJifSwKK3sibWFjaGluZS9pb2N0bF9idDg0OC5oIiwgIkJUODQ4X0NDQkFSUyIsIDB4NDAwNDc4MmN9LAoreyJtYWNoaW5lL2lvY3RsX2J0ODQ4LmgiLCAiQlQ4NDhfR0FVRElPIiwgMHg0MDA0NzgyZn0sCit7Im1hY2hpbmUvaW9jdGxfYnQ4NDguaCIsICJCVDg0OF9HU1RBVFVTIiwgMHg0MDA0NzgzMX0sCit7Im1hY2hpbmUvaW9jdGxfYnQ4NDguaCIsICJUVlRVTkVSX0dFVEFGQyIsIDB4NDAwNDc4MzZ9LAoreyJtYWNoaW5lL2lvY3RsX2J0ODQ4LmgiLCAiQlQ4NDhfR0xOT1RDSCIsIDB4NDAwNDc4Mzh9LAoreyJtYWNoaW5lL2lvY3RsX2J0ODQ4LmgiLCAiUkFESU9fR0VURlJFUSIsIDB4NDAwNDc4M2J9LAoreyJtYWNoaW5lL2lvY3RsX2J0ODQ4LmgiLCAiTUVURU9SR0FDVFBJWEZNVCIsIDB4NDAwNDc4NDB9LAoreyJtYWNoaW5lL2lvY3RsX2J0ODQ4LmgiLCAiQlQ4NDhHRk1UIiwgMHg0MDA0Nzg0M30sCit7Im1hY2hpbmUvaW9jdGxfYnQ4NDguaCIsICJCVDg0OEdDQlVGIiwgMHg0MDA0Nzg0NH0sCit7Im1hY2hpbmUvaW9jdGxfYnQ4NDguaCIsICJCVDg0OF9HUElPX0dFVF9FTiIsIDB4NDAwNDc4NDl9LAoreyJtYWNoaW5lL2lvY3RsX2J0ODQ4LmgiLCAiQlQ4NDhfR1BJT19HRVRfREFUQSIsIDB4NDAwNDc4NGJ9LAoreyJzeXMvaW9jdGxfY29tcGF0LmgiLCAiVElPQ0dFVFAiLCAweDQwMDY3NDA4fSwKK3sic3lzL2lvY3RsX2NvbXBhdC5oIiwgIlRJT0NHRVRDIiwgMHg0MDA2NzQxMn0sCit7InN5cy9pb2N0bF9jb21wYXQuaCIsICJUSU9DR0xUQyIsIDB4NDAwNjc0NzR9LAoreyJzeXMvc291bmRjYXJkLmgiLCAiQUlPR1NJWkUiLCAweDQwMDg0MTBifSwKK3sibWFjaGluZS9zb3VuZGNhcmQuaCIsICJBSU9HU0laRSIsIDB4NDAwODQxMGJ9LAoreyJuZXQvYnBmLmgiLCAiQklPQ0dSVElNRU9VVCIsIDB4NDAwODQyNmV9LAoreyJuZXQvYnBmLmgiLCAiQklPQ0dTVEFUUyIsIDB4NDAwODQyNmZ9LAoreyJzeXMvZmJpby5oIiwgIkZCSU9fR0VURElTUFNUQVJUIiwgMHg0MDA4NDY2ZH0sCit7InN5cy9rYmlvLmgiLCAiS0RHRVRSRVBFQVQiLCAweDQwMDg0YjY3fSwKK3sic3lzL3NvdW5kY2FyZC5oIiwgIlNORENUTF9EU1BfTUFQSU5CVUYiLCAweDQwMDg1MDEzfSwKK3sibWFjaGluZS9zb3VuZGNhcmQuaCIsICJTTkRDVExfRFNQX01BUElOQlVGIiwgMHg0MDA4NTAxM30sCit7Im1hY2hpbmUvc291bmRjYXJkLmgiLCAiU05EQ1RMX0RTUF9NQVBPVVRCVUYiLCAweDQwMDg1MDE0fSwKK3sic3lzL3NvdW5kY2FyZC5oIiwgIlNORENUTF9EU1BfTUFQT1VUQlVGIiwgMHg0MDA4NTAxNH0sCit7InN5cy9jaGlvLmgiLCAiQ0hJT0dQQVJBTVMiLCAweDQwMDg2MzA2fSwKK3sibWFjaGluZS9zcGlnb3QuaCIsICJTUElHT1RfR0VUX0lORk8iLCAweDQwMDg3MzA0fSwKK3sibmV0L2lmX3BwcC5oIiwgIlBQUElPQ0dJRExFIiwgMHg0MDA4NzQ0YX0sCit7InN5cy90dHljb20uaCIsICJUSU9DRENEVElNRVNUQU1QIiwgMHg0MDA4NzQ1OH0sCit7InN5cy90dHljb20uaCIsICJUSU9DVElNRVNUQU1QIiwgMHg0MDA4NzQ1OX0sCit7Im5ldC9pZl90dW4uaCIsICJUVU5HSUZJTkZPIiwgMHg0MDA4NzQ1Y30sCit7InN5cy90dHljb20uaCIsICJUSU9DR1dJTlNaIiwgMHg0MDA4NzQ2OH0sCit7Im1hY2hpbmUvcGN2dF9pb2N0bC5oIiwgIlZUX0dFVE1PREUiLCAweDQwMDg3NjAzfSwKK3sic3lzL2NvbnNpby5oIiwgIlZUX0dFVE1PREUiLCAweDQwMDg3NjAzfSwKK3sibWFjaGluZS9pNGJfaW9jdGwuaCIsICJJNEJfVlJfUkVRIiwgMHg0MDBjMzQwOX0sCit7Im1hY2hpbmUvcGVyZm1vbi5oIiwgIlBNSU9UU1RBTVAiLCAweDQwMGMzNTA2fSwKK3sibWFjaGluZS9pNGJfdGVsX2lvY3RsLmgiLCAiSTRCX1RFTF9WUl9SRVEiLCAweDQwMGM0MTAzfSwKK3sic3lzL3NvdW5kY2FyZC5oIiwgIlNORENUTF9EU1BfR0VUSVBUUiIsIDB4NDAwYzUwMTF9LAoreyJtYWNoaW5lL3NvdW5kY2FyZC5oIiwgIlNORENUTF9EU1BfR0VUSVBUUiIsIDB4NDAwYzUwMTF9LAoreyJtYWNoaW5lL3NvdW5kY2FyZC5oIiwgIlNORENUTF9EU1BfR0VUT1BUUiIsIDB4NDAwYzUwMTJ9LAoreyJzeXMvc291bmRjYXJkLmgiLCAiU05EQ1RMX0RTUF9HRVRPUFRSIiwgMHg0MDBjNTAxMn0sCit7Im1hY2hpbmUvaTRiX3JiY2hfaW9jdGwuaCIsICJJNEJfUkJDSF9WUl9SRVEiLCAweDQwMGM1MjAyfSwKK3sic3lzL2NkaW8uaCIsICJDRElPQ0NBUEFCSUxJVFkiLCAweDQwMGM2MzFlfSwKK3sibWFjaGluZS9pb2N0bF9tZXRlb3IuaCIsICJNRVRFT1JHRVRHRU8iLCAweDQwMGM3ODA0fSwKK3sibWFjaGluZS9pNGJfZGVidWcuaCIsICJJNEJfQ1RMX0dFVF9ERUJVRyIsIDB4NDAxMDQzMDB9LAoreyJtYWNoaW5lL3NvdW5kY2FyZC5oIiwgIlNORENUTF9EU1BfR0VUT1NQQUNFIiwgMHg0MDEwNTAwY30sCit7InN5cy9zb3VuZGNhcmQuaCIsICJTTkRDVExfRFNQX0dFVE9TUEFDRSIsIDB4NDAxMDUwMGN9LAoreyJtYWNoaW5lL3NvdW5kY2FyZC5oIiwgIlNORENUTF9EU1BfR0VUSVNQQUNFIiwgMHg0MDEwNTAwZH0sCit7InN5cy9zb3VuZGNhcmQuaCIsICJTTkRDVExfRFNQX0dFVElTUEFDRSIsIDB4NDAxMDUwMGR9LAoreyJkZXYvdXNiL3VzYi5oIiwgIlVTQl9ERVZJQ0VTVEFUUyIsIDB4NDAxMDU1MDV9LAoreyJtYWNoaW5lL3NvdW5kY2FyZC5oIiwgIkFJT0dGTVQiLCAweDQwMTA2NjBjfSwKK3sic3lzL3NvdW5kY2FyZC5oIiwgIkFJT0dGTVQiLCAweDQwMTA2NjBjfSwKK3sibWFjaGluZS9pb2N0bF9tZXRlb3IuaCIsICJNRVRFT1JHVklERU8iLCAweDQwMTA3ODBkfSwKK3sibWFjaGluZS9pb2N0bF9idDg0OC5oIiwgIkJUODQ4X0dDQVBBUkVBIiwgMHg0MDEwNzg0NX0sCit7ImRldi91c2IvdXNiLmgiLCAiVVNCX0dFVF9ERVZJQ0VfREVTQyIsIDB4NDAxMjU1Njl9LAoreyJtYWNoaW5lL3BjdnRfaW9jdGwuaCIsICJLQkRNT1VTRUdFVCIsIDB4NDAxNDRiMTl9LAoreyJtYWNoaW5lL21vdXNlLmgiLCAiTU9VU0VfR0VUSFdJTkZPIiwgMHg0MDE0NGQwMX0sCit7InN5cy9waW9jdGwuaCIsICJQSU9DV0FJVCIsIDB4NDAxNDcwMDR9LAoreyJzeXMvcGlvY3RsLmgiLCAiUElPQ1NUQVRVUyIsIDB4NDAxNDcwMDZ9LAoreyJtYWNoaW5lL2lvY3RsX21ldGVvci5oIiwgIk1FVEVPUkdDT1VOVCIsIDB4NDAxNDc4MGF9LAoreyJzeXMvZmJpby5oIiwgIkZCSU9HVFlQRSIsIDB4NDAxODQ2MDB9LAoreyJtYWNoaW5lL21vdXNlLmgiLCAiTU9VU0VfR0VUU1RBVFVTIiwgMHg0MDE4NGQwMH0sCit7InBjY2FyZC9jYXJkaW5mby5oIiwgIlBJT0NHU1RBVEUiLCAweDQwMTg1MDAxfSwKK3sibWFjaGluZS9hcG1fYmlvcy5oIiwgIkFQTUlPX0dFVElORk9fT0xEIiwgMHg0MDE4NTAwMn0sCit7Im1hY2hpbmUvbW91c2UuaCIsICJNT1VTRV9HRVRNT0RFIiwgMHg0MDFjNGQwMn0sCit7InN5cy90aW1lcHBzLmgiLCAiUFBTX0lPQ19HRVRQQVJBTVMiLCAweDQwMjAzMTA0fSwKK3sibmV0L2JwZi5oIiwgIkJJT0NHRVRJRiIsIDB4NDAyMDQyNmJ9LAoreyJuZXRpbmV0L2lwX25hdC5oIiwgIlNJT0NHRlJTVCIsIDB4NDAyMDcyNTR9LAoreyJuZXQvaWZfcHBwLmgiLCAiUFBQSU9DR1hBU1lOQ01BUCIsIDB4NDAyMDc0NTB9LAoreyJzeXMva2Jpby5oIiwgIktER0tCSU5GTyIsIDB4NDAyNDRiNjV9LAoreyJtYWNoaW5lL2FwbV9iaW9zLmgiLCAiQVBNSU9fTkVYVEVWRU5UIiwgMHg0MDI4NDE2NH0sCit7Im5ldGdyYXBoL25nX21lc3NhZ2UuaCIsICJOR0lPQ0dJTkZPIiwgMHg0MDI4NGUyOH0sCit7Im1hY2hpbmUvaW9jdGxfZmQuaCIsICJGRF9HVFlQRSIsIDB4NDAyYzQ2M2V9LAoreyJzeXMvdHR5Y29tLmgiLCAiVElPQ0dFVEEiLCAweDQwMmM3NDEzfSwKK3sibmV0aW5ldC9pcF9uYXQuaCIsICJTSU9DR0lQU1QiLCAweDQwMzg3MjU1fSwKK3sibWFjaGluZS9tb3VzZS5oIiwgIk1PVVNFX0dFVFZBUlMiLCAweDQwNDA0ZDA2fSwKK3sibWFjaGluZS9hcG1fYmlvcy5oIiwgIkFQTUlPX0dFVElORk8iLCAweDQwNDA1MDBifSwKK3sibmV0aW5ldC9pcF9uYXQuaCIsICJTSU9DR05BVFMiLCAweDQwNDA3MjUyfSwKK3sic3lzL210aW8uaCIsICJNVElPQ0dFVCIsIDB4NDA0YzZkMDJ9LAoreyJzeXMvZmJpby5oIiwgIkZCSU9HQVRUUiIsIDB4NDA1ODQ2MDZ9LAoreyJtYWNoaW5lL3BjYXVkaW9pby5oIiwgIkFVRElPX0dFVElORk8iLCAweDQwODQ0MTAxfSwKK3siY2FtL3Njc2kvc2NzaV90YXJnZXRpby5oIiwgIlRBUkdJT0NGRVRDSEFUSU8iLCAweDQwOWM0MzAzfSwKK3sic3lzL2ZiaW8uaCIsICJGQklPX0FEUElORk8iLCAweDQwYTQ0NjY2fSwKK3sic3lzL2NvbnNpby5oIiwgIkdJT19TQ1JOTUFQIiwgMHg0MTAwNmIwMn0sCit7InN5cy9tdGlvLmgiLCAiTVRJT0NFUlJTVEFUIiwgMHg0MTAwNmQwN30sCit7Im1hY2hpbmUvaW9jdGxfY3R4LmgiLCAiQ1RYX0dFVF9MVVQiLCAweDQxMDA3ODA2fSwKK3sibmV0aW5ldC9pcF9maWwuaCIsICJTSU9DR0VURlMiLCAweDQxMGM3MjQwfSwKK3sic3lzL2Rpc2tsYWJlbC5oIiwgIkRJT0NHRElORk8iLCAweDQxMTQ2NDY1fSwKK3sibndmcy9ud2ZzLmgiLCAiTldGU0lPQ19HRVRFSU5GTyIsIDB4NDE0ZDZlMDJ9LAoreyJkZXYvdXNiL3VzYi5oIiwgIlVTQl9HRVRfREVWSUNFSU5GTyIsIDB4NDE1ODU1NzB9LAoreyJkZXYvdXNiL3VzYi5oIiwgIlVTQl9HRVRfUkVQT1JUX0RFU0MiLCAweDQ0MDQ1NTE1fSwKK3sic3lzL2tiaW8uaCIsICJHSU9fREVBREtFWU1BUCIsIDB4NDYyYTZiMDh9LAoreyJtYWNoaW5lL2lvY3RsX2J0ODQ4LmgiLCAiQlQ4NDhHQ0xJUCIsIDB4NDY0MDc4NDJ9LAoreyJzeXMvZGlza3NsaWNlLmgiLCAiRElPQ0dTTElDRUlORk8iLCAweDQ3MWM2NDZmfSwKK3sic3lzL2NvbnNpby5oIiwgIkdJT19GT05UOHg4IiwgMHg0ODAwNjM0MX0sCit7Im1hY2hpbmUvcGN2dF9pb2N0bC5oIiwgIkdJT19LRVlNQVAiLCAweDRhMDI2YjA2fSwKK3sic3lzL2tiaW8uaCIsICJHSU9fS0VZTUFQIiwgMHg0YTAyNmIwNn0sCit7InN5cy9jb25zaW8uaCIsICJHSU9fRk9OVDh4MTQiLCAweDRlMDA2MzQzfSwKK3sibWFjaGluZS9zb3VuZGNhcmQuaCIsICJTTkRDVExfQ09QUl9SQ1ZNU0ciLCAweDRmYTQ0MzA5fSwKK3sic3lzL3NvdW5kY2FyZC5oIiwgIlNORENUTF9DT1BSX1JDVk1TRyIsIDB4NGZhNDQzMDl9LAoreyJzeXMvY29uc2lvLmgiLCAiR0lPX0ZPTlQ4eDE2IiwgMHg1MDAwNjM0NX0sCit7InN5cy9waW9jdGwuaCIsICJQSU9DQklTIiwgMHg4MDAwNzAwMX0sCit7InN5cy9waW9jdGwuaCIsICJQSU9DQklDIiwgMHg4MDAwNzAwMn0sCit7InN5cy9waW9jdGwuaCIsICJQSU9DU0ZMIiwgMHg4MDAwNzAwM30sCit7InN5cy9waW9jdGwuaCIsICJQSU9DQ09OVCIsIDB4ODAwMDcwMDV9LAoreyJzeXMvdHR5Y29tLmgiLCAiVElPQ1NUSSIsIDB4ODAwMTc0NzJ9LAoreyJtYWNoaW5lL2lvY3RsX21ldGVvci5oIiwgIk1FVEVPUlNIVUUiLCAweDgwMDE3ODA2fSwKK3sibWFjaGluZS9pb2N0bF9tZXRlb3IuaCIsICJNRVRFT1JTQ0hDViIsIDB4ODAwMTc4MDl9LAoreyJtYWNoaW5lL2lvY3RsX21ldGVvci5oIiwgIk1FVEVPUlNCUklHIiwgMHg4MDAxNzgwZX0sCit7Im1hY2hpbmUvaW9jdGxfbWV0ZW9yLmgiLCAiTUVURU9SU0NTQVQiLCAweDgwMDE3ODBmfSwKK3sibWFjaGluZS9pb2N0bF9tZXRlb3IuaCIsICJNRVRFT1JTQ09OVCIsIDB4ODAwMTc4MTB9LAoreyJtYWNoaW5lL2lvY3RsX21ldGVvci5oIiwgIk1FVEVPUlNIV1MiLCAweDgwMDE3ODEyfSwKK3sibWFjaGluZS9pb2N0bF9tZXRlb3IuaCIsICJNRVRFT1JTVldTIiwgMHg4MDAxNzgxM30sCit7Im1hY2hpbmUvaW9jdGxfbWV0ZW9yLmgiLCAiTUVURU9SU1RTIiwgMHg4MDAxNzgxNH0sCit7InBjY2FyZC9jYXJkaW5mby5oIiwgIlBJT0NTUkVHIiwgMHg4MDAyNTA2NX0sCit7InN5cy9jZGlvLmgiLCAiQ0RJT0NQSVRDSCIsIDB4ODAwMjYzMWR9LAoreyJtYWNoaW5lL3JhbmRvbS5oIiwgIk1FTV9TRVRJUlEiLCAweDgwMDI3MjAxfSwKK3sibWFjaGluZS9yYW5kb20uaCIsICJNRU1fQ0xFQVJJUlEiLCAweDgwMDI3MjAyfSwKK3sibWFjaGluZS9pb2N0bF9tZXRlb3IuaCIsICJNRVRFT1JTRlBTIiwgMHg4MDAyNzgwYn0sCit7Im1hY2hpbmUvaW9jdGxfbWV0ZW9yLmgiLCAiTUVURU9SU0JUMjU0IiwgMHg4MDAyNzgxMX0sCit7Im1hY2hpbmUvaTRiX2lvY3RsLmgiLCAiSTRCX0FMRVJUX1JFUSIsIDB4ODAwNDM0MDh9LAoreyJtYWNoaW5lL3BlcmZtb24uaCIsICJQTUlPU1RBUlQiLCAweDgwMDQzNTAyfSwKK3sibWFjaGluZS9wZXJmbW9uLmgiLCAiUE1JT1NUT1AiLCAweDgwMDQzNTAzfSwKK3sibWFjaGluZS9wZXJmbW9uLmgiLCAiUE1JT1JFU0VUIiwgMHg4MDA0MzUwNX0sCit7Im1hY2hpbmUvaTRiX3RlbF9pb2N0bC5oIiwgIkk0Ql9URUxfU0VUQVVESU9GTVQiLCAweDgwMDQ0MTAxfSwKK3sic3lzL2RhdGFhY3EuaCIsICJBRF9NSUNST19QRVJJT0RfU0VUIiwgMHg4MDA0NDEwMX0sCit7Im1hY2hpbmUvaTRiX3RlbF9pb2N0bC5oIiwgIkk0Ql9URUxfRU1QVFlJTlBVVFFVRVVFIiwgMHg4MDA0NDEwMn0sCit7Im5ldC9icGYuaCIsICJCSU9DSU1NRURJQVRFIiwgMHg4MDA0NDI3MH0sCit7Im5ldC9icGYuaCIsICJCSU9DU1JTSUciLCAweDgwMDQ0MjczfSwKK3sibmV0L2JwZi5oIiwgIkJJT0NTSERSQ01QTFQiLCAweDgwMDQ0Mjc1fSwKK3sibmV0L2JwZi5oIiwgIkJJT0NTU0VFU0VOVCIsIDB4ODAwNDQyNzd9LAoreyJjYW0vc2NzaS9zY3NpX3RhcmdldGlvLmgiLCAiVEFSR0lPQ0NMRUFSRVhDRVBUSU9OIiwgMHg4MDA0NDMwMn0sCit7Im1hY2hpbmUvaTRiX2RlYnVnLmgiLCAiSTRCX0NUTF9DTFJfTEFQRFNUQVQiLCAweDgwMDQ0MzA1fSwKK3sic3lzL2ZiaW8uaCIsICJGQklPU1ZJREVPIiwgMHg4MDA0NDYwN30sCit7InN5cy9mYmlvLmgiLCAiRkJJT1NDVVJQT1MiLCAweDgwMDQ0NjFhfSwKK3sic3lzL2ZiaW8uaCIsICJGQklPR0NVUlBPUyIsIDB4ODAwNDQ2MWJ9LAoreyJtYWNoaW5lL2lvY3RsX2ZkLmgiLCAiRkRfU09QVFMiLCAweDgwMDQ0NjQxfSwKK3sibWFjaGluZS9pb2N0bF9mZC5oIiwgIkZEX0RFQlVHIiwgMHg4MDA0NDY0Mn0sCit7InN5cy9mYmlvLmgiLCAiRkJJT19TRVRNT0RFIiwgMHg4MDA0NDY2YX0sCit7InN5cy9mYmlvLmgiLCAiRkJJT19TRVRXSU5PUkciLCAweDgwMDQ0NjZjfSwKK3sic3lzL2ZiaW8uaCIsICJGQklPX1NFVExJTkVXSURUSCIsIDB4ODAwNDQ2NzB9LAoreyJtYWNoaW5lL2pveXN0aWNrLmgiLCAiSk9ZX1NFVFRJTUVPVVQiLCAweDgwMDQ0YTAxfSwKK3sic3lzL2pveXN0aWNrLmgiLCAiSk9ZX1NFVFRJTUVPVVQiLCAweDgwMDQ0YTAxfSwKK3sibWFjaGluZS9qb3lzdGljay5oIiwgIkpPWV9TRVRfWF9PRkZTRVQiLCAweDgwMDQ0YTAzfSwKK3sic3lzL2pveXN0aWNrLmgiLCAiSk9ZX1NFVF9YX09GRlNFVCIsIDB4ODAwNDRhMDN9LAoreyJtYWNoaW5lL2pveXN0aWNrLmgiLCAiSk9ZX1NFVF9ZX09GRlNFVCIsIDB4ODAwNDRhMDR9LAoreyJzeXMvam95c3RpY2suaCIsICJKT1lfU0VUX1lfT0ZGU0VUIiwgMHg4MDA0NGEwNH0sCit7Im1hY2hpbmUvcGN2dF9pb2N0bC5oIiwgIktCRFNUUE1BVCIsIDB4ODAwNDRiMDN9LAoreyJtYWNoaW5lL3BjdnRfaW9jdGwuaCIsICJLQkRTUkVQU1ciLCAweDgwMDQ0YjA1fSwKK3sibWFjaGluZS9wY3Z0X2lvY3RsLmgiLCAiS0JEU0xFRFMiLCAweDgwMDQ0YjA3fSwKK3sibWFjaGluZS9wY3Z0X2lvY3RsLmgiLCAiS0JEU0xPQ0siLCAweDgwMDQ0YjA5fSwKK3sibWFjaGluZS9wY3Z0X2lvY3RsLmgiLCAiS0JEUk1LRVkiLCAweDgwMDQ0YjEzfSwKK3sibWFjaGluZS9tb3VzZS5oIiwgIk1PVVNFX1NFVExFVkVMIiwgMHg4MDA0NGQwNX0sCit7InN5cy9zb3VuZGNhcmQuaCIsICJTTkRDVExfRFNQX1NFVEJMS1NJWkUiLCAweDgwMDQ1MDA0fSwKK3sibWFjaGluZS9zb3VuZGNhcmQuaCIsICJTTkRDVExfRFNQX1NFVEJMS1NJWkUiLCAweDgwMDQ1MDA0fSwKK3sicGNjYXJkL2NhcmRpbmZvLmgiLCAiUElPQ1JXRkxBRyIsIDB4ODAwNDUwMDd9LAoreyJtYWNoaW5lL2FwbV9iaW9zLmgiLCAiQVBNSU9fRElTUExBWSIsIDB4ODAwNDUwMDl9LAoreyJwY2NhcmQvY2FyZGluZm8uaCIsICJQSU9DU1ZJUiIsIDB4ODAwNDUwMGF9LAoreyJwY2NhcmQvY2FyZGluZm8uaCIsICJQSU9DU0JFRVAiLCAweDgwMDQ1MDBifSwKK3sibWFjaGluZS9zb3VuZGNhcmQuaCIsICJTTkRDVExfRFNQX1NFVFRSSUdHRVIiLCAweDgwMDQ1MDEwfSwKK3sic3lzL3NvdW5kY2FyZC5oIiwgIlNORENUTF9EU1BfU0VUVFJJR0dFUiIsIDB4ODAwNDUwMTB9LAoreyJzeXMvc291bmRjYXJkLmgiLCAiU05EQ1RMX1NFUV9QRVJDTU9ERSIsIDB4ODAwNDUxMDZ9LAoreyJtYWNoaW5lL3NvdW5kY2FyZC5oIiwgIlNORENUTF9TRVFfUEVSQ01PREUiLCAweDgwMDQ1MTA2fSwKK3sic3lzL3NvdW5kY2FyZC5oIiwgIlNORENUTF9TRVFfVEVTVE1JREkiLCAweDgwMDQ1MTA4fSwKK3sibWFjaGluZS9zb3VuZGNhcmQuaCIsICJTTkRDVExfU0VRX1RFU1RNSURJIiwgMHg4MDA0NTEwOH0sCit7InN5cy9zb3VuZGNhcmQuaCIsICJTTkRDVExfU0VRX1JFU0VUU0FNUExFUyIsIDB4ODAwNDUxMDl9LAoreyJtYWNoaW5lL3NvdW5kY2FyZC5oIiwgIlNORENUTF9TRVFfUkVTRVRTQU1QTEVTIiwgMHg4MDA0NTEwOX0sCit7Im1hY2hpbmUvc291bmRjYXJkLmgiLCAiU05EQ1RMX1NFUV9USFJFU0hPTEQiLCAweDgwMDQ1MTBkfSwKK3sic3lzL3NvdW5kY2FyZC5oIiwgIlNORENUTF9TRVFfVEhSRVNIT0xEIiwgMHg4MDA0NTEwZH0sCit7InN5cy9zb3VuZGNhcmQuaCIsICJTTkRDVExfRk1fNE9QX0VOQUJMRSIsIDB4ODAwNDUxMGZ9LAoreyJtYWNoaW5lL3NvdW5kY2FyZC5oIiwgIlNORENUTF9GTV80T1BfRU5BQkxFIiwgMHg4MDA0NTEwZn0sCit7Im1hY2hpbmUvZ3NjLmgiLCAiR1NDX1NSRVMiLCAweDgwMDQ1MzAyfSwKK3sibWFjaGluZS9hc2NfaW9jdGwuaCIsICJBU0NfU1JFUyIsIDB4ODAwNDUzMDJ9LAoreyJtYWNoaW5lL2FzY19pb2N0bC5oIiwgIkFTQ19TV0lEVEgiLCAweDgwMDQ1MzA0fSwKK3sibWFjaGluZS9nc2MuaCIsICJHU0NfU1dJRFRIIiwgMHg4MDA0NTMwNH0sCit7Im1hY2hpbmUvYXNjX2lvY3RsLmgiLCAiQVNDX1NIRUlHSFQiLCAweDgwMDQ1MzA2fSwKK3sibWFjaGluZS9nc2MuaCIsICJHU0NfU0hFSUdIVCIsIDB4ODAwNDUzMDZ9LAoreyJtYWNoaW5lL2FzY19pb2N0bC5oIiwgIkFTQ19TQkxFTiIsIDB4ODAwNDUzMDh9LAoreyJtYWNoaW5lL2dzYy5oIiwgIkdTQ19TQkxFTiIsIDB4ODAwNDUzMDh9LAoreyJtYWNoaW5lL2FzY19pb2N0bC5oIiwgIkFTQ19TQlRJTUUiLCAweDgwMDQ1MzBhfSwKK3sibWFjaGluZS9nc2MuaCIsICJHU0NfU0JUSU1FIiwgMHg4MDA0NTMwYX0sCit7Im1hY2hpbmUvaTRiX3RyYWNlLmgiLCAiSTRCX1RSQ19TRVQiLCAweDgwMDQ1NDAxfSwKK3sic3lzL3B0aW8uaCIsICJQVElPQ1NFVFRJTUVPVVQiLCAweDgwMDQ1NDAyfSwKK3sibWFjaGluZS9pNGJfdHJhY2UuaCIsICJJNEJfVFJDX1JFU0VUQSIsIDB4ODAwNDU0MDN9LAoreyJtYWNoaW5lL3NvdW5kY2FyZC5oIiwgIlNORENUTF9UTVJfTUVUUk9OT01FIiwgMHg4MDA0NTQwN30sCit7InN5cy9zb3VuZGNhcmQuaCIsICJTTkRDVExfVE1SX01FVFJPTk9NRSIsIDB4ODAwNDU0MDd9LAoreyJtYWNoaW5lL3NvdW5kY2FyZC5oIiwgIlNORENUTF9UTVJfU0VMRUNUIiwgMHg4MDA0NTQwOH0sCit7InN5cy9zb3VuZGNhcmQuaCIsICJTTkRDVExfVE1SX1NFTEVDVCIsIDB4ODAwNDU0MDh9LAoreyJzeXMvc25vb3AuaCIsICJTTlBTVFRZIiwgMHg4MDA0NTQ1YX0sCit7ImRldi91c2IvdXNiLmgiLCAiVVNCX1NFVERFQlVHIiwgMHg4MDA0NTUwMn0sCit7ImRldi91c2IvdXNiLmgiLCAiVVNCX1NFVF9JTU1FRCIsIDB4ODAwNDU1MTZ9LAoreyJkZXYvdXNiL3VzYi5oIiwgIlVTQl9TRVRfQ09ORklHIiwgMHg4MDA0NTU2NX0sCit7ImRldi91c2IvdXNiLmgiLCAiVVNCX1NFVF9TSE9SVF9YRkVSIiwgMHg4MDA0NTU3MX0sCit7ImRldi91c2IvdXNiLmgiLCAiVVNCX1NFVF9USU1FT1VUIiwgMHg4MDA0NTU3Mn0sCit7ImRldi91c2IvdXNiLmgiLCAiVVNCX1NFVF9DTV9PVkVSX0RBVEEiLCAweDgwMDQ1NTgzfSwKK3sibWFjaGluZS9wY3Z0X2lvY3RsLmgiLCAiVkdBU0NSRUVOU0FWRVIiLCAweDgwMDQ1NjcwfSwKK3sibWFjaGluZS9wY3Z0X2lvY3RsLmgiLCAiVkdBU0VUQ09MTVMiLCAweDgwMDQ1NjczfSwKK3sic3lzL2NkaW8uaCIsICJDRElPQ1BMQVlUUkFDS1MiLCAweDgwMDQ2MzAxfSwKK3sic3lzL2NvbnNpby5oIiwgIkNPTlNfQkxBTktUSU1FIiwgMHg4MDA0NjMwNH0sCit7InN5cy9jaGlvLmgiLCAiQ0hJT1NQSUNLRVIiLCAweDgwMDQ2MzA1fSwKK3sic3lzL2NvbnNpby5oIiwgIkNPTlNfQ1VSU09SVFlQRSIsIDB4ODAwNDYzMDd9LAoreyJzeXMvY2hpby5oIiwgIkNISU9JRUxFTSIsIDB4ODAwNDYzMDd9LAoreyJzeXMvY29uc2lvLmgiLCAiQ09OU19CRUxMVFlQRSIsIDB4ODAwNDYzMDh9LAoreyJzeXMvY29uc2lvLmgiLCAiQ09OU19ISVNUT1JZIiwgMHg4MDA0NjMwOX0sCit7InN5cy9jZGlvLmgiLCAiQ0RJT0NTRVRQQVRDSCIsIDB4ODAwNDYzMDl9LAoreyJzeXMvY2Rpby5oIiwgIkNESU9DU0VUVk9MIiwgMHg4MDA0NjMwYn0sCit7InN5cy9jb25zaW8uaCIsICJDT05TX1NBVkVSTU9ERSIsIDB4ODAwNDYzMGN9LAoreyJzeXMvY29uc2lvLmgiLCAiQ09OU19TQVZFUlNUQVJUIiwgMHg4MDA0NjMwZH0sCit7InN5cy9jZHJpby5oIiwgIkNEUklPQ1dSSVRFU1BFRUQiLCAweDgwMDQ2MzZhfSwKK3sic3lzL2NkcmlvLmgiLCAiQ0RSSU9DU0VUQkxPQ0tTSVpFIiwgMHg4MDA0NjM2Y30sCit7InN5cy9kaXNrbGFiZWwuaCIsICJESU9DV0xBQkVMIiwgMHg4MDA0NjQ2ZH0sCit7InN5cy9kaXNrc2xpY2UuaCIsICJESU9DU1lOQ1NMSUNFSU5GTyIsIDB4ODAwNDY0NzB9LAoreyJzeXMvZmlsaW8uaCIsICJGSU9TRVRPV04iLCAweDgwMDQ2NjdjfSwKK3sic3lzL2ZpbGlvLmgiLCAiRklPQVNZTkMiLCAweDgwMDQ2NjdkfSwKK3sic3lzL2ZpbGlvLmgiLCAiRklPTkJJTyIsIDB4ODAwNDY2N2V9LAoreyJzeXMvbXRpby5oIiwgIk1USU9DU0xPQ0FURSIsIDB4ODAwNDZkMDV9LAoreyJzeXMvbXRpby5oIiwgIk1USU9DSExPQ0FURSIsIDB4ODAwNDZkMDZ9LAoreyJzeXMvbXRpby5oIiwgIk1USU9DU0VURU9UTU9ERUwiLCAweDgwMDQ2ZDA4fSwKK3sibWFjaGluZS9scHQuaCIsICJMUFRfSVJRIiwgMHg4MDA0NzAwMX0sCit7Im5ldGluZXQvaXBfZmlsLmgiLCAiU0lPQ1NFVEZGIiwgMHg4MDA0NzIzZX0sCit7Im5ldGluZXQvaXBfZmlsLmgiLCAiU0lPQ0ZSRU5CIiwgMHg4MDA0NzI0OH0sCit7Im5ldGluZXQvaXBfZmlsLmgiLCAiU0lPQ0ZSU1lOIiwgMHg4MDA0NzI0OX0sCit7InN5cy9zb2NraW8uaCIsICJTSU9DU0hJV0FUIiwgMHg4MDA0NzMwMH0sCit7InN5cy9zb2NraW8uaCIsICJTSU9DU0xPV0FUIiwgMHg4MDA0NzMwMn0sCit7Im1hY2hpbmUvc3BpZ290LmgiLCAiU1BJR09UX1NFVElOVCIsIDB4ODAwNDczMDV9LAoreyJzeXMvc29ja2lvLmgiLCAiU0lPQ1NQR1JQIiwgMHg4MDA0NzMwOH0sCit7Im1hY2hpbmUvY2RrLmgiLCAiU1RMX1NFVFBGTEFHIiwgMHg4MDA0NzM1MX0sCit7InN5cy9pb2N0bF9jb21wYXQuaCIsICJPVElPQ1NFVEQiLCAweDgwMDQ3NDAxfSwKK3sic3lzL3R0eWNvbS5oIiwgIlRJT0NNT0RTIiwgMHg4MDA0NzQwNH0sCit7InN5cy90dHljb20uaCIsICJUSU9DRkxVU0giLCAweDgwMDQ3NDEwfSwKK3sic3lzL3R0eWNvbS5oIiwgIlRJT0NTRVREIiwgMHg4MDA0NzQxYn0sCit7Im5ldC9pZl9wcHAuaCIsICJQUFBJT0NTTVRVIiwgMHg4MDA0NzQ0OH0sCit7Im5ldC9zbGlwLmgiLCAiU0xJT0NTVU5JVCIsIDB4ODAwNDc0NTB9LAoreyJuZXQvaWZfcHBwLmgiLCAiUFBQSU9DU01BWENJRCIsIDB4ODAwNDc0NTF9LAoreyJuZXQvaWZfcHBwLmgiLCAiUFBQSU9DU01SVSIsIDB4ODAwNDc0NTJ9LAoreyJuZXQvc2xpcC5oIiwgIlNMSU9DU09VVEZJTEwiLCAweDgwMDQ3NDUzfSwKK3sibmV0L3NsaXAuaCIsICJTTElPQ1NLRUVQQUwiLCAweDgwMDQ3NDU0fSwKK3sibmV0L2lmX3BwcC5oIiwgIlBQUElPQ1NSQVNZTkNNQVAiLCAweDgwMDQ3NDU0fSwKK3sic3lzL3R0eWNvbS5oIiwgIlRJT0NTRFJBSU5XQUlUIiwgMHg4MDA0NzQ1N30sCit7Im5ldC9pZl9wcHAuaCIsICJQUFBJT0NTQVNZTkNNQVAiLCAweDgwMDQ3NDU3fSwKK3sibmV0L2lmX3BwcC5oIiwgIlBQUElPQ1NGTEFHUyIsIDB4ODAwNDc0NTl9LAoreyJuZXQvaWZfdHVuLmgiLCAiVFVOU0RFQlVHIiwgMHg4MDA0NzQ1YX0sCit7InN5cy90dHljb20uaCIsICJUSU9DTVNEVFJXQUlUIiwgMHg4MDA0NzQ1Yn0sCit7Im5ldC9pZl90dW4uaCIsICJUVU5TTE1PREUiLCAweDgwMDQ3NDVkfSwKK3sibmV0L2lmX3R1bi5oIiwgIlRVTlNJRk1PREUiLCAweDgwMDQ3NDVlfSwKK3sibmV0L2lmX3R1bi5oIiwgIlRVTlNJRkhFQUQiLCAweDgwMDQ3NDYwfSwKK3sic3lzL3R0eWNvbS5oIiwgIlRJT0NFWFQiLCAweDgwMDQ3NDYwfSwKK3sic3lzL3R0eWNvbS5oIiwgIlRJT0NDT05TIiwgMHg4MDA0NzQ2Mn0sCit7InN5cy90dHljb20uaCIsICJUSU9DVUNOVEwiLCAweDgwMDQ3NDY2fSwKK3sic3lzL3R0eWNvbS5oIiwgIlRJT0NSRU1PVEUiLCAweDgwMDQ3NDY5fSwKK3sic3lzL3R0eWNvbS5oIiwgIlRJT0NNQklDIiwgMHg4MDA0NzQ2Yn0sCit7InN5cy90dHljb20uaCIsICJUSU9DTUJJUyIsIDB4ODAwNDc0NmN9LAoreyJzeXMvdHR5Y29tLmgiLCAiVElPQ01TRVQiLCAweDgwMDQ3NDZkfSwKK3sic3lzL3R0eWNvbS5oIiwgIlRJT0NQS1QiLCAweDgwMDQ3NDcwfSwKK3sic3lzL3R0eWNvbS5oIiwgIlRJT0NTUEdSUCIsIDB4ODAwNDc0NzZ9LAoreyJzeXMvaW9jdGxfY29tcGF0LmgiLCAiVElPQ0xTRVQiLCAweDgwMDQ3NDdkfSwKK3sic3lzL2lvY3RsX2NvbXBhdC5oIiwgIlRJT0NMQklDIiwgMHg4MDA0NzQ3ZX0sCit7InN5cy9pb2N0bF9jb21wYXQuaCIsICJUSU9DTEJJUyIsIDB4ODAwNDc0N2Z9LAoreyJtYWNoaW5lL2lvY3RsX21ldGVvci5oIiwgIk1FVEVPUkNBUFRVUiIsIDB4ODAwNDc4MDF9LAoreyJtYWNoaW5lL2lvY3RsX21ldGVvci5oIiwgIk1FVEVPUlNGTVQiLCAweDgwMDQ3ODA3fSwKK3sibWFjaGluZS9pb2N0bF9tZXRlb3IuaCIsICJNRVRFT1JTSU5QVVQiLCAweDgwMDQ3ODA4fSwKK3sibWFjaGluZS9pb2N0bF9tZXRlb3IuaCIsICJNRVRFT1JTU0lHTkFMIiwgMHg4MDA0NzgwY30sCit7Im1hY2hpbmUvaW9jdGxfYnQ4NDguaCIsICJUVlRVTkVSX1NFVENITkwiLCAweDgwMDQ3ODIwfSwKK3sibWFjaGluZS9pb2N0bF9idDg0OC5oIiwgIlRWVFVORVJfU0VUVFlQRSIsIDB4ODAwNDc4MjF9LAoreyJtYWNoaW5lL2lvY3RsX2J0ODQ4LmgiLCAiVFZUVU5FUl9TRVRGUkVRIiwgMHg4MDA0NzgyM30sCit7Im1hY2hpbmUvaW9jdGxfYnQ4NDguaCIsICJCVDg0OF9TSFVFIiwgMHg4MDA0NzgyNX0sCit7Im1hY2hpbmUvaW9jdGxfYnQ4NDguaCIsICJCVDg0OF9TQlJJRyIsIDB4ODAwNDc4MjZ9LAoreyJtYWNoaW5lL2lvY3RsX2J0ODQ4LmgiLCAiQlQ4NDhfU0NTQVQiLCAweDgwMDQ3ODI3fSwKK3sibWFjaGluZS9pb2N0bF9idDg0OC5oIiwgIkJUODQ4X1NDT05UIiwgMHg4MDA0NzgyOH0sCit7Im1hY2hpbmUvaW9jdGxfYnQ4NDguaCIsICJCVDg0OF9TVlNBVCIsIDB4ODAwNDc4Mjl9LAoreyJtYWNoaW5lL2lvY3RsX2J0ODQ4LmgiLCAiQlQ4NDhfU1VTQVQiLCAweDgwMDQ3ODJhfSwKK3sibWFjaGluZS9pb2N0bF9idDg0OC5oIiwgIkJUODQ4X1NBVURJTyIsIDB4ODAwNDc4MmV9LAoreyJtYWNoaW5lL2lvY3RsX2J0ODQ4LmgiLCAiQlQ4NDhfU0JUU0MiLCAweDgwMDQ3ODMwfSwKK3sibWFjaGluZS9pb2N0bF9idDg0OC5oIiwgIlRWVFVORVJfU0VUQUZDIiwgMHg4MDA0NzgzNX0sCit7Im1hY2hpbmUvaW9jdGxfYnQ4NDguaCIsICJCVDg0OF9TTE5PVENIIiwgMHg4MDA0NzgzN30sCit7Im1hY2hpbmUvaW9jdGxfYnQ4NDguaCIsICJSQURJT19TRVRNT0RFIiwgMHg4MDA0NzgzYX0sCit7Im1hY2hpbmUvaW9jdGxfYnQ4NDguaCIsICJSQURJT19TRVRGUkVRIiwgMHg4MDA0NzgzYn0sCit7Im1hY2hpbmUvaW9jdGxfYnQ4NDguaCIsICJNRVRFT1JTQUNUUElYRk1UIiwgMHg4MDA0Nzg0MH0sCit7Im1hY2hpbmUvaW9jdGxfYnQ4NDguaCIsICJCVDg0OFNGTVQiLCAweDgwMDQ3ODQzfSwKK3sibWFjaGluZS9pb2N0bF9idDg0OC5oIiwgIkJUODQ4U0NCVUYiLCAweDgwMDQ3ODQ0fSwKK3sibWFjaGluZS9pb2N0bF9idDg0OC5oIiwgIkJUODQ4X0dQSU9fU0VUX0VOIiwgMHg4MDA0Nzg0OH0sCit7Im1hY2hpbmUvaW9jdGxfYnQ4NDguaCIsICJCVDg0OF9HUElPX1NFVF9EQVRBIiwgMHg4MDA0Nzg0YX0sCit7InN5cy9jaGlvLmgiLCAiQ0hJT1BPU0lUSU9OIiwgMHg4MDA2NjMwM30sCit7InN5cy9jZGlvLmgiLCAiQ0RJT0NQTEFZTVNGIiwgMHg4MDA2NjMxOX0sCit7InN5cy9pb2N0bF9jb21wYXQuaCIsICJUSU9DU0VUUCIsIDB4ODAwNjc0MDl9LAoreyJzeXMvaW9jdGxfY29tcGF0LmgiLCAiVElPQ1NFVE4iLCAweDgwMDY3NDBhfSwKK3sic3lzL2lvY3RsX2NvbXBhdC5oIiwgIlRJT0NTRVRDIiwgMHg4MDA2NzQxMX0sCit7InN5cy9pb2N0bF9jb21wYXQuaCIsICJUSU9DU0xUQyIsIDB4ODAwNjc0NzV9LAoreyJtYWNoaW5lL2lvY3RsX21ldGVvci5oIiwgIk1FVEVPUkNBUEZSTSIsIDB4ODAwNjc4MDJ9LAoreyJtYWNoaW5lL2k0Yl9pb2N0bC5oIiwgIkk0Ql9ESVNDT05ORUNUX1JFUSIsIDB4ODAwODM0MDN9LAoreyJtYWNoaW5lL2k0Yl9pb2N0bC5oIiwgIkk0Ql9QUk9UX0lORCIsIDB4ODAwODM0MGF9LAoreyJtYWNoaW5lL3BlcmZtb24uaCIsICJQTUlPU0VUVVAiLCAweDgwMDgzNTAxfSwKK3sibmV0L2JwZi5oIiwgIkJJT0NTRVRGIiwgMHg4MDA4NDI2N30sCit7Im5ldC9icGYuaCIsICJCSU9DU1JUSU1FT1VUIiwgMHg4MDA4NDI2ZH0sCit7InN5cy9mYmlvLmgiLCAiRkJJT19TRVRESVNQU1RBUlQiLCAweDgwMDg0NjZlfSwKK3sic3lzL2tiaW8uaCIsICJLRFNFVFJFUEVBVCIsIDB4ODAwODRiNjZ9LAoreyJwY2NhcmQvY2FyZGluZm8uaCIsICJQSU9DU1BPVyIsIDB4ODAwODUwMDl9LAoreyJzeXMvc291bmRjYXJkLmgiLCAiU05EQ1RMX1NFUV9PVVRPRkJBTkQiLCAweDgwMDg1MTEyfSwKK3sibWFjaGluZS9zb3VuZGNhcmQuaCIsICJTTkRDVExfU0VRX09VVE9GQkFORCIsIDB4ODAwODUxMTJ9LAoreyJtYWNoaW5lL3NwZWFrZXIuaCIsICJTUEtSVE9ORSIsIDB4ODAwODUzMDF9LAoreyJzeXMvd29ybWlvLmgiLCAiV09STUlPQ1BSRVBESVNLIiwgMHg4MDA4NTcxNH0sCit7InN5cy93b3JtaW8uaCIsICJXT1JNSU9DRklYQVRJT04iLCAweDgwMDg1NzE2fSwKK3sic3lzL2NkaW8uaCIsICJDRElPQ1BMQVlCTE9DS1MiLCAweDgwMDg2MzAyfSwKK3sic3lzL2Rpc2tsYWJlbC5oIiwgIkRJT0NHUEFSVCIsIDB4ODAwODY0Njh9LAoreyJzeXMvbXRpby5oIiwgIk1USU9DVE9QIiwgMHg4MDA4NmQwMX0sCit7Im5ldC9pZl9wcHAuaCIsICJQUFBJT0NTQUNUSVZFIiwgMHg4MDA4NzQ0Nn0sCit7Im5ldC9pZl9wcHAuaCIsICJQUFBJT0NTUEFTUyIsIDB4ODAwODc0NDd9LAoreyJuZXQvaWZfcHBwLmgiLCAiUFBQSU9DU05QTU9ERSIsIDB4ODAwODc0NGJ9LAoreyJuZXQvaWZfdHVuLmgiLCAiVFVOU0lGSU5GTyIsIDB4ODAwODc0NWJ9LAoreyJzeXMvdHR5Y29tLmgiLCAiVElPQ1NXSU5TWiIsIDB4ODAwODc0Njd9LAoreyJtYWNoaW5lL3BjdnRfaW9jdGwuaCIsICJDT05TT0xFX1hfQkVMTCIsIDB4ODAwODc0N2J9LAoreyJzeXMvY29uc2lvLmgiLCAiVlRfU0VUTU9ERSIsIDB4ODAwODc2MDJ9LAoreyJtYWNoaW5lL3BjdnRfaW9jdGwuaCIsICJWVF9TRVRNT0RFIiwgMHg4MDA4NzYwMn0sCit7InN5cy9jaGlvLmgiLCAiQ0hJT01PVkUiLCAweDgwMGE2MzAxfSwKK3sic3lzL3RpbWVwcHMuaCIsICJQUFNfSU9DX0tDQklORCIsIDB4ODAwYzMxMDd9LAoreyJtYWNoaW5lL2k0Yl9pb2N0bC5oIiwgIkk0Ql9VUERPV05fSU5EIiwgMHg4MDBjMzQwN30sCit7Im1hY2hpbmUvaTRiX2lvY3RsLmgiLCAiSTRCX0NUUkxfRE9XTkxPQUQiLCAweDgwMGMzNDY0fSwKK3sic3lzL2NvbnNpby5oIiwgIktEUkFTVEVSIiwgMHg4MDBjNGI2NH0sCit7Im1hY2hpbmUvcGN2dF9pb2N0bC5oIiwgIlZHQUNVUlNPUiIsIDB4ODAwYzU2NjR9LAoreyJzeXMvY2hpby5oIiwgIkNISU9HU1RBVFVTIiwgMHg4MDBjNjMwOH0sCit7InN5cy9jZHJpby5oIiwgIkNEUklPQ09QRU5UUkFDSyIsIDB4ODAwYzYzNjh9LAoreyJzeXMva2Jpby5oIiwgIlBJT19LRVlNQVBFTlQiLCAweDgwMGM2YjBifSwKK3sic3lzL21lbXJhbmdlLmgiLCAiTUVNUkFOR0VfU0VUIiwgMHg4MDBjNmQzM30sCit7Im5ldC9pZl9wcHAuaCIsICJQUFBJT0NTQ09NUFJFU1MiLCAweDgwMGM3NDRkfSwKK3sibWFjaGluZS9pb2N0bF9tZXRlb3IuaCIsICJNRVRFT1JTRVRHRU8iLCAweDgwMGM3ODAzfSwKK3sic3lzL2NoaW8uaCIsICJDSElPRVhDSEFOR0UiLCAweDgwMGU2MzAyfSwKK3sibWFjaGluZS9pNGJfaW9jdGwuaCIsICJJNEJfRElBTE9VVF9SRVNQIiwgMHg4MDEwMzQwNX0sCit7Im1hY2hpbmUvaTRiX2RlYnVnLmgiLCAiSTRCX0NUTF9TRVRfREVCVUciLCAweDgwMTA0MzAxfSwKK3siY2FtL3Njc2kvc2NzaV90YXJnZXRpby5oIiwgIlRBUkdDVExJT0ZSRUVVTklUIiwgMHg4MDEwNDMwOH0sCit7Im5ldGdyYXBoL25nX21lc3NhZ2UuaCIsICJOR0lPQ1NFVE5BTUUiLCAweDgwMTA0ZTI5fSwKK3sicGNjYXJkL2NhcmRpbmZvLmgiLCAiUElPQ1NJTyIsIDB4ODAxMDUwMDV9LAoreyJtYWNoaW5lL2k0Yl90cmFjZS5oIiwgIkk0Ql9UUkNfU0VUQSIsIDB4ODAxMDU0MDJ9LAoreyJtYWNoaW5lL3BjdnRfaW9jdGwuaCIsICJWR0FXUklURVBFTCIsIDB4ODAxMDU2NmZ9LAoreyJtYWNoaW5lL2lpYy5oIiwgIkkyQ1NUQVJUIiwgMHg4MDEwNjkwMX0sCit7Im1hY2hpbmUvaWljLmgiLCAiSTJDUlNUQ0FSRCIsIDB4ODAxMDY5MDN9LAoreyJtYWNoaW5lL2lpYy5oIiwgIkkyQ1dSSVRFIiwgMHg4MDEwNjkwNH0sCit7Im1hY2hpbmUvaWljLmgiLCAiSTJDUkVBRCIsIDB4ODAxMDY5MDV9LAoreyJtYWNoaW5lL2lvY3RsX21ldGVvci5oIiwgIk1FVEVPUlNWSURFTyIsIDB4ODAxMDc4MGR9LAoreyJtYWNoaW5lL2lvY3RsX2J0ODQ4LmgiLCAiQlQ4NDhfU0NBUEFSRUEiLCAweDgwMTA3ODQ1fSwKK3sibWFjaGluZS9pNGJfaW9jdGwuaCIsICJJNEJfVElNRU9VVF9VUEQiLCAweDgwMTQzNDA2fSwKK3sibWFjaGluZS9zb3VuZGNhcmQuaCIsICJTTkRDVExfQ09QUl9XREFUQSIsIDB4ODAxNDQzMDR9LAoreyJzeXMvc291bmRjYXJkLmgiLCAiU05EQ1RMX0NPUFJfV0RBVEEiLCAweDgwMTQ0MzA0fSwKK3sic3lzL3NvdW5kY2FyZC5oIiwgIlNORENUTF9DT1BSX1dDT0RFIiwgMHg4MDE0NDMwNX0sCit7Im1hY2hpbmUvc291bmRjYXJkLmgiLCAiU05EQ1RMX0NPUFJfV0NPREUiLCAweDgwMTQ0MzA1fSwKK3sic3lzL2ZiaW8uaCIsICJGQklPUFVUQ01BUCIsIDB4ODAxNDQ2MDN9LAoreyJzeXMvZmJpby5oIiwgIkZCSU9HRVRDTUFQIiwgMHg4MDE0NDYwNH0sCit7Im1hY2hpbmUvcGN2dF9pb2N0bC5oIiwgIktCRE1PVVNFU0VUIiwgMHg4MDE0NGIxYX0sCit7InBjY2FyZC9jYXJkaW5mby5oIiwgIlBJT0NTTUVNIiwgMHg4MDE0NTAwM30sCit7Im1hY2hpbmUvcGN2dF9pb2N0bC5oIiwgIlZHQVNFVEZPTlRBVFRSIiwgMHg4MDE0NTY2Nn0sCit7Im1hY2hpbmUvc21iLmgiLCAiU01CX1FVSUNLX1dSSVRFIiwgMHg4MDE0NjkwMX0sCit7Im1hY2hpbmUvc21iLmgiLCAiU01CX1FVSUNLX1JFQUQiLCAweDgwMTQ2OTAyfSwKK3sibWFjaGluZS9zbWIuaCIsICJTTUJfU0VOREIiLCAweDgwMTQ2OTAzfSwKK3sibWFjaGluZS9zbWIuaCIsICJTTUJfUkVDVkIiLCAweDgwMTQ2OTA0fSwKK3sibWFjaGluZS9zbWIuaCIsICJTTUJfV1JJVEVCIiwgMHg4MDE0NjkwNX0sCit7Im1hY2hpbmUvc21iLmgiLCAiU01CX1dSSVRFVyIsIDB4ODAxNDY5MDZ9LAoreyJtYWNoaW5lL3NtYi5oIiwgIlNNQl9SRUFEQiIsIDB4ODAxNDY5MDd9LAoreyJtYWNoaW5lL3NtYi5oIiwgIlNNQl9SRUFEVyIsIDB4ODAxNDY5MDh9LAoreyJtYWNoaW5lL3NtYi5oIiwgIlNNQl9QQ0FMTCIsIDB4ODAxNDY5MDl9LAoreyJtYWNoaW5lL3NtYi5oIiwgIlNNQl9CV1JJVEUiLCAweDgwMTQ2OTBhfSwKK3sibWFjaGluZS9zbWIuaCIsICJTTUJfQlJFQUQiLCAweDgwMTQ2OTBifSwKK3sibWFjaGluZS9pb2N0bF9tZXRlb3IuaCIsICJNRVRFT1JTQ09VTlQiLCAweDgwMTQ3ODBhfSwKK3sibWFjaGluZS9pNGJfaW9jdGwuaCIsICJJNEJfQUNUSVZFX0RJQUdOT1NUSUMiLCAweDgwMTgzNDY2fSwKK3sibmV0YXRtL2F0bV9pb2N0bC5oIiwgIkFJT0NDRkciLCAweDgwMTg0MTgwfSwKK3sic3lzL2NjZHZhci5oIiwgIkNDRElPQ0NMUiIsIDB4ODAxODQ2MTF9LAoreyJzeXMvZmJpby5oIiwgIkZCSU9fR0VUUEFMRVRURSIsIDB4ODAxODQ2NzF9LAoreyJzeXMvZmJpby5oIiwgIkZCSU9fU0VUUEFMRVRURSIsIDB4ODAxODQ2NzJ9LAoreyJzeXMvY29uc2lvLmgiLCAiQ09OU19TU0FWRVIiLCAweDgwMTg2MzA1fSwKK3sibWFjaGluZS9tb3VzZS5oIiwgIk1PVVNFX1NFVE1PREUiLCAweDgwMWM0ZDAzfSwKK3sic3lzL3RpbWVwcHMuaCIsICJQUFNfSU9DX1NFVFBBUkFNUyIsIDB4ODAyMDMxMDN9LAoreyJtYWNoaW5lL2k0Yl9pb2N0bC5oIiwgIkk0Ql9DT05ORUNUX1JFU1AiLCAweDgwMjAzNDAyfSwKK3sibmV0L2JwZi5oIiwgIkJJT0NTRVRJRiIsIDB4ODAyMDQyNmN9LAoreyJtYWNoaW5lL2k0Yl9kZWJ1Zy5oIiwgIkk0Ql9DVExfQ0xSX0hTQ1hTVEFUIiwgMHg4MDIwNDMwM30sCit7InN5cy9zb2NraW8uaCIsICJTSU9DU0lGQUREUiIsIDB4ODAyMDY5MGN9LAoreyJzeXMvc29ja2lvLmgiLCAiU0lPQ1NJRkRTVEFERFIiLCAweDgwMjA2OTBlfSwKK3sic3lzL3NvY2tpby5oIiwgIlNJT0NTSUZGTEFHUyIsIDB4ODAyMDY5MTB9LAoreyJzeXMvc29ja2lvLmgiLCAiU0lPQ1NJRkJSREFERFIiLCAweDgwMjA2OTEzfSwKK3sic3lzL3NvY2tpby5oIiwgIlNJT0NTSUZORVRNQVNLIiwgMHg4MDIwNjkxNn0sCit7InN5cy9zb2NraW8uaCIsICJTSU9DU0lGTUVUUklDIiwgMHg4MDIwNjkxOH0sCit7InN5cy9zb2NraW8uaCIsICJTSU9DRElGQUREUiIsIDB4ODAyMDY5MTl9LAoreyJzeXMvc29ja2lvLmgiLCAiU0lPQ0FERE1VTFRJIiwgMHg4MDIwNjkzMX0sCit7InN5cy9zb2NraW8uaCIsICJTSU9DREVMTVVMVEkiLCAweDgwMjA2OTMyfSwKK3sic3lzL3NvY2tpby5oIiwgIlNJT0NTSUZNVFUiLCAweDgwMjA2OTM0fSwKK3sic3lzL3NvY2tpby5oIiwgIlNJT0NTSUZQSFlTIiwgMHg4MDIwNjkzNn0sCit7InN5cy9zb2NraW8uaCIsICJTSU9DU0lGR0VORVJJQyIsIDB4ODAyMDY5Mzl9LAoreyJtYWNoaW5lL2lmX3dsX3dhdmVsYW4uaCIsICJTSU9DRFdMQ0FDSEUiLCAweDgwMjA2OTQwfSwKK3sibWFjaGluZS9pZl93bF93YXZlbGFuLmgiLCAiU0lPQ1NXTFRIUiIsIDB4ODAyMDY5NDF9LAoreyJuZXRhdGFsay9waGFzZTIuaCIsICJTSU9DUEhBU0UxIiwgMHg4MDIwNjk2NH0sCit7Im5ldGF0YWxrL3BoYXNlMi5oIiwgIlNJT0NQSEFTRTIiLCAweDgwMjA2OTY1fSwKK3sibmV0L2lmX3BwcC5oIiwgIlBQUElPQ1NYQVNZTkNNQVAiLCAweDgwMjA3NDRmfSwKK3sibmV0YXRtL2F0bV9pb2N0bC5oIiwgIkFJT0NERUwiLCAweDgwMjQ0MTgyfSwKK3sic3lzL3dvcm1pby5oIiwgIldPUk1JT0NXUklURVNFU1NJT04iLCAweDgwMjQ1NzIwfSwKK3sic3lzL3NvdW5kY2FyZC5oIiwgIlNORENUTF9GTV9MT0FEX0lOU1RSIiwgMHg4MDI4NTEwN30sCit7Im1hY2hpbmUvc291bmRjYXJkLmgiLCAiU05EQ1RMX0ZNX0xPQURfSU5TVFIiLCAweDgwMjg1MTA3fSwKK3sic3lzL3dvcm1pby5oIiwgIldPUk1JT0NQUkVQVFJBQ0siLCAweDgwMjg1NzE1fSwKK3sibWFjaGluZS9pNGJfcmJjaF9pb2N0bC5oIiwgIkk0Ql9SQkNIX0RJQUxPVVQiLCAweDgwMjk1MjAxfSwKK3sic3lzL2NoaW8uaCIsICJDSElPU0VUVk9MVEFHIiwgMHg4MDJhNjMwOX0sCit7InN5cy9mYmlvLmgiLCAiRkJJT1NDVVJTT1IiLCAweDgwMmM0NjE4fSwKK3sibWFjaGluZS9pb2N0bF9mZC5oIiwgIkZEX1NUWVBFIiwgMHg4MDJjNDYzZn0sCit7Im1hY2hpbmUvcGN2dF9pb2N0bC5oIiwgIlZHQUxPQURDSEFSIiwgMHg4MDJjNTY2NX0sCit7InN5cy90dHljb20uaCIsICJUSU9DU0VUQSIsIDB4ODAyYzc0MTR9LAoreyJzeXMvdHR5Y29tLmgiLCAiVElPQ1NFVEFXIiwgMHg4MDJjNzQxNX0sCit7InN5cy90dHljb20uaCIsICJUSU9DU0VUQUYiLCAweDgwMmM3NDE2fSwKK3sibWFjaGluZS9wY3Z0X2lvY3RsLmgiLCAiVkdBU0VUU0NSRUVOIiwgMHg4MDMwNTY2OH0sCit7InN5cy9zb2NraW8uaCIsICJTSU9DQUREUlQiLCAweDgwMzA3MjBhfSwKK3sic3lzL3NvY2tpby5oIiwgIlNJT0NERUxSVCIsIDB4ODAzMDcyMGJ9LAoreyJjYW0vc2NzaS9zY3NpX3RhcmdldGlvLmgiLCAiVEFSR0lPQ1NFVElTVEFURSIsIDB4ODAzNDQzMDV9LAoreyJuZXRhdG0vYXRtX2lvY3RsLmgiLCAiQUlPQ0FERCIsIDB4ODAzYzQxODF9LAoreyJtYWNoaW5lL21vdXNlLmgiLCAiTU9VU0VfU0VUVkFSUyIsIDB4ODA0MDRkMDd9LAoreyJzeXMvc29ja2lvLmgiLCAiU0lPQ0FJRkFERFIiLCAweDgwNDA2OTFhfSwKK3sic3lzL3NvY2tpby5oIiwgIlNJT0NTSUZQSFlBRERSIiwgMHg4MDQwNjk0Nn0sCit7Im5ldGluZXQ2L2luNl92YXIuaCIsICJTSU9DU0lGUFJFRklYX0lONiIsIDB4ODA0MDY5NjR9LAoreyJuZXRpbmV0Ni9pbjZfdmFyLmgiLCAiU0lPQ0RJRlBSRUZJWF9JTjYiLCAweDgwNDA2OTY2fSwKK3sibmV0YXRtL2F0bV9pb2N0bC5oIiwgIkFJT0NTRVQiLCAweDgwNDg0MTg0fSwKK3sibWFjaGluZS9wY3Z0X2lvY3RsLmgiLCAiS0JEU0NLRVkiLCAweDgwNDg0YjExfSwKK3sibmV0aW5ldDYvaW42X3Zhci5oIiwgIlNJT0NBSUZQUkVGSVhfSU42IiwgMHg4MDYwNjk2N30sCit7Im5ldGluZXQ2L2luNl92YXIuaCIsICJTSU9DQ0lGUFJFRklYX0lONiIsIDB4ODA2MDY5Njh9LAoreyJuZXRpbmV0Ni9pbjZfdmFyLmgiLCAiU0lPQ1NHSUZQUkVGSVhfSU42IiwgMHg4MDYwNjk2OX0sCit7InN5cy9jb25zaW8uaCIsICJDT05TX1NFVFRFUk0iLCAweDgwNjg2MzcxfSwKK3sibmV0aW5ldC9pcF9uYXQuaCIsICJTSU9DQUROQVQiLCAweDgwNzA3MjUwfSwKK3sibmV0aW5ldC9pcF9uYXQuaCIsICJTSU9DUk1OQVQiLCAweDgwNzA3MjUxfSwKK3sibmV0aW5ldDYvaW42X3Zhci5oIiwgIlNJT0NBSUZBRERSX0lONiIsIDB4ODA3ODY5MWF9LAoreyJuZXRpbmV0Ni9pbjZfdmFyLmgiLCAiU0lPQ1NJRlBIWUFERFJfSU42IiwgMHg4MDc4Njk0Nn0sCit7Im1hY2hpbmUvaTRiX2lvY3RsLmgiLCAiSTRCX0NPTk5FQ1RfUkVRIiwgMHg4MDg0MzQwMX0sCit7Im1hY2hpbmUvY3Jvbnl4LmgiLCAiQ1hJT0NTRVRNT0RFIiwgMHg4MDg0NzgwMn0sCit7InN5cy94cnB1aW8uaCIsICJYUlBVX0lPQ19USU1FQ09VTlRJTkciLCAweDgwYTAzNjAxfSwKK3sibWFjaGluZS9pb2N0bF9mZC5oIiwgIkZEX0ZPUk0iLCAweDgwYTQ0NjNkfSwKK3sibmV0aW5ldC9pcF9maWwuaCIsICJTSU9DQURBRlIiLCAweDgwYzA3MjNjfSwKK3sibmV0aW5ldC9pcF9maWwuaCIsICJTSU9DUk1BRlIiLCAweDgwYzA3MjNkfSwKK3sibmV0aW5ldC9pcF9maWwuaCIsICJTSU9DQURJRlIiLCAweDgwYzA3MjQzfSwKK3sibmV0aW5ldC9pcF9maWwuaCIsICJTSU9DUk1JRlIiLCAweDgwYzA3MjQ0fSwKK3sibmV0aW5ldC9pcF9maWwuaCIsICJTSU9DSU5BRlIiLCAweDgwYzA3MjQ2fSwKK3sibmV0aW5ldC9pcF9maWwuaCIsICJTSU9DSU5JRlIiLCAweDgwYzA3MjQ3fSwKK3sic3lzL2NvbnNpby5oIiwgIlBJT19TQ1JOTUFQIiwgMHg4MTAwNmIwM30sCit7Im1hY2hpbmUvaW9jdGxfY3R4LmgiLCAiQ1RYX1NFVF9MVVQiLCAweDgxMDA3ODA1fSwKK3sic3lzL2Rpc2tsYWJlbC5oIiwgIkRJT0NTRElORk8iLCAweDgxMTQ2NDY2fSwKK3sic3lzL2Rpc2tsYWJlbC5oIiwgIkRJT0NXRElORk8iLCAweDgxMTQ2NDY3fSwKK3sic3lzL3NvY2tpby5oIiwgIlNJT0NBTElGQUREUiIsIDB4ODExODY5MWJ9LAoreyJzeXMvc29ja2lvLmgiLCAiU0lPQ0RMSUZBRERSIiwgMHg4MTE4NjkxZH0sCit7Im5ldGluZXQ2L2luNl92YXIuaCIsICJTSU9DU0lGQUREUl9JTjYiLCAweDgxMjA2OTBjfSwKK3sibmV0aW5ldDYvaW42X3Zhci5oIiwgIlNJT0NTSUZEU1RBRERSX0lONiIsIDB4ODEyMDY5MGV9LAoreyJuZXRpbmV0Ni9pbjZfdmFyLmgiLCAiU0lPQ1NJRk5FVE1BU0tfSU42IiwgMHg4MTIwNjkxNn0sCit7Im5ldGluZXQ2L2luNl92YXIuaCIsICJTSU9DRElGQUREUl9JTjYiLCAweDgxMjA2OTE5fSwKK3sic3lzL2tiaW8uaCIsICJQSU9fREVBREtFWU1BUCIsIDB4ODYyYTZiMDl9LAoreyJtYWNoaW5lL2lvY3RsX2J0ODQ4LmgiLCAiQlQ4NDhTQ0xJUCIsIDB4ODY0MDc4NDJ9LAoreyJzeXMvY29uc2lvLmgiLCAiUElPX0ZPTlQ4eDgiLCAweDg4MDA2MzQwfSwKK3sic3lzL2tiaW8uaCIsICJQSU9fS0VZTUFQIiwgMHg4YTAyNmIwN30sCit7InN5cy9jb25zaW8uaCIsICJQSU9fRk9OVDh4MTQiLCAweDhlMDA2MzQyfSwKK3sic3lzL3NvdW5kY2FyZC5oIiwgIlNORENUTF9DT1BSX1NFTkRNU0ciLCAweDhmYTQ0MzA4fSwKK3sibWFjaGluZS9zb3VuZGNhcmQuaCIsICJTTkRDVExfQ09QUl9TRU5ETVNHIiwgMHg4ZmE0NDMwOH0sCit7InN5cy9jb25zaW8uaCIsICJQSU9fRk9OVDh4MTYiLCAweDkwMDA2MzQ0fSwKK3sicGNjYXJkL2NhcmRpbmZvLmgiLCAiUElPQ0dSRUciLCAweGMwMDI1MDY0fSwKK3sibWFjaGluZS9pNGJfaW9jdGwuaCIsICJJNEJfQ0RJRF9SRVEiLCAweGMwMDQzNDAwfSwKK3sibWFjaGluZS9zb3VuZGNhcmQuaCIsICJBSU9HTUlYIiwgMHhjMDA0NDEwZH0sCit7InN5cy9zb3VuZGNhcmQuaCIsICJBSU9HTUlYIiwgMHhjMDA0NDEwZH0sCit7Im1hY2hpbmUvc291bmRjYXJkLmgiLCAiQUlPU01JWCIsIDB4YzAwNDQxMGV9LAoreyJzeXMvc291bmRjYXJkLmgiLCAiQUlPU01JWCIsIDB4YzAwNDQxMGV9LAoreyJtYWNoaW5lL3NvdW5kY2FyZC5oIiwgIkFJT1NUT1AiLCAweGMwMDQ0MTBmfSwKK3sic3lzL3NvdW5kY2FyZC5oIiwgIkFJT1NUT1AiLCAweGMwMDQ0MTBmfSwKK3sibmV0L2JwZi5oIiwgIkJJT0NTQkxFTiIsIDB4YzAwNDQyNjZ9LAoreyJzeXMvdm5pb2N0bC5oIiwgIlZOSU9DR1NFVCIsIDB4YzAwNDQ2MDJ9LAoreyJzeXMvdm5pb2N0bC5oIiwgIlZOSU9DR0NMRUFSIiwgMHhjMDA0NDYwM30sCit7InN5cy92bmlvY3RsLmgiLCAiVk5JT0NVU0VUIiwgMHhjMDA0NDYwNH0sCit7InN5cy92bmlvY3RsLmgiLCAiVk5JT0NVQ0xFQVIiLCAweGMwMDQ0NjA1fSwKK3sibWFjaGluZS9zb3VuZGNhcmQuaCIsICJTTkRDVExfRFNQX1NQRUVEIiwgMHhjMDA0NTAwMn0sCit7InN5cy9zb3VuZGNhcmQuaCIsICJTTkRDVExfRFNQX1NQRUVEIiwgMHhjMDA0NTAwMn0sCit7InN5cy9zb3VuZGNhcmQuaCIsICJTTkRDVExfRFNQX1NURVJFTyIsIDB4YzAwNDUwMDN9LAoreyJtYWNoaW5lL3NvdW5kY2FyZC5oIiwgIlNORENUTF9EU1BfU1RFUkVPIiwgMHhjMDA0NTAwM30sCit7Im1hY2hpbmUvc291bmRjYXJkLmgiLCAiU05EQ1RMX0RTUF9TRVRGTVQiLCAweGMwMDQ1MDA1fSwKK3sic3lzL3NvdW5kY2FyZC5oIiwgIlNORENUTF9EU1BfU0VURk1UIiwgMHhjMDA0NTAwNX0sCit7Im1hY2hpbmUvc291bmRjYXJkLmgiLCAiU09VTkRfUENNX1dSSVRFX0NIQU5ORUxTIiwgMHhjMDA0NTAwNn0sCit7InN5cy9zb3VuZGNhcmQuaCIsICJTT1VORF9QQ01fV1JJVEVfQ0hBTk5FTFMiLCAweGMwMDQ1MDA2fSwKK3sibWFjaGluZS9zb3VuZGNhcmQuaCIsICJTT1VORF9QQ01fV1JJVEVfRklMVEVSIiwgMHhjMDA0NTAwN30sCit7InN5cy9zb3VuZGNhcmQuaCIsICJTT1VORF9QQ01fV1JJVEVfRklMVEVSIiwgMHhjMDA0NTAwN30sCit7InBjY2FyZC9jYXJkaW5mby5oIiwgIlBJT0NSV01FTSIsIDB4YzAwNDUwMDh9LAoreyJzeXMvc291bmRjYXJkLmgiLCAiU05EQ1RMX0RTUF9TVUJESVZJREUiLCAweGMwMDQ1MDA5fSwKK3sibWFjaGluZS9zb3VuZGNhcmQuaCIsICJTTkRDVExfRFNQX1NVQkRJVklERSIsIDB4YzAwNDUwMDl9LAoreyJtYWNoaW5lL3NvdW5kY2FyZC5oIiwgIlNORENUTF9EU1BfU0VURlJBR01FTlQiLCAweGMwMDQ1MDBhfSwKK3sic3lzL3NvdW5kY2FyZC5oIiwgIlNORENUTF9EU1BfU0VURlJBR01FTlQiLCAweGMwMDQ1MDBhfSwKK3sibWFjaGluZS9zb3VuZGNhcmQuaCIsICJTTkRDVExfU0VRX0NUUkxSQVRFIiwgMHhjMDA0NTEwM30sCit7InN5cy9zb3VuZGNhcmQuaCIsICJTTkRDVExfU0VRX0NUUkxSQVRFIiwgMHhjMDA0NTEwM30sCit7InN5cy9zb3VuZGNhcmQuaCIsICJTTkRDVExfU1lOVEhfTUVNQVZMIiwgMHhjMDA0NTEwZX0sCit7Im1hY2hpbmUvc291bmRjYXJkLmgiLCAiU05EQ1RMX1NZTlRIX01FTUFWTCIsIDB4YzAwNDUxMGV9LAoreyJtYWNoaW5lL3NvdW5kY2FyZC5oIiwgIlNORENUTF9UTVJfVElNRUJBU0UiLCAweGMwMDQ1NDAxfSwKK3sic3lzL3NvdW5kY2FyZC5oIiwgIlNORENUTF9UTVJfVElNRUJBU0UiLCAweGMwMDQ1NDAxfSwKK3sibWFjaGluZS9zb3VuZGNhcmQuaCIsICJTTkRDVExfVE1SX1RFTVBPIiwgMHhjMDA0NTQwNX0sCit7InN5cy9zb3VuZGNhcmQuaCIsICJTTkRDVExfVE1SX1RFTVBPIiwgMHhjMDA0NTQwNX0sCit7InN5cy9zb3VuZGNhcmQuaCIsICJTTkRDVExfVE1SX1NPVVJDRSIsIDB4YzAwNDU0MDZ9LAoreyJtYWNoaW5lL3NvdW5kY2FyZC5oIiwgIlNORENUTF9UTVJfU09VUkNFIiwgMHhjMDA0NTQwNn0sCit7Im5ldC9pZl9hdG0uaCIsICJTSU9DUkFXQVRNIiwgMHhjMDA0NjE3YX0sCit7InN5cy9zb3VuZGNhcmQuaCIsICJTTkRDVExfTUlESV9QUkVUSU1FIiwgMHhjMDA0NmQwMH0sCit7Im1hY2hpbmUvc291bmRjYXJkLmgiLCAiU05EQ1RMX01JRElfUFJFVElNRSIsIDB4YzAwNDZkMDB9LAoreyJtYWNoaW5lL3NvdW5kY2FyZC5oIiwgIlNORENUTF9NSURJX01QVU1PREUiLCAweGMwMDQ2ZDAxfSwKK3sic3lzL3NvdW5kY2FyZC5oIiwgIlNORENUTF9NSURJX01QVU1PREUiLCAweGMwMDQ2ZDAxfSwKK3sibmV0aW5ldC9pcF9maWwuaCIsICJTSU9DSVBGRkwiLCAweGMwMDQ3MjQxfSwKK3sibmV0aW5ldC9pcF9uYXQuaCIsICJTSU9DRkxOQVQiLCAweGMwMDQ3MjU2fSwKK3sibmV0aW5ldC9pcF9uYXQuaCIsICJTSU9DQ05BVEwiLCAweGMwMDQ3MjU3fSwKK3sibWFjaGluZS9pb2N0bF9idDg0OC5oIiwgIkJUODQ4X0kyQ1dSIiwgMHhjMDA0NzgzOX0sCit7Im1hY2hpbmUvcGVyZm1vbi5oIiwgIlBNSU9HRVQiLCAweGMwMDgzNTA3fSwKK3sic3lzL3NvdW5kY2FyZC5oIiwgIkFJT1NTSVpFIiwgMHhjMDA4NDEwYn0sCit7Im1hY2hpbmUvc291bmRjYXJkLmgiLCAiQUlPU1NJWkUiLCAweGMwMDg0MTBifSwKK3sic3lzL3NvdW5kY2FyZC5oIiwgIkFJT1NZTkMiLCAweGMwMDg0MTBmfSwKK3sibWFjaGluZS9zb3VuZGNhcmQuaCIsICJBSU9TWU5DIiwgMHhjMDA4NDEwZn0sCit7InN5cy92bmlvY3RsLmgiLCAiVk5JT0NBVFRBQ0giLCAweGMwMDg0NjAwfSwKK3sic3lzL3ZuaW9jdGwuaCIsICJWTklPQ0RFVEFDSCIsIDB4YzAwODQ2MDF9LAoreyJuZXQvaWZfYXRtLmgiLCAiU0lPQ0FUTUVOQSIsIDB4YzAwODYxN2J9LAoreyJuZXQvaWZfYXRtLmgiLCAiU0lPQ0FUTURJUyIsIDB4YzAwODYxN2N9LAoreyJzeXMvY2Rpby5oIiwgIkNESU9SRUFEVE9DRU5UUllTIiwgMHhjMDA4NjMwNX0sCit7InN5cy9zb2NraW8uaCIsICJPU0lPQ0dJRkNPTkYiLCAweGMwMDg2OTE0fSwKK3sic3lzL3NvY2tpby5oIiwgIlNJT0NHSUZDT05GIiwgMHhjMDA4NjkyNH0sCit7Im5ldC9pZl9wcHAuaCIsICJQUFBJT0NHTlBNT0RFIiwgMHhjMDA4NzQ0Y30sCit7Im1hY2hpbmUvcGVyZm1vbi5oIiwgIlBNSU9SRUFEIiwgMHhjMDBjMzUwNH0sCit7ImRldi91c2IvdXNiLmgiLCAiVVNCX0dFVF9BTFRJTlRFUkZBQ0UiLCAweGMwMGM1NTY2fSwKK3siZGV2L3VzYi91c2IuaCIsICJVU0JfU0VUX0FMVElOVEVSRkFDRSIsIDB4YzAwYzU1Njd9LAoreyJkZXYvdXNiL3VzYi5oIiwgIlVTQl9HRVRfTk9fQUxUIiwgMHhjMDBjNTU2OH0sCit7ImRldi91c2IvdXNiLmgiLCAiVVNCX0dFVF9GVUxMX0RFU0MiLCAweGMwMGM1NTZkfSwKK3sic3lzL2NkaW8uaCIsICJDRElPQ1JFQURTVUJDSEFOTkVMIiwgMHhjMDBjNjMwM30sCit7InN5cy9jZGlvLmgiLCAiQ0RJT1JFQURUT0NFTlRSWSIsIDB4YzAwYzYzMDZ9LAoreyJzeXMva2Jpby5oIiwgIkdJT19LRVlNQVBFTlQiLCAweGMwMGM2YjBhfSwKK3sic3lzL21lbXJhbmdlLmgiLCAiTUVNUkFOR0VfR0VUIiwgMHhjMDBjNmQzMn0sCit7ImNhbS9zY3NpL3Njc2lfdGFyZ2V0aW8uaCIsICJUQVJHQ1RMSU9BTExPQ1VOSVQiLCAweGMwMTA0MzA3fSwKK3sicGNjYXJkL2NhcmRpbmZvLmgiLCAiUElPQ0dJTyIsIDB4YzAxMDUwMDR9LAoreyJkZXYvdXNiL3VzYi5oIiwgIlVTQl9HRVRfQ09ORklHX0RFU0MiLCAweGMwMTA1NTZhfSwKK3sibWFjaGluZS9wY3Z0X2lvY3RsLmgiLCAiVkdBUkVBRFBFTCIsIDB4YzAxMDU2NmV9LAoreyJzeXMvY2Rpby5oIiwgIkNESU9DUkVBREFVRElPIiwgMHhjMDEwNjMxZn0sCit7Im1hY2hpbmUvc291bmRjYXJkLmgiLCAiQUlPU0ZNVCIsIDB4YzAxMDY2MGN9LAoreyJzeXMvc291bmRjYXJkLmgiLCAiQUlPU0ZNVCIsIDB4YzAxMDY2MGN9LAoreyJzeXMvcGNpaW8uaCIsICJQQ0lPQ1JFQUQiLCAweGMwMTA3MDAyfSwKK3sic3lzL3BjaWlvLmgiLCAiUENJT0NXUklURSIsIDB4YzAxMDcwMDN9LAoreyJzeXMvcGNpaW8uaCIsICJQQ0lPQ0FUVEFDSEVEIiwgMHhjMDEwNzAwNH0sCit7Im1hY2hpbmUvaTRiX2lvY3RsLmgiLCAiSTRCX0NUUkxfSU5GT19SRVEiLCAweGMwMTQzNDA0fSwKK3sic3lzL3NvdW5kY2FyZC5oIiwgIlNORENUTF9DT1BSX1JEQVRBIiwgMHhjMDE0NDMwMn0sCit7Im1hY2hpbmUvc291bmRjYXJkLmgiLCAiU05EQ1RMX0NPUFJfUkRBVEEiLCAweGMwMTQ0MzAyfSwKK3sibWFjaGluZS9zb3VuZGNhcmQuaCIsICJTTkRDVExfQ09QUl9SQ09ERSIsIDB4YzAxNDQzMDN9LAoreyJzeXMvc291bmRjYXJkLmgiLCAiU05EQ1RMX0NPUFJfUkNPREUiLCAweGMwMTQ0MzAzfSwKK3sic3lzL3NvdW5kY2FyZC5oIiwgIlNORENUTF9DT1BSX1JVTiIsIDB4YzAxNDQzMDZ9LAoreyJtYWNoaW5lL3NvdW5kY2FyZC5oIiwgIlNORENUTF9DT1BSX1JVTiIsIDB4YzAxNDQzMDZ9LAoreyJtYWNoaW5lL3NvdW5kY2FyZC5oIiwgIlNORENUTF9DT1BSX0hBTFQiLCAweGMwMTQ0MzA3fSwKK3sic3lzL3NvdW5kY2FyZC5oIiwgIlNORENUTF9DT1BSX0hBTFQiLCAweGMwMTQ0MzA3fSwKK3sicGNjYXJkL2NhcmRpbmZvLmgiLCAiUElPQ0dNRU0iLCAweGMwMTQ1MDAyfSwKK3sibWFjaGluZS9wY3Z0X2lvY3RsLmgiLCAiVkdBR0VURk9OVEFUVFIiLCAweGMwMTQ1NjY3fSwKK3sic3lzL3dvcm1pby5oIiwgIldPUk1JT0NGSVJTVFdSSVRBQkxFQUREUiIsIDB4YzAxNDU3MjF9LAoreyJzeXMvY29uc2lvLmgiLCAiQ09OU19NT1VTRUNUTCIsIDB4YzAxNDYzMGF9LAoreyJzeXMvY29uc2lvLmgiLCAiQ09OU19HRVRJTkZPIiwgMHhjMDE0NjM0OX0sCit7InN5cy9rYmlvLmgiLCAiR0VURktFWSIsIDB4YzAxNDZiMDB9LAoreyJzeXMva2Jpby5oIiwgIlNFVEZLRVkiLCAweGMwMTQ2YjAxfSwKK3sic3lzL3NvY2tpby5oIiwgIlNJT0NHRVRWSUZDTlQiLCAweGMwMTQ3MjBmfSwKK3sic3lzL3NvY2tpby5oIiwgIlNJT0NHRVRTR0NOVCIsIDB4YzAxNDcyMTB9LAoreyJtYWNoaW5lL2lvY3RsX2J0ODQ4LmgiLCAiVFZUVU5FUl9HRVRDSE5MU0VUIiwgMHhjMDE0Nzg0Nn0sCit7InN5cy9jY2R2YXIuaCIsICJDQ0RJT0NTRVQiLCAweGMwMTg0NjEwfSwKK3sibWFjaGluZS9hcG1fYmlvcy5oIiwgIkFQTUlPX0JJT1MiLCAweGMwMTg1MDBhfSwKK3siZGV2L3VzYi91c2IuaCIsICJVU0JfUkVRVUVTVCIsIDB4YzAxODU1MDF9LAoreyJkZXYvdXNiL3VzYi5oIiwgIlVTQl9HRVRfSU5URVJGQUNFX0RFU0MiLCAweGMwMTg1NTZifSwKK3siZGV2L3VzYi91c2IuaCIsICJVU0JfR0VUX0VORFBPSU5UX0RFU0MiLCAweGMwMTg1NTZjfSwKK3siZGV2L3VzYi91c2IuaCIsICJVU0JfRE9fUkVRVUVTVCIsIDB4YzAxODU1NmZ9LAoreyJtYWNoaW5lL3BjdnRfaW9jdGwuaCIsICJWR0FQQ1ZUSUQiLCAweGMwMTg1NjcxfSwKK3sic3lzL2NvbnNpby5oIiwgIkNPTlNfR1NBVkVSIiwgMHhjMDE4NjMwNn0sCit7InN5cy9kdmRpby5oIiwgIkRWRElPQ1JFUE9SVEtFWSIsIDB4YzAxODYzYzh9LAoreyJzeXMvZHZkaW8uaCIsICJEVkRJT0NTRU5ES0VZIiwgMHhjMDE4NjNjOX0sCit7Im5ldGluZXQvaXBfbmF0LmgiLCAiU0lPQ0dOQVRMIiwgMHhjMDE4NzI1M30sCit7Im1hY2hpbmUvc291bmRjYXJkLmgiLCAiQUlPR0NBUCIsIDB4YzAxYzQxMGZ9LAoreyJzeXMvc291bmRjYXJkLmgiLCAiQUlPR0NBUCIsIDB4YzAxYzQxMGZ9LAoreyJtYWNoaW5lL2lvY3RsX2J0ODQ4LmgiLCAiTUVURU9SR1NVUFBJWEZNVCIsIDB4YzAxYzc4NDF9LAoreyJuZXRhdG0vYXRtX2lvY3RsLmgiLCAiQUlPQ0lORk8iLCAweGMwMjA0MTg1fSwKK3sibWFjaGluZS9pNGJfZGVidWcuaCIsICJJNEJfQ1RMX0dFVF9IU0NYU1RBVCIsIDB4YzAyMDQzMDJ9LAoreyJzeXMvc29ja2lvLmgiLCAiT1NJT0NHSUZBRERSIiwgMHhjMDIwNjkwZH0sCit7InN5cy9zb2NraW8uaCIsICJPU0lPQ0dJRkRTVEFERFIiLCAweGMwMjA2OTBmfSwKK3sic3lzL3NvY2tpby5oIiwgIlNJT0NHSUZGTEFHUyIsIDB4YzAyMDY5MTF9LAoreyJzeXMvc29ja2lvLmgiLCAiT1NJT0NHSUZCUkRBRERSIiwgMHhjMDIwNjkxMn0sCit7InN5cy9zb2NraW8uaCIsICJPU0lPQ0dJRk5FVE1BU0siLCAweGMwMjA2OTE1fSwKK3sic3lzL3NvY2tpby5oIiwgIlNJT0NHSUZNRVRSSUMiLCAweGMwMjA2OTE3fSwKK3sic3lzL3NvY2tpby5oIiwgIlNJT0NHSUZBRERSIiwgMHhjMDIwNjkyMX0sCit7InN5cy9zb2NraW8uaCIsICJTSU9DR0lGRFNUQUREUiIsIDB4YzAyMDY5MjJ9LAoreyJzeXMvc29ja2lvLmgiLCAiU0lPQ0dJRkJSREFERFIiLCAweGMwMjA2OTIzfSwKK3sic3lzL3NvY2tpby5oIiwgIlNJT0NHSUZORVRNQVNLIiwgMHhjMDIwNjkyNX0sCit7InN5cy9zb2NraW8uaCIsICJTSU9DR0lGTVRVIiwgMHhjMDIwNjkzM30sCit7InN5cy9zb2NraW8uaCIsICJTSU9DR0lGUEhZUyIsIDB4YzAyMDY5MzV9LAoreyJzeXMvc29ja2lvLmgiLCAiU0lPQ1NJRk1FRElBIiwgMHhjMDIwNjkzN30sCit7InN5cy9zb2NraW8uaCIsICJTSU9DR0lGR0VORVJJQyIsIDB4YzAyMDY5M2F9LAoreyJtYWNoaW5lL2lmX3dsX3dhdmVsYW4uaCIsICJTSU9DR1dMQ05XSUQiLCAweGMwMjA2OTNjfSwKK3sibWFjaGluZS9pZl93bF93YXZlbGFuLmgiLCAiU0lPQ1NXTENOV0lEIiwgMHhjMDIwNjkzZH0sCit7Im1hY2hpbmUvaWZfd2xfd2F2ZWxhbi5oIiwgIlNJT0NHV0xQU0EiLCAweGMwMjA2OTNlfSwKK3sibWFjaGluZS9pZl93bF93YXZlbGFuLmgiLCAiU0lPQ1NXTFBTQSIsIDB4YzAyMDY5M2Z9LAoreyJtYWNoaW5lL2lmX3dsX3dhdmVsYW4uaCIsICJTSU9DR1dMRUVQUk9NIiwgMHhjMDIwNjk0Mn0sCit7Im1hY2hpbmUvaWZfd2xfd2F2ZWxhbi5oIiwgIlNJT0NHV0xDQUNIRSIsIDB4YzAyMDY5NDN9LAoreyJtYWNoaW5lL2lmX3dsX3dhdmVsYW4uaCIsICJTSU9DR1dMQ0lURU0iLCAweGMwMjA2OTQ0fSwKK3sic3lzL3NvY2tpby5oIiwgIlNJT0NHSUZQU1JDQUREUiIsIDB4YzAyMDY5NDd9LAoreyJzeXMvc29ja2lvLmgiLCAiU0lPQ0dJRlBEU1RBRERSIiwgMHhjMDIwNjk0OH0sCit7InN5cy9zb3VuZGNhcmQuaCIsICJTTkRDVExfTUlESV9NUFVDTUQiLCAweGMwMjE2ZDAyfSwKK3sibWFjaGluZS9zb3VuZGNhcmQuaCIsICJTTkRDVExfTUlESV9NUFVDTUQiLCAweGMwMjE2ZDAyfSwKK3sic3lzL3BjaWlvLmgiLCAiUENJT0NHRVRDT05GIiwgMHhjMDI0NzAwMX0sCit7Im5ldGluZXQ2L2luNl92YXIuaCIsICJTSU9DR0VUTUlGQ05UX0lONiIsIDB4YzAyNDc1NmJ9LAoreyJtYWNoaW5lL3BjdnRfaW9jdGwuaCIsICJWR0FQQ1ZUSU5GTyIsIDB4YzAyODU2NzJ9LAoreyJzeXMvc29ja2lvLmgiLCAiU0lPQ0dJRk1FRElBIiwgMHhjMDI4NjkzOH0sCit7Im1hY2hpbmUvY3Jvbnl4LmgiLCAiQ1hJT0NHRVRTVEFUIiwgMHhjMDI4NzgwM30sCit7InN5cy9mYmlvLmgiLCAiRkJJT0dDVVJTT1IiLCAweGMwMmM0NjE5fSwKK3sibmV0aW5ldDYvaW42X3Zhci5oIiwgIlNJT0NHSUZJTkZPX0lONiIsIDB4YzAyYzY5NGN9LAoreyJzeXMvdGltZXBwcy5oIiwgIlBQU19JT0NfRkVUQ0giLCAweGMwMzAzMTA2fSwKK3sibWFjaGluZS9wY3Z0X2lvY3RsLmgiLCAiVkdBR0VUU0NSRUVOIiwgMHhjMDMwNTY2OX0sCit7Im5ldGluZXQ2L2luNl92YXIuaCIsICJTSU9DR05CUklORk9fSU42IiwgMHhjMDMwNjk0ZX0sCit7Im5ldGluZXQvaXBfZmlsLmgiLCAiU0lPQ0FUSFNUIiwgMHhjMDMwNzI0ZX0sCit7ImNhbS9zY3NpL3Njc2lfdGFyZ2V0aW8uaCIsICJUQVJHSU9DR0VUSVNUQVRFIiwgMHhjMDM0NDMwNn0sCit7Im5ldGluZXQvaXBfZmlsLmgiLCAiU0lPQ0FVVEhXIiwgMHhjMDM4NzI0Y30sCit7Im5ldGluZXQvaXBfZmlsLmgiLCAiU0lPQ0FVVEhSIiwgMHhjMDM4NzI0ZH0sCit7Im5ldGluZXQ2L2luNl92YXIuaCIsICJTSU9DR0lGUFJFRklYX0lONiIsIDB4YzA0MDY5NjV9LAoreyJtYWNoaW5lL21vdXNlLmgiLCAiTU9VU0VfUkVBRFNUQVRFIiwgMHhjMDQ0NGQwOH0sCit7Im1hY2hpbmUvbW91c2UuaCIsICJNT1VTRV9SRUFEREFUQSIsIDB4YzA0NDRkMDl9LAoreyJtYWNoaW5lL3BjdnRfaW9jdGwuaCIsICJLQkRHQ0tFWSIsIDB4YzA0ODRiMTB9LAoreyJtYWNoaW5lL3BjdnRfaW9jdGwuaCIsICJLQkRHT0tFWSIsIDB4YzA0ODRiMTJ9LAoreyJuZXQvaWZfcHBwLmgiLCAiU0lPQ0dQUFBDU1RBVFMiLCAweGMwNDg2OTdhfSwKK3sibmV0L2lmX3BwcC5oIiwgIlNJT0NHUFBQU1RBVFMiLCAweGMwNDg2OTdifSwKK3sibmV0aW5ldDYvaW42X3Zhci5oIiwgIlNJT0NHRVRTR0NOVF9JTjYiLCAweGMwNTA3NTZhfSwKK3sic3lzL2NvbnNpby5oIiwgIkNPTlNfR0VUVEVSTSIsIDB4YzA2ODYzNzB9LAoreyJtYWNoaW5lL2k0Yl9kZWJ1Zy5oIiwgIkk0Ql9DVExfR0VUX0xBUERTVEFUIiwgMHhjMDcwNDMwNH0sCit7Im1hY2hpbmUvc291bmRjYXJkLmgiLCAiU05EQ1RMX01JRElfSU5GTyIsIDB4YzA3NDUxMGN9LAoreyJzeXMvc291bmRjYXJkLmgiLCAiU05EQ1RMX01JRElfSU5GTyIsIDB4YzA3NDUxMGN9LAoreyJtYWNoaW5lL2NvbXN0YXRzLmgiLCAiQ09NX0dFVFBPUlRTVEFUUyIsIDB4YzA4MDYzMWV9LAoreyJtYWNoaW5lL2NvbXN0YXRzLmgiLCAiQ09NX0NMUlBPUlRTVEFUUyIsIDB4YzA4MDYzMWZ9LAoreyJtYWNoaW5lL3BjYXVkaW9pby5oIiwgIkFVRElPX1NFVElORk8iLCAweGMwODQ0MTAyfSwKK3sibWFjaGluZS9jcm9ueXguaCIsICJDWElPQ0dFVE1PREUiLCAweGMwODQ3ODAxfSwKK3sibWFjaGluZS9zb3VuZGNhcmQuaCIsICJTTkRDVExfU1lOVEhfSU5GTyIsIDB4YzA4YzUxMDJ9LAoreyJzeXMvc291bmRjYXJkLmgiLCAiU05EQ1RMX1NZTlRIX0lORk8iLCAweGMwOGM1MTAyfSwKK3sic3lzL2ZiaW8uaCIsICJGQklPX01PREVJTkZPIiwgMHhjMDljNDY2N30sCit7InN5cy9mYmlvLmgiLCAiRkJJT19GSU5ETU9ERSIsIDB4YzA5YzQ2Njh9LAoreyJzeXMvY29uc2lvLmgiLCAiQ09OU19NT0RFSU5GTyIsIDB4YzA5YzYzNjZ9LAoreyJzeXMvY29uc2lvLmgiLCAiQ09OU19GSU5ETU9ERSIsIDB4YzA5YzYzNjd9LAoreyJzeXMvY29uc2lvLmgiLCAiQ09OU19BRFBJTkZPIiwgMHhjMGE0NjM2NX0sCit7Im1hY2hpbmUvY29tc3RhdHMuaCIsICJDT01fR0VUQlJEU1RBVFMiLCAweGMwYTg2MzIwfSwKK3sicGNjYXJkL2NhcmRpbmZvLmgiLCAiUElPQ1NEUlYiLCAweGMwYWM1MDA2fSwKK3sibmV0aW5ldC9pcF9maWwuaCIsICJTSU9DWlJMU1QiLCAweGMwYzA3MjRifSwKK3sibWFjaGluZS9pb2N0bF9idDg0OC5oIiwgIkJUODQ4X1dFRVBST00iLCAweGMxMDQ3ODMyfSwKK3sibWFjaGluZS9pb2N0bF9idDg0OC5oIiwgIkJUODQ4X1JFRVBST00iLCAweGMxMDQ3ODMzfSwKK3sibWFjaGluZS9pb2N0bF9idDg0OC5oIiwgIkJUODQ4X1NJR05BVFVSRSIsIDB4YzEwNDc4MzR9LAoreyJkZXYvdXNiL3VzYi5oIiwgIlVTQl9HRVRfU1RSSU5HX0RFU0MiLCAweGMxMDg1NTZlfSwKK3sibmV0aW5ldC9pcF9maWwuaCIsICJTSU9DRlJaU1QiLCAweGMxMGM3MjRhfSwKK3sic3lzL3NvY2tpby5oIiwgIlNJT0NHTElGQUREUiIsIDB4YzExODY5MWN9LAoreyJuZXRpbmV0Ni9pbjZfdmFyLmgiLCAiU0lPQ0dJRkFERFJfSU42IiwgMHhjMTIwNjkyMX0sCit7Im5ldGluZXQ2L2luNl92YXIuaCIsICJTSU9DR0lGRFNUQUREUl9JTjYiLCAweGMxMjA2OTIyfSwKK3sibmV0aW5ldDYvaW42X3Zhci5oIiwgIlNJT0NHSUZORVRNQVNLX0lONiIsIDB4YzEyMDY5MjV9LAoreyJuZXRpbmV0Ni9pbjZfdmFyLmgiLCAiU0lPQ0dJRlBTUkNBRERSX0lONiIsIDB4YzEyMDY5NDd9LAoreyJuZXRpbmV0Ni9pbjZfdmFyLmgiLCAiU0lPQ0dJRlBEU1RBRERSX0lONiIsIDB4YzEyMDY5NDh9LAoreyJuZXRpbmV0Ni9pbjZfdmFyLmgiLCAiU0lPQ0dJRkFGTEFHX0lONiIsIDB4YzEyMDY5NDl9LAoreyJuZXRpbmV0Ni9pbjZfdmFyLmgiLCAiU0lPQ1NOREZMVVNIX0lONiIsIDB4YzEyMDY5NGR9LAoreyJuZXRpbmV0Ni9pbjZfdmFyLmgiLCAiU0lPQ1NQRlhGTFVTSF9JTjYiLCAweGMxMjA2OTRmfSwKK3sibmV0aW5ldDYvaW42X3Zhci5oIiwgIlNJT0NTUlRSRkxVU0hfSU42IiwgMHhjMTIwNjk1MH0sCit7Im5ldGluZXQ2L2luNl92YXIuaCIsICJTSU9DR0lGQUxJRkVUSU1FX0lONiIsIDB4YzEyMDY5NTF9LAoreyJuZXRpbmV0Ni9pbjZfdmFyLmgiLCAiU0lPQ1NJRkFMSUZFVElNRV9JTjYiLCAweGMxMjA2OTUyfSwKK3sibmV0aW5ldDYvaW42X3Zhci5oIiwgIlNJT0NHSUZTVEFUX0lONiIsIDB4YzEyMDY5NTN9LAoreyJuZXRpbmV0Ni9pbjZfdmFyLmgiLCAiU0lPQ0dJRlNUQVRfSUNNUDYiLCAweGMxMjA2OTU0fSwKK3sibmV0aW5ldDYvaW42X3Zhci5oIiwgIlNJT0NHRFJMU1RfSU42IiwgMHhjMTI4Njk0YX0sCit7ImRldi91c2IvdXNiLmgiLCAiVVNCX0RFVklDRUlORk8iLCAweGMxNTg1NTA0fSwKK3siY2FtL3Njc2kvc2NzaV9wYXNzLmgiLCAiQ0FNSU9DT01NQU5EIiwgMHhjMjYwMTQwMn0sCit7ImNhbS9zY3NpL3Njc2lfcGFzcy5oIiwgIkNBTUdFVFBBU1NUSFJVIiwgMHhjMjYwMTQwM30sCit7ImNhbS9zY3NpL3Njc2lfdGFyZ2V0aW8uaCIsICJUQVJHSU9DQ09NTUFORCIsIDB4YzI2MDQzMDR9LAoreyJzeXMvc29ja2lvLmgiLCAiU0lPQ0dJRlNUQVRVUyIsIDB4YzMzMTY5M2J9LAoreyJkZXYvdXNiL3VzYi5oIiwgIlVTQl9HRVRfUkVQT1JUIiwgMHhjNDA0NTUxN30sCit7Im5ldGluZXQ2L2luNl92YXIuaCIsICJTSU9DR1BSTFNUX0lONiIsIDB4YzdiODY5NGJ9LAoreyJzeXMvZHZkaW8uaCIsICJEVkRJT0NSRUFEU1RSVUNUVVJFIiwgMHhjODBjNjNjYX0sCit7Im1hY2hpbmUvc291bmRjYXJkLmgiLCAiU05EQ1RMX0NPUFJfTE9BRCIsIDB4Y2ZiMDQzMDF9LAoreyJzeXMvc291bmRjYXJkLmgiLCAiU05EQ1RMX0NPUFJfTE9BRCIsIDB4Y2ZiMDQzMDF9LAoreyJtYWNoaW5lL3NvdW5kY2FyZC5oIiwgIlNORENUTF9QTUdSX0lGQUNFIiwgMHhjZmI4NTAwMX0sCit7InN5cy9zb3VuZGNhcmQuaCIsICJTTkRDVExfUE1HUl9JRkFDRSIsIDB4Y2ZiODUwMDF9LAoreyJzeXMvc291bmRjYXJkLmgiLCAiU05EQ1RMX1BNR1JfQUNDRVNTIiwgMHhjZmI4NTExMH0sCit7Im1hY2hpbmUvc291bmRjYXJkLmgiLCAiU05EQ1RMX1BNR1JfQUNDRVNTIiwgMHhjZmI4NTExMH0sCmRpZmYgLS1naXQgYS9zdHJhY2UtNC41LjIwL2ZyZWVic2QvaTM4Ni9zaWduYWxlbnQuaCBiL3N0cmFjZS00LjUuMjAvZnJlZWJzZC9pMzg2L3NpZ25hbGVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJiNTA3ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9zdHJhY2UtNC41LjIwL2ZyZWVic2QvaTM4Ni9zaWduYWxlbnQuaApAQCAtMCwwICsxLDMyIEBACisJIlNJR18wIiwJLyogMCAqLworCSJTSUdIVVAiLAkvKiAxICovCisJIlNJR0lOVCIsCS8qIDIgKi8KKwkiU0lHUVVJVCIsCS8qIDMgKi8KKwkiU0lHSUxMIiwJLyogNCAqLworCSJTSUdUUkFQIiwJLyogNSAqLworCSJTSUdBQlJUIiwJLyogNiAqLworCSJTSUdFTVQiLAkvKiA3ICovCisJIlNJR0ZQRSIsCS8qIDggKi8KKwkiU0lHS0lMTCIsCS8qIDkgKi8KKwkiU0lHQlVTIiwJLyogMTAgKi8KKwkiU0lHU0VHViIsCS8qIDExICovCisJIlNJR1NZUyIsCS8qIDEyICovCisJIlNJR1BJUEUiLAkvKiAxMyAqLworCSJTSUdBTFJNIiwJLyogMTQgKi8KKwkiU0lHVEVSTSIsCS8qIDE1ICovCisJIlNJR1VSRyIsCS8qIDE2ICovCisJIlNJR1NUT1AiLAkvKiAxNyAqLworCSJTSUdUU1RQIiwJLyogMTggKi8KKwkiU0lHQ09OVCIsCS8qIDE5ICovCisJIlNJR0NITEQiLAkvKiAyMCAqLworCSJTSUdUVElOIiwJLyogMjEgKi8KKwkiU0lHVFRPVSIsCS8qIDIyICovCisJIlNJR0lPIiwJLyogMjMgKi8KKwkiU0lHWENQVSIsCS8qIDI0ICovCisJIlNJR1hGU1oiLAkvKiAyNSAqLworCSJTSUdWVEFMUk0iLAkvKiAyNiAqLworCSJTSUdQUk9GIiwJLyogMjcgKi8KKwkiU0lHV0lOQ0giLAkvKiAyOCAqLworCSJTSUdJTkZPIiwJLyogMjkgKi8KKwkiU0lHVVNSMSIsCS8qIDMwICovCisJIlNJR1VTUjIiLAkvKiAzMSAqLwpkaWZmIC0tZ2l0IGEvc3RyYWNlLTQuNS4yMC9mcmVlYnNkL2kzODYvc3lzY2FsbC5oIGIvc3RyYWNlLTQuNS4yMC9mcmVlYnNkL2kzODYvc3lzY2FsbC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjliNjA5MDAKLS0tIC9kZXYvbnVsbAorKysgYi9zdHJhY2UtNC41LjIwL2ZyZWVic2QvaTM4Ni9zeXNjYWxsLmgKQEAgLTAsMCArMSwyNzQgQEAKKy8qCisgKiBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSAuLy4uL3N5c2NhbGxzLnBsIG9uIFRodSBNYXIgIDggMTg6MTQ6MDcgMjAwMQorICovCisKKyNkZWZpbmUgc3lzX3N5c2NhbGwgcHJpbnRhcmdzCitpbnQgc3lzX2V4aXQoKTsKK2ludCBzeXNfZm9yaygpOworaW50IHN5c19yZWFkKCk7CitpbnQgc3lzX3dyaXRlKCk7CitpbnQgc3lzX29wZW4oKTsKK2ludCBzeXNfY2xvc2UoKTsKK2ludCBzeXNfd2FpdDQoKTsKK2ludCBzeXNfY3JlYXQoKTsKK2ludCBzeXNfbGluaygpOworaW50IHN5c191bmxpbmsoKTsKK2ludCBzeXNfY2hkaXIoKTsKK2ludCBzeXNfZmNoZGlyKCk7CitpbnQgc3lzX21rbm9kKCk7CitpbnQgc3lzX2NobW9kKCk7CitpbnQgc3lzX2Nob3duKCk7CisjZGVmaW5lIHN5c19icmVhayBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2dldGZzc3RhdCBwcmludGFyZ3MKK2ludCBzeXNfbHNlZWsoKTsKK2ludCBzeXNfZ2V0cGlkKCk7CisjZGVmaW5lIHN5c19tb3VudCBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3VubW91bnQgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19zZXR1aWQgcHJpbnRhcmdzCitpbnQgc3lzX2dldHVpZCgpOworI2RlZmluZSBzeXNfZ2V0ZXVpZCBwcmludGFyZ3MKK2ludCBzeXNfcHRyYWNlKCk7CitpbnQgc3lzX3JlY3Ztc2coKTsKK2ludCBzeXNfc2VuZG1zZygpOworaW50IHN5c19yZWN2ZnJvbSgpOworaW50IHN5c19hY2NlcHQoKTsKK2ludCBzeXNfZ2V0cGVlcm5hbWUoKTsKK2ludCBzeXNfZ2V0c29ja25hbWUoKTsKK2ludCBzeXNfYWNjZXNzKCk7CitpbnQgc3lzX2NoZmxhZ3MoKTsKK2ludCBzeXNfZmNoZmxhZ3MoKTsKKyNkZWZpbmUgc3lzX3N5bmMgcHJpbnRhcmdzCitpbnQgc3lzX2tpbGwoKTsKK2ludCBzeXNfc3RhdCgpOworI2RlZmluZSBzeXNfZ2V0cHBpZCBwcmludGFyZ3MKK2ludCBzeXNfbHN0YXQoKTsKK2ludCBzeXNfZHVwKCk7CitpbnQgc3lzX3BpcGUoKTsKKyNkZWZpbmUgc3lzX2dldGVnaWQgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19wcm9maWwgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19rdHJhY2UgcHJpbnRhcmdzCitpbnQgc3lzX3NpZ2FjdGlvbigpOworaW50IHN5c19nZXRnaWQoKTsKK2ludCBzeXNfc2lncHJvY21hc2soKTsKKyNkZWZpbmUgc3lzX2dldGxvZ2luIHByaW50YXJncworI2RlZmluZSBzeXNfc2V0bG9naW4gcHJpbnRhcmdzCisjZGVmaW5lIHN5c19hY2N0IHByaW50YXJncworaW50IHN5c19zaWdwZW5kaW5nKCk7CitpbnQgc3lzX3NpZ2FsdHN0YWNrKCk7CitpbnQgc3lzX2lvY3RsKCk7CisjZGVmaW5lIHN5c19yZWJvb3QgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19yZXZva2UgcHJpbnRhcmdzCitpbnQgc3lzX3N5bWxpbmsoKTsKK2ludCBzeXNfcmVhZGxpbmsoKTsKK2ludCBzeXNfZXhlY3ZlKCk7CitpbnQgc3lzX3VtYXNrKCk7CitpbnQgc3lzX2Nocm9vdCgpOworaW50IHN5c19mc3RhdCgpOworI2RlZmluZSBzeXNfZ2V0a2VybmluZm8gcHJpbnRhcmdzCitpbnQgc3lzX2dldHBhZ2VzaXplKCk7CitpbnQgc3lzX21zeW5jKCk7CitpbnQgc3lzX3Zmb3JrKCk7CitpbnQgc3lzX3NicmsoKTsKKyNkZWZpbmUgc3lzX3NzdGsgcHJpbnRhcmdzCitpbnQgc3lzX21tYXAoKTsKKyNkZWZpbmUgc3lzX3ZhZHZpc2UgcHJpbnRhcmdzCitpbnQgc3lzX211bm1hcCgpOworaW50IHN5c19tcHJvdGVjdCgpOworI2RlZmluZSBzeXNfbWFkdmlzZSBwcmludGFyZ3MKK2ludCBzeXNfbWluY29yZSgpOworaW50IHN5c19nZXRncm91cHMoKTsKK2ludCBzeXNfc2V0Z3JvdXBzKCk7CitpbnQgc3lzX2dldHBncnAoKTsKK2ludCBzeXNfc2V0cGdpZCgpOworaW50IHN5c19zZXRpdGltZXIoKTsKK2ludCBzeXNfd2FpdCgpOworI2RlZmluZSBzeXNfc3dhcG9uIHByaW50YXJncworaW50IHN5c19nZXRpdGltZXIoKTsKK2ludCBzeXNfZ2V0aG9zdG5hbWUoKTsKK2ludCBzeXNfc2V0aG9zdG5hbWUoKTsKK2ludCBzeXNfZ2V0ZHRhYmxlc2l6ZSgpOworaW50IHN5c19kdXAyKCk7CitpbnQgc3lzX2ZjbnRsKCk7CitpbnQgc3lzX3NlbGVjdCgpOworaW50IHN5c19mc3luYygpOworaW50IHN5c19zZXRwcmlvcml0eSgpOworaW50IHN5c19zb2NrZXQoKTsKK2ludCBzeXNfY29ubmVjdCgpOworaW50IHN5c19hY2NlcHQoKTsKK2ludCBzeXNfZ2V0cHJpb3JpdHkoKTsKK2ludCBzeXNfc2VuZCgpOworaW50IHN5c19yZWN2KCk7CisjZGVmaW5lIHN5c19zaWdyZXR1cm4gcHJpbnRhcmdzCitpbnQgc3lzX2JpbmQoKTsKK2ludCBzeXNfc2V0c29ja29wdCgpOworaW50IHN5c19saXN0ZW4oKTsKK2ludCBzeXNfc2lndmVjKCk7CitpbnQgc3lzX3NpZ2Jsb2NrKCk7CitpbnQgc3lzX3NpZ3NldG1hc2soKTsKK2ludCBzeXNfc2lnc3VzcGVuZCgpOworaW50IHN5c19zaWdzdGFjaygpOworaW50IHN5c19yZWN2bXNnKCk7CitpbnQgc3lzX3NlbmRtc2coKTsKK2ludCBzeXNfZ2V0dGltZW9mZGF5KCk7CitpbnQgc3lzX2dldHJ1c2FnZSgpOworaW50IHN5c19nZXRzb2Nrb3B0KCk7CitpbnQgc3lzX3JlYWR2KCk7CitpbnQgc3lzX3dyaXRldigpOworaW50IHN5c19zZXR0aW1lb2ZkYXkoKTsKK2ludCBzeXNfZmNob3duKCk7CitpbnQgc3lzX2ZjaG1vZCgpOworaW50IHN5c19yZWN2ZnJvbSgpOworaW50IHN5c19zZXRyZXVpZCgpOworaW50IHN5c19zZXRyZWdpZCgpOworaW50IHN5c19yZW5hbWUoKTsKK2ludCBzeXNfdHJ1bmNhdGUoKTsKK2ludCBzeXNfZnRydW5jYXRlKCk7CitpbnQgc3lzX2Zsb2NrKCk7CitpbnQgc3lzX21rZmlmbygpOworaW50IHN5c19zZW5kdG8oKTsKK2ludCBzeXNfc2h1dGRvd24oKTsKK2ludCBzeXNfc29ja2V0cGFpcigpOworaW50IHN5c19ta2RpcigpOworaW50IHN5c19ybWRpcigpOworaW50IHN5c191dGltZXMoKTsKK2ludCBzeXNfYWRqdGltZSgpOworaW50IHN5c19nZXRwZWVybmFtZSgpOworaW50IHN5c19nZXRob3N0aWQoKTsKKyNkZWZpbmUgc3lzX3NldGhvc3RpZCBwcmludGFyZ3MKK2ludCBzeXNfZ2V0cmxpbWl0KCk7CitpbnQgc3lzX3NldHJsaW1pdCgpOworaW50IHN5c19raWxscGcoKTsKK2ludCBzeXNfc2V0c2lkKCk7CitpbnQgc3lzX3F1b3RhY3RsKCk7CisjZGVmaW5lIHN5c19xdW90YSBwcmludGFyZ3MKK2ludCBzeXNfZ2V0c29ja25hbWUoKTsKKyNkZWZpbmUgc3lzX25mc3N2YyBwcmludGFyZ3MKK2ludCBzeXNfZ2V0ZGlyZW50cmllcygpOworaW50IHN5c19zdGF0ZnMoKTsKK2ludCBzeXNfZnN0YXRmcygpOworI2RlZmluZSBzeXNfZ2V0ZmggcHJpbnRhcmdzCitpbnQgc3lzX2dldGRvbWFpbm5hbWUoKTsKK2ludCBzeXNfc2V0ZG9tYWlubmFtZSgpOworaW50IHN5c191bmFtZSgpOworI2RlZmluZSBzeXNfc3lzYXJjaCBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3J0cHJpbyBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3NlbXN5cyBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX21zZ3N5cyBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3NobXN5cyBwcmludGFyZ3MKK2ludCBzeXNfcHJlYWQoKTsKK2ludCBzeXNfcHdyaXRlKCk7CisjZGVmaW5lIHN5c19udHBfYWRqdGltZSBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3NldGdpZCBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3NldGVnaWQgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19zZXRldWlkIHByaW50YXJncworaW50IHN5c19zdGF0KCk7CitpbnQgc3lzX2ZzdGF0KCk7CitpbnQgc3lzX2xzdGF0KCk7CitpbnQgc3lzX3BhdGhjb25mKCk7CitpbnQgc3lzX2ZwYXRoY29uZigpOworaW50IHN5c19nZXRybGltaXQoKTsKK2ludCBzeXNfc2V0cmxpbWl0KCk7CitpbnQgc3lzX2dldGRpcmVudHJpZXMoKTsKK2ludCBzeXNfbW1hcCgpOworI2RlZmluZSBzeXNfX19zeXNjYWxsIHByaW50YXJncworaW50IHN5c19sc2VlaygpOworaW50IHN5c190cnVuY2F0ZSgpOworaW50IHN5c19mdHJ1bmNhdGUoKTsKK2ludCBzeXNfX19zeXNjdGwoKTsKKyNkZWZpbmUgc3lzX21sb2NrIHByaW50YXJncworI2RlZmluZSBzeXNfbXVubG9jayBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3VuZGVsZXRlIHByaW50YXJncworI2RlZmluZSBzeXNfZnV0aW1lcyBwcmludGFyZ3MKK2ludCBzeXNfZ2V0cGdpZCgpOworaW50IHN5c19wb2xsKCk7CisjZGVmaW5lIHN5c19fX3NlbWN0bCBwcmludGFyZ3MKK2ludCBzeXNfc2VtZ2V0KCk7CitpbnQgc3lzX3NlbW9wKCk7CitpbnQgc3lzX21zZ2N0bCgpOworaW50IHN5c19tc2dnZXQoKTsKK2ludCBzeXNfbXNnc25kKCk7CitpbnQgc3lzX21zZ3JjdigpOworaW50IHN5c19zaG1hdCgpOworaW50IHN5c19zaG1jdGwoKTsKK2ludCBzeXNfc2htZHQoKTsKK2ludCBzeXNfc2htZ2V0KCk7CisjZGVmaW5lIHN5c19jbG9ja19nZXR0aW1lIHByaW50YXJncworI2RlZmluZSBzeXNfY2xvY2tfc2V0dGltZSBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2Nsb2NrX2dldHJlcyBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX25hbm9zbGVlcCBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX21pbmhlcml0IHByaW50YXJncworI2RlZmluZSBzeXNfcmZvcmsgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19vcGVuYnNkX3BvbGwgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19pc3NldHVnaWQgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19sY2hvd24gcHJpbnRhcmdzCitpbnQgc3lzX2dldGRlbnRzKCk7CisjZGVmaW5lIHN5c19sY2htb2QgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19uZXRic2RfbGNob3duIHByaW50YXJncworI2RlZmluZSBzeXNfbHV0aW1lcyBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX25ldGJzZF9tc3luYyBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX25zdGF0IHByaW50YXJncworI2RlZmluZSBzeXNfbmZzdGF0IHByaW50YXJncworI2RlZmluZSBzeXNfbmxzdGF0IHByaW50YXJncworI2RlZmluZSBzeXNfZmhzdGF0ZnMgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19maG9wZW4gcHJpbnRhcmdzCisjZGVmaW5lIHN5c19maHN0YXQgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19tb2RuZXh0IHByaW50YXJncworI2RlZmluZSBzeXNfbW9kc3RhdCBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX21vZGZuZXh0IHByaW50YXJncworI2RlZmluZSBzeXNfbW9kZmluZCBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2tsZGxvYWQgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19rbGR1bmxvYWQgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19rbGRmaW5kIHByaW50YXJncworI2RlZmluZSBzeXNfa2xkbmV4dCBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2tsZHN0YXQgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19rbGRmaXJzdG1vZCBwcmludGFyZ3MKK2ludCBzeXNfZ2V0c2lkKCk7CitpbnQgc3lzX3NldHJlc3VpZCgpOworaW50IHN5c19zZXRyZXNnaWQoKTsKKyNkZWZpbmUgc3lzX2Fpb19yZXR1cm4gcHJpbnRhcmdzCisjZGVmaW5lIHN5c19haW9fc3VzcGVuZCBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2Fpb19jYW5jZWwgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19haW9fZXJyb3IgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19haW9fcmVhZCBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2Fpb193cml0ZSBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2xpb19saXN0aW8gcHJpbnRhcmdzCisjZGVmaW5lIHN5c195aWVsZCBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3Rocl9zbGVlcCBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3Rocl93YWtldXAgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19tbG9ja2FsbCBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX211bmxvY2thbGwgcHJpbnRhcmdzCitpbnQgc3lzX19fZ2V0Y3dkKCk7CisjZGVmaW5lIHN5c19zY2hlZF9zZXRwYXJhbSBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3NjaGVkX2dldHBhcmFtIHByaW50YXJncworI2RlZmluZSBzeXNfc2NoZWRfc2V0c2NoZWR1bGVyIHByaW50YXJncworI2RlZmluZSBzeXNfc2NoZWRfZ2V0c2NoZWR1bGVyIHByaW50YXJncworI2RlZmluZSBzeXNfc2NoZWRfeWllbGQgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19zY2hlZF9nZXRfcHJpb3JpdHlfbWF4IHByaW50YXJncworI2RlZmluZSBzeXNfc2NoZWRfZ2V0X3ByaW9yaXR5X21pbiBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3NjaGVkX3JyX2dldF9pbnRlcnZhbCBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3V0cmFjZSBwcmludGFyZ3MKK2ludCBzeXNfc2VuZGZpbGUoKTsKKyNkZWZpbmUgc3lzX2tsZHN5bSBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2phaWwgcHJpbnRhcmdzCitpbnQgc3lzX3NpZ3Byb2NtYXNrKCk7CitpbnQgc3lzX3NpZ3N1c3BlbmQoKTsKK2ludCBzeXNfc2lnYWN0aW9uKCk7CitpbnQgc3lzX3NpZ3BlbmRpbmcoKTsKKyNkZWZpbmUgc3lzX3NpZ3JldHVybiBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX19fYWNsX2dldF9maWxlIHByaW50YXJncworI2RlZmluZSBzeXNfX19hY2xfc2V0X2ZpbGUgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19fX2FjbF9nZXRfZmQgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19fX2FjbF9zZXRfZmQgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19fX2FjbF9kZWxldGVfZmlsZSBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX19fYWNsX2RlbGV0ZV9mZCBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX19fYWNsX2FjbGNoZWNrX2ZpbGUgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19fX2FjbF9hY2xjaGVja19mZCBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2V4dGF0dHJjdGwgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19leHRhdHRyX3NldF9maWxlIHByaW50YXJncworI2RlZmluZSBzeXNfZXh0YXR0cl9nZXRfZmlsZSBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2V4dGF0dHJfZGVsZXRlX2ZpbGUgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19haW9fd2FpdGNvbXBsZXRlIHByaW50YXJncworI2RlZmluZSBzeXNfZ2V0cmVzdWlkIHByaW50YXJncworI2RlZmluZSBzeXNfZ2V0cmVzZ2lkIHByaW50YXJncworI2RlZmluZSBzeXNfa3F1ZXVlIHByaW50YXJncworI2RlZmluZSBzeXNfa2V2ZW50IHByaW50YXJncwpkaWZmIC0tZ2l0IGEvc3RyYWNlLTQuNS4yMC9mcmVlYnNkL2kzODYvc3lzY2FsbGVudC5oIGIvc3RyYWNlLTQuNS4yMC9mcmVlYnNkL2kzODYvc3lzY2FsbGVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJiNjgxNWUKLS0tIC9kZXYvbnVsbAorKysgYi9zdHJhY2UtNC41LjIwL2ZyZWVic2QvaTM4Ni9zeXNjYWxsZW50LmgKQEAgLTAsMCArMSwzNjggQEAKKy8qCisgKiBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSAuLy4uL3N5c2NhbGxzLnBsIG9uIFRodSBNYXIgIDggMTg6MTQ6MDcgMjAwMQorICovCisKKyAgeyAxLAkwLAlzeXNfc3lzY2FsbCwJInN5c2NhbGwiCX0sIC8qIDAgKi8KKyAgeyAxLAkwLAlzeXNfZXhpdCwJImV4aXQiCX0sIC8qIDEgKi8KKyAgeyAxLAlUUCwJc3lzX2ZvcmssCSJmb3JrIgl9LCAvKiAyICovCisgIHsgMywJVEQsCXN5c19yZWFkLAkicmVhZCIJfSwgLyogMyAqLworICB7IDMsCVRELAlzeXNfd3JpdGUsCSJ3cml0ZSIJfSwgLyogNCAqLworICB7IDMsCVREfFRGLAlzeXNfb3BlbiwJIm9wZW4iCX0sIC8qIDUgKi8KKyAgeyAxLAlURiwJc3lzX2Nsb3NlLAkiY2xvc2UiCX0sIC8qIDYgKi8KKyAgeyA0LAlUUCwJc3lzX3dhaXQ0LAkid2FpdDQiCX0sIC8qIDcgKi8KKyAgeyAyLAlURHxURiwJc3lzX2NyZWF0LAkiY3JlYXQ/Igl9LCAvKiA4ICovCisgIHsgMiwJVEYsCXN5c19saW5rLAkibGluayIJfSwgLyogOSAqLworICB7IDEsCVRGLAlzeXNfdW5saW5rLAkidW5saW5rIgl9LCAvKiAxMCAqLworICB7IC0xLAkwLAlwcmludGFyZ3MsCSJTWVNfMTEiCX0sIC8qIDExICovCisgIHsgMSwJVEYsCXN5c19jaGRpciwJImNoZGlyIgl9LCAvKiAxMiAqLworICB7IDEsCVRGLAlzeXNfZmNoZGlyLAkiZmNoZGlyIgl9LCAvKiAxMyAqLworICB7IDMsCVRGLAlzeXNfbWtub2QsCSJta25vZCIJfSwgLyogMTQgKi8KKyAgeyAyLAlURiwJc3lzX2NobW9kLAkiY2htb2QiCX0sIC8qIDE1ICovCisgIHsgMywJVEYsCXN5c19jaG93biwJImNob3duIgl9LCAvKiAxNiAqLworICB7IDEsCTAsCXN5c19icmVhaywJImJyZWFrIgl9LCAvKiAxNyAqLworICB7IDMsCTAsCXN5c19nZXRmc3N0YXQsCSJnZXRmc3N0YXQiCX0sIC8qIDE4ICovCisgIHsgMywJVEQsCXN5c19sc2VlaywJImxzZWVrPyIJfSwgLyogMTkgKi8KKyAgeyAxLAkwLAlzeXNfZ2V0cGlkLAkiZ2V0cGlkIgl9LCAvKiAyMCAqLworICB7IDQsCVRGLAlzeXNfbW91bnQsCSJtb3VudCIJfSwgLyogMjEgKi8KKyAgeyAyLAlURiwJc3lzX3VubW91bnQsCSJ1bm1vdW50Igl9LCAvKiAyMiAqLworICB7IDEsCTAsCXN5c19zZXR1aWQsCSJzZXR1aWQiCX0sIC8qIDIzICovCisgIHsgMSwJMCwJc3lzX2dldHVpZCwJImdldHVpZCIJfSwgLyogMjQgKi8KKyAgeyAxLAkwLAlzeXNfZ2V0ZXVpZCwJImdldGV1aWQiCX0sIC8qIDI1ICovCisgIHsgNCwJMCwJc3lzX3B0cmFjZSwJInB0cmFjZSIJfSwgLyogMjYgKi8KKyAgeyAzLAlUTiwJc3lzX3JlY3Ztc2csCSJyZWN2bXNnIgl9LCAvKiAyNyAqLworICB7IDMsCVROLAlzeXNfc2VuZG1zZywJInNlbmRtc2ciCX0sIC8qIDI4ICovCisgIHsgNiwJVE4sCXN5c19yZWN2ZnJvbSwJInJlY3Zmcm9tIgl9LCAvKiAyOSAqLworICB7IDMsCVROLAlzeXNfYWNjZXB0LAkiYWNjZXB0Igl9LCAvKiAzMCAqLworICB7IDMsCVROLAlzeXNfZ2V0cGVlcm5hbWUsCSJnZXRwZWVybmFtZSIJfSwgLyogMzEgKi8KKyAgeyAzLAlUTiwJc3lzX2dldHNvY2tuYW1lLAkiZ2V0c29ja25hbWUiCX0sIC8qIDMyICovCisgIHsgMiwJVEYsCXN5c19hY2Nlc3MsCSJhY2Nlc3MiCX0sIC8qIDMzICovCisgIHsgMiwJVEYsCXN5c19jaGZsYWdzLAkiY2hmbGFncyIJfSwgLyogMzQgKi8KKyAgeyAyLAlURiwJc3lzX2ZjaGZsYWdzLAkiZmNoZmxhZ3MiCX0sIC8qIDM1ICovCisgIHsgMSwJMCwJc3lzX3N5bmMsCSJzeW5jIgl9LCAvKiAzNiAqLworICB7IDIsCVRTLAlzeXNfa2lsbCwJImtpbGwiCX0sIC8qIDM3ICovCisgIHsgMiwJVEYsCXN5c19zdGF0LAkic3RhdD8iCX0sIC8qIDM4ICovCisgIHsgMSwJMCwJc3lzX2dldHBwaWQsCSJnZXRwcGlkIgl9LCAvKiAzOSAqLworICB7IDIsCVRGLAlzeXNfbHN0YXQsCSJsc3RhdD8iCX0sIC8qIDQwICovCisgIHsgMSwJVEQsCXN5c19kdXAsCSJkdXAiCX0sIC8qIDQxICovCisgIHsgMSwJVEQsCXN5c19waXBlLAkicGlwZSIJfSwgLyogNDIgKi8KKyAgeyAxLAkwLAlzeXNfZ2V0ZWdpZCwJImdldGVnaWQiCX0sIC8qIDQzICovCisgIHsgNCwJMCwJc3lzX3Byb2ZpbCwJInByb2ZpbCIJfSwgLyogNDQgKi8KKyAgeyA0LAkwLAlzeXNfa3RyYWNlLAkia3RyYWNlIgl9LCAvKiA0NSAqLworICB7IDMsCVRTLAlzeXNfc2lnYWN0aW9uLAkic2lnYWN0aW9uPyIJfSwgLyogNDYgKi8KKyAgeyAxLAkwLAlzeXNfZ2V0Z2lkLAkiZ2V0Z2lkIgl9LCAvKiA0NyAqLworICB7IDIsCVRTLAlzeXNfc2lncHJvY21hc2ssCSJzaWdwcm9jbWFzaz8iCX0sIC8qIDQ4ICovCisgIHsgMiwJMCwJc3lzX2dldGxvZ2luLAkiZ2V0bG9naW4iCX0sIC8qIDQ5ICovCisgIHsgMSwJMCwJc3lzX3NldGxvZ2luLAkic2V0bG9naW4iCX0sIC8qIDUwICovCisgIHsgMSwJVEYsCXN5c19hY2N0LAkiYWNjdCIJfSwgLyogNTEgKi8KKyAgeyAxLAlUUywJc3lzX3NpZ3BlbmRpbmcsCSJzaWdwZW5kaW5nPyIJfSwgLyogNTIgKi8KKyAgeyAyLAlUUywJc3lzX3NpZ2FsdHN0YWNrLAkic2lnYWx0c3RhY2siCX0sIC8qIDUzICovCisgIHsgMywJVEQsCXN5c19pb2N0bCwJImlvY3RsIgl9LCAvKiA1NCAqLworICB7IDEsCTAsCXN5c19yZWJvb3QsCSJyZWJvb3QiCX0sIC8qIDU1ICovCisgIHsgMSwJMCwJc3lzX3Jldm9rZSwJInJldm9rZSIJfSwgLyogNTYgKi8KKyAgeyAyLAlURiwJc3lzX3N5bWxpbmssCSJzeW1saW5rIgl9LCAvKiA1NyAqLworICB7IDMsCVRGLAlzeXNfcmVhZGxpbmssCSJyZWFkbGluayIJfSwgLyogNTggKi8KKyAgeyAzLAlURnxUUCwJc3lzX2V4ZWN2ZSwJImV4ZWN2ZSIJfSwgLyogNTkgKi8KKyAgeyAxLAkwLAlzeXNfdW1hc2ssCSJ1bWFzayIJfSwgLyogNjAgKi8KKyAgeyAxLAlURiwJc3lzX2Nocm9vdCwJImNocm9vdCIJfSwgLyogNjEgKi8KKyAgeyAyLAlURCwJc3lzX2ZzdGF0LAkiZnN0YXQ/Igl9LCAvKiA2MiAqLworICB7IDQsCTAsCXN5c19nZXRrZXJuaW5mbywJImdldGtlcm5pbmZvPyIJfSwgLyogNjMgKi8KKyAgeyAxLAkwLAlzeXNfZ2V0cGFnZXNpemUsCSJnZXRwYWdlc2l6ZT8iCX0sIC8qIDY0ICovCisgIHsgMywJMCwJc3lzX21zeW5jLAkibXN5bmMiCX0sIC8qIDY1ICovCisgIHsgMSwJVFAsCXN5c192Zm9yaywJInZmb3JrIgl9LCAvKiA2NiAqLworICB7IC0xLAkwLAlwcmludGFyZ3MsCSJTWVNfNjciCX0sIC8qIDY3ICovCisgIHsgLTEsCTAsCXByaW50YXJncywJIlNZU182OCIJfSwgLyogNjggKi8KKyAgeyAxLAkwLAlzeXNfc2JyaywJInNicmsiCX0sIC8qIDY5ICovCisgIHsgMSwJMCwJc3lzX3NzdGssCSJzc3RrIgl9LCAvKiA3MCAqLworICB7IDYsCTAsCXN5c19tbWFwLAkibW1hcD8iCX0sIC8qIDcxICovCisgIHsgMSwJMCwJc3lzX3ZhZHZpc2UsCSJ2YWR2aXNlIgl9LCAvKiA3MiAqLworICB7IDIsCTAsCXN5c19tdW5tYXAsCSJtdW5tYXAiCX0sIC8qIDczICovCisgIHsgMywJMCwJc3lzX21wcm90ZWN0LAkibXByb3RlY3QiCX0sIC8qIDc0ICovCisgIHsgMywJMCwJc3lzX21hZHZpc2UsCSJtYWR2aXNlIgl9LCAvKiA3NSAqLworICB7IC0xLAkwLAlwcmludGFyZ3MsCSJTWVNfNzYiCX0sIC8qIDc2ICovCisgIHsgLTEsCTAsCXByaW50YXJncywJIlNZU183NyIJfSwgLyogNzcgKi8KKyAgeyAzLAkwLAlzeXNfbWluY29yZSwJIm1pbmNvcmUiCX0sIC8qIDc4ICovCisgIHsgMiwJMCwJc3lzX2dldGdyb3VwcywJImdldGdyb3VwcyIJfSwgLyogNzkgKi8KKyAgeyAyLAkwLAlzeXNfc2V0Z3JvdXBzLAkic2V0Z3JvdXBzIgl9LCAvKiA4MCAqLworICB7IDEsCTAsCXN5c19nZXRwZ3JwLAkiZ2V0cGdycCIJfSwgLyogODEgKi8KKyAgeyAyLAkwLAlzeXNfc2V0cGdpZCwJInNldHBnaWQiCX0sIC8qIDgyICovCisgIHsgMywJMCwJc3lzX3NldGl0aW1lciwJInNldGl0aW1lciIJfSwgLyogODMgKi8KKyAgeyAxLAlUUCwJc3lzX3dhaXQsCSJ3YWl0PyIJfSwgLyogODQgKi8KKyAgeyAxLAlURiwJc3lzX3N3YXBvbiwJInN3YXBvbiIJfSwgLyogODUgKi8KKyAgeyAyLAkwLAlzeXNfZ2V0aXRpbWVyLAkiZ2V0aXRpbWVyIgl9LCAvKiA4NiAqLworICB7IDIsCTAsCXN5c19nZXRob3N0bmFtZSwJImdldGhvc3RuYW1lPyIJfSwgLyogODcgKi8KKyAgeyAyLAkwLAlzeXNfc2V0aG9zdG5hbWUsCSJzZXRob3N0bmFtZT8iCX0sIC8qIDg4ICovCisgIHsgMSwJMCwJc3lzX2dldGR0YWJsZXNpemUsCSJnZXRkdGFibGVzaXplIgl9LCAvKiA4OSAqLworICB7IDIsCVRELAlzeXNfZHVwMiwJImR1cDIiCX0sIC8qIDkwICovCisgIHsgLTEsCTAsCXByaW50YXJncywJIlNZU185MSIJfSwgLyogOTEgKi8KKyAgeyAzLAlURCwJc3lzX2ZjbnRsLAkiZmNudGwiCX0sIC8qIDkyICovCisgIHsgNSwJVEQsCXN5c19zZWxlY3QsCSJzZWxlY3QiCX0sIC8qIDkzICovCisgIHsgLTEsCTAsCXByaW50YXJncywJIlNZU185NCIJfSwgLyogOTQgKi8KKyAgeyAxLAlURCwJc3lzX2ZzeW5jLAkiZnN5bmMiCX0sIC8qIDk1ICovCisgIHsgMywJMCwJc3lzX3NldHByaW9yaXR5LAkic2V0cHJpb3JpdHkiCX0sIC8qIDk2ICovCisgIHsgMywJVE4sCXN5c19zb2NrZXQsCSJzb2NrZXQiCX0sIC8qIDk3ICovCisgIHsgMywJVE4sCXN5c19jb25uZWN0LAkiY29ubmVjdCIJfSwgLyogOTggKi8KKyAgeyAzLAlUTiwJc3lzX2FjY2VwdCwJImFjY2VwdCIJfSwgLyogOTkgKi8KKyAgeyAyLAkwLAlzeXNfZ2V0cHJpb3JpdHksCSJnZXRwcmlvcml0eSIJfSwgLyogMTAwICovCisgIHsgNCwJVE4sCXN5c19zZW5kLAkic2VuZD8iCX0sIC8qIDEwMSAqLworICB7IDQsCVROLAlzeXNfcmVjdiwJInJlY3Y/Igl9LCAvKiAxMDIgKi8KKyAgeyAxLAlUUywJc3lzX3NpZ3JldHVybiwJInNpZ3JldHVybj8iCX0sIC8qIDEwMyAqLworICB7IDMsCVROLAlzeXNfYmluZCwJImJpbmQiCX0sIC8qIDEwNCAqLworICB7IDUsCVROLAlzeXNfc2V0c29ja29wdCwJInNldHNvY2tvcHQiCX0sIC8qIDEwNSAqLworICB7IDIsCVROLAlzeXNfbGlzdGVuLAkibGlzdGVuIgl9LCAvKiAxMDYgKi8KKyAgeyAtMSwJMCwJcHJpbnRhcmdzLAkiU1lTXzEwNyIJfSwgLyogMTA3ICovCisgIHsgMywJVFMsCXN5c19zaWd2ZWMsCSJzaWd2ZWM/Igl9LCAvKiAxMDggKi8KKyAgeyAxLAlUUywJc3lzX3NpZ2Jsb2NrLAkic2lnYmxvY2s/Igl9LCAvKiAxMDkgKi8KKyAgeyAxLAlUUywJc3lzX3NpZ3NldG1hc2ssCSJzaWdzZXRtYXNrPyIJfSwgLyogMTEwICovCisgIHsgMSwJVFMsCXN5c19zaWdzdXNwZW5kLAkic2lnc3VzcGVuZD8iCX0sIC8qIDExMSAqLworICB7IDIsCVRTLAlzeXNfc2lnc3RhY2ssCSJzaWdzdGFjaz8iCX0sIC8qIDExMiAqLworICB7IDMsCVROLAlzeXNfcmVjdm1zZywJInJlY3Ztc2c/Igl9LCAvKiAxMTMgKi8KKyAgeyAzLAlUTiwJc3lzX3NlbmRtc2csCSJzZW5kbXNnPyIJfSwgLyogMTE0ICovCisgIHsgLTEsCTAsCXByaW50YXJncywJIlNZU18xMTUiCX0sIC8qIDExNSAqLworICB7IDIsCTAsCXN5c19nZXR0aW1lb2ZkYXksCSJnZXR0aW1lb2ZkYXkiCX0sIC8qIDExNiAqLworICB7IDIsCTAsCXN5c19nZXRydXNhZ2UsCSJnZXRydXNhZ2UiCX0sIC8qIDExNyAqLworICB7IDUsCVROLAlzeXNfZ2V0c29ja29wdCwJImdldHNvY2tvcHQiCX0sIC8qIDExOCAqLworICB7IC0xLAkwLAlwcmludGFyZ3MsCSJTWVNfMTE5Igl9LCAvKiAxMTkgKi8KKyAgeyAzLAlURCwJc3lzX3JlYWR2LAkicmVhZHYiCX0sIC8qIDEyMCAqLworICB7IDMsCVRELAlzeXNfd3JpdGV2LAkid3JpdGV2Igl9LCAvKiAxMjEgKi8KKyAgeyAyLAkwLAlzeXNfc2V0dGltZW9mZGF5LAkic2V0dGltZW9mZGF5Igl9LCAvKiAxMjIgKi8KKyAgeyAzLAlURCwJc3lzX2ZjaG93biwJImZjaG93biIJfSwgLyogMTIzICovCisgIHsgMiwJVEQsCXN5c19mY2htb2QsCSJmY2htb2QiCX0sIC8qIDEyNCAqLworICB7IDYsCVROLAlzeXNfcmVjdmZyb20sCSJyZWN2ZnJvbSIJfSwgLyogMTI1ICovCisgIHsgMiwJMCwJc3lzX3NldHJldWlkLAkic2V0cmV1aWQiCX0sIC8qIDEyNiAqLworICB7IDIsCTAsCXN5c19zZXRyZWdpZCwJInNldHJlZ2lkIgl9LCAvKiAxMjcgKi8KKyAgeyAyLAlURiwJc3lzX3JlbmFtZSwJInJlbmFtZSIJfSwgLyogMTI4ICovCisgIHsgMiwJVEYsCXN5c190cnVuY2F0ZSwJInRydW5jYXRlPyIJfSwgLyogMTI5ICovCisgIHsgMiwJVEQsCXN5c19mdHJ1bmNhdGUsCSJmdHJ1bmNhdGU/Igl9LCAvKiAxMzAgKi8KKyAgeyAyLAlURCwJc3lzX2Zsb2NrLAkiZmxvY2siCX0sIC8qIDEzMSAqLworICB7IDIsCTAsCXN5c19ta2ZpZm8sCSJta2ZpZm8iCX0sIC8qIDEzMiAqLworICB7IDYsCVROLAlzeXNfc2VuZHRvLAkic2VuZHRvIgl9LCAvKiAxMzMgKi8KKyAgeyAyLAlUTiwJc3lzX3NodXRkb3duLAkic2h1dGRvd24iCX0sIC8qIDEzNCAqLworICB7IDQsCVROLAlzeXNfc29ja2V0cGFpciwJInNvY2tldHBhaXIiCX0sIC8qIDEzNSAqLworICB7IDIsCVRGLAlzeXNfbWtkaXIsCSJta2RpciIJfSwgLyogMTM2ICovCisgIHsgMSwJVEYsCXN5c19ybWRpciwJInJtZGlyIgl9LCAvKiAxMzcgKi8KKyAgeyAyLAlURiwJc3lzX3V0aW1lcywJInV0aW1lcyIJfSwgLyogMTM4ICovCisgIHsgLTEsCTAsCXByaW50YXJncywJIlNZU18xMzkiCX0sIC8qIDEzOSAqLworICB7IDIsCTAsCXN5c19hZGp0aW1lLAkiYWRqdGltZSIJfSwgLyogMTQwICovCisgIHsgMywJVE4sCXN5c19nZXRwZWVybmFtZSwJImdldHBlZXJuYW1lPyIJfSwgLyogMTQxICovCisgIHsgMSwJMCwJc3lzX2dldGhvc3RpZCwJImdldGhvc3RpZD8iCX0sIC8qIDE0MiAqLworICB7IDEsCTAsCXN5c19zZXRob3N0aWQsCSJzZXRob3N0aWQ/Igl9LCAvKiAxNDMgKi8KKyAgeyAyLAkwLAlzeXNfZ2V0cmxpbWl0LAkiZ2V0cmxpbWl0PyIJfSwgLyogMTQ0ICovCisgIHsgMiwJMCwJc3lzX3NldHJsaW1pdCwJInNldHJsaW1pdD8iCX0sIC8qIDE0NSAqLworICB7IDIsCVRTLAlzeXNfa2lsbHBnLAkia2lsbHBnPyIJfSwgLyogMTQ2ICovCisgIHsgMSwJMCwJc3lzX3NldHNpZCwJInNldHNpZCIJfSwgLyogMTQ3ICovCisgIHsgNCwJMCwJc3lzX3F1b3RhY3RsLAkicXVvdGFjdGwiCX0sIC8qIDE0OCAqLworICB7IDEsCTAsCXN5c19xdW90YSwJInF1b3RhPyIJfSwgLyogMTQ5ICovCisgIHsgMywJVE4sCXN5c19nZXRzb2NrbmFtZSwJImdldHNvY2tuYW1lIgl9LCAvKiAxNTAgKi8KKyAgeyAtMSwJMCwJcHJpbnRhcmdzLAkiU1lTXzE1MSIJfSwgLyogMTUxICovCisgIHsgLTEsCTAsCXByaW50YXJncywJIlNZU18xNTIiCX0sIC8qIDE1MiAqLworICB7IC0xLAkwLAlwcmludGFyZ3MsCSJTWVNfMTUzIgl9LCAvKiAxNTMgKi8KKyAgeyAtMSwJMCwJcHJpbnRhcmdzLAkiU1lTXzE1NCIJfSwgLyogMTU0ICovCisgIHsgMiwJMCwJc3lzX25mc3N2YywJIm5mc3N2YyIJfSwgLyogMTU1ICovCisgIHsgNCwJMCwJc3lzX2dldGRpcmVudHJpZXMsCSJnZXRkaXJlbnRyaWVzPyIJfSwgLyogMTU2ICovCisgIHsgMiwJVEYsCXN5c19zdGF0ZnMsCSJzdGF0ZnMiCX0sIC8qIDE1NyAqLworICB7IDIsCVRELAlzeXNfZnN0YXRmcywJImZzdGF0ZnMiCX0sIC8qIDE1OCAqLworICB7IC0xLAkwLAlwcmludGFyZ3MsCSJTWVNfMTU5Igl9LCAvKiAxNTkgKi8KKyAgeyAtMSwJMCwJcHJpbnRhcmdzLAkiU1lTXzE2MCIJfSwgLyogMTYwICovCisgIHsgMiwJMCwJc3lzX2dldGZoLAkiZ2V0ZmgiCX0sIC8qIDE2MSAqLworICB7IDIsCTAsCXN5c19nZXRkb21haW5uYW1lLAkiZ2V0ZG9tYWlubmFtZSIJfSwgLyogMTYyICovCisgIHsgMiwJMCwJc3lzX3NldGRvbWFpbm5hbWUsCSJzZXRkb21haW5uYW1lIgl9LCAvKiAxNjMgKi8KKyAgeyAxLAkwLAlzeXNfdW5hbWUsCSJ1bmFtZSIJfSwgLyogMTY0ICovCisgIHsgMiwJMCwJc3lzX3N5c2FyY2gsCSJzeXNhcmNoIgl9LCAvKiAxNjUgKi8KKyAgeyAzLAkwLAlzeXNfcnRwcmlvLAkicnRwcmlvIgl9LCAvKiAxNjYgKi8KKyAgeyAtMSwJMCwJcHJpbnRhcmdzLAkiU1lTXzE2NyIJfSwgLyogMTY3ICovCisgIHsgLTEsCTAsCXByaW50YXJncywJIlNZU18xNjgiCX0sIC8qIDE2OCAqLworICB7IDUsCVRJLAlzeXNfc2Vtc3lzLAkic2Vtc3lzIgl9LCAvKiAxNjkgKi8KKyAgeyA2LAlUSSwJc3lzX21zZ3N5cywJIm1zZ3N5cyIJfSwgLyogMTcwICovCisgIHsgNCwJVEksCXN5c19zaG1zeXMsCSJzaG1zeXMiCX0sIC8qIDE3MSAqLworICB7IC0xLAkwLAlwcmludGFyZ3MsCSJTWVNfMTcyIgl9LCAvKiAxNzIgKi8KKyAgeyA1LAlURCwJc3lzX3ByZWFkLAkicHJlYWQiCX0sIC8qIDE3MyAqLworICB7IDUsCVRELAlzeXNfcHdyaXRlLAkicHdyaXRlIgl9LCAvKiAxNzQgKi8KKyAgeyAtMSwJMCwJcHJpbnRhcmdzLAkiU1lTXzE3NSIJfSwgLyogMTc1ICovCisgIHsgMSwJMCwJc3lzX250cF9hZGp0aW1lLAkibnRwX2FkanRpbWUiCX0sIC8qIDE3NiAqLworICB7IC0xLAkwLAlwcmludGFyZ3MsCSJTWVNfMTc3Igl9LCAvKiAxNzcgKi8KKyAgeyAtMSwJMCwJcHJpbnRhcmdzLAkiU1lTXzE3OCIJfSwgLyogMTc4ICovCisgIHsgLTEsCTAsCXByaW50YXJncywJIlNZU18xNzkiCX0sIC8qIDE3OSAqLworICB7IC0xLAkwLAlwcmludGFyZ3MsCSJTWVNfMTgwIgl9LCAvKiAxODAgKi8KKyAgeyAxLAkwLAlzeXNfc2V0Z2lkLAkic2V0Z2lkIgl9LCAvKiAxODEgKi8KKyAgeyAxLAkwLAlzeXNfc2V0ZWdpZCwJInNldGVnaWQiCX0sIC8qIDE4MiAqLworICB7IDEsCTAsCXN5c19zZXRldWlkLAkic2V0ZXVpZCIJfSwgLyogMTgzICovCisgIHsgLTEsCTAsCXByaW50YXJncywJIlNZU18xODQiCX0sIC8qIDE4NCAqLworICB7IC0xLAkwLAlwcmludGFyZ3MsCSJTWVNfMTg1Igl9LCAvKiAxODUgKi8KKyAgeyAtMSwJMCwJcHJpbnRhcmdzLAkiU1lTXzE4NiIJfSwgLyogMTg2ICovCisgIHsgLTEsCTAsCXByaW50YXJncywJIlNZU18xODciCX0sIC8qIDE4NyAqLworICB7IDIsCVRGLAlzeXNfc3RhdCwJInN0YXQiCX0sIC8qIDE4OCAqLworICB7IDIsCVRELAlzeXNfZnN0YXQsCSJmc3RhdCIJfSwgLyogMTg5ICovCisgIHsgMiwJVEYsCXN5c19sc3RhdCwJImxzdGF0Igl9LCAvKiAxOTAgKi8KKyAgeyAyLAlURiwJc3lzX3BhdGhjb25mLAkicGF0aGNvbmYiCX0sIC8qIDE5MSAqLworICB7IDIsCTAsCXN5c19mcGF0aGNvbmYsCSJmcGF0aGNvbmYiCX0sIC8qIDE5MiAqLworICB7IC0xLAkwLAlwcmludGFyZ3MsCSJTWVNfMTkzIgl9LCAvKiAxOTMgKi8KKyAgeyAyLAkwLAlzeXNfZ2V0cmxpbWl0LAkiZ2V0cmxpbWl0Igl9LCAvKiAxOTQgKi8KKyAgeyAyLAkwLAlzeXNfc2V0cmxpbWl0LAkic2V0cmxpbWl0Igl9LCAvKiAxOTUgKi8KKyAgeyA0LAkwLAlzeXNfZ2V0ZGlyZW50cmllcywJImdldGRpcmVudHJpZXMiCX0sIC8qIDE5NiAqLworICB7IDcsCTAsCXN5c19tbWFwLAkibW1hcCIJfSwgLyogMTk3ICovCisgIHsgMSwJMCwJc3lzX19fc3lzY2FsbCwJIl9fc3lzY2FsbCIJfSwgLyogMTk4ICovCisgIHsgNCwJVEQsCXN5c19sc2VlaywJImxzZWVrIgl9LCAvKiAxOTkgKi8KKyAgeyAzLAlURiwJc3lzX3RydW5jYXRlLAkidHJ1bmNhdGUiCX0sIC8qIDIwMCAqLworICB7IDMsCVRELAlzeXNfZnRydW5jYXRlLAkiZnRydW5jYXRlIgl9LCAvKiAyMDEgKi8KKyAgeyA2LAkwLAlzeXNfX19zeXNjdGwsCSJfX3N5c2N0bCIJfSwgLyogMjAyICovCisgIHsgMiwJMCwJc3lzX21sb2NrLAkibWxvY2siCX0sIC8qIDIwMyAqLworICB7IDIsCTAsCXN5c19tdW5sb2NrLAkibXVubG9jayIJfSwgLyogMjA0ICovCisgIHsgMSwJMCwJc3lzX3VuZGVsZXRlLAkidW5kZWxldGUiCX0sIC8qIDIwNSAqLworICB7IDIsCTAsCXN5c19mdXRpbWVzLAkiZnV0aW1lcyIJfSwgLyogMjA2ICovCisgIHsgMSwJMCwJc3lzX2dldHBnaWQsCSJnZXRwZ2lkIgl9LCAvKiAyMDcgKi8KKyAgeyAtMSwJMCwJcHJpbnRhcmdzLAkiU1lTXzIwOCIJfSwgLyogMjA4ICovCisgIHsgMywJVE4sCXN5c19wb2xsLAkicG9sbCIJfSwgLyogMjA5ICovCisgIHsgLTEsCTAsCXByaW50YXJncywJIlNZU18yMTAiCX0sIC8qIDIxMCAqLworICB7IC0xLAkwLAlwcmludGFyZ3MsCSJTWVNfMjExIgl9LCAvKiAyMTEgKi8KKyAgeyAtMSwJMCwJcHJpbnRhcmdzLAkiU1lTXzIxMiIJfSwgLyogMjEyICovCisgIHsgLTEsCTAsCXByaW50YXJncywJIlNZU18yMTMiCX0sIC8qIDIxMyAqLworICB7IC0xLAkwLAlwcmludGFyZ3MsCSJTWVNfMjE0Igl9LCAvKiAyMTQgKi8KKyAgeyAtMSwJMCwJcHJpbnRhcmdzLAkiU1lTXzIxNSIJfSwgLyogMjE1ICovCisgIHsgLTEsCTAsCXByaW50YXJncywJIlNZU18yMTYiCX0sIC8qIDIxNiAqLworICB7IC0xLAkwLAlwcmludGFyZ3MsCSJTWVNfMjE3Igl9LCAvKiAyMTcgKi8KKyAgeyAtMSwJMCwJcHJpbnRhcmdzLAkiU1lTXzIxOCIJfSwgLyogMjE4ICovCisgIHsgLTEsCTAsCXByaW50YXJncywJIlNZU18yMTkiCX0sIC8qIDIxOSAqLworICB7IDQsCTAsCXN5c19fX3NlbWN0bCwJIl9fc2VtY3RsIgl9LCAvKiAyMjAgKi8KKyAgeyAzLAlUSSwJc3lzX3NlbWdldCwJInNlbWdldCIJfSwgLyogMjIxICovCisgIHsgMywJVEksCXN5c19zZW1vcCwJInNlbW9wIgl9LCAvKiAyMjIgKi8KKyAgeyAtMSwJMCwJcHJpbnRhcmdzLAkiU1lTXzIyMyIJfSwgLyogMjIzICovCisgIHsgMywJVEksCXN5c19tc2djdGwsCSJtc2djdGwiCX0sIC8qIDIyNCAqLworICB7IDIsCVRJLAlzeXNfbXNnZ2V0LAkibXNnZ2V0Igl9LCAvKiAyMjUgKi8KKyAgeyA0LAlUSSwJc3lzX21zZ3NuZCwJIm1zZ3NuZCIJfSwgLyogMjI2ICovCisgIHsgNSwJVEksCXN5c19tc2dyY3YsCSJtc2dyY3YiCX0sIC8qIDIyNyAqLworICB7IDMsCVRJLAlzeXNfc2htYXQsCSJzaG1hdCIJfSwgLyogMjI4ICovCisgIHsgMywJVEksCXN5c19zaG1jdGwsCSJzaG1jdGwiCX0sIC8qIDIyOSAqLworICB7IDEsCVRJLAlzeXNfc2htZHQsCSJzaG1kdCIJfSwgLyogMjMwICovCisgIHsgMywJVEksCXN5c19zaG1nZXQsCSJzaG1nZXQiCX0sIC8qIDIzMSAqLworICB7IDIsCTAsCXN5c19jbG9ja19nZXR0aW1lLAkiY2xvY2tfZ2V0dGltZSIJfSwgLyogMjMyICovCisgIHsgMiwJMCwJc3lzX2Nsb2NrX3NldHRpbWUsCSJjbG9ja19zZXR0aW1lIgl9LCAvKiAyMzMgKi8KKyAgeyAyLAkwLAlzeXNfY2xvY2tfZ2V0cmVzLAkiY2xvY2tfZ2V0cmVzIgl9LCAvKiAyMzQgKi8KKyAgeyAtMSwJMCwJcHJpbnRhcmdzLAkiU1lTXzIzNSIJfSwgLyogMjM1ICovCisgIHsgLTEsCTAsCXByaW50YXJncywJIlNZU18yMzYiCX0sIC8qIDIzNiAqLworICB7IC0xLAkwLAlwcmludGFyZ3MsCSJTWVNfMjM3Igl9LCAvKiAyMzcgKi8KKyAgeyAtMSwJMCwJcHJpbnRhcmdzLAkiU1lTXzIzOCIJfSwgLyogMjM4ICovCisgIHsgLTEsCTAsCXByaW50YXJncywJIlNZU18yMzkiCX0sIC8qIDIzOSAqLworICB7IDIsCTAsCXN5c19uYW5vc2xlZXAsCSJuYW5vc2xlZXAiCX0sIC8qIDI0MCAqLworICB7IC0xLAkwLAlwcmludGFyZ3MsCSJTWVNfMjQxIgl9LCAvKiAyNDEgKi8KKyAgeyAtMSwJMCwJcHJpbnRhcmdzLAkiU1lTXzI0MiIJfSwgLyogMjQyICovCisgIHsgLTEsCTAsCXByaW50YXJncywJIlNZU18yNDMiCX0sIC8qIDI0MyAqLworICB7IC0xLAkwLAlwcmludGFyZ3MsCSJTWVNfMjQ0Igl9LCAvKiAyNDQgKi8KKyAgeyAtMSwJMCwJcHJpbnRhcmdzLAkiU1lTXzI0NSIJfSwgLyogMjQ1ICovCisgIHsgLTEsCTAsCXByaW50YXJncywJIlNZU18yNDYiCX0sIC8qIDI0NiAqLworICB7IC0xLAkwLAlwcmludGFyZ3MsCSJTWVNfMjQ3Igl9LCAvKiAyNDcgKi8KKyAgeyAtMSwJMCwJcHJpbnRhcmdzLAkiU1lTXzI0OCIJfSwgLyogMjQ4ICovCisgIHsgLTEsCTAsCXByaW50YXJncywJIlNZU18yNDkiCX0sIC8qIDI0OSAqLworICB7IDMsCTAsCXN5c19taW5oZXJpdCwJIm1pbmhlcml0Igl9LCAvKiAyNTAgKi8KKyAgeyAxLAkwLAlzeXNfcmZvcmssCSJyZm9yayIJfSwgLyogMjUxICovCisgIHsgMywJMCwJc3lzX29wZW5ic2RfcG9sbCwJIm9wZW5ic2RfcG9sbCIJfSwgLyogMjUyICovCisgIHsgMSwJMCwJc3lzX2lzc2V0dWdpZCwJImlzc2V0dWdpZCIJfSwgLyogMjUzICovCisgIHsgMywJVEYsCXN5c19sY2hvd24sCSJsY2hvd24iCX0sIC8qIDI1NCAqLworICB7IC0xLAkwLAlwcmludGFyZ3MsCSJTWVNfMjU1Igl9LCAvKiAyNTUgKi8KKyAgeyAtMSwJMCwJcHJpbnRhcmdzLAkiU1lTXzI1NiIJfSwgLyogMjU2ICovCisgIHsgLTEsCTAsCXByaW50YXJncywJIlNZU18yNTciCX0sIC8qIDI1NyAqLworICB7IC0xLAkwLAlwcmludGFyZ3MsCSJTWVNfMjU4Igl9LCAvKiAyNTggKi8KKyAgeyAtMSwJMCwJcHJpbnRhcmdzLAkiU1lTXzI1OSIJfSwgLyogMjU5ICovCisgIHsgLTEsCTAsCXByaW50YXJncywJIlNZU18yNjAiCX0sIC8qIDI2MCAqLworICB7IC0xLAkwLAlwcmludGFyZ3MsCSJTWVNfMjYxIgl9LCAvKiAyNjEgKi8KKyAgeyAtMSwJMCwJcHJpbnRhcmdzLAkiU1lTXzI2MiIJfSwgLyogMjYyICovCisgIHsgLTEsCTAsCXByaW50YXJncywJIlNZU18yNjMiCX0sIC8qIDI2MyAqLworICB7IC0xLAkwLAlwcmludGFyZ3MsCSJTWVNfMjY0Igl9LCAvKiAyNjQgKi8KKyAgeyAtMSwJMCwJcHJpbnRhcmdzLAkiU1lTXzI2NSIJfSwgLyogMjY1ICovCisgIHsgLTEsCTAsCXByaW50YXJncywJIlNZU18yNjYiCX0sIC8qIDI2NiAqLworICB7IC0xLAkwLAlwcmludGFyZ3MsCSJTWVNfMjY3Igl9LCAvKiAyNjcgKi8KKyAgeyAtMSwJMCwJcHJpbnRhcmdzLAkiU1lTXzI2OCIJfSwgLyogMjY4ICovCisgIHsgLTEsCTAsCXByaW50YXJncywJIlNZU18yNjkiCX0sIC8qIDI2OSAqLworICB7IC0xLAkwLAlwcmludGFyZ3MsCSJTWVNfMjcwIgl9LCAvKiAyNzAgKi8KKyAgeyAtMSwJMCwJcHJpbnRhcmdzLAkiU1lTXzI3MSIJfSwgLyogMjcxICovCisgIHsgMywJVEQsCXN5c19nZXRkZW50cywJImdldGRlbnRzIgl9LCAvKiAyNzIgKi8KKyAgeyAtMSwJMCwJcHJpbnRhcmdzLAkiU1lTXzI3MyIJfSwgLyogMjczICovCisgIHsgMiwJMCwJc3lzX2xjaG1vZCwJImxjaG1vZCIJfSwgLyogMjc0ICovCisgIHsgMywJMCwJc3lzX25ldGJzZF9sY2hvd24sCSJuZXRic2RfbGNob3duIgl9LCAvKiAyNzUgKi8KKyAgeyAyLAkwLAlzeXNfbHV0aW1lcywJImx1dGltZXMiCX0sIC8qIDI3NiAqLworICB7IDMsCTAsCXN5c19uZXRic2RfbXN5bmMsCSJuZXRic2RfbXN5bmMiCX0sIC8qIDI3NyAqLworICB7IDIsCTAsCXN5c19uc3RhdCwJIm5zdGF0Igl9LCAvKiAyNzggKi8KKyAgeyAyLAkwLAlzeXNfbmZzdGF0LAkibmZzdGF0Igl9LCAvKiAyNzkgKi8KKyAgeyAyLAkwLAlzeXNfbmxzdGF0LAkibmxzdGF0Igl9LCAvKiAyODAgKi8KKyAgeyAtMSwJMCwJcHJpbnRhcmdzLAkiU1lTXzI4MSIJfSwgLyogMjgxICovCisgIHsgLTEsCTAsCXByaW50YXJncywJIlNZU18yODIiCX0sIC8qIDI4MiAqLworICB7IC0xLAkwLAlwcmludGFyZ3MsCSJTWVNfMjgzIgl9LCAvKiAyODMgKi8KKyAgeyAtMSwJMCwJcHJpbnRhcmdzLAkiU1lTXzI4NCIJfSwgLyogMjg0ICovCisgIHsgLTEsCTAsCXByaW50YXJncywJIlNZU18yODUiCX0sIC8qIDI4NSAqLworICB7IC0xLAkwLAlwcmludGFyZ3MsCSJTWVNfMjg2Igl9LCAvKiAyODYgKi8KKyAgeyAtMSwJMCwJcHJpbnRhcmdzLAkiU1lTXzI4NyIJfSwgLyogMjg3ICovCisgIHsgLTEsCTAsCXByaW50YXJncywJIlNZU18yODgiCX0sIC8qIDI4OCAqLworICB7IC0xLAkwLAlwcmludGFyZ3MsCSJTWVNfMjg5Igl9LCAvKiAyODkgKi8KKyAgeyAtMSwJMCwJcHJpbnRhcmdzLAkiU1lTXzI5MCIJfSwgLyogMjkwICovCisgIHsgLTEsCTAsCXByaW50YXJncywJIlNZU18yOTEiCX0sIC8qIDI5MSAqLworICB7IC0xLAkwLAlwcmludGFyZ3MsCSJTWVNfMjkyIgl9LCAvKiAyOTIgKi8KKyAgeyAtMSwJMCwJcHJpbnRhcmdzLAkiU1lTXzI5MyIJfSwgLyogMjkzICovCisgIHsgLTEsCTAsCXByaW50YXJncywJIlNZU18yOTQiCX0sIC8qIDI5NCAqLworICB7IC0xLAkwLAlwcmludGFyZ3MsCSJTWVNfMjk1Igl9LCAvKiAyOTUgKi8KKyAgeyAtMSwJMCwJcHJpbnRhcmdzLAkiU1lTXzI5NiIJfSwgLyogMjk2ICovCisgIHsgMiwJMCwJc3lzX2Zoc3RhdGZzLAkiZmhzdGF0ZnMiCX0sIC8qIDI5NyAqLworICB7IDIsCTAsCXN5c19maG9wZW4sCSJmaG9wZW4iCX0sIC8qIDI5OCAqLworICB7IDIsCTAsCXN5c19maHN0YXQsCSJmaHN0YXQiCX0sIC8qIDI5OSAqLworICB7IDEsCTAsCXN5c19tb2RuZXh0LAkibW9kbmV4dCIJfSwgLyogMzAwICovCisgIHsgMiwJMCwJc3lzX21vZHN0YXQsCSJtb2RzdGF0Igl9LCAvKiAzMDEgKi8KKyAgeyAxLAkwLAlzeXNfbW9kZm5leHQsCSJtb2RmbmV4dCIJfSwgLyogMzAyICovCisgIHsgMSwJMCwJc3lzX21vZGZpbmQsCSJtb2RmaW5kIgl9LCAvKiAzMDMgKi8KKyAgeyAxLAkwLAlzeXNfa2xkbG9hZCwJImtsZGxvYWQiCX0sIC8qIDMwNCAqLworICB7IDEsCTAsCXN5c19rbGR1bmxvYWQsCSJrbGR1bmxvYWQiCX0sIC8qIDMwNSAqLworICB7IDEsCTAsCXN5c19rbGRmaW5kLAkia2xkZmluZCIJfSwgLyogMzA2ICovCisgIHsgMSwJMCwJc3lzX2tsZG5leHQsCSJrbGRuZXh0Igl9LCAvKiAzMDcgKi8KKyAgeyAyLAkwLAlzeXNfa2xkc3RhdCwJImtsZHN0YXQiCX0sIC8qIDMwOCAqLworICB7IDEsCTAsCXN5c19rbGRmaXJzdG1vZCwJImtsZGZpcnN0bW9kIgl9LCAvKiAzMDkgKi8KKyAgeyAxLAkwLAlzeXNfZ2V0c2lkLAkiZ2V0c2lkIgl9LCAvKiAzMTAgKi8KKyAgeyAzLAkwLAlzeXNfc2V0cmVzdWlkLAkic2V0cmVzdWlkIgl9LCAvKiAzMTEgKi8KKyAgeyAzLAkwLAlzeXNfc2V0cmVzZ2lkLAkic2V0cmVzZ2lkIgl9LCAvKiAzMTIgKi8KKyAgeyAtMSwJMCwJcHJpbnRhcmdzLAkiU1lTXzMxMyIJfSwgLyogMzEzICovCisgIHsgMSwJMCwJc3lzX2Fpb19yZXR1cm4sCSJhaW9fcmV0dXJuIgl9LCAvKiAzMTQgKi8KKyAgeyAzLAkwLAlzeXNfYWlvX3N1c3BlbmQsCSJhaW9fc3VzcGVuZCIJfSwgLyogMzE1ICovCisgIHsgMiwJMCwJc3lzX2Fpb19jYW5jZWwsCSJhaW9fY2FuY2VsIgl9LCAvKiAzMTYgKi8KKyAgeyAxLAkwLAlzeXNfYWlvX2Vycm9yLAkiYWlvX2Vycm9yIgl9LCAvKiAzMTcgKi8KKyAgeyAxLAkwLAlzeXNfYWlvX3JlYWQsCSJhaW9fcmVhZCIJfSwgLyogMzE4ICovCisgIHsgMSwJMCwJc3lzX2Fpb193cml0ZSwJImFpb193cml0ZSIJfSwgLyogMzE5ICovCisgIHsgNCwJMCwJc3lzX2xpb19saXN0aW8sCSJsaW9fbGlzdGlvIgl9LCAvKiAzMjAgKi8KKyAgeyAxLAkwLAlzeXNfeWllbGQsCSJ5aWVsZCIJfSwgLyogMzIxICovCisgIHsgMSwJMCwJc3lzX3Rocl9zbGVlcCwJInRocl9zbGVlcCIJfSwgLyogMzIyICovCisgIHsgMSwJMCwJc3lzX3Rocl93YWtldXAsCSJ0aHJfd2FrZXVwIgl9LCAvKiAzMjMgKi8KKyAgeyAxLAkwLAlzeXNfbWxvY2thbGwsCSJtbG9ja2FsbCIJfSwgLyogMzI0ICovCisgIHsgMSwJMCwJc3lzX211bmxvY2thbGwsCSJtdW5sb2NrYWxsIgl9LCAvKiAzMjUgKi8KKyAgeyAyLAkwLAlzeXNfX19nZXRjd2QsCSJfX2dldGN3ZCIJfSwgLyogMzI2ICovCisgIHsgMiwJMCwJc3lzX3NjaGVkX3NldHBhcmFtLAkic2NoZWRfc2V0cGFyYW0iCX0sIC8qIDMyNyAqLworICB7IDIsCTAsCXN5c19zY2hlZF9nZXRwYXJhbSwJInNjaGVkX2dldHBhcmFtIgl9LCAvKiAzMjggKi8KKyAgeyAzLAkwLAlzeXNfc2NoZWRfc2V0c2NoZWR1bGVyLAkic2NoZWRfc2V0c2NoZWR1bGVyIgl9LCAvKiAzMjkgKi8KKyAgeyAxLAkwLAlzeXNfc2NoZWRfZ2V0c2NoZWR1bGVyLAkic2NoZWRfZ2V0c2NoZWR1bGVyIgl9LCAvKiAzMzAgKi8KKyAgeyAxLAkwLAlzeXNfc2NoZWRfeWllbGQsCSJzY2hlZF95aWVsZCIJfSwgLyogMzMxICovCisgIHsgMSwJMCwJc3lzX3NjaGVkX2dldF9wcmlvcml0eV9tYXgsCSJzY2hlZF9nZXRfcHJpb3JpdHlfbWF4Igl9LCAvKiAzMzIgKi8KKyAgeyAxLAkwLAlzeXNfc2NoZWRfZ2V0X3ByaW9yaXR5X21pbiwJInNjaGVkX2dldF9wcmlvcml0eV9taW4iCX0sIC8qIDMzMyAqLworICB7IDIsCTAsCXN5c19zY2hlZF9ycl9nZXRfaW50ZXJ2YWwsCSJzY2hlZF9ycl9nZXRfaW50ZXJ2YWwiCX0sIC8qIDMzNCAqLworICB7IDIsCTAsCXN5c191dHJhY2UsCSJ1dHJhY2UiCX0sIC8qIDMzNSAqLworICB7IDcsCVREfFROLAlzeXNfc2VuZGZpbGUsCSJzZW5kZmlsZSIJfSwgLyogMzM2ICovCisgIHsgMywJMCwJc3lzX2tsZHN5bSwJImtsZHN5bSIJfSwgLyogMzM3ICovCisgIHsgMSwJMCwJc3lzX2phaWwsCSJqYWlsIgl9LCAvKiAzMzggKi8KKyAgeyAtMSwJMCwJcHJpbnRhcmdzLAkiU1lTXzMzOSIJfSwgLyogMzM5ICovCisgIHsgMywJVFMsCXN5c19zaWdwcm9jbWFzaywJInNpZ3Byb2NtYXNrIgl9LCAvKiAzNDAgKi8KKyAgeyAxLAlUUywJc3lzX3NpZ3N1c3BlbmQsCSJzaWdzdXNwZW5kIgl9LCAvKiAzNDEgKi8KKyAgeyAzLAlUUywJc3lzX3NpZ2FjdGlvbiwJInNpZ2FjdGlvbiIJfSwgLyogMzQyICovCisgIHsgMSwJVFMsCXN5c19zaWdwZW5kaW5nLAkic2lncGVuZGluZyIJfSwgLyogMzQzICovCisgIHsgMSwJVFMsCXN5c19zaWdyZXR1cm4sCSJzaWdyZXR1cm4iCX0sIC8qIDM0NCAqLworICB7IC0xLAkwLAlwcmludGFyZ3MsCSJTWVNfMzQ1Igl9LCAvKiAzNDUgKi8KKyAgeyAtMSwJMCwJcHJpbnRhcmdzLAkiU1lTXzM0NiIJfSwgLyogMzQ2ICovCisgIHsgMywJMCwJc3lzX19fYWNsX2dldF9maWxlLAkiX19hY2xfZ2V0X2ZpbGUiCX0sIC8qIDM0NyAqLworICB7IDMsCTAsCXN5c19fX2FjbF9zZXRfZmlsZSwJIl9fYWNsX3NldF9maWxlIgl9LCAvKiAzNDggKi8KKyAgeyAzLAkwLAlzeXNfX19hY2xfZ2V0X2ZkLAkiX19hY2xfZ2V0X2ZkIgl9LCAvKiAzNDkgKi8KKyAgeyAzLAkwLAlzeXNfX19hY2xfc2V0X2ZkLAkiX19hY2xfc2V0X2ZkIgl9LCAvKiAzNTAgKi8KKyAgeyAyLAkwLAlzeXNfX19hY2xfZGVsZXRlX2ZpbGUsCSJfX2FjbF9kZWxldGVfZmlsZSIJfSwgLyogMzUxICovCisgIHsgMiwJMCwJc3lzX19fYWNsX2RlbGV0ZV9mZCwJIl9fYWNsX2RlbGV0ZV9mZCIJfSwgLyogMzUyICovCisgIHsgMywJMCwJc3lzX19fYWNsX2FjbGNoZWNrX2ZpbGUsCSJfX2FjbF9hY2xjaGVja19maWxlIgl9LCAvKiAzNTMgKi8KKyAgeyAzLAkwLAlzeXNfX19hY2xfYWNsY2hlY2tfZmQsCSJfX2FjbF9hY2xjaGVja19mZCIJfSwgLyogMzU0ICovCisgIHsgNCwJMCwJc3lzX2V4dGF0dHJjdGwsCSJleHRhdHRyY3RsIgl9LCAvKiAzNTUgKi8KKyAgeyA0LAkwLAlzeXNfZXh0YXR0cl9zZXRfZmlsZSwJImV4dGF0dHJfc2V0X2ZpbGUiCX0sIC8qIDM1NiAqLworICB7IDQsCTAsCXN5c19leHRhdHRyX2dldF9maWxlLAkiZXh0YXR0cl9nZXRfZmlsZSIJfSwgLyogMzU3ICovCisgIHsgMiwJMCwJc3lzX2V4dGF0dHJfZGVsZXRlX2ZpbGUsCSJleHRhdHRyX2RlbGV0ZV9maWxlIgl9LCAvKiAzNTggKi8KKyAgeyAyLAkwLAlzeXNfYWlvX3dhaXRjb21wbGV0ZSwJImFpb193YWl0Y29tcGxldGUiCX0sIC8qIDM1OSAqLworICB7IDMsCTAsCXN5c19nZXRyZXN1aWQsCSJnZXRyZXN1aWQiCX0sIC8qIDM2MCAqLworICB7IDMsCTAsCXN5c19nZXRyZXNnaWQsCSJnZXRyZXNnaWQiCX0sIC8qIDM2MSAqLworICB7IDEsCTAsCXN5c19rcXVldWUsCSJrcXVldWUiCX0sIC8qIDM2MiAqLworICB7IDYsCTAsCXN5c19rZXZlbnQsCSJrZXZlbnQiCX0sIC8qIDM2MyAqLwpkaWZmIC0tZ2l0IGEvc3RyYWNlLTQuNS4yMC9mcmVlYnNkL2lvY3RsZW50LnNoIGIvc3RyYWNlLTQuNS4yMC9mcmVlYnNkL2lvY3RsZW50LnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjdkOGEyMWMKLS0tIC9kZXYvbnVsbAorKysgYi9zdHJhY2UtNC41LjIwL2ZyZWVic2QvaW9jdGxlbnQuc2gKQEAgLTAsMCArMSw2MiBAQAorIyEvYmluL3NoCisKKyMgaW5pdGlhbHkgZnJvbSAkRnJlZUJTRDogc3JjL3Vzci5iaW4va2R1bXAvbWtpb2N0bHMsdiAxLjE4IDIwMDAvMDgvMDIgMDc6Mzc6NDQgcnUgRXhwICQKKyMgY2hhbmdlZCBieSBHYetsIFJvdWFsbGFuZC4KKworIyBWYWxpZGF0ZSBhcmcgY291bnQuCitpZiBbICQjIC1uZSAxIF0KK3RoZW4KKyAgICAgICAgZWNobyAidXNhZ2U6ICQwIGluY2x1ZGUtZGlyZWN0b3J5IiA+JjIKKyAgICAgICAgZXhpdCAxCitmaQorCisjIGJ1aWxkIGEgbGlzdCBvZiBmaWxlcyB3aXRoIGlvY3RscworaW9jdGxfaW5jbHVkZXM9YAorCWNkICQxCisJZmluZCAqIC1uYW1lICcqLmgnIC1mb2xsb3cgfAorCQllZ3JlcCAtdiAnXihuZXRucykvJyB8CisJCXhhcmdzIGVncmVwIC1sIFwKKydeI1sgCV0qZGVmaW5lWyAJXStbQS1aYS16X11bQS1aYS16MC05X10qWyAJXStfSU9bXmEtejAtOV9dJ2AKKworIyBHZW5lcmF0ZSB0aGUgb3V0cHV0IGZpbGUuCitlY2hvICcvKiBUaGlzIGZpbGUgaXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgaW9jdGxlbnQuc2ggKi8nCitlY2hvCitlY2hvICcvKiBYWFggb2Jub3hpb3VzIHByZXJlcXVpc2l0ZXMuICovJworZWNobyAnI2RlZmluZSBDT01QQVRfNDMnCitlY2hvCitlY2hvICcjaW5jbHVkZSA8c3lzL3R5cGVzLmg+JworZWNobyAnI2luY2x1ZGUgPHN5cy9wYXJhbS5oPicKK2VjaG8gJyNpbmNsdWRlIDxzeXMvZGV2aWNlc3RhdC5oPicKK2VjaG8gJyNpbmNsdWRlIDxzeXMvZGlza2xhYmVsLmg+JworZWNobyAnI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4nCitlY2hvICcjaW5jbHVkZSA8c3lzL3RpbWUuaD4nCitlY2hvICcjaW5jbHVkZSA8c3lzL3R0eS5oPicKK2VjaG8gJyNpbmNsdWRlIDxuZXQvZXRoZXJuZXQuaD4nCitlY2hvICcjaW5jbHVkZSA8bmV0L2lmLmg+JworZWNobyAnI2luY2x1ZGUgPG5ldC9pZl92YXIuaD4nCitlY2hvICcjaW5jbHVkZSA8bmV0L3JvdXRlLmg+JworZWNobyAnI2luY2x1ZGUgPG5ldGF0bS9hdG0uaD4nCitlY2hvICcjaW5jbHVkZSA8bmV0YXRtL2F0bV9pZi5oPicKK2VjaG8gJyNpbmNsdWRlIDxuZXRhdG0vYXRtX3NhcC5oPicKK2VjaG8gJyNpbmNsdWRlIDxuZXRhdG0vYXRtX3N5cy5oPicKK2VjaG8gJyNpbmNsdWRlIDxuZXRpbmV0L2luLmg+JworZWNobyAnI2luY2x1ZGUgPG5ldGluZXQvaXBfY29tcGF0Lmg+JworZWNobyAnI2luY2x1ZGUgPG5ldGluZXQvaXBfZmlsLmg+JworZWNobyAnI2luY2x1ZGUgPG5ldGluZXQvaXBfYXV0aC5oPicKK2VjaG8gJyNpbmNsdWRlIDxuZXRpbmV0L2lwX25hdC5oPicKK2VjaG8gJyNpbmNsdWRlIDxuZXRpbmV0L2lwX2ZyYWcuaD4nCitlY2hvICcjaW5jbHVkZSA8bmV0aW5ldC9pcF9zdGF0ZS5oPicKK2VjaG8gJyNpbmNsdWRlIDxuZXRpbmV0L2lwX21yb3V0ZS5oPicKK2VjaG8gJyNpbmNsdWRlIDxuZXRpbmV0Ni9pbjZfdmFyLmg+JworZWNobyAnI2luY2x1ZGUgPG5ldGluZXQ2L25kNi5oPicKK2VjaG8gJyNpbmNsdWRlIDxuZXRpbmV0Ni9pcDZfbXJvdXRlLmg+JworZWNobyAnI2luY2x1ZGUgPGNhbS9jYW0uaD4nCitlY2hvICcjaW5jbHVkZSA8c3RkaW8uaD4nCitlY2hvCitlY2hvICIkaW9jdGxfaW5jbHVkZXMiIHwgc2VkIC1lICdzL14vI2luY2x1ZGUgPC8nIC1lIHMnLyQvPi8nCitlY2hvCitlY2hvICdzdHJ1Y3QgaW9jdGxlbnQgaW9jdGxlbnQgW10gPScKK2VjaG8gJ3snCisoY2QgJDEgJiYgZm9yIGkgaW4gJGlvY3RsX2luY2x1ZGVzIDsgZG8gZWNobyAiI2luY2x1ZGUgPCRpPiIgfCBnY2MgLUkkMSAtRSAtZE0gLSB8IGVncmVwICdeI1sgCV0qZGVmaW5lWyAJXStbQS1aYS16X11bQS1aYS16MC05X10qWyAJXStfSU9bXmEtejAtOV9dJyB8IHNlZCAtbiAtZSAnc3xeI1sgCV0qZGVmaW5lWyAJXSpcKFtBLVphLXpfXVtBLVphLXowLTlfXSpcKS4qfAl7ICInJGknIiwgIlwxIiwgXDEgfSx8cCcgOyBkb25lICkKKworZWNobyAnfTsnCmRpZmYgLS1naXQgYS9zdHJhY2UtNC41LjIwL2ZyZWVic2Qvc3lzY2FsbHMuY2F0IGIvc3RyYWNlLTQuNS4yMC9mcmVlYnNkL3N5c2NhbGxzLmNhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZGRlN2I2Ci0tLSAvZGV2L251bGwKKysrIGIvc3RyYWNlLTQuNS4yMC9mcmVlYnNkL3N5c2NhbGxzLmNhdApAQCAtMCwwICsxLDE3NyBAQAorIworIyBDb3B5cmlnaHQgKGMpIDIwMDAsIEdh62wgUm91YWxsYW5kIDxnYWVsLnJvdWFsbGFuZEBpbmFtZS5jb20+CisjIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyMgYXJlIG1ldDoKKyMgMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisjICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisjIDMuIFRoZSBuYW1lIG9mIHRoZSBhdXRob3IgbWF5IG5vdCBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cworIyAgICBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQVVUSE9SIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1MgT1IKKyMgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUworIyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELgorIyBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCisjIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVAorIyBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisjIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorIyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorIyBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorIworIyAgICAgICRJZCQKKyMKKyMgU3lzY2FsbHMgY2F0ZWdvcmllcworIyBzeW50YXg6IHN5c2NhbGwgY2F0bWFzaworIworIyBtb3N0bHkgYnVpbHQgZnJvbSBvdGhlciBhcmNocy9vcyBzeXNjYWxsZW50LmgKKworIyBmaWxlIGNhbGxzCithY2Nlc3MJVEYKK2FjY3QJVEYKK2FjbAlURgorY2hkaXIJVEYKK2NobW9kCVRGCitjaG93bglURgorY2hyb290CVRGCitjcmVhdAlURgorY2xvc2UgCVRGCitjaGZsYWdzCVRGCitmc3RhdDY0CVRGCitmc3RhdAlURgorZmNoZGlyCVRGCitmY2hmbGFncwlURgorbGNob3duCVRGCitsaW5rCVRGCitsc3RhdAlURgorbHN0YXQ2NAlURgorbHhzdGF0CVRGCitta2RpcglURgorbWtub2QJVEYKK21vdW50CVRGCitvbGRsc3RhdAlURgorb2xkc3RhdAlURgorb2xkdW1vdW50CVRGCitvcGVuCVRGCitvdXRpbWUJVEYKK3BhdGhjb25mCVRGCitwcmVhZAlURgorcHdyaXRlCVRGCityZWFkbGluawlURgorcmVuYW1lCVRGCitybWRpcglURgorc2VuZGZpbGUJVEYKK3N0YXQJVEYKK3N0YXQ2NAlURgorc3RhdGZzCVRGCitzdGF0dmZzCVRGCitzd2Fwb24JVEYKK3N5bWxpbmsJVEYKK3RydW5jYXRlCVRGCit1bW91bnQJVEYKK3VubGluawlURgordW5tb3VudAlURgordXNlbGliCVRGCit1dGltZQlURgordXRpbWVzCVRGCit4bWtub2QJVEYKK3hzdGF0CVRGCisKKyMgZmlsZS9wcm9jZXNzIGNhbGxzCitleGVjCVRGfFRQCitleGVjdglURnxUUAorZXhlY3ZlCVRGfFRQCisKKyMgSVBDIGNhbGxzCittc2djdGwJVEkKK21zZ2dldAlUSQorbXNncmN2CVRJCittc2dzbmQJVEkKK21zZ3N5cwlUSQorc2VtY3RsCVRJCitzZW1nZXQJVEkKK3NlbW9wCVRJCitzZW1zeXMJVEkKK3NobWF0CVRJCitzaG1jdGwJVEkKK3NobWR0CVRJCitzaG1nZXQJVEkKK3NobXN5cwlUSQorCisjIG5ldHdvcmsgY2FsbHMKK2FjY2VwdAlUTgorYmluZAlUTgorY29ubmVjdAlUTgorZ2V0bXNnCVROCitnZXRwZWVybmFtZQlUTgorZ2V0cG1zZwlUTgorZ2V0c29ja25hbWUJVE4KK2dldHNvY2tvcHQJVE4KK2xpc3RlbglUTgorcG9sbAlUTgorcHV0bXNnCVROCitwdXRwbXNnCVROCityZWN2CVROCityZWN2ZnJvbQlUTgorcmVjdm1zZwlUTgorc2VuZAlUTgorc2VuZG1zZwlUTgorc2VuZHRvCVROCitzZXRzb2Nrb3B0CVROCitzaHV0ZG93bglUTgorc29ja2V0CVROCitzb2NrZXRwYWlyCVROCisKKyMgcHJvY2VzcyBjYWxscworX2V4aXQJVFAKK2Nsb25lCVRQCitmb3JrCVRQCitmb3JrMQlUUAorb3dhaXQJVFAKK293YWl0MwlUUAordmZvcmsJVFAKK3dhaXQJVFAKK3dhaXQ0CVRQCit3YWl0aWQJVFAKK3dhaXRwaWQJVFAKK3dhaXRzeXMJVFAKKworIyBzaWduYWwgY2FsbHMKK2tpbGwJVFMKK2tpbGxwZwlUUwora3NpZ3F1ZXVlCVRTCitwYXVzZQlUUworcnRfc2lnYWN0aW9uCVRTCitydF9zaWdwZW5kaW5nCVRTCitydF9zaWdwcm9jbWFzawlUUworcnRfc2lncXVldWVpbmZvCVRTCitydF9zaWdyZXR1cm4JVFMKK3J0X3NpZ3N1c3BlbmQJVFMKK3J0X3NpZ3RpbWVkd2FpdAlUUworc2lnYWN0aW9uCVRTCitzaWdhbHRzdGFjawlUUworc2lnYmxvY2sJVFMKK3NpZ2NsZWFudXAJVFMKK3NpZ2ZpbGxzZXQJVFMKK3NpZ2dldG1hc2sJVFMKK3NpZ2hvbGQJVFMKK3NpZ2lnbm9yZQlUUworc2lnbmFsCVRTCitzaWdwYXVzZQlUUworc2lncGVuZGluZwlUUworc2lncG9sbAlUUworc2lncHJvY21hc2sJVFMKK3NpZ3JlbHNlCVRTCitzaWdyZXR1cm4JVFMKK3NpZ3NlbmRzZXQJVFMKK3NpZ3NldAlUUworc2lnc2V0bWFzawlUUworc2lnc3RhY2sJVFMKK3NpZ3N1c3BlbmQJVFMKK3NpZ3RpbWVkd2FpdAlUUworc2lndmVjCVRTCmRpZmYgLS1naXQgYS9zdHJhY2UtNC41LjIwL2ZyZWVic2Qvc3lzY2FsbHMucGwgYi9zdHJhY2UtNC41LjIwL2ZyZWVic2Qvc3lzY2FsbHMucGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmExODI3YwotLS0gL2Rldi9udWxsCisrKyBiL3N0cmFjZS00LjUuMjAvZnJlZWJzZC9zeXNjYWxscy5wbApAQCAtMCwwICsxLDE1NiBAQAorIyEvdXNyL2Jpbi9wZXJsIC13CisjCisjIENvcHlyaWdodCAoYykgMjAwMCwgR2HrbCBSb3VhbGxhbmQgPGdhZWwucm91YWxsYW5kQGluYW1lLmNvbT4KKyMgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworIyBhcmUgbWV0OgorIyAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyMgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyMgMy4gVGhlIG5hbWUgb2YgdGhlIGF1dGhvciBtYXkgbm90IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzCisjICAgIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBBVVRIT1IgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUyBPUgorIyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCisjIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuCisjIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKKyMgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUCisjIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyMgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisjIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisjIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisjCisjICAgICAgJElkJAorIy8KKworIyBCdWlscyBzeXNjYWxsLmggYW5kIHN5c2NhbGxlbnQuaCBmcm9tOgorIyAtIHN5c2NhbGxzLmNhdCBjb250YWluaW5nIGxpbmVzIG9mIGZvcm1hdDogc3lzY2FsbCBjYXRtYXNrCisjIC0gc3lzY2FsbHMucHJpbnQgY29udGFpbmluZyBsaW5lcyBvZiBmb3JtYXQ6IHN5c2NhbGwgW3ByaW50ZnVuY3Rpb25dCisjICAgaWYgbm8gcHJpbnRmdW5jdGlvbiBpcyBwcm92aWRlZCwgc3lzXzxjYWxsPiBpcyB1c2VkLgorIyAtIHN5c2NhbGxzLm1hc3RlciBpbiB0aGUgRnJlZUJTRCBrZXJuZWwgc291cmNlIHRyZWUgKC91c3Ivc3JjL3N5cy9rZXJuKQorCit1c2Ugc3RyaWN0OwordXNlIFBPU0lYOworCit1c2UgdmFycyBxdyglc3lzcHJpbnQgJXN5c2NhdCk7CisKK3N1YiB1c2FnZSgpIHsKKyAgICBwcmludCBTVERFUlIKKwkidXNhZ2U6ICQwIHN5c2NhbGxzLm1hc3RlciBbPHN5c2NhbGxzLnByaW50Pl0gWzxzeXNjYWxscy5jYXQ+XVxuIjsKKyAgICBleGl0IDE7Cit9CisKK3N1YiByZWFkcHJpbnQgKCQpIHsKKyAgICBteSgkZnByaW50KSA9IEBfOworCisgICAgb3BlbiAoUFJJTlQsICI8ICRmcHJpbnQiKSB8fCBkaWUgImNhbid0IG9wZW4gJGZwcmludDogJCEiOworICAgIHdoaWxlKDxQUklOVD4pIHsKKwljaG9tcDsKKwlzL15ccyovLzsKKwlzL1xzKyQvLzsKKwlzLyMuKiQvLzsKKwlteSgkc3lzLCAkZnVuYykgPSBzcGxpdCgvXHMrLyk7CisJaWYgKGRlZmluZWQoJHN5cykpIHsKKwkgICAgaWYgKGRlZmluZWQoJGZ1bmMpKSB7CisJCSRzeXNwcmludHskc3lzfSA9ICRmdW5jOworCSAgICB9IGVsc2UgeworCQkkc3lzcHJpbnR7JHN5c30gPSAic3lzXyRzeXMiOworCSAgICB9CisJfQorICAgIH0KKyAgICBjbG9zZShQUklOVCk7Cit9CisKK3N1YiByZWFkY2F0ICgkKSB7CisgICAgbXkoJGZjYXQpID0gQF87CisKKyAgICBvcGVuIChDQVQsICI8ICRmY2F0IikgfHwgZGllICJjYW4ndCBvcGVuICRmY2F0OiAkISI7CisgICAgd2hpbGUoPENBVD4pIHsKKwljaG9tcDsKKwlzL15ccyovLzsKKwlzL1xzKyQvLzsKKwlzLyMuKiQvLzsKKwlteSgkc3lzLCAkY2F0KSA9IHNwbGl0KC9ccysvKTsKKwkkc3lzY2F0eyRzeXN9ID0gJGNhdCBpZiAoZGVmaW5lZCgkc3lzKSAmJiBkZWZpbmVkKCRjYXQpKTsKKyAgICB9CisgICAgY2xvc2UoQ0FUKTsKK30KKworCit1c2FnZSBpZiAoIWRlZmluZWQoJEFSR1ZbMF0pIHx8IGRlZmluZWQoJEFSR1ZbM10pKTsKKworJXN5c3ByaW50ID0gKCk7CityZWFkcHJpbnQgJEFSR1ZbMV0gaWYgZGVmaW5lZCAkQVJHVlsxXTsKKworJXN5c2NhdCA9ICgpOworcmVhZGNhdCAkQVJHVlsyXSBpZiBkZWZpbmVkICRBUkdWWzJdOworCitvcGVuKE1BU1RFUiwgIjwgJEFSR1ZbMF0iKSB8fCBkaWUgImNhbid0IG9wZW4gJEFSR1ZbMF06ICQhIjsKKworb3BlbihTWVNDQUxMLCAiPiBzeXNjYWxsLmgiKSB8fCBkaWUgImNhbid0IGNyZWF0ZSBzeXNjYWxsLmg6ICQhIjsKKworcHJpbnQgU1lTQ0FMTCAiLypcbiAqIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5ICQwIG9uICIgLiBjdGltZSh0aW1lKCkpIC4gIiAqL1xuXG4iOworcHJpbnQgIi8qXG4gKiBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSAkMCBvbiAiIC4gY3RpbWUodGltZSgpKSAuICIgKi9cblxuIjsKKworbXkgJHN5c251bSA9IDA7CisKK3doaWxlICg8TUFTVEVSPikgeworICAgIGNob21wOworICAgICMgam9pbiBicm9rZW4gbGluZXMKKyAgICB3aGlsZSAoL1xcJC8pIHsKKwlteSAkbGluZTsKKwlzL1xcJC8vOworCSRsaW5lID0gPE1BU1RFUj47CisJY2hvbXAoJGxpbmUpOworCSRfID0gIiRfJGxpbmUiOworICAgIH0KKworICAgIGlmICgvXihcZCspXHMrKD86TVBTQUZFXHMrKT8oXHcrKVxzK1x3K1xzK1x7XHMqKFtefV0rKVxzKlx9KFtefV0qKSQvKSB7CisJbXkoJGNvbXBhdCwgJHByb3RvLCAkZXh0LCAkbmFtZSwgJG5hcmdzLCBAYXJncywgJHBmdW5jLCAkY2F0KTsKKworCW5leHQgaWYgJDIgZXEgJ09CU09MJyB8fCAkMiBlcSAnVU5JTVBMJzsKKworCSRjb21wYXQgPSAkMiBlcSAnQ09NUEFUJyA/ICc/JyA6ICIiOworCisJJHByb3RvID0gJDM7CisJJGV4dCA9ICQ0OworCisJaWYgKCQxID4gJHN5c251bSkgeyAjIHN5c2NhbGwgZ2FwCisJICAgIHdoaWxlKCRzeXNudW0gPCAkMSkgeworCQlwcmludCAiICB7IC0xLFx0MCxcdHByaW50YXJncyxcdFwiU1lTXyRzeXNudW1cIlx0fSwgLyogJHN5c251bSAqL1xuIjsKKwkJJHN5c251bSsrOworCSAgICB9CisJfSBlbHNpZiAoJDEgPCAkc3lzbnVtKSB7CisJICAgIHdhcm4gImVycm9yIGluIG1hc3RlciBmaWxlOiBzeXNjYWxsICQxIGZvdW5kLCBleHBlY3RpbmcgJHN5c251bS4iOworCX0KKworCWlmICgkcHJvdG8gPX4gL15bXlxzXStccysoW15cc10rKVxzKlwoKFteKV0qKVwpOy8pIHsKKwkgICAgbXkgQGFyZ3MgPSBzcGxpdCgvLC8sICQyKTsKKwkgICAgJG5hcmdzID0gQGFyZ3M7CisJICAgICRuYW1lID0gJDE7CisJICAgICRuYW1lID0gJDEgaWYgKCRleHQgPX4gL15ccyooW15cc10rKVxzK1teXHNdK1xzK1teXHNdKyQvKTsKKwkgICAgaWYgKGRlZmluZWQoJHN5c3ByaW50eyRuYW1lfSkpIHsKKwkJJHBmdW5jID0gJHN5c3ByaW50eyRuYW1lfTsKKwkJcHJpbnQgU1lTQ0FMTCAiaW50ICRwZnVuYygpO1xuIjsKKwkgICAgfSBlbHNlIHsKKwkJJHBmdW5jID0gInN5c18kbmFtZSI7CisJCXByaW50IFNZU0NBTEwgIiNkZWZpbmUgJHBmdW5jIHByaW50YXJnc1xuIjsKKwkgICAgfQorCSAgICBpZiAoZGVmaW5lZCgkc3lzY2F0eyRuYW1lfSkpIHsKKwkJJGNhdCA9ICRzeXNjYXR7JG5hbWV9OworCSAgICB9IGVsc2UgeworCQkkY2F0ID0gIjAiOworCSAgICB9CisJICAgICRuYW1lIC49ICRjb21wYXQ7CisJICAgIHByaW50ICIgIHsgJG5hcmdzLFx0JGNhdCxcdCRwZnVuYyxcdFwiJG5hbWVcIlx0fSwgLyogJHN5c251bSAqL1xuIjsKKwkgICAgJHN5c251bSsrOworCX0gZWxzZSB7CisJICAgIHdhcm4gImJhZCBzeXNjYWxsIHNwZWNpZmljYXRpb24gZm9yICRzeXNudW06ICRwcm90byI7CisJfQorICAgIH0KK30KZGlmZiAtLWdpdCBhL3N0cmFjZS00LjUuMjAvZnJlZWJzZC9zeXNjYWxscy5wcmludCBiL3N0cmFjZS00LjUuMjAvZnJlZWJzZC9zeXNjYWxscy5wcmludApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYzU5YTZmCi0tLSAvZGV2L251bGwKKysrIGIvc3RyYWNlLTQuNS4yMC9mcmVlYnNkL3N5c2NhbGxzLnByaW50CkBAIC0wLDAgKzEsMTkyIEBACisjCisjIENvcHlyaWdodCAoYykgMjAwMCwgR2HrbCBSb3VhbGxhbmQgPGdhZWwucm91YWxsYW5kQGluYW1lLmNvbT4KKyMgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworIyBhcmUgbWV0OgorIyAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyMgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyMgMy4gVGhlIG5hbWUgb2YgdGhlIGF1dGhvciBtYXkgbm90IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzCisjICAgIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBBVVRIT1IgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUyBPUgorIyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCisjIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuCisjIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKKyMgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUCisjIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyMgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisjIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisjIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisjCisjICAgICAgJElkJAorIworIyBQcmludGFibGUgc3lzY2FsbHMKKyMgc3ludGF4OiBzeXNjYWxsIFtwcmludGZ1bmNdCisjCisjIG1vc3RseSBidWlsdCBmcm9tIHN5c18qIGZ1bmN0aW9ucyBpbiBzb3VyY2UgY29kZQorCitfX2dldGN3ZAorX19zeXNjdGwKK2FjY2VwdAorYWNjZXNzCithZGp0aW1lCithbGFybQorYmluZAorYnJrCitjYXBnZXQKK2NhcHNldAorY2hkaXIKK2NoZmxhZ3MKK2NobW9kCitjaG93bgorY2hyb290CitjbG9zZQorY29ubmVjdAorY3JlYXQKK2R1cAorZHVwMgorZXJybGlzdAorZXhlY3YKK2V4ZWN2ZQorZXhpdAorZmNoZGlyCitmY2hmbGFncworZmNobW9kCitmY2hvd24KK2ZjaHJvb3QKK2ZjbnRsCitmbG9jaworZm9yaworZnBhdGhjb25mCitmc3RhdAorZnN0YXRmcworZnN5bmMKK2Z0cnVuY2F0ZQorZ2V0ZGVudHMKK2dldGRpcmVudHJpZXMKK2dldGRvbWFpbm5hbWUKK2dldGR0YWJsZXNpemUKK2dldGdpZAorZ2V0Z3JvdXBzCitnZXRob3N0aWQKK2dldGhvc3RuYW1lCitnZXRpdGltZXIKK2dldHBhZ2VzaXplCitnZXRwZWVybmFtZQorZ2V0cGdpZAorZ2V0cGdycAorZ2V0cGlkCitnZXRwcmlvcml0eQorZ2V0cmxpbWl0CitnZXRydXNhZ2UKK2dldHNpZAorZ2V0c29ja25hbWUKK2dldHNvY2tvcHQKK2dldHRpbWVvZmRheQorZ2V0dWlkCitpbmRpcgoraW9jdGwKK2tpbGwKK2tpbGxwZworbGluaworbGlzdGVuCitsc2VlaworbHN0YXQKK21pbmNvcmUKK21rZGlyCitta2ZpZm8KK21rbm9kCittbWFwCittcHJvdGVjdAorbXNnY3RsCittc2dnZXQKK21zZ3JjdgorbXNnc25kCittc3luYworbXVubWFwCituZXJyCituaWNlCitvcGVuCitwYXRoY29uZgorcGlwZQorcG9sbAorcHJlYWQKK3B0cmFjZQorcHdyaXRlCitxdW90YWN0bAorcmVhZAorcmVhZGxpbmsKK3JlYWR2CityZWN2CityZWN2ZnJvbQorcmVjdm1zZworcmVuYW1lCitybWRpcgorc2Jyaworc2VsZWN0CitzZW1jdGwKK3NlbWdldAorc2Vtb3AKK3NlbmQKK3NlbmRmaWxlCitzZW5kbXNnCitzZW5kdG8KK3NldGRvbWFpbm5hbWUKK3NldGdyb3Vwcworc2V0aG9zdG5hbWUKK3NldGl0aW1lcgorc2V0cGdpZAorc2V0cGdycAorc2V0cHJpb3JpdHkKK3NldHJlZ2lkCitzZXRyZXNnaWQKK3NldHJlc3VpZAorc2V0cmV1aWQKK3NldHJsaW1pdAorc2V0c2lkCitzZXRzb2Nrb3B0CitzZXR0aW1lb2ZkYXkKK3NobWF0CitzaG1jdGwKK3NobWR0CitzaG1nZXQKK3NodXRkb3duCitzaWdhY3Rpb24KK3NpZ2FsdHN0YWNrCitzaWdibG9jaworc2lnY2xlYW51cAorc2lnbmFsCitzaWdwYXVzZQorc2lncGVuZGluZworc2lncHJvY21hc2sKK3NpZ3NldG1hc2sKK3NpZ3N0YWNrCitzaWdzdXNwZW5kCitzaWd2ZWMKK3NvY2tldAorc29ja2V0cGFpcgorc3RhdAorc3RhdGZzCitzdGltZQorc3ltbGluaworc3lzY3RsCit0aW1lCit0aW1lcwordHJ1bmNhdGUKK3VtYXNrCit1bmFtZQordW5saW5rCit1dGltZQordXRpbWVzCit2Zm9yaword2FpdAord2FpdDQKK3dhaXRwaWQKK3dyaXRlCit3cml0ZXYKZGlmZiAtLWdpdCBhL3N0cmFjZS00LjUuMjAvaW5zdGFsbC1zaCBiL3N0cmFjZS00LjUuMjAvaW5zdGFsbC1zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42NzgxYjk4Ci0tLSAvZGV2L251bGwKKysrIGIvc3RyYWNlLTQuNS4yMC9pbnN0YWxsLXNoCkBAIC0wLDAgKzEsNTIwIEBACisjIS9iaW4vc2gKKyMgaW5zdGFsbCAtIGluc3RhbGwgYSBwcm9ncmFtLCBzY3JpcHQsIG9yIGRhdGFmaWxlCisKK3NjcmlwdHZlcnNpb249MjAwOS0wNC0yOC4yMTsgIyBVVEMKKworIyBUaGlzIG9yaWdpbmF0ZXMgZnJvbSBYMTFSNSAobWl0L3V0aWwvc2NyaXB0cy9pbnN0YWxsLnNoKSwgd2hpY2ggd2FzCisjIGxhdGVyIHJlbGVhc2VkIGluIFgxMVI2ICh4Yy9jb25maWcvdXRpbC9pbnN0YWxsLnNoKSB3aXRoIHRoZQorIyBmb2xsb3dpbmcgY29weXJpZ2h0IGFuZCBsaWNlbnNlLgorIworIyBDb3B5cmlnaHQgKEMpIDE5OTQgWCBDb25zb3J0aXVtCisjCisjIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkKKyMgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvCisjIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlCisjIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vcgorIyBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcworIyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorIworIyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbgorIyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KKyMKKyMgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKKyMgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCisjIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKKyMgWCBDT05TT1JUSVVNIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTgorIyBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUMtCisjIFRJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCisjCisjIEV4Y2VwdCBhcyBjb250YWluZWQgaW4gdGhpcyBub3RpY2UsIHRoZSBuYW1lIG9mIHRoZSBYIENvbnNvcnRpdW0gc2hhbGwgbm90CisjIGJlIHVzZWQgaW4gYWR2ZXJ0aXNpbmcgb3Igb3RoZXJ3aXNlIHRvIHByb21vdGUgdGhlIHNhbGUsIHVzZSBvciBvdGhlciBkZWFsLQorIyBpbmdzIGluIHRoaXMgU29mdHdhcmUgd2l0aG91dCBwcmlvciB3cml0dGVuIGF1dGhvcml6YXRpb24gZnJvbSB0aGUgWCBDb25zb3ItCisjIHRpdW0uCisjCisjCisjIEZTRiBjaGFuZ2VzIHRvIHRoaXMgZmlsZSBhcmUgaW4gdGhlIHB1YmxpYyBkb21haW4uCisjCisjIENhbGxpbmcgdGhpcyBzY3JpcHQgaW5zdGFsbC1zaCBpcyBwcmVmZXJyZWQgb3ZlciBpbnN0YWxsLnNoLCB0byBwcmV2ZW50CisjIGBtYWtlJyBpbXBsaWNpdCBydWxlcyBmcm9tIGNyZWF0aW5nIGEgZmlsZSBjYWxsZWQgaW5zdGFsbCBmcm9tIGl0CisjIHdoZW4gdGhlcmUgaXMgbm8gTWFrZWZpbGUuCisjCisjIFRoaXMgc2NyaXB0IGlzIGNvbXBhdGlibGUgd2l0aCB0aGUgQlNEIGluc3RhbGwgc2NyaXB0LCBidXQgd2FzIHdyaXR0ZW4KKyMgZnJvbSBzY3JhdGNoLgorCitubD0nCisnCitJRlM9IiAiIgkkbmwiCisKKyMgc2V0IERPSVRQUk9HIHRvIGVjaG8gdG8gdGVzdCB0aGlzIHNjcmlwdAorCisjIERvbid0IHVzZSA6LSBzaW5jZSA0LjNCU0QgYW5kIGVhcmxpZXIgc2hlbGxzIGRvbid0IGxpa2UgaXQuCitkb2l0PSR7RE9JVFBST0ctfQoraWYgdGVzdCAteiAiJGRvaXQiOyB0aGVuCisgIGRvaXRfZXhlYz1leGVjCitlbHNlCisgIGRvaXRfZXhlYz0kZG9pdAorZmkKKworIyBQdXQgaW4gYWJzb2x1dGUgZmlsZSBuYW1lcyBpZiB5b3UgZG9uJ3QgaGF2ZSB0aGVtIGluIHlvdXIgcGF0aDsKKyMgb3IgdXNlIGVudmlyb25tZW50IHZhcnMuCisKK2NoZ3JwcHJvZz0ke0NIR1JQUFJPRy1jaGdycH0KK2NobW9kcHJvZz0ke0NITU9EUFJPRy1jaG1vZH0KK2Nob3ducHJvZz0ke0NIT1dOUFJPRy1jaG93bn0KK2NtcHByb2c9JHtDTVBQUk9HLWNtcH0KK2NwcHJvZz0ke0NQUFJPRy1jcH0KK21rZGlycHJvZz0ke01LRElSUFJPRy1ta2Rpcn0KK212cHJvZz0ke01WUFJPRy1tdn0KK3JtcHJvZz0ke1JNUFJPRy1ybX0KK3N0cmlwcHJvZz0ke1NUUklQUFJPRy1zdHJpcH0KKworcG9zaXhfZ2xvYj0nPycKK2luaXRpYWxpemVfcG9zaXhfZ2xvYj0nCisgIHRlc3QgIiRwb3NpeF9nbG9iIiAhPSAiPyIgfHwgeworICAgIGlmIChzZXQgLWYpIDI+L2Rldi9udWxsOyB0aGVuCisgICAgICBwb3NpeF9nbG9iPQorICAgIGVsc2UKKyAgICAgIHBvc2l4X2dsb2I9OgorICAgIGZpCisgIH0KKycKKworcG9zaXhfbWtkaXI9CisKKyMgRGVzaXJlZCBtb2RlIG9mIGluc3RhbGxlZCBmaWxlLgorbW9kZT0wNzU1CisKK2NoZ3JwY21kPQorY2htb2RjbWQ9JGNobW9kcHJvZworY2hvd25jbWQ9CittdmNtZD0kbXZwcm9nCitybWNtZD0iJHJtcHJvZyAtZiIKK3N0cmlwY21kPQorCitzcmM9Citkc3Q9CitkaXJfYXJnPQorZHN0X2FyZz0KKworY29weV9vbl9jaGFuZ2U9ZmFsc2UKK25vX3RhcmdldF9kaXJlY3Rvcnk9CisKK3VzYWdlPSJcCitVc2FnZTogJDAgW09QVElPTl0uLi4gWy1UXSBTUkNGSUxFIERTVEZJTEUKKyAgIG9yOiAkMCBbT1BUSU9OXS4uLiBTUkNGSUxFUy4uLiBESVJFQ1RPUlkKKyAgIG9yOiAkMCBbT1BUSU9OXS4uLiAtdCBESVJFQ1RPUlkgU1JDRklMRVMuLi4KKyAgIG9yOiAkMCBbT1BUSU9OXS4uLiAtZCBESVJFQ1RPUklFUy4uLgorCitJbiB0aGUgMXN0IGZvcm0sIGNvcHkgU1JDRklMRSB0byBEU1RGSUxFLgorSW4gdGhlIDJuZCBhbmQgM3JkLCBjb3B5IGFsbCBTUkNGSUxFUyB0byBESVJFQ1RPUlkuCitJbiB0aGUgNHRoLCBjcmVhdGUgRElSRUNUT1JJRVMuCisKK09wdGlvbnM6CisgICAgIC0taGVscCAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXQuCisgICAgIC0tdmVyc2lvbiAgZGlzcGxheSB2ZXJzaW9uIGluZm8gYW5kIGV4aXQuCisKKyAgLWMgICAgICAgICAgICAoaWdub3JlZCkKKyAgLUMgICAgICAgICAgICBpbnN0YWxsIG9ubHkgaWYgZGlmZmVyZW50IChwcmVzZXJ2ZSB0aGUgbGFzdCBkYXRhIG1vZGlmaWNhdGlvbiB0aW1lKQorICAtZCAgICAgICAgICAgIGNyZWF0ZSBkaXJlY3RvcmllcyBpbnN0ZWFkIG9mIGluc3RhbGxpbmcgZmlsZXMuCisgIC1nIEdST1VQICAgICAgJGNoZ3JwcHJvZyBpbnN0YWxsZWQgZmlsZXMgdG8gR1JPVVAuCisgIC1tIE1PREUgICAgICAgJGNobW9kcHJvZyBpbnN0YWxsZWQgZmlsZXMgdG8gTU9ERS4KKyAgLW8gVVNFUiAgICAgICAkY2hvd25wcm9nIGluc3RhbGxlZCBmaWxlcyB0byBVU0VSLgorICAtcyAgICAgICAgICAgICRzdHJpcHByb2cgaW5zdGFsbGVkIGZpbGVzLgorICAtdCBESVJFQ1RPUlkgIGluc3RhbGwgaW50byBESVJFQ1RPUlkuCisgIC1UICAgICAgICAgICAgcmVwb3J0IGFuIGVycm9yIGlmIERTVEZJTEUgaXMgYSBkaXJlY3RvcnkuCisKK0Vudmlyb25tZW50IHZhcmlhYmxlcyBvdmVycmlkZSB0aGUgZGVmYXVsdCBjb21tYW5kczoKKyAgQ0hHUlBQUk9HIENITU9EUFJPRyBDSE9XTlBST0cgQ01QUFJPRyBDUFBST0cgTUtESVJQUk9HIE1WUFJPRworICBSTVBST0cgU1RSSVBQUk9HCisiCisKK3doaWxlIHRlc3QgJCMgLW5lIDA7IGRvCisgIGNhc2UgJDEgaW4KKyAgICAtYykgOzsKKworICAgIC1DKSBjb3B5X29uX2NoYW5nZT10cnVlOzsKKworICAgIC1kKSBkaXJfYXJnPXRydWU7OworCisgICAgLWcpIGNoZ3JwY21kPSIkY2hncnBwcm9nICQyIgorCXNoaWZ0OzsKKworICAgIC0taGVscCkgZWNobyAiJHVzYWdlIjsgZXhpdCAkPzs7CisKKyAgICAtbSkgbW9kZT0kMgorCWNhc2UgJG1vZGUgaW4KKwkgIConICcqIHwgKicJJyogfCAqJworJyoJICB8IConKicqIHwgKic/JyogfCAqJ1snKikKKwkgICAgZWNobyAiJDA6IGludmFsaWQgbW9kZTogJG1vZGUiID4mMgorCSAgICBleGl0IDE7OworCWVzYWMKKwlzaGlmdDs7CisKKyAgICAtbykgY2hvd25jbWQ9IiRjaG93bnByb2cgJDIiCisJc2hpZnQ7OworCisgICAgLXMpIHN0cmlwY21kPSRzdHJpcHByb2c7OworCisgICAgLXQpIGRzdF9hcmc9JDIKKwlzaGlmdDs7CisKKyAgICAtVCkgbm9fdGFyZ2V0X2RpcmVjdG9yeT10cnVlOzsKKworICAgIC0tdmVyc2lvbikgZWNobyAiJDAgJHNjcmlwdHZlcnNpb24iOyBleGl0ICQ/OzsKKworICAgIC0tKQlzaGlmdAorCWJyZWFrOzsKKworICAgIC0qKQllY2hvICIkMDogaW52YWxpZCBvcHRpb246ICQxIiA+JjIKKwlleGl0IDE7OworCisgICAgKikgIGJyZWFrOzsKKyAgZXNhYworICBzaGlmdAorZG9uZQorCitpZiB0ZXN0ICQjIC1uZSAwICYmIHRlc3QgLXogIiRkaXJfYXJnJGRzdF9hcmciOyB0aGVuCisgICMgV2hlbiAtZCBpcyB1c2VkLCBhbGwgcmVtYWluaW5nIGFyZ3VtZW50cyBhcmUgZGlyZWN0b3JpZXMgdG8gY3JlYXRlLgorICAjIFdoZW4gLXQgaXMgdXNlZCwgdGhlIGRlc3RpbmF0aW9uIGlzIGFscmVhZHkgc3BlY2lmaWVkLgorICAjIE90aGVyd2lzZSwgdGhlIGxhc3QgYXJndW1lbnQgaXMgdGhlIGRlc3RpbmF0aW9uLiAgUmVtb3ZlIGl0IGZyb20gJEAuCisgIGZvciBhcmcKKyAgZG8KKyAgICBpZiB0ZXN0IC1uICIkZHN0X2FyZyI7IHRoZW4KKyAgICAgICMgJEAgaXMgbm90IGVtcHR5OiBpdCBjb250YWlucyBhdCBsZWFzdCAkYXJnLgorICAgICAgc2V0IGZub3JkICIkQCIgIiRkc3RfYXJnIgorICAgICAgc2hpZnQgIyBmbm9yZAorICAgIGZpCisgICAgc2hpZnQgIyBhcmcKKyAgICBkc3RfYXJnPSRhcmcKKyAgZG9uZQorZmkKKworaWYgdGVzdCAkIyAtZXEgMDsgdGhlbgorICBpZiB0ZXN0IC16ICIkZGlyX2FyZyI7IHRoZW4KKyAgICBlY2hvICIkMDogbm8gaW5wdXQgZmlsZSBzcGVjaWZpZWQuIiA+JjIKKyAgICBleGl0IDEKKyAgZmkKKyAgIyBJdCdzIE9LIHRvIGNhbGwgYGluc3RhbGwtc2ggLWQnIHdpdGhvdXQgYXJndW1lbnQuCisgICMgVGhpcyBjYW4gaGFwcGVuIHdoZW4gY3JlYXRpbmcgY29uZGl0aW9uYWwgZGlyZWN0b3JpZXMuCisgIGV4aXQgMAorZmkKKworaWYgdGVzdCAteiAiJGRpcl9hcmciOyB0aGVuCisgIHRyYXAgJyhleGl0ICQ/KTsgZXhpdCcgMSAyIDEzIDE1CisKKyAgIyBTZXQgdW1hc2sgc28gYXMgbm90IHRvIGNyZWF0ZSB0ZW1wcyB3aXRoIHRvby1nZW5lcm91cyBtb2Rlcy4KKyAgIyBIb3dldmVyLCAnc3RyaXAnIHJlcXVpcmVzIGJvdGggcmVhZCBhbmQgd3JpdGUgYWNjZXNzIHRvIHRlbXBzLgorICBjYXNlICRtb2RlIGluCisgICAgIyBPcHRpbWl6ZSBjb21tb24gY2FzZXMuCisgICAgKjY0NCkgY3BfdW1hc2s9MTMzOzsKKyAgICAqNzU1KSBjcF91bWFzaz0yMjs7CisKKyAgICAqWzAtN10pCisgICAgICBpZiB0ZXN0IC16ICIkc3RyaXBjbWQiOyB0aGVuCisJdV9wbHVzX3J3PQorICAgICAgZWxzZQorCXVfcGx1c19ydz0nJSAyMDAnCisgICAgICBmaQorICAgICAgY3BfdW1hc2s9YGV4cHIgJygnIDc3NyAtICRtb2RlICUgMTAwMCAnKScgJHVfcGx1c19yd2A7OworICAgICopCisgICAgICBpZiB0ZXN0IC16ICIkc3RyaXBjbWQiOyB0aGVuCisJdV9wbHVzX3J3PQorICAgICAgZWxzZQorCXVfcGx1c19ydz0sdStydworICAgICAgZmkKKyAgICAgIGNwX3VtYXNrPSRtb2RlJHVfcGx1c19ydzs7CisgIGVzYWMKK2ZpCisKK2ZvciBzcmMKK2RvCisgICMgUHJvdGVjdCBuYW1lcyBzdGFydGluZyB3aXRoIGAtJy4KKyAgY2FzZSAkc3JjIGluCisgICAgLSopIHNyYz0uLyRzcmM7OworICBlc2FjCisKKyAgaWYgdGVzdCAtbiAiJGRpcl9hcmciOyB0aGVuCisgICAgZHN0PSRzcmMKKyAgICBkc3RkaXI9JGRzdAorICAgIHRlc3QgLWQgIiRkc3RkaXIiCisgICAgZHN0ZGlyX3N0YXR1cz0kPworICBlbHNlCisKKyAgICAjIFdhaXRpbmcgZm9yIHRoaXMgdG8gYmUgZGV0ZWN0ZWQgYnkgdGhlICIkY3Bwcm9nICRzcmMgJGRzdHRtcCIgY29tbWFuZAorICAgICMgbWlnaHQgY2F1c2UgZGlyZWN0b3JpZXMgdG8gYmUgY3JlYXRlZCwgd2hpY2ggd291bGQgYmUgZXNwZWNpYWxseSBiYWQKKyAgICAjIGlmICRzcmMgKGFuZCB0aHVzICRkc3R0bXApIGNvbnRhaW5zICcqJy4KKyAgICBpZiB0ZXN0ICEgLWYgIiRzcmMiICYmIHRlc3QgISAtZCAiJHNyYyI7IHRoZW4KKyAgICAgIGVjaG8gIiQwOiAkc3JjIGRvZXMgbm90IGV4aXN0LiIgPiYyCisgICAgICBleGl0IDEKKyAgICBmaQorCisgICAgaWYgdGVzdCAteiAiJGRzdF9hcmciOyB0aGVuCisgICAgICBlY2hvICIkMDogbm8gZGVzdGluYXRpb24gc3BlY2lmaWVkLiIgPiYyCisgICAgICBleGl0IDEKKyAgICBmaQorCisgICAgZHN0PSRkc3RfYXJnCisgICAgIyBQcm90ZWN0IG5hbWVzIHN0YXJ0aW5nIHdpdGggYC0nLgorICAgIGNhc2UgJGRzdCBpbgorICAgICAgLSopIGRzdD0uLyRkc3Q7OworICAgIGVzYWMKKworICAgICMgSWYgZGVzdGluYXRpb24gaXMgYSBkaXJlY3RvcnksIGFwcGVuZCB0aGUgaW5wdXQgZmlsZW5hbWU7IHdvbid0IHdvcmsKKyAgICAjIGlmIGRvdWJsZSBzbGFzaGVzIGFyZW4ndCBpZ25vcmVkLgorICAgIGlmIHRlc3QgLWQgIiRkc3QiOyB0aGVuCisgICAgICBpZiB0ZXN0IC1uICIkbm9fdGFyZ2V0X2RpcmVjdG9yeSI7IHRoZW4KKwllY2hvICIkMDogJGRzdF9hcmc6IElzIGEgZGlyZWN0b3J5IiA+JjIKKwlleGl0IDEKKyAgICAgIGZpCisgICAgICBkc3RkaXI9JGRzdAorICAgICAgZHN0PSRkc3RkaXIvYGJhc2VuYW1lICIkc3JjImAKKyAgICAgIGRzdGRpcl9zdGF0dXM9MAorICAgIGVsc2UKKyAgICAgICMgUHJlZmVyIGRpcm5hbWUsIGJ1dCBmYWxsIGJhY2sgb24gYSBzdWJzdGl0dXRlIGlmIGRpcm5hbWUgZmFpbHMuCisgICAgICBkc3RkaXI9YAorCShkaXJuYW1lICIkZHN0IikgMj4vZGV2L251bGwgfHwKKwlleHByIFgiJGRzdCIgOiAnWFwoLipbXi9dXCkvLypbXi9dW14vXSovKiQnIFx8IFwKKwkgICAgIFgiJGRzdCIgOiAnWFwoLy9cKVteL10nIFx8IFwKKwkgICAgIFgiJGRzdCIgOiAnWFwoLy9cKSQnIFx8IFwKKwkgICAgIFgiJGRzdCIgOiAnWFwoL1wpJyBcfCAuIDI+L2Rldi9udWxsIHx8CisJZWNobyBYIiRkc3QiIHwKKwkgICAgc2VkICcvXlhcKC4qW14vXVwpXC9cLypbXi9dW14vXSpcLyokL3sKKwkJICAgcy8vXDEvCisJCSAgIHEKKwkJIH0KKwkJIC9eWFwoXC9cL1wpW14vXS4qL3sKKwkJICAgcy8vXDEvCisJCSAgIHEKKwkJIH0KKwkJIC9eWFwoXC9cL1wpJC97CisJCSAgIHMvL1wxLworCQkgICBxCisJCSB9CisJCSAvXlhcKFwvXCkuKi97CisJCSAgIHMvL1wxLworCQkgICBxCisJCSB9CisJCSBzLy4qLy4vOyBxJworICAgICAgYAorCisgICAgICB0ZXN0IC1kICIkZHN0ZGlyIgorICAgICAgZHN0ZGlyX3N0YXR1cz0kPworICAgIGZpCisgIGZpCisKKyAgb2Jzb2xldGVfbWtkaXJfdXNlZD1mYWxzZQorCisgIGlmIHRlc3QgJGRzdGRpcl9zdGF0dXMgIT0gMDsgdGhlbgorICAgIGNhc2UgJHBvc2l4X21rZGlyIGluCisgICAgICAnJykKKwkjIENyZWF0ZSBpbnRlcm1lZGlhdGUgZGlycyB1c2luZyBtb2RlIDc1NSBhcyBtb2RpZmllZCBieSB0aGUgdW1hc2suCisJIyBUaGlzIGlzIGxpa2UgRnJlZUJTRCAnaW5zdGFsbCcgYXMgb2YgMTk5Ny0xMC0yOC4KKwl1bWFzaz1gdW1hc2tgCisJY2FzZSAkc3RyaXBjbWQuJHVtYXNrIGluCisJICAjIE9wdGltaXplIGNvbW1vbiBjYXNlcy4KKwkgICpbMjM2N11bMjM2N10pIG1rZGlyX3VtYXNrPSR1bWFzazs7CisJICAuKjBbMDJdWzAyXSB8IC5bMDJdWzAyXSB8IC5bMDJdKSBta2Rpcl91bWFzaz0yMjs7CisKKwkgICpbMC03XSkKKwkgICAgbWtkaXJfdW1hc2s9YGV4cHIgJHVtYXNrICsgMjIgXAorCSAgICAgIC0gJHVtYXNrICUgMTAwICUgNDAgKyAkdW1hc2sgJSAyMCBcCisJICAgICAgLSAkdW1hc2sgJSAxMCAlIDQgKyAkdW1hc2sgJSAyCisJICAgIGA7OworCSAgKikgbWtkaXJfdW1hc2s9JHVtYXNrLGdvLXc7OworCWVzYWMKKworCSMgV2l0aCAtZCwgY3JlYXRlIHRoZSBuZXcgZGlyZWN0b3J5IHdpdGggdGhlIHVzZXItc3BlY2lmaWVkIG1vZGUuCisJIyBPdGhlcndpc2UsIHJlbHkgb24gJG1rZGlyX3VtYXNrLgorCWlmIHRlc3QgLW4gIiRkaXJfYXJnIjsgdGhlbgorCSAgbWtkaXJfbW9kZT0tbSRtb2RlCisJZWxzZQorCSAgbWtkaXJfbW9kZT0KKwlmaQorCisJcG9zaXhfbWtkaXI9ZmFsc2UKKwljYXNlICR1bWFzayBpbgorCSAgKlsxMjM1NjddWzAtN11bMC03XSkKKwkgICAgIyBQT1NJWCBta2RpciAtcCBzZXRzIHUrd3ggYml0cyByZWdhcmRsZXNzIG9mIHVtYXNrLCB3aGljaAorCSAgICAjIGlzIGluY29tcGF0aWJsZSB3aXRoIEZyZWVCU0QgJ2luc3RhbGwnIHdoZW4gKHVtYXNrICYgMzAwKSAhPSAwLgorCSAgICA7OworCSAgKikKKwkgICAgdG1wZGlyPSR7VE1QRElSLS90bXB9L2lucyRSQU5ET00tJCQKKwkgICAgdHJhcCAncmV0PSQ/OyBybWRpciAiJHRtcGRpci9kIiAiJHRtcGRpciIgMj4vZGV2L251bGw7IGV4aXQgJHJldCcgMAorCisJICAgIGlmICh1bWFzayAkbWtkaXJfdW1hc2sgJiYKKwkJZXhlYyAkbWtkaXJwcm9nICRta2Rpcl9tb2RlIC1wIC0tICIkdG1wZGlyL2QiKSA+L2Rldi9udWxsIDI+JjEKKwkgICAgdGhlbgorCSAgICAgIGlmIHRlc3QgLXogIiRkaXJfYXJnIiB8fCB7CisJCSAgICMgQ2hlY2sgZm9yIFBPU0lYIGluY29tcGF0aWJpbGl0aWVzIHdpdGggLW0uCisJCSAgICMgSFAtVVggMTEuMjMgYW5kIElSSVggNi41IG1rZGlyIC1tIC1wIHNldHMgZ3JvdXAtIG9yCisJCSAgICMgb3RoZXItd3JpdGVhYmxlIGJpdCBvZiBwYXJlbnQgZGlyZWN0b3J5IHdoZW4gaXQgc2hvdWxkbid0LgorCQkgICAjIEZyZWVCU0QgNi4xIG1rZGlyIC1tIC1wIHNldHMgbW9kZSBvZiBleGlzdGluZyBkaXJlY3RvcnkuCisJCSAgIGxzX2xkX3RtcGRpcj1gbHMgLWxkICIkdG1wZGlyImAKKwkJICAgY2FzZSAkbHNfbGRfdG1wZGlyIGluCisJCSAgICAgZD8/Pz8tP3ItKikgZGlmZmVyZW50X21vZGU9NzAwOzsKKwkJICAgICBkPz8/Py0/LS0qKSBkaWZmZXJlbnRfbW9kZT03NTU7OworCQkgICAgICopIGZhbHNlOzsKKwkJICAgZXNhYyAmJgorCQkgICAkbWtkaXJwcm9nIC1tJGRpZmZlcmVudF9tb2RlIC1wIC0tICIkdG1wZGlyIiAmJiB7CisJCSAgICAgbHNfbGRfdG1wZGlyXzE9YGxzIC1sZCAiJHRtcGRpciJgCisJCSAgICAgdGVzdCAiJGxzX2xkX3RtcGRpciIgPSAiJGxzX2xkX3RtcGRpcl8xIgorCQkgICB9CisJCSB9CisJICAgICAgdGhlbiBwb3NpeF9ta2Rpcj06CisJICAgICAgZmkKKwkgICAgICBybWRpciAiJHRtcGRpci9kIiAiJHRtcGRpciIKKwkgICAgZWxzZQorCSAgICAgICMgUmVtb3ZlIGFueSBkaXJzIGxlZnQgYmVoaW5kIGJ5IGFuY2llbnQgbWtkaXIgaW1wbGVtZW50YXRpb25zLgorCSAgICAgIHJtZGlyIC4vJG1rZGlyX21vZGUgLi8tcCAuLy0tIDI+L2Rldi9udWxsCisJICAgIGZpCisJICAgIHRyYXAgJycgMDs7CisJZXNhYzs7CisgICAgZXNhYworCisgICAgaWYKKyAgICAgICRwb3NpeF9ta2RpciAmJiAoCisJdW1hc2sgJG1rZGlyX3VtYXNrICYmCisJJGRvaXRfZXhlYyAkbWtkaXJwcm9nICRta2Rpcl9tb2RlIC1wIC0tICIkZHN0ZGlyIgorICAgICAgKQorICAgIHRoZW4gOgorICAgIGVsc2UKKworICAgICAgIyBUaGUgdW1hc2sgaXMgcmlkaWN1bG91cywgb3IgbWtkaXIgZG9lcyBub3QgY29uZm9ybSB0byBQT1NJWCwKKyAgICAgICMgb3IgaXQgZmFpbGVkIHBvc3NpYmx5IGR1ZSB0byBhIHJhY2UgY29uZGl0aW9uLiAgQ3JlYXRlIHRoZQorICAgICAgIyBkaXJlY3RvcnkgdGhlIHNsb3cgd2F5LCBzdGVwIGJ5IHN0ZXAsIGNoZWNraW5nIGZvciByYWNlcyBhcyB3ZSBnby4KKworICAgICAgY2FzZSAkZHN0ZGlyIGluCisJLyopIHByZWZpeD0nLyc7OworCS0qKSBwcmVmaXg9Jy4vJzs7CisJKikgIHByZWZpeD0nJzs7CisgICAgICBlc2FjCisKKyAgICAgIGV2YWwgIiRpbml0aWFsaXplX3Bvc2l4X2dsb2IiCisKKyAgICAgIG9JRlM9JElGUworICAgICAgSUZTPS8KKyAgICAgICRwb3NpeF9nbG9iIHNldCAtZgorICAgICAgc2V0IGZub3JkICRkc3RkaXIKKyAgICAgIHNoaWZ0CisgICAgICAkcG9zaXhfZ2xvYiBzZXQgK2YKKyAgICAgIElGUz0kb0lGUworCisgICAgICBwcmVmaXhlcz0KKworICAgICAgZm9yIGQKKyAgICAgIGRvCisJdGVzdCAteiAiJGQiICYmIGNvbnRpbnVlCisKKwlwcmVmaXg9JHByZWZpeCRkCisJaWYgdGVzdCAtZCAiJHByZWZpeCI7IHRoZW4KKwkgIHByZWZpeGVzPQorCWVsc2UKKwkgIGlmICRwb3NpeF9ta2RpcjsgdGhlbgorCSAgICAodW1hc2s9JG1rZGlyX3VtYXNrICYmCisJICAgICAkZG9pdF9leGVjICRta2RpcnByb2cgJG1rZGlyX21vZGUgLXAgLS0gIiRkc3RkaXIiKSAmJiBicmVhaworCSAgICAjIERvbid0IGZhaWwgaWYgdHdvIGluc3RhbmNlcyBhcmUgcnVubmluZyBjb25jdXJyZW50bHkuCisJICAgIHRlc3QgLWQgIiRwcmVmaXgiIHx8IGV4aXQgMQorCSAgZWxzZQorCSAgICBjYXNlICRwcmVmaXggaW4KKwkgICAgICAqXCcqKSBxcHJlZml4PWBlY2hvICIkcHJlZml4IiB8IHNlZCAicy8nLydcXFxcXFxcXCcnL2ciYDs7CisJICAgICAgKikgcXByZWZpeD0kcHJlZml4OzsKKwkgICAgZXNhYworCSAgICBwcmVmaXhlcz0iJHByZWZpeGVzICckcXByZWZpeCciCisJICBmaQorCWZpCisJcHJlZml4PSRwcmVmaXgvCisgICAgICBkb25lCisKKyAgICAgIGlmIHRlc3QgLW4gIiRwcmVmaXhlcyI7IHRoZW4KKwkjIERvbid0IGZhaWwgaWYgdHdvIGluc3RhbmNlcyBhcmUgcnVubmluZyBjb25jdXJyZW50bHkuCisJKHVtYXNrICRta2Rpcl91bWFzayAmJgorCSBldmFsICJcJGRvaXRfZXhlYyBcJG1rZGlycHJvZyAkcHJlZml4ZXMiKSB8fAorCSAgdGVzdCAtZCAiJGRzdGRpciIgfHwgZXhpdCAxCisJb2Jzb2xldGVfbWtkaXJfdXNlZD10cnVlCisgICAgICBmaQorICAgIGZpCisgIGZpCisKKyAgaWYgdGVzdCAtbiAiJGRpcl9hcmciOyB0aGVuCisgICAgeyB0ZXN0IC16ICIkY2hvd25jbWQiIHx8ICRkb2l0ICRjaG93bmNtZCAiJGRzdCI7IH0gJiYKKyAgICB7IHRlc3QgLXogIiRjaGdycGNtZCIgfHwgJGRvaXQgJGNoZ3JwY21kICIkZHN0IjsgfSAmJgorICAgIHsgdGVzdCAiJG9ic29sZXRlX21rZGlyX3VzZWQkY2hvd25jbWQkY2hncnBjbWQiID0gZmFsc2UgfHwKKyAgICAgIHRlc3QgLXogIiRjaG1vZGNtZCIgfHwgJGRvaXQgJGNobW9kY21kICRtb2RlICIkZHN0IjsgfSB8fCBleGl0IDEKKyAgZWxzZQorCisgICAgIyBNYWtlIGEgY291cGxlIG9mIHRlbXAgZmlsZSBuYW1lcyBpbiB0aGUgcHJvcGVyIGRpcmVjdG9yeS4KKyAgICBkc3R0bXA9JGRzdGRpci9faW5zdC4kJF8KKyAgICBybXRtcD0kZHN0ZGlyL19ybS4kJF8KKworICAgICMgVHJhcCB0byBjbGVhbiB1cCB0aG9zZSB0ZW1wIGZpbGVzIGF0IGV4aXQuCisgICAgdHJhcCAncmV0PSQ/OyBybSAtZiAiJGRzdHRtcCIgIiRybXRtcCIgJiYgZXhpdCAkcmV0JyAwCisKKyAgICAjIENvcHkgdGhlIGZpbGUgbmFtZSB0byB0aGUgdGVtcCBuYW1lLgorICAgICh1bWFzayAkY3BfdW1hc2sgJiYgJGRvaXRfZXhlYyAkY3Bwcm9nICIkc3JjIiAiJGRzdHRtcCIpICYmCisKKyAgICAjIGFuZCBzZXQgYW55IG9wdGlvbnM7IGRvIGNobW9kIGxhc3QgdG8gcHJlc2VydmUgc2V0dWlkIGJpdHMuCisgICAgIworICAgICMgSWYgYW55IG9mIHRoZXNlIGZhaWwsIHdlIGFib3J0IHRoZSB3aG9sZSB0aGluZy4gIElmIHdlIHdhbnQgdG8KKyAgICAjIGlnbm9yZSBlcnJvcnMgZnJvbSBhbnkgb2YgdGhlc2UsIGp1c3QgbWFrZSBzdXJlIG5vdCB0byBpZ25vcmUKKyAgICAjIGVycm9ycyBmcm9tIHRoZSBhYm92ZSAiJGRvaXQgJGNwcHJvZyAkc3JjICRkc3R0bXAiIGNvbW1hbmQuCisgICAgIworICAgIHsgdGVzdCAteiAiJGNob3duY21kIiB8fCAkZG9pdCAkY2hvd25jbWQgIiRkc3R0bXAiOyB9ICYmCisgICAgeyB0ZXN0IC16ICIkY2hncnBjbWQiIHx8ICRkb2l0ICRjaGdycGNtZCAiJGRzdHRtcCI7IH0gJiYKKyAgICB7IHRlc3QgLXogIiRzdHJpcGNtZCIgfHwgJGRvaXQgJHN0cmlwY21kICIkZHN0dG1wIjsgfSAmJgorICAgIHsgdGVzdCAteiAiJGNobW9kY21kIiB8fCAkZG9pdCAkY2htb2RjbWQgJG1vZGUgIiRkc3R0bXAiOyB9ICYmCisKKyAgICAjIElmIC1DLCBkb24ndCBib3RoZXIgdG8gY29weSBpZiBpdCB3b3VsZG4ndCBjaGFuZ2UgdGhlIGZpbGUuCisgICAgaWYgJGNvcHlfb25fY2hhbmdlICYmCisgICAgICAgb2xkPWBMQ19BTEw9QyBscyAtZGxMICIkZHN0IgkyPi9kZXYvbnVsbGAgJiYKKyAgICAgICBuZXc9YExDX0FMTD1DIGxzIC1kbEwgIiRkc3R0bXAiCTI+L2Rldi9udWxsYCAmJgorCisgICAgICAgZXZhbCAiJGluaXRpYWxpemVfcG9zaXhfZ2xvYiIgJiYKKyAgICAgICAkcG9zaXhfZ2xvYiBzZXQgLWYgJiYKKyAgICAgICBzZXQgWCAkb2xkICYmIG9sZD06JDI6JDQ6JDU6JDYgJiYKKyAgICAgICBzZXQgWCAkbmV3ICYmIG5ldz06JDI6JDQ6JDU6JDYgJiYKKyAgICAgICAkcG9zaXhfZ2xvYiBzZXQgK2YgJiYKKworICAgICAgIHRlc3QgIiRvbGQiID0gIiRuZXciICYmCisgICAgICAgJGNtcHByb2cgIiRkc3QiICIkZHN0dG1wIiA+L2Rldi9udWxsIDI+JjEKKyAgICB0aGVuCisgICAgICBybSAtZiAiJGRzdHRtcCIKKyAgICBlbHNlCisgICAgICAjIFJlbmFtZSB0aGUgZmlsZSB0byB0aGUgcmVhbCBkZXN0aW5hdGlvbi4KKyAgICAgICRkb2l0ICRtdmNtZCAtZiAiJGRzdHRtcCIgIiRkc3QiIDI+L2Rldi9udWxsIHx8CisKKyAgICAgICMgVGhlIHJlbmFtZSBmYWlsZWQsIHBlcmhhcHMgYmVjYXVzZSBtdiBjYW4ndCByZW5hbWUgc29tZXRoaW5nIGVsc2UKKyAgICAgICMgdG8gaXRzZWxmLCBvciBwZXJoYXBzIGJlY2F1c2UgbXYgaXMgc28gYW5jaWVudCB0aGF0IGl0IGRvZXMgbm90CisgICAgICAjIHN1cHBvcnQgLWYuCisgICAgICB7CisJIyBOb3cgcmVtb3ZlIG9yIG1vdmUgYXNpZGUgYW55IG9sZCBmaWxlIGF0IGRlc3RpbmF0aW9uIGxvY2F0aW9uLgorCSMgV2UgdHJ5IHRoaXMgdHdvIHdheXMgc2luY2Ugcm0gY2FuJ3QgdW5saW5rIGl0c2VsZiBvbiBzb21lCisJIyBzeXN0ZW1zIGFuZCB0aGUgZGVzdGluYXRpb24gZmlsZSBtaWdodCBiZSBidXN5IGZvciBvdGhlcgorCSMgcmVhc29ucy4gIEluIHRoaXMgY2FzZSwgdGhlIGZpbmFsIGNsZWFudXAgbWlnaHQgZmFpbCBidXQgdGhlIG5ldworCSMgZmlsZSBzaG91bGQgc3RpbGwgaW5zdGFsbCBzdWNjZXNzZnVsbHkuCisJeworCSAgdGVzdCAhIC1mICIkZHN0IiB8fAorCSAgJGRvaXQgJHJtY21kIC1mICIkZHN0IiAyPi9kZXYvbnVsbCB8fAorCSAgeyAkZG9pdCAkbXZjbWQgLWYgIiRkc3QiICIkcm10bXAiIDI+L2Rldi9udWxsICYmCisJICAgIHsgJGRvaXQgJHJtY21kIC1mICIkcm10bXAiIDI+L2Rldi9udWxsOyA6OyB9CisJICB9IHx8CisJICB7IGVjaG8gIiQwOiBjYW5ub3QgdW5saW5rIG9yIHJlbmFtZSAkZHN0IiA+JjIKKwkgICAgKGV4aXQgMSk7IGV4aXQgMQorCSAgfQorCX0gJiYKKworCSMgTm93IHJlbmFtZSB0aGUgZmlsZSB0byB0aGUgcmVhbCBkZXN0aW5hdGlvbi4KKwkkZG9pdCAkbXZjbWQgIiRkc3R0bXAiICIkZHN0IgorICAgICAgfQorICAgIGZpIHx8IGV4aXQgMQorCisgICAgdHJhcCAnJyAwCisgIGZpCitkb25lCisKKyMgTG9jYWwgdmFyaWFibGVzOgorIyBldmFsOiAoYWRkLWhvb2sgJ3dyaXRlLWZpbGUtaG9va3MgJ3RpbWUtc3RhbXApCisjIHRpbWUtc3RhbXAtc3RhcnQ6ICJzY3JpcHR2ZXJzaW9uPSIKKyMgdGltZS1zdGFtcC1mb3JtYXQ6ICIlOnktJTAybS0lMDJkLiUwMkgiCisjIHRpbWUtc3RhbXAtdGltZS16b25lOiAiVVRDIgorIyB0aW1lLXN0YW1wLWVuZDogIjsgIyBVVEMiCisjIEVuZDoKZGlmZiAtLWdpdCBhL3N0cmFjZS00LjUuMjAvaW8uYyBiL3N0cmFjZS00LjUuMjAvaW8uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZDI5NzBjCi0tLSAvZGV2L251bGwKKysrIGIvc3RyYWNlLTQuNS4yMC9pby5jCkBAIC0wLDAgKzEsNDA1IEBACisvKgorICogQ29weXJpZ2h0IChjKSAxOTkxLCAxOTkyIFBhdWwgS3JhbmVuYnVyZyA8cGtAY3MuZmV3LmV1ci5ubD4KKyAqIENvcHlyaWdodCAoYykgMTk5MyBCcmFua28gTGFua2VzdGVyIDxicmFua29AaGFja3RpYy5ubD4KKyAqIENvcHlyaWdodCAoYykgMTk5MywgMTk5NCwgMTk5NSwgMTk5NiBSaWNrIFNsYWRrZXkgPGpyc0B3b3JsZC5zdGQuY29tPgorICogQ29weXJpZ2h0IChjKSAxOTk2LTE5OTkgV2ljaGVydCBBa2tlcm1hbiA8d2ljaGVydEBjaXN0cm9uLm5sPgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIFRoZSBuYW1lIG9mIHRoZSBhdXRob3IgbWF5IG5vdCBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cworICogICAgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQVVUSE9SIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1MgT1IKKyAqIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMKKyAqIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuCisgKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCisgKiBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQKKyAqIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICoKKyAqCSRJZCQKKyAqLworCisjaW5jbHVkZSAiZGVmcy5oIgorCisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpZiBIQVZFX1NZU19VSU9fSAorI2luY2x1ZGUgPHN5cy91aW8uaD4KKyNlbmRpZgorCisjaWZkZWYgSEFWRV9MT05HX0xPTkdfT0ZGX1QKKy8qCisgKiBIYWNrcyBmb3Igc3lzdGVtcyB0aGF0IGhhdmUgYSBsb25nIGxvbmcgb2ZmX3QKKyAqLworCisjZGVmaW5lIHN5c19wcmVhZDY0CXN5c19wcmVhZAorI2RlZmluZSBzeXNfcHdyaXRlNjQJc3lzX3B3cml0ZQorI2VuZGlmCisKK2ludAorc3lzX3JlYWQodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXRwcmludGYoIiVsZCwgIiwgdGNwLT51X2FyZ1swXSk7CisJfSBlbHNlIHsKKwkJaWYgKHN5c2Vycm9yKHRjcCkpCisJCQl0cHJpbnRmKCIlI2x4IiwgdGNwLT51X2FyZ1sxXSk7CisJCWVsc2UKKwkJCXByaW50c3RyKHRjcCwgdGNwLT51X2FyZ1sxXSwgdGNwLT51X3J2YWwpOworCQl0cHJpbnRmKCIsICVsdSIsIHRjcC0+dV9hcmdbMl0pOworCX0KKwlyZXR1cm4gMDsKK30KKworaW50CitzeXNfd3JpdGUodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXRwcmludGYoIiVsZCwgIiwgdGNwLT51X2FyZ1swXSk7CisJCXByaW50c3RyKHRjcCwgdGNwLT51X2FyZ1sxXSwgdGNwLT51X2FyZ1syXSk7CisJCXRwcmludGYoIiwgJWx1IiwgdGNwLT51X2FyZ1syXSk7CisJfQorCXJldHVybiAwOworfQorCisjaWYgSEFWRV9TWVNfVUlPX0gKK3ZvaWQKK3RwcmludF9pb3YodGNwLCBsZW4sIGFkZHIpCitzdHJ1Y3QgdGNiICogdGNwOwordW5zaWduZWQgbG9uZyBsZW47Cit1bnNpZ25lZCBsb25nIGFkZHI7Cit7CisjaWYgZGVmaW5lZChMSU5VWCkgJiYgU1VQUE9SVEVEX1BFUlNPTkFMSVRJRVMgPiAxCisJdW5pb24geworCQlzdHJ1Y3QgeyB1X2ludDMyX3QgYmFzZTsgdV9pbnQzMl90IGxlbjsgfSBpb3YzMjsKKwkJc3RydWN0IHsgdV9pbnQ2NF90IGJhc2U7IHVfaW50NjRfdCBsZW47IH0gaW92NjQ7CisJfSBpb3Y7CisjZGVmaW5lIHNpemVvZl9pb3YgXAorICAocGVyc29uYWxpdHlfd29yZHNpemVbY3VycmVudF9wZXJzb25hbGl0eV0gPT0gNCBcCisgICA/IHNpemVvZihpb3YuaW92MzIpIDogc2l6ZW9mKGlvdi5pb3Y2NCkpCisjZGVmaW5lIGlvdl9pb3ZfYmFzZSBcCisgIChwZXJzb25hbGl0eV93b3Jkc2l6ZVtjdXJyZW50X3BlcnNvbmFsaXR5XSA9PSA0IFwKKyAgID8gKHVfaW50NjRfdCkgaW92LmlvdjMyLmJhc2UgOiBpb3YuaW92NjQuYmFzZSkKKyNkZWZpbmUgaW92X2lvdl9sZW4gXAorICAocGVyc29uYWxpdHlfd29yZHNpemVbY3VycmVudF9wZXJzb25hbGl0eV0gPT0gNCBcCisgICA/ICh1X2ludDY0X3QpIGlvdi5pb3YzMi5sZW4gOiBpb3YuaW92NjQubGVuKQorI2Vsc2UKKwlzdHJ1Y3QgaW92ZWMgaW92OworI2RlZmluZSBzaXplb2ZfaW92IHNpemVvZihpb3YpCisjZGVmaW5lIGlvdl9pb3ZfYmFzZSBpb3YuaW92X2Jhc2UKKyNkZWZpbmUgaW92X2lvdl9sZW4gaW92Lmlvdl9sZW4KKyNlbmRpZgorCXVuc2lnbmVkIGxvbmcgc2l6ZSwgY3VyLCBlbmQsIGFiYnJldl9lbmQ7CisJaW50IGZhaWxlZCA9IDA7CisKKwlpZiAoIWxlbikgeworCQl0cHJpbnRmKCJbXSIpOworCQlyZXR1cm47CisJfQorCXNpemUgPSBsZW4gKiBzaXplb2ZfaW92OworCWVuZCA9IGFkZHIgKyBzaXplOworCWlmICghdmVyYm9zZSh0Y3ApIHx8IHNpemUgLyBzaXplb2ZfaW92ICE9IGxlbiB8fCBlbmQgPCBhZGRyKSB7CisJCXRwcmludGYoIiUjbHgiLCBhZGRyKTsKKwkJcmV0dXJuOworCX0KKwlpZiAoYWJicmV2KHRjcCkpIHsKKwkJYWJicmV2X2VuZCA9IGFkZHIgKyBtYXhfc3RybGVuICogc2l6ZW9mX2lvdjsKKwkJaWYgKGFiYnJldl9lbmQgPCBhZGRyKQorCQkJYWJicmV2X2VuZCA9IGVuZDsKKwl9IGVsc2UgeworCQlhYmJyZXZfZW5kID0gZW5kOworCX0KKwl0cHJpbnRmKCJbIik7CisJZm9yIChjdXIgPSBhZGRyOyBjdXIgPCBlbmQ7IGN1ciArPSBzaXplb2ZfaW92KSB7CisJCWlmIChjdXIgPiBhZGRyKQorCQkJdHByaW50ZigiLCAiKTsKKwkJaWYgKGN1ciA+PSBhYmJyZXZfZW5kKSB7CisJCQl0cHJpbnRmKCIuLi4iKTsKKwkJCWJyZWFrOworCQl9CisJCWlmICh1bW92ZW4odGNwLCBjdXIsIHNpemVvZl9pb3YsIChjaGFyICopICZpb3YpIDwgMCkgeworCQkJdHByaW50ZigiPyIpOworCQkJZmFpbGVkID0gMTsKKwkJCWJyZWFrOworCQl9CisJCXRwcmludGYoInsiKTsKKwkJcHJpbnRzdHIodGNwLCAobG9uZykgaW92X2lvdl9iYXNlLCBpb3ZfaW92X2xlbik7CisJCXRwcmludGYoIiwgJWx1fSIsICh1bnNpZ25lZCBsb25nKWlvdl9pb3ZfbGVuKTsKKwl9CisJdHByaW50ZigiXSIpOworCWlmIChmYWlsZWQpCisJCXRwcmludGYoIiAlI2x4IiwgYWRkcik7CisjdW5kZWYgc2l6ZW9mX2lvdgorI3VuZGVmIGlvdl9pb3ZfYmFzZQorI3VuZGVmIGlvdl9pb3ZfbGVuCit9CisKK2ludAorc3lzX3JlYWR2KHRjcCkKK3N0cnVjdCB0Y2IgKnRjcDsKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQl0cHJpbnRmKCIlbGQsICIsIHRjcC0+dV9hcmdbMF0pOworCX0gZWxzZSB7CisJCWlmIChzeXNlcnJvcih0Y3ApKSB7CisJCQl0cHJpbnRmKCIlI2x4LCAlbHUiLAorCQkJCQl0Y3AtPnVfYXJnWzFdLCB0Y3AtPnVfYXJnWzJdKTsKKwkJCXJldHVybiAwOworCQl9CisJCXRwcmludF9pb3YodGNwLCB0Y3AtPnVfYXJnWzJdLCB0Y3AtPnVfYXJnWzFdKTsKKwkJdHByaW50ZigiLCAlbHUiLCB0Y3AtPnVfYXJnWzJdKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK2ludAorc3lzX3dyaXRldih0Y3ApCitzdHJ1Y3QgdGNiICp0Y3A7Cit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJdHByaW50ZigiJWxkLCAiLCB0Y3AtPnVfYXJnWzBdKTsKKwkJdHByaW50X2lvdih0Y3AsIHRjcC0+dV9hcmdbMl0sIHRjcC0+dV9hcmdbMV0pOworCQl0cHJpbnRmKCIsICVsdSIsIHRjcC0+dV9hcmdbMl0pOworCX0KKwlyZXR1cm4gMDsKK30KKyNlbmRpZgorCisjaWYgZGVmaW5lZChTVlI0KQorCitpbnQKK3N5c19wcmVhZCh0Y3ApCitzdHJ1Y3QgdGNiICp0Y3A7Cit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJdHByaW50ZigiJWxkLCAiLCB0Y3AtPnVfYXJnWzBdKTsKKwl9IGVsc2UgeworCQlpZiAoc3lzZXJyb3IodGNwKSkKKwkJCXRwcmludGYoIiUjbHgiLCB0Y3AtPnVfYXJnWzFdKTsKKwkJZWxzZQorCQkJcHJpbnRzdHIodGNwLCB0Y3AtPnVfYXJnWzFdLCB0Y3AtPnVfcnZhbCk7CisjaWYgVU5JWFdBUkUKKwkJLyogb2ZmX3QgaXMgc2lnbmVkIGludCAqLworCQl0cHJpbnRmKCIsICVsdSwgJWxkIiwgdGNwLT51X2FyZ1syXSwgdGNwLT51X2FyZ1szXSk7CisjZWxzZQorCQl0cHJpbnRmKCIsICVsdSwgJWxsdSIsIHRjcC0+dV9hcmdbMl0sCisJCQlMT05HX0xPTkcodGNwLT51X2FyZ1szXSwgdGNwLT51X2FyZ1s0XSkpOworI2VuZGlmCisJfQorCXJldHVybiAwOworfQorCitpbnQKK3N5c19wd3JpdGUodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXRwcmludGYoIiVsZCwgIiwgdGNwLT51X2FyZ1swXSk7CisJCXByaW50c3RyKHRjcCwgdGNwLT51X2FyZ1sxXSwgdGNwLT51X2FyZ1syXSk7CisjaWYgVU5JWFdBUkUKKwkJLyogb2ZmX3QgaXMgc2lnbmVkIGludCAqLworCQl0cHJpbnRmKCIsICVsdSwgJWxkIiwgdGNwLT51X2FyZ1syXSwgdGNwLT51X2FyZ1szXSk7CisjZWxzZQorCQl0cHJpbnRmKCIsICVsdSwgJWxsdSIsIHRjcC0+dV9hcmdbMl0sCisJCQlMT05HX0xPTkcodGNwLT51X2FyZ1szXSwgdGNwLT51X2FyZ1s0XSkpOworI2VuZGlmCisJfQorCXJldHVybiAwOworfQorI2VuZGlmIC8qIFNWUjQgKi8KKworI2lmZGVmIEZSRUVCU0QKKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CisKK2ludAorc3lzX3NlbmRmaWxlKHRjcCkKK3N0cnVjdCB0Y2IgKnRjcDsKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQl0cHJpbnRmKCIlbGQsICVsZCwgJWxsdSwgJWx1IiwgdGNwLT51X2FyZ1swXSwgdGNwLT51X2FyZ1sxXSwKKwkJCUxPTkdfTE9ORyh0Y3AtPnVfYXJnWzJdLCB0Y3AtPnVfYXJnWzNdKSwKKwkJCXRjcC0+dV9hcmdbNF0pOworCX0gZWxzZSB7CisJCW9mZl90IG9mZnNldDsKKworCQlpZiAoIXRjcC0+dV9hcmdbNV0pCisJCQl0cHJpbnRmKCIsIE5VTEwiKTsKKwkJZWxzZSB7CisJCQlzdHJ1Y3Qgc2ZfaGR0ciBoZHRyOworCisJCQlpZiAodW1vdmUodGNwLCB0Y3AtPnVfYXJnWzVdLCAmaGR0cikgPCAwKQorCQkJCXRwcmludGYoIiwgJSNseCIsIHRjcC0+dV9hcmdbNV0pOworCQkJZWxzZSB7CisJCQkJdHByaW50ZigiLCB7ICIpOworCQkJCXRwcmludF9pb3YodGNwLCBoZHRyLmhkcl9jbnQsIGhkdHIuaGVhZGVycyk7CisJCQkJdHByaW50ZigiLCAldSwgIiwgaGR0ci5oZHJfY250KTsKKwkJCQl0cHJpbnRfaW92KHRjcCwgaGR0ci50cmxfY250LCBoZHRyLnRyYWlsZXJzKTsKKwkJCQl0cHJpbnRmKCIsICV1IH0iLCBoZHRyLmhkcl9jbnQpOworCQkJfQorCQl9CisJCWlmICghdGNwLT51X2FyZ1s2XSkKKwkJCXRwcmludGYoIiwgTlVMTCIpOworCQllbHNlIGlmICh1bW92ZSh0Y3AsIHRjcC0+dV9hcmdbNl0sICZvZmZzZXQpIDwgMCkKKwkJCXRwcmludGYoIiwgJSNseCIsIHRjcC0+dV9hcmdbNl0pOworCQllbHNlCisJCQl0cHJpbnRmKCIsIFslbGx1XSIsIG9mZnNldCk7CisJCXRwcmludGYoIiwgJWx1IiwgdGNwLT51X2FyZ1s3XSk7CisJfQorCXJldHVybiAwOworfQorI2VuZGlmIC8qIEZSRUVCU0QgKi8KKworI2lmZGVmIExJTlVYCisKKy8qIFRoZSBTSDQgQUJJIGRvZXMgYWxsb3cgbG9uZyBsb25ncyBpbiBvZGQtbnVtYmVyZWQgcmVnaXN0ZXJzLCBidXQKKyAgIGRvZXMgbm90IGFsbG93IHRoZW0gdG8gYmUgc3BsaXQgYmV0d2VlbiByZWdpc3RlcnMgYW5kIG1lbW9yeSAtIGFuZAorICAgdGhlcmUgYXJlIG9ubHkgZm91ciBhcmd1bWVudCByZWdpc3RlcnMgZm9yIG5vcm1hbCBmdW5jdGlvbnMuICBBcyBhCisgICByZXN1bHQgcHJlYWQgdGFrZXMgYW4gZXh0cmEgcGFkZGluZyBhcmd1bWVudCBiZWZvcmUgdGhlIG9mZnNldC4gIFRoaXMKKyAgIHdhcyBjaGFuZ2VkIGxhdGUgaW4gdGhlIDIuNCBzZXJpZXMgKGFyb3VuZCAyLjQuMjApLiAgKi8KKyNpZiBkZWZpbmVkKFNIKQorI2RlZmluZSBQUkVBRF9PRkZTRVRfQVJHIDQKKyNlbHNlCisjZGVmaW5lIFBSRUFEX09GRlNFVF9BUkcgMworI2VuZGlmCisKK2ludAorc3lzX3ByZWFkKHRjcCkKK3N0cnVjdCB0Y2IgKnRjcDsKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQl0cHJpbnRmKCIlbGQsICIsIHRjcC0+dV9hcmdbMF0pOworCX0gZWxzZSB7CisJCWlmIChzeXNlcnJvcih0Y3ApKQorCQkJdHByaW50ZigiJSNseCIsIHRjcC0+dV9hcmdbMV0pOworCQllbHNlCisJCQlwcmludHN0cih0Y3AsIHRjcC0+dV9hcmdbMV0sIHRjcC0+dV9ydmFsKTsKKwkJdHByaW50ZigiLCAlbHUsICIsIHRjcC0+dV9hcmdbMl0pOworCQlwcmludGxsdmFsKHRjcCwgIiVsbHUiLCBQUkVBRF9PRkZTRVRfQVJHKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK2ludAorc3lzX3B3cml0ZSh0Y3ApCitzdHJ1Y3QgdGNiICp0Y3A7Cit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJdHByaW50ZigiJWxkLCAiLCB0Y3AtPnVfYXJnWzBdKTsKKwkJcHJpbnRzdHIodGNwLCB0Y3AtPnVfYXJnWzFdLCB0Y3AtPnVfYXJnWzJdKTsKKwkJdHByaW50ZigiLCAlbHUsICIsIHRjcC0+dV9hcmdbMl0pOworCQlwcmludGxsdmFsKHRjcCwgIiVsbHUiLCBQUkVBRF9PRkZTRVRfQVJHKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK2ludAorc3lzX3NlbmRmaWxlKHRjcCkKK3N0cnVjdCB0Y2IgKnRjcDsKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQlvZmZfdCBvZmZzZXQ7CisKKwkJdHByaW50ZigiJWxkLCAlbGQsICIsIHRjcC0+dV9hcmdbMF0sIHRjcC0+dV9hcmdbMV0pOworCQlpZiAoIXRjcC0+dV9hcmdbMl0pCisJCQl0cHJpbnRmKCJOVUxMIik7CisJCWVsc2UgaWYgKHVtb3ZlKHRjcCwgdGNwLT51X2FyZ1syXSwgJm9mZnNldCkgPCAwKQorCQkJdHByaW50ZigiJSNseCIsIHRjcC0+dV9hcmdbMl0pOworCQllbHNlCisJCQl0cHJpbnRmKCJbJWx1XSIsIG9mZnNldCk7CisJCXRwcmludGYoIiwgJWx1IiwgdGNwLT51X2FyZ1szXSk7CisJfQorCXJldHVybiAwOworfQorCitpbnQKK3N5c19zZW5kZmlsZTY0KHRjcCkKK3N0cnVjdCB0Y2IgKnRjcDsKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQlsb2ZmX3Qgb2Zmc2V0OworCisJCXRwcmludGYoIiVsZCwgJWxkLCAiLCB0Y3AtPnVfYXJnWzBdLCB0Y3AtPnVfYXJnWzFdKTsKKwkJaWYgKCF0Y3AtPnVfYXJnWzJdKQorCQkJdHByaW50ZigiTlVMTCIpOworCQllbHNlIGlmICh1bW92ZSh0Y3AsIHRjcC0+dV9hcmdbMl0sICZvZmZzZXQpIDwgMCkKKwkJCXRwcmludGYoIiUjbHgiLCB0Y3AtPnVfYXJnWzJdKTsKKwkJZWxzZQorCQkJdHByaW50ZigiWyVsbHVdIiwgKHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQpIG9mZnNldCk7CisJCXRwcmludGYoIiwgJWx1IiwgdGNwLT51X2FyZ1szXSk7CisJfQorCXJldHVybiAwOworfQorCisjZW5kaWYgLyogTElOVVggKi8KKworI2lmIF9MRlM2NF9MQVJHRUZJTEUgfHwgSEFWRV9MT05HX0xPTkdfT0ZGX1QKK2ludAorc3lzX3ByZWFkNjQodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXRwcmludGYoIiVsZCwgIiwgdGNwLT51X2FyZ1swXSk7CisJfSBlbHNlIHsKKwkJaWYgKHN5c2Vycm9yKHRjcCkpCisJCQl0cHJpbnRmKCIlI2x4IiwgdGNwLT51X2FyZ1sxXSk7CisJCWVsc2UKKwkJCXByaW50c3RyKHRjcCwgdGNwLT51X2FyZ1sxXSwgdGNwLT51X3J2YWwpOworCQl0cHJpbnRmKCIsICVsdSwgIiwgdGNwLT51X2FyZ1syXSk7CisJCXByaW50bGx2YWwodGNwLCAiJSNsbHgiLCAzKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK2ludAorc3lzX3B3cml0ZTY0KHRjcCkKK3N0cnVjdCB0Y2IgKnRjcDsKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQl0cHJpbnRmKCIlbGQsICIsIHRjcC0+dV9hcmdbMF0pOworCQlwcmludHN0cih0Y3AsIHRjcC0+dV9hcmdbMV0sIHRjcC0+dV9hcmdbMl0pOworCQl0cHJpbnRmKCIsICVsdSwgIiwgdGNwLT51X2FyZ1syXSk7CisJCXByaW50bGx2YWwodGNwLCAiJSNsbHgiLCAzKTsKKwl9CisJcmV0dXJuIDA7Cit9CisjZW5kaWYKKworaW50CitzeXNfaW9jdGwodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCWNvbnN0IHN0cnVjdCBpb2N0bGVudCAqaW9wOworCisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJdHByaW50ZigiJWxkLCAiLCB0Y3AtPnVfYXJnWzBdKTsKKwkJaW9wID0gaW9jdGxfbG9va3VwKHRjcC0+dV9hcmdbMV0pOworCQlpZiAoaW9wKSB7CisJCQl0cHJpbnRmKCIlcyIsIGlvcC0+c3ltYm9sKTsKKwkJCXdoaWxlICgoaW9wID0gaW9jdGxfbmV4dF9tYXRjaChpb3ApKSkKKwkJCQl0cHJpbnRmKCIgb3IgJXMiLCBpb3AtPnN5bWJvbCk7CisJCX0gZWxzZQorCQkJdHByaW50ZigiJSNseCIsIHRjcC0+dV9hcmdbMV0pOworCQlpb2N0bF9kZWNvZGUodGNwLCB0Y3AtPnVfYXJnWzFdLCB0Y3AtPnVfYXJnWzJdKTsKKwl9CisJZWxzZSB7CisJCWludCByZXQ7CisJCWlmICghKHJldCA9IGlvY3RsX2RlY29kZSh0Y3AsIHRjcC0+dV9hcmdbMV0sIHRjcC0+dV9hcmdbMl0pKSkKKwkJCXRwcmludGYoIiwgJSNseCIsIHRjcC0+dV9hcmdbMl0pOworCQllbHNlCisJCQlyZXR1cm4gcmV0IC0gMTsKKwl9CisJcmV0dXJuIDA7Cit9CmRpZmYgLS1naXQgYS9zdHJhY2UtNC41LjIwL2lvY3RsLmMgYi9zdHJhY2UtNC41LjIwL2lvY3RsLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTA2YzcxZQotLS0gL2Rldi9udWxsCisrKyBiL3N0cmFjZS00LjUuMjAvaW9jdGwuYwpAQCAtMCwwICsxLDIxMCBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMTk5MSwgMTk5MiBQYXVsIEtyYW5lbmJ1cmcgPHBrQGNzLmZldy5ldXIubmw+CisgKiBDb3B5cmlnaHQgKGMpIDE5OTMgQnJhbmtvIExhbmtlc3RlciA8YnJhbmtvQGhhY2t0aWMubmw+CisgKiBDb3B5cmlnaHQgKGMpIDE5OTMsIDE5OTQsIDE5OTUsIDE5OTYgUmljayBTbGFka2V5IDxqcnNAd29ybGQuc3RkLmNvbT4KKyAqIENvcHlyaWdodCAoYykgMTk5Ni0yMDAxIFdpY2hlcnQgQWtrZXJtYW4gPHdpY2hlcnRAY2lzdHJvbi5ubD4KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBUaGUgbmFtZSBvZiB0aGUgYXV0aG9yIG1heSBub3QgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMKKyAqICAgIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIEFVVEhPUiBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCisgKiBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELgorICogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAorICogSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUCisgKiBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqCisgKgkkSWQkCisgKi8KKworI2luY2x1ZGUgImRlZnMuaCIKKworY29uc3Qgc3RydWN0IGlvY3RsZW50IGlvY3RsZW50MFtdID0geworLyoKKyAqIGBpb2N0bGVudC5oJyBtYXkgYmUgZ2VuZXJhdGVkIGZyb20gYGlvY3RsZW50LnJhdycgYnkgdGhlIGF1eGlsaWFyeQorICogcHJvZ3JhbSBgaW9jdGxzb3J0Jywgc3VjaCB0aGF0IHRoZSBsaXN0IGlzIHNvcnRlZCBieSB0aGUgYGNvZGUnIGZpZWxkLgorICogVGhpcyBoYXMgdGhlIHNpZGUtZWZmZWN0IG9mIHJlc29sdmluZyB0aGUgX0lPLi4gbWFjcm9zIGludG8KKyAqIHBsYWluIGludGVnZXJzLCBlbGltaW5hdGluZyB0aGUgbmVlZCB0byBpbmNsdWRlIGhlcmUgZXZlcnl0aGluZworICogaW4gIi91c3IvaW5jbHVkZSIgLgorICovCisjaW5jbHVkZSAiaW9jdGxlbnQuaCIKK307CisKKyNpZmRlZiBMSU5VWAorI2luY2x1ZGUgPGFzbS9pb2N0bC5oPgorI2VuZGlmCisKK2NvbnN0IGludCBuaW9jdGxlbnRzMCA9IHNpemVvZiBpb2N0bGVudDAgLyBzaXplb2YgaW9jdGxlbnQwWzBdOworCisjaWYgU1VQUE9SVEVEX1BFUlNPTkFMSVRJRVMgPj0gMgorY29uc3Qgc3RydWN0IGlvY3RsZW50IGlvY3RsZW50MVtdID0geworI2luY2x1ZGUgImlvY3RsZW50MS5oIgorfTsKKworY29uc3QgaW50IG5pb2N0bGVudHMxID0gc2l6ZW9mIGlvY3RsZW50MSAvIHNpemVvZiBpb2N0bGVudDFbMF07CisjZW5kaWYgLyogU1VQUE9SVEVEX1BFUlNPTkFMSVRJRVMgPj0gMiAqLworCisjaWYgU1VQUE9SVEVEX1BFUlNPTkFMSVRJRVMgPj0gMworY29uc3Qgc3RydWN0IGlvY3RsZW50IGlvY3RsZW50MltdID0geworI2luY2x1ZGUgImlvY3RsZW50Mi5oIgorfTsKKworY29uc3QgaW50IG5pb2N0bGVudHMyID0gc2l6ZW9mIGlvY3RsZW50MiAvIHNpemVvZiBpb2N0bGVudDJbMF07CisjZW5kaWYgLyogU1VQUE9SVEVEX1BFUlNPTkFMSVRJRVMgPj0gMyAqLworCitjb25zdCBzdHJ1Y3QgaW9jdGxlbnQgKmlvY3RsZW50OworaW50IG5pb2N0bGVudHM7CisKK3N0YXRpYyBpbnQKK2NvbXBhcmUoYSwgYikKK2NvbnN0IHZvaWQgKmE7Citjb25zdCB2b2lkICpiOworeworCXVuc2lnbmVkIGxvbmcgY29kZTEgPSAoKHN0cnVjdCBpb2N0bGVudCAqKSBhKS0+Y29kZTsKKwl1bnNpZ25lZCBsb25nIGNvZGUyID0gKChzdHJ1Y3QgaW9jdGxlbnQgKikgYiktPmNvZGU7CisJcmV0dXJuIChjb2RlMSA+IGNvZGUyKSA/IDEgOiAoY29kZTEgPCBjb2RlMikgPyAtMSA6IDA7Cit9CisKK2NvbnN0IHN0cnVjdCBpb2N0bGVudCAqCitpb2N0bF9sb29rdXAoY29kZSkKK2xvbmcgY29kZTsKK3sKKwlzdHJ1Y3QgaW9jdGxlbnQgKmlvcCwgaW9lbnQ7CisKKwlpb2VudC5jb2RlID0gY29kZTsKKyNpZmRlZiBMSU5VWAorCWlvZW50LmNvZGUgJj0gKF9JT0NfTlJNQVNLPDxfSU9DX05SU0hJRlQpIHwgKF9JT0NfVFlQRU1BU0s8PF9JT0NfVFlQRVNISUZUKTsKKyNlbmRpZgorCWlvcCA9IChzdHJ1Y3QgaW9jdGxlbnQgKikgYnNlYXJjaCgoY2hhciAqKSAmaW9lbnQsIChjaGFyICopIGlvY3RsZW50LAorCQkJbmlvY3RsZW50cywgc2l6ZW9mKHN0cnVjdCBpb2N0bGVudCksIGNvbXBhcmUpOworCXdoaWxlIChpb3AgPiBpb2N0bGVudCkKKwkJaWYgKCgtLWlvcCktPmNvZGUgIT0gaW9lbnQuY29kZSkgeworCQkJaW9wKys7CisJCQlicmVhazsKKwkJfQorCXJldHVybiBpb3A7Cit9CisKK2NvbnN0IHN0cnVjdCBpb2N0bGVudCAqCitpb2N0bF9uZXh0X21hdGNoKGlvcCkKK2NvbnN0IHN0cnVjdCBpb2N0bGVudCAqaW9wOworeworCWxvbmcgY29kZTsKKworCWNvZGUgPSAoaW9wKyspLT5jb2RlOworCWlmIChpb3AgPCBpb2N0bGVudCArIG5pb2N0bGVudHMgJiYgaW9wLT5jb2RlID09IGNvZGUpCisJCXJldHVybiBpb3A7CisJcmV0dXJuIE5VTEw7Cit9CisKK2ludAoraW9jdGxfZGVjb2RlKHRjcCwgY29kZSwgYXJnKQorc3RydWN0IHRjYiAqdGNwOworbG9uZyBjb2RlLCBhcmc7Cit7CisJc3dpdGNoICgoY29kZSA+PiA4KSAmIDB4ZmYpIHsKKyNpZmRlZiBMSU5VWAorI2lmIGRlZmluZWQoQUxQSEEpIHx8IGRlZmluZWQoUE9XRVJQQykKKwljYXNlICdmJzogY2FzZSAndCc6IGNhc2UgJ1QnOgorI2Vsc2UgLyogIUFMUEhBICovCisJY2FzZSAweDU0OgorI2VuZGlmIC8qICFBTFBIQSAqLworI2Vsc2UgLyogIUxJTlVYICovCisJY2FzZSAnZic6IGNhc2UgJ3QnOiBjYXNlICdUJzoKKyNlbmRpZiAvKiAhTElOVVggKi8KKwkJcmV0dXJuIHRlcm1faW9jdGwodGNwLCBjb2RlLCBhcmcpOworI2lmZGVmIExJTlVYCisJY2FzZSAweDg5OgorI2Vsc2UgLyogIUxJTlVYICovCisJY2FzZSAncic6IGNhc2UgJ3MnOiBjYXNlICdpJzoKKyNpZm5kZWYgRlJFRUJTRAorCWNhc2UgJ3AnOgorI2VuZGlmCisjZW5kaWYgLyogIUxJTlVYICovCisJCXJldHVybiBzb2NrX2lvY3RsKHRjcCwgY29kZSwgYXJnKTsKKyNpZmRlZiBVU0VfUFJPQ0ZTCisjaWZuZGVmIEhBVkVfTVBfUFJPQ0ZTCisjaWZuZGVmIEZSRUVCU0QKKwljYXNlICdxJzoKKyNlbHNlCisJY2FzZSAncCc6CisjZW5kaWYKKwkJcmV0dXJuIHByb2NfaW9jdGwodGNwLCBjb2RlLCBhcmcpOworI2VuZGlmCisjZW5kaWYgLyogVVNFX1BST0NGUyAqLworI2lmZGVmIEhBVkVfU1lTX1NUUkVBTV9ICisJY2FzZSAnUyc6CisJCXJldHVybiBzdHJlYW1faW9jdGwodGNwLCBjb2RlLCBhcmcpOworI2VuZGlmIC8qIEhBVkVfU1lTX1NUUkVBTV9IICovCisjaWZkZWYgTElOVVgKKwljYXNlICdwJzoKKwkJcmV0dXJuIHJ0Y19pb2N0bCh0Y3AsIGNvZGUsIGFyZyk7CisJY2FzZSAweDIyOgorCQlyZXR1cm4gc2NzaV9pb2N0bCh0Y3AsIGNvZGUsIGFyZyk7CisjZW5kaWYKKwlkZWZhdWx0OgorCQlicmVhazsKKwl9CisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBSZWdpc3RyeSBvZiBpb2N0bCBjaGFyYWN0ZXJzLCBjdWxsZWQgZnJvbQorICoJQCgjKWlvY2NvbS5oIDEuNyA4OS8wNi8xNiBTTUk7IGZyb20gVUNCIGlvY3RsLmggNy4xIDYvNC84NgorICoKKyAqIGNoYXIJZmlsZSB3aGVyZSBkZWZpbmVkCQlub3RlcworICogLS0tLQktLS0tLS0tLS0tLS0tLS0tLS0JCS0tLS0tCisgKiAgIEYJc3VuL2ZiaW8uaAorICogICBHCXN1bi9ncGlvLmgKKyAqICAgSAl2YXhpZi9pZl9oeS5oCisgKiAgIE0Jc3VuZGV2L21jcGNtZC5oCQkJKm92ZXJsYXAqCisgKiAgIE0Jc3lzL21vZGVtLmgJCQkqb3ZlcmxhcCoKKyAqICAgUwlzeXMvc3Ryb3B0cy5oCisgKiAgIFQJc3lzL3Rlcm1pby5oCQkJLW5vIG92ZXJsYXAtCisgKiAgIFQJc3lzL3Rlcm1pb3MuaAkJCS1ubyBvdmVybGFwLQorICogICBWCXN1bmRldi9tZHJlZy5oCisgKiAgIGEJdmF4dWJhL2FkcmVnLmgKKyAqICAgZAlzdW4vZGtpby5oCQkJLW5vIG92ZXJsYXAgd2l0aCBzeXMvZGVzLmgtCisgKiAgIGQJc3lzL2Rlcy5oCQkJKHBvc3NpYmxlIG92ZXJsYXApCisgKiAgIGQJdmF4L2RraW8uaAkJCShwb3NzaWJsZSBvdmVybGFwKQorICogICBkCXZheHViYS9yeHJlZy5oCQkJKHBvc3NpYmxlIG92ZXJsYXApCisgKiAgIGYJc3lzL2ZpbGlvLmgKKyAqICAgZwlzdW53aW5kb3cvd2luX2lvY3RsLmgJCS1ubyBvdmVybGFwLQorICogICBnCXN1bndpbmRvd2Rldi93aW5pb2N0bC5jCQkhbm8gbWFuaWZlc3QgY29uc3RhbnQhIC1ubyBvdmVybGFwLQorICogICBoCXN1bmRldi9ocmNfY29tbW9uLmgKKyAqICAgaQlzeXMvc29ja2lvLmgJCQkqb3ZlcmxhcCoKKyAqICAgaQl2YXh1YmEvaWtyZWcuaAkJCSpvdmVybGFwKgorICogICBrCXN1bmRldi9rYmlvLmgKKyAqICAgbQlzdW5kZXYvbXNpby5oCQkJKHBvc3NpYmxlIG92ZXJsYXApCisgKiAgIG0Jc3VuZGV2L21zcmVnLmgJCQkocG9zc2libGUgb3ZlcmxhcCkKKyAqICAgbQlzeXMvbXRpby5oCQkJKHBvc3NpYmxlIG92ZXJsYXApCisgKiAgIG4Jc3VuL25kaW8uaAorICogICBwCW5ldC9uaXRfYnVmLmgJCQkocG9zc2libGUgb3ZlcmxhcCkKKyAqICAgcAluZXQvbml0X2lmLmgJCQkocG9zc2libGUgb3ZlcmxhcCkKKyAqICAgcAluZXQvbml0X3BmLmgJCQkocG9zc2libGUgb3ZlcmxhcCkKKyAqICAgcAlzdW5kZXYvZnBhcmVnLmgJCQkocG9zc2libGUgb3ZlcmxhcCkKKyAqICAgcAlzeXMvc29ja2lvLmgJCQkocG9zc2libGUgb3ZlcmxhcCkKKyAqICAgcAl2YXh1YmEvcHNyZWcuaAkJCShwb3NzaWJsZSBvdmVybGFwKQorICogICBxCXN1bi9zcXouaAorICogICByCXN5cy9zb2NraW8uaAorICogICBzCXN5cy9zb2NraW8uaAorICogICB0CXN5cy90dG9sZC5oCQkJKHBvc3NpYmxlIG92ZXJsYXApCisgKiAgIHQJc3lzL3R0eWNvbS5oCQkJKHBvc3NpYmxlIG92ZXJsYXApCisgKiAgIHYJc3VuZGV2L3Z1aWRfZXZlbnQuaAkJKm92ZXJsYXAqCisgKiAgIHYJc3lzL3ZjbWQuaAkJCSpvdmVybGFwKgorICoKKyAqIEVuZCBvZiBSZWdpc3RyeQorICovCmRpZmYgLS1naXQgYS9zdHJhY2UtNC41LjIwL2lvY3Rsc29ydC5jIGIvc3RyYWNlLTQuNS4yMC9pb2N0bHNvcnQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMDA5ZDc1Ci0tLSAvZGV2L251bGwKKysrIGIvc3RyYWNlLTQuNS4yMC9pb2N0bHNvcnQuYwpAQCAtMCwwICsxLDcxIEBACisvKgorICogQ29weXJpZ2h0IChjKSAxOTkxLCAxOTkyIFBhdWwgS3JhbmVuYnVyZyA8cGtAY3MuZmV3LmV1ci5ubD4KKyAqIENvcHlyaWdodCAoYykgMTk5MywgMTk5NCwgMTk5NSBSaWNrIFNsYWRrZXkgPGpyc0B3b3JsZC5zdGQuY29tPgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIFRoZSBuYW1lIG9mIHRoZSBhdXRob3IgbWF5IG5vdCBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cworICogICAgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQVVUSE9SIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1MgT1IKKyAqIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMKKyAqIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuCisgKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCisgKiBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQKKyAqIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICoKKyAqCSRJZCQKKyAqLworCisKKyNpbmNsdWRlIDxzdGRpby5oPgorCisjaWZkZWYgU1REQ19IRUFERVJTCisjaW5jbHVkZSA8c3RkbGliLmg+CisjZW5kaWYKKworc3RydWN0IGlvY3RsZW50IHsKKwljaGFyICpkb3RoOworCWNoYXIgKnN5bWJvbDsKKwl1bnNpZ25lZCBsb25nIGNvZGU7Cit9OworCisjaW5jbHVkZSAiaW9jdGxlbnQucmF3IgorCitpbnQgbmlvY3RsZW50cyA9IHNpemVvZiBpb2N0bGVudCAvIHNpemVvZiBpb2N0bGVudFswXTsKKworaW50Citjb21wYXJlKGEsIGIpCitjb25zdCB2b2lkICphOworY29uc3Qgdm9pZCAqYjsKK3sKKwl1bnNpZ25lZCBsb25nIGNvZGUxID0gKChzdHJ1Y3QgaW9jdGxlbnQgKikgYSktPmNvZGU7CisJdW5zaWduZWQgbG9uZyBjb2RlMiA9ICgoc3RydWN0IGlvY3RsZW50ICopIGIpLT5jb2RlOworCXJldHVybiAoY29kZTEgPiBjb2RlMikgPyAxIDogKGNvZGUxIDwgY29kZTIpID8gLTEgOiAwOworfQorCitpbnQKK21haW4oYXJnYywgYXJndikKK2ludCBhcmdjOworY2hhciAqYXJndltdOworeworCWludCBpOworCisJcXNvcnQoaW9jdGxlbnQsIG5pb2N0bGVudHMsIHNpemVvZiBpb2N0bGVudFswXSwgY29tcGFyZSk7CisJZm9yIChpID0gMDsgaSA8IG5pb2N0bGVudHM7IGkrKykgeworCQlwcmludGYoIntcIiVzXCIsIFwiJXNcIiwgJSNseH0sXG4iLAorCQkJaW9jdGxlbnRbaV0uZG90aCwgaW9jdGxlbnRbaV0uc3ltYm9sLCBpb2N0bGVudFtpXS5jb2RlKTsKKwl9CisJcmV0dXJuIDA7Cit9CmRpZmYgLS1naXQgYS9zdHJhY2UtNC41LjIwL2lwYy5jIGIvc3RyYWNlLTQuNS4yMC9pcGMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YzkwMmJmCi0tLSAvZGV2L251bGwKKysrIGIvc3RyYWNlLTQuNS4yMC9pcGMuYwpAQCAtMCwwICsxLDU2NSBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMTk5MyBVbHJpY2ggUGVnZWxvdyA8cGVnZWxvd0Btb29yZWEudW5pLW11ZW5zdGVyLmRlPgorICogQ29weXJpZ2h0IChjKSAxOTkzIEJyYW5rbyBMYW5rZXN0ZXIgPGJyYW5rb0BoYWNrdGljLm5sPgorICogQ29weXJpZ2h0IChjKSAxOTkzLCAxOTk0LCAxOTk1LCAxOTk2IFJpY2sgU2xhZGtleSA8anJzQHdvcmxkLnN0ZC5jb20+CisgKiBDb3B5cmlnaHQgKGMpIDE5OTYtMTk5OSBXaWNoZXJ0IEFra2VybWFuIDx3aWNoZXJ0QGNpc3Ryb24ubmw+CisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gVGhlIG5hbWUgb2YgdGhlIGF1dGhvciBtYXkgbm90IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzCisgKiAgICBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBBVVRIT1IgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUyBPUgorICogSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUworICogT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4KKyAqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKKyAqIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVAorICogTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKgorICoJJElkJAorICovCisKKyNpbmNsdWRlICJkZWZzLmgiCisKKyNpZiBkZWZpbmVkKExJTlVYKSB8fCBkZWZpbmVkKFNVTk9TNCkgfHwgZGVmaW5lZChGUkVFQlNEKQorCisjIGlmZGVmIEhBVkVfTVFVRVVFX0gKKyMgIGluY2x1ZGUgPG1xdWV1ZS5oPgorIyBlbmRpZgorCisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxzeXMvaXBjLmg+CisjaW5jbHVkZSA8c3lzL3NlbS5oPgorI2luY2x1ZGUgPHN5cy9tc2cuaD4KKyNpbmNsdWRlIDxzeXMvc2htLmg+CisKKyNpZm5kZWYgTVNHX1NUQVQKKyNkZWZpbmUgTVNHX1NUQVQgMTEKKyNlbmRpZgorI2lmbmRlZiBNU0dfSU5GTworI2RlZmluZSBNU0dfSU5GTyAxMgorI2VuZGlmCisjaWZuZGVmIFNITV9TVEFUCisjZGVmaW5lIFNITV9TVEFUIDEzCisjZW5kaWYKKyNpZm5kZWYgU0hNX0lORk8KKyNkZWZpbmUgU0hNX0lORk8gMTQKKyNlbmRpZgorI2lmbmRlZiBTRU1fU1RBVAorI2RlZmluZSBTRU1fU1RBVCAxOAorI2VuZGlmCisjaWZuZGVmIFNFTV9JTkZPCisjZGVmaW5lIFNFTV9JTkZPIDE5CisjZW5kaWYKKworI2lmIGRlZmluZWQgTElOVVggJiYgIWRlZmluZWQgSVBDXzY0CisjIGRlZmluZSBJUENfNjQgMHgxMDAKKyNlbmRpZgorCitleHRlcm4gdm9pZCBwcmludHNpZ2V2ZW50KHN0cnVjdCB0Y2IgKnRjcCwgbG9uZyBhcmcpOworCitzdGF0aWMgY29uc3Qgc3RydWN0IHhsYXQgbXNnY3RsX2ZsYWdzW10gPSB7CisJeyBJUENfUk1JRCwJIklQQ19STUlEIgl9LAorCXsgSVBDX1NFVCwJIklQQ19TRVQiCX0sCisJeyBJUENfU1RBVCwJIklQQ19TVEFUIgl9LAorI2lmZGVmIExJTlVYCisJeyBJUENfSU5GTywJIklQQ19JTkZPIgl9LAorCXsgTVNHX1NUQVQsCSJNU0dfU1RBVCIJfSwKKwl7IE1TR19JTkZPLAkiTVNHX0lORk8iCX0sCisjZW5kaWYgLyogTElOVVggKi8KKwl7IDAsCQlOVUxMCQl9LAorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCB4bGF0IHNlbWN0bF9mbGFnc1tdID0geworCXsgSVBDX1JNSUQsCSJJUENfUk1JRCIJfSwKKwl7IElQQ19TRVQsCSJJUENfU0VUIgl9LAorCXsgSVBDX1NUQVQsCSJJUENfU1RBVCIJfSwKKyNpZmRlZiBMSU5VWAorCXsgSVBDX0lORk8sCSJJUENfSU5GTyIJfSwKKwl7IFNFTV9TVEFULAkiU0VNX1NUQVQiCX0sCisJeyBTRU1fSU5GTywJIlNFTV9JTkZPIgl9LAorI2VuZGlmIC8qIExJTlVYICovCisJeyBHRVRQSUQsCSJHRVRQSUQiCX0sCisJeyBHRVRWQUwsCSJHRVRWQUwiCX0sCisJeyBHRVRBTEwsCSJHRVRBTEwiCX0sCisJeyBHRVROQ05ULAkiR0VUTkNOVCIJfSwKKwl7IEdFVFpDTlQsCSJHRVRaQ05UIgl9LAorCXsgU0VUVkFMLAkiU0VUVkFMIgl9LAorCXsgU0VUQUxMLAkiU0VUQUxMIgl9LAorCXsgMCwJCU5VTEwJCX0sCit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IHhsYXQgc2htY3RsX2ZsYWdzW10gPSB7CisJeyBJUENfUk1JRCwJIklQQ19STUlEIgl9LAorCXsgSVBDX1NFVCwJIklQQ19TRVQiCX0sCisJeyBJUENfU1RBVCwJIklQQ19TVEFUIgl9LAorI2lmZGVmIExJTlVYCisJeyBJUENfSU5GTywJIklQQ19JTkZPIgl9LAorCXsgU0hNX1NUQVQsCSJTSE1fU1RBVCIJfSwKKwl7IFNITV9JTkZPLAkiU0hNX0lORk8iCX0sCisjZW5kaWYgLyogTElOVVggKi8KKyNpZmRlZiBTSE1fTE9DSworCXsgU0hNX0xPQ0ssCSJTSE1fTE9DSyIJfSwKKyNlbmRpZgorI2lmZGVmIFNITV9VTkxPQ0sKKwl7IFNITV9VTkxPQ0ssCSJTSE1fVU5MT0NLIgl9LAorI2VuZGlmCisJeyAwLAkJTlVMTAkJfSwKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCByZXNvdXJjZV9mbGFnc1tdID0geworCXsgSVBDX0NSRUFULAkiSVBDX0NSRUFUIgl9LAorCXsgSVBDX0VYQ0wsCSJJUENfRVhDTCIJfSwKKwl7IElQQ19OT1dBSVQsCSJJUENfTk9XQUlUIgl9LAorCXsgMCwJCU5VTEwJCX0sCit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IHhsYXQgc2htX3Jlc291cmNlX2ZsYWdzW10gPSB7CisJeyBJUENfQ1JFQVQsCSJJUENfQ1JFQVQiCX0sCisJeyBJUENfRVhDTCwJIklQQ19FWENMIgl9LAorI2lmZGVmIFNITV9IVUdFVExCCisJeyBTSE1fSFVHRVRMQiwJIlNITV9IVUdFVExCIgl9LAorI2VuZGlmCisJeyAwLAkJTlVMTAkJfSwKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCBzaG1fZmxhZ3NbXSA9IHsKKyNpZmRlZiBMSU5VWAorCXsgU0hNX1JFTUFQLAkiU0hNX1JFTUFQIgl9LAorI2VuZGlmIC8qIExJTlVYICovCisJeyBTSE1fUkRPTkxZLAkiU0hNX1JET05MWSIJfSwKKwl7IFNITV9STkQsCSJTSE1fUk5EIgl9LAorCXsgMCwJCU5VTEwJCX0sCit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IHhsYXQgbXNnX2ZsYWdzW10gPSB7CisJeyBNU0dfTk9FUlJPUiwJIk1TR19OT0VSUk9SIgl9LAorI2lmZGVmIExJTlVYCisJeyBNU0dfRVhDRVBULAkiTVNHX0VYQ0VQVCIJfSwKKyNlbmRpZiAvKiBMSU5VWCAqLworCXsgSVBDX05PV0FJVCwJIklQQ19OT1dBSVQiCX0sCisJeyAwLAkJTlVMTAkJfSwKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCBzZW1vcF9mbGFnc1tdID0geworCXsgU0VNX1VORE8sCSJTRU1fVU5ETyIJfSwKKwl7IElQQ19OT1dBSVQsCSJJUENfTk9XQUlUIgl9LAorCXsgMCwJCU5VTEwJCX0sCit9OworCitpbnQgc3lzX21zZ2dldCh0Y3ApCitzdHJ1Y3QgdGNiICp0Y3A7Cit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJaWYgKHRjcC0+dV9hcmdbMF0pCisJCQl0cHJpbnRmKCIlI2x4IiwgdGNwLT51X2FyZ1swXSk7CisJCWVsc2UKKwkJCXRwcmludGYoIklQQ19QUklWQVRFIik7CisJCXRwcmludGYoIiwgIik7CisJCWlmIChwcmludGZsYWdzKHJlc291cmNlX2ZsYWdzLCB0Y3AtPnVfYXJnWzFdICYgfjA3NzcsIE5VTEwpICE9IDApCisJCQl0cHJpbnRmKCJ8Iik7CisJCXRwcmludGYoIiUjbG8iLCB0Y3AtPnVfYXJnWzFdICYgMDc3Nyk7CisJfQorCXJldHVybiAwOworfQorCisjaWZkZWYgSVBDXzY0CisjIGRlZmluZSBQUklOVENUTChmbGFnc2V0LCBhcmcsIGRmbHQpIFwKKwlpZiAoKGFyZykgJiBJUENfNjQpIHRwcmludGYoIklQQ182NHwiKTsgXAorCXByaW50eHZhbCgoZmxhZ3NldCksIChhcmcpICZ+IElQQ182NCwgZGZsdCkKKyNlbHNlCisjIGRlZmluZSBQUklOVENUTCBwcmludHh2YWwKKyNlbmRpZgorCitzdGF0aWMgaW50CitpbmRpcmVjdF9pcGNjYWxsKHRjcCkKK3N0cnVjdCB0Y2IgKnRjcDsKK3sKKyNpZmRlZiBMSU5VWAorI2lmZGVmIFg4Nl82NAorCXJldHVybiBjdXJyZW50X3BlcnNvbmFsaXR5ID4gMDsKKyNlbmRpZgorI2lmIGRlZmluZWQgSUE2NAorCXJldHVybiB0Y3AtPnNjbm8gPCAxMDI0OyAvKiBpYTMyIGVtdWxhdGlvbiBzeXNjYWxscyBhcmUgbG93ICovCisjZW5kaWYKKyNpZiAhZGVmaW5lZCBNSVBTICYmICFkZWZpbmVkIEhQUEEKKwlyZXR1cm4gMTsKKyNlbmRpZgorI2VuZGlmCS8qIExJTlVYICovCisJcmV0dXJuIDA7Cit9CisKK2ludCBzeXNfbXNnY3RsKHRjcCkKK3N0cnVjdCB0Y2IgKnRjcDsKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQl0cHJpbnRmKCIlbHUsICIsIHRjcC0+dV9hcmdbMF0pOworCQlQUklOVENUTChtc2djdGxfZmxhZ3MsIHRjcC0+dV9hcmdbMV0sICJNU0dfPz8/Iik7CisJCXRwcmludGYoIiwgJSNseCIsIHRjcC0+dV9hcmdbaW5kaXJlY3RfaXBjY2FsbCh0Y3ApID8gMyA6IDJdKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkCit0cHJpbnRfbXNnc25kKHN0cnVjdCB0Y2IgKnRjcCwgbG9uZyBhZGRyLCB1bnNpZ25lZCBsb25nIGNvdW50LAorCSAgICAgIHVuc2lnbmVkIGxvbmcgZmxhZ3MpCit7CisJbG9uZyBtdHlwZTsKKworCWlmICh1bW92ZSh0Y3AsIGFkZHIsICZtdHlwZSkgPCAwKSB7CisJCXRwcmludGYoIiUjbHgiLCBhZGRyKTsKKwl9IGVsc2UgeworCQl0cHJpbnRmKCJ7JWx1LCAiLCBtdHlwZSk7CisJCXByaW50c3RyKHRjcCwgYWRkciArIHNpemVvZihtdHlwZSksIGNvdW50KTsKKwkJdHByaW50ZigifSIpOworCX0KKwl0cHJpbnRmKCIsICVsdSwgIiwgY291bnQpOworCXByaW50ZmxhZ3MobXNnX2ZsYWdzLCBmbGFncywgIk1TR18/Pz8iKTsKK30KKworaW50IHN5c19tc2dzbmQoc3RydWN0IHRjYiAqdGNwKQoreworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXRwcmludGYoIiVkLCAiLCAoaW50KSB0Y3AtPnVfYXJnWzBdKTsKKwkJaWYgKGluZGlyZWN0X2lwY2NhbGwodGNwKSkgeworCQkJdHByaW50X21zZ3NuZCh0Y3AsIHRjcC0+dV9hcmdbM10sIHRjcC0+dV9hcmdbMV0sCisJCQkJICAgICAgdGNwLT51X2FyZ1syXSk7CisJCX0gZWxzZSB7CisJCQl0cHJpbnRfbXNnc25kKHRjcCwgdGNwLT51X2FyZ1sxXSwgdGNwLT51X2FyZ1syXSwKKwkJCQkgICAgICB0Y3AtPnVfYXJnWzNdKTsKKwkJfQorCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQKK3RwcmludF9tc2dyY3Yoc3RydWN0IHRjYiAqdGNwLCBsb25nIGFkZHIsIHVuc2lnbmVkIGxvbmcgY291bnQsIGxvbmcgbXNndHlwKQoreworCWxvbmcgbXR5cGU7CisKKwlpZiAoc3lzZXJyb3IodGNwKSB8fCB1bW92ZSh0Y3AsIGFkZHIsICZtdHlwZSkgPCAwKSB7CisJCXRwcmludGYoIiUjbHgiLCBhZGRyKTsKKwl9IGVsc2UgeworCQl0cHJpbnRmKCJ7JWx1LCAiLCBtdHlwZSk7CisJCXByaW50c3RyKHRjcCwgYWRkciArIHNpemVvZihtdHlwZSksIGNvdW50KTsKKwkJdHByaW50ZigifSIpOworCX0KKwl0cHJpbnRmKCIsICVsdSwgJWxkLCAiLCBjb3VudCwgbXNndHlwKTsKK30KKworaW50IHN5c19tc2dyY3Yoc3RydWN0IHRjYiAqdGNwKQoreworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXRwcmludGYoIiVkLCAiLCAoaW50KSB0Y3AtPnVfYXJnWzBdKTsKKwl9IGVsc2UgeworCQlpZiAoaW5kaXJlY3RfaXBjY2FsbCh0Y3ApKSB7CisJCQlzdHJ1Y3QgaXBjX3dyYXBwZXIgeworCQkJCXN0cnVjdCBtc2didWYgKm1zZ3A7CisJCQkJbG9uZyBtc2d0eXA7CisJCQl9IHRtcDsKKworCQkJaWYgKHVtb3ZlKHRjcCwgdGNwLT51X2FyZ1szXSwgJnRtcCkgPCAwKSB7CisJCQkJdHByaW50ZigiJSNseCwgJWx1LCAiLAorCQkJCQl0Y3AtPnVfYXJnWzNdLCB0Y3AtPnVfYXJnWzFdKTsKKwkJCX0gZWxzZSB7CisJCQkJdHByaW50X21zZ3Jjdih0Y3AsIChsb25nKSB0bXAubXNncCwKKwkJCQkJdGNwLT51X2FyZ1sxXSwgdG1wLm1zZ3R5cCk7CisJCQl9CisJCQlwcmludGZsYWdzKG1zZ19mbGFncywgdGNwLT51X2FyZ1syXSwgIk1TR18/Pz8iKTsKKwkJfSBlbHNlIHsKKwkJCXRwcmludF9tc2dyY3YodGNwLCB0Y3AtPnVfYXJnWzFdLAorCQkJCXRjcC0+dV9hcmdbMl0sIHRjcC0+dV9hcmdbM10pOworCQkJcHJpbnRmbGFncyhtc2dfZmxhZ3MsIHRjcC0+dV9hcmdbNF0sICJNU0dfPz8/Iik7CisJCX0KKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkCit0cHJpbnRfc2VtYnVmKHN0cnVjdCB0Y2IgKnRjcCwgbG9uZyBhZGRyLCB1bnNpZ25lZCBsb25nIGNvdW50KQoreworCXVuc2lnbmVkIGxvbmcgaSwgbWF4X2NvdW50OworCisJaWYgKGFiYnJldih0Y3ApKQorCQltYXhfY291bnQgPSAobWF4X3N0cmxlbiA8IGNvdW50KSA/IG1heF9zdHJsZW4gOiBjb3VudDsKKwllbHNlCisJCW1heF9jb3VudCA9IGNvdW50OworCisJaWYgKCFtYXhfY291bnQpIHsKKwkJdHByaW50ZigiJSNseCwgJWx1IiwgYWRkciwgY291bnQpOworCQlyZXR1cm47CisJfQorCisJZm9yKGkgPSAwOyBpIDwgbWF4X2NvdW50OyArK2kpIHsKKwkJc3RydWN0IHNlbWJ1ZiBzYjsKKwkJaWYgKGkpCisJCQl0cHJpbnRmKCIsICIpOworCQlpZiAodW1vdmUodGNwLCBhZGRyICsgaSAqIHNpemVvZihzdHJ1Y3Qgc2VtYnVmKSwgJnNiKSA8IDApIHsKKwkJCWlmIChpKSB7CisJCQkJdHByaW50Zigiez8/P30iKTsKKwkJCQlicmVhazsKKwkJCX0gZWxzZSB7CisJCQkJdHByaW50ZigiJSNseCwgJWx1IiwgYWRkciwgY291bnQpOworCQkJCXJldHVybjsKKwkJCX0KKwkJfSBlbHNlIHsKKwkJCWlmICghaSkKKwkJCQl0cHJpbnRmKCJ7Iik7CisJCQl0cHJpbnRmKCJ7JXUsICVkLCAiLCBzYi5zZW1fbnVtLCBzYi5zZW1fb3ApOworCQkJcHJpbnRmbGFncyhzZW1vcF9mbGFncywgc2Iuc2VtX2ZsZywgIlNFTV8/Pz8iKTsKKwkJCXRwcmludGYoIn0iKTsKKwkJfQorCX0KKworCWlmIChpIDwgbWF4X2NvdW50IHx8IG1heF9jb3VudCA8IGNvdW50KQorCQl0cHJpbnRmKCIsIC4uLiIpOworCisJdHByaW50ZigifSwgJWx1IiwgY291bnQpOworfQorCitpbnQgc3lzX3NlbW9wKHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQl0cHJpbnRmKCIlbHUsICIsIHRjcC0+dV9hcmdbMF0pOworCQlpZiAoaW5kaXJlY3RfaXBjY2FsbCh0Y3ApKSB7CisJCQl0cHJpbnRfc2VtYnVmKHRjcCwgdGNwLT51X2FyZ1szXSwgdGNwLT51X2FyZ1sxXSk7CisJCX0gZWxzZSB7CisJCQl0cHJpbnRfc2VtYnVmKHRjcCwgdGNwLT51X2FyZ1sxXSwgdGNwLT51X2FyZ1syXSk7CisJCX0KKwl9CisJcmV0dXJuIDA7Cit9CisKKyNpZmRlZiBMSU5VWAoraW50IHN5c19zZW10aW1lZG9wKHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQl0cHJpbnRmKCIlbHUsICIsIHRjcC0+dV9hcmdbMF0pOworCQlpZiAoaW5kaXJlY3RfaXBjY2FsbCh0Y3ApKSB7CisJCQl0cHJpbnRfc2VtYnVmKHRjcCwgdGNwLT51X2FyZ1szXSwgdGNwLT51X2FyZ1sxXSk7CisJCQl0cHJpbnRmKCIsICIpOworCQkJcHJpbnR0dih0Y3AsIHRjcC0+dV9hcmdbNV0pOworCQl9IGVsc2UgeworCQkJdHByaW50X3NlbWJ1Zih0Y3AsIHRjcC0+dV9hcmdbMV0sIHRjcC0+dV9hcmdbMl0pOworCQkJdHByaW50ZigiLCAiKTsKKwkJCXByaW50dHYodGNwLCB0Y3AtPnVfYXJnWzNdKTsKKwkJfQorCX0KKwlyZXR1cm4gMDsKK30KKyNlbmRpZgorCitpbnQgc3lzX3NlbWdldCh0Y3ApCitzdHJ1Y3QgdGNiICp0Y3A7Cit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJaWYgKHRjcC0+dV9hcmdbMF0pCisJCQl0cHJpbnRmKCIlI2x4IiwgdGNwLT51X2FyZ1swXSk7CisJCWVsc2UKKwkJCXRwcmludGYoIklQQ19QUklWQVRFIik7CisJCXRwcmludGYoIiwgJWx1IiwgdGNwLT51X2FyZ1sxXSk7CisJCXRwcmludGYoIiwgIik7CisJCWlmIChwcmludGZsYWdzKHJlc291cmNlX2ZsYWdzLCB0Y3AtPnVfYXJnWzJdICYgfjA3NzcsIE5VTEwpICE9IDApCisJCQl0cHJpbnRmKCJ8Iik7CisJCXRwcmludGYoIiUjbG8iLCB0Y3AtPnVfYXJnWzJdICYgMDc3Nyk7CisJfQorCXJldHVybiAwOworfQorCitpbnQgc3lzX3NlbWN0bCh0Y3ApCitzdHJ1Y3QgdGNiICp0Y3A7Cit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJdHByaW50ZigiJWx1IiwgdGNwLT51X2FyZ1swXSk7CisJCXRwcmludGYoIiwgJWx1LCAiLCB0Y3AtPnVfYXJnWzFdKTsKKwkJUFJJTlRDVEwoc2VtY3RsX2ZsYWdzLCB0Y3AtPnVfYXJnWzJdLCAiU0VNXz8/PyIpOworCQl0cHJpbnRmKCIsICUjbHgiLCB0Y3AtPnVfYXJnWzNdKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK2ludCBzeXNfc2htZ2V0KHRjcCkKK3N0cnVjdCB0Y2IgKnRjcDsKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQlpZiAodGNwLT51X2FyZ1swXSkKKwkJCXRwcmludGYoIiUjbHgiLCB0Y3AtPnVfYXJnWzBdKTsKKwkJZWxzZQorCQkJdHByaW50ZigiSVBDX1BSSVZBVEUiKTsKKwkJdHByaW50ZigiLCAlbHUiLCB0Y3AtPnVfYXJnWzFdKTsKKwkJdHByaW50ZigiLCAiKTsKKwkJaWYgKHByaW50ZmxhZ3Moc2htX3Jlc291cmNlX2ZsYWdzLCB0Y3AtPnVfYXJnWzJdICYgfjA3NzcsIE5VTEwpICE9IDApCisJCQl0cHJpbnRmKCJ8Iik7CisJCXRwcmludGYoIiUjbG8iLCB0Y3AtPnVfYXJnWzJdICYgMDc3Nyk7CisJfQorCXJldHVybiAwOworfQorCitpbnQgc3lzX3NobWN0bCh0Y3ApCitzdHJ1Y3QgdGNiICp0Y3A7Cit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJdHByaW50ZigiJWx1LCAiLCB0Y3AtPnVfYXJnWzBdKTsKKwkJUFJJTlRDVEwoc2htY3RsX2ZsYWdzLCB0Y3AtPnVfYXJnWzFdLCAiU0hNXz8/PyIpOworCQlpZiAoaW5kaXJlY3RfaXBjY2FsbCh0Y3ApKSB7CisJCQl0cHJpbnRmKCIsICUjbHgiLCB0Y3AtPnVfYXJnWzNdKTsKKwkJfSBlbHNlIHsKKwkJCXRwcmludGYoIiwgJSNseCIsIHRjcC0+dV9hcmdbMl0pOworCQl9CisJfQorCXJldHVybiAwOworfQorCitpbnQgc3lzX3NobWF0KHRjcCkKK3N0cnVjdCB0Y2IgKnRjcDsKK3sKKyNpZmRlZiBMSU5VWAorCXVuc2lnbmVkIGxvbmcgcmFkZHI7CisjZW5kaWYgLyogTElOVVggKi8KKworCWlmIChleGl0aW5nKHRjcCkpIHsKKwkJdHByaW50ZigiJWx1IiwgdGNwLT51X2FyZ1swXSk7CisJCWlmIChpbmRpcmVjdF9pcGNjYWxsKHRjcCkpIHsKKwkJCXRwcmludGYoIiwgJSNseCIsIHRjcC0+dV9hcmdbM10pOworCQkJdHByaW50ZigiLCAiKTsKKwkJCXByaW50ZmxhZ3Moc2htX2ZsYWdzLCB0Y3AtPnVfYXJnWzFdLCAiU0hNXz8/PyIpOworCQl9IGVsc2UgeworCQkJdHByaW50ZigiLCAlI2x4IiwgdGNwLT51X2FyZ1sxXSk7CisJCQl0cHJpbnRmKCIsICIpOworCQkJcHJpbnRmbGFncyhzaG1fZmxhZ3MsIHRjcC0+dV9hcmdbMl0sICJTSE1fPz8/Iik7CisJCX0KKwkJaWYgKHN5c2Vycm9yKHRjcCkpCisJCQlyZXR1cm4gMDsKKy8qIEhQUEEgZG9lcyBub3QgdXNlIGFuIElQQyBtdWx0aXBsZXhlciBvbiBMaW51eC4gICovCisjaWYgZGVmaW5lZChMSU5VWCkgJiYgIWRlZmluZWQoSFBQQSkKKwkJaWYgKHVtb3ZlKHRjcCwgdGNwLT51X2FyZ1syXSwgJnJhZGRyKSA8IDApCisJCQlyZXR1cm4gUlZBTF9OT05FOworCQl0Y3AtPnVfcnZhbCA9IHJhZGRyOworI2VuZGlmIC8qIExJTlVYICovCisJCXJldHVybiBSVkFMX0hFWDsKKwl9CisJcmV0dXJuIDA7Cit9CisKK2ludCBzeXNfc2htZHQodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCWlmIChpbmRpcmVjdF9pcGNjYWxsKHRjcCkpIHsKKwkJCXRwcmludGYoIiUjbHgiLCB0Y3AtPnVfYXJnWzNdKTsKKwkJfSBlbHNlIHsKKwkJCXRwcmludGYoIiUjbHgiLCB0Y3AtPnVfYXJnWzBdKTsKKwkJfQorCX0KKwlyZXR1cm4gMDsKK30KKworI2VuZGlmIC8qIGRlZmluZWQoTElOVVgpIHx8IGRlZmluZWQoU1VOT1M0KSB8fCBkZWZpbmVkKEZSRUVCU0QpICovCisKKyNpZmRlZiBMSU5VWAoraW50CitzeXNfbXFfb3BlbihzdHJ1Y3QgdGNiICp0Y3ApCit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJcHJpbnRwYXRoKHRjcCwgdGNwLT51X2FyZ1swXSk7CisJCXRwcmludGYoIiwgIik7CisJCS8qIGZsYWdzICovCisJCXRwcmludF9vcGVuX21vZGVzKHRjcC0+dV9hcmdbMV0pOworCQlpZiAodGNwLT51X2FyZ1sxXSAmIE9fQ1JFQVQpIHsKKyMgaWZuZGVmIEhBVkVfTVFVRVVFX0gKKwkJCXRwcmludGYoIiwgJWx4IiwgdGNwLT51X2FyZ1syXSk7CisjIGVsc2UKKwkJCXN0cnVjdCBtcV9hdHRyIGF0dHI7CisJCQkvKiBtb2RlICovCisJCQl0cHJpbnRmKCIsICUjbG8sICIsIHRjcC0+dV9hcmdbMl0pOworCQkJaWYgKHVtb3ZlKHRjcCwgdGNwLT51X2FyZ1szXSwgJmF0dHIpIDwgMCkKKwkJCQl0cHJpbnRmKCJ7ID8/PyB9Iik7CisJCQllbHNlCisJCQkJdHByaW50Zigie21xX21heG1zZz0lbGQsIG1xX21zZ3NpemU9JWxkfSIsCisJCQkJCWF0dHIubXFfbWF4bXNnLCBhdHRyLm1xX21zZ3NpemUpOworIyBlbmRpZgorCQl9CisJfQorCXJldHVybiAwOworfQorCitpbnQKK3N5c19tcV90aW1lZHNlbmQoc3RydWN0IHRjYiAqdGNwKQoreworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXRwcmludGYoIiVsZCwgIiwgdGNwLT51X2FyZ1swXSk7CisJCXByaW50c3RyKHRjcCwgdGNwLT51X2FyZ1sxXSwgdGNwLT51X2FyZ1syXSk7CisJCXRwcmludGYoIiwgJWx1LCAlbGQsICIsIHRjcC0+dV9hcmdbMl0sIHRjcC0+dV9hcmdbM10pOworCQlwcmludHR2KHRjcCwgdGNwLT51X2FyZ1s0XSk7CisJfQorCXJldHVybiAwOworfQorCitpbnQKK3N5c19tcV90aW1lZHJlY2VpdmUoc3RydWN0IHRjYiAqdGNwKQoreworCWlmIChlbnRlcmluZyh0Y3ApKQorCQl0cHJpbnRmKCIlbGQsICIsIHRjcC0+dV9hcmdbMF0pOworCWVsc2UgeworCQlwcmludHN0cih0Y3AsIHRjcC0+dV9hcmdbMV0sIHRjcC0+dV9hcmdbMl0pOworCQl0cHJpbnRmKCIsICVsdSwgJWxkLCAiLCB0Y3AtPnVfYXJnWzJdLCB0Y3AtPnVfYXJnWzNdKTsKKwkJcHJpbnR0dih0Y3AsIHRjcC0+dV9hcmdbNF0pOworCX0KKwlyZXR1cm4gMDsKK30KKworaW50CitzeXNfbXFfbm90aWZ5KHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQl0cHJpbnRmKCIlbGQsICIsIHRjcC0+dV9hcmdbMF0pOworCQlwcmludHNpZ2V2ZW50KHRjcCwgdGNwLT51X2FyZ1sxXSk7CisJfQorCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZAorcHJpbnRtcWF0dHIoc3RydWN0IHRjYiAqdGNwLCBsb25nIGFkZHIpCit7CisJaWYgKGFkZHIgPT0gMCkKKwkJdHByaW50ZigiTlVMTCIpOworCWVsc2UgeworIyBpZm5kZWYgSEFWRV9NUVVFVUVfSAorCQl0cHJpbnRmKCIlI2x4IiwgYWRkcik7CisjIGVsc2UKKwkJc3RydWN0IG1xX2F0dHIgYXR0cjsKKwkJaWYgKHVtb3ZlKHRjcCwgYWRkciwgJmF0dHIpIDwgMCkgeworCQkJdHByaW50Zigiey4uLn0iKTsKKwkJCXJldHVybjsKKwkJfQorCQl0cHJpbnRmKCJ7bXFfZmxhZ3M9Iik7CisJCXRwcmludF9vcGVuX21vZGVzKGF0dHIubXFfZmxhZ3MpOworCQl0cHJpbnRmKCIsIG1xX21heG1zZz0lbGQsIG1xX21zZ3NpemU9JWxkLCBtcV9jdXJtc2c9JWxkfSIsCisJCQlhdHRyLm1xX21heG1zZywgYXR0ci5tcV9tc2dzaXplLCBhdHRyLm1xX2N1cm1zZ3MpOworIyBlbmRpZgorCX0KK30KKworaW50CitzeXNfbXFfZ2V0c2V0YXR0cihzdHJ1Y3QgdGNiICp0Y3ApCit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJdHByaW50ZigiJWxkLCAiLCB0Y3AtPnVfYXJnWzBdKTsKKwkJcHJpbnRtcWF0dHIodGNwLCB0Y3AtPnVfYXJnWzFdKTsKKwkJdHByaW50ZigiLCAiKTsKKwl9IGVsc2UKKwkJcHJpbnRtcWF0dHIodGNwLCB0Y3AtPnVfYXJnWzJdKTsKKwlyZXR1cm4gMDsKK30KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvc3RyYWNlLTQuNS4yMC9saW51eC9hbHBoYS9lcnJub2VudC5oIGIvc3RyYWNlLTQuNS4yMC9saW51eC9hbHBoYS9lcnJub2VudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRmZmFmZjkKLS0tIC9kZXYvbnVsbAorKysgYi9zdHJhY2UtNC41LjIwL2xpbnV4L2FscGhhL2Vycm5vZW50LmgKQEAgLTAsMCArMSw1MTYgQEAKKwkiRVJSTk9fMCIsIC8qIDAgKi8KKwkiRVBFUk0iLCAvKiAxICovCisJIkVOT0VOVCIsIC8qIDIgKi8KKwkiRVNSQ0giLCAvKiAzICovCisJIkVJTlRSIiwgLyogNCAqLworCSJFSU8iLCAvKiA1ICovCisJIkVOWElPIiwgLyogNiAqLworCSJFMkJJRyIsIC8qIDcgKi8KKwkiRU5PRVhFQyIsIC8qIDggKi8KKwkiRUJBREYiLCAvKiA5ICovCisJIkVDSElMRCIsIC8qIDEwICovCisJIkVERUFETEsiLCAvKiAxMSAqLworCSJFTk9NRU0iLCAvKiAxMiAqLworCSJFQUNDRVMiLCAvKiAxMyAqLworCSJFRkFVTFQiLCAvKiAxNCAqLworCSJFTk9UQkxLIiwgLyogMTUgKi8KKwkiRUJVU1kiLCAvKiAxNiAqLworCSJFRVhJU1QiLCAvKiAxNyAqLworCSJFWERFViIsIC8qIDE4ICovCisJIkVOT0RFViIsIC8qIDE5ICovCisJIkVOT1RESVIiLCAvKiAyMCAqLworCSJFSVNESVIiLCAvKiAyMSAqLworCSJFSU5WQUwiLCAvKiAyMiAqLworCSJFTkZJTEUiLCAvKiAyMyAqLworCSJFTUZJTEUiLCAvKiAyNCAqLworCSJFTk9UVFkiLCAvKiAyNSAqLworCSJFVFhUQlNZIiwgLyogMjYgKi8KKwkiRUZCSUciLCAvKiAyNyAqLworCSJFTk9TUEMiLCAvKiAyOCAqLworCSJFU1BJUEUiLCAvKiAyOSAqLworCSJFUk9GUyIsIC8qIDMwICovCisJIkVNTElOSyIsIC8qIDMxICovCisJIkVQSVBFIiwgLyogMzIgKi8KKwkiRURPTSIsIC8qIDMzICovCisJIkVSQU5HRSIsIC8qIDM0ICovCisJIkVBR0FJTiIsIC8qIDM1ICovCisJIkVJTlBST0dSRVNTIiwgLyogMzYgKi8KKwkiRUFMUkVBRFkiLCAvKiAzNyAqLworCSJFTk9UU09DSyIsIC8qIDM4ICovCisJIkVERVNUQUREUlJFUSIsIC8qIDM5ICovCisJIkVNU0dTSVpFIiwgLyogNDAgKi8KKwkiRVBST1RPVFlQRSIsIC8qIDQxICovCisJIkVOT1BST1RPT1BUIiwgLyogNDIgKi8KKwkiRVBST1RPTk9TVVBQT1JUIiwgLyogNDMgKi8KKwkiRVNPQ0tUTk9TVVBQT1JUIiwgLyogNDQgKi8KKwkiRU9QTk9UU1VQUCIsIC8qIDQ1ICovCisJIkVQRk5PU1VQUE9SVCIsIC8qIDQ2ICovCisJIkVBRk5PU1VQUE9SVCIsIC8qIDQ3ICovCisJIkVBRERSSU5VU0UiLCAvKiA0OCAqLworCSJFQUREUk5PVEFWQUlMIiwgLyogNDkgKi8KKwkiRU5FVERPV04iLCAvKiA1MCAqLworCSJFTkVUVU5SRUFDSCIsIC8qIDUxICovCisJIkVORVRSRVNFVCIsIC8qIDUyICovCisJIkVDT05OQUJPUlRFRCIsIC8qIDUzICovCisJIkVDT05OUkVTRVQiLCAvKiA1NCAqLworCSJFTk9CVUZTIiwgLyogNTUgKi8KKwkiRUlTQ09OTiIsIC8qIDU2ICovCisJIkVOT1RDT05OIiwgLyogNTcgKi8KKwkiRVNIVVRET1dOIiwgLyogNTggKi8KKwkiRVRPT01BTllSRUZTIiwgLyogNTkgKi8KKwkiRVRJTUVET1VUIiwgLyogNjAgKi8KKwkiRUNPTk5SRUZVU0VEIiwgLyogNjEgKi8KKwkiRUxPT1AiLCAvKiA2MiAqLworCSJFTkFNRVRPT0xPTkciLCAvKiA2MyAqLworCSJFSE9TVERPV04iLCAvKiA2NCAqLworCSJFSE9TVFVOUkVBQ0giLCAvKiA2NSAqLworCSJFTk9URU1QVFkiLCAvKiA2NiAqLworCSJFUlJOT182NyIsIC8qIDY3ICovCisJIkVVU0VSUyIsIC8qIDY4ICovCisJIkVEUVVPVCIsIC8qIDY5ICovCisJIkVTVEFMRSIsIC8qIDcwICovCisJIkVSRU1PVEUiLCAvKiA3MSAqLworCSJFUlJOT183MiIsIC8qIDcyICovCisJIkVSUk5PXzczIiwgLyogNzMgKi8KKwkiRVJSTk9fNzQiLCAvKiA3NCAqLworCSJFUlJOT183NSIsIC8qIDc1ICovCisJIkVSUk5PXzc2IiwgLyogNzYgKi8KKwkiRU5PTENLIiwgLyogNzcgKi8KKwkiRU5PU1lTIiwgLyogNzggKi8KKwkiRVJSTk9fNzkiLCAvKiA3OSAqLworCSJFTk9NU0ciLCAvKiA4MCAqLworCSJFSURSTSIsIC8qIDgxICovCisJIkVOT1NSIiwgLyogODIgKi8KKwkiRVRJTUUiLCAvKiA4MyAqLworCSJFQkFETVNHIiwgLyogODQgKi8KKwkiRVBST1RPIiwgLyogODUgKi8KKwkiRU5PREFUQSIsIC8qIDg2ICovCisJIkVOT1NUUiIsIC8qIDg3ICovCisJIkVDSFJORyIsIC8qIDg4ICovCisJIkVMMk5TWU5DIiwgLyogODkgKi8KKwkiRUwzSExUIiwgLyogOTAgKi8KKwkiRUwzUlNUIiwgLyogOTEgKi8KKwkiRU5PUEtHIiwgLyogOTIgKi8KKwkiRUxOUk5HIiwgLyogOTMgKi8KKwkiRVVOQVRDSCIsIC8qIDk0ICovCisJIkVOT0NTSSIsIC8qIDk1ICovCisJIkVMMkhMVCIsIC8qIDk2ICovCisJIkVCQURFIiwgLyogOTcgKi8KKwkiRUJBRFIiLCAvKiA5OCAqLworCSJFWEZVTEwiLCAvKiA5OSAqLworCSJFTk9BTk8iLCAvKiAxMDAgKi8KKwkiRUJBRFJRQyIsIC8qIDEwMSAqLworCSJFQkFEU0xUIiwgLyogMTAyICovCisJIkVERUFETE9DSyIsIC8qIDEwMyAqLworCSJFQkZPTlQiLCAvKiAxMDQgKi8KKwkiRU5PTkVUIiwgLyogMTA1ICovCisJIkVOT0xJTksiLCAvKiAxMDYgKi8KKwkiRUFEViIsIC8qIDEwNyAqLworCSJFU1JNTlQiLCAvKiAxMDggKi8KKwkiRUNPTU0iLCAvKiAxMDkgKi8KKwkiRU1VTFRJSE9QIiwgLyogMTEwICovCisJIkVET1RET1QiLCAvKiAxMTEgKi8KKwkiRU9WRVJGTE9XIiwgLyogMTEyICovCisJIkVOT1RVTklRIiwgLyogMTEzICovCisJIkVCQURGRCIsIC8qIDExNCAqLworCSJFUkVNQ0hHIiwgLyogMTE1ICovCisJIkVJTFNFUSIsIC8qIDExNiAqLworCSJFVUNMRUFOIiwgLyogMTE3ICovCisJIkVOT1ROQU0iLCAvKiAxMTggKi8KKwkiRU5BVkFJTCIsIC8qIDExOSAqLworCSJFSVNOQU0iLCAvKiAxMjAgKi8KKwkiRVJFTU9URUlPIiwgLyogMTIxICovCisJIkVMSUJBQ0MiLCAvKiAxMjIgKi8KKwkiRUxJQkJBRCIsIC8qIDEyMyAqLworCSJFTElCU0NOIiwgLyogMTI0ICovCisJIkVMSUJNQVgiLCAvKiAxMjUgKi8KKwkiRUxJQkVYRUMiLCAvKiAxMjYgKi8KKwkiRVJFU1RBUlQiLCAvKiAxMjcgKi8KKwkiRVNUUlBJUEUiLCAvKiAxMjggKi8KKwkiRVJSTk9fMTI5IiwgLyogMTI5ICovCisJIkVSUk5PXzEzMCIsIC8qIDEzMCAqLworCSJFUlJOT18xMzEiLCAvKiAxMzEgKi8KKwkiRVJSTk9fMTMyIiwgLyogMTMyICovCisJIkVSUk5PXzEzMyIsIC8qIDEzMyAqLworCSJFUlJOT18xMzQiLCAvKiAxMzQgKi8KKwkiRVJSTk9fMTM1IiwgLyogMTM1ICovCisJIkVSUk5PXzEzNiIsIC8qIDEzNiAqLworCSJFUlJOT18xMzciLCAvKiAxMzcgKi8KKwkiRVJSTk9fMTM4IiwgLyogMTM4ICovCisJIkVSUk5PXzEzOSIsIC8qIDEzOSAqLworCSJFUlJOT18xNDAiLCAvKiAxNDAgKi8KKwkiRVJSTk9fMTQxIiwgLyogMTQxICovCisJIkVSUk5PXzE0MiIsIC8qIDE0MiAqLworCSJFUlJOT18xNDMiLCAvKiAxNDMgKi8KKwkiRVJSTk9fMTQ0IiwgLyogMTQ0ICovCisJIkVSUk5PXzE0NSIsIC8qIDE0NSAqLworCSJFUlJOT18xNDYiLCAvKiAxNDYgKi8KKwkiRVJSTk9fMTQ3IiwgLyogMTQ3ICovCisJIkVSUk5PXzE0OCIsIC8qIDE0OCAqLworCSJFUlJOT18xNDkiLCAvKiAxNDkgKi8KKwkiRVJSTk9fMTUwIiwgLyogMTUwICovCisJIkVSUk5PXzE1MSIsIC8qIDE1MSAqLworCSJFUlJOT18xNTIiLCAvKiAxNTIgKi8KKwkiRVJSTk9fMTUzIiwgLyogMTUzICovCisJIkVSUk5PXzE1NCIsIC8qIDE1NCAqLworCSJFUlJOT18xNTUiLCAvKiAxNTUgKi8KKwkiRVJSTk9fMTU2IiwgLyogMTU2ICovCisJIkVSUk5PXzE1NyIsIC8qIDE1NyAqLworCSJFUlJOT18xNTgiLCAvKiAxNTggKi8KKwkiRVJSTk9fMTU5IiwgLyogMTU5ICovCisJIkVSUk5PXzE2MCIsIC8qIDE2MCAqLworCSJFUlJOT18xNjEiLCAvKiAxNjEgKi8KKwkiRVJSTk9fMTYyIiwgLyogMTYyICovCisJIkVSUk5PXzE2MyIsIC8qIDE2MyAqLworCSJFUlJOT18xNjQiLCAvKiAxNjQgKi8KKwkiRVJSTk9fMTY1IiwgLyogMTY1ICovCisJIkVSUk5PXzE2NiIsIC8qIDE2NiAqLworCSJFUlJOT18xNjciLCAvKiAxNjcgKi8KKwkiRVJSTk9fMTY4IiwgLyogMTY4ICovCisJIkVSUk5PXzE2OSIsIC8qIDE2OSAqLworCSJFUlJOT18xNzAiLCAvKiAxNzAgKi8KKwkiRVJSTk9fMTcxIiwgLyogMTcxICovCisJIkVSUk5PXzE3MiIsIC8qIDE3MiAqLworCSJFUlJOT18xNzMiLCAvKiAxNzMgKi8KKwkiRVJSTk9fMTc0IiwgLyogMTc0ICovCisJIkVSUk5PXzE3NSIsIC8qIDE3NSAqLworCSJFUlJOT18xNzYiLCAvKiAxNzYgKi8KKwkiRVJSTk9fMTc3IiwgLyogMTc3ICovCisJIkVSUk5PXzE3OCIsIC8qIDE3OCAqLworCSJFUlJOT18xNzkiLCAvKiAxNzkgKi8KKwkiRVJSTk9fMTgwIiwgLyogMTgwICovCisJIkVSUk5PXzE4MSIsIC8qIDE4MSAqLworCSJFUlJOT18xODIiLCAvKiAxODIgKi8KKwkiRVJSTk9fMTgzIiwgLyogMTgzICovCisJIkVSUk5PXzE4NCIsIC8qIDE4NCAqLworCSJFUlJOT18xODUiLCAvKiAxODUgKi8KKwkiRVJSTk9fMTg2IiwgLyogMTg2ICovCisJIkVSUk5PXzE4NyIsIC8qIDE4NyAqLworCSJFUlJOT18xODgiLCAvKiAxODggKi8KKwkiRVJSTk9fMTg5IiwgLyogMTg5ICovCisJIkVSUk5PXzE5MCIsIC8qIDE5MCAqLworCSJFUlJOT18xOTEiLCAvKiAxOTEgKi8KKwkiRVJSTk9fMTkyIiwgLyogMTkyICovCisJIkVSUk5PXzE5MyIsIC8qIDE5MyAqLworCSJFUlJOT18xOTQiLCAvKiAxOTQgKi8KKwkiRVJSTk9fMTk1IiwgLyogMTk1ICovCisJIkVSUk5PXzE5NiIsIC8qIDE5NiAqLworCSJFUlJOT18xOTciLCAvKiAxOTcgKi8KKwkiRVJSTk9fMTk4IiwgLyogMTk4ICovCisJIkVSUk5PXzE5OSIsIC8qIDE5OSAqLworCSJFUlJOT18yMDAiLCAvKiAyMDAgKi8KKwkiRVJSTk9fMjAxIiwgLyogMjAxICovCisJIkVSUk5PXzIwMiIsIC8qIDIwMiAqLworCSJFUlJOT18yMDMiLCAvKiAyMDMgKi8KKwkiRVJSTk9fMjA0IiwgLyogMjA0ICovCisJIkVSUk5PXzIwNSIsIC8qIDIwNSAqLworCSJFUlJOT18yMDYiLCAvKiAyMDYgKi8KKwkiRVJSTk9fMjA3IiwgLyogMjA3ICovCisJIkVSUk5PXzIwOCIsIC8qIDIwOCAqLworCSJFUlJOT18yMDkiLCAvKiAyMDkgKi8KKwkiRVJSTk9fMjEwIiwgLyogMjEwICovCisJIkVSUk5PXzIxMSIsIC8qIDIxMSAqLworCSJFUlJOT18yMTIiLCAvKiAyMTIgKi8KKwkiRVJSTk9fMjEzIiwgLyogMjEzICovCisJIkVSUk5PXzIxNCIsIC8qIDIxNCAqLworCSJFUlJOT18yMTUiLCAvKiAyMTUgKi8KKwkiRVJSTk9fMjE2IiwgLyogMjE2ICovCisJIkVSUk5PXzIxNyIsIC8qIDIxNyAqLworCSJFUlJOT18yMTgiLCAvKiAyMTggKi8KKwkiRVJSTk9fMjE5IiwgLyogMjE5ICovCisJIkVSUk5PXzIyMCIsIC8qIDIyMCAqLworCSJFUlJOT18yMjEiLCAvKiAyMjEgKi8KKwkiRVJSTk9fMjIyIiwgLyogMjIyICovCisJIkVSUk5PXzIyMyIsIC8qIDIyMyAqLworCSJFUlJOT18yMjQiLCAvKiAyMjQgKi8KKwkiRVJSTk9fMjI1IiwgLyogMjI1ICovCisJIkVSUk5PXzIyNiIsIC8qIDIyNiAqLworCSJFUlJOT18yMjciLCAvKiAyMjcgKi8KKwkiRVJSTk9fMjI4IiwgLyogMjI4ICovCisJIkVSUk5PXzIyOSIsIC8qIDIyOSAqLworCSJFUlJOT18yMzAiLCAvKiAyMzAgKi8KKwkiRVJSTk9fMjMxIiwgLyogMjMxICovCisJIkVSUk5PXzIzMiIsIC8qIDIzMiAqLworCSJFUlJOT18yMzMiLCAvKiAyMzMgKi8KKwkiRVJSTk9fMjM0IiwgLyogMjM0ICovCisJIkVSUk5PXzIzNSIsIC8qIDIzNSAqLworCSJFUlJOT18yMzYiLCAvKiAyMzYgKi8KKwkiRVJSTk9fMjM3IiwgLyogMjM3ICovCisJIkVSUk5PXzIzOCIsIC8qIDIzOCAqLworCSJFUlJOT18yMzkiLCAvKiAyMzkgKi8KKwkiRVJSTk9fMjQwIiwgLyogMjQwICovCisJIkVSUk5PXzI0MSIsIC8qIDI0MSAqLworCSJFUlJOT18yNDIiLCAvKiAyNDIgKi8KKwkiRVJSTk9fMjQzIiwgLyogMjQzICovCisJIkVSUk5PXzI0NCIsIC8qIDI0NCAqLworCSJFUlJOT18yNDUiLCAvKiAyNDUgKi8KKwkiRVJSTk9fMjQ2IiwgLyogMjQ2ICovCisJIkVSUk5PXzI0NyIsIC8qIDI0NyAqLworCSJFUlJOT18yNDgiLCAvKiAyNDggKi8KKwkiRVJSTk9fMjQ5IiwgLyogMjQ5ICovCisJIkVSUk5PXzI1MCIsIC8qIDI1MCAqLworCSJFUlJOT18yNTEiLCAvKiAyNTEgKi8KKwkiRVJSTk9fMjUyIiwgLyogMjUyICovCisJIkVSUk5PXzI1MyIsIC8qIDI1MyAqLworCSJFUlJOT18yNTQiLCAvKiAyNTQgKi8KKwkiRVJSTk9fMjU1IiwgLyogMjU1ICovCisJIkVSUk5PXzI1NiIsIC8qIDI1NiAqLworCSJFUlJOT18yNTciLCAvKiAyNTcgKi8KKwkiRVJSTk9fMjU4IiwgLyogMjU4ICovCisJIkVSUk5PXzI1OSIsIC8qIDI1OSAqLworCSJFUlJOT18yNjAiLCAvKiAyNjAgKi8KKwkiRVJSTk9fMjYxIiwgLyogMjYxICovCisJIkVSUk5PXzI2MiIsIC8qIDI2MiAqLworCSJFUlJOT18yNjMiLCAvKiAyNjMgKi8KKwkiRVJSTk9fMjY0IiwgLyogMjY0ICovCisJIkVSUk5PXzI2NSIsIC8qIDI2NSAqLworCSJFUlJOT18yNjYiLCAvKiAyNjYgKi8KKwkiRVJSTk9fMjY3IiwgLyogMjY3ICovCisJIkVSUk5PXzI2OCIsIC8qIDI2OCAqLworCSJFUlJOT18yNjkiLCAvKiAyNjkgKi8KKwkiRVJSTk9fMjcwIiwgLyogMjcwICovCisJIkVSUk5PXzI3MSIsIC8qIDI3MSAqLworCSJFUlJOT18yNzIiLCAvKiAyNzIgKi8KKwkiRVJSTk9fMjczIiwgLyogMjczICovCisJIkVSUk5PXzI3NCIsIC8qIDI3NCAqLworCSJFUlJOT18yNzUiLCAvKiAyNzUgKi8KKwkiRVJSTk9fMjc2IiwgLyogMjc2ICovCisJIkVSUk5PXzI3NyIsIC8qIDI3NyAqLworCSJFUlJOT18yNzgiLCAvKiAyNzggKi8KKwkiRVJSTk9fMjc5IiwgLyogMjc5ICovCisJIkVSUk5PXzI4MCIsIC8qIDI4MCAqLworCSJFUlJOT18yODEiLCAvKiAyODEgKi8KKwkiRVJSTk9fMjgyIiwgLyogMjgyICovCisJIkVSUk5PXzI4MyIsIC8qIDI4MyAqLworCSJFUlJOT18yODQiLCAvKiAyODQgKi8KKwkiRVJSTk9fMjg1IiwgLyogMjg1ICovCisJIkVSUk5PXzI4NiIsIC8qIDI4NiAqLworCSJFUlJOT18yODciLCAvKiAyODcgKi8KKwkiRVJSTk9fMjg4IiwgLyogMjg4ICovCisJIkVSUk5PXzI4OSIsIC8qIDI4OSAqLworCSJFUlJOT18yOTAiLCAvKiAyOTAgKi8KKwkiRVJSTk9fMjkxIiwgLyogMjkxICovCisJIkVSUk5PXzI5MiIsIC8qIDI5MiAqLworCSJFUlJOT18yOTMiLCAvKiAyOTMgKi8KKwkiRVJSTk9fMjk0IiwgLyogMjk0ICovCisJIkVSUk5PXzI5NSIsIC8qIDI5NSAqLworCSJFUlJOT18yOTYiLCAvKiAyOTYgKi8KKwkiRVJSTk9fMjk3IiwgLyogMjk3ICovCisJIkVSUk5PXzI5OCIsIC8qIDI5OCAqLworCSJFUlJOT18yOTkiLCAvKiAyOTkgKi8KKwkiRVJSTk9fMzAwIiwgLyogMzAwICovCisJIkVSUk5PXzMwMSIsIC8qIDMwMSAqLworCSJFUlJOT18zMDIiLCAvKiAzMDIgKi8KKwkiRVJSTk9fMzAzIiwgLyogMzAzICovCisJIkVSUk5PXzMwNCIsIC8qIDMwNCAqLworCSJFUlJOT18zMDUiLCAvKiAzMDUgKi8KKwkiRVJSTk9fMzA2IiwgLyogMzA2ICovCisJIkVSUk5PXzMwNyIsIC8qIDMwNyAqLworCSJFUlJOT18zMDgiLCAvKiAzMDggKi8KKwkiRVJSTk9fMzA5IiwgLyogMzA5ICovCisJIkVSUk5PXzMxMCIsIC8qIDMxMCAqLworCSJFUlJOT18zMTEiLCAvKiAzMTEgKi8KKwkiRVJSTk9fMzEyIiwgLyogMzEyICovCisJIkVSUk5PXzMxMyIsIC8qIDMxMyAqLworCSJFUlJOT18zMTQiLCAvKiAzMTQgKi8KKwkiRVJSTk9fMzE1IiwgLyogMzE1ICovCisJIkVSUk5PXzMxNiIsIC8qIDMxNiAqLworCSJFUlJOT18zMTciLCAvKiAzMTcgKi8KKwkiRVJSTk9fMzE4IiwgLyogMzE4ICovCisJIkVSUk5PXzMxOSIsIC8qIDMxOSAqLworCSJFUlJOT18zMjAiLCAvKiAzMjAgKi8KKwkiRVJSTk9fMzIxIiwgLyogMzIxICovCisJIkVSUk5PXzMyMiIsIC8qIDMyMiAqLworCSJFUlJOT18zMjMiLCAvKiAzMjMgKi8KKwkiRVJSTk9fMzI0IiwgLyogMzI0ICovCisJIkVSUk5PXzMyNSIsIC8qIDMyNSAqLworCSJFUlJOT18zMjYiLCAvKiAzMjYgKi8KKwkiRVJSTk9fMzI3IiwgLyogMzI3ICovCisJIkVSUk5PXzMyOCIsIC8qIDMyOCAqLworCSJFUlJOT18zMjkiLCAvKiAzMjkgKi8KKwkiRVJSTk9fMzMwIiwgLyogMzMwICovCisJIkVSUk5PXzMzMSIsIC8qIDMzMSAqLworCSJFUlJOT18zMzIiLCAvKiAzMzIgKi8KKwkiRVJSTk9fMzMzIiwgLyogMzMzICovCisJIkVSUk5PXzMzNCIsIC8qIDMzNCAqLworCSJFUlJOT18zMzUiLCAvKiAzMzUgKi8KKwkiRVJSTk9fMzM2IiwgLyogMzM2ICovCisJIkVSUk5PXzMzNyIsIC8qIDMzNyAqLworCSJFUlJOT18zMzgiLCAvKiAzMzggKi8KKwkiRVJSTk9fMzM5IiwgLyogMzM5ICovCisJIkVSUk5PXzM0MCIsIC8qIDM0MCAqLworCSJFUlJOT18zNDEiLCAvKiAzNDEgKi8KKwkiRVJSTk9fMzQyIiwgLyogMzQyICovCisJIkVSUk5PXzM0MyIsIC8qIDM0MyAqLworCSJFUlJOT18zNDQiLCAvKiAzNDQgKi8KKwkiRVJSTk9fMzQ1IiwgLyogMzQ1ICovCisJIkVSUk5PXzM0NiIsIC8qIDM0NiAqLworCSJFUlJOT18zNDciLCAvKiAzNDcgKi8KKwkiRVJSTk9fMzQ4IiwgLyogMzQ4ICovCisJIkVSUk5PXzM0OSIsIC8qIDM0OSAqLworCSJFUlJOT18zNTAiLCAvKiAzNTAgKi8KKwkiRVJSTk9fMzUxIiwgLyogMzUxICovCisJIkVSUk5PXzM1MiIsIC8qIDM1MiAqLworCSJFUlJOT18zNTMiLCAvKiAzNTMgKi8KKwkiRVJSTk9fMzU0IiwgLyogMzU0ICovCisJIkVSUk5PXzM1NSIsIC8qIDM1NSAqLworCSJFUlJOT18zNTYiLCAvKiAzNTYgKi8KKwkiRVJSTk9fMzU3IiwgLyogMzU3ICovCisJIkVSUk5PXzM1OCIsIC8qIDM1OCAqLworCSJFUlJOT18zNTkiLCAvKiAzNTkgKi8KKwkiRVJSTk9fMzYwIiwgLyogMzYwICovCisJIkVSUk5PXzM2MSIsIC8qIDM2MSAqLworCSJFUlJOT18zNjIiLCAvKiAzNjIgKi8KKwkiRVJSTk9fMzYzIiwgLyogMzYzICovCisJIkVSUk5PXzM2NCIsIC8qIDM2NCAqLworCSJFUlJOT18zNjUiLCAvKiAzNjUgKi8KKwkiRVJSTk9fMzY2IiwgLyogMzY2ICovCisJIkVSUk5PXzM2NyIsIC8qIDM2NyAqLworCSJFUlJOT18zNjgiLCAvKiAzNjggKi8KKwkiRVJSTk9fMzY5IiwgLyogMzY5ICovCisJIkVSUk5PXzM3MCIsIC8qIDM3MCAqLworCSJFUlJOT18zNzEiLCAvKiAzNzEgKi8KKwkiRVJSTk9fMzcyIiwgLyogMzcyICovCisJIkVSUk5PXzM3MyIsIC8qIDM3MyAqLworCSJFUlJOT18zNzQiLCAvKiAzNzQgKi8KKwkiRVJSTk9fMzc1IiwgLyogMzc1ICovCisJIkVSUk5PXzM3NiIsIC8qIDM3NiAqLworCSJFUlJOT18zNzciLCAvKiAzNzcgKi8KKwkiRVJSTk9fMzc4IiwgLyogMzc4ICovCisJIkVSUk5PXzM3OSIsIC8qIDM3OSAqLworCSJFUlJOT18zODAiLCAvKiAzODAgKi8KKwkiRVJSTk9fMzgxIiwgLyogMzgxICovCisJIkVSUk5PXzM4MiIsIC8qIDM4MiAqLworCSJFUlJOT18zODMiLCAvKiAzODMgKi8KKwkiRVJSTk9fMzg0IiwgLyogMzg0ICovCisJIkVSUk5PXzM4NSIsIC8qIDM4NSAqLworCSJFUlJOT18zODYiLCAvKiAzODYgKi8KKwkiRVJSTk9fMzg3IiwgLyogMzg3ICovCisJIkVSUk5PXzM4OCIsIC8qIDM4OCAqLworCSJFUlJOT18zODkiLCAvKiAzODkgKi8KKwkiRVJSTk9fMzkwIiwgLyogMzkwICovCisJIkVSUk5PXzM5MSIsIC8qIDM5MSAqLworCSJFUlJOT18zOTIiLCAvKiAzOTIgKi8KKwkiRVJSTk9fMzkzIiwgLyogMzkzICovCisJIkVSUk5PXzM5NCIsIC8qIDM5NCAqLworCSJFUlJOT18zOTUiLCAvKiAzOTUgKi8KKwkiRVJSTk9fMzk2IiwgLyogMzk2ICovCisJIkVSUk5PXzM5NyIsIC8qIDM5NyAqLworCSJFUlJOT18zOTgiLCAvKiAzOTggKi8KKwkiRVJSTk9fMzk5IiwgLyogMzk5ICovCisJIkVSUk5PXzQwMCIsIC8qIDQwMCAqLworCSJFUlJOT180MDEiLCAvKiA0MDEgKi8KKwkiRVJSTk9fNDAyIiwgLyogNDAyICovCisJIkVSUk5PXzQwMyIsIC8qIDQwMyAqLworCSJFUlJOT180MDQiLCAvKiA0MDQgKi8KKwkiRVJSTk9fNDA1IiwgLyogNDA1ICovCisJIkVSUk5PXzQwNiIsIC8qIDQwNiAqLworCSJFUlJOT180MDciLCAvKiA0MDcgKi8KKwkiRVJSTk9fNDA4IiwgLyogNDA4ICovCisJIkVSUk5PXzQwOSIsIC8qIDQwOSAqLworCSJFUlJOT180MTAiLCAvKiA0MTAgKi8KKwkiRVJSTk9fNDExIiwgLyogNDExICovCisJIkVSUk5PXzQxMiIsIC8qIDQxMiAqLworCSJFUlJOT180MTMiLCAvKiA0MTMgKi8KKwkiRVJSTk9fNDE0IiwgLyogNDE0ICovCisJIkVSUk5PXzQxNSIsIC8qIDQxNSAqLworCSJFUlJOT180MTYiLCAvKiA0MTYgKi8KKwkiRVJSTk9fNDE3IiwgLyogNDE3ICovCisJIkVSUk5PXzQxOCIsIC8qIDQxOCAqLworCSJFUlJOT180MTkiLCAvKiA0MTkgKi8KKwkiRVJSTk9fNDIwIiwgLyogNDIwICovCisJIkVSUk5PXzQyMSIsIC8qIDQyMSAqLworCSJFUlJOT180MjIiLCAvKiA0MjIgKi8KKwkiRVJSTk9fNDIzIiwgLyogNDIzICovCisJIkVSUk5PXzQyNCIsIC8qIDQyNCAqLworCSJFUlJOT180MjUiLCAvKiA0MjUgKi8KKwkiRVJSTk9fNDI2IiwgLyogNDI2ICovCisJIkVSUk5PXzQyNyIsIC8qIDQyNyAqLworCSJFUlJOT180MjgiLCAvKiA0MjggKi8KKwkiRVJSTk9fNDI5IiwgLyogNDI5ICovCisJIkVSUk5PXzQzMCIsIC8qIDQzMCAqLworCSJFUlJOT180MzEiLCAvKiA0MzEgKi8KKwkiRVJSTk9fNDMyIiwgLyogNDMyICovCisJIkVSUk5PXzQzMyIsIC8qIDQzMyAqLworCSJFUlJOT180MzQiLCAvKiA0MzQgKi8KKwkiRVJSTk9fNDM1IiwgLyogNDM1ICovCisJIkVSUk5PXzQzNiIsIC8qIDQzNiAqLworCSJFUlJOT180MzciLCAvKiA0MzcgKi8KKwkiRVJSTk9fNDM4IiwgLyogNDM4ICovCisJIkVSUk5PXzQzOSIsIC8qIDQzOSAqLworCSJFUlJOT180NDAiLCAvKiA0NDAgKi8KKwkiRVJSTk9fNDQxIiwgLyogNDQxICovCisJIkVSUk5PXzQ0MiIsIC8qIDQ0MiAqLworCSJFUlJOT180NDMiLCAvKiA0NDMgKi8KKwkiRVJSTk9fNDQ0IiwgLyogNDQ0ICovCisJIkVSUk5PXzQ0NSIsIC8qIDQ0NSAqLworCSJFUlJOT180NDYiLCAvKiA0NDYgKi8KKwkiRVJSTk9fNDQ3IiwgLyogNDQ3ICovCisJIkVSUk5PXzQ0OCIsIC8qIDQ0OCAqLworCSJFUlJOT180NDkiLCAvKiA0NDkgKi8KKwkiRVJSTk9fNDUwIiwgLyogNDUwICovCisJIkVSUk5PXzQ1MSIsIC8qIDQ1MSAqLworCSJFUlJOT180NTIiLCAvKiA0NTIgKi8KKwkiRVJSTk9fNDUzIiwgLyogNDUzICovCisJIkVSUk5PXzQ1NCIsIC8qIDQ1NCAqLworCSJFUlJOT180NTUiLCAvKiA0NTUgKi8KKwkiRVJSTk9fNDU2IiwgLyogNDU2ICovCisJIkVSUk5PXzQ1NyIsIC8qIDQ1NyAqLworCSJFUlJOT180NTgiLCAvKiA0NTggKi8KKwkiRVJSTk9fNDU5IiwgLyogNDU5ICovCisJIkVSUk5PXzQ2MCIsIC8qIDQ2MCAqLworCSJFUlJOT180NjEiLCAvKiA0NjEgKi8KKwkiRVJSTk9fNDYyIiwgLyogNDYyICovCisJIkVSUk5PXzQ2MyIsIC8qIDQ2MyAqLworCSJFUlJOT180NjQiLCAvKiA0NjQgKi8KKwkiRVJSTk9fNDY1IiwgLyogNDY1ICovCisJIkVSUk5PXzQ2NiIsIC8qIDQ2NiAqLworCSJFUlJOT180NjciLCAvKiA0NjcgKi8KKwkiRVJSTk9fNDY4IiwgLyogNDY4ICovCisJIkVSUk5PXzQ2OSIsIC8qIDQ2OSAqLworCSJFUlJOT180NzAiLCAvKiA0NzAgKi8KKwkiRVJSTk9fNDcxIiwgLyogNDcxICovCisJIkVSUk5PXzQ3MiIsIC8qIDQ3MiAqLworCSJFUlJOT180NzMiLCAvKiA0NzMgKi8KKwkiRVJSTk9fNDc0IiwgLyogNDc0ICovCisJIkVSUk5PXzQ3NSIsIC8qIDQ3NSAqLworCSJFUlJOT180NzYiLCAvKiA0NzYgKi8KKwkiRVJSTk9fNDc3IiwgLyogNDc3ICovCisJIkVSUk5PXzQ3OCIsIC8qIDQ3OCAqLworCSJFUlJOT180NzkiLCAvKiA0NzkgKi8KKwkiRVJSTk9fNDgwIiwgLyogNDgwICovCisJIkVSUk5PXzQ4MSIsIC8qIDQ4MSAqLworCSJFUlJOT180ODIiLCAvKiA0ODIgKi8KKwkiRVJSTk9fNDgzIiwgLyogNDgzICovCisJIkVSUk5PXzQ4NCIsIC8qIDQ4NCAqLworCSJFUlJOT180ODUiLCAvKiA0ODUgKi8KKwkiRVJSTk9fNDg2IiwgLyogNDg2ICovCisJIkVSUk5PXzQ4NyIsIC8qIDQ4NyAqLworCSJFUlJOT180ODgiLCAvKiA0ODggKi8KKwkiRVJSTk9fNDg5IiwgLyogNDg5ICovCisJIkVSUk5PXzQ5MCIsIC8qIDQ5MCAqLworCSJFUlJOT180OTEiLCAvKiA0OTEgKi8KKwkiRVJSTk9fNDkyIiwgLyogNDkyICovCisJIkVSUk5PXzQ5MyIsIC8qIDQ5MyAqLworCSJFUlJOT180OTQiLCAvKiA0OTQgKi8KKwkiRVJSTk9fNDk1IiwgLyogNDk1ICovCisJIkVSUk5PXzQ5NiIsIC8qIDQ5NiAqLworCSJFUlJOT180OTciLCAvKiA0OTcgKi8KKwkiRVJSTk9fNDk4IiwgLyogNDk4ICovCisJIkVSUk5PXzQ5OSIsIC8qIDQ5OSAqLworCSJFUlJOT181MDAiLCAvKiA1MDAgKi8KKwkiRVJSTk9fNTAxIiwgLyogNTAxICovCisJIkVSUk5PXzUwMiIsIC8qIDUwMiAqLworCSJFUlJOT181MDMiLCAvKiA1MDMgKi8KKwkiRVJSTk9fNTA0IiwgLyogNTA0ICovCisJIkVSUk5PXzUwNSIsIC8qIDUwNSAqLworCSJFUlJOT181MDYiLCAvKiA1MDYgKi8KKwkiRVJSTk9fNTA3IiwgLyogNTA3ICovCisJIkVSUk5PXzUwOCIsIC8qIDUwOCAqLworCSJFUlJOT181MDkiLCAvKiA1MDkgKi8KKwkiRVJSTk9fNTEwIiwgLyogNTEwICovCisJIkVSUk5PXzUxMSIsIC8qIDUxMSAqLworCSJFUkVTVEFSVFNZUyIsIC8qIDUxMiAqLworCSJFUkVTVEFSVE5PSU5UUiIsIC8qIDUxMyAqLworCSJFUkVTVEFSVE5PSEFORCIsIC8qIDUxNCAqLworCSJFTk9JT0NUTENNRCIsIC8qIDUxNSAqLwpkaWZmIC0tZ2l0IGEvc3RyYWNlLTQuNS4yMC9saW51eC9hbHBoYS9pb2N0bGVudC5oIGIvc3RyYWNlLTQuNS4yMC9saW51eC9hbHBoYS9pb2N0bGVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNjZmRiNWIKLS0tIC9kZXYvbnVsbAorKysgYi9zdHJhY2UtNC41LjIwL2xpbnV4L2FscGhhL2lvY3RsZW50LmgKQEAgLTAsMCArMSw4NTIgQEAKKwl7ImxpbnV4L2ZzLmgiLAkiRklCTUFQIiwJMHgxfSwKKwl7ImxpbnV4L2ZzLmgiLAkiRklHRVRCU1oiLAkweDJ9LAorCXsibGludXgvZmQuaCIsCSJGREdFVFBSTSIsCTB4MjA0fSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRHRVRNQVhFUlJTIiwJMHgyMGV9LAorCXsibGludXgvZmQuaCIsCSJGREdFVERSVlRZUCIsCTB4MjBmfSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRHRVREUlZQUk0iLAkweDIxMX0sCisJeyJsaW51eC9mZC5oIiwJIkZER0VURFJWU1RBVCIsCTB4MjEyfSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRQT0xMRFJWU1RBVCIsCTB4MjEzfSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRHRVRGRENTVEFUIiwJMHgyMTV9LAorCXsibGludXgvZmQuaCIsCSJGRFdFUlJPUkdFVCIsCTB4MjE3fSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRDTFJQUk0iLAkweDI0MX0sCisJeyJsaW51eC9mZC5oIiwJIkZEU0VUUFJNIiwJMHgyNDJ9LAorCXsibGludXgvZmQuaCIsCSJGRERFRlBSTSIsCTB4MjQzfSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRNU0dPTiIsCTB4MjQ1fSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRNU0dPRkYiLAkweDI0Nn0sCisJeyJsaW51eC9mZC5oIiwJIkZERk1UQkVHIiwJMHgyNDd9LAorCXsibGludXgvZmQuaCIsCSJGREZNVFRSSyIsCTB4MjQ4fSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRGTVRFTkQiLAkweDI0OX0sCisJeyJsaW51eC9mZC5oIiwJIkZEU0VURU1TR1RSRVNIIiwJMHgyNGF9LAorCXsibGludXgvZmQuaCIsCSJGREZMVVNIIiwJMHgyNGJ9LAorCXsibGludXgvZmQuaCIsCSJGRFNFVE1BWEVSUlMiLAkweDI0Y30sCisJeyJsaW51eC9mZC5oIiwJIkZEUkVTRVQiLAkweDI1NH0sCisJeyJsaW51eC9mZC5oIiwJIkZEV0VSUk9SQ0xSIiwJMHgyNTZ9LAorCXsibGludXgvZmQuaCIsCSJGRFJBV0NNRCIsCTB4MjU4fSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRUV0FERExFIiwJMHgyNTl9LAorCXsibGludXgvZmQuaCIsCSJGREVKRUNUIiwJMHgyNWF9LAorCXsibGludXgvZmQuaCIsCSJGRFNFVERSVlBSTSIsCTB4MjkwfSwKKwl7ImxpbnV4L3Vtc2Rvc19mcy5oIiwJIlVNU0RPU19SRUFERElSX0RPUyIsCTB4NGQyfSwKKwl7ImxpbnV4L3Vtc2Rvc19mcy5oIiwJIlVNU0RPU19VTkxJTktfRE9TIiwJMHg0ZDN9LAorCXsibGludXgvdW1zZG9zX2ZzLmgiLAkiVU1TRE9TX1JNRElSX0RPUyIsCTB4NGQ0fSwKKwl7ImxpbnV4L3Vtc2Rvc19mcy5oIiwJIlVNU0RPU19TVEFUX0RPUyIsCTB4NGQ1fSwKKwl7ImxpbnV4L3Vtc2Rvc19mcy5oIiwJIlVNU0RPU19DUkVBVF9FTUQiLAkweDRkNn0sCisJeyJsaW51eC91bXNkb3NfZnMuaCIsCSJVTVNET1NfVU5MSU5LX0VNRCIsCTB4NGQ3fSwKKwl7ImxpbnV4L3Vtc2Rvc19mcy5oIiwJIlVNU0RPU19SRUFERElSX0VNRCIsCTB4NGQ4fSwKKwl7ImxpbnV4L3Vtc2Rvc19mcy5oIiwJIlVNU0RPU19HRVRWRVJTSU9OIiwJMHg0ZDl9LAorCXsibGludXgvdW1zZG9zX2ZzLmgiLAkiVU1TRE9TX0lOSVRfRU1EIiwJMHg0ZGF9LAorCXsibGludXgvdW1zZG9zX2ZzLmgiLAkiVU1TRE9TX0RPU19TRVRVUCIsCTB4NGRifSwKKwl7ImxpbnV4L3Vtc2Rvc19mcy5oIiwJIlVNU0RPU19SRU5BTUVfRE9TIiwJMHg0ZGN9LAorCXsibGludXgvZnMuaCIsCSJCTEtST1NFVCIsCTB4MTI1ZH0sCisJeyJsaW51eC9mcy5oIiwJIkJMS1JPR0VUIiwJMHgxMjVlfSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLUlJQQVJUIiwJMHgxMjVmfSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLR0VUU0laRSIsCTB4MTI2MH0sCisJeyJsaW51eC9mcy5oIiwJIkJMS0ZMU0JVRiIsCTB4MTI2MX0sCisJeyJsaW51eC9mcy5oIiwJIkJMS1JBU0VUIiwJMHgxMjYyfSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLUkFHRVQiLAkweDEyNjN9LAorCXsibGludXgvZnMuaCIsCSJCTEtGUkFTRVQiLAkweDEyNjR9LAorCXsibGludXgvZnMuaCIsCSJCTEtGUkFHRVQiLAkweDEyNjV9LAorCXsibGludXgvZnMuaCIsCSJCTEtTRUNUU0VUIiwJMHgxMjY2fSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLU0VDVEdFVCIsCTB4MTI2N30sCisJeyJsaW51eC9mcy5oIiwJIkJMS1NTWkdFVCIsCTB4MTI2OH0sCisJeyJsaW51eC9ibGtwZy5oIiwJIkJMS1BHIiwJMHgxMjY5fSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLUEciLAkweDEyNjl9LAorCXsibGludXgvZWxldmF0b3IuaCIsCSJCTEtFTFZHRVQiLAkweDEyNmF9LAorCXsibGludXgvZnMuaCIsCSJCTEtFTFZHRVQiLAkweDEyNmF9LAorCXsibGludXgvZWxldmF0b3IuaCIsCSJCTEtFTFZTRVQiLAkweDEyNmJ9LAorCXsibGludXgvZnMuaCIsCSJCTEtFTFZTRVQiLAkweDEyNmJ9LAorCXsibGludXgvZnMuaCIsCSJCTEtCU1pHRVQiLAkweDEyNzB9LAorCXsibGludXgvZnMuaCIsCSJCTEtCU1pTRVQiLAkweDEyNzF9LAorCXsibGludXgvZnMuaCIsCSJCTEtHRVRTSVpFNjQiLAkweDEyNzJ9LAorCXsibGludXgvYWdwZ2FydC5oIiwJIkFHUElPQ19JTkZPIiwJMHg0MTAwfSwKKwl7ImxpbnV4L2FncGdhcnQuaCIsCSJBR1BJT0NfQUNRVUlSRSIsCTB4NDEwMX0sCisJeyJsaW51eC9hcG1fYmlvcy5oIiwJIkFQTV9JT0NfU1RBTkRCWSIsCTB4NDEwMX0sCisJeyJsaW51eC9hZ3BnYXJ0LmgiLAkiQUdQSU9DX1JFTEVBU0UiLAkweDQxMDJ9LAorCXsibGludXgvYXBtX2Jpb3MuaCIsCSJBUE1fSU9DX1NVU1BFTkQiLAkweDQxMDJ9LAorCXsibGludXgvYWdwZ2FydC5oIiwJIkFHUElPQ19TRVRVUCIsCTB4NDEwM30sCisJeyJsaW51eC9hZ3BnYXJ0LmgiLAkiQUdQSU9DX1JFU0VSVkUiLAkweDQxMDR9LAorCXsibGludXgvYWdwZ2FydC5oIiwJIkFHUElPQ19QUk9URUNUIiwJMHg0MTA1fSwKKwl7ImxpbnV4L2FncGdhcnQuaCIsCSJBR1BJT0NfQUxMT0NBVEUiLAkweDQxMDZ9LAorCXsibGludXgvYWdwZ2FydC5oIiwJIkFHUElPQ19ERUFMTE9DQVRFIiwJMHg0MTA3fSwKKwl7ImxpbnV4L2FncGdhcnQuaCIsCSJBR1BJT0NfQklORCIsCTB4NDEwOH0sCisJeyJsaW51eC9hZ3BnYXJ0LmgiLAkiQUdQSU9DX1VOQklORCIsCTB4NDEwOX0sCisJeyJsaW51eC9wbXUuaCIsCSJQTVVfSU9DX1NMRUVQIiwJMHg0MjAwfSwKKwl7ImxpbnV4L2NjaXNzX2lvY3RsLmgiLAkiQ0NJU1NfR0VUUENJSU5GTyIsCTB4NDIwMX0sCisJeyJsaW51eC9wbXUuaCIsCSJQTVVfSU9DX0dFVF9CQUNLTElHSFQiLAkweDQyMDF9LAorCXsibGludXgvY2Npc3NfaW9jdGwuaCIsCSJDQ0lTU19HRVRJTlRJTkZPIiwJMHg0MjAyfSwKKwl7ImxpbnV4L3BtdS5oIiwJIlBNVV9JT0NfU0VUX0JBQ0tMSUdIVCIsCTB4NDIwMn0sCisJeyJsaW51eC9jY2lzc19pb2N0bC5oIiwJIkNDSVNTX1NFVElOVElORk8iLAkweDQyMDN9LAorCXsibGludXgvcG11LmgiLAkiUE1VX0lPQ19HRVRfTU9ERUwiLAkweDQyMDN9LAorCXsibGludXgvY2Npc3NfaW9jdGwuaCIsCSJDQ0lTU19HRVROT0RFTkFNRSIsCTB4NDIwNH0sCisJeyJsaW51eC9wbXUuaCIsCSJQTVVfSU9DX0hBU19BREIiLAkweDQyMDR9LAorCXsibGludXgvY2Npc3NfaW9jdGwuaCIsCSJDQ0lTU19TRVROT0RFTkFNRSIsCTB4NDIwNX0sCisJeyJsaW51eC9wbXUuaCIsCSJQTVVfSU9DX0NBTl9TTEVFUCIsCTB4NDIwNX0sCisJeyJsaW51eC9jY2lzc19pb2N0bC5oIiwJIkNDSVNTX0dFVEhFQVJUQkVBVCIsCTB4NDIwNn0sCisJeyJsaW51eC9jY2lzc19pb2N0bC5oIiwJIkNDSVNTX0dFVEJVU1RZUEVTIiwJMHg0MjA3fSwKKwl7ImxpbnV4L2NjaXNzX2lvY3RsLmgiLAkiQ0NJU1NfR0VURklSTVZFUiIsCTB4NDIwOH0sCisJeyJsaW51eC9jY2lzc19pb2N0bC5oIiwJIkNDSVNTX0dFVERSSVZWRVIiLAkweDQyMDl9LAorCXsibGludXgvY2Npc3NfaW9jdGwuaCIsCSJDQ0lTU19SRVZBTElEVk9MUyIsCTB4NDIwYX0sCisJeyJsaW51eC9jY2lzc19pb2N0bC5oIiwJIkNDSVNTX1BBU1NUSFJVIiwJMHg0MjBifSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9DT1BSX1JFU0VUIiwJMHg0MzAwfSwKKwl7ImxpbnV4L2NhcGkuaCIsCSJDQVBJX1JFR0lTVEVSIiwJMHg0MzAxfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9DT1BSX0xPQUQiLAkweDQzMDF9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0NPUFJfUkRBVEEiLAkweDQzMDJ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0NPUFJfUkNPREUiLAkweDQzMDN9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0NPUFJfV0RBVEEiLAkweDQzMDR9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0NPUFJfV0NPREUiLAkweDQzMDV9LAorCXsibGludXgvY2FwaS5oIiwJIkNBUElfR0VUX01BTlVGQUNUVVJFUiIsCTB4NDMwNn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfQ09QUl9SVU4iLAkweDQzMDZ9LAorCXsibGludXgvY2FwaS5oIiwJIkNBUElfR0VUX1ZFUlNJT04iLAkweDQzMDd9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0NPUFJfSEFMVCIsCTB4NDMwN30sCisJeyJsaW51eC9jYXBpLmgiLAkiQ0FQSV9HRVRfU0VSSUFMIiwJMHg0MzA4fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9DT1BSX1NFTkRNU0ciLAkweDQzMDh9LAorCXsibGludXgvY2FwaS5oIiwJIkNBUElfR0VUX1BST0ZJTEUiLAkweDQzMDl9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0NPUFJfUkNWTVNHIiwJMHg0MzA5fSwKKwl7ImxpbnV4L2NhcGkuaCIsCSJDQVBJX01BTlVGQUNUVVJFUl9DTUQiLAkweDQzMjB9LAorCXsibGludXgvY2FwaS5oIiwJIkNBUElfR0VUX0VSUkNPREUiLAkweDQzMjF9LAorCXsibGludXgvY2FwaS5oIiwJIkNBUElfSU5TVEFMTEVEIiwJMHg0MzIyfSwKKwl7ImxpbnV4L2NhcGkuaCIsCSJDQVBJX0dFVF9GTEFHUyIsCTB4NDMyM30sCisJeyJsaW51eC9jYXBpLmgiLAkiQ0FQSV9TRVRfRkxBR1MiLAkweDQzMjR9LAorCXsibGludXgvY2FwaS5oIiwJIkNBUElfQ0xSX0ZMQUdTIiwJMHg0MzI1fSwKKwl7ImxpbnV4L2NhcGkuaCIsCSJDQVBJX05DQ0lfT1BFTkNPVU5UIiwJMHg0MzI2fSwKKwl7ImxpbnV4L2NhcGkuaCIsCSJDQVBJX05DQ0lfR0VUVU5JVCIsCTB4NDMyN30sCisJeyJsaW51eC9pbnB1dC5oIiwJIkVWSU9DR1ZFUlNJT04iLAkweDQ1MDF9LAorCXsibGludXgvaW5wdXQuaCIsCSJFVklPQ0dJRCIsCTB4NDUwMn0sCisJeyJsaW51eC9pbnB1dC5oIiwJIkVWSU9DR1JFUCIsCTB4NDUwM30sCisJeyJsaW51eC9pbnB1dC5oIiwJIkVWSU9DU1JFUCIsCTB4NDUwM30sCisJeyJsaW51eC9pbnB1dC5oIiwJIkVWSU9DR0tFWUNPREUiLAkweDQ1MDR9LAorCXsibGludXgvaW5wdXQuaCIsCSJFVklPQ1NLRVlDT0RFIiwJMHg0NTA0fSwKKwl7ImxpbnV4L2lucHV0LmgiLAkiRVZJT0NHS0VZIiwJMHg0NTA1fSwKKwl7ImxpbnV4L2lucHV0LmgiLAkiRVZJT0NHQlVTIiwJMHg0NTA3fSwKKwl7ImxpbnV4L2lucHV0LmgiLAkiRVZJT0NSTUZGIiwJMHg0NTgxfSwKKwl7ImxpbnV4L2lucHV0LmgiLAkiRVZJT0NTR0FJTiIsCTB4NDU4Mn0sCisJeyJsaW51eC9pbnB1dC5oIiwJIkVWSU9DU0FVVE9DRU5URVIiLAkweDQ1ODN9LAorCXsibGludXgvaW5wdXQuaCIsCSJFVklPQ0dFRkZFQ1RTIiwJMHg0NTg0fSwKKwl7ImxpbnV4L2ZiLmgiLAkiRkJJT0dFVF9WQkxBTksiLAkweDQ2MTJ9LAorCXsibGludXgvaGlkZGV2LmgiLAkiSElESU9DR1ZFUlNJT04iLAkweDQ4MDF9LAorCXsibGludXgvaGlkZGV2LmgiLAkiSElESU9DQVBQTElDQVRJT04iLAkweDQ4MDJ9LAorCXsibGludXgvaGlkZGV2LmgiLAkiSElESU9DR0RFVklORk8iLAkweDQ4MDN9LAorCXsibGludXgvaGlkZGV2LmgiLAkiSElESU9DR1NUUklORyIsCTB4NDgwNH0sCisJeyJsaW51eC9oaWRkZXYuaCIsCSJISURJT0NJTklUUkVQT1JUIiwJMHg0ODA1fSwKKwl7ImxpbnV4L2hpZGRldi5oIiwJIkhJRElPQ0dSRVBPUlQiLAkweDQ4MDd9LAorCXsibGludXgvaGlkZGV2LmgiLAkiSElESU9DU1JFUE9SVCIsCTB4NDgwOH0sCisJeyJsaW51eC9oaWRkZXYuaCIsCSJISURJT0NHUkVQT1JUSU5GTyIsCTB4NDgwOX0sCisJeyJsaW51eC9oaWRkZXYuaCIsCSJISURJT0NHRklFTERJTkZPIiwJMHg0ODBhfSwKKwl7ImxpbnV4L2hpZGRldi5oIiwJIkhJRElPQ0dVU0FHRSIsCTB4NDgwYn0sCisJeyJsaW51eC9oaWRkZXYuaCIsCSJISURJT0NTVVNBR0UiLAkweDQ4MGN9LAorCXsibGludXgvaGlkZGV2LmgiLAkiSElESU9DR1VDT0RFIiwJMHg0ODBkfSwKKwl7ImxpbnV4L2lzZG4uaCIsCSJJSU9DTkVUQUlGIiwJMHg0OTAxfSwKKwl7ImxpbnV4L2lzZG4uaCIsCSJJSU9DTkVURElGIiwJMHg0OTAyfSwKKwl7ImxpbnV4L2lzZG4uaCIsCSJJSU9DTkVUU0NGIiwJMHg0OTAzfSwKKwl7ImxpbnV4L2lzZG4uaCIsCSJJSU9DTkVUR0NGIiwJMHg0OTA0fSwKKwl7ImxpbnV4L2lzZG4uaCIsCSJJSU9DTkVUQU5NIiwJMHg0OTA1fSwKKwl7ImxpbnV4L2lzZG4uaCIsCSJJSU9DTkVURE5NIiwJMHg0OTA2fSwKKwl7ImxpbnV4L2lzZG4uaCIsCSJJSU9DTkVUR05NIiwJMHg0OTA3fSwKKwl7ImxpbnV4L2lzZG4uaCIsCSJJSU9DR0VUU0VUIiwJMHg0OTA4fSwKKwl7ImxpbnV4L2lzZG4uaCIsCSJJSU9DU0VUU0VUIiwJMHg0OTA5fSwKKwl7ImxpbnV4L2lzZG4uaCIsCSJJSU9DU0VUVkVSIiwJMHg0OTBhfSwKKwl7ImxpbnV4L2lzZG4uaCIsCSJJSU9DTkVUSFVQIiwJMHg0OTBifSwKKwl7ImxpbnV4L2lzZG4uaCIsCSJJSU9DU0VUR1NUIiwJMHg0OTBjfSwKKwl7ImxpbnV4L2lzZG4uaCIsCSJJSU9DU0VUQlJKIiwJMHg0OTBkfSwKKwl7ImxpbnV4L2lzZG4uaCIsCSJJSU9DU0lHUFJGIiwJMHg0OTBlfSwKKwl7ImxpbnV4L2lzZG4uaCIsCSJJSU9DR0VUUFJGIiwJMHg0OTBmfSwKKwl7ImxpbnV4L2lzZG4uaCIsCSJJSU9DU0VUUFJGIiwJMHg0OTEwfSwKKwl7ImxpbnV4L2lzZG4uaCIsCSJJSU9DR0VUTUFQIiwJMHg0OTExfSwKKwl7ImxpbnV4L2lzZG4uaCIsCSJJSU9DU0VUTUFQIiwJMHg0OTEyfSwKKwl7ImxpbnV4L2lzZG4uaCIsCSJJSU9DTkVUQVNMIiwJMHg0OTEzfSwKKwl7ImxpbnV4L2lzZG4uaCIsCSJJSU9DTkVURElMIiwJMHg0OTE0fSwKKwl7ImxpbnV4L2lzZG4uaCIsCSJJSU9DR0VUQ1BTIiwJMHg0OTE1fSwKKwl7ImxpbnV4L2lzZG4uaCIsCSJJSU9DR0VURFZSIiwJMHg0OTE2fSwKKwl7ImxpbnV4L2lzZG4uaCIsCSJJSU9DTkVUTENSIiwJMHg0OTE3fSwKKwl7ImxpbnV4L2lzZG4uaCIsCSJJSU9DTkVURFdSU0VUIiwJMHg0OTE4fSwKKwl7ImxpbnV4L2lzZG4uaCIsCSJJSU9DTkVUQUxOIiwJMHg0OTIwfSwKKwl7ImxpbnV4L2lzZG4uaCIsCSJJSU9DTkVURExOIiwJMHg0OTIxfSwKKwl7ImxpbnV4L2lzZG4uaCIsCSJJSU9DTkVUR1BOIiwJMHg0OTIyfSwKKwl7ImxpbnV4L2lzZG4uaCIsCSJJSU9DREJHVkFSIiwJMHg0OTdmfSwKKwl7ImxpbnV4L2lzZG4uaCIsCSJJSU9DRFJWQ1RMIiwJMHg0OTgwfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNPVU5EX01JWEVSX0lORk8iLAkweDRkNjV9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfT0xEX01JWEVSX0lORk8iLAkweDRkNjV9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfTUlYRVJfQUNDRVNTIiwJMHg0ZDY2fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNPVU5EX01JWEVSX0FHQyIsCTB4NGQ2N30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9NSVhFUl8zRFNFIiwJMHg0ZDY4fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNPVU5EX01JWEVSX1BSSVZBVEUxIiwJMHg0ZDZmfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNPVU5EX01JWEVSX1BSSVZBVEUyIiwJMHg0ZDcwfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNPVU5EX01JWEVSX1BSSVZBVEUzIiwJMHg0ZDcxfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNPVU5EX01JWEVSX1BSSVZBVEU0IiwJMHg0ZDcyfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNPVU5EX01JWEVSX1BSSVZBVEU1IiwJMHg0ZDczfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNPVU5EX01JWEVSX0dFVExFVkVMUyIsCTB4NGQ3NH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9NSVhFUl9TRVRMRVZFTFMiLAkweDRkNzV9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiT1NTX0dFVFZFUlNJT04iLAkweDRkNzZ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9SRVNFVCIsCTB4NTAwMH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX1NZTkMiLAkweDUwMDF9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9TUEVFRCIsCTB4NTAwMn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9QQ01fUkVBRF9SQVRFIiwJMHg1MDAyfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfU1RFUkVPIiwJMHg1MDAzfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfR0VUQkxLU0laRSIsCTB4NTAwNH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX1NFVEZNVCIsCTB4NTAwNX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9QQ01fUkVBRF9CSVRTIiwJMHg1MDA1fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfQ0hBTk5FTFMiLAkweDUwMDZ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfUENNX1JFQURfQ0hBTk5FTFMiLAkweDUwMDZ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfUENNX1dSSVRFX0ZJTFRFUiIsCTB4NTAwN30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9QQ01fUkVBRF9GSUxURVIiLAkweDUwMDd9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9QT1NUIiwJMHg1MDA4fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfU1VCRElWSURFIiwJMHg1MDA5fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfU0VURlJBR01FTlQiLAkweDUwMGF9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9HRVRGTVRTIiwJMHg1MDBifSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfR0VUT1NQQUNFIiwJMHg1MDBjfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfR0VUSVNQQUNFIiwJMHg1MDBkfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfTk9OQkxPQ0siLAkweDUwMGV9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9HRVRDQVBTIiwJMHg1MDBmfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfR0VUVFJJR0dFUiIsCTB4NTAxMH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX1NFVFRSSUdHRVIiLAkweDUwMTB9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9HRVRJUFRSIiwJMHg1MDExfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfR0VUT1BUUiIsCTB4NTAxMn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX01BUElOQlVGIiwJMHg1MDEzfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfTUFQT1VUQlVGIiwJMHg1MDE0fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfU0VUU1lOQ1JPIiwJMHg1MDE1fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfU0VURFVQTEVYIiwJMHg1MDE2fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfR0VUT0RFTEFZIiwJMHg1MDE3fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfUFJPRklMRSIsCTB4NTAxN30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX0dFVENIQU5ORUxNQVNLIiwJMHg1MDQwfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfQklORF9DSEFOTkVMIiwJMHg1MDQxfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfU0VUU1BESUYiLAkweDUwNDJ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9HRVRTUERJRiIsCTB4NTA0M30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU0VRX1JFU0VUIiwJMHg1MTAwfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TRVFfU1lOQyIsCTB4NTEwMX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU1lOVEhfSU5GTyIsCTB4NTEwMn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU0VRX0NUUkxSQVRFIiwJMHg1MTAzfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TRVFfR0VUT1VUQ09VTlQiLAkweDUxMDR9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NFUV9HRVRJTkNPVU5UIiwJMHg1MTA1fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TRVFfUEVSQ01PREUiLAkweDUxMDZ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0ZNX0xPQURfSU5TVFIiLAkweDUxMDd9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NFUV9URVNUTUlESSIsCTB4NTEwOH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU0VRX1JFU0VUU0FNUExFUyIsCTB4NTEwOX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU0VRX05SU1lOVEhTIiwJMHg1MTBhfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TRVFfTlJNSURJUyIsCTB4NTEwYn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfTUlESV9JTkZPIiwJMHg1MTBjfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TRVFfVEhSRVNIT0xEIiwJMHg1MTBkfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TWU5USF9NRU1BVkwiLAkweDUxMGV9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0ZNXzRPUF9FTkFCTEUiLAkweDUxMGZ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NFUV9QQU5JQyIsCTB4NTExMX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU0VRX09VVE9GQkFORCIsCTB4NTExMn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU0VRX0dFVFRJTUUiLAkweDUxMTN9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NZTlRIX0lEIiwJMHg1MTE0fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TWU5USF9DT05UUk9MIiwJMHg1MTE1fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TWU5USF9SRU1PVkVTQU1QTEUiLAkweDUxMTZ9LAorCXsibGludXgvcmFuZG9tLmgiLAkiUk5ER0VURU5UQ05UIiwJMHg1MjAwfSwKKwl7ImxpbnV4L3JhbmRvbS5oIiwJIlJOREFERFRPRU5UQ05UIiwJMHg1MjAxfSwKKwl7ImxpbnV4L3JhbmRvbS5oIiwJIlJOREdFVFBPT0wiLAkweDUyMDJ9LAorCXsibGludXgvcmFuZG9tLmgiLAkiUk5EQURERU5UUk9QWSIsCTB4NTIwM30sCisJeyJsaW51eC9yYW5kb20uaCIsCSJSTkRaQVBFTlRDTlQiLAkweDUyMDR9LAorCXsibGludXgvcmFuZG9tLmgiLAkiUk5EQ0xFQVJQT09MIiwJMHg1MjA2fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9UTVJfVElNRUJBU0UiLAkweDU0MDF9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1RNUl9TVEFSVCIsCTB4NTQwMn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfVE1SX1NUT1AiLAkweDU0MDN9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1RNUl9DT05USU5VRSIsCTB4NTQwNH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfVE1SX1RFTVBPIiwJMHg1NDA1fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9UTVJfU09VUkNFIiwJMHg1NDA2fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9UTVJfTUVUUk9OT01FIiwJMHg1NDA3fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9UTVJfU0VMRUNUIiwJMHg1NDA4fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DRVhDTCIsCTB4NTQwY30sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ05YQ0wiLAkweDU0MGR9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NTQ1RUWSIsCTB4NTQwZX0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NUSSIsCTB4NTQxMn0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ01HRVQiLAkweDU0MTV9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NNQklTIiwJMHg1NDE2fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DTUJJQyIsCTB4NTQxN30sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ01TRVQiLAkweDU0MTh9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NHU09GVENBUiIsCTB4NTQxOX0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NTT0ZUQ0FSIiwJMHg1NDFhfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DTElOVVgiLAkweDU0MWN9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NDT05TIiwJMHg1NDFkfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DR1NFUklBTCIsCTB4NTQxZX0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NTRVJJQUwiLAkweDU0MWZ9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NQS1QiLAkweDU0MjB9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NOT1RUWSIsCTB4NTQyMn0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NFVEQiLAkweDU0MjN9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NHRVREIiwJMHg1NDI0fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUQ1NCUktQIiwJMHg1NDI1fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DVFRZR1NUUlVDVCIsCTB4NTQyNn0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NCUksiLAkweDU0Mjd9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NDQlJLIiwJMHg1NDI4fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DR1NJRCIsCTB4NTQyOX0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ0dQVE4iLAkweDU0MzB9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NTUFRMQ0siLAkweDU0MzF9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NTRVJDT05GSUciLAkweDU0NTN9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NTRVJHV0lMRCIsCTB4NTQ1NH0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NFUlNXSUxEIiwJMHg1NDU1fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DR0xDS1RSTUlPUyIsCTB4NTQ1Nn0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NMQ0tUUk1JT1MiLAkweDU0NTd9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NTRVJHU1RSVUNUIiwJMHg1NDU4fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DU0VSR0VUTFNSIiwJMHg1NDU5fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DU0VSR0VUTVVMVEkiLAkweDU0NWF9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NTRVJTRVRNVUxUSSIsCTB4NTQ1Yn0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ01JV0FJVCIsCTB4NTQ1Y30sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ0dJQ09VTlQiLAkweDU0NWR9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NHSEFZRVNFU1AiLAkweDU0NWV9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NTSEFZRVNFU1AiLAkweDU0NWZ9LAorCXsibGludXgvaWZfdHVuLmgiLAkiVFVOU0VUTk9DU1VNIiwJMHg1NGM4fSwKKwl7ImxpbnV4L2lmX3R1bi5oIiwJIlRVTlNFVERFQlVHIiwJMHg1NGM5fSwKKwl7ImxpbnV4L2lmX3R1bi5oIiwJIlRVTlNFVElGRiIsCTB4NTRjYX0sCisJeyJsaW51eC9pZl90dW4uaCIsCSJUVU5TRVRQRVJTSVNUIiwJMHg1NGNifSwKKwl7ImxpbnV4L2lmX3R1bi5oIiwJIlRVTlNFVE9XTkVSIiwJMHg1NGNjfSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX0NPTlRST0wiLAkweDU1MDB9LAorCXsibGludXgvdXNiZGV2aWNlX2ZzLmgiLAkiVVNCREVWRlNfQlVMSyIsCTB4NTUwMn0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19SRVNFVEVQIiwJMHg1NTAzfSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX1NFVElOVEVSRkFDRSIsCTB4NTUwNH0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19TRVRDT05GSUdVUkFUSU9OIiwJMHg1NTA1fSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX0dFVERSSVZFUiIsCTB4NTUwOH0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19TVUJNSVRVUkIiLAkweDU1MGF9LAorCXsibGludXgvdXNiZGV2aWNlX2ZzLmgiLAkiVVNCREVWRlNfRElTQ0FSRFVSQiIsCTB4NTUwYn0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19SRUFQVVJCIiwJMHg1NTBjfSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX1JFQVBVUkJOREVMQVkiLAkweDU1MGR9LAorCXsibGludXgvdXNiZGV2aWNlX2ZzLmgiLAkiVVNCREVWRlNfRElTQ1NJR05BTCIsCTB4NTUwZX0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19DTEFJTUlOVEVSRkFDRSIsCTB4NTUwZn0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19SRUxFQVNFSU5URVJGQUNFIiwJMHg1NTEwfSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX0NPTk5FQ1RJTkZPIiwJMHg1NTExfSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX0lPQ1RMIiwJMHg1NTEyfSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX0hVQl9QT1JUSU5GTyIsCTB4NTUxM30sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19SRVNFVCIsCTB4NTUxNH0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19DTEVBUl9IQUxUIiwJMHg1NTE1fSwKKwl7ImxpbnV4L3dhdGNoZG9nLmgiLAkiV0RJT0NfR0VUU1VQUE9SVCIsCTB4NTcwMH0sCisJeyJsaW51eC93YXRjaGRvZy5oIiwJIldESU9DX0dFVFNUQVRVUyIsCTB4NTcwMX0sCisJeyJsaW51eC93YXRjaGRvZy5oIiwJIldESU9DX0dFVEJPT1RTVEFUVVMiLAkweDU3MDJ9LAorCXsibGludXgvd2F0Y2hkb2cuaCIsCSJXRElPQ19HRVRURU1QIiwJMHg1NzAzfSwKKwl7ImxpbnV4L3dhdGNoZG9nLmgiLAkiV0RJT0NfU0VUT1BUSU9OUyIsCTB4NTcwNH0sCisJeyJsaW51eC93YXRjaGRvZy5oIiwJIldESU9DX0tFRVBBTElWRSIsCTB4NTcwNX0sCisJeyJsaW51eC93YXRjaGRvZy5oIiwJIldESU9DX1NFVFRJTUVPVVQiLAkweDU3MDZ9LAorCXsibGludXgvd2F0Y2hkb2cuaCIsCSJXRElPQ19HRVRUSU1FT1VUIiwJMHg1NzA3fSwKKwl7ImxpbnV4L2l0ZV9ncGlvLmgiLAkiSVRFX0dQSU9fSU4iLAkweDVhMDB9LAorCXsibGludXgvaXRlX2dwaW8uaCIsCSJJVEVfR1BJT19PVVQiLAkweDVhMDF9LAorCXsibGludXgvaXRlX2dwaW8uaCIsCSJJVEVfR1BJT19JTlRfQ1RSTCIsCTB4NWEwMn0sCisJeyJsaW51eC9pdGVfZ3Bpby5oIiwJIklURV9HUElPX0lOX1NUQVRVUyIsCTB4NWEwM30sCisJeyJsaW51eC9pdGVfZ3Bpby5oIiwJIklURV9HUElPX09VVF9TVEFUVVMiLAkweDVhMDR9LAorCXsibGludXgvaXRlX2dwaW8uaCIsCSJJVEVfR1BJT19HRU5fQ1RSTCIsCTB4NWEwNX0sCisJeyJsaW51eC9pdGVfZ3Bpby5oIiwJIklURV9HUElPX0lOVF9XQUlUIiwJMHg1YTA2fSwKKwl7ImxpbnV4L3NvbmV0LmgiLAkiU09ORVRfR0VUU1RBVCIsCTB4NjExMH0sCisJeyJsaW51eC9zb25ldC5oIiwJIlNPTkVUX0dFVFNUQVRaIiwJMHg2MTExfSwKKwl7ImxpbnV4L3NvbmV0LmgiLAkiU09ORVRfU0VURElBRyIsCTB4NjExMn0sCisJeyJsaW51eC9zb25ldC5oIiwJIlNPTkVUX0NMUkRJQUciLAkweDYxMTN9LAorCXsibGludXgvc29uZXQuaCIsCSJTT05FVF9HRVRESUFHIiwJMHg2MTE0fSwKKwl7ImxpbnV4L3NvbmV0LmgiLAkiU09ORVRfU0VURlJBTUlORyIsCTB4NjExNX0sCisJeyJsaW51eC9zb25ldC5oIiwJIlNPTkVUX0dFVEZSQU1JTkciLAkweDYxMTZ9LAorCXsibGludXgvc29uZXQuaCIsCSJTT05FVF9HRVRGUlNFTlNFIiwJMHg2MTE3fSwKKwl7ImxpbnV4L2F0bV9pZHQ3NzEwNS5oIiwJIklEVDc3MTA1X0dFVFNUQVQiLAkweDYxMzJ9LAorCXsibGludXgvYXRtX2lkdDc3MTA1LmgiLAkiSURUNzcxMDVfR0VUU1RBVFoiLAkweDYxMzN9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX0dFVFNUQVQiLAkweDYxNTB9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX0dFVFNUQVRaIiwJMHg2MTUxfSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9HRVRMT09QIiwJMHg2MTUyfSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9TRVRMT09QIiwJMHg2MTUzfSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9RVUVSWUxPT1AiLAkweDYxNTR9LAorCXsibGludXgvYXRtX2VuaS5oIiwJIkVOSV9NRU1EVU1QIiwJMHg2MTYwfSwKKwl7ImxpbnV4L2F0bV9uaWNzdGFyLmgiLAkiTlNfR0VUUFNUQVQiLAkweDYxNjF9LAorCXsibGludXgvYXRtX3phdG0uaCIsCSJaQVRNX0dFVFBPT0wiLAkweDYxNjF9LAorCXsibGludXgvYXRtX25pY3N0YXIuaCIsCSJOU19TRVRCVUZMRVYiLAkweDYxNjJ9LAorCXsibGludXgvYXRtX3phdG0uaCIsCSJaQVRNX0dFVFBPT0xaIiwJMHg2MTYyfSwKKwl7ImxpbnV4L2F0bV9uaWNzdGFyLmgiLAkiTlNfQURKQlVGTEVWIiwJMHg2MTYzfSwKKwl7ImxpbnV4L2F0bV96YXRtLmgiLAkiWkFUTV9TRVRQT09MIiwJMHg2MTYzfSwKKwl7ImxpbnV4L2F0bV96YXRtLmgiLAkiWkFUTV9HRVRUSElTVCIsCTB4NjE2NH0sCisJeyJsaW51eC9hdG1fZW5pLmgiLAkiRU5JX1NFVE1VTFQiLAkweDYxNjd9LAorCXsibGludXgvYXRtX3RjcC5oIiwJIlNJT0NTSUZBVE1UQ1AiLAkweDYxODB9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX0dFVExJTktSQVRFIiwJMHg2MTgxfSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9HRVROQU1FUyIsCTB4NjE4M30sCisJeyJsaW51eC9hdG1kZXYuaCIsCSJBVE1fR0VUVFlQRSIsCTB4NjE4NH0sCisJeyJsaW51eC9hdG1kZXYuaCIsCSJBVE1fR0VURVNJIiwJMHg2MTg1fSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9HRVRBRERSIiwJMHg2MTg2fSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9SU1RBRERSIiwJMHg2MTg3fSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9BRERBRERSIiwJMHg2MTg4fSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9ERUxBRERSIiwJMHg2MTg5fSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9HRVRDSVJBTkdFIiwJMHg2MThhfSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9TRVRDSVJBTkdFIiwJMHg2MThifSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9TRVRFU0kiLAkweDYxOGN9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX1NFVEVTSUYiLAkweDYxOGR9LAorCXsibGludXgvYXRtX3RjcC5oIiwJIkFUTVRDUF9DUkVBVEUiLAkweDYxOGV9LAorCXsibGludXgvYXRtX3RjcC5oIiwJIkFUTVRDUF9SRU1PVkUiLAkweDYxOGZ9LAorCXsibGludXgvYXRtbGVjLmgiLAkiQVRNTEVDX0NUUkwiLAkweDYxZDB9LAorCXsibGludXgvYXRtbGVjLmgiLAkiQVRNTEVDX0RBVEEiLAkweDYxZDF9LAorCXsibGludXgvYXRtbGVjLmgiLAkiQVRNTEVDX01DQVNUIiwJMHg2MWQyfSwKKwl7ImxpbnV4L2F0bW1wYy5oIiwJIkFUTU1QQ19DVFJMIiwJMHg2MWQ4fSwKKwl7ImxpbnV4L2F0bW1wYy5oIiwJIkFUTU1QQ19EQVRBIiwJMHg2MWQ5fSwKKwl7ImxpbnV4L2F0bWNsaXAuaCIsCSJTSU9DTUtDTElQIiwJMHg2MWUwfSwKKwl7ImxpbnV4L2F0bWFycC5oIiwJIkFUTUFSUERfQ1RSTCIsCTB4NjFlMX0sCisJeyJsaW51eC9hdG1hcnAuaCIsCSJBVE1BUlBfTUtJUCIsCTB4NjFlMn0sCisJeyJsaW51eC9hdG1hcnAuaCIsCSJBVE1BUlBfU0VURU5UUlkiLAkweDYxZTN9LAorCXsibGludXgvYXRtYXJwLmgiLAkiQVRNQVJQX0VOQ0FQIiwJMHg2MWU1fSwKKwl7ImxpbnV4L2F0bXN2Yy5oIiwJIkFUTVNJR0RfQ1RSTCIsCTB4NjFmMH0sCisJeyJsaW51eC9hdG1kZXYuaCIsCSJBVE1fU0VUU0MiLAkweDYxZjF9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX1NFVEJBQ0tFTkQiLAkweDYxZjJ9LAorCXsibGludXgvY29kYS5oIiwJIkNJT0NfS0VSTkVMX1ZFUlNJT04iLAkweDYzMGF9LAorCXsibGludXgvY29tc3RhdHMuaCIsCSJDT01fR0VUUE9SVFNUQVRTIiwJMHg2MzFlfSwKKwl7ImxpbnV4L2NvbXN0YXRzLmgiLAkiQ09NX0NMUlBPUlRTVEFUUyIsCTB4NjMxZn0sCisJeyJsaW51eC9jb21zdGF0cy5oIiwJIkNPTV9HRVRCUkRTVEFUUyIsCTB4NjMyMH0sCisJeyJsaW51eC9jb21zdGF0cy5oIiwJIkNPTV9SRUFEUE9SVCIsCTB4NjMyOH0sCisJeyJsaW51eC9jb21zdGF0cy5oIiwJIkNPTV9SRUFEQk9BUkQiLAkweDYzMjl9LAorCXsibGludXgvY29tc3RhdHMuaCIsCSJDT01fUkVBRFBBTkVMIiwJMHg2MzJhfSwKKwl7ImxpbnV4L2RldmZzX2ZzLmgiLAkiREVWRlNESU9DX0dFVF9QUk9UT19SRVYiLAkweDY0MDB9LAorCXsibGludXgvdmlkZW9fZGVjb2Rlci5oIiwJIkRFQ09ERVJfR0VUX0NBUEFCSUxJVElFUyIsCTB4NjQwMX0sCisJeyJsaW51eC9kZXZmc19mcy5oIiwJIkRFVkZTRElPQ19TRVRfRVZFTlRfTUFTSyIsCTB4NjQwMn0sCisJeyJsaW51eC92aWRlb19kZWNvZGVyLmgiLAkiREVDT0RFUl9HRVRfU1RBVFVTIiwJMHg2NDAyfSwKKwl7ImxpbnV4L2RldmZzX2ZzLmgiLAkiREVWRlNESU9DX1JFTEVBU0VfRVZFTlRfUVVFVUUiLAkweDY0MDN9LAorCXsibGludXgvdmlkZW9fZGVjb2Rlci5oIiwJIkRFQ09ERVJfU0VUX05PUk0iLAkweDY0MDN9LAorCXsibGludXgvZGV2ZnNfZnMuaCIsCSJERVZGU0RJT0NfU0VUX0RFQlVHX01BU0siLAkweDY0MDR9LAorCXsibGludXgvdmlkZW9fZGVjb2Rlci5oIiwJIkRFQ09ERVJfU0VUX0lOUFVUIiwJMHg2NDA0fSwKKwl7ImxpbnV4L3ZpZGVvX2RlY29kZXIuaCIsCSJERUNPREVSX1NFVF9PVVRQVVQiLAkweDY0MDV9LAorCXsibGludXgvdmlkZW9fZGVjb2Rlci5oIiwJIkRFQ09ERVJfRU5BQkxFX09VVFBVVCIsCTB4NjQwNn0sCisJeyJsaW51eC92aWRlb19kZWNvZGVyLmgiLAkiREVDT0RFUl9TRVRfUElDVFVSRSIsCTB4NjQwN30sCisJeyJsaW51eC92aWRlb19kZWNvZGVyLmgiLAkiREVDT0RFUl9EVU1QIiwJMHg2NGMwfSwKKwl7ImxpbnV4L3ZpZGVvX2VuY29kZXIuaCIsCSJFTkNPREVSX0dFVF9DQVBBQklMSVRJRVMiLAkweDY1MDF9LAorCXsibGludXgvdmlkZW9fZW5jb2Rlci5oIiwJIkVOQ09ERVJfU0VUX05PUk0iLAkweDY1MDJ9LAorCXsibGludXgvdmlkZW9fZW5jb2Rlci5oIiwJIkVOQ09ERVJfU0VUX0lOUFVUIiwJMHg2NTAzfSwKKwl7ImxpbnV4L3ZpZGVvX2VuY29kZXIuaCIsCSJFTkNPREVSX1NFVF9PVVRQVVQiLAkweDY1MDR9LAorCXsibGludXgvdmlkZW9fZW5jb2Rlci5oIiwJIkVOQ09ERVJfRU5BQkxFX09VVFBVVCIsCTB4NjUwNX0sCisJeyJsaW51eC9leHQyX2ZzLmgiLAkiRVhUMl9JT0NfR0VURkxBR1MiLAkweDY2MDF9LAorCXsibGludXgvZXh0M19mcy5oIiwJIkVYVDNfSU9DX0dFVEZMQUdTIiwJMHg2NjAxfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJGSU9DTEVYIiwJMHg2NjAxfSwKKwl7ImxpbnV4L2V4dDJfZnMuaCIsCSJFWFQyX0lPQ19TRVRGTEFHUyIsCTB4NjYwMn0sCisJeyJsaW51eC9leHQzX2ZzLmgiLAkiRVhUM19JT0NfU0VURkxBR1MiLAkweDY2MDJ9LAorCXsiYXNtL2lvY3Rscy5oIiwJIkZJT05DTEVYIiwJMHg2NjAyfSwKKwl7ImxpbnV4L2V4dDNfZnMuaCIsCSJFWFQzX0lPQ19HRVRWRVJTSU9OIiwJMHg2NjAzfSwKKwl7ImxpbnV4L2V4dDNfZnMuaCIsCSJFWFQzX0lPQ19TRVRWRVJTSU9OIiwJMHg2NjA0fSwKKwl7ImxpbnV4L2V4dDNfZnMuaCIsCSJFWFQzX0lPQ19XQUlUX0ZPUl9SRUFET05MWSIsCTB4NjY2M30sCisJeyJhc20vc29ja2lvcy5oIiwJIkZJT0dFVE9XTiIsCTB4NjY3Yn0sCisJeyJhc20vc29ja2lvcy5oIiwJIkZJT1NFVE9XTiIsCTB4NjY3Y30sCisJeyJhc20vaW9jdGxzLmgiLAkiRklPQVNZTkMiLAkweDY2N2R9LAorCXsiYXNtL2lvY3Rscy5oIiwJIkZJT05CSU8iLAkweDY2N2V9LAorCXsiYXNtL2lvY3Rscy5oIiwJIkZJT05SRUFEIiwJMHg2NjdmfSwKKwl7ImxpbnV4L2kyby1kZXYuaCIsCSJJMk9HRVRJT1BTIiwJMHg2OTAwfSwKKwl7ImxpbnV4L2kyby1kZXYuaCIsCSJJMk9IUlRHRVQiLAkweDY5MDF9LAorCXsibGludXgvaTJvLWRldi5oIiwJIkkyT0xDVEdFVCIsCTB4NjkwMn0sCisJeyJsaW51eC9pMm8tZGV2LmgiLAkiSTJPUEFSTVNFVCIsCTB4NjkwM30sCisJeyJsaW51eC9pMm8tZGV2LmgiLAkiSTJPUEFSTUdFVCIsCTB4NjkwNH0sCisJeyJsaW51eC9pMm8tZGV2LmgiLAkiSTJPU1dETCIsCTB4NjkwNX0sCisJeyJsaW51eC9pMm8tZGV2LmgiLAkiSTJPU1dVTCIsCTB4NjkwNn0sCisJeyJsaW51eC9pMm8tZGV2LmgiLAkiSTJPU1dERUwiLAkweDY5MDd9LAorCXsibGludXgvaTJvLWRldi5oIiwJIkkyT1ZBTElEQVRFIiwJMHg2OTA4fSwKKwl7ImxpbnV4L2kyby1kZXYuaCIsCSJJMk9IVE1MIiwJMHg2OTA5fSwKKwl7ImxpbnV4L2kyby1kZXYuaCIsCSJJMk9FVlRSRUciLAkweDY5MGF9LAorCXsibGludXgvaTJvLWRldi5oIiwJIkkyT0VWVEdFVCIsCTB4NjkwYn0sCisJeyJsaW51eC9pOGsuaCIsCSJJOEtfQklPU19WRVJTSU9OIiwJMHg2OTgwfSwKKwl7ImxpbnV4L2k4ay5oIiwJIkk4S19NQUNISU5FX0lEIiwJMHg2OTgxfSwKKwl7ImxpbnV4L2k4ay5oIiwJIkk4S19QT1dFUl9TVEFUVVMiLAkweDY5ODJ9LAorCXsibGludXgvaThrLmgiLAkiSThLX0ZOX1NUQVRVUyIsCTB4Njk4M30sCisJeyJsaW51eC9pOGsuaCIsCSJJOEtfR0VUX1RFTVAiLAkweDY5ODR9LAorCXsibGludXgvaThrLmgiLAkiSThLX0dFVF9TUEVFRCIsCTB4Njk4NX0sCisJeyJsaW51eC9pOGsuaCIsCSJJOEtfR0VUX0ZBTiIsCTB4Njk4Nn0sCisJeyJsaW51eC9pOGsuaCIsCSJJOEtfU0VUX0ZBTiIsCTB4Njk4N30sCisJeyJsaW51eC9qb3lzdGljay5oIiwJIkpTSU9DR1ZFUlNJT04iLAkweDZhMDF9LAorCXsibGludXgvam95c3RpY2suaCIsCSJKU0lPQ0dBWEVTIiwJMHg2YTExfSwKKwl7ImxpbnV4L2pveXN0aWNrLmgiLAkiSlNJT0NHQlVUVE9OUyIsCTB4NmExMn0sCisJeyJsaW51eC9qb3lzdGljay5oIiwJIkpTSU9DU0NPUlIiLAkweDZhMjF9LAorCXsibGludXgvam95c3RpY2suaCIsCSJKU0lPQ0dDT1JSIiwJMHg2YTIyfSwKKwl7ImxpbnV4L2pveXN0aWNrLmgiLAkiSlNJT0NTQVhNQVAiLAkweDZhMzF9LAorCXsibGludXgvam95c3RpY2suaCIsCSJKU0lPQ0dBWE1BUCIsCTB4NmEzMn0sCisJeyJsaW51eC9qb3lzdGljay5oIiwJIkpTSU9DU0JUTk1BUCIsCTB4NmEzM30sCisJeyJsaW51eC9qb3lzdGljay5oIiwJIkpTSU9DR0JUTk1BUCIsCTB4NmEzNH0sCisJeyJsaW51eC91ZGZfZnNfaS5oIiwJIlVERl9HRVRFQVNJWkUiLAkweDZjNDB9LAorCXsibGludXgvdWRmX2ZzX2kuaCIsCSJVREZfR0VURUFCTE9DSyIsCTB4NmM0MX0sCisJeyJsaW51eC91ZGZfZnNfaS5oIiwJIlVERl9HRVRWT0xJREVOVCIsCTB4NmM0Mn0sCisJeyJsaW51eC91ZGZfZnNfaS5oIiwJIlVERl9SRUxPQ0FURV9CTE9DS1MiLAkweDZjNDN9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX01JRElfUFJFVElNRSIsCTB4NmQwMH0sCisJeyJsaW51eC9zeW5jbGluay5oIiwJIk1HU0xfSU9DU1BBUkFNUyIsCTB4NmQwMH0sCisJeyJsaW51eC9tdGlvLmgiLAkiTVRJT0NUT1AiLAkweDZkMDF9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX01JRElfTVBVTU9ERSIsCTB4NmQwMX0sCisJeyJsaW51eC9zeW5jbGluay5oIiwJIk1HU0xfSU9DR1BBUkFNUyIsCTB4NmQwMX0sCisJeyJsaW51eC9tdGlvLmgiLAkiTVRJT0NHRVQiLAkweDZkMDJ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX01JRElfTVBVQ01EIiwJMHg2ZDAyfSwKKwl7ImxpbnV4L3N5bmNsaW5rLmgiLAkiTUdTTF9JT0NTVFhJRExFIiwJMHg2ZDAyfSwKKwl7ImxpbnV4L210aW8uaCIsCSJNVElPQ1BPUyIsCTB4NmQwM30sCisJeyJsaW51eC9zeW5jbGluay5oIiwJIk1HU0xfSU9DR1RYSURMRSIsCTB4NmQwM30sCisJeyJsaW51eC9tdGlvLmgiLAkiTVRJT0NHRVRDT05GSUciLAkweDZkMDR9LAorCXsibGludXgvc3luY2xpbmsuaCIsCSJNR1NMX0lPQ1RYRU5BQkxFIiwJMHg2ZDA0fSwKKwl7ImxpbnV4L210aW8uaCIsCSJNVElPQ1NFVENPTkZJRyIsCTB4NmQwNX0sCisJeyJsaW51eC9zeW5jbGluay5oIiwJIk1HU0xfSU9DUlhFTkFCTEUiLAkweDZkMDV9LAorCXsibGludXgvbXRpby5oIiwJIk1USU9DUkRGVFNFRyIsCTB4NmQwNn0sCisJeyJsaW51eC9zeW5jbGluay5oIiwJIk1HU0xfSU9DVFhBQk9SVCIsCTB4NmQwNn0sCisJeyJsaW51eC9tdGlvLmgiLAkiTVRJT0NXUkZUU0VHIiwJMHg2ZDA3fSwKKwl7ImxpbnV4L3N5bmNsaW5rLmgiLAkiTUdTTF9JT0NHU1RBVFMiLAkweDZkMDd9LAorCXsibGludXgvbXRpby5oIiwJIk1USU9DVk9MSU5GTyIsCTB4NmQwOH0sCisJeyJsaW51eC9zeW5jbGluay5oIiwJIk1HU0xfSU9DV0FJVEVWRU5UIiwJMHg2ZDA4fSwKKwl7ImxpbnV4L210aW8uaCIsCSJNVElPQ0dFVFNJWkUiLAkweDZkMDl9LAorCXsibGludXgvc3luY2xpbmsuaCIsCSJNR1NMX0lPQ0xPT1BUWERPTkUiLAkweDZkMDl9LAorCXsibGludXgvbXRpby5oIiwJIk1USU9DRlRGT1JNQVQiLAkweDZkMGF9LAorCXsibGludXgvbXRpby5oIiwJIk1USU9DRlRDTUQiLAkweDZkMGJ9LAorCXsibGludXgvc3luY2xpbmsuaCIsCSJNR1NMX0lPQ0NMUk1PRENPVU5UIiwJMHg2ZDBmfSwKKwl7ImxpbnV4L3pmdGFwZS5oIiwJIk1USU9DX1pGVEFQRV9HRVRCTEtTWiIsCTB4NmQ2OH0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX05DUFJFUVVFU1QiLAkweDZlMDF9LAorCXsibGludXgvbmNwX2ZzLmgiLAkiTkNQX0lPQ19HRVRNT1VOVFVJRCIsCTB4NmUwMn0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX0dFVE1PVU5UVUlEMiIsCTB4NmUwMn0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX0NPTk5fTE9HR0VEX0lOIiwJMHg2ZTAzfSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfR0VUX0ZTX0lORk8iLAkweDZlMDR9LAorCXsibGludXgvbmNwX2ZzLmgiLAkiTkNQX0lPQ19HRVRfRlNfSU5GT19WMiIsCTB4NmUwNH0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX1NJR05fSU5JVCIsCTB4NmUwNX0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX1NJR05fV0FOVEVEIiwJMHg2ZTA2fSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfU0VUX1NJR05fV0FOVEVEIiwJMHg2ZTA2fSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfTE9DS1VOTE9DSyIsCTB4NmUwN30sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX0dFVFJPT1QiLAkweDZlMDh9LAorCXsibGludXgvbmNwX2ZzLmgiLAkiTkNQX0lPQ19TRVRST09UIiwJMHg2ZTA4fSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfR0VUT0JKRUNUTkFNRSIsCTB4NmUwOX0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX1NFVE9CSkVDVE5BTUUiLAkweDZlMDl9LAorCXsibGludXgvbmNwX2ZzLmgiLAkiTkNQX0lPQ19HRVRQUklWQVRFREFUQSIsCTB4NmUwYX0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX1NFVFBSSVZBVEVEQVRBIiwJMHg2ZTBhfSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfR0VUQ0hBUlNFVFMiLAkweDZlMGJ9LAorCXsibGludXgvbmNwX2ZzLmgiLAkiTkNQX0lPQ19TRVRDSEFSU0VUUyIsCTB4NmUwYn0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX0dFVERFTlRSWVRUTCIsCTB4NmUwY30sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX1NFVERFTlRSWVRUTCIsCTB4NmUwY30sCisJeyJsaW51eC9tYXRyb3hmYi5oIiwJIk1BVFJPWEZCX1NFVF9PVVRQVVRfQ09OTkVDVElPTiIsCTB4NmVmOH0sCisJeyJsaW51eC9tYXRyb3hmYi5oIiwJIk1BVFJPWEZCX0dFVF9PVVRQVVRfQ09OTkVDVElPTiIsCTB4NmVmOH0sCisJeyJsaW51eC9tYXRyb3hmYi5oIiwJIk1BVFJPWEZCX0dFVF9BVkFJTEFCTEVfT1VUUFVUUyIsCTB4NmVmOX0sCisJeyJsaW51eC9tYXRyb3hmYi5oIiwJIk1BVFJPWEZCX1NFVF9PVVRQVVRfTU9ERSIsCTB4NmVmYX0sCisJeyJsaW51eC9tYXRyb3hmYi5oIiwJIk1BVFJPWEZCX0dFVF9PVVRQVVRfTU9ERSIsCTB4NmVmYX0sCisJeyJsaW51eC9tYXRyb3hmYi5oIiwJIk1BVFJPWEZCX0dFVF9BTExfT1VUUFVUUyIsCTB4NmVmYn0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfQUlFX09OIiwJMHg3MDAxfSwKKwl7ImxpbnV4L3J0Yy5oIiwJIlJUQ19BSUVfT0ZGIiwJMHg3MDAyfSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fR0VUTU9VTlQiLAkweDcwMDN9LAorCXsibGludXgvcnRjLmgiLAkiUlRDX1VJRV9PTiIsCTB4NzAwM30sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX1NFVFBJRCIsCTB4NzAwNH0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfVUlFX09GRiIsCTB4NzAwNH0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfUElFX09OIiwJMHg3MDA1fSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fQ0xPU0VfSk9VUk5BTEYiLAkweDcwMDZ9LAorCXsibGludXgvcnRjLmgiLAkiUlRDX1BJRV9PRkYiLAkweDcwMDZ9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19TRVRfRlNFVFJPT1QiLAkweDcwMDd9LAorCXsibGludXgvcnRjLmgiLAkiUlRDX0FMTV9TRVQiLAkweDcwMDd9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19DTEVBUl9GU0VUUk9PVCIsCTB4NzAwOH0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfQUxNX1JFQUQiLAkweDcwMDh9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19TRVRPUFQiLAkweDcwMDl9LAorCXsibGludXgvcnRjLmgiLAkiUlRDX1JEX1RJTUUiLAkweDcwMDl9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19HRVRPUFQiLAkweDcwMGF9LAorCXsibGludXgvcnRjLmgiLAkiUlRDX1NFVF9USU1FIiwJMHg3MDBhfSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fR0VUX0tNTFNJWkUiLAkweDcwMGJ9LAorCXsibGludXgvcnRjLmgiLAkiUlRDX0lSUVBfUkVBRCIsCTB4NzAwYn0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX0dFVF9SRUNOTyIsCTB4NzAwY30sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfSVJRUF9TRVQiLAkweDcwMGN9LAorCXsibGludXgvcnRjLmgiLAkiUlRDX0VQT0NIX1JFQUQiLAkweDcwMGR9LAorCXsibGludXgvcnRjLmgiLAkiUlRDX0VQT0NIX1NFVCIsCTB4NzAwZX0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfV0lFX09OIiwJMHg3MDBmfSwKKwl7ImxpbnV4L3J0Yy5oIiwJIlJUQ19XS0FMTV9TRVQiLAkweDcwMGZ9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19WRlNfU0VUQVRUUiIsCTB4NzAxMH0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfV0lFX09GRiIsCTB4NzAxMH0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfV0tBTE1fUkQiLAkweDcwMTB9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19WRlNfQ1JFQVRFIiwJMHg3MDExfSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fVkZTX0xJTksiLAkweDcwMTJ9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19WRlNfVU5MSU5LIiwJMHg3MDEzfSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fVkZTX1NZTUxJTksiLAkweDcwMTR9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19WRlNfTUtESVIiLAkweDcwMTV9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19WRlNfUk1ESVIiLAkweDcwMTZ9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19WRlNfTUtOT0QiLAkweDcwMTd9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19WRlNfUkVOQU1FIiwJMHg3MDE4fSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fVkZTX0NMT1NFIiwJMHg3MDFhfSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fVkZTX0lPUEVOIiwJMHg3MDFifSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fVkZTX1NFVEVYVEFUVFIiLAkweDcwMWN9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19WRlNfREVMRVhUQVRUUiIsCTB4NzAxZH0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX01BUksiLAkweDcwMjB9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19SRUxFQVNFX1BFUk1JVCIsCTB4NzAyMX0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX0NMRUFSX0FMTF9GU0VUUk9PVFMiLAkweDcwMjJ9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19CQUNLRkVUQ0hfTE1MIiwJMHg3MDIzfSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fUkVJTlQiLAkweDcwMjR9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19DQU5DRUxfTE1MIiwJMHg3MDI1fSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fUkVTRVRfRlNFVCIsCTB4NzAyNn0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX0NPTVBMRVRFX0NMT1NFUyIsCTB4NzAyN30sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX1JFSU5UX0JFR0lOIiwJMHg3MDMwfSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fRE9fUkVJTlQiLAkweDcwMzF9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19SRUlOVF9FTkQiLAkweDcwMzJ9LAorCXsibGludXgvbnZyYW0uaCIsCSJOVlJBTV9JTklUIiwJMHg3MDQwfSwKKwl7ImxpbnV4L252cmFtLmgiLAkiTlZSQU1fU0VUQ0tTIiwJMHg3MDQxfSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBTRVRNT0RFIiwJMHg3MDgwfSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBSU1RBVFVTIiwJMHg3MDgxfSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBSQ09OVFJPTCIsCTB4NzA4M30sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQV0NPTlRST0wiLAkweDcwODR9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUFJEQVRBIiwJMHg3MDg1fSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBXREFUQSIsCTB4NzA4Nn0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQQ0xBSU0iLAkweDcwOGJ9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUFJFTEVBU0UiLAkweDcwOGN9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUFlJRUxEIiwJMHg3MDhkfSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBGQ09OVFJPTCIsCTB4NzA4ZX0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQRVhDTCIsCTB4NzA4Zn0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQREFUQURJUiIsCTB4NzA5MH0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQTkVHT1QiLAkweDcwOTF9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUFdDVExPTklSUSIsCTB4NzA5Mn0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQQ0xSSVJRIiwJMHg3MDkzfSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBTRVRQSEFTRSIsCTB4NzA5NH0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQR0VUVElNRSIsCTB4NzA5NX0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQU0VUVElNRSIsCTB4NzA5Nn0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQR0VUTU9ERVMiLAkweDcwOTd9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUEdFVE1PREUiLAkweDcwOTh9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUEdFVFBIQVNFIiwJMHg3MDk5fSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBHRVRGTEFHUyIsCTB4NzA5YX0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQU0VURkxBR1MiLAkweDcwOWJ9LAorCXsibGludXgvc2VyaW8uaCIsCSJTUElPQ1NUWVBFIiwJMHg3MTAxfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX0NBUEFCSUxJVElFUyIsCTB4NzE4MH0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9DQVBBQklMSVRJRVNfTElTVCIsCTB4NzE4MX0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9DQVBBQklMSVRJRVNfQ0hFQ0siLAkweDcxODJ9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUklORyIsCTB4NzE4M30sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9IT09LU1RBVEUiLAkweDcxODR9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfTUFYUklOR1MiLAkweDcxODV9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUklOR19DQURFTkNFIiwJMHg3MTg2fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIk9MRF9QSE9ORV9SSU5HX1NUQVJUIiwJMHg3MTg3fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1JJTkdfU1RBUlQiLAkweDcxODd9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUklOR19TVE9QIiwJMHg3MTg4fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1JFQ19DT0RFQyIsCTB4NzE4OX0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9SRUNfU1RBUlQiLAkweDcxOGF9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUkVDX1NUT1AiLAkweDcxOGJ9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUkVDX0RFUFRIIiwJMHg3MThjfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX0ZSQU1FIiwJMHg3MThkfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1JFQ19WT0xVTUUiLAkweDcxOGV9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUkVDX0xFVkVMIiwJMHg3MThmfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1BMQVlfQ09ERUMiLAkweDcxOTB9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUExBWV9TVEFSVCIsCTB4NzE5MX0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9QTEFZX1NUT1AiLAkweDcxOTJ9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUExBWV9ERVBUSCIsCTB4NzE5M30sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9QTEFZX1ZPTFVNRSIsCTB4NzE5NH0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9QTEFZX0xFVkVMIiwJMHg3MTk1fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX0RUTUZfUkVBRFkiLAkweDcxOTZ9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfR0VUX0RUTUYiLAkweDcxOTd9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfR0VUX0RUTUZfQVNDSUkiLAkweDcxOTh9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfRFRNRl9PT0IiLAkweDcxOTl9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfRVhDRVBUSU9OIiwJMHg3MTlhfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1BMQVlfVE9ORSIsCTB4NzE5Yn0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9TRVRfVE9ORV9PTl9USU1FIiwJMHg3MTljfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1NFVF9UT05FX09GRl9USU1FIiwJMHg3MTlkfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX0dFVF9UT05FX09OX1RJTUUiLAkweDcxOWV9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfR0VUX1RPTkVfT0ZGX1RJTUUiLAkweDcxOWZ9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfR0VUX1RPTkVfU1RBVEUiLAkweDcxYTB9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfQlVTWSIsCTB4NzFhMX0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9SSU5HQkFDSyIsCTB4NzFhMn0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9ESUFMVE9ORSIsCTB4NzFhM30sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9DUFRfU1RPUCIsCTB4NzFhNH0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9QU1ROX1NFVF9TVEFURSIsCTB4NzFhNH0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9QU1ROX0dFVF9TVEFURSIsCTB4NzFhNX0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9XSU5LX0RVUkFUSU9OIiwJMHg3MWE2fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1FVRVJZX0NPREVDIiwJMHg3MWE3fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1BTVE5fTElORVRFU1QiLAkweDcxYTh9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfVkFEIiwJMHg3MWE5fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1dJTksiLAkweDcxYWF9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9EU1BfUkVTRVQiLAkweDcxYzB9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9DQVJEVFlQRSIsCTB4NzFjMX0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1NFUklBTCIsCTB4NzFjMn0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0RTUF9UWVBFIiwJMHg3MWMzfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfRFNQX1ZFUlNJT04iLAkweDcxYzR9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9EU1BfSURMRSIsCTB4NzFjNX0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1RFU1RSQU0iLAkweDcxYzZ9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9TRVRfRklMVEVSIiwJMHg3MWM3fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfR0VUX0ZJTFRFUl9ISVNUIiwJMHg3MWM4fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfSU5JVF9UT05FIiwJMHg3MWM5fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfVE9ORV9DQURFTkNFIiwJMHg3MWNhfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfQUVDX1NUQVJUIiwJMHg3MWNifSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfQUVDX1NUT1AiLAkweDcxY2N9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9BRUNfR0VUX0xFVkVMIiwJMHg3MWNkfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfU0VUX0xFRCIsCTB4NzFjZX0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX01JWEVSIiwJMHg3MWNmfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfREFBX0NPRUZGX1NFVCIsCTB4NzFkMH0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1BPUlQiLAkweDcxZDF9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9EQUFfQUdBSU4iLAkweDcxZDJ9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9QU1ROX0xJTkVURVNUIiwJMHg3MWQzfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfQ0lEIiwJMHg3MWQ0fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfUE9UU19QU1ROIiwJMHg3MWQ1fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfRklMVEVSX0NBREVOQ0UiLAkweDcxZDZ9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9QTEFZX0NJRCIsCTB4NzFkN30sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1ZNV0kiLAkweDcxZDh9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9DSURDVyIsCTB4NzFkOX0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1ZFUlNJT04iLAkweDcxZGF9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUkVDX1ZPTFVNRV9MSU5FQVIiLAkweDcxZGJ9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUExBWV9WT0xVTUVfTElORUFSIiwJMHg3MWRjfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfU0VUX0ZJTFRFUl9SQVciLAkweDcxZGR9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9IWiIsCTB4NzFlMH0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1JBVEUiLAkweDcxZTF9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9GUkFNRVNfUkVBRCIsCTB4NzFlMn0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0ZSQU1FU19XUklUVEVOIiwJMHg3MWUzfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfUkVBRF9XQUlUIiwJMHg3MWU0fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfV1JJVEVfV0FJVCIsCTB4NzFlNX0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0RSWUJVRkZFUl9SRUFEIiwJMHg3MWU2fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfRFJZQlVGRkVSX0NMRUFSIiwJMHg3MWU3fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfRFRNRl9QUkVTQ0FMRSIsCTB4NzFlOH0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1NJR0NUTCIsCTB4NzFlOX0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1NDX1JYRyIsCTB4NzFlYX0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1NDX1RYRyIsCTB4NzFlYn0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0lOVEVSQ09NX1NUQVJUIiwJMHg3MWZkfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfSU5URVJDT01fU1RPUCIsCTB4NzFmZX0sCisJeyJsaW51eC9tc2Rvc19mcy5oIiwJIlZGQVRfSU9DVExfUkVBRERJUl9CT1RIIiwJMHg3MjAxfSwKKwl7ImxpbnV4L21zZG9zX2ZzLmgiLAkiVkZBVF9JT0NUTF9SRUFERElSX1NIT1JUIiwJMHg3MjAyfSwKKwl7ImFzbS9zb2NraW9zLmgiLAkiU0lPQ0FUTUFSSyIsCTB4NzMwN30sCisJeyJhc20vc29ja2lvcy5oIiwJIlNJT0NTUEdSUCIsCTB4NzMwOH0sCisJeyJhc20vc29ja2lvcy5oIiwJIlNJT0NHUEdSUCIsCTB4NzMwOX0sCisJeyJsaW51eC9jZGsuaCIsCSJTVExfQklOVFIiLAkweDczMTR9LAorCXsibGludXgvY2RrLmgiLAkiU1RMX0JTVEFSVCIsCTB4NzMxNX0sCisJeyJsaW51eC9jZGsuaCIsCSJTVExfQlNUT1AiLAkweDczMTZ9LAorCXsibGludXgvY2RrLmgiLAkiU1RMX0JSRVNFVCIsCTB4NzMxN30sCisJeyJsaW51eC9jZGsuaCIsCSJTVExfR0VUUEZMQUciLAkweDczNTB9LAorCXsibGludXgvY2RrLmgiLAkiU1RMX1NFVFBGTEFHIiwJMHg3MzUxfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DR0VUUCIsCTB4NzQwOH0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NFVFAiLAkweDc0MDl9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NTRVROIiwJMHg3NDBhfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DU0VUQyIsCTB4NzQxMX0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ0dFVEMiLAkweDc0MTJ9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRDR0VUUyIsCTB4NzQxM30sCisJeyJhc20vaW9jdGxzLmgiLAkiVENTRVRTIiwJMHg3NDE0fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUQ1NFVFNXIiwJMHg3NDE1fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUQ1NFVFNGIiwJMHg3NDE2fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUQ0dFVEEiLAkweDc0MTd9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRDU0VUQSIsCTB4NzQxOH0sCisJeyJhc20vaW9jdGxzLmgiLAkiVENTRVRBVyIsCTB4NzQxOX0sCisJeyJhc20vaW9jdGxzLmgiLAkiVENTRVRBRiIsCTB4NzQxY30sCisJeyJhc20vaW9jdGxzLmgiLAkiVENTQlJLIiwJMHg3NDFkfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUQ1hPTkMiLAkweDc0MWV9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRDRkxTSCIsCTB4NzQxZn0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NHQ0hBTiIsCTB4NzQzN30sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NBVFRDSEFOIiwJMHg3NDM4fSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ0RJU0NPTk4iLAkweDc0Mzl9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DQ09OTkVDVCIsCTB4NzQzYX0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NTTVJSVSIsCTB4NzQzYn0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NERVRBQ0giLAkweDc0M2N9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DQVRUQUNIIiwJMHg3NDNkfSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ05FV1VOSVQiLAkweDc0M2V9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DR0lETEUiLAkweDc0M2Z9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DU0RFQlVHIiwJMHg3NDQwfSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ0dERUJVRyIsCTB4NzQ0MX0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NTQUNUSVZFIiwJMHg3NDQ2fSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ1NQQVNTIiwJMHg3NDQ3fSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ1NOUE1PREUiLAkweDc0NGJ9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DR05QTU9ERSIsCTB4NzQ0Y30sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NTQ09NUFJFU1MiLAkweDc0NGR9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DWEZFUlVOSVQiLAkweDc0NGV9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DU1hBU1lOQ01BUCIsCTB4NzQ0Zn0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NHWEFTWU5DTUFQIiwJMHg3NDUwfSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ1NNQVhDSUQiLAkweDc0NTF9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DU01SVSIsCTB4NzQ1Mn0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NHTVJVIiwJMHg3NDUzfSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ1NSQVNZTkNNQVAiLAkweDc0NTR9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DR1JBU1lOQ01BUCIsCTB4NzQ1NX0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NHVU5JVCIsCTB4NzQ1Nn0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NTQVNZTkNNQVAiLAkweDc0NTd9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DR0FTWU5DTUFQIiwJMHg3NDU4fSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ1NGTEFHUyIsCTB4NzQ1OX0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NHRkxBR1MiLAkweDc0NWF9LAorCXsibGludXgvamZmcy5oIiwJIkpGRlNfUFJJTlRfSEFTSCIsCTB4NzQ1YX0sCisJeyJsaW51eC9qZmZzLmgiLAkiSkZGU19QUklOVF9UUkVFIiwJMHg3NDVifSwKKwl7ImxpbnV4L2pmZnMuaCIsCSJKRkZTX0dFVF9TVEFUVVMiLAkweDc0NWN9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NTV0lOU1oiLAkweDc0Njd9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NHV0lOU1oiLAkweDc0Njh9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NTVEFSVCIsCTB4NzQ2ZX0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NUT1AiLAkweDc0NmZ9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NPVVRRIiwJMHg3NDczfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DR0xUQyIsCTB4NzQ3NH0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NMVEMiLAkweDc0NzV9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NTUEdSUCIsCTB4NzQ3Nn0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ0dQR1JQIiwJMHg3NDc3fSwKKwl7ImxpbnV4L2lzZG5fcHBwLmgiLAkiUFBQSU9DR0NBTExJTkZPIiwJMHg3NDgwfSwKKwl7ImxpbnV4L2lzZG5fcHBwLmgiLAkiUFBQSU9DQlVORExFIiwJMHg3NDgxfSwKKwl7ImxpbnV4L2lzZG5fcHBwLmgiLAkiUFBQSU9DR01QRkxBR1MiLAkweDc0ODJ9LAorCXsibGludXgvaXNkbl9wcHAuaCIsCSJQUFBJT0NTTVBGTEFHUyIsCTB4NzQ4M30sCisJeyJsaW51eC9pc2RuX3BwcC5oIiwJIlBQUElPQ1NNUE1UVSIsCTB4NzQ4NH0sCisJeyJsaW51eC9pc2RuX3BwcC5oIiwJIlBQUElPQ1NNUE1SVSIsCTB4NzQ4NX0sCisJeyJsaW51eC9pc2RuX3BwcC5oIiwJIlBQUElPQ0dDT01QUkVTU09SUyIsCTB4NzQ4Nn0sCisJeyJsaW51eC9pc2RuX3BwcC5oIiwJIlBQUElPQ1NDT01QUkVTU09SIiwJMHg3NDg3fSwKKwl7ImxpbnV4L2lzZG5fcHBwLmgiLAkiUFBQSU9DR0lGTkFNRSIsCTB4NzQ4OH0sCisJeyJsaW51eC90b3NoaWJhLmgiLAkiVE9TSF9TTU0iLAkweDc0OTB9LAorCXsibGludXgvc21iX2ZzLmgiLAkiU01CX0lPQ19HRVRNT1VOVFVJRCIsCTB4NzUwMX0sCisJeyJsaW51eC9zbWJfZnMuaCIsCSJTTUJfSU9DX05FV0NPTk4iLAkweDc1MDJ9LAorCXsibGludXgvc21iX2ZzLmgiLAkiU01CX0lPQ19HRVRNT1VOVFVJRDMyIiwJMHg3NTAzfSwKKwl7ImxpbnV4L3NvbnlwaS5oIiwJIlNPTllQSV9JT0NHQlJUIiwJMHg3NjAwfSwKKwl7ImxpbnV4L3NvbnlwaS5oIiwJIlNPTllQSV9JT0NTQlJUIiwJMHg3NjAwfSwKKwl7ImxpbnV4L2V4dDJfZnMuaCIsCSJFWFQyX0lPQ19HRVRWRVJTSU9OIiwJMHg3NjAxfSwKKwl7ImxpbnV4L2V4dDNfZnMuaCIsCSJFWFQzX0lPQ19HRVRWRVJTSU9OX09MRCIsCTB4NzYwMX0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ0dDQVAiLAkweDc2MDF9LAorCXsibGludXgvZXh0Ml9mcy5oIiwJIkVYVDJfSU9DX1NFVFZFUlNJT04iLAkweDc2MDJ9LAorCXsibGludXgvZXh0M19mcy5oIiwJIkVYVDNfSU9DX1NFVFZFUlNJT05fT0xEIiwJMHg3NjAyfSwKKwl7ImxpbnV4L3NvbnlwaS5oIiwJIlNPTllQSV9JT0NHQkFUMUNBUCIsCTB4NzYwMn0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ0dDSEFOIiwJMHg3NjAyfSwKKwl7ImxpbnV4L3NvbnlwaS5oIiwJIlNPTllQSV9JT0NHQkFUMVJFTSIsCTB4NzYwM30sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ1NDSEFOIiwJMHg3NjAzfSwKKwl7ImxpbnV4L3NvbnlwaS5oIiwJIlNPTllQSV9JT0NHQkFUMkNBUCIsCTB4NzYwNH0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ0dUVU5FUiIsCTB4NzYwNH0sCisJeyJsaW51eC9zb255cGkuaCIsCSJTT05ZUElfSU9DR0JBVDJSRU0iLAkweDc2MDV9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NTVFVORVIiLAkweDc2MDV9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NHUElDVCIsCTB4NzYwNn0sCisJeyJsaW51eC9zb255cGkuaCIsCSJTT05ZUElfSU9DR0JBVEZMQUdTIiwJMHg3NjA3fSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DU1BJQ1QiLAkweDc2MDd9LAorCXsibGludXgvc29ueXBpLmgiLAkiU09OWVBJX0lPQ0dCTFVFIiwJMHg3NjA4fSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DQ0FQVFVSRSIsCTB4NzYwOH0sCisJeyJsaW51eC9zb255cGkuaCIsCSJTT05ZUElfSU9DU0JMVUUiLAkweDc2MDl9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NHV0lOIiwJMHg3NjA5fSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DU1dJTiIsCTB4NzYwYX0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ0dGQlVGIiwJMHg3NjBifSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DU0ZCVUYiLAkweDc2MGN9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NLRVkiLAkweDc2MGR9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NHRlJFUSIsCTB4NzYwZX0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ1NGUkVRIiwJMHg3NjBmfSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DR0FVRElPIiwJMHg3NjEwfSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DU0FVRElPIiwJMHg3NjExfSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DU1lOQyIsCTB4NzYxMn0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ01DQVBUVVJFIiwJMHg3NjEzfSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DR01CVUYiLAkweDc2MTR9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NHVU5JVCIsCTB4NzYxNX0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ0dDQVBUVVJFIiwJMHg3NjE2fSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DU0NBUFRVUkUiLAkweDc2MTd9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NTUExBWU1PREUiLAkweDc2MTh9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NTV1JJVEVNT0RFIiwJMHg3NjE5fSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DR1BMQVlJTkZPIiwJMHg3NjFhfSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DU01JQ1JPQ09ERSIsCTB4NzYxYn0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ0dWQklGTVQiLAkweDc2MWN9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NTVkJJRk1UIiwJMHg3NjFkfSwKKwl7ImxpbnV4L21leWUuaCIsCSJNRVlFSU9DX0dfUEFSQU1TIiwJMHg3NmMwfSwKKwl7ImxpbnV4L21leWUuaCIsCSJNRVlFSU9DX1NfUEFSQU1TIiwJMHg3NmMxfSwKKwl7ImxpbnV4L21leWUuaCIsCSJNRVlFSU9DX1FCVUZfQ0FQVCIsCTB4NzZjMn0sCisJeyJsaW51eC9tZXllLmgiLAkiTUVZRUlPQ19TWU5DIiwJMHg3NmMzfSwKKwl7ImxpbnV4L21leWUuaCIsCSJNRVlFSU9DX1NUSUxMQ0FQVCIsCTB4NzZjNH0sCisJeyJsaW51eC9tZXllLmgiLAkiTUVZRUlPQ19TVElMTEpDQVBUIiwJMHg3NmM1fSwKKwl7ImxpbnV4L2RuLmgiLAkiU0lPQ1NORVRBRERSIiwJMHg4OWUwfSwKKwl7ImxpbnV4L2RuLmgiLAkiT1NJT0NTTkVUQUREUiIsCTB4ODllMH0sCisJeyJsaW51eC9kbi5oIiwJIlNJT0NHTkVUQUREUiIsCTB4ODllMX0sCisJeyJsaW51eC9kbi5oIiwJIk9TSU9DR05FVEFERFIiLAkweDg5ZTF9LAorCXsibGludXgvYXV0b19mcy5oIiwJIkFVVE9GU19JT0NfUkVBRFkiLAkweDkzNjB9LAorCXsibGludXgvYXV0b19mcy5oIiwJIkFVVE9GU19JT0NfRkFJTCIsCTB4OTM2MX0sCisJeyJsaW51eC9hdXRvX2ZzLmgiLAkiQVVUT0ZTX0lPQ19DQVRBVE9OSUMiLAkweDkzNjJ9LAorCXsibGludXgvYXV0b19mcy5oIiwJIkFVVE9GU19JT0NfUFJPVE9WRVIiLAkweDkzNjN9LAorCXsibGludXgvYXV0b19mcy5oIiwJIkFVVE9GU19JT0NfU0VUVElNRU9VVCIsCTB4OTM2NH0sCisJeyJsaW51eC9hdXRvX2ZzLmgiLAkiQVVUT0ZTX0lPQ19FWFBJUkUiLAkweDkzNjV9LAorCXsibGludXgvYXV0b19mczQuaCIsCSJBVVRPRlNfSU9DX0VYUElSRV9NVUxUSSIsCTB4OTM2Nn0sCisJeyJsaW51eC9uYmQuaCIsCSJOQkRfU0VUX1NPQ0siLAkweGFiMDB9LAorCXsibGludXgvbmJkLmgiLAkiTkJEX1NFVF9CTEtTSVpFIiwJMHhhYjAxfSwKKwl7ImxpbnV4L25iZC5oIiwJIk5CRF9TRVRfU0laRSIsCTB4YWIwMn0sCisJeyJsaW51eC9uYmQuaCIsCSJOQkRfRE9fSVQiLAkweGFiMDN9LAorCXsibGludXgvbmJkLmgiLAkiTkJEX0NMRUFSX1NPQ0siLAkweGFiMDR9LAorCXsibGludXgvbmJkLmgiLAkiTkJEX0NMRUFSX1FVRSIsCTB4YWIwNX0sCisJeyJsaW51eC9uYmQuaCIsCSJOQkRfUFJJTlRfREVCVUciLAkweGFiMDZ9LAorCXsibGludXgvbmJkLmgiLAkiTkJEX1NFVF9TSVpFX0JMT0NLUyIsCTB4YWIwN30sCisJeyJsaW51eC9uYmQuaCIsCSJOQkRfRElTQ09OTkVDVCIsCTB4YWIwOH0sCisJeyJsaW51eC9yYXcuaCIsCSJSQVdfU0VUQklORCIsCTB4YWMwMH0sCisJeyJsaW51eC9yYXcuaCIsCSJSQVdfR0VUQklORCIsCTB4YWMwMX0sCisJeyJsaW51eC9pZl9wcHBveC5oIiwJIlBQUE9FSU9DU0ZXRCIsCTB4YjEwMH0sCisJeyJsaW51eC9pZl9wcHBveC5oIiwJIlBQUE9FSU9DREZXRCIsCTB4YjEwMX0sCisJeyJsaW51eC9yZWlzZXJmc19mcy5oIiwJIlJFSVNFUkZTX0lPQ19VTlBBQ0siLAkweGNkMDF9LAorCXsibGludXgvbHZtLmgiLAkiVkdfQ1JFQVRFX09MRCIsCTB4ZmUwMH0sCisJeyJsaW51eC9sdm0uaCIsCSJWR19SRU1PVkUiLAkweGZlMDF9LAorCXsibGludXgvbHZtLmgiLAkiVkdfRVhURU5EIiwJMHhmZTAzfSwKKwl7ImxpbnV4L2x2bS5oIiwJIlZHX1JFRFVDRSIsCTB4ZmUwNH0sCisJeyJsaW51eC9sdm0uaCIsCSJWR19TVEFUVVMiLAkweGZlMDV9LAorCXsibGludXgvbHZtLmgiLAkiVkdfU1RBVFVTX0dFVF9DT1VOVCIsCTB4ZmUwNn0sCisJeyJsaW51eC9sdm0uaCIsCSJWR19TVEFUVVNfR0VUX05BTUVMSVNUIiwJMHhmZTA3fSwKKwl7ImxpbnV4L2x2bS5oIiwJIlZHX1NFVF9FWFRFTkRBQkxFIiwJMHhmZTA4fSwKKwl7ImxpbnV4L2x2bS5oIiwJIlZHX1JFTkFNRSIsCTB4ZmUwOX0sCisJeyJsaW51eC9sdm0uaCIsCSJWR19DUkVBVEUiLAkweGZlMGF9LAorCXsibGludXgvbHZtLmgiLAkiTFZfQ1JFQVRFIiwJMHhmZTIwfSwKKwl7ImxpbnV4L2x2bS5oIiwJIkxWX1JFTU9WRSIsCTB4ZmUyMX0sCisJeyJsaW51eC9sdm0uaCIsCSJMVl9BQ1RJVkFURSIsCTB4ZmUyMn0sCisJeyJsaW51eC9sdm0uaCIsCSJMVl9ERUFDVElWQVRFIiwJMHhmZTIzfSwKKwl7ImxpbnV4L2x2bS5oIiwJIkxWX0VYVEVORCIsCTB4ZmUyNH0sCisJeyJsaW51eC9sdm0uaCIsCSJMVl9SRURVQ0UiLAkweGZlMjV9LAorCXsibGludXgvbHZtLmgiLAkiTFZfU1RBVFVTX0JZTkFNRSIsCTB4ZmUyNn0sCisJeyJsaW51eC9sdm0uaCIsCSJMVl9TVEFUVVNfQllJTkRFWCIsCTB4ZmUyN30sCisJeyJsaW51eC9sdm0uaCIsCSJMVl9TRVRfQUNDRVNTIiwJMHhmZTI4fSwKKwl7ImxpbnV4L2x2bS5oIiwJIkxWX1NFVF9BTExPQ0FUSU9OIiwJMHhmZTI5fSwKKwl7ImxpbnV4L2x2bS5oIiwJIkxWX1NFVF9TVEFUVVMiLAkweGZlMmF9LAorCXsibGludXgvbHZtLmgiLAkiTEVfUkVNQVAiLAkweGZlMmJ9LAorCXsibGludXgvbHZtLmgiLAkiTFZfU05BUFNIT1RfVVNFX1JBVEUiLAkweGZlMmN9LAorCXsibGludXgvbHZtLmgiLAkiTFZfU1RBVFVTX0JZREVWIiwJMHhmZTJlfSwKKwl7ImxpbnV4L2x2bS5oIiwJIkxWX1JFTkFNRSIsCTB4ZmUyZn0sCisJeyJsaW51eC9sdm0uaCIsCSJMVl9CTUFQIiwJMHhmZTMwfSwKKwl7ImxpbnV4L2x2bS5oIiwJIlBWX1NUQVRVUyIsCTB4ZmU0MH0sCisJeyJsaW51eC9sdm0uaCIsCSJQVl9DSEFOR0UiLAkweGZlNDF9LAorCXsibGludXgvbHZtLmgiLAkiUFZfRkxVU0giLAkweGZlNDJ9LAorCXsibGludXgvbHZtLmgiLAkiUEVfTE9DS19VTkxPQ0siLAkweGZlNTB9LAorCXsibGludXgvbHZtLmgiLAkiTFZNX0dFVF9JT1BfVkVSU0lPTiIsCTB4ZmU5OH0sCisJeyJsaW51eC9sdm0uaCIsCSJMVk1fUkVTRVQiLAkweGZlOTl9LAorCXsibGludXgvbHZtLmgiLAkiTFZNX0xPQ0tfTFZNIiwJMHhmZjAwfSwKZGlmZiAtLWdpdCBhL3N0cmFjZS00LjUuMjAvbGludXgvYWxwaGEvc2lnbmFsZW50LmggYi9zdHJhY2UtNC41LjIwL2xpbnV4L2FscGhhL3NpZ25hbGVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJiNTA3ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9zdHJhY2UtNC41LjIwL2xpbnV4L2FscGhhL3NpZ25hbGVudC5oCkBAIC0wLDAgKzEsMzIgQEAKKwkiU0lHXzAiLAkvKiAwICovCisJIlNJR0hVUCIsCS8qIDEgKi8KKwkiU0lHSU5UIiwJLyogMiAqLworCSJTSUdRVUlUIiwJLyogMyAqLworCSJTSUdJTEwiLAkvKiA0ICovCisJIlNJR1RSQVAiLAkvKiA1ICovCisJIlNJR0FCUlQiLAkvKiA2ICovCisJIlNJR0VNVCIsCS8qIDcgKi8KKwkiU0lHRlBFIiwJLyogOCAqLworCSJTSUdLSUxMIiwJLyogOSAqLworCSJTSUdCVVMiLAkvKiAxMCAqLworCSJTSUdTRUdWIiwJLyogMTEgKi8KKwkiU0lHU1lTIiwJLyogMTIgKi8KKwkiU0lHUElQRSIsCS8qIDEzICovCisJIlNJR0FMUk0iLAkvKiAxNCAqLworCSJTSUdURVJNIiwJLyogMTUgKi8KKwkiU0lHVVJHIiwJLyogMTYgKi8KKwkiU0lHU1RPUCIsCS8qIDE3ICovCisJIlNJR1RTVFAiLAkvKiAxOCAqLworCSJTSUdDT05UIiwJLyogMTkgKi8KKwkiU0lHQ0hMRCIsCS8qIDIwICovCisJIlNJR1RUSU4iLAkvKiAyMSAqLworCSJTSUdUVE9VIiwJLyogMjIgKi8KKwkiU0lHSU8iLAkvKiAyMyAqLworCSJTSUdYQ1BVIiwJLyogMjQgKi8KKwkiU0lHWEZTWiIsCS8qIDI1ICovCisJIlNJR1ZUQUxSTSIsCS8qIDI2ICovCisJIlNJR1BST0YiLAkvKiAyNyAqLworCSJTSUdXSU5DSCIsCS8qIDI4ICovCisJIlNJR0lORk8iLAkvKiAyOSAqLworCSJTSUdVU1IxIiwJLyogMzAgKi8KKwkiU0lHVVNSMiIsCS8qIDMxICovCmRpZmYgLS1naXQgYS9zdHJhY2UtNC41LjIwL2xpbnV4L2FscGhhL3N5c2NhbGxlbnQuaCBiL3N0cmFjZS00LjUuMjAvbGludXgvYWxwaGEvc3lzY2FsbGVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY1YjljM2UKLS0tIC9kZXYvbnVsbAorKysgYi9zdHJhY2UtNC41LjIwL2xpbnV4L2FscGhhL3N5c2NhbGxlbnQuaApAQCAtMCwwICsxLDUyNCBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMTk5MyBCcmFua28gTGFua2VzdGVyIDxicmFua29AaGFja3RpYy5ubD4KKyAqIENvcHlyaWdodCAoYykgMTk5MywgMTk5NCwgMTk5NSBSaWNrIFNsYWRrZXkgPGpyc0B3b3JsZC5zdGQuY29tPgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIFRoZSBuYW1lIG9mIHRoZSBhdXRob3IgbWF5IG5vdCBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cworICogICAgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQVVUSE9SIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1MgT1IKKyAqIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMKKyAqIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuCisgKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCisgKiBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQKKyAqIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICoKKyAqCSRJZCQKKyAqLworCisJeyA2LAkwLAlwcmludGFyZ3MsCQkib3NmX3N5c2NhbGwiCQl9LCAvKiAwLCBub3QgaW1wbGVtZW50ZWQgKi8KKwl7IDEsCVRQLAlzeXNfZXhpdCwJCSJleGl0IgkJCX0sIC8qIDEgKi8KKwl7IDAsCVRQLAlzeXNfZm9yaywJCSJmb3JrIgkJCX0sIC8qIDIgKi8KKwl7IDMsCVRELAlzeXNfcmVhZCwJCSJyZWFkIgkJCX0sIC8qIDMgKi8KKwl7IDMsCVRELAlzeXNfd3JpdGUsCQkid3JpdGUiCQkJfSwgLyogNCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIm9zZl9vbGRfb3BlbiIJCX0sIC8qIDUsIG5vdCBpbXBsZW1lbnRlZCAqLworCXsgMSwJVEQsCXN5c19jbG9zZSwJCSJjbG9zZSIJCQl9LCAvKiA2ICovCisJeyA0LAlUUCwJc3lzX29zZl93YWl0NCwJCSJvc2Zfd2FpdDQiCQl9LCAvKiA3ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkib3NmX29sZF9jcmVhdCIJCX0sIC8qIDgsIG5vdCBpbXBsZW1lbnRlZCAqLworCXsgMiwJVEYsCXN5c19saW5rLAkJImxpbmsiCQkJfSwgLyogOSAqLworCXsgMSwJVEYsCXN5c191bmxpbmssCQkidW5saW5rIgkJfSwgLyogMTAgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJvc2ZfZXhlY3ZlIgkJfSwgLyogMTEsIG5vdCBpbXBsZW1lbnRlZCAqLworCXsgMSwJVEYsCXN5c19jaGRpciwJCSJjaGRpciIJCQl9LCAvKiAxMiAqLworCXsgMSwJVEYsCXN5c19mY2hkaXIsCQkiZmNoZGlyIgkJfSwgLyogMTMgKi8KKwl7IDMsCVRGLAlzeXNfbWtub2QsCQkibWtub2QiCQkJfSwgLyogMTQgKi8KKwl7IDIsCVRGLAlzeXNfY2htb2QsCQkiY2htb2QiCQkJfSwgLyogMTUgKi8KKwl7IDMsCVRGLAlzeXNfY2hvd24sCQkiY2hvd24iCQkJfSwgLyogMTYgKi8KKwl7IDEsCTAsCXN5c19icmssCQkiYnJrIgkJCX0sIC8qIDE3ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkib3NmX2dldGZzc3RhdCIJCX0sIC8qIDE4LCBub3QgaW1wbGVtZW50ZWQgKi8KKwl7IDMsCVRGLAlzeXNfbHNlZWssCQkibHNlZWsiCQkJfSwgLyogMTkgKi8KKwl7IDAsCTAsCXN5c19nZXRwaWQsCQkiZ2V0eHBpZCIJCX0sIC8qIDIwICovCisJeyA0LAkwLAlwcmludGFyZ3MsCQkib3NmX21vdW50IgkJfSwgLyogMjEgKi8KKwl7IDIsCTAsCXN5c191bW91bnQyLAkJInVtb3VudCIJCX0sIC8qIDIyICovCisJeyAxLAkwLAlzeXNfc2V0dWlkLAkJInNldHVpZCIJCX0sIC8qIDIzICovCisJeyAwLAkwLAlzeXNfZ2V0dWlkLAkJImdldHh1aWQiCQl9LCAvKiAyNCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJImV4ZWNfd2l0aF9sb2FkZXIiCX0sIC8qIDI1LCBub3QgaW1wbGVtZW50ZWQgKi8KKwl7IDQsCTAsCXN5c19wdHJhY2UsCQkicHRyYWNlIgkJfSwgLyogMjYgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJvc2ZfbnJlY3Ztc2ciCQl9LCAvKiAyNywgbm90IGltcGxlbWVudGVkICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkib3NmX25zZW5kbXNnIgkJfSwgLyogMjgsIG5vdCBpbXBsZW1lbnRlZCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIm9zZl9ucmVjdmZyb20iCQl9LCAvKiAyOSwgbm90IGltcGxlbWVudGVkICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkib3NmX25hY2NlcHQiCQl9LCAvKiAzMCwgbm90IGltcGxlbWVudGVkICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkib3NmX25nZXRwZWVybmFtZSIJfSwgLyogMzEsIG5vdCBpbXBsZW1lbnRlZCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIm9zZl9uZ2V0c29ja25hbWUiCX0sIC8qIDMyLCBub3QgaW1wbGVtZW50ZWQgKi8KKwl7IDIsCVRGLAlzeXNfYWNjZXNzLAkJImFjY2VzcyIJCX0sIC8qIDMzICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkib3NmX2NoZmxhZ3MiCQl9LCAvKiAzNCwgbm90IGltcGxlbWVudGVkICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkib3NmX2ZjaGZsYWdzIgkJfSwgLyogMzUsIG5vdCBpbXBsZW1lbnRlZCAqLworCXsgMCwJMCwJc3lzX3N5bmMsCQkic3luYyIJCQl9LCAvKiAzNiAqLworCXsgMiwJVFMsCXN5c19raWxsLAkJImtpbGwiCQkJfSwgLyogMzcgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJvc2Zfb2xkX3N0YXQiCQl9LCAvKiAzOCwgbm90IGltcGxlbWVudGVkICovCisJeyAyLAkwLAlzeXNfc2V0cGdpZCwJCSJzZXRwZ2lkIgkJfSwgLyogMzkgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJvc2Zfb2xkX2xzdGF0IgkJfSwgLyogNDAsIG5vdCBpbXBsZW1lbnRlZCAqLworCXsgMSwJVEQsCXN5c19kdXAsCQkiZHVwIgkJCX0sIC8qIDQxICovCisJeyAxLAlURCwJc3lzX3BpcGUsCQkicGlwZSIJCQl9LCAvKiA0MiAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIm9zZl9zZXRfcHJvZ3JhbV9hdHRyaWJ1dGVzIgl9LCAvKiA0MyAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIm9zZl9wcm9maWwiCQl9LCAvKiA0NCwgbm90IGltcGxlbWVudGVkICovCisJeyAzLAlURHxURiwJc3lzX29wZW4sCQkib3BlbiIJCQl9LCAvKiA0NSAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIm9zZl9vbGRfc2lnYWN0aW9uIgl9LCAvKiA0Niwgbm90IGltcGxlbWVudGVkICovCisJeyAxLAkwLAlzeXNfZ2V0Z2lkLAkJImdldHhnaWQiCQl9LCAvKiA0NyAqLworCXsgMywJVFMsCXByaW50YXJncywJCSJvc2Zfc2lncHJvY21hc2siCX0sIC8qIDQ4ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkib3NmX2dldGxvZ2luIgkJfSwgLyogNDksIG5vdCBpbXBsZW1lbnRlZCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIm9zZl9zZXRsb2dpbiIJCX0sIC8qIDUwLCBub3QgaW1wbGVtZW50ZWQgKi8KKwl7IDEsCVRGLAlzeXNfYWNjdCwJCSJhY2N0IgkJCX0sIC8qIDUxICovCisJeyAxLAlUUywJc3lzX3NpZ3BlbmRpbmcsCQkic2lncGVuZGluZyIJCX0sIC8qIDUyICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzUzIgkJfSwgLyogNTMgKi8KKwl7IDMsCVRELAlzeXNfaW9jdGwsCQkiaW9jdGwiCQkJfSwgLyogNTQgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJvc2ZfcmVib290IgkJfSwgLyogNTUsIG5vdCBpbXBsZW1lbnRlZCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIm9zZl9yZXZva2UiCQl9LCAvKiA1Niwgbm90IGltcGxlbWVudGVkICovCisJeyAyLAlURiwJc3lzX3N5bWxpbmssCQkic3ltbGluayIJCX0sIC8qIDU3ICovCisJeyAzLAlURiwJc3lzX3JlYWRsaW5rLAkJInJlYWRsaW5rIgkJfSwgLyogNTggKi8KKwl7IDMsCVRGfFRQLAlzeXNfZXhlY3ZlLAkJImV4ZWN2ZSIJCX0sIC8qIDU5ICovCisJeyAxLAkwLAlzeXNfdW1hc2ssCQkidW1hc2siCQkJfSwgLyogNjAgKi8KKwl7IDEsCVRGLAlzeXNfY2hyb290LAkJImNocm9vdCIJCX0sIC8qIDYxICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkib3NmX29sZF9mc3RhdCIJCX0sIC8qIDYyLCBub3QgaW1wbGVtZW50ZWQgKi8KKwl7IDAsCTAsCXN5c19nZXRwZ3JwLAkJImdldHBncnAiCQl9LCAvKiA2MyAqLworCXsgMCwJMCwJc3lzX2dldHBhZ2VzaXplLAkiZ2V0cGFnZXNpemUiCQl9LCAvKiA2NCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIm9zZl9tcmVtYXAiCQl9LCAvKiA2NSwgbm90IGltcGxlbWVudGVkICovCisJeyAwLAlUUCwJc3lzX2ZvcmssCQkidmZvcmsiCQkJfSwgLyogNjYgKi8KKwl7IDIsCVRGLAlzeXNfc3RhdCwJCSJzdGF0IgkJCX0sIC8qIDY3ICovCisJeyAyLAlURiwJc3lzX2xzdGF0LAkJImxzdGF0IgkJCX0sIC8qIDY4ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkib3NmX3NicmsiCQl9LCAvKiA2OSwgbm90IGltcGxlbWVudGVkICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkib3NmX3NzdGsiCQl9LCAvKiA3MCwgbm90IGltcGxlbWVudGVkICovCisJeyA2LAkwLAlzeXNfbW1hcCwJCSJtbWFwIgkJCX0sIC8qIDcxICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkib3NmX29sZF92YWR2aXNlIgl9LCAvKiA3Miwgbm90IGltcGxlbWVudGVkICovCisJeyAyLAkwLAlzeXNfbXVubWFwLAkJIm11bm1hcCIJCX0sIC8qIDczICovCisJeyAzLAkwLAlzeXNfbXByb3RlY3QsCQkibXByb3RlY3QiCQl9LCAvKiA3NCAqLworCXsgMywJMCwJc3lzX21hZHZpc2UsCQkibWFkdmlzZSIJCX0sIC8qIDc1ICovCisJeyAwLAkwLAlzeXNfdmhhbmd1cCwJCSJ2aGFuZ3VwIgkJfSwgLyogNzYgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJvc2Zfa21vZGNhbGwiCQl9LCAvKiA3Nywgbm90IGltcGxlbWVudGVkICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkib3NmX21pbmNvcmUiCQl9LCAvKiA3OCwgbm90IGltcGxlbWVudGVkICovCisJeyAyLAkwLAlzeXNfZ2V0Z3JvdXBzLAkJImdldGdyb3VwcyIJCX0sIC8qIDc5ICovCisJeyAyLAkwLAlzeXNfc2V0Z3JvdXBzLAkJInNldGdyb3VwcyIJCX0sIC8qIDgwICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkib3NmX29sZF9nZXRwZ3JwIgl9LCAvKiA4MSwgbm90IGltcGxlbWVudGVkICovCisJeyAyLAkwLAlzeXNfc2V0cGdycCwJCSJzZXRwZ3JwIgkJfSwgLyogODIgKi8KKwl7IDMsCTAsCXN5c19vc2Zfc2V0aXRpbWVyLAkib3NmX3NldGl0aW1lciIJCX0sIC8qIDgzICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkib3NmX29sZF93YWl0IgkJfSwgLyogODQsIG5vdCBpbXBsZW1lbnRlZCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIm9zZl90YWJsZSIJCX0sIC8qIDg1LCBub3QgaW1wbGVtZW50ZWQgKi8KKwl7IDIsCTAsCXN5c19vc2ZfZ2V0aXRpbWVyLAkib3NmX2dldGl0aW1lciIJCX0sIC8qIDg2ICovCisJeyAyLAkwLAlzeXNfZ2V0aG9zdG5hbWUsCSJnZXRob3N0bmFtZSIJCX0sIC8qIDg3ICovCisJeyAyLAkwLAlzeXNfc2V0aG9zdG5hbWUsCSJzZXRob3N0bmFtZSIJCX0sIC8qIDg4ICovCisJeyAwLAkwLAlzeXNfZ2V0ZHRhYmxlc2l6ZSwJImdldGR0YWJsZXNpemUiCQl9LCAvKiA4OSAqLworCXsgMiwJVEQsCXN5c19kdXAyLAkJImR1cDIiCQkJfSwgLyogOTAgKi8KKwl7IDIsCVRELAlzeXNfZnN0YXQsCQkiZnN0YXQiCQkJfSwgLyogOTEgKi8KKwl7IDMsCVRELAlzeXNfZmNudGwsCQkiZmNudGwiCQkJfSwgLyogOTIgKi8KKwl7IDUsCTAsCXN5c19vc2Zfc2VsZWN0LAkJIm9zZl9zZWxlY3QiCQl9LCAvKiA5MyAqLworCXsgMywJVEQsCXN5c19wb2xsLAkJInBvbGwiCQkJfSwgLyogOTQgKi8KKwl7IDEsCVRELAlzeXNfZnN5bmMsCQkiZnN5bmMiCQkJfSwgLyogOTUgKi8KKwl7IDMsCTAsCXN5c19zZXRwcmlvcml0eSwJInNldHByaW9yaXR5IgkJfSwgLyogOTYgKi8KKwl7IDMsCVROLAlzeXNfc29ja2V0LAkJInNvY2tldCIJCX0sIC8qIDk3ICovCisJeyAzLAlUTiwJc3lzX2Nvbm5lY3QsCQkiY29ubmVjdCIJCX0sIC8qIDk4ICovCisJeyAzLAlUTiwJc3lzX2FjY2VwdCwJCSJhY2NlcHQiCQl9LCAvKiA5OSAqLworCXsgMiwJMCwJc3lzX2dldHByaW9yaXR5LAkib3NmX2dldHByaW9yaXR5Igl9LCAvKiAxMDAgKi8KKwl7IDQsCVROLAlzeXNfc2VuZCwJCSJzZW5kIgkJCX0sIC8qIDEwMSAqLworCXsgNCwJVE4sCXN5c19yZWN2LAkJInJlY3YiCQkJfSwgLyogMTAyICovCisJeyAxLAlUUywJc3lzX3NpZ3JldHVybiwJCSJzaWdyZXR1cm4iCQl9LCAvKiAxMDMgKi8KKwl7IDMsCVROLAlzeXNfYmluZCwJCSJiaW5kIgkJCX0sIC8qIDEwNCAqLworCXsgNSwJVE4sCXN5c19zZXRzb2Nrb3B0LAkJInNldHNvY2tvcHQiCQl9LCAvKiAxMDUgKi8KKwl7IDIsCVROLAlzeXNfbGlzdGVuLAkJImxpc3RlbiIJCX0sIC8qIDEwNiAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIm9zZl9wbG9jayIJCX0sIC8qIDEwNywgbm90IGltcGxlbWVudGVkICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkib3NmX29sZF9zaWd2ZWMiCX0sIC8qIDEwOCwgbm90IGltcGxlbWVudGVkICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkib3NmX29sZF9zaWdibG9jayIJfSwgLyogMTA5LCBub3QgaW1wbGVtZW50ZWQgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJvc2Zfb2xkX3NpZ3NldG1hc2siCX0sIC8qIDExMCwgbm90IGltcGxlbWVudGVkICovCisJeyAzLAlUUywJc3lzX3NpZ3N1c3BlbmQsCQkic2lnc3VzcGVuZCIJCX0sIC8qIDExMSAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJInNpZ3N0YWNrIgkJfSwgLyogMTEyICovCisJeyAzLAlUTiwJc3lzX3JlY3Ztc2csCQkicmVjdm1zZyIJCX0sIC8qIDExMyAqLworCXsgMywJVE4sCXN5c19zZW5kbXNnLAkJInNlbmRtc2ciCQl9LCAvKiAxMTQgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJvc2Zfb2xkX3Z0cmFjZSIJfSwgLyogMTE1LCBub3QgaW1wbGVtZW50ZWQgKi8KKwl7IDIsCTAsCXN5c19vc2ZfZ2V0dGltZW9mZGF5LAkib3NmX2dldHRpbWVvZmRheSIJfSwgLyogMTE2ICovCisJeyAyLAkwLAlzeXNfb3NmX2dldHJ1c2FnZSwJIm9zZl9nZXRydXNhZ2UiCQl9LCAvKiAxMTcgKi8KKwl7IDUsCVROLAlzeXNfZ2V0c29ja29wdCwJCSJnZXRzb2Nrb3B0IgkJfSwgLyogMTE4ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzExOSIJCX0sIC8qIDExOSAqLworCXsgMywJVEQsCXN5c19yZWFkdiwJCSJyZWFkdiIJCQl9LCAvKiAxMjAgKi8KKwl7IDMsCVRELAlzeXNfd3JpdGV2LAkJIndyaXRldiIJCX0sIC8qIDEyMSAqLworCXsgMiwJMCwJc3lzX29zZl9zZXR0aW1lb2ZkYXksCSJvc2Zfc2V0dGltZW9mZGF5Igl9LCAvKiAxMjIgKi8KKwl7IDMsCVRELAlzeXNfZmNob3duLAkJImZjaG93biIJCX0sIC8qIDEyMyAqLworCXsgMiwJVEQsCXN5c19mY2htb2QsCQkiZmNobW9kIgkJfSwgLyogMTI0ICovCisJeyA2LAlUTiwJc3lzX3JlY3Zmcm9tLAkJInJlY3Zmcm9tIgkJfSwgLyogMTI1ICovCisJeyAyLAkwLAlzeXNfc2V0cmV1aWQsCQkic2V0cmV1aWQiCQl9LCAvKiAxMjYgKi8KKwl7IDIsCTAsCXN5c19zZXRyZWdpZCwJCSJzZXRyZWdpZCIJCX0sIC8qIDEyNyAqLworCXsgMiwJVEYsCXN5c19yZW5hbWUsCQkicmVuYW1lIgkJfSwgLyogMTI4ICovCisJeyAyLAlURiwJc3lzX3RydW5jYXRlLAkJInRydW5jYXRlIgkJfSwgLyogMTI5ICovCisJeyAyLAlURCwJc3lzX2Z0cnVuY2F0ZSwJCSJmdHJ1bmNhdGUiCQl9LCAvKiAxMzAgKi8KKwl7IDIsCVRELAlzeXNfZmxvY2ssCQkiZmxvY2siCQkJfSwgLyogMTMxICovCisJeyAxLAkwLAlzeXNfc2V0Z2lkLAkJInNldGdpZCIJCX0sIC8qIDEzMiAqLworCXsgNiwJVE4sCXN5c19zZW5kdG8sCQkic2VuZHRvIgkJfSwgLyogMTMzICovCisJeyAyLAlUTiwJc3lzX3NodXRkb3duLAkJInNodXRkb3duIgkJfSwgLyogMTM0ICovCisJeyA0LAlUTiwJc3lzX3NvY2tldHBhaXIsCQkic29ja2V0cGFpciIJCX0sIC8qIDEzNSAqLworCXsgMiwJVEYsCXN5c19ta2RpciwJCSJta2RpciIJCQl9LCAvKiAxMzYgKi8KKwl7IDEsCVRGLAlzeXNfcm1kaXIsCQkicm1kaXIiCQkJfSwgLyogMTM3ICovCisJeyAyLAkwLAlzeXNfb3NmX3V0aW1lcywJCSJvc2ZfdXRpbWVzIgkJfSwgLyogMTM4ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkib3NmX29sZF9zaWdyZXR1cm4iCX0sIC8qIDEzOSAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIm9zZl9hZGp0aW1lIgkJfSwgLyogMTQwLCBub3QgaW1wbGVtZW50ZWQgKi8KKwl7IDMsCVROLAlzeXNfZ2V0cGVlcm5hbWUsCSJnZXRwZWVybmFtZSIJCX0sIC8qIDE0MSAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIm9zZl9nZXRob3N0aWQiCQl9LCAvKiAxNDIsIG5vdCBpbXBsZW1lbnRlZCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIm9zZl9zZXRob3N0aWQiCQl9LCAvKiAxNDMsIG5vdCBpbXBsZW1lbnRlZCAqLworCXsgMiwJMCwJc3lzX2dldHJsaW1pdCwJCSJnZXRybGltaXQiCQl9LCAvKiAxNDQgKi8KKwl7IDIsCTAsCXN5c19zZXRybGltaXQsCQkic2V0cmxpbWl0IgkJfSwgLyogMTQ1ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkib3NmX29sZF9raWxscGciCX0sIC8qIDE0Niwgbm90IGltcGxlbWVudGVkICovCisJeyAwLAkwLAlzeXNfc2V0c2lkLAkJInNldHNpZCIJCX0sIC8qIDE0NyAqLworCXsgNCwJMCwJc3lzX3F1b3RhY3RsLAkJInF1b3RhY3RsIgkJfSwgLyogMTQ4ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkib3NmX29sZHF1b3RhIgkJfSwgLyogMTQ5LCBub3QgaW1wbGVtZW50ZWQgKi8KKwl7IDMsCVROLAlzeXNfZ2V0c29ja25hbWUsCSJnZXRzb2NrbmFtZSIJCX0sIC8qIDE1MCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNTEiCQl9LCAvKiAxNTEgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMTUyIgkJfSwgLyogMTUyICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkib3NmX3BpZF9ibG9jayIJCX0sIC8qIDE1Mywgbm90IGltcGxlbWVudGVkICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkib3NmX3BpZF91bmJsb2NrIgl9LCAvKiAxNTQsIG5vdCBpbXBsZW1lbnRlZCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNTUiCQl9LCAvKiAxNTUgKi8KKwl7IDMsCVRTLAlzeXNfc2lnYWN0aW9uLAkJInNpZ2FjdGlvbiIJCX0sIC8qIDE1NiAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIm9zZl9zaWd3YWl0cHJpbSIJfSwgLyogMTU3LCBub3QgaW1wbGVtZW50ZWQgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJvc2ZfbmZzc3ZjIgkJfSwgLyogMTU4LCBub3QgaW1wbGVtZW50ZWQgKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJvc2ZfZ2V0ZGlyZW50cmllcyIJfSwgLyogMTU5ICovCisJeyAzLAkwLAlvc2Zfc3RhdGZzLAkJIm9zZl9zdGF0ZnMiCQl9LCAvKiAxNjAgKi8KKwl7IDMsCTAsCW9zZl9mc3RhdGZzLAkJIm9zZl9mc3RhdGZzIgkJfSwgLyogMTYxICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzE2MiIJCX0sIC8qIDE2MiAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIm9zZl9hc3luY2hfZGFlbW9uIgl9LCAvKiAxNjMsIG5vdCBpbXBsZW1lbnRlZCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIm9zZl9nZXRmaCIJCX0sIC8qIDE2NCwgbm90IGltcGxlbWVudGVkICovCisJeyAyLAkwLAlwcmludGFyZ3MsCQkib3NmX2dldGRvbWFpbm5hbWUiCX0sIC8qIDE2NSAqLworCXsgMiwJMCwJc3lzX3NldGRvbWFpbm5hbWUsCSJzZXRkb21haW5uYW1lIgkJfSwgLyogMTY2ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzE2NyIJCX0sIC8qIDE2NyAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNjgiCQl9LCAvKiAxNjggKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJvc2ZfZXhwb3J0ZnMiCQl9LCAvKiAxNjksIG5vdCBpbXBsZW1lbnRlZCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNzAiCQl9LCAvKiAxNzAgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMTcxIgkJfSwgLyogMTcxICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzE3MiIJCX0sIC8qIDE3MiAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNzMiCQl9LCAvKiAxNzMgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMTc0IgkJfSwgLyogMTc0ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzE3NSIJCX0sIC8qIDE3NSAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNzYiCQl9LCAvKiAxNzYgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMTc3IgkJfSwgLyogMTc3ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzE3OCIJCX0sIC8qIDE3OCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNzkiCQl9LCAvKiAxNzkgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMTgwIgkJfSwgLyogMTgwICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkib3NmX2FsdF9wbG9jayIJCX0sIC8qIDE4MSwgbm90IGltcGxlbWVudGVkICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzE4MiIJCX0sIC8qIDE4MiAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18xODMiCQl9LCAvKiAxODMgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJvc2ZfZ2V0bW50IgkJfSwgLyogMTg0LCBub3QgaW1wbGVtZW50ZWQgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMTg1IgkJfSwgLyogMTg1ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzE4NiIJCX0sIC8qIDE4NiAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIm9zZl9hbHRfc2lncGVuZGluZyIJfSwgLyogMTg3LCBub3QgaW1wbGVtZW50ZWQgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJvc2ZfYWx0X3NldHNpZCIJfSwgLyogMTg4LCBub3QgaW1wbGVtZW50ZWQgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMTg5IgkJfSwgLyogMTg5ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzE5MCIJCX0sIC8qIDE5MCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18xOTEiCQl9LCAvKiAxOTEgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMTkyIgkJfSwgLyogMTkyICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzE5MyIJCX0sIC8qIDE5MyAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18xOTQiCQl9LCAvKiAxOTQgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMTk1IgkJfSwgLyogMTk1ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzE5NiIJCX0sIC8qIDE5NiAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18xOTciCQl9LCAvKiAxOTcgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMTk4IgkJfSwgLyogMTk4ICovCisJeyA0LAkwLAlwcmludGFyZ3MsCQkib3NmX3N3YXBvbiIJCX0sIC8qIDE5OSAqLworCXsgNCwJVEksCXN5c19tc2djdGwsCQkibXNnY3RsIgkJfSwgLyogMjAwICovCisJeyA0LAlUSSwJc3lzX21zZ2dldCwJCSJtc2dnZXQiCQl9LCAvKiAyMDEgKi8KKwl7IDQsCVRJLAlzeXNfbXNncmN2LAkJIm1zZ3JjdiIJCX0sIC8qIDIwMiAqLworCXsgNCwJVEksCXN5c19tc2dzbmQsCQkibXNnc25kIgkJfSwgLyogMjAzICovCisJeyA0LAlUSSwJc3lzX3NlbWN0bCwJCSJzZW1jdGwiCQl9LCAvKiAyMDQgKi8KKwl7IDQsCVRJLAlzeXNfc2VtZ2V0LAkJInNlbWdldCIJCX0sIC8qIDIwNSAqLworCXsgNCwJVEksCXByaW50YXJncywJCSJzZW1vcCIJCQl9LCAvKiAyMDYgKi8KKwl7IDEsCTAsCXByaW50YXJncywJCSJvc2ZfdXRzbmFtZSIJCX0sIC8qIDIwNyAqLworCXsgMywJVEYsCXN5c19jaG93biwJCSJsY2hvd24iCQl9LCAvKiAyMDggKi8KKwl7IDMsCVRJLAlwcmludGFyZ3MsCQkib3NmX3NobWF0IgkJfSwgLyogMjA5ICovCisJeyA0LAlUSSwJc3lzX3NobWN0bCwJCSJzaG1jdGwiCQl9LCAvKiAyMTAgKi8KKwl7IDQsCVRJLAlzeXNfc2htZHQsCQkic2htZHQiCQkJfSwgLyogMjExICovCisJeyA0LAlUSSwJc3lzX3NobWdldCwJCSJzaG1nZXQiCQl9LCAvKiAyMTIgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJvc2ZfbXZhbGlkIgkJfSwgLyogMjEzLCBub3QgaW1wbGVtZW50ZWQgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJvc2ZfZ2V0YWRkcmVzc2NvbmYiCX0sIC8qIDIxNCwgbm90IGltcGxlbWVudGVkICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkib3NmX21zbGVlcCIJCX0sIC8qIDIxNSwgbm90IGltcGxlbWVudGVkICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkib3NmX213YWtldXAiCQl9LCAvKiAyMTYsIG5vdCBpbXBsZW1lbnRlZCAqLworCXsgMywJMCwJc3lzX21zeW5jLAkJIm1zeW5jIgkJCX0sIC8qIDIxNyAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIm9zZl9zaWduYWwiCQl9LCAvKiAyMTgsIG5vdCBpbXBsZW1lbnRlZCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIm9zZl91dGNfZ2V0dGltZSIJfSwgLyogMjE5LCBub3QgaW1wbGVtZW50ZWQgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJvc2ZfdXRjX2FkanRpbWUiCX0sIC8qIDIyMCwgbm90IGltcGxlbWVudGVkICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzIyMSIJCX0sIC8qIDIyMSAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIm9zZl9zZWN1cml0eSIJCX0sIC8qIDIyMiwgbm90IGltcGxlbWVudGVkICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkib3NmX2tsb2FkY2FsbCIJCX0sIC8qIDIyMywgbm90IGltcGxlbWVudGVkICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzIyNCIJCX0sIC8qIDIyNCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMjUiCQl9LCAvKiAyMjUgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMjI2IgkJfSwgLyogMjI2ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzIyNyIJCX0sIC8qIDIyNyAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMjgiCQl9LCAvKiAyMjggKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMjI5IgkJfSwgLyogMjI5ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzIzMCIJCX0sIC8qIDIzMCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMzEiCQl9LCAvKiAyMzEgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMjMyIgkJfSwgLyogMjMyICovCisJeyAxLAkwLAlzeXNfZ2V0cGdpZCwJCSJnZXRwZ2lkIgkJfSwgLyogMjMzICovCisJeyAxLAkwLAlzeXNfZ2V0c2lkLAkJImdldHNpZCIJCX0sIC8qIDIzNCAqLworCXsgNSwJMCwJc3lzX3NpZ2FsdHN0YWNrLAkic2lnYWx0c3RhY2siCQl9LCAvKiAyMzUgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJvc2Zfd2FpdGlkIgkJfSwgLyogMjM2LCBub3QgaW1wbGVtZW50ZWQgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJvc2ZfcHJpb2NudGxzZXQiCX0sIC8qIDIzNywgbm90IGltcGxlbWVudGVkICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkib3NmX3NpZ3NlbmRzZXQiCX0sIC8qIDIzOCwgbm90IGltcGxlbWVudGVkICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkib3NmX3NldF9zcGVjdWxhdGl2ZSIJfSwgLyogMjM5LCBub3QgaW1wbGVtZW50ZWQgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJvc2ZfbXNmc19zeXNjYWxsIgl9LCAvKiAyNDAsIG5vdCBpbXBsZW1lbnRlZCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIm9zZl9zeXNpbmZvIgkJfSwgLyogMjQxICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkib3NmX3VhZG1pbiIJCX0sIC8qIDI0Miwgbm90IGltcGxlbWVudGVkICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkib3NmX2Z1c2VyIgkJfSwgLyogMjQzLCBub3QgaW1wbGVtZW50ZWQgKi8KKwl7IDIsCTAsCXByaW50YXJncywJCSJvc2ZfcHJvcGxpc3Rfc3lzY2FsbCIJfSwgLyogMjQ0ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkib3NmX250cF9hZGp0aW1lIgl9LCAvKiAyNDUsIG5vdCBpbXBsZW1lbnRlZCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIm9zZl9udHBfZ2V0dGltZSIJfSwgLyogMjQ2LCBub3QgaW1wbGVtZW50ZWQgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJvc2ZfcGF0aGNvbmYiCQl9LCAvKiAyNDcsIG5vdCBpbXBsZW1lbnRlZCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIm9zZl9mcGF0aGNvbmYiCQl9LCAvKiAyNDgsIG5vdCBpbXBsZW1lbnRlZCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNDkiCQl9LCAvKiAyNDkgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJvc2ZfdXN3aXRjaCIJCX0sIC8qIDI1MCwgbm90IGltcGxlbWVudGVkICovCisJeyAyLAkwLAlwcmludGFyZ3MsCQkib3NmX3VzbGVlcF90aHJlYWQiCX0sIC8qIDI1MSAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIm9zZl9hdWRjbnRsIgkJfSwgLyogMjUyLCBub3QgaW1wbGVtZW50ZWQgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJvc2ZfYXVkZ2VuIgkJfSwgLyogMjUzLCBub3QgaW1wbGVtZW50ZWQgKi8KKwl7IDUsCTAsCXN5c19zeXNmcywJCSJzeXNmcyIJCQl9LCAvKiAyNTQgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJvc2Zfc3Vic3lzaW5mbyIJfSwgLyogMjU1LCBub3QgaW1wbGVtZW50ZWQgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJvc2ZfZ2V0c3lzaW5mbyIJfSwgLyogMjU2ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkib3NmX3NldHN5c2luZm8iCX0sIC8qIDI1NyAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIm9zZl9hZnNfc3lzY2FsbCIJfSwgLyogMjU4LCBub3QgaW1wbGVtZW50ZWQgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJvc2Zfc3dhcGN0bCIJCX0sIC8qIDI1OSwgbm90IGltcGxlbWVudGVkICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkib3NmX21lbWNudGwiCQl9LCAvKiAyNjAsIG5vdCBpbXBsZW1lbnRlZCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIm9zZl9mZGF0YXN5bmMiCQl9LCAvKiAyNjEsIG5vdCBpbXBsZW1lbnRlZCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNjIiCQl9LCAvKiAyNjIgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMjYzIgkJfSwgLyogMjYzICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzI2NCIJCX0sIC8qIDI2NCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNjUiCQl9LCAvKiAyNjUgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMjY2IgkJfSwgLyogMjY2ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzI2NyIJCX0sIC8qIDI2NyAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNjgiCQl9LCAvKiAyNjggKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMjY5IgkJfSwgLyogMjY5ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzI3MCIJCX0sIC8qIDI3MCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNzEiCQl9LCAvKiAyNzEgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMjcyIgkJfSwgLyogMjcyICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzI3MyIJCX0sIC8qIDI3MyAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNzQiCQl9LCAvKiAyNzQgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMjc1IgkJfSwgLyogMjc1ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzI3NiIJCX0sIC8qIDI3NiAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNzciCQl9LCAvKiAyNzcgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMjc4IgkJfSwgLyogMjc4ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzI3OSIJCX0sIC8qIDI3OSAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yODAiCQl9LCAvKiAyODAgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMjgxIgkJfSwgLyogMjgxICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzI4MiIJCX0sIC8qIDI4MiAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yODMiCQl9LCAvKiAyODMgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMjg0IgkJfSwgLyogMjg0ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzI4NSIJCX0sIC8qIDI4NSAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yODYiCQl9LCAvKiAyODYgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMjg3IgkJfSwgLyogMjg3ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzI4OCIJCX0sIC8qIDI4OCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yODkiCQl9LCAvKiAyODkgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMjkwIgkJfSwgLyogMjkwICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzI5MSIJCX0sIC8qIDI5MSAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yOTIiCQl9LCAvKiAyOTIgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMjkzIgkJfSwgLyogMjkzICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzI5NCIJCX0sIC8qIDI5NCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yOTUiCQl9LCAvKiAyOTUgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMjk2IgkJfSwgLyogMjk2ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzI5NyIJCX0sIC8qIDI5NyAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yOTgiCQl9LCAvKiAyOTggKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMjk5IgkJfSwgLyogMjk5ICovCisJeyAwLAkwLAlzeXNfYmRmbHVzaCwJCSJiZGZsdXNoIgkJfSwgLyogMzAwICovCisJeyAzLAkwLAlwcmludGFyZ3MsCQkic2V0aGFlIgkJfSwgLyogMzAxICovCisJeyA1LAlURiwJc3lzX21vdW50LAkJIm1vdW50IgkJCX0sIC8qIDMwMiAqLworCXsgMSwJMCwJc3lzX2FkanRpbWV4LAkJImFkanRpbWV4MzIiCQl9LCAvKiAzMDMgKi8KKwl7IDEsCTAsCXN5c19zd2Fwb2ZmLAkJInN3YXBvZmYiCQl9LCAvKiAzMDQgKi8KKwl7IDMsCVRELAlzeXNfZ2V0ZGVudHMsCQkiZ2V0ZGVudHMiCQl9LCAvKiAzMDUgKi8KKwl7IDIsCTAsCXN5c19jcmVhdGVfbW9kdWxlLAkiY3JlYXRlX21vZHVsZSIJCX0sIC8qIDMwNiAqLworCXsgNCwJMCwJc3lzX2luaXRfbW9kdWxlLAkiaW5pdF9tb2R1bGUiCQl9LCAvKiAzMDcgKi8KKwl7IDIsCTAsCXN5c19kZWxldGVfbW9kdWxlLAkiZGVsZXRlX21vZHVsZSIJCX0sIC8qIDMwOCAqLworCXsgMSwJMCwJc3lzX2dldF9rZXJuZWxfc3ltcywJImdldF9rZXJuZWxfc3ltcyIJfSwgLyogMzA5ICovCisJeyAzLAkwLAlzeXNfc3lzbG9nLAkJInN5c2xvZyIJCX0sIC8qIDMxMCAqLworCXsgMywJMCwJc3lzX3JlYm9vdCwJCSJyZWJvb3QiCQl9LCAvKiAzMTEgKi8KKwl7IDUsCVRQLAlzeXNfY2xvbmUsCQkiY2xvbmUiCQkJfSwgLyogMzEyICovCisJeyAxLAkwLAlzeXNfdXNlbGliLAkJInVzZWxpYiIJCX0sIC8qIDMxMyAqLworCXsgMiwJMCwJc3lzX21sb2NrLAkJIm1sb2NrIgkJCX0sIC8qIDMxNCAqLworCXsgMiwJMCwJc3lzX211bmxvY2ssCQkibXVubG9jayIJCX0sIC8qIDMxNSAqLworCXsgMSwJMCwJc3lzX21sb2NrYWxsLAkJIm1sb2NrYWxsIgkJfSwgLyogMzE2ICovCisJeyAwLAkwLAlzeXNfbXVubG9ja2FsbCwJCSJtdW5sb2NrYWxsIgkJfSwgLyogMzE3ICovCisJeyAxLAkwLAlzeXNfc3lzaW5mbywJCSJzeXNpbmZvIgkJfSwgLyogMzE4ICovCisJeyAxLAkwLAlzeXNfc3lzY3RsLAkJInN5c2N0bCIJCX0sIC8qIDMxOSAqLworCXsgMCwJMCwJc3lzX2lkbGUsCQkiaWRsZSIJCQl9LCAvKiAzMjAgKi8KKwl7IDEsCTAsCXN5c191bW91bnQsCQkib2xkdW1vdW50IgkJfSwgLyogMzIxICovCisJeyAxLAkwLAlzeXNfc3dhcG9uLAkJInN3YXBvbiIJCX0sIC8qIDMyMiAqLworCXsgMSwJMCwJc3lzX3RpbWVzLAkJInRpbWVzIgkJCX0sIC8qIDMyMyAqLworCXsgMSwJMCwJc3lzX3BlcnNvbmFsaXR5LAkicGVyc29uYWxpdHkiCQl9LCAvKiAzMjQgKi8KKwl7IDEsCTAsCXN5c19zZXRmc3VpZCwJCSJzZXRmc3VpZCIJCX0sIC8qIDMyNSAqLworCXsgMSwJMCwJc3lzX3NldGZzZ2lkLAkJInNldGZzZ2lkIgkJfSwgLyogMzI2ICovCisJeyAyLAkwLAlzeXNfdXN0YXQsCQkidXN0YXQiCQkJfSwgLyogMzI3ICovCisJeyAyLAlURiwJc3lzX3N0YXRmcywJCSJzdGF0ZnMiCQl9LCAvKiAzMjggKi8KKwl7IDIsCVRELAlzeXNfZnN0YXRmcywJCSJmc3RhdGZzIgkJfSwgLyogMzI5ICovCisJeyAyLAkwLAlzeXNfc2NoZWRfc2V0cGFyYW0sCSJzY2hlZF9zZXRwYXJhbSIJfSwgLyogMzMwICovCisJeyAyLAkwLAlzeXNfc2NoZWRfZ2V0cGFyYW0sCSJzY2hlZF9nZXRwYXJhbSIJfSwgLyogMzMxICovCisJeyAzLAkwLAlzeXNfc2NoZWRfc2V0c2NoZWR1bGVyLAkic2NoZWRfc2V0c2NoZWR1bGVyIgl9LCAvKiAzMzIgKi8KKwl7IDIsCTAsCXN5c19zY2hlZF9nZXRzY2hlZHVsZXIsCSJzY2hlZF9nZXRzY2hlZHVsZXIiCX0sIC8qIDMzMyAqLworCXsgMCwJMCwJc3lzX3NjaGVkX3lpZWxkLAkic2NoZWRfeWllbGQiCQl9LCAvKiAzMzQgKi8KKwl7IDEsCTAsCXN5c19zY2hlZF9nZXRfcHJpb3JpdHlfbWF4LCJzY2hlZF9nZXRfcHJpb3JpdHlfbWF4Igl9LCAvKiAzMzUgKi8KKwl7IDEsCTAsCXN5c19zY2hlZF9nZXRfcHJpb3JpdHlfbWluLCJzY2hlZF9nZXRfcHJpb3JpdHlfbWluIgl9LCAvKiAzMzYgKi8KKwl7IDIsCTAsCXN5c19zY2hlZF9ycl9nZXRfaW50ZXJ2YWwsInNjaGVkX3JyX2dldF9pbnRlcnZhbCIJfSwgLyogMzM3ICovCisJeyA1LAkwLAlzeXNfYWZzX3N5c2NhbGwsCSJhZnNfc3lzY2FsbCIJCX0sIC8qIDMzOCAqLworCXsgMSwJMCwJc3lzX3VuYW1lLAkJInVuYW1lIgkJCX0sIC8qIDMzOSAqLworCXsgMiwJMCwJc3lzX25hbm9zbGVlcCwJCSJuYW5vc2xlZXAiCQl9LCAvKiAzNDAgKi8KKwl7IDUsCTAsCXN5c19tcmVtYXAsCQkibXJlbWFwIgkJfSwgLyogMzQxICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkibmZzc2VydmN0bCIJCX0sIC8qIDM0MiAqLworCXsgMywJMCwJc3lzX3NldHJlc3VpZCwJCSJzZXRyZXN1aWQiCQl9LCAvKiAzNDMgKi8KKwl7IDMsCTAsCXN5c19nZXRyZXN1aWQsCQkiZ2V0cmVzdWlkIgkJfSwgLyogMzQ0ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkicGNpY29uZmlnX3JlYWQiCX0sIC8qIDM0NSAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJInBjaWNvbmZpZ193cml0ZSIJfSwgLyogMzQ2ICovCisJeyA1LAkwLAlzeXNfcXVlcnlfbW9kdWxlLAkicXVlcnlfbW9kdWxlIgkJfSwgLyogMzQ3ICovCisJeyA1LAkwLAlzeXNfcHJjdGwsCQkicHJjdGwiCQkJfSwgLyogMzQ4ICovCisJeyA1LAlURCwJc3lzX3ByZWFkLAkJInByZWFkIgkJCX0sIC8qIDM0OSAqLworCXsgNSwJVEQsCXN5c19wd3JpdGUsCQkicHdyaXRlIgkJfSwgLyogMzUwICovCisJeyAxLAlUUywJcHJpbnRhcmdzLAkJInJ0X3NpZ3JldHVybiIJCX0sIC8qIDM1MSAqLworCXsgNCwJVFMsCXN5c19ydF9zaWdhY3Rpb24sCSJydF9zaWdhY3Rpb24iCQl9LCAvKiAzNTIgKi8KKwl7IDQsCVRTLAlzeXNfcnRfc2lncHJvY21hc2ssCSJydF9zaWdwcm9jbWFzayIJfSwgLyogMzUzICovCisJeyAyLAlUUywJc3lzX3J0X3NpZ3BlbmRpbmcsCSJydF9zaWdwZW5kaW5nIgkJfSwgLyogMzU0ICovCisJeyA0LAlUUywJc3lzX3J0X3NpZ3RpbWVkd2FpdCwJInJ0X3NpZ3RpbWVkd2FpdCIJfSwgLyogMzU1ICovCisJeyAzLAlUUywJc3lzX3J0X3NpZ3F1ZXVlaW5mbywJInJ0X3NpZ3F1ZXVlaW5mbyIJfSwgLyogMzU2ICovCisJeyAyLAlUUywJc3lzX3J0X3NpZ3N1c3BlbmQsCSJydF9zaWdzdXNwZW5kIgkJfSwgLyogMzU3ICovCisJeyA1LAlURCwJc3lzX3NlbGVjdCwJCSJzZWxlY3QiCQl9LCAvKiAzNTggKi8KKwl7IDIsCTAsCXN5c19nZXR0aW1lb2ZkYXksCSJnZXR0aW1lb2ZkYXkiCQl9LCAvKiAzNTkgKi8KKwl7IDMsCTAsCXN5c19zZXR0aW1lb2ZkYXksCSJzZXR0aW1lb2ZkYXkiCQl9LCAvKiAzNjAgKi8KKwl7IDIsCTAsCXN5c19nZXRpdGltZXIsCQkiZ2V0aXRpbWVyIgkJfSwgLyogMzYxICovCisJeyAzLAkwLAlzeXNfc2V0aXRpbWVyLAkJInNldGl0aW1lciIJCX0sIC8qIDM2MiAqLworCXsgMiwJMCwJc3lzX3V0aW1lcywJCSJ1dGltZXMiCQl9LCAvKiAzNjMgKi8KKwl7IDIsCTAsCXN5c19nZXRydXNhZ2UsCQkiZ2V0cnVzYWdlIgkJfSwgLyogMzY0ICovCisJeyA0LAlUUCwJc3lzX3dhaXQ0LAkJIndhaXQ0IgkJCX0sIC8qIDM2NSAqLworCXsgMSwJMCwJc3lzX2FkanRpbWV4LAkJImFkanRpbWV4IgkJfSwgLyogMzY2ICovCisJeyAyLAkwLAlzeXNfZ2V0Y3dkLAkJImdldGN3ZCIJCX0sIC8qIDM2NyAqLworCXsgMiwJMCwJc3lzX2NhcGdldCwJCSJjYXBnZXQiCQl9LCAvKiAzNjggKi8KKwl7IDIsCTAsCXN5c19jYXBzZXQsCQkiY2Fwc2V0IgkJfSwgLyogMzY5ICovCisJeyA0LAlURHxUTiwJc3lzX3NlbmRmaWxlLAkJInNlbmRmaWxlIgkJfSwgLyogMzcwICovCisJeyAzLAkwLAlzeXNfc2V0cmVzZ2lkLAkJInNldHJlc2dpZCIJCX0sIC8qIDM3MSAqLworCXsgMywJMCwJc3lzX2dldHJlc2dpZCwJCSJnZXRyZXNnaWQiCQl9LCAvKiAzNzIgKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJkaXBjIgkJCX0sIC8qIDM3Mywgbm90IGltcGxlbWVudGVkICovCisJeyAyLAlURiwJc3lzX3Bpdm90cm9vdCwJCSJwaXZvdF9yb290IgkJfSwgLyogMzc0ICovCisJeyAzLAkwLAlzeXNfbWluY29yZSwJCSJtaW5jb3JlIgkJfSwgLyogMzc1ICovCisJeyAzLAkwLAlwcmludGFyZ3MsCQkicGNpY29uZmlnX2lvYmFzZSIJfSwgLyogMzc2ICovCisJeyAzLAlURCwJc3lzX2dldGRlbnRzNjQsCQkiZ2V0ZGVudHM2NCIJCX0sIC8qIDM3NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImdldHRpZCIJCX0sIC8qIDM3OCAqLworCXsgNCwJVEQsCXN5c19yZWFkYWhlYWQsCQkicmVhZGFoZWFkIgkJfSwgLyogMzc5ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4MCIJCX0sIC8qIDM4MCAqLworCXsgMiwJVFMsCXN5c19raWxsLAkJInRraWxsIgkJCX0sIC8qIDM4MSAqLworCXsgNSwJVEYsCXN5c19zZXR4YXR0ciwJCSJzZXR4YXR0ciIJCX0sIC8qIDM4MiAqLworCXsgNSwJVEYsCXN5c19zZXR4YXR0ciwJCSJsc2V0eGF0dHIiCQl9LCAvKiAzODMgKi8KKwl7IDUsCVRELAlzeXNfZnNldHhhdHRyLAkJImZzZXR4YXR0ciIJCX0sIC8qIDM4NCAqLworCXsgNCwJVEYsCXN5c19nZXR4YXR0ciwJCSJnZXR4YXR0ciIJCX0sIC8qIDM4NSAqLworCXsgNCwJVEYsCXN5c19nZXR4YXR0ciwJCSJsZ2V0eGF0dHIiCQl9LCAvKiAzODYgKi8KKwl7IDQsCTAsCXN5c19mZ2V0eGF0dHIsCQkiZmdldHhhdHRyIgkJfSwgLyogMzg3ICovCisJeyAzLAlURiwJc3lzX2xpc3R4YXR0ciwJCSJsaXN0eGF0dHIiCQl9LCAvKiAzODggKi8KKwl7IDMsCVRGLAlzeXNfbGlzdHhhdHRyLAkJImxsaXN0eGF0dHIiCQl9LCAvKiAzODkgKi8KKwl7IDMsCTAsCXN5c19mbGlzdHhhdHRyLAkJImZsaXN0eGF0dHIiCQl9LCAvKiAzOTAgKi8KKwl7IDIsCVRGLAlzeXNfcmVtb3ZleGF0dHIsCSJyZW1vdmV4YXR0ciIJCX0sIC8qIDM5MSAqLworCXsgMiwJVEYsCXN5c19yZW1vdmV4YXR0ciwJImxyZW1vdmV4YXR0ciIJCX0sIC8qIDM5MiAqLworCXsgMiwJVEQsCXN5c19mcmVtb3ZleGF0dHIsCSJmcmVtb3ZleGF0dHIiCQl9LCAvKiAzOTMgKi8KKwl7IDYsCTAsCXN5c19mdXRleCwJCSJmdXRleCIJCQl9LCAvKiAzOTQgKi8KKwl7IDMsCTAsCXN5c19zY2hlZF9zZXRhZmZpbml0eSwJInNjaGVkX3NldGFmZmluaXR5Igl9LCAvKiAzOTUgKi8KKwl7IDMsCTAsCXN5c19zY2hlZF9nZXRhZmZpbml0eSwJInNjaGVkX2dldGFmZmluaXR5Igl9LCAvKiAzOTYgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJ0dXhjYWxsIgkJfSwgLyogMzk3ICovCisJeyAyLAkwLAlzeXNfaW9fc2V0dXAsCQkiaW9fc2V0dXAiCQl9LCAvKiAzOTggKi8KKwl7IDEsCTAsCXN5c19pb19kZXN0cm95LAkJImlvX2Rlc3Ryb3kiCQl9LCAvKiAzOTkgKi8KKwl7IDUsCTAsCXN5c19pb19nZXRldmVudHMsCQkiaW9fZ2V0ZXZlbnRzIgkJfSwgLyogNDAwICovCisJeyAzLAkwLAlzeXNfaW9fc3VibWl0LAkJImlvX3N1Ym1pdCIJCX0sIC8qIDQwMSAqLworCXsgMywJMCwJc3lzX2lvX2NhbmNlbCwJCSJpb19jYW5jZWwiCQl9LCAvKiA0MDIgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfNDAzIgkJfSwgLyogNDAzICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzQwNCIJCX0sIC8qIDQwNCAqLworCXsgMSwJVFAsCXN5c19leGl0LAkJImV4aXRfZ3JvdXAiCQl9LCAvKiA0MDUgKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJsb29rdXBfZGNvb2tpZSIJfSwgLyogNDA2ICovCisJeyAxLAkwLAlzeXNfZXBvbGxfY3JlYXRlLAkiZXBvbGxfY3JlYXRlIgkJfSwgLyogNDA3ICovCisJeyA0LAlURCwJc3lzX2Vwb2xsX2N0bCwJCSJlcG9sbF9jdGwiCQl9LCAvKiA0MDggKi8KKwl7IDQsCVRELAlzeXNfZXBvbGxfd2FpdCwJCSJlcG9sbF93YWl0IgkJfSwgLyogNDA5ICovCisJeyA1LAkwLAlzeXNfcmVtYXBfZmlsZV9wYWdlcywJInJlbWFwX2ZpbGVfcGFnZXMiCX0sIC8qIDQxMCAqLworCXsgMSwJMCwJcHJpbnRhcmdzLAkJInNldF90aWRfYWRkcmVzcyIJfSwgLyogNDExICovCisJeyAwLAkwLAlzeXNfcmVzdGFydF9zeXNjYWxsLAkicmVzdGFydF9zeXNjYWxsIgl9LCAvKiA0MTIgKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJmYWR2aXNlIgkJfSwgLyogNDEzICovCisJeyAzLAkwLAlzeXNfdGltZXJfY3JlYXRlLAkidGltZXJfY3JlYXRlIgkJfSwgLyogNDE0ICovCisJeyA0LAkwLAlzeXNfdGltZXJfc2V0dGltZSwJInRpbWVyX3NldHRpbWUiCQl9LCAvKiA0MTUgKi8KKwl7IDIsCTAsCXN5c190aW1lcl9nZXR0aW1lLAkidGltZXJfZ2V0dGltZSIJCX0sIC8qIDQxNiAqLworCXsgMSwJMCwJc3lzX3RpbWVyX2dldG92ZXJydW4sCSJ0aW1lcl9nZXRvdmVycnVuIgl9LCAvKiA0MTcgKi8KKwl7IDEsCTAsCXN5c190aW1lcl9kZWxldGUsCSJ0aW1lcl9kZWxldGUiCQl9LCAvKiA0MTggKi8KKwl7IDIsCTAsCXN5c19jbG9ja19zZXR0aW1lLAkiY2xvY2tfc2V0dGltZSIJCX0sIC8qIDQxOSAqLworCXsgMiwJMCwJc3lzX2Nsb2NrX2dldHRpbWUsCSJjbG9ja19nZXR0aW1lIgkJfSwgLyogNDIwICovCisJeyAyLAkwLAlzeXNfY2xvY2tfZ2V0cmVzLAkiY2xvY2tfZ2V0cmVzIgkJfSwgLyogNDIxICovCisJeyA0LAkwLAlzeXNfY2xvY2tfbmFub3NsZWVwLAkiY2xvY2tfbmFub3NsZWVwIgl9LCAvKiA0MjIgKi8KKwl7IDUsCVRJLAlzeXNfc2VtdGltZWRvcCwJCSJzZW10aW1lZG9wIgkJfSwgLyogNDIzICovCisJeyAzLAlUUywJc3lzX3Rna2lsbCwJCSJ0Z2tpbGwiCQl9LCAvKiA0MjQgKi8KKwl7IDIsCVRGLAlzeXNfc3RhdDY0LAkJInN0YXQ2NCIJCX0sIC8qIDQyNSAqLworCXsgMiwJVEYsCXN5c19sc3RhdDY0LAkJImxzdGF0NjQiCQl9LCAvKiA0MjYgKi8KKwl7IDIsCVRELAlzeXNfZnN0YXQ2NCwJCSJmc3RhdDY0IgkJfSwgLyogNDI3ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkidnNlcnZlciIJCX0sIC8qIDQyOCA/Pz8gKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJtYmluZCIJCQl9LCAvKiA0MjkgPz8/ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiZ2V0X21lbXBvbGljeSIJCX0sIC8qIDQzMCA/Pz8gKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJzZXRfbWVtcG9saWN5IgkJfSwgLyogNDMxID8/PyAqLworCXsgNCwJMCwJc3lzX21xX29wZW4sCQkibXFfb3BlbiIJCX0sIC8qIDQzMiAqLworCXsgMSwJMCwJc3lzX21xX3VubGluaywJCSJtcV91bmxpbmsiCQl9LCAvKiA0MzMgKi8KKwl7IDUsCTAsCXN5c19tcV90aW1lZHNlbmQsCSJtcV90aW1lZHNlbmQiCQl9LCAvKiA0MzQgKi8KKwl7IDUsCTAsCXN5c19tcV90aW1lZHJlY2VpdmUsCSJtcV90aW1lZHJlY2VpdmUiCX0sIC8qIDQzNSAqLworCXsgMiwJMCwJc3lzX21xX25vdGlmeSwJCSJtcV9ub3RpZnkiCQl9LCAvKiA0MzYgKi8KKwl7IDMsCTAsCXN5c19tcV9nZXRzZXRhdHRyLAkibXFfZ2V0c2V0YXR0ciIJCX0sIC8qIDQzNyAqLworCXsgNCwJMCwJcHJpbnRhcmdzLAkJIndhaXRpZCIJCX0sIC8qIDQzOCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJImFkZF9rZXkiCQl9LCAvKiA0MzkgKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJyZXF1ZXN0X2tleSIJCX0sIC8qIDQ0MCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJImtleWN0bCIJCX0sIC8qIDQ0MSAqLworCXsgMywJMCwJcHJpbnRhcmdzLAkJImlvcHJpb19zZXQiCQl9LCAvKiA0NDIgKi8KKwl7IDIsCTAsCXByaW50YXJncywJCSJpb3ByaW9fZ2V0IgkJfSwgLyogNDQzICovCisJeyAwLAlURCwJcHJpbnRhcmdzLAkJImlub3RpZnlfaW5pdCIJCX0sIC8qIDQ0NCAqLworCXsgMywJVEQsCXN5c19pbm90aWZ5X2FkZF93YXRjaCwJImlub3RpZnlfYWRkX3dhdGNoIgl9LCAvKiA0NDUgKi8KKwl7IDIsCVRELAlzeXNfaW5vdGlmeV9ybV93YXRjaCwJImlub3RpZnlfcm1fd2F0Y2giCX0sIC8qIDQ0NiAqLworCXsgMSwJVEQsCXN5c19mZGF0YXN5bmMsCQkiZmRhdGFzeW5jIgkJfSwgLyogNDQ3ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkia2V4ZWNfbG9hZCIJCX0sIC8qIDQ0OCAqLworCXsgNCwJMCwJcHJpbnRhcmdzLAkJIm1pZ3JhdGVfcGFnZXMiCQl9LCAvKiA0NDkgKi8KKwl7IDQsCVREfFRGLAlzeXNfb3BlbmF0LAkJIm9wZW5hdCIJCX0sIC8qIDQ1MCAqLworCXsgMywJVER8VEYsCXN5c19ta2RpcmF0LAkJIm1rZGlyYXQiCQl9LCAvKiA0NTEgKi8KKwl7IDQsCVREfFRGLAlzeXNfbWtub2RhdCwJCSJta25vZGF0IgkJfSwgLyogNDUyICovCisJeyA1LAlURHxURiwJc3lzX2ZjaG93bmF0LAkJImZjaG93bmF0IgkJfSwgLyogNDUzICovCisJeyAzLAlURHxURiwJc3lzX2Z1dGltZXNhdCwJCSJmdXRpbWVzYXQiCQl9LCAvKiA0NTQgKi8KKwl7IDQsCVREfFRELAlzeXNfbmV3ZnN0YXRhdCwJCSJuZXdmc3RhdGF0IgkJfSwgLyogNDU1ICovCisJeyAzLAlURHxURiwJc3lzX3VubGlua2F0LAkJInVubGlua2F0IgkJfSwgLyogNDU2ICovCisJeyA0LAlURHxURiwJc3lzX3JlbmFtZWF0LAkJInJlbmFtZWF0IgkJfSwgLyogNDU3ICovCisJeyA1LAlURHxURiwJc3lzX2xpbmthdCwJCSJsaW5rYXQiCQl9LCAvKiA0NTggKi8KKwl7IDMsCVREfFRGLAlzeXNfc3ltbGlua2F0LAkJInN5bWxpbmthdCIJCX0sIC8qIDQ1OSAqLworCXsgNCwJVER8VEYsCXN5c19yZWFkbGlua2F0LAkJInJlYWRsaW5rYXQiCQl9LCAvKiA0NjAgKi8KKwl7IDMsCVREfFRGLAlzeXNfZmNobW9kYXQsCQkiZmNobW9kYXQiCQl9LCAvKiA0NjEgKi8KKwl7IDMsCVREfFRGLAlzeXNfZmFjY2Vzc2F0LAkJImZhY2Nlc3NhdCIJCX0sIC8qIDQ2MiAqLworCXsgNiwJVEQsCXN5c19wc2VsZWN0NiwJCSJwc2VsZWN0NiIJCX0sIC8qIDQ2MyAqLworCXsgNSwJVEQsCXN5c19wcG9sbCwJCSJwcG9sbCIJCQl9LCAvKiA0NjQgKi8KKwl7IDEsCVRQLAlzeXNfdW5zaGFyZSwJCSJ1bnNoYXJlIgkJfSwgLyogNDY1ICovCisJeyAyLAkwLAlwcmludGFyZ3MsCQkic2V0X3JvYnVzdF9saXN0Igl9LCAvKiA0NjYgKi8KKwl7IDMsCTAsCXByaW50YXJncywJCSJnZXRfcm9idXN0X2xpc3QiCX0sIC8qIDQ2NyAqLworCXsgNiwJVEQsCXByaW50YXJncywJCSJzcGxpY2UiCQl9LCAvKiA0NjggKi8KKwl7IDQsCVRELAlwcmludGFyZ3MsCQkic3luY19maWxlX3JhbmdlIgl9LCAvKiA0NjkgKi8KKwl7IDQsCVRELAlwcmludGFyZ3MsCQkidGVlIgkJCX0sIC8qIDQ3MCAqLworCXsgNCwJVEQsCXByaW50YXJncywJCSJ2bXNwbGljZSIJCX0sIC8qIDQ3MSAqLworCXsgNiwJMCwJc3lzX21vdmVfcGFnZXMsCQkibW92ZV9wYWdlcyIJCX0sIC8qIDQ3MiAqLworCXsgMywJMCwJc3lzX2dldGNwdSwJCSJnZXRjcHUiCQl9LCAvKiA0NzMgKi8KKwl7IDUsCVRELAlzeXNfZXBvbGxfcHdhaXQsCSJlcG9sbF9wd2FpdCIJCX0sIC8qIDQ3NCAqLworCXsgNCwJVER8VEYsCXN5c191dGltZW5zYXQsCQkidXRpbWVuc2F0IgkJfSwgLyogNDc1ICovCisJeyAzLAlURHxUUywJc3lzX3NpZ25hbGZkLAkJInNpZ25hbGZkIgkJfSwgLyogNDc2ICovCisJeyA0LAlURCwJc3lzX3RpbWVyZmQsCQkidGltZXJmZCIJCX0sIC8qIDQ3NyAqLworCXsgMSwJVEQsCXN5c19ldmVudGZkLAkJImV2ZW50ZmQiCQl9LCAvKiA0NzggKi8KKwl7IDUsCVROLAlzeXNfcmVjdm1tc2csCQkicmVjdm1tc2ciCQl9LCAvKiA0NzkgKi8KKwl7IDYsCVRGLAlzeXNfZmFsbG9jYXRlLAkJImZhbGxvY2F0ZSIJCX0sIC8qIDQ4MCAqLworCXsgMiwJVEQsCXN5c190aW1lcmZkX2NyZWF0ZSwJInRpbWVyZmRfY3JlYXRlIgl9LCAvKiA0ODEgKi8KKwl7IDQsCVRELAlzeXNfdGltZXJmZF9zZXR0aW1lLAkidGltZXJmZF9zZXR0aW1lIgl9LCAvKiA0ODIgKi8KKwl7IDIsCVRELAlzeXNfdGltZXJmZF9nZXR0aW1lLAkidGltZXJmZF9nZXR0aW1lIgl9LCAvKiA0ODMgKi8KKwl7IDQsCVREfFRTLAlzeXNfc2lnbmFsZmQ0LAkJInNpZ25hbGZkNCIJCX0sIC8qIDQ4NCAqLworCXsgMiwJVEQsCXN5c19ldmVudGZkMiwJCSJldmVudGZkMiIJCX0sIC8qIDQ4NSAqLworCXsgMSwJMCwJc3lzX2Vwb2xsX2NyZWF0ZTEsCSJlcG9sbF9jcmVhdGUxIgkJfSwgLyogNDg2ICovCisJeyAzLAlURCwJc3lzX2R1cDMsCQkiZHVwMyIJCQl9LCAvKiA0ODcgKi8KKwl7IDIsCVRELAlzeXNfcGlwZTIsCQkicGlwZTIiCQkJfSwgLyogNDg4ICovCisJeyAxLAlURCwJc3lzX2lub3RpZnlfaW5pdDEsCSJpbm90aWZ5X2luaXQxIgkJfSwgLyogNDg5ICovCisJeyA1LAlURCwJcHJpbnRhcmdzLAkJInByZWFkdiIJCX0sIC8qIDQ5MCAqLworCXsgNSwJVEQsCXByaW50YXJncywJCSJwd3JpdGV2IgkJfSwgLyogNDkxICovCisJeyA0LAlUUHxUUywJcHJpbnRhcmdzLAkJInJ0X3Rnc2lncXVldWVpbmZvIgl9LCAvKiA0OTIgKi8KKwl7IDUsCVRELAlwcmludGFyZ3MsCQkicGVyZl9ldmVudF9vcGVuIgl9LCAvKiA0OTMgKi8KZGlmZiAtLWdpdCBhL3N0cmFjZS00LjUuMjAvbGludXgvYXJtL2Vycm5vZW50MS5oIGIvc3RyYWNlLTQuNS4yMC9saW51eC9hcm0vZXJybm9lbnQxLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTg5NDgyNwotLS0gL2Rldi9udWxsCisrKyBiL3N0cmFjZS00LjUuMjAvbGludXgvYXJtL2Vycm5vZW50MS5oCkBAIC0wLDAgKzEsMiBAQAorLyogT3VyIHNlY29uZCBzZXQgY29tZXMgZnJvbSB0aGUgaTM4NiBmaWxlcy4gICovCisjaW5jbHVkZSAiLi4vZXJybm9lbnQuaCIKZGlmZiAtLWdpdCBhL3N0cmFjZS00LjUuMjAvbGludXgvYXJtL2lvY3RsZW50MS5oIGIvc3RyYWNlLTQuNS4yMC9saW51eC9hcm0vaW9jdGxlbnQxLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTQ0YjBhZQotLS0gL2Rldi9udWxsCisrKyBiL3N0cmFjZS00LjUuMjAvbGludXgvYXJtL2lvY3RsZW50MS5oCkBAIC0wLDAgKzEsMiBAQAorLyogT3VyIHNlY29uZCBzZXQgY29tZXMgZnJvbSB0aGUgaTM4NiBmaWxlcy4gICovCisjaW5jbHVkZSAiLi4vaW9jdGxlbnQuaCIKZGlmZiAtLWdpdCBhL3N0cmFjZS00LjUuMjAvbGludXgvYXJtL3NpZ25hbGVudDEuaCBiL3N0cmFjZS00LjUuMjAvbGludXgvYXJtL3NpZ25hbGVudDEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YzE4ZDk4Ci0tLSAvZGV2L251bGwKKysrIGIvc3RyYWNlLTQuNS4yMC9saW51eC9hcm0vc2lnbmFsZW50MS5oCkBAIC0wLDAgKzEsMiBAQAorLyogT3VyIHNlY29uZCBzZXQgY29tZXMgZnJvbSB0aGUgaTM4NiBmaWxlcy4gICovCisjaW5jbHVkZSAiLi4vc2lnbmFsZW50LmgiCmRpZmYgLS1naXQgYS9zdHJhY2UtNC41LjIwL2xpbnV4L2FybS9zeXNjYWxsZW50LmggYi9zdHJhY2UtNC41LjIwL2xpbnV4L2FybS9zeXNjYWxsZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjg4YTQwNwotLS0gL2Rldi9udWxsCisrKyBiL3N0cmFjZS00LjUuMjAvbGludXgvYXJtL3N5c2NhbGxlbnQuaApAQCAtMCwwICsxLDQ4NyBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMTk5MyBCcmFua28gTGFua2VzdGVyIDxicmFua29AaGFja3RpYy5ubD4KKyAqIENvcHlyaWdodCAoYykgMTk5MywgMTk5NCwgMTk5NSBSaWNrIFNsYWRrZXkgPGpyc0B3b3JsZC5zdGQuY29tPgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIFRoZSBuYW1lIG9mIHRoZSBhdXRob3IgbWF5IG5vdCBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cworICogICAgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQVVUSE9SIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1MgT1IKKyAqIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMKKyAqIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuCisgKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCisgKiBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQKKyAqIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICoKKyAqCSRJZCQKKyAqLworCisJeyAwLAkwLAlzeXNfcmVzdGFydF9zeXNjYWxsLAkicmVzdGFydF9zeXNjYWxsIn0sIC8qIDAgKi8KKwl7IDEsCVRQLAlzeXNfZXhpdCwJCSJleGl0IgkJfSwgLyogMSAqLworCXsgMCwJVFAsCXN5c19mb3JrLAkJImZvcmsiCQl9LCAvKiAyICovCisJeyAzLAkwLAlzeXNfcmVhZCwJCSJyZWFkIgkJfSwgLyogMyAqLworCXsgMywJMCwJc3lzX3dyaXRlLAkJIndyaXRlIgkJfSwgLyogNCAqLworCXsgMywJVEYsCXN5c19vcGVuLAkJIm9wZW4iCQl9LCAvKiA1ICovCisJeyAxLAkwLAlzeXNfY2xvc2UsCQkiY2xvc2UiCQl9LCAvKiA2ICovCisJeyAzLAlUUCwJc3lzX3dhaXRwaWQsCQkid2FpdHBpZCIJfSwgLyogNyAqLworCXsgMiwJVEYsCXN5c19jcmVhdCwJCSJjcmVhdCIJCX0sIC8qIDggKi8KKwl7IDIsCVRGLAlzeXNfbGluaywJCSJsaW5rIgkJfSwgLyogOSAqLworCXsgMSwJVEYsCXN5c191bmxpbmssCQkidW5saW5rIgl9LCAvKiAxMCAqLworCXsgMywJVEZ8VFAsCXN5c19leGVjdmUsCQkiZXhlY3ZlIgl9LCAvKiAxMSAqLworCXsgMSwJVEYsCXN5c19jaGRpciwJCSJjaGRpciIJCX0sIC8qIDEyICovCisJeyAxLAkwLAlzeXNfdGltZSwJCSJ0aW1lIgkJfSwgLyogMTMgKi8KKwl7IDMsCVRGLAlzeXNfbWtub2QsCQkibWtub2QiCQl9LCAvKiAxNCAqLworCXsgMiwJVEYsCXN5c19jaG1vZCwJCSJjaG1vZCIJCX0sIC8qIDE1ICovCisJeyAzLAlURiwJc3lzX2Nob3duLAkJImxjaG93biIJfSwgLyogMTYgKi8KKwl7IDAsCTAsCXN5c19icmVhaywJCSJicmVhayIJCX0sIC8qIDE3ICovCisJeyAyLAlURiwJc3lzX29sZHN0YXQsCQkib2xkc3RhdCIJfSwgLyogMTggKi8KKwl7IDMsCTAsCXN5c19sc2VlaywJCSJsc2VlayIJCX0sIC8qIDE5ICovCisJeyAwLAkwLAlzeXNfZ2V0cGlkLAkJImdldHBpZCIJfSwgLyogMjAgKi8KKwl7IDUsCVRGLAlzeXNfbW91bnQsCQkibW91bnQiCQl9LCAvKiAyMSAqLworCXsgMSwJVEYsCXN5c191bW91bnQsCQkib2xkdW1vdW50Igl9LCAvKiAyMiAqLworCXsgMSwJMCwJc3lzX3NldHVpZCwJCSJzZXR1aWQiCX0sIC8qIDIzICovCisJeyAwLAkwLAlzeXNfZ2V0dWlkLAkJImdldHVpZCIJfSwgLyogMjQgKi8KKwl7IDEsCTAsCXN5c19zdGltZSwJCSJzdGltZSIJCX0sIC8qIDI1ICovCisJeyA0LAkwLAlzeXNfcHRyYWNlLAkJInB0cmFjZSIJfSwgLyogMjYgKi8KKwl7IDEsCTAsCXN5c19hbGFybSwJCSJhbGFybSIJCX0sIC8qIDI3ICovCisJeyAyLAkwLAlzeXNfb2xkZnN0YXQsCQkib2xkZnN0YXQiCX0sIC8qIDI4ICovCisJeyAwLAlUUywJc3lzX3BhdXNlLAkJInBhdXNlIgkJfSwgLyogMjkgKi8KKwl7IDIsCVRGLAlzeXNfdXRpbWUsCQkidXRpbWUiCQl9LCAvKiAzMCAqLworCXsgMiwJMCwJc3lzX3N0dHksCQkic3R0eSIJCX0sIC8qIDMxICovCisJeyAyLAkwLAlzeXNfZ3R0eSwJCSJndHR5IgkJfSwgLyogMzIgKi8KKwl7IDIsCVRGLAlzeXNfYWNjZXNzLAkJImFjY2VzcyIJfSwgLyogMzMgKi8KKwl7IDEsCTAsCXN5c19uaWNlLAkJIm5pY2UiCQl9LCAvKiAzNCAqLworCXsgMCwJMCwJc3lzX2Z0aW1lLAkJImZ0aW1lIgkJfSwgLyogMzUgKi8KKwl7IDAsCTAsCXN5c19zeW5jLAkJInN5bmMiCQl9LCAvKiAzNiAqLworCXsgMiwJVFMsCXN5c19raWxsLAkJImtpbGwiCQl9LCAvKiAzNyAqLworCXsgMiwJVEYsCXN5c19yZW5hbWUsCQkicmVuYW1lIgl9LCAvKiAzOCAqLworCXsgMiwJVEYsCXN5c19ta2RpciwJCSJta2RpciIJCX0sIC8qIDM5ICovCisJeyAxLAlURiwJc3lzX3JtZGlyLAkJInJtZGlyIgkJfSwgLyogNDAgKi8KKwl7IDEsCTAsCXN5c19kdXAsCQkiZHVwIgkJfSwgLyogNDEgKi8KKwl7IDEsCTAsCXN5c19waXBlLAkJInBpcGUiCQl9LCAvKiA0MiAqLworCXsgMSwJMCwJc3lzX3RpbWVzLAkJInRpbWVzIgkJfSwgLyogNDMgKi8KKwl7IDAsCTAsCXN5c19wcm9mLAkJInByb2YiCQl9LCAvKiA0NCAqLworCXsgMSwJMCwJc3lzX2JyaywJCSJicmsiCQl9LCAvKiA0NSAqLworCXsgMSwJMCwJc3lzX3NldGdpZCwJCSJzZXRnaWQiCX0sIC8qIDQ2ICovCisJeyAwLAkwLAlzeXNfZ2V0Z2lkLAkJImdldGdpZCIJfSwgLyogNDcgKi8KKwl7IDMsCVRTLAlzeXNfc2lnbmFsLAkJInNpZ25hbCIJfSwgLyogNDggKi8KKwl7IDAsCTAsCXN5c19nZXRldWlkLAkJImdldGV1aWQiCX0sIC8qIDQ5ICovCisJeyAwLAkwLAlzeXNfZ2V0ZWdpZCwJCSJnZXRlZ2lkIgl9LCAvKiA1MCAqLworCXsgMSwJVEYsCXN5c19hY2N0LAkJImFjY3QiCQl9LCAvKiA1MSAqLworCXsgMiwJVEYsCXN5c191bW91bnQyLAkJInVtb3VudCIJfSwgLyogNTIgKi8KKwl7IDAsCTAsCXN5c19sb2NrLAkJImxvY2siCQl9LCAvKiA1MyAqLworCXsgMywJMCwJc3lzX2lvY3RsLAkJImlvY3RsIgkJfSwgLyogNTQgKi8KKwl7IDMsCTAsCXN5c19mY250bCwJCSJmY250bCIJCX0sIC8qIDU1ICovCisJeyAwLAkwLAlzeXNfbXB4LAkJIm1weCIJCX0sIC8qIDU2ICovCisJeyAyLAkwLAlzeXNfc2V0cGdpZCwJCSJzZXRwZ2lkIgl9LCAvKiA1NyAqLworCXsgMiwJMCwJc3lzX3VsaW1pdCwJCSJ1bGltaXQiCX0sIC8qIDU4ICovCisJeyAxLAkwLAlzeXNfb2xkb2xkdW5hbWUsCSJvbGRvbGR1bmFtZSIJfSwgLyogNTkgKi8KKwl7IDEsCTAsCXN5c191bWFzaywJCSJ1bWFzayIJCX0sIC8qIDYwICovCisJeyAxLAlURiwJc3lzX2Nocm9vdCwJCSJjaHJvb3QiCX0sIC8qIDYxICovCisJeyAyLAkwLAlzeXNfdXN0YXQsCQkidXN0YXQiCQl9LCAvKiA2MiAqLworCXsgMiwJMCwJc3lzX2R1cDIsCQkiZHVwMiIJCX0sIC8qIDYzICovCisJeyAwLAkwLAlzeXNfZ2V0cHBpZCwJCSJnZXRwcGlkIgl9LCAvKiA2NCAqLworCXsgMCwJMCwJc3lzX2dldHBncnAsCQkiZ2V0cGdycCIJfSwgLyogNjUgKi8KKwl7IDAsCTAsCXN5c19zZXRzaWQsCQkic2V0c2lkIgl9LCAvKiA2NiAqLworCXsgMywJVFMsCXN5c19zaWdhY3Rpb24sCQkic2lnYWN0aW9uIgl9LCAvKiA2NyAqLworCXsgMCwJVFMsCXN5c19zaWdnZXRtYXNrLAkJInNpZ2dldG1hc2siCX0sIC8qIDY4ICovCisJeyAxLAlUUywJc3lzX3NpZ3NldG1hc2ssCQkic2lnc2V0bWFzayIJfSwgLyogNjkgKi8KKwl7IDIsCTAsCXN5c19zZXRyZXVpZCwJCSJzZXRyZXVpZCIJfSwgLyogNzAgKi8KKwl7IDIsCTAsCXN5c19zZXRyZWdpZCwJCSJzZXRyZWdpZCIJfSwgLyogNzEgKi8KKwl7IDMsCVRTLAlzeXNfc2lnc3VzcGVuZCwJCSJzaWdzdXNwZW5kIgl9LCAvKiA3MiAqLworCXsgMSwJVFMsCXN5c19zaWdwZW5kaW5nLAkJInNpZ3BlbmRpbmciCX0sIC8qIDczICovCisJeyAyLAkwLAlzeXNfc2V0aG9zdG5hbWUsCSJzZXRob3N0bmFtZSIJfSwgLyogNzQgKi8KKwl7IDIsCTAsCXN5c19zZXRybGltaXQsCQkic2V0cmxpbWl0Igl9LCAvKiA3NSAqLworCXsgMiwJMCwJc3lzX2dldHJsaW1pdCwJCSJvbGRfZ2V0cmxpbWl0Igl9LCAvKiA3NiAqLworCXsgMiwJMCwJc3lzX2dldHJ1c2FnZSwJCSJnZXRydXNhZ2UiCX0sIC8qIDc3ICovCisJeyAyLAkwLAlzeXNfZ2V0dGltZW9mZGF5LAkiZ2V0dGltZW9mZGF5Igl9LCAvKiA3OCAqLworCXsgMiwJMCwJc3lzX3NldHRpbWVvZmRheSwJInNldHRpbWVvZmRheSIJfSwgLyogNzkgKi8KKwl7IDIsCTAsCXN5c19nZXRncm91cHMsCQkiZ2V0Z3JvdXBzIgl9LCAvKiA4MCAqLworCXsgMiwJMCwJc3lzX3NldGdyb3VwcywJCSJzZXRncm91cHMiCX0sIC8qIDgxICovCisJeyAxLAkwLAlzeXNfb2xkc2VsZWN0LAkJIm9sZHNlbGVjdCIJfSwgLyogODIgKi8KKwl7IDIsCVRGLAlzeXNfc3ltbGluaywJCSJzeW1saW5rIgl9LCAvKiA4MyAqLworCXsgMiwJVEYsCXN5c19vbGRsc3RhdCwJCSJvbGRsc3RhdCIJfSwgLyogODQgKi8KKwl7IDMsCVRGLAlzeXNfcmVhZGxpbmssCQkicmVhZGxpbmsiCX0sIC8qIDg1ICovCisJeyAxLAlURiwJc3lzX3VzZWxpYiwJCSJ1c2VsaWIiCX0sIC8qIDg2ICovCisJeyAxLAlURiwJc3lzX3N3YXBvbiwJCSJzd2Fwb24iCX0sIC8qIDg3ICovCisJeyAzLAkwLAlzeXNfcmVib290LAkJInJlYm9vdCIJfSwgLyogODggKi8KKwl7IDMsCTAsCXN5c19yZWFkZGlyLAkJInJlYWRkaXIiCX0sIC8qIDg5ICovCisJeyA2LAkwLAlzeXNfb2xkX21tYXAsCQkib2xkX21tYXAiCX0sIC8qIDkwICovCisJeyAyLAkwLAlzeXNfbXVubWFwLAkJIm11bm1hcCIJfSwgLyogOTEgKi8KKwl7IDIsCVRGLAlzeXNfdHJ1bmNhdGUsCQkidHJ1bmNhdGUiCX0sIC8qIDkyICovCisJeyAyLAkwLAlzeXNfZnRydW5jYXRlLAkJImZ0cnVuY2F0ZSIJfSwgLyogOTMgKi8KKwl7IDIsCTAsCXN5c19mY2htb2QsCQkiZmNobW9kIgl9LCAvKiA5NCAqLworCXsgMywJMCwJc3lzX2ZjaG93biwJCSJmY2hvd24iCX0sIC8qIDk1ICovCisJeyAyLAkwLAlzeXNfZ2V0cHJpb3JpdHksCSJnZXRwcmlvcml0eSIJfSwgLyogOTYgKi8KKwl7IDMsCTAsCXN5c19zZXRwcmlvcml0eSwJInNldHByaW9yaXR5Igl9LCAvKiA5NyAqLworCXsgNCwJMCwJc3lzX3Byb2ZpbCwJCSJwcm9maWwiCX0sIC8qIDk4ICovCisJeyAyLAlURiwJc3lzX3N0YXRmcywJCSJzdGF0ZnMiCX0sIC8qIDk5ICovCisJeyAyLAkwLAlzeXNfZnN0YXRmcywJCSJmc3RhdGZzIgl9LCAvKiAxMDAgKi8KKwl7IDMsCTAsCXN5c19pb3Blcm0sCQkiaW9wZXJtIgl9LCAvKiAxMDEgKi8KKwl7IDIsCTAsCXN5c19zb2NrZXRjYWxsLAkJInNvY2tldGNhbGwiCX0sIC8qIDEwMiAqLworCXsgMywJMCwJc3lzX3N5c2xvZywJCSJzeXNsb2ciCX0sIC8qIDEwMyAqLworCXsgMywJMCwJc3lzX3NldGl0aW1lciwJCSJzZXRpdGltZXIiCX0sIC8qIDEwNCAqLworCXsgMiwJMCwJc3lzX2dldGl0aW1lciwJCSJnZXRpdGltZXIiCX0sIC8qIDEwNSAqLworCXsgMiwJVEYsCXN5c19zdGF0LAkJInN0YXQiCQl9LCAvKiAxMDYgKi8KKwl7IDIsCVRGLAlzeXNfbHN0YXQsCQkibHN0YXQiCQl9LCAvKiAxMDcgKi8KKwl7IDIsCTAsCXN5c19mc3RhdCwJCSJmc3RhdCIJCX0sIC8qIDEwOCAqLworCXsgMSwJMCwJc3lzX29sZHVuYW1lLAkJIm9sZHVuYW1lIgl9LCAvKiAxMDkgKi8KKwl7IDEsCTAsCXN5c19pb3BsLAkJImlvcGwiCQl9LCAvKiAxMTAgKi8KKwl7IDAsCTAsCXN5c192aGFuZ3VwLAkJInZoYW5ndXAiCX0sIC8qIDExMSAqLworCXsgMCwJMCwJc3lzX2lkbGUsCQkiaWRsZSIJCX0sIC8qIDExMiAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJInN5c2NhbGwiCX0sIC8qIDExMyAqLworCXsgNCwJVFAsCXN5c193YWl0NCwJCSJ3YWl0NCIJCX0sIC8qIDExNCAqLworCXsgMSwJMCwJc3lzX3N3YXBvZmYsCQkic3dhcG9mZiIJfSwgLyogMTE1ICovCisJeyAxLAkwLAlzeXNfc3lzaW5mbywJCSJzeXNpbmZvIgl9LCAvKiAxMTYgKi8KKwl7IDYsCTAsCXN5c19pcGMsCQkiaXBjIgkJfSwgLyogMTE3ICovCisJeyAxLAkwLAlzeXNfZnN5bmMsCQkiZnN5bmMiCQl9LCAvKiAxMTggKi8KKwl7IDEsCVRTLAlzeXNfc2lncmV0dXJuLAkJInNpZ3JldHVybiIJfSwgLyogMTE5ICovCisJeyA1LAlUUCwJc3lzX2Nsb25lLAkJImNsb25lIgkJfSwgLyogMTIwICovCisJeyAyLAkwLAlzeXNfc2V0ZG9tYWlubmFtZSwJInNldGRvbWFpbm5hbWUiCX0sIC8qIDEyMSAqLworCXsgMSwJMCwJc3lzX3VuYW1lLAkJInVuYW1lIgkJfSwgLyogMTIyICovCisJeyAzLAkwLAlzeXNfbW9kaWZ5X2xkdCwJCSJtb2RpZnlfbGR0Igl9LCAvKiAxMjMgKi8KKwl7IDEsCTAsCXN5c19hZGp0aW1leCwJCSJhZGp0aW1leCIJfSwgLyogMTI0ICovCisJeyAzLAkwLAlzeXNfbXByb3RlY3QsCQkibXByb3RlY3QiCX0sIC8qIDEyNSAqLworCXsgMywJVFMsCXN5c19zaWdwcm9jbWFzaywJInNpZ3Byb2NtYXNrIgl9LCAvKiAxMjYgKi8KKwl7IDIsCTAsCXN5c19jcmVhdGVfbW9kdWxlLAkiY3JlYXRlX21vZHVsZSIJfSwgLyogMTI3ICovCisJeyAzLAkwLAlzeXNfaW5pdF9tb2R1bGUsCSJpbml0X21vZHVsZSIJfSwgLyogMTI4ICovCisJeyAyLAkwLAlzeXNfZGVsZXRlX21vZHVsZSwJImRlbGV0ZV9tb2R1bGUiCX0sIC8qIDEyOSAqLworCXsgMSwJMCwJc3lzX2dldF9rZXJuZWxfc3ltcywJImdldF9rZXJuZWxfc3ltcyJ9LCAvKiAxMzAgKi8KKwl7IDQsCTAsCXN5c19xdW90YWN0bCwJCSJxdW90YWN0bCIJfSwgLyogMTMxICovCisJeyAxLAkwLAlzeXNfZ2V0cGdpZCwJCSJnZXRwZ2lkIgl9LCAvKiAxMzIgKi8KKwl7IDEsCTAsCXN5c19mY2hkaXIsCQkiZmNoZGlyIgl9LCAvKiAxMzMgKi8KKwl7IDAsCTAsCXN5c19iZGZsdXNoLAkJImJkZmx1c2giCX0sIC8qIDEzNCAqLworCXsgMywJMCwJc3lzX3N5c2ZzLAkJInN5c2ZzIgkJfSwgLyogMTM1ICovCisJeyAxLAkwLAlzeXNfcGVyc29uYWxpdHksCSJwZXJzb25hbGl0eSIJfSwgLyogMTM2ICovCisJeyA1LAkwLAlzeXNfYWZzX3N5c2NhbGwsCSJhZnNfc3lzY2FsbCIJfSwgLyogMTM3ICovCisJeyAxLAkwLAlzeXNfc2V0ZnN1aWQsCQkic2V0ZnN1aWQiCX0sIC8qIDEzOCAqLworCXsgMSwJMCwJc3lzX3NldGZzZ2lkLAkJInNldGZzZ2lkIgl9LCAvKiAxMzkgKi8KKwl7IDUsCTAsCXN5c19sbHNlZWssCQkiX2xsc2VlayIJfSwgLyogMTQwICovCisJeyAzLAkwLAlzeXNfZ2V0ZGVudHMsCQkiZ2V0ZGVudHMiCX0sIC8qIDE0MSAqLworCXsgNSwJMCwJc3lzX3NlbGVjdCwJCSJzZWxlY3QiCX0sIC8qIDE0MiAqLworCXsgMiwJMCwJc3lzX2Zsb2NrLAkJImZsb2NrIgkJfSwgLyogMTQzICovCisJeyAzLAkwLAlzeXNfbXN5bmMsCQkibXN5bmMiCQl9LCAvKiAxNDQgKi8KKwl7IDMsCTAsCXN5c19yZWFkdiwJCSJyZWFkdiIJCX0sIC8qIDE0NSAqLworCXsgMywJMCwJc3lzX3dyaXRldiwJCSJ3cml0ZXYiCX0sIC8qIDE0NiAqLworCXsgMSwJMCwJc3lzX2dldHNpZCwJCSJnZXRzaWQiCX0sIC8qIDE0NyAqLworCXsgMSwJMCwJc3lzX2ZkYXRhc3luYywJCSJmZGF0YXN5bmMiCX0sIC8qIDE0OCAqLworCXsgMSwJMCwJc3lzX3N5c2N0bCwJCSJfc3lzY3RsIgl9LCAvKiAxNDkgKi8KKwl7IDIsCTAsCXN5c19tbG9jaywJCSJtbG9jayIJCX0sIC8qIDE1MCAqLworCXsgMiwJMCwJc3lzX211bmxvY2ssCQkibXVubG9jayIJfSwgLyogMTUxICovCisJeyAyLAkwLAlzeXNfbWxvY2thbGwsCQkibWxvY2thbGwiCX0sIC8qIDE1MiAqLworCXsgMCwJMCwJc3lzX211bmxvY2thbGwsCQkibXVubG9ja2FsbCIJfSwgLyogMTUzICovCisJeyAwLAkwLAlzeXNfc2NoZWRfc2V0cGFyYW0sCSJzY2hlZF9zZXRwYXJhbSJ9LCAvKiAxNTQgKi8KKwl7IDIsCTAsCXN5c19zY2hlZF9nZXRwYXJhbSwJInNjaGVkX2dldHBhcmFtIn0sIC8qIDE1NSAqLworCXsgMywJMCwJc3lzX3NjaGVkX3NldHNjaGVkdWxlciwJInNjaGVkX3NldHNjaGVkdWxlciJ9LCAvKiAxNTYgKi8KKwl7IDEsCTAsCXN5c19zY2hlZF9nZXRzY2hlZHVsZXIsCSJzY2hlZF9nZXRzY2hlZHVsZXIifSwgLyogMTU3ICovCisJeyAwLAkwLAlzeXNfc2NoZWRfeWllbGQsCSJzY2hlZF95aWVsZCJ9LCAvKiAxNTggKi8KKwl7IDEsCTAsCXN5c19zY2hlZF9nZXRfcHJpb3JpdHlfbWF4LCJzY2hlZF9nZXRfcHJpb3JpdHlfbWF4In0sIC8qIDE1OSAqLworCXsgMSwJMCwJc3lzX3NjaGVkX2dldF9wcmlvcml0eV9taW4sInNjaGVkX2dldF9wcmlvcml0eV9taW4ifSwgLyogMTYwICovCisJeyAyLAkwLAlzeXNfc2NoZWRfcnJfZ2V0X2ludGVydmFsLCJzY2hlZF9ycl9nZXRfaW50ZXJ2YWwifSwgLyogMTYxICovCisJeyAyLAkwLAlzeXNfbmFub3NsZWVwLAkJIm5hbm9zbGVlcCIJfSwgLyogMTYyICovCisJeyA1LAkwLAlzeXNfbXJlbWFwLAkJIm1yZW1hcCIJfSwgLyogMTYzICovCisJeyAzLAkwLAlzeXNfc2V0cmVzdWlkLAkJInNldHJlc3VpZCIJfSwgLyogMTY0ICovCisJeyAzLAkwLAlzeXNfZ2V0cmVzdWlkLAkJImdldHJlc3VpZCIJfSwgLyogMTY1ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkidm04NiIJCX0sIC8qIDE2NiAqLworCXsgNSwJMCwJc3lzX3F1ZXJ5X21vZHVsZSwJInF1ZXJ5X21vZHVsZSIJfSwgLyogMTY3ICovCisJeyAzLAkwLAlzeXNfcG9sbCwJCSJwb2xsIgkJfSwgLyogMTY4ICovCisJeyAzLAkwLAlwcmludGFyZ3MsCQkibmZzc2VydmN0bCIJfSwgLyogMTY5ICovCisJeyAzLAkwLAlzeXNfc2V0cmVzZ2lkLAkJInNldHJlc2dpZCIJfSwgLyogMTcwICovCisJeyAzLAkwLAlzeXNfZ2V0cmVzZ2lkLAkJImdldHJlc2dpZCIJfSwgLyogMTcxICovCisJeyA1LAkwLAlzeXNfcHJjdGwsCQkicHJjdGwiCQl9LCAvKiAxNzIgKi8KKwl7IDEsCVRTLAlwcmludGFyZ3MsCQkicnRfc2lncmV0dXJuIgl9LCAvKiAxNzMgKi8KKwl7IDQsCVRTLAlzeXNfcnRfc2lnYWN0aW9uLAkicnRfc2lnYWN0aW9uIiAgfSwgLyogMTc0ICovCisJeyA0LAlUUywJc3lzX3J0X3NpZ3Byb2NtYXNrLAkicnRfc2lncHJvY21hc2sifSwgLyogMTc1ICovCisJeyAyLAlUUywJc3lzX3J0X3NpZ3BlbmRpbmcsCSJydF9zaWdwZW5kaW5nIgl9LCAvKiAxNzYgKi8KKwl7IDQsCVRTLAlzeXNfcnRfc2lndGltZWR3YWl0LAkicnRfc2lndGltZWR3YWl0In0sIC8qIDE3NyAqLworCXsgMywJVFMsCXN5c19ydF9zaWdxdWV1ZWluZm8sICAgICJydF9zaWdxdWV1ZWluZm8ifSwgLyogMTc4ICovCisJeyAyLAlUUywJc3lzX3J0X3NpZ3N1c3BlbmQsCSJydF9zaWdzdXNwZW5kIgl9LCAvKiAxNzkgKi8KKworCXsgNSwJVEYsCXN5c19wcmVhZCwJCSJwcmVhZCIJCX0sIC8qIDE4MCAqLworCXsgNSwJVEYsCXN5c19wd3JpdGUsCQkicHdyaXRlIgl9LCAvKiAxODEgKi8KKwl7IDMsCVRGLAlzeXNfY2hvd24sCQkiY2hvd24iCQl9LCAvKiAxODIgKi8KKwl7IDIsCVRGLAlzeXNfZ2V0Y3dkLAkJImdldGN3ZCIJfSwgLyogMTgzICovCisJeyAyLAkwLAlzeXNfY2FwZ2V0LAkJImNhcGdldCIJfSwgLyogMTg0ICovCisJeyAyLAkwLAlzeXNfY2Fwc2V0LAkJImNhcHNldCIJfSwgLyogMTg1ICovCisJeyAyLAlUUywJc3lzX3NpZ2FsdHN0YWNrLAkic2lnYWx0c3RhY2siCX0sIC8qIDE4NiAqLworCXsgNCwJVER8VE4sCXN5c19zZW5kZmlsZSwJCSJzZW5kZmlsZSIJfSwgLyogMTg3ICovCisJeyA1LAkwLAlzeXNfZ2V0cG1zZywJCSJnZXRwbXNnIgl9LCAvKiAxODggKi8KKwl7IDUsCTAsCXN5c19wdXRwbXNnLAkJInB1dHBtc2ciCX0sIC8qIDE4OSAqLworCXsgMCwJVFAsCXN5c192Zm9yaywJCSJ2Zm9yayIJCX0sIC8qIDE5MCAqLworCXsgMiwJMCwJc3lzX2dldHJsaW1pdCwJCSJnZXRybGltaXQiCX0sIC8qIDE5MSAqLworCXsgNiwJMCwJc3lzX21tYXAsCQkibW1hcDIiCQl9LCAvKiAxOTIgKi8KKwl7IDMsCVRGLAlzeXNfdHJ1bmNhdGU2NCwJCSJ0cnVuY2F0ZTY0Igl9LCAvKiAxOTMgKi8KKwl7IDMsCVRGLAlzeXNfZnRydW5jYXRlNjQsCSJmdHJ1bmNhdGU2NCIJfSwgLyogMTk0ICovCisJeyAyLAlURiwJc3lzX3N0YXQ2NCwJCSJzdGF0NjQiCX0sIC8qIDE5NSAqLworCXsgMiwJVEYsCXN5c19sc3RhdDY0LAkJImxzdGF0NjQiCX0sIC8qIDE5NiAqLworCXsgMiwJVEYsCXN5c19mc3RhdDY0LAkJImZzdGF0NjQiCX0sIC8qIDE5NyAqLworCXsgMywJVEYsCXN5c19jaG93biwJCSJsY2hvd24zMiIJfSwgLyogMTk4ICovCisJeyAwLAkwLAlzeXNfZ2V0dWlkLAkJImdldHVpZDMyIgl9LCAvKiAxOTkgKi8KKworCXsgMCwJMCwJc3lzX2dldGdpZCwJCSJnZXRnaWQzMiIJfSwgLyogMjAwICovCisJeyAwLAkwLAlzeXNfZ2V0ZXVpZCwJCSJnZXRldWlkMzIiCX0sIC8qIDIwMSAqLworCXsgMCwJMCwJc3lzX2dldGV1aWQsCQkiZ2V0ZWdpZDMyIgl9LCAvKiAyMDIgKi8KKwl7IDIsCTAsCXN5c19zZXRyZXVpZCwJCSJzZXRyZXVpZDMyIgl9LCAvKiAyMDMgKi8KKwl7IDIsCTAsCXN5c19zZXRyZWdpZCwJCSJzZXRyZWdpZDMyIgl9LCAvKiAyMDQgKi8KKwl7IDIsCTAsCXN5c19nZXRncm91cHMzMiwJImdldGdyb3VwczMyIgl9LCAvKiAyMDUgKi8KKwl7IDIsCTAsCXN5c19zZXRncm91cHMzMiwJInNldGdyb3VwczMyIgl9LCAvKiAyMDYgKi8KKwl7IDMsCTAsCXN5c19mY2hvd24sCQkiZmNob3duMzIiCX0sIC8qIDIwNyAqLworCXsgMywJMCwJc3lzX3NldHJlc3VpZCwJCSJzZXRyZXN1aWQzMiIJfSwgLyogMjA4ICovCisJeyAzLAkwLAlzeXNfZ2V0cmVzdWlkLAkJImdldHJlc3VpZDMyIgl9LCAvKiAyMDkgKi8KKwl7IDMsCTAsCXN5c19zZXRyZXNnaWQsCQkic2V0cmVzZ2lkMzIiCX0sIC8qIDIxMCAqLworCXsgMywJMCwJc3lzX2dldHJlc2dpZCwJCSJnZXRyZXNnaWQzMiIJfSwgLyogMjExICovCisJeyAzLAlURiwJc3lzX2Nob3duLAkJImNob3duMzIiCX0sIC8qIDIxMiAqLworCXsgMSwJMCwJc3lzX3NldHVpZCwJCSJzZXR1aWQzMiIJfSwgLyogMjEzICovCisJeyAxLAkwLAlzeXNfc2V0Z2lkLAkJInNldGdpZDMyIgl9LCAvKiAyMTQgKi8KKwl7IDEsCTAsCXN5c19zZXRmc3VpZCwJCSJzZXRmc3VpZDMyIgl9LCAvKiAyMTUgKi8KKwl7IDEsCTAsCXN5c19zZXRmc2dpZCwJCSJzZXRmc2dpZDMyIgl9LCAvKiAyMTYgKi8KKwl7IDMsICAgIDAsICAgICAgc3lzX2dldGRlbnRzNjQsICAgICAgICAgImdldGRlbnRzNjQiICAgIH0sIC8qIDIxNyAqLworCXsgMiwJVEYsCXN5c19waXZvdHJvb3QsCQkicGl2b3Rfcm9vdCIJfSwgLyogMjE4ICovCisJeyAzLAkwLAlwcmludGFyZ3MsCQkibWluY29yZSIJfSwgLyogMjE5ICovCisJeyAzLAkwLAlzeXNfbWFkdmlzZSwJCSJtYWR2aXNlIgl9LCAvKiAyMjAgKi8KKwl7IDMsCTAsCXN5c19mY250bCwJCSJmY250bDY0Igl9LCAvKiAyMjEgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMjIyIgl9LCAvKiAyMjIgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMjIzIgl9LCAvKiAyMjMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJnZXR0aWQiCX0sIC8qIDIyNCAqLworCXsgNCwJMCwJc3lzX3JlYWRhaGVhZCwJCSJyZWFkYWhlYWQiCX0sIC8qIDIyNSAqLworCXsgNSwJVEYsCXN5c19zZXR4YXR0ciwJCSJzZXR4YXR0ciIJfSwgLyogMjI2ICovCisJeyA1LAlURiwJc3lzX3NldHhhdHRyLAkJImxzZXR4YXR0ciIJfSwgLyogMjI3ICovCisJeyA1LAkwLAlzeXNfZnNldHhhdHRyLAkJImZzZXR4YXR0ciIJfSwgLyogMjI4ICovCisJeyA0LAlURiwJc3lzX2dldHhhdHRyLAkJImdldHhhdHRyIgl9LCAvKiAyMjkgKi8KKwl7IDQsCVRGLAlzeXNfZ2V0eGF0dHIsCQkibGdldHhhdHRyIgl9LCAvKiAyMzAgKi8KKwl7IDQsCTAsCXN5c19mZ2V0eGF0dHIsCQkiZmdldHhhdHRyIgl9LCAvKiAyMzEgKi8KKwl7IDMsCVRGLAlzeXNfbGlzdHhhdHRyLAkJImxpc3R4YXR0ciIJfSwgLyogMjMyICovCisJeyAzLAlURiwJc3lzX2xpc3R4YXR0ciwJCSJsbGlzdHhhdHRyIgl9LCAvKiAyMzMgKi8KKwl7IDMsCTAsCXN5c19mbGlzdHhhdHRyLAkJImZsaXN0eGF0dHIiCX0sIC8qIDIzNCAqLworCXsgMiwJVEYsCXN5c19yZW1vdmV4YXR0ciwJInJlbW92ZXhhdHRyIgl9LCAvKiAyMzUgKi8KKwl7IDIsCVRGLAlzeXNfcmVtb3ZleGF0dHIsCSJscmVtb3ZleGF0dHIiCX0sIC8qIDIzNiAqLworCXsgMiwJMCwJc3lzX2ZyZW1vdmV4YXR0ciwJImZyZW1vdmV4YXR0ciIJfSwgLyogMjM3ICovCisJeyAyLAlUUywJc3lzX2tpbGwsCQkidGtpbGwiCQl9LCAvKiAyMzggKi8KKwl7IDQsCVREfFROLAlzeXNfc2VuZGZpbGU2NCwJCSJzZW5kZmlsZTY0Igl9LCAvKiAyMzkgKi8KKwl7IDYsCTAsCXN5c19mdXRleCwJCSJmdXRleCIJCX0sIC8qIDI0MCAqLworCXsgMywJMCwJc3lzX3NjaGVkX3NldGFmZmluaXR5LAkic2NoZWRfc2V0YWZmaW5pdHkiIH0sLyogMjQxICovCisJeyAzLAkwLAlzeXNfc2NoZWRfZ2V0YWZmaW5pdHksCSJzY2hlZF9nZXRhZmZpbml0eSIgfSwvKiAyNDIgKi8KKwl7IDIsCTAsCXByaW50YXJncywJCSJpb19zZXR1cCIJfSwgLyogMjQzICovCisJeyAxLAkwLAlwcmludGFyZ3MsCQkiaW9fZGVzdHJveSIJfSwgLyogMjQ0ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiaW9fZ2V0ZXZlbnRzIgl9LCAvKiAyNDUgKi8KKwl7IDMsCTAsCXByaW50YXJncywJCSJpb19zdWJtaXQiCX0sIC8qIDI0NiAqLworCXsgMywJMCwJcHJpbnRhcmdzLAkJImlvX2NhbmNlbCIJfSwgLyogMjQ3ICovCisJeyAxLAlUUCwJc3lzX2V4aXQsCQkiZXhpdF9ncm91cCIJfSwgLyogMjQ4ICovCisJeyA0LAkwLAlwcmludGFyZ3MsCQkibG9va3VwX2Rjb29raWUifSwgLyogMjQ5ICovCisJeyAxLAkwLAlwcmludGFyZ3MsCQkiZXBvbGxfY3JlYXRlIgl9LCAvKiAyNTAgKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJlcG9sbF9jdGwiCX0sIC8qIDI1MSAqLworCXsgNCwJMCwJcHJpbnRhcmdzLAkJImVwb2xsX3dhaXQiCX0sIC8qIDI1MiAqLworCXsgNSwJMCwJc3lzX3JlbWFwX2ZpbGVfcGFnZXMsCSJyZW1hcF9maWxlX3BhZ2VzIn0sIC8qIDI1MyAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNTQiCX0sIC8qIDI1NCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNTUiCX0sIC8qIDI1NSAqLworCXsgMSwJMCwJcHJpbnRhcmdzLAkJInNldF90aWRfYWRkcmVzcyJ9LCAvKiAyNTYgKi8KKwl7IDMsCTAsCXN5c190aW1lcl9jcmVhdGUsCSJ0aW1lcl9jcmVhdGUiCX0sIC8qIDI1NyAqLworCXsgNCwJMCwJc3lzX3RpbWVyX3NldHRpbWUsCSJ0aW1lcl9zZXR0aW1lIgl9LCAvKiAyNTggKi8KKwl7IDIsCTAsCXN5c190aW1lcl9nZXR0aW1lLAkidGltZXJfZ2V0dGltZSIJfSwgLyogMjU5ICovCisJeyAxLAkwLAlzeXNfdGltZXJfZ2V0b3ZlcnJ1biwJInRpbWVyX2dldG92ZXJydW4ifSwgLyogMjYwICovCisJeyAxLAkwLAlzeXNfdGltZXJfZGVsZXRlLAkidGltZXJfZGVsZXRlIgl9LCAvKiAyNjEgKi8KKwl7IDIsCTAsCXN5c19jbG9ja19zZXR0aW1lLAkiY2xvY2tfc2V0dGltZSIJfSwgLyogMjYyICovCisJeyAyLAkwLAlzeXNfY2xvY2tfZ2V0dGltZSwJImNsb2NrX2dldHRpbWUiCX0sIC8qIDI2MyAqLworCXsgMiwJMCwJc3lzX2Nsb2NrX2dldHJlcywJImNsb2NrX2dldHJlcyIJfSwgLyogMjY0ICovCisJeyA0LAkwLAlzeXNfY2xvY2tfbmFub3NsZWVwLAkiY2xvY2tfbmFub3NsZWVwIn0sIC8qIDI2NSAqLworCXsgMywJVEYsCXN5c19zdGF0ZnM2NCwJCSJzdGF0ZnM2NCIJfSwgLyogMjY2ICovCisJeyAzLAkwLAlzeXNfZnN0YXRmczY0LAkJImZzdGF0ZnM2NCIJfSwgLyogMjY3ICovCisJeyAzLAlUUywJc3lzX3Rna2lsbCwJCSJ0Z2tpbGwiCX0sIC8qIDI2OCAqLworCXsgMiwJVEYsCXN5c191dGltZXMsCQkidXRpbWVzIgl9LCAvKiAyNjkgKi8KKwl7IDYsCTAsCXN5c19mYWR2aXNlNjRfNjQsCSJmYWR2aXNlNjRfNjQiCX0sIC8qIDI3MCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJInBjaWNvbmZpZ19pb2Jhc2UiCX0sIC8qIDI3MSAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJInBjaWNvbmZpZ19yZWFkIgl9LCAvKiAyNzIgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJwY2ljb25maWdfd3JpdGUiCX0sIC8qIDI3MyAqLworCXsgNCwJMCwJc3lzX21xX29wZW4sCQkibXFfb3BlbiIJfSwgLyogMjc0ICovCisJeyAxLAkwLAlzeXNfbXFfdW5saW5rLAkJIm1xX3VubGluayIJfSwgLyogMjc1ICovCisJeyA1LAkwLAlzeXNfbXFfdGltZWRzZW5kLAkibXFfdGltZWRzZW5kIgl9LCAvKiAyNzYgKi8KKwl7IDUsCTAsCXN5c19tcV90aW1lZHJlY2VpdmUsCSJtcV90aW1lZHJlY2VpdmUiIH0sIC8qIDI3NyAqLworCXsgMiwJMCwJc3lzX21xX25vdGlmeSwJCSJtcV9ub3RpZnkiCX0sIC8qIDI3OCAqLworCXsgMywJMCwJc3lzX21xX2dldHNldGF0dHIsCSJtcV9nZXRzZXRhdHRyIgl9LCAvKiAyNzkgKi8KKwl7IDUsCVRQLAlzeXNfd2FpdGlkLAkJIndhaXRpZCIJfSwgLyogMjgwICovCisJeyAzLAlUTiwJc3lzX3NvY2tldCwJCSJzb2NrZXQiCX0sIC8qIDI4MSAqLworCXsgMywJVE4sCXN5c19iaW5kLAkJImJpbmQiCQl9LCAvKiAyODIgKi8KKwl7IDMsCVROLAlzeXNfY29ubmVjdCwJCSJjb25uZWN0Igl9LCAvKiAyODMgKi8KKwl7IDIsCVROLAlzeXNfbGlzdGVuLAkJImxpc3RlbiIJfSwgLyogMjg0ICovCisJeyAzLAlUTiwJc3lzX2FjY2VwdCwJCSJhY2NlcHQiCX0sIC8qIDI4NSAqLworCXsgMywJVE4sCXN5c19nZXRzb2NrbmFtZSwJImdldHNvY2tuYW1lIgl9LCAvKiAyODYgKi8KKwl7IDMsCVROLAlzeXNfZ2V0cGVlcm5hbWUsCSJnZXRwZWVybmFtZSIJfSwgLyogMjg3ICovCisJeyA0LAlUTiwJc3lzX3NvY2tldHBhaXIsCQkic29ja2V0cGFpciIJfSwgLyogMjg4ICovCisJeyA0LAlUTiwJc3lzX3NlbmQsCQkic2VuZCIJCX0sIC8qIDI4OSAqLworCXsgNiwJVE4sCXN5c19zZW5kdG8sCQkic2VuZHRvIgl9LCAvKiAyOTAgKi8KKwl7IDQsCVROLAlzeXNfcmVjdiwJCSJyZWN2IgkJfSwgLyogMjkxICovCisJeyA2LAlUTiwJc3lzX3JlY3Zmcm9tLAkJInJlY3Zmcm9tIgl9LCAvKiAyOTIgKi8KKwl7IDIsCVROLAlzeXNfc2h1dGRvd24sCQkic2h1dGRvd24iCX0sIC8qIDI5MyAqLworCXsgNSwJVE4sCXN5c19zZXRzb2Nrb3B0LAkJInNldHNvY2tvcHQiCX0sIC8qIDI5NCAqLworCXsgNSwJVE4sCXN5c19nZXRzb2Nrb3B0LAkJImdldHNvY2tvcHQiCX0sIC8qIDI5NSAqLworCXsgMywJVE4sCXN5c19zZW5kbXNnLAkJInNlbmRtc2ciCX0sIC8qIDI5NiAqLworCXsgMywJVE4sCXN5c19yZWN2bXNnLAkJInJlY3Ztc2ciCX0sIC8qIDI5NyAqLworCXsgNCwJVEksCXN5c19zZW1vcCwJCSJzZW1vcCIJCX0sIC8qIDI5OCAqLworCXsgNCwJVEksCXN5c19zZW1nZXQsCQkic2VtZ2V0Igl9LCAvKiAyOTkgKi8KKwl7IDQsCVRJLAlzeXNfc2VtY3RsLAkJInNlbWN0bCIJfSwgLyogMzAwICovCisJeyA0LAlUSSwJc3lzX21zZ3NuZCwJCSJtc2dzbmQiCX0sIC8qIDMwMSAqLworCXsgNCwJVEksCXN5c19tc2dyY3YsCQkibXNncmN2Igl9LCAvKiAzMDIgKi8KKwl7IDQsCVRJLAlzeXNfbXNnZ2V0LAkJIm1zZ2dldCIJfSwgLyogMzAzICovCisJeyA0LAlUSSwJc3lzX21zZ2N0bCwJCSJtc2djdGwiCX0sIC8qIDMwNCAqLworCXsgNCwJVEksCXN5c19zaG1hdCwJCSJzaG1hdCIJCX0sIC8qIDMwNSAqLworCXsgNCwJVEksCXN5c19zaG1kdCwJCSJzaG1kdCIJCX0sIC8qIDMwNiAqLworCXsgNCwJVEksCXN5c19zaG1nZXQsCQkic2htZ2V0Igl9LCAvKiAzMDcgKi8KKwl7IDQsCVRJLAlzeXNfc2htY3RsLAkJInNobWN0bCIJfSwgLyogMzA4ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiYWRkX2tleSIJfSwgLyogMzA5ICovCisJeyA0LAkwLAlwcmludGFyZ3MsCQkicmVxdWVzdF9rZXkiCX0sIC8qIDMxMCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJImtleWN0bCIJfSwgLyogMzExICovCisJeyA1LAlUSSwJc3lzX3NlbXRpbWVkb3AsCQkic2VtdGltZWRvcCIJfSwgLyogMzEyICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkidnNlcnZlciIJfSwgLyogMzEzICovCisJeyAzLAkwLAlwcmludGFyZ3MsCQkiaW9wcmlvX3NldCIJfSwgLyogMzE0ICovCisJeyAyLAkwLAlwcmludGFyZ3MsCQkiaW9wcmlvX2dldCIJfSwgLyogMzE1ICovCisJeyAwLAlURCwJcHJpbnRhcmdzLAkJImlub3RpZnlfaW5pdCIJfSwgLyogMzE2ICovCisJeyAzLAlURCwJc3lzX2lub3RpZnlfYWRkX3dhdGNoLAkiaW5vdGlmeV9hZGRfd2F0Y2giIH0sIC8qIDMxNyAqLworCXsgMiwJVEQsCXN5c19pbm90aWZ5X3JtX3dhdGNoLAkiaW5vdGlmeV9ybV93YXRjaCIgfSwgLyogMzE4ICovCisJeyA2LAkwLAlzeXNfbWJpbmQsCQkibWJpbmQiCQl9LCAvKiAzMTkgKi8KKwl7IDMsCTAsCXN5c19zZXRfbWVtcG9saWN5LAkic2V0X21lbXBvbGljeSIJfSwgLyogMzIwICovCisJeyA1LAkwLAlzeXNfZ2V0X21lbXBvbGljeSwJImdldF9tZW1wb2xpY3kiCX0sIC8qIDMyMSAqLworCXsgNCwJVER8VEYsCXN5c19vcGVuYXQsCQkib3BlbmF0Igl9LCAvKiAzMjIgKi8KKwl7IDMsCVREfFRGLAlzeXNfbWtkaXJhdCwJCSJta2RpcmF0Igl9LCAvKiAzMjMgKi8KKwl7IDQsCVREfFRGLAlzeXNfbWtub2RhdCwJCSJta25vZGF0Igl9LCAvKiAzMjQgKi8KKwl7IDUsCVREfFRGLAlzeXNfZmNob3duYXQsCQkiZmNob3duYXQiCX0sIC8qIDMyNSAqLworCXsgMywJVER8VEYsCXN5c19mdXRpbWVzYXQsCQkiZnV0aW1lc2F0Igl9LCAvKiAzMjYgKi8KKwl7IDQsCVREfFRELAlzeXNfbmV3ZnN0YXRhdCwJCSJuZXdmc3RhdGF0Igl9LCAvKiAzMjcgKi8KKwl7IDMsCVREfFRGLAlzeXNfdW5saW5rYXQsCQkidW5saW5rYXQiCX0sIC8qIDMyOCAqLworCXsgNCwJVER8VEYsCXN5c19yZW5hbWVhdCwJCSJyZW5hbWVhdCIJfSwgLyogMzI5ICovCisJeyA1LAlURHxURiwJc3lzX2xpbmthdCwJCSJsaW5rYXQiCX0sIC8qIDMzMCAqLworCXsgMywJVER8VEYsCXN5c19zeW1saW5rYXQsCQkic3ltbGlua2F0Igl9LCAvKiAzMzEgKi8KKwl7IDQsCVREfFRGLAlzeXNfcmVhZGxpbmthdCwJCSJyZWFkbGlua2F0Igl9LCAvKiAzMzIgKi8KKwl7IDMsCVREfFRGLAlzeXNfZmNobW9kYXQsCQkiZmNobW9kYXQiCX0sIC8qIDMzMyAqLworCXsgMywJVER8VEYsCXN5c19mYWNjZXNzYXQsCQkiZmFjY2Vzc2F0Igl9LCAvKiAzMzQgKi8KKwl7IDYsCVRELAlzeXNfcHNlbGVjdDYsCQkicHNlbGVjdDYiCX0sIC8qIDMzNSAqLworCXsgNSwJVEQsCXN5c19wcG9sbCwJCSJwcG9sbCIJCX0sIC8qIDMzNiAqLworCXsgMSwJVFAsCXN5c191bnNoYXJlLAkJInVuc2hhcmUiCX0sIC8qIDMzNyAqLworCXsgMiwJMCwJcHJpbnRhcmdzLAkJInNldF9yb2J1c3RfbGlzdCIgfSwgLyogMzM4ICovCisJeyAzLAkwLAlwcmludGFyZ3MsCQkiZ2V0X3JvYnVzdF9saXN0IiB9LCAvKiAzMzkgKi8KKwl7IDYsCVRELAlwcmludGFyZ3MsCQkic3BsaWNlIgl9LCAvKiAzNDAgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzQxIgl9LCAvKiAzNDEgKi8KKwl7IDQsCVRELAlwcmludGFyZ3MsCQkidGVlIgkJfSwgLyogMzQyICovCisJeyA0LAlURCwJcHJpbnRhcmdzLAkJInZtc3BsaWNlIgl9LCAvKiAzNDMgKi8KKwl7IDYsCTAsCXN5c19tb3ZlX3BhZ2VzLAkJIm1vdmVfcGFnZXMiCX0sIC8qIDM0NCAqLworCXsgMywJMCwJc3lzX2dldGNwdSwJCSJnZXRjcHUiCX0sIC8qIDM0NSAqLworCXsgNSwJVEQsCXN5c19lcG9sbF9wd2FpdCwJImVwb2xsX3B3YWl0Igl9LCAvKiAzNDYgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJrZXhlY19sb2FkIgl9LCAvKiAzNDcgKi8KKwl7IDQsCVREfFRGLAlzeXNfdXRpbWVuc2F0LAkJInV0aW1lbnNhdCIJfSwgLyogMzQ4ICovCisJeyAzLAlURHxUUywJc3lzX3NpZ25hbGZkLAkJInNpZ25hbGZkIgl9LCAvKiAzNDkgKi8KKwl7IDQsCVRELAlzeXNfdGltZXJmZCwJCSJ0aW1lcmZkIgl9LCAvKiAzNTAgKi8KKwl7IDEsCVRELAlzeXNfZXZlbnRmZCwJCSJldmVudGZkIgl9LCAvKiAzNTEgKi8KKwl7IDYsCVRGLAlzeXNfZmFsbG9jYXRlLAkJImZhbGxvY2F0ZSIJfSwgLyogMzUyICovCisJeyA0LAlURCwJc3lzX3RpbWVyZmRfc2V0dGltZSwJInRpbWVyZmRfc2V0dGltZSJ9LCAvKiAzNTMgKi8KKwl7IDIsCVRELAlzeXNfdGltZXJmZF9nZXR0aW1lLAkidGltZXJmZF9nZXR0aW1lIn0sIC8qIDM1NCAqLworCXsgNCwJVER8VFMsCXN5c19zaWduYWxmZDQsCQkic2lnbmFsZmQ0Igl9LCAvKiAzNTUgKi8KKwl7IDIsCVRELAlzeXNfZXZlbnRmZDIsCQkiZXZlbnRmZDIiCX0sIC8qIDM1NiAqLworCXsgMSwJMCwJc3lzX2Vwb2xsX2NyZWF0ZTEsCSJlcG9sbF9jcmVhdGUxIgl9LCAvKiAzNTcgKi8KKwl7IDMsCVRELAlzeXNfZHVwMywJCSJkdXAzIgkJfSwgLyogMzU4ICovCisJeyAyLAlURCwJc3lzX3BpcGUyLAkJInBpcGUyIgkJfSwgLyogMzU5ICovCisJeyAxLAlURCwJc3lzX2lub3RpZnlfaW5pdDEsCSJpbm90aWZ5X2luaXQxIgl9LCAvKiAzNjAgKi8KKwl7IDUsCVRELAlwcmludGFyZ3MsCQkicHJlYWR2Igl9LCAvKiAzNjEgKi8KKwl7IDUsCVRELAlwcmludGFyZ3MsCQkicHdyaXRldiIJfSwgLyogMzYyICovCisJeyA0LAlUUHxUUywJcHJpbnRhcmdzLAkJInJ0X3Rnc2lncXVldWVpbmZvIn0sIC8qIDM2MyAqLworCXsgNSwJVEQsCXByaW50YXJncywJCSJwZXJmX2V2ZW50X29wZW4ifSwgLyogMzY0ICovCisJeyA1LAlUTiwJc3lzX3JlY3ZtbXNnLAkJInJlY3ZtbXNnIgl9LCAvKiAzNjUgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzY2Igl9LCAvKiAzNjYgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzY3Igl9LCAvKiAzNjcgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzY4Igl9LCAvKiAzNjggKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzY5Igl9LCAvKiAzNjkgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzcwIgl9LCAvKiAzNzAgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzcxIgl9LCAvKiAzNzEgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzcyIgl9LCAvKiAzNzIgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzczIgl9LCAvKiAzNzMgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzc0Igl9LCAvKiAzNzQgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzc1Igl9LCAvKiAzNzUgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzc2Igl9LCAvKiAzNzYgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzc3Igl9LCAvKiAzNzcgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzc4Igl9LCAvKiAzNzggKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzc5Igl9LCAvKiAzNzkgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzgwIgl9LCAvKiAzODAgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzgxIgl9LCAvKiAzODEgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzgyIgl9LCAvKiAzODIgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzgzIgl9LCAvKiAzODMgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzg0Igl9LCAvKiAzODQgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzg1Igl9LCAvKiAzODUgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzg2Igl9LCAvKiAzODYgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzg3Igl9LCAvKiAzODcgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzg4Igl9LCAvKiAzODggKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzg5Igl9LCAvKiAzODkgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzkwIgl9LCAvKiAzOTAgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzkxIgl9LCAvKiAzOTEgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzkyIgl9LCAvKiAzOTIgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzkzIgl9LCAvKiAzOTMgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzk0Igl9LCAvKiAzOTQgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzk1Igl9LCAvKiAzOTUgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzk2Igl9LCAvKiAzOTYgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzk3Igl9LCAvKiAzOTcgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzk4Igl9LCAvKiAzOTggKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzk5Igl9LCAvKiAzOTkgKi8KKworI2lmbmRlZiBfX0FSTV9FQUJJX18KKyNpZiBTWVNfc29ja2V0X3N1YmNhbGwgIT0gNDAwCisgI2Vycm9yIGZpeCBtZQorI2VuZGlmCisJeyA4LAkwLAlwcmludGFyZ3MsCQkic29ja2V0X3N1YmNhbGwifSwgLyogNDAwICovCisJeyAzLAlUTiwJc3lzX3NvY2tldCwJCSJzb2NrZXQiCX0sIC8qIDQwMSAqLworCXsgMywJVE4sCXN5c19iaW5kLAkJImJpbmQiCQl9LCAvKiA0MDIgKi8KKwl7IDMsCVROLAlzeXNfY29ubmVjdCwJCSJjb25uZWN0Igl9LCAvKiA0MDMgKi8KKwl7IDIsCVROLAlzeXNfbGlzdGVuLAkJImxpc3RlbiIJfSwgLyogNDA0ICovCisJeyAzLAlUTiwJc3lzX2FjY2VwdCwJCSJhY2NlcHQiCX0sIC8qIDQwNSAqLworCXsgMywJVE4sCXN5c19nZXRzb2NrbmFtZSwJImdldHNvY2tuYW1lIgl9LCAvKiA0MDYgKi8KKwl7IDMsCVROLAlzeXNfZ2V0cGVlcm5hbWUsCSJnZXRwZWVybmFtZSIJfSwgLyogNDA3ICovCisJeyA0LAlUTiwJc3lzX3NvY2tldHBhaXIsCQkic29ja2V0cGFpciIJfSwgLyogNDA4ICovCisJeyA0LAlUTiwJc3lzX3NlbmQsCQkic2VuZCIJCX0sIC8qIDQwOSAqLworCXsgNCwJVE4sCXN5c19yZWN2LAkJInJlY3YiCQl9LCAvKiA0MTAgKi8KKwl7IDYsCVROLAlzeXNfc2VuZHRvLAkJInNlbmR0byIJfSwgLyogNDExICovCisJeyA2LAlUTiwJc3lzX3JlY3Zmcm9tLAkJInJlY3Zmcm9tIgl9LCAvKiA0MTIgKi8KKwl7IDIsCVROLAlzeXNfc2h1dGRvd24sCQkic2h1dGRvd24iCX0sIC8qIDQxMyAqLworCXsgNSwJVE4sCXN5c19zZXRzb2Nrb3B0LAkJInNldHNvY2tvcHQiCX0sIC8qIDQxNCAqLworCXsgNSwJVE4sCXN5c19nZXRzb2Nrb3B0LAkJImdldHNvY2tvcHQiCX0sIC8qIDQxNSAqLworCXsgNSwJVE4sCXN5c19zZW5kbXNnLAkJInNlbmRtc2ciCX0sIC8qIDQxNiAqLworCXsgNSwJVE4sCXN5c19yZWN2bXNnLAkJInJlY3Ztc2ciCX0sIC8qIDQxNyAqLworCXsgNCwJVE4sCXN5c19hY2NlcHQ0LAkJImFjY2VwdDQiCX0sIC8qIDQxOCAqLworCXsgNSwJVE4sCXN5c19yZWN2bW1zZywJCSJyZWN2bW1zZyIJfSwgLyogNDE5ICovCisKKyNpZiBTWVNfaXBjX3N1YmNhbGwgIT0gNDIwCisgI2Vycm9yIGZpeCBtZQorI2VuZGlmCisJeyA0LAkwLAlwcmludGFyZ3MsCQkiaXBjX3N1YmNhbGwiCX0sIC8qIDQyMCAqLworCXsgNCwJVEksCXN5c19zZW1vcCwJCSJzZW1vcCIJCX0sIC8qIDQyMSAqLworCXsgNCwJVEksCXN5c19zZW1nZXQsCQkic2VtZ2V0Igl9LCAvKiA0MjIgKi8KKwl7IDQsCVRJLAlzeXNfc2VtY3RsLAkJInNlbWN0bCIJfSwgLyogNDIzICovCisJeyA1LAlUSSwJc3lzX3NlbXRpbWVkb3AsCQkic2VtdGltZWRvcCIJfSwgLyogNDI0ICovCisJeyA0LAkwLAlwcmludGFyZ3MsCQkiaXBjX3N1YmNhbGwiCX0sIC8qIDQyNSAqLworCXsgNCwJMCwJcHJpbnRhcmdzLAkJImlwY19zdWJjYWxsIgl9LCAvKiA0MjYgKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJpcGNfc3ViY2FsbCIJfSwgLyogNDI3ICovCisJeyA0LAkwLAlwcmludGFyZ3MsCQkiaXBjX3N1YmNhbGwiCX0sIC8qIDQyOCAqLworCXsgNCwJMCwJcHJpbnRhcmdzLAkJImlwY19zdWJjYWxsIgl9LCAvKiA0MjkgKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJpcGNfc3ViY2FsbCIJfSwgLyogNDMwICovCisJeyA0LAlUSSwJc3lzX21zZ3NuZCwJCSJtc2dzbmQiCX0sIC8qIDQzMSAqLworCXsgNCwJVEksCXN5c19tc2dyY3YsCQkibXNncmN2Igl9LCAvKiA0MzIgKi8KKwl7IDQsCVRJLAlzeXNfbXNnZ2V0LAkJIm1zZ2dldCIJfSwgLyogNDMzICovCisJeyA0LAlUSSwJc3lzX21zZ2N0bCwJCSJtc2djdGwiCX0sIC8qIDQzNCAqLworCXsgNCwJMCwJcHJpbnRhcmdzLAkJImlwY19zdWJjYWxsIgl9LCAvKiA0MzUgKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJpcGNfc3ViY2FsbCIJfSwgLyogNDM2ICovCisJeyA0LAkwLAlwcmludGFyZ3MsCQkiaXBjX3N1YmNhbGwiCX0sIC8qIDQzNyAqLworCXsgNCwJMCwJcHJpbnRhcmdzLAkJImlwY19zdWJjYWxsIgl9LCAvKiA0MzggKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJpcGNfc3ViY2FsbCIJfSwgLyogNDM5ICovCisJeyA0LAkwLAlwcmludGFyZ3MsCQkiaXBjX3N1YmNhbGwiCX0sIC8qIDQ0MCAqLworCXsgNCwJVEksCXN5c19zaG1hdCwJCSJzaG1hdCIJCX0sIC8qIDQ0MSAqLworCXsgNCwJVEksCXN5c19zaG1kdCwJCSJzaG1kdCIJCX0sIC8qIDQ0MiAqLworCXsgNCwJVEksCXN5c19zaG1nZXQsCQkic2htZ2V0Igl9LCAvKiA0NDMgKi8KKwl7IDQsCVRJLAlzeXNfc2htY3RsLAkJInNobWN0bCIJfSwgLyogNDQ0ICovCisjZW5kaWYKZGlmZiAtLWdpdCBhL3N0cmFjZS00LjUuMjAvbGludXgvYXJtL3N5c2NhbGxlbnQxLmggYi9zdHJhY2UtNC41LjIwL2xpbnV4L2FybS9zeXNjYWxsZW50MS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA5NzhlOWYKLS0tIC9kZXYvbnVsbAorKysgYi9zdHJhY2UtNC41LjIwL2xpbnV4L2FybS9zeXNjYWxsZW50MS5oCkBAIC0wLDAgKzEsNyBAQAorLyogQVJNIHNwZWNpZmljIHN5c2NhbGxzICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzAiCQkJfSwgLyogMCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJImJyZWFrcG9pbnQiCQl9LCAvKiAxICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiY2FjaGVmbHVzaCIJCX0sIC8qIDIgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJ1c3IyNiIJCQl9LCAvKiAzICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkidXNyMzIiCQkJfSwgLyogNCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJInNldF90bHMiCQl9LCAvKiA1ICovCmRpZmYgLS1naXQgYS9zdHJhY2UtNC41LjIwL2xpbnV4L2F2cjMyL3N5c2NhbGxlbnQuaCBiL3N0cmFjZS00LjUuMjAvbGludXgvYXZyMzIvc3lzY2FsbGVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU3YzEzMzYKLS0tIC9kZXYvbnVsbAorKysgYi9zdHJhY2UtNC41LjIwL2xpbnV4L2F2cjMyL3N5c2NhbGxlbnQuaApAQCAtMCwwICsxLDMxMSBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAwNC0yMDA5IEF0bWVsIENvcnBvcmF0aW9uCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gVGhlIG5hbWUgb2YgdGhlIGF1dGhvciBtYXkgbm90IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzCisgKiAgICBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBBVVRIT1IgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUyBPUgorICogSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUworICogT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4KKyAqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKKyAqIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVAorICogTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKgorICoJJElkJAorICovCisKKwl7IDAsCTAsCXN5c19zZXR1cCwJCSJzZXR1cCIJCX0sIC8qIDAgKi8KKwl7IDEsCVRQLAlzeXNfZXhpdCwJCSJfZXhpdCIJCX0sIC8qIDEgKi8KKwl7IDAsCVRQLAlzeXNfZm9yaywJCSJmb3JrIgkJfSwgLyogMiAqLworCXsgMywJVEQsCXN5c19yZWFkLAkJInJlYWQiCQl9LCAvKiAzICovCisJeyAzLAlURCwJc3lzX3dyaXRlLAkJIndyaXRlIgkJfSwgLyogNCAqLworCXsgMywJVER8VEYsCXN5c19vcGVuLAkJIm9wZW4iCQl9LCAvKiA1ICovCisJeyAxLAlURCwJc3lzX2Nsb3NlLAkJImNsb3NlIgkJfSwgLyogNiAqLworCXsgMSwJMCwJc3lzX3VtYXNrLAkJInVtYXNrIgkJfSwgLyogNyAqLworCXsgMiwJVER8VEYsCXN5c19jcmVhdCwJCSJjcmVhdCIJCX0sIC8qIDggKi8KKwl7IDIsCVRGLAlzeXNfbGluaywJCSJsaW5rIgkJfSwgLyogOSAqLworCXsgMSwJVEYsCXN5c191bmxpbmssCQkidW5saW5rIgl9LCAvKiAxMCAqLworCXsgMywJVEZ8VFAsCXN5c19leGVjdmUsCQkiZXhlY3ZlIgl9LCAvKiAxMSAqLworCXsgMSwJVEYsCXN5c19jaGRpciwJCSJjaGRpciIJCX0sIC8qIDEyICovCisJeyAxLAkwLAlzeXNfdGltZSwJCSJ0aW1lIgkJfSwgLyogMTMgKi8KKwl7IDMsCVRGLAlzeXNfbWtub2QsCQkibWtub2QiCQl9LCAvKiAxNCAqLworCXsgMiwJVEYsCXN5c19jaG1vZCwJCSJjaG1vZCIJCX0sIC8qIDE1ICovCisJeyAzLAlURiwJc3lzX2Nob3duLAkJImNob3duIgkJfSwgLyogMTYgKi8KKwl7IDMsCVRGLAlzeXNfY2hvd24sCQkibGNob3duIgl9LCAvKiAxNyAqLworCXsgMywJVEQsCXN5c19sc2VlaywJCSJsc2VlayIJCX0sIC8qIDE4ICovCisJeyA1LAlURCwJc3lzX2xsc2VlaywJCSJfbGxzZWVrIgl9LCAvKiAxOSAqLworCXsgMCwJMCwJc3lzX2dldHBpZCwJCSJnZXRwaWQiCX0sIC8qIDIwICovCisJeyA1LAlURiwJc3lzX21vdW50LAkJIm1vdW50IgkJfSwgLyogMjEgKi8KKwl7IDIsCVRGLAlzeXNfdW1vdW50LAkJInVtb3VudCIJfSwgLyogMjIgKi8KKwl7IDEsCTAsCXN5c19zZXR1aWQsCQkic2V0dWlkIgl9LCAvKiAyMyAqLworCXsgMCwJMCwJc3lzX2dldHVpZCwJCSJnZXR1aWQiCX0sIC8qIDI0ICovCisJeyAxLAkwLAlzeXNfc3RpbWUsCQkic3RpbWUiCQl9LCAvKiAyNSAqLworCXsgNCwJMCwJc3lzX3B0cmFjZSwJCSJwdHJhY2UiCX0sIC8qIDI2ICovCisJeyAxLAkwLAlzeXNfYWxhcm0sCQkiYWxhcm0iCQl9LCAvKiAyNyAqLworCXsgMCwJVFMsCXN5c19wYXVzZSwJCSJwYXVzZSIJCX0sIC8qIDI4ICovCisJeyAyLAlURiwJc3lzX3V0aW1lLAkJInV0aW1lIgkJfSwgLyogMjkgKi8KKwl7IDIsCVRGLAlzeXNfc3RhdCwJCSJzdGF0IgkJfSwgLyogMzAgKi8KKwl7IDIsCVRELAlzeXNfZnN0YXQsCQkiZnN0YXQiCQl9LCAvKiAzMSAqLworCXsgMiwJVEYsCXN5c19sc3RhdCwJCSJsc3RhdCIJCX0sIC8qIDMyICovCisJeyAyLAlURiwJc3lzX2FjY2VzcywJCSJhY2Nlc3MiCX0sIC8qIDMzICovCisJeyAxLAlURiwJc3lzX2Nocm9vdCwJCSJjaHJvb3QiCX0sIC8qIDM0ICovCisJeyAwLAkwLAlzeXNfc3luYywJCSJzeW5jIgkJfSwgLyogMzUgKi8KKwl7IDEsCVRELAlzeXNfZnN5bmMsCQkiZnN5bmMiCQl9LCAvKiAzNiAqLworCXsgMiwJVFMsCXN5c19raWxsLAkJImtpbGwiCQl9LCAvKiAzNyAqLworCXsgMiwJVEYsCXN5c19yZW5hbWUsCQkicmVuYW1lIgl9LCAvKiAzOCAqLworCXsgMiwJVEYsCXN5c19ta2RpciwJCSJta2RpciIJCX0sIC8qIDM5ICovCisJeyAxLAlURiwJc3lzX3JtZGlyLAkJInJtZGlyIgkJfSwgLyogNDAgKi8KKwl7IDEsCVRELAlzeXNfZHVwLAkJImR1cCIJCX0sIC8qIDQxICovCisJeyAxLAlURCwJc3lzX3BpcGUsCQkicGlwZSIJCX0sIC8qIDQyICovCisJeyAxLAkwLAlzeXNfdGltZXMsCQkidGltZXMiCQl9LCAvKiA0MyAqLworCXsgNSwJVFAsCXN5c19jbG9uZSwJCSJjbG9uZSIJCX0sIC8qIDQ0ICovCisJeyAxLAkwLAlzeXNfYnJrLAkJImJyayIJCX0sIC8qIDQ1ICovCisJeyAxLAkwLAlzeXNfc2V0Z2lkLAkJInNldGdpZCIJfSwgLyogNDYgKi8KKwl7IDAsCTAsCXN5c19nZXRnaWQsCQkiZ2V0Z2lkIgl9LCAvKiA0NyAqLworCXsgMiwJVEYsCXN5c19nZXRjd2QsCQkiZ2V0Y3dkIgl9LCAvKiA0OCAqLworCXsgMCwJMCwJc3lzX2dldGV1aWQsCQkiZ2V0ZXVpZCIJfSwgLyogNDkgKi8KKwl7IDAsCTAsCXN5c19nZXRlZ2lkLAkJImdldGVnaWQiCX0sIC8qIDUwICovCisJeyAxLAlURiwJc3lzX2FjY3QsCQkiYWNjdCIJCX0sIC8qIDUxICovCisJeyAxLAkwLAlzeXNfc2V0ZnN1aWQsCQkic2V0ZnN1aWQiCX0sIC8qIDUyICovCisJeyAxLAkwLAlzeXNfc2V0ZnNnaWQsCQkic2V0ZnNnaWQiCX0sIC8qIDUzICovCisJeyAzLAlURCwJc3lzX2lvY3RsLAkJImlvY3RsIgkJfSwgLyogNTQgKi8KKwl7IDMsCVRELAlzeXNfZmNudGwsCQkiZmNudGwiCQl9LCAvKiA1NSAqLworCXsgMiwJMCwJc3lzX3NldHBnaWQsCQkic2V0cGdpZCIJfSwgLyogNTYgKi8KKwl7IDUsCTAsCXN5c19tcmVtYXAsCQkibXJlbWFwIgl9LCAvKiA1NyAqLworCXsgMywJMCwJc3lzX3NldHJlc3VpZCwJCSJzZXRyZXN1aWQiCX0sIC8qIDU4ICovCisJeyAzLAkwLAlzeXNfZ2V0cmVzdWlkLAkJImdldHJlc3VpZCIJfSwgLyogNTkgKi8KKwl7IDIsCTAsCXN5c19zZXRyZXVpZCwJCSJzZXRyZXVpZCIJfSwgLyogNjAgKi8KKwl7IDIsCTAsCXN5c19zZXRyZWdpZCwJCSJzZXRyZWdpZCIJfSwgLyogNjEgKi8KKwl7IDIsCTAsCXN5c191c3RhdCwJCSJ1c3RhdCIJCX0sIC8qIDYyICovCisJeyAyLAlURCwJc3lzX2R1cDIsCQkiZHVwMiIJCX0sIC8qIDYzICovCisJeyAwLAkwLAlzeXNfZ2V0cHBpZCwJCSJnZXRwcGlkIgl9LCAvKiA2NCAqLworCXsgMCwJMCwJc3lzX2dldHBncnAsCQkiZ2V0cGdycCIJfSwgLyogNjUgKi8KKwl7IDAsCTAsCXN5c19zZXRzaWQsCQkic2V0c2lkIgl9LCAvKiA2NiAqLworCXsgNCwJVFMsCXN5c19ydF9zaWdhY3Rpb24sCSJydF9zaWdhY3Rpb24iICB9LCAvKiA2NyAqLworCXsgMSwJVFMsCXByaW50YXJncywJCSJydF9zaWdyZXR1cm4iCX0sIC8qIDY4ICovCisJeyA0LAlUUywJc3lzX3J0X3NpZ3Byb2NtYXNrLAkicnRfc2lncHJvY21hc2sifSwgLyogNjkgKi8KKwl7IDIsCVRTLAlzeXNfcnRfc2lncGVuZGluZywJInJ0X3NpZ3BlbmRpbmciCX0sIC8qIDcwICovCisJeyA0LAlUUywJc3lzX3J0X3NpZ3RpbWVkd2FpdCwJInJ0X3NpZ3RpbWVkd2FpdCJ9LCAvKiA3MSAqLworCXsgMywJVFMsCXN5c19ydF9zaWdxdWV1ZWluZm8sICAgICJydF9zaWdxdWV1ZWluZm8ifSwgLyogNzIgKi8KKwl7IDIsCVRTLAlzeXNfcnRfc2lnc3VzcGVuZCwJInJ0X3NpZ3N1c3BlbmQiCX0sIC8qIDczICovCisJeyAyLAkwLAlzeXNfc2V0aG9zdG5hbWUsCSJzZXRob3N0bmFtZSIJfSwgLyogNzQgKi8KKwl7IDIsCTAsCXN5c19zZXRybGltaXQsCQkic2V0cmxpbWl0Igl9LCAvKiA3NSAqLworCXsgMiwJMCwJc3lzX2dldHJsaW1pdCwJCSJvbGRfZ2V0cmxpbWl0Igl9LCAvKiA3NiAqLworCXsgMiwJMCwJc3lzX2dldHJ1c2FnZSwJCSJnZXRydXNhZ2UiCX0sIC8qIDc3ICovCisJeyAyLAkwLAlzeXNfZ2V0dGltZW9mZGF5LAkiZ2V0dGltZW9mZGF5Igl9LCAvKiA3OCAqLworCXsgMiwJMCwJc3lzX3NldHRpbWVvZmRheSwJInNldHRpbWVvZmRheSIJfSwgLyogNzkgKi8KKwl7IDIsCTAsCXN5c19nZXRncm91cHMsCQkiZ2V0Z3JvdXBzIgl9LCAvKiA4MCAqLworCXsgMiwJMCwJc3lzX3NldGdyb3VwcywJCSJzZXRncm91cHMiCX0sIC8qIDgxICovCisJeyA1LAlURCwJc3lzX3NlbGVjdCwJCSJzZWxlY3QiCX0sIC8qIDgyICovCisJeyAyLAlURiwJc3lzX3N5bWxpbmssCQkic3ltbGluayIJfSwgLyogODMgKi8KKwl7IDEsCVRELAlzeXNfZmNoZGlyLAkJImZjaGRpciIJfSwgLyogODQgKi8KKwl7IDMsCVRGLAlzeXNfcmVhZGxpbmssCQkicmVhZGxpbmsiCX0sIC8qIDg1ICovCisJeyA1LAlURCwJc3lzX3ByZWFkLAkJInByZWFkIgkJfSwgLyogODYgKi8KKwl7IDUsCVRELAlzeXNfcHdyaXRlLAkJInB3cml0ZSIJfSwgLyogODcgKi8KKwl7IDEsCVRGLAlzeXNfc3dhcG9uLAkJInN3YXBvbiIJfSwgLyogODggKi8KKwl7IDMsCTAsCXN5c19yZWJvb3QsCQkicmVib290Igl9LCAvKiA4OSAqLworCXsgNiwJMCwJc3lzX21tYXAsCQkibW1hcCIJCX0sIC8qIDkwICovCisJeyAyLAkwLAlzeXNfbXVubWFwLAkJIm11bm1hcCIJfSwgLyogOTEgKi8KKwl7IDIsCVRGLAlzeXNfdHJ1bmNhdGUsCQkidHJ1bmNhdGUiCX0sIC8qIDkyICovCisJeyAyLAlURCwJc3lzX2Z0cnVuY2F0ZSwJCSJmdHJ1bmNhdGUiCX0sIC8qIDkzICovCisJeyAyLAlURCwJc3lzX2ZjaG1vZCwJCSJmY2htb2QiCX0sIC8qIDk0ICovCisJeyAzLAlURCwJc3lzX2ZjaG93biwJCSJmY2hvd24iCX0sIC8qIDk1ICovCisJeyAyLAkwLAlzeXNfZ2V0cHJpb3JpdHksCSJnZXRwcmlvcml0eSIJfSwgLyogOTYgKi8KKwl7IDMsCTAsCXN5c19zZXRwcmlvcml0eSwJInNldHByaW9yaXR5Igl9LCAvKiA5NyAqLworCXsgNCwJVFAsCXN5c193YWl0NCwJCSJ3YWl0NCIJCX0sIC8qIDk4ICovCisJeyAyLAlURiwJc3lzX3N0YXRmcywJCSJzdGF0ZnMiCX0sIC8qIDk5ICovCisJeyAyLAlURCwJc3lzX2ZzdGF0ZnMsCQkiZnN0YXRmcyIJfSwgLyogMTAwICovCisJeyAwLAkwLAlzeXNfdmhhbmd1cCwJCSJ2aGFuZ3VwIgl9LCAvKiAxMDEgKi8KKwl7IDIsCVRTLAlzeXNfc2lnYWx0c3RhY2ssCSJzaWdhbHRzdGFjayIJfSwgLyogMTAyICovCisJeyAzLAkwLAlzeXNfc3lzbG9nLAkJInN5c2xvZyIJfSwgLyogMTAzICovCisJeyAzLAkwLAlzeXNfc2V0aXRpbWVyLAkJInNldGl0aW1lciIJfSwgLyogMTA0ICovCisJeyAyLAkwLAlzeXNfZ2V0aXRpbWVyLAkJImdldGl0aW1lciIJfSwgLyogMTA1ICovCisJeyAxLAkwLAlzeXNfc3dhcG9mZiwJCSJzd2Fwb2ZmIgl9LCAvKiAxMDYgKi8KKwl7IDEsCTAsCXN5c19zeXNpbmZvLAkJInN5c2luZm8iCX0sIC8qIDEwNyAqLworCXsgNiwJMCwJc3lzX2lwYywJCSJpcGMiCQl9LCAvKiAxMDggKi8KKwl7IDQsCVREfFROLAlzeXNfc2VuZGZpbGUsCQkic2VuZGZpbGUiCX0sIC8qIDEwOSAqLworCXsgMiwJMCwJc3lzX3NldGRvbWFpbm5hbWUsCSJzZXRkb21haW5uYW1lIgl9LCAvKiAxMTAgKi8KKwl7IDEsCTAsCXN5c191bmFtZSwJCSJ1bmFtZSIJCX0sIC8qIDExMSAqLworCXsgMSwJMCwJc3lzX2FkanRpbWV4LAkJImFkanRpbWV4Igl9LCAvKiAxMTIgKi8KKwl7IDMsCTAsCXN5c19tcHJvdGVjdCwJCSJtcHJvdGVjdCIJfSwgLyogMTEzICovCisJeyAwLAlUUCwJc3lzX3Zmb3JrLAkJInZmb3JrIgkJfSwgLyogMTE0ICovCisJeyAzLAkwLAlzeXNfaW5pdF9tb2R1bGUsCSJpbml0X21vZHVsZSIJfSwgLyogMTE1ICovCisJeyAyLAkwLAlzeXNfZGVsZXRlX21vZHVsZSwJImRlbGV0ZV9tb2R1bGUiCX0sIC8qIDExNiAqLworCXsgNCwJMCwJc3lzX3F1b3RhY3RsLAkJInF1b3RhY3RsIgl9LCAvKiAxMTcgKi8KKwl7IDEsCTAsCXN5c19nZXRwZ2lkLAkJImdldHBnaWQiCX0sIC8qIDExOCAqLworCXsgMCwJMCwJc3lzX2JkZmx1c2gsCQkiYmRmbHVzaCIJfSwgLyogMTE5ICovCisJeyAzLAkwLAlzeXNfc3lzZnMsCQkic3lzZnMiCQl9LCAvKiAxMjAgKi8KKwl7IDEsCTAsCXN5c19wZXJzb25hbGl0eSwJInBlcnNvbmFsaXR5Igl9LCAvKiAxMjEgKi8KKwl7IDUsCTAsCXN5c19hZnNfc3lzY2FsbCwJImFmc19zeXNjYWxsIgl9LCAvKiAxMjIgKi8KKwl7IDMsCVRELAlzeXNfZ2V0ZGVudHMsCQkiZ2V0ZGVudHMiCX0sIC8qIDEyMyAqLworCXsgMiwJVEQsCXN5c19mbG9jaywJCSJmbG9jayIJCX0sIC8qIDEyNCAqLworCXsgMywJMCwJc3lzX21zeW5jLAkJIm1zeW5jIgkJfSwgLyogMTI1ICovCisJeyAzLAlURCwJc3lzX3JlYWR2LAkJInJlYWR2IgkJfSwgLyogMTI2ICovCisJeyAzLAlURCwJc3lzX3dyaXRldiwJCSJ3cml0ZXYiCX0sIC8qIDEyNyAqLworCXsgMSwJMCwJc3lzX2dldHNpZCwJCSJnZXRzaWQiCX0sIC8qIDEyOCAqLworCXsgMSwJVEQsCXN5c19mZGF0YXN5bmMsCQkiZmRhdGFzeW5jIgl9LCAvKiAxMjkgKi8KKwl7IDEsCTAsCXN5c19zeXNjdGwsCQkiX3N5c2N0bCIJfSwgLyogMTMwICovCisJeyAyLAkwLAlzeXNfbWxvY2ssCQkibWxvY2siCQl9LCAvKiAxMzEgKi8KKwl7IDIsCTAsCXN5c19tdW5sb2NrLAkJIm11bmxvY2siCX0sIC8qIDEzMiAqLworCXsgMiwJMCwJc3lzX21sb2NrYWxsLAkJIm1sb2NrYWxsIgl9LCAvKiAxMzMgKi8KKwl7IDAsCTAsCXN5c19tdW5sb2NrYWxsLAkJIm11bmxvY2thbGwiCX0sIC8qIDEzNCAqLworCXsgMCwJMCwJc3lzX3NjaGVkX3NldHBhcmFtLAkic2NoZWRfc2V0cGFyYW0ifSwgLyogMTM1ICovCisJeyAyLAkwLAlzeXNfc2NoZWRfZ2V0cGFyYW0sCSJzY2hlZF9nZXRwYXJhbSJ9LCAvKiAxMzYgKi8KKwl7IDMsCTAsCXN5c19zY2hlZF9zZXRzY2hlZHVsZXIsCSJzY2hlZF9zZXRzY2hlZHVsZXIifSwgLyogMTM3ICovCisJeyAxLAkwLAlzeXNfc2NoZWRfZ2V0c2NoZWR1bGVyLAkic2NoZWRfZ2V0c2NoZWR1bGVyIn0sIC8qIDEzOCAqLworCXsgMCwJMCwJc3lzX3NjaGVkX3lpZWxkLAkic2NoZWRfeWllbGQifSwgLyogMTM5ICovCisJeyAxLAkwLAlzeXNfc2NoZWRfZ2V0X3ByaW9yaXR5X21heCwic2NoZWRfZ2V0X3ByaW9yaXR5X21heCJ9LCAvKiAxNDAgKi8KKwl7IDEsCTAsCXN5c19zY2hlZF9nZXRfcHJpb3JpdHlfbWluLCJzY2hlZF9nZXRfcHJpb3JpdHlfbWluIn0sIC8qIDE0MSAqLworCXsgMiwJMCwJc3lzX3NjaGVkX3JyX2dldF9pbnRlcnZhbCwic2NoZWRfcnJfZ2V0X2ludGVydmFsIn0sIC8qIDE0MiAqLworCXsgMiwJMCwJc3lzX25hbm9zbGVlcCwJCSJuYW5vc2xlZXAiCX0sIC8qIDE0MyAqLworCXsgMywJVEQsCXN5c19wb2xsLAkJInBvbGwiCQl9LCAvKiAxNDQgKi8KKwl7IDMsCTAsCXByaW50YXJncywJCSJuZnNzZXJ2Y3RsIgl9LCAvKiAxNDUgKi8KKwl7IDMsCTAsCXN5c19zZXRyZXNnaWQsCQkic2V0cmVzZ2lkIgl9LCAvKiAxNDYgKi8KKwl7IDMsCTAsCXN5c19nZXRyZXNnaWQsCQkiZ2V0cmVzZ2lkIgl9LCAvKiAxNDcgKi8KKwl7IDUsCTAsCXN5c19wcmN0bCwJCSJwcmN0bCIJCX0sIC8qIDE0OCAqLworCXsgMywJVE4sCXN5c19zb2NrZXQsCQkic29ja2V0Igl9LCAvKiAxNDkgKi8KKwl7IDMsCVROLAlzeXNfYmluZCwJCSJiaW5kIgkJfSwgLyogMTUwICovCisJeyAzLAlUTiwJc3lzX2Nvbm5lY3QsCQkiY29ubmVjdCIJfSwgLyogMTUxICovCisJeyAyLAlUTiwJc3lzX2xpc3RlbiwJCSJsaXN0ZW4iCX0sIC8qIDE1MiAqLworCXsgMywJVE4sCXN5c19hY2NlcHQsCQkiYWNjZXB0Igl9LCAvKiAxNTMgKi8KKwl7IDMsCVROLAlzeXNfZ2V0c29ja25hbWUsCSJnZXRzb2NrbmFtZSIJfSwgLyogMTU0ICovCisJeyAzLAlUTiwJc3lzX2dldHBlZXJuYW1lLAkiZ2V0cGVlcm5hbWUiCX0sIC8qIDE1NSAqLworCXsgNCwJVE4sCXN5c19zb2NrZXRwYWlyLAkJInNvY2tldHBhaXIiCX0sIC8qIDE1NiAqLworCXsgNCwJVE4sCXN5c19zZW5kLAkJInNlbmQiCQl9LCAvKiAxNTcgKi8KKwl7IDQsCVROLAlzeXNfcmVjdiwJCSJyZWN2IgkJfSwgLyogMTU4ICovCisJeyA2LAlUTiwJc3lzX3NlbmR0bywJCSJzZW5kdG8iCX0sIC8qIDE1OSAqLworCXsgNiwJVE4sCXN5c19yZWN2ZnJvbSwJCSJyZWN2ZnJvbSIJfSwgLyogMTYwICovCisJeyAyLAlUTiwJc3lzX3NodXRkb3duLAkJInNodXRkb3duIgl9LCAvKiAxNjEgKi8KKwl7IDUsCVROLAlzeXNfc2V0c29ja29wdCwJCSJzZXRzb2Nrb3B0Igl9LCAvKiAxNjIgKi8KKwl7IDUsCVROLAlzeXNfZ2V0c29ja29wdCwJCSJnZXRzb2Nrb3B0Igl9LCAvKiAxNjMgKi8KKwl7IDUsCVROLAlzeXNfc2VuZG1zZywJCSJzZW5kbXNnIgl9LCAvKiAxNjQgKi8KKwl7IDUsCVROLAlzeXNfcmVjdm1zZywJCSJyZWN2bXNnIgl9LCAvKiAxNjUgKi8KKwl7IDMsCVRGLAlzeXNfdHJ1bmNhdGU2NCwJCSJ0cnVuY2F0ZTY0Igl9LCAvKiAxNjYgKi8KKwl7IDMsCVRELAlzeXNfZnRydW5jYXRlNjQsCSJmdHJ1bmNhdGU2NCIJfSwgLyogMTY3ICovCisJeyAyLAlURiwJc3lzX3N0YXQ2NCwJCSJzdGF0NjQiCX0sIC8qIDE2OCAqLworCXsgMiwJVEYsCXN5c19sc3RhdDY0LAkJImxzdGF0NjQiCX0sIC8qIDE2OSAqLworCXsgMiwJVEQsCXN5c19mc3RhdDY0LAkJImZzdGF0NjQiCX0sIC8qIDE3MCAqLworCXsgMiwJVEYsCXN5c19waXZvdHJvb3QsCQkicGl2b3Rfcm9vdCIJfSwgLyogMTcxICovCisJeyAzLAkwLAlwcmludGFyZ3MsCQkibWluY29yZSIJfSwgLyogMTcyICovCisJeyAzLAkwLAlzeXNfbWFkdmlzZSwJCSJtYWR2aXNlIgl9LCAvKiAxNzMgKi8KKwl7IDMsCVRELAlzeXNfZ2V0ZGVudHM2NCwJCSJnZXRkZW50czY0Igl9LCAvKiAxNzQgKi8KKwl7IDMsCVRELAlzeXNfZmNudGwsCQkiZmNudGw2NCIJfSwgLyogMTc1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiZ2V0dGlkIgl9LCAvKiAxNzYgKi8KKwl7IDQsCVRELAlzeXNfcmVhZGFoZWFkLAkJInJlYWRhaGVhZCIJfSwgLyogMTc3ICovCisJeyA1LAlURiwJc3lzX3NldHhhdHRyLAkJInNldHhhdHRyIgl9LCAvKiAxNzggKi8KKwl7IDUsCVRGLAlzeXNfc2V0eGF0dHIsCQkibHNldHhhdHRyIgl9LCAvKiAxNzkgKi8KKwl7IDUsCVRELAlzeXNfZnNldHhhdHRyLAkJImZzZXR4YXR0ciIJfSwgLyogMTgwICovCisJeyA0LAlURiwJc3lzX2dldHhhdHRyLAkJImdldHhhdHRyIgl9LCAvKiAxODEgKi8KKwl7IDQsCVRGLAlzeXNfZ2V0eGF0dHIsCQkibGdldHhhdHRyIgl9LCAvKiAxODIgKi8KKwl7IDQsCTAsCXN5c19mZ2V0eGF0dHIsCQkiZmdldHhhdHRyIgl9LCAvKiAxODMgKi8KKwl7IDMsCVRGLAlzeXNfbGlzdHhhdHRyLAkJImxpc3R4YXR0ciIJfSwgLyogMTg0ICovCisJeyAzLAlURiwJc3lzX2xpc3R4YXR0ciwJCSJsbGlzdHhhdHRyIgl9LCAvKiAxODUgKi8KKwl7IDMsCTAsCXN5c19mbGlzdHhhdHRyLAkJImZsaXN0eGF0dHIiCX0sIC8qIDE4NiAqLworCXsgMiwJVEYsCXN5c19yZW1vdmV4YXR0ciwJInJlbW92ZXhhdHRyIgl9LCAvKiAxODcgKi8KKwl7IDIsCVRGLAlzeXNfcmVtb3ZleGF0dHIsCSJscmVtb3ZleGF0dHIiCX0sIC8qIDE4OCAqLworCXsgMiwJVEQsCXN5c19mcmVtb3ZleGF0dHIsCSJmcmVtb3ZleGF0dHIiCX0sIC8qIDE4OSAqLworCXsgMiwJMCwJc3lzX2tpbGwsCQkidGtpbGwiCQl9LCAvKiAxOTAgKi8KKwl7IDQsCVREfFROLAlzeXNfc2VuZGZpbGU2NCwJCSJzZW5kZmlsZTY0Igl9LCAvKiAxOTEgKi8KKwl7IDYsCTAsCXN5c19mdXRleCwJCSJmdXRleCIJCX0sIC8qIDE5MiAqLworCXsgMywJMCwJc3lzX3NjaGVkX3NldGFmZmluaXR5LAkic2NoZWRfc2V0YWZmaW5pdHkiIH0sLyogMTkzICovCisJeyAzLAkwLAlzeXNfc2NoZWRfZ2V0YWZmaW5pdHksCSJzY2hlZF9nZXRhZmZpbml0eSIgfSwvKiAxOTQgKi8KKwl7IDIsCTAsCXN5c19jYXBnZXQsCQkiY2FwZ2V0Igl9LCAvKiAxOTUgKi8KKwl7IDIsCTAsCXN5c19jYXBzZXQsCQkiY2Fwc2V0Igl9LCAvKiAxOTYgKi8KKwl7IDIsCTAsCXN5c19pb19zZXR1cCwJCSJpb19zZXR1cCIJfSwgLyogMTk3ICovCisJeyAxLAkwLAlzeXNfaW9fZGVzdHJveSwJCSJpb19kZXN0cm95Igl9LCAvKiAxOTggKi8KKwl7IDUsCTAsCXN5c19pb19nZXRldmVudHMsCSJpb19nZXRldmVudHMiCX0sIC8qIDE5OSAqLworCXsgMywJMCwJc3lzX2lvX3N1Ym1pdCwJCSJpb19zdWJtaXQiCX0sIC8qIDIwMCAqLworCXsgMywJMCwJc3lzX2lvX2NhbmNlbCwJCSJpb19jYW5jZWwiCX0sIC8qIDIwMSAqLworCXsgNSwJMCwJc3lzX2ZhZHZpc2U2NCwJCSJmYWR2aXNlNjQiCX0sIC8qIDIwMiAqLworCXsgMSwJVFAsCXN5c19leGl0LAkJImV4aXRfZ3JvdXAiCX0sIC8qIDIwMyAqLworCXsgNCwJMCwJcHJpbnRhcmdzLAkJImxvb2t1cF9kY29va2llIn0sIC8qIDIwNCAqLworCXsgMSwJMCwJc3lzX2Vwb2xsX2NyZWF0ZSwJImVwb2xsX2NyZWF0ZSIJfSwgLyogMjA1ICovCisJeyA0LAlURCwJc3lzX2Vwb2xsX2N0bCwJCSJlcG9sbF9jdGwiCX0sIC8qIDIwNiAqLworCXsgNCwJVEQsCXN5c19lcG9sbF93YWl0LAkJImVwb2xsX3dhaXQiCX0sIC8qIDIwNyAqLworCXsgNSwJMCwJc3lzX3JlbWFwX2ZpbGVfcGFnZXMsCSJyZW1hcF9maWxlX3BhZ2VzIn0sIC8qIDIwOCAqLworCXsgMSwJMCwJcHJpbnRhcmdzLAkJInNldF90aWRfYWRkcmVzcyJ9LCAvKiAyMDkgKi8KKwl7IDMsCTAsCXN5c190aW1lcl9jcmVhdGUsCSJ0aW1lcl9jcmVhdGUiCX0sIC8qIDIxMCAqLworCXsgNCwJMCwJc3lzX3RpbWVyX3NldHRpbWUsCSJ0aW1lcl9zZXR0aW1lIgl9LCAvKiAyMTEgKi8KKwl7IDIsCTAsCXN5c190aW1lcl9nZXR0aW1lLAkidGltZXJfZ2V0dGltZSIJfSwgLyogMjEyICovCisJeyAxLAkwLAlzeXNfdGltZXJfZ2V0b3ZlcnJ1biwJInRpbWVyX2dldG92ZXJydW4ifSwgLyogMjEzICovCisJeyAxLAkwLAlzeXNfdGltZXJfZGVsZXRlLAkidGltZXJfZGVsZXRlIgl9LCAvKiAyMTQgKi8KKwl7IDIsCTAsCXN5c19jbG9ja19zZXR0aW1lLAkiY2xvY2tfc2V0dGltZSIJfSwgLyogMjE1ICovCisJeyAyLAkwLAlzeXNfY2xvY2tfZ2V0dGltZSwJImNsb2NrX2dldHRpbWUiCX0sIC8qIDIxNiAqLworCXsgMiwJMCwJc3lzX2Nsb2NrX2dldHJlcywJImNsb2NrX2dldHJlcyIJfSwgLyogMjE3ICovCisJeyA0LAkwLAlzeXNfY2xvY2tfbmFub3NsZWVwLAkiY2xvY2tfbmFub3NsZWVwIn0sIC8qIDIxOCAqLworCXsgMywJVEYsCXN5c19zdGF0ZnM2NCwJCSJzdGF0ZnM2NCIJfSwgLyogMjE5ICovCisJeyAzLAlURCwJc3lzX2ZzdGF0ZnM2NCwJCSJmc3RhdGZzNjQiCX0sIC8qIDIyMCAqLworCXsgMywJVFMsCXN5c190Z2tpbGwsCQkidGdraWxsIgl9LCAvKiAyMjEgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMjIyIgl9LCAvKiAyMjIgKi8KKwl7IDIsCVRGLAlzeXNfdXRpbWVzLAkJInV0aW1lcyIJfSwgLyogMjIzICovCisJeyA2LAkwLAlzeXNfZmFkdmlzZTY0XzY0LAkiZmFkdmlzZTY0XzY0Igl9LCAvKiAyMjQgKi8KKwl7IDMsCTAsCXByaW50YXJncywJCSJjYWNoZWZsdXNoIgl9LCAvKiAyMjUgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJ2c2VydmVyIgl9LCAvKiAyMjYgKi8KKwl7IDQsCTAsCXN5c19tcV9vcGVuLAkJIm1xX29wZW4iCX0sIC8qIDIyNyAqLworCXsgMSwJMCwJc3lzX21xX3VubGluaywJCSJtcV91bmxpbmsiCX0sIC8qIDIyOCAqLworCXsgNSwJMCwJc3lzX21xX3RpbWVkc2VuZCwJIm1xX3RpbWVkc2VuZCIJfSwgLyogMjI5ICovCisJeyA1LAkwLAlzeXNfbXFfdGltZWRyZWNlaXZlLAkibXFfdGltZWRyZWNlaXZlIiB9LCAvKiAyMzAgKi8KKwl7IDIsCTAsCXN5c19tcV9ub3RpZnksCQkibXFfbm90aWZ5Igl9LCAvKiAyMzEgKi8KKwl7IDMsCTAsCXN5c19tcV9nZXRzZXRhdHRyLAkibXFfZ2V0c2V0YXR0ciIgfSwgLyogMjMyICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkia2V4ZWNfbG9hZCIJfSwgLyogMjMzICovCisJeyA1LAlUUCwJc3lzX3dhaXRpZCwJCSJ3YWl0aWQiCX0sIC8qIDIzNCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJImFkZF9rZXkiCX0sIC8qIDIzNSAqLworCXsgNCwJMCwJcHJpbnRhcmdzLAkJInJlcXVlc3Rfa2V5Igl9LCAvKiAyMzYgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJrZXljdGwiCX0sIC8qIDIzNyAqLworCXsgMywJMCwJcHJpbnRhcmdzLAkJImlvcHJpb19zZXQiCX0sIC8qIDIzOCAqLworCXsgMiwJMCwJcHJpbnRhcmdzLAkJImlvcHJpb19nZXQiCX0sIC8qIDIzOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImlub3RpZnlfaW5pdCIJfSwgLyogMjQwICovCisJeyAzLAlURCwJc3lzX2lub3RpZnlfYWRkX3dhdGNoLAkiaW5vdGlmeV9hZGRfd2F0Y2giIH0sIC8qIDI0MSAqLworCXsgMiwJVEQsCXN5c19pbm90aWZ5X3JtX3dhdGNoLAkiaW5vdGlmeV9ybV93YXRjaCIgfSwgLyogMjQyICovCisJeyA0LAlURHxURiwJc3lzX29wZW5hdCwJCSJvcGVuYXQiCX0sIC8qIDI0MyAqLworCXsgMywJVER8VEYsCXN5c19ta2RpcmF0LAkJIm1rZGlyYXQiCX0sIC8qIDI0NCAqLworCXsgNCwJVER8VEYsCXN5c19ta25vZGF0LAkJIm1rbm9kYXQiCX0sIC8qIDI0NSAqLworCXsgNSwJVER8VEYsCXN5c19mY2hvd25hdCwJCSJmY2hvd25hdCIJfSwgLyogMjQ2ICovCisJeyAzLAlURHxURiwJc3lzX2Z1dGltZXNhdCwJCSJmdXRpbWVzYXQiCX0sIC8qIDI0NyAqLworCXsgNCwJVER8VEYsCXByaW50YXJncywJCSJmc3RhdGF0NjQiCX0sIC8qIDI0OCAqLworCXsgMywJVER8VEYsCXN5c191bmxpbmthdCwJCSJ1bmxpbmthdCIJfSwgLyogMjQ5ICovCisJeyA0LAlURHxURiwJc3lzX3JlbmFtZWF0LAkJInJlbmFtZWF0Igl9LCAvKiAyNTAgKi8KKwl7IDUsCVREfFRGLAlzeXNfbGlua2F0LAkJImxpbmthdCIJfSwgLyogMjUxICovCisJeyAzLAlURHxURiwJc3lzX3N5bWxpbmthdCwJCSJzeW1saW5rYXQiCX0sIC8qIDI1MiAqLworCXsgNCwJVER8VEYsCXN5c19yZWFkbGlua2F0LAkJInJlYWRsaW5rYXQiCX0sIC8qIDI1MyAqLworCXsgMywJVER8VEYsCXN5c19mY2htb2RhdCwJCSJmY2htb2RhdCIJfSwgLyogMjU0ICovCisJeyAzLAlURHxURiwJc3lzX2ZhY2Nlc3NhdCwJCSJmYWNjZXNzYXQiCX0sIC8qIDI1NSAqLworCXsgNiwJVEQsCXN5c19wc2VsZWN0NiwJCSJwc2VsZWN0NiIJfSwgLyogMjU2ICovCisJeyA1LAlURCwJc3lzX3Bwb2xsLAkJInBwb2xsIgkJfSwgLyogMjU3ICovCisJeyAxLAlURCwJc3lzX3Vuc2hhcmUsCQkidW5zaGFyZSIJfSwgLyogMjU4ICovCisJeyAyLAkwLAlwcmludGFyZ3MsCQkic2V0X3JvYnVzdF9saXN0IiB9LCAvKiAyNTkgKi8KKwl7IDMsCTAsCXByaW50YXJncywJCSJnZXRfcm9idXN0X2xpc3QiIH0sIC8qIDI2MCAqLworCXsgNiwJVEQsCXByaW50YXJncywJCSJzcGxpY2UiCX0sIC8qIDI2MSAqLworCXsgNCwJVEQsCXByaW50YXJncywJCSJzeW5jX2ZpbGVfcmFuZ2UiIH0sIC8qIDI2MiAqLworCXsgNCwJVEQsCXByaW50YXJncywJCSJ0ZWUiCQl9LCAvKiAyNjMgKi8KKwl7IDQsCVRELAlwcmludGFyZ3MsCQkidm1zcGxpY2UiCX0sIC8qIDI2NCAqLworCXsgNSwJVEQsCXN5c19lcG9sbF9wd2FpdCwJImVwb2xsX3B3YWl0IiAgIH0sIC8qIDI2NSAqLworCXsgNCwJVEksCXN5c19tc2dnZXQsCQkibXNnZ2V0Igl9LCAvKiAyNjYgKi8KKwl7IDQsCVRJLAlzeXNfbXNnc25kLAkJIm1zZ3NuZCIJfSwgLyogMjY3ICovCisJeyA1LAlUSSwJc3lzX21zZ3JjdiwJCSJtc2dyY3YiCX0sIC8qIDI2OCAqLworCXsgMywJVEksCXN5c19tc2djdGwsCQkibXNnY3RsIgl9LCAvKiAyNjkgKi8KKwl7IDQsCVRJLAlzeXNfc2VtZ2V0LAkJInNlbWdldCIJfSwgLyogMjcwICovCisJeyA0LAlUSSwJc3lzX3NlbW9wLAkJInNlbW9wIgkJfSwgLyogMjcxICovCisJeyA0LAlUSSwJc3lzX3NlbWN0bCwJCSJzZW1jdGwiCX0sIC8qIDI3MiAqLworCXsgNSwJVEksCXN5c19zZW10aW1lZG9wLAkJInNlbXRpbWVkb3AiCX0sIC8qIDI3MyAqLworCXsgNCwJVEksCXN5c19zaG1hdCwJCSJzaG1hdCIJCX0sIC8qIDI3NCAqLworCXsgNCwJVEksCXN5c19zaG1nZXQsCQkic2htZ2V0Igl9LCAvKiAyNzUgKi8KKwl7IDQsCVRJLAlzeXNfc2htZHQsCQkic2htZHQiCQl9LCAvKiAyNzYgKi8KKwl7IDQsCVRJLAlzeXNfc2htY3RsLAkJInNobWN0bCIJfSwgLyogMjc3ICovCisJeyA0LAlURHxURiwJc3lzX3V0aW1lbnNhdCwJCSJ1dGltZW5zYXQiCX0sIC8qIDI3OCAqLworCXsgMywJVER8VFMsCXN5c19zaWduYWxmZCwJCSJzaWduYWxmZCIJfSwgLyogMjc5ICovCisJeyAyLAlURCwJc3lzX3RpbWVyZmQsCQkidGltZXJmZF9jcmVhdGUiIH0sIC8qIDI4MCAqLworCXsgMSwJVEQsCXN5c19ldmVudGZkLAkJImV2ZW50ZmQiCX0sIC8qIDI4MSAqLwpkaWZmIC0tZ2l0IGEvc3RyYWNlLTQuNS4yMC9saW51eC9iZmluL2lvY3RsZW50LmggYi9zdHJhY2UtNC41LjIwL2xpbnV4L2JmaW4vaW9jdGxlbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40Yjc4ZmRmCi0tLSAvZGV2L251bGwKKysrIGIvc3RyYWNlLTQuNS4yMC9saW51eC9iZmluL2lvY3RsZW50LmgKQEAgLTAsMCArMSwxOTQ5IEBACisJLyogR2VuZXJhdGVkIGJ5IGlvY3Rsc29ydCAqLworCXsibGludXgvZnMuaCIsCSJGSUJNQVAiLAkweDF9LAorCXsibGludXgvZnMuaCIsCSJGSUdFVEJTWiIsCTB4Mn0sCisJeyJsaW51eC9mZC5oIiwJIkZER0VUUFJNIiwJMHgyMDR9LAorCXsibGludXgvZmQuaCIsCSJGREdFVE1BWEVSUlMiLAkweDIwZX0sCisJeyJsaW51eC9mZC5oIiwJIkZER0VURFJWVFlQIiwJMHgyMGZ9LAorCXsibGludXgvZmQuaCIsCSJGREdFVERSVlBSTSIsCTB4MjExfSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRHRVREUlZTVEFUIiwJMHgyMTJ9LAorCXsibGludXgvZmQuaCIsCSJGRFBPTExEUlZTVEFUIiwJMHgyMTN9LAorCXsibGludXgvZmQuaCIsCSJGREdFVEZEQ1NUQVQiLAkweDIxNX0sCisJeyJsaW51eC9mZC5oIiwJIkZEV0VSUk9SR0VUIiwJMHgyMTd9LAorCXsibGludXgvZmQuaCIsCSJGRENMUlBSTSIsCTB4MjQxfSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRTRVRQUk0iLAkweDI0Mn0sCisJeyJsaW51eC9mZC5oIiwJIkZEREVGUFJNIiwJMHgyNDN9LAorCXsibGludXgvZmQuaCIsCSJGRE1TR09OIiwJMHgyNDV9LAorCXsibGludXgvZmQuaCIsCSJGRE1TR09GRiIsCTB4MjQ2fSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRGTVRCRUciLAkweDI0N30sCisJeyJsaW51eC9mZC5oIiwJIkZERk1UVFJLIiwJMHgyNDh9LAorCXsibGludXgvZmQuaCIsCSJGREZNVEVORCIsCTB4MjQ5fSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRTRVRFTVNHVFJFU0giLAkweDI0YX0sCisJeyJsaW51eC9mZC5oIiwJIkZERkxVU0giLAkweDI0Yn0sCisJeyJsaW51eC9mZC5oIiwJIkZEU0VUTUFYRVJSUyIsCTB4MjRjfSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRSRVNFVCIsCTB4MjU0fSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRXRVJST1JDTFIiLAkweDI1Nn0sCisJeyJsaW51eC9mZC5oIiwJIkZEUkFXQ01EIiwJMHgyNTh9LAorCXsibGludXgvZmQuaCIsCSJGRFRXQURETEUiLAkweDI1OX0sCisJeyJsaW51eC9mZC5oIiwJIkZERUpFQ1QiLAkweDI1YX0sCisJeyJsaW51eC9mZC5oIiwJIkZEU0VURFJWUFJNIiwJMHgyOTB9LAorCXsibGludXgvcmFpZC9tZF91LmgiLAkiUkFJRF9WRVJTSU9OIiwJMHg5MTB9LAorCXsibGludXgvcmFpZC9tZF91LmgiLAkiR0VUX0FSUkFZX0lORk8iLAkweDkxMX0sCisJeyJsaW51eC9yYWlkL21kX3UuaCIsCSJHRVRfRElTS19JTkZPIiwJMHg5MTJ9LAorCXsibGludXgvcmFpZC9tZF91LmgiLAkiUFJJTlRfUkFJRF9ERUJVRyIsCTB4OTEzfSwKKwl7ImxpbnV4L3JhaWQvbWRfdS5oIiwJIlJBSURfQVVUT1JVTiIsCTB4OTE0fSwKKwl7ImxpbnV4L3JhaWQvbWRfdS5oIiwJIkdFVF9CSVRNQVBfRklMRSIsCTB4OTE1fSwKKwl7ImxpbnV4L3JhaWQvbWRfdS5oIiwJIkNMRUFSX0FSUkFZIiwJMHg5MjB9LAorCXsibGludXgvcmFpZC9tZF91LmgiLAkiQUREX05FV19ESVNLIiwJMHg5MjF9LAorCXsibGludXgvcmFpZC9tZF91LmgiLAkiSE9UX1JFTU9WRV9ESVNLIiwJMHg5MjJ9LAorCXsibGludXgvcmFpZC9tZF91LmgiLAkiU0VUX0FSUkFZX0lORk8iLAkweDkyM30sCisJeyJsaW51eC9yYWlkL21kX3UuaCIsCSJTRVRfRElTS19JTkZPIiwJMHg5MjR9LAorCXsibGludXgvcmFpZC9tZF91LmgiLAkiV1JJVEVfUkFJRF9JTkZPIiwJMHg5MjV9LAorCXsibGludXgvcmFpZC9tZF91LmgiLAkiVU5QUk9URUNUX0FSUkFZIiwJMHg5MjZ9LAorCXsibGludXgvcmFpZC9tZF91LmgiLAkiUFJPVEVDVF9BUlJBWSIsCTB4OTI3fSwKKwl7ImxpbnV4L3JhaWQvbWRfdS5oIiwJIkhPVF9BRERfRElTSyIsCTB4OTI4fSwKKwl7ImxpbnV4L3JhaWQvbWRfdS5oIiwJIlNFVF9ESVNLX0ZBVUxUWSIsCTB4OTI5fSwKKwl7ImxpbnV4L3JhaWQvbWRfdS5oIiwJIkhPVF9HRU5FUkFURV9FUlJPUiIsCTB4OTJhfSwKKwl7ImxpbnV4L3JhaWQvbWRfdS5oIiwJIlNFVF9CSVRNQVBfRklMRSIsCTB4OTJifSwKKwl7ImxpbnV4L3JhaWQvbWRfdS5oIiwJIlJVTl9BUlJBWSIsCTB4OTMwfSwKKwl7ImxpbnV4L3JhaWQvbWRfdS5oIiwJIlNUT1BfQVJSQVkiLAkweDkzMn0sCisJeyJsaW51eC9yYWlkL21kX3UuaCIsCSJTVE9QX0FSUkFZX1JPIiwJMHg5MzN9LAorCXsibGludXgvcmFpZC9tZF91LmgiLAkiUkVTVEFSVF9BUlJBWV9SVyIsCTB4OTM0fSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLUk9TRVQiLAkweDEyNWR9LAorCXsibGludXgvZnMuaCIsCSJCTEtST0dFVCIsCTB4MTI1ZX0sCisJeyJsaW51eC9mcy5oIiwJIkJMS1JSUEFSVCIsCTB4MTI1Zn0sCisJeyJsaW51eC9mcy5oIiwJIkJMS0dFVFNJWkUiLAkweDEyNjB9LAorCXsibGludXgvZnMuaCIsCSJCTEtGTFNCVUYiLAkweDEyNjF9LAorCXsibGludXgvZnMuaCIsCSJCTEtSQVNFVCIsCTB4MTI2Mn0sCisJeyJsaW51eC9mcy5oIiwJIkJMS1JBR0VUIiwJMHgxMjYzfSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLRlJBU0VUIiwJMHgxMjY0fSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLRlJBR0VUIiwJMHgxMjY1fSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLU0VDVFNFVCIsCTB4MTI2Nn0sCisJeyJsaW51eC9mcy5oIiwJIkJMS1NFQ1RHRVQiLAkweDEyNjd9LAorCXsibGludXgvZnMuaCIsCSJCTEtTU1pHRVQiLAkweDEyNjh9LAorCXsibGludXgvYmxrcGcuaCIsCSJCTEtQRyIsCTB4MTI2OX0sCisJeyJsaW51eC9mcy5oIiwJIkJMS0VMVkdFVCIsCTB4MTI2YX0sCisJeyJsaW51eC9mcy5oIiwJIkJMS0VMVlNFVCIsCTB4MTI2Yn0sCisJeyJsaW51eC9mcy5oIiwJIkJMS0JTWkdFVCIsCTB4MTI3MH0sCisJeyJsaW51eC9mcy5oIiwJIkJMS0JTWlNFVCIsCTB4MTI3MX0sCisJeyJsaW51eC9mcy5oIiwJIkJMS0dFVFNJWkU2NCIsCTB4MTI3Mn0sCisJeyJsaW51eC9mcy5oIiwJIkJMS1RSQUNFU0VUVVAiLAkweDEyNzN9LAorCXsibGludXgvZnMuaCIsCSJCTEtUUkFDRVNUQVJUIiwJMHgxMjc0fSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLVFJBQ0VTVE9QIiwJMHgxMjc1fSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLVFJBQ0VURUFSRE9XTiIsCTB4MTI3Nn0sCisJeyJsaW51eC9mcy5oIiwJIkJMS0RJU0NBUkQiLAkweDEyNzd9LAorCXsicmRtYS9pYl91c2VyX21hZC5oIiwJIklCX1VTRVJfTUFEX1JFR0lTVEVSX0FHRU5UIiwJMHgxYjAxfSwKKwl7InJkbWEvaWJfdXNlcl9tYWQuaCIsCSJJQl9VU0VSX01BRF9VTlJFR0lTVEVSX0FHRU5UIiwJMHgxYjAyfSwKKwl7InJkbWEvaWJfdXNlcl9tYWQuaCIsCSJJQl9VU0VSX01BRF9FTkFCTEVfUEtFWSIsCTB4MWIwM30sCisJeyJzY3NpL3NnLmgiLAkiU0dfU0VUX1RJTUVPVVQiLAkweDIyMDF9LAorCXsic2NzaS9zZy5oIiwJIlNHX0dFVF9USU1FT1VUIiwJMHgyMjAyfSwKKwl7InNjc2kvc2cuaCIsCSJTR19FTVVMQVRFRF9IT1NUIiwJMHgyMjAzfSwKKwl7InNjc2kvc2cuaCIsCSJTR19TRVRfVFJBTlNGT1JNIiwJMHgyMjA0fSwKKwl7InNjc2kvc2cuaCIsCSJTR19HRVRfVFJBTlNGT1JNIiwJMHgyMjA1fSwKKwl7InNjc2kvc2cuaCIsCSJTR19HRVRfQ09NTUFORF9RIiwJMHgyMjcwfSwKKwl7InNjc2kvc2cuaCIsCSJTR19TRVRfQ09NTUFORF9RIiwJMHgyMjcxfSwKKwl7InNjc2kvc2cuaCIsCSJTR19HRVRfUkVTRVJWRURfU0laRSIsCTB4MjI3Mn0sCisJeyJzY3NpL3NnLmgiLAkiU0dfU0VUX1JFU0VSVkVEX1NJWkUiLAkweDIyNzV9LAorCXsic2NzaS9zZy5oIiwJIlNHX0dFVF9TQ1NJX0lEIiwJMHgyMjc2fSwKKwl7InNjc2kvc2cuaCIsCSJTR19TRVRfRk9SQ0VfTE9XX0RNQSIsCTB4MjI3OX0sCisJeyJzY3NpL3NnLmgiLAkiU0dfR0VUX0xPV19ETUEiLAkweDIyN2F9LAorCXsic2NzaS9zZy5oIiwJIlNHX1NFVF9GT1JDRV9QQUNLX0lEIiwJMHgyMjdifSwKKwl7InNjc2kvc2cuaCIsCSJTR19HRVRfUEFDS19JRCIsCTB4MjI3Y30sCisJeyJzY3NpL3NnLmgiLAkiU0dfR0VUX05VTV9XQUlUSU5HIiwJMHgyMjdkfSwKKwl7InNjc2kvc2cuaCIsCSJTR19TRVRfREVCVUciLAkweDIyN2V9LAorCXsic2NzaS9zZy5oIiwJIlNHX0dFVF9TR19UQUJMRVNJWkUiLAkweDIyN2Z9LAorCXsic2NzaS9zZy5oIiwJIlNHX0dFVF9WRVJTSU9OX05VTSIsCTB4MjI4Mn0sCisJeyJzY3NpL3NnLmgiLAkiU0dfTkVYVF9DTURfTEVOIiwJMHgyMjgzfSwKKwl7InNjc2kvc2cuaCIsCSJTR19TQ1NJX1JFU0VUIiwJMHgyMjg0fSwKKwl7InNjc2kvc2cuaCIsCSJTR19JTyIsCTB4MjI4NX0sCisJeyJzY3NpL3NnLmgiLAkiU0dfR0VUX1JFUVVFU1RfVEFCTEUiLAkweDIyODZ9LAorCXsic2NzaS9zZy5oIiwJIlNHX1NFVF9LRUVQX09SUEhBTiIsCTB4MjI4N30sCisJeyJzY3NpL3NnLmgiLAkiU0dfR0VUX0tFRVBfT1JQSEFOIiwJMHgyMjg4fSwKKwl7InNjc2kvc2cuaCIsCSJTR19HRVRfQUNDRVNTX0NPVU5UIiwJMHgyMjg5fSwKKwl7ImxpbnV4L2ZpcmV3aXJlLWNkZXYuaCIsCSJGV19DREVWX0lPQ19HRVRfSU5GTyIsCTB4MjMwMH0sCisJeyJsaW51eC9maXJld2lyZS1jZGV2LmgiLAkiRldfQ0RFVl9JT0NfU0VORF9SRVFVRVNUIiwJMHgyMzAxfSwKKwl7ImxpbnV4L2ZpcmV3aXJlLWNkZXYuaCIsCSJGV19DREVWX0lPQ19BTExPQ0FURSIsCTB4MjMwMn0sCisJeyJsaW51eC9maXJld2lyZS1jZGV2LmgiLAkiRldfQ0RFVl9JT0NfREVBTExPQ0FURSIsCTB4MjMwM30sCisJeyJsaW51eC9maXJld2lyZS1jZGV2LmgiLAkiRldfQ0RFVl9JT0NfU0VORF9SRVNQT05TRSIsCTB4MjMwNH0sCisJeyJsaW51eC9maXJld2lyZS1jZGV2LmgiLAkiRldfQ0RFVl9JT0NfSU5JVElBVEVfQlVTX1JFU0VUIiwJMHgyMzA1fSwKKwl7ImxpbnV4L2ZpcmV3aXJlLWNkZXYuaCIsCSJGV19DREVWX0lPQ19BRERfREVTQ1JJUFRPUiIsCTB4MjMwNn0sCisJeyJsaW51eC9maXJld2lyZS1jZGV2LmgiLAkiRldfQ0RFVl9JT0NfUkVNT1ZFX0RFU0NSSVBUT1IiLAkweDIzMDd9LAorCXsibGludXgvZmlyZXdpcmUtY2Rldi5oIiwJIkZXX0NERVZfSU9DX0NSRUFURV9JU09fQ09OVEVYVCIsCTB4MjMwOH0sCisJeyJsaW51eC9maXJld2lyZS1jZGV2LmgiLAkiRldfQ0RFVl9JT0NfUVVFVUVfSVNPIiwJMHgyMzA5fSwKKwl7ImxpbnV4L2ZpcmV3aXJlLWNkZXYuaCIsCSJGV19DREVWX0lPQ19TVEFSVF9JU08iLAkweDIzMGF9LAorCXsibGludXgvZmlyZXdpcmUtY2Rldi5oIiwJIkZXX0NERVZfSU9DX1NUT1BfSVNPIiwJMHgyMzBifSwKKwl7ImxpbnV4L2ZpcmV3aXJlLWNkZXYuaCIsCSJGV19DREVWX0lPQ19HRVRfQ1lDTEVfVElNRVIiLAkweDIzMGN9LAorCXsibGludXgvZmlyZXdpcmUtY2Rldi5oIiwJIkZXX0NERVZfSU9DX0FMTE9DQVRFX0lTT19SRVNPVVJDRSIsCTB4MjMwZH0sCisJeyJsaW51eC9maXJld2lyZS1jZGV2LmgiLAkiRldfQ0RFVl9JT0NfREVBTExPQ0FURV9JU09fUkVTT1VSQ0UiLAkweDIzMGV9LAorCXsibGludXgvZmlyZXdpcmUtY2Rldi5oIiwJIkZXX0NERVZfSU9DX0FMTE9DQVRFX0lTT19SRVNPVVJDRV9PTkNFIiwJMHgyMzBmfSwKKwl7ImxpbnV4L2ZpcmV3aXJlLWNkZXYuaCIsCSJGV19DREVWX0lPQ19ERUFMTE9DQVRFX0lTT19SRVNPVVJDRV9PTkNFIiwJMHgyMzEwfSwKKwl7ImxpbnV4L2ZpcmV3aXJlLWNkZXYuaCIsCSJGV19DREVWX0lPQ19HRVRfU1BFRUQiLAkweDIzMTF9LAorCXsibGludXgvZmlyZXdpcmUtY2Rldi5oIiwJIkZXX0NERVZfSU9DX1NFTkRfQlJPQURDQVNUX1JFUVVFU1QiLAkweDIzMTJ9LAorCXsibGludXgvZmlyZXdpcmUtY2Rldi5oIiwJIkZXX0NERVZfSU9DX1NFTkRfU1RSRUFNX1BBQ0tFVCIsCTB4MjMxM30sCisJeyJsaW51eC9wZXJmX2NvdW50ZXIuaCIsCSJQRVJGX0NPVU5URVJfSU9DX0VOQUJMRSIsCTB4MjQwMH0sCisJeyJsaW51eC9wZXJmX2NvdW50ZXIuaCIsCSJQRVJGX0NPVU5URVJfSU9DX0RJU0FCTEUiLAkweDI0MDF9LAorCXsibGludXgvcGVyZl9jb3VudGVyLmgiLAkiUEVSRl9DT1VOVEVSX0lPQ19SRUZSRVNIIiwJMHgyNDAyfSwKKwl7ImxpbnV4L3BlcmZfY291bnRlci5oIiwJIlBFUkZfQ09VTlRFUl9JT0NfUkVTRVQiLAkweDI0MDN9LAorCXsibGludXgvcGVyZl9jb3VudGVyLmgiLAkiUEVSRl9DT1VOVEVSX0lPQ19QRVJJT0QiLAkweDI0MDR9LAorCXsibGludXgvaTJvLmgiLAkiQkxLSTJPR1JTVFJBVCIsCTB4MzIwMX0sCisJeyJsaW51eC9pMm8uaCIsCSJCTEtJMk9HV1NUUkFUIiwJMHgzMjAyfSwKKwl7ImxpbnV4L2kyby5oIiwJIkJMS0kyT1NSU1RSQVQiLAkweDMyMDN9LAorCXsibGludXgvaTJvLmgiLAkiQkxLSTJPU1dTVFJBVCIsCTB4MzIwNH0sCisJeyJsaW51eC9zdXNwZW5kX2lvY3Rscy5oIiwJIlNOQVBTSE9UX0ZSRUVaRSIsCTB4MzMwMX0sCisJeyJsaW51eC9zdXNwZW5kX2lvY3Rscy5oIiwJIlNOQVBTSE9UX1VORlJFRVpFIiwJMHgzMzAyfSwKKwl7ImxpbnV4L3N1c3BlbmRfaW9jdGxzLmgiLAkiU05BUFNIT1RfQVRPTUlDX1JFU1RPUkUiLAkweDMzMDR9LAorCXsibGludXgvc3VzcGVuZF9pb2N0bHMuaCIsCSJTTkFQU0hPVF9GUkVFIiwJMHgzMzA1fSwKKwl7ImxpbnV4L3N1c3BlbmRfaW9jdGxzLmgiLAkiU05BUFNIT1RfRlJFRV9TV0FQX1BBR0VTIiwJMHgzMzA5fSwKKwl7ImxpbnV4L3N1c3BlbmRfaW9jdGxzLmgiLAkiU05BUFNIT1RfUzJSQU0iLAkweDMzMGJ9LAorCXsibGludXgvc3VzcGVuZF9pb2N0bHMuaCIsCSJTTkFQU0hPVF9TRVRfU1dBUF9BUkVBIiwJMHgzMzBkfSwKKwl7ImxpbnV4L3N1c3BlbmRfaW9jdGxzLmgiLAkiU05BUFNIT1RfR0VUX0lNQUdFX1NJWkUiLAkweDMzMGV9LAorCXsibGludXgvc3VzcGVuZF9pb2N0bHMuaCIsCSJTTkFQU0hPVF9QTEFURk9STV9TVVBQT1JUIiwJMHgzMzBmfSwKKwl7ImxpbnV4L3N1c3BlbmRfaW9jdGxzLmgiLAkiU05BUFNIT1RfUE9XRVJfT0ZGIiwJMHgzMzEwfSwKKwl7ImxpbnV4L3N1c3BlbmRfaW9jdGxzLmgiLAkiU05BUFNIT1RfQ1JFQVRFX0lNQUdFIiwJMHgzMzExfSwKKwl7ImxpbnV4L3N1c3BlbmRfaW9jdGxzLmgiLAkiU05BUFNIT1RfUFJFRl9JTUFHRV9TSVpFIiwJMHgzMzEyfSwKKwl7ImxpbnV4L3N1c3BlbmRfaW9jdGxzLmgiLAkiU05BUFNIT1RfQVZBSUxfU1dBUF9TSVpFIiwJMHgzMzEzfSwKKwl7ImxpbnV4L3N1c3BlbmRfaW9jdGxzLmgiLAkiU05BUFNIT1RfQUxMT0NfU1dBUF9QQUdFIiwJMHgzMzE0fSwKKwl7ImxpbnV4L3JhZGVvbmZiLmgiLAkiRkJJT19SQURFT05fR0VUX01JUlJPUiIsCTB4NDAwM30sCisJeyJsaW51eC9yYWRlb25mYi5oIiwJIkZCSU9fUkFERU9OX1NFVF9NSVJST1IiLAkweDQwMDR9LAorCXsibGludXgvYWdwZ2FydC5oIiwJIkFHUElPQ19JTkZPIiwJMHg0MTAwfSwKKwl7InNvdW5kL2Fzb3VuZC5oIiwJIlNORFJWX1BDTV9JT0NUTF9QVkVSU0lPTiIsCTB4NDEwMH0sCisJeyJsaW51eC9hZ3BnYXJ0LmgiLAkiQUdQSU9DX0FDUVVJUkUiLAkweDQxMDF9LAorCXsibGludXgvYXBtX2Jpb3MuaCIsCSJBUE1fSU9DX1NUQU5EQlkiLAkweDQxMDF9LAorCXsic291bmQvYXNvdW5kLmgiLAkiU05EUlZfUENNX0lPQ1RMX0lORk8iLAkweDQxMDF9LAorCXsibGludXgvYWdwZ2FydC5oIiwJIkFHUElPQ19SRUxFQVNFIiwJMHg0MTAyfSwKKwl7ImxpbnV4L2FwbV9iaW9zLmgiLAkiQVBNX0lPQ19TVVNQRU5EIiwJMHg0MTAyfSwKKwl7InNvdW5kL2Fzb3VuZC5oIiwJIlNORFJWX1BDTV9JT0NUTF9UU1RBTVAiLAkweDQxMDJ9LAorCXsibGludXgvYWdwZ2FydC5oIiwJIkFHUElPQ19TRVRVUCIsCTB4NDEwM30sCisJeyJzb3VuZC9hc291bmQuaCIsCSJTTkRSVl9QQ01fSU9DVExfVFRTVEFNUCIsCTB4NDEwM30sCisJeyJsaW51eC9hZ3BnYXJ0LmgiLAkiQUdQSU9DX1JFU0VSVkUiLAkweDQxMDR9LAorCXsibGludXgvYWdwZ2FydC5oIiwJIkFHUElPQ19QUk9URUNUIiwJMHg0MTA1fSwKKwl7ImxpbnV4L2FncGdhcnQuaCIsCSJBR1BJT0NfQUxMT0NBVEUiLAkweDQxMDZ9LAorCXsibGludXgvYWdwZ2FydC5oIiwJIkFHUElPQ19ERUFMTE9DQVRFIiwJMHg0MTA3fSwKKwl7ImxpbnV4L2FncGdhcnQuaCIsCSJBR1BJT0NfQklORCIsCTB4NDEwOH0sCisJeyJsaW51eC9hZ3BnYXJ0LmgiLAkiQUdQSU9DX1VOQklORCIsCTB4NDEwOX0sCisJeyJsaW51eC9hZ3BnYXJ0LmgiLAkiQUdQSU9DX0NISVBTRVRfRkxVU0giLAkweDQxMGF9LAorCXsic291bmQvYXNvdW5kLmgiLAkiU05EUlZfUENNX0lPQ1RMX0hXX1JFRklORSIsCTB4NDExMH0sCisJeyJzb3VuZC9hc291bmQuaCIsCSJTTkRSVl9QQ01fSU9DVExfSFdfUEFSQU1TIiwJMHg0MTExfSwKKwl7InNvdW5kL2Fzb3VuZC5oIiwJIlNORFJWX1BDTV9JT0NUTF9IV19GUkVFIiwJMHg0MTEyfSwKKwl7InNvdW5kL2Fzb3VuZC5oIiwJIlNORFJWX1BDTV9JT0NUTF9TV19QQVJBTVMiLAkweDQxMTN9LAorCXsic291bmQvYXNvdW5kLmgiLAkiU05EUlZfUENNX0lPQ1RMX1NUQVRVUyIsCTB4NDEyMH0sCisJeyJzb3VuZC9hc291bmQuaCIsCSJTTkRSVl9QQ01fSU9DVExfREVMQVkiLAkweDQxMjF9LAorCXsic291bmQvYXNvdW5kLmgiLAkiU05EUlZfUENNX0lPQ1RMX0hXU1lOQyIsCTB4NDEyMn0sCisJeyJzb3VuZC9hc291bmQuaCIsCSJTTkRSVl9QQ01fSU9DVExfU1lOQ19QVFIiLAkweDQxMjN9LAorCXsic291bmQvYXNvdW5kLmgiLAkiU05EUlZfUENNX0lPQ1RMX0NIQU5ORUxfSU5GTyIsCTB4NDEzMn0sCisJeyJzb3VuZC9hc291bmQuaCIsCSJTTkRSVl9QQ01fSU9DVExfUFJFUEFSRSIsCTB4NDE0MH0sCisJeyJzb3VuZC9hc291bmQuaCIsCSJTTkRSVl9QQ01fSU9DVExfUkVTRVQiLAkweDQxNDF9LAorCXsic291bmQvYXNvdW5kLmgiLAkiU05EUlZfUENNX0lPQ1RMX1NUQVJUIiwJMHg0MTQyfSwKKwl7InNvdW5kL2Fzb3VuZC5oIiwJIlNORFJWX1BDTV9JT0NUTF9EUk9QIiwJMHg0MTQzfSwKKwl7InNvdW5kL2Fzb3VuZC5oIiwJIlNORFJWX1BDTV9JT0NUTF9EUkFJTiIsCTB4NDE0NH0sCisJeyJzb3VuZC9hc291bmQuaCIsCSJTTkRSVl9QQ01fSU9DVExfUEFVU0UiLAkweDQxNDV9LAorCXsic291bmQvYXNvdW5kLmgiLAkiU05EUlZfUENNX0lPQ1RMX1JFV0lORCIsCTB4NDE0Nn0sCisJeyJzb3VuZC9hc291bmQuaCIsCSJTTkRSVl9QQ01fSU9DVExfUkVTVU1FIiwJMHg0MTQ3fSwKKwl7InNvdW5kL2Fzb3VuZC5oIiwJIlNORFJWX1BDTV9JT0NUTF9YUlVOIiwJMHg0MTQ4fSwKKwl7InNvdW5kL2Fzb3VuZC5oIiwJIlNORFJWX1BDTV9JT0NUTF9GT1JXQVJEIiwJMHg0MTQ5fSwKKwl7InNvdW5kL2Fzb3VuZC5oIiwJIlNORFJWX1BDTV9JT0NUTF9XUklURUlfRlJBTUVTIiwJMHg0MTUwfSwKKwl7InNvdW5kL2Fzb3VuZC5oIiwJIlNORFJWX1BDTV9JT0NUTF9SRUFESV9GUkFNRVMiLAkweDQxNTF9LAorCXsic291bmQvYXNvdW5kLmgiLAkiU05EUlZfUENNX0lPQ1RMX1dSSVRFTl9GUkFNRVMiLAkweDQxNTJ9LAorCXsic291bmQvYXNvdW5kLmgiLAkiU05EUlZfUENNX0lPQ1RMX1JFQUROX0ZSQU1FUyIsCTB4NDE1M30sCisJeyJzb3VuZC9hc291bmQuaCIsCSJTTkRSVl9QQ01fSU9DVExfTElOSyIsCTB4NDE2MH0sCisJeyJzb3VuZC9hc291bmQuaCIsCSJTTkRSVl9QQ01fSU9DVExfVU5MSU5LIiwJMHg0MTYxfSwKKwl7ImxpbnV4L3BtdS5oIiwJIlBNVV9JT0NfU0xFRVAiLAkweDQyMDB9LAorCXsibGludXgvY2Npc3NfaW9jdGwuaCIsCSJDQ0lTU19HRVRQQ0lJTkZPIiwJMHg0MjAxfSwKKwl7ImxpbnV4L3BtdS5oIiwJIlBNVV9JT0NfR0VUX0JBQ0tMSUdIVCIsCTB4NDIwMX0sCisJeyJsaW51eC9jY2lzc19pb2N0bC5oIiwJIkNDSVNTX0dFVElOVElORk8iLAkweDQyMDJ9LAorCXsibGludXgvcG11LmgiLAkiUE1VX0lPQ19TRVRfQkFDS0xJR0hUIiwJMHg0MjAyfSwKKwl7ImxpbnV4L2NjaXNzX2lvY3RsLmgiLAkiQ0NJU1NfU0VUSU5USU5GTyIsCTB4NDIwM30sCisJeyJsaW51eC9wbXUuaCIsCSJQTVVfSU9DX0dFVF9NT0RFTCIsCTB4NDIwM30sCisJeyJsaW51eC9jY2lzc19pb2N0bC5oIiwJIkNDSVNTX0dFVE5PREVOQU1FIiwJMHg0MjA0fSwKKwl7ImxpbnV4L3BtdS5oIiwJIlBNVV9JT0NfSEFTX0FEQiIsCTB4NDIwNH0sCisJeyJsaW51eC9jY2lzc19pb2N0bC5oIiwJIkNDSVNTX1NFVE5PREVOQU1FIiwJMHg0MjA1fSwKKwl7ImxpbnV4L3BtdS5oIiwJIlBNVV9JT0NfQ0FOX1NMRUVQIiwJMHg0MjA1fSwKKwl7ImxpbnV4L2NjaXNzX2lvY3RsLmgiLAkiQ0NJU1NfR0VUSEVBUlRCRUFUIiwJMHg0MjA2fSwKKwl7ImxpbnV4L3BtdS5oIiwJIlBNVV9JT0NfR1JBQl9CQUNLTElHSFQiLAkweDQyMDZ9LAorCXsibGludXgvY2Npc3NfaW9jdGwuaCIsCSJDQ0lTU19HRVRCVVNUWVBFUyIsCTB4NDIwN30sCisJeyJsaW51eC9jY2lzc19pb2N0bC5oIiwJIkNDSVNTX0dFVEZJUk1WRVIiLAkweDQyMDh9LAorCXsibGludXgvY2Npc3NfaW9jdGwuaCIsCSJDQ0lTU19HRVREUklWVkVSIiwJMHg0MjA5fSwKKwl7ImxpbnV4L2NjaXNzX2lvY3RsLmgiLAkiQ0NJU1NfUkVWQUxJRFZPTFMiLAkweDQyMGF9LAorCXsibGludXgvY2Npc3NfaW9jdGwuaCIsCSJDQ0lTU19QQVNTVEhSVSIsCTB4NDIwYn0sCisJeyJsaW51eC9jY2lzc19pb2N0bC5oIiwJIkNDSVNTX1BBU1NUSFJVMzIiLAkweDQyMGJ9LAorCXsibGludXgvY2Npc3NfaW9jdGwuaCIsCSJDQ0lTU19ERVJFR0RJU0siLAkweDQyMGN9LAorCXsibGludXgvY2Npc3NfaW9jdGwuaCIsCSJDQ0lTU19SRUdORVdESVNLIiwJMHg0MjBkfSwKKwl7ImxpbnV4L2NjaXNzX2lvY3RsLmgiLAkiQ0NJU1NfUkVHTkVXRCIsCTB4NDIwZX0sCisJeyJsaW51eC9jY2lzc19pb2N0bC5oIiwJIkNDSVNTX1JFU0NBTkRJU0siLAkweDQyMTB9LAorCXsibGludXgvY2Npc3NfaW9jdGwuaCIsCSJDQ0lTU19HRVRMVU5JTkZPIiwJMHg0MjExfSwKKwl7ImxpbnV4L2NjaXNzX2lvY3RsLmgiLAkiQ0NJU1NfQklHX1BBU1NUSFJVIiwJMHg0MjEyfSwKKwl7ImxpbnV4L2NjaXNzX2lvY3RsLmgiLAkiQ0NJU1NfQklHX1BBU1NUSFJVMzIiLAkweDQyMTJ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0NPUFJfUkVTRVQiLAkweDQzMDB9LAorCXsibGludXgvY2FwaS5oIiwJIkNBUElfUkVHSVNURVIiLAkweDQzMDF9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0NPUFJfTE9BRCIsCTB4NDMwMX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfQ09QUl9SREFUQSIsCTB4NDMwMn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfQ09QUl9SQ09ERSIsCTB4NDMwM30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfQ09QUl9XREFUQSIsCTB4NDMwNH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfQ09QUl9XQ09ERSIsCTB4NDMwNX0sCisJeyJsaW51eC9jYXBpLmgiLAkiQ0FQSV9HRVRfTUFOVUZBQ1RVUkVSIiwJMHg0MzA2fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9DT1BSX1JVTiIsCTB4NDMwNn0sCisJeyJsaW51eC9jYXBpLmgiLAkiQ0FQSV9HRVRfVkVSU0lPTiIsCTB4NDMwN30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfQ09QUl9IQUxUIiwJMHg0MzA3fSwKKwl7ImxpbnV4L2NhcGkuaCIsCSJDQVBJX0dFVF9TRVJJQUwiLAkweDQzMDh9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0NPUFJfU0VORE1TRyIsCTB4NDMwOH0sCisJeyJsaW51eC9jYXBpLmgiLAkiQ0FQSV9HRVRfUFJPRklMRSIsCTB4NDMwOX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfQ09QUl9SQ1ZNU0ciLAkweDQzMDl9LAorCXsibGludXgvY2FwaS5oIiwJIkNBUElfTUFOVUZBQ1RVUkVSX0NNRCIsCTB4NDMyMH0sCisJeyJsaW51eC9jYXBpLmgiLAkiQ0FQSV9HRVRfRVJSQ09ERSIsCTB4NDMyMX0sCisJeyJsaW51eC9jYXBpLmgiLAkiQ0FQSV9JTlNUQUxMRUQiLAkweDQzMjJ9LAorCXsibGludXgvY2FwaS5oIiwJIkNBUElfR0VUX0ZMQUdTIiwJMHg0MzIzfSwKKwl7ImxpbnV4L2NhcGkuaCIsCSJDQVBJX1NFVF9GTEFHUyIsCTB4NDMyNH0sCisJeyJsaW51eC9jYXBpLmgiLAkiQ0FQSV9DTFJfRkxBR1MiLAkweDQzMjV9LAorCXsibGludXgvY2FwaS5oIiwJIkNBUElfTkNDSV9PUEVOQ09VTlQiLAkweDQzMjZ9LAorCXsibGludXgvY2FwaS5oIiwJIkNBUElfTkNDSV9HRVRVTklUIiwJMHg0MzI3fSwKKwl7ImxpbnV4L2lucHV0LmgiLAkiRVZJT0NHVkVSU0lPTiIsCTB4NDUwMX0sCisJeyJsaW51eC9pbnB1dC5oIiwJIkVWSU9DR0lEIiwJMHg0NTAyfSwKKwl7ImxpbnV4L2lucHV0LmgiLAkiRVZJT0NHUkVQIiwJMHg0NTAzfSwKKwl7ImxpbnV4L2lucHV0LmgiLAkiRVZJT0NTUkVQIiwJMHg0NTAzfSwKKwl7ImxpbnV4L2lucHV0LmgiLAkiRVZJT0NHS0VZQ09ERSIsCTB4NDUwNH0sCisJeyJsaW51eC9pbnB1dC5oIiwJIkVWSU9DU0tFWUNPREUiLAkweDQ1MDR9LAorCXsibGludXgvaW5wdXQuaCIsCSJFVklPQ1JNRkYiLAkweDQ1ODF9LAorCXsibGludXgvaW5wdXQuaCIsCSJFVklPQ0dFRkZFQ1RTIiwJMHg0NTg0fSwKKwl7ImxpbnV4L2lucHV0LmgiLAkiRVZJT0NHUkFCIiwJMHg0NTkwfSwKKwl7ImxpbnV4L2ZiLmgiLAkiRkJJT0dFVF9WU0NSRUVOSU5GTyIsCTB4NDYwMH0sCisJeyJsaW51eC9mYi5oIiwJIkZCSU9QVVRfVlNDUkVFTklORk8iLAkweDQ2MDF9LAorCXsibGludXgvZmIuaCIsCSJGQklPR0VUX0ZTQ1JFRU5JTkZPIiwJMHg0NjAyfSwKKwl7ImxpbnV4L2ZiLmgiLAkiRkJJT0dFVENNQVAiLAkweDQ2MDR9LAorCXsibGludXgvZmIuaCIsCSJGQklPUFVUQ01BUCIsCTB4NDYwNX0sCisJeyJsaW51eC9mYi5oIiwJIkZCSU9QQU5fRElTUExBWSIsCTB4NDYwNn0sCisJeyJsaW51eC9mYi5oIiwJIkZCSU9fQ1VSU09SIiwJMHg0NjA4fSwKKwl7ImxpbnV4L2ZiLmgiLAkiRkJJT0dFVF9DT04yRkJNQVAiLAkweDQ2MGZ9LAorCXsibGludXgvZmIuaCIsCSJGQklPUFVUX0NPTjJGQk1BUCIsCTB4NDYxMH0sCisJeyJsaW51eC9mYi5oIiwJIkZCSU9CTEFOSyIsCTB4NDYxMX0sCisJeyJsaW51eC9mYi5oIiwJIkZCSU9HRVRfVkJMQU5LIiwJMHg0NjEyfSwKKwl7ImxpbnV4L2ZiLmgiLAkiRkJJT19BTExPQyIsCTB4NDYxM30sCisJeyJsaW51eC9mYi5oIiwJIkZCSU9fRlJFRSIsCTB4NDYxNH0sCisJeyJsaW51eC9mYi5oIiwJIkZCSU9HRVRfR0xZUEgiLAkweDQ2MTV9LAorCXsibGludXgvZmIuaCIsCSJGQklPR0VUX0hXQ0lORk8iLAkweDQ2MTZ9LAorCXsibGludXgvZmIuaCIsCSJGQklPUFVUX01PREVJTkZPIiwJMHg0NjE3fSwKKwl7ImxpbnV4L2ZiLmgiLAkiRkJJT0dFVF9ESVNQSU5GTyIsCTB4NDYxOH0sCisJeyJsaW51eC9pdnR2ZmIuaCIsCSJGQklPX1dBSVRGT1JWU1lOQyIsCTB4NDYyMH0sCisJeyJsaW51eC9tYXRyb3hmYi5oIiwJIkZCSU9fV0FJVEZPUlZTWU5DIiwJMHg0NjIwfSwKKwl7ImxpbnV4L2FyY2ZiLmgiLAkiRkJJT19XQUlURVZFTlQiLAkweDQ2ODh9LAorCXsibGludXgvYXJjZmIuaCIsCSJGQklPX0dFVENPTlRST0wyIiwJMHg0Njg5fSwKKwl7InZpZGVvL3NzdGZiLmgiLAkiU1NURkJfR0VUX1ZHQVBBU1MiLAkweDQ2ZGR9LAorCXsidmlkZW8vc3N0ZmIuaCIsCSJTU1RGQl9TRVRfVkdBUEFTUyIsCTB4NDZkZH0sCisJeyJsaW51eC9naWdhc2V0X2Rldi5oIiwJIkdJR0FTRVRfUkVESVIiLAkweDQ3MDB9LAorCXsibGludXgvZ2lnYXNldF9kZXYuaCIsCSJHSUdBU0VUX0NPTkZJRyIsCTB4NDcwMX0sCisJeyJsaW51eC9naWdhc2V0X2Rldi5oIiwJIkdJR0FTRVRfQlJLQ0hBUlMiLAkweDQ3MDJ9LAorCXsibGludXgvZ2lnYXNldF9kZXYuaCIsCSJHSUdBU0VUX1ZFUlNJT04iLAkweDQ3MDN9LAorCXsic291bmQvYXNvdW5kLmgiLAkiU05EUlZfSFdERVBfSU9DVExfUFZFUlNJT04iLAkweDQ4MDB9LAorCXsibGludXgvaGlkcmF3LmgiLAkiSElESU9DR1JERVNDU0laRSIsCTB4NDgwMX0sCisJeyJsaW51eC9oaWRkZXYuaCIsCSJISURJT0NHVkVSU0lPTiIsCTB4NDgwMX0sCisJeyJzb3VuZC9hc291bmQuaCIsCSJTTkRSVl9IV0RFUF9JT0NUTF9JTkZPIiwJMHg0ODAxfSwKKwl7ImxpbnV4L2hpZGRldi5oIiwJIkhJRElPQ0FQUExJQ0FUSU9OIiwJMHg0ODAyfSwKKwl7ImxpbnV4L2hpZHJhdy5oIiwJIkhJRElPQ0dSREVTQyIsCTB4NDgwMn0sCisJeyJzb3VuZC9hc291bmQuaCIsCSJTTkRSVl9IV0RFUF9JT0NUTF9EU1BfU1RBVFVTIiwJMHg0ODAyfSwKKwl7ImxpbnV4L2hpZGRldi5oIiwJIkhJRElPQ0dERVZJTkZPIiwJMHg0ODAzfSwKKwl7ImxpbnV4L2hpZHJhdy5oIiwJIkhJRElPQ0dSQVdJTkZPIiwJMHg0ODAzfSwKKwl7InNvdW5kL2Fzb3VuZC5oIiwJIlNORFJWX0hXREVQX0lPQ1RMX0RTUF9MT0FEIiwJMHg0ODAzfSwKKwl7ImxpbnV4L2hpZGRldi5oIiwJIkhJRElPQ0dTVFJJTkciLAkweDQ4MDR9LAorCXsibGludXgvaGlkZGV2LmgiLAkiSElESU9DSU5JVFJFUE9SVCIsCTB4NDgwNX0sCisJeyJsaW51eC9oaWRkZXYuaCIsCSJISURJT0NHUkVQT1JUIiwJMHg0ODA3fSwKKwl7ImxpbnV4L2hpZGRldi5oIiwJIkhJRElPQ1NSRVBPUlQiLAkweDQ4MDh9LAorCXsibGludXgvaGlkZGV2LmgiLAkiSElESU9DR1JFUE9SVElORk8iLAkweDQ4MDl9LAorCXsibGludXgvaGlkZGV2LmgiLAkiSElESU9DR0ZJRUxESU5GTyIsCTB4NDgwYX0sCisJeyJsaW51eC9oaWRkZXYuaCIsCSJISURJT0NHVVNBR0UiLAkweDQ4MGJ9LAorCXsibGludXgvaGlkZGV2LmgiLAkiSElESU9DU1VTQUdFIiwJMHg0ODBjfSwKKwl7ImxpbnV4L2hpZGRldi5oIiwJIkhJRElPQ0dVQ09ERSIsCTB4NDgwZH0sCisJeyJsaW51eC9oaWRkZXYuaCIsCSJISURJT0NHRkxBRyIsCTB4NDgwZX0sCisJeyJsaW51eC9oaWRkZXYuaCIsCSJISURJT0NTRkxBRyIsCTB4NDgwZn0sCisJeyJzb3VuZC9oZGFfaHdkZXAuaCIsCSJIREFfSU9DVExfUFZFUlNJT04iLAkweDQ4MTB9LAorCXsibGludXgvaGlkZGV2LmgiLAkiSElESU9DR0NPTExFQ1RJT05JTkRFWCIsCTB4NDgxMH0sCisJeyJzb3VuZC9lbXUxMGsxLmgiLAkiU05EUlZfRU1VMTBLMV9JT0NUTF9JTkZPIiwJMHg0ODEwfSwKKwl7InNvdW5kL3NiMTZfY3NwLmgiLAkiU05EUlZfU0JfQ1NQX0lPQ1RMX0lORk8iLAkweDQ4MTB9LAorCXsic291bmQvaGRhX2h3ZGVwLmgiLAkiSERBX0lPQ1RMX1ZFUkJfV1JJVEUiLAkweDQ4MTF9LAorCXsibGludXgvaGlkZGV2LmgiLAkiSElESU9DR0NPTExFQ1RJT05JTkZPIiwJMHg0ODExfSwKKwl7InNvdW5kL2VtdTEwazEuaCIsCSJTTkRSVl9FTVUxMEsxX0lPQ1RMX0NPREVfUE9LRSIsCTB4NDgxMX0sCisJeyJzb3VuZC9zYjE2X2NzcC5oIiwJIlNORFJWX1NCX0NTUF9JT0NUTF9MT0FEX0NPREUiLAkweDQ4MTF9LAorCXsic291bmQvaGRhX2h3ZGVwLmgiLAkiSERBX0lPQ1RMX0dFVF9XQ0FQIiwJMHg0ODEyfSwKKwl7InNvdW5kL2VtdTEwazEuaCIsCSJTTkRSVl9FTVUxMEsxX0lPQ1RMX0NPREVfUEVFSyIsCTB4NDgxMn0sCisJeyJzb3VuZC9zYjE2X2NzcC5oIiwJIlNORFJWX1NCX0NTUF9JT0NUTF9VTkxPQURfQ09ERSIsCTB4NDgxMn0sCisJeyJsaW51eC9oaWRkZXYuaCIsCSJISURJT0NHVVNBR0VTIiwJMHg0ODEzfSwKKwl7InNvdW5kL3NiMTZfY3NwLmgiLAkiU05EUlZfU0JfQ1NQX0lPQ1RMX1NUQVJUIiwJMHg0ODEzfSwKKwl7ImxpbnV4L2hpZGRldi5oIiwJIkhJRElPQ1NVU0FHRVMiLAkweDQ4MTR9LAorCXsic291bmQvc2IxNl9jc3AuaCIsCSJTTkRSVl9TQl9DU1BfSU9DVExfU1RPUCIsCTB4NDgxNH0sCisJeyJzb3VuZC9zYjE2X2NzcC5oIiwJIlNORFJWX1NCX0NTUF9JT0NUTF9QQVVTRSIsCTB4NDgxNX0sCisJeyJzb3VuZC9zYjE2X2NzcC5oIiwJIlNORFJWX1NCX0NTUF9JT0NUTF9SRVNUQVJUIiwJMHg0ODE2fSwKKwl7InNvdW5kL2Fzb3VuZF9mbS5oIiwJIlNORFJWX0RNX0ZNX0lPQ1RMX0lORk8iLAkweDQ4MjB9LAorCXsic291bmQvZW11MTBrMS5oIiwJIlNORFJWX0VNVTEwSzFfSU9DVExfVFJBTV9TRVRVUCIsCTB4NDgyMH0sCisJeyJzb3VuZC9hc291bmRfZm0uaCIsCSJTTkRSVl9ETV9GTV9JT0NUTF9SRVNFVCIsCTB4NDgyMX0sCisJeyJzb3VuZC9lbXUxMGsxLmgiLAkiU05EUlZfRU1VMTBLMV9JT0NUTF9UUkFNX1BPS0UiLAkweDQ4MjF9LAorCXsic291bmQvYXNvdW5kX2ZtLmgiLAkiU05EUlZfRE1fRk1fSU9DVExfUExBWV9OT1RFIiwJMHg0ODIyfSwKKwl7InNvdW5kL2VtdTEwazEuaCIsCSJTTkRSVl9FTVUxMEsxX0lPQ1RMX1RSQU1fUEVFSyIsCTB4NDgyMn0sCisJeyJzb3VuZC9hc291bmRfZm0uaCIsCSJTTkRSVl9ETV9GTV9JT0NUTF9TRVRfVk9JQ0UiLAkweDQ4MjN9LAorCXsic291bmQvYXNvdW5kX2ZtLmgiLAkiU05EUlZfRE1fRk1fSU9DVExfU0VUX1BBUkFNUyIsCTB4NDgyNH0sCisJeyJzb3VuZC9hc291bmRfZm0uaCIsCSJTTkRSVl9ETV9GTV9JT0NUTF9TRVRfTU9ERSIsCTB4NDgyNX0sCisJeyJzb3VuZC9hc291bmRfZm0uaCIsCSJTTkRSVl9ETV9GTV9JT0NUTF9TRVRfQ09OTkVDVElPTiIsCTB4NDgyNn0sCisJeyJzb3VuZC9lbXUxMGsxLmgiLAkiU05EUlZfRU1VMTBLMV9JT0NUTF9QQ01fUE9LRSIsCTB4NDgzMH0sCisJeyJzb3VuZC9lbXUxMGsxLmgiLAkiU05EUlZfRU1VMTBLMV9JT0NUTF9QQ01fUEVFSyIsCTB4NDgzMX0sCisJeyJzb3VuZC9hc291bmRfZm0uaCIsCSJTTkRSVl9ETV9GTV9JT0NUTF9DTEVBUl9QQVRDSEVTIiwJMHg0ODQwfSwKKwl7InNvdW5kL2VtdTEwazEuaCIsCSJTTkRSVl9FTVUxMEsxX0lPQ1RMX1BWRVJTSU9OIiwJMHg0ODQwfSwKKwl7InNvdW5kL2hkc3AuaCIsCSJTTkRSVl9IRFNQX0lPQ1RMX0dFVF9QRUFLX1JNUyIsCTB4NDg0MH0sCisJeyJzb3VuZC9oZHNwLmgiLAkiU05EUlZfSERTUF9JT0NUTF9HRVRfQ09ORklHX0lORk8iLAkweDQ4NDF9LAorCXsic291bmQvaGRzcC5oIiwJIlNORFJWX0hEU1BfSU9DVExfVVBMT0FEX0ZJUk1XQVJFIiwJMHg0ODQyfSwKKwl7InNvdW5kL2hkc3BtLmgiLAkiU05EUlZfSERTUE1fSU9DVExfR0VUX1ZFUlNJT04iLAkweDQ4NDN9LAorCXsic291bmQvaGRzcC5oIiwJIlNORFJWX0hEU1BfSU9DVExfR0VUX1ZFUlNJT04iLAkweDQ4NDN9LAorCXsic291bmQvaGRzcG0uaCIsCSJTTkRSVl9IRFNQTV9JT0NUTF9HRVRfTUlYRVIiLAkweDQ4NDR9LAorCXsic291bmQvaGRzcC5oIiwJIlNORFJWX0hEU1BfSU9DVExfR0VUX01JWEVSIiwJMHg0ODQ0fSwKKwl7InNvdW5kL2hkc3AuaCIsCSJTTkRSVl9IRFNQX0lPQ1RMX0dFVF85NjMyX0FFQiIsCTB4NDg0NX0sCisJeyJzb3VuZC9lbXUxMGsxLmgiLAkiU05EUlZfRU1VMTBLMV9JT0NUTF9TVE9QIiwJMHg0ODgwfSwKKwl7InNvdW5kL3NmbnRfaW5mby5oIiwJIlNORFJWX0VNVVhfSU9DVExfVkVSU0lPTiIsCTB4NDg4MH0sCisJeyJzb3VuZC9lbXUxMGsxLmgiLAkiU05EUlZfRU1VMTBLMV9JT0NUTF9DT05USU5VRSIsCTB4NDg4MX0sCisJeyJzb3VuZC9zZm50X2luZm8uaCIsCSJTTkRSVl9FTVVYX0lPQ1RMX0xPQURfUEFUQ0giLAkweDQ4ODF9LAorCXsic291bmQvZW11MTBrMS5oIiwJIlNORFJWX0VNVTEwSzFfSU9DVExfWkVST19UUkFNX0NPVU5URVIiLAkweDQ4ODJ9LAorCXsic291bmQvc2ZudF9pbmZvLmgiLAkiU05EUlZfRU1VWF9JT0NUTF9SRVNFVF9TQU1QTEVTIiwJMHg0ODgyfSwKKwl7InNvdW5kL2VtdTEwazEuaCIsCSJTTkRSVl9FTVUxMEsxX0lPQ1RMX1NJTkdMRV9TVEVQIiwJMHg0ODgzfSwKKwl7InNvdW5kL3NmbnRfaW5mby5oIiwJIlNORFJWX0VNVVhfSU9DVExfUkVNT1ZFX0xBU1RfU0FNUExFUyIsCTB4NDg4M30sCisJeyJzb3VuZC9lbXUxMGsxLmgiLAkiU05EUlZfRU1VMTBLMV9JT0NUTF9EQkdfUkVBRCIsCTB4NDg4NH0sCisJeyJzb3VuZC9zZm50X2luZm8uaCIsCSJTTkRSVl9FTVVYX0lPQ1RMX01FTV9BVkFJTCIsCTB4NDg4NH0sCisJeyJzb3VuZC9zZm50X2luZm8uaCIsCSJTTkRSVl9FTVVYX0lPQ1RMX01JU0NfTU9ERSIsCTB4NDg4NH0sCisJeyJuZXQvYmx1ZXRvb3RoL2hjaS5oIiwJIkhDSURFVlVQIiwJMHg0OGM5fSwKKwl7Im5ldC9ibHVldG9vdGgvaGNpLmgiLAkiSENJREVWRE9XTiIsCTB4NDhjYX0sCisJeyJuZXQvYmx1ZXRvb3RoL2hjaS5oIiwJIkhDSURFVlJFU0VUIiwJMHg0OGNifSwKKwl7Im5ldC9ibHVldG9vdGgvaGNpLmgiLAkiSENJREVWUkVTVEFUIiwJMHg0OGNjfSwKKwl7Im5ldC9ibHVldG9vdGgvaGNpLmgiLAkiSENJR0VUREVWTElTVCIsCTB4NDhkMn0sCisJeyJuZXQvYmx1ZXRvb3RoL2hjaS5oIiwJIkhDSUdFVERFVklORk8iLAkweDQ4ZDN9LAorCXsibmV0L2JsdWV0b290aC9oY2kuaCIsCSJIQ0lHRVRDT05OTElTVCIsCTB4NDhkNH0sCisJeyJuZXQvYmx1ZXRvb3RoL2hjaS5oIiwJIkhDSUdFVENPTk5JTkZPIiwJMHg0OGQ1fSwKKwl7Im5ldC9ibHVldG9vdGgvaGNpLmgiLAkiSENJU0VUUkFXIiwJMHg0OGRjfSwKKwl7Im5ldC9ibHVldG9vdGgvaGNpLmgiLAkiSENJU0VUU0NBTiIsCTB4NDhkZH0sCisJeyJuZXQvYmx1ZXRvb3RoL2hjaS5oIiwJIkhDSVNFVEFVVEgiLAkweDQ4ZGV9LAorCXsibmV0L2JsdWV0b290aC9oY2kuaCIsCSJIQ0lTRVRFTkNSWVBUIiwJMHg0OGRmfSwKKwl7Im5ldC9ibHVldG9vdGgvaGNpLmgiLAkiSENJU0VUUFRZUEUiLAkweDQ4ZTB9LAorCXsibmV0L2JsdWV0b290aC9oY2kuaCIsCSJIQ0lTRVRMSU5LUE9MIiwJMHg0OGUxfSwKKwl7Im5ldC9ibHVldG9vdGgvaGNpLmgiLAkiSENJU0VUTElOS01PREUiLAkweDQ4ZTJ9LAorCXsibmV0L2JsdWV0b290aC9oY2kuaCIsCSJIQ0lTRVRBQ0xNVFUiLAkweDQ4ZTN9LAorCXsibmV0L2JsdWV0b290aC9oY2kuaCIsCSJIQ0lTRVRTQ09NVFUiLAkweDQ4ZTR9LAorCXsibmV0L2JsdWV0b290aC9oY2kuaCIsCSJIQ0lTRVRTRUNNR1IiLAkweDQ4ZTZ9LAorCXsibmV0L2JsdWV0b290aC9oY2kuaCIsCSJIQ0lJTlFVSVJZIiwJMHg0OGYwfSwKKwl7ImxpbnV4L2lzZG4uaCIsCSJJSU9DTkVUQUlGIiwJMHg0OTAxfSwKKwl7ImxpbnV4L2lzZG4uaCIsCSJJSU9DTkVURElGIiwJMHg0OTAyfSwKKwl7ImxpbnV4L2lzZG4uaCIsCSJJSU9DTkVUU0NGIiwJMHg0OTAzfSwKKwl7ImxpbnV4L2lzZG4uaCIsCSJJSU9DTkVUR0NGIiwJMHg0OTA0fSwKKwl7ImxpbnV4L2lzZG4uaCIsCSJJSU9DTkVUQU5NIiwJMHg0OTA1fSwKKwl7ImxpbnV4L2lzZG4uaCIsCSJJSU9DTkVURE5NIiwJMHg0OTA2fSwKKwl7ImxpbnV4L2lzZG4uaCIsCSJJSU9DTkVUR05NIiwJMHg0OTA3fSwKKwl7ImxpbnV4L2lzZG4uaCIsCSJJSU9DR0VUU0VUIiwJMHg0OTA4fSwKKwl7ImxpbnV4L2lzZG4uaCIsCSJJSU9DU0VUU0VUIiwJMHg0OTA5fSwKKwl7ImxpbnV4L2lzZG4uaCIsCSJJSU9DU0VUVkVSIiwJMHg0OTBhfSwKKwl7ImxpbnV4L2lzZG4uaCIsCSJJSU9DTkVUSFVQIiwJMHg0OTBifSwKKwl7ImxpbnV4L2lzZG4uaCIsCSJJSU9DU0VUR1NUIiwJMHg0OTBjfSwKKwl7ImxpbnV4L2lzZG4uaCIsCSJJSU9DU0VUQlJKIiwJMHg0OTBkfSwKKwl7ImxpbnV4L2lzZG4uaCIsCSJJSU9DU0lHUFJGIiwJMHg0OTBlfSwKKwl7ImxpbnV4L2lzZG4uaCIsCSJJSU9DR0VUUFJGIiwJMHg0OTBmfSwKKwl7ImxpbnV4L2lzZG4uaCIsCSJJSU9DU0VUUFJGIiwJMHg0OTEwfSwKKwl7ImxpbnV4L2lzZG4uaCIsCSJJSU9DR0VUTUFQIiwJMHg0OTExfSwKKwl7ImxpbnV4L2lzZG4uaCIsCSJJSU9DU0VUTUFQIiwJMHg0OTEyfSwKKwl7ImxpbnV4L2lzZG4uaCIsCSJJSU9DTkVUQVNMIiwJMHg0OTEzfSwKKwl7ImxpbnV4L2lzZG4uaCIsCSJJSU9DTkVURElMIiwJMHg0OTE0fSwKKwl7ImxpbnV4L2lzZG4uaCIsCSJJSU9DR0VUQ1BTIiwJMHg0OTE1fSwKKwl7ImxpbnV4L2lzZG4uaCIsCSJJSU9DR0VURFZSIiwJMHg0OTE2fSwKKwl7ImxpbnV4L2lzZG4uaCIsCSJJSU9DTkVUTENSIiwJMHg0OTE3fSwKKwl7ImxpbnV4L2lzZG4uaCIsCSJJSU9DTkVURFdSU0VUIiwJMHg0OTE4fSwKKwl7ImxpbnV4L2lzZG4uaCIsCSJJSU9DTkVUQUxOIiwJMHg0OTIwfSwKKwl7ImxpbnV4L2lzZG4uaCIsCSJJSU9DTkVURExOIiwJMHg0OTIxfSwKKwl7ImxpbnV4L2lzZG4uaCIsCSJJSU9DTkVUR1BOIiwJMHg0OTIyfSwKKwl7ImxpbnV4L21JU0ROaWYuaCIsCSJJTUFERFRJTUVSIiwJMHg0OTQwfSwKKwl7ImxpbnV4L21JU0ROaWYuaCIsCSJJTURFTFRJTUVSIiwJMHg0OTQxfSwKKwl7ImxpbnV4L21JU0ROaWYuaCIsCSJJTUdFVFZFUlNJT04iLAkweDQ5NDJ9LAorCXsibGludXgvbUlTRE5pZi5oIiwJIklNR0VUQ09VTlQiLAkweDQ5NDN9LAorCXsibGludXgvbUlTRE5pZi5oIiwJIklNR0VUREVWSU5GTyIsCTB4NDk0NH0sCisJeyJsaW51eC9tSVNETmlmLmgiLAkiSU1DVFJMUkVRIiwJMHg0OTQ1fSwKKwl7ImxpbnV4L21JU0ROaWYuaCIsCSJJTUNMRUFSX0wyIiwJMHg0OTQ2fSwKKwl7ImxpbnV4L21JU0ROaWYuaCIsCSJJTVNFVERFVk5BTUUiLAkweDQ5NDd9LAorCXsibGludXgvbUlTRE5pZi5oIiwJIklNSE9MRF9MMSIsCTB4NDk0OH0sCisJeyJsaW51eC9pc2RuLmgiLAkiSUlPQ0RCR1ZBUiIsCTB4NDk3Zn0sCisJeyJsaW51eC9pc2RuLmgiLAkiSUlPQ0RSVkNUTCIsCTB4NDk4MH0sCisJeyJsaW51eC9rZC5oIiwJIktJT0NTT1VORCIsCTB4NGIyZn0sCisJeyJsaW51eC9rZC5oIiwJIktETUtUT05FIiwJMHg0YjMwfSwKKwl7ImxpbnV4L2tkLmgiLAkiS0RHRVRMRUQiLAkweDRiMzF9LAorCXsibGludXgva2QuaCIsCSJLRFNFVExFRCIsCTB4NGIzMn0sCisJeyJsaW51eC9rZC5oIiwJIktER0tCVFlQRSIsCTB4NGIzM30sCisJeyJsaW51eC9rZC5oIiwJIktEQURESU8iLAkweDRiMzR9LAorCXsibGludXgva2QuaCIsCSJLRERFTElPIiwJMHg0YjM1fSwKKwl7ImxpbnV4L2tkLmgiLAkiS0RFTkFCSU8iLAkweDRiMzZ9LAorCXsibGludXgva2QuaCIsCSJLRERJU0FCSU8iLAkweDRiMzd9LAorCXsibGludXgva2QuaCIsCSJLRFNFVE1PREUiLAkweDRiM2F9LAorCXsibGludXgva2QuaCIsCSJLREdFVE1PREUiLAkweDRiM2J9LAorCXsibGludXgva2QuaCIsCSJLRE1BUERJU1AiLAkweDRiM2N9LAorCXsibGludXgva2QuaCIsCSJLRFVOTUFQRElTUCIsCTB4NGIzZH0sCisJeyJsaW51eC9rZC5oIiwJIkdJT19TQ1JOTUFQIiwJMHg0YjQwfSwKKwl7ImxpbnV4L2tkLmgiLAkiUElPX1NDUk5NQVAiLAkweDRiNDF9LAorCXsibGludXgva2QuaCIsCSJLREdLQk1PREUiLAkweDRiNDR9LAorCXsibGludXgva2QuaCIsCSJLRFNLQk1PREUiLAkweDRiNDV9LAorCXsibGludXgva2QuaCIsCSJLREdLQkVOVCIsCTB4NGI0Nn0sCisJeyJsaW51eC9rZC5oIiwJIktEU0tCRU5UIiwJMHg0YjQ3fSwKKwl7ImxpbnV4L2tkLmgiLAkiS0RHS0JTRU5UIiwJMHg0YjQ4fSwKKwl7ImxpbnV4L2tkLmgiLAkiS0RTS0JTRU5UIiwJMHg0YjQ5fSwKKwl7ImxpbnV4L2tkLmgiLAkiS0RHS0JESUFDUiIsCTB4NGI0YX0sCisJeyJsaW51eC9rZC5oIiwJIktEU0tCRElBQ1IiLAkweDRiNGJ9LAorCXsibGludXgva2QuaCIsCSJLREdFVEtFWUNPREUiLAkweDRiNGN9LAorCXsibGludXgva2QuaCIsCSJLRFNFVEtFWUNPREUiLAkweDRiNGR9LAorCXsibGludXgva2QuaCIsCSJLRFNJR0FDQ0VQVCIsCTB4NGI0ZX0sCisJeyJsaW51eC9rZC5oIiwJIktES0JEUkVQIiwJMHg0YjUyfSwKKwl7ImxpbnV4L2tkLmgiLAkiR0lPX0ZPTlQiLAkweDRiNjB9LAorCXsibGludXgva2QuaCIsCSJQSU9fRk9OVCIsCTB4NGI2MX0sCisJeyJsaW51eC9rZC5oIiwJIktER0tCTUVUQSIsCTB4NGI2Mn0sCisJeyJsaW51eC9rZC5oIiwJIktEU0tCTUVUQSIsCTB4NGI2M30sCisJeyJsaW51eC9rZC5oIiwJIktER0tCTEVEIiwJMHg0YjY0fSwKKwl7ImxpbnV4L2tkLmgiLAkiS0RTS0JMRUQiLAkweDRiNjV9LAorCXsibGludXgva2QuaCIsCSJHSU9fVU5JTUFQIiwJMHg0YjY2fSwKKwl7ImxpbnV4L2tkLmgiLAkiUElPX1VOSU1BUCIsCTB4NGI2N30sCisJeyJsaW51eC9rZC5oIiwJIlBJT19VTklNQVBDTFIiLAkweDRiNjh9LAorCXsibGludXgva2QuaCIsCSJHSU9fVU5JU0NSTk1BUCIsCTB4NGI2OX0sCisJeyJsaW51eC9rZC5oIiwJIlBJT19VTklTQ1JOTUFQIiwJMHg0YjZhfSwKKwl7ImxpbnV4L2tkLmgiLAkiR0lPX0ZPTlRYIiwJMHg0YjZifSwKKwl7ImxpbnV4L2tkLmgiLAkiUElPX0ZPTlRYIiwJMHg0YjZjfSwKKwl7ImxpbnV4L2tkLmgiLAkiUElPX0ZPTlRSRVNFVCIsCTB4NGI2ZH0sCisJeyJsaW51eC9rZC5oIiwJIkdJT19DTUFQIiwJMHg0YjcwfSwKKwl7ImxpbnV4L2tkLmgiLAkiUElPX0NNQVAiLAkweDRiNzF9LAorCXsibGludXgva2QuaCIsCSJLREZPTlRPUCIsCTB4NGI3Mn0sCisJeyJsaW51eC9rZC5oIiwJIktER0tCRElBQ1JVQyIsCTB4NGJmYX0sCisJeyJsaW51eC9rZC5oIiwJIktEU0tCRElBQ1JVQyIsCTB4NGJmYn0sCisJeyJsaW51eC91c2IvdnN0dXNiLmgiLAkiSU9DVExfVlNUVVNCX1NFTkRfUElQRSIsCTB4NGMyMH0sCisJeyJsaW51eC91c2IvdnN0dXNiLmgiLAkiSU9DVExfVlNUVVNCX1JFQ1ZfUElQRSIsCTB4NGMyMX0sCisJeyJsaW51eC91c2IvdnN0dXNiLmgiLAkiSU9DVExfVlNUVVNCX0NPTkZJR19SVyIsCTB4NGMyMn0sCisJeyJtdGQvbXRkLWFiaS5oIiwJIk1FTUdFVElORk8iLAkweDRkMDF9LAorCXsibXRkL210ZC1hYmkuaCIsCSJNRU1FUkFTRSIsCTB4NGQwMn0sCisJeyJtdGQvbXRkLWFiaS5oIiwJIk1FTVdSSVRFT09CIiwJMHg0ZDAzfSwKKwl7Im10ZC9tdGQtYWJpLmgiLAkiTUVNUkVBRE9PQiIsCTB4NGQwNH0sCisJeyJtdGQvbXRkLWFiaS5oIiwJIk1FTUxPQ0siLAkweDRkMDV9LAorCXsibXRkL210ZC1hYmkuaCIsCSJNRU1VTkxPQ0siLAkweDRkMDZ9LAorCXsibXRkL210ZC1hYmkuaCIsCSJNRU1HRVRSRUdJT05DT1VOVCIsCTB4NGQwN30sCisJeyJtdGQvbXRkLWFiaS5oIiwJIk1FTUdFVFJFR0lPTklORk8iLAkweDRkMDh9LAorCXsibXRkL210ZC1hYmkuaCIsCSJNRU1TRVRPT0JTRUwiLAkweDRkMDl9LAorCXsibXRkL210ZC1hYmkuaCIsCSJNRU1HRVRPT0JTRUwiLAkweDRkMGF9LAorCXsibXRkL210ZC1hYmkuaCIsCSJNRU1HRVRCQURCTE9DSyIsCTB4NGQwYn0sCisJeyJtdGQvbXRkLWFiaS5oIiwJIk1FTVNFVEJBREJMT0NLIiwJMHg0ZDBjfSwKKwl7Im10ZC9tdGQtYWJpLmgiLAkiT1RQU0VMRUNUIiwJMHg0ZDBkfSwKKwl7Im10ZC9tdGQtYWJpLmgiLAkiT1RQR0VUUkVHSU9OQ09VTlQiLAkweDRkMGV9LAorCXsibXRkL210ZC1hYmkuaCIsCSJPVFBHRVRSRUdJT05JTkZPIiwJMHg0ZDBmfSwKKwl7Im10ZC9tdGQtYWJpLmgiLAkiT1RQTE9DSyIsCTB4NGQxMH0sCisJeyJtdGQvbXRkLWFiaS5oIiwJIkVDQ0dFVExBWU9VVCIsCTB4NGQxMX0sCisJeyJtdGQvbXRkLWFiaS5oIiwJIkVDQ0dFVFNUQVRTIiwJMHg0ZDEyfSwKKwl7Im10ZC9tdGQtYWJpLmgiLAkiTVRERklMRU1PREUiLAkweDRkMTN9LAorCXsibXRkL210ZC1hYmkuaCIsCSJNRU1FUkFTRTY0IiwJMHg0ZDE0fSwKKwl7Im10ZC9tdGQtYWJpLmgiLAkiTUVNV1JJVEVPT0I2NCIsCTB4NGQxNX0sCisJeyJtdGQvbXRkLWFiaS5oIiwJIk1FTVJFQURPT0I2NCIsCTB4NGQxNn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9NSVhFUl9JTkZPIiwJMHg0ZDY1fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNPVU5EX09MRF9NSVhFUl9JTkZPIiwJMHg0ZDY1fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNPVU5EX01JWEVSX0FDQ0VTUyIsCTB4NGQ2Nn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9NSVhFUl9BR0MiLAkweDRkNjd9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfTUlYRVJfM0RTRSIsCTB4NGQ2OH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9NSVhFUl9QUklWQVRFMSIsCTB4NGQ2Zn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9NSVhFUl9QUklWQVRFMiIsCTB4NGQ3MH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9NSVhFUl9QUklWQVRFMyIsCTB4NGQ3MX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9NSVhFUl9QUklWQVRFNCIsCTB4NGQ3Mn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9NSVhFUl9QUklWQVRFNSIsCTB4NGQ3M30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9NSVhFUl9HRVRMRVZFTFMiLAkweDRkNzR9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfTUlYRVJfU0VUTEVWRUxTIiwJMHg0ZDc1fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIk9TU19HRVRWRVJTSU9OIiwJMHg0ZDc2fSwKKwl7ImxpbnV4L3RpY2FibGUuaCIsCSJJT0NUTF9USVVTQl9USU1FT1VUIiwJMHg0ZTIwfSwKKwl7ImxpbnV4L3RpY2FibGUuaCIsCSJJT0NUTF9USVVTQl9SRVNFVF9ERVZJQ0UiLAkweDRlMjF9LAorCXsibGludXgvdGljYWJsZS5oIiwJIklPQ1RMX1RJVVNCX1JFU0VUX1BJUEVTIiwJMHg0ZTIyfSwKKwl7ImxpbnV4L3RpY2FibGUuaCIsCSJJT0NUTF9USVVTQl9HRVRfTUFYUFMiLAkweDRlMjN9LAorCXsibGludXgvdGljYWJsZS5oIiwJIklPQ1RMX1RJVVNCX0dFVF9ERVZJRCIsCTB4NGUyNH0sCisJeyJtdGQvdWJpLXVzZXIuaCIsCSJVQklfSU9DVk9MVVAiLAkweDRmMDB9LAorCXsibXRkL3ViaS11c2VyLmgiLAkiVUJJX0lPQ0VCRVIiLAkweDRmMDF9LAorCXsibXRkL3ViaS11c2VyLmgiLAkiVUJJX0lPQ0VCQ0giLAkweDRmMDJ9LAorCXsibXRkL3ViaS11c2VyLmgiLAkiVUJJX0lPQ0VCTUFQIiwJMHg0ZjAzfSwKKwl7Im10ZC91YmktdXNlci5oIiwJIlVCSV9JT0NFQlVOTUFQIiwJMHg0ZjA0fSwKKwl7Im10ZC91YmktdXNlci5oIiwJIlVCSV9JT0NFQklTTUFQIiwJMHg0ZjA1fSwKKwl7Im10ZC91YmktdXNlci5oIiwJIlVCSV9JT0NTRVRQUk9QIiwJMHg0ZjA2fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfUkVTRVQiLAkweDUwMDB9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9TWU5DIiwJMHg1MDAxfSwKKwl7ImFzbS9iZmluX3Nwb3J0LmgiLAkiU1BPUlRfSU9DX0NPTkZJRyIsCTB4NTAwMX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX1NQRUVEIiwJMHg1MDAyfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNPVU5EX1BDTV9SRUFEX1JBVEUiLAkweDUwMDJ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9TVEVSRU8iLAkweDUwMDN9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9HRVRCTEtTSVpFIiwJMHg1MDA0fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfU0VURk1UIiwJMHg1MDA1fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNPVU5EX1BDTV9SRUFEX0JJVFMiLAkweDUwMDV9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9DSEFOTkVMUyIsCTB4NTAwNn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9QQ01fUkVBRF9DSEFOTkVMUyIsCTB4NTAwNn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9QQ01fUkVBRF9GSUxURVIiLAkweDUwMDd9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfUENNX1dSSVRFX0ZJTFRFUiIsCTB4NTAwN30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX1BPU1QiLAkweDUwMDh9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9TVUJESVZJREUiLAkweDUwMDl9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9TRVRGUkFHTUVOVCIsCTB4NTAwYX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX0dFVEZNVFMiLAkweDUwMGJ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9HRVRPU1BBQ0UiLAkweDUwMGN9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9HRVRJU1BBQ0UiLAkweDUwMGR9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9OT05CTE9DSyIsCTB4NTAwZX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX0dFVENBUFMiLAkweDUwMGZ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9HRVRUUklHR0VSIiwJMHg1MDEwfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfU0VUVFJJR0dFUiIsCTB4NTAxMH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX0dFVElQVFIiLAkweDUwMTF9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9HRVRPUFRSIiwJMHg1MDEyfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfTUFQSU5CVUYiLAkweDUwMTN9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9NQVBPVVRCVUYiLAkweDUwMTR9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9TRVRTWU5DUk8iLAkweDUwMTV9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9TRVREVVBMRVgiLAkweDUwMTZ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9HRVRPREVMQVkiLAkweDUwMTd9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9QUk9GSUxFIiwJMHg1MDE3fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfR0VUQ0hBTk5FTE1BU0siLAkweDUwNDB9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9CSU5EX0NIQU5ORUwiLAkweDUwNDF9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9TRVRTUERJRiIsCTB4NTA0Mn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX0dFVFNQRElGIiwJMHg1MDQzfSwKKwl7InNvdW5kL3NzY2FwZV9pb2N0bC5oIiwJIlNORF9TU0NBUEVfTE9BRF9CT09UQiIsCTB4NTA2NH0sCisJeyJzb3VuZC9zc2NhcGVfaW9jdGwuaCIsCSJTTkRfU1NDQVBFX0xPQURfTUNPREUiLAkweDUwNjV9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NFUV9SRVNFVCIsCTB4NTEwMH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU0VRX1NZTkMiLAkweDUxMDF9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NZTlRIX0lORk8iLAkweDUxMDJ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NFUV9DVFJMUkFURSIsCTB4NTEwM30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU0VRX0dFVE9VVENPVU5UIiwJMHg1MTA0fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TRVFfR0VUSU5DT1VOVCIsCTB4NTEwNX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU0VRX1BFUkNNT0RFIiwJMHg1MTA2fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9GTV9MT0FEX0lOU1RSIiwJMHg1MTA3fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TRVFfVEVTVE1JREkiLAkweDUxMDh9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NFUV9SRVNFVFNBTVBMRVMiLAkweDUxMDl9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NFUV9OUlNZTlRIUyIsCTB4NTEwYX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU0VRX05STUlESVMiLAkweDUxMGJ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX01JRElfSU5GTyIsCTB4NTEwY30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU0VRX1RIUkVTSE9MRCIsCTB4NTEwZH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU1lOVEhfTUVNQVZMIiwJMHg1MTBlfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9GTV80T1BfRU5BQkxFIiwJMHg1MTBmfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TRVFfUEFOSUMiLAkweDUxMTF9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NFUV9PVVRPRkJBTkQiLAkweDUxMTJ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NFUV9HRVRUSU1FIiwJMHg1MTEzfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TWU5USF9JRCIsCTB4NTExNH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU1lOVEhfQ09OVFJPTCIsCTB4NTExNX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU1lOVEhfUkVNT1ZFU0FNUExFIiwJMHg1MTE2fSwKKwl7ImxpbnV4L3JhbmRvbS5oIiwJIlJOREdFVEVOVENOVCIsCTB4NTIwMH0sCisJeyJsaW51eC9yZmtpbGwuaCIsCSJSRktJTExfSU9DVExfTk9JTlBVVCIsCTB4NTIwMX0sCisJeyJtZWRpYS9yZHMuaCIsCSJSRFNfQ01EX09QRU4iLAkweDUyMDF9LAorCXsibGludXgvcmFuZG9tLmgiLAkiUk5EQUREVE9FTlRDTlQiLAkweDUyMDF9LAorCXsibWVkaWEvcmRzLmgiLAkiUkRTX0NNRF9DTE9TRSIsCTB4NTIwMn0sCisJeyJsaW51eC9yYW5kb20uaCIsCSJSTkRHRVRQT09MIiwJMHg1MjAyfSwKKwl7Im1lZGlhL3Jkcy5oIiwJIlJEU19DTURfUkVBRCIsCTB4NTIwM30sCisJeyJsaW51eC9yYW5kb20uaCIsCSJSTkRBRERFTlRST1BZIiwJMHg1MjAzfSwKKwl7Im1lZGlhL3Jkcy5oIiwJIlJEU19DTURfUE9MTCIsCTB4NTIwNH0sCisJeyJsaW51eC9yYW5kb20uaCIsCSJSTkRaQVBFTlRDTlQiLAkweDUyMDR9LAorCXsibGludXgvcmFuZG9tLmgiLAkiUk5EQ0xFQVJQT09MIiwJMHg1MjA2fSwKKwl7Im5ldC9ibHVldG9vdGgvcmZjb21tLmgiLAkiUkZDT01NQ1JFQVRFREVWIiwJMHg1MmM4fSwKKwl7Im5ldC9ibHVldG9vdGgvcmZjb21tLmgiLAkiUkZDT01NUkVMRUFTRURFViIsCTB4NTJjOX0sCisJeyJuZXQvYmx1ZXRvb3RoL3JmY29tbS5oIiwJIlJGQ09NTUdFVERFVkxJU1QiLAkweDUyZDJ9LAorCXsibmV0L2JsdWV0b290aC9yZmNvbW0uaCIsCSJSRkNPTU1HRVRERVZJTkZPIiwJMHg1MmQzfSwKKwl7Im5ldC9ibHVldG9vdGgvcmZjb21tLmgiLAkiUkZDT01NU1RFQUxETEMiLAkweDUyZGN9LAorCXsic291bmQvYXNlcXVlbmNlci5oIiwJIlNORFJWX1NFUV9JT0NUTF9QVkVSU0lPTiIsCTB4NTMwMH0sCisJeyJsaW51eC9jZHJvbS5oIiwJIkNEUk9NUEFVU0UiLAkweDUzMDF9LAorCXsic291bmQvYXNlcXVlbmNlci5oIiwJIlNORFJWX1NFUV9JT0NUTF9DTElFTlRfSUQiLAkweDUzMDF9LAorCXsibGludXgvY2Ryb20uaCIsCSJDRFJPTVJFU1VNRSIsCTB4NTMwMn0sCisJeyJzb3VuZC9hc2VxdWVuY2VyLmgiLAkiU05EUlZfU0VRX0lPQ1RMX1NZU1RFTV9JTkZPIiwJMHg1MzAyfSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiQ0RST01QTEFZTVNGIiwJMHg1MzAzfSwKKwl7InNvdW5kL2FzZXF1ZW5jZXIuaCIsCSJTTkRSVl9TRVFfSU9DVExfUlVOTklOR19NT0RFIiwJMHg1MzAzfSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiQ0RST01QTEFZVFJLSU5EIiwJMHg1MzA0fSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiQ0RST01SRUFEVE9DSERSIiwJMHg1MzA1fSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiQ0RST01SRUFEVE9DRU5UUlkiLAkweDUzMDZ9LAorCXsibGludXgvY2Ryb20uaCIsCSJDRFJPTVNUT1AiLAkweDUzMDd9LAorCXsibGludXgvY2Ryb20uaCIsCSJDRFJPTVNUQVJUIiwJMHg1MzA4fSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiQ0RST01FSkVDVCIsCTB4NTMwOX0sCisJeyJsaW51eC9jZHJvbS5oIiwJIkNEUk9NVk9MQ1RSTCIsCTB4NTMwYX0sCisJeyJsaW51eC9jZHJvbS5oIiwJIkNEUk9NU1VCQ0hOTCIsCTB4NTMwYn0sCisJeyJsaW51eC9jZHJvbS5oIiwJIkNEUk9NUkVBRE1PREUyIiwJMHg1MzBjfSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiQ0RST01SRUFETU9ERTEiLAkweDUzMGR9LAorCXsibGludXgvY2Ryb20uaCIsCSJDRFJPTVJFQURBVURJTyIsCTB4NTMwZX0sCisJeyJsaW51eC9jZHJvbS5oIiwJIkNEUk9NRUpFQ1RfU1ciLAkweDUzMGZ9LAorCXsibGludXgvY2Ryb20uaCIsCSJDRFJPTU1VTFRJU0VTU0lPTiIsCTB4NTMxMH0sCisJeyJzb3VuZC9hc2VxdWVuY2VyLmgiLAkiU05EUlZfU0VRX0lPQ1RMX0dFVF9DTElFTlRfSU5GTyIsCTB4NTMxMH0sCisJeyJsaW51eC9jZHJvbS5oIiwJIkNEUk9NX0dFVF9NQ04iLAkweDUzMTF9LAorCXsic291bmQvYXNlcXVlbmNlci5oIiwJIlNORFJWX1NFUV9JT0NUTF9TRVRfQ0xJRU5UX0lORk8iLAkweDUzMTF9LAorCXsibGludXgvY2Ryb20uaCIsCSJDRFJPTVJFU0VUIiwJMHg1MzEyfSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiQ0RST01WT0xSRUFEIiwJMHg1MzEzfSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiQ0RST01SRUFEUkFXIiwJMHg1MzE0fSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiQ0RST01SRUFEQ09PS0VEIiwJMHg1MzE1fSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiQ0RST01TRUVLIiwJMHg1MzE2fSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiQ0RST01QTEFZQkxLIiwJMHg1MzE3fSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiQ0RST01SRUFEQUxMIiwJMHg1MzE4fSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiQ0RST01DTE9TRVRSQVkiLAkweDUzMTl9LAorCXsibGludXgvY2Ryb20uaCIsCSJDRFJPTUdFVFNQSU5ET1dOIiwJMHg1MzFkfSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiQ0RST01TRVRTUElORE9XTiIsCTB4NTMxZX0sCisJeyJsaW51eC9jZHJvbS5oIiwJIkNEUk9NX1NFVF9PUFRJT05TIiwJMHg1MzIwfSwKKwl7InNvdW5kL2FzZXF1ZW5jZXIuaCIsCSJTTkRSVl9TRVFfSU9DVExfQ1JFQVRFX1BPUlQiLAkweDUzMjB9LAorCXsibGludXgvY2Ryb20uaCIsCSJDRFJPTV9DTEVBUl9PUFRJT05TIiwJMHg1MzIxfSwKKwl7InNvdW5kL2FzZXF1ZW5jZXIuaCIsCSJTTkRSVl9TRVFfSU9DVExfREVMRVRFX1BPUlQiLAkweDUzMjF9LAorCXsibGludXgvY2Ryb20uaCIsCSJDRFJPTV9TRUxFQ1RfU1BFRUQiLAkweDUzMjJ9LAorCXsic291bmQvYXNlcXVlbmNlci5oIiwJIlNORFJWX1NFUV9JT0NUTF9HRVRfUE9SVF9JTkZPIiwJMHg1MzIyfSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiQ0RST01fU0VMRUNUX0RJU0MiLAkweDUzMjN9LAorCXsic291bmQvYXNlcXVlbmNlci5oIiwJIlNORFJWX1NFUV9JT0NUTF9TRVRfUE9SVF9JTkZPIiwJMHg1MzIzfSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiQ0RST01fTUVESUFfQ0hBTkdFRCIsCTB4NTMyNX0sCisJeyJsaW51eC9jZHJvbS5oIiwJIkNEUk9NX0RSSVZFX1NUQVRVUyIsCTB4NTMyNn0sCisJeyJsaW51eC9jZHJvbS5oIiwJIkNEUk9NX0RJU0NfU1RBVFVTIiwJMHg1MzI3fSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiQ0RST01fQ0hBTkdFUl9OU0xPVFMiLAkweDUzMjh9LAorCXsibGludXgvY2Ryb20uaCIsCSJDRFJPTV9MT0NLRE9PUiIsCTB4NTMyOX0sCisJeyJsaW51eC9jZHJvbS5oIiwJIkNEUk9NX0RFQlVHIiwJMHg1MzMwfSwKKwl7InNvdW5kL2FzZXF1ZW5jZXIuaCIsCSJTTkRSVl9TRVFfSU9DVExfU1VCU0NSSUJFX1BPUlQiLAkweDUzMzB9LAorCXsibGludXgvY2Ryb20uaCIsCSJDRFJPTV9HRVRfQ0FQQUJJTElUWSIsCTB4NTMzMX0sCisJeyJzb3VuZC9hc2VxdWVuY2VyLmgiLAkiU05EUlZfU0VRX0lPQ1RMX1VOU1VCU0NSSUJFX1BPUlQiLAkweDUzMzF9LAorCXsic291bmQvYXNlcXVlbmNlci5oIiwJIlNORFJWX1NFUV9JT0NUTF9DUkVBVEVfUVVFVUUiLAkweDUzMzJ9LAorCXsic291bmQvYXNlcXVlbmNlci5oIiwJIlNORFJWX1NFUV9JT0NUTF9ERUxFVEVfUVVFVUUiLAkweDUzMzN9LAorCXsic291bmQvYXNlcXVlbmNlci5oIiwJIlNORFJWX1NFUV9JT0NUTF9HRVRfUVVFVUVfSU5GTyIsCTB4NTMzNH0sCisJeyJzb3VuZC9hc2VxdWVuY2VyLmgiLAkiU05EUlZfU0VRX0lPQ1RMX1NFVF9RVUVVRV9JTkZPIiwJMHg1MzM1fSwKKwl7InNvdW5kL2FzZXF1ZW5jZXIuaCIsCSJTTkRSVl9TRVFfSU9DVExfR0VUX05BTUVEX1FVRVVFIiwJMHg1MzM2fSwKKwl7InNvdW5kL2FzZXF1ZW5jZXIuaCIsCSJTTkRSVl9TRVFfSU9DVExfR0VUX1FVRVVFX1NUQVRVUyIsCTB4NTM0MH0sCisJeyJzb3VuZC9hc2VxdWVuY2VyLmgiLAkiU05EUlZfU0VRX0lPQ1RMX0dFVF9RVUVVRV9URU1QTyIsCTB4NTM0MX0sCisJeyJzb3VuZC9hc2VxdWVuY2VyLmgiLAkiU05EUlZfU0VRX0lPQ1RMX1NFVF9RVUVVRV9URU1QTyIsCTB4NTM0Mn0sCisJeyJzb3VuZC9hc2VxdWVuY2VyLmgiLAkiU05EUlZfU0VRX0lPQ1RMX0dFVF9RVUVVRV9PV05FUiIsCTB4NTM0M30sCisJeyJzb3VuZC9hc2VxdWVuY2VyLmgiLAkiU05EUlZfU0VRX0lPQ1RMX1NFVF9RVUVVRV9PV05FUiIsCTB4NTM0NH0sCisJeyJzb3VuZC9hc2VxdWVuY2VyLmgiLAkiU05EUlZfU0VRX0lPQ1RMX0dFVF9RVUVVRV9USU1FUiIsCTB4NTM0NX0sCisJeyJzb3VuZC9hc2VxdWVuY2VyLmgiLAkiU05EUlZfU0VRX0lPQ1RMX1NFVF9RVUVVRV9USU1FUiIsCTB4NTM0Nn0sCisJeyJzb3VuZC9hc2VxdWVuY2VyLmgiLAkiU05EUlZfU0VRX0lPQ1RMX0dFVF9RVUVVRV9DTElFTlQiLAkweDUzNDl9LAorCXsic291bmQvYXNlcXVlbmNlci5oIiwJIlNORFJWX1NFUV9JT0NUTF9TRVRfUVVFVUVfQ0xJRU5UIiwJMHg1MzRhfSwKKwl7InNvdW5kL2FzZXF1ZW5jZXIuaCIsCSJTTkRSVl9TRVFfSU9DVExfR0VUX0NMSUVOVF9QT09MIiwJMHg1MzRifSwKKwl7InNvdW5kL2FzZXF1ZW5jZXIuaCIsCSJTTkRSVl9TRVFfSU9DVExfU0VUX0NMSUVOVF9QT09MIiwJMHg1MzRjfSwKKwl7InNvdW5kL2FzZXF1ZW5jZXIuaCIsCSJTTkRSVl9TRVFfSU9DVExfUkVNT1ZFX0VWRU5UUyIsCTB4NTM0ZX0sCisJeyJzb3VuZC9hc2VxdWVuY2VyLmgiLAkiU05EUlZfU0VRX0lPQ1RMX1FVRVJZX1NVQlMiLAkweDUzNGZ9LAorCXsic291bmQvYXNlcXVlbmNlci5oIiwJIlNORFJWX1NFUV9JT0NUTF9HRVRfU1VCU0NSSVBUSU9OIiwJMHg1MzUwfSwKKwl7InNvdW5kL2FzZXF1ZW5jZXIuaCIsCSJTTkRSVl9TRVFfSU9DVExfUVVFUllfTkVYVF9DTElFTlQiLAkweDUzNTF9LAorCXsic291bmQvYXNlcXVlbmNlci5oIiwJIlNORFJWX1NFUV9JT0NUTF9RVUVSWV9ORVhUX1BPUlQiLAkweDUzNTJ9LAorCXsic291bmQvYXNlcXVlbmNlci5oIiwJIlNORFJWX1NFUV9JT0NUTF9HRVRfUVVFVUVfU1lOQyIsCTB4NTM1M30sCisJeyJzb3VuZC9hc2VxdWVuY2VyLmgiLAkiU05EUlZfU0VRX0lPQ1RMX1NFVF9RVUVVRV9TWU5DIiwJMHg1MzU0fSwKKwl7InNjc2kvc2NzaV9pb2N0bC5oIiwJIlNDU0lfSU9DVExfRE9PUkxPQ0siLAkweDUzODB9LAorCXsic2NzaS9zY3NpX2lvY3RsLmgiLAkiU0NTSV9JT0NUTF9ET09SVU5MT0NLIiwJMHg1MzgxfSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiQ0RST01BVURJT0JVRlNJWiIsCTB4NTM4Mn0sCisJeyJzY3NpL3Njc2kuaCIsCSJTQ1NJX0lPQ1RMX0dFVF9JRExVTiIsCTB4NTM4Mn0sCisJeyJzY3NpL3Njc2kuaCIsCSJTQ1NJX0lPQ1RMX1BST0JFX0hPU1QiLAkweDUzODV9LAorCXsic2NzaS9zY3NpLmgiLAkiU0NTSV9JT0NUTF9HRVRfQlVTX05VTUJFUiIsCTB4NTM4Nn0sCisJeyJzY3NpL3Njc2kuaCIsCSJTQ1NJX0lPQ1RMX0dFVF9QQ0kiLAkweDUzODd9LAorCXsibGludXgvY2Ryb20uaCIsCSJEVkRfUkVBRF9TVFJVQ1QiLAkweDUzOTB9LAorCXsibGludXgvY2Ryb20uaCIsCSJEVkRfV1JJVEVfU1RSVUNUIiwJMHg1MzkxfSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiRFZEX0FVVEgiLAkweDUzOTJ9LAorCXsibGludXgvY2Ryb20uaCIsCSJDRFJPTV9TRU5EX1BBQ0tFVCIsCTB4NTM5M30sCisJeyJsaW51eC9jZHJvbS5oIiwJIkNEUk9NX05FWFRfV1JJVEFCTEUiLAkweDUzOTR9LAorCXsibGludXgvY2Ryb20uaCIsCSJDRFJPTV9MQVNUX1dSSVRURU4iLAkweDUzOTV9LAorCXsic291bmQvYXNvdW5kLmgiLAkiU05EUlZfVElNRVJfSU9DVExfUFZFUlNJT04iLAkweDU0MDB9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1RNUl9USU1FQkFTRSIsCTB4NTQwMX0sCisJeyJzb3VuZC9hc291bmQuaCIsCSJTTkRSVl9USU1FUl9JT0NUTF9ORVhUX0RFVklDRSIsCTB4NTQwMX0sCisJeyJhc20vaW9jdGxzLmgiLAkiVENHRVRTIiwJMHg1NDAxfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9UTVJfU1RBUlQiLAkweDU0MDJ9LAorCXsic291bmQvYXNvdW5kLmgiLAkiU05EUlZfVElNRVJfSU9DVExfVFJFQUQiLAkweDU0MDJ9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRDU0VUUyIsCTB4NTQwMn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfVE1SX1NUT1AiLAkweDU0MDN9LAorCXsic291bmQvYXNvdW5kLmgiLAkiU05EUlZfVElNRVJfSU9DVExfR0lORk8iLAkweDU0MDN9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRDU0VUU1ciLAkweDU0MDN9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1RNUl9DT05USU5VRSIsCTB4NTQwNH0sCisJeyJzb3VuZC9hc291bmQuaCIsCSJTTkRSVl9USU1FUl9JT0NUTF9HUEFSQU1TIiwJMHg1NDA0fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUQ1NFVFNGIiwJMHg1NDA0fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9UTVJfVEVNUE8iLAkweDU0MDV9LAorCXsic291bmQvYXNvdW5kLmgiLAkiU05EUlZfVElNRVJfSU9DVExfR1NUQVRVUyIsCTB4NTQwNX0sCisJeyJhc20vaW9jdGxzLmgiLAkiVENHRVRBIiwJMHg1NDA1fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9UTVJfU09VUkNFIiwJMHg1NDA2fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUQ1NFVEEiLAkweDU0MDZ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1RNUl9NRVRST05PTUUiLAkweDU0MDd9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRDU0VUQVciLAkweDU0MDd9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1RNUl9TRUxFQ1QiLAkweDU0MDh9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRDU0VUQUYiLAkweDU0MDh9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRDU0JSSyIsCTB4NTQwOX0sCisJeyJhc20vaW9jdGxzLmgiLAkiVENYT05DIiwJMHg1NDBhfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUQ0ZMU0giLAkweDU0MGJ9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NFWENMIiwJMHg1NDBjfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DTlhDTCIsCTB4NTQwZH0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NDVFRZIiwJMHg1NDBlfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DR1BHUlAiLAkweDU0MGZ9LAorCXsic291bmQvYXNvdW5kLmgiLAkiU05EUlZfVElNRVJfSU9DVExfU0VMRUNUIiwJMHg1NDEwfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DU1BHUlAiLAkweDU0MTB9LAorCXsic291bmQvYXNvdW5kLmgiLAkiU05EUlZfVElNRVJfSU9DVExfSU5GTyIsCTB4NTQxMX0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ09VVFEiLAkweDU0MTF9LAorCXsic291bmQvYXNvdW5kLmgiLAkiU05EUlZfVElNRVJfSU9DVExfUEFSQU1TIiwJMHg1NDEyfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DU1RJIiwJMHg1NDEyfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DR1dJTlNaIiwJMHg1NDEzfSwKKwl7InNvdW5kL2Fzb3VuZC5oIiwJIlNORFJWX1RJTUVSX0lPQ1RMX1NUQVRVUyIsCTB4NTQxNH0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NXSU5TWiIsCTB4NTQxNH0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ01HRVQiLAkweDU0MTV9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NNQklTIiwJMHg1NDE2fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DTUJJQyIsCTB4NTQxN30sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ01TRVQiLAkweDU0MTh9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NHU09GVENBUiIsCTB4NTQxOX0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NTT0ZUQ0FSIiwJMHg1NDFhfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJGSU9OUkVBRCIsCTB4NTQxYn0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ0xJTlVYIiwJMHg1NDFjfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DQ09OUyIsCTB4NTQxZH0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ0dTRVJJQUwiLAkweDU0MWV9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NTU0VSSUFMIiwJMHg1NDFmfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DUEtUIiwJMHg1NDIwfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJGSU9OQklPIiwJMHg1NDIxfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DTk9UVFkiLAkweDU0MjJ9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NTRVREIiwJMHg1NDIzfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DR0VURCIsCTB4NTQyNH0sCisJeyJhc20vaW9jdGxzLmgiLAkiVENTQlJLUCIsCTB4NTQyNX0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1RUWUdTVFJVQ1QiLAkweDU0MjZ9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NTQlJLIiwJMHg1NDI3fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DQ0JSSyIsCTB4NTQyOH0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ0dTSUQiLAkweDU0Mjl9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRDR0VUUzIiLAkweDU0MmF9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRDU0VUUzIiLAkweDU0MmJ9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRDU0VUU1cyIiwJMHg1NDJjfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUQ1NFVFNGMiIsCTB4NTQyZH0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ0dQVE4iLAkweDU0MzB9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NTUFRMQ0siLAkweDU0MzF9LAorCXsiYXNtL2lvY3Rscy5oIiwJIkZJT05DTEVYIiwJMHg1NDUwfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJGSU9DTEVYIiwJMHg1NDUxfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJGSU9BU1lOQyIsCTB4NTQ1Mn0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NFUkNPTkZJRyIsCTB4NTQ1M30sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NFUkdXSUxEIiwJMHg1NDU0fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DU0VSU1dJTEQiLAkweDU0NTV9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NHTENLVFJNSU9TIiwJMHg1NDU2fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DU0xDS1RSTUlPUyIsCTB4NTQ1N30sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NFUkdTVFJVQ1QiLAkweDU0NTh9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NTRVJHRVRMU1IiLAkweDU0NTl9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NTRVJHRVRNVUxUSSIsCTB4NTQ1YX0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NFUlNFVE1VTFRJIiwJMHg1NDVifSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DTUlXQUlUIiwJMHg1NDVjfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DR0lDT1VOVCIsCTB4NTQ1ZH0sCisJeyJhc20tZ2VuZXJpYy9pb2N0bHMuaCIsCSJUQ0dFVFMyIiwJMHg1NDJhfSwKKwl7ImFzbS1nZW5lcmljL2lvY3Rscy5oIiwJIlRDU0VUUzIiLAkweDU0MmJ9LAorCXsiYXNtLWdlbmVyaWMvaW9jdGxzLmgiLAkiVENTRVRTVzIiLAkweDU0MmN9LAorCXsiYXNtLWdlbmVyaWMvaW9jdGxzLmgiLAkiVENTRVRTRjIiLAkweDU0MmR9LAorCXsiYXNtLWdlbmVyaWMvaW9jdGxzLmgiLAkiVElPQ0dQVE4iLAkweDU0MzB9LAorCXsiYXNtLWdlbmVyaWMvaW9jdGxzLmgiLAkiVElPQ1NQVExDSyIsCTB4NTQzMX0sCisJeyJhc20vaW9jdGxzLmgiLAkiRklPUVNJWkUiLAkweDU0NWV9LAorCXsic291bmQvYXNvdW5kLmgiLAkiU05EUlZfVElNRVJfSU9DVExfU1RBUlQiLAkweDU0YTB9LAorCXsic291bmQvYXNvdW5kLmgiLAkiU05EUlZfVElNRVJfSU9DVExfU1RPUCIsCTB4NTRhMX0sCisJeyJzb3VuZC9hc291bmQuaCIsCSJTTkRSVl9USU1FUl9JT0NUTF9DT05USU5VRSIsCTB4NTRhMn0sCisJeyJzb3VuZC9hc291bmQuaCIsCSJTTkRSVl9USU1FUl9JT0NUTF9QQVVTRSIsCTB4NTRhM30sCisJeyJsaW51eC9pZl90dW4uaCIsCSJUVU5TRVROT0NTVU0iLAkweDU0Yzh9LAorCXsibGludXgvaWZfdHVuLmgiLAkiVFVOU0VUREVCVUciLAkweDU0Yzl9LAorCXsibGludXgvaWZfdHVuLmgiLAkiVFVOU0VUSUZGIiwJMHg1NGNhfSwKKwl7ImxpbnV4L2lmX3R1bi5oIiwJIlRVTlNFVFBFUlNJU1QiLAkweDU0Y2J9LAorCXsibGludXgvaWZfdHVuLmgiLAkiVFVOU0VUT1dORVIiLAkweDU0Y2N9LAorCXsibGludXgvaWZfdHVuLmgiLAkiVFVOU0VUTElOSyIsCTB4NTRjZH0sCisJeyJsaW51eC9pZl90dW4uaCIsCSJUVU5TRVRHUk9VUCIsCTB4NTRjZX0sCisJeyJsaW51eC9pZl90dW4uaCIsCSJUVU5HRVRGRUFUVVJFUyIsCTB4NTRjZn0sCisJeyJsaW51eC9pZl90dW4uaCIsCSJUVU5TRVRPRkZMT0FEIiwJMHg1NGQwfSwKKwl7ImxpbnV4L2lmX3R1bi5oIiwJIlRVTlNFVFRYRklMVEVSIiwJMHg1NGQxfSwKKwl7ImxpbnV4L2lmX3R1bi5oIiwJIlRVTkdFVElGRiIsCTB4NTRkMn0sCisJeyJsaW51eC9pZl90dW4uaCIsCSJUVU5HRVRTTkRCVUYiLAkweDU0ZDN9LAorCXsibGludXgvaWZfdHVuLmgiLAkiVFVOU0VUU05EQlVGIiwJMHg1NGQ0fSwKKwl7InNvdW5kL2Fzb3VuZC5oIiwJIlNORFJWX0NUTF9JT0NUTF9QVkVSU0lPTiIsCTB4NTUwMH0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19DT05UUk9MIiwJMHg1NTAwfSwKKwl7InNvdW5kL2Fzb3VuZC5oIiwJIlNORFJWX0NUTF9JT0NUTF9DQVJEX0lORk8iLAkweDU1MDF9LAorCXsibGludXgvdWlucHV0LmgiLAkiVUlfREVWX0NSRUFURSIsCTB4NTUwMX0sCisJeyJsaW51eC91aW5wdXQuaCIsCSJVSV9ERVZfREVTVFJPWSIsCTB4NTUwMn0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19CVUxLIiwJMHg1NTAyfSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX1JFU0VURVAiLAkweDU1MDN9LAorCXsibGludXgvdXNiZGV2aWNlX2ZzLmgiLAkiVVNCREVWRlNfU0VUSU5URVJGQUNFIiwJMHg1NTA0fSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX1NFVENPTkZJR1VSQVRJT04iLAkweDU1MDV9LAorCXsibGludXgvdXNiZGV2aWNlX2ZzLmgiLAkiVVNCREVWRlNfR0VURFJJVkVSIiwJMHg1NTA4fSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX1NVQk1JVFVSQiIsCTB4NTUwYX0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19TVUJNSVRVUkIzMiIsCTB4NTUwYX0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19ESVNDQVJEVVJCIiwJMHg1NTBifSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX1JFQVBVUkIiLAkweDU1MGN9LAorCXsibGludXgvdXNiZGV2aWNlX2ZzLmgiLAkiVVNCREVWRlNfUkVBUFVSQjMyIiwJMHg1NTBjfSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX1JFQVBVUkJOREVMQVkiLAkweDU1MGR9LAorCXsibGludXgvdXNiZGV2aWNlX2ZzLmgiLAkiVVNCREVWRlNfUkVBUFVSQk5ERUxBWTMyIiwJMHg1NTBkfSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX0RJU0NTSUdOQUwiLAkweDU1MGV9LAorCXsibGludXgvdXNiZGV2aWNlX2ZzLmgiLAkiVVNCREVWRlNfQ0xBSU1JTlRFUkZBQ0UiLAkweDU1MGZ9LAorCXsic291bmQvYXNvdW5kLmgiLAkiU05EUlZfQ1RMX0lPQ1RMX0VMRU1fTElTVCIsCTB4NTUxMH0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19SRUxFQVNFSU5URVJGQUNFIiwJMHg1NTEwfSwKKwl7InNvdW5kL2Fzb3VuZC5oIiwJIlNORFJWX0NUTF9JT0NUTF9FTEVNX0lORk8iLAkweDU1MTF9LAorCXsibGludXgvdXNiZGV2aWNlX2ZzLmgiLAkiVVNCREVWRlNfQ09OTkVDVElORk8iLAkweDU1MTF9LAorCXsic291bmQvYXNvdW5kLmgiLAkiU05EUlZfQ1RMX0lPQ1RMX0VMRU1fUkVBRCIsCTB4NTUxMn0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19JT0NUTCIsCTB4NTUxMn0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19JT0NUTDMyIiwJMHg1NTEyfSwKKwl7InNvdW5kL2Fzb3VuZC5oIiwJIlNORFJWX0NUTF9JT0NUTF9FTEVNX1dSSVRFIiwJMHg1NTEzfSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX0hVQl9QT1JUSU5GTyIsCTB4NTUxM30sCisJeyJzb3VuZC9hc291bmQuaCIsCSJTTkRSVl9DVExfSU9DVExfRUxFTV9MT0NLIiwJMHg1NTE0fSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX1JFU0VUIiwJMHg1NTE0fSwKKwl7InNvdW5kL2Fzb3VuZC5oIiwJIlNORFJWX0NUTF9JT0NUTF9FTEVNX1VOTE9DSyIsCTB4NTUxNX0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19DTEVBUl9IQUxUIiwJMHg1NTE1fSwKKwl7InNvdW5kL2Fzb3VuZC5oIiwJIlNORFJWX0NUTF9JT0NUTF9TVUJTQ1JJQkVfRVZFTlRTIiwJMHg1NTE2fSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX0RJU0NPTk5FQ1QiLAkweDU1MTZ9LAorCXsic291bmQvYXNvdW5kLmgiLAkiU05EUlZfQ1RMX0lPQ1RMX0VMRU1fQUREIiwJMHg1NTE3fSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX0NPTk5FQ1QiLAkweDU1MTd9LAorCXsic291bmQvYXNvdW5kLmgiLAkiU05EUlZfQ1RMX0lPQ1RMX0VMRU1fUkVQTEFDRSIsCTB4NTUxOH0sCisJeyJzb3VuZC9hc291bmQuaCIsCSJTTkRSVl9DVExfSU9DVExfRUxFTV9SRU1PVkUiLAkweDU1MTl9LAorCXsic291bmQvYXNvdW5kLmgiLAkiU05EUlZfQ1RMX0lPQ1RMX1RMVl9SRUFEIiwJMHg1NTFhfSwKKwl7InNvdW5kL2Fzb3VuZC5oIiwJIlNORFJWX0NUTF9JT0NUTF9UTFZfV1JJVEUiLAkweDU1MWJ9LAorCXsic291bmQvYXNvdW5kLmgiLAkiU05EUlZfQ1RMX0lPQ1RMX1RMVl9DT01NQU5EIiwJMHg1NTFjfSwKKwl7InNvdW5kL2Fzb3VuZC5oIiwJIlNORFJWX0NUTF9JT0NUTF9IV0RFUF9ORVhUX0RFVklDRSIsCTB4NTUyMH0sCisJeyJzb3VuZC9hc291bmQuaCIsCSJTTkRSVl9DVExfSU9DVExfSFdERVBfSU5GTyIsCTB4NTUyMX0sCisJeyJzb3VuZC9hc291bmQuaCIsCSJTTkRSVl9DVExfSU9DVExfUENNX05FWFRfREVWSUNFIiwJMHg1NTMwfSwKKwl7InNvdW5kL2Fzb3VuZC5oIiwJIlNORFJWX0NUTF9JT0NUTF9QQ01fSU5GTyIsCTB4NTUzMX0sCisJeyJzb3VuZC9hc291bmQuaCIsCSJTTkRSVl9DVExfSU9DVExfUENNX1BSRUZFUl9TVUJERVZJQ0UiLAkweDU1MzJ9LAorCXsic291bmQvYXNvdW5kLmgiLAkiU05EUlZfQ1RMX0lPQ1RMX1JBV01JRElfTkVYVF9ERVZJQ0UiLAkweDU1NDB9LAorCXsic291bmQvYXNvdW5kLmgiLAkiU05EUlZfQ1RMX0lPQ1RMX1JBV01JRElfSU5GTyIsCTB4NTU0MX0sCisJeyJzb3VuZC9hc291bmQuaCIsCSJTTkRSVl9DVExfSU9DVExfUkFXTUlESV9QUkVGRVJfU1VCREVWSUNFIiwJMHg1NTQyfSwKKwl7ImxpbnV4L3VpbnB1dC5oIiwJIlVJX1NFVF9FVkJJVCIsCTB4NTU2NH0sCisJeyJsaW51eC91aW5wdXQuaCIsCSJVSV9TRVRfS0VZQklUIiwJMHg1NTY1fSwKKwl7ImxpbnV4L3VpbnB1dC5oIiwJIlVJX1NFVF9SRUxCSVQiLAkweDU1NjZ9LAorCXsibGludXgvdWlucHV0LmgiLAkiVUlfU0VUX0FCU0JJVCIsCTB4NTU2N30sCisJeyJsaW51eC91aW5wdXQuaCIsCSJVSV9TRVRfTVNDQklUIiwJMHg1NTY4fSwKKwl7ImxpbnV4L3VpbnB1dC5oIiwJIlVJX1NFVF9MRURCSVQiLAkweDU1Njl9LAorCXsibGludXgvdWlucHV0LmgiLAkiVUlfU0VUX1NOREJJVCIsCTB4NTU2YX0sCisJeyJsaW51eC91aW5wdXQuaCIsCSJVSV9TRVRfRkZCSVQiLAkweDU1NmJ9LAorCXsibGludXgvdWlucHV0LmgiLAkiVUlfU0VUX1BIWVMiLAkweDU1NmN9LAorCXsibGludXgvdWlucHV0LmgiLAkiVUlfU0VUX1NXQklUIiwJMHg1NTZkfSwKKwl7ImxpbnV4L3VpbnB1dC5oIiwJIlVJX0JFR0lOX0ZGX1VQTE9BRCIsCTB4NTVjOH0sCisJeyJsaW51eC91aW5wdXQuaCIsCSJVSV9FTkRfRkZfVVBMT0FEIiwJMHg1NWM5fSwKKwl7ImxpbnV4L3VpbnB1dC5oIiwJIlVJX0JFR0lOX0ZGX0VSQVNFIiwJMHg1NWNhfSwKKwl7ImxpbnV4L3VpbnB1dC5oIiwJIlVJX0VORF9GRl9FUkFTRSIsCTB4NTVjYn0sCisJeyJzb3VuZC9hc291bmQuaCIsCSJTTkRSVl9DVExfSU9DVExfUE9XRVIiLAkweDU1ZDB9LAorCXsic291bmQvYXNvdW5kLmgiLAkiU05EUlZfQ1RMX0lPQ1RMX1BPV0VSX1NUQVRFIiwJMHg1NWQxfSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19RVUVSWUNBUCIsCTB4NTYwMH0sCisJeyJsaW51eC92dC5oIiwJIlZUX09QRU5RUlkiLAkweDU2MDB9LAorCXsibGludXgvdmlkZW9kZXYyLmgiLAkiVklESU9DX1JFU0VSVkVEIiwJMHg1NjAxfSwKKwl7ImxpbnV4L3Z0LmgiLAkiVlRfR0VUTU9ERSIsCTB4NTYwMX0sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfRU5VTV9GTVQiLAkweDU2MDJ9LAorCXsibGludXgvdnQuaCIsCSJWVF9TRVRNT0RFIiwJMHg1NjAyfSwKKwl7ImxpbnV4L3Z0LmgiLAkiVlRfR0VUU1RBVEUiLAkweDU2MDN9LAorCXsibGludXgvdmlkZW9kZXYyLmgiLAkiVklESU9DX0dfRk1UIiwJMHg1NjA0fSwKKwl7ImxpbnV4L3Z0LmgiLAkiVlRfU0VORFNJRyIsCTB4NTYwNH0sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfU19GTVQiLAkweDU2MDV9LAorCXsibGludXgvdnQuaCIsCSJWVF9SRUxESVNQIiwJMHg1NjA1fSwKKwl7ImxpbnV4L3Z0LmgiLAkiVlRfQUNUSVZBVEUiLAkweDU2MDZ9LAorCXsibGludXgvdnQuaCIsCSJWVF9XQUlUQUNUSVZFIiwJMHg1NjA3fSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19SRVFCVUZTIiwJMHg1NjA4fSwKKwl7ImxpbnV4L3Z0LmgiLAkiVlRfRElTQUxMT0NBVEUiLAkweDU2MDh9LAorCXsibGludXgvdmlkZW9kZXYyLmgiLAkiVklESU9DX1FVRVJZQlVGIiwJMHg1NjA5fSwKKwl7ImxpbnV4L3Z0LmgiLAkiVlRfUkVTSVpFIiwJMHg1NjA5fSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19HX0ZCVUYiLAkweDU2MGF9LAorCXsibGludXgvdnQuaCIsCSJWVF9SRVNJWkVYIiwJMHg1NjBhfSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19TX0ZCVUYiLAkweDU2MGJ9LAorCXsibGludXgvdnQuaCIsCSJWVF9MT0NLU1dJVENIIiwJMHg1NjBifSwKKwl7ImxpbnV4L3Z0LmgiLAkiVlRfVU5MT0NLU1dJVENIIiwJMHg1NjBjfSwKKwl7ImxpbnV4L3Z0LmgiLAkiVlRfR0VUSElGT05UTUFTSyIsCTB4NTYwZH0sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfT1ZFUkxBWSIsCTB4NTYwZX0sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfT1ZFUkxBWV9PTEQiLAkweDU2MGV9LAorCXsibGludXgvdmlkZW9kZXYyLmgiLAkiVklESU9DX1FCVUYiLAkweDU2MGZ9LAorCXsibGludXgvdmlkZW9kZXYyLmgiLAkiVklESU9DX0RRQlVGIiwJMHg1NjExfSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19TVFJFQU1PTiIsCTB4NTYxMn0sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfU1RSRUFNT0ZGIiwJMHg1NjEzfSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19HX1BBUk0iLAkweDU2MTV9LAorCXsibGludXgvdmlkZW9kZXYyLmgiLAkiVklESU9DX1NfUEFSTSIsCTB4NTYxNn0sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfU19QQVJNX09MRCIsCTB4NTYxNn0sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfR19TVEQiLAkweDU2MTd9LAorCXsibGludXgvdmlkZW9kZXYyLmgiLAkiVklESU9DX1NfU1REIiwJMHg1NjE4fSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19FTlVNU1REIiwJMHg1NjE5fSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19FTlVNSU5QVVQiLAkweDU2MWF9LAorCXsibGludXgvdmlkZW9kZXYyLmgiLAkiVklESU9DX0dfQ1RSTCIsCTB4NTYxYn0sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfU19DVFJMIiwJMHg1NjFjfSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19TX0NUUkxfT0xEIiwJMHg1NjFjfSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19HX1RVTkVSIiwJMHg1NjFkfSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19TX1RVTkVSIiwJMHg1NjFlfSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19HX0FVRElPIiwJMHg1NjIxfSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19HX0FVRElPX09MRCIsCTB4NTYyMX0sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfU19BVURJTyIsCTB4NTYyMn0sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfUVVFUllDVFJMIiwJMHg1NjI0fSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19RVUVSWU1FTlUiLAkweDU2MjV9LAorCXsibGludXgvdmlkZW9kZXYyLmgiLAkiVklESU9DX0dfSU5QVVQiLAkweDU2MjZ9LAorCXsibGludXgvdmlkZW9kZXYyLmgiLAkiVklESU9DX1NfSU5QVVQiLAkweDU2Mjd9LAorCXsibGludXgvdmlkZW9kZXYyLmgiLAkiVklESU9DX0dfT1VUUFVUIiwJMHg1NjJlfSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19TX09VVFBVVCIsCTB4NTYyZn0sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfRU5VTU9VVFBVVCIsCTB4NTYzMH0sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfR19BVURPVVQiLAkweDU2MzF9LAorCXsibGludXgvdmlkZW9kZXYyLmgiLAkiVklESU9DX0dfQVVET1VUX09MRCIsCTB4NTYzMX0sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfU19BVURPVVQiLAkweDU2MzJ9LAorCXsibGludXgvdmlkZW9kZXYyLmgiLAkiVklESU9DX0dfTU9EVUxBVE9SIiwJMHg1NjM2fSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19TX01PRFVMQVRPUiIsCTB4NTYzN30sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfR19GUkVRVUVOQ1kiLAkweDU2Mzh9LAorCXsibGludXgvdmlkZW9kZXYyLmgiLAkiVklESU9DX1NfRlJFUVVFTkNZIiwJMHg1NjM5fSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19DUk9QQ0FQIiwJMHg1NjNhfSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19DUk9QQ0FQX09MRCIsCTB4NTYzYX0sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfR19DUk9QIiwJMHg1NjNifSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19TX0NST1AiLAkweDU2M2N9LAorCXsibGludXgvdmlkZW9kZXYyLmgiLAkiVklESU9DX0dfSlBFR0NPTVAiLAkweDU2M2R9LAorCXsibGludXgvdmlkZW9kZXYyLmgiLAkiVklESU9DX1NfSlBFR0NPTVAiLAkweDU2M2V9LAorCXsibGludXgvdmlkZW9kZXYyLmgiLAkiVklESU9DX1FVRVJZU1REIiwJMHg1NjNmfSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19UUllfRk1UIiwJMHg1NjQwfSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19FTlVNQVVESU8iLAkweDU2NDF9LAorCXsibGludXgvdmlkZW9kZXYyLmgiLAkiVklESU9DX0VOVU1BVURPVVQiLAkweDU2NDJ9LAorCXsibGludXgvdmlkZW9kZXYyLmgiLAkiVklESU9DX0dfUFJJT1JJVFkiLAkweDU2NDN9LAorCXsibGludXgvdmlkZW9kZXYyLmgiLAkiVklESU9DX1NfUFJJT1JJVFkiLAkweDU2NDR9LAorCXsibGludXgvdmlkZW9kZXYyLmgiLAkiVklESU9DX0dfU0xJQ0VEX1ZCSV9DQVAiLAkweDU2NDV9LAorCXsibGludXgvdmlkZW9kZXYyLmgiLAkiVklESU9DX0xPR19TVEFUVVMiLAkweDU2NDZ9LAorCXsibGludXgvdmlkZW9kZXYyLmgiLAkiVklESU9DX0dfRVhUX0NUUkxTIiwJMHg1NjQ3fSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19TX0VYVF9DVFJMUyIsCTB4NTY0OH0sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfVFJZX0VYVF9DVFJMUyIsCTB4NTY0OX0sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfRU5VTV9GUkFNRVNJWkVTIiwJMHg1NjRhfSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19FTlVNX0ZSQU1FSU5URVJWQUxTIiwJMHg1NjRifSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19HX0VOQ19JTkRFWCIsCTB4NTY0Y30sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfRU5DT0RFUl9DTUQiLAkweDU2NGR9LAorCXsibGludXgvdmlkZW9kZXYyLmgiLAkiVklESU9DX1RSWV9FTkNPREVSX0NNRCIsCTB4NTY0ZX0sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfREJHX1NfUkVHSVNURVIiLAkweDU2NGZ9LAorCXsibGludXgvdmlkZW9kZXYyLmgiLAkiVklESU9DX0RCR19HX1JFR0lTVEVSIiwJMHg1NjUwfSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19EQkdfR19DSElQX0lERU5UIiwJMHg1NjUxfSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19TX0hXX0ZSRVFfU0VFSyIsCTB4NTY1Mn0sCisJeyJsaW51eC9pdnR2ZmIuaCIsCSJJVlRWRkJfSU9DX0RNQV9GUkFNRSIsCTB4NTZjMH0sCisJeyJsaW51eC9pdnR2LmgiLAkiSVZUVl9JT0NfRE1BX0ZSQU1FIiwJMHg1NmMwfSwKKwl7InNvdW5kL2Fzb3VuZC5oIiwJIlNORFJWX1JBV01JRElfSU9DVExfUFZFUlNJT04iLAkweDU3MDB9LAorCXsibGludXgvd2F0Y2hkb2cuaCIsCSJXRElPQ19HRVRTVVBQT1JUIiwJMHg1NzAwfSwKKwl7InNvdW5kL2Fzb3VuZC5oIiwJIlNORFJWX1JBV01JRElfSU9DVExfSU5GTyIsCTB4NTcwMX0sCisJeyJsaW51eC93YXRjaGRvZy5oIiwJIldESU9DX0dFVFNUQVRVUyIsCTB4NTcwMX0sCisJeyJsaW51eC93YXRjaGRvZy5oIiwJIldESU9DX0dFVEJPT1RTVEFUVVMiLAkweDU3MDJ9LAorCXsibGludXgvd2F0Y2hkb2cuaCIsCSJXRElPQ19HRVRURU1QIiwJMHg1NzAzfSwKKwl7ImxpbnV4L3dhdGNoZG9nLmgiLAkiV0RJT0NfU0VUT1BUSU9OUyIsCTB4NTcwNH0sCisJeyJsaW51eC93YXRjaGRvZy5oIiwJIldESU9DX0tFRVBBTElWRSIsCTB4NTcwNX0sCisJeyJsaW51eC93YXRjaGRvZy5oIiwJIldESU9DX1NFVFRJTUVPVVQiLAkweDU3MDZ9LAorCXsibGludXgvd2F0Y2hkb2cuaCIsCSJXRElPQ19HRVRUSU1FT1VUIiwJMHg1NzA3fSwKKwl7ImxpbnV4L3dhdGNoZG9nLmgiLAkiV0RJT0NfU0VUUFJFVElNRU9VVCIsCTB4NTcwOH0sCisJeyJsaW51eC93YXRjaGRvZy5oIiwJIldESU9DX0dFVFBSRVRJTUVPVVQiLAkweDU3MDl9LAorCXsibGludXgvd2F0Y2hkb2cuaCIsCSJXRElPQ19HRVRUSU1FTEVGVCIsCTB4NTcwYX0sCisJeyJzb3VuZC9hc291bmQuaCIsCSJTTkRSVl9SQVdNSURJX0lPQ1RMX1BBUkFNUyIsCTB4NTcxMH0sCisJeyJzb3VuZC9hc291bmQuaCIsCSJTTkRSVl9SQVdNSURJX0lPQ1RMX1NUQVRVUyIsCTB4NTcyMH0sCisJeyJzb3VuZC9hc291bmQuaCIsCSJTTkRSVl9SQVdNSURJX0lPQ1RMX0RST1AiLAkweDU3MzB9LAorCXsic291bmQvYXNvdW5kLmgiLAkiU05EUlZfUkFXTUlESV9JT0NUTF9EUkFJTiIsCTB4NTczMX0sCisJeyJsaW51eC9wa3RjZHZkLmgiLAkiUEFDS0VUX0NUUkxfQ01EIiwJMHg1ODAxfSwKKwl7ImxpbnV4L2ZhbGxvYy5oIiwJIkZTX0lPQ19SRVNWU1AiLAkweDU4Mjh9LAorCXsibGludXgvZmFsbG9jLmgiLAkiRlNfSU9DX1JFU1ZTUDY0IiwJMHg1ODJhfSwKKwl7ImxpbnV4L2ZzLmgiLAkiRklGUkVFWkUiLAkweDU4Nzd9LAorCXsibGludXgvZnMuaCIsCSJGSVRIQVciLAkweDU4Nzh9LAorCXsibGludXgvdXNiL3RtYy5oIiwJIlVTQlRNQ19JT0NUTF9JTkRJQ0FUT1JfUFVMU0UiLAkweDViMDF9LAorCXsibGludXgvdXNiL3RtYy5oIiwJIlVTQlRNQ19JT0NUTF9DTEVBUiIsCTB4NWIwMn0sCisJeyJsaW51eC91c2IvdG1jLmgiLAkiVVNCVE1DX0lPQ1RMX0FCT1JUX0JVTEtfT1VUIiwJMHg1YjAzfSwKKwl7ImxpbnV4L3VzYi90bWMuaCIsCSJVU0JUTUNfSU9DVExfQUJPUlRfQlVMS19JTiIsCTB4NWIwNH0sCisJeyJsaW51eC91c2IvdG1jLmgiLAkiVVNCVE1DX0lPQ1RMX0NMRUFSX09VVF9IQUxUIiwJMHg1YjA2fSwKKwl7ImxpbnV4L3VzYi90bWMuaCIsCSJVU0JUTUNfSU9DVExfQ0xFQVJfSU5fSEFMVCIsCTB4NWIwN30sCisJeyJsaW51eC9zb25ldC5oIiwJIlNPTkVUX0dFVFNUQVQiLAkweDYxMTB9LAorCXsibGludXgvc29uZXQuaCIsCSJTT05FVF9HRVRTVEFUWiIsCTB4NjExMX0sCisJeyJsaW51eC9zb25ldC5oIiwJIlNPTkVUX1NFVERJQUciLAkweDYxMTJ9LAorCXsibGludXgvc29uZXQuaCIsCSJTT05FVF9DTFJESUFHIiwJMHg2MTEzfSwKKwl7ImxpbnV4L3NvbmV0LmgiLAkiU09ORVRfR0VURElBRyIsCTB4NjExNH0sCisJeyJsaW51eC9zb25ldC5oIiwJIlNPTkVUX1NFVEZSQU1JTkciLAkweDYxMTV9LAorCXsibGludXgvc29uZXQuaCIsCSJTT05FVF9HRVRGUkFNSU5HIiwJMHg2MTE2fSwKKwl7ImxpbnV4L3NvbmV0LmgiLAkiU09ORVRfR0VURlJTRU5TRSIsCTB4NjExN30sCisJeyJsaW51eC9hdG1faWR0NzcxMDUuaCIsCSJJRFQ3NzEwNV9HRVRTVEFUIiwJMHg2MTMyfSwKKwl7ImxpbnV4L2F0bV9pZHQ3NzEwNS5oIiwJIklEVDc3MTA1X0dFVFNUQVRaIiwJMHg2MTMzfSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9HRVRTVEFUIiwJMHg2MTUwfSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9HRVRTVEFUWiIsCTB4NjE1MX0sCisJeyJsaW51eC9hdG1kZXYuaCIsCSJBVE1fR0VUTE9PUCIsCTB4NjE1Mn0sCisJeyJsaW51eC9hdG1kZXYuaCIsCSJBVE1fU0VUTE9PUCIsCTB4NjE1M30sCisJeyJsaW51eC9hdG1kZXYuaCIsCSJBVE1fUVVFUllMT09QIiwJMHg2MTU0fSwKKwl7ImxpbnV4L2F0bV9lbmkuaCIsCSJFTklfTUVNRFVNUCIsCTB4NjE2MH0sCisJeyJsaW51eC9hdG1faGUuaCIsCSJIRV9HRVRfUkVHIiwJMHg2MTYwfSwKKwl7ImxpbnV4L2F0bV9uaWNzdGFyLmgiLAkiTlNfR0VUUFNUQVQiLAkweDYxNjF9LAorCXsibGludXgvYXRtX3phdG0uaCIsCSJaQVRNX0dFVFBPT0wiLAkweDYxNjF9LAorCXsibGludXgvYXRtX25pY3N0YXIuaCIsCSJOU19TRVRCVUZMRVYiLAkweDYxNjJ9LAorCXsibGludXgvYXRtX3phdG0uaCIsCSJaQVRNX0dFVFBPT0xaIiwJMHg2MTYyfSwKKwl7ImxpbnV4L2F0bV9uaWNzdGFyLmgiLAkiTlNfQURKQlVGTEVWIiwJMHg2MTYzfSwKKwl7ImxpbnV4L2F0bV96YXRtLmgiLAkiWkFUTV9TRVRQT09MIiwJMHg2MTYzfSwKKwl7ImxpbnV4L2F0bV9lbmkuaCIsCSJFTklfU0VUTVVMVCIsCTB4NjE2N30sCisJeyJsaW51eC9hdG1fdGNwLmgiLAkiU0lPQ1NJRkFUTVRDUCIsCTB4NjE4MH0sCisJeyJsaW51eC9hdG1kZXYuaCIsCSJBVE1fR0VUTElOS1JBVEUiLAkweDYxODF9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX0dFVE5BTUVTIiwJMHg2MTgzfSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9HRVRUWVBFIiwJMHg2MTg0fSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9HRVRFU0kiLAkweDYxODV9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX0dFVEFERFIiLAkweDYxODZ9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX1JTVEFERFIiLAkweDYxODd9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX0FEREFERFIiLAkweDYxODh9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX0RFTEFERFIiLAkweDYxODl9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX0dFVENJUkFOR0UiLAkweDYxOGF9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX1NFVENJUkFOR0UiLAkweDYxOGJ9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX1NFVEVTSSIsCTB4NjE4Y30sCisJeyJsaW51eC9hdG1kZXYuaCIsCSJBVE1fU0VURVNJRiIsCTB4NjE4ZH0sCisJeyJsaW51eC9hdG1fdGNwLmgiLAkiQVRNVENQX0NSRUFURSIsCTB4NjE4ZX0sCisJeyJsaW51eC9hdG1kZXYuaCIsCSJBVE1fQURETEVDU0FERFIiLAkweDYxOGV9LAorCXsibGludXgvYXRtX3RjcC5oIiwJIkFUTVRDUF9SRU1PVkUiLAkweDYxOGZ9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX0RFTExFQ1NBRERSIiwJMHg2MThmfSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9HRVRMRUNTQUREUiIsCTB4NjE5MH0sCisJeyJsaW51eC9hdG1icjI2ODQuaCIsCSJCUjI2ODRfU0VURklMVCIsCTB4NjE5MH0sCisJeyJsaW51eC9hdG1sZWMuaCIsCSJBVE1MRUNfQ1RSTCIsCTB4NjFkMH0sCisJeyJsaW51eC9hdG1sZWMuaCIsCSJBVE1MRUNfREFUQSIsCTB4NjFkMX0sCisJeyJsaW51eC9hdG1sZWMuaCIsCSJBVE1MRUNfTUNBU1QiLAkweDYxZDJ9LAorCXsibGludXgvYXRtbXBjLmgiLAkiQVRNTVBDX0NUUkwiLAkweDYxZDh9LAorCXsibGludXgvYXRtbXBjLmgiLAkiQVRNTVBDX0RBVEEiLAkweDYxZDl9LAorCXsibGludXgvYXRtY2xpcC5oIiwJIlNJT0NNS0NMSVAiLAkweDYxZTB9LAorCXsibGludXgvYXRtYXJwLmgiLAkiQVRNQVJQRF9DVFJMIiwJMHg2MWUxfSwKKwl7ImxpbnV4L2F0bWFycC5oIiwJIkFUTUFSUF9NS0lQIiwJMHg2MWUyfSwKKwl7ImxpbnV4L2F0bWFycC5oIiwJIkFUTUFSUF9TRVRFTlRSWSIsCTB4NjFlM30sCisJeyJsaW51eC9hdG1hcnAuaCIsCSJBVE1BUlBfRU5DQVAiLAkweDYxZTV9LAorCXsibGludXgvYXRtc3ZjLmgiLAkiQVRNU0lHRF9DVFJMIiwJMHg2MWYwfSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9TRVRTQyIsCTB4NjFmMX0sCisJeyJsaW51eC9hdG1kZXYuaCIsCSJBVE1fU0VUQkFDS0VORCIsCTB4NjFmMn0sCisJeyJsaW51eC9hdG1kZXYuaCIsCSJBVE1fTkVXQkFDS0VORElGIiwJMHg2MWYzfSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9BRERQQVJUWSIsCTB4NjFmNH0sCisJeyJsaW51eC9hdG1kZXYuaCIsCSJDT01QQVRfQVRNX0FERFBBUlRZIiwJMHg2MWY0fSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9EUk9QUEFSVFkiLAkweDYxZjV9LAorCXsibGludXgvY200MDAwX2NzLmgiLAkiQ01fSU9DR1NUQVRVUyIsCTB4NjMwMH0sCisJeyJsaW51eC9jaGlvLmgiLAkiQ0hJT01PVkUiLAkweDYzMDF9LAorCXsibGludXgvY200MDAwX2NzLmgiLAkiQ01fSU9DR0FUUiIsCTB4NjMwMX0sCisJeyJsaW51eC9jaGlvLmgiLAkiQ0hJT0VYQ0hBTkdFIiwJMHg2MzAyfSwKKwl7ImxpbnV4L2NtNDAwMF9jcy5oIiwJIkNNX0lPQ1NQVFMiLAkweDYzMDJ9LAorCXsibGludXgvY2hpby5oIiwJIkNISU9QT1NJVElPTiIsCTB4NjMwM30sCisJeyJsaW51eC9jbTQwMDBfY3MuaCIsCSJDTV9JT0NTUkRSIiwJMHg2MzAzfSwKKwl7ImxpbnV4L2NoaW8uaCIsCSJDSElPR1BJQ0tFUiIsCTB4NjMwNH0sCisJeyJsaW51eC9jbTQwMDBfY3MuaCIsCSJDTV9JT0NBUkRPRkYiLAkweDYzMDR9LAorCXsibGludXgvY2hpby5oIiwJIkNISU9TUElDS0VSIiwJMHg2MzA1fSwKKwl7ImxpbnV4L2NoaW8uaCIsCSJDSElPR1BBUkFNUyIsCTB4NjMwNn0sCisJeyJsaW51eC9jaGlvLmgiLAkiQ0hJT0dTVEFUVVMiLAkweDYzMDh9LAorCXsibGludXgvY29kYS5oIiwJIkNJT0NfS0VSTkVMX1ZFUlNJT04iLAkweDYzMGF9LAorCXsibGludXgvY2hpby5oIiwJIkNISU9HRUxFTSIsCTB4NjMxMH0sCisJeyJsaW51eC9jaGlvLmgiLAkiQ0hJT0lOSVRFTEVNIiwJMHg2MzExfSwKKwl7ImxpbnV4L2NoaW8uaCIsCSJDSElPU1ZPTFRBRyIsCTB4NjMxMn0sCisJeyJsaW51eC9jaGlvLmgiLAkiQ0hJT0dWUEFSQU1TIiwJMHg2MzEzfSwKKwl7ImxpbnV4L2NvbXN0YXRzLmgiLAkiQ09NX0dFVFBPUlRTVEFUUyIsCTB4NjMxZX0sCisJeyJsaW51eC9jb21zdGF0cy5oIiwJIkNPTV9DTFJQT1JUU1RBVFMiLAkweDYzMWZ9LAorCXsibGludXgvY29tc3RhdHMuaCIsCSJDT01fR0VUQlJEU1RBVFMiLAkweDYzMjB9LAorCXsibGludXgvY29tc3RhdHMuaCIsCSJDT01fUkVBRFBPUlQiLAkweDYzMjh9LAorCXsibGludXgvY29tc3RhdHMuaCIsCSJDT01fUkVBREJPQVJEIiwJMHg2MzI5fSwKKwl7ImxpbnV4L2NvbXN0YXRzLmgiLAkiQ09NX1JFQURQQU5FTCIsCTB4NjMyYX0sCisJeyJsaW51eC9jbTQwMDBfY3MuaCIsCSJDTV9JT1NEQkdMVkwiLAkweDYzZmF9LAorCXsibGludXgvdmlkZW9fZGVjb2Rlci5oIiwJIkRFQ09ERVJfR0VUX0NBUEFCSUxJVElFUyIsCTB4NjQwMX0sCisJeyJsaW51eC92aWRlb19kZWNvZGVyLmgiLAkiREVDT0RFUl9HRVRfU1RBVFVTIiwJMHg2NDAyfSwKKwl7InBjbWNpYS9kcy5oIiwJIkRTX0FESlVTVF9SRVNPVVJDRV9JTkZPIiwJMHg2NDAyfSwKKwl7ImxpbnV4L3ZpZGVvX2RlY29kZXIuaCIsCSJERUNPREVSX1NFVF9OT1JNIiwJMHg2NDAzfSwKKwl7InBjbWNpYS9kcy5oIiwJIkRTX0dFVF9DT05GSUdVUkFUSU9OX0lORk8iLAkweDY0MDN9LAorCXsibGludXgvdmlkZW9fZGVjb2Rlci5oIiwJIkRFQ09ERVJfU0VUX0lOUFVUIiwJMHg2NDA0fSwKKwl7InBjbWNpYS9kcy5oIiwJIkRTX0dFVF9GSVJTVF9UVVBMRSIsCTB4NjQwNH0sCisJeyJsaW51eC92aWRlb19kZWNvZGVyLmgiLAkiREVDT0RFUl9TRVRfT1VUUFVUIiwJMHg2NDA1fSwKKwl7InBjbWNpYS9kcy5oIiwJIkRTX0dFVF9ORVhUX1RVUExFIiwJMHg2NDA1fSwKKwl7ImxpbnV4L3ZpZGVvX2RlY29kZXIuaCIsCSJERUNPREVSX0VOQUJMRV9PVVRQVVQiLAkweDY0MDZ9LAorCXsicGNtY2lhL2RzLmgiLAkiRFNfR0VUX1RVUExFX0RBVEEiLAkweDY0MDZ9LAorCXsibGludXgvdmlkZW9fZGVjb2Rlci5oIiwJIkRFQ09ERVJfU0VUX1BJQ1RVUkUiLAkweDY0MDd9LAorCXsicGNtY2lhL2RzLmgiLAkiRFNfUEFSU0VfVFVQTEUiLAkweDY0MDd9LAorCXsibGludXgvdmlkZW9fZGVjb2Rlci5oIiwJIkRFQ09ERVJfU0VUX0dQSU8iLAkweDY0MDh9LAorCXsicGNtY2lhL2RzLmgiLAkiRFNfUkVTRVRfQ0FSRCIsCTB4NjQwOH0sCisJeyJsaW51eC92aWRlb19kZWNvZGVyLmgiLAkiREVDT0RFUl9JTklUIiwJMHg2NDA5fSwKKwl7InBjbWNpYS9kcy5oIiwJIkRTX0dFVF9TVEFUVVMiLAkweDY0MDl9LAorCXsibGludXgvdmlkZW9fZGVjb2Rlci5oIiwJIkRFQ09ERVJfU0VUX1ZCSV9CWVBBU1MiLAkweDY0MGF9LAorCXsicGNtY2lhL2RzLmgiLAkiRFNfQUNDRVNTX0NPTkZJR1VSQVRJT05fUkVHSVNURVIiLAkweDY0MGF9LAorCXsicGNtY2lhL2RzLmgiLAkiRFNfVkFMSURBVEVfQ0lTIiwJMHg2NDBifSwKKwl7InBjbWNpYS9kcy5oIiwJIkRTX1NVU1BFTkRfQ0FSRCIsCTB4NjQwY30sCisJeyJwY21jaWEvZHMuaCIsCSJEU19SRVNVTUVfQ0FSRCIsCTB4NjQwZH0sCisJeyJwY21jaWEvZHMuaCIsCSJEU19FSkVDVF9DQVJEIiwJMHg2NDBlfSwKKwl7InBjbWNpYS9kcy5oIiwJIkRTX0lOU0VSVF9DQVJEIiwJMHg2NDBmfSwKKwl7InBjbWNpYS9kcy5oIiwJIkRTX0dFVF9GSVJTVF9SRUdJT04iLAkweDY0MTB9LAorCXsicGNtY2lhL2RzLmgiLAkiRFNfR0VUX05FWFRfUkVHSU9OIiwJMHg2NDExfSwKKwl7InBjbWNpYS9kcy5oIiwJIkRTX1JFUExBQ0VfQ0lTIiwJMHg2NDEyfSwKKwl7InBjbWNpYS9kcy5oIiwJIkRTX0dFVF9GSVJTVF9XSU5ET1ciLAkweDY0MTN9LAorCXsicGNtY2lhL2RzLmgiLAkiRFNfR0VUX05FWFRfV0lORE9XIiwJMHg2NDE0fSwKKwl7InBjbWNpYS9kcy5oIiwJIkRTX0dFVF9NRU1fUEFHRSIsCTB4NjQxNX0sCisJeyJwY21jaWEvZHMuaCIsCSJEU19CSU5EX1JFUVVFU1QiLAkweDY0M2N9LAorCXsicGNtY2lhL2RzLmgiLAkiRFNfR0VUX0RFVklDRV9JTkZPIiwJMHg2NDNkfSwKKwl7InBjbWNpYS9kcy5oIiwJIkRTX0dFVF9ORVhUX0RFVklDRSIsCTB4NjQzZX0sCisJeyJwY21jaWEvZHMuaCIsCSJEU19VTkJJTkRfUkVRVUVTVCIsCTB4NjQzZn0sCisJeyJwY21jaWEvZHMuaCIsCSJEU19CSU5EX01URCIsCTB4NjQ0MH0sCisJeyJtZWRpYS92NGwyLWNvbW1vbi5oIiwJIkFVRENfU0VUX1JBRElPIiwJMHg2NDU4fSwKKwl7Im1lZGlhL3Y0bDItY29tbW9uLmgiLAkiVFVORVJfU0VUX1RZUEVfQUREUiIsCTB4NjQ1YX0sCisJeyJtZWRpYS92NGwyLWNvbW1vbi5oIiwJIlRVTkVSX1NFVF9TVEFOREJZIiwJMHg2NDVifSwKKwl7Im1lZGlhL3Y0bDItY29tbW9uLmgiLAkiVFVORVJfU0VUX0NPTkZJRyIsCTB4NjQ1Y30sCisJeyJtZWRpYS92NGwyLWNvbW1vbi5oIiwJIlZJRElPQ19JTlRfU19UVU5FUl9NT0RFIiwJMHg2NDVkfSwKKwl7Im1lZGlhL3Y0bDItY29tbW9uLmgiLAkiVklESU9DX0lOVF9TX1NUQU5EQlkiLAkweDY0NWV9LAorCXsibWVkaWEvdjRsMi1jb21tb24uaCIsCSJWSURJT0NfSU5UX1JFU0VUIiwJMHg2NDY2fSwKKwl7Im1lZGlhL3Y0bDItY29tbW9uLmgiLAkiVklESU9DX0lOVF9BVURJT19DTE9DS19GUkVRIiwJMHg2NDY3fSwKKwl7Im1lZGlhL3Y0bDItY29tbW9uLmgiLAkiVklESU9DX0lOVF9ERUNPREVfVkJJX0xJTkUiLAkweDY0Njh9LAorCXsibWVkaWEvdjRsMi1jb21tb24uaCIsCSJWSURJT0NfSU5UX1NfVkJJX0RBVEEiLAkweDY0Njl9LAorCXsibWVkaWEvdjRsMi1jb21tb24uaCIsCSJWSURJT0NfSU5UX0dfVkJJX0RBVEEiLAkweDY0NmF9LAorCXsibWVkaWEvdjRsMi1jb21tb24uaCIsCSJWSURJT0NfSU5UX0kyU19DTE9DS19GUkVRIiwJMHg2NDZjfSwKKwl7Im1lZGlhL3Y0bDItY29tbW9uLmgiLAkiVklESU9DX0lOVF9TX0FVRElPX1JPVVRJTkciLAkweDY0NmR9LAorCXsibWVkaWEvdjRsMi1jb21tb24uaCIsCSJWSURJT0NfSU5UX0dfQVVESU9fUk9VVElORyIsCTB4NjQ2ZX0sCisJeyJtZWRpYS92NGwyLWNvbW1vbi5oIiwJIlZJRElPQ19JTlRfU19WSURFT19ST1VUSU5HIiwJMHg2NDZmfSwKKwl7Im1lZGlhL3Y0bDItY29tbW9uLmgiLAkiVklESU9DX0lOVF9HX1ZJREVPX1JPVVRJTkciLAkweDY0NzB9LAorCXsibWVkaWEvdjRsMi1jb21tb24uaCIsCSJWSURJT0NfSU5UX1NfQ1JZU1RBTF9GUkVRIiwJMHg2NDcxfSwKKwl7Im1lZGlhL3Y0bDItY29tbW9uLmgiLAkiVklESU9DX0lOVF9JTklUIiwJMHg2NDcyfSwKKwl7Im1lZGlhL3Y0bDItY29tbW9uLmgiLAkiVklESU9DX0lOVF9TX1NURF9PVVRQVVQiLAkweDY0NzN9LAorCXsibWVkaWEvdjRsMi1jb21tb24uaCIsCSJWSURJT0NfSU5UX0dfU1REX09VVFBVVCIsCTB4NjQ3NH0sCisJeyJsaW51eC92aWRlb19kZWNvZGVyLmgiLAkiREVDT0RFUl9EVU1QIiwJMHg2NGMwfSwKKwl7ImxpbnV4L3ZpZGVvX2VuY29kZXIuaCIsCSJFTkNPREVSX0dFVF9DQVBBQklMSVRJRVMiLAkweDY1MDF9LAorCXsibGludXgvdmlkZW9fZW5jb2Rlci5oIiwJIkVOQ09ERVJfU0VUX05PUk0iLAkweDY1MDJ9LAorCXsibGludXgvdmlkZW9fZW5jb2Rlci5oIiwJIkVOQ09ERVJfU0VUX0lOUFVUIiwJMHg2NTAzfSwKKwl7ImxpbnV4L3ZpZGVvX2VuY29kZXIuaCIsCSJFTkNPREVSX1NFVF9PVVRQVVQiLAkweDY1MDR9LAorCXsibGludXgvdmlkZW9fZW5jb2Rlci5oIiwJIkVOQ09ERVJfRU5BQkxFX09VVFBVVCIsCTB4NjUwNX0sCisJeyJsaW51eC9mcy5oIiwJIkZTX0lPQzMyX0dFVEZMQUdTIiwJMHg2NjAxfSwKKwl7ImxpbnV4L2ZzLmgiLAkiRlNfSU9DX0dFVEZMQUdTIiwJMHg2NjAxfSwKKwl7ImxpbnV4L2ZzLmgiLAkiRlNfSU9DMzJfU0VURkxBR1MiLAkweDY2MDJ9LAorCXsibGludXgvZnMuaCIsCSJGU19JT0NfU0VURkxBR1MiLAkweDY2MDJ9LAorCXsibGludXgvZXh0M19mcy5oIiwJIkVYVDNfSU9DMzJfR0VUVkVSU0lPTiIsCTB4NjYwM30sCisJeyJsaW51eC9leHQzX2ZzLmgiLAkiRVhUM19JT0NfR0VUVkVSU0lPTiIsCTB4NjYwM30sCisJeyJsaW51eC9leHQzX2ZzLmgiLAkiRVhUM19JT0MzMl9TRVRWRVJTSU9OIiwJMHg2NjA0fSwKKwl7ImxpbnV4L2V4dDNfZnMuaCIsCSJFWFQzX0lPQ19TRVRWRVJTSU9OIiwJMHg2NjA0fSwKKwl7ImxpbnV4L2V4dDJfZnMuaCIsCSJFWFQyX0lPQ19HRVRSU1ZTWiIsCTB4NjYwNX0sCisJeyJsaW51eC9leHQzX2ZzLmgiLAkiRVhUM19JT0MzMl9HRVRSU1ZTWiIsCTB4NjYwNX0sCisJeyJsaW51eC9leHQzX2ZzLmgiLAkiRVhUM19JT0NfR0VUUlNWU1oiLAkweDY2MDV9LAorCXsibGludXgvZXh0Ml9mcy5oIiwJIkVYVDJfSU9DX1NFVFJTVlNaIiwJMHg2NjA2fSwKKwl7ImxpbnV4L2V4dDNfZnMuaCIsCSJFWFQzX0lPQzMyX1NFVFJTVlNaIiwJMHg2NjA2fSwKKwl7ImxpbnV4L2V4dDNfZnMuaCIsCSJFWFQzX0lPQ19TRVRSU1ZTWiIsCTB4NjYwNn0sCisJeyJsaW51eC9leHQzX2ZzLmgiLAkiRVhUM19JT0MzMl9HUk9VUF9FWFRFTkQiLAkweDY2MDd9LAorCXsibGludXgvZXh0M19mcy5oIiwJIkVYVDNfSU9DX0dST1VQX0VYVEVORCIsCTB4NjYwN30sCisJeyJsaW51eC9leHQzX2ZzLmgiLAkiRVhUM19JT0NfR1JPVVBfQUREIiwJMHg2NjA4fSwKKwl7ImxpbnV4L2ZzLmgiLAkiRlNfSU9DX0ZJRU1BUCIsCTB4NjYwYn0sCisJeyJsaW51eC9leHQzX2ZzLmgiLAkiRVhUM19JT0MzMl9XQUlUX0ZPUl9SRUFET05MWSIsCTB4NjY2M30sCisJeyJsaW51eC9leHQzX2ZzLmgiLAkiRVhUM19JT0NfV0FJVF9GT1JfUkVBRE9OTFkiLAkweDY2NjN9LAorCXsibGludXgvdXNiL2dhZGdldGZzLmgiLAkiR0FER0VURlNfRklGT19TVEFUVVMiLAkweDY3MDF9LAorCXsibGludXgvdXNiL2dhZGdldGZzLmgiLAkiR0FER0VURlNfRklGT19GTFVTSCIsCTB4NjcwMn0sCisJeyJsaW51eC91c2IvZ2FkZ2V0ZnMuaCIsCSJHQURHRVRGU19DTEVBUl9IQUxUIiwJMHg2NzAzfSwKKwl7ImxpbnV4L3VzYi9nX3ByaW50ZXIuaCIsCSJHQURHRVRfR0VUX1BSSU5URVJfU1RBVFVTIiwJMHg2NzIxfSwKKwl7ImxpbnV4L3VzYi9nX3ByaW50ZXIuaCIsCSJHQURHRVRfU0VUX1BSSU5URVJfU1RBVFVTIiwJMHg2NzIyfSwKKwl7ImxpbnV4L2hwZXQuaCIsCSJIUEVUX0lFX09OIiwJMHg2ODAxfSwKKwl7ImxpbnV4L2hwZXQuaCIsCSJIUEVUX0lFX09GRiIsCTB4NjgwMn0sCisJeyJsaW51eC9ocGV0LmgiLAkiSFBFVF9JTkZPIiwJMHg2ODAzfSwKKwl7ImxpbnV4L2hwZXQuaCIsCSJIUEVUX0VQSSIsCTB4NjgwNH0sCisJeyJsaW51eC9ocGV0LmgiLAkiSFBFVF9EUEkiLAkweDY4MDV9LAorCXsibGludXgvaHBldC5oIiwJIkhQRVRfSVJRRlJFUSIsCTB4NjgwNn0sCisJeyJsaW51eC9pMm8tZGV2LmgiLAkiSTJPR0VUSU9QUyIsCTB4NjkwMH0sCisJeyJsaW51eC9pMm8tZGV2LmgiLAkiSTJPSFJUR0VUIiwJMHg2OTAxfSwKKwl7ImxpbnV4L2kyby1kZXYuaCIsCSJJMk9MQ1RHRVQiLAkweDY5MDJ9LAorCXsibGludXgvaTJvLWRldi5oIiwJIkkyT1BBUk1TRVQiLAkweDY5MDN9LAorCXsibGludXgvaTJvLWRldi5oIiwJIkkyT1BBUk1HRVQiLAkweDY5MDR9LAorCXsibGludXgvaTJvLWRldi5oIiwJIkkyT1NXREwiLAkweDY5MDV9LAorCXsibGludXgvaTJvLWRldi5oIiwJIkkyT1NXVUwiLAkweDY5MDZ9LAorCXsibGludXgvaTJvLWRldi5oIiwJIkkyT1NXREVMIiwJMHg2OTA3fSwKKwl7ImxpbnV4L2kyby1kZXYuaCIsCSJJMk9WQUxJREFURSIsCTB4NjkwOH0sCisJeyJsaW51eC9pMm8tZGV2LmgiLAkiSTJPSFRNTCIsCTB4NjkwOX0sCisJeyJsaW51eC9pMm8tZGV2LmgiLAkiSTJPRVZUUkVHIiwJMHg2OTBhfSwKKwl7ImxpbnV4L2kyby1kZXYuaCIsCSJJMk9FVlRHRVQiLAkweDY5MGJ9LAorCXsibGludXgvaXBtaS5oIiwJIklQTUlDVExfUkVDRUlWRV9NU0dfVFJVTkMiLAkweDY5MGJ9LAorCXsibGludXgvaTJvLWRldi5oIiwJIkkyT1BBU1NUSFJVIiwJMHg2OTBjfSwKKwl7ImxpbnV4L2kyby1kZXYuaCIsCSJJMk9QQVNTVEhSVTMyIiwJMHg2OTBjfSwKKwl7ImxpbnV4L2lwbWkuaCIsCSJJUE1JQ1RMX1JFQ0VJVkVfTVNHIiwJMHg2OTBjfSwKKwl7ImxpbnV4L2lwbWkuaCIsCSJJUE1JQ1RMX1NFTkRfQ09NTUFORCIsCTB4NjkwZH0sCisJeyJsaW51eC9pcG1pLmgiLAkiSVBNSUNUTF9SRUdJU1RFUl9GT1JfQ01EIiwJMHg2OTBlfSwKKwl7ImxpbnV4L2lwbWkuaCIsCSJJUE1JQ1RMX1VOUkVHSVNURVJfRk9SX0NNRCIsCTB4NjkwZn0sCisJeyJsaW51eC9pcG1pLmgiLAkiSVBNSUNUTF9TRVRfR0VUU19FVkVOVFNfQ01EIiwJMHg2OTEwfSwKKwl7ImxpbnV4L2lwbWkuaCIsCSJJUE1JQ1RMX1NFVF9NWV9BRERSRVNTX0NNRCIsCTB4NjkxMX0sCisJeyJsaW51eC9pcG1pLmgiLAkiSVBNSUNUTF9HRVRfTVlfQUREUkVTU19DTUQiLAkweDY5MTJ9LAorCXsibGludXgvaXBtaS5oIiwJIklQTUlDVExfU0VUX01ZX0xVTl9DTUQiLAkweDY5MTN9LAorCXsibGludXgvaXBtaS5oIiwJIklQTUlDVExfR0VUX01ZX0xVTl9DTUQiLAkweDY5MTR9LAorCXsibGludXgvaXBtaS5oIiwJIklQTUlDVExfU0VORF9DT01NQU5EX1NFVFRJTUUiLAkweDY5MTV9LAorCXsibGludXgvaXBtaS5oIiwJIklQTUlDVExfU0VUX1RJTUlOR19QQVJNU19DTUQiLAkweDY5MTZ9LAorCXsibGludXgvaXBtaS5oIiwJIklQTUlDVExfR0VUX1RJTUlOR19QQVJNU19DTUQiLAkweDY5MTd9LAorCXsibGludXgvaXBtaS5oIiwJIklQTUlDVExfU0VUX01ZX0NIQU5ORUxfQUREUkVTU19DTUQiLAkweDY5MTh9LAorCXsibGludXgvaXBtaS5oIiwJIklQTUlDVExfR0VUX01ZX0NIQU5ORUxfQUREUkVTU19DTUQiLAkweDY5MTl9LAorCXsibGludXgvaXBtaS5oIiwJIklQTUlDVExfU0VUX01ZX0NIQU5ORUxfTFVOX0NNRCIsCTB4NjkxYX0sCisJeyJsaW51eC9pcG1pLmgiLAkiSVBNSUNUTF9HRVRfTVlfQ0hBTk5FTF9MVU5fQ01EIiwJMHg2OTFifSwKKwl7ImxpbnV4L2lwbWkuaCIsCSJJUE1JQ1RMX1JFR0lTVEVSX0ZPUl9DTURfQ0hBTlMiLAkweDY5MWN9LAorCXsibGludXgvaXBtaS5oIiwJIklQTUlDVExfVU5SRUdJU1RFUl9GT1JfQ01EX0NIQU5TIiwJMHg2OTFkfSwKKwl7ImxpbnV4L2lwbWkuaCIsCSJJUE1JQ1RMX0dFVF9NQUlOVEVOQU5DRV9NT0RFX0NNRCIsCTB4NjkxZX0sCisJeyJsaW51eC9pcG1pLmgiLAkiSVBNSUNUTF9TRVRfTUFJTlRFTkFOQ0VfTU9ERV9DTUQiLAkweDY5MWZ9LAorCXsibGludXgvaThrLmgiLAkiSThLX0JJT1NfVkVSU0lPTiIsCTB4Njk4MH0sCisJeyJsaW51eC9pOGsuaCIsCSJJOEtfTUFDSElORV9JRCIsCTB4Njk4MX0sCisJeyJsaW51eC9pOGsuaCIsCSJJOEtfUE9XRVJfU1RBVFVTIiwJMHg2OTgyfSwKKwl7ImxpbnV4L2k4ay5oIiwJIkk4S19GTl9TVEFUVVMiLAkweDY5ODN9LAorCXsibGludXgvaThrLmgiLAkiSThLX0dFVF9URU1QIiwJMHg2OTg0fSwKKwl7ImxpbnV4L2k4ay5oIiwJIkk4S19HRVRfU1BFRUQiLAkweDY5ODV9LAorCXsibGludXgvaThrLmgiLAkiSThLX0dFVF9GQU4iLAkweDY5ODZ9LAorCXsibGludXgvaThrLmgiLAkiSThLX1NFVF9GQU4iLAkweDY5ODd9LAorCXsibGludXgvam95c3RpY2suaCIsCSJKU0lPQ0dWRVJTSU9OIiwJMHg2YTAxfSwKKwl7ImxpbnV4L2pveXN0aWNrLmgiLAkiSlNJT0NHQVhFUyIsCTB4NmExMX0sCisJeyJsaW51eC9qb3lzdGljay5oIiwJIkpTSU9DR0JVVFRPTlMiLAkweDZhMTJ9LAorCXsibGludXgvam95c3RpY2suaCIsCSJKU0lPQ1NDT1JSIiwJMHg2YTIxfSwKKwl7ImxpbnV4L2pveXN0aWNrLmgiLAkiSlNJT0NHQ09SUiIsCTB4NmEyMn0sCisJeyJsaW51eC9qb3lzdGljay5oIiwJIkpTSU9DU0FYTUFQIiwJMHg2YTMxfSwKKwl7ImxpbnV4L2pveXN0aWNrLmgiLAkiSlNJT0NHQVhNQVAiLAkweDZhMzJ9LAorCXsibGludXgvam95c3RpY2suaCIsCSJKU0lPQ1NCVE5NQVAiLAkweDZhMzN9LAorCXsibGludXgvam95c3RpY2suaCIsCSJKU0lPQ0dCVE5NQVAiLAkweDZhMzR9LAorCXsidmlkZW8va3lyby5oIiwJIktZUk9fSU9DVExfT1ZFUkxBWV9DUkVBVEUiLAkweDZiMDB9LAorCXsidmlkZW8va3lyby5oIiwJIktZUk9fSU9DVExfT1ZFUkxBWV9WSUVXUE9SVF9TRVQiLAkweDZiMDF9LAorCXsibGludXgvc3BpL3NwaWRldi5oIiwJIlNQSV9JT0NfUkRfTU9ERSIsCTB4NmIwMX0sCisJeyJsaW51eC9zcGkvc3BpZGV2LmgiLAkiU1BJX0lPQ19XUl9NT0RFIiwJMHg2YjAxfSwKKwl7InZpZGVvL2t5cm8uaCIsCSJLWVJPX0lPQ1RMX1NFVF9WSURFT19NT0RFIiwJMHg2YjAyfSwKKwl7ImxpbnV4L3NwaS9zcGlkZXYuaCIsCSJTUElfSU9DX1JEX0xTQl9GSVJTVCIsCTB4NmIwMn0sCisJeyJsaW51eC9zcGkvc3BpZGV2LmgiLAkiU1BJX0lPQ19XUl9MU0JfRklSU1QiLAkweDZiMDJ9LAorCXsidmlkZW8va3lyby5oIiwJIktZUk9fSU9DVExfVVZTVFJJREUiLAkweDZiMDN9LAorCXsibGludXgvc3BpL3NwaWRldi5oIiwJIlNQSV9JT0NfUkRfQklUU19QRVJfV09SRCIsCTB4NmIwM30sCisJeyJsaW51eC9zcGkvc3BpZGV2LmgiLAkiU1BJX0lPQ19XUl9CSVRTX1BFUl9XT1JEIiwJMHg2YjAzfSwKKwl7InZpZGVvL2t5cm8uaCIsCSJLWVJPX0lPQ1RMX09WRVJMQVlfT0ZGU0VUIiwJMHg2YjA0fSwKKwl7ImxpbnV4L3NwaS9zcGlkZXYuaCIsCSJTUElfSU9DX1JEX01BWF9TUEVFRF9IWiIsCTB4NmIwNH0sCisJeyJsaW51eC9zcGkvc3BpZGV2LmgiLAkiU1BJX0lPQ19XUl9NQVhfU1BFRURfSFoiLAkweDZiMDR9LAorCXsidmlkZW8va3lyby5oIiwJIktZUk9fSU9DVExfU1RSSURFIiwJMHg2YjA1fSwKKwl7ImxpbnV4L3VkZl9mc19pLmgiLAkiVURGX0dFVEVBU0laRSIsCTB4NmM0MH0sCisJeyJsaW51eC91ZGZfZnNfaS5oIiwJIlVERl9HRVRFQUJMT0NLIiwJMHg2YzQxfSwKKwl7ImxpbnV4L3VkZl9mc19pLmgiLAkiVURGX0dFVFZPTElERU5UIiwJMHg2YzQyfSwKKwl7ImxpbnV4L3VkZl9mc19pLmgiLAkiVURGX1JFTE9DQVRFX0JMT0NLUyIsCTB4NmM0M30sCisJeyJsaW51eC9zeW5jbGluay5oIiwJIk1HU0xfSU9DU1BBUkFNUyIsCTB4NmQwMH0sCisJeyJsaW51eC9zeW5jbGluay5oIiwJIk1HU0xfSU9DU1BBUkFNUzMyIiwJMHg2ZDAwfSwKKwl7ImxpbnV4L21tdGltZXIuaCIsCSJNTVRJTUVSX0dFVE9GRlNFVCIsCTB4NmQwMH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfTUlESV9QUkVUSU1FIiwJMHg2ZDAwfSwKKwl7ImxpbnV4L3N5bmNsaW5rLmgiLAkiTUdTTF9JT0NHUEFSQU1TIiwJMHg2ZDAxfSwKKwl7ImxpbnV4L3N5bmNsaW5rLmgiLAkiTUdTTF9JT0NHUEFSQU1TMzIiLAkweDZkMDF9LAorCXsibGludXgvbW10aW1lci5oIiwJIk1NVElNRVJfR0VUUkVTIiwJMHg2ZDAxfSwKKwl7ImxpbnV4L210aW8uaCIsCSJNVElPQ1RPUCIsCTB4NmQwMX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfTUlESV9NUFVNT0RFIiwJMHg2ZDAxfSwKKwl7ImxpbnV4L3N5bmNsaW5rLmgiLAkiTUdTTF9JT0NTVFhJRExFIiwJMHg2ZDAyfSwKKwl7ImxpbnV4L21tdGltZXIuaCIsCSJNTVRJTUVSX0dFVEZSRVEiLAkweDZkMDJ9LAorCXsibGludXgvbXRpby5oIiwJIk1USU9DR0VUIiwJMHg2ZDAyfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9NSURJX01QVUNNRCIsCTB4NmQwMn0sCisJeyJsaW51eC9zeW5jbGluay5oIiwJIk1HU0xfSU9DR1RYSURMRSIsCTB4NmQwM30sCisJeyJsaW51eC9tdGlvLmgiLAkiTVRJT0NQT1MiLAkweDZkMDN9LAorCXsibGludXgvc3luY2xpbmsuaCIsCSJNR1NMX0lPQ1RYRU5BQkxFIiwJMHg2ZDA0fSwKKwl7ImxpbnV4L21tdGltZXIuaCIsCSJNTVRJTUVSX0dFVEJJVFMiLAkweDZkMDR9LAorCXsibGludXgvbXRpby5oIiwJIk1USU9DR0VUQ09ORklHIiwJMHg2ZDA0fSwKKwl7ImxpbnV4L3N5bmNsaW5rLmgiLAkiTUdTTF9JT0NSWEVOQUJMRSIsCTB4NmQwNX0sCisJeyJsaW51eC9tdGlvLmgiLAkiTVRJT0NTRVRDT05GSUciLAkweDZkMDV9LAorCXsibGludXgvc3luY2xpbmsuaCIsCSJNR1NMX0lPQ1RYQUJPUlQiLAkweDZkMDZ9LAorCXsibGludXgvbW10aW1lci5oIiwJIk1NVElNRVJfTU1BUEFWQUlMIiwJMHg2ZDA2fSwKKwl7ImxpbnV4L210aW8uaCIsCSJNVElPQ1JERlRTRUciLAkweDZkMDZ9LAorCXsibGludXgvc3luY2xpbmsuaCIsCSJNR1NMX0lPQ0dTVEFUUyIsCTB4NmQwN30sCisJeyJsaW51eC9tdGlvLmgiLAkiTVRJT0NXUkZUU0VHIiwJMHg2ZDA3fSwKKwl7ImxpbnV4L3N5bmNsaW5rLmgiLAkiTUdTTF9JT0NXQUlURVZFTlQiLAkweDZkMDh9LAorCXsibGludXgvbXRpby5oIiwJIk1USU9DVk9MSU5GTyIsCTB4NmQwOH0sCisJeyJsaW51eC9zeW5jbGluay5oIiwJIk1HU0xfSU9DTE9PUFRYRE9ORSIsCTB4NmQwOX0sCisJeyJsaW51eC9tbXRpbWVyLmgiLAkiTU1USU1FUl9HRVRDT1VOVEVSIiwJMHg2ZDA5fSwKKwl7ImxpbnV4L210aW8uaCIsCSJNVElPQ0dFVFNJWkUiLAkweDZkMDl9LAorCXsibGludXgvc3luY2xpbmsuaCIsCSJNR1NMX0lPQ1NJRiIsCTB4NmQwYX0sCisJeyJsaW51eC9tdGlvLmgiLAkiTVRJT0NGVEZPUk1BVCIsCTB4NmQwYX0sCisJeyJsaW51eC9zeW5jbGluay5oIiwJIk1HU0xfSU9DR0lGIiwJMHg2ZDBifSwKKwl7ImxpbnV4L210aW8uaCIsCSJNVElPQ0ZUQ01EIiwJMHg2ZDBifSwKKwl7ImxpbnV4L3N5bmNsaW5rLmgiLAkiTUdTTF9JT0NDTFJNT0RDT1VOVCIsCTB4NmQwZn0sCisJeyJsaW51eC9zeW5jbGluay5oIiwJIk1HU0xfSU9DU0dQSU8iLAkweDZkMTB9LAorCXsibGludXgvc3luY2xpbmsuaCIsCSJNR1NMX0lPQ0dHUElPIiwJMHg2ZDExfSwKKwl7ImxpbnV4L3N5bmNsaW5rLmgiLAkiTUdTTF9JT0NXQUlUR1BJTyIsCTB4NmQxMn0sCisJeyJsaW51eC96ZnRhcGUuaCIsCSJNVElPQ19aRlRBUEVfR0VUQkxLU1oiLAkweDZkNjh9LAorCXsibGludXgvbmNwX2ZzLmgiLAkiTkNQX0lPQ19OQ1BSRVFVRVNUIiwJMHg2ZTAxfSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfR0VUTU9VTlRVSUQiLAkweDZlMDJ9LAorCXsibGludXgvbmNwX2ZzLmgiLAkiTkNQX0lPQ19HRVRNT1VOVFVJRDIiLAkweDZlMDJ9LAorCXsibGludXgvbmNwX2ZzLmgiLAkiTkNQX0lPQ19DT05OX0xPR0dFRF9JTiIsCTB4NmUwM30sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX0dFVF9GU19JTkZPIiwJMHg2ZTA0fSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfR0VUX0ZTX0lORk9fVjIiLAkweDZlMDR9LAorCXsibGludXgvbmNwX2ZzLmgiLAkiTkNQX0lPQ19TSUdOX0lOSVQiLAkweDZlMDV9LAorCXsibGludXgvbmNwX2ZzLmgiLAkiTkNQX0lPQ19TRVRfU0lHTl9XQU5URUQiLAkweDZlMDZ9LAorCXsibGludXgvbmNwX2ZzLmgiLAkiTkNQX0lPQ19TSUdOX1dBTlRFRCIsCTB4NmUwNn0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX0xPQ0tVTkxPQ0siLAkweDZlMDd9LAorCXsibGludXgvbmNwX2ZzLmgiLAkiTkNQX0lPQ19HRVRST09UIiwJMHg2ZTA4fSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfU0VUUk9PVCIsCTB4NmUwOH0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX0dFVE9CSkVDVE5BTUUiLAkweDZlMDl9LAorCXsibGludXgvbmNwX2ZzLmgiLAkiTkNQX0lPQ19TRVRPQkpFQ1ROQU1FIiwJMHg2ZTA5fSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfR0VUUFJJVkFURURBVEEiLAkweDZlMGF9LAorCXsibGludXgvbmNwX2ZzLmgiLAkiTkNQX0lPQ19TRVRQUklWQVRFREFUQSIsCTB4NmUwYX0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX0dFVENIQVJTRVRTIiwJMHg2ZTBifSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfU0VUQ0hBUlNFVFMiLAkweDZlMGJ9LAorCXsibGludXgvbmNwX2ZzLmgiLAkiTkNQX0lPQ19HRVRERU5UUllUVEwiLAkweDZlMGN9LAorCXsibGludXgvbmNwX2ZzLmgiLAkiTkNQX0lPQ19TRVRERU5UUllUVEwiLAkweDZlMGN9LAorCXsibGludXgvbWF0cm94ZmIuaCIsCSJNQVRST1hGQl9HRVRfT1VUUFVUX0NPTk5FQ1RJT04iLAkweDZlZjh9LAorCXsibGludXgvbWF0cm94ZmIuaCIsCSJNQVRST1hGQl9TRVRfT1VUUFVUX0NPTk5FQ1RJT04iLAkweDZlZjh9LAorCXsidmlkZW8vc2lzZmIuaCIsCSJTSVNGQl9HRVRfSU5GT19PTEQiLAkweDZlZjh9LAorCXsibGludXgvbWF0cm94ZmIuaCIsCSJNQVRST1hGQl9HRVRfQVZBSUxBQkxFX09VVFBVVFMiLAkweDZlZjl9LAorCXsidmlkZW8vc2lzZmIuaCIsCSJTSVNGQl9HRVRfVkJSU1RBVFVTX09MRCIsCTB4NmVmOX0sCisJeyJsaW51eC9tYXRyb3hmYi5oIiwJIk1BVFJPWEZCX0dFVF9PVVRQVVRfTU9ERSIsCTB4NmVmYX0sCisJeyJsaW51eC9tYXRyb3hmYi5oIiwJIk1BVFJPWEZCX1NFVF9PVVRQVVRfTU9ERSIsCTB4NmVmYX0sCisJeyJ2aWRlby9zaXNmYi5oIiwJIlNJU0ZCX0dFVF9BVVRPTUFYSU1JWkVfT0xEIiwJMHg2ZWZhfSwKKwl7InZpZGVvL3Npc2ZiLmgiLAkiU0lTRkJfU0VUX0FVVE9NQVhJTUlaRV9PTEQiLAkweDZlZmF9LAorCXsibGludXgvbWF0cm94ZmIuaCIsCSJNQVRST1hGQl9HRVRfQUxMX09VVFBVVFMiLAkweDZlZmJ9LAorCXsibXRkL3ViaS11c2VyLmgiLAkiVUJJX0lPQ01LVk9MIiwJMHg2ZjAwfSwKKwl7ImxpbnV4L2R2Yi9hdWRpby5oIiwJIkFVRElPX1NUT1AiLAkweDZmMDF9LAorCXsibXRkL3ViaS11c2VyLmgiLAkiVUJJX0lPQ1JNVk9MIiwJMHg2ZjAxfSwKKwl7ImxpbnV4L2R2Yi9hdWRpby5oIiwJIkFVRElPX1BMQVkiLAkweDZmMDJ9LAorCXsibXRkL3ViaS11c2VyLmgiLAkiVUJJX0lPQ1JTVk9MIiwJMHg2ZjAyfSwKKwl7ImxpbnV4L2R2Yi9hdWRpby5oIiwJIkFVRElPX1BBVVNFIiwJMHg2ZjAzfSwKKwl7Im10ZC91YmktdXNlci5oIiwJIlVCSV9JT0NSTlZPTCIsCTB4NmYwM30sCisJeyJsaW51eC9kdmIvYXVkaW8uaCIsCSJBVURJT19DT05USU5VRSIsCTB4NmYwNH0sCisJeyJsaW51eC9kdmIvYXVkaW8uaCIsCSJBVURJT19TRUxFQ1RfU09VUkNFIiwJMHg2ZjA1fSwKKwl7ImxpbnV4L2R2Yi9hdWRpby5oIiwJIkFVRElPX1NFVF9NVVRFIiwJMHg2ZjA2fSwKKwl7ImxpbnV4L2R2Yi9hdWRpby5oIiwJIkFVRElPX1NFVF9BVl9TWU5DIiwJMHg2ZjA3fSwKKwl7ImxpbnV4L2R2Yi9hdWRpby5oIiwJIkFVRElPX1NFVF9CWVBBU1NfTU9ERSIsCTB4NmYwOH0sCisJeyJsaW51eC9kdmIvYXVkaW8uaCIsCSJBVURJT19DSEFOTkVMX1NFTEVDVCIsCTB4NmYwOX0sCisJeyJsaW51eC9kdmIvYXVkaW8uaCIsCSJBVURJT19HRVRfU1RBVFVTIiwJMHg2ZjBhfSwKKwl7ImxpbnV4L2R2Yi9hdWRpby5oIiwJIkFVRElPX0dFVF9DQVBBQklMSVRJRVMiLAkweDZmMGJ9LAorCXsibGludXgvZHZiL2F1ZGlvLmgiLAkiQVVESU9fQ0xFQVJfQlVGRkVSIiwJMHg2ZjBjfSwKKwl7ImxpbnV4L2R2Yi9hdWRpby5oIiwJIkFVRElPX1NFVF9JRCIsCTB4NmYwZH0sCisJeyJsaW51eC9kdmIvYXVkaW8uaCIsCSJBVURJT19TRVRfTUlYRVIiLAkweDZmMGV9LAorCXsibGludXgvZHZiL2F1ZGlvLmgiLAkiQVVESU9fU0VUX1NUUkVBTVRZUEUiLAkweDZmMGZ9LAorCXsibGludXgvZHZiL2F1ZGlvLmgiLAkiQVVESU9fU0VUX0VYVF9JRCIsCTB4NmYxMH0sCisJeyJsaW51eC9kdmIvYXVkaW8uaCIsCSJBVURJT19TRVRfQVRUUklCVVRFUyIsCTB4NmYxMX0sCisJeyJsaW51eC9kdmIvYXVkaW8uaCIsCSJBVURJT19TRVRfS0FSQU9LRSIsCTB4NmYxMn0sCisJeyJsaW51eC9kdmIvYXVkaW8uaCIsCSJBVURJT19HRVRfUFRTIiwJMHg2ZjEzfSwKKwl7ImxpbnV4L2R2Yi9hdWRpby5oIiwJIkFVRElPX0JJTElOR1VBTF9DSEFOTkVMX1NFTEVDVCIsCTB4NmYxNH0sCisJeyJsaW51eC9kdmIvdmlkZW8uaCIsCSJWSURFT19TVE9QIiwJMHg2ZjE1fSwKKwl7ImxpbnV4L2R2Yi92aWRlby5oIiwJIlZJREVPX1BMQVkiLAkweDZmMTZ9LAorCXsibGludXgvZHZiL3ZpZGVvLmgiLAkiVklERU9fRlJFRVpFIiwJMHg2ZjE3fSwKKwl7ImxpbnV4L2R2Yi92aWRlby5oIiwJIlZJREVPX0NPTlRJTlVFIiwJMHg2ZjE4fSwKKwl7ImxpbnV4L2R2Yi92aWRlby5oIiwJIlZJREVPX1NFTEVDVF9TT1VSQ0UiLAkweDZmMTl9LAorCXsibGludXgvZHZiL3ZpZGVvLmgiLAkiVklERU9fU0VUX0JMQU5LIiwJMHg2ZjFhfSwKKwl7ImxpbnV4L2R2Yi92aWRlby5oIiwJIlZJREVPX0dFVF9TVEFUVVMiLAkweDZmMWJ9LAorCXsibGludXgvZHZiL3ZpZGVvLmgiLAkiVklERU9fR0VUX0VWRU5UIiwJMHg2ZjFjfSwKKwl7ImxpbnV4L2R2Yi92aWRlby5oIiwJIlZJREVPX1NFVF9ESVNQTEFZX0ZPUk1BVCIsCTB4NmYxZH0sCisJeyJsaW51eC9kdmIvdmlkZW8uaCIsCSJWSURFT19TVElMTFBJQ1RVUkUiLAkweDZmMWV9LAorCXsibGludXgvZHZiL3ZpZGVvLmgiLAkiVklERU9fRkFTVF9GT1JXQVJEIiwJMHg2ZjFmfSwKKwl7ImxpbnV4L2R2Yi92aWRlby5oIiwJIlZJREVPX1NMT1dNT1RJT04iLAkweDZmMjB9LAorCXsibGludXgvZHZiL3ZpZGVvLmgiLAkiVklERU9fR0VUX0NBUEFCSUxJVElFUyIsCTB4NmYyMX0sCisJeyJsaW51eC9kdmIvdmlkZW8uaCIsCSJWSURFT19DTEVBUl9CVUZGRVIiLAkweDZmMjJ9LAorCXsibGludXgvZHZiL3ZpZGVvLmgiLAkiVklERU9fU0VUX0lEIiwJMHg2ZjIzfSwKKwl7ImxpbnV4L2R2Yi92aWRlby5oIiwJIlZJREVPX1NFVF9TVFJFQU1UWVBFIiwJMHg2ZjI0fSwKKwl7ImxpbnV4L2R2Yi92aWRlby5oIiwJIlZJREVPX1NFVF9GT1JNQVQiLAkweDZmMjV9LAorCXsibGludXgvZHZiL3ZpZGVvLmgiLAkiVklERU9fU0VUX1NZU1RFTSIsCTB4NmYyNn0sCisJeyJsaW51eC9kdmIvdmlkZW8uaCIsCSJWSURFT19TRVRfSElHSExJR0hUIiwJMHg2ZjI3fSwKKwl7ImxpbnV4L2R2Yi9kbXguaCIsCSJETVhfU1RBUlQiLAkweDZmMjl9LAorCXsibGludXgvZHZiL2RteC5oIiwJIkRNWF9TVE9QIiwJMHg2ZjJhfSwKKwl7ImxpbnV4L2R2Yi9kbXguaCIsCSJETVhfU0VUX0ZJTFRFUiIsCTB4NmYyYn0sCisJeyJsaW51eC9kdmIvZG14LmgiLAkiRE1YX1NFVF9QRVNfRklMVEVSIiwJMHg2ZjJjfSwKKwl7ImxpbnV4L2R2Yi9kbXguaCIsCSJETVhfU0VUX0JVRkZFUl9TSVpFIiwJMHg2ZjJkfSwKKwl7ImxpbnV4L2R2Yi9kbXguaCIsCSJETVhfR0VUX1BFU19QSURTIiwJMHg2ZjJmfSwKKwl7ImxpbnV4L2R2Yi9kbXguaCIsCSJETVhfR0VUX0NBUFMiLAkweDZmMzB9LAorCXsibGludXgvZHZiL2RteC5oIiwJIkRNWF9TRVRfU09VUkNFIiwJMHg2ZjMxfSwKKwl7ImxpbnV4L2R2Yi9kbXguaCIsCSJETVhfR0VUX1NUQyIsCTB4NmYzMn0sCisJeyJsaW51eC9kdmIvdmlkZW8uaCIsCSJWSURFT19TRVRfU1BVIiwJMHg2ZjMyfSwKKwl7ImxpbnV4L2R2Yi92aWRlby5oIiwJIlZJREVPX1NFVF9TUFVfUEFMRVRURSIsCTB4NmYzM30sCisJeyJsaW51eC9kdmIvbmV0LmgiLAkiTkVUX0FERF9JRiIsCTB4NmYzNH0sCisJeyJsaW51eC9kdmIvdmlkZW8uaCIsCSJWSURFT19HRVRfTkFWSSIsCTB4NmYzNH0sCisJeyJsaW51eC9kdmIvbmV0LmgiLAkiTkVUX1JFTU9WRV9JRiIsCTB4NmYzNX0sCisJeyJsaW51eC9kdmIvdmlkZW8uaCIsCSJWSURFT19TRVRfQVRUUklCVVRFUyIsCTB4NmYzNX0sCisJeyJsaW51eC9kdmIvbmV0LmgiLAkiTkVUX0dFVF9JRiIsCTB4NmYzNn0sCisJeyJsaW51eC9kdmIvdmlkZW8uaCIsCSJWSURFT19HRVRfU0laRSIsCTB4NmYzN30sCisJeyJsaW51eC9kdmIvdmlkZW8uaCIsCSJWSURFT19HRVRfRlJBTUVfUkFURSIsCTB4NmYzOH0sCisJeyJsaW51eC9kdmIvdmlkZW8uaCIsCSJWSURFT19HRVRfUFRTIiwJMHg2ZjM5fSwKKwl7ImxpbnV4L2R2Yi92aWRlby5oIiwJIlZJREVPX0dFVF9GUkFNRV9DT1VOVCIsCTB4NmYzYX0sCisJeyJsaW51eC9kdmIvdmlkZW8uaCIsCSJWSURFT19DT01NQU5EIiwJMHg2ZjNifSwKKwl7ImxpbnV4L2R2Yi92aWRlby5oIiwJIlZJREVPX1RSWV9DT01NQU5EIiwJMHg2ZjNjfSwKKwl7ImxpbnV4L2R2Yi9mcm9udGVuZC5oIiwJIkZFX0dFVF9JTkZPIiwJMHg2ZjNkfSwKKwl7ImxpbnV4L2R2Yi9mcm9udGVuZC5oIiwJIkZFX0RJU0VRQ19SRVNFVF9PVkVSTE9BRCIsCTB4NmYzZX0sCisJeyJsaW51eC9kdmIvZnJvbnRlbmQuaCIsCSJGRV9ESVNFUUNfU0VORF9NQVNURVJfQ01EIiwJMHg2ZjNmfSwKKwl7ImxpbnV4L2R2Yi9mcm9udGVuZC5oIiwJIkZFX0RJU0VRQ19SRUNWX1NMQVZFX1JFUExZIiwJMHg2ZjQwfSwKKwl7Im10ZC91YmktdXNlci5oIiwJIlVCSV9JT0NBVFQiLAkweDZmNDB9LAorCXsibGludXgvZHZiL2Zyb250ZW5kLmgiLAkiRkVfRElTRVFDX1NFTkRfQlVSU1QiLAkweDZmNDF9LAorCXsibXRkL3ViaS11c2VyLmgiLAkiVUJJX0lPQ0RFVCIsCTB4NmY0MX0sCisJeyJsaW51eC9kdmIvZnJvbnRlbmQuaCIsCSJGRV9TRVRfVE9ORSIsCTB4NmY0Mn0sCisJeyJsaW51eC9kdmIvZnJvbnRlbmQuaCIsCSJGRV9TRVRfVk9MVEFHRSIsCTB4NmY0M30sCisJeyJsaW51eC9kdmIvZnJvbnRlbmQuaCIsCSJGRV9FTkFCTEVfSElHSF9MTkJfVk9MVEFHRSIsCTB4NmY0NH0sCisJeyJsaW51eC9kdmIvZnJvbnRlbmQuaCIsCSJGRV9SRUFEX1NUQVRVUyIsCTB4NmY0NX0sCisJeyJsaW51eC9kdmIvZnJvbnRlbmQuaCIsCSJGRV9SRUFEX0JFUiIsCTB4NmY0Nn0sCisJeyJsaW51eC9kdmIvZnJvbnRlbmQuaCIsCSJGRV9SRUFEX1NJR05BTF9TVFJFTkdUSCIsCTB4NmY0N30sCisJeyJsaW51eC9kdmIvZnJvbnRlbmQuaCIsCSJGRV9SRUFEX1NOUiIsCTB4NmY0OH0sCisJeyJsaW51eC9kdmIvZnJvbnRlbmQuaCIsCSJGRV9SRUFEX1VOQ09SUkVDVEVEX0JMT0NLUyIsCTB4NmY0OX0sCisJeyJsaW51eC9kdmIvZnJvbnRlbmQuaCIsCSJGRV9TRVRfRlJPTlRFTkQiLAkweDZmNGN9LAorCXsibGludXgvZHZiL2Zyb250ZW5kLmgiLAkiRkVfR0VUX0ZST05URU5EIiwJMHg2ZjRkfSwKKwl7ImxpbnV4L2R2Yi9mcm9udGVuZC5oIiwJIkZFX0dFVF9FVkVOVCIsCTB4NmY0ZX0sCisJeyJsaW51eC9kdmIvZnJvbnRlbmQuaCIsCSJGRV9ESVNITkVUV09SS19TRU5EX0xFR0FDWV9DTUQiLAkweDZmNTB9LAorCXsibGludXgvZHZiL2Zyb250ZW5kLmgiLAkiRkVfU0VUX0ZST05URU5EX1RVTkVfTU9ERSIsCTB4NmY1MX0sCisJeyJsaW51eC9kdmIvZnJvbnRlbmQuaCIsCSJGRV9TRVRfUFJPUEVSVFkiLAkweDZmNTJ9LAorCXsibGludXgvZHZiL2Zyb250ZW5kLmgiLAkiRkVfR0VUX1BST1BFUlRZIiwJMHg2ZjUzfSwKKwl7ImxpbnV4L2R2Yi9jYS5oIiwJIkNBX1JFU0VUIiwJMHg2ZjgwfSwKKwl7ImxpbnV4L2R2Yi9jYS5oIiwJIkNBX0dFVF9DQVAiLAkweDZmODF9LAorCXsibGludXgvZHZiL2NhLmgiLAkiQ0FfR0VUX1NMT1RfSU5GTyIsCTB4NmY4Mn0sCisJeyJsaW51eC9kdmIvY2EuaCIsCSJDQV9HRVRfREVTQ1JfSU5GTyIsCTB4NmY4M30sCisJeyJsaW51eC9kdmIvY2EuaCIsCSJDQV9HRVRfTVNHIiwJMHg2Zjg0fSwKKwl7ImxpbnV4L2R2Yi9jYS5oIiwJIkNBX1NFTkRfTVNHIiwJMHg2Zjg1fSwKKwl7ImxpbnV4L2R2Yi9jYS5oIiwJIkNBX1NFVF9ERVNDUiIsCTB4NmY4Nn0sCisJeyJsaW51eC9kdmIvY2EuaCIsCSJDQV9TRVRfUElEIiwJMHg2Zjg3fSwKKwl7ImxpbnV4L2R2Yi9vc2QuaCIsCSJPU0RfU0VORF9DTUQiLAkweDZmYTB9LAorCXsibGludXgvZHZiL29zZC5oIiwJIk9TRF9HRVRfQ0FQQUJJTElUWSIsCTB4NmZhMX0sCisJeyJsaW51eC9waGFudG9tLmgiLAkiUEhOX0dFVF9SRUciLAkweDcwMDB9LAorCXsibGludXgvcGhhbnRvbS5oIiwJIlBITl9TRVRfUkVHIiwJMHg3MDAxfSwKKwl7ImxpbnV4L3J0Yy5oIiwJIlJUQ19BSUVfT04iLAkweDcwMDF9LAorCXsibGludXgvcGhhbnRvbS5oIiwJIlBITl9HRVRfUkVHUyIsCTB4NzAwMn0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfQUlFX09GRiIsCTB4NzAwMn0sCisJeyJsaW51eC9waGFudG9tLmgiLAkiUEhOX1NFVF9SRUdTIiwJMHg3MDAzfSwKKwl7ImxpbnV4L3J0Yy5oIiwJIlJUQ19VSUVfT04iLAkweDcwMDN9LAorCXsibGludXgvcGhhbnRvbS5oIiwJIlBITl9OT1RfT0giLAkweDcwMDR9LAorCXsibGludXgvcnRjLmgiLAkiUlRDX1VJRV9PRkYiLAkweDcwMDR9LAorCXsibGludXgvcGhhbnRvbS5oIiwJIlBITl9HRVRSRUciLAkweDcwMDV9LAorCXsibGludXgvcnRjLmgiLAkiUlRDX1BJRV9PTiIsCTB4NzAwNX0sCisJeyJsaW51eC9waGFudG9tLmgiLAkiUEhOX1NFVFJFRyIsCTB4NzAwNn0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfUElFX09GRiIsCTB4NzAwNn0sCisJeyJsaW51eC9waGFudG9tLmgiLAkiUEhOX0dFVFJFR1MiLAkweDcwMDd9LAorCXsibGludXgvcnRjLmgiLAkiUlRDX0FMTV9TRVQiLAkweDcwMDd9LAorCXsibGludXgvcGhhbnRvbS5oIiwJIlBITl9TRVRSRUdTIiwJMHg3MDA4fSwKKwl7ImxpbnV4L3J0Yy5oIiwJIlJUQ19BTE1fUkVBRCIsCTB4NzAwOH0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfUkRfVElNRSIsCTB4NzAwOX0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfU0VUX1RJTUUiLAkweDcwMGF9LAorCXsibGludXgvcnRjLmgiLAkiUlRDX0lSUVBfUkVBRCIsCTB4NzAwYn0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfSVJRUF9TRVQiLAkweDcwMGN9LAorCXsibGludXgvcnRjLmgiLAkiUlRDX0VQT0NIX1JFQUQiLAkweDcwMGR9LAorCXsibGludXgvcnRjLmgiLAkiUlRDX0VQT0NIX1NFVCIsCTB4NzAwZX0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfV0lFX09OIiwJMHg3MDBmfSwKKwl7ImxpbnV4L3J0Yy5oIiwJIlJUQ19XS0FMTV9TRVQiLAkweDcwMGZ9LAorCXsibGludXgvcnRjLmgiLAkiUlRDX1dJRV9PRkYiLAkweDcwMTB9LAorCXsibGludXgvcnRjLmgiLAkiUlRDX1dLQUxNX1JEIiwJMHg3MDEwfSwKKwl7ImxpbnV4L3J0Yy5oIiwJIlJUQ19QTExfR0VUIiwJMHg3MDExfSwKKwl7ImxpbnV4L3J0Yy5oIiwJIlJUQ19QTExfU0VUIiwJMHg3MDEyfSwKKwl7ImxpbnV4L252cmFtLmgiLAkiTlZSQU1fSU5JVCIsCTB4NzA0MH0sCisJeyJsaW51eC9udnJhbS5oIiwJIk5WUkFNX1NFVENLUyIsCTB4NzA0MX0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQU0VUTU9ERSIsCTB4NzA4MH0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQUlNUQVRVUyIsCTB4NzA4MX0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQUkNPTlRST0wiLAkweDcwODN9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUFdDT05UUk9MIiwJMHg3MDg0fSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBSREFUQSIsCTB4NzA4NX0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQV0RBVEEiLAkweDcwODZ9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUENMQUlNIiwJMHg3MDhifSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBSRUxFQVNFIiwJMHg3MDhjfSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBZSUVMRCIsCTB4NzA4ZH0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQRkNPTlRST0wiLAkweDcwOGV9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUEVYQ0wiLAkweDcwOGZ9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUERBVEFESVIiLAkweDcwOTB9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUE5FR09UIiwJMHg3MDkxfSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBXQ1RMT05JUlEiLAkweDcwOTJ9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUENMUklSUSIsCTB4NzA5M30sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQU0VUUEhBU0UiLAkweDcwOTR9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUEdFVFRJTUUiLAkweDcwOTV9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUFNFVFRJTUUiLAkweDcwOTZ9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUEdFVE1PREVTIiwJMHg3MDk3fSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBHRVRNT0RFIiwJMHg3MDk4fSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBHRVRQSEFTRSIsCTB4NzA5OX0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQR0VURkxBR1MiLAkweDcwOWF9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUFNFVEZMQUdTIiwJMHg3MDlifSwKKwl7ImxpbnV4L3Bwcy5oIiwJIlBQU19HRVRQQVJBTVMiLAkweDcwYTF9LAorCXsibGludXgvcHBzLmgiLAkiUFBTX1NFVFBBUkFNUyIsCTB4NzBhMn0sCisJeyJsaW51eC9wcHMuaCIsCSJQUFNfR0VUQ0FQIiwJMHg3MGEzfSwKKwl7ImxpbnV4L3Bwcy5oIiwJIlBQU19GRVRDSCIsCTB4NzBhNH0sCisJeyJsaW51eC9zZXJpby5oIiwJIlNQSU9DU1RZUEUiLAkweDcxMDF9LAorCXsibGludXgvdmlkZW90ZXh0LmgiLAkiVlRYSU9DR0VUSU5GT19PTEQiLAkweDcxMDF9LAorCXsibGludXgvdmlkZW90ZXh0LmgiLAkiVlRYSU9DQ0xSUEFHRV9PTEQiLAkweDcxMDJ9LAorCXsibGludXgvdmlkZW90ZXh0LmgiLAkiVlRYSU9DQ0xSRk9VTkRfT0xEIiwJMHg3MTAzfSwKKwl7ImxpbnV4L3ZpZGVvdGV4dC5oIiwJIlZUWElPQ1BBR0VSRVFfT0xEIiwJMHg3MTA0fSwKKwl7ImxpbnV4L3ZpZGVvdGV4dC5oIiwJIlZUWElPQ0dFVFNUQVRfT0xEIiwJMHg3MTA1fSwKKwl7ImxpbnV4L3ZpZGVvdGV4dC5oIiwJIlZUWElPQ0dFVFBBR0VfT0xEIiwJMHg3MTA2fSwKKwl7ImxpbnV4L3ZpZGVvdGV4dC5oIiwJIlZUWElPQ1NUT1BEQVVfT0xEIiwJMHg3MTA3fSwKKwl7ImxpbnV4L3ZpZGVvdGV4dC5oIiwJIlZUWElPQ1BVVFBBR0VfT0xEIiwJMHg3MTA4fSwKKwl7ImxpbnV4L3ZpZGVvdGV4dC5oIiwJIlZUWElPQ1NFVERJU1BfT0xEIiwJMHg3MTA5fSwKKwl7ImxpbnV4L3ZpZGVvdGV4dC5oIiwJIlZUWElPQ1BVVFNUQVRfT0xEIiwJMHg3MTBhfSwKKwl7ImxpbnV4L3ZpZGVvdGV4dC5oIiwJIlZUWElPQ0NMUkNBQ0hFX09MRCIsCTB4NzEwYn0sCisJeyJsaW51eC92aWRlb3RleHQuaCIsCSJWVFhJT0NTRVRWSVJUX09MRCIsCTB4NzEwY30sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9DQVBBQklMSVRJRVMiLAkweDcxODB9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfQ0FQQUJJTElUSUVTX0xJU1QiLAkweDcxODF9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfQ0FQQUJJTElUSUVTX0NIRUNLIiwJMHg3MTgyfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1JJTkciLAkweDcxODN9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfSE9PS1NUQVRFIiwJMHg3MTg0fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX01BWFJJTkdTIiwJMHg3MTg1fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1JJTkdfQ0FERU5DRSIsCTB4NzE4Nn0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJPTERfUEhPTkVfUklOR19TVEFSVCIsCTB4NzE4N30sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9SSU5HX1NUQVJUIiwJMHg3MTg3fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1JJTkdfU1RPUCIsCTB4NzE4OH0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9SRUNfQ09ERUMiLAkweDcxODl9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUkVDX1NUQVJUIiwJMHg3MThhfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1JFQ19TVE9QIiwJMHg3MThifSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1JFQ19ERVBUSCIsCTB4NzE4Y30sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9GUkFNRSIsCTB4NzE4ZH0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9SRUNfVk9MVU1FIiwJMHg3MThlfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1JFQ19MRVZFTCIsCTB4NzE4Zn0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9QTEFZX0NPREVDIiwJMHg3MTkwfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1BMQVlfU1RBUlQiLAkweDcxOTF9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUExBWV9TVE9QIiwJMHg3MTkyfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1BMQVlfREVQVEgiLAkweDcxOTN9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUExBWV9WT0xVTUUiLAkweDcxOTR9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUExBWV9MRVZFTCIsCTB4NzE5NX0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9EVE1GX1JFQURZIiwJMHg3MTk2fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX0dFVF9EVE1GIiwJMHg3MTk3fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX0dFVF9EVE1GX0FTQ0lJIiwJMHg3MTk4fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX0RUTUZfT09CIiwJMHg3MTk5fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX0VYQ0VQVElPTiIsCTB4NzE5YX0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9QTEFZX1RPTkUiLAkweDcxOWJ9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfU0VUX1RPTkVfT05fVElNRSIsCTB4NzE5Y30sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9TRVRfVE9ORV9PRkZfVElNRSIsCTB4NzE5ZH0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9HRVRfVE9ORV9PTl9USU1FIiwJMHg3MTllfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX0dFVF9UT05FX09GRl9USU1FIiwJMHg3MTlmfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX0dFVF9UT05FX1NUQVRFIiwJMHg3MWEwfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX0JVU1kiLAkweDcxYTF9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUklOR0JBQ0siLAkweDcxYTJ9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfRElBTFRPTkUiLAkweDcxYTN9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfQ1BUX1NUT1AiLAkweDcxYTR9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUFNUTl9TRVRfU1RBVEUiLAkweDcxYTR9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUFNUTl9HRVRfU1RBVEUiLAkweDcxYTV9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfV0lOS19EVVJBVElPTiIsCTB4NzFhNn0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9RVUVSWV9DT0RFQyIsCTB4NzFhN30sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9QU1ROX0xJTkVURVNUIiwJMHg3MWE4fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1ZBRCIsCTB4NzFhOX0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9XSU5LIiwJMHg3MWFhfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfRFNQX1JFU0VUIiwJMHg3MWMwfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfQ0FSRFRZUEUiLAkweDcxYzF9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9TRVJJQUwiLAkweDcxYzJ9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9EU1BfVFlQRSIsCTB4NzFjM30sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0RTUF9WRVJTSU9OIiwJMHg3MWM0fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfRFNQX0lETEUiLAkweDcxYzV9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9URVNUUkFNIiwJMHg3MWM2fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfU0VUX0ZJTFRFUiIsCTB4NzFjN30sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0dFVF9GSUxURVJfSElTVCIsCTB4NzFjOH0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0lOSVRfVE9ORSIsCTB4NzFjOX0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1RPTkVfQ0FERU5DRSIsCTB4NzFjYX0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0FFQ19TVEFSVCIsCTB4NzFjYn0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0FFQ19TVE9QIiwJMHg3MWNjfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfQUVDX0dFVF9MRVZFTCIsCTB4NzFjZH0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1NFVF9MRUQiLAkweDcxY2V9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9NSVhFUiIsCTB4NzFjZn0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0RBQV9DT0VGRl9TRVQiLAkweDcxZDB9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9QT1JUIiwJMHg3MWQxfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfREFBX0FHQUlOIiwJMHg3MWQyfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfUFNUTl9MSU5FVEVTVCIsCTB4NzFkM30sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0NJRCIsCTB4NzFkNH0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1BPVFNfUFNUTiIsCTB4NzFkNX0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0ZJTFRFUl9DQURFTkNFIiwJMHg3MWQ2fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfUExBWV9DSUQiLAkweDcxZDd9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9WTVdJIiwJMHg3MWQ4fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfQ0lEQ1ciLAkweDcxZDl9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9WRVJTSU9OIiwJMHg3MWRhfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1JFQ19WT0xVTUVfTElORUFSIiwJMHg3MWRifSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1BMQVlfVk9MVU1FX0xJTkVBUiIsCTB4NzFkY30sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1NFVF9GSUxURVJfUkFXIiwJMHg3MWRkfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfSFoiLAkweDcxZTB9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9SQVRFIiwJMHg3MWUxfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfRlJBTUVTX1JFQUQiLAkweDcxZTJ9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9GUkFNRVNfV1JJVFRFTiIsCTB4NzFlM30sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1JFQURfV0FJVCIsCTB4NzFlNH0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1dSSVRFX1dBSVQiLAkweDcxZTV9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9EUllCVUZGRVJfUkVBRCIsCTB4NzFlNn0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0RSWUJVRkZFUl9DTEVBUiIsCTB4NzFlN30sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0RUTUZfUFJFU0NBTEUiLAkweDcxZTh9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9TSUdDVEwiLAkweDcxZTl9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9TQ19SWEciLAkweDcxZWF9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9TQ19UWEciLAkweDcxZWJ9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9JTlRFUkNPTV9TVEFSVCIsCTB4NzFmZH0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0lOVEVSQ09NX1NUT1AiLAkweDcxZmV9LAorCXsibGludXgvbXNkb3NfZnMuaCIsCSJWRkFUX0lPQ1RMX1JFQURESVJfQk9USCIsCTB4NzIwMX0sCisJeyJsaW51eC9tc2Rvc19mcy5oIiwJIlZGQVRfSU9DVExfUkVBRERJUl9TSE9SVCIsCTB4NzIwMn0sCisJeyJsaW51eC9tc2Rvc19mcy5oIiwJIkZBVF9JT0NUTF9HRVRfQVRUUklCVVRFUyIsCTB4NzIxMH0sCisJeyJsaW51eC9tc2Rvc19mcy5oIiwJIkZBVF9JT0NUTF9TRVRfQVRUUklCVVRFUyIsCTB4NzIxMX0sCisJeyJsaW51eC9jZGsuaCIsCSJTVExfQklOVFIiLAkweDczMTR9LAorCXsibGludXgvY2RrLmgiLAkiU1RMX0JTVEFSVCIsCTB4NzMxNX0sCisJeyJsaW51eC9jZGsuaCIsCSJTVExfQlNUT1AiLAkweDczMTZ9LAorCXsibGludXgvY2RrLmgiLAkiU1RMX0JSRVNFVCIsCTB4NzMxN30sCisJeyJsaW51eC9jZGsuaCIsCSJTVExfR0VUUEZMQUciLAkweDczNTB9LAorCXsibGludXgvY2RrLmgiLAkiU1RMX1NFVFBGTEFHIiwJMHg3MzUxfSwKKwl7ImFzbS9iZmluX3NpbXBsZV90aW1lci5oIiwJIkJGSU5fU0lNUExFX1RJTUVSX1NFVF9QRVJJT0QiLAkweDc0MDJ9LAorCXsiYXNtL2JmaW5fc2ltcGxlX3RpbWVyLmgiLAkiQkZJTl9TSU1QTEVfVElNRVJfU1RBUlQiLAkweDc0MDZ9LAorCXsiYXNtL2JmaW5fc2ltcGxlX3RpbWVyLmgiLAkiQkZJTl9TSU1QTEVfVElNRVJfU1RPUCIsCTB4NzQwOH0sCisJeyJhc20vYmZpbl9zaW1wbGVfdGltZXIuaCIsCSJCRklOX1NJTVBMRV9USU1FUl9SRUFEIiwJMHg3NDBhfSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ0dMMlRQU1RBVFMiLAkweDc0MzZ9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DR0NIQU4iLAkweDc0Mzd9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DQVRUQ0hBTiIsCTB4NzQzOH0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NESVNDT05OIiwJMHg3NDM5fSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ0NPTk5FQ1QiLAkweDc0M2F9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DU01SUlUiLAkweDc0M2J9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DREVUQUNIIiwJMHg3NDNjfSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ0FUVEFDSCIsCTB4NzQzZH0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NORVdVTklUIiwJMHg3NDNlfSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ0dJRExFIiwJMHg3NDNmfSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ1NERUJVRyIsCTB4NzQ0MH0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NHREVCVUciLAkweDc0NDF9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DU0FDVElWRSIsCTB4NzQ0Nn0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NTUEFTUyIsCTB4NzQ0N30sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NTTlBNT0RFIiwJMHg3NDRifSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ0dOUE1PREUiLAkweDc0NGN9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DU0NPTVBSRVNTIiwJMHg3NDRkfSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ1hGRVJVTklUIiwJMHg3NDRlfSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ1NYQVNZTkNNQVAiLAkweDc0NGZ9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DR1hBU1lOQ01BUCIsCTB4NzQ1MH0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NTTUFYQ0lEIiwJMHg3NDUxfSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ1NNUlUiLAkweDc0NTJ9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DR01SVSIsCTB4NzQ1M30sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NTUkFTWU5DTUFQIiwJMHg3NDU0fSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ0dSQVNZTkNNQVAiLAkweDc0NTV9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DR1VOSVQiLAkweDc0NTZ9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DU0FTWU5DTUFQIiwJMHg3NDU3fSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ0dBU1lOQ01BUCIsCTB4NzQ1OH0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NTRkxBR1MiLAkweDc0NTl9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DR0ZMQUdTIiwJMHg3NDVhfSwKKwl7ImxpbnV4L2lzZG5fcHBwLmgiLAkiUFBQSU9DR0NBTExJTkZPIiwJMHg3NDgwfSwKKwl7ImxpbnV4L2lzZG5fcHBwLmgiLAkiUFBQSU9DQlVORExFIiwJMHg3NDgxfSwKKwl7ImxpbnV4L2lzZG5fcHBwLmgiLAkiUFBQSU9DR01QRkxBR1MiLAkweDc0ODJ9LAorCXsibGludXgvaXNkbl9wcHAuaCIsCSJQUFBJT0NTTVBGTEFHUyIsCTB4NzQ4M30sCisJeyJsaW51eC9pc2RuX3BwcC5oIiwJIlBQUElPQ1NNUE1UVSIsCTB4NzQ4NH0sCisJeyJsaW51eC9pc2RuX3BwcC5oIiwJIlBQUElPQ1NNUE1SVSIsCTB4NzQ4NX0sCisJeyJsaW51eC9pc2RuX3BwcC5oIiwJIlBQUElPQ0dDT01QUkVTU09SUyIsCTB4NzQ4Nn0sCisJeyJsaW51eC9pc2RuX3BwcC5oIiwJIlBQUElPQ1NDT01QUkVTU09SIiwJMHg3NDg3fSwKKwl7ImxpbnV4L2lzZG5fcHBwLmgiLAkiUFBQSU9DR0lGTkFNRSIsCTB4NzQ4OH0sCisJeyJsaW51eC90b3NoaWJhLmgiLAkiVE9TSF9TTU0iLAkweDc0OTB9LAorCXsibGludXgvc21iX2ZzLmgiLAkiU01CX0lPQ19HRVRNT1VOVFVJRCIsCTB4NzUwMX0sCisJeyJsaW51eC9zbWJfZnMuaCIsCSJTTUJfSU9DX05FV0NPTk4iLAkweDc1MDJ9LAorCXsibGludXgvc21iX2ZzLmgiLAkiU01CX0lPQ19HRVRNT1VOVFVJRDMyIiwJMHg3NTAzfSwKKwl7ImxpbnV4L3NvbnlwaS5oIiwJIlNPTllQSV9JT0NHQlJUIiwJMHg3NjAwfSwKKwl7ImxpbnV4L3NvbnlwaS5oIiwJIlNPTllQSV9JT0NTQlJUIiwJMHg3NjAwfSwKKwl7ImxpbnV4L2ZzLmgiLAkiRlNfSU9DMzJfR0VUVkVSU0lPTiIsCTB4NzYwMX0sCisJeyJsaW51eC9mcy5oIiwJIkZTX0lPQ19HRVRWRVJTSU9OIiwJMHg3NjAxfSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DR0NBUCIsCTB4NzYwMX0sCisJeyJsaW51eC9mcy5oIiwJIkZTX0lPQzMyX1NFVFZFUlNJT04iLAkweDc2MDJ9LAorCXsibGludXgvZnMuaCIsCSJGU19JT0NfU0VUVkVSU0lPTiIsCTB4NzYwMn0sCisJeyJsaW51eC9zb255cGkuaCIsCSJTT05ZUElfSU9DR0JBVDFDQVAiLAkweDc2MDJ9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NHQ0hBTiIsCTB4NzYwMn0sCisJeyJsaW51eC9zb255cGkuaCIsCSJTT05ZUElfSU9DR0JBVDFSRU0iLAkweDc2MDN9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NTQ0hBTiIsCTB4NzYwM30sCisJeyJsaW51eC9zb255cGkuaCIsCSJTT05ZUElfSU9DR0JBVDJDQVAiLAkweDc2MDR9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NHVFVORVIiLAkweDc2MDR9LAorCXsibGludXgvc29ueXBpLmgiLAkiU09OWVBJX0lPQ0dCQVQyUkVNIiwJMHg3NjA1fSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DU1RVTkVSIiwJMHg3NjA1fSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DR1BJQ1QiLAkweDc2MDZ9LAorCXsibGludXgvc29ueXBpLmgiLAkiU09OWVBJX0lPQ0dCQVRGTEFHUyIsCTB4NzYwN30sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ1NQSUNUIiwJMHg3NjA3fSwKKwl7ImxpbnV4L3NvbnlwaS5oIiwJIlNPTllQSV9JT0NHQkxVRSIsCTB4NzYwOH0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ0NBUFRVUkUiLAkweDc2MDh9LAorCXsibGludXgvc29ueXBpLmgiLAkiU09OWVBJX0lPQ1NCTFVFIiwJMHg3NjA5fSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DR1dJTiIsCTB4NzYwOX0sCisJeyJsaW51eC9zb255cGkuaCIsCSJTT05ZUElfSU9DR0ZBTiIsCTB4NzYwYX0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ1NXSU4iLAkweDc2MGF9LAorCXsibGludXgvc29ueXBpLmgiLAkiU09OWVBJX0lPQ1NGQU4iLAkweDc2MGJ9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NHRkJVRiIsCTB4NzYwYn0sCisJeyJsaW51eC9zb255cGkuaCIsCSJTT05ZUElfSU9DR1RFTVAiLAkweDc2MGN9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NTRkJVRiIsCTB4NzYwY30sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ0tFWSIsCTB4NzYwZH0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ0dGUkVRIiwJMHg3NjBlfSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DU0ZSRVEiLAkweDc2MGZ9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NHQVVESU8iLAkweDc2MTB9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NTQVVESU8iLAkweDc2MTF9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NTWU5DIiwJMHg3NjEyfSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DTUNBUFRVUkUiLAkweDc2MTN9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NHTUJVRiIsCTB4NzYxNH0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ0dVTklUIiwJMHg3NjE1fSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DR0NBUFRVUkUiLAkweDc2MTZ9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NTQ0FQVFVSRSIsCTB4NzYxN30sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ1NQTEFZTU9ERSIsCTB4NzYxOH0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ1NXUklURU1PREUiLAkweDc2MTl9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NHUExBWUlORk8iLAkweDc2MWF9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NTTUlDUk9DT0RFIiwJMHg3NjFifSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DR1ZCSUZNVCIsCTB4NzYxY30sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ1NWQklGTVQiLAkweDc2MWR9LAorCXsibGludXgvbWV5ZS5oIiwJIk1FWUVJT0NfR19QQVJBTVMiLAkweDc2YzB9LAorCXsibWVkaWEvcHdjLWlvY3RsLmgiLAkiVklESU9DUFdDUlVTRVIiLAkweDc2YzB9LAorCXsibGludXgvbWV5ZS5oIiwJIk1FWUVJT0NfU19QQVJBTVMiLAkweDc2YzF9LAorCXsibWVkaWEvcHdjLWlvY3RsLmgiLAkiVklESU9DUFdDU1VTRVIiLAkweDc2YzF9LAorCXsibGludXgvbWV5ZS5oIiwJIk1FWUVJT0NfUUJVRl9DQVBUIiwJMHg3NmMyfSwKKwl7Im1lZGlhL3B3Yy1pb2N0bC5oIiwJIlZJRElPQ1BXQ0ZBQ1RPUlkiLAkweDc2YzJ9LAorCXsibGludXgvbWV5ZS5oIiwJIk1FWUVJT0NfU1lOQyIsCTB4NzZjM30sCisJeyJtZWRpYS9wd2MtaW9jdGwuaCIsCSJWSURJT0NQV0NHQ1FVQUwiLAkweDc2YzN9LAorCXsibWVkaWEvcHdjLWlvY3RsLmgiLAkiVklESU9DUFdDU0NRVUFMIiwJMHg3NmMzfSwKKwl7ImxpbnV4L21leWUuaCIsCSJNRVlFSU9DX1NUSUxMQ0FQVCIsCTB4NzZjNH0sCisJeyJsaW51eC9tZXllLmgiLAkiTUVZRUlPQ19TVElMTEpDQVBUIiwJMHg3NmM1fSwKKwl7Im1lZGlhL3B3Yy1pb2N0bC5oIiwJIlZJRElPQ1BXQ0dTRVJJQUwiLAkweDc2YzZ9LAorCXsibWVkaWEvcHdjLWlvY3RsLmgiLAkiVklESU9DUFdDUFJPQkUiLAkweDc2Yzd9LAorCXsibWVkaWEvcHdjLWlvY3RsLmgiLAkiVklESU9DUFdDR0FHQyIsCTB4NzZjOH0sCisJeyJtZWRpYS9wd2MtaW9jdGwuaCIsCSJWSURJT0NQV0NTQUdDIiwJMHg3NmM4fSwKKwl7Im1lZGlhL3B3Yy1pb2N0bC5oIiwJIlZJRElPQ1BXQ1NTSFVUVEVSIiwJMHg3NmM5fSwKKwl7Im1lZGlhL3B3Yy1pb2N0bC5oIiwJIlZJRElPQ1BXQ0dBV0IiLAkweDc2Y2F9LAorCXsibWVkaWEvcHdjLWlvY3RsLmgiLAkiVklESU9DUFdDU0FXQiIsCTB4NzZjYX0sCisJeyJtZWRpYS9wd2MtaW9jdGwuaCIsCSJWSURJT0NQV0NHQVdCU1BFRUQiLAkweDc2Y2J9LAorCXsibWVkaWEvcHdjLWlvY3RsLmgiLAkiVklESU9DUFdDU0FXQlNQRUVEIiwJMHg3NmNifSwKKwl7Im1lZGlhL3B3Yy1pb2N0bC5oIiwJIlZJRElPQ1BXQ0dMRUQiLAkweDc2Y2R9LAorCXsibWVkaWEvcHdjLWlvY3RsLmgiLAkiVklESU9DUFdDU0xFRCIsCTB4NzZjZH0sCisJeyJtZWRpYS9wd2MtaW9jdGwuaCIsCSJWSURJT0NQV0NHQ09OVE9VUiIsCTB4NzZjZX0sCisJeyJtZWRpYS9wd2MtaW9jdGwuaCIsCSJWSURJT0NQV0NTQ09OVE9VUiIsCTB4NzZjZX0sCisJeyJtZWRpYS9wd2MtaW9jdGwuaCIsCSJWSURJT0NQV0NHQkFDS0xJR0hUIiwJMHg3NmNmfSwKKwl7Im1lZGlhL3B3Yy1pb2N0bC5oIiwJIlZJRElPQ1BXQ1NCQUNLTElHSFQiLAkweDc2Y2Z9LAorCXsibWVkaWEvcHdjLWlvY3RsLmgiLAkiVklESU9DUFdDR0ZMSUNLRVIiLAkweDc2ZDB9LAorCXsibWVkaWEvcHdjLWlvY3RsLmgiLAkiVklESU9DUFdDU0ZMSUNLRVIiLAkweDc2ZDB9LAorCXsibWVkaWEvcHdjLWlvY3RsLmgiLAkiVklESU9DUFdDR0RZTk5PSVNFIiwJMHg3NmQxfSwKKwl7Im1lZGlhL3B3Yy1pb2N0bC5oIiwJIlZJRElPQ1BXQ1NEWU5OT0lTRSIsCTB4NzZkMX0sCisJeyJtZWRpYS9wd2MtaW9jdGwuaCIsCSJWSURJT0NQV0NHUkVBTFNJWkUiLAkweDc2ZDJ9LAorCXsibWVkaWEvcHdjLWlvY3RsLmgiLAkiVklESU9DUFdDTVBUR1JBTkdFIiwJMHg3NmQzfSwKKwl7Im1lZGlhL3B3Yy1pb2N0bC5oIiwJIlZJRElPQ1BXQ01QVFJFU0VUIiwJMHg3NmQzfSwKKwl7Im1lZGlhL3B3Yy1pb2N0bC5oIiwJIlZJRElPQ1BXQ01QVEdBTkdMRSIsCTB4NzZkNH0sCisJeyJtZWRpYS9wd2MtaW9jdGwuaCIsCSJWSURJT0NQV0NNUFRTQU5HTEUiLAkweDc2ZDR9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT1NGUFMiLAkweDc2ZDR9LAorCXsibWVkaWEvcHdjLWlvY3RsLmgiLAkiVklESU9DUFdDTVBUU1RBVFVTIiwJMHg3NmQ1fSwKKwl7Im1lZGlhL3B3Yy1pb2N0bC5oIiwJIlZJRElPQ1BXQ0dWSURDTUQiLAkweDc2ZDd9LAorCXsibWVkaWEvcHdjLWlvY3RsLmgiLAkiVklESU9DUFdDR1ZJRFRBQkxFIiwJMHg3NmQ4fSwKKwl7ImxpbnV4L3ZpZGVvdGV4dC5oIiwJIlZUWElPQ0dFVElORk8iLAkweDgxMDF9LAorCXsibGludXgvdmlkZW90ZXh0LmgiLAkiVlRYSU9DQ0xSUEFHRSIsCTB4ODEwMn0sCisJeyJsaW51eC92aWRlb3RleHQuaCIsCSJWVFhJT0NDTFJGT1VORCIsCTB4ODEwM30sCisJeyJsaW51eC92aWRlb3RleHQuaCIsCSJWVFhJT0NQQUdFUkVRIiwJMHg4MTA0fSwKKwl7ImxpbnV4L3ZpZGVvdGV4dC5oIiwJIlZUWElPQ0dFVFNUQVQiLAkweDgxMDV9LAorCXsibGludXgvdmlkZW90ZXh0LmgiLAkiVlRYSU9DR0VUUEFHRSIsCTB4ODEwNn0sCisJeyJsaW51eC92aWRlb3RleHQuaCIsCSJWVFhJT0NTVE9QREFVIiwJMHg4MTA3fSwKKwl7ImxpbnV4L3ZpZGVvdGV4dC5oIiwJIlZUWElPQ1BVVFBBR0UiLAkweDgxMDh9LAorCXsibGludXgvdmlkZW90ZXh0LmgiLAkiVlRYSU9DU0VURElTUCIsCTB4ODEwOX0sCisJeyJsaW51eC92aWRlb3RleHQuaCIsCSJWVFhJT0NQVVRTVEFUIiwJMHg4MTBhfSwKKwl7ImxpbnV4L3ZpZGVvdGV4dC5oIiwJIlZUWElPQ0NMUkNBQ0hFIiwJMHg4MTBifSwKKwl7ImxpbnV4L3ZpZGVvdGV4dC5oIiwJIlZUWElPQ1NFVFZJUlQiLAkweDgxMGN9LAorCXsibWVkaWEvb3ZjYW1jaGlwLmgiLAkiT1ZDQU1DSElQX0NNRF9RX1NVQlRZUEUiLAkweDg4MDB9LAorCXsibWVkaWEvb3ZjYW1jaGlwLmgiLAkiT1ZDQU1DSElQX0NNRF9JTklUSUFMSVpFIiwJMHg4ODAxfSwKKwl7Im1lZGlhL292Y2FtY2hpcC5oIiwJIk9WQ0FNQ0hJUF9DTURfU19DVFJMIiwJMHg4ODAyfSwKKwl7Im1lZGlhL292Y2FtY2hpcC5oIiwJIk9WQ0FNQ0hJUF9DTURfR19DVFJMIiwJMHg4ODAzfSwKKwl7Im1lZGlhL292Y2FtY2hpcC5oIiwJIk9WQ0FNQ0hJUF9DTURfU19NT0RFIiwJMHg4ODA0fSwKKwl7Im1lZGlhL292Y2FtY2hpcC5oIiwJIk9WQ0FNQ0hJUF9NQVhfQ01EIiwJMHg4ODNmfSwKKwl7ImFzbS9zb2NraW9zLmgiLAkiRklPU0VUT1dOIiwJMHg4OTAxfSwKKwl7ImFzbS9zb2NraW9zLmgiLAkiU0lPQ1NQR1JQIiwJMHg4OTAyfSwKKwl7ImFzbS9zb2NraW9zLmgiLAkiRklPR0VUT1dOIiwJMHg4OTAzfSwKKwl7ImFzbS9zb2NraW9zLmgiLAkiU0lPQ0dQR1JQIiwJMHg4OTA0fSwKKwl7ImFzbS9zb2NraW9zLmgiLAkiU0lPQ0FUTUFSSyIsCTB4ODkwNX0sCisJeyJhc20vc29ja2lvcy5oIiwJIlNJT0NHU1RBTVAiLAkweDg5MDZ9LAorCXsiYXNtL3NvY2tpb3MuaCIsCSJTSU9DR1NUQU1QTlMiLAkweDg5MDd9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NBRERSVCIsCTB4ODkwYn0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ0RFTFJUIiwJMHg4OTBjfSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DUlRNU0ciLAkweDg5MGR9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NHSUZOQU1FIiwJMHg4OTEwfSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DU0lGTElOSyIsCTB4ODkxMX0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ0dJRkNPTkYiLAkweDg5MTJ9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NHSUZGTEFHUyIsCTB4ODkxM30sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ1NJRkZMQUdTIiwJMHg4OTE0fSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DR0lGQUREUiIsCTB4ODkxNX0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ1NJRkFERFIiLAkweDg5MTZ9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NHSUZEU1RBRERSIiwJMHg4OTE3fSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DU0lGRFNUQUREUiIsCTB4ODkxOH0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ0dJRkJSREFERFIiLAkweDg5MTl9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NTSUZCUkRBRERSIiwJMHg4OTFhfSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DR0lGTkVUTUFTSyIsCTB4ODkxYn0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ1NJRk5FVE1BU0siLAkweDg5MWN9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NHSUZNRVRSSUMiLAkweDg5MWR9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NTSUZNRVRSSUMiLAkweDg5MWV9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NHSUZNRU0iLAkweDg5MWZ9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NTSUZNRU0iLAkweDg5MjB9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NHSUZNVFUiLAkweDg5MjF9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NTSUZNVFUiLAkweDg5MjJ9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NTSUZOQU1FIiwJMHg4OTIzfSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DU0lGSFdBRERSIiwJMHg4OTI0fSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DR0lGRU5DQVAiLAkweDg5MjV9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NTSUZFTkNBUCIsCTB4ODkyNn0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ0dJRkhXQUREUiIsCTB4ODkyN30sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ0dJRlNMQVZFIiwJMHg4OTI5fSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DU0lGU0xBVkUiLAkweDg5MzB9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NBRERNVUxUSSIsCTB4ODkzMX0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ0RFTE1VTFRJIiwJMHg4OTMyfSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DR0lGSU5ERVgiLAkweDg5MzN9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NTSUZQRkxBR1MiLAkweDg5MzR9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NHSUZQRkxBR1MiLAkweDg5MzV9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NESUZBRERSIiwJMHg4OTM2fSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DU0lGSFdCUk9BRENBU1QiLAkweDg5Mzd9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NHSUZDT1VOVCIsCTB4ODkzOH0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ0dJRkJSIiwJMHg4OTQwfSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DU0lGQlIiLAkweDg5NDF9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NHSUZUWFFMRU4iLAkweDg5NDJ9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NTSUZUWFFMRU4iLAkweDg5NDN9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NHSUZESVZFUlQiLAkweDg5NDR9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NTSUZESVZFUlQiLAkweDg5NDV9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NFVEhUT09MIiwJMHg4OTQ2fSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DR01JSVBIWSIsCTB4ODk0N30sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ0dNSUlSRUciLAkweDg5NDh9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NTTUlJUkVHIiwJMHg4OTQ5fSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DV0FOREVWIiwJMHg4OTRhfSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DREFSUCIsCTB4ODk1M30sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ0dBUlAiLAkweDg5NTR9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NTQVJQIiwJMHg4OTU1fSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DRFJBUlAiLAkweDg5NjB9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NHUkFSUCIsCTB4ODk2MX0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ1NSQVJQIiwJMHg4OTYyfSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DR0lGTUFQIiwJMHg4OTcwfSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DU0lGTUFQIiwJMHg4OTcxfSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DQURERExDSSIsCTB4ODk4MH0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ0RFTERMQ0kiLAkweDg5ODF9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NHSUZWTEFOIiwJMHg4OTgyfSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DU0lGVkxBTiIsCTB4ODk4M30sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ0JPTkRFTlNMQVZFIiwJMHg4OTkwfSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DQk9ORFJFTEVBU0UiLAkweDg5OTF9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NCT05EU0VUSFdBRERSIiwJMHg4OTkyfSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DQk9ORFNMQVZFSU5GT1FVRVJZIiwJMHg4OTkzfSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DQk9ORElORk9RVUVSWSIsCTB4ODk5NH0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ0JPTkRDSEFOR0VBQ1RJVkUiLAkweDg5OTV9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NCUkFEREJSIiwJMHg4OWEwfSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DQlJERUxCUiIsCTB4ODlhMX0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ0JSQURESUYiLAkweDg5YTJ9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NCUkRFTElGIiwJMHg4OWEzfSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DU0hXVFNUQU1QIiwJMHg4OWIwfSwKKwl7ImxpbnV4L2RuLmgiLAkiT1NJT0NTTkVUQUREUiIsCTB4ODllMH0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ1BST1RPUFJJVkFURSIsCTB4ODllMH0sCisJeyJsaW51eC9kbi5oIiwJIlNJT0NTTkVUQUREUiIsCTB4ODllMH0sCisJeyJsaW51eC9kbi5oIiwJIk9TSU9DR05FVEFERFIiLAkweDg5ZTF9LAorCXsibGludXgvZG4uaCIsCSJTSU9DR05FVEFERFIiLAkweDg5ZTF9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NERVZQUklWQVRFIiwJMHg4OWYwfSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ0lXRklSU1QiLAkweDhiMDB9LAorCXsibGludXgvd2lyZWxlc3MuaCIsCSJTSU9DU0lXQ09NTUlUIiwJMHg4YjAwfSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ0dJV05BTUUiLAkweDhiMDF9LAorCXsibGludXgvd2lyZWxlc3MuaCIsCSJTSU9DU0lXTldJRCIsCTB4OGIwMn0sCisJeyJsaW51eC93aXJlbGVzcy5oIiwJIlNJT0NHSVdOV0lEIiwJMHg4YjAzfSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ1NJV0ZSRVEiLAkweDhiMDR9LAorCXsibGludXgvd2lyZWxlc3MuaCIsCSJTSU9DR0lXRlJFUSIsCTB4OGIwNX0sCisJeyJsaW51eC93aXJlbGVzcy5oIiwJIlNJT0NTSVdNT0RFIiwJMHg4YjA2fSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ0dJV01PREUiLAkweDhiMDd9LAorCXsibGludXgvd2lyZWxlc3MuaCIsCSJTSU9DU0lXU0VOUyIsCTB4OGIwOH0sCisJeyJsaW51eC93aXJlbGVzcy5oIiwJIlNJT0NHSVdTRU5TIiwJMHg4YjA5fSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ1NJV1JBTkdFIiwJMHg4YjBhfSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ0dJV1JBTkdFIiwJMHg4YjBifSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ1NJV1BSSVYiLAkweDhiMGN9LAorCXsibGludXgvd2lyZWxlc3MuaCIsCSJTSU9DR0lXUFJJViIsCTB4OGIwZH0sCisJeyJsaW51eC93aXJlbGVzcy5oIiwJIlNJT0NTSVdTVEFUUyIsCTB4OGIwZX0sCisJeyJsaW51eC93aXJlbGVzcy5oIiwJIlNJT0NHSVdTVEFUUyIsCTB4OGIwZn0sCisJeyJsaW51eC93aXJlbGVzcy5oIiwJIlNJT0NTSVdTUFkiLAkweDhiMTB9LAorCXsibGludXgvd2lyZWxlc3MuaCIsCSJTSU9DR0lXU1BZIiwJMHg4YjExfSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ1NJV1RIUlNQWSIsCTB4OGIxMn0sCisJeyJsaW51eC93aXJlbGVzcy5oIiwJIlNJT0NHSVdUSFJTUFkiLAkweDhiMTN9LAorCXsibGludXgvd2lyZWxlc3MuaCIsCSJTSU9DU0lXQVAiLAkweDhiMTR9LAorCXsibGludXgvd2lyZWxlc3MuaCIsCSJTSU9DR0lXQVAiLAkweDhiMTV9LAorCXsibGludXgvd2lyZWxlc3MuaCIsCSJTSU9DU0lXTUxNRSIsCTB4OGIxNn0sCisJeyJsaW51eC93aXJlbGVzcy5oIiwJIlNJT0NHSVdBUExJU1QiLAkweDhiMTd9LAorCXsibGludXgvd2lyZWxlc3MuaCIsCSJTSU9DU0lXU0NBTiIsCTB4OGIxOH0sCisJeyJsaW51eC93aXJlbGVzcy5oIiwJIlNJT0NHSVdTQ0FOIiwJMHg4YjE5fSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ1NJV0VTU0lEIiwJMHg4YjFhfSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ0dJV0VTU0lEIiwJMHg4YjFifSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ1NJV05JQ0tOIiwJMHg4YjFjfSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ0dJV05JQ0tOIiwJMHg4YjFkfSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ1NJV1JBVEUiLAkweDhiMjB9LAorCXsibGludXgvd2lyZWxlc3MuaCIsCSJTSU9DR0lXUkFURSIsCTB4OGIyMX0sCisJeyJsaW51eC93aXJlbGVzcy5oIiwJIlNJT0NTSVdSVFMiLAkweDhiMjJ9LAorCXsibGludXgvd2lyZWxlc3MuaCIsCSJTSU9DR0lXUlRTIiwJMHg4YjIzfSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ1NJV0ZSQUciLAkweDhiMjR9LAorCXsibGludXgvd2lyZWxlc3MuaCIsCSJTSU9DR0lXRlJBRyIsCTB4OGIyNX0sCisJeyJsaW51eC93aXJlbGVzcy5oIiwJIlNJT0NTSVdUWFBPVyIsCTB4OGIyNn0sCisJeyJsaW51eC93aXJlbGVzcy5oIiwJIlNJT0NHSVdUWFBPVyIsCTB4OGIyN30sCisJeyJsaW51eC93aXJlbGVzcy5oIiwJIlNJT0NTSVdSRVRSWSIsCTB4OGIyOH0sCisJeyJsaW51eC93aXJlbGVzcy5oIiwJIlNJT0NHSVdSRVRSWSIsCTB4OGIyOX0sCisJeyJsaW51eC93aXJlbGVzcy5oIiwJIlNJT0NTSVdFTkNPREUiLAkweDhiMmF9LAorCXsibGludXgvd2lyZWxlc3MuaCIsCSJTSU9DR0lXRU5DT0RFIiwJMHg4YjJifSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ1NJV1BPV0VSIiwJMHg4YjJjfSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ0dJV1BPV0VSIiwJMHg4YjJkfSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ1NJV0dFTklFIiwJMHg4YjMwfSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ0dJV0dFTklFIiwJMHg4YjMxfSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ1NJV0FVVEgiLAkweDhiMzJ9LAorCXsibGludXgvd2lyZWxlc3MuaCIsCSJTSU9DR0lXQVVUSCIsCTB4OGIzM30sCisJeyJsaW51eC93aXJlbGVzcy5oIiwJIlNJT0NTSVdFTkNPREVFWFQiLAkweDhiMzR9LAorCXsibGludXgvd2lyZWxlc3MuaCIsCSJTSU9DR0lXRU5DT0RFRVhUIiwJMHg4YjM1fSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ1NJV1BNS1NBIiwJMHg4YjM2fSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ0lXRklSU1RQUklWIiwJMHg4YmUwfSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ0lXTEFTVFBSSVYiLAkweDhiZmZ9LAorCXsibGludXgvYXV0b19mcy5oIiwJIkFVVE9GU19JT0NfUkVBRFkiLAkweDkzNjB9LAorCXsibGludXgvYXV0b19mcy5oIiwJIkFVVE9GU19JT0NfRkFJTCIsCTB4OTM2MX0sCisJeyJsaW51eC9hdXRvX2ZzLmgiLAkiQVVUT0ZTX0lPQ19DQVRBVE9OSUMiLAkweDkzNjJ9LAorCXsibGludXgvYXV0b19mcy5oIiwJIkFVVE9GU19JT0NfUFJPVE9WRVIiLAkweDkzNjN9LAorCXsibGludXgvYXV0b19mcy5oIiwJIkFVVE9GU19JT0NfU0VUVElNRU9VVCIsCTB4OTM2NH0sCisJeyJsaW51eC9hdXRvX2ZzLmgiLAkiQVVUT0ZTX0lPQ19FWFBJUkUiLAkweDkzNjV9LAorCXsibGludXgvYXV0b19mczQuaCIsCSJBVVRPRlNfSU9DX0VYUElSRV9NVUxUSSIsCTB4OTM2Nn0sCisJeyJsaW51eC9hdXRvX2ZzNC5oIiwJIkFVVE9GU19JT0NfUFJPVE9TVUJWRVIiLAkweDkzNjd9LAorCXsibGludXgvYXV0b19mczQuaCIsCSJBVVRPRlNfSU9DX0FTS1JFR0hPU1QiLAkweDkzNjh9LAorCXsibGludXgvYXV0b19mczQuaCIsCSJBVVRPRlNfSU9DX1RPR0dMRVJFR0hPU1QiLAkweDkzNjl9LAorCXsibGludXgvYXV0b19mczQuaCIsCSJBVVRPRlNfSU9DX0FTS1VNT1VOVCIsCTB4OTM3MH0sCisJeyJsaW51eC9uYmQuaCIsCSJOQkRfU0VUX1NPQ0siLAkweGFiMDB9LAorCXsibGludXgvbmJkLmgiLAkiTkJEX1NFVF9CTEtTSVpFIiwJMHhhYjAxfSwKKwl7ImxpbnV4L25iZC5oIiwJIk5CRF9TRVRfU0laRSIsCTB4YWIwMn0sCisJeyJsaW51eC9uYmQuaCIsCSJOQkRfRE9fSVQiLAkweGFiMDN9LAorCXsibGludXgvbmJkLmgiLAkiTkJEX0NMRUFSX1NPQ0siLAkweGFiMDR9LAorCXsibGludXgvbmJkLmgiLAkiTkJEX0NMRUFSX1FVRSIsCTB4YWIwNX0sCisJeyJsaW51eC9uYmQuaCIsCSJOQkRfUFJJTlRfREVCVUciLAkweGFiMDZ9LAorCXsibGludXgvbmJkLmgiLAkiTkJEX1NFVF9TSVpFX0JMT0NLUyIsCTB4YWIwN30sCisJeyJsaW51eC9uYmQuaCIsCSJOQkRfRElTQ09OTkVDVCIsCTB4YWIwOH0sCisJeyJsaW51eC9uYmQuaCIsCSJOQkRfU0VUX1RJTUVPVVQiLAkweGFiMDl9LAorCXsibGludXgvcmF3LmgiLAkiUkFXX1NFVEJJTkQiLAkweGFjMDB9LAorCXsibGludXgvcmF3LmgiLAkiUkFXX0dFVEJJTkQiLAkweGFjMDF9LAorCXsibGludXgva3ZtLmgiLAkiS1ZNX0dFVF9BUElfVkVSU0lPTiIsCTB4YWUwMH0sCisJeyJsaW51eC9rdm0uaCIsCSJLVk1fQ1JFQVRFX1ZNIiwJMHhhZTAxfSwKKwl7ImxpbnV4L2t2bS5oIiwJIktWTV9HRVRfTVNSX0lOREVYX0xJU1QiLAkweGFlMDJ9LAorCXsibGludXgva3ZtLmgiLAkiS1ZNX0NIRUNLX0VYVEVOU0lPTiIsCTB4YWUwM30sCisJeyJsaW51eC9rdm0uaCIsCSJLVk1fR0VUX1ZDUFVfTU1BUF9TSVpFIiwJMHhhZTA0fSwKKwl7ImxpbnV4L2t2bS5oIiwJIktWTV9HRVRfU1VQUE9SVEVEX0NQVUlEIiwJMHhhZTA1fSwKKwl7ImxpbnV4L2t2bS5oIiwJIktWTV9TMzkwX0VOQUJMRV9TSUUiLAkweGFlMDZ9LAorCXsibGludXgva3ZtLmgiLAkiS1ZNX1RSQUNFX0VOQUJMRSIsCTB4YWUwNn0sCisJeyJsaW51eC9rdm0uaCIsCSJLVk1fVFJBQ0VfUEFVU0UiLAkweGFlMDd9LAorCXsibGludXgva3ZtLmgiLAkiS1ZNX1RSQUNFX0RJU0FCTEUiLAkweGFlMDh9LAorCXsibGludXgva3ZtLmgiLAkiS1ZNX1NFVF9NRU1PUllfUkVHSU9OIiwJMHhhZTQwfSwKKwl7ImxpbnV4L2t2bS5oIiwJIktWTV9DUkVBVEVfVkNQVSIsCTB4YWU0MX0sCisJeyJsaW51eC9rdm0uaCIsCSJLVk1fR0VUX0RJUlRZX0xPRyIsCTB4YWU0Mn0sCisJeyJsaW51eC9rdm0uaCIsCSJLVk1fU0VUX01FTU9SWV9BTElBUyIsCTB4YWU0M30sCisJeyJsaW51eC9rdm0uaCIsCSJLVk1fU0VUX05SX01NVV9QQUdFUyIsCTB4YWU0NH0sCisJeyJsaW51eC9rdm0uaCIsCSJLVk1fR0VUX05SX01NVV9QQUdFUyIsCTB4YWU0NX0sCisJeyJsaW51eC9rdm0uaCIsCSJLVk1fU0VUX1VTRVJfTUVNT1JZX1JFR0lPTiIsCTB4YWU0Nn0sCisJeyJsaW51eC9rdm0uaCIsCSJLVk1fU0VUX1RTU19BRERSIiwJMHhhZTQ3fSwKKwl7ImxpbnV4L2t2bS5oIiwJIktWTV9DUkVBVEVfSVJRQ0hJUCIsCTB4YWU2MH0sCisJeyJsaW51eC9rdm0uaCIsCSJLVk1fSVJRX0xJTkUiLAkweGFlNjF9LAorCXsibGludXgva3ZtLmgiLAkiS1ZNX0dFVF9JUlFDSElQIiwJMHhhZTYyfSwKKwl7ImxpbnV4L2t2bS5oIiwJIktWTV9TRVRfSVJRQ0hJUCIsCTB4YWU2M30sCisJeyJsaW51eC9rdm0uaCIsCSJLVk1fQ1JFQVRFX1BJVCIsCTB4YWU2NH0sCisJeyJsaW51eC9rdm0uaCIsCSJLVk1fR0VUX1BJVCIsCTB4YWU2NX0sCisJeyJsaW51eC9rdm0uaCIsCSJLVk1fU0VUX1BJVCIsCTB4YWU2Nn0sCisJeyJsaW51eC9rdm0uaCIsCSJLVk1fSVJRX0xJTkVfU1RBVFVTIiwJMHhhZTY3fSwKKwl7ImxpbnV4L2t2bS5oIiwJIktWTV9BU1NJR05fUENJX0RFVklDRSIsCTB4YWU2OX0sCisJeyJsaW51eC9rdm0uaCIsCSJLVk1fU0VUX0dTSV9ST1VUSU5HIiwJMHhhZTZhfSwKKwl7ImxpbnV4L2t2bS5oIiwJIktWTV9BU1NJR05fREVWX0lSUSIsCTB4YWU3MH0sCisJeyJsaW51eC9rdm0uaCIsCSJLVk1fQVNTSUdOX0lSUSIsCTB4YWU3MH0sCisJeyJsaW51eC9rdm0uaCIsCSJLVk1fUkVJTkpFQ1RfQ09OVFJPTCIsCTB4YWU3MX0sCisJeyJsaW51eC9rdm0uaCIsCSJLVk1fREVBU1NJR05fUENJX0RFVklDRSIsCTB4YWU3Mn0sCisJeyJsaW51eC9rdm0uaCIsCSJLVk1fREVBU1NJR05fREVWX0lSUSIsCTB4YWU3NX0sCisJeyJsaW51eC9rdm0uaCIsCSJLVk1fUlVOIiwJMHhhZTgwfSwKKwl7ImxpbnV4L2t2bS5oIiwJIktWTV9HRVRfUkVHUyIsCTB4YWU4MX0sCisJeyJsaW51eC9rdm0uaCIsCSJLVk1fU0VUX1JFR1MiLAkweGFlODJ9LAorCXsibGludXgva3ZtLmgiLAkiS1ZNX0dFVF9TUkVHUyIsCTB4YWU4M30sCisJeyJsaW51eC9rdm0uaCIsCSJLVk1fU0VUX1NSRUdTIiwJMHhhZTg0fSwKKwl7ImxpbnV4L2t2bS5oIiwJIktWTV9UUkFOU0xBVEUiLAkweGFlODV9LAorCXsibGludXgva3ZtLmgiLAkiS1ZNX0lOVEVSUlVQVCIsCTB4YWU4Nn0sCisJeyJsaW51eC9rdm0uaCIsCSJLVk1fREVCVUdfR1VFU1QiLAkweGFlODd9LAorCXsibGludXgva3ZtLmgiLAkiS1ZNX0dFVF9NU1JTIiwJMHhhZTg4fSwKKwl7ImxpbnV4L2t2bS5oIiwJIktWTV9TRVRfTVNSUyIsCTB4YWU4OX0sCisJeyJsaW51eC9rdm0uaCIsCSJLVk1fU0VUX0NQVUlEIiwJMHhhZThhfSwKKwl7ImxpbnV4L2t2bS5oIiwJIktWTV9TRVRfU0lHTkFMX01BU0siLAkweGFlOGJ9LAorCXsibGludXgva3ZtLmgiLAkiS1ZNX0dFVF9GUFUiLAkweGFlOGN9LAorCXsibGludXgva3ZtLmgiLAkiS1ZNX1NFVF9GUFUiLAkweGFlOGR9LAorCXsibGludXgva3ZtLmgiLAkiS1ZNX0dFVF9MQVBJQyIsCTB4YWU4ZX0sCisJeyJsaW51eC9rdm0uaCIsCSJLVk1fU0VUX0xBUElDIiwJMHhhZThmfSwKKwl7ImxpbnV4L2t2bS5oIiwJIktWTV9TRVRfQ1BVSUQyIiwJMHhhZTkwfSwKKwl7ImxpbnV4L2t2bS5oIiwJIktWTV9HRVRfQ1BVSUQyIiwJMHhhZTkxfSwKKwl7ImxpbnV4L2t2bS5oIiwJIktWTV9UUFJfQUNDRVNTX1JFUE9SVElORyIsCTB4YWU5Mn0sCisJeyJsaW51eC9rdm0uaCIsCSJLVk1fU0VUX1ZBUElDX0FERFIiLAkweGFlOTN9LAorCXsibGludXgva3ZtLmgiLAkiS1ZNX1MzOTBfSU5URVJSVVBUIiwJMHhhZTk0fSwKKwl7ImxpbnV4L2t2bS5oIiwJIktWTV9TMzkwX1NUT1JFX1NUQVRVUyIsCTB4YWU5NX0sCisJeyJsaW51eC9rdm0uaCIsCSJLVk1fUzM5MF9TRVRfSU5JVElBTF9QU1ciLAkweGFlOTZ9LAorCXsibGludXgva3ZtLmgiLAkiS1ZNX1MzOTBfSU5JVElBTF9SRVNFVCIsCTB4YWU5N30sCisJeyJsaW51eC9rdm0uaCIsCSJLVk1fR0VUX01QX1NUQVRFIiwJMHhhZTk4fSwKKwl7ImxpbnV4L2t2bS5oIiwJIktWTV9TRVRfTVBfU1RBVEUiLAkweGFlOTl9LAorCXsibGludXgva3ZtLmgiLAkiS1ZNX0lBNjRfVkNQVV9HRVRfU1RBQ0siLAkweGFlOWF9LAorCXsibGludXgva3ZtLmgiLAkiS1ZNX05NSSIsCTB4YWU5YX0sCisJeyJsaW51eC9rdm0uaCIsCSJLVk1fSUE2NF9WQ1BVX1NFVF9TVEFDSyIsCTB4YWU5Yn0sCisJeyJsaW51eC9rdm0uaCIsCSJLVk1fU0VUX0dVRVNUX0RFQlVHIiwJMHhhZTlifSwKKwl7ImxpbnV4L2lmX3BwcG94LmgiLAkiUFBQT0VJT0NTRldEIiwJMHhiMTAwfSwKKwl7ImxpbnV4L2lmX3BwcG94LmgiLAkiUFBQT0VJT0NERldEIiwJMHhiMTAxfSwKKwl7ImxpbnV4L3VzYi9pb3dhcnJpb3IuaCIsCSJJT1dfV1JJVEUiLAkweGMwMDF9LAorCXsibGludXgvdXNiL2lvd2Fycmlvci5oIiwJIklPV19SRUFEIiwJMHhjMDAyfSwKKwl7ImxpbnV4L3VzYi9pb3dhcnJpb3IuaCIsCSJJT1dfR0VUSU5GTyIsCTB4YzAwM30sCisJeyJsaW51eC9yZWlzZXJmc19mcy5oIiwJIlJFSVNFUkZTX0lPQzMyX1VOUEFDSyIsCTB4Y2QwMX0sCisJeyJsaW51eC9yZWlzZXJmc19mcy5oIiwJIlJFSVNFUkZTX0lPQ19VTlBBQ0siLAkweGNkMDF9LAorCXsidmlkZW8vc2lzZmIuaCIsCSJTSVNGQl9HRVRfSU5GT19TSVpFIiwJMHhmMzAwfSwKKwl7InZpZGVvL3Npc2ZiLmgiLAkiU0lTRkJfR0VUX0lORk8iLAkweGYzMDF9LAorCXsidmlkZW8vc2lzZmIuaCIsCSJTSVNGQl9HRVRfVkJSU1RBVFVTIiwJMHhmMzAyfSwKKwl7InZpZGVvL3Npc2ZiLmgiLAkiU0lTRkJfR0VUX0FVVE9NQVhJTUlaRSIsCTB4ZjMwM30sCisJeyJ2aWRlby9zaXNmYi5oIiwJIlNJU0ZCX1NFVF9BVVRPTUFYSU1JWkUiLAkweGYzMDN9LAorCXsidmlkZW8vc2lzZmIuaCIsCSJTSVNGQl9HRVRfVFZQT1NPRkZTRVQiLAkweGYzMDR9LAorCXsidmlkZW8vc2lzZmIuaCIsCSJTSVNGQl9TRVRfVFZQT1NPRkZTRVQiLAkweGYzMDR9LAorCXsidmlkZW8vc2lzZmIuaCIsCSJTSVNGQl9DT01NQU5EIiwJMHhmMzA1fSwKKwl7InZpZGVvL3Npc2ZiLmgiLAkiU0lTRkJfU0VUX0xPQ0siLAkweGYzMDZ9LAorCXsidmlkZW8vbWJ4ZmIuaCIsCSJNQlhGQl9JT0NYX09WRVJMQVkiLAkweGY0MDB9LAorCXsidmlkZW8vbWJ4ZmIuaCIsCSJNQlhGQl9JT0NHX0FMUEhBIiwJMHhmNDAxfSwKKwl7InZpZGVvL21ieGZiLmgiLAkiTUJYRkJfSU9DU19BTFBIQSIsCTB4ZjQwMn0sCisJeyJ2aWRlby9tYnhmYi5oIiwJIk1CWEZCX0lPQ1NfUExBTkVPUkRFUiIsCTB4ZjQwM30sCisJeyJ2aWRlby9tYnhmYi5oIiwJIk1CWEZCX0lPQ1NfUkVHIiwJMHhmNDA0fSwKKwl7InZpZGVvL21ieGZiLmgiLAkiTUJYRkJfSU9DWF9SRUciLAkweGY0MDV9LAorCXsibGludXgvZG0taW9jdGwuaCIsCSJETV9WRVJTSU9OIiwJMHhmZDAwfSwKKwl7ImxpbnV4L2RtLWlvY3RsLmgiLAkiRE1fVkVSU0lPTl8zMiIsCTB4ZmQwMH0sCisJeyJsaW51eC9kbS1pb2N0bC5oIiwJIkRNX1JFTU9WRV9BTEwiLAkweGZkMDF9LAorCXsibGludXgvZG0taW9jdGwuaCIsCSJETV9SRU1PVkVfQUxMXzMyIiwJMHhmZDAxfSwKKwl7ImxpbnV4L2RtLWlvY3RsLmgiLAkiRE1fTElTVF9ERVZJQ0VTIiwJMHhmZDAyfSwKKwl7ImxpbnV4L2RtLWlvY3RsLmgiLAkiRE1fTElTVF9ERVZJQ0VTXzMyIiwJMHhmZDAyfSwKKwl7ImxpbnV4L2RtLWlvY3RsLmgiLAkiRE1fREVWX0NSRUFURSIsCTB4ZmQwM30sCisJeyJsaW51eC9kbS1pb2N0bC5oIiwJIkRNX0RFVl9DUkVBVEVfMzIiLAkweGZkMDN9LAorCXsibGludXgvZG0taW9jdGwuaCIsCSJETV9ERVZfUkVNT1ZFIiwJMHhmZDA0fSwKKwl7ImxpbnV4L2RtLWlvY3RsLmgiLAkiRE1fREVWX1JFTU9WRV8zMiIsCTB4ZmQwNH0sCisJeyJsaW51eC9kbS1pb2N0bC5oIiwJIkRNX0RFVl9SRU5BTUUiLAkweGZkMDV9LAorCXsibGludXgvZG0taW9jdGwuaCIsCSJETV9ERVZfUkVOQU1FXzMyIiwJMHhmZDA1fSwKKwl7ImxpbnV4L2RtLWlvY3RsLmgiLAkiRE1fREVWX1NVU1BFTkQiLAkweGZkMDZ9LAorCXsibGludXgvZG0taW9jdGwuaCIsCSJETV9ERVZfU1VTUEVORF8zMiIsCTB4ZmQwNn0sCisJeyJsaW51eC9kbS1pb2N0bC5oIiwJIkRNX0RFVl9TVEFUVVMiLAkweGZkMDd9LAorCXsibGludXgvZG0taW9jdGwuaCIsCSJETV9ERVZfU1RBVFVTXzMyIiwJMHhmZDA3fSwKKwl7ImxpbnV4L2RtLWlvY3RsLmgiLAkiRE1fREVWX1dBSVQiLAkweGZkMDh9LAorCXsibGludXgvZG0taW9jdGwuaCIsCSJETV9ERVZfV0FJVF8zMiIsCTB4ZmQwOH0sCisJeyJsaW51eC9kbS1pb2N0bC5oIiwJIkRNX1RBQkxFX0xPQUQiLAkweGZkMDl9LAorCXsibGludXgvZG0taW9jdGwuaCIsCSJETV9UQUJMRV9MT0FEXzMyIiwJMHhmZDA5fSwKKwl7ImxpbnV4L2RtLWlvY3RsLmgiLAkiRE1fVEFCTEVfQ0xFQVIiLAkweGZkMGF9LAorCXsibGludXgvZG0taW9jdGwuaCIsCSJETV9UQUJMRV9DTEVBUl8zMiIsCTB4ZmQwYX0sCisJeyJsaW51eC9kbS1pb2N0bC5oIiwJIkRNX1RBQkxFX0RFUFMiLAkweGZkMGJ9LAorCXsibGludXgvZG0taW9jdGwuaCIsCSJETV9UQUJMRV9ERVBTXzMyIiwJMHhmZDBifSwKKwl7ImxpbnV4L2RtLWlvY3RsLmgiLAkiRE1fVEFCTEVfU1RBVFVTIiwJMHhmZDBjfSwKKwl7ImxpbnV4L2RtLWlvY3RsLmgiLAkiRE1fVEFCTEVfU1RBVFVTXzMyIiwJMHhmZDBjfSwKKwl7ImxpbnV4L2RtLWlvY3RsLmgiLAkiRE1fTElTVF9WRVJTSU9OUyIsCTB4ZmQwZH0sCisJeyJsaW51eC9kbS1pb2N0bC5oIiwJIkRNX0xJU1RfVkVSU0lPTlNfMzIiLAkweGZkMGR9LAorCXsibGludXgvZG0taW9jdGwuaCIsCSJETV9UQVJHRVRfTVNHIiwJMHhmZDBlfSwKKwl7ImxpbnV4L2RtLWlvY3RsLmgiLAkiRE1fVEFSR0VUX01TR18zMiIsCTB4ZmQwZX0sCisJeyJsaW51eC9kbS1pb2N0bC5oIiwJIkRNX0RFVl9TRVRfR0VPTUVUUlkiLAkweGZkMGZ9LAorCXsibGludXgvZG0taW9jdGwuaCIsCSJETV9ERVZfU0VUX0dFT01FVFJZXzMyIiwJMHhmZDBmfSwKZGlmZiAtLWdpdCBhL3N0cmFjZS00LjUuMjAvbGludXgvYmZpbi9zeXNjYWxsZW50LmggYi9zdHJhY2UtNC41LjIwL2xpbnV4L2JmaW4vc3lzY2FsbGVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY2MGI4NDIKLS0tIC9kZXYvbnVsbAorKysgYi9zdHJhY2UtNC41LjIwL2xpbnV4L2JmaW4vc3lzY2FsbGVudC5oCkBAIC0wLDAgKzEsNDAxIEBACisvKgorICogQ29weXJpZ2h0IChjKSAxOTkzIEJyYW5rbyBMYW5rZXN0ZXIgPGJyYW5rb0BoYWNrdGljLm5sPgorICogQ29weXJpZ2h0IChjKSAxOTkzLCAxOTk0LCAxOTk1IFJpY2sgU2xhZGtleSA8anJzQHdvcmxkLnN0ZC5jb20+CisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gVGhlIG5hbWUgb2YgdGhlIGF1dGhvciBtYXkgbm90IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzCisgKiAgICBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBBVVRIT1IgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUyBPUgorICogSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUworICogT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4KKyAqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKKyAqIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVAorICogTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKgorICoJJElkJAorICovCisKKwl7IDAsCTAsCXN5c19yZXN0YXJ0X3N5c2NhbGwsCSJyZXN0YXJ0X3N5c2NhbGwiCX0sIC8qIDAgKi8KKwl7IDEsCVRQLAlzeXNfZXhpdCwJCSJfZXhpdCIsIFNZU19leGl0IH0sIC8qIDEgKi8KKwl7IDAsCVRQLAlzeXNfZm9yaywJCSJmb3JrIiwgU1lTX2ZvcmsgfSwgLyogMiAqLworCXsgMywJVEQsCXN5c19yZWFkLAkJInJlYWQiLCBTWVNfcmVhZCB9LCAvKiAzICovCisJeyAzLAlURCwJc3lzX3dyaXRlLAkJIndyaXRlIiwgU1lTX3dyaXRlIH0sIC8qIDQgKi8KKwl7IDMsCVREfFRGLAlzeXNfb3BlbiwJCSJvcGVuIgkJfSwgLyogNSAqLworCXsgMSwJVEQsCXN5c19jbG9zZSwJCSJjbG9zZSIJCX0sIC8qIDYgKi8KKwl7IDMsCVRQLAlzeXNfd2FpdHBpZCwJCSJ3YWl0cGlkIiwgU1lTX3dhaXQ0IH0sIC8qIDcgKi8KKwl7IDIsCVREfFRGLAlzeXNfY3JlYXQsCQkiY3JlYXQiCQl9LCAvKiA4ICovCisJeyAyLAlURiwJc3lzX2xpbmssCQkibGluayIJCX0sIC8qIDkgKi8KKwl7IDEsCVRGLAlzeXNfdW5saW5rLAkJInVubGluayIJfSwgLyogMTAgKi8KKwl7IDMsCVRGfFRQLAlzeXNfZXhlY3ZlLAkJImV4ZWN2ZSIsIFNZU19leGVjdmUgfSwgLyogMTEgKi8KKwl7IDEsCVRGLAlzeXNfY2hkaXIsCQkiY2hkaXIiCQl9LCAvKiAxMiAqLworCXsgMSwJMCwJc3lzX3RpbWUsCQkidGltZSIJCX0sIC8qIDEzICovCisJeyAzLAlURiwJc3lzX21rbm9kLAkJIm1rbm9kIgkJfSwgLyogMTQgKi8KKwl7IDIsCVRGLAlzeXNfY2htb2QsCQkiY2htb2QiCQl9LCAvKiAxNSAqLworCXsgMywJVEYsCXN5c19jaG93biwJCSJjaG93biIJCX0sIC8qIDE2ICovCisJeyAwLAkwLAlzeXNfYnJlYWssCQkiYnJlYWsiCQl9LCAvKiAxNyAqLworCXsgMiwJVEYsCXN5c19vbGRzdGF0LAkJIm9sZHN0YXQiCX0sIC8qIDE4ICovCisJeyAzLAlURCwJc3lzX2xzZWVrLAkJImxzZWVrIgkJfSwgLyogMTkgKi8KKwl7IDAsCTAsCXN5c19nZXRwaWQsCQkiZ2V0cGlkIgl9LCAvKiAyMCAqLworCXsgNSwJVEYsCXN5c19tb3VudCwJCSJtb3VudCIJCX0sIC8qIDIxICovCisJeyAxLAlURiwJc3lzX3Vtb3VudCwJCSJvbGR1bW91bnQiCX0sIC8qIDIyICovCisJeyAxLAkwLAlzeXNfc2V0dWlkLAkJInNldHVpZCIJfSwgLyogMjMgKi8KKwl7IDAsCTAsCXN5c19nZXR1aWQsCQkiZ2V0dWlkIgl9LCAvKiAyNCAqLworCXsgMSwJMCwJc3lzX3N0aW1lLAkJInN0aW1lIgkJfSwgLyogMjUgKi8KKwl7IDQsCTAsCXN5c19wdHJhY2UsCQkicHRyYWNlIgl9LCAvKiAyNiAqLworCXsgMSwJMCwJc3lzX2FsYXJtLAkJImFsYXJtIgkJfSwgLyogMjcgKi8KKwl7IDIsCVRELAlzeXNfb2xkZnN0YXQsCQkib2xkZnN0YXQiCX0sIC8qIDI4ICovCisJeyAwLAlUUywJc3lzX3BhdXNlLAkJInBhdXNlIgkJfSwgLyogMjkgKi8KKwl7IDIsCVRGLAlzeXNfdXRpbWUsCQkidXRpbWUiCQl9LCAvKiAzMCAqLworCXsgMiwJMCwJc3lzX3N0dHksCQkic3R0eSIJCX0sIC8qIDMxICovCisJeyAyLAkwLAlzeXNfZ3R0eSwJCSJndHR5IgkJfSwgLyogMzIgKi8KKwl7IDIsCVRGLAlzeXNfYWNjZXNzLAkJImFjY2VzcyIJfSwgLyogMzMgKi8KKwl7IDEsCTAsCXN5c19uaWNlLAkJIm5pY2UiCQl9LCAvKiAzNCAqLworCXsgMCwJMCwJc3lzX2Z0aW1lLAkJImZ0aW1lIgkJfSwgLyogMzUgKi8KKwl7IDAsCTAsCXN5c19zeW5jLAkJInN5bmMiCQl9LCAvKiAzNiAqLworCXsgMiwJVFMsCXN5c19raWxsLAkJImtpbGwiCQl9LCAvKiAzNyAqLworCXsgMiwJVEYsCXN5c19yZW5hbWUsCQkicmVuYW1lIgl9LCAvKiAzOCAqLworCXsgMiwJVEYsCXN5c19ta2RpciwJCSJta2RpciIJCX0sIC8qIDM5ICovCisJeyAxLAlURiwJc3lzX3JtZGlyLAkJInJtZGlyIgkJfSwgLyogNDAgKi8KKwl7IDEsCVRELAlzeXNfZHVwLAkJImR1cCIJCX0sIC8qIDQxICovCisJeyAxLAlURCwJc3lzX3BpcGUsCQkicGlwZSIJCX0sIC8qIDQyICovCisJeyAxLAkwLAlzeXNfdGltZXMsCQkidGltZXMiCQl9LCAvKiA0MyAqLworCXsgMCwJMCwJc3lzX3Byb2YsCQkicHJvZiIJCX0sIC8qIDQ0ICovCisJeyAxLAkwLAlzeXNfYnJrLAkJImJyayIJCX0sIC8qIDQ1ICovCisJeyAxLAkwLAlzeXNfc2V0Z2lkLAkJInNldGdpZCIJfSwgLyogNDYgKi8KKwl7IDAsCTAsCXN5c19nZXRnaWQsCQkiZ2V0Z2lkIgl9LCAvKiA0NyAqLworCXsgMywJVFMsCXN5c19zaWduYWwsCQkic2lnbmFsIgl9LCAvKiA0OCAqLworCXsgMCwJMCwJc3lzX2dldGV1aWQsCQkiZ2V0ZXVpZCIJfSwgLyogNDkgKi8KKwl7IDAsCTAsCXN5c19nZXRlZ2lkLAkJImdldGVnaWQiCX0sIC8qIDUwICovCisJeyAxLAlURiwJc3lzX2FjY3QsCQkiYWNjdCIJCX0sIC8qIDUxICovCisJeyAyLAlURiwJc3lzX3Vtb3VudDIsCQkidW1vdW50Igl9LCAvKiA1MiAqLworCXsgMCwJMCwJc3lzX2xvY2ssCQkibG9jayIJCX0sIC8qIDUzICovCisJeyAzLAlURCwJc3lzX2lvY3RsLAkJImlvY3RsIgkJfSwgLyogNTQgKi8KKwl7IDMsCVRELAlzeXNfZmNudGwsCQkiZmNudGwiCQl9LCAvKiA1NSAqLworCXsgMCwJMCwJc3lzX21weCwJCSJtcHgiCQl9LCAvKiA1NiAqLworCXsgMiwJMCwJc3lzX3NldHBnaWQsCQkic2V0cGdpZCIJfSwgLyogNTcgKi8KKwl7IDIsCTAsCXN5c191bGltaXQsCQkidWxpbWl0Igl9LCAvKiA1OCAqLworCXsgMSwJMCwJc3lzX29sZG9sZHVuYW1lLAkib2xkb2xkdW5hbWUiCX0sIC8qIDU5ICovCisJeyAxLAkwLAlzeXNfdW1hc2ssCQkidW1hc2siCQl9LCAvKiA2MCAqLworCXsgMSwJVEYsCXN5c19jaHJvb3QsCQkiY2hyb290Igl9LCAvKiA2MSAqLworCXsgMiwJMCwJc3lzX3VzdGF0LAkJInVzdGF0IgkJfSwgLyogNjIgKi8KKwl7IDIsCVRELAlzeXNfZHVwMiwJCSJkdXAyIgkJfSwgLyogNjMgKi8KKwl7IDAsCTAsCXN5c19nZXRwcGlkLAkJImdldHBwaWQiCX0sIC8qIDY0ICovCisJeyAwLAkwLAlzeXNfZ2V0cGdycCwJCSJnZXRwZ3JwIgl9LCAvKiA2NSAqLworCXsgMCwJMCwJc3lzX3NldHNpZCwJCSJzZXRzaWQiCX0sIC8qIDY2ICovCisJeyAzLAlUUywJc3lzX3NpZ2FjdGlvbiwJCSJzaWdhY3Rpb24iCX0sIC8qIDY3ICovCisJeyAwLAlUUywJc3lzX3NpZ2dldG1hc2ssCQkic2lnZ2V0bWFzayIJfSwgLyogNjggKi8KKwl7IDEsCVRTLAlzeXNfc2lnc2V0bWFzaywJCSJzaWdzZXRtYXNrIgl9LCAvKiA2OSAqLworCXsgMiwJMCwJc3lzX3NldHJldWlkLAkJInNldHJldWlkIgl9LCAvKiA3MCAqLworCXsgMiwJMCwJc3lzX3NldHJlZ2lkLAkJInNldHJlZ2lkIgl9LCAvKiA3MSAqLworCXsgMywJVFMsCXN5c19zaWdzdXNwZW5kLAkJInNpZ3N1c3BlbmQiCX0sIC8qIDcyICovCisJeyAxLAlUUywJc3lzX3NpZ3BlbmRpbmcsCQkic2lncGVuZGluZyIJfSwgLyogNzMgKi8KKwl7IDIsCTAsCXN5c19zZXRob3N0bmFtZSwJInNldGhvc3RuYW1lIgl9LCAvKiA3NCAqLworCXsgMiwJMCwJc3lzX3NldHJsaW1pdCwJCSJzZXRybGltaXQiCX0sIC8qIDc1ICovCisJeyAyLAkwLAlzeXNfZ2V0cmxpbWl0LAkJIm9sZF9nZXRybGltaXQiCX0sIC8qIDc2ICovCisJeyAyLAkwLAlzeXNfZ2V0cnVzYWdlLAkJImdldHJ1c2FnZSIJfSwgLyogNzcgKi8KKwl7IDIsCTAsCXN5c19nZXR0aW1lb2ZkYXksCSJnZXR0aW1lb2ZkYXkiCX0sIC8qIDc4ICovCisJeyAyLAkwLAlzeXNfc2V0dGltZW9mZGF5LAkic2V0dGltZW9mZGF5Igl9LCAvKiA3OSAqLworCXsgMiwJMCwJc3lzX2dldGdyb3VwcywJCSJnZXRncm91cHMiCX0sIC8qIDgwICovCisJeyAyLAkwLAlzeXNfc2V0Z3JvdXBzLAkJInNldGdyb3VwcyIJfSwgLyogODEgKi8KKwl7IDEsCVRELAlzeXNfb2xkc2VsZWN0LAkJIm9sZHNlbGVjdCIJfSwgLyogODIgKi8KKwl7IDIsCVRGLAlzeXNfc3ltbGluaywJCSJzeW1saW5rIgl9LCAvKiA4MyAqLworCXsgMiwJVEYsCXN5c19vbGRsc3RhdCwJCSJvbGRsc3RhdCIJfSwgLyogODQgKi8KKwl7IDMsCVRGLAlzeXNfcmVhZGxpbmssCQkicmVhZGxpbmsiCX0sIC8qIDg1ICovCisJeyAxLAlURiwJc3lzX3VzZWxpYiwJCSJ1c2VsaWIiCX0sIC8qIDg2ICovCisJeyAxLAlURiwJc3lzX3N3YXBvbiwJCSJzd2Fwb24iCX0sIC8qIDg3ICovCisJeyAzLAkwLAlzeXNfcmVib290LAkJInJlYm9vdCIJfSwgLyogODggKi8KKwl7IDMsCVRELAlzeXNfcmVhZGRpciwJCSJyZWFkZGlyIgl9LCAvKiA4OSAqLworCXsgNiwJVEQsCXN5c19vbGRfbW1hcCwJCSJvbGRfbW1hcCIJfSwgLyogOTAgKi8KKwl7IDIsCTAsCXN5c19tdW5tYXAsCQkibXVubWFwIgl9LCAvKiA5MSAqLworCXsgMiwJVEYsCXN5c190cnVuY2F0ZSwJCSJ0cnVuY2F0ZSIJfSwgLyogOTIgKi8KKwl7IDIsCVRELAlzeXNfZnRydW5jYXRlLAkJImZ0cnVuY2F0ZSIJfSwgLyogOTMgKi8KKwl7IDIsCVRELAlzeXNfZmNobW9kLAkJImZjaG1vZCIJfSwgLyogOTQgKi8KKwl7IDMsCVRELAlzeXNfZmNob3duLAkJImZjaG93biIJfSwgLyogOTUgKi8KKwl7IDIsCTAsCXN5c19nZXRwcmlvcml0eSwJImdldHByaW9yaXR5Igl9LCAvKiA5NiAqLworCXsgMywJMCwJc3lzX3NldHByaW9yaXR5LAkic2V0cHJpb3JpdHkiCX0sIC8qIDk3ICovCisJeyA0LAkwLAlzeXNfcHJvZmlsLAkJInByb2ZpbCIJfSwgLyogOTggKi8KKwl7IDIsCVRGLAlzeXNfc3RhdGZzLAkJInN0YXRmcyIJfSwgLyogOTkgKi8KKwl7IDIsCVRELAlzeXNfZnN0YXRmcywJCSJmc3RhdGZzIgl9LCAvKiAxMDAgKi8KKwl7IDMsCTAsCXN5c19pb3Blcm0sCQkiaW9wZXJtIgl9LCAvKiAxMDEgKi8KKwl7IDIsCVRELAlzeXNfc29ja2V0Y2FsbCwJCSJzb2NrZXRjYWxsIiwgU1lTX3NvY2tldGNhbGwgfSwgLyogMTAyICovCisJeyAzLAkwLAlzeXNfc3lzbG9nLAkJInN5c2xvZyIJfSwgLyogMTAzICovCisJeyAzLAkwLAlzeXNfc2V0aXRpbWVyLAkJInNldGl0aW1lciIJfSwgLyogMTA0ICovCisJeyAyLAkwLAlzeXNfZ2V0aXRpbWVyLAkJImdldGl0aW1lciIJfSwgLyogMTA1ICovCisJeyAyLAlURiwJc3lzX3N0YXQsCQkic3RhdCIJCX0sIC8qIDEwNiAqLworCXsgMiwJVEYsCXN5c19sc3RhdCwJCSJsc3RhdCIJCX0sIC8qIDEwNyAqLworCXsgMiwJVEQsCXN5c19mc3RhdCwJCSJmc3RhdCIJCX0sIC8qIDEwOCAqLworCXsgMSwJMCwJc3lzX29sZHVuYW1lLAkJIm9sZHVuYW1lIgl9LCAvKiAxMDkgKi8KKwl7IDEsCTAsCXN5c19pb3BsLAkJImlvcGwiCQl9LCAvKiAxMTAgKi8KKwl7IDAsCTAsCXN5c192aGFuZ3VwLAkJInZoYW5ndXAiCX0sIC8qIDExMSAqLworCXsgMCwJMCwJc3lzX2lkbGUsCQkiaWRsZSIJCX0sIC8qIDExMiAqLworCXsgMSwJMCwJc3lzX3ZtODZvbGQsCQkidm04Nm9sZCIJfSwgLyogMTEzICovCisJeyA0LAlUUCwJc3lzX3dhaXQ0LAkJIndhaXQ0IiwgU1lTX3dhaXQ0IH0sIC8qIDExNCAqLworCXsgMSwJMCwJc3lzX3N3YXBvZmYsCQkic3dhcG9mZiIJfSwgLyogMTE1ICovCisJeyAxLAkwLAlzeXNfc3lzaW5mbywJCSJzeXNpbmZvIgl9LCAvKiAxMTYgKi8KKwl7IDYsCTAsCXN5c19pcGMsCQkiaXBjIiwgU1lTX2lwYyB9LCAvKiAxMTcgKi8KKwl7IDEsCVRELAlzeXNfZnN5bmMsCQkiZnN5bmMiCQl9LCAvKiAxMTggKi8KKwl7IDEsCVRTLAlzeXNfc2lncmV0dXJuLAkJInNpZ3JldHVybiIJfSwgLyogMTE5ICovCisJeyA1LAlUUCwJc3lzX2Nsb25lLAkJImNsb25lIiwgU1lTX2Nsb25lIH0sIC8qIDEyMCAqLworCXsgMiwJMCwJc3lzX3NldGRvbWFpbm5hbWUsCSJzZXRkb21haW5uYW1lIgl9LCAvKiAxMjEgKi8KKwl7IDEsCTAsCXN5c191bmFtZSwJCSJ1bmFtZSIJCX0sIC8qIDEyMiAqLworCXsgMywJMCwJc3lzX21vZGlmeV9sZHQsCQkibW9kaWZ5X2xkdCIJfSwgLyogMTIzICovCisJeyAxLAkwLAlzeXNfYWRqdGltZXgsCQkiYWRqdGltZXgiCX0sIC8qIDEyNCAqLworCXsgMywJMCwJc3lzX21wcm90ZWN0LAkJIm1wcm90ZWN0Igl9LCAvKiAxMjUgKi8KKwl7IDMsCVRTLAlzeXNfc2lncHJvY21hc2ssCSJzaWdwcm9jbWFzayIJfSwgLyogMTI2ICovCisJeyAyLAkwLAlzeXNfY3JlYXRlX21vZHVsZSwJImNyZWF0ZV9tb2R1bGUiCX0sIC8qIDEyNyAqLworCXsgMywJMCwJc3lzX2luaXRfbW9kdWxlLAkiaW5pdF9tb2R1bGUiCX0sIC8qIDEyOCAqLworCXsgMSwJMCwJc3lzX2RlbGV0ZV9tb2R1bGUsCSJkZWxldGVfbW9kdWxlIgl9LCAvKiAxMjkgKi8KKwl7IDEsCTAsCXN5c19nZXRfa2VybmVsX3N5bXMsCSJnZXRfa2VybmVsX3N5bXMiCX0sIC8qIDEzMCAqLworCXsgNCwJMCwJc3lzX3F1b3RhY3RsLAkJInF1b3RhY3RsIgl9LCAvKiAxMzEgKi8KKwl7IDEsCTAsCXN5c19nZXRwZ2lkLAkJImdldHBnaWQiCX0sIC8qIDEzMiAqLworCXsgMSwJVEQsCXN5c19mY2hkaXIsCQkiZmNoZGlyIgl9LCAvKiAxMzMgKi8KKwl7IDAsCTAsCXN5c19iZGZsdXNoLAkJImJkZmx1c2giCX0sIC8qIDEzNCAqLworCXsgMywJMCwJcHJpbnRhcmdzLAkJInN5c2ZzIgkJfSwgLyogMTM1ICovCisJeyAxLAkwLAlzeXNfcGVyc29uYWxpdHksCSJwZXJzb25hbGl0eSIJfSwgLyogMTM2ICovCisJeyA1LAkwLAlzeXNfYWZzX3N5c2NhbGwsCSJhZnNfc3lzY2FsbCIJfSwgLyogMTM3ICovCisJeyAxLAkwLAlzeXNfc2V0ZnN1aWQsCQkic2V0ZnN1aWQiCX0sIC8qIDEzOCAqLworCXsgMSwJMCwJc3lzX3NldGZzZ2lkLAkJInNldGZzZ2lkIgl9LCAvKiAxMzkgKi8KKwl7IDUsCVRELAlzeXNfbGxzZWVrLAkJIl9sbHNlZWsiCX0sIC8qIDE0MCAqLworCXsgMywJVEQsCXN5c19nZXRkZW50cywJCSJnZXRkZW50cyIJfSwgLyogMTQxICovCisJeyA1LAlURCwJc3lzX3NlbGVjdCwJCSJzZWxlY3QiCX0sIC8qIDE0MiAqLworCXsgMiwJVEQsCXN5c19mbG9jaywJCSJmbG9jayIJCX0sIC8qIDE0MyAqLworCXsgMywJMCwJc3lzX21zeW5jLAkJIm1zeW5jIgkJfSwgLyogMTQ0ICovCisJeyAzLAlURCwJc3lzX3JlYWR2LAkJInJlYWR2IiwgU1lTX3JlYWR2IH0sIC8qIDE0NSAqLworCXsgMywJVEQsCXN5c193cml0ZXYsCQkid3JpdGV2IiwgU1lTX3dyaXRldiB9LCAvKiAxNDYgKi8KKwl7IDEsCTAsCXN5c19nZXRzaWQsCQkiZ2V0c2lkIgl9LCAvKiAxNDcgKi8KKwl7IDEsCVRELAlzeXNfZmRhdGFzeW5jLAkJImZkYXRhc3luYyIJfSwgLyogMTQ4ICovCisJeyAxLAkwLAlzeXNfc3lzY3RsLAkJIl9zeXNjdGwiCX0sIC8qIDE0OSAqLworCXsgMiwJMCwJc3lzX21sb2NrLAkJIm1sb2NrIgkJfSwgLyogMTUwICovCisJeyAyLAkwLAlzeXNfbXVubG9jaywJCSJtdW5sb2NrIgl9LCAvKiAxNTEgKi8KKwl7IDIsCTAsCXN5c19tbG9ja2FsbCwJCSJtbG9ja2FsbCIJfSwgLyogMTUyICovCisJeyAwLAkwLAlzeXNfbXVubG9ja2FsbCwJCSJtdW5sb2NrYWxsIgl9LCAvKiAxNTMgKi8KKwl7IDAsCTAsCXN5c19zY2hlZF9zZXRwYXJhbSwJInNjaGVkX3NldHBhcmFtIgl9LCAvKiAxNTQgKi8KKwl7IDIsCTAsCXN5c19zY2hlZF9nZXRwYXJhbSwJInNjaGVkX2dldHBhcmFtIgl9LCAvKiAxNTUgKi8KKwl7IDMsCTAsCXN5c19zY2hlZF9zZXRzY2hlZHVsZXIsCSJzY2hlZF9zZXRzY2hlZHVsZXIiCX0sIC8qIDE1NiAqLworCXsgMSwJMCwJc3lzX3NjaGVkX2dldHNjaGVkdWxlciwJInNjaGVkX2dldHNjaGVkdWxlciIJfSwgLyogMTU3ICovCisJeyAwLAkwLAlzeXNfc2NoZWRfeWllbGQsCSJzY2hlZF95aWVsZCIJfSwgLyogMTU4ICovCisJeyAxLAkwLAlzeXNfc2NoZWRfZ2V0X3ByaW9yaXR5X21heCwJInNjaGVkX2dldF9wcmlvcml0eV9tYXgiCX0sIC8qIDE1OSAqLworCXsgMSwJMCwJc3lzX3NjaGVkX2dldF9wcmlvcml0eV9taW4sCSJzY2hlZF9nZXRfcHJpb3JpdHlfbWluIgl9LCAvKiAxNjAgKi8KKwl7IDIsCTAsCXN5c19zY2hlZF9ycl9nZXRfaW50ZXJ2YWwsCSJzY2hlZF9ycl9nZXRfaW50ZXJ2YWwiCX0sIC8qIDE2MSAqLworCXsgMiwJMCwJc3lzX25hbm9zbGVlcCwJCSJuYW5vc2xlZXAiCX0sIC8qIDE2MiAqLworCXsgNSwJMCwJc3lzX21yZW1hcCwJCSJtcmVtYXAiCX0sIC8qIDE2MyAqLworCXsgMywJMCwJc3lzX3NldHJlc3VpZCwJCSJzZXRyZXN1aWQiCX0sIC8qIDE2NCAqLworCXsgMywJMCwJc3lzX2dldHJlc3VpZCwJCSJnZXRyZXN1aWQiCX0sIC8qIDE2NSAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJInZtODYiCQl9LCAvKiAxNjYgKi8KKwl7IDUsCTAsCXN5c19xdWVyeV9tb2R1bGUsCSJxdWVyeV9tb2R1bGUiCX0sIC8qIDE2NyAqLworCXsgMywJVEQsCXN5c19wb2xsLAkJInBvbGwiCQl9LCAvKiAxNjggKi8KKwl7IDMsCTAsCXByaW50YXJncywJCSJuZnNzZXJ2Y3RsIgl9LCAvKiAxNjkgKi8KKwl7IDMsCTAsCXN5c19zZXRyZXNnaWQsCQkic2V0cmVzZ2lkIgl9LCAvKiAxNzAgKi8KKwl7IDMsCTAsCXN5c19nZXRyZXNnaWQsCQkiZ2V0cmVzZ2lkIgl9LCAvKiAxNzEgKi8KKwl7IDUsCTAsCXN5c19wcmN0bCwJCSJwcmN0bCIJCX0sIC8qIDE3MiAqLworCXsgMSwJVFMsCXByaW50YXJncywJCSJydF9zaWdyZXR1cm4iCX0sIC8qIDE3MyAqLworCXsgNCwJVFMsCXN5c19ydF9zaWdhY3Rpb24sCSJydF9zaWdhY3Rpb24iCX0sIC8qIDE3NCAqLworCXsgNCwJVFMsCXN5c19ydF9zaWdwcm9jbWFzaywJInJ0X3NpZ3Byb2NtYXNrIgl9LCAvKiAxNzUgKi8KKwl7IDIsCVRTLAlzeXNfcnRfc2lncGVuZGluZywJInJ0X3NpZ3BlbmRpbmciCX0sIC8qIDE3NiAqLworCXsgNCwJVFMsCXN5c19ydF9zaWd0aW1lZHdhaXQsCSJydF9zaWd0aW1lZHdhaXQiCX0sIC8qIDE3NyAqLworCXsgMywJVFMsCXN5c19ydF9zaWdxdWV1ZWluZm8sCSJydF9zaWdxdWV1ZWluZm8iCX0sIC8qIDE3OCAqLworCXsgMiwJVFMsCXN5c19ydF9zaWdzdXNwZW5kLAkicnRfc2lnc3VzcGVuZCIJfSwgLyogMTc5ICovCisJeyA1LAlURCwJc3lzX3ByZWFkLAkJInByZWFkIiwgU1lTX3JlYWQgfSwgLyogMTgwICovCisJeyA1LAlURCwJc3lzX3B3cml0ZSwJCSJwd3JpdGUiLCBTWVNfd3JpdGUgfSwgLyogMTgxICovCisJeyAzLAlURiwJc3lzX2Nob3duLAkJImxjaG93biIJfSwgLyogMTgyICovCisJeyAyLAlURiwJc3lzX2dldGN3ZCwJCSJnZXRjd2QiCX0sIC8qIDE4MyAqLworCXsgMiwJMCwJc3lzX2NhcGdldCwJCSJjYXBnZXQiCX0sIC8qIDE4NCAqLworCXsgMiwJMCwJc3lzX2NhcHNldCwJCSJjYXBzZXQiCX0sIC8qIDE4NSAqLworCXsgMiwJVFMsCXN5c19zaWdhbHRzdGFjaywJInNpZ2FsdHN0YWNrIgl9LCAvKiAxODYgKi8KKwl7IDQsCVREfFROLAlzeXNfc2VuZGZpbGUsCQkic2VuZGZpbGUiCX0sIC8qIDE4NyAqLworCXsgNSwJMCwJc3lzX2dldHBtc2csCQkiZ2V0cG1zZyIJfSwgLyogMTg4ICovCisJeyA1LAkwLAlzeXNfcHV0cG1zZywJCSJwdXRwbXNnIgl9LCAvKiAxODkgKi8KKwl7IDAsCVRQLAlzeXNfdmZvcmssCQkidmZvcmsiLCBTWVNfdmZvcmsgfSwgLyogMTkwICovCisJeyAyLAkwLAlzeXNfZ2V0cmxpbWl0LAkJImdldHJsaW1pdCIJfSwgLyogMTkxICovCisJeyA2LAkwLAlzeXNfbW1hcCwJCSJtbWFwMiIJCX0sIC8qIDE5MiAqLworCXsgMywJVEYsCXN5c190cnVuY2F0ZTY0LAkJInRydW5jYXRlNjQiCX0sIC8qIDE5MyAqLworCXsgMywJVEQsCXN5c19mdHJ1bmNhdGU2NCwJImZ0cnVuY2F0ZTY0Igl9LCAvKiAxOTQgKi8KKwl7IDIsCVRGLAlzeXNfc3RhdDY0LAkJInN0YXQ2NCIJfSwgLyogMTk1ICovCisJeyAyLAlURiwJc3lzX2xzdGF0NjQsCQkibHN0YXQ2NCIJfSwgLyogMTk2ICovCisJeyAyLAlURCwJc3lzX2ZzdGF0NjQsCQkiZnN0YXQ2NCIJfSwgLyogMTk3ICovCisJeyAzLAlURiwJc3lzX2Nob3duLAkJImNob3duMzIiCX0sIC8qIDE5OCAqLworCXsgMCwJMCwJc3lzX2dldHVpZCwJCSJnZXR1aWQzMiIJfSwgLyogMTk5ICovCisJeyAwLAkwLAlzeXNfZ2V0Z2lkLAkJImdldGdpZDMyIgl9LCAvKiAyMDAgKi8KKwl7IDAsCTAsCXN5c19nZXRldWlkLAkJImdldGV1aWQzMiIJfSwgLyogMjAxICovCisJeyAwLAkwLAlzeXNfZ2V0ZXVpZCwJCSJnZXRlZ2lkMzIiCX0sIC8qIDIwMiAqLworCXsgMiwJMCwJc3lzX3NldHJldWlkLAkJInNldHJldWlkMzIiCX0sIC8qIDIwMyAqLworCXsgMiwJMCwJc3lzX3NldHJlZ2lkLAkJInNldHJlZ2lkMzIiCX0sIC8qIDIwNCAqLworCXsgMiwJMCwJc3lzX2dldGdyb3VwczMyLAkiZ2V0Z3JvdXBzMzIiCX0sIC8qIDIwNSAqLworCXsgMiwJMCwJc3lzX3NldGdyb3VwczMyLAkic2V0Z3JvdXBzMzIiCX0sIC8qIDIwNiAqLworCXsgMywJVEQsCXN5c19mY2hvd24sCQkiZmNob3duMzIiCX0sIC8qIDIwNyAqLworCXsgMywJMCwJc3lzX3NldHJlc3VpZCwJCSJzZXRyZXN1aWQzMiIJfSwgLyogMjA4ICovCisJeyAzLAkwLAlzeXNfZ2V0cmVzdWlkLAkJImdldHJlc3VpZDMyIgl9LCAvKiAyMDkgKi8KKwl7IDMsCTAsCXN5c19zZXRyZXNnaWQsCQkic2V0cmVzZ2lkMzIiCX0sIC8qIDIxMCAqLworCXsgMywJMCwJc3lzX2dldHJlc2dpZCwJCSJnZXRyZXNnaWQzMiIJfSwgLyogMjExICovCisJeyAzLAlURiwJc3lzX2Nob3duLAkJImxjaG93bjMyIgl9LCAvKiAyMTIgKi8KKwl7IDEsCTAsCXN5c19zZXR1aWQsCQkic2V0dWlkMzIiCX0sIC8qIDIxMyAqLworCXsgMSwJMCwJc3lzX3NldGdpZCwJCSJzZXRnaWQzMiIJfSwgLyogMjE0ICovCisJeyAxLAkwLAlzeXNfc2V0ZnN1aWQsCQkic2V0ZnN1aWQzMiIJfSwgLyogMjE1ICovCisJeyAxLAkwLAlzeXNfc2V0ZnNnaWQsCQkic2V0ZnNnaWQzMiIJfSwgLyogMjE2ICovCisJeyAyLAlURiwJc3lzX3Bpdm90cm9vdCwJCSJwaXZvdF9yb290Igl9LCAvKiAyMTcgKi8KKwl7IDMsCTAsCXN5c19taW5jb3JlLAkJIm1pbmNvcmUiCX0sIC8qIDIxOCAqLworCXsgMywJMCwJc3lzX21hZHZpc2UsCQkibWFkdmlzZSIJfSwgLyogMjE5ICovCisJeyAzLAlURCwJc3lzX2dldGRlbnRzNjQsCQkiZ2V0ZGVudHM2NCIJfSwgLyogMjIwICovCisJeyAzLAlURCwJc3lzX2ZjbnRsLAkJImZjbnRsNjQiCX0sIC8qIDIyMSAqLworCXsgNCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMjIiCX0sIC8qIDIyMiAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJInNlY3VyaXR5Igl9LCAvKiAyMjMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJnZXR0aWQiCX0sIC8qIDIyNCAqLworCXsgNCwJVEQsCXN5c19yZWFkYWhlYWQsCQkicmVhZGFoZWFkIgl9LCAvKiAyMjUgKi8KKwl7IDUsCVRGLAlzeXNfc2V0eGF0dHIsCQkic2V0eGF0dHIiCX0sIC8qIDIyNiAqLworCXsgNSwJVEYsCXN5c19zZXR4YXR0ciwJCSJsc2V0eGF0dHIiCX0sIC8qIDIyNyAqLworCXsgNSwJVEQsCXN5c19mc2V0eGF0dHIsCQkiZnNldHhhdHRyIgl9LCAvKiAyMjggKi8KKwl7IDQsCVRGLAlzeXNfZ2V0eGF0dHIsCQkiZ2V0eGF0dHIiCX0sIC8qIDIyOSAqLworCXsgNCwJVEYsCXN5c19nZXR4YXR0ciwJCSJsZ2V0eGF0dHIiCX0sIC8qIDIzMCAqLworCXsgNCwJMCwJc3lzX2ZnZXR4YXR0ciwJCSJmZ2V0eGF0dHIiCX0sIC8qIDIzMSAqLworCXsgMywJVEYsCXN5c19saXN0eGF0dHIsCQkibGlzdHhhdHRyIgl9LCAvKiAyMzIgKi8KKwl7IDMsCVRGLAlzeXNfbGlzdHhhdHRyLAkJImxsaXN0eGF0dHIiCX0sIC8qIDIzMyAqLworCXsgMywJMCwJc3lzX2ZsaXN0eGF0dHIsCQkiZmxpc3R4YXR0ciIJfSwgLyogMjM0ICovCisJeyAyLAlURiwJc3lzX3JlbW92ZXhhdHRyLAkicmVtb3ZleGF0dHIiCX0sIC8qIDIzNSAqLworCXsgMiwJVEYsCXN5c19yZW1vdmV4YXR0ciwJImxyZW1vdmV4YXR0ciIJfSwgLyogMjM2ICovCisJeyAyLAlURCwJc3lzX2ZyZW1vdmV4YXR0ciwJImZyZW1vdmV4YXR0ciIJfSwgLyogMjM3ICovCisJeyAyLAlUUywJc3lzX2tpbGwsCQkidGtpbGwiCQl9LCAvKiAyMzggKi8KKwl7IDQsCVREfFROLAlzeXNfc2VuZGZpbGU2NCwJCSJzZW5kZmlsZTY0Igl9LCAvKiAyMzkgKi8KKwl7IDYsCTAsCXN5c19mdXRleCwJCSJmdXRleCIJCX0sIC8qIDI0MCAqLworCXsgMywJMCwJc3lzX3NjaGVkX3NldGFmZmluaXR5LAkic2NoZWRfc2V0YWZmaW5pdHkiCX0sLyogMjQxICovCisJeyAzLAkwLAlzeXNfc2NoZWRfZ2V0YWZmaW5pdHksCSJzY2hlZF9nZXRhZmZpbml0eSIJfSwvKiAyNDIgKi8KKwl7IDEsCTAsCXN5c19zZXRfdGhyZWFkX2FyZWEsCSJzZXRfdGhyZWFkX2FyZWEiCX0sIC8qIDI0MyAqLworCXsgMSwJMCwJc3lzX2dldF90aHJlYWRfYXJlYSwJImdldF90aHJlYWRfYXJlYSIJfSwgLyogMjQ0ICovCisJeyAyLAkwLAlzeXNfaW9fc2V0dXAsCQkiaW9fc2V0dXAiCX0sIC8qIDI0NSAqLworCXsgMSwJMCwJc3lzX2lvX2Rlc3Ryb3ksCQkiaW9fZGVzdHJveSIJfSwgLyogMjQ2ICovCisJeyA1LAkwLAlzeXNfaW9fZ2V0ZXZlbnRzLAkiaW9fZ2V0ZXZlbnRzIgl9LCAvKiAyNDcgKi8KKwl7IDMsCTAsCXN5c19pb19zdWJtaXQsCQkiaW9fc3VibWl0Igl9LCAvKiAyNDggKi8KKwl7IDMsCTAsCXN5c19pb19jYW5jZWwsCQkiaW9fY2FuY2VsIgl9LCAvKiAyNDkgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJhbGxvY19odWdlcGFnZXMiCX0sIC8qIDI1MCAqLworCXsgMSwJMCwJcHJpbnRhcmdzLAkJImZyZWVfaHVnZXBhZ2VzIgl9LCAvKiAyNTEgKi8KKwl7IDEsCVRQLAlzeXNfZXhpdCwJCSJleGl0X2dyb3VwIiwgX19OUl9leGl0X2dyb3VwIH0sIC8qIDI1MiAqLworCXsgNCwJMCwJcHJpbnRhcmdzLAkJImxvb2t1cF9kY29va2llIgl9LCAvKiAyNTMgKi8KKwl7IDEsCTAsCXByaW50YXJncywJCSJiZmluX3NwaW5sb2NrIgl9LCAvKiAyNTQgKi8KKwl7IDEsCTAsCXN5c19lcG9sbF9jcmVhdGUsCSJlcG9sbF9jcmVhdGUiCX0sIC8qIDI1NSAqLworCXsgNCwJVEQsCXN5c19lcG9sbF9jdGwsCQkiZXBvbGxfY3RsIgl9LCAvKiAyNTYgKi8KKwl7IDQsCVRELAlzeXNfZXBvbGxfd2FpdCwJCSJlcG9sbF93YWl0Igl9LCAvKiAyNTcgKi8KKwl7IDUsCTAsCXN5c19yZW1hcF9maWxlX3BhZ2VzLAkicmVtYXBfZmlsZV9wYWdlcyIJfSwgLyogMjU4ICovCisJeyAxLAkwLAlwcmludGFyZ3MsCQkic2V0X3RpZF9hZGRyZXNzIgl9LCAvKiAyNTkgKi8KKwl7IDMsCTAsCXN5c190aW1lcl9jcmVhdGUsCSJ0aW1lcl9jcmVhdGUiCX0sIC8qIDI2MCAqLworCXsgNCwJMCwJc3lzX3RpbWVyX3NldHRpbWUsCSJ0aW1lcl9zZXR0aW1lIgl9LCAvKiAyNjEgKi8KKwl7IDIsCTAsCXN5c190aW1lcl9nZXR0aW1lLAkidGltZXJfZ2V0dGltZSIJfSwgLyogMjYyICovCisJeyAxLAkwLAlzeXNfdGltZXJfZ2V0b3ZlcnJ1biwJInRpbWVyX2dldG92ZXJydW4iCX0sIC8qIDI2MyAqLworCXsgMSwJMCwJc3lzX3RpbWVyX2RlbGV0ZSwJInRpbWVyX2RlbGV0ZSIJfSwgLyogMjY0ICovCisJeyAyLAkwLAlzeXNfY2xvY2tfc2V0dGltZSwJImNsb2NrX3NldHRpbWUiCX0sIC8qIDI2NSAqLworCXsgMiwJMCwJc3lzX2Nsb2NrX2dldHRpbWUsCSJjbG9ja19nZXR0aW1lIgl9LCAvKiAyNjYgKi8KKwl7IDIsCTAsCXN5c19jbG9ja19nZXRyZXMsCSJjbG9ja19nZXRyZXMiCX0sIC8qIDI2NyAqLworCXsgNCwJMCwJc3lzX2Nsb2NrX25hbm9zbGVlcCwJImNsb2NrX25hbm9zbGVlcCIJfSwgLyogMjY4ICovCisJeyAzLAlURiwJc3lzX3N0YXRmczY0LAkJInN0YXRmczY0Igl9LCAvKiAyNjkgKi8KKwl7IDMsCVRELAlzeXNfZnN0YXRmczY0LAkJImZzdGF0ZnM2NCIJfSwgLyogMjcwICovCisJeyAzLAlUUywJc3lzX3Rna2lsbCwJCSJ0Z2tpbGwiCX0sIC8qIDI3MSAqLworCXsgMiwJVEYsCXN5c191dGltZXMsCQkidXRpbWVzIgl9LCAvKiAyNzIgKi8KKwl7IDYsCTAsCXN5c19mYWR2aXNlNjRfNjQsCSJmYWR2aXNlNjRfNjQiCX0sIC8qIDI3MyAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJInZzZXJ2ZXIiCX0sIC8qIDI3NCAqLworCXsgNiwJMCwJc3lzX21iaW5kLAkJIm1iaW5kIgkJfSwgLyogMjc1ICovCisJeyA1LAkwLAlzeXNfZ2V0X21lbXBvbGljeSwJImdldF9tZW1wb2xpY3kiCX0sIC8qIDI3NiAqLworCXsgMywJMCwJc3lzX3NldF9tZW1wb2xpY3ksCSJzZXRfbWVtcG9saWN5Igl9LCAvKiAyNzcgKi8KKwl7IDQsCTAsCXN5c19tcV9vcGVuLAkJIm1xX29wZW4iCX0sIC8qIDI3OCAqLworCXsgMSwJMCwJc3lzX21xX3VubGluaywJCSJtcV91bmxpbmsiCX0sIC8qIDI3OSAqLworCXsgNSwJMCwJc3lzX21xX3RpbWVkc2VuZCwJIm1xX3RpbWVkc2VuZCIJfSwgLyogMjgwICovCisJeyA1LAkwLAlzeXNfbXFfdGltZWRyZWNlaXZlLAkibXFfdGltZWRyZWNlaXZlIgl9LCAvKiAyODEgKi8KKwl7IDIsCTAsCXN5c19tcV9ub3RpZnksCQkibXFfbm90aWZ5Igl9LCAvKiAyODIgKi8KKwl7IDMsCTAsCXN5c19tcV9nZXRzZXRhdHRyLAkibXFfZ2V0c2V0YXR0ciIJfSwgLyogMjgzICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkia2V4ZWNfbG9hZCIJfSwgLyogMjg0ICovCisJeyA1LAlUUCwJc3lzX3dhaXRpZCwJCSJ3YWl0aWQiLCBTWVNfd2FpdGlkIH0sIC8qIDI4NSAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJImFkZF9rZXkiCX0sIC8qIDI4NiAqLworCXsgNCwJMCwJcHJpbnRhcmdzLAkJInJlcXVlc3Rfa2V5Igl9LCAvKiAyODcgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJrZXljdGwiCX0sIC8qIDI4OCAqLworCXsgMywJMCwJcHJpbnRhcmdzLAkJImlvcHJpb19zZXQiCX0sIC8qIDI4OSAqLworCXsgMiwJMCwJcHJpbnRhcmdzLAkJImlvcHJpb19nZXQiCX0sIC8qIDI5MCAqLworCXsgMCwJVEQsCXByaW50YXJncywJCSJpbm90aWZ5X2luaXQiCX0sIC8qIDI5MSAqLworCXsgMywJVEQsCXN5c19pbm90aWZ5X2FkZF93YXRjaCwJImlub3RpZnlfYWRkX3dhdGNoIgl9LCAvKiAyOTIgKi8KKwl7IDIsCVRELAlzeXNfaW5vdGlmeV9ybV93YXRjaCwJImlub3RpZnlfcm1fd2F0Y2giCX0sIC8qIDI5MyAqLworCXsgNCwJMCwJcHJpbnRhcmdzLAkJIm1pZ3JhdGVfcGFnZXMiCX0sIC8qIDI5NCAqLworCXsgNCwJVER8VEYsCXN5c19vcGVuYXQsCQkib3BlbmF0Igl9LCAvKiAyOTUgKi8KKwl7IDMsCVREfFRGLAlzeXNfbWtkaXJhdCwJCSJta2RpcmF0Igl9LCAvKiAyOTYgKi8KKwl7IDQsCVREfFRGLAlzeXNfbWtub2RhdCwJCSJta25vZGF0Igl9LCAvKiAyOTcgKi8KKwl7IDUsCVREfFRGLAlzeXNfZmNob3duYXQsCQkiZmNob3duYXQiCX0sIC8qIDI5OCAqLworCXsgMywJVER8VEYsCXN5c19mdXRpbWVzYXQsCQkiZnV0aW1lc2F0Igl9LCAvKiAyOTkgKi8KKwl7IDQsCVREfFRELAlzeXNfbmV3ZnN0YXRhdCwJCSJmc3RhdGF0NjQiCX0sIC8qIDMwMCAqLworCXsgMywJVER8VEYsCXN5c191bmxpbmthdCwJCSJ1bmxpbmthdCIJfSwgLyogMzAxICovCisJeyA0LAlURHxURiwJc3lzX3JlbmFtZWF0LAkJInJlbmFtZWF0Igl9LCAvKiAzMDIgKi8KKwl7IDUsCVREfFRGLAlzeXNfbGlua2F0LAkJImxpbmthdCIJfSwgLyogMzAzICovCisJeyAzLAlURHxURiwJc3lzX3N5bWxpbmthdCwJCSJzeW1saW5rYXQiCX0sIC8qIDMwNCAqLworCXsgNCwJVER8VEYsCXN5c19yZWFkbGlua2F0LAkJInJlYWRsaW5rYXQiCX0sIC8qIDMwNSAqLworCXsgMywJVER8VEYsCXN5c19mY2htb2RhdCwJCSJmY2htb2RhdCIJfSwgLyogMzA2ICovCisJeyAzLAlURHxURiwJc3lzX2ZhY2Nlc3NhdCwJCSJmYWNjZXNzYXQiCX0sIC8qIDMwNyAqLworCXsgNiwJVEQsCXN5c19wc2VsZWN0NiwJCSJwc2VsZWN0NiIJfSwgLyogMzA4ICovCisJeyA1LAlURCwJc3lzX3Bwb2xsLAkJInBwb2xsIgkJfSwgLyogMzA5ICovCisJeyAxLAlUUCwJc3lzX3Vuc2hhcmUsCQkidW5zaGFyZSIJfSwgLyogMzEwICovCisJeyAyLAkwLAlzeXNfc3JhbV9hbGxvYywJCSJzcmFtX2FsbG9jIgl9LCAvKiAzMTEgKi8KKwl7IDEsCTAsCXByaW50YXJncywJCSJzcmFtX2ZyZWUiCX0sIC8qIDMxMiAqLworCXsgMywJMCwJcHJpbnRhcmdzLAkJImRtYV9tZW1jcHkiCX0sIC8qIDMxMyAqLworCXsgMywJVE4sCXN5c19hY2NlcHQsCQkiYWNjZXB0Igl9LCAvKiAzMTQgKi8KKwl7IDMsCVROLAlzeXNfYmluZCwJCSJiaW5kIgkJfSwgLyogMzE1ICovCisJeyAzLAlUTiwJc3lzX2Nvbm5lY3QsCQkiY29ubmVjdCIJfSwgLyogMzE2ICovCisJeyAzLAlUTiwJc3lzX2dldHBlZXJuYW1lLAkiZ2V0cGVlcm5hbWUiCX0sIC8qIDMxNyAqLworCXsgMywJVE4sCXN5c19nZXRzb2NrbmFtZSwJImdldHNvY2tuYW1lIgl9LCAvKiAzMTggKi8KKwl7IDUsCVROLAlzeXNfZ2V0c29ja29wdCwJCSJnZXRzb2Nrb3B0Igl9LCAvKiAzMTkgKi8KKwl7IDIsCVROLAlzeXNfbGlzdGVuLAkJImxpc3RlbiIJfSwgLyogMzIwICovCisJeyA0LAlUTiwJc3lzX3JlY3YsCQkicmVjdiIsIFNZU19zdWJfcmVjdiB9LCAvKiAzMjEgKi8KKwl7IDYsCVROLAlzeXNfcmVjdmZyb20sCQkicmVjdmZyb20iLCBTWVNfc3ViX3JlY3Zmcm9tIH0sIC8qIDMyMiAqLworCXsgNSwJVE4sCXN5c19yZWN2bXNnLAkJInJlY3Ztc2ciCX0sIC8qIDMyMyAqLworCXsgNCwJVE4sCXN5c19zZW5kLAkJInNlbmQiLCBTWVNfc3ViX3NlbmQgfSwgLyogMzI0ICovCisJeyA1LAlUTiwJc3lzX3NlbmRtc2csCQkic2VuZG1zZyIJfSwgLyogMzI1ICovCisJeyA2LAlUTiwJc3lzX3NlbmR0bywJCSJzZW5kdG8iLCBTWVNfc3ViX3NlbmR0byB9LCAvKiAzMjYgKi8KKwl7IDUsCVROLAlzeXNfc2V0c29ja29wdCwJCSJzZXRzb2Nrb3B0Igl9LCAvKiAzMjcgKi8KKwl7IDIsCVROLAlzeXNfc2h1dGRvd24sCQkic2h1dGRvd24iCX0sIC8qIDMyOCAqLworCXsgMywJVE4sCXN5c19zb2NrZXQsCQkic29ja2V0Igl9LCAvKiAzMjkgKi8KKwl7IDQsCVROLAlzeXNfc29ja2V0cGFpciwJCSJzb2NrZXRwYWlyIgl9LCAvKiAzMzAgKi8KKwl7IDQsCVRJLAlzeXNfc2VtY3RsLAkJInNlbWN0bCIJfSwgLyogMzMxICovCisJeyA0LAlUSSwJc3lzX3NlbWdldCwJCSJzZW1nZXQiCX0sIC8qIDMzMiAqLworCXsgNCwJVEksCXN5c19zZW1vcCwJCSJzZW1vcCIJCX0sIC8qIDMzMyAqLworCXsgNCwJVEksCXN5c19tc2djdGwsCQkibXNnY3RsIgl9LCAvKiAzMzQgKi8KKwl7IDQsCVRJLAlzeXNfbXNnZ2V0LAkJIm1zZ2dldCIJfSwgLyogMzM1ICovCisJeyA0LAlUSSwJc3lzX21zZ3JjdiwJCSJtc2dyY3YiCX0sIC8qIDMzNiAqLworCXsgNCwJVEksCXN5c19tc2dzbmQsCQkibXNnc25kIgl9LCAvKiAzMzcgKi8KKwl7IDQsCVRJLAlzeXNfc2htYXQsCQkic2htYXQiCQl9LCAvKiAzMzggKi8KKwl7IDQsCVRJLAlzeXNfc2htY3RsLAkJInNobWN0bCIJfSwgLyogMzM5ICovCisJeyA0LAlUSSwJc3lzX3NobWR0LAkJInNobWR0IgkJfSwgLyogMzQwICovCisJeyA0LAlUSSwJc3lzX3NobWdldCwJCSJzaG1nZXQiCX0sIC8qIDM0MSAqLworCXsgNiwJVEQsCXByaW50YXJncywJCSJzcGxpY2UiCX0sIC8qIDM0MiAqLworCXsgNCwJVEQsCXByaW50YXJncywJCSJzeW5jX2ZpbGVfcmFuZ2UiCX0sIC8qIDM0MyAqLworCXsgNCwJVEQsCXByaW50YXJncywJCSJ0ZWUiCQl9LCAvKiAzNDQgKi8KKwl7IDQsCVRELAlwcmludGFyZ3MsCQkidm1zcGxpY2UiCX0sIC8qIDM0NSAqLworCXsgNSwJVEQsCXN5c19lcG9sbF9wd2FpdCwJImVwb2xsX3B3YWl0Igl9LCAvKiAzNDYgKi8KKwl7IDQsCVREfFRGLAlzeXNfdXRpbWVuc2F0LAkJInV0aW1lbnNhdCIJfSwgLyogMzQ3ICovCisJeyAzLAlURHxUUywJc3lzX3NpZ25hbGZkLAkJInNpZ25hbGZkIgl9LCAvKiAzNDggKi8KKwl7IDIsCVRELAlzeXNfdGltZXJmZF9jcmVhdGUsCSJ0aW1lcmZkX2NyZWF0ZSIJfSwgLyogMzQ5ICovCisJeyAxLAlURCwJc3lzX2V2ZW50ZmQsCQkiZXZlbnRmZCIJfSwgLyogMzUwICovCisJeyA1LAkwLAlzeXNfcHJlYWQsCQkicHJlYWQ2NCIJfSwgLyogMzUxICovCisJeyA1LAkwLAlzeXNfcHdyaXRlLAkJInB3cml0ZTY0Igl9LCAvKiAzNTIgKi8KKwl7IDUsCTAsCXN5c19mYWR2aXNlNjQsCQkiZmFkdmlzZTY0Igl9LCAvKiAzNTMgKi8KKwl7IDIsCTAsCXByaW50YXJncywJCSJzZXRfcm9idXN0X2xpc3QiCX0sIC8qIDM1NCAqLworCXsgMywJMCwJcHJpbnRhcmdzLAkJImdldF9yb2J1c3RfbGlzdCIJfSwgLyogMzU1ICovCisJeyA2LAlURiwJc3lzX2ZhbGxvY2F0ZSwJCSJmYWxsb2NhdGUiCX0sIC8qIDM1NiAqLworCXsgNSwJVEksCXN5c19zZW10aW1lZG9wLAkJInNlbXRpbWVkb3AiCX0sIC8qIDM1NyAqLworCXsgNCwJVEQsCXN5c190aW1lcmZkX3NldHRpbWUsCSJ0aW1lcmZkX3NldHRpbWUiCX0sIC8qIDM1OCAqLworCXsgMiwJVEQsCXN5c190aW1lcmZkX2dldHRpbWUsCSJ0aW1lcmZkX2dldHRpbWUiCX0sIC8qIDM1OSAqLworCXsgNCwJVER8VFMsCXN5c19zaWduYWxmZDQsCQkic2lnbmFsZmQ0Igl9LCAvKiAzNjAgKi8KKwl7IDIsCVRELAlzeXNfZXZlbnRmZDIsCQkiZXZlbnRmZDIiCX0sIC8qIDM2MSAqLworCXsgMSwJMCwJc3lzX2Vwb2xsX2NyZWF0ZTEsCSJlcG9sbF9jcmVhdGUxIgl9LCAvKiAzNjIgKi8KKwl7IDMsCVRELAlzeXNfZHVwMywJCSJkdXAzIgkJfSwgLyogMzYzICovCisJeyAyLAlURCwJc3lzX3BpcGUyLAkJInBpcGUyIgkJfSwgLyogMzY0ICovCisJeyAxLAlURCwJc3lzX2lub3RpZnlfaW5pdDEsCSJpbm90aWZ5X2luaXQxIgl9LCAvKiAzNjUgKi8KKwl7IDUsCVRELAlwcmludGFyZ3MsCQkicHJlYWR2Igl9LCAvKiAzNjYgKi8KKwl7IDUsCVRELAlwcmludGFyZ3MsCQkicHdyaXRldiIJfSwgLyogMzY3ICovCisJeyA0LAlUUHxUUywJcHJpbnRhcmdzLAkJInJ0X3Rnc2lncXVldWVpbmZvIgl9LCAvKiAzNjggKi8KKwl7IDUsCVRELAlwcmludGFyZ3MsCQkicGVyZl9ldmVudF9vcGVuIgl9LCAvKiAzNjkgKi8KKwl7IDUsCVROLAlzeXNfcmVjdm1tc2csCQkicmVjdm1tc2ciCX0sIC8qIDM3MCAqLwpkaWZmIC0tZ2l0IGEvc3RyYWNlLTQuNS4yMC9saW51eC9kdW1teS5oIGIvc3RyYWNlLTQuNS4yMC9saW51eC9kdW1teS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkyZTY4ODYKLS0tIC9kZXYvbnVsbAorKysgYi9zdHJhY2UtNC41LjIwL2xpbnV4L2R1bW15LmgKQEAgLTAsMCArMSwyMjUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDE5OTMgQnJhbmtvIExhbmtlc3RlciA8YnJhbmtvQGhhY2t0aWMubmw+CisgKiBDb3B5cmlnaHQgKGMpIDE5OTMsIDE5OTQsIDE5OTUgUmljayBTbGFka2V5IDxqcnNAd29ybGQuc3RkLmNvbT4KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBUaGUgbmFtZSBvZiB0aGUgYXV0aG9yIG1heSBub3QgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMKKyAqICAgIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIEFVVEhPUiBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCisgKiBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELgorICogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAorICogSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUCisgKiBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqCisgKgkkSWQkCisgKi8KKworLyogc3RpbGwgdW5maW5pc2hlZCAqLworI2RlZmluZQlzeXNfaW9wZXJtCQlwcmludGFyZ3MKKyNkZWZpbmUJc3lzX3N5c2xvZwkJcHJpbnRhcmdzCisjZGVmaW5lCXN5c19pb3BsCQlwcmludGFyZ3MKKyNkZWZpbmUJc3lzX3ZtODZvbGQJCXByaW50YXJncworI2RlZmluZQlzeXNfZ2V0X2tlcm5lbF9zeW1zCXByaW50YXJncworI2RlZmluZQlzeXNfYmRmbHVzaAkJcHJpbnRhcmdzCisjZGVmaW5lCXN5c19zeXNmcwkJcHJpbnRhcmdzCisjZGVmaW5lCXN5c19hZnNfc3lzY2FsbAkJcHJpbnRhcmdzCisKKy8qIG1hY2hpbmUtc3BlY2lmaWMgKi8KKyNpZm5kZWYgSTM4NgorI2RlZmluZQlzeXNfbW9kaWZ5X2xkdAkJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19nZXRfdGhyZWFkX2FyZWEJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19zZXRfdGhyZWFkX2FyZWEJcHJpbnRhcmdzCisjZW5kaWYKKworI2RlZmluZSBzeXNfc2NoZWRfeWllbGQJCXByaW50YXJncworI2RlZmluZSBzeXNfc2NoZWRfZ2V0X3ByaW9yaXR5X21heCBzeXNfc2NoZWRfZ2V0X3ByaW9yaXR5X21pbgorI2RlZmluZSBzeXNfc2NoZWRfcnJfZ2V0X2ludGVydmFsIHByaW50YXJncworCisvKiBsaWtlIGFub3RoZXIgY2FsbCAqLworI2RlZmluZQlzeXNfdXNlbGliCQlzeXNfY2hkaXIKKyNkZWZpbmUJc3lzX3Vtb3VudAkJc3lzX2NoZGlyCisjZGVmaW5lCXN5c19zd2Fwb24JCXN5c19jaGRpcgorI2RlZmluZQlzeXNfc3dhcG9mZgkJc3lzX2NoZGlyCisjZGVmaW5lCXN5c19kZWxldGVfbW9kdWxlCXN5c19vcGVuCisjZGVmaW5lCXN5c19mY2hkaXIJCXN5c19jbG9zZQorI2RlZmluZQlzeXNfc2V0ZnN1aWQJCXN5c19zZXR1aWQKKyNkZWZpbmUJc3lzX3NldGZzZ2lkCQlzeXNfc2V0Z2lkCisjZGVmaW5lCXN5c19hY2N0CQlzeXNfY2hkaXIKKyNkZWZpbmUgc3lzX2ZkYXRhc3luYwkJc3lzX2Nsb3NlCisjZGVmaW5lIHN5c19tbG9jawkJc3lzX211bm1hcAorI2RlZmluZSBzeXNfbXVubG9jawkJc3lzX211bm1hcAorI2RlZmluZSBzeXNfY2xvY2tfZ2V0cmVzCXN5c19jbG9ja19nZXR0aW1lCisjZGVmaW5lIHN5c19tcV91bmxpbmsJCXN5c191bmxpbmsKKworLyogcHJpbnRhcmdzIGRvZXMgdGhlIHJpZ2h0IHRoaW5nICovCisjZGVmaW5lCXN5c19zZXR1cAkJcHJpbnRhcmdzCisjZGVmaW5lCXN5c19nZXRwaWQJCXByaW50YXJncworI2RlZmluZQlzeXNfZ2V0dWlkCQlwcmludGFyZ3MKKyNkZWZpbmUJc3lzX3BhdXNlCQlwcmludGFyZ3MKKyNkZWZpbmUJc3lzX3N5bmMJCXByaW50YXJncworI2RlZmluZQlzeXNfZ2V0Z2lkCQlwcmludGFyZ3MKKyNkZWZpbmUJc3lzX2dldGV1aWQJCXByaW50YXJncworI2RlZmluZQlzeXNfZ2V0ZWdpZAkJcHJpbnRhcmdzCisjZGVmaW5lCXN5c19nZXRwcGlkCQlwcmludGFyZ3MKKyNkZWZpbmUJc3lzX2dldHBncnAJCXByaW50YXJncworI2RlZmluZQlzeXNfc2V0c2lkCQlwcmludGFyZ3MKKyNkZWZpbmUJc3lzX3ZoYW5ndXAJCXByaW50YXJncworI2RlZmluZQlzeXNfaWRsZQkJcHJpbnRhcmdzCisjZGVmaW5lCXN5c19nZXRwZ2lkCQlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX211bmxvY2thbGwJCXByaW50YXJncworI2RlZmluZSBzeXNfdGltZXJfZ2V0b3ZlcnJ1bglwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3RpbWVyX2RlbGV0ZQlwcmludGFyZ3MKKworLyogc3ViY2FsbCBlbnRyeSBwb2ludHMgKi8KKyNkZWZpbmUJc3lzX3NvY2tldGNhbGwJCXByaW50YXJncworI2RlZmluZQlzeXNfaXBjCQkJcHJpbnRhcmdzCisKKy8qIHVuaW1wbGVtZW50ZWQgKi8KKyNkZWZpbmUJc3lzX3N0dHkJCXByaW50YXJncworI2RlZmluZQlzeXNfZ3R0eQkJcHJpbnRhcmdzCisjZGVmaW5lCXN5c19mdGltZQkJcHJpbnRhcmdzCisjZGVmaW5lCXN5c19wcm9mCQlwcmludGFyZ3MKKyNkZWZpbmUJc3lzX3BoeXMJCXByaW50YXJncworI2RlZmluZQlzeXNfbG9jawkJcHJpbnRhcmdzCisjZGVmaW5lCXN5c19tcHgJCQlwcmludGFyZ3MKKyNkZWZpbmUJc3lzX3VsaW1pdAkJcHJpbnRhcmdzCisjZGVmaW5lCXN5c19wcm9maWwJCXByaW50YXJncworI2RlZmluZQlzeXNfdXN0YXQJCXByaW50YXJncworI2RlZmluZQlzeXNfYnJlYWsJCXByaW50YXJncworCisvKiBkZXByZWNhdGVkICovCisjZGVmaW5lCXN5c19vbGR1bmFtZQkJcHJpbnRhcmdzCisjZGVmaW5lCXN5c19vbGRvbGR1bmFtZQkJcHJpbnRhcmdzCisKKy8qIG5vIGxpYnJhcnkgc3VwcG9ydCAqLworI2lmbmRlZiBIQVZFX1NFTkRNU0cKKyNkZWZpbmUgc3lzX3NlbmRtc2cJCXByaW50YXJncworI2RlZmluZSBzeXNfcmVjdm1zZwkJcHJpbnRhcmdzCisjZW5kaWYKKworI2lmbmRlZiBTWVNfZ2V0cG1zZworI2RlZmluZSBzeXNfZ2V0cG1zZwkJcHJpbnRhcmdzCisjZW5kaWYKKyNpZm5kZWYgU1lTX3B1dHBtc2cKKyNkZWZpbmUgc3lzX3B1dHBtc2cJCXByaW50YXJncworI2VuZGlmCisKKyNpZm5kZWYgSEFWRV9TVFJVQ1RfX19PTERfS0VSTkVMX1NUQVQKKyNkZWZpbmUgc3lzX29sZHN0YXQJCXByaW50YXJncworI2RlZmluZSBzeXNfb2xkZnN0YXQJCXByaW50YXJncworI2RlZmluZSBzeXNfb2xkbHN0YXQJCXByaW50YXJncworI2VuZGlmCisKKyNpZiBET05FCisjZGVmaW5lIHN5c19vbGRzZWxlY3QJCXByaW50YXJncworI2RlZmluZQlzeXNfbXN5bmMJCXByaW50YXJncworI2RlZmluZQlzeXNfZmxvY2sJCXByaW50YXJncworI2RlZmluZQlzeXNfZ2V0ZGVudHMJCXByaW50YXJncworI2RlZmluZQlzeXNfc3RpbWUJCXByaW50YXJncworI2RlZmluZQlzeXNfdGltZQkJcHJpbnRhcmdzCisjZGVmaW5lCXN5c190aW1lcwkJcHJpbnRhcmdzCisjZGVmaW5lCXN5c19tb3VudAkJcHJpbnRhcmdzCisjZGVmaW5lCXN5c19uaWNlCQlwcmludGFyZ3MKKyNkZWZpbmUJc3lzX21wcm90ZWN0CQlwcmludGFyZ3MKKyNkZWZpbmUJc3lzX3NpZ3Byb2NtYXNrCQlwcmludGFyZ3MKKyNkZWZpbmUJc3lzX2FkanRpbWV4CQlwcmludGFyZ3MKKyNkZWZpbmUJc3lzX3N5c2luZm8JCXByaW50YXJncworI2RlZmluZQlzeXNfaXBjCQkJcHJpbnRhcmdzCisjZGVmaW5lCXN5c19zZXRkb21haW5uYW1lCXByaW50YXJncworI2RlZmluZQlzeXNfc3RhdGZzCQlwcmludGFyZ3MKKyNkZWZpbmUJc3lzX2ZzdGF0ZnMJCXByaW50YXJncworI2RlZmluZQlzeXNfcHRyYWNlCQlwcmludGFyZ3MKKyNkZWZpbmUJc3lzX3NpZ3JldHVybgkJcHJpbnRhcmdzCisjZGVmaW5lCXN5c19mc3luYwkJcHJpbnRhcmdzCisjZGVmaW5lCXN5c19hbGFybQkJcHJpbnRhcmdzCisjZGVmaW5lCXN5c19zb2NrZXRjYWxsCQlwcmludGFyZ3MKKyNkZWZpbmUJc3lzX3NpZ3N1c3BlbmQJCXByaW50YXJncworI2RlZmluZQlzeXNfdXRpbWUJCXByaW50YXJncworI2RlZmluZQlzeXNfYnJrCQkJcHJpbnRhcmdzCisjZGVmaW5lCXN5c19tbWFwCQlwcmludGFyZ3MKKyNkZWZpbmUJc3lzX211bm1hcAkJcHJpbnRhcmdzCisjZGVmaW5lCXN5c19zZWxlY3QJCXByaW50YXJncworI2RlZmluZQlzeXNfc2V0dWlkCQlwcmludGFyZ3MKKyNkZWZpbmUJc3lzX3NldGdpZAkJcHJpbnRhcmdzCisjZGVmaW5lCXN5c19zZXRyZXVpZAkJcHJpbnRhcmdzCisjZGVmaW5lCXN5c19zZXRyZWdpZAkJcHJpbnRhcmdzCisjZGVmaW5lCXN5c19nZXRncm91cHMJCXByaW50YXJncworI2RlZmluZQlzeXNfc2V0Z3JvdXBzCQlwcmludGFyZ3MKKyNkZWZpbmUJc3lzX3NldHJsaW1pdAkJcHJpbnRhcmdzCisjZGVmaW5lCXN5c19nZXRybGltaXQJCXByaW50YXJncworI2RlZmluZQlzeXNfZ2V0cnVzYWdlCQlwcmludGFyZ3MKKyNkZWZpbmUJc3lzX2dldHByaW9yaXR5CQlwcmludGFyZ3MKKyNkZWZpbmUJc3lzX3NldHByaW9yaXR5CQlwcmludGFyZ3MKKyNkZWZpbmUJc3lzX3NldHBnaWQJCXByaW50YXJncworI2RlZmluZQlzeXNfYWNjZXNzCQlwcmludGFyZ3MKKyNkZWZpbmUJc3lzX3NldGhvc3RuYW1lCQlwcmludGFyZ3MKKyNkZWZpbmUJc3lzX3JlYWRkaXIJCXByaW50YXJncworI2RlZmluZQlzeXNfd2FpdHBpZAkJcHJpbnRhcmdzCisjZGVmaW5lCXN5c193YWl0NAkJcHJpbnRhcmdzCisjZGVmaW5lCXN5c19leGVjdmUJCXByaW50YXJncworI2RlZmluZQlzeXNfZm9yawkJcHJpbnRhcmdzCisjZGVmaW5lCXN5c191bmFtZQkJcHJpbnRhcmdzCisjZGVmaW5lCXN5c19waXBlCQlwcmludGFyZ3MKKyNkZWZpbmUJc3lzX3NpZ2dldG1hc2sJCXByaW50YXJncworI2RlZmluZQlzeXNfc2lnc2V0bWFzawkJcHJpbnRhcmdzCisjZGVmaW5lCXN5c19leGl0CQlwcmludGFyZ3MKKyNkZWZpbmUJc3lzX2tpbGwJCXByaW50YXJncworI2RlZmluZQlzeXNfc2lnbmFsCQlwcmludGFyZ3MKKyNkZWZpbmUJc3lzX3NpZ2FjdGlvbgkJcHJpbnRhcmdzCisjZGVmaW5lCXN5c19zaWdwZW5kaW5nCQlwcmludGFyZ3MKKyNkZWZpbmUJc3lzX2ZjbnRsCQlwcmludGFyZ3MKKyNkZWZpbmUJc3lzX2R1cAkJCXByaW50YXJncworI2RlZmluZQlzeXNfZHVwMgkJcHJpbnRhcmdzCisjZGVmaW5lCXN5c19jbG9zZQkJcHJpbnRhcmdzCisjZGVmaW5lCXN5c19pb2N0bAkJcHJpbnRhcmdzCisjZGVmaW5lCXN5c19yZWFkCQlwcmludGFyZ3MKKyNkZWZpbmUJc3lzX3dyaXRlCQlwcmludGFyZ3MKKyNkZWZpbmUJc3lzX29wZW4JCXByaW50YXJncworI2RlZmluZQlzeXNfY3JlYXQJCXByaW50YXJncworI2RlZmluZQlzeXNfbGluawkJcHJpbnRhcmdzCisjZGVmaW5lCXN5c191bmxpbmsJCXByaW50YXJncworI2RlZmluZQlzeXNfY2hkaXIJCXByaW50YXJncworI2RlZmluZQlzeXNfbWtub2QJCXByaW50YXJncworI2RlZmluZQlzeXNfY2htb2QJCXByaW50YXJncworI2RlZmluZQlzeXNfY2hvd24JCXByaW50YXJncworI2RlZmluZQlzeXNfbHNlZWsJCXByaW50YXJncworI2RlZmluZQlzeXNfcmVuYW1lCQlwcmludGFyZ3MKKyNkZWZpbmUJc3lzX21rZGlyCQlwcmludGFyZ3MKKyNkZWZpbmUJc3lzX3JtZGlyCQlwcmludGFyZ3MKKyNkZWZpbmUJc3lzX3VtYXNrCQlwcmludGFyZ3MKKyNkZWZpbmUJc3lzX2Nocm9vdAkJcHJpbnRhcmdzCisjZGVmaW5lCXN5c19nZXR0aW1lb2ZkYXkJcHJpbnRhcmdzCisjZGVmaW5lCXN5c19zZXR0aW1lb2ZkYXkJcHJpbnRhcmdzCisjZGVmaW5lCXN5c19zeW1saW5rCQlwcmludGFyZ3MKKyNkZWZpbmUJc3lzX3JlYWRsaW5rCQlwcmludGFyZ3MKKyNkZWZpbmUJc3lzX3RydW5jYXRlCQlwcmludGFyZ3MKKyNkZWZpbmUJc3lzX2Z0cnVuY2F0ZQkJcHJpbnRhcmdzCisjZGVmaW5lCXN5c19mY2htb2QJCXByaW50YXJncworI2RlZmluZQlzeXNfZmNob3duCQlwcmludGFyZ3MKKyNkZWZpbmUJc3lzX3NldGl0aW1lcgkJcHJpbnRhcmdzCisjZGVmaW5lCXN5c19nZXRpdGltZXIJCXByaW50YXJncworI2RlZmluZQlzeXNfc3RhdAkJcHJpbnRhcmdzCisjZGVmaW5lCXN5c19sc3RhdAkJcHJpbnRhcmdzCisjZGVmaW5lCXN5c19mc3RhdAkJcHJpbnRhcmdzCisjZGVmaW5lCXN5c19wZXJzb25hbGl0eQkJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19wb2xsCQlwcmludGFyZ3MKKyNkZWZpbmUJc3lzX2NyZWF0ZV9tb2R1bGUJcHJpbnRhcmdzCisjZGVmaW5lCXN5c19pbml0X21vZHVsZQkJcHJpbnRhcmdzCisjZGVmaW5lCXN5c19xdW90YWN0bAkJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19tbG9ja2FsbAkJcHJpbnRhcmdzCisjZGVmaW5lCXN5c19yZWJvb3QJCXByaW50YXJncworI2VuZGlmCmRpZmYgLS1naXQgYS9zdHJhY2UtNC41LjIwL2xpbnV4L2Vycm5vZW50LmggYi9zdHJhY2UtNC41LjIwL2xpbnV4L2Vycm5vZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzUyZDFkMAotLS0gL2Rldi9udWxsCisrKyBiL3N0cmFjZS00LjUuMjAvbGludXgvZXJybm9lbnQuaApAQCAtMCwwICsxLDUzNSBAQAorCSJFUlJOT18wIiwgLyogMCAqLworCSJFUEVSTSIsIC8qIDEgKi8KKwkiRU5PRU5UIiwgLyogMiAqLworCSJFU1JDSCIsIC8qIDMgKi8KKwkiRUlOVFIiLCAvKiA0ICovCisJIkVJTyIsIC8qIDUgKi8KKwkiRU5YSU8iLCAvKiA2ICovCisJIkUyQklHIiwgLyogNyAqLworCSJFTk9FWEVDIiwgLyogOCAqLworCSJFQkFERiIsIC8qIDkgKi8KKwkiRUNISUxEIiwgLyogMTAgKi8KKwkiRUFHQUlOIiwgLyogMTEgKi8KKwkiRU5PTUVNIiwgLyogMTIgKi8KKwkiRUFDQ0VTIiwgLyogMTMgKi8KKwkiRUZBVUxUIiwgLyogMTQgKi8KKwkiRU5PVEJMSyIsIC8qIDE1ICovCisJIkVCVVNZIiwgLyogMTYgKi8KKwkiRUVYSVNUIiwgLyogMTcgKi8KKwkiRVhERVYiLCAvKiAxOCAqLworCSJFTk9ERVYiLCAvKiAxOSAqLworCSJFTk9URElSIiwgLyogMjAgKi8KKwkiRUlTRElSIiwgLyogMjEgKi8KKwkiRUlOVkFMIiwgLyogMjIgKi8KKwkiRU5GSUxFIiwgLyogMjMgKi8KKwkiRU1GSUxFIiwgLyogMjQgKi8KKwkiRU5PVFRZIiwgLyogMjUgKi8KKwkiRVRYVEJTWSIsIC8qIDI2ICovCisJIkVGQklHIiwgLyogMjcgKi8KKwkiRU5PU1BDIiwgLyogMjggKi8KKwkiRVNQSVBFIiwgLyogMjkgKi8KKwkiRVJPRlMiLCAvKiAzMCAqLworCSJFTUxJTksiLCAvKiAzMSAqLworCSJFUElQRSIsIC8qIDMyICovCisJIkVET00iLCAvKiAzMyAqLworCSJFUkFOR0UiLCAvKiAzNCAqLworCSJFREVBRExLIiwgLyogMzUgKi8KKwkiRU5BTUVUT09MT05HIiwgLyogMzYgKi8KKwkiRU5PTENLIiwgLyogMzcgKi8KKwkiRU5PU1lTIiwgLyogMzggKi8KKwkiRU5PVEVNUFRZIiwgLyogMzkgKi8KKwkiRUxPT1AiLCAvKiA0MCAqLworCSJFUlJOT180MSIsIC8qIDQxICovCisJIkVOT01TRyIsIC8qIDQyICovCisJIkVJRFJNIiwgLyogNDMgKi8KKwkiRUNIUk5HIiwgLyogNDQgKi8KKwkiRUwyTlNZTkMiLCAvKiA0NSAqLworCSJFTDNITFQiLCAvKiA0NiAqLworCSJFTDNSU1QiLCAvKiA0NyAqLworCSJFTE5STkciLCAvKiA0OCAqLworCSJFVU5BVENIIiwgLyogNDkgKi8KKwkiRU5PQ1NJIiwgLyogNTAgKi8KKwkiRUwySExUIiwgLyogNTEgKi8KKwkiRUJBREUiLCAvKiA1MiAqLworCSJFQkFEUiIsIC8qIDUzICovCisJIkVYRlVMTCIsIC8qIDU0ICovCisJIkVOT0FOTyIsIC8qIDU1ICovCisJIkVCQURSUUMiLCAvKiA1NiAqLworCSJFQkFEU0xUIiwgLyogNTcgKi8KKyNpZmRlZiBQT1dFUlBDCisJIkVERUFETE9DSyIsIC8qIDU4ICovCisjZWxzZQorCSJFUlJOT181OCIsIC8qIDU4ICovCisjZW5kaWYKKwkiRUJGT05UIiwgLyogNTkgKi8KKwkiRU5PU1RSIiwgLyogNjAgKi8KKwkiRU5PREFUQSIsIC8qIDYxICovCisJIkVUSU1FIiwgLyogNjIgKi8KKwkiRU5PU1IiLCAvKiA2MyAqLworCSJFTk9ORVQiLCAvKiA2NCAqLworCSJFTk9QS0ciLCAvKiA2NSAqLworCSJFUkVNT1RFIiwgLyogNjYgKi8KKwkiRU5PTElOSyIsIC8qIDY3ICovCisJIkVBRFYiLCAvKiA2OCAqLworCSJFU1JNTlQiLCAvKiA2OSAqLworCSJFQ09NTSIsIC8qIDcwICovCisJIkVQUk9UTyIsIC8qIDcxICovCisJIkVNVUxUSUhPUCIsIC8qIDcyICovCisJIkVET1RET1QiLCAvKiA3MyAqLworCSJFQkFETVNHIiwgLyogNzQgKi8KKwkiRU9WRVJGTE9XIiwgLyogNzUgKi8KKwkiRU5PVFVOSVEiLCAvKiA3NiAqLworCSJFQkFERkQiLCAvKiA3NyAqLworCSJFUkVNQ0hHIiwgLyogNzggKi8KKwkiRUxJQkFDQyIsIC8qIDc5ICovCisJIkVMSUJCQUQiLCAvKiA4MCAqLworCSJFTElCU0NOIiwgLyogODEgKi8KKwkiRUxJQk1BWCIsIC8qIDgyICovCisJIkVMSUJFWEVDIiwgLyogODMgKi8KKwkiRUlMU0VRIiwgLyogODQgKi8KKwkiRVJFU1RBUlQiLCAvKiA4NSAqLworCSJFU1RSUElQRSIsIC8qIDg2ICovCisJIkVVU0VSUyIsIC8qIDg3ICovCisJIkVOT1RTT0NLIiwgLyogODggKi8KKwkiRURFU1RBRERSUkVRIiwgLyogODkgKi8KKwkiRU1TR1NJWkUiLCAvKiA5MCAqLworCSJFUFJPVE9UWVBFIiwgLyogOTEgKi8KKwkiRU5PUFJPVE9PUFQiLCAvKiA5MiAqLworCSJFUFJPVE9OT1NVUFBPUlQiLCAvKiA5MyAqLworCSJFU09DS1ROT1NVUFBPUlQiLCAvKiA5NCAqLworCSJFT1BOT1RTVVBQIiwgLyogOTUgKi8KKwkiRVBGTk9TVVBQT1JUIiwgLyogOTYgKi8KKwkiRUFGTk9TVVBQT1JUIiwgLyogOTcgKi8KKwkiRUFERFJJTlVTRSIsIC8qIDk4ICovCisJIkVBRERSTk9UQVZBSUwiLCAvKiA5OSAqLworCSJFTkVURE9XTiIsIC8qIDEwMCAqLworCSJFTkVUVU5SRUFDSCIsIC8qIDEwMSAqLworCSJFTkVUUkVTRVQiLCAvKiAxMDIgKi8KKwkiRUNPTk5BQk9SVEVEIiwgLyogMTAzICovCisJIkVDT05OUkVTRVQiLCAvKiAxMDQgKi8KKwkiRU5PQlVGUyIsIC8qIDEwNSAqLworCSJFSVNDT05OIiwgLyogMTA2ICovCisJIkVOT1RDT05OIiwgLyogMTA3ICovCisJIkVTSFVURE9XTiIsIC8qIDEwOCAqLworCSJFVE9PTUFOWVJFRlMiLCAvKiAxMDkgKi8KKwkiRVRJTUVET1VUIiwgLyogMTEwICovCisJIkVDT05OUkVGVVNFRCIsIC8qIDExMSAqLworCSJFSE9TVERPV04iLCAvKiAxMTIgKi8KKwkiRUhPU1RVTlJFQUNIIiwgLyogMTEzICovCisJIkVBTFJFQURZIiwgLyogMTE0ICovCisJIkVJTlBST0dSRVNTIiwgLyogMTE1ICovCisJIkVTVEFMRSIsIC8qIDExNiAqLworCSJFVUNMRUFOIiwgLyogMTE3ICovCisJIkVOT1ROQU0iLCAvKiAxMTggKi8KKwkiRU5BVkFJTCIsIC8qIDExOSAqLworCSJFSVNOQU0iLCAvKiAxMjAgKi8KKwkiRVJFTU9URUlPIiwgLyogMTIxICovCisJIkVEUVVPVCIsIC8qIDEyMiAqLworCSJFTk9NRURJVU0iLCAvKiAxMjMgKi8KKwkiRU1FRElVTVRZUEUiLCAvKiAxMjQgKi8KKwkiRUNBTkNFTEVEIiwgLyogMTI1ICovCisJIkVOT0tFWSIsIC8qIDEyNiAqLworCSJFS0VZRVhQSVJFRCIsIC8qIDEyNyAqLworCSJFS0VZUkVWT0tFRCIsIC8qIDEyOCAqLworCSJFS0VZUkVKRUNURUQiLCAvKiAxMjkgKi8KKwkiRU9XTkVSREVBRCIsIC8qIDEzMCAqLworCSJFTk9UUkVDT1ZFUkFCTEUiLCAvKiAxMzEgKi8KKwkiRVJGS0lMTCIsIC8qIDEzMiAqLworCSJFUlJOT18xMzMiLCAvKiAxMzMgKi8KKwkiRVJSTk9fMTM0IiwgLyogMTM0ICovCisJIkVSUk5PXzEzNSIsIC8qIDEzNSAqLworCSJFUlJOT18xMzYiLCAvKiAxMzYgKi8KKwkiRVJSTk9fMTM3IiwgLyogMTM3ICovCisJIkVSUk5PXzEzOCIsIC8qIDEzOCAqLworCSJFUlJOT18xMzkiLCAvKiAxMzkgKi8KKwkiRVJSTk9fMTQwIiwgLyogMTQwICovCisJIkVSUk5PXzE0MSIsIC8qIDE0MSAqLworCSJFUlJOT18xNDIiLCAvKiAxNDIgKi8KKwkiRVJSTk9fMTQzIiwgLyogMTQzICovCisJIkVSUk5PXzE0NCIsIC8qIDE0NCAqLworCSJFUlJOT18xNDUiLCAvKiAxNDUgKi8KKwkiRVJSTk9fMTQ2IiwgLyogMTQ2ICovCisJIkVSUk5PXzE0NyIsIC8qIDE0NyAqLworCSJFUlJOT18xNDgiLCAvKiAxNDggKi8KKwkiRVJSTk9fMTQ5IiwgLyogMTQ5ICovCisJIkVSUk5PXzE1MCIsIC8qIDE1MCAqLworCSJFUlJOT18xNTEiLCAvKiAxNTEgKi8KKwkiRVJSTk9fMTUyIiwgLyogMTUyICovCisJIkVSUk5PXzE1MyIsIC8qIDE1MyAqLworCSJFUlJOT18xNTQiLCAvKiAxNTQgKi8KKwkiRVJSTk9fMTU1IiwgLyogMTU1ICovCisJIkVSUk5PXzE1NiIsIC8qIDE1NiAqLworCSJFUlJOT18xNTciLCAvKiAxNTcgKi8KKwkiRVJSTk9fMTU4IiwgLyogMTU4ICovCisJIkVSUk5PXzE1OSIsIC8qIDE1OSAqLworCSJFUlJOT18xNjAiLCAvKiAxNjAgKi8KKwkiRVJSTk9fMTYxIiwgLyogMTYxICovCisJIkVSUk5PXzE2MiIsIC8qIDE2MiAqLworCSJFUlJOT18xNjMiLCAvKiAxNjMgKi8KKwkiRVJSTk9fMTY0IiwgLyogMTY0ICovCisJIkVSUk5PXzE2NSIsIC8qIDE2NSAqLworCSJFUlJOT18xNjYiLCAvKiAxNjYgKi8KKwkiRVJSTk9fMTY3IiwgLyogMTY3ICovCisJIkVSUk5PXzE2OCIsIC8qIDE2OCAqLworCSJFUlJOT18xNjkiLCAvKiAxNjkgKi8KKwkiRVJSTk9fMTcwIiwgLyogMTcwICovCisJIkVSUk5PXzE3MSIsIC8qIDE3MSAqLworCSJFUlJOT18xNzIiLCAvKiAxNzIgKi8KKwkiRVJSTk9fMTczIiwgLyogMTczICovCisJIkVSUk5PXzE3NCIsIC8qIDE3NCAqLworCSJFUlJOT18xNzUiLCAvKiAxNzUgKi8KKwkiRVJSTk9fMTc2IiwgLyogMTc2ICovCisJIkVSUk5PXzE3NyIsIC8qIDE3NyAqLworCSJFUlJOT18xNzgiLCAvKiAxNzggKi8KKwkiRVJSTk9fMTc5IiwgLyogMTc5ICovCisJIkVSUk5PXzE4MCIsIC8qIDE4MCAqLworCSJFUlJOT18xODEiLCAvKiAxODEgKi8KKwkiRVJSTk9fMTgyIiwgLyogMTgyICovCisJIkVSUk5PXzE4MyIsIC8qIDE4MyAqLworCSJFUlJOT18xODQiLCAvKiAxODQgKi8KKwkiRVJSTk9fMTg1IiwgLyogMTg1ICovCisJIkVSUk5PXzE4NiIsIC8qIDE4NiAqLworCSJFUlJOT18xODciLCAvKiAxODcgKi8KKwkiRVJSTk9fMTg4IiwgLyogMTg4ICovCisJIkVSUk5PXzE4OSIsIC8qIDE4OSAqLworCSJFUlJOT18xOTAiLCAvKiAxOTAgKi8KKwkiRVJSTk9fMTkxIiwgLyogMTkxICovCisJIkVSUk5PXzE5MiIsIC8qIDE5MiAqLworCSJFUlJOT18xOTMiLCAvKiAxOTMgKi8KKwkiRVJSTk9fMTk0IiwgLyogMTk0ICovCisJIkVSUk5PXzE5NSIsIC8qIDE5NSAqLworCSJFUlJOT18xOTYiLCAvKiAxOTYgKi8KKwkiRVJSTk9fMTk3IiwgLyogMTk3ICovCisJIkVSUk5PXzE5OCIsIC8qIDE5OCAqLworCSJFUlJOT18xOTkiLCAvKiAxOTkgKi8KKwkiRVJSTk9fMjAwIiwgLyogMjAwICovCisJIkVSUk5PXzIwMSIsIC8qIDIwMSAqLworCSJFUlJOT18yMDIiLCAvKiAyMDIgKi8KKwkiRVJSTk9fMjAzIiwgLyogMjAzICovCisJIkVSUk5PXzIwNCIsIC8qIDIwNCAqLworCSJFUlJOT18yMDUiLCAvKiAyMDUgKi8KKwkiRVJSTk9fMjA2IiwgLyogMjA2ICovCisJIkVSUk5PXzIwNyIsIC8qIDIwNyAqLworCSJFUlJOT18yMDgiLCAvKiAyMDggKi8KKwkiRVJSTk9fMjA5IiwgLyogMjA5ICovCisJIkVSUk5PXzIxMCIsIC8qIDIxMCAqLworCSJFUlJOT18yMTEiLCAvKiAyMTEgKi8KKwkiRVJSTk9fMjEyIiwgLyogMjEyICovCisJIkVSUk5PXzIxMyIsIC8qIDIxMyAqLworCSJFUlJOT18yMTQiLCAvKiAyMTQgKi8KKwkiRVJSTk9fMjE1IiwgLyogMjE1ICovCisJIkVSUk5PXzIxNiIsIC8qIDIxNiAqLworCSJFUlJOT18yMTciLCAvKiAyMTcgKi8KKwkiRVJSTk9fMjE4IiwgLyogMjE4ICovCisJIkVSUk5PXzIxOSIsIC8qIDIxOSAqLworCSJFUlJOT18yMjAiLCAvKiAyMjAgKi8KKwkiRVJSTk9fMjIxIiwgLyogMjIxICovCisJIkVSUk5PXzIyMiIsIC8qIDIyMiAqLworCSJFUlJOT18yMjMiLCAvKiAyMjMgKi8KKwkiRVJSTk9fMjI0IiwgLyogMjI0ICovCisJIkVSUk5PXzIyNSIsIC8qIDIyNSAqLworCSJFUlJOT18yMjYiLCAvKiAyMjYgKi8KKwkiRVJSTk9fMjI3IiwgLyogMjI3ICovCisJIkVSUk5PXzIyOCIsIC8qIDIyOCAqLworCSJFUlJOT18yMjkiLCAvKiAyMjkgKi8KKwkiRVJSTk9fMjMwIiwgLyogMjMwICovCisJIkVSUk5PXzIzMSIsIC8qIDIzMSAqLworCSJFUlJOT18yMzIiLCAvKiAyMzIgKi8KKwkiRVJSTk9fMjMzIiwgLyogMjMzICovCisJIkVSUk5PXzIzNCIsIC8qIDIzNCAqLworCSJFUlJOT18yMzUiLCAvKiAyMzUgKi8KKwkiRVJSTk9fMjM2IiwgLyogMjM2ICovCisJIkVSUk5PXzIzNyIsIC8qIDIzNyAqLworCSJFUlJOT18yMzgiLCAvKiAyMzggKi8KKwkiRVJSTk9fMjM5IiwgLyogMjM5ICovCisJIkVSUk5PXzI0MCIsIC8qIDI0MCAqLworCSJFUlJOT18yNDEiLCAvKiAyNDEgKi8KKwkiRVJSTk9fMjQyIiwgLyogMjQyICovCisJIkVSUk5PXzI0MyIsIC8qIDI0MyAqLworCSJFUlJOT18yNDQiLCAvKiAyNDQgKi8KKwkiRVJSTk9fMjQ1IiwgLyogMjQ1ICovCisJIkVSUk5PXzI0NiIsIC8qIDI0NiAqLworCSJFUlJOT18yNDciLCAvKiAyNDcgKi8KKwkiRVJSTk9fMjQ4IiwgLyogMjQ4ICovCisJIkVSUk5PXzI0OSIsIC8qIDI0OSAqLworCSJFUlJOT18yNTAiLCAvKiAyNTAgKi8KKwkiRVJSTk9fMjUxIiwgLyogMjUxICovCisJIkVSUk5PXzI1MiIsIC8qIDI1MiAqLworCSJFUlJOT18yNTMiLCAvKiAyNTMgKi8KKwkiRVJSTk9fMjU0IiwgLyogMjU0ICovCisJIkVSUk5PXzI1NSIsIC8qIDI1NSAqLworCSJFUlJOT18yNTYiLCAvKiAyNTYgKi8KKwkiRVJSTk9fMjU3IiwgLyogMjU3ICovCisJIkVSUk5PXzI1OCIsIC8qIDI1OCAqLworCSJFUlJOT18yNTkiLCAvKiAyNTkgKi8KKwkiRVJSTk9fMjYwIiwgLyogMjYwICovCisJIkVSUk5PXzI2MSIsIC8qIDI2MSAqLworCSJFUlJOT18yNjIiLCAvKiAyNjIgKi8KKwkiRVJSTk9fMjYzIiwgLyogMjYzICovCisJIkVSUk5PXzI2NCIsIC8qIDI2NCAqLworCSJFUlJOT18yNjUiLCAvKiAyNjUgKi8KKwkiRVJSTk9fMjY2IiwgLyogMjY2ICovCisJIkVSUk5PXzI2NyIsIC8qIDI2NyAqLworCSJFUlJOT18yNjgiLCAvKiAyNjggKi8KKwkiRVJSTk9fMjY5IiwgLyogMjY5ICovCisJIkVSUk5PXzI3MCIsIC8qIDI3MCAqLworCSJFUlJOT18yNzEiLCAvKiAyNzEgKi8KKwkiRVJSTk9fMjcyIiwgLyogMjcyICovCisJIkVSUk5PXzI3MyIsIC8qIDI3MyAqLworCSJFUlJOT18yNzQiLCAvKiAyNzQgKi8KKwkiRVJSTk9fMjc1IiwgLyogMjc1ICovCisJIkVSUk5PXzI3NiIsIC8qIDI3NiAqLworCSJFUlJOT18yNzciLCAvKiAyNzcgKi8KKwkiRVJSTk9fMjc4IiwgLyogMjc4ICovCisJIkVSUk5PXzI3OSIsIC8qIDI3OSAqLworCSJFUlJOT18yODAiLCAvKiAyODAgKi8KKwkiRVJSTk9fMjgxIiwgLyogMjgxICovCisJIkVSUk5PXzI4MiIsIC8qIDI4MiAqLworCSJFUlJOT18yODMiLCAvKiAyODMgKi8KKwkiRVJSTk9fMjg0IiwgLyogMjg0ICovCisJIkVSUk5PXzI4NSIsIC8qIDI4NSAqLworCSJFUlJOT18yODYiLCAvKiAyODYgKi8KKwkiRVJSTk9fMjg3IiwgLyogMjg3ICovCisJIkVSUk5PXzI4OCIsIC8qIDI4OCAqLworCSJFUlJOT18yODkiLCAvKiAyODkgKi8KKwkiRVJSTk9fMjkwIiwgLyogMjkwICovCisJIkVSUk5PXzI5MSIsIC8qIDI5MSAqLworCSJFUlJOT18yOTIiLCAvKiAyOTIgKi8KKwkiRVJSTk9fMjkzIiwgLyogMjkzICovCisJIkVSUk5PXzI5NCIsIC8qIDI5NCAqLworCSJFUlJOT18yOTUiLCAvKiAyOTUgKi8KKwkiRVJSTk9fMjk2IiwgLyogMjk2ICovCisJIkVSUk5PXzI5NyIsIC8qIDI5NyAqLworCSJFUlJOT18yOTgiLCAvKiAyOTggKi8KKwkiRVJSTk9fMjk5IiwgLyogMjk5ICovCisJIkVSUk5PXzMwMCIsIC8qIDMwMCAqLworCSJFUlJOT18zMDEiLCAvKiAzMDEgKi8KKwkiRVJSTk9fMzAyIiwgLyogMzAyICovCisJIkVSUk5PXzMwMyIsIC8qIDMwMyAqLworCSJFUlJOT18zMDQiLCAvKiAzMDQgKi8KKwkiRVJSTk9fMzA1IiwgLyogMzA1ICovCisJIkVSUk5PXzMwNiIsIC8qIDMwNiAqLworCSJFUlJOT18zMDciLCAvKiAzMDcgKi8KKwkiRVJSTk9fMzA4IiwgLyogMzA4ICovCisJIkVSUk5PXzMwOSIsIC8qIDMwOSAqLworCSJFUlJOT18zMTAiLCAvKiAzMTAgKi8KKwkiRVJSTk9fMzExIiwgLyogMzExICovCisJIkVSUk5PXzMxMiIsIC8qIDMxMiAqLworCSJFUlJOT18zMTMiLCAvKiAzMTMgKi8KKwkiRVJSTk9fMzE0IiwgLyogMzE0ICovCisJIkVSUk5PXzMxNSIsIC8qIDMxNSAqLworCSJFUlJOT18zMTYiLCAvKiAzMTYgKi8KKwkiRVJSTk9fMzE3IiwgLyogMzE3ICovCisJIkVSUk5PXzMxOCIsIC8qIDMxOCAqLworCSJFUlJOT18zMTkiLCAvKiAzMTkgKi8KKwkiRVJSTk9fMzIwIiwgLyogMzIwICovCisJIkVSUk5PXzMyMSIsIC8qIDMyMSAqLworCSJFUlJOT18zMjIiLCAvKiAzMjIgKi8KKwkiRVJSTk9fMzIzIiwgLyogMzIzICovCisJIkVSUk5PXzMyNCIsIC8qIDMyNCAqLworCSJFUlJOT18zMjUiLCAvKiAzMjUgKi8KKwkiRVJSTk9fMzI2IiwgLyogMzI2ICovCisJIkVSUk5PXzMyNyIsIC8qIDMyNyAqLworCSJFUlJOT18zMjgiLCAvKiAzMjggKi8KKwkiRVJSTk9fMzI5IiwgLyogMzI5ICovCisJIkVSUk5PXzMzMCIsIC8qIDMzMCAqLworCSJFUlJOT18zMzEiLCAvKiAzMzEgKi8KKwkiRVJSTk9fMzMyIiwgLyogMzMyICovCisJIkVSUk5PXzMzMyIsIC8qIDMzMyAqLworCSJFUlJOT18zMzQiLCAvKiAzMzQgKi8KKwkiRVJSTk9fMzM1IiwgLyogMzM1ICovCisJIkVSUk5PXzMzNiIsIC8qIDMzNiAqLworCSJFUlJOT18zMzciLCAvKiAzMzcgKi8KKwkiRVJSTk9fMzM4IiwgLyogMzM4ICovCisJIkVSUk5PXzMzOSIsIC8qIDMzOSAqLworCSJFUlJOT18zNDAiLCAvKiAzNDAgKi8KKwkiRVJSTk9fMzQxIiwgLyogMzQxICovCisJIkVSUk5PXzM0MiIsIC8qIDM0MiAqLworCSJFUlJOT18zNDMiLCAvKiAzNDMgKi8KKwkiRVJSTk9fMzQ0IiwgLyogMzQ0ICovCisJIkVSUk5PXzM0NSIsIC8qIDM0NSAqLworCSJFUlJOT18zNDYiLCAvKiAzNDYgKi8KKwkiRVJSTk9fMzQ3IiwgLyogMzQ3ICovCisJIkVSUk5PXzM0OCIsIC8qIDM0OCAqLworCSJFUlJOT18zNDkiLCAvKiAzNDkgKi8KKwkiRVJSTk9fMzUwIiwgLyogMzUwICovCisJIkVSUk5PXzM1MSIsIC8qIDM1MSAqLworCSJFUlJOT18zNTIiLCAvKiAzNTIgKi8KKwkiRVJSTk9fMzUzIiwgLyogMzUzICovCisJIkVSUk5PXzM1NCIsIC8qIDM1NCAqLworCSJFUlJOT18zNTUiLCAvKiAzNTUgKi8KKwkiRVJSTk9fMzU2IiwgLyogMzU2ICovCisJIkVSUk5PXzM1NyIsIC8qIDM1NyAqLworCSJFUlJOT18zNTgiLCAvKiAzNTggKi8KKwkiRVJSTk9fMzU5IiwgLyogMzU5ICovCisJIkVSUk5PXzM2MCIsIC8qIDM2MCAqLworCSJFUlJOT18zNjEiLCAvKiAzNjEgKi8KKwkiRVJSTk9fMzYyIiwgLyogMzYyICovCisJIkVSUk5PXzM2MyIsIC8qIDM2MyAqLworCSJFUlJOT18zNjQiLCAvKiAzNjQgKi8KKwkiRVJSTk9fMzY1IiwgLyogMzY1ICovCisJIkVSUk5PXzM2NiIsIC8qIDM2NiAqLworCSJFUlJOT18zNjciLCAvKiAzNjcgKi8KKwkiRVJSTk9fMzY4IiwgLyogMzY4ICovCisJIkVSUk5PXzM2OSIsIC8qIDM2OSAqLworCSJFUlJOT18zNzAiLCAvKiAzNzAgKi8KKwkiRVJSTk9fMzcxIiwgLyogMzcxICovCisJIkVSUk5PXzM3MiIsIC8qIDM3MiAqLworCSJFUlJOT18zNzMiLCAvKiAzNzMgKi8KKwkiRVJSTk9fMzc0IiwgLyogMzc0ICovCisJIkVSUk5PXzM3NSIsIC8qIDM3NSAqLworCSJFUlJOT18zNzYiLCAvKiAzNzYgKi8KKwkiRVJSTk9fMzc3IiwgLyogMzc3ICovCisJIkVSUk5PXzM3OCIsIC8qIDM3OCAqLworCSJFUlJOT18zNzkiLCAvKiAzNzkgKi8KKwkiRVJSTk9fMzgwIiwgLyogMzgwICovCisJIkVSUk5PXzM4MSIsIC8qIDM4MSAqLworCSJFUlJOT18zODIiLCAvKiAzODIgKi8KKwkiRVJSTk9fMzgzIiwgLyogMzgzICovCisJIkVSUk5PXzM4NCIsIC8qIDM4NCAqLworCSJFUlJOT18zODUiLCAvKiAzODUgKi8KKwkiRVJSTk9fMzg2IiwgLyogMzg2ICovCisJIkVSUk5PXzM4NyIsIC8qIDM4NyAqLworCSJFUlJOT18zODgiLCAvKiAzODggKi8KKwkiRVJSTk9fMzg5IiwgLyogMzg5ICovCisJIkVSUk5PXzM5MCIsIC8qIDM5MCAqLworCSJFUlJOT18zOTEiLCAvKiAzOTEgKi8KKwkiRVJSTk9fMzkyIiwgLyogMzkyICovCisJIkVSUk5PXzM5MyIsIC8qIDM5MyAqLworCSJFUlJOT18zOTQiLCAvKiAzOTQgKi8KKwkiRVJSTk9fMzk1IiwgLyogMzk1ICovCisJIkVSUk5PXzM5NiIsIC8qIDM5NiAqLworCSJFUlJOT18zOTciLCAvKiAzOTcgKi8KKwkiRVJSTk9fMzk4IiwgLyogMzk4ICovCisJIkVSUk5PXzM5OSIsIC8qIDM5OSAqLworCSJFUlJOT180MDAiLCAvKiA0MDAgKi8KKwkiRVJSTk9fNDAxIiwgLyogNDAxICovCisJIkVSUk5PXzQwMiIsIC8qIDQwMiAqLworCSJFUlJOT180MDMiLCAvKiA0MDMgKi8KKwkiRVJSTk9fNDA0IiwgLyogNDA0ICovCisJIkVSUk5PXzQwNSIsIC8qIDQwNSAqLworCSJFUlJOT180MDYiLCAvKiA0MDYgKi8KKwkiRVJSTk9fNDA3IiwgLyogNDA3ICovCisJIkVSUk5PXzQwOCIsIC8qIDQwOCAqLworCSJFUlJOT180MDkiLCAvKiA0MDkgKi8KKwkiRVJSTk9fNDEwIiwgLyogNDEwICovCisJIkVSUk5PXzQxMSIsIC8qIDQxMSAqLworCSJFUlJOT180MTIiLCAvKiA0MTIgKi8KKwkiRVJSTk9fNDEzIiwgLyogNDEzICovCisJIkVSUk5PXzQxNCIsIC8qIDQxNCAqLworCSJFUlJOT180MTUiLCAvKiA0MTUgKi8KKwkiRVJSTk9fNDE2IiwgLyogNDE2ICovCisJIkVSUk5PXzQxNyIsIC8qIDQxNyAqLworCSJFUlJOT180MTgiLCAvKiA0MTggKi8KKwkiRVJSTk9fNDE5IiwgLyogNDE5ICovCisJIkVSUk5PXzQyMCIsIC8qIDQyMCAqLworCSJFUlJOT180MjEiLCAvKiA0MjEgKi8KKwkiRVJSTk9fNDIyIiwgLyogNDIyICovCisJIkVSUk5PXzQyMyIsIC8qIDQyMyAqLworCSJFUlJOT180MjQiLCAvKiA0MjQgKi8KKwkiRVJSTk9fNDI1IiwgLyogNDI1ICovCisJIkVSUk5PXzQyNiIsIC8qIDQyNiAqLworCSJFUlJOT180MjciLCAvKiA0MjcgKi8KKwkiRVJSTk9fNDI4IiwgLyogNDI4ICovCisJIkVSUk5PXzQyOSIsIC8qIDQyOSAqLworCSJFUlJOT180MzAiLCAvKiA0MzAgKi8KKwkiRVJSTk9fNDMxIiwgLyogNDMxICovCisJIkVSUk5PXzQzMiIsIC8qIDQzMiAqLworCSJFUlJOT180MzMiLCAvKiA0MzMgKi8KKwkiRVJSTk9fNDM0IiwgLyogNDM0ICovCisJIkVSUk5PXzQzNSIsIC8qIDQzNSAqLworCSJFUlJOT180MzYiLCAvKiA0MzYgKi8KKwkiRVJSTk9fNDM3IiwgLyogNDM3ICovCisJIkVSUk5PXzQzOCIsIC8qIDQzOCAqLworCSJFUlJOT180MzkiLCAvKiA0MzkgKi8KKwkiRVJSTk9fNDQwIiwgLyogNDQwICovCisJIkVSUk5PXzQ0MSIsIC8qIDQ0MSAqLworCSJFUlJOT180NDIiLCAvKiA0NDIgKi8KKwkiRVJSTk9fNDQzIiwgLyogNDQzICovCisJIkVSUk5PXzQ0NCIsIC8qIDQ0NCAqLworCSJFUlJOT180NDUiLCAvKiA0NDUgKi8KKwkiRVJSTk9fNDQ2IiwgLyogNDQ2ICovCisJIkVSUk5PXzQ0NyIsIC8qIDQ0NyAqLworCSJFUlJOT180NDgiLCAvKiA0NDggKi8KKwkiRVJSTk9fNDQ5IiwgLyogNDQ5ICovCisJIkVSUk5PXzQ1MCIsIC8qIDQ1MCAqLworCSJFUlJOT180NTEiLCAvKiA0NTEgKi8KKwkiRVJSTk9fNDUyIiwgLyogNDUyICovCisJIkVSUk5PXzQ1MyIsIC8qIDQ1MyAqLworCSJFUlJOT180NTQiLCAvKiA0NTQgKi8KKwkiRVJSTk9fNDU1IiwgLyogNDU1ICovCisJIkVSUk5PXzQ1NiIsIC8qIDQ1NiAqLworCSJFUlJOT180NTciLCAvKiA0NTcgKi8KKwkiRVJSTk9fNDU4IiwgLyogNDU4ICovCisJIkVSUk5PXzQ1OSIsIC8qIDQ1OSAqLworCSJFUlJOT180NjAiLCAvKiA0NjAgKi8KKwkiRVJSTk9fNDYxIiwgLyogNDYxICovCisJIkVSUk5PXzQ2MiIsIC8qIDQ2MiAqLworCSJFUlJOT180NjMiLCAvKiA0NjMgKi8KKwkiRVJSTk9fNDY0IiwgLyogNDY0ICovCisJIkVSUk5PXzQ2NSIsIC8qIDQ2NSAqLworCSJFUlJOT180NjYiLCAvKiA0NjYgKi8KKwkiRVJSTk9fNDY3IiwgLyogNDY3ICovCisJIkVSUk5PXzQ2OCIsIC8qIDQ2OCAqLworCSJFUlJOT180NjkiLCAvKiA0NjkgKi8KKwkiRVJSTk9fNDcwIiwgLyogNDcwICovCisJIkVSUk5PXzQ3MSIsIC8qIDQ3MSAqLworCSJFUlJOT180NzIiLCAvKiA0NzIgKi8KKwkiRVJSTk9fNDczIiwgLyogNDczICovCisJIkVSUk5PXzQ3NCIsIC8qIDQ3NCAqLworCSJFUlJOT180NzUiLCAvKiA0NzUgKi8KKwkiRVJSTk9fNDc2IiwgLyogNDc2ICovCisJIkVSUk5PXzQ3NyIsIC8qIDQ3NyAqLworCSJFUlJOT180NzgiLCAvKiA0NzggKi8KKwkiRVJSTk9fNDc5IiwgLyogNDc5ICovCisJIkVSUk5PXzQ4MCIsIC8qIDQ4MCAqLworCSJFUlJOT180ODEiLCAvKiA0ODEgKi8KKwkiRVJSTk9fNDgyIiwgLyogNDgyICovCisJIkVSUk5PXzQ4MyIsIC8qIDQ4MyAqLworCSJFUlJOT180ODQiLCAvKiA0ODQgKi8KKwkiRVJSTk9fNDg1IiwgLyogNDg1ICovCisJIkVSUk5PXzQ4NiIsIC8qIDQ4NiAqLworCSJFUlJOT180ODciLCAvKiA0ODcgKi8KKwkiRVJSTk9fNDg4IiwgLyogNDg4ICovCisJIkVSUk5PXzQ4OSIsIC8qIDQ4OSAqLworCSJFUlJOT180OTAiLCAvKiA0OTAgKi8KKwkiRVJSTk9fNDkxIiwgLyogNDkxICovCisJIkVSUk5PXzQ5MiIsIC8qIDQ5MiAqLworCSJFUlJOT180OTMiLCAvKiA0OTMgKi8KKwkiRVJSTk9fNDk0IiwgLyogNDk0ICovCisJIkVSUk5PXzQ5NSIsIC8qIDQ5NSAqLworCSJFUlJOT180OTYiLCAvKiA0OTYgKi8KKwkiRVJSTk9fNDk3IiwgLyogNDk3ICovCisJIkVSUk5PXzQ5OCIsIC8qIDQ5OCAqLworCSJFUlJOT180OTkiLCAvKiA0OTkgKi8KKwkiRVJSTk9fNTAwIiwgLyogNTAwICovCisJIkVSUk5PXzUwMSIsIC8qIDUwMSAqLworCSJFUlJOT181MDIiLCAvKiA1MDIgKi8KKwkiRVJSTk9fNTAzIiwgLyogNTAzICovCisJIkVSUk5PXzUwNCIsIC8qIDUwNCAqLworCSJFUlJOT181MDUiLCAvKiA1MDUgKi8KKwkiRVJSTk9fNTA2IiwgLyogNTA2ICovCisJIkVSUk5PXzUwNyIsIC8qIDUwNyAqLworCSJFUlJOT181MDgiLCAvKiA1MDggKi8KKwkiRVJSTk9fNTA5IiwgLyogNTA5ICovCisJIkVSUk5PXzUxMCIsIC8qIDUxMCAqLworCSJFUlJOT181MTEiLCAvKiA1MTEgKi8KKwkiRVJFU1RBUlRTWVMiLCAvKiA1MTIgKi8KKwkiRVJFU1RBUlROT0lOVFIiLCAvKiA1MTMgKi8KKwkiRVJFU1RBUlROT0hBTkQiLCAvKiA1MTQgKi8KKwkiRU5PSU9DVExDTUQiLCAvKiA1MTUgKi8KKwkiRVJFU1RBUlRfUkVTVEFSVEJMT0NLIiwgLyogNTE2ICovCisJIkVSUk5PXzUxNyIsIC8qIDUxNyAqLworCSJFUlJOT181MTgiLCAvKiA1MTggKi8KKwkiRVJSTk9fNTE5IiwgLyogNTE5ICovCisJIkVSUk5PXzUyMCIsIC8qIDUyMCAqLworCSJFQkFESEFORExFIiwgLyogNTIxICovCisJIkVOT1RTWU5DIiwgLyogNTIyICovCisJIkVCQURDT09LSUUiLCAvKiA1MjMgKi8KKwkiRU5PVFNVUFAiLCAvKiA1MjQgKi8KKwkiRVRPT1NNQUxMIiwgLyogNTI1ICovCisJIkVTRVJWRVJGQVVMVCIsIC8qIDUyNiAqLworCSJFQkFEVFlQRSIsIC8qIDUyNyAqLworCSJFSlVLRUJPWCIsIC8qIDUyOCAqLworCSJFSU9DQlFVRVVFRCIsIC8qIDUyOSAqLworCSJFSU9DQlJFVFJZIiwgLyogNTMwICovCmRpZmYgLS1naXQgYS9zdHJhY2UtNC41LjIwL2xpbnV4L2hwcGEvZXJybm9lbnQuaCBiL3N0cmFjZS00LjUuMjAvbGludXgvaHBwYS9lcnJub2VudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJjOTI2MzMKLS0tIC9kZXYvbnVsbAorKysgYi9zdHJhY2UtNC41LjIwL2xpbnV4L2hwcGEvZXJybm9lbnQuaApAQCAtMCwwICsxLDI1NCBAQAorCSJFUlJOT18wIiwgLyogMCAqLworCSJFUEVSTSIsIC8qIDEgKi8KKwkiRU5PRU5UIiwgLyogMiAqLworCSJFU1JDSCIsIC8qIDMgKi8KKwkiRUlOVFIiLCAvKiA0ICovCisJIkVJTyIsIC8qIDUgKi8KKwkiRU5YSU8iLCAvKiA2ICovCisJIkUyQklHIiwgLyogNyAqLworCSJFTk9FWEVDIiwgLyogOCAqLworCSJFQkFERiIsIC8qIDkgKi8KKwkiRUNISUxEIiwgLyogMTAgKi8KKwkiRUFHQUlOIiwgLyogMTEgKi8KKwkiRU5PTUVNIiwgLyogMTIgKi8KKwkiRUFDQ0VTIiwgLyogMTMgKi8KKwkiRUZBVUxUIiwgLyogMTQgKi8KKwkiRU5PVEJMSyIsIC8qIDE1ICovCisJIkVCVVNZIiwgLyogMTYgKi8KKwkiRUVYSVNUIiwgLyogMTcgKi8KKwkiRVhERVYiLCAvKiAxOCAqLworCSJFTk9ERVYiLCAvKiAxOSAqLworCSJFTk9URElSIiwgLyogMjAgKi8KKwkiRUlTRElSIiwgLyogMjEgKi8KKwkiRUlOVkFMIiwgLyogMjIgKi8KKwkiRU5GSUxFIiwgLyogMjMgKi8KKwkiRU1GSUxFIiwgLyogMjQgKi8KKwkiRU5PVFRZIiwgLyogMjUgKi8KKwkiRVRYVEJTWSIsIC8qIDI2ICovCisJIkVGQklHIiwgLyogMjcgKi8KKwkiRU5PU1BDIiwgLyogMjggKi8KKwkiRVNQSVBFIiwgLyogMjkgKi8KKwkiRVJPRlMiLCAvKiAzMCAqLworCSJFTUxJTksiLCAvKiAzMSAqLworCSJFUElQRSIsIC8qIDMyICovCisJIkVET00iLCAvKiAzMyAqLworCSJFUkFOR0UiLCAvKiAzNCAqLworCSJFTk9NU0ciLCAvKiAzNSAqLworCSJFSURSTSIsIC8qIDM2ICovCisJIkVDSFJORyIsIC8qIDM3ICovCisJIkVMMk5TWU5DIiwgLyogMzggKi8KKwkiRUwzSExUIiwgLyogMzkgKi8KKwkiRUwzUlNUIiwgLyogNDAgKi8KKwkiRUxOUk5HIiwgLyogNDEgKi8KKwkiRVVOQVRDSCIsIC8qIDQyICovCisJIkVOT0NTSSIsIC8qIDQzICovCisJIkVMMkhMVCIsIC8qIDQ0ICovCisJIkVERUFETEsiLCAvKiA0NSAqLworCSJFTk9MQ0siLCAvKiA0NiAqLworCSJFSUxTRVEiLCAvKiA0NyAqLworCSJFUlJOT180OCIsIC8qIDQ4ICovCisJIkVSUk5PXzQ5IiwgLyogNDkgKi8KKwkiRU5PTkVUIiwgLyogNTAgKi8KKwkiRU5PREFUQSIsIC8qIDUxICovCisJIkVUSU1FIiwgLyogNTIgKi8KKwkiRU5PU1IiLCAvKiA1MyAqLworCSJFTk9TVFIiLCAvKiA1NCAqLworCSJFTk9QS0ciLCAvKiA1NSAqLworCSJFUlJOT181NiIsIC8qIDU2ICovCisJIkVOT0xJTksiLCAvKiA1NyAqLworCSJFQURWIiwgLyogNTggKi8KKwkiRVNSTU5UIiwgLyogNTkgKi8KKwkiRUNPTU0iLCAvKiA2MCAqLworCSJFUFJPVE8iLCAvKiA2MSAqLworCSJFUlJOT182MiIsIC8qIDYyICovCisJIkVSUk5PXzYzIiwgLyogNjMgKi8KKwkiRU1VTFRJSE9QIiwgLyogNjQgKi8KKwkiRVJSTk9fNjUiLCAvKiA2NSAqLworCSJFRE9URE9UIiwgLyogNjYgKi8KKwkiRUJBRE1TRyIsIC8qIDY3ICovCisJIkVVU0VSUyIsIC8qIDY4ICovCisJIkVEUVVPVCIsIC8qIDY5ICovCisJIkVTVEFMRSIsIC8qIDcwICovCisJIkVSRU1PVEUiLCAvKiA3MSAqLworCSJFT1ZFUkZMT1ciLCAvKiA3MiAqLworCSJFUlJOT183MyIsIC8qIDczICovCisJIkVSUk5PXzc0IiwgLyogNzQgKi8KKwkiRVJSTk9fNzUiLCAvKiA3NSAqLworCSJFUlJOT183NiIsIC8qIDc2ICovCisJIkVSUk5PXzc3IiwgLyogNzcgKi8KKwkiRVJSTk9fNzgiLCAvKiA3OCAqLworCSJFUlJOT183OSIsIC8qIDc5ICovCisJIkVSUk5PXzgwIiwgLyogODAgKi8KKwkiRVJSTk9fODEiLCAvKiA4MSAqLworCSJFUlJOT184MiIsIC8qIDgyICovCisJIkVSUk5PXzgzIiwgLyogODMgKi8KKwkiRVJSTk9fODQiLCAvKiA4NCAqLworCSJFUlJOT184NSIsIC8qIDg1ICovCisJIkVSUk5PXzg2IiwgLyogODYgKi8KKwkiRVJSTk9fODciLCAvKiA4NyAqLworCSJFUlJOT184OCIsIC8qIDg4ICovCisJIkVSUk5PXzg5IiwgLyogODkgKi8KKwkiRVJSTk9fOTAiLCAvKiA5MCAqLworCSJFUlJOT185MSIsIC8qIDkxICovCisJIkVSUk5PXzkyIiwgLyogOTIgKi8KKwkiRVJSTk9fOTMiLCAvKiA5MyAqLworCSJFUlJOT185NCIsIC8qIDk0ICovCisJIkVSUk5PXzk1IiwgLyogOTUgKi8KKwkiRVJSTk9fOTYiLCAvKiA5NiAqLworCSJFUlJOT185NyIsIC8qIDk3ICovCisJIkVSUk5PXzk4IiwgLyogOTggKi8KKwkiRVJSTk9fOTkiLCAvKiA5OSAqLworCSJFUlJOT18xMDAiLCAvKiAxMDAgKi8KKwkiRVJSTk9fMTAxIiwgLyogMTAxICovCisJIkVSUk5PXzEwMiIsIC8qIDEwMiAqLworCSJFUlJOT18xMDMiLCAvKiAxMDMgKi8KKwkiRVJSTk9fMTA0IiwgLyogMTA0ICovCisJIkVSUk5PXzEwNSIsIC8qIDEwNSAqLworCSJFUlJOT18xMDYiLCAvKiAxMDYgKi8KKwkiRVJSTk9fMTA3IiwgLyogMTA3ICovCisJIkVSUk5PXzEwOCIsIC8qIDEwOCAqLworCSJFUlJOT18xMDkiLCAvKiAxMDkgKi8KKwkiRVJSTk9fMTEwIiwgLyogMTEwICovCisJIkVSUk5PXzExMSIsIC8qIDExMSAqLworCSJFUlJOT18xMTIiLCAvKiAxMTIgKi8KKwkiRVJSTk9fMTEzIiwgLyogMTEzICovCisJIkVSUk5PXzExNCIsIC8qIDExNCAqLworCSJFUlJOT18xMTUiLCAvKiAxMTUgKi8KKwkiRVJSTk9fMTE2IiwgLyogMTE2ICovCisJIkVSUk5PXzExNyIsIC8qIDExNyAqLworCSJFUlJOT18xMTgiLCAvKiAxMTggKi8KKwkiRVJSTk9fMTE5IiwgLyogMTE5ICovCisJIkVSUk5PXzEyMCIsIC8qIDEyMCAqLworCSJFUlJOT18xMjEiLCAvKiAxMjEgKi8KKwkiRVJSTk9fMTIyIiwgLyogMTIyICovCisJIkVSUk5PXzEyMyIsIC8qIDEyMyAqLworCSJFUlJOT18xMjQiLCAvKiAxMjQgKi8KKwkiRVJSTk9fMTI1IiwgLyogMTI1ICovCisJIkVSUk5PXzEyNiIsIC8qIDEyNiAqLworCSJFUlJOT18xMjciLCAvKiAxMjcgKi8KKwkiRVJSTk9fMTI4IiwgLyogMTI4ICovCisJIkVSUk5PXzEyOSIsIC8qIDEyOSAqLworCSJFUlJOT18xMzAiLCAvKiAxMzAgKi8KKwkiRVJSTk9fMTMxIiwgLyogMTMxICovCisJIkVSUk5PXzEzMiIsIC8qIDEzMiAqLworCSJFUlJOT18xMzMiLCAvKiAxMzMgKi8KKwkiRVJSTk9fMTM0IiwgLyogMTM0ICovCisJIkVSUk5PXzEzNSIsIC8qIDEzNSAqLworCSJFUlJOT18xMzYiLCAvKiAxMzYgKi8KKwkiRVJSTk9fMTM3IiwgLyogMTM3ICovCisJIkVSUk5PXzEzOCIsIC8qIDEzOCAqLworCSJFUlJOT18xMzkiLCAvKiAxMzkgKi8KKwkiRVJSTk9fMTQwIiwgLyogMTQwICovCisJIkVSUk5PXzE0MSIsIC8qIDE0MSAqLworCSJFUlJOT18xNDIiLCAvKiAxNDIgKi8KKwkiRVJSTk9fMTQzIiwgLyogMTQzICovCisJIkVSUk5PXzE0NCIsIC8qIDE0NCAqLworCSJFUlJOT18xNDUiLCAvKiAxNDUgKi8KKwkiRVJSTk9fMTQ2IiwgLyogMTQ2ICovCisJIkVSUk5PXzE0NyIsIC8qIDE0NyAqLworCSJFUlJOT18xNDgiLCAvKiAxNDggKi8KKwkiRVJSTk9fMTQ5IiwgLyogMTQ5ICovCisJIkVSUk5PXzE1MCIsIC8qIDE1MCAqLworCSJFUlJOT18xNTEiLCAvKiAxNTEgKi8KKwkiRVJSTk9fMTUyIiwgLyogMTUyICovCisJIkVSUk5PXzE1MyIsIC8qIDE1MyAqLworCSJFUlJOT18xNTQiLCAvKiAxNTQgKi8KKwkiRVJSTk9fMTU1IiwgLyogMTU1ICovCisJIkVSUk5PXzE1NiIsIC8qIDE1NiAqLworCSJFUlJOT18xNTciLCAvKiAxNTcgKi8KKwkiRVJSTk9fMTU4IiwgLyogMTU4ICovCisJIkVSUk5PXzE1OSIsIC8qIDE1OSAqLworCSJFQkFERSIsIC8qIDE2MCAqLworCSJFQkFEUiIsIC8qIDE2MSAqLworCSJFWEZVTEwiLCAvKiAxNjIgKi8KKwkiRU5PQU5PIiwgLyogMTYzICovCisJIkVCQURSUUMiLCAvKiAxNjQgKi8KKwkiRUJBRFNMVCIsIC8qIDE2NSAqLworCSJFQkZPTlQiLCAvKiAxNjYgKi8KKwkiRU5PVFVOSVEiLCAvKiAxNjcgKi8KKwkiRUJBREZEIiwgLyogMTY4ICovCisJIkVSRU1DSEciLCAvKiAxNjkgKi8KKwkiRUxJQkFDQyIsIC8qIDE3MCAqLworCSJFTElCQkFEIiwgLyogMTcxICovCisJIkVMSUJTQ04iLCAvKiAxNzIgKi8KKwkiRUxJQk1BWCIsIC8qIDE3MyAqLworCSJFTElCRVhFQyIsIC8qIDE3NCAqLworCSJFUkVTVEFSVCIsIC8qIDE3NSAqLworCSJFU1RSUElQRSIsIC8qIDE3NiAqLworCSJFVUNMRUFOIiwgLyogMTc3ICovCisJIkVOT1ROQU0iLCAvKiAxNzggKi8KKwkiRU5BVkFJTCIsIC8qIDE3OSAqLworCSJFSVNOQU0iLCAvKiAxODAgKi8KKwkiRVJFTU9URUlPIiwgLyogMTgxICovCisJIkVOT01FRElVTSIsIC8qIDE4MiAqLworCSJFTUVESVVNVFlQRSIsIC8qIDE4MyAqLworCSJFUlJOT18xODQiLCAvKiAxODQgKi8KKwkiRVJSTk9fMTg1IiwgLyogMTg1ICovCisJIkVSUk5PXzE4NiIsIC8qIDE4NiAqLworCSJFUlJOT18xODciLCAvKiAxODcgKi8KKwkiRVJSTk9fMTg4IiwgLyogMTg4ICovCisJIkVSUk5PXzE4OSIsIC8qIDE4OSAqLworCSJFUlJOT18xOTAiLCAvKiAxOTAgKi8KKwkiRVJSTk9fMTkxIiwgLyogMTkxICovCisJIkVSUk5PXzE5MiIsIC8qIDE5MiAqLworCSJFUlJOT18xOTMiLCAvKiAxOTMgKi8KKwkiRVJSTk9fMTk0IiwgLyogMTk0ICovCisJIkVSUk5PXzE5NSIsIC8qIDE5NSAqLworCSJFUlJOT18xOTYiLCAvKiAxOTYgKi8KKwkiRVJSTk9fMTk3IiwgLyogMTk3ICovCisJIkVSUk5PXzE5OCIsIC8qIDE5OCAqLworCSJFUlJOT18xOTkiLCAvKiAxOTkgKi8KKwkiRVJSTk9fMjAwIiwgLyogMjAwICovCisJIkVSUk5PXzIwMSIsIC8qIDIwMSAqLworCSJFUlJOT18yMDIiLCAvKiAyMDIgKi8KKwkiRVJSTk9fMjAzIiwgLyogMjAzICovCisJIkVSUk5PXzIwNCIsIC8qIDIwNCAqLworCSJFUlJOT18yMDUiLCAvKiAyMDUgKi8KKwkiRVJSTk9fMjA2IiwgLyogMjA2ICovCisJIkVSUk5PXzIwNyIsIC8qIDIwNyAqLworCSJFUlJOT18yMDgiLCAvKiAyMDggKi8KKwkiRVJSTk9fMjA5IiwgLyogMjA5ICovCisJIkVSUk5PXzIxMCIsIC8qIDIxMCAqLworCSJFUlJOT18yMTEiLCAvKiAyMTEgKi8KKwkiRVJSTk9fMjEyIiwgLyogMjEyICovCisJIkVSUk5PXzIxMyIsIC8qIDIxMyAqLworCSJFUlJOT18yMTQiLCAvKiAyMTQgKi8KKwkiRU5PU1lNIiwgLyogMjE1ICovCisJIkVOT1RTT0NLIiwgLyogMjE2ICovCisJIkVERVNUQUREUlJFUSIsIC8qIDIxNyAqLworCSJFTVNHU0laRSIsIC8qIDIxOCAqLworCSJFUFJPVE9UWVBFIiwgLyogMjE5ICovCisJIkVOT1BST1RPT1BUIiwgLyogMjIwICovCisJIkVQUk9UT05PU1VQUE9SVCIsIC8qIDIyMSAqLworCSJFU09DS1ROT1NVUFBPUlQiLCAvKiAyMjIgKi8KKwkiRU9QTk9UU1VQUCIsIC8qIDIyMyAqLworCSJFUEZOT1NVUFBPUlQiLCAvKiAyMjQgKi8KKwkiRUFGTk9TVVBQT1JUIiwgLyogMjI1ICovCisJIkVBRERSSU5VU0UiLCAvKiAyMjYgKi8KKwkiRUFERFJOT1RBVkFJTCIsIC8qIDIyNyAqLworCSJFTkVURE9XTiIsIC8qIDIyOCAqLworCSJFTkVUVU5SRUFDSCIsIC8qIDIyOSAqLworCSJFTkVUUkVTRVQiLCAvKiAyMzAgKi8KKwkiRUNPTk5BQk9SVEVEIiwgLyogMjMxICovCisJIkVDT05OUkVTRVQiLCAvKiAyMzIgKi8KKwkiRU5PQlVGUyIsIC8qIDIzMyAqLworCSJFSVNDT05OIiwgLyogMjM0ICovCisJIkVOT1RDT05OIiwgLyogMjM1ICovCisJIkVTSFVURE9XTiIsIC8qIDIzNiAqLworCSJFVE9PTUFOWVJFRlMiLCAvKiAyMzcgKi8KKwkiRVRJTUVET1VUIiwgLyogMjM4ICovCisJIkVDT05OUkVGVVNFRCIsIC8qIDIzOSAqLworCSJFUkVNT1RFUkVMRUFTRSIsIC8qIDI0MCAqLworCSJFSE9TVERPV04iLCAvKiAyNDEgKi8KKwkiRUhPU1RVTlJFQUNIIiwgLyogMjQyICovCisJIkVSUk5PXzI0MyIsIC8qIDI0MyAqLworCSJFQUxSRUFEWSIsIC8qIDI0NCAqLworCSJFSU5QUk9HUkVTUyIsIC8qIDI0NSAqLworCSJFV09VTERCTE9DSyIsIC8qIDI0NiAqLworCSJFTk9URU1QVFkiLCAvKiAyNDcgKi8KKwkiRU5BTUVUT09MT05HIiwgLyogMjQ4ICovCisJIkVMT09QIiwgLyogMjQ5ICovCisJIkVSUk5PXzI1MCIsIC8qIDI1MCAqLworCSJFTk9TWVMiLCAvKiAyNTEgKi8KKwkiRU5PVFNVUCIsIC8qIDI1MiAqLworCSJFQ0FOQ0VMTEVEIiwgLyogMjUzICovCmRpZmYgLS1naXQgYS9zdHJhY2UtNC41LjIwL2xpbnV4L2hwcGEvaW9jdGxlbnQuaCBiL3N0cmFjZS00LjUuMjAvbGludXgvaHBwYS9pb2N0bGVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdkZGFhZjUKLS0tIC9kZXYvbnVsbAorKysgYi9zdHJhY2UtNC41LjIwL2xpbnV4L2hwcGEvaW9jdGxlbnQuaApAQCAtMCwwICsxLDc3OSBAQAorCXsibGludXgvZnMuaCIsCSJGSUJNQVAiLAkweDF9LAorCXsibGludXgvZnMuaCIsCSJGSUdFVEJTWiIsCTB4Mn0sCisJeyJsaW51eC9mZC5oIiwJIkZER0VUUFJNIiwJMHgyMDR9LAorCXsibGludXgvZmQuaCIsCSJGREdFVE1BWEVSUlMiLAkweDIwZX0sCisJeyJsaW51eC9mZC5oIiwJIkZER0VURFJWVFlQIiwJMHgyMGZ9LAorCXsibGludXgvZmQuaCIsCSJGREdFVERSVlBSTSIsCTB4MjExfSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRHRVREUlZTVEFUIiwJMHgyMTJ9LAorCXsibGludXgvZmQuaCIsCSJGRFBPTExEUlZTVEFUIiwJMHgyMTN9LAorCXsibGludXgvZmQuaCIsCSJGREdFVEZEQ1NUQVQiLAkweDIxNX0sCisJeyJsaW51eC9mZC5oIiwJIkZEV0VSUk9SR0VUIiwJMHgyMTd9LAorCXsibGludXgvZmQuaCIsCSJGRENMUlBSTSIsCTB4MjQxfSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRTRVRQUk0iLAkweDI0Mn0sCisJeyJsaW51eC9mZC5oIiwJIkZEREVGUFJNIiwJMHgyNDN9LAorCXsibGludXgvZmQuaCIsCSJGRE1TR09OIiwJMHgyNDV9LAorCXsibGludXgvZmQuaCIsCSJGRE1TR09GRiIsCTB4MjQ2fSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRGTVRCRUciLAkweDI0N30sCisJeyJsaW51eC9mZC5oIiwJIkZERk1UVFJLIiwJMHgyNDh9LAorCXsibGludXgvZmQuaCIsCSJGREZNVEVORCIsCTB4MjQ5fSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRTRVRFTVNHVFJFU0giLAkweDI0YX0sCisJeyJsaW51eC9mZC5oIiwJIkZERkxVU0giLAkweDI0Yn0sCisJeyJsaW51eC9mZC5oIiwJIkZEU0VUTUFYRVJSUyIsCTB4MjRjfSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRSRVNFVCIsCTB4MjU0fSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRXRVJST1JDTFIiLAkweDI1Nn0sCisJeyJsaW51eC9mZC5oIiwJIkZEUkFXQ01EIiwJMHgyNTh9LAorCXsibGludXgvZmQuaCIsCSJGRFRXQURETEUiLAkweDI1OX0sCisJeyJsaW51eC9mZC5oIiwJIkZERUpFQ1QiLAkweDI1YX0sCisJeyJsaW51eC9mZC5oIiwJIkZEU0VURFJWUFJNIiwJMHgyOTB9LAorCXsibGludXgvdW1zZG9zX2ZzLmgiLAkiVU1TRE9TX1JFQURESVJfRE9TIiwJMHg0ZDJ9LAorCXsibGludXgvdW1zZG9zX2ZzLmgiLAkiVU1TRE9TX1VOTElOS19ET1MiLAkweDRkM30sCisJeyJsaW51eC91bXNkb3NfZnMuaCIsCSJVTVNET1NfUk1ESVJfRE9TIiwJMHg0ZDR9LAorCXsibGludXgvdW1zZG9zX2ZzLmgiLAkiVU1TRE9TX1NUQVRfRE9TIiwJMHg0ZDV9LAorCXsibGludXgvdW1zZG9zX2ZzLmgiLAkiVU1TRE9TX0NSRUFUX0VNRCIsCTB4NGQ2fSwKKwl7ImxpbnV4L3Vtc2Rvc19mcy5oIiwJIlVNU0RPU19VTkxJTktfRU1EIiwJMHg0ZDd9LAorCXsibGludXgvdW1zZG9zX2ZzLmgiLAkiVU1TRE9TX1JFQURESVJfRU1EIiwJMHg0ZDh9LAorCXsibGludXgvdW1zZG9zX2ZzLmgiLAkiVU1TRE9TX0dFVFZFUlNJT04iLAkweDRkOX0sCisJeyJsaW51eC91bXNkb3NfZnMuaCIsCSJVTVNET1NfSU5JVF9FTUQiLAkweDRkYX0sCisJeyJsaW51eC91bXNkb3NfZnMuaCIsCSJVTVNET1NfRE9TX1NFVFVQIiwJMHg0ZGJ9LAorCXsibGludXgvdW1zZG9zX2ZzLmgiLAkiVU1TRE9TX1JFTkFNRV9ET1MiLAkweDRkY30sCisJeyJsaW51eC9mcy5oIiwJIkJMS1JPU0VUIiwJMHgxMjVkfSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLUk9HRVQiLAkweDEyNWV9LAorCXsibGludXgvZnMuaCIsCSJCTEtSUlBBUlQiLAkweDEyNWZ9LAorCXsibGludXgvZnMuaCIsCSJCTEtHRVRTSVpFIiwJMHgxMjYwfSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLRkxTQlVGIiwJMHgxMjYxfSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLUkFTRVQiLAkweDEyNjJ9LAorCXsibGludXgvZnMuaCIsCSJCTEtSQUdFVCIsCTB4MTI2M30sCisJeyJsaW51eC9mcy5oIiwJIkJMS0ZSQVNFVCIsCTB4MTI2NH0sCisJeyJsaW51eC9mcy5oIiwJIkJMS0ZSQUdFVCIsCTB4MTI2NX0sCisJeyJsaW51eC9mcy5oIiwJIkJMS1NFQ1RTRVQiLAkweDEyNjZ9LAorCXsibGludXgvZnMuaCIsCSJCTEtTRUNUR0VUIiwJMHgxMjY3fSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLU1NaR0VUIiwJMHgxMjY4fSwKKwl7ImxpbnV4L2Jsa3BnLmgiLAkiQkxLUEciLAkweDEyNjl9LAorCXsibGludXgvZnMuaCIsCSJCTEtQRyIsCTB4MTI2OX0sCisJeyJsaW51eC9lbGV2YXRvci5oIiwJIkJMS0VMVkdFVCIsCTB4MTI2YX0sCisJeyJsaW51eC9mcy5oIiwJIkJMS0VMVkdFVCIsCTB4MTI2YX0sCisJeyJsaW51eC9lbGV2YXRvci5oIiwJIkJMS0VMVlNFVCIsCTB4MTI2Yn0sCisJeyJsaW51eC9mcy5oIiwJIkJMS0VMVlNFVCIsCTB4MTI2Yn0sCisJeyJsaW51eC9mcy5oIiwJIkJMS0JTWkdFVCIsCTB4MTI3MH0sCisJeyJsaW51eC9mcy5oIiwJIkJMS0JTWlNFVCIsCTB4MTI3MX0sCisJeyJsaW51eC9mcy5oIiwJIkJMS0dFVFNJWkU2NCIsCTB4MTI3Mn0sCisJeyJsaW51eC9hZ3BnYXJ0LmgiLAkiQUdQSU9DX0lORk8iLAkweDQxMDB9LAorCXsibGludXgvYWdwZ2FydC5oIiwJIkFHUElPQ19BQ1FVSVJFIiwJMHg0MTAxfSwKKwl7ImxpbnV4L2FwbV9iaW9zLmgiLAkiQVBNX0lPQ19TVEFOREJZIiwJMHg0MTAxfSwKKwl7ImxpbnV4L2FncGdhcnQuaCIsCSJBR1BJT0NfUkVMRUFTRSIsCTB4NDEwMn0sCisJeyJsaW51eC9hcG1fYmlvcy5oIiwJIkFQTV9JT0NfU1VTUEVORCIsCTB4NDEwMn0sCisJeyJsaW51eC9hZ3BnYXJ0LmgiLAkiQUdQSU9DX1NFVFVQIiwJMHg0MTAzfSwKKwl7ImxpbnV4L2FncGdhcnQuaCIsCSJBR1BJT0NfUkVTRVJWRSIsCTB4NDEwNH0sCisJeyJsaW51eC9hZ3BnYXJ0LmgiLAkiQUdQSU9DX1BST1RFQ1QiLAkweDQxMDV9LAorCXsibGludXgvYWdwZ2FydC5oIiwJIkFHUElPQ19BTExPQ0FURSIsCTB4NDEwNn0sCisJeyJsaW51eC9hZ3BnYXJ0LmgiLAkiQUdQSU9DX0RFQUxMT0NBVEUiLAkweDQxMDd9LAorCXsibGludXgvYWdwZ2FydC5oIiwJIkFHUElPQ19CSU5EIiwJMHg0MTA4fSwKKwl7ImxpbnV4L2FncGdhcnQuaCIsCSJBR1BJT0NfVU5CSU5EIiwJMHg0MTA5fSwKKwl7ImxpbnV4L3BtdS5oIiwJIlBNVV9JT0NfU0xFRVAiLAkweDQyMDB9LAorCXsibGludXgvY2Npc3NfaW9jdGwuaCIsCSJDQ0lTU19HRVRQQ0lJTkZPIiwJMHg0MjAxfSwKKwl7ImxpbnV4L3BtdS5oIiwJIlBNVV9JT0NfR0VUX0JBQ0tMSUdIVCIsCTB4NDIwMX0sCisJeyJsaW51eC9jY2lzc19pb2N0bC5oIiwJIkNDSVNTX0dFVElOVElORk8iLAkweDQyMDJ9LAorCXsibGludXgvcG11LmgiLAkiUE1VX0lPQ19TRVRfQkFDS0xJR0hUIiwJMHg0MjAyfSwKKwl7ImxpbnV4L2NjaXNzX2lvY3RsLmgiLAkiQ0NJU1NfU0VUSU5USU5GTyIsCTB4NDIwM30sCisJeyJsaW51eC9wbXUuaCIsCSJQTVVfSU9DX0dFVF9NT0RFTCIsCTB4NDIwM30sCisJeyJsaW51eC9jY2lzc19pb2N0bC5oIiwJIkNDSVNTX0dFVE5PREVOQU1FIiwJMHg0MjA0fSwKKwl7ImxpbnV4L3BtdS5oIiwJIlBNVV9JT0NfSEFTX0FEQiIsCTB4NDIwNH0sCisJeyJsaW51eC9jY2lzc19pb2N0bC5oIiwJIkNDSVNTX1NFVE5PREVOQU1FIiwJMHg0MjA1fSwKKwl7ImxpbnV4L3BtdS5oIiwJIlBNVV9JT0NfQ0FOX1NMRUVQIiwJMHg0MjA1fSwKKwl7ImxpbnV4L2NjaXNzX2lvY3RsLmgiLAkiQ0NJU1NfR0VUSEVBUlRCRUFUIiwJMHg0MjA2fSwKKwl7ImxpbnV4L2NjaXNzX2lvY3RsLmgiLAkiQ0NJU1NfR0VUQlVTVFlQRVMiLAkweDQyMDd9LAorCXsibGludXgvY2Npc3NfaW9jdGwuaCIsCSJDQ0lTU19HRVRGSVJNVkVSIiwJMHg0MjA4fSwKKwl7ImxpbnV4L2NjaXNzX2lvY3RsLmgiLAkiQ0NJU1NfR0VURFJJVlZFUiIsCTB4NDIwOX0sCisJeyJsaW51eC9jY2lzc19pb2N0bC5oIiwJIkNDSVNTX1JFVkFMSURWT0xTIiwJMHg0MjBhfSwKKwl7ImxpbnV4L2NjaXNzX2lvY3RsLmgiLAkiQ0NJU1NfUEFTU1RIUlUiLAkweDQyMGJ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0NPUFJfUkVTRVQiLAkweDQzMDB9LAorCXsibGludXgvY2FwaS5oIiwJIkNBUElfUkVHSVNURVIiLAkweDQzMDF9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0NPUFJfTE9BRCIsCTB4NDMwMX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfQ09QUl9SREFUQSIsCTB4NDMwMn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfQ09QUl9SQ09ERSIsCTB4NDMwM30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfQ09QUl9XREFUQSIsCTB4NDMwNH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfQ09QUl9XQ09ERSIsCTB4NDMwNX0sCisJeyJsaW51eC9jYXBpLmgiLAkiQ0FQSV9HRVRfTUFOVUZBQ1RVUkVSIiwJMHg0MzA2fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9DT1BSX1JVTiIsCTB4NDMwNn0sCisJeyJsaW51eC9jYXBpLmgiLAkiQ0FQSV9HRVRfVkVSU0lPTiIsCTB4NDMwN30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfQ09QUl9IQUxUIiwJMHg0MzA3fSwKKwl7ImxpbnV4L2NhcGkuaCIsCSJDQVBJX0dFVF9TRVJJQUwiLAkweDQzMDh9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0NPUFJfU0VORE1TRyIsCTB4NDMwOH0sCisJeyJsaW51eC9jYXBpLmgiLAkiQ0FQSV9HRVRfUFJPRklMRSIsCTB4NDMwOX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfQ09QUl9SQ1ZNU0ciLAkweDQzMDl9LAorCXsibGludXgvY2FwaS5oIiwJIkNBUElfTUFOVUZBQ1RVUkVSX0NNRCIsCTB4NDMyMH0sCisJeyJsaW51eC9jYXBpLmgiLAkiQ0FQSV9HRVRfRVJSQ09ERSIsCTB4NDMyMX0sCisJeyJsaW51eC9jYXBpLmgiLAkiQ0FQSV9JTlNUQUxMRUQiLAkweDQzMjJ9LAorCXsibGludXgvY2FwaS5oIiwJIkNBUElfR0VUX0ZMQUdTIiwJMHg0MzIzfSwKKwl7ImxpbnV4L2NhcGkuaCIsCSJDQVBJX1NFVF9GTEFHUyIsCTB4NDMyNH0sCisJeyJsaW51eC9jYXBpLmgiLAkiQ0FQSV9DTFJfRkxBR1MiLAkweDQzMjV9LAorCXsibGludXgvY2FwaS5oIiwJIkNBUElfTkNDSV9PUEVOQ09VTlQiLAkweDQzMjZ9LAorCXsibGludXgvY2FwaS5oIiwJIkNBUElfTkNDSV9HRVRVTklUIiwJMHg0MzI3fSwKKwl7ImxpbnV4L2lucHV0LmgiLAkiRVZJT0NHVkVSU0lPTiIsCTB4NDUwMX0sCisJeyJsaW51eC9pbnB1dC5oIiwJIkVWSU9DR0lEIiwJMHg0NTAyfSwKKwl7ImxpbnV4L2lucHV0LmgiLAkiRVZJT0NHUkVQIiwJMHg0NTAzfSwKKwl7ImxpbnV4L2lucHV0LmgiLAkiRVZJT0NTUkVQIiwJMHg0NTAzfSwKKwl7ImxpbnV4L2lucHV0LmgiLAkiRVZJT0NHS0VZQ09ERSIsCTB4NDUwNH0sCisJeyJsaW51eC9pbnB1dC5oIiwJIkVWSU9DU0tFWUNPREUiLAkweDQ1MDR9LAorCXsibGludXgvaW5wdXQuaCIsCSJFVklPQ0dLRVkiLAkweDQ1MDV9LAorCXsibGludXgvaW5wdXQuaCIsCSJFVklPQ0dCVVMiLAkweDQ1MDd9LAorCXsibGludXgvaW5wdXQuaCIsCSJFVklPQ1JNRkYiLAkweDQ1ODF9LAorCXsibGludXgvaW5wdXQuaCIsCSJFVklPQ1NHQUlOIiwJMHg0NTgyfSwKKwl7ImxpbnV4L2lucHV0LmgiLAkiRVZJT0NTQVVUT0NFTlRFUiIsCTB4NDU4M30sCisJeyJsaW51eC9pbnB1dC5oIiwJIkVWSU9DR0VGRkVDVFMiLAkweDQ1ODR9LAorCXsibGludXgvZmIuaCIsCSJGQklPR0VUX1ZCTEFOSyIsCTB4NDYxMn0sCisJeyJsaW51eC9oaWRkZXYuaCIsCSJISURJT0NHVkVSU0lPTiIsCTB4NDgwMX0sCisJeyJsaW51eC9oaWRkZXYuaCIsCSJISURJT0NBUFBMSUNBVElPTiIsCTB4NDgwMn0sCisJeyJsaW51eC9oaWRkZXYuaCIsCSJISURJT0NHREVWSU5GTyIsCTB4NDgwM30sCisJeyJsaW51eC9oaWRkZXYuaCIsCSJISURJT0NHU1RSSU5HIiwJMHg0ODA0fSwKKwl7ImxpbnV4L2hpZGRldi5oIiwJIkhJRElPQ0lOSVRSRVBPUlQiLAkweDQ4MDV9LAorCXsibGludXgvaGlkZGV2LmgiLAkiSElESU9DR1JFUE9SVCIsCTB4NDgwN30sCisJeyJsaW51eC9oaWRkZXYuaCIsCSJISURJT0NTUkVQT1JUIiwJMHg0ODA4fSwKKwl7ImxpbnV4L2hpZGRldi5oIiwJIkhJRElPQ0dSRVBPUlRJTkZPIiwJMHg0ODA5fSwKKwl7ImxpbnV4L2hpZGRldi5oIiwJIkhJRElPQ0dGSUVMRElORk8iLAkweDQ4MGF9LAorCXsibGludXgvaGlkZGV2LmgiLAkiSElESU9DR1VTQUdFIiwJMHg0ODBifSwKKwl7ImxpbnV4L2hpZGRldi5oIiwJIkhJRElPQ1NVU0FHRSIsCTB4NDgwY30sCisJeyJsaW51eC9oaWRkZXYuaCIsCSJISURJT0NHVUNPREUiLAkweDQ4MGR9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRBSUYiLAkweDQ5MDF9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRESUYiLAkweDQ5MDJ9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRTQ0YiLAkweDQ5MDN9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRHQ0YiLAkweDQ5MDR9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRBTk0iLAkweDQ5MDV9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRETk0iLAkweDQ5MDZ9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRHTk0iLAkweDQ5MDd9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NHRVRTRVQiLAkweDQ5MDh9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NTRVRTRVQiLAkweDQ5MDl9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NTRVRWRVIiLAkweDQ5MGF9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRIVVAiLAkweDQ5MGJ9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NTRVRHU1QiLAkweDQ5MGN9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NTRVRCUkoiLAkweDQ5MGR9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NTSUdQUkYiLAkweDQ5MGV9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NHRVRQUkYiLAkweDQ5MGZ9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NTRVRQUkYiLAkweDQ5MTB9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NHRVRNQVAiLAkweDQ5MTF9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NTRVRNQVAiLAkweDQ5MTJ9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRBU0wiLAkweDQ5MTN9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRESUwiLAkweDQ5MTR9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NHRVRDUFMiLAkweDQ5MTV9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NHRVREVlIiLAkweDQ5MTZ9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRMQ1IiLAkweDQ5MTd9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVREV1JTRVQiLAkweDQ5MTh9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRBTE4iLAkweDQ5MjB9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRETE4iLAkweDQ5MjF9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRHUE4iLAkweDQ5MjJ9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NEQkdWQVIiLAkweDQ5N2Z9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NEUlZDVEwiLAkweDQ5ODB9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfTUlYRVJfSU5GTyIsCTB4NGQ2NX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9PTERfTUlYRVJfSU5GTyIsCTB4NGQ2NX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9NSVhFUl9BQ0NFU1MiLAkweDRkNjZ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfTUlYRVJfQUdDIiwJMHg0ZDY3fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNPVU5EX01JWEVSXzNEU0UiLAkweDRkNjh9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfTUlYRVJfUFJJVkFURTEiLAkweDRkNmZ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfTUlYRVJfUFJJVkFURTIiLAkweDRkNzB9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfTUlYRVJfUFJJVkFURTMiLAkweDRkNzF9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfTUlYRVJfUFJJVkFURTQiLAkweDRkNzJ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfTUlYRVJfUFJJVkFURTUiLAkweDRkNzN9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfTUlYRVJfR0VUTEVWRUxTIiwJMHg0ZDc0fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNPVU5EX01JWEVSX1NFVExFVkVMUyIsCTB4NGQ3NX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJPU1NfR0VUVkVSU0lPTiIsCTB4NGQ3Nn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX1JFU0VUIiwJMHg1MDAwfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfU1lOQyIsCTB4NTAwMX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX1NQRUVEIiwJMHg1MDAyfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNPVU5EX1BDTV9SRUFEX1JBVEUiLAkweDUwMDJ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9TVEVSRU8iLAkweDUwMDN9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9HRVRCTEtTSVpFIiwJMHg1MDA0fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfU0VURk1UIiwJMHg1MDA1fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNPVU5EX1BDTV9SRUFEX0JJVFMiLAkweDUwMDV9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9DSEFOTkVMUyIsCTB4NTAwNn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9QQ01fUkVBRF9DSEFOTkVMUyIsCTB4NTAwNn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9QQ01fV1JJVEVfRklMVEVSIiwJMHg1MDA3fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNPVU5EX1BDTV9SRUFEX0ZJTFRFUiIsCTB4NTAwN30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX1BPU1QiLAkweDUwMDh9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9TVUJESVZJREUiLAkweDUwMDl9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9TRVRGUkFHTUVOVCIsCTB4NTAwYX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX0dFVEZNVFMiLAkweDUwMGJ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9HRVRPU1BBQ0UiLAkweDUwMGN9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9HRVRJU1BBQ0UiLAkweDUwMGR9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9OT05CTE9DSyIsCTB4NTAwZX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX0dFVENBUFMiLAkweDUwMGZ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9HRVRUUklHR0VSIiwJMHg1MDEwfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfU0VUVFJJR0dFUiIsCTB4NTAxMH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX0dFVElQVFIiLAkweDUwMTF9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9HRVRPUFRSIiwJMHg1MDEyfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfTUFQSU5CVUYiLAkweDUwMTN9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9NQVBPVVRCVUYiLAkweDUwMTR9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9TRVRTWU5DUk8iLAkweDUwMTV9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9TRVREVVBMRVgiLAkweDUwMTZ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9HRVRPREVMQVkiLAkweDUwMTd9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9QUk9GSUxFIiwJMHg1MDE3fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfR0VUQ0hBTk5FTE1BU0siLAkweDUwNDB9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9CSU5EX0NIQU5ORUwiLAkweDUwNDF9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9TRVRTUERJRiIsCTB4NTA0Mn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX0dFVFNQRElGIiwJMHg1MDQzfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TRVFfUkVTRVQiLAkweDUxMDB9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NFUV9TWU5DIiwJMHg1MTAxfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TWU5USF9JTkZPIiwJMHg1MTAyfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TRVFfQ1RSTFJBVEUiLAkweDUxMDN9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NFUV9HRVRPVVRDT1VOVCIsCTB4NTEwNH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU0VRX0dFVElOQ09VTlQiLAkweDUxMDV9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NFUV9QRVJDTU9ERSIsCTB4NTEwNn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRk1fTE9BRF9JTlNUUiIsCTB4NTEwN30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU0VRX1RFU1RNSURJIiwJMHg1MTA4fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TRVFfUkVTRVRTQU1QTEVTIiwJMHg1MTA5fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TRVFfTlJTWU5USFMiLAkweDUxMGF9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NFUV9OUk1JRElTIiwJMHg1MTBifSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9NSURJX0lORk8iLAkweDUxMGN9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NFUV9USFJFU0hPTEQiLAkweDUxMGR9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NZTlRIX01FTUFWTCIsCTB4NTEwZX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRk1fNE9QX0VOQUJMRSIsCTB4NTEwZn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU0VRX1BBTklDIiwJMHg1MTExfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TRVFfT1VUT0ZCQU5EIiwJMHg1MTEyfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TRVFfR0VUVElNRSIsCTB4NTExM30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU1lOVEhfSUQiLAkweDUxMTR9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NZTlRIX0NPTlRST0wiLAkweDUxMTV9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NZTlRIX1JFTU9WRVNBTVBMRSIsCTB4NTExNn0sCisJeyJsaW51eC9yYW5kb20uaCIsCSJSTkRHRVRFTlRDTlQiLAkweDUyMDB9LAorCXsibGludXgvcmFuZG9tLmgiLAkiUk5EQUREVE9FTlRDTlQiLAkweDUyMDF9LAorCXsibGludXgvcmFuZG9tLmgiLAkiUk5ER0VUUE9PTCIsCTB4NTIwMn0sCisJeyJsaW51eC9yYW5kb20uaCIsCSJSTkRBRERFTlRST1BZIiwJMHg1MjAzfSwKKwl7ImxpbnV4L3JhbmRvbS5oIiwJIlJORFpBUEVOVENOVCIsCTB4NTIwNH0sCisJeyJsaW51eC9yYW5kb20uaCIsCSJSTkRDTEVBUlBPT0wiLAkweDUyMDZ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1RNUl9USU1FQkFTRSIsCTB4NTQwMX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfVE1SX1NUQVJUIiwJMHg1NDAyfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9UTVJfU1RPUCIsCTB4NTQwM30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfVE1SX0NPTlRJTlVFIiwJMHg1NDA0fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9UTVJfVEVNUE8iLAkweDU0MDV9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1RNUl9TT1VSQ0UiLAkweDU0MDZ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1RNUl9NRVRST05PTUUiLAkweDU0MDd9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1RNUl9TRUxFQ1QiLAkweDU0MDh9LAorCXsibGludXgvaWZfdHVuLmgiLAkiVFVOU0VUTk9DU1VNIiwJMHg1NGM4fSwKKwl7ImxpbnV4L2lmX3R1bi5oIiwJIlRVTlNFVERFQlVHIiwJMHg1NGM5fSwKKwl7ImxpbnV4L2lmX3R1bi5oIiwJIlRVTlNFVElGRiIsCTB4NTRjYX0sCisJeyJsaW51eC9pZl90dW4uaCIsCSJUVU5TRVRQRVJTSVNUIiwJMHg1NGNifSwKKwl7ImxpbnV4L2lmX3R1bi5oIiwJIlRVTlNFVE9XTkVSIiwJMHg1NGNjfSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX0NPTlRST0wiLAkweDU1MDB9LAorCXsibGludXgvdXNiZGV2aWNlX2ZzLmgiLAkiVVNCREVWRlNfQlVMSyIsCTB4NTUwMn0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19SRVNFVEVQIiwJMHg1NTAzfSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX1NFVElOVEVSRkFDRSIsCTB4NTUwNH0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19TRVRDT05GSUdVUkFUSU9OIiwJMHg1NTA1fSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX0dFVERSSVZFUiIsCTB4NTUwOH0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19TVUJNSVRVUkIiLAkweDU1MGF9LAorCXsibGludXgvdXNiZGV2aWNlX2ZzLmgiLAkiVVNCREVWRlNfRElTQ0FSRFVSQiIsCTB4NTUwYn0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19SRUFQVVJCIiwJMHg1NTBjfSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX1JFQVBVUkJOREVMQVkiLAkweDU1MGR9LAorCXsibGludXgvdXNiZGV2aWNlX2ZzLmgiLAkiVVNCREVWRlNfRElTQ1NJR05BTCIsCTB4NTUwZX0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19DTEFJTUlOVEVSRkFDRSIsCTB4NTUwZn0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19SRUxFQVNFSU5URVJGQUNFIiwJMHg1NTEwfSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX0NPTk5FQ1RJTkZPIiwJMHg1NTExfSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX0lPQ1RMIiwJMHg1NTEyfSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX0hVQl9QT1JUSU5GTyIsCTB4NTUxM30sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19SRVNFVCIsCTB4NTUxNH0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19DTEVBUl9IQUxUIiwJMHg1NTE1fSwKKwl7ImxpbnV4L3dhdGNoZG9nLmgiLAkiV0RJT0NfR0VUU1VQUE9SVCIsCTB4NTcwMH0sCisJeyJsaW51eC93YXRjaGRvZy5oIiwJIldESU9DX0dFVFNUQVRVUyIsCTB4NTcwMX0sCisJeyJsaW51eC93YXRjaGRvZy5oIiwJIldESU9DX0dFVEJPT1RTVEFUVVMiLAkweDU3MDJ9LAorCXsibGludXgvd2F0Y2hkb2cuaCIsCSJXRElPQ19HRVRURU1QIiwJMHg1NzAzfSwKKwl7ImxpbnV4L3dhdGNoZG9nLmgiLAkiV0RJT0NfU0VUT1BUSU9OUyIsCTB4NTcwNH0sCisJeyJsaW51eC93YXRjaGRvZy5oIiwJIldESU9DX0tFRVBBTElWRSIsCTB4NTcwNX0sCisJeyJsaW51eC93YXRjaGRvZy5oIiwJIldESU9DX1NFVFRJTUVPVVQiLAkweDU3MDZ9LAorCXsibGludXgvd2F0Y2hkb2cuaCIsCSJXRElPQ19HRVRUSU1FT1VUIiwJMHg1NzA3fSwKKwl7ImxpbnV4L2l0ZV9ncGlvLmgiLAkiSVRFX0dQSU9fSU4iLAkweDVhMDB9LAorCXsibGludXgvaXRlX2dwaW8uaCIsCSJJVEVfR1BJT19PVVQiLAkweDVhMDF9LAorCXsibGludXgvaXRlX2dwaW8uaCIsCSJJVEVfR1BJT19JTlRfQ1RSTCIsCTB4NWEwMn0sCisJeyJsaW51eC9pdGVfZ3Bpby5oIiwJIklURV9HUElPX0lOX1NUQVRVUyIsCTB4NWEwM30sCisJeyJsaW51eC9pdGVfZ3Bpby5oIiwJIklURV9HUElPX09VVF9TVEFUVVMiLAkweDVhMDR9LAorCXsibGludXgvaXRlX2dwaW8uaCIsCSJJVEVfR1BJT19HRU5fQ1RSTCIsCTB4NWEwNX0sCisJeyJsaW51eC9pdGVfZ3Bpby5oIiwJIklURV9HUElPX0lOVF9XQUlUIiwJMHg1YTA2fSwKKwl7ImxpbnV4L3NvbmV0LmgiLAkiU09ORVRfR0VUU1RBVCIsCTB4NjExMH0sCisJeyJsaW51eC9zb25ldC5oIiwJIlNPTkVUX0dFVFNUQVRaIiwJMHg2MTExfSwKKwl7ImxpbnV4L3NvbmV0LmgiLAkiU09ORVRfU0VURElBRyIsCTB4NjExMn0sCisJeyJsaW51eC9zb25ldC5oIiwJIlNPTkVUX0NMUkRJQUciLAkweDYxMTN9LAorCXsibGludXgvc29uZXQuaCIsCSJTT05FVF9HRVRESUFHIiwJMHg2MTE0fSwKKwl7ImxpbnV4L3NvbmV0LmgiLAkiU09ORVRfU0VURlJBTUlORyIsCTB4NjExNX0sCisJeyJsaW51eC9zb25ldC5oIiwJIlNPTkVUX0dFVEZSQU1JTkciLAkweDYxMTZ9LAorCXsibGludXgvc29uZXQuaCIsCSJTT05FVF9HRVRGUlNFTlNFIiwJMHg2MTE3fSwKKwl7ImxpbnV4L2F0bV9pZHQ3NzEwNS5oIiwJIklEVDc3MTA1X0dFVFNUQVQiLAkweDYxMzJ9LAorCXsibGludXgvYXRtX2lkdDc3MTA1LmgiLAkiSURUNzcxMDVfR0VUU1RBVFoiLAkweDYxMzN9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX0dFVFNUQVQiLAkweDYxNTB9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX0dFVFNUQVRaIiwJMHg2MTUxfSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9HRVRMT09QIiwJMHg2MTUyfSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9TRVRMT09QIiwJMHg2MTUzfSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9RVUVSWUxPT1AiLAkweDYxNTR9LAorCXsibGludXgvYXRtX2VuaS5oIiwJIkVOSV9NRU1EVU1QIiwJMHg2MTYwfSwKKwl7ImxpbnV4L2F0bV9uaWNzdGFyLmgiLAkiTlNfR0VUUFNUQVQiLAkweDYxNjF9LAorCXsibGludXgvYXRtX3phdG0uaCIsCSJaQVRNX0dFVFBPT0wiLAkweDYxNjF9LAorCXsibGludXgvYXRtX25pY3N0YXIuaCIsCSJOU19TRVRCVUZMRVYiLAkweDYxNjJ9LAorCXsibGludXgvYXRtX3phdG0uaCIsCSJaQVRNX0dFVFBPT0xaIiwJMHg2MTYyfSwKKwl7ImxpbnV4L2F0bV9uaWNzdGFyLmgiLAkiTlNfQURKQlVGTEVWIiwJMHg2MTYzfSwKKwl7ImxpbnV4L2F0bV96YXRtLmgiLAkiWkFUTV9TRVRQT09MIiwJMHg2MTYzfSwKKwl7ImxpbnV4L2F0bV96YXRtLmgiLAkiWkFUTV9HRVRUSElTVCIsCTB4NjE2NH0sCisJeyJsaW51eC9hdG1fZW5pLmgiLAkiRU5JX1NFVE1VTFQiLAkweDYxNjd9LAorCXsibGludXgvYXRtX3RjcC5oIiwJIlNJT0NTSUZBVE1UQ1AiLAkweDYxODB9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX0dFVExJTktSQVRFIiwJMHg2MTgxfSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9HRVROQU1FUyIsCTB4NjE4M30sCisJeyJsaW51eC9hdG1kZXYuaCIsCSJBVE1fR0VUVFlQRSIsCTB4NjE4NH0sCisJeyJsaW51eC9hdG1kZXYuaCIsCSJBVE1fR0VURVNJIiwJMHg2MTg1fSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9HRVRBRERSIiwJMHg2MTg2fSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9SU1RBRERSIiwJMHg2MTg3fSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9BRERBRERSIiwJMHg2MTg4fSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9ERUxBRERSIiwJMHg2MTg5fSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9HRVRDSVJBTkdFIiwJMHg2MThhfSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9TRVRDSVJBTkdFIiwJMHg2MThifSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9TRVRFU0kiLAkweDYxOGN9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX1NFVEVTSUYiLAkweDYxOGR9LAorCXsibGludXgvYXRtX3RjcC5oIiwJIkFUTVRDUF9DUkVBVEUiLAkweDYxOGV9LAorCXsibGludXgvYXRtX3RjcC5oIiwJIkFUTVRDUF9SRU1PVkUiLAkweDYxOGZ9LAorCXsibGludXgvYXRtbGVjLmgiLAkiQVRNTEVDX0NUUkwiLAkweDYxZDB9LAorCXsibGludXgvYXRtbGVjLmgiLAkiQVRNTEVDX0RBVEEiLAkweDYxZDF9LAorCXsibGludXgvYXRtbGVjLmgiLAkiQVRNTEVDX01DQVNUIiwJMHg2MWQyfSwKKwl7ImxpbnV4L2F0bW1wYy5oIiwJIkFUTU1QQ19DVFJMIiwJMHg2MWQ4fSwKKwl7ImxpbnV4L2F0bW1wYy5oIiwJIkFUTU1QQ19EQVRBIiwJMHg2MWQ5fSwKKwl7ImxpbnV4L2F0bWNsaXAuaCIsCSJTSU9DTUtDTElQIiwJMHg2MWUwfSwKKwl7ImxpbnV4L2F0bWFycC5oIiwJIkFUTUFSUERfQ1RSTCIsCTB4NjFlMX0sCisJeyJsaW51eC9hdG1hcnAuaCIsCSJBVE1BUlBfTUtJUCIsCTB4NjFlMn0sCisJeyJsaW51eC9hdG1hcnAuaCIsCSJBVE1BUlBfU0VURU5UUlkiLAkweDYxZTN9LAorCXsibGludXgvYXRtYXJwLmgiLAkiQVRNQVJQX0VOQ0FQIiwJMHg2MWU1fSwKKwl7ImxpbnV4L2F0bXN2Yy5oIiwJIkFUTVNJR0RfQ1RSTCIsCTB4NjFmMH0sCisJeyJsaW51eC9hdG1kZXYuaCIsCSJBVE1fU0VUU0MiLAkweDYxZjF9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX1NFVEJBQ0tFTkQiLAkweDYxZjJ9LAorCXsibGludXgvY29kYS5oIiwJIkNJT0NfS0VSTkVMX1ZFUlNJT04iLAkweDYzMGF9LAorCXsibGludXgvY29tc3RhdHMuaCIsCSJDT01fR0VUUE9SVFNUQVRTIiwJMHg2MzFlfSwKKwl7ImxpbnV4L2NvbXN0YXRzLmgiLAkiQ09NX0NMUlBPUlRTVEFUUyIsCTB4NjMxZn0sCisJeyJsaW51eC9jb21zdGF0cy5oIiwJIkNPTV9HRVRCUkRTVEFUUyIsCTB4NjMyMH0sCisJeyJsaW51eC9jb21zdGF0cy5oIiwJIkNPTV9SRUFEUE9SVCIsCTB4NjMyOH0sCisJeyJsaW51eC9jb21zdGF0cy5oIiwJIkNPTV9SRUFEQk9BUkQiLAkweDYzMjl9LAorCXsibGludXgvY29tc3RhdHMuaCIsCSJDT01fUkVBRFBBTkVMIiwJMHg2MzJhfSwKKwl7ImxpbnV4L2RldmZzX2ZzLmgiLAkiREVWRlNESU9DX0dFVF9QUk9UT19SRVYiLAkweDY0MDB9LAorCXsibGludXgvdmlkZW9fZGVjb2Rlci5oIiwJIkRFQ09ERVJfR0VUX0NBUEFCSUxJVElFUyIsCTB4NjQwMX0sCisJeyJsaW51eC9kZXZmc19mcy5oIiwJIkRFVkZTRElPQ19TRVRfRVZFTlRfTUFTSyIsCTB4NjQwMn0sCisJeyJsaW51eC92aWRlb19kZWNvZGVyLmgiLAkiREVDT0RFUl9HRVRfU1RBVFVTIiwJMHg2NDAyfSwKKwl7ImxpbnV4L2RldmZzX2ZzLmgiLAkiREVWRlNESU9DX1JFTEVBU0VfRVZFTlRfUVVFVUUiLAkweDY0MDN9LAorCXsibGludXgvdmlkZW9fZGVjb2Rlci5oIiwJIkRFQ09ERVJfU0VUX05PUk0iLAkweDY0MDN9LAorCXsibGludXgvZGV2ZnNfZnMuaCIsCSJERVZGU0RJT0NfU0VUX0RFQlVHX01BU0siLAkweDY0MDR9LAorCXsibGludXgvdmlkZW9fZGVjb2Rlci5oIiwJIkRFQ09ERVJfU0VUX0lOUFVUIiwJMHg2NDA0fSwKKwl7ImxpbnV4L3ZpZGVvX2RlY29kZXIuaCIsCSJERUNPREVSX1NFVF9PVVRQVVQiLAkweDY0MDV9LAorCXsibGludXgvdmlkZW9fZGVjb2Rlci5oIiwJIkRFQ09ERVJfRU5BQkxFX09VVFBVVCIsCTB4NjQwNn0sCisJeyJsaW51eC92aWRlb19kZWNvZGVyLmgiLAkiREVDT0RFUl9TRVRfUElDVFVSRSIsCTB4NjQwN30sCisJeyJsaW51eC92aWRlb19kZWNvZGVyLmgiLAkiREVDT0RFUl9EVU1QIiwJMHg2NGMwfSwKKwl7ImxpbnV4L3ZpZGVvX2VuY29kZXIuaCIsCSJFTkNPREVSX0dFVF9DQVBBQklMSVRJRVMiLAkweDY1MDF9LAorCXsibGludXgvdmlkZW9fZW5jb2Rlci5oIiwJIkVOQ09ERVJfU0VUX05PUk0iLAkweDY1MDJ9LAorCXsibGludXgvdmlkZW9fZW5jb2Rlci5oIiwJIkVOQ09ERVJfU0VUX0lOUFVUIiwJMHg2NTAzfSwKKwl7ImxpbnV4L3ZpZGVvX2VuY29kZXIuaCIsCSJFTkNPREVSX1NFVF9PVVRQVVQiLAkweDY1MDR9LAorCXsibGludXgvdmlkZW9fZW5jb2Rlci5oIiwJIkVOQ09ERVJfRU5BQkxFX09VVFBVVCIsCTB4NjUwNX0sCisJeyJsaW51eC9leHQyX2ZzLmgiLAkiRVhUMl9JT0NfR0VURkxBR1MiLAkweDY2MDF9LAorCXsibGludXgvZXh0M19mcy5oIiwJIkVYVDNfSU9DX0dFVEZMQUdTIiwJMHg2NjAxfSwKKwl7ImxpbnV4L2V4dDJfZnMuaCIsCSJFWFQyX0lPQ19TRVRGTEFHUyIsCTB4NjYwMn0sCisJeyJsaW51eC9leHQzX2ZzLmgiLAkiRVhUM19JT0NfU0VURkxBR1MiLAkweDY2MDJ9LAorCXsibGludXgvZXh0M19mcy5oIiwJIkVYVDNfSU9DX0dFVFZFUlNJT04iLAkweDY2MDN9LAorCXsibGludXgvZXh0M19mcy5oIiwJIkVYVDNfSU9DX1NFVFZFUlNJT04iLAkweDY2MDR9LAorCXsibGludXgvZXh0M19mcy5oIiwJIkVYVDNfSU9DX1dBSVRfRk9SX1JFQURPTkxZIiwJMHg2NjYzfSwKKwl7ImxpbnV4L2kyby1kZXYuaCIsCSJJMk9HRVRJT1BTIiwJMHg2OTAwfSwKKwl7ImxpbnV4L2kyby1kZXYuaCIsCSJJMk9IUlRHRVQiLAkweDY5MDF9LAorCXsibGludXgvaTJvLWRldi5oIiwJIkkyT0xDVEdFVCIsCTB4NjkwMn0sCisJeyJsaW51eC9pMm8tZGV2LmgiLAkiSTJPUEFSTVNFVCIsCTB4NjkwM30sCisJeyJsaW51eC9pMm8tZGV2LmgiLAkiSTJPUEFSTUdFVCIsCTB4NjkwNH0sCisJeyJsaW51eC9pMm8tZGV2LmgiLAkiSTJPU1dETCIsCTB4NjkwNX0sCisJeyJsaW51eC9pMm8tZGV2LmgiLAkiSTJPU1dVTCIsCTB4NjkwNn0sCisJeyJsaW51eC9pMm8tZGV2LmgiLAkiSTJPU1dERUwiLAkweDY5MDd9LAorCXsibGludXgvaTJvLWRldi5oIiwJIkkyT1ZBTElEQVRFIiwJMHg2OTA4fSwKKwl7ImxpbnV4L2kyby1kZXYuaCIsCSJJMk9IVE1MIiwJMHg2OTA5fSwKKwl7ImxpbnV4L2kyby1kZXYuaCIsCSJJMk9FVlRSRUciLAkweDY5MGF9LAorCXsibGludXgvaTJvLWRldi5oIiwJIkkyT0VWVEdFVCIsCTB4NjkwYn0sCisJeyJsaW51eC9pOGsuaCIsCSJJOEtfQklPU19WRVJTSU9OIiwJMHg2OTgwfSwKKwl7ImxpbnV4L2k4ay5oIiwJIkk4S19NQUNISU5FX0lEIiwJMHg2OTgxfSwKKwl7ImxpbnV4L2k4ay5oIiwJIkk4S19QT1dFUl9TVEFUVVMiLAkweDY5ODJ9LAorCXsibGludXgvaThrLmgiLAkiSThLX0ZOX1NUQVRVUyIsCTB4Njk4M30sCisJeyJsaW51eC9pOGsuaCIsCSJJOEtfR0VUX1RFTVAiLAkweDY5ODR9LAorCXsibGludXgvaThrLmgiLAkiSThLX0dFVF9TUEVFRCIsCTB4Njk4NX0sCisJeyJsaW51eC9pOGsuaCIsCSJJOEtfR0VUX0ZBTiIsCTB4Njk4Nn0sCisJeyJsaW51eC9pOGsuaCIsCSJJOEtfU0VUX0ZBTiIsCTB4Njk4N30sCisJeyJsaW51eC9qb3lzdGljay5oIiwJIkpTSU9DR1ZFUlNJT04iLAkweDZhMDF9LAorCXsibGludXgvam95c3RpY2suaCIsCSJKU0lPQ0dBWEVTIiwJMHg2YTExfSwKKwl7ImxpbnV4L2pveXN0aWNrLmgiLAkiSlNJT0NHQlVUVE9OUyIsCTB4NmExMn0sCisJeyJsaW51eC9qb3lzdGljay5oIiwJIkpTSU9DU0NPUlIiLAkweDZhMjF9LAorCXsibGludXgvam95c3RpY2suaCIsCSJKU0lPQ0dDT1JSIiwJMHg2YTIyfSwKKwl7ImxpbnV4L2pveXN0aWNrLmgiLAkiSlNJT0NTQVhNQVAiLAkweDZhMzF9LAorCXsibGludXgvam95c3RpY2suaCIsCSJKU0lPQ0dBWE1BUCIsCTB4NmEzMn0sCisJeyJsaW51eC9qb3lzdGljay5oIiwJIkpTSU9DU0JUTk1BUCIsCTB4NmEzM30sCisJeyJsaW51eC9qb3lzdGljay5oIiwJIkpTSU9DR0JUTk1BUCIsCTB4NmEzNH0sCisJeyJsaW51eC91ZGZfZnNfaS5oIiwJIlVERl9HRVRFQVNJWkUiLAkweDZjNDB9LAorCXsibGludXgvdWRmX2ZzX2kuaCIsCSJVREZfR0VURUFCTE9DSyIsCTB4NmM0MX0sCisJeyJsaW51eC91ZGZfZnNfaS5oIiwJIlVERl9HRVRWT0xJREVOVCIsCTB4NmM0Mn0sCisJeyJsaW51eC91ZGZfZnNfaS5oIiwJIlVERl9SRUxPQ0FURV9CTE9DS1MiLAkweDZjNDN9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX01JRElfUFJFVElNRSIsCTB4NmQwMH0sCisJeyJsaW51eC9zeW5jbGluay5oIiwJIk1HU0xfSU9DU1BBUkFNUyIsCTB4NmQwMH0sCisJeyJsaW51eC9tdGlvLmgiLAkiTVRJT0NUT1AiLAkweDZkMDF9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX01JRElfTVBVTU9ERSIsCTB4NmQwMX0sCisJeyJsaW51eC9zeW5jbGluay5oIiwJIk1HU0xfSU9DR1BBUkFNUyIsCTB4NmQwMX0sCisJeyJsaW51eC9tdGlvLmgiLAkiTVRJT0NHRVQiLAkweDZkMDJ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX01JRElfTVBVQ01EIiwJMHg2ZDAyfSwKKwl7ImxpbnV4L3N5bmNsaW5rLmgiLAkiTUdTTF9JT0NTVFhJRExFIiwJMHg2ZDAyfSwKKwl7ImxpbnV4L210aW8uaCIsCSJNVElPQ1BPUyIsCTB4NmQwM30sCisJeyJsaW51eC9zeW5jbGluay5oIiwJIk1HU0xfSU9DR1RYSURMRSIsCTB4NmQwM30sCisJeyJsaW51eC9tdGlvLmgiLAkiTVRJT0NHRVRDT05GSUciLAkweDZkMDR9LAorCXsibGludXgvc3luY2xpbmsuaCIsCSJNR1NMX0lPQ1RYRU5BQkxFIiwJMHg2ZDA0fSwKKwl7ImxpbnV4L210aW8uaCIsCSJNVElPQ1NFVENPTkZJRyIsCTB4NmQwNX0sCisJeyJsaW51eC9zeW5jbGluay5oIiwJIk1HU0xfSU9DUlhFTkFCTEUiLAkweDZkMDV9LAorCXsibGludXgvbXRpby5oIiwJIk1USU9DUkRGVFNFRyIsCTB4NmQwNn0sCisJeyJsaW51eC9zeW5jbGluay5oIiwJIk1HU0xfSU9DVFhBQk9SVCIsCTB4NmQwNn0sCisJeyJsaW51eC9tdGlvLmgiLAkiTVRJT0NXUkZUU0VHIiwJMHg2ZDA3fSwKKwl7ImxpbnV4L3N5bmNsaW5rLmgiLAkiTUdTTF9JT0NHU1RBVFMiLAkweDZkMDd9LAorCXsibGludXgvbXRpby5oIiwJIk1USU9DVk9MSU5GTyIsCTB4NmQwOH0sCisJeyJsaW51eC9zeW5jbGluay5oIiwJIk1HU0xfSU9DV0FJVEVWRU5UIiwJMHg2ZDA4fSwKKwl7ImxpbnV4L210aW8uaCIsCSJNVElPQ0dFVFNJWkUiLAkweDZkMDl9LAorCXsibGludXgvc3luY2xpbmsuaCIsCSJNR1NMX0lPQ0xPT1BUWERPTkUiLAkweDZkMDl9LAorCXsibGludXgvbXRpby5oIiwJIk1USU9DRlRGT1JNQVQiLAkweDZkMGF9LAorCXsibGludXgvbXRpby5oIiwJIk1USU9DRlRDTUQiLAkweDZkMGJ9LAorCXsibGludXgvc3luY2xpbmsuaCIsCSJNR1NMX0lPQ0NMUk1PRENPVU5UIiwJMHg2ZDBmfSwKKwl7ImxpbnV4L3pmdGFwZS5oIiwJIk1USU9DX1pGVEFQRV9HRVRCTEtTWiIsCTB4NmQ2OH0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX05DUFJFUVVFU1QiLAkweDZlMDF9LAorCXsibGludXgvbmNwX2ZzLmgiLAkiTkNQX0lPQ19HRVRNT1VOVFVJRCIsCTB4NmUwMn0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX0dFVE1PVU5UVUlEMiIsCTB4NmUwMn0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX0NPTk5fTE9HR0VEX0lOIiwJMHg2ZTAzfSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfR0VUX0ZTX0lORk8iLAkweDZlMDR9LAorCXsibGludXgvbmNwX2ZzLmgiLAkiTkNQX0lPQ19HRVRfRlNfSU5GT19WMiIsCTB4NmUwNH0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX1NJR05fSU5JVCIsCTB4NmUwNX0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX1NJR05fV0FOVEVEIiwJMHg2ZTA2fSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfU0VUX1NJR05fV0FOVEVEIiwJMHg2ZTA2fSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfTE9DS1VOTE9DSyIsCTB4NmUwN30sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX0dFVFJPT1QiLAkweDZlMDh9LAorCXsibGludXgvbmNwX2ZzLmgiLAkiTkNQX0lPQ19TRVRST09UIiwJMHg2ZTA4fSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfR0VUT0JKRUNUTkFNRSIsCTB4NmUwOX0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX1NFVE9CSkVDVE5BTUUiLAkweDZlMDl9LAorCXsibGludXgvbmNwX2ZzLmgiLAkiTkNQX0lPQ19HRVRQUklWQVRFREFUQSIsCTB4NmUwYX0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX1NFVFBSSVZBVEVEQVRBIiwJMHg2ZTBhfSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfR0VUQ0hBUlNFVFMiLAkweDZlMGJ9LAorCXsibGludXgvbmNwX2ZzLmgiLAkiTkNQX0lPQ19TRVRDSEFSU0VUUyIsCTB4NmUwYn0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX0dFVERFTlRSWVRUTCIsCTB4NmUwY30sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX1NFVERFTlRSWVRUTCIsCTB4NmUwY30sCisJeyJsaW51eC9tYXRyb3hmYi5oIiwJIk1BVFJPWEZCX1NFVF9PVVRQVVRfQ09OTkVDVElPTiIsCTB4NmVmOH0sCisJeyJsaW51eC9tYXRyb3hmYi5oIiwJIk1BVFJPWEZCX0dFVF9PVVRQVVRfQ09OTkVDVElPTiIsCTB4NmVmOH0sCisJeyJsaW51eC9tYXRyb3hmYi5oIiwJIk1BVFJPWEZCX0dFVF9BVkFJTEFCTEVfT1VUUFVUUyIsCTB4NmVmOX0sCisJeyJsaW51eC9tYXRyb3hmYi5oIiwJIk1BVFJPWEZCX1NFVF9PVVRQVVRfTU9ERSIsCTB4NmVmYX0sCisJeyJsaW51eC9tYXRyb3hmYi5oIiwJIk1BVFJPWEZCX0dFVF9PVVRQVVRfTU9ERSIsCTB4NmVmYX0sCisJeyJsaW51eC9tYXRyb3hmYi5oIiwJIk1BVFJPWEZCX0dFVF9BTExfT1VUUFVUUyIsCTB4NmVmYn0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfQUlFX09OIiwJMHg3MDAxfSwKKwl7ImxpbnV4L3J0Yy5oIiwJIlJUQ19BSUVfT0ZGIiwJMHg3MDAyfSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fR0VUTU9VTlQiLAkweDcwMDN9LAorCXsibGludXgvcnRjLmgiLAkiUlRDX1VJRV9PTiIsCTB4NzAwM30sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX1NFVFBJRCIsCTB4NzAwNH0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfVUlFX09GRiIsCTB4NzAwNH0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfUElFX09OIiwJMHg3MDA1fSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fQ0xPU0VfSk9VUk5BTEYiLAkweDcwMDZ9LAorCXsibGludXgvcnRjLmgiLAkiUlRDX1BJRV9PRkYiLAkweDcwMDZ9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19TRVRfRlNFVFJPT1QiLAkweDcwMDd9LAorCXsibGludXgvcnRjLmgiLAkiUlRDX0FMTV9TRVQiLAkweDcwMDd9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19DTEVBUl9GU0VUUk9PVCIsCTB4NzAwOH0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfQUxNX1JFQUQiLAkweDcwMDh9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19TRVRPUFQiLAkweDcwMDl9LAorCXsibGludXgvcnRjLmgiLAkiUlRDX1JEX1RJTUUiLAkweDcwMDl9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19HRVRPUFQiLAkweDcwMGF9LAorCXsibGludXgvcnRjLmgiLAkiUlRDX1NFVF9USU1FIiwJMHg3MDBhfSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fR0VUX0tNTFNJWkUiLAkweDcwMGJ9LAorCXsibGludXgvcnRjLmgiLAkiUlRDX0lSUVBfUkVBRCIsCTB4NzAwYn0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX0dFVF9SRUNOTyIsCTB4NzAwY30sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfSVJRUF9TRVQiLAkweDcwMGN9LAorCXsibGludXgvcnRjLmgiLAkiUlRDX0VQT0NIX1JFQUQiLAkweDcwMGR9LAorCXsibGludXgvcnRjLmgiLAkiUlRDX0VQT0NIX1NFVCIsCTB4NzAwZX0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfV0lFX09OIiwJMHg3MDBmfSwKKwl7ImxpbnV4L3J0Yy5oIiwJIlJUQ19XS0FMTV9TRVQiLAkweDcwMGZ9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19WRlNfU0VUQVRUUiIsCTB4NzAxMH0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfV0lFX09GRiIsCTB4NzAxMH0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfV0tBTE1fUkQiLAkweDcwMTB9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19WRlNfQ1JFQVRFIiwJMHg3MDExfSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fVkZTX0xJTksiLAkweDcwMTJ9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19WRlNfVU5MSU5LIiwJMHg3MDEzfSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fVkZTX1NZTUxJTksiLAkweDcwMTR9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19WRlNfTUtESVIiLAkweDcwMTV9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19WRlNfUk1ESVIiLAkweDcwMTZ9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19WRlNfTUtOT0QiLAkweDcwMTd9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19WRlNfUkVOQU1FIiwJMHg3MDE4fSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fVkZTX0NMT1NFIiwJMHg3MDFhfSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fVkZTX0lPUEVOIiwJMHg3MDFifSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fVkZTX1NFVEVYVEFUVFIiLAkweDcwMWN9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19WRlNfREVMRVhUQVRUUiIsCTB4NzAxZH0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX01BUksiLAkweDcwMjB9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19SRUxFQVNFX1BFUk1JVCIsCTB4NzAyMX0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX0NMRUFSX0FMTF9GU0VUUk9PVFMiLAkweDcwMjJ9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19CQUNLRkVUQ0hfTE1MIiwJMHg3MDIzfSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fUkVJTlQiLAkweDcwMjR9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19DQU5DRUxfTE1MIiwJMHg3MDI1fSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fUkVTRVRfRlNFVCIsCTB4NzAyNn0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX0NPTVBMRVRFX0NMT1NFUyIsCTB4NzAyN30sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX1JFSU5UX0JFR0lOIiwJMHg3MDMwfSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fRE9fUkVJTlQiLAkweDcwMzF9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19SRUlOVF9FTkQiLAkweDcwMzJ9LAorCXsibGludXgvbnZyYW0uaCIsCSJOVlJBTV9JTklUIiwJMHg3MDQwfSwKKwl7ImxpbnV4L252cmFtLmgiLAkiTlZSQU1fU0VUQ0tTIiwJMHg3MDQxfSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBTRVRNT0RFIiwJMHg3MDgwfSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBSU1RBVFVTIiwJMHg3MDgxfSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBSQ09OVFJPTCIsCTB4NzA4M30sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQV0NPTlRST0wiLAkweDcwODR9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUFJEQVRBIiwJMHg3MDg1fSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBXREFUQSIsCTB4NzA4Nn0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQQ0xBSU0iLAkweDcwOGJ9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUFJFTEVBU0UiLAkweDcwOGN9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUFlJRUxEIiwJMHg3MDhkfSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBGQ09OVFJPTCIsCTB4NzA4ZX0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQRVhDTCIsCTB4NzA4Zn0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQREFUQURJUiIsCTB4NzA5MH0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQTkVHT1QiLAkweDcwOTF9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUFdDVExPTklSUSIsCTB4NzA5Mn0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQQ0xSSVJRIiwJMHg3MDkzfSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBTRVRQSEFTRSIsCTB4NzA5NH0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQR0VUVElNRSIsCTB4NzA5NX0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQU0VUVElNRSIsCTB4NzA5Nn0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQR0VUTU9ERVMiLAkweDcwOTd9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUEdFVE1PREUiLAkweDcwOTh9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUEdFVFBIQVNFIiwJMHg3MDk5fSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBHRVRGTEFHUyIsCTB4NzA5YX0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQU0VURkxBR1MiLAkweDcwOWJ9LAorCXsibGludXgvc2VyaW8uaCIsCSJTUElPQ1NUWVBFIiwJMHg3MTAxfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX0NBUEFCSUxJVElFUyIsCTB4NzE4MH0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9DQVBBQklMSVRJRVNfTElTVCIsCTB4NzE4MX0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9DQVBBQklMSVRJRVNfQ0hFQ0siLAkweDcxODJ9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUklORyIsCTB4NzE4M30sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9IT09LU1RBVEUiLAkweDcxODR9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfTUFYUklOR1MiLAkweDcxODV9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUklOR19DQURFTkNFIiwJMHg3MTg2fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIk9MRF9QSE9ORV9SSU5HX1NUQVJUIiwJMHg3MTg3fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1JJTkdfU1RBUlQiLAkweDcxODd9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUklOR19TVE9QIiwJMHg3MTg4fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1JFQ19DT0RFQyIsCTB4NzE4OX0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9SRUNfU1RBUlQiLAkweDcxOGF9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUkVDX1NUT1AiLAkweDcxOGJ9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUkVDX0RFUFRIIiwJMHg3MThjfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX0ZSQU1FIiwJMHg3MThkfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1JFQ19WT0xVTUUiLAkweDcxOGV9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUkVDX0xFVkVMIiwJMHg3MThmfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1BMQVlfQ09ERUMiLAkweDcxOTB9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUExBWV9TVEFSVCIsCTB4NzE5MX0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9QTEFZX1NUT1AiLAkweDcxOTJ9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUExBWV9ERVBUSCIsCTB4NzE5M30sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9QTEFZX1ZPTFVNRSIsCTB4NzE5NH0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9QTEFZX0xFVkVMIiwJMHg3MTk1fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX0RUTUZfUkVBRFkiLAkweDcxOTZ9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfR0VUX0RUTUYiLAkweDcxOTd9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfR0VUX0RUTUZfQVNDSUkiLAkweDcxOTh9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfRFRNRl9PT0IiLAkweDcxOTl9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfRVhDRVBUSU9OIiwJMHg3MTlhfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1BMQVlfVE9ORSIsCTB4NzE5Yn0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9TRVRfVE9ORV9PTl9USU1FIiwJMHg3MTljfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1NFVF9UT05FX09GRl9USU1FIiwJMHg3MTlkfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX0dFVF9UT05FX09OX1RJTUUiLAkweDcxOWV9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfR0VUX1RPTkVfT0ZGX1RJTUUiLAkweDcxOWZ9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfR0VUX1RPTkVfU1RBVEUiLAkweDcxYTB9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfQlVTWSIsCTB4NzFhMX0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9SSU5HQkFDSyIsCTB4NzFhMn0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9ESUFMVE9ORSIsCTB4NzFhM30sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9DUFRfU1RPUCIsCTB4NzFhNH0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9QU1ROX1NFVF9TVEFURSIsCTB4NzFhNH0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9QU1ROX0dFVF9TVEFURSIsCTB4NzFhNX0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9XSU5LX0RVUkFUSU9OIiwJMHg3MWE2fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1FVRVJZX0NPREVDIiwJMHg3MWE3fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1BTVE5fTElORVRFU1QiLAkweDcxYTh9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfVkFEIiwJMHg3MWE5fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1dJTksiLAkweDcxYWF9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9EU1BfUkVTRVQiLAkweDcxYzB9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9DQVJEVFlQRSIsCTB4NzFjMX0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1NFUklBTCIsCTB4NzFjMn0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0RTUF9UWVBFIiwJMHg3MWMzfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfRFNQX1ZFUlNJT04iLAkweDcxYzR9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9EU1BfSURMRSIsCTB4NzFjNX0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1RFU1RSQU0iLAkweDcxYzZ9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9TRVRfRklMVEVSIiwJMHg3MWM3fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfR0VUX0ZJTFRFUl9ISVNUIiwJMHg3MWM4fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfSU5JVF9UT05FIiwJMHg3MWM5fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfVE9ORV9DQURFTkNFIiwJMHg3MWNhfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfQUVDX1NUQVJUIiwJMHg3MWNifSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfQUVDX1NUT1AiLAkweDcxY2N9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9BRUNfR0VUX0xFVkVMIiwJMHg3MWNkfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfU0VUX0xFRCIsCTB4NzFjZX0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX01JWEVSIiwJMHg3MWNmfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfREFBX0NPRUZGX1NFVCIsCTB4NzFkMH0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1BPUlQiLAkweDcxZDF9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9EQUFfQUdBSU4iLAkweDcxZDJ9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9QU1ROX0xJTkVURVNUIiwJMHg3MWQzfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfQ0lEIiwJMHg3MWQ0fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfUE9UU19QU1ROIiwJMHg3MWQ1fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfRklMVEVSX0NBREVOQ0UiLAkweDcxZDZ9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9QTEFZX0NJRCIsCTB4NzFkN30sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1ZNV0kiLAkweDcxZDh9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9DSURDVyIsCTB4NzFkOX0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1ZFUlNJT04iLAkweDcxZGF9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUkVDX1ZPTFVNRV9MSU5FQVIiLAkweDcxZGJ9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUExBWV9WT0xVTUVfTElORUFSIiwJMHg3MWRjfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfU0VUX0ZJTFRFUl9SQVciLAkweDcxZGR9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9IWiIsCTB4NzFlMH0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1JBVEUiLAkweDcxZTF9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9GUkFNRVNfUkVBRCIsCTB4NzFlMn0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0ZSQU1FU19XUklUVEVOIiwJMHg3MWUzfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfUkVBRF9XQUlUIiwJMHg3MWU0fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfV1JJVEVfV0FJVCIsCTB4NzFlNX0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0RSWUJVRkZFUl9SRUFEIiwJMHg3MWU2fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfRFJZQlVGRkVSX0NMRUFSIiwJMHg3MWU3fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfRFRNRl9QUkVTQ0FMRSIsCTB4NzFlOH0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1NJR0NUTCIsCTB4NzFlOX0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1NDX1JYRyIsCTB4NzFlYX0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1NDX1RYRyIsCTB4NzFlYn0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0lOVEVSQ09NX1NUQVJUIiwJMHg3MWZkfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfSU5URVJDT01fU1RPUCIsCTB4NzFmZX0sCisJeyJsaW51eC9tc2Rvc19mcy5oIiwJIlZGQVRfSU9DVExfUkVBRERJUl9CT1RIIiwJMHg3MjAxfSwKKwl7ImxpbnV4L21zZG9zX2ZzLmgiLAkiVkZBVF9JT0NUTF9SRUFERElSX1NIT1JUIiwJMHg3MjAyfSwKKwl7ImxpbnV4L2Nkay5oIiwJIlNUTF9CSU5UUiIsCTB4NzMxNH0sCisJeyJsaW51eC9jZGsuaCIsCSJTVExfQlNUQVJUIiwJMHg3MzE1fSwKKwl7ImxpbnV4L2Nkay5oIiwJIlNUTF9CU1RPUCIsCTB4NzMxNn0sCisJeyJsaW51eC9jZGsuaCIsCSJTVExfQlJFU0VUIiwJMHg3MzE3fSwKKwl7ImxpbnV4L2Nkay5oIiwJIlNUTF9HRVRQRkxBRyIsCTB4NzM1MH0sCisJeyJsaW51eC9jZGsuaCIsCSJTVExfU0VUUEZMQUciLAkweDczNTF9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DR0NIQU4iLAkweDc0Mzd9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DQVRUQ0hBTiIsCTB4NzQzOH0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NESVNDT05OIiwJMHg3NDM5fSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ0NPTk5FQ1QiLAkweDc0M2F9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DU01SUlUiLAkweDc0M2J9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DREVUQUNIIiwJMHg3NDNjfSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ0FUVEFDSCIsCTB4NzQzZH0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NORVdVTklUIiwJMHg3NDNlfSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ0dJRExFIiwJMHg3NDNmfSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ1NERUJVRyIsCTB4NzQ0MH0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NHREVCVUciLAkweDc0NDF9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DU0FDVElWRSIsCTB4NzQ0Nn0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NTUEFTUyIsCTB4NzQ0N30sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NTTlBNT0RFIiwJMHg3NDRifSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ0dOUE1PREUiLAkweDc0NGN9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DU0NPTVBSRVNTIiwJMHg3NDRkfSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ1hGRVJVTklUIiwJMHg3NDRlfSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ1NYQVNZTkNNQVAiLAkweDc0NGZ9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DR1hBU1lOQ01BUCIsCTB4NzQ1MH0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NTTUFYQ0lEIiwJMHg3NDUxfSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ1NNUlUiLAkweDc0NTJ9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DR01SVSIsCTB4NzQ1M30sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NTUkFTWU5DTUFQIiwJMHg3NDU0fSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ0dSQVNZTkNNQVAiLAkweDc0NTV9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DR1VOSVQiLAkweDc0NTZ9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DU0FTWU5DTUFQIiwJMHg3NDU3fSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ0dBU1lOQ01BUCIsCTB4NzQ1OH0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NTRkxBR1MiLAkweDc0NTl9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DR0ZMQUdTIiwJMHg3NDVhfSwKKwl7ImxpbnV4L2pmZnMuaCIsCSJKRkZTX1BSSU5UX0hBU0giLAkweDc0NWF9LAorCXsibGludXgvamZmcy5oIiwJIkpGRlNfUFJJTlRfVFJFRSIsCTB4NzQ1Yn0sCisJeyJsaW51eC9qZmZzLmgiLAkiSkZGU19HRVRfU1RBVFVTIiwJMHg3NDVjfSwKKwl7ImxpbnV4L2lzZG5fcHBwLmgiLAkiUFBQSU9DR0NBTExJTkZPIiwJMHg3NDgwfSwKKwl7ImxpbnV4L2lzZG5fcHBwLmgiLAkiUFBQSU9DQlVORExFIiwJMHg3NDgxfSwKKwl7ImxpbnV4L2lzZG5fcHBwLmgiLAkiUFBQSU9DR01QRkxBR1MiLAkweDc0ODJ9LAorCXsibGludXgvaXNkbl9wcHAuaCIsCSJQUFBJT0NTTVBGTEFHUyIsCTB4NzQ4M30sCisJeyJsaW51eC9pc2RuX3BwcC5oIiwJIlBQUElPQ1NNUE1UVSIsCTB4NzQ4NH0sCisJeyJsaW51eC9pc2RuX3BwcC5oIiwJIlBQUElPQ1NNUE1SVSIsCTB4NzQ4NX0sCisJeyJsaW51eC9pc2RuX3BwcC5oIiwJIlBQUElPQ0dDT01QUkVTU09SUyIsCTB4NzQ4Nn0sCisJeyJsaW51eC9pc2RuX3BwcC5oIiwJIlBQUElPQ1NDT01QUkVTU09SIiwJMHg3NDg3fSwKKwl7ImxpbnV4L2lzZG5fcHBwLmgiLAkiUFBQSU9DR0lGTkFNRSIsCTB4NzQ4OH0sCisJeyJsaW51eC90b3NoaWJhLmgiLAkiVE9TSF9TTU0iLAkweDc0OTB9LAorCXsibGludXgvc21iX2ZzLmgiLAkiU01CX0lPQ19HRVRNT1VOVFVJRCIsCTB4NzUwMX0sCisJeyJsaW51eC9zbWJfZnMuaCIsCSJTTUJfSU9DX05FV0NPTk4iLAkweDc1MDJ9LAorCXsibGludXgvc21iX2ZzLmgiLAkiU01CX0lPQ19HRVRNT1VOVFVJRDMyIiwJMHg3NTAzfSwKKwl7ImxpbnV4L3NvbnlwaS5oIiwJIlNPTllQSV9JT0NHQlJUIiwJMHg3NjAwfSwKKwl7ImxpbnV4L3NvbnlwaS5oIiwJIlNPTllQSV9JT0NTQlJUIiwJMHg3NjAwfSwKKwl7ImxpbnV4L2V4dDJfZnMuaCIsCSJFWFQyX0lPQ19HRVRWRVJTSU9OIiwJMHg3NjAxfSwKKwl7ImxpbnV4L2V4dDNfZnMuaCIsCSJFWFQzX0lPQ19HRVRWRVJTSU9OX09MRCIsCTB4NzYwMX0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ0dDQVAiLAkweDc2MDF9LAorCXsibGludXgvZXh0Ml9mcy5oIiwJIkVYVDJfSU9DX1NFVFZFUlNJT04iLAkweDc2MDJ9LAorCXsibGludXgvZXh0M19mcy5oIiwJIkVYVDNfSU9DX1NFVFZFUlNJT05fT0xEIiwJMHg3NjAyfSwKKwl7ImxpbnV4L3NvbnlwaS5oIiwJIlNPTllQSV9JT0NHQkFUMUNBUCIsCTB4NzYwMn0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ0dDSEFOIiwJMHg3NjAyfSwKKwl7ImxpbnV4L3NvbnlwaS5oIiwJIlNPTllQSV9JT0NHQkFUMVJFTSIsCTB4NzYwM30sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ1NDSEFOIiwJMHg3NjAzfSwKKwl7ImxpbnV4L3NvbnlwaS5oIiwJIlNPTllQSV9JT0NHQkFUMkNBUCIsCTB4NzYwNH0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ0dUVU5FUiIsCTB4NzYwNH0sCisJeyJsaW51eC9zb255cGkuaCIsCSJTT05ZUElfSU9DR0JBVDJSRU0iLAkweDc2MDV9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NTVFVORVIiLAkweDc2MDV9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NHUElDVCIsCTB4NzYwNn0sCisJeyJsaW51eC9zb255cGkuaCIsCSJTT05ZUElfSU9DR0JBVEZMQUdTIiwJMHg3NjA3fSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DU1BJQ1QiLAkweDc2MDd9LAorCXsibGludXgvc29ueXBpLmgiLAkiU09OWVBJX0lPQ0dCTFVFIiwJMHg3NjA4fSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DQ0FQVFVSRSIsCTB4NzYwOH0sCisJeyJsaW51eC9zb255cGkuaCIsCSJTT05ZUElfSU9DU0JMVUUiLAkweDc2MDl9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NHV0lOIiwJMHg3NjA5fSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DU1dJTiIsCTB4NzYwYX0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ0dGQlVGIiwJMHg3NjBifSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DU0ZCVUYiLAkweDc2MGN9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NLRVkiLAkweDc2MGR9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NHRlJFUSIsCTB4NzYwZX0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ1NGUkVRIiwJMHg3NjBmfSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DR0FVRElPIiwJMHg3NjEwfSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DU0FVRElPIiwJMHg3NjExfSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DU1lOQyIsCTB4NzYxMn0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ01DQVBUVVJFIiwJMHg3NjEzfSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DR01CVUYiLAkweDc2MTR9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NHVU5JVCIsCTB4NzYxNX0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ0dDQVBUVVJFIiwJMHg3NjE2fSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DU0NBUFRVUkUiLAkweDc2MTd9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NTUExBWU1PREUiLAkweDc2MTh9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NTV1JJVEVNT0RFIiwJMHg3NjE5fSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DR1BMQVlJTkZPIiwJMHg3NjFhfSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DU01JQ1JPQ09ERSIsCTB4NzYxYn0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ0dWQklGTVQiLAkweDc2MWN9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NTVkJJRk1UIiwJMHg3NjFkfSwKKwl7ImxpbnV4L21leWUuaCIsCSJNRVlFSU9DX0dfUEFSQU1TIiwJMHg3NmMwfSwKKwl7ImxpbnV4L21leWUuaCIsCSJNRVlFSU9DX1NfUEFSQU1TIiwJMHg3NmMxfSwKKwl7ImxpbnV4L21leWUuaCIsCSJNRVlFSU9DX1FCVUZfQ0FQVCIsCTB4NzZjMn0sCisJeyJsaW51eC9tZXllLmgiLAkiTUVZRUlPQ19TWU5DIiwJMHg3NmMzfSwKKwl7ImxpbnV4L21leWUuaCIsCSJNRVlFSU9DX1NUSUxMQ0FQVCIsCTB4NzZjNH0sCisJeyJsaW51eC9tZXllLmgiLAkiTUVZRUlPQ19TVElMTEpDQVBUIiwJMHg3NmM1fSwKKwl7ImxpbnV4L2RuLmgiLAkiU0lPQ1NORVRBRERSIiwJMHg4OWUwfSwKKwl7ImxpbnV4L2RuLmgiLAkiT1NJT0NTTkVUQUREUiIsCTB4ODllMH0sCisJeyJsaW51eC9kbi5oIiwJIlNJT0NHTkVUQUREUiIsCTB4ODllMX0sCisJeyJsaW51eC9kbi5oIiwJIk9TSU9DR05FVEFERFIiLAkweDg5ZTF9LAorCXsibGludXgvYXV0b19mcy5oIiwJIkFVVE9GU19JT0NfUkVBRFkiLAkweDkzNjB9LAorCXsibGludXgvYXV0b19mcy5oIiwJIkFVVE9GU19JT0NfRkFJTCIsCTB4OTM2MX0sCisJeyJsaW51eC9hdXRvX2ZzLmgiLAkiQVVUT0ZTX0lPQ19DQVRBVE9OSUMiLAkweDkzNjJ9LAorCXsibGludXgvYXV0b19mcy5oIiwJIkFVVE9GU19JT0NfUFJPVE9WRVIiLAkweDkzNjN9LAorCXsibGludXgvYXV0b19mcy5oIiwJIkFVVE9GU19JT0NfU0VUVElNRU9VVCIsCTB4OTM2NH0sCisJeyJsaW51eC9hdXRvX2ZzLmgiLAkiQVVUT0ZTX0lPQ19FWFBJUkUiLAkweDkzNjV9LAorCXsibGludXgvYXV0b19mczQuaCIsCSJBVVRPRlNfSU9DX0VYUElSRV9NVUxUSSIsCTB4OTM2Nn0sCisJeyJsaW51eC9uYmQuaCIsCSJOQkRfU0VUX1NPQ0siLAkweGFiMDB9LAorCXsibGludXgvbmJkLmgiLAkiTkJEX1NFVF9CTEtTSVpFIiwJMHhhYjAxfSwKKwl7ImxpbnV4L25iZC5oIiwJIk5CRF9TRVRfU0laRSIsCTB4YWIwMn0sCisJeyJsaW51eC9uYmQuaCIsCSJOQkRfRE9fSVQiLAkweGFiMDN9LAorCXsibGludXgvbmJkLmgiLAkiTkJEX0NMRUFSX1NPQ0siLAkweGFiMDR9LAorCXsibGludXgvbmJkLmgiLAkiTkJEX0NMRUFSX1FVRSIsCTB4YWIwNX0sCisJeyJsaW51eC9uYmQuaCIsCSJOQkRfUFJJTlRfREVCVUciLAkweGFiMDZ9LAorCXsibGludXgvbmJkLmgiLAkiTkJEX1NFVF9TSVpFX0JMT0NLUyIsCTB4YWIwN30sCisJeyJsaW51eC9uYmQuaCIsCSJOQkRfRElTQ09OTkVDVCIsCTB4YWIwOH0sCisJeyJsaW51eC9yYXcuaCIsCSJSQVdfU0VUQklORCIsCTB4YWMwMH0sCisJeyJsaW51eC9yYXcuaCIsCSJSQVdfR0VUQklORCIsCTB4YWMwMX0sCisJeyJsaW51eC9pZl9wcHBveC5oIiwJIlBQUE9FSU9DU0ZXRCIsCTB4YjEwMH0sCisJeyJsaW51eC9pZl9wcHBveC5oIiwJIlBQUE9FSU9DREZXRCIsCTB4YjEwMX0sCisJeyJsaW51eC9yZWlzZXJmc19mcy5oIiwJIlJFSVNFUkZTX0lPQ19VTlBBQ0siLAkweGNkMDF9LAorCXsibGludXgvbHZtLmgiLAkiVkdfQ1JFQVRFX09MRCIsCTB4ZmUwMH0sCisJeyJsaW51eC9sdm0uaCIsCSJWR19SRU1PVkUiLAkweGZlMDF9LAorCXsibGludXgvbHZtLmgiLAkiVkdfRVhURU5EIiwJMHhmZTAzfSwKKwl7ImxpbnV4L2x2bS5oIiwJIlZHX1JFRFVDRSIsCTB4ZmUwNH0sCisJeyJsaW51eC9sdm0uaCIsCSJWR19TVEFUVVMiLAkweGZlMDV9LAorCXsibGludXgvbHZtLmgiLAkiVkdfU1RBVFVTX0dFVF9DT1VOVCIsCTB4ZmUwNn0sCisJeyJsaW51eC9sdm0uaCIsCSJWR19TVEFUVVNfR0VUX05BTUVMSVNUIiwJMHhmZTA3fSwKKwl7ImxpbnV4L2x2bS5oIiwJIlZHX1NFVF9FWFRFTkRBQkxFIiwJMHhmZTA4fSwKKwl7ImxpbnV4L2x2bS5oIiwJIlZHX1JFTkFNRSIsCTB4ZmUwOX0sCisJeyJsaW51eC9sdm0uaCIsCSJWR19DUkVBVEUiLAkweGZlMGF9LAorCXsibGludXgvbHZtLmgiLAkiTFZfQ1JFQVRFIiwJMHhmZTIwfSwKKwl7ImxpbnV4L2x2bS5oIiwJIkxWX1JFTU9WRSIsCTB4ZmUyMX0sCisJeyJsaW51eC9sdm0uaCIsCSJMVl9BQ1RJVkFURSIsCTB4ZmUyMn0sCisJeyJsaW51eC9sdm0uaCIsCSJMVl9ERUFDVElWQVRFIiwJMHhmZTIzfSwKKwl7ImxpbnV4L2x2bS5oIiwJIkxWX0VYVEVORCIsCTB4ZmUyNH0sCisJeyJsaW51eC9sdm0uaCIsCSJMVl9SRURVQ0UiLAkweGZlMjV9LAorCXsibGludXgvbHZtLmgiLAkiTFZfU1RBVFVTX0JZTkFNRSIsCTB4ZmUyNn0sCisJeyJsaW51eC9sdm0uaCIsCSJMVl9TVEFUVVNfQllJTkRFWCIsCTB4ZmUyN30sCisJeyJsaW51eC9sdm0uaCIsCSJMVl9TRVRfQUNDRVNTIiwJMHhmZTI4fSwKKwl7ImxpbnV4L2x2bS5oIiwJIkxWX1NFVF9BTExPQ0FUSU9OIiwJMHhmZTI5fSwKKwl7ImxpbnV4L2x2bS5oIiwJIkxWX1NFVF9TVEFUVVMiLAkweGZlMmF9LAorCXsibGludXgvbHZtLmgiLAkiTEVfUkVNQVAiLAkweGZlMmJ9LAorCXsibGludXgvbHZtLmgiLAkiTFZfU05BUFNIT1RfVVNFX1JBVEUiLAkweGZlMmN9LAorCXsibGludXgvbHZtLmgiLAkiTFZfU1RBVFVTX0JZREVWIiwJMHhmZTJlfSwKKwl7ImxpbnV4L2x2bS5oIiwJIkxWX1JFTkFNRSIsCTB4ZmUyZn0sCisJeyJsaW51eC9sdm0uaCIsCSJMVl9CTUFQIiwJMHhmZTMwfSwKKwl7ImxpbnV4L2x2bS5oIiwJIlBWX1NUQVRVUyIsCTB4ZmU0MH0sCisJeyJsaW51eC9sdm0uaCIsCSJQVl9DSEFOR0UiLAkweGZlNDF9LAorCXsibGludXgvbHZtLmgiLAkiUFZfRkxVU0giLAkweGZlNDJ9LAorCXsibGludXgvbHZtLmgiLAkiUEVfTE9DS19VTkxPQ0siLAkweGZlNTB9LAorCXsibGludXgvbHZtLmgiLAkiTFZNX0dFVF9JT1BfVkVSU0lPTiIsCTB4ZmU5OH0sCisJeyJsaW51eC9sdm0uaCIsCSJMVk1fUkVTRVQiLAkweGZlOTl9LAorCXsibGludXgvbHZtLmgiLAkiTFZNX0xPQ0tfTFZNIiwJMHhmZjAwfSwKZGlmZiAtLWdpdCBhL3N0cmFjZS00LjUuMjAvbGludXgvaHBwYS9zaWduYWxlbnQuaCBiL3N0cmFjZS00LjUuMjAvbGludXgvaHBwYS9zaWduYWxlbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MmU1NTY1Ci0tLSAvZGV2L251bGwKKysrIGIvc3RyYWNlLTQuNS4yMC9saW51eC9ocHBhL3NpZ25hbGVudC5oCkBAIC0wLDAgKzEsMzggQEAKKwkiU0lHXzAiLAkvKiAwICovCisJIlNJR0hVUCIsCS8qIDEgKi8KKwkiU0lHSU5UIiwJLyogMiAqLworCSJTSUdRVUlUIiwJLyogMyAqLworCSJTSUdJTEwiLAkvKiA0ICovCisJIlNJR1RSQVAiLAkvKiA1ICovCisJIlNJR0FCUlQiLAkvKiA2ICovCisJIlNJR0VNVCIsCS8qIDcgKi8KKwkiU0lHRlBFIiwJLyogOCAqLworCSJTSUdLSUxMIiwJLyogOSAqLworCSJTSUdCVVMiLAkvKiAxMCAqLworCSJTSUdTRUdWIiwJLyogMTEgKi8KKwkiU0lHU1lTIiwJLyogMTIgKi8KKwkiU0lHUElQRSIsCS8qIDEzICovCisJIlNJR0FMUk0iLAkvKiAxNCAqLworCSJTSUdURVJNIiwJLyogMTUgKi8KKwkiU0lHVVNSMSIsCS8qIDE2ICovCisJIlNJR1VTUjIiLAkvKiAxNyAqLworCSJTSUdDSExEIiwJLyogMTggKi8KKwkiU0lHUFdSIiwJLyogMTkgKi8KKwkiU0lHVlRBTFJNIiwJLyogMjAgKi8KKwkiU0lHUFJPRiIsCS8qIDIxICovCisJIlNJR0lPIiwJLyogMjIgKi8KKwkiU0lHV0lOQ0giLAkvKiAyMyAqLworCSJTSUdTVE9QIiwJLyogMjQgKi8KKwkiU0lHVFNUUCIsCS8qIDI1ICovCisJIlNJR0NPTlQiLAkvKiAyNiAqLworCSJTSUdUVElOIiwJLyogMjcgKi8KKwkiU0lHVFRPVSIsCS8qIDI4ICovCisJIlNJR1VSRyIsCS8qIDI5ICovCisJIlNJR0xPU1QiLAkvKiAzMCAqLworCSJTSUdVTlVTRUQiLAkvKiAzMSAqLworCSJTSUdfMzIiLAkvKiAzMiAqLworCSJTSUdYQ1BVIiwJLyogMzMgKi8KKwkiU0lHWEZTWiIsCS8qIDM0ICovCisJIlNJR18zNSIsCS8qIDM1ICovCisJIlNJR1NUS0ZMVCIsCS8qIDM2ICovCisJIlNJR1JUTUlOIiwJLyogMzcgKi8KZGlmZiAtLWdpdCBhL3N0cmFjZS00LjUuMjAvbGludXgvaHBwYS9zeXNjYWxsZW50LmggYi9zdHJhY2UtNC41LjIwL2xpbnV4L2hwcGEvc3lzY2FsbGVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBkN2Q0OGMKLS0tIC9kZXYvbnVsbAorKysgYi9zdHJhY2UtNC41LjIwL2xpbnV4L2hwcGEvc3lzY2FsbGVudC5oCkBAIC0wLDAgKzEsMzI2IEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDAxIEhld2xldHQtUGFja2FyZCwgTWF0dGhldyBXaWxjb3gKKyAqCisgKiAkSWQkCisgKgorICovCisKKwl7IDAsCTAsCXN5c19yZXN0YXJ0X3N5c2NhbGwsCSJyZXN0YXJ0X3N5c2NhbGwiCX0sIC8qIDAgKi8KKwl7IDEsCVRQLAlzeXNfZXhpdCwJCSJleGl0IgkJCX0sIC8qIDEgKi8KKwl7IDAsCVRQLAlzeXNfZm9yaywJCSJmb3JrIgkJCX0sIC8qIDIgKi8KKwl7IDMsCVRELAlzeXNfcmVhZCwJCSJyZWFkIgkJCX0sIC8qIDMgKi8KKwl7IDMsCVRELAlzeXNfd3JpdGUsCQkid3JpdGUiCQkJfSwgLyogNCAqLworCXsgMywJVER8VEYsCXN5c19vcGVuLAkJIm9wZW4iCQkJfSwgLyogNSAqLworCXsgMSwJVEQsCXN5c19jbG9zZSwJCSJjbG9zZSIJCQl9LCAvKiA2ICovCisJeyAzLAlUUCwJc3lzX3dhaXRwaWQsCQkid2FpdHBpZCIJCX0sIC8qIDcgKi8KKwl7IDIsCVREfFRGLAlzeXNfY3JlYXQsCQkiY3JlYXQiCQkJfSwgLyogOCAqLworCXsgMiwJVEYsCXN5c19saW5rLAkJImxpbmsiCQkJfSwgLyogOSAqLworCXsgMSwJVEYsCXN5c191bmxpbmssCQkidW5saW5rIgkJfSwgLyogMTAgKi8KKwl7IDMsCVRGfFRQLAlzeXNfZXhlY3ZlLAkJImV4ZWN2ZSIJCX0sIC8qIDExICovCisJeyAxLAlURiwJc3lzX2NoZGlyLAkJImNoZGlyIgkJCX0sIC8qIDEyICovCisJeyAxLAkwLAlzeXNfdGltZSwJCSJ0aW1lIgkJCX0sIC8qIDEzICovCisJeyAzLAlURiwJc3lzX21rbm9kLAkJIm1rbm9kIgkJCX0sIC8qIDE0ICovCisJeyAyLAlURiwJc3lzX2NobW9kLAkJImNobW9kIgkJCX0sIC8qIDE1ICovCisJeyAzLAlURiwJc3lzX2Nob3duLAkJImxjaG93biIJCX0sIC8qIDE2ICovCisJeyAzLAlUTiwJc3lzX3NvY2tldCwJCSJzb2NrZXQiCQl9LCAvKiAxNyAqLworCXsgMiwJVEYsCXN5c19zdGF0LAkJIm5ld3N0YXQiCQl9LCAvKiAxOCAqLworCXsgMywJVEYsCXN5c19sc2VlaywJCSJsc2VlayIJCQl9LCAvKiAxOSAqLworCXsgMCwJMCwJc3lzX2dldHBpZCwJCSJnZXRwaWQiCQl9LCAvKiAyMCAqLworCXsgNSwJVEYsCXN5c19tb3VudCwJCSJtb3VudCIJCQl9LCAvKiAyMSAqLworCXsgMywJVE4sCXN5c19iaW5kLAkJImJpbmQiCQkJfSwgLyogMjIgKi8KKwl7IDEsCTAsCXN5c19zZXR1aWQsCQkic2V0dWlkIgkJfSwgLyogMjMgKi8KKwl7IDAsCTAsCXN5c19nZXR1aWQsCQkiZ2V0dWlkIgkJfSwgLyogMjQgKi8KKwl7IDEsCTAsCXN5c19zdGltZSwJCSJzdGltZSIJCQl9LCAvKiAyNSAqLworCXsgNCwJMCwJc3lzX3B0cmFjZSwJCSJwdHJhY2UiCQl9LCAvKiAyNiAqLworCXsgMSwJMCwJc3lzX2FsYXJtLAkJImFsYXJtIgkJCX0sIC8qIDI3ICovCisJeyAyLAlURCwJc3lzX2ZzdGF0LAkJIm5ld2ZzdGF0IgkJfSwgLyogMjggKi8KKwl7IDAsCTAsCXN5c19wYXVzZSwJCSJwYXVzZSIJCQl9LCAvKiAyOSAqLworCXsgMiwJMCwJc3lzX3V0aW1lLAkJInV0aW1lIgkJCX0sIC8qIDMwICovCisJeyAzLAlUTiwJc3lzX2Nvbm5lY3QsCQkiY29ubmVjdCIJCX0sIC8qIDMxICovCisJeyAyLAlUTiwJc3lzX2xpc3RlbiwJCSJsaXN0ZW4iCQl9LCAvKiAzMiAqLworCXsgMiwJVEYsCXN5c19hY2Nlc3MsCQkiYWNjZXNzIgkJfSwgLyogMzMgKi8KKwl7IDEsCTAsCXN5c19uaWNlLAkJIm5pY2UiCQkJfSwgLyogMzQgKi8KKwl7IDMsCVROLAlzeXNfYWNjZXB0LAkJImFjY2VwdCIJCX0sIC8qIDM1ICovCisJeyAwLAkwLAlzeXNfc3luYywJCSJzeW5jIgkJCX0sIC8qIDM2ICovCisJeyAyLAlUUywJc3lzX2tpbGwsCQkia2lsbCIJCQl9LCAvKiAzNyAqLworCXsgMiwJVEYsCXN5c19yZW5hbWUsCQkicmVuYW1lIgkJfSwgLyogMzggKi8KKwl7IDIsCVRGLAlzeXNfbWtkaXIsCQkibWtkaXIiCQkJfSwgLyogMzkgKi8KKwl7IDEsCVRGLAlzeXNfcm1kaXIsCQkicm1kaXIiCQkJfSwgLyogNDAgKi8KKwl7IDEsCVRELAlzeXNfZHVwLAkJImR1cCIJCQl9LCAvKiA0MSAqLworCXsgMSwJVEQsCXN5c19waXBlLAkJInBpcGUiCQkJfSwgLyogNDIgKi8KKwl7IDEsCTAsCXN5c190aW1lcywJCSJ0aW1lcyIJCQl9LCAvKiA0MyAqLworCXsgMywJVE4sCXN5c19nZXRzb2NrbmFtZSwJImdldHNvY2tuYW1lIgkJfSwgLyogNDQgKi8KKwl7IDEsCTAsCXN5c19icmssCQkiYnJrIgkJCX0sIC8qIDQ1ICovCisJeyAxLAkwLAlzeXNfc2V0Z2lkLAkJInNldGdpZCIJCX0sIC8qIDQ2ICovCisJeyAwLAkwLAlzeXNfZ2V0Z2lkLAkJImdldGdpZCIJCX0sIC8qIDQ3ICovCisJeyAyLAkwLAlzeXNfc2lnbmFsLAkJInNpZ25hbCIJCX0sIC8qIDQ4ICovCisJeyAwLAkwLAlzeXNfZ2V0ZXVpZCwJCSJnZXRldWlkIgkJfSwgLyogNDkgKi8KKwl7IDAsCTAsCXN5c19nZXRlZ2lkLAkJImdldGVnaWQiCQl9LCAvKiA1MCAqLworCXsgMSwJVEYsCXN5c19hY2N0LAkJImFjY3QiCQkJfSwgLyogNTEgKi8KKwl7IDIsCTAsCXN5c191bW91bnQyLAkJInVtb3VudDIiCQl9LCAvKiA1MiAqLworCXsgMywJVE4sCXN5c19nZXRwZWVybmFtZSwJImxvY2siCQkJfSwgLyogNTMgKi8KKwl7IDMsCVRELAlzeXNfaW9jdGwsCQkiaW9jdGwiCQkJfSwgLyogNTQgKi8KKwl7IDMsCVRELAlzeXNfZmNudGwsCQkiZmNudGwiCQkJfSwgLyogNTUgKi8KKwl7IDQsCVROLAlzeXNfc29ja2V0cGFpciwJCSJzb2NrZXRwYWlyIgkJfSwgLyogNTYgKi8KKwl7IDIsCTAsCXN5c19zZXRwZ2lkLAkJInNldHBnaWQiCQl9LCAvKiA1NyAqLworCXsgNCwJVE4sCXN5c19zZW5kLAkJInNlbmQiCQkJfSwgLyogNTggKi8KKwl7IDEsCTAsCXN5c191bmFtZSwJCSJuZXd1bmFtZSIJCQl9LCAvKiA1OSAqLworCXsgMSwJMCwJc3lzX3VtYXNrLAkJInVtYXNrIgkJCX0sIC8qIDYwICovCisJeyAxLAlURiwJc3lzX2Nocm9vdCwJCSJjaHJvb3QiCQl9LCAvKiA2MSAqLworCXsgMiwJMCwJc3lzX3VzdGF0LAkJInVzdGF0IgkJCX0sIC8qIDYyICovCisJeyAyLAlURCwJc3lzX2R1cDIsCQkiZHVwMiIJCQl9LCAvKiA2MyAqLworCXsgMCwJMCwJc3lzX2dldHBwaWQsCQkiZ2V0cHBpZCIJCX0sIC8qIDY0ICovCisJeyAwLAkwLAlzeXNfZ2V0cGdycCwJCSJnZXRwZ3JwIgkJfSwgLyogNjUgKi8KKwl7IDAsCTAsCXN5c19zZXRzaWQsCQkic2V0c2lkIgkJfSwgLyogNjYgKi8KKwl7IDIsCVRGLAlzeXNfcGl2b3Ryb290LAkJInBpdm90X3Jvb3QiCQl9LCAvKiA2NyAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJInNnZXRtYXNrIgkJfSwgLyogNjggKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJzc2V0bWFzayIJCX0sIC8qIDY5ICovCisJeyAyLAkwLAlzeXNfc2V0cmV1aWQsCQkic2V0cmV1aWQiCQl9LCAvKiA3MCAqLworCXsgMiwJMCwJc3lzX3NldHJlZ2lkLAkJInNldHJlZ2lkIgkJfSwgLyogNzEgKi8KKwl7IDMsCTAsCXN5c19taW5jb3JlLAkJIm1pbmNvcmUiCQl9LCAvKiA3MiAqLworCXsgMSwJVFMsCXN5c19zaWdwZW5kaW5nLAkJInNpZ3BlbmRpbmciCQl9LCAvKiA3MyAqLworCXsgMiwJMCwJc3lzX3NldGhvc3RuYW1lLAkic2V0aG9zdG5hbWUiCQl9LCAvKiA3NCAqLworCXsgMiwJMCwJc3lzX3NldHJsaW1pdCwJCSJzZXRybGltaXQiCQl9LCAvKiA3NSAqLworCXsgMiwJMCwJc3lzX2dldHJsaW1pdCwJCSJnZXRybGltaXQiCQl9LCAvKiA3NiAqLworCXsgMiwJMCwJc3lzX2dldHJ1c2FnZSwJCSJnZXRydXNhZ2UiCQl9LCAvKiA3NyAqLworCXsgMiwJMCwJc3lzX2dldHRpbWVvZmRheSwJImdldHRpbWVvZmRheSIJCX0sIC8qIDc4ICovCisJeyAyLAkwLAlzeXNfc2V0dGltZW9mZGF5LAkic2V0dGltZW9mZGF5IgkJfSwgLyogNzkgKi8KKwl7IDIsCTAsCXN5c19nZXRncm91cHMsCQkiZ2V0Z3JvdXBzIgkJfSwgLyogODAgKi8KKwl7IDIsCTAsCXN5c19zZXRncm91cHMsCQkic2V0Z3JvdXBzIgkJfSwgLyogODEgKi8KKwl7IDYsCVROLAlzeXNfc2VuZHRvLAkJInNlbmR0byIJCX0sIC8qIDgyICovCisJeyAyLAlURiwJc3lzX3N5bWxpbmssCQkic3ltbGluayIJCX0sIC8qIDgzICovCisJeyAyLAlURiwJc3lzX2xzdGF0LAkJIm5ld2xzdGF0IgkJfSwgLyogODQgKi8KKwl7IDMsCVRGLAlzeXNfcmVhZGxpbmssCQkicmVhZGxpbmsiCQl9LCAvKiA4NSAqLworCXsgMSwJMCwJc3lzX3VzZWxpYiwJCSJ1c2VsaWIiCQl9LCAvKiA4NiAqLworCXsgMSwJMCwJc3lzX3N3YXBvbiwJCSJzd2Fwb24iCQl9LCAvKiA4NyAqLworCXsgMywJMCwJc3lzX3JlYm9vdCwJCSJyZWJvb3QiCQl9LCAvKiA4OCAqLworCXsgNiwJMCwJc3lzX21tYXAsCQkibW1hcDIiCQkJfSwgLyogODkgKi8KKwl7IDYsCTAsCXN5c19tbWFwLAkJIm1tYXAiCQkJfSwgLyogOTAgKi8KKwl7IDIsCTAsCXN5c19tdW5tYXAsCQkibXVubWFwIgkJfSwgLyogOTEgKi8KKwl7IDIsCVRGLAlzeXNfdHJ1bmNhdGUsCQkidHJ1bmNhdGUiCQl9LCAvKiA5MiAqLworCXsgMiwJVEQsCXN5c19mdHJ1bmNhdGUsCQkiZnRydW5jYXRlIgkJfSwgLyogOTMgKi8KKwl7IDIsCVRELAlzeXNfZmNobW9kLAkJImZjaG1vZCIJCX0sIC8qIDk0ICovCisJeyAzLAlURCwJc3lzX2ZjaG93biwJCSJmY2hvd24iCQl9LCAvKiA5NSAqLworCXsgMiwJMCwJc3lzX2dldHByaW9yaXR5LAkiZ2V0cHJpb3JpdHkiCQl9LCAvKiA5NiAqLworCXsgMywJMCwJc3lzX3NldHByaW9yaXR5LAkic2V0cHJpb3JpdHkiCQl9LCAvKiA5NyAqLworCXsgNCwJVE4sCXN5c19yZWN2LAkJInJlY3YiCQkJfSwgLyogOTggKi8KKwl7IDIsCVRGLAlzeXNfc3RhdGZzLAkJInN0YXRmcyIJCX0sIC8qIDk5ICovCisJeyAyLAlURCwJc3lzX2ZzdGF0ZnMsCQkiZnN0YXRmcyIJCX0sIC8qIDEwMCAqLworCXsgMiwJVEYsCXN5c19zdGF0NjQsCQkic3RhdDY0IgkJfSwgLyogMTAxICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzEwMiIJCX0sIC8qIDEwMiAqLworCXsgMywJMCwJc3lzX3N5c2xvZywJCSJzeXNsb2ciCQl9LCAvKiAxMDMgKi8KKwl7IDMsCTAsCXN5c19zZXRpdGltZXIsCQkic2V0aXRpbWVyIgkJfSwgLyogMTA0ICovCisJeyAyLAkwLAlzeXNfZ2V0aXRpbWVyLAkJImdldGl0aW1lciIJCX0sIC8qIDEwNSAqLworCXsgMiwJMCwJc3lzX2NhcGdldCwJCSJjYXBnZXQiCQl9LCAvKiAxMDYgKi8KKwl7IDIsCTAsCXN5c19jYXBzZXQsCQkiY2Fwc2V0IgkJfSwgLyogMTA3ICovCisJeyA1LAlURCwJc3lzX3ByZWFkLAkJInByZWFkIgkJCX0sIC8qIDEwOCAqLworCXsgNSwJVEQsCXN5c19wd3JpdGUsCQkicHdyaXRlIgkJfSwgLyogMTA5ICovCisJeyAyLAkwLAlzeXNfZ2V0Y3dkLAkJImdldGN3ZCIJCX0sIC8qIDExMCAqLworCXsgMCwJMCwJc3lzX3ZoYW5ndXAsCQkidmhhbmd1cCIJCX0sIC8qIDExMSAqLworCXsgMiwJVEQsCXN5c19mc3RhdDY0LAkJImZzdGF0NjQiCQl9LCAvKiAxMTIgKi8KKwl7IDAsCTAsCXN5c192Zm9yaywJCSJ2Zm9yayIJCQl9LCAvKiAxMTMgKi8KKwl7IDQsCVRQLAlzeXNfd2FpdDQsCQkid2FpdDQiCQkJfSwgLyogMTE0ICovCisJeyAxLAkwLAlzeXNfc3dhcG9mZiwJCSJzd2Fwb2ZmIgkJfSwgLyogMTE1ICovCisJeyAxLAkwLAlzeXNfc3lzaW5mbywJCSJzeXNpbmZvIgkJfSwgLyogMTE2ICovCisJeyAyLAlUTiwJc3lzX3NodXRkb3duLAkJInNodXRkb3duIgkJfSwgLyogMTE3ICovCisJeyAxLAlURCwJc3lzX2ZzeW5jLAkJImZzeW5jIgkJCX0sIC8qIDExOCAqLworCXsgMywJMCwJc3lzX21hZHZpc2UsCQkibWFkdmlzZSIJCX0sIC8qIDExOSAqLworCXsgNSwJVFAsCXN5c19jbG9uZSwJCSJjbG9uZSIJCQl9LCAvKiAxMjAgKi8KKwl7IDIsCTAsCXN5c19zZXRkb21haW5uYW1lLAkic2V0ZG9tYWlubmFtZSIJCX0sIC8qIDEyMSAqLworCXsgNCwJVER8VE4sCXN5c19zZW5kZmlsZSwJCSJzZW5kZmlsZSIJCX0sIC8qIDEyMiAqLworCXsgNiwJVE4sCXN5c19yZWN2ZnJvbSwJCSJyZWN2ZnJvbSIJCX0sIC8qIDEyMyAqLworCXsgMSwJMCwJc3lzX2FkanRpbWV4LAkJImFkanRpbWV4IgkJfSwgLyogMTI0ICovCisJeyAzLAkwLAlzeXNfbXByb3RlY3QsCQkibXByb3RlY3QiCQl9LCAvKiAxMjUgKi8KKwl7IDMsCVRTLAlzeXNfc2lncHJvY21hc2ssCSJzaWdwcm9jbWFzayIJCX0sIC8qIDEyNiAqLworCXsgMiwJMCwJc3lzX2NyZWF0ZV9tb2R1bGUsCSJjcmVhdGVfbW9kdWxlIgkJfSwgLyogMTI3ICovCisJeyA0LAkwLAlzeXNfaW5pdF9tb2R1bGUsCSJpbml0X21vZHVsZSIJCX0sIC8qIDEyOCAqLworCXsgMiwJMCwJc3lzX2RlbGV0ZV9tb2R1bGUsCSJkZWxldGVfbW9kdWxlIgkJfSwgLyogMTI5ICovCisJeyAxLAkwLAlzeXNfZ2V0X2tlcm5lbF9zeW1zLAkiZ2V0X2tlcm5lbF9zeW1zIgl9LCAvKiAxMzAgKi8KKwl7IDQsCTAsCXN5c19xdW90YWN0bCwJCSJxdW90YWN0bCIJCX0sIC8qIDEzMSAqLworCXsgMSwJMCwJc3lzX2dldHBnaWQsCQkiZ2V0cGdpZCIJCX0sIC8qIDEzMiAqLworCXsgMSwJVEYsCXN5c19mY2hkaXIsCQkiZmNoZGlyIgkJfSwgLyogMTMzICovCisJeyAwLAkwLAlzeXNfYmRmbHVzaCwJCSJiZGZsdXNoIgkJfSwgLyogMTM0ICovCisJeyA1LAkwLAlzeXNfc3lzZnMsCQkic3lzZnMiCQkJfSwgLyogMTM1ICovCisJeyAxLAkwLAlzeXNfcGVyc29uYWxpdHksCSJwZXJzb25hbGl0eSIJCX0sIC8qIDEzNiAqLworCXsgNSwJMCwJc3lzX2Fmc19zeXNjYWxsLAkiYWZzX3N5c2NhbGwiCQl9LCAvKiAxMzcgKi8KKwl7IDEsCTAsCXN5c19zZXRmc3VpZCwJCSJzZXRmc3VpZCIJCX0sIC8qIDEzOCAqLworCXsgMSwJMCwJc3lzX3NldGZzZ2lkLAkJInNldGZzZ2lkIgkJfSwgLyogMTM5ICovCisJeyA1LAlURiwJc3lzX2xsc2VlaywJCSJfbGxzZWVrIgkJfSwgLyogMTQwICovCisJeyAzLAlURCwJc3lzX2dldGRlbnRzLAkJImdldGRlbnRzIgkJfSwgLyogMTQxICovCisJeyA1LAlURCwJc3lzX3NlbGVjdCwJCSJfbmV3c2VsZWN0IgkJfSwgLyogMTQyICovCisJeyAyLAlURCwJc3lzX2Zsb2NrLAkJImZsb2NrIgkJCX0sIC8qIDE0MyAqLworCXsgMywJMCwJc3lzX21zeW5jLAkJIm1zeW5jIgkJCX0sIC8qIDE0NCAqLworCXsgMywJVEQsCXN5c19yZWFkdiwJCSJyZWFkdiIJCQl9LCAvKiAxNDUgKi8KKwl7IDMsCVRELAlzeXNfd3JpdGV2LAkJIndyaXRldiIJCX0sIC8qIDE0NiAqLworCXsgMSwJMCwJc3lzX2dldHNpZCwJCSJnZXRzaWQiCQl9LCAvKiAxNDcgKi8KKwl7IDEsCVRELAlzeXNfZmRhdGFzeW5jLAkJImZkYXRhc3luYyIJCX0sIC8qIDE0OCAqLworCXsgMSwJMCwJc3lzX3N5c2N0bCwJCSJfc3lzY3RsIgkJfSwgLyogMTQ5ICovCisJeyAyLAkwLAlzeXNfbWxvY2ssCQkibWxvY2siCQkJfSwgLyogMTUwICovCisJeyAyLAkwLAlzeXNfbXVubG9jaywJCSJtdW5sb2NrIgkJfSwgLyogMTUxICovCisJeyAxLAkwLAlzeXNfbWxvY2thbGwsCQkibWxvY2thbGwiCQl9LCAvKiAxNTIgKi8KKwl7IDEsCTAsCXN5c19tdW5sb2NrYWxsLAkJIm11bmxvY2thbGwiCQl9LCAvKiAxNTMgKi8KKwl7IDIsCTAsCXN5c19zY2hlZF9zZXRwYXJhbSwJInNjaGVkX3NldHBhcmFtIgl9LCAvKiAxNTQgKi8KKwl7IDIsCTAsCXN5c19zY2hlZF9nZXRwYXJhbSwJInNjaGVkX2dldHBhcmFtIgl9LCAvKiAxNTUgKi8KKwl7IDMsCTAsCXN5c19zY2hlZF9zZXRzY2hlZHVsZXIsCSJzY2hlZF9zZXRzY2hlZHVsZXIiCX0sIC8qIDE1NiAqLworCXsgMiwJMCwJc3lzX3NjaGVkX2dldHNjaGVkdWxlciwJInNjaGVkX2dldHNjaGVkdWxlciIJfSwgLyogMTU3ICovCisJeyAwLAkwLAlzeXNfc2NoZWRfeWllbGQsCSJzY2hlZF95aWVsZCIJCX0sIC8qIDE1OCAqLworCXsgMSwJMCwJc3lzX3NjaGVkX2dldF9wcmlvcml0eV9tYXgsInNjaGVkX2dldF9wcmlvcml0eV9tYXgifSwgLyogMTU5ICovCisJeyAxLAkwLAlzeXNfc2NoZWRfZ2V0X3ByaW9yaXR5X21pbiwic2NoZWRfZ2V0X3ByaW9yaXR5X21pbiJ9LCAvKiAxNjAgKi8KKwl7IDIsCTAsCXN5c19zY2hlZF9ycl9nZXRfaW50ZXJ2YWwsInNjaGVkX3JyX2dldF9pbnRlcnZhbCJ9LCAvKiAxNjEgKi8KKwl7IDIsCTAsCXN5c19uYW5vc2xlZXAsCQkibmFub3NsZWVwIgkJfSwgLyogMTYyICovCisJeyA1LAkwLAlzeXNfbXJlbWFwLAkJIm1yZW1hcCIJCX0sIC8qIDE2MyAqLworCXsgMywJMCwJc3lzX3NldHJlc3VpZCwJCSJzZXRyZXN1aWQiCQl9LCAvKiAxNjQgKi8KKwl7IDMsCTAsCXN5c19zZXRyZXN1aWQsCQkiZ2V0cmVzdWlkIgkJfSwgLyogMTY1ICovCisJeyAyLAlUUywJc3lzX3NpZ2FsdHN0YWNrLAkic2lnYWx0c3RhY2siCQl9LCAvKiAxNjYgKi8KKwl7IDUsCTAsCXN5c19xdWVyeV9tb2R1bGUsCSJxdWVyeV9tb2R1bGUiCQl9LCAvKiAxNjcgKi8KKwl7IDMsCVRELAlzeXNfcG9sbCwJCSJwb2xsIgkJCX0sIC8qIDE2OCAqLworCXsgMywJMCwJcHJpbnRhcmdzLAkJIm5mc3NlcnZjdGwiCQl9LCAvKiAxNjkgKi8KKwl7IDMsCTAsCXN5c19zZXRyZXNnaWQsCQkic2V0cmVzZ2lkIgkJfSwgLyogMTcwICovCisJeyAzLAkwLAlzeXNfc2V0cmVzZ2lkLAkJImdldHJlc2dpZCIJCX0sIC8qIDE3MSAqLworCXsgNSwJMCwJc3lzX3ByY3RsLAkJInByY3RsIgkJCX0sIC8qIDE3MiAqLworCXsgMSwJVFMsCXN5c19zaWdyZXR1cm4sCQkicnRfc2lncmV0dXJuIgkJfSwgLyogMTczICovCisJeyA0LAlUUywJc3lzX3J0X3NpZ2FjdGlvbiwJInJ0X3NpZ2FjdGlvbiIJCX0sIC8qIDE3NCAqLworCXsgNCwJVFMsCXN5c19ydF9zaWdwcm9jbWFzaywJInJ0X3NpZ3Byb2NtYXNrIgl9LCAvKiAxNzUgKi8KKwl7IDIsCVRTLAlzeXNfcnRfc2lncGVuZGluZywJInJ0X3NpZ3BlbmRpbmciCQl9LCAvKiAxNzYgKi8KKwl7IDQsCVRTLAlzeXNfcnRfc2lndGltZWR3YWl0LAkicnRfc2lndGltZWR3YWl0Igl9LCAvKiAxNzcgKi8KKwl7IDMsCVRTLAlzeXNfcnRfc2lncXVldWVpbmZvLAkicnRfc2lncXVldWVpbmZvIgl9LCAvKiAxNzggKi8KKwl7IDIsCVRTLAlzeXNfcnRfc2lnc3VzcGVuZCwJInJ0X3NpZ3N1c3BlbmQiCQl9LCAvKiAxNzkgKi8KKwl7IDMsCVRGLAlzeXNfY2hvd24sCQkiY2hvd24iCQkJfSwgLyogMTgwICovCisJeyA1LAlUTiwJc3lzX3NldHNvY2tvcHQsCQkic2V0c29ja29wdCIJCX0sIC8qIDE4MSAqLworCXsgNSwJVE4sCXN5c19nZXRzb2Nrb3B0LAkJImdldHNvY2tvcHQiCQl9LCAvKiAxODIgKi8KKwl7IDUsCVROLAlzeXNfc2VuZG1zZywJCSJzZW5kbXNnIgkJfSwgLyogMTgzICovCisJeyA1LAlUTiwJc3lzX3JlY3Ztc2csCQkicmVjdm1zZyIJCX0sIC8qIDE4NCAqLworCXsgNCwJVEksCXN5c19zZW1vcCwJCSJzZW1vcCIJCQl9LCAvKiAxODUgKi8KKwl7IDQsCVRJLAlzeXNfc2VtZ2V0LAkJInNlbWdldCIJCX0sIC8qIDE4NiAqLworCXsgNCwJVEksCXN5c19zZW1jdGwsCQkic2VtY3RsIgkJfSwgLyogMTg3ICovCisJeyA0LAlUSSwJc3lzX21zZ3NuZCwJCSJtc2dzbmQiCQl9LCAvKiAxODggKi8KKwl7IDQsCVRJLAlzeXNfbXNncmN2LAkJIm1zZ3JjdiIJCX0sIC8qIDE4OSAqLworCXsgNCwJVEksCXN5c19tc2dnZXQsCQkibXNnZ2V0IgkJfSwgLyogMTkwICovCisJeyA0LAlUSSwJc3lzX21zZ2N0bCwJCSJtc2djdGwiCQl9LCAvKiAxOTEgKi8KKwl7IDMsCVRJLAlzeXNfc2htYXQsCQkic2htYXQiCQkJfSwgLyogMTkyICovCisJeyAxLAlUSSwJc3lzX3NobWR0LAkJInNobWR0IgkJCX0sIC8qIDE5MyAqLworCXsgMywJVEksCXN5c19zaG1nZXQsCQkic2htZ2V0IgkJfSwgLyogMTk0ICovCisJeyAzLAlUSSwJc3lzX3NobWN0bCwJCSJzaG1jdGwiCQl9LCAvKiAxOTUgKi8KKwl7IDUsCTAsCXN5c19nZXRwbXNnLAkJImdldHBtc2ciCQl9LCAvKiAxOTYgKi8KKwl7IDUsCTAsCXN5c19wdXRwbXNnLAkJInB1dHBtc2ciCQl9LCAvKiAxOTcgKi8KKwl7IDIsCVRGLAlzeXNfbHN0YXQ2NCwJCSJsc3RhdDY0IgkJfSwgLyogMTk4ICovCisJeyAzLAlURiwJc3lzX3RydW5jYXRlNjQsCQkidHJ1bmNhdGU2NCIJCX0sIC8qIDE5OSAqLworCXsgMywJVEQsCXN5c19mdHJ1bmNhdGU2NCwJImZ0cnVuY2F0ZTY0IgkJfSwgLyogMjAwICovCisJeyAzLAlURCwJc3lzX2dldGRlbnRzNjQsCQkiZ2V0ZGVudHM2NCIJCX0sIC8qIDIwMSAqLworCXsgMywJVEQsCXN5c19mY250bCwJCSJmY250bDY0IgkJfSwgLyogMjAyICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiYXR0cmN0bCIJCX0sIC8qIDIwMyAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJImFjbF9nZXQiCQl9LCAvKiAyMDQgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJhY2xfc2V0IgkJfSwgLyogMjA1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiZ2V0dGlkIgkJfSwgLyogMjA2ICovCisJeyA0LAlURCwJc3lzX3JlYWRhaGVhZCwJCSJyZWFkYWhlYWQiCQl9LCAvKiAyMDcgKi8KKwl7IDIsCVRTLAlzeXNfa2lsbCwJCSJ0a2lsbCIJCQl9LCAvKiAyMDggKi8KKwl7IDQsCVREfFROLAlzeXNfc2VuZGZpbGUsCQkic2VuZGZpbGU2NCIJCX0sIC8qIDIwOSAqLworCXsgNiwJMCwJc3lzX2Z1dGV4LAkJImZ1dGV4IgkJCX0sIC8qIDIxMCAqLworCXsgMywJMCwJc3lzX3NjaGVkX3NldGFmZmluaXR5LAkic2NoZWRfc2V0YWZmaW5pdHkiCX0sIC8qIDIxMSAqLworCXsgMywJMCwJc3lzX3NjaGVkX2dldGFmZmluaXR5LAkic2NoZWRfZ2V0YWZmaW5pdHkiCX0sIC8qIDIxMiAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJInNldF90aHJlYWRfYXJlYSIJfSwgLyogMjEzICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiZ2V0X3RocmVhZF9hcmVhIgl9LCAvKiAyMTQgKi8KKwl7IDIsCTAsCXN5c19pb19zZXR1cCwJCSJpb19zZXR1cCIJCX0sIC8qIDIxNSAqLworCXsgMSwJMCwJc3lzX2lvX2Rlc3Ryb3ksCQkiaW9fZGVzdHJveSIJCX0sIC8qIDIxNiAqLworCXsgNSwJMCwJc3lzX2lvX2dldGV2ZW50cywJCSJpb19nZXRldmVudHMiCQl9LCAvKiAyMTcgKi8KKwl7IDMsCTAsCXN5c19pb19zdWJtaXQsCQkiaW9fc3VibWl0IgkJfSwgLyogMjE4ICovCisJeyA0LAkwLAlzeXNfaW9fY2FuY2VsLAkJImlvX2NhbmNlbCIJCX0sIC8qIDIxOSAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJImFsbG9jX2h1Z2VwYWdlcyIJfSwgLyogMjIwICovCisJeyAxLAkwLAlwcmludGFyZ3MsCQkiZnJlZV9odWdlcGFnZXMiCX0sIC8qIDIyMSAqLworCXsgMSwJVFAsCXN5c19leGl0LAkJImV4aXRfZ3JvdXAiCQl9LCAvKiAyMjIgKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJsb29rdXBfZGNvb2tpZSIJfSwgLyogMjIzICovCisJeyAxLAkwLAlzeXNfZXBvbGxfY3JlYXRlLAkiZXBvbGxfY3JlYXRlIgkJfSwgLyogMjI0ICovCisJeyA0LAlURCwJc3lzX2Vwb2xsX2N0bCwJCSJlcG9sbF9jdGwiCQl9LCAvKiAyMjUgKi8KKwl7IDQsCVRELAlzeXNfZXBvbGxfd2FpdCwJCSJlcG9sbF93YWl0IgkJfSwgLyogMjI2ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkicmVtYXBfZmlsZV9wYWdlcyIJfSwgLyogMjI3ICovCisJeyA1LCAgICBUSSwgICAgIHN5c19zZW10aW1lZG9wLCAgICAgICAgICJzZW10aW1lZG9wIiAgICAgICAgICAgIH0sIC8qIDIyOCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIm1xX29wZW4iCQl9LCAvKiAyMjkgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJtcV91bmxpbmsiCQl9LCAvKiAyMzAgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJtcV90aW1lZHNlbmQiCQl9LCAvKiAyMzEgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJtcV90aW1lZHJlY2VpdmUiCQl9LCAvKiAyMzIgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJtcV9ub3RpZnkiCQl9LCAvKiAyMzMgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJtcV9nZXRzZXRhdHRyIgkJfSwgLyogMjM0ICovCisJeyA0LAkwLAlwcmludGFyZ3MsCQkid2FpdGlkIgkJfSwgLyogMjM1ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiZmFkdmlzZTY0XzY0IgkJfSwgLyogMjM2ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkic2V0X3RpZF9hZGRyZXNzIgl9LCAvKiAyMzcgKi8KKwl7IDUsCVRGLAlzeXNfc2V0eGF0dHIsCQkic2V0eGF0dHIiCQl9LCAvKiAyMzggKi8KKwl7IDUsCVRGLAlzeXNfc2V0eGF0dHIsCQkibHNldHhhdHRyIgkJfSwgLyogMjM5ICovCisJeyA1LAlURCwJc3lzX2ZzZXR4YXR0ciwJCSJmc2V0eGF0dHIiCQl9LCAvKiAyNDAgKi8KKwl7IDQsCVRGLAlzeXNfZ2V0eGF0dHIsCQkiZ2V0eGF0dHIiCQl9LCAvKiAyNDEgKi8KKwl7IDQsCVRGLAlzeXNfZ2V0eGF0dHIsCQkibGdldHhhdHRyIgkJfSwgLyogMjQyICovCisJeyA0LAkwLAlzeXNfZmdldHhhdHRyLAkJImZnZXR4YXR0ciIJCX0sIC8qIDI0MyAqLworCXsgNSwJVEYsCXN5c19saXN0eGF0dHIsCQkibGlzdHhhdHRyIgkJfSwgLyogMjQ0ICovCisJeyA1LAlURiwJc3lzX2xpc3R4YXR0ciwJCSJsbGlzdHhhdHRyIgkJfSwgLyogMjQ1ICovCisJeyA1LAkwLAlzeXNfZmxpc3R4YXR0ciwJCSJmbGlzdHhhdHRyIgkJfSwgLyogMjQ2ICovCisJeyA1LAlURiwJc3lzX3JlbW92ZXhhdHRyLAkicmVtb3ZleGF0dHIiCQl9LCAvKiAyNDcgKi8KKwl7IDUsCVRGLAlzeXNfcmVtb3ZleGF0dHIsCSJscmVtb3ZleGF0dHIiCQl9LCAvKiAyNDggKi8KKwl7IDUsCVRELAlzeXNfZnJlbW92ZXhhdHRyLAkiZnJlbW92ZXhhdHRyIgkJfSwgLyogMjQ5ICovCisJeyAzLAkwLAlzeXNfdGltZXJfY3JlYXRlLAkidGltZXJfY3JlYXRlIgkJfSwgLyogMjUwICovCisJeyA0LAkwLAlzeXNfdGltZXJfc2V0dGltZSwJInRpbWVyX3NldHRpbWUiCQl9LCAvKiAyNTEgKi8KKwl7IDIsCTAsCXN5c190aW1lcl9nZXR0aW1lLAkidGltZXJfZ2V0dGltZSIJCX0sIC8qIDI1MiAqLworCXsgMSwJMCwJc3lzX3RpbWVyX2dldG92ZXJydW4sCSJ0aW1lcl9nZXRvdmVycnVuIgl9LCAvKiAyNTMgKi8KKwl7IDEsCTAsCXN5c190aW1lcl9kZWxldGUsCSJ0aW1lcl9kZWxldGUiCQl9LCAvKiAyNTQgKi8KKwl7IDIsCTAsCXN5c19jbG9ja19zZXR0aW1lLAkiY2xvY2tfc2V0dGltZSIJCX0sIC8qIDI1NSAqLworCXsgMiwJMCwJc3lzX2Nsb2NrX2dldHRpbWUsCSJjbG9ja19nZXR0aW1lIgkJfSwgLyogMjU2ICovCisJeyAyLAkwLAlzeXNfY2xvY2tfZ2V0cmVzLAkiY2xvY2tfZ2V0cmVzIgkJfSwgLyogMjU3ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiY2xvY2tfbmFub3NsZWVwIgl9LCAvKiAyNTggKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJ0Z2tpbGwiCQl9LCAvKiAyNTkgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJtYmluZCIJCQl9LCAvKiAyNjAgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJnZXRfbWVtcG9saWN5IgkJfSwgLyogMjYxICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkic2V0X21lbXBvbGljeSIJCX0sIC8qIDI2MiAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJInZzZXJ2ZXIiCQl9LCAvKiAyNjMgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJhZGRfa2V5IgkJfSwgLyogMjY0ICovCisJeyA0LAkwLAlwcmludGFyZ3MsCQkicmVxdWVzdF9rZXkiCQl9LCAvKiAyNjUgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJrZXljdGwiCQl9LCAvKiAyNjYgKi8KKwl7IDMsCTAsCXByaW50YXJncywJCSJpb3ByaW9fc2V0IgkJfSwgLyogMjY3ICovCisJeyAyLAkwLAlwcmludGFyZ3MsCQkiaW9wcmlvX2dldCIJCX0sIC8qIDI2OCAqLworCXsgMCwJVEQsCXByaW50YXJncywJCSJpbm90aWZ5X2luaXQiCQl9LCAvKiAyNjkgKi8KKwl7IDMsCVRELAlzeXNfaW5vdGlmeV9hZGRfd2F0Y2gsCSJpbm90aWZ5X2FkZF93YXRjaCIJfSwgLyogMjcwICovCisJeyAyLAlURCwJc3lzX2lub3RpZnlfcm1fd2F0Y2gsCSJpbm90aWZ5X3JtX3dhdGNoIgl9LCAvKiAyNzEgKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJtaWdyYXRlX3BhZ2VzIgkJfSwgLyogMjcyICovCisJeyA2LAlURCwJc3lzX3BzZWxlY3Q2LAkJInBzZWxlY3Q2IgkJfSwgLyogMjczICovCisJeyA1LAlURCwJc3lzX3Bwb2xsLAkJInBwb2xsIgkJCX0sIC8qIDI3NCAqLworCXsgNCwJVER8VEYsCXN5c19vcGVuYXQsCQkib3BlbmF0IgkJfSwgLyogMjc1ICovCisJeyAzLAlURHxURiwJc3lzX21rZGlyYXQsCQkibWtkaXJhdCIJCX0sIC8qIDI3NiAqLworCXsgNCwJVER8VEYsCXN5c19ta25vZGF0LAkJIm1rbm9kYXQiCQl9LCAvKiAyNzcgKi8KKwl7IDUsCVREfFRGLAlzeXNfZmNob3duYXQsCQkiZmNob3duYXQiCQl9LCAvKiAyNzggKi8KKwl7IDMsCVREfFRGLAlzeXNfZnV0aW1lc2F0LAkJImZ1dGltZXNhdCIJCX0sIC8qIDI3OSAqLworCXsgNCwJVER8VEQsCXN5c19uZXdmc3RhdGF0LAkJIm5ld2ZzdGF0YXQiCQl9LCAvKiAyODAgKi8KKwl7IDMsCVREfFRGLAlzeXNfdW5saW5rYXQsCQkidW5saW5rYXQiCQl9LCAvKiAyODEgKi8KKwl7IDQsCVREfFRGLAlzeXNfcmVuYW1lYXQsCQkicmVuYW1lYXQiCQl9LCAvKiAyODIgKi8KKwl7IDUsCVREfFRGLAlzeXNfbGlua2F0LAkJImxpbmthdCIJCX0sIC8qIDI4MyAqLworCXsgMywJVER8VEYsCXN5c19zeW1saW5rYXQsCQkic3ltbGlua2F0IgkJfSwgLyogMjg0ICovCisJeyA0LAlURHxURiwJc3lzX3JlYWRsaW5rYXQsCQkicmVhZGxpbmthdCIJCX0sIC8qIDI4NSAqLworCXsgMywJVER8VEYsCXN5c19mY2htb2RhdCwJCSJmY2htb2RhdCIJCX0sIC8qIDI4NiAqLworCXsgMywJVER8VEYsCXN5c19mYWNjZXNzYXQsCQkiZmFjY2Vzc2F0IgkJfSwgLyogMjg3ICovCisJeyAxLAlUUCwJc3lzX3Vuc2hhcmUsCQkidW5zaGFyZSIJCX0sIC8qIDI4OCAqLworCXsgMiwJMCwJcHJpbnRhcmdzLAkJInNldF9yb2J1c3RfbGlzdCIJfSwgLyogMjg5ICovCisJeyAzLAkwLAlwcmludGFyZ3MsCQkiZ2V0X3JvYnVzdF9saXN0Igl9LCAvKiAyOTAgKi8KKwl7IDYsCVRELAlwcmludGFyZ3MsCQkic3BsaWNlIgkJfSwgLyogMjkxICovCisJeyA0LAlURCwJcHJpbnRhcmdzLAkJInN5bmNfZmlsZV9yYW5nZSIJfSwgLyogMjkyICovCisJeyA0LAlURCwJcHJpbnRhcmdzLAkJInRlZSIJCQl9LCAvKiAyOTMgKi8KKwl7IDQsCVRELAlwcmludGFyZ3MsCQkidm1zcGxpY2UiCQl9LCAvKiAyOTQgKi8KKwl7IDYsCTAsCXN5c19tb3ZlX3BhZ2VzLAkJIm1vdmVfcGFnZXMiCQl9LCAvKiAyOTUgKi8KKwl7IDMsCTAsCXN5c19nZXRjcHUsCQkiZ2V0Y3B1IgkJfSwgLyogMjk2ICovCisJeyA2LAlURCwJc3lzX2Vwb2xsX3B3YWl0LAkiZXBvbGxfcHdhaXQiCQl9LCAvKiAyOTcgKi8KKwl7IDMsCVRGLAlzeXNfc3RhdGZzNjQsCQkic3RhdGZzNjQiCQl9LCAvKiAyOTggKi8KKwl7IDMsCVRELAlzeXNfZnN0YXRmczY0LAkJImZzdGF0ZnM2NCIJCX0sIC8qIDI5OSAqLworCXsgNCwJMCwJcHJpbnRhcmdzLAkJImtleGVjX2xvYWQiCQl9LCAvKiAzMDAgKi8KKwl7IDQsCVREfFRGLAlzeXNfdXRpbWVuc2F0LAkJInV0aW1lbnNhdCIJCX0sIC8qIDMwMSAqLworCXsgMywJVEQsCXByaW50YXJncywJCSJzaWduYWxmZCIJCX0sIC8qIDMwMiAqLworCXsgNCwJVEQsCXByaW50YXJncywJCSJ0aW1lcmZkIgkJfSwgLyogMzAzICovCisJeyAxLAlURCwJc3lzX2V2ZW50ZmQsCQkiZXZlbnRmZCIJCX0sIC8qIDMwNCAqLworCXsgNiwJVEYsCXN5c19mYWxsb2NhdGUsCQkiZmFsbG9jYXRlIgkJfSwgLyogMzA1ICovCisJeyAyLAlURCwJc3lzX3RpbWVyZmRfY3JlYXRlLAkidGltZXJmZF9jcmVhdGUiCX0sIC8qIDMwNiAqLworCXsgNCwJVEQsCXN5c190aW1lcmZkX3NldHRpbWUsCSJ0aW1lcmZkX3NldHRpbWUiCX0sIC8qIDMwNyAqLworCXsgMiwJVEQsCXN5c190aW1lcmZkX2dldHRpbWUsCSJ0aW1lcmZkX2dldHRpbWUiCX0sIC8qIDMwOCAqLworCXsgNCwJVER8VFMsCXN5c19zaWduYWxmZDQsCQkic2lnbmFsZmQ0IgkJfSwgLyogMzA5ICovCisJeyAyLAlURCwJc3lzX2V2ZW50ZmQyLAkJImV2ZW50ZmQyIgkJfSwgLyogMzEwICovCisJeyAxLAkwLAlzeXNfZXBvbGxfY3JlYXRlMSwJImVwb2xsX2NyZWF0ZTEiCQl9LCAvKiAzMTEgKi8KKwl7IDMsCVRELAlzeXNfZHVwMywJCSJkdXAzIgkJCX0sIC8qIDMxMiAqLworCXsgMiwJVEQsCXN5c19waXBlMiwJCSJwaXBlMiIJCQl9LCAvKiAzMTMgKi8KKwl7IDEsCVRELAlzeXNfaW5vdGlmeV9pbml0MSwJImlub3RpZnlfaW5pdDEiCQl9LCAvKiAzMTQgKi8KKwl7IDUsCVRELAlwcmludGFyZ3MsCQkicHJlYWR2IgkJfSwgLyogMzE1ICovCisJeyA1LAlURCwJcHJpbnRhcmdzLAkJInB3cml0ZXYiCQl9LCAvKiAzMTYgKi8KKwl7IDQsCVRQfFRTLAlwcmludGFyZ3MsCQkicnRfdGdzaWdxdWV1ZWluZm8iCX0sIC8qIDMxNyAqLworCXsgNSwJVEQsCXByaW50YXJncywJCSJwZXJmX2V2ZW50X29wZW4iCX0sIC8qIDMxOCAqLwpkaWZmIC0tZ2l0IGEvc3RyYWNlLTQuNS4yMC9saW51eC9pMzg2L3N5c2NhbGxlbnQuaCBiL3N0cmFjZS00LjUuMjAvbGludXgvaTM4Ni9zeXNjYWxsZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTg2NDMzZgotLS0gL2Rldi9udWxsCisrKyBiL3N0cmFjZS00LjUuMjAvbGludXgvaTM4Ni9zeXNjYWxsZW50LmgKQEAgLTAsMCArMSw0ODUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDE5OTMgQnJhbmtvIExhbmtlc3RlciA8YnJhbmtvQGhhY2t0aWMubmw+CisgKiBDb3B5cmlnaHQgKGMpIDE5OTMsIDE5OTQsIDE5OTUgUmljayBTbGFka2V5IDxqcnNAd29ybGQuc3RkLmNvbT4KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBUaGUgbmFtZSBvZiB0aGUgYXV0aG9yIG1heSBub3QgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMKKyAqICAgIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIEFVVEhPUiBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCisgKiBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELgorICogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAorICogSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUCisgKiBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqCisgKgkkSWQkCisgKi8KKworCXsgMCwJMCwJc3lzX3Jlc3RhcnRfc3lzY2FsbCwJInJlc3RhcnRfc3lzY2FsbCIgfSwgLyogMCAqLworCXsgMSwJVFAsCXN5c19leGl0LAkJIl9leGl0IiwgU1lTX2V4aXQgfSwgLyogMSAqLworCXsgMCwJVFAsCXN5c19mb3JrLAkJImZvcmsiLCBTWVNfZm9yayB9LCAvKiAyICovCisJeyAzLAlURCwJc3lzX3JlYWQsCQkicmVhZCIsIFNZU19yZWFkIH0sIC8qIDMgKi8KKwl7IDMsCVRELAlzeXNfd3JpdGUsCQkid3JpdGUiLCBTWVNfd3JpdGUgfSwgLyogNCAqLworCXsgMywJVER8VEYsCXN5c19vcGVuLAkJIm9wZW4iCQl9LCAvKiA1ICovCisJeyAxLAlURCwJc3lzX2Nsb3NlLAkJImNsb3NlIgkJfSwgLyogNiAqLworCXsgMywJVFAsCXN5c193YWl0cGlkLAkJIndhaXRwaWQiLCBTWVNfd2FpdDQgfSwgLyogNyAqLworCXsgMiwJVER8VEYsCXN5c19jcmVhdCwJCSJjcmVhdCIJCX0sIC8qIDggKi8KKwl7IDIsCVRGLAlzeXNfbGluaywJCSJsaW5rIgkJfSwgLyogOSAqLworCXsgMSwJVEYsCXN5c191bmxpbmssCQkidW5saW5rIgl9LCAvKiAxMCAqLworCXsgMywJVEZ8VFAsCXN5c19leGVjdmUsCQkiZXhlY3ZlIiwgU1lTX2V4ZWN2ZSB9LCAvKiAxMSAqLworCXsgMSwJVEYsCXN5c19jaGRpciwJCSJjaGRpciIJCX0sIC8qIDEyICovCisJeyAxLAkwLAlzeXNfdGltZSwJCSJ0aW1lIgkJfSwgLyogMTMgKi8KKwl7IDMsCVRGLAlzeXNfbWtub2QsCQkibWtub2QiCQl9LCAvKiAxNCAqLworCXsgMiwJVEYsCXN5c19jaG1vZCwJCSJjaG1vZCIJCX0sIC8qIDE1ICovCisJeyAzLAlURiwJc3lzX2Nob3duLAkJImxjaG93biIJfSwgLyogMTYgKi8KKwl7IDAsCTAsCXN5c19icmVhaywJCSJicmVhayIJCX0sIC8qIDE3ICovCisJeyAyLAlURiwJc3lzX29sZHN0YXQsCQkib2xkc3RhdCIJfSwgLyogMTggKi8KKwl7IDMsCVRELAlzeXNfbHNlZWssCQkibHNlZWsiCQl9LCAvKiAxOSAqLworCXsgMCwJMCwJc3lzX2dldHBpZCwJCSJnZXRwaWQiCX0sIC8qIDIwICovCisJeyA1LAlURiwJc3lzX21vdW50LAkJIm1vdW50IgkJfSwgLyogMjEgKi8KKwl7IDEsCVRGLAlzeXNfdW1vdW50LAkJIm9sZHVtb3VudCIJfSwgLyogMjIgKi8KKwl7IDEsCTAsCXN5c19zZXR1aWQsCQkic2V0dWlkIgl9LCAvKiAyMyAqLworCXsgMCwJMCwJc3lzX2dldHVpZCwJCSJnZXR1aWQiCX0sIC8qIDI0ICovCisJeyAxLAkwLAlzeXNfc3RpbWUsCQkic3RpbWUiCQl9LCAvKiAyNSAqLworCXsgNCwJMCwJc3lzX3B0cmFjZSwJCSJwdHJhY2UiCX0sIC8qIDI2ICovCisJeyAxLAkwLAlzeXNfYWxhcm0sCQkiYWxhcm0iCQl9LCAvKiAyNyAqLworCXsgMiwJVEQsCXN5c19vbGRmc3RhdCwJCSJvbGRmc3RhdCIJfSwgLyogMjggKi8KKwl7IDAsCVRTLAlzeXNfcGF1c2UsCQkicGF1c2UiCQl9LCAvKiAyOSAqLworCXsgMiwJVEYsCXN5c191dGltZSwJCSJ1dGltZSIJCX0sIC8qIDMwICovCisJeyAyLAkwLAlzeXNfc3R0eSwJCSJzdHR5IgkJfSwgLyogMzEgKi8KKwl7IDIsCTAsCXN5c19ndHR5LAkJImd0dHkiCQl9LCAvKiAzMiAqLworCXsgMiwJVEYsCXN5c19hY2Nlc3MsCQkiYWNjZXNzIgl9LCAvKiAzMyAqLworCXsgMSwJMCwJc3lzX25pY2UsCQkibmljZSIJCX0sIC8qIDM0ICovCisJeyAwLAkwLAlzeXNfZnRpbWUsCQkiZnRpbWUiCQl9LCAvKiAzNSAqLworCXsgMCwJMCwJc3lzX3N5bmMsCQkic3luYyIJCX0sIC8qIDM2ICovCisJeyAyLAlUUywJc3lzX2tpbGwsCQkia2lsbCIJCX0sIC8qIDM3ICovCisJeyAyLAlURiwJc3lzX3JlbmFtZSwJCSJyZW5hbWUiCX0sIC8qIDM4ICovCisJeyAyLAlURiwJc3lzX21rZGlyLAkJIm1rZGlyIgkJfSwgLyogMzkgKi8KKwl7IDEsCVRGLAlzeXNfcm1kaXIsCQkicm1kaXIiCQl9LCAvKiA0MCAqLworCXsgMSwJVEQsCXN5c19kdXAsCQkiZHVwIgkJfSwgLyogNDEgKi8KKwl7IDEsCVRELAlzeXNfcGlwZSwJCSJwaXBlIgkJfSwgLyogNDIgKi8KKwl7IDEsCTAsCXN5c190aW1lcywJCSJ0aW1lcyIJCX0sIC8qIDQzICovCisJeyAwLAkwLAlzeXNfcHJvZiwJCSJwcm9mIgkJfSwgLyogNDQgKi8KKwl7IDEsCTAsCXN5c19icmssCQkiYnJrIgkJfSwgLyogNDUgKi8KKwl7IDEsCTAsCXN5c19zZXRnaWQsCQkic2V0Z2lkIgl9LCAvKiA0NiAqLworCXsgMCwJMCwJc3lzX2dldGdpZCwJCSJnZXRnaWQiCX0sIC8qIDQ3ICovCisJeyAzLAlUUywJc3lzX3NpZ25hbCwJCSJzaWduYWwiCX0sIC8qIDQ4ICovCisJeyAwLAkwLAlzeXNfZ2V0ZXVpZCwJCSJnZXRldWlkIgl9LCAvKiA0OSAqLworCXsgMCwJMCwJc3lzX2dldGVnaWQsCQkiZ2V0ZWdpZCIJfSwgLyogNTAgKi8KKwl7IDEsCVRGLAlzeXNfYWNjdCwJCSJhY2N0IgkJfSwgLyogNTEgKi8KKwl7IDIsCVRGLAlzeXNfdW1vdW50MiwJCSJ1bW91bnQiCX0sIC8qIDUyICovCisJeyAwLAkwLAlzeXNfbG9jaywJCSJsb2NrIgkJfSwgLyogNTMgKi8KKwl7IDMsCVRELAlzeXNfaW9jdGwsCQkiaW9jdGwiCQl9LCAvKiA1NCAqLworCXsgMywJVEQsCXN5c19mY250bCwJCSJmY250bCIJCX0sIC8qIDU1ICovCisJeyAwLAkwLAlzeXNfbXB4LAkJIm1weCIJCX0sIC8qIDU2ICovCisJeyAyLAkwLAlzeXNfc2V0cGdpZCwJCSJzZXRwZ2lkIgl9LCAvKiA1NyAqLworCXsgMiwJMCwJc3lzX3VsaW1pdCwJCSJ1bGltaXQiCX0sIC8qIDU4ICovCisJeyAxLAkwLAlzeXNfb2xkb2xkdW5hbWUsCSJvbGRvbGR1bmFtZSIJfSwgLyogNTkgKi8KKwl7IDEsCTAsCXN5c191bWFzaywJCSJ1bWFzayIJCX0sIC8qIDYwICovCisJeyAxLAlURiwJc3lzX2Nocm9vdCwJCSJjaHJvb3QiCX0sIC8qIDYxICovCisJeyAyLAkwLAlzeXNfdXN0YXQsCQkidXN0YXQiCQl9LCAvKiA2MiAqLworCXsgMiwJVEQsCXN5c19kdXAyLAkJImR1cDIiCQl9LCAvKiA2MyAqLworCXsgMCwJMCwJc3lzX2dldHBwaWQsCQkiZ2V0cHBpZCIJfSwgLyogNjQgKi8KKwl7IDAsCTAsCXN5c19nZXRwZ3JwLAkJImdldHBncnAiCX0sIC8qIDY1ICovCisJeyAwLAkwLAlzeXNfc2V0c2lkLAkJInNldHNpZCIJfSwgLyogNjYgKi8KKwl7IDMsCVRTLAlzeXNfc2lnYWN0aW9uLAkJInNpZ2FjdGlvbiIJfSwgLyogNjcgKi8KKwl7IDAsCVRTLAlzeXNfc2lnZ2V0bWFzaywJCSJzaWdnZXRtYXNrIgl9LCAvKiA2OCAqLworCXsgMSwJVFMsCXN5c19zaWdzZXRtYXNrLAkJInNpZ3NldG1hc2siCX0sIC8qIDY5ICovCisJeyAyLAkwLAlzeXNfc2V0cmV1aWQsCQkic2V0cmV1aWQiCX0sIC8qIDcwICovCisJeyAyLAkwLAlzeXNfc2V0cmVnaWQsCQkic2V0cmVnaWQiCX0sIC8qIDcxICovCisJeyAzLAlUUywJc3lzX3NpZ3N1c3BlbmQsCQkic2lnc3VzcGVuZCIJfSwgLyogNzIgKi8KKwl7IDEsCVRTLAlzeXNfc2lncGVuZGluZywJCSJzaWdwZW5kaW5nIgl9LCAvKiA3MyAqLworCXsgMiwJMCwJc3lzX3NldGhvc3RuYW1lLAkic2V0aG9zdG5hbWUiCX0sIC8qIDc0ICovCisJeyAyLAkwLAlzeXNfc2V0cmxpbWl0LAkJInNldHJsaW1pdCIJfSwgLyogNzUgKi8KKwl7IDIsCTAsCXN5c19nZXRybGltaXQsCQkib2xkX2dldHJsaW1pdCIJfSwgLyogNzYgKi8KKwl7IDIsCTAsCXN5c19nZXRydXNhZ2UsCQkiZ2V0cnVzYWdlIgl9LCAvKiA3NyAqLworCXsgMiwJMCwJc3lzX2dldHRpbWVvZmRheSwJImdldHRpbWVvZmRheSIJfSwgLyogNzggKi8KKwl7IDIsCTAsCXN5c19zZXR0aW1lb2ZkYXksCSJzZXR0aW1lb2ZkYXkiCX0sIC8qIDc5ICovCisJeyAyLAkwLAlzeXNfZ2V0Z3JvdXBzLAkJImdldGdyb3VwcyIJfSwgLyogODAgKi8KKwl7IDIsCTAsCXN5c19zZXRncm91cHMsCQkic2V0Z3JvdXBzIgl9LCAvKiA4MSAqLworCXsgMSwJVEQsCXN5c19vbGRzZWxlY3QsCQkib2xkc2VsZWN0Igl9LCAvKiA4MiAqLworCXsgMiwJVEYsCXN5c19zeW1saW5rLAkJInN5bWxpbmsiCX0sIC8qIDgzICovCisJeyAyLAlURiwJc3lzX29sZGxzdGF0LAkJIm9sZGxzdGF0Igl9LCAvKiA4NCAqLworCXsgMywJVEYsCXN5c19yZWFkbGluaywJCSJyZWFkbGluayIJfSwgLyogODUgKi8KKwl7IDEsCVRGLAlzeXNfdXNlbGliLAkJInVzZWxpYiIJfSwgLyogODYgKi8KKwl7IDEsCVRGLAlzeXNfc3dhcG9uLAkJInN3YXBvbiIJfSwgLyogODcgKi8KKwl7IDMsCTAsCXN5c19yZWJvb3QsCQkicmVib290Igl9LCAvKiA4OCAqLworCXsgMywJVEQsCXN5c19yZWFkZGlyLAkJInJlYWRkaXIiCX0sIC8qIDg5ICovCisJeyA2LAlURCwJc3lzX29sZF9tbWFwLAkJIm9sZF9tbWFwIgl9LCAvKiA5MCAqLworCXsgMiwJMCwJc3lzX211bm1hcCwJCSJtdW5tYXAiCX0sIC8qIDkxICovCisJeyAyLAlURiwJc3lzX3RydW5jYXRlLAkJInRydW5jYXRlIgl9LCAvKiA5MiAqLworCXsgMiwJVEQsCXN5c19mdHJ1bmNhdGUsCQkiZnRydW5jYXRlIgl9LCAvKiA5MyAqLworCXsgMiwJVEQsCXN5c19mY2htb2QsCQkiZmNobW9kIgl9LCAvKiA5NCAqLworCXsgMywJVEQsCXN5c19mY2hvd24sCQkiZmNob3duIgl9LCAvKiA5NSAqLworCXsgMiwJMCwJc3lzX2dldHByaW9yaXR5LAkiZ2V0cHJpb3JpdHkiCX0sIC8qIDk2ICovCisJeyAzLAkwLAlzeXNfc2V0cHJpb3JpdHksCSJzZXRwcmlvcml0eSIJfSwgLyogOTcgKi8KKwl7IDQsCTAsCXN5c19wcm9maWwsCQkicHJvZmlsIgl9LCAvKiA5OCAqLworCXsgMiwJVEYsCXN5c19zdGF0ZnMsCQkic3RhdGZzIgl9LCAvKiA5OSAqLworCXsgMiwJVEQsCXN5c19mc3RhdGZzLAkJImZzdGF0ZnMiCX0sIC8qIDEwMCAqLworCXsgMywJMCwJc3lzX2lvcGVybSwJCSJpb3Blcm0iCX0sIC8qIDEwMSAqLworCXsgMiwJVEQsCXN5c19zb2NrZXRjYWxsLAkJInNvY2tldGNhbGwiLCBTWVNfc29ja2V0Y2FsbCB9LCAvKiAxMDIgKi8KKwl7IDMsCTAsCXN5c19zeXNsb2csCQkic3lzbG9nIgl9LCAvKiAxMDMgKi8KKwl7IDMsCTAsCXN5c19zZXRpdGltZXIsCQkic2V0aXRpbWVyIgl9LCAvKiAxMDQgKi8KKwl7IDIsCTAsCXN5c19nZXRpdGltZXIsCQkiZ2V0aXRpbWVyIgl9LCAvKiAxMDUgKi8KKwl7IDIsCVRGLAlzeXNfc3RhdCwJCSJzdGF0IgkJfSwgLyogMTA2ICovCisJeyAyLAlURiwJc3lzX2xzdGF0LAkJImxzdGF0IgkJfSwgLyogMTA3ICovCisJeyAyLAlURCwJc3lzX2ZzdGF0LAkJImZzdGF0IgkJfSwgLyogMTA4ICovCisJeyAxLAkwLAlzeXNfb2xkdW5hbWUsCQkib2xkdW5hbWUiCX0sIC8qIDEwOSAqLworCXsgMSwJMCwJc3lzX2lvcGwsCQkiaW9wbCIJCX0sIC8qIDExMCAqLworCXsgMCwJMCwJc3lzX3ZoYW5ndXAsCQkidmhhbmd1cCIJfSwgLyogMTExICovCisJeyAwLAkwLAlzeXNfaWRsZSwJCSJpZGxlIgkJfSwgLyogMTEyICovCisJeyAxLAkwLAlzeXNfdm04Nm9sZCwJCSJ2bTg2b2xkIgl9LCAvKiAxMTMgKi8KKwl7IDQsCVRQLAlzeXNfd2FpdDQsCQkid2FpdDQiLCBTWVNfd2FpdDQgfSwgLyogMTE0ICovCisJeyAxLAkwLAlzeXNfc3dhcG9mZiwJCSJzd2Fwb2ZmIgl9LCAvKiAxMTUgKi8KKwl7IDEsCTAsCXN5c19zeXNpbmZvLAkJInN5c2luZm8iCX0sIC8qIDExNiAqLworCXsgNiwJMCwJc3lzX2lwYywJCSJpcGMiLCBTWVNfaXBjIH0sIC8qIDExNyAqLworCXsgMSwJVEQsCXN5c19mc3luYywJCSJmc3luYyIJCX0sIC8qIDExOCAqLworCXsgMSwJVFMsCXN5c19zaWdyZXR1cm4sCQkic2lncmV0dXJuIgl9LCAvKiAxMTkgKi8KKwl7IDUsCVRQLAlzeXNfY2xvbmUsCQkiY2xvbmUiLCBTWVNfY2xvbmUgfSwgLyogMTIwICovCisJeyAyLAkwLAlzeXNfc2V0ZG9tYWlubmFtZSwJInNldGRvbWFpbm5hbWUiCX0sIC8qIDEyMSAqLworCXsgMSwJMCwJc3lzX3VuYW1lLAkJInVuYW1lIgkJfSwgLyogMTIyICovCisJeyAzLAkwLAlzeXNfbW9kaWZ5X2xkdCwJCSJtb2RpZnlfbGR0Igl9LCAvKiAxMjMgKi8KKwl7IDEsCTAsCXN5c19hZGp0aW1leCwJCSJhZGp0aW1leCIJfSwgLyogMTI0ICovCisJeyAzLAkwLAlzeXNfbXByb3RlY3QsCQkibXByb3RlY3QiCX0sIC8qIDEyNSAqLworCXsgMywJVFMsCXN5c19zaWdwcm9jbWFzaywJInNpZ3Byb2NtYXNrIgl9LCAvKiAxMjYgKi8KKwl7IDIsCTAsCXN5c19jcmVhdGVfbW9kdWxlLAkiY3JlYXRlX21vZHVsZSIJfSwgLyogMTI3ICovCisJeyAzLAkwLAlzeXNfaW5pdF9tb2R1bGUsCSJpbml0X21vZHVsZSIJfSwgLyogMTI4ICovCisJeyAyLAkwLAlzeXNfZGVsZXRlX21vZHVsZSwJImRlbGV0ZV9tb2R1bGUiCX0sIC8qIDEyOSAqLworCXsgMSwJMCwJc3lzX2dldF9rZXJuZWxfc3ltcywJImdldF9rZXJuZWxfc3ltcyJ9LCAvKiAxMzAgKi8KKwl7IDQsCTAsCXN5c19xdW90YWN0bCwJCSJxdW90YWN0bCIJfSwgLyogMTMxICovCisJeyAxLAkwLAlzeXNfZ2V0cGdpZCwJCSJnZXRwZ2lkIgl9LCAvKiAxMzIgKi8KKwl7IDEsCVRELAlzeXNfZmNoZGlyLAkJImZjaGRpciIJfSwgLyogMTMzICovCisJeyAwLAkwLAlzeXNfYmRmbHVzaCwJCSJiZGZsdXNoIgl9LCAvKiAxMzQgKi8KKwl7IDMsCTAsCXN5c19zeXNmcywJCSJzeXNmcyIsIFNZU19zeXNmcyB9LCAvKiAxMzUgKi8KKwl7IDEsCTAsCXN5c19wZXJzb25hbGl0eSwJInBlcnNvbmFsaXR5Igl9LCAvKiAxMzYgKi8KKwl7IDUsCTAsCXN5c19hZnNfc3lzY2FsbCwJImFmc19zeXNjYWxsIgl9LCAvKiAxMzcgKi8KKwl7IDEsCTAsCXN5c19zZXRmc3VpZCwJCSJzZXRmc3VpZCIJfSwgLyogMTM4ICovCisJeyAxLAkwLAlzeXNfc2V0ZnNnaWQsCQkic2V0ZnNnaWQiCX0sIC8qIDEzOSAqLworCXsgNSwJVEQsCXN5c19sbHNlZWssCQkiX2xsc2VlayIJfSwgLyogMTQwICovCisJeyAzLAlURCwJc3lzX2dldGRlbnRzLAkJImdldGRlbnRzIgl9LCAvKiAxNDEgKi8KKwl7IDUsCVRELAlzeXNfc2VsZWN0LAkJInNlbGVjdCIJfSwgLyogMTQyICovCisJeyAyLAlURCwJc3lzX2Zsb2NrLAkJImZsb2NrIgkJfSwgLyogMTQzICovCisJeyAzLAkwLAlzeXNfbXN5bmMsCQkibXN5bmMiCQl9LCAvKiAxNDQgKi8KKwl7IDMsCVRELAlzeXNfcmVhZHYsCQkicmVhZHYiLCBTWVNfcmVhZHYgfSwgLyogMTQ1ICovCisJeyAzLAlURCwJc3lzX3dyaXRldiwJCSJ3cml0ZXYiLCBTWVNfd3JpdGV2IH0sIC8qIDE0NiAqLworCXsgMSwJMCwJc3lzX2dldHNpZCwJCSJnZXRzaWQiCX0sIC8qIDE0NyAqLworCXsgMSwJVEQsCXN5c19mZGF0YXN5bmMsCQkiZmRhdGFzeW5jIgl9LCAvKiAxNDggKi8KKwl7IDEsCTAsCXN5c19zeXNjdGwsCQkiX3N5c2N0bCIJfSwgLyogMTQ5ICovCisJeyAyLAkwLAlzeXNfbWxvY2ssCQkibWxvY2siCQl9LCAvKiAxNTAgKi8KKwl7IDIsCTAsCXN5c19tdW5sb2NrLAkJIm11bmxvY2siCX0sIC8qIDE1MSAqLworCXsgMiwJMCwJc3lzX21sb2NrYWxsLAkJIm1sb2NrYWxsIgl9LCAvKiAxNTIgKi8KKwl7IDAsCTAsCXN5c19tdW5sb2NrYWxsLAkJIm11bmxvY2thbGwiCX0sIC8qIDE1MyAqLworCXsgMCwJMCwJc3lzX3NjaGVkX3NldHBhcmFtLAkic2NoZWRfc2V0cGFyYW0ifSwgLyogMTU0ICovCisJeyAyLAkwLAlzeXNfc2NoZWRfZ2V0cGFyYW0sCSJzY2hlZF9nZXRwYXJhbSJ9LCAvKiAxNTUgKi8KKwl7IDMsCTAsCXN5c19zY2hlZF9zZXRzY2hlZHVsZXIsCSJzY2hlZF9zZXRzY2hlZHVsZXIifSwgLyogMTU2ICovCisJeyAxLAkwLAlzeXNfc2NoZWRfZ2V0c2NoZWR1bGVyLAkic2NoZWRfZ2V0c2NoZWR1bGVyIn0sIC8qIDE1NyAqLworCXsgMCwJMCwJc3lzX3NjaGVkX3lpZWxkLAkic2NoZWRfeWllbGQifSwgLyogMTU4ICovCisJeyAxLAkwLAlzeXNfc2NoZWRfZ2V0X3ByaW9yaXR5X21heCwic2NoZWRfZ2V0X3ByaW9yaXR5X21heCJ9LCAvKiAxNTkgKi8KKwl7IDEsCTAsCXN5c19zY2hlZF9nZXRfcHJpb3JpdHlfbWluLCJzY2hlZF9nZXRfcHJpb3JpdHlfbWluIn0sIC8qIDE2MCAqLworCXsgMiwJMCwJc3lzX3NjaGVkX3JyX2dldF9pbnRlcnZhbCwic2NoZWRfcnJfZ2V0X2ludGVydmFsIn0sIC8qIDE2MSAqLworCXsgMiwJMCwJc3lzX25hbm9zbGVlcCwJCSJuYW5vc2xlZXAiCX0sIC8qIDE2MiAqLworCXsgNSwJMCwJc3lzX21yZW1hcCwJCSJtcmVtYXAiCX0sIC8qIDE2MyAqLworCXsgMywJMCwJc3lzX3NldHJlc3VpZCwJCSJzZXRyZXN1aWQiCX0sIC8qIDE2NCAqLworCXsgMywJMCwJc3lzX2dldHJlc3VpZCwJCSJnZXRyZXN1aWQiCX0sIC8qIDE2NSAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJInZtODYiCQl9LCAvKiAxNjYgKi8KKwl7IDUsCTAsCXN5c19xdWVyeV9tb2R1bGUsCSJxdWVyeV9tb2R1bGUiCX0sIC8qIDE2NyAqLworCXsgMywJVEQsCXN5c19wb2xsLAkJInBvbGwiCQl9LCAvKiAxNjggKi8KKwl7IDMsCTAsCXByaW50YXJncywJCSJuZnNzZXJ2Y3RsIgl9LCAvKiAxNjkgKi8KKwl7IDMsCTAsCXN5c19zZXRyZXNnaWQsCQkic2V0cmVzZ2lkIgl9LCAvKiAxNzAgKi8KKwl7IDMsCTAsCXN5c19nZXRyZXNnaWQsCQkiZ2V0cmVzZ2lkIgl9LCAvKiAxNzEgKi8KKwl7IDUsCTAsCXN5c19wcmN0bCwJCSJwcmN0bCIJCX0sIC8qIDE3MiAqLworCXsgMSwJVFMsCXByaW50YXJncywJCSJydF9zaWdyZXR1cm4iCX0sIC8qIDE3MyAqLworCXsgNCwJVFMsCXN5c19ydF9zaWdhY3Rpb24sCSJydF9zaWdhY3Rpb24iICB9LCAvKiAxNzQgKi8KKwl7IDQsCVRTLAlzeXNfcnRfc2lncHJvY21hc2ssCSJydF9zaWdwcm9jbWFzayJ9LCAvKiAxNzUgKi8KKwl7IDIsCVRTLAlzeXNfcnRfc2lncGVuZGluZywJInJ0X3NpZ3BlbmRpbmciCX0sIC8qIDE3NiAqLworCXsgNCwJVFMsCXN5c19ydF9zaWd0aW1lZHdhaXQsCSJydF9zaWd0aW1lZHdhaXQifSwgLyogMTc3ICovCisJeyAzLAlUUywJc3lzX3J0X3NpZ3F1ZXVlaW5mbywgICAgInJ0X3NpZ3F1ZXVlaW5mbyJ9LCAvKiAxNzggKi8KKwl7IDIsCVRTLAlzeXNfcnRfc2lnc3VzcGVuZCwJInJ0X3NpZ3N1c3BlbmQiCX0sIC8qIDE3OSAqLworCisJeyA1LAlURCwJc3lzX3ByZWFkLAkJInByZWFkNjQiLCBTWVNfcmVhZCB9LCAvKiAxODAgKi8KKwl7IDUsCVRELAlzeXNfcHdyaXRlLAkJInB3cml0ZTY0IiwgU1lTX3dyaXRlIH0sIC8qIDE4MSAqLworCXsgMywJVEYsCXN5c19jaG93biwJCSJjaG93biIJCX0sIC8qIDE4MiAqLworCXsgMiwJVEYsCXN5c19nZXRjd2QsCQkiZ2V0Y3dkIgl9LCAvKiAxODMgKi8KKwl7IDIsCTAsCXN5c19jYXBnZXQsCQkiY2FwZ2V0Igl9LCAvKiAxODQgKi8KKwl7IDIsCTAsCXN5c19jYXBzZXQsCQkiY2Fwc2V0Igl9LCAvKiAxODUgKi8KKwl7IDIsCVRTLAlzeXNfc2lnYWx0c3RhY2ssCSJzaWdhbHRzdGFjayIJfSwgLyogMTg2ICovCisJeyA0LAlURHxUTiwJc3lzX3NlbmRmaWxlLAkJInNlbmRmaWxlIgl9LCAvKiAxODcgKi8KKwl7IDUsCTAsCXN5c19nZXRwbXNnLAkJImdldHBtc2ciCX0sIC8qIDE4OCAqLworCXsgNSwJMCwJc3lzX3B1dHBtc2csCQkicHV0cG1zZyIJfSwgLyogMTg5ICovCisJeyAwLAlUUCwJc3lzX3Zmb3JrLAkJInZmb3JrIiwgU1lTX3Zmb3JrIH0sIC8qIDE5MCAqLworCXsgMiwJMCwJc3lzX2dldHJsaW1pdCwJCSJnZXRybGltaXQiCX0sIC8qIDE5MSAqLworCXsgNiwJMCwJc3lzX21tYXAsCQkibW1hcDIiCQl9LCAvKiAxOTIgKi8KKwl7IDMsCVRGLAlzeXNfdHJ1bmNhdGU2NCwJCSJ0cnVuY2F0ZTY0Igl9LCAvKiAxOTMgKi8KKwl7IDMsCVRELAlzeXNfZnRydW5jYXRlNjQsCSJmdHJ1bmNhdGU2NCIJfSwgLyogMTk0ICovCisJeyAyLAlURiwJc3lzX3N0YXQ2NCwJCSJzdGF0NjQiCX0sIC8qIDE5NSAqLworCXsgMiwJVEYsCXN5c19sc3RhdDY0LAkJImxzdGF0NjQiCX0sIC8qIDE5NiAqLworCXsgMiwJVEQsCXN5c19mc3RhdDY0LAkJImZzdGF0NjQiCX0sIC8qIDE5NyAqLworCXsgMywJVEYsCXN5c19jaG93biwJCSJsY2hvd24zMiIJfSwgLyogMTk4ICovCisJeyAwLAkwLAlzeXNfZ2V0dWlkLAkJImdldHVpZDMyIgl9LCAvKiAxOTkgKi8KKworCXsgMCwJMCwJc3lzX2dldGdpZCwJCSJnZXRnaWQzMiIJfSwgLyogMjAwICovCisJeyAwLAkwLAlzeXNfZ2V0ZXVpZCwJCSJnZXRldWlkMzIiCX0sIC8qIDIwMSAqLworCXsgMCwJMCwJc3lzX2dldGVnaWQsCQkiZ2V0ZWdpZDMyIgl9LCAvKiAyMDIgKi8KKwl7IDIsCTAsCXN5c19zZXRyZXVpZCwJCSJzZXRyZXVpZDMyIgl9LCAvKiAyMDMgKi8KKwl7IDIsCTAsCXN5c19zZXRyZWdpZCwJCSJzZXRyZWdpZDMyIgl9LCAvKiAyMDQgKi8KKwl7IDIsCTAsCXN5c19nZXRncm91cHMzMiwJImdldGdyb3VwczMyIgl9LCAvKiAyMDUgKi8KKwl7IDIsCTAsCXN5c19zZXRncm91cHMzMiwJInNldGdyb3VwczMyIgl9LCAvKiAyMDYgKi8KKwl7IDMsCVRELAlzeXNfZmNob3duLAkJImZjaG93bjMyIgl9LCAvKiAyMDcgKi8KKwl7IDMsCTAsCXN5c19zZXRyZXN1aWQsCQkic2V0cmVzdWlkMzIiCX0sIC8qIDIwOCAqLworCXsgMywJMCwJc3lzX2dldHJlc3VpZCwJCSJnZXRyZXN1aWQzMiIJfSwgLyogMjA5ICovCisJeyAzLAkwLAlzeXNfc2V0cmVzZ2lkLAkJInNldHJlc2dpZDMyIgl9LCAvKiAyMTAgKi8KKwl7IDMsCTAsCXN5c19nZXRyZXNnaWQsCQkiZ2V0cmVzZ2lkMzIiCX0sIC8qIDIxMSAqLworCXsgMywJVEYsCXN5c19jaG93biwJCSJjaG93bjMyIgl9LCAvKiAyMTIgKi8KKwl7IDEsCTAsCXN5c19zZXR1aWQsCQkic2V0dWlkMzIiCX0sIC8qIDIxMyAqLworCXsgMSwJMCwJc3lzX3NldGdpZCwJCSJzZXRnaWQzMiIJfSwgLyogMjE0ICovCisJeyAxLAkwLAlzeXNfc2V0ZnN1aWQsCQkic2V0ZnN1aWQzMiIJfSwgLyogMjE1ICovCisJeyAxLAkwLAlzeXNfc2V0ZnNnaWQsCQkic2V0ZnNnaWQzMiIJfSwgLyogMjE2ICovCisJeyAyLAlURiwJc3lzX3Bpdm90cm9vdCwJCSJwaXZvdF9yb290Igl9LCAvKiAyMTcgKi8KKwl7IDMsCTAsCXN5c19taW5jb3JlLAkJIm1pbmNvcmUiCX0sIC8qIDIxOCAqLworCXsgMywJMCwJc3lzX21hZHZpc2UsCQkibWFkdmlzZSIJfSwgLyogMjE5ICovCisJeyAzLAlURCwJc3lzX2dldGRlbnRzNjQsCQkiZ2V0ZGVudHM2NCIJfSwgLyogMjIwICovCisJeyAzLAlURCwJc3lzX2ZjbnRsLAkJImZjbnRsNjQiCX0sIC8qIDIyMSAqLworCXsgNCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMjIiCX0sIC8qIDIyMiAqLworLypUT0RPKi97IDUsCTAsCXByaW50YXJncywJCSJzZWN1cml0eSIJfSwgLyogMjIzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiZ2V0dGlkIgl9LCAvKiAyMjQgKi8KKwl7IDQsCVRELAlzeXNfcmVhZGFoZWFkLAkJInJlYWRhaGVhZCIJfSwgLyogMjI1ICovCisJeyA1LAlURiwJc3lzX3NldHhhdHRyLAkJInNldHhhdHRyIgl9LCAvKiAyMjYgKi8KKwl7IDUsCVRGLAlzeXNfc2V0eGF0dHIsCQkibHNldHhhdHRyIgl9LCAvKiAyMjcgKi8KKwl7IDUsCVRELAlzeXNfZnNldHhhdHRyLAkJImZzZXR4YXR0ciIJfSwgLyogMjI4ICovCisJeyA0LAlURiwJc3lzX2dldHhhdHRyLAkJImdldHhhdHRyIgl9LCAvKiAyMjkgKi8KKwl7IDQsCVRGLAlzeXNfZ2V0eGF0dHIsCQkibGdldHhhdHRyIgl9LCAvKiAyMzAgKi8KKwl7IDQsCTAsCXN5c19mZ2V0eGF0dHIsCQkiZmdldHhhdHRyIgl9LCAvKiAyMzEgKi8KKwl7IDMsCVRGLAlzeXNfbGlzdHhhdHRyLAkJImxpc3R4YXR0ciIJfSwgLyogMjMyICovCisJeyAzLAlURiwJc3lzX2xpc3R4YXR0ciwJCSJsbGlzdHhhdHRyIgl9LCAvKiAyMzMgKi8KKwl7IDMsCTAsCXN5c19mbGlzdHhhdHRyLAkJImZsaXN0eGF0dHIiCX0sIC8qIDIzNCAqLworCXsgMiwJVEYsCXN5c19yZW1vdmV4YXR0ciwJInJlbW92ZXhhdHRyIgl9LCAvKiAyMzUgKi8KKwl7IDIsCVRGLAlzeXNfcmVtb3ZleGF0dHIsCSJscmVtb3ZleGF0dHIiCX0sIC8qIDIzNiAqLworCXsgMiwJVEQsCXN5c19mcmVtb3ZleGF0dHIsCSJmcmVtb3ZleGF0dHIiCX0sIC8qIDIzNyAqLworCXsgMiwJVFMsCXN5c19raWxsLAkJInRraWxsIgkJfSwgLyogMjM4ICovCisJeyA0LAlURHxUTiwJc3lzX3NlbmRmaWxlNjQsCQkic2VuZGZpbGU2NCIJfSwgLyogMjM5ICovCisJeyA2LAkwLAlzeXNfZnV0ZXgsCQkiZnV0ZXgiCQl9LCAvKiAyNDAgKi8KKwl7IDMsCTAsCXN5c19zY2hlZF9zZXRhZmZpbml0eSwJInNjaGVkX3NldGFmZmluaXR5IiB9LC8qIDI0MSAqLworCXsgMywJMCwJc3lzX3NjaGVkX2dldGFmZmluaXR5LAkic2NoZWRfZ2V0YWZmaW5pdHkiIH0sLyogMjQyICovCisJeyAxLAkwLAlzeXNfc2V0X3RocmVhZF9hcmVhLAkic2V0X3RocmVhZF9hcmVhIiB9LCAvKiAyNDMgKi8KKwl7IDEsCTAsCXN5c19nZXRfdGhyZWFkX2FyZWEsCSJnZXRfdGhyZWFkX2FyZWEiIH0sIC8qIDI0NCAqLworCXsgMiwJMCwJc3lzX2lvX3NldHVwLAkJImlvX3NldHVwIgl9LCAvKiAyNDUgKi8KKwl7IDEsCTAsCXN5c19pb19kZXN0cm95LAkJImlvX2Rlc3Ryb3kiCX0sIC8qIDI0NiAqLworCXsgNSwJMCwJc3lzX2lvX2dldGV2ZW50cywJImlvX2dldGV2ZW50cyIJfSwgLyogMjQ3ICovCisJeyAzLAkwLAlzeXNfaW9fc3VibWl0LAkJImlvX3N1Ym1pdCIJfSwgLyogMjQ4ICovCisJeyAzLAkwLAlzeXNfaW9fY2FuY2VsLAkJImlvX2NhbmNlbCIJfSwgLyogMjQ5ICovCisJeyA1LAkwLAlzeXNfZmFkdmlzZTY0LAkJImZhZHZpc2U2NCIJfSwgLyogMjUwICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzI1MSIJfSwgLyogMjUxICovCisJeyAxLAlUUCwJc3lzX2V4aXQsCQkiZXhpdF9ncm91cCIsIF9fTlJfZXhpdF9ncm91cCB9LCAvKiAyNTIgKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJsb29rdXBfZGNvb2tpZSJ9LCAvKiAyNTMgKi8KKwl7IDEsCTAsCXN5c19lcG9sbF9jcmVhdGUsCSJlcG9sbF9jcmVhdGUiCX0sIC8qIDI1NCAqLworCXsgNCwJVEQsCXN5c19lcG9sbF9jdGwsCQkiZXBvbGxfY3RsIgl9LCAvKiAyNTUgKi8KKwl7IDQsCVRELAlzeXNfZXBvbGxfd2FpdCwJCSJlcG9sbF93YWl0Igl9LCAvKiAyNTYgKi8KKwl7IDUsCTAsCXN5c19yZW1hcF9maWxlX3BhZ2VzLAkicmVtYXBfZmlsZV9wYWdlcyJ9LCAvKiAyNTcgKi8KKwl7IDEsCTAsCXByaW50YXJncywJCSJzZXRfdGlkX2FkZHJlc3MifSwgLyogMjU4ICovCisJeyAzLAkwLAlzeXNfdGltZXJfY3JlYXRlLAkidGltZXJfY3JlYXRlIgl9LCAvKiAyNTkgKi8KKwl7IDQsCTAsCXN5c190aW1lcl9zZXR0aW1lLAkidGltZXJfc2V0dGltZSIJfSwgLyogMjYwICovCisJeyAyLAkwLAlzeXNfdGltZXJfZ2V0dGltZSwJInRpbWVyX2dldHRpbWUiCX0sIC8qIDI2MSAqLworCXsgMSwJMCwJc3lzX3RpbWVyX2dldG92ZXJydW4sCSJ0aW1lcl9nZXRvdmVycnVuIn0sIC8qIDI2MiAqLworCXsgMSwJMCwJc3lzX3RpbWVyX2RlbGV0ZSwJInRpbWVyX2RlbGV0ZSIJfSwgLyogMjYzICovCisJeyAyLAkwLAlzeXNfY2xvY2tfc2V0dGltZSwJImNsb2NrX3NldHRpbWUiCX0sIC8qIDI2NCAqLworCXsgMiwJMCwJc3lzX2Nsb2NrX2dldHRpbWUsCSJjbG9ja19nZXR0aW1lIgl9LCAvKiAyNjUgKi8KKwl7IDIsCTAsCXN5c19jbG9ja19nZXRyZXMsCSJjbG9ja19nZXRyZXMiCX0sIC8qIDI2NiAqLworCXsgNCwJMCwJc3lzX2Nsb2NrX25hbm9zbGVlcCwJImNsb2NrX25hbm9zbGVlcCJ9LCAvKiAyNjcgKi8KKwl7IDMsCVRGLAlzeXNfc3RhdGZzNjQsCQkic3RhdGZzNjQiCX0sIC8qIDI2OCAqLworCXsgMywJVEQsCXN5c19mc3RhdGZzNjQsCQkiZnN0YXRmczY0Igl9LCAvKiAyNjkgKi8KKwl7IDMsCVRTLAlzeXNfdGdraWxsLAkJInRna2lsbCIJfSwgLyogMjcwICovCisJeyAyLAlURiwJc3lzX3V0aW1lcywJCSJ1dGltZXMiCX0sIC8qIDI3MSAqLworCXsgNiwJMCwJc3lzX2ZhZHZpc2U2NF82NCwJImZhZHZpc2U2NF82NCIJfSwgLyogMjcyICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkidnNlcnZlciIJfSwgLyogMjczICovCisJeyA2LAkwLAlzeXNfbWJpbmQsCQkibWJpbmQiCQl9LCAvKiAyNzQgKi8KKwl7IDUsCTAsCXN5c19nZXRfbWVtcG9saWN5LAkiZ2V0X21lbXBvbGljeSIJfSwgLyogMjc1ICovCisJeyAzLAkwLAlzeXNfc2V0X21lbXBvbGljeSwJInNldF9tZW1wb2xpY3kiCX0sIC8qIDI3NiAqLworCXsgNCwJMCwJc3lzX21xX29wZW4sCQkibXFfb3BlbiIJfSwgLyogMjc3ICovCisJeyAxLAkwLAlzeXNfbXFfdW5saW5rLAkJIm1xX3VubGluayIJfSwgLyogMjc4ICovCisJeyA1LAkwLAlzeXNfbXFfdGltZWRzZW5kLAkibXFfdGltZWRzZW5kIgl9LCAvKiAyNzkgKi8KKwl7IDUsCTAsCXN5c19tcV90aW1lZHJlY2VpdmUsCSJtcV90aW1lZHJlY2VpdmUiIH0sIC8qIDI4MCAqLworCXsgMiwJMCwJc3lzX21xX25vdGlmeSwJCSJtcV9ub3RpZnkiCX0sIC8qIDI4MSAqLworCXsgMywJMCwJc3lzX21xX2dldHNldGF0dHIsCSJtcV9nZXRzZXRhdHRyIgl9LCAvKiAyODIgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJrZXhlY19sb2FkIgl9LCAvKiAyODMgKi8KKwl7IDUsCVRQLAlzeXNfd2FpdGlkLAkJIndhaXRpZCIsIFNZU193YWl0aWQgfSwgLyogMjg0ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzI4NSIJfSwgLyogMjg1ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiYWRkX2tleSIJfSwgLyogMjg2ICovCisJeyA0LAkwLAlwcmludGFyZ3MsCQkicmVxdWVzdF9rZXkiCX0sIC8qIDI4NyAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJImtleWN0bCIJfSwgLyogMjg4ICovCisJeyAzLAkwLAlwcmludGFyZ3MsCQkiaW9wcmlvX3NldCIJfSwgLyogMjg5ICovCisJeyAyLAkwLAlwcmludGFyZ3MsCQkiaW9wcmlvX2dldCIJfSwgLyogMjkwICovCisJeyAwLAlURCwJcHJpbnRhcmdzLAkJImlub3RpZnlfaW5pdCIJfSwgLyogMjkxICovCisJeyAzLAlURCwJc3lzX2lub3RpZnlfYWRkX3dhdGNoLAkiaW5vdGlmeV9hZGRfd2F0Y2giIH0sIC8qIDI5MiAqLworCXsgMiwJVEQsCXN5c19pbm90aWZ5X3JtX3dhdGNoLAkiaW5vdGlmeV9ybV93YXRjaCIgfSwgLyogMjkzICovCisJeyA0LAkwLAlwcmludGFyZ3MsCQkibWlncmF0ZV9wYWdlcyIJfSwgLyogMjk0ICovCisJeyA0LAlURHxURiwJc3lzX29wZW5hdCwJCSJvcGVuYXQiCX0sIC8qIDI5NSAqLworCXsgMywJVER8VEYsCXN5c19ta2RpcmF0LAkJIm1rZGlyYXQiCX0sIC8qIDI5NiAqLworCXsgNCwJVER8VEYsCXN5c19ta25vZGF0LAkJIm1rbm9kYXQiCX0sIC8qIDI5NyAqLworCXsgNSwJVER8VEYsCXN5c19mY2hvd25hdCwJCSJmY2hvd25hdCIJfSwgLyogMjk4ICovCisJeyAzLAlURHxURiwJc3lzX2Z1dGltZXNhdCwJCSJmdXRpbWVzYXQiCX0sIC8qIDI5OSAqLworCXsgNCwJVER8VEQsCXN5c19uZXdmc3RhdGF0LAkJImZzdGF0YXQ2NCIJfSwgLyogMzAwICovCisJeyAzLAlURHxURiwJc3lzX3VubGlua2F0LAkJInVubGlua2F0Igl9LCAvKiAzMDEgKi8KKwl7IDQsCVREfFRGLAlzeXNfcmVuYW1lYXQsCQkicmVuYW1lYXQiCX0sIC8qIDMwMiAqLworCXsgNSwJVER8VEYsCXN5c19saW5rYXQsCQkibGlua2F0Igl9LCAvKiAzMDMgKi8KKwl7IDMsCVREfFRGLAlzeXNfc3ltbGlua2F0LAkJInN5bWxpbmthdCIJfSwgLyogMzA0ICovCisJeyA0LAlURHxURiwJc3lzX3JlYWRsaW5rYXQsCQkicmVhZGxpbmthdCIJfSwgLyogMzA1ICovCisJeyAzLAlURHxURiwJc3lzX2ZjaG1vZGF0LAkJImZjaG1vZGF0Igl9LCAvKiAzMDYgKi8KKwl7IDMsCVREfFRGLAlzeXNfZmFjY2Vzc2F0LAkJImZhY2Nlc3NhdCIJfSwgLyogMzA3ICovCisJeyA2LAlURCwJc3lzX3BzZWxlY3Q2LAkJInBzZWxlY3Q2Igl9LCAvKiAzMDggKi8KKwl7IDUsCVRELAlzeXNfcHBvbGwsCQkicHBvbGwiCQl9LCAvKiAzMDkgKi8KKwl7IDEsCVRQLAlzeXNfdW5zaGFyZSwJCSJ1bnNoYXJlIgl9LCAvKiAzMTAgKi8KKwl7IDIsCTAsCXByaW50YXJncywJCSJzZXRfcm9idXN0X2xpc3QiIH0sIC8qIDMxMSAqLworCXsgMywJMCwJcHJpbnRhcmdzLAkJImdldF9yb2J1c3RfbGlzdCIgfSwgLyogMzEyICovCisJeyA2LAlURCwJcHJpbnRhcmdzLAkJInNwbGljZSIJfSwgLyogMzEzICovCisJeyA0LAlURCwJcHJpbnRhcmdzLAkJInN5bmNfZmlsZV9yYW5nZSIgfSwgLyogMzE0ICovCisJeyA0LAlURCwJcHJpbnRhcmdzLAkJInRlZSIJCX0sIC8qIDMxNSAqLworCXsgNCwJVEQsCXByaW50YXJncywJCSJ2bXNwbGljZSIJfSwgLyogMzE2ICovCisJeyA2LAkwLAlzeXNfbW92ZV9wYWdlcywJCSJtb3ZlX3BhZ2VzIgl9LCAvKiAzMTcgKi8KKwl7IDMsCTAsCXN5c19nZXRjcHUsCQkiZ2V0Y3B1Igl9LCAvKiAzMTggKi8KKwl7IDUsCVRELAlzeXNfZXBvbGxfcHdhaXQsCSJlcG9sbF9wd2FpdCIJfSwgLyogMzE5ICovCisJeyA0LAlURHxURiwJc3lzX3V0aW1lbnNhdCwJCSJ1dGltZW5zYXQiCX0sIC8qIDMyMCAqLworCXsgMywJVER8VFMsCXN5c19zaWduYWxmZCwJCSJzaWduYWxmZCIJfSwgLyogMzIxICovCisJeyAyLAlURCwJc3lzX3RpbWVyZmRfY3JlYXRlLAkidGltZXJmZF9jcmVhdGUifSwgLyogMzIyICovCisJeyAxLAlURCwJc3lzX2V2ZW50ZmQsCQkiZXZlbnRmZCIJfSwgLyogMzIzICovCisJeyA2LAlURiwJc3lzX2ZhbGxvY2F0ZSwJCSJmYWxsb2NhdGUiCX0sIC8qIDMyNCAqLworCXsgNCwJVEQsCXN5c190aW1lcmZkX3NldHRpbWUsCSJ0aW1lcmZkX3NldHRpbWUifSwgLyogMzI1ICovCisJeyAyLAlURCwJc3lzX3RpbWVyZmRfZ2V0dGltZSwJInRpbWVyZmRfZ2V0dGltZSJ9LCAvKiAzMjYgKi8KKwl7IDQsCVREfFRTLAlzeXNfc2lnbmFsZmQ0LAkJInNpZ25hbGZkNCIJfSwgLyogMzI3ICovCisJeyAyLAlURCwJc3lzX2V2ZW50ZmQyLAkJImV2ZW50ZmQyIgl9LCAvKiAzMjggKi8KKwl7IDEsCTAsCXN5c19lcG9sbF9jcmVhdGUxLAkiZXBvbGxfY3JlYXRlMSIJfSwgLyogMzI5ICovCisJeyAzLAlURCwJc3lzX2R1cDMsCQkiZHVwMyIJCX0sIC8qIDMzMCAqLworCXsgMiwJVEQsCXN5c19waXBlMiwJCSJwaXBlMiIJCX0sIC8qIDMzMSAqLworCXsgMSwJVEQsCXN5c19pbm90aWZ5X2luaXQxLAkiaW5vdGlmeV9pbml0MSIJfSwgLyogMzMyICovCisJeyA1LAlURCwJcHJpbnRhcmdzLAkJInByZWFkdiIJfSwgLyogMzMzICovCisJeyA1LAlURCwJcHJpbnRhcmdzLAkJInB3cml0ZXYiCX0sIC8qIDMzNCAqLworCXsgNCwJVFB8VFMsCXByaW50YXJncywJCSJydF90Z3NpZ3F1ZXVlaW5mbyJ9LCAvKiAzMzUgKi8KKwl7IDUsCVRELAlwcmludGFyZ3MsCQkicGVyZl9ldmVudF9vcGVuIn0sIC8qIDMzNiAqLworCXsgNSwJVE4sCXN5c19yZWN2bW1zZywJCSJyZWN2bW1zZyIJfSwgLyogMzM3ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzMzOCIJfSwgLyogMzM4ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzMzOSIJfSwgLyogMzM5ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0MCIJfSwgLyogMzQwICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0MSIJfSwgLyogMzQxICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0MiIJfSwgLyogMzQyICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0MyIJfSwgLyogMzQzICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0NCIJfSwgLyogMzQ0ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0NSIJfSwgLyogMzQ1ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0NiIJfSwgLyogMzQ2ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0NyIJfSwgLyogMzQ3ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0OCIJfSwgLyogMzQ4ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0OSIJfSwgLyogMzQ5ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1MCIJfSwgLyogMzUwICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1MSIJfSwgLyogMzUxICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1MiIJfSwgLyogMzUyICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1MyIJfSwgLyogMzUzICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1NCIJfSwgLyogMzU0ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1NSIJfSwgLyogMzU1ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1NiIJfSwgLyogMzU2ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1NyIJfSwgLyogMzU3ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1OCIJfSwgLyogMzU4ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1OSIJfSwgLyogMzU5ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2MCIJfSwgLyogMzYwICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2MSIJfSwgLyogMzYxICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2MiIJfSwgLyogMzYyICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2MyIJfSwgLyogMzYzICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2NCIJfSwgLyogMzY0ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2NSIJfSwgLyogMzY1ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2NiIJfSwgLyogMzY2ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2NyIJfSwgLyogMzY3ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2OCIJfSwgLyogMzY4ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2OSIJfSwgLyogMzY5ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3MCIJfSwgLyogMzcwICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3MSIJfSwgLyogMzcxICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3MiIJfSwgLyogMzcyICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3MyIJfSwgLyogMzczICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3NCIJfSwgLyogMzc0ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3NSIJfSwgLyogMzc1ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3NiIJfSwgLyogMzc2ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3NyIJfSwgLyogMzc3ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3OCIJfSwgLyogMzc4ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3OSIJfSwgLyogMzc5ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4MCIJfSwgLyogMzgwICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4MSIJfSwgLyogMzgxICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4MiIJfSwgLyogMzgyICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4MyIJfSwgLyogMzgzICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4NCIJfSwgLyogMzg0ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4NSIJfSwgLyogMzg1ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4NiIJfSwgLyogMzg2ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4NyIJfSwgLyogMzg3ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4OCIJfSwgLyogMzg4ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4OSIJfSwgLyogMzg5ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5MCIJfSwgLyogMzkwICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5MSIJfSwgLyogMzkxICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5MiIJfSwgLyogMzkyICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5MyIJfSwgLyogMzkzICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5NCIJfSwgLyogMzk0ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5NSIJfSwgLyogMzk1ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5NiIJfSwgLyogMzk2ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5NyIJfSwgLyogMzk3ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5OCIJfSwgLyogMzk4ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5OSIJfSwgLyogMzk5ICovCisKKyNpZiBTWVNfc29ja2V0X3N1YmNhbGwgIT0gNDAwCisgI2Vycm9yIGZpeCBtZQorI2VuZGlmCisJeyA4LAkwLAlwcmludGFyZ3MsCQkic29ja2V0X3N1YmNhbGwifSwgLyogNDAwICovCisJeyAzLAlUTiwJc3lzX3NvY2tldCwJCSJzb2NrZXQiCX0sIC8qIDQwMSAqLworCXsgMywJVE4sCXN5c19iaW5kLAkJImJpbmQiCQl9LCAvKiA0MDIgKi8KKwl7IDMsCVROLAlzeXNfY29ubmVjdCwJCSJjb25uZWN0Igl9LCAvKiA0MDMgKi8KKwl7IDIsCVROLAlzeXNfbGlzdGVuLAkJImxpc3RlbiIJfSwgLyogNDA0ICovCisJeyAzLAlUTiwJc3lzX2FjY2VwdCwJCSJhY2NlcHQiCX0sIC8qIDQwNSAqLworCXsgMywJVE4sCXN5c19nZXRzb2NrbmFtZSwJImdldHNvY2tuYW1lIgl9LCAvKiA0MDYgKi8KKwl7IDMsCVROLAlzeXNfZ2V0cGVlcm5hbWUsCSJnZXRwZWVybmFtZSIJfSwgLyogNDA3ICovCisJeyA0LAlUTiwJc3lzX3NvY2tldHBhaXIsCQkic29ja2V0cGFpciIJfSwgLyogNDA4ICovCisJeyA0LAlUTiwJc3lzX3NlbmQsCQkic2VuZCIsIFNZU19zdWJfc2VuZCB9LCAvKiA0MDkgKi8KKwl7IDQsCVROLAlzeXNfcmVjdiwJCSJyZWN2IiwgU1lTX3N1Yl9yZWN2IH0sIC8qIDQxMCAqLworCXsgNiwJVE4sCXN5c19zZW5kdG8sCQkic2VuZHRvIiwgU1lTX3N1Yl9zZW5kdG8gfSwgLyogNDExICovCisJeyA2LAlUTiwJc3lzX3JlY3Zmcm9tLAkJInJlY3Zmcm9tIiwgU1lTX3N1Yl9yZWN2ZnJvbSB9LCAvKiA0MTIgKi8KKwl7IDIsCVROLAlzeXNfc2h1dGRvd24sCQkic2h1dGRvd24iCX0sIC8qIDQxMyAqLworCXsgNSwJVE4sCXN5c19zZXRzb2Nrb3B0LAkJInNldHNvY2tvcHQiCX0sIC8qIDQxNCAqLworCXsgNSwJVE4sCXN5c19nZXRzb2Nrb3B0LAkJImdldHNvY2tvcHQiCX0sIC8qIDQxNSAqLworCXsgNSwJVE4sCXN5c19zZW5kbXNnLAkJInNlbmRtc2ciCX0sIC8qIDQxNiAqLworCXsgNSwJVE4sCXN5c19yZWN2bXNnLAkJInJlY3Ztc2ciCX0sIC8qIDQxNyAqLworCXsgNCwJVE4sCXN5c19hY2NlcHQ0LAkJImFjY2VwdDQiCX0sIC8qIDQxOCAqLworCXsgNSwJVE4sCXN5c19yZWN2bW1zZywJCSJyZWN2bW1zZyIJfSwgLyogNDE5ICovCisKKyNpZiBTWVNfaXBjX3N1YmNhbGwgIT0gNDIwCisgI2Vycm9yIGZpeCBtZQorI2VuZGlmCisJeyA0LAkwLAlwcmludGFyZ3MsCQkiaXBjX3N1YmNhbGwiCX0sIC8qIDQyMCAqLworCXsgNCwJVEksCXN5c19zZW1vcCwJCSJzZW1vcCIJCX0sIC8qIDQyMSAqLworCXsgNCwJVEksCXN5c19zZW1nZXQsCQkic2VtZ2V0Igl9LCAvKiA0MjIgKi8KKwl7IDQsCVRJLAlzeXNfc2VtY3RsLAkJInNlbWN0bCIJfSwgLyogNDIzICovCisJeyA1LAlUSSwJc3lzX3NlbXRpbWVkb3AsCQkic2VtdGltZWRvcCIJfSwgLyogNDI0ICovCisJeyA0LAkwLAlwcmludGFyZ3MsCQkiaXBjX3N1YmNhbGwiCX0sIC8qIDQyNSAqLworCXsgNCwJMCwJcHJpbnRhcmdzLAkJImlwY19zdWJjYWxsIgl9LCAvKiA0MjYgKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJpcGNfc3ViY2FsbCIJfSwgLyogNDI3ICovCisJeyA0LAkwLAlwcmludGFyZ3MsCQkiaXBjX3N1YmNhbGwiCX0sIC8qIDQyOCAqLworCXsgNCwJMCwJcHJpbnRhcmdzLAkJImlwY19zdWJjYWxsIgl9LCAvKiA0MjkgKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJpcGNfc3ViY2FsbCIJfSwgLyogNDMwICovCisJeyA0LAlUSSwJc3lzX21zZ3NuZCwJCSJtc2dzbmQiCX0sIC8qIDQzMSAqLworCXsgNCwJVEksCXN5c19tc2dyY3YsCQkibXNncmN2Igl9LCAvKiA0MzIgKi8KKwl7IDQsCVRJLAlzeXNfbXNnZ2V0LAkJIm1zZ2dldCIJfSwgLyogNDMzICovCisJeyA0LAlUSSwJc3lzX21zZ2N0bCwJCSJtc2djdGwiCX0sIC8qIDQzNCAqLworCXsgNCwJMCwJcHJpbnRhcmdzLAkJImlwY19zdWJjYWxsIgl9LCAvKiA0MzUgKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJpcGNfc3ViY2FsbCIJfSwgLyogNDM2ICovCisJeyA0LAkwLAlwcmludGFyZ3MsCQkiaXBjX3N1YmNhbGwiCX0sIC8qIDQzNyAqLworCXsgNCwJMCwJcHJpbnRhcmdzLAkJImlwY19zdWJjYWxsIgl9LCAvKiA0MzggKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJpcGNfc3ViY2FsbCIJfSwgLyogNDM5ICovCisJeyA0LAkwLAlwcmludGFyZ3MsCQkiaXBjX3N1YmNhbGwiCX0sIC8qIDQ0MCAqLworCXsgNCwJVEksCXN5c19zaG1hdCwJCSJzaG1hdCIJCX0sIC8qIDQ0MSAqLworCXsgNCwJVEksCXN5c19zaG1kdCwJCSJzaG1kdCIJCX0sIC8qIDQ0MiAqLworCXsgNCwJVEksCXN5c19zaG1nZXQsCQkic2htZ2V0Igl9LCAvKiA0NDMgKi8KKwl7IDQsCVRJLAlzeXNfc2htY3RsLAkJInNobWN0bCIJfSwgLyogNDQ0ICovCmRpZmYgLS1naXQgYS9zdHJhY2UtNC41LjIwL2xpbnV4L2lhNjQvaW9jdGxlbnQuaCBiL3N0cmFjZS00LjUuMjAvbGludXgvaWE2NC9pb2N0bGVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhjZDJhY2QKLS0tIC9kZXYvbnVsbAorKysgYi9zdHJhY2UtNC41LjIwL2xpbnV4L2lhNjQvaW9jdGxlbnQuaApAQCAtMCwwICsxLDEwODAgQEAKKwkvKiBHZW5lcmF0ZWQgYnkgaW9jdGxzb3J0ICovCisJeyJsaW51eC9mcy5oIiwJIkZJQk1BUCIsCTB4MX0sCisJeyJsaW51eC9mcy5oIiwJIkZJR0VUQlNaIiwJMHgyfSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRHRVRQUk0iLAkweDIwNH0sCisJeyJsaW51eC9mZC5oIiwJIkZER0VUTUFYRVJSUyIsCTB4MjBlfSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRHRVREUlZUWVAiLAkweDIwZn0sCisJeyJsaW51eC9mZC5oIiwJIkZER0VURFJWUFJNIiwJMHgyMTF9LAorCXsibGludXgvZmQuaCIsCSJGREdFVERSVlNUQVQiLAkweDIxMn0sCisJeyJsaW51eC9mZC5oIiwJIkZEUE9MTERSVlNUQVQiLAkweDIxM30sCisJeyJsaW51eC9mZC5oIiwJIkZER0VURkRDU1RBVCIsCTB4MjE1fSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRXRVJST1JHRVQiLAkweDIxN30sCisJeyJsaW51eC9mZC5oIiwJIkZEQ0xSUFJNIiwJMHgyNDF9LAorCXsibGludXgvZmQuaCIsCSJGRFNFVFBSTSIsCTB4MjQyfSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRERUZQUk0iLAkweDI0M30sCisJeyJsaW51eC9mZC5oIiwJIkZETVNHT04iLAkweDI0NX0sCisJeyJsaW51eC9mZC5oIiwJIkZETVNHT0ZGIiwJMHgyNDZ9LAorCXsibGludXgvZmQuaCIsCSJGREZNVEJFRyIsCTB4MjQ3fSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRGTVRUUksiLAkweDI0OH0sCisJeyJsaW51eC9mZC5oIiwJIkZERk1URU5EIiwJMHgyNDl9LAorCXsibGludXgvZmQuaCIsCSJGRFNFVEVNU0dUUkVTSCIsCTB4MjRhfSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRGTFVTSCIsCTB4MjRifSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRTRVRNQVhFUlJTIiwJMHgyNGN9LAorCXsibGludXgvZmQuaCIsCSJGRFJFU0VUIiwJMHgyNTR9LAorCXsibGludXgvZmQuaCIsCSJGRFdFUlJPUkNMUiIsCTB4MjU2fSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRSQVdDTUQiLAkweDI1OH0sCisJeyJsaW51eC9mZC5oIiwJIkZEVFdBRERMRSIsCTB4MjU5fSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRFSkVDVCIsCTB4MjVhfSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRTRVREUlZQUk0iLAkweDI5MH0sCisJeyJsaW51eC9mcy5oIiwJIkJMS1JPU0VUIiwJMHgxMjVkfSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLUk9HRVQiLAkweDEyNWV9LAorCXsibGludXgvZnMuaCIsCSJCTEtSUlBBUlQiLAkweDEyNWZ9LAorCXsibGludXgvZnMuaCIsCSJCTEtHRVRTSVpFIiwJMHgxMjYwfSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLRkxTQlVGIiwJMHgxMjYxfSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLUkFTRVQiLAkweDEyNjJ9LAorCXsibGludXgvZnMuaCIsCSJCTEtSQUdFVCIsCTB4MTI2M30sCisJeyJsaW51eC9mcy5oIiwJIkJMS0ZSQVNFVCIsCTB4MTI2NH0sCisJeyJsaW51eC9mcy5oIiwJIkJMS0ZSQUdFVCIsCTB4MTI2NX0sCisJeyJsaW51eC9mcy5oIiwJIkJMS1NFQ1RTRVQiLAkweDEyNjZ9LAorCXsibGludXgvZnMuaCIsCSJCTEtTRUNUR0VUIiwJMHgxMjY3fSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLU1NaR0VUIiwJMHgxMjY4fSwKKwl7ImxpbnV4L2Jsa3BnLmgiLAkiQkxLUEciLAkweDEyNjl9LAorCXsibGludXgvZnMuaCIsCSJCTEtQRyIsCTB4MTI2OX0sCisJeyJsaW51eC9mcy5oIiwJIkJMS0VMVkdFVCIsCTB4MTI2YX0sCisJeyJsaW51eC9mcy5oIiwJIkJMS0VMVlNFVCIsCTB4MTI2Yn0sCisJeyJsaW51eC9mcy5oIiwJIkJMS0dFVExBU1RTRUNUIiwJMHgxMjZjfSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLU0VUTEFTVFNFQ1QiLAkweDEyNmR9LAorCXsibGludXgvZnMuaCIsCSJCTEtCU1pHRVQiLAkweDEyNzB9LAorCXsibGludXgvZnMuaCIsCSJCTEtCU1pTRVQiLAkweDEyNzF9LAorCXsibGludXgvYXVkaXQuaCIsCSJBVUlPQ0FUVEFDSCIsCTB4NDA2NX0sCisJeyJsaW51eC9hdWRpdC5oIiwJIkFVSU9DREVUQUNIIiwJMHg0MDY2fSwKKwl7ImxpbnV4L2F1ZGl0LmgiLAkiQVVJT0NTVVNQRU5EIiwJMHg0MDY3fSwKKwl7ImxpbnV4L2F1ZGl0LmgiLAkiQVVJT0NSRVNVTUUiLAkweDQwNjh9LAorCXsibGludXgvYXVkaXQuaCIsCSJBVUlPQ0NMUlBPTElDWSIsCTB4NDA2OX0sCisJeyJsaW51eC9hdWRpdC5oIiwJIkFVSU9DU0VUUE9MSUNZIiwJMHg0MDZhfSwKKwl7ImxpbnV4L2F1ZGl0LmgiLAkiQVVJT0NJQU1BVURJVEQiLAkweDQwNmJ9LAorCXsibGludXgvYXVkaXQuaCIsCSJBVUlPQ1NFVEFVRElUSUQiLAkweDQwNmN9LAorCXsibGludXgvYXVkaXQuaCIsCSJBVUlPQ0xPR0lOIiwJMHg0MDZlfSwKKwl7ImxpbnV4L2F1ZGl0LmgiLAkiQVVJT0NVU0VSTUVTU0FHRSIsCTB4NDA2Zn0sCisJeyJsaW51eC9hdWRpdC5oIiwJIkFVSU9DQ0xSRklMVEVSIiwJMHg0MDcwfSwKKwl7ImxpbnV4L2F1ZGl0LmgiLAkiQVVJT0NTRVRGSUxURVIiLAkweDQwNzF9LAorCXsibGludXgvYWdwZ2FydC5oIiwJIkFHUElPQ19JTkZPIiwJMHg0MTAwfSwKKwl7ImxpbnV4L2FncGdhcnQuaCIsCSJBR1BJT0NfQUNRVUlSRSIsCTB4NDEwMX0sCisJeyJsaW51eC9hcG1fYmlvcy5oIiwJIkFQTV9JT0NfU1RBTkRCWSIsCTB4NDEwMX0sCisJeyJsaW51eC9hZ3BnYXJ0LmgiLAkiQUdQSU9DX1JFTEVBU0UiLAkweDQxMDJ9LAorCXsibGludXgvYXBtX2Jpb3MuaCIsCSJBUE1fSU9DX1NVU1BFTkQiLAkweDQxMDJ9LAorCXsibGludXgvYWdwZ2FydC5oIiwJIkFHUElPQ19TRVRVUCIsCTB4NDEwM30sCisJeyJsaW51eC9hZ3BnYXJ0LmgiLAkiQUdQSU9DX1JFU0VSVkUiLAkweDQxMDR9LAorCXsibGludXgvYWdwZ2FydC5oIiwJIkFHUElPQ19QUk9URUNUIiwJMHg0MTA1fSwKKwl7ImxpbnV4L2FncGdhcnQuaCIsCSJBR1BJT0NfQUxMT0NBVEUiLAkweDQxMDZ9LAorCXsibGludXgvYWdwZ2FydC5oIiwJIkFHUElPQ19ERUFMTE9DQVRFIiwJMHg0MTA3fSwKKwl7ImxpbnV4L2FncGdhcnQuaCIsCSJBR1BJT0NfQklORCIsCTB4NDEwOH0sCisJeyJsaW51eC9hZ3BnYXJ0LmgiLAkiQUdQSU9DX1VOQklORCIsCTB4NDEwOX0sCisJeyJsaW51eC9wbXUuaCIsCSJQTVVfSU9DX1NMRUVQIiwJMHg0MjAwfSwKKwl7ImxpbnV4L2NjaXNzX2lvY3RsLmgiLAkiQ0NJU1NfR0VUUENJSU5GTyIsCTB4NDIwMX0sCisJeyJsaW51eC9wbXUuaCIsCSJQTVVfSU9DX0dFVF9CQUNLTElHSFQiLAkweDQyMDF9LAorCXsibGludXgvY2Npc3NfaW9jdGwuaCIsCSJDQ0lTU19HRVRJTlRJTkZPIiwJMHg0MjAyfSwKKwl7ImxpbnV4L3BtdS5oIiwJIlBNVV9JT0NfU0VUX0JBQ0tMSUdIVCIsCTB4NDIwMn0sCisJeyJsaW51eC9jY2lzc19pb2N0bC5oIiwJIkNDSVNTX1NFVElOVElORk8iLAkweDQyMDN9LAorCXsibGludXgvcG11LmgiLAkiUE1VX0lPQ19HRVRfTU9ERUwiLAkweDQyMDN9LAorCXsibGludXgvY2Npc3NfaW9jdGwuaCIsCSJDQ0lTU19HRVROT0RFTkFNRSIsCTB4NDIwNH0sCisJeyJsaW51eC9wbXUuaCIsCSJQTVVfSU9DX0hBU19BREIiLAkweDQyMDR9LAorCXsibGludXgvY2Npc3NfaW9jdGwuaCIsCSJDQ0lTU19TRVROT0RFTkFNRSIsCTB4NDIwNX0sCisJeyJsaW51eC9wbXUuaCIsCSJQTVVfSU9DX0NBTl9TTEVFUCIsCTB4NDIwNX0sCisJeyJsaW51eC9jY2lzc19pb2N0bC5oIiwJIkNDSVNTX0dFVEhFQVJUQkVBVCIsCTB4NDIwNn0sCisJeyJsaW51eC9jY2lzc19pb2N0bC5oIiwJIkNDSVNTX0dFVEJVU1RZUEVTIiwJMHg0MjA3fSwKKwl7ImxpbnV4L2NjaXNzX2lvY3RsLmgiLAkiQ0NJU1NfR0VURklSTVZFUiIsCTB4NDIwOH0sCisJeyJsaW51eC9jY2lzc19pb2N0bC5oIiwJIkNDSVNTX0dFVERSSVZWRVIiLAkweDQyMDl9LAorCXsibGludXgvY2Npc3NfaW9jdGwuaCIsCSJDQ0lTU19SRVZBTElEVk9MUyIsCTB4NDIwYX0sCisJeyJsaW51eC9jY2lzc19pb2N0bC5oIiwJIkNDSVNTX1BBU1NUSFJVIiwJMHg0MjBifSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9DT1BSX1JFU0VUIiwJMHg0MzAwfSwKKwl7ImxpbnV4L2NhcGkuaCIsCSJDQVBJX1JFR0lTVEVSIiwJMHg0MzAxfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9DT1BSX0xPQUQiLAkweDQzMDF9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0NPUFJfUkRBVEEiLAkweDQzMDJ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0NPUFJfUkNPREUiLAkweDQzMDN9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0NPUFJfV0RBVEEiLAkweDQzMDR9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0NPUFJfV0NPREUiLAkweDQzMDV9LAorCXsibGludXgvY2FwaS5oIiwJIkNBUElfR0VUX01BTlVGQUNUVVJFUiIsCTB4NDMwNn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfQ09QUl9SVU4iLAkweDQzMDZ9LAorCXsibGludXgvY2FwaS5oIiwJIkNBUElfR0VUX1ZFUlNJT04iLAkweDQzMDd9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0NPUFJfSEFMVCIsCTB4NDMwN30sCisJeyJsaW51eC9jYXBpLmgiLAkiQ0FQSV9HRVRfU0VSSUFMIiwJMHg0MzA4fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9DT1BSX1NFTkRNU0ciLAkweDQzMDh9LAorCXsibGludXgvY2FwaS5oIiwJIkNBUElfR0VUX1BST0ZJTEUiLAkweDQzMDl9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0NPUFJfUkNWTVNHIiwJMHg0MzA5fSwKKwl7ImxpbnV4L2NhcGkuaCIsCSJDQVBJX01BTlVGQUNUVVJFUl9DTUQiLAkweDQzMjB9LAorCXsibGludXgvY2FwaS5oIiwJIkNBUElfR0VUX0VSUkNPREUiLAkweDQzMjF9LAorCXsibGludXgvY2FwaS5oIiwJIkNBUElfSU5TVEFMTEVEIiwJMHg0MzIyfSwKKwl7ImxpbnV4L2NhcGkuaCIsCSJDQVBJX0dFVF9GTEFHUyIsCTB4NDMyM30sCisJeyJsaW51eC9jYXBpLmgiLAkiQ0FQSV9TRVRfRkxBR1MiLAkweDQzMjR9LAorCXsibGludXgvY2FwaS5oIiwJIkNBUElfQ0xSX0ZMQUdTIiwJMHg0MzI1fSwKKwl7ImxpbnV4L2NhcGkuaCIsCSJDQVBJX05DQ0lfT1BFTkNPVU5UIiwJMHg0MzI2fSwKKwl7ImxpbnV4L2NhcGkuaCIsCSJDQVBJX05DQ0lfR0VUVU5JVCIsCTB4NDMyN30sCisJeyJsaW51eC9pbnB1dC5oIiwJIkVWSU9DR1ZFUlNJT04iLAkweDQ1MDF9LAorCXsibGludXgvaW5wdXQuaCIsCSJFVklPQ0dJRCIsCTB4NDUwMn0sCisJeyJsaW51eC9pbnB1dC5oIiwJIkVWSU9DR1JFUCIsCTB4NDUwM30sCisJeyJsaW51eC9pbnB1dC5oIiwJIkVWSU9DU1JFUCIsCTB4NDUwM30sCisJeyJsaW51eC9pbnB1dC5oIiwJIkVWSU9DR0tFWUNPREUiLAkweDQ1MDR9LAorCXsibGludXgvaW5wdXQuaCIsCSJFVklPQ1NLRVlDT0RFIiwJMHg0NTA0fSwKKwl7ImxpbnV4L2lucHV0LmgiLAkiRVZJT0NHS0VZIiwJMHg0NTA1fSwKKwl7ImxpbnV4L2lucHV0LmgiLAkiRVZJT0NHQlVTIiwJMHg0NTA3fSwKKwl7ImxpbnV4L2lucHV0LmgiLAkiRVZJT0NSTUZGIiwJMHg0NTgxfSwKKwl7ImxpbnV4L2lucHV0LmgiLAkiRVZJT0NTR0FJTiIsCTB4NDU4Mn0sCisJeyJsaW51eC9pbnB1dC5oIiwJIkVWSU9DU0FVVE9DRU5URVIiLAkweDQ1ODN9LAorCXsibGludXgvaW5wdXQuaCIsCSJFVklPQ0dFRkZFQ1RTIiwJMHg0NTg0fSwKKwl7ImxpbnV4L2ZiLmgiLAkiRkJJT0dFVF9WU0NSRUVOSU5GTyIsCTB4NDYwMH0sCisJeyJsaW51eC9mYi5oIiwJIkZCSU9QVVRfVlNDUkVFTklORk8iLAkweDQ2MDF9LAorCXsibGludXgvZmIuaCIsCSJGQklPR0VUX0ZTQ1JFRU5JTkZPIiwJMHg0NjAyfSwKKwl7ImxpbnV4L2ZiLmgiLAkiRkJJT0dFVENNQVAiLAkweDQ2MDR9LAorCXsibGludXgvZmIuaCIsCSJGQklPUFVUQ01BUCIsCTB4NDYwNX0sCisJeyJsaW51eC9mYi5oIiwJIkZCSU9QQU5fRElTUExBWSIsCTB4NDYwNn0sCisJeyJsaW51eC9mYi5oIiwJIkZCSU9HRVRfRkNVUlNPUklORk8iLAkweDQ2MDd9LAorCXsibGludXgvZmIuaCIsCSJGQklPR0VUX1ZDVVJTT1JJTkZPIiwJMHg0NjA4fSwKKwl7ImxpbnV4L2ZiLmgiLAkiRkJJT1BVVF9WQ1VSU09SSU5GTyIsCTB4NDYwOX0sCisJeyJsaW51eC9mYi5oIiwJIkZCSU9HRVRfQ1VSU09SU1RBVEUiLAkweDQ2MGF9LAorCXsibGludXgvZmIuaCIsCSJGQklPUFVUX0NVUlNPUlNUQVRFIiwJMHg0NjBifSwKKwl7ImxpbnV4L2ZiLmgiLAkiRkJJT0dFVF9DT04yRkJNQVAiLAkweDQ2MGZ9LAorCXsibGludXgvZmIuaCIsCSJGQklPUFVUX0NPTjJGQk1BUCIsCTB4NDYxMH0sCisJeyJsaW51eC9mYi5oIiwJIkZCSU9CTEFOSyIsCTB4NDYxMX0sCisJeyJsaW51eC9mYi5oIiwJIkZCSU9HRVRfVkJMQU5LIiwJMHg0NjEyfSwKKwl7ImxpbnV4L2ZiLmgiLAkiRkJJT19BTExPQyIsCTB4NDYxM30sCisJeyJsaW51eC9mYi5oIiwJIkZCSU9fRlJFRSIsCTB4NDYxNH0sCisJeyJsaW51eC9mYi5oIiwJIkZCSU9HRVRfR0xZUEgiLAkweDQ2MTV9LAorCXsibGludXgvZmIuaCIsCSJGQklPR0VUX0hXQ0lORk8iLAkweDQ2MTZ9LAorCXsibGludXgvZmIuaCIsCSJGQklPUFVUX01PREVJTkZPIiwJMHg0NjE3fSwKKwl7ImxpbnV4L2ZiLmgiLAkiRkJJT0dFVF9ESVNQSU5GTyIsCTB4NDYxOH0sCisJeyJsaW51eC9oaWRkZXYuaCIsCSJISURJT0NHVkVSU0lPTiIsCTB4NDgwMX0sCisJeyJsaW51eC9oaWRkZXYuaCIsCSJISURJT0NBUFBMSUNBVElPTiIsCTB4NDgwMn0sCisJeyJsaW51eC9oaWRkZXYuaCIsCSJISURJT0NHREVWSU5GTyIsCTB4NDgwM30sCisJeyJsaW51eC9oaWRkZXYuaCIsCSJISURJT0NHU1RSSU5HIiwJMHg0ODA0fSwKKwl7ImxpbnV4L2hpZGRldi5oIiwJIkhJRElPQ0lOSVRSRVBPUlQiLAkweDQ4MDV9LAorCXsibGludXgvaGlkZGV2LmgiLAkiSElESU9DR1JFUE9SVCIsCTB4NDgwN30sCisJeyJsaW51eC9oaWRkZXYuaCIsCSJISURJT0NTUkVQT1JUIiwJMHg0ODA4fSwKKwl7ImxpbnV4L2hpZGRldi5oIiwJIkhJRElPQ0dSRVBPUlRJTkZPIiwJMHg0ODA5fSwKKwl7ImxpbnV4L2hpZGRldi5oIiwJIkhJRElPQ0dGSUVMRElORk8iLAkweDQ4MGF9LAorCXsibGludXgvaGlkZGV2LmgiLAkiSElESU9DR1VTQUdFIiwJMHg0ODBifSwKKwl7ImxpbnV4L2hpZGRldi5oIiwJIkhJRElPQ1NVU0FHRSIsCTB4NDgwY30sCisJeyJsaW51eC9oaWRkZXYuaCIsCSJISURJT0NHVUNPREUiLAkweDQ4MGR9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRBSUYiLAkweDQ5MDF9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRESUYiLAkweDQ5MDJ9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRTQ0YiLAkweDQ5MDN9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRHQ0YiLAkweDQ5MDR9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRBTk0iLAkweDQ5MDV9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRETk0iLAkweDQ5MDZ9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRHTk0iLAkweDQ5MDd9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NHRVRTRVQiLAkweDQ5MDh9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NTRVRTRVQiLAkweDQ5MDl9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NTRVRWRVIiLAkweDQ5MGF9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRIVVAiLAkweDQ5MGJ9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NTRVRHU1QiLAkweDQ5MGN9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NTRVRCUkoiLAkweDQ5MGR9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NTSUdQUkYiLAkweDQ5MGV9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NHRVRQUkYiLAkweDQ5MGZ9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NTRVRQUkYiLAkweDQ5MTB9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NHRVRNQVAiLAkweDQ5MTF9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NTRVRNQVAiLAkweDQ5MTJ9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRBU0wiLAkweDQ5MTN9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRESUwiLAkweDQ5MTR9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NHRVRDUFMiLAkweDQ5MTV9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NHRVREVlIiLAkweDQ5MTZ9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRMQ1IiLAkweDQ5MTd9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVREV1JTRVQiLAkweDQ5MTh9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRBTE4iLAkweDQ5MjB9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRETE4iLAkweDQ5MjF9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRHUE4iLAkweDQ5MjJ9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NEQkdWQVIiLAkweDQ5N2Z9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NEUlZDVEwiLAkweDQ5ODB9LAorCXsibGludXgva2QuaCIsCSJLSU9DU09VTkQiLAkweDRiMmZ9LAorCXsibGludXgva2QuaCIsCSJLRE1LVE9ORSIsCTB4NGIzMH0sCisJeyJsaW51eC9rZC5oIiwJIktER0VUTEVEIiwJMHg0YjMxfSwKKwl7ImxpbnV4L2tkLmgiLAkiS0RTRVRMRUQiLAkweDRiMzJ9LAorCXsibGludXgva2QuaCIsCSJLREdLQlRZUEUiLAkweDRiMzN9LAorCXsibGludXgva2QuaCIsCSJLREFERElPIiwJMHg0YjM0fSwKKwl7ImxpbnV4L2tkLmgiLAkiS0RERUxJTyIsCTB4NGIzNX0sCisJeyJsaW51eC9rZC5oIiwJIktERU5BQklPIiwJMHg0YjM2fSwKKwl7ImxpbnV4L2tkLmgiLAkiS0RESVNBQklPIiwJMHg0YjM3fSwKKwl7ImxpbnV4L2tkLmgiLAkiS0RTRVRNT0RFIiwJMHg0YjNhfSwKKwl7ImxpbnV4L2tkLmgiLAkiS0RHRVRNT0RFIiwJMHg0YjNifSwKKwl7ImxpbnV4L2tkLmgiLAkiS0RNQVBESVNQIiwJMHg0YjNjfSwKKwl7ImxpbnV4L2tkLmgiLAkiS0RVTk1BUERJU1AiLAkweDRiM2R9LAorCXsibGludXgva2QuaCIsCSJHSU9fU0NSTk1BUCIsCTB4NGI0MH0sCisJeyJsaW51eC9rZC5oIiwJIlBJT19TQ1JOTUFQIiwJMHg0YjQxfSwKKwl7ImxpbnV4L2tkLmgiLAkiS0RHS0JNT0RFIiwJMHg0YjQ0fSwKKwl7ImxpbnV4L2tkLmgiLAkiS0RTS0JNT0RFIiwJMHg0YjQ1fSwKKwl7ImxpbnV4L2tkLmgiLAkiS0RHS0JFTlQiLAkweDRiNDZ9LAorCXsibGludXgva2QuaCIsCSJLRFNLQkVOVCIsCTB4NGI0N30sCisJeyJsaW51eC9rZC5oIiwJIktER0tCU0VOVCIsCTB4NGI0OH0sCisJeyJsaW51eC9rZC5oIiwJIktEU0tCU0VOVCIsCTB4NGI0OX0sCisJeyJsaW51eC9rZC5oIiwJIktER0tCRElBQ1IiLAkweDRiNGF9LAorCXsibGludXgva2QuaCIsCSJLRFNLQkRJQUNSIiwJMHg0YjRifSwKKwl7ImxpbnV4L2tkLmgiLAkiS0RHRVRLRVlDT0RFIiwJMHg0YjRjfSwKKwl7ImxpbnV4L2tkLmgiLAkiS0RTRVRLRVlDT0RFIiwJMHg0YjRkfSwKKwl7ImxpbnV4L2tkLmgiLAkiS0RTSUdBQ0NFUFQiLAkweDRiNGV9LAorCXsibGludXgva2QuaCIsCSJLREdIV0NMSyIsCTB4NGI1MH0sCisJeyJsaW51eC9rZC5oIiwJIktEU0hXQ0xLIiwJMHg0YjUxfSwKKwl7ImxpbnV4L2tkLmgiLAkiS0RLQkRSRVAiLAkweDRiNTJ9LAorCXsibGludXgva2QuaCIsCSJHSU9fRk9OVCIsCTB4NGI2MH0sCisJeyJsaW51eC9rZC5oIiwJIlBJT19GT05UIiwJMHg0YjYxfSwKKwl7ImxpbnV4L2tkLmgiLAkiS0RHS0JNRVRBIiwJMHg0YjYyfSwKKwl7ImxpbnV4L2tkLmgiLAkiS0RTS0JNRVRBIiwJMHg0YjYzfSwKKwl7ImxpbnV4L2tkLmgiLAkiS0RHS0JMRUQiLAkweDRiNjR9LAorCXsibGludXgva2QuaCIsCSJLRFNLQkxFRCIsCTB4NGI2NX0sCisJeyJsaW51eC9rZC5oIiwJIkdJT19VTklNQVAiLAkweDRiNjZ9LAorCXsibGludXgva2QuaCIsCSJQSU9fVU5JTUFQIiwJMHg0YjY3fSwKKwl7ImxpbnV4L2tkLmgiLAkiUElPX1VOSU1BUENMUiIsCTB4NGI2OH0sCisJeyJsaW51eC9rZC5oIiwJIkdJT19VTklTQ1JOTUFQIiwJMHg0YjY5fSwKKwl7ImxpbnV4L2tkLmgiLAkiUElPX1VOSVNDUk5NQVAiLAkweDRiNmF9LAorCXsibGludXgva2QuaCIsCSJHSU9fRk9OVFgiLAkweDRiNmJ9LAorCXsibGludXgva2QuaCIsCSJQSU9fRk9OVFgiLAkweDRiNmN9LAorCXsibGludXgva2QuaCIsCSJQSU9fRk9OVFJFU0VUIiwJMHg0YjZkfSwKKwl7ImxpbnV4L2tkLmgiLAkiR0lPX0NNQVAiLAkweDRiNzB9LAorCXsibGludXgva2QuaCIsCSJQSU9fQ01BUCIsCTB4NGI3MX0sCisJeyJsaW51eC9rZC5oIiwJIktERk9OVE9QIiwJMHg0YjcyfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNPVU5EX01JWEVSX0lORk8iLAkweDRkNjV9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfT0xEX01JWEVSX0lORk8iLAkweDRkNjV9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfTUlYRVJfQUNDRVNTIiwJMHg0ZDY2fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNPVU5EX01JWEVSX0FHQyIsCTB4NGQ2N30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9NSVhFUl8zRFNFIiwJMHg0ZDY4fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNPVU5EX01JWEVSX1BSSVZBVEUxIiwJMHg0ZDZmfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNPVU5EX01JWEVSX1BSSVZBVEUyIiwJMHg0ZDcwfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNPVU5EX01JWEVSX1BSSVZBVEUzIiwJMHg0ZDcxfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNPVU5EX01JWEVSX1BSSVZBVEU0IiwJMHg0ZDcyfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNPVU5EX01JWEVSX1BSSVZBVEU1IiwJMHg0ZDczfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNPVU5EX01JWEVSX0dFVExFVkVMUyIsCTB4NGQ3NH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9NSVhFUl9TRVRMRVZFTFMiLAkweDRkNzV9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiT1NTX0dFVFZFUlNJT04iLAkweDRkNzZ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9SRVNFVCIsCTB4NTAwMH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX1NZTkMiLAkweDUwMDF9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9TUEVFRCIsCTB4NTAwMn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9QQ01fUkVBRF9SQVRFIiwJMHg1MDAyfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfU1RFUkVPIiwJMHg1MDAzfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfR0VUQkxLU0laRSIsCTB4NTAwNH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX1NFVEZNVCIsCTB4NTAwNX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9QQ01fUkVBRF9CSVRTIiwJMHg1MDA1fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfQ0hBTk5FTFMiLAkweDUwMDZ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfUENNX1JFQURfQ0hBTk5FTFMiLAkweDUwMDZ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfUENNX1JFQURfRklMVEVSIiwJMHg1MDA3fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNPVU5EX1BDTV9XUklURV9GSUxURVIiLAkweDUwMDd9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9QT1NUIiwJMHg1MDA4fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfU1VCRElWSURFIiwJMHg1MDA5fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfU0VURlJBR01FTlQiLAkweDUwMGF9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9HRVRGTVRTIiwJMHg1MDBifSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfR0VUT1NQQUNFIiwJMHg1MDBjfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfR0VUSVNQQUNFIiwJMHg1MDBkfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfTk9OQkxPQ0siLAkweDUwMGV9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9HRVRDQVBTIiwJMHg1MDBmfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfR0VUVFJJR0dFUiIsCTB4NTAxMH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX1NFVFRSSUdHRVIiLAkweDUwMTB9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9HRVRJUFRSIiwJMHg1MDExfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfR0VUT1BUUiIsCTB4NTAxMn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX01BUElOQlVGIiwJMHg1MDEzfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfTUFQT1VUQlVGIiwJMHg1MDE0fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfU0VUU1lOQ1JPIiwJMHg1MDE1fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfU0VURFVQTEVYIiwJMHg1MDE2fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfR0VUT0RFTEFZIiwJMHg1MDE3fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfUFJPRklMRSIsCTB4NTAxN30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX0dFVENIQU5ORUxNQVNLIiwJMHg1MDQwfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfQklORF9DSEFOTkVMIiwJMHg1MDQxfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfU0VUU1BESUYiLAkweDUwNDJ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9HRVRTUERJRiIsCTB4NTA0M30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU0VRX1JFU0VUIiwJMHg1MTAwfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TRVFfU1lOQyIsCTB4NTEwMX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU1lOVEhfSU5GTyIsCTB4NTEwMn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU0VRX0NUUkxSQVRFIiwJMHg1MTAzfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TRVFfR0VUT1VUQ09VTlQiLAkweDUxMDR9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NFUV9HRVRJTkNPVU5UIiwJMHg1MTA1fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TRVFfUEVSQ01PREUiLAkweDUxMDZ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0ZNX0xPQURfSU5TVFIiLAkweDUxMDd9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NFUV9URVNUTUlESSIsCTB4NTEwOH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU0VRX1JFU0VUU0FNUExFUyIsCTB4NTEwOX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU0VRX05SU1lOVEhTIiwJMHg1MTBhfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TRVFfTlJNSURJUyIsCTB4NTEwYn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfTUlESV9JTkZPIiwJMHg1MTBjfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TRVFfVEhSRVNIT0xEIiwJMHg1MTBkfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TWU5USF9NRU1BVkwiLAkweDUxMGV9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0ZNXzRPUF9FTkFCTEUiLAkweDUxMGZ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NFUV9QQU5JQyIsCTB4NTExMX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU0VRX09VVE9GQkFORCIsCTB4NTExMn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU0VRX0dFVFRJTUUiLAkweDUxMTN9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NZTlRIX0lEIiwJMHg1MTE0fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TWU5USF9DT05UUk9MIiwJMHg1MTE1fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TWU5USF9SRU1PVkVTQU1QTEUiLAkweDUxMTZ9LAorCXsibGludXgvcmFuZG9tLmgiLAkiUk5ER0VURU5UQ05UIiwJMHg1MjAwfSwKKwl7ImxpbnV4L3JhbmRvbS5oIiwJIlJOREFERFRPRU5UQ05UIiwJMHg1MjAxfSwKKwl7ImxpbnV4L3JhbmRvbS5oIiwJIlJOREdFVFBPT0wiLAkweDUyMDJ9LAorCXsibGludXgvcmFuZG9tLmgiLAkiUk5EQURERU5UUk9QWSIsCTB4NTIwM30sCisJeyJsaW51eC9yYW5kb20uaCIsCSJSTkRaQVBFTlRDTlQiLAkweDUyMDR9LAorCXsibGludXgvcmFuZG9tLmgiLAkiUk5EQ0xFQVJQT09MIiwJMHg1MjA2fSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiQ0RST01QQVVTRSIsCTB4NTMwMX0sCisJeyJsaW51eC9jZHJvbS5oIiwJIkNEUk9NUkVTVU1FIiwJMHg1MzAyfSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiQ0RST01QTEFZTVNGIiwJMHg1MzAzfSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiQ0RST01QTEFZVFJLSU5EIiwJMHg1MzA0fSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiQ0RST01SRUFEVE9DSERSIiwJMHg1MzA1fSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiQ0RST01SRUFEVE9DRU5UUlkiLAkweDUzMDZ9LAorCXsibGludXgvY2Ryb20uaCIsCSJDRFJPTVNUT1AiLAkweDUzMDd9LAorCXsibGludXgvY2Ryb20uaCIsCSJDRFJPTVNUQVJUIiwJMHg1MzA4fSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiQ0RST01FSkVDVCIsCTB4NTMwOX0sCisJeyJsaW51eC9jZHJvbS5oIiwJIkNEUk9NVk9MQ1RSTCIsCTB4NTMwYX0sCisJeyJsaW51eC9jZHJvbS5oIiwJIkNEUk9NU1VCQ0hOTCIsCTB4NTMwYn0sCisJeyJsaW51eC9jZHJvbS5oIiwJIkNEUk9NUkVBRE1PREUyIiwJMHg1MzBjfSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiQ0RST01SRUFETU9ERTEiLAkweDUzMGR9LAorCXsibGludXgvY2Ryb20uaCIsCSJDRFJPTVJFQURBVURJTyIsCTB4NTMwZX0sCisJeyJsaW51eC9jZHJvbS5oIiwJIkNEUk9NRUpFQ1RfU1ciLAkweDUzMGZ9LAorCXsibGludXgvY2Ryb20uaCIsCSJDRFJPTU1VTFRJU0VTU0lPTiIsCTB4NTMxMH0sCisJeyJsaW51eC9jZHJvbS5oIiwJIkNEUk9NX0dFVF9NQ04iLAkweDUzMTF9LAorCXsibGludXgvY2Ryb20uaCIsCSJDRFJPTVJFU0VUIiwJMHg1MzEyfSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiQ0RST01WT0xSRUFEIiwJMHg1MzEzfSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiQ0RST01SRUFEUkFXIiwJMHg1MzE0fSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiQ0RST01SRUFEQ09PS0VEIiwJMHg1MzE1fSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiQ0RST01TRUVLIiwJMHg1MzE2fSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiQ0RST01QTEFZQkxLIiwJMHg1MzE3fSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiQ0RST01SRUFEQUxMIiwJMHg1MzE4fSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiQ0RST01DTE9TRVRSQVkiLAkweDUzMTl9LAorCXsibGludXgvY2Ryb20uaCIsCSJDRFJPTUdFVFNQSU5ET1dOIiwJMHg1MzFkfSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiQ0RST01TRVRTUElORE9XTiIsCTB4NTMxZX0sCisJeyJsaW51eC9jZHJvbS5oIiwJIkNEUk9NX1NFVF9PUFRJT05TIiwJMHg1MzIwfSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiQ0RST01fQ0xFQVJfT1BUSU9OUyIsCTB4NTMyMX0sCisJeyJsaW51eC9jZHJvbS5oIiwJIkNEUk9NX1NFTEVDVF9TUEVFRCIsCTB4NTMyMn0sCisJeyJsaW51eC9jZHJvbS5oIiwJIkNEUk9NX1NFTEVDVF9ESVNDIiwJMHg1MzIzfSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiQ0RST01fTUVESUFfQ0hBTkdFRCIsCTB4NTMyNX0sCisJeyJsaW51eC9jZHJvbS5oIiwJIkNEUk9NX0RSSVZFX1NUQVRVUyIsCTB4NTMyNn0sCisJeyJsaW51eC9jZHJvbS5oIiwJIkNEUk9NX0RJU0NfU1RBVFVTIiwJMHg1MzI3fSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiQ0RST01fQ0hBTkdFUl9OU0xPVFMiLAkweDUzMjh9LAorCXsibGludXgvY2Ryb20uaCIsCSJDRFJPTV9MT0NLRE9PUiIsCTB4NTMyOX0sCisJeyJsaW51eC9jZHJvbS5oIiwJIkNEUk9NX0RFQlVHIiwJMHg1MzMwfSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiQ0RST01fR0VUX0NBUEFCSUxJVFkiLAkweDUzMzF9LAorCXsibGludXgvY2Ryb20uaCIsCSJDRFJPTUFVRElPQlVGU0laIiwJMHg1MzgyfSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiRFZEX1JFQURfU1RSVUNUIiwJMHg1MzkwfSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiRFZEX1dSSVRFX1NUUlVDVCIsCTB4NTM5MX0sCisJeyJsaW51eC9jZHJvbS5oIiwJIkRWRF9BVVRIIiwJMHg1MzkyfSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiQ0RST01fU0VORF9QQUNLRVQiLAkweDUzOTN9LAorCXsibGludXgvY2Ryb20uaCIsCSJDRFJPTV9ORVhUX1dSSVRBQkxFIiwJMHg1Mzk0fSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiQ0RST01fTEFTVF9XUklUVEVOIiwJMHg1Mzk1fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9UTVJfVElNRUJBU0UiLAkweDU0MDF9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRDR0VUUyIsCTB4NTQwMX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfVE1SX1NUQVJUIiwJMHg1NDAyfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUQ1NFVFMiLAkweDU0MDJ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1RNUl9TVE9QIiwJMHg1NDAzfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUQ1NFVFNXIiwJMHg1NDAzfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9UTVJfQ09OVElOVUUiLAkweDU0MDR9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRDU0VUU0YiLAkweDU0MDR9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1RNUl9URU1QTyIsCTB4NTQwNX0sCisJeyJhc20vaW9jdGxzLmgiLAkiVENHRVRBIiwJMHg1NDA1fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9UTVJfU09VUkNFIiwJMHg1NDA2fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUQ1NFVEEiLAkweDU0MDZ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1RNUl9NRVRST05PTUUiLAkweDU0MDd9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRDU0VUQVciLAkweDU0MDd9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1RNUl9TRUxFQ1QiLAkweDU0MDh9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRDU0VUQUYiLAkweDU0MDh9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRDU0JSSyIsCTB4NTQwOX0sCisJeyJhc20vaW9jdGxzLmgiLAkiVENYT05DIiwJMHg1NDBhfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUQ0ZMU0giLAkweDU0MGJ9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NFWENMIiwJMHg1NDBjfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DTlhDTCIsCTB4NTQwZH0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NDVFRZIiwJMHg1NDBlfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DR1BHUlAiLAkweDU0MGZ9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NTUEdSUCIsCTB4NTQxMH0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ09VVFEiLAkweDU0MTF9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NTVEkiLAkweDU0MTJ9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NHV0lOU1oiLAkweDU0MTN9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NTV0lOU1oiLAkweDU0MTR9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NNR0VUIiwJMHg1NDE1fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DTUJJUyIsCTB4NTQxNn0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ01CSUMiLAkweDU0MTd9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NNU0VUIiwJMHg1NDE4fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DR1NPRlRDQVIiLAkweDU0MTl9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NTU09GVENBUiIsCTB4NTQxYX0sCisJeyJhc20vaW9jdGxzLmgiLAkiRklPTlJFQUQiLAkweDU0MWJ9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NMSU5VWCIsCTB4NTQxY30sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ0NPTlMiLAkweDU0MWR9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NHU0VSSUFMIiwJMHg1NDFlfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DU1NFUklBTCIsCTB4NTQxZn0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1BLVCIsCTB4NTQyMH0sCisJeyJhc20vaW9jdGxzLmgiLAkiRklPTkJJTyIsCTB4NTQyMX0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ05PVFRZIiwJMHg1NDIyfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DU0VURCIsCTB4NTQyM30sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ0dFVEQiLAkweDU0MjR9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRDU0JSS1AiLAkweDU0MjV9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NUVFlHU1RSVUNUIiwJMHg1NDI2fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DU0JSSyIsCTB4NTQyN30sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ0NCUksiLAkweDU0Mjh9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NHU0lEIiwJMHg1NDI5fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DR1BUTiIsCTB4NTQzMH0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NQVExDSyIsCTB4NTQzMX0sCisJeyJhc20vaW9jdGxzLmgiLAkiRklPTkNMRVgiLAkweDU0NTB9LAorCXsiYXNtL2lvY3Rscy5oIiwJIkZJT0NMRVgiLAkweDU0NTF9LAorCXsiYXNtL2lvY3Rscy5oIiwJIkZJT0FTWU5DIiwJMHg1NDUyfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DU0VSQ09ORklHIiwJMHg1NDUzfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DU0VSR1dJTEQiLAkweDU0NTR9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NTRVJTV0lMRCIsCTB4NTQ1NX0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ0dMQ0tUUk1JT1MiLAkweDU0NTZ9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NTTENLVFJNSU9TIiwJMHg1NDU3fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DU0VSR1NUUlVDVCIsCTB4NTQ1OH0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NFUkdFVExTUiIsCTB4NTQ1OX0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NFUkdFVE1VTFRJIiwJMHg1NDVhfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DU0VSU0VUTVVMVEkiLAkweDU0NWJ9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NNSVdBSVQiLAkweDU0NWN9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NHSUNPVU5UIiwJMHg1NDVkfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DR0hBWUVTRVNQIiwJMHg1NDVlfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DU0hBWUVTRVNQIiwJMHg1NDVmfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJGSU9RU0laRSIsCTB4NTQ2MH0sCisJeyJsaW51eC9pZl90dW4uaCIsCSJUVU5TRVROT0NTVU0iLAkweDU0Yzh9LAorCXsibGludXgvaWZfdHVuLmgiLAkiVFVOU0VUREVCVUciLAkweDU0Yzl9LAorCXsibGludXgvaWZfdHVuLmgiLAkiVFVOU0VUSUZGIiwJMHg1NGNhfSwKKwl7ImxpbnV4L2lmX3R1bi5oIiwJIlRVTlNFVFBFUlNJU1QiLAkweDU0Y2J9LAorCXsibGludXgvaWZfdHVuLmgiLAkiVFVOU0VUT1dORVIiLAkweDU0Y2N9LAorCXsibGludXgvdXNiZGV2aWNlX2ZzLmgiLAkiVVNCREVWRlNfQ09OVFJPTCIsCTB4NTUwMH0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19CVUxLIiwJMHg1NTAyfSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX1JFU0VURVAiLAkweDU1MDN9LAorCXsibGludXgvdXNiZGV2aWNlX2ZzLmgiLAkiVVNCREVWRlNfU0VUSU5URVJGQUNFIiwJMHg1NTA0fSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX1NFVENPTkZJR1VSQVRJT04iLAkweDU1MDV9LAorCXsibGludXgvdXNiZGV2aWNlX2ZzLmgiLAkiVVNCREVWRlNfR0VURFJJVkVSIiwJMHg1NTA4fSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX1NVQk1JVFVSQiIsCTB4NTUwYX0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19ESVNDQVJEVVJCIiwJMHg1NTBifSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX1JFQVBVUkIiLAkweDU1MGN9LAorCXsibGludXgvdXNiZGV2aWNlX2ZzLmgiLAkiVVNCREVWRlNfUkVBUFVSQk5ERUxBWSIsCTB4NTUwZH0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19ESVNDU0lHTkFMIiwJMHg1NTBlfSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX0NMQUlNSU5URVJGQUNFIiwJMHg1NTBmfSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX1JFTEVBU0VJTlRFUkZBQ0UiLAkweDU1MTB9LAorCXsibGludXgvdXNiZGV2aWNlX2ZzLmgiLAkiVVNCREVWRlNfQ09OTkVDVElORk8iLAkweDU1MTF9LAorCXsibGludXgvdXNiZGV2aWNlX2ZzLmgiLAkiVVNCREVWRlNfSU9DVEwiLAkweDU1MTJ9LAorCXsibGludXgvdXNiZGV2aWNlX2ZzLmgiLAkiVVNCREVWRlNfSFVCX1BPUlRJTkZPIiwJMHg1NTEzfSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX1JFU0VUIiwJMHg1NTE0fSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX0NMRUFSX0hBTFQiLAkweDU1MTV9LAorCXsibGludXgvdnQuaCIsCSJWVF9PUEVOUVJZIiwJMHg1NjAwfSwKKwl7ImxpbnV4L3Z0LmgiLAkiVlRfR0VUTU9ERSIsCTB4NTYwMX0sCisJeyJsaW51eC92dC5oIiwJIlZUX1NFVE1PREUiLAkweDU2MDJ9LAorCXsibGludXgvdnQuaCIsCSJWVF9HRVRTVEFURSIsCTB4NTYwM30sCisJeyJsaW51eC92dC5oIiwJIlZUX1NFTkRTSUciLAkweDU2MDR9LAorCXsibGludXgvdnQuaCIsCSJWVF9SRUxESVNQIiwJMHg1NjA1fSwKKwl7ImxpbnV4L3Z0LmgiLAkiVlRfQUNUSVZBVEUiLAkweDU2MDZ9LAorCXsibGludXgvdnQuaCIsCSJWVF9XQUlUQUNUSVZFIiwJMHg1NjA3fSwKKwl7ImxpbnV4L3Z0LmgiLAkiVlRfRElTQUxMT0NBVEUiLAkweDU2MDh9LAorCXsibGludXgvdnQuaCIsCSJWVF9SRVNJWkUiLAkweDU2MDl9LAorCXsibGludXgvdnQuaCIsCSJWVF9SRVNJWkVYIiwJMHg1NjBhfSwKKwl7ImxpbnV4L3Z0LmgiLAkiVlRfTE9DS1NXSVRDSCIsCTB4NTYwYn0sCisJeyJsaW51eC92dC5oIiwJIlZUX1VOTE9DS1NXSVRDSCIsCTB4NTYwY30sCisJeyJsaW51eC93YXRjaGRvZy5oIiwJIldESU9DX0dFVFNVUFBPUlQiLAkweDU3MDB9LAorCXsibGludXgvd2F0Y2hkb2cuaCIsCSJXRElPQ19HRVRTVEFUVVMiLAkweDU3MDF9LAorCXsibGludXgvd2F0Y2hkb2cuaCIsCSJXRElPQ19HRVRCT09UU1RBVFVTIiwJMHg1NzAyfSwKKwl7ImxpbnV4L3dhdGNoZG9nLmgiLAkiV0RJT0NfR0VUVEVNUCIsCTB4NTcwM30sCisJeyJsaW51eC93YXRjaGRvZy5oIiwJIldESU9DX1NFVE9QVElPTlMiLAkweDU3MDR9LAorCXsibGludXgvd2F0Y2hkb2cuaCIsCSJXRElPQ19LRUVQQUxJVkUiLAkweDU3MDV9LAorCXsibGludXgvaXRlX2dwaW8uaCIsCSJJVEVfR1BJT19JTiIsCTB4NWEwMH0sCisJeyJsaW51eC9pdGVfZ3Bpby5oIiwJIklURV9HUElPX09VVCIsCTB4NWEwMX0sCisJeyJsaW51eC9pdGVfZ3Bpby5oIiwJIklURV9HUElPX0lOVF9DVFJMIiwJMHg1YTAyfSwKKwl7ImxpbnV4L2l0ZV9ncGlvLmgiLAkiSVRFX0dQSU9fSU5fU1RBVFVTIiwJMHg1YTAzfSwKKwl7ImxpbnV4L2l0ZV9ncGlvLmgiLAkiSVRFX0dQSU9fT1VUX1NUQVRVUyIsCTB4NWEwNH0sCisJeyJsaW51eC9pdGVfZ3Bpby5oIiwJIklURV9HUElPX0dFTl9DVFJMIiwJMHg1YTA1fSwKKwl7ImxpbnV4L2l0ZV9ncGlvLmgiLAkiSVRFX0dQSU9fSU5UX1dBSVQiLAkweDVhMDZ9LAorCXsibGludXgvc29uZXQuaCIsCSJTT05FVF9HRVRTVEFUIiwJMHg2MTEwfSwKKwl7ImxpbnV4L3NvbmV0LmgiLAkiU09ORVRfR0VUU1RBVFoiLAkweDYxMTF9LAorCXsibGludXgvc29uZXQuaCIsCSJTT05FVF9TRVRESUFHIiwJMHg2MTEyfSwKKwl7ImxpbnV4L3NvbmV0LmgiLAkiU09ORVRfQ0xSRElBRyIsCTB4NjExM30sCisJeyJsaW51eC9zb25ldC5oIiwJIlNPTkVUX0dFVERJQUciLAkweDYxMTR9LAorCXsibGludXgvc29uZXQuaCIsCSJTT05FVF9TRVRGUkFNSU5HIiwJMHg2MTE1fSwKKwl7ImxpbnV4L3NvbmV0LmgiLAkiU09ORVRfR0VURlJBTUlORyIsCTB4NjExNn0sCisJeyJsaW51eC9zb25ldC5oIiwJIlNPTkVUX0dFVEZSU0VOU0UiLAkweDYxMTd9LAorCXsibGludXgvYXRtX2lkdDc3MTA1LmgiLAkiSURUNzcxMDVfR0VUU1RBVCIsCTB4NjEzMn0sCisJeyJsaW51eC9hdG1faWR0NzcxMDUuaCIsCSJJRFQ3NzEwNV9HRVRTVEFUWiIsCTB4NjEzM30sCisJeyJsaW51eC9hdG1kZXYuaCIsCSJBVE1fR0VUU1RBVCIsCTB4NjE1MH0sCisJeyJsaW51eC9hdG1kZXYuaCIsCSJBVE1fR0VUU1RBVFoiLAkweDYxNTF9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX0dFVExPT1AiLAkweDYxNTJ9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX1NFVExPT1AiLAkweDYxNTN9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX1FVRVJZTE9PUCIsCTB4NjE1NH0sCisJeyJsaW51eC9hdG1fZW5pLmgiLAkiRU5JX01FTURVTVAiLAkweDYxNjB9LAorCXsibGludXgvYXRtX25pY3N0YXIuaCIsCSJOU19HRVRQU1RBVCIsCTB4NjE2MX0sCisJeyJsaW51eC9hdG1femF0bS5oIiwJIlpBVE1fR0VUUE9PTCIsCTB4NjE2MX0sCisJeyJsaW51eC9hdG1fbmljc3Rhci5oIiwJIk5TX1NFVEJVRkxFViIsCTB4NjE2Mn0sCisJeyJsaW51eC9hdG1femF0bS5oIiwJIlpBVE1fR0VUUE9PTFoiLAkweDYxNjJ9LAorCXsibGludXgvYXRtX25pY3N0YXIuaCIsCSJOU19BREpCVUZMRVYiLAkweDYxNjN9LAorCXsibGludXgvYXRtX3phdG0uaCIsCSJaQVRNX1NFVFBPT0wiLAkweDYxNjN9LAorCXsibGludXgvYXRtX3phdG0uaCIsCSJaQVRNX0dFVFRISVNUIiwJMHg2MTY0fSwKKwl7ImxpbnV4L2F0bV9lbmkuaCIsCSJFTklfU0VUTVVMVCIsCTB4NjE2N30sCisJeyJsaW51eC9hdG1fdGNwLmgiLAkiU0lPQ1NJRkFUTVRDUCIsCTB4NjE4MH0sCisJeyJsaW51eC9hdG1kZXYuaCIsCSJBVE1fR0VUTElOS1JBVEUiLAkweDYxODF9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX0dFVE5BTUVTIiwJMHg2MTgzfSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9HRVRUWVBFIiwJMHg2MTg0fSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9HRVRFU0kiLAkweDYxODV9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX0dFVEFERFIiLAkweDYxODZ9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX1JTVEFERFIiLAkweDYxODd9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX0FEREFERFIiLAkweDYxODh9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX0RFTEFERFIiLAkweDYxODl9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX0dFVENJUkFOR0UiLAkweDYxOGF9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX1NFVENJUkFOR0UiLAkweDYxOGJ9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX1NFVEVTSSIsCTB4NjE4Y30sCisJeyJsaW51eC9hdG1kZXYuaCIsCSJBVE1fU0VURVNJRiIsCTB4NjE4ZH0sCisJeyJsaW51eC9hdG1fdGNwLmgiLAkiQVRNVENQX0NSRUFURSIsCTB4NjE4ZX0sCisJeyJsaW51eC9hdG1fdGNwLmgiLAkiQVRNVENQX1JFTU9WRSIsCTB4NjE4Zn0sCisJeyJsaW51eC9hdG1sZWMuaCIsCSJBVE1MRUNfQ1RSTCIsCTB4NjFkMH0sCisJeyJsaW51eC9hdG1sZWMuaCIsCSJBVE1MRUNfREFUQSIsCTB4NjFkMX0sCisJeyJsaW51eC9hdG1sZWMuaCIsCSJBVE1MRUNfTUNBU1QiLAkweDYxZDJ9LAorCXsibGludXgvYXRtbXBjLmgiLAkiQVRNTVBDX0NUUkwiLAkweDYxZDh9LAorCXsibGludXgvYXRtbXBjLmgiLAkiQVRNTVBDX0RBVEEiLAkweDYxZDl9LAorCXsibGludXgvYXRtY2xpcC5oIiwJIlNJT0NNS0NMSVAiLAkweDYxZTB9LAorCXsibGludXgvYXRtYXJwLmgiLAkiQVRNQVJQRF9DVFJMIiwJMHg2MWUxfSwKKwl7ImxpbnV4L2F0bWFycC5oIiwJIkFUTUFSUF9NS0lQIiwJMHg2MWUyfSwKKwl7ImxpbnV4L2F0bWFycC5oIiwJIkFUTUFSUF9TRVRFTlRSWSIsCTB4NjFlM30sCisJeyJsaW51eC9hdG1hcnAuaCIsCSJBVE1BUlBfRU5DQVAiLAkweDYxZTV9LAorCXsibGludXgvYXRtc3ZjLmgiLAkiQVRNU0lHRF9DVFJMIiwJMHg2MWYwfSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9TRVRTQyIsCTB4NjFmMX0sCisJeyJsaW51eC9hdG1kZXYuaCIsCSJBVE1fU0VUQkFDS0VORCIsCTB4NjFmMn0sCisJeyJsaW51eC9jb2RhLmgiLAkiQ0lPQ19LRVJORUxfVkVSU0lPTiIsCTB4NjMwYX0sCisJeyJsaW51eC9jb21zdGF0cy5oIiwJIkNPTV9HRVRQT1JUU1RBVFMiLAkweDYzMWV9LAorCXsibGludXgvY29tc3RhdHMuaCIsCSJDT01fQ0xSUE9SVFNUQVRTIiwJMHg2MzFmfSwKKwl7ImxpbnV4L2NvbXN0YXRzLmgiLAkiQ09NX0dFVEJSRFNUQVRTIiwJMHg2MzIwfSwKKwl7ImxpbnV4L2NvbXN0YXRzLmgiLAkiQ09NX1JFQURQT1JUIiwJMHg2MzI4fSwKKwl7ImxpbnV4L2NvbXN0YXRzLmgiLAkiQ09NX1JFQURCT0FSRCIsCTB4NjMyOX0sCisJeyJsaW51eC9jb21zdGF0cy5oIiwJIkNPTV9SRUFEUEFORUwiLAkweDYzMmF9LAorCXsibGludXgvZGV2ZnNfZnMuaCIsCSJERVZGU0RJT0NfR0VUX1BST1RPX1JFViIsCTB4NjQwMH0sCisJeyJsaW51eC92aWRlb19kZWNvZGVyLmgiLAkiREVDT0RFUl9HRVRfQ0FQQUJJTElUSUVTIiwJMHg2NDAxfSwKKwl7ImxpbnV4L3ZpZGVvX2RlY29kZXIuaCIsCSJERUNPREVSX0dFVF9TVEFUVVMiLAkweDY0MDJ9LAorCXsibGludXgvZGV2ZnNfZnMuaCIsCSJERVZGU0RJT0NfU0VUX0VWRU5UX01BU0siLAkweDY0MDJ9LAorCXsibGludXgvdmlkZW9fZGVjb2Rlci5oIiwJIkRFQ09ERVJfU0VUX05PUk0iLAkweDY0MDN9LAorCXsibGludXgvZGV2ZnNfZnMuaCIsCSJERVZGU0RJT0NfUkVMRUFTRV9FVkVOVF9RVUVVRSIsCTB4NjQwM30sCisJeyJsaW51eC92aWRlb19kZWNvZGVyLmgiLAkiREVDT0RFUl9TRVRfSU5QVVQiLAkweDY0MDR9LAorCXsibGludXgvZGV2ZnNfZnMuaCIsCSJERVZGU0RJT0NfU0VUX0RFQlVHX01BU0siLAkweDY0MDR9LAorCXsibGludXgvdmlkZW9fZGVjb2Rlci5oIiwJIkRFQ09ERVJfU0VUX09VVFBVVCIsCTB4NjQwNX0sCisJeyJsaW51eC92aWRlb19kZWNvZGVyLmgiLAkiREVDT0RFUl9FTkFCTEVfT1VUUFVUIiwJMHg2NDA2fSwKKwl7ImxpbnV4L3ZpZGVvX2RlY29kZXIuaCIsCSJERUNPREVSX1NFVF9QSUNUVVJFIiwJMHg2NDA3fSwKKwl7ImxpbnV4L3ZpZGVvX2RlY29kZXIuaCIsCSJERUNPREVSX0RVTVAiLAkweDY0YzB9LAorCXsibGludXgvdmlkZW9fZW5jb2Rlci5oIiwJIkVOQ09ERVJfR0VUX0NBUEFCSUxJVElFUyIsCTB4NjUwMX0sCisJeyJsaW51eC92aWRlb19lbmNvZGVyLmgiLAkiRU5DT0RFUl9TRVRfTk9STSIsCTB4NjUwMn0sCisJeyJsaW51eC92aWRlb19lbmNvZGVyLmgiLAkiRU5DT0RFUl9TRVRfSU5QVVQiLAkweDY1MDN9LAorCXsibGludXgvdmlkZW9fZW5jb2Rlci5oIiwJIkVOQ09ERVJfU0VUX09VVFBVVCIsCTB4NjUwNH0sCisJeyJsaW51eC92aWRlb19lbmNvZGVyLmgiLAkiRU5DT0RFUl9FTkFCTEVfT1VUUFVUIiwJMHg2NTA1fSwKKwl7ImxpbnV4L2V4dDJfZnMuaCIsCSJFWFQyX0lPQ19HRVRGTEFHUyIsCTB4NjYwMX0sCisJeyJsaW51eC9leHQzX2ZzLmgiLAkiRVhUM19JT0NfR0VURkxBR1MiLAkweDY2MDF9LAorCXsibGludXgvZXh0Ml9mcy5oIiwJIkVYVDJfSU9DX1NFVEZMQUdTIiwJMHg2NjAyfSwKKwl7ImxpbnV4L2V4dDNfZnMuaCIsCSJFWFQzX0lPQ19TRVRGTEFHUyIsCTB4NjYwMn0sCisJeyJsaW51eC9leHQzX2ZzLmgiLAkiRVhUM19JT0NfR0VUVkVSU0lPTiIsCTB4NjYwM30sCisJeyJsaW51eC9leHQzX2ZzLmgiLAkiRVhUM19JT0NfU0VUVkVSU0lPTiIsCTB4NjYwNH0sCisJeyJsaW51eC9leHQzX2ZzLmgiLAkiRVhUM19JT0NfV0FJVF9GT1JfUkVBRE9OTFkiLAkweDY2NjN9LAorCXsibGludXgvaTJvLWRldi5oIiwJIkkyT0dFVElPUFMiLAkweDY5MDB9LAorCXsibGludXgvaTJvLWRldi5oIiwJIkkyT0hSVEdFVCIsCTB4NjkwMX0sCisJeyJsaW51eC9pMm8tZGV2LmgiLAkiSTJPTENUR0VUIiwJMHg2OTAyfSwKKwl7ImxpbnV4L2kyby1kZXYuaCIsCSJJMk9QQVJNU0VUIiwJMHg2OTAzfSwKKwl7ImxpbnV4L2kyby1kZXYuaCIsCSJJMk9QQVJNR0VUIiwJMHg2OTA0fSwKKwl7ImxpbnV4L2kyby1kZXYuaCIsCSJJMk9TV0RMIiwJMHg2OTA1fSwKKwl7ImxpbnV4L2kyby1kZXYuaCIsCSJJMk9TV1VMIiwJMHg2OTA2fSwKKwl7ImxpbnV4L2kyby1kZXYuaCIsCSJJMk9TV0RFTCIsCTB4NjkwN30sCisJeyJsaW51eC9pMm8tZGV2LmgiLAkiSTJPVkFMSURBVEUiLAkweDY5MDh9LAorCXsibGludXgvaTJvLWRldi5oIiwJIkkyT0hUTUwiLAkweDY5MDl9LAorCXsibGludXgvaTJvLWRldi5oIiwJIkkyT0VWVFJFRyIsCTB4NjkwYX0sCisJeyJsaW51eC9pMm8tZGV2LmgiLAkiSTJPRVZUR0VUIiwJMHg2OTBifSwKKwl7ImxpbnV4L2pveXN0aWNrLmgiLAkiSlNJT0NHVkVSU0lPTiIsCTB4NmEwMX0sCisJeyJsaW51eC9qb3lzdGljay5oIiwJIkpTSU9DR0FYRVMiLAkweDZhMTF9LAorCXsibGludXgvam95c3RpY2suaCIsCSJKU0lPQ0dCVVRUT05TIiwJMHg2YTEyfSwKKwl7ImxpbnV4L2pveXN0aWNrLmgiLAkiSlNJT0NTQ09SUiIsCTB4NmEyMX0sCisJeyJsaW51eC9qb3lzdGljay5oIiwJIkpTSU9DR0NPUlIiLAkweDZhMjJ9LAorCXsibGludXgvam95c3RpY2suaCIsCSJKU0lPQ1NBWE1BUCIsCTB4NmEzMX0sCisJeyJsaW51eC9qb3lzdGljay5oIiwJIkpTSU9DR0FYTUFQIiwJMHg2YTMyfSwKKwl7ImxpbnV4L2pveXN0aWNrLmgiLAkiSlNJT0NTQlROTUFQIiwJMHg2YTMzfSwKKwl7ImxpbnV4L2pveXN0aWNrLmgiLAkiSlNJT0NHQlROTUFQIiwJMHg2YTM0fSwKKwl7ImxpbnV4L3VkZl9mc19pLmgiLAkiVURGX0dFVEVBU0laRSIsCTB4NmM0MH0sCisJeyJsaW51eC91ZGZfZnNfaS5oIiwJIlVERl9HRVRFQUJMT0NLIiwJMHg2YzQxfSwKKwl7ImxpbnV4L3VkZl9mc19pLmgiLAkiVURGX0dFVFZPTElERU5UIiwJMHg2YzQyfSwKKwl7ImxpbnV4L3VkZl9mc19pLmgiLAkiVURGX1JFTE9DQVRFX0JMT0NLUyIsCTB4NmM0M30sCisJeyJsaW51eC9zeW5jbGluay5oIiwJIk1HU0xfSU9DU1BBUkFNUyIsCTB4NmQwMH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfTUlESV9QUkVUSU1FIiwJMHg2ZDAwfSwKKwl7ImxpbnV4L3N5bmNsaW5rLmgiLAkiTUdTTF9JT0NHUEFSQU1TIiwJMHg2ZDAxfSwKKwl7ImxpbnV4L210aW8uaCIsCSJNVElPQ1RPUCIsCTB4NmQwMX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfTUlESV9NUFVNT0RFIiwJMHg2ZDAxfSwKKwl7ImxpbnV4L3N5bmNsaW5rLmgiLAkiTUdTTF9JT0NTVFhJRExFIiwJMHg2ZDAyfSwKKwl7ImxpbnV4L210aW8uaCIsCSJNVElPQ0dFVCIsCTB4NmQwMn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfTUlESV9NUFVDTUQiLAkweDZkMDJ9LAorCXsibGludXgvc3luY2xpbmsuaCIsCSJNR1NMX0lPQ0dUWElETEUiLAkweDZkMDN9LAorCXsibGludXgvbXRpby5oIiwJIk1USU9DUE9TIiwJMHg2ZDAzfSwKKwl7ImxpbnV4L3N5bmNsaW5rLmgiLAkiTUdTTF9JT0NUWEVOQUJMRSIsCTB4NmQwNH0sCisJeyJsaW51eC9tdGlvLmgiLAkiTVRJT0NHRVRDT05GSUciLAkweDZkMDR9LAorCXsibGludXgvc3luY2xpbmsuaCIsCSJNR1NMX0lPQ1JYRU5BQkxFIiwJMHg2ZDA1fSwKKwl7ImxpbnV4L210aW8uaCIsCSJNVElPQ1NFVENPTkZJRyIsCTB4NmQwNX0sCisJeyJsaW51eC9zeW5jbGluay5oIiwJIk1HU0xfSU9DVFhBQk9SVCIsCTB4NmQwNn0sCisJeyJsaW51eC9tdGlvLmgiLAkiTVRJT0NSREZUU0VHIiwJMHg2ZDA2fSwKKwl7ImxpbnV4L3N5bmNsaW5rLmgiLAkiTUdTTF9JT0NHU1RBVFMiLAkweDZkMDd9LAorCXsibGludXgvbXRpby5oIiwJIk1USU9DV1JGVFNFRyIsCTB4NmQwN30sCisJeyJsaW51eC9zeW5jbGluay5oIiwJIk1HU0xfSU9DV0FJVEVWRU5UIiwJMHg2ZDA4fSwKKwl7ImxpbnV4L210aW8uaCIsCSJNVElPQ1ZPTElORk8iLAkweDZkMDh9LAorCXsibGludXgvc3luY2xpbmsuaCIsCSJNR1NMX0lPQ0xPT1BUWERPTkUiLAkweDZkMDl9LAorCXsibGludXgvbXRpby5oIiwJIk1USU9DR0VUU0laRSIsCTB4NmQwOX0sCisJeyJsaW51eC9tdGlvLmgiLAkiTVRJT0NGVEZPUk1BVCIsCTB4NmQwYX0sCisJeyJsaW51eC9tdGlvLmgiLAkiTVRJT0NGVENNRCIsCTB4NmQwYn0sCisJeyJsaW51eC9zeW5jbGluay5oIiwJIk1HU0xfSU9DQ0xSTU9EQ09VTlQiLAkweDZkMGZ9LAorCXsibGludXgvemZ0YXBlLmgiLAkiTVRJT0NfWkZUQVBFX0dFVEJMS1NaIiwJMHg2ZDY4fSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfTkNQUkVRVUVTVCIsCTB4NmUwMX0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX0dFVE1PVU5UVUlEIiwJMHg2ZTAyfSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfR0VUTU9VTlRVSUQyIiwJMHg2ZTAyfSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfQ09OTl9MT0dHRURfSU4iLAkweDZlMDN9LAorCXsibGludXgvbmNwX2ZzLmgiLAkiTkNQX0lPQ19HRVRfRlNfSU5GTyIsCTB4NmUwNH0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX0dFVF9GU19JTkZPX1YyIiwJMHg2ZTA0fSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfU0lHTl9JTklUIiwJMHg2ZTA1fSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfU0VUX1NJR05fV0FOVEVEIiwJMHg2ZTA2fSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfU0lHTl9XQU5URUQiLAkweDZlMDZ9LAorCXsibGludXgvbmNwX2ZzLmgiLAkiTkNQX0lPQ19MT0NLVU5MT0NLIiwJMHg2ZTA3fSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfR0VUUk9PVCIsCTB4NmUwOH0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX1NFVFJPT1QiLAkweDZlMDh9LAorCXsibGludXgvbmNwX2ZzLmgiLAkiTkNQX0lPQ19HRVRPQkpFQ1ROQU1FIiwJMHg2ZTA5fSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfU0VUT0JKRUNUTkFNRSIsCTB4NmUwOX0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX0dFVFBSSVZBVEVEQVRBIiwJMHg2ZTBhfSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfU0VUUFJJVkFURURBVEEiLAkweDZlMGF9LAorCXsibGludXgvbmNwX2ZzLmgiLAkiTkNQX0lPQ19HRVRDSEFSU0VUUyIsCTB4NmUwYn0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX1NFVENIQVJTRVRTIiwJMHg2ZTBifSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfR0VUREVOVFJZVFRMIiwJMHg2ZTBjfSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfU0VUREVOVFJZVFRMIiwJMHg2ZTBjfSwKKwl7ImxpbnV4L21hdHJveGZiLmgiLAkiTUFUUk9YRkJfR0VUX09VVFBVVF9DT05ORUNUSU9OIiwJMHg2ZWY4fSwKKwl7ImxpbnV4L21hdHJveGZiLmgiLAkiTUFUUk9YRkJfU0VUX09VVFBVVF9DT05ORUNUSU9OIiwJMHg2ZWY4fSwKKwl7ImxpbnV4L21hdHJveGZiLmgiLAkiTUFUUk9YRkJfR0VUX0FWQUlMQUJMRV9PVVRQVVRTIiwJMHg2ZWY5fSwKKwl7ImxpbnV4L21hdHJveGZiLmgiLAkiTUFUUk9YRkJfR0VUX09VVFBVVF9NT0RFIiwJMHg2ZWZhfSwKKwl7ImxpbnV4L21hdHJveGZiLmgiLAkiTUFUUk9YRkJfU0VUX09VVFBVVF9NT0RFIiwJMHg2ZWZhfSwKKwl7ImxpbnV4L21hdHJveGZiLmgiLAkiTUFUUk9YRkJfR0VUX0FMTF9PVVRQVVRTIiwJMHg2ZWZifSwKKwl7ImxpbnV4L3J0Yy5oIiwJIlJUQ19BSUVfT04iLAkweDcwMDF9LAorCXsibGludXgvcnRjLmgiLAkiUlRDX0FJRV9PRkYiLAkweDcwMDJ9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19HRVRNT1VOVCIsCTB4NzAwM30sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfVUlFX09OIiwJMHg3MDAzfSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fU0VUUElEIiwJMHg3MDA0fSwKKwl7ImxpbnV4L3J0Yy5oIiwJIlJUQ19VSUVfT0ZGIiwJMHg3MDA0fSwKKwl7ImxpbnV4L3J0Yy5oIiwJIlJUQ19QSUVfT04iLAkweDcwMDV9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19DTE9TRV9KT1VSTkFMRiIsCTB4NzAwNn0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfUElFX09GRiIsCTB4NzAwNn0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX1NFVF9GU0VUUk9PVCIsCTB4NzAwN30sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfQUxNX1NFVCIsCTB4NzAwN30sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX0NMRUFSX0ZTRVRST09UIiwJMHg3MDA4fSwKKwl7ImxpbnV4L3J0Yy5oIiwJIlJUQ19BTE1fUkVBRCIsCTB4NzAwOH0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX1NFVE9QVCIsCTB4NzAwOX0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfUkRfVElNRSIsCTB4NzAwOX0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX0dFVE9QVCIsCTB4NzAwYX0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfU0VUX1RJTUUiLAkweDcwMGF9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19HRVRfS01MU0laRSIsCTB4NzAwYn0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfSVJRUF9SRUFEIiwJMHg3MDBifSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fR0VUX1JFQ05PIiwJMHg3MDBjfSwKKwl7ImxpbnV4L3J0Yy5oIiwJIlJUQ19JUlFQX1NFVCIsCTB4NzAwY30sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfRVBPQ0hfUkVBRCIsCTB4NzAwZH0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfRVBPQ0hfU0VUIiwJMHg3MDBlfSwKKwl7ImxpbnV4L3J0Yy5oIiwJIlJUQ19XSUVfT04iLAkweDcwMGZ9LAorCXsibGludXgvcnRjLmgiLAkiUlRDX1dLQUxNX1NFVCIsCTB4NzAwZn0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX1ZGU19TRVRBVFRSIiwJMHg3MDEwfSwKKwl7ImxpbnV4L3J0Yy5oIiwJIlJUQ19XSUVfT0ZGIiwJMHg3MDEwfSwKKwl7ImxpbnV4L3J0Yy5oIiwJIlJUQ19XS0FMTV9SRCIsCTB4NzAxMH0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX1ZGU19DUkVBVEUiLAkweDcwMTF9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19WRlNfTElOSyIsCTB4NzAxMn0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX1ZGU19VTkxJTksiLAkweDcwMTN9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19WRlNfU1lNTElOSyIsCTB4NzAxNH0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX1ZGU19NS0RJUiIsCTB4NzAxNX0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX1ZGU19STURJUiIsCTB4NzAxNn0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX1ZGU19NS05PRCIsCTB4NzAxN30sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX1ZGU19SRU5BTUUiLAkweDcwMTh9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19WRlNfQ0xPU0UiLAkweDcwMWF9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19WRlNfSU9QRU4iLAkweDcwMWJ9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19NQVJLIiwJMHg3MDIwfSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fUkVMRUFTRV9QRVJNSVQiLAkweDcwMjF9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19DTEVBUl9BTExfRlNFVFJPT1RTIiwJMHg3MDIyfSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fQkFDS0ZFVENIX0xNTCIsCTB4NzAyM30sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX1JFSU5UIiwJMHg3MDI0fSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fQ0FOQ0VMX0xNTCIsCTB4NzAyNX0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX1JFU0VUX0ZTRVQiLAkweDcwMjZ9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19DT01QTEVURV9DTE9TRVMiLAkweDcwMjd9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19SRUlOVF9CRUdJTiIsCTB4NzAzMH0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX0RPX1JFSU5UIiwJMHg3MDMxfSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fUkVJTlRfRU5EIiwJMHg3MDMyfSwKKwl7ImxpbnV4L252cmFtLmgiLAkiTlZSQU1fSU5JVCIsCTB4NzA0MH0sCisJeyJsaW51eC9udnJhbS5oIiwJIk5WUkFNX1NFVENLUyIsCTB4NzA0MX0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQU0VUTU9ERSIsCTB4NzA4MH0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQUlNUQVRVUyIsCTB4NzA4MX0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQUkNPTlRST0wiLAkweDcwODN9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUFdDT05UUk9MIiwJMHg3MDg0fSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBSREFUQSIsCTB4NzA4NX0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQV0RBVEEiLAkweDcwODZ9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUENMQUlNIiwJMHg3MDhifSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBSRUxFQVNFIiwJMHg3MDhjfSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBZSUVMRCIsCTB4NzA4ZH0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQRkNPTlRST0wiLAkweDcwOGV9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUEVYQ0wiLAkweDcwOGZ9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUERBVEFESVIiLAkweDcwOTB9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUE5FR09UIiwJMHg3MDkxfSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBXQ1RMT05JUlEiLAkweDcwOTJ9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUENMUklSUSIsCTB4NzA5M30sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQU0VUUEhBU0UiLAkweDcwOTR9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUEdFVFRJTUUiLAkweDcwOTV9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUFNFVFRJTUUiLAkweDcwOTZ9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUEdFVE1PREVTIiwJMHg3MDk3fSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBHRVRNT0RFIiwJMHg3MDk4fSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBHRVRQSEFTRSIsCTB4NzA5OX0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQR0VURkxBR1MiLAkweDcwOWF9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUFNFVEZMQUdTIiwJMHg3MDlifSwKKwl7ImxpbnV4L3NlcmlvLmgiLAkiU1BJT0NTVFlQRSIsCTB4NzEwMX0sCisJeyJsaW51eC92aWRlb3RleHQuaCIsCSJWVFhJT0NHRVRJTkZPIiwJMHg3MTAxfSwKKwl7ImxpbnV4L3ZpZGVvdGV4dC5oIiwJIlZUWElPQ0NMUlBBR0UiLAkweDcxMDJ9LAorCXsibGludXgvdmlkZW90ZXh0LmgiLAkiVlRYSU9DQ0xSRk9VTkQiLAkweDcxMDN9LAorCXsibGludXgvdmlkZW90ZXh0LmgiLAkiVlRYSU9DUEFHRVJFUSIsCTB4NzEwNH0sCisJeyJsaW51eC92aWRlb3RleHQuaCIsCSJWVFhJT0NHRVRTVEFUIiwJMHg3MTA1fSwKKwl7ImxpbnV4L3ZpZGVvdGV4dC5oIiwJIlZUWElPQ0dFVFBBR0UiLAkweDcxMDZ9LAorCXsibGludXgvdmlkZW90ZXh0LmgiLAkiVlRYSU9DU1RPUERBVSIsCTB4NzEwN30sCisJeyJsaW51eC92aWRlb3RleHQuaCIsCSJWVFhJT0NQVVRQQUdFIiwJMHg3MTA4fSwKKwl7ImxpbnV4L3ZpZGVvdGV4dC5oIiwJIlZUWElPQ1NFVERJU1AiLAkweDcxMDl9LAorCXsibGludXgvdmlkZW90ZXh0LmgiLAkiVlRYSU9DUFVUU1RBVCIsCTB4NzEwYX0sCisJeyJsaW51eC92aWRlb3RleHQuaCIsCSJWVFhJT0NDTFJDQUNIRSIsCTB4NzEwYn0sCisJeyJsaW51eC92aWRlb3RleHQuaCIsCSJWVFhJT0NTRVRWSVJUIiwJMHg3MTBjfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX0NBUEFCSUxJVElFUyIsCTB4NzE4MH0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9DQVBBQklMSVRJRVNfTElTVCIsCTB4NzE4MX0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9DQVBBQklMSVRJRVNfQ0hFQ0siLAkweDcxODJ9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUklORyIsCTB4NzE4M30sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9IT09LU1RBVEUiLAkweDcxODR9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfTUFYUklOR1MiLAkweDcxODV9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUklOR19DQURFTkNFIiwJMHg3MTg2fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIk9MRF9QSE9ORV9SSU5HX1NUQVJUIiwJMHg3MTg3fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1JJTkdfU1RBUlQiLAkweDcxODd9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUklOR19TVE9QIiwJMHg3MTg4fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1JFQ19DT0RFQyIsCTB4NzE4OX0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9SRUNfU1RBUlQiLAkweDcxOGF9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUkVDX1NUT1AiLAkweDcxOGJ9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUkVDX0RFUFRIIiwJMHg3MThjfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX0ZSQU1FIiwJMHg3MThkfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1JFQ19WT0xVTUUiLAkweDcxOGV9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUkVDX0xFVkVMIiwJMHg3MThmfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1BMQVlfQ09ERUMiLAkweDcxOTB9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUExBWV9TVEFSVCIsCTB4NzE5MX0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9QTEFZX1NUT1AiLAkweDcxOTJ9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUExBWV9ERVBUSCIsCTB4NzE5M30sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9QTEFZX1ZPTFVNRSIsCTB4NzE5NH0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9QTEFZX0xFVkVMIiwJMHg3MTk1fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX0RUTUZfUkVBRFkiLAkweDcxOTZ9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfR0VUX0RUTUYiLAkweDcxOTd9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfR0VUX0RUTUZfQVNDSUkiLAkweDcxOTh9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfRFRNRl9PT0IiLAkweDcxOTl9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfRVhDRVBUSU9OIiwJMHg3MTlhfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1BMQVlfVE9ORSIsCTB4NzE5Yn0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9TRVRfVE9ORV9PTl9USU1FIiwJMHg3MTljfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1NFVF9UT05FX09GRl9USU1FIiwJMHg3MTlkfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX0dFVF9UT05FX09OX1RJTUUiLAkweDcxOWV9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfR0VUX1RPTkVfT0ZGX1RJTUUiLAkweDcxOWZ9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfR0VUX1RPTkVfU1RBVEUiLAkweDcxYTB9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfQlVTWSIsCTB4NzFhMX0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9SSU5HQkFDSyIsCTB4NzFhMn0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9ESUFMVE9ORSIsCTB4NzFhM30sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9DUFRfU1RPUCIsCTB4NzFhNH0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9QU1ROX1NFVF9TVEFURSIsCTB4NzFhNH0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9QU1ROX0dFVF9TVEFURSIsCTB4NzFhNX0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9XSU5LX0RVUkFUSU9OIiwJMHg3MWE2fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1FVRVJZX0NPREVDIiwJMHg3MWE3fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1BTVE5fTElORVRFU1QiLAkweDcxYTh9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfVkFEIiwJMHg3MWE5fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1dJTksiLAkweDcxYWF9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9EU1BfUkVTRVQiLAkweDcxYzB9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9DQVJEVFlQRSIsCTB4NzFjMX0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1NFUklBTCIsCTB4NzFjMn0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0RTUF9UWVBFIiwJMHg3MWMzfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfRFNQX1ZFUlNJT04iLAkweDcxYzR9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9EU1BfSURMRSIsCTB4NzFjNX0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1RFU1RSQU0iLAkweDcxYzZ9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9TRVRfRklMVEVSIiwJMHg3MWM3fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfR0VUX0ZJTFRFUl9ISVNUIiwJMHg3MWM4fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfSU5JVF9UT05FIiwJMHg3MWM5fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfVE9ORV9DQURFTkNFIiwJMHg3MWNhfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfQUVDX1NUQVJUIiwJMHg3MWNifSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfQUVDX1NUT1AiLAkweDcxY2N9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9BRUNfR0VUX0xFVkVMIiwJMHg3MWNkfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfU0VUX0xFRCIsCTB4NzFjZX0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX01JWEVSIiwJMHg3MWNmfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfREFBX0NPRUZGX1NFVCIsCTB4NzFkMH0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1BPUlQiLAkweDcxZDF9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9EQUFfQUdBSU4iLAkweDcxZDJ9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9QU1ROX0xJTkVURVNUIiwJMHg3MWQzfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfQ0lEIiwJMHg3MWQ0fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfUE9UU19QU1ROIiwJMHg3MWQ1fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfRklMVEVSX0NBREVOQ0UiLAkweDcxZDZ9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9QTEFZX0NJRCIsCTB4NzFkN30sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1ZNV0kiLAkweDcxZDh9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9DSURDVyIsCTB4NzFkOX0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1ZFUlNJT04iLAkweDcxZGF9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUkVDX1ZPTFVNRV9MSU5FQVIiLAkweDcxZGJ9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUExBWV9WT0xVTUVfTElORUFSIiwJMHg3MWRjfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfU0VUX0ZJTFRFUl9SQVciLAkweDcxZGR9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9IWiIsCTB4NzFlMH0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1JBVEUiLAkweDcxZTF9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9GUkFNRVNfUkVBRCIsCTB4NzFlMn0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0ZSQU1FU19XUklUVEVOIiwJMHg3MWUzfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfUkVBRF9XQUlUIiwJMHg3MWU0fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfV1JJVEVfV0FJVCIsCTB4NzFlNX0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0RSWUJVRkZFUl9SRUFEIiwJMHg3MWU2fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfRFJZQlVGRkVSX0NMRUFSIiwJMHg3MWU3fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfRFRNRl9QUkVTQ0FMRSIsCTB4NzFlOH0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1NJR0NUTCIsCTB4NzFlOX0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1NDX1JYRyIsCTB4NzFlYX0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1NDX1RYRyIsCTB4NzFlYn0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0lOVEVSQ09NX1NUQVJUIiwJMHg3MWZkfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfSU5URVJDT01fU1RPUCIsCTB4NzFmZX0sCisJeyJsaW51eC92aWRlb3RleHQuaCIsCSJUVU5JT0NHRVRJTkZPIiwJMHg3MjAxfSwKKwl7ImxpbnV4L21zZG9zX2ZzLmgiLAkiVkZBVF9JT0NUTF9SRUFERElSX0JPVEgiLAkweDcyMDF9LAorCXsibGludXgvdmlkZW90ZXh0LmgiLAkiVFVOSU9DUkVTRVQiLAkweDcyMDJ9LAorCXsibGludXgvbXNkb3NfZnMuaCIsCSJWRkFUX0lPQ1RMX1JFQURESVJfU0hPUlQiLAkweDcyMDJ9LAorCXsibGludXgvdmlkZW90ZXh0LmgiLAkiVFVOSU9DU0VURlJFUSIsCTB4NzIwM30sCisJeyJsaW51eC92aWRlb3RleHQuaCIsCSJUVU5JT0NHRVRGUkVRIiwJMHg3MjA0fSwKKwl7ImxpbnV4L3ZpZGVvdGV4dC5oIiwJIlRVTklPQ1NFVENIQU4iLAkweDcyMDV9LAorCXsibGludXgvdmlkZW90ZXh0LmgiLAkiVFVOSU9DR0VUQ0hBTiIsCTB4NzIwNn0sCisJeyJsaW51eC9jZGsuaCIsCSJTVExfQklOVFIiLAkweDczMTR9LAorCXsibGludXgvY2RrLmgiLAkiU1RMX0JTVEFSVCIsCTB4NzMxNX0sCisJeyJsaW51eC9jZGsuaCIsCSJTVExfQlNUT1AiLAkweDczMTZ9LAorCXsibGludXgvY2RrLmgiLAkiU1RMX0JSRVNFVCIsCTB4NzMxN30sCisJeyJsaW51eC9jZGsuaCIsCSJTVExfR0VUUEZMQUciLAkweDczNTB9LAorCXsibGludXgvY2RrLmgiLAkiU1RMX1NFVFBGTEFHIiwJMHg3MzUxfSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ0dDSEFOIiwJMHg3NDM3fSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ0FUVENIQU4iLAkweDc0Mzh9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DRElTQ09OTiIsCTB4NzQzOX0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NDT05ORUNUIiwJMHg3NDNhfSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ1NNUlJVIiwJMHg3NDNifSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ0RFVEFDSCIsCTB4NzQzY30sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NBVFRBQ0giLAkweDc0M2R9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DTkVXVU5JVCIsCTB4NzQzZX0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NHSURMRSIsCTB4NzQzZn0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NTREVCVUciLAkweDc0NDB9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DR0RFQlVHIiwJMHg3NDQxfSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ1NBQ1RJVkUiLAkweDc0NDZ9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DU1BBU1MiLAkweDc0NDd9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DU05QTU9ERSIsCTB4NzQ0Yn0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NHTlBNT0RFIiwJMHg3NDRjfSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ1NDT01QUkVTUyIsCTB4NzQ0ZH0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NYRkVSVU5JVCIsCTB4NzQ0ZX0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NTWEFTWU5DTUFQIiwJMHg3NDRmfSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ0dYQVNZTkNNQVAiLAkweDc0NTB9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DU01BWENJRCIsCTB4NzQ1MX0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NTTVJVIiwJMHg3NDUyfSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ0dNUlUiLAkweDc0NTN9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DU1JBU1lOQ01BUCIsCTB4NzQ1NH0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NHUkFTWU5DTUFQIiwJMHg3NDU1fSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ0dVTklUIiwJMHg3NDU2fSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ1NBU1lOQ01BUCIsCTB4NzQ1N30sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NHQVNZTkNNQVAiLAkweDc0NTh9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DU0ZMQUdTIiwJMHg3NDU5fSwKKwl7ImxpbnV4L2pmZnMuaCIsCSJKRkZTX1BSSU5UX0hBU0giLAkweDc0NWF9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DR0ZMQUdTIiwJMHg3NDVhfSwKKwl7ImxpbnV4L2pmZnMuaCIsCSJKRkZTX1BSSU5UX1RSRUUiLAkweDc0NWJ9LAorCXsibGludXgvamZmcy5oIiwJIkpGRlNfR0VUX1NUQVRVUyIsCTB4NzQ1Y30sCisJeyJsaW51eC9pc2RuX3BwcC5oIiwJIlBQUElPQ0dDQUxMSU5GTyIsCTB4NzQ4MH0sCisJeyJsaW51eC9pc2RuX3BwcC5oIiwJIlBQUElPQ0JVTkRMRSIsCTB4NzQ4MX0sCisJeyJsaW51eC9pc2RuX3BwcC5oIiwJIlBQUElPQ0dNUEZMQUdTIiwJMHg3NDgyfSwKKwl7ImxpbnV4L2lzZG5fcHBwLmgiLAkiUFBQSU9DU01QRkxBR1MiLAkweDc0ODN9LAorCXsibGludXgvaXNkbl9wcHAuaCIsCSJQUFBJT0NTTVBNVFUiLAkweDc0ODR9LAorCXsibGludXgvaXNkbl9wcHAuaCIsCSJQUFBJT0NTTVBNUlUiLAkweDc0ODV9LAorCXsibGludXgvaXNkbl9wcHAuaCIsCSJQUFBJT0NHQ09NUFJFU1NPUlMiLAkweDc0ODZ9LAorCXsibGludXgvaXNkbl9wcHAuaCIsCSJQUFBJT0NTQ09NUFJFU1NPUiIsCTB4NzQ4N30sCisJeyJsaW51eC9pc2RuX3BwcC5oIiwJIlBQUElPQ0dJRk5BTUUiLAkweDc0ODh9LAorCXsibGludXgvdG9zaGliYS5oIiwJIlRPU0hfU01NIiwJMHg3NDkwfSwKKwl7ImxpbnV4L3NtYl9mcy5oIiwJIlNNQl9JT0NfR0VUTU9VTlRVSUQiLAkweDc1MDF9LAorCXsibGludXgvc21iX2ZzLmgiLAkiU01CX0lPQ19ORVdDT05OIiwJMHg3NTAyfSwKKwl7ImxpbnV4L3NtYl9mcy5oIiwJIlNNQl9JT0NfR0VUTU9VTlRVSUQzMiIsCTB4NzUwM30sCisJeyJsaW51eC9zb255cGkuaCIsCSJTT05ZUElfSU9DR0JSVCIsCTB4NzYwMH0sCisJeyJsaW51eC9zb255cGkuaCIsCSJTT05ZUElfSU9DU0JSVCIsCTB4NzYwMH0sCisJeyJsaW51eC9leHQyX2ZzLmgiLAkiRVhUMl9JT0NfR0VUVkVSU0lPTiIsCTB4NzYwMX0sCisJeyJsaW51eC9leHQzX2ZzLmgiLAkiRVhUM19JT0NfR0VUVkVSU0lPTl9PTEQiLAkweDc2MDF9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NHQ0FQIiwJMHg3NjAxfSwKKwl7ImxpbnV4L2V4dDJfZnMuaCIsCSJFWFQyX0lPQ19TRVRWRVJTSU9OIiwJMHg3NjAyfSwKKwl7ImxpbnV4L2V4dDNfZnMuaCIsCSJFWFQzX0lPQ19TRVRWRVJTSU9OX09MRCIsCTB4NzYwMn0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ0dDSEFOIiwJMHg3NjAyfSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DU0NIQU4iLAkweDc2MDN9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NHVFVORVIiLAkweDc2MDR9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NTVFVORVIiLAkweDc2MDV9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NHUElDVCIsCTB4NzYwNn0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ1NQSUNUIiwJMHg3NjA3fSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DQ0FQVFVSRSIsCTB4NzYwOH0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ0dXSU4iLAkweDc2MDl9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NTV0lOIiwJMHg3NjBhfSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DR0ZCVUYiLAkweDc2MGJ9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NTRkJVRiIsCTB4NzYwY30sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ0tFWSIsCTB4NzYwZH0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ0dGUkVRIiwJMHg3NjBlfSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DU0ZSRVEiLAkweDc2MGZ9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NHQVVESU8iLAkweDc2MTB9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NTQVVESU8iLAkweDc2MTF9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NTWU5DIiwJMHg3NjEyfSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DTUNBUFRVUkUiLAkweDc2MTN9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NHTUJVRiIsCTB4NzYxNH0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ0dVTklUIiwJMHg3NjE1fSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DR0NBUFRVUkUiLAkweDc2MTZ9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NTQ0FQVFVSRSIsCTB4NzYxN30sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ1NQTEFZTU9ERSIsCTB4NzYxOH0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ1NXUklURU1PREUiLAkweDc2MTl9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NHUExBWUlORk8iLAkweDc2MWF9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NTTUlDUk9DT0RFIiwJMHg3NjFifSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DR1ZCSUZNVCIsCTB4NzYxY30sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ1NWQklGTVQiLAkweDc2MWR9LAorCXsibGludXgvbWV5ZS5oIiwJIk1FWUVJT0NfR19QQVJBTVMiLAkweDc2YzB9LAorCXsibGludXgvbWV5ZS5oIiwJIk1FWUVJT0NfU19QQVJBTVMiLAkweDc2YzF9LAorCXsibGludXgvbWV5ZS5oIiwJIk1FWUVJT0NfUUJVRl9DQVBUIiwJMHg3NmMyfSwKKwl7ImxpbnV4L21leWUuaCIsCSJNRVlFSU9DX1NZTkMiLAkweDc2YzN9LAorCXsibGludXgvbWV5ZS5oIiwJIk1FWUVJT0NfU1RJTExDQVBUIiwJMHg3NmM0fSwKKwl7ImxpbnV4L21leWUuaCIsCSJNRVlFSU9DX1NUSUxMSkNBUFQiLAkweDc2YzV9LAorCXsiYXNtL3NvY2tpb3MuaCIsCSJGSU9TRVRPV04iLAkweDg5MDF9LAorCXsiYXNtL3NvY2tpb3MuaCIsCSJTSU9DU1BHUlAiLAkweDg5MDJ9LAorCXsiYXNtL3NvY2tpb3MuaCIsCSJGSU9HRVRPV04iLAkweDg5MDN9LAorCXsiYXNtL3NvY2tpb3MuaCIsCSJTSU9DR1BHUlAiLAkweDg5MDR9LAorCXsiYXNtL3NvY2tpb3MuaCIsCSJTSU9DQVRNQVJLIiwJMHg4OTA1fSwKKwl7ImFzbS9zb2NraW9zLmgiLAkiU0lPQ0dTVEFNUCIsCTB4ODkwNn0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ0FERFJUIiwJMHg4OTBifSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DREVMUlQiLAkweDg5MGN9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NSVE1TRyIsCTB4ODkwZH0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ0dJRk5BTUUiLAkweDg5MTB9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NTSUZMSU5LIiwJMHg4OTExfSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DR0lGQ09ORiIsCTB4ODkxMn0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ0dJRkZMQUdTIiwJMHg4OTEzfSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DU0lGRkxBR1MiLAkweDg5MTR9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NHSUZBRERSIiwJMHg4OTE1fSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DU0lGQUREUiIsCTB4ODkxNn0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ0dJRkRTVEFERFIiLAkweDg5MTd9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NTSUZEU1RBRERSIiwJMHg4OTE4fSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DR0lGQlJEQUREUiIsCTB4ODkxOX0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ1NJRkJSREFERFIiLAkweDg5MWF9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NHSUZORVRNQVNLIiwJMHg4OTFifSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DU0lGTkVUTUFTSyIsCTB4ODkxY30sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ0dJRk1FVFJJQyIsCTB4ODkxZH0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ1NJRk1FVFJJQyIsCTB4ODkxZX0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ0dJRk1FTSIsCTB4ODkxZn0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ1NJRk1FTSIsCTB4ODkyMH0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ0dJRk1UVSIsCTB4ODkyMX0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ1NJRk1UVSIsCTB4ODkyMn0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ1NJRk5BTUUiLAkweDg5MjN9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NTSUZIV0FERFIiLAkweDg5MjR9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NHSUZFTkNBUCIsCTB4ODkyNX0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ1NJRkVOQ0FQIiwJMHg4OTI2fSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DR0lGSFdBRERSIiwJMHg4OTI3fSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DR0lGU0xBVkUiLAkweDg5Mjl9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NTSUZTTEFWRSIsCTB4ODkzMH0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ0FERE1VTFRJIiwJMHg4OTMxfSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DREVMTVVMVEkiLAkweDg5MzJ9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NHSUZJTkRFWCIsCTB4ODkzM30sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ1NJRlBGTEFHUyIsCTB4ODkzNH0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ0dJRlBGTEFHUyIsCTB4ODkzNX0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ0RJRkFERFIiLAkweDg5MzZ9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NTSUZIV0JST0FEQ0FTVCIsCTB4ODkzN30sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ0dJRkNPVU5UIiwJMHg4OTM4fSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DR0lGQlIiLAkweDg5NDB9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NTSUZCUiIsCTB4ODk0MX0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ0dJRlRYUUxFTiIsCTB4ODk0Mn0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ1NJRlRYUUxFTiIsCTB4ODk0M30sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ0dJRkRJVkVSVCIsCTB4ODk0NH0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ1NJRkRJVkVSVCIsCTB4ODk0NX0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ0VUSFRPT0wiLAkweDg5NDZ9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NHTUlJUEhZIiwJMHg4OTQ3fSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DR01JSVJFRyIsCTB4ODk0OH0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ1NNSUlSRUciLAkweDg5NDl9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NEQVJQIiwJMHg4OTUzfSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DR0FSUCIsCTB4ODk1NH0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ1NBUlAiLAkweDg5NTV9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NEUkFSUCIsCTB4ODk2MH0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ0dSQVJQIiwJMHg4OTYxfSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DU1JBUlAiLAkweDg5NjJ9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NHSUZNQVAiLAkweDg5NzB9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NTSUZNQVAiLAkweDg5NzF9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NBRERETENJIiwJMHg4OTgwfSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DREVMRExDSSIsCTB4ODk4MX0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ0dJRlZMQU4iLAkweDg5ODJ9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NTSUZWTEFOIiwJMHg4OTgzfSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DQk9OREVOU0xBVkUiLAkweDg5OTB9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NCT05EUkVMRUFTRSIsCTB4ODk5MX0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ0JPTkRTRVRIV0FERFIiLAkweDg5OTJ9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NCT05EU0xBVkVJTkZPUVVFUlkiLAkweDg5OTN9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NCT05ESU5GT1FVRVJZIiwJMHg4OTk0fSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DQk9ORENIQU5HRUFDVElWRSIsCTB4ODk5NX0sCisJeyJsaW51eC9kbi5oIiwJIk9TSU9DU05FVEFERFIiLAkweDg5ZTB9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NQUk9UT1BSSVZBVEUiLAkweDg5ZTB9LAorCXsibGludXgvZG4uaCIsCSJTSU9DU05FVEFERFIiLAkweDg5ZTB9LAorCXsibGludXgvZG4uaCIsCSJPU0lPQ0dORVRBRERSIiwJMHg4OWUxfSwKKwl7ImxpbnV4L2RuLmgiLAkiU0lPQ0dORVRBRERSIiwJMHg4OWUxfSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DREVWUFJJVkFURSIsCTB4ODlmMH0sCisJeyJsaW51eC93aXJlbGVzcy5oIiwJIlNJT0NJV0ZJUlNUIiwJMHg4YjAwfSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ1NJV0NPTU1JVCIsCTB4OGIwMH0sCisJeyJsaW51eC93aXJlbGVzcy5oIiwJIlNJT0NHSVdOQU1FIiwJMHg4YjAxfSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ1NJV05XSUQiLAkweDhiMDJ9LAorCXsibGludXgvd2lyZWxlc3MuaCIsCSJTSU9DR0lXTldJRCIsCTB4OGIwM30sCisJeyJsaW51eC93aXJlbGVzcy5oIiwJIlNJT0NTSVdGUkVRIiwJMHg4YjA0fSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ0dJV0ZSRVEiLAkweDhiMDV9LAorCXsibGludXgvd2lyZWxlc3MuaCIsCSJTSU9DU0lXTU9ERSIsCTB4OGIwNn0sCisJeyJsaW51eC93aXJlbGVzcy5oIiwJIlNJT0NHSVdNT0RFIiwJMHg4YjA3fSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ1NJV1NFTlMiLAkweDhiMDh9LAorCXsibGludXgvd2lyZWxlc3MuaCIsCSJTSU9DR0lXU0VOUyIsCTB4OGIwOX0sCisJeyJsaW51eC93aXJlbGVzcy5oIiwJIlNJT0NTSVdSQU5HRSIsCTB4OGIwYX0sCisJeyJsaW51eC93aXJlbGVzcy5oIiwJIlNJT0NHSVdSQU5HRSIsCTB4OGIwYn0sCisJeyJsaW51eC93aXJlbGVzcy5oIiwJIlNJT0NTSVdQUklWIiwJMHg4YjBjfSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ0dJV1BSSVYiLAkweDhiMGR9LAorCXsibGludXgvd2lyZWxlc3MuaCIsCSJTSU9DU0lXU1RBVFMiLAkweDhiMGV9LAorCXsibGludXgvd2lyZWxlc3MuaCIsCSJTSU9DR0lXU1RBVFMiLAkweDhiMGZ9LAorCXsibGludXgvd2lyZWxlc3MuaCIsCSJTSU9DU0lXU1BZIiwJMHg4YjEwfSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ0dJV1NQWSIsCTB4OGIxMX0sCisJeyJsaW51eC93aXJlbGVzcy5oIiwJIlNJT0NTSVdBUCIsCTB4OGIxNH0sCisJeyJsaW51eC93aXJlbGVzcy5oIiwJIlNJT0NHSVdBUCIsCTB4OGIxNX0sCisJeyJsaW51eC93aXJlbGVzcy5oIiwJIlNJT0NHSVdBUExJU1QiLAkweDhiMTd9LAorCXsibGludXgvd2lyZWxlc3MuaCIsCSJTSU9DU0lXU0NBTiIsCTB4OGIxOH0sCisJeyJsaW51eC93aXJlbGVzcy5oIiwJIlNJT0NHSVdTQ0FOIiwJMHg4YjE5fSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ1NJV0VTU0lEIiwJMHg4YjFhfSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ0dJV0VTU0lEIiwJMHg4YjFifSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ1NJV05JQ0tOIiwJMHg4YjFjfSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ0dJV05JQ0tOIiwJMHg4YjFkfSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ1NJV1JBVEUiLAkweDhiMjB9LAorCXsibGludXgvd2lyZWxlc3MuaCIsCSJTSU9DR0lXUkFURSIsCTB4OGIyMX0sCisJeyJsaW51eC93aXJlbGVzcy5oIiwJIlNJT0NTSVdSVFMiLAkweDhiMjJ9LAorCXsibGludXgvd2lyZWxlc3MuaCIsCSJTSU9DR0lXUlRTIiwJMHg4YjIzfSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ1NJV0ZSQUciLAkweDhiMjR9LAorCXsibGludXgvd2lyZWxlc3MuaCIsCSJTSU9DR0lXRlJBRyIsCTB4OGIyNX0sCisJeyJsaW51eC93aXJlbGVzcy5oIiwJIlNJT0NTSVdUWFBPVyIsCTB4OGIyNn0sCisJeyJsaW51eC93aXJlbGVzcy5oIiwJIlNJT0NHSVdUWFBPVyIsCTB4OGIyN30sCisJeyJsaW51eC93aXJlbGVzcy5oIiwJIlNJT0NTSVdSRVRSWSIsCTB4OGIyOH0sCisJeyJsaW51eC93aXJlbGVzcy5oIiwJIlNJT0NHSVdSRVRSWSIsCTB4OGIyOX0sCisJeyJsaW51eC93aXJlbGVzcy5oIiwJIlNJT0NTSVdFTkNPREUiLAkweDhiMmF9LAorCXsibGludXgvd2lyZWxlc3MuaCIsCSJTSU9DR0lXRU5DT0RFIiwJMHg4YjJifSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ1NJV1BPV0VSIiwJMHg4YjJjfSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ0dJV1BPV0VSIiwJMHg4YjJkfSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ0lXRklSU1RQUklWIiwJMHg4YmUwfSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ0lXTEFTVFBSSVYiLAkweDhiZmZ9LAorCXsibGludXgvYXV0b19mcy5oIiwJIkFVVE9GU19JT0NfUkVBRFkiLAkweDkzNjB9LAorCXsibGludXgvYXV0b19mcy5oIiwJIkFVVE9GU19JT0NfRkFJTCIsCTB4OTM2MX0sCisJeyJsaW51eC9hdXRvX2ZzLmgiLAkiQVVUT0ZTX0lPQ19DQVRBVE9OSUMiLAkweDkzNjJ9LAorCXsibGludXgvYXV0b19mcy5oIiwJIkFVVE9GU19JT0NfUFJPVE9WRVIiLAkweDkzNjN9LAorCXsibGludXgvYXV0b19mcy5oIiwJIkFVVE9GU19JT0NfU0VUVElNRU9VVCIsCTB4OTM2NH0sCisJeyJsaW51eC9hdXRvX2ZzLmgiLAkiQVVUT0ZTX0lPQ19FWFBJUkUiLAkweDkzNjV9LAorCXsibGludXgvYXV0b19mczQuaCIsCSJBVVRPRlNfSU9DX0VYUElSRV9NVUxUSSIsCTB4OTM2Nn0sCisJeyJsaW51eC9uYmQuaCIsCSJOQkRfU0VUX1NPQ0siLAkweGFiMDB9LAorCXsibGludXgvbmJkLmgiLAkiTkJEX1NFVF9CTEtTSVpFIiwJMHhhYjAxfSwKKwl7ImxpbnV4L25iZC5oIiwJIk5CRF9TRVRfU0laRSIsCTB4YWIwMn0sCisJeyJsaW51eC9uYmQuaCIsCSJOQkRfRE9fSVQiLAkweGFiMDN9LAorCXsibGludXgvbmJkLmgiLAkiTkJEX0NMRUFSX1NPQ0siLAkweGFiMDR9LAorCXsibGludXgvbmJkLmgiLAkiTkJEX0NMRUFSX1FVRSIsCTB4YWIwNX0sCisJeyJsaW51eC9uYmQuaCIsCSJOQkRfUFJJTlRfREVCVUciLAkweGFiMDZ9LAorCXsibGludXgvbmJkLmgiLAkiTkJEX1NFVF9TSVpFX0JMT0NLUyIsCTB4YWIwN30sCisJeyJsaW51eC9uYmQuaCIsCSJOQkRfRElTQ09OTkVDVCIsCTB4YWIwOH0sCisJeyJsaW51eC9yYXcuaCIsCSJSQVdfU0VUQklORCIsCTB4YWMwMH0sCisJeyJsaW51eC9yYXcuaCIsCSJSQVdfR0VUQklORCIsCTB4YWMwMX0sCisJeyJsaW51eC9pZl9wcHBveC5oIiwJIlBQUE9FSU9DU0ZXRCIsCTB4YjEwMH0sCisJeyJsaW51eC9pZl9wcHBveC5oIiwJIlBQUE9FSU9DREZXRCIsCTB4YjEwMX0sCisJeyJsaW51eC9yZWlzZXJmc19mcy5oIiwJIlJFSVNFUkZTX0lPQ19VTlBBQ0siLAkweGNkMDF9LAorCXsibGludXgvbHZtLmgiLAkiVkdfQ1JFQVRFX09MRCIsCTB4ZmUwMH0sCisJeyJsaW51eC9sdm0uaCIsCSJWR19SRU1PVkUiLAkweGZlMDF9LAorCXsibGludXgvbHZtLmgiLAkiVkdfRVhURU5EIiwJMHhmZTAzfSwKKwl7ImxpbnV4L2x2bS5oIiwJIlZHX1JFRFVDRSIsCTB4ZmUwNH0sCisJeyJsaW51eC9sdm0uaCIsCSJWR19TVEFUVVMiLAkweGZlMDV9LAorCXsibGludXgvbHZtLmgiLAkiVkdfU1RBVFVTX0dFVF9DT1VOVCIsCTB4ZmUwNn0sCisJeyJsaW51eC9sdm0uaCIsCSJWR19TVEFUVVNfR0VUX05BTUVMSVNUIiwJMHhmZTA3fSwKKwl7ImxpbnV4L2x2bS5oIiwJIlZHX1NFVF9FWFRFTkRBQkxFIiwJMHhmZTA4fSwKKwl7ImxpbnV4L2x2bS5oIiwJIlZHX1JFTkFNRSIsCTB4ZmUwOX0sCisJeyJsaW51eC9sdm0uaCIsCSJWR19DUkVBVEUiLAkweGZlMGF9LAorCXsibGludXgvbHZtLmgiLAkiTFZfQ1JFQVRFIiwJMHhmZTIwfSwKKwl7ImxpbnV4L2x2bS5oIiwJIkxWX1JFTU9WRSIsCTB4ZmUyMX0sCisJeyJsaW51eC9sdm0uaCIsCSJMVl9BQ1RJVkFURSIsCTB4ZmUyMn0sCisJeyJsaW51eC9sdm0uaCIsCSJMVl9ERUFDVElWQVRFIiwJMHhmZTIzfSwKKwl7ImxpbnV4L2x2bS5oIiwJIkxWX0VYVEVORCIsCTB4ZmUyNH0sCisJeyJsaW51eC9sdm0uaCIsCSJMVl9SRURVQ0UiLAkweGZlMjV9LAorCXsibGludXgvbHZtLmgiLAkiTFZfU1RBVFVTX0JZTkFNRSIsCTB4ZmUyNn0sCisJeyJsaW51eC9sdm0uaCIsCSJMVl9TVEFUVVNfQllJTkRFWCIsCTB4ZmUyN30sCisJeyJsaW51eC9sdm0uaCIsCSJMVl9TRVRfQUNDRVNTIiwJMHhmZTI4fSwKKwl7ImxpbnV4L2x2bS5oIiwJIkxWX1NFVF9BTExPQ0FUSU9OIiwJMHhmZTI5fSwKKwl7ImxpbnV4L2x2bS5oIiwJIkxWX1NFVF9TVEFUVVMiLAkweGZlMmF9LAorCXsibGludXgvbHZtLmgiLAkiTEVfUkVNQVAiLAkweGZlMmJ9LAorCXsibGludXgvbHZtLmgiLAkiTFZfU05BUFNIT1RfVVNFX1JBVEUiLAkweGZlMmN9LAorCXsibGludXgvbHZtLmgiLAkiTFZfU1RBVFVTX0JZREVWIiwJMHhmZTJlfSwKKwl7ImxpbnV4L2x2bS5oIiwJIkxWX1JFTkFNRSIsCTB4ZmUyZn0sCisJeyJsaW51eC9sdm0uaCIsCSJMVl9CTUFQIiwJMHhmZTMwfSwKKwl7ImxpbnV4L2x2bS5oIiwJIlBWX1NUQVRVUyIsCTB4ZmU0MH0sCisJeyJsaW51eC9sdm0uaCIsCSJQVl9DSEFOR0UiLAkweGZlNDF9LAorCXsibGludXgvbHZtLmgiLAkiUFZfRkxVU0giLAkweGZlNDJ9LAorCXsibGludXgvbHZtLmgiLAkiUEVfTE9DS19VTkxPQ0siLAkweGZlNTB9LAorCXsibGludXgvbHZtLmgiLAkiTFZNX0dFVF9JT1BfVkVSU0lPTiIsCTB4ZmU5OH0sCisJeyJsaW51eC9sdm0uaCIsCSJMVk1fUkVTRVQiLAkweGZlOTl9LAorCXsibGludXgvbHZtLmgiLAkiTFZNX0xPQ0tfTFZNIiwJMHhmZjAwfSwKZGlmZiAtLWdpdCBhL3N0cmFjZS00LjUuMjAvbGludXgvaWE2NC9zeXNjYWxsZW50LmggYi9zdHJhY2UtNC41LjIwL2xpbnV4L2lhNjQvc3lzY2FsbGVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRiYTkxZmEKLS0tIC9kZXYvbnVsbAorKysgYi9zdHJhY2UtNC41LjIwL2xpbnV4L2lhNjQvc3lzY2FsbGVudC5oCkBAIC0wLDAgKzEsMTEyMCBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMTk5OSwgMjAwMSBIZXdsZXR0LVBhY2thcmQgQ28KKyAqCURhdmlkIE1vc2Jlcmdlci1UYW5nIDxkYXZpZG1AaHBsLmhwLmNvbT4KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBUaGUgbmFtZSBvZiB0aGUgYXV0aG9yIG1heSBub3QgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMKKyAqICAgIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIEFVVEhPUiBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCisgKiBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELgorICogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAorICogSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUCisgKiBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqCisgKgkkSWQkCisgKi8KKworLyoKKyAqIElBLTMyIHN5c2NhbGxzIHRoYXQgaGF2ZSBwb2ludGVyIGFyZ3VtZW50cyB3aGljaCBhcmUgaW5jb21wYXRpYmxlCisgKiB3aXRoIDY0LWJpdCBsYXlvdXQgZ2V0IHJlZGlyZWN0ZWQgdG8gcHJpbnRhcmdzLgorICovCisjZGVmaW5lIHN5c19nZXRybGltaXQJCXByaW50YXJncworI2RlZmluZSBzeXNfYWZzX3N5c2NhbGwJCXByaW50YXJncworI2RlZmluZSBzeXNfZ2V0cG1zZwkJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19wdXRwbXNnCQlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3VnZXRybGltaXQJCXByaW50YXJncworI2RlZmluZSBzeXNfZm9yawkJcHJpbnRhcmdzCisjZGVmaW5lIHN5c193YWl0cGlkCQlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3RpbWUJCXByaW50YXJncworI2RlZmluZSBzeXNfYnJlYWsJCXByaW50YXJncworI2RlZmluZSBzeXNfb2xkc3RhdAkJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19sc2VlawkJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19zdGltZQkJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19wdHJhY2UJCXByaW50YXJncworI2RlZmluZSBzeXNfYWxhcm0JCXByaW50YXJncworI2RlZmluZSBzeXNfb2xkZnN0YXQJCXByaW50YXJncworI2RlZmluZSBzeXNfcGF1c2UJCXByaW50YXJncworI2RlZmluZSBzeXNfdXRpbWUJCXByaW50YXJncworI2RlZmluZSBzeXNfc3R0eQkJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19ndHR5CQlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2Z0aW1lCQlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3BpcGUJCXByaW50YXJncworI2RlZmluZSBzeXNfdGltZXMJCXByaW50YXJncworI2RlZmluZSBzeXNfcHJvZgkJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19zaWduYWwJCXByaW50YXJncworI2RlZmluZSBzeXNfbG9jawkJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19pb2N0bAkJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19mY250bAkJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19tcHgJCQlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3VsaW1pdAkJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19vbGRvbGR1bmFtZQkJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19zaWdhY3Rpb24JCXByaW50YXJncworI2RlZmluZSBzeXNfc2dldG1hc2sJCXByaW50YXJncworI2RlZmluZSBzeXNfc3NldG1hc2sJCXByaW50YXJncworI2RlZmluZSBzeXNfc2lnc3VzcGVuZAkJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19zaWdwZW5kaW5nCQlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3NldHJsaW1pdAkJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19nZXRydXNhZ2UJCXByaW50YXJncworI2RlZmluZSBzeXNfZ2V0dGltZW9mZGF5CXByaW50YXJncworI2RlZmluZSBzeXNfc2V0dGltZW9mZGF5CXByaW50YXJncworI2RlZmluZSBzeXNfZ2V0Z3JvdXBzCQlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3NldGdyb3VwcwkJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19zZWxlY3QJCXByaW50YXJncworI2RlZmluZSBzeXNfb2xkbHN0YXQJCXByaW50YXJncworI2RlZmluZSBzeXNfcmVhZGRpcgkJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19wcm9maWwJCXByaW50YXJncworI2RlZmluZSBzeXNfc3RhdGZzCQlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2ZzdGF0ZnMJCXByaW50YXJncworI2RlZmluZSBzeXNfaW9wZXJtCQlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3NvY2tldGNhbGwJCXByaW50YXJncworI2RlZmluZSBzeXNfc2V0aXRpbWVyCQlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2dldGl0aW1lcgkJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19zdGF0CQlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2xzdGF0CQlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2ZzdGF0CQlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX29sZHVuYW1lCQlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2lvcGwJCXByaW50YXJncworI2RlZmluZSBzeXNfaWRsZQkJcHJpbnRhcmdzCisjZGVmaW5lIHN5c192bTg2b2xkCQlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3dhaXQ0CQlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3N5c2luZm8JCXByaW50YXJncworI2RlZmluZSBzeXNfaXBjCQkJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19zaWdyZXR1cm4JCXByaW50YXJncworI2RlZmluZSBzeXNfdW5hbWUJCXByaW50YXJncworI2RlZmluZSBzeXNfbW9kaWZ5X2xkdAkJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19hZGp0aW1leAkJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19zaWdwcm9jbWFzawkJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19jcmVhdGVfbW9kdWxlCXByaW50YXJncworI2RlZmluZSBzeXNfaW5pdF9tb2R1bGUJCXByaW50YXJncworI2RlZmluZSBzeXNfZ2V0X2tlcm5lbF9zeW1zCXByaW50YXJncworI2RlZmluZSBzeXNfcXVvdGFjdGwJCXByaW50YXJncworI2RlZmluZSBzeXNfYmRmbHVzaAkJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19wZXJzb25hbGl0eQkJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19nZXRkZW50cwkJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19fbmV3c2VsZWN0CQlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX21zeW5jCQlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3JlYWR2CQlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3dyaXRldgkJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19fc3lzY3RsCQlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3NjaGVkX3JyX2dldF9pbnRlcnZhbCBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2dldHJlc3VpZAkJcHJpbnRhcmdzCisjZGVmaW5lIHN5c192bTg2CQlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3F1ZXJ5X21vZHVsZQlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX25mc3NlcnZjdGwJCXByaW50YXJncworI2RlZmluZSBzeXNfZ2V0cmVzZ2lkCQlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3J0X3NpZ3JldHVybglwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3J0X3NpZ2FjdGlvbglwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3J0X3NpZ3Byb2NtYXNrCXByaW50YXJncworI2RlZmluZSBzeXNfcnRfc2lndGltZWR3YWl0CXByaW50YXJncworI2RlZmluZSBzeXNfcnRfc2lncXVldWVpbmZvCXByaW50YXJncworI2RlZmluZSBzeXNfcnRfc2lnc3VzcGVuZAlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3ByZWFkCQlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3B3cml0ZQkJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19zaWdhbHRzdGFjawkJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19zZW5kZmlsZQkJcHJpbnRhcmdzCisjZGVmaW5lIHN5c192Zm9yawkJcHJpbnRhcmdzCisjZGVmaW5lIHN5c190cnVuY2F0ZTY0CQlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2Z0cnVuY2F0ZTY0CQlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3N0YXQ2NAkJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19sc3RhdDY0CQlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2ZzdGF0NjQJCXByaW50YXJncworI2RlZmluZSBzeXNfZmNudGw2NAkJcHJpbnRhcmdzCisKKyNpbmNsdWRlICJpMzg2L3N5c2NhbGxlbnQuaCIKKworI3VuZGVmIHN5c19nZXRybGltaXQKKyN1bmRlZiBzeXNfYWZzX3N5c2NhbGwKKyN1bmRlZiBzeXNfZ2V0cG1zZworI3VuZGVmIHN5c19wdXRwbXNnCisjdW5kZWYgc3lzX3VnZXRybGltaXQKKyN1bmRlZiBzeXNfZm9yaworI3VuZGVmIHN5c193YWl0cGlkCisjdW5kZWYgc3lzX3RpbWUKKyN1bmRlZiBzeXNfYnJlYWsKKyN1bmRlZiBzeXNfb2xkc3RhdAorI3VuZGVmIHN5c19sc2VlaworI3VuZGVmIHN5c19zdGltZQorI3VuZGVmIHN5c19wdHJhY2UKKyN1bmRlZiBzeXNfYWxhcm0KKyN1bmRlZiBzeXNfb2xkZnN0YXQKKyN1bmRlZiBzeXNfcGF1c2UKKyN1bmRlZiBzeXNfdXRpbWUKKyN1bmRlZiBzeXNfc3R0eQorI3VuZGVmIHN5c19ndHR5CisjdW5kZWYgc3lzX2Z0aW1lCisjdW5kZWYgc3lzX3BpcGUKKyN1bmRlZiBzeXNfdGltZXMKKyN1bmRlZiBzeXNfcHJvZgorI3VuZGVmIHN5c19zaWduYWwKKyN1bmRlZiBzeXNfbG9jaworI3VuZGVmIHN5c19pb2N0bAorI3VuZGVmIHN5c19mY250bAorI3VuZGVmIHN5c19tcHgKKyN1bmRlZiBzeXNfdWxpbWl0CisjdW5kZWYgc3lzX29sZG9sZHVuYW1lCisjdW5kZWYgc3lzX3NpZ2FjdGlvbgorI3VuZGVmIHN5c19zZ2V0bWFzaworI3VuZGVmIHN5c19zc2V0bWFzaworI3VuZGVmIHN5c19zaWdzdXNwZW5kCisjdW5kZWYgc3lzX3NpZ3BlbmRpbmcKKyN1bmRlZiBzeXNfc2V0cmxpbWl0CisjdW5kZWYgc3lzX2dldHJ1c2FnZQorI3VuZGVmIHN5c19nZXR0aW1lb2ZkYXkKKyN1bmRlZiBzeXNfc2V0dGltZW9mZGF5CisjdW5kZWYgc3lzX2dldGdyb3VwcworI3VuZGVmIHN5c19zZXRncm91cHMKKyN1bmRlZiBzeXNfc2VsZWN0CisjdW5kZWYgc3lzX29sZGxzdGF0CisjdW5kZWYgc3lzX3JlYWRkaXIKKyN1bmRlZiBzeXNfcHJvZmlsCisjdW5kZWYgc3lzX3N0YXRmcworI3VuZGVmIHN5c19mc3RhdGZzCisjdW5kZWYgc3lzX2lvcGVybQorI3VuZGVmIHN5c19zb2NrZXRjYWxsCisjdW5kZWYgc3lzX3NldGl0aW1lcgorI3VuZGVmIHN5c19nZXRpdGltZXIKKyN1bmRlZiBzeXNfc3RhdAorI3VuZGVmIHN5c19sc3RhdAorI3VuZGVmIHN5c19mc3RhdAorI3VuZGVmIHN5c19vbGR1bmFtZQorI3VuZGVmIHN5c19pb3BsCisjdW5kZWYgc3lzX2lkbGUKKyN1bmRlZiBzeXNfdm04Nm9sZAorI3VuZGVmIHN5c193YWl0NAorI3VuZGVmIHN5c19zeXNpbmZvCisjdW5kZWYgc3lzX2lwYworI3VuZGVmIHN5c19zaWdyZXR1cm4KKyN1bmRlZiBzeXNfdW5hbWUKKyN1bmRlZiBzeXNfbW9kaWZ5X2xkdAorI3VuZGVmIHN5c19hZGp0aW1leAorI3VuZGVmIHN5c19zaWdwcm9jbWFzaworI3VuZGVmIHN5c19jcmVhdGVfbW9kdWxlCisjdW5kZWYgc3lzX2luaXRfbW9kdWxlCisjdW5kZWYgc3lzX2RlbGV0ZV9tb2R1bGUKKyN1bmRlZiBzeXNfZ2V0X2tlcm5lbF9zeW1zCisjdW5kZWYgc3lzX3F1b3RhY3RsCisjdW5kZWYgc3lzX2JkZmx1c2gKKyN1bmRlZiBzeXNfcGVyc29uYWxpdHkKKyN1bmRlZiBzeXNfZ2V0ZGVudHMKKyN1bmRlZiBzeXNfX25ld3NlbGVjdAorI3VuZGVmIHN5c19tc3luYworI3VuZGVmIHN5c19yZWFkdgorI3VuZGVmIHN5c193cml0ZXYKKyN1bmRlZiBzeXNfX3N5c2N0bAorI3VuZGVmIHN5c19zY2hlZF9ycl9nZXRfaW50ZXJ2YWwKKyN1bmRlZiBzeXNfbmFub3NsZWVwCisjdW5kZWYgc3lzX2dldHJlc3VpZAorI3VuZGVmIHN5c192bTg2CisjdW5kZWYgc3lzX3F1ZXJ5X21vZHVsZQorI3VuZGVmIHN5c19uZnNzZXJ2Y3RsCisjdW5kZWYgc3lzX2dldHJlc2dpZAorI3VuZGVmIHN5c19ydF9zaWdyZXR1cm4KKyN1bmRlZiBzeXNfcnRfc2lnYWN0aW9uCisjdW5kZWYgc3lzX3J0X3NpZ3Byb2NtYXNrCisjdW5kZWYgc3lzX3J0X3NpZ3RpbWVkd2FpdAorI3VuZGVmIHN5c19ydF9zaWdxdWV1ZWluZm8KKyN1bmRlZiBzeXNfcnRfc2lnc3VzcGVuZAorI3VuZGVmIHN5c19wcmVhZAorI3VuZGVmIHN5c19wd3JpdGUKKyN1bmRlZiBzeXNfc2lnYWx0c3RhY2sKKyN1bmRlZiBzeXNfc2VuZGZpbGUKKyN1bmRlZiBzeXNfdmZvcmsKKyN1bmRlZiBzeXNfdHJ1bmNhdGU2NAorI3VuZGVmIHN5c19mdHJ1bmNhdGU2NAorI3VuZGVmIHN5c19zdGF0NjQKKyN1bmRlZiBzeXNfbHN0YXQ2NAorI3VuZGVmIHN5c19mc3RhdDY0CisjdW5kZWYgc3lzX2ZjbnRsNjQKKworI2luY2x1ZGUgIi4uL2R1bW15LmgiCisKKy8qIFlvdSBtdXN0IGJlIGNhcmVmdWwgdG8gY2hlY2sgLi4vaTM4Ni9zeXNjYWxsZW50Lmggc28gdGhhdCB0aGlzIHRhYmxlCisgICBzdGFydHMgd2hlcmUgdGhhdCBvbmUgbGVhdmVzIG9mZi4KKyovCisjaWYgU1lTX2lwY19zdWJjYWxsICsgU1lTX2lwY19uc3ViY2FsbHMgIT0gNDQ1CisjIGVycm9yIGZpeCBtZQorI2VuZGlmCisKKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNDQ1Igl9LCAvKiA0NDUgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNDQ2Igl9LCAvKiA0NDYgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNDQ3Igl9LCAvKiA0NDcgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNDQ4Igl9LCAvKiA0NDggKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNDQ5Igl9LCAvKiA0NDkgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNDUwIgl9LCAvKiA0NTAgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNDUxIgl9LCAvKiA0NTEgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNDUyIgl9LCAvKiA0NTIgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNDUzIgl9LCAvKiA0NTMgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNDU0Igl9LCAvKiA0NTQgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNDU1Igl9LCAvKiA0NTUgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNDU2Igl9LCAvKiA0NTYgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNDU3Igl9LCAvKiA0NTcgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNDU4Igl9LCAvKiA0NTggKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNDU5Igl9LCAvKiA0NTkgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNDYwIgl9LCAvKiA0NjAgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNDYxIgl9LCAvKiA0NjEgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNDYyIgl9LCAvKiA0NjIgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNDYzIgl9LCAvKiA0NjMgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNDY0Igl9LCAvKiA0NjQgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNDY1Igl9LCAvKiA0NjUgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNDY2Igl9LCAvKiA0NjYgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNDY3Igl9LCAvKiA0NjcgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNDY4Igl9LCAvKiA0NjggKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNDY5Igl9LCAvKiA0NjkgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNDcwIgl9LCAvKiA0NzAgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNDcxIgl9LCAvKiA0NzEgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNDcyIgl9LCAvKiA0NzIgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNDczIgl9LCAvKiA0NzMgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNDc0Igl9LCAvKiA0NzQgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNDc1Igl9LCAvKiA0NzUgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNDc2Igl9LCAvKiA0NzYgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNDc3Igl9LCAvKiA0NzcgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNDc4Igl9LCAvKiA0NzggKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNDc5Igl9LCAvKiA0NzkgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNDgwIgl9LCAvKiA0ODAgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNDgxIgl9LCAvKiA0ODEgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNDgyIgl9LCAvKiA0ODIgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNDgzIgl9LCAvKiA0ODMgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNDg0Igl9LCAvKiA0ODQgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNDg1Igl9LCAvKiA0ODUgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNDg2Igl9LCAvKiA0ODYgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNDg3Igl9LCAvKiA0ODcgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNDg4Igl9LCAvKiA0ODggKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNDg5Igl9LCAvKiA0ODkgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNDkwIgl9LCAvKiA0OTAgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNDkxIgl9LCAvKiA0OTEgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNDkyIgl9LCAvKiA0OTIgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNDkzIgl9LCAvKiA0OTMgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNDk0Igl9LCAvKiA0OTQgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNDk1Igl9LCAvKiA0OTUgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNDk2Igl9LCAvKiA0OTYgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNDk3Igl9LCAvKiA0OTcgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNDk4Igl9LCAvKiA0OTggKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNDk5Igl9LCAvKiA0OTkgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTAwIgl9LCAvKiA1MDAgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTAxIgl9LCAvKiA1MDEgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTAyIgl9LCAvKiA1MDIgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTAzIgl9LCAvKiA1MDMgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTA0Igl9LCAvKiA1MDQgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTA1Igl9LCAvKiA1MDUgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTA2Igl9LCAvKiA1MDYgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTA3Igl9LCAvKiA1MDcgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTA4Igl9LCAvKiA1MDggKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTA5Igl9LCAvKiA1MDkgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTEwIgl9LCAvKiA1MTAgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTExIgl9LCAvKiA1MTEgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTEyIgl9LCAvKiA1MTIgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTEzIgl9LCAvKiA1MTMgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTE0Igl9LCAvKiA1MTQgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTE1Igl9LCAvKiA1MTUgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTE2Igl9LCAvKiA1MTYgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTE3Igl9LCAvKiA1MTcgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTE4Igl9LCAvKiA1MTggKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTE5Igl9LCAvKiA1MTkgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTIwIgl9LCAvKiA1MjAgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTIxIgl9LCAvKiA1MjEgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTIyIgl9LCAvKiA1MjIgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTIzIgl9LCAvKiA1MjMgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTI0Igl9LCAvKiA1MjQgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTI1Igl9LCAvKiA1MjUgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTI2Igl9LCAvKiA1MjYgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTI3Igl9LCAvKiA1MjcgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTI4Igl9LCAvKiA1MjggKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTI5Igl9LCAvKiA1MjkgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTMwIgl9LCAvKiA1MzAgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTMxIgl9LCAvKiA1MzEgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTMyIgl9LCAvKiA1MzIgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTMzIgl9LCAvKiA1MzMgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTM0Igl9LCAvKiA1MzQgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTM1Igl9LCAvKiA1MzUgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTM2Igl9LCAvKiA1MzYgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTM3Igl9LCAvKiA1MzcgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTM4Igl9LCAvKiA1MzggKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTM5Igl9LCAvKiA1MzkgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTQwIgl9LCAvKiA1NDAgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTQxIgl9LCAvKiA1NDEgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTQyIgl9LCAvKiA1NDIgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTQzIgl9LCAvKiA1NDMgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTQ0Igl9LCAvKiA1NDQgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTQ1Igl9LCAvKiA1NDUgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTQ2Igl9LCAvKiA1NDYgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTQ3Igl9LCAvKiA1NDcgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTQ4Igl9LCAvKiA1NDggKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTQ5Igl9LCAvKiA1NDkgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTUwIgl9LCAvKiA1NTAgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTUxIgl9LCAvKiA1NTEgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTUyIgl9LCAvKiA1NTIgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTUzIgl9LCAvKiA1NTMgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTU0Igl9LCAvKiA1NTQgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTU1Igl9LCAvKiA1NTUgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTU2Igl9LCAvKiA1NTYgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTU3Igl9LCAvKiA1NTcgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTU4Igl9LCAvKiA1NTggKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTU5Igl9LCAvKiA1NTkgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTYwIgl9LCAvKiA1NjAgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTYxIgl9LCAvKiA1NjEgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTYyIgl9LCAvKiA1NjIgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTYzIgl9LCAvKiA1NjMgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTY0Igl9LCAvKiA1NjQgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTY1Igl9LCAvKiA1NjUgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTY2Igl9LCAvKiA1NjYgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTY3Igl9LCAvKiA1NjcgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTY4Igl9LCAvKiA1NjggKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTY5Igl9LCAvKiA1NjkgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTcwIgl9LCAvKiA1NzAgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTcxIgl9LCAvKiA1NzEgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTcyIgl9LCAvKiA1NzIgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTczIgl9LCAvKiA1NzMgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTc0Igl9LCAvKiA1NzQgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTc1Igl9LCAvKiA1NzUgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTc2Igl9LCAvKiA1NzYgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTc3Igl9LCAvKiA1NzcgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTc4Igl9LCAvKiA1NzggKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTc5Igl9LCAvKiA1NzkgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTgwIgl9LCAvKiA1ODAgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTgxIgl9LCAvKiA1ODEgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTgyIgl9LCAvKiA1ODIgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTgzIgl9LCAvKiA1ODMgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTg0Igl9LCAvKiA1ODQgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTg1Igl9LCAvKiA1ODUgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTg2Igl9LCAvKiA1ODYgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTg3Igl9LCAvKiA1ODcgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTg4Igl9LCAvKiA1ODggKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTg5Igl9LCAvKiA1ODkgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTkwIgl9LCAvKiA1OTAgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTkxIgl9LCAvKiA1OTEgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTkyIgl9LCAvKiA1OTIgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTkzIgl9LCAvKiA1OTMgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTk0Igl9LCAvKiA1OTQgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTk1Igl9LCAvKiA1OTUgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTk2Igl9LCAvKiA1OTYgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTk3Igl9LCAvKiA1OTcgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTk4Igl9LCAvKiA1OTggKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNTk5Igl9LCAvKiA1OTkgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjAwIgl9LCAvKiA2MDAgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjAxIgl9LCAvKiA2MDEgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjAyIgl9LCAvKiA2MDIgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjAzIgl9LCAvKiA2MDMgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjA0Igl9LCAvKiA2MDQgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjA1Igl9LCAvKiA2MDUgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjA2Igl9LCAvKiA2MDYgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjA3Igl9LCAvKiA2MDcgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjA4Igl9LCAvKiA2MDggKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjA5Igl9LCAvKiA2MDkgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjEwIgl9LCAvKiA2MTAgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjExIgl9LCAvKiA2MTEgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjEyIgl9LCAvKiA2MTIgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjEzIgl9LCAvKiA2MTMgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjE0Igl9LCAvKiA2MTQgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjE1Igl9LCAvKiA2MTUgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjE2Igl9LCAvKiA2MTYgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjE3Igl9LCAvKiA2MTcgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjE4Igl9LCAvKiA2MTggKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjE5Igl9LCAvKiA2MTkgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjIwIgl9LCAvKiA2MjAgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjIxIgl9LCAvKiA2MjEgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjIyIgl9LCAvKiA2MjIgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjIzIgl9LCAvKiA2MjMgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjI0Igl9LCAvKiA2MjQgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjI1Igl9LCAvKiA2MjUgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjI2Igl9LCAvKiA2MjYgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjI3Igl9LCAvKiA2MjcgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjI4Igl9LCAvKiA2MjggKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjI5Igl9LCAvKiA2MjkgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjMwIgl9LCAvKiA2MzAgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjMxIgl9LCAvKiA2MzEgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjMyIgl9LCAvKiA2MzIgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjMzIgl9LCAvKiA2MzMgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjM0Igl9LCAvKiA2MzQgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjM1Igl9LCAvKiA2MzUgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjM2Igl9LCAvKiA2MzYgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjM3Igl9LCAvKiA2MzcgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjM4Igl9LCAvKiA2MzggKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjM5Igl9LCAvKiA2MzkgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjQwIgl9LCAvKiA2NDAgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjQxIgl9LCAvKiA2NDEgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjQyIgl9LCAvKiA2NDIgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjQzIgl9LCAvKiA2NDMgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjQ0Igl9LCAvKiA2NDQgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjQ1Igl9LCAvKiA2NDUgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjQ2Igl9LCAvKiA2NDYgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjQ3Igl9LCAvKiA2NDcgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjQ4Igl9LCAvKiA2NDggKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjQ5Igl9LCAvKiA2NDkgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjUwIgl9LCAvKiA2NTAgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjUxIgl9LCAvKiA2NTEgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjUyIgl9LCAvKiA2NTIgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjUzIgl9LCAvKiA2NTMgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjU0Igl9LCAvKiA2NTQgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjU1Igl9LCAvKiA2NTUgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjU2Igl9LCAvKiA2NTYgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjU3Igl9LCAvKiA2NTcgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjU4Igl9LCAvKiA2NTggKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjU5Igl9LCAvKiA2NTkgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjYwIgl9LCAvKiA2NjAgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjYxIgl9LCAvKiA2NjEgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjYyIgl9LCAvKiA2NjIgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjYzIgl9LCAvKiA2NjMgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjY0Igl9LCAvKiA2NjQgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjY1Igl9LCAvKiA2NjUgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjY2Igl9LCAvKiA2NjYgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjY3Igl9LCAvKiA2NjcgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjY4Igl9LCAvKiA2NjggKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjY5Igl9LCAvKiA2NjkgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjcwIgl9LCAvKiA2NzAgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjcxIgl9LCAvKiA2NzEgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjcyIgl9LCAvKiA2NzIgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjczIgl9LCAvKiA2NzMgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjc0Igl9LCAvKiA2NzQgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjc1Igl9LCAvKiA2NzUgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjc2Igl9LCAvKiA2NzYgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjc3Igl9LCAvKiA2NzcgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjc4Igl9LCAvKiA2NzggKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjc5Igl9LCAvKiA2NzkgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjgwIgl9LCAvKiA2ODAgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjgxIgl9LCAvKiA2ODEgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjgyIgl9LCAvKiA2ODIgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjgzIgl9LCAvKiA2ODMgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjg0Igl9LCAvKiA2ODQgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjg1Igl9LCAvKiA2ODUgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjg2Igl9LCAvKiA2ODYgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjg3Igl9LCAvKiA2ODcgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjg4Igl9LCAvKiA2ODggKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjg5Igl9LCAvKiA2ODkgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjkwIgl9LCAvKiA2OTAgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjkxIgl9LCAvKiA2OTEgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjkyIgl9LCAvKiA2OTIgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjkzIgl9LCAvKiA2OTMgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjk0Igl9LCAvKiA2OTQgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjk1Igl9LCAvKiA2OTUgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjk2Igl9LCAvKiA2OTYgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjk3Igl9LCAvKiA2OTcgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjk4Igl9LCAvKiA2OTggKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNjk5Igl9LCAvKiA2OTkgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzAwIgl9LCAvKiA3MDAgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzAxIgl9LCAvKiA3MDEgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzAyIgl9LCAvKiA3MDIgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzAzIgl9LCAvKiA3MDMgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzA0Igl9LCAvKiA3MDQgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzA1Igl9LCAvKiA3MDUgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzA2Igl9LCAvKiA3MDYgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzA3Igl9LCAvKiA3MDcgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzA4Igl9LCAvKiA3MDggKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzA5Igl9LCAvKiA3MDkgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzEwIgl9LCAvKiA3MTAgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzExIgl9LCAvKiA3MTEgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzEyIgl9LCAvKiA3MTIgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzEzIgl9LCAvKiA3MTMgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzE0Igl9LCAvKiA3MTQgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzE1Igl9LCAvKiA3MTUgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzE2Igl9LCAvKiA3MTYgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzE3Igl9LCAvKiA3MTcgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzE4Igl9LCAvKiA3MTggKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzE5Igl9LCAvKiA3MTkgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzIwIgl9LCAvKiA3MjAgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzIxIgl9LCAvKiA3MjEgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzIyIgl9LCAvKiA3MjIgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzIzIgl9LCAvKiA3MjMgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzI0Igl9LCAvKiA3MjQgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzI1Igl9LCAvKiA3MjUgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzI2Igl9LCAvKiA3MjYgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzI3Igl9LCAvKiA3MjcgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzI4Igl9LCAvKiA3MjggKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzI5Igl9LCAvKiA3MjkgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzMwIgl9LCAvKiA3MzAgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzMxIgl9LCAvKiA3MzEgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzMyIgl9LCAvKiA3MzIgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzMzIgl9LCAvKiA3MzMgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzM0Igl9LCAvKiA3MzQgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzM1Igl9LCAvKiA3MzUgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzM2Igl9LCAvKiA3MzYgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzM3Igl9LCAvKiA3MzcgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzM4Igl9LCAvKiA3MzggKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzM5Igl9LCAvKiA3MzkgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzQwIgl9LCAvKiA3NDAgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzQxIgl9LCAvKiA3NDEgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzQyIgl9LCAvKiA3NDIgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzQzIgl9LCAvKiA3NDMgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzQ0Igl9LCAvKiA3NDQgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzQ1Igl9LCAvKiA3NDUgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzQ2Igl9LCAvKiA3NDYgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzQ3Igl9LCAvKiA3NDcgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzQ4Igl9LCAvKiA3NDggKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzQ5Igl9LCAvKiA3NDkgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzUwIgl9LCAvKiA3NTAgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzUxIgl9LCAvKiA3NTEgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzUyIgl9LCAvKiA3NTIgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzUzIgl9LCAvKiA3NTMgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzU0Igl9LCAvKiA3NTQgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzU1Igl9LCAvKiA3NTUgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzU2Igl9LCAvKiA3NTYgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzU3Igl9LCAvKiA3NTcgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzU4Igl9LCAvKiA3NTggKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzU5Igl9LCAvKiA3NTkgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzYwIgl9LCAvKiA3NjAgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzYxIgl9LCAvKiA3NjEgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzYyIgl9LCAvKiA3NjIgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzYzIgl9LCAvKiA3NjMgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzY0Igl9LCAvKiA3NjQgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzY1Igl9LCAvKiA3NjUgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzY2Igl9LCAvKiA3NjYgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzY3Igl9LCAvKiA3NjcgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzY4Igl9LCAvKiA3NjggKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzY5Igl9LCAvKiA3NjkgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzcwIgl9LCAvKiA3NzAgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzcxIgl9LCAvKiA3NzEgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzcyIgl9LCAvKiA3NzIgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzczIgl9LCAvKiA3NzMgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzc0Igl9LCAvKiA3NzQgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzc1Igl9LCAvKiA3NzUgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzc2Igl9LCAvKiA3NzYgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzc3Igl9LCAvKiA3NzcgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzc4Igl9LCAvKiA3NzggKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzc5Igl9LCAvKiA3NzkgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzgwIgl9LCAvKiA3ODAgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzgxIgl9LCAvKiA3ODEgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzgyIgl9LCAvKiA3ODIgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzgzIgl9LCAvKiA3ODMgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzg0Igl9LCAvKiA3ODQgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzg1Igl9LCAvKiA3ODUgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzg2Igl9LCAvKiA3ODYgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzg3Igl9LCAvKiA3ODcgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzg4Igl9LCAvKiA3ODggKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzg5Igl9LCAvKiA3ODkgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzkwIgl9LCAvKiA3OTAgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzkxIgl9LCAvKiA3OTEgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzkyIgl9LCAvKiA3OTIgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzkzIgl9LCAvKiA3OTMgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzk0Igl9LCAvKiA3OTQgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzk1Igl9LCAvKiA3OTUgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzk2Igl9LCAvKiA3OTYgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzk3Igl9LCAvKiA3OTcgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzk4Igl9LCAvKiA3OTggKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfNzk5Igl9LCAvKiA3OTkgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODAwIgl9LCAvKiA4MDAgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODAxIgl9LCAvKiA4MDEgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODAyIgl9LCAvKiA4MDIgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODAzIgl9LCAvKiA4MDMgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODA0Igl9LCAvKiA4MDQgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODA1Igl9LCAvKiA4MDUgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODA2Igl9LCAvKiA4MDYgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODA3Igl9LCAvKiA4MDcgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODA4Igl9LCAvKiA4MDggKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODA5Igl9LCAvKiA4MDkgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODEwIgl9LCAvKiA4MTAgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODExIgl9LCAvKiA4MTEgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODEyIgl9LCAvKiA4MTIgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODEzIgl9LCAvKiA4MTMgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODE0Igl9LCAvKiA4MTQgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODE1Igl9LCAvKiA4MTUgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODE2Igl9LCAvKiA4MTYgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODE3Igl9LCAvKiA4MTcgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODE4Igl9LCAvKiA4MTggKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODE5Igl9LCAvKiA4MTkgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODIwIgl9LCAvKiA4MjAgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODIxIgl9LCAvKiA4MjEgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODIyIgl9LCAvKiA4MjIgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODIzIgl9LCAvKiA4MjMgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODI0Igl9LCAvKiA4MjQgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODI1Igl9LCAvKiA4MjUgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODI2Igl9LCAvKiA4MjYgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODI3Igl9LCAvKiA4MjcgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODI4Igl9LCAvKiA4MjggKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODI5Igl9LCAvKiA4MjkgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODMwIgl9LCAvKiA4MzAgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODMxIgl9LCAvKiA4MzEgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODMyIgl9LCAvKiA4MzIgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODMzIgl9LCAvKiA4MzMgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODM0Igl9LCAvKiA4MzQgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODM1Igl9LCAvKiA4MzUgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODM2Igl9LCAvKiA4MzYgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODM3Igl9LCAvKiA4MzcgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODM4Igl9LCAvKiA4MzggKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODM5Igl9LCAvKiA4MzkgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODQwIgl9LCAvKiA4NDAgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODQxIgl9LCAvKiA4NDEgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODQyIgl9LCAvKiA4NDIgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODQzIgl9LCAvKiA4NDMgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODQ0Igl9LCAvKiA4NDQgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODQ1Igl9LCAvKiA4NDUgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODQ2Igl9LCAvKiA4NDYgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODQ3Igl9LCAvKiA4NDcgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODQ4Igl9LCAvKiA4NDggKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODQ5Igl9LCAvKiA4NDkgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODUwIgl9LCAvKiA4NTAgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODUxIgl9LCAvKiA4NTEgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODUyIgl9LCAvKiA4NTIgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODUzIgl9LCAvKiA4NTMgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODU0Igl9LCAvKiA4NTQgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODU1Igl9LCAvKiA4NTUgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODU2Igl9LCAvKiA4NTYgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODU3Igl9LCAvKiA4NTcgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODU4Igl9LCAvKiA4NTggKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODU5Igl9LCAvKiA4NTkgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODYwIgl9LCAvKiA4NjAgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODYxIgl9LCAvKiA4NjEgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODYyIgl9LCAvKiA4NjIgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODYzIgl9LCAvKiA4NjMgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODY0Igl9LCAvKiA4NjQgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODY1Igl9LCAvKiA4NjUgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODY2Igl9LCAvKiA4NjYgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODY3Igl9LCAvKiA4NjcgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODY4Igl9LCAvKiA4NjggKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODY5Igl9LCAvKiA4NjkgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODcwIgl9LCAvKiA4NzAgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODcxIgl9LCAvKiA4NzEgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODcyIgl9LCAvKiA4NzIgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODczIgl9LCAvKiA4NzMgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODc0Igl9LCAvKiA4NzQgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODc1Igl9LCAvKiA4NzUgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODc2Igl9LCAvKiA4NzYgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODc3Igl9LCAvKiA4NzcgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODc4Igl9LCAvKiA4NzggKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODc5Igl9LCAvKiA4NzkgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODgwIgl9LCAvKiA4ODAgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODgxIgl9LCAvKiA4ODEgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODgyIgl9LCAvKiA4ODIgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODgzIgl9LCAvKiA4ODMgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODg0Igl9LCAvKiA4ODQgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODg1Igl9LCAvKiA4ODUgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODg2Igl9LCAvKiA4ODYgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODg3Igl9LCAvKiA4ODcgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODg4Igl9LCAvKiA4ODggKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODg5Igl9LCAvKiA4ODkgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODkwIgl9LCAvKiA4OTAgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODkxIgl9LCAvKiA4OTEgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODkyIgl9LCAvKiA4OTIgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODkzIgl9LCAvKiA4OTMgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODk0Igl9LCAvKiA4OTQgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODk1Igl9LCAvKiA4OTUgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODk2Igl9LCAvKiA4OTYgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODk3Igl9LCAvKiA4OTcgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODk4Igl9LCAvKiA4OTggKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfODk5Igl9LCAvKiA4OTkgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTAwIgl9LCAvKiA5MDAgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTAxIgl9LCAvKiA5MDEgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTAyIgl9LCAvKiA5MDIgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTAzIgl9LCAvKiA5MDMgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTA0Igl9LCAvKiA5MDQgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTA1Igl9LCAvKiA5MDUgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTA2Igl9LCAvKiA5MDYgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTA3Igl9LCAvKiA5MDcgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTA4Igl9LCAvKiA5MDggKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTA5Igl9LCAvKiA5MDkgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTEwIgl9LCAvKiA5MTAgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTExIgl9LCAvKiA5MTEgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTEyIgl9LCAvKiA5MTIgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTEzIgl9LCAvKiA5MTMgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTE0Igl9LCAvKiA5MTQgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTE1Igl9LCAvKiA5MTUgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTE2Igl9LCAvKiA5MTYgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTE3Igl9LCAvKiA5MTcgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTE4Igl9LCAvKiA5MTggKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTE5Igl9LCAvKiA5MTkgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTIwIgl9LCAvKiA5MjAgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTIxIgl9LCAvKiA5MjEgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTIyIgl9LCAvKiA5MjIgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTIzIgl9LCAvKiA5MjMgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTI0Igl9LCAvKiA5MjQgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTI1Igl9LCAvKiA5MjUgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTI2Igl9LCAvKiA5MjYgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTI3Igl9LCAvKiA5MjcgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTI4Igl9LCAvKiA5MjggKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTI5Igl9LCAvKiA5MjkgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTMwIgl9LCAvKiA5MzAgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTMxIgl9LCAvKiA5MzEgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTMyIgl9LCAvKiA5MzIgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTMzIgl9LCAvKiA5MzMgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTM0Igl9LCAvKiA5MzQgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTM1Igl9LCAvKiA5MzUgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTM2Igl9LCAvKiA5MzYgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTM3Igl9LCAvKiA5MzcgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTM4Igl9LCAvKiA5MzggKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTM5Igl9LCAvKiA5MzkgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTQwIgl9LCAvKiA5NDAgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTQxIgl9LCAvKiA5NDEgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTQyIgl9LCAvKiA5NDIgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTQzIgl9LCAvKiA5NDMgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTQ0Igl9LCAvKiA5NDQgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTQ1Igl9LCAvKiA5NDUgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTQ2Igl9LCAvKiA5NDYgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTQ3Igl9LCAvKiA5NDcgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTQ4Igl9LCAvKiA5NDggKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTQ5Igl9LCAvKiA5NDkgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTUwIgl9LCAvKiA5NTAgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTUxIgl9LCAvKiA5NTEgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTUyIgl9LCAvKiA5NTIgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTUzIgl9LCAvKiA5NTMgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTU0Igl9LCAvKiA5NTQgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTU1Igl9LCAvKiA5NTUgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTU2Igl9LCAvKiA5NTYgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTU3Igl9LCAvKiA5NTcgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTU4Igl9LCAvKiA5NTggKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTU5Igl9LCAvKiA5NTkgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTYwIgl9LCAvKiA5NjAgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTYxIgl9LCAvKiA5NjEgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTYyIgl9LCAvKiA5NjIgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTYzIgl9LCAvKiA5NjMgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTY0Igl9LCAvKiA5NjQgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTY1Igl9LCAvKiA5NjUgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTY2Igl9LCAvKiA5NjYgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTY3Igl9LCAvKiA5NjcgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTY4Igl9LCAvKiA5NjggKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTY5Igl9LCAvKiA5NjkgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTcwIgl9LCAvKiA5NzAgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTcxIgl9LCAvKiA5NzEgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTcyIgl9LCAvKiA5NzIgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTczIgl9LCAvKiA5NzMgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTc0Igl9LCAvKiA5NzQgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTc1Igl9LCAvKiA5NzUgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTc2Igl9LCAvKiA5NzYgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTc3Igl9LCAvKiA5NzcgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTc4Igl9LCAvKiA5NzggKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTc5Igl9LCAvKiA5NzkgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTgwIgl9LCAvKiA5ODAgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTgxIgl9LCAvKiA5ODEgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTgyIgl9LCAvKiA5ODIgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTgzIgl9LCAvKiA5ODMgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTg0Igl9LCAvKiA5ODQgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTg1Igl9LCAvKiA5ODUgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTg2Igl9LCAvKiA5ODYgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTg3Igl9LCAvKiA5ODcgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTg4Igl9LCAvKiA5ODggKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTg5Igl9LCAvKiA5ODkgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTkwIgl9LCAvKiA5OTAgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTkxIgl9LCAvKiA5OTEgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTkyIgl9LCAvKiA5OTIgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTkzIgl9LCAvKiA5OTMgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTk0Igl9LCAvKiA5OTQgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTk1Igl9LCAvKiA5OTUgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTk2Igl9LCAvKiA5OTYgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTk3Igl9LCAvKiA5OTcgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTk4Igl9LCAvKiA5OTggKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfOTk5Igl9LCAvKiA5OTkgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfMTAwMCIJfSwgLyogMTAwMCAqLworCXsgOCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMDAxIgl9LCAvKiAxMDAxICovCisJeyA4LAkwLAlwcmludGFyZ3MsCQkiU1lTXzEwMDIiCX0sIC8qIDEwMDIgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfMTAwMyIJfSwgLyogMTAwMyAqLworCXsgOCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMDA0Igl9LCAvKiAxMDA0ICovCisJeyA4LAkwLAlwcmludGFyZ3MsCQkiU1lTXzEwMDUiCX0sIC8qIDEwMDUgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfMTAwNiIJfSwgLyogMTAwNiAqLworCXsgOCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMDA3Igl9LCAvKiAxMDA3ICovCisJeyA4LAkwLAlwcmludGFyZ3MsCQkiU1lTXzEwMDgiCX0sIC8qIDEwMDggKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfMTAwOSIJfSwgLyogMTAwOSAqLworCXsgOCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMDEwIgl9LCAvKiAxMDEwICovCisJeyA4LAkwLAlwcmludGFyZ3MsCQkiU1lTXzEwMTEiCX0sIC8qIDEwMTEgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfMTAxMiIJfSwgLyogMTAxMiAqLworCXsgOCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMDEzIgl9LCAvKiAxMDEzICovCisJeyA4LAkwLAlwcmludGFyZ3MsCQkiU1lTXzEwMTQiCX0sIC8qIDEwMTQgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfMTAxNSIJfSwgLyogMTAxNSAqLworCXsgOCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMDE2Igl9LCAvKiAxMDE2ICovCisJeyA4LAkwLAlwcmludGFyZ3MsCQkiU1lTXzEwMTciCX0sIC8qIDEwMTcgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfMTAxOCIJfSwgLyogMTAxOCAqLworCXsgOCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMDE5Igl9LCAvKiAxMDE5ICovCisJeyA4LAkwLAlwcmludGFyZ3MsCQkiU1lTXzEwMjAiCX0sIC8qIDEwMjAgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfMTAyMSIJfSwgLyogMTAyMSAqLworCXsgOCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMDIyIgl9LCAvKiAxMDIyICovCisJeyA4LAkwLAlwcmludGFyZ3MsCQkiU1lTXzEwMjMiCX0sIC8qIDEwMjMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuaV9zeXNjYWxsIgl9LCAvKiAxMDI0ICovCisJeyAxLAlUUCwJc3lzX2V4aXQsCQkiZXhpdCIJCX0sIC8qIDEwMjUgKi8KKwl7IDMsCVRELAlzeXNfcmVhZCwJCSJyZWFkIgkJfSwgLyogMTAyNiAqLworCXsgMywJVEQsCXN5c193cml0ZSwJCSJ3cml0ZSIJCX0sIC8qIDEwMjcgKi8KKwl7IDMsCVREfFRGLAlzeXNfb3BlbiwJCSJvcGVuIgkJfSwgLyogMTAyOCAqLworCXsgMSwJVEQsCXN5c19jbG9zZSwJCSJjbG9zZSIJCX0sIC8qIDEwMjkgKi8KKwl7IDIsCTAsCXN5c19jcmVhdCwJCSJjcmVhdCIJCX0sIC8qIDEwMzAgKi8KKwl7IDIsCVRGLAlzeXNfbGluaywJCSJsaW5rIgkJfSwgLyogMTAzMSAqLworCXsgMSwJVEYsCXN5c191bmxpbmssCQkidW5saW5rIgl9LCAvKiAxMDMyICovCisJeyAzLAlURnxUUCwJc3lzX2V4ZWN2ZSwJCSJleGVjdmUiCX0sIC8qIDEwMzMgKi8KKwl7IDEsCVRGLAlzeXNfY2hkaXIsCQkiY2hkaXIiCQl9LCAvKiAxMDM0ICovCisJeyAxLAlURiwJc3lzX2ZjaGRpciwJCSJmY2hkaXIiCX0sIC8qIDEwMzUgKi8KKwl7IDIsCTAsCXN5c191dGltZXMsCQkidXRpbWVzIgl9LCAvKiAxMDM2ICovCisJeyAzLAlURiwJc3lzX21rbm9kLAkJIm1rbm9kIgkJfSwgLyogMTAzNyAqLworCXsgMiwJVEYsCXN5c19jaG1vZCwJCSJjaG1vZCIJCX0sIC8qIDEwMzggKi8KKwl7IDMsCVRGLAlzeXNfY2hvd24sCQkiY2hvd24iCQl9LCAvKiAxMDM5ICovCisJeyAzLAlURiwJc3lzX2xzZWVrLAkJImxzZWVrIgkJfSwgLyogMTA0MCAqLworCXsgMCwJMCwJc3lzX2dldHBpZCwJCSJnZXRwaWQiCX0sIC8qIDEwNDEgKi8KKwl7IDAsCTAsCXN5c19nZXRwcGlkLAkJImdldHBwaWQiCX0sIC8qIDEwNDIgKi8KKwl7IDUsCVRGLAlzeXNfbW91bnQsCQkibW91bnQiCQl9LCAvKiAxMDQzICovCisJeyAxLAkwLAlzeXNfdW1vdW50MiwJCSJ1bW91bnQiCX0sIC8qIDEwNDQgKi8KKwl7IDEsCTAsCXN5c19zZXR1aWQsCQkic2V0dWlkIgl9LCAvKiAxMDQ1ICovCisJeyAwLAkwLAlzeXNfZ2V0dWlkLAkJImdldHVpZCIJfSwgLyogMTA0NiAqLworCXsgMCwJMCwJc3lzX2dldGV1aWQsCQkiZ2V0ZXVpZCIJfSwgLyogMTA0NyAqLworCXsgNCwJMCwJc3lzX3B0cmFjZSwJCSJwdHJhY2UiCX0sIC8qIDEwNDggKi8KKwl7IDIsCVRGLAlzeXNfYWNjZXNzLAkJImFjY2VzcyIJfSwgLyogMTA0OSAqLworCXsgMCwJMCwJc3lzX3N5bmMsCQkic3luYyIJCX0sIC8qIDEwNTAgKi8KKwl7IDEsCVRELAlzeXNfZnN5bmMsCQkiZnN5bmMiCQl9LCAvKiAxMDUxICovCisJeyAxLAlURCwJc3lzX2ZkYXRhc3luYywJCSJmZGF0YXN5bmMiCX0sIC8qIDEwNTIgKi8KKwl7IDIsCVRTLAlzeXNfa2lsbCwJCSJraWxsIgkJfSwgLyogMTA1MyAqLworCXsgMiwJVEYsCXN5c19yZW5hbWUsCQkicmVuYW1lIgl9LCAvKiAxMDU0ICovCisJeyAyLAlURiwJc3lzX21rZGlyLAkJIm1rZGlyIgkJfSwgLyogMTA1NSAqLworCXsgMSwJVEYsCXN5c19ybWRpciwJCSJybWRpciIJCX0sIC8qIDEwNTYgKi8KKwl7IDEsCVRELAlzeXNfZHVwLAkJImR1cCIJCX0sIC8qIDEwNTcgKi8KKwl7IDEsCVRELAlzeXNfcGlwZSwJCSJwaXBlIgkJfSwgLyogMTA1OCAqLworCXsgMSwJMCwJc3lzX3RpbWVzLAkJInRpbWVzIgkJfSwgLyogMTA1OSAqLworCXsgMSwJMCwJc3lzX2JyaywJCSJicmsiCQl9LCAvKiAxMDYwICovCisJeyAxLAkwLAlzeXNfc2V0Z2lkLAkJInNldGdpZCIJfSwgLyogMTA2MSAqLworCXsgMCwJMCwJc3lzX2dldGdpZCwJCSJnZXRnaWQiCX0sIC8qIDEwNjIgKi8KKwl7IDAsCTAsCXN5c19nZXRlZ2lkLAkJImdldGVnaWQiCX0sIC8qIDEwNjMgKi8KKwl7IDEsCVRGLAlzeXNfYWNjdCwJCSJhY2N0IgkJfSwgLyogMTA2NCAqLworCXsgMywJVEQsCXN5c19pb2N0bCwJCSJpb2N0bCIJCX0sIC8qIDEwNjUgKi8KKwl7IDMsCVRELAlzeXNfZmNudGwsCQkiZmNudGwiCQl9LCAvKiAxMDY2ICovCisJeyAxLAkwLAlzeXNfdW1hc2ssCQkidW1hc2siCQl9LCAvKiAxMDY3ICovCisJeyAxLAlURiwJc3lzX2Nocm9vdCwJCSJjaHJvb3QiCX0sIC8qIDEwNjggKi8KKwl7IDIsCTAsCXN5c191c3RhdCwJCSJ1c3RhdCIJCX0sIC8qIDEwNjkgKi8KKwl7IDIsCVRELAlzeXNfZHVwMiwJCSJkdXAyIgkJfSwgLyogMTA3MCAqLworCXsgMiwJMCwJc3lzX3NldHJldWlkLAkJInNldHJldWlkIgl9LCAvKiAxMDcxICovCisJeyAyLAkwLAlzeXNfc2V0cmVnaWQsCQkic2V0cmVnaWQiCX0sIC8qIDEwNzIgKi8KKwl7IDMsCTAsCXByaW50YXJncywJCSJnZXRyZXN1aWQiCX0sIC8qIDEwNzMgKi8KKwl7IDMsCTAsCXN5c19zZXRyZXN1aWQsCQkic2V0cmVzdWlkIgl9LCAvKiAxMDc0ICovCisJeyAzLAkwLAlzeXNfZ2V0cmVzdWlkLAkJImdldHJlc2dpZCIJfSwgLyogMTA3NSAqLworCXsgMywJMCwJcHJpbnRhcmdzLAkJInNldHJlc2dpZCIJfSwgLyogMTA3NiAqLworCXsgMiwJMCwJc3lzX2dldGdyb3VwcywJCSJnZXRncm91cHMiCX0sIC8qIDEwNzcgKi8KKwl7IDIsCTAsCXN5c19zZXRncm91cHMsCQkic2V0Z3JvdXBzIgl9LCAvKiAxMDc4ICovCisJeyAxLAkwLAlzeXNfZ2V0cGdpZCwJCSJnZXRwZ2lkIgl9LCAvKiAxMDc5ICovCisJeyAyLAkwLAlzeXNfc2V0cGdpZCwJCSJzZXRwZ2lkIgl9LCAvKiAxMDgwICovCisJeyAwLAkwLAlzeXNfc2V0c2lkLAkJInNldHNpZCIJfSwgLyogMTA4MSAqLworCXsgMSwJMCwJc3lzX2dldHNpZCwJCSJnZXRzaWQiCX0sIC8qIDEwODIgKi8KKwl7IDIsCTAsCXN5c19zZXRob3N0bmFtZSwJInNldGhvc3RuYW1lIgl9LCAvKiAxMDgzICovCisJeyAyLAkwLAlzeXNfc2V0cmxpbWl0LAkJInNldHJsaW1pdCIJfSwgLyogMTA4NCAqLworCXsgMiwJMCwJc3lzX2dldHJsaW1pdCwJCSJnZXRybGltaXQiCX0sIC8qIDEwODUgKi8KKwl7IDIsCTAsCXN5c19nZXRydXNhZ2UsCQkiZ2V0cnVzYWdlIgl9LCAvKiAxMDg2ICovCisJeyAyLAkwLAlzeXNfZ2V0dGltZW9mZGF5LAkiZ2V0dGltZW9mZGF5Igl9LCAvKiAxMDg3ICovCisJeyAyLAkwLAlzeXNfc2V0dGltZW9mZGF5LAkic2V0dGltZW9mZGF5Igl9LCAvKiAxMDg4ICovCisJeyA1LAlURCwJc3lzX3NlbGVjdCwJCSJzZWxlY3QiCX0sIC8qIDEwODkgKi8KKwl7IDMsCVRELAlzeXNfcG9sbCwJCSJwb2xsIgkJfSwgLyogMTA5MCAqLworCXsgMiwJVEYsCXN5c19zeW1saW5rLAkJInN5bWxpbmsiCX0sIC8qIDEwOTEgKi8KKwl7IDMsCVRGLAlzeXNfcmVhZGxpbmssCQkicmVhZGxpbmsiCX0sIC8qIDEwOTIgKi8KKwl7IDEsCTAsCXN5c191c2VsaWIsCQkidXNlbGliIgl9LCAvKiAxMDkzICovCisJeyAxLAkwLAlzeXNfc3dhcG9uLAkJInN3YXBvbiIJfSwgLyogMTA5NCAqLworCXsgMSwJMCwJc3lzX3N3YXBvZmYsCQkic3dhcG9mZiIJfSwgLyogMTA5NSAqLworCXsgMywJMCwJc3lzX3JlYm9vdCwJCSJyZWJvb3QiCX0sIC8qIDEwOTYgKi8KKwl7IDIsCVRGLAlzeXNfdHJ1bmNhdGUsCQkidHJ1bmNhdGUiCX0sIC8qIDEwOTcgKi8KKwl7IDIsCVRELAlzeXNfZnRydW5jYXRlLAkJImZ0cnVuY2F0ZSIJfSwgLyogMTA5OCAqLworCXsgMiwJVEQsCXN5c19mY2htb2QsCQkiZmNobW9kIgl9LCAvKiAxMDk5ICovCisJeyAzLAlURCwJc3lzX2ZjaG93biwJCSJmY2hvd24iCX0sIC8qIDExMDAgKi8KKwl7IDIsCTAsCXN5c19nZXRwcmlvcml0eSwJImdldHByaW9yaXR5Igl9LCAvKiAxMTAxICovCisJeyAzLAkwLAlzeXNfc2V0cHJpb3JpdHksCSJzZXRwcmlvcml0eSIJfSwgLyogMTEwMiAqLworCXsgMiwJVEYsCXN5c19zdGF0ZnMsCQkic3RhdGZzIgl9LCAvKiAxMTAzICovCisJeyAyLAlURCwJc3lzX2ZzdGF0ZnMsCQkiZnN0YXRmcyIJfSwgLyogMTEwNCAqLworCXsgMywJMCwJcHJpbnRhcmdzLAkJImdldHRpZCIJfSwgLyogMTEwNSAqLworCXsgMywJVEksCXN5c19zZW1nZXQsCQkic2VtZ2V0Igl9LCAvKiAxMTA2ICovCisJeyAzLAlUSSwJcHJpbnRhcmdzLAkJInNlbW9wIgkJfSwgLyogMTEwNyAqLworCXsgNCwJVEksCXN5c19zZW1jdGwsCQkic2VtY3RsIgl9LCAvKiAxMTA4ICovCisJeyAyLAlUSSwJc3lzX21zZ2dldCwJCSJtc2dnZXQiCX0sIC8qIDExMDkgKi8KKwl7IDQsCVRJLAlzeXNfbXNnc25kLAkJIm1zZ3NuZCIJfSwgLyogMTExMCAqLworCXsgNSwJVEksCXN5c19tc2dyY3YsCQkibXNncmN2Igl9LCAvKiAxMTExICovCisJeyAzLAlUSSwJc3lzX21zZ2N0bCwJCSJtc2djdGwiCX0sIC8qIDExMTIgKi8KKwl7IDMsCVRJLAlzeXNfc2htZ2V0LAkJInNobWdldCIJfSwgLyogMTExMyAqLworCXsgMywJVEksCXN5c19zaG1hdCwJCSJzaG1hdCIJCX0sIC8qIDExMTQgKi8KKwl7IDEsCVRJLAlzeXNfc2htZHQsCQkic2htZHQiCQl9LCAvKiAxMTE1ICovCisJeyAzLAlUSSwJc3lzX3NobWN0bCwJCSJzaG1jdGwiCX0sIC8qIDExMTYgKi8KKwl7IDMsCTAsCXN5c19zeXNsb2csCQkic3lzbG9nIgl9LCAvKiAxMTE3ICovCisJeyAzLAkwLAlzeXNfc2V0aXRpbWVyLAkJInNldGl0aW1lciIJfSwgLyogMTExOCAqLworCXsgMiwJMCwJc3lzX2dldGl0aW1lciwJCSJnZXRpdGltZXIiCX0sIC8qIDExMTkgKi8KKwl7IDIsCVRGLAlzeXNfc3RhdCwJCSJzdGF0IgkJfSwgLyogMTEyMCAqLworCXsgMiwJVEYsCXN5c19sc3RhdCwJCSJsc3RhdCIJCX0sIC8qIDExMjEgKi8KKwl7IDIsCVRELAlzeXNfZnN0YXQsCQkiZnN0YXQiCQl9LCAvKiAxMTIyICovCisJeyAwLAkwLAlzeXNfdmhhbmd1cCwJCSJ2aGFuZ3VwIgl9LCAvKiAxMTIzICovCisJeyAzLAlURiwJc3lzX2Nob3duLAkJImxjaG93biIJfSwgLyogMTEyNCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJInZtODYiCQl9LCAvKiAxMTI1ICovCisJeyA0LAlUUCwJc3lzX3dhaXQ0LAkJIndhaXQ0IgkJfSwgLyogMTEyNiAqLworCXsgMSwJMCwJc3lzX3N5c2luZm8sCQkic3lzaW5mbyIJfSwgLyogMTEyNyAqLworCXsgNSwJVFAsCXN5c19jbG9uZSwJCSJjbG9uZSIJCX0sIC8qIDExMjggKi8KKwl7IDIsCTAsCXN5c19zZXRkb21haW5uYW1lLAkic2V0ZG9tYWlubmFtZSIJfSwgLyogMTEyOSAqLworCXsgMSwJMCwJc3lzX3VuYW1lLAkJInVuYW1lIgkJfSwgLyogMTEzMCAqLworCXsgMSwJMCwJc3lzX2FkanRpbWV4LAkJImFkanRpbWV4Igl9LCAvKiAxMTMxICovCisJeyAyLAkwLAlzeXNfY3JlYXRlX21vZHVsZSwJImNyZWF0ZV9tb2R1bGUiCX0sIC8qIDExMzIgKi8KKwl7IDQsCTAsCXN5c19pbml0X21vZHVsZSwJImluaXRfbW9kdWxlIgl9LCAvKiAxMTMzICovCisJeyAyLAkwLAlzeXNfZGVsZXRlX21vZHVsZSwJImRlbGV0ZV9tb2R1bGUiCX0sIC8qIDExMzQgKi8KKwl7IDEsCTAsCXN5c19nZXRfa2VybmVsX3N5bXMsCSJnZXRfa2VybmVsX3N5bXMifSwgLyogMTEzNSAqLworCXsgNSwJMCwJc3lzX3F1ZXJ5X21vZHVsZSwJInF1ZXJ5X21vZHVsZSIJfSwgLyogMTEzNiAqLworCXsgNCwJMCwJc3lzX3F1b3RhY3RsLAkJInF1b3RhY3RsIgl9LCAvKiAxMTM3ICovCisJeyAwLAkwLAlzeXNfYmRmbHVzaCwJCSJiZGZsdXNoIgl9LCAvKiAxMTM4ICovCisJeyAzLAkwLAlzeXNfc3lzZnMsCQkic3lzZnMiCQl9LCAvKiAxMTM5ICovCisJeyAxLAkwLAlzeXNfcGVyc29uYWxpdHksCSJwZXJzb25hbGl0eSIJfSwgLyogMTE0MCAqLworCXsgNSwJMCwJc3lzX2Fmc19zeXNjYWxsLAkiYWZzX3N5c2NhbGwiCX0sIC8qIDExNDEgKi8KKwl7IDEsCTAsCXN5c19zZXRmc3VpZCwJCSJzZXRmc3VpZCIJfSwgLyogMTE0MiAqLworCXsgMSwJMCwJc3lzX3NldGZzZ2lkLAkJInNldGZzZ2lkIgl9LCAvKiAxMTQzICovCisJeyAzLAlURCwJc3lzX2dldGRlbnRzLAkJImdldGRlbnRzIgl9LCAvKiAxMTQ0ICovCisJeyAyLAlURCwJc3lzX2Zsb2NrLAkJImZsb2NrIgkJfSwgLyogMTE0NSAqLworCXsgNSwJVEQsCXN5c19yZWFkdiwJCSJyZWFkdiIJCX0sIC8qIDExNDYgKi8KKwl7IDUsCVRELAlzeXNfd3JpdGV2LAkJIndyaXRldiIJfSwgLyogMTE0NyAqLworCXsgNCwJVEQsCXN5c19wcmVhZCwJCSJwcmVhZCIJCX0sIC8qIDExNDggKi8KKwl7IDQsCVRELAlzeXNfcHdyaXRlLAkJInB3cml0ZSIJfSwgLyogMTE0OSAqLworCXsgMSwJMCwJcHJpbnRhcmdzLAkJIl9zeXNjdGwiCX0sIC8qIDExNTAgKi8KKwl7IDYsCTAsCXN5c19tbWFwLAkJIm1tYXAiCQl9LCAvKiAxMTUxICovCisJeyAyLAkwLAlzeXNfbXVubWFwLAkJIm11bm1hcCIJfSwgLyogMTE1MiAqLworCXsgMiwJMCwJc3lzX21sb2NrLAkJIm1sb2NrIgkJfSwgLyogMTE1MyAqLworCXsgMSwJMCwJc3lzX21sb2NrYWxsLAkJIm1sb2NrYWxsIgl9LCAvKiAxMTU0ICovCisJeyAzLAkwLAlzeXNfbXByb3RlY3QsCQkibXByb3RlY3QiCX0sIC8qIDExNTUgKi8KKwl7IDUsCTAsCXN5c19tcmVtYXAsCQkibXJlbWFwIgl9LCAvKiAxMTU2ICovCisJeyAzLAkwLAlzeXNfbXN5bmMsCQkibXN5bmMiCQl9LCAvKiAxMTU3ICovCisJeyAyLAkwLAlzeXNfbXVubG9jaywJCSJtdW5sb2NrIgl9LCAvKiAxMTU4ICovCisJeyAwLAkwLAlzeXNfbXVubG9ja2FsbCwJCSJtdW5sb2NrYWxsIgl9LCAvKiAxMTU5ICovCisJeyAyLAkwLAlzeXNfc2NoZWRfZ2V0cGFyYW0sCSJzY2hlZF9nZXRwYXJhbSJ9LCAvKiAxMTYwICovCisJeyAyLAkwLAlzeXNfc2NoZWRfc2V0cGFyYW0sCSJzY2hlZF9zZXRwYXJhbSJ9LCAvKiAxMTYxICovCisJeyAyLAkwLAlzeXNfc2NoZWRfZ2V0c2NoZWR1bGVyLAkic2NoZWRfZ2V0c2NoZWR1bGVyIn0sIC8qIDExNjIgKi8KKwl7IDMsCTAsCXN5c19zY2hlZF9zZXRzY2hlZHVsZXIsCSJzY2hlZF9zZXRzY2hlZHVsZXIifSwgLyogMTE2MyAqLworCXsgMCwJMCwJc3lzX3NjaGVkX3lpZWxkLAkic2NoZWRfeWllbGQiCX0sIC8qIDExNjQgKi8KKwl7IDEsCTAsCXN5c19zY2hlZF9nZXRfcHJpb3JpdHlfbWF4LCJzY2hlZF9nZXRfcHJpb3JpdHlfbWF4In0sIC8qIDExNjUgKi8KKwl7IDEsCTAsCXN5c19zY2hlZF9nZXRfcHJpb3JpdHlfbWluLCJzY2hlZF9nZXRfcHJpb3JpdHlfbWluIn0sIC8qIDExNjYgKi8KKwl7IDIsCTAsCXN5c19zY2hlZF9ycl9nZXRfaW50ZXJ2YWwsInNjaGVkX3JyX2dldF9pbnRlcnZhbCJ9LCAvKiAxMTY3ICovCisJeyAyLAkwLAlzeXNfbmFub3NsZWVwLAkJIm5hbm9zbGVlcCIJfSwgLyogMTE2OCAqLworCXsgMywJMCwJcHJpbnRhcmdzLAkJIm5mc3NlcnZjdGwiCX0sIC8qIDExNjkgKi8KKwl7IDUsCTAsCXN5c19wcmN0bCwJCSJwcmN0bCIJCX0sIC8qIDExNzAgKi8KKwl7IDEsCTAsCXN5c19nZXRwYWdlc2l6ZSwJImdldHBhZ2VzaXplIgl9LCAvKiAxMTcxICovCisJeyA2LAkwLAlzeXNfbW1hcCwJCSJtbWFwMiIJCX0sIC8qIDExNzIgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJwY2ljb25maWdfcmVhZCJ9LCAvKiAxMTczICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkicGNpY29uZmlnX3dyaXRlIn0sIC8qIDExNzQgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJwZXJmbW9uY3RsIgl9LCAvKiAxMTc1ICovCisJeyAyLAlUUywJc3lzX3NpZ2FsdHN0YWNrLAkic2lnYWx0c3RhY2siCX0sIC8qIDExNzYgKi8KKwl7IDQsCVRTLAlzeXNfcnRfc2lnYWN0aW9uLAkicnRfc2lnYWN0aW9uIgl9LCAvKiAxMTc3ICovCisJeyAyLAlUUywJc3lzX3J0X3NpZ3BlbmRpbmcsCSJydF9zaWdwZW5kaW5nIgl9LCAvKiAxMTc4ICovCisJeyA0LAlUUywJc3lzX3J0X3NpZ3Byb2NtYXNrLAkicnRfc2lncHJvY21hc2sifSwgLyogMTE3OSAqLworCXsgMywJVFMsCXN5c19ydF9zaWdxdWV1ZWluZm8sCSJydF9zaWdxdWV1ZWluZm8ifSwgLyogMTE4MCAqLworCXsgMCwJVFMsCXN5c19zaWdyZXR1cm4sCQkicnRfc2lncmV0dXJuIgl9LCAvKiAxMTgxICovCisJeyAyLAlUUywJc3lzX3J0X3NpZ3N1c3BlbmQsCSJydF9zaWdzdXNwZW5kIgl9LCAvKiAxMTgyICovCisJeyA0LAlUUywJc3lzX3J0X3NpZ3RpbWVkd2FpdCwJInJ0X3NpZ3RpbWVkd2FpdCJ9LCAvKiAxMTgzICovCisJeyAyLAlURiwJc3lzX2dldGN3ZCwJCSJnZXRjd2QiCX0sIC8qIDExODQgKi8KKwl7IDIsCTAsCXN5c19jYXBnZXQsCQkiY2FwZ2V0Igl9LCAvKiAxMTg1ICovCisJeyAyLAkwLAlzeXNfY2Fwc2V0LAkJImNhcHNldCIJfSwgLyogMTE4NiAqLworCXsgNCwJVER8VE4sCXN5c19zZW5kZmlsZSwJCSJzZW5kZmlsZSIJfSwgLyogMTE4NyAqLworCXsgNSwJVE4sCXByaW50YXJncywJCSJnZXRwbXNnIgl9LCAvKiAxMTg4ICovCisJeyA1LAlUTiwJcHJpbnRhcmdzLAkJInB1dHBtc2ciCX0sIC8qIDExODkgKi8KKwl7IDMsCVROLAlzeXNfc29ja2V0LAkJInNvY2tldCIJfSwgLyogMTE5MCAqLworCXsgMywJVE4sCXN5c19iaW5kLAkJImJpbmQiCQl9LCAvKiAxMTkxICovCisJeyAzLAlUTiwJc3lzX2Nvbm5lY3QsCQkiY29ubmVjdCIJfSwgLyogMTE5MiAqLworCXsgMiwJVE4sCXN5c19saXN0ZW4sCQkibGlzdGVuIgl9LCAvKiAxMTkzICovCisJeyAzLAlUTiwJc3lzX2FjY2VwdCwJCSJhY2NlcHQiCX0sIC8qIDExOTQgKi8KKwl7IDMsCVROLAlzeXNfZ2V0c29ja25hbWUsCSJnZXRzb2NrbmFtZSIJfSwgLyogMTE5NSAqLworCXsgMywJVE4sCXN5c19nZXRwZWVybmFtZSwJImdldHBlZXJuYW1lIgl9LCAvKiAxMTk2ICovCisJeyA0LAlUTiwJc3lzX3NvY2tldHBhaXIsCQkic29ja2V0cGFpciIJfSwgLyogMTE5NyAqLworCXsgNCwJVE4sCXN5c19zZW5kLAkJInNlbmQiCQl9LCAvKiAxMTk4ICovCisJeyA2LAlUTiwJc3lzX3NlbmR0bywJCSJzZW5kdG8iCX0sIC8qIDExOTkgKi8KKwl7IDQsCVROLAlzeXNfcmVjdiwJCSJyZWN2IgkJfSwgLyogMTIwMCAqLworCXsgNiwJVE4sCXN5c19yZWN2ZnJvbSwJCSJyZWN2ZnJvbSIJfSwgLyogMTIwMSAqLworCXsgMiwJVE4sCXN5c19zaHV0ZG93biwJCSJzaHV0ZG93biIJfSwgLyogMTIwMiAqLworCXsgNSwJVE4sCXN5c19zZXRzb2Nrb3B0LAkJInNldHNvY2tvcHQiCX0sIC8qIDEyMDMgKi8KKwl7IDUsCVROLAlzeXNfZ2V0c29ja29wdCwJCSJnZXRzb2Nrb3B0Igl9LCAvKiAxMjA0ICovCisJeyAzLAlUTiwJc3lzX3NlbmRtc2csCQkic2VuZG1zZyIJfSwgLyogMTIwNSAqLworCXsgMywJVE4sCXN5c19yZWN2bXNnLAkJInJlY3Ztc2ciCX0sIC8qIDEyMDYgKi8KKwl7IDIsCVRGLAlzeXNfcGl2b3Ryb290LAkJInBpdm90X3Jvb3QiCX0sIC8qIDEyMDcgKi8KKwl7IDMsCTAsCXN5c19taW5jb3JlLAkJIm1pbmNvcmUiCX0sIC8qIDEyMDggKi8KKwl7IDMsCTAsCXN5c19tYWR2aXNlLAkJIm1hZHZpc2UiCX0sIC8qIDEyMDkgKi8KKwl7IDIsCVRGLAlzeXNfc3RhdCwJCSJzdGF0IgkJfSwgLyogMTIxMCAqLworCXsgMiwJMCwJc3lzX2xzdGF0LAkJImxzdGF0IgkJfSwgLyogMTIxMSAqLworCXsgMiwJVEQsCXN5c19mc3RhdCwJCSJmc3RhdCIJCX0sIC8qIDEyMTIgKi8KKwl7IDYsCVRQLAlzeXNfY2xvbmUsCQkiY2xvbmUyIgl9LCAvKiAxMjEzICovCisJeyAzLAlURCwJc3lzX2dldGRlbnRzNjQsCQkiZ2V0ZGVudHM2NCIJfSwgLyogMTIxNCAqLworCXsgMiwJMCwJcHJpbnRhcmdzLAkJImdldHVud2luZCIJfSwgLyogMTIxNSAqLworCXsgNCwJVEQsCXN5c19yZWFkYWhlYWQsCQkicmVhZGFoZWFkIgl9LCAvKiAxMjE2ICovCisJeyA1LAlURiwJc3lzX3NldHhhdHRyLAkJInNldHhhdHRyIgl9LCAvKiAxMjE3ICovCisJeyA1LAlURiwJc3lzX3NldHhhdHRyLAkJImxzZXR4YXR0ciIJfSwgLyogMTIxOCAqLworCXsgNSwJVEQsCXN5c19zZXR4YXR0ciwJCSJmc2V0eGF0dHIiCX0sIC8qIDEyMTkgKi8KKwl7IDQsCVRGLAlzeXNfZ2V0eGF0dHIsCQkiZ2V0eGF0dHIiCX0sIC8qIDEyMjAgKi8KKwl7IDQsCVRGLAlzeXNfZ2V0eGF0dHIsCQkibGdldHhhdHRyIgl9LCAvKiAxMjIxICovCisJeyA0LAkwLAlzeXNfZ2V0eGF0dHIsCQkiZmdldHhhdHRyIgl9LCAvKiAxMjIyICovCisJeyAzLAlURiwJc3lzX2xpc3R4YXR0ciwJCSJsaXN0eGF0dHIiCX0sIC8qIDEyMjMgKi8KKwl7IDMsCVRGLAlzeXNfbGlzdHhhdHRyLAkJImxsaXN0eGF0dHIiCX0sIC8qIDEyMjQgKi8KKwl7IDMsCTAsCXN5c19saXN0eGF0dHIsCQkiZmxpc3R4YXR0ciIJfSwgLyogMTIyNSAqLworCXsgMiwJVEYsCXN5c19yZW1vdmV4YXR0ciwJInJlbW92ZXhhdHRyIgl9LCAvKiAxMjI2ICovCisJeyAyLAlURiwJc3lzX3JlbW92ZXhhdHRyLAkibHJlbW92ZXhhdHRyIgl9LCAvKiAxMjI3ICovCisJeyAyLAkwLAlzeXNfcmVtb3ZleGF0dHIsCSJmcmVtb3ZleGF0dHIiCX0sIC8qIDEyMjggKi8KKwl7IDIsCVRTLAlzeXNfa2lsbCwJCSJ0a2lsbCIJCX0sIC8qIDEyMjkgKi8KKwl7IDYsCTAsCXN5c19mdXRleCwJCSJmdXRleCIJCX0sIC8qIDEyMzAgKi8KKwl7IDMsCTAsCXN5c19zY2hlZF9zZXRhZmZpbml0eSwJInNjaGVkX3NldGFmZmluaXR5In0sLyogMTIzMSAqLworCXsgMywJMCwJc3lzX3NjaGVkX2dldGFmZmluaXR5LAkic2NoZWRfZ2V0YWZmaW5pdHkifSwvKiAxMjMyICovCisJeyAxLAkwLAlwcmludGFyZ3MsCQkic2V0X3RpZF9hZGRyZXNzIn0sIC8qIDEyMzMgKi8KKwl7IDUsCTAsCXN5c19mYWR2aXNlNjQsCQkiZmFkdmlzZTY0Igl9LCAvKiAxMjM0ICovCisJeyAzLAlUUywJc3lzX3Rna2lsbCwJCSJ0Z2tpbGwiCX0sIC8qIDEyMzUgKi8KKwl7IDEsCVRQLAlzeXNfZXhpdCwJCSJleGl0X2dyb3VwIgl9LCAvKiAxMjM2ICovCisJeyA0LAkwLAlwcmludGFyZ3MsCQkibG9va3VwX2Rjb29raWUifSwgLyogMTIzNyAqLworCXsgMiwJMCwJc3lzX2lvX3NldHVwLAkJImlvX3NldHVwIgl9LCAvKiAxMjM4ICovCisJeyAxLAkwLAlzeXNfaW9fZGVzdHJveSwJCSJpb19kZXN0cm95Igl9LCAvKiAxMjM5ICovCisJeyA1LAkwLAlzeXNfaW9fZ2V0ZXZlbnRzLAkJImlvX2dldGV2ZW50cyIJfSwgLyogMTI0MCAqLworCXsgMywJMCwJc3lzX2lvX3N1Ym1pdCwJCSJpb19zdWJtaXQiCX0sIC8qIDEyNDEgKi8KKwl7IDMsCTAsCXN5c19pb19jYW5jZWwsCQkiaW9fY2FuY2VsIgl9LCAvKiAxMjQyICovCisJeyAxLAkwLAlzeXNfZXBvbGxfY3JlYXRlLAkiZXBvbGxfY3JlYXRlIgl9LCAvKiAxMjQzICovCisJeyA0LAlURCwJc3lzX2Vwb2xsX2N0bCwJCSJlcG9sbF9jdGwiCX0sIC8qIDEyNDQgKi8KKwl7IDQsCVRELAlzeXNfZXBvbGxfd2FpdCwJCSJlcG9sbF93YWl0Igl9LCAvKiAxMjQ1ICovCisJeyAwLAkwLAlzeXNfcmVzdGFydF9zeXNjYWxsLAkicmVzdGFydF9zeXNjYWxsIn0sIC8qIDEyNDYgKi8KKwl7IDUsCVRJLAlzeXNfc2VtdGltZWRvcCwJCSJzZW10aW1lZG9wIgl9LCAvKiAxMjQ3ICovCisJeyAzLAkwLAlzeXNfdGltZXJfY3JlYXRlLAkidGltZXJfY3JlYXRlIgl9LCAvKiAxMjQ4ICovCisJeyA0LAkwLAlzeXNfdGltZXJfc2V0dGltZSwJInRpbWVyX3NldHRpbWUiCX0sIC8qIDEyNDkgKi8KKwl7IDIsCTAsCXN5c190aW1lcl9nZXR0aW1lLAkidGltZXJfZ2V0dGltZSIJfSwgLyogMTI1MCAqLworCXsgMSwJMCwJc3lzX3RpbWVyX2dldG92ZXJydW4sCSJ0aW1lcl9nZXRvdmVycnVuIn0sIC8qIDEyNTEgKi8KKwl7IDEsCTAsCXN5c190aW1lcl9kZWxldGUsCSJ0aW1lcl9kZWxldGUiCX0sIC8qIDEyNTIgKi8KKwl7IDIsCTAsCXN5c19jbG9ja19zZXR0aW1lLAkiY2xvY2tfc2V0dGltZSIJfSwgLyogMTI1MyAqLworCXsgMiwJMCwJc3lzX2Nsb2NrX2dldHRpbWUsCSJjbG9ja19nZXR0aW1lIgl9LCAvKiAxMjU0ICovCisJeyAyLAkwLAlzeXNfY2xvY2tfZ2V0cmVzLAkiY2xvY2tfZ2V0cmVzIgl9LCAvKiAxMjU1ICovCisJeyA0LAkwLAlzeXNfY2xvY2tfbmFub3NsZWVwLAkiY2xvY2tfbmFub3NsZWVwIn0sIC8qIDEyNTYgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJmc3RhdGZzNjQiCX0sIC8qIDEyNTcgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJzdGF0ZnM2NCIJfSwgLyogMTI1OCAqLworCXsgNiwJMCwJc3lzX21iaW5kLAkJIm1iaW5kIgkJfSwgLyogMTI1OSAqLworCXsgNSwJMCwJc3lzX2dldF9tZW1wb2xpY3ksCSJnZXRfbWVtcG9saWN5Igl9LCAvKiAxMjYwICovCisJeyAzLAkwLAlzeXNfc2V0X21lbXBvbGljeSwJInNldF9tZW1wb2xpY3kiCX0sIC8qIDEyNjEgKi8KKwl7IDQsCTAsCXN5c19tcV9vcGVuLAkJIm1xX29wZW4iCX0sIC8qIDEyNjIgKi8KKwl7IDEsCTAsCXN5c19tcV91bmxpbmssCQkibXFfdW5saW5rIgl9LCAvKiAxMjYzICovCisJeyA1LAkwLAlzeXNfbXFfdGltZWRzZW5kLAkibXFfdGltZWRzZW5kIgl9LCAvKiAxMjY0ICovCisJeyA1LAkwLAlzeXNfbXFfdGltZWRyZWNlaXZlLAkibXFfdGltZWRyZWNlaXZlIiB9LCAvKiAxMjY1ICovCisJeyAyLAkwLAlzeXNfbXFfbm90aWZ5LAkJIm1xX25vdGlmeSIJfSwgLyogMTI2NiAqLworCXsgMywJMCwJc3lzX21xX2dldHNldGF0dHIsCSJtcV9nZXRzZXRhdHRyIgl9LCAvKiAxMjY3ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkia2V4ZWNfbG9hZCIJfSwgLyogMTI2OCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJInZzZXJ2ZXIiCX0sIC8qIDEyNjkgKi8KKwl7IDUsCVRQLAlzeXNfd2FpdGlkLAkJIndhaXRpZCIJfSwgLyogMTI3MCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJImFkZF9rZXkiCX0sIC8qIDEyNzEgKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJyZXF1ZXN0X2tleSIJfSwgLyogMTI3MiAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJImtleWN0bCIJfSwgLyogMTI3MyAqLworCXsgMywJMCwJcHJpbnRhcmdzLAkJImlvcHJpb19zZXQiCX0sIC8qIDEyNzQgKi8KKwl7IDIsCTAsCXByaW50YXJncywJCSJpb3ByaW9fZ2V0Igl9LCAvKiAxMjc1ICovCisJeyA2LAkwLAlzeXNfbW92ZV9wYWdlcywJCSJtb3ZlX3BhZ2VzIgl9LCAvKiAxMjc2ICovCisJeyAwLAlURCwJcHJpbnRhcmdzLAkJImlub3RpZnlfaW5pdCIJfSwgLyogMTI3NyAqLworCXsgMywJVEQsCXN5c19pbm90aWZ5X2FkZF93YXRjaCwJImlub3RpZnlfYWRkX3dhdGNoIiB9LCAvKiAxMjc4ICovCisJeyAyLAlURCwJc3lzX2lub3RpZnlfcm1fd2F0Y2gsCSJpbm90aWZ5X3JtX3dhdGNoIiB9LCAvKiAxMjc5ICovCisJeyA0LAkwLAlwcmludGFyZ3MsCQkibWlncmF0ZV9wYWdlcyIJfSwgLyogMTI4MCAqLworCXsgNCwJVER8VEYsCXN5c19vcGVuYXQsCQkib3BlbmF0Igl9LCAvKiAxMjgxICovCisJeyAzLAlURHxURiwJc3lzX21rZGlyYXQsCQkibWtkaXJhdCIJfSwgLyogMTI4MiAqLworCXsgNCwJVER8VEYsCXN5c19ta25vZGF0LAkJIm1rbm9kYXQiCX0sIC8qIDEyODMgKi8KKwl7IDUsCVREfFRGLAlzeXNfZmNob3duYXQsCQkiZmNob3duYXQiCX0sIC8qIDEyODQgKi8KKwl7IDMsCVREfFRGLAlzeXNfZnV0aW1lc2F0LAkJImZ1dGltZXNhdCIJfSwgLyogMTI4NSAqLworCXsgNCwJVER8VEQsCXN5c19uZXdmc3RhdGF0LAkJIm5ld2ZzdGF0YXQiCX0sIC8qIDEyODYgKi8KKwl7IDMsCVREfFRGLAlzeXNfdW5saW5rYXQsCQkidW5saW5rYXQiCX0sIC8qIDEyODcgKi8KKwl7IDQsCVREfFRGLAlzeXNfcmVuYW1lYXQsCQkicmVuYW1lYXQiCX0sIC8qIDEyODggKi8KKwl7IDUsCVREfFRGLAlzeXNfbGlua2F0LAkJImxpbmthdCIJfSwgLyogMTI4OSAqLworCXsgMywJVER8VEYsCXN5c19zeW1saW5rYXQsCQkic3ltbGlua2F0Igl9LCAvKiAxMjkwICovCisJeyA0LAlURHxURiwJc3lzX3JlYWRsaW5rYXQsCQkicmVhZGxpbmthdCIJfSwgLyogMTI5MSAqLworCXsgMywJVER8VEYsCXN5c19mY2htb2RhdCwJCSJmY2htb2RhdCIJfSwgLyogMTI5MiAqLworCXsgMywJVER8VEYsCXN5c19mYWNjZXNzYXQsCQkiZmFjY2Vzc2F0Igl9LCAvKiAxMjkzICovCisJeyA2LAlURCwJc3lzX3BzZWxlY3Q2LAkJInBzZWxlY3Q2Igl9LCAvKiAxMjk0ICovCisJeyA1LAlURCwJc3lzX3Bwb2xsLAkJInBwb2xsIgkJfSwgLyogMTI5NSAqLworCXsgMSwJVFAsCXN5c191bnNoYXJlLAkJInVuc2hhcmUiCX0sIC8qIDEyOTYgKi8KKwl7IDIsCTAsCXByaW50YXJncywJCSJzZXRfcm9idXN0X2xpc3QiIH0sIC8qIDEyOTcgKi8KKwl7IDMsCTAsCXByaW50YXJncywJCSJnZXRfcm9idXN0X2xpc3QiIH0sIC8qIDEyOTggKi8KKwl7IDYsCVRELAlwcmludGFyZ3MsCQkic3BsaWNlIgl9LCAvKiAxMjk5ICovCisJeyA0LAlURCwJcHJpbnRhcmdzLAkJInN5bmNfZmlsZV9yYW5nZSIgfSwgLyogMTMwMCAqLworCXsgNCwJVEQsCXByaW50YXJncywJCSJ0ZWUiCQl9LCAvKiAxMzAxICovCisJeyA0LAlURCwJcHJpbnRhcmdzLAkJInZtc3BsaWNlIgl9LCAvKiAxMzAyICovCisJeyA4LAkwLAlwcmludGFyZ3MsCQkiU1lTXzEzMDMiCX0sIC8qIDEzMDMgKi8KKwl7IDMsCTAsCXN5c19nZXRjcHUsCQkiZ2V0Y3B1Igl9LCAvKiAxMzA0ICovCisJeyA1LAlURCwJc3lzX2Vwb2xsX3B3YWl0LAkiZXBvbGxfcHdhaXQiCX0sIC8qIDEzMDUgKi8KKwl7IDgsCTAsCXByaW50YXJncywJCSJTWVNfMTMwNiIJfSwgLyogMTMwNiAqLworCXsgMywJVER8VFMsCXN5c19zaWduYWxmZCwJCSJzaWduYWxmZCIJfSwgLyogMTMwNyAqLworCXsgNCwJVEQsCXN5c190aW1lcmZkLAkJInRpbWVyZmQiCX0sIC8qIDEzMDggKi8KKwl7IDEsCVRELAlzeXNfZXZlbnRmZCwJCSJldmVudGZkIgl9LCAvKiAxMzA5ICovCisJeyA1LAlURCwJcHJpbnRhcmdzLAkJInByZWFkdiIJfSwgLyogMTMxOSAqLworCXsgNSwJVEQsCXByaW50YXJncywJCSJwd3JpdGV2Igl9LCAvKiAxMzIwICovCisJeyA0LAlUUywJcHJpbnRhcmdzLAkJInJ0X3Rnc2lncXVldWVpbmZvIn0sIC8qIDEzMjEgKi8KKwl7IDUsCVROLAlzeXNfcmVjdm1tc2csCQkicmVjdm1tc2ciCX0sIC8qIDEzMjIgKi8KZGlmZiAtLWdpdCBhL3N0cmFjZS00LjUuMjAvbGludXgvaW9jdGxlbnQuaCBiL3N0cmFjZS00LjUuMjAvbGludXgvaW9jdGxlbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZDM1OTA1Ci0tLSAvZGV2L251bGwKKysrIGIvc3RyYWNlLTQuNS4yMC9saW51eC9pb2N0bGVudC5oCkBAIC0wLDAgKzEsMTQyOCBAQAorCS8qIEdlbmVyYXRlZCBieSBpb2N0bHNvcnQgKi8KKwl7ImxpbnV4L2ZzLmgiLAkiRklCTUFQIiwJMHgxfSwKKwl7ImxpbnV4L2ZzLmgiLAkiRklHRVRCU1oiLAkweDJ9LAorCXsibGludXgvZmQuaCIsCSJGREdFVFBSTSIsCTB4MjA0fSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRHRVRNQVhFUlJTIiwJMHgyMGV9LAorCXsibGludXgvZmQuaCIsCSJGREdFVERSVlRZUCIsCTB4MjBmfSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRHRVREUlZQUk0iLAkweDIxMX0sCisJeyJsaW51eC9mZC5oIiwJIkZER0VURFJWU1RBVCIsCTB4MjEyfSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRQT0xMRFJWU1RBVCIsCTB4MjEzfSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRHRVRGRENTVEFUIiwJMHgyMTV9LAorCXsibGludXgvZmQuaCIsCSJGRFdFUlJPUkdFVCIsCTB4MjE3fSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRDTFJQUk0iLAkweDI0MX0sCisJeyJsaW51eC9mZC5oIiwJIkZEU0VUUFJNIiwJMHgyNDJ9LAorCXsibGludXgvZmQuaCIsCSJGRERFRlBSTSIsCTB4MjQzfSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRNU0dPTiIsCTB4MjQ1fSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRNU0dPRkYiLAkweDI0Nn0sCisJeyJsaW51eC9mZC5oIiwJIkZERk1UQkVHIiwJMHgyNDd9LAorCXsibGludXgvZmQuaCIsCSJGREZNVFRSSyIsCTB4MjQ4fSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRGTVRFTkQiLAkweDI0OX0sCisJeyJsaW51eC9mZC5oIiwJIkZEU0VURU1TR1RSRVNIIiwJMHgyNGF9LAorCXsibGludXgvZmQuaCIsCSJGREZMVVNIIiwJMHgyNGJ9LAorCXsibGludXgvZmQuaCIsCSJGRFNFVE1BWEVSUlMiLAkweDI0Y30sCisJeyJsaW51eC9mZC5oIiwJIkZEUkVTRVQiLAkweDI1NH0sCisJeyJsaW51eC9mZC5oIiwJIkZEV0VSUk9SQ0xSIiwJMHgyNTZ9LAorCXsibGludXgvZmQuaCIsCSJGRFJBV0NNRCIsCTB4MjU4fSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRUV0FERExFIiwJMHgyNTl9LAorCXsibGludXgvZmQuaCIsCSJGREVKRUNUIiwJMHgyNWF9LAorCXsibGludXgvZmQuaCIsCSJGRFNFVERSVlBSTSIsCTB4MjkwfSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLUk9TRVQiLAkweDEyNWR9LAorCXsibGludXgvZnMuaCIsCSJCTEtST0dFVCIsCTB4MTI1ZX0sCisJeyJsaW51eC9mcy5oIiwJIkJMS1JSUEFSVCIsCTB4MTI1Zn0sCisJeyJsaW51eC9mcy5oIiwJIkJMS0dFVFNJWkUiLAkweDEyNjB9LAorCXsibGludXgvZnMuaCIsCSJCTEtGTFNCVUYiLAkweDEyNjF9LAorCXsibGludXgvZnMuaCIsCSJCTEtSQVNFVCIsCTB4MTI2Mn0sCisJeyJsaW51eC9mcy5oIiwJIkJMS1JBR0VUIiwJMHgxMjYzfSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLRlJBU0VUIiwJMHgxMjY0fSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLRlJBR0VUIiwJMHgxMjY1fSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLU0VDVFNFVCIsCTB4MTI2Nn0sCisJeyJsaW51eC9mcy5oIiwJIkJMS1NFQ1RHRVQiLAkweDEyNjd9LAorCXsibGludXgvZnMuaCIsCSJCTEtTU1pHRVQiLAkweDEyNjh9LAorCXsibGludXgvYmxrcGcuaCIsCSJCTEtQRyIsCTB4MTI2OX0sCisJeyJsaW51eC9mcy5oIiwJIkJMS0VMVkdFVCIsCTB4MTI2YX0sCisJeyJsaW51eC9mcy5oIiwJIkJMS0VMVlNFVCIsCTB4MTI2Yn0sCisJeyJsaW51eC9mcy5oIiwJIkJMS0JTWkdFVCIsCTB4MTI3MH0sCisJeyJsaW51eC9mcy5oIiwJIkJMS0JTWlNFVCIsCTB4MTI3MX0sCisJeyJsaW51eC9mcy5oIiwJIkJMS0dFVFNJWkU2NCIsCTB4MTI3Mn0sCisJeyJsaW51eC9mcy5oIiwJIkJMS1RSQUNFU0VUVVAiLAkweDEyNzN9LAorCXsibGludXgvZnMuaCIsCSJCTEtUUkFDRVNUQVJUIiwJMHgxMjc0fSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLVFJBQ0VTVE9QIiwJMHgxMjc1fSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLVFJBQ0VURUFSRE9XTiIsCTB4MTI3Nn0sCisJeyJsaW51eC9mcy5oIiwJIkJMS0RJU0NBUkQiLAkweDEyNzd9LAorCXsibGludXgvZnMuaCIsCSJCTEtJT01JTiIsCTB4MTI3OH0sCisJeyJsaW51eC9mcy5oIiwJIkJMS0lPT1BUIiwJMHgxMjc5fSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLQUxJR05PRkYiLAkweDEyN2F9LAorCXsibGludXgvZnMuaCIsCSJCTEtQQlNaR0VUIiwJMHgxMjdifSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLRElTQ0FSRFpFUk9FUyIsCTB4MTI3Y30sCisJeyJzY3NpL3NnLmgiLAkiU0dfU0VUX1RJTUVPVVQiLAkweDIyMDF9LAorCXsic2NzaS9zZy5oIiwJIlNHX0dFVF9USU1FT1VUIiwJMHgyMjAyfSwKKwl7InNjc2kvc2cuaCIsCSJTR19FTVVMQVRFRF9IT1NUIiwJMHgyMjAzfSwKKwl7InNjc2kvc2cuaCIsCSJTR19TRVRfVFJBTlNGT1JNIiwJMHgyMjA0fSwKKwl7InNjc2kvc2cuaCIsCSJTR19HRVRfVFJBTlNGT1JNIiwJMHgyMjA1fSwKKwl7InNjc2kvc2cuaCIsCSJTR19HRVRfQ09NTUFORF9RIiwJMHgyMjcwfSwKKwl7InNjc2kvc2cuaCIsCSJTR19TRVRfQ09NTUFORF9RIiwJMHgyMjcxfSwKKwl7InNjc2kvc2cuaCIsCSJTR19HRVRfUkVTRVJWRURfU0laRSIsCTB4MjI3Mn0sCisJeyJzY3NpL3NnLmgiLAkiU0dfU0VUX1JFU0VSVkVEX1NJWkUiLAkweDIyNzV9LAorCXsic2NzaS9zZy5oIiwJIlNHX0dFVF9TQ1NJX0lEIiwJMHgyMjc2fSwKKwl7InNjc2kvc2cuaCIsCSJTR19TRVRfRk9SQ0VfTE9XX0RNQSIsCTB4MjI3OX0sCisJeyJzY3NpL3NnLmgiLAkiU0dfR0VUX0xPV19ETUEiLAkweDIyN2F9LAorCXsic2NzaS9zZy5oIiwJIlNHX1NFVF9GT1JDRV9QQUNLX0lEIiwJMHgyMjdifSwKKwl7InNjc2kvc2cuaCIsCSJTR19HRVRfUEFDS19JRCIsCTB4MjI3Y30sCisJeyJzY3NpL3NnLmgiLAkiU0dfR0VUX05VTV9XQUlUSU5HIiwJMHgyMjdkfSwKKwl7InNjc2kvc2cuaCIsCSJTR19TRVRfREVCVUciLAkweDIyN2V9LAorCXsic2NzaS9zZy5oIiwJIlNHX0dFVF9TR19UQUJMRVNJWkUiLAkweDIyN2Z9LAorCXsic2NzaS9zZy5oIiwJIlNHX0dFVF9WRVJTSU9OX05VTSIsCTB4MjI4Mn0sCisJeyJzY3NpL3NnLmgiLAkiU0dfTkVYVF9DTURfTEVOIiwJMHgyMjgzfSwKKwl7InNjc2kvc2cuaCIsCSJTR19TQ1NJX1JFU0VUIiwJMHgyMjg0fSwKKwl7InNjc2kvc2cuaCIsCSJTR19JTyIsCTB4MjI4NX0sCisJeyJzY3NpL3NnLmgiLAkiU0dfR0VUX1JFUVVFU1RfVEFCTEUiLAkweDIyODZ9LAorCXsic2NzaS9zZy5oIiwJIlNHX1NFVF9LRUVQX09SUEhBTiIsCTB4MjI4N30sCisJeyJzY3NpL3NnLmgiLAkiU0dfR0VUX0tFRVBfT1JQSEFOIiwJMHgyMjg4fSwKKwl7ImxpbnV4L2ZpcmV3aXJlLWNkZXYuaCIsCSJGV19DREVWX0lPQ19HRVRfSU5GTyIsCTB4MjMwMH0sCisJeyJsaW51eC9maXJld2lyZS1jZGV2LmgiLAkiRldfQ0RFVl9JT0NfU0VORF9SRVFVRVNUIiwJMHgyMzAxfSwKKwl7ImxpbnV4L2ZpcmV3aXJlLWNkZXYuaCIsCSJGV19DREVWX0lPQ19BTExPQ0FURSIsCTB4MjMwMn0sCisJeyJsaW51eC9maXJld2lyZS1jZGV2LmgiLAkiRldfQ0RFVl9JT0NfREVBTExPQ0FURSIsCTB4MjMwM30sCisJeyJsaW51eC9maXJld2lyZS1jZGV2LmgiLAkiRldfQ0RFVl9JT0NfU0VORF9SRVNQT05TRSIsCTB4MjMwNH0sCisJeyJsaW51eC9maXJld2lyZS1jZGV2LmgiLAkiRldfQ0RFVl9JT0NfSU5JVElBVEVfQlVTX1JFU0VUIiwJMHgyMzA1fSwKKwl7ImxpbnV4L2ZpcmV3aXJlLWNkZXYuaCIsCSJGV19DREVWX0lPQ19BRERfREVTQ1JJUFRPUiIsCTB4MjMwNn0sCisJeyJsaW51eC9maXJld2lyZS1jZGV2LmgiLAkiRldfQ0RFVl9JT0NfUkVNT1ZFX0RFU0NSSVBUT1IiLAkweDIzMDd9LAorCXsibGludXgvZmlyZXdpcmUtY2Rldi5oIiwJIkZXX0NERVZfSU9DX0NSRUFURV9JU09fQ09OVEVYVCIsCTB4MjMwOH0sCisJeyJsaW51eC9maXJld2lyZS1jZGV2LmgiLAkiRldfQ0RFVl9JT0NfUVVFVUVfSVNPIiwJMHgyMzA5fSwKKwl7ImxpbnV4L2ZpcmV3aXJlLWNkZXYuaCIsCSJGV19DREVWX0lPQ19TVEFSVF9JU08iLAkweDIzMGF9LAorCXsibGludXgvZmlyZXdpcmUtY2Rldi5oIiwJIkZXX0NERVZfSU9DX1NUT1BfSVNPIiwJMHgyMzBifSwKKwl7ImxpbnV4L2ZpcmV3aXJlLWNkZXYuaCIsCSJGV19DREVWX0lPQ19HRVRfQ1lDTEVfVElNRVIiLAkweDIzMGN9LAorCXsibGludXgvZmlyZXdpcmUtY2Rldi5oIiwJIkZXX0NERVZfSU9DX0FMTE9DQVRFX0lTT19SRVNPVVJDRSIsCTB4MjMwZH0sCisJeyJsaW51eC9maXJld2lyZS1jZGV2LmgiLAkiRldfQ0RFVl9JT0NfREVBTExPQ0FURV9JU09fUkVTT1VSQ0UiLAkweDIzMGV9LAorCXsibGludXgvZmlyZXdpcmUtY2Rldi5oIiwJIkZXX0NERVZfSU9DX0FMTE9DQVRFX0lTT19SRVNPVVJDRV9PTkNFIiwJMHgyMzBmfSwKKwl7ImxpbnV4L2ZpcmV3aXJlLWNkZXYuaCIsCSJGV19DREVWX0lPQ19ERUFMTE9DQVRFX0lTT19SRVNPVVJDRV9PTkNFIiwJMHgyMzEwfSwKKwl7ImxpbnV4L2ZpcmV3aXJlLWNkZXYuaCIsCSJGV19DREVWX0lPQ19HRVRfU1BFRUQiLAkweDIzMTF9LAorCXsibGludXgvZmlyZXdpcmUtY2Rldi5oIiwJIkZXX0NERVZfSU9DX1NFTkRfQlJPQURDQVNUX1JFUVVFU1QiLAkweDIzMTJ9LAorCXsibGludXgvZmlyZXdpcmUtY2Rldi5oIiwJIkZXX0NERVZfSU9DX1NFTkRfU1RSRUFNX1BBQ0tFVCIsCTB4MjMxM30sCisJeyJsaW51eC9wZXJmX2V2ZW50LmgiLAkiUEVSRl9FVkVOVF9JT0NfRU5BQkxFIiwJMHgyNDAwfSwKKwl7ImxpbnV4L3BlcmZfZXZlbnQuaCIsCSJQRVJGX0VWRU5UX0lPQ19ESVNBQkxFIiwJMHgyNDAxfSwKKwl7ImxpbnV4L3BlcmZfZXZlbnQuaCIsCSJQRVJGX0VWRU5UX0lPQ19SRUZSRVNIIiwJMHgyNDAyfSwKKwl7ImxpbnV4L3BlcmZfZXZlbnQuaCIsCSJQRVJGX0VWRU5UX0lPQ19SRVNFVCIsCTB4MjQwM30sCisJeyJsaW51eC9wZXJmX2V2ZW50LmgiLAkiUEVSRl9FVkVOVF9JT0NfUEVSSU9EIiwJMHgyNDA0fSwKKwl7ImxpbnV4L3BlcmZfZXZlbnQuaCIsCSJQRVJGX0VWRU5UX0lPQ19TRVRfT1VUUFVUIiwJMHgyNDA1fSwKKwl7ImxpbnV4L3BlcmZfZXZlbnQuaCIsCSJQRVJGX0VWRU5UX0lPQ19TRVRfRklMVEVSIiwJMHgyNDA2fSwKKwl7ImxpbnV4L3N1c3BlbmRfaW9jdGxzLmgiLAkiU05BUFNIT1RfRlJFRVpFIiwJMHgzMzAxfSwKKwl7ImxpbnV4L3N1c3BlbmRfaW9jdGxzLmgiLAkiU05BUFNIT1RfVU5GUkVFWkUiLAkweDMzMDJ9LAorCXsibGludXgvc3VzcGVuZF9pb2N0bHMuaCIsCSJTTkFQU0hPVF9BVE9NSUNfUkVTVE9SRSIsCTB4MzMwNH0sCisJeyJsaW51eC9zdXNwZW5kX2lvY3Rscy5oIiwJIlNOQVBTSE9UX0ZSRUUiLAkweDMzMDV9LAorCXsibGludXgvc3VzcGVuZF9pb2N0bHMuaCIsCSJTTkFQU0hPVF9GUkVFX1NXQVBfUEFHRVMiLAkweDMzMDl9LAorCXsibGludXgvc3VzcGVuZF9pb2N0bHMuaCIsCSJTTkFQU0hPVF9TMlJBTSIsCTB4MzMwYn0sCisJeyJsaW51eC9zdXNwZW5kX2lvY3Rscy5oIiwJIlNOQVBTSE9UX1NFVF9TV0FQX0FSRUEiLAkweDMzMGR9LAorCXsibGludXgvc3VzcGVuZF9pb2N0bHMuaCIsCSJTTkFQU0hPVF9HRVRfSU1BR0VfU0laRSIsCTB4MzMwZX0sCisJeyJsaW51eC9zdXNwZW5kX2lvY3Rscy5oIiwJIlNOQVBTSE9UX1BMQVRGT1JNX1NVUFBPUlQiLAkweDMzMGZ9LAorCXsibGludXgvc3VzcGVuZF9pb2N0bHMuaCIsCSJTTkFQU0hPVF9QT1dFUl9PRkYiLAkweDMzMTB9LAorCXsibGludXgvc3VzcGVuZF9pb2N0bHMuaCIsCSJTTkFQU0hPVF9DUkVBVEVfSU1BR0UiLAkweDMzMTF9LAorCXsibGludXgvc3VzcGVuZF9pb2N0bHMuaCIsCSJTTkFQU0hPVF9QUkVGX0lNQUdFX1NJWkUiLAkweDMzMTJ9LAorCXsibGludXgvc3VzcGVuZF9pb2N0bHMuaCIsCSJTTkFQU0hPVF9BVkFJTF9TV0FQX1NJWkUiLAkweDMzMTN9LAorCXsibGludXgvc3VzcGVuZF9pb2N0bHMuaCIsCSJTTkFQU0hPVF9BTExPQ19TV0FQX1BBR0UiLAkweDMzMTR9LAorCXsibGludXgvcmFkZW9uZmIuaCIsCSJGQklPX1JBREVPTl9HRVRfTUlSUk9SIiwJMHg0MDAzfSwKKwl7ImxpbnV4L3JhZGVvbmZiLmgiLAkiRkJJT19SQURFT05fU0VUX01JUlJPUiIsCTB4NDAwNH0sCisJeyJsaW51eC9hZ3BnYXJ0LmgiLAkiQUdQSU9DX0lORk8iLAkweDQxMDB9LAorCXsibGludXgvYWdwZ2FydC5oIiwJIkFHUElPQ19BQ1FVSVJFIiwJMHg0MTAxfSwKKwl7ImxpbnV4L2FwbV9iaW9zLmgiLAkiQVBNX0lPQ19TVEFOREJZIiwJMHg0MTAxfSwKKwl7ImxpbnV4L2FncGdhcnQuaCIsCSJBR1BJT0NfUkVMRUFTRSIsCTB4NDEwMn0sCisJeyJsaW51eC9hcG1fYmlvcy5oIiwJIkFQTV9JT0NfU1VTUEVORCIsCTB4NDEwMn0sCisJeyJsaW51eC9hZ3BnYXJ0LmgiLAkiQUdQSU9DX1NFVFVQIiwJMHg0MTAzfSwKKwl7ImxpbnV4L2FncGdhcnQuaCIsCSJBR1BJT0NfUkVTRVJWRSIsCTB4NDEwNH0sCisJeyJsaW51eC9hZ3BnYXJ0LmgiLAkiQUdQSU9DX1BST1RFQ1QiLAkweDQxMDV9LAorCXsibGludXgvYWdwZ2FydC5oIiwJIkFHUElPQ19BTExPQ0FURSIsCTB4NDEwNn0sCisJeyJsaW51eC9hZ3BnYXJ0LmgiLAkiQUdQSU9DX0RFQUxMT0NBVEUiLAkweDQxMDd9LAorCXsibGludXgvYWdwZ2FydC5oIiwJIkFHUElPQ19CSU5EIiwJMHg0MTA4fSwKKwl7ImxpbnV4L2FncGdhcnQuaCIsCSJBR1BJT0NfVU5CSU5EIiwJMHg0MTA5fSwKKwl7ImxpbnV4L2FncGdhcnQuaCIsCSJBR1BJT0NfQ0hJUFNFVF9GTFVTSCIsCTB4NDEwYX0sCisJeyJsaW51eC9wbXUuaCIsCSJQTVVfSU9DX1NMRUVQIiwJMHg0MjAwfSwKKwl7ImxpbnV4L2NjaXNzX2lvY3RsLmgiLAkiQ0NJU1NfR0VUUENJSU5GTyIsCTB4NDIwMX0sCisJeyJsaW51eC9wbXUuaCIsCSJQTVVfSU9DX0dFVF9CQUNLTElHSFQiLAkweDQyMDF9LAorCXsibGludXgvY2Npc3NfaW9jdGwuaCIsCSJDQ0lTU19HRVRJTlRJTkZPIiwJMHg0MjAyfSwKKwl7ImxpbnV4L3BtdS5oIiwJIlBNVV9JT0NfU0VUX0JBQ0tMSUdIVCIsCTB4NDIwMn0sCisJeyJsaW51eC9jY2lzc19pb2N0bC5oIiwJIkNDSVNTX1NFVElOVElORk8iLAkweDQyMDN9LAorCXsibGludXgvcG11LmgiLAkiUE1VX0lPQ19HRVRfTU9ERUwiLAkweDQyMDN9LAorCXsibGludXgvY2Npc3NfaW9jdGwuaCIsCSJDQ0lTU19HRVROT0RFTkFNRSIsCTB4NDIwNH0sCisJeyJsaW51eC9wbXUuaCIsCSJQTVVfSU9DX0hBU19BREIiLAkweDQyMDR9LAorCXsibGludXgvY2Npc3NfaW9jdGwuaCIsCSJDQ0lTU19TRVROT0RFTkFNRSIsCTB4NDIwNX0sCisJeyJsaW51eC9wbXUuaCIsCSJQTVVfSU9DX0NBTl9TTEVFUCIsCTB4NDIwNX0sCisJeyJsaW51eC9jY2lzc19pb2N0bC5oIiwJIkNDSVNTX0dFVEhFQVJUQkVBVCIsCTB4NDIwNn0sCisJeyJsaW51eC9wbXUuaCIsCSJQTVVfSU9DX0dSQUJfQkFDS0xJR0hUIiwJMHg0MjA2fSwKKwl7ImxpbnV4L2NjaXNzX2lvY3RsLmgiLAkiQ0NJU1NfR0VUQlVTVFlQRVMiLAkweDQyMDd9LAorCXsibGludXgvY2Npc3NfaW9jdGwuaCIsCSJDQ0lTU19HRVRGSVJNVkVSIiwJMHg0MjA4fSwKKwl7ImxpbnV4L2NjaXNzX2lvY3RsLmgiLAkiQ0NJU1NfR0VURFJJVlZFUiIsCTB4NDIwOX0sCisJeyJsaW51eC9jY2lzc19pb2N0bC5oIiwJIkNDSVNTX1JFVkFMSURWT0xTIiwJMHg0MjBhfSwKKwl7ImxpbnV4L2NjaXNzX2lvY3RsLmgiLAkiQ0NJU1NfUEFTU1RIUlUiLAkweDQyMGJ9LAorCXsibGludXgvY2Npc3NfaW9jdGwuaCIsCSJDQ0lTU19ERVJFR0RJU0siLAkweDQyMGN9LAorCXsibGludXgvY2Npc3NfaW9jdGwuaCIsCSJDQ0lTU19SRUdORVdESVNLIiwJMHg0MjBkfSwKKwl7ImxpbnV4L2NjaXNzX2lvY3RsLmgiLAkiQ0NJU1NfUkVHTkVXRCIsCTB4NDIwZX0sCisJeyJsaW51eC9jY2lzc19pb2N0bC5oIiwJIkNDSVNTX1JFU0NBTkRJU0siLAkweDQyMTB9LAorCXsibGludXgvY2Npc3NfaW9jdGwuaCIsCSJDQ0lTU19HRVRMVU5JTkZPIiwJMHg0MjExfSwKKwl7ImxpbnV4L2NjaXNzX2lvY3RsLmgiLAkiQ0NJU1NfQklHX1BBU1NUSFJVIiwJMHg0MjEyfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9DT1BSX1JFU0VUIiwJMHg0MzAwfSwKKwl7ImxpbnV4L2NhcGkuaCIsCSJDQVBJX1JFR0lTVEVSIiwJMHg0MzAxfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9DT1BSX0xPQUQiLAkweDQzMDF9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0NPUFJfUkRBVEEiLAkweDQzMDJ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0NPUFJfUkNPREUiLAkweDQzMDN9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0NPUFJfV0RBVEEiLAkweDQzMDR9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0NPUFJfV0NPREUiLAkweDQzMDV9LAorCXsibGludXgvY2FwaS5oIiwJIkNBUElfR0VUX01BTlVGQUNUVVJFUiIsCTB4NDMwNn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfQ09QUl9SVU4iLAkweDQzMDZ9LAorCXsibGludXgvY2FwaS5oIiwJIkNBUElfR0VUX1ZFUlNJT04iLAkweDQzMDd9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0NPUFJfSEFMVCIsCTB4NDMwN30sCisJeyJsaW51eC9jYXBpLmgiLAkiQ0FQSV9HRVRfU0VSSUFMIiwJMHg0MzA4fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9DT1BSX1NFTkRNU0ciLAkweDQzMDh9LAorCXsibGludXgvY2FwaS5oIiwJIkNBUElfR0VUX1BST0ZJTEUiLAkweDQzMDl9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0NPUFJfUkNWTVNHIiwJMHg0MzA5fSwKKwl7ImxpbnV4L2NhcGkuaCIsCSJDQVBJX01BTlVGQUNUVVJFUl9DTUQiLAkweDQzMjB9LAorCXsibGludXgvY2FwaS5oIiwJIkNBUElfR0VUX0VSUkNPREUiLAkweDQzMjF9LAorCXsibGludXgvY2FwaS5oIiwJIkNBUElfSU5TVEFMTEVEIiwJMHg0MzIyfSwKKwl7ImxpbnV4L2NhcGkuaCIsCSJDQVBJX0dFVF9GTEFHUyIsCTB4NDMyM30sCisJeyJsaW51eC9jYXBpLmgiLAkiQ0FQSV9TRVRfRkxBR1MiLAkweDQzMjR9LAorCXsibGludXgvY2FwaS5oIiwJIkNBUElfQ0xSX0ZMQUdTIiwJMHg0MzI1fSwKKwl7ImxpbnV4L2NhcGkuaCIsCSJDQVBJX05DQ0lfT1BFTkNPVU5UIiwJMHg0MzI2fSwKKwl7ImxpbnV4L2NhcGkuaCIsCSJDQVBJX05DQ0lfR0VUVU5JVCIsCTB4NDMyN30sCisJeyJsaW51eC9pbnB1dC5oIiwJIkVWSU9DR1ZFUlNJT04iLAkweDQ1MDF9LAorCXsibGludXgvaW5wdXQuaCIsCSJFVklPQ0dJRCIsCTB4NDUwMn0sCisJeyJsaW51eC9pbnB1dC5oIiwJIkVWSU9DR1JFUCIsCTB4NDUwM30sCisJeyJsaW51eC9pbnB1dC5oIiwJIkVWSU9DU1JFUCIsCTB4NDUwM30sCisJeyJsaW51eC9pbnB1dC5oIiwJIkVWSU9DR0tFWUNPREUiLAkweDQ1MDR9LAorCXsibGludXgvaW5wdXQuaCIsCSJFVklPQ1NLRVlDT0RFIiwJMHg0NTA0fSwKKwl7ImxpbnV4L2lucHV0LmgiLAkiRVZJT0NSTUZGIiwJMHg0NTgxfSwKKwl7ImxpbnV4L2lucHV0LmgiLAkiRVZJT0NHRUZGRUNUUyIsCTB4NDU4NH0sCisJeyJsaW51eC9pbnB1dC5oIiwJIkVWSU9DR1JBQiIsCTB4NDU5MH0sCisJeyJsaW51eC9mYi5oIiwJIkZCSU9HRVRfVlNDUkVFTklORk8iLAkweDQ2MDB9LAorCXsibGludXgvZmIuaCIsCSJGQklPUFVUX1ZTQ1JFRU5JTkZPIiwJMHg0NjAxfSwKKwl7ImxpbnV4L2ZiLmgiLAkiRkJJT0dFVF9GU0NSRUVOSU5GTyIsCTB4NDYwMn0sCisJeyJsaW51eC9mYi5oIiwJIkZCSU9HRVRDTUFQIiwJMHg0NjA0fSwKKwl7ImxpbnV4L2ZiLmgiLAkiRkJJT1BVVENNQVAiLAkweDQ2MDV9LAorCXsibGludXgvZmIuaCIsCSJGQklPUEFOX0RJU1BMQVkiLAkweDQ2MDZ9LAorCXsibGludXgvZmIuaCIsCSJGQklPX0NVUlNPUiIsCTB4NDYwOH0sCisJeyJsaW51eC9mYi5oIiwJIkZCSU9HRVRfQ09OMkZCTUFQIiwJMHg0NjBmfSwKKwl7ImxpbnV4L2ZiLmgiLAkiRkJJT1BVVF9DT04yRkJNQVAiLAkweDQ2MTB9LAorCXsibGludXgvZmIuaCIsCSJGQklPQkxBTksiLAkweDQ2MTF9LAorCXsibGludXgvZmIuaCIsCSJGQklPR0VUX1ZCTEFOSyIsCTB4NDYxMn0sCisJeyJsaW51eC9mYi5oIiwJIkZCSU9fQUxMT0MiLAkweDQ2MTN9LAorCXsibGludXgvZmIuaCIsCSJGQklPX0ZSRUUiLAkweDQ2MTR9LAorCXsibGludXgvZmIuaCIsCSJGQklPR0VUX0dMWVBIIiwJMHg0NjE1fSwKKwl7ImxpbnV4L2ZiLmgiLAkiRkJJT0dFVF9IV0NJTkZPIiwJMHg0NjE2fSwKKwl7ImxpbnV4L2ZiLmgiLAkiRkJJT1BVVF9NT0RFSU5GTyIsCTB4NDYxN30sCisJeyJsaW51eC9mYi5oIiwJIkZCSU9HRVRfRElTUElORk8iLAkweDQ2MTh9LAorCXsibGludXgvaXZ0dmZiLmgiLAkiRkJJT19XQUlURk9SVlNZTkMiLAkweDQ2MjB9LAorCXsibGludXgvYXJjZmIuaCIsCSJGQklPX1dBSVRFVkVOVCIsCTB4NDY4OH0sCisJeyJsaW51eC9hcmNmYi5oIiwJIkZCSU9fR0VUQ09OVFJPTDIiLAkweDQ2ODl9LAorCXsibGludXgvZ2lnYXNldF9kZXYuaCIsCSJHSUdBU0VUX1JFRElSIiwJMHg0NzAwfSwKKwl7ImxpbnV4L2dpZ2FzZXRfZGV2LmgiLAkiR0lHQVNFVF9DT05GSUciLAkweDQ3MDF9LAorCXsibGludXgvZ2lnYXNldF9kZXYuaCIsCSJHSUdBU0VUX0JSS0NIQVJTIiwJMHg0NzAyfSwKKwl7ImxpbnV4L2dpZ2FzZXRfZGV2LmgiLAkiR0lHQVNFVF9WRVJTSU9OIiwJMHg0NzAzfSwKKwl7ImxpbnV4L2hpZHJhdy5oIiwJIkhJRElPQ0dSREVTQ1NJWkUiLAkweDQ4MDF9LAorCXsibGludXgvaGlkZGV2LmgiLAkiSElESU9DR1ZFUlNJT04iLAkweDQ4MDF9LAorCXsibGludXgvaGlkZGV2LmgiLAkiSElESU9DQVBQTElDQVRJT04iLAkweDQ4MDJ9LAorCXsibGludXgvaGlkcmF3LmgiLAkiSElESU9DR1JERVNDIiwJMHg0ODAyfSwKKwl7ImxpbnV4L2hpZGRldi5oIiwJIkhJRElPQ0dERVZJTkZPIiwJMHg0ODAzfSwKKwl7ImxpbnV4L2hpZHJhdy5oIiwJIkhJRElPQ0dSQVdJTkZPIiwJMHg0ODAzfSwKKwl7ImxpbnV4L2hpZGRldi5oIiwJIkhJRElPQ0dTVFJJTkciLAkweDQ4MDR9LAorCXsibGludXgvaGlkZGV2LmgiLAkiSElESU9DSU5JVFJFUE9SVCIsCTB4NDgwNX0sCisJeyJsaW51eC9oaWRkZXYuaCIsCSJISURJT0NHUkVQT1JUIiwJMHg0ODA3fSwKKwl7ImxpbnV4L2hpZGRldi5oIiwJIkhJRElPQ1NSRVBPUlQiLAkweDQ4MDh9LAorCXsibGludXgvaGlkZGV2LmgiLAkiSElESU9DR1JFUE9SVElORk8iLAkweDQ4MDl9LAorCXsibGludXgvaGlkZGV2LmgiLAkiSElESU9DR0ZJRUxESU5GTyIsCTB4NDgwYX0sCisJeyJsaW51eC9oaWRkZXYuaCIsCSJISURJT0NHVVNBR0UiLAkweDQ4MGJ9LAorCXsibGludXgvaGlkZGV2LmgiLAkiSElESU9DU1VTQUdFIiwJMHg0ODBjfSwKKwl7ImxpbnV4L2hpZGRldi5oIiwJIkhJRElPQ0dVQ09ERSIsCTB4NDgwZH0sCisJeyJsaW51eC9oaWRkZXYuaCIsCSJISURJT0NHRkxBRyIsCTB4NDgwZX0sCisJeyJsaW51eC9oaWRkZXYuaCIsCSJISURJT0NTRkxBRyIsCTB4NDgwZn0sCisJeyJsaW51eC9oaWRkZXYuaCIsCSJISURJT0NHQ09MTEVDVElPTklOREVYIiwJMHg0ODEwfSwKKwl7ImxpbnV4L2hpZGRldi5oIiwJIkhJRElPQ0dDT0xMRUNUSU9OSU5GTyIsCTB4NDgxMX0sCisJeyJsaW51eC9oaWRkZXYuaCIsCSJISURJT0NHVVNBR0VTIiwJMHg0ODEzfSwKKwl7ImxpbnV4L2hpZGRldi5oIiwJIkhJRElPQ1NVU0FHRVMiLAkweDQ4MTR9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRBSUYiLAkweDQ5MDF9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRESUYiLAkweDQ5MDJ9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRTQ0YiLAkweDQ5MDN9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRHQ0YiLAkweDQ5MDR9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRBTk0iLAkweDQ5MDV9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRETk0iLAkweDQ5MDZ9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRHTk0iLAkweDQ5MDd9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NHRVRTRVQiLAkweDQ5MDh9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NTRVRTRVQiLAkweDQ5MDl9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NTRVRWRVIiLAkweDQ5MGF9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRIVVAiLAkweDQ5MGJ9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NTRVRHU1QiLAkweDQ5MGN9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NTRVRCUkoiLAkweDQ5MGR9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NTSUdQUkYiLAkweDQ5MGV9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NHRVRQUkYiLAkweDQ5MGZ9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NTRVRQUkYiLAkweDQ5MTB9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NHRVRNQVAiLAkweDQ5MTF9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NTRVRNQVAiLAkweDQ5MTJ9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRBU0wiLAkweDQ5MTN9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRESUwiLAkweDQ5MTR9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NHRVRDUFMiLAkweDQ5MTV9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NHRVREVlIiLAkweDQ5MTZ9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRMQ1IiLAkweDQ5MTd9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVREV1JTRVQiLAkweDQ5MTh9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRBTE4iLAkweDQ5MjB9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRETE4iLAkweDQ5MjF9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRHUE4iLAkweDQ5MjJ9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NEQkdWQVIiLAkweDQ5N2Z9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NEUlZDVEwiLAkweDQ5ODB9LAorCXsibGludXgva2QuaCIsCSJLSU9DU09VTkQiLAkweDRiMmZ9LAorCXsibGludXgva2QuaCIsCSJLRE1LVE9ORSIsCTB4NGIzMH0sCisJeyJsaW51eC9rZC5oIiwJIktER0VUTEVEIiwJMHg0YjMxfSwKKwl7ImxpbnV4L2tkLmgiLAkiS0RTRVRMRUQiLAkweDRiMzJ9LAorCXsibGludXgva2QuaCIsCSJLREdLQlRZUEUiLAkweDRiMzN9LAorCXsibGludXgva2QuaCIsCSJLREFERElPIiwJMHg0YjM0fSwKKwl7ImxpbnV4L2tkLmgiLAkiS0RERUxJTyIsCTB4NGIzNX0sCisJeyJsaW51eC9rZC5oIiwJIktERU5BQklPIiwJMHg0YjM2fSwKKwl7ImxpbnV4L2tkLmgiLAkiS0RESVNBQklPIiwJMHg0YjM3fSwKKwl7ImxpbnV4L2tkLmgiLAkiS0RTRVRNT0RFIiwJMHg0YjNhfSwKKwl7ImxpbnV4L2tkLmgiLAkiS0RHRVRNT0RFIiwJMHg0YjNifSwKKwl7ImxpbnV4L2tkLmgiLAkiS0RNQVBESVNQIiwJMHg0YjNjfSwKKwl7ImxpbnV4L2tkLmgiLAkiS0RVTk1BUERJU1AiLAkweDRiM2R9LAorCXsibGludXgva2QuaCIsCSJHSU9fU0NSTk1BUCIsCTB4NGI0MH0sCisJeyJsaW51eC9rZC5oIiwJIlBJT19TQ1JOTUFQIiwJMHg0YjQxfSwKKwl7ImxpbnV4L2tkLmgiLAkiS0RHS0JNT0RFIiwJMHg0YjQ0fSwKKwl7ImxpbnV4L2tkLmgiLAkiS0RTS0JNT0RFIiwJMHg0YjQ1fSwKKwl7ImxpbnV4L2tkLmgiLAkiS0RHS0JFTlQiLAkweDRiNDZ9LAorCXsibGludXgva2QuaCIsCSJLRFNLQkVOVCIsCTB4NGI0N30sCisJeyJsaW51eC9rZC5oIiwJIktER0tCU0VOVCIsCTB4NGI0OH0sCisJeyJsaW51eC9rZC5oIiwJIktEU0tCU0VOVCIsCTB4NGI0OX0sCisJeyJsaW51eC9rZC5oIiwJIktER0tCRElBQ1IiLAkweDRiNGF9LAorCXsibGludXgva2QuaCIsCSJLRFNLQkRJQUNSIiwJMHg0YjRifSwKKwl7ImxpbnV4L2tkLmgiLAkiS0RHRVRLRVlDT0RFIiwJMHg0YjRjfSwKKwl7ImxpbnV4L2tkLmgiLAkiS0RTRVRLRVlDT0RFIiwJMHg0YjRkfSwKKwl7ImxpbnV4L2tkLmgiLAkiS0RTSUdBQ0NFUFQiLAkweDRiNGV9LAorCXsibGludXgva2QuaCIsCSJLREtCRFJFUCIsCTB4NGI1Mn0sCisJeyJsaW51eC9rZC5oIiwJIkdJT19GT05UIiwJMHg0YjYwfSwKKwl7ImxpbnV4L2tkLmgiLAkiUElPX0ZPTlQiLAkweDRiNjF9LAorCXsibGludXgva2QuaCIsCSJLREdLQk1FVEEiLAkweDRiNjJ9LAorCXsibGludXgva2QuaCIsCSJLRFNLQk1FVEEiLAkweDRiNjN9LAorCXsibGludXgva2QuaCIsCSJLREdLQkxFRCIsCTB4NGI2NH0sCisJeyJsaW51eC9rZC5oIiwJIktEU0tCTEVEIiwJMHg0YjY1fSwKKwl7ImxpbnV4L2tkLmgiLAkiR0lPX1VOSU1BUCIsCTB4NGI2Nn0sCisJeyJsaW51eC9rZC5oIiwJIlBJT19VTklNQVAiLAkweDRiNjd9LAorCXsibGludXgva2QuaCIsCSJQSU9fVU5JTUFQQ0xSIiwJMHg0YjY4fSwKKwl7ImxpbnV4L2tkLmgiLAkiR0lPX1VOSVNDUk5NQVAiLAkweDRiNjl9LAorCXsibGludXgva2QuaCIsCSJQSU9fVU5JU0NSTk1BUCIsCTB4NGI2YX0sCisJeyJsaW51eC9rZC5oIiwJIkdJT19GT05UWCIsCTB4NGI2Yn0sCisJeyJsaW51eC9rZC5oIiwJIlBJT19GT05UWCIsCTB4NGI2Y30sCisJeyJsaW51eC9rZC5oIiwJIlBJT19GT05UUkVTRVQiLAkweDRiNmR9LAorCXsibGludXgva2QuaCIsCSJHSU9fQ01BUCIsCTB4NGI3MH0sCisJeyJsaW51eC9rZC5oIiwJIlBJT19DTUFQIiwJMHg0YjcxfSwKKwl7ImxpbnV4L2tkLmgiLAkiS0RGT05UT1AiLAkweDRiNzJ9LAorCXsibGludXgva2QuaCIsCSJLREdLQkRJQUNSVUMiLAkweDRiZmF9LAorCXsibGludXgva2QuaCIsCSJLRFNLQkRJQUNSVUMiLAkweDRiZmJ9LAorCXsiYXNtL210cnIuaCIsCSJNVFJSSU9DX0FERF9FTlRSWSIsCTB4NGQwMH0sCisJeyJhc20vbWNlLmgiLAkiTUNFX0dFVF9SRUNPUkRfTEVOIiwJMHg0ZDAxfSwKKwl7ImFzbS9tdHJyLmgiLAkiTVRSUklPQ19TRVRfRU5UUlkiLAkweDRkMDF9LAorCXsiYXNtL21jZS5oIiwJIk1DRV9HRVRfTE9HX0xFTiIsCTB4NGQwMn0sCisJeyJhc20vbXRyci5oIiwJIk1UUlJJT0NfREVMX0VOVFJZIiwJMHg0ZDAyfSwKKwl7ImFzbS9tY2UuaCIsCSJNQ0VfR0VUQ0xFQVJfRkxBR1MiLAkweDRkMDN9LAorCXsiYXNtL210cnIuaCIsCSJNVFJSSU9DX0dFVF9FTlRSWSIsCTB4NGQwM30sCisJeyJhc20vbXRyci5oIiwJIk1UUlJJT0NfS0lMTF9FTlRSWSIsCTB4NGQwNH0sCisJeyJhc20vbXRyci5oIiwJIk1UUlJJT0NfQUREX1BBR0VfRU5UUlkiLAkweDRkMDV9LAorCXsiYXNtL210cnIuaCIsCSJNVFJSSU9DX1NFVF9QQUdFX0VOVFJZIiwJMHg0ZDA2fSwKKwl7ImFzbS9tdHJyLmgiLAkiTVRSUklPQ19ERUxfUEFHRV9FTlRSWSIsCTB4NGQwN30sCisJeyJhc20vbXRyci5oIiwJIk1UUlJJT0NfR0VUX1BBR0VfRU5UUlkiLAkweDRkMDh9LAorCXsiYXNtL210cnIuaCIsCSJNVFJSSU9DX0tJTExfUEFHRV9FTlRSWSIsCTB4NGQwOX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9NSVhFUl9JTkZPIiwJMHg0ZDY1fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNPVU5EX09MRF9NSVhFUl9JTkZPIiwJMHg0ZDY1fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNPVU5EX01JWEVSX0FDQ0VTUyIsCTB4NGQ2Nn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9NSVhFUl9BR0MiLAkweDRkNjd9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfTUlYRVJfM0RTRSIsCTB4NGQ2OH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9NSVhFUl9QUklWQVRFMSIsCTB4NGQ2Zn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9NSVhFUl9QUklWQVRFMiIsCTB4NGQ3MH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9NSVhFUl9QUklWQVRFMyIsCTB4NGQ3MX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9NSVhFUl9QUklWQVRFNCIsCTB4NGQ3Mn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9NSVhFUl9QUklWQVRFNSIsCTB4NGQ3M30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9NSVhFUl9HRVRMRVZFTFMiLAkweDRkNzR9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfTUlYRVJfU0VUTEVWRUxTIiwJMHg0ZDc1fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIk9TU19HRVRWRVJTSU9OIiwJMHg0ZDc2fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfUkVTRVQiLAkweDUwMDB9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9TWU5DIiwJMHg1MDAxfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfU1BFRUQiLAkweDUwMDJ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfUENNX1JFQURfUkFURSIsCTB4NTAwMn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX1NURVJFTyIsCTB4NTAwM30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX0dFVEJMS1NJWkUiLAkweDUwMDR9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9TRVRGTVQiLAkweDUwMDV9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfUENNX1JFQURfQklUUyIsCTB4NTAwNX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX0NIQU5ORUxTIiwJMHg1MDA2fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNPVU5EX1BDTV9SRUFEX0NIQU5ORUxTIiwJMHg1MDA2fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNPVU5EX1BDTV9SRUFEX0ZJTFRFUiIsCTB4NTAwN30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9QQ01fV1JJVEVfRklMVEVSIiwJMHg1MDA3fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfUE9TVCIsCTB4NTAwOH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX1NVQkRJVklERSIsCTB4NTAwOX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX1NFVEZSQUdNRU5UIiwJMHg1MDBhfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfR0VURk1UUyIsCTB4NTAwYn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX0dFVE9TUEFDRSIsCTB4NTAwY30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX0dFVElTUEFDRSIsCTB4NTAwZH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX05PTkJMT0NLIiwJMHg1MDBlfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfR0VUQ0FQUyIsCTB4NTAwZn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX0dFVFRSSUdHRVIiLAkweDUwMTB9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9TRVRUUklHR0VSIiwJMHg1MDEwfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfR0VUSVBUUiIsCTB4NTAxMX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX0dFVE9QVFIiLAkweDUwMTJ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9NQVBJTkJVRiIsCTB4NTAxM30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX01BUE9VVEJVRiIsCTB4NTAxNH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX1NFVFNZTkNSTyIsCTB4NTAxNX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX1NFVERVUExFWCIsCTB4NTAxNn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX0dFVE9ERUxBWSIsCTB4NTAxN30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX1BST0ZJTEUiLAkweDUwMTd9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9HRVRDSEFOTkVMTUFTSyIsCTB4NTA0MH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX0JJTkRfQ0hBTk5FTCIsCTB4NTA0MX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX1NFVFNQRElGIiwJMHg1MDQyfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfR0VUU1BESUYiLAkweDUwNDN9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NFUV9SRVNFVCIsCTB4NTEwMH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU0VRX1NZTkMiLAkweDUxMDF9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NZTlRIX0lORk8iLAkweDUxMDJ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NFUV9DVFJMUkFURSIsCTB4NTEwM30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU0VRX0dFVE9VVENPVU5UIiwJMHg1MTA0fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TRVFfR0VUSU5DT1VOVCIsCTB4NTEwNX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU0VRX1BFUkNNT0RFIiwJMHg1MTA2fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9GTV9MT0FEX0lOU1RSIiwJMHg1MTA3fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TRVFfVEVTVE1JREkiLAkweDUxMDh9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NFUV9SRVNFVFNBTVBMRVMiLAkweDUxMDl9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NFUV9OUlNZTlRIUyIsCTB4NTEwYX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU0VRX05STUlESVMiLAkweDUxMGJ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX01JRElfSU5GTyIsCTB4NTEwY30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU0VRX1RIUkVTSE9MRCIsCTB4NTEwZH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU1lOVEhfTUVNQVZMIiwJMHg1MTBlfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9GTV80T1BfRU5BQkxFIiwJMHg1MTBmfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TRVFfUEFOSUMiLAkweDUxMTF9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NFUV9PVVRPRkJBTkQiLAkweDUxMTJ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NFUV9HRVRUSU1FIiwJMHg1MTEzfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TWU5USF9JRCIsCTB4NTExNH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU1lOVEhfQ09OVFJPTCIsCTB4NTExNX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU1lOVEhfUkVNT1ZFU0FNUExFIiwJMHg1MTE2fSwKKwl7ImxpbnV4L3JhbmRvbS5oIiwJIlJOREdFVEVOVENOVCIsCTB4NTIwMH0sCisJeyJsaW51eC9yZmtpbGwuaCIsCSJSRktJTExfSU9DVExfTk9JTlBVVCIsCTB4NTIwMX0sCisJeyJsaW51eC9yYW5kb20uaCIsCSJSTkRBRERUT0VOVENOVCIsCTB4NTIwMX0sCisJeyJsaW51eC9yYW5kb20uaCIsCSJSTkRHRVRQT09MIiwJMHg1MjAyfSwKKwl7ImxpbnV4L3JhbmRvbS5oIiwJIlJOREFEREVOVFJPUFkiLAkweDUyMDN9LAorCXsibGludXgvcmFuZG9tLmgiLAkiUk5EWkFQRU5UQ05UIiwJMHg1MjA0fSwKKwl7ImxpbnV4L3JhbmRvbS5oIiwJIlJORENMRUFSUE9PTCIsCTB4NTIwNn0sCisJeyJsaW51eC9jZHJvbS5oIiwJIkNEUk9NUEFVU0UiLAkweDUzMDF9LAorCXsibGludXgvY2Ryb20uaCIsCSJDRFJPTVJFU1VNRSIsCTB4NTMwMn0sCisJeyJsaW51eC9jZHJvbS5oIiwJIkNEUk9NUExBWU1TRiIsCTB4NTMwM30sCisJeyJsaW51eC9jZHJvbS5oIiwJIkNEUk9NUExBWVRSS0lORCIsCTB4NTMwNH0sCisJeyJsaW51eC9jZHJvbS5oIiwJIkNEUk9NUkVBRFRPQ0hEUiIsCTB4NTMwNX0sCisJeyJsaW51eC9jZHJvbS5oIiwJIkNEUk9NUkVBRFRPQ0VOVFJZIiwJMHg1MzA2fSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiQ0RST01TVE9QIiwJMHg1MzA3fSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiQ0RST01TVEFSVCIsCTB4NTMwOH0sCisJeyJsaW51eC9jZHJvbS5oIiwJIkNEUk9NRUpFQ1QiLAkweDUzMDl9LAorCXsibGludXgvY2Ryb20uaCIsCSJDRFJPTVZPTENUUkwiLAkweDUzMGF9LAorCXsibGludXgvY2Ryb20uaCIsCSJDRFJPTVNVQkNITkwiLAkweDUzMGJ9LAorCXsibGludXgvY2Ryb20uaCIsCSJDRFJPTVJFQURNT0RFMiIsCTB4NTMwY30sCisJeyJsaW51eC9jZHJvbS5oIiwJIkNEUk9NUkVBRE1PREUxIiwJMHg1MzBkfSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiQ0RST01SRUFEQVVESU8iLAkweDUzMGV9LAorCXsibGludXgvY2Ryb20uaCIsCSJDRFJPTUVKRUNUX1NXIiwJMHg1MzBmfSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiQ0RST01NVUxUSVNFU1NJT04iLAkweDUzMTB9LAorCXsibGludXgvY2Ryb20uaCIsCSJDRFJPTV9HRVRfTUNOIiwJMHg1MzExfSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiQ0RST01SRVNFVCIsCTB4NTMxMn0sCisJeyJsaW51eC9jZHJvbS5oIiwJIkNEUk9NVk9MUkVBRCIsCTB4NTMxM30sCisJeyJsaW51eC9jZHJvbS5oIiwJIkNEUk9NUkVBRFJBVyIsCTB4NTMxNH0sCisJeyJsaW51eC9jZHJvbS5oIiwJIkNEUk9NUkVBRENPT0tFRCIsCTB4NTMxNX0sCisJeyJsaW51eC9jZHJvbS5oIiwJIkNEUk9NU0VFSyIsCTB4NTMxNn0sCisJeyJsaW51eC9jZHJvbS5oIiwJIkNEUk9NUExBWUJMSyIsCTB4NTMxN30sCisJeyJsaW51eC9jZHJvbS5oIiwJIkNEUk9NUkVBREFMTCIsCTB4NTMxOH0sCisJeyJsaW51eC9jZHJvbS5oIiwJIkNEUk9NQ0xPU0VUUkFZIiwJMHg1MzE5fSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiQ0RST01HRVRTUElORE9XTiIsCTB4NTMxZH0sCisJeyJsaW51eC9jZHJvbS5oIiwJIkNEUk9NU0VUU1BJTkRPV04iLAkweDUzMWV9LAorCXsibGludXgvY2Ryb20uaCIsCSJDRFJPTV9TRVRfT1BUSU9OUyIsCTB4NTMyMH0sCisJeyJsaW51eC9jZHJvbS5oIiwJIkNEUk9NX0NMRUFSX09QVElPTlMiLAkweDUzMjF9LAorCXsibGludXgvY2Ryb20uaCIsCSJDRFJPTV9TRUxFQ1RfU1BFRUQiLAkweDUzMjJ9LAorCXsibGludXgvY2Ryb20uaCIsCSJDRFJPTV9TRUxFQ1RfRElTQyIsCTB4NTMyM30sCisJeyJsaW51eC9jZHJvbS5oIiwJIkNEUk9NX01FRElBX0NIQU5HRUQiLAkweDUzMjV9LAorCXsibGludXgvY2Ryb20uaCIsCSJDRFJPTV9EUklWRV9TVEFUVVMiLAkweDUzMjZ9LAorCXsibGludXgvY2Ryb20uaCIsCSJDRFJPTV9ESVNDX1NUQVRVUyIsCTB4NTMyN30sCisJeyJsaW51eC9jZHJvbS5oIiwJIkNEUk9NX0NIQU5HRVJfTlNMT1RTIiwJMHg1MzI4fSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiQ0RST01fTE9DS0RPT1IiLAkweDUzMjl9LAorCXsibGludXgvY2Ryb20uaCIsCSJDRFJPTV9ERUJVRyIsCTB4NTMzMH0sCisJeyJsaW51eC9jZHJvbS5oIiwJIkNEUk9NX0dFVF9DQVBBQklMSVRZIiwJMHg1MzMxfSwKKwl7InNjc2kvc2NzaV9pb2N0bC5oIiwJIlNDU0lfSU9DVExfRE9PUkxPQ0siLAkweDUzODB9LAorCXsic2NzaS9zY3NpX2lvY3RsLmgiLAkiU0NTSV9JT0NUTF9ET09SVU5MT0NLIiwJMHg1MzgxfSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiQ0RST01BVURJT0JVRlNJWiIsCTB4NTM4Mn0sCisJeyJzY3NpL3Njc2kuaCIsCSJTQ1NJX0lPQ1RMX0dFVF9JRExVTiIsCTB4NTM4Mn0sCisJeyJzY3NpL3Njc2kuaCIsCSJTQ1NJX0lPQ1RMX1RBR0dFRF9FTkFCTEUiLAkweDUzODN9LAorCXsic2NzaS9zY3NpLmgiLAkiU0NTSV9JT0NUTF9UQUdHRURfRElTQUJMRSIsCTB4NTM4NH0sCisJeyJzY3NpL3Njc2kuaCIsCSJTQ1NJX0lPQ1RMX1BST0JFX0hPU1QiLAkweDUzODV9LAorCXsic2NzaS9zY3NpLmgiLAkiU0NTSV9JT0NUTF9HRVRfQlVTX05VTUJFUiIsCTB4NTM4Nn0sCisJeyJsaW51eC9jZHJvbS5oIiwJIkRWRF9SRUFEX1NUUlVDVCIsCTB4NTM5MH0sCisJeyJsaW51eC9jZHJvbS5oIiwJIkRWRF9XUklURV9TVFJVQ1QiLAkweDUzOTF9LAorCXsibGludXgvY2Ryb20uaCIsCSJEVkRfQVVUSCIsCTB4NTM5Mn0sCisJeyJsaW51eC9jZHJvbS5oIiwJIkNEUk9NX1NFTkRfUEFDS0VUIiwJMHg1MzkzfSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiQ0RST01fTkVYVF9XUklUQUJMRSIsCTB4NTM5NH0sCisJeyJsaW51eC9jZHJvbS5oIiwJIkNEUk9NX0xBU1RfV1JJVFRFTiIsCTB4NTM5NX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfVE1SX1RJTUVCQVNFIiwJMHg1NDAxfSwKKwl7ImFzbS1nZW5lcmljL2lvY3Rscy5oIiwJIlRDR0VUUyIsCTB4NTQwMX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfVE1SX1NUQVJUIiwJMHg1NDAyfSwKKwl7ImFzbS1nZW5lcmljL2lvY3Rscy5oIiwJIlRDU0VUUyIsCTB4NTQwMn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfVE1SX1NUT1AiLAkweDU0MDN9LAorCXsiYXNtLWdlbmVyaWMvaW9jdGxzLmgiLAkiVENTRVRTVyIsCTB4NTQwM30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfVE1SX0NPTlRJTlVFIiwJMHg1NDA0fSwKKwl7ImFzbS1nZW5lcmljL2lvY3Rscy5oIiwJIlRDU0VUU0YiLAkweDU0MDR9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1RNUl9URU1QTyIsCTB4NTQwNX0sCisJeyJhc20tZ2VuZXJpYy9pb2N0bHMuaCIsCSJUQ0dFVEEiLAkweDU0MDV9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1RNUl9TT1VSQ0UiLAkweDU0MDZ9LAorCXsiYXNtLWdlbmVyaWMvaW9jdGxzLmgiLAkiVENTRVRBIiwJMHg1NDA2fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9UTVJfTUVUUk9OT01FIiwJMHg1NDA3fSwKKwl7ImFzbS1nZW5lcmljL2lvY3Rscy5oIiwJIlRDU0VUQVciLAkweDU0MDd9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1RNUl9TRUxFQ1QiLAkweDU0MDh9LAorCXsiYXNtLWdlbmVyaWMvaW9jdGxzLmgiLAkiVENTRVRBRiIsCTB4NTQwOH0sCisJeyJhc20tZ2VuZXJpYy9pb2N0bHMuaCIsCSJUQ1NCUksiLAkweDU0MDl9LAorCXsiYXNtLWdlbmVyaWMvaW9jdGxzLmgiLAkiVENYT05DIiwJMHg1NDBhfSwKKwl7ImFzbS1nZW5lcmljL2lvY3Rscy5oIiwJIlRDRkxTSCIsCTB4NTQwYn0sCisJeyJhc20tZ2VuZXJpYy9pb2N0bHMuaCIsCSJUSU9DRVhDTCIsCTB4NTQwY30sCisJeyJhc20tZ2VuZXJpYy9pb2N0bHMuaCIsCSJUSU9DTlhDTCIsCTB4NTQwZH0sCisJeyJhc20tZ2VuZXJpYy9pb2N0bHMuaCIsCSJUSU9DU0NUVFkiLAkweDU0MGV9LAorCXsiYXNtLWdlbmVyaWMvaW9jdGxzLmgiLAkiVElPQ0dQR1JQIiwJMHg1NDBmfSwKKwl7ImFzbS1nZW5lcmljL2lvY3Rscy5oIiwJIlRJT0NTUEdSUCIsCTB4NTQxMH0sCisJeyJhc20tZ2VuZXJpYy9pb2N0bHMuaCIsCSJUSU9DT1VUUSIsCTB4NTQxMX0sCisJeyJhc20tZ2VuZXJpYy9pb2N0bHMuaCIsCSJUSU9DU1RJIiwJMHg1NDEyfSwKKwl7ImFzbS1nZW5lcmljL2lvY3Rscy5oIiwJIlRJT0NHV0lOU1oiLAkweDU0MTN9LAorCXsiYXNtLWdlbmVyaWMvaW9jdGxzLmgiLAkiVElPQ1NXSU5TWiIsCTB4NTQxNH0sCisJeyJhc20tZ2VuZXJpYy9pb2N0bHMuaCIsCSJUSU9DTUdFVCIsCTB4NTQxNX0sCisJeyJhc20tZ2VuZXJpYy9pb2N0bHMuaCIsCSJUSU9DTUJJUyIsCTB4NTQxNn0sCisJeyJhc20tZ2VuZXJpYy9pb2N0bHMuaCIsCSJUSU9DTUJJQyIsCTB4NTQxN30sCisJeyJhc20tZ2VuZXJpYy9pb2N0bHMuaCIsCSJUSU9DTVNFVCIsCTB4NTQxOH0sCisJeyJhc20tZ2VuZXJpYy9pb2N0bHMuaCIsCSJUSU9DR1NPRlRDQVIiLAkweDU0MTl9LAorCXsiYXNtLWdlbmVyaWMvaW9jdGxzLmgiLAkiVElPQ1NTT0ZUQ0FSIiwJMHg1NDFhfSwKKwl7ImFzbS1nZW5lcmljL2lvY3Rscy5oIiwJIkZJT05SRUFEIiwJMHg1NDFifSwKKwl7ImFzbS1nZW5lcmljL2lvY3Rscy5oIiwJIlRJT0NMSU5VWCIsCTB4NTQxY30sCisJeyJhc20tZ2VuZXJpYy9pb2N0bHMuaCIsCSJUSU9DQ09OUyIsCTB4NTQxZH0sCisJeyJhc20tZ2VuZXJpYy9pb2N0bHMuaCIsCSJUSU9DR1NFUklBTCIsCTB4NTQxZX0sCisJeyJhc20tZ2VuZXJpYy9pb2N0bHMuaCIsCSJUSU9DU1NFUklBTCIsCTB4NTQxZn0sCisJeyJhc20tZ2VuZXJpYy9pb2N0bHMuaCIsCSJUSU9DUEtUIiwJMHg1NDIwfSwKKwl7ImFzbS1nZW5lcmljL2lvY3Rscy5oIiwJIkZJT05CSU8iLAkweDU0MjF9LAorCXsiYXNtLWdlbmVyaWMvaW9jdGxzLmgiLAkiVElPQ05PVFRZIiwJMHg1NDIyfSwKKwl7ImFzbS1nZW5lcmljL2lvY3Rscy5oIiwJIlRJT0NTRVREIiwJMHg1NDIzfSwKKwl7ImFzbS1nZW5lcmljL2lvY3Rscy5oIiwJIlRJT0NHRVREIiwJMHg1NDI0fSwKKwl7ImFzbS1nZW5lcmljL2lvY3Rscy5oIiwJIlRDU0JSS1AiLAkweDU0MjV9LAorCXsiYXNtLWdlbmVyaWMvaW9jdGxzLmgiLAkiVElPQ1NCUksiLAkweDU0Mjd9LAorCXsiYXNtLWdlbmVyaWMvaW9jdGxzLmgiLAkiVElPQ0NCUksiLAkweDU0Mjh9LAorCXsiYXNtLWdlbmVyaWMvaW9jdGxzLmgiLAkiVElPQ0dTSUQiLAkweDU0Mjl9LAorCXsiYXNtLWdlbmVyaWMvaW9jdGxzLmgiLAkiVENHRVRTMiIsCTB4NTQyYX0sCisJeyJhc20tZ2VuZXJpYy9pb2N0bHMuaCIsCSJUQ1NFVFMyIiwJMHg1NDJifSwKKwl7ImFzbS1nZW5lcmljL2lvY3Rscy5oIiwJIlRDU0VUU1cyIiwJMHg1NDJjfSwKKwl7ImFzbS1nZW5lcmljL2lvY3Rscy5oIiwJIlRDU0VUU0YyIiwJMHg1NDJkfSwKKwl7ImFzbS1nZW5lcmljL2lvY3Rscy5oIiwJIlRJT0NHUlM0ODUiLAkweDU0MmV9LAorCXsiYXNtLWdlbmVyaWMvaW9jdGxzLmgiLAkiVElPQ1NSUzQ4NSIsCTB4NTQyZn0sCisJeyJhc20tZ2VuZXJpYy9pb2N0bHMuaCIsCSJUSU9DR1BUTiIsCTB4NTQzMH0sCisJeyJhc20tZ2VuZXJpYy9pb2N0bHMuaCIsCSJUSU9DU1BUTENLIiwJMHg1NDMxfSwKKwl7ImFzbS1nZW5lcmljL2lvY3Rscy5oIiwJIlRDR0VUWCIsCTB4NTQzMn0sCisJeyJhc20tZ2VuZXJpYy9pb2N0bHMuaCIsCSJUQ1NFVFgiLAkweDU0MzN9LAorCXsiYXNtLWdlbmVyaWMvaW9jdGxzLmgiLAkiVENTRVRYRiIsCTB4NTQzNH0sCisJeyJhc20tZ2VuZXJpYy9pb2N0bHMuaCIsCSJUQ1NFVFhXIiwJMHg1NDM1fSwKKwl7ImFzbS1nZW5lcmljL2lvY3Rscy5oIiwJIkZJT05DTEVYIiwJMHg1NDUwfSwKKwl7ImFzbS1nZW5lcmljL2lvY3Rscy5oIiwJIkZJT0NMRVgiLAkweDU0NTF9LAorCXsiYXNtLWdlbmVyaWMvaW9jdGxzLmgiLAkiRklPQVNZTkMiLAkweDU0NTJ9LAorCXsiYXNtLWdlbmVyaWMvaW9jdGxzLmgiLAkiVElPQ1NFUkNPTkZJRyIsCTB4NTQ1M30sCisJeyJhc20tZ2VuZXJpYy9pb2N0bHMuaCIsCSJUSU9DU0VSR1dJTEQiLAkweDU0NTR9LAorCXsiYXNtLWdlbmVyaWMvaW9jdGxzLmgiLAkiVElPQ1NFUlNXSUxEIiwJMHg1NDU1fSwKKwl7ImFzbS1nZW5lcmljL2lvY3Rscy5oIiwJIlRJT0NHTENLVFJNSU9TIiwJMHg1NDU2fSwKKwl7ImFzbS1nZW5lcmljL2lvY3Rscy5oIiwJIlRJT0NTTENLVFJNSU9TIiwJMHg1NDU3fSwKKwl7ImFzbS1nZW5lcmljL2lvY3Rscy5oIiwJIlRJT0NTRVJHU1RSVUNUIiwJMHg1NDU4fSwKKwl7ImFzbS1nZW5lcmljL2lvY3Rscy5oIiwJIlRJT0NTRVJHRVRMU1IiLAkweDU0NTl9LAorCXsiYXNtLWdlbmVyaWMvaW9jdGxzLmgiLAkiVElPQ1NFUkdFVE1VTFRJIiwJMHg1NDVhfSwKKwl7ImFzbS1nZW5lcmljL2lvY3Rscy5oIiwJIlRJT0NTRVJTRVRNVUxUSSIsCTB4NTQ1Yn0sCisJeyJhc20tZ2VuZXJpYy9pb2N0bHMuaCIsCSJUSU9DTUlXQUlUIiwJMHg1NDVjfSwKKwl7ImFzbS1nZW5lcmljL2lvY3Rscy5oIiwJIlRJT0NHSUNPVU5UIiwJMHg1NDVkfSwKKwl7ImFzbS1nZW5lcmljL2lvY3Rscy5oIiwJIlRJT0NHSEFZRVNFU1AiLAkweDU0NWV9LAorCXsiYXNtLWdlbmVyaWMvaW9jdGxzLmgiLAkiVElPQ1NIQVlFU0VTUCIsCTB4NTQ1Zn0sCisJeyJhc20tZ2VuZXJpYy9pb2N0bHMuaCIsCSJGSU9RU0laRSIsCTB4NTQ2MH0sCisJeyJsaW51eC9pZl90dW4uaCIsCSJUVU5TRVROT0NTVU0iLAkweDU0Yzh9LAorCXsibGludXgvaWZfdHVuLmgiLAkiVFVOU0VUREVCVUciLAkweDU0Yzl9LAorCXsibGludXgvaWZfdHVuLmgiLAkiVFVOU0VUSUZGIiwJMHg1NGNhfSwKKwl7ImxpbnV4L2lmX3R1bi5oIiwJIlRVTlNFVFBFUlNJU1QiLAkweDU0Y2J9LAorCXsibGludXgvaWZfdHVuLmgiLAkiVFVOU0VUT1dORVIiLAkweDU0Y2N9LAorCXsibGludXgvaWZfdHVuLmgiLAkiVFVOU0VUTElOSyIsCTB4NTRjZH0sCisJeyJsaW51eC9pZl90dW4uaCIsCSJUVU5TRVRHUk9VUCIsCTB4NTRjZX0sCisJeyJsaW51eC9pZl90dW4uaCIsCSJUVU5HRVRGRUFUVVJFUyIsCTB4NTRjZn0sCisJeyJsaW51eC9pZl90dW4uaCIsCSJUVU5TRVRPRkZMT0FEIiwJMHg1NGQwfSwKKwl7ImxpbnV4L2lmX3R1bi5oIiwJIlRVTlNFVFRYRklMVEVSIiwJMHg1NGQxfSwKKwl7ImxpbnV4L2lmX3R1bi5oIiwJIlRVTkdFVElGRiIsCTB4NTRkMn0sCisJeyJsaW51eC9pZl90dW4uaCIsCSJUVU5HRVRTTkRCVUYiLAkweDU0ZDN9LAorCXsibGludXgvaWZfdHVuLmgiLAkiVFVOU0VUU05EQlVGIiwJMHg1NGQ0fSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX0NPTlRST0wiLAkweDU1MDB9LAorCXsibGludXgvdXNiZGV2aWNlX2ZzLmgiLAkiVVNCREVWRlNfQ09OVFJPTDMyIiwJMHg1NTAwfSwKKwl7ImxpbnV4L3VpbnB1dC5oIiwJIlVJX0RFVl9DUkVBVEUiLAkweDU1MDF9LAorCXsibGludXgvdWlucHV0LmgiLAkiVUlfREVWX0RFU1RST1kiLAkweDU1MDJ9LAorCXsibGludXgvdXNiZGV2aWNlX2ZzLmgiLAkiVVNCREVWRlNfQlVMSyIsCTB4NTUwMn0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19CVUxLMzIiLAkweDU1MDJ9LAorCXsibGludXgvdXNiZGV2aWNlX2ZzLmgiLAkiVVNCREVWRlNfUkVTRVRFUCIsCTB4NTUwM30sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19TRVRJTlRFUkZBQ0UiLAkweDU1MDR9LAorCXsibGludXgvdXNiZGV2aWNlX2ZzLmgiLAkiVVNCREVWRlNfU0VUQ09ORklHVVJBVElPTiIsCTB4NTUwNX0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19HRVREUklWRVIiLAkweDU1MDh9LAorCXsibGludXgvdXNiZGV2aWNlX2ZzLmgiLAkiVVNCREVWRlNfU1VCTUlUVVJCIiwJMHg1NTBhfSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX1NVQk1JVFVSQjMyIiwJMHg1NTBhfSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX0RJU0NBUkRVUkIiLAkweDU1MGJ9LAorCXsibGludXgvdXNiZGV2aWNlX2ZzLmgiLAkiVVNCREVWRlNfUkVBUFVSQiIsCTB4NTUwY30sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19SRUFQVVJCMzIiLAkweDU1MGN9LAorCXsibGludXgvdXNiZGV2aWNlX2ZzLmgiLAkiVVNCREVWRlNfUkVBUFVSQk5ERUxBWSIsCTB4NTUwZH0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19SRUFQVVJCTkRFTEFZMzIiLAkweDU1MGR9LAorCXsibGludXgvdXNiZGV2aWNlX2ZzLmgiLAkiVVNCREVWRlNfRElTQ1NJR05BTCIsCTB4NTUwZX0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19ESVNDU0lHTkFMMzIiLAkweDU1MGV9LAorCXsibGludXgvdXNiZGV2aWNlX2ZzLmgiLAkiVVNCREVWRlNfQ0xBSU1JTlRFUkZBQ0UiLAkweDU1MGZ9LAorCXsibGludXgvdXNiZGV2aWNlX2ZzLmgiLAkiVVNCREVWRlNfUkVMRUFTRUlOVEVSRkFDRSIsCTB4NTUxMH0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19DT05ORUNUSU5GTyIsCTB4NTUxMX0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19JT0NUTCIsCTB4NTUxMn0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19JT0NUTDMyIiwJMHg1NTEyfSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX0hVQl9QT1JUSU5GTyIsCTB4NTUxM30sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19SRVNFVCIsCTB4NTUxNH0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19DTEVBUl9IQUxUIiwJMHg1NTE1fSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX0RJU0NPTk5FQ1QiLAkweDU1MTZ9LAorCXsibGludXgvdXNiZGV2aWNlX2ZzLmgiLAkiVVNCREVWRlNfQ09OTkVDVCIsCTB4NTUxN30sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19DTEFJTV9QT1JUIiwJMHg1NTE4fSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX1JFTEVBU0VfUE9SVCIsCTB4NTUxOX0sCisJeyJsaW51eC91aW5wdXQuaCIsCSJVSV9TRVRfRVZCSVQiLAkweDU1NjR9LAorCXsibGludXgvdWlucHV0LmgiLAkiVUlfU0VUX0tFWUJJVCIsCTB4NTU2NX0sCisJeyJsaW51eC91aW5wdXQuaCIsCSJVSV9TRVRfUkVMQklUIiwJMHg1NTY2fSwKKwl7ImxpbnV4L3VpbnB1dC5oIiwJIlVJX1NFVF9BQlNCSVQiLAkweDU1Njd9LAorCXsibGludXgvdWlucHV0LmgiLAkiVUlfU0VUX01TQ0JJVCIsCTB4NTU2OH0sCisJeyJsaW51eC91aW5wdXQuaCIsCSJVSV9TRVRfTEVEQklUIiwJMHg1NTY5fSwKKwl7ImxpbnV4L3VpbnB1dC5oIiwJIlVJX1NFVF9TTkRCSVQiLAkweDU1NmF9LAorCXsibGludXgvdWlucHV0LmgiLAkiVUlfU0VUX0ZGQklUIiwJMHg1NTZifSwKKwl7ImxpbnV4L3VpbnB1dC5oIiwJIlVJX1NFVF9QSFlTIiwJMHg1NTZjfSwKKwl7ImxpbnV4L3VpbnB1dC5oIiwJIlVJX1NFVF9TV0JJVCIsCTB4NTU2ZH0sCisJeyJsaW51eC91aW5wdXQuaCIsCSJVSV9CRUdJTl9GRl9VUExPQUQiLAkweDU1Yzh9LAorCXsibGludXgvdWlucHV0LmgiLAkiVUlfRU5EX0ZGX1VQTE9BRCIsCTB4NTVjOX0sCisJeyJsaW51eC91aW5wdXQuaCIsCSJVSV9CRUdJTl9GRl9FUkFTRSIsCTB4NTVjYX0sCisJeyJsaW51eC91aW5wdXQuaCIsCSJVSV9FTkRfRkZfRVJBU0UiLAkweDU1Y2J9LAorCXsibGludXgvdmlkZW9kZXYyLmgiLAkiVklESU9DX1FVRVJZQ0FQIiwJMHg1NjAwfSwKKwl7ImxpbnV4L3Z0LmgiLAkiVlRfT1BFTlFSWSIsCTB4NTYwMH0sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfUkVTRVJWRUQiLAkweDU2MDF9LAorCXsibGludXgvdnQuaCIsCSJWVF9HRVRNT0RFIiwJMHg1NjAxfSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19FTlVNX0ZNVCIsCTB4NTYwMn0sCisJeyJsaW51eC92dC5oIiwJIlZUX1NFVE1PREUiLAkweDU2MDJ9LAorCXsibGludXgvdnQuaCIsCSJWVF9HRVRTVEFURSIsCTB4NTYwM30sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfR19GTVQiLAkweDU2MDR9LAorCXsibGludXgvdnQuaCIsCSJWVF9TRU5EU0lHIiwJMHg1NjA0fSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19TX0ZNVCIsCTB4NTYwNX0sCisJeyJsaW51eC92dC5oIiwJIlZUX1JFTERJU1AiLAkweDU2MDV9LAorCXsibGludXgvdnQuaCIsCSJWVF9BQ1RJVkFURSIsCTB4NTYwNn0sCisJeyJsaW51eC92dC5oIiwJIlZUX1dBSVRBQ1RJVkUiLAkweDU2MDd9LAorCXsibGludXgvdmlkZW9kZXYyLmgiLAkiVklESU9DX1JFUUJVRlMiLAkweDU2MDh9LAorCXsibGludXgvdnQuaCIsCSJWVF9ESVNBTExPQ0FURSIsCTB4NTYwOH0sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfUVVFUllCVUYiLAkweDU2MDl9LAorCXsibGludXgvdnQuaCIsCSJWVF9SRVNJWkUiLAkweDU2MDl9LAorCXsibGludXgvdmlkZW9kZXYyLmgiLAkiVklESU9DX0dfRkJVRiIsCTB4NTYwYX0sCisJeyJsaW51eC92dC5oIiwJIlZUX1JFU0laRVgiLAkweDU2MGF9LAorCXsibGludXgvdmlkZW9kZXYyLmgiLAkiVklESU9DX1NfRkJVRiIsCTB4NTYwYn0sCisJeyJsaW51eC92dC5oIiwJIlZUX0xPQ0tTV0lUQ0giLAkweDU2MGJ9LAorCXsibGludXgvdnQuaCIsCSJWVF9VTkxPQ0tTV0lUQ0giLAkweDU2MGN9LAorCXsibGludXgvdnQuaCIsCSJWVF9HRVRISUZPTlRNQVNLIiwJMHg1NjBkfSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19PVkVSTEFZIiwJMHg1NjBlfSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19PVkVSTEFZX09MRCIsCTB4NTYwZX0sCisJeyJsaW51eC92dC5oIiwJIlZUX1dBSVRFVkVOVCIsCTB4NTYwZX0sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfUUJVRiIsCTB4NTYwZn0sCisJeyJsaW51eC92dC5oIiwJIlZUX1NFVEFDVElWQVRFIiwJMHg1NjBmfSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19EUUJVRiIsCTB4NTYxMX0sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfU1RSRUFNT04iLAkweDU2MTJ9LAorCXsibGludXgvdmlkZW9kZXYyLmgiLAkiVklESU9DX1NUUkVBTU9GRiIsCTB4NTYxM30sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfR19QQVJNIiwJMHg1NjE1fSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19TX1BBUk0iLAkweDU2MTZ9LAorCXsibGludXgvdmlkZW9kZXYyLmgiLAkiVklESU9DX1NfUEFSTV9PTEQiLAkweDU2MTZ9LAorCXsibGludXgvdmlkZW9kZXYyLmgiLAkiVklESU9DX0dfU1REIiwJMHg1NjE3fSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19TX1NURCIsCTB4NTYxOH0sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfRU5VTVNURCIsCTB4NTYxOX0sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfRU5VTUlOUFVUIiwJMHg1NjFhfSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19HX0NUUkwiLAkweDU2MWJ9LAorCXsibGludXgvdmlkZW9kZXYyLmgiLAkiVklESU9DX1NfQ1RSTCIsCTB4NTYxY30sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfU19DVFJMX09MRCIsCTB4NTYxY30sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfR19UVU5FUiIsCTB4NTYxZH0sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfU19UVU5FUiIsCTB4NTYxZX0sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfR19BVURJTyIsCTB4NTYyMX0sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfR19BVURJT19PTEQiLAkweDU2MjF9LAorCXsibGludXgvdmlkZW9kZXYyLmgiLAkiVklESU9DX1NfQVVESU8iLAkweDU2MjJ9LAorCXsibGludXgvdmlkZW9kZXYyLmgiLAkiVklESU9DX1FVRVJZQ1RSTCIsCTB4NTYyNH0sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfUVVFUllNRU5VIiwJMHg1NjI1fSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19HX0lOUFVUIiwJMHg1NjI2fSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19TX0lOUFVUIiwJMHg1NjI3fSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19HX09VVFBVVCIsCTB4NTYyZX0sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfU19PVVRQVVQiLAkweDU2MmZ9LAorCXsibGludXgvdmlkZW9kZXYyLmgiLAkiVklESU9DX0VOVU1PVVRQVVQiLAkweDU2MzB9LAorCXsibGludXgvdmlkZW9kZXYyLmgiLAkiVklESU9DX0dfQVVET1VUIiwJMHg1NjMxfSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19HX0FVRE9VVF9PTEQiLAkweDU2MzF9LAorCXsibGludXgvdmlkZW9kZXYyLmgiLAkiVklESU9DX1NfQVVET1VUIiwJMHg1NjMyfSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19HX01PRFVMQVRPUiIsCTB4NTYzNn0sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfU19NT0RVTEFUT1IiLAkweDU2Mzd9LAorCXsibGludXgvdmlkZW9kZXYyLmgiLAkiVklESU9DX0dfRlJFUVVFTkNZIiwJMHg1NjM4fSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19TX0ZSRVFVRU5DWSIsCTB4NTYzOX0sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfQ1JPUENBUCIsCTB4NTYzYX0sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfQ1JPUENBUF9PTEQiLAkweDU2M2F9LAorCXsibGludXgvdmlkZW9kZXYyLmgiLAkiVklESU9DX0dfQ1JPUCIsCTB4NTYzYn0sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfU19DUk9QIiwJMHg1NjNjfSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19HX0pQRUdDT01QIiwJMHg1NjNkfSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19TX0pQRUdDT01QIiwJMHg1NjNlfSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19RVUVSWVNURCIsCTB4NTYzZn0sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfVFJZX0ZNVCIsCTB4NTY0MH0sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfRU5VTUFVRElPIiwJMHg1NjQxfSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19FTlVNQVVET1VUIiwJMHg1NjQyfSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19HX1BSSU9SSVRZIiwJMHg1NjQzfSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19TX1BSSU9SSVRZIiwJMHg1NjQ0fSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19HX1NMSUNFRF9WQklfQ0FQIiwJMHg1NjQ1fSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19MT0dfU1RBVFVTIiwJMHg1NjQ2fSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19HX0VYVF9DVFJMUyIsCTB4NTY0N30sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfU19FWFRfQ1RSTFMiLAkweDU2NDh9LAorCXsibGludXgvdmlkZW9kZXYyLmgiLAkiVklESU9DX1RSWV9FWFRfQ1RSTFMiLAkweDU2NDl9LAorCXsibGludXgvdmlkZW9kZXYyLmgiLAkiVklESU9DX0VOVU1fRlJBTUVTSVpFUyIsCTB4NTY0YX0sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfRU5VTV9GUkFNRUlOVEVSVkFMUyIsCTB4NTY0Yn0sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfR19FTkNfSU5ERVgiLAkweDU2NGN9LAorCXsibGludXgvdmlkZW9kZXYyLmgiLAkiVklESU9DX0VOQ09ERVJfQ01EIiwJMHg1NjRkfSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19UUllfRU5DT0RFUl9DTUQiLAkweDU2NGV9LAorCXsibGludXgvdmlkZW9kZXYyLmgiLAkiVklESU9DX0RCR19TX1JFR0lTVEVSIiwJMHg1NjRmfSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19EQkdfR19SRUdJU1RFUiIsCTB4NTY1MH0sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfREJHX0dfQ0hJUF9JREVOVCIsCTB4NTY1MX0sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfU19IV19GUkVRX1NFRUsiLAkweDU2NTJ9LAorCXsibGludXgvdmlkZW9kZXYyLmgiLAkiVklESU9DX0VOVU1fRFZfUFJFU0VUUyIsCTB4NTY1M30sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfU19EVl9QUkVTRVQiLAkweDU2NTR9LAorCXsibGludXgvdmlkZW9kZXYyLmgiLAkiVklESU9DX0dfRFZfUFJFU0VUIiwJMHg1NjU1fSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19RVUVSWV9EVl9QUkVTRVQiLAkweDU2NTZ9LAorCXsibGludXgvdmlkZW9kZXYyLmgiLAkiVklESU9DX1NfRFZfVElNSU5HUyIsCTB4NTY1N30sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfR19EVl9USU1JTkdTIiwJMHg1NjU4fSwKKwl7ImxpbnV4L2l2dHZmYi5oIiwJIklWVFZGQl9JT0NfRE1BX0ZSQU1FIiwJMHg1NmMwfSwKKwl7ImxpbnV4L2l2dHYuaCIsCSJJVlRWX0lPQ19ETUFfRlJBTUUiLAkweDU2YzB9LAorCXsibGludXgvd2F0Y2hkb2cuaCIsCSJXRElPQ19HRVRTVVBQT1JUIiwJMHg1NzAwfSwKKwl7ImxpbnV4L3dhdGNoZG9nLmgiLAkiV0RJT0NfR0VUU1RBVFVTIiwJMHg1NzAxfSwKKwl7ImxpbnV4L3dhdGNoZG9nLmgiLAkiV0RJT0NfR0VUQk9PVFNUQVRVUyIsCTB4NTcwMn0sCisJeyJsaW51eC93YXRjaGRvZy5oIiwJIldESU9DX0dFVFRFTVAiLAkweDU3MDN9LAorCXsibGludXgvd2F0Y2hkb2cuaCIsCSJXRElPQ19TRVRPUFRJT05TIiwJMHg1NzA0fSwKKwl7ImxpbnV4L3dhdGNoZG9nLmgiLAkiV0RJT0NfS0VFUEFMSVZFIiwJMHg1NzA1fSwKKwl7ImxpbnV4L3dhdGNoZG9nLmgiLAkiV0RJT0NfU0VUVElNRU9VVCIsCTB4NTcwNn0sCisJeyJsaW51eC93YXRjaGRvZy5oIiwJIldESU9DX0dFVFRJTUVPVVQiLAkweDU3MDd9LAorCXsibGludXgvd2F0Y2hkb2cuaCIsCSJXRElPQ19TRVRQUkVUSU1FT1VUIiwJMHg1NzA4fSwKKwl7ImxpbnV4L3dhdGNoZG9nLmgiLAkiV0RJT0NfR0VUUFJFVElNRU9VVCIsCTB4NTcwOX0sCisJeyJsaW51eC93YXRjaGRvZy5oIiwJIldESU9DX0dFVFRJTUVMRUZUIiwJMHg1NzBhfSwKKwl7ImxpbnV4L3BrdGNkdmQuaCIsCSJQQUNLRVRfQ1RSTF9DTUQiLAkweDU4MDF9LAorCXsibGludXgvZnMuaCIsCSJGSUZSRUVaRSIsCTB4NTg3N30sCisJeyJsaW51eC9mcy5oIiwJIkZJVEhBVyIsCTB4NTg3OH0sCisJeyJsaW51eC9zb25ldC5oIiwJIlNPTkVUX0dFVFNUQVQiLAkweDYxMTB9LAorCXsibGludXgvc29uZXQuaCIsCSJTT05FVF9HRVRTVEFUWiIsCTB4NjExMX0sCisJeyJsaW51eC9zb25ldC5oIiwJIlNPTkVUX1NFVERJQUciLAkweDYxMTJ9LAorCXsibGludXgvc29uZXQuaCIsCSJTT05FVF9DTFJESUFHIiwJMHg2MTEzfSwKKwl7ImxpbnV4L3NvbmV0LmgiLAkiU09ORVRfR0VURElBRyIsCTB4NjExNH0sCisJeyJsaW51eC9zb25ldC5oIiwJIlNPTkVUX1NFVEZSQU1JTkciLAkweDYxMTV9LAorCXsibGludXgvc29uZXQuaCIsCSJTT05FVF9HRVRGUkFNSU5HIiwJMHg2MTE2fSwKKwl7ImxpbnV4L3NvbmV0LmgiLAkiU09ORVRfR0VURlJTRU5TRSIsCTB4NjExN30sCisJeyJsaW51eC9hdG1faWR0NzcxMDUuaCIsCSJJRFQ3NzEwNV9HRVRTVEFUIiwJMHg2MTMyfSwKKwl7ImxpbnV4L2F0bV9pZHQ3NzEwNS5oIiwJIklEVDc3MTA1X0dFVFNUQVRaIiwJMHg2MTMzfSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9HRVRTVEFUIiwJMHg2MTUwfSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9HRVRTVEFUWiIsCTB4NjE1MX0sCisJeyJsaW51eC9hdG1kZXYuaCIsCSJBVE1fR0VUTE9PUCIsCTB4NjE1Mn0sCisJeyJsaW51eC9hdG1kZXYuaCIsCSJBVE1fU0VUTE9PUCIsCTB4NjE1M30sCisJeyJsaW51eC9hdG1kZXYuaCIsCSJBVE1fUVVFUllMT09QIiwJMHg2MTU0fSwKKwl7ImxpbnV4L2F0bV9lbmkuaCIsCSJFTklfTUVNRFVNUCIsCTB4NjE2MH0sCisJeyJsaW51eC9hdG1faGUuaCIsCSJIRV9HRVRfUkVHIiwJMHg2MTYwfSwKKwl7ImxpbnV4L2F0bV9uaWNzdGFyLmgiLAkiTlNfR0VUUFNUQVQiLAkweDYxNjF9LAorCXsibGludXgvYXRtX3phdG0uaCIsCSJaQVRNX0dFVFBPT0wiLAkweDYxNjF9LAorCXsibGludXgvYXRtX25pY3N0YXIuaCIsCSJOU19TRVRCVUZMRVYiLAkweDYxNjJ9LAorCXsibGludXgvYXRtX3phdG0uaCIsCSJaQVRNX0dFVFBPT0xaIiwJMHg2MTYyfSwKKwl7ImxpbnV4L2F0bV9uaWNzdGFyLmgiLAkiTlNfQURKQlVGTEVWIiwJMHg2MTYzfSwKKwl7ImxpbnV4L2F0bV96YXRtLmgiLAkiWkFUTV9TRVRQT09MIiwJMHg2MTYzfSwKKwl7ImxpbnV4L2F0bV9lbmkuaCIsCSJFTklfU0VUTVVMVCIsCTB4NjE2N30sCisJeyJsaW51eC9hdG1fdGNwLmgiLAkiU0lPQ1NJRkFUTVRDUCIsCTB4NjE4MH0sCisJeyJsaW51eC9hdG1kZXYuaCIsCSJBVE1fR0VUTElOS1JBVEUiLAkweDYxODF9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX0dFVE5BTUVTIiwJMHg2MTgzfSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9HRVRUWVBFIiwJMHg2MTg0fSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9HRVRFU0kiLAkweDYxODV9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX0dFVEFERFIiLAkweDYxODZ9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX1JTVEFERFIiLAkweDYxODd9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX0FEREFERFIiLAkweDYxODh9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX0RFTEFERFIiLAkweDYxODl9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX0dFVENJUkFOR0UiLAkweDYxOGF9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX1NFVENJUkFOR0UiLAkweDYxOGJ9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX1NFVEVTSSIsCTB4NjE4Y30sCisJeyJsaW51eC9hdG1kZXYuaCIsCSJBVE1fU0VURVNJRiIsCTB4NjE4ZH0sCisJeyJsaW51eC9hdG1fdGNwLmgiLAkiQVRNVENQX0NSRUFURSIsCTB4NjE4ZX0sCisJeyJsaW51eC9hdG1kZXYuaCIsCSJBVE1fQURETEVDU0FERFIiLAkweDYxOGV9LAorCXsibGludXgvYXRtX3RjcC5oIiwJIkFUTVRDUF9SRU1PVkUiLAkweDYxOGZ9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX0RFTExFQ1NBRERSIiwJMHg2MThmfSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9HRVRMRUNTQUREUiIsCTB4NjE5MH0sCisJeyJsaW51eC9hdG1icjI2ODQuaCIsCSJCUjI2ODRfU0VURklMVCIsCTB4NjE5MH0sCisJeyJsaW51eC9hdG1sZWMuaCIsCSJBVE1MRUNfQ1RSTCIsCTB4NjFkMH0sCisJeyJsaW51eC9hdG1sZWMuaCIsCSJBVE1MRUNfREFUQSIsCTB4NjFkMX0sCisJeyJsaW51eC9hdG1sZWMuaCIsCSJBVE1MRUNfTUNBU1QiLAkweDYxZDJ9LAorCXsibGludXgvYXRtbXBjLmgiLAkiQVRNTVBDX0NUUkwiLAkweDYxZDh9LAorCXsibGludXgvYXRtbXBjLmgiLAkiQVRNTVBDX0RBVEEiLAkweDYxZDl9LAorCXsibGludXgvYXRtY2xpcC5oIiwJIlNJT0NNS0NMSVAiLAkweDYxZTB9LAorCXsibGludXgvYXRtYXJwLmgiLAkiQVRNQVJQRF9DVFJMIiwJMHg2MWUxfSwKKwl7ImxpbnV4L2F0bWFycC5oIiwJIkFUTUFSUF9NS0lQIiwJMHg2MWUyfSwKKwl7ImxpbnV4L2F0bWFycC5oIiwJIkFUTUFSUF9TRVRFTlRSWSIsCTB4NjFlM30sCisJeyJsaW51eC9hdG1hcnAuaCIsCSJBVE1BUlBfRU5DQVAiLAkweDYxZTV9LAorCXsibGludXgvYXRtc3ZjLmgiLAkiQVRNU0lHRF9DVFJMIiwJMHg2MWYwfSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9TRVRTQyIsCTB4NjFmMX0sCisJeyJsaW51eC9hdG1kZXYuaCIsCSJBVE1fU0VUQkFDS0VORCIsCTB4NjFmMn0sCisJeyJsaW51eC9hdG1kZXYuaCIsCSJBVE1fTkVXQkFDS0VORElGIiwJMHg2MWYzfSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9BRERQQVJUWSIsCTB4NjFmNH0sCisJeyJsaW51eC9hdG1kZXYuaCIsCSJDT01QQVRfQVRNX0FERFBBUlRZIiwJMHg2MWY0fSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9EUk9QUEFSVFkiLAkweDYxZjV9LAorCXsibGludXgvY200MDAwX2NzLmgiLAkiQ01fSU9DR1NUQVRVUyIsCTB4NjMwMH0sCisJeyJsaW51eC9jaGlvLmgiLAkiQ0hJT01PVkUiLAkweDYzMDF9LAorCXsibGludXgvY200MDAwX2NzLmgiLAkiQ01fSU9DR0FUUiIsCTB4NjMwMX0sCisJeyJsaW51eC9jaGlvLmgiLAkiQ0hJT0VYQ0hBTkdFIiwJMHg2MzAyfSwKKwl7ImxpbnV4L2NtNDAwMF9jcy5oIiwJIkNNX0lPQ1NQVFMiLAkweDYzMDJ9LAorCXsibGludXgvY2hpby5oIiwJIkNISU9QT1NJVElPTiIsCTB4NjMwM30sCisJeyJsaW51eC9jbTQwMDBfY3MuaCIsCSJDTV9JT0NTUkRSIiwJMHg2MzAzfSwKKwl7ImxpbnV4L2NoaW8uaCIsCSJDSElPR1BJQ0tFUiIsCTB4NjMwNH0sCisJeyJsaW51eC9jbTQwMDBfY3MuaCIsCSJDTV9JT0NBUkRPRkYiLAkweDYzMDR9LAorCXsibGludXgvY2hpby5oIiwJIkNISU9TUElDS0VSIiwJMHg2MzA1fSwKKwl7ImxpbnV4L2NoaW8uaCIsCSJDSElPR1BBUkFNUyIsCTB4NjMwNn0sCisJeyJsaW51eC9jaGlvLmgiLAkiQ0hJT0dTVEFUVVMiLAkweDYzMDh9LAorCXsibGludXgvY29kYS5oIiwJIkNJT0NfS0VSTkVMX1ZFUlNJT04iLAkweDYzMGF9LAorCXsibGludXgvY2hpby5oIiwJIkNISU9HRUxFTSIsCTB4NjMxMH0sCisJeyJsaW51eC9jaGlvLmgiLAkiQ0hJT0lOSVRFTEVNIiwJMHg2MzExfSwKKwl7ImxpbnV4L2NoaW8uaCIsCSJDSElPU1ZPTFRBRyIsCTB4NjMxMn0sCisJeyJsaW51eC9jaGlvLmgiLAkiQ0hJT0dWUEFSQU1TIiwJMHg2MzEzfSwKKwl7ImxpbnV4L2NvbXN0YXRzLmgiLAkiQ09NX0dFVFBPUlRTVEFUUyIsCTB4NjMxZX0sCisJeyJsaW51eC9jb21zdGF0cy5oIiwJIkNPTV9DTFJQT1JUU1RBVFMiLAkweDYzMWZ9LAorCXsibGludXgvY29tc3RhdHMuaCIsCSJDT01fR0VUQlJEU1RBVFMiLAkweDYzMjB9LAorCXsibGludXgvY29tc3RhdHMuaCIsCSJDT01fUkVBRFBPUlQiLAkweDYzMjh9LAorCXsibGludXgvY29tc3RhdHMuaCIsCSJDT01fUkVBREJPQVJEIiwJMHg2MzI5fSwKKwl7ImxpbnV4L2NvbXN0YXRzLmgiLAkiQ09NX1JFQURQQU5FTCIsCTB4NjMyYX0sCisJeyJhc20vbXNyLmgiLAkiWDg2X0lPQ19SRE1TUl9SRUdTIiwJMHg2M2EwfSwKKwl7ImFzbS9tc3IuaCIsCSJYODZfSU9DX1dSTVNSX1JFR1MiLAkweDYzYTF9LAorCXsibGludXgvY200MDAwX2NzLmgiLAkiQ01fSU9TREJHTFZMIiwJMHg2M2ZhfSwKKwl7ImxpbnV4L2ZzLmgiLAkiRlNfSU9DMzJfR0VURkxBR1MiLAkweDY2MDF9LAorCXsibGludXgvZnMuaCIsCSJGU19JT0NfR0VURkxBR1MiLAkweDY2MDF9LAorCXsibGludXgvZnMuaCIsCSJGU19JT0MzMl9TRVRGTEFHUyIsCTB4NjYwMn0sCisJeyJsaW51eC9mcy5oIiwJIkZTX0lPQ19TRVRGTEFHUyIsCTB4NjYwMn0sCisJeyJsaW51eC9leHQyX2ZzLmgiLAkiRVhUMl9JT0NfR0VUUlNWU1oiLAkweDY2MDV9LAorCXsibGludXgvZXh0Ml9mcy5oIiwJIkVYVDJfSU9DX1NFVFJTVlNaIiwJMHg2NjA2fSwKKwl7ImxpbnV4L2ZzLmgiLAkiRlNfSU9DX0ZJRU1BUCIsCTB4NjYwYn0sCisJeyJsaW51eC9ocGV0LmgiLAkiSFBFVF9JRV9PTiIsCTB4NjgwMX0sCisJeyJsaW51eC9ocGV0LmgiLAkiSFBFVF9JRV9PRkYiLAkweDY4MDJ9LAorCXsibGludXgvaHBldC5oIiwJIkhQRVRfSU5GTyIsCTB4NjgwM30sCisJeyJsaW51eC9ocGV0LmgiLAkiSFBFVF9FUEkiLAkweDY4MDR9LAorCXsibGludXgvaHBldC5oIiwJIkhQRVRfRFBJIiwJMHg2ODA1fSwKKwl7ImxpbnV4L2hwZXQuaCIsCSJIUEVUX0lSUUZSRVEiLAkweDY4MDZ9LAorCXsibGludXgvaTJvLWRldi5oIiwJIkkyT0dFVElPUFMiLAkweDY5MDB9LAorCXsibGludXgvaTJvLWRldi5oIiwJIkkyT0hSVEdFVCIsCTB4NjkwMX0sCisJeyJsaW51eC9pMm8tZGV2LmgiLAkiSTJPTENUR0VUIiwJMHg2OTAyfSwKKwl7ImxpbnV4L2kyby1kZXYuaCIsCSJJMk9QQVJNU0VUIiwJMHg2OTAzfSwKKwl7ImxpbnV4L2kyby1kZXYuaCIsCSJJMk9QQVJNR0VUIiwJMHg2OTA0fSwKKwl7ImxpbnV4L2kyby1kZXYuaCIsCSJJMk9TV0RMIiwJMHg2OTA1fSwKKwl7ImxpbnV4L2kyby1kZXYuaCIsCSJJMk9TV1VMIiwJMHg2OTA2fSwKKwl7ImxpbnV4L2kyby1kZXYuaCIsCSJJMk9TV0RFTCIsCTB4NjkwN30sCisJeyJsaW51eC9pMm8tZGV2LmgiLAkiSTJPVkFMSURBVEUiLAkweDY5MDh9LAorCXsibGludXgvaTJvLWRldi5oIiwJIkkyT0hUTUwiLAkweDY5MDl9LAorCXsibGludXgvaTJvLWRldi5oIiwJIkkyT0VWVFJFRyIsCTB4NjkwYX0sCisJeyJsaW51eC9pMm8tZGV2LmgiLAkiSTJPRVZUR0VUIiwJMHg2OTBifSwKKwl7ImxpbnV4L2lwbWkuaCIsCSJJUE1JQ1RMX1JFQ0VJVkVfTVNHX1RSVU5DIiwJMHg2OTBifSwKKwl7ImxpbnV4L2kyby1kZXYuaCIsCSJJMk9QQVNTVEhSVSIsCTB4NjkwY30sCisJeyJsaW51eC9pMm8tZGV2LmgiLAkiSTJPUEFTU1RIUlUzMiIsCTB4NjkwY30sCisJeyJsaW51eC9pcG1pLmgiLAkiSVBNSUNUTF9SRUNFSVZFX01TRyIsCTB4NjkwY30sCisJeyJsaW51eC9pcG1pLmgiLAkiSVBNSUNUTF9TRU5EX0NPTU1BTkQiLAkweDY5MGR9LAorCXsibGludXgvaXBtaS5oIiwJIklQTUlDVExfUkVHSVNURVJfRk9SX0NNRCIsCTB4NjkwZX0sCisJeyJsaW51eC9pcG1pLmgiLAkiSVBNSUNUTF9VTlJFR0lTVEVSX0ZPUl9DTUQiLAkweDY5MGZ9LAorCXsibGludXgvaXBtaS5oIiwJIklQTUlDVExfU0VUX0dFVFNfRVZFTlRTX0NNRCIsCTB4NjkxMH0sCisJeyJsaW51eC9pcG1pLmgiLAkiSVBNSUNUTF9TRVRfTVlfQUREUkVTU19DTUQiLAkweDY5MTF9LAorCXsibGludXgvaXBtaS5oIiwJIklQTUlDVExfR0VUX01ZX0FERFJFU1NfQ01EIiwJMHg2OTEyfSwKKwl7ImxpbnV4L2lwbWkuaCIsCSJJUE1JQ1RMX1NFVF9NWV9MVU5fQ01EIiwJMHg2OTEzfSwKKwl7ImxpbnV4L2lwbWkuaCIsCSJJUE1JQ1RMX0dFVF9NWV9MVU5fQ01EIiwJMHg2OTE0fSwKKwl7ImxpbnV4L2lwbWkuaCIsCSJJUE1JQ1RMX1NFTkRfQ09NTUFORF9TRVRUSU1FIiwJMHg2OTE1fSwKKwl7ImxpbnV4L2lwbWkuaCIsCSJJUE1JQ1RMX1NFVF9USU1JTkdfUEFSTVNfQ01EIiwJMHg2OTE2fSwKKwl7ImxpbnV4L2lwbWkuaCIsCSJJUE1JQ1RMX0dFVF9USU1JTkdfUEFSTVNfQ01EIiwJMHg2OTE3fSwKKwl7ImxpbnV4L2lwbWkuaCIsCSJJUE1JQ1RMX1JFR0lTVEVSX0ZPUl9DTURfQ0hBTlMiLAkweDY5MWN9LAorCXsibGludXgvaXBtaS5oIiwJIklQTUlDVExfVU5SRUdJU1RFUl9GT1JfQ01EX0NIQU5TIiwJMHg2OTFkfSwKKwl7ImxpbnV4L2lwbWkuaCIsCSJJUE1JQ1RMX0dFVF9NQUlOVEVOQU5DRV9NT0RFX0NNRCIsCTB4NjkxZX0sCisJeyJsaW51eC9pcG1pLmgiLAkiSVBNSUNUTF9TRVRfTUFJTlRFTkFOQ0VfTU9ERV9DTUQiLAkweDY5MWZ9LAorCXsibGludXgvaThrLmgiLAkiSThLX0JJT1NfVkVSU0lPTiIsCTB4Njk4MH0sCisJeyJsaW51eC9pOGsuaCIsCSJJOEtfTUFDSElORV9JRCIsCTB4Njk4MX0sCisJeyJsaW51eC9pOGsuaCIsCSJJOEtfUE9XRVJfU1RBVFVTIiwJMHg2OTgyfSwKKwl7ImxpbnV4L2k4ay5oIiwJIkk4S19GTl9TVEFUVVMiLAkweDY5ODN9LAorCXsibGludXgvaThrLmgiLAkiSThLX0dFVF9URU1QIiwJMHg2OTg0fSwKKwl7ImxpbnV4L2k4ay5oIiwJIkk4S19HRVRfU1BFRUQiLAkweDY5ODV9LAorCXsibGludXgvaThrLmgiLAkiSThLX0dFVF9GQU4iLAkweDY5ODZ9LAorCXsibGludXgvaThrLmgiLAkiSThLX1NFVF9GQU4iLAkweDY5ODd9LAorCXsibGludXgvam95c3RpY2suaCIsCSJKU0lPQ0dWRVJTSU9OIiwJMHg2YTAxfSwKKwl7ImxpbnV4L2pveXN0aWNrLmgiLAkiSlNJT0NHQVhFUyIsCTB4NmExMX0sCisJeyJsaW51eC9qb3lzdGljay5oIiwJIkpTSU9DR0JVVFRPTlMiLAkweDZhMTJ9LAorCXsibGludXgvam95c3RpY2suaCIsCSJKU0lPQ1NDT1JSIiwJMHg2YTIxfSwKKwl7ImxpbnV4L2pveXN0aWNrLmgiLAkiSlNJT0NHQ09SUiIsCTB4NmEyMn0sCisJeyJsaW51eC9qb3lzdGljay5oIiwJIkpTSU9DU0FYTUFQIiwJMHg2YTMxfSwKKwl7ImxpbnV4L2pveXN0aWNrLmgiLAkiSlNJT0NHQVhNQVAiLAkweDZhMzJ9LAorCXsibGludXgvam95c3RpY2suaCIsCSJKU0lPQ1NCVE5NQVAiLAkweDZhMzN9LAorCXsibGludXgvam95c3RpY2suaCIsCSJKU0lPQ0dCVE5NQVAiLAkweDZhMzR9LAorCXsibGludXgvdWRmX2ZzX2kuaCIsCSJVREZfR0VURUFTSVpFIiwJMHg2YzQwfSwKKwl7ImxpbnV4L3VkZl9mc19pLmgiLAkiVURGX0dFVEVBQkxPQ0siLAkweDZjNDF9LAorCXsibGludXgvdWRmX2ZzX2kuaCIsCSJVREZfR0VUVk9MSURFTlQiLAkweDZjNDJ9LAorCXsibGludXgvdWRmX2ZzX2kuaCIsCSJVREZfUkVMT0NBVEVfQkxPQ0tTIiwJMHg2YzQzfSwKKwl7ImxpbnV4L3N5bmNsaW5rLmgiLAkiTUdTTF9JT0NTUEFSQU1TIiwJMHg2ZDAwfSwKKwl7ImxpbnV4L21tdGltZXIuaCIsCSJNTVRJTUVSX0dFVE9GRlNFVCIsCTB4NmQwMH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfTUlESV9QUkVUSU1FIiwJMHg2ZDAwfSwKKwl7ImxpbnV4L3N5bmNsaW5rLmgiLAkiTUdTTF9JT0NHUEFSQU1TIiwJMHg2ZDAxfSwKKwl7ImxpbnV4L21tdGltZXIuaCIsCSJNTVRJTUVSX0dFVFJFUyIsCTB4NmQwMX0sCisJeyJsaW51eC9tdGlvLmgiLAkiTVRJT0NUT1AiLAkweDZkMDF9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX01JRElfTVBVTU9ERSIsCTB4NmQwMX0sCisJeyJsaW51eC9zeW5jbGluay5oIiwJIk1HU0xfSU9DU1RYSURMRSIsCTB4NmQwMn0sCisJeyJsaW51eC9tbXRpbWVyLmgiLAkiTU1USU1FUl9HRVRGUkVRIiwJMHg2ZDAyfSwKKwl7ImxpbnV4L210aW8uaCIsCSJNVElPQ0dFVCIsCTB4NmQwMn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfTUlESV9NUFVDTUQiLAkweDZkMDJ9LAorCXsibGludXgvc3luY2xpbmsuaCIsCSJNR1NMX0lPQ0dUWElETEUiLAkweDZkMDN9LAorCXsibGludXgvbXRpby5oIiwJIk1USU9DUE9TIiwJMHg2ZDAzfSwKKwl7ImxpbnV4L3N5bmNsaW5rLmgiLAkiTUdTTF9JT0NUWEVOQUJMRSIsCTB4NmQwNH0sCisJeyJsaW51eC9tbXRpbWVyLmgiLAkiTU1USU1FUl9HRVRCSVRTIiwJMHg2ZDA0fSwKKwl7ImxpbnV4L3N5bmNsaW5rLmgiLAkiTUdTTF9JT0NSWEVOQUJMRSIsCTB4NmQwNX0sCisJeyJsaW51eC9zeW5jbGluay5oIiwJIk1HU0xfSU9DVFhBQk9SVCIsCTB4NmQwNn0sCisJeyJsaW51eC9tbXRpbWVyLmgiLAkiTU1USU1FUl9NTUFQQVZBSUwiLAkweDZkMDZ9LAorCXsibGludXgvc3luY2xpbmsuaCIsCSJNR1NMX0lPQ0dTVEFUUyIsCTB4NmQwN30sCisJeyJsaW51eC9zeW5jbGluay5oIiwJIk1HU0xfSU9DV0FJVEVWRU5UIiwJMHg2ZDA4fSwKKwl7ImxpbnV4L3N5bmNsaW5rLmgiLAkiTUdTTF9JT0NMT09QVFhET05FIiwJMHg2ZDA5fSwKKwl7ImxpbnV4L21tdGltZXIuaCIsCSJNTVRJTUVSX0dFVENPVU5URVIiLAkweDZkMDl9LAorCXsibGludXgvc3luY2xpbmsuaCIsCSJNR1NMX0lPQ1NJRiIsCTB4NmQwYX0sCisJeyJsaW51eC9zeW5jbGluay5oIiwJIk1HU0xfSU9DR0lGIiwJMHg2ZDBifSwKKwl7ImxpbnV4L3N5bmNsaW5rLmgiLAkiTUdTTF9JT0NDTFJNT0RDT1VOVCIsCTB4NmQwZn0sCisJeyJsaW51eC9zeW5jbGluay5oIiwJIk1HU0xfSU9DU0dQSU8iLAkweDZkMTB9LAorCXsibGludXgvc3luY2xpbmsuaCIsCSJNR1NMX0lPQ0dHUElPIiwJMHg2ZDExfSwKKwl7ImxpbnV4L3N5bmNsaW5rLmgiLAkiTUdTTF9JT0NXQUlUR1BJTyIsCTB4NmQxMn0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX05DUFJFUVVFU1QiLAkweDZlMDF9LAorCXsibGludXgvbmNwX2ZzLmgiLAkiTkNQX0lPQ19HRVRNT1VOVFVJRCIsCTB4NmUwMn0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX0dFVE1PVU5UVUlEMiIsCTB4NmUwMn0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX0NPTk5fTE9HR0VEX0lOIiwJMHg2ZTAzfSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfR0VUX0ZTX0lORk8iLAkweDZlMDR9LAorCXsibGludXgvbmNwX2ZzLmgiLAkiTkNQX0lPQ19HRVRfRlNfSU5GT19WMiIsCTB4NmUwNH0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX1NJR05fSU5JVCIsCTB4NmUwNX0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX1NFVF9TSUdOX1dBTlRFRCIsCTB4NmUwNn0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX1NJR05fV0FOVEVEIiwJMHg2ZTA2fSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfTE9DS1VOTE9DSyIsCTB4NmUwN30sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX0dFVFJPT1QiLAkweDZlMDh9LAorCXsibGludXgvbmNwX2ZzLmgiLAkiTkNQX0lPQ19TRVRST09UIiwJMHg2ZTA4fSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfR0VUT0JKRUNUTkFNRSIsCTB4NmUwOX0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX1NFVE9CSkVDVE5BTUUiLAkweDZlMDl9LAorCXsibGludXgvbmNwX2ZzLmgiLAkiTkNQX0lPQ19HRVRQUklWQVRFREFUQSIsCTB4NmUwYX0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX1NFVFBSSVZBVEVEQVRBIiwJMHg2ZTBhfSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfR0VUQ0hBUlNFVFMiLAkweDZlMGJ9LAorCXsibGludXgvbmNwX2ZzLmgiLAkiTkNQX0lPQ19TRVRDSEFSU0VUUyIsCTB4NmUwYn0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX0dFVERFTlRSWVRUTCIsCTB4NmUwY30sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX1NFVERFTlRSWVRUTCIsCTB4NmUwY30sCisJeyJsaW51eC9tYXRyb3hmYi5oIiwJIk1BVFJPWEZCX0dFVF9PVVRQVVRfQ09OTkVDVElPTiIsCTB4NmVmOH0sCisJeyJsaW51eC9tYXRyb3hmYi5oIiwJIk1BVFJPWEZCX1NFVF9PVVRQVVRfQ09OTkVDVElPTiIsCTB4NmVmOH0sCisJeyJsaW51eC9tYXRyb3hmYi5oIiwJIk1BVFJPWEZCX0dFVF9BVkFJTEFCTEVfT1VUUFVUUyIsCTB4NmVmOX0sCisJeyJsaW51eC9tYXRyb3hmYi5oIiwJIk1BVFJPWEZCX0dFVF9PVVRQVVRfTU9ERSIsCTB4NmVmYX0sCisJeyJsaW51eC9tYXRyb3hmYi5oIiwJIk1BVFJPWEZCX1NFVF9PVVRQVVRfTU9ERSIsCTB4NmVmYX0sCisJeyJsaW51eC9tYXRyb3hmYi5oIiwJIk1BVFJPWEZCX0dFVF9BTExfT1VUUFVUUyIsCTB4NmVmYn0sCisJeyJsaW51eC9waGFudG9tLmgiLAkiUEhOX0dFVF9SRUciLAkweDcwMDB9LAorCXsibGludXgvcGhhbnRvbS5oIiwJIlBITl9TRVRfUkVHIiwJMHg3MDAxfSwKKwl7ImxpbnV4L3J0Yy5oIiwJIlJUQ19BSUVfT04iLAkweDcwMDF9LAorCXsibGludXgvcGhhbnRvbS5oIiwJIlBITl9HRVRfUkVHUyIsCTB4NzAwMn0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfQUlFX09GRiIsCTB4NzAwMn0sCisJeyJsaW51eC9waGFudG9tLmgiLAkiUEhOX1NFVF9SRUdTIiwJMHg3MDAzfSwKKwl7ImxpbnV4L3J0Yy5oIiwJIlJUQ19VSUVfT04iLAkweDcwMDN9LAorCXsibGludXgvcGhhbnRvbS5oIiwJIlBITl9OT1RfT0giLAkweDcwMDR9LAorCXsibGludXgvcnRjLmgiLAkiUlRDX1VJRV9PRkYiLAkweDcwMDR9LAorCXsibGludXgvcGhhbnRvbS5oIiwJIlBITl9HRVRSRUciLAkweDcwMDV9LAorCXsibGludXgvcnRjLmgiLAkiUlRDX1BJRV9PTiIsCTB4NzAwNX0sCisJeyJsaW51eC9waGFudG9tLmgiLAkiUEhOX1NFVFJFRyIsCTB4NzAwNn0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfUElFX09GRiIsCTB4NzAwNn0sCisJeyJsaW51eC9waGFudG9tLmgiLAkiUEhOX0dFVFJFR1MiLAkweDcwMDd9LAorCXsibGludXgvcnRjLmgiLAkiUlRDX0FMTV9TRVQiLAkweDcwMDd9LAorCXsibGludXgvcGhhbnRvbS5oIiwJIlBITl9TRVRSRUdTIiwJMHg3MDA4fSwKKwl7ImxpbnV4L3J0Yy5oIiwJIlJUQ19BTE1fUkVBRCIsCTB4NzAwOH0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfUkRfVElNRSIsCTB4NzAwOX0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfU0VUX1RJTUUiLAkweDcwMGF9LAorCXsibGludXgvcnRjLmgiLAkiUlRDX0lSUVBfUkVBRCIsCTB4NzAwYn0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfSVJRUF9TRVQiLAkweDcwMGN9LAorCXsibGludXgvcnRjLmgiLAkiUlRDX0VQT0NIX1JFQUQiLAkweDcwMGR9LAorCXsibGludXgvcnRjLmgiLAkiUlRDX0VQT0NIX1NFVCIsCTB4NzAwZX0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfV0lFX09OIiwJMHg3MDBmfSwKKwl7ImxpbnV4L3J0Yy5oIiwJIlJUQ19XS0FMTV9TRVQiLAkweDcwMGZ9LAorCXsibGludXgvcnRjLmgiLAkiUlRDX1dJRV9PRkYiLAkweDcwMTB9LAorCXsibGludXgvcnRjLmgiLAkiUlRDX1dLQUxNX1JEIiwJMHg3MDEwfSwKKwl7ImxpbnV4L3J0Yy5oIiwJIlJUQ19QTExfR0VUIiwJMHg3MDExfSwKKwl7ImxpbnV4L3J0Yy5oIiwJIlJUQ19QTExfU0VUIiwJMHg3MDEyfSwKKwl7ImxpbnV4L252cmFtLmgiLAkiTlZSQU1fSU5JVCIsCTB4NzA0MH0sCisJeyJsaW51eC9udnJhbS5oIiwJIk5WUkFNX1NFVENLUyIsCTB4NzA0MX0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQU0VUTU9ERSIsCTB4NzA4MH0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQUlNUQVRVUyIsCTB4NzA4MX0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQUkNPTlRST0wiLAkweDcwODN9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUFdDT05UUk9MIiwJMHg3MDg0fSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBSREFUQSIsCTB4NzA4NX0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQV0RBVEEiLAkweDcwODZ9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUENMQUlNIiwJMHg3MDhifSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBSRUxFQVNFIiwJMHg3MDhjfSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBZSUVMRCIsCTB4NzA4ZH0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQRkNPTlRST0wiLAkweDcwOGV9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUEVYQ0wiLAkweDcwOGZ9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUERBVEFESVIiLAkweDcwOTB9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUE5FR09UIiwJMHg3MDkxfSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBXQ1RMT05JUlEiLAkweDcwOTJ9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUENMUklSUSIsCTB4NzA5M30sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQU0VUUEhBU0UiLAkweDcwOTR9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUEdFVFRJTUUiLAkweDcwOTV9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUFNFVFRJTUUiLAkweDcwOTZ9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUEdFVE1PREVTIiwJMHg3MDk3fSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBHRVRNT0RFIiwJMHg3MDk4fSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBHRVRQSEFTRSIsCTB4NzA5OX0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQR0VURkxBR1MiLAkweDcwOWF9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUFNFVEZMQUdTIiwJMHg3MDlifSwKKwl7ImxpbnV4L3Bwcy5oIiwJIlBQU19HRVRQQVJBTVMiLAkweDcwYTF9LAorCXsibGludXgvcHBzLmgiLAkiUFBTX1NFVFBBUkFNUyIsCTB4NzBhMn0sCisJeyJsaW51eC9wcHMuaCIsCSJQUFNfR0VUQ0FQIiwJMHg3MGEzfSwKKwl7ImxpbnV4L3Bwcy5oIiwJIlBQU19GRVRDSCIsCTB4NzBhNH0sCisJeyJsaW51eC9zZXJpby5oIiwJIlNQSU9DU1RZUEUiLAkweDcxMDF9LAorCXsibGludXgvdmlkZW90ZXh0LmgiLAkiVlRYSU9DR0VUSU5GT19PTEQiLAkweDcxMDF9LAorCXsibGludXgvdmlkZW90ZXh0LmgiLAkiVlRYSU9DQ0xSUEFHRV9PTEQiLAkweDcxMDJ9LAorCXsibGludXgvdmlkZW90ZXh0LmgiLAkiVlRYSU9DQ0xSRk9VTkRfT0xEIiwJMHg3MTAzfSwKKwl7ImxpbnV4L3ZpZGVvdGV4dC5oIiwJIlZUWElPQ1BBR0VSRVFfT0xEIiwJMHg3MTA0fSwKKwl7ImxpbnV4L3ZpZGVvdGV4dC5oIiwJIlZUWElPQ0dFVFNUQVRfT0xEIiwJMHg3MTA1fSwKKwl7ImxpbnV4L3ZpZGVvdGV4dC5oIiwJIlZUWElPQ0dFVFBBR0VfT0xEIiwJMHg3MTA2fSwKKwl7ImxpbnV4L3ZpZGVvdGV4dC5oIiwJIlZUWElPQ1NUT1BEQVVfT0xEIiwJMHg3MTA3fSwKKwl7ImxpbnV4L3ZpZGVvdGV4dC5oIiwJIlZUWElPQ1BVVFBBR0VfT0xEIiwJMHg3MTA4fSwKKwl7ImxpbnV4L3ZpZGVvdGV4dC5oIiwJIlZUWElPQ1NFVERJU1BfT0xEIiwJMHg3MTA5fSwKKwl7ImxpbnV4L3ZpZGVvdGV4dC5oIiwJIlZUWElPQ1BVVFNUQVRfT0xEIiwJMHg3MTBhfSwKKwl7ImxpbnV4L3ZpZGVvdGV4dC5oIiwJIlZUWElPQ0NMUkNBQ0hFX09MRCIsCTB4NzEwYn0sCisJeyJsaW51eC92aWRlb3RleHQuaCIsCSJWVFhJT0NTRVRWSVJUX09MRCIsCTB4NzEwY30sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9DQVBBQklMSVRJRVMiLAkweDcxODB9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfQ0FQQUJJTElUSUVTX0xJU1QiLAkweDcxODF9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfQ0FQQUJJTElUSUVTX0NIRUNLIiwJMHg3MTgyfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1JJTkciLAkweDcxODN9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfSE9PS1NUQVRFIiwJMHg3MTg0fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX01BWFJJTkdTIiwJMHg3MTg1fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1JJTkdfQ0FERU5DRSIsCTB4NzE4Nn0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJPTERfUEhPTkVfUklOR19TVEFSVCIsCTB4NzE4N30sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9SSU5HX1NUQVJUIiwJMHg3MTg3fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1JJTkdfU1RPUCIsCTB4NzE4OH0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9SRUNfQ09ERUMiLAkweDcxODl9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUkVDX1NUQVJUIiwJMHg3MThhfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1JFQ19TVE9QIiwJMHg3MThifSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1JFQ19ERVBUSCIsCTB4NzE4Y30sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9GUkFNRSIsCTB4NzE4ZH0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9SRUNfVk9MVU1FIiwJMHg3MThlfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1JFQ19MRVZFTCIsCTB4NzE4Zn0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9QTEFZX0NPREVDIiwJMHg3MTkwfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1BMQVlfU1RBUlQiLAkweDcxOTF9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUExBWV9TVE9QIiwJMHg3MTkyfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1BMQVlfREVQVEgiLAkweDcxOTN9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUExBWV9WT0xVTUUiLAkweDcxOTR9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUExBWV9MRVZFTCIsCTB4NzE5NX0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9EVE1GX1JFQURZIiwJMHg3MTk2fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX0dFVF9EVE1GIiwJMHg3MTk3fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX0dFVF9EVE1GX0FTQ0lJIiwJMHg3MTk4fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX0RUTUZfT09CIiwJMHg3MTk5fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX0VYQ0VQVElPTiIsCTB4NzE5YX0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9QTEFZX1RPTkUiLAkweDcxOWJ9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfU0VUX1RPTkVfT05fVElNRSIsCTB4NzE5Y30sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9TRVRfVE9ORV9PRkZfVElNRSIsCTB4NzE5ZH0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9HRVRfVE9ORV9PTl9USU1FIiwJMHg3MTllfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX0dFVF9UT05FX09GRl9USU1FIiwJMHg3MTlmfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX0dFVF9UT05FX1NUQVRFIiwJMHg3MWEwfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX0JVU1kiLAkweDcxYTF9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUklOR0JBQ0siLAkweDcxYTJ9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfRElBTFRPTkUiLAkweDcxYTN9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfQ1BUX1NUT1AiLAkweDcxYTR9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUFNUTl9TRVRfU1RBVEUiLAkweDcxYTR9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUFNUTl9HRVRfU1RBVEUiLAkweDcxYTV9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfV0lOS19EVVJBVElPTiIsCTB4NzFhNn0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9RVUVSWV9DT0RFQyIsCTB4NzFhN30sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9QU1ROX0xJTkVURVNUIiwJMHg3MWE4fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1ZBRCIsCTB4NzFhOX0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9XSU5LIiwJMHg3MWFhfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfRFNQX1JFU0VUIiwJMHg3MWMwfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfQ0FSRFRZUEUiLAkweDcxYzF9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9TRVJJQUwiLAkweDcxYzJ9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9EU1BfVFlQRSIsCTB4NzFjM30sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0RTUF9WRVJTSU9OIiwJMHg3MWM0fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfRFNQX0lETEUiLAkweDcxYzV9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9URVNUUkFNIiwJMHg3MWM2fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfU0VUX0ZJTFRFUiIsCTB4NzFjN30sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0dFVF9GSUxURVJfSElTVCIsCTB4NzFjOH0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0lOSVRfVE9ORSIsCTB4NzFjOX0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1RPTkVfQ0FERU5DRSIsCTB4NzFjYX0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0FFQ19TVEFSVCIsCTB4NzFjYn0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0FFQ19TVE9QIiwJMHg3MWNjfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfQUVDX0dFVF9MRVZFTCIsCTB4NzFjZH0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1NFVF9MRUQiLAkweDcxY2V9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9NSVhFUiIsCTB4NzFjZn0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0RBQV9DT0VGRl9TRVQiLAkweDcxZDB9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9QT1JUIiwJMHg3MWQxfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfREFBX0FHQUlOIiwJMHg3MWQyfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfUFNUTl9MSU5FVEVTVCIsCTB4NzFkM30sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0NJRCIsCTB4NzFkNH0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1BPVFNfUFNUTiIsCTB4NzFkNX0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0ZJTFRFUl9DQURFTkNFIiwJMHg3MWQ2fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfUExBWV9DSUQiLAkweDcxZDd9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9WTVdJIiwJMHg3MWQ4fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfQ0lEQ1ciLAkweDcxZDl9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9WRVJTSU9OIiwJMHg3MWRhfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1JFQ19WT0xVTUVfTElORUFSIiwJMHg3MWRifSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1BMQVlfVk9MVU1FX0xJTkVBUiIsCTB4NzFkY30sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1NFVF9GSUxURVJfUkFXIiwJMHg3MWRkfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfSFoiLAkweDcxZTB9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9SQVRFIiwJMHg3MWUxfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfRlJBTUVTX1JFQUQiLAkweDcxZTJ9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9GUkFNRVNfV1JJVFRFTiIsCTB4NzFlM30sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1JFQURfV0FJVCIsCTB4NzFlNH0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1dSSVRFX1dBSVQiLAkweDcxZTV9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9EUllCVUZGRVJfUkVBRCIsCTB4NzFlNn0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0RSWUJVRkZFUl9DTEVBUiIsCTB4NzFlN30sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0RUTUZfUFJFU0NBTEUiLAkweDcxZTh9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9TSUdDVEwiLAkweDcxZTl9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9TQ19SWEciLAkweDcxZWF9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9TQ19UWEciLAkweDcxZWJ9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9JTlRFUkNPTV9TVEFSVCIsCTB4NzFmZH0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0lOVEVSQ09NX1NUT1AiLAkweDcxZmV9LAorCXsibGludXgvbXNkb3NfZnMuaCIsCSJWRkFUX0lPQ1RMX1JFQURESVJfQk9USCIsCTB4NzIwMX0sCisJeyJsaW51eC9tc2Rvc19mcy5oIiwJIlZGQVRfSU9DVExfUkVBRERJUl9TSE9SVCIsCTB4NzIwMn0sCisJeyJsaW51eC9tc2Rvc19mcy5oIiwJIkZBVF9JT0NUTF9HRVRfQVRUUklCVVRFUyIsCTB4NzIxMH0sCisJeyJsaW51eC9tc2Rvc19mcy5oIiwJIkZBVF9JT0NUTF9TRVRfQVRUUklCVVRFUyIsCTB4NzIxMX0sCisJeyJsaW51eC9jZGsuaCIsCSJTVExfQklOVFIiLAkweDczMTR9LAorCXsibGludXgvY2RrLmgiLAkiU1RMX0JTVEFSVCIsCTB4NzMxNX0sCisJeyJsaW51eC9jZGsuaCIsCSJTVExfQlNUT1AiLAkweDczMTZ9LAorCXsibGludXgvY2RrLmgiLAkiU1RMX0JSRVNFVCIsCTB4NzMxN30sCisJeyJsaW51eC9jZGsuaCIsCSJTVExfR0VUUEZMQUciLAkweDczNTB9LAorCXsibGludXgvY2RrLmgiLAkiU1RMX1NFVFBGTEFHIiwJMHg3MzUxfSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ0dMMlRQU1RBVFMiLAkweDc0MzZ9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DR0NIQU4iLAkweDc0Mzd9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DQVRUQ0hBTiIsCTB4NzQzOH0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NESVNDT05OIiwJMHg3NDM5fSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ0NPTk5FQ1QiLAkweDc0M2F9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DU01SUlUiLAkweDc0M2J9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DREVUQUNIIiwJMHg3NDNjfSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ0FUVEFDSCIsCTB4NzQzZH0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NORVdVTklUIiwJMHg3NDNlfSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ0dJRExFIiwJMHg3NDNmfSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ1NERUJVRyIsCTB4NzQ0MH0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NHREVCVUciLAkweDc0NDF9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DU0FDVElWRSIsCTB4NzQ0Nn0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NTUEFTUyIsCTB4NzQ0N30sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NTTlBNT0RFIiwJMHg3NDRifSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ0dOUE1PREUiLAkweDc0NGN9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DU0NPTVBSRVNTIiwJMHg3NDRkfSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ1hGRVJVTklUIiwJMHg3NDRlfSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ1NYQVNZTkNNQVAiLAkweDc0NGZ9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DR1hBU1lOQ01BUCIsCTB4NzQ1MH0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NTTUFYQ0lEIiwJMHg3NDUxfSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ1NNUlUiLAkweDc0NTJ9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DR01SVSIsCTB4NzQ1M30sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NTUkFTWU5DTUFQIiwJMHg3NDU0fSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ0dSQVNZTkNNQVAiLAkweDc0NTV9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DR1VOSVQiLAkweDc0NTZ9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DU0FTWU5DTUFQIiwJMHg3NDU3fSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ0dBU1lOQ01BUCIsCTB4NzQ1OH0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NTRkxBR1MiLAkweDc0NTl9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DR0ZMQUdTIiwJMHg3NDVhfSwKKwl7ImxpbnV4L2lzZG5fcHBwLmgiLAkiUFBQSU9DR0NBTExJTkZPIiwJMHg3NDgwfSwKKwl7ImxpbnV4L2lzZG5fcHBwLmgiLAkiUFBQSU9DQlVORExFIiwJMHg3NDgxfSwKKwl7ImxpbnV4L2lzZG5fcHBwLmgiLAkiUFBQSU9DR01QRkxBR1MiLAkweDc0ODJ9LAorCXsibGludXgvaXNkbl9wcHAuaCIsCSJQUFBJT0NTTVBGTEFHUyIsCTB4NzQ4M30sCisJeyJsaW51eC9pc2RuX3BwcC5oIiwJIlBQUElPQ1NNUE1UVSIsCTB4NzQ4NH0sCisJeyJsaW51eC9pc2RuX3BwcC5oIiwJIlBQUElPQ1NNUE1SVSIsCTB4NzQ4NX0sCisJeyJsaW51eC9pc2RuX3BwcC5oIiwJIlBQUElPQ0dDT01QUkVTU09SUyIsCTB4NzQ4Nn0sCisJeyJsaW51eC9pc2RuX3BwcC5oIiwJIlBQUElPQ1NDT01QUkVTU09SIiwJMHg3NDg3fSwKKwl7ImxpbnV4L2lzZG5fcHBwLmgiLAkiUFBQSU9DR0lGTkFNRSIsCTB4NzQ4OH0sCisJeyJsaW51eC90b3NoaWJhLmgiLAkiVE9TSF9TTU0iLAkweDc0OTB9LAorCXsibGludXgvc21iX2ZzLmgiLAkiU01CX0lPQ19HRVRNT1VOVFVJRCIsCTB4NzUwMX0sCisJeyJsaW51eC9zbWJfZnMuaCIsCSJTTUJfSU9DX05FV0NPTk4iLAkweDc1MDJ9LAorCXsibGludXgvc21iX2ZzLmgiLAkiU01CX0lPQ19HRVRNT1VOVFVJRDMyIiwJMHg3NTAzfSwKKwl7ImxpbnV4L3NvbnlwaS5oIiwJIlNPTllQSV9JT0NHQlJUIiwJMHg3NjAwfSwKKwl7ImxpbnV4L3NvbnlwaS5oIiwJIlNPTllQSV9JT0NTQlJUIiwJMHg3NjAwfSwKKwl7ImxpbnV4L2ZzLmgiLAkiRlNfSU9DMzJfR0VUVkVSU0lPTiIsCTB4NzYwMX0sCisJeyJsaW51eC9mcy5oIiwJIkZTX0lPQ19HRVRWRVJTSU9OIiwJMHg3NjAxfSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DR0NBUCIsCTB4NzYwMX0sCisJeyJsaW51eC9mcy5oIiwJIkZTX0lPQzMyX1NFVFZFUlNJT04iLAkweDc2MDJ9LAorCXsibGludXgvZnMuaCIsCSJGU19JT0NfU0VUVkVSU0lPTiIsCTB4NzYwMn0sCisJeyJsaW51eC9zb255cGkuaCIsCSJTT05ZUElfSU9DR0JBVDFDQVAiLAkweDc2MDJ9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NHQ0hBTiIsCTB4NzYwMn0sCisJeyJsaW51eC9zb255cGkuaCIsCSJTT05ZUElfSU9DR0JBVDFSRU0iLAkweDc2MDN9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NTQ0hBTiIsCTB4NzYwM30sCisJeyJsaW51eC9zb255cGkuaCIsCSJTT05ZUElfSU9DR0JBVDJDQVAiLAkweDc2MDR9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NHVFVORVIiLAkweDc2MDR9LAorCXsibGludXgvc29ueXBpLmgiLAkiU09OWVBJX0lPQ0dCQVQyUkVNIiwJMHg3NjA1fSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DU1RVTkVSIiwJMHg3NjA1fSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DR1BJQ1QiLAkweDc2MDZ9LAorCXsibGludXgvc29ueXBpLmgiLAkiU09OWVBJX0lPQ0dCQVRGTEFHUyIsCTB4NzYwN30sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ1NQSUNUIiwJMHg3NjA3fSwKKwl7ImxpbnV4L3NvbnlwaS5oIiwJIlNPTllQSV9JT0NHQkxVRSIsCTB4NzYwOH0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ0NBUFRVUkUiLAkweDc2MDh9LAorCXsibGludXgvc29ueXBpLmgiLAkiU09OWVBJX0lPQ1NCTFVFIiwJMHg3NjA5fSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DR1dJTiIsCTB4NzYwOX0sCisJeyJsaW51eC9zb255cGkuaCIsCSJTT05ZUElfSU9DR0ZBTiIsCTB4NzYwYX0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ1NXSU4iLAkweDc2MGF9LAorCXsibGludXgvc29ueXBpLmgiLAkiU09OWVBJX0lPQ1NGQU4iLAkweDc2MGJ9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NHRkJVRiIsCTB4NzYwYn0sCisJeyJsaW51eC9zb255cGkuaCIsCSJTT05ZUElfSU9DR1RFTVAiLAkweDc2MGN9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NTRkJVRiIsCTB4NzYwY30sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ0tFWSIsCTB4NzYwZH0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ0dGUkVRIiwJMHg3NjBlfSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DU0ZSRVEiLAkweDc2MGZ9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NHQVVESU8iLAkweDc2MTB9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NTQVVESU8iLAkweDc2MTF9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NTWU5DIiwJMHg3NjEyfSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DTUNBUFRVUkUiLAkweDc2MTN9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NHTUJVRiIsCTB4NzYxNH0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ0dVTklUIiwJMHg3NjE1fSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DR0NBUFRVUkUiLAkweDc2MTZ9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NTQ0FQVFVSRSIsCTB4NzYxN30sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ1NQTEFZTU9ERSIsCTB4NzYxOH0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ1NXUklURU1PREUiLAkweDc2MTl9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NHUExBWUlORk8iLAkweDc2MWF9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NTTUlDUk9DT0RFIiwJMHg3NjFifSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DR1ZCSUZNVCIsCTB4NzYxY30sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ1NWQklGTVQiLAkweDc2MWR9LAorCXsibGludXgvbWV5ZS5oIiwJIk1FWUVJT0NfR19QQVJBTVMiLAkweDc2YzB9LAorCXsibGludXgvbWV5ZS5oIiwJIk1FWUVJT0NfU19QQVJBTVMiLAkweDc2YzF9LAorCXsibGludXgvbWV5ZS5oIiwJIk1FWUVJT0NfUUJVRl9DQVBUIiwJMHg3NmMyfSwKKwl7ImxpbnV4L21leWUuaCIsCSJNRVlFSU9DX1NZTkMiLAkweDc2YzN9LAorCXsibGludXgvbWV5ZS5oIiwJIk1FWUVJT0NfU1RJTExDQVBUIiwJMHg3NmM0fSwKKwl7ImxpbnV4L21leWUuaCIsCSJNRVlFSU9DX1NUSUxMSkNBUFQiLAkweDc2YzV9LAorCXsibGludXgvdmlkZW90ZXh0LmgiLAkiVlRYSU9DR0VUSU5GTyIsCTB4ODEwMX0sCisJeyJsaW51eC92aWRlb3RleHQuaCIsCSJWVFhJT0NDTFJQQUdFIiwJMHg4MTAyfSwKKwl7ImxpbnV4L3ZpZGVvdGV4dC5oIiwJIlZUWElPQ0NMUkZPVU5EIiwJMHg4MTAzfSwKKwl7ImxpbnV4L3ZpZGVvdGV4dC5oIiwJIlZUWElPQ1BBR0VSRVEiLAkweDgxMDR9LAorCXsibGludXgvdmlkZW90ZXh0LmgiLAkiVlRYSU9DR0VUU1RBVCIsCTB4ODEwNX0sCisJeyJsaW51eC92aWRlb3RleHQuaCIsCSJWVFhJT0NHRVRQQUdFIiwJMHg4MTA2fSwKKwl7ImxpbnV4L3ZpZGVvdGV4dC5oIiwJIlZUWElPQ1NUT1BEQVUiLAkweDgxMDd9LAorCXsibGludXgvdmlkZW90ZXh0LmgiLAkiVlRYSU9DUFVUUEFHRSIsCTB4ODEwOH0sCisJeyJsaW51eC92aWRlb3RleHQuaCIsCSJWVFhJT0NTRVRESVNQIiwJMHg4MTA5fSwKKwl7ImxpbnV4L3ZpZGVvdGV4dC5oIiwJIlZUWElPQ1BVVFNUQVQiLAkweDgxMGF9LAorCXsibGludXgvdmlkZW90ZXh0LmgiLAkiVlRYSU9DQ0xSQ0FDSEUiLAkweDgxMGJ9LAorCXsibGludXgvdmlkZW90ZXh0LmgiLAkiVlRYSU9DU0VUVklSVCIsCTB4ODEwY30sCisJeyJhc20tZ2VuZXJpYy9zb2NraW9zLmgiLAkiRklPU0VUT1dOIiwJMHg4OTAxfSwKKwl7ImFzbS1nZW5lcmljL3NvY2tpb3MuaCIsCSJTSU9DU1BHUlAiLAkweDg5MDJ9LAorCXsiYXNtLWdlbmVyaWMvc29ja2lvcy5oIiwJIkZJT0dFVE9XTiIsCTB4ODkwM30sCisJeyJhc20tZ2VuZXJpYy9zb2NraW9zLmgiLAkiU0lPQ0dQR1JQIiwJMHg4OTA0fSwKKwl7ImFzbS1nZW5lcmljL3NvY2tpb3MuaCIsCSJTSU9DQVRNQVJLIiwJMHg4OTA1fSwKKwl7ImFzbS1nZW5lcmljL3NvY2tpb3MuaCIsCSJTSU9DR1NUQU1QIiwJMHg4OTA2fSwKKwl7ImFzbS1nZW5lcmljL3NvY2tpb3MuaCIsCSJTSU9DR1NUQU1QTlMiLAkweDg5MDd9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NBRERSVCIsCTB4ODkwYn0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ0RFTFJUIiwJMHg4OTBjfSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DUlRNU0ciLAkweDg5MGR9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NHSUZOQU1FIiwJMHg4OTEwfSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DU0lGTElOSyIsCTB4ODkxMX0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ0dJRkNPTkYiLAkweDg5MTJ9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NHSUZGTEFHUyIsCTB4ODkxM30sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ1NJRkZMQUdTIiwJMHg4OTE0fSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DR0lGQUREUiIsCTB4ODkxNX0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ1NJRkFERFIiLAkweDg5MTZ9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NHSUZEU1RBRERSIiwJMHg4OTE3fSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DU0lGRFNUQUREUiIsCTB4ODkxOH0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ0dJRkJSREFERFIiLAkweDg5MTl9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NTSUZCUkRBRERSIiwJMHg4OTFhfSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DR0lGTkVUTUFTSyIsCTB4ODkxYn0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ1NJRk5FVE1BU0siLAkweDg5MWN9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NHSUZNRVRSSUMiLAkweDg5MWR9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NTSUZNRVRSSUMiLAkweDg5MWV9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NHSUZNRU0iLAkweDg5MWZ9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NTSUZNRU0iLAkweDg5MjB9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NHSUZNVFUiLAkweDg5MjF9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NTSUZNVFUiLAkweDg5MjJ9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NTSUZOQU1FIiwJMHg4OTIzfSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DU0lGSFdBRERSIiwJMHg4OTI0fSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DR0lGRU5DQVAiLAkweDg5MjV9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NTSUZFTkNBUCIsCTB4ODkyNn0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ0dJRkhXQUREUiIsCTB4ODkyN30sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ0dJRlNMQVZFIiwJMHg4OTI5fSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DU0lGU0xBVkUiLAkweDg5MzB9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NBRERNVUxUSSIsCTB4ODkzMX0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ0RFTE1VTFRJIiwJMHg4OTMyfSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DR0lGSU5ERVgiLAkweDg5MzN9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NTSUZQRkxBR1MiLAkweDg5MzR9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NHSUZQRkxBR1MiLAkweDg5MzV9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NESUZBRERSIiwJMHg4OTM2fSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DU0lGSFdCUk9BRENBU1QiLAkweDg5Mzd9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NHSUZDT1VOVCIsCTB4ODkzOH0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ0dJRkJSIiwJMHg4OTQwfSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DU0lGQlIiLAkweDg5NDF9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NHSUZUWFFMRU4iLAkweDg5NDJ9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NTSUZUWFFMRU4iLAkweDg5NDN9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NFVEhUT09MIiwJMHg4OTQ2fSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DR01JSVBIWSIsCTB4ODk0N30sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ0dNSUlSRUciLAkweDg5NDh9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NTTUlJUkVHIiwJMHg4OTQ5fSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DV0FOREVWIiwJMHg4OTRhfSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DREFSUCIsCTB4ODk1M30sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ0dBUlAiLAkweDg5NTR9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NTQVJQIiwJMHg4OTU1fSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DRFJBUlAiLAkweDg5NjB9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NHUkFSUCIsCTB4ODk2MX0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ1NSQVJQIiwJMHg4OTYyfSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DR0lGTUFQIiwJMHg4OTcwfSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DU0lGTUFQIiwJMHg4OTcxfSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DQURERExDSSIsCTB4ODk4MH0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ0RFTERMQ0kiLAkweDg5ODF9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NHSUZWTEFOIiwJMHg4OTgyfSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DU0lGVkxBTiIsCTB4ODk4M30sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ0JPTkRFTlNMQVZFIiwJMHg4OTkwfSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DQk9ORFJFTEVBU0UiLAkweDg5OTF9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NCT05EU0VUSFdBRERSIiwJMHg4OTkyfSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DQk9ORFNMQVZFSU5GT1FVRVJZIiwJMHg4OTkzfSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DQk9ORElORk9RVUVSWSIsCTB4ODk5NH0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ0JPTkRDSEFOR0VBQ1RJVkUiLAkweDg5OTV9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NCUkFEREJSIiwJMHg4OWEwfSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DQlJERUxCUiIsCTB4ODlhMX0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ0JSQURESUYiLAkweDg5YTJ9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NCUkRFTElGIiwJMHg4OWEzfSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DU0hXVFNUQU1QIiwJMHg4OWIwfSwKKwl7ImxpbnV4L2RuLmgiLAkiT1NJT0NTTkVUQUREUiIsCTB4ODllMH0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ1BST1RPUFJJVkFURSIsCTB4ODllMH0sCisJeyJsaW51eC9kbi5oIiwJIlNJT0NTTkVUQUREUiIsCTB4ODllMH0sCisJeyJsaW51eC9kbi5oIiwJIk9TSU9DR05FVEFERFIiLAkweDg5ZTF9LAorCXsibGludXgvZG4uaCIsCSJTSU9DR05FVEFERFIiLAkweDg5ZTF9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NERVZQUklWQVRFIiwJMHg4OWYwfSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ0lXRklSU1QiLAkweDhiMDB9LAorCXsibGludXgvd2lyZWxlc3MuaCIsCSJTSU9DU0lXQ09NTUlUIiwJMHg4YjAwfSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ0dJV05BTUUiLAkweDhiMDF9LAorCXsibGludXgvd2lyZWxlc3MuaCIsCSJTSU9DU0lXTldJRCIsCTB4OGIwMn0sCisJeyJsaW51eC93aXJlbGVzcy5oIiwJIlNJT0NHSVdOV0lEIiwJMHg4YjAzfSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ1NJV0ZSRVEiLAkweDhiMDR9LAorCXsibGludXgvd2lyZWxlc3MuaCIsCSJTSU9DR0lXRlJFUSIsCTB4OGIwNX0sCisJeyJsaW51eC93aXJlbGVzcy5oIiwJIlNJT0NTSVdNT0RFIiwJMHg4YjA2fSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ0dJV01PREUiLAkweDhiMDd9LAorCXsibGludXgvd2lyZWxlc3MuaCIsCSJTSU9DU0lXU0VOUyIsCTB4OGIwOH0sCisJeyJsaW51eC93aXJlbGVzcy5oIiwJIlNJT0NHSVdTRU5TIiwJMHg4YjA5fSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ1NJV1JBTkdFIiwJMHg4YjBhfSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ0dJV1JBTkdFIiwJMHg4YjBifSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ1NJV1BSSVYiLAkweDhiMGN9LAorCXsibGludXgvd2lyZWxlc3MuaCIsCSJTSU9DR0lXUFJJViIsCTB4OGIwZH0sCisJeyJsaW51eC93aXJlbGVzcy5oIiwJIlNJT0NTSVdTVEFUUyIsCTB4OGIwZX0sCisJeyJsaW51eC93aXJlbGVzcy5oIiwJIlNJT0NHSVdTVEFUUyIsCTB4OGIwZn0sCisJeyJsaW51eC93aXJlbGVzcy5oIiwJIlNJT0NTSVdTUFkiLAkweDhiMTB9LAorCXsibGludXgvd2lyZWxlc3MuaCIsCSJTSU9DR0lXU1BZIiwJMHg4YjExfSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ1NJV1RIUlNQWSIsCTB4OGIxMn0sCisJeyJsaW51eC93aXJlbGVzcy5oIiwJIlNJT0NHSVdUSFJTUFkiLAkweDhiMTN9LAorCXsibGludXgvd2lyZWxlc3MuaCIsCSJTSU9DU0lXQVAiLAkweDhiMTR9LAorCXsibGludXgvd2lyZWxlc3MuaCIsCSJTSU9DR0lXQVAiLAkweDhiMTV9LAorCXsibGludXgvd2lyZWxlc3MuaCIsCSJTSU9DU0lXTUxNRSIsCTB4OGIxNn0sCisJeyJsaW51eC93aXJlbGVzcy5oIiwJIlNJT0NHSVdBUExJU1QiLAkweDhiMTd9LAorCXsibGludXgvd2lyZWxlc3MuaCIsCSJTSU9DU0lXU0NBTiIsCTB4OGIxOH0sCisJeyJsaW51eC93aXJlbGVzcy5oIiwJIlNJT0NHSVdTQ0FOIiwJMHg4YjE5fSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ1NJV0VTU0lEIiwJMHg4YjFhfSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ0dJV0VTU0lEIiwJMHg4YjFifSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ1NJV05JQ0tOIiwJMHg4YjFjfSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ0dJV05JQ0tOIiwJMHg4YjFkfSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ1NJV1JBVEUiLAkweDhiMjB9LAorCXsibGludXgvd2lyZWxlc3MuaCIsCSJTSU9DR0lXUkFURSIsCTB4OGIyMX0sCisJeyJsaW51eC93aXJlbGVzcy5oIiwJIlNJT0NTSVdSVFMiLAkweDhiMjJ9LAorCXsibGludXgvd2lyZWxlc3MuaCIsCSJTSU9DR0lXUlRTIiwJMHg4YjIzfSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ1NJV0ZSQUciLAkweDhiMjR9LAorCXsibGludXgvd2lyZWxlc3MuaCIsCSJTSU9DR0lXRlJBRyIsCTB4OGIyNX0sCisJeyJsaW51eC93aXJlbGVzcy5oIiwJIlNJT0NTSVdUWFBPVyIsCTB4OGIyNn0sCisJeyJsaW51eC93aXJlbGVzcy5oIiwJIlNJT0NHSVdUWFBPVyIsCTB4OGIyN30sCisJeyJsaW51eC93aXJlbGVzcy5oIiwJIlNJT0NTSVdSRVRSWSIsCTB4OGIyOH0sCisJeyJsaW51eC93aXJlbGVzcy5oIiwJIlNJT0NHSVdSRVRSWSIsCTB4OGIyOX0sCisJeyJsaW51eC93aXJlbGVzcy5oIiwJIlNJT0NTSVdFTkNPREUiLAkweDhiMmF9LAorCXsibGludXgvd2lyZWxlc3MuaCIsCSJTSU9DR0lXRU5DT0RFIiwJMHg4YjJifSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ1NJV1BPV0VSIiwJMHg4YjJjfSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ0dJV1BPV0VSIiwJMHg4YjJkfSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ1NJV0dFTklFIiwJMHg4YjMwfSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ0dJV0dFTklFIiwJMHg4YjMxfSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ1NJV0FVVEgiLAkweDhiMzJ9LAorCXsibGludXgvd2lyZWxlc3MuaCIsCSJTSU9DR0lXQVVUSCIsCTB4OGIzM30sCisJeyJsaW51eC93aXJlbGVzcy5oIiwJIlNJT0NTSVdFTkNPREVFWFQiLAkweDhiMzR9LAorCXsibGludXgvd2lyZWxlc3MuaCIsCSJTSU9DR0lXRU5DT0RFRVhUIiwJMHg4YjM1fSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ1NJV1BNS1NBIiwJMHg4YjM2fSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ0lXRklSU1RQUklWIiwJMHg4YmUwfSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ0lXTEFTVFBSSVYiLAkweDhiZmZ9LAorCXsibGludXgvYXV0b19mcy5oIiwJIkFVVE9GU19JT0NfUkVBRFkiLAkweDkzNjB9LAorCXsibGludXgvYXV0b19mcy5oIiwJIkFVVE9GU19JT0NfRkFJTCIsCTB4OTM2MX0sCisJeyJsaW51eC9hdXRvX2ZzLmgiLAkiQVVUT0ZTX0lPQ19DQVRBVE9OSUMiLAkweDkzNjJ9LAorCXsibGludXgvYXV0b19mcy5oIiwJIkFVVE9GU19JT0NfUFJPVE9WRVIiLAkweDkzNjN9LAorCXsibGludXgvYXV0b19mcy5oIiwJIkFVVE9GU19JT0NfU0VUVElNRU9VVCIsCTB4OTM2NH0sCisJeyJsaW51eC9hdXRvX2ZzLmgiLAkiQVVUT0ZTX0lPQ19FWFBJUkUiLAkweDkzNjV9LAorCXsibGludXgvYXV0b19mczQuaCIsCSJBVVRPRlNfSU9DX0VYUElSRV9NVUxUSSIsCTB4OTM2Nn0sCisJeyJsaW51eC9hdXRvX2ZzNC5oIiwJIkFVVE9GU19JT0NfUFJPVE9TVUJWRVIiLAkweDkzNjd9LAorCXsibGludXgvYXV0b19mczQuaCIsCSJBVVRPRlNfSU9DX0FTS1VNT1VOVCIsCTB4OTM3MH0sCisJeyJsaW51eC9uYmQuaCIsCSJOQkRfU0VUX1NPQ0siLAkweGFiMDB9LAorCXsibGludXgvbmJkLmgiLAkiTkJEX1NFVF9CTEtTSVpFIiwJMHhhYjAxfSwKKwl7ImxpbnV4L25iZC5oIiwJIk5CRF9TRVRfU0laRSIsCTB4YWIwMn0sCisJeyJsaW51eC9uYmQuaCIsCSJOQkRfRE9fSVQiLAkweGFiMDN9LAorCXsibGludXgvbmJkLmgiLAkiTkJEX0NMRUFSX1NPQ0siLAkweGFiMDR9LAorCXsibGludXgvbmJkLmgiLAkiTkJEX0NMRUFSX1FVRSIsCTB4YWIwNX0sCisJeyJsaW51eC9uYmQuaCIsCSJOQkRfUFJJTlRfREVCVUciLAkweGFiMDZ9LAorCXsibGludXgvbmJkLmgiLAkiTkJEX1NFVF9TSVpFX0JMT0NLUyIsCTB4YWIwN30sCisJeyJsaW51eC9uYmQuaCIsCSJOQkRfRElTQ09OTkVDVCIsCTB4YWIwOH0sCisJeyJsaW51eC9uYmQuaCIsCSJOQkRfU0VUX1RJTUVPVVQiLAkweGFiMDl9LAorCXsibGludXgvcmF3LmgiLAkiUkFXX1NFVEJJTkQiLAkweGFjMDB9LAorCXsibGludXgvcmF3LmgiLAkiUkFXX0dFVEJJTkQiLAkweGFjMDF9LAorCXsibGludXgva3ZtLmgiLAkiS1ZNX0dFVF9BUElfVkVSU0lPTiIsCTB4YWUwMH0sCisJeyJsaW51eC9rdm0uaCIsCSJLVk1fQ1JFQVRFX1ZNIiwJMHhhZTAxfSwKKwl7ImxpbnV4L2t2bS5oIiwJIktWTV9HRVRfTVNSX0lOREVYX0xJU1QiLAkweGFlMDJ9LAorCXsibGludXgva3ZtLmgiLAkiS1ZNX0NIRUNLX0VYVEVOU0lPTiIsCTB4YWUwM30sCisJeyJsaW51eC9rdm0uaCIsCSJLVk1fR0VUX1ZDUFVfTU1BUF9TSVpFIiwJMHhhZTA0fSwKKwl7ImxpbnV4L2t2bS5oIiwJIktWTV9HRVRfU1VQUE9SVEVEX0NQVUlEIiwJMHhhZTA1fSwKKwl7ImxpbnV4L2t2bS5oIiwJIktWTV9TMzkwX0VOQUJMRV9TSUUiLAkweGFlMDZ9LAorCXsibGludXgva3ZtLmgiLAkiS1ZNX1NFVF9NRU1PUllfUkVHSU9OIiwJMHhhZTQwfSwKKwl7ImxpbnV4L2t2bS5oIiwJIktWTV9DUkVBVEVfVkNQVSIsCTB4YWU0MX0sCisJeyJsaW51eC9rdm0uaCIsCSJLVk1fR0VUX0RJUlRZX0xPRyIsCTB4YWU0Mn0sCisJeyJsaW51eC9rdm0uaCIsCSJLVk1fU0VUX01FTU9SWV9BTElBUyIsCTB4YWU0M30sCisJeyJsaW51eC9rdm0uaCIsCSJLVk1fU0VUX05SX01NVV9QQUdFUyIsCTB4YWU0NH0sCisJeyJsaW51eC9rdm0uaCIsCSJLVk1fR0VUX05SX01NVV9QQUdFUyIsCTB4YWU0NX0sCisJeyJsaW51eC9rdm0uaCIsCSJLVk1fU0VUX1VTRVJfTUVNT1JZX1JFR0lPTiIsCTB4YWU0Nn0sCisJeyJsaW51eC9rdm0uaCIsCSJLVk1fU0VUX1RTU19BRERSIiwJMHhhZTQ3fSwKKwl7ImxpbnV4L2t2bS5oIiwJIktWTV9TRVRfSURFTlRJVFlfTUFQX0FERFIiLAkweGFlNDh9LAorCXsibGludXgva3ZtLmgiLAkiS1ZNX0NSRUFURV9JUlFDSElQIiwJMHhhZTYwfSwKKwl7ImxpbnV4L2t2bS5oIiwJIktWTV9JUlFfTElORSIsCTB4YWU2MX0sCisJeyJsaW51eC9rdm0uaCIsCSJLVk1fR0VUX0lSUUNISVAiLAkweGFlNjJ9LAorCXsibGludXgva3ZtLmgiLAkiS1ZNX1NFVF9JUlFDSElQIiwJMHhhZTYzfSwKKwl7ImxpbnV4L2t2bS5oIiwJIktWTV9DUkVBVEVfUElUIiwJMHhhZTY0fSwKKwl7ImxpbnV4L2t2bS5oIiwJIktWTV9HRVRfUElUIiwJMHhhZTY1fSwKKwl7ImxpbnV4L2t2bS5oIiwJIktWTV9TRVRfUElUIiwJMHhhZTY2fSwKKwl7ImxpbnV4L2t2bS5oIiwJIktWTV9JUlFfTElORV9TVEFUVVMiLAkweGFlNjd9LAorCXsibGludXgva3ZtLmgiLAkiS1ZNX0FTU0lHTl9QQ0lfREVWSUNFIiwJMHhhZTY5fSwKKwl7ImxpbnV4L2t2bS5oIiwJIktWTV9TRVRfR1NJX1JPVVRJTkciLAkweGFlNmF9LAorCXsibGludXgva3ZtLmgiLAkiS1ZNX0FTU0lHTl9ERVZfSVJRIiwJMHhhZTcwfSwKKwl7ImxpbnV4L2t2bS5oIiwJIktWTV9SRUlOSkVDVF9DT05UUk9MIiwJMHhhZTcxfSwKKwl7ImxpbnV4L2t2bS5oIiwJIktWTV9ERUFTU0lHTl9QQ0lfREVWSUNFIiwJMHhhZTcyfSwKKwl7ImxpbnV4L2t2bS5oIiwJIktWTV9BU1NJR05fU0VUX01TSVhfTlIiLAkweGFlNzN9LAorCXsibGludXgva3ZtLmgiLAkiS1ZNX0FTU0lHTl9TRVRfTVNJWF9FTlRSWSIsCTB4YWU3NH0sCisJeyJsaW51eC9rdm0uaCIsCSJLVk1fREVBU1NJR05fREVWX0lSUSIsCTB4YWU3NX0sCisJeyJsaW51eC9rdm0uaCIsCSJLVk1fSVJRRkQiLAkweGFlNzZ9LAorCXsibGludXgva3ZtLmgiLAkiS1ZNX0NSRUFURV9QSVQyIiwJMHhhZTc3fSwKKwl7ImxpbnV4L2t2bS5oIiwJIktWTV9TRVRfQk9PVF9DUFVfSUQiLAkweGFlNzh9LAorCXsibGludXgva3ZtLmgiLAkiS1ZNX0lPRVZFTlRGRCIsCTB4YWU3OX0sCisJeyJsaW51eC9rdm0uaCIsCSJLVk1fWEVOX0hWTV9DT05GSUciLAkweGFlN2F9LAorCXsibGludXgva3ZtLmgiLAkiS1ZNX1NFVF9DTE9DSyIsCTB4YWU3Yn0sCisJeyJsaW51eC9rdm0uaCIsCSJLVk1fR0VUX0NMT0NLIiwJMHhhZTdjfSwKKwl7ImxpbnV4L2t2bS5oIiwJIktWTV9SVU4iLAkweGFlODB9LAorCXsibGludXgva3ZtLmgiLAkiS1ZNX0dFVF9SRUdTIiwJMHhhZTgxfSwKKwl7ImxpbnV4L2t2bS5oIiwJIktWTV9TRVRfUkVHUyIsCTB4YWU4Mn0sCisJeyJsaW51eC9rdm0uaCIsCSJLVk1fR0VUX1NSRUdTIiwJMHhhZTgzfSwKKwl7ImxpbnV4L2t2bS5oIiwJIktWTV9TRVRfU1JFR1MiLAkweGFlODR9LAorCXsibGludXgva3ZtLmgiLAkiS1ZNX1RSQU5TTEFURSIsCTB4YWU4NX0sCisJeyJsaW51eC9rdm0uaCIsCSJLVk1fSU5URVJSVVBUIiwJMHhhZTg2fSwKKwl7ImxpbnV4L2t2bS5oIiwJIktWTV9HRVRfTVNSUyIsCTB4YWU4OH0sCisJeyJsaW51eC9rdm0uaCIsCSJLVk1fU0VUX01TUlMiLAkweGFlODl9LAorCXsibGludXgva3ZtLmgiLAkiS1ZNX1NFVF9DUFVJRCIsCTB4YWU4YX0sCisJeyJsaW51eC9rdm0uaCIsCSJLVk1fU0VUX1NJR05BTF9NQVNLIiwJMHhhZThifSwKKwl7ImxpbnV4L2t2bS5oIiwJIktWTV9HRVRfRlBVIiwJMHhhZThjfSwKKwl7ImxpbnV4L2t2bS5oIiwJIktWTV9TRVRfRlBVIiwJMHhhZThkfSwKKwl7ImxpbnV4L2t2bS5oIiwJIktWTV9HRVRfTEFQSUMiLAkweGFlOGV9LAorCXsibGludXgva3ZtLmgiLAkiS1ZNX1NFVF9MQVBJQyIsCTB4YWU4Zn0sCisJeyJsaW51eC9rdm0uaCIsCSJLVk1fU0VUX0NQVUlEMiIsCTB4YWU5MH0sCisJeyJsaW51eC9rdm0uaCIsCSJLVk1fR0VUX0NQVUlEMiIsCTB4YWU5MX0sCisJeyJsaW51eC9rdm0uaCIsCSJLVk1fVFBSX0FDQ0VTU19SRVBPUlRJTkciLAkweGFlOTJ9LAorCXsibGludXgva3ZtLmgiLAkiS1ZNX1NFVF9WQVBJQ19BRERSIiwJMHhhZTkzfSwKKwl7ImxpbnV4L2t2bS5oIiwJIktWTV9TMzkwX0lOVEVSUlVQVCIsCTB4YWU5NH0sCisJeyJsaW51eC9rdm0uaCIsCSJLVk1fUzM5MF9TVE9SRV9TVEFUVVMiLAkweGFlOTV9LAorCXsibGludXgva3ZtLmgiLAkiS1ZNX1MzOTBfU0VUX0lOSVRJQUxfUFNXIiwJMHhhZTk2fSwKKwl7ImxpbnV4L2t2bS5oIiwJIktWTV9TMzkwX0lOSVRJQUxfUkVTRVQiLAkweGFlOTd9LAorCXsibGludXgva3ZtLmgiLAkiS1ZNX0dFVF9NUF9TVEFURSIsCTB4YWU5OH0sCisJeyJsaW51eC9rdm0uaCIsCSJLVk1fU0VUX01QX1NUQVRFIiwJMHhhZTk5fSwKKwl7ImxpbnV4L2t2bS5oIiwJIktWTV9JQTY0X1ZDUFVfR0VUX1NUQUNLIiwJMHhhZTlhfSwKKwl7ImxpbnV4L2t2bS5oIiwJIktWTV9OTUkiLAkweGFlOWF9LAorCXsibGludXgva3ZtLmgiLAkiS1ZNX0lBNjRfVkNQVV9TRVRfU1RBQ0siLAkweGFlOWJ9LAorCXsibGludXgva3ZtLmgiLAkiS1ZNX1NFVF9HVUVTVF9ERUJVRyIsCTB4YWU5Yn0sCisJeyJsaW51eC9rdm0uaCIsCSJLVk1fWDg2X1NFVFVQX01DRSIsCTB4YWU5Y30sCisJeyJsaW51eC9rdm0uaCIsCSJLVk1fWDg2X0dFVF9NQ0VfQ0FQX1NVUFBPUlRFRCIsCTB4YWU5ZH0sCisJeyJsaW51eC9rdm0uaCIsCSJLVk1fWDg2X1NFVF9NQ0UiLAkweGFlOWV9LAorCXsibGludXgva3ZtLmgiLAkiS1ZNX0dFVF9QSVQyIiwJMHhhZTlmfSwKKwl7ImxpbnV4L2t2bS5oIiwJIktWTV9HRVRfVkNQVV9FVkVOVFMiLAkweGFlOWZ9LAorCXsibGludXgva3ZtLmgiLAkiS1ZNX1NFVF9QSVQyIiwJMHhhZWEwfSwKKwl7ImxpbnV4L2t2bS5oIiwJIktWTV9TRVRfVkNQVV9FVkVOVFMiLAkweGFlYTB9LAorCXsibGludXgvaWZfcHBwb3guaCIsCSJQUFBPRUlPQ1NGV0QiLAkweGIxMDB9LAorCXsibGludXgvaWZfcHBwb3guaCIsCSJQUFBPRUlPQ0RGV0QiLAkweGIxMDF9LAorCXsibGludXgvcmVpc2VyZnNfZnMuaCIsCSJSRUlTRVJGU19JT0NfVU5QQUNLIiwJMHhjZDAxfSwKKwl7ImxpbnV4L2RtLWlvY3RsLmgiLAkiRE1fVkVSU0lPTiIsCTB4ZmQwMH0sCisJeyJsaW51eC9kbS1pb2N0bC5oIiwJIkRNX1JFTU9WRV9BTEwiLAkweGZkMDF9LAorCXsibGludXgvZG0taW9jdGwuaCIsCSJETV9MSVNUX0RFVklDRVMiLAkweGZkMDJ9LAorCXsibGludXgvZG0taW9jdGwuaCIsCSJETV9ERVZfQ1JFQVRFIiwJMHhmZDAzfSwKKwl7ImxpbnV4L2RtLWlvY3RsLmgiLAkiRE1fREVWX1JFTU9WRSIsCTB4ZmQwNH0sCisJeyJsaW51eC9kbS1pb2N0bC5oIiwJIkRNX0RFVl9SRU5BTUUiLAkweGZkMDV9LAorCXsibGludXgvZG0taW9jdGwuaCIsCSJETV9ERVZfU1VTUEVORCIsCTB4ZmQwNn0sCisJeyJsaW51eC9kbS1pb2N0bC5oIiwJIkRNX0RFVl9TVEFUVVMiLAkweGZkMDd9LAorCXsibGludXgvZG0taW9jdGwuaCIsCSJETV9ERVZfV0FJVCIsCTB4ZmQwOH0sCisJeyJsaW51eC9kbS1pb2N0bC5oIiwJIkRNX1RBQkxFX0xPQUQiLAkweGZkMDl9LAorCXsibGludXgvZG0taW9jdGwuaCIsCSJETV9UQUJMRV9DTEVBUiIsCTB4ZmQwYX0sCisJeyJsaW51eC9kbS1pb2N0bC5oIiwJIkRNX1RBQkxFX0RFUFMiLAkweGZkMGJ9LAorCXsibGludXgvZG0taW9jdGwuaCIsCSJETV9UQUJMRV9TVEFUVVMiLAkweGZkMGN9LAorCXsibGludXgvZG0taW9jdGwuaCIsCSJETV9MSVNUX1ZFUlNJT05TIiwJMHhmZDBkfSwKKwl7ImxpbnV4L2RtLWlvY3RsLmgiLAkiRE1fVEFSR0VUX01TRyIsCTB4ZmQwZX0sCisJeyJsaW51eC9kbS1pb2N0bC5oIiwJIkRNX0RFVl9TRVRfR0VPTUVUUlkiLAkweGZkMGZ9LApkaWZmIC0tZ2l0IGEvc3RyYWNlLTQuNS4yMC9saW51eC9pb2N0bGVudC5zaCBiL3N0cmFjZS00LjUuMjAvbGludXgvaW9jdGxlbnQuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOWVjYTc2NwotLS0gL2Rldi9udWxsCisrKyBiL3N0cmFjZS00LjUuMjAvbGludXgvaW9jdGxlbnQuc2gKQEAgLTAsMCArMSwxNTUgQEAKKyMhIC9iaW4vc2gKKyMKKyMgQ29weXJpZ2h0IChjKSAyMDAxIFdpY2hlcnQgQWtrZXJtYW4gPHdpY2hlcnRAY2lzdHJvbi5ubD4KKyMgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworIyBhcmUgbWV0OgorIyAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyMgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyMgMy4gVGhlIG5hbWUgb2YgdGhlIGF1dGhvciBtYXkgbm90IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzCisjICAgIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBBVVRIT1IgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUyBPUgorIyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCisjIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuCisjIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKKyMgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUCisjIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyMgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisjIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisjIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisjCisjCSRJZCQKKyMKKworIyBWYWxpZGF0ZSBhcmcgY291bnQuCitjYXNlICQjIGluCisxKQorCWRpcj0iJDEiCisJYXNtPWFzbQorCTs7CisyKQorCWRpcj0iJDEiCisJYXNtPSIkMiIKKwk7OworKikKKyAgICAgICAgZWNobyAidXNhZ2U6ICQwIGluY2x1ZGUtZGlyZWN0b3J5IFthc20tc3ViZGlyZWN0b3J5XSIgPiYyCisgICAgICAgIGV4aXQgMQorCTs7Citlc2FjCisKK2xvb2t1cF9pb2N0bHMoKQoreworCXR5cGU9IiQxIgorCXNoaWZ0CisKKwkjIEJ1aWxkIHRoZSBsaXN0IG9mIGFsbCBpb2N0bHMKKwlyZWdleHA9J15bWzpzcGFjZTpdXSojW1s6c3BhY2U6XV0qZGVmaW5lW1s6c3BhY2U6XV1cK1tBLVpdW0EtWjAtOV9dKltbOnNwYWNlOl1dXCsweCciJHR5cGUiJy4uXD4nCisJKGNkICIkZGlyIiAmJiBncmVwICIkcmVnZXhwIiAiJEAiIC9kZXYvbnVsbCAyPi9kZXYvbnVsbCkgfAorCQlzZWQgLW5lICJzLCRhc20vLGFzbS8sZyInCitzL15cKC4qXCk6W1s6c3BhY2U6XV0qI1tbOnNwYWNlOl1dKmRlZmluZVtbOnNwYWNlOl1dKlwoW0EtWjAtOV9dKlwpW1s6c3BhY2U6XV0qXCgweCciJHR5cGUiJy4uXCkuKi8JeyAiXDEiLAkiXDIiLAlcMwl9LC9wJyBcCisJCT4+IGlvY3Rscy5oCit9CisKKworPiBpb2N0bHMuaAorCitsb29rdXBfaW9jdGxzIDIyIHNjc2kvc2cuaAorbG9va3VwX2lvY3RscyA0NiBsaW51eC9mYi5oCitsb29rdXBfaW9jdGxzIDRCIGxpbnV4L2tkLmgKK2xvb2t1cF9pb2N0bHMgNTMgbGludXgvY2Ryb20uaCBzY3NpL3Njc2kuaCBzY3NpL3Njc2lfaW9jdGwuaAorbG9va3VwX2lvY3RscyA1NCAkYXNtL2lvY3Rscy5oIGFzbS1nZW5lcmljL2lvY3Rscy5oCitsb29rdXBfaW9jdGxzIDU2IGxpbnV4L3Z0LmgKK2xvb2t1cF9pb2N0bHMgJzdbMTJdJyBsaW51eC92aWRlb3RleHQuaAorbG9va3VwX2lvY3RscyA4OSAkYXNtL3NvY2tpb3MuaCBhc20tZ2VuZXJpYy9zb2NraW9zLmggbGludXgvc29ja2lvcy5oCitsb29rdXBfaW9jdGxzIDhCIGxpbnV4L3dpcmVsZXNzLmgKKworaWYgWyAtZSAkZGlyL0tidWlsZCBdOyB0aGVuCisJIyBrZXJuZWwgaGFzIGV4cG9ydGVkIHVzZXIgc3BhY2UgaGVhZGVycywgc28gcXVlcnkgb25seSB0aGVtCisJZmlsZXM9JCgKKwkJY2QgJGRpciB8fCBleGl0CisJCWZpbmQgLiAtbWluZGVwdGggMiAtbmFtZSBLYnVpbGQgfCBcCisJCQlzZWQgLWUgJ3M6XlwuLzo6JyAtZSAnczovS2J1aWxkOi8qOicgfCBcCisJCQlncmVwIC12ICdeYXNtLScKKwkJZWNobyAiJGFzbS8qIGFzbS1nZW5lcmljLyoiCisJKQorZWxzZQorCSMgb2xkZXIga2VybmVsIHNvIGp1c3QgYXNzdW1lIHNvbWUgaGVhZGVycworCWZpbGVzPSJsaW51eC8qICRhc20vKiBhc20tZ2VuZXJpYy8qIHNjc2kvKiBzb3VuZC8qIgorZmkKKworIyBCdWlsZCB0aGUgbGlzdCBvZiBhbGwgaW9jdGxzCisjIEV4YW1wbGUgb3V0cHV0OgorIyB7ICJhc20vaW9jdGxzLmgiLAkiVElPQ1NXSU5TWiIsCTB4NTQxNCAgfSwKKyMgeyAiYXNtL21jZS5oIiwJIk1DRV9HRVRDTEVBUl9GTEFHUyIsCV9JT0MoX0lPQ19OT05FLCdNJywzLDApIH0sCityZWdleHA9J15bWzpzcGFjZTpdXSojW1s6c3BhY2U6XV0qZGVmaW5lW1s6c3BhY2U6XV1cK1tBLVpdW0EtWjAtOV9dKltbOnNwYWNlOl1dXCtfU1w/XChJT1x8SU9XXHxJT1JcfElPV1JcKVw+JworKGNkICRkaXIgJiYgZ3JlcCAkcmVnZXhwICRmaWxlcyAyPi9kZXYvbnVsbCkgfCBcCisJc2VkIC1uIFwKKwktZSAicywkYXNtLyxhc20vLGciIFwKKwktZSAncy9eXCguKlwpOltbOnNwYWNlOl1dKiNbWzpzcGFjZTpdXSpkZWZpbmVbWzpzcGFjZTpdXSpcKFtBLVowLTlfXSpcKVtbOnNwYWNlOl1dKl9TXD9JLiooXChbXlssXSpcKVtbOnNwYWNlOl1dKixbWzpzcGFjZTpdXSpcKFteLCldKlwpLiovCXsgIlwxIiwJIlwyIiwJX0lPQyhfSU9DX05PTkUsXDMsXDQsMCkJfSwvcCcgXAorCT4+IGlvY3Rscy5oCisKKyMgU29ydCBhbmQgZHJvcCBkdXBzPworIyBzb3J0IC11IDxpb2N0bHMuaCA+aW9jdGxzMS5oICYmIG12IGlvY3RsczEuaCBpb2N0bHMuaAorCisKKz4gaW9jdGxkZWZzLmgKKworIyBDb2xsZWN0IHBvdGVudGlhbCBpb2N0bCBuYW1lcy4gKCdiYXNlcycgaXMgYSBiYWQgbmFtZS4gU2lnaCkKKyMgU29tZSB1c2UgYSBzcGVjaWFsIGJhc2UgdG8gb2Zmc2V0IHRoZWlyIGlvY3RscyBvbi4gRXh0cmFjdCB0aGF0IGFzIHdlbGwuCisjIFNvbWUgdXNlIDIgZGVmaW5lczogX0lPQyhfSU9DX05PTkUsRE1fSU9DVEwsRE1fTElTVF9ERVZJQ0VTX0NNRCwuLi4uKQorYmFzZXM9JChzZWQgLW4gXAorICAgICAgIC1lICdzLy4qX0lPQ19OT05FLiosW1s6c3BhY2U6XV0qXChbQS1aXVtBLVowLTlfXVwrXClbWzpzcGFjZTpdXSosW1s6c3BhY2U6XV0qXChbQS1aXVtBLVowLTlfXVwrXClbWzpzcGFjZTpdKyxdLiovXDFcblwyL3AnIFwKKyAgICAgICAtZSAncy8uKl9JT0NfTk9ORS4qLFtbOnNwYWNlOl1dKlwoW0EtWl1bQS1aMC05X11cK1wpW1s6c3BhY2U6XSssXS4qL1wxL3AnIFwKKyAgICAgICBpb2N0bHMuaCB8IHNvcnQgLXUpCisKK2ZvciBiYXNlIGluICRiYXNlczsgZG8KKwllY2hvICJMb29raW5nIGZvciAkYmFzZSIKKwlyZWdleHA9Il5bWzpzcGFjZTpdXSojW1s6c3BhY2U6XV0qZGVmaW5lW1s6c3BhY2U6XV1cKyRiYXNlIgorCWxpbmU9JCggKGNkICRkaXIgJiYgZ3JlcCAtaCAkcmVnZXhwIDI+L2Rldi9udWxsICRmaWxlcykgfCBncmVwIC12ICdcPF9JTycpCisJaWYgWyB4IiRsaW5lIiAhPSB4IF07IHRoZW4KKwkJZWNobyAiJGJhc2UgaXMgYSAjZGVmaW5lIiAjICIoJGxpbmUpIgorCQllY2hvICIkbGluZSIgPj4gaW9jdGxkZWZzLmgKKwlmaQorCisJaWYgISBncmVwICJcPCRiYXNlXD4iIGlvY3RsZGVmcy5oID4vZGV2L251bGwgMj4vZGV2L251bGw7IHRoZW4KKwkJIyBOb3QgYWxsIGlvY3RsJ3MgYXJlIGRlZmluZXMgLi4uIHNvbWUgKGxpa2UgdGhlIERNXyogc3R1ZmYpCisJCSMgYXJlIGVudW1zLCBzbyB3ZSBoYXZlIHRvIGV4dHJhY3QgdGhhdCBjcmFwIG91cnNlbGYKKwkJKAorCQljZCAkZGlyIHx8IGV4aXQKKwkJIyAtUDogaW5oaWJpdCBnZW5lcmF0aW9uIG9mIGxpbmVtYXJrZXJzCisJCSR7Q1BQOi1jcHB9IC1QICQoZ3JlcCAtbCAkYmFzZSAkZmlsZXMgMj4vZGV2L251bGwpIHwgc2VkICcvXiQvZCcgfCBcCisJCWF3ayAtdiBiYXNlPSIkYmFzZSIgJ3sKKwkJCWlmICgkMSA9PSAiZW51bSIpIHsKKwkJCQl2YWwgPSAwCisJCQkJd2hpbGUgKCRORiAhPSAifTsiKSB7CisJCQkJCWlmICghZ2V0bGluZSkKKwkJCQkJCWV4aXQKKwkJCQkJZ3N1YigvLC8sICIiKQorCQkJCQlpZiAoJDAgfiAvPS8pCisJCQkJCQl2YWwgPSAkTkYKKwkJCQkJaWYgKCQxID09IGJhc2UpIHsKKwkJCQkJCXByaW50ICIjZGVmaW5lICIgYmFzZSAiICgiIHZhbCAiKSIKKwkJCQkJCWV4aXQKKwkJCQkJfQorCQkJCQl2YWwrKworCQkJCX0KKwkJCX0KKwkJfScKKwkJKSA+PiBpb2N0bGRlZnMuaAorCQlpZiAhIGdyZXAgIlw8JGJhc2VcPiIgaW9jdGxkZWZzLmggPi9kZXYvbnVsbCAyPi9kZXYvbnVsbDsgdGhlbgorCQkJZWNobyAiQ2FuJ3QgZmluZCB0aGUgZGVmaW5pdGlvbiBmb3IgJGJhc2UiCisJCWVsc2UKKwkJCWVjaG8gIiRiYXNlIGlzIGFuIGVudW0iCisJCWZpCisJZmkKK2RvbmUKKworIyBTb3J0IGFuZCBkcm9wIGR1cHM/CisjIHNvcnQgLXUgPGlvY3RsZGVmcy5oID5pb2N0bGRlZnMxLmggJiYgbXYgaW9jdGxkZWZzMS5oIGlvY3RsZGVmcy5oCmRpZmYgLS1naXQgYS9zdHJhY2UtNC41LjIwL2xpbnV4L2lvY3Rsc29ydC5jIGIvc3RyYWNlLTQuNS4yMC9saW51eC9pb2N0bHNvcnQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wODYyYjJlCi0tLSAvZGV2L251bGwKKysrIGIvc3RyYWNlLTQuNS4yMC9saW51eC9pb2N0bHNvcnQuYwpAQCAtMCwwICsxLDUyIEBACisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworI2luY2x1ZGUgPGFzbS9pb2N0bC5oPgorI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisKKyNpbmNsdWRlICJpb2N0bGRlZnMuaCIKKyNpbmNsdWRlIDxsaW51eC9hdG1pb2MuaD4KKworc3RydWN0IGlvY3RsZW50IHsKKwljb25zdCBjaGFyKgloZWFkZXI7CisJY29uc3QgY2hhcioJbmFtZTsKKwl1bnNpZ25lZCBsb25nCWNvZGU7Cit9OworCitzdHJ1Y3QgaW9jdGxlbnQgaW9jdGxzW10gPSB7CisjaW5jbHVkZSAiaW9jdGxzLmgiCit9OworCitpbnQgbmlvY3RscyA9IHNpemVvZihpb2N0bHMpIC8gc2l6ZW9mKGlvY3Rsc1swXSk7CisKKworaW50IGNvbXBhcmUoY29uc3Qgdm9pZCogYSwgY29uc3Qgdm9pZCogYikgeworCXVuc2lnbmVkIGxvbmcgY29kZTEgPSAoKHN0cnVjdCBpb2N0bGVudCAqKSBhKS0+Y29kZTsKKwl1bnNpZ25lZCBsb25nIGNvZGUyID0gKChzdHJ1Y3QgaW9jdGxlbnQgKikgYiktPmNvZGU7CisJY29uc3QgY2hhciAqbmFtZTEgPSAoKHN0cnVjdCBpb2N0bGVudCAqKSBhKS0+bmFtZTsKKwljb25zdCBjaGFyICpuYW1lMiA9ICgoc3RydWN0IGlvY3RsZW50ICopIGIpLT5uYW1lOworCXJldHVybiAoY29kZTEgPiBjb2RlMikgPyAxIDogKGNvZGUxIDwgY29kZTIpID8gLTEgOiBzdHJjbXAgKG5hbWUxLCBuYW1lMik7Cit9CisKKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KSB7CisJaW50IGk7CisKKyNpZiBkZWZpbmVkKFBPV0VSUEMpIHx8IGRlZmluZWQoX19wb3dlcnBjX18pCQkJLyogdW5zcGVha2FibGUga2x1ZGdlICovCisJZm9yIChpID0gMDsgaSA8IG5pb2N0bHM7IGkrKykKKwkJaW9jdGxzW2ldLmNvZGUgJj0gfl9JT0NfRElSTUFTSzsKKyNlbmRpZgorCisJcXNvcnQoaW9jdGxzLCBuaW9jdGxzLCBzaXplb2YoaW9jdGxzWzBdKSwgY29tcGFyZSk7CisJcHV0cyAoIlx0LyogR2VuZXJhdGVkIGJ5IGlvY3Rsc29ydCAqLyIpOworCWZvciAoaSA9IDA7IGkgPCBuaW9jdGxzOyBpKyspCisJCWlmIChpID09IDAgfHwgaW9jdGxzW2ldLmNvZGUgIT0gaW9jdGxzW2ktMV0uY29kZSB8fAorCQkgICAgc3RyY21wIChpb2N0bHNbaV0ubmFtZSwgaW9jdGxzW2ktMV0ubmFtZSkpCisJCQlwcmludGYoIlx0e1wiJXNcIixcdFwiJXNcIixcdCUjbHh9LFxuIiwKKwkJCQlpb2N0bHNbaV0uaGVhZGVyLCBpb2N0bHNbaV0ubmFtZSwgaW9jdGxzW2ldLmNvZGUpOworCisJcmV0dXJuIDA7Cit9CmRpZmYgLS1naXQgYS9zdHJhY2UtNC41LjIwL2xpbnV4L202OGsvc3lzY2FsbGVudC5oIGIvc3RyYWNlLTQuNS4yMC9saW51eC9tNjhrL3N5c2NhbGxlbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYmEyZjdmCi0tLSAvZGV2L251bGwKKysrIGIvc3RyYWNlLTQuNS4yMC9saW51eC9tNjhrL3N5c2NhbGxlbnQuaApAQCAtMCwwICsxLDQ4MyBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMTk5MyBCcmFua28gTGFua2VzdGVyIDxicmFua29AaGFja3RpYy5ubD4KKyAqIENvcHlyaWdodCAoYykgMTk5MywgMTk5NCwgMTk5NSBSaWNrIFNsYWRrZXkgPGpyc0B3b3JsZC5zdGQuY29tPgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIFRoZSBuYW1lIG9mIHRoZSBhdXRob3IgbWF5IG5vdCBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cworICogICAgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQVVUSE9SIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1MgT1IKKyAqIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMKKyAqIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuCisgKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCisgKiBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQKKyAqIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICoKKyAqCSRJZCQKKyAqLworCisJeyAwLAkwLAlzeXNfcmVzdGFydF9zeXNjYWxsLAkicmVzdGFydF9zeXNjYWxsIiB9LCAvKiAwICovCisJeyAxLAlUUCwJc3lzX2V4aXQsCQkiX2V4aXQiLCBTWVNfZXhpdCB9LCAvKiAxICovCisJeyAwLAlUUCwJc3lzX2ZvcmssCQkiZm9yayIsIFNZU19mb3JrIH0sIC8qIDIgKi8KKwl7IDMsCTAsCXN5c19yZWFkLAkJInJlYWQiLCBTWVNfcmVhZCB9LCAvKiAzICovCisJeyAzLAkwLAlzeXNfd3JpdGUsCQkid3JpdGUiLCBTWVNfd3JpdGUgfSwgLyogNCAqLworCXsgMywJVEYsCXN5c19vcGVuLAkJIm9wZW4iCQl9LCAvKiA1ICovCisJeyAxLAkwLAlzeXNfY2xvc2UsCQkiY2xvc2UiCQl9LCAvKiA2ICovCisJeyAzLAlUUCwJc3lzX3dhaXRwaWQsCQkid2FpdHBpZCIsIFNZU193YWl0NCB9LCAvKiA3ICovCisJeyAyLAlURiwJc3lzX2NyZWF0LAkJImNyZWF0IgkJfSwgLyogOCAqLworCXsgMiwJVEYsCXN5c19saW5rLAkJImxpbmsiCQl9LCAvKiA5ICovCisJeyAxLAlURiwJc3lzX3VubGluaywJCSJ1bmxpbmsiCX0sIC8qIDEwICovCisJeyAzLAlURnxUUCwJc3lzX2V4ZWN2ZSwJCSJleGVjdmUiLCBTWVNfZXhlY3ZlIH0sIC8qIDExICovCisJeyAxLAlURiwJc3lzX2NoZGlyLAkJImNoZGlyIgkJfSwgLyogMTIgKi8KKwl7IDEsCTAsCXN5c190aW1lLAkJInRpbWUiCQl9LCAvKiAxMyAqLworCXsgMywJVEYsCXN5c19ta25vZCwJCSJta25vZCIJCX0sIC8qIDE0ICovCisJeyAyLAlURiwJc3lzX2NobW9kLAkJImNobW9kIgkJfSwgLyogMTUgKi8KKwl7IDMsCVRGLAlzeXNfY2hvd24sCQkiY2hvd24iCQl9LCAvKiAxNiAqLworCXsgMCwJMCwJc3lzX2JyZWFrLAkJImJyZWFrIgkJfSwgLyogMTcgKi8KKwl7IDIsCVRGLAlzeXNfb2xkc3RhdCwJCSJvbGRzdGF0Igl9LCAvKiAxOCAqLworCXsgMywJMCwJc3lzX2xzZWVrLAkJImxzZWVrIgkJfSwgLyogMTkgKi8KKwl7IDAsCTAsCXN5c19nZXRwaWQsCQkiZ2V0cGlkIgl9LCAvKiAyMCAqLworCXsgNSwJVEYsCXN5c19tb3VudCwJCSJtb3VudCIJCX0sIC8qIDIxICovCisJeyAxLAlURiwJc3lzX3Vtb3VudCwJCSJvbGR1bW91bnQiCX0sIC8qIDIyICovCisJeyAxLAkwLAlzeXNfc2V0dWlkLAkJInNldHVpZCIJfSwgLyogMjMgKi8KKwl7IDAsCTAsCXN5c19nZXR1aWQsCQkiZ2V0dWlkIgl9LCAvKiAyNCAqLworCXsgMSwJMCwJc3lzX3N0aW1lLAkJInN0aW1lIgkJfSwgLyogMjUgKi8KKwl7IDQsCTAsCXN5c19wdHJhY2UsCQkicHRyYWNlIgl9LCAvKiAyNiAqLworCXsgMSwJMCwJc3lzX2FsYXJtLAkJImFsYXJtIgkJfSwgLyogMjcgKi8KKwl7IDIsCTAsCXN5c19vbGRmc3RhdCwJCSJvbGRmc3RhdCIJfSwgLyogMjggKi8KKwl7IDAsCVRTLAlzeXNfcGF1c2UsCQkicGF1c2UiCQl9LCAvKiAyOSAqLworCXsgMiwJVEYsCXN5c191dGltZSwJCSJ1dGltZSIJCX0sIC8qIDMwICovCisJeyAyLAkwLAlzeXNfc3R0eSwJCSJzdHR5IgkJfSwgLyogMzEgKi8KKwl7IDIsCTAsCXN5c19ndHR5LAkJImd0dHkiCQl9LCAvKiAzMiAqLworCXsgMiwJVEYsCXN5c19hY2Nlc3MsCQkiYWNjZXNzIgl9LCAvKiAzMyAqLworCXsgMSwJMCwJc3lzX25pY2UsCQkibmljZSIJCX0sIC8qIDM0ICovCisJeyAwLAkwLAlzeXNfZnRpbWUsCQkiZnRpbWUiCQl9LCAvKiAzNSAqLworCXsgMCwJMCwJc3lzX3N5bmMsCQkic3luYyIJCX0sIC8qIDM2ICovCisJeyAyLAlUUywJc3lzX2tpbGwsCQkia2lsbCIJCX0sIC8qIDM3ICovCisJeyAyLAlURiwJc3lzX3JlbmFtZSwJCSJyZW5hbWUiCX0sIC8qIDM4ICovCisJeyAyLAlURiwJc3lzX21rZGlyLAkJIm1rZGlyIgkJfSwgLyogMzkgKi8KKwl7IDEsCVRGLAlzeXNfcm1kaXIsCQkicm1kaXIiCQl9LCAvKiA0MCAqLworCXsgMSwJMCwJc3lzX2R1cCwJCSJkdXAiCQl9LCAvKiA0MSAqLworCXsgMSwJMCwJc3lzX3BpcGUsCQkicGlwZSIJCX0sIC8qIDQyICovCisJeyAxLAkwLAlzeXNfdGltZXMsCQkidGltZXMiCQl9LCAvKiA0MyAqLworCXsgMCwJMCwJc3lzX3Byb2YsCQkicHJvZiIJCX0sIC8qIDQ0ICovCisJeyAxLAkwLAlzeXNfYnJrLAkJImJyayIJCX0sIC8qIDQ1ICovCisJeyAxLAkwLAlzeXNfc2V0Z2lkLAkJInNldGdpZCIJfSwgLyogNDYgKi8KKwl7IDAsCTAsCXN5c19nZXRnaWQsCQkiZ2V0Z2lkIgl9LCAvKiA0NyAqLworCXsgMywJVFMsCXN5c19zaWduYWwsCQkic2lnbmFsIgl9LCAvKiA0OCAqLworCXsgMCwJMCwJc3lzX2dldGV1aWQsCQkiZ2V0ZXVpZCIJfSwgLyogNDkgKi8KKwl7IDAsCTAsCXN5c19nZXRlZ2lkLAkJImdldGVnaWQiCX0sIC8qIDUwICovCisJeyAxLAlURiwJc3lzX2FjY3QsCQkiYWNjdCIJCX0sIC8qIDUxICovCisJeyAyLAlURiwJc3lzX3Vtb3VudDIsCQkidW1vdW50Igl9LCAvKiA1MiAqLworCXsgMCwJMCwJc3lzX2xvY2ssCQkibG9jayIJCX0sIC8qIDUzICovCisJeyAzLAkwLAlzeXNfaW9jdGwsCQkiaW9jdGwiCQl9LCAvKiA1NCAqLworCXsgMywJMCwJc3lzX2ZjbnRsLAkJImZjbnRsIgkJfSwgLyogNTUgKi8KKwl7IDAsCTAsCXN5c19tcHgsCQkibXB4IgkJfSwgLyogNTYgKi8KKwl7IDIsCTAsCXN5c19zZXRwZ2lkLAkJInNldHBnaWQiCX0sIC8qIDU3ICovCisJeyAyLAkwLAlzeXNfdWxpbWl0LAkJInVsaW1pdCIJfSwgLyogNTggKi8KKwl7IDEsCTAsCXN5c19vbGRvbGR1bmFtZSwJIm9sZG9sZHVuYW1lIgl9LCAvKiA1OSAqLworCXsgMSwJMCwJc3lzX3VtYXNrLAkJInVtYXNrIgkJfSwgLyogNjAgKi8KKwl7IDEsCVRGLAlzeXNfY2hyb290LAkJImNocm9vdCIJfSwgLyogNjEgKi8KKwl7IDIsCTAsCXN5c191c3RhdCwJCSJ1c3RhdCIJCX0sIC8qIDYyICovCisJeyAyLAkwLAlzeXNfZHVwMiwJCSJkdXAyIgkJfSwgLyogNjMgKi8KKwl7IDAsCTAsCXN5c19nZXRwcGlkLAkJImdldHBwaWQiCX0sIC8qIDY0ICovCisJeyAwLAkwLAlzeXNfZ2V0cGdycCwJCSJnZXRwZ3JwIgl9LCAvKiA2NSAqLworCXsgMCwJMCwJc3lzX3NldHNpZCwJCSJzZXRzaWQiCX0sIC8qIDY2ICovCisJeyAzLAlUUywJc3lzX3NpZ2FjdGlvbiwJCSJzaWdhY3Rpb24iCX0sIC8qIDY3ICovCisJeyAwLAlUUywJc3lzX3NpZ2dldG1hc2ssCQkic2lnZ2V0bWFzayIJfSwgLyogNjggKi8KKwl7IDEsCVRTLAlzeXNfc2lnc2V0bWFzaywJCSJzaWdzZXRtYXNrIgl9LCAvKiA2OSAqLworCXsgMiwJMCwJc3lzX3NldHJldWlkLAkJInNldHJldWlkIgl9LCAvKiA3MCAqLworCXsgMiwJMCwJc3lzX3NldHJlZ2lkLAkJInNldHJlZ2lkIgl9LCAvKiA3MSAqLworCXsgMywJVFMsCXN5c19zaWdzdXNwZW5kLAkJInNpZ3N1c3BlbmQiCX0sIC8qIDcyICovCisJeyAxLAlUUywJc3lzX3NpZ3BlbmRpbmcsCQkic2lncGVuZGluZyIJfSwgLyogNzMgKi8KKwl7IDIsCTAsCXN5c19zZXRob3N0bmFtZSwJInNldGhvc3RuYW1lIgl9LCAvKiA3NCAqLworCXsgMiwJMCwJc3lzX3NldHJsaW1pdCwJCSJzZXRybGltaXQiCX0sIC8qIDc1ICovCisJeyAyLAkwLAlzeXNfZ2V0cmxpbWl0LAkJIm9sZF9nZXRybGltaXQiCX0sIC8qIDc2ICovCisJeyAyLAkwLAlzeXNfZ2V0cnVzYWdlLAkJImdldHJ1c2FnZSIJfSwgLyogNzcgKi8KKwl7IDIsCTAsCXN5c19nZXR0aW1lb2ZkYXksCSJnZXR0aW1lb2ZkYXkiCX0sIC8qIDc4ICovCisJeyAyLAkwLAlzeXNfc2V0dGltZW9mZGF5LAkic2V0dGltZW9mZGF5Igl9LCAvKiA3OSAqLworCXsgMiwJMCwJc3lzX2dldGdyb3VwcywJCSJnZXRncm91cHMiCX0sIC8qIDgwICovCisJeyAyLAkwLAlzeXNfc2V0Z3JvdXBzLAkJInNldGdyb3VwcyIJfSwgLyogODEgKi8KKwl7IDEsCTAsCXN5c19vbGRzZWxlY3QsCQkib2xkc2VsZWN0Igl9LCAvKiA4MiAqLworCXsgMiwJVEYsCXN5c19zeW1saW5rLAkJInN5bWxpbmsiCX0sIC8qIDgzICovCisJeyAyLAlURiwJc3lzX29sZGxzdGF0LAkJIm9sZGxzdGF0Igl9LCAvKiA4NCAqLworCXsgMywJVEYsCXN5c19yZWFkbGluaywJCSJyZWFkbGluayIJfSwgLyogODUgKi8KKwl7IDEsCVRGLAlzeXNfdXNlbGliLAkJInVzZWxpYiIJfSwgLyogODYgKi8KKwl7IDEsCVRGLAlzeXNfc3dhcG9uLAkJInN3YXBvbiIJfSwgLyogODcgKi8KKwl7IDMsCTAsCXN5c19yZWJvb3QsCQkicmVib290Igl9LCAvKiA4OCAqLworCXsgMywJMCwJc3lzX3JlYWRkaXIsCQkicmVhZGRpciIJfSwgLyogODkgKi8KKwl7IDYsCTAsCXN5c19vbGRfbW1hcCwJCSJvbGRfbW1hcCIJfSwgLyogOTAgKi8KKwl7IDIsCTAsCXN5c19tdW5tYXAsCQkibXVubWFwIgl9LCAvKiA5MSAqLworCXsgMiwJVEYsCXN5c190cnVuY2F0ZSwJCSJ0cnVuY2F0ZSIJfSwgLyogOTIgKi8KKwl7IDIsCTAsCXN5c19mdHJ1bmNhdGUsCQkiZnRydW5jYXRlIgl9LCAvKiA5MyAqLworCXsgMiwJMCwJc3lzX2ZjaG1vZCwJCSJmY2htb2QiCX0sIC8qIDk0ICovCisJeyAzLAkwLAlzeXNfZmNob3duLAkJImZjaG93biIJfSwgLyogOTUgKi8KKwl7IDIsCTAsCXN5c19nZXRwcmlvcml0eSwJImdldHByaW9yaXR5Igl9LCAvKiA5NiAqLworCXsgMywJMCwJc3lzX3NldHByaW9yaXR5LAkic2V0cHJpb3JpdHkiCX0sIC8qIDk3ICovCisJeyA0LAkwLAlzeXNfcHJvZmlsLAkJInByb2ZpbCIJfSwgLyogOTggKi8KKwl7IDIsCVRGLAlzeXNfc3RhdGZzLAkJInN0YXRmcyIJfSwgLyogOTkgKi8KKwl7IDIsCTAsCXN5c19mc3RhdGZzLAkJImZzdGF0ZnMiCX0sIC8qIDEwMCAqLworCXsgMywJMCwJc3lzX2lvcGVybSwJCSJpb3Blcm0iCX0sIC8qIDEwMSAqLworCXsgMiwJMCwJc3lzX3NvY2tldGNhbGwsCQkic29ja2V0Y2FsbCIsIFNZU19zb2NrZXRjYWxsIH0sIC8qIDEwMiAqLworCXsgMywJMCwJc3lzX3N5c2xvZywJCSJzeXNsb2ciCX0sIC8qIDEwMyAqLworCXsgMywJMCwJc3lzX3NldGl0aW1lciwJCSJzZXRpdGltZXIiCX0sIC8qIDEwNCAqLworCXsgMiwJMCwJc3lzX2dldGl0aW1lciwJCSJnZXRpdGltZXIiCX0sIC8qIDEwNSAqLworCXsgMiwJVEYsCXN5c19zdGF0LAkJInN0YXQiCQl9LCAvKiAxMDYgKi8KKwl7IDIsCVRGLAlzeXNfbHN0YXQsCQkibHN0YXQiCQl9LCAvKiAxMDcgKi8KKwl7IDIsCTAsCXN5c19mc3RhdCwJCSJmc3RhdCIJCX0sIC8qIDEwOCAqLworCXsgMSwJMCwJc3lzX29sZHVuYW1lLAkJIm9sZHVuYW1lIgl9LCAvKiAxMDkgKi8KKwl7IDEsCTAsCXN5c19pb3BsLAkJImlvcGwiCQl9LCAvKiAxMTAgKi8KKwl7IDAsCTAsCXN5c192aGFuZ3VwLAkJInZoYW5ndXAiCX0sIC8qIDExMSAqLworCXsgMCwJMCwJc3lzX2lkbGUsCQkiaWRsZSIJCX0sIC8qIDExMiAqLworCXsgMSwJMCwJc3lzX3ZtODZvbGQsCQkidm04Nm9sZCIJfSwgLyogMTEzICovCisJeyA0LAlUUCwJc3lzX3dhaXQ0LAkJIndhaXQ0IiwgU1lTX3dhaXQ0IH0sIC8qIDExNCAqLworCXsgMSwJMCwJc3lzX3N3YXBvZmYsCQkic3dhcG9mZiIJfSwgLyogMTE1ICovCisJeyAxLAkwLAlzeXNfc3lzaW5mbywJCSJzeXNpbmZvIgl9LCAvKiAxMTYgKi8KKwl7IDYsCTAsCXN5c19pcGMsCQkiaXBjIiwgU1lTX2lwYyB9LCAvKiAxMTcgKi8KKwl7IDEsCTAsCXN5c19mc3luYywJCSJmc3luYyIJCX0sIC8qIDExOCAqLworCXsgMSwJVFMsCXN5c19zaWdyZXR1cm4sCQkic2lncmV0dXJuIgl9LCAvKiAxMTkgKi8KKwl7IDUsCVRQLAlzeXNfY2xvbmUsCQkiY2xvbmUiLCBTWVNfY2xvbmUgfSwgLyogMTIwICovCisJeyAyLAkwLAlzeXNfc2V0ZG9tYWlubmFtZSwJInNldGRvbWFpbm5hbWUiCX0sIC8qIDEyMSAqLworCXsgMSwJMCwJc3lzX3VuYW1lLAkJInVuYW1lIgkJfSwgLyogMTIyICovCisJeyA0LAkwLAlzeXNfY2FjaGVmbHVzaCwJCSJjYWNoZWZsdXNoIgl9LCAvKiAxMjMgKi8KKwl7IDEsCTAsCXN5c19hZGp0aW1leCwJCSJhZGp0aW1leCIJfSwgLyogMTI0ICovCisJeyAzLAkwLAlzeXNfbXByb3RlY3QsCQkibXByb3RlY3QiCX0sIC8qIDEyNSAqLworCXsgMywJVFMsCXN5c19zaWdwcm9jbWFzaywJInNpZ3Byb2NtYXNrIgl9LCAvKiAxMjYgKi8KKwl7IDIsCTAsCXN5c19jcmVhdGVfbW9kdWxlLAkiY3JlYXRlX21vZHVsZSIJfSwgLyogMTI3ICovCisJeyAzLAkwLAlzeXNfaW5pdF9tb2R1bGUsCSJpbml0X21vZHVsZSIJfSwgLyogMTI4ICovCisJeyAyLAkwLAlzeXNfZGVsZXRlX21vZHVsZSwJImRlbGV0ZV9tb2R1bGUiCX0sIC8qIDEyOSAqLworCXsgMSwJMCwJc3lzX2dldF9rZXJuZWxfc3ltcywJImdldF9rZXJuZWxfc3ltcyJ9LCAvKiAxMzAgKi8KKwl7IDQsCTAsCXN5c19xdW90YWN0bCwJCSJxdW90YWN0bCIJfSwgLyogMTMxICovCisJeyAxLAkwLAlzeXNfZ2V0cGdpZCwJCSJnZXRwZ2lkIgl9LCAvKiAxMzIgKi8KKwl7IDEsCTAsCXN5c19mY2hkaXIsCQkiZmNoZGlyIgl9LCAvKiAxMzMgKi8KKwl7IDAsCTAsCXN5c19iZGZsdXNoLAkJImJkZmx1c2giCX0sIC8qIDEzNCAqLworCXsgMywJMCwJc3lzX3N5c2ZzLAkJInN5c2ZzIiwgU1lTX3N5c2ZzIH0sIC8qIDEzNSAqLworCXsgMSwJMCwJc3lzX3BlcnNvbmFsaXR5LAkicGVyc29uYWxpdHkiCX0sIC8qIDEzNiAqLworCXsgNSwJMCwJc3lzX2Fmc19zeXNjYWxsLAkiYWZzX3N5c2NhbGwiCX0sIC8qIDEzNyAqLworCXsgMSwJMCwJc3lzX3NldGZzdWlkLAkJInNldGZzdWlkIgl9LCAvKiAxMzggKi8KKwl7IDEsCTAsCXN5c19zZXRmc2dpZCwJCSJzZXRmc2dpZCIJfSwgLyogMTM5ICovCisJeyA1LAkwLAlzeXNfbGxzZWVrLAkJIl9sbHNlZWsiCX0sIC8qIDE0MCAqLworCXsgMywJMCwJc3lzX2dldGRlbnRzLAkJImdldGRlbnRzIgl9LCAvKiAxNDEgKi8KKwl7IDUsCTAsCXN5c19zZWxlY3QsCQkic2VsZWN0Igl9LCAvKiAxNDIgKi8KKwl7IDIsCTAsCXN5c19mbG9jaywJCSJmbG9jayIJCX0sIC8qIDE0MyAqLworCXsgMywJMCwJc3lzX21zeW5jLAkJIm1zeW5jIgkJfSwgLyogMTQ0ICovCisJeyAzLAkwLAlzeXNfcmVhZHYsCQkicmVhZHYiLCBTWVNfcmVhZHYgfSwgLyogMTQ1ICovCisJeyAzLAkwLAlzeXNfd3JpdGV2LAkJIndyaXRldiIsIFNZU193cml0ZXYgfSwgLyogMTQ2ICovCisJeyAxLAkwLAlzeXNfZ2V0c2lkLAkJImdldHNpZCIJfSwgLyogMTQ3ICovCisJeyAxLAkwLAlzeXNfZmRhdGFzeW5jLAkJImZkYXRhc3luYyIJfSwgLyogMTQ4ICovCisJeyAxLAkwLAlzeXNfc3lzY3RsLAkJIl9zeXNjdGwiCX0sIC8qIDE0OSAqLworCXsgMiwJMCwJc3lzX21sb2NrLAkJIm1sb2NrIgkJfSwgLyogMTUwICovCisJeyAyLAkwLAlzeXNfbXVubG9jaywJCSJtdW5sb2NrIgl9LCAvKiAxNTEgKi8KKwl7IDIsCTAsCXN5c19tbG9ja2FsbCwJCSJtbG9ja2FsbCIJfSwgLyogMTUyICovCisJeyAwLAkwLAlzeXNfbXVubG9ja2FsbCwJCSJtdW5sb2NrYWxsIgl9LCAvKiAxNTMgKi8KKwl7IDAsCTAsCXN5c19zY2hlZF9zZXRwYXJhbSwJInNjaGVkX3NldHBhcmFtIn0sIC8qIDE1NCAqLworCXsgMiwJMCwJc3lzX3NjaGVkX2dldHBhcmFtLAkic2NoZWRfZ2V0cGFyYW0ifSwgLyogMTU1ICovCisJeyAzLAkwLAlzeXNfc2NoZWRfc2V0c2NoZWR1bGVyLAkic2NoZWRfc2V0c2NoZWR1bGVyIn0sIC8qIDE1NiAqLworCXsgMSwJMCwJc3lzX3NjaGVkX2dldHNjaGVkdWxlciwJInNjaGVkX2dldHNjaGVkdWxlciJ9LCAvKiAxNTcgKi8KKwl7IDAsCTAsCXN5c19zY2hlZF95aWVsZCwJInNjaGVkX3lpZWxkIn0sIC8qIDE1OCAqLworCXsgMSwJMCwJc3lzX3NjaGVkX2dldF9wcmlvcml0eV9tYXgsInNjaGVkX2dldF9wcmlvcml0eV9tYXgifSwgLyogMTU5ICovCisJeyAxLAkwLAlzeXNfc2NoZWRfZ2V0X3ByaW9yaXR5X21pbiwic2NoZWRfZ2V0X3ByaW9yaXR5X21pbiJ9LCAvKiAxNjAgKi8KKwl7IDIsCTAsCXN5c19zY2hlZF9ycl9nZXRfaW50ZXJ2YWwsInNjaGVkX3JyX2dldF9pbnRlcnZhbCJ9LCAvKiAxNjEgKi8KKwl7IDIsCTAsCXN5c19uYW5vc2xlZXAsCQkibmFub3NsZWVwIgl9LCAvKiAxNjIgKi8KKwl7IDUsCTAsCXN5c19tcmVtYXAsCQkibXJlbWFwIgl9LCAvKiAxNjMgKi8KKwl7IDMsCTAsCXN5c19zZXRyZXN1aWQsCQkic2V0cmVzdWlkIgl9LCAvKiAxNjQgKi8KKwl7IDMsCTAsCXN5c19nZXRyZXN1aWQsCQkiZ2V0cmVzdWlkIgl9LCAvKiAxNjUgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJnZXRwYWdlc2l6ZSIJfSwgLyogMTY2ICovCisJeyA1LAkwLAlzeXNfcXVlcnlfbW9kdWxlLAkicXVlcnlfbW9kdWxlIgl9LCAvKiAxNjcgKi8KKwl7IDMsCTAsCXN5c19wb2xsLAkJInBvbGwiCQl9LCAvKiAxNjggKi8KKwl7IDMsCTAsCXByaW50YXJncywJCSJuZnNzZXJ2Y3RsIgl9LCAvKiAxNjkgKi8KKwl7IDMsCTAsCXN5c19zZXRyZXNnaWQsCQkic2V0cmVzZ2lkIgl9LCAvKiAxNzAgKi8KKwl7IDMsCTAsCXN5c19nZXRyZXNnaWQsCQkiZ2V0cmVzZ2lkIgl9LCAvKiAxNzEgKi8KKwl7IDUsCTAsCXN5c19wcmN0bCwJCSJwcmN0bCIJCX0sIC8qIDE3MiAqLworCXsgMSwJVFMsCXByaW50YXJncywJCSJydF9zaWdyZXR1cm4iCX0sIC8qIDE3MyAqLworCXsgNCwJVFMsCXN5c19ydF9zaWdhY3Rpb24sCSJydF9zaWdhY3Rpb24iICB9LCAvKiAxNzQgKi8KKwl7IDQsCVRTLAlzeXNfcnRfc2lncHJvY21hc2ssCSJydF9zaWdwcm9jbWFzayJ9LCAvKiAxNzUgKi8KKwl7IDIsCVRTLAlzeXNfcnRfc2lncGVuZGluZywJInJ0X3NpZ3BlbmRpbmciCX0sIC8qIDE3NiAqLworCXsgNCwJVFMsCXN5c19ydF9zaWd0aW1lZHdhaXQsCSJydF9zaWd0aW1lZHdhaXQifSwgLyogMTc3ICovCisJeyAzLAlUUywJc3lzX3J0X3NpZ3F1ZXVlaW5mbywgICAgInJ0X3NpZ3F1ZXVlaW5mbyJ9LCAvKiAxNzggKi8KKwl7IDIsCVRTLAlzeXNfcnRfc2lnc3VzcGVuZCwJInJ0X3NpZ3N1c3BlbmQiCX0sIC8qIDE3OSAqLworCXsgNSwJVEYsCXN5c19wcmVhZCwJCSJwcmVhZDY0IiwgU1lTX3JlYWQgfSwgLyogMTgwICovCisJeyA1LAlURiwJc3lzX3B3cml0ZSwJCSJwd3JpdGU2NCIsIFNZU193cml0ZSB9LCAvKiAxODEgKi8KKwl7IDMsCVRGLAlzeXNfY2hvd24sCQkibGNob3duIgl9LCAvKiAxODIgKi8KKwl7IDIsCVRGLAlzeXNfZ2V0Y3dkLAkJImdldGN3ZCIJfSwgLyogMTgzICovCisJeyAyLAkwLAlzeXNfY2FwZ2V0LAkJImNhcGdldCIJfSwgLyogMTg0ICovCisJeyAyLAkwLAlzeXNfY2Fwc2V0LAkJImNhcHNldCIJfSwgLyogMTg1ICovCisJeyAyLAlUUywJc3lzX3NpZ2FsdHN0YWNrLAkic2lnYWx0c3RhY2siCX0sIC8qIDE4NiAqLworCXsgNCwJVER8VE4sCXN5c19zZW5kZmlsZSwJCSJzZW5kZmlsZSIJfSwgLyogMTg3ICovCisJeyA1LAkwLAlzeXNfZ2V0cG1zZywJCSJnZXRwbXNnIgl9LCAvKiAxODggKi8KKwl7IDUsCTAsCXN5c19wdXRwbXNnLAkJInB1dHBtc2ciCX0sIC8qIDE4OSAqLworCXsgMCwJVFAsCXN5c192Zm9yaywJCSJ2Zm9yayIsIFNZU192Zm9yayB9LCAvKiAxOTAgKi8KKwl7IDIsCTAsCXN5c19nZXRybGltaXQsCQkiZ2V0cmxpbWl0Igl9LCAvKiAxOTEgKi8KKwl7IDYsCTAsCXN5c19tbWFwLAkJIm1tYXAyIgkJfSwgLyogMTkyICovCisJeyAzLAlURiwJc3lzX3RydW5jYXRlNjQsCQkidHJ1bmNhdGU2NCIJfSwgLyogMTkzICovCisJeyAzLAlURiwJc3lzX2Z0cnVuY2F0ZTY0LAkiZnRydW5jYXRlNjQiCX0sIC8qIDE5NCAqLworCXsgMiwJVEYsCXN5c19zdGF0NjQsCQkic3RhdDY0Igl9LCAvKiAxOTUgKi8KKwl7IDIsCVRGLAlzeXNfbHN0YXQ2NCwJCSJsc3RhdDY0Igl9LCAvKiAxOTYgKi8KKwl7IDIsCVRGLAlzeXNfZnN0YXQ2NCwJCSJmc3RhdDY0Igl9LCAvKiAxOTcgKi8KKwl7IDMsCVRGLAlzeXNfY2hvd24sCQkiY2hvd24zMiIJfSwgLyogMTk4ICovCisJeyAwLAkwLAlzeXNfZ2V0dWlkLAkJImdldHVpZDMyIgl9LCAvKiAxOTkgKi8KKwl7IDAsCTAsCXN5c19nZXRnaWQsCQkiZ2V0Z2lkMzIiCX0sIC8qIDIwMCAqLworCXsgMCwJMCwJc3lzX2dldGV1aWQsCQkiZ2V0ZXVpZDMyIgl9LCAvKiAyMDEgKi8KKwl7IDAsCTAsCXN5c19nZXRldWlkLAkJImdldGVnaWQzMiIJfSwgLyogMjAyICovCisJeyAyLAkwLAlzeXNfc2V0cmV1aWQsCQkic2V0cmV1aWQzMiIJfSwgLyogMjAzICovCisJeyAyLAkwLAlzeXNfc2V0cmVnaWQsCQkic2V0cmVnaWQzMiIJfSwgLyogMjA0ICovCisJeyAyLAkwLAlzeXNfZ2V0Z3JvdXBzMzIsCSJnZXRncm91cHMzMiIJfSwgLyogMjA1ICovCisJeyAyLAkwLAlzeXNfc2V0Z3JvdXBzMzIsCSJzZXRncm91cHMzMiIJfSwgLyogMjA2ICovCisJeyAzLAkwLAlzeXNfZmNob3duLAkJImZjaG93bjMyIgl9LCAvKiAyMDcgKi8KKwl7IDMsCTAsCXN5c19zZXRyZXN1aWQsCQkic2V0cmVzdWlkMzIiCX0sIC8qIDIwOCAqLworCXsgMywJMCwJc3lzX2dldHJlc3VpZCwJCSJnZXRyZXN1aWQzMiIJfSwgLyogMjA5ICovCisJeyAzLAkwLAlzeXNfc2V0cmVzZ2lkLAkJInNldHJlc2dpZDMyIgl9LCAvKiAyMTAgKi8KKwl7IDMsCTAsCXN5c19nZXRyZXNnaWQsCQkiZ2V0cmVzZ2lkMzIiCX0sIC8qIDIxMSAqLworCXsgMywJVEYsCXN5c19jaG93biwJCSJsY2hvd24zMiIJfSwgLyogMjEyICovCisJeyAxLAkwLAlzeXNfc2V0dWlkLAkJInNldHVpZDMyIgl9LCAvKiAyMTMgKi8KKwl7IDEsCTAsCXN5c19zZXRnaWQsCQkic2V0Z2lkMzIiCX0sIC8qIDIxNCAqLworCXsgMSwJMCwJc3lzX3NldGZzdWlkLAkJInNldGZzdWlkMzIiCX0sIC8qIDIxNSAqLworCXsgMSwJMCwJc3lzX3NldGZzZ2lkLAkJInNldGZzZ2lkMzIiCX0sIC8qIDIxNiAqLworCXsgMiwJVEYsCXN5c19waXZvdHJvb3QsCQkicGl2b3Rfcm9vdCIJfSwgLyogMjE3ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzIxOCIJfSwgLyogMjE4ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzIxOSIJfSwgLyogMjE5ICovCisJeyAzLAlURCwJc3lzX2dldGRlbnRzNjQsCQkiZ2V0ZGVudHM2NCIJfSwgLyogMjIwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiZ2V0dGlkIgl9LCAvKiAyMjEgKi8KKwl7IDIsCVRTLAlzeXNfa2lsbCwJCSJ0a2lsbCIJCX0sIC8qIDIyMiAqLworCXsgNSwJVEYsCXN5c19zZXR4YXR0ciwJCSJzZXR4YXR0ciIJfSwgLyogMjIzICovCisJeyA1LAlURiwJc3lzX3NldHhhdHRyLAkJImxzZXR4YXR0ciIJfSwgLyogMjI0ICovCisJeyA1LAkwLAlzeXNfZnNldHhhdHRyLAkJImZzZXR4YXR0ciIJfSwgLyogMjI1ICovCisJeyA0LAlURiwJc3lzX2dldHhhdHRyLAkJImdldHhhdHRyIgl9LCAvKiAyMjYgKi8KKwl7IDQsCVRGLAlzeXNfZ2V0eGF0dHIsCQkibGdldHhhdHRyIgl9LCAvKiAyMjcgKi8KKwl7IDQsCTAsCXN5c19mZ2V0eGF0dHIsCQkiZmdldHhhdHRyIgl9LCAvKiAyMjggKi8KKwl7IDMsCVRGLAlzeXNfbGlzdHhhdHRyLAkJImxpc3R4YXR0ciIJfSwgLyogMjI5ICovCisJeyAzLAlURiwJc3lzX2xpc3R4YXR0ciwJCSJsbGlzdHhhdHRyIgl9LCAvKiAyMzAgKi8KKwl7IDMsCTAsCXN5c19mbGlzdHhhdHRyLAkJImZsaXN0eGF0dHIiCX0sIC8qIDIzMSAqLworCXsgMiwJVEYsCXN5c19yZW1vdmV4YXR0ciwJInJlbW92ZXhhdHRyIgl9LCAvKiAyMzIgKi8KKwl7IDIsCVRGLAlzeXNfcmVtb3ZleGF0dHIsCSJscmVtb3ZleGF0dHIiCX0sIC8qIDIzMyAqLworCXsgMiwJMCwJc3lzX2ZyZW1vdmV4YXR0ciwJImZyZW1vdmV4YXR0ciIJfSwgLyogMjM0ICovCisJeyA2LAkwLAlzeXNfZnV0ZXgsCQkiZnV0ZXgiCQl9LCAvKiAyMzUgKi8KKwl7IDQsCVRGLAlzeXNfc2VuZGZpbGU2NCwJCSJzZW5kZmlsZTY0Igl9LCAvKiAyMzYgKi8KKwl7IDMsCTAsCXN5c19taW5jb3JlLAkJIm1pbmNvcmUiCX0sIC8qIDIzNyAqLworCXsgMywJMCwJc3lzX21hZHZpc2UsCQkibWFkdmlzZSIJfSwgLyogMjM4ICovCisJeyAzLAkwLAlzeXNfZmNudGwsCQkiZmNudGw2NCIJfSwgLyogMjM5ICovCisJeyA0LAkwLAlzeXNfcmVhZGFoZWFkLAkJInJlYWRhaGVhZCIJfSwgLyogMjQwICovCisJeyAyLAkwLAlzeXNfaW9fc2V0dXAsCQkiaW9fc2V0dXAiCX0sIC8qIDI0MSAqLworCXsgMSwJMCwJc3lzX2lvX2Rlc3Ryb3ksCQkiaW9fZGVzdHJveSIJfSwgLyogMjQyICovCisJeyA1LAkwLAlzeXNfaW9fZ2V0ZXZlbnRzLAkiaW9fZ2V0ZXZlbnRzIgl9LCAvKiAyNDMgKi8KKwl7IDMsCTAsCXN5c19pb19zdWJtaXQsCQkiaW9fc3VibWl0Igl9LCAvKiAyNDQgKi8KKwl7IDMsCTAsCXN5c19pb19jYW5jZWwsCQkiaW9fY2FuY2VsIgl9LCAvKiAyNDUgKi8KKwl7IDUsCVRGLAlzeXNfZmFkdmlzZTY0LAkJImZhZHZpc2U2NCIJfSwgLyogMjQ2ICovCisJeyAxLAlUUCwJc3lzX2V4aXQsCQkiZXhpdF9ncm91cCIsIF9fTlJfZXhpdF9ncm91cCB9LCAvKiAyNDcgKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJsb29rdXBfZGNvb2tpZSJ9LCAvKiAyNDggKi8KKwl7IDEsCTAsCXN5c19lcG9sbF9jcmVhdGUsCSJlcG9sbF9jcmVhdGUiCX0sIC8qIDI0OSAqLworCXsgNCwJMCwJc3lzX2Vwb2xsX2N0bCwJCSJlcG9sbF9jdGwiCX0sIC8qIDI1MCAqLworCXsgNCwJMCwJc3lzX2Vwb2xsX3dhaXQsCQkiZXBvbGxfd2FpdCIJfSwgLyogMjUxICovCisJeyA1LAkwLAlzeXNfcmVtYXBfZmlsZV9wYWdlcywJInJlbWFwX2ZpbGVfcGFnZXMifSwgLyogMjUyICovCisJeyAxLAkwLAlwcmludGFyZ3MsCQkic2V0X3RpZF9hZGRyZXNzIn0sIC8qIDI1MyAqLworCXsgMywJMCwJc3lzX3RpbWVyX2NyZWF0ZSwJInRpbWVyX2NyZWF0ZSIJfSwgLyogMjU0ICovCisJeyA0LAkwLAlzeXNfdGltZXJfc2V0dGltZSwJInRpbWVyX3NldHRpbWUiCX0sIC8qIDI1NSAqLworCXsgMiwJMCwJc3lzX3RpbWVyX2dldHRpbWUsCSJ0aW1lcl9nZXR0aW1lIgl9LCAvKiAyNTYgKi8KKwl7IDEsCTAsCXN5c190aW1lcl9nZXRvdmVycnVuLAkidGltZXJfZ2V0b3ZlcnJ1biJ9LCAvKiAyNTcgKi8KKwl7IDEsCTAsCXN5c190aW1lcl9kZWxldGUsCSJ0aW1lcl9kZWxldGUiCX0sIC8qIDI1OCAqLworCXsgMiwJMCwJc3lzX2Nsb2NrX3NldHRpbWUsCSJjbG9ja19zZXR0aW1lIgl9LCAvKiAyNTkgKi8KKwl7IDIsCTAsCXN5c19jbG9ja19nZXR0aW1lLAkiY2xvY2tfZ2V0dGltZSIJfSwgLyogMjYwICovCisJeyAyLAkwLAlzeXNfY2xvY2tfZ2V0cmVzLAkiY2xvY2tfZ2V0cmVzIgl9LCAvKiAyNjEgKi8KKwl7IDQsCTAsCXN5c19jbG9ja19uYW5vc2xlZXAsCSJjbG9ja19uYW5vc2xlZXAifSwgLyogMjYyICovCisJeyAzLAlURiwJc3lzX3N0YXRmczY0LAkJInN0YXRmczY0Igl9LCAvKiAyNjMgKi8KKwl7IDMsCVRGLAlzeXNfZnN0YXRmczY0LAkJImZzdGF0ZnM2NCIJfSwgLyogMjY0ICovCisJeyAzLAlUUywJc3lzX3Rna2lsbCwJCSJ0Z2tpbGwiCX0sIC8qIDI2NSAqLworCXsgMiwJVEYsCXN5c191dGltZXMsCQkidXRpbWVzIgl9LCAvKiAyNjYgKi8KKwl7IDYsCVRGLAlzeXNfZmFkdmlzZTY0XzY0LAkiZmFkdmlzZTY0XzY0Igl9LCAvKiAyNjcgKi8KKwl7IDYsCTAsCXN5c19tYmluZCwJCSJtYmluZCIJCX0sIC8qIDI2OCAqLworCXsgNSwJMCwJc3lzX2dldF9tZW1wb2xpY3ksCSJnZXRfbWVtcG9saWN5Igl9LCAvKiAyNjkgKi8KKwl7IDMsCTAsCXN5c19zZXRfbWVtcG9saWN5LAkic2V0X21lbXBvbGljeSIJfSwgLyogMjcwICovCisJeyA0LAkwLAlzeXNfbXFfb3BlbiwJCSJtcV9vcGVuIgl9LCAvKiAyNzEgKi8KKwl7IDEsCTAsCXN5c19tcV91bmxpbmssCQkibXFfdW5saW5rIgl9LCAvKiAyNzIgKi8KKwl7IDUsCTAsCXN5c19tcV90aW1lZHNlbmQsCSJtcV90aW1lZHNlbmQiCX0sIC8qIDI3MyAqLworCXsgNSwJMCwJc3lzX21xX3RpbWVkcmVjZWl2ZSwJIm1xX3RpbWVkcmVjZWl2ZSIgfSwgLyogMjc0ICovCisJeyAyLAkwLAlzeXNfbXFfbm90aWZ5LAkJIm1xX25vdGlmeSIJfSwgLyogMjc1ICovCisJeyAzLAkwLAlzeXNfbXFfZ2V0c2V0YXR0ciwJIm1xX2dldHNldGF0dHIiCX0sIC8qIDI3NiAqLworCXsgNSwJVFAsCXN5c193YWl0aWQsCQkid2FpdGlkIiwgU1lTX3dhaXRpZCB9LCAvKiAyNzcgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJ2c2VydmVyIgl9LCAvKiAyNzggKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJhZGRfa2V5Igl9LCAvKiAyNzkgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJyZXF1ZXN0X2tleSIJfSwgLyogMjgwICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkia2V5Y3RsIgl9LCAvKiAyODEgKi8KKwl7IDMsCTAsCXByaW50YXJncywJCSJpb3ByaW9fc2V0Igl9LCAvKiAyODIgKi8KKwl7IDIsCTAsCXByaW50YXJncywJCSJpb3ByaW9fZ2V0Igl9LCAvKiAyODMgKi8KKwl7IDAsCVRELAlwcmludGFyZ3MsCQkiaW5vdGlmeV9pbml0Igl9LCAvKiAyODQgKi8KKwl7IDMsCVRELAlzeXNfaW5vdGlmeV9hZGRfd2F0Y2gsCSJpbm90aWZ5X2FkZF93YXRjaCIgfSwgLyogMjg1ICovCisJeyAyLAlURCwJc3lzX2lub3RpZnlfcm1fd2F0Y2gsCSJpbm90aWZ5X3JtX3dhdGNoIiB9LCAvKiAyODYgKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJtaWdyYXRlX3BhZ2VzIgl9LCAvKiAyODcgKi8KKwl7IDQsCVREfFRGLAlzeXNfb3BlbmF0LAkJIm9wZW5hdCIJfSwgLyogMjg4ICovCisJeyAzLAlURHxURiwJc3lzX21rZGlyYXQsCQkibWtkaXJhdCIJfSwgLyogMjg5ICovCisJeyA0LAlURHxURiwJc3lzX21rbm9kYXQsCQkibWtub2RhdCIJfSwgLyogMjkwICovCisJeyA1LAlURHxURiwJc3lzX2ZjaG93bmF0LAkJImZjaG93bmF0Igl9LCAvKiAyOTEgKi8KKwl7IDMsCVREfFRGLAlzeXNfZnV0aW1lc2F0LAkJImZ1dGltZXNhdCIJfSwgLyogMjkyICovCisJeyA0LAlURHxURCwJc3lzX25ld2ZzdGF0YXQsCQkiZnN0YXRhdDY0Igl9LCAvKiAyOTMgKi8KKwl7IDMsCVREfFRGLAlzeXNfdW5saW5rYXQsCQkidW5saW5rYXQiCX0sIC8qIDI5NCAqLworCXsgNCwJVER8VEYsCXN5c19yZW5hbWVhdCwJCSJyZW5hbWVhdCIJfSwgLyogMjk1ICovCisJeyA1LAlURHxURiwJc3lzX2xpbmthdCwJCSJsaW5rYXQiCX0sIC8qIDI5NiAqLworCXsgMywJVER8VEYsCXN5c19zeW1saW5rYXQsCQkic3ltbGlua2F0Igl9LCAvKiAyOTcgKi8KKwl7IDQsCVREfFRGLAlzeXNfcmVhZGxpbmthdCwJCSJyZWFkbGlua2F0Igl9LCAvKiAyOTggKi8KKwl7IDMsCVREfFRGLAlzeXNfZmNobW9kYXQsCQkiZmNobW9kYXQiCX0sIC8qIDI5OSAqLworCXsgMywJVER8VEYsCXN5c19mYWNjZXNzYXQsCQkiZmFjY2Vzc2F0Igl9LCAvKiAzMDAgKi8KKwl7IDYsCVRELAlzeXNfcHNlbGVjdDYsCQkicHNlbGVjdDYiCX0sIC8qIDMwMSAqLworCXsgNSwJVEQsCXN5c19wcG9sbCwJCSJwcG9sbCIJCX0sIC8qIDMwMiAqLworCXsgMSwJVFAsCXN5c191bnNoYXJlLAkJInVuc2hhcmUiCX0sIC8qIDMwMyAqLworCXsgMiwJMCwJcHJpbnRhcmdzLAkJInNldF9yb2J1c3RfbGlzdCIgfSwgLyogMzA0ICovCisJeyAzLAkwLAlwcmludGFyZ3MsCQkiZ2V0X3JvYnVzdF9saXN0IiB9LCAvKiAzMDUgKi8KKwl7IDYsCVRELAlwcmludGFyZ3MsCQkic3BsaWNlIgl9LCAvKiAzMDYgKi8KKwl7IDQsCVRELAlwcmludGFyZ3MsCQkic3luY19maWxlX3JhbmdlIiB9LCAvKiAzMDcgKi8KKwl7IDQsCVRELAlwcmludGFyZ3MsCQkidGVlIgkJfSwgLyogMzA4ICovCisJeyA0LAlURCwJcHJpbnRhcmdzLAkJInZtc3BsaWNlIgl9LCAvKiAzMDkgKi8KKwl7IDYsCTAsCXN5c19tb3ZlX3BhZ2VzLAkJIm1vdmVfcGFnZXMiCX0sIC8qIDMxMCAqLworCXsgMywJMCwJc3lzX3NjaGVkX3NldGFmZmluaXR5LAkic2NoZWRfc2V0YWZmaW5pdHkiIH0sLyogMzExICovCisJeyAzLAkwLAlzeXNfc2NoZWRfZ2V0YWZmaW5pdHksCSJzY2hlZF9nZXRhZmZpbml0eSIgfSwvKiAzMTIgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJrZXhlY19sb2FkIgl9LCAvKiAzMTMgKi8KKwl7IDMsCTAsCXN5c19nZXRjcHUsCQkiZ2V0Y3B1Igl9LCAvKiAzMTQgKi8KKwl7IDUsCVRELAlzeXNfZXBvbGxfcHdhaXQsCSJlcG9sbF9wd2FpdCIJfSwgLyogMzE1ICovCisJeyA0LAlURHxURiwJc3lzX3V0aW1lbnNhdCwJCSJ1dGltZW5zYXQiCX0sIC8qIDMxNiAqLworCXsgMywJVER8VFMsCXN5c19zaWduYWxmZCwJCSJzaWduYWxmZCIJfSwgLyogMzE3ICovCisJeyAyLAlURCwJc3lzX3RpbWVyZmRfY3JlYXRlLAkidGltZXJmZF9jcmVhdGUifSwgLyogMzE4ICovCisJeyAxLAlURCwJc3lzX2V2ZW50ZmQsCQkiZXZlbnRmZCIJfSwgLyogMzE5ICovCisJeyA2LAlURiwJc3lzX2ZhbGxvY2F0ZSwJCSJmYWxsb2NhdGUiCX0sIC8qIDMyMCAqLworCXsgNCwJVEQsCXN5c190aW1lcmZkX3NldHRpbWUsCSJ0aW1lcmZkX3NldHRpbWUifSwgLyogMzIxICovCisJeyAyLAlURCwJc3lzX3RpbWVyZmRfZ2V0dGltZSwJInRpbWVyZmRfZ2V0dGltZSJ9LCAvKiAzMjIgKi8KKwl7IDQsCVREfFRTLAlzeXNfc2lnbmFsZmQ0LAkJInNpZ25hbGZkNCIJfSwgLyogMzIzICovCisJeyAyLAlURCwJc3lzX2V2ZW50ZmQyLAkJImV2ZW50ZmQyIgl9LCAvKiAzMjQgKi8KKwl7IDEsCTAsCXN5c19lcG9sbF9jcmVhdGUxLAkiZXBvbGxfY3JlYXRlMSIJfSwgLyogMzI1ICovCisJeyAzLAlURCwJc3lzX2R1cDMsCQkiZHVwMyIJCX0sIC8qIDMyNiAqLworCXsgMiwJVEQsCXN5c19waXBlMiwJCSJwaXBlMiIJCX0sIC8qIDMyNyAqLworCXsgMSwJVEQsCXN5c19pbm90aWZ5X2luaXQxLAkiaW5vdGlmeV9pbml0MSIJfSwgLyogMzI4ICovCisJeyA1LAlURCwJcHJpbnRhcmdzLAkJInByZWFkdiIJfSwgLyogMzI5ICovCisJeyA1LAlURCwJcHJpbnRhcmdzLAkJInB3cml0ZXYiCX0sIC8qIDMzMCAqLworCXsgNCwJVFB8VFMsCXByaW50YXJncywJCSJydF90Z3NpZ3F1ZXVlaW5mbyJ9LCAvKiAzMzEgKi8KKwl7IDUsCVRELAlwcmludGFyZ3MsCQkicGVyZl9ldmVudF9vcGVuIn0sIC8qIDMzMiAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMzMiCX0sIC8qIDMzMyAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMzQiCX0sIC8qIDMzNCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMzUiCX0sIC8qIDMzNSAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMzYiCX0sIC8qIDMzNiAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMzciCX0sIC8qIDMzNyAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMzgiCX0sIC8qIDMzOCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMzkiCX0sIC8qIDMzOSAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNDAiCX0sIC8qIDM0MCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNDEiCX0sIC8qIDM0MSAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNDIiCX0sIC8qIDM0MiAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNDMiCX0sIC8qIDM0MyAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNDQiCX0sIC8qIDM0NCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNDUiCX0sIC8qIDM0NSAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNDYiCX0sIC8qIDM0NiAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNDciCX0sIC8qIDM0NyAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNDgiCX0sIC8qIDM0OCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNDkiCX0sIC8qIDM0OSAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNTAiCX0sIC8qIDM1MCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNTEiCX0sIC8qIDM1MSAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNTIiCX0sIC8qIDM1MiAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNTMiCX0sIC8qIDM1MyAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNTQiCX0sIC8qIDM1NCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNTUiCX0sIC8qIDM1NSAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNTYiCX0sIC8qIDM1NiAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNTciCX0sIC8qIDM1NyAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNTgiCX0sIC8qIDM1OCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNTkiCX0sIC8qIDM1OSAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNjAiCX0sIC8qIDM2MCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNjEiCX0sIC8qIDM2MSAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNjIiCX0sIC8qIDM2MiAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNjMiCX0sIC8qIDM2MyAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNjQiCX0sIC8qIDM2NCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNjUiCX0sIC8qIDM2NSAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNjYiCX0sIC8qIDM2NiAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNjciCX0sIC8qIDM2NyAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNjgiCX0sIC8qIDM2OCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNjkiCX0sIC8qIDM2OSAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNzAiCX0sIC8qIDM3MCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNzEiCX0sIC8qIDM3MSAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNzIiCX0sIC8qIDM3MiAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNzMiCX0sIC8qIDM3MyAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNzQiCX0sIC8qIDM3NCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNzUiCX0sIC8qIDM3NSAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNzYiCX0sIC8qIDM3NiAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNzciCX0sIC8qIDM3NyAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNzgiCX0sIC8qIDM3OCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNzkiCX0sIC8qIDM3OSAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zODAiCX0sIC8qIDM4MCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zODEiCX0sIC8qIDM4MSAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zODIiCX0sIC8qIDM4MiAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zODMiCX0sIC8qIDM4MyAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zODQiCX0sIC8qIDM4NCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zODUiCX0sIC8qIDM4NSAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zODYiCX0sIC8qIDM4NiAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zODciCX0sIC8qIDM4NyAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zODgiCX0sIC8qIDM4OCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zODkiCX0sIC8qIDM4OSAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zOTAiCX0sIC8qIDM5MCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zOTEiCX0sIC8qIDM5MSAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zOTIiCX0sIC8qIDM5MiAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zOTMiCX0sIC8qIDM5MyAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zOTQiCX0sIC8qIDM5NCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zOTUiCX0sIC8qIDM5NSAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zOTYiCX0sIC8qIDM5NiAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zOTciCX0sIC8qIDM5NyAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zOTgiCX0sIC8qIDM5OCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zOTkiCX0sIC8qIDM5OSAqLworCisjaWYgU1lTX3NvY2tldF9zdWJjYWxsICE9IDQwMAorICNlcnJvciBmaXggbWUKKyNlbmRpZgorCXsgOCwJMCwJcHJpbnRhcmdzLAkJInNvY2tldF9zdWJjYWxsIn0sIC8qIDQwMCAqLworCXsgMywJVE4sCXN5c19zb2NrZXQsCQkic29ja2V0Igl9LCAvKiA0MDEgKi8KKwl7IDMsCVROLAlzeXNfYmluZCwJCSJiaW5kIgkJfSwgLyogNDAyICovCisJeyAzLAlUTiwJc3lzX2Nvbm5lY3QsCQkiY29ubmVjdCIJfSwgLyogNDAzICovCisJeyAyLAlUTiwJc3lzX2xpc3RlbiwJCSJsaXN0ZW4iCX0sIC8qIDQwNCAqLworCXsgMywJVE4sCXN5c19hY2NlcHQsCQkiYWNjZXB0Igl9LCAvKiA0MDUgKi8KKwl7IDMsCVROLAlzeXNfZ2V0c29ja25hbWUsCSJnZXRzb2NrbmFtZSIJfSwgLyogNDA2ICovCisJeyAzLAlUTiwJc3lzX2dldHBlZXJuYW1lLAkiZ2V0cGVlcm5hbWUiCX0sIC8qIDQwNyAqLworCXsgNCwJVE4sCXN5c19zb2NrZXRwYWlyLAkJInNvY2tldHBhaXIiCX0sIC8qIDQwOCAqLworCXsgNCwJVE4sCXN5c19zZW5kLAkJInNlbmQiLCBTWVNfc3ViX3NlbmQgfSwgLyogNDA5ICovCisJeyA0LAlUTiwJc3lzX3JlY3YsCQkicmVjdiIsIFNZU19zdWJfcmVjdiB9LCAvKiA0MTAgKi8KKwl7IDYsCVROLAlzeXNfc2VuZHRvLAkJInNlbmR0byIsIFNZU19zdWJfc2VuZHRvIH0sIC8qIDQxMSAqLworCXsgNiwJVE4sCXN5c19yZWN2ZnJvbSwJCSJyZWN2ZnJvbSIsIFNZU19zdWJfcmVjdmZyb20gfSwgLyogNDEyICovCisJeyAyLAlUTiwJc3lzX3NodXRkb3duLAkJInNodXRkb3duIgl9LCAvKiA0MTMgKi8KKwl7IDUsCVROLAlzeXNfc2V0c29ja29wdCwJCSJzZXRzb2Nrb3B0Igl9LCAvKiA0MTQgKi8KKwl7IDUsCVROLAlzeXNfZ2V0c29ja29wdCwJCSJnZXRzb2Nrb3B0Igl9LCAvKiA0MTUgKi8KKwl7IDUsCVROLAlzeXNfc2VuZG1zZywJCSJzZW5kbXNnIgl9LCAvKiA0MTYgKi8KKwl7IDUsCVROLAlzeXNfcmVjdm1zZywJCSJyZWN2bXNnIgl9LCAvKiA0MTcgKi8KKwl7IDQsCVROLAlzeXNfYWNjZXB0NCwJCSJhY2NlcHQ0Igl9LCAvKiA0MTggKi8KKwl7IDUsCVROLAlzeXNfcmVjdm1tc2csCQkicmVjdm1tc2ciCX0sIC8qIDQxOSAqLworCisjaWYgU1lTX2lwY19zdWJjYWxsICE9IDQyMAorICNlcnJvciBmaXggbWUKKyNlbmRpZgorCXsgNCwJMCwJcHJpbnRhcmdzLAkJImlwY19zdWJjYWxsIgl9LCAvKiA0MjAgKi8KKwl7IDQsCVRJLAlzeXNfc2Vtb3AsCQkic2Vtb3AiCQl9LCAvKiA0MjEgKi8KKwl7IDQsCVRJLAlzeXNfc2VtZ2V0LAkJInNlbWdldCIJfSwgLyogNDIyICovCisJeyA0LAlUSSwJc3lzX3NlbWN0bCwJCSJzZW1jdGwiCX0sIC8qIDQyMyAqLworCXsgNSwJVEksCXN5c19zZW10aW1lZG9wLAkJInNlbXRpbWVkb3AiCX0sIC8qIDQyNCAqLworCXsgNCwJMCwJcHJpbnRhcmdzLAkJImlwY19zdWJjYWxsIgl9LCAvKiA0MjUgKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJpcGNfc3ViY2FsbCIJfSwgLyogNDI2ICovCisJeyA0LAkwLAlwcmludGFyZ3MsCQkiaXBjX3N1YmNhbGwiCX0sIC8qIDQyNyAqLworCXsgNCwJMCwJcHJpbnRhcmdzLAkJImlwY19zdWJjYWxsIgl9LCAvKiA0MjggKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJpcGNfc3ViY2FsbCIJfSwgLyogNDI5ICovCisJeyA0LAkwLAlwcmludGFyZ3MsCQkiaXBjX3N1YmNhbGwiCX0sIC8qIDQzMCAqLworCXsgNCwJVEksCXN5c19tc2dzbmQsCQkibXNnc25kIgl9LCAvKiA0MzEgKi8KKwl7IDQsCVRJLAlzeXNfbXNncmN2LAkJIm1zZ3JjdiIJfSwgLyogNDMyICovCisJeyA0LAlUSSwJc3lzX21zZ2dldCwJCSJtc2dnZXQiCX0sIC8qIDQzMyAqLworCXsgNCwJVEksCXN5c19tc2djdGwsCQkibXNnY3RsIgl9LCAvKiA0MzQgKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJpcGNfc3ViY2FsbCIJfSwgLyogNDM1ICovCisJeyA0LAkwLAlwcmludGFyZ3MsCQkiaXBjX3N1YmNhbGwiCX0sIC8qIDQzNiAqLworCXsgNCwJMCwJcHJpbnRhcmdzLAkJImlwY19zdWJjYWxsIgl9LCAvKiA0MzcgKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJpcGNfc3ViY2FsbCIJfSwgLyogNDM4ICovCisJeyA0LAkwLAlwcmludGFyZ3MsCQkiaXBjX3N1YmNhbGwiCX0sIC8qIDQzOSAqLworCXsgNCwJMCwJcHJpbnRhcmdzLAkJImlwY19zdWJjYWxsIgl9LCAvKiA0NDAgKi8KKwl7IDQsCVRJLAlzeXNfc2htYXQsCQkic2htYXQiCQl9LCAvKiA0NDEgKi8KKwl7IDQsCVRJLAlzeXNfc2htZHQsCQkic2htZHQiCQl9LCAvKiA0NDIgKi8KKwl7IDQsCVRJLAlzeXNfc2htZ2V0LAkJInNobWdldCIJfSwgLyogNDQzICovCisJeyA0LAlUSSwJc3lzX3NobWN0bCwJCSJzaG1jdGwiCX0sIC8qIDQ0NCAqLwpkaWZmIC0tZ2l0IGEvc3RyYWNlLTQuNS4yMC9saW51eC9taXBzL2Vycm5vZW50LmggYi9zdHJhY2UtNC41LjIwL2xpbnV4L21pcHMvZXJybm9lbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMjJlZTg3Ci0tLSAvZGV2L251bGwKKysrIGIvc3RyYWNlLTQuNS4yMC9saW51eC9taXBzL2Vycm5vZW50LmgKQEAgLTAsMCArMSwxMTM1IEBACisJIkVSUk5PXzAiLCAvKiAwICovCisJIkVQRVJNIiwgLyogMSAqLworCSJFTk9FTlQiLCAvKiAyICovCisJIkVTUkNIIiwgLyogMyAqLworCSJFSU5UUiIsIC8qIDQgKi8KKwkiRUlPIiwgLyogNSAqLworCSJFTlhJTyIsIC8qIDYgKi8KKwkiRTJCSUciLCAvKiA3ICovCisJIkVOT0VYRUMiLCAvKiA4ICovCisJIkVCQURGIiwgLyogOSAqLworCSJFQ0hJTEQiLCAvKiAxMCAqLworCSJFQUdBSU4iLCAvKiAxMSAqLworCSJFTk9NRU0iLCAvKiAxMiAqLworCSJFQUNDRVMiLCAvKiAxMyAqLworCSJFRkFVTFQiLCAvKiAxNCAqLworCSJFTk9UQkxLIiwgLyogMTUgKi8KKwkiRUJVU1kiLCAvKiAxNiAqLworCSJFRVhJU1QiLCAvKiAxNyAqLworCSJFWERFViIsIC8qIDE4ICovCisJIkVOT0RFViIsIC8qIDE5ICovCisJIkVOT1RESVIiLCAvKiAyMCAqLworCSJFSVNESVIiLCAvKiAyMSAqLworCSJFSU5WQUwiLCAvKiAyMiAqLworCSJFTkZJTEUiLCAvKiAyMyAqLworCSJFTUZJTEUiLCAvKiAyNCAqLworCSJFTk9UVFkiLCAvKiAyNSAqLworCSJFVFhUQlNZIiwgLyogMjYgKi8KKwkiRUZCSUciLCAvKiAyNyAqLworCSJFTk9TUEMiLCAvKiAyOCAqLworCSJFU1BJUEUiLCAvKiAyOSAqLworCSJFUk9GUyIsIC8qIDMwICovCisJIkVNTElOSyIsIC8qIDMxICovCisJIkVQSVBFIiwgLyogMzIgKi8KKwkiRURPTSIsIC8qIDMzICovCisJIkVSQU5HRSIsIC8qIDM0ICovCisJIkVOT01TRyIsIC8qIDM1ICovCisJIkVJRFJNIiwgLyogMzYgKi8KKwkiRUNIUk5HIiwgLyogMzcgKi8KKwkiRUwyTlNZTkMiLCAvKiAzOCAqLworCSJFTDNITFQiLCAvKiAzOSAqLworCSJFTDNSU1QiLCAvKiA0MCAqLworCSJFTE5STkciLCAvKiA0MSAqLworCSJFVU5BVENIIiwgLyogNDIgKi8KKwkiRU5PQ1NJIiwgLyogNDMgKi8KKwkiRUwySExUIiwgLyogNDQgKi8KKwkiRURFQURMSyIsIC8qIDQ1ICovCisJIkVOT0xDSyIsIC8qIDQ2ICovCisJIkVSUk5PXzQ3IiwgLyogNDcgKi8KKwkiRVJSTk9fNDgiLCAvKiA0OCAqLworCSJFUlJOT180OSIsIC8qIDQ5ICovCisJIkVCQURFIiwgLyogNTAgKi8KKwkiRUJBRFIiLCAvKiA1MSAqLworCSJFWEZVTEwiLCAvKiA1MiAqLworCSJFTk9BTk8iLCAvKiA1MyAqLworCSJFQkFEUlFDIiwgLyogNTQgKi8KKwkiRUJBRFNMVCIsIC8qIDU1ICovCisJIkVERUFETE9DSyIsIC8qIDU2ICovCisJIkVSUk5PXzU3IiwgLyogNTcgKi8KKwkiRVJSTk9fNTgiLCAvKiA1OCAqLworCSJFQkZPTlQiLCAvKiA1OSAqLworCSJFTk9TVFIiLCAvKiA2MCAqLworCSJFTk9EQVRBIiwgLyogNjEgKi8KKwkiRVRJTUUiLCAvKiA2MiAqLworCSJFTk9TUiIsIC8qIDYzICovCisJIkVOT05FVCIsIC8qIDY0ICovCisJIkVOT1BLRyIsIC8qIDY1ICovCisJIkVSRU1PVEUiLCAvKiA2NiAqLworCSJFTk9MSU5LIiwgLyogNjcgKi8KKwkiRUFEViIsIC8qIDY4ICovCisJIkVTUk1OVCIsIC8qIDY5ICovCisJIkVDT01NIiwgLyogNzAgKi8KKwkiRVBST1RPIiwgLyogNzEgKi8KKwkiRVJSTk9fNzIiLCAvKiA3MiAqLworCSJFRE9URE9UIiwgLyogNzMgKi8KKwkiRU1VTFRJSE9QIiwgLyogNzQgKi8KKwkiRVJSTk9fNzUiLCAvKiA3NSAqLworCSJFUlJOT183NiIsIC8qIDc2ICovCisJIkVCQURNU0ciLCAvKiA3NyAqLworCSJFTkFNRVRPT0xPTkciLCAvKiA3OCAqLworCSJFT1ZFUkZMT1ciLCAvKiA3OSAqLworCSJFTk9UVU5JUSIsIC8qIDgwICovCisJIkVCQURGRCIsIC8qIDgxICovCisJIkVSRU1DSEciLCAvKiA4MiAqLworCSJFTElCQUNDIiwgLyogODMgKi8KKwkiRUxJQkJBRCIsIC8qIDg0ICovCisJIkVMSUJTQ04iLCAvKiA4NSAqLworCSJFTElCTUFYIiwgLyogODYgKi8KKwkiRUxJQkVYRUMiLCAvKiA4NyAqLworCSJFSUxTRVEiLCAvKiA4OCAqLworCSJFTk9TWVMiLCAvKiA4OSAqLworCSJFTE9PUCIsIC8qIDkwICovCisJIkVSRVNUQVJUIiwgLyogOTEgKi8KKwkiRVNUUlBJUEUiLCAvKiA5MiAqLworCSJFTk9URU1QVFkiLCAvKiA5MyAqLworCSJFVVNFUlMiLCAvKiA5NCAqLworCSJFTk9UU09DSyIsIC8qIDk1ICovCisJIkVERVNUQUREUlJFUSIsIC8qIDk2ICovCisJIkVNU0dTSVpFIiwgLyogOTcgKi8KKwkiRVBST1RPVFlQRSIsIC8qIDk4ICovCisJIkVOT1BST1RPT1BUIiwgLyogOTkgKi8KKwkiRVJSTk9fMTAwIiwgLyogMTAwICovCisJIkVSUk5PXzEwMSIsIC8qIDEwMSAqLworCSJFUlJOT18xMDIiLCAvKiAxMDIgKi8KKwkiRVJSTk9fMTAzIiwgLyogMTAzICovCisJIkVSUk5PXzEwNCIsIC8qIDEwNCAqLworCSJFUlJOT18xMDUiLCAvKiAxMDUgKi8KKwkiRVJSTk9fMTA2IiwgLyogMTA2ICovCisJIkVSUk5PXzEwNyIsIC8qIDEwNyAqLworCSJFUlJOT18xMDgiLCAvKiAxMDggKi8KKwkiRVJSTk9fMTA5IiwgLyogMTA5ICovCisJIkVSUk5PXzExMCIsIC8qIDExMCAqLworCSJFUlJOT18xMTEiLCAvKiAxMTEgKi8KKwkiRVJSTk9fMTEyIiwgLyogMTEyICovCisJIkVSUk5PXzExMyIsIC8qIDExMyAqLworCSJFUlJOT18xMTQiLCAvKiAxMTQgKi8KKwkiRVJSTk9fMTE1IiwgLyogMTE1ICovCisJIkVSUk5PXzExNiIsIC8qIDExNiAqLworCSJFUlJOT18xMTciLCAvKiAxMTcgKi8KKwkiRVJSTk9fMTE4IiwgLyogMTE4ICovCisJIkVSUk5PXzExOSIsIC8qIDExOSAqLworCSJFUFJPVE9OT1NVUFBPUlQiLCAvKiAxMjAgKi8KKwkiRVNPQ0tUTk9TVVBQT1JUIiwgLyogMTIxICovCisJIkVPUE5PVFNVUFAiLCAvKiAxMjIgKi8KKwkiRVBGTk9TVVBQT1JUIiwgLyogMTIzICovCisJIkVBRk5PU1VQUE9SVCIsIC8qIDEyNCAqLworCSJFQUREUklOVVNFIiwgLyogMTI1ICovCisJIkVBRERSTk9UQVZBSUwiLCAvKiAxMjYgKi8KKwkiRU5FVERPV04iLCAvKiAxMjcgKi8KKwkiRU5FVFVOUkVBQ0giLCAvKiAxMjggKi8KKwkiRU5FVFJFU0VUIiwgLyogMTI5ICovCisJIkVDT05OQUJPUlRFRCIsIC8qIDEzMCAqLworCSJFQ09OTlJFU0VUIiwgLyogMTMxICovCisJIkVOT0JVRlMiLCAvKiAxMzIgKi8KKwkiRUlTQ09OTiIsIC8qIDEzMyAqLworCSJFTk9UQ09OTiIsIC8qIDEzNCAqLworCSJFVUNMRUFOIiwgLyogMTM1ICovCisJIkVSUk5PXzEzNiIsIC8qIDEzNiAqLworCSJFTk9UTkFNIiwgLyogMTM3ICovCisJIkVOQVZBSUwiLCAvKiAxMzggKi8KKwkiRUlTTkFNIiwgLyogMTM5ICovCisJIkVSRU1PVEVJTyIsIC8qIDE0MCAqLworCSJFSU5JVCIsIC8qIDE0MSAqLworCSJFUkVNREVWIiwgLyogMTQyICovCisJIkVTSFVURE9XTiIsIC8qIDE0MyAqLworCSJFVE9PTUFOWVJFRlMiLCAvKiAxNDQgKi8KKwkiRVRJTUVET1VUIiwgLyogMTQ1ICovCisJIkVDT05OUkVGVVNFRCIsIC8qIDE0NiAqLworCSJFSE9TVERPV04iLCAvKiAxNDcgKi8KKwkiRUhPU1RVTlJFQUNIIiwgLyogMTQ4ICovCisJIkVBTFJFQURZIiwgLyogMTQ5ICovCisJIkVJTlBST0dSRVNTIiwgLyogMTUwICovCisJIkVTVEFMRSIsIC8qIDE1MSAqLworCSJFUlJOT18xNTIiLCAvKiAxNTIgKi8KKwkiRVJSTk9fMTUzIiwgLyogMTUzICovCisJIkVSUk5PXzE1NCIsIC8qIDE1NCAqLworCSJFUlJOT18xNTUiLCAvKiAxNTUgKi8KKwkiRVJSTk9fMTU2IiwgLyogMTU2ICovCisJIkVSUk5PXzE1NyIsIC8qIDE1NyAqLworCSJFQ0FOQ0VMRUQiLCAvKiAxNTggKi8KKwkiRU5PTUVESVVNIiwgLyogMTU5ICovCisJIkVNRURJVU1UWVBFIiwgLyogMTYwICovCisJIkVSUk5PXzE2MSIsIC8qIDE2MSAqLworCSJFUlJOT18xNjIiLCAvKiAxNjIgKi8KKwkiRVJSTk9fMTYzIiwgLyogMTYzICovCisJIkVSUk5PXzE2NCIsIC8qIDE2NCAqLworCSJFUlJOT18xNjUiLCAvKiAxNjUgKi8KKwkiRVJSTk9fMTY2IiwgLyogMTY2ICovCisJIkVSUk5PXzE2NyIsIC8qIDE2NyAqLworCSJFUlJOT18xNjgiLCAvKiAxNjggKi8KKwkiRVJSTk9fMTY5IiwgLyogMTY5ICovCisJIkVSUk5PXzE3MCIsIC8qIDE3MCAqLworCSJFUlJOT18xNzEiLCAvKiAxNzEgKi8KKwkiRVJSTk9fMTcyIiwgLyogMTcyICovCisJIkVSUk5PXzE3MyIsIC8qIDE3MyAqLworCSJFUlJOT18xNzQiLCAvKiAxNzQgKi8KKwkiRVJSTk9fMTc1IiwgLyogMTc1ICovCisJIkVSUk5PXzE3NiIsIC8qIDE3NiAqLworCSJFUlJOT18xNzciLCAvKiAxNzcgKi8KKwkiRVJSTk9fMTc4IiwgLyogMTc4ICovCisJIkVSUk5PXzE3OSIsIC8qIDE3OSAqLworCSJFUlJOT18xODAiLCAvKiAxODAgKi8KKwkiRVJSTk9fMTgxIiwgLyogMTgxICovCisJIkVSUk5PXzE4MiIsIC8qIDE4MiAqLworCSJFUlJOT18xODMiLCAvKiAxODMgKi8KKwkiRVJSTk9fMTg0IiwgLyogMTg0ICovCisJIkVSUk5PXzE4NSIsIC8qIDE4NSAqLworCSJFUlJOT18xODYiLCAvKiAxODYgKi8KKwkiRVJSTk9fMTg3IiwgLyogMTg3ICovCisJIkVSUk5PXzE4OCIsIC8qIDE4OCAqLworCSJFUlJOT18xODkiLCAvKiAxODkgKi8KKwkiRVJSTk9fMTkwIiwgLyogMTkwICovCisJIkVSUk5PXzE5MSIsIC8qIDE5MSAqLworCSJFUlJOT18xOTIiLCAvKiAxOTIgKi8KKwkiRVJSTk9fMTkzIiwgLyogMTkzICovCisJIkVSUk5PXzE5NCIsIC8qIDE5NCAqLworCSJFUlJOT18xOTUiLCAvKiAxOTUgKi8KKwkiRVJSTk9fMTk2IiwgLyogMTk2ICovCisJIkVSUk5PXzE5NyIsIC8qIDE5NyAqLworCSJFUlJOT18xOTgiLCAvKiAxOTggKi8KKwkiRVJSTk9fMTk5IiwgLyogMTk5ICovCisJIkVSUk5PXzIwMCIsIC8qIDIwMCAqLworCSJFUlJOT18yMDEiLCAvKiAyMDEgKi8KKwkiRVJSTk9fMjAyIiwgLyogMjAyICovCisJIkVSUk5PXzIwMyIsIC8qIDIwMyAqLworCSJFUlJOT18yMDQiLCAvKiAyMDQgKi8KKwkiRVJSTk9fMjA1IiwgLyogMjA1ICovCisJIkVSUk5PXzIwNiIsIC8qIDIwNiAqLworCSJFUlJOT18yMDciLCAvKiAyMDcgKi8KKwkiRVJSTk9fMjA4IiwgLyogMjA4ICovCisJIkVSUk5PXzIwOSIsIC8qIDIwOSAqLworCSJFUlJOT18yMTAiLCAvKiAyMTAgKi8KKwkiRVJSTk9fMjExIiwgLyogMjExICovCisJIkVSUk5PXzIxMiIsIC8qIDIxMiAqLworCSJFUlJOT18yMTMiLCAvKiAyMTMgKi8KKwkiRVJSTk9fMjE0IiwgLyogMjE0ICovCisJIkVSUk5PXzIxNSIsIC8qIDIxNSAqLworCSJFUlJOT18yMTYiLCAvKiAyMTYgKi8KKwkiRVJSTk9fMjE3IiwgLyogMjE3ICovCisJIkVSUk5PXzIxOCIsIC8qIDIxOCAqLworCSJFUlJOT18yMTkiLCAvKiAyMTkgKi8KKwkiRVJSTk9fMjIwIiwgLyogMjIwICovCisJIkVSUk5PXzIyMSIsIC8qIDIyMSAqLworCSJFUlJOT18yMjIiLCAvKiAyMjIgKi8KKwkiRVJSTk9fMjIzIiwgLyogMjIzICovCisJIkVSUk5PXzIyNCIsIC8qIDIyNCAqLworCSJFUlJOT18yMjUiLCAvKiAyMjUgKi8KKwkiRVJSTk9fMjI2IiwgLyogMjI2ICovCisJIkVSUk5PXzIyNyIsIC8qIDIyNyAqLworCSJFUlJOT18yMjgiLCAvKiAyMjggKi8KKwkiRVJSTk9fMjI5IiwgLyogMjI5ICovCisJIkVSUk5PXzIzMCIsIC8qIDIzMCAqLworCSJFUlJOT18yMzEiLCAvKiAyMzEgKi8KKwkiRVJSTk9fMjMyIiwgLyogMjMyICovCisJIkVSUk5PXzIzMyIsIC8qIDIzMyAqLworCSJFUlJOT18yMzQiLCAvKiAyMzQgKi8KKwkiRVJSTk9fMjM1IiwgLyogMjM1ICovCisJIkVSUk5PXzIzNiIsIC8qIDIzNiAqLworCSJFUlJOT18yMzciLCAvKiAyMzcgKi8KKwkiRVJSTk9fMjM4IiwgLyogMjM4ICovCisJIkVSUk5PXzIzOSIsIC8qIDIzOSAqLworCSJFUlJOT18yNDAiLCAvKiAyNDAgKi8KKwkiRVJSTk9fMjQxIiwgLyogMjQxICovCisJIkVSUk5PXzI0MiIsIC8qIDI0MiAqLworCSJFUlJOT18yNDMiLCAvKiAyNDMgKi8KKwkiRVJSTk9fMjQ0IiwgLyogMjQ0ICovCisJIkVSUk5PXzI0NSIsIC8qIDI0NSAqLworCSJFUlJOT18yNDYiLCAvKiAyNDYgKi8KKwkiRVJSTk9fMjQ3IiwgLyogMjQ3ICovCisJIkVSUk5PXzI0OCIsIC8qIDI0OCAqLworCSJFUlJOT18yNDkiLCAvKiAyNDkgKi8KKwkiRVJSTk9fMjUwIiwgLyogMjUwICovCisJIkVSUk5PXzI1MSIsIC8qIDI1MSAqLworCSJFUlJOT18yNTIiLCAvKiAyNTIgKi8KKwkiRVJSTk9fMjUzIiwgLyogMjUzICovCisJIkVSUk5PXzI1NCIsIC8qIDI1NCAqLworCSJFUlJOT18yNTUiLCAvKiAyNTUgKi8KKwkiRVJSTk9fMjU2IiwgLyogMjU2ICovCisJIkVSUk5PXzI1NyIsIC8qIDI1NyAqLworCSJFUlJOT18yNTgiLCAvKiAyNTggKi8KKwkiRVJSTk9fMjU5IiwgLyogMjU5ICovCisJIkVSUk5PXzI2MCIsIC8qIDI2MCAqLworCSJFUlJOT18yNjEiLCAvKiAyNjEgKi8KKwkiRVJSTk9fMjYyIiwgLyogMjYyICovCisJIkVSUk5PXzI2MyIsIC8qIDI2MyAqLworCSJFUlJOT18yNjQiLCAvKiAyNjQgKi8KKwkiRVJSTk9fMjY1IiwgLyogMjY1ICovCisJIkVSUk5PXzI2NiIsIC8qIDI2NiAqLworCSJFUlJOT18yNjciLCAvKiAyNjcgKi8KKwkiRVJSTk9fMjY4IiwgLyogMjY4ICovCisJIkVSUk5PXzI2OSIsIC8qIDI2OSAqLworCSJFUlJOT18yNzAiLCAvKiAyNzAgKi8KKwkiRVJSTk9fMjcxIiwgLyogMjcxICovCisJIkVSUk5PXzI3MiIsIC8qIDI3MiAqLworCSJFUlJOT18yNzMiLCAvKiAyNzMgKi8KKwkiRVJSTk9fMjc0IiwgLyogMjc0ICovCisJIkVSUk5PXzI3NSIsIC8qIDI3NSAqLworCSJFUlJOT18yNzYiLCAvKiAyNzYgKi8KKwkiRVJSTk9fMjc3IiwgLyogMjc3ICovCisJIkVSUk5PXzI3OCIsIC8qIDI3OCAqLworCSJFUlJOT18yNzkiLCAvKiAyNzkgKi8KKwkiRVJSTk9fMjgwIiwgLyogMjgwICovCisJIkVSUk5PXzI4MSIsIC8qIDI4MSAqLworCSJFUlJOT18yODIiLCAvKiAyODIgKi8KKwkiRVJSTk9fMjgzIiwgLyogMjgzICovCisJIkVSUk5PXzI4NCIsIC8qIDI4NCAqLworCSJFUlJOT18yODUiLCAvKiAyODUgKi8KKwkiRVJSTk9fMjg2IiwgLyogMjg2ICovCisJIkVSUk5PXzI4NyIsIC8qIDI4NyAqLworCSJFUlJOT18yODgiLCAvKiAyODggKi8KKwkiRVJSTk9fMjg5IiwgLyogMjg5ICovCisJIkVSUk5PXzI5MCIsIC8qIDI5MCAqLworCSJFUlJOT18yOTEiLCAvKiAyOTEgKi8KKwkiRVJSTk9fMjkyIiwgLyogMjkyICovCisJIkVSUk5PXzI5MyIsIC8qIDI5MyAqLworCSJFUlJOT18yOTQiLCAvKiAyOTQgKi8KKwkiRVJSTk9fMjk1IiwgLyogMjk1ICovCisJIkVSUk5PXzI5NiIsIC8qIDI5NiAqLworCSJFUlJOT18yOTciLCAvKiAyOTcgKi8KKwkiRVJSTk9fMjk4IiwgLyogMjk4ICovCisJIkVSUk5PXzI5OSIsIC8qIDI5OSAqLworCSJFUlJOT18zMDAiLCAvKiAzMDAgKi8KKwkiRVJSTk9fMzAxIiwgLyogMzAxICovCisJIkVSUk5PXzMwMiIsIC8qIDMwMiAqLworCSJFUlJOT18zMDMiLCAvKiAzMDMgKi8KKwkiRVJSTk9fMzA0IiwgLyogMzA0ICovCisJIkVSUk5PXzMwNSIsIC8qIDMwNSAqLworCSJFUlJOT18zMDYiLCAvKiAzMDYgKi8KKwkiRVJSTk9fMzA3IiwgLyogMzA3ICovCisJIkVSUk5PXzMwOCIsIC8qIDMwOCAqLworCSJFUlJOT18zMDkiLCAvKiAzMDkgKi8KKwkiRVJSTk9fMzEwIiwgLyogMzEwICovCisJIkVSUk5PXzMxMSIsIC8qIDMxMSAqLworCSJFUlJOT18zMTIiLCAvKiAzMTIgKi8KKwkiRVJSTk9fMzEzIiwgLyogMzEzICovCisJIkVSUk5PXzMxNCIsIC8qIDMxNCAqLworCSJFUlJOT18zMTUiLCAvKiAzMTUgKi8KKwkiRVJSTk9fMzE2IiwgLyogMzE2ICovCisJIkVSUk5PXzMxNyIsIC8qIDMxNyAqLworCSJFUlJOT18zMTgiLCAvKiAzMTggKi8KKwkiRVJSTk9fMzE5IiwgLyogMzE5ICovCisJIkVSUk5PXzMyMCIsIC8qIDMyMCAqLworCSJFUlJOT18zMjEiLCAvKiAzMjEgKi8KKwkiRVJSTk9fMzIyIiwgLyogMzIyICovCisJIkVSUk5PXzMyMyIsIC8qIDMyMyAqLworCSJFUlJOT18zMjQiLCAvKiAzMjQgKi8KKwkiRVJSTk9fMzI1IiwgLyogMzI1ICovCisJIkVSUk5PXzMyNiIsIC8qIDMyNiAqLworCSJFUlJOT18zMjciLCAvKiAzMjcgKi8KKwkiRVJSTk9fMzI4IiwgLyogMzI4ICovCisJIkVSUk5PXzMyOSIsIC8qIDMyOSAqLworCSJFUlJOT18zMzAiLCAvKiAzMzAgKi8KKwkiRVJSTk9fMzMxIiwgLyogMzMxICovCisJIkVSUk5PXzMzMiIsIC8qIDMzMiAqLworCSJFUlJOT18zMzMiLCAvKiAzMzMgKi8KKwkiRVJSTk9fMzM0IiwgLyogMzM0ICovCisJIkVSUk5PXzMzNSIsIC8qIDMzNSAqLworCSJFUlJOT18zMzYiLCAvKiAzMzYgKi8KKwkiRVJSTk9fMzM3IiwgLyogMzM3ICovCisJIkVSUk5PXzMzOCIsIC8qIDMzOCAqLworCSJFUlJOT18zMzkiLCAvKiAzMzkgKi8KKwkiRVJSTk9fMzQwIiwgLyogMzQwICovCisJIkVSUk5PXzM0MSIsIC8qIDM0MSAqLworCSJFUlJOT18zNDIiLCAvKiAzNDIgKi8KKwkiRVJSTk9fMzQzIiwgLyogMzQzICovCisJIkVSUk5PXzM0NCIsIC8qIDM0NCAqLworCSJFUlJOT18zNDUiLCAvKiAzNDUgKi8KKwkiRVJSTk9fMzQ2IiwgLyogMzQ2ICovCisJIkVSUk5PXzM0NyIsIC8qIDM0NyAqLworCSJFUlJOT18zNDgiLCAvKiAzNDggKi8KKwkiRVJSTk9fMzQ5IiwgLyogMzQ5ICovCisJIkVSUk5PXzM1MCIsIC8qIDM1MCAqLworCSJFUlJOT18zNTEiLCAvKiAzNTEgKi8KKwkiRVJSTk9fMzUyIiwgLyogMzUyICovCisJIkVSUk5PXzM1MyIsIC8qIDM1MyAqLworCSJFUlJOT18zNTQiLCAvKiAzNTQgKi8KKwkiRVJSTk9fMzU1IiwgLyogMzU1ICovCisJIkVSUk5PXzM1NiIsIC8qIDM1NiAqLworCSJFUlJOT18zNTciLCAvKiAzNTcgKi8KKwkiRVJSTk9fMzU4IiwgLyogMzU4ICovCisJIkVSUk5PXzM1OSIsIC8qIDM1OSAqLworCSJFUlJOT18zNjAiLCAvKiAzNjAgKi8KKwkiRVJSTk9fMzYxIiwgLyogMzYxICovCisJIkVSUk5PXzM2MiIsIC8qIDM2MiAqLworCSJFUlJOT18zNjMiLCAvKiAzNjMgKi8KKwkiRVJSTk9fMzY0IiwgLyogMzY0ICovCisJIkVSUk5PXzM2NSIsIC8qIDM2NSAqLworCSJFUlJOT18zNjYiLCAvKiAzNjYgKi8KKwkiRVJSTk9fMzY3IiwgLyogMzY3ICovCisJIkVSUk5PXzM2OCIsIC8qIDM2OCAqLworCSJFUlJOT18zNjkiLCAvKiAzNjkgKi8KKwkiRVJSTk9fMzcwIiwgLyogMzcwICovCisJIkVSUk5PXzM3MSIsIC8qIDM3MSAqLworCSJFUlJOT18zNzIiLCAvKiAzNzIgKi8KKwkiRVJSTk9fMzczIiwgLyogMzczICovCisJIkVSUk5PXzM3NCIsIC8qIDM3NCAqLworCSJFUlJOT18zNzUiLCAvKiAzNzUgKi8KKwkiRVJSTk9fMzc2IiwgLyogMzc2ICovCisJIkVSUk5PXzM3NyIsIC8qIDM3NyAqLworCSJFUlJOT18zNzgiLCAvKiAzNzggKi8KKwkiRVJSTk9fMzc5IiwgLyogMzc5ICovCisJIkVSUk5PXzM4MCIsIC8qIDM4MCAqLworCSJFUlJOT18zODEiLCAvKiAzODEgKi8KKwkiRVJSTk9fMzgyIiwgLyogMzgyICovCisJIkVSUk5PXzM4MyIsIC8qIDM4MyAqLworCSJFUlJOT18zODQiLCAvKiAzODQgKi8KKwkiRVJSTk9fMzg1IiwgLyogMzg1ICovCisJIkVSUk5PXzM4NiIsIC8qIDM4NiAqLworCSJFUlJOT18zODciLCAvKiAzODcgKi8KKwkiRVJSTk9fMzg4IiwgLyogMzg4ICovCisJIkVSUk5PXzM4OSIsIC8qIDM4OSAqLworCSJFUlJOT18zOTAiLCAvKiAzOTAgKi8KKwkiRVJSTk9fMzkxIiwgLyogMzkxICovCisJIkVSUk5PXzM5MiIsIC8qIDM5MiAqLworCSJFUlJOT18zOTMiLCAvKiAzOTMgKi8KKwkiRVJSTk9fMzk0IiwgLyogMzk0ICovCisJIkVSUk5PXzM5NSIsIC8qIDM5NSAqLworCSJFUlJOT18zOTYiLCAvKiAzOTYgKi8KKwkiRVJSTk9fMzk3IiwgLyogMzk3ICovCisJIkVSUk5PXzM5OCIsIC8qIDM5OCAqLworCSJFUlJOT18zOTkiLCAvKiAzOTkgKi8KKwkiRVJSTk9fNDAwIiwgLyogNDAwICovCisJIkVSUk5PXzQwMSIsIC8qIDQwMSAqLworCSJFUlJOT180MDIiLCAvKiA0MDIgKi8KKwkiRVJSTk9fNDAzIiwgLyogNDAzICovCisJIkVSUk5PXzQwNCIsIC8qIDQwNCAqLworCSJFUlJOT180MDUiLCAvKiA0MDUgKi8KKwkiRVJSTk9fNDA2IiwgLyogNDA2ICovCisJIkVSUk5PXzQwNyIsIC8qIDQwNyAqLworCSJFUlJOT180MDgiLCAvKiA0MDggKi8KKwkiRVJSTk9fNDA5IiwgLyogNDA5ICovCisJIkVSUk5PXzQxMCIsIC8qIDQxMCAqLworCSJFUlJOT180MTEiLCAvKiA0MTEgKi8KKwkiRVJSTk9fNDEyIiwgLyogNDEyICovCisJIkVSUk5PXzQxMyIsIC8qIDQxMyAqLworCSJFUlJOT180MTQiLCAvKiA0MTQgKi8KKwkiRVJSTk9fNDE1IiwgLyogNDE1ICovCisJIkVSUk5PXzQxNiIsIC8qIDQxNiAqLworCSJFUlJOT180MTciLCAvKiA0MTcgKi8KKwkiRVJSTk9fNDE4IiwgLyogNDE4ICovCisJIkVSUk5PXzQxOSIsIC8qIDQxOSAqLworCSJFUlJOT180MjAiLCAvKiA0MjAgKi8KKwkiRVJSTk9fNDIxIiwgLyogNDIxICovCisJIkVSUk5PXzQyMiIsIC8qIDQyMiAqLworCSJFUlJOT180MjMiLCAvKiA0MjMgKi8KKwkiRVJSTk9fNDI0IiwgLyogNDI0ICovCisJIkVSUk5PXzQyNSIsIC8qIDQyNSAqLworCSJFUlJOT180MjYiLCAvKiA0MjYgKi8KKwkiRVJSTk9fNDI3IiwgLyogNDI3ICovCisJIkVSUk5PXzQyOCIsIC8qIDQyOCAqLworCSJFUlJOT180MjkiLCAvKiA0MjkgKi8KKwkiRVJSTk9fNDMwIiwgLyogNDMwICovCisJIkVSUk5PXzQzMSIsIC8qIDQzMSAqLworCSJFUlJOT180MzIiLCAvKiA0MzIgKi8KKwkiRVJSTk9fNDMzIiwgLyogNDMzICovCisJIkVSUk5PXzQzNCIsIC8qIDQzNCAqLworCSJFUlJOT180MzUiLCAvKiA0MzUgKi8KKwkiRVJSTk9fNDM2IiwgLyogNDM2ICovCisJIkVSUk5PXzQzNyIsIC8qIDQzNyAqLworCSJFUlJOT180MzgiLCAvKiA0MzggKi8KKwkiRVJSTk9fNDM5IiwgLyogNDM5ICovCisJIkVSUk5PXzQ0MCIsIC8qIDQ0MCAqLworCSJFUlJOT180NDEiLCAvKiA0NDEgKi8KKwkiRVJSTk9fNDQyIiwgLyogNDQyICovCisJIkVSUk5PXzQ0MyIsIC8qIDQ0MyAqLworCSJFUlJOT180NDQiLCAvKiA0NDQgKi8KKwkiRVJSTk9fNDQ1IiwgLyogNDQ1ICovCisJIkVSUk5PXzQ0NiIsIC8qIDQ0NiAqLworCSJFUlJOT180NDciLCAvKiA0NDcgKi8KKwkiRVJSTk9fNDQ4IiwgLyogNDQ4ICovCisJIkVSUk5PXzQ0OSIsIC8qIDQ0OSAqLworCSJFUlJOT180NTAiLCAvKiA0NTAgKi8KKwkiRVJSTk9fNDUxIiwgLyogNDUxICovCisJIkVSUk5PXzQ1MiIsIC8qIDQ1MiAqLworCSJFUlJOT180NTMiLCAvKiA0NTMgKi8KKwkiRVJSTk9fNDU0IiwgLyogNDU0ICovCisJIkVSUk5PXzQ1NSIsIC8qIDQ1NSAqLworCSJFUlJOT180NTYiLCAvKiA0NTYgKi8KKwkiRVJSTk9fNDU3IiwgLyogNDU3ICovCisJIkVSUk5PXzQ1OCIsIC8qIDQ1OCAqLworCSJFUlJOT180NTkiLCAvKiA0NTkgKi8KKwkiRVJSTk9fNDYwIiwgLyogNDYwICovCisJIkVSUk5PXzQ2MSIsIC8qIDQ2MSAqLworCSJFUlJOT180NjIiLCAvKiA0NjIgKi8KKwkiRVJSTk9fNDYzIiwgLyogNDYzICovCisJIkVSUk5PXzQ2NCIsIC8qIDQ2NCAqLworCSJFUlJOT180NjUiLCAvKiA0NjUgKi8KKwkiRVJSTk9fNDY2IiwgLyogNDY2ICovCisJIkVSUk5PXzQ2NyIsIC8qIDQ2NyAqLworCSJFUlJOT180NjgiLCAvKiA0NjggKi8KKwkiRVJSTk9fNDY5IiwgLyogNDY5ICovCisJIkVSUk5PXzQ3MCIsIC8qIDQ3MCAqLworCSJFUlJOT180NzEiLCAvKiA0NzEgKi8KKwkiRVJSTk9fNDcyIiwgLyogNDcyICovCisJIkVSUk5PXzQ3MyIsIC8qIDQ3MyAqLworCSJFUlJOT180NzQiLCAvKiA0NzQgKi8KKwkiRVJSTk9fNDc1IiwgLyogNDc1ICovCisJIkVSUk5PXzQ3NiIsIC8qIDQ3NiAqLworCSJFUlJOT180NzciLCAvKiA0NzcgKi8KKwkiRVJSTk9fNDc4IiwgLyogNDc4ICovCisJIkVSUk5PXzQ3OSIsIC8qIDQ3OSAqLworCSJFUlJOT180ODAiLCAvKiA0ODAgKi8KKwkiRVJSTk9fNDgxIiwgLyogNDgxICovCisJIkVSUk5PXzQ4MiIsIC8qIDQ4MiAqLworCSJFUlJOT180ODMiLCAvKiA0ODMgKi8KKwkiRVJSTk9fNDg0IiwgLyogNDg0ICovCisJIkVSUk5PXzQ4NSIsIC8qIDQ4NSAqLworCSJFUlJOT180ODYiLCAvKiA0ODYgKi8KKwkiRVJSTk9fNDg3IiwgLyogNDg3ICovCisJIkVSUk5PXzQ4OCIsIC8qIDQ4OCAqLworCSJFUlJOT180ODkiLCAvKiA0ODkgKi8KKwkiRVJSTk9fNDkwIiwgLyogNDkwICovCisJIkVSUk5PXzQ5MSIsIC8qIDQ5MSAqLworCSJFUlJOT180OTIiLCAvKiA0OTIgKi8KKwkiRVJSTk9fNDkzIiwgLyogNDkzICovCisJIkVSUk5PXzQ5NCIsIC8qIDQ5NCAqLworCSJFUlJOT180OTUiLCAvKiA0OTUgKi8KKwkiRVJSTk9fNDk2IiwgLyogNDk2ICovCisJIkVSUk5PXzQ5NyIsIC8qIDQ5NyAqLworCSJFUlJOT180OTgiLCAvKiA0OTggKi8KKwkiRVJSTk9fNDk5IiwgLyogNDk5ICovCisJIkVSUk5PXzUwMCIsIC8qIDUwMCAqLworCSJFUlJOT181MDEiLCAvKiA1MDEgKi8KKwkiRVJSTk9fNTAyIiwgLyogNTAyICovCisJIkVSUk5PXzUwMyIsIC8qIDUwMyAqLworCSJFUlJOT181MDQiLCAvKiA1MDQgKi8KKwkiRVJSTk9fNTA1IiwgLyogNTA1ICovCisJIkVSUk5PXzUwNiIsIC8qIDUwNiAqLworCSJFUlJOT181MDciLCAvKiA1MDcgKi8KKwkiRVJSTk9fNTA4IiwgLyogNTA4ICovCisJIkVSUk5PXzUwOSIsIC8qIDUwOSAqLworCSJFUlJOT181MTAiLCAvKiA1MTAgKi8KKwkiRVJSTk9fNTExIiwgLyogNTExICovCisJIkVSUk5PXzUxMiIsIC8qIDUxMiAqLworCSJFUlJOT181MTMiLCAvKiA1MTMgKi8KKwkiRVJSTk9fNTE0IiwgLyogNTE0ICovCisJIkVSUk5PXzUxNSIsIC8qIDUxNSAqLworCSJFUlJOT181MTYiLCAvKiA1MTYgKi8KKwkiRVJSTk9fNTE3IiwgLyogNTE3ICovCisJIkVSUk5PXzUxOCIsIC8qIDUxOCAqLworCSJFUlJOT181MTkiLCAvKiA1MTkgKi8KKwkiRVJSTk9fNTIwIiwgLyogNTIwICovCisJIkVSUk5PXzUyMSIsIC8qIDUyMSAqLworCSJFUlJOT181MjIiLCAvKiA1MjIgKi8KKwkiRVJSTk9fNTIzIiwgLyogNTIzICovCisJIkVSUk5PXzUyNCIsIC8qIDUyNCAqLworCSJFUlJOT181MjUiLCAvKiA1MjUgKi8KKwkiRVJSTk9fNTI2IiwgLyogNTI2ICovCisJIkVSUk5PXzUyNyIsIC8qIDUyNyAqLworCSJFUlJOT181MjgiLCAvKiA1MjggKi8KKwkiRVJSTk9fNTI5IiwgLyogNTI5ICovCisJIkVSUk5PXzUzMCIsIC8qIDUzMCAqLworCSJFUlJOT181MzEiLCAvKiA1MzEgKi8KKwkiRVJSTk9fNTMyIiwgLyogNTMyICovCisJIkVSUk5PXzUzMyIsIC8qIDUzMyAqLworCSJFUlJOT181MzQiLCAvKiA1MzQgKi8KKwkiRVJSTk9fNTM1IiwgLyogNTM1ICovCisJIkVSUk5PXzUzNiIsIC8qIDUzNiAqLworCSJFUlJOT181MzciLCAvKiA1MzcgKi8KKwkiRVJSTk9fNTM4IiwgLyogNTM4ICovCisJIkVSUk5PXzUzOSIsIC8qIDUzOSAqLworCSJFUlJOT181NDAiLCAvKiA1NDAgKi8KKwkiRVJSTk9fNTQxIiwgLyogNTQxICovCisJIkVSUk5PXzU0MiIsIC8qIDU0MiAqLworCSJFUlJOT181NDMiLCAvKiA1NDMgKi8KKwkiRVJSTk9fNTQ0IiwgLyogNTQ0ICovCisJIkVSUk5PXzU0NSIsIC8qIDU0NSAqLworCSJFUlJOT181NDYiLCAvKiA1NDYgKi8KKwkiRVJSTk9fNTQ3IiwgLyogNTQ3ICovCisJIkVSUk5PXzU0OCIsIC8qIDU0OCAqLworCSJFUlJOT181NDkiLCAvKiA1NDkgKi8KKwkiRVJSTk9fNTUwIiwgLyogNTUwICovCisJIkVSUk5PXzU1MSIsIC8qIDU1MSAqLworCSJFUlJOT181NTIiLCAvKiA1NTIgKi8KKwkiRVJSTk9fNTUzIiwgLyogNTUzICovCisJIkVSUk5PXzU1NCIsIC8qIDU1NCAqLworCSJFUlJOT181NTUiLCAvKiA1NTUgKi8KKwkiRVJSTk9fNTU2IiwgLyogNTU2ICovCisJIkVSUk5PXzU1NyIsIC8qIDU1NyAqLworCSJFUlJOT181NTgiLCAvKiA1NTggKi8KKwkiRVJSTk9fNTU5IiwgLyogNTU5ICovCisJIkVSUk5PXzU2MCIsIC8qIDU2MCAqLworCSJFUlJOT181NjEiLCAvKiA1NjEgKi8KKwkiRVJSTk9fNTYyIiwgLyogNTYyICovCisJIkVSUk5PXzU2MyIsIC8qIDU2MyAqLworCSJFUlJOT181NjQiLCAvKiA1NjQgKi8KKwkiRVJSTk9fNTY1IiwgLyogNTY1ICovCisJIkVSUk5PXzU2NiIsIC8qIDU2NiAqLworCSJFUlJOT181NjciLCAvKiA1NjcgKi8KKwkiRVJSTk9fNTY4IiwgLyogNTY4ICovCisJIkVSUk5PXzU2OSIsIC8qIDU2OSAqLworCSJFUlJOT181NzAiLCAvKiA1NzAgKi8KKwkiRVJSTk9fNTcxIiwgLyogNTcxICovCisJIkVSUk5PXzU3MiIsIC8qIDU3MiAqLworCSJFUlJOT181NzMiLCAvKiA1NzMgKi8KKwkiRVJSTk9fNTc0IiwgLyogNTc0ICovCisJIkVSUk5PXzU3NSIsIC8qIDU3NSAqLworCSJFUlJOT181NzYiLCAvKiA1NzYgKi8KKwkiRVJSTk9fNTc3IiwgLyogNTc3ICovCisJIkVSUk5PXzU3OCIsIC8qIDU3OCAqLworCSJFUlJOT181NzkiLCAvKiA1NzkgKi8KKwkiRVJSTk9fNTgwIiwgLyogNTgwICovCisJIkVSUk5PXzU4MSIsIC8qIDU4MSAqLworCSJFUlJOT181ODIiLCAvKiA1ODIgKi8KKwkiRVJSTk9fNTgzIiwgLyogNTgzICovCisJIkVSUk5PXzU4NCIsIC8qIDU4NCAqLworCSJFUlJOT181ODUiLCAvKiA1ODUgKi8KKwkiRVJSTk9fNTg2IiwgLyogNTg2ICovCisJIkVSUk5PXzU4NyIsIC8qIDU4NyAqLworCSJFUlJOT181ODgiLCAvKiA1ODggKi8KKwkiRVJSTk9fNTg5IiwgLyogNTg5ICovCisJIkVSUk5PXzU5MCIsIC8qIDU5MCAqLworCSJFUlJOT181OTEiLCAvKiA1OTEgKi8KKwkiRVJSTk9fNTkyIiwgLyogNTkyICovCisJIkVSUk5PXzU5MyIsIC8qIDU5MyAqLworCSJFUlJOT181OTQiLCAvKiA1OTQgKi8KKwkiRVJSTk9fNTk1IiwgLyogNTk1ICovCisJIkVSUk5PXzU5NiIsIC8qIDU5NiAqLworCSJFUlJOT181OTciLCAvKiA1OTcgKi8KKwkiRVJSTk9fNTk4IiwgLyogNTk4ICovCisJIkVSUk5PXzU5OSIsIC8qIDU5OSAqLworCSJFUlJOT182MDAiLCAvKiA2MDAgKi8KKwkiRVJSTk9fNjAxIiwgLyogNjAxICovCisJIkVSUk5PXzYwMiIsIC8qIDYwMiAqLworCSJFUlJOT182MDMiLCAvKiA2MDMgKi8KKwkiRVJSTk9fNjA0IiwgLyogNjA0ICovCisJIkVSUk5PXzYwNSIsIC8qIDYwNSAqLworCSJFUlJOT182MDYiLCAvKiA2MDYgKi8KKwkiRVJSTk9fNjA3IiwgLyogNjA3ICovCisJIkVSUk5PXzYwOCIsIC8qIDYwOCAqLworCSJFUlJOT182MDkiLCAvKiA2MDkgKi8KKwkiRVJSTk9fNjEwIiwgLyogNjEwICovCisJIkVSUk5PXzYxMSIsIC8qIDYxMSAqLworCSJFUlJOT182MTIiLCAvKiA2MTIgKi8KKwkiRVJSTk9fNjEzIiwgLyogNjEzICovCisJIkVSUk5PXzYxNCIsIC8qIDYxNCAqLworCSJFUlJOT182MTUiLCAvKiA2MTUgKi8KKwkiRVJSTk9fNjE2IiwgLyogNjE2ICovCisJIkVSUk5PXzYxNyIsIC8qIDYxNyAqLworCSJFUlJOT182MTgiLCAvKiA2MTggKi8KKwkiRVJSTk9fNjE5IiwgLyogNjE5ICovCisJIkVSUk5PXzYyMCIsIC8qIDYyMCAqLworCSJFUlJOT182MjEiLCAvKiA2MjEgKi8KKwkiRVJSTk9fNjIyIiwgLyogNjIyICovCisJIkVSUk5PXzYyMyIsIC8qIDYyMyAqLworCSJFUlJOT182MjQiLCAvKiA2MjQgKi8KKwkiRVJSTk9fNjI1IiwgLyogNjI1ICovCisJIkVSUk5PXzYyNiIsIC8qIDYyNiAqLworCSJFUlJOT182MjciLCAvKiA2MjcgKi8KKwkiRVJSTk9fNjI4IiwgLyogNjI4ICovCisJIkVSUk5PXzYyOSIsIC8qIDYyOSAqLworCSJFUlJOT182MzAiLCAvKiA2MzAgKi8KKwkiRVJSTk9fNjMxIiwgLyogNjMxICovCisJIkVSUk5PXzYzMiIsIC8qIDYzMiAqLworCSJFUlJOT182MzMiLCAvKiA2MzMgKi8KKwkiRVJSTk9fNjM0IiwgLyogNjM0ICovCisJIkVSUk5PXzYzNSIsIC8qIDYzNSAqLworCSJFUlJOT182MzYiLCAvKiA2MzYgKi8KKwkiRVJSTk9fNjM3IiwgLyogNjM3ICovCisJIkVSUk5PXzYzOCIsIC8qIDYzOCAqLworCSJFUlJOT182MzkiLCAvKiA2MzkgKi8KKwkiRVJSTk9fNjQwIiwgLyogNjQwICovCisJIkVSUk5PXzY0MSIsIC8qIDY0MSAqLworCSJFUlJOT182NDIiLCAvKiA2NDIgKi8KKwkiRVJSTk9fNjQzIiwgLyogNjQzICovCisJIkVSUk5PXzY0NCIsIC8qIDY0NCAqLworCSJFUlJOT182NDUiLCAvKiA2NDUgKi8KKwkiRVJSTk9fNjQ2IiwgLyogNjQ2ICovCisJIkVSUk5PXzY0NyIsIC8qIDY0NyAqLworCSJFUlJOT182NDgiLCAvKiA2NDggKi8KKwkiRVJSTk9fNjQ5IiwgLyogNjQ5ICovCisJIkVSUk5PXzY1MCIsIC8qIDY1MCAqLworCSJFUlJOT182NTEiLCAvKiA2NTEgKi8KKwkiRVJSTk9fNjUyIiwgLyogNjUyICovCisJIkVSUk5PXzY1MyIsIC8qIDY1MyAqLworCSJFUlJOT182NTQiLCAvKiA2NTQgKi8KKwkiRVJSTk9fNjU1IiwgLyogNjU1ICovCisJIkVSUk5PXzY1NiIsIC8qIDY1NiAqLworCSJFUlJOT182NTciLCAvKiA2NTcgKi8KKwkiRVJSTk9fNjU4IiwgLyogNjU4ICovCisJIkVSUk5PXzY1OSIsIC8qIDY1OSAqLworCSJFUlJOT182NjAiLCAvKiA2NjAgKi8KKwkiRVJSTk9fNjYxIiwgLyogNjYxICovCisJIkVSUk5PXzY2MiIsIC8qIDY2MiAqLworCSJFUlJOT182NjMiLCAvKiA2NjMgKi8KKwkiRVJSTk9fNjY0IiwgLyogNjY0ICovCisJIkVSUk5PXzY2NSIsIC8qIDY2NSAqLworCSJFUlJOT182NjYiLCAvKiA2NjYgKi8KKwkiRVJSTk9fNjY3IiwgLyogNjY3ICovCisJIkVSUk5PXzY2OCIsIC8qIDY2OCAqLworCSJFUlJOT182NjkiLCAvKiA2NjkgKi8KKwkiRVJSTk9fNjcwIiwgLyogNjcwICovCisJIkVSUk5PXzY3MSIsIC8qIDY3MSAqLworCSJFUlJOT182NzIiLCAvKiA2NzIgKi8KKwkiRVJSTk9fNjczIiwgLyogNjczICovCisJIkVSUk5PXzY3NCIsIC8qIDY3NCAqLworCSJFUlJOT182NzUiLCAvKiA2NzUgKi8KKwkiRVJSTk9fNjc2IiwgLyogNjc2ICovCisJIkVSUk5PXzY3NyIsIC8qIDY3NyAqLworCSJFUlJOT182NzgiLCAvKiA2NzggKi8KKwkiRVJSTk9fNjc5IiwgLyogNjc5ICovCisJIkVSUk5PXzY4MCIsIC8qIDY4MCAqLworCSJFUlJOT182ODEiLCAvKiA2ODEgKi8KKwkiRVJSTk9fNjgyIiwgLyogNjgyICovCisJIkVSUk5PXzY4MyIsIC8qIDY4MyAqLworCSJFUlJOT182ODQiLCAvKiA2ODQgKi8KKwkiRVJSTk9fNjg1IiwgLyogNjg1ICovCisJIkVSUk5PXzY4NiIsIC8qIDY4NiAqLworCSJFUlJOT182ODciLCAvKiA2ODcgKi8KKwkiRVJSTk9fNjg4IiwgLyogNjg4ICovCisJIkVSUk5PXzY4OSIsIC8qIDY4OSAqLworCSJFUlJOT182OTAiLCAvKiA2OTAgKi8KKwkiRVJSTk9fNjkxIiwgLyogNjkxICovCisJIkVSUk5PXzY5MiIsIC8qIDY5MiAqLworCSJFUlJOT182OTMiLCAvKiA2OTMgKi8KKwkiRVJSTk9fNjk0IiwgLyogNjk0ICovCisJIkVSUk5PXzY5NSIsIC8qIDY5NSAqLworCSJFUlJOT182OTYiLCAvKiA2OTYgKi8KKwkiRVJSTk9fNjk3IiwgLyogNjk3ICovCisJIkVSUk5PXzY5OCIsIC8qIDY5OCAqLworCSJFUlJOT182OTkiLCAvKiA2OTkgKi8KKwkiRVJSTk9fNzAwIiwgLyogNzAwICovCisJIkVSUk5PXzcwMSIsIC8qIDcwMSAqLworCSJFUlJOT183MDIiLCAvKiA3MDIgKi8KKwkiRVJSTk9fNzAzIiwgLyogNzAzICovCisJIkVSUk5PXzcwNCIsIC8qIDcwNCAqLworCSJFUlJOT183MDUiLCAvKiA3MDUgKi8KKwkiRVJSTk9fNzA2IiwgLyogNzA2ICovCisJIkVSUk5PXzcwNyIsIC8qIDcwNyAqLworCSJFUlJOT183MDgiLCAvKiA3MDggKi8KKwkiRVJSTk9fNzA5IiwgLyogNzA5ICovCisJIkVSUk5PXzcxMCIsIC8qIDcxMCAqLworCSJFUlJOT183MTEiLCAvKiA3MTEgKi8KKwkiRVJSTk9fNzEyIiwgLyogNzEyICovCisJIkVSUk5PXzcxMyIsIC8qIDcxMyAqLworCSJFUlJOT183MTQiLCAvKiA3MTQgKi8KKwkiRVJSTk9fNzE1IiwgLyogNzE1ICovCisJIkVSUk5PXzcxNiIsIC8qIDcxNiAqLworCSJFUlJOT183MTciLCAvKiA3MTcgKi8KKwkiRVJSTk9fNzE4IiwgLyogNzE4ICovCisJIkVSUk5PXzcxOSIsIC8qIDcxOSAqLworCSJFUlJOT183MjAiLCAvKiA3MjAgKi8KKwkiRVJSTk9fNzIxIiwgLyogNzIxICovCisJIkVSUk5PXzcyMiIsIC8qIDcyMiAqLworCSJFUlJOT183MjMiLCAvKiA3MjMgKi8KKwkiRVJSTk9fNzI0IiwgLyogNzI0ICovCisJIkVSUk5PXzcyNSIsIC8qIDcyNSAqLworCSJFUlJOT183MjYiLCAvKiA3MjYgKi8KKwkiRVJSTk9fNzI3IiwgLyogNzI3ICovCisJIkVSUk5PXzcyOCIsIC8qIDcyOCAqLworCSJFUlJOT183MjkiLCAvKiA3MjkgKi8KKwkiRVJSTk9fNzMwIiwgLyogNzMwICovCisJIkVSUk5PXzczMSIsIC8qIDczMSAqLworCSJFUlJOT183MzIiLCAvKiA3MzIgKi8KKwkiRVJSTk9fNzMzIiwgLyogNzMzICovCisJIkVSUk5PXzczNCIsIC8qIDczNCAqLworCSJFUlJOT183MzUiLCAvKiA3MzUgKi8KKwkiRVJSTk9fNzM2IiwgLyogNzM2ICovCisJIkVSUk5PXzczNyIsIC8qIDczNyAqLworCSJFUlJOT183MzgiLCAvKiA3MzggKi8KKwkiRVJSTk9fNzM5IiwgLyogNzM5ICovCisJIkVSUk5PXzc0MCIsIC8qIDc0MCAqLworCSJFUlJOT183NDEiLCAvKiA3NDEgKi8KKwkiRVJSTk9fNzQyIiwgLyogNzQyICovCisJIkVSUk5PXzc0MyIsIC8qIDc0MyAqLworCSJFUlJOT183NDQiLCAvKiA3NDQgKi8KKwkiRVJSTk9fNzQ1IiwgLyogNzQ1ICovCisJIkVSUk5PXzc0NiIsIC8qIDc0NiAqLworCSJFUlJOT183NDciLCAvKiA3NDcgKi8KKwkiRVJSTk9fNzQ4IiwgLyogNzQ4ICovCisJIkVSUk5PXzc0OSIsIC8qIDc0OSAqLworCSJFUlJOT183NTAiLCAvKiA3NTAgKi8KKwkiRVJSTk9fNzUxIiwgLyogNzUxICovCisJIkVSUk5PXzc1MiIsIC8qIDc1MiAqLworCSJFUlJOT183NTMiLCAvKiA3NTMgKi8KKwkiRVJSTk9fNzU0IiwgLyogNzU0ICovCisJIkVSUk5PXzc1NSIsIC8qIDc1NSAqLworCSJFUlJOT183NTYiLCAvKiA3NTYgKi8KKwkiRVJSTk9fNzU3IiwgLyogNzU3ICovCisJIkVSUk5PXzc1OCIsIC8qIDc1OCAqLworCSJFUlJOT183NTkiLCAvKiA3NTkgKi8KKwkiRVJSTk9fNzYwIiwgLyogNzYwICovCisJIkVSUk5PXzc2MSIsIC8qIDc2MSAqLworCSJFUlJOT183NjIiLCAvKiA3NjIgKi8KKwkiRVJSTk9fNzYzIiwgLyogNzYzICovCisJIkVSUk5PXzc2NCIsIC8qIDc2NCAqLworCSJFUlJOT183NjUiLCAvKiA3NjUgKi8KKwkiRVJSTk9fNzY2IiwgLyogNzY2ICovCisJIkVSUk5PXzc2NyIsIC8qIDc2NyAqLworCSJFUlJOT183NjgiLCAvKiA3NjggKi8KKwkiRVJSTk9fNzY5IiwgLyogNzY5ICovCisJIkVSUk5PXzc3MCIsIC8qIDc3MCAqLworCSJFUlJOT183NzEiLCAvKiA3NzEgKi8KKwkiRVJSTk9fNzcyIiwgLyogNzcyICovCisJIkVSUk5PXzc3MyIsIC8qIDc3MyAqLworCSJFUlJOT183NzQiLCAvKiA3NzQgKi8KKwkiRVJSTk9fNzc1IiwgLyogNzc1ICovCisJIkVSUk5PXzc3NiIsIC8qIDc3NiAqLworCSJFUlJOT183NzciLCAvKiA3NzcgKi8KKwkiRVJSTk9fNzc4IiwgLyogNzc4ICovCisJIkVSUk5PXzc3OSIsIC8qIDc3OSAqLworCSJFUlJOT183ODAiLCAvKiA3ODAgKi8KKwkiRVJSTk9fNzgxIiwgLyogNzgxICovCisJIkVSUk5PXzc4MiIsIC8qIDc4MiAqLworCSJFUlJOT183ODMiLCAvKiA3ODMgKi8KKwkiRVJSTk9fNzg0IiwgLyogNzg0ICovCisJIkVSUk5PXzc4NSIsIC8qIDc4NSAqLworCSJFUlJOT183ODYiLCAvKiA3ODYgKi8KKwkiRVJSTk9fNzg3IiwgLyogNzg3ICovCisJIkVSUk5PXzc4OCIsIC8qIDc4OCAqLworCSJFUlJOT183ODkiLCAvKiA3ODkgKi8KKwkiRVJSTk9fNzkwIiwgLyogNzkwICovCisJIkVSUk5PXzc5MSIsIC8qIDc5MSAqLworCSJFUlJOT183OTIiLCAvKiA3OTIgKi8KKwkiRVJSTk9fNzkzIiwgLyogNzkzICovCisJIkVSUk5PXzc5NCIsIC8qIDc5NCAqLworCSJFUlJOT183OTUiLCAvKiA3OTUgKi8KKwkiRVJSTk9fNzk2IiwgLyogNzk2ICovCisJIkVSUk5PXzc5NyIsIC8qIDc5NyAqLworCSJFUlJOT183OTgiLCAvKiA3OTggKi8KKwkiRVJSTk9fNzk5IiwgLyogNzk5ICovCisJIkVSUk5PXzgwMCIsIC8qIDgwMCAqLworCSJFUlJOT184MDEiLCAvKiA4MDEgKi8KKwkiRVJSTk9fODAyIiwgLyogODAyICovCisJIkVSUk5PXzgwMyIsIC8qIDgwMyAqLworCSJFUlJOT184MDQiLCAvKiA4MDQgKi8KKwkiRVJSTk9fODA1IiwgLyogODA1ICovCisJIkVSUk5PXzgwNiIsIC8qIDgwNiAqLworCSJFUlJOT184MDciLCAvKiA4MDcgKi8KKwkiRVJSTk9fODA4IiwgLyogODA4ICovCisJIkVSUk5PXzgwOSIsIC8qIDgwOSAqLworCSJFUlJOT184MTAiLCAvKiA4MTAgKi8KKwkiRVJSTk9fODExIiwgLyogODExICovCisJIkVSUk5PXzgxMiIsIC8qIDgxMiAqLworCSJFUlJOT184MTMiLCAvKiA4MTMgKi8KKwkiRVJSTk9fODE0IiwgLyogODE0ICovCisJIkVSUk5PXzgxNSIsIC8qIDgxNSAqLworCSJFUlJOT184MTYiLCAvKiA4MTYgKi8KKwkiRVJSTk9fODE3IiwgLyogODE3ICovCisJIkVSUk5PXzgxOCIsIC8qIDgxOCAqLworCSJFUlJOT184MTkiLCAvKiA4MTkgKi8KKwkiRVJSTk9fODIwIiwgLyogODIwICovCisJIkVSUk5PXzgyMSIsIC8qIDgyMSAqLworCSJFUlJOT184MjIiLCAvKiA4MjIgKi8KKwkiRVJSTk9fODIzIiwgLyogODIzICovCisJIkVSUk5PXzgyNCIsIC8qIDgyNCAqLworCSJFUlJOT184MjUiLCAvKiA4MjUgKi8KKwkiRVJSTk9fODI2IiwgLyogODI2ICovCisJIkVSUk5PXzgyNyIsIC8qIDgyNyAqLworCSJFUlJOT184MjgiLCAvKiA4MjggKi8KKwkiRVJSTk9fODI5IiwgLyogODI5ICovCisJIkVSUk5PXzgzMCIsIC8qIDgzMCAqLworCSJFUlJOT184MzEiLCAvKiA4MzEgKi8KKwkiRVJSTk9fODMyIiwgLyogODMyICovCisJIkVSUk5PXzgzMyIsIC8qIDgzMyAqLworCSJFUlJOT184MzQiLCAvKiA4MzQgKi8KKwkiRVJSTk9fODM1IiwgLyogODM1ICovCisJIkVSUk5PXzgzNiIsIC8qIDgzNiAqLworCSJFUlJOT184MzciLCAvKiA4MzcgKi8KKwkiRVJSTk9fODM4IiwgLyogODM4ICovCisJIkVSUk5PXzgzOSIsIC8qIDgzOSAqLworCSJFUlJOT184NDAiLCAvKiA4NDAgKi8KKwkiRVJSTk9fODQxIiwgLyogODQxICovCisJIkVSUk5PXzg0MiIsIC8qIDg0MiAqLworCSJFUlJOT184NDMiLCAvKiA4NDMgKi8KKwkiRVJSTk9fODQ0IiwgLyogODQ0ICovCisJIkVSUk5PXzg0NSIsIC8qIDg0NSAqLworCSJFUlJOT184NDYiLCAvKiA4NDYgKi8KKwkiRVJSTk9fODQ3IiwgLyogODQ3ICovCisJIkVSUk5PXzg0OCIsIC8qIDg0OCAqLworCSJFUlJOT184NDkiLCAvKiA4NDkgKi8KKwkiRVJSTk9fODUwIiwgLyogODUwICovCisJIkVSUk5PXzg1MSIsIC8qIDg1MSAqLworCSJFUlJOT184NTIiLCAvKiA4NTIgKi8KKwkiRVJSTk9fODUzIiwgLyogODUzICovCisJIkVSUk5PXzg1NCIsIC8qIDg1NCAqLworCSJFUlJOT184NTUiLCAvKiA4NTUgKi8KKwkiRVJSTk9fODU2IiwgLyogODU2ICovCisJIkVSUk5PXzg1NyIsIC8qIDg1NyAqLworCSJFUlJOT184NTgiLCAvKiA4NTggKi8KKwkiRVJSTk9fODU5IiwgLyogODU5ICovCisJIkVSUk5PXzg2MCIsIC8qIDg2MCAqLworCSJFUlJOT184NjEiLCAvKiA4NjEgKi8KKwkiRVJSTk9fODYyIiwgLyogODYyICovCisJIkVSUk5PXzg2MyIsIC8qIDg2MyAqLworCSJFUlJOT184NjQiLCAvKiA4NjQgKi8KKwkiRVJSTk9fODY1IiwgLyogODY1ICovCisJIkVSUk5PXzg2NiIsIC8qIDg2NiAqLworCSJFUlJOT184NjciLCAvKiA4NjcgKi8KKwkiRVJSTk9fODY4IiwgLyogODY4ICovCisJIkVSUk5PXzg2OSIsIC8qIDg2OSAqLworCSJFUlJOT184NzAiLCAvKiA4NzAgKi8KKwkiRVJSTk9fODcxIiwgLyogODcxICovCisJIkVSUk5PXzg3MiIsIC8qIDg3MiAqLworCSJFUlJOT184NzMiLCAvKiA4NzMgKi8KKwkiRVJSTk9fODc0IiwgLyogODc0ICovCisJIkVSUk5PXzg3NSIsIC8qIDg3NSAqLworCSJFUlJOT184NzYiLCAvKiA4NzYgKi8KKwkiRVJSTk9fODc3IiwgLyogODc3ICovCisJIkVSUk5PXzg3OCIsIC8qIDg3OCAqLworCSJFUlJOT184NzkiLCAvKiA4NzkgKi8KKwkiRVJSTk9fODgwIiwgLyogODgwICovCisJIkVSUk5PXzg4MSIsIC8qIDg4MSAqLworCSJFUlJOT184ODIiLCAvKiA4ODIgKi8KKwkiRVJSTk9fODgzIiwgLyogODgzICovCisJIkVSUk5PXzg4NCIsIC8qIDg4NCAqLworCSJFUlJOT184ODUiLCAvKiA4ODUgKi8KKwkiRVJSTk9fODg2IiwgLyogODg2ICovCisJIkVSUk5PXzg4NyIsIC8qIDg4NyAqLworCSJFUlJOT184ODgiLCAvKiA4ODggKi8KKwkiRVJSTk9fODg5IiwgLyogODg5ICovCisJIkVSUk5PXzg5MCIsIC8qIDg5MCAqLworCSJFUlJOT184OTEiLCAvKiA4OTEgKi8KKwkiRVJSTk9fODkyIiwgLyogODkyICovCisJIkVSUk5PXzg5MyIsIC8qIDg5MyAqLworCSJFUlJOT184OTQiLCAvKiA4OTQgKi8KKwkiRVJSTk9fODk1IiwgLyogODk1ICovCisJIkVSUk5PXzg5NiIsIC8qIDg5NiAqLworCSJFUlJOT184OTciLCAvKiA4OTcgKi8KKwkiRVJSTk9fODk4IiwgLyogODk4ICovCisJIkVSUk5PXzg5OSIsIC8qIDg5OSAqLworCSJFUlJOT185MDAiLCAvKiA5MDAgKi8KKwkiRVJSTk9fOTAxIiwgLyogOTAxICovCisJIkVSUk5PXzkwMiIsIC8qIDkwMiAqLworCSJFUlJOT185MDMiLCAvKiA5MDMgKi8KKwkiRVJSTk9fOTA0IiwgLyogOTA0ICovCisJIkVSUk5PXzkwNSIsIC8qIDkwNSAqLworCSJFUlJOT185MDYiLCAvKiA5MDYgKi8KKwkiRVJSTk9fOTA3IiwgLyogOTA3ICovCisJIkVSUk5PXzkwOCIsIC8qIDkwOCAqLworCSJFUlJOT185MDkiLCAvKiA5MDkgKi8KKwkiRVJSTk9fOTEwIiwgLyogOTEwICovCisJIkVSUk5PXzkxMSIsIC8qIDkxMSAqLworCSJFUlJOT185MTIiLCAvKiA5MTIgKi8KKwkiRVJSTk9fOTEzIiwgLyogOTEzICovCisJIkVSUk5PXzkxNCIsIC8qIDkxNCAqLworCSJFUlJOT185MTUiLCAvKiA5MTUgKi8KKwkiRVJSTk9fOTE2IiwgLyogOTE2ICovCisJIkVSUk5PXzkxNyIsIC8qIDkxNyAqLworCSJFUlJOT185MTgiLCAvKiA5MTggKi8KKwkiRVJSTk9fOTE5IiwgLyogOTE5ICovCisJIkVSUk5PXzkyMCIsIC8qIDkyMCAqLworCSJFUlJOT185MjEiLCAvKiA5MjEgKi8KKwkiRVJSTk9fOTIyIiwgLyogOTIyICovCisJIkVSUk5PXzkyMyIsIC8qIDkyMyAqLworCSJFUlJOT185MjQiLCAvKiA5MjQgKi8KKwkiRVJSTk9fOTI1IiwgLyogOTI1ICovCisJIkVSUk5PXzkyNiIsIC8qIDkyNiAqLworCSJFUlJOT185MjciLCAvKiA5MjcgKi8KKwkiRVJSTk9fOTI4IiwgLyogOTI4ICovCisJIkVSUk5PXzkyOSIsIC8qIDkyOSAqLworCSJFUlJOT185MzAiLCAvKiA5MzAgKi8KKwkiRVJSTk9fOTMxIiwgLyogOTMxICovCisJIkVSUk5PXzkzMiIsIC8qIDkzMiAqLworCSJFUlJOT185MzMiLCAvKiA5MzMgKi8KKwkiRVJSTk9fOTM0IiwgLyogOTM0ICovCisJIkVSUk5PXzkzNSIsIC8qIDkzNSAqLworCSJFUlJOT185MzYiLCAvKiA5MzYgKi8KKwkiRVJSTk9fOTM3IiwgLyogOTM3ICovCisJIkVSUk5PXzkzOCIsIC8qIDkzOCAqLworCSJFUlJOT185MzkiLCAvKiA5MzkgKi8KKwkiRVJSTk9fOTQwIiwgLyogOTQwICovCisJIkVSUk5PXzk0MSIsIC8qIDk0MSAqLworCSJFUlJOT185NDIiLCAvKiA5NDIgKi8KKwkiRVJSTk9fOTQzIiwgLyogOTQzICovCisJIkVSUk5PXzk0NCIsIC8qIDk0NCAqLworCSJFUlJOT185NDUiLCAvKiA5NDUgKi8KKwkiRVJSTk9fOTQ2IiwgLyogOTQ2ICovCisJIkVSUk5PXzk0NyIsIC8qIDk0NyAqLworCSJFUlJOT185NDgiLCAvKiA5NDggKi8KKwkiRVJSTk9fOTQ5IiwgLyogOTQ5ICovCisJIkVSUk5PXzk1MCIsIC8qIDk1MCAqLworCSJFUlJOT185NTEiLCAvKiA5NTEgKi8KKwkiRVJSTk9fOTUyIiwgLyogOTUyICovCisJIkVSUk5PXzk1MyIsIC8qIDk1MyAqLworCSJFUlJOT185NTQiLCAvKiA5NTQgKi8KKwkiRVJSTk9fOTU1IiwgLyogOTU1ICovCisJIkVSUk5PXzk1NiIsIC8qIDk1NiAqLworCSJFUlJOT185NTciLCAvKiA5NTcgKi8KKwkiRVJSTk9fOTU4IiwgLyogOTU4ICovCisJIkVSUk5PXzk1OSIsIC8qIDk1OSAqLworCSJFUlJOT185NjAiLCAvKiA5NjAgKi8KKwkiRVJSTk9fOTYxIiwgLyogOTYxICovCisJIkVSUk5PXzk2MiIsIC8qIDk2MiAqLworCSJFUlJOT185NjMiLCAvKiA5NjMgKi8KKwkiRVJSTk9fOTY0IiwgLyogOTY0ICovCisJIkVSUk5PXzk2NSIsIC8qIDk2NSAqLworCSJFUlJOT185NjYiLCAvKiA5NjYgKi8KKwkiRVJSTk9fOTY3IiwgLyogOTY3ICovCisJIkVSUk5PXzk2OCIsIC8qIDk2OCAqLworCSJFUlJOT185NjkiLCAvKiA5NjkgKi8KKwkiRVJSTk9fOTcwIiwgLyogOTcwICovCisJIkVSUk5PXzk3MSIsIC8qIDk3MSAqLworCSJFUlJOT185NzIiLCAvKiA5NzIgKi8KKwkiRVJSTk9fOTczIiwgLyogOTczICovCisJIkVSUk5PXzk3NCIsIC8qIDk3NCAqLworCSJFUlJOT185NzUiLCAvKiA5NzUgKi8KKwkiRVJSTk9fOTc2IiwgLyogOTc2ICovCisJIkVSUk5PXzk3NyIsIC8qIDk3NyAqLworCSJFUlJOT185NzgiLCAvKiA5NzggKi8KKwkiRVJSTk9fOTc5IiwgLyogOTc5ICovCisJIkVSUk5PXzk4MCIsIC8qIDk4MCAqLworCSJFUlJOT185ODEiLCAvKiA5ODEgKi8KKwkiRVJSTk9fOTgyIiwgLyogOTgyICovCisJIkVSUk5PXzk4MyIsIC8qIDk4MyAqLworCSJFUlJOT185ODQiLCAvKiA5ODQgKi8KKwkiRVJSTk9fOTg1IiwgLyogOTg1ICovCisJIkVSUk5PXzk4NiIsIC8qIDk4NiAqLworCSJFUlJOT185ODciLCAvKiA5ODcgKi8KKwkiRVJSTk9fOTg4IiwgLyogOTg4ICovCisJIkVSUk5PXzk4OSIsIC8qIDk4OSAqLworCSJFUlJOT185OTAiLCAvKiA5OTAgKi8KKwkiRVJSTk9fOTkxIiwgLyogOTkxICovCisJIkVSUk5PXzk5MiIsIC8qIDk5MiAqLworCSJFUlJOT185OTMiLCAvKiA5OTMgKi8KKwkiRVJSTk9fOTk0IiwgLyogOTk0ICovCisJIkVSUk5PXzk5NSIsIC8qIDk5NSAqLworCSJFUlJOT185OTYiLCAvKiA5OTYgKi8KKwkiRVJSTk9fOTk3IiwgLyogOTk3ICovCisJIkVSUk5PXzk5OCIsIC8qIDk5OCAqLworCSJFUlJOT185OTkiLCAvKiA5OTkgKi8KKwkiRUNBTkNFTEVEIiwgLyogMTAwMCAqLworCSJFUlJOT18xMDAxIiwgLyogMTAwMSAqLworCSJFUlJOT18xMDAyIiwgLyogMTAwMiAqLworCSJFUlJOT18xMDAzIiwgLyogMTAwMyAqLworCSJFUlJOT18xMDA0IiwgLyogMTAwNCAqLworCSJFUlJOT18xMDA1IiwgLyogMTAwNSAqLworCSJFUlJOT18xMDA2IiwgLyogMTAwNiAqLworCSJFUlJOT18xMDA3IiwgLyogMTAwNyAqLworCSJFUlJOT18xMDA4IiwgLyogMTAwOCAqLworCSJFUlJOT18xMDA5IiwgLyogMTAwOSAqLworCSJFUlJOT18xMDEwIiwgLyogMTAxMCAqLworCSJFUlJOT18xMDExIiwgLyogMTAxMSAqLworCSJFUlJOT18xMDEyIiwgLyogMTAxMiAqLworCSJFUlJOT18xMDEzIiwgLyogMTAxMyAqLworCSJFUlJOT18xMDE0IiwgLyogMTAxNCAqLworCSJFUlJOT18xMDE1IiwgLyogMTAxNSAqLworCSJFUlJOT18xMDE2IiwgLyogMTAxNiAqLworCSJFUlJOT18xMDE3IiwgLyogMTAxNyAqLworCSJFUlJOT18xMDE4IiwgLyogMTAxOCAqLworCSJFUlJOT18xMDE5IiwgLyogMTAxOSAqLworCSJFUlJOT18xMDIwIiwgLyogMTAyMCAqLworCSJFUlJOT18xMDIxIiwgLyogMTAyMSAqLworCSJFUlJOT18xMDIyIiwgLyogMTAyMiAqLworCSJFUlJOT18xMDIzIiwgLyogMTAyMyAqLworCSJFUlJOT18xMDI0IiwgLyogMTAyNCAqLworCSJFUlJOT18xMDI1IiwgLyogMTAyNSAqLworCSJFUlJOT18xMDI2IiwgLyogMTAyNiAqLworCSJFUlJOT18xMDI3IiwgLyogMTAyNyAqLworCSJFUlJOT18xMDI4IiwgLyogMTAyOCAqLworCSJFUlJOT18xMDI5IiwgLyogMTAyOSAqLworCSJFUlJOT18xMDMwIiwgLyogMTAzMCAqLworCSJFUlJOT18xMDMxIiwgLyogMTAzMSAqLworCSJFUlJOT18xMDMyIiwgLyogMTAzMiAqLworCSJFUlJOT18xMDMzIiwgLyogMTAzMyAqLworCSJFUlJOT18xMDM0IiwgLyogMTAzNCAqLworCSJFUlJOT18xMDM1IiwgLyogMTAzNSAqLworCSJFUlJOT18xMDM2IiwgLyogMTAzNiAqLworCSJFUlJOT18xMDM3IiwgLyogMTAzNyAqLworCSJFUlJOT18xMDM4IiwgLyogMTAzOCAqLworCSJFUlJOT18xMDM5IiwgLyogMTAzOSAqLworCSJFUlJOT18xMDQwIiwgLyogMTA0MCAqLworCSJFUlJOT18xMDQxIiwgLyogMTA0MSAqLworCSJFUlJOT18xMDQyIiwgLyogMTA0MiAqLworCSJFUlJOT18xMDQzIiwgLyogMTA0MyAqLworCSJFUlJOT18xMDQ0IiwgLyogMTA0NCAqLworCSJFUlJOT18xMDQ1IiwgLyogMTA0NSAqLworCSJFUlJOT18xMDQ2IiwgLyogMTA0NiAqLworCSJFUlJOT18xMDQ3IiwgLyogMTA0NyAqLworCSJFUlJOT18xMDQ4IiwgLyogMTA0OCAqLworCSJFUlJOT18xMDQ5IiwgLyogMTA0OSAqLworCSJFUlJOT18xMDUwIiwgLyogMTA1MCAqLworCSJFUlJOT18xMDUxIiwgLyogMTA1MSAqLworCSJFUlJOT18xMDUyIiwgLyogMTA1MiAqLworCSJFUlJOT18xMDUzIiwgLyogMTA1MyAqLworCSJFUlJOT18xMDU0IiwgLyogMTA1NCAqLworCSJFUlJOT18xMDU1IiwgLyogMTA1NSAqLworCSJFUlJOT18xMDU2IiwgLyogMTA1NiAqLworCSJFUlJOT18xMDU3IiwgLyogMTA1NyAqLworCSJFUlJOT18xMDU4IiwgLyogMTA1OCAqLworCSJFUlJOT18xMDU5IiwgLyogMTA1OSAqLworCSJFUlJOT18xMDYwIiwgLyogMTA2MCAqLworCSJFUlJOT18xMDYxIiwgLyogMTA2MSAqLworCSJFUlJOT18xMDYyIiwgLyogMTA2MiAqLworCSJFUlJOT18xMDYzIiwgLyogMTA2MyAqLworCSJFUlJOT18xMDY0IiwgLyogMTA2NCAqLworCSJFUlJOT18xMDY1IiwgLyogMTA2NSAqLworCSJFUlJOT18xMDY2IiwgLyogMTA2NiAqLworCSJFUlJOT18xMDY3IiwgLyogMTA2NyAqLworCSJFUlJOT18xMDY4IiwgLyogMTA2OCAqLworCSJFUlJOT18xMDY5IiwgLyogMTA2OSAqLworCSJFUlJOT18xMDcwIiwgLyogMTA3MCAqLworCSJFUlJOT18xMDcxIiwgLyogMTA3MSAqLworCSJFUlJOT18xMDcyIiwgLyogMTA3MiAqLworCSJFUlJOT18xMDczIiwgLyogMTA3MyAqLworCSJFUlJOT18xMDc0IiwgLyogMTA3NCAqLworCSJFUlJOT18xMDc1IiwgLyogMTA3NSAqLworCSJFUlJOT18xMDc2IiwgLyogMTA3NiAqLworCSJFUlJOT18xMDc3IiwgLyogMTA3NyAqLworCSJFUlJOT18xMDc4IiwgLyogMTA3OCAqLworCSJFUlJOT18xMDc5IiwgLyogMTA3OSAqLworCSJFUlJOT18xMDgwIiwgLyogMTA4MCAqLworCSJFUlJOT18xMDgxIiwgLyogMTA4MSAqLworCSJFUlJOT18xMDgyIiwgLyogMTA4MiAqLworCSJFUlJOT18xMDgzIiwgLyogMTA4MyAqLworCSJFUlJOT18xMDg0IiwgLyogMTA4NCAqLworCSJFUlJOT18xMDg1IiwgLyogMTA4NSAqLworCSJFUlJOT18xMDg2IiwgLyogMTA4NiAqLworCSJFUlJOT18xMDg3IiwgLyogMTA4NyAqLworCSJFUlJOT18xMDg4IiwgLyogMTA4OCAqLworCSJFUlJOT18xMDg5IiwgLyogMTA4OSAqLworCSJFUlJOT18xMDkwIiwgLyogMTA5MCAqLworCSJFUlJOT18xMDkxIiwgLyogMTA5MSAqLworCSJFUlJOT18xMDkyIiwgLyogMTA5MiAqLworCSJFUlJOT18xMDkzIiwgLyogMTA5MyAqLworCSJFUlJOT18xMDk0IiwgLyogMTA5NCAqLworCSJFUlJOT18xMDk1IiwgLyogMTA5NSAqLworCSJFUlJOT18xMDk2IiwgLyogMTA5NiAqLworCSJFUlJOT18xMDk3IiwgLyogMTA5NyAqLworCSJFUlJOT18xMDk4IiwgLyogMTA5OCAqLworCSJFUlJOT18xMDk5IiwgLyogMTA5OSAqLworCSJFUlJOT18xMTAwIiwgLyogMTEwMCAqLworCSJFUlJOT18xMTAxIiwgLyogMTEwMSAqLworCSJFUlJOT18xMTAyIiwgLyogMTEwMiAqLworCSJFUlJOT18xMTAzIiwgLyogMTEwMyAqLworCSJFUlJOT18xMTA0IiwgLyogMTEwNCAqLworCSJFUlJOT18xMTA1IiwgLyogMTEwNSAqLworCSJFUlJOT18xMTA2IiwgLyogMTEwNiAqLworCSJFUlJOT18xMTA3IiwgLyogMTEwNyAqLworCSJFUlJOT18xMTA4IiwgLyogMTEwOCAqLworCSJFUlJOT18xMTA5IiwgLyogMTEwOSAqLworCSJFUlJOT18xMTEwIiwgLyogMTExMCAqLworCSJFUlJOT18xMTExIiwgLyogMTExMSAqLworCSJFUlJOT18xMTEyIiwgLyogMTExMiAqLworCSJFUlJOT18xMTEzIiwgLyogMTExMyAqLworCSJFUlJOT18xMTE0IiwgLyogMTExNCAqLworCSJFUlJOT18xMTE1IiwgLyogMTExNSAqLworCSJFUlJOT18xMTE2IiwgLyogMTExNiAqLworCSJFUlJOT18xMTE3IiwgLyogMTExNyAqLworCSJFUlJOT18xMTE4IiwgLyogMTExOCAqLworCSJFUlJOT18xMTE5IiwgLyogMTExOSAqLworCSJFUlJOT18xMTIwIiwgLyogMTEyMCAqLworCSJFUlJOT18xMTIxIiwgLyogMTEyMSAqLworCSJFUlJOT18xMTIyIiwgLyogMTEyMiAqLworCSJFUlJOT18xMTIzIiwgLyogMTEyMyAqLworCSJFUlJOT18xMTI0IiwgLyogMTEyNCAqLworCSJFUlJOT18xMTI1IiwgLyogMTEyNSAqLworCSJFUlJOT18xMTI2IiwgLyogMTEyNiAqLworCSJFUlJOT18xMTI3IiwgLyogMTEyNyAqLworCSJFUlJOT18xMTI4IiwgLyogMTEyOCAqLworCSJFUlJOT18xMTI5IiwgLyogMTEyOSAqLworCSJFUlJOT18xMTMwIiwgLyogMTEzMCAqLworCSJFUlJOT18xMTMxIiwgLyogMTEzMSAqLworCSJFUlJOT18xMTMyIiwgLyogMTEzMiAqLworCSJFRFFVT1QiLCAvKiAxMTMzICovCisJIkVNQVhFUlJOTyIsIC8qIDExMzQgKi8KZGlmZiAtLWdpdCBhL3N0cmFjZS00LjUuMjAvbGludXgvbWlwcy9pb2N0bGVudC5oIGIvc3RyYWNlLTQuNS4yMC9saW51eC9taXBzL2lvY3RsZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzFkNmI4YQotLS0gL2Rldi9udWxsCisrKyBiL3N0cmFjZS00LjUuMjAvbGludXgvbWlwcy9pb2N0bGVudC5oCkBAIC0wLDAgKzEsODM4IEBACisJeyJsaW51eC9mcy5oIiwJIkZJQk1BUCIsCTB4MX0sCisJeyJsaW51eC9mcy5oIiwJIkZJR0VUQlNaIiwJMHgyfSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRHRVRQUk0iLAkweDIwNH0sCisJeyJsaW51eC9mZC5oIiwJIkZER0VUTUFYRVJSUyIsCTB4MjBlfSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRHRVREUlZUWVAiLAkweDIwZn0sCisJeyJsaW51eC9mZC5oIiwJIkZER0VURFJWUFJNIiwJMHgyMTF9LAorCXsibGludXgvZmQuaCIsCSJGREdFVERSVlNUQVQiLAkweDIxMn0sCisJeyJsaW51eC9mZC5oIiwJIkZEUE9MTERSVlNUQVQiLAkweDIxM30sCisJeyJsaW51eC9mZC5oIiwJIkZER0VURkRDU1RBVCIsCTB4MjE1fSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRXRVJST1JHRVQiLAkweDIxN30sCisJeyJsaW51eC9mZC5oIiwJIkZEQ0xSUFJNIiwJMHgyNDF9LAorCXsibGludXgvZmQuaCIsCSJGRFNFVFBSTSIsCTB4MjQyfSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRERUZQUk0iLAkweDI0M30sCisJeyJsaW51eC9mZC5oIiwJIkZETVNHT04iLAkweDI0NX0sCisJeyJsaW51eC9mZC5oIiwJIkZETVNHT0ZGIiwJMHgyNDZ9LAorCXsibGludXgvZmQuaCIsCSJGREZNVEJFRyIsCTB4MjQ3fSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRGTVRUUksiLAkweDI0OH0sCisJeyJsaW51eC9mZC5oIiwJIkZERk1URU5EIiwJMHgyNDl9LAorCXsibGludXgvZmQuaCIsCSJGRFNFVEVNU0dUUkVTSCIsCTB4MjRhfSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRGTFVTSCIsCTB4MjRifSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRTRVRNQVhFUlJTIiwJMHgyNGN9LAorCXsibGludXgvZmQuaCIsCSJGRFJFU0VUIiwJMHgyNTR9LAorCXsibGludXgvZmQuaCIsCSJGRFdFUlJPUkNMUiIsCTB4MjU2fSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRSQVdDTUQiLAkweDI1OH0sCisJeyJsaW51eC9mZC5oIiwJIkZEVFdBRERMRSIsCTB4MjU5fSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRFSkVDVCIsCTB4MjVhfSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRTRVREUlZQUk0iLAkweDI5MH0sCisJeyJsaW51eC91bXNkb3NfZnMuaCIsCSJVTVNET1NfUkVBRERJUl9ET1MiLAkweDRkMn0sCisJeyJsaW51eC91bXNkb3NfZnMuaCIsCSJVTVNET1NfVU5MSU5LX0RPUyIsCTB4NGQzfSwKKwl7ImxpbnV4L3Vtc2Rvc19mcy5oIiwJIlVNU0RPU19STURJUl9ET1MiLAkweDRkNH0sCisJeyJsaW51eC91bXNkb3NfZnMuaCIsCSJVTVNET1NfU1RBVF9ET1MiLAkweDRkNX0sCisJeyJsaW51eC91bXNkb3NfZnMuaCIsCSJVTVNET1NfQ1JFQVRfRU1EIiwJMHg0ZDZ9LAorCXsibGludXgvdW1zZG9zX2ZzLmgiLAkiVU1TRE9TX1VOTElOS19FTUQiLAkweDRkN30sCisJeyJsaW51eC91bXNkb3NfZnMuaCIsCSJVTVNET1NfUkVBRERJUl9FTUQiLAkweDRkOH0sCisJeyJsaW51eC91bXNkb3NfZnMuaCIsCSJVTVNET1NfR0VUVkVSU0lPTiIsCTB4NGQ5fSwKKwl7ImxpbnV4L3Vtc2Rvc19mcy5oIiwJIlVNU0RPU19JTklUX0VNRCIsCTB4NGRhfSwKKwl7ImxpbnV4L3Vtc2Rvc19mcy5oIiwJIlVNU0RPU19ET1NfU0VUVVAiLAkweDRkYn0sCisJeyJsaW51eC91bXNkb3NfZnMuaCIsCSJVTVNET1NfUkVOQU1FX0RPUyIsCTB4NGRjfSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLUk9TRVQiLAkweDEyNWR9LAorCXsibGludXgvZnMuaCIsCSJCTEtST0dFVCIsCTB4MTI1ZX0sCisJeyJsaW51eC9mcy5oIiwJIkJMS1JSUEFSVCIsCTB4MTI1Zn0sCisJeyJsaW51eC9mcy5oIiwJIkJMS0dFVFNJWkUiLAkweDEyNjB9LAorCXsibGludXgvZnMuaCIsCSJCTEtGTFNCVUYiLAkweDEyNjF9LAorCXsibGludXgvZnMuaCIsCSJCTEtSQVNFVCIsCTB4MTI2Mn0sCisJeyJsaW51eC9mcy5oIiwJIkJMS1JBR0VUIiwJMHgxMjYzfSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLRlJBU0VUIiwJMHgxMjY0fSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLRlJBR0VUIiwJMHgxMjY1fSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLU0VDVFNFVCIsCTB4MTI2Nn0sCisJeyJsaW51eC9mcy5oIiwJIkJMS1NFQ1RHRVQiLAkweDEyNjd9LAorCXsibGludXgvZnMuaCIsCSJCTEtTU1pHRVQiLAkweDEyNjh9LAorCXsibGludXgvYmxrcGcuaCIsCSJCTEtQRyIsCTB4MTI2OX0sCisJeyJsaW51eC9mcy5oIiwJIkJMS1BHIiwJMHgxMjY5fSwKKwl7ImxpbnV4L2VsZXZhdG9yLmgiLAkiQkxLRUxWR0VUIiwJMHgxMjZhfSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLRUxWR0VUIiwJMHgxMjZhfSwKKwl7ImxpbnV4L2VsZXZhdG9yLmgiLAkiQkxLRUxWU0VUIiwJMHgxMjZifSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLRUxWU0VUIiwJMHgxMjZifSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLQlNaR0VUIiwJMHgxMjcwfSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLQlNaU0VUIiwJMHgxMjcxfSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLR0VUU0laRTY0IiwJMHgxMjcyfSwKKwl7ImxpbnV4L2FncGdhcnQuaCIsCSJBR1BJT0NfSU5GTyIsCTB4NDEwMH0sCisJeyJsaW51eC9hZ3BnYXJ0LmgiLAkiQUdQSU9DX0FDUVVJUkUiLAkweDQxMDF9LAorCXsibGludXgvYXBtX2Jpb3MuaCIsCSJBUE1fSU9DX1NUQU5EQlkiLAkweDQxMDF9LAorCXsibGludXgvYWdwZ2FydC5oIiwJIkFHUElPQ19SRUxFQVNFIiwJMHg0MTAyfSwKKwl7ImxpbnV4L2FwbV9iaW9zLmgiLAkiQVBNX0lPQ19TVVNQRU5EIiwJMHg0MTAyfSwKKwl7ImxpbnV4L2FncGdhcnQuaCIsCSJBR1BJT0NfU0VUVVAiLAkweDQxMDN9LAorCXsibGludXgvYWdwZ2FydC5oIiwJIkFHUElPQ19SRVNFUlZFIiwJMHg0MTA0fSwKKwl7ImxpbnV4L2FncGdhcnQuaCIsCSJBR1BJT0NfUFJPVEVDVCIsCTB4NDEwNX0sCisJeyJsaW51eC9hZ3BnYXJ0LmgiLAkiQUdQSU9DX0FMTE9DQVRFIiwJMHg0MTA2fSwKKwl7ImxpbnV4L2FncGdhcnQuaCIsCSJBR1BJT0NfREVBTExPQ0FURSIsCTB4NDEwN30sCisJeyJsaW51eC9hZ3BnYXJ0LmgiLAkiQUdQSU9DX0JJTkQiLAkweDQxMDh9LAorCXsibGludXgvYWdwZ2FydC5oIiwJIkFHUElPQ19VTkJJTkQiLAkweDQxMDl9LAorCXsibGludXgvcG11LmgiLAkiUE1VX0lPQ19TTEVFUCIsCTB4NDIwMH0sCisJeyJsaW51eC9jY2lzc19pb2N0bC5oIiwJIkNDSVNTX0dFVFBDSUlORk8iLAkweDQyMDF9LAorCXsibGludXgvcG11LmgiLAkiUE1VX0lPQ19HRVRfQkFDS0xJR0hUIiwJMHg0MjAxfSwKKwl7ImxpbnV4L2NjaXNzX2lvY3RsLmgiLAkiQ0NJU1NfR0VUSU5USU5GTyIsCTB4NDIwMn0sCisJeyJsaW51eC9wbXUuaCIsCSJQTVVfSU9DX1NFVF9CQUNLTElHSFQiLAkweDQyMDJ9LAorCXsibGludXgvY2Npc3NfaW9jdGwuaCIsCSJDQ0lTU19TRVRJTlRJTkZPIiwJMHg0MjAzfSwKKwl7ImxpbnV4L3BtdS5oIiwJIlBNVV9JT0NfR0VUX01PREVMIiwJMHg0MjAzfSwKKwl7ImxpbnV4L2NjaXNzX2lvY3RsLmgiLAkiQ0NJU1NfR0VUTk9ERU5BTUUiLAkweDQyMDR9LAorCXsibGludXgvcG11LmgiLAkiUE1VX0lPQ19IQVNfQURCIiwJMHg0MjA0fSwKKwl7ImxpbnV4L2NjaXNzX2lvY3RsLmgiLAkiQ0NJU1NfU0VUTk9ERU5BTUUiLAkweDQyMDV9LAorCXsibGludXgvcG11LmgiLAkiUE1VX0lPQ19DQU5fU0xFRVAiLAkweDQyMDV9LAorCXsibGludXgvY2Npc3NfaW9jdGwuaCIsCSJDQ0lTU19HRVRIRUFSVEJFQVQiLAkweDQyMDZ9LAorCXsibGludXgvY2Npc3NfaW9jdGwuaCIsCSJDQ0lTU19HRVRCVVNUWVBFUyIsCTB4NDIwN30sCisJeyJsaW51eC9jY2lzc19pb2N0bC5oIiwJIkNDSVNTX0dFVEZJUk1WRVIiLAkweDQyMDh9LAorCXsibGludXgvY2Npc3NfaW9jdGwuaCIsCSJDQ0lTU19HRVREUklWVkVSIiwJMHg0MjA5fSwKKwl7ImxpbnV4L2NjaXNzX2lvY3RsLmgiLAkiQ0NJU1NfUkVWQUxJRFZPTFMiLAkweDQyMGF9LAorCXsibGludXgvY2Npc3NfaW9jdGwuaCIsCSJDQ0lTU19QQVNTVEhSVSIsCTB4NDIwYn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfQ09QUl9SRVNFVCIsCTB4NDMwMH0sCisJeyJsaW51eC9jYXBpLmgiLAkiQ0FQSV9SRUdJU1RFUiIsCTB4NDMwMX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfQ09QUl9MT0FEIiwJMHg0MzAxfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9DT1BSX1JEQVRBIiwJMHg0MzAyfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9DT1BSX1JDT0RFIiwJMHg0MzAzfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9DT1BSX1dEQVRBIiwJMHg0MzA0fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9DT1BSX1dDT0RFIiwJMHg0MzA1fSwKKwl7ImxpbnV4L2NhcGkuaCIsCSJDQVBJX0dFVF9NQU5VRkFDVFVSRVIiLAkweDQzMDZ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0NPUFJfUlVOIiwJMHg0MzA2fSwKKwl7ImxpbnV4L2NhcGkuaCIsCSJDQVBJX0dFVF9WRVJTSU9OIiwJMHg0MzA3fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9DT1BSX0hBTFQiLAkweDQzMDd9LAorCXsibGludXgvY2FwaS5oIiwJIkNBUElfR0VUX1NFUklBTCIsCTB4NDMwOH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfQ09QUl9TRU5ETVNHIiwJMHg0MzA4fSwKKwl7ImxpbnV4L2NhcGkuaCIsCSJDQVBJX0dFVF9QUk9GSUxFIiwJMHg0MzA5fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9DT1BSX1JDVk1TRyIsCTB4NDMwOX0sCisJeyJsaW51eC9jYXBpLmgiLAkiQ0FQSV9NQU5VRkFDVFVSRVJfQ01EIiwJMHg0MzIwfSwKKwl7ImxpbnV4L2NhcGkuaCIsCSJDQVBJX0dFVF9FUlJDT0RFIiwJMHg0MzIxfSwKKwl7ImxpbnV4L2NhcGkuaCIsCSJDQVBJX0lOU1RBTExFRCIsCTB4NDMyMn0sCisJeyJsaW51eC9jYXBpLmgiLAkiQ0FQSV9HRVRfRkxBR1MiLAkweDQzMjN9LAorCXsibGludXgvY2FwaS5oIiwJIkNBUElfU0VUX0ZMQUdTIiwJMHg0MzI0fSwKKwl7ImxpbnV4L2NhcGkuaCIsCSJDQVBJX0NMUl9GTEFHUyIsCTB4NDMyNX0sCisJeyJsaW51eC9jYXBpLmgiLAkiQ0FQSV9OQ0NJX09QRU5DT1VOVCIsCTB4NDMyNn0sCisJeyJsaW51eC9jYXBpLmgiLAkiQ0FQSV9OQ0NJX0dFVFVOSVQiLAkweDQzMjd9LAorCXsibGludXgvaW5wdXQuaCIsCSJFVklPQ0dWRVJTSU9OIiwJMHg0NTAxfSwKKwl7ImxpbnV4L2lucHV0LmgiLAkiRVZJT0NHSUQiLAkweDQ1MDJ9LAorCXsibGludXgvaW5wdXQuaCIsCSJFVklPQ0dSRVAiLAkweDQ1MDN9LAorCXsibGludXgvaW5wdXQuaCIsCSJFVklPQ1NSRVAiLAkweDQ1MDN9LAorCXsibGludXgvaW5wdXQuaCIsCSJFVklPQ0dLRVlDT0RFIiwJMHg0NTA0fSwKKwl7ImxpbnV4L2lucHV0LmgiLAkiRVZJT0NTS0VZQ09ERSIsCTB4NDUwNH0sCisJeyJsaW51eC9pbnB1dC5oIiwJIkVWSU9DR0tFWSIsCTB4NDUwNX0sCisJeyJsaW51eC9pbnB1dC5oIiwJIkVWSU9DR0JVUyIsCTB4NDUwN30sCisJeyJsaW51eC9pbnB1dC5oIiwJIkVWSU9DUk1GRiIsCTB4NDU4MX0sCisJeyJsaW51eC9pbnB1dC5oIiwJIkVWSU9DU0dBSU4iLAkweDQ1ODJ9LAorCXsibGludXgvaW5wdXQuaCIsCSJFVklPQ1NBVVRPQ0VOVEVSIiwJMHg0NTgzfSwKKwl7ImxpbnV4L2lucHV0LmgiLAkiRVZJT0NHRUZGRUNUUyIsCTB4NDU4NH0sCisJeyJsaW51eC9mYi5oIiwJIkZCSU9HRVRfVkJMQU5LIiwJMHg0NjEyfSwKKwl7ImxpbnV4L2hpZGRldi5oIiwJIkhJRElPQ0dWRVJTSU9OIiwJMHg0ODAxfSwKKwl7ImxpbnV4L2hpZGRldi5oIiwJIkhJRElPQ0FQUExJQ0FUSU9OIiwJMHg0ODAyfSwKKwl7ImxpbnV4L2hpZGRldi5oIiwJIkhJRElPQ0dERVZJTkZPIiwJMHg0ODAzfSwKKwl7ImxpbnV4L2hpZGRldi5oIiwJIkhJRElPQ0dTVFJJTkciLAkweDQ4MDR9LAorCXsibGludXgvaGlkZGV2LmgiLAkiSElESU9DSU5JVFJFUE9SVCIsCTB4NDgwNX0sCisJeyJsaW51eC9oaWRkZXYuaCIsCSJISURJT0NHUkVQT1JUIiwJMHg0ODA3fSwKKwl7ImxpbnV4L2hpZGRldi5oIiwJIkhJRElPQ1NSRVBPUlQiLAkweDQ4MDh9LAorCXsibGludXgvaGlkZGV2LmgiLAkiSElESU9DR1JFUE9SVElORk8iLAkweDQ4MDl9LAorCXsibGludXgvaGlkZGV2LmgiLAkiSElESU9DR0ZJRUxESU5GTyIsCTB4NDgwYX0sCisJeyJsaW51eC9oaWRkZXYuaCIsCSJISURJT0NHVVNBR0UiLAkweDQ4MGJ9LAorCXsibGludXgvaGlkZGV2LmgiLAkiSElESU9DU1VTQUdFIiwJMHg0ODBjfSwKKwl7ImxpbnV4L2hpZGRldi5oIiwJIkhJRElPQ0dVQ09ERSIsCTB4NDgwZH0sCisJeyJsaW51eC9pc2RuLmgiLAkiSUlPQ05FVEFJRiIsCTB4NDkwMX0sCisJeyJsaW51eC9pc2RuLmgiLAkiSUlPQ05FVERJRiIsCTB4NDkwMn0sCisJeyJsaW51eC9pc2RuLmgiLAkiSUlPQ05FVFNDRiIsCTB4NDkwM30sCisJeyJsaW51eC9pc2RuLmgiLAkiSUlPQ05FVEdDRiIsCTB4NDkwNH0sCisJeyJsaW51eC9pc2RuLmgiLAkiSUlPQ05FVEFOTSIsCTB4NDkwNX0sCisJeyJsaW51eC9pc2RuLmgiLAkiSUlPQ05FVEROTSIsCTB4NDkwNn0sCisJeyJsaW51eC9pc2RuLmgiLAkiSUlPQ05FVEdOTSIsCTB4NDkwN30sCisJeyJsaW51eC9pc2RuLmgiLAkiSUlPQ0dFVFNFVCIsCTB4NDkwOH0sCisJeyJsaW51eC9pc2RuLmgiLAkiSUlPQ1NFVFNFVCIsCTB4NDkwOX0sCisJeyJsaW51eC9pc2RuLmgiLAkiSUlPQ1NFVFZFUiIsCTB4NDkwYX0sCisJeyJsaW51eC9pc2RuLmgiLAkiSUlPQ05FVEhVUCIsCTB4NDkwYn0sCisJeyJsaW51eC9pc2RuLmgiLAkiSUlPQ1NFVEdTVCIsCTB4NDkwY30sCisJeyJsaW51eC9pc2RuLmgiLAkiSUlPQ1NFVEJSSiIsCTB4NDkwZH0sCisJeyJsaW51eC9pc2RuLmgiLAkiSUlPQ1NJR1BSRiIsCTB4NDkwZX0sCisJeyJsaW51eC9pc2RuLmgiLAkiSUlPQ0dFVFBSRiIsCTB4NDkwZn0sCisJeyJsaW51eC9pc2RuLmgiLAkiSUlPQ1NFVFBSRiIsCTB4NDkxMH0sCisJeyJsaW51eC9pc2RuLmgiLAkiSUlPQ0dFVE1BUCIsCTB4NDkxMX0sCisJeyJsaW51eC9pc2RuLmgiLAkiSUlPQ1NFVE1BUCIsCTB4NDkxMn0sCisJeyJsaW51eC9pc2RuLmgiLAkiSUlPQ05FVEFTTCIsCTB4NDkxM30sCisJeyJsaW51eC9pc2RuLmgiLAkiSUlPQ05FVERJTCIsCTB4NDkxNH0sCisJeyJsaW51eC9pc2RuLmgiLAkiSUlPQ0dFVENQUyIsCTB4NDkxNX0sCisJeyJsaW51eC9pc2RuLmgiLAkiSUlPQ0dFVERWUiIsCTB4NDkxNn0sCisJeyJsaW51eC9pc2RuLmgiLAkiSUlPQ05FVExDUiIsCTB4NDkxN30sCisJeyJsaW51eC9pc2RuLmgiLAkiSUlPQ05FVERXUlNFVCIsCTB4NDkxOH0sCisJeyJsaW51eC9pc2RuLmgiLAkiSUlPQ05FVEFMTiIsCTB4NDkyMH0sCisJeyJsaW51eC9pc2RuLmgiLAkiSUlPQ05FVERMTiIsCTB4NDkyMX0sCisJeyJsaW51eC9pc2RuLmgiLAkiSUlPQ05FVEdQTiIsCTB4NDkyMn0sCisJeyJsaW51eC9pc2RuLmgiLAkiSUlPQ0RCR1ZBUiIsCTB4NDk3Zn0sCisJeyJsaW51eC9pc2RuLmgiLAkiSUlPQ0RSVkNUTCIsCTB4NDk4MH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9NSVhFUl9JTkZPIiwJMHg0ZDY1fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNPVU5EX09MRF9NSVhFUl9JTkZPIiwJMHg0ZDY1fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNPVU5EX01JWEVSX0FDQ0VTUyIsCTB4NGQ2Nn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9NSVhFUl9BR0MiLAkweDRkNjd9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfTUlYRVJfM0RTRSIsCTB4NGQ2OH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9NSVhFUl9QUklWQVRFMSIsCTB4NGQ2Zn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9NSVhFUl9QUklWQVRFMiIsCTB4NGQ3MH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9NSVhFUl9QUklWQVRFMyIsCTB4NGQ3MX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9NSVhFUl9QUklWQVRFNCIsCTB4NGQ3Mn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9NSVhFUl9QUklWQVRFNSIsCTB4NGQ3M30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9NSVhFUl9HRVRMRVZFTFMiLAkweDRkNzR9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfTUlYRVJfU0VUTEVWRUxTIiwJMHg0ZDc1fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIk9TU19HRVRWRVJTSU9OIiwJMHg0ZDc2fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfUkVTRVQiLAkweDUwMDB9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9TWU5DIiwJMHg1MDAxfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfU1BFRUQiLAkweDUwMDJ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfUENNX1JFQURfUkFURSIsCTB4NTAwMn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX1NURVJFTyIsCTB4NTAwM30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX0dFVEJMS1NJWkUiLAkweDUwMDR9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9TRVRGTVQiLAkweDUwMDV9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfUENNX1JFQURfQklUUyIsCTB4NTAwNX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX0NIQU5ORUxTIiwJMHg1MDA2fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNPVU5EX1BDTV9SRUFEX0NIQU5ORUxTIiwJMHg1MDA2fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNPVU5EX1BDTV9XUklURV9GSUxURVIiLAkweDUwMDd9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfUENNX1JFQURfRklMVEVSIiwJMHg1MDA3fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfUE9TVCIsCTB4NTAwOH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX1NVQkRJVklERSIsCTB4NTAwOX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX1NFVEZSQUdNRU5UIiwJMHg1MDBhfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfR0VURk1UUyIsCTB4NTAwYn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX0dFVE9TUEFDRSIsCTB4NTAwY30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX0dFVElTUEFDRSIsCTB4NTAwZH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX05PTkJMT0NLIiwJMHg1MDBlfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfR0VUQ0FQUyIsCTB4NTAwZn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX0dFVFRSSUdHRVIiLAkweDUwMTB9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9TRVRUUklHR0VSIiwJMHg1MDEwfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfR0VUSVBUUiIsCTB4NTAxMX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX0dFVE9QVFIiLAkweDUwMTJ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9NQVBJTkJVRiIsCTB4NTAxM30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX01BUE9VVEJVRiIsCTB4NTAxNH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX1NFVFNZTkNSTyIsCTB4NTAxNX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX1NFVERVUExFWCIsCTB4NTAxNn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX0dFVE9ERUxBWSIsCTB4NTAxN30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX1BST0ZJTEUiLAkweDUwMTd9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9HRVRDSEFOTkVMTUFTSyIsCTB4NTA0MH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX0JJTkRfQ0hBTk5FTCIsCTB4NTA0MX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX1NFVFNQRElGIiwJMHg1MDQyfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfR0VUU1BESUYiLAkweDUwNDN9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NFUV9SRVNFVCIsCTB4NTEwMH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU0VRX1NZTkMiLAkweDUxMDF9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NZTlRIX0lORk8iLAkweDUxMDJ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NFUV9DVFJMUkFURSIsCTB4NTEwM30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU0VRX0dFVE9VVENPVU5UIiwJMHg1MTA0fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TRVFfR0VUSU5DT1VOVCIsCTB4NTEwNX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU0VRX1BFUkNNT0RFIiwJMHg1MTA2fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9GTV9MT0FEX0lOU1RSIiwJMHg1MTA3fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TRVFfVEVTVE1JREkiLAkweDUxMDh9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NFUV9SRVNFVFNBTVBMRVMiLAkweDUxMDl9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NFUV9OUlNZTlRIUyIsCTB4NTEwYX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU0VRX05STUlESVMiLAkweDUxMGJ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX01JRElfSU5GTyIsCTB4NTEwY30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU0VRX1RIUkVTSE9MRCIsCTB4NTEwZH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU1lOVEhfTUVNQVZMIiwJMHg1MTBlfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9GTV80T1BfRU5BQkxFIiwJMHg1MTBmfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TRVFfUEFOSUMiLAkweDUxMTF9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NFUV9PVVRPRkJBTkQiLAkweDUxMTJ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NFUV9HRVRUSU1FIiwJMHg1MTEzfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TWU5USF9JRCIsCTB4NTExNH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU1lOVEhfQ09OVFJPTCIsCTB4NTExNX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU1lOVEhfUkVNT1ZFU0FNUExFIiwJMHg1MTE2fSwKKwl7ImxpbnV4L3JhbmRvbS5oIiwJIlJOREdFVEVOVENOVCIsCTB4NTIwMH0sCisJeyJsaW51eC9yYW5kb20uaCIsCSJSTkRBRERUT0VOVENOVCIsCTB4NTIwMX0sCisJeyJsaW51eC9yYW5kb20uaCIsCSJSTkRHRVRQT09MIiwJMHg1MjAyfSwKKwl7ImxpbnV4L3JhbmRvbS5oIiwJIlJOREFEREVOVFJPUFkiLAkweDUyMDN9LAorCXsibGludXgvcmFuZG9tLmgiLAkiUk5EWkFQRU5UQ05UIiwJMHg1MjA0fSwKKwl7ImxpbnV4L3JhbmRvbS5oIiwJIlJORENMRUFSUE9PTCIsCTB4NTIwNn0sCisJeyJhc20vaW9jdGxzLmgiLAkiVENHRVRTIiwJMHg1NDAxfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9UTVJfVElNRUJBU0UiLAkweDU0MDF9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRDU0VUUyIsCTB4NTQwMn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfVE1SX1NUQVJUIiwJMHg1NDAyfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUQ1NFVFNXIiwJMHg1NDAzfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9UTVJfU1RPUCIsCTB4NTQwM30sCisJeyJhc20vaW9jdGxzLmgiLAkiVENTRVRTRiIsCTB4NTQwNH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfVE1SX0NPTlRJTlVFIiwJMHg1NDA0fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUQ0dFVEEiLAkweDU0MDV9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1RNUl9URU1QTyIsCTB4NTQwNX0sCisJeyJhc20vaW9jdGxzLmgiLAkiVENTRVRBIiwJMHg1NDA2fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9UTVJfU09VUkNFIiwJMHg1NDA2fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUQ1NFVEFXIiwJMHg1NDA3fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9UTVJfTUVUUk9OT01FIiwJMHg1NDA3fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUQ1NFVEFGIiwJMHg1NDA4fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9UTVJfU0VMRUNUIiwJMHg1NDA4fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUQ1NCUksiLAkweDU0MDl9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRDWE9OQyIsCTB4NTQwYX0sCisJeyJhc20vaW9jdGxzLmgiLAkiVENGTFNIIiwJMHg1NDBifSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DRVhDTCIsCTB4NTQwY30sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ05YQ0wiLAkweDU0MGR9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NTQ1RUWSIsCTB4NTQwZX0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ0dQR1JQIiwJMHg1NDBmfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DU1BHUlAiLAkweDU0MTB9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NPVVRRIiwJMHg1NDExfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DU1RJIiwJMHg1NDEyfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DR1dJTlNaIiwJMHg1NDEzfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DU1dJTlNaIiwJMHg1NDE0fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DTUdFVCIsCTB4NTQxNX0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ01CSVMiLAkweDU0MTZ9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NNQklDIiwJMHg1NDE3fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DTVNFVCIsCTB4NTQxOH0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ0dTT0ZUQ0FSIiwJMHg1NDE5fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DU1NPRlRDQVIiLAkweDU0MWF9LAorCXsiYXNtL2lvY3Rscy5oIiwJIkZJT05SRUFEIiwJMHg1NDFifSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DTElOVVgiLAkweDU0MWN9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NDT05TIiwJMHg1NDFkfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DR1NFUklBTCIsCTB4NTQxZX0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NTRVJJQUwiLAkweDU0MWZ9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NQS1QiLAkweDU0MjB9LAorCXsiYXNtL2lvY3Rscy5oIiwJIkZJT05CSU8iLAkweDU0MjF9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NOT1RUWSIsCTB4NTQyMn0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NFVEQiLAkweDU0MjN9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NHRVREIiwJMHg1NDI0fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUQ1NCUktQIiwJMHg1NDI1fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DVFRZR1NUUlVDVCIsCTB4NTQyNn0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NCUksiLAkweDU0Mjd9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NDQlJLIiwJMHg1NDI4fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DR1NJRCIsCTB4NTQyOX0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ0dQVE4iLAkweDU0MzB9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NTUFRMQ0siLAkweDU0MzF9LAorCXsiYXNtL2lvY3Rscy5oIiwJIkZJT05DTEVYIiwJMHg1NDUwfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJGSU9DTEVYIiwJMHg1NDUxfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJGSU9BU1lOQyIsCTB4NTQ1Mn0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NFUkNPTkZJRyIsCTB4NTQ1M30sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NFUkdXSUxEIiwJMHg1NDU0fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DU0VSU1dJTEQiLAkweDU0NTV9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NHTENLVFJNSU9TIiwJMHg1NDU2fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DU0xDS1RSTUlPUyIsCTB4NTQ1N30sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NFUkdTVFJVQ1QiLAkweDU0NTh9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NTRVJHRVRMU1IiLAkweDU0NTl9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NTRVJHRVRNVUxUSSIsCTB4NTQ1YX0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NFUlNFVE1VTFRJIiwJMHg1NDVifSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DTUlXQUlUIiwJMHg1NDVjfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DR0lDT1VOVCIsCTB4NTQ1ZH0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ0dIQVlFU0VTUCIsCTB4NTQ1ZX0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NIQVlFU0VTUCIsCTB4NTQ1Zn0sCisJeyJsaW51eC9pZl90dW4uaCIsCSJUVU5TRVROT0NTVU0iLAkweDU0Yzh9LAorCXsibGludXgvaWZfdHVuLmgiLAkiVFVOU0VUREVCVUciLAkweDU0Yzl9LAorCXsibGludXgvaWZfdHVuLmgiLAkiVFVOU0VUSUZGIiwJMHg1NGNhfSwKKwl7ImxpbnV4L2lmX3R1bi5oIiwJIlRVTlNFVFBFUlNJU1QiLAkweDU0Y2J9LAorCXsibGludXgvaWZfdHVuLmgiLAkiVFVOU0VUT1dORVIiLAkweDU0Y2N9LAorCXsibGludXgvdXNiZGV2aWNlX2ZzLmgiLAkiVVNCREVWRlNfQ09OVFJPTCIsCTB4NTUwMH0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19CVUxLIiwJMHg1NTAyfSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX1JFU0VURVAiLAkweDU1MDN9LAorCXsibGludXgvdXNiZGV2aWNlX2ZzLmgiLAkiVVNCREVWRlNfU0VUSU5URVJGQUNFIiwJMHg1NTA0fSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX1NFVENPTkZJR1VSQVRJT04iLAkweDU1MDV9LAorCXsibGludXgvdXNiZGV2aWNlX2ZzLmgiLAkiVVNCREVWRlNfR0VURFJJVkVSIiwJMHg1NTA4fSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX1NVQk1JVFVSQiIsCTB4NTUwYX0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19ESVNDQVJEVVJCIiwJMHg1NTBifSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX1JFQVBVUkIiLAkweDU1MGN9LAorCXsibGludXgvdXNiZGV2aWNlX2ZzLmgiLAkiVVNCREVWRlNfUkVBUFVSQk5ERUxBWSIsCTB4NTUwZH0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19ESVNDU0lHTkFMIiwJMHg1NTBlfSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX0NMQUlNSU5URVJGQUNFIiwJMHg1NTBmfSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX1JFTEVBU0VJTlRFUkZBQ0UiLAkweDU1MTB9LAorCXsibGludXgvdXNiZGV2aWNlX2ZzLmgiLAkiVVNCREVWRlNfQ09OTkVDVElORk8iLAkweDU1MTF9LAorCXsibGludXgvdXNiZGV2aWNlX2ZzLmgiLAkiVVNCREVWRlNfSU9DVEwiLAkweDU1MTJ9LAorCXsibGludXgvdXNiZGV2aWNlX2ZzLmgiLAkiVVNCREVWRlNfSFVCX1BPUlRJTkZPIiwJMHg1NTEzfSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX1JFU0VUIiwJMHg1NTE0fSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX0NMRUFSX0hBTFQiLAkweDU1MTV9LAorCXsibGludXgvd2F0Y2hkb2cuaCIsCSJXRElPQ19HRVRTVVBQT1JUIiwJMHg1NzAwfSwKKwl7ImxpbnV4L3dhdGNoZG9nLmgiLAkiV0RJT0NfR0VUU1RBVFVTIiwJMHg1NzAxfSwKKwl7ImxpbnV4L3dhdGNoZG9nLmgiLAkiV0RJT0NfR0VUQk9PVFNUQVRVUyIsCTB4NTcwMn0sCisJeyJsaW51eC93YXRjaGRvZy5oIiwJIldESU9DX0dFVFRFTVAiLAkweDU3MDN9LAorCXsibGludXgvd2F0Y2hkb2cuaCIsCSJXRElPQ19TRVRPUFRJT05TIiwJMHg1NzA0fSwKKwl7ImxpbnV4L3dhdGNoZG9nLmgiLAkiV0RJT0NfS0VFUEFMSVZFIiwJMHg1NzA1fSwKKwl7ImxpbnV4L3dhdGNoZG9nLmgiLAkiV0RJT0NfU0VUVElNRU9VVCIsCTB4NTcwNn0sCisJeyJsaW51eC93YXRjaGRvZy5oIiwJIldESU9DX0dFVFRJTUVPVVQiLAkweDU3MDd9LAorCXsibGludXgvaXRlX2dwaW8uaCIsCSJJVEVfR1BJT19JTiIsCTB4NWEwMH0sCisJeyJsaW51eC9pdGVfZ3Bpby5oIiwJIklURV9HUElPX09VVCIsCTB4NWEwMX0sCisJeyJsaW51eC9pdGVfZ3Bpby5oIiwJIklURV9HUElPX0lOVF9DVFJMIiwJMHg1YTAyfSwKKwl7ImxpbnV4L2l0ZV9ncGlvLmgiLAkiSVRFX0dQSU9fSU5fU1RBVFVTIiwJMHg1YTAzfSwKKwl7ImxpbnV4L2l0ZV9ncGlvLmgiLAkiSVRFX0dQSU9fT1VUX1NUQVRVUyIsCTB4NWEwNH0sCisJeyJsaW51eC9pdGVfZ3Bpby5oIiwJIklURV9HUElPX0dFTl9DVFJMIiwJMHg1YTA1fSwKKwl7ImxpbnV4L2l0ZV9ncGlvLmgiLAkiSVRFX0dQSU9fSU5UX1dBSVQiLAkweDVhMDZ9LAorCXsibGludXgvc29uZXQuaCIsCSJTT05FVF9HRVRTVEFUIiwJMHg2MTEwfSwKKwl7ImxpbnV4L3NvbmV0LmgiLAkiU09ORVRfR0VUU1RBVFoiLAkweDYxMTF9LAorCXsibGludXgvc29uZXQuaCIsCSJTT05FVF9TRVRESUFHIiwJMHg2MTEyfSwKKwl7ImxpbnV4L3NvbmV0LmgiLAkiU09ORVRfQ0xSRElBRyIsCTB4NjExM30sCisJeyJsaW51eC9zb25ldC5oIiwJIlNPTkVUX0dFVERJQUciLAkweDYxMTR9LAorCXsibGludXgvc29uZXQuaCIsCSJTT05FVF9TRVRGUkFNSU5HIiwJMHg2MTE1fSwKKwl7ImxpbnV4L3NvbmV0LmgiLAkiU09ORVRfR0VURlJBTUlORyIsCTB4NjExNn0sCisJeyJsaW51eC9zb25ldC5oIiwJIlNPTkVUX0dFVEZSU0VOU0UiLAkweDYxMTd9LAorCXsibGludXgvYXRtX2lkdDc3MTA1LmgiLAkiSURUNzcxMDVfR0VUU1RBVCIsCTB4NjEzMn0sCisJeyJsaW51eC9hdG1faWR0NzcxMDUuaCIsCSJJRFQ3NzEwNV9HRVRTVEFUWiIsCTB4NjEzM30sCisJeyJsaW51eC9hdG1kZXYuaCIsCSJBVE1fR0VUU1RBVCIsCTB4NjE1MH0sCisJeyJsaW51eC9hdG1kZXYuaCIsCSJBVE1fR0VUU1RBVFoiLAkweDYxNTF9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX0dFVExPT1AiLAkweDYxNTJ9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX1NFVExPT1AiLAkweDYxNTN9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX1FVRVJZTE9PUCIsCTB4NjE1NH0sCisJeyJsaW51eC9hdG1fZW5pLmgiLAkiRU5JX01FTURVTVAiLAkweDYxNjB9LAorCXsibGludXgvYXRtX25pY3N0YXIuaCIsCSJOU19HRVRQU1RBVCIsCTB4NjE2MX0sCisJeyJsaW51eC9hdG1femF0bS5oIiwJIlpBVE1fR0VUUE9PTCIsCTB4NjE2MX0sCisJeyJsaW51eC9hdG1fbmljc3Rhci5oIiwJIk5TX1NFVEJVRkxFViIsCTB4NjE2Mn0sCisJeyJsaW51eC9hdG1femF0bS5oIiwJIlpBVE1fR0VUUE9PTFoiLAkweDYxNjJ9LAorCXsibGludXgvYXRtX25pY3N0YXIuaCIsCSJOU19BREpCVUZMRVYiLAkweDYxNjN9LAorCXsibGludXgvYXRtX3phdG0uaCIsCSJaQVRNX1NFVFBPT0wiLAkweDYxNjN9LAorCXsibGludXgvYXRtX3phdG0uaCIsCSJaQVRNX0dFVFRISVNUIiwJMHg2MTY0fSwKKwl7ImxpbnV4L2F0bV9lbmkuaCIsCSJFTklfU0VUTVVMVCIsCTB4NjE2N30sCisJeyJsaW51eC9hdG1fdGNwLmgiLAkiU0lPQ1NJRkFUTVRDUCIsCTB4NjE4MH0sCisJeyJsaW51eC9hdG1kZXYuaCIsCSJBVE1fR0VUTElOS1JBVEUiLAkweDYxODF9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX0dFVE5BTUVTIiwJMHg2MTgzfSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9HRVRUWVBFIiwJMHg2MTg0fSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9HRVRFU0kiLAkweDYxODV9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX0dFVEFERFIiLAkweDYxODZ9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX1JTVEFERFIiLAkweDYxODd9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX0FEREFERFIiLAkweDYxODh9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX0RFTEFERFIiLAkweDYxODl9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX0dFVENJUkFOR0UiLAkweDYxOGF9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX1NFVENJUkFOR0UiLAkweDYxOGJ9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX1NFVEVTSSIsCTB4NjE4Y30sCisJeyJsaW51eC9hdG1kZXYuaCIsCSJBVE1fU0VURVNJRiIsCTB4NjE4ZH0sCisJeyJsaW51eC9hdG1fdGNwLmgiLAkiQVRNVENQX0NSRUFURSIsCTB4NjE4ZX0sCisJeyJsaW51eC9hdG1fdGNwLmgiLAkiQVRNVENQX1JFTU9WRSIsCTB4NjE4Zn0sCisJeyJsaW51eC9hdG1sZWMuaCIsCSJBVE1MRUNfQ1RSTCIsCTB4NjFkMH0sCisJeyJsaW51eC9hdG1sZWMuaCIsCSJBVE1MRUNfREFUQSIsCTB4NjFkMX0sCisJeyJsaW51eC9hdG1sZWMuaCIsCSJBVE1MRUNfTUNBU1QiLAkweDYxZDJ9LAorCXsibGludXgvYXRtbXBjLmgiLAkiQVRNTVBDX0NUUkwiLAkweDYxZDh9LAorCXsibGludXgvYXRtbXBjLmgiLAkiQVRNTVBDX0RBVEEiLAkweDYxZDl9LAorCXsibGludXgvYXRtY2xpcC5oIiwJIlNJT0NNS0NMSVAiLAkweDYxZTB9LAorCXsibGludXgvYXRtYXJwLmgiLAkiQVRNQVJQRF9DVFJMIiwJMHg2MWUxfSwKKwl7ImxpbnV4L2F0bWFycC5oIiwJIkFUTUFSUF9NS0lQIiwJMHg2MWUyfSwKKwl7ImxpbnV4L2F0bWFycC5oIiwJIkFUTUFSUF9TRVRFTlRSWSIsCTB4NjFlM30sCisJeyJsaW51eC9hdG1hcnAuaCIsCSJBVE1BUlBfRU5DQVAiLAkweDYxZTV9LAorCXsibGludXgvYXRtc3ZjLmgiLAkiQVRNU0lHRF9DVFJMIiwJMHg2MWYwfSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9TRVRTQyIsCTB4NjFmMX0sCisJeyJsaW51eC9hdG1kZXYuaCIsCSJBVE1fU0VUQkFDS0VORCIsCTB4NjFmMn0sCisJeyJsaW51eC9jb2RhLmgiLAkiQ0lPQ19LRVJORUxfVkVSU0lPTiIsCTB4NjMwYX0sCisJeyJsaW51eC9jb21zdGF0cy5oIiwJIkNPTV9HRVRQT1JUU1RBVFMiLAkweDYzMWV9LAorCXsibGludXgvY29tc3RhdHMuaCIsCSJDT01fQ0xSUE9SVFNUQVRTIiwJMHg2MzFmfSwKKwl7ImxpbnV4L2NvbXN0YXRzLmgiLAkiQ09NX0dFVEJSRFNUQVRTIiwJMHg2MzIwfSwKKwl7ImxpbnV4L2NvbXN0YXRzLmgiLAkiQ09NX1JFQURQT1JUIiwJMHg2MzI4fSwKKwl7ImxpbnV4L2NvbXN0YXRzLmgiLAkiQ09NX1JFQURCT0FSRCIsCTB4NjMyOX0sCisJeyJsaW51eC9jb21zdGF0cy5oIiwJIkNPTV9SRUFEUEFORUwiLAkweDYzMmF9LAorCXsibGludXgvZGV2ZnNfZnMuaCIsCSJERVZGU0RJT0NfR0VUX1BST1RPX1JFViIsCTB4NjQwMH0sCisJeyJsaW51eC92aWRlb19kZWNvZGVyLmgiLAkiREVDT0RFUl9HRVRfQ0FQQUJJTElUSUVTIiwJMHg2NDAxfSwKKwl7ImxpbnV4L2RldmZzX2ZzLmgiLAkiREVWRlNESU9DX1NFVF9FVkVOVF9NQVNLIiwJMHg2NDAyfSwKKwl7ImxpbnV4L3ZpZGVvX2RlY29kZXIuaCIsCSJERUNPREVSX0dFVF9TVEFUVVMiLAkweDY0MDJ9LAorCXsibGludXgvZGV2ZnNfZnMuaCIsCSJERVZGU0RJT0NfUkVMRUFTRV9FVkVOVF9RVUVVRSIsCTB4NjQwM30sCisJeyJsaW51eC92aWRlb19kZWNvZGVyLmgiLAkiREVDT0RFUl9TRVRfTk9STSIsCTB4NjQwM30sCisJeyJsaW51eC9kZXZmc19mcy5oIiwJIkRFVkZTRElPQ19TRVRfREVCVUdfTUFTSyIsCTB4NjQwNH0sCisJeyJsaW51eC92aWRlb19kZWNvZGVyLmgiLAkiREVDT0RFUl9TRVRfSU5QVVQiLAkweDY0MDR9LAorCXsibGludXgvdmlkZW9fZGVjb2Rlci5oIiwJIkRFQ09ERVJfU0VUX09VVFBVVCIsCTB4NjQwNX0sCisJeyJsaW51eC92aWRlb19kZWNvZGVyLmgiLAkiREVDT0RFUl9FTkFCTEVfT1VUUFVUIiwJMHg2NDA2fSwKKwl7ImxpbnV4L3ZpZGVvX2RlY29kZXIuaCIsCSJERUNPREVSX1NFVF9QSUNUVVJFIiwJMHg2NDA3fSwKKwl7ImxpbnV4L3ZpZGVvX2RlY29kZXIuaCIsCSJERUNPREVSX0RVTVAiLAkweDY0YzB9LAorCXsibGludXgvdmlkZW9fZW5jb2Rlci5oIiwJIkVOQ09ERVJfR0VUX0NBUEFCSUxJVElFUyIsCTB4NjUwMX0sCisJeyJsaW51eC92aWRlb19lbmNvZGVyLmgiLAkiRU5DT0RFUl9TRVRfTk9STSIsCTB4NjUwMn0sCisJeyJsaW51eC92aWRlb19lbmNvZGVyLmgiLAkiRU5DT0RFUl9TRVRfSU5QVVQiLAkweDY1MDN9LAorCXsibGludXgvdmlkZW9fZW5jb2Rlci5oIiwJIkVOQ09ERVJfU0VUX09VVFBVVCIsCTB4NjUwNH0sCisJeyJsaW51eC92aWRlb19lbmNvZGVyLmgiLAkiRU5DT0RFUl9FTkFCTEVfT1VUUFVUIiwJMHg2NTA1fSwKKwl7ImxpbnV4L2V4dDJfZnMuaCIsCSJFWFQyX0lPQ19HRVRGTEFHUyIsCTB4NjYwMX0sCisJeyJsaW51eC9leHQzX2ZzLmgiLAkiRVhUM19JT0NfR0VURkxBR1MiLAkweDY2MDF9LAorCXsibGludXgvZXh0Ml9mcy5oIiwJIkVYVDJfSU9DX1NFVEZMQUdTIiwJMHg2NjAyfSwKKwl7ImxpbnV4L2V4dDNfZnMuaCIsCSJFWFQzX0lPQ19TRVRGTEFHUyIsCTB4NjYwMn0sCisJeyJsaW51eC9leHQzX2ZzLmgiLAkiRVhUM19JT0NfR0VUVkVSU0lPTiIsCTB4NjYwM30sCisJeyJsaW51eC9leHQzX2ZzLmgiLAkiRVhUM19JT0NfU0VUVkVSU0lPTiIsCTB4NjYwNH0sCisJeyJsaW51eC9leHQzX2ZzLmgiLAkiRVhUM19JT0NfV0FJVF9GT1JfUkVBRE9OTFkiLAkweDY2NjN9LAorCXsibGludXgvaTJvLWRldi5oIiwJIkkyT0dFVElPUFMiLAkweDY5MDB9LAorCXsibGludXgvaTJvLWRldi5oIiwJIkkyT0hSVEdFVCIsCTB4NjkwMX0sCisJeyJsaW51eC9pMm8tZGV2LmgiLAkiSTJPTENUR0VUIiwJMHg2OTAyfSwKKwl7ImxpbnV4L2kyby1kZXYuaCIsCSJJMk9QQVJNU0VUIiwJMHg2OTAzfSwKKwl7ImxpbnV4L2kyby1kZXYuaCIsCSJJMk9QQVJNR0VUIiwJMHg2OTA0fSwKKwl7ImxpbnV4L2kyby1kZXYuaCIsCSJJMk9TV0RMIiwJMHg2OTA1fSwKKwl7ImxpbnV4L2kyby1kZXYuaCIsCSJJMk9TV1VMIiwJMHg2OTA2fSwKKwl7ImxpbnV4L2kyby1kZXYuaCIsCSJJMk9TV0RFTCIsCTB4NjkwN30sCisJeyJsaW51eC9pMm8tZGV2LmgiLAkiSTJPVkFMSURBVEUiLAkweDY5MDh9LAorCXsibGludXgvaTJvLWRldi5oIiwJIkkyT0hUTUwiLAkweDY5MDl9LAorCXsibGludXgvaTJvLWRldi5oIiwJIkkyT0VWVFJFRyIsCTB4NjkwYX0sCisJeyJsaW51eC9pMm8tZGV2LmgiLAkiSTJPRVZUR0VUIiwJMHg2OTBifSwKKwl7ImxpbnV4L2k4ay5oIiwJIkk4S19CSU9TX1ZFUlNJT04iLAkweDY5ODB9LAorCXsibGludXgvaThrLmgiLAkiSThLX01BQ0hJTkVfSUQiLAkweDY5ODF9LAorCXsibGludXgvaThrLmgiLAkiSThLX1BPV0VSX1NUQVRVUyIsCTB4Njk4Mn0sCisJeyJsaW51eC9pOGsuaCIsCSJJOEtfRk5fU1RBVFVTIiwJMHg2OTgzfSwKKwl7ImxpbnV4L2k4ay5oIiwJIkk4S19HRVRfVEVNUCIsCTB4Njk4NH0sCisJeyJsaW51eC9pOGsuaCIsCSJJOEtfR0VUX1NQRUVEIiwJMHg2OTg1fSwKKwl7ImxpbnV4L2k4ay5oIiwJIkk4S19HRVRfRkFOIiwJMHg2OTg2fSwKKwl7ImxpbnV4L2k4ay5oIiwJIkk4S19TRVRfRkFOIiwJMHg2OTg3fSwKKwl7ImxpbnV4L2pveXN0aWNrLmgiLAkiSlNJT0NHVkVSU0lPTiIsCTB4NmEwMX0sCisJeyJsaW51eC9qb3lzdGljay5oIiwJIkpTSU9DR0FYRVMiLAkweDZhMTF9LAorCXsibGludXgvam95c3RpY2suaCIsCSJKU0lPQ0dCVVRUT05TIiwJMHg2YTEyfSwKKwl7ImxpbnV4L2pveXN0aWNrLmgiLAkiSlNJT0NTQ09SUiIsCTB4NmEyMX0sCisJeyJsaW51eC9qb3lzdGljay5oIiwJIkpTSU9DR0NPUlIiLAkweDZhMjJ9LAorCXsibGludXgvam95c3RpY2suaCIsCSJKU0lPQ1NBWE1BUCIsCTB4NmEzMX0sCisJeyJsaW51eC9qb3lzdGljay5oIiwJIkpTSU9DR0FYTUFQIiwJMHg2YTMyfSwKKwl7ImxpbnV4L2pveXN0aWNrLmgiLAkiSlNJT0NTQlROTUFQIiwJMHg2YTMzfSwKKwl7ImxpbnV4L2pveXN0aWNrLmgiLAkiSlNJT0NHQlROTUFQIiwJMHg2YTM0fSwKKwl7ImxpbnV4L3VkZl9mc19pLmgiLAkiVURGX0dFVEVBU0laRSIsCTB4NmM0MH0sCisJeyJsaW51eC91ZGZfZnNfaS5oIiwJIlVERl9HRVRFQUJMT0NLIiwJMHg2YzQxfSwKKwl7ImxpbnV4L3VkZl9mc19pLmgiLAkiVURGX0dFVFZPTElERU5UIiwJMHg2YzQyfSwKKwl7ImxpbnV4L3VkZl9mc19pLmgiLAkiVURGX1JFTE9DQVRFX0JMT0NLUyIsCTB4NmM0M30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfTUlESV9QUkVUSU1FIiwJMHg2ZDAwfSwKKwl7ImxpbnV4L3N5bmNsaW5rLmgiLAkiTUdTTF9JT0NTUEFSQU1TIiwJMHg2ZDAwfSwKKwl7ImxpbnV4L210aW8uaCIsCSJNVElPQ1RPUCIsCTB4NmQwMX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfTUlESV9NUFVNT0RFIiwJMHg2ZDAxfSwKKwl7ImxpbnV4L3N5bmNsaW5rLmgiLAkiTUdTTF9JT0NHUEFSQU1TIiwJMHg2ZDAxfSwKKwl7ImxpbnV4L210aW8uaCIsCSJNVElPQ0dFVCIsCTB4NmQwMn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfTUlESV9NUFVDTUQiLAkweDZkMDJ9LAorCXsibGludXgvc3luY2xpbmsuaCIsCSJNR1NMX0lPQ1NUWElETEUiLAkweDZkMDJ9LAorCXsibGludXgvbXRpby5oIiwJIk1USU9DUE9TIiwJMHg2ZDAzfSwKKwl7ImxpbnV4L3N5bmNsaW5rLmgiLAkiTUdTTF9JT0NHVFhJRExFIiwJMHg2ZDAzfSwKKwl7ImxpbnV4L210aW8uaCIsCSJNVElPQ0dFVENPTkZJRyIsCTB4NmQwNH0sCisJeyJsaW51eC9zeW5jbGluay5oIiwJIk1HU0xfSU9DVFhFTkFCTEUiLAkweDZkMDR9LAorCXsibGludXgvbXRpby5oIiwJIk1USU9DU0VUQ09ORklHIiwJMHg2ZDA1fSwKKwl7ImxpbnV4L3N5bmNsaW5rLmgiLAkiTUdTTF9JT0NSWEVOQUJMRSIsCTB4NmQwNX0sCisJeyJsaW51eC9tdGlvLmgiLAkiTVRJT0NSREZUU0VHIiwJMHg2ZDA2fSwKKwl7ImxpbnV4L3N5bmNsaW5rLmgiLAkiTUdTTF9JT0NUWEFCT1JUIiwJMHg2ZDA2fSwKKwl7ImxpbnV4L210aW8uaCIsCSJNVElPQ1dSRlRTRUciLAkweDZkMDd9LAorCXsibGludXgvc3luY2xpbmsuaCIsCSJNR1NMX0lPQ0dTVEFUUyIsCTB4NmQwN30sCisJeyJsaW51eC9tdGlvLmgiLAkiTVRJT0NWT0xJTkZPIiwJMHg2ZDA4fSwKKwl7ImxpbnV4L3N5bmNsaW5rLmgiLAkiTUdTTF9JT0NXQUlURVZFTlQiLAkweDZkMDh9LAorCXsibGludXgvbXRpby5oIiwJIk1USU9DR0VUU0laRSIsCTB4NmQwOX0sCisJeyJsaW51eC9zeW5jbGluay5oIiwJIk1HU0xfSU9DTE9PUFRYRE9ORSIsCTB4NmQwOX0sCisJeyJsaW51eC9tdGlvLmgiLAkiTVRJT0NGVEZPUk1BVCIsCTB4NmQwYX0sCisJeyJsaW51eC9tdGlvLmgiLAkiTVRJT0NGVENNRCIsCTB4NmQwYn0sCisJeyJsaW51eC9zeW5jbGluay5oIiwJIk1HU0xfSU9DQ0xSTU9EQ09VTlQiLAkweDZkMGZ9LAorCXsibGludXgvemZ0YXBlLmgiLAkiTVRJT0NfWkZUQVBFX0dFVEJMS1NaIiwJMHg2ZDY4fSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfTkNQUkVRVUVTVCIsCTB4NmUwMX0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX0dFVE1PVU5UVUlEIiwJMHg2ZTAyfSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfR0VUTU9VTlRVSUQyIiwJMHg2ZTAyfSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfQ09OTl9MT0dHRURfSU4iLAkweDZlMDN9LAorCXsibGludXgvbmNwX2ZzLmgiLAkiTkNQX0lPQ19HRVRfRlNfSU5GTyIsCTB4NmUwNH0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX0dFVF9GU19JTkZPX1YyIiwJMHg2ZTA0fSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfU0lHTl9JTklUIiwJMHg2ZTA1fSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfU0lHTl9XQU5URUQiLAkweDZlMDZ9LAorCXsibGludXgvbmNwX2ZzLmgiLAkiTkNQX0lPQ19TRVRfU0lHTl9XQU5URUQiLAkweDZlMDZ9LAorCXsibGludXgvbmNwX2ZzLmgiLAkiTkNQX0lPQ19MT0NLVU5MT0NLIiwJMHg2ZTA3fSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfR0VUUk9PVCIsCTB4NmUwOH0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX1NFVFJPT1QiLAkweDZlMDh9LAorCXsibGludXgvbmNwX2ZzLmgiLAkiTkNQX0lPQ19HRVRPQkpFQ1ROQU1FIiwJMHg2ZTA5fSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfU0VUT0JKRUNUTkFNRSIsCTB4NmUwOX0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX0dFVFBSSVZBVEVEQVRBIiwJMHg2ZTBhfSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfU0VUUFJJVkFURURBVEEiLAkweDZlMGF9LAorCXsibGludXgvbmNwX2ZzLmgiLAkiTkNQX0lPQ19HRVRDSEFSU0VUUyIsCTB4NmUwYn0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX1NFVENIQVJTRVRTIiwJMHg2ZTBifSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfR0VUREVOVFJZVFRMIiwJMHg2ZTBjfSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfU0VUREVOVFJZVFRMIiwJMHg2ZTBjfSwKKwl7ImxpbnV4L21hdHJveGZiLmgiLAkiTUFUUk9YRkJfU0VUX09VVFBVVF9DT05ORUNUSU9OIiwJMHg2ZWY4fSwKKwl7ImxpbnV4L21hdHJveGZiLmgiLAkiTUFUUk9YRkJfR0VUX09VVFBVVF9DT05ORUNUSU9OIiwJMHg2ZWY4fSwKKwl7ImxpbnV4L21hdHJveGZiLmgiLAkiTUFUUk9YRkJfR0VUX0FWQUlMQUJMRV9PVVRQVVRTIiwJMHg2ZWY5fSwKKwl7ImxpbnV4L21hdHJveGZiLmgiLAkiTUFUUk9YRkJfU0VUX09VVFBVVF9NT0RFIiwJMHg2ZWZhfSwKKwl7ImxpbnV4L21hdHJveGZiLmgiLAkiTUFUUk9YRkJfR0VUX09VVFBVVF9NT0RFIiwJMHg2ZWZhfSwKKwl7ImxpbnV4L21hdHJveGZiLmgiLAkiTUFUUk9YRkJfR0VUX0FMTF9PVVRQVVRTIiwJMHg2ZWZifSwKKwl7ImxpbnV4L3J0Yy5oIiwJIlJUQ19BSUVfT04iLAkweDcwMDF9LAorCXsibGludXgvcnRjLmgiLAkiUlRDX0FJRV9PRkYiLAkweDcwMDJ9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19HRVRNT1VOVCIsCTB4NzAwM30sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfVUlFX09OIiwJMHg3MDAzfSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fU0VUUElEIiwJMHg3MDA0fSwKKwl7ImxpbnV4L3J0Yy5oIiwJIlJUQ19VSUVfT0ZGIiwJMHg3MDA0fSwKKwl7ImxpbnV4L3J0Yy5oIiwJIlJUQ19QSUVfT04iLAkweDcwMDV9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19DTE9TRV9KT1VSTkFMRiIsCTB4NzAwNn0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfUElFX09GRiIsCTB4NzAwNn0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX1NFVF9GU0VUUk9PVCIsCTB4NzAwN30sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfQUxNX1NFVCIsCTB4NzAwN30sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX0NMRUFSX0ZTRVRST09UIiwJMHg3MDA4fSwKKwl7ImxpbnV4L3J0Yy5oIiwJIlJUQ19BTE1fUkVBRCIsCTB4NzAwOH0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX1NFVE9QVCIsCTB4NzAwOX0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfUkRfVElNRSIsCTB4NzAwOX0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX0dFVE9QVCIsCTB4NzAwYX0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfU0VUX1RJTUUiLAkweDcwMGF9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19HRVRfS01MU0laRSIsCTB4NzAwYn0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfSVJRUF9SRUFEIiwJMHg3MDBifSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fR0VUX1JFQ05PIiwJMHg3MDBjfSwKKwl7ImxpbnV4L3J0Yy5oIiwJIlJUQ19JUlFQX1NFVCIsCTB4NzAwY30sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfRVBPQ0hfUkVBRCIsCTB4NzAwZH0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfRVBPQ0hfU0VUIiwJMHg3MDBlfSwKKwl7ImxpbnV4L3J0Yy5oIiwJIlJUQ19XSUVfT04iLAkweDcwMGZ9LAorCXsibGludXgvcnRjLmgiLAkiUlRDX1dLQUxNX1NFVCIsCTB4NzAwZn0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX1ZGU19TRVRBVFRSIiwJMHg3MDEwfSwKKwl7ImxpbnV4L3J0Yy5oIiwJIlJUQ19XSUVfT0ZGIiwJMHg3MDEwfSwKKwl7ImxpbnV4L3J0Yy5oIiwJIlJUQ19XS0FMTV9SRCIsCTB4NzAxMH0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX1ZGU19DUkVBVEUiLAkweDcwMTF9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19WRlNfTElOSyIsCTB4NzAxMn0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX1ZGU19VTkxJTksiLAkweDcwMTN9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19WRlNfU1lNTElOSyIsCTB4NzAxNH0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX1ZGU19NS0RJUiIsCTB4NzAxNX0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX1ZGU19STURJUiIsCTB4NzAxNn0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX1ZGU19NS05PRCIsCTB4NzAxN30sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX1ZGU19SRU5BTUUiLAkweDcwMTh9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19WRlNfQ0xPU0UiLAkweDcwMWF9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19WRlNfSU9QRU4iLAkweDcwMWJ9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19WRlNfU0VURVhUQVRUUiIsCTB4NzAxY30sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX1ZGU19ERUxFWFRBVFRSIiwJMHg3MDFkfSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fTUFSSyIsCTB4NzAyMH0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX1JFTEVBU0VfUEVSTUlUIiwJMHg3MDIxfSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fQ0xFQVJfQUxMX0ZTRVRST09UUyIsCTB4NzAyMn0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX0JBQ0tGRVRDSF9MTUwiLAkweDcwMjN9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19SRUlOVCIsCTB4NzAyNH0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX0NBTkNFTF9MTUwiLAkweDcwMjV9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19SRVNFVF9GU0VUIiwJMHg3MDI2fSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fQ09NUExFVEVfQ0xPU0VTIiwJMHg3MDI3fSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fUkVJTlRfQkVHSU4iLAkweDcwMzB9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19ET19SRUlOVCIsCTB4NzAzMX0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX1JFSU5UX0VORCIsCTB4NzAzMn0sCisJeyJsaW51eC9udnJhbS5oIiwJIk5WUkFNX0lOSVQiLAkweDcwNDB9LAorCXsibGludXgvbnZyYW0uaCIsCSJOVlJBTV9TRVRDS1MiLAkweDcwNDF9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUFNFVE1PREUiLAkweDcwODB9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUFJTVEFUVVMiLAkweDcwODF9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUFJDT05UUk9MIiwJMHg3MDgzfSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBXQ09OVFJPTCIsCTB4NzA4NH0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQUkRBVEEiLAkweDcwODV9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUFdEQVRBIiwJMHg3MDg2fSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBDTEFJTSIsCTB4NzA4Yn0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQUkVMRUFTRSIsCTB4NzA4Y30sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQWUlFTEQiLAkweDcwOGR9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUEZDT05UUk9MIiwJMHg3MDhlfSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBFWENMIiwJMHg3MDhmfSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBEQVRBRElSIiwJMHg3MDkwfSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBORUdPVCIsCTB4NzA5MX0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQV0NUTE9OSVJRIiwJMHg3MDkyfSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBDTFJJUlEiLAkweDcwOTN9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUFNFVFBIQVNFIiwJMHg3MDk0fSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBHRVRUSU1FIiwJMHg3MDk1fSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBTRVRUSU1FIiwJMHg3MDk2fSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBHRVRNT0RFUyIsCTB4NzA5N30sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQR0VUTU9ERSIsCTB4NzA5OH0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQR0VUUEhBU0UiLAkweDcwOTl9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUEdFVEZMQUdTIiwJMHg3MDlhfSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBTRVRGTEFHUyIsCTB4NzA5Yn0sCisJeyJsaW51eC9zZXJpby5oIiwJIlNQSU9DU1RZUEUiLAkweDcxMDF9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfQ0FQQUJJTElUSUVTIiwJMHg3MTgwfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX0NBUEFCSUxJVElFU19MSVNUIiwJMHg3MTgxfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX0NBUEFCSUxJVElFU19DSEVDSyIsCTB4NzE4Mn0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9SSU5HIiwJMHg3MTgzfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX0hPT0tTVEFURSIsCTB4NzE4NH0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9NQVhSSU5HUyIsCTB4NzE4NX0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9SSU5HX0NBREVOQ0UiLAkweDcxODZ9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiT0xEX1BIT05FX1JJTkdfU1RBUlQiLAkweDcxODd9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUklOR19TVEFSVCIsCTB4NzE4N30sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9SSU5HX1NUT1AiLAkweDcxODh9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUkVDX0NPREVDIiwJMHg3MTg5fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1JFQ19TVEFSVCIsCTB4NzE4YX0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9SRUNfU1RPUCIsCTB4NzE4Yn0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9SRUNfREVQVEgiLAkweDcxOGN9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfRlJBTUUiLAkweDcxOGR9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUkVDX1ZPTFVNRSIsCTB4NzE4ZX0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9SRUNfTEVWRUwiLAkweDcxOGZ9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUExBWV9DT0RFQyIsCTB4NzE5MH0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9QTEFZX1NUQVJUIiwJMHg3MTkxfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1BMQVlfU1RPUCIsCTB4NzE5Mn0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9QTEFZX0RFUFRIIiwJMHg3MTkzfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1BMQVlfVk9MVU1FIiwJMHg3MTk0fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1BMQVlfTEVWRUwiLAkweDcxOTV9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfRFRNRl9SRUFEWSIsCTB4NzE5Nn0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9HRVRfRFRNRiIsCTB4NzE5N30sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9HRVRfRFRNRl9BU0NJSSIsCTB4NzE5OH0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9EVE1GX09PQiIsCTB4NzE5OX0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9FWENFUFRJT04iLAkweDcxOWF9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUExBWV9UT05FIiwJMHg3MTlifSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1NFVF9UT05FX09OX1RJTUUiLAkweDcxOWN9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfU0VUX1RPTkVfT0ZGX1RJTUUiLAkweDcxOWR9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfR0VUX1RPTkVfT05fVElNRSIsCTB4NzE5ZX0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9HRVRfVE9ORV9PRkZfVElNRSIsCTB4NzE5Zn0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9HRVRfVE9ORV9TVEFURSIsCTB4NzFhMH0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9CVVNZIiwJMHg3MWExfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1JJTkdCQUNLIiwJMHg3MWEyfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX0RJQUxUT05FIiwJMHg3MWEzfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX0NQVF9TVE9QIiwJMHg3MWE0fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1BTVE5fU0VUX1NUQVRFIiwJMHg3MWE0fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1BTVE5fR0VUX1NUQVRFIiwJMHg3MWE1fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1dJTktfRFVSQVRJT04iLAkweDcxYTZ9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUVVFUllfQ09ERUMiLAkweDcxYTd9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUFNUTl9MSU5FVEVTVCIsCTB4NzFhOH0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9WQUQiLAkweDcxYTl9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfV0lOSyIsCTB4NzFhYX0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0RTUF9SRVNFVCIsCTB4NzFjMH0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0NBUkRUWVBFIiwJMHg3MWMxfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfU0VSSUFMIiwJMHg3MWMyfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfRFNQX1RZUEUiLAkweDcxYzN9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9EU1BfVkVSU0lPTiIsCTB4NzFjNH0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0RTUF9JRExFIiwJMHg3MWM1fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfVEVTVFJBTSIsCTB4NzFjNn0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1NFVF9GSUxURVIiLAkweDcxYzd9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9HRVRfRklMVEVSX0hJU1QiLAkweDcxYzh9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9JTklUX1RPTkUiLAkweDcxYzl9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9UT05FX0NBREVOQ0UiLAkweDcxY2F9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9BRUNfU1RBUlQiLAkweDcxY2J9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9BRUNfU1RPUCIsCTB4NzFjY30sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0FFQ19HRVRfTEVWRUwiLAkweDcxY2R9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9TRVRfTEVEIiwJMHg3MWNlfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfTUlYRVIiLAkweDcxY2Z9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9EQUFfQ09FRkZfU0VUIiwJMHg3MWQwfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfUE9SVCIsCTB4NzFkMX0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0RBQV9BR0FJTiIsCTB4NzFkMn0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1BTVE5fTElORVRFU1QiLAkweDcxZDN9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9DSUQiLAkweDcxZDR9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9QT1RTX1BTVE4iLAkweDcxZDV9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9GSUxURVJfQ0FERU5DRSIsCTB4NzFkNn0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1BMQVlfQ0lEIiwJMHg3MWQ3fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfVk1XSSIsCTB4NzFkOH0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0NJRENXIiwJMHg3MWQ5fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfVkVSU0lPTiIsCTB4NzFkYX0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9SRUNfVk9MVU1FX0xJTkVBUiIsCTB4NzFkYn0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9QTEFZX1ZPTFVNRV9MSU5FQVIiLAkweDcxZGN9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9TRVRfRklMVEVSX1JBVyIsCTB4NzFkZH0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0haIiwJMHg3MWUwfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfUkFURSIsCTB4NzFlMX0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0ZSQU1FU19SRUFEIiwJMHg3MWUyfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfRlJBTUVTX1dSSVRURU4iLAkweDcxZTN9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9SRUFEX1dBSVQiLAkweDcxZTR9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9XUklURV9XQUlUIiwJMHg3MWU1fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfRFJZQlVGRkVSX1JFQUQiLAkweDcxZTZ9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9EUllCVUZGRVJfQ0xFQVIiLAkweDcxZTd9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9EVE1GX1BSRVNDQUxFIiwJMHg3MWU4fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfU0lHQ1RMIiwJMHg3MWU5fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfU0NfUlhHIiwJMHg3MWVhfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfU0NfVFhHIiwJMHg3MWVifSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfSU5URVJDT01fU1RBUlQiLAkweDcxZmR9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9JTlRFUkNPTV9TVE9QIiwJMHg3MWZlfSwKKwl7ImxpbnV4L21zZG9zX2ZzLmgiLAkiVkZBVF9JT0NUTF9SRUFERElSX0JPVEgiLAkweDcyMDF9LAorCXsibGludXgvbXNkb3NfZnMuaCIsCSJWRkFUX0lPQ1RMX1JFQURESVJfU0hPUlQiLAkweDcyMDJ9LAorCXsibGludXgvY2RrLmgiLAkiU1RMX0JJTlRSIiwJMHg3MzE0fSwKKwl7ImxpbnV4L2Nkay5oIiwJIlNUTF9CU1RBUlQiLAkweDczMTV9LAorCXsibGludXgvY2RrLmgiLAkiU1RMX0JTVE9QIiwJMHg3MzE2fSwKKwl7ImxpbnV4L2Nkay5oIiwJIlNUTF9CUkVTRVQiLAkweDczMTd9LAorCXsibGludXgvY2RrLmgiLAkiU1RMX0dFVFBGTEFHIiwJMHg3MzUwfSwKKwl7ImxpbnV4L2Nkay5oIiwJIlNUTF9TRVRQRkxBRyIsCTB4NzM1MX0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NHQ0hBTiIsCTB4NzQzN30sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NBVFRDSEFOIiwJMHg3NDM4fSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ0RJU0NPTk4iLAkweDc0Mzl9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DQ09OTkVDVCIsCTB4NzQzYX0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NTTVJSVSIsCTB4NzQzYn0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NERVRBQ0giLAkweDc0M2N9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DQVRUQUNIIiwJMHg3NDNkfSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ05FV1VOSVQiLAkweDc0M2V9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DR0lETEUiLAkweDc0M2Z9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DU0RFQlVHIiwJMHg3NDQwfSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ0dERUJVRyIsCTB4NzQ0MX0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NTQUNUSVZFIiwJMHg3NDQ2fSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ1NQQVNTIiwJMHg3NDQ3fSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ1NOUE1PREUiLAkweDc0NGJ9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DR05QTU9ERSIsCTB4NzQ0Y30sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NTQ09NUFJFU1MiLAkweDc0NGR9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DWEZFUlVOSVQiLAkweDc0NGV9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DU1hBU1lOQ01BUCIsCTB4NzQ0Zn0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NHWEFTWU5DTUFQIiwJMHg3NDUwfSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ1NNQVhDSUQiLAkweDc0NTF9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DU01SVSIsCTB4NzQ1Mn0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NHTVJVIiwJMHg3NDUzfSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ1NSQVNZTkNNQVAiLAkweDc0NTR9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DR1JBU1lOQ01BUCIsCTB4NzQ1NX0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NHVU5JVCIsCTB4NzQ1Nn0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NTQVNZTkNNQVAiLAkweDc0NTd9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DR0FTWU5DTUFQIiwJMHg3NDU4fSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ1NGTEFHUyIsCTB4NzQ1OX0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NHRkxBR1MiLAkweDc0NWF9LAorCXsibGludXgvamZmcy5oIiwJIkpGRlNfUFJJTlRfSEFTSCIsCTB4NzQ1YX0sCisJeyJsaW51eC9qZmZzLmgiLAkiSkZGU19QUklOVF9UUkVFIiwJMHg3NDVifSwKKwl7ImxpbnV4L2pmZnMuaCIsCSJKRkZTX0dFVF9TVEFUVVMiLAkweDc0NWN9LAorCXsibGludXgvaXNkbl9wcHAuaCIsCSJQUFBJT0NHQ0FMTElORk8iLAkweDc0ODB9LAorCXsibGludXgvaXNkbl9wcHAuaCIsCSJQUFBJT0NCVU5ETEUiLAkweDc0ODF9LAorCXsibGludXgvaXNkbl9wcHAuaCIsCSJQUFBJT0NHTVBGTEFHUyIsCTB4NzQ4Mn0sCisJeyJsaW51eC9pc2RuX3BwcC5oIiwJIlBQUElPQ1NNUEZMQUdTIiwJMHg3NDgzfSwKKwl7ImxpbnV4L2lzZG5fcHBwLmgiLAkiUFBQSU9DU01QTVRVIiwJMHg3NDg0fSwKKwl7ImxpbnV4L2lzZG5fcHBwLmgiLAkiUFBQSU9DU01QTVJVIiwJMHg3NDg1fSwKKwl7ImxpbnV4L2lzZG5fcHBwLmgiLAkiUFBQSU9DR0NPTVBSRVNTT1JTIiwJMHg3NDg2fSwKKwl7ImxpbnV4L2lzZG5fcHBwLmgiLAkiUFBQSU9DU0NPTVBSRVNTT1IiLAkweDc0ODd9LAorCXsibGludXgvaXNkbl9wcHAuaCIsCSJQUFBJT0NHSUZOQU1FIiwJMHg3NDg4fSwKKwl7ImxpbnV4L3Rvc2hpYmEuaCIsCSJUT1NIX1NNTSIsCTB4NzQ5MH0sCisJeyJsaW51eC9zbWJfZnMuaCIsCSJTTUJfSU9DX0dFVE1PVU5UVUlEIiwJMHg3NTAxfSwKKwl7ImxpbnV4L3NtYl9mcy5oIiwJIlNNQl9JT0NfTkVXQ09OTiIsCTB4NzUwMn0sCisJeyJsaW51eC9zbWJfZnMuaCIsCSJTTUJfSU9DX0dFVE1PVU5UVUlEMzIiLAkweDc1MDN9LAorCXsibGludXgvc29ueXBpLmgiLAkiU09OWVBJX0lPQ0dCUlQiLAkweDc2MDB9LAorCXsibGludXgvc29ueXBpLmgiLAkiU09OWVBJX0lPQ1NCUlQiLAkweDc2MDB9LAorCXsibGludXgvZXh0Ml9mcy5oIiwJIkVYVDJfSU9DX0dFVFZFUlNJT04iLAkweDc2MDF9LAorCXsibGludXgvZXh0M19mcy5oIiwJIkVYVDNfSU9DX0dFVFZFUlNJT05fT0xEIiwJMHg3NjAxfSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DR0NBUCIsCTB4NzYwMX0sCisJeyJsaW51eC9leHQyX2ZzLmgiLAkiRVhUMl9JT0NfU0VUVkVSU0lPTiIsCTB4NzYwMn0sCisJeyJsaW51eC9leHQzX2ZzLmgiLAkiRVhUM19JT0NfU0VUVkVSU0lPTl9PTEQiLAkweDc2MDJ9LAorCXsibGludXgvc29ueXBpLmgiLAkiU09OWVBJX0lPQ0dCQVQxQ0FQIiwJMHg3NjAyfSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DR0NIQU4iLAkweDc2MDJ9LAorCXsibGludXgvc29ueXBpLmgiLAkiU09OWVBJX0lPQ0dCQVQxUkVNIiwJMHg3NjAzfSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DU0NIQU4iLAkweDc2MDN9LAorCXsibGludXgvc29ueXBpLmgiLAkiU09OWVBJX0lPQ0dCQVQyQ0FQIiwJMHg3NjA0fSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DR1RVTkVSIiwJMHg3NjA0fSwKKwl7ImxpbnV4L3NvbnlwaS5oIiwJIlNPTllQSV9JT0NHQkFUMlJFTSIsCTB4NzYwNX0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ1NUVU5FUiIsCTB4NzYwNX0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ0dQSUNUIiwJMHg3NjA2fSwKKwl7ImxpbnV4L3NvbnlwaS5oIiwJIlNPTllQSV9JT0NHQkFURkxBR1MiLAkweDc2MDd9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NTUElDVCIsCTB4NzYwN30sCisJeyJsaW51eC9zb255cGkuaCIsCSJTT05ZUElfSU9DR0JMVUUiLAkweDc2MDh9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NDQVBUVVJFIiwJMHg3NjA4fSwKKwl7ImxpbnV4L3NvbnlwaS5oIiwJIlNPTllQSV9JT0NTQkxVRSIsCTB4NzYwOX0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ0dXSU4iLAkweDc2MDl9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NTV0lOIiwJMHg3NjBhfSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DR0ZCVUYiLAkweDc2MGJ9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NTRkJVRiIsCTB4NzYwY30sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ0tFWSIsCTB4NzYwZH0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ0dGUkVRIiwJMHg3NjBlfSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DU0ZSRVEiLAkweDc2MGZ9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NHQVVESU8iLAkweDc2MTB9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NTQVVESU8iLAkweDc2MTF9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NTWU5DIiwJMHg3NjEyfSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DTUNBUFRVUkUiLAkweDc2MTN9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NHTUJVRiIsCTB4NzYxNH0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ0dVTklUIiwJMHg3NjE1fSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DR0NBUFRVUkUiLAkweDc2MTZ9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NTQ0FQVFVSRSIsCTB4NzYxN30sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ1NQTEFZTU9ERSIsCTB4NzYxOH0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ1NXUklURU1PREUiLAkweDc2MTl9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NHUExBWUlORk8iLAkweDc2MWF9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NTTUlDUk9DT0RFIiwJMHg3NjFifSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DR1ZCSUZNVCIsCTB4NzYxY30sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ1NWQklGTVQiLAkweDc2MWR9LAorCXsibGludXgvbWV5ZS5oIiwJIk1FWUVJT0NfR19QQVJBTVMiLAkweDc2YzB9LAorCXsibGludXgvbWV5ZS5oIiwJIk1FWUVJT0NfU19QQVJBTVMiLAkweDc2YzF9LAorCXsibGludXgvbWV5ZS5oIiwJIk1FWUVJT0NfUUJVRl9DQVBUIiwJMHg3NmMyfSwKKwl7ImxpbnV4L21leWUuaCIsCSJNRVlFSU9DX1NZTkMiLAkweDc2YzN9LAorCXsibGludXgvbWV5ZS5oIiwJIk1FWUVJT0NfU1RJTExDQVBUIiwJMHg3NmM0fSwKKwl7ImxpbnV4L21leWUuaCIsCSJNRVlFSU9DX1NUSUxMSkNBUFQiLAkweDc2YzV9LAorCXsibGludXgvZG4uaCIsCSJTSU9DU05FVEFERFIiLAkweDg5ZTB9LAorCXsibGludXgvZG4uaCIsCSJPU0lPQ1NORVRBRERSIiwJMHg4OWUwfSwKKwl7ImxpbnV4L2RuLmgiLAkiU0lPQ0dORVRBRERSIiwJMHg4OWUxfSwKKwl7ImxpbnV4L2RuLmgiLAkiT1NJT0NHTkVUQUREUiIsCTB4ODllMX0sCisJeyJsaW51eC9hdXRvX2ZzLmgiLAkiQVVUT0ZTX0lPQ19SRUFEWSIsCTB4OTM2MH0sCisJeyJsaW51eC9hdXRvX2ZzLmgiLAkiQVVUT0ZTX0lPQ19GQUlMIiwJMHg5MzYxfSwKKwl7ImxpbnV4L2F1dG9fZnMuaCIsCSJBVVRPRlNfSU9DX0NBVEFUT05JQyIsCTB4OTM2Mn0sCisJeyJsaW51eC9hdXRvX2ZzLmgiLAkiQVVUT0ZTX0lPQ19QUk9UT1ZFUiIsCTB4OTM2M30sCisJeyJsaW51eC9hdXRvX2ZzLmgiLAkiQVVUT0ZTX0lPQ19TRVRUSU1FT1VUIiwJMHg5MzY0fSwKKwl7ImxpbnV4L2F1dG9fZnMuaCIsCSJBVVRPRlNfSU9DX0VYUElSRSIsCTB4OTM2NX0sCisJeyJsaW51eC9hdXRvX2ZzNC5oIiwJIkFVVE9GU19JT0NfRVhQSVJFX01VTFRJIiwJMHg5MzY2fSwKKwl7ImxpbnV4L25iZC5oIiwJIk5CRF9TRVRfU09DSyIsCTB4YWIwMH0sCisJeyJsaW51eC9uYmQuaCIsCSJOQkRfU0VUX0JMS1NJWkUiLAkweGFiMDF9LAorCXsibGludXgvbmJkLmgiLAkiTkJEX1NFVF9TSVpFIiwJMHhhYjAyfSwKKwl7ImxpbnV4L25iZC5oIiwJIk5CRF9ET19JVCIsCTB4YWIwM30sCisJeyJsaW51eC9uYmQuaCIsCSJOQkRfQ0xFQVJfU09DSyIsCTB4YWIwNH0sCisJeyJsaW51eC9uYmQuaCIsCSJOQkRfQ0xFQVJfUVVFIiwJMHhhYjA1fSwKKwl7ImxpbnV4L25iZC5oIiwJIk5CRF9QUklOVF9ERUJVRyIsCTB4YWIwNn0sCisJeyJsaW51eC9uYmQuaCIsCSJOQkRfU0VUX1NJWkVfQkxPQ0tTIiwJMHhhYjA3fSwKKwl7ImxpbnV4L25iZC5oIiwJIk5CRF9ESVNDT05ORUNUIiwJMHhhYjA4fSwKKwl7ImxpbnV4L3Jhdy5oIiwJIlJBV19TRVRCSU5EIiwJMHhhYzAwfSwKKwl7ImxpbnV4L3Jhdy5oIiwJIlJBV19HRVRCSU5EIiwJMHhhYzAxfSwKKwl7ImxpbnV4L2lmX3BwcG94LmgiLAkiUFBQT0VJT0NTRldEIiwJMHhiMTAwfSwKKwl7ImxpbnV4L2lmX3BwcG94LmgiLAkiUFBQT0VJT0NERldEIiwJMHhiMTAxfSwKKwl7ImxpbnV4L3JlaXNlcmZzX2ZzLmgiLAkiUkVJU0VSRlNfSU9DX1VOUEFDSyIsCTB4Y2QwMX0sCisJeyJsaW51eC9sdm0uaCIsCSJWR19DUkVBVEVfT0xEIiwJMHhmZTAwfSwKKwl7ImxpbnV4L2x2bS5oIiwJIlZHX1JFTU9WRSIsCTB4ZmUwMX0sCisJeyJsaW51eC9sdm0uaCIsCSJWR19FWFRFTkQiLAkweGZlMDN9LAorCXsibGludXgvbHZtLmgiLAkiVkdfUkVEVUNFIiwJMHhmZTA0fSwKKwl7ImxpbnV4L2x2bS5oIiwJIlZHX1NUQVRVUyIsCTB4ZmUwNX0sCisJeyJsaW51eC9sdm0uaCIsCSJWR19TVEFUVVNfR0VUX0NPVU5UIiwJMHhmZTA2fSwKKwl7ImxpbnV4L2x2bS5oIiwJIlZHX1NUQVRVU19HRVRfTkFNRUxJU1QiLAkweGZlMDd9LAorCXsibGludXgvbHZtLmgiLAkiVkdfU0VUX0VYVEVOREFCTEUiLAkweGZlMDh9LAorCXsibGludXgvbHZtLmgiLAkiVkdfUkVOQU1FIiwJMHhmZTA5fSwKKwl7ImxpbnV4L2x2bS5oIiwJIlZHX0NSRUFURSIsCTB4ZmUwYX0sCisJeyJsaW51eC9sdm0uaCIsCSJMVl9DUkVBVEUiLAkweGZlMjB9LAorCXsibGludXgvbHZtLmgiLAkiTFZfUkVNT1ZFIiwJMHhmZTIxfSwKKwl7ImxpbnV4L2x2bS5oIiwJIkxWX0FDVElWQVRFIiwJMHhmZTIyfSwKKwl7ImxpbnV4L2x2bS5oIiwJIkxWX0RFQUNUSVZBVEUiLAkweGZlMjN9LAorCXsibGludXgvbHZtLmgiLAkiTFZfRVhURU5EIiwJMHhmZTI0fSwKKwl7ImxpbnV4L2x2bS5oIiwJIkxWX1JFRFVDRSIsCTB4ZmUyNX0sCisJeyJsaW51eC9sdm0uaCIsCSJMVl9TVEFUVVNfQllOQU1FIiwJMHhmZTI2fSwKKwl7ImxpbnV4L2x2bS5oIiwJIkxWX1NUQVRVU19CWUlOREVYIiwJMHhmZTI3fSwKKwl7ImxpbnV4L2x2bS5oIiwJIkxWX1NFVF9BQ0NFU1MiLAkweGZlMjh9LAorCXsibGludXgvbHZtLmgiLAkiTFZfU0VUX0FMTE9DQVRJT04iLAkweGZlMjl9LAorCXsibGludXgvbHZtLmgiLAkiTFZfU0VUX1NUQVRVUyIsCTB4ZmUyYX0sCisJeyJsaW51eC9sdm0uaCIsCSJMRV9SRU1BUCIsCTB4ZmUyYn0sCisJeyJsaW51eC9sdm0uaCIsCSJMVl9TTkFQU0hPVF9VU0VfUkFURSIsCTB4ZmUyY30sCisJeyJsaW51eC9sdm0uaCIsCSJMVl9TVEFUVVNfQllERVYiLAkweGZlMmV9LAorCXsibGludXgvbHZtLmgiLAkiTFZfUkVOQU1FIiwJMHhmZTJmfSwKKwl7ImxpbnV4L2x2bS5oIiwJIkxWX0JNQVAiLAkweGZlMzB9LAorCXsibGludXgvbHZtLmgiLAkiUFZfU1RBVFVTIiwJMHhmZTQwfSwKKwl7ImxpbnV4L2x2bS5oIiwJIlBWX0NIQU5HRSIsCTB4ZmU0MX0sCisJeyJsaW51eC9sdm0uaCIsCSJQVl9GTFVTSCIsCTB4ZmU0Mn0sCisJeyJsaW51eC9sdm0uaCIsCSJQRV9MT0NLX1VOTE9DSyIsCTB4ZmU1MH0sCisJeyJsaW51eC9sdm0uaCIsCSJMVk1fR0VUX0lPUF9WRVJTSU9OIiwJMHhmZTk4fSwKKwl7ImxpbnV4L2x2bS5oIiwJIkxWTV9SRVNFVCIsCTB4ZmU5OX0sCisJeyJsaW51eC9sdm0uaCIsCSJMVk1fTE9DS19MVk0iLAkweGZmMDB9LApkaWZmIC0tZ2l0IGEvc3RyYWNlLTQuNS4yMC9saW51eC9taXBzL2lvY3RsZW50LnNoIGIvc3RyYWNlLTQuNS4yMC9saW51eC9taXBzL2lvY3RsZW50LnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmRkNWZkOWQKLS0tIC9kZXYvbnVsbAorKysgYi9zdHJhY2UtNC41LjIwL2xpbnV4L21pcHMvaW9jdGxlbnQuc2gKQEAgLTAsMCArMSw5OCBAQAorIyEvYmluL3NoCisjIENvcHlyaWdodCAoYykgMTk5MywgMTk5NCwgMTk5NSBSaWNrIFNsYWRrZXkgPGpyc0B3b3JsZC5zdGQuY29tPgorIyBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBDb3B5cmlnaHQgKGMpIDE5OTUsIDE5OTYgTWljaGFlbCBFbGl6YWJldGggQ2hhc3RhaW4gPG1lY0BkdXJhY2VmLnNob3V0Lm5ldD4KKyMgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworIyBhcmUgbWV0OgorIyAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyMgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyMgMy4gVGhlIG5hbWUgb2YgdGhlIGF1dGhvciBtYXkgbm90IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzCisjICAgIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBBVVRIT1IgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUyBPUgorIyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCisjIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuCisjIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKKyMgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUCisjIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyMgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisjIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisjIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisjCisjCSRJZCQKKworIyBGaWxlcyB0byBmaW5kLgorZmlsZV9maW5kPSdhc20vKi5oIGxpbnV4LyouaCBzY3NpLyouaCcKKworIyBGaWxlcyB0byBzdG9wLgorZmlsZV9zdG9wPSdhc20vYnl0ZW9yZGVyLmggbGludXgvY29uZmlnLmggbGludXgvcGNpLmggbGludXgveGQuaCcKKworIyBEZWZzIHRvIGZpbmQuCisjIFdvcmsgb24gdGhlIGtlcm5lbCBzb3VyY2UgdG8gY29udmVydCBhbGwgdG8gZGZfaW93ci4KKyMgRG9uJ3Qga25vdyBob3cgdG8gZmluZCBsb3ctbnVtYmVyZWQgaW9jdGxzIGluIGxpbnV4L21jMTQ2ODE4cnRjLmguCitkZl9uYW1lPSdeWwkgXSojWwkgXSpkZWZpbmVbCSBdK1tBLVpfXVtBLVowLTlfXSpbCSBdKycKK2RmX2lvd3I9J19JT3xfSU9SfF9JT1d8X0lPV1InCitkZl9OTk5OPScwW1h4XSgwM3wwNnwyMnw0Nnw0Qnw0Q3w1M3w1NHw1Nnw4OXw5MClbMC05QS1GYS1mXVswLTlBLUZhLWZdJworZGZfNDM1OT0nMFtYeF00MzU5WzAtOUEtRmEtZl1bMC05QS1GYS1mXScJIyBsaW51eC9jeWNsYWRlcy5oCitkZl80NzBOPSc0NzBbMC05XScJCQkJIyBsaW51eC9mcy5oICAgICAgICAob25seSBpbiAxLjIuMTMpCitkZl9zbWl4PSdNSVhFUl9SRUFEfE1JWEVSX1dSSVRFJwkJIyBsaW51eC9zb3VuZGNhcmQuaAorZGZfMTJOTj0nMTJbMy00XVswLTldJwkJCQkjIGxpbnV4L3Vtc2Rvc19mcy5oIChvbmx5IGluIDEuMi4xMykKK2RmX3RhaWw9JyhbKCkJIF18JCknCitkZWZfZmluZD0iJGRmX25hbWUoJGRmX2lvd3J8JGRmX05OTk58JGRmXzQzNTl8JGRmXzQ3ME58JGRmX3NtaXh8JGRmXzEyTk4pJGRmX3RhaWwiCisKKyMgRGVmcyB0byBzdG9wLgorZHNfdGFpbD0nX01BR0lDfF9QQVRDSCcKK2RzX2ZkbXA9J0ZEKERFRnxHRVR8U0VUKU1FRElBUFJNJwkJIyBsaW51eC9mZC5oIGFsaWFzZXMgKG9ubHkgaW4gMS4yLjEzKQorZHNfbXRpbz0nTVRJT0MoR0VUfFNFVClDT05GSUcnCQkJIyBsaW51eC9tdGlvLmggbmVlZHMgY29uZmlnIChvbmx5IGluIDEuMi4xMykKK2RlZl9zdG9wPSIkZHNfdGFpbHwkZHNfZmRtcHwkZHNfbXRpbyIKKworIyBWYWxpZGF0ZSBhcmcgY291bnQuCitpZiBbICQjIC1uZSAxIF0KK3RoZW4KKwllY2hvICJ1c2FnZTogJDAgaW5jbHVkZS1kaXJlY3RvcnkiID4mMgorCWV4aXQgMQorZmkKKworIyBHcmVwIHRocm91Z2ggdGhlIGZpbGVzLgorKAorCSMgQ29uc3RydWN0IGxpc3Q6IGZpbmQgZmlsZXMgbWludXMgc3RvcCBmaWxlcy4KKwljZCAkMSB8fCBleGl0CisJZmlsZV9saXN0PWAobHMgJGZpbGVfZmluZCAkZmlsZV9zdG9wICRmaWxlX3N0b3AgMj4vZGV2L251bGwpIHwgc29ydCB8IHVuaXEgLXVgCisKKwkjIEdyZXAgbWF0Y2hpbmcgI2RlZmluZSBsaW5lcy4KKwkjIFRyYW5zZm9ybSB0byBDIHN0cnVjdHVyZSBmb3JtLgorCSMgRmlsdGVyIG91dCBzdG9wIGxpc3QuCisJZWdyZXAgIiRkZWZfZmluZCIgJGZpbGVfbGlzdCB8CisJCXNlZCAtbiAtZSAncy9eXCguKlwpOiNbCSBdKmRlZmluZVsJIF0qXChbQS1aX11bQS1aMC05X10qXCkuKiQvCXsgIlwxIiwJIlwyIiwJXDIJfSwvcCcgfAorCQllZ3JlcCAtdiAiJGRlZl9zdG9wIgorKSA+IGlvY3RsZW50LnRtcAorCisjIEdlbmVyYXRlIHRoZSBvdXRwdXQgZmlsZS4KK2VjaG8gJy8qIFRoaXMgZmlsZSBpcyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSBpb2N0bGVudC5zaCAqLycKK2VjaG8KK2VjaG8gJyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4nCitlY2hvCitlY2hvICcvKiBOZWVkZWQgZm9yIDxsaW51eC9iYXljb20uaD4gKi8nCitlY2hvICcjZGVmaW5lIEJBWUNPTV9ERUJVRycKK2VjaG8KK2VjaG8gJy8qIE5lZWRlZCBmb3IgPGxpbnV4L2N5Y2xhZGVzLmg+ICovJworZWNobyAnI2luY2x1ZGUgPGxpbnV4L3Rlcm1pb3MuaD4nCitlY2hvICcjaW5jbHVkZSA8bGludXgvdHF1ZXVlLmg+JworZWNobworYXdrICd7IHByaW50ICIjaW5jbHVkZSA8IiBzdWJzdHIoJDIsIDIsIGxlbmd0aCgkMikgLSAzKSAiPiIgfScgaW9jdGxlbnQudG1wIHwgc29ydCAtdQorZWNobworZWNobyAnc3RydWN0IGlvY3RsZW50IGlvY3RsZW50IFtdID0nCitlY2hvICd7JworY2F0IGlvY3RsZW50LnRtcAorZWNobyAnfTsnCisKKyMgQ2xlYW4gdXAuCitybSAtZiBpb2N0bGVudC50bXAKZGlmZiAtLWdpdCBhL3N0cmFjZS00LjUuMjAvbGludXgvbWlwcy9zaWduYWxlbnQuaCBiL3N0cmFjZS00LjUuMjAvbGludXgvbWlwcy9zaWduYWxlbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yY2Y3NDZhCi0tLSAvZGV2L251bGwKKysrIGIvc3RyYWNlLTQuNS4yMC9saW51eC9taXBzL3NpZ25hbGVudC5oCkBAIC0wLDAgKzEsMzIgQEAKKwkiU0lHXzAiLAkvKiAwICovCisJIlNJR0hVUCIsCS8qIDEgKi8KKwkiU0lHSU5UIiwJLyogMiAqLworCSJTSUdRVUlUIiwJLyogMyAqLworCSJTSUdJTEwiLAkvKiA0ICovCisJIlNJR1RSQVAiLAkvKiA1ICovCisJIlNJR0lPVCIsCS8qIDYgKi8KKwkiU0lHRU1UIiwJLyogNyAqLworCSJTSUdGUEUiLAkvKiA4ICovCisJIlNJR0tJTEwiLAkvKiA5ICovCisJIlNJR0JVUyIsCS8qIDEwICovCisJIlNJR1NFR1YiLAkvKiAxMSAqLworCSJTSUdTWVMiLAkvKiAxMiAqLworCSJTSUdQSVBFIiwJLyogMTMgKi8KKwkiU0lHQUxSTSIsCS8qIDE0ICovCisJIlNJR1RFUk0iLAkvKiAxNSAqLworCSJTSUdVU1IxIiwJLyogMTYgKi8KKwkiU0lHVVNSMiIsCS8qIDE3ICovCisJIlNJR0NITEQiLAkvKiAxOCAqLworCSJTSUdQV1IiLAkvKiAxOSAqLworCSJTSUdXSU5DSCIsCS8qIDIwICovCisJIlNJR1VSRyIsCS8qIDIxICovCisJIlNJR0lPIiwJLyogMjIgKi8KKwkiU0lHU1RPUCIsCS8qIDIzICovCisJIlNJR1RTVFAiLAkvKiAyNCAqLworCSJTSUdDT05UIiwJLyogMjUgKi8KKwkiU0lHVFRJTiIsCS8qIDI2ICovCisJIlNJR1RUT1UiLAkvKiAyNyAqLworCSJTSUdWVEFMUk0iLAkvKiAyOCAqLworCSJTSUdQUk9GIiwJLyogMjkgKi8KKwkiU0lHWENQVSIsCS8qIDMwICovCisJIlNJR1hGU1oiLAkvKiAzMSAqLwpkaWZmIC0tZ2l0IGEvc3RyYWNlLTQuNS4yMC9saW51eC9taXBzL3N5c2NhbGxlbnQuaCBiL3N0cmFjZS00LjUuMjAvbGludXgvbWlwcy9zeXNjYWxsZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTJmZTUwOQotLS0gL2Rldi9udWxsCisrKyBiL3N0cmFjZS00LjUuMjAvbGludXgvbWlwcy9zeXNjYWxsZW50LmgKQEAgLTAsMCArMSw3Nzg3IEBACisjaW5jbHVkZSAiZHVtbXkuaCIKKworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN2cjRfc3lzY2FsbCIJfSwgLyogIDAwMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN2cjRfZXhpdCIJfSwgLyogIDAwMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN2cjRfZm9yayIJfSwgLyogIDAwMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN2cjRfcmVhZCIJfSwgLyogIDAwMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN2cjRfd3JpdGUiCX0sIC8qICAwMDQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzdnI0X29wZW4iCX0sIC8qICAwMDUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzdnI0X2Nsb3NlIgl9LCAvKiAgMDA2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3ZyNF93YWl0Igl9LCAvKiAgMDA3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3ZyNF9jcmVhdCIJfSwgLyogIDAwOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN2cjRfbGluayIJfSwgLyogIDAwOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN2cjRfdW5saW5rIgl9LCAvKiAgMDEwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3ZyNF9leGVjIgl9LCAvKiAgMDExICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3ZyNF9jaGRpciIJfSwgLyogIDAxMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN2cjRfZ3RpbWUiCX0sIC8qICAwMTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzdnI0X21rbm9kIgl9LCAvKiAgMDE0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3ZyNF9jaG1vZCIJfSwgLyogIDAxNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN2cjRfY2hvd24iCX0sIC8qICAwMTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzdnI0X3NicmVhayIJfSwgLyogIDAxNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN2cjRfc3RhdCIJfSwgLyogIDAxOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN2cjRfbHNlZWsiCX0sIC8qICAwMTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzdnI0X2dldHBpZCIJfSwgLyogIDAyMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN2cjRfbW91bnQiCX0sIC8qICAwMjEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzdnI0X3Vtb3VudCIJfSwgLyogIDAyMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN2cjRfc2V0dWlkIgl9LCAvKiAgMDIzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3ZyNF9nZXR1aWQiCX0sIC8qICAwMjQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzdnI0X3N0aW1lIgl9LCAvKiAgMDI1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3ZyNF9wdHJhY2UiCX0sIC8qICAwMjYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzdnI0X2FsYXJtIgl9LCAvKiAgMDI3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3ZyNF9mc3RhdCIJfSwgLyogIDAyOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN2cjRfcGF1c2UiCX0sIC8qICAwMjkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzdnI0X3V0aW1lIgl9LCAvKiAgMDMwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3ZyNF9zdHR5Igl9LCAvKiAgMDMxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3ZyNF9ndHR5Igl9LCAvKiAgMDMyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3ZyNF9hY2Nlc3MiCX0sIC8qICAwMzMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzdnI0X25pY2UiCX0sIC8qICAwMzQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzdnI0X3N0YXRmcyIJfSwgLyogIDAzNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN2cjRfc3luYyIJfSwgLyogIDAzNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN2cjRfa2lsbCIJfSwgLyogIDAzNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN2cjRfZnN0YXRmcyIJfSwgLyogIDAzOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN2cjRfc2V0cGdycCIJfSwgLyogIDAzOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN2cjRfY3hlbml4Igl9LCAvKiAgMDQwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3ZyNF9kdXAiCX0sIC8qICAwNDEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzdnI0X3BpcGUiCX0sIC8qICAwNDIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzdnI0X3RpbWVzIgl9LCAvKiAgMDQzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3ZyNF9wcm9maWwiCX0sIC8qICAwNDQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzdnI0X3Bsb2NrIgl9LCAvKiAgMDQ1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3ZyNF9zZXRnaWQiCX0sIC8qICAwNDYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzdnI0X2dldGdpZCIJfSwgLyogIDA0NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN2cjRfc2lnIgl9LCAvKiAgMDQ4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3ZyNF9tc2dzeXMiCX0sIC8qICAwNDkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzdnI0X3N5c21pcHMiCX0sIC8qICAwNTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzdnI0X3N5c2FjY3QiCX0sIC8qICAwNTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzdnI0X3NobXN5cyIJfSwgLyogIDA1MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN2cjRfc2Vtc3lzIgl9LCAvKiAgMDUzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3ZyNF9pb2N0bCIJfSwgLyogIDA1NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN2cjRfdWFkbWluIgl9LCAvKiAgMDU1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3ZyNF9leGNoIgl9LCAvKiAgMDU2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3ZyNF91dHNzeXMiCX0sIC8qICAwNTcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzdnI0X2ZzeW5jIgl9LCAvKiAgMDU4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3ZyNF9leGVjZSIJfSwgLyogIDA1OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN2cjRfdW1hc2siCX0sIC8qICAwNjAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzdnI0X2Nocm9vdCIJfSwgLyogIDA2MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN2cjRfZmNudGwiCX0sIC8qICAwNjIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzdnI0X3VsaW1pdCIJfSwgLyogIDA2MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NCIsCX0sIC8qICAwNjQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjUiLAl9LCAvKiAgMDY1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY2IiwJfSwgLyogIDA2NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NyIsCX0sIC8qICAwNjcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjgiLAl9LCAvKiAgMDY4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY5IiwJfSwgLyogIDA2OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN2cjRfYWR2ZnMiCX0sIC8qICAwNzAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzdnI0X3VuYWR2ZnMiCX0sIC8qICAwNzEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNzIiLAl9LCAvKiAgMDcyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzczIiwJfSwgLyogIDA3MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN2cjRfcmZzdGFydCIJfSwgLyogIDA3NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU183NSIsCX0sIC8qICAwNzUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzdnI0X3JkZWJ1ZyIJfSwgLyogIDA3NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN2cjRfcmZzdG9wIgl9LCAvKiAgMDc3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3ZyNF9yZnN5cyIJfSwgLyogIDA3OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN2cjRfcm1kaXIiCX0sIC8qICAwNzkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzdnI0X21rZGlyIgl9LCAvKiAgMDgwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3ZyNF9nZXRkZW50cyIJfSwgLyogIDA4MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN2cjRfbGliYXR0YWNoIgl9LCAvKiAgMDgyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3ZyNF9saWJkZXRhY2giCX0sIC8qICAwODMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzdnI0X3N5c2ZzIgl9LCAvKiAgMDg0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3ZyNF9nZXRtc2ciCX0sIC8qICAwODUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzdnI0X3B1dG1zZyIJfSwgLyogIDA4NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN2cjRfcG9sbCIJfSwgLyogIDA4NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN2cjRfbHN0YXQiCX0sIC8qICAwODggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzdnI0X3N5bWxpbmsiCX0sIC8qICAwODkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzdnI0X3JlYWRsaW5rIgl9LCAvKiAgMDkwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3ZyNF9zZXRncm91cHMiCX0sIC8qICAwOTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzdnI0X2dldGdyb3VwcyIJfSwgLyogIDA5MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN2cjRfZmNobW9kIgl9LCAvKiAgMDkzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3ZyNF9mY2hvd24iCX0sIC8qICAwOTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzdnI0X3NpZ3Byb2NtYXNrIgl9LCAvKiAgMDk1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3ZyNF9zaWdzdXNwZW5kIgl9LCAvKiAgMDk2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3ZyNF9zaWdhbHRzdGFjayIJfSwgLyogIDA5NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN2cjRfc2lnYWN0aW9uIgl9LCAvKiAgMDk4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3ZyNF9zaWdwZW5kaW5nIgl9LCAvKiAgMDk5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3ZyNF9zZXRjb250ZXh0Igl9LCAvKiAgMDEwMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN2cjRfZXZzeXMiCX0sIC8qICAwMTAxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3ZyNF9ldnRyYXByZXQiCX0sIC8qICAwMTAyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3ZyNF9zdGF0dmZzIgl9LCAvKiAgMDEwMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN2cjRfZnN0YXR2ZnMiCX0sIC8qICAwMTA0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEwNSIsCX0sIC8qIDEwNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN2cjRfbmZzc3lzIgl9LCAvKiAgMDEwNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN2cjRfd2FpdGlkIgl9LCAvKiAgMDEwNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN2cjRfc2lnc2VuZHNldCIJfSwgLyogIDAxMDggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzdnI0X2hydHN5cyIJfSwgLyogIDAxMDkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzdnI0X2FjYW5jZWwiCX0sIC8qICAwMTEwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3ZyNF9hc3luYyIJfSwgLyogIDAxMTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzdnI0X3ByaW9jbnRsc2V0Igl9LCAvKiAgMDExMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN2cjRfcGF0aGNvbmYiCX0sIC8qICAwMTEzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3ZyNF9taW5jb3JlIgl9LCAvKiAgMDExNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN2cjRfbW1hcCIJfSwgLyogIDAxMTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzdnI0X21wcm90ZWN0Igl9LCAvKiAgMDExNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN2cjRfbXVubWFwIgl9LCAvKiAgMDExNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN2cjRfZnBhdGhjb25mIgl9LCAvKiAgMDExOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN2cjRfdmZvcmsiCX0sIC8qICAwMTE5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3ZyNF9mY2hkaXIiCX0sIC8qICAwMTIwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3ZyNF9yZWFkdiIJfSwgLyogIDAxMjEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzdnI0X3dyaXRldiIJfSwgLyogIDAxMjIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzdnI0X3hzdGF0Igl9LCAvKiAgMDEyMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN2cjRfbHhzdGF0Igl9LCAvKiAgMDEyNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN2cjRfZnhzdGF0Igl9LCAvKiAgMDEyNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN2cjRfeG1rbm9kIgl9LCAvKiAgMDEyNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN2cjRfY2xvY2FsIgl9LCAvKiAgMDEyNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN2cjRfc2V0cmxpbWl0Igl9LCAvKiAgMDEyOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN2cjRfZ2V0cmxpbWl0Igl9LCAvKiAgMDEyOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN2cjRfbGNob3duIgl9LCAvKiAgMDEzMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN2cjRfbWVtY250bCIJfSwgLyogIDAxMzEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzdnI0X2dldHBtc2ciCX0sIC8qICAwMTMyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3ZyNF9wdXRwbXNnIgl9LCAvKiAgMDEzMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN2cjRfcmVuYW1lIgl9LCAvKiAgMDEzNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN2cjRfbnVuYW1lIgl9LCAvKiAgMDEzNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN2cjRfc2V0ZWdpZCIJfSwgLyogIDAxMzYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzdnI0X3N5c2NvbmYiCX0sIC8qICAwMTM3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3ZyNF9hZGp0aW1lIgl9LCAvKiAgMDEzOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN2cjRfc3lzaW5mbyIJfSwgLyogIDAxMzkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTQwIiwJfSwgLyogMTQwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3ZyNF9zZXRldWlkIgl9LCAvKiAgMDE0MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN2cjRfUFlSQU1JRF9zdGF0aXMiCX0sIC8qICAwMTQyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3ZyNF9QWVJBTUlEX3R1bmluZyIJfSwgLyogIDAxNDMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzdnI0X1BZUkFNSURfZm9yY2VyciIJfSwgLyogIDAxNDQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzdnI0X1BZUkFNSURfbXBjbnRsIgl9LCAvKiAgMDE0NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNDYiLAl9LCAvKiAxNDYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTQ3IiwJfSwgLyogMTQ3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE0OCIsCX0sIC8qIDE0OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNDkiLAl9LCAvKiAxNDkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTUwIiwJfSwgLyogMTUwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE1MSIsCX0sIC8qIDE1MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNTIiLAl9LCAvKiAxNTIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTUzIiwJfSwgLyogMTUzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE1NCIsCX0sIC8qIDE1NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNTUiLAl9LCAvKiAxNTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTU2IiwJfSwgLyogMTU2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE1NyIsCX0sIC8qIDE1NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNTgiLAl9LCAvKiAxNTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTU5IiwJfSwgLyogMTU5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE2MCIsCX0sIC8qIDE2MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNjEiLAl9LCAvKiAxNjEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTYyIiwJfSwgLyogMTYyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE2MyIsCX0sIC8qIDE2MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNjQiLAl9LCAvKiAxNjQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTY1IiwJfSwgLyogMTY1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE2NiIsCX0sIC8qIDE2NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNjciLAl9LCAvKiAxNjcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTY4IiwJfSwgLyogMTY4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE2OSIsCX0sIC8qIDE2OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNzAiLAl9LCAvKiAxNzAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTcxIiwJfSwgLyogMTcxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE3MiIsCX0sIC8qIDE3MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNzMiLAl9LCAvKiAxNzMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTc0IiwJfSwgLyogMTc0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE3NSIsCX0sIC8qIDE3NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNzYiLAl9LCAvKiAxNzYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTc3IiwJfSwgLyogMTc3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE3OCIsCX0sIC8qIDE3OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNzkiLAl9LCAvKiAxNzkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTgwIiwJfSwgLyogMTgwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE4MSIsCX0sIC8qIDE4MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xODIiLAl9LCAvKiAxODIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTgzIiwJfSwgLyogMTgzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE4NCIsCX0sIC8qIDE4NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xODUiLAl9LCAvKiAxODUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTg2IiwJfSwgLyogMTg2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE4NyIsCX0sIC8qIDE4NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xODgiLAl9LCAvKiAxODggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTg5IiwJfSwgLyogMTg5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE5MCIsCX0sIC8qIDE5MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xOTEiLAl9LCAvKiAxOTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTkyIiwJfSwgLyogMTkyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE5MyIsCX0sIC8qIDE5MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xOTQiLAl9LCAvKiAxOTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTk1IiwJfSwgLyogMTk1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE5NiIsCX0sIC8qIDE5NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xOTciLAl9LCAvKiAxOTcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTk4IiwJfSwgLyogMTk4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE5OSIsCX0sIC8qIDE5OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMDAiLAl9LCAvKiAyMDAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzdnI0X2FyZWFkIgl9LCAvKiAgMDIwMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN2cjRfYXdyaXRlIgl9LCAvKiAgMDIwMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN2cjRfbGlzdGlvIgl9LCAvKiAgMDIwMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN2cjRfbWlwc19hY2FuY2VsIgl9LCAvKiAgMDIwNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN2cjRfYXN0YXR1cyIJfSwgLyogIDAyMDUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzdnI0X2F3YWl0Igl9LCAvKiAgMDIwNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN2cjRfYXJlYWR2Igl9LCAvKiAgMDIwNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN2cjRfYXdyaXRldiIJfSwgLyogIDAyMDggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjA5IiwJfSwgLyogMjA5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIxMCIsCX0sIC8qIDIxMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMTEiLAl9LCAvKiAyMTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjEyIiwJfSwgLyogMjEyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIxMyIsCX0sIC8qIDIxMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMTQiLAl9LCAvKiAyMTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjE1IiwJfSwgLyogMjE1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIxNiIsCX0sIC8qIDIxNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMTciLAl9LCAvKiAyMTcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjE4IiwJfSwgLyogMjE4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIxOSIsCX0sIC8qIDIxOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMjAiLAl9LCAvKiAyMjAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjIxIiwJfSwgLyogMjIxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIyMiIsCX0sIC8qIDIyMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMjMiLAl9LCAvKiAyMjMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjI0IiwJfSwgLyogMjI0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIyNSIsCX0sIC8qIDIyNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMjYiLAl9LCAvKiAyMjYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjI3IiwJfSwgLyogMjI3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIyOCIsCX0sIC8qIDIyOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMjkiLAl9LCAvKiAyMjkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjMwIiwJfSwgLyogMjMwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIzMSIsCX0sIC8qIDIzMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMzIiLAl9LCAvKiAyMzIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjMzIiwJfSwgLyogMjMzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIzNCIsCX0sIC8qIDIzNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMzUiLAl9LCAvKiAyMzUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjM2IiwJfSwgLyogMjM2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIzNyIsCX0sIC8qIDIzNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMzgiLAl9LCAvKiAyMzggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjM5IiwJfSwgLyogMjM5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI0MCIsCX0sIC8qIDI0MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNDEiCX0sIC8qICAyNDEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjQyIgl9LCAvKiAgMjQyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI0MyIJfSwgLyogIDI0MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNDQiCX0sIC8qICAyNDQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjQ1Igl9LCAvKiAgMjQ1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI0NiIJfSwgLyogIDI0NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNDciCX0sIC8qICAyNDcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjQ4Igl9LCAvKiAgMjQ4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI0OSIJfSwgLyogIDI0OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNTAiCX0sIC8qICAyNTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjUxIgl9LCAvKiAgMjUxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI1MiIJfSwgLyogIDI1MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNTMiCX0sIC8qICAyNTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjU0Igl9LCAvKiAgMjU0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI1NSIJfSwgLyogIDI1NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNTYiCX0sIC8qICAyNTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjU3Igl9LCAvKiAgMjU3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI1OCIJfSwgLyogIDI1OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNTkiCX0sIC8qICAyNTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjYwIgl9LCAvKiAgMjYwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI2MSIJfSwgLyogIDI2MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNjIiCX0sIC8qICAyNjIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjYzIgl9LCAvKiAgMjYzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI2NCIJfSwgLyogIDI2NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNjUiCX0sIC8qICAyNjUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjY2Igl9LCAvKiAgMjY2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI2NyIJfSwgLyogIDI2NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNjgiCX0sIC8qICAyNjggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjY5Igl9LCAvKiAgMjY5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI3MCIJfSwgLyogIDI3MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNzEiCX0sIC8qICAyNzEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjcyIgl9LCAvKiAgMjcyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI3MyIJfSwgLyogIDI3MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNzQiCX0sIC8qICAyNzQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjc1Igl9LCAvKiAgMjc1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI3NiIJfSwgLyogIDI3NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNzciCX0sIC8qICAyNzcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjc4Igl9LCAvKiAgMjc4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI3OSIJfSwgLyogIDI3OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yODAiCX0sIC8qICAyODAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjgxIgl9LCAvKiAgMjgxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI4MiIJfSwgLyogIDI4MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yODMiCX0sIC8qICAyODMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjg0Igl9LCAvKiAgMjg0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI4NSIJfSwgLyogIDI4NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yODYiCX0sIC8qICAyODYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjg3Igl9LCAvKiAgMjg3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI4OCIJfSwgLyogIDI4OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yODkiCX0sIC8qICAyODkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjkwIgl9LCAvKiAgMjkwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI5MSIJfSwgLyogIDI5MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yOTIiCX0sIC8qICAyOTIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjkzIgl9LCAvKiAgMjkzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI5NCIJfSwgLyogIDI5NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yOTUiCX0sIC8qICAyOTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjk2Igl9LCAvKiAgMjk2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI5NyIJfSwgLyogIDI5NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yOTgiCX0sIC8qICAyOTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjk5Igl9LCAvKiAgMjk5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMwMCIJfSwgLyogIDMwMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMDEiCX0sIC8qICAzMDEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzAyIgl9LCAvKiAgMzAyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMwMyIJfSwgLyogIDMwMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMDQiCX0sIC8qICAzMDQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzA1Igl9LCAvKiAgMzA1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMwNiIJfSwgLyogIDMwNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMDciCX0sIC8qICAzMDcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzA4Igl9LCAvKiAgMzA4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMwOSIJfSwgLyogIDMwOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMTAiCX0sIC8qICAzMTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzExIgl9LCAvKiAgMzExICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMxMiIJfSwgLyogIDMxMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMTMiCX0sIC8qICAzMTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzE0Igl9LCAvKiAgMzE0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMxNSIJfSwgLyogIDMxNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMTYiCX0sIC8qICAzMTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzE3Igl9LCAvKiAgMzE3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMxOCIJfSwgLyogIDMxOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMTkiCX0sIC8qICAzMTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzIwIgl9LCAvKiAgMzIwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyMSIJfSwgLyogIDMyMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMjIiCX0sIC8qICAzMjIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzIzIgl9LCAvKiAgMzIzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyNCIJfSwgLyogIDMyNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMjUiCX0sIC8qICAzMjUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzI2Igl9LCAvKiAgMzI2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyNyIJfSwgLyogIDMyNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMjgiCX0sIC8qICAzMjggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzI5Igl9LCAvKiAgMzI5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMzMCIJfSwgLyogIDMzMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMzEiCX0sIC8qICAzMzEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzMyIgl9LCAvKiAgMzMyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMzMyIJfSwgLyogIDMzMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMzQiCX0sIC8qICAzMzQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzM1Igl9LCAvKiAgMzM1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMzNiIJfSwgLyogIDMzNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMzciCX0sIC8qICAzMzcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzM4Igl9LCAvKiAgMzM4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMzOSIJfSwgLyogIDMzOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNDAiCX0sIC8qICAzNDAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzQxIgl9LCAvKiAgMzQxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0MiIJfSwgLyogIDM0MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNDMiCX0sIC8qICAzNDMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzQ0Igl9LCAvKiAgMzQ0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0NSIJfSwgLyogIDM0NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNDYiCX0sIC8qICAzNDYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzQ3Igl9LCAvKiAgMzQ3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0OCIJfSwgLyogIDM0OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNDkiCX0sIC8qICAzNDkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzUwIgl9LCAvKiAgMzUwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1MSIJfSwgLyogIDM1MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNTIiCX0sIC8qICAzNTIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzUzIgl9LCAvKiAgMzUzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1NCIJfSwgLyogIDM1NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNTUiCX0sIC8qICAzNTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzU2Igl9LCAvKiAgMzU2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1NyIJfSwgLyogIDM1NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNTgiCX0sIC8qICAzNTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzU5Igl9LCAvKiAgMzU5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2MCIJfSwgLyogIDM2MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNjEiCX0sIC8qICAzNjEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzYyIgl9LCAvKiAgMzYyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2MyIJfSwgLyogIDM2MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNjQiCX0sIC8qICAzNjQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzY1Igl9LCAvKiAgMzY1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2NiIJfSwgLyogIDM2NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNjciCX0sIC8qICAzNjcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzY4Igl9LCAvKiAgMzY4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2OSIJfSwgLyogIDM2OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNzAiCX0sIC8qICAzNzAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzcxIgl9LCAvKiAgMzcxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3MiIJfSwgLyogIDM3MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNzMiCX0sIC8qICAzNzMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzc0Igl9LCAvKiAgMzc0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3NSIJfSwgLyogIDM3NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNzYiCX0sIC8qICAzNzYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzc3Igl9LCAvKiAgMzc3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3OCIJfSwgLyogIDM3OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNzkiCX0sIC8qICAzNzkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzgwIgl9LCAvKiAgMzgwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4MSIJfSwgLyogIDM4MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zODIiCX0sIC8qICAzODIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzgzIgl9LCAvKiAgMzgzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4NCIJfSwgLyogIDM4NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zODUiCX0sIC8qICAzODUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzg2Igl9LCAvKiAgMzg2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4NyIJfSwgLyogIDM4NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zODgiCX0sIC8qICAzODggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzg5Igl9LCAvKiAgMzg5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5MCIJfSwgLyogIDM5MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zOTEiCX0sIC8qICAzOTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzkyIgl9LCAvKiAgMzkyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5MyIJfSwgLyogIDM5MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zOTQiCX0sIC8qICAzOTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzk1Igl9LCAvKiAgMzk1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5NiIJfSwgLyogIDM5NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zOTciCX0sIC8qICAzOTcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzk4Igl9LCAvKiAgMzk4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5OSIJfSwgLyogIDM5OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180MDAiCX0sIC8qICA0MDAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDAxIgl9LCAvKiAgNDAxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQwMiIJfSwgLyogIDQwMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180MDMiCX0sIC8qICA0MDMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDA0Igl9LCAvKiAgNDA0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQwNSIJfSwgLyogIDQwNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180MDYiCX0sIC8qICA0MDYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDA3Igl9LCAvKiAgNDA3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQwOCIJfSwgLyogIDQwOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180MDkiCX0sIC8qICA0MDkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDEwIgl9LCAvKiAgNDEwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQxMSIJfSwgLyogIDQxMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180MTIiCX0sIC8qICA0MTIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDEzIgl9LCAvKiAgNDEzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQxNCIJfSwgLyogIDQxNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180MTUiCX0sIC8qICA0MTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDE2Igl9LCAvKiAgNDE2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQxNyIJfSwgLyogIDQxNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180MTgiCX0sIC8qICA0MTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDE5Igl9LCAvKiAgNDE5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQyMCIJfSwgLyogIDQyMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180MjEiCX0sIC8qICA0MjEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDIyIgl9LCAvKiAgNDIyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQyMyIJfSwgLyogIDQyMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180MjQiCX0sIC8qICA0MjQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDI1Igl9LCAvKiAgNDI1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQyNiIJfSwgLyogIDQyNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180MjciCX0sIC8qICA0MjcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDI4Igl9LCAvKiAgNDI4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQyOSIJfSwgLyogIDQyOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180MzAiCX0sIC8qICA0MzAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDMxIgl9LCAvKiAgNDMxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQzMiIJfSwgLyogIDQzMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180MzMiCX0sIC8qICA0MzMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDM0Igl9LCAvKiAgNDM0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQzNSIJfSwgLyogIDQzNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180MzYiCX0sIC8qICA0MzYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDM3Igl9LCAvKiAgNDM3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQzOCIJfSwgLyogIDQzOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180MzkiCX0sIC8qICA0MzkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDQwIgl9LCAvKiAgNDQwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ0MSIJfSwgLyogIDQ0MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NDIiCX0sIC8qICA0NDIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDQzIgl9LCAvKiAgNDQzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ0NCIJfSwgLyogIDQ0NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NDUiCX0sIC8qICA0NDUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDQ2Igl9LCAvKiAgNDQ2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ0NyIJfSwgLyogIDQ0NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NDgiCX0sIC8qICA0NDggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDQ5Igl9LCAvKiAgNDQ5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ1MCIJfSwgLyogIDQ1MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NTEiCX0sIC8qICA0NTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDUyIgl9LCAvKiAgNDUyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ1MyIJfSwgLyogIDQ1MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NTQiCX0sIC8qICA0NTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDU1Igl9LCAvKiAgNDU1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ1NiIJfSwgLyogIDQ1NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NTciCX0sIC8qICA0NTcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDU4Igl9LCAvKiAgNDU4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ1OSIJfSwgLyogIDQ1OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NjAiCX0sIC8qICA0NjAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDYxIgl9LCAvKiAgNDYxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ2MiIJfSwgLyogIDQ2MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NjMiCX0sIC8qICA0NjMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDY0Igl9LCAvKiAgNDY0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ2NSIJfSwgLyogIDQ2NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NjYiCX0sIC8qICA0NjYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDY3Igl9LCAvKiAgNDY3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ2OCIJfSwgLyogIDQ2OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NjkiCX0sIC8qICA0NjkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDcwIgl9LCAvKiAgNDcwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ3MSIJfSwgLyogIDQ3MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NzIiCX0sIC8qICA0NzIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDczIgl9LCAvKiAgNDczICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ3NCIJfSwgLyogIDQ3NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NzUiCX0sIC8qICA0NzUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDc2Igl9LCAvKiAgNDc2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ3NyIJfSwgLyogIDQ3NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NzgiCX0sIC8qICA0NzggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDc5Igl9LCAvKiAgNDc5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ4MCIJfSwgLyogIDQ4MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180ODEiCX0sIC8qICA0ODEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDgyIgl9LCAvKiAgNDgyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ4MyIJfSwgLyogIDQ4MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180ODQiCX0sIC8qICA0ODQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDg1Igl9LCAvKiAgNDg1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ4NiIJfSwgLyogIDQ4NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180ODciCX0sIC8qICA0ODcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDg4Igl9LCAvKiAgNDg4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ4OSIJfSwgLyogIDQ4OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180OTAiCX0sIC8qICA0OTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDkxIgl9LCAvKiAgNDkxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ5MiIJfSwgLyogIDQ5MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180OTMiCX0sIC8qICA0OTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDk0Igl9LCAvKiAgNDk0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ5NSIJfSwgLyogIDQ5NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180OTYiCX0sIC8qICA0OTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDk3Igl9LCAvKiAgNDk3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ5OCIJfSwgLyogIDQ5OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180OTkiCX0sIC8qICA0OTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTAwIgl9LCAvKiAgNTAwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUwMSIJfSwgLyogIDUwMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MDIiCX0sIC8qICA1MDIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTAzIgl9LCAvKiAgNTAzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUwNCIJfSwgLyogIDUwNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MDUiCX0sIC8qICA1MDUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTA2Igl9LCAvKiAgNTA2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUwNyIJfSwgLyogIDUwNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MDgiCX0sIC8qICA1MDggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTA5Igl9LCAvKiAgNTA5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUxMCIJfSwgLyogIDUxMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MTEiCX0sIC8qICA1MTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTEyIgl9LCAvKiAgNTEyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUxMyIJfSwgLyogIDUxMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MTQiCX0sIC8qICA1MTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTE1Igl9LCAvKiAgNTE1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUxNiIJfSwgLyogIDUxNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MTciCX0sIC8qICA1MTcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTE4Igl9LCAvKiAgNTE4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUxOSIJfSwgLyogIDUxOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MjAiCX0sIC8qICA1MjAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTIxIgl9LCAvKiAgNTIxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUyMiIJfSwgLyogIDUyMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MjMiCX0sIC8qICA1MjMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTI0Igl9LCAvKiAgNTI0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUyNSIJfSwgLyogIDUyNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MjYiCX0sIC8qICA1MjYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTI3Igl9LCAvKiAgNTI3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUyOCIJfSwgLyogIDUyOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MjkiCX0sIC8qICA1MjkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTMwIgl9LCAvKiAgNTMwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUzMSIJfSwgLyogIDUzMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MzIiCX0sIC8qICA1MzIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTMzIgl9LCAvKiAgNTMzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUzNCIJfSwgLyogIDUzNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MzUiCX0sIC8qICA1MzUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTM2Igl9LCAvKiAgNTM2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUzNyIJfSwgLyogIDUzNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MzgiCX0sIC8qICA1MzggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTM5Igl9LCAvKiAgNTM5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU0MCIJfSwgLyogIDU0MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NDEiCX0sIC8qICA1NDEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTQyIgl9LCAvKiAgNTQyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU0MyIJfSwgLyogIDU0MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NDQiCX0sIC8qICA1NDQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTQ1Igl9LCAvKiAgNTQ1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU0NiIJfSwgLyogIDU0NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NDciCX0sIC8qICA1NDcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTQ4Igl9LCAvKiAgNTQ4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU0OSIJfSwgLyogIDU0OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NTAiCX0sIC8qICA1NTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTUxIgl9LCAvKiAgNTUxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU1MiIJfSwgLyogIDU1MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NTMiCX0sIC8qICA1NTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTU0Igl9LCAvKiAgNTU0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU1NSIJfSwgLyogIDU1NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NTYiCX0sIC8qICA1NTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTU3Igl9LCAvKiAgNTU3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU1OCIJfSwgLyogIDU1OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NTkiCX0sIC8qICA1NTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTYwIgl9LCAvKiAgNTYwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU2MSIJfSwgLyogIDU2MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NjIiCX0sIC8qICA1NjIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTYzIgl9LCAvKiAgNTYzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU2NCIJfSwgLyogIDU2NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NjUiCX0sIC8qICA1NjUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTY2Igl9LCAvKiAgNTY2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU2NyIJfSwgLyogIDU2NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NjgiCX0sIC8qICA1NjggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTY5Igl9LCAvKiAgNTY5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU3MCIJfSwgLyogIDU3MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NzEiCX0sIC8qICA1NzEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTcyIgl9LCAvKiAgNTcyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU3MyIJfSwgLyogIDU3MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NzQiCX0sIC8qICA1NzQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTc1Igl9LCAvKiAgNTc1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU3NiIJfSwgLyogIDU3NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NzciCX0sIC8qICA1NzcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTc4Igl9LCAvKiAgNTc4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU3OSIJfSwgLyogIDU3OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181ODAiCX0sIC8qICA1ODAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTgxIgl9LCAvKiAgNTgxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU4MiIJfSwgLyogIDU4MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181ODMiCX0sIC8qICA1ODMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTg0Igl9LCAvKiAgNTg0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU4NSIJfSwgLyogIDU4NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181ODYiCX0sIC8qICA1ODYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTg3Igl9LCAvKiAgNTg3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU4OCIJfSwgLyogIDU4OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181ODkiCX0sIC8qICA1ODkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTkwIgl9LCAvKiAgNTkwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU5MSIJfSwgLyogIDU5MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181OTIiCX0sIC8qICA1OTIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTkzIgl9LCAvKiAgNTkzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU5NCIJfSwgLyogIDU5NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181OTUiCX0sIC8qICA1OTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTk2Igl9LCAvKiAgNTk2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU5NyIJfSwgLyogIDU5NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181OTgiCX0sIC8qICA1OTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTk5Igl9LCAvKiAgNTk5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYwMCIJfSwgLyogIDYwMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182MDEiCX0sIC8qICA2MDEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjAyIgl9LCAvKiAgNjAyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYwMyIJfSwgLyogIDYwMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182MDQiCX0sIC8qICA2MDQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjA1Igl9LCAvKiAgNjA1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYwNiIJfSwgLyogIDYwNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182MDciCX0sIC8qICA2MDcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjA4Igl9LCAvKiAgNjA4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYwOSIJfSwgLyogIDYwOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182MTAiCX0sIC8qICA2MTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjExIgl9LCAvKiAgNjExICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYxMiIJfSwgLyogIDYxMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182MTMiCX0sIC8qICA2MTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjE0Igl9LCAvKiAgNjE0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYxNSIJfSwgLyogIDYxNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182MTYiCX0sIC8qICA2MTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjE3Igl9LCAvKiAgNjE3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYxOCIJfSwgLyogIDYxOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182MTkiCX0sIC8qICA2MTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjIwIgl9LCAvKiAgNjIwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYyMSIJfSwgLyogIDYyMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182MjIiCX0sIC8qICA2MjIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjIzIgl9LCAvKiAgNjIzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYyNCIJfSwgLyogIDYyNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182MjUiCX0sIC8qICA2MjUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjI2Igl9LCAvKiAgNjI2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYyNyIJfSwgLyogIDYyNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182MjgiCX0sIC8qICA2MjggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjI5Igl9LCAvKiAgNjI5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYzMCIJfSwgLyogIDYzMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182MzEiCX0sIC8qICA2MzEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjMyIgl9LCAvKiAgNjMyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYzMyIJfSwgLyogIDYzMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182MzQiCX0sIC8qICA2MzQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjM1Igl9LCAvKiAgNjM1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYzNiIJfSwgLyogIDYzNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182MzciCX0sIC8qICA2MzcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjM4Igl9LCAvKiAgNjM4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYzOSIJfSwgLyogIDYzOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NDAiCX0sIC8qICA2NDAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjQxIgl9LCAvKiAgNjQxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY0MiIJfSwgLyogIDY0MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NDMiCX0sIC8qICA2NDMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjQ0Igl9LCAvKiAgNjQ0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY0NSIJfSwgLyogIDY0NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NDYiCX0sIC8qICA2NDYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjQ3Igl9LCAvKiAgNjQ3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY0OCIJfSwgLyogIDY0OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NDkiCX0sIC8qICA2NDkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjUwIgl9LCAvKiAgNjUwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY1MSIJfSwgLyogIDY1MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NTIiCX0sIC8qICA2NTIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjUzIgl9LCAvKiAgNjUzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY1NCIJfSwgLyogIDY1NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NTUiCX0sIC8qICA2NTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjU2Igl9LCAvKiAgNjU2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY1NyIJfSwgLyogIDY1NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NTgiCX0sIC8qICA2NTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjU5Igl9LCAvKiAgNjU5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY2MCIJfSwgLyogIDY2MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NjEiCX0sIC8qICA2NjEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjYyIgl9LCAvKiAgNjYyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY2MyIJfSwgLyogIDY2MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NjQiCX0sIC8qICA2NjQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjY1Igl9LCAvKiAgNjY1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY2NiIJfSwgLyogIDY2NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NjciCX0sIC8qICA2NjcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjY4Igl9LCAvKiAgNjY4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY2OSIJfSwgLyogIDY2OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NzAiCX0sIC8qICA2NzAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjcxIgl9LCAvKiAgNjcxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY3MiIJfSwgLyogIDY3MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NzMiCX0sIC8qICA2NzMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjc0Igl9LCAvKiAgNjc0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY3NSIJfSwgLyogIDY3NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NzYiCX0sIC8qICA2NzYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjc3Igl9LCAvKiAgNjc3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY3OCIJfSwgLyogIDY3OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NzkiCX0sIC8qICA2NzkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjgwIgl9LCAvKiAgNjgwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY4MSIJfSwgLyogIDY4MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182ODIiCX0sIC8qICA2ODIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjgzIgl9LCAvKiAgNjgzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY4NCIJfSwgLyogIDY4NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182ODUiCX0sIC8qICA2ODUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjg2Igl9LCAvKiAgNjg2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY4NyIJfSwgLyogIDY4NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182ODgiCX0sIC8qICA2ODggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjg5Igl9LCAvKiAgNjg5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY5MCIJfSwgLyogIDY5MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182OTEiCX0sIC8qICA2OTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjkyIgl9LCAvKiAgNjkyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY5MyIJfSwgLyogIDY5MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182OTQiCX0sIC8qICA2OTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjk1Igl9LCAvKiAgNjk1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY5NiIJfSwgLyogIDY5NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182OTciCX0sIC8qICA2OTcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjk4Igl9LCAvKiAgNjk4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY5OSIJfSwgLyogIDY5OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU183MDAiCX0sIC8qICA3MDAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNzAxIgl9LCAvKiAgNzAxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzcwMiIJfSwgLyogIDcwMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU183MDMiCX0sIC8qICA3MDMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNzA0Igl9LCAvKiAgNzA0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzcwNSIJfSwgLyogIDcwNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU183MDYiCX0sIC8qICA3MDYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNzA3Igl9LCAvKiAgNzA3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzcwOCIJfSwgLyogIDcwOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU183MDkiCX0sIC8qICA3MDkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNzEwIgl9LCAvKiAgNzEwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzcxMSIJfSwgLyogIDcxMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU183MTIiCX0sIC8qICA3MTIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNzEzIgl9LCAvKiAgNzEzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzcxNCIJfSwgLyogIDcxNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU183MTUiCX0sIC8qICA3MTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNzE2Igl9LCAvKiAgNzE2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzcxNyIJfSwgLyogIDcxNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU183MTgiCX0sIC8qICA3MTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNzE5Igl9LCAvKiAgNzE5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzcyMCIJfSwgLyogIDcyMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU183MjEiCX0sIC8qICA3MjEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNzIyIgl9LCAvKiAgNzIyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzcyMyIJfSwgLyogIDcyMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU183MjQiCX0sIC8qICA3MjQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNzI1Igl9LCAvKiAgNzI1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzcyNiIJfSwgLyogIDcyNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU183MjciCX0sIC8qICA3MjcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNzI4Igl9LCAvKiAgNzI4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzcyOSIJfSwgLyogIDcyOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU183MzAiCX0sIC8qICA3MzAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNzMxIgl9LCAvKiAgNzMxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzczMiIJfSwgLyogIDczMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU183MzMiCX0sIC8qICA3MzMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNzM0Igl9LCAvKiAgNzM0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzczNSIJfSwgLyogIDczNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU183MzYiCX0sIC8qICA3MzYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNzM3Igl9LCAvKiAgNzM3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzczOCIJfSwgLyogIDczOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU183MzkiCX0sIC8qICA3MzkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNzQwIgl9LCAvKiAgNzQwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzc0MSIJfSwgLyogIDc0MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU183NDIiCX0sIC8qICA3NDIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNzQzIgl9LCAvKiAgNzQzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzc0NCIJfSwgLyogIDc0NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU183NDUiCX0sIC8qICA3NDUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNzQ2Igl9LCAvKiAgNzQ2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzc0NyIJfSwgLyogIDc0NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU183NDgiCX0sIC8qICA3NDggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNzQ5Igl9LCAvKiAgNzQ5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzc1MCIJfSwgLyogIDc1MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU183NTEiCX0sIC8qICA3NTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNzUyIgl9LCAvKiAgNzUyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzc1MyIJfSwgLyogIDc1MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU183NTQiCX0sIC8qICA3NTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNzU1Igl9LCAvKiAgNzU1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzc1NiIJfSwgLyogIDc1NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU183NTciCX0sIC8qICA3NTcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNzU4Igl9LCAvKiAgNzU4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzc1OSIJfSwgLyogIDc1OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU183NjAiCX0sIC8qICA3NjAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNzYxIgl9LCAvKiAgNzYxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzc2MiIJfSwgLyogIDc2MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU183NjMiCX0sIC8qICA3NjMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNzY0Igl9LCAvKiAgNzY0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzc2NSIJfSwgLyogIDc2NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU183NjYiCX0sIC8qICA3NjYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNzY3Igl9LCAvKiAgNzY3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzc2OCIJfSwgLyogIDc2OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU183NjkiCX0sIC8qICA3NjkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNzcwIgl9LCAvKiAgNzcwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzc3MSIJfSwgLyogIDc3MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU183NzIiCX0sIC8qICA3NzIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNzczIgl9LCAvKiAgNzczICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzc3NCIJfSwgLyogIDc3NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU183NzUiCX0sIC8qICA3NzUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNzc2Igl9LCAvKiAgNzc2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzc3NyIJfSwgLyogIDc3NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU183NzgiCX0sIC8qICA3NzggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNzc5Igl9LCAvKiAgNzc5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzc4MCIJfSwgLyogIDc4MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU183ODEiCX0sIC8qICA3ODEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNzgyIgl9LCAvKiAgNzgyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzc4MyIJfSwgLyogIDc4MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU183ODQiCX0sIC8qICA3ODQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNzg1Igl9LCAvKiAgNzg1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzc4NiIJfSwgLyogIDc4NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU183ODciCX0sIC8qICA3ODcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNzg4Igl9LCAvKiAgNzg4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzc4OSIJfSwgLyogIDc4OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU183OTAiCX0sIC8qICA3OTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNzkxIgl9LCAvKiAgNzkxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzc5MiIJfSwgLyogIDc5MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU183OTMiCX0sIC8qICA3OTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNzk0Igl9LCAvKiAgNzk0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzc5NSIJfSwgLyogIDc5NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU183OTYiCX0sIC8qICA3OTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNzk3Igl9LCAvKiAgNzk3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzc5OCIJfSwgLyogIDc5OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU183OTkiCX0sIC8qICA3OTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfODAwIgl9LCAvKiAgODAwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzgwMSIJfSwgLyogIDgwMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU184MDIiCX0sIC8qICA4MDIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfODAzIgl9LCAvKiAgODAzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzgwNCIJfSwgLyogIDgwNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU184MDUiCX0sIC8qICA4MDUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfODA2Igl9LCAvKiAgODA2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzgwNyIJfSwgLyogIDgwNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU184MDgiCX0sIC8qICA4MDggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfODA5Igl9LCAvKiAgODA5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzgxMCIJfSwgLyogIDgxMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU184MTEiCX0sIC8qICA4MTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfODEyIgl9LCAvKiAgODEyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzgxMyIJfSwgLyogIDgxMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU184MTQiCX0sIC8qICA4MTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfODE1Igl9LCAvKiAgODE1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzgxNiIJfSwgLyogIDgxNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU184MTciCX0sIC8qICA4MTcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfODE4Igl9LCAvKiAgODE4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzgxOSIJfSwgLyogIDgxOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU184MjAiCX0sIC8qICA4MjAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfODIxIgl9LCAvKiAgODIxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzgyMiIJfSwgLyogIDgyMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU184MjMiCX0sIC8qICA4MjMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfODI0Igl9LCAvKiAgODI0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzgyNSIJfSwgLyogIDgyNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU184MjYiCX0sIC8qICA4MjYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfODI3Igl9LCAvKiAgODI3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzgyOCIJfSwgLyogIDgyOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU184MjkiCX0sIC8qICA4MjkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfODMwIgl9LCAvKiAgODMwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzgzMSIJfSwgLyogIDgzMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU184MzIiCX0sIC8qICA4MzIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfODMzIgl9LCAvKiAgODMzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzgzNCIJfSwgLyogIDgzNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU184MzUiCX0sIC8qICA4MzUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfODM2Igl9LCAvKiAgODM2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzgzNyIJfSwgLyogIDgzNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU184MzgiCX0sIC8qICA4MzggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfODM5Igl9LCAvKiAgODM5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzg0MCIJfSwgLyogIDg0MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU184NDEiCX0sIC8qICA4NDEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfODQyIgl9LCAvKiAgODQyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzg0MyIJfSwgLyogIDg0MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU184NDQiCX0sIC8qICA4NDQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfODQ1Igl9LCAvKiAgODQ1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzg0NiIJfSwgLyogIDg0NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU184NDciCX0sIC8qICA4NDcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfODQ4Igl9LCAvKiAgODQ4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzg0OSIJfSwgLyogIDg0OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU184NTAiCX0sIC8qICA4NTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfODUxIgl9LCAvKiAgODUxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzg1MiIJfSwgLyogIDg1MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU184NTMiCX0sIC8qICA4NTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfODU0Igl9LCAvKiAgODU0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzg1NSIJfSwgLyogIDg1NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU184NTYiCX0sIC8qICA4NTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfODU3Igl9LCAvKiAgODU3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzg1OCIJfSwgLyogIDg1OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU184NTkiCX0sIC8qICA4NTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfODYwIgl9LCAvKiAgODYwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzg2MSIJfSwgLyogIDg2MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU184NjIiCX0sIC8qICA4NjIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfODYzIgl9LCAvKiAgODYzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzg2NCIJfSwgLyogIDg2NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU184NjUiCX0sIC8qICA4NjUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfODY2Igl9LCAvKiAgODY2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzg2NyIJfSwgLyogIDg2NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU184NjgiCX0sIC8qICA4NjggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfODY5Igl9LCAvKiAgODY5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzg3MCIJfSwgLyogIDg3MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU184NzEiCX0sIC8qICA4NzEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfODcyIgl9LCAvKiAgODcyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzg3MyIJfSwgLyogIDg3MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU184NzQiCX0sIC8qICA4NzQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfODc1Igl9LCAvKiAgODc1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzg3NiIJfSwgLyogIDg3NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU184NzciCX0sIC8qICA4NzcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfODc4Igl9LCAvKiAgODc4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzg3OSIJfSwgLyogIDg3OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU184ODAiCX0sIC8qICA4ODAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfODgxIgl9LCAvKiAgODgxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzg4MiIJfSwgLyogIDg4MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU184ODMiCX0sIC8qICA4ODMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfODg0Igl9LCAvKiAgODg0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzg4NSIJfSwgLyogIDg4NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU184ODYiCX0sIC8qICA4ODYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfODg3Igl9LCAvKiAgODg3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzg4OCIJfSwgLyogIDg4OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU184ODkiCX0sIC8qICA4ODkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfODkwIgl9LCAvKiAgODkwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzg5MSIJfSwgLyogIDg5MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU184OTIiCX0sIC8qICA4OTIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfODkzIgl9LCAvKiAgODkzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzg5NCIJfSwgLyogIDg5NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU184OTUiCX0sIC8qICA4OTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfODk2Igl9LCAvKiAgODk2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzg5NyIJfSwgLyogIDg5NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU184OTgiCX0sIC8qICA4OTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfODk5Igl9LCAvKiAgODk5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzkwMCIJfSwgLyogIDkwMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU185MDEiCX0sIC8qICA5MDEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfOTAyIgl9LCAvKiAgOTAyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzkwMyIJfSwgLyogIDkwMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU185MDQiCX0sIC8qICA5MDQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfOTA1Igl9LCAvKiAgOTA1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzkwNiIJfSwgLyogIDkwNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU185MDciCX0sIC8qICA5MDcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfOTA4Igl9LCAvKiAgOTA4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzkwOSIJfSwgLyogIDkwOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU185MTAiCX0sIC8qICA5MTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfOTExIgl9LCAvKiAgOTExICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzkxMiIJfSwgLyogIDkxMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU185MTMiCX0sIC8qICA5MTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfOTE0Igl9LCAvKiAgOTE0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzkxNSIJfSwgLyogIDkxNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU185MTYiCX0sIC8qICA5MTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfOTE3Igl9LCAvKiAgOTE3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzkxOCIJfSwgLyogIDkxOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU185MTkiCX0sIC8qICA5MTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfOTIwIgl9LCAvKiAgOTIwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzkyMSIJfSwgLyogIDkyMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU185MjIiCX0sIC8qICA5MjIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfOTIzIgl9LCAvKiAgOTIzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzkyNCIJfSwgLyogIDkyNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU185MjUiCX0sIC8qICA5MjUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfOTI2Igl9LCAvKiAgOTI2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzkyNyIJfSwgLyogIDkyNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU185MjgiCX0sIC8qICA5MjggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfOTI5Igl9LCAvKiAgOTI5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzkzMCIJfSwgLyogIDkzMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU185MzEiCX0sIC8qICA5MzEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfOTMyIgl9LCAvKiAgOTMyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzkzMyIJfSwgLyogIDkzMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU185MzQiCX0sIC8qICA5MzQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfOTM1Igl9LCAvKiAgOTM1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzkzNiIJfSwgLyogIDkzNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU185MzciCX0sIC8qICA5MzcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfOTM4Igl9LCAvKiAgOTM4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzkzOSIJfSwgLyogIDkzOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU185NDAiCX0sIC8qICA5NDAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfOTQxIgl9LCAvKiAgOTQxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzk0MiIJfSwgLyogIDk0MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU185NDMiCX0sIC8qICA5NDMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfOTQ0Igl9LCAvKiAgOTQ0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzk0NSIJfSwgLyogIDk0NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU185NDYiCX0sIC8qICA5NDYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfOTQ3Igl9LCAvKiAgOTQ3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzk0OCIJfSwgLyogIDk0OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU185NDkiCX0sIC8qICA5NDkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfOTUwIgl9LCAvKiAgOTUwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzk1MSIJfSwgLyogIDk1MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU185NTIiCX0sIC8qICA5NTIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfOTUzIgl9LCAvKiAgOTUzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzk1NCIJfSwgLyogIDk1NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU185NTUiCX0sIC8qICA5NTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfOTU2Igl9LCAvKiAgOTU2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzk1NyIJfSwgLyogIDk1NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU185NTgiCX0sIC8qICA5NTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfOTU5Igl9LCAvKiAgOTU5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzk2MCIJfSwgLyogIDk2MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU185NjEiCX0sIC8qICA5NjEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfOTYyIgl9LCAvKiAgOTYyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzk2MyIJfSwgLyogIDk2MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU185NjQiCX0sIC8qICA5NjQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfOTY1Igl9LCAvKiAgOTY1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzk2NiIJfSwgLyogIDk2NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU185NjciCX0sIC8qICA5NjcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfOTY4Igl9LCAvKiAgOTY4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzk2OSIJfSwgLyogIDk2OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU185NzAiCX0sIC8qICA5NzAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfOTcxIgl9LCAvKiAgOTcxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzk3MiIJfSwgLyogIDk3MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU185NzMiCX0sIC8qICA5NzMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfOTc0Igl9LCAvKiAgOTc0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzk3NSIJfSwgLyogIDk3NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU185NzYiCX0sIC8qICA5NzYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfOTc3Igl9LCAvKiAgOTc3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzk3OCIJfSwgLyogIDk3OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU185NzkiCX0sIC8qICA5NzkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfOTgwIgl9LCAvKiAgOTgwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzk4MSIJfSwgLyogIDk4MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU185ODIiCX0sIC8qICA5ODIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfOTgzIgl9LCAvKiAgOTgzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzk4NCIJfSwgLyogIDk4NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU185ODUiCX0sIC8qICA5ODUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfOTg2Igl9LCAvKiAgOTg2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzk4NyIJfSwgLyogIDk4NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU185ODgiCX0sIC8qICA5ODggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfOTg5Igl9LCAvKiAgOTg5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzk5MCIJfSwgLyogIDk5MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU185OTEiCX0sIC8qICA5OTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfOTkyIgl9LCAvKiAgOTkyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzk5MyIJfSwgLyogIDk5MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU185OTQiCX0sIC8qICA5OTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfOTk1Igl9LCAvKiAgOTk1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzk5NiIJfSwgLyogIDk5NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU185OTciCX0sIC8qICA5OTcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfOTk4Igl9LCAvKiAgOTk4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzk5OSIJfSwgLyogIDk5OSAqLyAvKiBlbmQgb2YgU1ZSNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN5c3Zfc3lzY2FsbCIJfSwgLyogMTAwMCAqLyAvKiBzdGFydCBvZiBTWVNWICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3lzdl9leGl0Igl9LCAvKiAxMDAxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3lzdl9mb3JrIgl9LCAvKiAxMDAyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3lzdl9yZWFkIgl9LCAvKiAxMDAzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3lzdl93cml0ZSIJfSwgLyogMTAwNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN5c3Zfb3BlbiIJfSwgLyogMTAwNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN5c3ZfY2xvc2UiCX0sIC8qIDEwMDYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X3dhaXQiCX0sIC8qIDEwMDcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X2NyZWF0Igl9LCAvKiAxMDA4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3lzdl9saW5rIgl9LCAvKiAxMDA5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3lzdl91bmxpbmsiCX0sIC8qIDEwMTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X2V4ZWN2Igl9LCAvKiAxMDExICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3lzdl9jaGRpciIJfSwgLyogMTAxMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN5c3ZfdGltZSIJfSwgLyogMTAxMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN5c3ZfbWtub2QiCX0sIC8qIDEwMTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X2NobW9kIgl9LCAvKiAxMDE1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3lzdl9jaG93biIJfSwgLyogMTAxNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN5c3ZfYnJrIgl9LCAvKiAxMDE3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3lzdl9zdGF0Igl9LCAvKiAxMDE4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3lzdl9sc2VlayIJfSwgLyogMTAxOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN5c3ZfZ2V0cGlkIgl9LCAvKiAxMDIwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3lzdl9tb3VudCIJfSwgLyogMTAyMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN5c3ZfdW1vdW50Igl9LCAvKiAxMDIyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3lzdl9zZXR1aWQiCX0sIC8qIDEwMjMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X2dldHVpZCIJfSwgLyogMTAyNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN5c3Zfc3RpbWUiCX0sIC8qIDEwMjUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X3B0cmFjZSIJfSwgLyogMTAyNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN5c3ZfYWxhcm0iCX0sIC8qIDEwMjcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X2ZzdGF0Igl9LCAvKiAxMDI4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3lzdl9wYXVzZSIJfSwgLyogMTAyOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN5c3ZfdXRpbWUiCX0sIC8qIDEwMzAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X3N0dHkiCX0sIC8qIDEwMzEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X2d0dHkiCX0sIC8qIDEwMzIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X2FjY2VzcyIJfSwgLyogMTAzMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN5c3ZfbmljZSIJfSwgLyogMTAzNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN5c3Zfc3RhdGZzIgl9LCAvKiAxMDM1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3lzdl9zeW5jIgl9LCAvKiAxMDM2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3lzdl9raWxsIgl9LCAvKiAxMDM3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3lzdl9mc3RhdGZzIgl9LCAvKiAxMDM4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3lzdl9zZXRwZ3JwIgl9LCAvKiAxMDM5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3lzdl9zeXNzZ2kiCX0sIC8qIDEwNDAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X2R1cCIJfSwgLyogMTA0MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN5c3ZfcGlwZSIJfSwgLyogMTA0MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN5c3ZfdGltZXMiCX0sIC8qIDEwNDMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X3Byb2ZpbCIJfSwgLyogMTA0NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN5c3ZfcGxvY2siCX0sIC8qIDEwNDUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X3NldGdpZCIJfSwgLyogMTA0NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN5c3ZfZ2V0Z2lkIgl9LCAvKiAxMDQ3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3lzdl9zaWciCX0sIC8qIDEwNDggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X21zZ3N5cyIJfSwgLyogMTA0OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN5c3Zfc3lzbWlwcyIJfSwgLyogMTA1MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN5c3ZfYWNjdCIJfSwgLyogMTA1MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN5c3Zfc2htc3lzIgl9LCAvKiAxMDUyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3lzdl9zZW1zeXMiCX0sIC8qIDEwNTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X2lvY3RsIgl9LCAvKiAxMDU0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3lzdl91YWRtaW4iCX0sIC8qIDEwNTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X3N5c21wIgl9LCAvKiAxMDU2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3lzdl91dHNzeXMiCX0sIC8qIDEwNTcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTA1OCIsCX0sIC8qIDEwNTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X2V4ZWN2ZSIJfSwgLyogMTA1OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN5c3ZfdW1hc2siCX0sIC8qIDEwNjAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X2Nocm9vdCIJfSwgLyogMTA2MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN5c3ZfZmNudGwiCX0sIC8qIDEwNjIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X3VsaW1pdCIJfSwgLyogMTA2MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMDY0IiwJfSwgLyogMTA2NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMDY1IiwJfSwgLyogMTA2NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMDY2IiwJfSwgLyogMTA2NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMDY3IiwJfSwgLyogMTA2NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMDY4IiwJfSwgLyogMTA2OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMDY5IiwJfSwgLyogMTA2OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN5c3ZfYWR2ZnMiCX0sIC8qIDEwNzAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X3VuYWR2ZnMiCX0sIC8qIDEwNzEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X3Jtb3VudCIJfSwgLyogMTA3MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN5c3ZfcnVtb3VudCIJfSwgLyogMTA3MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN5c3ZfcmZzdGFydCIJfSwgLyogMTA3NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN5c3ZfZ2V0cmxpbWl0NjQiCX0sIC8qIDEwNzUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X3NldHJsaW1pdDY0Igl9LCAvKiAxMDc2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3lzdl9uYW5vc2xlZXAiCX0sIC8qIDEwNzcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X2xzZWVrNjQiCX0sIC8qIDEwNzggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X3JtZGlyIgl9LCAvKiAxMDc5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3lzdl9ta2RpciIJfSwgLyogMTA4MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN5c3ZfZ2V0ZGVudHMiCX0sIC8qIDEwODEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X3NnaW5hcCIJfSwgLyogMTA4MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN5c3Zfc2dpa29wdCIJfSwgLyogMTA4MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN5c3Zfc3lzZnMiCX0sIC8qIDEwODQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X2dldG1zZyIJfSwgLyogMTA4NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN5c3ZfcHV0bXNnIgl9LCAvKiAxMDg2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3lzdl9wb2xsIgl9LCAvKiAxMDg3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3lzdl9zaWdyZXR1cm4iCX0sIC8qIDEwODggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X2FjY2VwdCIJfSwgLyogMTA4OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN5c3ZfYmluZCIJfSwgLyogMTA5MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN5c3ZfY29ubmVjdCIJfSwgLyogMTA5MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN5c3ZfZ2V0aG9zdGlkIgl9LCAvKiAxMDkyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3lzdl9nZXRwZWVybmFtZSIJfSwgLyogMTA5MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN5c3ZfZ2V0c29ja25hbWUiCX0sIC8qIDEwOTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X2dldHNvY2tvcHQiCX0sIC8qIDEwOTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X2xpc3RlbiIJfSwgLyogMTA5NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN5c3ZfcmVjdiIJfSwgLyogMTA5NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN5c3ZfcmVjdmZyb20iCX0sIC8qIDEwOTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X3JlY3Ztc2ciCX0sIC8qIDEwOTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X3NlbGVjdCIJfSwgLyogMTEwMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN5c3Zfc2VuZCIJfSwgLyogMTEwMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN5c3Zfc2VuZG1zZyIJfSwgLyogMTEwMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN5c3Zfc2VuZHRvIgl9LCAvKiAxMTAzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3lzdl9zZXRob3N0aWQiCX0sIC8qIDExMDQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X3NldHNvY2tvcHQiCX0sIC8qIDExMDUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X3NodXRkb3duIgl9LCAvKiAxMTA2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3lzdl9zb2NrZXQiCX0sIC8qIDExMDcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X2dldGhvc3RuYW1lIgl9LCAvKiAxMTA4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3lzdl9zZXRob3N0bmFtZSIJfSwgLyogMTEwOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN5c3ZfZ2V0ZG9tYWlubmFtZSIJfSwgLyogMTExMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN5c3Zfc2V0ZG9tYWlubmFtZSIJfSwgLyogMTExMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN5c3ZfdHJ1bmNhdGUiCX0sIC8qIDExMTIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X2Z0cnVuY2F0ZSIJfSwgLyogMTExMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN5c3ZfcmVuYW1lIgl9LCAvKiAxMTE0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3lzdl9zeW1saW5rIgl9LCAvKiAxMTE1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3lzdl9yZWFkbGluayIJfSwgLyogMTExNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN5c3ZfbHN0YXQiCX0sIC8qIDExMTcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X25mc21vdW50Igl9LCAvKiAxMTE4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3lzdl9uZnNzdmMiCX0sIC8qIDExMTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X2dldGZoIgl9LCAvKiAxMTIwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3lzdl9hc3luY19kYWVtb24iCX0sIC8qIDExMjEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X2V4cG9ydGZzIgl9LCAvKiAxMTIyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3lzdl9zZXRyZWdpZCIJfSwgLyogMTEyMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN5c3Zfc2V0cmV1aWQiCX0sIC8qIDExMjQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X2dldGl0aW1lciIJfSwgLyogMTEyNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN5c3Zfc2V0aXRpbWVyIgl9LCAvKiAxMTI2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3lzdl9hZGp0aW1lIgl9LCAvKiAxMTI3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3lzdl9CU0RfZ2V0aW1lIgl9LCAvKiAxMTI4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3lzdl9zcHJvYyIJfSwgLyogMTEyOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN5c3ZfcHJjdGwiCX0sIC8qIDExMzAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X3Byb2NibGsiCX0sIC8qIDExMzEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X3Nwcm9jc3AiCX0sIC8qIDExMzIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X3NnaWdzYyIJfSwgLyogMTEzMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN5c3ZfbW1hcCIJfSwgLyogMTEzNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN5c3ZfbXVubWFwIgl9LCAvKiAxMTM1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3lzdl9tcHJvdGVjdCIJfSwgLyogMTEzNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN5c3ZfbXN5bmMiCX0sIC8qIDExMzcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X21hZHZpc2UiCX0sIC8qIDExMzggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X3BhZ2Vsb2NrIgl9LCAvKiAxMTM5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3lzdl9nZXRwYWdlc2l6ZSIJfSwgLyogMTE0MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN5c3ZfcXVvdGFjdGwiCX0sIC8qIDExNDEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X2xpYmRldGFjaCIJfSwgLyogMTE0MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN5c3ZfQlNEZ2V0cGdycCIJfSwgLyogMTE0MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN5c3ZfQlNEc2V0cGdycCIJfSwgLyogMTE0NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN5c3Zfdmhhbmd1cCIJfSwgLyogMTE0NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN5c3ZfZnN5bmMiCX0sIC8qIDExNDYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X2ZjaGRpciIJfSwgLyogMTE0NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN5c3ZfZ2V0cmxpbWl0Igl9LCAvKiAxMTQ4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3lzdl9zZXRybGltaXQiCX0sIC8qIDExNDkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X2NhY2hlZmx1c2giCX0sIC8qIDExNTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X2NhY2hlY3RsIgl9LCAvKiAxMTUxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3lzdl9mY2hvd24iCX0sIC8qIDExNTIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X2ZjaG1vZCIJfSwgLyogMTE1MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN5c3Zfd2FpdDMiCX0sIC8qIDExNTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X3NvY2tldHBhaXIiCX0sIC8qIDExNTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X3N5c2luZm8iCX0sIC8qIDExNTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X251bmFtZSIJfSwgLyogMTE1NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN5c3ZfeHN0YXQiCX0sIC8qIDExNTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X2x4c3RhdCIJfSwgLyogMTE1OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN5c3ZfZnhzdGF0Igl9LCAvKiAxMTYwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3lzdl94bWtub2QiCX0sIC8qIDExNjEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X2tzaWdhY3Rpb24iCX0sIC8qIDExNjIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X3NpZ3BlbmRpbmciCX0sIC8qIDExNjMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X3NpZ3Byb2NtYXNrIgl9LCAvKiAxMTY0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3lzdl9zaWdzdXNwZW5kIgl9LCAvKiAxMTY1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3lzdl9zaWdwb2xsIgl9LCAvKiAxMTY2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3lzdl9zd2FwY3RsIgl9LCAvKiAxMTY3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3lzdl9nZXRjb250ZXh0Igl9LCAvKiAxMTY4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3lzdl9zZXRjb250ZXh0Igl9LCAvKiAxMTY5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3lzdl93YWl0c3lzIgl9LCAvKiAxMTcwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3lzdl9zaWdzdGFjayIJfSwgLyogMTE3MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN5c3Zfc2lnYWx0c3RhY2siCX0sIC8qIDExNzIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X3NpZ3NlbmRzZXQiCX0sIC8qIDExNzMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X3N0YXR2ZnMiCX0sIC8qIDExNzQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X2ZzdGF0dmZzIgl9LCAvKiAxMTc1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3lzdl9nZXRwbXNnIgl9LCAvKiAxMTc2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3lzdl9wdXRwbXNnIgl9LCAvKiAxMTc3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3lzdl9sY2hvd24iCX0sIC8qIDExNzggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X3ByaW9jbnRsIgl9LCAvKiAxMTc5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3lzdl9rc2lncXVldWUiCX0sIC8qIDExODAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X3JlYWR2Igl9LCAvKiAxMTgxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3lzdl93cml0ZXYiCX0sIC8qIDExODIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X3RydW5jYXRlNjQiCX0sIC8qIDExODMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X2Z0cnVuY2F0ZTY0Igl9LCAvKiAxMTg0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkic3lzdl9tbWFwNjQiCX0sIC8qIDExODUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X2RtaSIJfSwgLyogMTE4NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInN5c3ZfcHJlYWQiCX0sIC8qIDExODcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzeXN2X3B3cml0ZSIJfSwgLyogMTE4OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMTg5Igl9LCAvKiAxMTg5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzExOTAiCX0sIC8qIDExOTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTE5MSIJfSwgLyogMTE5MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMTkyIgl9LCAvKiAxMTkyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzExOTMiCX0sIC8qIDExOTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTE5NCIJfSwgLyogMTE5NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMTk1Igl9LCAvKiAxMTk1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzExOTYiCX0sIC8qIDExOTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTE5NyIJfSwgLyogMTE5NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMTk4Igl9LCAvKiAxMTk4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzExOTkiCX0sIC8qIDExOTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTIwMCIJfSwgLyogMTIwMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMjAxIgl9LCAvKiAxMjAxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEyMDIiCX0sIC8qIDEyMDIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTIwMyIJfSwgLyogMTIwMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMjA0Igl9LCAvKiAxMjA0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEyMDUiCX0sIC8qIDEyMDUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTIwNiIJfSwgLyogMTIwNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMjA3Igl9LCAvKiAxMjA3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEyMDgiCX0sIC8qIDEyMDggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTIwOSIJfSwgLyogMTIwOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMjEwIgl9LCAvKiAxMjEwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEyMTEiCX0sIC8qIDEyMTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTIxMiIJfSwgLyogMTIxMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMjEzIgl9LCAvKiAxMjEzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEyMTQiCX0sIC8qIDEyMTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTIxNSIJfSwgLyogMTIxNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMjE2Igl9LCAvKiAxMjE2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEyMTciCX0sIC8qIDEyMTcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTIxOCIJfSwgLyogMTIxOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMjE5Igl9LCAvKiAxMjE5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEyMjAiCX0sIC8qIDEyMjAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTIyMSIJfSwgLyogMTIyMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMjIyIgl9LCAvKiAxMjIyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEyMjMiCX0sIC8qIDEyMjMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTIyNCIJfSwgLyogMTIyNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMjI1Igl9LCAvKiAxMjI1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEyMjYiCX0sIC8qIDEyMjYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTIyNyIJfSwgLyogMTIyNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMjI4Igl9LCAvKiAxMjI4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEyMjkiCX0sIC8qIDEyMjkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTIzMCIJfSwgLyogMTIzMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMjMxIgl9LCAvKiAxMjMxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEyMzIiCX0sIC8qIDEyMzIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTIzMyIJfSwgLyogMTIzMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMjM0Igl9LCAvKiAxMjM0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEyMzUiCX0sIC8qIDEyMzUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTIzNiIJfSwgLyogMTIzNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMjM3Igl9LCAvKiAxMjM3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEyMzgiCX0sIC8qIDEyMzggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTIzOSIJfSwgLyogMTIzOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMjQwIgl9LCAvKiAxMjQwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEyNDEiCX0sIC8qIDEyNDEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTI0MiIJfSwgLyogMTI0MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMjQzIgl9LCAvKiAxMjQzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEyNDQiCX0sIC8qIDEyNDQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTI0NSIJfSwgLyogMTI0NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMjQ2Igl9LCAvKiAxMjQ2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEyNDciCX0sIC8qIDEyNDcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTI0OCIJfSwgLyogMTI0OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMjQ5Igl9LCAvKiAxMjQ5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEyNTAiCX0sIC8qIDEyNTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTI1MSIJfSwgLyogMTI1MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMjUyIgl9LCAvKiAxMjUyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEyNTMiCX0sIC8qIDEyNTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTI1NCIJfSwgLyogMTI1NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMjU1Igl9LCAvKiAxMjU1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEyNTYiCX0sIC8qIDEyNTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTI1NyIJfSwgLyogMTI1NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMjU4Igl9LCAvKiAxMjU4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEyNTkiCX0sIC8qIDEyNTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTI2MCIJfSwgLyogMTI2MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMjYxIgl9LCAvKiAxMjYxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEyNjIiCX0sIC8qIDEyNjIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTI2MyIJfSwgLyogMTI2MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMjY0Igl9LCAvKiAxMjY0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEyNjUiCX0sIC8qIDEyNjUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTI2NiIJfSwgLyogMTI2NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMjY3Igl9LCAvKiAxMjY3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEyNjgiCX0sIC8qIDEyNjggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTI2OSIJfSwgLyogMTI2OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMjcwIgl9LCAvKiAxMjcwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEyNzEiCX0sIC8qIDEyNzEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTI3MiIJfSwgLyogMTI3MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMjczIgl9LCAvKiAxMjczICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEyNzQiCX0sIC8qIDEyNzQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTI3NSIJfSwgLyogMTI3NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMjc2Igl9LCAvKiAxMjc2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEyNzciCX0sIC8qIDEyNzcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTI3OCIJfSwgLyogMTI3OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMjc5Igl9LCAvKiAxMjc5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEyODAiCX0sIC8qIDEyODAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTI4MSIJfSwgLyogMTI4MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMjgyIgl9LCAvKiAxMjgyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEyODMiCX0sIC8qIDEyODMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTI4NCIJfSwgLyogMTI4NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMjg1Igl9LCAvKiAxMjg1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEyODYiCX0sIC8qIDEyODYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTI4NyIJfSwgLyogMTI4NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMjg4Igl9LCAvKiAxMjg4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEyODkiCX0sIC8qIDEyODkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTI5MCIJfSwgLyogMTI5MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMjkxIgl9LCAvKiAxMjkxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEyOTIiCX0sIC8qIDEyOTIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTI5MyIJfSwgLyogMTI5MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMjk0Igl9LCAvKiAxMjk0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEyOTUiCX0sIC8qIDEyOTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTI5NiIJfSwgLyogMTI5NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMjk3Igl9LCAvKiAxMjk3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEyOTgiCX0sIC8qIDEyOTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTI5OSIJfSwgLyogMTI5OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMzAwIgl9LCAvKiAxMzAwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEzMDEiCX0sIC8qIDEzMDEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTMwMiIJfSwgLyogMTMwMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMzAzIgl9LCAvKiAxMzAzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEzMDQiCX0sIC8qIDEzMDQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTMwNSIJfSwgLyogMTMwNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMzA2Igl9LCAvKiAxMzA2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEzMDciCX0sIC8qIDEzMDcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTMwOCIJfSwgLyogMTMwOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMzA5Igl9LCAvKiAxMzA5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEzMTAiCX0sIC8qIDEzMTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTMxMSIJfSwgLyogMTMxMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMzEyIgl9LCAvKiAxMzEyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEzMTMiCX0sIC8qIDEzMTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTMxNCIJfSwgLyogMTMxNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMzE1Igl9LCAvKiAxMzE1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEzMTYiCX0sIC8qIDEzMTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTMxNyIJfSwgLyogMTMxNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMzE4Igl9LCAvKiAxMzE4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEzMTkiCX0sIC8qIDEzMTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTMyMCIJfSwgLyogMTMyMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMzIxIgl9LCAvKiAxMzIxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEzMjIiCX0sIC8qIDEzMjIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTMyMyIJfSwgLyogMTMyMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMzI0Igl9LCAvKiAxMzI0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEzMjUiCX0sIC8qIDEzMjUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTMyNiIJfSwgLyogMTMyNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMzI3Igl9LCAvKiAxMzI3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEzMjgiCX0sIC8qIDEzMjggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTMyOSIJfSwgLyogMTMyOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMzMwIgl9LCAvKiAxMzMwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEzMzEiCX0sIC8qIDEzMzEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTMzMiIJfSwgLyogMTMzMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMzMzIgl9LCAvKiAxMzMzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEzMzQiCX0sIC8qIDEzMzQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTMzNSIJfSwgLyogMTMzNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMzM2Igl9LCAvKiAxMzM2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEzMzciCX0sIC8qIDEzMzcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTMzOCIJfSwgLyogMTMzOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMzM5Igl9LCAvKiAxMzM5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEzNDAiCX0sIC8qIDEzNDAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTM0MSIJfSwgLyogMTM0MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMzQyIgl9LCAvKiAxMzQyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEzNDMiCX0sIC8qIDEzNDMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTM0NCIJfSwgLyogMTM0NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMzQ1Igl9LCAvKiAxMzQ1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEzNDYiCX0sIC8qIDEzNDYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTM0NyIJfSwgLyogMTM0NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMzQ4Igl9LCAvKiAxMzQ4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEzNDkiCX0sIC8qIDEzNDkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTM1MCIJfSwgLyogMTM1MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMzUxIgl9LCAvKiAxMzUxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEzNTIiCX0sIC8qIDEzNTIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTM1MyIJfSwgLyogMTM1MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMzU0Igl9LCAvKiAxMzU0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEzNTUiCX0sIC8qIDEzNTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTM1NiIJfSwgLyogMTM1NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMzU3Igl9LCAvKiAxMzU3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEzNTgiCX0sIC8qIDEzNTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTM1OSIJfSwgLyogMTM1OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMzYwIgl9LCAvKiAxMzYwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEzNjEiCX0sIC8qIDEzNjEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTM2MiIJfSwgLyogMTM2MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMzYzIgl9LCAvKiAxMzYzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEzNjQiCX0sIC8qIDEzNjQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTM2NSIJfSwgLyogMTM2NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMzY2Igl9LCAvKiAxMzY2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEzNjciCX0sIC8qIDEzNjcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTM2OCIJfSwgLyogMTM2OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMzY5Igl9LCAvKiAxMzY5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEzNzAiCX0sIC8qIDEzNzAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTM3MSIJfSwgLyogMTM3MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMzcyIgl9LCAvKiAxMzcyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEzNzMiCX0sIC8qIDEzNzMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTM3NCIJfSwgLyogMTM3NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMzc1Igl9LCAvKiAxMzc1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEzNzYiCX0sIC8qIDEzNzYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTM3NyIJfSwgLyogMTM3NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMzc4Igl9LCAvKiAxMzc4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEzNzkiCX0sIC8qIDEzNzkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTM4MCIJfSwgLyogMTM4MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMzgxIgl9LCAvKiAxMzgxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEzODIiCX0sIC8qIDEzODIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTM4MyIJfSwgLyogMTM4MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMzg0Igl9LCAvKiAxMzg0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEzODUiCX0sIC8qIDEzODUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTM4NiIJfSwgLyogMTM4NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMzg3Igl9LCAvKiAxMzg3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEzODgiCX0sIC8qIDEzODggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTM4OSIJfSwgLyogMTM4OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMzkwIgl9LCAvKiAxMzkwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEzOTEiCX0sIC8qIDEzOTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTM5MiIJfSwgLyogMTM5MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMzkzIgl9LCAvKiAxMzkzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEzOTQiCX0sIC8qIDEzOTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTM5NSIJfSwgLyogMTM5NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMzk2Igl9LCAvKiAxMzk2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEzOTciCX0sIC8qIDEzOTcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTM5OCIJfSwgLyogMTM5OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMzk5Igl9LCAvKiAxMzk5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE0MDAiCX0sIC8qIDE0MDAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTQwMSIJfSwgLyogMTQwMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNDAyIgl9LCAvKiAxNDAyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE0MDMiCX0sIC8qIDE0MDMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTQwNCIJfSwgLyogMTQwNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNDA1Igl9LCAvKiAxNDA1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE0MDYiCX0sIC8qIDE0MDYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTQwNyIJfSwgLyogMTQwNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNDA4Igl9LCAvKiAxNDA4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE0MDkiCX0sIC8qIDE0MDkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTQxMCIJfSwgLyogMTQxMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNDExIgl9LCAvKiAxNDExICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE0MTIiCX0sIC8qIDE0MTIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTQxMyIJfSwgLyogMTQxMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNDE0Igl9LCAvKiAxNDE0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE0MTUiCX0sIC8qIDE0MTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTQxNiIJfSwgLyogMTQxNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNDE3Igl9LCAvKiAxNDE3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE0MTgiCX0sIC8qIDE0MTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTQxOSIJfSwgLyogMTQxOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNDIwIgl9LCAvKiAxNDIwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE0MjEiCX0sIC8qIDE0MjEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTQyMiIJfSwgLyogMTQyMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNDIzIgl9LCAvKiAxNDIzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE0MjQiCX0sIC8qIDE0MjQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTQyNSIJfSwgLyogMTQyNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNDI2Igl9LCAvKiAxNDI2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE0MjciCX0sIC8qIDE0MjcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTQyOCIJfSwgLyogMTQyOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNDI5Igl9LCAvKiAxNDI5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE0MzAiCX0sIC8qIDE0MzAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTQzMSIJfSwgLyogMTQzMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNDMyIgl9LCAvKiAxNDMyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE0MzMiCX0sIC8qIDE0MzMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTQzNCIJfSwgLyogMTQzNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNDM1Igl9LCAvKiAxNDM1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE0MzYiCX0sIC8qIDE0MzYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTQzNyIJfSwgLyogMTQzNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNDM4Igl9LCAvKiAxNDM4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE0MzkiCX0sIC8qIDE0MzkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTQ0MCIJfSwgLyogMTQ0MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNDQxIgl9LCAvKiAxNDQxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE0NDIiCX0sIC8qIDE0NDIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTQ0MyIJfSwgLyogMTQ0MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNDQ0Igl9LCAvKiAxNDQ0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE0NDUiCX0sIC8qIDE0NDUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTQ0NiIJfSwgLyogMTQ0NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNDQ3Igl9LCAvKiAxNDQ3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE0NDgiCX0sIC8qIDE0NDggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTQ0OSIJfSwgLyogMTQ0OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNDUwIgl9LCAvKiAxNDUwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE0NTEiCX0sIC8qIDE0NTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTQ1MiIJfSwgLyogMTQ1MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNDUzIgl9LCAvKiAxNDUzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE0NTQiCX0sIC8qIDE0NTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTQ1NSIJfSwgLyogMTQ1NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNDU2Igl9LCAvKiAxNDU2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE0NTciCX0sIC8qIDE0NTcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTQ1OCIJfSwgLyogMTQ1OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNDU5Igl9LCAvKiAxNDU5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE0NjAiCX0sIC8qIDE0NjAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTQ2MSIJfSwgLyogMTQ2MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNDYyIgl9LCAvKiAxNDYyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE0NjMiCX0sIC8qIDE0NjMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTQ2NCIJfSwgLyogMTQ2NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNDY1Igl9LCAvKiAxNDY1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE0NjYiCX0sIC8qIDE0NjYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTQ2NyIJfSwgLyogMTQ2NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNDY4Igl9LCAvKiAxNDY4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE0NjkiCX0sIC8qIDE0NjkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTQ3MCIJfSwgLyogMTQ3MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNDcxIgl9LCAvKiAxNDcxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE0NzIiCX0sIC8qIDE0NzIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTQ3MyIJfSwgLyogMTQ3MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNDc0Igl9LCAvKiAxNDc0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE0NzUiCX0sIC8qIDE0NzUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTQ3NiIJfSwgLyogMTQ3NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNDc3Igl9LCAvKiAxNDc3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE0NzgiCX0sIC8qIDE0NzggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTQ3OSIJfSwgLyogMTQ3OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNDgwIgl9LCAvKiAxNDgwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE0ODEiCX0sIC8qIDE0ODEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTQ4MiIJfSwgLyogMTQ4MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNDgzIgl9LCAvKiAxNDgzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE0ODQiCX0sIC8qIDE0ODQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTQ4NSIJfSwgLyogMTQ4NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNDg2Igl9LCAvKiAxNDg2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE0ODciCX0sIC8qIDE0ODcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTQ4OCIJfSwgLyogMTQ4OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNDg5Igl9LCAvKiAxNDg5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE0OTAiCX0sIC8qIDE0OTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTQ5MSIJfSwgLyogMTQ5MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNDkyIgl9LCAvKiAxNDkyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE0OTMiCX0sIC8qIDE0OTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTQ5NCIJfSwgLyogMTQ5NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNDk1Igl9LCAvKiAxNDk1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE0OTYiCX0sIC8qIDE0OTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTQ5NyIJfSwgLyogMTQ5NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNDk4Igl9LCAvKiAxNDk4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE0OTkiCX0sIC8qIDE0OTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTUwMCIJfSwgLyogMTUwMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNTAxIgl9LCAvKiAxNTAxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE1MDIiCX0sIC8qIDE1MDIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTUwMyIJfSwgLyogMTUwMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNTA0Igl9LCAvKiAxNTA0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE1MDUiCX0sIC8qIDE1MDUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTUwNiIJfSwgLyogMTUwNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNTA3Igl9LCAvKiAxNTA3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE1MDgiCX0sIC8qIDE1MDggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTUwOSIJfSwgLyogMTUwOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNTEwIgl9LCAvKiAxNTEwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE1MTEiCX0sIC8qIDE1MTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTUxMiIJfSwgLyogMTUxMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNTEzIgl9LCAvKiAxNTEzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE1MTQiCX0sIC8qIDE1MTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTUxNSIJfSwgLyogMTUxNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNTE2Igl9LCAvKiAxNTE2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE1MTciCX0sIC8qIDE1MTcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTUxOCIJfSwgLyogMTUxOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNTE5Igl9LCAvKiAxNTE5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE1MjAiCX0sIC8qIDE1MjAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTUyMSIJfSwgLyogMTUyMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNTIyIgl9LCAvKiAxNTIyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE1MjMiCX0sIC8qIDE1MjMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTUyNCIJfSwgLyogMTUyNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNTI1Igl9LCAvKiAxNTI1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE1MjYiCX0sIC8qIDE1MjYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTUyNyIJfSwgLyogMTUyNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNTI4Igl9LCAvKiAxNTI4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE1MjkiCX0sIC8qIDE1MjkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTUzMCIJfSwgLyogMTUzMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNTMxIgl9LCAvKiAxNTMxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE1MzIiCX0sIC8qIDE1MzIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTUzMyIJfSwgLyogMTUzMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNTM0Igl9LCAvKiAxNTM0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE1MzUiCX0sIC8qIDE1MzUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTUzNiIJfSwgLyogMTUzNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNTM3Igl9LCAvKiAxNTM3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE1MzgiCX0sIC8qIDE1MzggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTUzOSIJfSwgLyogMTUzOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNTQwIgl9LCAvKiAxNTQwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE1NDEiCX0sIC8qIDE1NDEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTU0MiIJfSwgLyogMTU0MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNTQzIgl9LCAvKiAxNTQzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE1NDQiCX0sIC8qIDE1NDQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTU0NSIJfSwgLyogMTU0NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNTQ2Igl9LCAvKiAxNTQ2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE1NDciCX0sIC8qIDE1NDcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTU0OCIJfSwgLyogMTU0OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNTQ5Igl9LCAvKiAxNTQ5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE1NTAiCX0sIC8qIDE1NTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTU1MSIJfSwgLyogMTU1MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNTUyIgl9LCAvKiAxNTUyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE1NTMiCX0sIC8qIDE1NTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTU1NCIJfSwgLyogMTU1NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNTU1Igl9LCAvKiAxNTU1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE1NTYiCX0sIC8qIDE1NTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTU1NyIJfSwgLyogMTU1NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNTU4Igl9LCAvKiAxNTU4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE1NTkiCX0sIC8qIDE1NTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTU2MCIJfSwgLyogMTU2MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNTYxIgl9LCAvKiAxNTYxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE1NjIiCX0sIC8qIDE1NjIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTU2MyIJfSwgLyogMTU2MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNTY0Igl9LCAvKiAxNTY0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE1NjUiCX0sIC8qIDE1NjUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTU2NiIJfSwgLyogMTU2NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNTY3Igl9LCAvKiAxNTY3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE1NjgiCX0sIC8qIDE1NjggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTU2OSIJfSwgLyogMTU2OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNTcwIgl9LCAvKiAxNTcwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE1NzEiCX0sIC8qIDE1NzEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTU3MiIJfSwgLyogMTU3MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNTczIgl9LCAvKiAxNTczICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE1NzQiCX0sIC8qIDE1NzQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTU3NSIJfSwgLyogMTU3NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNTc2Igl9LCAvKiAxNTc2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE1NzciCX0sIC8qIDE1NzcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTU3OCIJfSwgLyogMTU3OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNTc5Igl9LCAvKiAxNTc5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE1ODAiCX0sIC8qIDE1ODAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTU4MSIJfSwgLyogMTU4MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNTgyIgl9LCAvKiAxNTgyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE1ODMiCX0sIC8qIDE1ODMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTU4NCIJfSwgLyogMTU4NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNTg1Igl9LCAvKiAxNTg1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE1ODYiCX0sIC8qIDE1ODYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTU4NyIJfSwgLyogMTU4NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNTg4Igl9LCAvKiAxNTg4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE1ODkiCX0sIC8qIDE1ODkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTU5MCIJfSwgLyogMTU5MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNTkxIgl9LCAvKiAxNTkxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE1OTIiCX0sIC8qIDE1OTIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTU5MyIJfSwgLyogMTU5MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNTk0Igl9LCAvKiAxNTk0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE1OTUiCX0sIC8qIDE1OTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTU5NiIJfSwgLyogMTU5NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNTk3Igl9LCAvKiAxNTk3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE1OTgiCX0sIC8qIDE1OTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTU5OSIJfSwgLyogMTU5OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNjAwIgl9LCAvKiAxNjAwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE2MDEiCX0sIC8qIDE2MDEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTYwMiIJfSwgLyogMTYwMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNjAzIgl9LCAvKiAxNjAzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE2MDQiCX0sIC8qIDE2MDQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTYwNSIJfSwgLyogMTYwNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNjA2Igl9LCAvKiAxNjA2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE2MDciCX0sIC8qIDE2MDcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTYwOCIJfSwgLyogMTYwOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNjA5Igl9LCAvKiAxNjA5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE2MTAiCX0sIC8qIDE2MTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTYxMSIJfSwgLyogMTYxMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNjEyIgl9LCAvKiAxNjEyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE2MTMiCX0sIC8qIDE2MTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTYxNCIJfSwgLyogMTYxNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNjE1Igl9LCAvKiAxNjE1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE2MTYiCX0sIC8qIDE2MTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTYxNyIJfSwgLyogMTYxNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNjE4Igl9LCAvKiAxNjE4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE2MTkiCX0sIC8qIDE2MTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTYyMCIJfSwgLyogMTYyMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNjIxIgl9LCAvKiAxNjIxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE2MjIiCX0sIC8qIDE2MjIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTYyMyIJfSwgLyogMTYyMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNjI0Igl9LCAvKiAxNjI0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE2MjUiCX0sIC8qIDE2MjUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTYyNiIJfSwgLyogMTYyNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNjI3Igl9LCAvKiAxNjI3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE2MjgiCX0sIC8qIDE2MjggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTYyOSIJfSwgLyogMTYyOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNjMwIgl9LCAvKiAxNjMwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE2MzEiCX0sIC8qIDE2MzEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTYzMiIJfSwgLyogMTYzMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNjMzIgl9LCAvKiAxNjMzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE2MzQiCX0sIC8qIDE2MzQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTYzNSIJfSwgLyogMTYzNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNjM2Igl9LCAvKiAxNjM2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE2MzciCX0sIC8qIDE2MzcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTYzOCIJfSwgLyogMTYzOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNjM5Igl9LCAvKiAxNjM5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE2NDAiCX0sIC8qIDE2NDAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTY0MSIJfSwgLyogMTY0MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNjQyIgl9LCAvKiAxNjQyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE2NDMiCX0sIC8qIDE2NDMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTY0NCIJfSwgLyogMTY0NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNjQ1Igl9LCAvKiAxNjQ1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE2NDYiCX0sIC8qIDE2NDYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTY0NyIJfSwgLyogMTY0NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNjQ4Igl9LCAvKiAxNjQ4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE2NDkiCX0sIC8qIDE2NDkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTY1MCIJfSwgLyogMTY1MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNjUxIgl9LCAvKiAxNjUxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE2NTIiCX0sIC8qIDE2NTIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTY1MyIJfSwgLyogMTY1MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNjU0Igl9LCAvKiAxNjU0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE2NTUiCX0sIC8qIDE2NTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTY1NiIJfSwgLyogMTY1NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNjU3Igl9LCAvKiAxNjU3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE2NTgiCX0sIC8qIDE2NTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTY1OSIJfSwgLyogMTY1OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNjYwIgl9LCAvKiAxNjYwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE2NjEiCX0sIC8qIDE2NjEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTY2MiIJfSwgLyogMTY2MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNjYzIgl9LCAvKiAxNjYzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE2NjQiCX0sIC8qIDE2NjQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTY2NSIJfSwgLyogMTY2NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNjY2Igl9LCAvKiAxNjY2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE2NjciCX0sIC8qIDE2NjcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTY2OCIJfSwgLyogMTY2OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNjY5Igl9LCAvKiAxNjY5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE2NzAiCX0sIC8qIDE2NzAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTY3MSIJfSwgLyogMTY3MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNjcyIgl9LCAvKiAxNjcyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE2NzMiCX0sIC8qIDE2NzMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTY3NCIJfSwgLyogMTY3NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNjc1Igl9LCAvKiAxNjc1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE2NzYiCX0sIC8qIDE2NzYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTY3NyIJfSwgLyogMTY3NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNjc4Igl9LCAvKiAxNjc4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE2NzkiCX0sIC8qIDE2NzkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTY4MCIJfSwgLyogMTY4MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNjgxIgl9LCAvKiAxNjgxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE2ODIiCX0sIC8qIDE2ODIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTY4MyIJfSwgLyogMTY4MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNjg0Igl9LCAvKiAxNjg0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE2ODUiCX0sIC8qIDE2ODUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTY4NiIJfSwgLyogMTY4NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNjg3Igl9LCAvKiAxNjg3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE2ODgiCX0sIC8qIDE2ODggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTY4OSIJfSwgLyogMTY4OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNjkwIgl9LCAvKiAxNjkwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE2OTEiCX0sIC8qIDE2OTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTY5MiIJfSwgLyogMTY5MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNjkzIgl9LCAvKiAxNjkzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE2OTQiCX0sIC8qIDE2OTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTY5NSIJfSwgLyogMTY5NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNjk2Igl9LCAvKiAxNjk2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE2OTciCX0sIC8qIDE2OTcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTY5OCIJfSwgLyogMTY5OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNjk5Igl9LCAvKiAxNjk5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE3MDAiCX0sIC8qIDE3MDAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTcwMSIJfSwgLyogMTcwMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNzAyIgl9LCAvKiAxNzAyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE3MDMiCX0sIC8qIDE3MDMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTcwNCIJfSwgLyogMTcwNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNzA1Igl9LCAvKiAxNzA1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE3MDYiCX0sIC8qIDE3MDYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTcwNyIJfSwgLyogMTcwNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNzA4Igl9LCAvKiAxNzA4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE3MDkiCX0sIC8qIDE3MDkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTcxMCIJfSwgLyogMTcxMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNzExIgl9LCAvKiAxNzExICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE3MTIiCX0sIC8qIDE3MTIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTcxMyIJfSwgLyogMTcxMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNzE0Igl9LCAvKiAxNzE0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE3MTUiCX0sIC8qIDE3MTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTcxNiIJfSwgLyogMTcxNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNzE3Igl9LCAvKiAxNzE3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE3MTgiCX0sIC8qIDE3MTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTcxOSIJfSwgLyogMTcxOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNzIwIgl9LCAvKiAxNzIwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE3MjEiCX0sIC8qIDE3MjEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTcyMiIJfSwgLyogMTcyMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNzIzIgl9LCAvKiAxNzIzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE3MjQiCX0sIC8qIDE3MjQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTcyNSIJfSwgLyogMTcyNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNzI2Igl9LCAvKiAxNzI2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE3MjciCX0sIC8qIDE3MjcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTcyOCIJfSwgLyogMTcyOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNzI5Igl9LCAvKiAxNzI5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE3MzAiCX0sIC8qIDE3MzAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTczMSIJfSwgLyogMTczMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNzMyIgl9LCAvKiAxNzMyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE3MzMiCX0sIC8qIDE3MzMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTczNCIJfSwgLyogMTczNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNzM1Igl9LCAvKiAxNzM1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE3MzYiCX0sIC8qIDE3MzYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTczNyIJfSwgLyogMTczNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNzM4Igl9LCAvKiAxNzM4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE3MzkiCX0sIC8qIDE3MzkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTc0MCIJfSwgLyogMTc0MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNzQxIgl9LCAvKiAxNzQxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE3NDIiCX0sIC8qIDE3NDIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTc0MyIJfSwgLyogMTc0MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNzQ0Igl9LCAvKiAxNzQ0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE3NDUiCX0sIC8qIDE3NDUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTc0NiIJfSwgLyogMTc0NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNzQ3Igl9LCAvKiAxNzQ3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE3NDgiCX0sIC8qIDE3NDggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTc0OSIJfSwgLyogMTc0OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNzUwIgl9LCAvKiAxNzUwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE3NTEiCX0sIC8qIDE3NTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTc1MiIJfSwgLyogMTc1MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNzUzIgl9LCAvKiAxNzUzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE3NTQiCX0sIC8qIDE3NTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTc1NSIJfSwgLyogMTc1NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNzU2Igl9LCAvKiAxNzU2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE3NTciCX0sIC8qIDE3NTcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTc1OCIJfSwgLyogMTc1OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNzU5Igl9LCAvKiAxNzU5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE3NjAiCX0sIC8qIDE3NjAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTc2MSIJfSwgLyogMTc2MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNzYyIgl9LCAvKiAxNzYyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE3NjMiCX0sIC8qIDE3NjMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTc2NCIJfSwgLyogMTc2NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNzY1Igl9LCAvKiAxNzY1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE3NjYiCX0sIC8qIDE3NjYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTc2NyIJfSwgLyogMTc2NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNzY4Igl9LCAvKiAxNzY4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE3NjkiCX0sIC8qIDE3NjkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTc3MCIJfSwgLyogMTc3MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNzcxIgl9LCAvKiAxNzcxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE3NzIiCX0sIC8qIDE3NzIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTc3MyIJfSwgLyogMTc3MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNzc0Igl9LCAvKiAxNzc0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE3NzUiCX0sIC8qIDE3NzUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTc3NiIJfSwgLyogMTc3NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNzc3Igl9LCAvKiAxNzc3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE3NzgiCX0sIC8qIDE3NzggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTc3OSIJfSwgLyogMTc3OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNzgwIgl9LCAvKiAxNzgwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE3ODEiCX0sIC8qIDE3ODEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTc4MiIJfSwgLyogMTc4MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNzgzIgl9LCAvKiAxNzgzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE3ODQiCX0sIC8qIDE3ODQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTc4NSIJfSwgLyogMTc4NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNzg2Igl9LCAvKiAxNzg2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE3ODciCX0sIC8qIDE3ODcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTc4OCIJfSwgLyogMTc4OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNzg5Igl9LCAvKiAxNzg5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE3OTAiCX0sIC8qIDE3OTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTc5MSIJfSwgLyogMTc5MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNzkyIgl9LCAvKiAxNzkyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE3OTMiCX0sIC8qIDE3OTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTc5NCIJfSwgLyogMTc5NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNzk1Igl9LCAvKiAxNzk1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE3OTYiCX0sIC8qIDE3OTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTc5NyIJfSwgLyogMTc5NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNzk4Igl9LCAvKiAxNzk4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE3OTkiCX0sIC8qIDE3OTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTgwMCIJfSwgLyogMTgwMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xODAxIgl9LCAvKiAxODAxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE4MDIiCX0sIC8qIDE4MDIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTgwMyIJfSwgLyogMTgwMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xODA0Igl9LCAvKiAxODA0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE4MDUiCX0sIC8qIDE4MDUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTgwNiIJfSwgLyogMTgwNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xODA3Igl9LCAvKiAxODA3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE4MDgiCX0sIC8qIDE4MDggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTgwOSIJfSwgLyogMTgwOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xODEwIgl9LCAvKiAxODEwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE4MTEiCX0sIC8qIDE4MTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTgxMiIJfSwgLyogMTgxMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xODEzIgl9LCAvKiAxODEzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE4MTQiCX0sIC8qIDE4MTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTgxNSIJfSwgLyogMTgxNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xODE2Igl9LCAvKiAxODE2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE4MTciCX0sIC8qIDE4MTcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTgxOCIJfSwgLyogMTgxOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xODE5Igl9LCAvKiAxODE5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE4MjAiCX0sIC8qIDE4MjAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTgyMSIJfSwgLyogMTgyMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xODIyIgl9LCAvKiAxODIyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE4MjMiCX0sIC8qIDE4MjMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTgyNCIJfSwgLyogMTgyNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xODI1Igl9LCAvKiAxODI1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE4MjYiCX0sIC8qIDE4MjYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTgyNyIJfSwgLyogMTgyNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xODI4Igl9LCAvKiAxODI4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE4MjkiCX0sIC8qIDE4MjkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTgzMCIJfSwgLyogMTgzMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xODMxIgl9LCAvKiAxODMxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE4MzIiCX0sIC8qIDE4MzIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTgzMyIJfSwgLyogMTgzMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xODM0Igl9LCAvKiAxODM0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE4MzUiCX0sIC8qIDE4MzUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTgzNiIJfSwgLyogMTgzNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xODM3Igl9LCAvKiAxODM3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE4MzgiCX0sIC8qIDE4MzggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTgzOSIJfSwgLyogMTgzOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xODQwIgl9LCAvKiAxODQwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE4NDEiCX0sIC8qIDE4NDEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTg0MiIJfSwgLyogMTg0MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xODQzIgl9LCAvKiAxODQzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE4NDQiCX0sIC8qIDE4NDQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTg0NSIJfSwgLyogMTg0NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xODQ2Igl9LCAvKiAxODQ2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE4NDciCX0sIC8qIDE4NDcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTg0OCIJfSwgLyogMTg0OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xODQ5Igl9LCAvKiAxODQ5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE4NTAiCX0sIC8qIDE4NTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTg1MSIJfSwgLyogMTg1MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xODUyIgl9LCAvKiAxODUyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE4NTMiCX0sIC8qIDE4NTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTg1NCIJfSwgLyogMTg1NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xODU1Igl9LCAvKiAxODU1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE4NTYiCX0sIC8qIDE4NTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTg1NyIJfSwgLyogMTg1NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xODU4Igl9LCAvKiAxODU4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE4NTkiCX0sIC8qIDE4NTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTg2MCIJfSwgLyogMTg2MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xODYxIgl9LCAvKiAxODYxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE4NjIiCX0sIC8qIDE4NjIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTg2MyIJfSwgLyogMTg2MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xODY0Igl9LCAvKiAxODY0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE4NjUiCX0sIC8qIDE4NjUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTg2NiIJfSwgLyogMTg2NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xODY3Igl9LCAvKiAxODY3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE4NjgiCX0sIC8qIDE4NjggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTg2OSIJfSwgLyogMTg2OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xODcwIgl9LCAvKiAxODcwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE4NzEiCX0sIC8qIDE4NzEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTg3MiIJfSwgLyogMTg3MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xODczIgl9LCAvKiAxODczICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE4NzQiCX0sIC8qIDE4NzQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTg3NSIJfSwgLyogMTg3NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xODc2Igl9LCAvKiAxODc2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE4NzciCX0sIC8qIDE4NzcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTg3OCIJfSwgLyogMTg3OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xODc5Igl9LCAvKiAxODc5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE4ODAiCX0sIC8qIDE4ODAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTg4MSIJfSwgLyogMTg4MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xODgyIgl9LCAvKiAxODgyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE4ODMiCX0sIC8qIDE4ODMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTg4NCIJfSwgLyogMTg4NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xODg1Igl9LCAvKiAxODg1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE4ODYiCX0sIC8qIDE4ODYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTg4NyIJfSwgLyogMTg4NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xODg4Igl9LCAvKiAxODg4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE4ODkiCX0sIC8qIDE4ODkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTg5MCIJfSwgLyogMTg5MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xODkxIgl9LCAvKiAxODkxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE4OTIiCX0sIC8qIDE4OTIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTg5MyIJfSwgLyogMTg5MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xODk0Igl9LCAvKiAxODk0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE4OTUiCX0sIC8qIDE4OTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTg5NiIJfSwgLyogMTg5NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xODk3Igl9LCAvKiAxODk3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE4OTgiCX0sIC8qIDE4OTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTg5OSIJfSwgLyogMTg5OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xOTAwIgl9LCAvKiAxOTAwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE5MDEiCX0sIC8qIDE5MDEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTkwMiIJfSwgLyogMTkwMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xOTAzIgl9LCAvKiAxOTAzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE5MDQiCX0sIC8qIDE5MDQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTkwNSIJfSwgLyogMTkwNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xOTA2Igl9LCAvKiAxOTA2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE5MDciCX0sIC8qIDE5MDcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTkwOCIJfSwgLyogMTkwOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xOTA5Igl9LCAvKiAxOTA5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE5MTAiCX0sIC8qIDE5MTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTkxMSIJfSwgLyogMTkxMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xOTEyIgl9LCAvKiAxOTEyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE5MTMiCX0sIC8qIDE5MTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTkxNCIJfSwgLyogMTkxNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xOTE1Igl9LCAvKiAxOTE1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE5MTYiCX0sIC8qIDE5MTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTkxNyIJfSwgLyogMTkxNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xOTE4Igl9LCAvKiAxOTE4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE5MTkiCX0sIC8qIDE5MTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTkyMCIJfSwgLyogMTkyMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xOTIxIgl9LCAvKiAxOTIxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE5MjIiCX0sIC8qIDE5MjIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTkyMyIJfSwgLyogMTkyMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xOTI0Igl9LCAvKiAxOTI0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE5MjUiCX0sIC8qIDE5MjUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTkyNiIJfSwgLyogMTkyNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xOTI3Igl9LCAvKiAxOTI3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE5MjgiCX0sIC8qIDE5MjggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTkyOSIJfSwgLyogMTkyOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xOTMwIgl9LCAvKiAxOTMwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE5MzEiCX0sIC8qIDE5MzEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTkzMiIJfSwgLyogMTkzMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xOTMzIgl9LCAvKiAxOTMzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE5MzQiCX0sIC8qIDE5MzQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTkzNSIJfSwgLyogMTkzNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xOTM2Igl9LCAvKiAxOTM2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE5MzciCX0sIC8qIDE5MzcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTkzOCIJfSwgLyogMTkzOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xOTM5Igl9LCAvKiAxOTM5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE5NDAiCX0sIC8qIDE5NDAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTk0MSIJfSwgLyogMTk0MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xOTQyIgl9LCAvKiAxOTQyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE5NDMiCX0sIC8qIDE5NDMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTk0NCIJfSwgLyogMTk0NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xOTQ1Igl9LCAvKiAxOTQ1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE5NDYiCX0sIC8qIDE5NDYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTk0NyIJfSwgLyogMTk0NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xOTQ4Igl9LCAvKiAxOTQ4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE5NDkiCX0sIC8qIDE5NDkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTk1MCIJfSwgLyogMTk1MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xOTUxIgl9LCAvKiAxOTUxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE5NTIiCX0sIC8qIDE5NTIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTk1MyIJfSwgLyogMTk1MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xOTU0Igl9LCAvKiAxOTU0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE5NTUiCX0sIC8qIDE5NTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTk1NiIJfSwgLyogMTk1NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xOTU3Igl9LCAvKiAxOTU3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE5NTgiCX0sIC8qIDE5NTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTk1OSIJfSwgLyogMTk1OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xOTYwIgl9LCAvKiAxOTYwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE5NjEiCX0sIC8qIDE5NjEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTk2MiIJfSwgLyogMTk2MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xOTYzIgl9LCAvKiAxOTYzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE5NjQiCX0sIC8qIDE5NjQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTk2NSIJfSwgLyogMTk2NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xOTY2Igl9LCAvKiAxOTY2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE5NjciCX0sIC8qIDE5NjcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTk2OCIJfSwgLyogMTk2OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xOTY5Igl9LCAvKiAxOTY5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE5NzAiCX0sIC8qIDE5NzAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTk3MSIJfSwgLyogMTk3MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xOTcyIgl9LCAvKiAxOTcyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE5NzMiCX0sIC8qIDE5NzMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTk3NCIJfSwgLyogMTk3NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xOTc1Igl9LCAvKiAxOTc1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE5NzYiCX0sIC8qIDE5NzYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTk3NyIJfSwgLyogMTk3NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xOTc4Igl9LCAvKiAxOTc4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE5NzkiCX0sIC8qIDE5NzkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTk4MCIJfSwgLyogMTk4MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xOTgxIgl9LCAvKiAxOTgxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE5ODIiCX0sIC8qIDE5ODIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTk4MyIJfSwgLyogMTk4MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xOTg0Igl9LCAvKiAxOTg0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE5ODUiCX0sIC8qIDE5ODUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTk4NiIJfSwgLyogMTk4NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xOTg3Igl9LCAvKiAxOTg3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE5ODgiCX0sIC8qIDE5ODggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTk4OSIJfSwgLyogMTk4OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xOTkwIgl9LCAvKiAxOTkwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE5OTEiCX0sIC8qIDE5OTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTk5MiIJfSwgLyogMTk5MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xOTkzIgl9LCAvKiAxOTkzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE5OTQiCX0sIC8qIDE5OTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTk5NSIJfSwgLyogMTk5NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xOTk2Igl9LCAvKiAxOTk2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE5OTciCX0sIC8qIDE5OTcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMTk5OCIJfSwgLyogMTk5OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18xOTk5Igl9LCAvKiAxOTk5ICovIC8qIGVuZCBvZiBTWVNWICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfc3lzY2FsbCIJfSwgLyogMjAwMCAqLyAvKiBzdGFydCBvZiBCU0QgNC4zICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfZXhpdCIJfSwgLyogMjAwMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImJzZDQzX2ZvcmsiCX0sIC8qIDIwMDIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJic2Q0M19yZWFkIgl9LCAvKiAyMDAzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfd3JpdGUiCX0sIC8qIDIwMDQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJic2Q0M19vcGVuIgl9LCAvKiAyMDA1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfY2xvc2UiCX0sIC8qIDIwMDYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJic2Q0M193YWl0Igl9LCAvKiAyMDA3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfY3JlYXQiCX0sIC8qIDIwMDggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJic2Q0M19saW5rIgl9LCAvKiAyMDA5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfdW5saW5rIgl9LCAvKiAyMDEwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfZXhlYyIJfSwgLyogMjAxMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImJzZDQzX2NoZGlyIgl9LCAvKiAyMDEyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfdGltZSIJfSwgLyogMjAxMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImJzZDQzX21rbm9kIgl9LCAvKiAyMDE0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfY2htb2QiCX0sIC8qIDIwMTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJic2Q0M19jaG93biIJfSwgLyogMjAxNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImJzZDQzX3NicmVhayIJfSwgLyogMjAxNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImJzZDQzX29sZHN0YXQiCX0sIC8qIDIwMTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJic2Q0M19sc2VlayIJfSwgLyogMjAxOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImJzZDQzX2dldHBpZCIJfSwgLyogMjAyMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImJzZDQzX29sZG1vdW50Igl9LCAvKiAyMDIxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfdW1vdW50Igl9LCAvKiAyMDIyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfc2V0dWlkIgl9LCAvKiAyMDIzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfZ2V0dWlkIgl9LCAvKiAyMDI0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfc3RpbWUiCX0sIC8qIDIwMjUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJic2Q0M19wdHJhY2UiCX0sIC8qIDIwMjYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJic2Q0M19hbGFybSIJfSwgLyogMjAyNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImJzZDQzX29sZGZzdGF0Igl9LCAvKiAyMDI4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfcGF1c2UiCX0sIC8qIDIwMjkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJic2Q0M191dGltZSIJfSwgLyogMjAzMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImJzZDQzX3N0dHkiCX0sIC8qIDIwMzEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJic2Q0M19ndHR5Igl9LCAvKiAyMDMyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfYWNjZXNzIgl9LCAvKiAyMDMzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfbmljZSIJfSwgLyogMjAzNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImJzZDQzX2Z0aW1lIgl9LCAvKiAyMDM1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfc3luYyIJfSwgLyogMjAzNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImJzZDQzX2tpbGwiCX0sIC8qIDIwMzcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJic2Q0M19zdGF0Igl9LCAvKiAyMDM4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfb2xkc2V0cGdycCIJfSwgLyogMjAzOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImJzZDQzX2xzdGF0Igl9LCAvKiAyMDQwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfZHVwIgl9LCAvKiAyMDQxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfcGlwZSIJfSwgLyogMjA0MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImJzZDQzX3RpbWVzIgl9LCAvKiAyMDQzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfcHJvZmlsIgl9LCAvKiAyMDQ0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfbXNnc3lzIgl9LCAvKiAyMDQ1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfc2V0Z2lkIgl9LCAvKiAyMDQ2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfZ2V0Z2lkIgl9LCAvKiAyMDQ3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfc3NpZyIJfSwgLyogMjA0OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMDQ5Igl9LCAvKiAyMDQ5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIwNTAiCX0sIC8qIDIwNTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJic2Q0M19zeXNhY2N0Igl9LCAvKiAyMDUxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfcGh5cyIJfSwgLyogMjA1MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImJzZDQzX2xvY2siCX0sIC8qIDIwNTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJic2Q0M19pb2N0bCIJfSwgLyogMjA1NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImJzZDQzX3JlYm9vdCIJfSwgLyogMjA1NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImJzZDQzX21weGNoYW4iCX0sIC8qIDIwNTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJic2Q0M19zeW1saW5rIgl9LCAvKiAyMDU3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfcmVhZGxpbmsiCX0sIC8qIDIwNTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJic2Q0M19leGVjdmUiCX0sIC8qIDIwNTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJic2Q0M191bWFzayIJfSwgLyogMjA2MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImJzZDQzX2Nocm9vdCIJfSwgLyogMjA2MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImJzZDQzX2ZzdGF0Igl9LCAvKiAyMDYyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIwNjMiCX0sIC8qIDIwNjMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJic2Q0M19nZXRwYWdlc2l6ZSIJfSwgLyogMjA2NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImJzZDQzX21yZW1hcCIJfSwgLyogMjA2NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImJzZDQzX3Zmb3JrIgl9LCAvKiAyMDY2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfdnJlYWQiCX0sIC8qIDIwNjcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJic2Q0M192d3JpdGUiCX0sIC8qIDIwNjggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJic2Q0M19zYnJrIgl9LCAvKiAyMDY5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfc3N0ayIJfSwgLyogMjA3MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImJzZDQzX21tYXAiCX0sIC8qIDIwNzEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJic2Q0M192YWR2aXNlIgl9LCAvKiAyMDcyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfbXVubWFwIgl9LCAvKiAyMDczICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfbXByb3RlY3QiCX0sIC8qIDIwNzQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJic2Q0M19tYWR2aXNlIgl9LCAvKiAyMDc1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfdmhhbmd1cCIJfSwgLyogMjA3NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImJzZDQzX3ZsaW1pdCIJfSwgLyogMjA3NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImJzZDQzX21pbmNvcmUiCX0sIC8qIDIwNzggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJic2Q0M19nZXRncm91cHMiCX0sIC8qIDIwNzkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJic2Q0M19zZXRncm91cHMiCX0sIC8qIDIwODAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJic2Q0M19nZXRwZ3JwIgl9LCAvKiAyMDgxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfc2V0cGdycCIJfSwgLyogMjA4MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImJzZDQzX3NldGl0aW1lciIJfSwgLyogMjA4MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImJzZDQzX3dhaXQzIgl9LCAvKiAyMDg0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfc3dhcG9uIgl9LCAvKiAyMDg1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfZ2V0aXRpbWVyIgl9LCAvKiAyMDg2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfZ2V0aG9zdG5hbWUiCX0sIC8qIDIwODcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJic2Q0M19zZXRob3N0bmFtZSIJfSwgLyogMjA4OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImJzZDQzX2dldGR0YWJsZXNpemUiCX0sIC8qIDIwODkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJic2Q0M19kdXAyIgl9LCAvKiAyMDkwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfZ2V0ZG9wdCIJfSwgLyogMjA5MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImJzZDQzX2ZjbnRsIgl9LCAvKiAyMDkyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfc2VsZWN0Igl9LCAvKiAyMDkzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfc2V0ZG9wdCIJfSwgLyogMjA5NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImJzZDQzX2ZzeW5jIgl9LCAvKiAyMDk1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfc2V0cHJpb3JpdHkiCX0sIC8qIDIwOTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJic2Q0M19zb2NrZXQiCX0sIC8qIDIwOTcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJic2Q0M19jb25uZWN0Igl9LCAvKiAyMDk4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfb2xkYWNjZXB0Igl9LCAvKiAyMDk5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfZ2V0cHJpb3JpdHkiCX0sIC8qIDIxMDAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJic2Q0M19zZW5kIgl9LCAvKiAyMTAxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfcmVjdiIJfSwgLyogMjEwMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImJzZDQzX3NpZ3JldHVybiIJfSwgLyogMjEwMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImJzZDQzX2JpbmQiCX0sIC8qIDIxMDQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJic2Q0M19zZXRzb2Nrb3B0Igl9LCAvKiAyMTA1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfbGlzdGVuIgl9LCAvKiAyMTA2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfdnRpbWVzIgl9LCAvKiAyMTA3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfc2lndmVjIgl9LCAvKiAyMTA4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfc2lnYmxvY2siCX0sIC8qIDIxMDkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJic2Q0M19zaWdzZXRtYXNrIgl9LCAvKiAyMTEwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfc2lncGF1c2UiCX0sIC8qIDIxMTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJic2Q0M19zaWdzdGFjayIJfSwgLyogMjExMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImJzZDQzX29sZHJlY3Ztc2ciCX0sIC8qIDIxMTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJic2Q0M19vbGRzZW5kbXNnIgl9LCAvKiAyMTE0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfdnRyYWNlIgl9LCAvKiAyMTE1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfZ2V0dGltZW9mZGF5Igl9LCAvKiAyMTE2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfZ2V0cnVzYWdlIgl9LCAvKiAyMTE3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfZ2V0c29ja29wdCIJfSwgLyogMjExOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMTE5Igl9LCAvKiAyMTE5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfcmVhZHYiCX0sIC8qIDIxMjAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJic2Q0M193cml0ZXYiCX0sIC8qIDIxMjEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJic2Q0M19zZXR0aW1lb2ZkYXkiCX0sIC8qIDIxMjIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJic2Q0M19mY2hvd24iCX0sIC8qIDIxMjMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJic2Q0M19mY2htb2QiCX0sIC8qIDIxMjQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJic2Q0M19vbGRyZWN2ZnJvbSIJfSwgLyogMjEyNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImJzZDQzX3NldHJldWlkIgl9LCAvKiAyMTI2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfc2V0cmVnaWQiCX0sIC8qIDIxMjcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJic2Q0M19yZW5hbWUiCX0sIC8qIDIxMjggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJic2Q0M190cnVuY2F0ZSIJfSwgLyogMjEyOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImJzZDQzX2Z0cnVuY2F0ZSIJfSwgLyogMjEzMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImJzZDQzX2Zsb2NrIgl9LCAvKiAyMTMxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfc2Vtc3lzIgl9LCAvKiAyMTMyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfc2VuZHRvIgl9LCAvKiAyMTMzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfc2h1dGRvd24iCX0sIC8qIDIxMzQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJic2Q0M19zb2NrZXRwYWlyIgl9LCAvKiAyMTM1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfbWtkaXIiCX0sIC8qIDIxMzYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJic2Q0M19ybWRpciIJfSwgLyogMjEzNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImJzZDQzX3V0aW1lcyIJfSwgLyogMjEzOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImJzZDQzX3NpZ2NsZWFudXAiCX0sIC8qIDIxMzkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJic2Q0M19hZGp0aW1lIgl9LCAvKiAyMTQwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfb2xkZ2V0cGVlcm5hbWUiCX0sIC8qIDIxNDEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJic2Q0M19nZXRob3N0aWQiCX0sIC8qIDIxNDIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJic2Q0M19zZXRob3N0aWQiCX0sIC8qIDIxNDMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJic2Q0M19nZXRybGltaXQiCX0sIC8qIDIxNDQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJic2Q0M19zZXRybGltaXQiCX0sIC8qIDIxNDUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJic2Q0M19raWxscGciCX0sIC8qIDIxNDYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJic2Q0M19zaG1zeXMiCX0sIC8qIDIxNDcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJic2Q0M19xdW90YSIJfSwgLyogMjE0OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImJzZDQzX3FxdW90YSIJfSwgLyogMjE0OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImJzZDQzX29sZGdldHNvY2tuYW1lIgl9LCAvKiAyMTUwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfc3lzbWlwcyIJfSwgLyogMjE1MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImJzZDQzX2NhY2hlZmx1c2giCX0sIC8qIDIxNTIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJic2Q0M19jYWNoZWN0bCIJfSwgLyogMjE1MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImJzZDQzX2RlYnVnIgl9LCAvKiAyMTU0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIxNTUiCX0sIC8qIDIxNTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjE1NiIJfSwgLyogMjE1NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImJzZDQzX25mc19tb3VudCIJfSwgLyogMjE1NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImJzZDQzX25mc19zdmMiCX0sIC8qIDIxNTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJic2Q0M19nZXRkaXJlbnRyaWVzIgl9LCAvKiAyMTU5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfc3RhdGZzIgl9LCAvKiAyMTYwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfZnN0YXRmcyIJfSwgLyogMjE2MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImJzZDQzX3VubW91bnQiCX0sIC8qIDIxNjIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJic2Q0M19hc3luY19kYWVtb24iCX0sIC8qIDIxNjMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJic2Q0M19uZnNfZ2V0ZmgiCX0sIC8qIDIxNjQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJic2Q0M19nZXRkb21haW5uYW1lIgl9LCAvKiAyMTY1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfc2V0ZG9tYWlubmFtZSIJfSwgLyogMjE2NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImJzZDQzX3BjZnNfbW91bnQiCX0sIC8qIDIxNjcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJic2Q0M19xdW90YWN0bCIJfSwgLyogMjE2OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImJzZDQzX29sZGV4cG9ydGZzIgl9LCAvKiAyMTY5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfc21vdW50Igl9LCAvKiAyMTcwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfbWlwc2h3Y29uZiIJfSwgLyogMjE3MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImJzZDQzX2V4cG9ydGZzIgl9LCAvKiAyMTcyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfbmZzZmhfb3BlbiIJfSwgLyogMjE3MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImJzZDQzX2xpYmF0dGFjaCIJfSwgLyogMjE3NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImJzZDQzX2xpYmRldGFjaCIJfSwgLyogMjE3NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImJzZDQzX2FjY2VwdCIJfSwgLyogMjE3NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMTc3Igl9LCAvKiAyMTc3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIxNzgiCX0sIC8qIDIxNzggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJic2Q0M19yZWN2bXNnIgl9LCAvKiAyMTc5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfcmVjdmZyb20iCX0sIC8qIDIxODAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJic2Q0M19zZW5kbXNnIgl9LCAvKiAyMTgxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfZ2V0cGVlcm5hbWUiCX0sIC8qIDIxODIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJic2Q0M19nZXRzb2NrbmFtZSIJfSwgLyogMjE4MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImJzZDQzX2FyZWFkIgl9LCAvKiAyMTg0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfYXdyaXRlIgl9LCAvKiAyMTg1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfbGlzdGlvIgl9LCAvKiAyMTg2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiYnNkNDNfYWNhbmNlbCIJfSwgLyogMjE4NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImJzZDQzX2FzdGF0dXMiCX0sIC8qIDIxODggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJic2Q0M19hd2FpdCIJfSwgLyogMjE4OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImJzZDQzX2FyZWFkdiIJfSwgLyogMjE5MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImJzZDQzX2F3cml0ZXYiCX0sIC8qIDIxOTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjE5MiIJfSwgLyogMjE5MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMTkzIgl9LCAvKiAyMTkzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIxOTQiCX0sIC8qIDIxOTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjE5NSIJfSwgLyogMjE5NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMTk2Igl9LCAvKiAyMTk2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIxOTciCX0sIC8qIDIxOTcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjE5OCIJfSwgLyogMjE5OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMTk5Igl9LCAvKiAyMTk5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIyMDAiCX0sIC8qIDIyMDAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjIwMSIJfSwgLyogMjIwMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMjAyIgl9LCAvKiAyMjAyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIyMDMiCX0sIC8qIDIyMDMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjIwNCIJfSwgLyogMjIwNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMjA1Igl9LCAvKiAyMjA1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIyMDYiCX0sIC8qIDIyMDYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjIwNyIJfSwgLyogMjIwNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMjA4Igl9LCAvKiAyMjA4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIyMDkiCX0sIC8qIDIyMDkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjIxMCIJfSwgLyogMjIxMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMjExIgl9LCAvKiAyMjExICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIyMTIiCX0sIC8qIDIyMTIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjIxMyIJfSwgLyogMjIxMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMjE0Igl9LCAvKiAyMjE0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIyMTUiCX0sIC8qIDIyMTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjIxNiIJfSwgLyogMjIxNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMjE3Igl9LCAvKiAyMjE3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIyMTgiCX0sIC8qIDIyMTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjIxOSIJfSwgLyogMjIxOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMjIwIgl9LCAvKiAyMjIwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIyMjEiCX0sIC8qIDIyMjEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjIyMiIJfSwgLyogMjIyMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMjIzIgl9LCAvKiAyMjIzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIyMjQiCX0sIC8qIDIyMjQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjIyNSIJfSwgLyogMjIyNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMjI2Igl9LCAvKiAyMjI2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIyMjciCX0sIC8qIDIyMjcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjIyOCIJfSwgLyogMjIyOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMjI5Igl9LCAvKiAyMjI5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIyMzAiCX0sIC8qIDIyMzAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjIzMSIJfSwgLyogMjIzMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMjMyIgl9LCAvKiAyMjMyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIyMzMiCX0sIC8qIDIyMzMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjIzNCIJfSwgLyogMjIzNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMjM1Igl9LCAvKiAyMjM1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIyMzYiCX0sIC8qIDIyMzYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjIzNyIJfSwgLyogMjIzNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMjM4Igl9LCAvKiAyMjM4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIyMzkiCX0sIC8qIDIyMzkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjI0MCIJfSwgLyogMjI0MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMjQxIgl9LCAvKiAyMjQxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIyNDIiCX0sIC8qIDIyNDIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjI0MyIJfSwgLyogMjI0MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMjQ0Igl9LCAvKiAyMjQ0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIyNDUiCX0sIC8qIDIyNDUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjI0NiIJfSwgLyogMjI0NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMjQ3Igl9LCAvKiAyMjQ3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIyNDgiCX0sIC8qIDIyNDggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjI0OSIJfSwgLyogMjI0OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMjUwIgl9LCAvKiAyMjUwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIyNTEiCX0sIC8qIDIyNTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjI1MiIJfSwgLyogMjI1MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMjUzIgl9LCAvKiAyMjUzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIyNTQiCX0sIC8qIDIyNTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjI1NSIJfSwgLyogMjI1NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMjU2Igl9LCAvKiAyMjU2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIyNTciCX0sIC8qIDIyNTcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjI1OCIJfSwgLyogMjI1OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMjU5Igl9LCAvKiAyMjU5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIyNjAiCX0sIC8qIDIyNjAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjI2MSIJfSwgLyogMjI2MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMjYyIgl9LCAvKiAyMjYyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIyNjMiCX0sIC8qIDIyNjMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjI2NCIJfSwgLyogMjI2NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMjY1Igl9LCAvKiAyMjY1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIyNjYiCX0sIC8qIDIyNjYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjI2NyIJfSwgLyogMjI2NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMjY4Igl9LCAvKiAyMjY4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIyNjkiCX0sIC8qIDIyNjkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjI3MCIJfSwgLyogMjI3MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMjcxIgl9LCAvKiAyMjcxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIyNzIiCX0sIC8qIDIyNzIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjI3MyIJfSwgLyogMjI3MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMjc0Igl9LCAvKiAyMjc0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIyNzUiCX0sIC8qIDIyNzUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjI3NiIJfSwgLyogMjI3NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMjc3Igl9LCAvKiAyMjc3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIyNzgiCX0sIC8qIDIyNzggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjI3OSIJfSwgLyogMjI3OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMjgwIgl9LCAvKiAyMjgwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIyODEiCX0sIC8qIDIyODEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjI4MiIJfSwgLyogMjI4MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMjgzIgl9LCAvKiAyMjgzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIyODQiCX0sIC8qIDIyODQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjI4NSIJfSwgLyogMjI4NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMjg2Igl9LCAvKiAyMjg2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIyODciCX0sIC8qIDIyODcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjI4OCIJfSwgLyogMjI4OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMjg5Igl9LCAvKiAyMjg5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIyOTAiCX0sIC8qIDIyOTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjI5MSIJfSwgLyogMjI5MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMjkyIgl9LCAvKiAyMjkyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIyOTMiCX0sIC8qIDIyOTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjI5NCIJfSwgLyogMjI5NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMjk1Igl9LCAvKiAyMjk1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIyOTYiCX0sIC8qIDIyOTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjI5NyIJfSwgLyogMjI5NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMjk4Igl9LCAvKiAyMjk4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIyOTkiCX0sIC8qIDIyOTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjMwMCIJfSwgLyogMjMwMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMzAxIgl9LCAvKiAyMzAxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIzMDIiCX0sIC8qIDIzMDIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjMwMyIJfSwgLyogMjMwMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMzA0Igl9LCAvKiAyMzA0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIzMDUiCX0sIC8qIDIzMDUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjMwNiIJfSwgLyogMjMwNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMzA3Igl9LCAvKiAyMzA3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIzMDgiCX0sIC8qIDIzMDggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjMwOSIJfSwgLyogMjMwOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMzEwIgl9LCAvKiAyMzEwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIzMTEiCX0sIC8qIDIzMTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjMxMiIJfSwgLyogMjMxMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMzEzIgl9LCAvKiAyMzEzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIzMTQiCX0sIC8qIDIzMTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjMxNSIJfSwgLyogMjMxNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMzE2Igl9LCAvKiAyMzE2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIzMTciCX0sIC8qIDIzMTcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjMxOCIJfSwgLyogMjMxOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMzE5Igl9LCAvKiAyMzE5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIzMjAiCX0sIC8qIDIzMjAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjMyMSIJfSwgLyogMjMyMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMzIyIgl9LCAvKiAyMzIyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIzMjMiCX0sIC8qIDIzMjMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjMyNCIJfSwgLyogMjMyNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMzI1Igl9LCAvKiAyMzI1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIzMjYiCX0sIC8qIDIzMjYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjMyNyIJfSwgLyogMjMyNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMzI4Igl9LCAvKiAyMzI4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIzMjkiCX0sIC8qIDIzMjkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjMzMCIJfSwgLyogMjMzMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMzMxIgl9LCAvKiAyMzMxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIzMzIiCX0sIC8qIDIzMzIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjMzMyIJfSwgLyogMjMzMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMzM0Igl9LCAvKiAyMzM0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIzMzUiCX0sIC8qIDIzMzUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjMzNiIJfSwgLyogMjMzNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMzM3Igl9LCAvKiAyMzM3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIzMzgiCX0sIC8qIDIzMzggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjMzOSIJfSwgLyogMjMzOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMzQwIgl9LCAvKiAyMzQwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIzNDEiCX0sIC8qIDIzNDEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjM0MiIJfSwgLyogMjM0MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMzQzIgl9LCAvKiAyMzQzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIzNDQiCX0sIC8qIDIzNDQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjM0NSIJfSwgLyogMjM0NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMzQ2Igl9LCAvKiAyMzQ2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIzNDciCX0sIC8qIDIzNDcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjM0OCIJfSwgLyogMjM0OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMzQ5Igl9LCAvKiAyMzQ5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIzNTAiCX0sIC8qIDIzNTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjM1MSIJfSwgLyogMjM1MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMzUyIgl9LCAvKiAyMzUyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIzNTMiCX0sIC8qIDIzNTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjM1NCIJfSwgLyogMjM1NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMzU1Igl9LCAvKiAyMzU1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIzNTYiCX0sIC8qIDIzNTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjM1NyIJfSwgLyogMjM1NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMzU4Igl9LCAvKiAyMzU4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIzNTkiCX0sIC8qIDIzNTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjM2MCIJfSwgLyogMjM2MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMzYxIgl9LCAvKiAyMzYxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIzNjIiCX0sIC8qIDIzNjIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjM2MyIJfSwgLyogMjM2MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMzY0Igl9LCAvKiAyMzY0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIzNjUiCX0sIC8qIDIzNjUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjM2NiIJfSwgLyogMjM2NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMzY3Igl9LCAvKiAyMzY3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIzNjgiCX0sIC8qIDIzNjggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjM2OSIJfSwgLyogMjM2OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMzcwIgl9LCAvKiAyMzcwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIzNzEiCX0sIC8qIDIzNzEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjM3MiIJfSwgLyogMjM3MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMzczIgl9LCAvKiAyMzczICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIzNzQiCX0sIC8qIDIzNzQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjM3NSIJfSwgLyogMjM3NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMzc2Igl9LCAvKiAyMzc2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIzNzciCX0sIC8qIDIzNzcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjM3OCIJfSwgLyogMjM3OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMzc5Igl9LCAvKiAyMzc5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIzODAiCX0sIC8qIDIzODAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjM4MSIJfSwgLyogMjM4MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMzgyIgl9LCAvKiAyMzgyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIzODMiCX0sIC8qIDIzODMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjM4NCIJfSwgLyogMjM4NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMzg1Igl9LCAvKiAyMzg1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIzODYiCX0sIC8qIDIzODYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjM4NyIJfSwgLyogMjM4NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMzg4Igl9LCAvKiAyMzg4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIzODkiCX0sIC8qIDIzODkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjM5MCIJfSwgLyogMjM5MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMzkxIgl9LCAvKiAyMzkxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIzOTIiCX0sIC8qIDIzOTIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjM5MyIJfSwgLyogMjM5MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMzk0Igl9LCAvKiAyMzk0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIzOTUiCX0sIC8qIDIzOTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjM5NiIJfSwgLyogMjM5NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMzk3Igl9LCAvKiAyMzk3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIzOTgiCX0sIC8qIDIzOTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjM5OSIJfSwgLyogMjM5OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNDAwIgl9LCAvKiAyNDAwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI0MDEiCX0sIC8qIDI0MDEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjQwMiIJfSwgLyogMjQwMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNDAzIgl9LCAvKiAyNDAzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI0MDQiCX0sIC8qIDI0MDQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjQwNSIJfSwgLyogMjQwNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNDA2Igl9LCAvKiAyNDA2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI0MDciCX0sIC8qIDI0MDcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjQwOCIJfSwgLyogMjQwOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNDA5Igl9LCAvKiAyNDA5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI0MTAiCX0sIC8qIDI0MTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjQxMSIJfSwgLyogMjQxMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNDEyIgl9LCAvKiAyNDEyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI0MTMiCX0sIC8qIDI0MTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjQxNCIJfSwgLyogMjQxNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNDE1Igl9LCAvKiAyNDE1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI0MTYiCX0sIC8qIDI0MTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjQxNyIJfSwgLyogMjQxNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNDE4Igl9LCAvKiAyNDE4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI0MTkiCX0sIC8qIDI0MTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjQyMCIJfSwgLyogMjQyMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNDIxIgl9LCAvKiAyNDIxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI0MjIiCX0sIC8qIDI0MjIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjQyMyIJfSwgLyogMjQyMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNDI0Igl9LCAvKiAyNDI0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI0MjUiCX0sIC8qIDI0MjUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjQyNiIJfSwgLyogMjQyNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNDI3Igl9LCAvKiAyNDI3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI0MjgiCX0sIC8qIDI0MjggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjQyOSIJfSwgLyogMjQyOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNDMwIgl9LCAvKiAyNDMwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI0MzEiCX0sIC8qIDI0MzEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjQzMiIJfSwgLyogMjQzMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNDMzIgl9LCAvKiAyNDMzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI0MzQiCX0sIC8qIDI0MzQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjQzNSIJfSwgLyogMjQzNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNDM2Igl9LCAvKiAyNDM2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI0MzciCX0sIC8qIDI0MzcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjQzOCIJfSwgLyogMjQzOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNDM5Igl9LCAvKiAyNDM5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI0NDAiCX0sIC8qIDI0NDAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjQ0MSIJfSwgLyogMjQ0MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNDQyIgl9LCAvKiAyNDQyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI0NDMiCX0sIC8qIDI0NDMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjQ0NCIJfSwgLyogMjQ0NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNDQ1Igl9LCAvKiAyNDQ1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI0NDYiCX0sIC8qIDI0NDYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjQ0NyIJfSwgLyogMjQ0NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNDQ4Igl9LCAvKiAyNDQ4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI0NDkiCX0sIC8qIDI0NDkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjQ1MCIJfSwgLyogMjQ1MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNDUxIgl9LCAvKiAyNDUxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI0NTIiCX0sIC8qIDI0NTIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjQ1MyIJfSwgLyogMjQ1MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNDU0Igl9LCAvKiAyNDU0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI0NTUiCX0sIC8qIDI0NTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjQ1NiIJfSwgLyogMjQ1NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNDU3Igl9LCAvKiAyNDU3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI0NTgiCX0sIC8qIDI0NTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjQ1OSIJfSwgLyogMjQ1OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNDYwIgl9LCAvKiAyNDYwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI0NjEiCX0sIC8qIDI0NjEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjQ2MiIJfSwgLyogMjQ2MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNDYzIgl9LCAvKiAyNDYzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI0NjQiCX0sIC8qIDI0NjQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjQ2NSIJfSwgLyogMjQ2NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNDY2Igl9LCAvKiAyNDY2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI0NjciCX0sIC8qIDI0NjcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjQ2OCIJfSwgLyogMjQ2OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNDY5Igl9LCAvKiAyNDY5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI0NzAiCX0sIC8qIDI0NzAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjQ3MSIJfSwgLyogMjQ3MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNDcyIgl9LCAvKiAyNDcyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI0NzMiCX0sIC8qIDI0NzMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjQ3NCIJfSwgLyogMjQ3NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNDc1Igl9LCAvKiAyNDc1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI0NzYiCX0sIC8qIDI0NzYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjQ3NyIJfSwgLyogMjQ3NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNDc4Igl9LCAvKiAyNDc4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI0NzkiCX0sIC8qIDI0NzkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjQ4MCIJfSwgLyogMjQ4MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNDgxIgl9LCAvKiAyNDgxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI0ODIiCX0sIC8qIDI0ODIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjQ4MyIJfSwgLyogMjQ4MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNDg0Igl9LCAvKiAyNDg0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI0ODUiCX0sIC8qIDI0ODUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjQ4NiIJfSwgLyogMjQ4NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNDg3Igl9LCAvKiAyNDg3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI0ODgiCX0sIC8qIDI0ODggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjQ4OSIJfSwgLyogMjQ4OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNDkwIgl9LCAvKiAyNDkwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI0OTEiCX0sIC8qIDI0OTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjQ5MiIJfSwgLyogMjQ5MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNDkzIgl9LCAvKiAyNDkzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI0OTQiCX0sIC8qIDI0OTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjQ5NSIJfSwgLyogMjQ5NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNDk2Igl9LCAvKiAyNDk2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI0OTciCX0sIC8qIDI0OTcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjQ5OCIJfSwgLyogMjQ5OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNDk5Igl9LCAvKiAyNDk5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI1MDAiCX0sIC8qIDI1MDAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjUwMSIJfSwgLyogMjUwMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNTAyIgl9LCAvKiAyNTAyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI1MDMiCX0sIC8qIDI1MDMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjUwNCIJfSwgLyogMjUwNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNTA1Igl9LCAvKiAyNTA1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI1MDYiCX0sIC8qIDI1MDYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjUwNyIJfSwgLyogMjUwNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNTA4Igl9LCAvKiAyNTA4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI1MDkiCX0sIC8qIDI1MDkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjUxMCIJfSwgLyogMjUxMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNTExIgl9LCAvKiAyNTExICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI1MTIiCX0sIC8qIDI1MTIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjUxMyIJfSwgLyogMjUxMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNTE0Igl9LCAvKiAyNTE0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI1MTUiCX0sIC8qIDI1MTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjUxNiIJfSwgLyogMjUxNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNTE3Igl9LCAvKiAyNTE3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI1MTgiCX0sIC8qIDI1MTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjUxOSIJfSwgLyogMjUxOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNTIwIgl9LCAvKiAyNTIwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI1MjEiCX0sIC8qIDI1MjEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjUyMiIJfSwgLyogMjUyMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNTIzIgl9LCAvKiAyNTIzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI1MjQiCX0sIC8qIDI1MjQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjUyNSIJfSwgLyogMjUyNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNTI2Igl9LCAvKiAyNTI2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI1MjciCX0sIC8qIDI1MjcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjUyOCIJfSwgLyogMjUyOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNTI5Igl9LCAvKiAyNTI5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI1MzAiCX0sIC8qIDI1MzAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjUzMSIJfSwgLyogMjUzMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNTMyIgl9LCAvKiAyNTMyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI1MzMiCX0sIC8qIDI1MzMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjUzNCIJfSwgLyogMjUzNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNTM1Igl9LCAvKiAyNTM1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI1MzYiCX0sIC8qIDI1MzYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjUzNyIJfSwgLyogMjUzNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNTM4Igl9LCAvKiAyNTM4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI1MzkiCX0sIC8qIDI1MzkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjU0MCIJfSwgLyogMjU0MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNTQxIgl9LCAvKiAyNTQxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI1NDIiCX0sIC8qIDI1NDIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjU0MyIJfSwgLyogMjU0MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNTQ0Igl9LCAvKiAyNTQ0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI1NDUiCX0sIC8qIDI1NDUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjU0NiIJfSwgLyogMjU0NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNTQ3Igl9LCAvKiAyNTQ3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI1NDgiCX0sIC8qIDI1NDggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjU0OSIJfSwgLyogMjU0OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNTUwIgl9LCAvKiAyNTUwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI1NTEiCX0sIC8qIDI1NTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjU1MiIJfSwgLyogMjU1MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNTUzIgl9LCAvKiAyNTUzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI1NTQiCX0sIC8qIDI1NTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjU1NSIJfSwgLyogMjU1NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNTU2Igl9LCAvKiAyNTU2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI1NTciCX0sIC8qIDI1NTcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjU1OCIJfSwgLyogMjU1OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNTU5Igl9LCAvKiAyNTU5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI1NjAiCX0sIC8qIDI1NjAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjU2MSIJfSwgLyogMjU2MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNTYyIgl9LCAvKiAyNTYyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI1NjMiCX0sIC8qIDI1NjMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjU2NCIJfSwgLyogMjU2NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNTY1Igl9LCAvKiAyNTY1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI1NjYiCX0sIC8qIDI1NjYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjU2NyIJfSwgLyogMjU2NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNTY4Igl9LCAvKiAyNTY4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI1NjkiCX0sIC8qIDI1NjkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjU3MCIJfSwgLyogMjU3MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNTcxIgl9LCAvKiAyNTcxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI1NzIiCX0sIC8qIDI1NzIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjU3MyIJfSwgLyogMjU3MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNTc0Igl9LCAvKiAyNTc0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI1NzUiCX0sIC8qIDI1NzUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjU3NiIJfSwgLyogMjU3NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNTc3Igl9LCAvKiAyNTc3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI1NzgiCX0sIC8qIDI1NzggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjU3OSIJfSwgLyogMjU3OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNTgwIgl9LCAvKiAyNTgwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI1ODEiCX0sIC8qIDI1ODEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjU4MiIJfSwgLyogMjU4MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNTgzIgl9LCAvKiAyNTgzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI1ODQiCX0sIC8qIDI1ODQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjU4NSIJfSwgLyogMjU4NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNTg2Igl9LCAvKiAyNTg2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI1ODciCX0sIC8qIDI1ODcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjU4OCIJfSwgLyogMjU4OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNTg5Igl9LCAvKiAyNTg5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI1OTAiCX0sIC8qIDI1OTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjU5MSIJfSwgLyogMjU5MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNTkyIgl9LCAvKiAyNTkyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI1OTMiCX0sIC8qIDI1OTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjU5NCIJfSwgLyogMjU5NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNTk1Igl9LCAvKiAyNTk1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI1OTYiCX0sIC8qIDI1OTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjU5NyIJfSwgLyogMjU5NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNTk4Igl9LCAvKiAyNTk4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI1OTkiCX0sIC8qIDI1OTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjYwMCIJfSwgLyogMjYwMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNjAxIgl9LCAvKiAyNjAxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI2MDIiCX0sIC8qIDI2MDIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjYwMyIJfSwgLyogMjYwMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNjA0Igl9LCAvKiAyNjA0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI2MDUiCX0sIC8qIDI2MDUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjYwNiIJfSwgLyogMjYwNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNjA3Igl9LCAvKiAyNjA3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI2MDgiCX0sIC8qIDI2MDggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjYwOSIJfSwgLyogMjYwOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNjEwIgl9LCAvKiAyNjEwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI2MTEiCX0sIC8qIDI2MTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjYxMiIJfSwgLyogMjYxMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNjEzIgl9LCAvKiAyNjEzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI2MTQiCX0sIC8qIDI2MTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjYxNSIJfSwgLyogMjYxNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNjE2Igl9LCAvKiAyNjE2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI2MTciCX0sIC8qIDI2MTcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjYxOCIJfSwgLyogMjYxOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNjE5Igl9LCAvKiAyNjE5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI2MjAiCX0sIC8qIDI2MjAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjYyMSIJfSwgLyogMjYyMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNjIyIgl9LCAvKiAyNjIyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI2MjMiCX0sIC8qIDI2MjMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjYyNCIJfSwgLyogMjYyNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNjI1Igl9LCAvKiAyNjI1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI2MjYiCX0sIC8qIDI2MjYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjYyNyIJfSwgLyogMjYyNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNjI4Igl9LCAvKiAyNjI4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI2MjkiCX0sIC8qIDI2MjkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjYzMCIJfSwgLyogMjYzMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNjMxIgl9LCAvKiAyNjMxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI2MzIiCX0sIC8qIDI2MzIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjYzMyIJfSwgLyogMjYzMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNjM0Igl9LCAvKiAyNjM0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI2MzUiCX0sIC8qIDI2MzUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjYzNiIJfSwgLyogMjYzNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNjM3Igl9LCAvKiAyNjM3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI2MzgiCX0sIC8qIDI2MzggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjYzOSIJfSwgLyogMjYzOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNjQwIgl9LCAvKiAyNjQwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI2NDEiCX0sIC8qIDI2NDEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjY0MiIJfSwgLyogMjY0MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNjQzIgl9LCAvKiAyNjQzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI2NDQiCX0sIC8qIDI2NDQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjY0NSIJfSwgLyogMjY0NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNjQ2Igl9LCAvKiAyNjQ2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI2NDciCX0sIC8qIDI2NDcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjY0OCIJfSwgLyogMjY0OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNjQ5Igl9LCAvKiAyNjQ5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI2NTAiCX0sIC8qIDI2NTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjY1MSIJfSwgLyogMjY1MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNjUyIgl9LCAvKiAyNjUyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI2NTMiCX0sIC8qIDI2NTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjY1NCIJfSwgLyogMjY1NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNjU1Igl9LCAvKiAyNjU1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI2NTYiCX0sIC8qIDI2NTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjY1NyIJfSwgLyogMjY1NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNjU4Igl9LCAvKiAyNjU4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI2NTkiCX0sIC8qIDI2NTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjY2MCIJfSwgLyogMjY2MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNjYxIgl9LCAvKiAyNjYxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI2NjIiCX0sIC8qIDI2NjIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjY2MyIJfSwgLyogMjY2MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNjY0Igl9LCAvKiAyNjY0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI2NjUiCX0sIC8qIDI2NjUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjY2NiIJfSwgLyogMjY2NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNjY3Igl9LCAvKiAyNjY3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI2NjgiCX0sIC8qIDI2NjggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjY2OSIJfSwgLyogMjY2OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNjcwIgl9LCAvKiAyNjcwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI2NzEiCX0sIC8qIDI2NzEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjY3MiIJfSwgLyogMjY3MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNjczIgl9LCAvKiAyNjczICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI2NzQiCX0sIC8qIDI2NzQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjY3NSIJfSwgLyogMjY3NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNjc2Igl9LCAvKiAyNjc2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI2NzciCX0sIC8qIDI2NzcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjY3OCIJfSwgLyogMjY3OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNjc5Igl9LCAvKiAyNjc5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI2ODAiCX0sIC8qIDI2ODAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjY4MSIJfSwgLyogMjY4MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNjgyIgl9LCAvKiAyNjgyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI2ODMiCX0sIC8qIDI2ODMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjY4NCIJfSwgLyogMjY4NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNjg1Igl9LCAvKiAyNjg1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI2ODYiCX0sIC8qIDI2ODYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjY4NyIJfSwgLyogMjY4NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNjg4Igl9LCAvKiAyNjg4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI2ODkiCX0sIC8qIDI2ODkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjY5MCIJfSwgLyogMjY5MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNjkxIgl9LCAvKiAyNjkxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI2OTIiCX0sIC8qIDI2OTIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjY5MyIJfSwgLyogMjY5MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNjk0Igl9LCAvKiAyNjk0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI2OTUiCX0sIC8qIDI2OTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjY5NiIJfSwgLyogMjY5NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNjk3Igl9LCAvKiAyNjk3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI2OTgiCX0sIC8qIDI2OTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjY5OSIJfSwgLyogMjY5OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNzAwIgl9LCAvKiAyNzAwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI3MDEiCX0sIC8qIDI3MDEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjcwMiIJfSwgLyogMjcwMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNzAzIgl9LCAvKiAyNzAzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI3MDQiCX0sIC8qIDI3MDQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjcwNSIJfSwgLyogMjcwNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNzA2Igl9LCAvKiAyNzA2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI3MDciCX0sIC8qIDI3MDcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjcwOCIJfSwgLyogMjcwOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNzA5Igl9LCAvKiAyNzA5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI3MTAiCX0sIC8qIDI3MTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjcxMSIJfSwgLyogMjcxMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNzEyIgl9LCAvKiAyNzEyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI3MTMiCX0sIC8qIDI3MTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjcxNCIJfSwgLyogMjcxNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNzE1Igl9LCAvKiAyNzE1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI3MTYiCX0sIC8qIDI3MTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjcxNyIJfSwgLyogMjcxNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNzE4Igl9LCAvKiAyNzE4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI3MTkiCX0sIC8qIDI3MTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjcyMCIJfSwgLyogMjcyMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNzIxIgl9LCAvKiAyNzIxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI3MjIiCX0sIC8qIDI3MjIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjcyMyIJfSwgLyogMjcyMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNzI0Igl9LCAvKiAyNzI0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI3MjUiCX0sIC8qIDI3MjUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjcyNiIJfSwgLyogMjcyNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNzI3Igl9LCAvKiAyNzI3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI3MjgiCX0sIC8qIDI3MjggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjcyOSIJfSwgLyogMjcyOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNzMwIgl9LCAvKiAyNzMwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI3MzEiCX0sIC8qIDI3MzEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjczMiIJfSwgLyogMjczMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNzMzIgl9LCAvKiAyNzMzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI3MzQiCX0sIC8qIDI3MzQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjczNSIJfSwgLyogMjczNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNzM2Igl9LCAvKiAyNzM2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI3MzciCX0sIC8qIDI3MzcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjczOCIJfSwgLyogMjczOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNzM5Igl9LCAvKiAyNzM5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI3NDAiCX0sIC8qIDI3NDAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjc0MSIJfSwgLyogMjc0MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNzQyIgl9LCAvKiAyNzQyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI3NDMiCX0sIC8qIDI3NDMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjc0NCIJfSwgLyogMjc0NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNzQ1Igl9LCAvKiAyNzQ1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI3NDYiCX0sIC8qIDI3NDYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjc0NyIJfSwgLyogMjc0NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNzQ4Igl9LCAvKiAyNzQ4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI3NDkiCX0sIC8qIDI3NDkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjc1MCIJfSwgLyogMjc1MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNzUxIgl9LCAvKiAyNzUxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI3NTIiCX0sIC8qIDI3NTIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjc1MyIJfSwgLyogMjc1MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNzU0Igl9LCAvKiAyNzU0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI3NTUiCX0sIC8qIDI3NTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjc1NiIJfSwgLyogMjc1NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNzU3Igl9LCAvKiAyNzU3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI3NTgiCX0sIC8qIDI3NTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjc1OSIJfSwgLyogMjc1OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNzYwIgl9LCAvKiAyNzYwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI3NjEiCX0sIC8qIDI3NjEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjc2MiIJfSwgLyogMjc2MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNzYzIgl9LCAvKiAyNzYzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI3NjQiCX0sIC8qIDI3NjQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjc2NSIJfSwgLyogMjc2NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNzY2Igl9LCAvKiAyNzY2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI3NjciCX0sIC8qIDI3NjcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjc2OCIJfSwgLyogMjc2OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNzY5Igl9LCAvKiAyNzY5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI3NzAiCX0sIC8qIDI3NzAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjc3MSIJfSwgLyogMjc3MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNzcyIgl9LCAvKiAyNzcyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI3NzMiCX0sIC8qIDI3NzMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjc3NCIJfSwgLyogMjc3NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNzc1Igl9LCAvKiAyNzc1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI3NzYiCX0sIC8qIDI3NzYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjc3NyIJfSwgLyogMjc3NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNzc4Igl9LCAvKiAyNzc4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI3NzkiCX0sIC8qIDI3NzkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjc4MCIJfSwgLyogMjc4MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNzgxIgl9LCAvKiAyNzgxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI3ODIiCX0sIC8qIDI3ODIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjc4MyIJfSwgLyogMjc4MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNzg0Igl9LCAvKiAyNzg0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI3ODUiCX0sIC8qIDI3ODUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjc4NiIJfSwgLyogMjc4NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNzg3Igl9LCAvKiAyNzg3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI3ODgiCX0sIC8qIDI3ODggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjc4OSIJfSwgLyogMjc4OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNzkwIgl9LCAvKiAyNzkwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI3OTEiCX0sIC8qIDI3OTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjc5MiIJfSwgLyogMjc5MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNzkzIgl9LCAvKiAyNzkzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI3OTQiCX0sIC8qIDI3OTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjc5NSIJfSwgLyogMjc5NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNzk2Igl9LCAvKiAyNzk2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI3OTciCX0sIC8qIDI3OTcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjc5OCIJfSwgLyogMjc5OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNzk5Igl9LCAvKiAyNzk5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI4MDAiCX0sIC8qIDI4MDAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjgwMSIJfSwgLyogMjgwMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yODAyIgl9LCAvKiAyODAyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI4MDMiCX0sIC8qIDI4MDMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjgwNCIJfSwgLyogMjgwNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yODA1Igl9LCAvKiAyODA1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI4MDYiCX0sIC8qIDI4MDYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjgwNyIJfSwgLyogMjgwNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yODA4Igl9LCAvKiAyODA4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI4MDkiCX0sIC8qIDI4MDkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjgxMCIJfSwgLyogMjgxMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yODExIgl9LCAvKiAyODExICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI4MTIiCX0sIC8qIDI4MTIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjgxMyIJfSwgLyogMjgxMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yODE0Igl9LCAvKiAyODE0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI4MTUiCX0sIC8qIDI4MTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjgxNiIJfSwgLyogMjgxNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yODE3Igl9LCAvKiAyODE3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI4MTgiCX0sIC8qIDI4MTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjgxOSIJfSwgLyogMjgxOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yODIwIgl9LCAvKiAyODIwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI4MjEiCX0sIC8qIDI4MjEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjgyMiIJfSwgLyogMjgyMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yODIzIgl9LCAvKiAyODIzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI4MjQiCX0sIC8qIDI4MjQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjgyNSIJfSwgLyogMjgyNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yODI2Igl9LCAvKiAyODI2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI4MjciCX0sIC8qIDI4MjcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjgyOCIJfSwgLyogMjgyOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yODI5Igl9LCAvKiAyODI5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI4MzAiCX0sIC8qIDI4MzAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjgzMSIJfSwgLyogMjgzMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yODMyIgl9LCAvKiAyODMyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI4MzMiCX0sIC8qIDI4MzMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjgzNCIJfSwgLyogMjgzNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yODM1Igl9LCAvKiAyODM1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI4MzYiCX0sIC8qIDI4MzYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjgzNyIJfSwgLyogMjgzNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yODM4Igl9LCAvKiAyODM4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI4MzkiCX0sIC8qIDI4MzkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjg0MCIJfSwgLyogMjg0MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yODQxIgl9LCAvKiAyODQxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI4NDIiCX0sIC8qIDI4NDIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjg0MyIJfSwgLyogMjg0MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yODQ0Igl9LCAvKiAyODQ0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI4NDUiCX0sIC8qIDI4NDUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjg0NiIJfSwgLyogMjg0NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yODQ3Igl9LCAvKiAyODQ3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI4NDgiCX0sIC8qIDI4NDggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjg0OSIJfSwgLyogMjg0OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yODUwIgl9LCAvKiAyODUwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI4NTEiCX0sIC8qIDI4NTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjg1MiIJfSwgLyogMjg1MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yODUzIgl9LCAvKiAyODUzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI4NTQiCX0sIC8qIDI4NTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjg1NSIJfSwgLyogMjg1NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yODU2Igl9LCAvKiAyODU2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI4NTciCX0sIC8qIDI4NTcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjg1OCIJfSwgLyogMjg1OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yODU5Igl9LCAvKiAyODU5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI4NjAiCX0sIC8qIDI4NjAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjg2MSIJfSwgLyogMjg2MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yODYyIgl9LCAvKiAyODYyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI4NjMiCX0sIC8qIDI4NjMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjg2NCIJfSwgLyogMjg2NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yODY1Igl9LCAvKiAyODY1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI4NjYiCX0sIC8qIDI4NjYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjg2NyIJfSwgLyogMjg2NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yODY4Igl9LCAvKiAyODY4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI4NjkiCX0sIC8qIDI4NjkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjg3MCIJfSwgLyogMjg3MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yODcxIgl9LCAvKiAyODcxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI4NzIiCX0sIC8qIDI4NzIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjg3MyIJfSwgLyogMjg3MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yODc0Igl9LCAvKiAyODc0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI4NzUiCX0sIC8qIDI4NzUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjg3NiIJfSwgLyogMjg3NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yODc3Igl9LCAvKiAyODc3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI4NzgiCX0sIC8qIDI4NzggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjg3OSIJfSwgLyogMjg3OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yODgwIgl9LCAvKiAyODgwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI4ODEiCX0sIC8qIDI4ODEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjg4MiIJfSwgLyogMjg4MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yODgzIgl9LCAvKiAyODgzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI4ODQiCX0sIC8qIDI4ODQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjg4NSIJfSwgLyogMjg4NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yODg2Igl9LCAvKiAyODg2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI4ODciCX0sIC8qIDI4ODcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjg4OCIJfSwgLyogMjg4OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yODg5Igl9LCAvKiAyODg5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI4OTAiCX0sIC8qIDI4OTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjg5MSIJfSwgLyogMjg5MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yODkyIgl9LCAvKiAyODkyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI4OTMiCX0sIC8qIDI4OTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjg5NCIJfSwgLyogMjg5NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yODk1Igl9LCAvKiAyODk1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI4OTYiCX0sIC8qIDI4OTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjg5NyIJfSwgLyogMjg5NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yODk4Igl9LCAvKiAyODk4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI4OTkiCX0sIC8qIDI4OTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjkwMCIJfSwgLyogMjkwMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yOTAxIgl9LCAvKiAyOTAxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI5MDIiCX0sIC8qIDI5MDIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjkwMyIJfSwgLyogMjkwMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yOTA0Igl9LCAvKiAyOTA0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI5MDUiCX0sIC8qIDI5MDUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjkwNiIJfSwgLyogMjkwNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yOTA3Igl9LCAvKiAyOTA3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI5MDgiCX0sIC8qIDI5MDggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjkwOSIJfSwgLyogMjkwOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yOTEwIgl9LCAvKiAyOTEwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI5MTEiCX0sIC8qIDI5MTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjkxMiIJfSwgLyogMjkxMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yOTEzIgl9LCAvKiAyOTEzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI5MTQiCX0sIC8qIDI5MTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjkxNSIJfSwgLyogMjkxNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yOTE2Igl9LCAvKiAyOTE2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI5MTciCX0sIC8qIDI5MTcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjkxOCIJfSwgLyogMjkxOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yOTE5Igl9LCAvKiAyOTE5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI5MjAiCX0sIC8qIDI5MjAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjkyMSIJfSwgLyogMjkyMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yOTIyIgl9LCAvKiAyOTIyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI5MjMiCX0sIC8qIDI5MjMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjkyNCIJfSwgLyogMjkyNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yOTI1Igl9LCAvKiAyOTI1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI5MjYiCX0sIC8qIDI5MjYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjkyNyIJfSwgLyogMjkyNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yOTI4Igl9LCAvKiAyOTI4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI5MjkiCX0sIC8qIDI5MjkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjkzMCIJfSwgLyogMjkzMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yOTMxIgl9LCAvKiAyOTMxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI5MzIiCX0sIC8qIDI5MzIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjkzMyIJfSwgLyogMjkzMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yOTM0Igl9LCAvKiAyOTM0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI5MzUiCX0sIC8qIDI5MzUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjkzNiIJfSwgLyogMjkzNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yOTM3Igl9LCAvKiAyOTM3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI5MzgiCX0sIC8qIDI5MzggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjkzOSIJfSwgLyogMjkzOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yOTQwIgl9LCAvKiAyOTQwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI5NDEiCX0sIC8qIDI5NDEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjk0MiIJfSwgLyogMjk0MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yOTQzIgl9LCAvKiAyOTQzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI5NDQiCX0sIC8qIDI5NDQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjk0NSIJfSwgLyogMjk0NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yOTQ2Igl9LCAvKiAyOTQ2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI5NDciCX0sIC8qIDI5NDcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjk0OCIJfSwgLyogMjk0OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yOTQ5Igl9LCAvKiAyOTQ5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI5NTAiCX0sIC8qIDI5NTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjk1MSIJfSwgLyogMjk1MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yOTUyIgl9LCAvKiAyOTUyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI5NTMiCX0sIC8qIDI5NTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjk1NCIJfSwgLyogMjk1NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yOTU1Igl9LCAvKiAyOTU1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI5NTYiCX0sIC8qIDI5NTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjk1NyIJfSwgLyogMjk1NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yOTU4Igl9LCAvKiAyOTU4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI5NTkiCX0sIC8qIDI5NTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjk2MCIJfSwgLyogMjk2MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yOTYxIgl9LCAvKiAyOTYxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI5NjIiCX0sIC8qIDI5NjIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjk2MyIJfSwgLyogMjk2MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yOTY0Igl9LCAvKiAyOTY0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI5NjUiCX0sIC8qIDI5NjUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjk2NiIJfSwgLyogMjk2NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yOTY3Igl9LCAvKiAyOTY3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI5NjgiCX0sIC8qIDI5NjggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjk2OSIJfSwgLyogMjk2OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yOTcwIgl9LCAvKiAyOTcwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI5NzEiCX0sIC8qIDI5NzEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjk3MiIJfSwgLyogMjk3MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yOTczIgl9LCAvKiAyOTczICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI5NzQiCX0sIC8qIDI5NzQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjk3NSIJfSwgLyogMjk3NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yOTc2Igl9LCAvKiAyOTc2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI5NzciCX0sIC8qIDI5NzcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjk3OCIJfSwgLyogMjk3OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yOTc5Igl9LCAvKiAyOTc5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI5ODAiCX0sIC8qIDI5ODAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjk4MSIJfSwgLyogMjk4MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yOTgyIgl9LCAvKiAyOTgyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI5ODMiCX0sIC8qIDI5ODMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjk4NCIJfSwgLyogMjk4NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yOTg1Igl9LCAvKiAyOTg1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI5ODYiCX0sIC8qIDI5ODYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjk4NyIJfSwgLyogMjk4NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yOTg4Igl9LCAvKiAyOTg4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI5ODkiCX0sIC8qIDI5ODkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjk5MCIJfSwgLyogMjk5MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yOTkxIgl9LCAvKiAyOTkxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI5OTIiCX0sIC8qIDI5OTIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjk5MyIJfSwgLyogMjk5MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yOTk0Igl9LCAvKiAyOTk0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI5OTUiCX0sIC8qIDI5OTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjk5NiIJfSwgLyogMjk5NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18yOTk3Igl9LCAvKiAyOTk3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI5OTgiCX0sIC8qIDI5OTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjk5OSIJfSwgLyogMjk5OSAqLyAvKiBlbmQgb2YgQlNEIDQuMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInBvc2l4X3N5c2NhbGwiCX0sIC8qIDMwMDAgKi8gLyogc3RhcnQgb2YgUE9TSVggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJwb3NpeF9leGl0Igl9LCAvKiAzMDAxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkicG9zaXhfZm9yayIJfSwgLyogMzAwMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInBvc2l4X3JlYWQiCX0sIC8qIDMwMDMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJwb3NpeF93cml0ZSIJfSwgLyogMzAwNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInBvc2l4X29wZW4iCX0sIC8qIDMwMDUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJwb3NpeF9jbG9zZSIJfSwgLyogMzAwNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInBvc2l4X3dhaXQiCX0sIC8qIDMwMDcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJwb3NpeF9jcmVhdCIJfSwgLyogMzAwOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInBvc2l4X2xpbmsiCX0sIC8qIDMwMDkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJwb3NpeF91bmxpbmsiCX0sIC8qIDMwMTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJwb3NpeF9leGVjIgl9LCAvKiAzMDExICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkicG9zaXhfY2hkaXIiCX0sIC8qIDMwMTIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJwb3NpeF9ndGltZSIJfSwgLyogMzAxMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInBvc2l4X21rbm9kIgl9LCAvKiAzMDE0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkicG9zaXhfY2htb2QiCX0sIC8qIDMwMTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJwb3NpeF9jaG93biIJfSwgLyogMzAxNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInBvc2l4X3NicmVhayIJfSwgLyogMzAxNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInBvc2l4X3N0YXQiCX0sIC8qIDMwMTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJwb3NpeF9sc2VlayIJfSwgLyogMzAxOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInBvc2l4X2dldHBpZCIJfSwgLyogMzAyMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInBvc2l4X21vdW50Igl9LCAvKiAzMDIxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkicG9zaXhfdW1vdW50Igl9LCAvKiAzMDIyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkicG9zaXhfc2V0dWlkIgl9LCAvKiAzMDIzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkicG9zaXhfZ2V0dWlkIgl9LCAvKiAzMDI0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkicG9zaXhfc3RpbWUiCX0sIC8qIDMwMjUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJwb3NpeF9wdHJhY2UiCX0sIC8qIDMwMjYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJwb3NpeF9hbGFybSIJfSwgLyogMzAyNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInBvc2l4X2ZzdGF0Igl9LCAvKiAzMDI4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkicG9zaXhfcGF1c2UiCX0sIC8qIDMwMjkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJwb3NpeF91dGltZSIJfSwgLyogMzAzMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInBvc2l4X3N0dHkiCX0sIC8qIDMwMzEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJwb3NpeF9ndHR5Igl9LCAvKiAzMDMyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkicG9zaXhfYWNjZXNzIgl9LCAvKiAzMDMzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkicG9zaXhfbmljZSIJfSwgLyogMzAzNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInBvc2l4X3N0YXRmcyIJfSwgLyogMzAzNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInBvc2l4X3N5bmMiCX0sIC8qIDMwMzYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJwb3NpeF9raWxsIgl9LCAvKiAzMDM3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkicG9zaXhfZnN0YXRmcyIJfSwgLyogMzAzOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInBvc2l4X2dldHBncnAiCX0sIC8qIDMwMzkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJwb3NpeF9zeXNzZ2kiCX0sIC8qIDMwNDAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJwb3NpeF9kdXAiCX0sIC8qIDMwNDEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJwb3NpeF9waXBlIgl9LCAvKiAzMDQyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkicG9zaXhfdGltZXMiCX0sIC8qIDMwNDMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJwb3NpeF9wcm9maWwiCX0sIC8qIDMwNDQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJwb3NpeF9sb2NrIgl9LCAvKiAzMDQ1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkicG9zaXhfc2V0Z2lkIgl9LCAvKiAzMDQ2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkicG9zaXhfZ2V0Z2lkIgl9LCAvKiAzMDQ3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkicG9zaXhfc2lnIgl9LCAvKiAzMDQ4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkicG9zaXhfbXNnc3lzIgl9LCAvKiAzMDQ5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkicG9zaXhfc3lzbWlwcyIJfSwgLyogMzA1MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInBvc2l4X3N5c2FjY3QiCX0sIC8qIDMwNTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJwb3NpeF9zaG1zeXMiCX0sIC8qIDMwNTIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJwb3NpeF9zZW1zeXMiCX0sIC8qIDMwNTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJwb3NpeF9pb2N0bCIJfSwgLyogMzA1NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInBvc2l4X3VhZG1pbiIJfSwgLyogMzA1NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInBvc2l4X2V4Y2giCX0sIC8qIDMwNTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJwb3NpeF91dHNzeXMiCX0sIC8qIDMwNTcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzA1OCIsCX0sIC8qIDMwNTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJwb3NpeF9leGVjZSIJfSwgLyogMzA1OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInBvc2l4X3VtYXNrIgl9LCAvKiAzMDYwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkicG9zaXhfY2hyb290Igl9LCAvKiAzMDYxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkicG9zaXhfZmNudGwiCX0sIC8qIDMwNjIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJwb3NpeF91bGltaXQiCX0sIC8qIDMwNjMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzA2NCIsCX0sIC8qIDMwNjQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzA2NSIsCX0sIC8qIDMwNjUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzA2NiIsCX0sIC8qIDMwNjYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzA2NyIsCX0sIC8qIDMwNjcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzA2OCIsCX0sIC8qIDMwNjggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzA2OSIsCX0sIC8qIDMwNjkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJwb3NpeF9hZHZmcyIJfSwgLyogMzA3MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInBvc2l4X3VuYWR2ZnMiCX0sIC8qIDMwNzEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJwb3NpeF9ybW91bnQiCX0sIC8qIDMwNzIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJwb3NpeF9ydW1vdW50Igl9LCAvKiAzMDczICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkicG9zaXhfcmZzdGFydCIJfSwgLyogMzA3NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMDc1IiwJfSwgLyogMzA3NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInBvc2l4X3JkZWJ1ZyIJfSwgLyogMzA3NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInBvc2l4X3Jmc3RvcCIJfSwgLyogMzA3NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInBvc2l4X3Jmc3lzIgl9LCAvKiAzMDc4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkicG9zaXhfcm1kaXIiCX0sIC8qIDMwNzkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJwb3NpeF9ta2RpciIJfSwgLyogMzA4MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInBvc2l4X2dldGRlbnRzIgl9LCAvKiAzMDgxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkicG9zaXhfc2dpbmFwIgl9LCAvKiAzMDgyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkicG9zaXhfc2dpa29wdCIJfSwgLyogMzA4MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInBvc2l4X3N5c2ZzIgl9LCAvKiAzMDg0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkicG9zaXhfZ2V0bXNnIgl9LCAvKiAzMDg1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkicG9zaXhfcHV0bXNnIgl9LCAvKiAzMDg2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkicG9zaXhfcG9sbCIJfSwgLyogMzA4NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInBvc2l4X3NpZ3JldHVybiIJfSwgLyogMzA4OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInBvc2l4X2FjY2VwdCIJfSwgLyogMzA4OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInBvc2l4X2JpbmQiCX0sIC8qIDMwOTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJwb3NpeF9jb25uZWN0Igl9LCAvKiAzMDkxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkicG9zaXhfZ2V0aG9zdGlkIgl9LCAvKiAzMDkyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkicG9zaXhfZ2V0cGVlcm5hbWUiCX0sIC8qIDMwOTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJwb3NpeF9nZXRzb2NrbmFtZSIJfSwgLyogMzA5NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInBvc2l4X2dldHNvY2tvcHQiCX0sIC8qIDMwOTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJwb3NpeF9saXN0ZW4iCX0sIC8qIDMwOTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJwb3NpeF9yZWN2Igl9LCAvKiAzMDk3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkicG9zaXhfcmVjdmZyb20iCX0sIC8qIDMwOTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJwb3NpeF9yZWN2bXNnIgl9LCAvKiAzMDk5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkicG9zaXhfc2VsZWN0Igl9LCAvKiAzMTAwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkicG9zaXhfc2VuZCIJfSwgLyogMzEwMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInBvc2l4X3NlbmRtc2ciCX0sIC8qIDMxMDIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJwb3NpeF9zZW5kdG8iCX0sIC8qIDMxMDMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJwb3NpeF9zZXRob3N0aWQiCX0sIC8qIDMxMDQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJwb3NpeF9zZXRzb2Nrb3B0Igl9LCAvKiAzMTA1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkicG9zaXhfc2h1dGRvd24iCX0sIC8qIDMxMDYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJwb3NpeF9zb2NrZXQiCX0sIC8qIDMxMDcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJwb3NpeF9nZXRob3N0bmFtZSIJfSwgLyogMzEwOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInBvc2l4X3NldGhvc3RuYW1lIgl9LCAvKiAzMTA5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkicG9zaXhfZ2V0ZG9tYWlubmFtZSIJfSwgLyogMzExMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInBvc2l4X3NldGRvbWFpbm5hbWUiCX0sIC8qIDMxMTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJwb3NpeF90cnVuY2F0ZSIJfSwgLyogMzExMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInBvc2l4X2Z0cnVuY2F0ZSIJfSwgLyogMzExMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInBvc2l4X3JlbmFtZSIJfSwgLyogMzExNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInBvc2l4X3N5bWxpbmsiCX0sIC8qIDMxMTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJwb3NpeF9yZWFkbGluayIJfSwgLyogMzExNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInBvc2l4X2xzdGF0Igl9LCAvKiAzMTE3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkicG9zaXhfbmZzX21vdW50Igl9LCAvKiAzMTE4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkicG9zaXhfbmZzX3N2YyIJfSwgLyogMzExOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInBvc2l4X25mc19nZXRmaCIJfSwgLyogMzEyMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInBvc2l4X2FzeW5jX2RhZW1vbiIJfSwgLyogMzEyMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInBvc2l4X2V4cG9ydGZzIgl9LCAvKiAzMTIyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkicG9zaXhfU0dJX3NldHJlZ2lkIgl9LCAvKiAzMTIzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkicG9zaXhfU0dJX3NldHJldWlkIgl9LCAvKiAzMTI0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkicG9zaXhfZ2V0aXRpbWVyIgl9LCAvKiAzMTI1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkicG9zaXhfc2V0aXRpbWVyIgl9LCAvKiAzMTI2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkicG9zaXhfYWRqdGltZSIJfSwgLyogMzEyNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInBvc2l4X1NHSV9ic2RnZXR0aW1lIgl9LCAvKiAzMTI4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkicG9zaXhfU0dJX3Nwcm9jIgl9LCAvKiAzMTI5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkicG9zaXhfU0dJX3ByY3RsIgl9LCAvKiAzMTMwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkicG9zaXhfU0dJX2Jsa3Byb2MiCX0sIC8qIDMxMzEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzEzMiIsCX0sIC8qIDMxMzIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJwb3NpeF9TR0lfc2dpZ3NjIgl9LCAvKiAzMTMzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkicG9zaXhfU0dJX21tYXAiCX0sIC8qIDMxMzQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJwb3NpeF9TR0lfbXVubWFwIgl9LCAvKiAzMTM1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkicG9zaXhfU0dJX21wcm90ZWN0Igl9LCAvKiAzMTM2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkicG9zaXhfU0dJX21zeW5jIgl9LCAvKiAzMTM3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkicG9zaXhfU0dJX21hZHZpc2UiCX0sIC8qIDMxMzggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJwb3NpeF9TR0lfbXBpbiIJfSwgLyogMzEzOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInBvc2l4X1NHSV9nZXRwYWdlc2l6ZSIJfSwgLyogMzE0MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInBvc2l4X1NHSV9saWJhdHRhY2giCX0sIC8qIDMxNDEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJwb3NpeF9TR0lfbGliZGV0YWNoIgl9LCAvKiAzMTQyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkicG9zaXhfU0dJX2dldHBncnAiCX0sIC8qIDMxNDMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJwb3NpeF9TR0lfc2V0cGdycCIJfSwgLyogMzE0NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMTQ1IiwJfSwgLyogMzE0NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMTQ2IiwJfSwgLyogMzE0NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMTQ3IiwJfSwgLyogMzE0NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMTQ4IiwJfSwgLyogMzE0OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMTQ5IiwJfSwgLyogMzE0OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInBvc2l4X2NhY2hlZmx1c2giCX0sIC8qIDMxNTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJwb3NpeF9jYWNoZWN0bCIJfSwgLyogMzE1MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInBvc2l4X2ZjaG93biIJfSwgLyogMzE1MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInBvc2l4X2ZjaG1vZCIJfSwgLyogMzE1MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInBvc2l4X3dhaXQzIgl9LCAvKiAzMTU0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkicG9zaXhfbW1hcCIJfSwgLyogMzE1NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInBvc2l4X211bm1hcCIJfSwgLyogMzE1NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInBvc2l4X21hZHZpc2UiCX0sIC8qIDMxNTcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJwb3NpeF9CU0RfZ2V0cGFnZXNpemUiCX0sIC8qIDMxNTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJwb3NpeF9zZXRyZXVpZCIJfSwgLyogMzE1OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInBvc2l4X3NldHJlZ2lkIgl9LCAvKiAzMTYwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkicG9zaXhfc2V0cGdpZCIJfSwgLyogMzE2MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInBvc2l4X2dldGdyb3VwcyIJfSwgLyogMzE2MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInBvc2l4X3NldGdyb3VwcyIJfSwgLyogMzE2MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInBvc2l4X2dldHRpbWVvZmRheSIJfSwgLyogMzE2NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInBvc2l4X2dldHJ1c2FnZSIJfSwgLyogMzE2NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInBvc2l4X2dldHJsaW1pdCIJfSwgLyogMzE2NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInBvc2l4X3NldHJsaW1pdCIJfSwgLyogMzE2NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInBvc2l4X3dhaXRwaWQiCX0sIC8qIDMxNjggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJwb3NpeF9kdXAyIgl9LCAvKiAzMTY5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMxNzAiLAl9LCAvKiAzMTcwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMxNzEiLAl9LCAvKiAzMTcxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMxNzIiLAl9LCAvKiAzMTcyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMxNzMiLAl9LCAvKiAzMTczICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMxNzQiLAl9LCAvKiAzMTc0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMxNzUiLAl9LCAvKiAzMTc1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMxNzYiLAl9LCAvKiAzMTc2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMxNzciLAl9LCAvKiAzMTc3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMxNzgiLAl9LCAvKiAzMTc4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMxNzkiLAl9LCAvKiAzMTc5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMxODAiLAl9LCAvKiAzMTgwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMxODEiLAl9LCAvKiAzMTgxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMxODIiLAl9LCAvKiAzMTgyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMxODMiLAl9LCAvKiAzMTgzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMxODQiLAl9LCAvKiAzMTg0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMxODUiLAl9LCAvKiAzMTg1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMxODYiLAl9LCAvKiAzMTg2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMxODciLAl9LCAvKiAzMTg3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMxODgiLAl9LCAvKiAzMTg4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMxODkiLAl9LCAvKiAzMTg5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMxOTAiLAl9LCAvKiAzMTkwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMxOTEiLAl9LCAvKiAzMTkxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMxOTIiLAl9LCAvKiAzMTkyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMxOTMiLAl9LCAvKiAzMTkzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMxOTQiLAl9LCAvKiAzMTk0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMxOTUiLAl9LCAvKiAzMTk1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMxOTYiLAl9LCAvKiAzMTk2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMxOTciLAl9LCAvKiAzMTk3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMxOTgiLAl9LCAvKiAzMTk4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMxOTkiLAl9LCAvKiAzMTk5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyMDAiLAl9LCAvKiAzMjAwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyMDEiLAl9LCAvKiAzMjAxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyMDIiLAl9LCAvKiAzMjAyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyMDMiLAl9LCAvKiAzMjAzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyMDQiLAl9LCAvKiAzMjA0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyMDUiLAl9LCAvKiAzMjA1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyMDYiLAl9LCAvKiAzMjA2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyMDciLAl9LCAvKiAzMjA3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyMDgiLAl9LCAvKiAzMjA4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyMDkiLAl9LCAvKiAzMjA5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyMTAiLAl9LCAvKiAzMjEwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyMTEiLAl9LCAvKiAzMjExICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyMTIiLAl9LCAvKiAzMjEyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyMTMiLAl9LCAvKiAzMjEzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyMTQiLAl9LCAvKiAzMjE0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyMTUiLAl9LCAvKiAzMjE1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyMTYiLAl9LCAvKiAzMjE2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyMTciLAl9LCAvKiAzMjE3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyMTgiLAl9LCAvKiAzMjE4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyMTkiLAl9LCAvKiAzMjE5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyMjAiLAl9LCAvKiAzMjIwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyMjEiLAl9LCAvKiAzMjIxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyMjIiLAl9LCAvKiAzMjIyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyMjMiLAl9LCAvKiAzMjIzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyMjQiLAl9LCAvKiAzMjI0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyMjUiLAl9LCAvKiAzMjI1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyMjYiLAl9LCAvKiAzMjI2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyMjciLAl9LCAvKiAzMjI3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyMjgiLAl9LCAvKiAzMjI4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyMjkiLAl9LCAvKiAzMjI5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyMzAiLAl9LCAvKiAzMjMwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyMzEiLAl9LCAvKiAzMjMxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyMzIiLAl9LCAvKiAzMjMyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyMzMiLAl9LCAvKiAzMjMzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyMzQiLAl9LCAvKiAzMjM0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyMzUiLAl9LCAvKiAzMjM1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyMzYiLAl9LCAvKiAzMjM2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyMzciLAl9LCAvKiAzMjM3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyMzgiLAl9LCAvKiAzMjM4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyMzkiLAl9LCAvKiAzMjM5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyNDAiLAl9LCAvKiAzMjQwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyNDEiLAl9LCAvKiAzMjQxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyNDIiLAl9LCAvKiAzMjQyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyNDMiLAl9LCAvKiAzMjQzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyNDQiLAl9LCAvKiAzMjQ0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyNDUiLAl9LCAvKiAzMjQ1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyNDYiLAl9LCAvKiAzMjQ2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyNDciLAl9LCAvKiAzMjQ3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyNDgiLAl9LCAvKiAzMjQ4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyNDkiLAl9LCAvKiAzMjQ5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyNTAiLAl9LCAvKiAzMjUwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyNTEiLAl9LCAvKiAzMjUxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyNTIiLAl9LCAvKiAzMjUyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyNTMiLAl9LCAvKiAzMjUzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyNTQiLAl9LCAvKiAzMjU0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyNTUiLAl9LCAvKiAzMjU1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyNTYiLAl9LCAvKiAzMjU2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyNTciLAl9LCAvKiAzMjU3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyNTgiLAl9LCAvKiAzMjU4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyNTkiLAl9LCAvKiAzMjU5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkicG9zaXhfbmV0Ym9vdCIJfSwgLyogMzI2MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInBvc2l4X25ldHVuYm9vdCIJfSwgLyogMzI2MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInBvc2l4X3JkdW1wIgl9LCAvKiAzMjYyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkicG9zaXhfc2V0c2lkIgl9LCAvKiAzMjYzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkicG9zaXhfZ2V0bWF4c2lnIgl9LCAvKiAzMjY0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkicG9zaXhfc2lncGVuZGluZyIJfSwgLyogMzI2NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInBvc2l4X3NpZ3Byb2NtYXNrIgl9LCAvKiAzMjY2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkicG9zaXhfc2lnc3VzcGVuZCIJfSwgLyogMzI2NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInBvc2l4X3NpZ2FjdGlvbiIJfSwgLyogMzI2OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMjY5IiwJfSwgLyogMzI2OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMjcwIiwJfSwgLyogMzI3MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMjcxIiwJfSwgLyogMzI3MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMjcyIiwJfSwgLyogMzI3MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMjczIiwJfSwgLyogMzI3MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMjc0IiwJfSwgLyogMzI3NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMjc1IiwJfSwgLyogMzI3NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMjc2IiwJfSwgLyogMzI3NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMjc3IiwJfSwgLyogMzI3NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMjc4IiwJfSwgLyogMzI3OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMjc5IiwJfSwgLyogMzI3OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMjgwIiwJfSwgLyogMzI4MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMjgxIiwJfSwgLyogMzI4MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMjgyIiwJfSwgLyogMzI4MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMjgzIiwJfSwgLyogMzI4MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMjg0IiwJfSwgLyogMzI4NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMjg1IiwJfSwgLyogMzI4NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMjg2IiwJfSwgLyogMzI4NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMjg3IiwJfSwgLyogMzI4NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMjg4IiwJfSwgLyogMzI4OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMjg5IiwJfSwgLyogMzI4OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMjkwIiwJfSwgLyogMzI5MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMjkxIiwJfSwgLyogMzI5MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMjkyIiwJfSwgLyogMzI5MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMjkzIiwJfSwgLyogMzI5MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMjk0IiwJfSwgLyogMzI5NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMjk1IiwJfSwgLyogMzI5NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMjk2IiwJfSwgLyogMzI5NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMjk3IiwJfSwgLyogMzI5NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMjk4IiwJfSwgLyogMzI5OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMjk5IiwJfSwgLyogMzI5OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMzAwIiwJfSwgLyogMzMwMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMzAxIiwJfSwgLyogMzMwMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMzAyIiwJfSwgLyogMzMwMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMzAzIiwJfSwgLyogMzMwMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMzA0IiwJfSwgLyogMzMwNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMzA1IiwJfSwgLyogMzMwNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMzA2IiwJfSwgLyogMzMwNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMzA3IiwJfSwgLyogMzMwNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMzA4IiwJfSwgLyogMzMwOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMzA5IiwJfSwgLyogMzMwOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMzEwIiwJfSwgLyogMzMxMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMzExIiwJfSwgLyogMzMxMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMzEyIiwJfSwgLyogMzMxMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMzEzIiwJfSwgLyogMzMxMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMzE0IiwJfSwgLyogMzMxNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMzE1IiwJfSwgLyogMzMxNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMzE2IiwJfSwgLyogMzMxNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMzE3IiwJfSwgLyogMzMxNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMzE4IiwJfSwgLyogMzMxOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMzE5IiwJfSwgLyogMzMxOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMzIwIgl9LCAvKiAzMzIwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMzMjEiCX0sIC8qIDMzMjEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzMyMiIJfSwgLyogMzMyMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMzIzIgl9LCAvKiAzMzIzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMzMjQiCX0sIC8qIDMzMjQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzMyNSIJfSwgLyogMzMyNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMzI2Igl9LCAvKiAzMzI2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMzMjciCX0sIC8qIDMzMjcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzMyOCIJfSwgLyogMzMyOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMzI5Igl9LCAvKiAzMzI5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMzMzAiCX0sIC8qIDMzMzAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzMzMSIJfSwgLyogMzMzMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMzMyIgl9LCAvKiAzMzMyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMzMzMiCX0sIC8qIDMzMzMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzMzNCIJfSwgLyogMzMzNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMzM1Igl9LCAvKiAzMzM1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMzMzYiCX0sIC8qIDMzMzYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzMzNyIJfSwgLyogMzMzNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMzM4Igl9LCAvKiAzMzM4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMzMzkiCX0sIC8qIDMzMzkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzM0MCIJfSwgLyogMzM0MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMzQxIgl9LCAvKiAzMzQxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMzNDIiCX0sIC8qIDMzNDIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzM0MyIJfSwgLyogMzM0MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMzQ0Igl9LCAvKiAzMzQ0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMzNDUiCX0sIC8qIDMzNDUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzM0NiIJfSwgLyogMzM0NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMzQ3Igl9LCAvKiAzMzQ3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMzNDgiCX0sIC8qIDMzNDggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzM0OSIJfSwgLyogMzM0OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMzUwIgl9LCAvKiAzMzUwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMzNTEiCX0sIC8qIDMzNTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzM1MiIJfSwgLyogMzM1MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMzUzIgl9LCAvKiAzMzUzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMzNTQiCX0sIC8qIDMzNTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzM1NSIJfSwgLyogMzM1NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMzU2Igl9LCAvKiAzMzU2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMzNTciCX0sIC8qIDMzNTcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzM1OCIJfSwgLyogMzM1OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMzU5Igl9LCAvKiAzMzU5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMzNjAiCX0sIC8qIDMzNjAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzM2MSIJfSwgLyogMzM2MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMzYyIgl9LCAvKiAzMzYyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMzNjMiCX0sIC8qIDMzNjMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzM2NCIJfSwgLyogMzM2NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMzY1Igl9LCAvKiAzMzY1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMzNjYiCX0sIC8qIDMzNjYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzM2NyIJfSwgLyogMzM2NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMzY4Igl9LCAvKiAzMzY4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMzNjkiCX0sIC8qIDMzNjkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzM3MCIJfSwgLyogMzM3MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMzcxIgl9LCAvKiAzMzcxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMzNzIiCX0sIC8qIDMzNzIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzM3MyIJfSwgLyogMzM3MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMzc0Igl9LCAvKiAzMzc0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMzNzUiCX0sIC8qIDMzNzUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzM3NiIJfSwgLyogMzM3NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMzc3Igl9LCAvKiAzMzc3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMzNzgiCX0sIC8qIDMzNzggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzM3OSIJfSwgLyogMzM3OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMzgwIgl9LCAvKiAzMzgwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMzODEiCX0sIC8qIDMzODEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzM4MiIJfSwgLyogMzM4MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMzgzIgl9LCAvKiAzMzgzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMzODQiCX0sIC8qIDMzODQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzM4NSIJfSwgLyogMzM4NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMzg2Igl9LCAvKiAzMzg2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMzODciCX0sIC8qIDMzODcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzM4OCIJfSwgLyogMzM4OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMzg5Igl9LCAvKiAzMzg5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMzOTAiCX0sIC8qIDMzOTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzM5MSIJfSwgLyogMzM5MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMzkyIgl9LCAvKiAzMzkyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMzOTMiCX0sIC8qIDMzOTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzM5NCIJfSwgLyogMzM5NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMzk1Igl9LCAvKiAzMzk1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMzOTYiCX0sIC8qIDMzOTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzM5NyIJfSwgLyogMzM5NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMzk4Igl9LCAvKiAzMzk4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMzOTkiCX0sIC8qIDMzOTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzQwMCIJfSwgLyogMzQwMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNDAxIgl9LCAvKiAzNDAxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0MDIiCX0sIC8qIDM0MDIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzQwMyIJfSwgLyogMzQwMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNDA0Igl9LCAvKiAzNDA0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0MDUiCX0sIC8qIDM0MDUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzQwNiIJfSwgLyogMzQwNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNDA3Igl9LCAvKiAzNDA3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0MDgiCX0sIC8qIDM0MDggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzQwOSIJfSwgLyogMzQwOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNDEwIgl9LCAvKiAzNDEwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0MTEiCX0sIC8qIDM0MTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzQxMiIJfSwgLyogMzQxMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNDEzIgl9LCAvKiAzNDEzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0MTQiCX0sIC8qIDM0MTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzQxNSIJfSwgLyogMzQxNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNDE2Igl9LCAvKiAzNDE2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0MTciCX0sIC8qIDM0MTcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzQxOCIJfSwgLyogMzQxOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNDE5Igl9LCAvKiAzNDE5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0MjAiCX0sIC8qIDM0MjAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzQyMSIJfSwgLyogMzQyMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNDIyIgl9LCAvKiAzNDIyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0MjMiCX0sIC8qIDM0MjMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzQyNCIJfSwgLyogMzQyNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNDI1Igl9LCAvKiAzNDI1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0MjYiCX0sIC8qIDM0MjYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzQyNyIJfSwgLyogMzQyNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNDI4Igl9LCAvKiAzNDI4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0MjkiCX0sIC8qIDM0MjkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzQzMCIJfSwgLyogMzQzMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNDMxIgl9LCAvKiAzNDMxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0MzIiCX0sIC8qIDM0MzIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzQzMyIJfSwgLyogMzQzMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNDM0Igl9LCAvKiAzNDM0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0MzUiCX0sIC8qIDM0MzUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzQzNiIJfSwgLyogMzQzNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNDM3Igl9LCAvKiAzNDM3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0MzgiCX0sIC8qIDM0MzggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzQzOSIJfSwgLyogMzQzOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNDQwIgl9LCAvKiAzNDQwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0NDEiCX0sIC8qIDM0NDEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzQ0MiIJfSwgLyogMzQ0MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNDQzIgl9LCAvKiAzNDQzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0NDQiCX0sIC8qIDM0NDQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzQ0NSIJfSwgLyogMzQ0NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNDQ2Igl9LCAvKiAzNDQ2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0NDciCX0sIC8qIDM0NDcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzQ0OCIJfSwgLyogMzQ0OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNDQ5Igl9LCAvKiAzNDQ5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0NTAiCX0sIC8qIDM0NTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzQ1MSIJfSwgLyogMzQ1MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNDUyIgl9LCAvKiAzNDUyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0NTMiCX0sIC8qIDM0NTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzQ1NCIJfSwgLyogMzQ1NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNDU1Igl9LCAvKiAzNDU1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0NTYiCX0sIC8qIDM0NTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzQ1NyIJfSwgLyogMzQ1NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNDU4Igl9LCAvKiAzNDU4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0NTkiCX0sIC8qIDM0NTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzQ2MCIJfSwgLyogMzQ2MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNDYxIgl9LCAvKiAzNDYxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0NjIiCX0sIC8qIDM0NjIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzQ2MyIJfSwgLyogMzQ2MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNDY0Igl9LCAvKiAzNDY0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0NjUiCX0sIC8qIDM0NjUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzQ2NiIJfSwgLyogMzQ2NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNDY3Igl9LCAvKiAzNDY3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0NjgiCX0sIC8qIDM0NjggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzQ2OSIJfSwgLyogMzQ2OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNDcwIgl9LCAvKiAzNDcwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0NzEiCX0sIC8qIDM0NzEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzQ3MiIJfSwgLyogMzQ3MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNDczIgl9LCAvKiAzNDczICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0NzQiCX0sIC8qIDM0NzQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzQ3NSIJfSwgLyogMzQ3NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNDc2Igl9LCAvKiAzNDc2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0NzciCX0sIC8qIDM0NzcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzQ3OCIJfSwgLyogMzQ3OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNDc5Igl9LCAvKiAzNDc5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0ODAiCX0sIC8qIDM0ODAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzQ4MSIJfSwgLyogMzQ4MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNDgyIgl9LCAvKiAzNDgyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0ODMiCX0sIC8qIDM0ODMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzQ4NCIJfSwgLyogMzQ4NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNDg1Igl9LCAvKiAzNDg1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0ODYiCX0sIC8qIDM0ODYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzQ4NyIJfSwgLyogMzQ4NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNDg4Igl9LCAvKiAzNDg4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0ODkiCX0sIC8qIDM0ODkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzQ5MCIJfSwgLyogMzQ5MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNDkxIgl9LCAvKiAzNDkxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0OTIiCX0sIC8qIDM0OTIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzQ5MyIJfSwgLyogMzQ5MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNDk0Igl9LCAvKiAzNDk0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0OTUiCX0sIC8qIDM0OTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzQ5NiIJfSwgLyogMzQ5NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNDk3Igl9LCAvKiAzNDk3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0OTgiCX0sIC8qIDM0OTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzQ5OSIJfSwgLyogMzQ5OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNTAwIgl9LCAvKiAzNTAwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1MDEiCX0sIC8qIDM1MDEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzUwMiIJfSwgLyogMzUwMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNTAzIgl9LCAvKiAzNTAzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1MDQiCX0sIC8qIDM1MDQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzUwNSIJfSwgLyogMzUwNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNTA2Igl9LCAvKiAzNTA2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1MDciCX0sIC8qIDM1MDcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzUwOCIJfSwgLyogMzUwOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNTA5Igl9LCAvKiAzNTA5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1MTAiCX0sIC8qIDM1MTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzUxMSIJfSwgLyogMzUxMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNTEyIgl9LCAvKiAzNTEyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1MTMiCX0sIC8qIDM1MTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzUxNCIJfSwgLyogMzUxNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNTE1Igl9LCAvKiAzNTE1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1MTYiCX0sIC8qIDM1MTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzUxNyIJfSwgLyogMzUxNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNTE4Igl9LCAvKiAzNTE4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1MTkiCX0sIC8qIDM1MTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzUyMCIJfSwgLyogMzUyMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNTIxIgl9LCAvKiAzNTIxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1MjIiCX0sIC8qIDM1MjIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzUyMyIJfSwgLyogMzUyMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNTI0Igl9LCAvKiAzNTI0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1MjUiCX0sIC8qIDM1MjUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzUyNiIJfSwgLyogMzUyNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNTI3Igl9LCAvKiAzNTI3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1MjgiCX0sIC8qIDM1MjggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzUyOSIJfSwgLyogMzUyOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNTMwIgl9LCAvKiAzNTMwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1MzEiCX0sIC8qIDM1MzEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzUzMiIJfSwgLyogMzUzMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNTMzIgl9LCAvKiAzNTMzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1MzQiCX0sIC8qIDM1MzQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzUzNSIJfSwgLyogMzUzNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNTM2Igl9LCAvKiAzNTM2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1MzciCX0sIC8qIDM1MzcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzUzOCIJfSwgLyogMzUzOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNTM5Igl9LCAvKiAzNTM5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1NDAiCX0sIC8qIDM1NDAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzU0MSIJfSwgLyogMzU0MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNTQyIgl9LCAvKiAzNTQyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1NDMiCX0sIC8qIDM1NDMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzU0NCIJfSwgLyogMzU0NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNTQ1Igl9LCAvKiAzNTQ1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1NDYiCX0sIC8qIDM1NDYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzU0NyIJfSwgLyogMzU0NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNTQ4Igl9LCAvKiAzNTQ4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1NDkiCX0sIC8qIDM1NDkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzU1MCIJfSwgLyogMzU1MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNTUxIgl9LCAvKiAzNTUxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1NTIiCX0sIC8qIDM1NTIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzU1MyIJfSwgLyogMzU1MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNTU0Igl9LCAvKiAzNTU0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1NTUiCX0sIC8qIDM1NTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzU1NiIJfSwgLyogMzU1NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNTU3Igl9LCAvKiAzNTU3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1NTgiCX0sIC8qIDM1NTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzU1OSIJfSwgLyogMzU1OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNTYwIgl9LCAvKiAzNTYwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1NjEiCX0sIC8qIDM1NjEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzU2MiIJfSwgLyogMzU2MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNTYzIgl9LCAvKiAzNTYzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1NjQiCX0sIC8qIDM1NjQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzU2NSIJfSwgLyogMzU2NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNTY2Igl9LCAvKiAzNTY2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1NjciCX0sIC8qIDM1NjcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzU2OCIJfSwgLyogMzU2OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNTY5Igl9LCAvKiAzNTY5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1NzAiCX0sIC8qIDM1NzAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzU3MSIJfSwgLyogMzU3MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNTcyIgl9LCAvKiAzNTcyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1NzMiCX0sIC8qIDM1NzMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzU3NCIJfSwgLyogMzU3NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNTc1Igl9LCAvKiAzNTc1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1NzYiCX0sIC8qIDM1NzYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzU3NyIJfSwgLyogMzU3NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNTc4Igl9LCAvKiAzNTc4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1NzkiCX0sIC8qIDM1NzkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzU4MCIJfSwgLyogMzU4MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNTgxIgl9LCAvKiAzNTgxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1ODIiCX0sIC8qIDM1ODIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzU4MyIJfSwgLyogMzU4MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNTg0Igl9LCAvKiAzNTg0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1ODUiCX0sIC8qIDM1ODUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzU4NiIJfSwgLyogMzU4NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNTg3Igl9LCAvKiAzNTg3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1ODgiCX0sIC8qIDM1ODggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzU4OSIJfSwgLyogMzU4OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNTkwIgl9LCAvKiAzNTkwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1OTEiCX0sIC8qIDM1OTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzU5MiIJfSwgLyogMzU5MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNTkzIgl9LCAvKiAzNTkzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1OTQiCX0sIC8qIDM1OTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzU5NSIJfSwgLyogMzU5NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNTk2Igl9LCAvKiAzNTk2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1OTciCX0sIC8qIDM1OTcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzU5OCIJfSwgLyogMzU5OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNTk5Igl9LCAvKiAzNTk5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2MDAiCX0sIC8qIDM2MDAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzYwMSIJfSwgLyogMzYwMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNjAyIgl9LCAvKiAzNjAyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2MDMiCX0sIC8qIDM2MDMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzYwNCIJfSwgLyogMzYwNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNjA1Igl9LCAvKiAzNjA1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2MDYiCX0sIC8qIDM2MDYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzYwNyIJfSwgLyogMzYwNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNjA4Igl9LCAvKiAzNjA4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2MDkiCX0sIC8qIDM2MDkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzYxMCIJfSwgLyogMzYxMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNjExIgl9LCAvKiAzNjExICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2MTIiCX0sIC8qIDM2MTIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzYxMyIJfSwgLyogMzYxMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNjE0Igl9LCAvKiAzNjE0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2MTUiCX0sIC8qIDM2MTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzYxNiIJfSwgLyogMzYxNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNjE3Igl9LCAvKiAzNjE3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2MTgiCX0sIC8qIDM2MTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzYxOSIJfSwgLyogMzYxOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNjIwIgl9LCAvKiAzNjIwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2MjEiCX0sIC8qIDM2MjEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzYyMiIJfSwgLyogMzYyMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNjIzIgl9LCAvKiAzNjIzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2MjQiCX0sIC8qIDM2MjQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzYyNSIJfSwgLyogMzYyNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNjI2Igl9LCAvKiAzNjI2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2MjciCX0sIC8qIDM2MjcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzYyOCIJfSwgLyogMzYyOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNjI5Igl9LCAvKiAzNjI5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2MzAiCX0sIC8qIDM2MzAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzYzMSIJfSwgLyogMzYzMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNjMyIgl9LCAvKiAzNjMyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2MzMiCX0sIC8qIDM2MzMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzYzNCIJfSwgLyogMzYzNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNjM1Igl9LCAvKiAzNjM1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2MzYiCX0sIC8qIDM2MzYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzYzNyIJfSwgLyogMzYzNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNjM4Igl9LCAvKiAzNjM4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2MzkiCX0sIC8qIDM2MzkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzY0MCIJfSwgLyogMzY0MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNjQxIgl9LCAvKiAzNjQxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2NDIiCX0sIC8qIDM2NDIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzY0MyIJfSwgLyogMzY0MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNjQ0Igl9LCAvKiAzNjQ0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2NDUiCX0sIC8qIDM2NDUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzY0NiIJfSwgLyogMzY0NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNjQ3Igl9LCAvKiAzNjQ3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2NDgiCX0sIC8qIDM2NDggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzY0OSIJfSwgLyogMzY0OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNjUwIgl9LCAvKiAzNjUwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2NTEiCX0sIC8qIDM2NTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzY1MiIJfSwgLyogMzY1MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNjUzIgl9LCAvKiAzNjUzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2NTQiCX0sIC8qIDM2NTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzY1NSIJfSwgLyogMzY1NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNjU2Igl9LCAvKiAzNjU2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2NTciCX0sIC8qIDM2NTcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzY1OCIJfSwgLyogMzY1OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNjU5Igl9LCAvKiAzNjU5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2NjAiCX0sIC8qIDM2NjAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzY2MSIJfSwgLyogMzY2MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNjYyIgl9LCAvKiAzNjYyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2NjMiCX0sIC8qIDM2NjMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzY2NCIJfSwgLyogMzY2NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNjY1Igl9LCAvKiAzNjY1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2NjYiCX0sIC8qIDM2NjYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzY2NyIJfSwgLyogMzY2NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNjY4Igl9LCAvKiAzNjY4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2NjkiCX0sIC8qIDM2NjkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzY3MCIJfSwgLyogMzY3MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNjcxIgl9LCAvKiAzNjcxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2NzIiCX0sIC8qIDM2NzIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzY3MyIJfSwgLyogMzY3MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNjc0Igl9LCAvKiAzNjc0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2NzUiCX0sIC8qIDM2NzUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzY3NiIJfSwgLyogMzY3NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNjc3Igl9LCAvKiAzNjc3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2NzgiCX0sIC8qIDM2NzggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzY3OSIJfSwgLyogMzY3OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNjgwIgl9LCAvKiAzNjgwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2ODEiCX0sIC8qIDM2ODEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzY4MiIJfSwgLyogMzY4MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNjgzIgl9LCAvKiAzNjgzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2ODQiCX0sIC8qIDM2ODQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzY4NSIJfSwgLyogMzY4NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNjg2Igl9LCAvKiAzNjg2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2ODciCX0sIC8qIDM2ODcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzY4OCIJfSwgLyogMzY4OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNjg5Igl9LCAvKiAzNjg5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2OTAiCX0sIC8qIDM2OTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzY5MSIJfSwgLyogMzY5MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNjkyIgl9LCAvKiAzNjkyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2OTMiCX0sIC8qIDM2OTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzY5NCIJfSwgLyogMzY5NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNjk1Igl9LCAvKiAzNjk1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2OTYiCX0sIC8qIDM2OTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzY5NyIJfSwgLyogMzY5NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNjk4Igl9LCAvKiAzNjk4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2OTkiCX0sIC8qIDM2OTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzcwMCIJfSwgLyogMzcwMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNzAxIgl9LCAvKiAzNzAxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3MDIiCX0sIC8qIDM3MDIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzcwMyIJfSwgLyogMzcwMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNzA0Igl9LCAvKiAzNzA0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3MDUiCX0sIC8qIDM3MDUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzcwNiIJfSwgLyogMzcwNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNzA3Igl9LCAvKiAzNzA3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3MDgiCX0sIC8qIDM3MDggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzcwOSIJfSwgLyogMzcwOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNzEwIgl9LCAvKiAzNzEwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3MTEiCX0sIC8qIDM3MTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzcxMiIJfSwgLyogMzcxMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNzEzIgl9LCAvKiAzNzEzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3MTQiCX0sIC8qIDM3MTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzcxNSIJfSwgLyogMzcxNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNzE2Igl9LCAvKiAzNzE2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3MTciCX0sIC8qIDM3MTcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzcxOCIJfSwgLyogMzcxOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNzE5Igl9LCAvKiAzNzE5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3MjAiCX0sIC8qIDM3MjAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzcyMSIJfSwgLyogMzcyMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNzIyIgl9LCAvKiAzNzIyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3MjMiCX0sIC8qIDM3MjMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzcyNCIJfSwgLyogMzcyNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNzI1Igl9LCAvKiAzNzI1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3MjYiCX0sIC8qIDM3MjYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzcyNyIJfSwgLyogMzcyNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNzI4Igl9LCAvKiAzNzI4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3MjkiCX0sIC8qIDM3MjkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzczMCIJfSwgLyogMzczMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNzMxIgl9LCAvKiAzNzMxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3MzIiCX0sIC8qIDM3MzIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzczMyIJfSwgLyogMzczMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNzM0Igl9LCAvKiAzNzM0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3MzUiCX0sIC8qIDM3MzUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzczNiIJfSwgLyogMzczNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNzM3Igl9LCAvKiAzNzM3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3MzgiCX0sIC8qIDM3MzggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzczOSIJfSwgLyogMzczOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNzQwIgl9LCAvKiAzNzQwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3NDEiCX0sIC8qIDM3NDEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzc0MiIJfSwgLyogMzc0MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNzQzIgl9LCAvKiAzNzQzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3NDQiCX0sIC8qIDM3NDQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzc0NSIJfSwgLyogMzc0NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNzQ2Igl9LCAvKiAzNzQ2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3NDciCX0sIC8qIDM3NDcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzc0OCIJfSwgLyogMzc0OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNzQ5Igl9LCAvKiAzNzQ5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3NTAiCX0sIC8qIDM3NTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzc1MSIJfSwgLyogMzc1MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNzUyIgl9LCAvKiAzNzUyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3NTMiCX0sIC8qIDM3NTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzc1NCIJfSwgLyogMzc1NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNzU1Igl9LCAvKiAzNzU1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3NTYiCX0sIC8qIDM3NTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzc1NyIJfSwgLyogMzc1NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNzU4Igl9LCAvKiAzNzU4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3NTkiCX0sIC8qIDM3NTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzc2MCIJfSwgLyogMzc2MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNzYxIgl9LCAvKiAzNzYxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3NjIiCX0sIC8qIDM3NjIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzc2MyIJfSwgLyogMzc2MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNzY0Igl9LCAvKiAzNzY0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3NjUiCX0sIC8qIDM3NjUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzc2NiIJfSwgLyogMzc2NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNzY3Igl9LCAvKiAzNzY3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3NjgiCX0sIC8qIDM3NjggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzc2OSIJfSwgLyogMzc2OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNzcwIgl9LCAvKiAzNzcwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3NzEiCX0sIC8qIDM3NzEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzc3MiIJfSwgLyogMzc3MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNzczIgl9LCAvKiAzNzczICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3NzQiCX0sIC8qIDM3NzQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzc3NSIJfSwgLyogMzc3NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNzc2Igl9LCAvKiAzNzc2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3NzciCX0sIC8qIDM3NzcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzc3OCIJfSwgLyogMzc3OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNzc5Igl9LCAvKiAzNzc5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3ODAiCX0sIC8qIDM3ODAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzc4MSIJfSwgLyogMzc4MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNzgyIgl9LCAvKiAzNzgyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3ODMiCX0sIC8qIDM3ODMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzc4NCIJfSwgLyogMzc4NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNzg1Igl9LCAvKiAzNzg1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3ODYiCX0sIC8qIDM3ODYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzc4NyIJfSwgLyogMzc4NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNzg4Igl9LCAvKiAzNzg4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3ODkiCX0sIC8qIDM3ODkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzc5MCIJfSwgLyogMzc5MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNzkxIgl9LCAvKiAzNzkxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3OTIiCX0sIC8qIDM3OTIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzc5MyIJfSwgLyogMzc5MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNzk0Igl9LCAvKiAzNzk0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3OTUiCX0sIC8qIDM3OTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzc5NiIJfSwgLyogMzc5NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNzk3Igl9LCAvKiAzNzk3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3OTgiCX0sIC8qIDM3OTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzc5OSIJfSwgLyogMzc5OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zODAwIgl9LCAvKiAzODAwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4MDEiCX0sIC8qIDM4MDEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzgwMiIJfSwgLyogMzgwMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zODAzIgl9LCAvKiAzODAzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4MDQiCX0sIC8qIDM4MDQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzgwNSIJfSwgLyogMzgwNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zODA2Igl9LCAvKiAzODA2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4MDciCX0sIC8qIDM4MDcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzgwOCIJfSwgLyogMzgwOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zODA5Igl9LCAvKiAzODA5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4MTAiCX0sIC8qIDM4MTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzgxMSIJfSwgLyogMzgxMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zODEyIgl9LCAvKiAzODEyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4MTMiCX0sIC8qIDM4MTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzgxNCIJfSwgLyogMzgxNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zODE1Igl9LCAvKiAzODE1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4MTYiCX0sIC8qIDM4MTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzgxNyIJfSwgLyogMzgxNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zODE4Igl9LCAvKiAzODE4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4MTkiCX0sIC8qIDM4MTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzgyMCIJfSwgLyogMzgyMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zODIxIgl9LCAvKiAzODIxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4MjIiCX0sIC8qIDM4MjIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzgyMyIJfSwgLyogMzgyMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zODI0Igl9LCAvKiAzODI0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4MjUiCX0sIC8qIDM4MjUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzgyNiIJfSwgLyogMzgyNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zODI3Igl9LCAvKiAzODI3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4MjgiCX0sIC8qIDM4MjggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzgyOSIJfSwgLyogMzgyOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zODMwIgl9LCAvKiAzODMwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4MzEiCX0sIC8qIDM4MzEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzgzMiIJfSwgLyogMzgzMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zODMzIgl9LCAvKiAzODMzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4MzQiCX0sIC8qIDM4MzQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzgzNSIJfSwgLyogMzgzNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zODM2Igl9LCAvKiAzODM2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4MzciCX0sIC8qIDM4MzcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzgzOCIJfSwgLyogMzgzOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zODM5Igl9LCAvKiAzODM5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4NDAiCX0sIC8qIDM4NDAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzg0MSIJfSwgLyogMzg0MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zODQyIgl9LCAvKiAzODQyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4NDMiCX0sIC8qIDM4NDMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzg0NCIJfSwgLyogMzg0NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zODQ1Igl9LCAvKiAzODQ1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4NDYiCX0sIC8qIDM4NDYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzg0NyIJfSwgLyogMzg0NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zODQ4Igl9LCAvKiAzODQ4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4NDkiCX0sIC8qIDM4NDkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzg1MCIJfSwgLyogMzg1MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zODUxIgl9LCAvKiAzODUxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4NTIiCX0sIC8qIDM4NTIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzg1MyIJfSwgLyogMzg1MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zODU0Igl9LCAvKiAzODU0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4NTUiCX0sIC8qIDM4NTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzg1NiIJfSwgLyogMzg1NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zODU3Igl9LCAvKiAzODU3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4NTgiCX0sIC8qIDM4NTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzg1OSIJfSwgLyogMzg1OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zODYwIgl9LCAvKiAzODYwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4NjEiCX0sIC8qIDM4NjEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzg2MiIJfSwgLyogMzg2MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zODYzIgl9LCAvKiAzODYzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4NjQiCX0sIC8qIDM4NjQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzg2NSIJfSwgLyogMzg2NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zODY2Igl9LCAvKiAzODY2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4NjciCX0sIC8qIDM4NjcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzg2OCIJfSwgLyogMzg2OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zODY5Igl9LCAvKiAzODY5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4NzAiCX0sIC8qIDM4NzAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzg3MSIJfSwgLyogMzg3MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zODcyIgl9LCAvKiAzODcyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4NzMiCX0sIC8qIDM4NzMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzg3NCIJfSwgLyogMzg3NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zODc1Igl9LCAvKiAzODc1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4NzYiCX0sIC8qIDM4NzYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzg3NyIJfSwgLyogMzg3NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zODc4Igl9LCAvKiAzODc4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4NzkiCX0sIC8qIDM4NzkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzg4MCIJfSwgLyogMzg4MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zODgxIgl9LCAvKiAzODgxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4ODIiCX0sIC8qIDM4ODIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzg4MyIJfSwgLyogMzg4MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zODg0Igl9LCAvKiAzODg0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4ODUiCX0sIC8qIDM4ODUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzg4NiIJfSwgLyogMzg4NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zODg3Igl9LCAvKiAzODg3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4ODgiCX0sIC8qIDM4ODggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzg4OSIJfSwgLyogMzg4OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zODkwIgl9LCAvKiAzODkwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4OTEiCX0sIC8qIDM4OTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzg5MiIJfSwgLyogMzg5MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zODkzIgl9LCAvKiAzODkzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4OTQiCX0sIC8qIDM4OTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzg5NSIJfSwgLyogMzg5NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zODk2Igl9LCAvKiAzODk2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4OTciCX0sIC8qIDM4OTcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzg5OCIJfSwgLyogMzg5OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zODk5Igl9LCAvKiAzODk5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5MDAiCX0sIC8qIDM5MDAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzkwMSIJfSwgLyogMzkwMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zOTAyIgl9LCAvKiAzOTAyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5MDMiCX0sIC8qIDM5MDMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzkwNCIJfSwgLyogMzkwNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zOTA1Igl9LCAvKiAzOTA1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5MDYiCX0sIC8qIDM5MDYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzkwNyIJfSwgLyogMzkwNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zOTA4Igl9LCAvKiAzOTA4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5MDkiCX0sIC8qIDM5MDkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzkxMCIJfSwgLyogMzkxMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zOTExIgl9LCAvKiAzOTExICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5MTIiCX0sIC8qIDM5MTIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzkxMyIJfSwgLyogMzkxMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zOTE0Igl9LCAvKiAzOTE0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5MTUiCX0sIC8qIDM5MTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzkxNiIJfSwgLyogMzkxNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zOTE3Igl9LCAvKiAzOTE3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5MTgiCX0sIC8qIDM5MTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzkxOSIJfSwgLyogMzkxOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zOTIwIgl9LCAvKiAzOTIwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5MjEiCX0sIC8qIDM5MjEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzkyMiIJfSwgLyogMzkyMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zOTIzIgl9LCAvKiAzOTIzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5MjQiCX0sIC8qIDM5MjQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzkyNSIJfSwgLyogMzkyNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zOTI2Igl9LCAvKiAzOTI2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5MjciCX0sIC8qIDM5MjcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzkyOCIJfSwgLyogMzkyOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zOTI5Igl9LCAvKiAzOTI5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5MzAiCX0sIC8qIDM5MzAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzkzMSIJfSwgLyogMzkzMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zOTMyIgl9LCAvKiAzOTMyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5MzMiCX0sIC8qIDM5MzMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzkzNCIJfSwgLyogMzkzNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zOTM1Igl9LCAvKiAzOTM1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5MzYiCX0sIC8qIDM5MzYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzkzNyIJfSwgLyogMzkzNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zOTM4Igl9LCAvKiAzOTM4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5MzkiCX0sIC8qIDM5MzkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzk0MCIJfSwgLyogMzk0MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zOTQxIgl9LCAvKiAzOTQxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5NDIiCX0sIC8qIDM5NDIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzk0MyIJfSwgLyogMzk0MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zOTQ0Igl9LCAvKiAzOTQ0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5NDUiCX0sIC8qIDM5NDUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzk0NiIJfSwgLyogMzk0NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zOTQ3Igl9LCAvKiAzOTQ3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5NDgiCX0sIC8qIDM5NDggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzk0OSIJfSwgLyogMzk0OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zOTUwIgl9LCAvKiAzOTUwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5NTEiCX0sIC8qIDM5NTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzk1MiIJfSwgLyogMzk1MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zOTUzIgl9LCAvKiAzOTUzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5NTQiCX0sIC8qIDM5NTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzk1NSIJfSwgLyogMzk1NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zOTU2Igl9LCAvKiAzOTU2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5NTciCX0sIC8qIDM5NTcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzk1OCIJfSwgLyogMzk1OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zOTU5Igl9LCAvKiAzOTU5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5NjAiCX0sIC8qIDM5NjAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzk2MSIJfSwgLyogMzk2MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zOTYyIgl9LCAvKiAzOTYyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5NjMiCX0sIC8qIDM5NjMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzk2NCIJfSwgLyogMzk2NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zOTY1Igl9LCAvKiAzOTY1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5NjYiCX0sIC8qIDM5NjYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzk2NyIJfSwgLyogMzk2NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zOTY4Igl9LCAvKiAzOTY4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5NjkiCX0sIC8qIDM5NjkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzk3MCIJfSwgLyogMzk3MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zOTcxIgl9LCAvKiAzOTcxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5NzIiCX0sIC8qIDM5NzIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzk3MyIJfSwgLyogMzk3MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zOTc0Igl9LCAvKiAzOTc0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5NzUiCX0sIC8qIDM5NzUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzk3NiIJfSwgLyogMzk3NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zOTc3Igl9LCAvKiAzOTc3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5NzgiCX0sIC8qIDM5NzggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzk3OSIJfSwgLyogMzk3OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zOTgwIgl9LCAvKiAzOTgwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5ODEiCX0sIC8qIDM5ODEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzk4MiIJfSwgLyogMzk4MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zOTgzIgl9LCAvKiAzOTgzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5ODQiCX0sIC8qIDM5ODQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzk4NSIJfSwgLyogMzk4NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zOTg2Igl9LCAvKiAzOTg2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5ODciCX0sIC8qIDM5ODcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzk4OCIJfSwgLyogMzk4OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zOTg5Igl9LCAvKiAzOTg5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5OTAiCX0sIC8qIDM5OTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzk5MSIJfSwgLyogMzk5MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zOTkyIgl9LCAvKiAzOTkyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5OTMiCX0sIC8qIDM5OTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzk5NCIJfSwgLyogMzk5NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zOTk1Igl9LCAvKiAzOTk1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5OTYiCX0sIC8qIDM5OTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzk5NyIJfSwgLyogMzk5NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU18zOTk4Igl9LCAvKiAzOTk4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5OTkiCX0sIC8qIDM5OTkgKi8gLyogZW5kIG9mIFBPU0lYICovCisjaWYgIWRlZmluZWQgKExJTlVYX01JUFNOMzIpICYmICFkZWZpbmVkIChMSU5VWF9NSVBTTjY0KQorCS8qIEZvciBhbiBPMzIgc3RyYWNlLCBkZWNvZGUgdGhlIG8zMiBzeXNjYWxscy4gICovCisJeyA4LAkwLAlwcmludGFyZ3MsCQkic3lzY2FsbCIJfSwgLyogNDAwMCAqLyAvKiBzdGFydCBvZiBMaW51eCBvMzIgKi8KKwl7IDEsCVRQLAlzeXNfZXhpdCwJCSJleGl0IgkJfSwgLyogNDAwMSAqLworCXsgMCwJVFAsCXN5c19mb3JrLAkJImZvcmsiCQl9LCAvKiA0MDAyICovCisJeyAzLAlURCwJc3lzX3JlYWQsCQkicmVhZCIJCX0sIC8qIDQwMDMgKi8KKwl7IDMsCVRELAlzeXNfd3JpdGUsCQkid3JpdGUiCQl9LCAvKiA0MDA0ICovCisJeyAzLAlURHxURiwJc3lzX29wZW4sCQkib3BlbiIJCX0sIC8qIDQwMDUgKi8KKwl7IDEsCVRELAlzeXNfY2xvc2UsCQkiY2xvc2UiCQl9LCAvKiA0MDA2ICovCisJeyAzLAlUUCwJc3lzX3dhaXRwaWQsCQkid2FpdHBpZCIJfSwgLyogNDAwNyAqLworCXsgMiwJVER8VEYsCXN5c19jcmVhdCwJCSJjcmVhdCIJCX0sIC8qIDQwMDggKi8KKwl7IDIsCVRGLAlzeXNfbGluaywJCSJsaW5rIgkJfSwgLyogNDAwOSAqLworCXsgMSwJVEYsCXN5c191bmxpbmssCQkidW5saW5rIgl9LCAvKiA0MDEwICovCisJeyAzLAlURnxUUCwJc3lzX2V4ZWN2ZSwJCSJleGVjdmUiCX0sIC8qIDQwMTEgKi8KKwl7IDEsCVRGLAlzeXNfY2hkaXIsCQkiY2hkaXIiCQl9LCAvKiA0MDEyICovCisJeyAxLAkwLAlzeXNfdGltZSwJCSJ0aW1lIgkJfSwgLyogNDAxMyAqLworCXsgMywJVEYsCXN5c19ta25vZCwJCSJta25vZCIJCX0sIC8qIDQwMTQgKi8KKwl7IDIsCVRGLAlzeXNfY2htb2QsCQkiY2htb2QiCQl9LCAvKiA0MDE1ICovCisJeyAzLAlURiwJc3lzX2Nob3duLAkJImxjaG93biIJfSwgLyogNDAxNiAqLworCXsgMCwJMCwJc3lzX2JyZWFrLAkJImJyZWFrIgkJfSwgLyogNDAxNyAqLworCXsgMiwJVEYsCXN5c19vbGRzdGF0LAkJIm9sZHN0YXQiCX0sIC8qIDQwMTggKi8KKwl7IDMsCVRELAlzeXNfbHNlZWssCQkibHNlZWsiCQl9LCAvKiA0MDE5ICovCisJeyAwLAkwLAlzeXNfZ2V0cGlkLAkJImdldHBpZCIJfSwgLyogNDAyMCAqLworCXsgNSwJVEYsCXN5c19tb3VudCwJCSJtb3VudCIJCX0sIC8qIDQwMjEgKi8KKwl7IDEsCVRGLAlzeXNfdW1vdW50LAkJIm9sZHVtb3VudCIJfSwgLyogNDAyMiAqLworCXsgMSwJMCwJc3lzX3NldHVpZCwJCSJzZXR1aWQiCX0sIC8qIDQwMjMgKi8KKwl7IDAsCTAsCXN5c19nZXR1aWQsCQkiZ2V0dWlkIgl9LCAvKiA0MDI0ICovCisJeyAxLAkwLAlzeXNfc3RpbWUsCQkic3RpbWUiCQl9LCAvKiA0MDI1ICovCisJeyA0LAkwLAlzeXNfcHRyYWNlLAkJInB0cmFjZSIJfSwgLyogNDAyNiAqLworCXsgMSwJMCwJc3lzX2FsYXJtLAkJImFsYXJtIgkJfSwgLyogNDAyNyAqLworCXsgMiwJVEYsCXN5c19vbGRmc3RhdCwJCSJvbGRmc3RhdCIJfSwgLyogNDAyOCAqLworCXsgMCwJVFMsCXN5c19wYXVzZSwJCSJwYXVzZSIJCX0sIC8qIDQwMjkgKi8KKwl7IDIsCVRGLAlzeXNfdXRpbWUsCQkidXRpbWUiCQl9LCAvKiA0MDMwICovCisJeyAwLAkwLAlzeXNfc3R0eSwJCSJzdHR5IgkJfSwgLyogNDAzMSAqLworCXsgMCwJMCwJc3lzX2d0dHksCQkiZ3R0eSIJCX0sIC8qIDQwMzIgKi8KKwl7IDIsCVRGLAlzeXNfYWNjZXNzLAkJImFjY2VzcyIJfSwgLyogNDAzMyAqLworCXsgMSwJMCwJc3lzX25pY2UsCQkibmljZSIJCX0sIC8qIDQwMzQgKi8KKwl7IDEsCTAsCXN5c19mdGltZSwJCSJmdGltZSIJCX0sIC8qIDQwMzUgKi8KKwl7IDAsCTAsCXN5c19zeW5jLAkJInN5bmMiCQl9LCAvKiA0MDM2ICovCisJeyAyLAlUUywJc3lzX2tpbGwsCQkia2lsbCIJCX0sIC8qIDQwMzcgKi8KKwl7IDIsCVRGLAlzeXNfcmVuYW1lLAkJInJlbmFtZSIJfSwgLyogNDAzOCAqLworCXsgMiwJVEYsCXN5c19ta2RpciwJCSJta2RpciIJCX0sIC8qIDQwMzkgKi8KKwl7IDEsCVRGLAlzeXNfcm1kaXIsCQkicm1kaXIiCQl9LCAvKiA0MDQwICovCisJeyAxLAlURCwJc3lzX2R1cCwJCSJkdXAiCQl9LCAvKiA0MDQxICovCisJeyAxLAlURCwJc3lzX3BpcGUsCQkicGlwZSIJCX0sIC8qIDQwNDIgKi8KKwl7IDEsCTAsCXN5c190aW1lcywJCSJ0aW1lcyIJCX0sIC8qIDQwNDMgKi8KKwl7IDAsCTAsCXN5c19wcm9mLAkJInByb2YiCQl9LCAvKiA0MDQ0ICovCisJeyAxLAkwLAlzeXNfYnJrLAkJImJyayIJCX0sIC8qIDQwNDUgKi8KKwl7IDEsCTAsCXN5c19zZXRnaWQsCQkic2V0Z2lkIgl9LCAvKiA0MDQ2ICovCisJeyAwLAkwLAlzeXNfZ2V0Z2lkLAkJImdldGdpZCIJfSwgLyogNDA0NyAqLworCXsgMSwJVFMsCXN5c19zaWduYWwsCQkic2lnbmFsIgl9LCAvKiA0MDQ4ICovCisJeyAwLAkwLAlzeXNfZ2V0ZXVpZCwJCSJnZXRldWlkIgl9LCAvKiA0MDQ5ICovCisJeyAwLAkwLAlzeXNfZ2V0ZWdpZCwJCSJnZXRlZ2lkIgl9LCAvKiA0MDUwICovCisJeyAxLAlURiwJc3lzX2FjY3QsCQkiYWNjdCIJCX0sIC8qIDQwNTEgKi8KKwl7IDIsCVRGLAlzeXNfdW1vdW50MiwJCSJ1bW91bnQiCX0sIC8qIDQwNTIgKi8KKwl7IDAsCTAsCXN5c19sb2NrLAkJImxvY2siCQl9LCAvKiA0MDUzICovCisJeyAzLAlURCwJc3lzX2lvY3RsLAkJImlvY3RsIgkJfSwgLyogNDA1NCAqLworCXsgMywJVEQsCXN5c19mY250bCwJCSJmY250bCIJCX0sIC8qIDQwNTUgKi8KKwl7IDAsCTAsCXN5c19tcHgsCQkibXB4IgkJfSwgLyogNDA1NiAqLworCXsgMiwJMCwJc3lzX3NldHBnaWQsCQkic2V0cGdpZCIJfSwgLyogNDA1NyAqLworCXsgMCwJMCwJc3lzX3VsaW1pdCwJCSJ1bGltaXQiCX0sIC8qIDQwNTggKi8KKwl7IDEsCTAsCXN5c19vbGRvbGR1bmFtZSwJIm9sZG9sZHVuYW1lIgl9LCAvKiA0MDU5ICovCisJeyAxLAkwLAlzeXNfdW1hc2ssCQkidW1hc2siCQl9LCAvKiA0MDYwICovCisJeyAxLAlURiwJc3lzX2Nocm9vdCwJCSJjaHJvb3QiCX0sIC8qIDQwNjEgKi8KKwl7IDIsCTAsCXN5c191c3RhdCwJCSJ1c3RhdCIJCX0sIC8qIDQwNjIgKi8KKwl7IDIsCVRELAlzeXNfZHVwMiwJCSJkdXAyIgkJfSwgLyogNDA2MyAqLworCXsgMCwJMCwJc3lzX2dldHBwaWQsCQkiZ2V0cHBpZCIJfSwgLyogNDA2NCAqLworCXsgMCwJMCwJc3lzX2dldHBncnAsCQkiZ2V0cGdycCIJfSwgLyogNDA2NSAqLworCXsgMCwJMCwJc3lzX3NldHNpZCwJCSJzZXRzaWQiCX0sIC8qIDQwNjYgKi8KKwl7IDMsCVRTLAlzeXNfc2lnYWN0aW9uLAkJInNpZ2FjdGlvbiIJfSwgLyogNDA2NyAqLworCXsgMCwJVFMsCXN5c19zaWdnZXRtYXNrLAkJInNpZ2dldG1hc2siCX0sIC8qIDQwNjggKi8KKwl7IDEsCVRTLAlzeXNfc2lnc2V0bWFzaywJCSJzaWdzZXRtYXNrIgl9LCAvKiA0MDY5ICovCisJeyAyLAkwLAlzeXNfc2V0cmV1aWQsCQkic2V0cmV1aWQiCX0sIC8qIDQwNzAgKi8KKwl7IDIsCTAsCXN5c19zZXRyZWdpZCwJCSJzZXRyZWdpZCIJfSwgLyogNDA3MSAqLworCXsgMywJVFMsCXN5c19zaWdzdXNwZW5kLAkJInNpZ3N1c3BlbmQiCX0sIC8qIDQwNzIgKi8KKwl7IDEsCVRTLAlzeXNfc2lncGVuZGluZywJCSJzaWdwZW5kaW5nIgl9LCAvKiA0MDczICovCisJeyAyLAkwLAlzeXNfc2V0aG9zdG5hbWUsCSJzZXRob3N0bmFtZSIJfSwgLyogNDA3NCAqLworCXsgMiwJMCwJc3lzX3NldHJsaW1pdCwJCSJzZXRybGltaXQiCX0sIC8qIDQwNzUgKi8KKwl7IDIsCTAsCXN5c19nZXRybGltaXQsCQkiZ2V0cmxpbWl0Igl9LCAvKiA0MDc2ICovCisJeyAyLAkwLAlzeXNfZ2V0cnVzYWdlLAkJImdldHJ1c2FnZSIJfSwgLyogNDA3NyAqLworCXsgMiwJMCwJc3lzX2dldHRpbWVvZmRheSwJImdldHRpbWVvZmRheSIJfSwgLyogNDA3OCAqLworCXsgMiwJMCwJc3lzX3NldHRpbWVvZmRheSwJInNldHRpbWVvZmRheSIJfSwgLyogNDA3OSAqLworCXsgMiwJMCwJc3lzX2dldGdyb3VwcywJCSJnZXRncm91cHMiCX0sIC8qIDQwODAgKi8KKwl7IDIsCTAsCXN5c19zZXRncm91cHMsCQkic2V0Z3JvdXBzIgl9LCAvKiA0MDgxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkicmVzZXJ2ZWQ4MiIJfSwgLyogNDA4MiAqLworCXsgMiwJVEYsCXN5c19zeW1saW5rLAkJInN5bWxpbmsiCX0sIC8qIDQwODMgKi8KKwl7IDIsCVRGLAlzeXNfb2xkbHN0YXQsCQkib2xkbHN0YXQiCX0sIC8qIDQwODQgKi8KKwl7IDMsCVRGLAlzeXNfcmVhZGxpbmssCQkicmVhZGxpbmsiCX0sIC8qIDQwODUgKi8KKwl7IDEsCVRGLAlzeXNfdXNlbGliLAkJInVzZWxpYiIJfSwgLyogNDA4NiAqLworCXsgMSwJVEYsCXN5c19zd2Fwb24sCQkic3dhcG9uIgl9LCAvKiA0MDg3ICovCisJeyAzLAkwLAlzeXNfcmVib290LAkJInJlYm9vdCIJfSwgLyogNDA4OCAqLworCXsgMywJVEQsCXN5c19yZWFkZGlyLAkJInJlYWRkaXIiCX0sIC8qIDQwODkgKi8KKwl7IDYsCTAsCXN5c19tbWFwLAkJIm9sZF9tbWFwIgl9LCAvKiA0MDkwICovCisJeyAyLAkwLAlzeXNfbXVubWFwLAkJIm11bm1hcCIJfSwgLyogNDA5MSAqLworCXsgMiwJVEYsCXN5c190cnVuY2F0ZSwJCSJ0cnVuY2F0ZSIJfSwgLyogNDA5MiAqLworCXsgMiwJVEQsCXN5c19mdHJ1bmNhdGUsCQkiZnRydW5jYXRlIgl9LCAvKiA0MDkzICovCisJeyAyLAlURCwJc3lzX2ZjaG1vZCwJCSJmY2htb2QiCX0sIC8qIDQwOTQgKi8KKwl7IDMsCVRELAlzeXNfZmNob3duLAkJImZjaG93biIJfSwgLyogNDA5NSAqLworCXsgMiwJMCwJc3lzX2dldHByaW9yaXR5LAkiZ2V0cHJpb3JpdHkiCX0sIC8qIDQwOTYgKi8KKwl7IDMsCTAsCXN5c19zZXRwcmlvcml0eSwJInNldHByaW9yaXR5Igl9LCAvKiA0MDk3ICovCisJeyAwLAkwLAlzeXNfcHJvZmlsLAkJInByb2ZpbCIJfSwgLyogNDA5OCAqLworCXsgMywJVEYsCXN5c19zdGF0ZnMsCQkic3RhdGZzIgl9LCAvKiA0MDk5ICovCisJeyAzLAlURCwJc3lzX2ZzdGF0ZnMsCQkiZnN0YXRmcyIJfSwgLyogNDEwMCAqLworCXsgMCwJMCwJc3lzX2lvcGVybSwJCSJpb3Blcm0iCX0sIC8qIDQxMDEgKi8KKwl7IDIsCVRELAlzeXNfc29ja2V0Y2FsbCwJCSJzb2NrZXRjYWxsIgl9LCAvKiA0MTAyICovCisJeyAzLAkwLAlzeXNfc3lzbG9nLAkJInN5c2xvZyIJfSwgLyogNDEwMyAqLworCXsgMywJMCwJc3lzX3NldGl0aW1lciwJCSJzZXRpdGltZXIiCX0sIC8qIDQxMDQgKi8KKwl7IDIsCTAsCXN5c19nZXRpdGltZXIsCQkiZ2V0aXRpbWVyIgl9LCAvKiA0MTA1ICovCisJeyAyLAlURiwJc3lzX3N0YXQsCQkic3RhdCIJCX0sIC8qIDQxMDYgKi8KKwl7IDIsCVRGLAlzeXNfbHN0YXQsCQkibHN0YXQiCQl9LCAvKiA0MTA3ICovCisJeyAyLAlURCwJc3lzX2ZzdGF0LAkJImZzdGF0IgkJfSwgLyogNDEwOCAqLworCXsgMSwJMCwJc3lzX29sZHVuYW1lLAkJIm9sZHVuYW1lIgl9LCAvKiA0MTA5ICovCisJeyAwLAkwLAlzeXNfaW9wbCwJCSJpb3BsIgkJfSwgLyogNDExMCAqLworCXsgMCwJMCwJc3lzX3ZoYW5ndXAsCQkidmhhbmd1cCIJfSwgLyogNDExMSAqLworCXsgMCwJMCwJc3lzX2lkbGUsCQkiaWRsZSIJCX0sIC8qIDQxMTIgKi8KKwl7IDUsCTAsCXN5c192bTg2b2xkLAkJInZtODYiCQl9LCAvKiA0MTEzICovCisJeyA0LAlUUCwJc3lzX3dhaXQ0LAkJIndhaXQ0IgkJfSwgLyogNDExNCAqLworCXsgMSwJMCwJc3lzX3N3YXBvZmYsCQkic3dhcG9mZiIJfSwgLyogNDExNSAqLworCXsgMSwJMCwJc3lzX3N5c2luZm8sCQkic3lzaW5mbyIJfSwgLyogNDExNiAqLworCXsgNiwJMCwJc3lzX2lwYywJCSJpcGMiCQl9LCAvKiA0MTE3ICovCisJeyAxLAlURCwJc3lzX2ZzeW5jLAkJImZzeW5jIgkJfSwgLyogNDExOCAqLworCXsgMSwJVFMsCXN5c19zaWdyZXR1cm4sCQkic2lncmV0dXJuIgl9LCAvKiA0MTE5ICovCisJeyA1LAlUUCwJc3lzX2Nsb25lLAkJImNsb25lIgkJfSwgLyogNDEyMCAqLworCXsgMiwJMCwJc3lzX3NldGRvbWFpbm5hbWUsCSJzZXRkb21haW5uYW1lIgl9LCAvKiA0MTIxICovCisJeyAxLAkwLAlzeXNfdW5hbWUsCQkidW5hbWUiCQl9LCAvKiA0MTIyICovCisJeyAwLAkwLAlzeXNfbW9kaWZ5X2xkdCwJCSJtb2RpZnlfbGR0Igl9LCAvKiA0MTIzICovCisJeyAxLAkwLAlzeXNfYWRqdGltZXgsCQkiYWRqdGltZXgiCX0sIC8qIDQxMjQgKi8KKwl7IDMsCTAsCXN5c19tcHJvdGVjdCwJCSJtcHJvdGVjdCIJfSwgLyogNDEyNSAqLworCXsgMywJVFMsCXN5c19zaWdwcm9jbWFzaywJInNpZ3Byb2NtYXNrIgl9LCAvKiA0MTI2ICovCisJeyAyLAkwLAlzeXNfY3JlYXRlX21vZHVsZSwJImNyZWF0ZV9tb2R1bGUiCX0sIC8qIDQxMjcgKi8KKwl7IDMsCTAsCXN5c19pbml0X21vZHVsZSwJImluaXRfbW9kdWxlIgl9LCAvKiA0MTI4ICovCisJeyAyLAkwLAlzeXNfZGVsZXRlX21vZHVsZSwJImRlbGV0ZV9tb2R1bGUiCX0sIC8qIDQxMjkgKi8KKwl7IDEsCTAsCXN5c19nZXRfa2VybmVsX3N5bXMsCSJnZXRfa2VybmVsX3N5bXMifSwgLyogNDEzMCAqLworCXsgNCwJMCwJc3lzX3F1b3RhY3RsLAkJInF1b3RhY3RsIgl9LCAvKiA0MTMxICovCisJeyAxLAkwLAlzeXNfZ2V0cGdpZCwJCSJnZXRwZ2lkIgl9LCAvKiA0MTMyICovCisJeyAxLAlURiwJc3lzX2ZjaGRpciwJCSJmY2hkaXIiCX0sIC8qIDQxMzMgKi8KKwl7IDIsCTAsCXN5c19iZGZsdXNoLAkJImJkZmx1c2giCX0sIC8qIDQxMzQgKi8KKwl7IDMsCTAsCXN5c19zeXNmcywJCSJzeXNmcyIJCX0sIC8qIDQxMzUgKi8KKwl7IDEsCTAsCXN5c19wZXJzb25hbGl0eSwJInBlcnNvbmFsaXR5Igl9LCAvKiA0MTM2ICovCisJeyAwLAkwLAlzeXNfYWZzX3N5c2NhbGwsCSJhZnNfc3lzY2FsbCIJfSwgLyogNDEzNyAqLworCXsgMSwJMCwJc3lzX3NldGZzdWlkLAkJInNldGZzdWlkIgl9LCAvKiA0MTM4ICovCisJeyAxLAkwLAlzeXNfc2V0ZnNnaWQsCQkic2V0ZnNnaWQiCX0sIC8qIDQxMzkgKi8KKwl7IDUsCVRGLAlzeXNfbGxzZWVrLAkJIl9sbHNlZWsiCX0sIC8qIDQxNDAgKi8KKwl7IDMsCVRELAlzeXNfZ2V0ZGVudHMsCQkiZ2V0ZGVudHMiCX0sIC8qIDQxNDEgKi8KKwl7IDUsCVRELAlzeXNfc2VsZWN0LAkJIl9uZXdzZWxlY3QiCX0sIC8qIDQxNDIgKi8KKwl7IDIsCVRELAlzeXNfZmxvY2ssCQkiZmxvY2siCQl9LCAvKiA0MTQzICovCisJeyAzLAkwLAlzeXNfbXN5bmMsCQkibXN5bmMiCQl9LCAvKiA0MTQ0ICovCisJeyAzLAlURCwJc3lzX3JlYWR2LAkJInJlYWR2IgkJfSwgLyogNDE0NSAqLworCXsgMywJVEQsCXN5c193cml0ZXYsCQkid3JpdGV2Igl9LCAvKiA0MTQ2ICovCisJeyAzLAkwLAlwcmludGFyZ3MsCQkiY2FjaGVmbHVzaCIJfSwgLyogNDE0NyAqLworCXsgMywJMCwJcHJpbnRhcmdzLAkJImNhY2hlY3RsIgl9LCAvKiA0MTQ4ICovCisJeyA0LAkwLAlzeXNfc3lzbWlwcywJCSJzeXNtaXBzIgl9LCAvKiA0MTQ5ICovCisJeyAwLAkwLAlzeXNfc2V0dXAsCQkic2V0dXAiCQl9LCAvKiA0MTUwICovCisJeyAxLAkwLAlzeXNfZ2V0c2lkLAkJImdldHNpZCIJfSwgLyogNDE1MSAqLworCXsgMSwJVEQsCXN5c19mZGF0YXN5bmMsCQkiZmRhdGFzeW5jIgl9LCAvKiA0MTUyICovCisJeyAxLAkwLAlzeXNfc3lzY3RsLAkJIl9zeXNjdGwiCX0sIC8qIDQxNTMgKi8KKwl7IDIsCTAsCXN5c19tbG9jaywJCSJtbG9jayIJCX0sIC8qIDQxNTQgKi8KKwl7IDIsCTAsCXN5c19tdW5sb2NrLAkJIm11bmxvY2siCX0sIC8qIDQxNTUgKi8KKwl7IDEsCTAsCXN5c19tbG9ja2FsbCwJCSJtbG9ja2FsbCIJfSwgLyogNDE1NiAqLworCXsgMCwJMCwJc3lzX211bmxvY2thbGwsCQkibXVubG9ja2FsbCIJfSwgLyogNDE1NyAqLworCXsgMiwJMCwJc3lzX3NjaGVkX3NldHBhcmFtLAkic2NoZWRfc2V0cGFyYW0ifSwgLyogNDE1OCAqLworCXsgMiwJMCwJc3lzX3NjaGVkX2dldHBhcmFtLAkic2NoZWRfZ2V0cGFyYW0ifSwgLyogNDE1OSAqLworCXsgMywJMCwJc3lzX3NjaGVkX3NldHNjaGVkdWxlciwJInNjaGVkX3NldHNjaGVkdWxlciJ9LCAvKiA0MTYwICovCisJeyAxLAkwLAlzeXNfc2NoZWRfZ2V0c2NoZWR1bGVyLAkic2NoZWRfZ2V0c2NoZWR1bGVyIn0sIC8qIDQxNjEgKi8KKwl7IDAsCTAsCXN5c19zY2hlZF95aWVsZCwJInNjaGVkX3lpZWxkIgl9LCAvKiA0MTYyICovCisJeyAxLAkwLAlzeXNfc2NoZWRfZ2V0X3ByaW9yaXR5X21heCwic2NoZWRfZ2V0X3ByaW9yaXR5X21heCJ9LCAvKiA0MTYzICovCisJeyAxLAkwLAlzeXNfc2NoZWRfZ2V0X3ByaW9yaXR5X21pbiwic2NoZWRfZ2V0X3ByaW9yaXR5X21pbiJ9LCAvKiA0MTY0ICovCisJeyAyLAkwLAlzeXNfc2NoZWRfcnJfZ2V0X2ludGVydmFsLCJzY2hlZF9ycl9nZXRfaW50ZXJ2YWwifSwgLyogNDE2NSAqLworCXsgMiwJMCwJc3lzX25hbm9zbGVlcCwJCSJuYW5vc2xlZXAiCX0sIC8qIDQxNjYgKi8KKwl7IDUsCTAsCXN5c19tcmVtYXAsCQkibXJlbWFwIgl9LCAvKiA0MTY3ICovCisJeyAzLAlUTiwJc3lzX2FjY2VwdCwJCSJhY2NlcHQiCX0sIC8qIDQxNjggKi8KKwl7IDMsCVROLAlzeXNfYmluZCwJCSJiaW5kIgkJfSwgLyogNDE2OSAqLworCXsgMywJVE4sCXN5c19jb25uZWN0LAkJImNvbm5lY3QiCX0sIC8qIDQxNzAgKi8KKwl7IDMsCVROLAlzeXNfZ2V0cGVlcm5hbWUsCSJnZXRwZWVybmFtZSIJfSwgLyogNDE3MSAqLworCXsgMywJVE4sCXN5c19nZXRzb2NrbmFtZSwJImdldHNvY2tuYW1lIgl9LCAvKiA0MTcyICovCisJeyA1LAlUTiwJc3lzX2dldHNvY2tvcHQsCQkiZ2V0c29ja29wdCIJfSwgLyogNDE3MyAqLworCXsgMiwJVE4sCXN5c19saXN0ZW4sCQkibGlzdGVuIgl9LCAvKiA0MTc0ICovCisJeyA0LAlUTiwJc3lzX3JlY3YsCQkicmVjdiIJCX0sIC8qIDQxNzUgKi8KKwl7IDYsCVROLAlzeXNfcmVjdmZyb20sCQkicmVjdmZyb20iCX0sIC8qIDQxNzYgKi8KKwl7IDMsCVROLAlzeXNfcmVjdm1zZywJCSJyZWN2bXNnIgl9LCAvKiA0MTc3ICovCisJeyA0LAlUTiwJc3lzX3NlbmQsCQkic2VuZCIJCX0sIC8qIDQxNzggKi8KKwl7IDMsCVROLAlzeXNfc2VuZG1zZywJCSJzZW5kbXNnIgl9LCAvKiA0MTc5ICovCisJeyA2LAlUTiwJc3lzX3NlbmR0bywJCSJzZW5kdG8iCX0sIC8qIDQxODAgKi8KKwl7IDUsCVROLAlzeXNfc2V0c29ja29wdCwJCSJzZXRzb2Nrb3B0Igl9LCAvKiA0MTgxICovCisJeyAyLAlUTiwJc3lzX3NodXRkb3duLAkJInNodXRkb3duIgl9LCAvKiA0MTgyICovCisJeyAzLAlUTiwJc3lzX3NvY2tldCwJCSJzb2NrZXQiCX0sIC8qIDQxODMgKi8KKwl7IDQsCVROLAlzeXNfc29ja2V0cGFpciwJCSJzb2NrZXRwYWlyIgl9LCAvKiA0MTg0ICovCisJeyAzLAkwLAlzeXNfc2V0cmVzdWlkLAkJInNldHJlc3VpZCIJfSwgLyogNDE4NSAqLworCXsgMywJMCwJc3lzX2dldHJlc3VpZCwJCSJnZXRyZXN1aWQiCX0sIC8qIDQxODYgKi8KKwl7IDUsCTAsCXN5c19xdWVyeV9tb2R1bGUsCSJxdWVyeV9tb2R1bGUiCX0sIC8qIDQxODcgKi8KKwl7IDMsCVRELAlzeXNfcG9sbCwJCSJwb2xsIgkJfSwgLyogNDE4OCAqLworCXsgMywJMCwJcHJpbnRhcmdzLAkJIm5mc3NlcnZjdGwiCX0sIC8qIDQxODkgKi8KKwl7IDMsCTAsCXN5c19zZXRyZXNnaWQsCQkic2V0cmVzZ2lkIgl9LCAvKiA0MTkwICovCisJeyAzLAkwLAlzeXNfZ2V0cmVzZ2lkLAkJImdldHJlc2dpZCIJfSwgLyogNDE5MSAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJInByY3RsIgkJfSwgLyogNDE5MiAqLworCXsgMSwJVFMsCXByaW50YXJncywJCSJydF9zaWdyZXR1cm4iCX0sIC8qIDQxOTMgKi8KKwl7IDQsCVRTLAlzeXNfcnRfc2lnYWN0aW9uLAkicnRfc2lnYWN0aW9uIgl9LCAvKiA0MTk0ICovCisJeyA0LAlUUywJc3lzX3J0X3NpZ3Byb2NtYXNrLAkicnRfc2lncHJvY21hc2sifSwgLyogNDE5NSAqLworCXsgMiwJVFMsCXN5c19ydF9zaWdwZW5kaW5nLAkicnRfc2lncGVuZGluZyIJfSwgLyogNDE5NiAqLworCXsgNCwJVFMsCXN5c19ydF9zaWd0aW1lZHdhaXQsCSJydF9zaWd0aW1lZHdhaXQifSwvKiA0MTk3ICovCisJeyAzLAlUUywJc3lzX3J0X3NpZ3F1ZXVlaW5mbywJInJ0X3NpZ3F1ZXVlaW5mbyJ9LC8qIDQxOTggKi8KKwl7IDIsCVRTLAlzeXNfcnRfc2lnc3VzcGVuZCwJInJ0X3NpZ3N1c3BlbmQiCX0sIC8qIDQxOTkgKi8KKwl7IDYsCVRELAlzeXNfcHJlYWQsCQkicHJlYWQiCQl9LCAvKiA0MjAwICovCisJeyA2LAlURCwJc3lzX3B3cml0ZSwJCSJwd3JpdGUiCX0sIC8qIDQyMDEgKi8KKwl7IDMsCVRGLAlzeXNfY2hvd24sCQkiY2hvd24iCQl9LCAvKiA0MjAyICovCisJeyAyLAlURiwJc3lzX2dldGN3ZCwJCSJnZXRjd2QiCX0sIC8qIDQyMDMgKi8KKwl7IDIsCTAsCXN5c19jYXBnZXQsCQkiY2FwZ2V0Igl9LCAvKiA0MjA0ICovCisJeyAyLAkwLAlzeXNfY2Fwc2V0LAkJImNhcHNldCIJfSwgLyogNDIwNSAqLworCXsgMiwJVFMsCXN5c19zaWdhbHRzdGFjaywJInNpZ2FsdHN0YXRjayIJfSwgLyogNDIwNiAqLworCXsgNCwJVER8VE4sCXN5c19zZW5kZmlsZSwJCSJzZW5kZmlsZSIJfSwgLyogNDIwNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180MjA4Igl9LCAvKiA0MjA4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQyMDkiCX0sIC8qIDQyMDkgKi8KKwl7IDYsCTAsCXN5c19tbWFwLAkJIm1tYXAiCQl9LCAvKiA0MjEwICovCisJeyA0LAlURiwJc3lzX3RydW5jYXRlNjQsCQkidHJ1bmNhdGU2NCIJfSwgLyogNDIxMSAqLworCXsgNCwJVEQsCXN5c19mdHJ1bmNhdGU2NCwJImZ0cnVuY2F0ZTY0Igl9LCAvKiA0MjEyICovCisJeyAyLAlURiwJcHJpbnRhcmdzLAkJInN0YXQ2NCIJfSwgLyogNDIxMyAqLworCXsgMiwJVEYsCXN5c19sc3RhdDY0LAkJImxzdGF0NjQiCX0sIC8qIDQyMTQgKi8KKwl7IDIsCVRELAlzeXNfZnN0YXQ2NCwJCSJmc3RhdDY0Igl9LCAvKiA0MjE1ICovCisJeyAyLAlURiwJc3lzX3Bpdm90cm9vdCwJCSJwaXZvdF9yb290Igl9LCAvKiA0MjE2ICovCisJeyAzLAkwLAlwcmludGFyZ3MsCQkibWluY29yZSIJfSwgLyogNDIxNyAqLworCXsgMywJMCwJc3lzX21hZHZpc2UsCQkibWFkdmlzZSIJfSwgLyogNDIxOCAqLworCXsgMywJVEYsCXN5c19nZXRkZW50czY0LAkJImdldGRlbnRzNjQiCX0sIC8qIDQyMTkgKi8KKwl7IDMsCVRELAlzeXNfZmNudGwsCQkiZmNudGw2NCIJfSwgLyogNDIyMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180MjIxIgl9LCAvKiA0MjIxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiZ2V0dGlkIgl9LCAvKiA0MjIyICovCisJeyA1LAlURCwJc3lzX3JlYWRhaGVhZCwJCSJyZWFkYWhlYWQiCX0sIC8qIDQyMjMgKi8KKwl7IDUsCVRGLAlzeXNfc2V0eGF0dHIsCQkic2V0eGF0dHIiCX0sIC8qIDQyMjQgKi8KKwl7IDUsCVRGLAlzeXNfc2V0eGF0dHIsCQkibHNldHhhdHRyIgl9LCAvKiA0MjI1ICovCisJeyA1LAlURCwJc3lzX2ZzZXR4YXR0ciwJCSJmc2V0eGF0dHIiCX0sIC8qIDQyMjYgKi8KKwl7IDQsCVRGLAlzeXNfZ2V0eGF0dHIsCQkiZ2V0eGF0dHIiCX0sIC8qIDQyMjcgKi8KKwl7IDQsCVRGLAlzeXNfZ2V0eGF0dHIsCQkibGdldHhhdHRyIgl9LCAvKiA0MjI4ICovCisJeyA0LAkwLAlzeXNfZmdldHhhdHRyLAkJImZnZXR4YXR0ciIJfSwgLyogNDIyOSAqLworCXsgMywJVEYsCXN5c19saXN0eGF0dHIsCQkibGlzdHhhdHRyIgl9LCAvKiA0MjMwICovCisJeyAzLAlURiwJc3lzX2xpc3R4YXR0ciwJCSJsbGlzdHhhdHRyIgl9LCAvKiA0MjMxICovCisJeyAzLAkwLAlzeXNfZmxpc3R4YXR0ciwJCSJmbGlzdHhhdHRyIgl9LCAvKiA0MjMyICovCisJeyAyLAlURiwJc3lzX3JlbW92ZXhhdHRyLAkicmVtb3ZleGF0dHIiCX0sIC8qIDQyMzMgKi8KKwl7IDIsCVRGLAlzeXNfcmVtb3ZleGF0dHIsCSJscmVtb3ZleGF0dHIiCX0sIC8qIDQyMzQgKi8KKwl7IDIsCVRELAlzeXNfZnJlbW92ZXhhdHRyLAkiZnJlbW92ZXhhdHRyIgl9LCAvKiA0MjM1ICovCisJeyAyLAlUUywJc3lzX2tpbGwsCQkidGtpbGwiCQl9LCAvKiA0MjM2ICovCisJeyA1LAlURHxUTiwJc3lzX3NlbmRmaWxlNjQsCQkic2VuZGZpbGU2NCIJfSwgLyogNDIzNyAqLworCXsgNiwJMCwJc3lzX2Z1dGV4LAkJImZ1dGV4IgkJfSwgLyogNDIzOCAqLworCXsgMywJMCwJc3lzX3NjaGVkX3NldGFmZmluaXR5LAkic2NoZWRfc2V0YWZmaW5pdHkifSwgLyogNDIzOSAqLworCXsgMywJMCwJc3lzX3NjaGVkX2dldGFmZmluaXR5LAkic2NoZWRfZ2V0YWZmaW5pdHkifSwgLyogNDI0MCAqLworCXsgMiwJMCwJc3lzX2lvX3NldHVwLAkJImlvX3NldHVwIgl9LCAvKiA0MjQxICovCisJeyAxLAkwLAlzeXNfaW9fZGVzdHJveSwJCSJpb19kZXN0cm95Igl9LCAvKiA0MjQyICovCisJeyA1LAkwLAlzeXNfaW9fZ2V0ZXZlbnRzLAkJImlvX2dldGV2ZW50cyIJfSwgLyogNDI0MyAqLworCXsgMywJMCwJc3lzX2lvX3N1Ym1pdCwJCSJpb19zdWJtaXQiCX0sIC8qIDQyNDQgKi8KKwl7IDMsCTAsCXN5c19pb19jYW5jZWwsCQkiaW9fY2FuY2VsIgl9LCAvKiA0MjQ1ICovCisJeyAxLAlUUCwJc3lzX2V4aXQsCQkiZXhpdF9ncm91cCIJfSwgLyogNDI0NiAqLworCXsgNCwJMCwJcHJpbnRhcmdzLAkJImxvb2t1cF9kY29va2llIn0sIC8qIDQyNDcgKi8KKwl7IDEsCTAsCXN5c19lcG9sbF9jcmVhdGUsCSJlcG9sbF9jcmVhdGUiCX0sIC8qIDQyNDggKi8KKwl7IDQsCVRELAlzeXNfZXBvbGxfY3RsLAkJImVwb2xsX2N0bCIJfSwgLyogNDI0OSAqLworCXsgMywJVEQsCXN5c19lcG9sbF93YWl0LAkJImVwb2xsX3dhaXQiCX0sIC8qIDQyNTAgKi8KKwl7IDUsCTAsCXN5c19yZW1hcF9maWxlX3BhZ2VzLAkicmVtYXBfZmlsZV9wYWdlcyJ9LCAvKiA0MjUxICovCisJeyAxLAkwLAlwcmludGFyZ3MsCQkic2V0X3RpZF9hZGRyZXNzIn0sIC8qIDQyNTIgKi8KKwl7IDAsCTAsCXN5c19yZXN0YXJ0X3N5c2NhbGwsCSJyZXN0YXJ0X3N5c2NhbGwifSwgLyogNDI1MyAqLworCXsgNiwJMCwJc3lzX2ZhZHZpc2U2NF82NCwJImZhZHZpc2U2NF82NCIJfSwgLyogNDI1NCAqLworCXsgMywJVEYsCXN5c19zdGF0ZnM2NCwJCSJzdGF0ZnM2NCIJfSwgLyogNDI1NSAqLworCXsgMiwJVEQsCXN5c19mc3RhdGZzNjQsCQkiZnN0YXRmczY0Igl9LCAvKiA0MjU2ICovCisJeyAzLAkwLAlzeXNfdGltZXJfY3JlYXRlLAkidGltZXJfY3JlYXRlIgl9LCAvKiA0MjU3ICovCisJeyA0LAkwLAlzeXNfdGltZXJfc2V0dGltZSwJInRpbWVyX3NldHRpbWUiCX0sIC8qIDQyNTggKi8KKwl7IDIsCTAsCXN5c190aW1lcl9nZXR0aW1lLAkidGltZXJfZ2V0dGltZSIJfSwgLyogNDI1OSAqLworCXsgMSwJMCwJc3lzX3RpbWVyX2dldG92ZXJydW4sCSJ0aW1lcl9nZXRvdmVycnVuIn0sIC8qIDQyNjAgKi8KKwl7IDEsCTAsCXN5c190aW1lcl9kZWxldGUsCSJ0aW1lcl9kZWxldGUiCX0sIC8qIDQyNjEgKi8KKwl7IDIsCTAsCXN5c19jbG9ja19zZXR0aW1lLAkiY2xvY2tfc2V0dGltZSIJfSwgLyogNDI2MiAqLworCXsgMiwJMCwJc3lzX2Nsb2NrX2dldHRpbWUsCSJjbG9ja19nZXR0aW1lIgl9LCAvKiA0MjYzICovCisJeyAyLAkwLAlzeXNfY2xvY2tfZ2V0cmVzLAkiY2xvY2tfZ2V0cmVzIgl9LCAvKiA0MjY0ICovCisJeyA0LAkwLAlzeXNfY2xvY2tfbmFub3NsZWVwLAkiY2xvY2tfbmFub3NsZWVwIn0sIC8qIDQyNjUgKi8KKwl7IDMsCVRTLAlzeXNfdGdraWxsLAkJInRna2lsbCIJfSwgLyogNDI2NiAqLworCXsgMiwJVEYsCXN5c191dGltZXMsCQkidXRpbWVzIgl9LCAvKiA0MjY3ICovCisJeyA0LAkwLAlzeXNfbWJpbmQsCQkibWJpbmQiCQl9LCAvKiA0MjY4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQyNjkiCX0sIC8qIDQyNjkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDI3MCIJfSwgLyogNDI3MCAqLworCXsgNCwJMCwJc3lzX21xX29wZW4sCQkibXFfb3BlbiIJfSwgLyogNDI3MSAqLworCXsgMSwJMCwJc3lzX21xX3VubGluaywJCSJtcV91bmxpbmsiCX0sIC8qIDQyNzIgKi8KKwl7IDUsCTAsCXN5c19tcV90aW1lZHNlbmQsCSJtcV90aW1lZHNlbmQiCX0sIC8qIDQyNzMgKi8KKwl7IDUsCTAsCXN5c19tcV90aW1lZHJlY2VpdmUsCSJtcV90aW1lZHJlY2VpdmUifSwgLyogNDI3NCAqLworCXsgMiwJMCwJc3lzX21xX25vdGlmeSwJCSJtcV9ub3RpZnkiCX0sIC8qIDQyNzUgKi8KKwl7IDMsCTAsCXN5c19tcV9nZXRzZXRhdHRyLAkibXFfZ2V0c2V0YXR0ciIJfSwgLyogNDI3NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180Mjc3Igl9LCAvKiA0Mjc3ICovCisJeyA1LAlUUCwJc3lzX3dhaXRpZCwJCSJ3YWl0aWQiCX0sIC8qIDQyNzggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDI3OSIJfSwgLyogNDI3OSAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJImFkZF9rZXkiCX0sIC8qIDQyODAgKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJyZXF1ZXN0X2tleSIJfSwgLyogNDI4MSAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJImtleWN0bCIJfSwgLyogNDI4MiAqLworCXsgMSwJMCwJc3lzX3NldF90aHJlYWRfYXJlYSwJInNldF90aHJlYWRfYXJlYSIgfSwgLyogNDI4MyAqLworCXsgMCwJVEQsCXByaW50YXJncywJCSJpbm90aWZ5X2luaXQiCX0sIC8qIDQyODQgKi8KKwl7IDMsCVRELAlzeXNfaW5vdGlmeV9hZGRfd2F0Y2gsCSJpbm90aWZ5X2FkZF93YXRjaCIgfSwgLyogNDI4NSAqLworCXsgMiwJVEQsCXN5c19pbm90aWZ5X3JtX3dhdGNoLAkiaW5vdGlmeV9ybV93YXRjaCIgfSwgLyogNDI4NiAqLworCXsgNCwJMCwJcHJpbnRhcmdzLAkJIm1pZ3JhdGVfcGFnZXMiCX0sIC8qIDQyODcgKi8KKwl7IDQsCVREfFRGLAlzeXNfb3BlbmF0LAkJIm9wZW5hdCIJfSwgLyogNDI4OCAqLworCXsgMywJVER8VEYsCXN5c19ta2RpcmF0LAkJIm1rZGlyYXQiCX0sIC8qIDQyODkgKi8KKwl7IDQsCVREfFRGLAlzeXNfbWtub2RhdCwJCSJta25vZGF0Igl9LCAvKiA0MjkwICovCisJeyA1LAlURHxURiwJc3lzX2ZjaG93bmF0LAkJImZjaG93bmF0Igl9LCAvKiA0MjkxICovCisJeyAzLAlURHxURiwJc3lzX2Z1dGltZXNhdCwJCSJmdXRpbWVzYXQiCX0sIC8qIDQyOTIgKi8KKwl7IDQsCVREfFRELAlzeXNfbmV3ZnN0YXRhdCwJCSJuZXdmc3RhdGF0Igl9LCAvKiA0MjkzICovCisJeyAzLAlURHxURiwJc3lzX3VubGlua2F0LAkJInVubGlua2F0Igl9LCAvKiA0Mjk0ICovCisJeyA0LAlURHxURiwJc3lzX3JlbmFtZWF0LAkJInJlbmFtZWF0Igl9LCAvKiA0Mjk1ICovCisJeyA1LAlURHxURiwJc3lzX2xpbmthdCwJCSJsaW5rYXQiCX0sIC8qIDQyOTYgKi8KKwl7IDMsCVREfFRGLAlzeXNfc3ltbGlua2F0LAkJInN5bWxpbmthdCIJfSwgLyogNDI5NyAqLworCXsgNCwJVER8VEYsCXN5c19yZWFkbGlua2F0LAkJInJlYWRsaW5rYXQiCX0sIC8qIDQyOTggKi8KKwl7IDMsCVREfFRGLAlzeXNfZmNobW9kYXQsCQkiZmNobW9kYXQiCX0sIC8qIDQyOTkgKi8KKwl7IDMsCVREfFRGLAlzeXNfZmFjY2Vzc2F0LAkJImZhY2Nlc3NhdCIJfSwgLyogNDMwMCAqLworCXsgNiwJVEQsCXN5c19wc2VsZWN0NiwJCSJwc2VsZWN0NiIJfSwgLyogNDMwMSAqLworCXsgNSwJVEQsCXN5c19wcG9sbCwJCSJwcG9sbCIJCX0sIC8qIDQzMDIgKi8KKwl7IDEsCVRQLAlzeXNfdW5zaGFyZSwJCSJ1bnNoYXJlIgl9LCAvKiA0MzAzICovCisJeyA2LAlURCwJcHJpbnRhcmdzLAkJInNwbGljZSIJfSwgLyogNDMwNCAqLworCXsgNCwJVEQsCXByaW50YXJncywJCSJzeW5jX2ZpbGVfcmFuZ2UiIH0sIC8qIDQzMDUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDMwNiIJfSwgLyogNDMwNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180MzA3Igl9LCAvKiA0MzA3ICovCisJeyA2LAkwLAlzeXNfbW92ZV9wYWdlcywJCSJtb3ZlX3BhZ2VzIgl9LCAvKiA0MzA4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQzMDkiCX0sIC8qIDQzMDkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDMxMCIJfSwgLyogNDMxMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180MzExIgl9LCAvKiA0MzExICovCisJeyAzLAkwLAlzeXNfZ2V0Y3B1LAkJImdldGNwdSIJfSwgLyogNDMxMiAqLworCXsgNSwJVEQsCXN5c19lcG9sbF9wd2FpdCwJImVwb2xsX3B3YWl0Igl9LCAvKiA0MzEzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQzMTQiCX0sIC8qIDQzMTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDMxNSIJfSwgLyogNDMxNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180MzE2Igl9LCAvKiA0MzE2ICovCisJeyAzLAlURHxUUywJc3lzX3NpZ25hbGZkLAkJInNpZ25hbGZkIgl9LCAvKiA0MzE3ICovCisJeyA0LAlURCwJc3lzX3RpbWVyZmQsCQkidGltZXJmZCIJfSwgLyogNDMxOCAqLworCXsgMSwJVEQsCXN5c19ldmVudGZkLAkJImV2ZW50ZmQiCX0sIC8qIDQzMTkgKi8KKyNlbHNlCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX3N5c2NhbGwiCX0sIC8qIDQwMDAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfZXhpdCIJCX0sIC8qIDQwMDEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfZm9yayIJCX0sIC8qIDQwMDIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfcmVhZCIJCX0sIC8qIDQwMDMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfd3JpdGUiCQl9LCAvKiA0MDA0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX29wZW4iCQl9LCAvKiA0MDA1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX2Nsb3NlIgkJfSwgLyogNDAwNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl93YWl0cGlkIgl9LCAvKiA0MDA3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX2NyZWF0IgkJfSwgLyogNDAwOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9saW5rIgkJfSwgLyogNDAwOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl91bmxpbmsiCX0sIC8qIDQwMTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfZXhlY3ZlIgl9LCAvKiA0MDExICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX2NoZGlyIgkJfSwgLyogNDAxMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl90aW1lIgkJfSwgLyogNDAxMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9ta25vZCIJCX0sIC8qIDQwMTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfY2htb2QiCQl9LCAvKiA0MDE1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX2xjaG93biIJfSwgLyogNDAxNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9icmVhayIJCX0sIC8qIDQwMTcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfb2xkc3RhdCIJfSwgLyogNDAxOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9sc2VlayIJCX0sIC8qIDQwMTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfZ2V0cGlkIgl9LCAvKiA0MDIwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX21vdW50IgkJfSwgLyogNDAyMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9vbGR1bW91bnQiCX0sIC8qIDQwMjIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfc2V0dWlkIgl9LCAvKiA0MDIzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX2dldHVpZCIJfSwgLyogNDAyNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9zdGltZSIJCX0sIC8qIDQwMjUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfcHRyYWNlIgl9LCAvKiA0MDI2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX2FsYXJtIgkJfSwgLyogNDAyNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9vbGRmc3RhdCIJfSwgLyogNDAyOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9wYXVzZSIJCX0sIC8qIDQwMjkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfdXRpbWUiCQl9LCAvKiA0MDMwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX3N0dHkiCQl9LCAvKiA0MDMxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX2d0dHkiCQl9LCAvKiA0MDMyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX2FjY2VzcyIJfSwgLyogNDAzMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9uaWNlIgkJfSwgLyogNDAzNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9mdGltZSIJCX0sIC8qIDQwMzUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfc3luYyIJCX0sIC8qIDQwMzYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfa2lsbCIJCX0sIC8qIDQwMzcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfcmVuYW1lIgl9LCAvKiA0MDM4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX21rZGlyIgkJfSwgLyogNDAzOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9ybWRpciIJCX0sIC8qIDQwNDAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfZHVwIgkJfSwgLyogNDA0MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9waXBlIgkJfSwgLyogNDA0MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl90aW1lcyIJCX0sIC8qIDQwNDMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfcHJvZiIJCX0sIC8qIDQwNDQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfYnJrIgkJfSwgLyogNDA0NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9zZXRnaWQiCX0sIC8qIDQwNDYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfZ2V0Z2lkIgl9LCAvKiA0MDQ3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX3NpZ25hbCIJfSwgLyogNDA0OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9nZXRldWlkIgl9LCAvKiA0MDQ5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX2dldGVnaWQiCX0sIC8qIDQwNTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfYWNjdCIJCX0sIC8qIDQwNTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfdW1vdW50Igl9LCAvKiA0MDUyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX2xvY2siCQl9LCAvKiA0MDUzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX2lvY3RsIgkJfSwgLyogNDA1NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9mY250bCIJCX0sIC8qIDQwNTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfbXB4IgkJfSwgLyogNDA1NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9zZXRwZ2lkIgl9LCAvKiA0MDU3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX3VsaW1pdCIJfSwgLyogNDA1OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9vbGRvbGR1bmFtZSIJfSwgLyogNDA1OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl91bWFzayIJCX0sIC8qIDQwNjAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfY2hyb290Igl9LCAvKiA0MDYxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX3VzdGF0IgkJfSwgLyogNDA2MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9kdXAyIgkJfSwgLyogNDA2MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9nZXRwcGlkIgl9LCAvKiA0MDY0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX2dldHBncnAiCX0sIC8qIDQwNjUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfc2V0c2lkIgl9LCAvKiA0MDY2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX3NpZ2FjdGlvbiIJfSwgLyogNDA2NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9zaWdnZXRtYXNrIgl9LCAvKiA0MDY4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX3NpZ3NldG1hc2siCX0sIC8qIDQwNjkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfc2V0cmV1aWQiCX0sIC8qIDQwNzAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfc2V0cmVnaWQiCX0sIC8qIDQwNzEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfc2lnc3VzcGVuZCIJfSwgLyogNDA3MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9zaWdwZW5kaW5nIgl9LCAvKiA0MDczICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX3NldGhvc3RuYW1lIgl9LCAvKiA0MDc0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX3NldHJsaW1pdCIJfSwgLyogNDA3NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9nZXRybGltaXQiCX0sIC8qIDQwNzYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfZ2V0cnVzYWdlIgl9LCAvKiA0MDc3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX2dldHRpbWVvZmRheSIJfSwgLyogNDA3OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9zZXR0aW1lb2ZkYXkiCX0sIC8qIDQwNzkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfZ2V0Z3JvdXBzIgl9LCAvKiA0MDgwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX3NldGdyb3VwcyIJfSwgLyogNDA4MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9yZXNlcnZlZDgyIgl9LCAvKiA0MDgyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX3N5bWxpbmsiCX0sIC8qIDQwODMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfb2xkbHN0YXQiCX0sIC8qIDQwODQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfcmVhZGxpbmsiCX0sIC8qIDQwODUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfdXNlbGliIgl9LCAvKiA0MDg2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX3N3YXBvbiIJfSwgLyogNDA4NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9yZWJvb3QiCX0sIC8qIDQwODggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfcmVhZGRpciIJfSwgLyogNDA4OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9vbGRfbW1hcCIJfSwgLyogNDA5MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9tdW5tYXAiCX0sIC8qIDQwOTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfdHJ1bmNhdGUiCX0sIC8qIDQwOTIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfZnRydW5jYXRlIgl9LCAvKiA0MDkzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX2ZjaG1vZCIJfSwgLyogNDA5NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9mY2hvd24iCX0sIC8qIDQwOTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfZ2V0cHJpb3JpdHkiCX0sIC8qIDQwOTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfc2V0cHJpb3JpdHkiCX0sIC8qIDQwOTcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfcHJvZmlsIgl9LCAvKiA0MDk4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX3N0YXRmcyIJfSwgLyogNDA5OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9mc3RhdGZzIgl9LCAvKiA0MTAwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX2lvcGVybSIJfSwgLyogNDEwMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9zb2NrZXRjYWxsIgl9LCAvKiA0MTAyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX3N5c2xvZyIJfSwgLyogNDEwMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9zZXRpdGltZXIiCX0sIC8qIDQxMDQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfZ2V0aXRpbWVyIgl9LCAvKiA0MTA1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX3N0YXQiCQl9LCAvKiA0MTA2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX2xzdGF0IgkJfSwgLyogNDEwNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9mc3RhdCIJCX0sIC8qIDQxMDggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfb2xkdW5hbWUiCX0sIC8qIDQxMDkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfaW9wbCIJCX0sIC8qIDQxMTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfdmhhbmd1cCIJfSwgLyogNDExMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9pZGxlIgkJfSwgLyogNDExMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl92bTg2IgkJfSwgLyogNDExMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl93YWl0NCIJCX0sIC8qIDQxMTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfc3dhcG9mZiIJfSwgLyogNDExNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9zeXNpbmZvIgl9LCAvKiA0MTE2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX2lwYyIJCX0sIC8qIDQxMTcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfZnN5bmMiCQl9LCAvKiA0MTE4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX3NpZ3JldHVybiIJfSwgLyogNDExOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9jbG9uZSIJCX0sIC8qIDQxMjAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfc2V0ZG9tYWlubmFtZSIJfSwgLyogNDEyMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl91bmFtZSIJCX0sIC8qIDQxMjIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfbW9kaWZ5X2xkdCIJfSwgLyogNDEyMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9hZGp0aW1leCIJfSwgLyogNDEyNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9tcHJvdGVjdCIJfSwgLyogNDEyNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9zaWdwcm9jbWFzayIJfSwgLyogNDEyNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9jcmVhdGVfbW9kdWxlIgl9LCAvKiA0MTI3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX2luaXRfbW9kdWxlIgl9LCAvKiA0MTI4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX2RlbGV0ZV9tb2R1bGUiCX0sIC8qIDQxMjkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfZ2V0X2tlcm5lbF9zeW1zIn0sIC8qIDQxMzAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfcXVvdGFjdGwiCX0sIC8qIDQxMzEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfZ2V0cGdpZCIJfSwgLyogNDEzMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9mY2hkaXIiCX0sIC8qIDQxMzMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfYmRmbHVzaCIJfSwgLyogNDEzNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9zeXNmcyIJCX0sIC8qIDQxMzUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfcGVyc29uYWxpdHkiCX0sIC8qIDQxMzYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfYWZzX3N5c2NhbGwiCX0sIC8qIDQxMzcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfc2V0ZnN1aWQiCX0sIC8qIDQxMzggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfc2V0ZnNnaWQiCX0sIC8qIDQxMzkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfX2xsc2VlayIJfSwgLyogNDE0MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9nZXRkZW50cyIJfSwgLyogNDE0MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9fbmV3c2VsZWN0Igl9LCAvKiA0MTQyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX2Zsb2NrIgkJfSwgLyogNDE0MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9tc3luYyIJCX0sIC8qIDQxNDQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfcmVhZHYiCQl9LCAvKiA0MTQ1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX3dyaXRldiIJfSwgLyogNDE0NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9jYWNoZWZsdXNoIgl9LCAvKiA0MTQ3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX2NhY2hlY3RsIgl9LCAvKiA0MTQ4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX3N5c21pcHMiCX0sIC8qIDQxNDkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfc2V0dXAiCQl9LCAvKiA0MTUwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX2dldHNpZCIJfSwgLyogNDE1MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9mZGF0YXN5bmMiCX0sIC8qIDQxNTIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfX3N5c2N0bCIJfSwgLyogNDE1MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9tbG9jayIJCX0sIC8qIDQxNTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfbXVubG9jayIJfSwgLyogNDE1NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9tbG9ja2FsbCIJfSwgLyogNDE1NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9tdW5sb2NrYWxsIgl9LCAvKiA0MTU3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX3NjaGVkX3NldHBhcmFtIn0sIC8qIDQxNTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfc2NoZWRfZ2V0cGFyYW0ifSwgLyogNDE1OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9zY2hlZF9zZXRzY2hlZHVsZXIifSwgLyogNDE2MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9zY2hlZF9nZXRzY2hlZHVsZXIifSwgLyogNDE2MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9zY2hlZF95aWVsZCIJfSwgLyogNDE2MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9zY2hlZF9nZXRfcHJpb3JpdHlfbWF4In0sIC8qIDQxNjMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfc2NoZWRfZ2V0X3ByaW9yaXR5X21pbiJ9LC8qIDQxNjQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfc2NoZWRfcnJfZ2V0X2ludGVydmFsIn0sIC8qIDQxNjUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfbmFub3NsZWVwIgl9LCAvKiA0MTY2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX21yZW1hcCIJfSwgLyogNDE2NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9hY2NlcHQiCX0sIC8qIDQxNjggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfYmluZCIJCX0sIC8qIDQxNjkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfY29ubmVjdCIJfSwgLyogNDE3MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9nZXRwZWVybmFtZSIJfSwgLyogNDE3MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9nZXRzb2NrbmFtZSIJfSwgLyogNDE3MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9nZXRzb2Nrb3B0Igl9LCAvKiA0MTczICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX2xpc3RlbiIJfSwgLyogNDE3NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9yZWN2IgkJfSwgLyogNDE3NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9yZWN2ZnJvbSIJfSwgLyogNDE3NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9yZWN2bXNnIgl9LCAvKiA0MTc3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX3NlbmQiCQl9LCAvKiA0MTc4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX3NlbmRtc2ciCX0sIC8qIDQxNzkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfc2VuZHRvIgl9LCAvKiA0MTgwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX3NldHNvY2tvcHQiCX0sIC8qIDQxODEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfc2h1dGRvd24iCX0sIC8qIDQxODIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfc29ja2V0Igl9LCAvKiA0MTgzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX3NvY2tldHBhaXIiCX0sIC8qIDQxODQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfc2V0cmVzdWlkIgl9LCAvKiA0MTg1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX2dldHJlc3VpZCIJfSwgLyogNDE4NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9xdWVyeV9tb2R1bGUiCX0sIC8qIDQxODcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfcG9sbCIJCX0sIC8qIDQxODggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfbmZzc2VydmN0bCIJfSwgLyogNDE4OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9zZXRyZXNnaWQiCX0sIC8qIDQxOTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfZ2V0cmVzZ2lkIgl9LCAvKiA0MTkxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX3ByY3RsIgkJfSwgLyogNDE5MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9ydF9zaWdyZXR1cm4iCX0sIC8qIDQxOTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfcnRfc2lnYWN0aW9uIgl9LCAvKiA0MTk0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX3J0X3NpZ3Byb2NtYXNrIn0sIC8qIDQxOTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfcnRfc2lncGVuZGluZyIJfSwgLyogNDE5NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9ydF9zaWd0aW1lZHdhaXQifSwvKiA0MTk3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX3J0X3NpZ3F1ZXVlaW5mbyJ9LC8qIDQxOTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfcnRfc2lndXNwZW5kIgl9LCAvKiA0MTk5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX3ByZWFkIgkJfSwgLyogNDIwMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9wd3JpdGUiCX0sIC8qIDQyMDEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfY2hvd24iCQl9LCAvKiA0MjAyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX2dldGN3ZCIJfSwgLyogNDIwMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9jYXBnZXQiCX0sIC8qIDQyMDQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfY2Fwc2V0Igl9LCAvKiA0MjA1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX3NpZ2FsdHN0YXRjayIJfSwgLyogNDIwNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9zZW5kZmlsZSIJfSwgLyogNDIwNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180MjA4Igl9LCAvKiA0MjA4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQyMDkiCX0sIC8qIDQyMDkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfbW1hcCIJCX0sIC8qIDQyMTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfdHJ1bmNhdGU2NCIJfSwgLyogNDIxMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9mdHJ1bmNhdGU2NCIJfSwgLyogNDIxMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9zdGF0NjQiCX0sIC8qIDQyMTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfbHN0YXQ2NCIJfSwgLyogNDIxNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9mc3RhdDY0Igl9LCAvKiA0MjE1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX3Bpdm90X3Jvb3QiCX0sIC8qIDQyMTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfbWluY29yZSIJfSwgLyogNDIxNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9tYWR2aXNlIgl9LCAvKiA0MjE4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX2dldGRlbnRzNjQiCX0sIC8qIDQyMTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfZmNudGw2NCIJfSwgLyogNDIyMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180MjIxIgl9LCAvKiA0MjIxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX2dldHRpZCIJfSwgLyogNDIyMiAqLworCXsgNSwJVEQsCXByaW50YXJncywJCSJvMzJfcmVhZGFoZWFkIgl9LCAvKiA0MjIzICovCisJeyA1LAlURiwJcHJpbnRhcmdzLAkJIm8zMl9zZXR4YXR0ciIJfSwgLyogNDIyNCAqLworCXsgNSwJVEYsCXByaW50YXJncywJCSJvMzJfbHNldHhhdHRyIgl9LCAvKiA0MjI1ICovCisJeyA1LAlURCwJcHJpbnRhcmdzLAkJIm8zMl9mc2V0eGF0dHIiCX0sIC8qIDQyMjYgKi8KKwl7IDQsCVRGLAlwcmludGFyZ3MsCQkibzMyX2dldHhhdHRyIgl9LCAvKiA0MjI3ICovCisJeyA0LAlURiwJcHJpbnRhcmdzLAkJIm8zMl9sZ2V0eGF0dHIiCX0sIC8qIDQyMjggKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJvMzJfZmdldHhhdHRyIgl9LCAvKiA0MjI5ICovCisJeyAzLAlURiwJcHJpbnRhcmdzLAkJIm8zMl9saXN0eGF0dHIiCX0sIC8qIDQyMzAgKi8KKwl7IDMsCVRGLAlwcmludGFyZ3MsCQkibzMyX2xsaXN0eGF0dHIiCX0sIC8qIDQyMzEgKi8KKwl7IDMsCTAsCXByaW50YXJncywJCSJvMzJfZmxpc3R4YXR0ciIJfSwgLyogNDIzMiAqLworCXsgMiwJVEYsCXByaW50YXJncywJCSJvMzJfcmVtb3ZleGF0dHIiCX0sIC8qIDQyMzMgKi8KKwl7IDIsCVRGLAlwcmludGFyZ3MsCQkibzMyX2xyZW1vdmV4YXR0ciIJfSwgLyogNDIzNCAqLworCXsgMiwJVEQsCXByaW50YXJncywJCSJvMzJfZnJlbW92ZXhhdHRyIgl9LCAvKiA0MjM1ICovCisJeyAyLAlUUywJcHJpbnRhcmdzLAkJIm8zMl90a2lsbCIJCX0sIC8qIDQyMzYgKi8KKwl7IDUsCVREfFROLAlwcmludGFyZ3MsCQkibzMyX3NlbmRmaWxlNjQiCX0sIC8qIDQyMzcgKi8KKwl7IDYsCTAsCXByaW50YXJncywJCSJvMzJfZnV0ZXgiCQl9LCAvKiA0MjM4ICovCisJeyAzLAkwLAlwcmludGFyZ3MsCQkibzMyX3NjaGVkX3NldGFmZmluaXR5In0sIC8qIDQyMzkgKi8KKwl7IDMsCTAsCXByaW50YXJncywJCSJvMzJfc2NoZWRfZ2V0YWZmaW5pdHkifSwgLyogNDI0MCAqLworCXsgMiwJMCwJcHJpbnRhcmdzLAkJIm8zMl9pb19zZXR1cCIJfSwgLyogNDI0MSAqLworCXsgMSwJMCwJcHJpbnRhcmdzLAkJIm8zMl9pb19kZXN0cm95Igl9LCAvKiA0MjQyICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkibzMyX2lvX2dldGV2ZW50cyIJfSwgLyogNDI0MyAqLworCXsgMywJMCwJcHJpbnRhcmdzLAkJIm8zMl9pb19zdWJtaXQiCX0sIC8qIDQyNDQgKi8KKwl7IDMsCTAsCXByaW50YXJncywJCSJvMzJfaW9fY2FuY2VsIgl9LCAvKiA0MjQ1ICovCisJeyAxLAlUUCwJcHJpbnRhcmdzLAkJIm8zMl9leGl0X2dyb3VwIgl9LCAvKiA0MjQ2ICovCisJeyAzLAkwLAlwcmludGFyZ3MsCQkibzMyX2xvb2t1cF9kY29va2llIn0sIC8qIDQyNDcgKi8KKwl7IDEsCTAsCXByaW50YXJncywJCSJvMzJfZXBvbGxfY3JlYXRlIgl9LCAvKiA0MjQ4ICovCisJeyA0LAlURCwJcHJpbnRhcmdzLAkJIm8zMl9lcG9sbF9jdGwiCX0sIC8qIDQyNDkgKi8KKwl7IDMsCVRELAlwcmludGFyZ3MsCQkibzMyX2Vwb2xsX3dhaXQiCX0sIC8qIDQyNTAgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJvMzJfcmVtYXBfZmlsZV9wYWdlcyJ9LCAvKiA0MjUxICovCisJeyAxLAkwLAlwcmludGFyZ3MsCQkibzMyX3NldF90aWRfYWRkcmVzcyJ9LCAvKiA0MjUyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX3Jlc3RhcnRfc3lzY2FsbCJ9LCAvKiA0MjUzICovCisJeyA3LAkwLAlwcmludGFyZ3MsCQkibzMyX2ZhZHZpc2U2NF82NCIJfSwgLyogNDI1NCAqLworCXsgMywJVEYsCXByaW50YXJncywJCSJvMzJfc3RhdGZzNjQiCX0sIC8qIDQyNTUgKi8KKwl7IDIsCVRELAlwcmludGFyZ3MsCQkibzMyX2ZzdGF0ZnM2NCIJfSwgLyogNDI1NiAqLworCXsgMywJMCwJcHJpbnRhcmdzLAkJIm8zMl90aW1lcl9jcmVhdGUiCX0sIC8qIDQyNTcgKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJvMzJfdGltZXJfc2V0dGltZSIJfSwgLyogNDI1OCAqLworCXsgMiwJMCwJcHJpbnRhcmdzLAkJIm8zMl90aW1lcl9nZXR0aW1lIgl9LCAvKiA0MjU5ICovCisJeyAxLAkwLAlwcmludGFyZ3MsCQkibzMyX3RpbWVyX2dldG92ZXJydW4ifSwgLyogNDI2MCAqLworCXsgMSwJMCwJcHJpbnRhcmdzLAkJIm8zMl90aW1lcl9kZWxldGUiCX0sIC8qIDQyNjEgKi8KKwl7IDIsCTAsCXByaW50YXJncywJCSJvMzJfY2xvY2tfc2V0dGltZSIJfSwgLyogNDI2MiAqLworCXsgMiwJMCwJcHJpbnRhcmdzLAkJIm8zMl9jbG9ja19nZXR0aW1lIgl9LCAvKiA0MjYzICovCisJeyAyLAkwLAlwcmludGFyZ3MsCQkibzMyX2Nsb2NrX2dldHJlcyIJfSwgLyogNDI2NCAqLworCXsgNCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9jbG9ja19uYW5vc2xlZXAifSwgLyogNDI2NSAqLworCXsgMywJVFMsCXByaW50YXJncywJCSJvMzJfdGdraWxsIgl9LCAvKiA0MjY2ICovCisJeyAyLAlURiwJcHJpbnRhcmdzLAkJIm8zMl91dGltZXMiCX0sIC8qIDQyNjcgKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJvMzJfbWJpbmQiCQl9LCAvKiA0MjY4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX1NZU180MjY5Igl9LCAvKiA0MjY5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX1NZU180MjcwIgl9LCAvKiA0MjcwICovCisJeyA0LAkwLAlwcmludGFyZ3MsCQkibzMyX21xX29wZW4iCX0sIC8qIDQyNzEgKi8KKwl7IDEsCTAsCXByaW50YXJncywJCSJvMzJfbXFfdW5saW5rIgl9LCAvKiA0MjcyICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkibzMyX21xX3RpbWVkc2VuZCIJfSwgLyogNDI3MyAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIm8zMl9tcV90aW1lZHJlY2VpdmUifSwgLyogNDI3NCAqLworCXsgMiwJMCwJcHJpbnRhcmdzLAkJIm8zMl9tcV9ub3RpZnkiCX0sIC8qIDQyNzUgKi8KKwl7IDMsCTAsCXByaW50YXJncywJCSJvMzJfbXFfZ2V0c2V0YXR0ciIJfSwgLyogNDI3NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9TWVNfNDI3NyIJfSwgLyogNDI3NyAqLworCXsgNSwJVFAsCXByaW50YXJncywJCSJvMzJfd2FpdGlkIgl9LCAvKiA0Mjc4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX1NZU180Mjc5Igl9LCAvKiA0Mjc5ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkibzMyX2FkZF9rZXkiCX0sIC8qIDQyODAgKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJvMzJfcmVxdWVzdF9rZXkiCX0sIC8qIDQyODEgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJvMzJfa2V5Y3RsIgl9LCAvKiA0MjgyICovCisJeyAxLAkwLAlwcmludGFyZ3MsCQkibzMyX3NldF90aHJlYWRfYXJlYSIgfSwgLyogNDI4MyAqLworCXsgMCwJVEQsCXByaW50YXJncywJCSJvMzJfaW5vdGlmeV9pbml0Igl9LCAvKiA0Mjg0ICovCisJeyAzLAlURCwJcHJpbnRhcmdzLAkJIm8zMl9pbm90aWZ5X2FkZF93YXRjaCIgfSwgLyogNDI4NSAqLworCXsgMiwJVEQsCXByaW50YXJncywJCSJvMzJfaW5vdGlmeV9ybV93YXRjaCIgfSwgLyogNDI4NiAqLworCXsgNCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9taWdyYXRlX3BhZ2VzIgl9LCAvKiA0Mjg3ICovCisJeyA0LAlURHxURiwJcHJpbnRhcmdzLAkJIm8zMl9vcGVuYXQiCX0sIC8qIDQyODggKi8KKwl7IDMsCVREfFRGLAlwcmludGFyZ3MsCQkibzMyX21rZGlyYXQiCX0sIC8qIDQyODkgKi8KKwl7IDQsCVREfFRGLAlwcmludGFyZ3MsCQkibzMyX21rbm9kYXQiCX0sIC8qIDQyOTAgKi8KKwl7IDUsCVREfFRGLAlwcmludGFyZ3MsCQkibzMyX2ZjaG93bmF0Igl9LCAvKiA0MjkxICovCisJeyAzLAlURHxURiwJcHJpbnRhcmdzLAkJIm8zMl9mdXRpbWVzYXQiCX0sIC8qIDQyOTIgKi8KKwl7IDQsCVREfFRELAlwcmludGFyZ3MsCQkibzMyX25ld2ZzdGF0YXQiCX0sIC8qIDQyOTMgKi8KKwl7IDMsCVREfFRGLAlwcmludGFyZ3MsCQkibzMyX3VubGlua2F0Igl9LCAvKiA0Mjk0ICovCisJeyA0LAlURHxURiwJcHJpbnRhcmdzLAkJIm8zMl9yZW5hbWVhdCIJfSwgLyogNDI5NSAqLworCXsgNSwJVER8VEYsCXByaW50YXJncywJCSJvMzJfbGlua2F0Igl9LCAvKiA0Mjk2ICovCisJeyAzLAlURHxURiwJcHJpbnRhcmdzLAkJIm8zMl9zeW1saW5rYXQiCX0sIC8qIDQyOTcgKi8KKwl7IDQsCVREfFRGLAlwcmludGFyZ3MsCQkibzMyX3JlYWRsaW5rYXQiCX0sIC8qIDQyOTggKi8KKwl7IDMsCVREfFRGLAlwcmludGFyZ3MsCQkibzMyX2ZjaG1vZGF0Igl9LCAvKiA0Mjk5ICovCisJeyAzLAlURHxURiwJcHJpbnRhcmdzLAkJIm8zMl9mYWNjZXNzYXQiCX0sIC8qIDQzMDAgKi8KKwl7IDYsCVRELAlwcmludGFyZ3MsCQkibzMyX3BzZWxlY3Q2Igl9LCAvKiA0MzAxICovCisJeyA1LAlURCwJcHJpbnRhcmdzLAkJIm8zMl9wcG9sbCIJCX0sIC8qIDQzMDIgKi8KKwl7IDEsCVRQLAlwcmludGFyZ3MsCQkibzMyX3Vuc2hhcmUiCX0sIC8qIDQzMDMgKi8KKwl7IDYsCVRELAlwcmludGFyZ3MsCQkibzMyX3NwbGljZSIJfSwgLyogNDMwNCAqLworCXsgNCwJVEQsCXByaW50YXJncywJCSJvMzJfc3luY19maWxlX3JhbmdlIiB9LCAvKiA0MzA1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX1NZU180MzA2Igl9LCAvKiA0MzA2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibzMyX1NZU180MzA3Igl9LCAvKiA0MzA3ICovCisJeyA2LAkwLAlwcmludGFyZ3MsCQkibzMyX21vdmVfcGFnZXMiCX0sIC8qIDQzMDggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfU1lTXzQzMDkiCX0sIC8qIDQzMDkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfU1lTXzQzMTAiCX0sIC8qIDQzMTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJvMzJfU1lTXzQzMTEiCX0sIC8qIDQzMTEgKi8KKwl7IDMsCTAsCXByaW50YXJncywJCSJvMzJfZ2V0Y3B1Igl9LCAvKiA0MzEyICovCisJeyA1LAlURCwJcHJpbnRhcmdzLAkJIm8zMl9lcG9sbF9wd2FpdCIJfSwgLyogNDMxMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9TWVNfNDMxNCIJfSwgLyogNDMxNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9TWVNfNDMxNSIJfSwgLyogNDMxNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm8zMl9TWVNfNDMxNiIJfSwgLyogNDMxNiAqLworCXsgMywJVER8VFMsCXByaW50YXJncywJCSJvMzJfc2lnbmFsZmQiCX0sIC8qIDQzMTcgKi8KKwl7IDQsCVRELAlwcmludGFyZ3MsCQkibzMyX3RpbWVyZmQiCX0sIC8qIDQzMTggKi8KKwl7IDEsCVRELAlwcmludGFyZ3MsCQkibzMyX2V2ZW50ZmQiCX0sIC8qIDQzMTkgKi8KKyNlbmRpZgorCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180MzIwIgl9LCAvKiA0MzIwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQzMjEiCX0sIC8qIDQzMjEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDMyMiIJfSwgLyogNDMyMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180MzIzIgl9LCAvKiA0MzIzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQzMjQiCX0sIC8qIDQzMjQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDMyNSIJfSwgLyogNDMyNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180MzI2Igl9LCAvKiA0MzI2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQzMjciCX0sIC8qIDQzMjcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDMyOCIJfSwgLyogNDMyOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180MzI5Igl9LCAvKiA0MzI5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQzMzAiCX0sIC8qIDQzMzAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDMzMSIJfSwgLyogNDMzMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180MzMyIgl9LCAvKiA0MzMyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQzMzMiCX0sIC8qIDQzMzMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDMzNCIJfSwgLyogNDMzNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180MzM1Igl9LCAvKiA0MzM1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQzMzYiCX0sIC8qIDQzMzYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDMzNyIJfSwgLyogNDMzNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180MzM4Igl9LCAvKiA0MzM4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQzMzkiCX0sIC8qIDQzMzkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDM0MCIJfSwgLyogNDM0MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180MzQxIgl9LCAvKiA0MzQxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQzNDIiCX0sIC8qIDQzNDIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDM0MyIJfSwgLyogNDM0MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180MzQ0Igl9LCAvKiA0MzQ0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQzNDUiCX0sIC8qIDQzNDUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDM0NiIJfSwgLyogNDM0NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180MzQ3Igl9LCAvKiA0MzQ3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQzNDgiCX0sIC8qIDQzNDggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDM0OSIJfSwgLyogNDM0OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180MzUwIgl9LCAvKiA0MzUwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQzNTEiCX0sIC8qIDQzNTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDM1MiIJfSwgLyogNDM1MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180MzUzIgl9LCAvKiA0MzUzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQzNTQiCX0sIC8qIDQzNTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDM1NSIJfSwgLyogNDM1NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180MzU2Igl9LCAvKiA0MzU2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQzNTciCX0sIC8qIDQzNTcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDM1OCIJfSwgLyogNDM1OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180MzU5Igl9LCAvKiA0MzU5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQzNjAiCX0sIC8qIDQzNjAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDM2MSIJfSwgLyogNDM2MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180MzYyIgl9LCAvKiA0MzYyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQzNjMiCX0sIC8qIDQzNjMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDM2NCIJfSwgLyogNDM2NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180MzY1Igl9LCAvKiA0MzY1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQzNjYiCX0sIC8qIDQzNjYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDM2NyIJfSwgLyogNDM2NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180MzY4Igl9LCAvKiA0MzY4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQzNjkiCX0sIC8qIDQzNjkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDM3MCIJfSwgLyogNDM3MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180MzcxIgl9LCAvKiA0MzcxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQzNzIiCX0sIC8qIDQzNzIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDM3MyIJfSwgLyogNDM3MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180Mzc0Igl9LCAvKiA0Mzc0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQzNzUiCX0sIC8qIDQzNzUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDM3NiIJfSwgLyogNDM3NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180Mzc3Igl9LCAvKiA0Mzc3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQzNzgiCX0sIC8qIDQzNzggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDM3OSIJfSwgLyogNDM3OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180MzgwIgl9LCAvKiA0MzgwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQzODEiCX0sIC8qIDQzODEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDM4MiIJfSwgLyogNDM4MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180MzgzIgl9LCAvKiA0MzgzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQzODQiCX0sIC8qIDQzODQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDM4NSIJfSwgLyogNDM4NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180Mzg2Igl9LCAvKiA0Mzg2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQzODciCX0sIC8qIDQzODcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDM4OCIJfSwgLyogNDM4OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180Mzg5Igl9LCAvKiA0Mzg5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQzOTAiCX0sIC8qIDQzOTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDM5MSIJfSwgLyogNDM5MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180MzkyIgl9LCAvKiA0MzkyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQzOTMiCX0sIC8qIDQzOTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDM5NCIJfSwgLyogNDM5NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180Mzk1Igl9LCAvKiA0Mzk1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQzOTYiCX0sIC8qIDQzOTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDM5NyIJfSwgLyogNDM5NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180Mzk4Igl9LCAvKiA0Mzk4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQzOTkiCX0sIC8qIDQzOTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDQwMCIJfSwgLyogNDQwMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NDAxIgl9LCAvKiA0NDAxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ0MDIiCX0sIC8qIDQ0MDIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDQwMyIJfSwgLyogNDQwMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NDA0Igl9LCAvKiA0NDA0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ0MDUiCX0sIC8qIDQ0MDUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDQwNiIJfSwgLyogNDQwNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NDA3Igl9LCAvKiA0NDA3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ0MDgiCX0sIC8qIDQ0MDggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDQwOSIJfSwgLyogNDQwOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NDEwIgl9LCAvKiA0NDEwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ0MTEiCX0sIC8qIDQ0MTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDQxMiIJfSwgLyogNDQxMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NDEzIgl9LCAvKiA0NDEzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ0MTQiCX0sIC8qIDQ0MTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDQxNSIJfSwgLyogNDQxNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NDE2Igl9LCAvKiA0NDE2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ0MTciCX0sIC8qIDQ0MTcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDQxOCIJfSwgLyogNDQxOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NDE5Igl9LCAvKiA0NDE5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ0MjAiCX0sIC8qIDQ0MjAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDQyMSIJfSwgLyogNDQyMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NDIyIgl9LCAvKiA0NDIyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ0MjMiCX0sIC8qIDQ0MjMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDQyNCIJfSwgLyogNDQyNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NDI1Igl9LCAvKiA0NDI1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ0MjYiCX0sIC8qIDQ0MjYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDQyNyIJfSwgLyogNDQyNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NDI4Igl9LCAvKiA0NDI4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ0MjkiCX0sIC8qIDQ0MjkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDQzMCIJfSwgLyogNDQzMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NDMxIgl9LCAvKiA0NDMxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ0MzIiCX0sIC8qIDQ0MzIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDQzMyIJfSwgLyogNDQzMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NDM0Igl9LCAvKiA0NDM0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ0MzUiCX0sIC8qIDQ0MzUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDQzNiIJfSwgLyogNDQzNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NDM3Igl9LCAvKiA0NDM3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ0MzgiCX0sIC8qIDQ0MzggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDQzOSIJfSwgLyogNDQzOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NDQwIgl9LCAvKiA0NDQwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ0NDEiCX0sIC8qIDQ0NDEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDQ0MiIJfSwgLyogNDQ0MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NDQzIgl9LCAvKiA0NDQzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ0NDQiCX0sIC8qIDQ0NDQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDQ0NSIJfSwgLyogNDQ0NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NDQ2Igl9LCAvKiA0NDQ2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ0NDciCX0sIC8qIDQ0NDcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDQ0OCIJfSwgLyogNDQ0OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NDQ5Igl9LCAvKiA0NDQ5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ0NTAiCX0sIC8qIDQ0NTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDQ1MSIJfSwgLyogNDQ1MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NDUyIgl9LCAvKiA0NDUyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ0NTMiCX0sIC8qIDQ0NTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDQ1NCIJfSwgLyogNDQ1NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NDU1Igl9LCAvKiA0NDU1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ0NTYiCX0sIC8qIDQ0NTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDQ1NyIJfSwgLyogNDQ1NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NDU4Igl9LCAvKiA0NDU4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ0NTkiCX0sIC8qIDQ0NTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDQ2MCIJfSwgLyogNDQ2MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NDYxIgl9LCAvKiA0NDYxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ0NjIiCX0sIC8qIDQ0NjIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDQ2MyIJfSwgLyogNDQ2MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NDY0Igl9LCAvKiA0NDY0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ0NjUiCX0sIC8qIDQ0NjUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDQ2NiIJfSwgLyogNDQ2NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NDY3Igl9LCAvKiA0NDY3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ0NjgiCX0sIC8qIDQ0NjggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDQ2OSIJfSwgLyogNDQ2OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NDcwIgl9LCAvKiA0NDcwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ0NzEiCX0sIC8qIDQ0NzEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDQ3MiIJfSwgLyogNDQ3MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NDczIgl9LCAvKiA0NDczICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ0NzQiCX0sIC8qIDQ0NzQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDQ3NSIJfSwgLyogNDQ3NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NDc2Igl9LCAvKiA0NDc2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ0NzciCX0sIC8qIDQ0NzcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDQ3OCIJfSwgLyogNDQ3OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NDc5Igl9LCAvKiA0NDc5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ0ODAiCX0sIC8qIDQ0ODAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDQ4MSIJfSwgLyogNDQ4MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NDgyIgl9LCAvKiA0NDgyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ0ODMiCX0sIC8qIDQ0ODMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDQ4NCIJfSwgLyogNDQ4NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NDg1Igl9LCAvKiA0NDg1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ0ODYiCX0sIC8qIDQ0ODYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDQ4NyIJfSwgLyogNDQ4NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NDg4Igl9LCAvKiA0NDg4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ0ODkiCX0sIC8qIDQ0ODkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDQ5MCIJfSwgLyogNDQ5MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NDkxIgl9LCAvKiA0NDkxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ0OTIiCX0sIC8qIDQ0OTIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDQ5MyIJfSwgLyogNDQ5MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NDk0Igl9LCAvKiA0NDk0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ0OTUiCX0sIC8qIDQ0OTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDQ5NiIJfSwgLyogNDQ5NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NDk3Igl9LCAvKiA0NDk3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ0OTgiCX0sIC8qIDQ0OTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDQ5OSIJfSwgLyogNDQ5OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NTAwIgl9LCAvKiA0NTAwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ1MDEiCX0sIC8qIDQ1MDEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDUwMiIJfSwgLyogNDUwMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NTAzIgl9LCAvKiA0NTAzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ1MDQiCX0sIC8qIDQ1MDQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDUwNSIJfSwgLyogNDUwNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NTA2Igl9LCAvKiA0NTA2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ1MDciCX0sIC8qIDQ1MDcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDUwOCIJfSwgLyogNDUwOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NTA5Igl9LCAvKiA0NTA5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ1MTAiCX0sIC8qIDQ1MTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDUxMSIJfSwgLyogNDUxMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NTEyIgl9LCAvKiA0NTEyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ1MTMiCX0sIC8qIDQ1MTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDUxNCIJfSwgLyogNDUxNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NTE1Igl9LCAvKiA0NTE1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ1MTYiCX0sIC8qIDQ1MTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDUxNyIJfSwgLyogNDUxNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NTE4Igl9LCAvKiA0NTE4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ1MTkiCX0sIC8qIDQ1MTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDUyMCIJfSwgLyogNDUyMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NTIxIgl9LCAvKiA0NTIxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ1MjIiCX0sIC8qIDQ1MjIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDUyMyIJfSwgLyogNDUyMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NTI0Igl9LCAvKiA0NTI0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ1MjUiCX0sIC8qIDQ1MjUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDUyNiIJfSwgLyogNDUyNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NTI3Igl9LCAvKiA0NTI3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ1MjgiCX0sIC8qIDQ1MjggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDUyOSIJfSwgLyogNDUyOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NTMwIgl9LCAvKiA0NTMwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ1MzEiCX0sIC8qIDQ1MzEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDUzMiIJfSwgLyogNDUzMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NTMzIgl9LCAvKiA0NTMzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ1MzQiCX0sIC8qIDQ1MzQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDUzNSIJfSwgLyogNDUzNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NTM2Igl9LCAvKiA0NTM2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ1MzciCX0sIC8qIDQ1MzcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDUzOCIJfSwgLyogNDUzOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NTM5Igl9LCAvKiA0NTM5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ1NDAiCX0sIC8qIDQ1NDAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDU0MSIJfSwgLyogNDU0MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NTQyIgl9LCAvKiA0NTQyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ1NDMiCX0sIC8qIDQ1NDMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDU0NCIJfSwgLyogNDU0NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NTQ1Igl9LCAvKiA0NTQ1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ1NDYiCX0sIC8qIDQ1NDYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDU0NyIJfSwgLyogNDU0NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NTQ4Igl9LCAvKiA0NTQ4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ1NDkiCX0sIC8qIDQ1NDkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDU1MCIJfSwgLyogNDU1MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NTUxIgl9LCAvKiA0NTUxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ1NTIiCX0sIC8qIDQ1NTIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDU1MyIJfSwgLyogNDU1MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NTU0Igl9LCAvKiA0NTU0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ1NTUiCX0sIC8qIDQ1NTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDU1NiIJfSwgLyogNDU1NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NTU3Igl9LCAvKiA0NTU3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ1NTgiCX0sIC8qIDQ1NTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDU1OSIJfSwgLyogNDU1OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NTYwIgl9LCAvKiA0NTYwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ1NjEiCX0sIC8qIDQ1NjEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDU2MiIJfSwgLyogNDU2MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NTYzIgl9LCAvKiA0NTYzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ1NjQiCX0sIC8qIDQ1NjQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDU2NSIJfSwgLyogNDU2NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NTY2Igl9LCAvKiA0NTY2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ1NjciCX0sIC8qIDQ1NjcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDU2OCIJfSwgLyogNDU2OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NTY5Igl9LCAvKiA0NTY5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ1NzAiCX0sIC8qIDQ1NzAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDU3MSIJfSwgLyogNDU3MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NTcyIgl9LCAvKiA0NTcyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ1NzMiCX0sIC8qIDQ1NzMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDU3NCIJfSwgLyogNDU3NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NTc1Igl9LCAvKiA0NTc1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ1NzYiCX0sIC8qIDQ1NzYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDU3NyIJfSwgLyogNDU3NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NTc4Igl9LCAvKiA0NTc4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ1NzkiCX0sIC8qIDQ1NzkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDU4MCIJfSwgLyogNDU4MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NTgxIgl9LCAvKiA0NTgxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ1ODIiCX0sIC8qIDQ1ODIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDU4MyIJfSwgLyogNDU4MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NTg0Igl9LCAvKiA0NTg0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ1ODUiCX0sIC8qIDQ1ODUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDU4NiIJfSwgLyogNDU4NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NTg3Igl9LCAvKiA0NTg3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ1ODgiCX0sIC8qIDQ1ODggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDU4OSIJfSwgLyogNDU4OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NTkwIgl9LCAvKiA0NTkwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ1OTEiCX0sIC8qIDQ1OTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDU5MiIJfSwgLyogNDU5MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NTkzIgl9LCAvKiA0NTkzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ1OTQiCX0sIC8qIDQ1OTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDU5NSIJfSwgLyogNDU5NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NTk2Igl9LCAvKiA0NTk2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ1OTciCX0sIC8qIDQ1OTcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDU5OCIJfSwgLyogNDU5OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NTk5Igl9LCAvKiA0NTk5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ2MDAiCX0sIC8qIDQ2MDAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDYwMSIJfSwgLyogNDYwMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NjAyIgl9LCAvKiA0NjAyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ2MDMiCX0sIC8qIDQ2MDMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDYwNCIJfSwgLyogNDYwNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NjA1Igl9LCAvKiA0NjA1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ2MDYiCX0sIC8qIDQ2MDYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDYwNyIJfSwgLyogNDYwNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NjA4Igl9LCAvKiA0NjA4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ2MDkiCX0sIC8qIDQ2MDkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDYxMCIJfSwgLyogNDYxMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NjExIgl9LCAvKiA0NjExICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ2MTIiCX0sIC8qIDQ2MTIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDYxMyIJfSwgLyogNDYxMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NjE0Igl9LCAvKiA0NjE0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ2MTUiCX0sIC8qIDQ2MTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDYxNiIJfSwgLyogNDYxNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NjE3Igl9LCAvKiA0NjE3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ2MTgiCX0sIC8qIDQ2MTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDYxOSIJfSwgLyogNDYxOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NjIwIgl9LCAvKiA0NjIwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ2MjEiCX0sIC8qIDQ2MjEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDYyMiIJfSwgLyogNDYyMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NjIzIgl9LCAvKiA0NjIzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ2MjQiCX0sIC8qIDQ2MjQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDYyNSIJfSwgLyogNDYyNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NjI2Igl9LCAvKiA0NjI2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ2MjciCX0sIC8qIDQ2MjcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDYyOCIJfSwgLyogNDYyOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NjI5Igl9LCAvKiA0NjI5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ2MzAiCX0sIC8qIDQ2MzAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDYzMSIJfSwgLyogNDYzMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NjMyIgl9LCAvKiA0NjMyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ2MzMiCX0sIC8qIDQ2MzMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDYzNCIJfSwgLyogNDYzNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NjM1Igl9LCAvKiA0NjM1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ2MzYiCX0sIC8qIDQ2MzYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDYzNyIJfSwgLyogNDYzNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NjM4Igl9LCAvKiA0NjM4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ2MzkiCX0sIC8qIDQ2MzkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDY0MCIJfSwgLyogNDY0MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NjQxIgl9LCAvKiA0NjQxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ2NDIiCX0sIC8qIDQ2NDIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDY0MyIJfSwgLyogNDY0MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NjQ0Igl9LCAvKiA0NjQ0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ2NDUiCX0sIC8qIDQ2NDUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDY0NiIJfSwgLyogNDY0NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NjQ3Igl9LCAvKiA0NjQ3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ2NDgiCX0sIC8qIDQ2NDggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDY0OSIJfSwgLyogNDY0OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NjUwIgl9LCAvKiA0NjUwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ2NTEiCX0sIC8qIDQ2NTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDY1MiIJfSwgLyogNDY1MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NjUzIgl9LCAvKiA0NjUzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ2NTQiCX0sIC8qIDQ2NTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDY1NSIJfSwgLyogNDY1NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NjU2Igl9LCAvKiA0NjU2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ2NTciCX0sIC8qIDQ2NTcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDY1OCIJfSwgLyogNDY1OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NjU5Igl9LCAvKiA0NjU5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ2NjAiCX0sIC8qIDQ2NjAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDY2MSIJfSwgLyogNDY2MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NjYyIgl9LCAvKiA0NjYyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ2NjMiCX0sIC8qIDQ2NjMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDY2NCIJfSwgLyogNDY2NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NjY1Igl9LCAvKiA0NjY1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ2NjYiCX0sIC8qIDQ2NjYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDY2NyIJfSwgLyogNDY2NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NjY4Igl9LCAvKiA0NjY4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ2NjkiCX0sIC8qIDQ2NjkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDY3MCIJfSwgLyogNDY3MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NjcxIgl9LCAvKiA0NjcxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ2NzIiCX0sIC8qIDQ2NzIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDY3MyIJfSwgLyogNDY3MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180Njc0Igl9LCAvKiA0Njc0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ2NzUiCX0sIC8qIDQ2NzUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDY3NiIJfSwgLyogNDY3NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180Njc3Igl9LCAvKiA0Njc3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ2NzgiCX0sIC8qIDQ2NzggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDY3OSIJfSwgLyogNDY3OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NjgwIgl9LCAvKiA0NjgwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ2ODEiCX0sIC8qIDQ2ODEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDY4MiIJfSwgLyogNDY4MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NjgzIgl9LCAvKiA0NjgzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ2ODQiCX0sIC8qIDQ2ODQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDY4NSIJfSwgLyogNDY4NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180Njg2Igl9LCAvKiA0Njg2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ2ODciCX0sIC8qIDQ2ODcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDY4OCIJfSwgLyogNDY4OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180Njg5Igl9LCAvKiA0Njg5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ2OTAiCX0sIC8qIDQ2OTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDY5MSIJfSwgLyogNDY5MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NjkyIgl9LCAvKiA0NjkyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ2OTMiCX0sIC8qIDQ2OTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDY5NCIJfSwgLyogNDY5NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180Njk1Igl9LCAvKiA0Njk1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ2OTYiCX0sIC8qIDQ2OTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDY5NyIJfSwgLyogNDY5NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180Njk4Igl9LCAvKiA0Njk4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ2OTkiCX0sIC8qIDQ2OTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDcwMCIJfSwgLyogNDcwMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NzAxIgl9LCAvKiA0NzAxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ3MDIiCX0sIC8qIDQ3MDIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDcwMyIJfSwgLyogNDcwMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NzA0Igl9LCAvKiA0NzA0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ3MDUiCX0sIC8qIDQ3MDUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDcwNiIJfSwgLyogNDcwNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NzA3Igl9LCAvKiA0NzA3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ3MDgiCX0sIC8qIDQ3MDggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDcwOSIJfSwgLyogNDcwOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NzEwIgl9LCAvKiA0NzEwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ3MTEiCX0sIC8qIDQ3MTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDcxMiIJfSwgLyogNDcxMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NzEzIgl9LCAvKiA0NzEzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ3MTQiCX0sIC8qIDQ3MTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDcxNSIJfSwgLyogNDcxNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NzE2Igl9LCAvKiA0NzE2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ3MTciCX0sIC8qIDQ3MTcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDcxOCIJfSwgLyogNDcxOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NzE5Igl9LCAvKiA0NzE5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ3MjAiCX0sIC8qIDQ3MjAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDcyMSIJfSwgLyogNDcyMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NzIyIgl9LCAvKiA0NzIyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ3MjMiCX0sIC8qIDQ3MjMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDcyNCIJfSwgLyogNDcyNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NzI1Igl9LCAvKiA0NzI1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ3MjYiCX0sIC8qIDQ3MjYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDcyNyIJfSwgLyogNDcyNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NzI4Igl9LCAvKiA0NzI4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ3MjkiCX0sIC8qIDQ3MjkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDczMCIJfSwgLyogNDczMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NzMxIgl9LCAvKiA0NzMxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ3MzIiCX0sIC8qIDQ3MzIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDczMyIJfSwgLyogNDczMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NzM0Igl9LCAvKiA0NzM0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ3MzUiCX0sIC8qIDQ3MzUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDczNiIJfSwgLyogNDczNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NzM3Igl9LCAvKiA0NzM3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ3MzgiCX0sIC8qIDQ3MzggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDczOSIJfSwgLyogNDczOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NzQwIgl9LCAvKiA0NzQwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ3NDEiCX0sIC8qIDQ3NDEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDc0MiIJfSwgLyogNDc0MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NzQzIgl9LCAvKiA0NzQzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ3NDQiCX0sIC8qIDQ3NDQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDc0NSIJfSwgLyogNDc0NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NzQ2Igl9LCAvKiA0NzQ2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ3NDciCX0sIC8qIDQ3NDcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDc0OCIJfSwgLyogNDc0OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NzQ5Igl9LCAvKiA0NzQ5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ3NTAiCX0sIC8qIDQ3NTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDc1MSIJfSwgLyogNDc1MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NzUyIgl9LCAvKiA0NzUyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ3NTMiCX0sIC8qIDQ3NTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDc1NCIJfSwgLyogNDc1NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NzU1Igl9LCAvKiA0NzU1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ3NTYiCX0sIC8qIDQ3NTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDc1NyIJfSwgLyogNDc1NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NzU4Igl9LCAvKiA0NzU4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ3NTkiCX0sIC8qIDQ3NTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDc2MCIJfSwgLyogNDc2MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NzYxIgl9LCAvKiA0NzYxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ3NjIiCX0sIC8qIDQ3NjIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDc2MyIJfSwgLyogNDc2MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NzY0Igl9LCAvKiA0NzY0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ3NjUiCX0sIC8qIDQ3NjUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDc2NiIJfSwgLyogNDc2NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NzY3Igl9LCAvKiA0NzY3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ3NjgiCX0sIC8qIDQ3NjggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDc2OSIJfSwgLyogNDc2OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NzcwIgl9LCAvKiA0NzcwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ3NzEiCX0sIC8qIDQ3NzEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDc3MiIJfSwgLyogNDc3MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NzczIgl9LCAvKiA0NzczICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ3NzQiCX0sIC8qIDQ3NzQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDc3NSIJfSwgLyogNDc3NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180Nzc2Igl9LCAvKiA0Nzc2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ3NzciCX0sIC8qIDQ3NzcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDc3OCIJfSwgLyogNDc3OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180Nzc5Igl9LCAvKiA0Nzc5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ3ODAiCX0sIC8qIDQ3ODAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDc4MSIJfSwgLyogNDc4MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NzgyIgl9LCAvKiA0NzgyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ3ODMiCX0sIC8qIDQ3ODMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDc4NCIJfSwgLyogNDc4NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180Nzg1Igl9LCAvKiA0Nzg1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ3ODYiCX0sIC8qIDQ3ODYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDc4NyIJfSwgLyogNDc4NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180Nzg4Igl9LCAvKiA0Nzg4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ3ODkiCX0sIC8qIDQ3ODkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDc5MCIJfSwgLyogNDc5MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180NzkxIgl9LCAvKiA0NzkxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ3OTIiCX0sIC8qIDQ3OTIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDc5MyIJfSwgLyogNDc5MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180Nzk0Igl9LCAvKiA0Nzk0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ3OTUiCX0sIC8qIDQ3OTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDc5NiIJfSwgLyogNDc5NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180Nzk3Igl9LCAvKiA0Nzk3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ3OTgiCX0sIC8qIDQ3OTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDc5OSIJfSwgLyogNDc5OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180ODAwIgl9LCAvKiA0ODAwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ4MDEiCX0sIC8qIDQ4MDEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDgwMiIJfSwgLyogNDgwMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180ODAzIgl9LCAvKiA0ODAzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ4MDQiCX0sIC8qIDQ4MDQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDgwNSIJfSwgLyogNDgwNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180ODA2Igl9LCAvKiA0ODA2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ4MDciCX0sIC8qIDQ4MDcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDgwOCIJfSwgLyogNDgwOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180ODA5Igl9LCAvKiA0ODA5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ4MTAiCX0sIC8qIDQ4MTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDgxMSIJfSwgLyogNDgxMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180ODEyIgl9LCAvKiA0ODEyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ4MTMiCX0sIC8qIDQ4MTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDgxNCIJfSwgLyogNDgxNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180ODE1Igl9LCAvKiA0ODE1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ4MTYiCX0sIC8qIDQ4MTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDgxNyIJfSwgLyogNDgxNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180ODE4Igl9LCAvKiA0ODE4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ4MTkiCX0sIC8qIDQ4MTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDgyMCIJfSwgLyogNDgyMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180ODIxIgl9LCAvKiA0ODIxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ4MjIiCX0sIC8qIDQ4MjIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDgyMyIJfSwgLyogNDgyMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180ODI0Igl9LCAvKiA0ODI0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ4MjUiCX0sIC8qIDQ4MjUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDgyNiIJfSwgLyogNDgyNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180ODI3Igl9LCAvKiA0ODI3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ4MjgiCX0sIC8qIDQ4MjggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDgyOSIJfSwgLyogNDgyOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180ODMwIgl9LCAvKiA0ODMwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ4MzEiCX0sIC8qIDQ4MzEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDgzMiIJfSwgLyogNDgzMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180ODMzIgl9LCAvKiA0ODMzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ4MzQiCX0sIC8qIDQ4MzQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDgzNSIJfSwgLyogNDgzNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180ODM2Igl9LCAvKiA0ODM2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ4MzciCX0sIC8qIDQ4MzcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDgzOCIJfSwgLyogNDgzOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180ODM5Igl9LCAvKiA0ODM5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ4NDAiCX0sIC8qIDQ4NDAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDg0MSIJfSwgLyogNDg0MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180ODQyIgl9LCAvKiA0ODQyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ4NDMiCX0sIC8qIDQ4NDMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDg0NCIJfSwgLyogNDg0NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180ODQ1Igl9LCAvKiA0ODQ1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ4NDYiCX0sIC8qIDQ4NDYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDg0NyIJfSwgLyogNDg0NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180ODQ4Igl9LCAvKiA0ODQ4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ4NDkiCX0sIC8qIDQ4NDkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDg1MCIJfSwgLyogNDg1MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180ODUxIgl9LCAvKiA0ODUxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ4NTIiCX0sIC8qIDQ4NTIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDg1MyIJfSwgLyogNDg1MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180ODU0Igl9LCAvKiA0ODU0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ4NTUiCX0sIC8qIDQ4NTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDg1NiIJfSwgLyogNDg1NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180ODU3Igl9LCAvKiA0ODU3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ4NTgiCX0sIC8qIDQ4NTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDg1OSIJfSwgLyogNDg1OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180ODYwIgl9LCAvKiA0ODYwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ4NjEiCX0sIC8qIDQ4NjEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDg2MiIJfSwgLyogNDg2MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180ODYzIgl9LCAvKiA0ODYzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ4NjQiCX0sIC8qIDQ4NjQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDg2NSIJfSwgLyogNDg2NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180ODY2Igl9LCAvKiA0ODY2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ4NjciCX0sIC8qIDQ4NjcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDg2OCIJfSwgLyogNDg2OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180ODY5Igl9LCAvKiA0ODY5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ4NzAiCX0sIC8qIDQ4NzAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDg3MSIJfSwgLyogNDg3MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180ODcyIgl9LCAvKiA0ODcyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ4NzMiCX0sIC8qIDQ4NzMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDg3NCIJfSwgLyogNDg3NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180ODc1Igl9LCAvKiA0ODc1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ4NzYiCX0sIC8qIDQ4NzYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDg3NyIJfSwgLyogNDg3NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180ODc4Igl9LCAvKiA0ODc4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ4NzkiCX0sIC8qIDQ4NzkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDg4MCIJfSwgLyogNDg4MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180ODgxIgl9LCAvKiA0ODgxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ4ODIiCX0sIC8qIDQ4ODIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDg4MyIJfSwgLyogNDg4MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180ODg0Igl9LCAvKiA0ODg0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ4ODUiCX0sIC8qIDQ4ODUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDg4NiIJfSwgLyogNDg4NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180ODg3Igl9LCAvKiA0ODg3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ4ODgiCX0sIC8qIDQ4ODggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDg4OSIJfSwgLyogNDg4OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180ODkwIgl9LCAvKiA0ODkwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ4OTEiCX0sIC8qIDQ4OTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDg5MiIJfSwgLyogNDg5MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180ODkzIgl9LCAvKiA0ODkzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ4OTQiCX0sIC8qIDQ4OTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDg5NSIJfSwgLyogNDg5NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180ODk2Igl9LCAvKiA0ODk2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ4OTciCX0sIC8qIDQ4OTcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDg5OCIJfSwgLyogNDg5OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180ODk5Igl9LCAvKiA0ODk5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ5MDAiCX0sIC8qIDQ5MDAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDkwMSIJfSwgLyogNDkwMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180OTAyIgl9LCAvKiA0OTAyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ5MDMiCX0sIC8qIDQ5MDMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDkwNCIJfSwgLyogNDkwNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180OTA1Igl9LCAvKiA0OTA1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ5MDYiCX0sIC8qIDQ5MDYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDkwNyIJfSwgLyogNDkwNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180OTA4Igl9LCAvKiA0OTA4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ5MDkiCX0sIC8qIDQ5MDkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDkxMCIJfSwgLyogNDkxMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180OTExIgl9LCAvKiA0OTExICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ5MTIiCX0sIC8qIDQ5MTIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDkxMyIJfSwgLyogNDkxMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180OTE0Igl9LCAvKiA0OTE0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ5MTUiCX0sIC8qIDQ5MTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDkxNiIJfSwgLyogNDkxNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180OTE3Igl9LCAvKiA0OTE3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ5MTgiCX0sIC8qIDQ5MTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDkxOSIJfSwgLyogNDkxOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180OTIwIgl9LCAvKiA0OTIwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ5MjEiCX0sIC8qIDQ5MjEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDkyMiIJfSwgLyogNDkyMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180OTIzIgl9LCAvKiA0OTIzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ5MjQiCX0sIC8qIDQ5MjQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDkyNSIJfSwgLyogNDkyNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180OTI2Igl9LCAvKiA0OTI2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ5MjciCX0sIC8qIDQ5MjcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDkyOCIJfSwgLyogNDkyOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180OTI5Igl9LCAvKiA0OTI5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ5MzAiCX0sIC8qIDQ5MzAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDkzMSIJfSwgLyogNDkzMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180OTMyIgl9LCAvKiA0OTMyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ5MzMiCX0sIC8qIDQ5MzMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDkzNCIJfSwgLyogNDkzNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180OTM1Igl9LCAvKiA0OTM1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ5MzYiCX0sIC8qIDQ5MzYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDkzNyIJfSwgLyogNDkzNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180OTM4Igl9LCAvKiA0OTM4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ5MzkiCX0sIC8qIDQ5MzkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDk0MCIJfSwgLyogNDk0MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180OTQxIgl9LCAvKiA0OTQxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ5NDIiCX0sIC8qIDQ5NDIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDk0MyIJfSwgLyogNDk0MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180OTQ0Igl9LCAvKiA0OTQ0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ5NDUiCX0sIC8qIDQ5NDUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDk0NiIJfSwgLyogNDk0NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180OTQ3Igl9LCAvKiA0OTQ3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ5NDgiCX0sIC8qIDQ5NDggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDk0OSIJfSwgLyogNDk0OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180OTUwIgl9LCAvKiA0OTUwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ5NTEiCX0sIC8qIDQ5NTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDk1MiIJfSwgLyogNDk1MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180OTUzIgl9LCAvKiA0OTUzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ5NTQiCX0sIC8qIDQ5NTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDk1NSIJfSwgLyogNDk1NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180OTU2Igl9LCAvKiA0OTU2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ5NTciCX0sIC8qIDQ5NTcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDk1OCIJfSwgLyogNDk1OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180OTU5Igl9LCAvKiA0OTU5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ5NjAiCX0sIC8qIDQ5NjAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDk2MSIJfSwgLyogNDk2MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180OTYyIgl9LCAvKiA0OTYyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ5NjMiCX0sIC8qIDQ5NjMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDk2NCIJfSwgLyogNDk2NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180OTY1Igl9LCAvKiA0OTY1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ5NjYiCX0sIC8qIDQ5NjYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDk2NyIJfSwgLyogNDk2NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180OTY4Igl9LCAvKiA0OTY4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ5NjkiCX0sIC8qIDQ5NjkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDk3MCIJfSwgLyogNDk3MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180OTcxIgl9LCAvKiA0OTcxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ5NzIiCX0sIC8qIDQ5NzIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDk3MyIJfSwgLyogNDk3MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180OTc0Igl9LCAvKiA0OTc0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ5NzUiCX0sIC8qIDQ5NzUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDk3NiIJfSwgLyogNDk3NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180OTc3Igl9LCAvKiA0OTc3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ5NzgiCX0sIC8qIDQ5NzggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDk3OSIJfSwgLyogNDk3OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180OTgwIgl9LCAvKiA0OTgwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ5ODEiCX0sIC8qIDQ5ODEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDk4MiIJfSwgLyogNDk4MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180OTgzIgl9LCAvKiA0OTgzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ5ODQiCX0sIC8qIDQ5ODQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDk4NSIJfSwgLyogNDk4NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180OTg2Igl9LCAvKiA0OTg2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ5ODciCX0sIC8qIDQ5ODcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDk4OCIJfSwgLyogNDk4OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180OTg5Igl9LCAvKiA0OTg5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ5OTAiCX0sIC8qIDQ5OTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDk5MSIJfSwgLyogNDk5MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180OTkyIgl9LCAvKiA0OTkyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ5OTMiCX0sIC8qIDQ5OTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDk5NCIJfSwgLyogNDk5NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180OTk1Igl9LCAvKiA0OTk1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ5OTYiCX0sIC8qIDQ5OTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNDk5NyIJfSwgLyogNDk5NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU180OTk4Igl9LCAvKiA0OTk4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ5OTkiCX0sIC8qIDQ5OTkgKi8gLyogZW5kIG9mIExpbnV4IG8zMiAqLworI2lmIGRlZmluZWQgKExJTlVYX01JUFNONjQpCisJLyogRm9yIGFuIE42NCBzdHJhY2UgZGVjb2RlIHRoZSBONjQgNjQtYml0IHN5c2NhbGxzLiAgKi8KKwl7IDMsCVRGLAlzeXNfcmVhZCwJCSJyZWFkIgkJfSwgLyogNTAwMCAqLyAvKiBzdGFydCBvZiBMaW51eCBONjQgKi8KKwl7IDMsCVRGLAlzeXNfd3JpdGUsCQkid3JpdGUiCQl9LCAvKiA1MDAxICovCisJeyAzLAlURiwJc3lzX29wZW4sCQkib3BlbiIJCX0sIC8qIDUwMDIgKi8KKwl7IDEsCTAsCXN5c19jbG9zZSwJCSJjbG9zZSIJCX0sIC8qIDUwMDMgKi8KKwl7IDIsCVRGLAlzeXNfc3RhdCwJCSJzdGF0IgkJfSwgLyogNTAwNCAqLworCXsgMiwJMCwJc3lzX2ZzdGF0LAkJImZzdGF0IgkJfSwgLyogNTAwNSAqLworCXsgMiwJVEYsCXN5c19sc3RhdCwJCSJsc3RhdCIJCX0sIC8qIDUwMDYgKi8KKwl7IDMsCTAsCXN5c19wb2xsLAkJInBvbGwiCQl9LCAvKiA1MDA3ICovCisJeyAzLAkwLAlzeXNfbHNlZWssCQkibHNlZWsiCQl9LCAvKiA1MDA4ICovCisJeyA2LAkwLAlzeXNfbW1hcCwJCSJtbWFwIgkJfSwgLyogNTAwOSAqLworCXsgMywJMCwJc3lzX21wcm90ZWN0LAkJIm1wcm90ZWN0Igl9LCAvKiA1MDEwICovCisJeyAyLAkwLAlzeXNfbXVubWFwLAkJIm11bm1hcCIJfSwgLyogNTAxMSAqLworCXsgMSwJMCwJc3lzX2JyaywJCSJicmsiCQl9LCAvKiA1MDEyICovCisJeyA0LAlUUywJc3lzX3J0X3NpZ2FjdGlvbiwJInJ0X3NpZ2FjdGlvbiIJfSwgLyogNTAxMyAqLworCXsgNCwJVFMsCXN5c19ydF9zaWdwcm9jbWFzaywJInJ0X3NpZ3Byb2NtYXNrIn0sIC8qIDUwMTQgKi8KKwl7IDMsCTAsCXN5c19pb2N0bCwJCSJpb2N0bCIJCX0sIC8qIDUwMTUgKi8KKwl7IDYsCVRGLAlzeXNfcHJlYWQ2NCwJCSJwcmVhZCIJCX0sIC8qIDUwMTYgKi8KKwl7IDYsCVRGLAlzeXNfcHdyaXRlNjQsCQkicHdyaXRlIgl9LCAvKiA1MDE3ICovCisJeyAzLAkwLAlzeXNfcmVhZHYsCQkicmVhZHYiCQl9LCAvKiA1MDE4ICovCisJeyAzLAkwLAlzeXNfd3JpdGV2LAkJIndyaXRldiIJfSwgLyogNTAxOSAqLworCXsgMiwJVEYsCXN5c19hY2Nlc3MsCQkiYWNjZXNzIgl9LCAvKiA1MDIwICovCisJeyAxLAkwLAlzeXNfcGlwZSwJCSJwaXBlIgkJfSwgLyogNTAyMSAqLworCXsgNSwJMCwJc3lzX3NlbGVjdCwJCSJfbmV3c2VsZWN0Igl9LCAvKiA1MDIyICovCisJeyAwLAkwLAlzeXNfc2NoZWRfeWllbGQsCSJzY2hlZF95aWVsZCIJfSwgLyogNTAyMyAqLworCXsgNSwJMCwJc3lzX21yZW1hcCwJCSJtcmVtYXAiCX0sIC8qIDUwMjQgKi8KKwl7IDMsCTAsCXN5c19tc3luYywJCSJtc3luYyIJCX0sIC8qIDUwMjUgKi8KKwl7IDMsCTAsCXByaW50YXJncywJCSJtaW5jb3JlIgl9LCAvKiA1MDI2ICovCisJeyAzLAkwLAlzeXNfbWFkdmlzZSwJCSJtYWR2aXNlIgl9LCAvKiA1MDI3ICovCisJeyAzLAlUSSwJc3lzX3NobWdldCwJCSJzaG1nZXQiCX0sIC8qIDUwMjggKi8KKwl7IDMsCVRJLAlzeXNfc2htYXQsCQkic2htZ2F0Igl9LCAvKiA1MDI5ICovCisJeyAzLAlUSSwJc3lzX3NobWN0bCwJCSJzaG1jdGwiCX0sIC8qIDUwMzAgKi8KKwl7IDEsCTAsCXN5c19kdXAsCQkiZHVwIgkJfSwgLyogNTAzMSAqLworCXsgMiwJMCwJc3lzX2R1cDIsCQkiZHVwMiIJCX0sIC8qIDUwMzIgKi8KKwl7IDAsCVRTLAlzeXNfcGF1c2UsCQkicGF1c2UiCQl9LCAvKiA1MDMzICovCisJeyAyLAkwLAlzeXNfbmFub3NsZWVwLAkJIm5hbm9zbGVlcCIJfSwgLyogNTAzNCAqLworCXsgMiwJMCwJc3lzX2dldGl0aW1lciwJCSJnZXRpdGltZXIiCX0sIC8qIDUwMzUgKi8KKwl7IDMsCTAsCXN5c19zZXRpdGltZXIsCQkic2V0aXRpbWVyIgl9LCAvKiA1MDM2ICovCisJeyAxLAkwLAlzeXNfYWxhcm0sCQkiYWxhcm0iCQl9LCAvKiA1MDM3ICovCisJeyAwLAkwLAlzeXNfZ2V0cGlkLAkJImdldHBpZCIJfSwgLyogNTAzOCAqLworCXsgNCwJVER8VE4sCXN5c19zZW5kZmlsZSwJCSJzZW5kZmlsZSIJfSwgLyogNTAzOSAqLworCXsgMiwJMCwJc3lzX3NvY2tldGNhbGwsCQkic29ja2V0Y2FsbCIJfSwgLyogNTA0MCAqLworCXsgMywJVE4sCXN5c19jb25uZWN0LAkJImNvbm5lY3QiCX0sIC8qIDUwNDEgKi8KKwl7IDMsCVROLAlzeXNfYWNjZXB0LAkJImFjY2VwdCIJfSwgLyogNTA0MiAqLworCXsgNiwJVE4sCXN5c19zZW5kdG8sCQkic2VuZHRvIgl9LCAvKiA1MDQzICovCisJeyA2LAlUTiwJc3lzX3JlY3Zmcm9tLAkJInJlY3Zmcm9tIgl9LCAvKiA1MDQ0ICovCisJeyAzLAlUTiwJc3lzX3NlbmRtc2csCQkic2VuZG1zZyIJfSwgLyogNTA0NSAqLworCXsgMywJVE4sCXN5c19yZWN2bXNnLAkJInJlY3Ztc2ciCX0sIC8qIDUwNDYgKi8KKwl7IDIsCVROLAlzeXNfc2h1dGRvd24sCQkic2h1dGRvd24iCX0sIC8qIDUwNDcgKi8KKwl7IDMsCVROLAlzeXNfYmluZCwJCSJiaW5kIgkJfSwgLyogNTA0OCAqLworCXsgMiwJVE4sCXN5c19saXN0ZW4sCQkibGlzdGVuIgl9LCAvKiA1MDQ5ICovCisJeyAzLAlUTiwJc3lzX2dldHNvY2tuYW1lLAkiZ2V0c29ja25hbWUiCX0sIC8qIDUwNTAgKi8KKwl7IDMsCVROLAlzeXNfZ2V0cGVlcm5hbWUsCSJnZXRwZWVybmFtZSIJfSwgLyogNTA1MSAqLworCXsgNCwJVE4sCXN5c19zb2NrZXRwYWlyLAkJInNvY2tldHBhaXIiCX0sIC8qIDUwNTIgKi8KKwl7IDUsCVROLAlzeXNfc2V0c29ja29wdCwJCSJzZXRzb2Nrb3B0Igl9LCAvKiA1MDUzICovCisJeyA1LAlUTiwJc3lzX2dldHNvY2tvcHQsCQkiZ2V0c29ja29wdCIJfSwgLyogNTA1NCAqLworCXsgMiwJVFAsCXN5c19jbG9uZSwJCSJjbG9uZSIJCX0sIC8qIDUwNTUgKi8KKwl7IDAsCVRQLAlzeXNfZm9yaywJCSJmb3JrIgkJfSwgLyogNTA1NiAqLworCXsgMywJVEZ8VFAsCXN5c19leGVjdmUsCQkiZXhlY3ZlIgl9LCAvKiA1MDU3ICovCisJeyAxLAlUUCwJc3lzX2V4aXQsCQkiZXhpdCIJCX0sIC8qIDUwNTggKi8KKwl7IDQsCVRQLAlzeXNfd2FpdDQsCQkid2FpdDQiCQl9LCAvKiA1MDU5ICovCisJeyAyLAlUUywJc3lzX2tpbGwsCQkia2lsbCIJCX0sIC8qIDUwNjAgKi8KKwl7IDEsCTAsCXN5c191bmFtZSwJCSJ1bmFtZSIJCX0sIC8qIDUwNjEgKi8KKwl7IDMsCVRJLAlzeXNfc2VtZ2V0LAkJInNlbWdldCIJfSwgLyogNTA2MiAqLworCXsgMywJVEksCXByaW50YXJncywJCSJzZW1vcCIJCX0sIC8qIDUwNjMgKi8KKwl7IDQsCVRJLAlzeXNfc2VtY3RsLAkJInNlbWN0bCIJfSwgLyogNTA2NCAqLworCXsgMSwJVEksCXN5c19zaG1kdCwJCSJzaG1kdCIJCX0sIC8qIDUwNjUgKi8KKwl7IDIsCVRJLAlzeXNfbXNnZ2V0LAkJIm1zZ2dldCIJfSwgLyogNTA2NiAqLworCXsgNCwJVEksCXN5c19tc2dzbmQsCQkibXNnc25kIgl9LCAvKiA1MDY3ICovCisJeyA1LAlUSSwJc3lzX21zZ3JjdiwJCSJtc2dyY3YiCX0sIC8qIDUwNjggKi8KKwl7IDMsCVRJLAlzeXNfbXNnY3RsLAkJIm1zZ2N0bCIJfSwgLyogNTA2OSAqLworCXsgMywJMCwJc3lzX2ZjbnRsLAkJImZjbnRsIgkJfSwgLyogNTA3MCAqLworCXsgMiwJMCwJc3lzX2Zsb2NrLAkJImZsb2NrIgkJfSwgLyogNTA3MSAqLworCXsgMSwJMCwJc3lzX2ZzeW5jLAkJImZzeW5jIgkJfSwgLyogNTA3MiAqLworCXsgMSwJMCwJc3lzX2ZkYXRhc3luYywJCSJmZGF0YXN5bmMiCX0sIC8qIDUwNzMgKi8KKwl7IDIsCVRGLAlzeXNfdHJ1bmNhdGUsCQkidHJ1bmNhdGUiCX0sIC8qIDUwNzQgKi8KKwl7IDIsCTAsCXN5c19mdHJ1bmNhdGUsCQkiZnRydW5jYXRlIgl9LCAvKiA1MDc1ICovCisJeyAzLAkwLAlzeXNfZ2V0ZGVudHMsCQkiZ2V0ZGVudHMiCX0sIC8qIDUwNzYgKi8KKwl7IDIsCVRGLAlzeXNfZ2V0Y3dkLAkJImdldGN3ZCIJfSwgLyogNTA3NyAqLworCXsgMSwJVEYsCXN5c19jaGRpciwJCSJjaGRpciIJCX0sIC8qIDUwNzggKi8KKwl7IDEsCVRGLAlzeXNfZmNoZGlyLAkJImZjaGRpciIJfSwgLyogNTA3OSAqLworCXsgMiwJVEYsCXN5c19yZW5hbWUsCQkicmVuYW1lIgl9LCAvKiA1MDgwICovCisJeyAyLAlURiwJc3lzX21rZGlyLAkJIm1rZGlyIgkJfSwgLyogNTA4MSAqLworCXsgMSwJVEYsCXN5c19ybWRpciwJCSJybWRpciIJCX0sIC8qIDUwODIgKi8KKwl7IDIsCVRGLAlzeXNfY3JlYXQsCQkiY3JlYXQiCQl9LCAvKiA1MDgzICovCisJeyAyLAlURiwJc3lzX2xpbmssCQkibGluayIJCX0sIC8qIDUwODQgKi8KKwl7IDEsCVRGLAlzeXNfdW5saW5rLAkJInVubGluayIJfSwgLyogNTA4NSAqLworCXsgMiwJVEYsCXN5c19zeW1saW5rLAkJInN5bWxpbmsiCX0sIC8qIDUwODYgKi8KKwl7IDMsCVRGLAlzeXNfcmVhZGxpbmssCQkicmVhZGxpbmsiCX0sIC8qIDUwODcgKi8KKwl7IDIsCVRGLAlzeXNfY2htb2QsCQkiY2htb2QiCQl9LCAvKiA1MDg4ICovCisJeyAyLAkwLAlzeXNfZmNobW9kLAkJImZjaG1vZCIJfSwgLyogNTA4OSAqLworCXsgMywJVEYsCXN5c19jaG93biwJCSJjaG93biIJCX0sIC8qIDUwOTAgKi8KKwl7IDMsCTAsCXN5c19mY2hvd24sCQkiZmNob3duIgl9LCAvKiA1MDkxICovCisJeyAzLAlURiwJc3lzX2Nob3duLAkJImxjaG93biIJfSwgLyogNTA5MiAqLworCXsgMSwJMCwJc3lzX3VtYXNrLAkJInVtYXNrIgkJfSwgLyogNTA5MyAqLworCXsgMiwJMCwJc3lzX2dldHRpbWVvZmRheSwJImdldHRpbWVvZmRheSIJfSwgLyogNTA5NCAqLworCXsgMiwJMCwJc3lzX2dldHJsaW1pdCwJCSJnZXRybGltaXQiCX0sIC8qIDUwOTUgKi8KKwl7IDIsCTAsCXN5c19nZXRydXNhZ2UsCQkiZ2V0cnVzYWdlIgl9LCAvKiA1MDk2ICovCisJeyAxLAkwLAlzeXNfc3lzaW5mbywJCSJzeXNpbmZvIgl9LCAvKiA1MDk3ICovCisJeyAxLAkwLAlzeXNfdGltZXMsCQkidGltZXMiCQl9LCAvKiA1MDk4ICovCisJeyA0LAkwLAlzeXNfcHRyYWNlLAkJInB0cmFjZSIJfSwgLyogNTA5OSAqLworCXsgMCwJMCwJc3lzX2dldHVpZCwJCSJnZXR1aWQiCX0sIC8qIDUxMDAgKi8KKwl7IDMsCTAsCXN5c19zeXNsb2csCQkic3lzbG9nIgl9LCAvKiA1MTAxICovCisJeyAwLAkwLAlzeXNfZ2V0Z2lkLAkJImdldGdpZCIJfSwgLyogNTEwMiAqLworCXsgMSwJMCwJc3lzX3NldHVpZCwJCSJzZXR1aWQiCX0sIC8qIDUxMDMgKi8KKwl7IDEsCTAsCXN5c19zZXRnaWQsCQkic2V0Z2lkIgl9LCAvKiA1MTA0ICovCisJeyAwLAkwLAlzeXNfZ2V0ZXVpZCwJCSJnZXRldWlkIgl9LCAvKiA1MTA1ICovCisJeyAwLAkwLAlzeXNfZ2V0ZWdpZCwJCSJnZXRlZ2lkIgl9LCAvKiA1MTA2ICovCisJeyAyLAkwLAlzeXNfc2V0cGdpZCwJCSJzZXRwZ2lkIgl9LCAvKiA1MTA3ICovCisJeyAwLAkwLAlzeXNfZ2V0cHBpZCwJCSJnZXRwcGlkIgl9LCAvKiA1MTA4ICovCisJeyAwLAkwLAlzeXNfZ2V0cGdycCwJCSJnZXRwZ3JwIgl9LCAvKiA1MTA5ICovCisJeyAwLAkwLAlzeXNfc2V0c2lkLAkJInNldHNpZCIJfSwgLyogNTExMCAqLworCXsgMiwJMCwJc3lzX3NldHJldWlkLAkJInNldHJldWlkIgl9LCAvKiA1MTExICovCisJeyAyLAkwLAlzeXNfc2V0cmVnaWQsCQkic2V0cmVnaWQiCX0sIC8qIDUxMTIgKi8KKwl7IDIsCTAsCXN5c19nZXRncm91cHMsCQkiZ2V0Z3JvdXBzIgl9LCAvKiA1MTEzICovCisJeyAyLAkwLAlzeXNfc2V0Z3JvdXBzLAkJInNldGdyb3VwcyIJfSwgLyogNTExNCAqLworCXsgMywJMCwJc3lzX3NldHJlc3VpZCwJCSJzZXRyZXN1aWQiCX0sIC8qIDUxMTUgKi8KKwl7IDMsCTAsCXN5c19nZXRyZXN1aWQsCQkiZ2V0cmVzdWlkIgl9LCAvKiA1MTE2ICovCisJeyAzLAkwLAlzeXNfc2V0cmVzZ2lkLAkJInNldHJlc2dpZCIJfSwgLyogNTExNyAqLworCXsgMywJMCwJc3lzX2dldHJlc2dpZCwJCSJnZXRyZXNnaWQiCX0sIC8qIDUxMTggKi8KKwl7IDAsCTAsCXN5c19nZXRwZ2lkLAkJImdldHBnaWQiCX0sIC8qIDUxMTkgKi8KKwl7IDEsCTAsCXN5c19zZXRmc3VpZCwJCSJzZXRmc3VpZCIJfSwgLyogNTEyMCAqLworCXsgMSwJMCwJc3lzX3NldGZzZ2lkLAkJInNldGZzZ2lkIgl9LCAvKiA1MTIxICovCisJeyAxLAkwLAlzeXNfZ2V0c2lkLAkJImdldHNpZCIJfSwgLyogNTEyMiAqLworCXsgMiwJMCwJc3lzX2NhcGdldCwJCSJjYXBnZXQiCX0sIC8qIDUxMjMgKi8KKwl7IDIsCTAsCXN5c19jYXBzZXQsCQkiY2Fwc2V0Igl9LCAvKiA1MTI0ICovCisJeyAyLAlUUywJc3lzX3J0X3NpZ3BlbmRpbmcsCSJydF9zaWdwZW5kaW5nIgl9LCAvKiA1MTI1ICovCisJeyA0LAlUUywJc3lzX3J0X3NpZ3RpbWVkd2FpdCwJInJ0X3NpZ3RpbWVkd2FpdCJ9LC8qIDUxMjYgKi8KKwl7IDMsCVRTLAlzeXNfcnRfc2lncXVldWVpbmZvLAkicnRfc2lncXVldWVpbmZvIn0sLyogNTEyNyAqLworCXsgMiwJVFMsCXN5c19ydF9zaWdzdXNwZW5kLAkicnRfc2lndXNwZW5kIgl9LCAvKiA1MTI4ICovCisJeyAyLAlUUywJc3lzX3NpZ2FsdHN0YWNrLAkic2lnYWx0c3RhdGNrIgl9LCAvKiA1MTI5ICovCisJeyAyLAlURiwJc3lzX3V0aW1lLAkJInV0aW1lIgkJfSwgLyogNTEzMCAqLworCXsgMywJVEYsCXN5c19ta25vZCwJCSJta25vZCIJCX0sIC8qIDUxMzEgKi8KKwl7IDEsCTAsCXN5c19wZXJzb25hbGl0eSwJInBlcnNvbmFsaXR5Igl9LCAvKiA1MTMyICovCisJeyAyLAkwLAlzeXNfdXN0YXQsCQkidXN0YXQiCQl9LCAvKiA1MTMzICovCisJeyAzLAkwLAlzeXNfc3RhdGZzLAkJInN0YXRmcyIJfSwgLyogNTEzNCAqLworCXsgMywJMCwJc3lzX2ZzdGF0ZnMsCQkiZnN0YXRmcyIJfSwgLyogNTEzNSAqLworCXsgNSwJMCwJc3lzX3N5c2ZzLAkJInN5c2ZzIgkJfSwgLyogNTEzNiAqLworCXsgMiwJMCwJc3lzX2dldHByaW9yaXR5LAkiZ2V0cHJpb3JpdHkiCX0sIC8qIDUxMzcgKi8KKwl7IDMsCTAsCXN5c19zZXRwcmlvcml0eSwJInNldHByaW9yaXR5Igl9LCAvKiA1MTM4ICovCisJeyAyLAkwLAlzeXNfc2NoZWRfc2V0cGFyYW0sCSJzY2hlZF9zZXRwYXJhbSJ9LCAvKiA1MTM5ICovCisJeyAyLAkwLAlzeXNfc2NoZWRfZ2V0cGFyYW0sCSJzY2hlZF9nZXRwYXJhbSJ9LCAvKiA1MTQwICovCisJeyAzLAkwLAlzeXNfc2NoZWRfc2V0c2NoZWR1bGVyLAkic2NoZWRfc2V0c2NoZWR1bGVyIn0sIC8qIDUxNDEgKi8KKwl7IDEsCTAsCXN5c19zY2hlZF9nZXRzY2hlZHVsZXIsCSJzY2hlZF9nZXRzY2hlZHVsZXIifSwgLyogNTE0MiAqLworCXsgMSwJMCwJc3lzX3NjaGVkX2dldF9wcmlvcml0eV9tYXgsInNjaGVkX2dldF9wcmlvcml0eV9tYXgifSwgLyogNTE0MyAqLworCXsgMSwJMCwJc3lzX3NjaGVkX2dldF9wcmlvcml0eV9taW4sInNjaGVkX2dldF9wcmlvcml0eV9taW4ifSwgLyogNTE0NCAqLworCXsgMiwJMCwJc3lzX3NjaGVkX3JyX2dldF9pbnRlcnZhbCwic2NoZWRfcnJfZ2V0X2ludGVydmFsIn0sIC8qIDUxNDUgKi8KKwl7IDIsCTAsCXN5c19tbG9jaywJCSJtbG9jayIJCX0sIC8qIDUxNDYgKi8KKwl7IDIsCTAsCXN5c19tdW5sb2NrLAkJIm11bmxvY2siCX0sIC8qIDUxNDcgKi8KKwl7IDEsCTAsCXN5c19tbG9ja2FsbCwJCSJtbG9ja2FsbCIJfSwgLyogNTE0OCAqLworCXsgMCwJMCwJc3lzX211bmxvY2thbGwsCQkibXVubG9ja2FsbCIJfSwgLyogNTE0OSAqLworCXsgMCwJMCwJc3lzX3ZoYW5ndXAsCQkidmhhbmd1cCIJfSwgLyogNTE1MCAqLworCXsgMiwJMCwJc3lzX3Bpdm90cm9vdCwJCSJwaXZvdF9yb290Igl9LCAvKiA1MTUxICovCisJeyAxLAkwLAlzeXNfc3lzY3RsLAkJIl9zeXNjdGwiCX0sIC8qIDUxNTIgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJwcmN0bCIJCX0sIC8qIDUxNTMgKi8KKwl7IDEsCTAsCXN5c19hZGp0aW1leCwJCSJhZGp0aW1leCIJfSwgLyogNTE1NCAqLworCXsgMiwJMCwJc3lzX3NldHJsaW1pdCwJCSJzZXRybGltaXQiCX0sIC8qIDUxNTUgKi8KKwl7IDEsCVRGLAlzeXNfY2hyb290LAkJImNocm9vdCIJfSwgLyogNTE1NiAqLworCXsgMCwJMCwJc3lzX3N5bmMsCQkic3luYyIJCX0sIC8qIDUxNTcgKi8KKwl7IDEsCVRGLAlzeXNfYWNjdCwJCSJhY2N0IgkJfSwgLyogNTE1OCAqLworCXsgMiwJMCwJc3lzX3NldHRpbWVvZmRheSwJInNldHRpbWVvZmRheSIJfSwgLyogNTE1OSAqLworCXsgNSwJVEYsCXN5c19tb3VudCwJCSJtb3VudCIJCX0sIC8qIDUxNjAgKi8KKwl7IDIsCVRGLAlzeXNfdW1vdW50MiwJCSJ1bW91bnQiCX0sIC8qIDUxNjEgKi8KKwl7IDEsCVRGLAlzeXNfc3dhcG9uLAkJInN3YXBvbiIJfSwgLyogNTE2MiAqLworCXsgMSwJMCwJc3lzX3N3YXBvZmYsCQkic3dhcG9mZiIJfSwgLyogNTE2MyAqLworCXsgMywJMCwJc3lzX3JlYm9vdCwJCSJyZWJvb3QiCX0sIC8qIDUxNjQgKi8KKwl7IDIsCTAsCXN5c19zZXRob3N0bmFtZSwJInNldGhvc3RuYW1lIgl9LCAvKiA1MTY1ICovCisJeyAyLAkwLAlzeXNfc2V0ZG9tYWlubmFtZSwJInNldGRvbWFpbm5hbWUiCX0sIC8qIDUxNjYgKi8KKwl7IDIsCTAsCXN5c19jcmVhdGVfbW9kdWxlLAkiY3JlYXRlX21vZHVsZSIJfSwgLyogNTE2NyAqLworCXsgNCwJMCwJc3lzX2luaXRfbW9kdWxlLAkiaW5pdF9tb2R1bGUiCX0sIC8qIDUxNjggKi8KKwl7IDEsCTAsCXN5c19kZWxldGVfbW9kdWxlLAkiZGVsZXRlX21vZHVsZSIJfSwgLyogNTE2OSAqLworCXsgMSwJMCwJc3lzX2dldF9rZXJuZWxfc3ltcywJImdldF9rZXJuZWxfc3ltcyJ9LCAvKiA1MTcwICovCisJeyA1LAkwLAlzeXNfcXVlcnlfbW9kdWxlLAkicXVlcnlfbW9kdWxlIgl9LCAvKiA1MTcxICovCisJeyA0LAkwLAlzeXNfcXVvdGFjdGwsCQkicXVvdGFjdGwiCX0sIC8qIDUxNzIgKi8KKwl7IDMsCTAsCXByaW50YXJncywJCSJuZnNzZXJ2Y3RsIgl9LCAvKiA1MTczICovCisJeyA1LAlUTiwJcHJpbnRhcmdzLAkJImdldHBtc2ciCX0sIC8qIDUxNzQgKi8KKwl7IDUsCVROLAlwcmludGFyZ3MsCQkicHV0cG1zZyIJfSwgLyogNTE3NSAqLworCXsgMCwJMCwJc3lzX2Fmc19zeXNjYWxsLAkiYWZzX3N5c2NhbGwiCX0sIC8qIDUxNzYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJyZXNlcnZlZDE3NyIJfSwgLyogNTE3NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImdldHRpZCIJfSwgLyogNTE3OCAqLworCXsgMywJMCwJc3lzX3JlYWRhaGVhZCwJCSJyZWFkYWhlYWQiCX0sIC8qIDUxNzkgKi8KKwl7IDUsCTAsCXN5c19zZXR4YXR0ciwJCSJzZXR4YXR0ciIJfSwgLyogNTE4MCAqLworCXsgNSwJMCwJc3lzX3NldHhhdHRyLAkJImxzZXR4YXR0ciIJfSwgLyogNTE4MSAqLworCXsgNSwJMCwJc3lzX2ZzZXR4YXR0ciwJCSJmc2V0eGF0dHIiCX0sIC8qIDUxODIgKi8KKwl7IDQsCTAsCXN5c19nZXR4YXR0ciwJCSJnZXR4YXR0ciIJfSwgLyogNTE4MyAqLworCXsgNCwJMCwJc3lzX2dldHhhdHRyLAkJImxnZXR4YXR0ciIJfSwgLyogNTE4NCAqLworCXsgNCwJMCwJc3lzX2ZnZXR4YXR0ciwJCSJmZ2V0eGF0dHIiCX0sIC8qIDUxODUgKi8KKwl7IDMsCTAsCXN5c19saXN0eGF0dHIsCQkibGlzdHhhdHRyIgl9LCAvKiA1MTg2ICovCisJeyAzLAkwLAlzeXNfbGlzdHhhdHRyLAkJImxsaXN0eGF0dHIiCX0sIC8qIDUxODcgKi8KKwl7IDMsCTAsCXN5c19mbGlzdHhhdHRyLAkJImZsaXN0eGF0dHIiCX0sIC8qIDUxODggKi8KKwl7IDIsCTAsCXN5c19yZW1vdmV4YXR0ciwJInJlbW92ZXhhdHRyIgl9LCAvKiA1MTg5ICovCisJeyAyLAkwLAlzeXNfcmVtb3ZleGF0dHIsCSJscmVtb3ZleGF0dHIiCX0sIC8qIDUxOTAgKi8KKwl7IDIsCTAsCXN5c19mcmVtb3ZleGF0dHIsCSJmcmVtb3ZleGF0dHIiCX0sIC8qIDUxOTEgKi8KKwl7IDIsCTAsCXN5c19raWxsLAkJInRraWxsIgkJfSwgLyogNTE5MiAqLworCXsgMSwJMCwJc3lzX3RpbWUsCQkidGltZSIJCX0sIC8qIDUxOTMgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJmdXRleCIJCX0sIC8qIDUxOTQgKi8KKwl7IDMsCTAsCXByaW50YXJncywJCSJzY2hlZF9zZXRhZmZpbml0eSJ9LCAvKiA1MTk1ICovCisJeyAzLAkwLAlwcmludGFyZ3MsCQkic2NoZWRfZ2V0YWZmaW5pdHkifSwgLyogNTE5NiAqLworCXsgMywJMCwJcHJpbnRhcmdzLAkJImNhY2hlZmx1c2giCX0sIC8qIDUxOTcgKi8KKwl7IDMsCTAsCXByaW50YXJncywJCSJjYWNoZWN0bCIJfSwgLyogNTE5OCAqLworCXsgNCwJMCwJc3lzX3N5c21pcHMsCQkic3lzbWlwcyIJfSwgLyogNTE5OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MjAwIgl9LCAvKiA1MjAwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUyMDEiCX0sIC8qIDUyMDEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTIwMiIJfSwgLyogNTIwMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MjAzIgl9LCAvKiA1MjAzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUyMDQiCX0sIC8qIDUyMDQgKi8KKwl7IDEsCVRQLAlzeXNfZXhpdCwJCSJleGl0X2dyb3VwIgl9LCAvKiA1MjA1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUyMDYiCX0sIC8qIDUyMDYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTIwNyIJfSwgLyogNTIwNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MjA4Igl9LCAvKiA1MjA4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUyMDkiCX0sIC8qIDUyMDkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTIxMCIJfSwgLyogNTIxMCAqLworCXsgMSwJVFMsCXByaW50YXJncywJCSJydF9zaWdyZXR1cm4iCX0sIC8qIDUyMTEgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJ0aW1lcl9jcmVhdGUiCX0sIC8qIDUyMTIgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJ0aW1lcl9zZXR0aW1lIgl9LCAvKiA1MjEzICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkidGltZXJfZ2V0dGltZSIJfSwgLyogNTIxNCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJInRpbWVyX2dldG92ZXJydW4ifSwgLyogNTIxNSAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJInRpbWVyX2RlbGV0ZSIJfSwgLyogNTIxNiAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJImNsb2NrX3NldHRpbWUiCX0sIC8qIDUyMTcgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJjbG9ja19nZXR0aW1lIgl9LCAvKiA1MjE4ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiY2xvY2tfZ2V0cmVzIgl9LCAvKiA1MjE5ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiY2xvY2tfbmFub3NsZWVwIn0sIC8qIDUyMjAgKi8KKyNlbHNlCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjY0X3JlYWQiCQl9LCAvKiA1MDAwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjY0X3dyaXRlIgkJfSwgLyogNTAwMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9vcGVuIgkJfSwgLyogNTAwMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9jbG9zZSIJCX0sIC8qIDUwMDMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfc3RhdCIJCX0sIC8qIDUwMDQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfZnN0YXQiCQl9LCAvKiA1MDA1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjY0X2xzdGF0IgkJfSwgLyogNTAwNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9wb2xsIgkJfSwgLyogNTAwNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9sc2VlayIJCX0sIC8qIDUwMDggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfbW1hcCIJCX0sIC8qIDUwMDkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfbXByb3RlY3QiCQl9LCAvKiA1MDEwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjY0X211bm1hcCIJCX0sIC8qIDUwMTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfYnJrIgkJfSwgLyogNTAxMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9ydF9zaWdhY3Rpb24iCX0sIC8qIDUwMTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfcnRfc2lncHJvY21hc2siCX0sIC8qIDUwMTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfaW9jdGwiCQl9LCAvKiA1MDE1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjY0X3ByZWFkIgkJfSwgLyogNTAxNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9wd3JpdGUiCQl9LCAvKiA1MDE3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjY0X3JlYWR2IgkJfSwgLyogNTAxOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF93cml0ZXYiCQl9LCAvKiA1MDE5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjY0X2FjY2VzcyIJCX0sIC8qIDUwMjAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfcGlwZSIJCX0sIC8qIDUwMjEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfX25ld3NlbGVjdCIJfSwgLyogNTAyMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9zY2hlZF95aWVsZCIJfSwgLyogNTAyMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9tcmVtYXAiCQl9LCAvKiA1MDI0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjY0X21zeW5jIgkJfSwgLyogNTAyNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9taW5jb3JlIgkJfSwgLyogNTAyNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9tYWR2aXNlIgkJfSwgLyogNTAyNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9zaG1nZXQiCQl9LCAvKiA1MDI4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjY0X3NobWdhdCIJCX0sIC8qIDUwMjkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfc2htY3RsIgkJfSwgLyogNTAzMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9kdXAiCQl9LCAvKiA1MDMxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjY0X2R1cDIiCQl9LCAvKiA1MDMyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjY0X3BhdXNlIgkJfSwgLyogNTAzMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9uYW5vc2xlZXAiCQl9LCAvKiA1MDM0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjY0X2dldGl0aW1lciIJCX0sIC8qIDUwMzUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfc2V0aXRpbWVyIgkJfSwgLyogNTAzNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9hbGFybSIJCX0sIC8qIDUwMzcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfZ2V0cGlkIgkJfSwgLyogNTAzOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9zZW5kZmlsZSIJCX0sIC8qIDUwMzkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfc29ja2V0Y2FsbCIJfSwgLyogNTA0MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9jb25uZWN0IgkJfSwgLyogNTA0MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9hY2NlcHQiCQl9LCAvKiA1MDQyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjY0X3NlbmR0byIJCX0sIC8qIDUwNDMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfcmVjdmZyb20iCQl9LCAvKiA1MDQ0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjY0X3NlbmRtc2ciCQl9LCAvKiA1MDQ1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjY0X3JlY3Ztc2ciCQl9LCAvKiA1MDQ2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjY0X3NodXRkb3duIgkJfSwgLyogNTA0NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9iaW5kIgkJfSwgLyogNTA0OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9saXN0ZW4iCQl9LCAvKiA1MDQ5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjY0X2dldHNvY2tuYW1lIgl9LCAvKiA1MDUwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjY0X2dldHBlZXJuYW1lIgl9LCAvKiA1MDUxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjY0X3NvY2tldHBhaXIiCX0sIC8qIDUwNTIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfc2V0c29ja29wdCIJfSwgLyogNTA1MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9nZXRzb2Nrb3B0Igl9LCAvKiA1MDU0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjY0X2Nsb25lIgkJfSwgLyogNTA1NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9mb3JrIgkJfSwgLyogNTA1NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9leGVjdmUiCQl9LCAvKiA1MDU3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjY0X2V4aXQiCQl9LCAvKiA1MDU4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjY0X3dhaXQ0IgkJfSwgLyogNTA1OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9raWxsIgkJfSwgLyogNTA2MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF91bmFtZSIJCX0sIC8qIDUwNjEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfc2VtZ2V0IgkJfSwgLyogNTA2MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9zZW1vcCIJCX0sIC8qIDUwNjMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfc2VtY3RsIgkJfSwgLyogNTA2NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9zaG1kdCIJCX0sIC8qIDUwNjUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfbXNnZ2V0IgkJfSwgLyogNTA2NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9tc2dzbmQiCQl9LCAvKiA1MDY3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjY0X21zZ3JjdiIJCX0sIC8qIDUwNjggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfbXNnY3RsIgkJfSwgLyogNTA2OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9mY250bCIJCX0sIC8qIDUwNzAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfZmxvY2siCQl9LCAvKiA1MDcxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjY0X2ZzeW5jIgkJfSwgLyogNTA3MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9mZGF0YXN5bmMiCQl9LCAvKiA1MDczICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjY0X3RydW5jYXRlIgkJfSwgLyogNTA3NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9mdHJ1bmNhdGUiCQl9LCAvKiA1MDc1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjY0X2dldGRlbnRzIgkJfSwgLyogNTA3NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9nZXRjd2QiCQl9LCAvKiA1MDc3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjY0X2NoZGlyIgkJfSwgLyogNTA3OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9mY2hkaXIiCQl9LCAvKiA1MDc5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjY0X3JlbmFtZSIJCX0sIC8qIDUwODAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfbWtkaXIiCQl9LCAvKiA1MDgxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjY0X3JtZGlyIgkJfSwgLyogNTA4MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9jcmVhdCIJCX0sIC8qIDUwODMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfbGluayIJCX0sIC8qIDUwODQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfdW5saW5rIgkJfSwgLyogNTA4NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9zeW1saW5rIgkJfSwgLyogNTA4NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9yZWFkbGluayIJCX0sIC8qIDUwODcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfY2htb2QiCQl9LCAvKiA1MDg4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjY0X2ZjaG1vZCIJCX0sIC8qIDUwODkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfY2hvd24iCQl9LCAvKiA1MDkwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjY0X2ZjaG93biIJCX0sIC8qIDUwOTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfbGNob3duIgkJfSwgLyogNTA5MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF91bWFzayIJCX0sIC8qIDUwOTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfZ2V0dGltZW9mZGF5Igl9LCAvKiA1MDk0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjY0X2dldHJsaW1pdCIJCX0sIC8qIDUwOTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfZ2V0cnVzYWdlIgkJfSwgLyogNTA5NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9zeXNpbmZvIgkJfSwgLyogNTA5NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF90aW1lcyIJCX0sIC8qIDUwOTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfcHRyYWNlIgkJfSwgLyogNTA5OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9nZXR1aWQiCQl9LCAvKiA1MTAwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjY0X3N5c2xvZyIJCX0sIC8qIDUxMDEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfZ2V0Z2lkIgkJfSwgLyogNTEwMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9zZXR1aWQiCQl9LCAvKiA1MTAzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjY0X3NldGdpZCIJCX0sIC8qIDUxMDQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfZ2V0ZXVpZCIJCX0sIC8qIDUxMDUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfZ2V0ZWdpZCIJCX0sIC8qIDUxMDYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfc2V0cGdpZCIJCX0sIC8qIDUxMDcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfZ2V0cHBpZCIJCX0sIC8qIDUxMDggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfZ2V0cGdycCIJCX0sIC8qIDUxMDkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfc2V0c2lkIgkJfSwgLyogNTExMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9zZXRyZXVpZCIJCX0sIC8qIDUxMTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfc2V0cmVnaWQiCQl9LCAvKiA1MTEyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjY0X2dldGdyb3VwcyIJCX0sIC8qIDUxMTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfc2V0Z3JvdXBzIgkJfSwgLyogNTExNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9zZXRyZXN1aWQiCQl9LCAvKiA1MTE1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjY0X2dldHJlc3VpZCIJCX0sIC8qIDUxMTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfc2V0cmVzZ2lkIgkJfSwgLyogNTExNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9nZXRyZXNnaWQiCQl9LCAvKiA1MTE4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjY0X2dldHBnaWQiCQl9LCAvKiA1MTE5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjY0X3NldGZzdWlkIgkJfSwgLyogNTEyMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9zZXRmc2dpZCIJCX0sIC8qIDUxMjEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfZ2V0c2lkIgkJfSwgLyogNTEyMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9jYXBnZXQiCQl9LCAvKiA1MTIzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjY0X2NhcHNldCIJCX0sIC8qIDUxMjQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfcnRfc2lncGVuZGluZyIJfSwgLyogNTEyNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9ydF9zaWd0aW1lZHdhaXQiCX0sIC8qIDUxMjYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfcnRfc2lncXVldWVpbmZvIgl9LCAvKiA1MTI3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjY0X3J0X3NpZ3VzcGVuZCIJfSwgLyogNTEyOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9zaWdhbHRzdGF0Y2siCX0sIC8qIDUxMjkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfdXRpbWUiCQl9LCAvKiA1MTMwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjY0X21rbm9kIgkJfSwgLyogNTEzMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9wZXJzb25hbGl0eSIJfSwgLyogNTEzMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF91c3RhdCIJCX0sIC8qIDUxMzMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfc3RhdGZzIgkJfSwgLyogNTEzNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9mc3RhdGZzIgkJfSwgLyogNTEzNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9zeXNmcyIJCX0sIC8qIDUxMzYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfZ2V0cHJpb3JpdHkiCX0sIC8qIDUxMzcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfc2V0cHJpb3JpdHkiCX0sIC8qIDUxMzggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfc2NoZWRfc2V0cGFyYW0iCX0sIC8qIDUxMzkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfc2NoZWRfZ2V0cGFyYW0iCX0sIC8qIDUxNDAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfc2NoZWRfc2V0c2NoZWR1bGVyIn0sIC8qIDUxNDEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfc2NoZWRfZ2V0c2NoZWR1bGVyIn0sIC8qIDUxNDIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfc2NoZWRfZ2V0X3ByaW9yaXR5X21heCJ9LCAvKiA1MTQzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjY0X3NjaGVkX2dldF9wcmlvcml0eV9taW4ifSwgLyogNTE0NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9zY2hlZF9ycl9nZXRfaW50ZXJ2YWwifSwgLyogNTE0NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9tbG9jayIJCX0sIC8qIDUxNDYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfbXVubG9jayIJCX0sIC8qIDUxNDcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfbWxvY2thbGwiCQl9LCAvKiA1MTQ4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjY0X211bmxvY2thbGwiCX0sIC8qIDUxNDkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfdmhhbmd1cCIJCX0sIC8qIDUxNTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfcGl2b3Rfcm9vdCIJfSwgLyogNTE1MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9fc3lzY3RsIgkJfSwgLyogNTE1MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9wcmN0bCIJCX0sIC8qIDUxNTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfYWRqdGltZXgiCQl9LCAvKiA1MTU0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjY0X3NldHJsaW1pdCIJCX0sIC8qIDUxNTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfY2hyb290IgkJfSwgLyogNTE1NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9zeW5jIgkJfSwgLyogNTE1NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9hY2N0IgkJfSwgLyogNTE1OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9zZXR0aW1lb2ZkYXkiCX0sIC8qIDUxNTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfbW91bnQiCQl9LCAvKiA1MTYwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjY0X3Vtb3VudCIJCX0sIC8qIDUxNjEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfc3dhcG9uIgkJfSwgLyogNTE2MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9zd2Fwb2ZmIgkJfSwgLyogNTE2MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9yZWJvb3QiCQl9LCAvKiA1MTY0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjY0X3NldGhvc3RuYW1lIgl9LCAvKiA1MTY1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjY0X3NldGRvbWFpbm5hbWUiCX0sIC8qIDUxNjYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfY3JlYXRlX21vZHVsZSIJfSwgLyogNTE2NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9pbml0X21vZHVsZSIJfSwgLyogNTE2OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9kZWxldGVfbW9kdWxlIgl9LCAvKiA1MTY5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjY0X2dldF9rZXJuZWxfc3ltcyIJfSwgLyogNTE3MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9xdWVyeV9tb2R1bGUiCX0sIC8qIDUxNzEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfcXVvdGFjdGwiCQl9LCAvKiA1MTcyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjY0X25mc3NlcnZjdGwiCX0sIC8qIDUxNzMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfZ2V0cG1zZyIJCX0sIC8qIDUxNzQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfcHV0cG1zZyIJCX0sIC8qIDUxNzUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfYWZzX3N5c2NhbGwiCX0sIC8qIDUxNzYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfcmVzZXJ2ZWQxNzciCX0sIC8qIDUxNzcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfZ2V0dGlkIgkJfSwgLyogNTE3OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9yZWFkYWhlYWQiCQl9LCAvKiA1MTc5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjY0X3NldHhhdHRyIgkJfSwgLyogNTE4MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9sc2V0eGF0dHIiCQl9LCAvKiA1MTgxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjY0X2ZzZXR4YXR0ciIJCX0sIC8qIDUxODIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfZ2V0eGF0dHIiCQl9LCAvKiA1MTgzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjY0X2xnZXR4YXR0ciIJCX0sIC8qIDUxODQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfZmdldHhhdHRyIgkJfSwgLyogNTE4NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9saXN0eGF0dHIiCQl9LCAvKiA1MTg2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjY0X2xsaXN0eGF0dHIiCX0sIC8qIDUxODcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfZmxpc3R4YXR0ciIJfSwgLyogNTE4OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9yZW1vdmV4YXR0ciIJfSwgLyogNTE4OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9scmVtb3ZleGF0dHIiCX0sIC8qIDUxOTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfZnJlbW92ZXhhdHRyIgl9LCAvKiA1MTkxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjY0X3RraWxsIgkJfSwgLyogNTE5MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF90aW1lIgkJfSwgLyogNTE5MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9mdXRleCIJCX0sIC8qIDUxOTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfc2NoZWRfc2V0YWZmaW5pdHkiCX0sIC8qIDUxOTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfc2NoZWRfZ2V0YWZmaW5pdHkiCX0sIC8qIDUxOTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfY2FjaGVmbHVzaCIJfSwgLyogNTE5NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm42NF9jYWNoZWN0bCIJCX0sIC8qIDUxOTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfc3lzbWlwcyIJCX0sIC8qIDUxOTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTIwMCIJCX0sIC8qIDUyMDAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTIwMSIJCX0sIC8qIDUyMDEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTIwMiIJCX0sIC8qIDUyMDIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTIwMyIJCX0sIC8qIDUyMDMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTIwNCIJCX0sIC8qIDUyMDQgKi8KKwl7IDEsCVRQLAlwcmludGFyZ3MsCQkibjY0X2V4aXRfZ3JvdXAiCX0sIC8qIDUyMDUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTIwNiIJCX0sIC8qIDUyMDYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTIwNyIJCX0sIC8qIDUyMDcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTIwOCIJCX0sIC8qIDUyMDggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTIwOSIJCX0sIC8qIDUyMDkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTIxMCIJCX0sIC8qIDUyMTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuNjRfcnRfc2lncmV0dXJuIgl9LCAvKiA1MjExICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkibjY0X3RpbWVyX2NyZWF0ZSIJfSwgLyogNTIxMiAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIm42NF90aW1lcl9zZXR0aW1lIgl9LCAvKiA1MjEzICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkibjY0X3RpbWVyX2dldHRpbWUiCX0sIC8qIDUyMTQgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJuNjRfdGltZXJfZ2V0b3ZlcnJ1biJ9LCAvKiA1MjE1ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkibjY0X3RpbWVyX2RlbGV0ZSIJfSwgLyogNTIxNiAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIm42NF9jbG9ja19zZXR0aW1lIgl9LCAvKiA1MjE3ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkibjY0X2Nsb2NrX2dldHRpbWUiCX0sIC8qIDUyMTggKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJuNjRfY2xvY2tfZ2V0cmVzIgl9LCAvKiA1MjE5ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkibjY0X2Nsb2NrX25hbm9zbGVlcCJ9LCAvKiA1MjIwICovCisjZW5kaWYKKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTIyMSIJfSwgLyogNTIyMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MjIyIgl9LCAvKiA1MjIyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUyMjMiCX0sIC8qIDUyMjMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTIyNCIJfSwgLyogNTIyNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MjI1Igl9LCAvKiA1MjI1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUyMjYiCX0sIC8qIDUyMjYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTIyNyIJfSwgLyogNTIyNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MjI4Igl9LCAvKiA1MjI4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUyMjkiCX0sIC8qIDUyMjkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTIzMCIJfSwgLyogNTIzMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MjMxIgl9LCAvKiA1MjMxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUyMzIiCX0sIC8qIDUyMzIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTIzMyIJfSwgLyogNTIzMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MjM0Igl9LCAvKiA1MjM0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUyMzUiCX0sIC8qIDUyMzUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTIzNiIJfSwgLyogNTIzNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MjM3Igl9LCAvKiA1MjM3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUyMzgiCX0sIC8qIDUyMzggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTIzOSIJfSwgLyogNTIzOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MjQwIgl9LCAvKiA1MjQwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUyNDEiCX0sIC8qIDUyNDEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTI0MiIJfSwgLyogNTI0MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MjQzIgl9LCAvKiA1MjQzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUyNDQiCX0sIC8qIDUyNDQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTI0NSIJfSwgLyogNTI0NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MjQ2Igl9LCAvKiA1MjQ2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUyNDciCX0sIC8qIDUyNDcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTI0OCIJfSwgLyogNTI0OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MjQ5Igl9LCAvKiA1MjQ5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUyNTAiCX0sIC8qIDUyNTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTI1MSIJfSwgLyogNTI1MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MjUyIgl9LCAvKiA1MjUyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUyNTMiCX0sIC8qIDUyNTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTI1NCIJfSwgLyogNTI1NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MjU1Igl9LCAvKiA1MjU1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUyNTYiCX0sIC8qIDUyNTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTI1NyIJfSwgLyogNTI1NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MjU4Igl9LCAvKiA1MjU4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUyNTkiCX0sIC8qIDUyNTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTI2MCIJfSwgLyogNTI2MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MjYxIgl9LCAvKiA1MjYxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUyNjIiCX0sIC8qIDUyNjIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTI2MyIJfSwgLyogNTI2MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MjY0Igl9LCAvKiA1MjY0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUyNjUiCX0sIC8qIDUyNjUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTI2NiIJfSwgLyogNTI2NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MjY3Igl9LCAvKiA1MjY3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUyNjgiCX0sIC8qIDUyNjggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTI2OSIJfSwgLyogNTI2OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MjcwIgl9LCAvKiA1MjcwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUyNzEiCX0sIC8qIDUyNzEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTI3MiIJfSwgLyogNTI3MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MjczIgl9LCAvKiA1MjczICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUyNzQiCX0sIC8qIDUyNzQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTI3NSIJfSwgLyogNTI3NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181Mjc2Igl9LCAvKiA1Mjc2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUyNzciCX0sIC8qIDUyNzcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTI3OCIJfSwgLyogNTI3OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181Mjc5Igl9LCAvKiA1Mjc5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUyODAiCX0sIC8qIDUyODAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTI4MSIJfSwgLyogNTI4MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MjgyIgl9LCAvKiA1MjgyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUyODMiCX0sIC8qIDUyODMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTI4NCIJfSwgLyogNTI4NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181Mjg1Igl9LCAvKiA1Mjg1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUyODYiCX0sIC8qIDUyODYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTI4NyIJfSwgLyogNTI4NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181Mjg4Igl9LCAvKiA1Mjg4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUyODkiCX0sIC8qIDUyODkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTI5MCIJfSwgLyogNTI5MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MjkxIgl9LCAvKiA1MjkxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUyOTIiCX0sIC8qIDUyOTIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTI5MyIJfSwgLyogNTI5MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181Mjk0Igl9LCAvKiA1Mjk0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUyOTUiCX0sIC8qIDUyOTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTI5NiIJfSwgLyogNTI5NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181Mjk3Igl9LCAvKiA1Mjk3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUyOTgiCX0sIC8qIDUyOTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTI5OSIJfSwgLyogNTI5OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MzAwIgl9LCAvKiA1MzAwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUzMDEiCX0sIC8qIDUzMDEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTMwMiIJfSwgLyogNTMwMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MzAzIgl9LCAvKiA1MzAzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUzMDQiCX0sIC8qIDUzMDQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTMwNSIJfSwgLyogNTMwNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MzA2Igl9LCAvKiA1MzA2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUzMDciCX0sIC8qIDUzMDcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTMwOCIJfSwgLyogNTMwOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MzA5Igl9LCAvKiA1MzA5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUzMTAiCX0sIC8qIDUzMTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTMxMSIJfSwgLyogNTMxMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MzEyIgl9LCAvKiA1MzEyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUzMTMiCX0sIC8qIDUzMTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTMxNCIJfSwgLyogNTMxNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MzE1Igl9LCAvKiA1MzE1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUzMTYiCX0sIC8qIDUzMTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTMxNyIJfSwgLyogNTMxNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MzE4Igl9LCAvKiA1MzE4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUzMTkiCX0sIC8qIDUzMTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTMyMCIJfSwgLyogNTMyMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MzIxIgl9LCAvKiA1MzIxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUzMjIiCX0sIC8qIDUzMjIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTMyMyIJfSwgLyogNTMyMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MzI0Igl9LCAvKiA1MzI0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUzMjUiCX0sIC8qIDUzMjUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTMyNiIJfSwgLyogNTMyNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MzI3Igl9LCAvKiA1MzI3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUzMjgiCX0sIC8qIDUzMjggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTMyOSIJfSwgLyogNTMyOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MzMwIgl9LCAvKiA1MzMwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUzMzEiCX0sIC8qIDUzMzEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTMzMiIJfSwgLyogNTMzMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MzMzIgl9LCAvKiA1MzMzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUzMzQiCX0sIC8qIDUzMzQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTMzNSIJfSwgLyogNTMzNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MzM2Igl9LCAvKiA1MzM2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUzMzciCX0sIC8qIDUzMzcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTMzOCIJfSwgLyogNTMzOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MzM5Igl9LCAvKiA1MzM5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUzNDAiCX0sIC8qIDUzNDAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTM0MSIJfSwgLyogNTM0MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MzQyIgl9LCAvKiA1MzQyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUzNDMiCX0sIC8qIDUzNDMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTM0NCIJfSwgLyogNTM0NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MzQ1Igl9LCAvKiA1MzQ1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUzNDYiCX0sIC8qIDUzNDYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTM0NyIJfSwgLyogNTM0NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MzQ4Igl9LCAvKiA1MzQ4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUzNDkiCX0sIC8qIDUzNDkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTM1MCIJfSwgLyogNTM1MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MzUxIgl9LCAvKiA1MzUxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUzNTIiCX0sIC8qIDUzNTIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTM1MyIJfSwgLyogNTM1MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MzU0Igl9LCAvKiA1MzU0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUzNTUiCX0sIC8qIDUzNTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTM1NiIJfSwgLyogNTM1NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MzU3Igl9LCAvKiA1MzU3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUzNTgiCX0sIC8qIDUzNTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTM1OSIJfSwgLyogNTM1OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MzYwIgl9LCAvKiA1MzYwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUzNjEiCX0sIC8qIDUzNjEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTM2MiIJfSwgLyogNTM2MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MzYzIgl9LCAvKiA1MzYzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUzNjQiCX0sIC8qIDUzNjQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTM2NSIJfSwgLyogNTM2NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MzY2Igl9LCAvKiA1MzY2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUzNjciCX0sIC8qIDUzNjcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTM2OCIJfSwgLyogNTM2OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MzY5Igl9LCAvKiA1MzY5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUzNzAiCX0sIC8qIDUzNzAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTM3MSIJfSwgLyogNTM3MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MzcyIgl9LCAvKiA1MzcyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUzNzMiCX0sIC8qIDUzNzMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTM3NCIJfSwgLyogNTM3NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181Mzc1Igl9LCAvKiA1Mzc1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUzNzYiCX0sIC8qIDUzNzYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTM3NyIJfSwgLyogNTM3NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181Mzc4Igl9LCAvKiA1Mzc4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUzNzkiCX0sIC8qIDUzNzkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTM4MCIJfSwgLyogNTM4MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MzgxIgl9LCAvKiA1MzgxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUzODIiCX0sIC8qIDUzODIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTM4MyIJfSwgLyogNTM4MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181Mzg0Igl9LCAvKiA1Mzg0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUzODUiCX0sIC8qIDUzODUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTM4NiIJfSwgLyogNTM4NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181Mzg3Igl9LCAvKiA1Mzg3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUzODgiCX0sIC8qIDUzODggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTM4OSIJfSwgLyogNTM4OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MzkwIgl9LCAvKiA1MzkwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUzOTEiCX0sIC8qIDUzOTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTM5MiIJfSwgLyogNTM5MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181MzkzIgl9LCAvKiA1MzkzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUzOTQiCX0sIC8qIDUzOTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTM5NSIJfSwgLyogNTM5NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181Mzk2Igl9LCAvKiA1Mzk2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUzOTciCX0sIC8qIDUzOTcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTM5OCIJfSwgLyogNTM5OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181Mzk5Igl9LCAvKiA1Mzk5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU0MDAiCX0sIC8qIDU0MDAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTQwMSIJfSwgLyogNTQwMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NDAyIgl9LCAvKiA1NDAyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU0MDMiCX0sIC8qIDU0MDMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTQwNCIJfSwgLyogNTQwNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NDA1Igl9LCAvKiA1NDA1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU0MDYiCX0sIC8qIDU0MDYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTQwNyIJfSwgLyogNTQwNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NDA4Igl9LCAvKiA1NDA4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU0MDkiCX0sIC8qIDU0MDkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTQxMCIJfSwgLyogNTQxMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NDExIgl9LCAvKiA1NDExICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU0MTIiCX0sIC8qIDU0MTIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTQxMyIJfSwgLyogNTQxMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NDE0Igl9LCAvKiA1NDE0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU0MTUiCX0sIC8qIDU0MTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTQxNiIJfSwgLyogNTQxNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NDE3Igl9LCAvKiA1NDE3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU0MTgiCX0sIC8qIDU0MTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTQxOSIJfSwgLyogNTQxOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NDIwIgl9LCAvKiA1NDIwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU0MjEiCX0sIC8qIDU0MjEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTQyMiIJfSwgLyogNTQyMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NDIzIgl9LCAvKiA1NDIzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU0MjQiCX0sIC8qIDU0MjQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTQyNSIJfSwgLyogNTQyNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NDI2Igl9LCAvKiA1NDI2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU0MjciCX0sIC8qIDU0MjcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTQyOCIJfSwgLyogNTQyOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NDI5Igl9LCAvKiA1NDI5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU0MzAiCX0sIC8qIDU0MzAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTQzMSIJfSwgLyogNTQzMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NDMyIgl9LCAvKiA1NDMyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU0MzMiCX0sIC8qIDU0MzMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTQzNCIJfSwgLyogNTQzNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NDM1Igl9LCAvKiA1NDM1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU0MzYiCX0sIC8qIDU0MzYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTQzNyIJfSwgLyogNTQzNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NDM4Igl9LCAvKiA1NDM4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU0MzkiCX0sIC8qIDU0MzkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTQ0MCIJfSwgLyogNTQ0MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NDQxIgl9LCAvKiA1NDQxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU0NDIiCX0sIC8qIDU0NDIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTQ0MyIJfSwgLyogNTQ0MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NDQ0Igl9LCAvKiA1NDQ0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU0NDUiCX0sIC8qIDU0NDUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTQ0NiIJfSwgLyogNTQ0NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NDQ3Igl9LCAvKiA1NDQ3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU0NDgiCX0sIC8qIDU0NDggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTQ0OSIJfSwgLyogNTQ0OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NDUwIgl9LCAvKiA1NDUwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU0NTEiCX0sIC8qIDU0NTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTQ1MiIJfSwgLyogNTQ1MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NDUzIgl9LCAvKiA1NDUzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU0NTQiCX0sIC8qIDU0NTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTQ1NSIJfSwgLyogNTQ1NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NDU2Igl9LCAvKiA1NDU2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU0NTciCX0sIC8qIDU0NTcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTQ1OCIJfSwgLyogNTQ1OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NDU5Igl9LCAvKiA1NDU5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU0NjAiCX0sIC8qIDU0NjAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTQ2MSIJfSwgLyogNTQ2MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NDYyIgl9LCAvKiA1NDYyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU0NjMiCX0sIC8qIDU0NjMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTQ2NCIJfSwgLyogNTQ2NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NDY1Igl9LCAvKiA1NDY1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU0NjYiCX0sIC8qIDU0NjYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTQ2NyIJfSwgLyogNTQ2NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NDY4Igl9LCAvKiA1NDY4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU0NjkiCX0sIC8qIDU0NjkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTQ3MCIJfSwgLyogNTQ3MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NDcxIgl9LCAvKiA1NDcxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU0NzIiCX0sIC8qIDU0NzIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTQ3MyIJfSwgLyogNTQ3MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NDc0Igl9LCAvKiA1NDc0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU0NzUiCX0sIC8qIDU0NzUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTQ3NiIJfSwgLyogNTQ3NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NDc3Igl9LCAvKiA1NDc3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU0NzgiCX0sIC8qIDU0NzggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTQ3OSIJfSwgLyogNTQ3OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NDgwIgl9LCAvKiA1NDgwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU0ODEiCX0sIC8qIDU0ODEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTQ4MiIJfSwgLyogNTQ4MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NDgzIgl9LCAvKiA1NDgzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU0ODQiCX0sIC8qIDU0ODQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTQ4NSIJfSwgLyogNTQ4NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NDg2Igl9LCAvKiA1NDg2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU0ODciCX0sIC8qIDU0ODcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTQ4OCIJfSwgLyogNTQ4OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NDg5Igl9LCAvKiA1NDg5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU0OTAiCX0sIC8qIDU0OTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTQ5MSIJfSwgLyogNTQ5MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NDkyIgl9LCAvKiA1NDkyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU0OTMiCX0sIC8qIDU0OTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTQ5NCIJfSwgLyogNTQ5NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NDk1Igl9LCAvKiA1NDk1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU0OTYiCX0sIC8qIDU0OTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTQ5NyIJfSwgLyogNTQ5NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NDk4Igl9LCAvKiA1NDk4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU0OTkiCX0sIC8qIDU0OTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTUwMCIJfSwgLyogNTUwMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NTAxIgl9LCAvKiA1NTAxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU1MDIiCX0sIC8qIDU1MDIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTUwMyIJfSwgLyogNTUwMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NTA0Igl9LCAvKiA1NTA0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU1MDUiCX0sIC8qIDU1MDUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTUwNiIJfSwgLyogNTUwNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NTA3Igl9LCAvKiA1NTA3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU1MDgiCX0sIC8qIDU1MDggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTUwOSIJfSwgLyogNTUwOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NTEwIgl9LCAvKiA1NTEwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU1MTEiCX0sIC8qIDU1MTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTUxMiIJfSwgLyogNTUxMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NTEzIgl9LCAvKiA1NTEzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU1MTQiCX0sIC8qIDU1MTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTUxNSIJfSwgLyogNTUxNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NTE2Igl9LCAvKiA1NTE2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU1MTciCX0sIC8qIDU1MTcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTUxOCIJfSwgLyogNTUxOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NTE5Igl9LCAvKiA1NTE5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU1MjAiCX0sIC8qIDU1MjAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTUyMSIJfSwgLyogNTUyMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NTIyIgl9LCAvKiA1NTIyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU1MjMiCX0sIC8qIDU1MjMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTUyNCIJfSwgLyogNTUyNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NTI1Igl9LCAvKiA1NTI1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU1MjYiCX0sIC8qIDU1MjYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTUyNyIJfSwgLyogNTUyNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NTI4Igl9LCAvKiA1NTI4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU1MjkiCX0sIC8qIDU1MjkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTUzMCIJfSwgLyogNTUzMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NTMxIgl9LCAvKiA1NTMxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU1MzIiCX0sIC8qIDU1MzIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTUzMyIJfSwgLyogNTUzMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NTM0Igl9LCAvKiA1NTM0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU1MzUiCX0sIC8qIDU1MzUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTUzNiIJfSwgLyogNTUzNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NTM3Igl9LCAvKiA1NTM3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU1MzgiCX0sIC8qIDU1MzggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTUzOSIJfSwgLyogNTUzOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NTQwIgl9LCAvKiA1NTQwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU1NDEiCX0sIC8qIDU1NDEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTU0MiIJfSwgLyogNTU0MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NTQzIgl9LCAvKiA1NTQzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU1NDQiCX0sIC8qIDU1NDQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTU0NSIJfSwgLyogNTU0NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NTQ2Igl9LCAvKiA1NTQ2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU1NDciCX0sIC8qIDU1NDcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTU0OCIJfSwgLyogNTU0OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NTQ5Igl9LCAvKiA1NTQ5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU1NTAiCX0sIC8qIDU1NTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTU1MSIJfSwgLyogNTU1MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NTUyIgl9LCAvKiA1NTUyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU1NTMiCX0sIC8qIDU1NTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTU1NCIJfSwgLyogNTU1NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NTU1Igl9LCAvKiA1NTU1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU1NTYiCX0sIC8qIDU1NTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTU1NyIJfSwgLyogNTU1NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NTU4Igl9LCAvKiA1NTU4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU1NTkiCX0sIC8qIDU1NTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTU2MCIJfSwgLyogNTU2MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NTYxIgl9LCAvKiA1NTYxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU1NjIiCX0sIC8qIDU1NjIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTU2MyIJfSwgLyogNTU2MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NTY0Igl9LCAvKiA1NTY0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU1NjUiCX0sIC8qIDU1NjUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTU2NiIJfSwgLyogNTU2NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NTY3Igl9LCAvKiA1NTY3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU1NjgiCX0sIC8qIDU1NjggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTU2OSIJfSwgLyogNTU2OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NTcwIgl9LCAvKiA1NTcwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU1NzEiCX0sIC8qIDU1NzEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTU3MiIJfSwgLyogNTU3MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NTczIgl9LCAvKiA1NTczICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU1NzQiCX0sIC8qIDU1NzQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTU3NSIJfSwgLyogNTU3NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NTc2Igl9LCAvKiA1NTc2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU1NzciCX0sIC8qIDU1NzcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTU3OCIJfSwgLyogNTU3OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NTc5Igl9LCAvKiA1NTc5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU1ODAiCX0sIC8qIDU1ODAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTU4MSIJfSwgLyogNTU4MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NTgyIgl9LCAvKiA1NTgyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU1ODMiCX0sIC8qIDU1ODMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTU4NCIJfSwgLyogNTU4NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NTg1Igl9LCAvKiA1NTg1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU1ODYiCX0sIC8qIDU1ODYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTU4NyIJfSwgLyogNTU4NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NTg4Igl9LCAvKiA1NTg4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU1ODkiCX0sIC8qIDU1ODkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTU5MCIJfSwgLyogNTU5MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NTkxIgl9LCAvKiA1NTkxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU1OTIiCX0sIC8qIDU1OTIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTU5MyIJfSwgLyogNTU5MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NTk0Igl9LCAvKiA1NTk0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU1OTUiCX0sIC8qIDU1OTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTU5NiIJfSwgLyogNTU5NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NTk3Igl9LCAvKiA1NTk3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU1OTgiCX0sIC8qIDU1OTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTU5OSIJfSwgLyogNTU5OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NjAwIgl9LCAvKiA1NjAwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU2MDEiCX0sIC8qIDU2MDEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTYwMiIJfSwgLyogNTYwMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NjAzIgl9LCAvKiA1NjAzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU2MDQiCX0sIC8qIDU2MDQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTYwNSIJfSwgLyogNTYwNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NjA2Igl9LCAvKiA1NjA2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU2MDciCX0sIC8qIDU2MDcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTYwOCIJfSwgLyogNTYwOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NjA5Igl9LCAvKiA1NjA5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU2MTAiCX0sIC8qIDU2MTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTYxMSIJfSwgLyogNTYxMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NjEyIgl9LCAvKiA1NjEyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU2MTMiCX0sIC8qIDU2MTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTYxNCIJfSwgLyogNTYxNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NjE1Igl9LCAvKiA1NjE1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU2MTYiCX0sIC8qIDU2MTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTYxNyIJfSwgLyogNTYxNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NjE4Igl9LCAvKiA1NjE4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU2MTkiCX0sIC8qIDU2MTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTYyMCIJfSwgLyogNTYyMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NjIxIgl9LCAvKiA1NjIxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU2MjIiCX0sIC8qIDU2MjIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTYyMyIJfSwgLyogNTYyMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NjI0Igl9LCAvKiA1NjI0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU2MjUiCX0sIC8qIDU2MjUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTYyNiIJfSwgLyogNTYyNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NjI3Igl9LCAvKiA1NjI3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU2MjgiCX0sIC8qIDU2MjggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTYyOSIJfSwgLyogNTYyOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NjMwIgl9LCAvKiA1NjMwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU2MzEiCX0sIC8qIDU2MzEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTYzMiIJfSwgLyogNTYzMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NjMzIgl9LCAvKiA1NjMzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU2MzQiCX0sIC8qIDU2MzQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTYzNSIJfSwgLyogNTYzNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NjM2Igl9LCAvKiA1NjM2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU2MzciCX0sIC8qIDU2MzcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTYzOCIJfSwgLyogNTYzOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NjM5Igl9LCAvKiA1NjM5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU2NDAiCX0sIC8qIDU2NDAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTY0MSIJfSwgLyogNTY0MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NjQyIgl9LCAvKiA1NjQyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU2NDMiCX0sIC8qIDU2NDMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTY0NCIJfSwgLyogNTY0NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NjQ1Igl9LCAvKiA1NjQ1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU2NDYiCX0sIC8qIDU2NDYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTY0NyIJfSwgLyogNTY0NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NjQ4Igl9LCAvKiA1NjQ4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU2NDkiCX0sIC8qIDU2NDkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTY1MCIJfSwgLyogNTY1MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NjUxIgl9LCAvKiA1NjUxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU2NTIiCX0sIC8qIDU2NTIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTY1MyIJfSwgLyogNTY1MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NjU0Igl9LCAvKiA1NjU0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU2NTUiCX0sIC8qIDU2NTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTY1NiIJfSwgLyogNTY1NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NjU3Igl9LCAvKiA1NjU3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU2NTgiCX0sIC8qIDU2NTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTY1OSIJfSwgLyogNTY1OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NjYwIgl9LCAvKiA1NjYwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU2NjEiCX0sIC8qIDU2NjEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTY2MiIJfSwgLyogNTY2MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NjYzIgl9LCAvKiA1NjYzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU2NjQiCX0sIC8qIDU2NjQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTY2NSIJfSwgLyogNTY2NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NjY2Igl9LCAvKiA1NjY2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU2NjciCX0sIC8qIDU2NjcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTY2OCIJfSwgLyogNTY2OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NjY5Igl9LCAvKiA1NjY5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU2NzAiCX0sIC8qIDU2NzAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTY3MSIJfSwgLyogNTY3MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NjcyIgl9LCAvKiA1NjcyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU2NzMiCX0sIC8qIDU2NzMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTY3NCIJfSwgLyogNTY3NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181Njc1Igl9LCAvKiA1Njc1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU2NzYiCX0sIC8qIDU2NzYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTY3NyIJfSwgLyogNTY3NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181Njc4Igl9LCAvKiA1Njc4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU2NzkiCX0sIC8qIDU2NzkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTY4MCIJfSwgLyogNTY4MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NjgxIgl9LCAvKiA1NjgxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU2ODIiCX0sIC8qIDU2ODIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTY4MyIJfSwgLyogNTY4MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181Njg0Igl9LCAvKiA1Njg0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU2ODUiCX0sIC8qIDU2ODUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTY4NiIJfSwgLyogNTY4NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181Njg3Igl9LCAvKiA1Njg3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU2ODgiCX0sIC8qIDU2ODggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTY4OSIJfSwgLyogNTY4OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NjkwIgl9LCAvKiA1NjkwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU2OTEiCX0sIC8qIDU2OTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTY5MiIJfSwgLyogNTY5MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NjkzIgl9LCAvKiA1NjkzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU2OTQiCX0sIC8qIDU2OTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTY5NSIJfSwgLyogNTY5NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181Njk2Igl9LCAvKiA1Njk2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU2OTciCX0sIC8qIDU2OTcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTY5OCIJfSwgLyogNTY5OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181Njk5Igl9LCAvKiA1Njk5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU3MDAiCX0sIC8qIDU3MDAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTcwMSIJfSwgLyogNTcwMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NzAyIgl9LCAvKiA1NzAyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU3MDMiCX0sIC8qIDU3MDMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTcwNCIJfSwgLyogNTcwNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NzA1Igl9LCAvKiA1NzA1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU3MDYiCX0sIC8qIDU3MDYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTcwNyIJfSwgLyogNTcwNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NzA4Igl9LCAvKiA1NzA4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU3MDkiCX0sIC8qIDU3MDkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTcxMCIJfSwgLyogNTcxMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NzExIgl9LCAvKiA1NzExICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU3MTIiCX0sIC8qIDU3MTIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTcxMyIJfSwgLyogNTcxMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NzE0Igl9LCAvKiA1NzE0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU3MTUiCX0sIC8qIDU3MTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTcxNiIJfSwgLyogNTcxNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NzE3Igl9LCAvKiA1NzE3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU3MTgiCX0sIC8qIDU3MTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTcxOSIJfSwgLyogNTcxOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NzIwIgl9LCAvKiA1NzIwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU3MjEiCX0sIC8qIDU3MjEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTcyMiIJfSwgLyogNTcyMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NzIzIgl9LCAvKiA1NzIzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU3MjQiCX0sIC8qIDU3MjQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTcyNSIJfSwgLyogNTcyNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NzI2Igl9LCAvKiA1NzI2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU3MjciCX0sIC8qIDU3MjcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTcyOCIJfSwgLyogNTcyOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NzI5Igl9LCAvKiA1NzI5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU3MzAiCX0sIC8qIDU3MzAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTczMSIJfSwgLyogNTczMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NzMyIgl9LCAvKiA1NzMyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU3MzMiCX0sIC8qIDU3MzMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTczNCIJfSwgLyogNTczNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NzM1Igl9LCAvKiA1NzM1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU3MzYiCX0sIC8qIDU3MzYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTczNyIJfSwgLyogNTczNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NzM4Igl9LCAvKiA1NzM4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU3MzkiCX0sIC8qIDU3MzkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTc0MCIJfSwgLyogNTc0MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NzQxIgl9LCAvKiA1NzQxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU3NDIiCX0sIC8qIDU3NDIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTc0MyIJfSwgLyogNTc0MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NzQ0Igl9LCAvKiA1NzQ0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU3NDUiCX0sIC8qIDU3NDUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTc0NiIJfSwgLyogNTc0NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NzQ3Igl9LCAvKiA1NzQ3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU3NDgiCX0sIC8qIDU3NDggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTc0OSIJfSwgLyogNTc0OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NzUwIgl9LCAvKiA1NzUwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU3NTEiCX0sIC8qIDU3NTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTc1MiIJfSwgLyogNTc1MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NzUzIgl9LCAvKiA1NzUzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU3NTQiCX0sIC8qIDU3NTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTc1NSIJfSwgLyogNTc1NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NzU2Igl9LCAvKiA1NzU2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU3NTciCX0sIC8qIDU3NTcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTc1OCIJfSwgLyogNTc1OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NzU5Igl9LCAvKiA1NzU5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU3NjAiCX0sIC8qIDU3NjAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTc2MSIJfSwgLyogNTc2MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NzYyIgl9LCAvKiA1NzYyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU3NjMiCX0sIC8qIDU3NjMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTc2NCIJfSwgLyogNTc2NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NzY1Igl9LCAvKiA1NzY1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU3NjYiCX0sIC8qIDU3NjYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTc2NyIJfSwgLyogNTc2NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NzY4Igl9LCAvKiA1NzY4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU3NjkiCX0sIC8qIDU3NjkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTc3MCIJfSwgLyogNTc3MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NzcxIgl9LCAvKiA1NzcxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU3NzIiCX0sIC8qIDU3NzIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTc3MyIJfSwgLyogNTc3MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181Nzc0Igl9LCAvKiA1Nzc0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU3NzUiCX0sIC8qIDU3NzUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTc3NiIJfSwgLyogNTc3NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181Nzc3Igl9LCAvKiA1Nzc3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU3NzgiCX0sIC8qIDU3NzggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTc3OSIJfSwgLyogNTc3OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NzgwIgl9LCAvKiA1NzgwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU3ODEiCX0sIC8qIDU3ODEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTc4MiIJfSwgLyogNTc4MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NzgzIgl9LCAvKiA1NzgzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU3ODQiCX0sIC8qIDU3ODQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTc4NSIJfSwgLyogNTc4NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181Nzg2Igl9LCAvKiA1Nzg2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU3ODciCX0sIC8qIDU3ODcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTc4OCIJfSwgLyogNTc4OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181Nzg5Igl9LCAvKiA1Nzg5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU3OTAiCX0sIC8qIDU3OTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTc5MSIJfSwgLyogNTc5MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181NzkyIgl9LCAvKiA1NzkyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU3OTMiCX0sIC8qIDU3OTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTc5NCIJfSwgLyogNTc5NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181Nzk1Igl9LCAvKiA1Nzk1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU3OTYiCX0sIC8qIDU3OTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTc5NyIJfSwgLyogNTc5NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181Nzk4Igl9LCAvKiA1Nzk4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU3OTkiCX0sIC8qIDU3OTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTgwMCIJfSwgLyogNTgwMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181ODAxIgl9LCAvKiA1ODAxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU4MDIiCX0sIC8qIDU4MDIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTgwMyIJfSwgLyogNTgwMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181ODA0Igl9LCAvKiA1ODA0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU4MDUiCX0sIC8qIDU4MDUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTgwNiIJfSwgLyogNTgwNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181ODA3Igl9LCAvKiA1ODA3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU4MDgiCX0sIC8qIDU4MDggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTgwOSIJfSwgLyogNTgwOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181ODEwIgl9LCAvKiA1ODEwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU4MTEiCX0sIC8qIDU4MTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTgxMiIJfSwgLyogNTgxMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181ODEzIgl9LCAvKiA1ODEzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU4MTQiCX0sIC8qIDU4MTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTgxNSIJfSwgLyogNTgxNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181ODE2Igl9LCAvKiA1ODE2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU4MTciCX0sIC8qIDU4MTcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTgxOCIJfSwgLyogNTgxOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181ODE5Igl9LCAvKiA1ODE5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU4MjAiCX0sIC8qIDU4MjAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTgyMSIJfSwgLyogNTgyMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181ODIyIgl9LCAvKiA1ODIyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU4MjMiCX0sIC8qIDU4MjMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTgyNCIJfSwgLyogNTgyNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181ODI1Igl9LCAvKiA1ODI1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU4MjYiCX0sIC8qIDU4MjYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTgyNyIJfSwgLyogNTgyNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181ODI4Igl9LCAvKiA1ODI4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU4MjkiCX0sIC8qIDU4MjkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTgzMCIJfSwgLyogNTgzMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181ODMxIgl9LCAvKiA1ODMxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU4MzIiCX0sIC8qIDU4MzIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTgzMyIJfSwgLyogNTgzMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181ODM0Igl9LCAvKiA1ODM0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU4MzUiCX0sIC8qIDU4MzUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTgzNiIJfSwgLyogNTgzNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181ODM3Igl9LCAvKiA1ODM3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU4MzgiCX0sIC8qIDU4MzggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTgzOSIJfSwgLyogNTgzOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181ODQwIgl9LCAvKiA1ODQwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU4NDEiCX0sIC8qIDU4NDEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTg0MiIJfSwgLyogNTg0MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181ODQzIgl9LCAvKiA1ODQzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU4NDQiCX0sIC8qIDU4NDQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTg0NSIJfSwgLyogNTg0NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181ODQ2Igl9LCAvKiA1ODQ2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU4NDciCX0sIC8qIDU4NDcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTg0OCIJfSwgLyogNTg0OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181ODQ5Igl9LCAvKiA1ODQ5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU4NTAiCX0sIC8qIDU4NTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTg1MSIJfSwgLyogNTg1MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181ODUyIgl9LCAvKiA1ODUyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU4NTMiCX0sIC8qIDU4NTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTg1NCIJfSwgLyogNTg1NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181ODU1Igl9LCAvKiA1ODU1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU4NTYiCX0sIC8qIDU4NTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTg1NyIJfSwgLyogNTg1NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181ODU4Igl9LCAvKiA1ODU4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU4NTkiCX0sIC8qIDU4NTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTg2MCIJfSwgLyogNTg2MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181ODYxIgl9LCAvKiA1ODYxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU4NjIiCX0sIC8qIDU4NjIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTg2MyIJfSwgLyogNTg2MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181ODY0Igl9LCAvKiA1ODY0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU4NjUiCX0sIC8qIDU4NjUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTg2NiIJfSwgLyogNTg2NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181ODY3Igl9LCAvKiA1ODY3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU4NjgiCX0sIC8qIDU4NjggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTg2OSIJfSwgLyogNTg2OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181ODcwIgl9LCAvKiA1ODcwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU4NzEiCX0sIC8qIDU4NzEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTg3MiIJfSwgLyogNTg3MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181ODczIgl9LCAvKiA1ODczICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU4NzQiCX0sIC8qIDU4NzQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTg3NSIJfSwgLyogNTg3NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181ODc2Igl9LCAvKiA1ODc2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU4NzciCX0sIC8qIDU4NzcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTg3OCIJfSwgLyogNTg3OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181ODc5Igl9LCAvKiA1ODc5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU4ODAiCX0sIC8qIDU4ODAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTg4MSIJfSwgLyogNTg4MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181ODgyIgl9LCAvKiA1ODgyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU4ODMiCX0sIC8qIDU4ODMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTg4NCIJfSwgLyogNTg4NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181ODg1Igl9LCAvKiA1ODg1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU4ODYiCX0sIC8qIDU4ODYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTg4NyIJfSwgLyogNTg4NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181ODg4Igl9LCAvKiA1ODg4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU4ODkiCX0sIC8qIDU4ODkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTg5MCIJfSwgLyogNTg5MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181ODkxIgl9LCAvKiA1ODkxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU4OTIiCX0sIC8qIDU4OTIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTg5MyIJfSwgLyogNTg5MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181ODk0Igl9LCAvKiA1ODk0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU4OTUiCX0sIC8qIDU4OTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTg5NiIJfSwgLyogNTg5NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181ODk3Igl9LCAvKiA1ODk3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU4OTgiCX0sIC8qIDU4OTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTg5OSIJfSwgLyogNTg5OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181OTAwIgl9LCAvKiA1OTAwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU5MDEiCX0sIC8qIDU5MDEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTkwMiIJfSwgLyogNTkwMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181OTAzIgl9LCAvKiA1OTAzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU5MDQiCX0sIC8qIDU5MDQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTkwNSIJfSwgLyogNTkwNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181OTA2Igl9LCAvKiA1OTA2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU5MDciCX0sIC8qIDU5MDcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTkwOCIJfSwgLyogNTkwOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181OTA5Igl9LCAvKiA1OTA5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU5MTAiCX0sIC8qIDU5MTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTkxMSIJfSwgLyogNTkxMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181OTEyIgl9LCAvKiA1OTEyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU5MTMiCX0sIC8qIDU5MTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTkxNCIJfSwgLyogNTkxNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181OTE1Igl9LCAvKiA1OTE1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU5MTYiCX0sIC8qIDU5MTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTkxNyIJfSwgLyogNTkxNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181OTE4Igl9LCAvKiA1OTE4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU5MTkiCX0sIC8qIDU5MTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTkyMCIJfSwgLyogNTkyMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181OTIxIgl9LCAvKiA1OTIxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU5MjIiCX0sIC8qIDU5MjIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTkyMyIJfSwgLyogNTkyMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181OTI0Igl9LCAvKiA1OTI0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU5MjUiCX0sIC8qIDU5MjUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTkyNiIJfSwgLyogNTkyNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181OTI3Igl9LCAvKiA1OTI3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU5MjgiCX0sIC8qIDU5MjggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTkyOSIJfSwgLyogNTkyOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181OTMwIgl9LCAvKiA1OTMwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU5MzEiCX0sIC8qIDU5MzEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTkzMiIJfSwgLyogNTkzMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181OTMzIgl9LCAvKiA1OTMzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU5MzQiCX0sIC8qIDU5MzQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTkzNSIJfSwgLyogNTkzNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181OTM2Igl9LCAvKiA1OTM2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU5MzciCX0sIC8qIDU5MzcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTkzOCIJfSwgLyogNTkzOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181OTM5Igl9LCAvKiA1OTM5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU5NDAiCX0sIC8qIDU5NDAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTk0MSIJfSwgLyogNTk0MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181OTQyIgl9LCAvKiA1OTQyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU5NDMiCX0sIC8qIDU5NDMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTk0NCIJfSwgLyogNTk0NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181OTQ1Igl9LCAvKiA1OTQ1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU5NDYiCX0sIC8qIDU5NDYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTk0NyIJfSwgLyogNTk0NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181OTQ4Igl9LCAvKiA1OTQ4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU5NDkiCX0sIC8qIDU5NDkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTk1MCIJfSwgLyogNTk1MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181OTUxIgl9LCAvKiA1OTUxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU5NTIiCX0sIC8qIDU5NTIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTk1MyIJfSwgLyogNTk1MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181OTU0Igl9LCAvKiA1OTU0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU5NTUiCX0sIC8qIDU5NTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTk1NiIJfSwgLyogNTk1NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181OTU3Igl9LCAvKiA1OTU3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU5NTgiCX0sIC8qIDU5NTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTk1OSIJfSwgLyogNTk1OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181OTYwIgl9LCAvKiA1OTYwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU5NjEiCX0sIC8qIDU5NjEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTk2MiIJfSwgLyogNTk2MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181OTYzIgl9LCAvKiA1OTYzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU5NjQiCX0sIC8qIDU5NjQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTk2NSIJfSwgLyogNTk2NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181OTY2Igl9LCAvKiA1OTY2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU5NjciCX0sIC8qIDU5NjcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTk2OCIJfSwgLyogNTk2OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181OTY5Igl9LCAvKiA1OTY5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU5NzAiCX0sIC8qIDU5NzAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTk3MSIJfSwgLyogNTk3MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181OTcyIgl9LCAvKiA1OTcyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU5NzMiCX0sIC8qIDU5NzMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTk3NCIJfSwgLyogNTk3NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181OTc1Igl9LCAvKiA1OTc1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU5NzYiCX0sIC8qIDU5NzYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTk3NyIJfSwgLyogNTk3NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181OTc4Igl9LCAvKiA1OTc4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU5NzkiCX0sIC8qIDU5NzkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTk4MCIJfSwgLyogNTk4MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181OTgxIgl9LCAvKiA1OTgxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU5ODIiCX0sIC8qIDU5ODIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTk4MyIJfSwgLyogNTk4MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181OTg0Igl9LCAvKiA1OTg0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU5ODUiCX0sIC8qIDU5ODUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTk4NiIJfSwgLyogNTk4NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181OTg3Igl9LCAvKiA1OTg3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU5ODgiCX0sIC8qIDU5ODggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTk4OSIJfSwgLyogNTk4OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181OTkwIgl9LCAvKiA1OTkwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU5OTEiCX0sIC8qIDU5OTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTk5MiIJfSwgLyogNTk5MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181OTkzIgl9LCAvKiA1OTkzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU5OTQiCX0sIC8qIDU5OTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTk5NSIJfSwgLyogNTk5NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181OTk2Igl9LCAvKiA1OTk2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU5OTciCX0sIC8qIDU5OTcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNTk5OCIJfSwgLyogNTk5OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU181OTk5Igl9LCAvKiA1OTk5ICovIC8qIGVuZCBvZiBMaW51eCBONjQgKi8KKworI2lmIGRlZmluZWQgKExJTlVYX01JUFNOMzIpCisJLyogRm9yIGFuIE4zMiBzdHJhY2UgZGVjb2RlIHRoZSBOMzIgNjQtYml0IHN5c2NhbGxzLiAgKi8KKwl7IDMsCVRGLAlzeXNfcmVhZCwJCSJyZWFkIgkJfSwgLyogNjAwMCAqLyAvKiBzdGFydCBvZiBMaW51eCBOMzIgKi8KKwl7IDMsCVRGLAlzeXNfd3JpdGUsCQkid3JpdGUiCQl9LCAvKiA2MDAxICovCisJeyAzLAlURiwJc3lzX29wZW4sCQkib3BlbiIJCX0sIC8qIDYwMDIgKi8KKwl7IDEsCTAsCXN5c19jbG9zZSwJCSJjbG9zZSIJCX0sIC8qIDYwMDMgKi8KKwl7IDIsCVRGLAlzeXNfc3RhdDY0LAkJInN0YXQiCQl9LCAvKiA2MDA0ICovCisJeyAyLAkwLAlzeXNfZnN0YXQ2NCwJCSJmc3RhdCIJCX0sIC8qIDYwMDUgKi8KKwl7IDIsCVRGLAlzeXNfbHN0YXQ2NCwJCSJsc3RhdCIJCX0sIC8qIDYwMDYgKi8KKwl7IDMsCTAsCXN5c19wb2xsLAkJInBvbGwiCQl9LCAvKiA2MDA3ICovCisJeyAzLAkwLAlzeXNfbHNlZWssCQkibHNlZWsiCQl9LCAvKiA2MDA4ICovCisJeyA2LAkwLAlzeXNfbW1hcCwJCSJtbWFwIgkJfSwgLyogNjAwOSAqLworCXsgMywJMCwJc3lzX21wcm90ZWN0LAkJIm1wcm90ZWN0Igl9LCAvKiA2MDEwICovCisJeyAyLAkwLAlzeXNfbXVubWFwLAkJIm11bm1hcCIJfSwgLyogNjAxMSAqLworCXsgMSwJMCwJc3lzX2JyaywJCSJicmsiCQl9LCAvKiA2MDEyICovCisJeyA0LAlUUywJc3lzX3J0X3NpZ2FjdGlvbiwJInJ0X3NpZ2FjdGlvbiIJfSwgLyogNjAxMyAqLworCXsgNCwJVFMsCXN5c19ydF9zaWdwcm9jbWFzaywJInJ0X3NpZ3Byb2NtYXNrIn0sIC8qIDYwMTQgKi8KKwl7IDMsCTAsCXN5c19pb2N0bCwJCSJpb2N0bCIJCX0sIC8qIDYwMTUgKi8KKwl7IDYsCVRGLAlzeXNfcHJlYWQ2NCwJCSJwcmVhZCIJCX0sIC8qIDYwMTYgKi8KKwl7IDYsCVRGLAlzeXNfcHdyaXRlNjQsCQkicHdyaXRlIgl9LCAvKiA2MDE3ICovCisJeyAzLAkwLAlzeXNfcmVhZHYsCQkicmVhZHYiCQl9LCAvKiA2MDE4ICovCisJeyAzLAkwLAlzeXNfd3JpdGV2LAkJIndyaXRldiIJfSwgLyogNjAxOSAqLworCXsgMiwJVEYsCXN5c19hY2Nlc3MsCQkiYWNjZXNzIgl9LCAvKiA2MDIwICovCisJeyAxLAkwLAlzeXNfcGlwZSwJCSJwaXBlIgkJfSwgLyogNjAyMSAqLworCXsgNSwJMCwJc3lzX3NlbGVjdCwJCSJfbmV3c2VsZWN0Igl9LCAvKiA2MDIyICovCisJeyAwLAkwLAlzeXNfc2NoZWRfeWllbGQsCSJzY2hlZF95aWVsZCIJfSwgLyogNjAyMyAqLworCXsgNSwJMCwJc3lzX21yZW1hcCwJCSJtcmVtYXAiCX0sIC8qIDYwMjQgKi8KKwl7IDMsCTAsCXN5c19tc3luYywJCSJtc3luYyIJCX0sIC8qIDYwMjUgKi8KKwl7IDMsCTAsCXByaW50YXJncywJCSJtaW5jb3JlIgl9LCAvKiA2MDI2ICovCisJeyAzLAkwLAlzeXNfbWFkdmlzZSwJCSJtYWR2aXNlIgl9LCAvKiA2MDI3ICovCisJeyAzLAlUSSwJc3lzX3NobWdldCwJCSJzaG1nZXQiCX0sIC8qIDYwMjggKi8KKwl7IDMsCVRJLAlzeXNfc2htYXQsCQkic2htZ2F0Igl9LCAvKiA2MDI5ICovCisJeyAzLAlUSSwJc3lzX3NobWN0bCwJCSJzaG1jdGwiCX0sIC8qIDYwMzAgKi8KKwl7IDEsCTAsCXN5c19kdXAsCQkiZHVwIgkJfSwgLyogNjAzMSAqLworCXsgMiwJMCwJc3lzX2R1cDIsCQkiZHVwMiIJCX0sIC8qIDYwMzIgKi8KKwl7IDAsCVRTLAlzeXNfcGF1c2UsCQkicGF1c2UiCQl9LCAvKiA2MDMzICovCisJeyAyLAkwLAlzeXNfbmFub3NsZWVwLAkJIm5hbm9zbGVlcCIJfSwgLyogNjAzNCAqLworCXsgMiwJMCwJc3lzX2dldGl0aW1lciwJCSJnZXRpdGltZXIiCX0sIC8qIDYwMzUgKi8KKwl7IDMsCTAsCXN5c19zZXRpdGltZXIsCQkic2V0aXRpbWVyIgl9LCAvKiA2MDM2ICovCisJeyAxLAkwLAlzeXNfYWxhcm0sCQkiYWxhcm0iCQl9LCAvKiA2MDM3ICovCisJeyAwLAkwLAlzeXNfZ2V0cGlkLAkJImdldHBpZCIJfSwgLyogNjAzOCAqLworCXsgNCwJVER8VE4sCXN5c19zZW5kZmlsZSwJCSJzZW5kZmlsZSIJfSwgLyogNjAzOSAqLworCXsgMiwJMCwJc3lzX3NvY2tldGNhbGwsCQkic29ja2V0Y2FsbCIJfSwgLyogNjA0MCAqLworCXsgMywJVE4sCXN5c19jb25uZWN0LAkJImNvbm5lY3QiCX0sIC8qIDYwNDEgKi8KKwl7IDMsCVROLAlzeXNfYWNjZXB0LAkJImFjY2VwdCIJfSwgLyogNjA0MiAqLworCXsgNiwJVE4sCXN5c19zZW5kdG8sCQkic2VuZHRvIgl9LCAvKiA2MDQzICovCisJeyA2LAlUTiwJc3lzX3JlY3Zmcm9tLAkJInJlY3Zmcm9tIgl9LCAvKiA2MDQ0ICovCisJeyAzLAlUTiwJc3lzX3NlbmRtc2csCQkic2VuZG1zZyIJfSwgLyogNjA0NSAqLworCXsgMywJVE4sCXN5c19yZWN2bXNnLAkJInJlY3Ztc2ciCX0sIC8qIDYwNDYgKi8KKwl7IDIsCVROLAlzeXNfc2h1dGRvd24sCQkic2h1dGRvd24iCX0sIC8qIDYwNDcgKi8KKwl7IDMsCVROLAlzeXNfYmluZCwJCSJiaW5kIgkJfSwgLyogNjA0OCAqLworCXsgMiwJVE4sCXN5c19saXN0ZW4sCQkibGlzdGVuIgl9LCAvKiA2MDQ5ICovCisJeyAzLAlUTiwJc3lzX2dldHNvY2tuYW1lLAkiZ2V0c29ja25hbWUiCX0sIC8qIDYwNTAgKi8KKwl7IDMsCVROLAlzeXNfZ2V0cGVlcm5hbWUsCSJnZXRwZWVybmFtZSIJfSwgLyogNjA1MSAqLworCXsgNCwJVE4sCXN5c19zb2NrZXRwYWlyLAkJInNvY2tldHBhaXIiCX0sIC8qIDYwNTIgKi8KKwl7IDUsCVROLAlzeXNfc2V0c29ja29wdCwJCSJzZXRzb2Nrb3B0Igl9LCAvKiA2MDUzICovCisJeyA1LAlUTiwJc3lzX2dldHNvY2tvcHQsCQkiZ2V0c29ja29wdCIJfSwgLyogNjA1NCAqLworCXsgMiwJVFAsCXN5c19jbG9uZSwJCSJjbG9uZSIJCX0sIC8qIDYwNTUgKi8KKwl7IDAsCVRQLAlzeXNfZm9yaywJCSJmb3JrIgkJfSwgLyogNjA1NiAqLworCXsgMywJVEZ8VFAsCXN5c19leGVjdmUsCQkiZXhlY3ZlIgl9LCAvKiA2MDU3ICovCisJeyAxLAlUUCwJc3lzX2V4aXQsCQkiZXhpdCIJCX0sIC8qIDYwNTggKi8KKwl7IDQsCVRQLAlzeXNfd2FpdDQsCQkid2FpdDQiCQl9LCAvKiA2MDU5ICovCisJeyAyLAlUUywJc3lzX2tpbGwsCQkia2lsbCIJCX0sIC8qIDYwNjAgKi8KKwl7IDEsCTAsCXN5c191bmFtZSwJCSJ1bmFtZSIJCX0sIC8qIDYwNjEgKi8KKwl7IDMsCVRJLAlzeXNfc2VtZ2V0LAkJInNlbWdldCIJfSwgLyogNjA2MiAqLworCXsgMywJVEksCXByaW50YXJncywJCSJzZW1vcCIJCX0sIC8qIDYwNjMgKi8KKwl7IDQsCVRJLAlzeXNfc2VtY3RsLAkJInNlbWN0bCIJfSwgLyogNjA2NCAqLworCXsgMSwJVEksCXN5c19zaG1kdCwJCSJzaG1kdCIJCX0sIC8qIDYwNjUgKi8KKwl7IDIsCVRJLAlzeXNfbXNnZ2V0LAkJIm1zZ2dldCIJfSwgLyogNjA2NiAqLworCXsgNCwJVEksCXN5c19tc2dzbmQsCQkibXNnc25kIgl9LCAvKiA2MDY3ICovCisJeyA1LAlUSSwJc3lzX21zZ3JjdiwJCSJtc2dyY3YiCX0sIC8qIDYwNjggKi8KKwl7IDMsCVRJLAlzeXNfbXNnY3RsLAkJIm1zZ2N0bCIJfSwgLyogNjA2OSAqLworCXsgMywJMCwJc3lzX2ZjbnRsLAkJImZjbnRsIgkJfSwgLyogNjA3MCAqLworCXsgMiwJMCwJc3lzX2Zsb2NrLAkJImZsb2NrIgkJfSwgLyogNjA3MSAqLworCXsgMSwJMCwJc3lzX2ZzeW5jLAkJImZzeW5jIgkJfSwgLyogNjA3MiAqLworCXsgMSwJMCwJc3lzX2ZkYXRhc3luYywJCSJmZGF0YXN5bmMiCX0sIC8qIDYwNzMgKi8KKwl7IDIsCVRGLAlzeXNfdHJ1bmNhdGUsCQkidHJ1bmNhdGUiCX0sIC8qIDYwNzQgKi8KKwl7IDIsCTAsCXN5c19mdHJ1bmNhdGUsCQkiZnRydW5jYXRlIgl9LCAvKiA2MDc1ICovCisJeyAzLAkwLAlzeXNfZ2V0ZGVudHMsCQkiZ2V0ZGVudHMiCX0sIC8qIDYwNzYgKi8KKwl7IDIsCVRGLAlzeXNfZ2V0Y3dkLAkJImdldGN3ZCIJfSwgLyogNjA3NyAqLworCXsgMSwJVEYsCXN5c19jaGRpciwJCSJjaGRpciIJCX0sIC8qIDYwNzggKi8KKwl7IDEsCVRGLAlzeXNfZmNoZGlyLAkJImZjaGRpciIJfSwgLyogNjA3OSAqLworCXsgMiwJVEYsCXN5c19yZW5hbWUsCQkicmVuYW1lIgl9LCAvKiA2MDgwICovCisJeyAyLAlURiwJc3lzX21rZGlyLAkJIm1rZGlyIgkJfSwgLyogNjA4MSAqLworCXsgMSwJVEYsCXN5c19ybWRpciwJCSJybWRpciIJCX0sIC8qIDYwODIgKi8KKwl7IDIsCVRGLAlzeXNfY3JlYXQsCQkiY3JlYXQiCQl9LCAvKiA2MDgzICovCisJeyAyLAlURiwJc3lzX2xpbmssCQkibGluayIJCX0sIC8qIDYwODQgKi8KKwl7IDEsCVRGLAlzeXNfdW5saW5rLAkJInVubGluayIJfSwgLyogNjA4NSAqLworCXsgMiwJVEYsCXN5c19zeW1saW5rLAkJInN5bWxpbmsiCX0sIC8qIDYwODYgKi8KKwl7IDMsCVRGLAlzeXNfcmVhZGxpbmssCQkicmVhZGxpbmsiCX0sIC8qIDYwODcgKi8KKwl7IDIsCVRGLAlzeXNfY2htb2QsCQkiY2htb2QiCQl9LCAvKiA2MDg4ICovCisJeyAyLAkwLAlzeXNfZmNobW9kLAkJImZjaG1vZCIJfSwgLyogNjA4OSAqLworCXsgMywJVEYsCXN5c19jaG93biwJCSJjaG93biIJCX0sIC8qIDYwOTAgKi8KKwl7IDMsCTAsCXN5c19mY2hvd24sCQkiZmNob3duIgl9LCAvKiA2MDkxICovCisJeyAzLAlURiwJc3lzX2Nob3duLAkJImxjaG93biIJfSwgLyogNjA5MiAqLworCXsgMSwJMCwJc3lzX3VtYXNrLAkJInVtYXNrIgkJfSwgLyogNjA5MyAqLworCXsgMiwJMCwJc3lzX2dldHRpbWVvZmRheSwJImdldHRpbWVvZmRheSIJfSwgLyogNjA5NCAqLworCXsgMiwJMCwJc3lzX2dldHJsaW1pdCwJCSJnZXRybGltaXQiCX0sIC8qIDYwOTUgKi8KKwl7IDIsCTAsCXN5c19nZXRydXNhZ2UsCQkiZ2V0cnVzYWdlIgl9LCAvKiA2MDk2ICovCisJeyAxLAkwLAlzeXNfc3lzaW5mbywJCSJzeXNpbmZvIgl9LCAvKiA2MDk3ICovCisJeyAxLAkwLAlzeXNfdGltZXMsCQkidGltZXMiCQl9LCAvKiA2MDk4ICovCisJeyA0LAkwLAlzeXNfcHRyYWNlLAkJInB0cmFjZSIJfSwgLyogNjA5OSAqLworCXsgMCwJMCwJc3lzX2dldHVpZCwJCSJnZXR1aWQiCX0sIC8qIDYxMDAgKi8KKwl7IDMsCTAsCXN5c19zeXNsb2csCQkic3lzbG9nIgl9LCAvKiA2MTAxICovCisJeyAwLAkwLAlzeXNfZ2V0Z2lkLAkJImdldGdpZCIJfSwgLyogNjEwMiAqLworCXsgMSwJMCwJc3lzX3NldHVpZCwJCSJzZXR1aWQiCX0sIC8qIDYxMDMgKi8KKwl7IDEsCTAsCXN5c19zZXRnaWQsCQkic2V0Z2lkIgl9LCAvKiA2MTA0ICovCisJeyAwLAkwLAlzeXNfZ2V0ZXVpZCwJCSJnZXRldWlkIgl9LCAvKiA2MTA1ICovCisJeyAwLAkwLAlzeXNfZ2V0ZWdpZCwJCSJnZXRlZ2lkIgl9LCAvKiA2MTA2ICovCisJeyAyLAkwLAlzeXNfc2V0cGdpZCwJCSJzZXRwZ2lkIgl9LCAvKiA2MTA3ICovCisJeyAwLAkwLAlzeXNfZ2V0cHBpZCwJCSJnZXRwcGlkIgl9LCAvKiA2MTA4ICovCisJeyAwLAkwLAlzeXNfZ2V0cGdycCwJCSJnZXRwZ3JwIgl9LCAvKiA2MTA5ICovCisJeyAwLAkwLAlzeXNfc2V0c2lkLAkJInNldHNpZCIJfSwgLyogNjExMCAqLworCXsgMiwJMCwJc3lzX3NldHJldWlkLAkJInNldHJldWlkIgl9LCAvKiA2MTExICovCisJeyAyLAkwLAlzeXNfc2V0cmVnaWQsCQkic2V0cmVnaWQiCX0sIC8qIDYxMTIgKi8KKwl7IDIsCTAsCXN5c19nZXRncm91cHMsCQkiZ2V0Z3JvdXBzIgl9LCAvKiA2MTEzICovCisJeyAyLAkwLAlzeXNfc2V0Z3JvdXBzLAkJInNldGdyb3VwcyIJfSwgLyogNjExNCAqLworCXsgMywJMCwJc3lzX3NldHJlc3VpZCwJCSJzZXRyZXN1aWQiCX0sIC8qIDYxMTUgKi8KKwl7IDMsCTAsCXN5c19nZXRyZXN1aWQsCQkiZ2V0cmVzdWlkIgl9LCAvKiA2MTE2ICovCisJeyAzLAkwLAlzeXNfc2V0cmVzZ2lkLAkJInNldHJlc2dpZCIJfSwgLyogNjExNyAqLworCXsgMywJMCwJc3lzX2dldHJlc2dpZCwJCSJnZXRyZXNnaWQiCX0sIC8qIDYxMTggKi8KKwl7IDAsCTAsCXN5c19nZXRwZ2lkLAkJImdldHBnaWQiCX0sIC8qIDYxMTkgKi8KKwl7IDEsCTAsCXN5c19zZXRmc3VpZCwJCSJzZXRmc3VpZCIJfSwgLyogNjEyMCAqLworCXsgMSwJMCwJc3lzX3NldGZzZ2lkLAkJInNldGZzZ2lkIgl9LCAvKiA2MTIxICovCisJeyAxLAkwLAlzeXNfZ2V0c2lkLAkJImdldHNpZCIJfSwgLyogNjEyMiAqLworCXsgMiwJMCwJc3lzX2NhcGdldCwJCSJjYXBnZXQiCX0sIC8qIDYxMjMgKi8KKwl7IDIsCTAsCXN5c19jYXBzZXQsCQkiY2Fwc2V0Igl9LCAvKiA2MTI0ICovCisJeyAyLAlUUywJc3lzX3J0X3NpZ3BlbmRpbmcsCSJydF9zaWdwZW5kaW5nIgl9LCAvKiA2MTI1ICovCisJeyA0LAlUUywJc3lzX3J0X3NpZ3RpbWVkd2FpdCwJInJ0X3NpZ3RpbWVkd2FpdCJ9LC8qIDYxMjYgKi8KKwl7IDMsCVRTLAlzeXNfcnRfc2lncXVldWVpbmZvLAkicnRfc2lncXVldWVpbmZvIn0sLyogNjEyNyAqLworCXsgMiwJVFMsCXN5c19ydF9zaWdzdXNwZW5kLAkicnRfc2lndXNwZW5kIgl9LCAvKiA2MTI4ICovCisJeyAyLAlUUywJc3lzX3NpZ2FsdHN0YWNrLAkic2lnYWx0c3RhdGNrIgl9LCAvKiA2MTI5ICovCisJeyAyLAlURiwJc3lzX3V0aW1lLAkJInV0aW1lIgkJfSwgLyogNjEzMCAqLworCXsgMywJVEYsCXN5c19ta25vZCwJCSJta25vZCIJCX0sIC8qIDYxMzEgKi8KKwl7IDEsCTAsCXN5c19wZXJzb25hbGl0eSwJInBlcnNvbmFsaXR5Igl9LCAvKiA2MTMyICovCisJeyAyLAkwLAlzeXNfdXN0YXQsCQkidXN0YXQiCQl9LCAvKiA2MTMzICovCisJeyAzLAkwLAlzeXNfc3RhdGZzLAkJInN0YXRmcyIJfSwgLyogNjEzNCAqLworCXsgMywJMCwJc3lzX2ZzdGF0ZnMsCQkiZnN0YXRmcyIJfSwgLyogNjEzNSAqLworCXsgNSwJMCwJc3lzX3N5c2ZzLAkJInN5c2ZzIgkJfSwgLyogNjEzNiAqLworCXsgMiwJMCwJc3lzX2dldHByaW9yaXR5LAkiZ2V0cHJpb3JpdHkiCX0sIC8qIDYxMzcgKi8KKwl7IDMsCTAsCXN5c19zZXRwcmlvcml0eSwJInNldHByaW9yaXR5Igl9LCAvKiA2MTM4ICovCisJeyAyLAkwLAlzeXNfc2NoZWRfc2V0cGFyYW0sCSJzY2hlZF9zZXRwYXJhbSJ9LCAvKiA2MTM5ICovCisJeyAyLAkwLAlzeXNfc2NoZWRfZ2V0cGFyYW0sCSJzY2hlZF9nZXRwYXJhbSJ9LCAvKiA2MTQwICovCisJeyAzLAkwLAlzeXNfc2NoZWRfc2V0c2NoZWR1bGVyLAkic2NoZWRfc2V0c2NoZWR1bGVyIn0sIC8qIDYxNDEgKi8KKwl7IDEsCTAsCXN5c19zY2hlZF9nZXRzY2hlZHVsZXIsCSJzY2hlZF9nZXRzY2hlZHVsZXIifSwgLyogNjE0MiAqLworCXsgMSwJMCwJc3lzX3NjaGVkX2dldF9wcmlvcml0eV9tYXgsInNjaGVkX2dldF9wcmlvcml0eV9tYXgifSwgLyogNjE0MyAqLworCXsgMSwJMCwJc3lzX3NjaGVkX2dldF9wcmlvcml0eV9taW4sInNjaGVkX2dldF9wcmlvcml0eV9taW4ifSwgLyogNjE0NCAqLworCXsgMiwJMCwJc3lzX3NjaGVkX3JyX2dldF9pbnRlcnZhbCwic2NoZWRfcnJfZ2V0X2ludGVydmFsIn0sIC8qIDYxNDUgKi8KKwl7IDIsCTAsCXN5c19tbG9jaywJCSJtbG9jayIJCX0sIC8qIDYxNDYgKi8KKwl7IDIsCTAsCXN5c19tdW5sb2NrLAkJIm11bmxvY2siCX0sIC8qIDYxNDcgKi8KKwl7IDEsCTAsCXN5c19tbG9ja2FsbCwJCSJtbG9ja2FsbCIJfSwgLyogNjE0OCAqLworCXsgMCwJMCwJc3lzX211bmxvY2thbGwsCQkibXVubG9ja2FsbCIJfSwgLyogNjE0OSAqLworCXsgMCwJMCwJc3lzX3ZoYW5ndXAsCQkidmhhbmd1cCIJfSwgLyogNjE1MCAqLworCXsgMiwJMCwJc3lzX3Bpdm90cm9vdCwJCSJwaXZvdF9yb290Igl9LCAvKiA2MTUxICovCisJeyAxLAkwLAlzeXNfc3lzY3RsLAkJIl9zeXNjdGwiCX0sIC8qIDYxNTIgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJwcmN0bCIJCX0sIC8qIDYxNTMgKi8KKwl7IDEsCTAsCXN5c19hZGp0aW1leCwJCSJhZGp0aW1leCIJfSwgLyogNjE1NCAqLworCXsgMiwJMCwJc3lzX3NldHJsaW1pdCwJCSJzZXRybGltaXQiCX0sIC8qIDYxNTUgKi8KKwl7IDEsCVRGLAlzeXNfY2hyb290LAkJImNocm9vdCIJfSwgLyogNjE1NiAqLworCXsgMCwJMCwJc3lzX3N5bmMsCQkic3luYyIJCX0sIC8qIDYxNTcgKi8KKwl7IDEsCVRGLAlzeXNfYWNjdCwJCSJhY2N0IgkJfSwgLyogNjE1OCAqLworCXsgMiwJMCwJc3lzX3NldHRpbWVvZmRheSwJInNldHRpbWVvZmRheSIJfSwgLyogNjE1OSAqLworCXsgNSwJVEYsCXN5c19tb3VudCwJCSJtb3VudCIJCX0sIC8qIDYxNjAgKi8KKwl7IDIsCVRGLAlzeXNfdW1vdW50MiwJCSJ1bW91bnQiCX0sIC8qIDYxNjEgKi8KKwl7IDEsCVRGLAlzeXNfc3dhcG9uLAkJInN3YXBvbiIJfSwgLyogNjE2MiAqLworCXsgMSwJMCwJc3lzX3N3YXBvZmYsCQkic3dhcG9mZiIJfSwgLyogNjE2MyAqLworCXsgMywJMCwJc3lzX3JlYm9vdCwJCSJyZWJvb3QiCX0sIC8qIDYxNjQgKi8KKwl7IDIsCTAsCXN5c19zZXRob3N0bmFtZSwJInNldGhvc3RuYW1lIgl9LCAvKiA2MTY1ICovCisJeyAyLAkwLAlzeXNfc2V0ZG9tYWlubmFtZSwJInNldGRvbWFpbm5hbWUiCX0sIC8qIDYxNjYgKi8KKwl7IDIsCTAsCXN5c19jcmVhdGVfbW9kdWxlLAkiY3JlYXRlX21vZHVsZSIJfSwgLyogNjE2NyAqLworCXsgNCwJMCwJc3lzX2luaXRfbW9kdWxlLAkiaW5pdF9tb2R1bGUiCX0sIC8qIDYxNjggKi8KKwl7IDEsCTAsCXN5c19kZWxldGVfbW9kdWxlLAkiZGVsZXRlX21vZHVsZSIJfSwgLyogNjE2OSAqLworCXsgMSwJMCwJc3lzX2dldF9rZXJuZWxfc3ltcywJImdldF9rZXJuZWxfc3ltcyJ9LCAvKiA2MTcwICovCisJeyA1LAkwLAlzeXNfcXVlcnlfbW9kdWxlLAkicXVlcnlfbW9kdWxlIgl9LCAvKiA2MTcxICovCisJeyA0LAkwLAlzeXNfcXVvdGFjdGwsCQkicXVvdGFjdGwiCX0sIC8qIDYxNzIgKi8KKwl7IDMsCTAsCXByaW50YXJncywJCSJuZnNzZXJ2Y3RsIgl9LCAvKiA2MTczICovCisJeyA1LAlUTiwJcHJpbnRhcmdzLAkJImdldHBtc2ciCX0sIC8qIDYxNzQgKi8KKwl7IDUsCVROLAlwcmludGFyZ3MsCQkicHV0cG1zZyIJfSwgLyogNjE3NSAqLworCXsgMCwJMCwJc3lzX2Fmc19zeXNjYWxsLAkiYWZzX3N5c2NhbGwiCX0sIC8qIDYxNzYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJyZXNlcnZlZDE3NyIJfSwgLyogNjE3NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImdldHRpZCIJfSwgLyogNjE3OCAqLworCXsgMywJMCwJc3lzX3JlYWRhaGVhZCwJCSJyZWFkYWhlYWQiCX0sIC8qIDYxNzkgKi8KKwl7IDUsCTAsCXN5c19zZXR4YXR0ciwJCSJzZXR4YXR0ciIJfSwgLyogNjE4MCAqLworCXsgNSwJMCwJc3lzX3NldHhhdHRyLAkJImxzZXR4YXR0ciIJfSwgLyogNjE4MSAqLworCXsgNSwJMCwJc3lzX2ZzZXR4YXR0ciwJCSJmc2V0eGF0dHIiCX0sIC8qIDYxODIgKi8KKwl7IDQsCTAsCXN5c19nZXR4YXR0ciwJCSJnZXR4YXR0ciIJfSwgLyogNjE4MyAqLworCXsgNCwJMCwJc3lzX2dldHhhdHRyLAkJImxnZXR4YXR0ciIJfSwgLyogNjE4NCAqLworCXsgNCwJMCwJc3lzX2ZnZXR4YXR0ciwJCSJmZ2V0eGF0dHIiCX0sIC8qIDYxODUgKi8KKwl7IDMsCTAsCXN5c19saXN0eGF0dHIsCQkibGlzdHhhdHRyIgl9LCAvKiA2MTg2ICovCisJeyAzLAkwLAlzeXNfbGlzdHhhdHRyLAkJImxsaXN0eGF0dHIiCX0sIC8qIDYxODcgKi8KKwl7IDMsCTAsCXN5c19mbGlzdHhhdHRyLAkJImZsaXN0eGF0dHIiCX0sIC8qIDYxODggKi8KKwl7IDIsCTAsCXN5c19yZW1vdmV4YXR0ciwJInJlbW92ZXhhdHRyIgl9LCAvKiA2MTg5ICovCisJeyAyLAkwLAlzeXNfcmVtb3ZleGF0dHIsCSJscmVtb3ZleGF0dHIiCX0sIC8qIDYxOTAgKi8KKwl7IDIsCTAsCXN5c19mcmVtb3ZleGF0dHIsCSJmcmVtb3ZleGF0dHIiCX0sIC8qIDYxOTEgKi8KKwl7IDIsCTAsCXN5c19raWxsLAkJInRraWxsIgkJfSwgLyogNjE5MiAqLworCXsgMSwJMCwJc3lzX3RpbWUsCQkidGltZSIJCX0sIC8qIDYxOTMgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJmdXRleCIJCX0sIC8qIDYxOTQgKi8KKwl7IDMsCTAsCXByaW50YXJncywJCSJzY2hlZF9zZXRhZmZpbml0eSJ9LCAvKiA2MTk1ICovCisJeyAzLAkwLAlwcmludGFyZ3MsCQkic2NoZWRfZ2V0YWZmaW5pdHkifSwgLyogNjE5NiAqLworCXsgMywJMCwJcHJpbnRhcmdzLAkJImNhY2hlZmx1c2giCX0sIC8qIDYxOTcgKi8KKwl7IDMsCTAsCXByaW50YXJncywJCSJjYWNoZWN0bCIJfSwgLyogNjE5OCAqLworCXsgNCwJMCwJc3lzX3N5c21pcHMsCQkic3lzbWlwcyIJfSwgLyogNjE5OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImlvX3NldHVwIgl9LCAvKiA2MjAwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiaW9fZGVzdHJveSIJfSwgLyogNjIwMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImlvX2dldGV2ZW50cyIJfSwgLyogNjIwMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImlvX3N1Ym1pdCIJfSwgLyogNjIwMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImlvX2NhbmNlbCIJfSwgLyogNjIwNCAqLworCXsgMSwJVFAsCXN5c19leGl0LAkJImV4aXRfZ3JvdXAifSwgLyogNjIwNSAqLworCXsgMywJMCwJcHJpbnRhcmdzLAkJImxvb2t1cF9kY29va2llIgl9LCAvKiA2MjA2ICovCisJeyAxLAkwLAlzeXNfZXBvbGxfY3JlYXRlLAkiZXBvbGxfY3JlYXRlIgl9LCAvKiA2MjA3ICovCisJeyA0LAlURCwJc3lzX2Vwb2xsX2N0bCwJCSJlcG9sbF9jdGwiCX0sIC8qIDYyMDggKi8KKwl7IDMsCVRELAlzeXNfZXBvbGxfd2FpdCwJCSJlcG9sbF93YWl0Igl9LCAvKiA2MjA5ICovCisJeyA1LAkwLAlzeXNfcmVtYXBfZmlsZV9wYWdlcywJInJlbWFwX2ZpbGVfcGFnZXMiCX0sIC8qIDYyMTAgKi8KKwl7IDEsCVRTLAlwcmludGFyZ3MsCQkicnRfc2lncmV0dXJuIgl9LCAvKiA2MjExICovCisJeyAzLAkwLAlzeXNfZmNudGwsCQkiZmNudGw2NCIJfSwgLyogNjIxMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInNldF90aWRfYWRkcmVzcyIJfSwgLyogNjIxMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInJlc3RhcnRfc3lzY2FsbCIJfSwgLyogNjIxNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJInNlbXRpbWVkb3AiCX0sIC8qIDYyMTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJmYWR2aXNlNjQiCX0sIC8qIDYyMTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJzdGF0ZnM2NCIJfSwgLyogNjIxNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImZzdGF0ZnM2NCIJfSwgLyogNjIxOCAqLworCXsgNCwJVER8VE4sCXByaW50YXJncywJCSJzZW5kZmlsZTY0Igl9LCAvKiA2MjE5ICovCisJeyAzLAkwLAlwcmludGFyZ3MsCQkidGltZXJfY3JlYXRlIgl9LCAvKiA2MjIwICovCisJeyA0LAkwLAlwcmludGFyZ3MsCQkidGltZXJfc2V0dGltZSIJfSwgLyogNjIyMSAqLworCXsgMiwJMCwJcHJpbnRhcmdzLAkJInRpbWVyX2dldHRpbWUiCX0sIC8qIDYyMjIgKi8KKwl7IDEsCTAsCXByaW50YXJncywJCSJ0aW1lcl9nZXRvdmVycnVuIgl9LCAvKiA2MjIzICovCisJeyAxLAkwLAlwcmludGFyZ3MsCQkidGltZXJfZGVsZXRlIgl9LCAvKiA2MjI0ICovCisJeyAyLAkwLAlwcmludGFyZ3MsCQkiY2xvY2tfc2V0dGltZSIJfSwgLyogNjIyNSAqLworCXsgMiwJMCwJcHJpbnRhcmdzLAkJImNsb2NrX2dldHRpbWUiCX0sIC8qIDYyMjYgKi8KKwl7IDIsCTAsCXByaW50YXJncywJCSJjbG9ja19nZXRyZXMiCX0sIC8qIDYyMjcgKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJjbG9ja19uYW5vc2xlZXAiCX0sIC8qIDYyMjggKi8KKwl7IDMsCTAsCXByaW50YXJncywJCSJ0Z2tpbGwiCX0sIC8qIDYyMjkgKi8KKwl7IDIsCTAsCXByaW50YXJncywJCSJ1dGltZXMiCX0sIC8qIDYyMzAgKi8KKyNlbHNlCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjMyX3JlYWQiCQl9LCAvKiA2MDAwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjMyX3dyaXRlIgkJfSwgLyogNjAwMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9vcGVuIgkJfSwgLyogNjAwMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9jbG9zZSIJCX0sIC8qIDYwMDMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfc3RhdCIJCX0sIC8qIDYwMDQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfZnN0YXQiCQl9LCAvKiA2MDA1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjMyX2xzdGF0IgkJfSwgLyogNjAwNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9wb2xsIgkJfSwgLyogNjAwNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9sc2VlayIJCX0sIC8qIDYwMDggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfbW1hcCIJCX0sIC8qIDYwMDkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfbXByb3RlY3QiCQl9LCAvKiA2MDEwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjMyX211bm1hcCIJCX0sIC8qIDYwMTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfYnJrIgkJfSwgLyogNjAxMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9ydF9zaWdhY3Rpb24iCX0sIC8qIDYwMTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfcnRfc2lncHJvY21hc2siCX0sIC8qIDYwMTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfaW9jdGwiCQl9LCAvKiA2MDE1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjMyX3ByZWFkIgkJfSwgLyogNjAxNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9wd3JpdGUiCQl9LCAvKiA2MDE3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjMyX3JlYWR2IgkJfSwgLyogNjAxOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl93cml0ZXYiCQl9LCAvKiA2MDE5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjMyX2FjY2VzcyIJCX0sIC8qIDYwMjAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfcGlwZSIJCX0sIC8qIDYwMjEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfX25ld3NlbGVjdCIJfSwgLyogNjAyMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9zY2hlZF95aWVsZCIJfSwgLyogNjAyMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9tcmVtYXAiCQl9LCAvKiA2MDI0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjMyX21zeW5jIgkJfSwgLyogNjAyNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9taW5jb3JlIgkJfSwgLyogNjAyNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9tYWR2aXNlIgkJfSwgLyogNjAyNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9zaG1nZXQiCQl9LCAvKiA2MDI4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjMyX3NobWdhdCIJCX0sIC8qIDYwMjkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfc2htY3RsIgkJfSwgLyogNjAzMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9kdXAiCQl9LCAvKiA2MDMxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjMyX2R1cDIiCQl9LCAvKiA2MDMyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjMyX3BhdXNlIgkJfSwgLyogNjAzMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9uYW5vc2xlZXAiCQl9LCAvKiA2MDM0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjMyX2dldGl0aW1lciIJCX0sIC8qIDYwMzUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfc2V0aXRpbWVyIgkJfSwgLyogNjAzNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9hbGFybSIJCX0sIC8qIDYwMzcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfZ2V0cGlkIgkJfSwgLyogNjAzOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9zZW5kZmlsZSIJCX0sIC8qIDYwMzkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfc29ja2V0Y2FsbCIJfSwgLyogNjA0MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9jb25uZWN0IgkJfSwgLyogNjA0MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9hY2NlcHQiCQl9LCAvKiA2MDQyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjMyX3NlbmR0byIJCX0sIC8qIDYwNDMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfcmVjdmZyb20iCQl9LCAvKiA2MDQ0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjMyX3NlbmRtc2ciCQl9LCAvKiA2MDQ1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjMyX3JlY3Ztc2ciCQl9LCAvKiA2MDQ2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjMyX3NodXRkb3duIgkJfSwgLyogNjA0NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9iaW5kIgkJfSwgLyogNjA0OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9saXN0ZW4iCQl9LCAvKiA2MDQ5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjMyX2dldHNvY2tuYW1lIgl9LCAvKiA2MDUwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjMyX2dldHBlZXJuYW1lIgl9LCAvKiA2MDUxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjMyX3NvY2tldHBhaXIiCX0sIC8qIDYwNTIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfc2V0c29ja29wdCIJfSwgLyogNjA1MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9nZXRzb2Nrb3B0Igl9LCAvKiA2MDU0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjMyX2Nsb25lIgkJfSwgLyogNjA1NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9mb3JrIgkJfSwgLyogNjA1NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9leGVjdmUiCQl9LCAvKiA2MDU3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjMyX2V4aXQiCQl9LCAvKiA2MDU4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjMyX3dhaXQ0IgkJfSwgLyogNjA1OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9raWxsIgkJfSwgLyogNjA2MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl91bmFtZSIJCX0sIC8qIDYwNjEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfc2VtZ2V0IgkJfSwgLyogNjA2MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9zZW1vcCIJCX0sIC8qIDYwNjMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfc2VtY3RsIgkJfSwgLyogNjA2NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9zaG1kdCIJCX0sIC8qIDYwNjUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfbXNnZ2V0IgkJfSwgLyogNjA2NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9tc2dzbmQiCQl9LCAvKiA2MDY3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjMyX21zZ3JjdiIJCX0sIC8qIDYwNjggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfbXNnY3RsIgkJfSwgLyogNjA2OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9mY250bCIJCX0sIC8qIDYwNzAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfZmxvY2siCQl9LCAvKiA2MDcxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjMyX2ZzeW5jIgkJfSwgLyogNjA3MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9mZGF0YXN5bmMiCQl9LCAvKiA2MDczICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjMyX3RydW5jYXRlIgkJfSwgLyogNjA3NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9mdHJ1bmNhdGUiCQl9LCAvKiA2MDc1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjMyX2dldGRlbnRzIgkJfSwgLyogNjA3NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9nZXRjd2QiCQl9LCAvKiA2MDc3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjMyX2NoZGlyIgkJfSwgLyogNjA3OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9mY2hkaXIiCQl9LCAvKiA2MDc5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjMyX3JlbmFtZSIJCX0sIC8qIDYwODAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfbWtkaXIiCQl9LCAvKiA2MDgxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjMyX3JtZGlyIgkJfSwgLyogNjA4MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9jcmVhdCIJCX0sIC8qIDYwODMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfbGluayIJCX0sIC8qIDYwODQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfdW5saW5rIgkJfSwgLyogNjA4NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9zeW1saW5rIgkJfSwgLyogNjA4NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9yZWFkbGluayIJCX0sIC8qIDYwODcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfY2htb2QiCQl9LCAvKiA2MDg4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjMyX2ZjaG1vZCIJCX0sIC8qIDYwODkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfY2hvd24iCQl9LCAvKiA2MDkwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjMyX2ZjaG93biIJCX0sIC8qIDYwOTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfbGNob3duIgkJfSwgLyogNjA5MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl91bWFzayIJCX0sIC8qIDYwOTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfZ2V0dGltZW9mZGF5Igl9LCAvKiA2MDk0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjMyX2dldHJsaW1pdCIJCX0sIC8qIDYwOTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfZ2V0cnVzYWdlIgkJfSwgLyogNjA5NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9zeXNpbmZvIgkJfSwgLyogNjA5NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl90aW1lcyIJCX0sIC8qIDYwOTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfcHRyYWNlIgkJfSwgLyogNjA5OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9nZXR1aWQiCQl9LCAvKiA2MTAwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjMyX3N5c2xvZyIJCX0sIC8qIDYxMDEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfZ2V0Z2lkIgkJfSwgLyogNjEwMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9zZXR1aWQiCQl9LCAvKiA2MTAzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjMyX3NldGdpZCIJCX0sIC8qIDYxMDQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfZ2V0ZXVpZCIJCX0sIC8qIDYxMDUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfZ2V0ZWdpZCIJCX0sIC8qIDYxMDYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfc2V0cGdpZCIJCX0sIC8qIDYxMDcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfZ2V0cHBpZCIJCX0sIC8qIDYxMDggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfZ2V0cGdycCIJCX0sIC8qIDYxMDkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfc2V0c2lkIgkJfSwgLyogNjExMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9zZXRyZXVpZCIJCX0sIC8qIDYxMTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfc2V0cmVnaWQiCQl9LCAvKiA2MTEyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjMyX2dldGdyb3VwcyIJCX0sIC8qIDYxMTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfc2V0Z3JvdXBzIgkJfSwgLyogNjExNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9zZXRyZXN1aWQiCQl9LCAvKiA2MTE1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjMyX2dldHJlc3VpZCIJCX0sIC8qIDYxMTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfc2V0cmVzZ2lkIgkJfSwgLyogNjExNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9nZXRyZXNnaWQiCQl9LCAvKiA2MTE4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjMyX2dldHBnaWQiCQl9LCAvKiA2MTE5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjMyX3NldGZzdWlkIgkJfSwgLyogNjEyMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9zZXRmc2dpZCIJCX0sIC8qIDYxMjEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfZ2V0c2lkIgkJfSwgLyogNjEyMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9jYXBnZXQiCQl9LCAvKiA2MTIzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjMyX2NhcHNldCIJCX0sIC8qIDYxMjQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfcnRfc2lncGVuZGluZyIJfSwgLyogNjEyNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9ydF9zaWd0aW1lZHdhaXQiCX0sIC8qIDYxMjYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfcnRfc2lncXVldWVpbmZvIgl9LCAvKiA2MTI3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjMyX3J0X3NpZ3VzcGVuZCIJfSwgLyogNjEyOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9zaWdhbHRzdGF0Y2siCX0sIC8qIDYxMjkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfdXRpbWUiCQl9LCAvKiA2MTMwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjMyX21rbm9kIgkJfSwgLyogNjEzMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9wZXJzb25hbGl0eSIJfSwgLyogNjEzMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl91c3RhdCIJCX0sIC8qIDYxMzMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfc3RhdGZzIgkJfSwgLyogNjEzNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9mc3RhdGZzIgkJfSwgLyogNjEzNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9zeXNmcyIJCX0sIC8qIDYxMzYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfZ2V0cHJpb3JpdHkiCX0sIC8qIDYxMzcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfc2V0cHJpb3JpdHkiCX0sIC8qIDYxMzggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfc2NoZWRfc2V0cGFyYW0iCX0sIC8qIDYxMzkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfc2NoZWRfZ2V0cGFyYW0iCX0sIC8qIDYxNDAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfc2NoZWRfc2V0c2NoZWR1bGVyIn0sIC8qIDYxNDEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfc2NoZWRfZ2V0c2NoZWR1bGVyIn0sIC8qIDYxNDIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfc2NoZWRfZ2V0X3ByaW9yaXR5X21heCJ9LCAvKiA2MTQzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjMyX3NjaGVkX2dldF9wcmlvcml0eV9taW4ifSwgLyogNjE0NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9zY2hlZF9ycl9nZXRfaW50ZXJ2YWwifSwgLyogNjE0NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9tbG9jayIJCX0sIC8qIDYxNDYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfbXVubG9jayIJCX0sIC8qIDYxNDcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfbWxvY2thbGwiCQl9LCAvKiA2MTQ4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjMyX211bmxvY2thbGwiCX0sIC8qIDYxNDkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfdmhhbmd1cCIJCX0sIC8qIDYxNTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfcGl2b3Rfcm9vdCIJfSwgLyogNjE1MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9fc3lzY3RsIgkJfSwgLyogNjE1MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9wcmN0bCIJCX0sIC8qIDYxNTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfYWRqdGltZXgiCQl9LCAvKiA2MTU0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjMyX3NldHJsaW1pdCIJCX0sIC8qIDYxNTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfY2hyb290IgkJfSwgLyogNjE1NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9zeW5jIgkJfSwgLyogNjE1NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9hY2N0IgkJfSwgLyogNjE1OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9zZXR0aW1lb2ZkYXkiCX0sIC8qIDYxNTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfbW91bnQiCQl9LCAvKiA2MTYwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjMyX3Vtb3VudCIJCX0sIC8qIDYxNjEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfc3dhcG9uIgkJfSwgLyogNjE2MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9zd2Fwb2ZmIgkJfSwgLyogNjE2MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9yZWJvb3QiCQl9LCAvKiA2MTY0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjMyX3NldGhvc3RuYW1lIgl9LCAvKiA2MTY1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjMyX3NldGRvbWFpbm5hbWUiCX0sIC8qIDYxNjYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfY3JlYXRlX21vZHVsZSIJfSwgLyogNjE2NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9pbml0X21vZHVsZSIJfSwgLyogNjE2OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9kZWxldGVfbW9kdWxlIgl9LCAvKiA2MTY5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjMyX2dldF9rZXJuZWxfc3ltcyIJfSwgLyogNjE3MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9xdWVyeV9tb2R1bGUiCX0sIC8qIDYxNzEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfcXVvdGFjdGwiCQl9LCAvKiA2MTcyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjMyX25mc3NlcnZjdGwiCX0sIC8qIDYxNzMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfZ2V0cG1zZyIJCX0sIC8qIDYxNzQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfcHV0cG1zZyIJCX0sIC8qIDYxNzUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfYWZzX3N5c2NhbGwiCX0sIC8qIDYxNzYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfcmVzZXJ2ZWQxNzciCX0sIC8qIDYxNzcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfZ2V0dGlkIgkJfSwgLyogNjE3OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9yZWFkYWhlYWQiCQl9LCAvKiA2MTc5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjMyX3NldHhhdHRyIgkJfSwgLyogNjE4MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9sc2V0eGF0dHIiCQl9LCAvKiA2MTgxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjMyX2ZzZXR4YXR0ciIJCX0sIC8qIDYxODIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfZ2V0eGF0dHIiCQl9LCAvKiA2MTgzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjMyX2xnZXR4YXR0ciIJCX0sIC8qIDYxODQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfZmdldHhhdHRyIgkJfSwgLyogNjE4NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9saXN0eGF0dHIiCQl9LCAvKiA2MTg2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjMyX2xsaXN0eGF0dHIiCX0sIC8qIDYxODcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfZmxpc3R4YXR0ciIJfSwgLyogNjE4OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9yZW1vdmV4YXR0ciIJfSwgLyogNjE4OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9scmVtb3ZleGF0dHIiCX0sIC8qIDYxOTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfZnJlbW92ZXhhdHRyIgl9LCAvKiA2MTkxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjMyX3RraWxsIgkJfSwgLyogNjE5MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl90aW1lIgkJfSwgLyogNjE5MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9mdXRleCIJCX0sIC8qIDYxOTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfc2NoZWRfc2V0YWZmaW5pdHkiCX0sIC8qIDYxOTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfc2NoZWRfZ2V0YWZmaW5pdHkiCX0sIC8qIDYxOTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfY2FjaGVmbHVzaCIJfSwgLyogNjE5NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9jYWNoZWN0bCIJCX0sIC8qIDYxOTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfc3lzbWlwcyIJCX0sIC8qIDYxOTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfaW9fc2V0dXAiCQl9LCAvKiA2MjAwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjMyX2lvX2Rlc3Ryb3kiCX0sIC8qIDYyMDEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfaW9fZ2V0ZXZlbnRzIgl9LCAvKiA2MjAyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjMyX2lvX3N1Ym1pdCIJCX0sIC8qIDYyMDMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfaW9fY2FuY2VsIgkJfSwgLyogNjIwNCAqLworCXsgMSwJVFAsCXByaW50YXJncywJCSJuMzJfZXhpdF9ncm91cCIJfSwgLyogNjIwNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9sb29rdXBfZGNvb2tpZSIJfSwgLyogNjIwNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9lcG9sbF9jcmVhdGUiCX0sIC8qIDYyMDcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfZXBvbGxfY3RsIgkJfSwgLyogNjIwOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9lcG9sbF93YWl0Igl9LCAvKiA2MjA5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjMyX3JlbWFwX2ZpbGVfcGFnZXMiCX0sIC8qIDYyMTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfcnRfc2lncmV0dXJuIgl9LCAvKiA2MjExICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjMyX2ZjbnRsNjQiCQl9LCAvKiA2MjEyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjMyX3NldF90aWRfYWRkcmVzcyIJfSwgLyogNjIxMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9yZXN0YXJ0X3N5c2NhbGwiCX0sIC8qIDYyMTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJuMzJfc2VtdGltZWRvcCIJfSwgLyogNjIxNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9mYWR2aXNlNjQiCQl9LCAvKiA2MjE2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjMyX3N0YXRmczY0IgkJfSwgLyogNjIxNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIm4zMl9mc3RhdGZzNjQiCQl9LCAvKiA2MjE4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkibjMyX3NlbmRmaWxlNjQiCX0sIC8qIDYyMTkgKi8KKwl7IDMsCTAsCXByaW50YXJncywJCSJuMzJfdGltZXJfY3JlYXRlIgl9LCAvKiA2MjIwICovCisJeyA0LAkwLAlwcmludGFyZ3MsCQkibjMyX3RpbWVyX3NldHRpbWUiCX0sIC8qIDYyMjEgKi8KKwl7IDIsCTAsCXByaW50YXJncywJCSJuMzJfdGltZXJfZ2V0dGltZSIJfSwgLyogNjIyMiAqLworCXsgMSwJMCwJcHJpbnRhcmdzLAkJIm4zMl90aW1lcl9nZXRvdmVycnVuIgl9LCAvKiA2MjIzICovCisJeyAxLAkwLAlwcmludGFyZ3MsCQkibjMyX3RpbWVyX2RlbGV0ZSIJfSwgLyogNjIyNCAqLworCXsgMiwJMCwJcHJpbnRhcmdzLAkJIm4zMl9jbG9ja19zZXR0aW1lIgl9LCAvKiA2MjI1ICovCisJeyAyLAkwLAlwcmludGFyZ3MsCQkibjMyX2Nsb2NrX2dldHRpbWUiCX0sIC8qIDYyMjYgKi8KKwl7IDIsCTAsCXByaW50YXJncywJCSJuMzJfY2xvY2tfZ2V0cmVzIgl9LCAvKiA2MjI3ICovCisJeyA0LAkwLAlwcmludGFyZ3MsCQkibjMyX2Nsb2NrX25hbm9zbGVlcCIJfSwgLyogNjIyOCAqLworCXsgMywJMCwJcHJpbnRhcmdzLAkJIm4zMl90Z2tpbGwiCQl9LCAvKiA2MjI5ICovCisJeyAyLAkwLAlwcmludGFyZ3MsCQkibjMyX3V0aW1lcyIJCX0sIC8qIDYyMzAgKi8KKyNlbmRpZgorCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182MjMxIgl9LCAvKiA2MjMxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYyMzIiCX0sIC8qIDYyMzIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjIzMyIJfSwgLyogNjIzMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182MjM0Igl9LCAvKiA2MjM0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYyMzUiCX0sIC8qIDYyMzUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjIzNiIJfSwgLyogNjIzNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182MjM3Igl9LCAvKiA2MjM3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYyMzgiCX0sIC8qIDYyMzggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjIzOSIJfSwgLyogNjIzOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182MjQwIgl9LCAvKiA2MjQwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYyNDEiCX0sIC8qIDYyNDEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjI0MiIJfSwgLyogNjI0MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182MjQzIgl9LCAvKiA2MjQzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYyNDQiCX0sIC8qIDYyNDQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjI0NSIJfSwgLyogNjI0NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182MjQ2Igl9LCAvKiA2MjQ2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYyNDciCX0sIC8qIDYyNDcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjI0OCIJfSwgLyogNjI0OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182MjQ5Igl9LCAvKiA2MjQ5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYyNTAiCX0sIC8qIDYyNTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjI1MSIJfSwgLyogNjI1MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182MjUyIgl9LCAvKiA2MjUyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYyNTMiCX0sIC8qIDYyNTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjI1NCIJfSwgLyogNjI1NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182MjU1Igl9LCAvKiA2MjU1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYyNTYiCX0sIC8qIDYyNTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjI1NyIJfSwgLyogNjI1NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182MjU4Igl9LCAvKiA2MjU4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYyNTkiCX0sIC8qIDYyNTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjI2MCIJfSwgLyogNjI2MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182MjYxIgl9LCAvKiA2MjYxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYyNjIiCX0sIC8qIDYyNjIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjI2MyIJfSwgLyogNjI2MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182MjY0Igl9LCAvKiA2MjY0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYyNjUiCX0sIC8qIDYyNjUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjI2NiIJfSwgLyogNjI2NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182MjY3Igl9LCAvKiA2MjY3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYyNjgiCX0sIC8qIDYyNjggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjI2OSIJfSwgLyogNjI2OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182MjcwIgl9LCAvKiA2MjcwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYyNzEiCX0sIC8qIDYyNzEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjI3MiIJfSwgLyogNjI3MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182MjczIgl9LCAvKiA2MjczICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYyNzQiCX0sIC8qIDYyNzQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjI3NSIJfSwgLyogNjI3NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182Mjc2Igl9LCAvKiA2Mjc2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYyNzciCX0sIC8qIDYyNzcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjI3OCIJfSwgLyogNjI3OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182Mjc5Igl9LCAvKiA2Mjc5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYyODAiCX0sIC8qIDYyODAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjI4MSIJfSwgLyogNjI4MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182MjgyIgl9LCAvKiA2MjgyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYyODMiCX0sIC8qIDYyODMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjI4NCIJfSwgLyogNjI4NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182Mjg1Igl9LCAvKiA2Mjg1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYyODYiCX0sIC8qIDYyODYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjI4NyIJfSwgLyogNjI4NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182Mjg4Igl9LCAvKiA2Mjg4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYyODkiCX0sIC8qIDYyODkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjI5MCIJfSwgLyogNjI5MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182MjkxIgl9LCAvKiA2MjkxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYyOTIiCX0sIC8qIDYyOTIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjI5MyIJfSwgLyogNjI5MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182Mjk0Igl9LCAvKiA2Mjk0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYyOTUiCX0sIC8qIDYyOTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjI5NiIJfSwgLyogNjI5NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182Mjk3Igl9LCAvKiA2Mjk3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYyOTgiCX0sIC8qIDYyOTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjI5OSIJfSwgLyogNjI5OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182MzAwIgl9LCAvKiA2MzAwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYzMDEiCX0sIC8qIDYzMDEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjMwMiIJfSwgLyogNjMwMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182MzAzIgl9LCAvKiA2MzAzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYzMDQiCX0sIC8qIDYzMDQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjMwNSIJfSwgLyogNjMwNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182MzA2Igl9LCAvKiA2MzA2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYzMDciCX0sIC8qIDYzMDcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjMwOCIJfSwgLyogNjMwOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182MzA5Igl9LCAvKiA2MzA5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYzMTAiCX0sIC8qIDYzMTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjMxMSIJfSwgLyogNjMxMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182MzEyIgl9LCAvKiA2MzEyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYzMTMiCX0sIC8qIDYzMTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjMxNCIJfSwgLyogNjMxNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182MzE1Igl9LCAvKiA2MzE1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYzMTYiCX0sIC8qIDYzMTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjMxNyIJfSwgLyogNjMxNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182MzE4Igl9LCAvKiA2MzE4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYzMTkiCX0sIC8qIDYzMTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjMyMCIJfSwgLyogNjMyMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182MzIxIgl9LCAvKiA2MzIxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYzMjIiCX0sIC8qIDYzMjIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjMyMyIJfSwgLyogNjMyMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182MzI0Igl9LCAvKiA2MzI0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYzMjUiCX0sIC8qIDYzMjUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjMyNiIJfSwgLyogNjMyNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182MzI3Igl9LCAvKiA2MzI3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYzMjgiCX0sIC8qIDYzMjggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjMyOSIJfSwgLyogNjMyOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182MzMwIgl9LCAvKiA2MzMwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYzMzEiCX0sIC8qIDYzMzEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjMzMiIJfSwgLyogNjMzMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182MzMzIgl9LCAvKiA2MzMzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYzMzQiCX0sIC8qIDYzMzQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjMzNSIJfSwgLyogNjMzNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182MzM2Igl9LCAvKiA2MzM2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYzMzciCX0sIC8qIDYzMzcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjMzOCIJfSwgLyogNjMzOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182MzM5Igl9LCAvKiA2MzM5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYzNDAiCX0sIC8qIDYzNDAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjM0MSIJfSwgLyogNjM0MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182MzQyIgl9LCAvKiA2MzQyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYzNDMiCX0sIC8qIDYzNDMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjM0NCIJfSwgLyogNjM0NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182MzQ1Igl9LCAvKiA2MzQ1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYzNDYiCX0sIC8qIDYzNDYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjM0NyIJfSwgLyogNjM0NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182MzQ4Igl9LCAvKiA2MzQ4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYzNDkiCX0sIC8qIDYzNDkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjM1MCIJfSwgLyogNjM1MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182MzUxIgl9LCAvKiA2MzUxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYzNTIiCX0sIC8qIDYzNTIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjM1MyIJfSwgLyogNjM1MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182MzU0Igl9LCAvKiA2MzU0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYzNTUiCX0sIC8qIDYzNTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjM1NiIJfSwgLyogNjM1NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182MzU3Igl9LCAvKiA2MzU3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYzNTgiCX0sIC8qIDYzNTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjM1OSIJfSwgLyogNjM1OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182MzYwIgl9LCAvKiA2MzYwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYzNjEiCX0sIC8qIDYzNjEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjM2MiIJfSwgLyogNjM2MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182MzYzIgl9LCAvKiA2MzYzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYzNjQiCX0sIC8qIDYzNjQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjM2NSIJfSwgLyogNjM2NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182MzY2Igl9LCAvKiA2MzY2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYzNjciCX0sIC8qIDYzNjcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjM2OCIJfSwgLyogNjM2OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182MzY5Igl9LCAvKiA2MzY5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYzNzAiCX0sIC8qIDYzNzAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjM3MSIJfSwgLyogNjM3MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182MzcyIgl9LCAvKiA2MzcyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYzNzMiCX0sIC8qIDYzNzMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjM3NCIJfSwgLyogNjM3NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182Mzc1Igl9LCAvKiA2Mzc1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYzNzYiCX0sIC8qIDYzNzYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjM3NyIJfSwgLyogNjM3NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182Mzc4Igl9LCAvKiA2Mzc4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYzNzkiCX0sIC8qIDYzNzkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjM4MCIJfSwgLyogNjM4MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182MzgxIgl9LCAvKiA2MzgxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYzODIiCX0sIC8qIDYzODIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjM4MyIJfSwgLyogNjM4MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182Mzg0Igl9LCAvKiA2Mzg0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYzODUiCX0sIC8qIDYzODUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjM4NiIJfSwgLyogNjM4NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182Mzg3Igl9LCAvKiA2Mzg3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYzODgiCX0sIC8qIDYzODggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjM4OSIJfSwgLyogNjM4OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182MzkwIgl9LCAvKiA2MzkwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYzOTEiCX0sIC8qIDYzOTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjM5MiIJfSwgLyogNjM5MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182MzkzIgl9LCAvKiA2MzkzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYzOTQiCX0sIC8qIDYzOTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjM5NSIJfSwgLyogNjM5NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182Mzk2Igl9LCAvKiA2Mzk2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzYzOTciCX0sIC8qIDYzOTcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjM5OCIJfSwgLyogNjM5OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182Mzk5Igl9LCAvKiA2Mzk5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY0MDAiCX0sIC8qIDY0MDAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjQwMSIJfSwgLyogNjQwMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NDAyIgl9LCAvKiA2NDAyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY0MDMiCX0sIC8qIDY0MDMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjQwNCIJfSwgLyogNjQwNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NDA1Igl9LCAvKiA2NDA1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY0MDYiCX0sIC8qIDY0MDYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjQwNyIJfSwgLyogNjQwNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NDA4Igl9LCAvKiA2NDA4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY0MDkiCX0sIC8qIDY0MDkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjQxMCIJfSwgLyogNjQxMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NDExIgl9LCAvKiA2NDExICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY0MTIiCX0sIC8qIDY0MTIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjQxMyIJfSwgLyogNjQxMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NDE0Igl9LCAvKiA2NDE0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY0MTUiCX0sIC8qIDY0MTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjQxNiIJfSwgLyogNjQxNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NDE3Igl9LCAvKiA2NDE3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY0MTgiCX0sIC8qIDY0MTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjQxOSIJfSwgLyogNjQxOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NDIwIgl9LCAvKiA2NDIwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY0MjEiCX0sIC8qIDY0MjEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjQyMiIJfSwgLyogNjQyMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NDIzIgl9LCAvKiA2NDIzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY0MjQiCX0sIC8qIDY0MjQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjQyNSIJfSwgLyogNjQyNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NDI2Igl9LCAvKiA2NDI2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY0MjciCX0sIC8qIDY0MjcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjQyOCIJfSwgLyogNjQyOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NDI5Igl9LCAvKiA2NDI5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY0MzAiCX0sIC8qIDY0MzAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjQzMSIJfSwgLyogNjQzMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NDMyIgl9LCAvKiA2NDMyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY0MzMiCX0sIC8qIDY0MzMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjQzNCIJfSwgLyogNjQzNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NDM1Igl9LCAvKiA2NDM1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY0MzYiCX0sIC8qIDY0MzYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjQzNyIJfSwgLyogNjQzNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NDM4Igl9LCAvKiA2NDM4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY0MzkiCX0sIC8qIDY0MzkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjQ0MCIJfSwgLyogNjQ0MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NDQxIgl9LCAvKiA2NDQxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY0NDIiCX0sIC8qIDY0NDIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjQ0MyIJfSwgLyogNjQ0MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NDQ0Igl9LCAvKiA2NDQ0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY0NDUiCX0sIC8qIDY0NDUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjQ0NiIJfSwgLyogNjQ0NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NDQ3Igl9LCAvKiA2NDQ3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY0NDgiCX0sIC8qIDY0NDggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjQ0OSIJfSwgLyogNjQ0OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NDUwIgl9LCAvKiA2NDUwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY0NTEiCX0sIC8qIDY0NTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjQ1MiIJfSwgLyogNjQ1MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NDUzIgl9LCAvKiA2NDUzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY0NTQiCX0sIC8qIDY0NTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjQ1NSIJfSwgLyogNjQ1NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NDU2Igl9LCAvKiA2NDU2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY0NTciCX0sIC8qIDY0NTcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjQ1OCIJfSwgLyogNjQ1OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NDU5Igl9LCAvKiA2NDU5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY0NjAiCX0sIC8qIDY0NjAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjQ2MSIJfSwgLyogNjQ2MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NDYyIgl9LCAvKiA2NDYyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY0NjMiCX0sIC8qIDY0NjMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjQ2NCIJfSwgLyogNjQ2NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NDY1Igl9LCAvKiA2NDY1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY0NjYiCX0sIC8qIDY0NjYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjQ2NyIJfSwgLyogNjQ2NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NDY4Igl9LCAvKiA2NDY4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY0NjkiCX0sIC8qIDY0NjkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjQ3MCIJfSwgLyogNjQ3MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NDcxIgl9LCAvKiA2NDcxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY0NzIiCX0sIC8qIDY0NzIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjQ3MyIJfSwgLyogNjQ3MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NDc0Igl9LCAvKiA2NDc0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY0NzUiCX0sIC8qIDY0NzUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjQ3NiIJfSwgLyogNjQ3NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NDc3Igl9LCAvKiA2NDc3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY0NzgiCX0sIC8qIDY0NzggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjQ3OSIJfSwgLyogNjQ3OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NDgwIgl9LCAvKiA2NDgwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY0ODEiCX0sIC8qIDY0ODEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjQ4MiIJfSwgLyogNjQ4MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NDgzIgl9LCAvKiA2NDgzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY0ODQiCX0sIC8qIDY0ODQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjQ4NSIJfSwgLyogNjQ4NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NDg2Igl9LCAvKiA2NDg2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY0ODciCX0sIC8qIDY0ODcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjQ4OCIJfSwgLyogNjQ4OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NDg5Igl9LCAvKiA2NDg5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY0OTAiCX0sIC8qIDY0OTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjQ5MSIJfSwgLyogNjQ5MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NDkyIgl9LCAvKiA2NDkyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY0OTMiCX0sIC8qIDY0OTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjQ5NCIJfSwgLyogNjQ5NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NDk1Igl9LCAvKiA2NDk1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY0OTYiCX0sIC8qIDY0OTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjQ5NyIJfSwgLyogNjQ5NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NDk4Igl9LCAvKiA2NDk4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY0OTkiCX0sIC8qIDY0OTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjUwMCIJfSwgLyogNjUwMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NTAxIgl9LCAvKiA2NTAxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY1MDIiCX0sIC8qIDY1MDIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjUwMyIJfSwgLyogNjUwMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NTA0Igl9LCAvKiA2NTA0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY1MDUiCX0sIC8qIDY1MDUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjUwNiIJfSwgLyogNjUwNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NTA3Igl9LCAvKiA2NTA3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY1MDgiCX0sIC8qIDY1MDggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjUwOSIJfSwgLyogNjUwOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NTEwIgl9LCAvKiA2NTEwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY1MTEiCX0sIC8qIDY1MTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjUxMiIJfSwgLyogNjUxMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NTEzIgl9LCAvKiA2NTEzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY1MTQiCX0sIC8qIDY1MTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjUxNSIJfSwgLyogNjUxNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NTE2Igl9LCAvKiA2NTE2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY1MTciCX0sIC8qIDY1MTcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjUxOCIJfSwgLyogNjUxOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NTE5Igl9LCAvKiA2NTE5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY1MjAiCX0sIC8qIDY1MjAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjUyMSIJfSwgLyogNjUyMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NTIyIgl9LCAvKiA2NTIyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY1MjMiCX0sIC8qIDY1MjMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjUyNCIJfSwgLyogNjUyNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NTI1Igl9LCAvKiA2NTI1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY1MjYiCX0sIC8qIDY1MjYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjUyNyIJfSwgLyogNjUyNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NTI4Igl9LCAvKiA2NTI4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY1MjkiCX0sIC8qIDY1MjkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjUzMCIJfSwgLyogNjUzMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NTMxIgl9LCAvKiA2NTMxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY1MzIiCX0sIC8qIDY1MzIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjUzMyIJfSwgLyogNjUzMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NTM0Igl9LCAvKiA2NTM0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY1MzUiCX0sIC8qIDY1MzUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjUzNiIJfSwgLyogNjUzNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NTM3Igl9LCAvKiA2NTM3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY1MzgiCX0sIC8qIDY1MzggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjUzOSIJfSwgLyogNjUzOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NTQwIgl9LCAvKiA2NTQwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY1NDEiCX0sIC8qIDY1NDEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjU0MiIJfSwgLyogNjU0MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NTQzIgl9LCAvKiA2NTQzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY1NDQiCX0sIC8qIDY1NDQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjU0NSIJfSwgLyogNjU0NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NTQ2Igl9LCAvKiA2NTQ2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY1NDciCX0sIC8qIDY1NDcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjU0OCIJfSwgLyogNjU0OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NTQ5Igl9LCAvKiA2NTQ5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY1NTAiCX0sIC8qIDY1NTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjU1MSIJfSwgLyogNjU1MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NTUyIgl9LCAvKiA2NTUyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY1NTMiCX0sIC8qIDY1NTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjU1NCIJfSwgLyogNjU1NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NTU1Igl9LCAvKiA2NTU1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY1NTYiCX0sIC8qIDY1NTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjU1NyIJfSwgLyogNjU1NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NTU4Igl9LCAvKiA2NTU4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY1NTkiCX0sIC8qIDY1NTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjU2MCIJfSwgLyogNjU2MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NTYxIgl9LCAvKiA2NTYxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY1NjIiCX0sIC8qIDY1NjIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjU2MyIJfSwgLyogNjU2MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NTY0Igl9LCAvKiA2NTY0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY1NjUiCX0sIC8qIDY1NjUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjU2NiIJfSwgLyogNjU2NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NTY3Igl9LCAvKiA2NTY3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY1NjgiCX0sIC8qIDY1NjggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjU2OSIJfSwgLyogNjU2OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NTcwIgl9LCAvKiA2NTcwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY1NzEiCX0sIC8qIDY1NzEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjU3MiIJfSwgLyogNjU3MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NTczIgl9LCAvKiA2NTczICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY1NzQiCX0sIC8qIDY1NzQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjU3NSIJfSwgLyogNjU3NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NTc2Igl9LCAvKiA2NTc2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY1NzciCX0sIC8qIDY1NzcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjU3OCIJfSwgLyogNjU3OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NTc5Igl9LCAvKiA2NTc5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY1ODAiCX0sIC8qIDY1ODAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjU4MSIJfSwgLyogNjU4MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NTgyIgl9LCAvKiA2NTgyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY1ODMiCX0sIC8qIDY1ODMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjU4NCIJfSwgLyogNjU4NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NTg1Igl9LCAvKiA2NTg1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY1ODYiCX0sIC8qIDY1ODYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjU4NyIJfSwgLyogNjU4NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NTg4Igl9LCAvKiA2NTg4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY1ODkiCX0sIC8qIDY1ODkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjU5MCIJfSwgLyogNjU5MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NTkxIgl9LCAvKiA2NTkxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY1OTIiCX0sIC8qIDY1OTIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjU5MyIJfSwgLyogNjU5MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NTk0Igl9LCAvKiA2NTk0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY1OTUiCX0sIC8qIDY1OTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjU5NiIJfSwgLyogNjU5NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NTk3Igl9LCAvKiA2NTk3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY1OTgiCX0sIC8qIDY1OTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjU5OSIJfSwgLyogNjU5OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NjAwIgl9LCAvKiA2NjAwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY2MDEiCX0sIC8qIDY2MDEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjYwMiIJfSwgLyogNjYwMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NjAzIgl9LCAvKiA2NjAzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY2MDQiCX0sIC8qIDY2MDQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjYwNSIJfSwgLyogNjYwNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NjA2Igl9LCAvKiA2NjA2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY2MDciCX0sIC8qIDY2MDcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjYwOCIJfSwgLyogNjYwOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NjA5Igl9LCAvKiA2NjA5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY2MTAiCX0sIC8qIDY2MTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjYxMSIJfSwgLyogNjYxMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NjEyIgl9LCAvKiA2NjEyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY2MTMiCX0sIC8qIDY2MTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjYxNCIJfSwgLyogNjYxNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NjE1Igl9LCAvKiA2NjE1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY2MTYiCX0sIC8qIDY2MTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjYxNyIJfSwgLyogNjYxNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NjE4Igl9LCAvKiA2NjE4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY2MTkiCX0sIC8qIDY2MTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjYyMCIJfSwgLyogNjYyMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NjIxIgl9LCAvKiA2NjIxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY2MjIiCX0sIC8qIDY2MjIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjYyMyIJfSwgLyogNjYyMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NjI0Igl9LCAvKiA2NjI0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY2MjUiCX0sIC8qIDY2MjUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjYyNiIJfSwgLyogNjYyNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NjI3Igl9LCAvKiA2NjI3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY2MjgiCX0sIC8qIDY2MjggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjYyOSIJfSwgLyogNjYyOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NjMwIgl9LCAvKiA2NjMwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY2MzEiCX0sIC8qIDY2MzEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjYzMiIJfSwgLyogNjYzMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NjMzIgl9LCAvKiA2NjMzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY2MzQiCX0sIC8qIDY2MzQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjYzNSIJfSwgLyogNjYzNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NjM2Igl9LCAvKiA2NjM2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY2MzciCX0sIC8qIDY2MzcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjYzOCIJfSwgLyogNjYzOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NjM5Igl9LCAvKiA2NjM5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY2NDAiCX0sIC8qIDY2NDAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjY0MSIJfSwgLyogNjY0MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NjQyIgl9LCAvKiA2NjQyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY2NDMiCX0sIC8qIDY2NDMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjY0NCIJfSwgLyogNjY0NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NjQ1Igl9LCAvKiA2NjQ1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY2NDYiCX0sIC8qIDY2NDYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjY0NyIJfSwgLyogNjY0NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NjQ4Igl9LCAvKiA2NjQ4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY2NDkiCX0sIC8qIDY2NDkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjY1MCIJfSwgLyogNjY1MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NjUxIgl9LCAvKiA2NjUxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY2NTIiCX0sIC8qIDY2NTIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjY1MyIJfSwgLyogNjY1MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NjU0Igl9LCAvKiA2NjU0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY2NTUiCX0sIC8qIDY2NTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjY1NiIJfSwgLyogNjY1NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NjU3Igl9LCAvKiA2NjU3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY2NTgiCX0sIC8qIDY2NTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjY1OSIJfSwgLyogNjY1OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NjYwIgl9LCAvKiA2NjYwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY2NjEiCX0sIC8qIDY2NjEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjY2MiIJfSwgLyogNjY2MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NjYzIgl9LCAvKiA2NjYzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY2NjQiCX0sIC8qIDY2NjQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjY2NSIJfSwgLyogNjY2NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NjY2Igl9LCAvKiA2NjY2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY2NjciCX0sIC8qIDY2NjcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjY2OCIJfSwgLyogNjY2OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NjY5Igl9LCAvKiA2NjY5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY2NzAiCX0sIC8qIDY2NzAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjY3MSIJfSwgLyogNjY3MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NjcyIgl9LCAvKiA2NjcyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY2NzMiCX0sIC8qIDY2NzMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjY3NCIJfSwgLyogNjY3NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182Njc1Igl9LCAvKiA2Njc1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY2NzYiCX0sIC8qIDY2NzYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjY3NyIJfSwgLyogNjY3NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182Njc4Igl9LCAvKiA2Njc4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY2NzkiCX0sIC8qIDY2NzkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjY4MCIJfSwgLyogNjY4MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NjgxIgl9LCAvKiA2NjgxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY2ODIiCX0sIC8qIDY2ODIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjY4MyIJfSwgLyogNjY4MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182Njg0Igl9LCAvKiA2Njg0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY2ODUiCX0sIC8qIDY2ODUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjY4NiIJfSwgLyogNjY4NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182Njg3Igl9LCAvKiA2Njg3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY2ODgiCX0sIC8qIDY2ODggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjY4OSIJfSwgLyogNjY4OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NjkwIgl9LCAvKiA2NjkwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY2OTEiCX0sIC8qIDY2OTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjY5MiIJfSwgLyogNjY5MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NjkzIgl9LCAvKiA2NjkzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY2OTQiCX0sIC8qIDY2OTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjY5NSIJfSwgLyogNjY5NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182Njk2Igl9LCAvKiA2Njk2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY2OTciCX0sIC8qIDY2OTcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjY5OCIJfSwgLyogNjY5OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182Njk5Igl9LCAvKiA2Njk5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY3MDAiCX0sIC8qIDY3MDAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjcwMSIJfSwgLyogNjcwMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NzAyIgl9LCAvKiA2NzAyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY3MDMiCX0sIC8qIDY3MDMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjcwNCIJfSwgLyogNjcwNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NzA1Igl9LCAvKiA2NzA1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY3MDYiCX0sIC8qIDY3MDYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjcwNyIJfSwgLyogNjcwNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NzA4Igl9LCAvKiA2NzA4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY3MDkiCX0sIC8qIDY3MDkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjcxMCIJfSwgLyogNjcxMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NzExIgl9LCAvKiA2NzExICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY3MTIiCX0sIC8qIDY3MTIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjcxMyIJfSwgLyogNjcxMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NzE0Igl9LCAvKiA2NzE0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY3MTUiCX0sIC8qIDY3MTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjcxNiIJfSwgLyogNjcxNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NzE3Igl9LCAvKiA2NzE3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY3MTgiCX0sIC8qIDY3MTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjcxOSIJfSwgLyogNjcxOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NzIwIgl9LCAvKiA2NzIwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY3MjEiCX0sIC8qIDY3MjEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjcyMiIJfSwgLyogNjcyMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NzIzIgl9LCAvKiA2NzIzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY3MjQiCX0sIC8qIDY3MjQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjcyNSIJfSwgLyogNjcyNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NzI2Igl9LCAvKiA2NzI2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY3MjciCX0sIC8qIDY3MjcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjcyOCIJfSwgLyogNjcyOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NzI5Igl9LCAvKiA2NzI5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY3MzAiCX0sIC8qIDY3MzAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjczMSIJfSwgLyogNjczMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NzMyIgl9LCAvKiA2NzMyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY3MzMiCX0sIC8qIDY3MzMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjczNCIJfSwgLyogNjczNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NzM1Igl9LCAvKiA2NzM1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY3MzYiCX0sIC8qIDY3MzYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjczNyIJfSwgLyogNjczNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NzM4Igl9LCAvKiA2NzM4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY3MzkiCX0sIC8qIDY3MzkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjc0MCIJfSwgLyogNjc0MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NzQxIgl9LCAvKiA2NzQxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY3NDIiCX0sIC8qIDY3NDIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjc0MyIJfSwgLyogNjc0MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NzQ0Igl9LCAvKiA2NzQ0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY3NDUiCX0sIC8qIDY3NDUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjc0NiIJfSwgLyogNjc0NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NzQ3Igl9LCAvKiA2NzQ3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY3NDgiCX0sIC8qIDY3NDggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjc0OSIJfSwgLyogNjc0OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NzUwIgl9LCAvKiA2NzUwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY3NTEiCX0sIC8qIDY3NTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjc1MiIJfSwgLyogNjc1MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NzUzIgl9LCAvKiA2NzUzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY3NTQiCX0sIC8qIDY3NTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjc1NSIJfSwgLyogNjc1NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NzU2Igl9LCAvKiA2NzU2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY3NTciCX0sIC8qIDY3NTcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjc1OCIJfSwgLyogNjc1OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NzU5Igl9LCAvKiA2NzU5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY3NjAiCX0sIC8qIDY3NjAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjc2MSIJfSwgLyogNjc2MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NzYyIgl9LCAvKiA2NzYyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY3NjMiCX0sIC8qIDY3NjMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjc2NCIJfSwgLyogNjc2NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NzY1Igl9LCAvKiA2NzY1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY3NjYiCX0sIC8qIDY3NjYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjc2NyIJfSwgLyogNjc2NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NzY4Igl9LCAvKiA2NzY4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY3NjkiCX0sIC8qIDY3NjkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjc3MCIJfSwgLyogNjc3MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NzcxIgl9LCAvKiA2NzcxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY3NzIiCX0sIC8qIDY3NzIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjc3MyIJfSwgLyogNjc3MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182Nzc0Igl9LCAvKiA2Nzc0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY3NzUiCX0sIC8qIDY3NzUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjc3NiIJfSwgLyogNjc3NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182Nzc3Igl9LCAvKiA2Nzc3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY3NzgiCX0sIC8qIDY3NzggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjc3OSIJfSwgLyogNjc3OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NzgwIgl9LCAvKiA2NzgwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY3ODEiCX0sIC8qIDY3ODEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjc4MiIJfSwgLyogNjc4MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NzgzIgl9LCAvKiA2NzgzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY3ODQiCX0sIC8qIDY3ODQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjc4NSIJfSwgLyogNjc4NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182Nzg2Igl9LCAvKiA2Nzg2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY3ODciCX0sIC8qIDY3ODcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjc4OCIJfSwgLyogNjc4OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182Nzg5Igl9LCAvKiA2Nzg5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY3OTAiCX0sIC8qIDY3OTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjc5MSIJfSwgLyogNjc5MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182NzkyIgl9LCAvKiA2NzkyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY3OTMiCX0sIC8qIDY3OTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjc5NCIJfSwgLyogNjc5NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182Nzk1Igl9LCAvKiA2Nzk1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY3OTYiCX0sIC8qIDY3OTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjc5NyIJfSwgLyogNjc5NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182Nzk4Igl9LCAvKiA2Nzk4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY3OTkiCX0sIC8qIDY3OTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjgwMCIJfSwgLyogNjgwMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182ODAxIgl9LCAvKiA2ODAxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY4MDIiCX0sIC8qIDY4MDIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjgwMyIJfSwgLyogNjgwMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182ODA0Igl9LCAvKiA2ODA0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY4MDUiCX0sIC8qIDY4MDUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjgwNiIJfSwgLyogNjgwNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182ODA3Igl9LCAvKiA2ODA3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY4MDgiCX0sIC8qIDY4MDggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjgwOSIJfSwgLyogNjgwOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182ODEwIgl9LCAvKiA2ODEwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY4MTEiCX0sIC8qIDY4MTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjgxMiIJfSwgLyogNjgxMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182ODEzIgl9LCAvKiA2ODEzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY4MTQiCX0sIC8qIDY4MTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjgxNSIJfSwgLyogNjgxNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182ODE2Igl9LCAvKiA2ODE2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY4MTciCX0sIC8qIDY4MTcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjgxOCIJfSwgLyogNjgxOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182ODE5Igl9LCAvKiA2ODE5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY4MjAiCX0sIC8qIDY4MjAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjgyMSIJfSwgLyogNjgyMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182ODIyIgl9LCAvKiA2ODIyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY4MjMiCX0sIC8qIDY4MjMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjgyNCIJfSwgLyogNjgyNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182ODI1Igl9LCAvKiA2ODI1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY4MjYiCX0sIC8qIDY4MjYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjgyNyIJfSwgLyogNjgyNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182ODI4Igl9LCAvKiA2ODI4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY4MjkiCX0sIC8qIDY4MjkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjgzMCIJfSwgLyogNjgzMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182ODMxIgl9LCAvKiA2ODMxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY4MzIiCX0sIC8qIDY4MzIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjgzMyIJfSwgLyogNjgzMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182ODM0Igl9LCAvKiA2ODM0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY4MzUiCX0sIC8qIDY4MzUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjgzNiIJfSwgLyogNjgzNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182ODM3Igl9LCAvKiA2ODM3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY4MzgiCX0sIC8qIDY4MzggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjgzOSIJfSwgLyogNjgzOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182ODQwIgl9LCAvKiA2ODQwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY4NDEiCX0sIC8qIDY4NDEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjg0MiIJfSwgLyogNjg0MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182ODQzIgl9LCAvKiA2ODQzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY4NDQiCX0sIC8qIDY4NDQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjg0NSIJfSwgLyogNjg0NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182ODQ2Igl9LCAvKiA2ODQ2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY4NDciCX0sIC8qIDY4NDcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjg0OCIJfSwgLyogNjg0OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182ODQ5Igl9LCAvKiA2ODQ5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY4NTAiCX0sIC8qIDY4NTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjg1MSIJfSwgLyogNjg1MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182ODUyIgl9LCAvKiA2ODUyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY4NTMiCX0sIC8qIDY4NTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjg1NCIJfSwgLyogNjg1NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182ODU1Igl9LCAvKiA2ODU1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY4NTYiCX0sIC8qIDY4NTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjg1NyIJfSwgLyogNjg1NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182ODU4Igl9LCAvKiA2ODU4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY4NTkiCX0sIC8qIDY4NTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjg2MCIJfSwgLyogNjg2MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182ODYxIgl9LCAvKiA2ODYxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY4NjIiCX0sIC8qIDY4NjIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjg2MyIJfSwgLyogNjg2MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182ODY0Igl9LCAvKiA2ODY0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY4NjUiCX0sIC8qIDY4NjUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjg2NiIJfSwgLyogNjg2NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182ODY3Igl9LCAvKiA2ODY3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY4NjgiCX0sIC8qIDY4NjggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjg2OSIJfSwgLyogNjg2OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182ODcwIgl9LCAvKiA2ODcwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY4NzEiCX0sIC8qIDY4NzEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjg3MiIJfSwgLyogNjg3MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182ODczIgl9LCAvKiA2ODczICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY4NzQiCX0sIC8qIDY4NzQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjg3NSIJfSwgLyogNjg3NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182ODc2Igl9LCAvKiA2ODc2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY4NzciCX0sIC8qIDY4NzcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjg3OCIJfSwgLyogNjg3OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182ODc5Igl9LCAvKiA2ODc5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY4ODAiCX0sIC8qIDY4ODAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjg4MSIJfSwgLyogNjg4MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182ODgyIgl9LCAvKiA2ODgyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY4ODMiCX0sIC8qIDY4ODMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjg4NCIJfSwgLyogNjg4NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182ODg1Igl9LCAvKiA2ODg1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY4ODYiCX0sIC8qIDY4ODYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjg4NyIJfSwgLyogNjg4NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182ODg4Igl9LCAvKiA2ODg4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY4ODkiCX0sIC8qIDY4ODkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjg5MCIJfSwgLyogNjg5MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182ODkxIgl9LCAvKiA2ODkxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY4OTIiCX0sIC8qIDY4OTIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjg5MyIJfSwgLyogNjg5MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182ODk0Igl9LCAvKiA2ODk0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY4OTUiCX0sIC8qIDY4OTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjg5NiIJfSwgLyogNjg5NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182ODk3Igl9LCAvKiA2ODk3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY4OTgiCX0sIC8qIDY4OTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjg5OSIJfSwgLyogNjg5OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182OTAwIgl9LCAvKiA2OTAwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY5MDEiCX0sIC8qIDY5MDEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjkwMiIJfSwgLyogNjkwMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182OTAzIgl9LCAvKiA2OTAzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY5MDQiCX0sIC8qIDY5MDQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjkwNSIJfSwgLyogNjkwNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182OTA2Igl9LCAvKiA2OTA2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY5MDciCX0sIC8qIDY5MDcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjkwOCIJfSwgLyogNjkwOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182OTA5Igl9LCAvKiA2OTA5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY5MTAiCX0sIC8qIDY5MTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjkxMSIJfSwgLyogNjkxMSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182OTEyIgl9LCAvKiA2OTEyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY5MTMiCX0sIC8qIDY5MTMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjkxNCIJfSwgLyogNjkxNCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182OTE1Igl9LCAvKiA2OTE1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY5MTYiCX0sIC8qIDY5MTYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjkxNyIJfSwgLyogNjkxNyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182OTE4Igl9LCAvKiA2OTE4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY5MTkiCX0sIC8qIDY5MTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjkyMCIJfSwgLyogNjkyMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182OTIxIgl9LCAvKiA2OTIxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY5MjIiCX0sIC8qIDY5MjIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjkyMyIJfSwgLyogNjkyMyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182OTI0Igl9LCAvKiA2OTI0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY5MjUiCX0sIC8qIDY5MjUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjkyNiIJfSwgLyogNjkyNiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182OTI3Igl9LCAvKiA2OTI3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY5MjgiCX0sIC8qIDY5MjggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjkyOSIJfSwgLyogNjkyOSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182OTMwIgl9LCAvKiA2OTMwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY5MzEiCX0sIC8qIDY5MzEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjkzMiIJfSwgLyogNjkzMiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182OTMzIgl9LCAvKiA2OTMzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY5MzQiCX0sIC8qIDY5MzQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjkzNSIJfSwgLyogNjkzNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182OTM2Igl9LCAvKiA2OTM2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY5MzciCX0sIC8qIDY5MzcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjkzOCIJfSwgLyogNjkzOCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182OTM5Igl9LCAvKiA2OTM5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY5NDAiCX0sIC8qIDY5NDAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjk0MSIJfSwgLyogNjk0MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182OTQyIgl9LCAvKiA2OTQyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY5NDMiCX0sIC8qIDY5NDMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjk0NCIJfSwgLyogNjk0NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182OTQ1Igl9LCAvKiA2OTQ1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY5NDYiCX0sIC8qIDY5NDYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjk0NyIJfSwgLyogNjk0NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182OTQ4Igl9LCAvKiA2OTQ4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY5NDkiCX0sIC8qIDY5NDkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjk1MCIJfSwgLyogNjk1MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182OTUxIgl9LCAvKiA2OTUxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY5NTIiCX0sIC8qIDY5NTIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjk1MyIJfSwgLyogNjk1MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182OTU0Igl9LCAvKiA2OTU0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY5NTUiCX0sIC8qIDY5NTUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjk1NiIJfSwgLyogNjk1NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182OTU3Igl9LCAvKiA2OTU3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY5NTgiCX0sIC8qIDY5NTggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjk1OSIJfSwgLyogNjk1OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182OTYwIgl9LCAvKiA2OTYwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY5NjEiCX0sIC8qIDY5NjEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjk2MiIJfSwgLyogNjk2MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182OTYzIgl9LCAvKiA2OTYzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY5NjQiCX0sIC8qIDY5NjQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjk2NSIJfSwgLyogNjk2NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182OTY2Igl9LCAvKiA2OTY2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY5NjciCX0sIC8qIDY5NjcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjk2OCIJfSwgLyogNjk2OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182OTY5Igl9LCAvKiA2OTY5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY5NzAiCX0sIC8qIDY5NzAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjk3MSIJfSwgLyogNjk3MSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182OTcyIgl9LCAvKiA2OTcyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY5NzMiCX0sIC8qIDY5NzMgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjk3NCIJfSwgLyogNjk3NCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182OTc1Igl9LCAvKiA2OTc1ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY5NzYiCX0sIC8qIDY5NzYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjk3NyIJfSwgLyogNjk3NyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182OTc4Igl9LCAvKiA2OTc4ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY5NzkiCX0sIC8qIDY5NzkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjk4MCIJfSwgLyogNjk4MCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182OTgxIgl9LCAvKiA2OTgxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY5ODIiCX0sIC8qIDY5ODIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjk4MyIJfSwgLyogNjk4MyAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182OTg0Igl9LCAvKiA2OTg0ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY5ODUiCX0sIC8qIDY5ODUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjk4NiIJfSwgLyogNjk4NiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182OTg3Igl9LCAvKiA2OTg3ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY5ODgiCX0sIC8qIDY5ODggKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjk4OSIJfSwgLyogNjk4OSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182OTkwIgl9LCAvKiA2OTkwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY5OTEiCX0sIC8qIDY5OTEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjk5MiIJfSwgLyogNjk5MiAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182OTkzIgl9LCAvKiA2OTkzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY5OTQiCX0sIC8qIDY5OTQgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjk5NSIJfSwgLyogNjk5NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182OTk2Igl9LCAvKiA2OTk2ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY5OTciCX0sIC8qIDY5OTcgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfNjk5OCIJfSwgLyogNjk5OCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJIlNZU182OTk5Igl9LCAvKiA2OTk5ICovIC8qIGVuZCBvZiBMaW51eCBOMzIgKi8KZGlmZiAtLWdpdCBhL3N0cmFjZS00LjUuMjAvbGludXgvcG93ZXJwYy9pb2N0bGVudC5oIGIvc3RyYWNlLTQuNS4yMC9saW51eC9wb3dlcnBjL2lvY3RsZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTYwMTBkYQotLS0gL2Rldi9udWxsCisrKyBiL3N0cmFjZS00LjUuMjAvbGludXgvcG93ZXJwYy9pb2N0bGVudC5oCkBAIC0wLDAgKzEsMTE4MSBAQAorCS8qIEdlbmVyYXRlZCBieSBpb2N0bHNvcnQgKi8KKwl7ImxpbnV4L2ZzLmgiLAkiRklCTUFQIiwJMHgxfSwKKwl7ImxpbnV4L2ZzLmgiLAkiRklHRVRCU1oiLAkweDJ9LAorCXsibGludXgvZmQuaCIsCSJGREdFVFBSTSIsCTB4MjA0fSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRHRVRNQVhFUlJTIiwJMHgyMGV9LAorCXsibGludXgvZmQuaCIsCSJGREdFVERSVlRZUCIsCTB4MjBmfSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRHRVREUlZQUk0iLAkweDIxMX0sCisJeyJsaW51eC9mZC5oIiwJIkZER0VURFJWU1RBVCIsCTB4MjEyfSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRQT0xMRFJWU1RBVCIsCTB4MjEzfSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRHRVRGRENTVEFUIiwJMHgyMTV9LAorCXsibGludXgvZmQuaCIsCSJGRFdFUlJPUkdFVCIsCTB4MjE3fSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRDTFJQUk0iLAkweDI0MX0sCisJeyJsaW51eC9mZC5oIiwJIkZEU0VUUFJNIiwJMHgyNDJ9LAorCXsibGludXgvZmQuaCIsCSJGRERFRlBSTSIsCTB4MjQzfSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRNU0dPTiIsCTB4MjQ1fSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRNU0dPRkYiLAkweDI0Nn0sCisJeyJsaW51eC9mZC5oIiwJIkZERk1UQkVHIiwJMHgyNDd9LAorCXsibGludXgvZmQuaCIsCSJGREZNVFRSSyIsCTB4MjQ4fSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRGTVRFTkQiLAkweDI0OX0sCisJeyJsaW51eC9mZC5oIiwJIkZEU0VURU1TR1RSRVNIIiwJMHgyNGF9LAorCXsibGludXgvZmQuaCIsCSJGREZMVVNIIiwJMHgyNGJ9LAorCXsibGludXgvZmQuaCIsCSJGRFNFVE1BWEVSUlMiLAkweDI0Y30sCisJeyJsaW51eC9mZC5oIiwJIkZEUkVTRVQiLAkweDI1NH0sCisJeyJsaW51eC9mZC5oIiwJIkZEV0VSUk9SQ0xSIiwJMHgyNTZ9LAorCXsibGludXgvZmQuaCIsCSJGRFJBV0NNRCIsCTB4MjU4fSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRUV0FERExFIiwJMHgyNTl9LAorCXsibGludXgvZmQuaCIsCSJGREVKRUNUIiwJMHgyNWF9LAorCXsibGludXgvZmQuaCIsCSJGRFNFVERSVlBSTSIsCTB4MjkwfSwKKwl7ImxpbnV4L3Vtc2Rvc19mcy5oIiwJIlVNU0RPU19SRUFERElSX0RPUyIsCTB4NGQyfSwKKwl7ImxpbnV4L3Vtc2Rvc19mcy5oIiwJIlVNU0RPU19VTkxJTktfRE9TIiwJMHg0ZDN9LAorCXsibGludXgvdW1zZG9zX2ZzLmgiLAkiVU1TRE9TX1JNRElSX0RPUyIsCTB4NGQ0fSwKKwl7ImxpbnV4L3Vtc2Rvc19mcy5oIiwJIlVNU0RPU19TVEFUX0RPUyIsCTB4NGQ1fSwKKwl7ImxpbnV4L3Vtc2Rvc19mcy5oIiwJIlVNU0RPU19DUkVBVF9FTUQiLAkweDRkNn0sCisJeyJsaW51eC91bXNkb3NfZnMuaCIsCSJVTVNET1NfVU5MSU5LX0VNRCIsCTB4NGQ3fSwKKwl7ImxpbnV4L3Vtc2Rvc19mcy5oIiwJIlVNU0RPU19SRUFERElSX0VNRCIsCTB4NGQ4fSwKKwl7ImxpbnV4L3Vtc2Rvc19mcy5oIiwJIlVNU0RPU19HRVRWRVJTSU9OIiwJMHg0ZDl9LAorCXsibGludXgvdW1zZG9zX2ZzLmgiLAkiVU1TRE9TX0lOSVRfRU1EIiwJMHg0ZGF9LAorCXsibGludXgvdW1zZG9zX2ZzLmgiLAkiVU1TRE9TX0RPU19TRVRVUCIsCTB4NGRifSwKKwl7ImxpbnV4L3Vtc2Rvc19mcy5oIiwJIlVNU0RPU19SRU5BTUVfRE9TIiwJMHg0ZGN9LAorCXsibGludXgvZnMuaCIsCSJCTEtST1NFVCIsCTB4MTI1ZH0sCisJeyJsaW51eC9mcy5oIiwJIkJMS1JPR0VUIiwJMHgxMjVlfSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLUlJQQVJUIiwJMHgxMjVmfSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLR0VUU0laRSIsCTB4MTI2MH0sCisJeyJsaW51eC9mcy5oIiwJIkJMS0ZMU0JVRiIsCTB4MTI2MX0sCisJeyJsaW51eC9mcy5oIiwJIkJMS1JBU0VUIiwJMHgxMjYyfSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLUkFHRVQiLAkweDEyNjN9LAorCXsibGludXgvZnMuaCIsCSJCTEtGUkFTRVQiLAkweDEyNjR9LAorCXsibGludXgvZnMuaCIsCSJCTEtGUkFHRVQiLAkweDEyNjV9LAorCXsibGludXgvZnMuaCIsCSJCTEtTRUNUU0VUIiwJMHgxMjY2fSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLU0VDVEdFVCIsCTB4MTI2N30sCisJeyJsaW51eC9mcy5oIiwJIkJMS1NTWkdFVCIsCTB4MTI2OH0sCisJeyJsaW51eC9ibGtwZy5oIiwJIkJMS1BHIiwJMHgxMjY5fSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLRUxWR0VUIiwJMHgxMjZhfSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLRUxWU0VUIiwJMHgxMjZifSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLQlNaR0VUIiwJMHgxMjcwfSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLQlNaU0VUIiwJMHgxMjcxfSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLR0VUU0laRTY0IiwJMHgxMjcyfSwKKwl7InNjc2kvc2cuaCIsCSJTR19TRVRfVElNRU9VVCIsCTB4MjIwMX0sCisJeyJzY3NpL3NnLmgiLAkiU0dfR0VUX1RJTUVPVVQiLAkweDIyMDJ9LAorCXsic2NzaS9zZy5oIiwJIlNHX0VNVUxBVEVEX0hPU1QiLAkweDIyMDN9LAorCXsic2NzaS9zZy5oIiwJIlNHX1NFVF9UUkFOU0ZPUk0iLAkweDIyMDR9LAorCXsic2NzaS9zZy5oIiwJIlNHX0dFVF9UUkFOU0ZPUk0iLAkweDIyMDV9LAorCXsic2NzaS9zZy5oIiwJIlNHX0dFVF9DT01NQU5EX1EiLAkweDIyNzB9LAorCXsic2NzaS9zZy5oIiwJIlNHX1NFVF9DT01NQU5EX1EiLAkweDIyNzF9LAorCXsic2NzaS9zZy5oIiwJIlNHX0dFVF9SRVNFUlZFRF9TSVpFIiwJMHgyMjcyfSwKKwl7InNjc2kvc2cuaCIsCSJTR19TRVRfUkVTRVJWRURfU0laRSIsCTB4MjI3NX0sCisJeyJzY3NpL3NnLmgiLAkiU0dfR0VUX1NDU0lfSUQiLAkweDIyNzZ9LAorCXsic2NzaS9zZy5oIiwJIlNHX1NFVF9GT1JDRV9MT1dfRE1BIiwJMHgyMjc5fSwKKwl7InNjc2kvc2cuaCIsCSJTR19HRVRfTE9XX0RNQSIsCTB4MjI3YX0sCisJeyJzY3NpL3NnLmgiLAkiU0dfU0VUX0ZPUkNFX1BBQ0tfSUQiLAkweDIyN2J9LAorCXsic2NzaS9zZy5oIiwJIlNHX0dFVF9QQUNLX0lEIiwJMHgyMjdjfSwKKwl7InNjc2kvc2cuaCIsCSJTR19HRVRfTlVNX1dBSVRJTkciLAkweDIyN2R9LAorCXsic2NzaS9zZy5oIiwJIlNHX1NFVF9ERUJVRyIsCTB4MjI3ZX0sCisJeyJzY3NpL3NnLmgiLAkiU0dfR0VUX1NHX1RBQkxFU0laRSIsCTB4MjI3Zn0sCisJeyJzY3NpL3NnLmgiLAkiU0dfR0VUX1ZFUlNJT05fTlVNIiwJMHgyMjgyfSwKKwl7InNjc2kvc2cuaCIsCSJTR19ORVhUX0NNRF9MRU4iLAkweDIyODN9LAorCXsic2NzaS9zZy5oIiwJIlNHX1NDU0lfUkVTRVQiLAkweDIyODR9LAorCXsic2NzaS9zZy5oIiwJIlNHX0lPIiwJMHgyMjg1fSwKKwl7InNjc2kvc2cuaCIsCSJTR19HRVRfUkVRVUVTVF9UQUJMRSIsCTB4MjI4Nn0sCisJeyJzY3NpL3NnLmgiLAkiU0dfU0VUX0tFRVBfT1JQSEFOIiwJMHgyMjg3fSwKKwl7InNjc2kvc2cuaCIsCSJTR19HRVRfS0VFUF9PUlBIQU4iLAkweDIyODh9LAorCXsibGludXgvaTJvLmgiLAkiQkxLSTJPR1JTVFJBVCIsCTB4MzIwMX0sCisJeyJsaW51eC9pMm8uaCIsCSJCTEtJMk9HV1NUUkFUIiwJMHgzMjAyfSwKKwl7ImxpbnV4L2kyby5oIiwJIkJMS0kyT1NSU1RSQVQiLAkweDMyMDN9LAorCXsibGludXgvaTJvLmgiLAkiQkxLSTJPU1dTVFJBVCIsCTB4MzIwNH0sCisJeyJsaW51eC9yYWRlb25mYi5oIiwJIkZCSU9fUkFERU9OX0dFVF9NSVJST1IiLAkweDQwMDN9LAorCXsibGludXgvcmFkZW9uZmIuaCIsCSJGQklPX1JBREVPTl9TRVRfTUlSUk9SIiwJMHg0MDA0fSwKKwl7ImxpbnV4L2FncGdhcnQuaCIsCSJBR1BJT0NfSU5GTyIsCTB4NDEwMH0sCisJeyJsaW51eC9hZ3BnYXJ0LmgiLAkiQUdQSU9DX0FDUVVJUkUiLAkweDQxMDF9LAorCXsibGludXgvYXBtX2Jpb3MuaCIsCSJBUE1fSU9DX1NUQU5EQlkiLAkweDQxMDF9LAorCXsibGludXgvYWdwZ2FydC5oIiwJIkFHUElPQ19SRUxFQVNFIiwJMHg0MTAyfSwKKwl7ImxpbnV4L2FwbV9iaW9zLmgiLAkiQVBNX0lPQ19TVVNQRU5EIiwJMHg0MTAyfSwKKwl7ImxpbnV4L2FncGdhcnQuaCIsCSJBR1BJT0NfU0VUVVAiLAkweDQxMDN9LAorCXsibGludXgvYWdwZ2FydC5oIiwJIkFHUElPQ19SRVNFUlZFIiwJMHg0MTA0fSwKKwl7ImxpbnV4L2FncGdhcnQuaCIsCSJBR1BJT0NfUFJPVEVDVCIsCTB4NDEwNX0sCisJeyJsaW51eC9hZ3BnYXJ0LmgiLAkiQUdQSU9DX0FMTE9DQVRFIiwJMHg0MTA2fSwKKwl7ImxpbnV4L2FncGdhcnQuaCIsCSJBR1BJT0NfREVBTExPQ0FURSIsCTB4NDEwN30sCisJeyJsaW51eC9hZ3BnYXJ0LmgiLAkiQUdQSU9DX0JJTkQiLAkweDQxMDh9LAorCXsibGludXgvYWdwZ2FydC5oIiwJIkFHUElPQ19VTkJJTkQiLAkweDQxMDl9LAorCXsibGludXgvcG11LmgiLAkiUE1VX0lPQ19TTEVFUCIsCTB4NDIwMH0sCisJeyJsaW51eC9jY2lzc19pb2N0bC5oIiwJIkNDSVNTX0dFVFBDSUlORk8iLAkweDQyMDF9LAorCXsibGludXgvcG11LmgiLAkiUE1VX0lPQ19HRVRfQkFDS0xJR0hUIiwJMHg0MjAxfSwKKwl7ImxpbnV4L2NjaXNzX2lvY3RsLmgiLAkiQ0NJU1NfR0VUSU5USU5GTyIsCTB4NDIwMn0sCisJeyJsaW51eC9wbXUuaCIsCSJQTVVfSU9DX1NFVF9CQUNLTElHSFQiLAkweDQyMDJ9LAorCXsibGludXgvY2Npc3NfaW9jdGwuaCIsCSJDQ0lTU19TRVRJTlRJTkZPIiwJMHg0MjAzfSwKKwl7ImxpbnV4L3BtdS5oIiwJIlBNVV9JT0NfR0VUX01PREVMIiwJMHg0MjAzfSwKKwl7ImxpbnV4L2NjaXNzX2lvY3RsLmgiLAkiQ0NJU1NfR0VUTk9ERU5BTUUiLAkweDQyMDR9LAorCXsibGludXgvcG11LmgiLAkiUE1VX0lPQ19IQVNfQURCIiwJMHg0MjA0fSwKKwl7ImxpbnV4L2NjaXNzX2lvY3RsLmgiLAkiQ0NJU1NfU0VUTk9ERU5BTUUiLAkweDQyMDV9LAorCXsibGludXgvcG11LmgiLAkiUE1VX0lPQ19DQU5fU0xFRVAiLAkweDQyMDV9LAorCXsibGludXgvY2Npc3NfaW9jdGwuaCIsCSJDQ0lTU19HRVRIRUFSVEJFQVQiLAkweDQyMDZ9LAorCXsibGludXgvcG11LmgiLAkiUE1VX0lPQ19HUkFCX0JBQ0tMSUdIVCIsCTB4NDIwNn0sCisJeyJsaW51eC9jY2lzc19pb2N0bC5oIiwJIkNDSVNTX0dFVEJVU1RZUEVTIiwJMHg0MjA3fSwKKwl7ImxpbnV4L2NjaXNzX2lvY3RsLmgiLAkiQ0NJU1NfR0VURklSTVZFUiIsCTB4NDIwOH0sCisJeyJsaW51eC9jY2lzc19pb2N0bC5oIiwJIkNDSVNTX0dFVERSSVZWRVIiLAkweDQyMDl9LAorCXsibGludXgvY2Npc3NfaW9jdGwuaCIsCSJDQ0lTU19SRVZBTElEVk9MUyIsCTB4NDIwYX0sCisJeyJsaW51eC9jY2lzc19pb2N0bC5oIiwJIkNDSVNTX1BBU1NUSFJVIiwJMHg0MjBifSwKKwl7ImxpbnV4L2NjaXNzX2lvY3RsLmgiLAkiQ0NJU1NfREVSRUdESVNLIiwJMHg0MjBjfSwKKwl7ImxpbnV4L2NjaXNzX2lvY3RsLmgiLAkiQ0NJU1NfUkVHTkVXRElTSyIsCTB4NDIwZH0sCisJeyJsaW51eC9jY2lzc19pb2N0bC5oIiwJIkNDSVNTX1JFR05FV0QiLAkweDQyMGV9LAorCXsibGludXgvY2Npc3NfaW9jdGwuaCIsCSJDQ0lTU19HRVRMVU5JTkZPIiwJMHg0MjExfSwKKwl7ImxpbnV4L2NjaXNzX2lvY3RsLmgiLAkiQ0NJU1NfQklHX1BBU1NUSFJVIiwJMHg0MjEyfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9DT1BSX1JFU0VUIiwJMHg0MzAwfSwKKwl7ImxpbnV4L2NhcGkuaCIsCSJDQVBJX1JFR0lTVEVSIiwJMHg0MzAxfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9DT1BSX0xPQUQiLAkweDQzMDF9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0NPUFJfUkRBVEEiLAkweDQzMDJ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0NPUFJfUkNPREUiLAkweDQzMDN9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0NPUFJfV0RBVEEiLAkweDQzMDR9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0NPUFJfV0NPREUiLAkweDQzMDV9LAorCXsibGludXgvY2FwaS5oIiwJIkNBUElfR0VUX01BTlVGQUNUVVJFUiIsCTB4NDMwNn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfQ09QUl9SVU4iLAkweDQzMDZ9LAorCXsibGludXgvY2FwaS5oIiwJIkNBUElfR0VUX1ZFUlNJT04iLAkweDQzMDd9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0NPUFJfSEFMVCIsCTB4NDMwN30sCisJeyJsaW51eC9jYXBpLmgiLAkiQ0FQSV9HRVRfU0VSSUFMIiwJMHg0MzA4fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9DT1BSX1NFTkRNU0ciLAkweDQzMDh9LAorCXsibGludXgvY2FwaS5oIiwJIkNBUElfR0VUX1BST0ZJTEUiLAkweDQzMDl9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0NPUFJfUkNWTVNHIiwJMHg0MzA5fSwKKwl7ImxpbnV4L2NhcGkuaCIsCSJDQVBJX01BTlVGQUNUVVJFUl9DTUQiLAkweDQzMjB9LAorCXsibGludXgvY2FwaS5oIiwJIkNBUElfR0VUX0VSUkNPREUiLAkweDQzMjF9LAorCXsibGludXgvY2FwaS5oIiwJIkNBUElfSU5TVEFMTEVEIiwJMHg0MzIyfSwKKwl7ImxpbnV4L2NhcGkuaCIsCSJDQVBJX0dFVF9GTEFHUyIsCTB4NDMyM30sCisJeyJsaW51eC9jYXBpLmgiLAkiQ0FQSV9TRVRfRkxBR1MiLAkweDQzMjR9LAorCXsibGludXgvY2FwaS5oIiwJIkNBUElfQ0xSX0ZMQUdTIiwJMHg0MzI1fSwKKwl7ImxpbnV4L2NhcGkuaCIsCSJDQVBJX05DQ0lfT1BFTkNPVU5UIiwJMHg0MzI2fSwKKwl7ImxpbnV4L2NhcGkuaCIsCSJDQVBJX05DQ0lfR0VUVU5JVCIsCTB4NDMyN30sCisJeyJsaW51eC9pbnB1dC5oIiwJIkVWSU9DR1ZFUlNJT04iLAkweDQ1MDF9LAorCXsibGludXgvaW5wdXQuaCIsCSJFVklPQ0dJRCIsCTB4NDUwMn0sCisJeyJsaW51eC9pbnB1dC5oIiwJIkVWSU9DR0tFWUNPREUiLAkweDQ1MDR9LAorCXsibGludXgvaW5wdXQuaCIsCSJFVklPQ1NLRVlDT0RFIiwJMHg0NTA0fSwKKwl7ImxpbnV4L2lucHV0LmgiLAkiRVZJT0NSTUZGIiwJMHg0NTgxfSwKKwl7ImxpbnV4L2lucHV0LmgiLAkiRVZJT0NHRUZGRUNUUyIsCTB4NDU4NH0sCisJeyJsaW51eC9pbnB1dC5oIiwJIkVWSU9DR1JBQiIsCTB4NDU5MH0sCisJeyJsaW51eC9mYi5oIiwJIkZCSU9HRVRfVlNDUkVFTklORk8iLAkweDQ2MDB9LAorCXsibGludXgvZmIuaCIsCSJGQklPUFVUX1ZTQ1JFRU5JTkZPIiwJMHg0NjAxfSwKKwl7ImxpbnV4L2ZiLmgiLAkiRkJJT0dFVF9GU0NSRUVOSU5GTyIsCTB4NDYwMn0sCisJeyJsaW51eC9mYi5oIiwJIkZCSU9HRVRDTUFQIiwJMHg0NjA0fSwKKwl7ImxpbnV4L2ZiLmgiLAkiRkJJT1BVVENNQVAiLAkweDQ2MDV9LAorCXsibGludXgvZmIuaCIsCSJGQklPUEFOX0RJU1BMQVkiLAkweDQ2MDZ9LAorCXsibGludXgvZmIuaCIsCSJGQklPX0NVUlNPUiIsCTB4NDYwOH0sCisJeyJsaW51eC9mYi5oIiwJIkZCSU9HRVRfQ09OMkZCTUFQIiwJMHg0NjBmfSwKKwl7ImxpbnV4L2ZiLmgiLAkiRkJJT1BVVF9DT04yRkJNQVAiLAkweDQ2MTB9LAorCXsibGludXgvZmIuaCIsCSJGQklPQkxBTksiLAkweDQ2MTF9LAorCXsibGludXgvZmIuaCIsCSJGQklPR0VUX1ZCTEFOSyIsCTB4NDYxMn0sCisJeyJsaW51eC9mYi5oIiwJIkZCSU9fQUxMT0MiLAkweDQ2MTN9LAorCXsibGludXgvZmIuaCIsCSJGQklPX0ZSRUUiLAkweDQ2MTR9LAorCXsibGludXgvZmIuaCIsCSJGQklPR0VUX0dMWVBIIiwJMHg0NjE1fSwKKwl7ImxpbnV4L2ZiLmgiLAkiRkJJT0dFVF9IV0NJTkZPIiwJMHg0NjE2fSwKKwl7ImxpbnV4L2ZiLmgiLAkiRkJJT1BVVF9NT0RFSU5GTyIsCTB4NDYxN30sCisJeyJsaW51eC9mYi5oIiwJIkZCSU9HRVRfRElTUElORk8iLAkweDQ2MTh9LAorCXsibGludXgvbWF0cm94ZmIuaCIsCSJGQklPX1dBSVRGT1JWU1lOQyIsCTB4NDYyMH0sCisJeyJsaW51eC9oaWRkZXYuaCIsCSJISURJT0NHVkVSU0lPTiIsCTB4NDgwMX0sCisJeyJsaW51eC9oaWRkZXYuaCIsCSJISURJT0NBUFBMSUNBVElPTiIsCTB4NDgwMn0sCisJeyJsaW51eC9oaWRkZXYuaCIsCSJISURJT0NHREVWSU5GTyIsCTB4NDgwM30sCisJeyJsaW51eC9oaWRkZXYuaCIsCSJISURJT0NHU1RSSU5HIiwJMHg0ODA0fSwKKwl7ImxpbnV4L2hpZGRldi5oIiwJIkhJRElPQ0lOSVRSRVBPUlQiLAkweDQ4MDV9LAorCXsibGludXgvaGlkZGV2LmgiLAkiSElESU9DR1JFUE9SVCIsCTB4NDgwN30sCisJeyJsaW51eC9oaWRkZXYuaCIsCSJISURJT0NTUkVQT1JUIiwJMHg0ODA4fSwKKwl7ImxpbnV4L2hpZGRldi5oIiwJIkhJRElPQ0dSRVBPUlRJTkZPIiwJMHg0ODA5fSwKKwl7ImxpbnV4L2hpZGRldi5oIiwJIkhJRElPQ0dGSUVMRElORk8iLAkweDQ4MGF9LAorCXsibGludXgvaGlkZGV2LmgiLAkiSElESU9DR1VTQUdFIiwJMHg0ODBifSwKKwl7ImxpbnV4L2hpZGRldi5oIiwJIkhJRElPQ1NVU0FHRSIsCTB4NDgwY30sCisJeyJsaW51eC9oaWRkZXYuaCIsCSJISURJT0NHVUNPREUiLAkweDQ4MGR9LAorCXsibGludXgvaGlkZGV2LmgiLAkiSElESU9DR0ZMQUciLAkweDQ4MGV9LAorCXsibGludXgvaGlkZGV2LmgiLAkiSElESU9DU0ZMQUciLAkweDQ4MGZ9LAorCXsibGludXgvaGlkZGV2LmgiLAkiSElESU9DR0NPTExFQ1RJT05JTkRFWCIsCTB4NDgxMH0sCisJeyJsaW51eC9oaWRkZXYuaCIsCSJISURJT0NHQ09MTEVDVElPTklORk8iLAkweDQ4MTF9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRBSUYiLAkweDQ5MDF9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRESUYiLAkweDQ5MDJ9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRTQ0YiLAkweDQ5MDN9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRHQ0YiLAkweDQ5MDR9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRBTk0iLAkweDQ5MDV9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRETk0iLAkweDQ5MDZ9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRHTk0iLAkweDQ5MDd9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NHRVRTRVQiLAkweDQ5MDh9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NTRVRTRVQiLAkweDQ5MDl9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NTRVRWRVIiLAkweDQ5MGF9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRIVVAiLAkweDQ5MGJ9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NTRVRHU1QiLAkweDQ5MGN9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NTRVRCUkoiLAkweDQ5MGR9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NTSUdQUkYiLAkweDQ5MGV9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NHRVRQUkYiLAkweDQ5MGZ9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NTRVRQUkYiLAkweDQ5MTB9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NHRVRNQVAiLAkweDQ5MTF9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NTRVRNQVAiLAkweDQ5MTJ9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRBU0wiLAkweDQ5MTN9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRESUwiLAkweDQ5MTR9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NHRVRDUFMiLAkweDQ5MTV9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NHRVREVlIiLAkweDQ5MTZ9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRMQ1IiLAkweDQ5MTd9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVREV1JTRVQiLAkweDQ5MTh9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRBTE4iLAkweDQ5MjB9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRETE4iLAkweDQ5MjF9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRHUE4iLAkweDQ5MjJ9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NEQkdWQVIiLAkweDQ5N2Z9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NEUlZDVEwiLAkweDQ5ODB9LAorCXsibGludXgva2QuaCIsCSJLSU9DU09VTkQiLAkweDRiMmZ9LAorCXsibGludXgva2QuaCIsCSJLRE1LVE9ORSIsCTB4NGIzMH0sCisJeyJsaW51eC9rZC5oIiwJIktER0VUTEVEIiwJMHg0YjMxfSwKKwl7ImxpbnV4L2tkLmgiLAkiS0RTRVRMRUQiLAkweDRiMzJ9LAorCXsibGludXgva2QuaCIsCSJLREdLQlRZUEUiLAkweDRiMzN9LAorCXsibGludXgva2QuaCIsCSJLREFERElPIiwJMHg0YjM0fSwKKwl7ImxpbnV4L2tkLmgiLAkiS0RERUxJTyIsCTB4NGIzNX0sCisJeyJsaW51eC9rZC5oIiwJIktERU5BQklPIiwJMHg0YjM2fSwKKwl7ImxpbnV4L2tkLmgiLAkiS0RESVNBQklPIiwJMHg0YjM3fSwKKwl7ImxpbnV4L2tkLmgiLAkiS0RTRVRNT0RFIiwJMHg0YjNhfSwKKwl7ImxpbnV4L2tkLmgiLAkiS0RHRVRNT0RFIiwJMHg0YjNifSwKKwl7ImxpbnV4L2tkLmgiLAkiS0RNQVBESVNQIiwJMHg0YjNjfSwKKwl7ImxpbnV4L2tkLmgiLAkiS0RVTk1BUERJU1AiLAkweDRiM2R9LAorCXsibGludXgva2QuaCIsCSJHSU9fU0NSTk1BUCIsCTB4NGI0MH0sCisJeyJsaW51eC9rZC5oIiwJIlBJT19TQ1JOTUFQIiwJMHg0YjQxfSwKKwl7ImxpbnV4L2tkLmgiLAkiS0RHS0JNT0RFIiwJMHg0YjQ0fSwKKwl7ImxpbnV4L2tkLmgiLAkiS0RTS0JNT0RFIiwJMHg0YjQ1fSwKKwl7ImxpbnV4L2tkLmgiLAkiS0RHS0JFTlQiLAkweDRiNDZ9LAorCXsibGludXgva2QuaCIsCSJLRFNLQkVOVCIsCTB4NGI0N30sCisJeyJsaW51eC9rZC5oIiwJIktER0tCU0VOVCIsCTB4NGI0OH0sCisJeyJsaW51eC9rZC5oIiwJIktEU0tCU0VOVCIsCTB4NGI0OX0sCisJeyJsaW51eC9rZC5oIiwJIktER0tCRElBQ1IiLAkweDRiNGF9LAorCXsibGludXgva2QuaCIsCSJLRFNLQkRJQUNSIiwJMHg0YjRifSwKKwl7ImxpbnV4L2tkLmgiLAkiS0RHRVRLRVlDT0RFIiwJMHg0YjRjfSwKKwl7ImxpbnV4L2tkLmgiLAkiS0RTRVRLRVlDT0RFIiwJMHg0YjRkfSwKKwl7ImxpbnV4L2tkLmgiLAkiS0RTSUdBQ0NFUFQiLAkweDRiNGV9LAorCXsibGludXgva2QuaCIsCSJLREtCRFJFUCIsCTB4NGI1Mn0sCisJeyJsaW51eC9rZC5oIiwJIkdJT19GT05UIiwJMHg0YjYwfSwKKwl7ImxpbnV4L2tkLmgiLAkiUElPX0ZPTlQiLAkweDRiNjF9LAorCXsibGludXgva2QuaCIsCSJLREdLQk1FVEEiLAkweDRiNjJ9LAorCXsibGludXgva2QuaCIsCSJLRFNLQk1FVEEiLAkweDRiNjN9LAorCXsibGludXgva2QuaCIsCSJLREdLQkxFRCIsCTB4NGI2NH0sCisJeyJsaW51eC9rZC5oIiwJIktEU0tCTEVEIiwJMHg0YjY1fSwKKwl7ImxpbnV4L2tkLmgiLAkiR0lPX1VOSU1BUCIsCTB4NGI2Nn0sCisJeyJsaW51eC9rZC5oIiwJIlBJT19VTklNQVAiLAkweDRiNjd9LAorCXsibGludXgva2QuaCIsCSJQSU9fVU5JTUFQQ0xSIiwJMHg0YjY4fSwKKwl7ImxpbnV4L2tkLmgiLAkiR0lPX1VOSVNDUk5NQVAiLAkweDRiNjl9LAorCXsibGludXgva2QuaCIsCSJQSU9fVU5JU0NSTk1BUCIsCTB4NGI2YX0sCisJeyJsaW51eC9rZC5oIiwJIkdJT19GT05UWCIsCTB4NGI2Yn0sCisJeyJsaW51eC9rZC5oIiwJIlBJT19GT05UWCIsCTB4NGI2Y30sCisJeyJsaW51eC9rZC5oIiwJIlBJT19GT05UUkVTRVQiLAkweDRiNmR9LAorCXsibGludXgva2QuaCIsCSJHSU9fQ01BUCIsCTB4NGI3MH0sCisJeyJsaW51eC9rZC5oIiwJIlBJT19DTUFQIiwJMHg0YjcxfSwKKwl7ImxpbnV4L2tkLmgiLAkiS0RGT05UT1AiLAkweDRiNzJ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfTUlYRVJfSU5GTyIsCTB4NGQ2NX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9PTERfTUlYRVJfSU5GTyIsCTB4NGQ2NX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9NSVhFUl9BQ0NFU1MiLAkweDRkNjZ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfTUlYRVJfQUdDIiwJMHg0ZDY3fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNPVU5EX01JWEVSXzNEU0UiLAkweDRkNjh9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfTUlYRVJfUFJJVkFURTEiLAkweDRkNmZ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfTUlYRVJfUFJJVkFURTIiLAkweDRkNzB9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfTUlYRVJfUFJJVkFURTMiLAkweDRkNzF9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfTUlYRVJfUFJJVkFURTQiLAkweDRkNzJ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfTUlYRVJfUFJJVkFURTUiLAkweDRkNzN9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfTUlYRVJfR0VUTEVWRUxTIiwJMHg0ZDc0fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNPVU5EX01JWEVSX1NFVExFVkVMUyIsCTB4NGQ3NX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJPU1NfR0VUVkVSU0lPTiIsCTB4NGQ3Nn0sCisJeyJsaW51eC90aWNhYmxlLmgiLAkiSU9DVExfVElVU0JfVElNRU9VVCIsCTB4NGUyMH0sCisJeyJsaW51eC90aWNhYmxlLmgiLAkiSU9DVExfVElVU0JfUkVTRVRfREVWSUNFIiwJMHg0ZTIxfSwKKwl7ImxpbnV4L3RpY2FibGUuaCIsCSJJT0NUTF9USVVTQl9SRVNFVF9QSVBFUyIsCTB4NGUyMn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX1JFU0VUIiwJMHg1MDAwfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfU1lOQyIsCTB4NTAwMX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX1NQRUVEIiwJMHg1MDAyfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNPVU5EX1BDTV9SRUFEX1JBVEUiLAkweDUwMDJ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9TVEVSRU8iLAkweDUwMDN9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9HRVRCTEtTSVpFIiwJMHg1MDA0fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfU0VURk1UIiwJMHg1MDA1fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNPVU5EX1BDTV9SRUFEX0JJVFMiLAkweDUwMDV9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9DSEFOTkVMUyIsCTB4NTAwNn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9QQ01fUkVBRF9DSEFOTkVMUyIsCTB4NTAwNn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9QQ01fUkVBRF9GSUxURVIiLAkweDUwMDd9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfUENNX1dSSVRFX0ZJTFRFUiIsCTB4NTAwN30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX1BPU1QiLAkweDUwMDh9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9TVUJESVZJREUiLAkweDUwMDl9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9TRVRGUkFHTUVOVCIsCTB4NTAwYX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX0dFVEZNVFMiLAkweDUwMGJ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9HRVRPU1BBQ0UiLAkweDUwMGN9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9HRVRJU1BBQ0UiLAkweDUwMGR9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9OT05CTE9DSyIsCTB4NTAwZX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX0dFVENBUFMiLAkweDUwMGZ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9HRVRUUklHR0VSIiwJMHg1MDEwfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfU0VUVFJJR0dFUiIsCTB4NTAxMH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX0dFVElQVFIiLAkweDUwMTF9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9HRVRPUFRSIiwJMHg1MDEyfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfTUFQSU5CVUYiLAkweDUwMTN9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9NQVBPVVRCVUYiLAkweDUwMTR9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9TRVRTWU5DUk8iLAkweDUwMTV9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9TRVREVVBMRVgiLAkweDUwMTZ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9HRVRPREVMQVkiLAkweDUwMTd9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9QUk9GSUxFIiwJMHg1MDE3fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfR0VUQ0hBTk5FTE1BU0siLAkweDUwNDB9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9CSU5EX0NIQU5ORUwiLAkweDUwNDF9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9TRVRTUERJRiIsCTB4NTA0Mn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX0dFVFNQRElGIiwJMHg1MDQzfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TRVFfUkVTRVQiLAkweDUxMDB9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NFUV9TWU5DIiwJMHg1MTAxfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TWU5USF9JTkZPIiwJMHg1MTAyfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TRVFfQ1RSTFJBVEUiLAkweDUxMDN9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NFUV9HRVRPVVRDT1VOVCIsCTB4NTEwNH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU0VRX0dFVElOQ09VTlQiLAkweDUxMDV9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NFUV9QRVJDTU9ERSIsCTB4NTEwNn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRk1fTE9BRF9JTlNUUiIsCTB4NTEwN30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU0VRX1RFU1RNSURJIiwJMHg1MTA4fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TRVFfUkVTRVRTQU1QTEVTIiwJMHg1MTA5fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TRVFfTlJTWU5USFMiLAkweDUxMGF9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NFUV9OUk1JRElTIiwJMHg1MTBifSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9NSURJX0lORk8iLAkweDUxMGN9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NFUV9USFJFU0hPTEQiLAkweDUxMGR9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NZTlRIX01FTUFWTCIsCTB4NTEwZX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRk1fNE9QX0VOQUJMRSIsCTB4NTEwZn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU0VRX1BBTklDIiwJMHg1MTExfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TRVFfT1VUT0ZCQU5EIiwJMHg1MTEyfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TRVFfR0VUVElNRSIsCTB4NTExM30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU1lOVEhfSUQiLAkweDUxMTR9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NZTlRIX0NPTlRST0wiLAkweDUxMTV9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NZTlRIX1JFTU9WRVNBTVBMRSIsCTB4NTExNn0sCisJeyJsaW51eC9yYW5kb20uaCIsCSJSTkRHRVRFTlRDTlQiLAkweDUyMDB9LAorCXsibGludXgvcmFuZG9tLmgiLAkiUk5EQUREVE9FTlRDTlQiLAkweDUyMDF9LAorCXsibGludXgvcmFuZG9tLmgiLAkiUk5ER0VUUE9PTCIsCTB4NTIwMn0sCisJeyJsaW51eC9yYW5kb20uaCIsCSJSTkRBRERFTlRST1BZIiwJMHg1MjAzfSwKKwl7ImxpbnV4L3JhbmRvbS5oIiwJIlJORFpBUEVOVENOVCIsCTB4NTIwNH0sCisJeyJsaW51eC9yYW5kb20uaCIsCSJSTkRDTEVBUlBPT0wiLAkweDUyMDZ9LAorCXsibGludXgvY2Ryb20uaCIsCSJDRFJPTVBBVVNFIiwJMHg1MzAxfSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiQ0RST01SRVNVTUUiLAkweDUzMDJ9LAorCXsibGludXgvY2Ryb20uaCIsCSJDRFJPTVBMQVlNU0YiLAkweDUzMDN9LAorCXsibGludXgvY2Ryb20uaCIsCSJDRFJPTVBMQVlUUktJTkQiLAkweDUzMDR9LAorCXsibGludXgvY2Ryb20uaCIsCSJDRFJPTVJFQURUT0NIRFIiLAkweDUzMDV9LAorCXsibGludXgvY2Ryb20uaCIsCSJDRFJPTVJFQURUT0NFTlRSWSIsCTB4NTMwNn0sCisJeyJsaW51eC9jZHJvbS5oIiwJIkNEUk9NU1RPUCIsCTB4NTMwN30sCisJeyJsaW51eC9jZHJvbS5oIiwJIkNEUk9NU1RBUlQiLAkweDUzMDh9LAorCXsibGludXgvY2Ryb20uaCIsCSJDRFJPTUVKRUNUIiwJMHg1MzA5fSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiQ0RST01WT0xDVFJMIiwJMHg1MzBhfSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiQ0RST01TVUJDSE5MIiwJMHg1MzBifSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiQ0RST01SRUFETU9ERTIiLAkweDUzMGN9LAorCXsibGludXgvY2Ryb20uaCIsCSJDRFJPTVJFQURNT0RFMSIsCTB4NTMwZH0sCisJeyJsaW51eC9jZHJvbS5oIiwJIkNEUk9NUkVBREFVRElPIiwJMHg1MzBlfSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiQ0RST01FSkVDVF9TVyIsCTB4NTMwZn0sCisJeyJsaW51eC9jZHJvbS5oIiwJIkNEUk9NTVVMVElTRVNTSU9OIiwJMHg1MzEwfSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiQ0RST01fR0VUX01DTiIsCTB4NTMxMX0sCisJeyJsaW51eC9jZHJvbS5oIiwJIkNEUk9NUkVTRVQiLAkweDUzMTJ9LAorCXsibGludXgvY2Ryb20uaCIsCSJDRFJPTVZPTFJFQUQiLAkweDUzMTN9LAorCXsibGludXgvY2Ryb20uaCIsCSJDRFJPTVJFQURSQVciLAkweDUzMTR9LAorCXsibGludXgvY2Ryb20uaCIsCSJDRFJPTVJFQURDT09LRUQiLAkweDUzMTV9LAorCXsibGludXgvY2Ryb20uaCIsCSJDRFJPTVNFRUsiLAkweDUzMTZ9LAorCXsibGludXgvY2Ryb20uaCIsCSJDRFJPTVBMQVlCTEsiLAkweDUzMTd9LAorCXsibGludXgvY2Ryb20uaCIsCSJDRFJPTVJFQURBTEwiLAkweDUzMTh9LAorCXsibGludXgvY2Ryb20uaCIsCSJDRFJPTUNMT1NFVFJBWSIsCTB4NTMxOX0sCisJeyJsaW51eC9jZHJvbS5oIiwJIkNEUk9NR0VUU1BJTkRPV04iLAkweDUzMWR9LAorCXsibGludXgvY2Ryb20uaCIsCSJDRFJPTVNFVFNQSU5ET1dOIiwJMHg1MzFlfSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiQ0RST01fU0VUX09QVElPTlMiLAkweDUzMjB9LAorCXsibGludXgvY2Ryb20uaCIsCSJDRFJPTV9DTEVBUl9PUFRJT05TIiwJMHg1MzIxfSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiQ0RST01fU0VMRUNUX1NQRUVEIiwJMHg1MzIyfSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiQ0RST01fU0VMRUNUX0RJU0MiLAkweDUzMjN9LAorCXsibGludXgvY2Ryb20uaCIsCSJDRFJPTV9NRURJQV9DSEFOR0VEIiwJMHg1MzI1fSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiQ0RST01fRFJJVkVfU1RBVFVTIiwJMHg1MzI2fSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiQ0RST01fRElTQ19TVEFUVVMiLAkweDUzMjd9LAorCXsibGludXgvY2Ryb20uaCIsCSJDRFJPTV9DSEFOR0VSX05TTE9UUyIsCTB4NTMyOH0sCisJeyJsaW51eC9jZHJvbS5oIiwJIkNEUk9NX0xPQ0tET09SIiwJMHg1MzI5fSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiQ0RST01fREVCVUciLAkweDUzMzB9LAorCXsibGludXgvY2Ryb20uaCIsCSJDRFJPTV9HRVRfQ0FQQUJJTElUWSIsCTB4NTMzMX0sCisJeyJzY3NpL3Njc2lfaW9jdGwuaCIsCSJTQ1NJX0lPQ1RMX0RPT1JMT0NLIiwJMHg1MzgwfSwKKwl7InNjc2kvc2NzaV9pb2N0bC5oIiwJIlNDU0lfSU9DVExfRE9PUlVOTE9DSyIsCTB4NTM4MX0sCisJeyJsaW51eC9jZHJvbS5oIiwJIkNEUk9NQVVESU9CVUZTSVoiLAkweDUzODJ9LAorCXsic2NzaS9zY3NpLmgiLAkiU0NTSV9JT0NUTF9HRVRfSURMVU4iLAkweDUzODJ9LAorCXsic2NzaS9zY3NpLmgiLAkiU0NTSV9JT0NUTF9UQUdHRURfRU5BQkxFIiwJMHg1MzgzfSwKKwl7InNjc2kvc2NzaS5oIiwJIlNDU0lfSU9DVExfVEFHR0VEX0RJU0FCTEUiLAkweDUzODR9LAorCXsic2NzaS9zY3NpLmgiLAkiU0NTSV9JT0NUTF9QUk9CRV9IT1NUIiwJMHg1Mzg1fSwKKwl7InNjc2kvc2NzaS5oIiwJIlNDU0lfSU9DVExfR0VUX0JVU19OVU1CRVIiLAkweDUzODZ9LAorCXsibGludXgvY2Ryb20uaCIsCSJEVkRfUkVBRF9TVFJVQ1QiLAkweDUzOTB9LAorCXsibGludXgvY2Ryb20uaCIsCSJEVkRfV1JJVEVfU1RSVUNUIiwJMHg1MzkxfSwKKwl7ImxpbnV4L2Nkcm9tLmgiLAkiRFZEX0FVVEgiLAkweDUzOTJ9LAorCXsibGludXgvY2Ryb20uaCIsCSJDRFJPTV9TRU5EX1BBQ0tFVCIsCTB4NTM5M30sCisJeyJsaW51eC9jZHJvbS5oIiwJIkNEUk9NX05FWFRfV1JJVEFCTEUiLAkweDUzOTR9LAorCXsibGludXgvY2Ryb20uaCIsCSJDRFJPTV9MQVNUX1dSSVRURU4iLAkweDUzOTV9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1RNUl9USU1FQkFTRSIsCTB4NTQwMX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfVE1SX1NUQVJUIiwJMHg1NDAyfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9UTVJfU1RPUCIsCTB4NTQwM30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfVE1SX0NPTlRJTlVFIiwJMHg1NDA0fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9UTVJfVEVNUE8iLAkweDU0MDV9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1RNUl9TT1VSQ0UiLAkweDU0MDZ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1RNUl9NRVRST05PTUUiLAkweDU0MDd9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1RNUl9TRUxFQ1QiLAkweDU0MDh9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NFWENMIiwJMHg1NDBjfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DTlhDTCIsCTB4NTQwZH0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NDVFRZIiwJMHg1NDBlfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DU1RJIiwJMHg1NDEyfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DTUdFVCIsCTB4NTQxNX0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ01CSVMiLAkweDU0MTZ9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NNQklDIiwJMHg1NDE3fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DTVNFVCIsCTB4NTQxOH0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ0dTT0ZUQ0FSIiwJMHg1NDE5fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DU1NPRlRDQVIiLAkweDU0MWF9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NMSU5VWCIsCTB4NTQxY30sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ0NPTlMiLAkweDU0MWR9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NHU0VSSUFMIiwJMHg1NDFlfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DU1NFUklBTCIsCTB4NTQxZn0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1BLVCIsCTB4NTQyMH0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ05PVFRZIiwJMHg1NDIyfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DU0VURCIsCTB4NTQyM30sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ0dFVEQiLAkweDU0MjR9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRDU0JSS1AiLAkweDU0MjV9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NTQlJLIiwJMHg1NDI3fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DQ0JSSyIsCTB4NTQyOH0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ0dTSUQiLAkweDU0Mjl9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NHUFROIiwJMHg1NDMwfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DU1BUTENLIiwJMHg1NDMxfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DU0VSQ09ORklHIiwJMHg1NDUzfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DU0VSR1dJTEQiLAkweDU0NTR9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NTRVJTV0lMRCIsCTB4NTQ1NX0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ0dMQ0tUUk1JT1MiLAkweDU0NTZ9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NTTENLVFJNSU9TIiwJMHg1NDU3fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DU0VSR1NUUlVDVCIsCTB4NTQ1OH0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NFUkdFVExTUiIsCTB4NTQ1OX0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NFUkdFVE1VTFRJIiwJMHg1NDVhfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DU0VSU0VUTVVMVEkiLAkweDU0NWJ9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NNSVdBSVQiLAkweDU0NWN9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NHSUNPVU5UIiwJMHg1NDVkfSwKKwl7ImxpbnV4L2lmX3R1bi5oIiwJIlRVTlNFVE5PQ1NVTSIsCTB4NTRjOH0sCisJeyJsaW51eC9pZl90dW4uaCIsCSJUVU5TRVRERUJVRyIsCTB4NTRjOX0sCisJeyJsaW51eC9pZl90dW4uaCIsCSJUVU5TRVRJRkYiLAkweDU0Y2F9LAorCXsibGludXgvaWZfdHVuLmgiLAkiVFVOU0VUUEVSU0lTVCIsCTB4NTRjYn0sCisJeyJsaW51eC9pZl90dW4uaCIsCSJUVU5TRVRPV05FUiIsCTB4NTRjY30sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19DT05UUk9MIiwJMHg1NTAwfSwKKwl7ImxpbnV4L3VpbnB1dC5oIiwJIlVJX0RFVl9DUkVBVEUiLAkweDU1MDF9LAorCXsibGludXgvdWlucHV0LmgiLAkiVUlfREVWX0RFU1RST1kiLAkweDU1MDJ9LAorCXsibGludXgvdXNiZGV2aWNlX2ZzLmgiLAkiVVNCREVWRlNfQlVMSyIsCTB4NTUwMn0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19SRVNFVEVQIiwJMHg1NTAzfSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX1NFVElOVEVSRkFDRSIsCTB4NTUwNH0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19TRVRDT05GSUdVUkFUSU9OIiwJMHg1NTA1fSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX0dFVERSSVZFUiIsCTB4NTUwOH0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19TVUJNSVRVUkIiLAkweDU1MGF9LAorCXsibGludXgvdXNiZGV2aWNlX2ZzLmgiLAkiVVNCREVWRlNfRElTQ0FSRFVSQiIsCTB4NTUwYn0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19SRUFQVVJCIiwJMHg1NTBjfSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX1JFQVBVUkJOREVMQVkiLAkweDU1MGR9LAorCXsibGludXgvdXNiZGV2aWNlX2ZzLmgiLAkiVVNCREVWRlNfRElTQ1NJR05BTCIsCTB4NTUwZX0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19DTEFJTUlOVEVSRkFDRSIsCTB4NTUwZn0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19SRUxFQVNFSU5URVJGQUNFIiwJMHg1NTEwfSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX0NPTk5FQ1RJTkZPIiwJMHg1NTExfSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX0lPQ1RMIiwJMHg1NTEyfSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX0hVQl9QT1JUSU5GTyIsCTB4NTUxM30sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19SRVNFVCIsCTB4NTUxNH0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19DTEVBUl9IQUxUIiwJMHg1NTE1fSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX0RJU0NPTk5FQ1QiLAkweDU1MTZ9LAorCXsibGludXgvdXNiZGV2aWNlX2ZzLmgiLAkiVVNCREVWRlNfQ09OTkVDVCIsCTB4NTUxN30sCisJeyJsaW51eC91aW5wdXQuaCIsCSJVSV9TRVRfRVZCSVQiLAkweDU1NjR9LAorCXsibGludXgvdWlucHV0LmgiLAkiVUlfU0VUX0tFWUJJVCIsCTB4NTU2NX0sCisJeyJsaW51eC91aW5wdXQuaCIsCSJVSV9TRVRfUkVMQklUIiwJMHg1NTY2fSwKKwl7ImxpbnV4L3VpbnB1dC5oIiwJIlVJX1NFVF9BQlNCSVQiLAkweDU1Njd9LAorCXsibGludXgvdWlucHV0LmgiLAkiVUlfU0VUX01TQ0JJVCIsCTB4NTU2OH0sCisJeyJsaW51eC91aW5wdXQuaCIsCSJVSV9TRVRfTEVEQklUIiwJMHg1NTY5fSwKKwl7ImxpbnV4L3VpbnB1dC5oIiwJIlVJX1NFVF9TTkRCSVQiLAkweDU1NmF9LAorCXsibGludXgvdWlucHV0LmgiLAkiVUlfU0VUX0ZGQklUIiwJMHg1NTZifSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19RVUVSWUNBUCIsCTB4NTYwMH0sCisJeyJsaW51eC92dC5oIiwJIlZUX09QRU5RUlkiLAkweDU2MDB9LAorCXsibGludXgvdmlkZW9kZXYyLmgiLAkiVklESU9DX1JFU0VSVkVEIiwJMHg1NjAxfSwKKwl7ImxpbnV4L3Z0LmgiLAkiVlRfR0VUTU9ERSIsCTB4NTYwMX0sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfRU5VTV9GTVQiLAkweDU2MDJ9LAorCXsibGludXgvdnQuaCIsCSJWVF9TRVRNT0RFIiwJMHg1NjAyfSwKKwl7ImxpbnV4L3Z0LmgiLAkiVlRfR0VUU1RBVEUiLAkweDU2MDN9LAorCXsibGludXgvdmlkZW9kZXYyLmgiLAkiVklESU9DX0dfRk1UIiwJMHg1NjA0fSwKKwl7ImxpbnV4L3Z0LmgiLAkiVlRfU0VORFNJRyIsCTB4NTYwNH0sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfU19GTVQiLAkweDU2MDV9LAorCXsibGludXgvdnQuaCIsCSJWVF9SRUxESVNQIiwJMHg1NjA1fSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19HX0NPTVAiLAkweDU2MDZ9LAorCXsibGludXgvdnQuaCIsCSJWVF9BQ1RJVkFURSIsCTB4NTYwNn0sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfU19DT01QIiwJMHg1NjA3fSwKKwl7ImxpbnV4L3Z0LmgiLAkiVlRfV0FJVEFDVElWRSIsCTB4NTYwN30sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfUkVRQlVGUyIsCTB4NTYwOH0sCisJeyJsaW51eC92dC5oIiwJIlZUX0RJU0FMTE9DQVRFIiwJMHg1NjA4fSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19RVUVSWUJVRiIsCTB4NTYwOX0sCisJeyJsaW51eC92dC5oIiwJIlZUX1JFU0laRSIsCTB4NTYwOX0sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfR19GQlVGIiwJMHg1NjBhfSwKKwl7ImxpbnV4L3Z0LmgiLAkiVlRfUkVTSVpFWCIsCTB4NTYwYX0sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfU19GQlVGIiwJMHg1NjBifSwKKwl7ImxpbnV4L3Z0LmgiLAkiVlRfTE9DS1NXSVRDSCIsCTB4NTYwYn0sCisJeyJsaW51eC92dC5oIiwJIlZUX1VOTE9DS1NXSVRDSCIsCTB4NTYwY30sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfT1ZFUkxBWSIsCTB4NTYwZX0sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfUUJVRiIsCTB4NTYwZn0sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfRFFCVUYiLAkweDU2MTF9LAorCXsibGludXgvdmlkZW9kZXYyLmgiLAkiVklESU9DX1NUUkVBTU9OIiwJMHg1NjEyfSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19TVFJFQU1PRkYiLAkweDU2MTN9LAorCXsibGludXgvdmlkZW9kZXYyLmgiLAkiVklESU9DX0dfUEFSTSIsCTB4NTYxNX0sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfU19QQVJNIiwJMHg1NjE2fSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19HX1NURCIsCTB4NTYxN30sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfU19TVEQiLAkweDU2MTh9LAorCXsibGludXgvdmlkZW9kZXYyLmgiLAkiVklESU9DX0VOVU1TVEQiLAkweDU2MTl9LAorCXsibGludXgvdmlkZW9kZXYyLmgiLAkiVklESU9DX0VOVU1JTlBVVCIsCTB4NTYxYX0sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfR19DVFJMIiwJMHg1NjFifSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19TX0NUUkwiLAkweDU2MWN9LAorCXsibGludXgvdmlkZW9kZXYyLmgiLAkiVklESU9DX0dfVFVORVIiLAkweDU2MWR9LAorCXsibGludXgvdmlkZW9kZXYyLmgiLAkiVklESU9DX1NfVFVORVIiLAkweDU2MWV9LAorCXsibGludXgvdmlkZW9kZXYyLmgiLAkiVklESU9DX0dfQVVESU8iLAkweDU2MjF9LAorCXsibGludXgvdmlkZW9kZXYyLmgiLAkiVklESU9DX1NfQVVESU8iLAkweDU2MjJ9LAorCXsibGludXgvdmlkZW9kZXYyLmgiLAkiVklESU9DX1FVRVJZQ1RSTCIsCTB4NTYyNH0sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfUVVFUllNRU5VIiwJMHg1NjI1fSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19HX0lOUFVUIiwJMHg1NjI2fSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19TX0lOUFVUIiwJMHg1NjI3fSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19HX09VVFBVVCIsCTB4NTYyZX0sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfU19PVVRQVVQiLAkweDU2MmZ9LAorCXsibGludXgvdmlkZW9kZXYyLmgiLAkiVklESU9DX0VOVU1PVVRQVVQiLAkweDU2MzB9LAorCXsibGludXgvdmlkZW9kZXYyLmgiLAkiVklESU9DX0dfQVVET1VUIiwJMHg1NjMxfSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19TX0FVRE9VVCIsCTB4NTYzMn0sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfR19NT0RVTEFUT1IiLAkweDU2MzZ9LAorCXsibGludXgvdmlkZW9kZXYyLmgiLAkiVklESU9DX1NfTU9EVUxBVE9SIiwJMHg1NjM3fSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19HX0ZSRVFVRU5DWSIsCTB4NTYzOH0sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfU19GUkVRVUVOQ1kiLAkweDU2Mzl9LAorCXsibGludXgvdmlkZW9kZXYyLmgiLAkiVklESU9DX0NST1BDQVAiLAkweDU2M2F9LAorCXsibGludXgvdmlkZW9kZXYyLmgiLAkiVklESU9DX0dfQ1JPUCIsCTB4NTYzYn0sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfU19DUk9QIiwJMHg1NjNjfSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19HX0pQRUdDT01QIiwJMHg1NjNkfSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19TX0pQRUdDT01QIiwJMHg1NjNlfSwKKwl7ImxpbnV4L3ZpZGVvZGV2Mi5oIiwJIlZJRElPQ19RVUVSWVNURCIsCTB4NTYzZn0sCisJeyJsaW51eC92aWRlb2RldjIuaCIsCSJWSURJT0NfVFJZX0ZNVCIsCTB4NTY0MH0sCisJeyJsaW51eC93YXRjaGRvZy5oIiwJIldESU9DX0dFVFNVUFBPUlQiLAkweDU3MDB9LAorCXsibGludXgvd2F0Y2hkb2cuaCIsCSJXRElPQ19HRVRTVEFUVVMiLAkweDU3MDF9LAorCXsibGludXgvd2F0Y2hkb2cuaCIsCSJXRElPQ19HRVRCT09UU1RBVFVTIiwJMHg1NzAyfSwKKwl7ImxpbnV4L3dhdGNoZG9nLmgiLAkiV0RJT0NfR0VUVEVNUCIsCTB4NTcwM30sCisJeyJsaW51eC93YXRjaGRvZy5oIiwJIldESU9DX1NFVE9QVElPTlMiLAkweDU3MDR9LAorCXsibGludXgvd2F0Y2hkb2cuaCIsCSJXRElPQ19LRUVQQUxJVkUiLAkweDU3MDV9LAorCXsibGludXgvd2F0Y2hkb2cuaCIsCSJXRElPQ19TRVRUSU1FT1VUIiwJMHg1NzA2fSwKKwl7ImxpbnV4L3dhdGNoZG9nLmgiLAkiV0RJT0NfR0VUVElNRU9VVCIsCTB4NTcwN30sCisJeyJsaW51eC9pdGVfZ3Bpby5oIiwJIklURV9HUElPX0lOIiwJMHg1YTAwfSwKKwl7ImxpbnV4L2l0ZV9ncGlvLmgiLAkiSVRFX0dQSU9fT1VUIiwJMHg1YTAxfSwKKwl7ImxpbnV4L2l0ZV9ncGlvLmgiLAkiSVRFX0dQSU9fSU5UX0NUUkwiLAkweDVhMDJ9LAorCXsibGludXgvaXRlX2dwaW8uaCIsCSJJVEVfR1BJT19JTl9TVEFUVVMiLAkweDVhMDN9LAorCXsibGludXgvaXRlX2dwaW8uaCIsCSJJVEVfR1BJT19PVVRfU1RBVFVTIiwJMHg1YTA0fSwKKwl7ImxpbnV4L2l0ZV9ncGlvLmgiLAkiSVRFX0dQSU9fR0VOX0NUUkwiLAkweDVhMDV9LAorCXsibGludXgvaXRlX2dwaW8uaCIsCSJJVEVfR1BJT19JTlRfV0FJVCIsCTB4NWEwNn0sCisJeyJsaW51eC9zb25ldC5oIiwJIlNPTkVUX0dFVFNUQVQiLAkweDYxMTB9LAorCXsibGludXgvc29uZXQuaCIsCSJTT05FVF9HRVRTVEFUWiIsCTB4NjExMX0sCisJeyJsaW51eC9zb25ldC5oIiwJIlNPTkVUX1NFVERJQUciLAkweDYxMTJ9LAorCXsibGludXgvc29uZXQuaCIsCSJTT05FVF9DTFJESUFHIiwJMHg2MTEzfSwKKwl7ImxpbnV4L3NvbmV0LmgiLAkiU09ORVRfR0VURElBRyIsCTB4NjExNH0sCisJeyJsaW51eC9zb25ldC5oIiwJIlNPTkVUX1NFVEZSQU1JTkciLAkweDYxMTV9LAorCXsibGludXgvc29uZXQuaCIsCSJTT05FVF9HRVRGUkFNSU5HIiwJMHg2MTE2fSwKKwl7ImxpbnV4L3NvbmV0LmgiLAkiU09ORVRfR0VURlJTRU5TRSIsCTB4NjExN30sCisJeyJsaW51eC9hdG1faWR0NzcxMDUuaCIsCSJJRFQ3NzEwNV9HRVRTVEFUIiwJMHg2MTMyfSwKKwl7ImxpbnV4L2F0bV9pZHQ3NzEwNS5oIiwJIklEVDc3MTA1X0dFVFNUQVRaIiwJMHg2MTMzfSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9HRVRTVEFUIiwJMHg2MTUwfSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9HRVRTVEFUWiIsCTB4NjE1MX0sCisJeyJsaW51eC9hdG1kZXYuaCIsCSJBVE1fR0VUTE9PUCIsCTB4NjE1Mn0sCisJeyJsaW51eC9hdG1kZXYuaCIsCSJBVE1fU0VUTE9PUCIsCTB4NjE1M30sCisJeyJsaW51eC9hdG1kZXYuaCIsCSJBVE1fUVVFUllMT09QIiwJMHg2MTU0fSwKKwl7ImxpbnV4L2F0bV9lbmkuaCIsCSJFTklfTUVNRFVNUCIsCTB4NjE2MH0sCisJeyJsaW51eC9hdG1faGUuaCIsCSJIRV9HRVRfUkVHIiwJMHg2MTYwfSwKKwl7ImxpbnV4L2F0bV9uaWNzdGFyLmgiLAkiTlNfR0VUUFNUQVQiLAkweDYxNjF9LAorCXsibGludXgvYXRtX3phdG0uaCIsCSJaQVRNX0dFVFBPT0wiLAkweDYxNjF9LAorCXsibGludXgvYXRtX25pY3N0YXIuaCIsCSJOU19TRVRCVUZMRVYiLAkweDYxNjJ9LAorCXsibGludXgvYXRtX3phdG0uaCIsCSJaQVRNX0dFVFBPT0xaIiwJMHg2MTYyfSwKKwl7ImxpbnV4L2F0bV9uaWNzdGFyLmgiLAkiTlNfQURKQlVGTEVWIiwJMHg2MTYzfSwKKwl7ImxpbnV4L2F0bV96YXRtLmgiLAkiWkFUTV9TRVRQT09MIiwJMHg2MTYzfSwKKwl7ImxpbnV4L2F0bV9lbmkuaCIsCSJFTklfU0VUTVVMVCIsCTB4NjE2N30sCisJeyJsaW51eC9hdG1fdGNwLmgiLAkiU0lPQ1NJRkFUTVRDUCIsCTB4NjE4MH0sCisJeyJsaW51eC9hdG1kZXYuaCIsCSJBVE1fR0VUTElOS1JBVEUiLAkweDYxODF9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX0dFVE5BTUVTIiwJMHg2MTgzfSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9HRVRUWVBFIiwJMHg2MTg0fSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9HRVRFU0kiLAkweDYxODV9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX0dFVEFERFIiLAkweDYxODZ9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX1JTVEFERFIiLAkweDYxODd9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX0FEREFERFIiLAkweDYxODh9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX0RFTEFERFIiLAkweDYxODl9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX0dFVENJUkFOR0UiLAkweDYxOGF9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX1NFVENJUkFOR0UiLAkweDYxOGJ9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX1NFVEVTSSIsCTB4NjE4Y30sCisJeyJsaW51eC9hdG1kZXYuaCIsCSJBVE1fU0VURVNJRiIsCTB4NjE4ZH0sCisJeyJsaW51eC9hdG1fdGNwLmgiLAkiQVRNVENQX0NSRUFURSIsCTB4NjE4ZX0sCisJeyJsaW51eC9hdG1fdGNwLmgiLAkiQVRNVENQX1JFTU9WRSIsCTB4NjE4Zn0sCisJeyJsaW51eC9hdG1icjI2ODQuaCIsCSJCUjI2ODRfU0VURklMVCIsCTB4NjE5MH0sCisJeyJsaW51eC9hdG1sZWMuaCIsCSJBVE1MRUNfQ1RSTCIsCTB4NjFkMH0sCisJeyJsaW51eC9hdG1sZWMuaCIsCSJBVE1MRUNfREFUQSIsCTB4NjFkMX0sCisJeyJsaW51eC9hdG1sZWMuaCIsCSJBVE1MRUNfTUNBU1QiLAkweDYxZDJ9LAorCXsibGludXgvYXRtbXBjLmgiLAkiQVRNTVBDX0NUUkwiLAkweDYxZDh9LAorCXsibGludXgvYXRtbXBjLmgiLAkiQVRNTVBDX0RBVEEiLAkweDYxZDl9LAorCXsibGludXgvYXRtY2xpcC5oIiwJIlNJT0NNS0NMSVAiLAkweDYxZTB9LAorCXsibGludXgvYXRtYXJwLmgiLAkiQVRNQVJQRF9DVFJMIiwJMHg2MWUxfSwKKwl7ImxpbnV4L2F0bWFycC5oIiwJIkFUTUFSUF9NS0lQIiwJMHg2MWUyfSwKKwl7ImxpbnV4L2F0bWFycC5oIiwJIkFUTUFSUF9TRVRFTlRSWSIsCTB4NjFlM30sCisJeyJsaW51eC9hdG1hcnAuaCIsCSJBVE1BUlBfRU5DQVAiLAkweDYxZTV9LAorCXsibGludXgvYXRtc3ZjLmgiLAkiQVRNU0lHRF9DVFJMIiwJMHg2MWYwfSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9TRVRTQyIsCTB4NjFmMX0sCisJeyJsaW51eC9hdG1kZXYuaCIsCSJBVE1fU0VUQkFDS0VORCIsCTB4NjFmMn0sCisJeyJsaW51eC9hdG1kZXYuaCIsCSJBVE1fTkVXQkFDS0VORElGIiwJMHg2MWYzfSwKKwl7ImxpbnV4L2NvZGEuaCIsCSJDSU9DX0tFUk5FTF9WRVJTSU9OIiwJMHg2MzBhfSwKKwl7ImxpbnV4L2NvbXN0YXRzLmgiLAkiQ09NX0dFVFBPUlRTVEFUUyIsCTB4NjMxZX0sCisJeyJsaW51eC9jb21zdGF0cy5oIiwJIkNPTV9DTFJQT1JUU1RBVFMiLAkweDYzMWZ9LAorCXsibGludXgvY29tc3RhdHMuaCIsCSJDT01fR0VUQlJEU1RBVFMiLAkweDYzMjB9LAorCXsibGludXgvY29tc3RhdHMuaCIsCSJDT01fUkVBRFBPUlQiLAkweDYzMjh9LAorCXsibGludXgvY29tc3RhdHMuaCIsCSJDT01fUkVBREJPQVJEIiwJMHg2MzI5fSwKKwl7ImxpbnV4L2NvbXN0YXRzLmgiLAkiQ09NX1JFQURQQU5FTCIsCTB4NjMyYX0sCisJeyJsaW51eC9kZXZmc19mcy5oIiwJIkRFVkZTRElPQ19HRVRfUFJPVE9fUkVWIiwJMHg2NDAwfSwKKwl7ImxpbnV4L3ZpZGVvX2RlY29kZXIuaCIsCSJERUNPREVSX0dFVF9DQVBBQklMSVRJRVMiLAkweDY0MDF9LAorCXsibGludXgvdmlkZW9fZGVjb2Rlci5oIiwJIkRFQ09ERVJfR0VUX1NUQVRVUyIsCTB4NjQwMn0sCisJeyJsaW51eC9kZXZmc19mcy5oIiwJIkRFVkZTRElPQ19TRVRfRVZFTlRfTUFTSyIsCTB4NjQwMn0sCisJeyJsaW51eC92aWRlb19kZWNvZGVyLmgiLAkiREVDT0RFUl9TRVRfTk9STSIsCTB4NjQwM30sCisJeyJsaW51eC9kZXZmc19mcy5oIiwJIkRFVkZTRElPQ19SRUxFQVNFX0VWRU5UX1FVRVVFIiwJMHg2NDAzfSwKKwl7ImxpbnV4L3ZpZGVvX2RlY29kZXIuaCIsCSJERUNPREVSX1NFVF9JTlBVVCIsCTB4NjQwNH0sCisJeyJsaW51eC9kZXZmc19mcy5oIiwJIkRFVkZTRElPQ19TRVRfREVCVUdfTUFTSyIsCTB4NjQwNH0sCisJeyJsaW51eC92aWRlb19kZWNvZGVyLmgiLAkiREVDT0RFUl9TRVRfT1VUUFVUIiwJMHg2NDA1fSwKKwl7ImxpbnV4L3ZpZGVvX2RlY29kZXIuaCIsCSJERUNPREVSX0VOQUJMRV9PVVRQVVQiLAkweDY0MDZ9LAorCXsibGludXgvdmlkZW9fZGVjb2Rlci5oIiwJIkRFQ09ERVJfU0VUX1BJQ1RVUkUiLAkweDY0MDd9LAorCXsibGludXgvdmlkZW9fZGVjb2Rlci5oIiwJIkRFQ09ERVJfRFVNUCIsCTB4NjRjMH0sCisJeyJsaW51eC92aWRlb19lbmNvZGVyLmgiLAkiRU5DT0RFUl9HRVRfQ0FQQUJJTElUSUVTIiwJMHg2NTAxfSwKKwl7ImxpbnV4L3ZpZGVvX2VuY29kZXIuaCIsCSJFTkNPREVSX1NFVF9OT1JNIiwJMHg2NTAyfSwKKwl7ImxpbnV4L3ZpZGVvX2VuY29kZXIuaCIsCSJFTkNPREVSX1NFVF9JTlBVVCIsCTB4NjUwM30sCisJeyJsaW51eC92aWRlb19lbmNvZGVyLmgiLAkiRU5DT0RFUl9TRVRfT1VUUFVUIiwJMHg2NTA0fSwKKwl7ImxpbnV4L3ZpZGVvX2VuY29kZXIuaCIsCSJFTkNPREVSX0VOQUJMRV9PVVRQVVQiLAkweDY1MDV9LAorCXsibGludXgvZXh0Ml9mcy5oIiwJIkVYVDJfSU9DX0dFVEZMQUdTIiwJMHg2NjAxfSwKKwl7ImxpbnV4L2V4dDNfZnMuaCIsCSJFWFQzX0lPQ19HRVRGTEFHUyIsCTB4NjYwMX0sCisJeyJhc20vaW9jdGxzLmgiLAkiRklPQ0xFWCIsCTB4NjYwMX0sCisJeyJsaW51eC9leHQyX2ZzLmgiLAkiRVhUMl9JT0NfU0VURkxBR1MiLAkweDY2MDJ9LAorCXsibGludXgvZXh0M19mcy5oIiwJIkVYVDNfSU9DX1NFVEZMQUdTIiwJMHg2NjAyfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJGSU9OQ0xFWCIsCTB4NjYwMn0sCisJeyJsaW51eC9leHQzX2ZzLmgiLAkiRVhUM19JT0NfR0VUVkVSU0lPTiIsCTB4NjYwM30sCisJeyJsaW51eC9leHQzX2ZzLmgiLAkiRVhUM19JT0NfU0VUVkVSU0lPTiIsCTB4NjYwNH0sCisJeyJsaW51eC9leHQzX2ZzLmgiLAkiRVhUM19JT0NfV0FJVF9GT1JfUkVBRE9OTFkiLAkweDY2NjN9LAorCXsiYXNtL3NvY2tpb3MuaCIsCSJGSU9HRVRPV04iLAkweDY2N2J9LAorCXsiYXNtL3NvY2tpb3MuaCIsCSJGSU9TRVRPV04iLAkweDY2N2N9LAorCXsiYXNtL2lvY3Rscy5oIiwJIkZJT0FTWU5DIiwJMHg2NjdkfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJGSU9OQklPIiwJMHg2NjdlfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJGSU9OUkVBRCIsCTB4NjY3Zn0sCisJeyJhc20vaW9jdGxzLmgiLAkiRklPUVNJWkUiLAkweDY2ODB9LAorCXsibGludXgvdXNiX2dhZGdldGZzLmgiLAkiR0FER0VURlNfRklGT19TVEFUVVMiLAkweDY3MDF9LAorCXsibGludXgvdXNiX2dhZGdldGZzLmgiLAkiR0FER0VURlNfRklGT19GTFVTSCIsCTB4NjcwMn0sCisJeyJsaW51eC91c2JfZ2FkZ2V0ZnMuaCIsCSJHQURHRVRGU19DTEVBUl9IQUxUIiwJMHg2NzAzfSwKKwl7ImxpbnV4L2kyby1kZXYuaCIsCSJJMk9HRVRJT1BTIiwJMHg2OTAwfSwKKwl7ImxpbnV4L2kyby1kZXYuaCIsCSJJMk9IUlRHRVQiLAkweDY5MDF9LAorCXsibGludXgvaTJvLWRldi5oIiwJIkkyT0xDVEdFVCIsCTB4NjkwMn0sCisJeyJsaW51eC9pMm8tZGV2LmgiLAkiSTJPUEFSTVNFVCIsCTB4NjkwM30sCisJeyJsaW51eC9pMm8tZGV2LmgiLAkiSTJPUEFSTUdFVCIsCTB4NjkwNH0sCisJeyJsaW51eC9pMm8tZGV2LmgiLAkiSTJPU1dETCIsCTB4NjkwNX0sCisJeyJsaW51eC9pMm8tZGV2LmgiLAkiSTJPU1dVTCIsCTB4NjkwNn0sCisJeyJsaW51eC9pMm8tZGV2LmgiLAkiSTJPU1dERUwiLAkweDY5MDd9LAorCXsibGludXgvaTJvLWRldi5oIiwJIkkyT1ZBTElEQVRFIiwJMHg2OTA4fSwKKwl7ImxpbnV4L2kyby1kZXYuaCIsCSJJMk9IVE1MIiwJMHg2OTA5fSwKKwl7ImxpbnV4L2kyby1kZXYuaCIsCSJJMk9FVlRSRUciLAkweDY5MGF9LAorCXsibGludXgvaTJvLWRldi5oIiwJIkkyT0VWVEdFVCIsCTB4NjkwYn0sCisJeyJsaW51eC9pcG1pLmgiLAkiSVBNSUNUTF9SRUNFSVZFX01TR19UUlVOQyIsCTB4NjkwYn0sCisJeyJsaW51eC9pcG1pLmgiLAkiSVBNSUNUTF9SRUNFSVZFX01TRyIsCTB4NjkwY30sCisJeyJsaW51eC9pcG1pLmgiLAkiSVBNSUNUTF9TRU5EX0NPTU1BTkQiLAkweDY5MGR9LAorCXsibGludXgvaXBtaS5oIiwJIklQTUlDVExfUkVHSVNURVJfRk9SX0NNRCIsCTB4NjkwZX0sCisJeyJsaW51eC9pcG1pLmgiLAkiSVBNSUNUTF9VTlJFR0lTVEVSX0ZPUl9DTUQiLAkweDY5MGZ9LAorCXsibGludXgvaXBtaS5oIiwJIklQTUlDVExfU0VUX0dFVFNfRVZFTlRTX0NNRCIsCTB4NjkxMH0sCisJeyJsaW51eC9pcG1pLmgiLAkiSVBNSUNUTF9TRVRfTVlfQUREUkVTU19DTUQiLAkweDY5MTF9LAorCXsibGludXgvaXBtaS5oIiwJIklQTUlDVExfR0VUX01ZX0FERFJFU1NfQ01EIiwJMHg2OTEyfSwKKwl7ImxpbnV4L2lwbWkuaCIsCSJJUE1JQ1RMX1NFVF9NWV9MVU5fQ01EIiwJMHg2OTEzfSwKKwl7ImxpbnV4L2lwbWkuaCIsCSJJUE1JQ1RMX0dFVF9NWV9MVU5fQ01EIiwJMHg2OTE0fSwKKwl7ImxpbnV4L2k4ay5oIiwJIkk4S19CSU9TX1ZFUlNJT04iLAkweDY5ODB9LAorCXsibGludXgvaThrLmgiLAkiSThLX01BQ0hJTkVfSUQiLAkweDY5ODF9LAorCXsibGludXgvaThrLmgiLAkiSThLX1BPV0VSX1NUQVRVUyIsCTB4Njk4Mn0sCisJeyJsaW51eC9pOGsuaCIsCSJJOEtfRk5fU1RBVFVTIiwJMHg2OTgzfSwKKwl7ImxpbnV4L2k4ay5oIiwJIkk4S19HRVRfVEVNUCIsCTB4Njk4NH0sCisJeyJsaW51eC9pOGsuaCIsCSJJOEtfR0VUX1NQRUVEIiwJMHg2OTg1fSwKKwl7ImxpbnV4L2k4ay5oIiwJIkk4S19HRVRfRkFOIiwJMHg2OTg2fSwKKwl7ImxpbnV4L2k4ay5oIiwJIkk4S19TRVRfRkFOIiwJMHg2OTg3fSwKKwl7ImxpbnV4L2pveXN0aWNrLmgiLAkiSlNJT0NHVkVSU0lPTiIsCTB4NmEwMX0sCisJeyJsaW51eC9qb3lzdGljay5oIiwJIkpTSU9DR0FYRVMiLAkweDZhMTF9LAorCXsibGludXgvam95c3RpY2suaCIsCSJKU0lPQ0dCVVRUT05TIiwJMHg2YTEyfSwKKwl7ImxpbnV4L2pveXN0aWNrLmgiLAkiSlNJT0NTQ09SUiIsCTB4NmEyMX0sCisJeyJsaW51eC9qb3lzdGljay5oIiwJIkpTSU9DR0NPUlIiLAkweDZhMjJ9LAorCXsibGludXgvam95c3RpY2suaCIsCSJKU0lPQ1NBWE1BUCIsCTB4NmEzMX0sCisJeyJsaW51eC9qb3lzdGljay5oIiwJIkpTSU9DR0FYTUFQIiwJMHg2YTMyfSwKKwl7ImxpbnV4L2pveXN0aWNrLmgiLAkiSlNJT0NTQlROTUFQIiwJMHg2YTMzfSwKKwl7ImxpbnV4L2pveXN0aWNrLmgiLAkiSlNJT0NHQlROTUFQIiwJMHg2YTM0fSwKKwl7ImxpbnV4L3VkZl9mc19pLmgiLAkiVURGX0dFVEVBU0laRSIsCTB4NmM0MH0sCisJeyJsaW51eC91ZGZfZnNfaS5oIiwJIlVERl9HRVRFQUJMT0NLIiwJMHg2YzQxfSwKKwl7ImxpbnV4L3VkZl9mc19pLmgiLAkiVURGX0dFVFZPTElERU5UIiwJMHg2YzQyfSwKKwl7ImxpbnV4L3VkZl9mc19pLmgiLAkiVURGX1JFTE9DQVRFX0JMT0NLUyIsCTB4NmM0M30sCisJeyJsaW51eC9zeW5jbGluay5oIiwJIk1HU0xfSU9DU1BBUkFNUyIsCTB4NmQwMH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfTUlESV9QUkVUSU1FIiwJMHg2ZDAwfSwKKwl7ImxpbnV4L3N5bmNsaW5rLmgiLAkiTUdTTF9JT0NHUEFSQU1TIiwJMHg2ZDAxfSwKKwl7ImxpbnV4L210aW8uaCIsCSJNVElPQ1RPUCIsCTB4NmQwMX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfTUlESV9NUFVNT0RFIiwJMHg2ZDAxfSwKKwl7ImxpbnV4L3N5bmNsaW5rLmgiLAkiTUdTTF9JT0NTVFhJRExFIiwJMHg2ZDAyfSwKKwl7ImxpbnV4L210aW8uaCIsCSJNVElPQ0dFVCIsCTB4NmQwMn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfTUlESV9NUFVDTUQiLAkweDZkMDJ9LAorCXsibGludXgvc3luY2xpbmsuaCIsCSJNR1NMX0lPQ0dUWElETEUiLAkweDZkMDN9LAorCXsibGludXgvbXRpby5oIiwJIk1USU9DUE9TIiwJMHg2ZDAzfSwKKwl7ImxpbnV4L3N5bmNsaW5rLmgiLAkiTUdTTF9JT0NUWEVOQUJMRSIsCTB4NmQwNH0sCisJeyJsaW51eC9tdGlvLmgiLAkiTVRJT0NHRVRDT05GSUciLAkweDZkMDR9LAorCXsibGludXgvc3luY2xpbmsuaCIsCSJNR1NMX0lPQ1JYRU5BQkxFIiwJMHg2ZDA1fSwKKwl7ImxpbnV4L210aW8uaCIsCSJNVElPQ1NFVENPTkZJRyIsCTB4NmQwNX0sCisJeyJsaW51eC9zeW5jbGluay5oIiwJIk1HU0xfSU9DVFhBQk9SVCIsCTB4NmQwNn0sCisJeyJsaW51eC9tdGlvLmgiLAkiTVRJT0NSREZUU0VHIiwJMHg2ZDA2fSwKKwl7ImxpbnV4L3N5bmNsaW5rLmgiLAkiTUdTTF9JT0NHU1RBVFMiLAkweDZkMDd9LAorCXsibGludXgvbXRpby5oIiwJIk1USU9DV1JGVFNFRyIsCTB4NmQwN30sCisJeyJsaW51eC9zeW5jbGluay5oIiwJIk1HU0xfSU9DV0FJVEVWRU5UIiwJMHg2ZDA4fSwKKwl7ImxpbnV4L210aW8uaCIsCSJNVElPQ1ZPTElORk8iLAkweDZkMDh9LAorCXsibGludXgvc3luY2xpbmsuaCIsCSJNR1NMX0lPQ0xPT1BUWERPTkUiLAkweDZkMDl9LAorCXsibGludXgvbXRpby5oIiwJIk1USU9DR0VUU0laRSIsCTB4NmQwOX0sCisJeyJsaW51eC9zeW5jbGluay5oIiwJIk1HU0xfSU9DU0lGIiwJMHg2ZDBhfSwKKwl7ImxpbnV4L210aW8uaCIsCSJNVElPQ0ZURk9STUFUIiwJMHg2ZDBhfSwKKwl7ImxpbnV4L3N5bmNsaW5rLmgiLAkiTUdTTF9JT0NHSUYiLAkweDZkMGJ9LAorCXsibGludXgvbXRpby5oIiwJIk1USU9DRlRDTUQiLAkweDZkMGJ9LAorCXsibGludXgvc3luY2xpbmsuaCIsCSJNR1NMX0lPQ0NMUk1PRENPVU5UIiwJMHg2ZDBmfSwKKwl7ImxpbnV4L3pmdGFwZS5oIiwJIk1USU9DX1pGVEFQRV9HRVRCTEtTWiIsCTB4NmQ2OH0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX05DUFJFUVVFU1QiLAkweDZlMDF9LAorCXsibGludXgvbmNwX2ZzLmgiLAkiTkNQX0lPQ19HRVRNT1VOVFVJRCIsCTB4NmUwMn0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX0dFVE1PVU5UVUlEMiIsCTB4NmUwMn0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX0NPTk5fTE9HR0VEX0lOIiwJMHg2ZTAzfSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfR0VUX0ZTX0lORk8iLAkweDZlMDR9LAorCXsibGludXgvbmNwX2ZzLmgiLAkiTkNQX0lPQ19HRVRfRlNfSU5GT19WMiIsCTB4NmUwNH0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX1NJR05fSU5JVCIsCTB4NmUwNX0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX1NFVF9TSUdOX1dBTlRFRCIsCTB4NmUwNn0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX1NJR05fV0FOVEVEIiwJMHg2ZTA2fSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfTE9DS1VOTE9DSyIsCTB4NmUwN30sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX0dFVFJPT1QiLAkweDZlMDh9LAorCXsibGludXgvbmNwX2ZzLmgiLAkiTkNQX0lPQ19TRVRST09UIiwJMHg2ZTA4fSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfR0VUT0JKRUNUTkFNRSIsCTB4NmUwOX0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX1NFVE9CSkVDVE5BTUUiLAkweDZlMDl9LAorCXsibGludXgvbmNwX2ZzLmgiLAkiTkNQX0lPQ19HRVRQUklWQVRFREFUQSIsCTB4NmUwYX0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX1NFVFBSSVZBVEVEQVRBIiwJMHg2ZTBhfSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfR0VUQ0hBUlNFVFMiLAkweDZlMGJ9LAorCXsibGludXgvbmNwX2ZzLmgiLAkiTkNQX0lPQ19TRVRDSEFSU0VUUyIsCTB4NmUwYn0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX0dFVERFTlRSWVRUTCIsCTB4NmUwY30sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX1NFVERFTlRSWVRUTCIsCTB4NmUwY30sCisJeyJsaW51eC9tYXRyb3hmYi5oIiwJIk1BVFJPWEZCX0dFVF9PVVRQVVRfQ09OTkVDVElPTiIsCTB4NmVmOH0sCisJeyJsaW51eC9tYXRyb3hmYi5oIiwJIk1BVFJPWEZCX1NFVF9PVVRQVVRfQ09OTkVDVElPTiIsCTB4NmVmOH0sCisJeyJsaW51eC9tYXRyb3hmYi5oIiwJIk1BVFJPWEZCX0dFVF9BVkFJTEFCTEVfT1VUUFVUUyIsCTB4NmVmOX0sCisJeyJsaW51eC9tYXRyb3hmYi5oIiwJIk1BVFJPWEZCX0dFVF9PVVRQVVRfTU9ERSIsCTB4NmVmYX0sCisJeyJsaW51eC9tYXRyb3hmYi5oIiwJIk1BVFJPWEZCX1NFVF9PVVRQVVRfTU9ERSIsCTB4NmVmYX0sCisJeyJsaW51eC9tYXRyb3hmYi5oIiwJIk1BVFJPWEZCX0dFVF9BTExfT1VUUFVUUyIsCTB4NmVmYn0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfQUlFX09OIiwJMHg3MDAxfSwKKwl7ImxpbnV4L3J0Yy5oIiwJIlJUQ19BSUVfT0ZGIiwJMHg3MDAyfSwKKwl7ImxpbnV4L3J0Yy5oIiwJIlJUQ19VSUVfT04iLAkweDcwMDN9LAorCXsibGludXgvcnRjLmgiLAkiUlRDX1VJRV9PRkYiLAkweDcwMDR9LAorCXsibGludXgvcnRjLmgiLAkiUlRDX1BJRV9PTiIsCTB4NzAwNX0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfUElFX09GRiIsCTB4NzAwNn0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfQUxNX1NFVCIsCTB4NzAwN30sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfQUxNX1JFQUQiLAkweDcwMDh9LAorCXsibGludXgvcnRjLmgiLAkiUlRDX1JEX1RJTUUiLAkweDcwMDl9LAorCXsibGludXgvcnRjLmgiLAkiUlRDX1NFVF9USU1FIiwJMHg3MDBhfSwKKwl7ImxpbnV4L3J0Yy5oIiwJIlJUQ19JUlFQX1JFQUQiLAkweDcwMGJ9LAorCXsibGludXgvcnRjLmgiLAkiUlRDX0lSUVBfU0VUIiwJMHg3MDBjfSwKKwl7ImxpbnV4L3J0Yy5oIiwJIlJUQ19FUE9DSF9SRUFEIiwJMHg3MDBkfSwKKwl7ImxpbnV4L3J0Yy5oIiwJIlJUQ19FUE9DSF9TRVQiLAkweDcwMGV9LAorCXsibGludXgvcnRjLmgiLAkiUlRDX1dJRV9PTiIsCTB4NzAwZn0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfV0tBTE1fU0VUIiwJMHg3MDBmfSwKKwl7ImxpbnV4L3J0Yy5oIiwJIlJUQ19XSUVfT0ZGIiwJMHg3MDEwfSwKKwl7ImxpbnV4L3J0Yy5oIiwJIlJUQ19XS0FMTV9SRCIsCTB4NzAxMH0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfUExMX0dFVCIsCTB4NzAxMX0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfUExMX1NFVCIsCTB4NzAxMn0sCisJeyJsaW51eC9udnJhbS5oIiwJIk5WUkFNX0lOSVQiLAkweDcwNDB9LAorCXsiYXNtL252cmFtLmgiLAkiUE1BQ19OVlJBTV9HRVRfT0ZGU0VUIiwJMHg3MDQwfSwKKwl7ImxpbnV4L252cmFtLmgiLAkiTlZSQU1fU0VUQ0tTIiwJMHg3MDQxfSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBTRVRNT0RFIiwJMHg3MDgwfSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBSU1RBVFVTIiwJMHg3MDgxfSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBSQ09OVFJPTCIsCTB4NzA4M30sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQV0NPTlRST0wiLAkweDcwODR9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUFJEQVRBIiwJMHg3MDg1fSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBXREFUQSIsCTB4NzA4Nn0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQQ0xBSU0iLAkweDcwOGJ9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUFJFTEVBU0UiLAkweDcwOGN9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUFlJRUxEIiwJMHg3MDhkfSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBGQ09OVFJPTCIsCTB4NzA4ZX0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQRVhDTCIsCTB4NzA4Zn0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQREFUQURJUiIsCTB4NzA5MH0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQTkVHT1QiLAkweDcwOTF9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUFdDVExPTklSUSIsCTB4NzA5Mn0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQQ0xSSVJRIiwJMHg3MDkzfSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBTRVRQSEFTRSIsCTB4NzA5NH0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQR0VUVElNRSIsCTB4NzA5NX0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQU0VUVElNRSIsCTB4NzA5Nn0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQR0VUTU9ERVMiLAkweDcwOTd9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUEdFVE1PREUiLAkweDcwOTh9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUEdFVFBIQVNFIiwJMHg3MDk5fSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBHRVRGTEFHUyIsCTB4NzA5YX0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQU0VURkxBR1MiLAkweDcwOWJ9LAorCXsibGludXgvdGljYWJsZS5oIiwJIklPQ1RMX1RJU0VSX0RFTEFZIiwJMHg3MGEwfSwKKwl7ImxpbnV4L3RpY2FibGUuaCIsCSJJT0NUTF9USVNFUl9USU1FT1VUIiwJMHg3MGExfSwKKwl7ImxpbnV4L3RpY2FibGUuaCIsCSJJT0NUTF9USVBBUl9ERUxBWSIsCTB4NzBhOH0sCisJeyJsaW51eC90aWNhYmxlLmgiLAkiSU9DVExfVElQQVJfVElNRU9VVCIsCTB4NzBhOX0sCisJeyJsaW51eC9zZXJpby5oIiwJIlNQSU9DU1RZUEUiLAkweDcxMDF9LAorCXsibGludXgvdmlkZW90ZXh0LmgiLAkiVlRYSU9DR0VUSU5GTyIsCTB4NzEwMX0sCisJeyJsaW51eC92aWRlb3RleHQuaCIsCSJWVFhJT0NDTFJQQUdFIiwJMHg3MTAyfSwKKwl7ImxpbnV4L3ZpZGVvdGV4dC5oIiwJIlZUWElPQ0NMUkZPVU5EIiwJMHg3MTAzfSwKKwl7ImxpbnV4L3ZpZGVvdGV4dC5oIiwJIlZUWElPQ1BBR0VSRVEiLAkweDcxMDR9LAorCXsibGludXgvdmlkZW90ZXh0LmgiLAkiVlRYSU9DR0VUU1RBVCIsCTB4NzEwNX0sCisJeyJsaW51eC92aWRlb3RleHQuaCIsCSJWVFhJT0NHRVRQQUdFIiwJMHg3MTA2fSwKKwl7ImxpbnV4L3ZpZGVvdGV4dC5oIiwJIlZUWElPQ1NUT1BEQVUiLAkweDcxMDd9LAorCXsibGludXgvdmlkZW90ZXh0LmgiLAkiVlRYSU9DUFVUUEFHRSIsCTB4NzEwOH0sCisJeyJsaW51eC92aWRlb3RleHQuaCIsCSJWVFhJT0NTRVRESVNQIiwJMHg3MTA5fSwKKwl7ImxpbnV4L3ZpZGVvdGV4dC5oIiwJIlZUWElPQ1BVVFNUQVQiLAkweDcxMGF9LAorCXsibGludXgvdmlkZW90ZXh0LmgiLAkiVlRYSU9DQ0xSQ0FDSEUiLAkweDcxMGJ9LAorCXsibGludXgvdmlkZW90ZXh0LmgiLAkiVlRYSU9DU0VUVklSVCIsCTB4NzEwY30sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9DQVBBQklMSVRJRVMiLAkweDcxODB9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfQ0FQQUJJTElUSUVTX0xJU1QiLAkweDcxODF9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfQ0FQQUJJTElUSUVTX0NIRUNLIiwJMHg3MTgyfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1JJTkciLAkweDcxODN9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfSE9PS1NUQVRFIiwJMHg3MTg0fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX01BWFJJTkdTIiwJMHg3MTg1fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1JJTkdfQ0FERU5DRSIsCTB4NzE4Nn0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJPTERfUEhPTkVfUklOR19TVEFSVCIsCTB4NzE4N30sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9SSU5HX1NUQVJUIiwJMHg3MTg3fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1JJTkdfU1RPUCIsCTB4NzE4OH0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9SRUNfQ09ERUMiLAkweDcxODl9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUkVDX1NUQVJUIiwJMHg3MThhfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1JFQ19TVE9QIiwJMHg3MThifSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1JFQ19ERVBUSCIsCTB4NzE4Y30sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9GUkFNRSIsCTB4NzE4ZH0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9SRUNfVk9MVU1FIiwJMHg3MThlfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1JFQ19MRVZFTCIsCTB4NzE4Zn0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9QTEFZX0NPREVDIiwJMHg3MTkwfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1BMQVlfU1RBUlQiLAkweDcxOTF9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUExBWV9TVE9QIiwJMHg3MTkyfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1BMQVlfREVQVEgiLAkweDcxOTN9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUExBWV9WT0xVTUUiLAkweDcxOTR9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUExBWV9MRVZFTCIsCTB4NzE5NX0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9EVE1GX1JFQURZIiwJMHg3MTk2fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX0dFVF9EVE1GIiwJMHg3MTk3fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX0dFVF9EVE1GX0FTQ0lJIiwJMHg3MTk4fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX0RUTUZfT09CIiwJMHg3MTk5fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX0VYQ0VQVElPTiIsCTB4NzE5YX0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9QTEFZX1RPTkUiLAkweDcxOWJ9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfU0VUX1RPTkVfT05fVElNRSIsCTB4NzE5Y30sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9TRVRfVE9ORV9PRkZfVElNRSIsCTB4NzE5ZH0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9HRVRfVE9ORV9PTl9USU1FIiwJMHg3MTllfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX0dFVF9UT05FX09GRl9USU1FIiwJMHg3MTlmfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX0dFVF9UT05FX1NUQVRFIiwJMHg3MWEwfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX0JVU1kiLAkweDcxYTF9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUklOR0JBQ0siLAkweDcxYTJ9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfRElBTFRPTkUiLAkweDcxYTN9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfQ1BUX1NUT1AiLAkweDcxYTR9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUFNUTl9TRVRfU1RBVEUiLAkweDcxYTR9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUFNUTl9HRVRfU1RBVEUiLAkweDcxYTV9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfV0lOS19EVVJBVElPTiIsCTB4NzFhNn0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9RVUVSWV9DT0RFQyIsCTB4NzFhN30sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9QU1ROX0xJTkVURVNUIiwJMHg3MWE4fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1ZBRCIsCTB4NzFhOX0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9XSU5LIiwJMHg3MWFhfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfRFNQX1JFU0VUIiwJMHg3MWMwfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfQ0FSRFRZUEUiLAkweDcxYzF9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9TRVJJQUwiLAkweDcxYzJ9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9EU1BfVFlQRSIsCTB4NzFjM30sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0RTUF9WRVJTSU9OIiwJMHg3MWM0fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfRFNQX0lETEUiLAkweDcxYzV9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9URVNUUkFNIiwJMHg3MWM2fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfU0VUX0ZJTFRFUiIsCTB4NzFjN30sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0dFVF9GSUxURVJfSElTVCIsCTB4NzFjOH0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0lOSVRfVE9ORSIsCTB4NzFjOX0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1RPTkVfQ0FERU5DRSIsCTB4NzFjYX0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0FFQ19TVEFSVCIsCTB4NzFjYn0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0FFQ19TVE9QIiwJMHg3MWNjfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfQUVDX0dFVF9MRVZFTCIsCTB4NzFjZH0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1NFVF9MRUQiLAkweDcxY2V9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9NSVhFUiIsCTB4NzFjZn0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0RBQV9DT0VGRl9TRVQiLAkweDcxZDB9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9QT1JUIiwJMHg3MWQxfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfREFBX0FHQUlOIiwJMHg3MWQyfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfUFNUTl9MSU5FVEVTVCIsCTB4NzFkM30sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0NJRCIsCTB4NzFkNH0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1BPVFNfUFNUTiIsCTB4NzFkNX0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0ZJTFRFUl9DQURFTkNFIiwJMHg3MWQ2fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfUExBWV9DSUQiLAkweDcxZDd9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9WTVdJIiwJMHg3MWQ4fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfQ0lEQ1ciLAkweDcxZDl9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9WRVJTSU9OIiwJMHg3MWRhfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1JFQ19WT0xVTUVfTElORUFSIiwJMHg3MWRifSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1BMQVlfVk9MVU1FX0xJTkVBUiIsCTB4NzFkY30sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1NFVF9GSUxURVJfUkFXIiwJMHg3MWRkfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfSFoiLAkweDcxZTB9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9SQVRFIiwJMHg3MWUxfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfRlJBTUVTX1JFQUQiLAkweDcxZTJ9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9GUkFNRVNfV1JJVFRFTiIsCTB4NzFlM30sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1JFQURfV0FJVCIsCTB4NzFlNH0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1dSSVRFX1dBSVQiLAkweDcxZTV9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9EUllCVUZGRVJfUkVBRCIsCTB4NzFlNn0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0RSWUJVRkZFUl9DTEVBUiIsCTB4NzFlN30sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0RUTUZfUFJFU0NBTEUiLAkweDcxZTh9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9TSUdDVEwiLAkweDcxZTl9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9TQ19SWEciLAkweDcxZWF9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9TQ19UWEciLAkweDcxZWJ9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9JTlRFUkNPTV9TVEFSVCIsCTB4NzFmZH0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0lOVEVSQ09NX1NUT1AiLAkweDcxZmV9LAorCXsibGludXgvdmlkZW90ZXh0LmgiLAkiVFVOSU9DR0VUSU5GTyIsCTB4NzIwMX0sCisJeyJsaW51eC9tc2Rvc19mcy5oIiwJIlZGQVRfSU9DVExfUkVBRERJUl9CT1RIIiwJMHg3MjAxfSwKKwl7ImxpbnV4L3ZpZGVvdGV4dC5oIiwJIlRVTklPQ1JFU0VUIiwJMHg3MjAyfSwKKwl7ImxpbnV4L21zZG9zX2ZzLmgiLAkiVkZBVF9JT0NUTF9SRUFERElSX1NIT1JUIiwJMHg3MjAyfSwKKwl7ImxpbnV4L3ZpZGVvdGV4dC5oIiwJIlRVTklPQ1NFVEZSRVEiLAkweDcyMDN9LAorCXsibGludXgvdmlkZW90ZXh0LmgiLAkiVFVOSU9DR0VURlJFUSIsCTB4NzIwNH0sCisJeyJsaW51eC92aWRlb3RleHQuaCIsCSJUVU5JT0NTRVRDSEFOIiwJMHg3MjA1fSwKKwl7ImxpbnV4L3ZpZGVvdGV4dC5oIiwJIlRVTklPQ0dFVENIQU4iLAkweDcyMDZ9LAorCXsiYXNtL3NvY2tpb3MuaCIsCSJTSU9DQVRNQVJLIiwJMHg3MzA3fSwKKwl7ImFzbS9zb2NraW9zLmgiLAkiU0lPQ1NQR1JQIiwJMHg3MzA4fSwKKwl7ImFzbS9zb2NraW9zLmgiLAkiU0lPQ0dQR1JQIiwJMHg3MzA5fSwKKwl7ImxpbnV4L2Nkay5oIiwJIlNUTF9CSU5UUiIsCTB4NzMxNH0sCisJeyJsaW51eC9jZGsuaCIsCSJTVExfQlNUQVJUIiwJMHg3MzE1fSwKKwl7ImxpbnV4L2Nkay5oIiwJIlNUTF9CU1RPUCIsCTB4NzMxNn0sCisJeyJsaW51eC9jZGsuaCIsCSJTVExfQlJFU0VUIiwJMHg3MzE3fSwKKwl7ImxpbnV4L2Nkay5oIiwJIlNUTF9HRVRQRkxBRyIsCTB4NzM1MH0sCisJeyJsaW51eC9jZGsuaCIsCSJTVExfU0VUUEZMQUciLAkweDczNTF9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NHRVRQIiwJMHg3NDA4fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DU0VUUCIsCTB4NzQwOX0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NFVE4iLAkweDc0MGF9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NTRVRDIiwJMHg3NDExfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DR0VUQyIsCTB4NzQxMn0sCisJeyJhc20vaW9jdGxzLmgiLAkiVENHRVRTIiwJMHg3NDEzfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUQ1NFVFMiLAkweDc0MTR9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRDU0VUU1ciLAkweDc0MTV9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRDU0VUU0YiLAkweDc0MTZ9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRDR0VUQSIsCTB4NzQxN30sCisJeyJhc20vaW9jdGxzLmgiLAkiVENTRVRBIiwJMHg3NDE4fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUQ1NFVEFXIiwJMHg3NDE5fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUQ1NFVEFGIiwJMHg3NDFjfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUQ1NCUksiLAkweDc0MWR9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRDWE9OQyIsCTB4NzQxZX0sCisJeyJhc20vaW9jdGxzLmgiLAkiVENGTFNIIiwJMHg3NDFmfSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ0dDSEFOIiwJMHg3NDM3fSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ0FUVENIQU4iLAkweDc0Mzh9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DRElTQ09OTiIsCTB4NzQzOX0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NDT05ORUNUIiwJMHg3NDNhfSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ1NNUlJVIiwJMHg3NDNifSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ0RFVEFDSCIsCTB4NzQzY30sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NBVFRBQ0giLAkweDc0M2R9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DTkVXVU5JVCIsCTB4NzQzZX0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NHSURMRSIsCTB4NzQzZn0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NTREVCVUciLAkweDc0NDB9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DR0RFQlVHIiwJMHg3NDQxfSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ1NBQ1RJVkUiLAkweDc0NDZ9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DU1BBU1MiLAkweDc0NDd9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DU05QTU9ERSIsCTB4NzQ0Yn0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NHTlBNT0RFIiwJMHg3NDRjfSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ1NDT01QUkVTUyIsCTB4NzQ0ZH0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NYRkVSVU5JVCIsCTB4NzQ0ZX0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NTWEFTWU5DTUFQIiwJMHg3NDRmfSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ0dYQVNZTkNNQVAiLAkweDc0NTB9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DU01BWENJRCIsCTB4NzQ1MX0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NTTVJVIiwJMHg3NDUyfSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ0dNUlUiLAkweDc0NTN9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DU1JBU1lOQ01BUCIsCTB4NzQ1NH0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NHUkFTWU5DTUFQIiwJMHg3NDU1fSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ0dVTklUIiwJMHg3NDU2fSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ1NBU1lOQ01BUCIsCTB4NzQ1N30sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NHQVNZTkNNQVAiLAkweDc0NTh9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DU0ZMQUdTIiwJMHg3NDU5fSwKKwl7ImxpbnV4L2pmZnMuaCIsCSJKRkZTX1BSSU5UX0hBU0giLAkweDc0NWF9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DR0ZMQUdTIiwJMHg3NDVhfSwKKwl7ImxpbnV4L2pmZnMuaCIsCSJKRkZTX1BSSU5UX1RSRUUiLAkweDc0NWJ9LAorCXsibGludXgvamZmcy5oIiwJIkpGRlNfR0VUX1NUQVRVUyIsCTB4NzQ1Y30sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NXSU5TWiIsCTB4NzQ2N30sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ0dXSU5TWiIsCTB4NzQ2OH0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NUQVJUIiwJMHg3NDZlfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DU1RPUCIsCTB4NzQ2Zn0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ09VVFEiLAkweDc0NzN9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NHTFRDIiwJMHg3NDc0fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DU0xUQyIsCTB4NzQ3NX0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NQR1JQIiwJMHg3NDc2fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DR1BHUlAiLAkweDc0Nzd9LAorCXsibGludXgvaXNkbl9wcHAuaCIsCSJQUFBJT0NHQ0FMTElORk8iLAkweDc0ODB9LAorCXsibGludXgvaXNkbl9wcHAuaCIsCSJQUFBJT0NCVU5ETEUiLAkweDc0ODF9LAorCXsibGludXgvaXNkbl9wcHAuaCIsCSJQUFBJT0NHTVBGTEFHUyIsCTB4NzQ4Mn0sCisJeyJsaW51eC9pc2RuX3BwcC5oIiwJIlBQUElPQ1NNUEZMQUdTIiwJMHg3NDgzfSwKKwl7ImxpbnV4L2lzZG5fcHBwLmgiLAkiUFBQSU9DU01QTVRVIiwJMHg3NDg0fSwKKwl7ImxpbnV4L2lzZG5fcHBwLmgiLAkiUFBQSU9DU01QTVJVIiwJMHg3NDg1fSwKKwl7ImxpbnV4L2lzZG5fcHBwLmgiLAkiUFBQSU9DR0NPTVBSRVNTT1JTIiwJMHg3NDg2fSwKKwl7ImxpbnV4L2lzZG5fcHBwLmgiLAkiUFBQSU9DU0NPTVBSRVNTT1IiLAkweDc0ODd9LAorCXsibGludXgvaXNkbl9wcHAuaCIsCSJQUFBJT0NHSUZOQU1FIiwJMHg3NDg4fSwKKwl7ImxpbnV4L3Rvc2hpYmEuaCIsCSJUT1NIX1NNTSIsCTB4NzQ5MH0sCisJeyJsaW51eC9zbWJfZnMuaCIsCSJTTUJfSU9DX0dFVE1PVU5UVUlEIiwJMHg3NTAxfSwKKwl7ImxpbnV4L3NtYl9mcy5oIiwJIlNNQl9JT0NfTkVXQ09OTiIsCTB4NzUwMn0sCisJeyJsaW51eC9zbWJfZnMuaCIsCSJTTUJfSU9DX0dFVE1PVU5UVUlEMzIiLAkweDc1MDN9LAorCXsibGludXgvc29ueXBpLmgiLAkiU09OWVBJX0lPQ0dCUlQiLAkweDc2MDB9LAorCXsibGludXgvc29ueXBpLmgiLAkiU09OWVBJX0lPQ1NCUlQiLAkweDc2MDB9LAorCXsibGludXgvZXh0Ml9mcy5oIiwJIkVYVDJfSU9DX0dFVFZFUlNJT04iLAkweDc2MDF9LAorCXsibGludXgvZXh0M19mcy5oIiwJIkVYVDNfSU9DX0dFVFZFUlNJT05fT0xEIiwJMHg3NjAxfSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DR0NBUCIsCTB4NzYwMX0sCisJeyJsaW51eC9leHQyX2ZzLmgiLAkiRVhUMl9JT0NfU0VUVkVSU0lPTiIsCTB4NzYwMn0sCisJeyJsaW51eC9leHQzX2ZzLmgiLAkiRVhUM19JT0NfU0VUVkVSU0lPTl9PTEQiLAkweDc2MDJ9LAorCXsibGludXgvc29ueXBpLmgiLAkiU09OWVBJX0lPQ0dCQVQxQ0FQIiwJMHg3NjAyfSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DR0NIQU4iLAkweDc2MDJ9LAorCXsibGludXgvc29ueXBpLmgiLAkiU09OWVBJX0lPQ0dCQVQxUkVNIiwJMHg3NjAzfSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DU0NIQU4iLAkweDc2MDN9LAorCXsibGludXgvc29ueXBpLmgiLAkiU09OWVBJX0lPQ0dCQVQyQ0FQIiwJMHg3NjA0fSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DR1RVTkVSIiwJMHg3NjA0fSwKKwl7ImxpbnV4L3NvbnlwaS5oIiwJIlNPTllQSV9JT0NHQkFUMlJFTSIsCTB4NzYwNX0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ1NUVU5FUiIsCTB4NzYwNX0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ0dQSUNUIiwJMHg3NjA2fSwKKwl7ImxpbnV4L3NvbnlwaS5oIiwJIlNPTllQSV9JT0NHQkFURkxBR1MiLAkweDc2MDd9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NTUElDVCIsCTB4NzYwN30sCisJeyJsaW51eC9zb255cGkuaCIsCSJTT05ZUElfSU9DR0JMVUUiLAkweDc2MDh9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NDQVBUVVJFIiwJMHg3NjA4fSwKKwl7ImxpbnV4L3NvbnlwaS5oIiwJIlNPTllQSV9JT0NTQkxVRSIsCTB4NzYwOX0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ0dXSU4iLAkweDc2MDl9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NTV0lOIiwJMHg3NjBhfSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DR0ZCVUYiLAkweDc2MGJ9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NTRkJVRiIsCTB4NzYwY30sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ0tFWSIsCTB4NzYwZH0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ0dGUkVRIiwJMHg3NjBlfSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DU0ZSRVEiLAkweDc2MGZ9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NHQVVESU8iLAkweDc2MTB9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NTQVVESU8iLAkweDc2MTF9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NTWU5DIiwJMHg3NjEyfSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DTUNBUFRVUkUiLAkweDc2MTN9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NHTUJVRiIsCTB4NzYxNH0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ0dVTklUIiwJMHg3NjE1fSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DR0NBUFRVUkUiLAkweDc2MTZ9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NTQ0FQVFVSRSIsCTB4NzYxN30sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ1NQTEFZTU9ERSIsCTB4NzYxOH0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ1NXUklURU1PREUiLAkweDc2MTl9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NHUExBWUlORk8iLAkweDc2MWF9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NTTUlDUk9DT0RFIiwJMHg3NjFifSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DR1ZCSUZNVCIsCTB4NzYxY30sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ1NWQklGTVQiLAkweDc2MWR9LAorCXsibGludXgvbWV5ZS5oIiwJIk1FWUVJT0NfR19QQVJBTVMiLAkweDc2YzB9LAorCXsibGludXgvbWV5ZS5oIiwJIk1FWUVJT0NfU19QQVJBTVMiLAkweDc2YzF9LAorCXsibGludXgvbWV5ZS5oIiwJIk1FWUVJT0NfUUJVRl9DQVBUIiwJMHg3NmMyfSwKKwl7ImxpbnV4L21leWUuaCIsCSJNRVlFSU9DX1NZTkMiLAkweDc2YzN9LAorCXsibGludXgvbWV5ZS5oIiwJIk1FWUVJT0NfU1RJTExDQVBUIiwJMHg3NmM0fSwKKwl7ImxpbnV4L21leWUuaCIsCSJNRVlFSU9DX1NUSUxMSkNBUFQiLAkweDc2YzV9LAorCXsiYXNtL3NvY2tpb3MuaCIsCSJGSU9TRVRPV04iLAkweDg5MDF9LAorCXsiYXNtL3NvY2tpb3MuaCIsCSJTSU9DU1BHUlAiLAkweDg5MDJ9LAorCXsiYXNtL3NvY2tpb3MuaCIsCSJGSU9HRVRPV04iLAkweDg5MDN9LAorCXsiYXNtL3NvY2tpb3MuaCIsCSJTSU9DR1BHUlAiLAkweDg5MDR9LAorCXsiYXNtL3NvY2tpb3MuaCIsCSJTSU9DQVRNQVJLIiwJMHg4OTA1fSwKKwl7ImFzbS9zb2NraW9zLmgiLAkiU0lPQ0dTVEFNUCIsCTB4ODkwNn0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ0FERFJUIiwJMHg4OTBifSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DREVMUlQiLAkweDg5MGN9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NSVE1TRyIsCTB4ODkwZH0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ0dJRk5BTUUiLAkweDg5MTB9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NTSUZMSU5LIiwJMHg4OTExfSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DR0lGQ09ORiIsCTB4ODkxMn0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ0dJRkZMQUdTIiwJMHg4OTEzfSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DU0lGRkxBR1MiLAkweDg5MTR9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NHSUZBRERSIiwJMHg4OTE1fSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DU0lGQUREUiIsCTB4ODkxNn0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ0dJRkRTVEFERFIiLAkweDg5MTd9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NTSUZEU1RBRERSIiwJMHg4OTE4fSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DR0lGQlJEQUREUiIsCTB4ODkxOX0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ1NJRkJSREFERFIiLAkweDg5MWF9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NHSUZORVRNQVNLIiwJMHg4OTFifSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DU0lGTkVUTUFTSyIsCTB4ODkxY30sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ0dJRk1FVFJJQyIsCTB4ODkxZH0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ1NJRk1FVFJJQyIsCTB4ODkxZX0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ0dJRk1FTSIsCTB4ODkxZn0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ1NJRk1FTSIsCTB4ODkyMH0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ0dJRk1UVSIsCTB4ODkyMX0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ1NJRk1UVSIsCTB4ODkyMn0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ1NJRk5BTUUiLAkweDg5MjN9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NTSUZIV0FERFIiLAkweDg5MjR9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NHSUZFTkNBUCIsCTB4ODkyNX0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ1NJRkVOQ0FQIiwJMHg4OTI2fSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DR0lGSFdBRERSIiwJMHg4OTI3fSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DR0lGU0xBVkUiLAkweDg5Mjl9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NTSUZTTEFWRSIsCTB4ODkzMH0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ0FERE1VTFRJIiwJMHg4OTMxfSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DREVMTVVMVEkiLAkweDg5MzJ9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NHSUZJTkRFWCIsCTB4ODkzM30sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ1NJRlBGTEFHUyIsCTB4ODkzNH0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ0dJRlBGTEFHUyIsCTB4ODkzNX0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ0RJRkFERFIiLAkweDg5MzZ9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NTSUZIV0JST0FEQ0FTVCIsCTB4ODkzN30sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ0dJRkNPVU5UIiwJMHg4OTM4fSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DR0lGQlIiLAkweDg5NDB9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NTSUZCUiIsCTB4ODk0MX0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ0dJRlRYUUxFTiIsCTB4ODk0Mn0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ1NJRlRYUUxFTiIsCTB4ODk0M30sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ0dJRkRJVkVSVCIsCTB4ODk0NH0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ1NJRkRJVkVSVCIsCTB4ODk0NX0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ0VUSFRPT0wiLAkweDg5NDZ9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NHTUlJUEhZIiwJMHg4OTQ3fSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DR01JSVJFRyIsCTB4ODk0OH0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ1NNSUlSRUciLAkweDg5NDl9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NXQU5ERVYiLAkweDg5NGF9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NEQVJQIiwJMHg4OTUzfSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DR0FSUCIsCTB4ODk1NH0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ1NBUlAiLAkweDg5NTV9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NEUkFSUCIsCTB4ODk2MH0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ0dSQVJQIiwJMHg4OTYxfSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DU1JBUlAiLAkweDg5NjJ9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NHSUZNQVAiLAkweDg5NzB9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NTSUZNQVAiLAkweDg5NzF9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NBRERETENJIiwJMHg4OTgwfSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DREVMRExDSSIsCTB4ODk4MX0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ0dJRlZMQU4iLAkweDg5ODJ9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NTSUZWTEFOIiwJMHg4OTgzfSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DQk9OREVOU0xBVkUiLAkweDg5OTB9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NCT05EUkVMRUFTRSIsCTB4ODk5MX0sCisJeyJsaW51eC9zb2NraW9zLmgiLAkiU0lPQ0JPTkRTRVRIV0FERFIiLAkweDg5OTJ9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NCT05EU0xBVkVJTkZPUVVFUlkiLAkweDg5OTN9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NCT05ESU5GT1FVRVJZIiwJMHg4OTk0fSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DQk9ORENIQU5HRUFDVElWRSIsCTB4ODk5NX0sCisJeyJsaW51eC9kbi5oIiwJIk9TSU9DU05FVEFERFIiLAkweDg5ZTB9LAorCXsibGludXgvc29ja2lvcy5oIiwJIlNJT0NQUk9UT1BSSVZBVEUiLAkweDg5ZTB9LAorCXsibGludXgvZG4uaCIsCSJTSU9DU05FVEFERFIiLAkweDg5ZTB9LAorCXsibGludXgvZG4uaCIsCSJPU0lPQ0dORVRBRERSIiwJMHg4OWUxfSwKKwl7ImxpbnV4L2RuLmgiLAkiU0lPQ0dORVRBRERSIiwJMHg4OWUxfSwKKwl7ImxpbnV4L3NvY2tpb3MuaCIsCSJTSU9DREVWUFJJVkFURSIsCTB4ODlmMH0sCisJeyJsaW51eC93aXJlbGVzcy5oIiwJIlNJT0NJV0ZJUlNUIiwJMHg4YjAwfSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ1NJV0NPTU1JVCIsCTB4OGIwMH0sCisJeyJsaW51eC93aXJlbGVzcy5oIiwJIlNJT0NHSVdOQU1FIiwJMHg4YjAxfSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ1NJV05XSUQiLAkweDhiMDJ9LAorCXsibGludXgvd2lyZWxlc3MuaCIsCSJTSU9DR0lXTldJRCIsCTB4OGIwM30sCisJeyJsaW51eC93aXJlbGVzcy5oIiwJIlNJT0NTSVdGUkVRIiwJMHg4YjA0fSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ0dJV0ZSRVEiLAkweDhiMDV9LAorCXsibGludXgvd2lyZWxlc3MuaCIsCSJTSU9DU0lXTU9ERSIsCTB4OGIwNn0sCisJeyJsaW51eC93aXJlbGVzcy5oIiwJIlNJT0NHSVdNT0RFIiwJMHg4YjA3fSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ1NJV1NFTlMiLAkweDhiMDh9LAorCXsibGludXgvd2lyZWxlc3MuaCIsCSJTSU9DR0lXU0VOUyIsCTB4OGIwOX0sCisJeyJsaW51eC93aXJlbGVzcy5oIiwJIlNJT0NTSVdSQU5HRSIsCTB4OGIwYX0sCisJeyJsaW51eC93aXJlbGVzcy5oIiwJIlNJT0NHSVdSQU5HRSIsCTB4OGIwYn0sCisJeyJsaW51eC93aXJlbGVzcy5oIiwJIlNJT0NTSVdQUklWIiwJMHg4YjBjfSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ0dJV1BSSVYiLAkweDhiMGR9LAorCXsibGludXgvd2lyZWxlc3MuaCIsCSJTSU9DU0lXU1RBVFMiLAkweDhiMGV9LAorCXsibGludXgvd2lyZWxlc3MuaCIsCSJTSU9DR0lXU1RBVFMiLAkweDhiMGZ9LAorCXsibGludXgvd2lyZWxlc3MuaCIsCSJTSU9DU0lXU1BZIiwJMHg4YjEwfSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ0dJV1NQWSIsCTB4OGIxMX0sCisJeyJsaW51eC93aXJlbGVzcy5oIiwJIlNJT0NTSVdUSFJTUFkiLAkweDhiMTJ9LAorCXsibGludXgvd2lyZWxlc3MuaCIsCSJTSU9DR0lXVEhSU1BZIiwJMHg4YjEzfSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ1NJV0FQIiwJMHg4YjE0fSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ0dJV0FQIiwJMHg4YjE1fSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ0dJV0FQTElTVCIsCTB4OGIxN30sCisJeyJsaW51eC93aXJlbGVzcy5oIiwJIlNJT0NTSVdTQ0FOIiwJMHg4YjE4fSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ0dJV1NDQU4iLAkweDhiMTl9LAorCXsibGludXgvd2lyZWxlc3MuaCIsCSJTSU9DU0lXRVNTSUQiLAkweDhiMWF9LAorCXsibGludXgvd2lyZWxlc3MuaCIsCSJTSU9DR0lXRVNTSUQiLAkweDhiMWJ9LAorCXsibGludXgvd2lyZWxlc3MuaCIsCSJTSU9DU0lXTklDS04iLAkweDhiMWN9LAorCXsibGludXgvd2lyZWxlc3MuaCIsCSJTSU9DR0lXTklDS04iLAkweDhiMWR9LAorCXsibGludXgvd2lyZWxlc3MuaCIsCSJTSU9DU0lXUkFURSIsCTB4OGIyMH0sCisJeyJsaW51eC93aXJlbGVzcy5oIiwJIlNJT0NHSVdSQVRFIiwJMHg4YjIxfSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ1NJV1JUUyIsCTB4OGIyMn0sCisJeyJsaW51eC93aXJlbGVzcy5oIiwJIlNJT0NHSVdSVFMiLAkweDhiMjN9LAorCXsibGludXgvd2lyZWxlc3MuaCIsCSJTSU9DU0lXRlJBRyIsCTB4OGIyNH0sCisJeyJsaW51eC93aXJlbGVzcy5oIiwJIlNJT0NHSVdGUkFHIiwJMHg4YjI1fSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ1NJV1RYUE9XIiwJMHg4YjI2fSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ0dJV1RYUE9XIiwJMHg4YjI3fSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ1NJV1JFVFJZIiwJMHg4YjI4fSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ0dJV1JFVFJZIiwJMHg4YjI5fSwKKwl7ImxpbnV4L3dpcmVsZXNzLmgiLAkiU0lPQ1NJV0VOQ09ERSIsCTB4OGIyYX0sCisJeyJsaW51eC93aXJlbGVzcy5oIiwJIlNJT0NHSVdFTkNPREUiLAkweDhiMmJ9LAorCXsibGludXgvd2lyZWxlc3MuaCIsCSJTSU9DU0lXUE9XRVIiLAkweDhiMmN9LAorCXsibGludXgvd2lyZWxlc3MuaCIsCSJTSU9DR0lXUE9XRVIiLAkweDhiMmR9LAorCXsibGludXgvd2lyZWxlc3MuaCIsCSJTSU9DSVdGSVJTVFBSSVYiLAkweDhiZTB9LAorCXsibGludXgvd2lyZWxlc3MuaCIsCSJTSU9DSVdMQVNUUFJJViIsCTB4OGJmZn0sCisJeyJsaW51eC9hdXRvX2ZzLmgiLAkiQVVUT0ZTX0lPQ19SRUFEWSIsCTB4OTM2MH0sCisJeyJsaW51eC9hdXRvX2ZzLmgiLAkiQVVUT0ZTX0lPQ19GQUlMIiwJMHg5MzYxfSwKKwl7ImxpbnV4L2F1dG9fZnMuaCIsCSJBVVRPRlNfSU9DX0NBVEFUT05JQyIsCTB4OTM2Mn0sCisJeyJsaW51eC9hdXRvX2ZzLmgiLAkiQVVUT0ZTX0lPQ19QUk9UT1ZFUiIsCTB4OTM2M30sCisJeyJsaW51eC9hdXRvX2ZzLmgiLAkiQVVUT0ZTX0lPQ19TRVRUSU1FT1VUIiwJMHg5MzY0fSwKKwl7ImxpbnV4L2F1dG9fZnMuaCIsCSJBVVRPRlNfSU9DX0VYUElSRSIsCTB4OTM2NX0sCisJeyJsaW51eC9hdXRvX2ZzNC5oIiwJIkFVVE9GU19JT0NfRVhQSVJFX01VTFRJIiwJMHg5MzY2fSwKKwl7ImxpbnV4L25iZC5oIiwJIk5CRF9TRVRfU09DSyIsCTB4YWIwMH0sCisJeyJsaW51eC9uYmQuaCIsCSJOQkRfU0VUX0JMS1NJWkUiLAkweGFiMDF9LAorCXsibGludXgvbmJkLmgiLAkiTkJEX1NFVF9TSVpFIiwJMHhhYjAyfSwKKwl7ImxpbnV4L25iZC5oIiwJIk5CRF9ET19JVCIsCTB4YWIwM30sCisJeyJsaW51eC9uYmQuaCIsCSJOQkRfQ0xFQVJfU09DSyIsCTB4YWIwNH0sCisJeyJsaW51eC9uYmQuaCIsCSJOQkRfQ0xFQVJfUVVFIiwJMHhhYjA1fSwKKwl7ImxpbnV4L25iZC5oIiwJIk5CRF9QUklOVF9ERUJVRyIsCTB4YWIwNn0sCisJeyJsaW51eC9uYmQuaCIsCSJOQkRfU0VUX1NJWkVfQkxPQ0tTIiwJMHhhYjA3fSwKKwl7ImxpbnV4L25iZC5oIiwJIk5CRF9ESVNDT05ORUNUIiwJMHhhYjA4fSwKKwl7ImxpbnV4L3Jhdy5oIiwJIlJBV19TRVRCSU5EIiwJMHhhYzAwfSwKKwl7ImxpbnV4L3Jhdy5oIiwJIlJBV19HRVRCSU5EIiwJMHhhYzAxfSwKKwl7ImxpbnV4L2lmX3BwcG94LmgiLAkiUFBQT0VJT0NTRldEIiwJMHhiMTAwfSwKKwl7ImxpbnV4L2lmX3BwcG94LmgiLAkiUFBQT0VJT0NERldEIiwJMHhiMTAxfSwKKwl7ImxpbnV4L3JlaXNlcmZzX2ZzLmgiLAkiUkVJU0VSRlNfSU9DX1VOUEFDSyIsCTB4Y2QwMX0sCisJeyJsaW51eC9kbS1pb2N0bC12NC5oIiwJIkRNX1ZFUlNJT04iLAkweGZkMDB9LAorCXsibGludXgvZG0taW9jdGwtdjQuaCIsCSJETV9SRU1PVkVfQUxMIiwJMHhmZDAxfSwKKwl7ImxpbnV4L2RtLWlvY3RsLXY0LmgiLAkiRE1fTElTVF9ERVZJQ0VTIiwJMHhmZDAyfSwKKwl7ImxpbnV4L2RtLWlvY3RsLXY0LmgiLAkiRE1fREVWX0NSRUFURSIsCTB4ZmQwM30sCisJeyJsaW51eC9kbS1pb2N0bC12NC5oIiwJIkRNX0RFVl9SRU1PVkUiLAkweGZkMDR9LAorCXsibGludXgvZG0taW9jdGwtdjQuaCIsCSJETV9ERVZfUkVOQU1FIiwJMHhmZDA1fSwKKwl7ImxpbnV4L2RtLWlvY3RsLXY0LmgiLAkiRE1fREVWX1NVU1BFTkQiLAkweGZkMDZ9LAorCXsibGludXgvZG0taW9jdGwtdjQuaCIsCSJETV9ERVZfU1RBVFVTIiwJMHhmZDA3fSwKKwl7ImxpbnV4L2RtLWlvY3RsLXY0LmgiLAkiRE1fREVWX1dBSVQiLAkweGZkMDh9LAorCXsibGludXgvZG0taW9jdGwtdjQuaCIsCSJETV9UQUJMRV9MT0FEIiwJMHhmZDA5fSwKKwl7ImxpbnV4L2RtLWlvY3RsLXY0LmgiLAkiRE1fVEFCTEVfQ0xFQVIiLAkweGZkMGF9LAorCXsibGludXgvZG0taW9jdGwtdjQuaCIsCSJETV9UQUJMRV9ERVBTIiwJMHhmZDBifSwKKwl7ImxpbnV4L2RtLWlvY3RsLXY0LmgiLAkiRE1fVEFCTEVfU1RBVFVTIiwJMHhmZDBjfSwKZGlmZiAtLWdpdCBhL3N0cmFjZS00LjUuMjAvbGludXgvcG93ZXJwYy9zeXNjYWxsZW50LmggYi9zdHJhY2UtNC41LjIwL2xpbnV4L3Bvd2VycGMvc3lzY2FsbGVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlkZTJhZjYKLS0tIC9kZXYvbnVsbAorKysgYi9zdHJhY2UtNC41LjIwL2xpbnV4L3Bvd2VycGMvc3lzY2FsbGVudC5oCkBAIC0wLDAgKzEsNDg4IEBACisvKgorICogQ29weXJpZ2h0IChjKSAxOTkzIEJyYW5rbyBMYW5rZXN0ZXIgPGJyYW5rb0BoYWNrdGljLm5sPgorICogQ29weXJpZ2h0IChjKSAxOTkzLCAxOTk0LCAxOTk1IFJpY2sgU2xhZGtleSA8anJzQHdvcmxkLnN0ZC5jb20+CisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gVGhlIG5hbWUgb2YgdGhlIGF1dGhvciBtYXkgbm90IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzCisgKiAgICBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBBVVRIT1IgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUyBPUgorICogSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUworICogT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4KKyAqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKKyAqIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVAorICogTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKgorICoJJElkJAorICovCisKKwl7IDAsCTAsCXN5c19yZXN0YXJ0X3N5c2NhbGwsCSJyZXN0YXJ0X3N5c2NhbGwiCX0sIC8qIDAgKi8KKwl7IDEsCVRQLAlzeXNfZXhpdCwJCSJleGl0IgkJCX0sIC8qIDEgKi8KKwl7IDAsCVRQLAlzeXNfZm9yaywJCSJmb3JrIgkJCX0sIC8qIDIgKi8KKwl7IDMsCVRELAlzeXNfcmVhZCwJCSJyZWFkIgkJCX0sIC8qIDMgKi8KKwl7IDMsCVRELAlzeXNfd3JpdGUsCQkid3JpdGUiCQkJfSwgLyogNCAqLworCXsgMywJVER8VEYsCXN5c19vcGVuLAkJIm9wZW4iCQkJfSwgLyogNSAqLworCXsgMSwJVEQsCXN5c19jbG9zZSwJCSJjbG9zZSIJCQl9LCAvKiA2ICovCisJeyAzLAlUUCwJc3lzX3dhaXRwaWQsCQkid2FpdHBpZCIJCX0sIC8qIDcgKi8KKwl7IDIsCVREfFRGLAlzeXNfY3JlYXQsCQkiY3JlYXQiCQkJfSwgLyogOCAqLworCXsgMiwJVEYsCXN5c19saW5rLAkJImxpbmsiCQkJfSwgLyogOSAqLworCXsgMSwJVEYsCXN5c191bmxpbmssCQkidW5saW5rIgkJfSwgLyogMTAgKi8KKwl7IDMsCVRGfFRQLAlzeXNfZXhlY3ZlLAkJImV4ZWN2ZSIJCX0sIC8qIDExICovCisJeyAxLAlURiwJc3lzX2NoZGlyLAkJImNoZGlyIgkJCX0sIC8qIDEyICovCisJeyAxLAkwLAlzeXNfdGltZSwJCSJ0aW1lIgkJCX0sIC8qIDEzICovCisJeyAzLAlURiwJc3lzX21rbm9kLAkJIm1rbm9kIgkJCX0sIC8qIDE0ICovCisJeyAyLAlURiwJc3lzX2NobW9kLAkJImNobW9kIgkJCX0sIC8qIDE1ICovCisJeyAzLAlURiwJc3lzX2Nob3duLAkJImxjaG93biIJCX0sIC8qIDE2ICovCisJeyAwLAkwLAlzeXNfYnJlYWssCQkiYnJlYWsiCQkJfSwgLyogMTcgKi8KKwl7IDIsCVRGLAlzeXNfb2xkc3RhdCwJCSJvbGRzdGF0IgkJfSwgLyogMTggKi8KKwl7IDMsCVRGLAlzeXNfbHNlZWssCQkibHNlZWsiCQkJfSwgLyogMTkgKi8KKwl7IDAsCTAsCXN5c19nZXRwaWQsCQkiZ2V0cGlkIgkJfSwgLyogMjAgKi8KKwl7IDUsCVRGLAlzeXNfbW91bnQsCQkibW91bnQiCQkJfSwgLyogMjEgKi8KKwl7IDEsCVRGLAlzeXNfdW1vdW50LAkJIm9sZHVtb3VudCIJCX0sIC8qIDIyICovCisJeyAxLAkwLAlzeXNfc2V0dWlkLAkJInNldHVpZCIJCX0sIC8qIDIzICovCisJeyAwLAkwLAlzeXNfZ2V0dWlkLAkJImdldHVpZCIJCX0sIC8qIDI0ICovCisJeyAxLAkwLAlzeXNfc3RpbWUsCQkic3RpbWUiCQkJfSwgLyogMjUgKi8KKwl7IDQsCTAsCXN5c19wdHJhY2UsCQkicHRyYWNlIgkJfSwgLyogMjYgKi8KKwl7IDEsCTAsCXN5c19hbGFybSwJCSJhbGFybSIJCQl9LCAvKiAyNyAqLworCXsgMiwJVEQsCXN5c19vbGRmc3RhdCwJCSJvbGRmc3RhdCIJCX0sIC8qIDI4ICovCisJeyAwLAlUUywJc3lzX3BhdXNlLAkJInBhdXNlIgkJCX0sIC8qIDI5ICovCisJeyAyLAlURiwJc3lzX3V0aW1lLAkJInV0aW1lIgkJCX0sIC8qIDMwICovCisJeyAyLAkwLAlzeXNfc3R0eSwJCSJzdHR5IgkJCX0sIC8qIDMxICovCisJeyAyLAkwLAlzeXNfZ3R0eSwJCSJndHR5IgkJCX0sIC8qIDMyICovCisJeyAyLAlURiwJc3lzX2FjY2VzcywJCSJhY2Nlc3MiCQl9LCAvKiAzMyAqLworCXsgMSwJMCwJc3lzX25pY2UsCQkibmljZSIJCQl9LCAvKiAzNCAqLworCXsgMCwJMCwJc3lzX2Z0aW1lLAkJImZ0aW1lIgkJCX0sIC8qIDM1ICovCisJeyAwLAkwLAlzeXNfc3luYywJCSJzeW5jIgkJCX0sIC8qIDM2ICovCisJeyAyLAlUUywJc3lzX2tpbGwsCQkia2lsbCIJCQl9LCAvKiAzNyAqLworCXsgMiwJVEYsCXN5c19yZW5hbWUsCQkicmVuYW1lIgkJfSwgLyogMzggKi8KKwl7IDIsCVRGLAlzeXNfbWtkaXIsCQkibWtkaXIiCQkJfSwgLyogMzkgKi8KKwl7IDEsCVRGLAlzeXNfcm1kaXIsCQkicm1kaXIiCQkJfSwgLyogNDAgKi8KKwl7IDEsCVRELAlzeXNfZHVwLAkJImR1cCIJCQl9LCAvKiA0MSAqLworCXsgMSwJVEQsCXN5c19waXBlLAkJInBpcGUiCQkJfSwgLyogNDIgKi8KKwl7IDEsCTAsCXN5c190aW1lcywJCSJ0aW1lcyIJCQl9LCAvKiA0MyAqLworCXsgMCwJMCwJc3lzX3Byb2YsCQkicHJvZiIJCQl9LCAvKiA0NCAqLworCXsgMSwJMCwJc3lzX2JyaywJCSJicmsiCQkJfSwgLyogNDUgKi8KKwl7IDEsCTAsCXN5c19zZXRnaWQsCQkic2V0Z2lkIgkJfSwgLyogNDYgKi8KKwl7IDAsCTAsCXN5c19nZXRnaWQsCQkiZ2V0Z2lkIgkJfSwgLyogNDcgKi8KKwl7IDMsCVRTLAlzeXNfc2lnbmFsLAkJInNpZ25hbCIJCX0sIC8qIDQ4ICovCisJeyAwLAkwLAlzeXNfZ2V0ZXVpZCwJCSJnZXRldWlkIgkJfSwgLyogNDkgKi8KKwl7IDAsCTAsCXN5c19nZXRlZ2lkLAkJImdldGVnaWQiCQl9LCAvKiA1MCAqLworCXsgMSwJVEYsCXN5c19hY2N0LAkJImFjY3QiCQkJfSwgLyogNTEgKi8KKwl7IDIsCVRGLAlzeXNfdW1vdW50MiwJCSJ1bW91bnQiCQl9LCAvKiA1MiAqLworCXsgMCwJMCwJc3lzX2xvY2ssCQkibG9jayIJCQl9LCAvKiA1MyAqLworCXsgMywJVEQsCXN5c19pb2N0bCwJCSJpb2N0bCIJCQl9LCAvKiA1NCAqLworCXsgMywJVEQsCXN5c19mY250bCwJCSJmY250bCIJCQl9LCAvKiA1NSAqLworCXsgMCwJMCwJc3lzX21weCwJCSJtcHgiCQkJfSwgLyogNTYgKi8KKwl7IDIsCTAsCXN5c19zZXRwZ2lkLAkJInNldHBnaWQiCQl9LCAvKiA1NyAqLworCXsgMiwJMCwJc3lzX3VsaW1pdCwJCSJ1bGltaXQiCQl9LCAvKiA1OCAqLworCXsgMSwJMCwJc3lzX29sZG9sZHVuYW1lLAkib2xkb2xkdW5hbWUiCQl9LCAvKiA1OSAqLworCXsgMSwJMCwJc3lzX3VtYXNrLAkJInVtYXNrIgkJCX0sIC8qIDYwICovCisJeyAxLAlURiwJc3lzX2Nocm9vdCwJCSJjaHJvb3QiCQl9LCAvKiA2MSAqLworCXsgMiwJMCwJc3lzX3VzdGF0LAkJInVzdGF0IgkJCX0sIC8qIDYyICovCisJeyAyLAlURCwJc3lzX2R1cDIsCQkiZHVwMiIJCQl9LCAvKiA2MyAqLworCXsgMCwJMCwJc3lzX2dldHBwaWQsCQkiZ2V0cHBpZCIJCX0sIC8qIDY0ICovCisJeyAwLAkwLAlzeXNfZ2V0cGdycCwJCSJnZXRwZ3JwIgkJfSwgLyogNjUgKi8KKwl7IDAsCTAsCXN5c19zZXRzaWQsCQkic2V0c2lkIgkJfSwgLyogNjYgKi8KKwl7IDMsCVRTLAlzeXNfc2lnYWN0aW9uLAkJInNpZ2FjdGlvbiIJCX0sIC8qIDY3ICovCisJeyAxLAlUUywJcHJpbnRhcmdzLAkJInNnZXRtYXNrIgkJfSwgLyogNjggKi8KKwl7IDEsCVRTLAlwcmludGFyZ3MsCQkic3NldG1hc2siCQl9LCAvKiA2OSAqLworCXsgMiwJMCwJc3lzX3NldHJldWlkLAkJInNldHJldWlkIgkJfSwgLyogNzAgKi8KKwl7IDIsCTAsCXN5c19zZXRyZWdpZCwJCSJzZXRyZWdpZCIJCX0sIC8qIDcxICovCisJeyAzLAlUUywJc3lzX3NpZ3N1c3BlbmQsCQkic2lnc3VzcGVuZCIJCX0sIC8qIDcyICovCisJeyAxLAlUUywJc3lzX3NpZ3BlbmRpbmcsCQkic2lncGVuZGluZyIJCX0sIC8qIDczICovCisJeyAyLAkwLAlzeXNfc2V0aG9zdG5hbWUsCSJzZXRob3N0bmFtZSIJCX0sIC8qIDc0ICovCisJeyAyLAkwLAlzeXNfc2V0cmxpbWl0LAkJInNldHJsaW1pdCIJCX0sIC8qIDc1ICovCisJeyAyLAkwLAlzeXNfZ2V0cmxpbWl0LAkJIm9sZGdldHJsaW1pdCIJCX0sIC8qIDc2ICovCisJeyAyLAkwLAlzeXNfZ2V0cnVzYWdlLAkJImdldHJ1c2FnZSIJCX0sIC8qIDc3ICovCisJeyAyLAkwLAlzeXNfZ2V0dGltZW9mZGF5LAkiZ2V0dGltZW9mZGF5IgkJfSwgLyogNzggKi8KKwl7IDIsCTAsCXN5c19zZXR0aW1lb2ZkYXksCSJzZXR0aW1lb2ZkYXkiCQl9LCAvKiA3OSAqLworCXsgMiwJMCwJc3lzX2dldGdyb3VwcywJCSJnZXRncm91cHMiCQl9LCAvKiA4MCAqLworCXsgMiwJMCwJc3lzX3NldGdyb3VwcywJCSJzZXRncm91cHMiCQl9LCAvKiA4MSAqLworCXsgMSwJVEQsCXN5c19vbGRzZWxlY3QsCQkib2xkc2VsZWN0IgkJfSwgLyogODIgKi8KKwl7IDIsCVRGLAlzeXNfc3ltbGluaywJCSJzeW1saW5rIgkJfSwgLyogODMgKi8KKwl7IDIsCVRGLAlzeXNfb2xkbHN0YXQsCQkib2xkbHN0YXQiCQl9LCAvKiA4NCAqLworCXsgMywJVEYsCXN5c19yZWFkbGluaywJCSJyZWFkbGluayIJCX0sIC8qIDg1ICovCisJeyAxLAlURiwJc3lzX3VzZWxpYiwJCSJ1c2VsaWIiCQl9LCAvKiA4NiAqLworCXsgMSwJVEYsCXN5c19zd2Fwb24sCQkic3dhcG9uIgkJfSwgLyogODcgKi8KKwl7IDMsCTAsCXN5c19yZWJvb3QsCQkicmVib290IgkJfSwgLyogODggKi8KKwl7IDMsCVRELAlzeXNfcmVhZGRpciwJCSJyZWFkZGlyIgkJfSwgLyogODkgKi8KKwl7IDYsCTAsCXN5c19tbWFwLAkJIm1tYXAiCQkJfSwgLyogOTAgKi8KKwl7IDIsCTAsCXN5c19tdW5tYXAsCQkibXVubWFwIgkJfSwgLyogOTEgKi8KKwl7IDIsCVRGLAlzeXNfdHJ1bmNhdGUsCQkidHJ1bmNhdGUiCQl9LCAvKiA5MiAqLworCXsgMiwJVEQsCXN5c19mdHJ1bmNhdGUsCQkiZnRydW5jYXRlIgkJfSwgLyogOTMgKi8KKwl7IDIsCVRELAlzeXNfZmNobW9kLAkJImZjaG1vZCIJCX0sIC8qIDk0ICovCisJeyAzLAlURCwJc3lzX2ZjaG93biwJCSJmY2hvd24iCQl9LCAvKiA5NSAqLworCXsgMiwJMCwJc3lzX2dldHByaW9yaXR5LAkiZ2V0cHJpb3JpdHkiCQl9LCAvKiA5NiAqLworCXsgMywJMCwJc3lzX3NldHByaW9yaXR5LAkic2V0cHJpb3JpdHkiCQl9LCAvKiA5NyAqLworCXsgNCwJMCwJc3lzX3Byb2ZpbCwJCSJwcm9maWwiCQl9LCAvKiA5OCAqLworCXsgMiwJVEYsCXN5c19zdGF0ZnMsCQkic3RhdGZzIgkJfSwgLyogOTkgKi8KKwl7IDIsCVRELAlzeXNfZnN0YXRmcywJCSJmc3RhdGZzIgkJfSwgLyogMTAwICovCisJeyAzLAkwLAlzeXNfaW9wZXJtLAkJImlvcGVybSIJCX0sIC8qIDEwMSAqLworCXsgMiwJVEQsCXN5c19zb2NrZXRjYWxsLAkJInNvY2tldGNhbGwiCQl9LCAvKiAxMDIgKi8KKwl7IDMsCTAsCXN5c19zeXNsb2csCQkic3lzbG9nIgkJfSwgLyogMTAzICovCisJeyAzLAkwLAlzeXNfc2V0aXRpbWVyLAkJInNldGl0aW1lciIJCX0sIC8qIDEwNCAqLworCXsgMiwJMCwJc3lzX2dldGl0aW1lciwJCSJnZXRpdGltZXIiCQl9LCAvKiAxMDUgKi8KKwl7IDIsCVRGLAlzeXNfc3RhdCwJCSJzdGF0IgkJCX0sIC8qIDEwNiAqLworCXsgMiwJVEYsCXN5c19sc3RhdCwJCSJsc3RhdCIJCQl9LCAvKiAxMDcgKi8KKwl7IDIsCVRELAlzeXNfZnN0YXQsCQkiZnN0YXQiCQkJfSwgLyogMTA4ICovCisJeyAxLAkwLAlzeXNfb2xkdW5hbWUsCQkib2xkdW5hbWUiCQl9LCAvKiAxMDkgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJpb3BsIgkJCX0sIC8qIDExMCAqLworCXsgMCwJMCwJc3lzX3ZoYW5ndXAsCQkidmhhbmd1cCIJCX0sIC8qIDExMSAqLworCXsgMCwJMCwJc3lzX2lkbGUsCQkiaWRsZSIJCQl9LCAvKiAxMTIgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJ2bTg2IgkJCX0sIC8qIDExMyAqLworCXsgNCwJVFAsCXN5c193YWl0NCwJCSJ3YWl0NCIJCQl9LCAvKiAxMTQgKi8KKwl7IDEsCTAsCXN5c19zd2Fwb2ZmLAkJInN3YXBvZmYiCQl9LCAvKiAxMTUgKi8KKwl7IDEsCTAsCXN5c19zeXNpbmZvLAkJInN5c2luZm8iCQl9LCAvKiAxMTYgKi8KKwl7IDYsCTAsCXN5c19pcGMsCQkiaXBjIgkJCX0sIC8qIDExNyAqLworCXsgMSwJVEQsCXN5c19mc3luYywJCSJmc3luYyIJCQl9LCAvKiAxMTggKi8KKwl7IDEsCVRTLAlzeXNfc2lncmV0dXJuLAkJInNpZ3JldHVybiIJCX0sIC8qIDExOSAqLworCXsgNSwJVFAsCXN5c19jbG9uZSwJCSJjbG9uZSIJCQl9LCAvKiAxMjAgKi8KKwl7IDIsCTAsCXN5c19zZXRkb21haW5uYW1lLAkic2V0ZG9tYWlubmFtZSIJCX0sIC8qIDEyMSAqLworCXsgMSwJMCwJc3lzX3VuYW1lLAkJInVuYW1lIgkJCX0sIC8qIDEyMiAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIm1vZGlmeV9sZHQiCQl9LCAvKiAxMjMgKi8KKwl7IDEsCTAsCXN5c19hZGp0aW1leCwJCSJhZGp0aW1leCIJCX0sIC8qIDEyNCAqLworCXsgMywJMCwJc3lzX21wcm90ZWN0LAkJIm1wcm90ZWN0IgkJfSwgLyogMTI1ICovCisJeyAzLAlUUywJc3lzX3NpZ3Byb2NtYXNrLAkic2lncHJvY21hc2siCQl9LCAvKiAxMjYgKi8KKwl7IDIsCTAsCXN5c19jcmVhdGVfbW9kdWxlLAkiY3JlYXRlX21vZHVsZSIJCX0sIC8qIDEyNyAqLworCXsgMywJMCwJc3lzX2luaXRfbW9kdWxlLAkiaW5pdF9tb2R1bGUiCQl9LCAvKiAxMjggKi8KKwl7IDIsCTAsCXN5c19kZWxldGVfbW9kdWxlLAkiZGVsZXRlX21vZHVsZSIJCX0sIC8qIDEyOSAqLworCXsgMSwJMCwJc3lzX2dldF9rZXJuZWxfc3ltcywJImdldF9rZXJuZWxfc3ltcyIJfSwgLyogMTMwICovCisJeyA0LAkwLAlzeXNfcXVvdGFjdGwsCQkicXVvdGFjdGwiCQl9LCAvKiAxMzEgKi8KKwl7IDEsCTAsCXN5c19nZXRwZ2lkLAkJImdldHBnaWQiCQl9LCAvKiAxMzIgKi8KKwl7IDEsCVRGLAlzeXNfZmNoZGlyLAkJImZjaGRpciIJCX0sIC8qIDEzMyAqLworCXsgMCwJMCwJc3lzX2JkZmx1c2gsCQkiYmRmbHVzaCIJCX0sIC8qIDEzNCAqLworCXsgMywJMCwJc3lzX3N5c2ZzLAkJInN5c2ZzIgkJCX0sIC8qIDEzNSAqLworCXsgMSwJMCwJc3lzX3BlcnNvbmFsaXR5LAkicGVyc29uYWxpdHkiCQl9LCAvKiAxMzYgKi8KKwl7IDUsCTAsCXN5c19hZnNfc3lzY2FsbCwJImFmc19zeXNjYWxsIgkJfSwgLyogMTM3ICovCisJeyAxLAkwLAlzeXNfc2V0ZnN1aWQsCQkic2V0ZnN1aWQiCQl9LCAvKiAxMzggKi8KKwl7IDEsCTAsCXN5c19zZXRmc2dpZCwJCSJzZXRmc2dpZCIJCX0sIC8qIDEzOSAqLworCXsgNSwJVEYsCXN5c19sbHNlZWssCQkiX2xsc2VlayIJCX0sIC8qIDE0MCAqLworCXsgMywJVEQsCXN5c19nZXRkZW50cywJCSJnZXRkZW50cyIJCX0sIC8qIDE0MSAqLworCXsgNSwJVEQsCXN5c19zZWxlY3QsCQkic2VsZWN0IgkJfSwgLyogMTQyICovCisJeyAyLAlURCwJc3lzX2Zsb2NrLAkJImZsb2NrIgkJCX0sIC8qIDE0MyAqLworCXsgMywJMCwJc3lzX21zeW5jLAkJIm1zeW5jIgkJCX0sIC8qIDE0NCAqLworCXsgMywJVEQsCXN5c19yZWFkdiwJCSJyZWFkdiIJCQl9LCAvKiAxNDUgKi8KKwl7IDMsCVRELAlzeXNfd3JpdGV2LAkJIndyaXRldiIJCX0sIC8qIDE0NiAqLworCXsgMSwJMCwJc3lzX2dldHNpZCwJCSJnZXRzaWQiCQl9LCAvKiAxNDcgKi8KKwl7IDEsCVRELAlzeXNfZmRhdGFzeW5jLAkJImZkYXRhc3luYyIJCX0sIC8qIDE0OCAqLworCXsgMSwJMCwJc3lzX3N5c2N0bCwJCSJfc3lzY3RsIgkJfSwgLyogMTQ5ICovCisJeyAyLAkwLAlzeXNfbWxvY2ssCQkibWxvY2siCQkJfSwgLyogMTUwICovCisJeyAyLAkwLAlzeXNfbXVubG9jaywJCSJtdW5sb2NrIgkJfSwgLyogMTUxICovCisJeyAxLAkwLAlzeXNfbWxvY2thbGwsCQkibWxvY2thbGwiCQl9LCAvKiAxNTIgKi8KKwl7IDAsCTAsCXN5c19tdW5sb2NrYWxsLAkJIm11bmxvY2thbGwiCQl9LCAvKiAxNTMgKi8KKwl7IDIsCTAsCXN5c19zY2hlZF9zZXRwYXJhbSwJInNjaGVkX3NldHBhcmFtIgl9LCAvKiAxNTQgKi8KKwl7IDIsCTAsCXN5c19zY2hlZF9nZXRwYXJhbSwJInNjaGVkX2dldHBhcmFtIgl9LCAvKiAxNTUgKi8KKwl7IDMsCTAsCXN5c19zY2hlZF9zZXRzY2hlZHVsZXIsCSJzY2hlZF9zZXRzY2hlZHVsZXIiCX0sIC8qIDE1NiAqLworCXsgMSwJMCwJc3lzX3NjaGVkX2dldHNjaGVkdWxlciwJInNjaGVkX2dldHNjaGVkdWxlciIJfSwgLyogMTU3ICovCisJeyAwLAkwLAlzeXNfc2NoZWRfeWllbGQsCSJzY2hlZF95aWVsZCIJCX0sIC8qIDE1OCAqLworCXsgMSwJMCwJc3lzX3NjaGVkX2dldF9wcmlvcml0eV9tYXgsInNjaGVkX2dldF9wcmlvcml0eV9tYXgifSwgLyogMTU5ICovCisJeyAxLAkwLAlzeXNfc2NoZWRfZ2V0X3ByaW9yaXR5X21pbiwic2NoZWRfZ2V0X3ByaW9yaXR5X21pbiJ9LCAvKiAxNjAgKi8KKwl7IDIsCTAsCXN5c19zY2hlZF9ycl9nZXRfaW50ZXJ2YWwsInNjaGVkX3JyX2dldF9pbnRlcnZhbCJ9LCAvKiAxNjEgKi8KKwl7IDIsCTAsCXN5c19uYW5vc2xlZXAsCQkibmFub3NsZWVwIgkJfSwgLyogMTYyICovCisJeyA1LAkwLAlzeXNfbXJlbWFwLAkJIm1yZW1hcCIJCX0sIC8qIDE2MyAqLworCXsgMywJMCwJc3lzX3NldHJlc3VpZCwJCSJzZXRyZXN1aWQiCQl9LCAvKiAxNjQgKi8KKwl7IDMsCTAsCXN5c19nZXRyZXN1aWQsCQkiZ2V0cmVzdWlkIgkJfSwgLyogMTY1ICovCisJeyA1LAkwLAlzeXNfcXVlcnlfbW9kdWxlLAkicXVlcnlfbW9kdWxlIgkJfSwgLyogMTY2ICovCisJeyAzLAlURCwJc3lzX3BvbGwsCQkicG9sbCIJCQl9LCAvKiAxNjcgKi8KKwl7IDMsCTAsCXByaW50YXJncywJCSJuZnNzZXJ2Y3RsIgkJfSwgLyogMTY4ICovCisJeyAzLAkwLAlzeXNfc2V0cmVzZ2lkLAkJInNldHJlc2dpZCIJCX0sIC8qIDE2OSAqLworCXsgMywJMCwJc3lzX2dldHJlc2dpZCwJCSJnZXRyZXNnaWQiCQl9LCAvKiAxNzAgKi8KKwl7IDUsCTAsCXN5c19wcmN0bCwJCSJwcmN0bCIJCQl9LCAvKiAxNzEgKi8KKwl7IDEsCVRTLAlwcmludGFyZ3MsCQkicnRfc2lncmV0dXJuIgkJfSwgLyogMTcyICovCisJeyA0LAlUUywJc3lzX3J0X3NpZ2FjdGlvbiwJInJ0X3NpZ2FjdGlvbiIJCX0sIC8qIDE3MyAqLworCXsgNCwJVFMsCXN5c19ydF9zaWdwcm9jbWFzaywJInJ0X3NpZ3Byb2NtYXNrIgl9LCAvKiAxNzQgKi8KKwl7IDIsCVRTLAlzeXNfcnRfc2lncGVuZGluZywJInJ0X3NpZ3BlbmRpbmciCQl9LCAvKiAxNzUgKi8KKwl7IDQsCVRTLAlzeXNfcnRfc2lndGltZWR3YWl0LAkicnRfc2lndGltZWR3YWl0Igl9LCAvKiAxNzYgKi8KKwl7IDMsCVRTLAlzeXNfcnRfc2lncXVldWVpbmZvLAkicnRfc2lncXVldWVpbmZvIgl9LCAvKiAxNzcgKi8KKwl7IDIsCVRTLAlzeXNfcnRfc2lnc3VzcGVuZCwJInJ0X3NpZ3N1c3BlbmQiCQl9LCAvKiAxNzggKi8KKwl7IDYsCVRELAlzeXNfcHJlYWQsCQkicHJlYWQ2NCIJCX0sIC8qIDE3OSAqLworCXsgNiwJVEQsCXN5c19wd3JpdGUsCQkicHdyaXRlNjQiCQl9LCAvKiAxODAgKi8KKwl7IDMsCVRGLAlzeXNfY2hvd24sCQkiY2hvd24iCQkJfSwgLyogMTgxICovCisJeyAyLAlURiwJc3lzX2dldGN3ZCwJCSJnZXRjd2QiCQl9LCAvKiAxODIgKi8KKwl7IDIsCTAsCXN5c19jYXBnZXQsCQkiY2FwZ2V0IgkJfSwgLyogMTgzICovCisJeyAyLAkwLAlzeXNfY2Fwc2V0LAkJImNhcHNldCIJCX0sIC8qIDE4NCAqLworCXsgMiwJVFMsCXN5c19zaWdhbHRzdGFjaywJInNpZ2FsdHN0YWNrIgkJfSwgLyogMTg1ICovCisJeyA0LAlURHxUTiwJc3lzX3NlbmRmaWxlLAkJInNlbmRmaWxlIgkJfSwgLyogMTg2ICovCisJeyA1LAkwLAlzeXNfZ2V0cG1zZywJCSJnZXRwbXNnIgkJfSwgLyogMTg3ICovCisJeyA1LAkwLAlzeXNfcHV0cG1zZywJCSJwdXRwbXNnIgkJfSwgLyogMTg4ICovCisJeyAwLAlUUCwJc3lzX3Zmb3JrLAkJInZmb3JrIgkJCX0sIC8qIDE4OSAqLworCXsgMiwJMCwJc3lzX2dldHJsaW1pdCwJCSJnZXRybGltaXQiCQl9LCAvKiAxOTAgKi8KKwl7IDUsCVRELAlzeXNfcmVhZGFoZWFkLAkJInJlYWRhaGVhZCIJCX0sIC8qIDE5MCAqLworCXsgNiwJMCwJc3lzX21tYXAsCQkibW1hcDIiCQkJfSwgLyogMTkyICovCisJeyA0LAlURiwJc3lzX3RydW5jYXRlNjQsCQkidHJ1bmNhdGU2NCIJCX0sIC8qIDE5MyAqLworCXsgNCwJVEQsCXN5c19mdHJ1bmNhdGU2NCwJImZ0cnVuY2F0ZTY0IgkJfSwgLyogMTk0ICovCisJeyAyLAlURiwJc3lzX3N0YXQ2NCwJCSJzdGF0NjQiCQl9LCAvKiAxOTUgKi8KKwl7IDIsCVRGLAlzeXNfbHN0YXQ2NCwJCSJsc3RhdDY0IgkJfSwgLyogMTk2ICovCisJeyAyLAlURCwJc3lzX2ZzdGF0NjQsCQkiZnN0YXQ2NCIJCX0sIC8qIDE5NyAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJInBjaWNvbmZpZ19yZWFkIgl9LCAvKiAxOTggKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJwY2ljb25maWdfd3JpdGUiCX0sIC8qIDE5OSAqLworCXsgMywJMCwJcHJpbnRhcmdzLAkJInBjaWNvbmZpZ19pb2Jhc2UiCX0sIC8qIDIwMCAqLworCXsgOCwJMCwJcHJpbnRhcmdzLAkJIk1PTCIJCQl9LCAvKiAyMDEgKi8KKwl7IDMsCVRELAlzeXNfZ2V0ZGVudHM2NCwJCSJnZXRkZW50czY0IgkJfSwgLyogMjAyICovCisJeyAyLAlURiwJc3lzX3Bpdm90cm9vdCwJCSJwaXZvdF9yb290IgkJfSwgLyogMjAzICovCisJeyAzLAlURCwJc3lzX2ZjbnRsLAkJImZjbnRsNjQiCQl9LCAvKiAyMDQgKi8KKwl7IDMsCTAsCXN5c19tYWR2aXNlLAkJIm1hZHZpc2UiCQl9LCAvKiAyMDUgKi8KKwl7IDMsCTAsCXN5c19taW5jb3JlLAkJIm1pbmNvcmUiCQl9LCAvKiAyMDYgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJnZXR0aWQiCQl9LCAvKiAyMDcgKi8KKwl7IDIsCVRTLAlzeXNfa2lsbCwJCSJ0a2lsbCIJCQl9LCAvKiAyMDggKi8KKwl7IDUsCVRGLAlzeXNfc2V0eGF0dHIsCQkic2V0eGF0dHIiCQl9LCAvKiAyMDkgKi8KKwl7IDUsCVRGLAlzeXNfc2V0eGF0dHIsCQkibHNldHhhdHRyIgkJfSwgLyogMjEwICovCisJeyA1LAlURCwJc3lzX2ZzZXR4YXR0ciwJCSJmc2V0eGF0dHIiCQl9LCAvKiAyMTEgKi8KKwl7IDQsCVRGLAlzeXNfZ2V0eGF0dHIsCQkiZ2V0eGF0dHIiCQl9LCAvKiAyMTIgKi8KKwl7IDQsCVRGLAlzeXNfZ2V0eGF0dHIsCQkibGdldHhhdHRyIgkJfSwgLyogMjEzICovCisJeyA0LAkwLAlzeXNfZmdldHhhdHRyLAkJImZnZXR4YXR0ciIJCX0sIC8qIDIxNCAqLworCXsgMywJVEYsCXN5c19saXN0eGF0dHIsCQkibGlzdHhhdHRyIgkJfSwgLyogMjE1ICovCisJeyAzLAlURiwJc3lzX2xpc3R4YXR0ciwJCSJsbGlzdHhhdHRyIgkJfSwgLyogMjE2ICovCisJeyAzLAkwLAlzeXNfZmxpc3R4YXR0ciwJCSJmbGlzdHhhdHRyIgkJfSwgLyogMjE3ICovCisJeyAyLAlURiwJc3lzX3JlbW92ZXhhdHRyLAkicmVtb3ZleGF0dHIiCQl9LCAvKiAyMTggKi8KKwl7IDIsCVRGLAlzeXNfcmVtb3ZleGF0dHIsCSJscmVtb3ZleGF0dHIiCQl9LCAvKiAyMTkgKi8KKwl7IDIsCVRELAlzeXNfZnJlbW92ZXhhdHRyLAkiZnJlbW92ZXhhdHRyIgkJfSwgLyogMjIwICovCisJeyA2LAkwLAlzeXNfZnV0ZXgsCQkiZnV0ZXgiCQkJfSwgLyogMjIxICovCisJeyAzLAkwLAlzeXNfc2NoZWRfc2V0YWZmaW5pdHksCSJzY2hlZF9zZXRhZmZpbml0eSIJfSwgLyogMjIyICovCisJeyAzLAkwLAlzeXNfc2NoZWRfZ2V0YWZmaW5pdHksCSJzY2hlZF9nZXRhZmZpbml0eSIJfSwgLyogMjIzICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzIyNCIJCX0sIC8qIDIyNCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJInR1eCIJCQl9LCAvKiAyMjUgKi8KKwl7IDQsCVREfFROLAlzeXNfc2VuZGZpbGU2NCwJCSJzZW5kZmlsZTY0IgkJfSwgLyogMjI2ICovCisJeyAyLAkwLAlzeXNfaW9fc2V0dXAsCQkiaW9fc2V0dXAiCQl9LCAvKiAyMjcgKi8KKwl7IDEsCTAsCXN5c19pb19kZXN0cm95LAkJImlvX2Rlc3Ryb3kiCQl9LCAvKiAyMjggKi8KKwl7IDUsCTAsCXN5c19pb19nZXRldmVudHMsCSJpb19nZXRldmVudHMiCQl9LCAvKiAyMjkgKi8KKwl7IDMsCTAsCXN5c19pb19zdWJtaXQsCQkiaW9fc3VibWl0IgkJfSwgLyogMjMwICovCisJeyAzLAkwLAlzeXNfaW9fY2FuY2VsLAkJImlvX2NhbmNlbCIJCX0sIC8qIDIzMSAqLworCXsgMSwJMCwJcHJpbnRhcmdzLAkJInNldF90aWRfYWRkcmVzcyIJfSwgLyogMjMyICovCisJeyA2LAkwLAlzeXNfZmFkdmlzZTY0LAkJImZhZHZpc2U2NCIJCX0sIC8qIDIzMyAqLworCXsgMSwJVFAsCXN5c19leGl0LAkJImV4aXRfZ3JvdXAiCQl9LCAvKiAyMzQgKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJsb29rdXBfZGNvb2tpZSIJfSwgLyogMjM1ICovCisJeyAxLAkwLAlzeXNfZXBvbGxfY3JlYXRlLAkiZXBvbGxfY3JlYXRlIgkJfSwgLyogMjM2ICovCisJeyA0LAlURCwJc3lzX2Vwb2xsX2N0bCwJCSJlcG9sbF9jdGwiCQl9LCAvKiAyMzcgKi8KKwl7IDQsCVRELAlzeXNfZXBvbGxfd2FpdCwJCSJlcG9sbF93YWl0IgkJfSwgLyogMjM4ICovCisJeyA1LAkwLAlzeXNfcmVtYXBfZmlsZV9wYWdlcywJInJlbWFwX2ZpbGVfcGFnZXMiCX0sIC8qIDIzOSAqLworCXsgMywJMCwJc3lzX3RpbWVyX2NyZWF0ZSwJInRpbWVyX2NyZWF0ZSIJCX0sIC8qIDI0MCAqLworCXsgNCwJMCwJc3lzX3RpbWVyX3NldHRpbWUsCSJ0aW1lcl9zZXR0aW1lIgkJfSwgLyogMjQxICovCisJeyAyLAkwLAlzeXNfdGltZXJfZ2V0dGltZSwJInRpbWVyX2dldHRpbWUiCQl9LCAvKiAyNDIgKi8KKwl7IDEsCTAsCXN5c190aW1lcl9nZXRvdmVycnVuLAkidGltZXJfZ2V0b3ZlcnJ1biIJfSwgLyogMjQzICovCisJeyAxLAkwLAlzeXNfdGltZXJfZGVsZXRlLAkidGltZXJfZGVsZXRlIgkJfSwgLyogMjQ0ICovCisJeyAyLAkwLAlzeXNfY2xvY2tfc2V0dGltZSwJImNsb2NrX3NldHRpbWUiCQl9LCAvKiAyNDUgKi8KKwl7IDIsCTAsCXN5c19jbG9ja19nZXR0aW1lLAkiY2xvY2tfZ2V0dGltZSIJCX0sIC8qIDI0NiAqLworCXsgMiwJMCwJc3lzX2Nsb2NrX2dldHJlcywJImNsb2NrX2dldHJlcyIJCX0sIC8qIDI0NyAqLworCXsgNCwJMCwJc3lzX2Nsb2NrX25hbm9zbGVlcCwJImNsb2NrX25hbm9zbGVlcCIJfSwgLyogMjQ4ICovCisJeyAyLAkwLAlwcmludGFyZ3MsCQkic3dhcGNvbnRleHQiCQl9LCAvKiAyNDkgKi8KKwl7IDMsCVRTLAlzeXNfdGdraWxsLAkJInRna2lsbCIJCX0sIC8qIDI1MCAqLworCXsgMiwJVEYsCXN5c191dGltZXMsCQkidXRpbWVzIgkJfSwgLyogMjUxICovCisJeyAzLAlURiwJc3lzX3N0YXRmczY0LAkJInN0YXRmczY0IgkJfSwgLyogMjUyICovCisJeyAzLAlURCwJc3lzX2ZzdGF0ZnM2NCwJCSJmc3RhdGZzNjQiCQl9LCAvKiAyNTMgKi8KKwl7IDYsCTAsCXN5c19mYWR2aXNlNjRfNjQsCSJmYWR2aXNlNjRfNjQiCQl9LCAvKiAyNTQgKi8KKwl7IDEsCTAsCXByaW50YXJncywJCSJydGFzIgkJCX0sIC8qIDI1NSAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJImRlYnVnX3NldGNvbnRleHQiCX0sIC8qIDI1NiAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJInZzZXJ2ZXIiCQl9LCAvKiAyNTcgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJtaWdyYXRlX3BhZ2VzIgkJfSwgLyogMjU4ICovCisJeyA2LAkwLAlzeXNfbWJpbmQsCQkibWJpbmQiCQkJfSwgLyogMjU5ICovCisJeyA1LAkwLAlzeXNfZ2V0X21lbXBvbGljeSwJImdldF9tZW1wb2xpY3kiCQl9LCAvKiAyNjAgKi8KKwl7IDMsCTAsCXN5c19zZXRfbWVtcG9saWN5LAkic2V0X21lbXBvbGljeSIJCX0sIC8qIDI2MSAqLworCXsgNCwJMCwJc3lzX21xX29wZW4sCQkibXFfb3BlbiIJCX0sIC8qIDI2MiAqLworCXsgMSwJMCwJc3lzX21xX3VubGluaywJCSJtcV91bmxpbmsiCQl9LCAvKiAyNjMgKi8KKwl7IDUsCTAsCXN5c19tcV90aW1lZHNlbmQsCSJtcV90aW1lZHNlbmQiCQl9LCAvKiAyNjQgKi8KKwl7IDUsCTAsCXN5c19tcV90aW1lZHJlY2VpdmUsCSJtcV90aW1lZHJlY2VpdmUiCX0sIC8qIDI2NSAqLworCXsgMiwJMCwJc3lzX21xX25vdGlmeSwJCSJtcV9ub3RpZnkiCQl9LCAvKiAyNjYgKi8KKwl7IDMsCTAsCXN5c19tcV9nZXRzZXRhdHRyLAkibXFfZ2V0c2V0YXR0ciIJCX0sIC8qIDI2NyAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJImtleGVjX2xvYWQiCQl9LCAvKiAyNjggKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJhZGRfa2V5IgkJfSwgLyogMjY5ICovCisJeyA0LAkwLAlwcmludGFyZ3MsCQkicmVxdWVzdF9rZXkiCQl9LCAvKiAyNzAgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJrZXljdGwiCQl9LCAvKiAyNzEgKi8KKwl7IDUsCVRQLAlzeXNfd2FpdGlkLAkJIndhaXRpZCIJCX0sIC8qIDI3MiAqLworCXsgMywJMCwJcHJpbnRhcmdzLAkJImlvcHJpb19zZXQiCQl9LCAvKiAyNzMgKi8KKwl7IDIsCTAsCXByaW50YXJncywJCSJpb3ByaW9fZ2V0IgkJfSwgLyogMjc0ICovCisJeyAwLAlURCwJcHJpbnRhcmdzLAkJImlub3RpZnlfaW5pdCIJCX0sIC8qIDI3NSAqLworCXsgMywJVEQsCXN5c19pbm90aWZ5X2FkZF93YXRjaCwJImlub3RpZnlfYWRkX3dhdGNoIgl9LCAvKiAyNzYgKi8KKwl7IDIsCVRELAlzeXNfaW5vdGlmeV9ybV93YXRjaCwJImlub3RpZnlfcm1fd2F0Y2giCX0sIC8qIDI3NyAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJInNwdV9ydW4iCQl9LCAvKiAyNzggKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJzcHVfY3JlYXRlIgkJfSwgLyogMjc5ICovCisJeyA2LAlURCwJc3lzX3BzZWxlY3Q2LAkJInBzZWxlY3Q2IgkJfSwgLyogMjgwICovCisJeyA1LAlURCwJc3lzX3Bwb2xsLAkJInBwb2xsIgkJCX0sIC8qIDI4MSAqLworCXsgMSwJVFAsCXN5c191bnNoYXJlLAkJInVuc2hhcmUiCQl9LCAvKiAyODIgKi8KKwl7IDYsCVRELAlwcmludGFyZ3MsCQkic3BsaWNlIgkJfSwgLyogMjgzICovCisJeyA0LAlURCwJcHJpbnRhcmdzLAkJInRlZSIJCQl9LCAvKiAyODQgKi8KKwl7IDQsCVRELAlwcmludGFyZ3MsCQkidm1zcGxpY2UiCQl9LCAvKiAyODUgKi8KKwl7IDQsCVREfFRGLAlzeXNfb3BlbmF0LAkJIm9wZW5hdCIJCX0sIC8qIDI4NiAqLworCXsgMywJVER8VEYsCXN5c19ta2RpcmF0LAkJIm1rZGlyYXQiCQl9LCAvKiAyODcgKi8KKwl7IDQsCVREfFRGLAlzeXNfbWtub2RhdCwJCSJta25vZGF0IgkJfSwgLyogMjg4ICovCisJeyA1LAlURHxURiwJc3lzX2ZjaG93bmF0LAkJImZjaG93bmF0IgkJfSwgLyogMjg5ICovCisJeyAzLAlURHxURiwJc3lzX2Z1dGltZXNhdCwJCSJmdXRpbWVzYXQiCQl9LCAvKiAyOTAgKi8KKwl7IDQsCVREfFRELAlzeXNfbmV3ZnN0YXRhdCwJCSJuZXdmc3RhdGF0IgkJfSwgLyogMjkxICovCisJeyAzLAlURHxURiwJc3lzX3VubGlua2F0LAkJInVubGlua2F0IgkJfSwgLyogMjkyICovCisJeyA0LAlURHxURiwJc3lzX3JlbmFtZWF0LAkJInJlbmFtZWF0IgkJfSwgLyogMjkzICovCisJeyA1LAlURHxURiwJc3lzX2xpbmthdCwJCSJsaW5rYXQiCQl9LCAvKiAyOTQgKi8KKwl7IDMsCVREfFRGLAlzeXNfc3ltbGlua2F0LAkJInN5bWxpbmthdCIJCX0sIC8qIDI5NSAqLworCXsgNCwJVER8VEYsCXN5c19yZWFkbGlua2F0LAkJInJlYWRsaW5rYXQiCQl9LCAvKiAyOTYgKi8KKwl7IDMsCVREfFRGLAlzeXNfZmNobW9kYXQsCQkiZmNobW9kYXQiCQl9LCAvKiAyOTcgKi8KKwl7IDMsCVREfFRGLAlzeXNfZmFjY2Vzc2F0LAkJImZhY2Nlc3NhdCIJCX0sIC8qIDI5OCAqLworCXsgMiwJMCwJcHJpbnRhcmdzLAkJInNldF9yb2J1c3RfbGlzdCIJfSwgLyogMjk5ICovCisJeyAzLAkwLAlwcmludGFyZ3MsCQkiZ2V0X3JvYnVzdF9saXN0Igl9LCAvKiAzMDAgKi8KKwl7IDYsCTAsCXN5c19tb3ZlX3BhZ2VzLAkJIm1vdmVfcGFnZXMiCQl9LCAvKiAzMDEgKi8KKwl7IDMsCTAsCXN5c19nZXRjcHUsCQkiZ2V0Y3B1IgkJfSwgLyogMzAyICovCisJeyA1LAlURCwJc3lzX2Vwb2xsX3B3YWl0LAkiZXBvbGxfcHdhaXQiCQl9LCAvKiAzMDMgKi8KKwl7IDQsCVREfFRGLAlzeXNfdXRpbWVuc2F0LAkJInV0aW1lbnNhdCIJCX0sIC8qIDMwNCAqLworCXsgMywJVER8VFMsCXN5c19zaWduYWxmZCwJCSJzaWduYWxmZCIJCX0sIC8qIDMwNSAqLworCXsgNCwJVEQsCXN5c190aW1lcmZkX2NyZWF0ZSwJInRpbWVyZmRfY3JlYXRlIgl9LCAvKiAzMDYgKi8KKwl7IDEsCVRELAlzeXNfZXZlbnRmZCwJCSJldmVudGZkIgkJfSwgLyogMzA3ICovCisJeyA0LAlURCwJcHJpbnRhcmdzLAkJInN5bmNfZmlsZV9yYW5nZSIJfSwgLyogMzA4ICovCisJeyA2LAlURiwJc3lzX2ZhbGxvY2F0ZSwJCSJmYWxsb2NhdGUiCQl9LCAvKiAzMDkgKi8KKwl7IDMsICAgIDAsICAgICAgc3lzX3N1YnBhZ2VfcHJvdCwgICAgICAgInN1YnBhZ2VfcHJvdCIgICAgICAgICAgfSwgLyogMzEwICovCisJeyA0LAlURCwJc3lzX3RpbWVyZmRfc2V0dGltZSwJInRpbWVyZmRfc2V0dGltZSIJfSwgLyogMzExICovCisJeyAyLAlURCwJc3lzX3RpbWVyZmRfZ2V0dGltZSwJInRpbWVyZmRfZ2V0dGltZSIJfSwgLyogMzEyICovCisJeyA0LAlURHxUUywJc3lzX3NpZ25hbGZkNCwJCSJzaWduYWxmZDQiCQl9LCAvKiAzMTMgKi8KKwl7IDIsCVRELAlzeXNfZXZlbnRmZDIsCQkiZXZlbnRmZDIiCQl9LCAvKiAzMTQgKi8KKwl7IDEsCTAsCXN5c19lcG9sbF9jcmVhdGUxLAkiZXBvbGxfY3JlYXRlMSIJCX0sIC8qIDMxNSAqLworCXsgMywJVEQsCXN5c19kdXAzLAkJImR1cDMiCQkJfSwgLyogMzE2ICovCisJeyAyLAlURCwJc3lzX3BpcGUyLAkJInBpcGUyIgkJCX0sIC8qIDMxNyAqLworCXsgMSwJVEQsCXN5c19pbm90aWZ5X2luaXQxLAkiaW5vdGlmeV9pbml0MSIJCX0sIC8qIDMxOCAqLworCXsgNSwJVEQsCXByaW50YXJncywJCSJwZXJmX2V2ZW50X29wZW4iCX0sIC8qIDMxOSAqLworCXsgNSwJVEQsCXByaW50YXJncywJCSJwcmVhZHYiCQl9LCAvKiAzMjAgKi8KKwl7IDUsCVRELAlwcmludGFyZ3MsCQkicHdyaXRldiIJCX0sIC8qIDMyMSAqLworCXsgNCwJVFB8VFMsCXByaW50YXJncywJCSJydF90Z3NpZ3F1ZXVlaW5mbyIJfSwgLyogMzIyICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyMyIJCX0sIC8qIDMyMyAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMjQiCQl9LCAvKiAzMjQgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzI1IgkJfSwgLyogMzI1ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyNiIJCX0sIC8qIDMyNiAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMjciCQl9LCAvKiAzMjcgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzI4IgkJfSwgLyogMzI4ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyOSIJCX0sIC8qIDMyOSAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMzAiCQl9LCAvKiAzMzAgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzMxIgkJfSwgLyogMzMxICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzMzMiIJCX0sIC8qIDMzMiAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMzMiCQl9LCAvKiAzMzMgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzM0IgkJfSwgLyogMzM0ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzMzNSIJCX0sIC8qIDMzNSAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMzYiCQl9LCAvKiAzMzYgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzM3IgkJfSwgLyogMzM3ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzMzOCIJCX0sIC8qIDMzOCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMzkiCQl9LCAvKiAzMzkgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzQwIgkJfSwgLyogMzQwICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0MSIJCX0sIC8qIDM0MSAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNDIiCQl9LCAvKiAzNDIgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzQzIgkJfSwgLyogMzQzICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0NCIJCX0sIC8qIDM0NCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNDUiCQl9LCAvKiAzNDUgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzQ2IgkJfSwgLyogMzQ2ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0NyIJCX0sIC8qIDM0NyAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNDgiCQl9LCAvKiAzNDggKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzQ5IgkJfSwgLyogMzQ5ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1MCIJCX0sIC8qIDM1MCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNTEiCQl9LCAvKiAzNTEgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzUyIgkJfSwgLyogMzUyICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1MyIJCX0sIC8qIDM1MyAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNTQiCQl9LCAvKiAzNTQgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzU1IgkJfSwgLyogMzU1ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1NiIJCX0sIC8qIDM1NiAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNTciCQl9LCAvKiAzNTcgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzU4IgkJfSwgLyogMzU4ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1OSIJCX0sIC8qIDM1OSAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNjAiCQl9LCAvKiAzNjAgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzYxIgkJfSwgLyogMzYxICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2MiIJCX0sIC8qIDM2MiAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNjMiCQl9LCAvKiAzNjMgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzY0IgkJfSwgLyogMzY0ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2NSIJCX0sIC8qIDM2NSAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNjYiCQl9LCAvKiAzNjYgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzY3IgkJfSwgLyogMzY3ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2OCIJCX0sIC8qIDM2OCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNjkiCQl9LCAvKiAzNjkgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzcwIgkJfSwgLyogMzcwICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3MSIJCX0sIC8qIDM3MSAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNzIiCQl9LCAvKiAzNzIgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzczIgkJfSwgLyogMzczICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3NCIJCX0sIC8qIDM3NCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNzUiCQl9LCAvKiAzNzUgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzc2IgkJfSwgLyogMzc2ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3NyIJCX0sIC8qIDM3NyAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNzgiCQl9LCAvKiAzNzggKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzc5IgkJfSwgLyogMzc5ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4MCIJCX0sIC8qIDM4MCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zODEiCQl9LCAvKiAzODEgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzgyIgkJfSwgLyogMzgyICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4MyIJCX0sIC8qIDM4MyAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zODQiCQl9LCAvKiAzODQgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzg1IgkJfSwgLyogMzg1ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4NiIJCX0sIC8qIDM4NiAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zODciCQl9LCAvKiAzODcgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzg4IgkJfSwgLyogMzg4ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4OSIJCX0sIC8qIDM4OSAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zOTAiCQl9LCAvKiAzOTAgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzkxIgkJfSwgLyogMzkxICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5MiIJCX0sIC8qIDM5MiAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zOTMiCQl9LCAvKiAzOTMgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzk0IgkJfSwgLyogMzk0ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5NSIJCX0sIC8qIDM5NSAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zOTYiCQl9LCAvKiAzOTYgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzk3IgkJfSwgLyogMzk3ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5OCIJCX0sIC8qIDM5OCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zOTkiCQl9LCAvKiAzOTkgKi8KKworI2lmIFNZU19zb2NrZXRfc3ViY2FsbCAhPSA0MDAKKyAjZXJyb3IgZml4IG1lCisjZW5kaWYKKwl7IDgsCTAsCXByaW50YXJncywJCSJzb2NrZXRfc3ViY2FsbCJ9LCAvKiA0MDAgKi8KKwl7IDMsCVROLAlzeXNfc29ja2V0LAkJInNvY2tldCIJfSwgLyogNDAxICovCisJeyAzLAlUTiwJc3lzX2JpbmQsCQkiYmluZCIJCX0sIC8qIDQwMiAqLworCXsgMywJVE4sCXN5c19jb25uZWN0LAkJImNvbm5lY3QiCX0sIC8qIDQwMyAqLworCXsgMiwJVE4sCXN5c19saXN0ZW4sCQkibGlzdGVuIgl9LCAvKiA0MDQgKi8KKwl7IDMsCVROLAlzeXNfYWNjZXB0LAkJImFjY2VwdCIJfSwgLyogNDA1ICovCisJeyAzLAlUTiwJc3lzX2dldHNvY2tuYW1lLAkiZ2V0c29ja25hbWUiCX0sIC8qIDQwNiAqLworCXsgMywJVE4sCXN5c19nZXRwZWVybmFtZSwJImdldHBlZXJuYW1lIgl9LCAvKiA0MDcgKi8KKwl7IDQsCVROLAlzeXNfc29ja2V0cGFpciwJCSJzb2NrZXRwYWlyIgl9LCAvKiA0MDggKi8KKwl7IDQsCVROLAlzeXNfc2VuZCwJCSJzZW5kIgkJfSwgLyogNDA5ICovCisJeyA0LAlUTiwJc3lzX3JlY3YsCQkicmVjdiIJCX0sIC8qIDQxMCAqLworCXsgNiwJVE4sCXN5c19zZW5kdG8sCQkic2VuZHRvIgl9LCAvKiA0MTEgKi8KKwl7IDYsCVROLAlzeXNfcmVjdmZyb20sCQkicmVjdmZyb20iCX0sIC8qIDQxMiAqLworCXsgMiwJVE4sCXN5c19zaHV0ZG93biwJCSJzaHV0ZG93biIJfSwgLyogNDEzICovCisJeyA1LAlUTiwJc3lzX3NldHNvY2tvcHQsCQkic2V0c29ja29wdCIJfSwgLyogNDE0ICovCisJeyA1LAlUTiwJc3lzX2dldHNvY2tvcHQsCQkiZ2V0c29ja29wdCIJfSwgLyogNDE1ICovCisJeyA1LAlUTiwJc3lzX3NlbmRtc2csCQkic2VuZG1zZyIJfSwgLyogNDE2ICovCisJeyA1LAlUTiwJc3lzX3JlY3Ztc2csCQkicmVjdm1zZyIJfSwgLyogNDE3ICovCisJeyA0LAlUTiwJc3lzX2FjY2VwdDQsCQkiYWNjZXB0NCIJfSwgLyogNDE4ICovCisJeyA1LAlUTiwJc3lzX3JlY3ZtbXNnLAkJInJlY3ZtbXNnIgl9LCAvKiA0MTkgKi8KKworI2lmIFNZU19pcGNfc3ViY2FsbCAhPSA0MjAKKyAjZXJyb3IgZml4IG1lCisjZW5kaWYKKwl7IDQsCTAsCXByaW50YXJncywJCSJpcGNfc3ViY2FsbCIJfSwgLyogNDIwICovCisJeyA0LAlUSSwJc3lzX3NlbW9wLAkJInNlbW9wIgkJfSwgLyogNDIxICovCisJeyA0LAlUSSwJc3lzX3NlbWdldCwJCSJzZW1nZXQiCX0sIC8qIDQyMiAqLworCXsgNCwJVEksCXN5c19zZW1jdGwsCQkic2VtY3RsIgl9LCAvKiA0MjMgKi8KKwl7IDUsCVRJLAlzeXNfc2VtdGltZWRvcCwJCSJzZW10aW1lZG9wIgl9LCAvKiA0MjQgKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJpcGNfc3ViY2FsbCIJfSwgLyogNDI1ICovCisJeyA0LAkwLAlwcmludGFyZ3MsCQkiaXBjX3N1YmNhbGwiCX0sIC8qIDQyNiAqLworCXsgNCwJMCwJcHJpbnRhcmdzLAkJImlwY19zdWJjYWxsIgl9LCAvKiA0MjcgKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJpcGNfc3ViY2FsbCIJfSwgLyogNDI4ICovCisJeyA0LAkwLAlwcmludGFyZ3MsCQkiaXBjX3N1YmNhbGwiCX0sIC8qIDQyOSAqLworCXsgNCwJMCwJcHJpbnRhcmdzLAkJImlwY19zdWJjYWxsIgl9LCAvKiA0MzAgKi8KKwl7IDQsCVRJLAlzeXNfbXNnc25kLAkJIm1zZ3NuZCIJfSwgLyogNDMxICovCisJeyA0LAlUSSwJc3lzX21zZ3JjdiwJCSJtc2dyY3YiCX0sIC8qIDQzMiAqLworCXsgNCwJVEksCXN5c19tc2dnZXQsCQkibXNnZ2V0Igl9LCAvKiA0MzMgKi8KKwl7IDQsCVRJLAlzeXNfbXNnY3RsLAkJIm1zZ2N0bCIJfSwgLyogNDM0ICovCisJeyA0LAkwLAlwcmludGFyZ3MsCQkiaXBjX3N1YmNhbGwiCX0sIC8qIDQzNSAqLworCXsgNCwJMCwJcHJpbnRhcmdzLAkJImlwY19zdWJjYWxsIgl9LCAvKiA0MzYgKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJpcGNfc3ViY2FsbCIJfSwgLyogNDM3ICovCisJeyA0LAkwLAlwcmludGFyZ3MsCQkiaXBjX3N1YmNhbGwiCX0sIC8qIDQzOCAqLworCXsgNCwJMCwJcHJpbnRhcmdzLAkJImlwY19zdWJjYWxsIgl9LCAvKiA0MzkgKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJpcGNfc3ViY2FsbCIJfSwgLyogNDQwICovCisJeyA0LAlUSSwJc3lzX3NobWF0LAkJInNobWF0IgkJfSwgLyogNDQxICovCisJeyA0LAlUSSwJc3lzX3NobWR0LAkJInNobWR0IgkJfSwgLyogNDQyICovCisJeyA0LAlUSSwJc3lzX3NobWdldCwJCSJzaG1nZXQiCX0sIC8qIDQ0MyAqLworCXsgNCwJVEksCXN5c19zaG1jdGwsCQkic2htY3RsIgl9LCAvKiA0NDQgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzQzIgl9LCAvKiA0NDUgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzQ0Igl9LCAvKiA0NDYgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzQ1Igl9LCAvKiA0NDcgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzQ2Igl9LCAvKiA0NDggKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzQ3Igl9LCAvKiA0NDkgKi8KZGlmZiAtLWdpdCBhL3N0cmFjZS00LjUuMjAvbGludXgvczM5MC9pb2N0bGVudC5oIGIvc3RyYWNlLTQuNS4yMC9saW51eC9zMzkwL2lvY3RsZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDE0ZmJlYgotLS0gL2Rldi9udWxsCisrKyBiL3N0cmFjZS00LjUuMjAvbGludXgvczM5MC9pb2N0bGVudC5oCkBAIC0wLDAgKzEsOTQxIEBACit7ImxpbnV4L2ZzLmgiLCAiRklCTUFQIiwgMHgxfSwKK3sibGludXgvZnMuaCIsICJGSUdFVEJTWiIsIDB4Mn0sCit7ImxpbnV4L2ZkLmgiLCAiRkRDTFJQUk0iLCAweDI0MX0sCit7ImxpbnV4L2ZkLmgiLCAiRkRNU0dPTiIsIDB4MjQ1fSwKK3sibGludXgvZmQuaCIsICJGRE1TR09GRiIsIDB4MjQ2fSwKK3sibGludXgvZmQuaCIsICJGREZNVEJFRyIsIDB4MjQ3fSwKK3sibGludXgvZmQuaCIsICJGREZNVEVORCIsIDB4MjQ5fSwKK3sibGludXgvZmQuaCIsICJGRFNFVEVNU0dUUkVTSCIsIDB4MjRhfSwKK3sibGludXgvZmQuaCIsICJGREZMVVNIIiwgMHgyNGJ9LAoreyJsaW51eC9mZC5oIiwgIkZEUkVTRVQiLCAweDI1NH0sCit7ImxpbnV4L2ZkLmgiLCAiRkRXRVJST1JDTFIiLCAweDI1Nn0sCit7ImxpbnV4L2ZkLmgiLCAiRkRSQVdDTUQiLCAweDI1OH0sCit7ImxpbnV4L2ZkLmgiLCAiRkRUV0FERExFIiwgMHgyNTl9LAoreyJsaW51eC9mZC5oIiwgIkZERUpFQ1QiLCAweDI1YX0sCit7ImxpbnV4L2hkcmVnLmgiLCAiSERJT19HRVRHRU8iLCAweDMwMX0sCit7ImxpbnV4L2hkcmVnLmgiLCAiSERJT19HRVRfVU5NQVNLSU5UUiIsIDB4MzAyfSwKK3sibGludXgvaGRyZWcuaCIsICJIRElPX0dFVF9NVUxUQ09VTlQiLCAweDMwNH0sCit7ImxpbnV4L2hkcmVnLmgiLCAiSERJT19PQlNPTEVURV9JREVOVElUWSIsIDB4MzA3fSwKK3sibGludXgvaGRyZWcuaCIsICJIRElPX0dFVF9LRUVQU0VUVElOR1MiLCAweDMwOH0sCit7ImxpbnV4L2hkcmVnLmgiLCAiSERJT19HRVRfMzJCSVQiLCAweDMwOX0sCit7ImxpbnV4L2hkcmVnLmgiLCAiSERJT19HRVRfTk9XRVJSIiwgMHgzMGF9LAoreyJsaW51eC9oZHJlZy5oIiwgIkhESU9fR0VUX0RNQSIsIDB4MzBifSwKK3sibGludXgvaGRyZWcuaCIsICJIRElPX0dFVF9OSUNFIiwgMHgzMGN9LAoreyJsaW51eC9oZHJlZy5oIiwgIkhESU9fR0VUX0lERU5USVRZIiwgMHgzMGR9LAoreyJsaW51eC9oZHJlZy5oIiwgIkhESU9fRFJJVkVfUkVTRVQiLCAweDMxY30sCit7ImxpbnV4L2hkcmVnLmgiLCAiSERJT19UUklTVEFURV9IV0lGIiwgMHgzMWR9LAoreyJsaW51eC9oZHJlZy5oIiwgIkhESU9fRFJJVkVfVEFTSyIsIDB4MzFlfSwKK3sibGludXgvaGRyZWcuaCIsICJIRElPX0RSSVZFX0NNRCIsIDB4MzFmfSwKK3sibGludXgvaGRyZWcuaCIsICJIRElPX1NFVF9NVUxUQ09VTlQiLCAweDMyMX0sCit7ImxpbnV4L2hkcmVnLmgiLCAiSERJT19TRVRfVU5NQVNLSU5UUiIsIDB4MzIyfSwKK3sibGludXgvaGRyZWcuaCIsICJIRElPX1NFVF9LRUVQU0VUVElOR1MiLCAweDMyM30sCit7ImxpbnV4L2hkcmVnLmgiLCAiSERJT19TRVRfMzJCSVQiLCAweDMyNH0sCit7ImxpbnV4L2hkcmVnLmgiLCAiSERJT19TRVRfTk9XRVJSIiwgMHgzMjV9LAoreyJsaW51eC9oZHJlZy5oIiwgIkhESU9fU0VUX0RNQSIsIDB4MzI2fSwKK3sibGludXgvaGRyZWcuaCIsICJIRElPX1NFVF9QSU9fTU9ERSIsIDB4MzI3fSwKK3sibGludXgvaGRyZWcuaCIsICJIRElPX1NDQU5fSFdJRiIsIDB4MzI4fSwKK3sibGludXgvaGRyZWcuaCIsICJIRElPX1NFVF9OSUNFIiwgMHgzMjl9LAoreyJsaW51eC9oZHJlZy5oIiwgIkhESU9fVU5SRUdJU1RFUl9IV0lGIiwgMHgzMmF9LAoreyJsaW51eC9oZHJlZy5oIiwgIkhESU9fR0VUR0VPX0JJRyIsIDB4MzMwfSwKK3sibGludXgvaGRyZWcuaCIsICJIRElPX0dFVEdFT19CSUdfUkFXIiwgMHgzMzF9LAoreyJsaW51eC91bXNkb3NfZnMuaCIsICJVTVNET1NfUkVBRERJUl9ET1MiLCAweDRkMn0sCit7ImxpbnV4L3Vtc2Rvc19mcy5oIiwgIlVNU0RPU19VTkxJTktfRE9TIiwgMHg0ZDN9LAoreyJsaW51eC91bXNkb3NfZnMuaCIsICJVTVNET1NfUk1ESVJfRE9TIiwgMHg0ZDR9LAoreyJsaW51eC91bXNkb3NfZnMuaCIsICJVTVNET1NfU1RBVF9ET1MiLCAweDRkNX0sCit7ImxpbnV4L3Vtc2Rvc19mcy5oIiwgIlVNU0RPU19DUkVBVF9FTUQiLCAweDRkNn0sCit7ImxpbnV4L3Vtc2Rvc19mcy5oIiwgIlVNU0RPU19VTkxJTktfRU1EIiwgMHg0ZDd9LAoreyJsaW51eC91bXNkb3NfZnMuaCIsICJVTVNET1NfUkVBRERJUl9FTUQiLCAweDRkOH0sCit7ImxpbnV4L3Vtc2Rvc19mcy5oIiwgIlVNU0RPU19HRVRWRVJTSU9OIiwgMHg0ZDl9LAoreyJsaW51eC91bXNkb3NfZnMuaCIsICJVTVNET1NfSU5JVF9FTUQiLCAweDRkYX0sCit7ImxpbnV4L3Vtc2Rvc19mcy5oIiwgIlVNU0RPU19ET1NfU0VUVVAiLCAweDRkYn0sCit7ImxpbnV4L3Vtc2Rvc19mcy5oIiwgIlVNU0RPU19SRU5BTUVfRE9TIiwgMHg0ZGN9LAoreyJsaW51eC9scC5oIiwgIkxQQ0hBUiIsIDB4NjAxfSwKK3sibGludXgvbHAuaCIsICJMUFRJTUUiLCAweDYwMn0sCit7ImxpbnV4L2xwLmgiLCAiTFBBQk9SVCIsIDB4NjA0fSwKK3sibGludXgvbHAuaCIsICJMUFNFVElSUSIsIDB4NjA1fSwKK3sibGludXgvYWM5N19jb2RlYy5oIiwgIkFDOTdfUkVDTVVYX01PTk9fTUlYIiwgMHg2MDZ9LAoreyJsaW51eC9scC5oIiwgIkxQR0VUSVJRIiwgMHg2MDZ9LAoreyJsaW51eC9scC5oIiwgIkxQV0FJVCIsIDB4NjA4fSwKK3sibGludXgvbHAuaCIsICJMUENBUkVGVUwiLCAweDYwOX0sCit7ImxpbnV4L2xwLmgiLCAiTFBBQk9SVE9QRU4iLCAweDYwYX0sCit7ImxpbnV4L2xwLmgiLCAiTFBHRVRTVEFUVVMiLCAweDYwYn0sCit7ImxpbnV4L2xwLmgiLCAiTFBSRVNFVCIsIDB4NjBjfSwKK3sibGludXgvbHAuaCIsICJMUEdFVFNUQVRTIiwgMHg2MGR9LAoreyJsaW51eC9scC5oIiwgIkxQR0VURkxBR1MiLCAweDYwZX0sCit7ImxpbnV4L2xwLmgiLCAiTFBTRVRUSU1FT1VUIiwgMHg2MGZ9LAoreyJsaW51eC9mcy5oIiwgIkJMS1JPU0VUIiwgMHgxMjVkfSwKK3sibGludXgvZnMuaCIsICJCTEtST0dFVCIsIDB4MTI1ZX0sCit7ImxpbnV4L2ZzLmgiLCAiQkxLUlJQQVJUIiwgMHgxMjVmfSwKK3sibGludXgvZnMuaCIsICJCTEtHRVRTSVpFIiwgMHgxMjYwfSwKK3sibGludXgvZnMuaCIsICJCTEtGTFNCVUYiLCAweDEyNjF9LAoreyJsaW51eC9mcy5oIiwgIkJMS1JBU0VUIiwgMHgxMjYyfSwKK3sibGludXgvZnMuaCIsICJCTEtSQUdFVCIsIDB4MTI2M30sCit7ImxpbnV4L2ZzLmgiLCAiQkxLRlJBU0VUIiwgMHgxMjY0fSwKK3sibGludXgvZnMuaCIsICJCTEtGUkFHRVQiLCAweDEyNjV9LAoreyJsaW51eC9mcy5oIiwgIkJMS1NFQ1RTRVQiLCAweDEyNjZ9LAoreyJsaW51eC9mcy5oIiwgIkJMS1NFQ1RHRVQiLCAweDEyNjd9LAoreyJsaW51eC9mcy5oIiwgIkJMS1NTWkdFVCIsIDB4MTI2OH0sCit7ImxpbnV4L2ZzLmgiLCAiQkxLUEciLCAweDEyNjl9LAoreyJzY3NpL3NnLmgiLCAiU0dfU0VUX1RJTUVPVVQiLCAweDIyMDF9LAoreyJzY3NpL3NnLmgiLCAiU0dfR0VUX1RJTUVPVVQiLCAweDIyMDJ9LAoreyJzY3NpL3NnLmgiLCAiU0dfRU1VTEFURURfSE9TVCIsIDB4MjIwM30sCit7InNjc2kvc2cuaCIsICJTR19TRVRfVFJBTlNGT1JNIiwgMHgyMjA0fSwKK3sic2NzaS9zZy5oIiwgIlNHX0dFVF9UUkFOU0ZPUk0iLCAweDIyMDV9LAoreyJzY3NpL3NnLmgiLCAiU0dfR0VUX0NPTU1BTkRfUSIsIDB4MjI3MH0sCit7InNjc2kvc2cuaCIsICJTR19TRVRfQ09NTUFORF9RIiwgMHgyMjcxfSwKK3sic2NzaS9zZy5oIiwgIlNHX0dFVF9SRVNFUlZFRF9TSVpFIiwgMHgyMjcyfSwKK3sic2NzaS9zZy5oIiwgIlNHX1NFVF9SRVNFUlZFRF9TSVpFIiwgMHgyMjc1fSwKK3sic2NzaS9zZy5oIiwgIlNHX0dFVF9TQ1NJX0lEIiwgMHgyMjc2fSwKK3sic2NzaS9zZy5oIiwgIlNHX1NFVF9GT1JDRV9MT1dfRE1BIiwgMHgyMjc5fSwKK3sic2NzaS9zZy5oIiwgIlNHX0dFVF9MT1dfRE1BIiwgMHgyMjdhfSwKK3sic2NzaS9zZy5oIiwgIlNHX1NFVF9GT1JDRV9QQUNLX0lEIiwgMHgyMjdifSwKK3sic2NzaS9zZy5oIiwgIlNHX0dFVF9QQUNLX0lEIiwgMHgyMjdjfSwKK3sic2NzaS9zZy5oIiwgIlNHX0dFVF9OVU1fV0FJVElORyIsIDB4MjI3ZH0sCit7InNjc2kvc2cuaCIsICJTR19TRVRfREVCVUciLCAweDIyN2V9LAoreyJzY3NpL3NnLmgiLCAiU0dfR0VUX1NHX1RBQkxFU0laRSIsIDB4MjI3Zn0sCit7InNjc2kvc2cuaCIsICJTR19HRVRfVkVSU0lPTl9OVU0iLCAweDIyODJ9LAoreyJzY3NpL3NnLmgiLCAiU0dfTkVYVF9DTURfTEVOIiwgMHgyMjgzfSwKK3sic2NzaS9zZy5oIiwgIlNHX1NDU0lfUkVTRVQiLCAweDIyODR9LAoreyJzY3NpL3NnLmgiLCAiU0dfSU8iLCAweDIyODV9LAoreyJzY3NpL3NnLmgiLCAiU0dfR0VUX1JFUVVFU1RfVEFCTEUiLCAweDIyODZ9LAoreyJzY3NpL3NnLmgiLCAiU0dfU0VUX0tFRVBfT1JQSEFOIiwgMHgyMjg3fSwKK3sic2NzaS9zZy5oIiwgIlNHX0dFVF9LRUVQX09SUEhBTiIsIDB4MjI4OH0sCit7ImxpbnV4L2FncGdhcnQuaCIsICJBR1BJT0NfQUNRVUlSRSIsIDB4NDEwMX0sCit7ImxpbnV4L2FncGdhcnQuaCIsICJBR1BJT0NfUkVMRUFTRSIsIDB4NDEwMn0sCit7ImxpbnV4L3BtdS5oIiwgIlBNVV9JT0NfU0xFRVAiLCAweDQyMDB9LAoreyJhc20vZGFzZC5oIiwgIkJJT0RBU0RESVNBQkxFIiwgMHg0NDAwfSwKK3siYXNtL2Rhc2QuaCIsICJCSU9EQVNERU5BQkxFIiwgMHg0NDAxfSwKK3siYXNtL2Rhc2QuaCIsICJCSU9EQVNEUlNSViIsIDB4NDQwMn0sCit7ImFzbS9kYXNkLmgiLCAiQklPREFTRFJMU0UiLCAweDQ0MDN9LAoreyJhc20vZGFzZC5oIiwgIkJJT0RBU0RTTENLIiwgMHg0NDA0fSwKK3siYXNtL2Rhc2QuaCIsICJCSU9EQVNEUFJSU1QiLCAweDQ0MDV9LAoreyJhc20vZGFzZC5oIiwgIkJJT0RBU0RRVUlFU0NFIiwgMHg0NDA2fSwKK3siYXNtL2Rhc2QuaCIsICJCSU9EQVNEUkVTVU1FIiwgMHg0NDA3fSwKK3siYXNtL2NtYi5oIiwgIkJJT0RBU0RDTUZFTkFCTEUiLCAweDQ0MjB9LAoreyJhc20vY21iLmgiLCAiQklPREFTRENNRkRJU0FCTEUiLCAweDQ0MjF9LAoreyJhc20vY21iLmgiLCAiQklPREFTRFJFU0VUQ01CIiwgMHg0NDIyfSwKK3sibGludXgvZmIuaCIsICJGQklPR0VUX1ZTQ1JFRU5JTkZPIiwgMHg0NjAwfSwKK3sibGludXgvZmIuaCIsICJGQklPUFVUX1ZTQ1JFRU5JTkZPIiwgMHg0NjAxfSwKK3sibGludXgvcHMyZXNkaS5oIiwgIkNNRF9SRUFEIiwgMHg0NjAxfSwKK3sibGludXgvZmIuaCIsICJGQklPR0VUX0ZTQ1JFRU5JTkZPIiwgMHg0NjAyfSwKK3sibGludXgvcHMyZXNkaS5oIiwgIkNNRF9XUklURSIsIDB4NDYwMn0sCit7ImxpbnV4L2ZiLmgiLCAiRkJJT0dFVENNQVAiLCAweDQ2MDR9LAoreyJsaW51eC9mYi5oIiwgIkZCSU9QVVRDTUFQIiwgMHg0NjA1fSwKK3sibGludXgvZmIuaCIsICJGQklPUEFOX0RJU1BMQVkiLCAweDQ2MDZ9LAoreyJsaW51eC9mYi5oIiwgIkZCSU9HRVRfRkNVUlNPUklORk8iLCAweDQ2MDd9LAoreyJsaW51eC9mYi5oIiwgIkZCSU9HRVRfVkNVUlNPUklORk8iLCAweDQ2MDh9LAoreyJsaW51eC9mYi5oIiwgIkZCSU9QVVRfVkNVUlNPUklORk8iLCAweDQ2MDl9LAoreyJsaW51eC9mYi5oIiwgIkZCSU9HRVRfQ1VSU09SU1RBVEUiLCAweDQ2MGF9LAoreyJsaW51eC9mYi5oIiwgIkZCSU9QVVRfQ1VSU09SU1RBVEUiLCAweDQ2MGJ9LAoreyJsaW51eC9mYi5oIiwgIkZCSU9HRVRfQ09OMkZCTUFQIiwgMHg0NjBmfSwKK3sibGludXgvZmIuaCIsICJGQklPUFVUX0NPTjJGQk1BUCIsIDB4NDYxMH0sCit7ImxpbnV4L2ZiLmgiLCAiRkJJT0JMQU5LIiwgMHg0NjExfSwKK3sibGludXgvZmIuaCIsICJGQklPX0FMTE9DIiwgMHg0NjEzfSwKK3sibGludXgvZmIuaCIsICJGQklPX0ZSRUUiLCAweDQ2MTR9LAoreyJsaW51eC9mYi5oIiwgIkZCSU9HRVRfR0xZUEgiLCAweDQ2MTV9LAoreyJsaW51eC9mYi5oIiwgIkZCSU9HRVRfSFdDSU5GTyIsIDB4NDYxNn0sCit7ImxpbnV4L2lzZG4uaCIsICJJSU9DTkVUQUlGIiwgMHg0OTAxfSwKK3sibGludXgvaXNkbi5oIiwgIklJT0NORVRESUYiLCAweDQ5MDJ9LAoreyJsaW51eC9pc2RuLmgiLCAiSUlPQ05FVFNDRiIsIDB4NDkwM30sCit7ImxpbnV4L2lzZG4uaCIsICJJSU9DTkVUR0NGIiwgMHg0OTA0fSwKK3sibGludXgvaXNkbi5oIiwgIklJT0NORVRBTk0iLCAweDQ5MDV9LAoreyJsaW51eC9pc2RuLmgiLCAiSUlPQ05FVEROTSIsIDB4NDkwNn0sCit7ImxpbnV4L2lzZG4uaCIsICJJSU9DTkVUR05NIiwgMHg0OTA3fSwKK3sibGludXgvaXNkbi5oIiwgIklJT0NHRVRTRVQiLCAweDQ5MDh9LAoreyJsaW51eC9pc2RuLmgiLCAiSUlPQ1NFVFNFVCIsIDB4NDkwOX0sCit7ImxpbnV4L2lzZG4uaCIsICJJSU9DU0VUVkVSIiwgMHg0OTBhfSwKK3sibGludXgvaXNkbi5oIiwgIklJT0NORVRIVVAiLCAweDQ5MGJ9LAoreyJsaW51eC9pc2RuLmgiLCAiSUlPQ1NFVEdTVCIsIDB4NDkwY30sCit7ImxpbnV4L2lzZG4uaCIsICJJSU9DU0VUQlJKIiwgMHg0OTBkfSwKK3sibGludXgvaXNkbi5oIiwgIklJT0NTSUdQUkYiLCAweDQ5MGV9LAoreyJsaW51eC9pc2RuLmgiLCAiSUlPQ0dFVFBSRiIsIDB4NDkwZn0sCit7ImxpbnV4L2lzZG4uaCIsICJJSU9DU0VUUFJGIiwgMHg0OTEwfSwKK3sibGludXgvaXNkbi5oIiwgIklJT0NHRVRNQVAiLCAweDQ5MTF9LAoreyJsaW51eC9pc2RuLmgiLCAiSUlPQ1NFVE1BUCIsIDB4NDkxMn0sCit7ImxpbnV4L2lzZG4uaCIsICJJSU9DTkVUQVNMIiwgMHg0OTEzfSwKK3sibGludXgvaXNkbi5oIiwgIklJT0NORVRESUwiLCAweDQ5MTR9LAoreyJsaW51eC9pc2RuLmgiLCAiSUlPQ0dFVENQUyIsIDB4NDkxNX0sCit7ImxpbnV4L2lzZG4uaCIsICJJSU9DR0VURFZSIiwgMHg0OTE2fSwKK3sibGludXgvaXNkbi5oIiwgIklJT0NORVRMQ1IiLCAweDQ5MTd9LAoreyJsaW51eC9pc2RuLmgiLCAiSUlPQ05FVERXUlNFVCIsIDB4NDkxOH0sCit7ImxpbnV4L2lzZG4uaCIsICJJSU9DTkVUQUxOIiwgMHg0OTIwfSwKK3sibGludXgvaXNkbi5oIiwgIklJT0NORVRETE4iLCAweDQ5MjF9LAoreyJsaW51eC9pc2RuLmgiLCAiSUlPQ05FVEdQTiIsIDB4NDkyMn0sCit7ImxpbnV4L2lzZG4uaCIsICJJSU9DREJHVkFSIiwgMHg0OTdmfSwKK3sibGludXgvaXNkbi5oIiwgIklJT0NEUlZDVEwiLCAweDQ5ODB9LAoreyJsaW51eC9rZC5oIiwgIktJT0NTT1VORCIsIDB4NGIyZn0sCit7ImxpbnV4L2tkLmgiLCAiS0RNS1RPTkUiLCAweDRiMzB9LAoreyJsaW51eC9rZC5oIiwgIktER0VUTEVEIiwgMHg0YjMxfSwKK3sibGludXgva2QuaCIsICJLRFNFVExFRCIsIDB4NGIzMn0sCit7ImxpbnV4L2tkLmgiLCAiS0RHS0JUWVBFIiwgMHg0YjMzfSwKK3sibGludXgva2QuaCIsICJLREFERElPIiwgMHg0YjM0fSwKK3sibGludXgva2QuaCIsICJLRERFTElPIiwgMHg0YjM1fSwKK3sibGludXgva2QuaCIsICJLREVOQUJJTyIsIDB4NGIzNn0sCit7ImxpbnV4L2tkLmgiLCAiS0RESVNBQklPIiwgMHg0YjM3fSwKK3sibGludXgva2QuaCIsICJLRFNFVE1PREUiLCAweDRiM2F9LAoreyJsaW51eC9rZC5oIiwgIktER0VUTU9ERSIsIDB4NGIzYn0sCit7ImxpbnV4L2tkLmgiLCAiS0RNQVBESVNQIiwgMHg0YjNjfSwKK3sibGludXgva2QuaCIsICJLRFVOTUFQRElTUCIsIDB4NGIzZH0sCit7ImxpbnV4L2tkLmgiLCAiR0lPX1NDUk5NQVAiLCAweDRiNDB9LAoreyJsaW51eC9rZC5oIiwgIlBJT19TQ1JOTUFQIiwgMHg0YjQxfSwKK3sibGludXgva2QuaCIsICJLREdLQk1PREUiLCAweDRiNDR9LAoreyJsaW51eC9rZC5oIiwgIktEU0tCTU9ERSIsIDB4NGI0NX0sCit7ImxpbnV4L2tkLmgiLCAiS0RHS0JFTlQiLCAweDRiNDZ9LAoreyJsaW51eC9rZC5oIiwgIktEU0tCRU5UIiwgMHg0YjQ3fSwKK3sibGludXgva2QuaCIsICJLREdLQlNFTlQiLCAweDRiNDh9LAoreyJsaW51eC9rZC5oIiwgIktEU0tCU0VOVCIsIDB4NGI0OX0sCit7ImxpbnV4L2tkLmgiLCAiS0RHS0JESUFDUiIsIDB4NGI0YX0sCit7ImxpbnV4L2tkLmgiLCAiS0RTS0JESUFDUiIsIDB4NGI0Yn0sCit7ImxpbnV4L2tkLmgiLCAiS0RHRVRLRVlDT0RFIiwgMHg0YjRjfSwKK3sibGludXgva2QuaCIsICJLRFNFVEtFWUNPREUiLCAweDRiNGR9LAoreyJsaW51eC9rZC5oIiwgIktEU0lHQUNDRVBUIiwgMHg0YjRlfSwKK3sibGludXgva2QuaCIsICJLREdIV0NMSyIsIDB4NGI1MH0sCit7ImxpbnV4L2tkLmgiLCAiS0RTSFdDTEsiLCAweDRiNTF9LAoreyJsaW51eC9rZC5oIiwgIktES0JEUkVQIiwgMHg0YjUyfSwKK3sibGludXgva2QuaCIsICJHSU9fRk9OVCIsIDB4NGI2MH0sCit7ImxpbnV4L2tkLmgiLCAiUElPX0ZPTlQiLCAweDRiNjF9LAoreyJsaW51eC9rZC5oIiwgIktER0tCTUVUQSIsIDB4NGI2Mn0sCit7ImxpbnV4L2tkLmgiLCAiS0RTS0JNRVRBIiwgMHg0YjYzfSwKK3sibGludXgva2QuaCIsICJLREdLQkxFRCIsIDB4NGI2NH0sCit7ImxpbnV4L2tkLmgiLCAiS0RTS0JMRUQiLCAweDRiNjV9LAoreyJsaW51eC9rZC5oIiwgIkdJT19VTklNQVAiLCAweDRiNjZ9LAoreyJsaW51eC9rZC5oIiwgIlBJT19VTklNQVAiLCAweDRiNjd9LAoreyJsaW51eC9rZC5oIiwgIlBJT19VTklNQVBDTFIiLCAweDRiNjh9LAoreyJsaW51eC9rZC5oIiwgIkdJT19VTklTQ1JOTUFQIiwgMHg0YjY5fSwKK3sibGludXgva2QuaCIsICJQSU9fVU5JU0NSTk1BUCIsIDB4NGI2YX0sCit7ImxpbnV4L2tkLmgiLCAiR0lPX0ZPTlRYIiwgMHg0YjZifSwKK3sibGludXgva2QuaCIsICJQSU9fRk9OVFgiLCAweDRiNmN9LAoreyJsaW51eC9rZC5oIiwgIlBJT19GT05UUkVTRVQiLCAweDRiNmR9LAoreyJsaW51eC9rZC5oIiwgIkdJT19DTUFQIiwgMHg0YjcwfSwKK3sibGludXgva2QuaCIsICJQSU9fQ01BUCIsIDB4NGI3MX0sCit7ImxpbnV4L2tkLmgiLCAiS0RGT05UT1AiLCAweDRiNzJ9LAoreyJsaW51eC9sb29wLmgiLCAiTE9PUF9TRVRfRkQiLCAweDRjMDB9LAoreyJsaW51eC9sb29wLmgiLCAiTE9PUF9DTFJfRkQiLCAweDRjMDF9LAoreyJsaW51eC9sb29wLmgiLCAiTE9PUF9TRVRfU1RBVFVTIiwgMHg0YzAyfSwKK3sibGludXgvbG9vcC5oIiwgIkxPT1BfR0VUX1NUQVRVUyIsIDB4NGMwM30sCit7ImxpbnV4L3JhbmRvbS5oIiwgIlJORFpBUEVOVENOVCIsIDB4NTIwNH0sCit7ImxpbnV4L3JhbmRvbS5oIiwgIlJORENMRUFSUE9PTCIsIDB4NTIwNn0sCit7ImxpbnV4L2Nkcm9tLmgiLCAiQ0RST01QQVVTRSIsIDB4NTMwMX0sCit7ImxpbnV4L2Nkcm9tLmgiLCAiQ0RST01SRVNVTUUiLCAweDUzMDJ9LAoreyJsaW51eC9jZHJvbS5oIiwgIkNEUk9NUExBWU1TRiIsIDB4NTMwM30sCit7ImxpbnV4L2Nkcm9tLmgiLCAiQ0RST01QTEFZVFJLSU5EIiwgMHg1MzA0fSwKK3sibGludXgvY2Ryb20uaCIsICJDRFJPTVJFQURUT0NIRFIiLCAweDUzMDV9LAoreyJsaW51eC9jZHJvbS5oIiwgIkNEUk9NUkVBRFRPQ0VOVFJZIiwgMHg1MzA2fSwKK3sibGludXgvY2Ryb20uaCIsICJDRFJPTVNUT1AiLCAweDUzMDd9LAoreyJsaW51eC9jZHJvbS5oIiwgIkNEUk9NU1RBUlQiLCAweDUzMDh9LAoreyJsaW51eC9jZHJvbS5oIiwgIkNEUk9NRUpFQ1QiLCAweDUzMDl9LAoreyJsaW51eC9jZHJvbS5oIiwgIkNEUk9NVk9MQ1RSTCIsIDB4NTMwYX0sCit7ImxpbnV4L2Nkcm9tLmgiLCAiQ0RST01TVUJDSE5MIiwgMHg1MzBifSwKK3sibGludXgvY2Ryb20uaCIsICJDRFJPTVJFQURNT0RFMiIsIDB4NTMwY30sCit7ImxpbnV4L2Nkcm9tLmgiLCAiQ0RST01SRUFETU9ERTEiLCAweDUzMGR9LAoreyJsaW51eC9jZHJvbS5oIiwgIkNEUk9NUkVBREFVRElPIiwgMHg1MzBlfSwKK3sibGludXgvY2Ryb20uaCIsICJDRFJPTUVKRUNUX1NXIiwgMHg1MzBmfSwKK3sibGludXgvY2Ryb20uaCIsICJDRFJPTU1VTFRJU0VTU0lPTiIsIDB4NTMxMH0sCit7ImxpbnV4L2Nkcm9tLmgiLCAiQ0RST01fR0VUX01DTiIsIDB4NTMxMX0sCit7ImxpbnV4L2Nkcm9tLmgiLCAiQ0RST01SRVNFVCIsIDB4NTMxMn0sCit7ImxpbnV4L2Nkcm9tLmgiLCAiQ0RST01WT0xSRUFEIiwgMHg1MzEzfSwKK3sibGludXgvY2Ryb20uaCIsICJDRFJPTVJFQURSQVciLCAweDUzMTR9LAoreyJsaW51eC9jZHJvbS5oIiwgIkNEUk9NUkVBRENPT0tFRCIsIDB4NTMxNX0sCit7ImxpbnV4L2Nkcm9tLmgiLCAiQ0RST01TRUVLIiwgMHg1MzE2fSwKK3sibGludXgvY2Ryb20uaCIsICJDRFJPTVBMQVlCTEsiLCAweDUzMTd9LAoreyJsaW51eC9jZHJvbS5oIiwgIkNEUk9NUkVBREFMTCIsIDB4NTMxOH0sCit7ImxpbnV4L2Nkcm9tLmgiLCAiQ0RST01DTE9TRVRSQVkiLCAweDUzMTl9LAoreyJsaW51eC9jZHJvbS5oIiwgIkNEUk9NR0VUU1BJTkRPV04iLCAweDUzMWR9LAoreyJsaW51eC9jZHJvbS5oIiwgIkNEUk9NU0VUU1BJTkRPV04iLCAweDUzMWV9LAoreyJsaW51eC9jZHJvbS5oIiwgIkNEUk9NX1NFVF9PUFRJT05TIiwgMHg1MzIwfSwKK3sibGludXgvY2Ryb20uaCIsICJDRFJPTV9DTEVBUl9PUFRJT05TIiwgMHg1MzIxfSwKK3sibGludXgvY2Ryb20uaCIsICJDRFJPTV9TRUxFQ1RfU1BFRUQiLCAweDUzMjJ9LAoreyJsaW51eC9jZHJvbS5oIiwgIkNEUk9NX1NFTEVDVF9ESVNDIiwgMHg1MzIzfSwKK3sibGludXgvY2Ryb20uaCIsICJDRFJPTV9NRURJQV9DSEFOR0VEIiwgMHg1MzI1fSwKK3sibGludXgvY2Ryb20uaCIsICJDRFJPTV9EUklWRV9TVEFUVVMiLCAweDUzMjZ9LAoreyJsaW51eC9jZHJvbS5oIiwgIkNEUk9NX0RJU0NfU1RBVFVTIiwgMHg1MzI3fSwKK3sibGludXgvY2Ryb20uaCIsICJDRFJPTV9DSEFOR0VSX05TTE9UUyIsIDB4NTMyOH0sCit7ImxpbnV4L2Nkcm9tLmgiLCAiQ0RST01fTE9DS0RPT1IiLCAweDUzMjl9LAoreyJsaW51eC9jZHJvbS5oIiwgIkNEUk9NX0RFQlVHIiwgMHg1MzMwfSwKK3sibGludXgvY2Ryb20uaCIsICJDRFJPTV9HRVRfQ0FQQUJJTElUWSIsIDB4NTMzMX0sCit7InNjc2kvc2NzaV9pb2N0bC5oIiwgIlNDU0lfSU9DVExfRE9PUkxPQ0siLCAweDUzODB9LAoreyJzY3NpL3Njc2lfaW9jdGwuaCIsICJTQ1NJX0lPQ1RMX0RPT1JVTkxPQ0siLCAweDUzODF9LAoreyJzY3NpL3Njc2kuaCIsICJTQ1NJX0lPQ1RMX0dFVF9JRExVTiIsIDB4NTM4Mn0sCit7InNjc2kvc2NzaS5oIiwgIlNDU0lfSU9DVExfVEFHR0VEX0VOQUJMRSIsIDB4NTM4M30sCit7InNjc2kvc2NzaS5oIiwgIlNDU0lfSU9DVExfVEFHR0VEX0RJU0FCTEUiLCAweDUzODR9LAoreyJzY3NpL3Njc2kuaCIsICJTQ1NJX0lPQ1RMX1BST0JFX0hPU1QiLCAweDUzODV9LAoreyJzY3NpL3Njc2kuaCIsICJTQ1NJX0lPQ1RMX0dFVF9CVVNfTlVNQkVSIiwgMHg1Mzg2fSwKK3sibGludXgvY2Ryb20uaCIsICJEVkRfUkVBRF9TVFJVQ1QiLCAweDUzOTB9LAoreyJsaW51eC9jZHJvbS5oIiwgIkRWRF9XUklURV9TVFJVQ1QiLCAweDUzOTF9LAoreyJsaW51eC9jZHJvbS5oIiwgIkRWRF9BVVRIIiwgMHg1MzkyfSwKK3sibGludXgvY2Ryb20uaCIsICJDRFJPTV9TRU5EX1BBQ0tFVCIsIDB4NTM5M30sCit7ImxpbnV4L2Nkcm9tLmgiLCAiQ0RST01fTkVYVF9XUklUQUJMRSIsIDB4NTM5NH0sCit7ImxpbnV4L2Nkcm9tLmgiLCAiQ0RST01fTEFTVF9XUklUVEVOIiwgMHg1Mzk1fSwKK3siYXNtL2lvY3Rscy5oIiwgIlRDR0VUUyIsIDB4NTQwMX0sCit7ImFzbS9pb2N0bHMuaCIsICJUQ1NFVFMiLCAweDU0MDJ9LAoreyJhc20vaW9jdGxzLmgiLCAiVENTRVRTVyIsIDB4NTQwM30sCit7ImFzbS9pb2N0bHMuaCIsICJUQ1NFVFNGIiwgMHg1NDA0fSwKK3siYXNtL2lvY3Rscy5oIiwgIlRDR0VUQSIsIDB4NTQwNX0sCit7ImFzbS9pb2N0bHMuaCIsICJUQ1NFVEEiLCAweDU0MDZ9LAoreyJhc20vaW9jdGxzLmgiLCAiVENTRVRBVyIsIDB4NTQwN30sCit7ImFzbS9pb2N0bHMuaCIsICJUQ1NFVEFGIiwgMHg1NDA4fSwKK3siYXNtL2lvY3Rscy5oIiwgIlRDU0JSSyIsIDB4NTQwOX0sCit7ImFzbS9pb2N0bHMuaCIsICJUQ1hPTkMiLCAweDU0MGF9LAoreyJhc20vaW9jdGxzLmgiLCAiVENGTFNIIiwgMHg1NDBifSwKK3siYXNtL2lvY3Rscy5oIiwgIlRJT0NFWENMIiwgMHg1NDBjfSwKK3siYXNtL2lvY3Rscy5oIiwgIlRJT0NOWENMIiwgMHg1NDBkfSwKK3siYXNtL2lvY3Rscy5oIiwgIlRJT0NTQ1RUWSIsIDB4NTQwZX0sCit7ImFzbS9pb2N0bHMuaCIsICJUSU9DR1BHUlAiLCAweDU0MGZ9LAoreyJhc20vaW9jdGxzLmgiLCAiVElPQ1NQR1JQIiwgMHg1NDEwfSwKK3siYXNtL2lvY3Rscy5oIiwgIlRJT0NPVVRRIiwgMHg1NDExfSwKK3siYXNtL2lvY3Rscy5oIiwgIlRJT0NTVEkiLCAweDU0MTJ9LAoreyJhc20vaW9jdGxzLmgiLCAiVElPQ0dXSU5TWiIsIDB4NTQxM30sCit7ImFzbS9pb2N0bHMuaCIsICJUSU9DU1dJTlNaIiwgMHg1NDE0fSwKK3siYXNtL2lvY3Rscy5oIiwgIlRJT0NNR0VUIiwgMHg1NDE1fSwKK3siYXNtL2lvY3Rscy5oIiwgIlRJT0NNQklTIiwgMHg1NDE2fSwKK3siYXNtL2lvY3Rscy5oIiwgIlRJT0NNQklDIiwgMHg1NDE3fSwKK3siYXNtL2lvY3Rscy5oIiwgIlRJT0NNU0VUIiwgMHg1NDE4fSwKK3siYXNtL2lvY3Rscy5oIiwgIlRJT0NHU09GVENBUiIsIDB4NTQxOX0sCit7ImFzbS9pb2N0bHMuaCIsICJUSU9DU1NPRlRDQVIiLCAweDU0MWF9LAoreyJhc20vaW9jdGxzLmgiLCAiRklPTlJFQUQiLCAweDU0MWJ9LAoreyJhc20vaW9jdGxzLmgiLCAiVElPQ0xJTlVYIiwgMHg1NDFjfSwKK3siYXNtL2lvY3Rscy5oIiwgIlRJT0NDT05TIiwgMHg1NDFkfSwKK3siYXNtL2lvY3Rscy5oIiwgIlRJT0NHU0VSSUFMIiwgMHg1NDFlfSwKK3siYXNtL2lvY3Rscy5oIiwgIlRJT0NTU0VSSUFMIiwgMHg1NDFmfSwKK3siYXNtL2lvY3Rscy5oIiwgIlRJT0NQS1QiLCAweDU0MjB9LAoreyJhc20vaW9jdGxzLmgiLCAiRklPTkJJTyIsIDB4NTQyMX0sCit7ImFzbS9pb2N0bHMuaCIsICJUSU9DTk9UVFkiLCAweDU0MjJ9LAoreyJhc20vaW9jdGxzLmgiLCAiVElPQ1NFVEQiLCAweDU0MjN9LAoreyJhc20vaW9jdGxzLmgiLCAiVElPQ0dFVEQiLCAweDU0MjR9LAoreyJhc20vaW9jdGxzLmgiLCAiVENTQlJLUCIsIDB4NTQyNX0sCit7ImFzbS9pb2N0bHMuaCIsICJUSU9DVFRZR1NUUlVDVCIsIDB4NTQyNn0sCit7ImFzbS9pb2N0bHMuaCIsICJUSU9DU0JSSyIsIDB4NTQyN30sCit7ImFzbS9pb2N0bHMuaCIsICJUSU9DQ0JSSyIsIDB4NTQyOH0sCit7ImFzbS9pb2N0bHMuaCIsICJUSU9DR1NJRCIsIDB4NTQyOX0sCit7ImFzbS9pb2N0bHMuaCIsICJGSU9OQ0xFWCIsIDB4NTQ1MH0sCit7ImFzbS9pb2N0bHMuaCIsICJGSU9DTEVYIiwgMHg1NDUxfSwKK3siYXNtL2lvY3Rscy5oIiwgIkZJT0FTWU5DIiwgMHg1NDUyfSwKK3siYXNtL2lvY3Rscy5oIiwgIlRJT0NTRVJDT05GSUciLCAweDU0NTN9LAoreyJhc20vaW9jdGxzLmgiLCAiVElPQ1NFUkdXSUxEIiwgMHg1NDU0fSwKK3siYXNtL2lvY3Rscy5oIiwgIlRJT0NTRVJTV0lMRCIsIDB4NTQ1NX0sCit7ImFzbS9pb2N0bHMuaCIsICJUSU9DR0xDS1RSTUlPUyIsIDB4NTQ1Nn0sCit7ImFzbS9pb2N0bHMuaCIsICJUSU9DU0xDS1RSTUlPUyIsIDB4NTQ1N30sCit7ImFzbS9pb2N0bHMuaCIsICJUSU9DU0VSR1NUUlVDVCIsIDB4NTQ1OH0sCit7ImFzbS9pb2N0bHMuaCIsICJUSU9DU0VSR0VUTFNSIiwgMHg1NDU5fSwKK3siYXNtL2lvY3Rscy5oIiwgIlRJT0NTRVJHRVRNVUxUSSIsIDB4NTQ1YX0sCit7ImFzbS9pb2N0bHMuaCIsICJUSU9DU0VSU0VUTVVMVEkiLCAweDU0NWJ9LAoreyJhc20vaW9jdGxzLmgiLCAiVElPQ01JV0FJVCIsIDB4NTQ1Y30sCit7ImFzbS9pb2N0bHMuaCIsICJUSU9DR0lDT1VOVCIsIDB4NTQ1ZH0sCit7ImFzbS9pb2N0bHMuaCIsICJGSU9RU0laRSIsIDB4NTQ1ZX0sCit7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwgIlVTQkRFVkZTX0RJU0NBUkRVUkIiLCAweDU1MGJ9LAoreyJsaW51eC91c2JkZXZpY2VfZnMuaCIsICJVU0JERVZGU19SRVNFVCIsIDB4NTUxNH0sCit7ImxpbnV4L3Z0LmgiLCAiVlRfT1BFTlFSWSIsIDB4NTYwMH0sCit7ImxpbnV4L3Z0LmgiLCAiVlRfR0VUTU9ERSIsIDB4NTYwMX0sCit7ImxpbnV4L3Z0LmgiLCAiVlRfU0VUTU9ERSIsIDB4NTYwMn0sCit7ImxpbnV4L3Z0LmgiLCAiVlRfR0VUU1RBVEUiLCAweDU2MDN9LAoreyJsaW51eC92dC5oIiwgIlZUX1NFTkRTSUciLCAweDU2MDR9LAoreyJsaW51eC92dC5oIiwgIlZUX1JFTERJU1AiLCAweDU2MDV9LAoreyJsaW51eC92dC5oIiwgIlZUX0FDVElWQVRFIiwgMHg1NjA2fSwKK3sibGludXgvdnQuaCIsICJWVF9XQUlUQUNUSVZFIiwgMHg1NjA3fSwKK3sibGludXgvdnQuaCIsICJWVF9ESVNBTExPQ0FURSIsIDB4NTYwOH0sCit7ImxpbnV4L3Z0LmgiLCAiVlRfUkVTSVpFIiwgMHg1NjA5fSwKK3sibGludXgvdnQuaCIsICJWVF9SRVNJWkVYIiwgMHg1NjBhfSwKK3sibGludXgvdnQuaCIsICJWVF9MT0NLU1dJVENIIiwgMHg1NjBifSwKK3sibGludXgvdnQuaCIsICJWVF9VTkxPQ0tTV0lUQ0giLCAweDU2MGN9LAoreyJsaW51eC9zb25ldC5oIiwgIlNPTkVUX1NFVEZSQU1JTkciLCAweDYxMTV9LAoreyJsaW51eC9hdG1fbmljc3Rhci5oIiwgIk5TX0FESkJVRkxFViIsIDB4NjE2M30sCit7ImxpbnV4L2F0bV90Y3AuaCIsICJTSU9DU0lGQVRNVENQIiwgMHg2MTgwfSwKK3sibGludXgvYXRtX3RjcC5oIiwgIkFUTVRDUF9DUkVBVEUiLCAweDYxOGV9LAoreyJsaW51eC9hdG1fdGNwLmgiLCAiQVRNVENQX1JFTU9WRSIsIDB4NjE4Zn0sCit7ImxpbnV4L2F0bWxlYy5oIiwgIkFUTUxFQ19DVFJMIiwgMHg2MWQwfSwKK3sibGludXgvYXRtbGVjLmgiLCAiQVRNTEVDX0RBVEEiLCAweDYxZDF9LAoreyJsaW51eC9hdG1sZWMuaCIsICJBVE1MRUNfTUNBU1QiLCAweDYxZDJ9LAoreyJsaW51eC9hdG1tcGMuaCIsICJBVE1NUENfQ1RSTCIsIDB4NjFkOH0sCit7ImxpbnV4L2F0bW1wYy5oIiwgIkFUTU1QQ19EQVRBIiwgMHg2MWQ5fSwKK3sibGludXgvYXRtY2xpcC5oIiwgIlNJT0NNS0NMSVAiLCAweDYxZTB9LAoreyJsaW51eC9hdG1hcnAuaCIsICJBVE1BUlBEX0NUUkwiLCAweDYxZTF9LAoreyJsaW51eC9hdG1hcnAuaCIsICJBVE1BUlBfTUtJUCIsIDB4NjFlMn0sCit7ImxpbnV4L2F0bWFycC5oIiwgIkFUTUFSUF9TRVRFTlRSWSIsIDB4NjFlM30sCit7ImxpbnV4L2F0bWFycC5oIiwgIkFUTUFSUF9FTkNBUCIsIDB4NjFlNX0sCit7ImxpbnV4L2F0bXN2Yy5oIiwgIkFUTVNJR0RfQ1RSTCIsIDB4NjFmMH0sCit7ImxpbnV4L2NvbXN0YXRzLmgiLCAiQ09NX0dFVFBPUlRTVEFUUyIsIDB4NjMxZX0sCit7ImxpbnV4L2NvbXN0YXRzLmgiLCAiQ09NX0NMUlBPUlRTVEFUUyIsIDB4NjMxZn0sCit7ImxpbnV4L2NvbXN0YXRzLmgiLCAiQ09NX0dFVEJSRFNUQVRTIiwgMHg2MzIwfSwKK3sibGludXgvY29tc3RhdHMuaCIsICJDT01fUkVBRFBPUlQiLCAweDYzMjh9LAoreyJsaW51eC9jb21zdGF0cy5oIiwgIkNPTV9SRUFEQk9BUkQiLCAweDYzMjl9LAoreyJsaW51eC9jb21zdGF0cy5oIiwgIkNPTV9SRUFEUEFORUwiLCAweDYzMmF9LAoreyJsaW51eC92aWRlb19kZWNvZGVyLmgiLCAiREVDT0RFUl9EVU1QIiwgMHg2NGMwfSwKK3sibGludXgvc3luY2xpbmsuaCIsICJNR1NMX0lPQ1NUWElETEUiLCAweDZkMDJ9LAoreyJsaW51eC9zeW5jbGluay5oIiwgIk1HU0xfSU9DR1RYSURMRSIsIDB4NmQwM30sCit7ImxpbnV4L3N5bmNsaW5rLmgiLCAiTUdTTF9JT0NUWEVOQUJMRSIsIDB4NmQwNH0sCit7ImxpbnV4L3N5bmNsaW5rLmgiLCAiTUdTTF9JT0NSWEVOQUJMRSIsIDB4NmQwNX0sCit7ImxpbnV4L3N5bmNsaW5rLmgiLCAiTUdTTF9JT0NUWEFCT1JUIiwgMHg2ZDA2fSwKK3sibGludXgvc3luY2xpbmsuaCIsICJNR1NMX0lPQ0dTVEFUUyIsIDB4NmQwN30sCit7ImxpbnV4L3N5bmNsaW5rLmgiLCAiTUdTTF9JT0NMT09QVFhET05FIiwgMHg2ZDA5fSwKK3sibGludXgvc3luY2xpbmsuaCIsICJNR1NMX0lPQ0NMUk1PRENPVU5UIiwgMHg2ZDBmfSwKK3sibGludXgvbmNwX2ZzLmgiLCAiTkNQX0lPQ19DT05OX0xPR0dFRF9JTiIsIDB4NmUwM30sCit7ImxpbnV4L3J0Yy5oIiwgIlJUQ19BSUVfT04iLCAweDcwMDF9LAoreyJsaW51eC9ydGMuaCIsICJSVENfQUlFX09GRiIsIDB4NzAwMn0sCit7ImxpbnV4L3J0Yy5oIiwgIlJUQ19VSUVfT04iLCAweDcwMDN9LAoreyJsaW51eC9ydGMuaCIsICJSVENfVUlFX09GRiIsIDB4NzAwNH0sCit7ImxpbnV4L3J0Yy5oIiwgIlJUQ19QSUVfT04iLCAweDcwMDV9LAoreyJsaW51eC9ydGMuaCIsICJSVENfUElFX09GRiIsIDB4NzAwNn0sCit7ImxpbnV4L3J0Yy5oIiwgIlJUQ19XSUVfT04iLCAweDcwMGZ9LAoreyJsaW51eC9ydGMuaCIsICJSVENfV0lFX09GRiIsIDB4NzAxMH0sCit7ImxpbnV4L252cmFtLmgiLCAiTlZSQU1fSU5JVCIsIDB4NzA0MH0sCit7ImxpbnV4L252cmFtLmgiLCAiTlZSQU1fU0VUQ0tTIiwgMHg3MDQxfSwKK3sibGludXgvcHBkZXYuaCIsICJQUENMQUlNIiwgMHg3MDhifSwKK3sibGludXgvcHBkZXYuaCIsICJQUFJFTEVBU0UiLCAweDcwOGN9LAoreyJsaW51eC9wcGRldi5oIiwgIlBQWUlFTEQiLCAweDcwOGR9LAoreyJsaW51eC9wcGRldi5oIiwgIlBQRVhDTCIsIDB4NzA4Zn0sCit7ImxpbnV4L3RlbGVwaG9ueS5oIiwgIlBIT05FX0NBUEFCSUxJVElFUyIsIDB4NzE4MH0sCit7ImxpbnV4L3RlbGVwaG9ueS5oIiwgIlBIT05FX1JJTkciLCAweDcxODN9LAoreyJsaW51eC90ZWxlcGhvbnkuaCIsICJQSE9ORV9IT09LU1RBVEUiLCAweDcxODR9LAoreyJsaW51eC90ZWxlcGhvbnkuaCIsICJQSE9ORV9SSU5HX1NUQVJUIiwgMHg3MTg3fSwKK3sibGludXgvdGVsZXBob255LmgiLCAiUEhPTkVfUklOR19TVE9QIiwgMHg3MTg4fSwKK3sibGludXgvdGVsZXBob255LmgiLCAiUEhPTkVfUkVDX1NUQVJUIiwgMHg3MThhfSwKK3sibGludXgvdGVsZXBob255LmgiLCAiUEhPTkVfUkVDX1NUT1AiLCAweDcxOGJ9LAoreyJsaW51eC90ZWxlcGhvbnkuaCIsICJQSE9ORV9SRUNfTEVWRUwiLCAweDcxOGZ9LAoreyJsaW51eC90ZWxlcGhvbnkuaCIsICJQSE9ORV9QTEFZX1NUQVJUIiwgMHg3MTkxfSwKK3sibGludXgvdGVsZXBob255LmgiLCAiUEhPTkVfUExBWV9TVE9QIiwgMHg3MTkyfSwKK3sibGludXgvdGVsZXBob255LmgiLCAiUEhPTkVfUExBWV9MRVZFTCIsIDB4NzE5NX0sCit7ImxpbnV4L3RlbGVwaG9ueS5oIiwgIlBIT05FX0dFVF9UT05FX09OX1RJTUUiLCAweDcxOWV9LAoreyJsaW51eC90ZWxlcGhvbnkuaCIsICJQSE9ORV9HRVRfVE9ORV9PRkZfVElNRSIsIDB4NzE5Zn0sCit7ImxpbnV4L3RlbGVwaG9ueS5oIiwgIlBIT05FX0dFVF9UT05FX1NUQVRFIiwgMHg3MWEwfSwKK3sibGludXgvdGVsZXBob255LmgiLCAiUEhPTkVfQlVTWSIsIDB4NzFhMX0sCit7ImxpbnV4L3RlbGVwaG9ueS5oIiwgIlBIT05FX1JJTkdCQUNLIiwgMHg3MWEyfSwKK3sibGludXgvdGVsZXBob255LmgiLCAiUEhPTkVfRElBTFRPTkUiLCAweDcxYTN9LAoreyJsaW51eC90ZWxlcGhvbnkuaCIsICJQSE9ORV9DUFRfU1RPUCIsIDB4NzFhNH0sCit7ImxpbnV4L3RlbGVwaG9ueS5oIiwgIlBIT05FX1BTVE5fR0VUX1NUQVRFIiwgMHg3MWE1fSwKK3sibGludXgvdGVsZXBob255LmgiLCAiUEhPTkVfUFNUTl9MSU5FVEVTVCIsIDB4NzFhOH0sCit7ImxpbnV4L2l4anVzZXIuaCIsICJJWEpDVExfRFNQX1JFU0VUIiwgMHg3MWMwfSwKK3sibGludXgvaXhqdXNlci5oIiwgIklYSkNUTF9EU1BfSURMRSIsIDB4NzFjNX0sCit7ImxpbnV4L2l4anVzZXIuaCIsICJJWEpDVExfVEVTVFJBTSIsIDB4NzFjNn0sCit7ImxpbnV4L2l4anVzZXIuaCIsICJJWEpDVExfQUVDX1NUT1AiLCAweDcxY2N9LAoreyJsaW51eC9peGp1c2VyLmgiLCAiSVhKQ1RMX0FFQ19HRVRfTEVWRUwiLCAweDcxY2R9LAoreyJsaW51eC9peGp1c2VyLmgiLCAiSVhKQ1RMX1BTVE5fTElORVRFU1QiLCAweDcxZDN9LAoreyJsaW51eC9peGp1c2VyLmgiLCAiSVhKQ1RMX0RSWUJVRkZFUl9DTEVBUiIsIDB4NzFlN30sCit7ImxpbnV4L2Nkay5oIiwgIlNUTF9CSU5UUiIsIDB4NzMxNH0sCit7ImxpbnV4L2Nkay5oIiwgIlNUTF9CU1RBUlQiLCAweDczMTV9LAoreyJsaW51eC9jZGsuaCIsICJTVExfQlNUT1AiLCAweDczMTZ9LAoreyJsaW51eC9jZGsuaCIsICJTVExfQlJFU0VUIiwgMHg3MzE3fSwKK3sibGludXgvY2RrLmgiLCAiU1RMX0dFVFBGTEFHIiwgMHg3MzUwfSwKK3sibGludXgvY2RrLmgiLCAiU1RMX1NFVFBGTEFHIiwgMHg3MzUxfSwKK3sibGludXgvaWZfcHBwLmgiLCAiUFBQSU9DRElTQ09OTiIsIDB4NzQzOX0sCit7ImxpbnV4L2lmX3BwcC5oIiwgIlBQUElPQ1hGRVJVTklUIiwgMHg3NDRlfSwKK3sibGludXgvamZmcy5oIiwgIkpGRlNfUFJJTlRfSEFTSCIsIDB4NzQ1YX0sCit7ImxpbnV4L2pmZnMuaCIsICJKRkZTX1BSSU5UX1RSRUUiLCAweDc0NWJ9LAoreyJsaW51eC9qZmZzLmgiLCAiSkZGU19HRVRfU1RBVFVTIiwgMHg3NDVjfSwKK3siYXNtL3NvY2tpb3MuaCIsICJGSU9TRVRPV04iLCAweDg5MDF9LAoreyJhc20vc29ja2lvcy5oIiwgIlNJT0NTUEdSUCIsIDB4ODkwMn0sCit7ImFzbS9zb2NraW9zLmgiLCAiRklPR0VUT1dOIiwgMHg4OTAzfSwKK3siYXNtL3NvY2tpb3MuaCIsICJTSU9DR1BHUlAiLCAweDg5MDR9LAoreyJhc20vc29ja2lvcy5oIiwgIlNJT0NBVE1BUksiLCAweDg5MDV9LAoreyJhc20vc29ja2lvcy5oIiwgIlNJT0NHU1RBTVAiLCAweDg5MDZ9LAoreyJsaW51eC9zb2NraW9zLmgiLCAiU0lPQ0FERFJUIiwgMHg4OTBifSwKK3sibGludXgvc29ja2lvcy5oIiwgIlNJT0NERUxSVCIsIDB4ODkwY30sCit7ImxpbnV4L3NvY2tpb3MuaCIsICJTSU9DUlRNU0ciLCAweDg5MGR9LAoreyJsaW51eC9zb2NraW9zLmgiLCAiU0lPQ0dJRk5BTUUiLCAweDg5MTB9LAoreyJsaW51eC9zb2NraW9zLmgiLCAiU0lPQ1NJRkxJTksiLCAweDg5MTF9LAoreyJsaW51eC9zb2NraW9zLmgiLCAiU0lPQ0dJRkNPTkYiLCAweDg5MTJ9LAoreyJsaW51eC9zb2NraW9zLmgiLCAiU0lPQ0dJRkZMQUdTIiwgMHg4OTEzfSwKK3sibGludXgvc29ja2lvcy5oIiwgIlNJT0NTSUZGTEFHUyIsIDB4ODkxNH0sCit7ImxpbnV4L3NvY2tpb3MuaCIsICJTSU9DR0lGQUREUiIsIDB4ODkxNX0sCit7ImxpbnV4L3NvY2tpb3MuaCIsICJTSU9DU0lGQUREUiIsIDB4ODkxNn0sCit7ImxpbnV4L3NvY2tpb3MuaCIsICJTSU9DR0lGRFNUQUREUiIsIDB4ODkxN30sCit7ImxpbnV4L3NvY2tpb3MuaCIsICJTSU9DU0lGRFNUQUREUiIsIDB4ODkxOH0sCit7ImxpbnV4L3NvY2tpb3MuaCIsICJTSU9DR0lGQlJEQUREUiIsIDB4ODkxOX0sCit7ImxpbnV4L3NvY2tpb3MuaCIsICJTSU9DU0lGQlJEQUREUiIsIDB4ODkxYX0sCit7ImxpbnV4L3NvY2tpb3MuaCIsICJTSU9DR0lGTkVUTUFTSyIsIDB4ODkxYn0sCit7ImxpbnV4L3NvY2tpb3MuaCIsICJTSU9DU0lGTkVUTUFTSyIsIDB4ODkxY30sCit7ImxpbnV4L3NvY2tpb3MuaCIsICJTSU9DR0lGTUVUUklDIiwgMHg4OTFkfSwKK3sibGludXgvc29ja2lvcy5oIiwgIlNJT0NTSUZNRVRSSUMiLCAweDg5MWV9LAoreyJsaW51eC9zb2NraW9zLmgiLCAiU0lPQ0dJRk1FTSIsIDB4ODkxZn0sCit7ImxpbnV4L3NvY2tpb3MuaCIsICJTSU9DU0lGTUVNIiwgMHg4OTIwfSwKK3sibGludXgvc29ja2lvcy5oIiwgIlNJT0NHSUZNVFUiLCAweDg5MjF9LAoreyJsaW51eC9zb2NraW9zLmgiLCAiU0lPQ1NJRk1UVSIsIDB4ODkyMn0sCit7ImxpbnV4L3NvY2tpb3MuaCIsICJTSU9DU0lGTkFNRSIsIDB4ODkyM30sCit7ImxpbnV4L3NvY2tpb3MuaCIsICJTSU9DU0lGSFdBRERSIiwgMHg4OTI0fSwKK3sibGludXgvc29ja2lvcy5oIiwgIlNJT0NHSUZFTkNBUCIsIDB4ODkyNX0sCit7ImxpbnV4L3NvY2tpb3MuaCIsICJTSU9DU0lGRU5DQVAiLCAweDg5MjZ9LAoreyJsaW51eC9zb2NraW9zLmgiLCAiU0lPQ0dJRkhXQUREUiIsIDB4ODkyN30sCit7ImxpbnV4L3NvY2tpb3MuaCIsICJTSU9DR0lGU0xBVkUiLCAweDg5Mjl9LAoreyJsaW51eC9zb2NraW9zLmgiLCAiU0lPQ1NJRlNMQVZFIiwgMHg4OTMwfSwKK3sibGludXgvc29ja2lvcy5oIiwgIlNJT0NBRERNVUxUSSIsIDB4ODkzMX0sCit7ImxpbnV4L3NvY2tpb3MuaCIsICJTSU9DREVMTVVMVEkiLCAweDg5MzJ9LAoreyJsaW51eC9zb2NraW9zLmgiLCAiU0lPQ0dJRklOREVYIiwgMHg4OTMzfSwKK3sibGludXgvc29ja2lvcy5oIiwgIlNJT0NTSUZQRkxBR1MiLCAweDg5MzR9LAoreyJsaW51eC9zb2NraW9zLmgiLCAiU0lPQ0dJRlBGTEFHUyIsIDB4ODkzNX0sCit7ImxpbnV4L3NvY2tpb3MuaCIsICJTSU9DRElGQUREUiIsIDB4ODkzNn0sCit7ImxpbnV4L3NvY2tpb3MuaCIsICJTSU9DU0lGSFdCUk9BRENBU1QiLCAweDg5Mzd9LAoreyJsaW51eC9zb2NraW9zLmgiLCAiU0lPQ0dJRkNPVU5UIiwgMHg4OTM4fSwKK3sibGludXgvc29ja2lvcy5oIiwgIlNJT0NHSUZCUiIsIDB4ODk0MH0sCit7ImxpbnV4L3NvY2tpb3MuaCIsICJTSU9DU0lGQlIiLCAweDg5NDF9LAoreyJsaW51eC9zb2NraW9zLmgiLCAiU0lPQ0dJRlRYUUxFTiIsIDB4ODk0Mn0sCit7ImxpbnV4L3NvY2tpb3MuaCIsICJTSU9DU0lGVFhRTEVOIiwgMHg4OTQzfSwKK3sibGludXgvc29ja2lvcy5oIiwgIlNJT0NEQVJQIiwgMHg4OTUzfSwKK3sibGludXgvc29ja2lvcy5oIiwgIlNJT0NHQVJQIiwgMHg4OTU0fSwKK3sibGludXgvc29ja2lvcy5oIiwgIlNJT0NTQVJQIiwgMHg4OTU1fSwKK3sibGludXgvc29ja2lvcy5oIiwgIlNJT0NEUkFSUCIsIDB4ODk2MH0sCit7ImxpbnV4L3NvY2tpb3MuaCIsICJTSU9DR1JBUlAiLCAweDg5NjF9LAoreyJsaW51eC9zb2NraW9zLmgiLCAiU0lPQ1NSQVJQIiwgMHg4OTYyfSwKK3sibGludXgvc29ja2lvcy5oIiwgIlNJT0NHSUZNQVAiLCAweDg5NzB9LAoreyJsaW51eC9zb2NraW9zLmgiLCAiU0lPQ1NJRk1BUCIsIDB4ODk3MX0sCit7ImxpbnV4L3NvY2tpb3MuaCIsICJTSU9DQURERExDSSIsIDB4ODk4MH0sCit7ImxpbnV4L3NvY2tpb3MuaCIsICJTSU9DREVMRExDSSIsIDB4ODk4MX0sCit7ImxpbnV4L3NvY2tpb3MuaCIsICJTSU9DUFJPVE9QUklWQVRFIiwgMHg4OWUwfSwKK3sibGludXgvc29ja2lvcy5oIiwgIlNJT0NERVZQUklWQVRFIiwgMHg4OWYwfSwKK3sibGludXgvYXV0b19mcy5oIiwgIkFVVE9GU19JT0NfUkVBRFkiLCAweDkzNjB9LAoreyJsaW51eC9hdXRvX2ZzLmgiLCAiQVVUT0ZTX0lPQ19GQUlMIiwgMHg5MzYxfSwKK3sibGludXgvYXV0b19mcy5oIiwgIkFVVE9GU19JT0NfQ0FUQVRPTklDIiwgMHg5MzYyfSwKK3sibGludXgvbmJkLmgiLCAiTkJEX1NFVF9TT0NLIiwgMHhhYjAwfSwKK3sibGludXgvbmJkLmgiLCAiTkJEX1NFVF9CTEtTSVpFIiwgMHhhYjAxfSwKK3sibGludXgvbmJkLmgiLCAiTkJEX1NFVF9TSVpFIiwgMHhhYjAyfSwKK3sibGludXgvbmJkLmgiLCAiTkJEX0RPX0lUIiwgMHhhYjAzfSwKK3sibGludXgvbmJkLmgiLCAiTkJEX0NMRUFSX1NPQ0siLCAweGFiMDR9LAoreyJsaW51eC9uYmQuaCIsICJOQkRfQ0xFQVJfUVVFIiwgMHhhYjA1fSwKK3sibGludXgvbmJkLmgiLCAiTkJEX1BSSU5UX0RFQlVHIiwgMHhhYjA2fSwKK3sibGludXgvbmJkLmgiLCAiTkJEX1NFVF9TSVpFX0JMT0NLUyIsIDB4YWIwN30sCit7ImxpbnV4L25iZC5oIiwgIk5CRF9ESVNDT05ORUNUIiwgMHhhYjA4fSwKK3sibGludXgvcmF3LmgiLCAiUkFXX1NFVEJJTkQiLCAweGFjMDB9LAoreyJsaW51eC9yYXcuaCIsICJSQVdfR0VUQklORCIsIDB4YWMwMX0sCit7ImxpbnV4L2lmX3BwcG94LmgiLCAiUFBQT0VJT0NERldEIiwgMHhiMTAxfSwKK3sibGludXgvbHZtLmgiLCAiTFZfQUNUSVZBVEUiLCAweGZlMjJ9LAoreyJsaW51eC9sdm0uaCIsICJMVl9ERUFDVElWQVRFIiwgMHhmZTIzfSwKK3sibGludXgvbHZtLmgiLCAiTFZNX1JFU0VUIiwgMHhmZTk5fSwKK3sibGludXgvbHZtLmgiLCAiTFZNX0xPQ0tfTFZNIiwgMHhmZjAwfSwKK3sibGludXgvY3ljbGFkZXMuaCIsICJDWUdFVE1PTiIsIDB4NDM1OTAxfSwKK3sibGludXgvY3ljbGFkZXMuaCIsICJDWUdFVFRIUkVTSCIsIDB4NDM1OTAyfSwKK3sibGludXgvY3ljbGFkZXMuaCIsICJDWVNFVFRIUkVTSCIsIDB4NDM1OTAzfSwKK3sibGludXgvY3ljbGFkZXMuaCIsICJDWUdFVERFRlRIUkVTSCIsIDB4NDM1OTA0fSwKK3sibGludXgvY3ljbGFkZXMuaCIsICJDWVNFVERFRlRIUkVTSCIsIDB4NDM1OTA1fSwKK3sibGludXgvY3ljbGFkZXMuaCIsICJDWUdFVFRJTUVPVVQiLCAweDQzNTkwNn0sCit7ImxpbnV4L2N5Y2xhZGVzLmgiLCAiQ1lTRVRUSU1FT1VUIiwgMHg0MzU5MDd9LAoreyJsaW51eC9jeWNsYWRlcy5oIiwgIkNZR0VUREVGVElNRU9VVCIsIDB4NDM1OTA4fSwKK3sibGludXgvY3ljbGFkZXMuaCIsICJDWVNFVERFRlRJTUVPVVQiLCAweDQzNTkwOX0sCit7ImxpbnV4L2N5Y2xhZGVzLmgiLCAiQ1lTRVRSRkxPVyIsIDB4NDM1OTBhfSwKK3sibGludXgvY3ljbGFkZXMuaCIsICJDWUdFVFJGTE9XIiwgMHg0MzU5MGJ9LAoreyJsaW51eC9jeWNsYWRlcy5oIiwgIkNZU0VUUlRTRFRSX0lOViIsIDB4NDM1OTBjfSwKK3sibGludXgvY3ljbGFkZXMuaCIsICJDWUdFVFJUU0RUUl9JTlYiLCAweDQzNTkwZH0sCit7ImxpbnV4L2N5Y2xhZGVzLmgiLCAiQ1laU0VUUE9MTENZQ0xFIiwgMHg0MzU5MGV9LAoreyJsaW51eC9jeWNsYWRlcy5oIiwgIkNZWkdFVFBPTExDWUNMRSIsIDB4NDM1OTBmfSwKK3sibGludXgvY3ljbGFkZXMuaCIsICJDWUdFVENEMTQwMFZFUiIsIDB4NDM1OTEwfSwKK3sibGludXgvY3ljbGFkZXMuaCIsICJDWUdFVENBUkRJTkZPIiwgMHg0MzU5MTF9LAoreyJsaW51eC9jeWNsYWRlcy5oIiwgIkNZU0VUV0FJVCIsIDB4NDM1OTEyfSwKK3sibGludXgvY3ljbGFkZXMuaCIsICJDWUdFVFdBSVQiLCAweDQzNTkxM30sCit7ImxpbnV4L3NvdW5kY2FyZC5oIiwgIlNPVU5EX01JWEVSX1JFQURfVk9MVU1FIiwgMHgyMDA0NGQwMH0sCit7ImxpbnV4L3NvdW5kY2FyZC5oIiwgIlNPVU5EX01JWEVSX1JFQURfQkFTUyIsIDB4MjAwNDRkMDF9LAoreyJsaW51eC9zb3VuZGNhcmQuaCIsICJTT1VORF9NSVhFUl9SRUFEX1RSRUJMRSIsIDB4MjAwNDRkMDJ9LAoreyJsaW51eC9zb3VuZGNhcmQuaCIsICJTT1VORF9NSVhFUl9SRUFEX1NZTlRIIiwgMHgyMDA0NGQwM30sCit7ImxpbnV4L3NvdW5kY2FyZC5oIiwgIlNPVU5EX01JWEVSX1JFQURfUENNIiwgMHgyMDA0NGQwNH0sCit7ImxpbnV4L3NvdW5kY2FyZC5oIiwgIlNPVU5EX01JWEVSX1JFQURfU1BFQUtFUiIsIDB4MjAwNDRkMDV9LAoreyJsaW51eC9zb3VuZGNhcmQuaCIsICJTT1VORF9NSVhFUl9SRUFEX0xJTkUiLCAweDIwMDQ0ZDA2fSwKK3sibGludXgvc291bmRjYXJkLmgiLCAiU09VTkRfTUlYRVJfUkVBRF9NSUMiLCAweDIwMDQ0ZDA3fSwKK3sibGludXgvc291bmRjYXJkLmgiLCAiU09VTkRfTUlYRVJfUkVBRF9DRCIsIDB4MjAwNDRkMDh9LAoreyJsaW51eC9zb3VuZGNhcmQuaCIsICJTT1VORF9NSVhFUl9SRUFEX0lNSVgiLCAweDIwMDQ0ZDA5fSwKK3sibGludXgvc291bmRjYXJkLmgiLCAiU09VTkRfTUlYRVJfUkVBRF9BTFRQQ00iLCAweDIwMDQ0ZDBhfSwKK3sibGludXgvc291bmRjYXJkLmgiLCAiU09VTkRfTUlYRVJfUkVBRF9SRUNMRVYiLCAweDIwMDQ0ZDBifSwKK3sibGludXgvc291bmRjYXJkLmgiLCAiU09VTkRfTUlYRVJfUkVBRF9JR0FJTiIsIDB4MjAwNDRkMGN9LAoreyJsaW51eC9zb3VuZGNhcmQuaCIsICJTT1VORF9NSVhFUl9SRUFEX09HQUlOIiwgMHgyMDA0NGQwZH0sCit7ImxpbnV4L3NvdW5kY2FyZC5oIiwgIlNPVU5EX01JWEVSX1JFQURfTElORTEiLCAweDIwMDQ0ZDBlfSwKK3sibGludXgvc291bmRjYXJkLmgiLCAiU09VTkRfTUlYRVJfUkVBRF9MSU5FMiIsIDB4MjAwNDRkMGZ9LAoreyJsaW51eC9zb3VuZGNhcmQuaCIsICJTT1VORF9NSVhFUl9SRUFEX0xJTkUzIiwgMHgyMDA0NGQxMH0sCit7ImxpbnV4L3NvdW5kY2FyZC5oIiwgIlNPVU5EX01JWEVSX1JFQURfTVVURSIsIDB4MjAwNDRkMWZ9LAoreyJsaW51eC9zb3VuZGNhcmQuaCIsICJTT1VORF9NSVhFUl9SRUFEX0VOSEFOQ0UiLCAweDIwMDQ0ZDFmfSwKK3sibGludXgvc291bmRjYXJkLmgiLCAiU09VTkRfTUlYRVJfUkVBRF9MT1VEIiwgMHgyMDA0NGQxZn0sCit7ImxpbnV4L3NvdW5kY2FyZC5oIiwgIlNPVU5EX01JWEVSX1JFQURfU1RFUkVPREVWUyIsIDB4MjAwNDRkZmJ9LAoreyJsaW51eC9zb3VuZGNhcmQuaCIsICJTT1VORF9NSVhFUl9SRUFEX0NBUFMiLCAweDIwMDQ0ZGZjfSwKK3sibGludXgvc291bmRjYXJkLmgiLCAiU09VTkRfTUlYRVJfUkVBRF9SRUNNQVNLIiwgMHgyMDA0NGRmZH0sCit7ImxpbnV4L3NvdW5kY2FyZC5oIiwgIlNPVU5EX01JWEVSX1JFQURfREVWTUFTSyIsIDB4MjAwNDRkZmV9LAoreyJsaW51eC9zb3VuZGNhcmQuaCIsICJTT1VORF9NSVhFUl9SRUFEX1JFQ1NSQyIsIDB4MjAwNDRkZmZ9LAoreyJsaW51eC9wcGRldi5oIiwgIlBQV0NPTlRST0wiLCAweDQwMDE3MDg0fSwKK3sibGludXgvcHBkZXYuaCIsICJQUFdEQVRBIiwgMHg0MDAxNzA4Nn0sCit7ImxpbnV4L3BwZGV2LmgiLCAiUFBXQ1RMT05JUlEiLCAweDQwMDE3MDkyfSwKK3sibGludXgvdGVsZXBob255LmgiLCAiUEhPTkVfTUFYUklOR1MiLCAweDQwMDE3MTg1fSwKK3sibGludXgvdGVsZXBob255LmgiLCAiUEhPTkVfUExBWV9UT05FIiwgMHg0MDAxNzE5Yn0sCit7ImxpbnV4L3BwZGV2LmgiLCAiUFBGQ09OVFJPTCIsIDB4NDAwMjcwOGV9LAoreyJsaW51eC90ZWxlcGhvbnkuaCIsICJQSE9ORV9SSU5HX0NBREVOQ0UiLCAweDQwMDI3MTg2fSwKK3sibGludXgvYWdwZ2FydC5oIiwgIkFHUElPQ19ERUFMTE9DQVRFIiwgMHg0MDA0NDEwN30sCit7ImxpbnV4L3JhbmRvbS5oIiwgIlJOREFERFRPRU5UQ05UIiwgMHg0MDA0NTIwMX0sCit7ImFzbS9pb2N0bHMuaCIsICJUSU9DU1BUTENLIiwgMHg0MDA0NTQzMX0sCit7ImxpbnV4L2F0bWRldi5oIiwgIkFUTV9TRVRTQyIsIDB4NDAwNDYxZjF9LAoreyJsaW51eC9kZXZmc19mcy5oIiwgIkRFVkZTRElPQ19TRVRfRVZFTlRfTUFTSyIsIDB4NDAwNDY0MDJ9LAoreyJsaW51eC9kZXZmc19mcy5oIiwgIkRFVkZTRElPQ19SRUxFQVNFX0VWRU5UX1FVRVVFIiwgMHg0MDA0NjQwM30sCit7ImxpbnV4L3ZpZGVvX2RlY29kZXIuaCIsICJERUNPREVSX1NFVF9OT1JNIiwgMHg0MDA0NjQwM30sCit7ImxpbnV4L2RldmZzX2ZzLmgiLCAiREVWRlNESU9DX1NFVF9ERUJVR19NQVNLIiwgMHg0MDA0NjQwNH0sCit7ImxpbnV4L3ZpZGVvX2RlY29kZXIuaCIsICJERUNPREVSX1NFVF9JTlBVVCIsIDB4NDAwNDY0MDR9LAoreyJsaW51eC92aWRlb19kZWNvZGVyLmgiLCAiREVDT0RFUl9TRVRfT1VUUFVUIiwgMHg0MDA0NjQwNX0sCit7ImxpbnV4L3ZpZGVvX2RlY29kZXIuaCIsICJERUNPREVSX0VOQUJMRV9PVVRQVVQiLCAweDQwMDQ2NDA2fSwKK3sibGludXgvdmlkZW9fZW5jb2Rlci5oIiwgIkVOQ09ERVJfU0VUX05PUk0iLCAweDQwMDQ2NTAyfSwKK3sibGludXgvdmlkZW9fZW5jb2Rlci5oIiwgIkVOQ09ERVJfU0VUX0lOUFVUIiwgMHg0MDA0NjUwM30sCit7ImxpbnV4L3ZpZGVvX2VuY29kZXIuaCIsICJFTkNPREVSX1NFVF9PVVRQVVQiLCAweDQwMDQ2NTA0fSwKK3sibGludXgvdmlkZW9fZW5jb2Rlci5oIiwgIkVOQ09ERVJfRU5BQkxFX09VVFBVVCIsIDB4NDAwNDY1MDV9LAoreyJsaW51eC9uY3BfZnMuaCIsICJOQ1BfSU9DX0dFVE1PVU5UVUlEIiwgMHg0MDA0NmUwMn0sCit7ImxpbnV4L25jcF9mcy5oIiwgIk5DUF9JT0NfU0VUX1NJR05fV0FOVEVEIiwgMHg0MDA0NmUwNn0sCit7ImxpbnV4L25jcF9mcy5oIiwgIk5DUF9JT0NfR0VUREVOVFJZVFRMIiwgMHg0MDA0NmUwY30sCit7ImxpbnV4L3BwZGV2LmgiLCAiUFBTRVRNT0RFIiwgMHg0MDA0NzA4MH0sCit7ImxpbnV4L3BwZGV2LmgiLCAiUFBEQVRBRElSIiwgMHg0MDA0NzA5MH0sCit7ImxpbnV4L3BwZGV2LmgiLCAiUFBORUdPVCIsIDB4NDAwNDcwOTF9LAoreyJsaW51eC9wcGRldi5oIiwgIlBQU0VUUEhBU0UiLCAweDQwMDQ3MDk0fSwKK3sibGludXgvdGVsZXBob255LmgiLCAiUEhPTkVfUkVDX0NPREVDIiwgMHg0MDA0NzE4OX0sCit7ImxpbnV4L3RlbGVwaG9ueS5oIiwgIlBIT05FX1JFQ19ERVBUSCIsIDB4NDAwNDcxOGN9LAoreyJsaW51eC90ZWxlcGhvbnkuaCIsICJQSE9ORV9GUkFNRSIsIDB4NDAwNDcxOGR9LAoreyJsaW51eC90ZWxlcGhvbnkuaCIsICJQSE9ORV9SRUNfVk9MVU1FIiwgMHg0MDA0NzE4ZX0sCit7ImxpbnV4L3RlbGVwaG9ueS5oIiwgIlBIT05FX1BMQVlfQ09ERUMiLCAweDQwMDQ3MTkwfSwKK3sibGludXgvdGVsZXBob255LmgiLCAiUEhPTkVfUExBWV9ERVBUSCIsIDB4NDAwNDcxOTN9LAoreyJsaW51eC90ZWxlcGhvbnkuaCIsICJQSE9ORV9QTEFZX1ZPTFVNRSIsIDB4NDAwNDcxOTR9LAoreyJsaW51eC90ZWxlcGhvbnkuaCIsICJQSE9ORV9EVE1GX09PQiIsIDB4NDAwNDcxOTl9LAoreyJsaW51eC90ZWxlcGhvbnkuaCIsICJQSE9ORV9TRVRfVE9ORV9PTl9USU1FIiwgMHg0MDA0NzE5Y30sCit7ImxpbnV4L3RlbGVwaG9ueS5oIiwgIlBIT05FX1NFVF9UT05FX09GRl9USU1FIiwgMHg0MDA0NzE5ZH0sCit7ImxpbnV4L3RlbGVwaG9ueS5oIiwgIlBIT05FX1BTVE5fU0VUX1NUQVRFIiwgMHg0MDA0NzFhNH0sCit7ImxpbnV4L3RlbGVwaG9ueS5oIiwgIlBIT05FX1dJTktfRFVSQVRJT04iLCAweDQwMDQ3MWE2fSwKK3sibGludXgvaXhqdXNlci5oIiwgIklYSkNUTF9HRVRfRklMVEVSX0hJU1QiLCAweDQwMDQ3MWM4fSwKK3sibGludXgvaXhqdXNlci5oIiwgIklYSkNUTF9BRUNfU1RBUlQiLCAweDQwMDQ3MWNifSwKK3sibGludXgvaXhqdXNlci5oIiwgIklYSkNUTF9TRVRfTEVEIiwgMHg0MDA0NzFjZX0sCit7ImxpbnV4L2l4anVzZXIuaCIsICJJWEpDVExfTUlYRVIiLCAweDQwMDQ3MWNmfSwKK3sibGludXgvaXhqdXNlci5oIiwgIklYSkNUTF9EQUFfQ09FRkZfU0VUIiwgMHg0MDA0NzFkMH0sCit7ImxpbnV4L2l4anVzZXIuaCIsICJJWEpDVExfUE9SVCIsIDB4NDAwNDcxZDF9LAoreyJsaW51eC9peGp1c2VyLmgiLCAiSVhKQ1RMX0RBQV9BR0FJTiIsIDB4NDAwNDcxZDJ9LAoreyJsaW51eC9peGp1c2VyLmgiLCAiSVhKQ1RMX1BPVFNfUFNUTiIsIDB4NDAwNDcxZDV9LAoreyJsaW51eC9peGp1c2VyLmgiLCAiSVhKQ1RMX0haIiwgMHg0MDA0NzFlMH0sCit7ImxpbnV4L2l4anVzZXIuaCIsICJJWEpDVExfUkFURSIsIDB4NDAwNDcxZTF9LAoreyJsaW51eC9peGp1c2VyLmgiLCAiSVhKQ1RMX0lOVEVSQ09NX1NUQVJUIiwgMHg0MDA0NzFmZH0sCit7ImxpbnV4L2l4anVzZXIuaCIsICJJWEpDVExfSU5URVJDT01fU1RPUCIsIDB4NDAwNDcxZmV9LAoreyJsaW51eC9pZl9wcHAuaCIsICJQUFBJT0NBVFRDSEFOIiwgMHg0MDA0NzQzOH0sCit7ImxpbnV4L2lmX3BwcC5oIiwgIlBQUElPQ0NPTk5FQ1QiLCAweDQwMDQ3NDNhfSwKK3sibGludXgvaWZfcHBwLmgiLCAiUFBQSU9DU01SUlUiLCAweDQwMDQ3NDNifSwKK3sibGludXgvaWZfcHBwLmgiLCAiUFBQSU9DREVUQUNIIiwgMHg0MDA0NzQzY30sCit7ImxpbnV4L2lmX3BwcC5oIiwgIlBQUElPQ0FUVEFDSCIsIDB4NDAwNDc0M2R9LAoreyJsaW51eC9pZl9wcHAuaCIsICJQUFBJT0NTREVCVUciLCAweDQwMDQ3NDQwfSwKK3sibGludXgvaWZfcHBwLmgiLCAiUFBQSU9DU01BWENJRCIsIDB4NDAwNDc0NTF9LAoreyJsaW51eC9pZl9wcHAuaCIsICJQUFBJT0NTTVJVIiwgMHg0MDA0NzQ1Mn0sCit7ImxpbnV4L2lmX3BwcC5oIiwgIlBQUElPQ1NSQVNZTkNNQVAiLCAweDQwMDQ3NDU0fSwKK3sibGludXgvaWZfcHBwLmgiLCAiUFBQSU9DU0FTWU5DTUFQIiwgMHg0MDA0NzQ1N30sCit7ImxpbnV4L2lmX3BwcC5oIiwgIlBQUElPQ1NGTEFHUyIsIDB4NDAwNDc0NTl9LAoreyJsaW51eC9pc2RuX3BwcC5oIiwgIlBQUElPQ0JVTkRMRSIsIDB4NDAwNDc0ODF9LAoreyJsaW51eC9pc2RuX3BwcC5oIiwgIlBQUElPQ1NNUEZMQUdTIiwgMHg0MDA0NzQ4M30sCit7ImxpbnV4L2lzZG5fcHBwLmgiLCAiUFBQSU9DU01QTVRVIiwgMHg0MDA0NzQ4NH0sCit7ImxpbnV4L2lzZG5fcHBwLmgiLCAiUFBQSU9DU01QTVJVIiwgMHg0MDA0NzQ4NX0sCit7ImxpbnV4L2lzZG5fcHBwLmgiLCAiUFBQSU9DU0NPTVBSRVNTT1IiLCAweDQwMDQ3NDg3fSwKK3sibGludXgvdmlkZW9kZXYuaCIsICJWSURJT0NDQVBUVVJFIiwgMHg0MDA0NzYwOH0sCit7ImxpbnV4L3ZpZGVvZGV2LmgiLCAiVklESU9DU1lOQyIsIDB4NDAwNDc2MTJ9LAoreyJsaW51eC92aWRlb2Rldi5oIiwgIlZJRElPQ1NXUklURU1PREUiLCAweDQwMDQ3NjE5fSwKK3sibGludXgvZG4uaCIsICJTSU9DU05FVEFERFIiLCAweDQwMDQ4OWUwfSwKK3sibGludXgvZG4uaCIsICJPU0lPQ1NORVRBRERSIiwgMHg0MDA0ODllMH0sCit7ImxpbnV4L2F1dG9fZnM0LmgiLCAiQVVUT0ZTX0lPQ19FWFBJUkVfTVVMVEkiLCAweDQwMDQ5MzY2fSwKK3sibGludXgvbHZtLmgiLCAiVkdfQ1JFQVRFIiwgMHg0MDA0ZmUwMH0sCit7ImxpbnV4L2x2bS5oIiwgIlZHX1JFTU9WRSIsIDB4NDAwNGZlMDF9LAoreyJsaW51eC9sdm0uaCIsICJWR19FWFRFTkQiLCAweDQwMDRmZTAzfSwKK3sibGludXgvbHZtLmgiLCAiVkdfUkVEVUNFIiwgMHg0MDA0ZmUwNH0sCit7ImxpbnV4L2x2bS5oIiwgIlZHX1NFVF9FWFRFTkRBQkxFIiwgMHg0MDA0ZmUwOH0sCit7ImxpbnV4L2x2bS5oIiwgIkxWX0NSRUFURSIsIDB4NDAwNGZlMjB9LAoreyJsaW51eC9sdm0uaCIsICJMVl9SRU1PVkUiLCAweDQwMDRmZTIxfSwKK3sibGludXgvbHZtLmgiLCAiTFZfRVhURU5EIiwgMHg0MDA0ZmUyNH0sCit7ImxpbnV4L2x2bS5oIiwgIkxWX1JFRFVDRSIsIDB4NDAwNGZlMjV9LAoreyJsaW51eC9sdm0uaCIsICJMVl9TRVRfQUNDRVNTIiwgMHg0MDA0ZmUyOH0sCit7ImxpbnV4L2x2bS5oIiwgIkxWX1NFVF9BTExPQ0FUSU9OIiwgMHg0MDA0ZmUyOX0sCit7ImxpbnV4L2x2bS5oIiwgIkxWX1NFVF9TVEFUVVMiLCAweDQwMDRmZTJhfSwKK3sibGludXgvbHZtLmgiLCAiTEVfUkVNQVAiLCAweDQwMDRmZTJifSwKK3sibGludXgvbHZtLmgiLCAiUFZfRkxVU0giLCAweDQwMDRmZTQyfSwKK3sibGludXgvbHZtLmgiLCAiUEVfTE9DS19VTkxPQ0siLCAweDQwMDRmZTUwfSwKK3sibGludXgvZWxldmF0b3IuaCIsICJCTEtFTFZTRVQiLCAweDQwMDgxMjZifSwKK3sibGludXgvZnMuaCIsICJCTEtFTFZTRVQiLCAweDQwMDgxMjZifSwKK3sibGludXgvYWdwZ2FydC5oIiwgIkFHUElPQ19TRVRVUCIsIDB4NDAwODQxMDN9LAoreyJsaW51eC9hZ3BnYXJ0LmgiLCAiQUdQSU9DX1JFU0VSVkUiLCAweDQwMDg0MTA0fSwKK3sibGludXgvYWdwZ2FydC5oIiwgIkFHUElPQ19QUk9URUNUIiwgMHg0MDA4NDEwNX0sCit7ImxpbnV4L2FncGdhcnQuaCIsICJBR1BJT0NfQklORCIsIDB4NDAwODQxMDh9LAoreyJsaW51eC9hZ3BnYXJ0LmgiLCAiQUdQSU9DX1VOQklORCIsIDB4NDAwODQxMDl9LAoreyJsaW51eC9wbXUuaCIsICJQTVVfSU9DX1NFVF9CQUNLTElHSFQiLCAweDQwMDg0MjAyfSwKK3sibGludXgvaW5wdXQuaCIsICJFVklPQ1NSRVAiLCAweDQwMDg0NTAzfSwKK3sibGludXgvaW5wdXQuaCIsICJFVklPQ1NLRVlDT0RFIiwgMHg0MDA4NDUwNH0sCit7ImxpbnV4L3JhbmRvbS5oIiwgIlJOREFEREVOVFJPUFkiLCAweDQwMDg1MjAzfSwKK3sibGludXgvdXNiZGV2aWNlX2ZzLmgiLCAiVVNCREVWRlNfUkVBUFVSQiIsIDB4NDAwODU1MGN9LAoreyJsaW51eC91c2JkZXZpY2VfZnMuaCIsICJVU0JERVZGU19SRUFQVVJCTkRFTEFZIiwgMHg0MDA4NTUwZH0sCit7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwgIlVTQkRFVkZTX0NPTk5FQ1RJTkZPIiwgMHg0MDA4NTUxMX0sCit7ImxpbnV4L2V4dDJfZnMuaCIsICJFWFQyX0lPQ19TRVRGTEFHUyIsIDB4NDAwODY2MDJ9LAoreyJsaW51eC9tdGlvLmgiLCAiTVRJT0NUT1AiLCAweDQwMDg2ZDAxfSwKK3sibGludXgvbmNwX2ZzLmgiLCAiTkNQX0lPQ19HRVRNT1VOVFVJRDIiLCAweDQwMDg2ZTAyfSwKK3sibGludXgvbWF0cm94ZmIuaCIsICJNQVRST1hGQl9TRVRfT1VUUFVUX0NPTk5FQ1RJT04iLCAweDQwMDg2ZWY4fSwKK3sibGludXgvbWF0cm94ZmIuaCIsICJNQVRST1hGQl9TRVRfT1VUUFVUX01PREUiLCAweDQwMDg2ZWZhfSwKK3sibGludXgvcnRjLmgiLCAiUlRDX0lSUVBfU0VUIiwgMHg0MDA4NzAwY30sCit7ImxpbnV4L3J0Yy5oIiwgIlJUQ19FUE9DSF9TRVQiLCAweDQwMDg3MDBlfSwKK3sibGludXgvc2VyaW8uaCIsICJTUElPQ1NUWVBFIiwgMHg0MDA4NzEwMX0sCit7ImxpbnV4L3RlbGVwaG9ueS5oIiwgIlBIT05FX0NBUEFCSUxJVElFU19DSEVDSyIsIDB4NDAwODcxODJ9LAoreyJsaW51eC9peGp1c2VyLmgiLCAiSVhKQ1RMX1NFVF9GSUxURVIiLCAweDQwMDg3MWM3fSwKK3sibGludXgvaXhqdXNlci5oIiwgIklYSkNUTF9JTklUX1RPTkUiLCAweDQwMDg3MWM5fSwKK3sibGludXgvaXhqdXNlci5oIiwgIklYSkNUTF9UT05FX0NBREVOQ0UiLCAweDQwMDg3MWNhfSwKK3sibGludXgvaWZfcHBwLmgiLCAiUFBQSU9DU05QTU9ERSIsIDB4NDAwODc0NGJ9LAoreyJsaW51eC9leHQyX2ZzLmgiLCAiRVhUMl9JT0NfU0VUVkVSU0lPTiIsIDB4NDAwODc2MDJ9LAoreyJsaW51eC92aWRlb2Rldi5oIiwgIlZJRElPQ1NGUkVRIiwgMHg0MDA4NzYwZn0sCit7ImxpbnV4L2lmX3BwcG94LmgiLCAiUFBQT0VJT0NTRldEIiwgMHg0MDA4YjEwMH0sCit7ImxpbnV4L2ZkLmgiLCAiRkRGTVRUUksiLCAweDQwMGMwMjQ4fSwKK3sibGludXgvY2FwaS5oIiwgIkNBUElfUkVHSVNURVIiLCAweDQwMGM0MzAxfSwKK3sibGludXgvaTJvLWRldi5oIiwgIkkyT0VWVFJFRyIsIDB4NDAwYzY5MGF9LAoreyJsaW51eC9uY3BfZnMuaCIsICJOQ1BfSU9DX0dFVFJPT1QiLCAweDQwMGM2ZTA4fSwKK3sibGludXgvdmlkZW9kZXYuaCIsICJWSURJT0NTUExBWU1PREUiLCAweDQwMGM3NjE4fSwKK3sibGludXgvdmlkZW9fZGVjb2Rlci5oIiwgIkRFQ09ERVJfU0VUX1BJQ1RVUkUiLCAweDQwMGU2NDA3fSwKK3sibGludXgvdmlkZW9kZXYuaCIsICJWSURJT0NTUElDVCIsIDB4NDAwZTc2MDd9LAoreyJhc20vZGFzZC5oIiwgIkJJT0RBU0RGTVQiLCAweDQwMTA0NDAxfSwKK3sibGludXgvYXRtX2lkdDc3MTA1LmgiLCAiSURUNzcxMDVfR0VUU1RBVCIsIDB4NDAxMDYxMzJ9LAoreyJsaW51eC9hdG1faWR0NzcxMDUuaCIsICJJRFQ3NzEwNV9HRVRTVEFUWiIsIDB4NDAxMDYxMzN9LAoreyJsaW51eC9hdG1kZXYuaCIsICJBVE1fR0VUU1RBVCIsIDB4NDAxMDYxNTB9LAoreyJsaW51eC9hdG1kZXYuaCIsICJBVE1fR0VUU1RBVFoiLCAweDQwMTA2MTUxfSwKK3sibGludXgvYXRtZGV2LmgiLCAiQVRNX0dFVExPT1AiLCAweDQwMTA2MTUyfSwKK3sibGludXgvYXRtZGV2LmgiLCAiQVRNX1NFVExPT1AiLCAweDQwMTA2MTUzfSwKK3sibGludXgvYXRtZGV2LmgiLCAiQVRNX1FVRVJZTE9PUCIsIDB4NDAxMDYxNTR9LAoreyJsaW51eC9hdG1fZW5pLmgiLCAiRU5JX01FTURVTVAiLCAweDQwMTA2MTYwfSwKK3sibGludXgvYXRtX3phdG0uaCIsICJaQVRNX0dFVFBPT0wiLCAweDQwMTA2MTYxfSwKK3sibGludXgvYXRtX25pY3N0YXIuaCIsICJOU19TRVRCVUZMRVYiLCAweDQwMTA2MTYyfSwKK3sibGludXgvYXRtX3phdG0uaCIsICJaQVRNX0dFVFBPT0xaIiwgMHg0MDEwNjE2Mn0sCit7ImxpbnV4L2F0bV96YXRtLmgiLCAiWkFUTV9TRVRQT09MIiwgMHg0MDEwNjE2M30sCit7ImxpbnV4L2F0bV96YXRtLmgiLCAiWkFUTV9HRVRUSElTVCIsIDB4NDAxMDYxNjR9LAoreyJsaW51eC9hdG1fZW5pLmgiLCAiRU5JX1NFVE1VTFQiLCAweDQwMTA2MTY3fSwKK3sibGludXgvYXRtZGV2LmgiLCAiQVRNX0dFVExJTktSQVRFIiwgMHg0MDEwNjE4MX0sCit7ImxpbnV4L2F0bWRldi5oIiwgIkFUTV9HRVROQU1FUyIsIDB4NDAxMDYxODN9LAoreyJsaW51eC9hdG1kZXYuaCIsICJBVE1fR0VUVFlQRSIsIDB4NDAxMDYxODR9LAoreyJsaW51eC9hdG1kZXYuaCIsICJBVE1fR0VURVNJIiwgMHg0MDEwNjE4NX0sCit7ImxpbnV4L2F0bWRldi5oIiwgIkFUTV9HRVRBRERSIiwgMHg0MDEwNjE4Nn0sCit7ImxpbnV4L2F0bWRldi5oIiwgIkFUTV9SU1RBRERSIiwgMHg0MDEwNjE4N30sCit7ImxpbnV4L2F0bWRldi5oIiwgIkFUTV9BRERBRERSIiwgMHg0MDEwNjE4OH0sCit7ImxpbnV4L2F0bWRldi5oIiwgIkFUTV9ERUxBRERSIiwgMHg0MDEwNjE4OX0sCit7ImxpbnV4L2F0bWRldi5oIiwgIkFUTV9HRVRDSVJBTkdFIiwgMHg0MDEwNjE4YX0sCit7ImxpbnV4L2F0bWRldi5oIiwgIkFUTV9TRVRDSVJBTkdFIiwgMHg0MDEwNjE4Yn0sCit7ImxpbnV4L2F0bWRldi5oIiwgIkFUTV9TRVRFU0kiLCAweDQwMTA2MThjfSwKK3sibGludXgvYXRtZGV2LmgiLCAiQVRNX1NFVEVTSUYiLCAweDQwMTA2MThkfSwKK3sibGludXgvcHBkZXYuaCIsICJQUFNFVFRJTUUiLCAweDQwMTA3MDk2fSwKK3sibGludXgvaWZfcHBwLmgiLCAiUFBQSU9DU0NPTVBSRVNTIiwgMHg0MDEwNzQ0ZH0sCit7ImxpbnV4L3ZpZGVvZGV2LmgiLCAiVklESU9DTUNBUFRVUkUiLCAweDQwMTA3NjEzfSwKK3siYXNtL3RhcGUzOTAuaCIsICJUQVBFMzkwX0RJU1BMQVkiLCAweDQwMTE2NDAxfSwKK3sibGludXgvZmQuaCIsICJGRFNFVE1BWEVSUlMiLCAweDQwMTQwMjRjfSwKK3sibGludXgvdmlkZW9kZXYuaCIsICJWSURJT0NTQ0FQVFVSRSIsIDB4NDAxNDc2MTd9LAoreyJsaW51eC92aWRlb2Rldi5oIiwgIlZJRElPQ1NGQlVGIiwgMHg0MDE4NzYwY30sCit7ImxpbnV4L2ZkLmgiLCAiRkRTRVRQUk0iLCAweDQwMjAwMjQyfSwKK3sibGludXgvZmQuaCIsICJGRERFRlBSTSIsIDB4NDAyMDAyNDN9LAoreyJhc20vZGFzZC5oIiwgIkJJT0RBU0RTQVRUUiIsIDB4NDAyMDQ0MDJ9LAoreyJsaW51eC9pZl9wcHAuaCIsICJQUFBJT0NTWEFTWU5DTUFQIiwgMHg0MDIwNzQ0Zn0sCit7ImxpbnV4L3ZpZGVvZGV2LmgiLCAiVklESU9DU01JQ1JPQ09ERSIsIDB4NDAyMDc2MWJ9LAoreyJsaW51eC92aWRlb2Rldi5oIiwgIlZJRElPQ1NWQklGTVQiLCAweDQwMjA3NjFkfSwKK3sibGludXgvam95c3RpY2suaCIsICJKU0lPQ1NDT1JSIiwgMHg0MDI0NmEyMX0sCit7ImxpbnV4L3J0Yy5oIiwgIlJUQ19BTE1fU0VUIiwgMHg0MDI0NzAwN30sCit7ImxpbnV4L3J0Yy5oIiwgIlJUQ19TRVRfVElNRSIsIDB4NDAyNDcwMGF9LAoreyJsaW51eC9ydGMuaCIsICJSVENfV0tBTE1fU0VUIiwgMHg0MDI4NzAwZn0sCit7ImxpbnV4L3ZpZGVvZGV2LmgiLCAiVklESU9DU1dJTiIsIDB4NDAyODc2MGF9LAoreyJsaW51eC92aWRlb2Rldi5oIiwgIlZJRElPQ1NBVURJTyIsIDB4NDAyODc2MTF9LAoreyJsaW51eC9zbWJfZnMuaCIsICJTTUJfSU9DX05FV0NPTk4iLCAweDQwMmM3NTAyfSwKK3sibGludXgvc3luY2xpbmsuaCIsICJNR1NMX0lPQ1NQQVJBTVMiLCAweDQwMzA2ZDAwfSwKK3sibGludXgvdmlkZW9kZXYuaCIsICJWSURJT0NTQ0hBTiIsIDB4NDAzMDc2MDN9LAoreyJsaW51eC92aWRlb2Rldi5oIiwgIlZJRElPQ1NUVU5FUiIsIDB4NDA0MDc2MDV9LAoreyJsaW51eC9mZC5oIiwgIkZEU0VURFJWUFJNIiwgMHg0MDgwMDI5MH0sCit7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwgIlVTQkRFVkZTX0dFVERSSVZFUiIsIDB4NDEwNDU1MDh9LAoreyJsaW51eC9zb3VuZGNhcmQuaCIsICJTT1VORF9NSVhFUl9XUklURV9WT0xVTUUiLCAweDYwMDQ0ZDAwfSwKK3sibGludXgvc291bmRjYXJkLmgiLCAiU09VTkRfTUlYRVJfV1JJVEVfQkFTUyIsIDB4NjAwNDRkMDF9LAoreyJsaW51eC9zb3VuZGNhcmQuaCIsICJTT1VORF9NSVhFUl9XUklURV9UUkVCTEUiLCAweDYwMDQ0ZDAyfSwKK3sibGludXgvc291bmRjYXJkLmgiLCAiU09VTkRfTUlYRVJfV1JJVEVfU1lOVEgiLCAweDYwMDQ0ZDAzfSwKK3sibGludXgvc291bmRjYXJkLmgiLCAiU09VTkRfTUlYRVJfV1JJVEVfUENNIiwgMHg2MDA0NGQwNH0sCit7ImxpbnV4L3NvdW5kY2FyZC5oIiwgIlNPVU5EX01JWEVSX1dSSVRFX1NQRUFLRVIiLCAweDYwMDQ0ZDA1fSwKK3sibGludXgvc291bmRjYXJkLmgiLCAiU09VTkRfTUlYRVJfV1JJVEVfTElORSIsIDB4NjAwNDRkMDZ9LAoreyJsaW51eC9zb3VuZGNhcmQuaCIsICJTT1VORF9NSVhFUl9XUklURV9NSUMiLCAweDYwMDQ0ZDA3fSwKK3sibGludXgvc291bmRjYXJkLmgiLCAiU09VTkRfTUlYRVJfV1JJVEVfQ0QiLCAweDYwMDQ0ZDA4fSwKK3sibGludXgvc291bmRjYXJkLmgiLCAiU09VTkRfTUlYRVJfV1JJVEVfSU1JWCIsIDB4NjAwNDRkMDl9LAoreyJsaW51eC9zb3VuZGNhcmQuaCIsICJTT1VORF9NSVhFUl9XUklURV9BTFRQQ00iLCAweDYwMDQ0ZDBhfSwKK3sibGludXgvc291bmRjYXJkLmgiLCAiU09VTkRfTUlYRVJfV1JJVEVfUkVDTEVWIiwgMHg2MDA0NGQwYn0sCit7ImxpbnV4L3NvdW5kY2FyZC5oIiwgIlNPVU5EX01JWEVSX1dSSVRFX0lHQUlOIiwgMHg2MDA0NGQwY30sCit7ImxpbnV4L3NvdW5kY2FyZC5oIiwgIlNPVU5EX01JWEVSX1dSSVRFX09HQUlOIiwgMHg2MDA0NGQwZH0sCit7ImxpbnV4L3NvdW5kY2FyZC5oIiwgIlNPVU5EX01JWEVSX1dSSVRFX0xJTkUxIiwgMHg2MDA0NGQwZX0sCit7ImxpbnV4L3NvdW5kY2FyZC5oIiwgIlNPVU5EX01JWEVSX1dSSVRFX0xJTkUyIiwgMHg2MDA0NGQwZn0sCit7ImxpbnV4L3NvdW5kY2FyZC5oIiwgIlNPVU5EX01JWEVSX1dSSVRFX0xJTkUzIiwgMHg2MDA0NGQxMH0sCit7ImxpbnV4L3NvdW5kY2FyZC5oIiwgIlNPVU5EX01JWEVSX1dSSVRFX01VVEUiLCAweDYwMDQ0ZDFmfSwKK3sibGludXgvc291bmRjYXJkLmgiLCAiU09VTkRfTUlYRVJfV1JJVEVfRU5IQU5DRSIsIDB4NjAwNDRkMWZ9LAoreyJsaW51eC9zb3VuZGNhcmQuaCIsICJTT1VORF9NSVhFUl9XUklURV9MT1VEIiwgMHg2MDA0NGQxZn0sCit7ImxpbnV4L3NvdW5kY2FyZC5oIiwgIlNPVU5EX01JWEVSX1dSSVRFX1JFQ1NSQyIsIDB4NjAwNDRkZmZ9LAoreyJsaW51eC9qb3lzdGljay5oIiwgIkpTSU9DR0FYRVMiLCAweDgwMDE2YTExfSwKK3sibGludXgvam95c3RpY2suaCIsICJKU0lPQ0dCVVRUT05TIiwgMHg4MDAxNmExMn0sCit7ImxpbnV4L3BwZGV2LmgiLCAiUFBSU1RBVFVTIiwgMHg4MDAxNzA4MX0sCit7ImxpbnV4L3BwZGV2LmgiLCAiUFBSQ09OVFJPTCIsIDB4ODAwMTcwODN9LAoreyJsaW51eC9wcGRldi5oIiwgIlBQUkRBVEEiLCAweDgwMDE3MDg1fSwKK3sibGludXgvY2FwaS5oIiwgIkNBUElfR0VUX0VSUkNPREUiLCAweDgwMDI0MzIxfSwKK3sibGludXgvY2FwaS5oIiwgIkNBUElfSU5TVEFMTEVEIiwgMHg4MDAyNDMyMn0sCit7ImxpbnV4L2NhcGkuaCIsICJDQVBJX0dFVF9GTEFHUyIsIDB4ODAwNDQzMjN9LAoreyJsaW51eC9jYXBpLmgiLCAiQ0FQSV9TRVRfRkxBR1MiLCAweDgwMDQ0MzI0fSwKK3sibGludXgvY2FwaS5oIiwgIkNBUElfQ0xSX0ZMQUdTIiwgMHg4MDA0NDMyNX0sCit7ImxpbnV4L2NhcGkuaCIsICJDQVBJX05DQ0lfT1BFTkNPVU5UIiwgMHg4MDA0NDMyNn0sCit7ImxpbnV4L2NhcGkuaCIsICJDQVBJX05DQ0lfR0VUVU5JVCIsIDB4ODAwNDQzMjd9LAoreyJhc20vZGFzZC5oIiwgIkRBU0RBUElWRVIiLCAweDgwMDQ0NDAwfSwKK3sibGludXgvaW5wdXQuaCIsICJFVklPQ0dWRVJTSU9OIiwgMHg4MDA0NDUwMX0sCit7ImxpbnV4L3JhbmRvbS5oIiwgIlJOREdFVEVOVENOVCIsIDB4ODAwNDUyMDB9LAoreyJhc20vaW9jdGxzLmgiLCAiVElPQ0dQVE4iLCAweDgwMDQ1NDMwfSwKK3sibGludXgvdXNiZGV2aWNlX2ZzLmgiLCAiVVNCREVWRlNfUkVTRVRFUCIsIDB4ODAwNDU1MDN9LAoreyJsaW51eC91c2JkZXZpY2VfZnMuaCIsICJVU0JERVZGU19TRVRDT05GSUdVUkFUSU9OIiwgMHg4MDA0NTUwNX0sCit7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwgIlVTQkRFVkZTX0NMQUlNSU5URVJGQUNFIiwgMHg4MDA0NTUwZn0sCit7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwgIlVTQkRFVkZTX1JFTEVBU0VJTlRFUkZBQ0UiLCAweDgwMDQ1NTEwfSwKK3sibGludXgvdXNiZGV2aWNlX2ZzLmgiLCAiVVNCREVWRlNfQ0xFQVJfSEFMVCIsIDB4ODAwNDU1MTV9LAoreyJsaW51eC93YXRjaGRvZy5oIiwgIldESU9DX0dFVFNUQVRVUyIsIDB4ODAwNDU3MDF9LAoreyJsaW51eC93YXRjaGRvZy5oIiwgIldESU9DX0dFVEJPT1RTVEFUVVMiLCAweDgwMDQ1NzAyfSwKK3sibGludXgvd2F0Y2hkb2cuaCIsICJXRElPQ19HRVRURU1QIiwgMHg4MDA0NTcwM30sCit7ImxpbnV4L3dhdGNoZG9nLmgiLCAiV0RJT0NfU0VUT1BUSU9OUyIsIDB4ODAwNDU3MDR9LAoreyJsaW51eC93YXRjaGRvZy5oIiwgIldESU9DX0tFRVBBTElWRSIsIDB4ODAwNDU3MDV9LAoreyJsaW51eC9zb25ldC5oIiwgIlNPTkVUX0dFVERJQUciLCAweDgwMDQ2MTE0fSwKK3sibGludXgvc29uZXQuaCIsICJTT05FVF9HRVRGUkFNSU5HIiwgMHg4MDA0NjExNn0sCit7ImxpbnV4L2RldmZzX2ZzLmgiLCAiREVWRlNESU9DX0dFVF9QUk9UT19SRVYiLCAweDgwMDQ2NDAwfSwKK3sibGludXgvdmlkZW9fZGVjb2Rlci5oIiwgIkRFQ09ERVJfR0VUX1NUQVRVUyIsIDB4ODAwNDY0MDJ9LAoreyJsaW51eC9pMm8tZGV2LmgiLCAiSTJPVkFMSURBVEUiLCAweDgwMDQ2OTA4fSwKK3sibGludXgvam95c3RpY2suaCIsICJKU0lPQ0dWRVJTSU9OIiwgMHg4MDA0NmEwMX0sCit7ImxpbnV4L3VkZl9mc19pLmgiLCAiVURGX0dFVEVBU0laRSIsIDB4ODAwNDZjNDB9LAoreyJsaW51eC96ZnRhcGUuaCIsICJNVElPQ19aRlRBUEVfR0VUQkxLU1oiLCAweDgwMDQ2ZDY4fSwKK3sibGludXgvbmNwX2ZzLmgiLCAiTkNQX0lPQ19TSUdOX1dBTlRFRCIsIDB4ODAwNDZlMDZ9LAoreyJsaW51eC9uY3BfZnMuaCIsICJOQ1BfSU9DX1NFVERFTlRSWVRUTCIsIDB4ODAwNDZlMGN9LAoreyJsaW51eC9wcGRldi5oIiwgIlBQQ0xSSVJRIiwgMHg4MDA0NzA5M30sCit7ImxpbnV4L3RlbGVwaG9ueS5oIiwgIlBIT05FX0RUTUZfUkVBRFkiLCAweDgwMDQ3MTk2fSwKK3sibGludXgvdGVsZXBob255LmgiLCAiUEhPTkVfR0VUX0RUTUYiLCAweDgwMDQ3MTk3fSwKK3sibGludXgvdGVsZXBob255LmgiLCAiUEhPTkVfR0VUX0RUTUZfQVNDSUkiLCAweDgwMDQ3MTk4fSwKK3sibGludXgvdGVsZXBob255LmgiLCAiUEhPTkVfRVhDRVBUSU9OIiwgMHg4MDA0NzE5YX0sCit7ImxpbnV4L2l4anVzZXIuaCIsICJJWEpDVExfQ0FSRFRZUEUiLCAweDgwMDQ3MWMxfSwKK3sibGludXgvaXhqdXNlci5oIiwgIklYSkNUTF9TRVJJQUwiLCAweDgwMDQ3MWMyfSwKK3sibGludXgvaXhqdXNlci5oIiwgIklYSkNUTF9EU1BfVFlQRSIsIDB4ODAwNDcxYzN9LAoreyJsaW51eC9peGp1c2VyLmgiLCAiSVhKQ1RMX0RTUF9WRVJTSU9OIiwgMHg4MDA0NzFjNH0sCit7ImxpbnV4L2lmX3BwcC5oIiwgIlBQUElPQ0dDSEFOIiwgMHg4MDA0NzQzN30sCit7ImxpbnV4L2lmX3BwcC5oIiwgIlBQUElPQ0dERUJVRyIsIDB4ODAwNDc0NDF9LAoreyJsaW51eC9pZl9wcHAuaCIsICJQUFBJT0NHTVJVIiwgMHg4MDA0NzQ1M30sCit7ImxpbnV4L2lmX3BwcC5oIiwgIlBQUElPQ0dSQVNZTkNNQVAiLCAweDgwMDQ3NDU1fSwKK3sibGludXgvaWZfcHBwLmgiLCAiUFBQSU9DR1VOSVQiLCAweDgwMDQ3NDU2fSwKK3sibGludXgvaWZfcHBwLmgiLCAiUFBQSU9DR0FTWU5DTUFQIiwgMHg4MDA0NzQ1OH0sCit7ImxpbnV4L2lmX3BwcC5oIiwgIlBQUElPQ0dGTEFHUyIsIDB4ODAwNDc0NWF9LAoreyJsaW51eC9pc2RuX3BwcC5oIiwgIlBQUElPQ0dNUEZMQUdTIiwgMHg4MDA0NzQ4Mn0sCit7ImxpbnV4L3NtYl9mcy5oIiwgIlNNQl9JT0NfR0VUTU9VTlRVSUQiLCAweDgwMDQ3NTAxfSwKK3sibGludXgvc21iX2ZzLmgiLCAiU01CX0lPQ19HRVRNT1VOVFVJRDMyIiwgMHg4MDA0NzUwM30sCit7ImxpbnV4L2RuLmgiLCAiU0lPQ0dORVRBRERSIiwgMHg4MDA0ODllMX0sCit7ImxpbnV4L2RuLmgiLCAiT1NJT0NHTkVUQUREUiIsIDB4ODAwNDg5ZTF9LAoreyJsaW51eC9hdXRvX2ZzLmgiLCAiQVVUT0ZTX0lPQ19QUk9UT1ZFUiIsIDB4ODAwNDkzNjN9LAoreyJsaW51eC9sdm0uaCIsICJMVk1fR0VUX0lPUF9WRVJTSU9OIiwgMHg4MDA0ZmU5OH0sCit7ImxpbnV4L3NvbmV0LmgiLCAiU09ORVRfR0VURlJTRU5TRSIsIDB4ODAwNjYxMTd9LAoreyJsaW51eC9lbGV2YXRvci5oIiwgIkJMS0VMVkdFVCIsIDB4ODAwODEyNmF9LAoreyJsaW51eC9mcy5oIiwgIkJMS0VMVkdFVCIsIDB4ODAwODEyNmF9LAoreyJsaW51eC9hZ3BnYXJ0LmgiLCAiQUdQSU9DX0lORk8iLCAweDgwMDg0MTAwfSwKK3sibGludXgvcG11LmgiLCAiUE1VX0lPQ19HRVRfQkFDS0xJR0hUIiwgMHg4MDA4NDIwMX0sCit7ImxpbnV4L3BtdS5oIiwgIlBNVV9JT0NfR0VUX01PREVMIiwgMHg4MDA4NDIwM30sCit7ImxpbnV4L3BtdS5oIiwgIlBNVV9JT0NfSEFTX0FEQiIsIDB4ODAwODQyMDR9LAoreyJsaW51eC9pbnB1dC5oIiwgIkVWSU9DR0lEIiwgMHg4MDA4NDUwMn0sCit7ImxpbnV4L2lucHV0LmgiLCAiRVZJT0NHUkVQIiwgMHg4MDA4NDUwM30sCit7ImxpbnV4L2lucHV0LmgiLCAiRVZJT0NHS0VZQ09ERSIsIDB4ODAwODQ1MDR9LAoreyJsaW51eC9pbnB1dC5oIiwgIkVWSU9DR0tFWSIsIDB4ODAwODQ1MDV9LAoreyJsaW51eC9yYW5kb20uaCIsICJSTkRHRVRQT09MIiwgMHg4MDA4NTIwMn0sCit7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwgIlVTQkRFVkZTX1NFVElOVEVSRkFDRSIsIDB4ODAwODU1MDR9LAoreyJsaW51eC9leHQyX2ZzLmgiLCAiRVhUMl9JT0NfR0VURkxBR1MiLCAweDgwMDg2NjAxfSwKK3sibGludXgvdWRmX2ZzX2kuaCIsICJVREZfR0VURUFCTE9DSyIsIDB4ODAwODZjNDF9LAoreyJsaW51eC91ZGZfZnNfaS5oIiwgIlVERl9HRVRWT0xJREVOVCIsIDB4ODAwODZjNDJ9LAoreyJsaW51eC9tdGlvLmgiLCAiTVRJT0NQT1MiLCAweDgwMDg2ZDAzfSwKK3sibGludXgvbWF0cm94ZmIuaCIsICJNQVRST1hGQl9HRVRfT1VUUFVUX0NPTk5FQ1RJT04iLCAweDgwMDg2ZWY4fSwKK3sibGludXgvbWF0cm94ZmIuaCIsICJNQVRST1hGQl9HRVRfQVZBSUxBQkxFX09VVFBVVFMiLCAweDgwMDg2ZWY5fSwKK3sibGludXgvbWF0cm94ZmIuaCIsICJNQVRST1hGQl9HRVRfQUxMX09VVFBVVFMiLCAweDgwMDg2ZWZifSwKK3sibGludXgvcnRjLmgiLCAiUlRDX0lSUVBfUkVBRCIsIDB4ODAwODcwMGJ9LAoreyJsaW51eC9ydGMuaCIsICJSVENfRVBPQ0hfUkVBRCIsIDB4ODAwODcwMGR9LAoreyJsaW51eC90ZWxlcGhvbnkuaCIsICJQSE9ORV9DQVBBQklMSVRJRVNfTElTVCIsIDB4ODAwODcxODF9LAoreyJsaW51eC9peGp1c2VyLmgiLCAiSVhKQ1RMX0NJRCIsIDB4ODAwODcxZDR9LAoreyJsaW51eC9peGp1c2VyLmgiLCAiSVhKQ1RMX0ZSQU1FU19SRUFEIiwgMHg4MDA4NzFlMn0sCit7ImxpbnV4L2l4anVzZXIuaCIsICJJWEpDVExfRlJBTUVTX1dSSVRURU4iLCAweDgwMDg3MWUzfSwKK3sibGludXgvaXhqdXNlci5oIiwgIklYSkNUTF9SRUFEX1dBSVQiLCAweDgwMDg3MWU0fSwKK3sibGludXgvaXhqdXNlci5oIiwgIklYSkNUTF9XUklURV9XQUlUIiwgMHg4MDA4NzFlNX0sCit7ImxpbnV4L2l4anVzZXIuaCIsICJJWEpDVExfRFJZQlVGRkVSX1JFQUQiLCAweDgwMDg3MWU2fSwKK3sibGludXgvZXh0Ml9mcy5oIiwgIkVYVDJfSU9DX0dFVFZFUlNJT04iLCAweDgwMDg3NjAxfSwKK3sibGludXgvdmlkZW9kZXYuaCIsICJWSURJT0NHRlJFUSIsIDB4ODAwODc2MGV9LAoreyJsaW51eC92aWRlb19kZWNvZGVyLmgiLCAiREVDT0RFUl9HRVRfQ0FQQUJJTElUSUVTIiwgMHg4MDBjNjQwMX0sCit7ImxpbnV4L3ZpZGVvX2VuY29kZXIuaCIsICJFTkNPREVSX0dFVF9DQVBBQklMSVRJRVMiLCAweDgwMGM2NTAxfSwKK3sibGludXgvbmNwX2ZzLmgiLCAiTkNQX0lPQ19TRVRST09UIiwgMHg4MDBjNmUwOH0sCit7ImxpbnV4L3ZpZGVvZGV2LmgiLCAiVklESU9DS0VZIiwgMHg4MDBjNzYwZH0sCit7ImxpbnV4L3ZpZGVvZGV2LmgiLCAiVklESU9DR1BJQ1QiLCAweDgwMGU3NjA2fSwKK3sibGludXgvZmQuaCIsICJGREdFVERSVlRZUCIsIDB4ODAxMDAyMGZ9LAoreyJsaW51eC91c2JkZXZpY2VfZnMuaCIsICJVU0JERVZGU19ESVNDU0lHTkFMIiwgMHg4MDEwNTUwZX0sCit7ImxpbnV4L210aW8uaCIsICJNVElPQ0dFVFNJWkUiLCAweDgwMTA2ZDA5fSwKK3sibGludXgvbmNwX2ZzLmgiLCAiTkNQX0lPQ19OQ1BSRVFVRVNUIiwgMHg4MDEwNmUwMX0sCit7ImxpbnV4L25jcF9mcy5oIiwgIk5DUF9JT0NfU0VUUFJJVkFURURBVEEiLCAweDgwMTA2ZTBhfSwKK3sibGludXgvcHBkZXYuaCIsICJQUEdFVFRJTUUiLCAweDgwMTA3MDk1fSwKK3sibGludXgvaWZfcHBwLmgiLCAiUFBQSU9DR0lETEUiLCAweDgwMTA3NDNmfSwKK3sibGludXgvaXNkbl9wcHAuaCIsICJQUFBJT0NHSUZOQU1FIiwgMHg4MDEwNzQ4OH0sCit7ImxpbnV4L2ZkLmgiLCAiRkRHRVRNQVhFUlJTIiwgMHg4MDE0MDIwZX0sCit7ImxpbnV4L210aW8uaCIsICJNVElPQ1ZPTElORk8iLCAweDgwMTQ2ZDA4fSwKK3sibGludXgvbmNwX2ZzLmgiLCAiTkNQX0lPQ19MT0NLVU5MT0NLIiwgMHg4MDE0NmUwN30sCit7ImxpbnV4L3ZpZGVvZGV2LmgiLCAiVklESU9DR1VOSVQiLCAweDgwMTQ3NjE1fSwKK3sibGludXgvdmlkZW9kZXYuaCIsICJWSURJT0NHQ0FQVFVSRSIsIDB4ODAxNDc2MTZ9LAoreyJsaW51eC9uY3BfZnMuaCIsICJOQ1BfSU9DX1NJR05fSU5JVCIsIDB4ODAxODZlMDV9LAoreyJsaW51eC9uY3BfZnMuaCIsICJOQ1BfSU9DX1NFVE9CSkVDVE5BTUUiLCAweDgwMTg2ZTA5fSwKK3sibGludXgvdmlkZW9kZXYuaCIsICJWSURJT0NHRkJVRiIsIDB4ODAxODc2MGJ9LAoreyJsaW51eC9mZC5oIiwgIkZER0VUUFJNIiwgMHg4MDIwMDIwNH0sCit7ImFzbS9kYXNkLmgiLCAiQklPREFTREdBVFRSIiwgMHg4MDIwNDQwNX0sCit7ImxpbnV4L2ZiLmgiLCAiRkJJT0dFVF9WQkxBTksiLCAweDgwMjA0NjEyfSwKK3sibGludXgvaWZfcHBwLmgiLCAiUFBQSU9DR1hBU1lOQ01BUCIsIDB4ODAyMDc0NTB9LAoreyJsaW51eC92aWRlb2Rldi5oIiwgIlZJRElPQ0dWQklGTVQiLCAweDgwMjA3NjFjfSwKK3sibGludXgvc29uZXQuaCIsICJTT05FVF9HRVRTVEFUIiwgMHg4MDI0NjExMH0sCit7ImxpbnV4L3NvbmV0LmgiLCAiU09ORVRfR0VUU1RBVFoiLCAweDgwMjQ2MTExfSwKK3sibGludXgvam95c3RpY2suaCIsICJKU0lPQ0dDT1JSIiwgMHg4MDI0NmEyMn0sCit7ImxpbnV4L3J0Yy5oIiwgIlJUQ19BTE1fUkVBRCIsIDB4ODAyNDcwMDh9LAoreyJsaW51eC9ydGMuaCIsICJSVENfUkRfVElNRSIsIDB4ODAyNDcwMDl9LAoreyJsaW51eC9mZC5oIiwgIkZER0VURkRDU1RBVCIsIDB4ODAyODAyMTV9LAoreyJsaW51eC9mZC5oIiwgIkZEV0VSUk9SR0VUIiwgMHg4MDI4MDIxN30sCit7ImxpbnV4L3J0Yy5oIiwgIlJUQ19XS0FMTV9SRCIsIDB4ODAyODcwMTB9LAoreyJsaW51eC92aWRlb2Rldi5oIiwgIlZJRElPQ0dXSU4iLCAweDgwMjg3NjA5fSwKK3sibGludXgvdmlkZW9kZXYuaCIsICJWSURJT0NHQVVESU8iLCAweDgwMjg3NjEwfSwKK3sibGludXgvbmNwX2ZzLmgiLCAiTkNQX0lPQ19TRVRDSEFSU0VUUyIsIDB4ODAyYTZlMGJ9LAoreyJsaW51eC9zeW5jbGluay5oIiwgIk1HU0xfSU9DR1BBUkFNUyIsIDB4ODAzMDZkMDF9LAoreyJsaW51eC9tdGlvLmgiLCAiTVRJT0NHRVQiLCAweDgwMzA2ZDAyfSwKK3sibGludXgvdXNiZGV2aWNlX2ZzLmgiLCAiVVNCREVWRlNfU1VCTUlUVVJCIiwgMHg4MDM4NTUwYX0sCit7ImxpbnV4L3ZpZGVvZGV2LmgiLCAiVklESU9DR0NBUCIsIDB4ODAzYzc2MDF9LAoreyJsaW51eC9pMm8tZGV2LmgiLCAiSTJPR0VUSU9QUyIsIDB4ODA0MDY5MDB9LAoreyJsaW51eC9pc2RuX3BwcC5oIiwgIlBQUElPQ0dDT01QUkVTU09SUyIsIDB4ODA0MDc0ODZ9LAoreyJsaW51eC93YXRjaGRvZy5oIiwgIldESU9DX0dFVFNVUFBPUlQiLCAweDgwNDg1NzAwfSwKK3sibGludXgvZmQuaCIsICJGREdFVERSVlNUQVQiLCAweDgwNTAwMjEyfSwKK3sibGludXgvZmQuaCIsICJGRFBPTExEUlZTVEFUIiwgMHg4MDUwMDIxM30sCit7ImxpbnV4L2kyby1kZXYuaCIsICJJMk9FVlRHRVQiLCAweDgwNjg2OTBifSwKK3sibGludXgvZmQuaCIsICJGREdFVERSVlBSTSIsIDB4ODA4MDAyMTF9LAoreyJsaW51eC91c2JkZXZpY2VfZnMuaCIsICJVU0JERVZGU19IVUJfUE9SVElORk8iLCAweDgwODA1NTEzfSwKK3sibGludXgvdmlkZW9kZXYuaCIsICJWSURJT0NHTUJVRiIsIDB4ODA4ODc2MTR9LAoreyJhc20vZGFzZC5oIiwgIkJJT0RBU0RQU1JEIiwgMHg4MGMwNDQwNH0sCit7ImxpbnV4L2F1dG9fZnMuaCIsICJBVVRPRlNfSU9DX0VYUElSRSIsIDB4ODEwYzkzNjV9LAoreyJsaW51eC92aWRlb2Rldi5oIiwgIlZJRElPQ0dQTEFZSU5GTyIsIDB4ODExODc2MWF9LAoreyJhc20vZGFzZC5oIiwgIkJJT0RBU0RJTkZPIiwgMHg4MTc4NDQwMX0sCit7ImFzbS9kYXNkLmgiLCAiQklPREFTRElORk8yIiwgMHg4MWEwNDQwM30sCit7ImxpbnV4L21zZG9zX2ZzLmgiLCAiVkZBVF9JT0NUTF9SRUFERElSX0JPVEgiLCAweDgyMzA3MjAxfSwKK3sibGludXgvbXNkb3NfZnMuaCIsICJWRkFUX0lPQ1RMX1JFQURESVJfU0hPUlQiLCAweDgyMzA3MjAyfSwKK3siYXNtL2Rhc2QuaCIsICJCSU9EQVNEUFJSRCIsIDB4ODQwODQ0MDJ9LAoreyJsaW51eC9jYXBpLmgiLCAiQ0FQSV9HRVRfTUFOVUZBQ1RVUkVSIiwgMHhjMDA0NDMwNn0sCit7ImxpbnV4L2NhcGkuaCIsICJDQVBJX0dFVF9TRVJJQUwiLCAweGMwMDQ0MzA4fSwKK3sibGludXgvc29uZXQuaCIsICJTT05FVF9TRVRESUFHIiwgMHhjMDA0NjExMn0sCit7ImxpbnV4L3NvbmV0LmgiLCAiU09ORVRfQ0xSRElBRyIsIDB4YzAwNDYxMTN9LAoreyJsaW51eC9zeW5jbGluay5oIiwgIk1HU0xfSU9DV0FJVEVWRU5UIiwgMHhjMDA0NmQwOH0sCit7ImxpbnV4L2lmX3BwcC5oIiwgIlBQUElPQ05FV1VOSVQiLCAweGMwMDQ3NDNlfSwKK3sibGludXgvbHZtLmgiLCAiVkdfU1RBVFVTIiwgMHhjMDA0ZmUwNX0sCit7ImxpbnV4L2x2bS5oIiwgIlZHX1NUQVRVU19HRVRfQ09VTlQiLCAweGMwMDRmZTA2fSwKK3sibGludXgvbHZtLmgiLCAiVkdfU1RBVFVTX0dFVF9OQU1FTElTVCIsIDB4YzAwNGZlMDd9LAoreyJsaW51eC9sdm0uaCIsICJMVl9TVEFUVVNfQllOQU1FIiwgMHhjMDA0ZmUyNn0sCit7ImxpbnV4L2x2bS5oIiwgIkxWX1NUQVRVU19CWUlOREVYIiwgMHhjMDA0ZmUyN30sCit7ImxpbnV4L2x2bS5oIiwgIlBWX1NUQVRVUyIsIDB4YzAwNGZlNDB9LAoreyJsaW51eC9sdm0uaCIsICJQVl9DSEFOR0UiLCAweGMwMDRmZTQxfSwKK3sibGludXgvYWdwZ2FydC5oIiwgIkFHUElPQ19BTExPQ0FURSIsIDB4YzAwODQxMDZ9LAoreyJhc20vY21iLmgiLCAiQklPREFTRFJFQURDTUIiLCAweGMwMDg0NDIwfSwKK3sibGludXgvY29kYS5oIiwgIkNJT0NfS0VSTkVMX1ZFUlNJT04iLCAweGMwMDg2MzBhfSwKK3sibGludXgvbWF0cm94ZmIuaCIsICJNQVRST1hGQl9HRVRfT1VUUFVUX01PREUiLCAweGMwMDg2ZWZhfSwKK3sibGludXgvdGVsZXBob255LmgiLCAiUEhPTkVfUVVFUllfQ09ERUMiLCAweGMwMDg3MWE3fSwKK3sibGludXgvaWZfcHBwLmgiLCAiUFBQSU9DR05QTU9ERSIsIDB4YzAwODc0NGN9LAoreyJsaW51eC9hdXRvX2ZzLmgiLCAiQVVUT0ZTX0lPQ19TRVRUSU1FT1VUIiwgMHhjMDA4OTM2NH0sCit7ImxpbnV4L2NhcGkuaCIsICJDQVBJX0dFVF9WRVJTSU9OIiwgMHhjMDEwNDMwN30sCit7ImxpbnV4L2NhcGkuaCIsICJDQVBJX01BTlVGQUNUVVJFUl9DTUQiLCAweGMwMTA0MzIwfSwKK3sibGludXgvdXNiZGV2aWNlX2ZzLmgiLCAiVVNCREVWRlNfSU9DVEwiLCAweGMwMTA1NTEyfSwKK3sibGludXgvYXRtX25pY3N0YXIuaCIsICJOU19HRVRQU1RBVCIsIDB4YzAxMDYxNjF9LAoreyJsaW51eC9uY3BfZnMuaCIsICJOQ1BfSU9DX0dFVFBSSVZBVEVEQVRBIiwgMHhjMDEwNmUwYX0sCit7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwgIlVTQkRFVkZTX0NPTlRST0wiLCAweGMwMTg1NTAwfSwKK3sibGludXgvdXNiZGV2aWNlX2ZzLmgiLCAiVVNCREVWRlNfQlVMSyIsIDB4YzAxODU1MDJ9LAoreyJsaW51eC9pMm8tZGV2LmgiLCAiSTJPSFJUR0VUIiwgMHhjMDE4NjkwMX0sCit7ImxpbnV4L2kyby1kZXYuaCIsICJJMk9MQ1RHRVQiLCAweGMwMTg2OTAyfSwKK3sibGludXgvbXRpby5oIiwgIk1USU9DUkRGVFNFRyIsIDB4YzAxODZkMDZ9LAoreyJsaW51eC9tdGlvLmgiLCAiTVRJT0NXUkZUU0VHIiwgMHhjMDE4NmQwN30sCit7ImxpbnV4L210aW8uaCIsICJNVElPQ0ZURk9STUFUIiwgMHhjMDE4NmQwYX0sCit7ImxpbnV4L25jcF9mcy5oIiwgIk5DUF9JT0NfR0VUT0JKRUNUTkFNRSIsIDB4YzAxODZlMDl9LAoreyJsaW51eC9tdGlvLmgiLCAiTVRJT0NGVENNRCIsIDB4YzAyMDZkMGJ9LAoreyJsaW51eC9pMm8tZGV2LmgiLCAiSTJPUEFSTVNFVCIsIDB4YzAyODY5MDN9LAoreyJsaW51eC9pMm8tZGV2LmgiLCAiSTJPUEFSTUdFVCIsIDB4YzAyODY5MDR9LAoreyJsaW51eC9uY3BfZnMuaCIsICJOQ1BfSU9DX0dFVF9GU19JTkZPIiwgMHhjMDI4NmUwNH0sCit7ImxpbnV4L25jcF9mcy5oIiwgIk5DUF9JT0NfR0VUQ0hBUlNFVFMiLCAweGMwMmE2ZTBifSwKK3sibGludXgvaTJvLWRldi5oIiwgIkkyT1NXREwiLCAweGMwMzA2OTA1fSwKK3sibGludXgvaTJvLWRldi5oIiwgIkkyT1NXVUwiLCAweGMwMzA2OTA2fSwKK3sibGludXgvaTJvLWRldi5oIiwgIkkyT1NXREVMIiwgMHhjMDMwNjkwN30sCit7ImxpbnV4L2kyby1kZXYuaCIsICJJMk9IVE1MIiwgMHhjMDMwNjkwOX0sCit7ImxpbnV4L25jcF9mcy5oIiwgIk5DUF9JT0NfR0VUX0ZTX0lORk9fVjIiLCAweGMwMzA2ZTA0fSwKK3sibGludXgvdmlkZW9kZXYuaCIsICJWSURJT0NHQ0hBTiIsIDB4YzAzMDc2MDJ9LAoreyJsaW51eC9jYXBpLmgiLCAiQ0FQSV9HRVRfUFJPRklMRSIsIDB4YzA0MDQzMDl9LAoreyJsaW51eC92aWRlb2Rldi5oIiwgIlZJRElPQ0dUVU5FUiIsIDB4YzA0MDc2MDR9LAoreyJhc20vY21iLmgiLCAiQklPREFTRFJFQURBTExDTUIiLCAweGMwNTg0NDIxfSwKK3sibGludXgvaXNkbl9wcHAuaCIsICJQUFBJT0NHQ0FMTElORk8iLCAweGMwODg3NDgwfSwKZGlmZiAtLWdpdCBhL3N0cmFjZS00LjUuMjAvbGludXgvczM5MC9zeXNjYWxsZW50LmggYi9zdHJhY2UtNC41LjIwL2xpbnV4L3MzOTAvc3lzY2FsbGVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYzMmYxNjYKLS0tIC9kZXYvbnVsbAorKysgYi9zdHJhY2UtNC41LjIwL2xpbnV4L3MzOTAvc3lzY2FsbGVudC5oCkBAIC0wLDAgKzEsNDgzIEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDAwIElCTSBEZXV0c2NobGFuZCBFbnR3aWNrbHVuZyBHbWJILCBJQk0gQ29wb3JhdGlvbgorICogQXV0aG9yczogVWxyaWNoIFdlaWdhbmQgPFVscmljaC5XZWlnYW5kQGRlLmlibS5jb20+CisgKiAgICAgICAgICBELkouIEJhcnJvdyAgPGJhcnJvd19kakBtYWlsLnlhaG9vLmNvbSxkamJhcnJvd0BkZS5pYm0uY29tPgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIFRoZSBuYW1lIG9mIHRoZSBhdXRob3IgbWF5IG5vdCBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cworICogICAgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQVVUSE9SIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1MgT1IKKyAqIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMKKyAqIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuCisgKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCisgKiBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQKKyAqIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICoKKyAqLworCisJeyAwLAkwLAlzeXNfc2V0dXAsCQkic2V0dXAiCQl9LCAvKiAwICovCisJeyAxLAlUUCwJc3lzX2V4aXQsCQkiX2V4aXQiCQl9LCAvKiAxICovCisJeyAwLAlUUCwJc3lzX2ZvcmssCQkiZm9yayIJCX0sIC8qIDIgKi8KKwl7IDMsCVRELAlzeXNfcmVhZCwJCSJyZWFkIgkJfSwgLyogMyAqLworCXsgMywJVEQsCXN5c193cml0ZSwJCSJ3cml0ZSIJCX0sIC8qIDQgKi8KKwl7IDMsCVREfFRGLAlzeXNfb3BlbiwJCSJvcGVuIgkJfSwgLyogNSAqLworCXsgMSwJVEQsCXN5c19jbG9zZSwJCSJjbG9zZSIJCX0sIC8qIDYgKi8KKwl7IDAsCTAsCXN5c19yZXN0YXJ0X3N5c2NhbGwsCSJyZXN0YXJ0X3N5c2NhbGwifSwgLyogNyAqLworCXsgMiwJVER8VEYsCXN5c19jcmVhdCwJCSJjcmVhdCIJCX0sIC8qIDggKi8KKwl7IDIsCVRGLAlzeXNfbGluaywJCSJsaW5rIgkJfSwgLyogOSAqLworCXsgMSwJVEYsCXN5c191bmxpbmssCQkidW5saW5rIgl9LCAvKiAxMCAqLworCXsgMywJVEZ8VFAsCXN5c19leGVjdmUsCQkiZXhlY3ZlIgl9LCAvKiAxMSAqLworCXsgMSwJVEYsCXN5c19jaGRpciwJCSJjaGRpciIJCX0sIC8qIDEyICovCisJeyAxLAkwLAlzeXNfdGltZSwJCSJ0aW1lIgkJfSwgLyogMTMgKi8KKwl7IDMsCVRGLAlzeXNfbWtub2QsCQkibWtub2QiCQl9LCAvKiAxNCAqLworCXsgMiwJVEYsCXN5c19jaG1vZCwJCSJjaG1vZCIJCX0sIC8qIDE1ICovCisJeyAzLAlURiwJc3lzX2Nob3duLAkJImxjaG93biIJfSwgLyogMTYgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE3Igl9LCAvKiAxNyAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMTgiCX0sIC8qIDE4ICovCisJeyAzLAlURCwJc3lzX2xzZWVrLAkJImxzZWVrIgkJfSwgLyogMTkgKi8KKwl7IDAsCTAsCXN5c19nZXRwaWQsCQkiZ2V0cGlkIgl9LCAvKiAyMCAqLworCXsgNSwJVEYsCXN5c19tb3VudCwJCSJtb3VudCIJCX0sIC8qIDIxICovCisJeyAxLAlURiwJc3lzX3Vtb3VudCwJCSJvbGR1bW91bnQiCX0sIC8qIDIyICovCisJeyAxLAkwLAlzeXNfc2V0dWlkLAkJInNldHVpZCIJfSwgLyogMjMgKi8KKwl7IDAsCTAsCXN5c19nZXR1aWQsCQkiZ2V0dWlkIgl9LCAvKiAyNCAqLworCXsgMSwJMCwJc3lzX3N0aW1lLAkJInN0aW1lIgkJfSwgLyogMjUgKi8KKwl7IDQsCTAsCXN5c19wdHJhY2UsCQkicHRyYWNlIgl9LCAvKiAyNiAqLworCXsgMSwJMCwJc3lzX2FsYXJtLAkJImFsYXJtIgkJfSwgLyogMjcgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI4Igl9LCAvKiAyOCAqLworCXsgMCwJVFMsCXN5c19wYXVzZSwJCSJwYXVzZSIJCX0sIC8qIDI5ICovCisJeyAyLAlURiwJc3lzX3V0aW1lLAkJInV0aW1lIgkJfSwgLyogMzAgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMxIgl9LCAvKiAzMSAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMzIiCX0sIC8qIDMyICovCisJeyAyLAlURiwJc3lzX2FjY2VzcywJCSJhY2Nlc3MiCX0sIC8qIDMzICovCisJeyAxLAkwLAlzeXNfbmljZSwJCSJuaWNlIgkJfSwgLyogMzQgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1Igl9LCAvKiAzNSAqLworCXsgMCwJMCwJc3lzX3N5bmMsCQkic3luYyIJCX0sIC8qIDM2ICovCisJeyAyLAlUUywJc3lzX2tpbGwsCQkia2lsbCIJCX0sIC8qIDM3ICovCisJeyAyLAlURiwJc3lzX3JlbmFtZSwJCSJyZW5hbWUiCX0sIC8qIDM4ICovCisJeyAyLAlURiwJc3lzX21rZGlyLAkJIm1rZGlyIgkJfSwgLyogMzkgKi8KKwl7IDEsCVRGLAlzeXNfcm1kaXIsCQkicm1kaXIiCQl9LCAvKiA0MCAqLworCXsgMSwJVEQsCXN5c19kdXAsCQkiZHVwIgkJfSwgLyogNDEgKi8KKwl7IDEsCVRELAlzeXNfcGlwZSwJCSJwaXBlIgkJfSwgLyogNDIgKi8KKwl7IDEsCTAsCXN5c190aW1lcywJCSJ0aW1lcyIJCX0sIC8qIDQzICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU180NCIJfSwgLyogNDQgKi8KKwl7IDEsCTAsCXN5c19icmssCQkiYnJrIgkJfSwgLyogNDUgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ2Igl9LCAvKiA0NiAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfNDciCX0sIC8qIDQ3ICovCisJeyAzLAlUUywJc3lzX3NpZ25hbCwJCSJzaWduYWwiCX0sIC8qIDQ4ICovCisJeyAwLAkwLAlzeXNfZ2V0ZXVpZCwJCSJnZXRldWlkIgl9LCAvKiA0OSAqLworCXsgMCwJMCwJc3lzX2dldGVnaWQsCQkiZ2V0ZWdpZCIJfSwgLyogNTAgKi8KKwl7IDEsCVRGLAlzeXNfYWNjdCwJCSJhY2N0IgkJfSwgLyogNTEgKi8KKwl7IDIsCVRGLAlzeXNfdW1vdW50MiwJCSJ1bW91bnQiCX0sIC8qIDUyICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU181MyIJfSwgLyogNTMgKi8KKwl7IDMsCVRELAlzeXNfaW9jdGwsCQkiaW9jdGwiCQl9LCAvKiA1NCAqLworCXsgMywJVEQsCXN5c19mY250bCwJCSJmY250bCIJCX0sIC8qIDU1ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU181NiIJfSwgLyogNTYgKi8KKwl7IDIsCTAsCXN5c19zZXRwZ2lkLAkJInNldHBnaWQiCX0sIC8qIDU3ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU181OCIJfSwgLyogNTggKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU5Igl9LCAvKiA1OSAqLworCXsgMSwJMCwJc3lzX3VtYXNrLAkJInVtYXNrIgkJfSwgLyogNjAgKi8KKwl7IDEsCVRGLAlzeXNfY2hyb290LAkJImNocm9vdCIJfSwgLyogNjEgKi8KKwl7IDIsCTAsCXN5c191c3RhdCwJCSJ1c3RhdCIJCX0sIC8qIDYyICovCisJeyAyLAlURCwJc3lzX2R1cDIsCQkiZHVwMiIJCX0sIC8qIDYzICovCisJeyAwLAkwLAlzeXNfZ2V0cHBpZCwJCSJnZXRwcGlkIgl9LCAvKiA2NCAqLworCXsgMCwJMCwJc3lzX2dldHBncnAsCQkiZ2V0cGdycCIJfSwgLyogNjUgKi8KKwl7IDAsCTAsCXN5c19zZXRzaWQsCQkic2V0c2lkIgl9LCAvKiA2NiAqLworCXsgMywJVFMsCXN5c19zaWdhY3Rpb24sCQkic2lnYWN0aW9uIgl9LCAvKiA2NyAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfNjgiCX0sIC8qIDY4ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU182OSIJfSwgLyogNjkgKi8KKwl7IDIsCTAsCXN5c19zZXRyZXVpZCwJCSJzZXRyZXVpZCIJfSwgLyogNzAgKi8KKwl7IDIsCTAsCXN5c19zZXRyZWdpZCwJCSJzZXRyZWdpZCIJfSwgLyogNzEgKi8KKwl7IDMsCVRTLAlzeXNfc2lnc3VzcGVuZCwJCSJzaWdzdXNwZW5kIgl9LCAvKiA3MiAqLworCXsgMSwJVFMsCXN5c19zaWdwZW5kaW5nLAkJInNpZ3BlbmRpbmciCX0sIC8qIDczICovCisJeyAyLAkwLAlzeXNfc2V0aG9zdG5hbWUsCSJzZXRob3N0bmFtZSIJfSwgLyogNzQgKi8KKwl7IDIsCTAsCXN5c19zZXRybGltaXQsCQkic2V0cmxpbWl0Igl9LCAvKiA3NSAqLworCXsgMiwJMCwJc3lzX2dldHJsaW1pdCwJCSJnZXRybGltaXQiCX0sIC8qIDc2ICovCisJeyAyLAkwLAlzeXNfZ2V0cnVzYWdlLAkJImdldHJ1c2FnZSIJfSwgLyogNzcgKi8KKwl7IDIsCTAsCXN5c19nZXR0aW1lb2ZkYXksCSJnZXR0aW1lb2ZkYXkiCX0sIC8qIDc4ICovCisJeyAyLAkwLAlzeXNfc2V0dGltZW9mZGF5LAkic2V0dGltZW9mZGF5Igl9LCAvKiA3OSAqLworCXsgMiwJMCwJc3lzX2dldGdyb3VwcywJCSJnZXRncm91cHMiCX0sIC8qIDgwICovCisJeyAyLAkwLAlzeXNfc2V0Z3JvdXBzLAkJInNldGdyb3VwcyIJfSwgLyogODEgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzgyIgl9LCAvKiA4MiAqLworCXsgMiwJVEYsCXN5c19zeW1saW5rLAkJInN5bWxpbmsiCX0sIC8qIDgzICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU184NCIJfSwgLyogODQgKi8KKwl7IDMsCVRGLAlzeXNfcmVhZGxpbmssCQkicmVhZGxpbmsiCX0sIC8qIDg1ICovCisJeyAxLAlURiwJc3lzX3VzZWxpYiwJCSJ1c2VsaWIiCX0sIC8qIDg2ICovCisJeyAxLAlURiwJc3lzX3N3YXBvbiwJCSJzd2Fwb24iCX0sIC8qIDg3ICovCisJeyAzLAkwLAlzeXNfcmVib290LAkJInJlYm9vdCIJfSwgLyogODggKi8KKwl7IDMsCVRELAlzeXNfcmVhZGRpciwJCSJyZWFkZGlyIgl9LCAvKiA4OSAqLworCXsgNiwJVEQsCXN5c19vbGRfbW1hcCwJCSJtbWFwIgkJfSwgLyogOTAgKi8KKwl7IDIsCTAsCXN5c19tdW5tYXAsCQkibXVubWFwIgl9LCAvKiA5MSAqLworCXsgMiwJVEYsCXN5c190cnVuY2F0ZSwJCSJ0cnVuY2F0ZSIJfSwgLyogOTIgKi8KKwl7IDIsCVRELAlzeXNfZnRydW5jYXRlLAkJImZ0cnVuY2F0ZSIJfSwgLyogOTMgKi8KKwl7IDIsCVRELAlzeXNfZmNobW9kLAkJImZjaG1vZCIJfSwgLyogOTQgKi8KKwl7IDMsCVRELAlzeXNfZmNob3duLAkJImZjaG93biIJfSwgLyogOTUgKi8KKwl7IDIsCTAsCXN5c19nZXRwcmlvcml0eSwJImdldHByaW9yaXR5Igl9LCAvKiA5NiAqLworCXsgMywJMCwJc3lzX3NldHByaW9yaXR5LAkic2V0cHJpb3JpdHkiCX0sIC8qIDk3ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU185OCIJfSwgLyogOTggKi8KKwl7IDIsCVRGLAlzeXNfc3RhdGZzLAkJInN0YXRmcyIJfSwgLyogOTkgKi8KKwl7IDIsCVRELAlzeXNfZnN0YXRmcywJCSJmc3RhdGZzIgl9LCAvKiAxMDAgKi8KKwl7IDMsCTAsCXN5c19pb3Blcm0sCQkiaW9wZXJtIgl9LCAvKiAxMDEgKi8KKwl7IDIsCVRELAlzeXNfc29ja2V0Y2FsbCwJCSJzb2NrZXRjYWxsIgl9LCAvKiAxMDIgKi8KKwl7IDMsCTAsCXN5c19zeXNsb2csCQkic3lzbG9nIgl9LCAvKiAxMDMgKi8KKwl7IDMsCTAsCXN5c19zZXRpdGltZXIsCQkic2V0aXRpbWVyIgl9LCAvKiAxMDQgKi8KKwl7IDIsCTAsCXN5c19nZXRpdGltZXIsCQkiZ2V0aXRpbWVyIgl9LCAvKiAxMDUgKi8KKwl7IDIsCVRGLAlzeXNfc3RhdCwJCSJzdGF0IgkJfSwgLyogMTA2ICovCisJeyAyLAlURiwJc3lzX2xzdGF0LAkJImxzdGF0IgkJfSwgLyogMTA3ICovCisJeyAyLAlURCwJc3lzX2ZzdGF0LAkJImZzdGF0IgkJfSwgLyogMTA4ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMDkiCX0sIC8qIDEwOSAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMTEwIgl9LCAvKiAxMTAgKi8KKwl7IDAsCTAsCXN5c192aGFuZ3VwLAkJInZoYW5ndXAiCX0sIC8qIDExMSAqLworCXsgMCwJMCwJc3lzX2lkbGUsCQkiaWRsZSIJCX0sIC8qIDExMiAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMTEzIgl9LCAvKiAxMTMgKi8KKwl7IDQsCVRQLAlzeXNfd2FpdDQsCQkid2FpdDQiCQl9LCAvKiAxMTQgKi8KKwl7IDEsCTAsCXN5c19zd2Fwb2ZmLAkJInN3YXBvZmYiCX0sIC8qIDExNSAqLworCXsgMSwJMCwJc3lzX3N5c2luZm8sCQkic3lzaW5mbyIJfSwgLyogMTE2ICovCisJeyA1LAkwLAlzeXNfaXBjLAkJImlwYyIJCX0sIC8qIDExNyAqLworCXsgMSwJVEQsCXN5c19mc3luYywJCSJmc3luYyIJCX0sIC8qIDExOCAqLworCXsgMSwJVFMsCXN5c19zaWdyZXR1cm4sCQkic2lncmV0dXJuIgl9LCAvKiAxMTkgKi8KKwl7IDUsCVRQLAlzeXNfY2xvbmUsCQkiY2xvbmUiCQl9LCAvKiAxMjAgKi8KKwl7IDIsCTAsCXN5c19zZXRkb21haW5uYW1lLAkic2V0ZG9tYWlubmFtZSIJfSwgLyogMTIxICovCisJeyAxLAkwLAlzeXNfdW5hbWUsCQkidW5hbWUiCQl9LCAvKiAxMjIgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEyMyIJfSwgLyogMTIzICovCisJeyAxLAkwLAlzeXNfYWRqdGltZXgsCQkiYWRqdGltZXgiCX0sIC8qIDEyNCAqLworCXsgMywJMCwJc3lzX21wcm90ZWN0LAkJIm1wcm90ZWN0Igl9LCAvKiAxMjUgKi8KKwl7IDMsCVRTLAlzeXNfc2lncHJvY21hc2ssCSJzaWdwcm9jbWFzayIJfSwgLyogMTI2ICovCisJeyAyLAkwLAlzeXNfY3JlYXRlX21vZHVsZSwJImNyZWF0ZV9tb2R1bGUiCX0sIC8qIDEyNyAqLworCXsgMywJMCwJc3lzX2luaXRfbW9kdWxlLAkiaW5pdF9tb2R1bGUiCX0sIC8qIDEyOCAqLworCXsgMiwJMCwJc3lzX2RlbGV0ZV9tb2R1bGUsCSJkZWxldGVfbW9kdWxlIgl9LCAvKiAxMjkgKi8KKwl7IDEsCTAsCXN5c19nZXRfa2VybmVsX3N5bXMsCSJnZXRfa2VybmVsX3N5bXMifSwgLyogMTMwICovCisJeyA0LAkwLAlzeXNfcXVvdGFjdGwsCQkicXVvdGFjdGwiCX0sIC8qIDEzMSAqLworCXsgMSwJMCwJc3lzX2dldHBnaWQsCQkiZ2V0cGdpZCIJfSwgLyogMTMyICovCisJeyAxLAlURCwJc3lzX2ZjaGRpciwJCSJmY2hkaXIiCX0sIC8qIDEzMyAqLworCXsgMCwJMCwJc3lzX2JkZmx1c2gsCQkiYmRmbHVzaCIJfSwgLyogMTM0ICovCisJeyAzLAkwLAlzeXNfc3lzZnMsCQkic3lzZnMiCQl9LCAvKiAxMzUgKi8KKwl7IDEsCTAsCXN5c19wZXJzb25hbGl0eSwJInBlcnNvbmFsaXR5Igl9LCAvKiAxMzYgKi8KKwl7IDUsCTAsCXN5c19hZnNfc3lzY2FsbCwJImFmc19zeXNjYWxsIgl9LCAvKiAxMzcgKi8KKwl7IDEsCTAsCXN5c19zZXRmc3VpZCwJCSJzZXRmc3VpZCIJfSwgLyogMTM4ICovCisJeyAxLAkwLAlzeXNfc2V0ZnNnaWQsCQkic2V0ZnNnaWQiCX0sIC8qIDEzOSAqLworCXsgNSwJVEQsCXN5c19sbHNlZWssCQkiX2xsc2VlayIJfSwgLyogMTQwICovCisJeyAzLAlURCwJc3lzX2dldGRlbnRzLAkJImdldGRlbnRzIgl9LCAvKiAxNDEgKi8KKwl7IDUsCVRELAlzeXNfc2VsZWN0LAkJInNlbGVjdCIJfSwgLyogMTQyICovCisJeyAyLAlURCwJc3lzX2Zsb2NrLAkJImZsb2NrIgkJfSwgLyogMTQzICovCisJeyAzLAkwLAlzeXNfbXN5bmMsCQkibXN5bmMiCQl9LCAvKiAxNDQgKi8KKwl7IDMsCVRELAlzeXNfcmVhZHYsCQkicmVhZHYiCQl9LCAvKiAxNDUgKi8KKwl7IDMsCVRELAlzeXNfd3JpdGV2LAkJIndyaXRldiIJfSwgLyogMTQ2ICovCisJeyAxLAkwLAlzeXNfZ2V0c2lkLAkJImdldHNpZCIJfSwgLyogMTQ3ICovCisJeyAxLAlURCwJc3lzX2ZkYXRhc3luYywJCSJmZGF0YXN5bmMiCX0sIC8qIDE0OCAqLworCXsgMSwJMCwJc3lzX3N5c2N0bCwJCSJfc3lzY3RsIgl9LCAvKiAxNDkgKi8KKwl7IDIsCTAsCXN5c19tbG9jaywJCSJtbG9jayIJCX0sIC8qIDE1MCAqLworCXsgMiwJMCwJc3lzX211bmxvY2ssCQkibXVubG9jayIJfSwgLyogMTUxICovCisJeyAyLAkwLAlzeXNfbWxvY2thbGwsCQkibWxvY2thbGwiCX0sIC8qIDE1MiAqLworCXsgMCwJMCwJc3lzX211bmxvY2thbGwsCQkibXVubG9ja2FsbCIJfSwgLyogMTUzICovCisJeyAwLAkwLAlzeXNfc2NoZWRfc2V0cGFyYW0sCSJzY2hlZF9zZXRwYXJhbSJ9LCAvKiAxNTQgKi8KKwl7IDIsCTAsCXN5c19zY2hlZF9nZXRwYXJhbSwJInNjaGVkX2dldHBhcmFtIn0sIC8qIDE1NSAqLworCXsgMywJMCwJc3lzX3NjaGVkX3NldHNjaGVkdWxlciwJInNjaGVkX3NldHNjaGVkdWxlciJ9LCAvKiAxNTYgKi8KKwl7IDEsCTAsCXN5c19zY2hlZF9nZXRzY2hlZHVsZXIsCSJzY2hlZF9nZXRzY2hlZHVsZXIifSwgLyogMTU3ICovCisJeyAwLAkwLAlzeXNfc2NoZWRfeWllbGQsCSJzY2hlZF95aWVsZCJ9LCAvKiAxNTggKi8KKwl7IDEsCTAsCXN5c19zY2hlZF9nZXRfcHJpb3JpdHlfbWF4LCJzY2hlZF9nZXRfcHJpb3JpdHlfbWF4In0sIC8qIDE1OSAqLworCXsgMSwJMCwJc3lzX3NjaGVkX2dldF9wcmlvcml0eV9taW4sInNjaGVkX2dldF9wcmlvcml0eV9taW4ifSwgLyogMTYwICovCisJeyAyLAkwLAlzeXNfc2NoZWRfcnJfZ2V0X2ludGVydmFsLCJzY2hlZF9ycl9nZXRfaW50ZXJ2YWwifSwgLyogMTYxICovCisJeyAyLAkwLAlzeXNfbmFub3NsZWVwLAkJIm5hbm9zbGVlcCIJfSwgLyogMTYyICovCisJeyA1LAkwLAlzeXNfbXJlbWFwLAkJIm1yZW1hcCIJfSwgLyogMTYzICovCisJeyAzLAkwLAlzeXNfc2V0cmVzdWlkLAkJInNldHJlc3VpZCIJfSwgLyogMTY0ICovCisJeyAzLAkwLAlzeXNfZ2V0cmVzdWlkLAkJImdldHJlc3VpZCIJfSwgLyogMTY1ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNjYiCX0sIC8qIDE2NiAqLworCXsgNSwJMCwJc3lzX3F1ZXJ5X21vZHVsZSwJInF1ZXJ5X21vZHVsZSIJfSwgLyogMTY3ICovCisJeyAzLAlURCwJc3lzX3BvbGwsCQkicG9sbCIJCX0sIC8qIDE2OCAqLworCXsgMywJMCwJcHJpbnRhcmdzLAkJIm5mc3NlcnZjdGwiCX0sIC8qIDE2OSAqLworCXsgMywJMCwJc3lzX3NldHJlc2dpZCwJCSJzZXRyZXNnaWQiCX0sIC8qIDE3MCAqLworCXsgMywJMCwJc3lzX2dldHJlc2dpZCwJCSJnZXRyZXNnaWQiCX0sIC8qIDE3MSAqLworCXsgNSwJMCwJc3lzX3ByY3RsLAkJInByY3RsIgkJfSwgLyogMTcyICovCisJeyAxLAlUUywJc3lzX3NpZ3JldHVybiwJCSJydF9zaWdyZXR1cm4iCX0sIC8qIDE3MyAqLworCXsgNCwJVFMsCXN5c19ydF9zaWdhY3Rpb24sCSJydF9zaWdhY3Rpb24iCX0sIC8qIDE3NCAqLworCXsgNCwJVFMsCXN5c19ydF9zaWdwcm9jbWFzaywJInJ0X3NpZ3Byb2NtYXNrIn0sIC8qIDE3NSAqLworCXsgMiwJVFMsCXN5c19ydF9zaWdwZW5kaW5nLAkicnRfc2lncGVuZGluZyIJfSwgLyogMTc2ICovCisJeyA0LAlUUywJc3lzX3J0X3NpZ3RpbWVkd2FpdCwJInJ0X3NpZ3RpbWVkd2FpdCJ9LCAvKiAxNzcgKi8KKwl7IDMsCVRTLAlzeXNfcnRfc2lncXVldWVpbmZvLAkicnRfc2lncXVldWVpbmZvIn0sIC8qIDE3OCAqLworCXsgMiwJVFMsCXN5c19ydF9zaWdzdXNwZW5kLAkicnRfc2lnc3VzcGVuZCIJfSwgLyogMTc5ICovCisJeyA1LAlURCwJc3lzX3ByZWFkLAkJInByZWFkIgkJfSwgLyogMTgwICovCisJeyA1LAlURCwJc3lzX3B3cml0ZSwJCSJwd3JpdGUiCX0sIC8qIDE4MSAqLworCXsgMywJVEYsCXN5c19jaG93biwJCSJsY2hvd24iCX0sIC8qIDE4MiAqLworCXsgMiwJVEYsCXN5c19nZXRjd2QsCQkiZ2V0Y3dkIgl9LCAvKiAxODMgKi8KKwl7IDIsCTAsCXN5c19jYXBnZXQsCQkiY2FwZ2V0Igl9LCAvKiAxODQgKi8KKwl7IDIsCTAsCXN5c19jYXBzZXQsCQkiY2Fwc2V0Igl9LCAvKiAxODUgKi8KKwl7IDIsCVRTLAlzeXNfc2lnYWx0c3RhY2ssCSJzaWdhbHRzdGFjayIJfSwgLyogMTg2ICovCisJeyA0LAlURHxUTiwJc3lzX3NlbmRmaWxlLAkJInNlbmRmaWxlIgl9LCAvKiAxODcgKi8KKwl7IDUsCTAsCXN5c19nZXRwbXNnLAkJImdldHBtc2ciCX0sIC8qIDE4OCAqLworCXsgNSwJMCwJc3lzX3B1dHBtc2csCQkicHV0cG1zZyIJfSwgLyogMTg5ICovCisJeyAwLAlUUCwJc3lzX3Zmb3JrLAkJInZmb3JrIgkJfSwgLyogMTkwICovCisJeyAyLAkwLAlzeXNfZ2V0cmxpbWl0LAkJImdldHJsaW1pdCIJfSwgLyogMTkxICovCisJeyA2LAkwLAlzeXNfbW1hcCwJCSJtbWFwMiIJCX0sIC8qIDE5MiAqLworCXsgMiwJVEYsCXN5c190cnVuY2F0ZTY0LAkJInRydW5jYXRlNjQiCX0sIC8qIDE5MyAqLworCXsgMiwJVEQsCXN5c19mdHJ1bmNhdGU2NCwJImZ0cnVuY2F0ZTY0Igl9LCAvKiAxOTQgKi8KKwl7IDIsCVRGLAlzeXNfc3RhdDY0LAkJInN0YXQ2NCIJfSwgLyogMTk1ICovCisJeyAyLAlURiwJc3lzX2xzdGF0NjQsCQkibHN0YXQ2NCIJfSwgLyogMTk2ICovCisJeyAyLAlURCwJc3lzX2ZzdGF0NjQsCQkiZnN0YXQ2NCIJfSwgLyogMTk3ICovCisJeyAzLAlURiwJc3lzX2Nob3duLAkJImxjaG93biIJfSwgLyogMTk4ICovCisJeyAwLAkwLAlzeXNfZ2V0dWlkLAkJImdldHVpZCIJfSwgLyogMTk5ICovCisJeyAwLAkwLAlzeXNfZ2V0Z2lkLAkJImdldGdpZCIJfSwgLyogMjAwICovCisJeyAwLAkwLAlzeXNfZ2V0ZXVpZCwJCSJnZXRldWlkIgl9LCAvKiAyMDEgKi8KKwl7IDAsCTAsCXN5c19nZXRlZ2lkLAkJImdldGVnaWQiCX0sIC8qIDIwMiAqLworCXsgMiwJMCwJc3lzX3NldHJldWlkLAkJInNldHJldWlkIgl9LCAvKiAyMDMgKi8KKwl7IDIsCTAsCXN5c19zZXRyZWdpZCwJCSJzZXRyZWdpZCIJfSwgLyogMjA0ICovCisJeyAyLAkwLAlzeXNfZ2V0Z3JvdXBzLAkJImdldGdyb3VwcyIJfSwgLyogMjA1ICovCisJeyAyLAkwLAlzeXNfc2V0Z3JvdXBzLAkJInNldGdyb3VwcyIJfSwgLyogMjA2ICovCisJeyAzLAlURCwJc3lzX2ZjaG93biwJCSJmY2hvd24iCX0sIC8qIDIwNyAqLworCXsgMywJMCwJc3lzX3NldHJlc3VpZCwJCSJzZXRyZXN1aWQiCX0sIC8qIDIwOCAqLworCXsgMywJMCwJc3lzX2dldHJlc3VpZCwJCSJnZXRyZXN1aWQiCX0sIC8qIDIwOSAqLworCXsgMywJMCwJc3lzX3NldHJlc2dpZCwJCSJzZXRyZXNnaWQiCX0sIC8qIDIxMCAqLworCXsgMywJMCwJc3lzX2dldHJlc2dpZCwJCSJnZXRyZXNnaWQiCX0sIC8qIDIxMSAqLworCXsgMywJVEYsCXN5c19jaG93biwJCSJjaG93biIJCX0sIC8qIDIxMiAqLworCXsgMSwJMCwJc3lzX3NldHVpZCwJCSJzZXR1aWQiCX0sIC8qIDIxMyAqLworCXsgMSwJMCwJc3lzX3NldGdpZCwJCSJzZXRnaWQiCX0sIC8qIDIxNCAqLworCXsgMSwJMCwJc3lzX3NldGZzdWlkLAkJInNldGZzdWlkIgl9LCAvKiAyMTUgKi8KKwl7IDEsCTAsCXN5c19zZXRmc2dpZCwJCSJzZXRmc2dpZCIJfSwgLyogMjE2ICovCisJeyAyLAlURiwJc3lzX3Bpdm90cm9vdCwJCSJwaXZvdF9yb290Igl9LCAvKiAyMTcgKi8KKwl7IDMsCTAsCXN5c19taW5jb3JlLAkgICAgICAgICAibWluY29yZSIgICAgICB9LCAvKiAyMTggKi8KKwl7IDMsCTAsCXN5c19tYWR2aXNlLAkJIm1hZHZpc2UiCX0sIC8qIDIxOSAqLworCXsgMywJVEQsCXN5c19nZXRkZW50czY0LAkJImdldGRlbnRzNjQiCX0sIC8qIDIyMCAqLworCXsgMywJVEQsCXN5c19mY250bCwJCSJmY250bDY0Igl9LCAvKiAyMjEgKi8KKwl7IDQsCVRELAlzeXNfcmVhZGFoZWFkLAkJInJlYWRhaGVhZCIJfSwgLyogMjIyICovCisJeyA0LAlURHxUTiwJc3lzX3NlbmRmaWxlNjQsCQkic2VuZGZpbGU2NCIJfSwgLyogMjIzICovCisJeyA1LAlURiwJc3lzX3NldHhhdHRyLAkJInNldHhhdHRyIgl9LCAvKiAyMjQgKi8KKwl7IDUsCVRGLAlzeXNfc2V0eGF0dHIsCQkibHNldHhhdHRyIgl9LCAvKiAyMjUgKi8KKwl7IDUsCVRELAlzeXNfZnNldHhhdHRyLAkJImZzZXR4YXR0ciIJfSwgLyogMjI2ICovCisJeyA0LAlURiwJc3lzX2dldHhhdHRyLAkJImdldHhhdHRyIgl9LCAvKiAyMjcgKi8KKwl7IDQsCVRGLAlzeXNfZ2V0eGF0dHIsCQkibGdldHhhdHRyIgl9LCAvKiAyMjggKi8KKwl7IDQsCTAsCXN5c19mZ2V0eGF0dHIsCQkiZmdldHhhdHRyIgl9LCAvKiAyMjkgKi8KKwl7IDMsCVRGLAlzeXNfbGlzdHhhdHRyLAkJImxpc3R4YXR0ciIJfSwgLyogMjMwICovCisJeyAzLAlURiwJc3lzX2xpc3R4YXR0ciwJCSJsbGlzdHhhdHRyIgl9LCAvKiAyMzEgKi8KKwl7IDMsCTAsCXN5c19mbGlzdHhhdHRyLAkJImZsaXN0eGF0dHIiCX0sIC8qIDIzMiAqLworCXsgMiwJVEYsCXN5c19yZW1vdmV4YXR0ciwJInJlbW92ZXhhdHRyIgl9LCAvKiAyMzMgKi8KKwl7IDIsCVRGLAlzeXNfcmVtb3ZleGF0dHIsCSJscmVtb3ZleGF0dHIiCX0sIC8qIDIzNCAqLworCXsgMiwJVEQsCXN5c19mcmVtb3ZleGF0dHIsCSJmcmVtb3ZleGF0dHIiCX0sIC8qIDIzNSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImdldHRpZCIJfSwgLyogMjM2ICovCisJeyAyLAlUUywJc3lzX2tpbGwsCQkidGtpbGwiCQl9LCAvKiAyMzcgKi8KKwl7IDYsCTAsCXN5c19mdXRleCwJCSJmdXRleCIJCX0sIC8qIDIzOCAqLworCXsgMywJMCwJc3lzX3NjaGVkX3NldGFmZmluaXR5LAkic2NoZWRfc2V0YWZmaW5pdHkiIH0sLyogMjM5ICovCisJeyAzLAkwLAlzeXNfc2NoZWRfZ2V0YWZmaW5pdHksCSJzY2hlZF9nZXRhZmZpbml0eSIgfSwvKiAyNDAgKi8KKwl7IDMsCVRTLAlzeXNfdGdraWxsLAkJInRna2lsbCIJfSwgLyogMjQxICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNDIiCX0sIC8qIDI0MiAqLworCXsgMiwJMCwJc3lzX2lvX3NldHVwLAkJImlvX3NldHVwIgl9LCAvKiAyNDMgKi8KKwl7IDEsCTAsCXN5c19pb19kZXN0cm95LAkJImlvX2Rlc3Ryb3kiCX0sIC8qIDI0NCAqLworCXsgNSwJMCwJc3lzX2lvX2dldGV2ZW50cywJImlvX2dldGV2ZW50cyIJfSwgLyogMjQ1ICovCisJeyAzLAkwLAlzeXNfaW9fc3VibWl0LAkJImlvX3N1Ym1pdCIJfSwgLyogMjQ2ICovCisJeyAzLAkwLAlzeXNfaW9fY2FuY2VsLAkJImlvX2NhbmNlbCIJfSwgLyogMjQ3ICovCisJeyAxLAlUUCwJc3lzX2V4aXQsCQkiZXhpdF9ncm91cCIJfSwgLyogMjQ4ICovCisJeyAxLAkwLAlzeXNfZXBvbGxfY3JlYXRlLAkiZXBvbGxfY3JlYXRlIgl9LCAvKiAyNDkgKi8KKwl7IDQsCVRELAlzeXNfZXBvbGxfY3RsLAkJImVwb2xsX2N0bCIJfSwgLyogMjUwICovCisJeyA0LAlURCwJc3lzX2Vwb2xsX3dhaXQsCQkiZXBvbGxfd2FpdCIJfSwgLyogMjUxICovCisJeyAxLAkwLAlwcmludGFyZ3MsCQkic2V0X3RpZF9hZGRyZXNzIn0sIC8qIDI1MiAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJImZhZHZpc2U2NCIJfSwgLyogMjUzICovCisJeyAzLAkwLAlzeXNfdGltZXJfY3JlYXRlLAkidGltZXJfY3JlYXRlIgl9LCAvKiAyNTQgKi8KKwl7IDQsCTAsCXN5c190aW1lcl9zZXR0aW1lLAkidGltZXJfc2V0dGltZSIJfSwgLyogMjU1ICovCisJeyAyLAkwLAlzeXNfdGltZXJfZ2V0dGltZSwJInRpbWVyX2dldHRpbWUiCX0sIC8qIDI1NiAqLworCXsgMSwJMCwJc3lzX3RpbWVyX2dldG92ZXJydW4sCSJ0aW1lcl9nZXRvdmVycnVuIn0sIC8qIDI1NyAqLworCXsgMSwJMCwJc3lzX3RpbWVyX2RlbGV0ZSwJInRpbWVyX2RlbGV0ZSIJfSwgLyogMjU4ICovCisJeyAyLAkwLAlzeXNfY2xvY2tfc2V0dGltZSwJImNsb2NrX3NldHRpbWUiCX0sIC8qIDI1OSAqLworCXsgMiwJMCwJc3lzX2Nsb2NrX2dldHRpbWUsCSJjbG9ja19nZXR0aW1lIgl9LCAvKiAyNjAgKi8KKwl7IDIsCTAsCXN5c19jbG9ja19nZXRyZXMsCSJjbG9ja19nZXRyZXMiCX0sIC8qIDI2MSAqLworCXsgNCwJMCwJc3lzX2Nsb2NrX25hbm9zbGVlcCwJImNsb2NrX25hbm9zbGVlcCJ9LCAvKiAyNjIgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJ2c2VydmVyIgl9LCAvKiAyNjMgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJmYWR2aXNlNjRfNjQiCX0sIC8qIDI2NCAqLworCXsgMywJVEYsCXN5c19zdGF0ZnM2NCwJCSJzdGF0ZnM2NCIJfSwgLyogMjY1ICovCisJeyAzLAlURiwJc3lzX2ZzdGF0ZnM2NCwJCSJmc3RhdGZzNjQiCX0sIC8qIDI2NiAqLworCXsgNSwJMCwJc3lzX3JlbWFwX2ZpbGVfcGFnZXMsCSJyZW1hcF9maWxlX3BhZ2VzIn0sIC8qIDI2NyAqLworCXsgNiwJMCwJc3lzX21iaW5kLAkJIm1iaW5kIgkJfSwgLyogMjY4ICovCisJeyA1LAkwLAlzeXNfZ2V0X21lbXBvbGljeSwJImdldF9tZW1wb2xpY3kiCX0sIC8qIDI2OSAqLworCXsgMywJMCwJc3lzX3NldF9tZW1wb2xpY3ksCSJzZXRfbWVtcG9saWN5Igl9LCAvKiAyNzAgKi8KKwl7IDQsCTAsCXN5c19tcV9vcGVuLAkJIm1xX29wZW4iCX0sIC8qIDI3MSAqLworCXsgMSwJMCwJc3lzX21xX3VubGluaywJCSJtcV91bmxpbmsiCX0sIC8qIDI3MiAqLworCXsgNSwJMCwJc3lzX21xX3RpbWVkc2VuZCwJIm1xX3RpbWVkc2VuZCIJfSwgLyogMjczICovCisJeyA1LAkwLAlzeXNfbXFfdGltZWRyZWNlaXZlLAkibXFfdGltZWRyZWNlaXZlIiB9LCAvKiAyNzQgKi8KKwl7IDIsCTAsCXN5c19tcV9ub3RpZnksCQkibXFfbm90aWZ5Igl9LCAvKiAyNzUgKi8KKwl7IDMsCTAsCXN5c19tcV9nZXRzZXRhdHRyLAkibXFfZ2V0c2V0YXR0ciIJfSwgLyogMjc2ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkia2V4ZWNfbG9hZCIJfSwgLyogMjc3ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiYWRkX2tleSIJfSwgLyogMjc4ICovCisJeyA0LAkwLAlwcmludGFyZ3MsCQkicmVxdWVzdF9rZXkiCX0sIC8qIDI3OSAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJImtleWN0bCIJfSwgLyogMjgwICovCisJeyA1LAlUUCwJc3lzX3dhaXRpZCwJCSJ3YWl0aWQiCX0sIC8qIDI4MSAqLworCXsgMywJMCwJcHJpbnRhcmdzLAkJImlvcHJpb19zZXQiCX0sIC8qIDI4MiAqLworCXsgMiwJMCwJcHJpbnRhcmdzLAkJImlvcHJpb19nZXQiCX0sIC8qIDI4MyAqLworCXsgMCwJVEQsCXByaW50YXJncywJCSJpbm90aWZ5X2luaXQiCX0sIC8qIDI4NCAqLworCXsgMywJVEQsCXN5c19pbm90aWZ5X2FkZF93YXRjaCwJImlub3RpZnlfYWRkX3dhdGNoIiB9LCAvKiAyODUgKi8KKwl7IDIsCVRELAlzeXNfaW5vdGlmeV9ybV93YXRjaCwJImlub3RpZnlfcm1fd2F0Y2giIH0sIC8qIDI4NiAqLworCXsgNCwJMCwJcHJpbnRhcmdzLAkJIm1pZ3JhdGVfcGFnZXMiCX0sIC8qIDI4NyAqLworCXsgNCwJVER8VEYsCXN5c19vcGVuYXQsCQkib3BlbmF0Igl9LCAvKiAyODggKi8KKwl7IDMsCVREfFRGLAlzeXNfbWtkaXJhdCwJCSJta2RpcmF0Igl9LCAvKiAyODkgKi8KKwl7IDQsCVREfFRGLAlzeXNfbWtub2RhdCwJCSJta25vZGF0Igl9LCAvKiAyOTAgKi8KKwl7IDUsCVREfFRGLAlzeXNfZmNob3duYXQsCQkiZmNob3duYXQiCX0sIC8qIDI5MSAqLworCXsgMywJVER8VEYsCXN5c19mdXRpbWVzYXQsCQkiZnV0aW1lc2F0Igl9LCAvKiAyOTIgKi8KKwl7IDQsCVREfFRELAlzeXNfbmV3ZnN0YXRhdCwJCSJmc3RhdGF0NjQiCX0sIC8qIDI5MyAqLworCXsgMywJVER8VEYsCXN5c191bmxpbmthdCwJCSJ1bmxpbmthdCIJfSwgLyogMjk0ICovCisJeyA0LAlURHxURiwJc3lzX3JlbmFtZWF0LAkJInJlbmFtZWF0Igl9LCAvKiAyOTUgKi8KKwl7IDUsCVREfFRGLAlzeXNfbGlua2F0LAkJImxpbmthdCIJfSwgLyogMjk2ICovCisJeyAzLAlURHxURiwJc3lzX3N5bWxpbmthdCwJCSJzeW1saW5rYXQiCX0sIC8qIDI5NyAqLworCXsgNCwJVER8VEYsCXN5c19yZWFkbGlua2F0LAkJInJlYWRsaW5rYXQiCX0sIC8qIDI5OCAqLworCXsgMywJVER8VEYsCXN5c19mY2htb2RhdCwJCSJmY2htb2RhdCIJfSwgLyogMjk5ICovCisJeyAzLAlURHxURiwJc3lzX2ZhY2Nlc3NhdCwJCSJmYWNjZXNzYXQiCX0sIC8qIDMwMCAqLworCXsgNiwJVEQsCXN5c19wc2VsZWN0NiwJCSJwc2VsZWN0NiIJfSwgLyogMzAxICovCisJeyA1LAlURCwJc3lzX3Bwb2xsLAkJInBwb2xsIgkJfSwgLyogMzAyICovCisJeyAxLAlUUCwJc3lzX3Vuc2hhcmUsCQkidW5zaGFyZSIJfSwgLyogMzAzICovCisJeyAyLAkwLAlwcmludGFyZ3MsCQkic2V0X3JvYnVzdF9saXN0IiB9LCAvKiAzMDQgKi8KKwl7IDMsCTAsCXByaW50YXJncywJCSJnZXRfcm9idXN0X2xpc3QiIH0sIC8qIDMwNSAqLworCXsgNiwJVEQsCXByaW50YXJncywJCSJzcGxpY2UiCX0sIC8qIDMwNiAqLworCXsgNCwJVEQsCXByaW50YXJncywJCSJzeW5jX2ZpbGVfcmFuZ2UiIH0sIC8qIDMwNyAqLworCXsgNCwJVEQsCXByaW50YXJncywJCSJ0ZWUiCQl9LCAvKiAzMDggKi8KKwl7IDQsCVRELAlwcmludGFyZ3MsCQkidm1zcGxpY2UiCX0sIC8qIDMwOSAqLworCXsgNiwJMCwJc3lzX21vdmVfcGFnZXMsCQkibW92ZV9wYWdlcyIJfSwgLyogMzEwICovCisJeyAzLAkwLAlzeXNfZ2V0Y3B1LAkJImdldGNwdSIJfSwgLyogMzExICovCisJeyA1LAlURCwJc3lzX2Vwb2xsX3B3YWl0LAkiZXBvbGxfcHdhaXQiCX0sIC8qIDMxMiAqLworCXsgMiwJVEYsCXN5c191dGltZXMsCQkidXRpbWVzIgl9LCAvKiAzMTMgKi8KKwl7IDYsCVRGLAlzeXNfZmFsbG9jYXRlLAkJImZhbGxvY2F0ZSIJfSwgLyogMzE0ICovCisJeyA0LAlURHxURiwJc3lzX3V0aW1lbnNhdCwJCSJ1dGltZW5zYXQiCX0sIC8qIDMxNSAqLworCXsgMywJVER8VFMsCXN5c19zaWduYWxmZCwJCSJzaWduYWxmZCIJfSwgLyogMzE2ICovCisJeyA0LAlURCwJc3lzX3RpbWVyZmQsCQkidGltZXJmZCIJfSwgLyogMzE3ICovCisJeyAxLAlURCwJc3lzX2V2ZW50ZmQsCQkiZXZlbnRmZCIJfSwgLyogMzE4ICovCisJeyAyLAlURCwJc3lzX3RpbWVyZmRfY3JlYXRlLAkidGltZXJmZF9jcmVhdGUifSwgLyogMzE5ICovCisJeyA0LAlURCwJc3lzX3RpbWVyZmRfc2V0dGltZSwJInRpbWVyZmRfc2V0dGltZSJ9LCAvKiAzMjAgKi8KKwl7IDIsCVRELAlzeXNfdGltZXJmZF9nZXR0aW1lLAkidGltZXJmZF9nZXR0aW1lIn0sIC8qIDMyMSAqLworCXsgNCwJVER8VFMsCXN5c19zaWduYWxmZDQsCQkic2lnbmFsZmQ0Igl9LCAvKiAzMjIgKi8KKwl7IDIsCVRELAlzeXNfZXZlbnRmZDIsCQkiZXZlbnRmZDIiCX0sIC8qIDMyMyAqLworCXsgMSwJVEQsCXN5c19pbm90aWZ5X2luaXQxLAkiaW5vdGlmeV9pbml0MSIJfSwgLyogMzI0ICovCisJeyAyLAlURCwJc3lzX3BpcGUyLAkJInBpcGUyIgkJfSwgLyogMzI1ICovCisJeyAzLAlURCwJc3lzX2R1cDMsCQkiZHVwMyIJCX0sIC8qIDMyNiAqLworCXsgMSwJMCwJc3lzX2Vwb2xsX2NyZWF0ZTEsCSJlcG9sbF9jcmVhdGUxIgl9LCAvKiAzMjcgKi8KKwl7IDUsCVRELAlwcmludGFyZ3MsCQkicHJlYWR2Igl9LCAvKiAzMjggKi8KKwl7IDUsCVRELAlwcmludGFyZ3MsCQkicHdyaXRldiIJfSwgLyogMzI5ICovCisJeyA0LAlUUHxUUywJcHJpbnRhcmdzLAkJInJ0X3Rnc2lncXVldWVpbmZvIn0sIC8qIDMzMCAqLworCXsgNSwJVEQsCXByaW50YXJncywJCSJwZXJmX2V2ZW50X29wZW4ifSwgLyogMzMxICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzMzMiIJfSwgLyogMzMyICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzMzMyIJfSwgLyogMzMzICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzMzNCIJfSwgLyogMzM0ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzMzNSIJfSwgLyogMzM1ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzMzNiIJfSwgLyogMzM2ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzMzNyIJfSwgLyogMzM3ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzMzOCIJfSwgLyogMzM4ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzMzOSIJfSwgLyogMzM5ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0MCIJfSwgLyogMzQwICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0MSIJfSwgLyogMzQxICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0MiIJfSwgLyogMzQyICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0MyIJfSwgLyogMzQzICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0NCIJfSwgLyogMzQ0ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0NSIJfSwgLyogMzQ1ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0NiIJfSwgLyogMzQ2ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0NyIJfSwgLyogMzQ3ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0OCIJfSwgLyogMzQ4ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0OSIJfSwgLyogMzQ5ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1MCIJfSwgLyogMzUwICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1MSIJfSwgLyogMzUxICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1MiIJfSwgLyogMzUyICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1MyIJfSwgLyogMzUzICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1NCIJfSwgLyogMzU0ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1NSIJfSwgLyogMzU1ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1NiIJfSwgLyogMzU2ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1NyIJfSwgLyogMzU3ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1OCIJfSwgLyogMzU4ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1OSIJfSwgLyogMzU5ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2MCIJfSwgLyogMzYwICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2MSIJfSwgLyogMzYxICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2MiIJfSwgLyogMzYyICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2MyIJfSwgLyogMzYzICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2NCIJfSwgLyogMzY0ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2NSIJfSwgLyogMzY1ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2NiIJfSwgLyogMzY2ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2NyIJfSwgLyogMzY3ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2OCIJfSwgLyogMzY4ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2OSIJfSwgLyogMzY5ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3MCIJfSwgLyogMzcwICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3MSIJfSwgLyogMzcxICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3MiIJfSwgLyogMzcyICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3MyIJfSwgLyogMzczICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3NCIJfSwgLyogMzc0ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3NSIJfSwgLyogMzc1ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3NiIJfSwgLyogMzc2ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3NyIJfSwgLyogMzc3ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3OCIJfSwgLyogMzc4ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3OSIJfSwgLyogMzc5ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4MCIJfSwgLyogMzgwICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4MSIJfSwgLyogMzgxICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4MiIJfSwgLyogMzgyICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4MyIJfSwgLyogMzgzICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4NCIJfSwgLyogMzg0ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4NSIJfSwgLyogMzg1ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4NiIJfSwgLyogMzg2ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4NyIJfSwgLyogMzg3ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4OCIJfSwgLyogMzg4ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4OSIJfSwgLyogMzg5ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5MCIJfSwgLyogMzkwICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5MSIJfSwgLyogMzkxICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5MiIJfSwgLyogMzkyICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5MyIJfSwgLyogMzkzICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5NCIJfSwgLyogMzk0ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5NSIJfSwgLyogMzk1ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5NiIJfSwgLyogMzk2ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5NyIJfSwgLyogMzk3ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5OCIJfSwgLyogMzk4ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5OSIJfSwgLyogMzk5ICovCisKKyNpZiBTWVNfc29ja2V0X3N1YmNhbGwgIT0gNDAwCisgI2Vycm9yIGZpeCBtZQorI2VuZGlmCisJeyA4LAkwLAlwcmludGFyZ3MsCQkic29ja2V0X3N1YmNhbGwifSwgLyogNDAwICovCisJeyAzLAlUTiwJc3lzX3NvY2tldCwJCSJzb2NrZXQiCX0sIC8qIDQwMSAqLworCXsgMywJVE4sCXN5c19iaW5kLAkJImJpbmQiCQl9LCAvKiA0MDIgKi8KKwl7IDMsCVROLAlzeXNfY29ubmVjdCwJCSJjb25uZWN0Igl9LCAvKiA0MDMgKi8KKwl7IDIsCVROLAlzeXNfbGlzdGVuLAkJImxpc3RlbiIJfSwgLyogNDA0ICovCisJeyAzLAlUTiwJc3lzX2FjY2VwdCwJCSJhY2NlcHQiCX0sIC8qIDQwNSAqLworCXsgMywJVE4sCXN5c19nZXRzb2NrbmFtZSwJImdldHNvY2tuYW1lIgl9LCAvKiA0MDYgKi8KKwl7IDMsCVROLAlzeXNfZ2V0cGVlcm5hbWUsCSJnZXRwZWVybmFtZSIJfSwgLyogNDA3ICovCisJeyA0LAlUTiwJc3lzX3NvY2tldHBhaXIsCQkic29ja2V0cGFpciIJfSwgLyogNDA4ICovCisJeyA0LAlUTiwJc3lzX3NlbmQsCQkic2VuZCIJCX0sIC8qIDQwOSAqLworCXsgNCwJVE4sCXN5c19yZWN2LAkJInJlY3YiCQl9LCAvKiA0MTAgKi8KKwl7IDYsCVROLAlzeXNfc2VuZHRvLAkJInNlbmR0byIJfSwgLyogNDExICovCisJeyA2LAlUTiwJc3lzX3JlY3Zmcm9tLAkJInJlY3Zmcm9tIgl9LCAvKiA0MTIgKi8KKwl7IDIsCVROLAlzeXNfc2h1dGRvd24sCQkic2h1dGRvd24iCX0sIC8qIDQxMyAqLworCXsgNSwJVE4sCXN5c19zZXRzb2Nrb3B0LAkJInNldHNvY2tvcHQiCX0sIC8qIDQxNCAqLworCXsgNSwJVE4sCXN5c19nZXRzb2Nrb3B0LAkJImdldHNvY2tvcHQiCX0sIC8qIDQxNSAqLworCXsgNSwJVE4sCXN5c19zZW5kbXNnLAkJInNlbmRtc2ciCX0sIC8qIDQxNiAqLworCXsgNSwJVE4sCXN5c19yZWN2bXNnLAkJInJlY3Ztc2ciCX0sIC8qIDQxNyAqLworCXsgNCwJVE4sCXN5c19hY2NlcHQ0LAkJImFjY2VwdDQiCX0sIC8qIDQxOCAqLworCXsgNSwJVE4sCXN5c19yZWN2bW1zZywJCSJyZWN2bW1zZyIJfSwgLyogNDE5ICovCisKKyNpZiBTWVNfaXBjX3N1YmNhbGwgIT0gNDIwCisgI2Vycm9yIGZpeCBtZQorI2VuZGlmCisJeyA0LAkwLAlwcmludGFyZ3MsCQkiaXBjX3N1YmNhbGwiCX0sIC8qIDQyMCAqLworCXsgNCwJVEksCXN5c19zZW1vcCwJCSJzZW1vcCIJCX0sIC8qIDQyMSAqLworCXsgNCwJVEksCXN5c19zZW1nZXQsCQkic2VtZ2V0Igl9LCAvKiA0MjIgKi8KKwl7IDQsCVRJLAlzeXNfc2VtY3RsLAkJInNlbWN0bCIJfSwgLyogNDIzICovCisJeyA1LAlUSSwJc3lzX3NlbXRpbWVkb3AsCQkic2VtdGltZWRvcCIJfSwgLyogNDI0ICovCisJeyA0LAkwLAlwcmludGFyZ3MsCQkiaXBjX3N1YmNhbGwiCX0sIC8qIDQyNSAqLworCXsgNCwJMCwJcHJpbnRhcmdzLAkJImlwY19zdWJjYWxsIgl9LCAvKiA0MjYgKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJpcGNfc3ViY2FsbCIJfSwgLyogNDI3ICovCisJeyA0LAkwLAlwcmludGFyZ3MsCQkiaXBjX3N1YmNhbGwiCX0sIC8qIDQyOCAqLworCXsgNCwJMCwJcHJpbnRhcmdzLAkJImlwY19zdWJjYWxsIgl9LCAvKiA0MjkgKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJpcGNfc3ViY2FsbCIJfSwgLyogNDMwICovCisJeyA0LAlUSSwJc3lzX21zZ3NuZCwJCSJtc2dzbmQiCX0sIC8qIDQzMSAqLworCXsgNCwJVEksCXN5c19tc2dyY3YsCQkibXNncmN2Igl9LCAvKiA0MzIgKi8KKwl7IDQsCVRJLAlzeXNfbXNnZ2V0LAkJIm1zZ2dldCIJfSwgLyogNDMzICovCisJeyA0LAlUSSwJc3lzX21zZ2N0bCwJCSJtc2djdGwiCX0sIC8qIDQzNCAqLworCXsgNCwJMCwJcHJpbnRhcmdzLAkJImlwY19zdWJjYWxsIgl9LCAvKiA0MzUgKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJpcGNfc3ViY2FsbCIJfSwgLyogNDM2ICovCisJeyA0LAkwLAlwcmludGFyZ3MsCQkiaXBjX3N1YmNhbGwiCX0sIC8qIDQzNyAqLworCXsgNCwJMCwJcHJpbnRhcmdzLAkJImlwY19zdWJjYWxsIgl9LCAvKiA0MzggKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJpcGNfc3ViY2FsbCIJfSwgLyogNDM5ICovCisJeyA0LAkwLAlwcmludGFyZ3MsCQkiaXBjX3N1YmNhbGwiCX0sIC8qIDQ0MCAqLworCXsgNCwJVEksCXN5c19zaG1hdCwJCSJzaG1hdCIJCX0sIC8qIDQ0MSAqLworCXsgNCwJVEksCXN5c19zaG1kdCwJCSJzaG1kdCIJCX0sIC8qIDQ0MiAqLworCXsgNCwJVEksCXN5c19zaG1nZXQsCQkic2htZ2V0Igl9LCAvKiA0NDMgKi8KKwl7IDQsCVRJLAlzeXNfc2htY3RsLAkJInNobWN0bCIJfSwgLyogNDQ0ICovCmRpZmYgLS1naXQgYS9zdHJhY2UtNC41LjIwL2xpbnV4L3MzOTB4L2lvY3RsZW50LmggYi9zdHJhY2UtNC41LjIwL2xpbnV4L3MzOTB4L2lvY3RsZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDE0ZmJlYgotLS0gL2Rldi9udWxsCisrKyBiL3N0cmFjZS00LjUuMjAvbGludXgvczM5MHgvaW9jdGxlbnQuaApAQCAtMCwwICsxLDk0MSBAQAoreyJsaW51eC9mcy5oIiwgIkZJQk1BUCIsIDB4MX0sCit7ImxpbnV4L2ZzLmgiLCAiRklHRVRCU1oiLCAweDJ9LAoreyJsaW51eC9mZC5oIiwgIkZEQ0xSUFJNIiwgMHgyNDF9LAoreyJsaW51eC9mZC5oIiwgIkZETVNHT04iLCAweDI0NX0sCit7ImxpbnV4L2ZkLmgiLCAiRkRNU0dPRkYiLCAweDI0Nn0sCit7ImxpbnV4L2ZkLmgiLCAiRkRGTVRCRUciLCAweDI0N30sCit7ImxpbnV4L2ZkLmgiLCAiRkRGTVRFTkQiLCAweDI0OX0sCit7ImxpbnV4L2ZkLmgiLCAiRkRTRVRFTVNHVFJFU0giLCAweDI0YX0sCit7ImxpbnV4L2ZkLmgiLCAiRkRGTFVTSCIsIDB4MjRifSwKK3sibGludXgvZmQuaCIsICJGRFJFU0VUIiwgMHgyNTR9LAoreyJsaW51eC9mZC5oIiwgIkZEV0VSUk9SQ0xSIiwgMHgyNTZ9LAoreyJsaW51eC9mZC5oIiwgIkZEUkFXQ01EIiwgMHgyNTh9LAoreyJsaW51eC9mZC5oIiwgIkZEVFdBRERMRSIsIDB4MjU5fSwKK3sibGludXgvZmQuaCIsICJGREVKRUNUIiwgMHgyNWF9LAoreyJsaW51eC9oZHJlZy5oIiwgIkhESU9fR0VUR0VPIiwgMHgzMDF9LAoreyJsaW51eC9oZHJlZy5oIiwgIkhESU9fR0VUX1VOTUFTS0lOVFIiLCAweDMwMn0sCit7ImxpbnV4L2hkcmVnLmgiLCAiSERJT19HRVRfTVVMVENPVU5UIiwgMHgzMDR9LAoreyJsaW51eC9oZHJlZy5oIiwgIkhESU9fT0JTT0xFVEVfSURFTlRJVFkiLCAweDMwN30sCit7ImxpbnV4L2hkcmVnLmgiLCAiSERJT19HRVRfS0VFUFNFVFRJTkdTIiwgMHgzMDh9LAoreyJsaW51eC9oZHJlZy5oIiwgIkhESU9fR0VUXzMyQklUIiwgMHgzMDl9LAoreyJsaW51eC9oZHJlZy5oIiwgIkhESU9fR0VUX05PV0VSUiIsIDB4MzBhfSwKK3sibGludXgvaGRyZWcuaCIsICJIRElPX0dFVF9ETUEiLCAweDMwYn0sCit7ImxpbnV4L2hkcmVnLmgiLCAiSERJT19HRVRfTklDRSIsIDB4MzBjfSwKK3sibGludXgvaGRyZWcuaCIsICJIRElPX0dFVF9JREVOVElUWSIsIDB4MzBkfSwKK3sibGludXgvaGRyZWcuaCIsICJIRElPX0RSSVZFX1JFU0VUIiwgMHgzMWN9LAoreyJsaW51eC9oZHJlZy5oIiwgIkhESU9fVFJJU1RBVEVfSFdJRiIsIDB4MzFkfSwKK3sibGludXgvaGRyZWcuaCIsICJIRElPX0RSSVZFX1RBU0siLCAweDMxZX0sCit7ImxpbnV4L2hkcmVnLmgiLCAiSERJT19EUklWRV9DTUQiLCAweDMxZn0sCit7ImxpbnV4L2hkcmVnLmgiLCAiSERJT19TRVRfTVVMVENPVU5UIiwgMHgzMjF9LAoreyJsaW51eC9oZHJlZy5oIiwgIkhESU9fU0VUX1VOTUFTS0lOVFIiLCAweDMyMn0sCit7ImxpbnV4L2hkcmVnLmgiLCAiSERJT19TRVRfS0VFUFNFVFRJTkdTIiwgMHgzMjN9LAoreyJsaW51eC9oZHJlZy5oIiwgIkhESU9fU0VUXzMyQklUIiwgMHgzMjR9LAoreyJsaW51eC9oZHJlZy5oIiwgIkhESU9fU0VUX05PV0VSUiIsIDB4MzI1fSwKK3sibGludXgvaGRyZWcuaCIsICJIRElPX1NFVF9ETUEiLCAweDMyNn0sCit7ImxpbnV4L2hkcmVnLmgiLCAiSERJT19TRVRfUElPX01PREUiLCAweDMyN30sCit7ImxpbnV4L2hkcmVnLmgiLCAiSERJT19TQ0FOX0hXSUYiLCAweDMyOH0sCit7ImxpbnV4L2hkcmVnLmgiLCAiSERJT19TRVRfTklDRSIsIDB4MzI5fSwKK3sibGludXgvaGRyZWcuaCIsICJIRElPX1VOUkVHSVNURVJfSFdJRiIsIDB4MzJhfSwKK3sibGludXgvaGRyZWcuaCIsICJIRElPX0dFVEdFT19CSUciLCAweDMzMH0sCit7ImxpbnV4L2hkcmVnLmgiLCAiSERJT19HRVRHRU9fQklHX1JBVyIsIDB4MzMxfSwKK3sibGludXgvdW1zZG9zX2ZzLmgiLCAiVU1TRE9TX1JFQURESVJfRE9TIiwgMHg0ZDJ9LAoreyJsaW51eC91bXNkb3NfZnMuaCIsICJVTVNET1NfVU5MSU5LX0RPUyIsIDB4NGQzfSwKK3sibGludXgvdW1zZG9zX2ZzLmgiLCAiVU1TRE9TX1JNRElSX0RPUyIsIDB4NGQ0fSwKK3sibGludXgvdW1zZG9zX2ZzLmgiLCAiVU1TRE9TX1NUQVRfRE9TIiwgMHg0ZDV9LAoreyJsaW51eC91bXNkb3NfZnMuaCIsICJVTVNET1NfQ1JFQVRfRU1EIiwgMHg0ZDZ9LAoreyJsaW51eC91bXNkb3NfZnMuaCIsICJVTVNET1NfVU5MSU5LX0VNRCIsIDB4NGQ3fSwKK3sibGludXgvdW1zZG9zX2ZzLmgiLCAiVU1TRE9TX1JFQURESVJfRU1EIiwgMHg0ZDh9LAoreyJsaW51eC91bXNkb3NfZnMuaCIsICJVTVNET1NfR0VUVkVSU0lPTiIsIDB4NGQ5fSwKK3sibGludXgvdW1zZG9zX2ZzLmgiLCAiVU1TRE9TX0lOSVRfRU1EIiwgMHg0ZGF9LAoreyJsaW51eC91bXNkb3NfZnMuaCIsICJVTVNET1NfRE9TX1NFVFVQIiwgMHg0ZGJ9LAoreyJsaW51eC91bXNkb3NfZnMuaCIsICJVTVNET1NfUkVOQU1FX0RPUyIsIDB4NGRjfSwKK3sibGludXgvbHAuaCIsICJMUENIQVIiLCAweDYwMX0sCit7ImxpbnV4L2xwLmgiLCAiTFBUSU1FIiwgMHg2MDJ9LAoreyJsaW51eC9scC5oIiwgIkxQQUJPUlQiLCAweDYwNH0sCit7ImxpbnV4L2xwLmgiLCAiTFBTRVRJUlEiLCAweDYwNX0sCit7ImxpbnV4L2FjOTdfY29kZWMuaCIsICJBQzk3X1JFQ01VWF9NT05PX01JWCIsIDB4NjA2fSwKK3sibGludXgvbHAuaCIsICJMUEdFVElSUSIsIDB4NjA2fSwKK3sibGludXgvbHAuaCIsICJMUFdBSVQiLCAweDYwOH0sCit7ImxpbnV4L2xwLmgiLCAiTFBDQVJFRlVMIiwgMHg2MDl9LAoreyJsaW51eC9scC5oIiwgIkxQQUJPUlRPUEVOIiwgMHg2MGF9LAoreyJsaW51eC9scC5oIiwgIkxQR0VUU1RBVFVTIiwgMHg2MGJ9LAoreyJsaW51eC9scC5oIiwgIkxQUkVTRVQiLCAweDYwY30sCit7ImxpbnV4L2xwLmgiLCAiTFBHRVRTVEFUUyIsIDB4NjBkfSwKK3sibGludXgvbHAuaCIsICJMUEdFVEZMQUdTIiwgMHg2MGV9LAoreyJsaW51eC9scC5oIiwgIkxQU0VUVElNRU9VVCIsIDB4NjBmfSwKK3sibGludXgvZnMuaCIsICJCTEtST1NFVCIsIDB4MTI1ZH0sCit7ImxpbnV4L2ZzLmgiLCAiQkxLUk9HRVQiLCAweDEyNWV9LAoreyJsaW51eC9mcy5oIiwgIkJMS1JSUEFSVCIsIDB4MTI1Zn0sCit7ImxpbnV4L2ZzLmgiLCAiQkxLR0VUU0laRSIsIDB4MTI2MH0sCit7ImxpbnV4L2ZzLmgiLCAiQkxLRkxTQlVGIiwgMHgxMjYxfSwKK3sibGludXgvZnMuaCIsICJCTEtSQVNFVCIsIDB4MTI2Mn0sCit7ImxpbnV4L2ZzLmgiLCAiQkxLUkFHRVQiLCAweDEyNjN9LAoreyJsaW51eC9mcy5oIiwgIkJMS0ZSQVNFVCIsIDB4MTI2NH0sCit7ImxpbnV4L2ZzLmgiLCAiQkxLRlJBR0VUIiwgMHgxMjY1fSwKK3sibGludXgvZnMuaCIsICJCTEtTRUNUU0VUIiwgMHgxMjY2fSwKK3sibGludXgvZnMuaCIsICJCTEtTRUNUR0VUIiwgMHgxMjY3fSwKK3sibGludXgvZnMuaCIsICJCTEtTU1pHRVQiLCAweDEyNjh9LAoreyJsaW51eC9mcy5oIiwgIkJMS1BHIiwgMHgxMjY5fSwKK3sic2NzaS9zZy5oIiwgIlNHX1NFVF9USU1FT1VUIiwgMHgyMjAxfSwKK3sic2NzaS9zZy5oIiwgIlNHX0dFVF9USU1FT1VUIiwgMHgyMjAyfSwKK3sic2NzaS9zZy5oIiwgIlNHX0VNVUxBVEVEX0hPU1QiLCAweDIyMDN9LAoreyJzY3NpL3NnLmgiLCAiU0dfU0VUX1RSQU5TRk9STSIsIDB4MjIwNH0sCit7InNjc2kvc2cuaCIsICJTR19HRVRfVFJBTlNGT1JNIiwgMHgyMjA1fSwKK3sic2NzaS9zZy5oIiwgIlNHX0dFVF9DT01NQU5EX1EiLCAweDIyNzB9LAoreyJzY3NpL3NnLmgiLCAiU0dfU0VUX0NPTU1BTkRfUSIsIDB4MjI3MX0sCit7InNjc2kvc2cuaCIsICJTR19HRVRfUkVTRVJWRURfU0laRSIsIDB4MjI3Mn0sCit7InNjc2kvc2cuaCIsICJTR19TRVRfUkVTRVJWRURfU0laRSIsIDB4MjI3NX0sCit7InNjc2kvc2cuaCIsICJTR19HRVRfU0NTSV9JRCIsIDB4MjI3Nn0sCit7InNjc2kvc2cuaCIsICJTR19TRVRfRk9SQ0VfTE9XX0RNQSIsIDB4MjI3OX0sCit7InNjc2kvc2cuaCIsICJTR19HRVRfTE9XX0RNQSIsIDB4MjI3YX0sCit7InNjc2kvc2cuaCIsICJTR19TRVRfRk9SQ0VfUEFDS19JRCIsIDB4MjI3Yn0sCit7InNjc2kvc2cuaCIsICJTR19HRVRfUEFDS19JRCIsIDB4MjI3Y30sCit7InNjc2kvc2cuaCIsICJTR19HRVRfTlVNX1dBSVRJTkciLCAweDIyN2R9LAoreyJzY3NpL3NnLmgiLCAiU0dfU0VUX0RFQlVHIiwgMHgyMjdlfSwKK3sic2NzaS9zZy5oIiwgIlNHX0dFVF9TR19UQUJMRVNJWkUiLCAweDIyN2Z9LAoreyJzY3NpL3NnLmgiLCAiU0dfR0VUX1ZFUlNJT05fTlVNIiwgMHgyMjgyfSwKK3sic2NzaS9zZy5oIiwgIlNHX05FWFRfQ01EX0xFTiIsIDB4MjI4M30sCit7InNjc2kvc2cuaCIsICJTR19TQ1NJX1JFU0VUIiwgMHgyMjg0fSwKK3sic2NzaS9zZy5oIiwgIlNHX0lPIiwgMHgyMjg1fSwKK3sic2NzaS9zZy5oIiwgIlNHX0dFVF9SRVFVRVNUX1RBQkxFIiwgMHgyMjg2fSwKK3sic2NzaS9zZy5oIiwgIlNHX1NFVF9LRUVQX09SUEhBTiIsIDB4MjI4N30sCit7InNjc2kvc2cuaCIsICJTR19HRVRfS0VFUF9PUlBIQU4iLCAweDIyODh9LAoreyJsaW51eC9hZ3BnYXJ0LmgiLCAiQUdQSU9DX0FDUVVJUkUiLCAweDQxMDF9LAoreyJsaW51eC9hZ3BnYXJ0LmgiLCAiQUdQSU9DX1JFTEVBU0UiLCAweDQxMDJ9LAoreyJsaW51eC9wbXUuaCIsICJQTVVfSU9DX1NMRUVQIiwgMHg0MjAwfSwKK3siYXNtL2Rhc2QuaCIsICJCSU9EQVNERElTQUJMRSIsIDB4NDQwMH0sCit7ImFzbS9kYXNkLmgiLCAiQklPREFTREVOQUJMRSIsIDB4NDQwMX0sCit7ImFzbS9kYXNkLmgiLCAiQklPREFTRFJTUlYiLCAweDQ0MDJ9LAoreyJhc20vZGFzZC5oIiwgIkJJT0RBU0RSTFNFIiwgMHg0NDAzfSwKK3siYXNtL2Rhc2QuaCIsICJCSU9EQVNEU0xDSyIsIDB4NDQwNH0sCit7ImFzbS9kYXNkLmgiLCAiQklPREFTRFBSUlNUIiwgMHg0NDA1fSwKK3siYXNtL2Rhc2QuaCIsICJCSU9EQVNEUVVJRVNDRSIsIDB4NDQwNn0sCit7ImFzbS9kYXNkLmgiLCAiQklPREFTRFJFU1VNRSIsIDB4NDQwN30sCit7ImFzbS9jbWIuaCIsICJCSU9EQVNEQ01GRU5BQkxFIiwgMHg0NDIwfSwKK3siYXNtL2NtYi5oIiwgIkJJT0RBU0RDTUZESVNBQkxFIiwgMHg0NDIxfSwKK3siYXNtL2NtYi5oIiwgIkJJT0RBU0RSRVNFVENNQiIsIDB4NDQyMn0sCit7ImxpbnV4L2ZiLmgiLCAiRkJJT0dFVF9WU0NSRUVOSU5GTyIsIDB4NDYwMH0sCit7ImxpbnV4L2ZiLmgiLCAiRkJJT1BVVF9WU0NSRUVOSU5GTyIsIDB4NDYwMX0sCit7ImxpbnV4L3BzMmVzZGkuaCIsICJDTURfUkVBRCIsIDB4NDYwMX0sCit7ImxpbnV4L2ZiLmgiLCAiRkJJT0dFVF9GU0NSRUVOSU5GTyIsIDB4NDYwMn0sCit7ImxpbnV4L3BzMmVzZGkuaCIsICJDTURfV1JJVEUiLCAweDQ2MDJ9LAoreyJsaW51eC9mYi5oIiwgIkZCSU9HRVRDTUFQIiwgMHg0NjA0fSwKK3sibGludXgvZmIuaCIsICJGQklPUFVUQ01BUCIsIDB4NDYwNX0sCit7ImxpbnV4L2ZiLmgiLCAiRkJJT1BBTl9ESVNQTEFZIiwgMHg0NjA2fSwKK3sibGludXgvZmIuaCIsICJGQklPR0VUX0ZDVVJTT1JJTkZPIiwgMHg0NjA3fSwKK3sibGludXgvZmIuaCIsICJGQklPR0VUX1ZDVVJTT1JJTkZPIiwgMHg0NjA4fSwKK3sibGludXgvZmIuaCIsICJGQklPUFVUX1ZDVVJTT1JJTkZPIiwgMHg0NjA5fSwKK3sibGludXgvZmIuaCIsICJGQklPR0VUX0NVUlNPUlNUQVRFIiwgMHg0NjBhfSwKK3sibGludXgvZmIuaCIsICJGQklPUFVUX0NVUlNPUlNUQVRFIiwgMHg0NjBifSwKK3sibGludXgvZmIuaCIsICJGQklPR0VUX0NPTjJGQk1BUCIsIDB4NDYwZn0sCit7ImxpbnV4L2ZiLmgiLCAiRkJJT1BVVF9DT04yRkJNQVAiLCAweDQ2MTB9LAoreyJsaW51eC9mYi5oIiwgIkZCSU9CTEFOSyIsIDB4NDYxMX0sCit7ImxpbnV4L2ZiLmgiLCAiRkJJT19BTExPQyIsIDB4NDYxM30sCit7ImxpbnV4L2ZiLmgiLCAiRkJJT19GUkVFIiwgMHg0NjE0fSwKK3sibGludXgvZmIuaCIsICJGQklPR0VUX0dMWVBIIiwgMHg0NjE1fSwKK3sibGludXgvZmIuaCIsICJGQklPR0VUX0hXQ0lORk8iLCAweDQ2MTZ9LAoreyJsaW51eC9pc2RuLmgiLCAiSUlPQ05FVEFJRiIsIDB4NDkwMX0sCit7ImxpbnV4L2lzZG4uaCIsICJJSU9DTkVURElGIiwgMHg0OTAyfSwKK3sibGludXgvaXNkbi5oIiwgIklJT0NORVRTQ0YiLCAweDQ5MDN9LAoreyJsaW51eC9pc2RuLmgiLCAiSUlPQ05FVEdDRiIsIDB4NDkwNH0sCit7ImxpbnV4L2lzZG4uaCIsICJJSU9DTkVUQU5NIiwgMHg0OTA1fSwKK3sibGludXgvaXNkbi5oIiwgIklJT0NORVRETk0iLCAweDQ5MDZ9LAoreyJsaW51eC9pc2RuLmgiLCAiSUlPQ05FVEdOTSIsIDB4NDkwN30sCit7ImxpbnV4L2lzZG4uaCIsICJJSU9DR0VUU0VUIiwgMHg0OTA4fSwKK3sibGludXgvaXNkbi5oIiwgIklJT0NTRVRTRVQiLCAweDQ5MDl9LAoreyJsaW51eC9pc2RuLmgiLCAiSUlPQ1NFVFZFUiIsIDB4NDkwYX0sCit7ImxpbnV4L2lzZG4uaCIsICJJSU9DTkVUSFVQIiwgMHg0OTBifSwKK3sibGludXgvaXNkbi5oIiwgIklJT0NTRVRHU1QiLCAweDQ5MGN9LAoreyJsaW51eC9pc2RuLmgiLCAiSUlPQ1NFVEJSSiIsIDB4NDkwZH0sCit7ImxpbnV4L2lzZG4uaCIsICJJSU9DU0lHUFJGIiwgMHg0OTBlfSwKK3sibGludXgvaXNkbi5oIiwgIklJT0NHRVRQUkYiLCAweDQ5MGZ9LAoreyJsaW51eC9pc2RuLmgiLCAiSUlPQ1NFVFBSRiIsIDB4NDkxMH0sCit7ImxpbnV4L2lzZG4uaCIsICJJSU9DR0VUTUFQIiwgMHg0OTExfSwKK3sibGludXgvaXNkbi5oIiwgIklJT0NTRVRNQVAiLCAweDQ5MTJ9LAoreyJsaW51eC9pc2RuLmgiLCAiSUlPQ05FVEFTTCIsIDB4NDkxM30sCit7ImxpbnV4L2lzZG4uaCIsICJJSU9DTkVURElMIiwgMHg0OTE0fSwKK3sibGludXgvaXNkbi5oIiwgIklJT0NHRVRDUFMiLCAweDQ5MTV9LAoreyJsaW51eC9pc2RuLmgiLCAiSUlPQ0dFVERWUiIsIDB4NDkxNn0sCit7ImxpbnV4L2lzZG4uaCIsICJJSU9DTkVUTENSIiwgMHg0OTE3fSwKK3sibGludXgvaXNkbi5oIiwgIklJT0NORVREV1JTRVQiLCAweDQ5MTh9LAoreyJsaW51eC9pc2RuLmgiLCAiSUlPQ05FVEFMTiIsIDB4NDkyMH0sCit7ImxpbnV4L2lzZG4uaCIsICJJSU9DTkVURExOIiwgMHg0OTIxfSwKK3sibGludXgvaXNkbi5oIiwgIklJT0NORVRHUE4iLCAweDQ5MjJ9LAoreyJsaW51eC9pc2RuLmgiLCAiSUlPQ0RCR1ZBUiIsIDB4NDk3Zn0sCit7ImxpbnV4L2lzZG4uaCIsICJJSU9DRFJWQ1RMIiwgMHg0OTgwfSwKK3sibGludXgva2QuaCIsICJLSU9DU09VTkQiLCAweDRiMmZ9LAoreyJsaW51eC9rZC5oIiwgIktETUtUT05FIiwgMHg0YjMwfSwKK3sibGludXgva2QuaCIsICJLREdFVExFRCIsIDB4NGIzMX0sCit7ImxpbnV4L2tkLmgiLCAiS0RTRVRMRUQiLCAweDRiMzJ9LAoreyJsaW51eC9rZC5oIiwgIktER0tCVFlQRSIsIDB4NGIzM30sCit7ImxpbnV4L2tkLmgiLCAiS0RBRERJTyIsIDB4NGIzNH0sCit7ImxpbnV4L2tkLmgiLCAiS0RERUxJTyIsIDB4NGIzNX0sCit7ImxpbnV4L2tkLmgiLCAiS0RFTkFCSU8iLCAweDRiMzZ9LAoreyJsaW51eC9rZC5oIiwgIktERElTQUJJTyIsIDB4NGIzN30sCit7ImxpbnV4L2tkLmgiLCAiS0RTRVRNT0RFIiwgMHg0YjNhfSwKK3sibGludXgva2QuaCIsICJLREdFVE1PREUiLCAweDRiM2J9LAoreyJsaW51eC9rZC5oIiwgIktETUFQRElTUCIsIDB4NGIzY30sCit7ImxpbnV4L2tkLmgiLCAiS0RVTk1BUERJU1AiLCAweDRiM2R9LAoreyJsaW51eC9rZC5oIiwgIkdJT19TQ1JOTUFQIiwgMHg0YjQwfSwKK3sibGludXgva2QuaCIsICJQSU9fU0NSTk1BUCIsIDB4NGI0MX0sCit7ImxpbnV4L2tkLmgiLCAiS0RHS0JNT0RFIiwgMHg0YjQ0fSwKK3sibGludXgva2QuaCIsICJLRFNLQk1PREUiLCAweDRiNDV9LAoreyJsaW51eC9rZC5oIiwgIktER0tCRU5UIiwgMHg0YjQ2fSwKK3sibGludXgva2QuaCIsICJLRFNLQkVOVCIsIDB4NGI0N30sCit7ImxpbnV4L2tkLmgiLCAiS0RHS0JTRU5UIiwgMHg0YjQ4fSwKK3sibGludXgva2QuaCIsICJLRFNLQlNFTlQiLCAweDRiNDl9LAoreyJsaW51eC9rZC5oIiwgIktER0tCRElBQ1IiLCAweDRiNGF9LAoreyJsaW51eC9rZC5oIiwgIktEU0tCRElBQ1IiLCAweDRiNGJ9LAoreyJsaW51eC9rZC5oIiwgIktER0VUS0VZQ09ERSIsIDB4NGI0Y30sCit7ImxpbnV4L2tkLmgiLCAiS0RTRVRLRVlDT0RFIiwgMHg0YjRkfSwKK3sibGludXgva2QuaCIsICJLRFNJR0FDQ0VQVCIsIDB4NGI0ZX0sCit7ImxpbnV4L2tkLmgiLCAiS0RHSFdDTEsiLCAweDRiNTB9LAoreyJsaW51eC9rZC5oIiwgIktEU0hXQ0xLIiwgMHg0YjUxfSwKK3sibGludXgva2QuaCIsICJLREtCRFJFUCIsIDB4NGI1Mn0sCit7ImxpbnV4L2tkLmgiLCAiR0lPX0ZPTlQiLCAweDRiNjB9LAoreyJsaW51eC9rZC5oIiwgIlBJT19GT05UIiwgMHg0YjYxfSwKK3sibGludXgva2QuaCIsICJLREdLQk1FVEEiLCAweDRiNjJ9LAoreyJsaW51eC9rZC5oIiwgIktEU0tCTUVUQSIsIDB4NGI2M30sCit7ImxpbnV4L2tkLmgiLCAiS0RHS0JMRUQiLCAweDRiNjR9LAoreyJsaW51eC9rZC5oIiwgIktEU0tCTEVEIiwgMHg0YjY1fSwKK3sibGludXgva2QuaCIsICJHSU9fVU5JTUFQIiwgMHg0YjY2fSwKK3sibGludXgva2QuaCIsICJQSU9fVU5JTUFQIiwgMHg0YjY3fSwKK3sibGludXgva2QuaCIsICJQSU9fVU5JTUFQQ0xSIiwgMHg0YjY4fSwKK3sibGludXgva2QuaCIsICJHSU9fVU5JU0NSTk1BUCIsIDB4NGI2OX0sCit7ImxpbnV4L2tkLmgiLCAiUElPX1VOSVNDUk5NQVAiLCAweDRiNmF9LAoreyJsaW51eC9rZC5oIiwgIkdJT19GT05UWCIsIDB4NGI2Yn0sCit7ImxpbnV4L2tkLmgiLCAiUElPX0ZPTlRYIiwgMHg0YjZjfSwKK3sibGludXgva2QuaCIsICJQSU9fRk9OVFJFU0VUIiwgMHg0YjZkfSwKK3sibGludXgva2QuaCIsICJHSU9fQ01BUCIsIDB4NGI3MH0sCit7ImxpbnV4L2tkLmgiLCAiUElPX0NNQVAiLCAweDRiNzF9LAoreyJsaW51eC9rZC5oIiwgIktERk9OVE9QIiwgMHg0YjcyfSwKK3sibGludXgvbG9vcC5oIiwgIkxPT1BfU0VUX0ZEIiwgMHg0YzAwfSwKK3sibGludXgvbG9vcC5oIiwgIkxPT1BfQ0xSX0ZEIiwgMHg0YzAxfSwKK3sibGludXgvbG9vcC5oIiwgIkxPT1BfU0VUX1NUQVRVUyIsIDB4NGMwMn0sCit7ImxpbnV4L2xvb3AuaCIsICJMT09QX0dFVF9TVEFUVVMiLCAweDRjMDN9LAoreyJsaW51eC9yYW5kb20uaCIsICJSTkRaQVBFTlRDTlQiLCAweDUyMDR9LAoreyJsaW51eC9yYW5kb20uaCIsICJSTkRDTEVBUlBPT0wiLCAweDUyMDZ9LAoreyJsaW51eC9jZHJvbS5oIiwgIkNEUk9NUEFVU0UiLCAweDUzMDF9LAoreyJsaW51eC9jZHJvbS5oIiwgIkNEUk9NUkVTVU1FIiwgMHg1MzAyfSwKK3sibGludXgvY2Ryb20uaCIsICJDRFJPTVBMQVlNU0YiLCAweDUzMDN9LAoreyJsaW51eC9jZHJvbS5oIiwgIkNEUk9NUExBWVRSS0lORCIsIDB4NTMwNH0sCit7ImxpbnV4L2Nkcm9tLmgiLCAiQ0RST01SRUFEVE9DSERSIiwgMHg1MzA1fSwKK3sibGludXgvY2Ryb20uaCIsICJDRFJPTVJFQURUT0NFTlRSWSIsIDB4NTMwNn0sCit7ImxpbnV4L2Nkcm9tLmgiLCAiQ0RST01TVE9QIiwgMHg1MzA3fSwKK3sibGludXgvY2Ryb20uaCIsICJDRFJPTVNUQVJUIiwgMHg1MzA4fSwKK3sibGludXgvY2Ryb20uaCIsICJDRFJPTUVKRUNUIiwgMHg1MzA5fSwKK3sibGludXgvY2Ryb20uaCIsICJDRFJPTVZPTENUUkwiLCAweDUzMGF9LAoreyJsaW51eC9jZHJvbS5oIiwgIkNEUk9NU1VCQ0hOTCIsIDB4NTMwYn0sCit7ImxpbnV4L2Nkcm9tLmgiLCAiQ0RST01SRUFETU9ERTIiLCAweDUzMGN9LAoreyJsaW51eC9jZHJvbS5oIiwgIkNEUk9NUkVBRE1PREUxIiwgMHg1MzBkfSwKK3sibGludXgvY2Ryb20uaCIsICJDRFJPTVJFQURBVURJTyIsIDB4NTMwZX0sCit7ImxpbnV4L2Nkcm9tLmgiLCAiQ0RST01FSkVDVF9TVyIsIDB4NTMwZn0sCit7ImxpbnV4L2Nkcm9tLmgiLCAiQ0RST01NVUxUSVNFU1NJT04iLCAweDUzMTB9LAoreyJsaW51eC9jZHJvbS5oIiwgIkNEUk9NX0dFVF9NQ04iLCAweDUzMTF9LAoreyJsaW51eC9jZHJvbS5oIiwgIkNEUk9NUkVTRVQiLCAweDUzMTJ9LAoreyJsaW51eC9jZHJvbS5oIiwgIkNEUk9NVk9MUkVBRCIsIDB4NTMxM30sCit7ImxpbnV4L2Nkcm9tLmgiLCAiQ0RST01SRUFEUkFXIiwgMHg1MzE0fSwKK3sibGludXgvY2Ryb20uaCIsICJDRFJPTVJFQURDT09LRUQiLCAweDUzMTV9LAoreyJsaW51eC9jZHJvbS5oIiwgIkNEUk9NU0VFSyIsIDB4NTMxNn0sCit7ImxpbnV4L2Nkcm9tLmgiLCAiQ0RST01QTEFZQkxLIiwgMHg1MzE3fSwKK3sibGludXgvY2Ryb20uaCIsICJDRFJPTVJFQURBTEwiLCAweDUzMTh9LAoreyJsaW51eC9jZHJvbS5oIiwgIkNEUk9NQ0xPU0VUUkFZIiwgMHg1MzE5fSwKK3sibGludXgvY2Ryb20uaCIsICJDRFJPTUdFVFNQSU5ET1dOIiwgMHg1MzFkfSwKK3sibGludXgvY2Ryb20uaCIsICJDRFJPTVNFVFNQSU5ET1dOIiwgMHg1MzFlfSwKK3sibGludXgvY2Ryb20uaCIsICJDRFJPTV9TRVRfT1BUSU9OUyIsIDB4NTMyMH0sCit7ImxpbnV4L2Nkcm9tLmgiLCAiQ0RST01fQ0xFQVJfT1BUSU9OUyIsIDB4NTMyMX0sCit7ImxpbnV4L2Nkcm9tLmgiLCAiQ0RST01fU0VMRUNUX1NQRUVEIiwgMHg1MzIyfSwKK3sibGludXgvY2Ryb20uaCIsICJDRFJPTV9TRUxFQ1RfRElTQyIsIDB4NTMyM30sCit7ImxpbnV4L2Nkcm9tLmgiLCAiQ0RST01fTUVESUFfQ0hBTkdFRCIsIDB4NTMyNX0sCit7ImxpbnV4L2Nkcm9tLmgiLCAiQ0RST01fRFJJVkVfU1RBVFVTIiwgMHg1MzI2fSwKK3sibGludXgvY2Ryb20uaCIsICJDRFJPTV9ESVNDX1NUQVRVUyIsIDB4NTMyN30sCit7ImxpbnV4L2Nkcm9tLmgiLCAiQ0RST01fQ0hBTkdFUl9OU0xPVFMiLCAweDUzMjh9LAoreyJsaW51eC9jZHJvbS5oIiwgIkNEUk9NX0xPQ0tET09SIiwgMHg1MzI5fSwKK3sibGludXgvY2Ryb20uaCIsICJDRFJPTV9ERUJVRyIsIDB4NTMzMH0sCit7ImxpbnV4L2Nkcm9tLmgiLCAiQ0RST01fR0VUX0NBUEFCSUxJVFkiLCAweDUzMzF9LAoreyJzY3NpL3Njc2lfaW9jdGwuaCIsICJTQ1NJX0lPQ1RMX0RPT1JMT0NLIiwgMHg1MzgwfSwKK3sic2NzaS9zY3NpX2lvY3RsLmgiLCAiU0NTSV9JT0NUTF9ET09SVU5MT0NLIiwgMHg1MzgxfSwKK3sic2NzaS9zY3NpLmgiLCAiU0NTSV9JT0NUTF9HRVRfSURMVU4iLCAweDUzODJ9LAoreyJzY3NpL3Njc2kuaCIsICJTQ1NJX0lPQ1RMX1RBR0dFRF9FTkFCTEUiLCAweDUzODN9LAoreyJzY3NpL3Njc2kuaCIsICJTQ1NJX0lPQ1RMX1RBR0dFRF9ESVNBQkxFIiwgMHg1Mzg0fSwKK3sic2NzaS9zY3NpLmgiLCAiU0NTSV9JT0NUTF9QUk9CRV9IT1NUIiwgMHg1Mzg1fSwKK3sic2NzaS9zY3NpLmgiLCAiU0NTSV9JT0NUTF9HRVRfQlVTX05VTUJFUiIsIDB4NTM4Nn0sCit7ImxpbnV4L2Nkcm9tLmgiLCAiRFZEX1JFQURfU1RSVUNUIiwgMHg1MzkwfSwKK3sibGludXgvY2Ryb20uaCIsICJEVkRfV1JJVEVfU1RSVUNUIiwgMHg1MzkxfSwKK3sibGludXgvY2Ryb20uaCIsICJEVkRfQVVUSCIsIDB4NTM5Mn0sCit7ImxpbnV4L2Nkcm9tLmgiLCAiQ0RST01fU0VORF9QQUNLRVQiLCAweDUzOTN9LAoreyJsaW51eC9jZHJvbS5oIiwgIkNEUk9NX05FWFRfV1JJVEFCTEUiLCAweDUzOTR9LAoreyJsaW51eC9jZHJvbS5oIiwgIkNEUk9NX0xBU1RfV1JJVFRFTiIsIDB4NTM5NX0sCit7ImFzbS9pb2N0bHMuaCIsICJUQ0dFVFMiLCAweDU0MDF9LAoreyJhc20vaW9jdGxzLmgiLCAiVENTRVRTIiwgMHg1NDAyfSwKK3siYXNtL2lvY3Rscy5oIiwgIlRDU0VUU1ciLCAweDU0MDN9LAoreyJhc20vaW9jdGxzLmgiLCAiVENTRVRTRiIsIDB4NTQwNH0sCit7ImFzbS9pb2N0bHMuaCIsICJUQ0dFVEEiLCAweDU0MDV9LAoreyJhc20vaW9jdGxzLmgiLCAiVENTRVRBIiwgMHg1NDA2fSwKK3siYXNtL2lvY3Rscy5oIiwgIlRDU0VUQVciLCAweDU0MDd9LAoreyJhc20vaW9jdGxzLmgiLCAiVENTRVRBRiIsIDB4NTQwOH0sCit7ImFzbS9pb2N0bHMuaCIsICJUQ1NCUksiLCAweDU0MDl9LAoreyJhc20vaW9jdGxzLmgiLCAiVENYT05DIiwgMHg1NDBhfSwKK3siYXNtL2lvY3Rscy5oIiwgIlRDRkxTSCIsIDB4NTQwYn0sCit7ImFzbS9pb2N0bHMuaCIsICJUSU9DRVhDTCIsIDB4NTQwY30sCit7ImFzbS9pb2N0bHMuaCIsICJUSU9DTlhDTCIsIDB4NTQwZH0sCit7ImFzbS9pb2N0bHMuaCIsICJUSU9DU0NUVFkiLCAweDU0MGV9LAoreyJhc20vaW9jdGxzLmgiLCAiVElPQ0dQR1JQIiwgMHg1NDBmfSwKK3siYXNtL2lvY3Rscy5oIiwgIlRJT0NTUEdSUCIsIDB4NTQxMH0sCit7ImFzbS9pb2N0bHMuaCIsICJUSU9DT1VUUSIsIDB4NTQxMX0sCit7ImFzbS9pb2N0bHMuaCIsICJUSU9DU1RJIiwgMHg1NDEyfSwKK3siYXNtL2lvY3Rscy5oIiwgIlRJT0NHV0lOU1oiLCAweDU0MTN9LAoreyJhc20vaW9jdGxzLmgiLCAiVElPQ1NXSU5TWiIsIDB4NTQxNH0sCit7ImFzbS9pb2N0bHMuaCIsICJUSU9DTUdFVCIsIDB4NTQxNX0sCit7ImFzbS9pb2N0bHMuaCIsICJUSU9DTUJJUyIsIDB4NTQxNn0sCit7ImFzbS9pb2N0bHMuaCIsICJUSU9DTUJJQyIsIDB4NTQxN30sCit7ImFzbS9pb2N0bHMuaCIsICJUSU9DTVNFVCIsIDB4NTQxOH0sCit7ImFzbS9pb2N0bHMuaCIsICJUSU9DR1NPRlRDQVIiLCAweDU0MTl9LAoreyJhc20vaW9jdGxzLmgiLCAiVElPQ1NTT0ZUQ0FSIiwgMHg1NDFhfSwKK3siYXNtL2lvY3Rscy5oIiwgIkZJT05SRUFEIiwgMHg1NDFifSwKK3siYXNtL2lvY3Rscy5oIiwgIlRJT0NMSU5VWCIsIDB4NTQxY30sCit7ImFzbS9pb2N0bHMuaCIsICJUSU9DQ09OUyIsIDB4NTQxZH0sCit7ImFzbS9pb2N0bHMuaCIsICJUSU9DR1NFUklBTCIsIDB4NTQxZX0sCit7ImFzbS9pb2N0bHMuaCIsICJUSU9DU1NFUklBTCIsIDB4NTQxZn0sCit7ImFzbS9pb2N0bHMuaCIsICJUSU9DUEtUIiwgMHg1NDIwfSwKK3siYXNtL2lvY3Rscy5oIiwgIkZJT05CSU8iLCAweDU0MjF9LAoreyJhc20vaW9jdGxzLmgiLCAiVElPQ05PVFRZIiwgMHg1NDIyfSwKK3siYXNtL2lvY3Rscy5oIiwgIlRJT0NTRVREIiwgMHg1NDIzfSwKK3siYXNtL2lvY3Rscy5oIiwgIlRJT0NHRVREIiwgMHg1NDI0fSwKK3siYXNtL2lvY3Rscy5oIiwgIlRDU0JSS1AiLCAweDU0MjV9LAoreyJhc20vaW9jdGxzLmgiLCAiVElPQ1RUWUdTVFJVQ1QiLCAweDU0MjZ9LAoreyJhc20vaW9jdGxzLmgiLCAiVElPQ1NCUksiLCAweDU0Mjd9LAoreyJhc20vaW9jdGxzLmgiLCAiVElPQ0NCUksiLCAweDU0Mjh9LAoreyJhc20vaW9jdGxzLmgiLCAiVElPQ0dTSUQiLCAweDU0Mjl9LAoreyJhc20vaW9jdGxzLmgiLCAiRklPTkNMRVgiLCAweDU0NTB9LAoreyJhc20vaW9jdGxzLmgiLCAiRklPQ0xFWCIsIDB4NTQ1MX0sCit7ImFzbS9pb2N0bHMuaCIsICJGSU9BU1lOQyIsIDB4NTQ1Mn0sCit7ImFzbS9pb2N0bHMuaCIsICJUSU9DU0VSQ09ORklHIiwgMHg1NDUzfSwKK3siYXNtL2lvY3Rscy5oIiwgIlRJT0NTRVJHV0lMRCIsIDB4NTQ1NH0sCit7ImFzbS9pb2N0bHMuaCIsICJUSU9DU0VSU1dJTEQiLCAweDU0NTV9LAoreyJhc20vaW9jdGxzLmgiLCAiVElPQ0dMQ0tUUk1JT1MiLCAweDU0NTZ9LAoreyJhc20vaW9jdGxzLmgiLCAiVElPQ1NMQ0tUUk1JT1MiLCAweDU0NTd9LAoreyJhc20vaW9jdGxzLmgiLCAiVElPQ1NFUkdTVFJVQ1QiLCAweDU0NTh9LAoreyJhc20vaW9jdGxzLmgiLCAiVElPQ1NFUkdFVExTUiIsIDB4NTQ1OX0sCit7ImFzbS9pb2N0bHMuaCIsICJUSU9DU0VSR0VUTVVMVEkiLCAweDU0NWF9LAoreyJhc20vaW9jdGxzLmgiLCAiVElPQ1NFUlNFVE1VTFRJIiwgMHg1NDVifSwKK3siYXNtL2lvY3Rscy5oIiwgIlRJT0NNSVdBSVQiLCAweDU0NWN9LAoreyJhc20vaW9jdGxzLmgiLCAiVElPQ0dJQ09VTlQiLCAweDU0NWR9LAoreyJhc20vaW9jdGxzLmgiLCAiRklPUVNJWkUiLCAweDU0NWV9LAoreyJsaW51eC91c2JkZXZpY2VfZnMuaCIsICJVU0JERVZGU19ESVNDQVJEVVJCIiwgMHg1NTBifSwKK3sibGludXgvdXNiZGV2aWNlX2ZzLmgiLCAiVVNCREVWRlNfUkVTRVQiLCAweDU1MTR9LAoreyJsaW51eC92dC5oIiwgIlZUX09QRU5RUlkiLCAweDU2MDB9LAoreyJsaW51eC92dC5oIiwgIlZUX0dFVE1PREUiLCAweDU2MDF9LAoreyJsaW51eC92dC5oIiwgIlZUX1NFVE1PREUiLCAweDU2MDJ9LAoreyJsaW51eC92dC5oIiwgIlZUX0dFVFNUQVRFIiwgMHg1NjAzfSwKK3sibGludXgvdnQuaCIsICJWVF9TRU5EU0lHIiwgMHg1NjA0fSwKK3sibGludXgvdnQuaCIsICJWVF9SRUxESVNQIiwgMHg1NjA1fSwKK3sibGludXgvdnQuaCIsICJWVF9BQ1RJVkFURSIsIDB4NTYwNn0sCit7ImxpbnV4L3Z0LmgiLCAiVlRfV0FJVEFDVElWRSIsIDB4NTYwN30sCit7ImxpbnV4L3Z0LmgiLCAiVlRfRElTQUxMT0NBVEUiLCAweDU2MDh9LAoreyJsaW51eC92dC5oIiwgIlZUX1JFU0laRSIsIDB4NTYwOX0sCit7ImxpbnV4L3Z0LmgiLCAiVlRfUkVTSVpFWCIsIDB4NTYwYX0sCit7ImxpbnV4L3Z0LmgiLCAiVlRfTE9DS1NXSVRDSCIsIDB4NTYwYn0sCit7ImxpbnV4L3Z0LmgiLCAiVlRfVU5MT0NLU1dJVENIIiwgMHg1NjBjfSwKK3sibGludXgvc29uZXQuaCIsICJTT05FVF9TRVRGUkFNSU5HIiwgMHg2MTE1fSwKK3sibGludXgvYXRtX25pY3N0YXIuaCIsICJOU19BREpCVUZMRVYiLCAweDYxNjN9LAoreyJsaW51eC9hdG1fdGNwLmgiLCAiU0lPQ1NJRkFUTVRDUCIsIDB4NjE4MH0sCit7ImxpbnV4L2F0bV90Y3AuaCIsICJBVE1UQ1BfQ1JFQVRFIiwgMHg2MThlfSwKK3sibGludXgvYXRtX3RjcC5oIiwgIkFUTVRDUF9SRU1PVkUiLCAweDYxOGZ9LAoreyJsaW51eC9hdG1sZWMuaCIsICJBVE1MRUNfQ1RSTCIsIDB4NjFkMH0sCit7ImxpbnV4L2F0bWxlYy5oIiwgIkFUTUxFQ19EQVRBIiwgMHg2MWQxfSwKK3sibGludXgvYXRtbGVjLmgiLCAiQVRNTEVDX01DQVNUIiwgMHg2MWQyfSwKK3sibGludXgvYXRtbXBjLmgiLCAiQVRNTVBDX0NUUkwiLCAweDYxZDh9LAoreyJsaW51eC9hdG1tcGMuaCIsICJBVE1NUENfREFUQSIsIDB4NjFkOX0sCit7ImxpbnV4L2F0bWNsaXAuaCIsICJTSU9DTUtDTElQIiwgMHg2MWUwfSwKK3sibGludXgvYXRtYXJwLmgiLCAiQVRNQVJQRF9DVFJMIiwgMHg2MWUxfSwKK3sibGludXgvYXRtYXJwLmgiLCAiQVRNQVJQX01LSVAiLCAweDYxZTJ9LAoreyJsaW51eC9hdG1hcnAuaCIsICJBVE1BUlBfU0VURU5UUlkiLCAweDYxZTN9LAoreyJsaW51eC9hdG1hcnAuaCIsICJBVE1BUlBfRU5DQVAiLCAweDYxZTV9LAoreyJsaW51eC9hdG1zdmMuaCIsICJBVE1TSUdEX0NUUkwiLCAweDYxZjB9LAoreyJsaW51eC9jb21zdGF0cy5oIiwgIkNPTV9HRVRQT1JUU1RBVFMiLCAweDYzMWV9LAoreyJsaW51eC9jb21zdGF0cy5oIiwgIkNPTV9DTFJQT1JUU1RBVFMiLCAweDYzMWZ9LAoreyJsaW51eC9jb21zdGF0cy5oIiwgIkNPTV9HRVRCUkRTVEFUUyIsIDB4NjMyMH0sCit7ImxpbnV4L2NvbXN0YXRzLmgiLCAiQ09NX1JFQURQT1JUIiwgMHg2MzI4fSwKK3sibGludXgvY29tc3RhdHMuaCIsICJDT01fUkVBREJPQVJEIiwgMHg2MzI5fSwKK3sibGludXgvY29tc3RhdHMuaCIsICJDT01fUkVBRFBBTkVMIiwgMHg2MzJhfSwKK3sibGludXgvdmlkZW9fZGVjb2Rlci5oIiwgIkRFQ09ERVJfRFVNUCIsIDB4NjRjMH0sCit7ImxpbnV4L3N5bmNsaW5rLmgiLCAiTUdTTF9JT0NTVFhJRExFIiwgMHg2ZDAyfSwKK3sibGludXgvc3luY2xpbmsuaCIsICJNR1NMX0lPQ0dUWElETEUiLCAweDZkMDN9LAoreyJsaW51eC9zeW5jbGluay5oIiwgIk1HU0xfSU9DVFhFTkFCTEUiLCAweDZkMDR9LAoreyJsaW51eC9zeW5jbGluay5oIiwgIk1HU0xfSU9DUlhFTkFCTEUiLCAweDZkMDV9LAoreyJsaW51eC9zeW5jbGluay5oIiwgIk1HU0xfSU9DVFhBQk9SVCIsIDB4NmQwNn0sCit7ImxpbnV4L3N5bmNsaW5rLmgiLCAiTUdTTF9JT0NHU1RBVFMiLCAweDZkMDd9LAoreyJsaW51eC9zeW5jbGluay5oIiwgIk1HU0xfSU9DTE9PUFRYRE9ORSIsIDB4NmQwOX0sCit7ImxpbnV4L3N5bmNsaW5rLmgiLCAiTUdTTF9JT0NDTFJNT0RDT1VOVCIsIDB4NmQwZn0sCit7ImxpbnV4L25jcF9mcy5oIiwgIk5DUF9JT0NfQ09OTl9MT0dHRURfSU4iLCAweDZlMDN9LAoreyJsaW51eC9ydGMuaCIsICJSVENfQUlFX09OIiwgMHg3MDAxfSwKK3sibGludXgvcnRjLmgiLCAiUlRDX0FJRV9PRkYiLCAweDcwMDJ9LAoreyJsaW51eC9ydGMuaCIsICJSVENfVUlFX09OIiwgMHg3MDAzfSwKK3sibGludXgvcnRjLmgiLCAiUlRDX1VJRV9PRkYiLCAweDcwMDR9LAoreyJsaW51eC9ydGMuaCIsICJSVENfUElFX09OIiwgMHg3MDA1fSwKK3sibGludXgvcnRjLmgiLCAiUlRDX1BJRV9PRkYiLCAweDcwMDZ9LAoreyJsaW51eC9ydGMuaCIsICJSVENfV0lFX09OIiwgMHg3MDBmfSwKK3sibGludXgvcnRjLmgiLCAiUlRDX1dJRV9PRkYiLCAweDcwMTB9LAoreyJsaW51eC9udnJhbS5oIiwgIk5WUkFNX0lOSVQiLCAweDcwNDB9LAoreyJsaW51eC9udnJhbS5oIiwgIk5WUkFNX1NFVENLUyIsIDB4NzA0MX0sCit7ImxpbnV4L3BwZGV2LmgiLCAiUFBDTEFJTSIsIDB4NzA4Yn0sCit7ImxpbnV4L3BwZGV2LmgiLCAiUFBSRUxFQVNFIiwgMHg3MDhjfSwKK3sibGludXgvcHBkZXYuaCIsICJQUFlJRUxEIiwgMHg3MDhkfSwKK3sibGludXgvcHBkZXYuaCIsICJQUEVYQ0wiLCAweDcwOGZ9LAoreyJsaW51eC90ZWxlcGhvbnkuaCIsICJQSE9ORV9DQVBBQklMSVRJRVMiLCAweDcxODB9LAoreyJsaW51eC90ZWxlcGhvbnkuaCIsICJQSE9ORV9SSU5HIiwgMHg3MTgzfSwKK3sibGludXgvdGVsZXBob255LmgiLCAiUEhPTkVfSE9PS1NUQVRFIiwgMHg3MTg0fSwKK3sibGludXgvdGVsZXBob255LmgiLCAiUEhPTkVfUklOR19TVEFSVCIsIDB4NzE4N30sCit7ImxpbnV4L3RlbGVwaG9ueS5oIiwgIlBIT05FX1JJTkdfU1RPUCIsIDB4NzE4OH0sCit7ImxpbnV4L3RlbGVwaG9ueS5oIiwgIlBIT05FX1JFQ19TVEFSVCIsIDB4NzE4YX0sCit7ImxpbnV4L3RlbGVwaG9ueS5oIiwgIlBIT05FX1JFQ19TVE9QIiwgMHg3MThifSwKK3sibGludXgvdGVsZXBob255LmgiLCAiUEhPTkVfUkVDX0xFVkVMIiwgMHg3MThmfSwKK3sibGludXgvdGVsZXBob255LmgiLCAiUEhPTkVfUExBWV9TVEFSVCIsIDB4NzE5MX0sCit7ImxpbnV4L3RlbGVwaG9ueS5oIiwgIlBIT05FX1BMQVlfU1RPUCIsIDB4NzE5Mn0sCit7ImxpbnV4L3RlbGVwaG9ueS5oIiwgIlBIT05FX1BMQVlfTEVWRUwiLCAweDcxOTV9LAoreyJsaW51eC90ZWxlcGhvbnkuaCIsICJQSE9ORV9HRVRfVE9ORV9PTl9USU1FIiwgMHg3MTllfSwKK3sibGludXgvdGVsZXBob255LmgiLCAiUEhPTkVfR0VUX1RPTkVfT0ZGX1RJTUUiLCAweDcxOWZ9LAoreyJsaW51eC90ZWxlcGhvbnkuaCIsICJQSE9ORV9HRVRfVE9ORV9TVEFURSIsIDB4NzFhMH0sCit7ImxpbnV4L3RlbGVwaG9ueS5oIiwgIlBIT05FX0JVU1kiLCAweDcxYTF9LAoreyJsaW51eC90ZWxlcGhvbnkuaCIsICJQSE9ORV9SSU5HQkFDSyIsIDB4NzFhMn0sCit7ImxpbnV4L3RlbGVwaG9ueS5oIiwgIlBIT05FX0RJQUxUT05FIiwgMHg3MWEzfSwKK3sibGludXgvdGVsZXBob255LmgiLCAiUEhPTkVfQ1BUX1NUT1AiLCAweDcxYTR9LAoreyJsaW51eC90ZWxlcGhvbnkuaCIsICJQSE9ORV9QU1ROX0dFVF9TVEFURSIsIDB4NzFhNX0sCit7ImxpbnV4L3RlbGVwaG9ueS5oIiwgIlBIT05FX1BTVE5fTElORVRFU1QiLCAweDcxYTh9LAoreyJsaW51eC9peGp1c2VyLmgiLCAiSVhKQ1RMX0RTUF9SRVNFVCIsIDB4NzFjMH0sCit7ImxpbnV4L2l4anVzZXIuaCIsICJJWEpDVExfRFNQX0lETEUiLCAweDcxYzV9LAoreyJsaW51eC9peGp1c2VyLmgiLCAiSVhKQ1RMX1RFU1RSQU0iLCAweDcxYzZ9LAoreyJsaW51eC9peGp1c2VyLmgiLCAiSVhKQ1RMX0FFQ19TVE9QIiwgMHg3MWNjfSwKK3sibGludXgvaXhqdXNlci5oIiwgIklYSkNUTF9BRUNfR0VUX0xFVkVMIiwgMHg3MWNkfSwKK3sibGludXgvaXhqdXNlci5oIiwgIklYSkNUTF9QU1ROX0xJTkVURVNUIiwgMHg3MWQzfSwKK3sibGludXgvaXhqdXNlci5oIiwgIklYSkNUTF9EUllCVUZGRVJfQ0xFQVIiLCAweDcxZTd9LAoreyJsaW51eC9jZGsuaCIsICJTVExfQklOVFIiLCAweDczMTR9LAoreyJsaW51eC9jZGsuaCIsICJTVExfQlNUQVJUIiwgMHg3MzE1fSwKK3sibGludXgvY2RrLmgiLCAiU1RMX0JTVE9QIiwgMHg3MzE2fSwKK3sibGludXgvY2RrLmgiLCAiU1RMX0JSRVNFVCIsIDB4NzMxN30sCit7ImxpbnV4L2Nkay5oIiwgIlNUTF9HRVRQRkxBRyIsIDB4NzM1MH0sCit7ImxpbnV4L2Nkay5oIiwgIlNUTF9TRVRQRkxBRyIsIDB4NzM1MX0sCit7ImxpbnV4L2lmX3BwcC5oIiwgIlBQUElPQ0RJU0NPTk4iLCAweDc0Mzl9LAoreyJsaW51eC9pZl9wcHAuaCIsICJQUFBJT0NYRkVSVU5JVCIsIDB4NzQ0ZX0sCit7ImxpbnV4L2pmZnMuaCIsICJKRkZTX1BSSU5UX0hBU0giLCAweDc0NWF9LAoreyJsaW51eC9qZmZzLmgiLCAiSkZGU19QUklOVF9UUkVFIiwgMHg3NDVifSwKK3sibGludXgvamZmcy5oIiwgIkpGRlNfR0VUX1NUQVRVUyIsIDB4NzQ1Y30sCit7ImFzbS9zb2NraW9zLmgiLCAiRklPU0VUT1dOIiwgMHg4OTAxfSwKK3siYXNtL3NvY2tpb3MuaCIsICJTSU9DU1BHUlAiLCAweDg5MDJ9LAoreyJhc20vc29ja2lvcy5oIiwgIkZJT0dFVE9XTiIsIDB4ODkwM30sCit7ImFzbS9zb2NraW9zLmgiLCAiU0lPQ0dQR1JQIiwgMHg4OTA0fSwKK3siYXNtL3NvY2tpb3MuaCIsICJTSU9DQVRNQVJLIiwgMHg4OTA1fSwKK3siYXNtL3NvY2tpb3MuaCIsICJTSU9DR1NUQU1QIiwgMHg4OTA2fSwKK3sibGludXgvc29ja2lvcy5oIiwgIlNJT0NBRERSVCIsIDB4ODkwYn0sCit7ImxpbnV4L3NvY2tpb3MuaCIsICJTSU9DREVMUlQiLCAweDg5MGN9LAoreyJsaW51eC9zb2NraW9zLmgiLCAiU0lPQ1JUTVNHIiwgMHg4OTBkfSwKK3sibGludXgvc29ja2lvcy5oIiwgIlNJT0NHSUZOQU1FIiwgMHg4OTEwfSwKK3sibGludXgvc29ja2lvcy5oIiwgIlNJT0NTSUZMSU5LIiwgMHg4OTExfSwKK3sibGludXgvc29ja2lvcy5oIiwgIlNJT0NHSUZDT05GIiwgMHg4OTEyfSwKK3sibGludXgvc29ja2lvcy5oIiwgIlNJT0NHSUZGTEFHUyIsIDB4ODkxM30sCit7ImxpbnV4L3NvY2tpb3MuaCIsICJTSU9DU0lGRkxBR1MiLCAweDg5MTR9LAoreyJsaW51eC9zb2NraW9zLmgiLCAiU0lPQ0dJRkFERFIiLCAweDg5MTV9LAoreyJsaW51eC9zb2NraW9zLmgiLCAiU0lPQ1NJRkFERFIiLCAweDg5MTZ9LAoreyJsaW51eC9zb2NraW9zLmgiLCAiU0lPQ0dJRkRTVEFERFIiLCAweDg5MTd9LAoreyJsaW51eC9zb2NraW9zLmgiLCAiU0lPQ1NJRkRTVEFERFIiLCAweDg5MTh9LAoreyJsaW51eC9zb2NraW9zLmgiLCAiU0lPQ0dJRkJSREFERFIiLCAweDg5MTl9LAoreyJsaW51eC9zb2NraW9zLmgiLCAiU0lPQ1NJRkJSREFERFIiLCAweDg5MWF9LAoreyJsaW51eC9zb2NraW9zLmgiLCAiU0lPQ0dJRk5FVE1BU0siLCAweDg5MWJ9LAoreyJsaW51eC9zb2NraW9zLmgiLCAiU0lPQ1NJRk5FVE1BU0siLCAweDg5MWN9LAoreyJsaW51eC9zb2NraW9zLmgiLCAiU0lPQ0dJRk1FVFJJQyIsIDB4ODkxZH0sCit7ImxpbnV4L3NvY2tpb3MuaCIsICJTSU9DU0lGTUVUUklDIiwgMHg4OTFlfSwKK3sibGludXgvc29ja2lvcy5oIiwgIlNJT0NHSUZNRU0iLCAweDg5MWZ9LAoreyJsaW51eC9zb2NraW9zLmgiLCAiU0lPQ1NJRk1FTSIsIDB4ODkyMH0sCit7ImxpbnV4L3NvY2tpb3MuaCIsICJTSU9DR0lGTVRVIiwgMHg4OTIxfSwKK3sibGludXgvc29ja2lvcy5oIiwgIlNJT0NTSUZNVFUiLCAweDg5MjJ9LAoreyJsaW51eC9zb2NraW9zLmgiLCAiU0lPQ1NJRk5BTUUiLCAweDg5MjN9LAoreyJsaW51eC9zb2NraW9zLmgiLCAiU0lPQ1NJRkhXQUREUiIsIDB4ODkyNH0sCit7ImxpbnV4L3NvY2tpb3MuaCIsICJTSU9DR0lGRU5DQVAiLCAweDg5MjV9LAoreyJsaW51eC9zb2NraW9zLmgiLCAiU0lPQ1NJRkVOQ0FQIiwgMHg4OTI2fSwKK3sibGludXgvc29ja2lvcy5oIiwgIlNJT0NHSUZIV0FERFIiLCAweDg5Mjd9LAoreyJsaW51eC9zb2NraW9zLmgiLCAiU0lPQ0dJRlNMQVZFIiwgMHg4OTI5fSwKK3sibGludXgvc29ja2lvcy5oIiwgIlNJT0NTSUZTTEFWRSIsIDB4ODkzMH0sCit7ImxpbnV4L3NvY2tpb3MuaCIsICJTSU9DQURETVVMVEkiLCAweDg5MzF9LAoreyJsaW51eC9zb2NraW9zLmgiLCAiU0lPQ0RFTE1VTFRJIiwgMHg4OTMyfSwKK3sibGludXgvc29ja2lvcy5oIiwgIlNJT0NHSUZJTkRFWCIsIDB4ODkzM30sCit7ImxpbnV4L3NvY2tpb3MuaCIsICJTSU9DU0lGUEZMQUdTIiwgMHg4OTM0fSwKK3sibGludXgvc29ja2lvcy5oIiwgIlNJT0NHSUZQRkxBR1MiLCAweDg5MzV9LAoreyJsaW51eC9zb2NraW9zLmgiLCAiU0lPQ0RJRkFERFIiLCAweDg5MzZ9LAoreyJsaW51eC9zb2NraW9zLmgiLCAiU0lPQ1NJRkhXQlJPQURDQVNUIiwgMHg4OTM3fSwKK3sibGludXgvc29ja2lvcy5oIiwgIlNJT0NHSUZDT1VOVCIsIDB4ODkzOH0sCit7ImxpbnV4L3NvY2tpb3MuaCIsICJTSU9DR0lGQlIiLCAweDg5NDB9LAoreyJsaW51eC9zb2NraW9zLmgiLCAiU0lPQ1NJRkJSIiwgMHg4OTQxfSwKK3sibGludXgvc29ja2lvcy5oIiwgIlNJT0NHSUZUWFFMRU4iLCAweDg5NDJ9LAoreyJsaW51eC9zb2NraW9zLmgiLCAiU0lPQ1NJRlRYUUxFTiIsIDB4ODk0M30sCit7ImxpbnV4L3NvY2tpb3MuaCIsICJTSU9DREFSUCIsIDB4ODk1M30sCit7ImxpbnV4L3NvY2tpb3MuaCIsICJTSU9DR0FSUCIsIDB4ODk1NH0sCit7ImxpbnV4L3NvY2tpb3MuaCIsICJTSU9DU0FSUCIsIDB4ODk1NX0sCit7ImxpbnV4L3NvY2tpb3MuaCIsICJTSU9DRFJBUlAiLCAweDg5NjB9LAoreyJsaW51eC9zb2NraW9zLmgiLCAiU0lPQ0dSQVJQIiwgMHg4OTYxfSwKK3sibGludXgvc29ja2lvcy5oIiwgIlNJT0NTUkFSUCIsIDB4ODk2Mn0sCit7ImxpbnV4L3NvY2tpb3MuaCIsICJTSU9DR0lGTUFQIiwgMHg4OTcwfSwKK3sibGludXgvc29ja2lvcy5oIiwgIlNJT0NTSUZNQVAiLCAweDg5NzF9LAoreyJsaW51eC9zb2NraW9zLmgiLCAiU0lPQ0FERERMQ0kiLCAweDg5ODB9LAoreyJsaW51eC9zb2NraW9zLmgiLCAiU0lPQ0RFTERMQ0kiLCAweDg5ODF9LAoreyJsaW51eC9zb2NraW9zLmgiLCAiU0lPQ1BST1RPUFJJVkFURSIsIDB4ODllMH0sCit7ImxpbnV4L3NvY2tpb3MuaCIsICJTSU9DREVWUFJJVkFURSIsIDB4ODlmMH0sCit7ImxpbnV4L2F1dG9fZnMuaCIsICJBVVRPRlNfSU9DX1JFQURZIiwgMHg5MzYwfSwKK3sibGludXgvYXV0b19mcy5oIiwgIkFVVE9GU19JT0NfRkFJTCIsIDB4OTM2MX0sCit7ImxpbnV4L2F1dG9fZnMuaCIsICJBVVRPRlNfSU9DX0NBVEFUT05JQyIsIDB4OTM2Mn0sCit7ImxpbnV4L25iZC5oIiwgIk5CRF9TRVRfU09DSyIsIDB4YWIwMH0sCit7ImxpbnV4L25iZC5oIiwgIk5CRF9TRVRfQkxLU0laRSIsIDB4YWIwMX0sCit7ImxpbnV4L25iZC5oIiwgIk5CRF9TRVRfU0laRSIsIDB4YWIwMn0sCit7ImxpbnV4L25iZC5oIiwgIk5CRF9ET19JVCIsIDB4YWIwM30sCit7ImxpbnV4L25iZC5oIiwgIk5CRF9DTEVBUl9TT0NLIiwgMHhhYjA0fSwKK3sibGludXgvbmJkLmgiLCAiTkJEX0NMRUFSX1FVRSIsIDB4YWIwNX0sCit7ImxpbnV4L25iZC5oIiwgIk5CRF9QUklOVF9ERUJVRyIsIDB4YWIwNn0sCit7ImxpbnV4L25iZC5oIiwgIk5CRF9TRVRfU0laRV9CTE9DS1MiLCAweGFiMDd9LAoreyJsaW51eC9uYmQuaCIsICJOQkRfRElTQ09OTkVDVCIsIDB4YWIwOH0sCit7ImxpbnV4L3Jhdy5oIiwgIlJBV19TRVRCSU5EIiwgMHhhYzAwfSwKK3sibGludXgvcmF3LmgiLCAiUkFXX0dFVEJJTkQiLCAweGFjMDF9LAoreyJsaW51eC9pZl9wcHBveC5oIiwgIlBQUE9FSU9DREZXRCIsIDB4YjEwMX0sCit7ImxpbnV4L2x2bS5oIiwgIkxWX0FDVElWQVRFIiwgMHhmZTIyfSwKK3sibGludXgvbHZtLmgiLCAiTFZfREVBQ1RJVkFURSIsIDB4ZmUyM30sCit7ImxpbnV4L2x2bS5oIiwgIkxWTV9SRVNFVCIsIDB4ZmU5OX0sCit7ImxpbnV4L2x2bS5oIiwgIkxWTV9MT0NLX0xWTSIsIDB4ZmYwMH0sCit7ImxpbnV4L2N5Y2xhZGVzLmgiLCAiQ1lHRVRNT04iLCAweDQzNTkwMX0sCit7ImxpbnV4L2N5Y2xhZGVzLmgiLCAiQ1lHRVRUSFJFU0giLCAweDQzNTkwMn0sCit7ImxpbnV4L2N5Y2xhZGVzLmgiLCAiQ1lTRVRUSFJFU0giLCAweDQzNTkwM30sCit7ImxpbnV4L2N5Y2xhZGVzLmgiLCAiQ1lHRVRERUZUSFJFU0giLCAweDQzNTkwNH0sCit7ImxpbnV4L2N5Y2xhZGVzLmgiLCAiQ1lTRVRERUZUSFJFU0giLCAweDQzNTkwNX0sCit7ImxpbnV4L2N5Y2xhZGVzLmgiLCAiQ1lHRVRUSU1FT1VUIiwgMHg0MzU5MDZ9LAoreyJsaW51eC9jeWNsYWRlcy5oIiwgIkNZU0VUVElNRU9VVCIsIDB4NDM1OTA3fSwKK3sibGludXgvY3ljbGFkZXMuaCIsICJDWUdFVERFRlRJTUVPVVQiLCAweDQzNTkwOH0sCit7ImxpbnV4L2N5Y2xhZGVzLmgiLCAiQ1lTRVRERUZUSU1FT1VUIiwgMHg0MzU5MDl9LAoreyJsaW51eC9jeWNsYWRlcy5oIiwgIkNZU0VUUkZMT1ciLCAweDQzNTkwYX0sCit7ImxpbnV4L2N5Y2xhZGVzLmgiLCAiQ1lHRVRSRkxPVyIsIDB4NDM1OTBifSwKK3sibGludXgvY3ljbGFkZXMuaCIsICJDWVNFVFJUU0RUUl9JTlYiLCAweDQzNTkwY30sCit7ImxpbnV4L2N5Y2xhZGVzLmgiLCAiQ1lHRVRSVFNEVFJfSU5WIiwgMHg0MzU5MGR9LAoreyJsaW51eC9jeWNsYWRlcy5oIiwgIkNZWlNFVFBPTExDWUNMRSIsIDB4NDM1OTBlfSwKK3sibGludXgvY3ljbGFkZXMuaCIsICJDWVpHRVRQT0xMQ1lDTEUiLCAweDQzNTkwZn0sCit7ImxpbnV4L2N5Y2xhZGVzLmgiLCAiQ1lHRVRDRDE0MDBWRVIiLCAweDQzNTkxMH0sCit7ImxpbnV4L2N5Y2xhZGVzLmgiLCAiQ1lHRVRDQVJESU5GTyIsIDB4NDM1OTExfSwKK3sibGludXgvY3ljbGFkZXMuaCIsICJDWVNFVFdBSVQiLCAweDQzNTkxMn0sCit7ImxpbnV4L2N5Y2xhZGVzLmgiLCAiQ1lHRVRXQUlUIiwgMHg0MzU5MTN9LAoreyJsaW51eC9zb3VuZGNhcmQuaCIsICJTT1VORF9NSVhFUl9SRUFEX1ZPTFVNRSIsIDB4MjAwNDRkMDB9LAoreyJsaW51eC9zb3VuZGNhcmQuaCIsICJTT1VORF9NSVhFUl9SRUFEX0JBU1MiLCAweDIwMDQ0ZDAxfSwKK3sibGludXgvc291bmRjYXJkLmgiLCAiU09VTkRfTUlYRVJfUkVBRF9UUkVCTEUiLCAweDIwMDQ0ZDAyfSwKK3sibGludXgvc291bmRjYXJkLmgiLCAiU09VTkRfTUlYRVJfUkVBRF9TWU5USCIsIDB4MjAwNDRkMDN9LAoreyJsaW51eC9zb3VuZGNhcmQuaCIsICJTT1VORF9NSVhFUl9SRUFEX1BDTSIsIDB4MjAwNDRkMDR9LAoreyJsaW51eC9zb3VuZGNhcmQuaCIsICJTT1VORF9NSVhFUl9SRUFEX1NQRUFLRVIiLCAweDIwMDQ0ZDA1fSwKK3sibGludXgvc291bmRjYXJkLmgiLCAiU09VTkRfTUlYRVJfUkVBRF9MSU5FIiwgMHgyMDA0NGQwNn0sCit7ImxpbnV4L3NvdW5kY2FyZC5oIiwgIlNPVU5EX01JWEVSX1JFQURfTUlDIiwgMHgyMDA0NGQwN30sCit7ImxpbnV4L3NvdW5kY2FyZC5oIiwgIlNPVU5EX01JWEVSX1JFQURfQ0QiLCAweDIwMDQ0ZDA4fSwKK3sibGludXgvc291bmRjYXJkLmgiLCAiU09VTkRfTUlYRVJfUkVBRF9JTUlYIiwgMHgyMDA0NGQwOX0sCit7ImxpbnV4L3NvdW5kY2FyZC5oIiwgIlNPVU5EX01JWEVSX1JFQURfQUxUUENNIiwgMHgyMDA0NGQwYX0sCit7ImxpbnV4L3NvdW5kY2FyZC5oIiwgIlNPVU5EX01JWEVSX1JFQURfUkVDTEVWIiwgMHgyMDA0NGQwYn0sCit7ImxpbnV4L3NvdW5kY2FyZC5oIiwgIlNPVU5EX01JWEVSX1JFQURfSUdBSU4iLCAweDIwMDQ0ZDBjfSwKK3sibGludXgvc291bmRjYXJkLmgiLCAiU09VTkRfTUlYRVJfUkVBRF9PR0FJTiIsIDB4MjAwNDRkMGR9LAoreyJsaW51eC9zb3VuZGNhcmQuaCIsICJTT1VORF9NSVhFUl9SRUFEX0xJTkUxIiwgMHgyMDA0NGQwZX0sCit7ImxpbnV4L3NvdW5kY2FyZC5oIiwgIlNPVU5EX01JWEVSX1JFQURfTElORTIiLCAweDIwMDQ0ZDBmfSwKK3sibGludXgvc291bmRjYXJkLmgiLCAiU09VTkRfTUlYRVJfUkVBRF9MSU5FMyIsIDB4MjAwNDRkMTB9LAoreyJsaW51eC9zb3VuZGNhcmQuaCIsICJTT1VORF9NSVhFUl9SRUFEX01VVEUiLCAweDIwMDQ0ZDFmfSwKK3sibGludXgvc291bmRjYXJkLmgiLCAiU09VTkRfTUlYRVJfUkVBRF9FTkhBTkNFIiwgMHgyMDA0NGQxZn0sCit7ImxpbnV4L3NvdW5kY2FyZC5oIiwgIlNPVU5EX01JWEVSX1JFQURfTE9VRCIsIDB4MjAwNDRkMWZ9LAoreyJsaW51eC9zb3VuZGNhcmQuaCIsICJTT1VORF9NSVhFUl9SRUFEX1NURVJFT0RFVlMiLCAweDIwMDQ0ZGZifSwKK3sibGludXgvc291bmRjYXJkLmgiLCAiU09VTkRfTUlYRVJfUkVBRF9DQVBTIiwgMHgyMDA0NGRmY30sCit7ImxpbnV4L3NvdW5kY2FyZC5oIiwgIlNPVU5EX01JWEVSX1JFQURfUkVDTUFTSyIsIDB4MjAwNDRkZmR9LAoreyJsaW51eC9zb3VuZGNhcmQuaCIsICJTT1VORF9NSVhFUl9SRUFEX0RFVk1BU0siLCAweDIwMDQ0ZGZlfSwKK3sibGludXgvc291bmRjYXJkLmgiLCAiU09VTkRfTUlYRVJfUkVBRF9SRUNTUkMiLCAweDIwMDQ0ZGZmfSwKK3sibGludXgvcHBkZXYuaCIsICJQUFdDT05UUk9MIiwgMHg0MDAxNzA4NH0sCit7ImxpbnV4L3BwZGV2LmgiLCAiUFBXREFUQSIsIDB4NDAwMTcwODZ9LAoreyJsaW51eC9wcGRldi5oIiwgIlBQV0NUTE9OSVJRIiwgMHg0MDAxNzA5Mn0sCit7ImxpbnV4L3RlbGVwaG9ueS5oIiwgIlBIT05FX01BWFJJTkdTIiwgMHg0MDAxNzE4NX0sCit7ImxpbnV4L3RlbGVwaG9ueS5oIiwgIlBIT05FX1BMQVlfVE9ORSIsIDB4NDAwMTcxOWJ9LAoreyJsaW51eC9wcGRldi5oIiwgIlBQRkNPTlRST0wiLCAweDQwMDI3MDhlfSwKK3sibGludXgvdGVsZXBob255LmgiLCAiUEhPTkVfUklOR19DQURFTkNFIiwgMHg0MDAyNzE4Nn0sCit7ImxpbnV4L2FncGdhcnQuaCIsICJBR1BJT0NfREVBTExPQ0FURSIsIDB4NDAwNDQxMDd9LAoreyJsaW51eC9yYW5kb20uaCIsICJSTkRBRERUT0VOVENOVCIsIDB4NDAwNDUyMDF9LAoreyJhc20vaW9jdGxzLmgiLCAiVElPQ1NQVExDSyIsIDB4NDAwNDU0MzF9LAoreyJsaW51eC9hdG1kZXYuaCIsICJBVE1fU0VUU0MiLCAweDQwMDQ2MWYxfSwKK3sibGludXgvZGV2ZnNfZnMuaCIsICJERVZGU0RJT0NfU0VUX0VWRU5UX01BU0siLCAweDQwMDQ2NDAyfSwKK3sibGludXgvZGV2ZnNfZnMuaCIsICJERVZGU0RJT0NfUkVMRUFTRV9FVkVOVF9RVUVVRSIsIDB4NDAwNDY0MDN9LAoreyJsaW51eC92aWRlb19kZWNvZGVyLmgiLCAiREVDT0RFUl9TRVRfTk9STSIsIDB4NDAwNDY0MDN9LAoreyJsaW51eC9kZXZmc19mcy5oIiwgIkRFVkZTRElPQ19TRVRfREVCVUdfTUFTSyIsIDB4NDAwNDY0MDR9LAoreyJsaW51eC92aWRlb19kZWNvZGVyLmgiLCAiREVDT0RFUl9TRVRfSU5QVVQiLCAweDQwMDQ2NDA0fSwKK3sibGludXgvdmlkZW9fZGVjb2Rlci5oIiwgIkRFQ09ERVJfU0VUX09VVFBVVCIsIDB4NDAwNDY0MDV9LAoreyJsaW51eC92aWRlb19kZWNvZGVyLmgiLCAiREVDT0RFUl9FTkFCTEVfT1VUUFVUIiwgMHg0MDA0NjQwNn0sCit7ImxpbnV4L3ZpZGVvX2VuY29kZXIuaCIsICJFTkNPREVSX1NFVF9OT1JNIiwgMHg0MDA0NjUwMn0sCit7ImxpbnV4L3ZpZGVvX2VuY29kZXIuaCIsICJFTkNPREVSX1NFVF9JTlBVVCIsIDB4NDAwNDY1MDN9LAoreyJsaW51eC92aWRlb19lbmNvZGVyLmgiLCAiRU5DT0RFUl9TRVRfT1VUUFVUIiwgMHg0MDA0NjUwNH0sCit7ImxpbnV4L3ZpZGVvX2VuY29kZXIuaCIsICJFTkNPREVSX0VOQUJMRV9PVVRQVVQiLCAweDQwMDQ2NTA1fSwKK3sibGludXgvbmNwX2ZzLmgiLCAiTkNQX0lPQ19HRVRNT1VOVFVJRCIsIDB4NDAwNDZlMDJ9LAoreyJsaW51eC9uY3BfZnMuaCIsICJOQ1BfSU9DX1NFVF9TSUdOX1dBTlRFRCIsIDB4NDAwNDZlMDZ9LAoreyJsaW51eC9uY3BfZnMuaCIsICJOQ1BfSU9DX0dFVERFTlRSWVRUTCIsIDB4NDAwNDZlMGN9LAoreyJsaW51eC9wcGRldi5oIiwgIlBQU0VUTU9ERSIsIDB4NDAwNDcwODB9LAoreyJsaW51eC9wcGRldi5oIiwgIlBQREFUQURJUiIsIDB4NDAwNDcwOTB9LAoreyJsaW51eC9wcGRldi5oIiwgIlBQTkVHT1QiLCAweDQwMDQ3MDkxfSwKK3sibGludXgvcHBkZXYuaCIsICJQUFNFVFBIQVNFIiwgMHg0MDA0NzA5NH0sCit7ImxpbnV4L3RlbGVwaG9ueS5oIiwgIlBIT05FX1JFQ19DT0RFQyIsIDB4NDAwNDcxODl9LAoreyJsaW51eC90ZWxlcGhvbnkuaCIsICJQSE9ORV9SRUNfREVQVEgiLCAweDQwMDQ3MThjfSwKK3sibGludXgvdGVsZXBob255LmgiLCAiUEhPTkVfRlJBTUUiLCAweDQwMDQ3MThkfSwKK3sibGludXgvdGVsZXBob255LmgiLCAiUEhPTkVfUkVDX1ZPTFVNRSIsIDB4NDAwNDcxOGV9LAoreyJsaW51eC90ZWxlcGhvbnkuaCIsICJQSE9ORV9QTEFZX0NPREVDIiwgMHg0MDA0NzE5MH0sCit7ImxpbnV4L3RlbGVwaG9ueS5oIiwgIlBIT05FX1BMQVlfREVQVEgiLCAweDQwMDQ3MTkzfSwKK3sibGludXgvdGVsZXBob255LmgiLCAiUEhPTkVfUExBWV9WT0xVTUUiLCAweDQwMDQ3MTk0fSwKK3sibGludXgvdGVsZXBob255LmgiLCAiUEhPTkVfRFRNRl9PT0IiLCAweDQwMDQ3MTk5fSwKK3sibGludXgvdGVsZXBob255LmgiLCAiUEhPTkVfU0VUX1RPTkVfT05fVElNRSIsIDB4NDAwNDcxOWN9LAoreyJsaW51eC90ZWxlcGhvbnkuaCIsICJQSE9ORV9TRVRfVE9ORV9PRkZfVElNRSIsIDB4NDAwNDcxOWR9LAoreyJsaW51eC90ZWxlcGhvbnkuaCIsICJQSE9ORV9QU1ROX1NFVF9TVEFURSIsIDB4NDAwNDcxYTR9LAoreyJsaW51eC90ZWxlcGhvbnkuaCIsICJQSE9ORV9XSU5LX0RVUkFUSU9OIiwgMHg0MDA0NzFhNn0sCit7ImxpbnV4L2l4anVzZXIuaCIsICJJWEpDVExfR0VUX0ZJTFRFUl9ISVNUIiwgMHg0MDA0NzFjOH0sCit7ImxpbnV4L2l4anVzZXIuaCIsICJJWEpDVExfQUVDX1NUQVJUIiwgMHg0MDA0NzFjYn0sCit7ImxpbnV4L2l4anVzZXIuaCIsICJJWEpDVExfU0VUX0xFRCIsIDB4NDAwNDcxY2V9LAoreyJsaW51eC9peGp1c2VyLmgiLCAiSVhKQ1RMX01JWEVSIiwgMHg0MDA0NzFjZn0sCit7ImxpbnV4L2l4anVzZXIuaCIsICJJWEpDVExfREFBX0NPRUZGX1NFVCIsIDB4NDAwNDcxZDB9LAoreyJsaW51eC9peGp1c2VyLmgiLCAiSVhKQ1RMX1BPUlQiLCAweDQwMDQ3MWQxfSwKK3sibGludXgvaXhqdXNlci5oIiwgIklYSkNUTF9EQUFfQUdBSU4iLCAweDQwMDQ3MWQyfSwKK3sibGludXgvaXhqdXNlci5oIiwgIklYSkNUTF9QT1RTX1BTVE4iLCAweDQwMDQ3MWQ1fSwKK3sibGludXgvaXhqdXNlci5oIiwgIklYSkNUTF9IWiIsIDB4NDAwNDcxZTB9LAoreyJsaW51eC9peGp1c2VyLmgiLCAiSVhKQ1RMX1JBVEUiLCAweDQwMDQ3MWUxfSwKK3sibGludXgvaXhqdXNlci5oIiwgIklYSkNUTF9JTlRFUkNPTV9TVEFSVCIsIDB4NDAwNDcxZmR9LAoreyJsaW51eC9peGp1c2VyLmgiLCAiSVhKQ1RMX0lOVEVSQ09NX1NUT1AiLCAweDQwMDQ3MWZlfSwKK3sibGludXgvaWZfcHBwLmgiLCAiUFBQSU9DQVRUQ0hBTiIsIDB4NDAwNDc0Mzh9LAoreyJsaW51eC9pZl9wcHAuaCIsICJQUFBJT0NDT05ORUNUIiwgMHg0MDA0NzQzYX0sCit7ImxpbnV4L2lmX3BwcC5oIiwgIlBQUElPQ1NNUlJVIiwgMHg0MDA0NzQzYn0sCit7ImxpbnV4L2lmX3BwcC5oIiwgIlBQUElPQ0RFVEFDSCIsIDB4NDAwNDc0M2N9LAoreyJsaW51eC9pZl9wcHAuaCIsICJQUFBJT0NBVFRBQ0giLCAweDQwMDQ3NDNkfSwKK3sibGludXgvaWZfcHBwLmgiLCAiUFBQSU9DU0RFQlVHIiwgMHg0MDA0NzQ0MH0sCit7ImxpbnV4L2lmX3BwcC5oIiwgIlBQUElPQ1NNQVhDSUQiLCAweDQwMDQ3NDUxfSwKK3sibGludXgvaWZfcHBwLmgiLCAiUFBQSU9DU01SVSIsIDB4NDAwNDc0NTJ9LAoreyJsaW51eC9pZl9wcHAuaCIsICJQUFBJT0NTUkFTWU5DTUFQIiwgMHg0MDA0NzQ1NH0sCit7ImxpbnV4L2lmX3BwcC5oIiwgIlBQUElPQ1NBU1lOQ01BUCIsIDB4NDAwNDc0NTd9LAoreyJsaW51eC9pZl9wcHAuaCIsICJQUFBJT0NTRkxBR1MiLCAweDQwMDQ3NDU5fSwKK3sibGludXgvaXNkbl9wcHAuaCIsICJQUFBJT0NCVU5ETEUiLCAweDQwMDQ3NDgxfSwKK3sibGludXgvaXNkbl9wcHAuaCIsICJQUFBJT0NTTVBGTEFHUyIsIDB4NDAwNDc0ODN9LAoreyJsaW51eC9pc2RuX3BwcC5oIiwgIlBQUElPQ1NNUE1UVSIsIDB4NDAwNDc0ODR9LAoreyJsaW51eC9pc2RuX3BwcC5oIiwgIlBQUElPQ1NNUE1SVSIsIDB4NDAwNDc0ODV9LAoreyJsaW51eC9pc2RuX3BwcC5oIiwgIlBQUElPQ1NDT01QUkVTU09SIiwgMHg0MDA0NzQ4N30sCit7ImxpbnV4L3ZpZGVvZGV2LmgiLCAiVklESU9DQ0FQVFVSRSIsIDB4NDAwNDc2MDh9LAoreyJsaW51eC92aWRlb2Rldi5oIiwgIlZJRElPQ1NZTkMiLCAweDQwMDQ3NjEyfSwKK3sibGludXgvdmlkZW9kZXYuaCIsICJWSURJT0NTV1JJVEVNT0RFIiwgMHg0MDA0NzYxOX0sCit7ImxpbnV4L2RuLmgiLCAiU0lPQ1NORVRBRERSIiwgMHg0MDA0ODllMH0sCit7ImxpbnV4L2RuLmgiLCAiT1NJT0NTTkVUQUREUiIsIDB4NDAwNDg5ZTB9LAoreyJsaW51eC9hdXRvX2ZzNC5oIiwgIkFVVE9GU19JT0NfRVhQSVJFX01VTFRJIiwgMHg0MDA0OTM2Nn0sCit7ImxpbnV4L2x2bS5oIiwgIlZHX0NSRUFURSIsIDB4NDAwNGZlMDB9LAoreyJsaW51eC9sdm0uaCIsICJWR19SRU1PVkUiLCAweDQwMDRmZTAxfSwKK3sibGludXgvbHZtLmgiLCAiVkdfRVhURU5EIiwgMHg0MDA0ZmUwM30sCit7ImxpbnV4L2x2bS5oIiwgIlZHX1JFRFVDRSIsIDB4NDAwNGZlMDR9LAoreyJsaW51eC9sdm0uaCIsICJWR19TRVRfRVhURU5EQUJMRSIsIDB4NDAwNGZlMDh9LAoreyJsaW51eC9sdm0uaCIsICJMVl9DUkVBVEUiLCAweDQwMDRmZTIwfSwKK3sibGludXgvbHZtLmgiLCAiTFZfUkVNT1ZFIiwgMHg0MDA0ZmUyMX0sCit7ImxpbnV4L2x2bS5oIiwgIkxWX0VYVEVORCIsIDB4NDAwNGZlMjR9LAoreyJsaW51eC9sdm0uaCIsICJMVl9SRURVQ0UiLCAweDQwMDRmZTI1fSwKK3sibGludXgvbHZtLmgiLCAiTFZfU0VUX0FDQ0VTUyIsIDB4NDAwNGZlMjh9LAoreyJsaW51eC9sdm0uaCIsICJMVl9TRVRfQUxMT0NBVElPTiIsIDB4NDAwNGZlMjl9LAoreyJsaW51eC9sdm0uaCIsICJMVl9TRVRfU1RBVFVTIiwgMHg0MDA0ZmUyYX0sCit7ImxpbnV4L2x2bS5oIiwgIkxFX1JFTUFQIiwgMHg0MDA0ZmUyYn0sCit7ImxpbnV4L2x2bS5oIiwgIlBWX0ZMVVNIIiwgMHg0MDA0ZmU0Mn0sCit7ImxpbnV4L2x2bS5oIiwgIlBFX0xPQ0tfVU5MT0NLIiwgMHg0MDA0ZmU1MH0sCit7ImxpbnV4L2VsZXZhdG9yLmgiLCAiQkxLRUxWU0VUIiwgMHg0MDA4MTI2Yn0sCit7ImxpbnV4L2ZzLmgiLCAiQkxLRUxWU0VUIiwgMHg0MDA4MTI2Yn0sCit7ImxpbnV4L2FncGdhcnQuaCIsICJBR1BJT0NfU0VUVVAiLCAweDQwMDg0MTAzfSwKK3sibGludXgvYWdwZ2FydC5oIiwgIkFHUElPQ19SRVNFUlZFIiwgMHg0MDA4NDEwNH0sCit7ImxpbnV4L2FncGdhcnQuaCIsICJBR1BJT0NfUFJPVEVDVCIsIDB4NDAwODQxMDV9LAoreyJsaW51eC9hZ3BnYXJ0LmgiLCAiQUdQSU9DX0JJTkQiLCAweDQwMDg0MTA4fSwKK3sibGludXgvYWdwZ2FydC5oIiwgIkFHUElPQ19VTkJJTkQiLCAweDQwMDg0MTA5fSwKK3sibGludXgvcG11LmgiLCAiUE1VX0lPQ19TRVRfQkFDS0xJR0hUIiwgMHg0MDA4NDIwMn0sCit7ImxpbnV4L2lucHV0LmgiLCAiRVZJT0NTUkVQIiwgMHg0MDA4NDUwM30sCit7ImxpbnV4L2lucHV0LmgiLCAiRVZJT0NTS0VZQ09ERSIsIDB4NDAwODQ1MDR9LAoreyJsaW51eC9yYW5kb20uaCIsICJSTkRBRERFTlRST1BZIiwgMHg0MDA4NTIwM30sCit7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwgIlVTQkRFVkZTX1JFQVBVUkIiLCAweDQwMDg1NTBjfSwKK3sibGludXgvdXNiZGV2aWNlX2ZzLmgiLCAiVVNCREVWRlNfUkVBUFVSQk5ERUxBWSIsIDB4NDAwODU1MGR9LAoreyJsaW51eC91c2JkZXZpY2VfZnMuaCIsICJVU0JERVZGU19DT05ORUNUSU5GTyIsIDB4NDAwODU1MTF9LAoreyJsaW51eC9leHQyX2ZzLmgiLCAiRVhUMl9JT0NfU0VURkxBR1MiLCAweDQwMDg2NjAyfSwKK3sibGludXgvbXRpby5oIiwgIk1USU9DVE9QIiwgMHg0MDA4NmQwMX0sCit7ImxpbnV4L25jcF9mcy5oIiwgIk5DUF9JT0NfR0VUTU9VTlRVSUQyIiwgMHg0MDA4NmUwMn0sCit7ImxpbnV4L21hdHJveGZiLmgiLCAiTUFUUk9YRkJfU0VUX09VVFBVVF9DT05ORUNUSU9OIiwgMHg0MDA4NmVmOH0sCit7ImxpbnV4L21hdHJveGZiLmgiLCAiTUFUUk9YRkJfU0VUX09VVFBVVF9NT0RFIiwgMHg0MDA4NmVmYX0sCit7ImxpbnV4L3J0Yy5oIiwgIlJUQ19JUlFQX1NFVCIsIDB4NDAwODcwMGN9LAoreyJsaW51eC9ydGMuaCIsICJSVENfRVBPQ0hfU0VUIiwgMHg0MDA4NzAwZX0sCit7ImxpbnV4L3NlcmlvLmgiLCAiU1BJT0NTVFlQRSIsIDB4NDAwODcxMDF9LAoreyJsaW51eC90ZWxlcGhvbnkuaCIsICJQSE9ORV9DQVBBQklMSVRJRVNfQ0hFQ0siLCAweDQwMDg3MTgyfSwKK3sibGludXgvaXhqdXNlci5oIiwgIklYSkNUTF9TRVRfRklMVEVSIiwgMHg0MDA4NzFjN30sCit7ImxpbnV4L2l4anVzZXIuaCIsICJJWEpDVExfSU5JVF9UT05FIiwgMHg0MDA4NzFjOX0sCit7ImxpbnV4L2l4anVzZXIuaCIsICJJWEpDVExfVE9ORV9DQURFTkNFIiwgMHg0MDA4NzFjYX0sCit7ImxpbnV4L2lmX3BwcC5oIiwgIlBQUElPQ1NOUE1PREUiLCAweDQwMDg3NDRifSwKK3sibGludXgvZXh0Ml9mcy5oIiwgIkVYVDJfSU9DX1NFVFZFUlNJT04iLCAweDQwMDg3NjAyfSwKK3sibGludXgvdmlkZW9kZXYuaCIsICJWSURJT0NTRlJFUSIsIDB4NDAwODc2MGZ9LAoreyJsaW51eC9pZl9wcHBveC5oIiwgIlBQUE9FSU9DU0ZXRCIsIDB4NDAwOGIxMDB9LAoreyJsaW51eC9mZC5oIiwgIkZERk1UVFJLIiwgMHg0MDBjMDI0OH0sCit7ImxpbnV4L2NhcGkuaCIsICJDQVBJX1JFR0lTVEVSIiwgMHg0MDBjNDMwMX0sCit7ImxpbnV4L2kyby1kZXYuaCIsICJJMk9FVlRSRUciLCAweDQwMGM2OTBhfSwKK3sibGludXgvbmNwX2ZzLmgiLCAiTkNQX0lPQ19HRVRST09UIiwgMHg0MDBjNmUwOH0sCit7ImxpbnV4L3ZpZGVvZGV2LmgiLCAiVklESU9DU1BMQVlNT0RFIiwgMHg0MDBjNzYxOH0sCit7ImxpbnV4L3ZpZGVvX2RlY29kZXIuaCIsICJERUNPREVSX1NFVF9QSUNUVVJFIiwgMHg0MDBlNjQwN30sCit7ImxpbnV4L3ZpZGVvZGV2LmgiLCAiVklESU9DU1BJQ1QiLCAweDQwMGU3NjA3fSwKK3siYXNtL2Rhc2QuaCIsICJCSU9EQVNERk1UIiwgMHg0MDEwNDQwMX0sCit7ImxpbnV4L2F0bV9pZHQ3NzEwNS5oIiwgIklEVDc3MTA1X0dFVFNUQVQiLCAweDQwMTA2MTMyfSwKK3sibGludXgvYXRtX2lkdDc3MTA1LmgiLCAiSURUNzcxMDVfR0VUU1RBVFoiLCAweDQwMTA2MTMzfSwKK3sibGludXgvYXRtZGV2LmgiLCAiQVRNX0dFVFNUQVQiLCAweDQwMTA2MTUwfSwKK3sibGludXgvYXRtZGV2LmgiLCAiQVRNX0dFVFNUQVRaIiwgMHg0MDEwNjE1MX0sCit7ImxpbnV4L2F0bWRldi5oIiwgIkFUTV9HRVRMT09QIiwgMHg0MDEwNjE1Mn0sCit7ImxpbnV4L2F0bWRldi5oIiwgIkFUTV9TRVRMT09QIiwgMHg0MDEwNjE1M30sCit7ImxpbnV4L2F0bWRldi5oIiwgIkFUTV9RVUVSWUxPT1AiLCAweDQwMTA2MTU0fSwKK3sibGludXgvYXRtX2VuaS5oIiwgIkVOSV9NRU1EVU1QIiwgMHg0MDEwNjE2MH0sCit7ImxpbnV4L2F0bV96YXRtLmgiLCAiWkFUTV9HRVRQT09MIiwgMHg0MDEwNjE2MX0sCit7ImxpbnV4L2F0bV9uaWNzdGFyLmgiLCAiTlNfU0VUQlVGTEVWIiwgMHg0MDEwNjE2Mn0sCit7ImxpbnV4L2F0bV96YXRtLmgiLCAiWkFUTV9HRVRQT09MWiIsIDB4NDAxMDYxNjJ9LAoreyJsaW51eC9hdG1femF0bS5oIiwgIlpBVE1fU0VUUE9PTCIsIDB4NDAxMDYxNjN9LAoreyJsaW51eC9hdG1femF0bS5oIiwgIlpBVE1fR0VUVEhJU1QiLCAweDQwMTA2MTY0fSwKK3sibGludXgvYXRtX2VuaS5oIiwgIkVOSV9TRVRNVUxUIiwgMHg0MDEwNjE2N30sCit7ImxpbnV4L2F0bWRldi5oIiwgIkFUTV9HRVRMSU5LUkFURSIsIDB4NDAxMDYxODF9LAoreyJsaW51eC9hdG1kZXYuaCIsICJBVE1fR0VUTkFNRVMiLCAweDQwMTA2MTgzfSwKK3sibGludXgvYXRtZGV2LmgiLCAiQVRNX0dFVFRZUEUiLCAweDQwMTA2MTg0fSwKK3sibGludXgvYXRtZGV2LmgiLCAiQVRNX0dFVEVTSSIsIDB4NDAxMDYxODV9LAoreyJsaW51eC9hdG1kZXYuaCIsICJBVE1fR0VUQUREUiIsIDB4NDAxMDYxODZ9LAoreyJsaW51eC9hdG1kZXYuaCIsICJBVE1fUlNUQUREUiIsIDB4NDAxMDYxODd9LAoreyJsaW51eC9hdG1kZXYuaCIsICJBVE1fQUREQUREUiIsIDB4NDAxMDYxODh9LAoreyJsaW51eC9hdG1kZXYuaCIsICJBVE1fREVMQUREUiIsIDB4NDAxMDYxODl9LAoreyJsaW51eC9hdG1kZXYuaCIsICJBVE1fR0VUQ0lSQU5HRSIsIDB4NDAxMDYxOGF9LAoreyJsaW51eC9hdG1kZXYuaCIsICJBVE1fU0VUQ0lSQU5HRSIsIDB4NDAxMDYxOGJ9LAoreyJsaW51eC9hdG1kZXYuaCIsICJBVE1fU0VURVNJIiwgMHg0MDEwNjE4Y30sCit7ImxpbnV4L2F0bWRldi5oIiwgIkFUTV9TRVRFU0lGIiwgMHg0MDEwNjE4ZH0sCit7ImxpbnV4L3BwZGV2LmgiLCAiUFBTRVRUSU1FIiwgMHg0MDEwNzA5Nn0sCit7ImxpbnV4L2lmX3BwcC5oIiwgIlBQUElPQ1NDT01QUkVTUyIsIDB4NDAxMDc0NGR9LAoreyJsaW51eC92aWRlb2Rldi5oIiwgIlZJRElPQ01DQVBUVVJFIiwgMHg0MDEwNzYxM30sCit7ImFzbS90YXBlMzkwLmgiLCAiVEFQRTM5MF9ESVNQTEFZIiwgMHg0MDExNjQwMX0sCit7ImxpbnV4L2ZkLmgiLCAiRkRTRVRNQVhFUlJTIiwgMHg0MDE0MDI0Y30sCit7ImxpbnV4L3ZpZGVvZGV2LmgiLCAiVklESU9DU0NBUFRVUkUiLCAweDQwMTQ3NjE3fSwKK3sibGludXgvdmlkZW9kZXYuaCIsICJWSURJT0NTRkJVRiIsIDB4NDAxODc2MGN9LAoreyJsaW51eC9mZC5oIiwgIkZEU0VUUFJNIiwgMHg0MDIwMDI0Mn0sCit7ImxpbnV4L2ZkLmgiLCAiRkRERUZQUk0iLCAweDQwMjAwMjQzfSwKK3siYXNtL2Rhc2QuaCIsICJCSU9EQVNEU0FUVFIiLCAweDQwMjA0NDAyfSwKK3sibGludXgvaWZfcHBwLmgiLCAiUFBQSU9DU1hBU1lOQ01BUCIsIDB4NDAyMDc0NGZ9LAoreyJsaW51eC92aWRlb2Rldi5oIiwgIlZJRElPQ1NNSUNST0NPREUiLCAweDQwMjA3NjFifSwKK3sibGludXgvdmlkZW9kZXYuaCIsICJWSURJT0NTVkJJRk1UIiwgMHg0MDIwNzYxZH0sCit7ImxpbnV4L2pveXN0aWNrLmgiLCAiSlNJT0NTQ09SUiIsIDB4NDAyNDZhMjF9LAoreyJsaW51eC9ydGMuaCIsICJSVENfQUxNX1NFVCIsIDB4NDAyNDcwMDd9LAoreyJsaW51eC9ydGMuaCIsICJSVENfU0VUX1RJTUUiLCAweDQwMjQ3MDBhfSwKK3sibGludXgvcnRjLmgiLCAiUlRDX1dLQUxNX1NFVCIsIDB4NDAyODcwMGZ9LAoreyJsaW51eC92aWRlb2Rldi5oIiwgIlZJRElPQ1NXSU4iLCAweDQwMjg3NjBhfSwKK3sibGludXgvdmlkZW9kZXYuaCIsICJWSURJT0NTQVVESU8iLCAweDQwMjg3NjExfSwKK3sibGludXgvc21iX2ZzLmgiLCAiU01CX0lPQ19ORVdDT05OIiwgMHg0MDJjNzUwMn0sCit7ImxpbnV4L3N5bmNsaW5rLmgiLCAiTUdTTF9JT0NTUEFSQU1TIiwgMHg0MDMwNmQwMH0sCit7ImxpbnV4L3ZpZGVvZGV2LmgiLCAiVklESU9DU0NIQU4iLCAweDQwMzA3NjAzfSwKK3sibGludXgvdmlkZW9kZXYuaCIsICJWSURJT0NTVFVORVIiLCAweDQwNDA3NjA1fSwKK3sibGludXgvZmQuaCIsICJGRFNFVERSVlBSTSIsIDB4NDA4MDAyOTB9LAoreyJsaW51eC91c2JkZXZpY2VfZnMuaCIsICJVU0JERVZGU19HRVREUklWRVIiLCAweDQxMDQ1NTA4fSwKK3sibGludXgvc291bmRjYXJkLmgiLCAiU09VTkRfTUlYRVJfV1JJVEVfVk9MVU1FIiwgMHg2MDA0NGQwMH0sCit7ImxpbnV4L3NvdW5kY2FyZC5oIiwgIlNPVU5EX01JWEVSX1dSSVRFX0JBU1MiLCAweDYwMDQ0ZDAxfSwKK3sibGludXgvc291bmRjYXJkLmgiLCAiU09VTkRfTUlYRVJfV1JJVEVfVFJFQkxFIiwgMHg2MDA0NGQwMn0sCit7ImxpbnV4L3NvdW5kY2FyZC5oIiwgIlNPVU5EX01JWEVSX1dSSVRFX1NZTlRIIiwgMHg2MDA0NGQwM30sCit7ImxpbnV4L3NvdW5kY2FyZC5oIiwgIlNPVU5EX01JWEVSX1dSSVRFX1BDTSIsIDB4NjAwNDRkMDR9LAoreyJsaW51eC9zb3VuZGNhcmQuaCIsICJTT1VORF9NSVhFUl9XUklURV9TUEVBS0VSIiwgMHg2MDA0NGQwNX0sCit7ImxpbnV4L3NvdW5kY2FyZC5oIiwgIlNPVU5EX01JWEVSX1dSSVRFX0xJTkUiLCAweDYwMDQ0ZDA2fSwKK3sibGludXgvc291bmRjYXJkLmgiLCAiU09VTkRfTUlYRVJfV1JJVEVfTUlDIiwgMHg2MDA0NGQwN30sCit7ImxpbnV4L3NvdW5kY2FyZC5oIiwgIlNPVU5EX01JWEVSX1dSSVRFX0NEIiwgMHg2MDA0NGQwOH0sCit7ImxpbnV4L3NvdW5kY2FyZC5oIiwgIlNPVU5EX01JWEVSX1dSSVRFX0lNSVgiLCAweDYwMDQ0ZDA5fSwKK3sibGludXgvc291bmRjYXJkLmgiLCAiU09VTkRfTUlYRVJfV1JJVEVfQUxUUENNIiwgMHg2MDA0NGQwYX0sCit7ImxpbnV4L3NvdW5kY2FyZC5oIiwgIlNPVU5EX01JWEVSX1dSSVRFX1JFQ0xFViIsIDB4NjAwNDRkMGJ9LAoreyJsaW51eC9zb3VuZGNhcmQuaCIsICJTT1VORF9NSVhFUl9XUklURV9JR0FJTiIsIDB4NjAwNDRkMGN9LAoreyJsaW51eC9zb3VuZGNhcmQuaCIsICJTT1VORF9NSVhFUl9XUklURV9PR0FJTiIsIDB4NjAwNDRkMGR9LAoreyJsaW51eC9zb3VuZGNhcmQuaCIsICJTT1VORF9NSVhFUl9XUklURV9MSU5FMSIsIDB4NjAwNDRkMGV9LAoreyJsaW51eC9zb3VuZGNhcmQuaCIsICJTT1VORF9NSVhFUl9XUklURV9MSU5FMiIsIDB4NjAwNDRkMGZ9LAoreyJsaW51eC9zb3VuZGNhcmQuaCIsICJTT1VORF9NSVhFUl9XUklURV9MSU5FMyIsIDB4NjAwNDRkMTB9LAoreyJsaW51eC9zb3VuZGNhcmQuaCIsICJTT1VORF9NSVhFUl9XUklURV9NVVRFIiwgMHg2MDA0NGQxZn0sCit7ImxpbnV4L3NvdW5kY2FyZC5oIiwgIlNPVU5EX01JWEVSX1dSSVRFX0VOSEFOQ0UiLCAweDYwMDQ0ZDFmfSwKK3sibGludXgvc291bmRjYXJkLmgiLCAiU09VTkRfTUlYRVJfV1JJVEVfTE9VRCIsIDB4NjAwNDRkMWZ9LAoreyJsaW51eC9zb3VuZGNhcmQuaCIsICJTT1VORF9NSVhFUl9XUklURV9SRUNTUkMiLCAweDYwMDQ0ZGZmfSwKK3sibGludXgvam95c3RpY2suaCIsICJKU0lPQ0dBWEVTIiwgMHg4MDAxNmExMX0sCit7ImxpbnV4L2pveXN0aWNrLmgiLCAiSlNJT0NHQlVUVE9OUyIsIDB4ODAwMTZhMTJ9LAoreyJsaW51eC9wcGRldi5oIiwgIlBQUlNUQVRVUyIsIDB4ODAwMTcwODF9LAoreyJsaW51eC9wcGRldi5oIiwgIlBQUkNPTlRST0wiLCAweDgwMDE3MDgzfSwKK3sibGludXgvcHBkZXYuaCIsICJQUFJEQVRBIiwgMHg4MDAxNzA4NX0sCit7ImxpbnV4L2NhcGkuaCIsICJDQVBJX0dFVF9FUlJDT0RFIiwgMHg4MDAyNDMyMX0sCit7ImxpbnV4L2NhcGkuaCIsICJDQVBJX0lOU1RBTExFRCIsIDB4ODAwMjQzMjJ9LAoreyJsaW51eC9jYXBpLmgiLCAiQ0FQSV9HRVRfRkxBR1MiLCAweDgwMDQ0MzIzfSwKK3sibGludXgvY2FwaS5oIiwgIkNBUElfU0VUX0ZMQUdTIiwgMHg4MDA0NDMyNH0sCit7ImxpbnV4L2NhcGkuaCIsICJDQVBJX0NMUl9GTEFHUyIsIDB4ODAwNDQzMjV9LAoreyJsaW51eC9jYXBpLmgiLCAiQ0FQSV9OQ0NJX09QRU5DT1VOVCIsIDB4ODAwNDQzMjZ9LAoreyJsaW51eC9jYXBpLmgiLCAiQ0FQSV9OQ0NJX0dFVFVOSVQiLCAweDgwMDQ0MzI3fSwKK3siYXNtL2Rhc2QuaCIsICJEQVNEQVBJVkVSIiwgMHg4MDA0NDQwMH0sCit7ImxpbnV4L2lucHV0LmgiLCAiRVZJT0NHVkVSU0lPTiIsIDB4ODAwNDQ1MDF9LAoreyJsaW51eC9yYW5kb20uaCIsICJSTkRHRVRFTlRDTlQiLCAweDgwMDQ1MjAwfSwKK3siYXNtL2lvY3Rscy5oIiwgIlRJT0NHUFROIiwgMHg4MDA0NTQzMH0sCit7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwgIlVTQkRFVkZTX1JFU0VURVAiLCAweDgwMDQ1NTAzfSwKK3sibGludXgvdXNiZGV2aWNlX2ZzLmgiLCAiVVNCREVWRlNfU0VUQ09ORklHVVJBVElPTiIsIDB4ODAwNDU1MDV9LAoreyJsaW51eC91c2JkZXZpY2VfZnMuaCIsICJVU0JERVZGU19DTEFJTUlOVEVSRkFDRSIsIDB4ODAwNDU1MGZ9LAoreyJsaW51eC91c2JkZXZpY2VfZnMuaCIsICJVU0JERVZGU19SRUxFQVNFSU5URVJGQUNFIiwgMHg4MDA0NTUxMH0sCit7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwgIlVTQkRFVkZTX0NMRUFSX0hBTFQiLCAweDgwMDQ1NTE1fSwKK3sibGludXgvd2F0Y2hkb2cuaCIsICJXRElPQ19HRVRTVEFUVVMiLCAweDgwMDQ1NzAxfSwKK3sibGludXgvd2F0Y2hkb2cuaCIsICJXRElPQ19HRVRCT09UU1RBVFVTIiwgMHg4MDA0NTcwMn0sCit7ImxpbnV4L3dhdGNoZG9nLmgiLCAiV0RJT0NfR0VUVEVNUCIsIDB4ODAwNDU3MDN9LAoreyJsaW51eC93YXRjaGRvZy5oIiwgIldESU9DX1NFVE9QVElPTlMiLCAweDgwMDQ1NzA0fSwKK3sibGludXgvd2F0Y2hkb2cuaCIsICJXRElPQ19LRUVQQUxJVkUiLCAweDgwMDQ1NzA1fSwKK3sibGludXgvc29uZXQuaCIsICJTT05FVF9HRVRESUFHIiwgMHg4MDA0NjExNH0sCit7ImxpbnV4L3NvbmV0LmgiLCAiU09ORVRfR0VURlJBTUlORyIsIDB4ODAwNDYxMTZ9LAoreyJsaW51eC9kZXZmc19mcy5oIiwgIkRFVkZTRElPQ19HRVRfUFJPVE9fUkVWIiwgMHg4MDA0NjQwMH0sCit7ImxpbnV4L3ZpZGVvX2RlY29kZXIuaCIsICJERUNPREVSX0dFVF9TVEFUVVMiLCAweDgwMDQ2NDAyfSwKK3sibGludXgvaTJvLWRldi5oIiwgIkkyT1ZBTElEQVRFIiwgMHg4MDA0NjkwOH0sCit7ImxpbnV4L2pveXN0aWNrLmgiLCAiSlNJT0NHVkVSU0lPTiIsIDB4ODAwNDZhMDF9LAoreyJsaW51eC91ZGZfZnNfaS5oIiwgIlVERl9HRVRFQVNJWkUiLCAweDgwMDQ2YzQwfSwKK3sibGludXgvemZ0YXBlLmgiLCAiTVRJT0NfWkZUQVBFX0dFVEJMS1NaIiwgMHg4MDA0NmQ2OH0sCit7ImxpbnV4L25jcF9mcy5oIiwgIk5DUF9JT0NfU0lHTl9XQU5URUQiLCAweDgwMDQ2ZTA2fSwKK3sibGludXgvbmNwX2ZzLmgiLCAiTkNQX0lPQ19TRVRERU5UUllUVEwiLCAweDgwMDQ2ZTBjfSwKK3sibGludXgvcHBkZXYuaCIsICJQUENMUklSUSIsIDB4ODAwNDcwOTN9LAoreyJsaW51eC90ZWxlcGhvbnkuaCIsICJQSE9ORV9EVE1GX1JFQURZIiwgMHg4MDA0NzE5Nn0sCit7ImxpbnV4L3RlbGVwaG9ueS5oIiwgIlBIT05FX0dFVF9EVE1GIiwgMHg4MDA0NzE5N30sCit7ImxpbnV4L3RlbGVwaG9ueS5oIiwgIlBIT05FX0dFVF9EVE1GX0FTQ0lJIiwgMHg4MDA0NzE5OH0sCit7ImxpbnV4L3RlbGVwaG9ueS5oIiwgIlBIT05FX0VYQ0VQVElPTiIsIDB4ODAwNDcxOWF9LAoreyJsaW51eC9peGp1c2VyLmgiLCAiSVhKQ1RMX0NBUkRUWVBFIiwgMHg4MDA0NzFjMX0sCit7ImxpbnV4L2l4anVzZXIuaCIsICJJWEpDVExfU0VSSUFMIiwgMHg4MDA0NzFjMn0sCit7ImxpbnV4L2l4anVzZXIuaCIsICJJWEpDVExfRFNQX1RZUEUiLCAweDgwMDQ3MWMzfSwKK3sibGludXgvaXhqdXNlci5oIiwgIklYSkNUTF9EU1BfVkVSU0lPTiIsIDB4ODAwNDcxYzR9LAoreyJsaW51eC9pZl9wcHAuaCIsICJQUFBJT0NHQ0hBTiIsIDB4ODAwNDc0Mzd9LAoreyJsaW51eC9pZl9wcHAuaCIsICJQUFBJT0NHREVCVUciLCAweDgwMDQ3NDQxfSwKK3sibGludXgvaWZfcHBwLmgiLCAiUFBQSU9DR01SVSIsIDB4ODAwNDc0NTN9LAoreyJsaW51eC9pZl9wcHAuaCIsICJQUFBJT0NHUkFTWU5DTUFQIiwgMHg4MDA0NzQ1NX0sCit7ImxpbnV4L2lmX3BwcC5oIiwgIlBQUElPQ0dVTklUIiwgMHg4MDA0NzQ1Nn0sCit7ImxpbnV4L2lmX3BwcC5oIiwgIlBQUElPQ0dBU1lOQ01BUCIsIDB4ODAwNDc0NTh9LAoreyJsaW51eC9pZl9wcHAuaCIsICJQUFBJT0NHRkxBR1MiLCAweDgwMDQ3NDVhfSwKK3sibGludXgvaXNkbl9wcHAuaCIsICJQUFBJT0NHTVBGTEFHUyIsIDB4ODAwNDc0ODJ9LAoreyJsaW51eC9zbWJfZnMuaCIsICJTTUJfSU9DX0dFVE1PVU5UVUlEIiwgMHg4MDA0NzUwMX0sCit7ImxpbnV4L3NtYl9mcy5oIiwgIlNNQl9JT0NfR0VUTU9VTlRVSUQzMiIsIDB4ODAwNDc1MDN9LAoreyJsaW51eC9kbi5oIiwgIlNJT0NHTkVUQUREUiIsIDB4ODAwNDg5ZTF9LAoreyJsaW51eC9kbi5oIiwgIk9TSU9DR05FVEFERFIiLCAweDgwMDQ4OWUxfSwKK3sibGludXgvYXV0b19mcy5oIiwgIkFVVE9GU19JT0NfUFJPVE9WRVIiLCAweDgwMDQ5MzYzfSwKK3sibGludXgvbHZtLmgiLCAiTFZNX0dFVF9JT1BfVkVSU0lPTiIsIDB4ODAwNGZlOTh9LAoreyJsaW51eC9zb25ldC5oIiwgIlNPTkVUX0dFVEZSU0VOU0UiLCAweDgwMDY2MTE3fSwKK3sibGludXgvZWxldmF0b3IuaCIsICJCTEtFTFZHRVQiLCAweDgwMDgxMjZhfSwKK3sibGludXgvZnMuaCIsICJCTEtFTFZHRVQiLCAweDgwMDgxMjZhfSwKK3sibGludXgvYWdwZ2FydC5oIiwgIkFHUElPQ19JTkZPIiwgMHg4MDA4NDEwMH0sCit7ImxpbnV4L3BtdS5oIiwgIlBNVV9JT0NfR0VUX0JBQ0tMSUdIVCIsIDB4ODAwODQyMDF9LAoreyJsaW51eC9wbXUuaCIsICJQTVVfSU9DX0dFVF9NT0RFTCIsIDB4ODAwODQyMDN9LAoreyJsaW51eC9wbXUuaCIsICJQTVVfSU9DX0hBU19BREIiLCAweDgwMDg0MjA0fSwKK3sibGludXgvaW5wdXQuaCIsICJFVklPQ0dJRCIsIDB4ODAwODQ1MDJ9LAoreyJsaW51eC9pbnB1dC5oIiwgIkVWSU9DR1JFUCIsIDB4ODAwODQ1MDN9LAoreyJsaW51eC9pbnB1dC5oIiwgIkVWSU9DR0tFWUNPREUiLCAweDgwMDg0NTA0fSwKK3sibGludXgvaW5wdXQuaCIsICJFVklPQ0dLRVkiLCAweDgwMDg0NTA1fSwKK3sibGludXgvcmFuZG9tLmgiLCAiUk5ER0VUUE9PTCIsIDB4ODAwODUyMDJ9LAoreyJsaW51eC91c2JkZXZpY2VfZnMuaCIsICJVU0JERVZGU19TRVRJTlRFUkZBQ0UiLCAweDgwMDg1NTA0fSwKK3sibGludXgvZXh0Ml9mcy5oIiwgIkVYVDJfSU9DX0dFVEZMQUdTIiwgMHg4MDA4NjYwMX0sCit7ImxpbnV4L3VkZl9mc19pLmgiLCAiVURGX0dFVEVBQkxPQ0siLCAweDgwMDg2YzQxfSwKK3sibGludXgvdWRmX2ZzX2kuaCIsICJVREZfR0VUVk9MSURFTlQiLCAweDgwMDg2YzQyfSwKK3sibGludXgvbXRpby5oIiwgIk1USU9DUE9TIiwgMHg4MDA4NmQwM30sCit7ImxpbnV4L21hdHJveGZiLmgiLCAiTUFUUk9YRkJfR0VUX09VVFBVVF9DT05ORUNUSU9OIiwgMHg4MDA4NmVmOH0sCit7ImxpbnV4L21hdHJveGZiLmgiLCAiTUFUUk9YRkJfR0VUX0FWQUlMQUJMRV9PVVRQVVRTIiwgMHg4MDA4NmVmOX0sCit7ImxpbnV4L21hdHJveGZiLmgiLCAiTUFUUk9YRkJfR0VUX0FMTF9PVVRQVVRTIiwgMHg4MDA4NmVmYn0sCit7ImxpbnV4L3J0Yy5oIiwgIlJUQ19JUlFQX1JFQUQiLCAweDgwMDg3MDBifSwKK3sibGludXgvcnRjLmgiLCAiUlRDX0VQT0NIX1JFQUQiLCAweDgwMDg3MDBkfSwKK3sibGludXgvdGVsZXBob255LmgiLCAiUEhPTkVfQ0FQQUJJTElUSUVTX0xJU1QiLCAweDgwMDg3MTgxfSwKK3sibGludXgvaXhqdXNlci5oIiwgIklYSkNUTF9DSUQiLCAweDgwMDg3MWQ0fSwKK3sibGludXgvaXhqdXNlci5oIiwgIklYSkNUTF9GUkFNRVNfUkVBRCIsIDB4ODAwODcxZTJ9LAoreyJsaW51eC9peGp1c2VyLmgiLCAiSVhKQ1RMX0ZSQU1FU19XUklUVEVOIiwgMHg4MDA4NzFlM30sCit7ImxpbnV4L2l4anVzZXIuaCIsICJJWEpDVExfUkVBRF9XQUlUIiwgMHg4MDA4NzFlNH0sCit7ImxpbnV4L2l4anVzZXIuaCIsICJJWEpDVExfV1JJVEVfV0FJVCIsIDB4ODAwODcxZTV9LAoreyJsaW51eC9peGp1c2VyLmgiLCAiSVhKQ1RMX0RSWUJVRkZFUl9SRUFEIiwgMHg4MDA4NzFlNn0sCit7ImxpbnV4L2V4dDJfZnMuaCIsICJFWFQyX0lPQ19HRVRWRVJTSU9OIiwgMHg4MDA4NzYwMX0sCit7ImxpbnV4L3ZpZGVvZGV2LmgiLCAiVklESU9DR0ZSRVEiLCAweDgwMDg3NjBlfSwKK3sibGludXgvdmlkZW9fZGVjb2Rlci5oIiwgIkRFQ09ERVJfR0VUX0NBUEFCSUxJVElFUyIsIDB4ODAwYzY0MDF9LAoreyJsaW51eC92aWRlb19lbmNvZGVyLmgiLCAiRU5DT0RFUl9HRVRfQ0FQQUJJTElUSUVTIiwgMHg4MDBjNjUwMX0sCit7ImxpbnV4L25jcF9mcy5oIiwgIk5DUF9JT0NfU0VUUk9PVCIsIDB4ODAwYzZlMDh9LAoreyJsaW51eC92aWRlb2Rldi5oIiwgIlZJRElPQ0tFWSIsIDB4ODAwYzc2MGR9LAoreyJsaW51eC92aWRlb2Rldi5oIiwgIlZJRElPQ0dQSUNUIiwgMHg4MDBlNzYwNn0sCit7ImxpbnV4L2ZkLmgiLCAiRkRHRVREUlZUWVAiLCAweDgwMTAwMjBmfSwKK3sibGludXgvdXNiZGV2aWNlX2ZzLmgiLCAiVVNCREVWRlNfRElTQ1NJR05BTCIsIDB4ODAxMDU1MGV9LAoreyJsaW51eC9tdGlvLmgiLCAiTVRJT0NHRVRTSVpFIiwgMHg4MDEwNmQwOX0sCit7ImxpbnV4L25jcF9mcy5oIiwgIk5DUF9JT0NfTkNQUkVRVUVTVCIsIDB4ODAxMDZlMDF9LAoreyJsaW51eC9uY3BfZnMuaCIsICJOQ1BfSU9DX1NFVFBSSVZBVEVEQVRBIiwgMHg4MDEwNmUwYX0sCit7ImxpbnV4L3BwZGV2LmgiLCAiUFBHRVRUSU1FIiwgMHg4MDEwNzA5NX0sCit7ImxpbnV4L2lmX3BwcC5oIiwgIlBQUElPQ0dJRExFIiwgMHg4MDEwNzQzZn0sCit7ImxpbnV4L2lzZG5fcHBwLmgiLCAiUFBQSU9DR0lGTkFNRSIsIDB4ODAxMDc0ODh9LAoreyJsaW51eC9mZC5oIiwgIkZER0VUTUFYRVJSUyIsIDB4ODAxNDAyMGV9LAoreyJsaW51eC9tdGlvLmgiLCAiTVRJT0NWT0xJTkZPIiwgMHg4MDE0NmQwOH0sCit7ImxpbnV4L25jcF9mcy5oIiwgIk5DUF9JT0NfTE9DS1VOTE9DSyIsIDB4ODAxNDZlMDd9LAoreyJsaW51eC92aWRlb2Rldi5oIiwgIlZJRElPQ0dVTklUIiwgMHg4MDE0NzYxNX0sCit7ImxpbnV4L3ZpZGVvZGV2LmgiLCAiVklESU9DR0NBUFRVUkUiLCAweDgwMTQ3NjE2fSwKK3sibGludXgvbmNwX2ZzLmgiLCAiTkNQX0lPQ19TSUdOX0lOSVQiLCAweDgwMTg2ZTA1fSwKK3sibGludXgvbmNwX2ZzLmgiLCAiTkNQX0lPQ19TRVRPQkpFQ1ROQU1FIiwgMHg4MDE4NmUwOX0sCit7ImxpbnV4L3ZpZGVvZGV2LmgiLCAiVklESU9DR0ZCVUYiLCAweDgwMTg3NjBifSwKK3sibGludXgvZmQuaCIsICJGREdFVFBSTSIsIDB4ODAyMDAyMDR9LAoreyJhc20vZGFzZC5oIiwgIkJJT0RBU0RHQVRUUiIsIDB4ODAyMDQ0MDV9LAoreyJsaW51eC9mYi5oIiwgIkZCSU9HRVRfVkJMQU5LIiwgMHg4MDIwNDYxMn0sCit7ImxpbnV4L2lmX3BwcC5oIiwgIlBQUElPQ0dYQVNZTkNNQVAiLCAweDgwMjA3NDUwfSwKK3sibGludXgvdmlkZW9kZXYuaCIsICJWSURJT0NHVkJJRk1UIiwgMHg4MDIwNzYxY30sCit7ImxpbnV4L3NvbmV0LmgiLCAiU09ORVRfR0VUU1RBVCIsIDB4ODAyNDYxMTB9LAoreyJsaW51eC9zb25ldC5oIiwgIlNPTkVUX0dFVFNUQVRaIiwgMHg4MDI0NjExMX0sCit7ImxpbnV4L2pveXN0aWNrLmgiLCAiSlNJT0NHQ09SUiIsIDB4ODAyNDZhMjJ9LAoreyJsaW51eC9ydGMuaCIsICJSVENfQUxNX1JFQUQiLCAweDgwMjQ3MDA4fSwKK3sibGludXgvcnRjLmgiLCAiUlRDX1JEX1RJTUUiLCAweDgwMjQ3MDA5fSwKK3sibGludXgvZmQuaCIsICJGREdFVEZEQ1NUQVQiLCAweDgwMjgwMjE1fSwKK3sibGludXgvZmQuaCIsICJGRFdFUlJPUkdFVCIsIDB4ODAyODAyMTd9LAoreyJsaW51eC9ydGMuaCIsICJSVENfV0tBTE1fUkQiLCAweDgwMjg3MDEwfSwKK3sibGludXgvdmlkZW9kZXYuaCIsICJWSURJT0NHV0lOIiwgMHg4MDI4NzYwOX0sCit7ImxpbnV4L3ZpZGVvZGV2LmgiLCAiVklESU9DR0FVRElPIiwgMHg4MDI4NzYxMH0sCit7ImxpbnV4L25jcF9mcy5oIiwgIk5DUF9JT0NfU0VUQ0hBUlNFVFMiLCAweDgwMmE2ZTBifSwKK3sibGludXgvc3luY2xpbmsuaCIsICJNR1NMX0lPQ0dQQVJBTVMiLCAweDgwMzA2ZDAxfSwKK3sibGludXgvbXRpby5oIiwgIk1USU9DR0VUIiwgMHg4MDMwNmQwMn0sCit7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwgIlVTQkRFVkZTX1NVQk1JVFVSQiIsIDB4ODAzODU1MGF9LAoreyJsaW51eC92aWRlb2Rldi5oIiwgIlZJRElPQ0dDQVAiLCAweDgwM2M3NjAxfSwKK3sibGludXgvaTJvLWRldi5oIiwgIkkyT0dFVElPUFMiLCAweDgwNDA2OTAwfSwKK3sibGludXgvaXNkbl9wcHAuaCIsICJQUFBJT0NHQ09NUFJFU1NPUlMiLCAweDgwNDA3NDg2fSwKK3sibGludXgvd2F0Y2hkb2cuaCIsICJXRElPQ19HRVRTVVBQT1JUIiwgMHg4MDQ4NTcwMH0sCit7ImxpbnV4L2ZkLmgiLCAiRkRHRVREUlZTVEFUIiwgMHg4MDUwMDIxMn0sCit7ImxpbnV4L2ZkLmgiLCAiRkRQT0xMRFJWU1RBVCIsIDB4ODA1MDAyMTN9LAoreyJsaW51eC9pMm8tZGV2LmgiLCAiSTJPRVZUR0VUIiwgMHg4MDY4NjkwYn0sCit7ImxpbnV4L2ZkLmgiLCAiRkRHRVREUlZQUk0iLCAweDgwODAwMjExfSwKK3sibGludXgvdXNiZGV2aWNlX2ZzLmgiLCAiVVNCREVWRlNfSFVCX1BPUlRJTkZPIiwgMHg4MDgwNTUxM30sCit7ImxpbnV4L3ZpZGVvZGV2LmgiLCAiVklESU9DR01CVUYiLCAweDgwODg3NjE0fSwKK3siYXNtL2Rhc2QuaCIsICJCSU9EQVNEUFNSRCIsIDB4ODBjMDQ0MDR9LAoreyJsaW51eC9hdXRvX2ZzLmgiLCAiQVVUT0ZTX0lPQ19FWFBJUkUiLCAweDgxMGM5MzY1fSwKK3sibGludXgvdmlkZW9kZXYuaCIsICJWSURJT0NHUExBWUlORk8iLCAweDgxMTg3NjFhfSwKK3siYXNtL2Rhc2QuaCIsICJCSU9EQVNESU5GTyIsIDB4ODE3ODQ0MDF9LAoreyJhc20vZGFzZC5oIiwgIkJJT0RBU0RJTkZPMiIsIDB4ODFhMDQ0MDN9LAoreyJsaW51eC9tc2Rvc19mcy5oIiwgIlZGQVRfSU9DVExfUkVBRERJUl9CT1RIIiwgMHg4MjMwNzIwMX0sCit7ImxpbnV4L21zZG9zX2ZzLmgiLCAiVkZBVF9JT0NUTF9SRUFERElSX1NIT1JUIiwgMHg4MjMwNzIwMn0sCit7ImFzbS9kYXNkLmgiLCAiQklPREFTRFBSUkQiLCAweDg0MDg0NDAyfSwKK3sibGludXgvY2FwaS5oIiwgIkNBUElfR0VUX01BTlVGQUNUVVJFUiIsIDB4YzAwNDQzMDZ9LAoreyJsaW51eC9jYXBpLmgiLCAiQ0FQSV9HRVRfU0VSSUFMIiwgMHhjMDA0NDMwOH0sCit7ImxpbnV4L3NvbmV0LmgiLCAiU09ORVRfU0VURElBRyIsIDB4YzAwNDYxMTJ9LAoreyJsaW51eC9zb25ldC5oIiwgIlNPTkVUX0NMUkRJQUciLCAweGMwMDQ2MTEzfSwKK3sibGludXgvc3luY2xpbmsuaCIsICJNR1NMX0lPQ1dBSVRFVkVOVCIsIDB4YzAwNDZkMDh9LAoreyJsaW51eC9pZl9wcHAuaCIsICJQUFBJT0NORVdVTklUIiwgMHhjMDA0NzQzZX0sCit7ImxpbnV4L2x2bS5oIiwgIlZHX1NUQVRVUyIsIDB4YzAwNGZlMDV9LAoreyJsaW51eC9sdm0uaCIsICJWR19TVEFUVVNfR0VUX0NPVU5UIiwgMHhjMDA0ZmUwNn0sCit7ImxpbnV4L2x2bS5oIiwgIlZHX1NUQVRVU19HRVRfTkFNRUxJU1QiLCAweGMwMDRmZTA3fSwKK3sibGludXgvbHZtLmgiLCAiTFZfU1RBVFVTX0JZTkFNRSIsIDB4YzAwNGZlMjZ9LAoreyJsaW51eC9sdm0uaCIsICJMVl9TVEFUVVNfQllJTkRFWCIsIDB4YzAwNGZlMjd9LAoreyJsaW51eC9sdm0uaCIsICJQVl9TVEFUVVMiLCAweGMwMDRmZTQwfSwKK3sibGludXgvbHZtLmgiLCAiUFZfQ0hBTkdFIiwgMHhjMDA0ZmU0MX0sCit7ImxpbnV4L2FncGdhcnQuaCIsICJBR1BJT0NfQUxMT0NBVEUiLCAweGMwMDg0MTA2fSwKK3siYXNtL2NtYi5oIiwgIkJJT0RBU0RSRUFEQ01CIiwgMHhjMDA4NDQyMH0sCit7ImxpbnV4L2NvZGEuaCIsICJDSU9DX0tFUk5FTF9WRVJTSU9OIiwgMHhjMDA4NjMwYX0sCit7ImxpbnV4L21hdHJveGZiLmgiLCAiTUFUUk9YRkJfR0VUX09VVFBVVF9NT0RFIiwgMHhjMDA4NmVmYX0sCit7ImxpbnV4L3RlbGVwaG9ueS5oIiwgIlBIT05FX1FVRVJZX0NPREVDIiwgMHhjMDA4NzFhN30sCit7ImxpbnV4L2lmX3BwcC5oIiwgIlBQUElPQ0dOUE1PREUiLCAweGMwMDg3NDRjfSwKK3sibGludXgvYXV0b19mcy5oIiwgIkFVVE9GU19JT0NfU0VUVElNRU9VVCIsIDB4YzAwODkzNjR9LAoreyJsaW51eC9jYXBpLmgiLCAiQ0FQSV9HRVRfVkVSU0lPTiIsIDB4YzAxMDQzMDd9LAoreyJsaW51eC9jYXBpLmgiLCAiQ0FQSV9NQU5VRkFDVFVSRVJfQ01EIiwgMHhjMDEwNDMyMH0sCit7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwgIlVTQkRFVkZTX0lPQ1RMIiwgMHhjMDEwNTUxMn0sCit7ImxpbnV4L2F0bV9uaWNzdGFyLmgiLCAiTlNfR0VUUFNUQVQiLCAweGMwMTA2MTYxfSwKK3sibGludXgvbmNwX2ZzLmgiLCAiTkNQX0lPQ19HRVRQUklWQVRFREFUQSIsIDB4YzAxMDZlMGF9LAoreyJsaW51eC91c2JkZXZpY2VfZnMuaCIsICJVU0JERVZGU19DT05UUk9MIiwgMHhjMDE4NTUwMH0sCit7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwgIlVTQkRFVkZTX0JVTEsiLCAweGMwMTg1NTAyfSwKK3sibGludXgvaTJvLWRldi5oIiwgIkkyT0hSVEdFVCIsIDB4YzAxODY5MDF9LAoreyJsaW51eC9pMm8tZGV2LmgiLCAiSTJPTENUR0VUIiwgMHhjMDE4NjkwMn0sCit7ImxpbnV4L210aW8uaCIsICJNVElPQ1JERlRTRUciLCAweGMwMTg2ZDA2fSwKK3sibGludXgvbXRpby5oIiwgIk1USU9DV1JGVFNFRyIsIDB4YzAxODZkMDd9LAoreyJsaW51eC9tdGlvLmgiLCAiTVRJT0NGVEZPUk1BVCIsIDB4YzAxODZkMGF9LAoreyJsaW51eC9uY3BfZnMuaCIsICJOQ1BfSU9DX0dFVE9CSkVDVE5BTUUiLCAweGMwMTg2ZTA5fSwKK3sibGludXgvbXRpby5oIiwgIk1USU9DRlRDTUQiLCAweGMwMjA2ZDBifSwKK3sibGludXgvaTJvLWRldi5oIiwgIkkyT1BBUk1TRVQiLCAweGMwMjg2OTAzfSwKK3sibGludXgvaTJvLWRldi5oIiwgIkkyT1BBUk1HRVQiLCAweGMwMjg2OTA0fSwKK3sibGludXgvbmNwX2ZzLmgiLCAiTkNQX0lPQ19HRVRfRlNfSU5GTyIsIDB4YzAyODZlMDR9LAoreyJsaW51eC9uY3BfZnMuaCIsICJOQ1BfSU9DX0dFVENIQVJTRVRTIiwgMHhjMDJhNmUwYn0sCit7ImxpbnV4L2kyby1kZXYuaCIsICJJMk9TV0RMIiwgMHhjMDMwNjkwNX0sCit7ImxpbnV4L2kyby1kZXYuaCIsICJJMk9TV1VMIiwgMHhjMDMwNjkwNn0sCit7ImxpbnV4L2kyby1kZXYuaCIsICJJMk9TV0RFTCIsIDB4YzAzMDY5MDd9LAoreyJsaW51eC9pMm8tZGV2LmgiLCAiSTJPSFRNTCIsIDB4YzAzMDY5MDl9LAoreyJsaW51eC9uY3BfZnMuaCIsICJOQ1BfSU9DX0dFVF9GU19JTkZPX1YyIiwgMHhjMDMwNmUwNH0sCit7ImxpbnV4L3ZpZGVvZGV2LmgiLCAiVklESU9DR0NIQU4iLCAweGMwMzA3NjAyfSwKK3sibGludXgvY2FwaS5oIiwgIkNBUElfR0VUX1BST0ZJTEUiLCAweGMwNDA0MzA5fSwKK3sibGludXgvdmlkZW9kZXYuaCIsICJWSURJT0NHVFVORVIiLCAweGMwNDA3NjA0fSwKK3siYXNtL2NtYi5oIiwgIkJJT0RBU0RSRUFEQUxMQ01CIiwgMHhjMDU4NDQyMX0sCit7ImxpbnV4L2lzZG5fcHBwLmgiLCAiUFBQSU9DR0NBTExJTkZPIiwgMHhjMDg4NzQ4MH0sCmRpZmYgLS1naXQgYS9zdHJhY2UtNC41LjIwL2xpbnV4L3MzOTB4L3N5c2NhbGxlbnQuaCBiL3N0cmFjZS00LjUuMjAvbGludXgvczM5MHgvc3lzY2FsbGVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgzOTIzMmIKLS0tIC9kZXYvbnVsbAorKysgYi9zdHJhY2UtNC41LjIwL2xpbnV4L3MzOTB4L3N5c2NhbGxlbnQuaApAQCAtMCwwICsxLDQ4MiBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAwMCBJQk0gRGV1dHNjaGxhbmQgRW50d2lja2x1bmcgR21iSCwgSUJNIENvcG9yYXRpb24KKyAqIEF1dGhvcjogVWxyaWNoIFdlaWdhbmQgPFVscmljaC5XZWlnYW5kQGRlLmlibS5jb20+CisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gVGhlIG5hbWUgb2YgdGhlIGF1dGhvciBtYXkgbm90IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzCisgKiAgICBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBBVVRIT1IgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUyBPUgorICogSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUworICogT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4KKyAqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKKyAqIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVAorICogTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKgorICovCisKKwl7IDAsCTAsCXN5c19zZXR1cCwJCSJzZXR1cCIJCX0sIC8qIDAgKi8KKwl7IDEsCVRQLAlzeXNfZXhpdCwJCSJfZXhpdCIJCX0sIC8qIDEgKi8KKwl7IDAsCVRQLAlzeXNfZm9yaywJCSJmb3JrIgkJfSwgLyogMiAqLworCXsgMywJVEQsCXN5c19yZWFkLAkJInJlYWQiCQl9LCAvKiAzICovCisJeyAzLAlURCwJc3lzX3dyaXRlLAkJIndyaXRlIgkJfSwgLyogNCAqLworCXsgMywJVER8VEYsCXN5c19vcGVuLAkJIm9wZW4iCQl9LCAvKiA1ICovCisJeyAxLAlURCwJc3lzX2Nsb3NlLAkJImNsb3NlIgkJfSwgLyogNiAqLworCXsgMCwJMCwJc3lzX3Jlc3RhcnRfc3lzY2FsbCwJInJlc3RhcnRfc3lzY2FsbCJ9LCAvKiA3ICovCisJeyAyLAlURHxURiwJc3lzX2NyZWF0LAkJImNyZWF0IgkJfSwgLyogOCAqLworCXsgMiwJVEYsCXN5c19saW5rLAkJImxpbmsiCQl9LCAvKiA5ICovCisJeyAxLAlURiwJc3lzX3VubGluaywJCSJ1bmxpbmsiCX0sIC8qIDEwICovCisJeyAzLAlURnxUUCwJc3lzX2V4ZWN2ZSwJCSJleGVjdmUiCX0sIC8qIDExICovCisJeyAxLAlURiwJc3lzX2NoZGlyLAkJImNoZGlyIgkJfSwgLyogMTIgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEzIgl9LCAvKiAxMyAqLworCXsgMywJVEYsCXN5c19ta25vZCwJCSJta25vZCIJCX0sIC8qIDE0ICovCisJeyAyLAlURiwJc3lzX2NobW9kLAkJImNobW9kIgkJfSwgLyogMTUgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE2Igl9LCAvKiAxNiAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMTciCX0sIC8qIDE3ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18xOCIJfSwgLyogMTggKi8KKwl7IDMsCVRELAlzeXNfbHNlZWssCQkibHNlZWsiCQl9LCAvKiAxOSAqLworCXsgMCwJMCwJc3lzX2dldHBpZCwJCSJnZXRwaWQiCX0sIC8qIDIwICovCisJeyA1LAlURiwJc3lzX21vdW50LAkJIm1vdW50IgkJfSwgLyogMjEgKi8KKwl7IDEsCVRGLAlzeXNfdW1vdW50LAkJIm9sZHVtb3VudCIJfSwgLyogMjIgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIzIgl9LCAvKiAyMyAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMjQiCX0sIC8qIDI0ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNSIJfSwgLyogMjUgKi8KKwl7IDQsCTAsCXN5c19wdHJhY2UsCQkicHRyYWNlIgl9LCAvKiAyNiAqLworCXsgMSwJMCwJc3lzX2FsYXJtLAkJImFsYXJtIgkJfSwgLyogMjcgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI4Igl9LCAvKiAyOCAqLworCXsgMCwJVFMsCXN5c19wYXVzZSwJCSJwYXVzZSIJCX0sIC8qIDI5ICovCisJeyAyLAlURiwJc3lzX3V0aW1lLAkJInV0aW1lIgkJfSwgLyogMzAgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMxIgl9LCAvKiAzMSAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMzIiCX0sIC8qIDMyICovCisJeyAyLAlURiwJc3lzX2FjY2VzcywJCSJhY2Nlc3MiCX0sIC8qIDMzICovCisJeyAxLAkwLAlzeXNfbmljZSwJCSJuaWNlIgkJfSwgLyogMzQgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1Igl9LCAvKiAzNSAqLworCXsgMCwJMCwJc3lzX3N5bmMsCQkic3luYyIJCX0sIC8qIDM2ICovCisJeyAyLAlUUywJc3lzX2tpbGwsCQkia2lsbCIJCX0sIC8qIDM3ICovCisJeyAyLAlURiwJc3lzX3JlbmFtZSwJCSJyZW5hbWUiCX0sIC8qIDM4ICovCisJeyAyLAlURiwJc3lzX21rZGlyLAkJIm1rZGlyIgkJfSwgLyogMzkgKi8KKwl7IDEsCVRGLAlzeXNfcm1kaXIsCQkicm1kaXIiCQl9LCAvKiA0MCAqLworCXsgMSwJVEQsCXN5c19kdXAsCQkiZHVwIgkJfSwgLyogNDEgKi8KKwl7IDEsCVRELAlzeXNfcGlwZSwJCSJwaXBlIgkJfSwgLyogNDIgKi8KKwl7IDEsCTAsCXN5c190aW1lcywJCSJ0aW1lcyIJCX0sIC8qIDQzICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU180NCIJfSwgLyogNDQgKi8KKwl7IDEsCTAsCXN5c19icmssCQkiYnJrIgkJfSwgLyogNDUgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzQ2Igl9LCAvKiA0NiAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfNDciCX0sIC8qIDQ3ICovCisJeyAzLAlUUywJc3lzX3NpZ25hbCwJCSJzaWduYWwiCX0sIC8qIDQ4ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU180OSIJfSwgLyogNDkgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUwIgl9LCAvKiA1MCAqLworCXsgMSwJVEYsCXN5c19hY2N0LAkJImFjY3QiCQl9LCAvKiA1MSAqLworCXsgMiwJVEYsCXN5c191bW91bnQyLAkJInVtb3VudCIJfSwgLyogNTIgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzUzIgl9LCAvKiA1MyAqLworCXsgMywJVEQsCXN5c19pb2N0bCwJCSJpb2N0bCIJCX0sIC8qIDU0ICovCisJeyAzLAlURCwJc3lzX2ZjbnRsLAkJImZjbnRsIgkJfSwgLyogNTUgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU2Igl9LCAvKiA1NiAqLworCXsgMiwJMCwJc3lzX3NldHBnaWQsCQkic2V0cGdpZCIJfSwgLyogNTcgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzU4Igl9LCAvKiA1OCAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfNTkiCX0sIC8qIDU5ICovCisJeyAxLAkwLAlzeXNfdW1hc2ssCQkidW1hc2siCQl9LCAvKiA2MCAqLworCXsgMSwJVEYsCXN5c19jaHJvb3QsCQkiY2hyb290Igl9LCAvKiA2MSAqLworCXsgMiwJMCwJc3lzX3VzdGF0LAkJInVzdGF0IgkJfSwgLyogNjIgKi8KKwl7IDIsCVRELAlzeXNfZHVwMiwJCSJkdXAyIgkJfSwgLyogNjMgKi8KKwl7IDAsCTAsCXN5c19nZXRwcGlkLAkJImdldHBwaWQiCX0sIC8qIDY0ICovCisJeyAwLAkwLAlzeXNfZ2V0cGdycCwJCSJnZXRwZ3JwIgl9LCAvKiA2NSAqLworCXsgMCwJMCwJc3lzX3NldHNpZCwJCSJzZXRzaWQiCX0sIC8qIDY2ICovCisJeyAzLAlUUywJc3lzX3NpZ2FjdGlvbiwJCSJzaWdhY3Rpb24iCX0sIC8qIDY3ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU182OCIJfSwgLyogNjggKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY5Igl9LCAvKiA2OSAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfNzAiCX0sIC8qIDcwICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU183MSIJfSwgLyogNzEgKi8KKwl7IDMsCVRTLAlzeXNfc2lnc3VzcGVuZCwJCSJzaWdzdXNwZW5kIgl9LCAvKiA3MiAqLworCXsgMSwJVFMsCXN5c19zaWdwZW5kaW5nLAkJInNpZ3BlbmRpbmciCX0sIC8qIDczICovCisJeyAyLAkwLAlzeXNfc2V0aG9zdG5hbWUsCSJzZXRob3N0bmFtZSIJfSwgLyogNzQgKi8KKwl7IDIsCTAsCXN5c19zZXRybGltaXQsCQkic2V0cmxpbWl0Igl9LCAvKiA3NSAqLworCXsgMiwJMCwJc3lzX2dldHJsaW1pdCwJCSJnZXRybGltaXQiCX0sIC8qIDc2ICovCisJeyAyLAkwLAlzeXNfZ2V0cnVzYWdlLAkJImdldHJ1c2FnZSIJfSwgLyogNzcgKi8KKwl7IDIsCTAsCXN5c19nZXR0aW1lb2ZkYXksCSJnZXR0aW1lb2ZkYXkiCX0sIC8qIDc4ICovCisJeyAyLAkwLAlzeXNfc2V0dGltZW9mZGF5LAkic2V0dGltZW9mZGF5Igl9LCAvKiA3OSAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfODAiCX0sIC8qIDgwICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU184MSIJfSwgLyogODEgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzgyIgl9LCAvKiA4MiAqLworCXsgMiwJVEYsCXN5c19zeW1saW5rLAkJInN5bWxpbmsiCX0sIC8qIDgzICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU184NCIJfSwgLyogODQgKi8KKwl7IDMsCVRGLAlzeXNfcmVhZGxpbmssCQkicmVhZGxpbmsiCX0sIC8qIDg1ICovCisJeyAxLAlURiwJc3lzX3VzZWxpYiwJCSJ1c2VsaWIiCX0sIC8qIDg2ICovCisJeyAxLAlURiwJc3lzX3N3YXBvbiwJCSJzd2Fwb24iCX0sIC8qIDg3ICovCisJeyAzLAkwLAlzeXNfcmVib290LAkJInJlYm9vdCIJfSwgLyogODggKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzg5Igl9LCAvKiA4OSAqLworCXsgNiwJVEQsCXN5c19vbGRfbW1hcCwJCSJtbWFwIgkJfSwgLyogOTAgKi8KKwl7IDIsCTAsCXN5c19tdW5tYXAsCQkibXVubWFwIgl9LCAvKiA5MSAqLworCXsgMiwJVEYsCXN5c190cnVuY2F0ZSwJCSJ0cnVuY2F0ZSIJfSwgLyogOTIgKi8KKwl7IDIsCVRELAlzeXNfZnRydW5jYXRlLAkJImZ0cnVuY2F0ZSIJfSwgLyogOTMgKi8KKwl7IDIsCVRELAlzeXNfZmNobW9kLAkJImZjaG1vZCIJfSwgLyogOTQgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzk1Igl9LCAvKiA5NSAqLworCXsgMiwJMCwJc3lzX2dldHByaW9yaXR5LAkiZ2V0cHJpb3JpdHkiCX0sIC8qIDk2ICovCisJeyAzLAkwLAlzeXNfc2V0cHJpb3JpdHksCSJzZXRwcmlvcml0eSIJfSwgLyogOTcgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzk4Igl9LCAvKiA5OCAqLworCXsgMiwJVEYsCXN5c19zdGF0ZnMsCQkic3RhdGZzIgl9LCAvKiA5OSAqLworCXsgMiwJVEQsCXN5c19mc3RhdGZzLAkJImZzdGF0ZnMiCX0sIC8qIDEwMCAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMTAxIgl9LCAvKiAxMDEgKi8KKwl7IDIsCVRELAlzeXNfc29ja2V0Y2FsbCwJCSJzb2NrZXRjYWxsIgl9LCAvKiAxMDIgKi8KKwl7IDMsCTAsCXN5c19zeXNsb2csCQkic3lzbG9nIgl9LCAvKiAxMDMgKi8KKwl7IDMsCTAsCXN5c19zZXRpdGltZXIsCQkic2V0aXRpbWVyIgl9LCAvKiAxMDQgKi8KKwl7IDIsCTAsCXN5c19nZXRpdGltZXIsCQkiZ2V0aXRpbWVyIgl9LCAvKiAxMDUgKi8KKwl7IDIsCVRGLAlzeXNfc3RhdCwJCSJzdGF0IgkJfSwgLyogMTA2ICovCisJeyAyLAlURiwJc3lzX2xzdGF0LAkJImxzdGF0IgkJfSwgLyogMTA3ICovCisJeyAyLAlURCwJc3lzX2ZzdGF0LAkJImZzdGF0IgkJfSwgLyogMTA4ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMDkiCX0sIC8qIDEwOSAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMTEwIgl9LCAvKiAxMTAgKi8KKwl7IDAsCTAsCXN5c192aGFuZ3VwLAkJInZoYW5ndXAiCX0sIC8qIDExMSAqLworCXsgMCwJMCwJc3lzX2lkbGUsCQkiaWRsZSIJCX0sIC8qIDExMiAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMTEzIgl9LCAvKiAxMTMgKi8KKwl7IDQsCVRQLAlzeXNfd2FpdDQsCQkid2FpdDQiCQl9LCAvKiAxMTQgKi8KKwl7IDEsCTAsCXN5c19zd2Fwb2ZmLAkJInN3YXBvZmYiCX0sIC8qIDExNSAqLworCXsgMSwJMCwJc3lzX3N5c2luZm8sCQkic3lzaW5mbyIJfSwgLyogMTE2ICovCisJeyA1LAkwLAlzeXNfaXBjLAkJImlwYyIJCX0sIC8qIDExNyAqLworCXsgMSwJVEQsCXN5c19mc3luYywJCSJmc3luYyIJCX0sIC8qIDExOCAqLworCXsgMSwJVFMsCXN5c19zaWdyZXR1cm4sCQkic2lncmV0dXJuIgl9LCAvKiAxMTkgKi8KKwl7IDUsCVRQLAlzeXNfY2xvbmUsCQkiY2xvbmUiCQl9LCAvKiAxMjAgKi8KKwl7IDIsCTAsCXN5c19zZXRkb21haW5uYW1lLAkic2V0ZG9tYWlubmFtZSIJfSwgLyogMTIxICovCisJeyAxLAkwLAlzeXNfdW5hbWUsCQkidW5hbWUiCQl9LCAvKiAxMjIgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEyMyIJfSwgLyogMTIzICovCisJeyAxLAkwLAlzeXNfYWRqdGltZXgsCQkiYWRqdGltZXgiCX0sIC8qIDEyNCAqLworCXsgMywJMCwJc3lzX21wcm90ZWN0LAkJIm1wcm90ZWN0Igl9LCAvKiAxMjUgKi8KKwl7IDMsCVRTLAlzeXNfc2lncHJvY21hc2ssCSJzaWdwcm9jbWFzayIJfSwgLyogMTI2ICovCisJeyAyLAkwLAlzeXNfY3JlYXRlX21vZHVsZSwJImNyZWF0ZV9tb2R1bGUiCX0sIC8qIDEyNyAqLworCXsgMywJMCwJc3lzX2luaXRfbW9kdWxlLAkiaW5pdF9tb2R1bGUiCX0sIC8qIDEyOCAqLworCXsgMiwJMCwJc3lzX2RlbGV0ZV9tb2R1bGUsCSJkZWxldGVfbW9kdWxlIgl9LCAvKiAxMjkgKi8KKwl7IDEsCTAsCXN5c19nZXRfa2VybmVsX3N5bXMsCSJnZXRfa2VybmVsX3N5bXMifSwgLyogMTMwICovCisJeyA0LAkwLAlzeXNfcXVvdGFjdGwsCQkicXVvdGFjdGwiCX0sIC8qIDEzMSAqLworCXsgMSwJMCwJc3lzX2dldHBnaWQsCQkiZ2V0cGdpZCIJfSwgLyogMTMyICovCisJeyAxLAlURCwJc3lzX2ZjaGRpciwJCSJmY2hkaXIiCX0sIC8qIDEzMyAqLworCXsgMCwJMCwJc3lzX2JkZmx1c2gsCQkiYmRmbHVzaCIJfSwgLyogMTM0ICovCisJeyAzLAkwLAlzeXNfc3lzZnMsCQkic3lzZnMiCQl9LCAvKiAxMzUgKi8KKwl7IDEsCTAsCXN5c19wZXJzb25hbGl0eSwJInBlcnNvbmFsaXR5Igl9LCAvKiAxMzYgKi8KKwl7IDUsCTAsCXN5c19hZnNfc3lzY2FsbCwJImFmc19zeXNjYWxsIgl9LCAvKiAxMzcgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEzOCIJfSwgLyogMTM4ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMzkiCX0sIC8qIDEzOSAqLworCXsgNSwJMCwJc3lzX2xsc2VlaywJCSJfbGxzZWVrIgl9LCAvKiAxNDAgKi8KKwl7IDMsCVRELAlzeXNfZ2V0ZGVudHMsCQkiZ2V0ZGVudHMiCX0sIC8qIDE0MSAqLworCXsgNSwJVEQsCXN5c19zZWxlY3QsCQkic2VsZWN0Igl9LCAvKiAxNDIgKi8KKwl7IDIsCVRELAlzeXNfZmxvY2ssCQkiZmxvY2siCQl9LCAvKiAxNDMgKi8KKwl7IDMsCTAsCXN5c19tc3luYywJCSJtc3luYyIJCX0sIC8qIDE0NCAqLworCXsgMywJVEQsCXN5c19yZWFkdiwJCSJyZWFkdiIJCX0sIC8qIDE0NSAqLworCXsgMywJVEQsCXN5c193cml0ZXYsCQkid3JpdGV2Igl9LCAvKiAxNDYgKi8KKwl7IDEsCTAsCXN5c19nZXRzaWQsCQkiZ2V0c2lkIgl9LCAvKiAxNDcgKi8KKwl7IDEsCVRELAlzeXNfZmRhdGFzeW5jLAkJImZkYXRhc3luYyIJfSwgLyogMTQ4ICovCisJeyAxLAkwLAlzeXNfc3lzY3RsLAkJIl9zeXNjdGwiCX0sIC8qIDE0OSAqLworCXsgMiwJMCwJc3lzX21sb2NrLAkJIm1sb2NrIgkJfSwgLyogMTUwICovCisJeyAyLAkwLAlzeXNfbXVubG9jaywJCSJtdW5sb2NrIgl9LCAvKiAxNTEgKi8KKwl7IDIsCTAsCXN5c19tbG9ja2FsbCwJCSJtbG9ja2FsbCIJfSwgLyogMTUyICovCisJeyAwLAkwLAlzeXNfbXVubG9ja2FsbCwJCSJtdW5sb2NrYWxsIgl9LCAvKiAxNTMgKi8KKwl7IDAsCTAsCXN5c19zY2hlZF9zZXRwYXJhbSwJInNjaGVkX3NldHBhcmFtIn0sIC8qIDE1NCAqLworCXsgMiwJMCwJc3lzX3NjaGVkX2dldHBhcmFtLAkic2NoZWRfZ2V0cGFyYW0ifSwgLyogMTU1ICovCisJeyAzLAkwLAlzeXNfc2NoZWRfc2V0c2NoZWR1bGVyLAkic2NoZWRfc2V0c2NoZWR1bGVyIn0sIC8qIDE1NiAqLworCXsgMSwJMCwJc3lzX3NjaGVkX2dldHNjaGVkdWxlciwJInNjaGVkX2dldHNjaGVkdWxlciJ9LCAvKiAxNTcgKi8KKwl7IDAsCTAsCXN5c19zY2hlZF95aWVsZCwJInNjaGVkX3lpZWxkIn0sIC8qIDE1OCAqLworCXsgMSwJMCwJc3lzX3NjaGVkX2dldF9wcmlvcml0eV9tYXgsInNjaGVkX2dldF9wcmlvcml0eV9tYXgifSwgLyogMTU5ICovCisJeyAxLAkwLAlzeXNfc2NoZWRfZ2V0X3ByaW9yaXR5X21pbiwic2NoZWRfZ2V0X3ByaW9yaXR5X21pbiJ9LCAvKiAxNjAgKi8KKwl7IDIsCTAsCXN5c19zY2hlZF9ycl9nZXRfaW50ZXJ2YWwsInNjaGVkX3JyX2dldF9pbnRlcnZhbCJ9LCAvKiAxNjEgKi8KKwl7IDIsCTAsCXN5c19uYW5vc2xlZXAsCQkibmFub3NsZWVwIgl9LCAvKiAxNjIgKi8KKwl7IDUsCTAsCXN5c19tcmVtYXAsCQkibXJlbWFwIgl9LCAvKiAxNjMgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE2NCIJfSwgLyogMTY0ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNjUiCX0sIC8qIDE2NSAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMTY2Igl9LCAvKiAxNjYgKi8KKwl7IDUsCTAsCXN5c19xdWVyeV9tb2R1bGUsCSJxdWVyeV9tb2R1bGUiCX0sIC8qIDE2NyAqLworCXsgMywJVEQsCXN5c19wb2xsLAkJInBvbGwiCQl9LCAvKiAxNjggKi8KKwl7IDMsCTAsCXByaW50YXJncywJCSJuZnNzZXJ2Y3RsIgl9LCAvKiAxNjkgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE3MCIJfSwgLyogMTcwICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNzEiCX0sIC8qIDE3MSAqLworCXsgNSwJMCwJc3lzX3ByY3RsLAkJInByY3RsIgkJfSwgLyogMTcyICovCisJeyAxLAlUUywJc3lzX3NpZ3JldHVybiwJCSJydF9zaWdyZXR1cm4iCX0sIC8qIDE3MyAqLworCXsgNCwJVFMsCXN5c19ydF9zaWdhY3Rpb24sCSJydF9zaWdhY3Rpb24iCX0sIC8qIDE3NCAqLworCXsgNCwJVFMsCXN5c19ydF9zaWdwcm9jbWFzaywJInJ0X3NpZ3Byb2NtYXNrIn0sIC8qIDE3NSAqLworCXsgMiwJVFMsCXN5c19ydF9zaWdwZW5kaW5nLAkicnRfc2lncGVuZGluZyIJfSwgLyogMTc2ICovCisJeyA0LAlUUywJc3lzX3J0X3NpZ3RpbWVkd2FpdCwJInJ0X3NpZ3RpbWVkd2FpdCJ9LCAvKiAxNzcgKi8KKwl7IDMsCVRTLAlzeXNfcnRfc2lncXVldWVpbmZvLAkicnRfc2lncXVldWVpbmZvIn0sIC8qIDE3OCAqLworCXsgMiwJVFMsCXN5c19ydF9zaWdzdXNwZW5kLAkicnRfc2lnc3VzcGVuZCIJfSwgLyogMTc5ICovCisJeyA1LAlURCwJc3lzX3ByZWFkLAkJInByZWFkIgkJfSwgLyogMTgwICovCisJeyA1LAlURCwJc3lzX3B3cml0ZSwJCSJwd3JpdGUiCX0sIC8qIDE4MSAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMTgyIgl9LCAvKiAxODIgKi8KKwl7IDIsCVRGLAlzeXNfZ2V0Y3dkLAkJImdldGN3ZCIJfSwgLyogMTgzICovCisJeyAyLAkwLAlzeXNfY2FwZ2V0LAkJImNhcGdldCIJfSwgLyogMTg0ICovCisJeyAyLAkwLAlzeXNfY2Fwc2V0LAkJImNhcHNldCIJfSwgLyogMTg1ICovCisJeyAyLAlUUywJc3lzX3NpZ2FsdHN0YWNrLAkic2lnYWx0c3RhY2siCX0sIC8qIDE4NiAqLworCXsgNCwJVER8VE4sCXN5c19zZW5kZmlsZSwJCSJzZW5kZmlsZSIJfSwgLyogMTg3ICovCisJeyA1LAkwLAlzeXNfZ2V0cG1zZywJCSJnZXRwbXNnIgl9LCAvKiAxODggKi8KKwl7IDUsCTAsCXN5c19wdXRwbXNnLAkJInB1dHBtc2ciCX0sIC8qIDE4OSAqLworCXsgMCwJVFAsCXN5c192Zm9yaywJCSJ2Zm9yayIJCX0sIC8qIDE5MCAqLworCXsgMiwJMCwJc3lzX2dldHJsaW1pdCwJCSJnZXRybGltaXQiCX0sIC8qIDE5MSAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMTkyIgl9LCAvKiAxOTIgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE5MyIJfSwgLyogMTkzICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18xOTQiCX0sIC8qIDE5NCAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMTk1Igl9LCAvKiAxOTUgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE5NiIJfSwgLyogMTk2ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18xOTciCX0sIC8qIDE5NyAqLworCXsgMywJVEYsCXN5c19jaG93biwJCSJsY2hvd24iCX0sIC8qIDE5OCAqLworCXsgMCwJMCwJc3lzX2dldHVpZCwJCSJnZXR1aWQiCX0sIC8qIDE5OSAqLworCXsgMCwJMCwJc3lzX2dldGdpZCwJCSJnZXRnaWQiCX0sIC8qIDIwMCAqLworCXsgMCwJMCwJc3lzX2dldGV1aWQsCQkiZ2V0ZXVpZCIJfSwgLyogMjAxICovCisJeyAwLAkwLAlzeXNfZ2V0ZWdpZCwJCSJnZXRlZ2lkIgl9LCAvKiAyMDIgKi8KKwl7IDIsCTAsCXN5c19zZXRyZXVpZCwJCSJzZXRyZXVpZCIJfSwgLyogMjAzICovCisJeyAyLAkwLAlzeXNfc2V0cmVnaWQsCQkic2V0cmVnaWQiCX0sIC8qIDIwNCAqLworCXsgMiwJMCwJc3lzX2dldGdyb3VwcywJCSJnZXRncm91cHMiCX0sIC8qIDIwNSAqLworCXsgMiwJMCwJc3lzX3NldGdyb3VwcywJCSJzZXRncm91cHMiCX0sIC8qIDIwNiAqLworCXsgMywJVEQsCXN5c19mY2hvd24sCQkiZmNob3duIgl9LCAvKiAyMDcgKi8KKwl7IDMsCTAsCXN5c19zZXRyZXN1aWQsCQkic2V0cmVzdWlkIgl9LCAvKiAyMDggKi8KKwl7IDMsCTAsCXN5c19nZXRyZXN1aWQsCQkiZ2V0cmVzdWlkIgl9LCAvKiAyMDkgKi8KKwl7IDMsCTAsCXN5c19zZXRyZXNnaWQsCQkic2V0cmVzZ2lkIgl9LCAvKiAyMTAgKi8KKwl7IDMsCTAsCXN5c19nZXRyZXNnaWQsCQkiZ2V0cmVzZ2lkIgl9LCAvKiAyMTEgKi8KKwl7IDMsCVRGLAlzeXNfY2hvd24sCQkiY2hvd24iCQl9LCAvKiAyMTIgKi8KKwl7IDEsCTAsCXN5c19zZXR1aWQsCQkic2V0dWlkIgl9LCAvKiAyMTMgKi8KKwl7IDEsCTAsCXN5c19zZXRnaWQsCQkic2V0Z2lkIgl9LCAvKiAyMTQgKi8KKwl7IDEsCTAsCXN5c19zZXRmc3VpZCwJCSJzZXRmc3VpZCIJfSwgLyogMjE1ICovCisJeyAxLAkwLAlzeXNfc2V0ZnNnaWQsCQkic2V0ZnNnaWQiCX0sIC8qIDIxNiAqLworCXsgMiwJVEYsCXN5c19waXZvdHJvb3QsCQkicGl2b3Rfcm9vdCIJfSwgLyogMjE3ICovCisJeyAzLAkwLAlzeXNfbWluY29yZSwJICAgICAgICAgIm1pbmNvcmUiICAgICAgfSwgLyogMjE4ICovCisJeyAzLAkwLAlzeXNfbWFkdmlzZSwJCSJtYWR2aXNlIgl9LCAvKiAyMTkgKi8KKwl7IDMsCVRELAlzeXNfZ2V0ZGVudHM2NCwJCSJnZXRkZW50czY0Igl9LCAvKiAyMjAgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIyMSIJfSwgLyogMjIxICovCisJeyA0LAlURCwJc3lzX3JlYWRhaGVhZCwJCSJyZWFkYWhlYWQiCX0sIC8qIDIyMiAqLworCXsgNCwJVER8VE4sCXN5c19zZW5kZmlsZTY0LAkJInNlbmRmaWxlNjQiCX0sIC8qIDIyMyAqLworCXsgNSwJVEYsCXN5c19zZXR4YXR0ciwJCSJzZXR4YXR0ciIJfSwgLyogMjI0ICovCisJeyA1LAlURiwJc3lzX3NldHhhdHRyLAkJImxzZXR4YXR0ciIJfSwgLyogMjI1ICovCisJeyA1LAlURCwJc3lzX2ZzZXR4YXR0ciwJCSJmc2V0eGF0dHIiCX0sIC8qIDIyNiAqLworCXsgNCwJVEYsCXN5c19nZXR4YXR0ciwJCSJnZXR4YXR0ciIJfSwgLyogMjI3ICovCisJeyA0LAlURiwJc3lzX2dldHhhdHRyLAkJImxnZXR4YXR0ciIJfSwgLyogMjI4ICovCisJeyA0LAkwLAlzeXNfZmdldHhhdHRyLAkJImZnZXR4YXR0ciIJfSwgLyogMjI5ICovCisJeyAzLAlURiwJc3lzX2xpc3R4YXR0ciwJCSJsaXN0eGF0dHIiCX0sIC8qIDIzMCAqLworCXsgMywJVEYsCXN5c19saXN0eGF0dHIsCQkibGxpc3R4YXR0ciIJfSwgLyogMjMxICovCisJeyAzLAkwLAlzeXNfZmxpc3R4YXR0ciwJCSJmbGlzdHhhdHRyIgl9LCAvKiAyMzIgKi8KKwl7IDIsCVRGLAlzeXNfcmVtb3ZleGF0dHIsCSJyZW1vdmV4YXR0ciIJfSwgLyogMjMzICovCisJeyAyLAlURiwJc3lzX3JlbW92ZXhhdHRyLAkibHJlbW92ZXhhdHRyIgl9LCAvKiAyMzQgKi8KKwl7IDIsCVRELAlzeXNfZnJlbW92ZXhhdHRyLAkiZnJlbW92ZXhhdHRyIgl9LCAvKiAyMzUgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJnZXR0aWQiCX0sIC8qIDIzNiAqLworCXsgMiwJVFMsCXN5c19raWxsLAkJInRraWxsIgkJfSwgLyogMjM3ICovCisJeyA2LAkwLAlzeXNfZnV0ZXgsCQkiZnV0ZXgiCQl9LCAvKiAyMzggKi8KKwl7IDMsCTAsCXN5c19zY2hlZF9zZXRhZmZpbml0eSwJInNjaGVkX3NldGFmZmluaXR5IiB9LC8qIDIzOSAqLworCXsgMywJMCwJc3lzX3NjaGVkX2dldGFmZmluaXR5LAkic2NoZWRfZ2V0YWZmaW5pdHkiIH0sLyogMjQwICovCisJeyAzLAlUUywJc3lzX3Rna2lsbCwJCSJ0Z2tpbGwiCX0sIC8qIDI0MSAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMjQyIgl9LCAvKiAyNDIgKi8KKwl7IDIsCTAsCXN5c19pb19zZXR1cCwJCSJpb19zZXR1cCIJfSwgLyogMjQzICovCisJeyAxLAkwLAlzeXNfaW9fZGVzdHJveSwJCSJpb19kZXN0cm95Igl9LCAvKiAyNDQgKi8KKwl7IDUsCTAsCXN5c19pb19nZXRldmVudHMsCSJpb19nZXRldmVudHMiCX0sIC8qIDI0NSAqLworCXsgMywJMCwJc3lzX2lvX3N1Ym1pdCwJCSJpb19zdWJtaXQiCX0sIC8qIDI0NiAqLworCXsgMywJMCwJc3lzX2lvX2NhbmNlbCwJCSJpb19jYW5jZWwiCX0sIC8qIDI0NyAqLworCXsgMSwJVFAsCXN5c19leGl0LAkJImV4aXRfZ3JvdXAiCX0sIC8qIDI0OCAqLworCXsgMSwJMCwJc3lzX2Vwb2xsX2NyZWF0ZSwJImVwb2xsX2NyZWF0ZSIJfSwgLyogMjQ5ICovCisJeyA0LAlURCwJc3lzX2Vwb2xsX2N0bCwJCSJlcG9sbF9jdGwiCX0sIC8qIDI1MCAqLworCXsgNCwJVEQsCXN5c19lcG9sbF93YWl0LAkJImVwb2xsX3dhaXQiCX0sIC8qIDI1MSAqLworCXsgMSwJMCwJcHJpbnRhcmdzLAkJInNldF90aWRfYWRkcmVzcyJ9LCAvKiAyNTIgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJmYWR2aXNlNjQiCX0sIC8qIDI1MyAqLworCXsgMywJMCwJc3lzX3RpbWVyX2NyZWF0ZSwJInRpbWVyX2NyZWF0ZSIJfSwgLyogMjU0ICovCisJeyA0LAkwLAlzeXNfdGltZXJfc2V0dGltZSwJInRpbWVyX3NldHRpbWUiCX0sIC8qIDI1NSAqLworCXsgMiwJMCwJc3lzX3RpbWVyX2dldHRpbWUsCSJ0aW1lcl9nZXR0aW1lIgl9LCAvKiAyNTYgKi8KKwl7IDEsCTAsCXN5c190aW1lcl9nZXRvdmVycnVuLAkidGltZXJfZ2V0b3ZlcnJ1biJ9LCAvKiAyNTcgKi8KKwl7IDEsCTAsCXN5c190aW1lcl9kZWxldGUsCSJ0aW1lcl9kZWxldGUiCX0sIC8qIDI1OCAqLworCXsgMiwJMCwJc3lzX2Nsb2NrX3NldHRpbWUsCSJjbG9ja19zZXR0aW1lIgl9LCAvKiAyNTkgKi8KKwl7IDIsCTAsCXN5c19jbG9ja19nZXR0aW1lLAkiY2xvY2tfZ2V0dGltZSIJfSwgLyogMjYwICovCisJeyAyLAkwLAlzeXNfY2xvY2tfZ2V0cmVzLAkiY2xvY2tfZ2V0cmVzIgl9LCAvKiAyNjEgKi8KKwl7IDQsCTAsCXN5c19jbG9ja19uYW5vc2xlZXAsCSJjbG9ja19uYW5vc2xlZXAifSwgLyogMjYyICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkidnNlcnZlciIJfSwgLyogMjYzICovCisJeyA2LAlURiwJc3lzX2ZhZHZpc2U2NF82NCwJImZhZHZpc2U2NF82NCIJfSwgLyogMjY0ICovCisJeyAzLAlURiwJc3lzX3N0YXRmczY0LAkJInN0YXRmczY0Igl9LCAvKiAyNjUgKi8KKwl7IDMsCVRGLAlzeXNfZnN0YXRmczY0LAkJImZzdGF0ZnM2NCIJfSwgLyogMjY2ICovCisJeyA1LAkwLAlzeXNfcmVtYXBfZmlsZV9wYWdlcywJInJlbWFwX2ZpbGVfcGFnZXMifSwgLyogMjY3ICovCisJeyA2LAkwLAlzeXNfbWJpbmQsCQkibWJpbmQiCQl9LCAvKiAyNjggKi8KKwl7IDUsCTAsCXN5c19nZXRfbWVtcG9saWN5LAkiZ2V0X21lbXBvbGljeSIJfSwgLyogMjY5ICovCisJeyAzLAkwLAlzeXNfc2V0X21lbXBvbGljeSwJInNldF9tZW1wb2xpY3kiCX0sIC8qIDI3MCAqLworCXsgNCwJMCwJc3lzX21xX29wZW4sCQkibXFfb3BlbiIJfSwgLyogMjcxICovCisJeyAxLAkwLAlzeXNfbXFfdW5saW5rLAkJIm1xX3VubGluayIJfSwgLyogMjcyICovCisJeyA1LAkwLAlzeXNfbXFfdGltZWRzZW5kLAkibXFfdGltZWRzZW5kIgl9LCAvKiAyNzMgKi8KKwl7IDUsCTAsCXN5c19tcV90aW1lZHJlY2VpdmUsCSJtcV90aW1lZHJlY2VpdmUiIH0sIC8qIDI3NCAqLworCXsgMiwJMCwJc3lzX21xX25vdGlmeSwJCSJtcV9ub3RpZnkiCX0sIC8qIDI3NSAqLworCXsgMywJMCwJc3lzX21xX2dldHNldGF0dHIsCSJtcV9nZXRzZXRhdHRyIgl9LCAvKiAyNzYgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJrZXhlY19sb2FkIgl9LCAvKiAyNzcgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJhZGRfa2V5Igl9LCAvKiAyNzggKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJyZXF1ZXN0X2tleSIJfSwgLyogMjc5ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkia2V5Y3RsIgl9LCAvKiAyODAgKi8KKwl7IDUsCVRQLAlzeXNfd2FpdGlkLAkJIndhaXRpZCIJfSwgLyogMjgxICovCisJeyAzLAkwLAlwcmludGFyZ3MsCQkiaW9wcmlvX3NldCIJfSwgLyogMjgyICovCisJeyAyLAkwLAlwcmludGFyZ3MsCQkiaW9wcmlvX2dldCIJfSwgLyogMjgzICovCisJeyAwLAlURCwJcHJpbnRhcmdzLAkJImlub3RpZnlfaW5pdCIJfSwgLyogMjg0ICovCisJeyAzLAlURCwJc3lzX2lub3RpZnlfYWRkX3dhdGNoLAkiaW5vdGlmeV9hZGRfd2F0Y2giIH0sIC8qIDI4NSAqLworCXsgMiwJVEQsCXN5c19pbm90aWZ5X3JtX3dhdGNoLAkiaW5vdGlmeV9ybV93YXRjaCIgfSwgLyogMjg2ICovCisJeyA0LAkwLAlwcmludGFyZ3MsCQkibWlncmF0ZV9wYWdlcyIJfSwgLyogMjg3ICovCisJeyA0LAlURHxURiwJc3lzX29wZW5hdCwJCSJvcGVuYXQiCX0sIC8qIDI4OCAqLworCXsgMywJVER8VEYsCXN5c19ta2RpcmF0LAkJIm1rZGlyYXQiCX0sIC8qIDI4OSAqLworCXsgNCwJVER8VEYsCXN5c19ta25vZGF0LAkJIm1rbm9kYXQiCX0sIC8qIDI5MCAqLworCXsgNSwJVER8VEYsCXN5c19mY2hvd25hdCwJCSJmY2hvd25hdCIJfSwgLyogMjkxICovCisJeyAzLAlURHxURiwJc3lzX2Z1dGltZXNhdCwJCSJmdXRpbWVzYXQiCX0sIC8qIDI5MiAqLworCXsgNCwJVER8VEQsCXN5c19uZXdmc3RhdGF0LAkJIm5ld2ZzdGF0YXQiCX0sIC8qIDI5MyAqLworCXsgMywJVER8VEYsCXN5c191bmxpbmthdCwJCSJ1bmxpbmthdCIJfSwgLyogMjk0ICovCisJeyA0LAlURHxURiwJc3lzX3JlbmFtZWF0LAkJInJlbmFtZWF0Igl9LCAvKiAyOTUgKi8KKwl7IDUsCVREfFRGLAlzeXNfbGlua2F0LAkJImxpbmthdCIJfSwgLyogMjk2ICovCisJeyAzLAlURHxURiwJc3lzX3N5bWxpbmthdCwJCSJzeW1saW5rYXQiCX0sIC8qIDI5NyAqLworCXsgNCwJVER8VEYsCXN5c19yZWFkbGlua2F0LAkJInJlYWRsaW5rYXQiCX0sIC8qIDI5OCAqLworCXsgMywJVER8VEYsCXN5c19mY2htb2RhdCwJCSJmY2htb2RhdCIJfSwgLyogMjk5ICovCisJeyAzLAlURHxURiwJc3lzX2ZhY2Nlc3NhdCwJCSJmYWNjZXNzYXQiCX0sIC8qIDMwMCAqLworCXsgNiwJVEQsCXN5c19wc2VsZWN0NiwJCSJwc2VsZWN0NiIJfSwgLyogMzAxICovCisJeyA1LAlURCwJc3lzX3Bwb2xsLAkJInBwb2xsIgkJfSwgLyogMzAyICovCisJeyAxLAlUUCwJc3lzX3Vuc2hhcmUsCQkidW5zaGFyZSIJfSwgLyogMzAzICovCisJeyAyLAkwLAlwcmludGFyZ3MsCQkic2V0X3JvYnVzdF9saXN0IiB9LCAvKiAzMDQgKi8KKwl7IDMsCTAsCXByaW50YXJncywJCSJnZXRfcm9idXN0X2xpc3QiIH0sIC8qIDMwNSAqLworCXsgNiwJVEQsCXByaW50YXJncywJCSJzcGxpY2UiCX0sIC8qIDMwNiAqLworCXsgNCwJVEQsCXByaW50YXJncywJCSJzeW5jX2ZpbGVfcmFuZ2UiIH0sIC8qIDMwNyAqLworCXsgNCwJVEQsCXByaW50YXJncywJCSJ0ZWUiCQl9LCAvKiAzMDggKi8KKwl7IDQsCVRELAlwcmludGFyZ3MsCQkidm1zcGxpY2UiCX0sIC8qIDMwOSAqLworCXsgNiwJMCwJc3lzX21vdmVfcGFnZXMsCQkibW92ZV9wYWdlcyIJfSwgLyogMzEwICovCisJeyAzLAkwLAlzeXNfZ2V0Y3B1LAkJImdldGNwdSIJfSwgLyogMzExICovCisJeyA1LAlURCwJc3lzX2Vwb2xsX3B3YWl0LAkiZXBvbGxfcHdhaXQiCX0sIC8qIDMxMiAqLworCXsgMiwJVEYsCXN5c191dGltZXMsCQkidXRpbWVzIgl9LCAvKiAzMTMgKi8KKwl7IDYsCVRGLAlzeXNfZmFsbG9jYXRlLAkJImZhbGxvY2F0ZSIJfSwgLyogMzE0ICovCisJeyA0LAlURHxURiwJc3lzX3V0aW1lbnNhdCwJCSJ1dGltZW5zYXQiCX0sIC8qIDMxNSAqLworCXsgMywJVER8VFMsCXN5c19zaWduYWxmZCwJCSJzaWduYWxmZCIJfSwgLyogMzE2ICovCisJeyA0LAlURCwJc3lzX3RpbWVyZmQsCQkidGltZXJmZCIJfSwgLyogMzE3ICovCisJeyAxLAlURCwJc3lzX2V2ZW50ZmQsCQkiZXZlbnRmZCIJfSwgLyogMzE4ICovCisJeyAyLAlURCwJc3lzX3RpbWVyZmRfY3JlYXRlLAkidGltZXJmZF9jcmVhdGUifSwgLyogMzE5ICovCisJeyA0LAlURCwJc3lzX3RpbWVyZmRfc2V0dGltZSwJInRpbWVyZmRfc2V0dGltZSJ9LCAvKiAzMjAgKi8KKwl7IDIsCVRELAlzeXNfdGltZXJmZF9nZXR0aW1lLAkidGltZXJmZF9nZXR0aW1lIn0sIC8qIDMyMSAqLworCXsgNCwJVER8VFMsCXN5c19zaWduYWxmZDQsCQkic2lnbmFsZmQ0Igl9LCAvKiAzMjIgKi8KKwl7IDIsCVRELAlzeXNfZXZlbnRmZDIsCQkiZXZlbnRmZDIiCX0sIC8qIDMyMyAqLworCXsgMSwJVEQsCXN5c19pbm90aWZ5X2luaXQxLAkiaW5vdGlmeV9pbml0MSIJfSwgLyogMzI0ICovCisJeyAyLAlURCwJc3lzX3BpcGUyLAkJInBpcGUyIgkJfSwgLyogMzI1ICovCisJeyAzLAlURCwJc3lzX2R1cDMsCQkiZHVwMyIJCX0sIC8qIDMyNiAqLworCXsgMSwJMCwJc3lzX2Vwb2xsX2NyZWF0ZTEsCSJlcG9sbF9jcmVhdGUxIgl9LCAvKiAzMjcgKi8KKwl7IDUsCVRELAlwcmludGFyZ3MsCQkicHJlYWR2Igl9LCAvKiAzMjggKi8KKwl7IDUsCVRELAlwcmludGFyZ3MsCQkicHdyaXRldiIJfSwgLyogMzI5ICovCisJeyA0LAlUUHxUUywJcHJpbnRhcmdzLAkJInJ0X3Rnc2lncXVldWVpbmZvIn0sIC8qIDMzMCAqLworCXsgNSwJVEQsCXByaW50YXJncywJCSJwZXJmX2V2ZW50X29wZW4ifSwgLyogMzMxICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzMzMiIJfSwgLyogMzMyICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzMzMyIJfSwgLyogMzMzICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzMzNCIJfSwgLyogMzM0ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzMzNSIJfSwgLyogMzM1ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzMzNiIJfSwgLyogMzM2ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzMzNyIJfSwgLyogMzM3ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzMzOCIJfSwgLyogMzM4ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzMzOSIJfSwgLyogMzM5ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0MCIJfSwgLyogMzQwICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0MSIJfSwgLyogMzQxICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0MiIJfSwgLyogMzQyICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0MyIJfSwgLyogMzQzICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0NCIJfSwgLyogMzQ0ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0NSIJfSwgLyogMzQ1ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0NiIJfSwgLyogMzQ2ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0NyIJfSwgLyogMzQ3ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0OCIJfSwgLyogMzQ4ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0OSIJfSwgLyogMzQ5ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1MCIJfSwgLyogMzUwICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1MSIJfSwgLyogMzUxICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1MiIJfSwgLyogMzUyICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1MyIJfSwgLyogMzUzICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1NCIJfSwgLyogMzU0ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1NSIJfSwgLyogMzU1ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1NiIJfSwgLyogMzU2ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1NyIJfSwgLyogMzU3ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1OCIJfSwgLyogMzU4ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1OSIJfSwgLyogMzU5ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2MCIJfSwgLyogMzYwICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2MSIJfSwgLyogMzYxICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2MiIJfSwgLyogMzYyICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2MyIJfSwgLyogMzYzICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2NCIJfSwgLyogMzY0ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2NSIJfSwgLyogMzY1ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2NiIJfSwgLyogMzY2ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2NyIJfSwgLyogMzY3ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2OCIJfSwgLyogMzY4ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2OSIJfSwgLyogMzY5ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3MCIJfSwgLyogMzcwICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3MSIJfSwgLyogMzcxICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3MiIJfSwgLyogMzcyICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3MyIJfSwgLyogMzczICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3NCIJfSwgLyogMzc0ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3NSIJfSwgLyogMzc1ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3NiIJfSwgLyogMzc2ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3NyIJfSwgLyogMzc3ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3OCIJfSwgLyogMzc4ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3OSIJfSwgLyogMzc5ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4MCIJfSwgLyogMzgwICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4MSIJfSwgLyogMzgxICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4MiIJfSwgLyogMzgyICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4MyIJfSwgLyogMzgzICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4NCIJfSwgLyogMzg0ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4NSIJfSwgLyogMzg1ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4NiIJfSwgLyogMzg2ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4NyIJfSwgLyogMzg3ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4OCIJfSwgLyogMzg4ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4OSIJfSwgLyogMzg5ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5MCIJfSwgLyogMzkwICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5MSIJfSwgLyogMzkxICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5MiIJfSwgLyogMzkyICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5MyIJfSwgLyogMzkzICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5NCIJfSwgLyogMzk0ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5NSIJfSwgLyogMzk1ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5NiIJfSwgLyogMzk2ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5NyIJfSwgLyogMzk3ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5OCIJfSwgLyogMzk4ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5OSIJfSwgLyogMzk5ICovCisKKyNpZiBTWVNfc29ja2V0X3N1YmNhbGwgIT0gNDAwCisgI2Vycm9yIGZpeCBtZQorI2VuZGlmCisJeyA4LAkwLAlwcmludGFyZ3MsCQkic29ja2V0X3N1YmNhbGwifSwgLyogNDAwICovCisJeyAzLAlUTiwJc3lzX3NvY2tldCwJCSJzb2NrZXQiCX0sIC8qIDQwMSAqLworCXsgMywJVE4sCXN5c19iaW5kLAkJImJpbmQiCQl9LCAvKiA0MDIgKi8KKwl7IDMsCVROLAlzeXNfY29ubmVjdCwJCSJjb25uZWN0Igl9LCAvKiA0MDMgKi8KKwl7IDIsCVROLAlzeXNfbGlzdGVuLAkJImxpc3RlbiIJfSwgLyogNDA0ICovCisJeyAzLAlUTiwJc3lzX2FjY2VwdCwJCSJhY2NlcHQiCX0sIC8qIDQwNSAqLworCXsgMywJVE4sCXN5c19nZXRzb2NrbmFtZSwJImdldHNvY2tuYW1lIgl9LCAvKiA0MDYgKi8KKwl7IDMsCVROLAlzeXNfZ2V0cGVlcm5hbWUsCSJnZXRwZWVybmFtZSIJfSwgLyogNDA3ICovCisJeyA0LAlUTiwJc3lzX3NvY2tldHBhaXIsCQkic29ja2V0cGFpciIJfSwgLyogNDA4ICovCisJeyA0LAlUTiwJc3lzX3NlbmQsCQkic2VuZCIJCX0sIC8qIDQwOSAqLworCXsgNCwJVE4sCXN5c19yZWN2LAkJInJlY3YiCQl9LCAvKiA0MTAgKi8KKwl7IDYsCVROLAlzeXNfc2VuZHRvLAkJInNlbmR0byIJfSwgLyogNDExICovCisJeyA2LAlUTiwJc3lzX3JlY3Zmcm9tLAkJInJlY3Zmcm9tIgl9LCAvKiA0MTIgKi8KKwl7IDIsCVROLAlzeXNfc2h1dGRvd24sCQkic2h1dGRvd24iCX0sIC8qIDQxMyAqLworCXsgNSwJVE4sCXN5c19zZXRzb2Nrb3B0LAkJInNldHNvY2tvcHQiCX0sIC8qIDQxNCAqLworCXsgNSwJVE4sCXN5c19nZXRzb2Nrb3B0LAkJImdldHNvY2tvcHQiCX0sIC8qIDQxNSAqLworCXsgNSwJVE4sCXN5c19zZW5kbXNnLAkJInNlbmRtc2ciCX0sIC8qIDQxNiAqLworCXsgNSwJVE4sCXN5c19yZWN2bXNnLAkJInJlY3Ztc2ciCX0sIC8qIDQxNyAqLworCXsgNCwJVE4sCXN5c19hY2NlcHQ0LAkJImFjY2VwdDQiCX0sIC8qIDQxOCAqLworCXsgNSwJVE4sCXN5c19yZWN2bW1zZywJCSJyZWN2bW1zZyIJfSwgLyogNDE5ICovCisKKyNpZiBTWVNfaXBjX3N1YmNhbGwgIT0gNDIwCisgI2Vycm9yIGZpeCBtZQorI2VuZGlmCisJeyA0LAkwLAlwcmludGFyZ3MsCQkiaXBjX3N1YmNhbGwiCX0sIC8qIDQyMCAqLworCXsgNCwJVEksCXN5c19zZW1vcCwJCSJzZW1vcCIJCX0sIC8qIDQyMSAqLworCXsgNCwJVEksCXN5c19zZW1nZXQsCQkic2VtZ2V0Igl9LCAvKiA0MjIgKi8KKwl7IDQsCVRJLAlzeXNfc2VtY3RsLAkJInNlbWN0bCIJfSwgLyogNDIzICovCisJeyA1LAlUSSwJc3lzX3NlbXRpbWVkb3AsCQkic2VtdGltZWRvcCIJfSwgLyogNDI0ICovCisJeyA0LAkwLAlwcmludGFyZ3MsCQkiaXBjX3N1YmNhbGwiCX0sIC8qIDQyNSAqLworCXsgNCwJMCwJcHJpbnRhcmdzLAkJImlwY19zdWJjYWxsIgl9LCAvKiA0MjYgKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJpcGNfc3ViY2FsbCIJfSwgLyogNDI3ICovCisJeyA0LAkwLAlwcmludGFyZ3MsCQkiaXBjX3N1YmNhbGwiCX0sIC8qIDQyOCAqLworCXsgNCwJMCwJcHJpbnRhcmdzLAkJImlwY19zdWJjYWxsIgl9LCAvKiA0MjkgKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJpcGNfc3ViY2FsbCIJfSwgLyogNDMwICovCisJeyA0LAlUSSwJc3lzX21zZ3NuZCwJCSJtc2dzbmQiCX0sIC8qIDQzMSAqLworCXsgNCwJVEksCXN5c19tc2dyY3YsCQkibXNncmN2Igl9LCAvKiA0MzIgKi8KKwl7IDQsCVRJLAlzeXNfbXNnZ2V0LAkJIm1zZ2dldCIJfSwgLyogNDMzICovCisJeyA0LAlUSSwJc3lzX21zZ2N0bCwJCSJtc2djdGwiCX0sIC8qIDQzNCAqLworCXsgNCwJMCwJcHJpbnRhcmdzLAkJImlwY19zdWJjYWxsIgl9LCAvKiA0MzUgKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJpcGNfc3ViY2FsbCIJfSwgLyogNDM2ICovCisJeyA0LAkwLAlwcmludGFyZ3MsCQkiaXBjX3N1YmNhbGwiCX0sIC8qIDQzNyAqLworCXsgNCwJMCwJcHJpbnRhcmdzLAkJImlwY19zdWJjYWxsIgl9LCAvKiA0MzggKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJpcGNfc3ViY2FsbCIJfSwgLyogNDM5ICovCisJeyA0LAkwLAlwcmludGFyZ3MsCQkiaXBjX3N1YmNhbGwiCX0sIC8qIDQ0MCAqLworCXsgNCwJVEksCXN5c19zaG1hdCwJCSJzaG1hdCIJCX0sIC8qIDQ0MSAqLworCXsgNCwJVEksCXN5c19zaG1kdCwJCSJzaG1kdCIJCX0sIC8qIDQ0MiAqLworCXsgNCwJVEksCXN5c19zaG1nZXQsCQkic2htZ2V0Igl9LCAvKiA0NDMgKi8KKwl7IDQsCVRJLAlzeXNfc2htY3RsLAkJInNobWN0bCIJfSwgLyogNDQ0ICovCmRpZmYgLS1naXQgYS9zdHJhY2UtNC41LjIwL2xpbnV4L3NoL2lvY3RsZW50LmggYi9zdHJhY2UtNC41LjIwL2xpbnV4L3NoL2lvY3RsZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWY4YmM3YgotLS0gL2Rldi9udWxsCisrKyBiL3N0cmFjZS00LjUuMjAvbGludXgvc2gvaW9jdGxlbnQuaApAQCAtMCwwICsxLDgzNiBAQAorCXsibGludXgvZnMuaCIsCSJGSUJNQVAiLAkweDF9LAorCXsibGludXgvZnMuaCIsCSJGSUdFVEJTWiIsCTB4Mn0sCisJeyJsaW51eC9mZC5oIiwJIkZER0VUUFJNIiwJMHgyMDR9LAorCXsibGludXgvZmQuaCIsCSJGREdFVE1BWEVSUlMiLAkweDIwZX0sCisJeyJsaW51eC9mZC5oIiwJIkZER0VURFJWVFlQIiwJMHgyMGZ9LAorCXsibGludXgvZmQuaCIsCSJGREdFVERSVlBSTSIsCTB4MjExfSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRHRVREUlZTVEFUIiwJMHgyMTJ9LAorCXsibGludXgvZmQuaCIsCSJGRFBPTExEUlZTVEFUIiwJMHgyMTN9LAorCXsibGludXgvZmQuaCIsCSJGREdFVEZEQ1NUQVQiLAkweDIxNX0sCisJeyJsaW51eC9mZC5oIiwJIkZEV0VSUk9SR0VUIiwJMHgyMTd9LAorCXsibGludXgvZmQuaCIsCSJGRENMUlBSTSIsCTB4MjQxfSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRTRVRQUk0iLAkweDI0Mn0sCisJeyJsaW51eC9mZC5oIiwJIkZEREVGUFJNIiwJMHgyNDN9LAorCXsibGludXgvZmQuaCIsCSJGRE1TR09OIiwJMHgyNDV9LAorCXsibGludXgvZmQuaCIsCSJGRE1TR09GRiIsCTB4MjQ2fSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRGTVRCRUciLAkweDI0N30sCisJeyJsaW51eC9mZC5oIiwJIkZERk1UVFJLIiwJMHgyNDh9LAorCXsibGludXgvZmQuaCIsCSJGREZNVEVORCIsCTB4MjQ5fSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRTRVRFTVNHVFJFU0giLAkweDI0YX0sCisJeyJsaW51eC9mZC5oIiwJIkZERkxVU0giLAkweDI0Yn0sCisJeyJsaW51eC9mZC5oIiwJIkZEU0VUTUFYRVJSUyIsCTB4MjRjfSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRSRVNFVCIsCTB4MjU0fSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRXRVJST1JDTFIiLAkweDI1Nn0sCisJeyJsaW51eC9mZC5oIiwJIkZEUkFXQ01EIiwJMHgyNTh9LAorCXsibGludXgvZmQuaCIsCSJGRFRXQURETEUiLAkweDI1OX0sCisJeyJsaW51eC9mZC5oIiwJIkZERUpFQ1QiLAkweDI1YX0sCisJeyJsaW51eC9mZC5oIiwJIkZEU0VURFJWUFJNIiwJMHgyOTB9LAorCXsibGludXgvdW1zZG9zX2ZzLmgiLAkiVU1TRE9TX1JFQURESVJfRE9TIiwJMHg0ZDJ9LAorCXsibGludXgvdW1zZG9zX2ZzLmgiLAkiVU1TRE9TX1VOTElOS19ET1MiLAkweDRkM30sCisJeyJsaW51eC91bXNkb3NfZnMuaCIsCSJVTVNET1NfUk1ESVJfRE9TIiwJMHg0ZDR9LAorCXsibGludXgvdW1zZG9zX2ZzLmgiLAkiVU1TRE9TX1NUQVRfRE9TIiwJMHg0ZDV9LAorCXsibGludXgvdW1zZG9zX2ZzLmgiLAkiVU1TRE9TX0NSRUFUX0VNRCIsCTB4NGQ2fSwKKwl7ImxpbnV4L3Vtc2Rvc19mcy5oIiwJIlVNU0RPU19VTkxJTktfRU1EIiwJMHg0ZDd9LAorCXsibGludXgvdW1zZG9zX2ZzLmgiLAkiVU1TRE9TX1JFQURESVJfRU1EIiwJMHg0ZDh9LAorCXsibGludXgvdW1zZG9zX2ZzLmgiLAkiVU1TRE9TX0dFVFZFUlNJT04iLAkweDRkOX0sCisJeyJsaW51eC91bXNkb3NfZnMuaCIsCSJVTVNET1NfSU5JVF9FTUQiLAkweDRkYX0sCisJeyJsaW51eC91bXNkb3NfZnMuaCIsCSJVTVNET1NfRE9TX1NFVFVQIiwJMHg0ZGJ9LAorCXsibGludXgvdW1zZG9zX2ZzLmgiLAkiVU1TRE9TX1JFTkFNRV9ET1MiLAkweDRkY30sCisJeyJsaW51eC9mcy5oIiwJIkJMS1JPU0VUIiwJMHgxMjVkfSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLUk9HRVQiLAkweDEyNWV9LAorCXsibGludXgvZnMuaCIsCSJCTEtSUlBBUlQiLAkweDEyNWZ9LAorCXsibGludXgvZnMuaCIsCSJCTEtHRVRTSVpFIiwJMHgxMjYwfSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLRkxTQlVGIiwJMHgxMjYxfSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLUkFTRVQiLAkweDEyNjJ9LAorCXsibGludXgvZnMuaCIsCSJCTEtSQUdFVCIsCTB4MTI2M30sCisJeyJsaW51eC9mcy5oIiwJIkJMS0ZSQVNFVCIsCTB4MTI2NH0sCisJeyJsaW51eC9mcy5oIiwJIkJMS0ZSQUdFVCIsCTB4MTI2NX0sCisJeyJsaW51eC9mcy5oIiwJIkJMS1NFQ1RTRVQiLAkweDEyNjZ9LAorCXsibGludXgvZnMuaCIsCSJCTEtTRUNUR0VUIiwJMHgxMjY3fSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLU1NaR0VUIiwJMHgxMjY4fSwKKwl7ImxpbnV4L2Jsa3BnLmgiLAkiQkxLUEciLAkweDEyNjl9LAorCXsibGludXgvZnMuaCIsCSJCTEtQRyIsCTB4MTI2OX0sCisJeyJsaW51eC9lbGV2YXRvci5oIiwJIkJMS0VMVkdFVCIsCTB4MTI2YX0sCisJeyJsaW51eC9mcy5oIiwJIkJMS0VMVkdFVCIsCTB4MTI2YX0sCisJeyJsaW51eC9lbGV2YXRvci5oIiwJIkJMS0VMVlNFVCIsCTB4MTI2Yn0sCisJeyJsaW51eC9mcy5oIiwJIkJMS0VMVlNFVCIsCTB4MTI2Yn0sCisJeyJsaW51eC9mcy5oIiwJIkJMS0JTWkdFVCIsCTB4MTI3MH0sCisJeyJsaW51eC9mcy5oIiwJIkJMS0JTWlNFVCIsCTB4MTI3MX0sCisJeyJsaW51eC9mcy5oIiwJIkJMS0dFVFNJWkU2NCIsCTB4MTI3Mn0sCisJeyJsaW51eC9hZ3BnYXJ0LmgiLAkiQUdQSU9DX0lORk8iLAkweDQxMDB9LAorCXsibGludXgvYWdwZ2FydC5oIiwJIkFHUElPQ19BQ1FVSVJFIiwJMHg0MTAxfSwKKwl7ImxpbnV4L2FwbV9iaW9zLmgiLAkiQVBNX0lPQ19TVEFOREJZIiwJMHg0MTAxfSwKKwl7ImxpbnV4L2FncGdhcnQuaCIsCSJBR1BJT0NfUkVMRUFTRSIsCTB4NDEwMn0sCisJeyJsaW51eC9hcG1fYmlvcy5oIiwJIkFQTV9JT0NfU1VTUEVORCIsCTB4NDEwMn0sCisJeyJsaW51eC9hZ3BnYXJ0LmgiLAkiQUdQSU9DX1NFVFVQIiwJMHg0MTAzfSwKKwl7ImxpbnV4L2FncGdhcnQuaCIsCSJBR1BJT0NfUkVTRVJWRSIsCTB4NDEwNH0sCisJeyJsaW51eC9hZ3BnYXJ0LmgiLAkiQUdQSU9DX1BST1RFQ1QiLAkweDQxMDV9LAorCXsibGludXgvYWdwZ2FydC5oIiwJIkFHUElPQ19BTExPQ0FURSIsCTB4NDEwNn0sCisJeyJsaW51eC9hZ3BnYXJ0LmgiLAkiQUdQSU9DX0RFQUxMT0NBVEUiLAkweDQxMDd9LAorCXsibGludXgvYWdwZ2FydC5oIiwJIkFHUElPQ19CSU5EIiwJMHg0MTA4fSwKKwl7ImxpbnV4L2FncGdhcnQuaCIsCSJBR1BJT0NfVU5CSU5EIiwJMHg0MTA5fSwKKwl7ImxpbnV4L3BtdS5oIiwJIlBNVV9JT0NfU0xFRVAiLAkweDQyMDB9LAorCXsibGludXgvY2Npc3NfaW9jdGwuaCIsCSJDQ0lTU19HRVRQQ0lJTkZPIiwJMHg0MjAxfSwKKwl7ImxpbnV4L3BtdS5oIiwJIlBNVV9JT0NfR0VUX0JBQ0tMSUdIVCIsCTB4NDIwMX0sCisJeyJsaW51eC9jY2lzc19pb2N0bC5oIiwJIkNDSVNTX0dFVElOVElORk8iLAkweDQyMDJ9LAorCXsibGludXgvcG11LmgiLAkiUE1VX0lPQ19TRVRfQkFDS0xJR0hUIiwJMHg0MjAyfSwKKwl7ImxpbnV4L2NjaXNzX2lvY3RsLmgiLAkiQ0NJU1NfU0VUSU5USU5GTyIsCTB4NDIwM30sCisJeyJsaW51eC9wbXUuaCIsCSJQTVVfSU9DX0dFVF9NT0RFTCIsCTB4NDIwM30sCisJeyJsaW51eC9jY2lzc19pb2N0bC5oIiwJIkNDSVNTX0dFVE5PREVOQU1FIiwJMHg0MjA0fSwKKwl7ImxpbnV4L3BtdS5oIiwJIlBNVV9JT0NfSEFTX0FEQiIsCTB4NDIwNH0sCisJeyJsaW51eC9jY2lzc19pb2N0bC5oIiwJIkNDSVNTX1NFVE5PREVOQU1FIiwJMHg0MjA1fSwKKwl7ImxpbnV4L3BtdS5oIiwJIlBNVV9JT0NfQ0FOX1NMRUVQIiwJMHg0MjA1fSwKKwl7ImxpbnV4L2NjaXNzX2lvY3RsLmgiLAkiQ0NJU1NfR0VUSEVBUlRCRUFUIiwJMHg0MjA2fSwKKwl7ImxpbnV4L2NjaXNzX2lvY3RsLmgiLAkiQ0NJU1NfR0VUQlVTVFlQRVMiLAkweDQyMDd9LAorCXsibGludXgvY2Npc3NfaW9jdGwuaCIsCSJDQ0lTU19HRVRGSVJNVkVSIiwJMHg0MjA4fSwKKwl7ImxpbnV4L2NjaXNzX2lvY3RsLmgiLAkiQ0NJU1NfR0VURFJJVlZFUiIsCTB4NDIwOX0sCisJeyJsaW51eC9jY2lzc19pb2N0bC5oIiwJIkNDSVNTX1JFVkFMSURWT0xTIiwJMHg0MjBhfSwKKwl7ImxpbnV4L2NjaXNzX2lvY3RsLmgiLAkiQ0NJU1NfUEFTU1RIUlUiLAkweDQyMGJ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0NPUFJfUkVTRVQiLAkweDQzMDB9LAorCXsibGludXgvY2FwaS5oIiwJIkNBUElfUkVHSVNURVIiLAkweDQzMDF9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0NPUFJfTE9BRCIsCTB4NDMwMX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfQ09QUl9SREFUQSIsCTB4NDMwMn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfQ09QUl9SQ09ERSIsCTB4NDMwM30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfQ09QUl9XREFUQSIsCTB4NDMwNH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfQ09QUl9XQ09ERSIsCTB4NDMwNX0sCisJeyJsaW51eC9jYXBpLmgiLAkiQ0FQSV9HRVRfTUFOVUZBQ1RVUkVSIiwJMHg0MzA2fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9DT1BSX1JVTiIsCTB4NDMwNn0sCisJeyJsaW51eC9jYXBpLmgiLAkiQ0FQSV9HRVRfVkVSU0lPTiIsCTB4NDMwN30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfQ09QUl9IQUxUIiwJMHg0MzA3fSwKKwl7ImxpbnV4L2NhcGkuaCIsCSJDQVBJX0dFVF9TRVJJQUwiLAkweDQzMDh9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0NPUFJfU0VORE1TRyIsCTB4NDMwOH0sCisJeyJsaW51eC9jYXBpLmgiLAkiQ0FQSV9HRVRfUFJPRklMRSIsCTB4NDMwOX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfQ09QUl9SQ1ZNU0ciLAkweDQzMDl9LAorCXsibGludXgvY2FwaS5oIiwJIkNBUElfTUFOVUZBQ1RVUkVSX0NNRCIsCTB4NDMyMH0sCisJeyJsaW51eC9jYXBpLmgiLAkiQ0FQSV9HRVRfRVJSQ09ERSIsCTB4NDMyMX0sCisJeyJsaW51eC9jYXBpLmgiLAkiQ0FQSV9JTlNUQUxMRUQiLAkweDQzMjJ9LAorCXsibGludXgvY2FwaS5oIiwJIkNBUElfR0VUX0ZMQUdTIiwJMHg0MzIzfSwKKwl7ImxpbnV4L2NhcGkuaCIsCSJDQVBJX1NFVF9GTEFHUyIsCTB4NDMyNH0sCisJeyJsaW51eC9jYXBpLmgiLAkiQ0FQSV9DTFJfRkxBR1MiLAkweDQzMjV9LAorCXsibGludXgvY2FwaS5oIiwJIkNBUElfTkNDSV9PUEVOQ09VTlQiLAkweDQzMjZ9LAorCXsibGludXgvY2FwaS5oIiwJIkNBUElfTkNDSV9HRVRVTklUIiwJMHg0MzI3fSwKKwl7ImxpbnV4L2lucHV0LmgiLAkiRVZJT0NHVkVSU0lPTiIsCTB4NDUwMX0sCisJeyJsaW51eC9pbnB1dC5oIiwJIkVWSU9DR0lEIiwJMHg0NTAyfSwKKwl7ImxpbnV4L2lucHV0LmgiLAkiRVZJT0NHUkVQIiwJMHg0NTAzfSwKKwl7ImxpbnV4L2lucHV0LmgiLAkiRVZJT0NTUkVQIiwJMHg0NTAzfSwKKwl7ImxpbnV4L2lucHV0LmgiLAkiRVZJT0NHS0VZQ09ERSIsCTB4NDUwNH0sCisJeyJsaW51eC9pbnB1dC5oIiwJIkVWSU9DU0tFWUNPREUiLAkweDQ1MDR9LAorCXsibGludXgvaW5wdXQuaCIsCSJFVklPQ0dLRVkiLAkweDQ1MDV9LAorCXsibGludXgvaW5wdXQuaCIsCSJFVklPQ0dCVVMiLAkweDQ1MDd9LAorCXsibGludXgvaW5wdXQuaCIsCSJFVklPQ1JNRkYiLAkweDQ1ODF9LAorCXsibGludXgvaW5wdXQuaCIsCSJFVklPQ1NHQUlOIiwJMHg0NTgyfSwKKwl7ImxpbnV4L2lucHV0LmgiLAkiRVZJT0NTQVVUT0NFTlRFUiIsCTB4NDU4M30sCisJeyJsaW51eC9pbnB1dC5oIiwJIkVWSU9DR0VGRkVDVFMiLAkweDQ1ODR9LAorCXsibGludXgvZmIuaCIsCSJGQklPR0VUX1ZCTEFOSyIsCTB4NDYxMn0sCisJeyJsaW51eC9oaWRkZXYuaCIsCSJISURJT0NHVkVSU0lPTiIsCTB4NDgwMX0sCisJeyJsaW51eC9oaWRkZXYuaCIsCSJISURJT0NBUFBMSUNBVElPTiIsCTB4NDgwMn0sCisJeyJsaW51eC9oaWRkZXYuaCIsCSJISURJT0NHREVWSU5GTyIsCTB4NDgwM30sCisJeyJsaW51eC9oaWRkZXYuaCIsCSJISURJT0NHU1RSSU5HIiwJMHg0ODA0fSwKKwl7ImxpbnV4L2hpZGRldi5oIiwJIkhJRElPQ0lOSVRSRVBPUlQiLAkweDQ4MDV9LAorCXsibGludXgvaGlkZGV2LmgiLAkiSElESU9DR1JFUE9SVCIsCTB4NDgwN30sCisJeyJsaW51eC9oaWRkZXYuaCIsCSJISURJT0NTUkVQT1JUIiwJMHg0ODA4fSwKKwl7ImxpbnV4L2hpZGRldi5oIiwJIkhJRElPQ0dSRVBPUlRJTkZPIiwJMHg0ODA5fSwKKwl7ImxpbnV4L2hpZGRldi5oIiwJIkhJRElPQ0dGSUVMRElORk8iLAkweDQ4MGF9LAorCXsibGludXgvaGlkZGV2LmgiLAkiSElESU9DR1VTQUdFIiwJMHg0ODBifSwKKwl7ImxpbnV4L2hpZGRldi5oIiwJIkhJRElPQ1NVU0FHRSIsCTB4NDgwY30sCisJeyJsaW51eC9oaWRkZXYuaCIsCSJISURJT0NHVUNPREUiLAkweDQ4MGR9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRBSUYiLAkweDQ5MDF9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRESUYiLAkweDQ5MDJ9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRTQ0YiLAkweDQ5MDN9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRHQ0YiLAkweDQ5MDR9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRBTk0iLAkweDQ5MDV9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRETk0iLAkweDQ5MDZ9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRHTk0iLAkweDQ5MDd9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NHRVRTRVQiLAkweDQ5MDh9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NTRVRTRVQiLAkweDQ5MDl9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NTRVRWRVIiLAkweDQ5MGF9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRIVVAiLAkweDQ5MGJ9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NTRVRHU1QiLAkweDQ5MGN9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NTRVRCUkoiLAkweDQ5MGR9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NTSUdQUkYiLAkweDQ5MGV9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NHRVRQUkYiLAkweDQ5MGZ9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NTRVRQUkYiLAkweDQ5MTB9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NHRVRNQVAiLAkweDQ5MTF9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NTRVRNQVAiLAkweDQ5MTJ9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRBU0wiLAkweDQ5MTN9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRESUwiLAkweDQ5MTR9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NHRVRDUFMiLAkweDQ5MTV9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NHRVREVlIiLAkweDQ5MTZ9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRMQ1IiLAkweDQ5MTd9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVREV1JTRVQiLAkweDQ5MTh9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRBTE4iLAkweDQ5MjB9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRETE4iLAkweDQ5MjF9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRHUE4iLAkweDQ5MjJ9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NEQkdWQVIiLAkweDQ5N2Z9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NEUlZDVEwiLAkweDQ5ODB9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfTUlYRVJfSU5GTyIsCTB4NGQ2NX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9PTERfTUlYRVJfSU5GTyIsCTB4NGQ2NX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9NSVhFUl9BQ0NFU1MiLAkweDRkNjZ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfTUlYRVJfQUdDIiwJMHg0ZDY3fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNPVU5EX01JWEVSXzNEU0UiLAkweDRkNjh9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfTUlYRVJfUFJJVkFURTEiLAkweDRkNmZ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfTUlYRVJfUFJJVkFURTIiLAkweDRkNzB9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfTUlYRVJfUFJJVkFURTMiLAkweDRkNzF9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfTUlYRVJfUFJJVkFURTQiLAkweDRkNzJ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfTUlYRVJfUFJJVkFURTUiLAkweDRkNzN9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfTUlYRVJfR0VUTEVWRUxTIiwJMHg0ZDc0fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNPVU5EX01JWEVSX1NFVExFVkVMUyIsCTB4NGQ3NX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJPU1NfR0VUVkVSU0lPTiIsCTB4NGQ3Nn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX1JFU0VUIiwJMHg1MDAwfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfU1lOQyIsCTB4NTAwMX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX1NQRUVEIiwJMHg1MDAyfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNPVU5EX1BDTV9SRUFEX1JBVEUiLAkweDUwMDJ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9TVEVSRU8iLAkweDUwMDN9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9HRVRCTEtTSVpFIiwJMHg1MDA0fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfU0VURk1UIiwJMHg1MDA1fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNPVU5EX1BDTV9SRUFEX0JJVFMiLAkweDUwMDV9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9DSEFOTkVMUyIsCTB4NTAwNn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9QQ01fUkVBRF9DSEFOTkVMUyIsCTB4NTAwNn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9QQ01fV1JJVEVfRklMVEVSIiwJMHg1MDA3fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNPVU5EX1BDTV9SRUFEX0ZJTFRFUiIsCTB4NTAwN30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX1BPU1QiLAkweDUwMDh9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9TVUJESVZJREUiLAkweDUwMDl9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9TRVRGUkFHTUVOVCIsCTB4NTAwYX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX0dFVEZNVFMiLAkweDUwMGJ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9HRVRPU1BBQ0UiLAkweDUwMGN9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9HRVRJU1BBQ0UiLAkweDUwMGR9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9OT05CTE9DSyIsCTB4NTAwZX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX0dFVENBUFMiLAkweDUwMGZ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9HRVRUUklHR0VSIiwJMHg1MDEwfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfU0VUVFJJR0dFUiIsCTB4NTAxMH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX0dFVElQVFIiLAkweDUwMTF9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9HRVRPUFRSIiwJMHg1MDEyfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfTUFQSU5CVUYiLAkweDUwMTN9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9NQVBPVVRCVUYiLAkweDUwMTR9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9TRVRTWU5DUk8iLAkweDUwMTV9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9TRVREVVBMRVgiLAkweDUwMTZ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9HRVRPREVMQVkiLAkweDUwMTd9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9QUk9GSUxFIiwJMHg1MDE3fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfR0VUQ0hBTk5FTE1BU0siLAkweDUwNDB9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9CSU5EX0NIQU5ORUwiLAkweDUwNDF9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9TRVRTUERJRiIsCTB4NTA0Mn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX0dFVFNQRElGIiwJMHg1MDQzfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TRVFfUkVTRVQiLAkweDUxMDB9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NFUV9TWU5DIiwJMHg1MTAxfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TWU5USF9JTkZPIiwJMHg1MTAyfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TRVFfQ1RSTFJBVEUiLAkweDUxMDN9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NFUV9HRVRPVVRDT1VOVCIsCTB4NTEwNH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU0VRX0dFVElOQ09VTlQiLAkweDUxMDV9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NFUV9QRVJDTU9ERSIsCTB4NTEwNn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRk1fTE9BRF9JTlNUUiIsCTB4NTEwN30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU0VRX1RFU1RNSURJIiwJMHg1MTA4fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TRVFfUkVTRVRTQU1QTEVTIiwJMHg1MTA5fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TRVFfTlJTWU5USFMiLAkweDUxMGF9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NFUV9OUk1JRElTIiwJMHg1MTBifSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9NSURJX0lORk8iLAkweDUxMGN9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NFUV9USFJFU0hPTEQiLAkweDUxMGR9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NZTlRIX01FTUFWTCIsCTB4NTEwZX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRk1fNE9QX0VOQUJMRSIsCTB4NTEwZn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU0VRX1BBTklDIiwJMHg1MTExfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TRVFfT1VUT0ZCQU5EIiwJMHg1MTEyfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TRVFfR0VUVElNRSIsCTB4NTExM30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU1lOVEhfSUQiLAkweDUxMTR9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NZTlRIX0NPTlRST0wiLAkweDUxMTV9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NZTlRIX1JFTU9WRVNBTVBMRSIsCTB4NTExNn0sCisJeyJsaW51eC9yYW5kb20uaCIsCSJSTkRHRVRFTlRDTlQiLAkweDUyMDB9LAorCXsibGludXgvcmFuZG9tLmgiLAkiUk5EQUREVE9FTlRDTlQiLAkweDUyMDF9LAorCXsibGludXgvcmFuZG9tLmgiLAkiUk5ER0VUUE9PTCIsCTB4NTIwMn0sCisJeyJsaW51eC9yYW5kb20uaCIsCSJSTkRBRERFTlRST1BZIiwJMHg1MjAzfSwKKwl7ImxpbnV4L3JhbmRvbS5oIiwJIlJORFpBUEVOVENOVCIsCTB4NTIwNH0sCisJeyJsaW51eC9yYW5kb20uaCIsCSJSTkRDTEVBUlBPT0wiLAkweDUyMDZ9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRDR0VUUyIsCTB4NTQwMX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfVE1SX1RJTUVCQVNFIiwJMHg1NDAxfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUQ1NFVFMiLAkweDU0MDJ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1RNUl9TVEFSVCIsCTB4NTQwMn0sCisJeyJhc20vaW9jdGxzLmgiLAkiVENTRVRTVyIsCTB4NTQwM30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfVE1SX1NUT1AiLAkweDU0MDN9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRDU0VUU0YiLAkweDU0MDR9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1RNUl9DT05USU5VRSIsCTB4NTQwNH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfVE1SX1RFTVBPIiwJMHg1NDA1fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9UTVJfU09VUkNFIiwJMHg1NDA2fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9UTVJfTUVUUk9OT01FIiwJMHg1NDA3fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9UTVJfU0VMRUNUIiwJMHg1NDA4fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DRVhDTCIsCTB4NTQwY30sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ05YQ0wiLAkweDU0MGR9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NTQ1RUWSIsCTB4NTQwZX0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NUSSIsCTB4NTQxMn0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ01HRVQiLAkweDU0MTV9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NNQklTIiwJMHg1NDE2fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DTUJJQyIsCTB4NTQxN30sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ01TRVQiLAkweDU0MTh9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NHU09GVENBUiIsCTB4NTQxOX0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NTT0ZUQ0FSIiwJMHg1NDFhfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DTElOVVgiLAkweDU0MWN9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NDT05TIiwJMHg1NDFkfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DR1NFUklBTCIsCTB4NTQxZX0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NTRVJJQUwiLAkweDU0MWZ9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NQS1QiLAkweDU0MjB9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NOT1RUWSIsCTB4NTQyMn0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NFVEQiLAkweDU0MjN9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NHRVREIiwJMHg1NDI0fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUQ1NCUktQIiwJMHg1NDI1fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DVFRZR1NUUlVDVCIsCTB4NTQyNn0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NCUksiLAkweDU0Mjd9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NDQlJLIiwJMHg1NDI4fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DR1NJRCIsCTB4NTQyOX0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ0dQVE4iLAkweDU0MzB9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NTUFRMQ0siLAkweDU0MzF9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NTRVJDT05GSUciLAkweDU0NTN9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NTRVJHV0lMRCIsCTB4NTQ1NH0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NFUlNXSUxEIiwJMHg1NDU1fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DR0xDS1RSTUlPUyIsCTB4NTQ1Nn0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NMQ0tUUk1JT1MiLAkweDU0NTd9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NTRVJHU1RSVUNUIiwJMHg1NDU4fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DU0VSR0VUTFNSIiwJMHg1NDU5fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DU0VSR0VUTVVMVEkiLAkweDU0NWF9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NTRVJTRVRNVUxUSSIsCTB4NTQ1Yn0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ01JV0FJVCIsCTB4NTQ1Y30sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ0dJQ09VTlQiLAkweDU0NWR9LAorCXsibGludXgvaWZfdHVuLmgiLAkiVFVOU0VUTk9DU1VNIiwJMHg1NGM4fSwKKwl7ImxpbnV4L2lmX3R1bi5oIiwJIlRVTlNFVERFQlVHIiwJMHg1NGM5fSwKKwl7ImxpbnV4L2lmX3R1bi5oIiwJIlRVTlNFVElGRiIsCTB4NTRjYX0sCisJeyJsaW51eC9pZl90dW4uaCIsCSJUVU5TRVRQRVJTSVNUIiwJMHg1NGNifSwKKwl7ImxpbnV4L2lmX3R1bi5oIiwJIlRVTlNFVE9XTkVSIiwJMHg1NGNjfSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX0NPTlRST0wiLAkweDU1MDB9LAorCXsibGludXgvdXNiZGV2aWNlX2ZzLmgiLAkiVVNCREVWRlNfQlVMSyIsCTB4NTUwMn0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19SRVNFVEVQIiwJMHg1NTAzfSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX1NFVElOVEVSRkFDRSIsCTB4NTUwNH0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19TRVRDT05GSUdVUkFUSU9OIiwJMHg1NTA1fSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX0dFVERSSVZFUiIsCTB4NTUwOH0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19TVUJNSVRVUkIiLAkweDU1MGF9LAorCXsibGludXgvdXNiZGV2aWNlX2ZzLmgiLAkiVVNCREVWRlNfRElTQ0FSRFVSQiIsCTB4NTUwYn0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19SRUFQVVJCIiwJMHg1NTBjfSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX1JFQVBVUkJOREVMQVkiLAkweDU1MGR9LAorCXsibGludXgvdXNiZGV2aWNlX2ZzLmgiLAkiVVNCREVWRlNfRElTQ1NJR05BTCIsCTB4NTUwZX0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19DTEFJTUlOVEVSRkFDRSIsCTB4NTUwZn0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19SRUxFQVNFSU5URVJGQUNFIiwJMHg1NTEwfSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX0NPTk5FQ1RJTkZPIiwJMHg1NTExfSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX0lPQ1RMIiwJMHg1NTEyfSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX0hVQl9QT1JUSU5GTyIsCTB4NTUxM30sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19SRVNFVCIsCTB4NTUxNH0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19DTEVBUl9IQUxUIiwJMHg1NTE1fSwKKwl7ImxpbnV4L3dhdGNoZG9nLmgiLAkiV0RJT0NfR0VUU1VQUE9SVCIsCTB4NTcwMH0sCisJeyJsaW51eC93YXRjaGRvZy5oIiwJIldESU9DX0dFVFNUQVRVUyIsCTB4NTcwMX0sCisJeyJsaW51eC93YXRjaGRvZy5oIiwJIldESU9DX0dFVEJPT1RTVEFUVVMiLAkweDU3MDJ9LAorCXsibGludXgvd2F0Y2hkb2cuaCIsCSJXRElPQ19HRVRURU1QIiwJMHg1NzAzfSwKKwl7ImxpbnV4L3dhdGNoZG9nLmgiLAkiV0RJT0NfU0VUT1BUSU9OUyIsCTB4NTcwNH0sCisJeyJsaW51eC93YXRjaGRvZy5oIiwJIldESU9DX0tFRVBBTElWRSIsCTB4NTcwNX0sCisJeyJsaW51eC93YXRjaGRvZy5oIiwJIldESU9DX1NFVFRJTUVPVVQiLAkweDU3MDZ9LAorCXsibGludXgvaXRlX2dwaW8uaCIsCSJJVEVfR1BJT19JTiIsCTB4NWEwMH0sCisJeyJsaW51eC9pdGVfZ3Bpby5oIiwJIklURV9HUElPX09VVCIsCTB4NWEwMX0sCisJeyJsaW51eC9pdGVfZ3Bpby5oIiwJIklURV9HUElPX0lOVF9DVFJMIiwJMHg1YTAyfSwKKwl7ImxpbnV4L2l0ZV9ncGlvLmgiLAkiSVRFX0dQSU9fSU5fU1RBVFVTIiwJMHg1YTAzfSwKKwl7ImxpbnV4L2l0ZV9ncGlvLmgiLAkiSVRFX0dQSU9fT1VUX1NUQVRVUyIsCTB4NWEwNH0sCisJeyJsaW51eC9pdGVfZ3Bpby5oIiwJIklURV9HUElPX0dFTl9DVFJMIiwJMHg1YTA1fSwKKwl7ImxpbnV4L2l0ZV9ncGlvLmgiLAkiSVRFX0dQSU9fSU5UX1dBSVQiLAkweDVhMDZ9LAorCXsibGludXgvc29uZXQuaCIsCSJTT05FVF9HRVRTVEFUIiwJMHg2MTEwfSwKKwl7ImxpbnV4L3NvbmV0LmgiLAkiU09ORVRfR0VUU1RBVFoiLAkweDYxMTF9LAorCXsibGludXgvc29uZXQuaCIsCSJTT05FVF9TRVRESUFHIiwJMHg2MTEyfSwKKwl7ImxpbnV4L3NvbmV0LmgiLAkiU09ORVRfQ0xSRElBRyIsCTB4NjExM30sCisJeyJsaW51eC9zb25ldC5oIiwJIlNPTkVUX0dFVERJQUciLAkweDYxMTR9LAorCXsibGludXgvc29uZXQuaCIsCSJTT05FVF9TRVRGUkFNSU5HIiwJMHg2MTE1fSwKKwl7ImxpbnV4L3NvbmV0LmgiLAkiU09ORVRfR0VURlJBTUlORyIsCTB4NjExNn0sCisJeyJsaW51eC9zb25ldC5oIiwJIlNPTkVUX0dFVEZSU0VOU0UiLAkweDYxMTd9LAorCXsibGludXgvYXRtX2lkdDc3MTA1LmgiLAkiSURUNzcxMDVfR0VUU1RBVCIsCTB4NjEzMn0sCisJeyJsaW51eC9hdG1faWR0NzcxMDUuaCIsCSJJRFQ3NzEwNV9HRVRTVEFUWiIsCTB4NjEzM30sCisJeyJsaW51eC9hdG1kZXYuaCIsCSJBVE1fR0VUU1RBVCIsCTB4NjE1MH0sCisJeyJsaW51eC9hdG1kZXYuaCIsCSJBVE1fR0VUU1RBVFoiLAkweDYxNTF9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX0dFVExPT1AiLAkweDYxNTJ9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX1NFVExPT1AiLAkweDYxNTN9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX1FVRVJZTE9PUCIsCTB4NjE1NH0sCisJeyJsaW51eC9hdG1fZW5pLmgiLAkiRU5JX01FTURVTVAiLAkweDYxNjB9LAorCXsibGludXgvYXRtX25pY3N0YXIuaCIsCSJOU19HRVRQU1RBVCIsCTB4NjE2MX0sCisJeyJsaW51eC9hdG1femF0bS5oIiwJIlpBVE1fR0VUUE9PTCIsCTB4NjE2MX0sCisJeyJsaW51eC9hdG1fbmljc3Rhci5oIiwJIk5TX1NFVEJVRkxFViIsCTB4NjE2Mn0sCisJeyJsaW51eC9hdG1femF0bS5oIiwJIlpBVE1fR0VUUE9PTFoiLAkweDYxNjJ9LAorCXsibGludXgvYXRtX25pY3N0YXIuaCIsCSJOU19BREpCVUZMRVYiLAkweDYxNjN9LAorCXsibGludXgvYXRtX3phdG0uaCIsCSJaQVRNX1NFVFBPT0wiLAkweDYxNjN9LAorCXsibGludXgvYXRtX3phdG0uaCIsCSJaQVRNX0dFVFRISVNUIiwJMHg2MTY0fSwKKwl7ImxpbnV4L2F0bV9lbmkuaCIsCSJFTklfU0VUTVVMVCIsCTB4NjE2N30sCisJeyJsaW51eC9hdG1fdGNwLmgiLAkiU0lPQ1NJRkFUTVRDUCIsCTB4NjE4MH0sCisJeyJsaW51eC9hdG1kZXYuaCIsCSJBVE1fR0VUTElOS1JBVEUiLAkweDYxODF9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX0dFVE5BTUVTIiwJMHg2MTgzfSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9HRVRUWVBFIiwJMHg2MTg0fSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9HRVRFU0kiLAkweDYxODV9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX0dFVEFERFIiLAkweDYxODZ9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX1JTVEFERFIiLAkweDYxODd9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX0FEREFERFIiLAkweDYxODh9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX0RFTEFERFIiLAkweDYxODl9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX0dFVENJUkFOR0UiLAkweDYxOGF9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX1NFVENJUkFOR0UiLAkweDYxOGJ9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX1NFVEVTSSIsCTB4NjE4Y30sCisJeyJsaW51eC9hdG1kZXYuaCIsCSJBVE1fU0VURVNJRiIsCTB4NjE4ZH0sCisJeyJsaW51eC9hdG1fdGNwLmgiLAkiQVRNVENQX0NSRUFURSIsCTB4NjE4ZX0sCisJeyJsaW51eC9hdG1fdGNwLmgiLAkiQVRNVENQX1JFTU9WRSIsCTB4NjE4Zn0sCisJeyJsaW51eC9hdG1sZWMuaCIsCSJBVE1MRUNfQ1RSTCIsCTB4NjFkMH0sCisJeyJsaW51eC9hdG1sZWMuaCIsCSJBVE1MRUNfREFUQSIsCTB4NjFkMX0sCisJeyJsaW51eC9hdG1sZWMuaCIsCSJBVE1MRUNfTUNBU1QiLAkweDYxZDJ9LAorCXsibGludXgvYXRtbXBjLmgiLAkiQVRNTVBDX0NUUkwiLAkweDYxZDh9LAorCXsibGludXgvYXRtbXBjLmgiLAkiQVRNTVBDX0RBVEEiLAkweDYxZDl9LAorCXsibGludXgvYXRtY2xpcC5oIiwJIlNJT0NNS0NMSVAiLAkweDYxZTB9LAorCXsibGludXgvYXRtYXJwLmgiLAkiQVRNQVJQRF9DVFJMIiwJMHg2MWUxfSwKKwl7ImxpbnV4L2F0bWFycC5oIiwJIkFUTUFSUF9NS0lQIiwJMHg2MWUyfSwKKwl7ImxpbnV4L2F0bWFycC5oIiwJIkFUTUFSUF9TRVRFTlRSWSIsCTB4NjFlM30sCisJeyJsaW51eC9hdG1hcnAuaCIsCSJBVE1BUlBfRU5DQVAiLAkweDYxZTV9LAorCXsibGludXgvYXRtc3ZjLmgiLAkiQVRNU0lHRF9DVFJMIiwJMHg2MWYwfSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9TRVRTQyIsCTB4NjFmMX0sCisJeyJsaW51eC9hdG1kZXYuaCIsCSJBVE1fU0VUQkFDS0VORCIsCTB4NjFmMn0sCisJeyJsaW51eC9jb2RhLmgiLAkiQ0lPQ19LRVJORUxfVkVSU0lPTiIsCTB4NjMwYX0sCisJeyJsaW51eC9jb21zdGF0cy5oIiwJIkNPTV9HRVRQT1JUU1RBVFMiLAkweDYzMWV9LAorCXsibGludXgvY29tc3RhdHMuaCIsCSJDT01fQ0xSUE9SVFNUQVRTIiwJMHg2MzFmfSwKKwl7ImxpbnV4L2NvbXN0YXRzLmgiLAkiQ09NX0dFVEJSRFNUQVRTIiwJMHg2MzIwfSwKKwl7ImxpbnV4L2NvbXN0YXRzLmgiLAkiQ09NX1JFQURQT1JUIiwJMHg2MzI4fSwKKwl7ImxpbnV4L2NvbXN0YXRzLmgiLAkiQ09NX1JFQURCT0FSRCIsCTB4NjMyOX0sCisJeyJsaW51eC9jb21zdGF0cy5oIiwJIkNPTV9SRUFEUEFORUwiLAkweDYzMmF9LAorCXsibGludXgvZGV2ZnNfZnMuaCIsCSJERVZGU0RJT0NfR0VUX1BST1RPX1JFViIsCTB4NjQwMH0sCisJeyJsaW51eC92aWRlb19kZWNvZGVyLmgiLAkiREVDT0RFUl9HRVRfQ0FQQUJJTElUSUVTIiwJMHg2NDAxfSwKKwl7ImxpbnV4L2RldmZzX2ZzLmgiLAkiREVWRlNESU9DX1NFVF9FVkVOVF9NQVNLIiwJMHg2NDAyfSwKKwl7ImxpbnV4L3ZpZGVvX2RlY29kZXIuaCIsCSJERUNPREVSX0dFVF9TVEFUVVMiLAkweDY0MDJ9LAorCXsibGludXgvZGV2ZnNfZnMuaCIsCSJERVZGU0RJT0NfUkVMRUFTRV9FVkVOVF9RVUVVRSIsCTB4NjQwM30sCisJeyJsaW51eC92aWRlb19kZWNvZGVyLmgiLAkiREVDT0RFUl9TRVRfTk9STSIsCTB4NjQwM30sCisJeyJsaW51eC9kZXZmc19mcy5oIiwJIkRFVkZTRElPQ19TRVRfREVCVUdfTUFTSyIsCTB4NjQwNH0sCisJeyJsaW51eC92aWRlb19kZWNvZGVyLmgiLAkiREVDT0RFUl9TRVRfSU5QVVQiLAkweDY0MDR9LAorCXsibGludXgvdmlkZW9fZGVjb2Rlci5oIiwJIkRFQ09ERVJfU0VUX09VVFBVVCIsCTB4NjQwNX0sCisJeyJsaW51eC92aWRlb19kZWNvZGVyLmgiLAkiREVDT0RFUl9FTkFCTEVfT1VUUFVUIiwJMHg2NDA2fSwKKwl7ImxpbnV4L3ZpZGVvX2RlY29kZXIuaCIsCSJERUNPREVSX1NFVF9QSUNUVVJFIiwJMHg2NDA3fSwKKwl7ImxpbnV4L3ZpZGVvX2RlY29kZXIuaCIsCSJERUNPREVSX0RVTVAiLAkweDY0YzB9LAorCXsibGludXgvdmlkZW9fZW5jb2Rlci5oIiwJIkVOQ09ERVJfR0VUX0NBUEFCSUxJVElFUyIsCTB4NjUwMX0sCisJeyJsaW51eC92aWRlb19lbmNvZGVyLmgiLAkiRU5DT0RFUl9TRVRfTk9STSIsCTB4NjUwMn0sCisJeyJsaW51eC92aWRlb19lbmNvZGVyLmgiLAkiRU5DT0RFUl9TRVRfSU5QVVQiLAkweDY1MDN9LAorCXsibGludXgvdmlkZW9fZW5jb2Rlci5oIiwJIkVOQ09ERVJfU0VUX09VVFBVVCIsCTB4NjUwNH0sCisJeyJsaW51eC92aWRlb19lbmNvZGVyLmgiLAkiRU5DT0RFUl9FTkFCTEVfT1VUUFVUIiwJMHg2NTA1fSwKKwl7ImxpbnV4L2V4dDJfZnMuaCIsCSJFWFQyX0lPQ19HRVRGTEFHUyIsCTB4NjYwMX0sCisJeyJsaW51eC9leHQzX2ZzLmgiLAkiRVhUM19JT0NfR0VURkxBR1MiLAkweDY2MDF9LAorCXsiYXNtL2lvY3Rscy5oIiwJIkZJT0NMRVgiLAkweDY2MDF9LAorCXsibGludXgvZXh0Ml9mcy5oIiwJIkVYVDJfSU9DX1NFVEZMQUdTIiwJMHg2NjAyfSwKKwl7ImxpbnV4L2V4dDNfZnMuaCIsCSJFWFQzX0lPQ19TRVRGTEFHUyIsCTB4NjYwMn0sCisJeyJhc20vaW9jdGxzLmgiLAkiRklPTkNMRVgiLAkweDY2MDJ9LAorCXsibGludXgvZXh0M19mcy5oIiwJIkVYVDNfSU9DX0dFVFZFUlNJT04iLAkweDY2MDN9LAorCXsibGludXgvZXh0M19mcy5oIiwJIkVYVDNfSU9DX1NFVFZFUlNJT04iLAkweDY2MDR9LAorCXsibGludXgvZXh0M19mcy5oIiwJIkVYVDNfSU9DX1dBSVRfRk9SX1JFQURPTkxZIiwJMHg2NjYzfSwKKwl7ImFzbS9zb2NraW9zLmgiLAkiRklPR0VUT1dOIiwJMHg2NjdifSwKKwl7ImFzbS9zb2NraW9zLmgiLAkiRklPU0VUT1dOIiwJMHg2NjdjfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJGSU9BU1lOQyIsCTB4NjY3ZH0sCisJeyJhc20vaW9jdGxzLmgiLAkiRklPTkJJTyIsCTB4NjY3ZX0sCisJeyJhc20vaW9jdGxzLmgiLAkiRklPTlJFQUQiLAkweDY2N2Z9LAorCXsibGludXgvaTJvLWRldi5oIiwJIkkyT0dFVElPUFMiLAkweDY5MDB9LAorCXsibGludXgvaTJvLWRldi5oIiwJIkkyT0hSVEdFVCIsCTB4NjkwMX0sCisJeyJsaW51eC9pMm8tZGV2LmgiLAkiSTJPTENUR0VUIiwJMHg2OTAyfSwKKwl7ImxpbnV4L2kyby1kZXYuaCIsCSJJMk9QQVJNU0VUIiwJMHg2OTAzfSwKKwl7ImxpbnV4L2kyby1kZXYuaCIsCSJJMk9QQVJNR0VUIiwJMHg2OTA0fSwKKwl7ImxpbnV4L2kyby1kZXYuaCIsCSJJMk9TV0RMIiwJMHg2OTA1fSwKKwl7ImxpbnV4L2kyby1kZXYuaCIsCSJJMk9TV1VMIiwJMHg2OTA2fSwKKwl7ImxpbnV4L2kyby1kZXYuaCIsCSJJMk9TV0RFTCIsCTB4NjkwN30sCisJeyJsaW51eC9pMm8tZGV2LmgiLAkiSTJPVkFMSURBVEUiLAkweDY5MDh9LAorCXsibGludXgvaTJvLWRldi5oIiwJIkkyT0hUTUwiLAkweDY5MDl9LAorCXsibGludXgvaTJvLWRldi5oIiwJIkkyT0VWVFJFRyIsCTB4NjkwYX0sCisJeyJsaW51eC9pMm8tZGV2LmgiLAkiSTJPRVZUR0VUIiwJMHg2OTBifSwKKwl7ImxpbnV4L2k4ay5oIiwJIkk4S19CSU9TX1ZFUlNJT04iLAkweDY5ODB9LAorCXsibGludXgvaThrLmgiLAkiSThLX01BQ0hJTkVfSUQiLAkweDY5ODF9LAorCXsibGludXgvaThrLmgiLAkiSThLX1BPV0VSX1NUQVRVUyIsCTB4Njk4Mn0sCisJeyJsaW51eC9pOGsuaCIsCSJJOEtfRk5fU1RBVFVTIiwJMHg2OTgzfSwKKwl7ImxpbnV4L2k4ay5oIiwJIkk4S19HRVRfVEVNUCIsCTB4Njk4NH0sCisJeyJsaW51eC9pOGsuaCIsCSJJOEtfR0VUX1NQRUVEIiwJMHg2OTg1fSwKKwl7ImxpbnV4L2k4ay5oIiwJIkk4S19HRVRfRkFOIiwJMHg2OTg2fSwKKwl7ImxpbnV4L2k4ay5oIiwJIkk4S19TRVRfRkFOIiwJMHg2OTg3fSwKKwl7ImxpbnV4L2pveXN0aWNrLmgiLAkiSlNJT0NHVkVSU0lPTiIsCTB4NmEwMX0sCisJeyJsaW51eC9qb3lzdGljay5oIiwJIkpTSU9DR0FYRVMiLAkweDZhMTF9LAorCXsibGludXgvam95c3RpY2suaCIsCSJKU0lPQ0dCVVRUT05TIiwJMHg2YTEyfSwKKwl7ImxpbnV4L2pveXN0aWNrLmgiLAkiSlNJT0NTQ09SUiIsCTB4NmEyMX0sCisJeyJsaW51eC9qb3lzdGljay5oIiwJIkpTSU9DR0NPUlIiLAkweDZhMjJ9LAorCXsibGludXgvam95c3RpY2suaCIsCSJKU0lPQ1NBWE1BUCIsCTB4NmEzMX0sCisJeyJsaW51eC9qb3lzdGljay5oIiwJIkpTSU9DR0FYTUFQIiwJMHg2YTMyfSwKKwl7ImxpbnV4L2pveXN0aWNrLmgiLAkiSlNJT0NTQlROTUFQIiwJMHg2YTMzfSwKKwl7ImxpbnV4L2pveXN0aWNrLmgiLAkiSlNJT0NHQlROTUFQIiwJMHg2YTM0fSwKKwl7ImxpbnV4L3VkZl9mc19pLmgiLAkiVURGX0dFVEVBU0laRSIsCTB4NmM0MH0sCisJeyJsaW51eC91ZGZfZnNfaS5oIiwJIlVERl9HRVRFQUJMT0NLIiwJMHg2YzQxfSwKKwl7ImxpbnV4L3VkZl9mc19pLmgiLAkiVURGX0dFVFZPTElERU5UIiwJMHg2YzQyfSwKKwl7ImxpbnV4L3VkZl9mc19pLmgiLAkiVURGX1JFTE9DQVRFX0JMT0NLUyIsCTB4NmM0M30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfTUlESV9QUkVUSU1FIiwJMHg2ZDAwfSwKKwl7ImxpbnV4L3N5bmNsaW5rLmgiLAkiTUdTTF9JT0NTUEFSQU1TIiwJMHg2ZDAwfSwKKwl7ImxpbnV4L210aW8uaCIsCSJNVElPQ1RPUCIsCTB4NmQwMX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfTUlESV9NUFVNT0RFIiwJMHg2ZDAxfSwKKwl7ImxpbnV4L3N5bmNsaW5rLmgiLAkiTUdTTF9JT0NHUEFSQU1TIiwJMHg2ZDAxfSwKKwl7ImxpbnV4L210aW8uaCIsCSJNVElPQ0dFVCIsCTB4NmQwMn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfTUlESV9NUFVDTUQiLAkweDZkMDJ9LAorCXsibGludXgvc3luY2xpbmsuaCIsCSJNR1NMX0lPQ1NUWElETEUiLAkweDZkMDJ9LAorCXsibGludXgvbXRpby5oIiwJIk1USU9DUE9TIiwJMHg2ZDAzfSwKKwl7ImxpbnV4L3N5bmNsaW5rLmgiLAkiTUdTTF9JT0NHVFhJRExFIiwJMHg2ZDAzfSwKKwl7ImxpbnV4L210aW8uaCIsCSJNVElPQ0dFVENPTkZJRyIsCTB4NmQwNH0sCisJeyJsaW51eC9zeW5jbGluay5oIiwJIk1HU0xfSU9DVFhFTkFCTEUiLAkweDZkMDR9LAorCXsibGludXgvbXRpby5oIiwJIk1USU9DU0VUQ09ORklHIiwJMHg2ZDA1fSwKKwl7ImxpbnV4L3N5bmNsaW5rLmgiLAkiTUdTTF9JT0NSWEVOQUJMRSIsCTB4NmQwNX0sCisJeyJsaW51eC9tdGlvLmgiLAkiTVRJT0NSREZUU0VHIiwJMHg2ZDA2fSwKKwl7ImxpbnV4L3N5bmNsaW5rLmgiLAkiTUdTTF9JT0NUWEFCT1JUIiwJMHg2ZDA2fSwKKwl7ImxpbnV4L210aW8uaCIsCSJNVElPQ1dSRlRTRUciLAkweDZkMDd9LAorCXsibGludXgvc3luY2xpbmsuaCIsCSJNR1NMX0lPQ0dTVEFUUyIsCTB4NmQwN30sCisJeyJsaW51eC9tdGlvLmgiLAkiTVRJT0NWT0xJTkZPIiwJMHg2ZDA4fSwKKwl7ImxpbnV4L3N5bmNsaW5rLmgiLAkiTUdTTF9JT0NXQUlURVZFTlQiLAkweDZkMDh9LAorCXsibGludXgvbXRpby5oIiwJIk1USU9DR0VUU0laRSIsCTB4NmQwOX0sCisJeyJsaW51eC9zeW5jbGluay5oIiwJIk1HU0xfSU9DTE9PUFRYRE9ORSIsCTB4NmQwOX0sCisJeyJsaW51eC9tdGlvLmgiLAkiTVRJT0NGVEZPUk1BVCIsCTB4NmQwYX0sCisJeyJsaW51eC9tdGlvLmgiLAkiTVRJT0NGVENNRCIsCTB4NmQwYn0sCisJeyJsaW51eC9zeW5jbGluay5oIiwJIk1HU0xfSU9DQ0xSTU9EQ09VTlQiLAkweDZkMGZ9LAorCXsibGludXgvemZ0YXBlLmgiLAkiTVRJT0NfWkZUQVBFX0dFVEJMS1NaIiwJMHg2ZDY4fSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfTkNQUkVRVUVTVCIsCTB4NmUwMX0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX0dFVE1PVU5UVUlEIiwJMHg2ZTAyfSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfR0VUTU9VTlRVSUQyIiwJMHg2ZTAyfSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfQ09OTl9MT0dHRURfSU4iLAkweDZlMDN9LAorCXsibGludXgvbmNwX2ZzLmgiLAkiTkNQX0lPQ19HRVRfRlNfSU5GTyIsCTB4NmUwNH0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX0dFVF9GU19JTkZPX1YyIiwJMHg2ZTA0fSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfU0lHTl9JTklUIiwJMHg2ZTA1fSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfU0lHTl9XQU5URUQiLAkweDZlMDZ9LAorCXsibGludXgvbmNwX2ZzLmgiLAkiTkNQX0lPQ19TRVRfU0lHTl9XQU5URUQiLAkweDZlMDZ9LAorCXsibGludXgvbmNwX2ZzLmgiLAkiTkNQX0lPQ19MT0NLVU5MT0NLIiwJMHg2ZTA3fSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfR0VUUk9PVCIsCTB4NmUwOH0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX1NFVFJPT1QiLAkweDZlMDh9LAorCXsibGludXgvbmNwX2ZzLmgiLAkiTkNQX0lPQ19HRVRPQkpFQ1ROQU1FIiwJMHg2ZTA5fSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfU0VUT0JKRUNUTkFNRSIsCTB4NmUwOX0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX0dFVFBSSVZBVEVEQVRBIiwJMHg2ZTBhfSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfU0VUUFJJVkFURURBVEEiLAkweDZlMGF9LAorCXsibGludXgvbmNwX2ZzLmgiLAkiTkNQX0lPQ19HRVRDSEFSU0VUUyIsCTB4NmUwYn0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX1NFVENIQVJTRVRTIiwJMHg2ZTBifSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfR0VUREVOVFJZVFRMIiwJMHg2ZTBjfSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfU0VUREVOVFJZVFRMIiwJMHg2ZTBjfSwKKwl7ImxpbnV4L21hdHJveGZiLmgiLAkiTUFUUk9YRkJfU0VUX09VVFBVVF9DT05ORUNUSU9OIiwJMHg2ZWY4fSwKKwl7ImxpbnV4L21hdHJveGZiLmgiLAkiTUFUUk9YRkJfR0VUX09VVFBVVF9DT05ORUNUSU9OIiwJMHg2ZWY4fSwKKwl7ImxpbnV4L21hdHJveGZiLmgiLAkiTUFUUk9YRkJfR0VUX0FWQUlMQUJMRV9PVVRQVVRTIiwJMHg2ZWY5fSwKKwl7ImxpbnV4L21hdHJveGZiLmgiLAkiTUFUUk9YRkJfU0VUX09VVFBVVF9NT0RFIiwJMHg2ZWZhfSwKKwl7ImxpbnV4L21hdHJveGZiLmgiLAkiTUFUUk9YRkJfR0VUX09VVFBVVF9NT0RFIiwJMHg2ZWZhfSwKKwl7ImxpbnV4L21hdHJveGZiLmgiLAkiTUFUUk9YRkJfR0VUX0FMTF9PVVRQVVRTIiwJMHg2ZWZifSwKKwl7ImxpbnV4L3J0Yy5oIiwJIlJUQ19BSUVfT04iLAkweDcwMDF9LAorCXsibGludXgvcnRjLmgiLAkiUlRDX0FJRV9PRkYiLAkweDcwMDJ9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19HRVRNT1VOVCIsCTB4NzAwM30sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfVUlFX09OIiwJMHg3MDAzfSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fU0VUUElEIiwJMHg3MDA0fSwKKwl7ImxpbnV4L3J0Yy5oIiwJIlJUQ19VSUVfT0ZGIiwJMHg3MDA0fSwKKwl7ImxpbnV4L3J0Yy5oIiwJIlJUQ19QSUVfT04iLAkweDcwMDV9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19DTE9TRV9KT1VSTkFMRiIsCTB4NzAwNn0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfUElFX09GRiIsCTB4NzAwNn0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX1NFVF9GU0VUUk9PVCIsCTB4NzAwN30sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfQUxNX1NFVCIsCTB4NzAwN30sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX0NMRUFSX0ZTRVRST09UIiwJMHg3MDA4fSwKKwl7ImxpbnV4L3J0Yy5oIiwJIlJUQ19BTE1fUkVBRCIsCTB4NzAwOH0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX1NFVE9QVCIsCTB4NzAwOX0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfUkRfVElNRSIsCTB4NzAwOX0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX0dFVE9QVCIsCTB4NzAwYX0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfU0VUX1RJTUUiLAkweDcwMGF9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19HRVRfS01MU0laRSIsCTB4NzAwYn0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfSVJRUF9SRUFEIiwJMHg3MDBifSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fR0VUX1JFQ05PIiwJMHg3MDBjfSwKKwl7ImxpbnV4L3J0Yy5oIiwJIlJUQ19JUlFQX1NFVCIsCTB4NzAwY30sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfRVBPQ0hfUkVBRCIsCTB4NzAwZH0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfRVBPQ0hfU0VUIiwJMHg3MDBlfSwKKwl7ImxpbnV4L3J0Yy5oIiwJIlJUQ19XSUVfT04iLAkweDcwMGZ9LAorCXsibGludXgvcnRjLmgiLAkiUlRDX1dLQUxNX1NFVCIsCTB4NzAwZn0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX1ZGU19TRVRBVFRSIiwJMHg3MDEwfSwKKwl7ImxpbnV4L3J0Yy5oIiwJIlJUQ19XSUVfT0ZGIiwJMHg3MDEwfSwKKwl7ImxpbnV4L3J0Yy5oIiwJIlJUQ19XS0FMTV9SRCIsCTB4NzAxMH0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX1ZGU19DUkVBVEUiLAkweDcwMTF9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19WRlNfTElOSyIsCTB4NzAxMn0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX1ZGU19VTkxJTksiLAkweDcwMTN9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19WRlNfU1lNTElOSyIsCTB4NzAxNH0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX1ZGU19NS0RJUiIsCTB4NzAxNX0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX1ZGU19STURJUiIsCTB4NzAxNn0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX1ZGU19NS05PRCIsCTB4NzAxN30sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX1ZGU19SRU5BTUUiLAkweDcwMTh9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19WRlNfQ0xPU0UiLAkweDcwMWF9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19WRlNfSU9QRU4iLAkweDcwMWJ9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19WRlNfU0VURVhUQVRUUiIsCTB4NzAxY30sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX1ZGU19ERUxFWFRBVFRSIiwJMHg3MDFkfSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fTUFSSyIsCTB4NzAyMH0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX1JFTEVBU0VfUEVSTUlUIiwJMHg3MDIxfSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fQ0xFQVJfQUxMX0ZTRVRST09UUyIsCTB4NzAyMn0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX0JBQ0tGRVRDSF9MTUwiLAkweDcwMjN9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19SRUlOVCIsCTB4NzAyNH0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX0NBTkNFTF9MTUwiLAkweDcwMjV9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19SRVNFVF9GU0VUIiwJMHg3MDI2fSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fQ09NUExFVEVfQ0xPU0VTIiwJMHg3MDI3fSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fUkVJTlRfQkVHSU4iLAkweDcwMzB9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19ET19SRUlOVCIsCTB4NzAzMX0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX1JFSU5UX0VORCIsCTB4NzAzMn0sCisJeyJsaW51eC9udnJhbS5oIiwJIk5WUkFNX0lOSVQiLAkweDcwNDB9LAorCXsibGludXgvbnZyYW0uaCIsCSJOVlJBTV9TRVRDS1MiLAkweDcwNDF9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUFNFVE1PREUiLAkweDcwODB9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUFJTVEFUVVMiLAkweDcwODF9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUFJDT05UUk9MIiwJMHg3MDgzfSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBXQ09OVFJPTCIsCTB4NzA4NH0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQUkRBVEEiLAkweDcwODV9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUFdEQVRBIiwJMHg3MDg2fSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBDTEFJTSIsCTB4NzA4Yn0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQUkVMRUFTRSIsCTB4NzA4Y30sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQWUlFTEQiLAkweDcwOGR9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUEZDT05UUk9MIiwJMHg3MDhlfSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBFWENMIiwJMHg3MDhmfSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBEQVRBRElSIiwJMHg3MDkwfSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBORUdPVCIsCTB4NzA5MX0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQV0NUTE9OSVJRIiwJMHg3MDkyfSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBDTFJJUlEiLAkweDcwOTN9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUFNFVFBIQVNFIiwJMHg3MDk0fSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBHRVRUSU1FIiwJMHg3MDk1fSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBTRVRUSU1FIiwJMHg3MDk2fSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBHRVRNT0RFUyIsCTB4NzA5N30sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQR0VUTU9ERSIsCTB4NzA5OH0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQR0VUUEhBU0UiLAkweDcwOTl9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUEdFVEZMQUdTIiwJMHg3MDlhfSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBTRVRGTEFHUyIsCTB4NzA5Yn0sCisJeyJsaW51eC9zZXJpby5oIiwJIlNQSU9DU1RZUEUiLAkweDcxMDF9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfQ0FQQUJJTElUSUVTIiwJMHg3MTgwfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX0NBUEFCSUxJVElFU19MSVNUIiwJMHg3MTgxfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX0NBUEFCSUxJVElFU19DSEVDSyIsCTB4NzE4Mn0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9SSU5HIiwJMHg3MTgzfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX0hPT0tTVEFURSIsCTB4NzE4NH0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9NQVhSSU5HUyIsCTB4NzE4NX0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9SSU5HX0NBREVOQ0UiLAkweDcxODZ9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiT0xEX1BIT05FX1JJTkdfU1RBUlQiLAkweDcxODd9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUklOR19TVEFSVCIsCTB4NzE4N30sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9SSU5HX1NUT1AiLAkweDcxODh9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUkVDX0NPREVDIiwJMHg3MTg5fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1JFQ19TVEFSVCIsCTB4NzE4YX0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9SRUNfU1RPUCIsCTB4NzE4Yn0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9SRUNfREVQVEgiLAkweDcxOGN9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfRlJBTUUiLAkweDcxOGR9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUkVDX1ZPTFVNRSIsCTB4NzE4ZX0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9SRUNfTEVWRUwiLAkweDcxOGZ9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUExBWV9DT0RFQyIsCTB4NzE5MH0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9QTEFZX1NUQVJUIiwJMHg3MTkxfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1BMQVlfU1RPUCIsCTB4NzE5Mn0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9QTEFZX0RFUFRIIiwJMHg3MTkzfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1BMQVlfVk9MVU1FIiwJMHg3MTk0fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1BMQVlfTEVWRUwiLAkweDcxOTV9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfRFRNRl9SRUFEWSIsCTB4NzE5Nn0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9HRVRfRFRNRiIsCTB4NzE5N30sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9HRVRfRFRNRl9BU0NJSSIsCTB4NzE5OH0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9EVE1GX09PQiIsCTB4NzE5OX0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9FWENFUFRJT04iLAkweDcxOWF9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUExBWV9UT05FIiwJMHg3MTlifSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1NFVF9UT05FX09OX1RJTUUiLAkweDcxOWN9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfU0VUX1RPTkVfT0ZGX1RJTUUiLAkweDcxOWR9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfR0VUX1RPTkVfT05fVElNRSIsCTB4NzE5ZX0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9HRVRfVE9ORV9PRkZfVElNRSIsCTB4NzE5Zn0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9HRVRfVE9ORV9TVEFURSIsCTB4NzFhMH0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9CVVNZIiwJMHg3MWExfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1JJTkdCQUNLIiwJMHg3MWEyfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX0RJQUxUT05FIiwJMHg3MWEzfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX0NQVF9TVE9QIiwJMHg3MWE0fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1BTVE5fU0VUX1NUQVRFIiwJMHg3MWE0fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1BTVE5fR0VUX1NUQVRFIiwJMHg3MWE1fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1dJTktfRFVSQVRJT04iLAkweDcxYTZ9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUVVFUllfQ09ERUMiLAkweDcxYTd9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUFNUTl9MSU5FVEVTVCIsCTB4NzFhOH0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9WQUQiLAkweDcxYTl9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfV0lOSyIsCTB4NzFhYX0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0RTUF9SRVNFVCIsCTB4NzFjMH0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0NBUkRUWVBFIiwJMHg3MWMxfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfU0VSSUFMIiwJMHg3MWMyfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfRFNQX1RZUEUiLAkweDcxYzN9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9EU1BfVkVSU0lPTiIsCTB4NzFjNH0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0RTUF9JRExFIiwJMHg3MWM1fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfVEVTVFJBTSIsCTB4NzFjNn0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1NFVF9GSUxURVIiLAkweDcxYzd9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9HRVRfRklMVEVSX0hJU1QiLAkweDcxYzh9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9JTklUX1RPTkUiLAkweDcxYzl9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9UT05FX0NBREVOQ0UiLAkweDcxY2F9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9BRUNfU1RBUlQiLAkweDcxY2J9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9BRUNfU1RPUCIsCTB4NzFjY30sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0FFQ19HRVRfTEVWRUwiLAkweDcxY2R9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9TRVRfTEVEIiwJMHg3MWNlfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfTUlYRVIiLAkweDcxY2Z9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9EQUFfQ09FRkZfU0VUIiwJMHg3MWQwfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfUE9SVCIsCTB4NzFkMX0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0RBQV9BR0FJTiIsCTB4NzFkMn0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1BTVE5fTElORVRFU1QiLAkweDcxZDN9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9DSUQiLAkweDcxZDR9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9QT1RTX1BTVE4iLAkweDcxZDV9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9GSUxURVJfQ0FERU5DRSIsCTB4NzFkNn0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1BMQVlfQ0lEIiwJMHg3MWQ3fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfVk1XSSIsCTB4NzFkOH0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0NJRENXIiwJMHg3MWQ5fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfVkVSU0lPTiIsCTB4NzFkYX0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9SRUNfVk9MVU1FX0xJTkVBUiIsCTB4NzFkYn0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9QTEFZX1ZPTFVNRV9MSU5FQVIiLAkweDcxZGN9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9TRVRfRklMVEVSX1JBVyIsCTB4NzFkZH0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0haIiwJMHg3MWUwfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfUkFURSIsCTB4NzFlMX0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0ZSQU1FU19SRUFEIiwJMHg3MWUyfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfRlJBTUVTX1dSSVRURU4iLAkweDcxZTN9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9SRUFEX1dBSVQiLAkweDcxZTR9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9XUklURV9XQUlUIiwJMHg3MWU1fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfRFJZQlVGRkVSX1JFQUQiLAkweDcxZTZ9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9EUllCVUZGRVJfQ0xFQVIiLAkweDcxZTd9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9EVE1GX1BSRVNDQUxFIiwJMHg3MWU4fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfU0lHQ1RMIiwJMHg3MWU5fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfU0NfUlhHIiwJMHg3MWVhfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfU0NfVFhHIiwJMHg3MWVifSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfSU5URVJDT01fU1RBUlQiLAkweDcxZmR9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9JTlRFUkNPTV9TVE9QIiwJMHg3MWZlfSwKKwl7ImxpbnV4L21zZG9zX2ZzLmgiLAkiVkZBVF9JT0NUTF9SRUFERElSX0JPVEgiLAkweDcyMDF9LAorCXsibGludXgvbXNkb3NfZnMuaCIsCSJWRkFUX0lPQ1RMX1JFQURESVJfU0hPUlQiLAkweDcyMDJ9LAorCXsiYXNtL3NvY2tpb3MuaCIsCSJTSU9DQVRNQVJLIiwJMHg3MzA3fSwKKwl7ImFzbS9zb2NraW9zLmgiLAkiU0lPQ1NQR1JQIiwJMHg3MzA4fSwKKwl7ImFzbS9zb2NraW9zLmgiLAkiU0lPQ0dQR1JQIiwJMHg3MzA5fSwKKwl7ImxpbnV4L2Nkay5oIiwJIlNUTF9CSU5UUiIsCTB4NzMxNH0sCisJeyJsaW51eC9jZGsuaCIsCSJTVExfQlNUQVJUIiwJMHg3MzE1fSwKKwl7ImxpbnV4L2Nkay5oIiwJIlNUTF9CU1RPUCIsCTB4NzMxNn0sCisJeyJsaW51eC9jZGsuaCIsCSJTVExfQlJFU0VUIiwJMHg3MzE3fSwKKwl7ImxpbnV4L2Nkay5oIiwJIlNUTF9HRVRQRkxBRyIsCTB4NzM1MH0sCisJeyJsaW51eC9jZGsuaCIsCSJTVExfU0VUUEZMQUciLAkweDczNTF9LAorCXsiYXNtL3NvY2tpb3MuaCIsCSJTSU9DR1NUQU1QIiwJMHg3MzY0fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUQ0dFVEEiLAkweDc0MTd9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRDU0VUQSIsCTB4NzQxOH0sCisJeyJhc20vaW9jdGxzLmgiLAkiVENTRVRBVyIsCTB4NzQxOX0sCisJeyJhc20vaW9jdGxzLmgiLAkiVENTRVRBRiIsCTB4NzQxY30sCisJeyJhc20vaW9jdGxzLmgiLAkiVENTQlJLIiwJMHg3NDFkfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUQ1hPTkMiLAkweDc0MWV9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRDRkxTSCIsCTB4NzQxZn0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NHQ0hBTiIsCTB4NzQzN30sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NBVFRDSEFOIiwJMHg3NDM4fSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ0RJU0NPTk4iLAkweDc0Mzl9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DQ09OTkVDVCIsCTB4NzQzYX0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NTTVJSVSIsCTB4NzQzYn0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NERVRBQ0giLAkweDc0M2N9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DQVRUQUNIIiwJMHg3NDNkfSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ05FV1VOSVQiLAkweDc0M2V9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DR0lETEUiLAkweDc0M2Z9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DU0RFQlVHIiwJMHg3NDQwfSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ0dERUJVRyIsCTB4NzQ0MX0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NTQUNUSVZFIiwJMHg3NDQ2fSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ1NQQVNTIiwJMHg3NDQ3fSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ1NOUE1PREUiLAkweDc0NGJ9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DR05QTU9ERSIsCTB4NzQ0Y30sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NTQ09NUFJFU1MiLAkweDc0NGR9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DWEZFUlVOSVQiLAkweDc0NGV9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DU1hBU1lOQ01BUCIsCTB4NzQ0Zn0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NHWEFTWU5DTUFQIiwJMHg3NDUwfSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ1NNQVhDSUQiLAkweDc0NTF9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DU01SVSIsCTB4NzQ1Mn0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NHTVJVIiwJMHg3NDUzfSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ1NSQVNZTkNNQVAiLAkweDc0NTR9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DR1JBU1lOQ01BUCIsCTB4NzQ1NX0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NHVU5JVCIsCTB4NzQ1Nn0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NTQVNZTkNNQVAiLAkweDc0NTd9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DR0FTWU5DTUFQIiwJMHg3NDU4fSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ1NGTEFHUyIsCTB4NzQ1OX0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NHRkxBR1MiLAkweDc0NWF9LAorCXsibGludXgvamZmcy5oIiwJIkpGRlNfUFJJTlRfSEFTSCIsCTB4NzQ1YX0sCisJeyJsaW51eC9qZmZzLmgiLAkiSkZGU19QUklOVF9UUkVFIiwJMHg3NDVifSwKKwl7ImxpbnV4L2pmZnMuaCIsCSJKRkZTX0dFVF9TVEFUVVMiLAkweDc0NWN9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NTV0lOU1oiLAkweDc0Njd9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NHV0lOU1oiLAkweDc0Njh9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NTVEFSVCIsCTB4NzQ2ZX0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NUT1AiLAkweDc0NmZ9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NPVVRRIiwJMHg3NDczfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DU1BHUlAiLAkweDc0NzZ9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NHUEdSUCIsCTB4NzQ3N30sCisJeyJsaW51eC9pc2RuX3BwcC5oIiwJIlBQUElPQ0dDQUxMSU5GTyIsCTB4NzQ4MH0sCisJeyJsaW51eC9pc2RuX3BwcC5oIiwJIlBQUElPQ0JVTkRMRSIsCTB4NzQ4MX0sCisJeyJsaW51eC9pc2RuX3BwcC5oIiwJIlBQUElPQ0dNUEZMQUdTIiwJMHg3NDgyfSwKKwl7ImxpbnV4L2lzZG5fcHBwLmgiLAkiUFBQSU9DU01QRkxBR1MiLAkweDc0ODN9LAorCXsibGludXgvaXNkbl9wcHAuaCIsCSJQUFBJT0NTTVBNVFUiLAkweDc0ODR9LAorCXsibGludXgvaXNkbl9wcHAuaCIsCSJQUFBJT0NTTVBNUlUiLAkweDc0ODV9LAorCXsibGludXgvaXNkbl9wcHAuaCIsCSJQUFBJT0NHQ09NUFJFU1NPUlMiLAkweDc0ODZ9LAorCXsibGludXgvaXNkbl9wcHAuaCIsCSJQUFBJT0NTQ09NUFJFU1NPUiIsCTB4NzQ4N30sCisJeyJsaW51eC9pc2RuX3BwcC5oIiwJIlBQUElPQ0dJRk5BTUUiLAkweDc0ODh9LAorCXsibGludXgvdG9zaGliYS5oIiwJIlRPU0hfU01NIiwJMHg3NDkwfSwKKwl7ImxpbnV4L3NtYl9mcy5oIiwJIlNNQl9JT0NfR0VUTU9VTlRVSUQiLAkweDc1MDF9LAorCXsibGludXgvc21iX2ZzLmgiLAkiU01CX0lPQ19ORVdDT05OIiwJMHg3NTAyfSwKKwl7ImxpbnV4L3NtYl9mcy5oIiwJIlNNQl9JT0NfR0VUTU9VTlRVSUQzMiIsCTB4NzUwM30sCisJeyJsaW51eC9zb255cGkuaCIsCSJTT05ZUElfSU9DR0JSVCIsCTB4NzYwMH0sCisJeyJsaW51eC9zb255cGkuaCIsCSJTT05ZUElfSU9DU0JSVCIsCTB4NzYwMH0sCisJeyJsaW51eC9leHQyX2ZzLmgiLAkiRVhUMl9JT0NfR0VUVkVSU0lPTiIsCTB4NzYwMX0sCisJeyJsaW51eC9leHQzX2ZzLmgiLAkiRVhUM19JT0NfR0VUVkVSU0lPTl9PTEQiLAkweDc2MDF9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NHQ0FQIiwJMHg3NjAxfSwKKwl7ImxpbnV4L2V4dDJfZnMuaCIsCSJFWFQyX0lPQ19TRVRWRVJTSU9OIiwJMHg3NjAyfSwKKwl7ImxpbnV4L2V4dDNfZnMuaCIsCSJFWFQzX0lPQ19TRVRWRVJTSU9OX09MRCIsCTB4NzYwMn0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ0dDSEFOIiwJMHg3NjAyfSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DU0NIQU4iLAkweDc2MDN9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NHVFVORVIiLAkweDc2MDR9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NTVFVORVIiLAkweDc2MDV9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NHUElDVCIsCTB4NzYwNn0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ1NQSUNUIiwJMHg3NjA3fSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DQ0FQVFVSRSIsCTB4NzYwOH0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ0dXSU4iLAkweDc2MDl9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NTV0lOIiwJMHg3NjBhfSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DR0ZCVUYiLAkweDc2MGJ9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NTRkJVRiIsCTB4NzYwY30sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ0tFWSIsCTB4NzYwZH0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ0dGUkVRIiwJMHg3NjBlfSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DU0ZSRVEiLAkweDc2MGZ9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NHQVVESU8iLAkweDc2MTB9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NTQVVESU8iLAkweDc2MTF9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NTWU5DIiwJMHg3NjEyfSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DTUNBUFRVUkUiLAkweDc2MTN9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NHTUJVRiIsCTB4NzYxNH0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ0dVTklUIiwJMHg3NjE1fSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DR0NBUFRVUkUiLAkweDc2MTZ9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NTQ0FQVFVSRSIsCTB4NzYxN30sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ1NQTEFZTU9ERSIsCTB4NzYxOH0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ1NXUklURU1PREUiLAkweDc2MTl9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NHUExBWUlORk8iLAkweDc2MWF9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NTTUlDUk9DT0RFIiwJMHg3NjFifSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DR1ZCSUZNVCIsCTB4NzYxY30sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ1NWQklGTVQiLAkweDc2MWR9LAorCXsibGludXgvbWV5ZS5oIiwJIk1FWUVJT0NfR19QQVJBTVMiLAkweDc2YzB9LAorCXsibGludXgvbWV5ZS5oIiwJIk1FWUVJT0NfU19QQVJBTVMiLAkweDc2YzF9LAorCXsibGludXgvbWV5ZS5oIiwJIk1FWUVJT0NfUUJVRl9DQVBUIiwJMHg3NmMyfSwKKwl7ImxpbnV4L21leWUuaCIsCSJNRVlFSU9DX1NZTkMiLAkweDc2YzN9LAorCXsibGludXgvbWV5ZS5oIiwJIk1FWUVJT0NfU1RJTExDQVBUIiwJMHg3NmM0fSwKKwl7ImxpbnV4L21leWUuaCIsCSJNRVlFSU9DX1NUSUxMSkNBUFQiLAkweDc2YzV9LAorCXsibGludXgvZG4uaCIsCSJTSU9DU05FVEFERFIiLAkweDg5ZTB9LAorCXsibGludXgvZG4uaCIsCSJPU0lPQ1NORVRBRERSIiwJMHg4OWUwfSwKKwl7ImxpbnV4L2RuLmgiLAkiU0lPQ0dORVRBRERSIiwJMHg4OWUxfSwKKwl7ImxpbnV4L2RuLmgiLAkiT1NJT0NHTkVUQUREUiIsCTB4ODllMX0sCisJeyJsaW51eC9hdXRvX2ZzLmgiLAkiQVVUT0ZTX0lPQ19SRUFEWSIsCTB4OTM2MH0sCisJeyJsaW51eC9hdXRvX2ZzLmgiLAkiQVVUT0ZTX0lPQ19GQUlMIiwJMHg5MzYxfSwKKwl7ImxpbnV4L2F1dG9fZnMuaCIsCSJBVVRPRlNfSU9DX0NBVEFUT05JQyIsCTB4OTM2Mn0sCisJeyJsaW51eC9hdXRvX2ZzLmgiLAkiQVVUT0ZTX0lPQ19QUk9UT1ZFUiIsCTB4OTM2M30sCisJeyJsaW51eC9hdXRvX2ZzLmgiLAkiQVVUT0ZTX0lPQ19TRVRUSU1FT1VUIiwJMHg5MzY0fSwKKwl7ImxpbnV4L2F1dG9fZnMuaCIsCSJBVVRPRlNfSU9DX0VYUElSRSIsCTB4OTM2NX0sCisJeyJsaW51eC9hdXRvX2ZzNC5oIiwJIkFVVE9GU19JT0NfRVhQSVJFX01VTFRJIiwJMHg5MzY2fSwKKwl7ImxpbnV4L25iZC5oIiwJIk5CRF9TRVRfU09DSyIsCTB4YWIwMH0sCisJeyJsaW51eC9uYmQuaCIsCSJOQkRfU0VUX0JMS1NJWkUiLAkweGFiMDF9LAorCXsibGludXgvbmJkLmgiLAkiTkJEX1NFVF9TSVpFIiwJMHhhYjAyfSwKKwl7ImxpbnV4L25iZC5oIiwJIk5CRF9ET19JVCIsCTB4YWIwM30sCisJeyJsaW51eC9uYmQuaCIsCSJOQkRfQ0xFQVJfU09DSyIsCTB4YWIwNH0sCisJeyJsaW51eC9uYmQuaCIsCSJOQkRfQ0xFQVJfUVVFIiwJMHhhYjA1fSwKKwl7ImxpbnV4L25iZC5oIiwJIk5CRF9QUklOVF9ERUJVRyIsCTB4YWIwNn0sCisJeyJsaW51eC9uYmQuaCIsCSJOQkRfU0VUX1NJWkVfQkxPQ0tTIiwJMHhhYjA3fSwKKwl7ImxpbnV4L25iZC5oIiwJIk5CRF9ESVNDT05ORUNUIiwJMHhhYjA4fSwKKwl7ImxpbnV4L3Jhdy5oIiwJIlJBV19TRVRCSU5EIiwJMHhhYzAwfSwKKwl7ImxpbnV4L3Jhdy5oIiwJIlJBV19HRVRCSU5EIiwJMHhhYzAxfSwKKwl7ImxpbnV4L2lmX3BwcG94LmgiLAkiUFBQT0VJT0NTRldEIiwJMHhiMTAwfSwKKwl7ImxpbnV4L2lmX3BwcG94LmgiLAkiUFBQT0VJT0NERldEIiwJMHhiMTAxfSwKKwl7ImxpbnV4L3JlaXNlcmZzX2ZzLmgiLAkiUkVJU0VSRlNfSU9DX1VOUEFDSyIsCTB4Y2QwMX0sCisJeyJsaW51eC9sdm0uaCIsCSJWR19DUkVBVEVfT0xEIiwJMHhmZTAwfSwKKwl7ImxpbnV4L2x2bS5oIiwJIlZHX1JFTU9WRSIsCTB4ZmUwMX0sCisJeyJsaW51eC9sdm0uaCIsCSJWR19FWFRFTkQiLAkweGZlMDN9LAorCXsibGludXgvbHZtLmgiLAkiVkdfUkVEVUNFIiwJMHhmZTA0fSwKKwl7ImxpbnV4L2x2bS5oIiwJIlZHX1NUQVRVUyIsCTB4ZmUwNX0sCisJeyJsaW51eC9sdm0uaCIsCSJWR19TVEFUVVNfR0VUX0NPVU5UIiwJMHhmZTA2fSwKKwl7ImxpbnV4L2x2bS5oIiwJIlZHX1NUQVRVU19HRVRfTkFNRUxJU1QiLAkweGZlMDd9LAorCXsibGludXgvbHZtLmgiLAkiVkdfU0VUX0VYVEVOREFCTEUiLAkweGZlMDh9LAorCXsibGludXgvbHZtLmgiLAkiVkdfUkVOQU1FIiwJMHhmZTA5fSwKKwl7ImxpbnV4L2x2bS5oIiwJIlZHX0NSRUFURSIsCTB4ZmUwYX0sCisJeyJsaW51eC9sdm0uaCIsCSJMVl9DUkVBVEUiLAkweGZlMjB9LAorCXsibGludXgvbHZtLmgiLAkiTFZfUkVNT1ZFIiwJMHhmZTIxfSwKKwl7ImxpbnV4L2x2bS5oIiwJIkxWX0FDVElWQVRFIiwJMHhmZTIyfSwKKwl7ImxpbnV4L2x2bS5oIiwJIkxWX0RFQUNUSVZBVEUiLAkweGZlMjN9LAorCXsibGludXgvbHZtLmgiLAkiTFZfRVhURU5EIiwJMHhmZTI0fSwKKwl7ImxpbnV4L2x2bS5oIiwJIkxWX1JFRFVDRSIsCTB4ZmUyNX0sCisJeyJsaW51eC9sdm0uaCIsCSJMVl9TVEFUVVNfQllOQU1FIiwJMHhmZTI2fSwKKwl7ImxpbnV4L2x2bS5oIiwJIkxWX1NUQVRVU19CWUlOREVYIiwJMHhmZTI3fSwKKwl7ImxpbnV4L2x2bS5oIiwJIkxWX1NFVF9BQ0NFU1MiLAkweGZlMjh9LAorCXsibGludXgvbHZtLmgiLAkiTFZfU0VUX0FMTE9DQVRJT04iLAkweGZlMjl9LAorCXsibGludXgvbHZtLmgiLAkiTFZfU0VUX1NUQVRVUyIsCTB4ZmUyYX0sCisJeyJsaW51eC9sdm0uaCIsCSJMRV9SRU1BUCIsCTB4ZmUyYn0sCisJeyJsaW51eC9sdm0uaCIsCSJMVl9TTkFQU0hPVF9VU0VfUkFURSIsCTB4ZmUyY30sCisJeyJsaW51eC9sdm0uaCIsCSJMVl9TVEFUVVNfQllERVYiLAkweGZlMmV9LAorCXsibGludXgvbHZtLmgiLAkiTFZfUkVOQU1FIiwJMHhmZTJmfSwKKwl7ImxpbnV4L2x2bS5oIiwJIkxWX0JNQVAiLAkweGZlMzB9LAorCXsibGludXgvbHZtLmgiLAkiUFZfU1RBVFVTIiwJMHhmZTQwfSwKKwl7ImxpbnV4L2x2bS5oIiwJIlBWX0NIQU5HRSIsCTB4ZmU0MX0sCisJeyJsaW51eC9sdm0uaCIsCSJQVl9GTFVTSCIsCTB4ZmU0Mn0sCisJeyJsaW51eC9sdm0uaCIsCSJQRV9MT0NLX1VOTE9DSyIsCTB4ZmU1MH0sCisJeyJsaW51eC9sdm0uaCIsCSJMVk1fR0VUX0lPUF9WRVJTSU9OIiwJMHhmZTk4fSwKKwl7ImxpbnV4L2x2bS5oIiwJIkxWTV9SRVNFVCIsCTB4ZmU5OX0sCisJeyJsaW51eC9sdm0uaCIsCSJMVk1fTE9DS19MVk0iLAkweGZmMDB9LApkaWZmIC0tZ2l0IGEvc3RyYWNlLTQuNS4yMC9saW51eC9zaC9zeXNjYWxsZW50LmggYi9zdHJhY2UtNC41LjIwL2xpbnV4L3NoL3N5c2NhbGxlbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMjkxMTMxCi0tLSAvZGV2L251bGwKKysrIGIvc3RyYWNlLTQuNS4yMC9saW51eC9zaC9zeXNjYWxsZW50LmgKQEAgLTAsMCArMSw0ODggQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDE5OTMgQnJhbmtvIExhbmtlc3RlciA8YnJhbmtvQGhhY2t0aWMubmw+CisgKiBDb3B5cmlnaHQgKGMpIDE5OTMsIDE5OTQsIDE5OTUgUmljayBTbGFka2V5IDxqcnNAd29ybGQuc3RkLmNvbT4KKyAqIENvcHlyaWdodCAoYykgMjAwMCBQb2NrZXRQZW5ndWlucyBJbmMuICBMaW51eCBmb3IgSGl0YWNoaSBTdXBlckgKKyAqICAgICAgICAgICAgICAgICAgICBwb3J0IGJ5IEdyZWcgQmFua3MgPGdiYW5rc0Bwb2NrZXRwZW5ndWlucy5jb20+CisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gVGhlIG5hbWUgb2YgdGhlIGF1dGhvciBtYXkgbm90IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzCisgKiAgICBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBBVVRIT1IgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUyBPUgorICogSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUworICogT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4KKyAqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKKyAqIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVAorICogTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKgorICoJJElkJAorICovCisKKwl7IDAsCTAsCXN5c19yZXN0YXJ0X3N5c2NhbGwsCSJyZXN0YXJ0X3N5c2NhbGwifSwgLyogMCAqLworCXsgMSwJVFAsCXN5c19leGl0LAkJIl9leGl0IgkJfSwgLyogMSAqLworCXsgMCwJVFAsCXN5c19mb3JrLAkJImZvcmsiCQl9LCAvKiAyICovCisJeyAzLAlURCwJc3lzX3JlYWQsCQkicmVhZCIJCX0sIC8qIDMgKi8KKwl7IDMsCVRELAlzeXNfd3JpdGUsCQkid3JpdGUiCQl9LCAvKiA0ICovCisJeyAzLAlURHxURiwJc3lzX29wZW4sCQkib3BlbiIJCX0sIC8qIDUgKi8KKwl7IDEsCVRELAlzeXNfY2xvc2UsCQkiY2xvc2UiCQl9LCAvKiA2ICovCisJeyAzLAlUUCwJc3lzX3dhaXRwaWQsCQkid2FpdHBpZCIJfSwgLyogNyAqLworCXsgMiwJVER8VEYsCXN5c19jcmVhdCwJCSJjcmVhdCIJCX0sIC8qIDggKi8KKwl7IDIsCVRGLAlzeXNfbGluaywJCSJsaW5rIgkJfSwgLyogOSAqLworCXsgMSwJVEYsCXN5c191bmxpbmssCQkidW5saW5rIgl9LCAvKiAxMCAqLworCXsgMywJVEZ8VFAsCXN5c19leGVjdmUsCQkiZXhlY3ZlIgl9LCAvKiAxMSAqLworCXsgMSwJVEYsCXN5c19jaGRpciwJCSJjaGRpciIJCX0sIC8qIDEyICovCisJeyAxLAkwLAlzeXNfdGltZSwJCSJ0aW1lIgkJfSwgLyogMTMgKi8KKwl7IDMsCVRGLAlzeXNfbWtub2QsCQkibWtub2QiCQl9LCAvKiAxNCAqLworCXsgMiwJVEYsCXN5c19jaG1vZCwJCSJjaG1vZCIJCX0sIC8qIDE1ICovCisJeyAzLAlURiwJc3lzX2Nob3duLAkJImxjaG93biIJCX0sIC8qIDE2ICovCisJeyAwLAkwLAlzeXNfYnJlYWssCQkiYnJlYWsiCQl9LCAvKiAxNyAqLworCXsgMiwJVEYsCXN5c19vbGRzdGF0LAkJIm9sZHN0YXQiCX0sIC8qIDE4ICovCisJeyAzLAlURCwJc3lzX2xzZWVrLAkJImxzZWVrIgkJfSwgLyogMTkgKi8KKwl7IDAsCTAsCXN5c19nZXRwaWQsCQkiZ2V0cGlkIgl9LCAvKiAyMCAqLworCXsgNSwJVEYsCXN5c19tb3VudCwJCSJtb3VudCIJCX0sIC8qIDIxICovCisJeyAxLAlURiwJc3lzX3Vtb3VudCwJCSJvbGR1bW91bnQiCX0sIC8qIDIyICovCisJeyAxLAkwLAlzeXNfc2V0dWlkLAkJInNldHVpZCIJfSwgLyogMjMgKi8KKwl7IDAsCTAsCXN5c19nZXR1aWQsCQkiZ2V0dWlkIgl9LCAvKiAyNCAqLworCXsgMSwJMCwJc3lzX3N0aW1lLAkJInN0aW1lIgkJfSwgLyogMjUgKi8KKwl7IDQsCTAsCXN5c19wdHJhY2UsCQkicHRyYWNlIgl9LCAvKiAyNiAqLworCXsgMSwJMCwJc3lzX2FsYXJtLAkJImFsYXJtIgkJfSwgLyogMjcgKi8KKwl7IDIsCVRELAlzeXNfb2xkZnN0YXQsCQkib2xkZnN0YXQiCX0sIC8qIDI4ICovCisJeyAwLAlUUywJc3lzX3BhdXNlLAkJInBhdXNlIgkJfSwgLyogMjkgKi8KKwl7IDIsCVRGLAlzeXNfdXRpbWUsCQkidXRpbWUiCQl9LCAvKiAzMCAqLworCXsgMiwJMCwJc3lzX3N0dHksCQkic3R0eSIJCX0sIC8qIDMxICovCisJeyAyLAkwLAlzeXNfZ3R0eSwJCSJndHR5IgkJfSwgLyogMzIgKi8KKwl7IDIsCVRGLAlzeXNfYWNjZXNzLAkJImFjY2VzcyIJfSwgLyogMzMgKi8KKwl7IDEsCTAsCXN5c19uaWNlLAkJIm5pY2UiCQl9LCAvKiAzNCAqLworCXsgMCwJMCwJc3lzX2Z0aW1lLAkJImZ0aW1lIgkJfSwgLyogMzUgKi8KKwl7IDAsCTAsCXN5c19zeW5jLAkJInN5bmMiCQl9LCAvKiAzNiAqLworCXsgMiwJVFMsCXN5c19raWxsLAkJImtpbGwiCQl9LCAvKiAzNyAqLworCXsgMiwJVEYsCXN5c19yZW5hbWUsCQkicmVuYW1lIgl9LCAvKiAzOCAqLworCXsgMiwJVEYsCXN5c19ta2RpciwJCSJta2RpciIJCX0sIC8qIDM5ICovCisJeyAxLAlURiwJc3lzX3JtZGlyLAkJInJtZGlyIgkJfSwgLyogNDAgKi8KKwl7IDEsCVRELAlzeXNfZHVwLAkJImR1cCIJCX0sIC8qIDQxICovCisJeyAxLAlURCwJc3lzX3BpcGUsCQkicGlwZSIJCX0sIC8qIDQyICovCisJeyAxLAkwLAlzeXNfdGltZXMsCQkidGltZXMiCQl9LCAvKiA0MyAqLworCXsgMCwJMCwJc3lzX3Byb2YsCQkicHJvZiIJCX0sIC8qIDQ0ICovCisJeyAxLAkwLAlzeXNfYnJrLAkJImJyayIJCX0sIC8qIDQ1ICovCisJeyAxLAkwLAlzeXNfc2V0Z2lkLAkJInNldGdpZCIJfSwgLyogNDYgKi8KKwl7IDAsCTAsCXN5c19nZXRnaWQsCQkiZ2V0Z2lkIgl9LCAvKiA0NyAqLworCXsgMywJVFMsCXN5c19zaWduYWwsCQkic2lnbmFsIgl9LCAvKiA0OCAqLworCXsgMCwJMCwJc3lzX2dldGV1aWQsCQkiZ2V0ZXVpZCIJfSwgLyogNDkgKi8KKwl7IDAsCTAsCXN5c19nZXRlZ2lkLAkJImdldGVnaWQiCX0sIC8qIDUwICovCisJeyAxLAlURiwJc3lzX2FjY3QsCQkiYWNjdCIJCX0sIC8qIDUxICovCisJeyAyLAlURiwJc3lzX3Vtb3VudDIsCQkidW1vdW50Igl9LCAvKiA1MiAqLworCXsgMCwJMCwJc3lzX2xvY2ssCQkibG9jayIJCX0sIC8qIDUzICovCisJeyAzLAlURCwJc3lzX2lvY3RsLAkJImlvY3RsIgkJfSwgLyogNTQgKi8KKwl7IDMsCVRELAlzeXNfZmNudGwsCQkiZmNudGwiCQl9LCAvKiA1NSAqLworCXsgMCwJMCwJc3lzX21weCwJCSJtcHgiCQl9LCAvKiA1NiAqLworCXsgMiwJMCwJc3lzX3NldHBnaWQsCQkic2V0cGdpZCIJfSwgLyogNTcgKi8KKwl7IDIsCTAsCXN5c191bGltaXQsCQkidWxpbWl0Igl9LCAvKiA1OCAqLworCXsgMSwJMCwJc3lzX29sZG9sZHVuYW1lLAkib2xkb2xkdW5hbWUiCX0sIC8qIDU5ICovCisJeyAxLAkwLAlzeXNfdW1hc2ssCQkidW1hc2siCQl9LCAvKiA2MCAqLworCXsgMSwJVEYsCXN5c19jaHJvb3QsCQkiY2hyb290Igl9LCAvKiA2MSAqLworCXsgMiwJMCwJc3lzX3VzdGF0LAkJInVzdGF0IgkJfSwgLyogNjIgKi8KKwl7IDIsCVRELAlzeXNfZHVwMiwJCSJkdXAyIgkJfSwgLyogNjMgKi8KKwl7IDAsCTAsCXN5c19nZXRwcGlkLAkJImdldHBwaWQiCX0sIC8qIDY0ICovCisJeyAwLAkwLAlzeXNfZ2V0cGdycCwJCSJnZXRwZ3JwIgl9LCAvKiA2NSAqLworCXsgMCwJMCwJc3lzX3NldHNpZCwJCSJzZXRzaWQiCX0sIC8qIDY2ICovCisJeyAzLAlUUywJc3lzX3NpZ2FjdGlvbiwJCSJzaWdhY3Rpb24iCX0sIC8qIDY3ICovCisJeyAwLAlUUywJc3lzX3NpZ2dldG1hc2ssCQkic2lnZ2V0bWFzayIJfSwgLyogNjggKi8KKwl7IDEsCVRTLAlzeXNfc2lnc2V0bWFzaywJCSJzaWdzZXRtYXNrIgl9LCAvKiA2OSAqLworCXsgMiwJMCwJc3lzX3NldHJldWlkLAkJInNldHJldWlkIgl9LCAvKiA3MCAqLworCXsgMiwJMCwJc3lzX3NldHJlZ2lkLAkJInNldHJlZ2lkIgl9LCAvKiA3MSAqLworCXsgMywJVFMsCXN5c19zaWdzdXNwZW5kLAkJInNpZ3N1c3BlbmQiCX0sIC8qIDcyICovCisJeyAxLAlUUywJc3lzX3NpZ3BlbmRpbmcsCQkic2lncGVuZGluZyIJfSwgLyogNzMgKi8KKwl7IDIsCTAsCXN5c19zZXRob3N0bmFtZSwJInNldGhvc3RuYW1lIgl9LCAvKiA3NCAqLworCXsgMiwJMCwJc3lzX3NldHJsaW1pdCwJCSJzZXRybGltaXQiCX0sIC8qIDc1ICovCisJeyAyLAkwLAlzeXNfZ2V0cmxpbWl0LAkJImdldHJsaW1pdCIJfSwgLyogNzYgKi8KKwl7IDIsCTAsCXN5c19nZXRydXNhZ2UsCQkiZ2V0cnVzYWdlIgl9LCAvKiA3NyAqLworCXsgMiwJMCwJc3lzX2dldHRpbWVvZmRheSwJImdldHRpbWVvZmRheSIJfSwgLyogNzggKi8KKwl7IDIsCTAsCXN5c19zZXR0aW1lb2ZkYXksCSJzZXR0aW1lb2ZkYXkiCX0sIC8qIDc5ICovCisJeyAyLAkwLAlzeXNfZ2V0Z3JvdXBzLAkJImdldGdyb3VwcyIJfSwgLyogODAgKi8KKwl7IDIsCTAsCXN5c19zZXRncm91cHMsCQkic2V0Z3JvdXBzIgl9LCAvKiA4MSAqLworCXsgMSwJVEQsCXN5c19vbGRzZWxlY3QsCQkib2xkc2VsZWN0Igl9LCAvKiA4MiAqLworCXsgMiwJVEYsCXN5c19zeW1saW5rLAkJInN5bWxpbmsiCX0sIC8qIDgzICovCisJeyAyLAlURiwJc3lzX29sZGxzdGF0LAkJIm9sZGxzdGF0Igl9LCAvKiA4NCAqLworCXsgMywJVEYsCXN5c19yZWFkbGluaywJCSJyZWFkbGluayIJfSwgLyogODUgKi8KKwl7IDEsCVRGLAlzeXNfdXNlbGliLAkJInVzZWxpYiIJfSwgLyogODYgKi8KKwl7IDEsCVRGLAlzeXNfc3dhcG9uLAkJInN3YXBvbiIJfSwgLyogODcgKi8KKwl7IDMsCTAsCXN5c19yZWJvb3QsCQkicmVib290Igl9LCAvKiA4OCAqLworCXsgMywJVEQsCXN5c19yZWFkZGlyLAkJInJlYWRkaXIiCX0sIC8qIDg5ICovCisJeyA2LAlURCwJc3lzX29sZF9tbWFwLAkJIm9sZF9tbWFwIiAgIAl9LCAvKiA5MCAqLworCXsgMiwJMCwJc3lzX211bm1hcCwJCSJtdW5tYXAiCX0sIC8qIDkxICovCisJeyAyLAlURiwJc3lzX3RydW5jYXRlLAkJInRydW5jYXRlIgl9LCAvKiA5MiAqLworCXsgMiwJVEQsCXN5c19mdHJ1bmNhdGUsCQkiZnRydW5jYXRlIgl9LCAvKiA5MyAqLworCXsgMiwJVEQsCXN5c19mY2htb2QsCQkiZmNobW9kIgl9LCAvKiA5NCAqLworCXsgMywJVEQsCXN5c19mY2hvd24sCQkiZmNob3duIgl9LCAvKiA5NSAqLworCXsgMiwJMCwJc3lzX2dldHByaW9yaXR5LAkiZ2V0cHJpb3JpdHkiCX0sIC8qIDk2ICovCisJeyAzLAkwLAlzeXNfc2V0cHJpb3JpdHksCSJzZXRwcmlvcml0eSIJfSwgLyogOTcgKi8KKwl7IDQsCTAsCXN5c19wcm9maWwsCQkicHJvZmlsIgl9LCAvKiA5OCAqLworCXsgMiwJVEYsCXN5c19zdGF0ZnMsCQkic3RhdGZzIgl9LCAvKiA5OSAqLworCXsgMiwJVEQsCXN5c19mc3RhdGZzLAkJImZzdGF0ZnMiCX0sIC8qIDEwMCAqLworCXsgMywJMCwJc3lzX2lvcGVybSwJCSJpb3Blcm0iCX0sIC8qIDEwMSAqLworCXsgMiwJVEQsCXN5c19zb2NrZXRjYWxsLAkJInNvY2tldGNhbGwiCX0sIC8qIDEwMiAqLworCXsgMywJMCwJc3lzX3N5c2xvZywJCSJzeXNsb2ciCX0sIC8qIDEwMyAqLworCXsgMywJMCwJc3lzX3NldGl0aW1lciwJCSJzZXRpdGltZXIiCX0sIC8qIDEwNCAqLworCXsgMiwJMCwJc3lzX2dldGl0aW1lciwJCSJnZXRpdGltZXIiCX0sIC8qIDEwNSAqLworCXsgMiwJVEYsCXN5c19zdGF0LAkJInN0YXQiCQl9LCAvKiAxMDYgKi8KKwl7IDIsCVRGLAlzeXNfbHN0YXQsCQkibHN0YXQiCQl9LCAvKiAxMDcgKi8KKwl7IDIsCVRELAlzeXNfZnN0YXQsCQkiZnN0YXQiCQl9LCAvKiAxMDggKi8KKwl7IDEsCTAsCXN5c19vbGR1bmFtZSwJCSJvbGR1bmFtZSIJfSwgLyogMTA5ICovCisJeyAxLAkwLAlzeXNfaW9wbCwJCSJpb3BsIgkJfSwgLyogMTEwICovCisJeyAwLAkwLAlzeXNfdmhhbmd1cCwJCSJ2aGFuZ3VwIgl9LCAvKiAxMTEgKi8KKwl7IDAsCTAsCXN5c19pZGxlLAkJImlkbGUiCQl9LCAvKiAxMTIgKi8KKwl7IDEsCTAsCXN5c192bTg2b2xkLAkJInZtODZvbGQiCX0sIC8qIDExMyAqLworCXsgNCwJVFAsCXN5c193YWl0NCwJCSJ3YWl0NCIJCX0sIC8qIDExNCAqLworCXsgMSwJMCwJc3lzX3N3YXBvZmYsCQkic3dhcG9mZiIJfSwgLyogMTE1ICovCisJeyAxLAkwLAlzeXNfc3lzaW5mbywJCSJzeXNpbmZvIgl9LCAvKiAxMTYgKi8KKwl7IDUsCTAsCXN5c19pcGMsCQkiaXBjIgkJfSwgLyogMTE3ICovCisJeyAxLAlURCwJc3lzX2ZzeW5jLAkJImZzeW5jIgkJfSwgLyogMTE4ICovCisJeyAxLAlUUywJc3lzX3NpZ3JldHVybiwJCSJzaWdyZXR1cm4iCX0sIC8qIDExOSAqLworCXsgNSwJVFAsCXN5c19jbG9uZSwJCSJjbG9uZSIJCX0sIC8qIDEyMCAqLworCXsgMiwJMCwJc3lzX3NldGRvbWFpbm5hbWUsCSJzZXRkb21haW5uYW1lIgl9LCAvKiAxMjEgKi8KKwl7IDEsCTAsCXN5c191bmFtZSwJCSJ1bmFtZSIJCX0sIC8qIDEyMiAqLworCXsgMywJMCwJcHJpbnRhcmdzLAkJImNhY2hlZmx1c2giCX0sIC8qIDEyMyAqLworCXsgMSwJMCwJc3lzX2FkanRpbWV4LAkJImFkanRpbWV4Igl9LCAvKiAxMjQgKi8KKwl7IDMsCTAsCXN5c19tcHJvdGVjdCwJCSJtcHJvdGVjdCIJfSwgLyogMTI1ICovCisJeyAzLAlUUywJc3lzX3NpZ3Byb2NtYXNrLAkic2lncHJvY21hc2siCX0sIC8qIDEyNiAqLworCXsgMiwJMCwJc3lzX2NyZWF0ZV9tb2R1bGUsCSJjcmVhdGVfbW9kdWxlIgl9LCAvKiAxMjcgKi8KKwl7IDMsCTAsCXN5c19pbml0X21vZHVsZSwJImluaXRfbW9kdWxlIgl9LCAvKiAxMjggKi8KKwl7IDIsCTAsCXN5c19kZWxldGVfbW9kdWxlLAkiZGVsZXRlX21vZHVsZSIJfSwgLyogMTI5ICovCisJeyAxLAkwLAlzeXNfZ2V0X2tlcm5lbF9zeW1zLAkiZ2V0X2tlcm5lbF9zeW1zIn0sIC8qIDEzMCAqLworCXsgNCwJMCwJc3lzX3F1b3RhY3RsLAkJInF1b3RhY3RsIgl9LCAvKiAxMzEgKi8KKwl7IDEsCTAsCXN5c19nZXRwZ2lkLAkJImdldHBnaWQiCX0sIC8qIDEzMiAqLworCXsgMSwJVEQsCXN5c19mY2hkaXIsCQkiZmNoZGlyIgl9LCAvKiAxMzMgKi8KKwl7IDAsCTAsCXN5c19iZGZsdXNoLAkJImJkZmx1c2giCX0sIC8qIDEzNCAqLworCXsgMywJMCwJc3lzX3N5c2ZzLAkJInN5c2ZzIgkJfSwgLyogMTM1ICovCisJeyAxLAkwLAlzeXNfcGVyc29uYWxpdHksCSJwZXJzb25hbGl0eSIJfSwgLyogMTM2ICovCisJeyA1LAkwLAlzeXNfYWZzX3N5c2NhbGwsCSJhZnNfc3lzY2FsbCIJfSwgLyogMTM3ICovCisJeyAxLAkwLAlzeXNfc2V0ZnN1aWQsCQkic2V0ZnN1aWQiCX0sIC8qIDEzOCAqLworCXsgMSwJMCwJc3lzX3NldGZzZ2lkLAkJInNldGZzZ2lkIgl9LCAvKiAxMzkgKi8KKwl7IDUsCVRELAlzeXNfbGxzZWVrLAkJIl9sbHNlZWsiCX0sIC8qIDE0MCAqLworCXsgMywJVEQsCXN5c19nZXRkZW50cywJCSJnZXRkZW50cyIJfSwgLyogMTQxICovCisJeyA1LAlURCwJc3lzX3NlbGVjdCwJCSJzZWxlY3QiCX0sIC8qIDE0MiAqLworCXsgMiwJVEQsCXN5c19mbG9jaywJCSJmbG9jayIJCX0sIC8qIDE0MyAqLworCXsgMywJMCwJc3lzX21zeW5jLAkJIm1zeW5jIgkJfSwgLyogMTQ0ICovCisJeyAzLAlURCwJc3lzX3JlYWR2LAkJInJlYWR2IgkJfSwgLyogMTQ1ICovCisJeyAzLAlURCwJc3lzX3dyaXRldiwJCSJ3cml0ZXYiCX0sIC8qIDE0NiAqLworCXsgMSwJMCwJc3lzX2dldHNpZCwJCSJnZXRzaWQiCX0sIC8qIDE0NyAqLworCXsgMSwJVEQsCXN5c19mZGF0YXN5bmMsCQkiZmRhdGFzeW5jIgl9LCAvKiAxNDggKi8KKwl7IDEsCTAsCXN5c19zeXNjdGwsCQkiX3N5c2N0bCIJfSwgLyogMTQ5ICovCisJeyAxLAkwLAlzeXNfbWxvY2ssCQkibWxvY2siCQl9LCAvKiAxNTAgKi8KKwl7IDIsCTAsCXN5c19tdW5sb2NrLAkJIm11bmxvY2siCX0sIC8qIDE1MSAqLworCXsgMiwJMCwJc3lzX21sb2NrYWxsLAkJIm1sb2NrYWxsIgl9LCAvKiAxNTIgKi8KKwl7IDEsCTAsCXN5c19tdW5sb2NrYWxsLAkJIm11bmxvY2thbGwiCX0sIC8qIDE1MyAqLworCXsgMCwJMCwJc3lzX3NjaGVkX3NldHBhcmFtLAkic2NoZWRfc2V0cGFyYW0ifSwgLyogMTU0ICovCisJeyAyLAkwLAlzeXNfc2NoZWRfZ2V0cGFyYW0sCSJzY2hlZF9nZXRwYXJhbSJ9LCAvKiAxNTUgKi8KKwl7IDMsCTAsCXN5c19zY2hlZF9zZXRzY2hlZHVsZXIsCSJzY2hlZF9zZXRzY2hlZHVsZXIifSwgLyogMTU2ICovCisJeyAxLAkwLAlzeXNfc2NoZWRfZ2V0c2NoZWR1bGVyLAkic2NoZWRfZ2V0c2NoZWR1bGVyIn0sIC8qIDE1NyAqLworCXsgMCwJMCwJc3lzX3NjaGVkX3lpZWxkLAkic2NoZWRfeWllbGQifSwgLyogMTU4ICovCisJeyAxLAkwLAlzeXNfc2NoZWRfZ2V0X3ByaW9yaXR5X21heCwic2NoZWRfZ2V0X3ByaW9yaXR5X21heCJ9LCAvKiAxNTkgKi8KKwl7IDEsCTAsCXN5c19zY2hlZF9nZXRfcHJpb3JpdHlfbWluLCJzY2hlZF9nZXRfcHJpb3JpdHlfbWluIn0sIC8qIDE2MCAqLworCXsgMiwJMCwJc3lzX3NjaGVkX3JyX2dldF9pbnRlcnZhbCwic2NoZWRfcnJfZ2V0X2ludGVydmFsIn0sIC8qIDE2MSAqLworCXsgMiwJMCwJc3lzX25hbm9zbGVlcCwJCSJuYW5vc2xlZXAiCX0sIC8qIDE2MiAqLworCXsgNSwJMCwJc3lzX21yZW1hcCwJCSJtcmVtYXAiCX0sIC8qIDE2MyAqLworCXsgMywJMCwJc3lzX3NldHJlc3VpZCwJCSJzZXRyZXN1aWQiCX0sIC8qIDE2NCAqLworCXsgMywJMCwJc3lzX2dldHJlc3VpZCwJCSJnZXRyZXN1aWQiCX0sIC8qIDE2NSAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJInZtODYiCQl9LCAvKiAxNjYgKi8KKwl7IDUsCTAsCXN5c19xdWVyeV9tb2R1bGUsCSJxdWVyeV9tb2R1bGUiCX0sIC8qIDE2NyAqLworCXsgMywJVEQsCXN5c19wb2xsLAkJInBvbGwiCQl9LCAvKiAxNjggKi8KKwl7IDMsCTAsCXByaW50YXJncywJCSJuZnNzZXJ2Y3RsIgl9LCAvKiAxNjkgKi8KKwl7IDMsCTAsCXN5c19zZXRyZXNnaWQsCQkic2V0cmVzZ2lkIgl9LCAvKiAxNzAgKi8KKwl7IDMsCTAsCXN5c19nZXRyZXNnaWQsCQkiZ2V0cmVzZ2lkIgl9LCAvKiAxNzEgKi8KKwl7IDUsCTAsCXN5c19wcmN0bCwJCSJwcmN0bCIJCX0sIC8qIDE3MiAqLworCXsgMSwJVFMsCXByaW50YXJncywJCSJydF9zaWdyZXR1cm4iCX0sIC8qIDE3MyAqLworCXsgNCwJVFMsCXN5c19ydF9zaWdhY3Rpb24sCSJydF9zaWdhY3Rpb24iICB9LCAvKiAxNzQgKi8KKwl7IDQsCVRTLAlzeXNfcnRfc2lncHJvY21hc2ssCSJydF9zaWdwcm9jbWFzayJ9LCAvKiAxNzUgKi8KKwl7IDIsCVRTLAlzeXNfcnRfc2lncGVuZGluZywJInJ0X3NpZ3BlbmRpbmciCX0sIC8qIDE3NiAqLworCXsgNCwJVFMsCXN5c19ydF9zaWd0aW1lZHdhaXQsCSJydF9zaWd0aW1lZHdhaXQifSwgLyogMTc3ICovCisJeyAzLAlUUywJc3lzX3J0X3NpZ3F1ZXVlaW5mbywgICAgInJ0X3NpZ3F1ZXVlaW5mbyJ9LCAvKiAxNzggKi8KKwl7IDIsCVRTLAlzeXNfcnRfc2lnc3VzcGVuZCwJInJ0X3NpZ3N1c3BlbmQiCX0sIC8qIDE3OSAqLworCisJeyA2LAlURCwJc3lzX3ByZWFkLAkJInByZWFkIgkJfSwgLyogMTgwICovCisJeyA2LAlURCwJc3lzX3B3cml0ZSwJCSJwd3JpdGUiCX0sIC8qIDE4MSAqLworCXsgMywJVEYsCXN5c19jaG93biwJCSJjaG93biIJCX0sIC8qIDE4MiAqLworCXsgMiwJMCwJc3lzX2dldGN3ZCwJCSJnZXRjd2QiCX0sIC8qIDE4MyAqLworCXsgMiwJMCwJc3lzX2NhcGdldCwJCSJjYXBnZXQiCX0sIC8qIDE4NCAqLworCXsgMiwJMCwJc3lzX2NhcHNldCwJCSJjYXBzZXQiCX0sIC8qIDE4NSAqLworCXsgMiwJVFMsCXN5c19zaWdhbHRzdGFjaywJInNpZ2FsdHN0YWNrIgl9LCAvKiAxODYgKi8KKwl7IDQsCVREfFROLAlzeXNfc2VuZGZpbGUsCQkic2VuZGZpbGUiCX0sIC8qIDE4NyAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18xODgiCX0sIC8qIDE4OCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18xODkiCX0sIC8qIDE4OSAqLworCXsgMCwJVFAsCXN5c192Zm9yaywJCSJ2Zm9yayIJCX0sIC8qIDE5MCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJImdldHJsaW1pdCIJfSwgLyogMTkxICovCisJeyA2LAkwLAlzeXNfbW1hcCwJCSJtbWFwMiIJCX0sIC8qIDE5MiAqLworCXsgNSwJMCwJc3lzX3RydW5jYXRlNjQsCQkidHJ1bmNhdGU2NCIJfSwgLyogMTkzICovCisJeyA1LAlURCwJc3lzX2Z0cnVuY2F0ZTY0LAkiZnRydW5jYXRlNjQiCX0sIC8qIDE5NCAqLworCXsgMiwJVEYsCXN5c19zdGF0NjQsCQkic3RhdDY0Igl9LCAvKiAxOTUgKi8KKwl7IDIsCVRGLAlzeXNfbHN0YXQ2NCwJCSJsc3RhdDY0Igl9LCAvKiAxOTYgKi8KKwl7IDIsCVRELAlzeXNfZnN0YXQ2NCwJCSJmc3RhdDY0Igl9LCAvKiAxOTcgKi8KKy8qVE9ETyoveyAzLAlURiwJcHJpbnRhcmdzLAkJImxjaG93bjMyIgl9LCAvKiAxOTggKi8KKy8qVE9ETyoveyAwLAkwLAlwcmludGFyZ3MsCQkiZ2V0dWlkMzIiCX0sIC8qIDE5OSAqLworCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiZ2V0Z2lkMzIiCX0sIC8qIDIwMCAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImdldGV1aWQzMiIJfSwgLyogMjAxICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiZ2V0ZWdpZDMyIgl9LCAvKiAyMDIgKi8KKwl7IDIsCTAsCXByaW50YXJncywJCSJzZXRyZXVpZDMyIgl9LCAvKiAyMDMgKi8KKwl7IDIsCTAsCXByaW50YXJncywJCSJzZXRyZWdpZDMyIgl9LCAvKiAyMDQgKi8KKwl7IDIsCTAsCXN5c19nZXRncm91cHMzMiwJImdldGdyb3VwczMyIgl9LCAvKiAyMDUgKi8KKwl7IDIsCTAsCXN5c19zZXRncm91cHMzMiwJInNldGdyb3VwczMyIgl9LCAvKiAyMDYgKi8KKwl7IDMsCTAsCXByaW50YXJncywJCSJmY2hvd24zMiIJfSwgLyogMjA3ICovCisJeyAzLAkwLAlwcmludGFyZ3MsCQkic2V0cmVzdWlkMzIiCX0sIC8qIDIwOCAqLworCXsgMywJMCwJcHJpbnRhcmdzLAkJImdldHJlc3VpZDMyIgl9LCAvKiAyMDkgKi8KKwl7IDMsCTAsCXByaW50YXJncywJCSJzZXRyZXNnaWQzMiIJfSwgLyogMjEwICovCisJeyAzLAkwLAlwcmludGFyZ3MsCQkiZ2V0c2V0Z2lkMzIiCX0sIC8qIDIxMSAqLworCXsgMywJVEYsCXByaW50YXJncywJCSJjaG93bjMyIgl9LCAvKiAyMTIgKi8KKwl7IDEsCTAsCXByaW50YXJncywJCSJzZXR1aWQzMiIJfSwgLyogMjEzICovCisJeyAxLAkwLAlwcmludGFyZ3MsCQkic2V0Z2lkMzIiCX0sIC8qIDIxNCAqLworCXsgMSwJMCwJcHJpbnRhcmdzLAkJInNldGZzdWlkMzIiCX0sIC8qIDIxNSAqLworCXsgMSwJMCwJcHJpbnRhcmdzLAkJInNldGZzZ2lkMzIiCX0sIC8qIDIxNiAqLworCXsgMiwJVEYsCXN5c19waXZvdHJvb3QsCQkicGl2b3Rfcm9vdCIJfSwgLyogMjE3ICovCisJeyAzLAkwLAlwcmludGFyZ3MsCQkibWluY29yZSIJfSwgLyogMjE4ICovCisJeyAzLAkwLAlzeXNfbWFkdmlzZSwJCSJtYWR2aXNlIgl9LCAvKiAyMTkgKi8KKwl7IDMsCVRELAlzeXNfZ2V0ZGVudHM2NCwJCSJnZXRkZW50czY0Igl9LCAvKiAyMjAgKi8KKwl7IDMsCVRELAlzeXNfZmNudGwsCQkiZmNudGw2NCIJfSwgLyogMjIxICovCisJeyA0LAkwLAlwcmludGFyZ3MsCQkiU1lTXzIyMiIJfSwgLyogMjIyICovCisJeyA0LAkwLAlwcmludGFyZ3MsCQkiU1lTXzIyMyIJfSwgLyogMjIzICovCisJeyA0LAkwLAlwcmludGFyZ3MsCQkiZ2V0dGlkIgl9LCAvKiAyMjQgKi8KKwl7IDUsCVRELAlzeXNfcmVhZGFoZWFkLAkJInJlYWRhaGVhZCIJfSwgLyogMjI1ICovCisJeyA1LAlURiwJc3lzX3NldHhhdHRyLAkJInNldHhhdHRyIgl9LCAvKiAyMjYgKi8KKwl7IDUsCVRGLAlzeXNfc2V0eGF0dHIsCQkibHNldHhhdHRyIgl9LCAvKiAyMjcgKi8KKwl7IDUsCVRELAlzeXNfZnNldHhhdHRyLAkJImZzZXR4YXR0ciIJfSwgLyogMjI4ICovCisJeyA0LAlURiwJc3lzX2dldHhhdHRyLAkJImdldHhhdHRyIgl9LCAvKiAyMjkgKi8KKwl7IDQsCVRGLAlzeXNfZ2V0eGF0dHIsCQkibGdldHhhdHRyIgl9LCAvKiAyMzAgKi8KKwl7IDQsCTAsCXN5c19mZ2V0eGF0dHIsCQkiZmdldHhhdHRyIgl9LCAvKiAyMzEgKi8KKwl7IDMsCVRGLAlzeXNfbGlzdHhhdHRyLAkJImxpc3R4YXR0ciIJfSwgLyogMjMyICovCisJeyAzLAlURiwJc3lzX2xpc3R4YXR0ciwJCSJsbGlzdHhhdHRyIgl9LCAvKiAyMzMgKi8KKwl7IDMsCTAsCXN5c19mbGlzdHhhdHRyLAkJImZsaXN0eGF0dHIiCX0sIC8qIDIzNCAqLworCXsgMiwJVEYsCXN5c19yZW1vdmV4YXR0ciwJInJlbW92ZXhhdHRyIgl9LCAvKiAyMzUgKi8KKwl7IDIsCVRGLAlzeXNfcmVtb3ZleGF0dHIsCSJscmVtb3ZleGF0dHIiCX0sIC8qIDIzNiAqLworCXsgMiwJVEQsCXN5c19mcmVtb3ZleGF0dHIsCSJmcmVtb3ZleGF0dHIiCX0sIC8qIDIzNyAqLworCXsgMiwJVEQsCXN5c19raWxsLAkJInRraWxsIgkJfSwgLyogMjM4ICovCisJeyA1LAlURHxUTiwJc3lzX3NlbmRmaWxlNjQsCQkic2VuZGZpbGU2NCIJfSwgLyogMjM5ICovCisJeyA2LAkwLAlzeXNfZnV0ZXgsCQkiZnV0ZXgiCQl9LCAvKiAyNDAgKi8KKwl7IDMsCTAsCXN5c19zY2hlZF9zZXRhZmZpbml0eSwJInNjaGVkX3NldGFmZmluaXR5In0sIC8qIDI0MSAqLworCXsgMywJMCwJc3lzX3NjaGVkX2dldGFmZmluaXR5LAkic2NoZWRfZ2V0YWZmaW5pdHkifSwgLyogMjQyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI0MyIJfSwgLyogMjQzICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI0NCIJfSwgLyogMjQ0ICovCisJeyAyLAkwLAlzeXNfaW9fc2V0dXAsCQkiaW9fc2V0dXAiCX0sIC8qIDI0NSAqLworCXsgMSwJMCwJc3lzX2lvX2Rlc3Ryb3ksCQkiaW9fZGVzdHJveSIJfSwgLyogMjQ2ICovCisJeyA1LAkwLAlzeXNfaW9fZ2V0ZXZlbnRzLAkiaW9fZ2V0ZXZlbnRzIgl9LCAvKiAyNDcgKi8KKwl7IDMsCTAsCXN5c19pb19zdWJtaXQsCQkiaW9fc3VibWl0Igl9LCAvKiAyNDggKi8KKwl7IDMsCTAsCXN5c19pb19jYW5jZWwsCQkiaW9fY2FuY2VsIgl9LCAvKiAyNDkgKi8KKwl7IDUsCTAsCXN5c19mYWR2aXNlNjQsCQkiZmFkdmlzZTY0Igl9LCAvKiAyNTAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMjUxIgl9LCAvKiAyNTEgKi8KKwl7IDEsCVRQLAlzeXNfZXhpdCwJCSJleGl0X2dyb3VwIgl9LCAvKiAyNTIgKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJsb29rdXBfZGNvb2tpZSJ9LCAvKiAyNTMgKi8KKwl7IDEsCTAsCXN5c19lcG9sbF9jcmVhdGUsCSJlcG9sbF9jcmVhdGUiCX0sIC8qIDI1NCAqLworCXsgNCwJVEQsCXN5c19lcG9sbF9jdGwsCQkiZXBvbGxfY3RsIgl9LCAvKiAyNTUgKi8KKwl7IDMsCVRELAlzeXNfZXBvbGxfd2FpdCwJCSJlcG9sbF93YWl0Igl9LCAvKiAyNTYgKi8KKwl7IDUsCTAsCXN5c19yZW1hcF9maWxlX3BhZ2VzLAkicmVtYXBfZmlsZV9wYWdlcyJ9LCAvKiAyNTcgKi8KKwl7IDEsCTAsCXByaW50YXJncywJCSJzZXRfdGlkX2FkZHJlc3MifSwgLyogMjU4ICovCisJeyAzLAkwLAlzeXNfdGltZXJfY3JlYXRlLAkidGltZXJfY3JlYXRlIgl9LCAvKiAyNTkgKi8KKwl7IDQsCTAsCXN5c190aW1lcl9zZXR0aW1lLAkidGltZXJfc2V0dGltZSIJfSwgLyogMjYwICovCisJeyAyLAkwLAlzeXNfdGltZXJfZ2V0dGltZSwJInRpbWVyX2dldHRpbWUiCX0sIC8qIDI2MSAqLworCXsgMSwJMCwJc3lzX3RpbWVyX2dldG92ZXJydW4sCSJ0aW1lcl9nZXRvdmVycnVuIn0sIC8qIDI2MiAqLworCXsgMSwJMCwJc3lzX3RpbWVyX2RlbGV0ZSwJInRpbWVyX2RlbGV0ZSIJfSwgLyogMjYzICovCisJeyAyLAkwLAlzeXNfY2xvY2tfc2V0dGltZSwJImNsb2NrX3NldHRpbWUiCX0sIC8qIDI2NCAqLworCXsgMiwJMCwJc3lzX2Nsb2NrX2dldHRpbWUsCSJjbG9ja19nZXR0aW1lIgl9LCAvKiAyNjUgKi8KKwl7IDIsCTAsCXN5c19jbG9ja19nZXRyZXMsCSJjbG9ja19nZXRyZXMiCX0sIC8qIDI2NiAqLworCXsgNCwJMCwJc3lzX2Nsb2NrX25hbm9zbGVlcCwJImNsb2NrX25hbm9zbGVlcCJ9LCAvKiAyNjcgKi8KKwl7IDMsCVRGLAlzeXNfc3RhdGZzNjQsCQkic3RhdGZzNjQiCX0sIC8qIDI2OCAqLworCXsgMiwJVEQsCXN5c19mc3RhdGZzNjQsCQkiZnN0YXRmczY0Igl9LCAvKiAyNjkgKi8KKwl7IDMsCVRTLAlzeXNfdGdraWxsLAkJInRna2lsbCIJfSwgLyogMjcwICovCisJeyAyLAlURiwJc3lzX3V0aW1lcywJCSJ1dGltZXMiCX0sIC8qIDI3MSAqLworCXsgNiwJMCwJc3lzX2ZhZHZpc2U2NF82NCwJImZhZHZpc2U2NF82NCIJfSwgLyogMjcyICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI3MyIJfSwgLyogMjczICovCisJeyA0LAkwLAlzeXNfbWJpbmQsCQkibWJpbmQiCQl9LCAvKiAyNzQgKi8KKwl7IDUsCTAsCXN5c19nZXRfbWVtcG9saWN5LAkiZ2V0X21lbXBvbGljeSIJfSwgLyogMjc1ICovCisJeyAzLAkwLAlzeXNfc2V0X21lbXBvbGljeSwJInNldF9tZW1wb2xpY3kiCX0sIC8qIDI3NiAqLworCXsgNCwJMCwJc3lzX21xX29wZW4sCQkibXFfb3BlbiIJfSwgLyogMjc3ICovCisJeyAxLAkwLAlzeXNfbXFfdW5saW5rLAkJIm1xX3VubGluayIJfSwgLyogMjc4ICovCisJeyA1LAkwLAlzeXNfbXFfdGltZWRzZW5kLAkibXFfdGltZWRzZW5kIgl9LCAvKiAyNzkgKi8KKwl7IDUsCTAsCXN5c19tcV90aW1lZHJlY2VpdmUsCSJtcV90aW1lZHJlY2VpdmUifSwgLyogMjgwICovCisJeyAyLAkwLAlzeXNfbXFfbm90aWZ5LAkJIm1xX25vdGlmeSIJfSwgLyogMjgxICovCisJeyAzLAkwLAlzeXNfbXFfZ2V0c2V0YXR0ciwJIm1xX2dldHNldGF0dHIiCX0sIC8qIDI4MiAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJImtleGVjX2xvYWQiCX0sIC8qIDI4MyAqLworCXsgNSwJVFAsCXN5c193YWl0aWQsCQkid2FpdGlkIgl9LCAvKiAyODQgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJhZGRfa2V5Igl9LCAvKiAyODUgKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJyZXF1ZXN0X2tleSIJfSwgLyogMjg2ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkia2V5Y3RsIgl9LCAvKiAyODcgKi8KKwl7IDMsCTAsCXByaW50YXJncywJCSJpb3ByaW9fc2V0Igl9LCAvKiAyODggKi8KKwl7IDIsCTAsCXByaW50YXJncywJCSJpb3ByaW9fZ2V0Igl9LCAvKiAyODkgKi8KKwl7IDAsCVRELAlwcmludGFyZ3MsCQkiaW5vdGlmeV9pbml0Igl9LCAvKiAyOTAgKi8KKwl7IDMsCVRELAlzeXNfaW5vdGlmeV9hZGRfd2F0Y2gsCSJpbm90aWZ5X2FkZF93YXRjaCJ9LCAvKiAyOTEgKi8KKwl7IDIsCVRELAlzeXNfaW5vdGlmeV9ybV93YXRjaCwJImlub3RpZnlfcm1fd2F0Y2gifSwgLyogMjkyICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzI5MyIJfSwgLyogMjkzICovCisJeyA0LAkwLAlwcmludGFyZ3MsCQkibWlncmF0ZV9wYWdlcyIJfSwgLyogMjk0ICovCisJeyA0LAlURHxURiwJc3lzX29wZW5hdCwJCSJvcGVuYXQiCX0sIC8qIDI5NSAqLworCXsgMywJVER8VEYsCXN5c19ta2RpcmF0LAkJIm1rZGlyYXQiCX0sIC8qIDI5NiAqLworCXsgNCwJVER8VEYsCXN5c19ta25vZGF0LAkJIm1rbm9kYXQiCX0sIC8qIDI5NyAqLworCXsgNSwJVER8VEYsCXN5c19mY2hvd25hdCwJCSJmY2hvd25hdCIJfSwgLyogMjk4ICovCisJeyAzLAlURHxURiwJc3lzX2Z1dGltZXNhdCwJCSJmdXRpbWVzYXQiCX0sIC8qIDI5OSAqLworCXsgNCwJVER8VEQsCXN5c19uZXdmc3RhdGF0LAkJIm5ld2ZzdGF0YXQiCX0sIC8qIDMwMCAqLworCXsgMywJVER8VEYsCXN5c191bmxpbmthdCwJCSJ1bmxpbmthdCIJfSwgLyogMzAxICovCisJeyA0LAlURHxURiwJc3lzX3JlbmFtZWF0LAkJInJlbmFtZWF0Igl9LCAvKiAzMDIgKi8KKwl7IDUsCVREfFRGLAlzeXNfbGlua2F0LAkJImxpbmthdCIJfSwgLyogMzAzICovCisJeyAzLAlURHxURiwJc3lzX3N5bWxpbmthdCwJCSJzeW1saW5rYXQiCX0sIC8qIDMwNCAqLworCXsgNCwJVER8VEYsCXN5c19yZWFkbGlua2F0LAkJInJlYWRsaW5rYXQiCX0sIC8qIDMwNSAqLworCXsgMywJVER8VEYsCXN5c19mY2htb2RhdCwJCSJmY2htb2RhdCIJfSwgLyogMzA2ICovCisJeyAzLAlURHxURiwJc3lzX2ZhY2Nlc3NhdCwJCSJmYWNjZXNzYXQiCX0sIC8qIDMwNyAqLworCXsgNiwJVEQsCXN5c19wc2VsZWN0NiwJCSJwc2VsZWN0NiIJfSwgLyogMzA4ICovCisJeyA1LAlURCwJc3lzX3Bwb2xsLAkJInBwb2xsIgkJfSwgLyogMzA5ICovCisJeyAxLAlUUCwJc3lzX3Vuc2hhcmUsCQkidW5zaGFyZSIJfSwgLyogMzEwICovCisJeyAyLAkwLAlwcmludGFyZ3MsCQkic2V0X3JvYnVzdF9saXN0In0sIC8qIDMxMSAqLworCXsgMywJMCwJcHJpbnRhcmdzLAkJImdldF9yb2J1c3RfbGlzdCJ9LCAvKiAzMTIgKi8KKwl7IDYsCVRELAlwcmludGFyZ3MsCQkic3BsaWNlIgl9LCAvKiAzMTMgKi8KKwl7IDQsCVRELAlwcmludGFyZ3MsCQkic3luY19maWxlX3JhbmdlIn0sIC8qIDMxNCAqLworCXsgNCwJVEQsCXByaW50YXJncywJCSJ0ZWUiCQl9LCAvKiAzMTUgKi8KKwl7IDUsCVRELAlwcmludGFyZ3MsCQkidm1zcGxpY2UiCX0sIC8qIDMxNiAqLworCXsgNiwJMCwJc3lzX21vdmVfcGFnZXMsCQkibW92ZV9wYWdlcyIJfSwgLyogMzE3ICovCisJeyAzLAkwLAlzeXNfZ2V0Y3B1LAkJImdldGNwdSIJfSwgLyogMzE4ICovCisJeyA1LAlURCwJc3lzX2Vwb2xsX3B3YWl0LAkiZXBvbGxfcHdhaXQiCX0sIC8qIDMxOSAqLworCXsgNCwJVER8VEYsCXN5c191dGltZW5zYXQsCQkidXRpbWVuc2F0Igl9LCAvKiAzMjAgKi8KKwl7IDMsCVREfFRTLAlzeXNfc2lnbmFsZmQsCQkic2lnbmFsZmQiCX0sIC8qIDMyMSAqLworCXsgNCwJVEQsCXN5c190aW1lcmZkLAkJInRpbWVyZmQiCX0sIC8qIDMyMiAqLworCXsgMSwJVEQsCXN5c19ldmVudGZkLAkJImV2ZW50ZmQiCX0sIC8qIDMyMyAqLworCXsgNiwJVEYsCXN5c19mYWxsb2NhdGUsCQkiZmFsbG9jYXRlIgl9LCAvKiAzMjQgKi8KKwl7IDQsCVRELAlzeXNfdGltZXJmZF9zZXR0aW1lLAkidGltZXJmZF9zZXR0aW1lIn0sIC8qIDMyNSAqLworCXsgMiwJVEQsCXN5c190aW1lcmZkX2dldHRpbWUsCSJ0aW1lcmZkX2dldHRpbWUifSwgLyogMzI2ICovCisJeyA0LAlURHxUUywJc3lzX3NpZ25hbGZkNCwJCSJzaWduYWxmZDQiCX0sIC8qIDMyNyAqLworCXsgMiwJVEQsCXN5c19ldmVudGZkMiwJCSJldmVudGZkMiIJfSwgLyogMzI4ICovCisJeyAxLAkwLAlzeXNfZXBvbGxfY3JlYXRlMSwJImVwb2xsX2NyZWF0ZTEiCX0sIC8qIDMyOSAqLworCXsgMywJVEQsCXN5c19kdXAzLAkJImR1cDMiCQl9LCAvKiAzMzAgKi8KKwl7IDIsCVRELAlzeXNfcGlwZTIsCQkicGlwZTIiCQl9LCAvKiAzMzEgKi8KKwl7IDEsCVRELAlzeXNfaW5vdGlmeV9pbml0MSwJImlub3RpZnlfaW5pdDEiCX0sIC8qIDMzMiAqLworCXsgNSwJVEQsCXByaW50YXJncywJCSJwcmVhZHYiCX0sIC8qIDMzMyAqLworCXsgNSwJVEQsCXByaW50YXJncywJCSJwd3JpdGV2Igl9LCAvKiAzMzQgKi8KKwl7IDQsCVRQfFRTLAlwcmludGFyZ3MsCQkicnRfdGdzaWdxdWV1ZWluZm8ifSwgLyogMzM1ICovCisJeyA1LAlURCwJcHJpbnRhcmdzLAkJInBlcmZfZXZlbnRfb3BlbiJ9LCAvKiAzMzYgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzM3Igl9LCAvKiAzMzcgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzM4Igl9LCAvKiAzMzggKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzM5Igl9LCAvKiAzMzkgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzQwIgl9LCAvKiAzNDAgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzQxIgl9LCAvKiAzNDEgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzQyIgl9LCAvKiAzNDIgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzQzIgl9LCAvKiAzNDMgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzQ0Igl9LCAvKiAzNDQgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzQ1Igl9LCAvKiAzNDUgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzQ2Igl9LCAvKiAzNDYgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzQ3Igl9LCAvKiAzNDcgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzQ4Igl9LCAvKiAzNDggKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzQ5Igl9LCAvKiAzNDkgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzUwIgl9LCAvKiAzNTAgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzUxIgl9LCAvKiAzNTEgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzUyIgl9LCAvKiAzNTIgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzUzIgl9LCAvKiAzNTMgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzU0Igl9LCAvKiAzNTQgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzU1Igl9LCAvKiAzNTUgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzU2Igl9LCAvKiAzNTYgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzU3Igl9LCAvKiAzNTcgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzU4Igl9LCAvKiAzNTggKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzU5Igl9LCAvKiAzNTkgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzYwIgl9LCAvKiAzNjAgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzYxIgl9LCAvKiAzNjEgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzYyIgl9LCAvKiAzNjIgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzYzIgl9LCAvKiAzNjMgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzY0Igl9LCAvKiAzNjQgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzY1Igl9LCAvKiAzNjUgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzY2Igl9LCAvKiAzNjYgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzY3Igl9LCAvKiAzNjcgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzY4Igl9LCAvKiAzNjggKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzY5Igl9LCAvKiAzNjkgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzcwIgl9LCAvKiAzNzAgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzcxIgl9LCAvKiAzNzEgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzcyIgl9LCAvKiAzNzIgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzczIgl9LCAvKiAzNzMgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzc0Igl9LCAvKiAzNzQgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzc1Igl9LCAvKiAzNzUgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzc2Igl9LCAvKiAzNzYgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzc3Igl9LCAvKiAzNzcgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzc4Igl9LCAvKiAzNzggKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzc5Igl9LCAvKiAzNzkgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzgwIgl9LCAvKiAzODAgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzgxIgl9LCAvKiAzODEgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzgyIgl9LCAvKiAzODIgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzgzIgl9LCAvKiAzODMgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzg0Igl9LCAvKiAzODQgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzg1Igl9LCAvKiAzODUgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzg2Igl9LCAvKiAzODYgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzg3Igl9LCAvKiAzODcgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzg4Igl9LCAvKiAzODggKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzg5Igl9LCAvKiAzODkgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzkwIgl9LCAvKiAzOTAgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzkxIgl9LCAvKiAzOTEgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzkyIgl9LCAvKiAzOTIgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzkzIgl9LCAvKiAzOTMgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzk0Igl9LCAvKiAzOTQgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzk1Igl9LCAvKiAzOTUgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzk2Igl9LCAvKiAzOTYgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzk3Igl9LCAvKiAzOTcgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzk4Igl9LCAvKiAzOTggKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzk5Igl9LCAvKiAzOTkgKi8KKworI2lmIFNZU19zb2NrZXRfc3ViY2FsbCAhPSA0MDAKKyAjZXJyb3IgZml4IG1lCisjZW5kaWYKKwl7IDgsCTAsCXByaW50YXJncywJCSJzb2NrZXRfc3ViY2FsbCJ9LCAvKiA0MDAgKi8KKwl7IDMsCVROLAlzeXNfc29ja2V0LAkJInNvY2tldCIJfSwgLyogNDAxICovCisJeyAzLAlUTiwJc3lzX2JpbmQsCQkiYmluZCIJCX0sIC8qIDQwMiAqLworCXsgMywJVE4sCXN5c19jb25uZWN0LAkJImNvbm5lY3QiCX0sIC8qIDQwMyAqLworCXsgMiwJVE4sCXN5c19saXN0ZW4sCQkibGlzdGVuIgl9LCAvKiA0MDQgKi8KKwl7IDMsCVROLAlzeXNfYWNjZXB0LAkJImFjY2VwdCIJfSwgLyogNDA1ICovCisJeyAzLAlUTiwJc3lzX2dldHNvY2tuYW1lLAkiZ2V0c29ja25hbWUiCX0sIC8qIDQwNiAqLworCXsgMywJVE4sCXN5c19nZXRwZWVybmFtZSwJImdldHBlZXJuYW1lIgl9LCAvKiA0MDcgKi8KKwl7IDQsCVROLAlzeXNfc29ja2V0cGFpciwJCSJzb2NrZXRwYWlyIgl9LCAvKiA0MDggKi8KKwl7IDQsCVROLAlzeXNfc2VuZCwJCSJzZW5kIgkJfSwgLyogNDA5ICovCisJeyA0LAlUTiwJc3lzX3JlY3YsCQkicmVjdiIJCX0sIC8qIDQxMCAqLworCXsgNiwJVE4sCXN5c19zZW5kdG8sCQkic2VuZHRvIgl9LCAvKiA0MTEgKi8KKwl7IDYsCVROLAlzeXNfcmVjdmZyb20sCQkicmVjdmZyb20iCX0sIC8qIDQxMiAqLworCXsgMiwJVE4sCXN5c19zaHV0ZG93biwJCSJzaHV0ZG93biIJfSwgLyogNDEzICovCisJeyA1LAlUTiwJc3lzX3NldHNvY2tvcHQsCQkic2V0c29ja29wdCIJfSwgLyogNDE0ICovCisJeyA1LAlUTiwJc3lzX2dldHNvY2tvcHQsCQkiZ2V0c29ja29wdCIJfSwgLyogNDE1ICovCisJeyA1LAlUTiwJc3lzX3NlbmRtc2csCQkic2VuZG1zZyIJfSwgLyogNDE2ICovCisJeyA1LAlUTiwJc3lzX3JlY3Ztc2csCQkicmVjdm1zZyIJfSwgLyogNDE3ICovCisJeyA0LAlUTiwJc3lzX2FjY2VwdDQsCQkiYWNjZXB0NCIJfSwgLyogNDE4ICovCisJeyA1LAlUTiwJc3lzX3JlY3ZtbXNnLAkJInJlY3ZtbXNnIgl9LCAvKiA0MTkgKi8KKworI2lmIFNZU19pcGNfc3ViY2FsbCAhPSA0MjAKKyAjZXJyb3IgZml4IG1lCisjZW5kaWYKKworCXsgNCwJMCwJcHJpbnRhcmdzLAkJImlwY19zdWJjYWxsIgl9LCAvKiA0MjAgKi8KKwl7IDQsCVRJLAlzeXNfc2Vtb3AsCQkic2Vtb3AiCQl9LCAvKiA0MjEgKi8KKwl7IDQsCVRJLAlzeXNfc2VtZ2V0LAkJInNlbWdldCIJfSwgLyogNDIyICovCisJeyA0LAlUSSwJc3lzX3NlbWN0bCwJCSJzZW1jdGwiCX0sIC8qIDQyMyAqLworCXsgNSwJVEksCXN5c19zZW10aW1lZG9wLAkJInNlbXRpbWVkb3AiCX0sIC8qIDQyNCAqLworCXsgNCwJMCwJcHJpbnRhcmdzLAkJImlwY19zdWJjYWxsIgl9LCAvKiA0MjUgKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJpcGNfc3ViY2FsbCIJfSwgLyogNDI2ICovCisJeyA0LAkwLAlwcmludGFyZ3MsCQkiaXBjX3N1YmNhbGwiCX0sIC8qIDQyNyAqLworCXsgNCwJMCwJcHJpbnRhcmdzLAkJImlwY19zdWJjYWxsIgl9LCAvKiA0MjggKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJpcGNfc3ViY2FsbCIJfSwgLyogNDI5ICovCisJeyA0LAkwLAlwcmludGFyZ3MsCQkiaXBjX3N1YmNhbGwiCX0sIC8qIDQzMCAqLworCXsgNCwJVEksCXN5c19tc2dzbmQsCQkibXNnc25kIgl9LCAvKiA0MzEgKi8KKwl7IDQsCVRJLAlzeXNfbXNncmN2LAkJIm1zZ3JjdiIJfSwgLyogNDMyICovCisJeyA0LAlUSSwJc3lzX21zZ2dldCwJCSJtc2dnZXQiCX0sIC8qIDQzMyAqLworCXsgNCwJVEksCXN5c19tc2djdGwsCQkibXNnY3RsIgl9LCAvKiA0MzQgKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJpcGNfc3ViY2FsbCIJfSwgLyogNDM1ICovCisJeyA0LAkwLAlwcmludGFyZ3MsCQkiaXBjX3N1YmNhbGwiCX0sIC8qIDQzNiAqLworCXsgNCwJMCwJcHJpbnRhcmdzLAkJImlwY19zdWJjYWxsIgl9LCAvKiA0MzcgKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJpcGNfc3ViY2FsbCIJfSwgLyogNDM4ICovCisJeyA0LAkwLAlwcmludGFyZ3MsCQkiaXBjX3N1YmNhbGwiCX0sIC8qIDQzOSAqLworCXsgNCwJMCwJcHJpbnRhcmdzLAkJImlwY19zdWJjYWxsIgl9LCAvKiA0NDAgKi8KKwl7IDQsCVRJLAlzeXNfc2htYXQsCQkic2htYXQiCQl9LCAvKiA0NDEgKi8KKwl7IDQsCVRJLAlzeXNfc2htZHQsCQkic2htZHQiCQl9LCAvKiA0NDIgKi8KKwl7IDQsCVRJLAlzeXNfc2htZ2V0LAkJInNobWdldCIJfSwgLyogNDQzICovCisJeyA0LAlUSSwJc3lzX3NobWN0bCwJCSJzaG1jdGwiCX0sIC8qIDQ0NCAqLwpkaWZmIC0tZ2l0IGEvc3RyYWNlLTQuNS4yMC9saW51eC9zaDY0L3N5c2NhbGxlbnQuaCBiL3N0cmFjZS00LjUuMjAvbGludXgvc2g2NC9zeXNjYWxsZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2I3Mjg1MgotLS0gL2Rldi9udWxsCisrKyBiL3N0cmFjZS00LjUuMjAvbGludXgvc2g2NC9zeXNjYWxsZW50LmgKQEAgLTAsMCArMSw0NTkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDE5OTMgQnJhbmtvIExhbmtlc3RlciA8YnJhbmtvQGhhY2t0aWMubmw+CisgKiBDb3B5cmlnaHQgKGMpIDE5OTMsIDE5OTQsIDE5OTUgUmljayBTbGFka2V5IDxqcnNAd29ybGQuc3RkLmNvbT4KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBUaGUgbmFtZSBvZiB0aGUgYXV0aG9yIG1heSBub3QgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMKKyAqICAgIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIEFVVEhPUiBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCisgKiBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELgorICogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAorICogSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUCisgKiBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqCisgKgkkSWQkCisgKi8KKworCXsgMCwJMCwJc3lzX3NldHVwLAkJInNldHVwIgkJfSwgLyogMCAqLworCXsgMSwJVFAsCXN5c19leGl0LAkJIl9leGl0IgkJfSwgLyogMSAqLworCXsgMCwJVFAsCXN5c19mb3JrLAkJImZvcmsiCQl9LCAvKiAyICovCisJeyAzLAlURCwJc3lzX3JlYWQsCQkicmVhZCIJCX0sIC8qIDMgKi8KKwl7IDMsCVRELAlzeXNfd3JpdGUsCQkid3JpdGUiCQl9LCAvKiA0ICovCisJeyAzLAlURHxURiwJc3lzX29wZW4sCQkib3BlbiIJCX0sIC8qIDUgKi8KKwl7IDEsCVRELAlzeXNfY2xvc2UsCQkiY2xvc2UiCQl9LCAvKiA2ICovCisJeyAzLAlUUCwJc3lzX3dhaXRwaWQsCQkid2FpdHBpZCIJfSwgLyogNyAqLworCXsgMiwJVER8VEYsCXN5c19jcmVhdCwJCSJjcmVhdCIJCX0sIC8qIDggKi8KKwl7IDIsCVRGLAlzeXNfbGluaywJCSJsaW5rIgkJfSwgLyogOSAqLworCXsgMSwJVEYsCXN5c191bmxpbmssCQkidW5saW5rIgl9LCAvKiAxMCAqLworCXsgMywJVEZ8VFAsCXN5c19leGVjdmUsCQkiZXhlY3ZlIgl9LCAvKiAxMSAqLworCXsgMSwJVEYsCXN5c19jaGRpciwJCSJjaGRpciIJCX0sIC8qIDEyICovCisJeyAxLAkwLAlzeXNfdGltZSwJCSJ0aW1lIgkJfSwgLyogMTMgKi8KKwl7IDMsCVRGLAlzeXNfbWtub2QsCQkibWtub2QiCQl9LCAvKiAxNCAqLworCXsgMiwJVEYsCXN5c19jaG1vZCwJCSJjaG1vZCIJCX0sIC8qIDE1ICovCisJeyAzLAlURiwJc3lzX2Nob3duLAkJImxjaG93biIJfSwgLyogMTYgKi8KKwl7IDAsCTAsCXN5c19icmVhaywJCSJicmVhayIJCX0sIC8qIDE3ICovCisJeyAyLAlURiwJc3lzX29sZHN0YXQsCQkib2xkc3RhdCIJfSwgLyogMTggKi8KKwl7IDMsCVRELAlzeXNfbHNlZWssCQkibHNlZWsiCQl9LCAvKiAxOSAqLworCXsgMCwJMCwJc3lzX2dldHBpZCwJCSJnZXRwaWQiCX0sIC8qIDIwICovCisJeyA1LAlURiwJc3lzX21vdW50LAkJIm1vdW50IgkJfSwgLyogMjEgKi8KKwl7IDEsCVRGLAlzeXNfdW1vdW50LAkJIm9sZHVtb3VudCIJfSwgLyogMjIgKi8KKwl7IDEsCTAsCXN5c19zZXR1aWQsCQkic2V0dWlkIgl9LCAvKiAyMyAqLworCXsgMCwJMCwJc3lzX2dldHVpZCwJCSJnZXR1aWQiCX0sIC8qIDI0ICovCisJeyAxLAkwLAlzeXNfc3RpbWUsCQkic3RpbWUiCQl9LCAvKiAyNSAqLworCXsgNCwJMCwJc3lzX3B0cmFjZSwJCSJwdHJhY2UiCX0sIC8qIDI2ICovCisJeyAxLAkwLAlzeXNfYWxhcm0sCQkiYWxhcm0iCQl9LCAvKiAyNyAqLworCXsgMiwJVEQsCXN5c19vbGRmc3RhdCwJCSJvbGRmc3RhdCIJfSwgLyogMjggKi8KKwl7IDAsCVRTLAlzeXNfcGF1c2UsCQkicGF1c2UiCQl9LCAvKiAyOSAqLworCXsgMiwJVEYsCXN5c191dGltZSwJCSJ1dGltZSIJCX0sIC8qIDMwICovCisJeyAyLAkwLAlzeXNfc3R0eSwJCSJzdHR5IgkJfSwgLyogMzEgKi8KKwl7IDIsCTAsCXN5c19ndHR5LAkJImd0dHkiCQl9LCAvKiAzMiAqLworCXsgMiwJVEYsCXN5c19hY2Nlc3MsCQkiYWNjZXNzIgl9LCAvKiAzMyAqLworCXsgMSwJMCwJc3lzX25pY2UsCQkibmljZSIJCX0sIC8qIDM0ICovCisJeyAwLAkwLAlzeXNfZnRpbWUsCQkiZnRpbWUiCQl9LCAvKiAzNSAqLworCXsgMCwJMCwJc3lzX3N5bmMsCQkic3luYyIJCX0sIC8qIDM2ICovCisJeyAyLAlUUywJc3lzX2tpbGwsCQkia2lsbCIJCX0sIC8qIDM3ICovCisJeyAyLAlURiwJc3lzX3JlbmFtZSwJCSJyZW5hbWUiCX0sIC8qIDM4ICovCisJeyAyLAlURiwJc3lzX21rZGlyLAkJIm1rZGlyIgkJfSwgLyogMzkgKi8KKwl7IDEsCVRGLAlzeXNfcm1kaXIsCQkicm1kaXIiCQl9LCAvKiA0MCAqLworCXsgMSwJVEQsCXN5c19kdXAsCQkiZHVwIgkJfSwgLyogNDEgKi8KKwl7IDEsCVRELAlzeXNfcGlwZSwJCSJwaXBlIgkJfSwgLyogNDIgKi8KKwl7IDEsCTAsCXN5c190aW1lcywJCSJ0aW1lcyIJCX0sIC8qIDQzICovCisJeyAwLAkwLAlzeXNfcHJvZiwJCSJwcm9mIgkJfSwgLyogNDQgKi8KKwl7IDEsCTAsCXN5c19icmssCQkiYnJrIgkJfSwgLyogNDUgKi8KKwl7IDEsCTAsCXN5c19zZXRnaWQsCQkic2V0Z2lkIgl9LCAvKiA0NiAqLworCXsgMCwJMCwJc3lzX2dldGdpZCwJCSJnZXRnaWQiCX0sIC8qIDQ3ICovCisJeyAzLAlUUywJc3lzX3NpZ25hbCwJCSJzaWduYWwiCX0sIC8qIDQ4ICovCisJeyAwLAkwLAlzeXNfZ2V0ZXVpZCwJCSJnZXRldWlkIgl9LCAvKiA0OSAqLworCXsgMCwJMCwJc3lzX2dldGVnaWQsCQkiZ2V0ZWdpZCIJfSwgLyogNTAgKi8KKwl7IDEsCVRGLAlzeXNfYWNjdCwJCSJhY2N0IgkJfSwgLyogNTEgKi8KKwl7IDIsCVRGLAlzeXNfdW1vdW50MiwJCSJ1bW91bnQiCX0sIC8qIDUyICovCisJeyAwLAkwLAlzeXNfbG9jaywJCSJsb2NrIgkJfSwgLyogNTMgKi8KKwl7IDMsCVRELAlzeXNfaW9jdGwsCQkiaW9jdGwiCQl9LCAvKiA1NCAqLworCXsgMywJVEQsCXN5c19mY250bCwJCSJmY250bCIJCX0sIC8qIDU1ICovCisJeyAwLAkwLAlzeXNfbXB4LAkJIm1weCIJCX0sIC8qIDU2ICovCisJeyAyLAkwLAlzeXNfc2V0cGdpZCwJCSJzZXRwZ2lkIgl9LCAvKiA1NyAqLworCXsgMiwJMCwJc3lzX3VsaW1pdCwJCSJ1bGltaXQiCX0sIC8qIDU4ICovCisJeyAxLAkwLAlzeXNfb2xkb2xkdW5hbWUsCSJvbGRvbGR1bmFtZSIJfSwgLyogNTkgKi8KKwl7IDEsCTAsCXN5c191bWFzaywJCSJ1bWFzayIJCX0sIC8qIDYwICovCisJeyAxLAlURiwJc3lzX2Nocm9vdCwJCSJjaHJvb3QiCX0sIC8qIDYxICovCisJeyAyLAkwLAlzeXNfdXN0YXQsCQkidXN0YXQiCQl9LCAvKiA2MiAqLworCXsgMiwJVEQsCXN5c19kdXAyLAkJImR1cDIiCQl9LCAvKiA2MyAqLworCXsgMCwJMCwJc3lzX2dldHBwaWQsCQkiZ2V0cHBpZCIJfSwgLyogNjQgKi8KKwl7IDAsCTAsCXN5c19nZXRwZ3JwLAkJImdldHBncnAiCX0sIC8qIDY1ICovCisJeyAwLAkwLAlzeXNfc2V0c2lkLAkJInNldHNpZCIJfSwgLyogNjYgKi8KKwl7IDMsCVRTLAlzeXNfc2lnYWN0aW9uLAkJInNpZ2FjdGlvbiIJfSwgLyogNjcgKi8KKwl7IDAsCVRTLAlzeXNfc2lnZ2V0bWFzaywJCSJzaWdnZXRtYXNrIgl9LCAvKiA2OCAqLworCXsgMSwJVFMsCXN5c19zaWdzZXRtYXNrLAkJInNpZ3NldG1hc2siCX0sIC8qIDY5ICovCisJeyAyLAkwLAlzeXNfc2V0cmV1aWQsCQkic2V0cmV1aWQiCX0sIC8qIDcwICovCisJeyAyLAkwLAlzeXNfc2V0cmVnaWQsCQkic2V0cmVnaWQiCX0sIC8qIDcxICovCisJeyAzLAlUUywJc3lzX3NpZ3N1c3BlbmQsCQkic2lnc3VzcGVuZCIJfSwgLyogNzIgKi8KKwl7IDEsCVRTLAlzeXNfc2lncGVuZGluZywJCSJzaWdwZW5kaW5nIgl9LCAvKiA3MyAqLworCXsgMiwJMCwJc3lzX3NldGhvc3RuYW1lLAkic2V0aG9zdG5hbWUiCX0sIC8qIDc0ICovCisJeyAyLAkwLAlzeXNfc2V0cmxpbWl0LAkJInNldHJsaW1pdCIJfSwgLyogNzUgKi8KKwl7IDIsCTAsCXN5c19nZXRybGltaXQsCQkiZ2V0cmxpbWl0Igl9LCAvKiA3NiAqLworCXsgMiwJMCwJc3lzX2dldHJ1c2FnZSwJCSJnZXRydXNhZ2UiCX0sIC8qIDc3ICovCisJeyAyLAkwLAlzeXNfZ2V0dGltZW9mZGF5LAkiZ2V0dGltZW9mZGF5Igl9LCAvKiA3OCAqLworCXsgMiwJMCwJc3lzX3NldHRpbWVvZmRheSwJInNldHRpbWVvZmRheSIJfSwgLyogNzkgKi8KKwl7IDIsCTAsCXN5c19nZXRncm91cHMsCQkiZ2V0Z3JvdXBzIgl9LCAvKiA4MCAqLworCXsgMiwJMCwJc3lzX3NldGdyb3VwcywJCSJzZXRncm91cHMiCX0sIC8qIDgxICovCisJeyAxLAlURCwJc3lzX29sZHNlbGVjdCwJCSJvbGRzZWxlY3QiCX0sIC8qIDgyICovCisJeyAyLAlURiwJc3lzX3N5bWxpbmssCQkic3ltbGluayIJfSwgLyogODMgKi8KKwl7IDIsCVRGLAlzeXNfb2xkbHN0YXQsCQkib2xkbHN0YXQiCX0sIC8qIDg0ICovCisJeyAzLAlURiwJc3lzX3JlYWRsaW5rLAkJInJlYWRsaW5rIgl9LCAvKiA4NSAqLworCXsgMSwJVEYsCXN5c191c2VsaWIsCQkidXNlbGliIgl9LCAvKiA4NiAqLworCXsgMSwJVEYsCXN5c19zd2Fwb24sCQkic3dhcG9uIgl9LCAvKiA4NyAqLworCXsgMywJMCwJc3lzX3JlYm9vdCwJCSJyZWJvb3QiCX0sIC8qIDg4ICovCisJeyAzLAlURCwJc3lzX3JlYWRkaXIsCQkicmVhZGRpciIJfSwgLyogODkgKi8KKwl7IDYsCVRELAlzeXNfb2xkX21tYXAsCQkib2xkX21tYXAiCX0sIC8qIDkwICovCisJeyAyLAkwLAlzeXNfbXVubWFwLAkJIm11bm1hcCIJfSwgLyogOTEgKi8KKwl7IDIsCVRGLAlzeXNfdHJ1bmNhdGUsCQkidHJ1bmNhdGUiCX0sIC8qIDkyICovCisJeyAyLAlURCwJc3lzX2Z0cnVuY2F0ZSwJCSJmdHJ1bmNhdGUiCX0sIC8qIDkzICovCisJeyAyLAlURCwJc3lzX2ZjaG1vZCwJCSJmY2htb2QiCX0sIC8qIDk0ICovCisJeyAzLAlURCwJc3lzX2ZjaG93biwJCSJmY2hvd24iCX0sIC8qIDk1ICovCisJeyAyLAkwLAlzeXNfZ2V0cHJpb3JpdHksCSJnZXRwcmlvcml0eSIJfSwgLyogOTYgKi8KKwl7IDMsCTAsCXN5c19zZXRwcmlvcml0eSwJInNldHByaW9yaXR5Igl9LCAvKiA5NyAqLworCXsgNCwJMCwJc3lzX3Byb2ZpbCwJCSJwcm9maWwiCX0sIC8qIDk4ICovCisJeyAyLAlURiwJc3lzX3N0YXRmcywJCSJzdGF0ZnMiCX0sIC8qIDk5ICovCisJeyAyLAlURCwJc3lzX2ZzdGF0ZnMsCQkiZnN0YXRmcyIJfSwgLyogMTAwICovCisJeyAzLAkwLAlzeXNfaW9wZXJtLAkJImlvcGVybSIJfSwgLyogMTAxICovCisJeyAyLAlURCwJc3lzX3NvY2tldGNhbGwsCQkic29ja2V0Y2FsbCIJfSwgLyogMTAyICovCisJeyAzLAkwLAlzeXNfc3lzbG9nLAkJInN5c2xvZyIJfSwgLyogMTAzICovCisJeyAzLAkwLAlzeXNfc2V0aXRpbWVyLAkJInNldGl0aW1lciIJfSwgLyogMTA0ICovCisJeyAyLAkwLAlzeXNfZ2V0aXRpbWVyLAkJImdldGl0aW1lciIJfSwgLyogMTA1ICovCisJeyAyLAlURiwJc3lzX3N0YXQsCQkic3RhdCIJCX0sIC8qIDEwNiAqLworCXsgMiwJVEYsCXN5c19sc3RhdCwJCSJsc3RhdCIJCX0sIC8qIDEwNyAqLworCXsgMiwJVEQsCXN5c19mc3RhdCwJCSJmc3RhdCIJCX0sIC8qIDEwOCAqLworCXsgMSwJMCwJc3lzX29sZHVuYW1lLAkJIm9sZHVuYW1lIgl9LCAvKiAxMDkgKi8KKwl7IDEsCTAsCXN5c19pb3BsLAkJImlvcGwiCQl9LCAvKiAxMTAgKi8KKwl7IDAsCTAsCXN5c192aGFuZ3VwLAkJInZoYW5ndXAiCX0sIC8qIDExMSAqLworCXsgMCwJMCwJc3lzX2lkbGUsCQkiaWRsZSIJCX0sIC8qIDExMiAqLworCXsgMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMTMiCX0sIC8qIDExMyAqLworCXsgNCwJVFAsCXN5c193YWl0NCwJCSJ3YWl0NCIJCX0sIC8qIDExNCAqLworCXsgMSwJMCwJc3lzX3N3YXBvZmYsCQkic3dhcG9mZiIJfSwgLyogMTE1ICovCisJeyAxLAkwLAlzeXNfc3lzaW5mbywJCSJzeXNpbmZvIgl9LCAvKiAxMTYgKi8KKwl7IDUsCTAsCXN5c19pcGMsCQkiaXBjIgkJfSwgLyogMTE3ICovCisJeyAxLAlURCwJc3lzX2ZzeW5jLAkJImZzeW5jIgkJfSwgLyogMTE4ICovCisJeyAxLAlUUywJc3lzX3NpZ3JldHVybiwJCSJzaWdyZXR1cm4iCX0sIC8qIDExOSAqLworCXsgNSwJVFAsCXN5c19jbG9uZSwJCSJjbG9uZSIJCX0sIC8qIDEyMCAqLworCXsgMiwJMCwJc3lzX3NldGRvbWFpbm5hbWUsCSJzZXRkb21haW5uYW1lIgl9LCAvKiAxMjEgKi8KKwl7IDEsCTAsCXN5c191bmFtZSwJCSJ1bmFtZSIJCX0sIC8qIDEyMiAqLworCXsgMywJMCwJcHJpbnRhcmdzLAkJImNhY2hlZmx1c2giCX0sIC8qIDEyMyAqLworCXsgMSwJMCwJc3lzX2FkanRpbWV4LAkJImFkanRpbWV4Igl9LCAvKiAxMjQgKi8KKwl7IDMsCTAsCXN5c19tcHJvdGVjdCwJCSJtcHJvdGVjdCIJfSwgLyogMTI1ICovCisJeyAzLAlUUywJc3lzX3NpZ3Byb2NtYXNrLAkic2lncHJvY21hc2siCX0sIC8qIDEyNiAqLworCXsgMiwJMCwJc3lzX2NyZWF0ZV9tb2R1bGUsCSJjcmVhdGVfbW9kdWxlIgl9LCAvKiAxMjcgKi8KKwl7IDMsCTAsCXN5c19pbml0X21vZHVsZSwJImluaXRfbW9kdWxlIgl9LCAvKiAxMjggKi8KKwl7IDIsCTAsCXN5c19kZWxldGVfbW9kdWxlLAkiZGVsZXRlX21vZHVsZSIJfSwgLyogMTI5ICovCisJeyAxLAkwLAlzeXNfZ2V0X2tlcm5lbF9zeW1zLAkiZ2V0X2tlcm5lbF9zeW1zIn0sIC8qIDEzMCAqLworCXsgNCwJMCwJc3lzX3F1b3RhY3RsLAkJInF1b3RhY3RsIgl9LCAvKiAxMzEgKi8KKwl7IDEsCTAsCXN5c19nZXRwZ2lkLAkJImdldHBnaWQiCX0sIC8qIDEzMiAqLworCXsgMSwJVEQsCXN5c19mY2hkaXIsCQkiZmNoZGlyIgl9LCAvKiAxMzMgKi8KKwl7IDAsCTAsCXN5c19iZGZsdXNoLAkJImJkZmx1c2giCX0sIC8qIDEzNCAqLworCXsgMywJMCwJc3lzX3N5c2ZzLAkJInN5c2ZzIgkJfSwgLyogMTM1ICovCisJeyAxLAkwLAlzeXNfcGVyc29uYWxpdHksCSJwZXJzb25hbGl0eSIJfSwgLyogMTM2ICovCisJeyA1LAkwLAlzeXNfYWZzX3N5c2NhbGwsCSJhZnNfc3lzY2FsbCIJfSwgLyogMTM3ICovCisJeyAxLAkwLAlzeXNfc2V0ZnN1aWQsCQkic2V0ZnN1aWQiCX0sIC8qIDEzOCAqLworCXsgMSwJMCwJc3lzX3NldGZzZ2lkLAkJInNldGZzZ2lkIgl9LCAvKiAxMzkgKi8KKwl7IDUsCVRELAlzeXNfbGxzZWVrLAkJIl9sbHNlZWsiCX0sIC8qIDE0MCAqLworCXsgMywJVEQsCXN5c19nZXRkZW50cywJCSJnZXRkZW50cyIJfSwgLyogMTQxICovCisJeyA1LAlURCwJc3lzX3NlbGVjdCwJCSJzZWxlY3QiCX0sIC8qIDE0MiAqLworCXsgMiwJVEQsCXN5c19mbG9jaywJCSJmbG9jayIJCX0sIC8qIDE0MyAqLworCXsgMywJMCwJc3lzX21zeW5jLAkJIm1zeW5jIgkJfSwgLyogMTQ0ICovCisJeyAzLAlURCwJc3lzX3JlYWR2LAkJInJlYWR2IgkJfSwgLyogMTQ1ICovCisJeyAzLAlURCwJc3lzX3dyaXRldiwJCSJ3cml0ZXYiCX0sIC8qIDE0NiAqLworCXsgMSwJMCwJc3lzX2dldHNpZCwJCSJnZXRzaWQiCX0sIC8qIDE0NyAqLworCXsgMSwJVEQsCXN5c19mZGF0YXN5bmMsCQkiZmRhdGFzeW5jIgl9LCAvKiAxNDggKi8KKwl7IDEsCTAsCXN5c19zeXNjdGwsCQkiX3N5c2N0bCIJfSwgLyogMTQ5ICovCisJeyAxLAkwLAlzeXNfbWxvY2ssCQkibWxvY2siCQl9LCAvKiAxNTAgKi8KKwl7IDIsCTAsCXN5c19tdW5sb2NrLAkJIm11bmxvY2siCX0sIC8qIDE1MSAqLworCXsgMiwJMCwJc3lzX21sb2NrYWxsLAkJIm1sb2NrYWxsIgl9LCAvKiAxNTIgKi8KKwl7IDAsCTAsCXN5c19tdW5sb2NrYWxsLAkJIm11bmxvY2thbGwiCX0sIC8qIDE1MyAqLworCXsgMCwJMCwJc3lzX3NjaGVkX3NldHBhcmFtLAkic2NoZWRfc2V0cGFyYW0ifSwgLyogMTU0ICovCisJeyAyLAkwLAlzeXNfc2NoZWRfZ2V0cGFyYW0sCSJzY2hlZF9nZXRwYXJhbSJ9LCAvKiAxNTUgKi8KKwl7IDMsCTAsCXN5c19zY2hlZF9zZXRzY2hlZHVsZXIsCSJzY2hlZF9zZXRzY2hlZHVsZXIifSwgLyogMTU2ICovCisJeyAxLAkwLAlzeXNfc2NoZWRfZ2V0c2NoZWR1bGVyLAkic2NoZWRfZ2V0c2NoZWR1bGVyIn0sIC8qIDE1NyAqLworCXsgMCwJMCwJc3lzX3NjaGVkX3lpZWxkLAkic2NoZWRfeWllbGQifSwgLyogMTU4ICovCisJeyAxLAkwLAlzeXNfc2NoZWRfZ2V0X3ByaW9yaXR5X21heCwic2NoZWRfZ2V0X3ByaW9yaXR5X21heCJ9LCAvKiAxNTkgKi8KKwl7IDEsCTAsCXN5c19zY2hlZF9nZXRfcHJpb3JpdHlfbWluLCJzY2hlZF9nZXRfcHJpb3JpdHlfbWluIn0sIC8qIDE2MCAqLworCXsgMiwJMCwJc3lzX3NjaGVkX3JyX2dldF9pbnRlcnZhbCwic2NoZWRfcnJfZ2V0X2ludGVydmFsIn0sIC8qIDE2MSAqLworCXsgMiwJMCwJc3lzX25hbm9zbGVlcCwJCSJuYW5vc2xlZXAiCX0sIC8qIDE2MiAqLworCXsgNSwJMCwJc3lzX21yZW1hcCwJCSJtcmVtYXAiCX0sIC8qIDE2MyAqLworCXsgMywJMCwJc3lzX3NldHJlc3VpZCwJCSJzZXRyZXN1aWQiCX0sIC8qIDE2NCAqLworCXsgMywJMCwJc3lzX2dldHJlc3VpZCwJCSJnZXRyZXN1aWQiCX0sIC8qIDE2NSAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNjYiCX0sIC8qIDE2NiAqLworCXsgNSwJMCwJc3lzX3F1ZXJ5X21vZHVsZSwJInF1ZXJ5X21vZHVsZSIJfSwgLyogMTY3ICovCisJeyAzLAlURCwJc3lzX3BvbGwsCQkicG9sbCIJCX0sIC8qIDE2OCAqLworCXsgMywJMCwJcHJpbnRhcmdzLAkJIm5mc3NlcnZjdGwiCX0sIC8qIDE2OSAqLworCXsgMywJMCwJc3lzX3NldHJlc2dpZCwJCSJzZXRyZXNnaWQiCX0sIC8qIDE3MCAqLworCXsgMywJMCwJc3lzX2dldHJlc2dpZCwJCSJnZXRyZXNnaWQiCX0sIC8qIDE3MSAqLworCXsgNSwJMCwJc3lzX3ByY3RsLAkJInByY3RsIgkJfSwgLyogMTcyICovCisJeyAxLAlUUywJcHJpbnRhcmdzLAkJInJ0X3NpZ3JldHVybiIJfSwgLyogMTczICovCisJeyA0LAlUUywJc3lzX3J0X3NpZ2FjdGlvbiwJInJ0X3NpZ2FjdGlvbiIgIH0sIC8qIDE3NCAqLworCXsgNCwJVFMsCXN5c19ydF9zaWdwcm9jbWFzaywJInJ0X3NpZ3Byb2NtYXNrIn0sIC8qIDE3NSAqLworCXsgMiwJVFMsCXN5c19ydF9zaWdwZW5kaW5nLAkicnRfc2lncGVuZGluZyIJfSwgLyogMTc2ICovCisJeyA0LAlUUywJc3lzX3J0X3NpZ3RpbWVkd2FpdCwJInJ0X3NpZ3RpbWVkd2FpdCJ9LCAvKiAxNzcgKi8KKwl7IDMsCVRTLAlzeXNfcnRfc2lncXVldWVpbmZvLCAgICAicnRfc2lncXVldWVpbmZvIn0sIC8qIDE3OCAqLworCXsgMiwJVFMsCXN5c19ydF9zaWdzdXNwZW5kLAkicnRfc2lnc3VzcGVuZCIJfSwgLyogMTc5ICovCisJeyA1LAlURCwJc3lzX3ByZWFkLAkJInByZWFkIgkJfSwgLyogMTgwICovCisJeyA1LAlURCwJc3lzX3B3cml0ZSwJCSJwd3JpdGUiCX0sIC8qIDE4MSAqLworCXsgMywJVEYsCXN5c19jaG93biwJCSJjaG93biIJCX0sIC8qIDE4MiAqLworCXsgMiwJVEYsCXN5c19nZXRjd2QsCQkiZ2V0Y3dkIgl9LCAvKiAxODMgKi8KKwl7IDIsCTAsCXN5c19jYXBnZXQsCQkiY2FwZ2V0Igl9LCAvKiAxODQgKi8KKwl7IDIsCTAsCXN5c19jYXBzZXQsCQkiY2Fwc2V0Igl9LCAvKiAxODUgKi8KKwl7IDIsCVRTLAlzeXNfc2lnYWx0c3RhY2ssCSJzaWdhbHRzdGFjayIJfSwgLyogMTg2ICovCisJeyA0LAlURHxUTiwJc3lzX3NlbmRmaWxlLAkJInNlbmRmaWxlIgl9LCAvKiAxODcgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMTg4Igl9LCAvKiAxODggKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMTg5Igl9LCAvKiAxODkgKi8KKwl7IDAsCVRQLAlzeXNfdmZvcmssCQkidmZvcmsiCQl9LCAvKiAxOTAgKi8KKwl7IDIsCTAsCXByaW50YXJncywJCSJnZXRybGltaXQiCX0sIC8qIDE5MSAqLworCXsgNiwJMCwJc3lzX21tYXAsCQkibW1hcDIiCQl9LCAvKiAxOTIgKi8KKwl7IDIsCVRGLAlzeXNfdHJ1bmNhdGU2NCwJCSJ0cnVuY2F0ZTY0Igl9LCAvKiAxOTMgKi8KKwl7IDIsCVRELAlzeXNfZnRydW5jYXRlNjQsCSJmdHJ1bmNhdGU2NCIJfSwgLyogMTk0ICovCisJeyAyLAlURiwJc3lzX3N0YXQ2NCwJCSJzdGF0NjQiCX0sIC8qIDE5NSAqLworCXsgMiwJVEYsCXN5c19sc3RhdDY0LAkJImxzdGF0NjQiCX0sIC8qIDE5NiAqLworCXsgMiwJVEQsCXN5c19mc3RhdDY0LAkJImZzdGF0NjQiCX0sIC8qIDE5NyAqLworCXsgMywJVEYsCXN5c19jaG93biwJCSJsY2hvd24zMiIJfSwgLyogMTk4ICovCisJeyAwLAkwLAlzeXNfZ2V0dWlkLAkJImdldHVpZDMyIgl9LCAvKiAxOTkgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJnZXRnaWQzMiIJfSwgLyogMjAwICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiZ2V0ZXVpZDMyIgl9LCAvKiAyMDEgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJnZXRlZ2lkMzIiCX0sIC8qIDIwMiAqLworCXsgMiwJMCwJcHJpbnRhcmdzLAkJInNldHJldWlkMzIiCX0sIC8qIDIwMyAqLworCXsgMiwJMCwJcHJpbnRhcmdzLAkJInNldHJlZ2lkMzIiCX0sIC8qIDIwNCAqLworCXsgMiwJMCwJc3lzX2dldGdyb3VwczMyLAkiZ2V0Z3JvdXBzMzIiCX0sIC8qIDIwNSAqLworCXsgMiwJMCwJc3lzX3NldGdyb3VwczMyLAkic2V0Z3JvdXBzMzIiCX0sIC8qIDIwNiAqLworCXsgMywJMCwJcHJpbnRhcmdzLAkJImZjaG93bjMyIgl9LCAvKiAyMDcgKi8KKwl7IDMsCTAsCXByaW50YXJncywJCSJzZXRyZXN1aWQzMiIJfSwgLyogMjA4ICovCisJeyAzLAkwLAlwcmludGFyZ3MsCQkiZ2V0cmVzdWlkMzIiCX0sIC8qIDIwOSAqLworCXsgMywJMCwJcHJpbnRhcmdzLAkJInNldHJlc2dpZDMyIgl9LCAvKiAyMTAgKi8KKwl7IDMsCTAsCXByaW50YXJncywJCSJnZXRyZXNnaWQzMiIJfSwgLyogMjExICovCisJeyAzLAlURiwJcHJpbnRhcmdzLAkJImNob3duMzIiCX0sIC8qIDIxMiAqLworCXsgMSwJMCwJcHJpbnRhcmdzLAkJInNldHVpZDMyIgl9LCAvKiAyMTMgKi8KKwl7IDEsCTAsCXByaW50YXJncywJCSJzZXRnaWQzMiIJfSwgLyogMjE0ICovCisJeyAxLAkwLAlwcmludGFyZ3MsCQkic2V0ZnN1aWQzMiIJfSwgLyogMjE1ICovCisJeyAxLAkwLAlwcmludGFyZ3MsCQkic2V0ZnNnaWQzMiIJfSwgLyogMjE2ICovCisJeyAyLAlURiwJc3lzX3Bpdm90cm9vdCwJCSJwaXZvdF9yb290Igl9LCAvKiAyMTcgKi8KKwl7IDMsCTAsCXByaW50YXJncywJCSJtaW5jb3JlIgl9LCAvKiAyMTggKi8KKwl7IDMsCTAsCXN5c19tYWR2aXNlLAkJIm1hZHZpc2UiCX0sIC8qIDIxOSAqLworCXsgMywJVE4sCXN5c19zb2NrZXQsCQkic29ja2V0Igl9LCAvKiAyMjAgKi8KKwl7IDMsCVROLAlzeXNfYmluZCwJCSJiaW5kIgkJfSwgLyogMjIxICovCisJeyAzLAlUTiwJc3lzX2Nvbm5lY3QsCQkiY29ubmVjdCIJfSwgLyogMjIyICovCisJeyAyLAlUTiwJc3lzX2xpc3RlbiwJCSJsaXN0ZW4iCX0sIC8qIDIyMyAqLworCXsgMywJVE4sCXN5c19hY2NlcHQsCQkiYWNjZXB0Igl9LCAvKiAyMjQgKi8KKwl7IDMsCVROLAlzeXNfZ2V0c29ja25hbWUsCSJnZXRzb2NrbmFtZSIJfSwgLyogMjI1ICovCisJeyAzLAlUTiwJc3lzX2dldHBlZXJuYW1lLAkiZ2V0cGVlcm5hbWUiCX0sIC8qIDIyNiAqLworCXsgNCwJVE4sCXN5c19zb2NrZXRwYWlyLAkJInNvY2tldHBhaXIiCX0sIC8qIDIyNyAqLworCXsgNCwJVE4sCXN5c19zZW5kLAkJInNlbmQiCQl9LCAvKiAyMjggKi8KKwl7IDYsCVROLAlzeXNfc2VuZHRvLAkJInNlbmR0byIJfSwgLyogMjI5ICovCisJeyA0LAlUTiwJc3lzX3JlY3YsCQkicmVjdiIJCX0sIC8qIDIzMCAqLworCXsgNiwJVE4sCXN5c19yZWN2ZnJvbSwJCSJyZWN2ZnJvbSIJfSwgLyogMjMxICovCisJeyAyLAlUTiwJc3lzX3NodXRkb3duLAkJInNodXRkb3duIgl9LCAvKiAyMzIgKi8KKwl7IDUsCVROLAlzeXNfc2V0c29ja29wdCwJCSJzZXRzb2Nrb3B0Igl9LCAvKiAyMzMgKi8KKwl7IDUsCVROLAlzeXNfZ2V0c29ja29wdCwJCSJnZXRzb2Nrb3B0Igl9LCAvKiAyMzQgKi8KKwl7IDUsCVROLAlzeXNfc2VuZG1zZywJCSJzZW5kbXNnIgl9LCAvKiAyMzUgKi8KKwl7IDUsCVROLAlzeXNfcmVjdm1zZywJCSJyZWN2bXNnIgl9LCAvKiAyMzYgKi8KKwl7IDQsCVRJLAlzeXNfc2Vtb3AsCQkic2Vtb3AiCQl9LCAvKiAyMzcgKi8KKwl7IDQsCVRJLAlzeXNfc2VtZ2V0LAkJInNlbWdldCIJfSwgLyogMjM4ICovCisJeyA0LAlUSSwJc3lzX3NlbWN0bCwJCSJzZW1jdGwiCX0sIC8qIDIzOSAqLworCXsgNCwJVEksCXN5c19tc2dzbmQsCQkibXNnc25kIgl9LCAvKiAyNDAgKi8KKwl7IDQsCVRJLAlzeXNfbXNncmN2LAkJIm1zZ3JjdiIJfSwgLyogMjQxICovCisJeyA0LAlUSSwJc3lzX21zZ2dldCwJCSJtc2dnZXQiCX0sIC8qIDI0MiAqLworCXsgNCwJVEksCXN5c19tc2djdGwsCQkibXNnY3RsIgl9LCAvKiAyNDMgKi8KKwl7IDQsCVRJLAlzeXNfc2htYXQsCQkic2htYXQiCQl9LCAvKiAyNDQgKi8KKwl7IDQsCVRJLAlzeXNfc2htZHQsCQkic2htZHQiCQl9LCAvKiAyNDUgKi8KKwl7IDQsCVRJLAlzeXNfc2htZ2V0LAkJInNobWdldCIJfSwgLyogMjQ2ICovCisJeyA0LAlUSSwJc3lzX3NobWN0bCwJCSJzaG1jdGwiCX0sIC8qIDI0NyAqLworCXsgMywJVEQsCXN5c19nZXRkZW50czY0LAkJImdldGRlbnRzNjQiCX0sIC8qIDI0OCAqLworCXsgMywJVEQsCXN5c19mY250bCwJCSJmY250bDY0Igl9LCAvKiAyNDkgKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJTWVNfMjUwIgl9LCAvKiAyNTAgKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJTWVNfMjUxIgl9LCAvKiAyNTEgKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJnZXR0aWQiCX0sIC8qIDI1MiAqLworCXsgNSwJVEQsCXN5c19yZWFkYWhlYWQsCQkicmVhZGFoZWFkIgl9LCAvKiAyNTMgKi8KKwl7IDUsCVRGLAlzeXNfc2V0eGF0dHIsCQkic2V0eGF0dHIiCX0sIC8qIDI1NCAqLworCXsgNSwJVEYsCXN5c19zZXR4YXR0ciwJCSJsc2V0eGF0dHIiCX0sIC8qIDI1NSAqLworCXsgNSwJVEQsCXN5c19mc2V0eGF0dHIsCQkiZnNldHhhdHRyIgl9LCAvKiAyNTYgKi8KKwl7IDQsCVRGLAlzeXNfZ2V0eGF0dHIsCQkiZ2V0eGF0dHIiCX0sIC8qIDI1NyAqLworCXsgNCwJVEYsCXN5c19nZXR4YXR0ciwJCSJsZ2V0eGF0dHIiCX0sIC8qIDI1OCAqLworCXsgNCwJMCwJc3lzX2ZnZXR4YXR0ciwJCSJmZ2V0eGF0dHIiCX0sIC8qIDI1OSAqLworCXsgMywJVEYsCXN5c19saXN0eGF0dHIsCQkibGlzdHhhdHRyIgl9LCAvKiAyNjAgKi8KKwl7IDMsCVRGLAlzeXNfbGlzdHhhdHRyLAkJImxsaXN0eGF0dHIiCX0sIC8qIDI2MSAqLworCXsgMywJMCwJc3lzX2ZsaXN0eGF0dHIsCQkiZmxpc3R4YXR0ciIJfSwgLyogMjYyICovCisJeyAyLAlURiwJc3lzX3JlbW92ZXhhdHRyLAkicmVtb3ZleGF0dHIiCX0sIC8qIDI2MyAqLworCXsgMiwJVEYsCXN5c19yZW1vdmV4YXR0ciwJImxyZW1vdmV4YXR0ciIJfSwgLyogMjY0ICovCisJeyAyLAlURCwJc3lzX2ZyZW1vdmV4YXR0ciwJImZyZW1vdmV4YXR0ciIJfSwgLyogMjY1ICovCisJeyAyLAlURCwJc3lzX2tpbGwsCQkidGtpbGwiCQl9LCAvKiAyNjYgKi8KKwl7IDUsCVREfFROLAlzeXNfc2VuZGZpbGU2NCwJCSJzZW5kZmlsZTY0Igl9LCAvKiAyNjcgKi8KKwl7IDYsCTAsCXN5c19mdXRleCwJCSJmdXRleCIJCX0sIC8qIDI2OCAqLworCXsgMywJMCwJc3lzX3NjaGVkX3NldGFmZmluaXR5LAkic2NoZWRfc2V0YWZmaW5pdHkifSwgLyogMjY5ICovCisJeyAzLAkwLAlzeXNfc2NoZWRfZ2V0YWZmaW5pdHksCSJzY2hlZF9nZXRhZmZpbml0eSJ9LCAvKiAyNzAgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMjcxIgl9LCAvKiAyNzEgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMjcyIgl9LCAvKiAyNzIgKi8KKwl7IDIsCTAsCXN5c19pb19zZXR1cCwJCSJpb19zZXR1cCIJfSwgLyogMjczICovCisJeyAxLAkwLAlzeXNfaW9fZGVzdHJveSwJCSJpb19kZXN0cm95Igl9LCAvKiAyNzQgKi8KKwl7IDUsCTAsCXN5c19pb19nZXRldmVudHMsCSJpb19nZXRldmVudHMiCX0sIC8qIDI3NSAqLworCXsgMywJMCwJc3lzX2lvX3N1Ym1pdCwJCSJpb19zdWJtaXQiCX0sIC8qIDI3NiAqLworCXsgMywJMCwJc3lzX2lvX2NhbmNlbCwJCSJpb19jYW5jZWwiCX0sIC8qIDI3NyAqLworCXsgNSwJMCwJc3lzX2ZhZHZpc2U2NCwJCSJmYWR2aXNlNjQiCX0sIC8qIDI3OCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNzkiCX0sIC8qIDI3OSAqLworCXsgMSwJVFAsCXN5c19leGl0LAkJImV4aXRfZ3JvdXAiCX0sIC8qIDI4MCAqLworCXsgNCwJMCwJcHJpbnRhcmdzLAkJImxvb2t1cF9kY29va2llIn0sIC8qIDI4MSAqLworCXsgMSwJMCwJc3lzX2Vwb2xsX2NyZWF0ZSwJImVwb2xsX2NyZWF0ZSIJfSwgLyogMjgyICovCisJeyA0LAlURCwJc3lzX2Vwb2xsX2N0bCwJCSJlcG9sbF9jdGwiCX0sIC8qIDI4MyAqLworCXsgMywJVEQsCXN5c19lcG9sbF93YWl0LAkJImVwb2xsX3dhaXQiCX0sIC8qIDI4NCAqLworCXsgNSwJMCwJc3lzX3JlbWFwX2ZpbGVfcGFnZXMsCSJyZW1hcF9maWxlX3BhZ2VzIn0sIC8qIDI4NSAqLworCXsgMSwJMCwJcHJpbnRhcmdzLAkJInNldF90aWRfYWRkcmVzcyJ9LCAvKiAyODYgKi8KKwl7IDMsCTAsCXN5c190aW1lcl9jcmVhdGUsCSJ0aW1lcl9jcmVhdGUiCX0sIC8qIDI4NyAqLworCXsgNCwJMCwJc3lzX3RpbWVyX3NldHRpbWUsCSJ0aW1lcl9zZXR0aW1lIgl9LCAvKiAyODggKi8KKwl7IDIsCTAsCXN5c190aW1lcl9nZXR0aW1lLAkidGltZXJfZ2V0dGltZSIJfSwgLyogMjg5ICovCisJeyAxLAkwLAlzeXNfdGltZXJfZ2V0b3ZlcnJ1biwJInRpbWVyX2dldG92ZXJydW4ifSwgLyogMjkwICovCisJeyAxLAkwLAlzeXNfdGltZXJfZGVsZXRlLAkidGltZXJfZGVsZXRlIgl9LCAvKiAyOTEgKi8KKwl7IDIsCTAsCXN5c19jbG9ja19zZXR0aW1lLAkiY2xvY2tfc2V0dGltZSIJfSwgLyogMjkyICovCisJeyAyLAkwLAlzeXNfY2xvY2tfZ2V0dGltZSwJImNsb2NrX2dldHRpbWUiCX0sIC8qIDI5MyAqLworCXsgMiwJMCwJc3lzX2Nsb2NrX2dldHJlcywJImNsb2NrX2dldHJlcyIJfSwgLyogMjk0ICovCisJeyA0LAkwLAlzeXNfY2xvY2tfbmFub3NsZWVwLAkiY2xvY2tfbmFub3NsZWVwIn0sIC8qIDI5NSAqLworCXsgMywJVEYsCXN5c19zdGF0ZnM2NCwJCSJzdGF0ZnM2NCIJfSwgLyogMjk2ICovCisJeyAyLAlURCwJc3lzX2ZzdGF0ZnM2NCwJCSJmc3RhdGZzNjQiCX0sIC8qIDI5NyAqLworCXsgMywJVFMsCXN5c190Z2tpbGwsCQkidGdraWxsIgl9LCAvKiAyOTggKi8KKwl7IDIsCVRGLAlzeXNfdXRpbWVzLAkJInV0aW1lcyIJfSwgLyogMjk5ICovCisJeyA2LAkwLAlzeXNfZmFkdmlzZTY0XzY0LAkiZmFkdmlzZTY0XzY0Igl9LCAvKiAzMDAgKi8KKwl7IDAsCTAsCXByaW50YXJncywJCSJTWVNfMzAxIgl9LCAvKiAzMDEgKi8KKwl7IDQsCTAsCXN5c19tYmluZCwJCSJtYmluZCIJCX0sIC8qIDMwMiAqLworCXsgNSwJMCwJc3lzX2dldF9tZW1wb2xpY3ksCSJnZXRfbWVtcG9saWN5Igl9LCAvKiAzMDMgKi8KKwl7IDMsCTAsCXN5c19zZXRfbWVtcG9saWN5LAkic2V0X21lbXBvbGljeSIJfSwgLyogMzA0ICovCisJeyA0LAkwLAlzeXNfbXFfb3BlbiwJCSJtcV9vcGVuIgl9LCAvKiAzMDUgKi8KKwl7IDEsCTAsCXN5c19tcV91bmxpbmssCQkibXFfdW5saW5rIgl9LCAvKiAzMDYgKi8KKwl7IDUsCTAsCXN5c19tcV90aW1lZHNlbmQsCSJtcV90aW1lZHNlbmQiCX0sIC8qIDMwNyAqLworCXsgNSwJMCwJc3lzX21xX3RpbWVkcmVjZWl2ZSwJIm1xX3RpbWVkcmVjZWl2ZSJ9LCAvKiAzMDggKi8KKwl7IDIsCTAsCXN5c19tcV9ub3RpZnksCQkibXFfbm90aWZ5Igl9LCAvKiAzMDkgKi8KKwl7IDMsCTAsCXN5c19tcV9nZXRzZXRhdHRyLAkibXFfZ2V0c2V0YXR0ciIJfSwgLyogMzEwICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkia2V4ZWNfbG9hZCIJfSwgLyogMzExICovCisJeyA1LAlUUCwJc3lzX3dhaXRpZCwJCSJ3YWl0aWQiCX0sIC8qIDMxMiAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJImFkZF9rZXkiCX0sIC8qIDMxMyAqLworCXsgNCwJMCwJcHJpbnRhcmdzLAkJInJlcXVlc3Rfa2V5Igl9LCAvKiAzMTQgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJrZXljdGwiCX0sIC8qIDMxNSAqLworCXsgMywJMCwJcHJpbnRhcmdzLAkJImlvcHJpb19zZXQiCX0sIC8qIDMxNiAqLworCXsgMiwJMCwJcHJpbnRhcmdzLAkJImlvcHJpb19nZXQiCX0sIC8qIDMxNyAqLworCXsgMCwJVEQsCXByaW50YXJncywJCSJpbm90aWZ5X2luaXQiCX0sIC8qIDMxOCAqLworCXsgMywJVEQsCXByaW50YXJncywJCSJpbm90aWZ5X2FkZF93YXRjaCJ9LCAvKiAzMTkgKi8KKwl7IDIsCVRELAlwcmludGFyZ3MsCQkiaW5vdGlmeV9ybV93YXRjaCJ9LCAvKiAzMjAgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzIxIgl9LCAvKiAzMjEgKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJtaWdyYXRlX3BhZ2VzIgl9LCAvKiAzMjIgKi8KKwl7IDQsCVREfFRGLAlzeXNfb3BlbmF0LAkJIm9wZW5hdCIJfSwgLyogMzIzICovCisJeyAzLAlURHxURiwJc3lzX21rZGlyYXQsCQkibWtkaXJhdCIJfSwgLyogMzI0ICovCisJeyA0LAlURHxURiwJc3lzX21rbm9kYXQsCQkibWtub2RhdCIJfSwgLyogMzI1ICovCisJeyA1LAlURHxURiwJc3lzX2ZjaG93bmF0LAkJImZjaG93bmF0Igl9LCAvKiAzMjYgKi8KKwl7IDMsCVREfFRGLAlzeXNfZnV0aW1lc2F0LAkJImZ1dGltZXNhdCIJfSwgLyogMzI3ICovCisJeyA0LAlURHxURiwJc3lzX25ld2ZzdGF0YXQsCQkibmV3ZnN0YXRhdCIJfSwgLyogMzI4ICovCisJeyAzLAlURHxURiwJc3lzX3VubGlua2F0LAkJInVubGlua2F0Igl9LCAvKiAzMjkgKi8KKwl7IDQsCVREfFRGLAlzeXNfcmVuYW1lYXQsCQkicmVuYW1lYXQiCX0sIC8qIDMzMCAqLworCXsgNSwJVER8VEYsCXN5c19saW5rYXQsCQkibGlua2F0Igl9LCAvKiAzMzEgKi8KKwl7IDMsCVREfFRGLAlzeXNfc3ltbGlua2F0LAkJInN5bWxpbmthdCIJfSwgLyogMzMyICovCisJeyA0LAlURHxURiwJc3lzX3JlYWRsaW5rYXQsCQkicmVhZGxpbmthdCIJfSwgLyogMzMzICovCisJeyAzLAlURHxURiwJc3lzX2ZjaG1vZGF0LAkJImZjaG1vZGF0Igl9LCAvKiAzMzQgKi8KKwl7IDMsCVREfFRGLAlzeXNfZmFjY2Vzc2F0LAkJImZhY2Nlc3NhdCIJfSwgLyogMzM1ICovCisJeyA2LAlURCwJc3lzX3BzZWxlY3Q2LAkJInBzZWxlY3Q2Igl9LCAvKiAzMzYgKi8KKwl7IDUsCVRELAlzeXNfcHBvbGwsCQkicHBvbGwiCQl9LCAvKiAzMzcgKi8KKwl7IDEsCVRQLAlzeXNfdW5zaGFyZSwJCSJ1bnNoYXJlIgl9LCAvKiAzMzggKi8KKwl7IDIsCTAsCXByaW50YXJncywJCSJzZXRfcm9idXN0X2xpc3QifSwgLyogMzM5ICovCisJeyAzLAkwLAlwcmludGFyZ3MsCQkiZ2V0X3JvYnVzdF9saXN0In0sIC8qIDM0MCAqLworCXsgNiwJVEQsCXByaW50YXJncywJCSJzcGxpY2UiCX0sIC8qIDM0MSAqLworCXsgNCwJVEQsCXByaW50YXJncywJCSJzeW5jX2ZpbGVfcmFuZ2UifSwgLyogMzQyICovCisJeyA0LAlURCwJcHJpbnRhcmdzLAkJInRlZSIJCX0sIC8qIDM0MyAqLworCXsgNSwJVEQsCXByaW50YXJncywJCSJ2bXNwbGljZSIJfSwgLyogMzQ0ICovCisJeyA2LAkwLAlzeXNfbW92ZV9wYWdlcywJCSJtb3ZlX3BhZ2VzIgl9LCAvKiAzNDUgKi8KKwl7IDMsCTAsCXN5c19nZXRjcHUsCQkiZ2V0Y3B1Igl9LCAvKiAzNDYgKi8KKwl7IDUsCVRELAlzeXNfZXBvbGxfcHdhaXQsCSJlcG9sbF9wd2FpdCIJfSwgLyogMzQ3ICovCisJeyA0LAlURHxURiwJc3lzX3V0aW1lbnNhdCwJCSJ1dGltZW5zYXQiCX0sIC8qIDM0OCAqLworCXsgMywJVER8VFMsCXN5c19zaWduYWxmZCwJCSJzaWduYWxmZCIJfSwgLyogMzQ5ICovCisJeyA0LAlURCwJc3lzX3RpbWVyZmQsCQkidGltZXJmZCIJfSwgLyogMzUwICovCisJeyAxLAlURCwJc3lzX2V2ZW50ZmQsCQkiZXZlbnRmZCIJfSwgLyogMzUxICovCisJeyA2LAlURiwJc3lzX2ZhbGxvY2F0ZSwJCSJmYWxsb2NhdGUiCX0sIC8qIDM1MiAqLworCXsgNCwJVEQsCXN5c190aW1lcmZkX3NldHRpbWUsCSJ0aW1lcmZkX3NldHRpbWUifSwgLyogMzUzICovCisJeyAyLAlURCwJc3lzX3RpbWVyZmRfZ2V0dGltZSwJInRpbWVyZmRfZ2V0dGltZSJ9LCAvKiAzNTQgKi8KKwl7IDQsCVREfFRTLAlzeXNfc2lnbmFsZmQ0LAkJInNpZ25hbGZkNCIJfSwgLyogMzU1ICovCisJeyAyLAlURCwJc3lzX2V2ZW50ZmQyLAkJImV2ZW50ZmQyIgl9LCAvKiAzNTYgKi8KKwl7IDEsCTAsCXN5c19lcG9sbF9jcmVhdGUxLAkiZXBvbGxfY3JlYXRlMSIJfSwgLyogMzU3ICovCisJeyAzLAlURCwJc3lzX2R1cDMsCQkiZHVwMyIJCX0sIC8qIDM1OCAqLworCXsgMiwJVEQsCXN5c19waXBlMiwJCSJwaXBlMiIJCX0sIC8qIDM1OSAqLworCXsgMSwJVEQsCXN5c19pbm90aWZ5X2luaXQxLAkiaW5vdGlmeV9pbml0MSIJfSwgLyogMzYwICovCisJeyA1LAlURCwJcHJpbnRhcmdzLAkJInByZWFkdiIJfSwgLyogMzYxICovCisJeyA1LAlURCwJcHJpbnRhcmdzLAkJInB3cml0ZXYiCX0sIC8qIDM2MiAqLworCXsgNCwJVFB8VFMsCXByaW50YXJncywJCSJydF90Z3NpZ3F1ZXVlaW5mbyJ9LCAvKiAzNjMgKi8KKwl7IDUsCVRELAlwcmludGFyZ3MsCQkicGVyZl9ldmVudF9vcGVuIn0sIC8qIDM2NCAqLworCXsgNSwJVE4sCXN5c19yZWN2bW1zZywJCSJyZWN2bW1zZyIJfSwgLyogMzY1ICovCisJeyA0LAlUTiwJc3lzX2FjY2VwdDQsCQkiYWNjZXB0NCIJfSwgLyogMzY2ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2NyIJfSwgLyogMzY3ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2OCIJfSwgLyogMzY4ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2OSIJfSwgLyogMzY5ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3MCIJfSwgLyogMzcwICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3MSIJfSwgLyogMzcxICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3MiIJfSwgLyogMzcyICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3MyIJfSwgLyogMzczICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3NCIJfSwgLyogMzc0ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3NSIJfSwgLyogMzc1ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3NiIJfSwgLyogMzc2ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3NyIJfSwgLyogMzc3ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3OCIJfSwgLyogMzc4ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3OSIJfSwgLyogMzc5ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4MCIJfSwgLyogMzgwICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4MSIJfSwgLyogMzgxICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4MiIJfSwgLyogMzgyICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4MyIJfSwgLyogMzgzICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4NCIJfSwgLyogMzg0ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4NSIJfSwgLyogMzg1ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4NiIJfSwgLyogMzg2ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4NyIJfSwgLyogMzg3ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4OCIJfSwgLyogMzg4ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4OSIJfSwgLyogMzg5ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5MCIJfSwgLyogMzkwICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5MSIJfSwgLyogMzkxICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5MiIJfSwgLyogMzkyICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5MyIJfSwgLyogMzkzICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5NCIJfSwgLyogMzk0ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5NSIJfSwgLyogMzk1ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5NiIJfSwgLyogMzk2ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5NyIJfSwgLyogMzk3ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5OCIJfSwgLyogMzk4ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5OSIJfSwgLyogMzk5ICovCisKKyNpZiBTWVNfc29ja2V0X3N1YmNhbGwgIT0gNDAwCisgI2Vycm9yIGZpeCBtZQorI2VuZGlmCisJeyA4LAkwLAlwcmludGFyZ3MsCQkic29ja2V0X3N1YmNhbGwifSwgLyogNDAwICovCisJeyAzLAlUTiwJc3lzX3NvY2tldCwJCSJzb2NrZXQiCX0sIC8qIDQwMSAqLworCXsgMywJVE4sCXN5c19iaW5kLAkJImJpbmQiCQl9LCAvKiA0MDIgKi8KKwl7IDMsCVROLAlzeXNfY29ubmVjdCwJCSJjb25uZWN0Igl9LCAvKiA0MDMgKi8KKwl7IDIsCVROLAlzeXNfbGlzdGVuLAkJImxpc3RlbiIJfSwgLyogNDA0ICovCisJeyAzLAlUTiwJc3lzX2FjY2VwdCwJCSJhY2NlcHQiCX0sIC8qIDQwNSAqLworCXsgMywJVE4sCXN5c19nZXRzb2NrbmFtZSwJImdldHNvY2tuYW1lIgl9LCAvKiA0MDYgKi8KKwl7IDMsCVROLAlzeXNfZ2V0cGVlcm5hbWUsCSJnZXRwZWVybmFtZSIJfSwgLyogNDA3ICovCisJeyA0LAlUTiwJc3lzX3NvY2tldHBhaXIsCQkic29ja2V0cGFpciIJfSwgLyogNDA4ICovCisJeyA0LAlUTiwJc3lzX3NlbmQsCQkic2VuZCIJCX0sIC8qIDQwOSAqLworCXsgNCwJVE4sCXN5c19yZWN2LAkJInJlY3YiCQl9LCAvKiA0MTAgKi8KKwl7IDYsCVROLAlzeXNfc2VuZHRvLAkJInNlbmR0byIJfSwgLyogNDExICovCisJeyA2LAlUTiwJc3lzX3JlY3Zmcm9tLAkJInJlY3Zmcm9tIgl9LCAvKiA0MTIgKi8KKwl7IDIsCVROLAlzeXNfc2h1dGRvd24sCQkic2h1dGRvd24iCX0sIC8qIDQxMyAqLworCXsgNSwJVE4sCXN5c19zZXRzb2Nrb3B0LAkJInNldHNvY2tvcHQiCX0sIC8qIDQxNCAqLworCXsgNSwJVE4sCXN5c19nZXRzb2Nrb3B0LAkJImdldHNvY2tvcHQiCX0sIC8qIDQxNSAqLworCXsgNSwJVE4sCXN5c19zZW5kbXNnLAkJInNlbmRtc2ciCX0sIC8qIDQxNiAqLworCXsgNSwJVE4sCXN5c19yZWN2bXNnLAkJInJlY3Ztc2ciCX0sIC8qIDQxNyAqLworCXsgNCwJVE4sCXN5c19hY2NlcHQ0LAkJImFjY2VwdDQiCX0sIC8qIDQxOCAqLworCXsgNSwJVE4sCXN5c19yZWN2bW1zZywJCSJyZWN2bW1zZyIJfSwgLyogNDE5ICovCisKKyNpZiBTWVNfaXBjX3N1YmNhbGwgIT0gNDIwCisgI2Vycm9yIGZpeCBtZQorI2VuZGlmCisJeyA0LAkwLAlwcmludGFyZ3MsCQkiaXBjX3N1YmNhbGwiCX0sIC8qIDQyMCAqLwpkaWZmIC0tZ2l0IGEvc3RyYWNlLTQuNS4yMC9saW51eC9zaWduYWxlbnQuaCBiL3N0cmFjZS00LjUuMjAvbGludXgvc2lnbmFsZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTEyZjc0NgotLS0gL2Rldi9udWxsCisrKyBiL3N0cmFjZS00LjUuMjAvbGludXgvc2lnbmFsZW50LmgKQEAgLTAsMCArMSwzMyBAQAorCSJTSUdfMCIsCS8qIDAgKi8KKwkiU0lHSFVQIiwJLyogMSAqLworCSJTSUdJTlQiLAkvKiAyICovCisJIlNJR1FVSVQiLAkvKiAzICovCisJIlNJR0lMTCIsCS8qIDQgKi8KKwkiU0lHVFJBUCIsCS8qIDUgKi8KKwkiU0lHQUJSVCIsCS8qIDYgKi8KKwkiU0lHQlVTIiwJLyogNyAqLworCSJTSUdGUEUiLAkvKiA4ICovCisJIlNJR0tJTEwiLAkvKiA5ICovCisJIlNJR1VTUjEiLAkvKiAxMCAqLworCSJTSUdTRUdWIiwJLyogMTEgKi8KKwkiU0lHVVNSMiIsCS8qIDEyICovCisJIlNJR1BJUEUiLAkvKiAxMyAqLworCSJTSUdBTFJNIiwJLyogMTQgKi8KKwkiU0lHVEVSTSIsCS8qIDE1ICovCisJIlNJR1NUS0ZMVCIsCS8qIDE2ICovCisJIlNJR0NITEQiLAkvKiAxNyAqLworCSJTSUdDT05UIiwJLyogMTggKi8KKwkiU0lHU1RPUCIsCS8qIDE5ICovCisJIlNJR1RTVFAiLAkvKiAyMCAqLworCSJTSUdUVElOIiwJLyogMjEgKi8KKwkiU0lHVFRPVSIsCS8qIDIyICovCisJIlNJR1VSRyIsCS8qIDIzICovCisJIlNJR1hDUFUiLAkvKiAyNCAqLworCSJTSUdYRlNaIiwJLyogMjUgKi8KKwkiU0lHVlRBTFJNIiwJLyogMjYgKi8KKwkiU0lHUFJPRiIsCS8qIDI3ICovCisJIlNJR1dJTkNIIiwJLyogMjggKi8KKwkiU0lHSU8iLAkvKiAyOSAqLworCSJTSUdQV1IiLAkvKiAzMCAqLworCSJTSUdTWVMiLAkvKiAzMSAqLworCSJTSUdSVE1JTiIsCS8qIDMyICovCmRpZmYgLS1naXQgYS9zdHJhY2UtNC41LjIwL2xpbnV4L3NwYXJjL2R1bW15Mi5oIGIvc3RyYWNlLTQuNS4yMC9saW51eC9zcGFyYy9kdW1teTIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZmY0NjRiCi0tLSAvZGV2L251bGwKKysrIGIvc3RyYWNlLTQuNS4yMC9saW51eC9zcGFyYy9kdW1teTIuaApAQCAtMCwwICsxLDI4MiBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMTk5MywgMTk5NCwgMTk5NSBSaWNrIFNsYWRrZXkgPGpyc0B3b3JsZC5zdGQuY29tPgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIFRoZSBuYW1lIG9mIHRoZSBhdXRob3IgbWF5IG5vdCBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cworICogICAgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQVVUSE9SIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1MgT1IKKyAqIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMKKyAqIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuCisgKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCisgKiBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQKKyAqIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICoKKyAqCSRJZCQKKyAqLworCisvKiBzdGlsbCB1bmZpbmlzaGVkICovCisKKyNkZWZpbmUgc29sYXJpc19zeXNtcCBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19zZ2luYXAgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfc2dpa29wdCBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19zeXNtaXBzIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3NpZ3JldHVybiBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19yZWN2bXNnIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3NlbmRtc2cgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfbmZzc3ZjIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX2dldGZoIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX2FzeW5jX2RhZW1vbiBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19leHBvcnRmcyBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19CU0RfZ2V0aW1lIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3Nwcm9jIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3Byb2NibGsgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfc3Byb2NzcCBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19tc3luYyBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19tYWR2aXNlIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3BhZ2Vsb2NrIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3F1b3RhY3RsIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX2NhY2hlZmx1c2ggcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfY2FjaGVjdGwgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfbnVuYW1lIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3NpZ3BvbGwgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfc3dhcGN0bCBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19zaWdzdGFjayBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19zaWdzZW5kc2V0IHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3ByaW9jbnRsIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX2tzaWdxdWV1ZSBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19sd3Bfc2VtYV93YWl0IHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX21lbWNudGwgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfc3lzY2FsbCBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19jbG9jYWwgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfc3lzc3VuIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3N5c2k4NiBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19zeXNtYWNoaW5lIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3Bsb2NrIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3BhdGhjb25mIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3NpZ3RpbWVkd2FpdCBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc191bGltaXQgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfcHRyYWNlIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3N0dHkgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfbHdwX2luZm8gcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfcHJpb2NudGxzeXMgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfaHJ0c3lzIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3hlbml4IHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3N0YXRmcyBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19mc3RhdGZzIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3N0YXR2ZnMgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfZnN0YXR2ZnMgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfZm9yazEgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfc2lnc2VuZHN5cyBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19ndHR5IHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3Z0cmFjZSBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19mcGF0aGNvbmYgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfZXZzeXMgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfYWNjdCBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19leGVjIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX2x3cF9zZW1hX3Bvc3QgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfbmZzc3lzIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3NpZ2FsdHN0YWNrIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3VhZG1pbiBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc191bW91bnQgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfbW9kY3RsIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX2FjYW5jZWwgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfYXN5bmMgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfZXZ0cmFwcmV0IHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX2x3cF9jcmVhdGUgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfbHdwX2V4aXQgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfbHdwX3N1c3BlbmQgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfbHdwX2NvbnRpbnVlIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX2x3cF9raWxsIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX2x3cF9zZWxmIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX2x3cF9zZXRwcml2YXRlIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX2x3cF9nZXRwcml2YXRlIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX2x3cF93YWl0IHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX2x3cF9tdXRleF91bmxvY2sgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfbHdwX211dGV4X2xvY2sgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfbHdwX2NvbmRfd2FpdCBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19sd3BfY29uZF9zaWduYWwgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfbHdwX2NvbmRfYnJvYWRjYXN0IHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX2xsc2VlayBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19pbnN0X3N5bmMgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfYXVkaXRzeXMgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfcHJvY2Vzc29yX2JpbmQgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfcHJvY2Vzc29yX2luZm8gcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfcF9vbmxpbmUgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfc2lncXVldWUgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfY2xvY2tfZ2V0dGltZSBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19jbG9ja19zZXR0aW1lIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX2Nsb2NrX2dldHJlcyBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19uYW5vc2xlZXAgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfdGltZXJfY3JlYXRlIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3RpbWVyX2RlbGV0ZSBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc190aW1lcl9zZXR0aW1lIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3RpbWVyX2dldHRpbWUgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfdGltZXJfZ2V0b3ZlcnJ1biBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19zaWduYWwgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfc2lnc2V0IHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3NpZ2hvbGQgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfc2lncmVsc2UgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfc2lnaWdub3JlIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3NpZ3BhdXNlIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX21zZ2N0bCBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19tc2dnZXQgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfbXNncmN2IHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX21zZ3NuZCBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19zaG1hdCBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19zaG1jdGwgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfc2htZHQgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfc2htZ2V0IHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3NlbWN0bCBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19zZW1nZXQgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfc2Vtb3AgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfb2xkdW5hbWUgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfdXN0YXQgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfZnVzZXJzIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3N5c2ZzMSBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19zeXNmczIgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfc3lzZnMzIHByaW50YXJncworCisvKiBsaWtlIGFub3RoZXIgY2FsbCAqLworI2RlZmluZSBzb2xhcmlzX2xjaG93biBzb2xhcmlzX2Nob3duCisjZGVmaW5lIHNvbGFyaXNfc2V0dWlkIHNvbGFyaXNfY2xvc2UKKyNkZWZpbmUgc29sYXJpc19zZXRldWlkIHNvbGFyaXNfY2xvc2UKKyNkZWZpbmUgc29sYXJpc19zZXRnaWQgc29sYXJpc19jbG9zZQorI2RlZmluZSBzb2xhcmlzX3NldGVnaWQgc29sYXJpc19jbG9zZQorI2RlZmluZSBzb2xhcmlzX3ZoYW5ndXAgc29sYXJpc19jbG9zZQorI2RlZmluZSBzb2xhcmlzX2Zkc3luYyBzb2xhcmlzX2Nsb3NlCisjZGVmaW5lIHNvbGFyaXNfc2lnZmlsbHNldCBzb2xhcmlzX3NpZ3BlbmRpbmcKKyNkZWZpbmUgc29sYXJpc192Zm9yayBzb2xhcmlzX2ZvcmsKKyNkZWZpbmUgc29sYXJpc19rc2lnYWN0aW9uIHNvbGFyaXNfc2lnYWN0aW9uCisjZGVmaW5lIHNvbGFyaXNfQlNEZ2V0cGdycCBzb2xhcmlzX2dldHBncnAKKyNkZWZpbmUgc29sYXJpc19CU0RzZXRwZ3JwIHNvbGFyaXNfc2V0cGdycAorI2RlZmluZSBzb2xhcmlzX3dhaXRzeXMgc29sYXJpc193YWl0aWQKKworLyogcHJpbnRhcmdzIGRvZXMgdGhlIHJpZ2h0IHRoaW5nICovCisjZGVmaW5lIHNvbGFyaXNfc3luYyBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19wcm9maWwgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfeWllbGQgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfcGF1c2UgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfc2V0aG9zdGlkIHByaW50YXJncworCisvKiBzdWJmdW5jdGlvbiBlbnRyeSBwb2ludHMgKi8KKyNkZWZpbmUgc29sYXJpc19wZ3Jwc3lzIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3NpZ2NhbGwgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfbXNnc3lzIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3NobXN5cyBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19zZW1zeXMgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfdXRzc3lzIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3N5c2ZzIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3NwY2FsbCBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19jb250ZXh0IHByaW50YXJncworCisvKiBzYW1lIGFzIGxpbnV4ICovCisjZGVmaW5lIHNvbGFyaXNfZXhpdCBzeXNfZXhpdAorI2RlZmluZSBzb2xhcmlzX2Zvcmsgc3lzX2ZvcmsKKyNkZWZpbmUgc29sYXJpc19yZWFkIHN5c19yZWFkCisjZGVmaW5lIHNvbGFyaXNfd3JpdGUgc3lzX3dyaXRlCisjZGVmaW5lIHNvbGFyaXNfY2xvc2Ugc3lzX2Nsb3NlCisjZGVmaW5lIHNvbGFyaXNfY3JlYXQgc3lzX2NyZWF0CisjZGVmaW5lIHNvbGFyaXNfbGluayBzeXNfbGluaworI2RlZmluZSBzb2xhcmlzX3VubGluayBzeXNfdW5saW5rCisjZGVmaW5lIHNvbGFyaXNfY2hkaXIgc3lzX2NoZGlyCisjZGVmaW5lIHNvbGFyaXNfdGltZSBzeXNfdGltZQorI2RlZmluZSBzb2xhcmlzX2NobW9kIHN5c19jaG1vZAorI2RlZmluZSBzb2xhcmlzX2xzZWVrIHN5c19sc2VlaworI2RlZmluZSBzb2xhcmlzX3N0aW1lIHN5c19zdGltZQorI2RlZmluZSBzb2xhcmlzX2FsYXJtIHN5c19hbGFybQorI2RlZmluZSBzb2xhcmlzX3V0aW1lIHN5c191dGltZQorI2RlZmluZSBzb2xhcmlzX2FjY2VzcyBzeXNfYWNjZXNzCisjZGVmaW5lIHNvbGFyaXNfbmljZSBzeXNfbmljZQorI2RlZmluZSBzb2xhcmlzX2R1cCBzeXNfZHVwCisjZGVmaW5lIHNvbGFyaXNfcGlwZSBzeXNfcGlwZQorI2RlZmluZSBzb2xhcmlzX3RpbWVzIHN5c190aW1lcworI2RlZmluZSBzb2xhcmlzX2V4ZWN2ZSBzeXNfZXhlY3ZlCisjZGVmaW5lIHNvbGFyaXNfdW1hc2sgc3lzX3VtYXNrCisjZGVmaW5lIHNvbGFyaXNfY2hyb290IHN5c19jaHJvb3QKKyNkZWZpbmUgc29sYXJpc19ybWRpciBzeXNfcm1kaXIKKyNkZWZpbmUgc29sYXJpc19ta2RpciBzeXNfbWtkaXIKKyNkZWZpbmUgc29sYXJpc19nZXRkZW50cyBzeXNfZ2V0ZGVudHMKKyNkZWZpbmUgc29sYXJpc19wb2xsIHN5c19wb2xsCisjZGVmaW5lIHNvbGFyaXNfc3ltbGluayBzeXNfc3ltbGluaworI2RlZmluZSBzb2xhcmlzX3JlYWRsaW5rIHN5c19yZWFkbGluaworI2RlZmluZSBzb2xhcmlzX3NldGdyb3VwcyBzeXNfc2V0Z3JvdXBzCisjZGVmaW5lIHNvbGFyaXNfZ2V0Z3JvdXBzIHN5c19nZXRncm91cHMKKyNkZWZpbmUgc29sYXJpc19mY2htb2Qgc3lzX2ZjaG1vZAorI2RlZmluZSBzb2xhcmlzX2ZjaG93biBzeXNfZmNob3duCisjZGVmaW5lIHNvbGFyaXNfbXByb3RlY3Qgc3lzX21wcm90ZWN0CisjZGVmaW5lIHNvbGFyaXNfbXVubWFwIHN5c19tdW5tYXAKKyNkZWZpbmUgc29sYXJpc19yZWFkdiBzeXNfcmVhZHYKKyNkZWZpbmUgc29sYXJpc193cml0ZXYgc3lzX3dyaXRldgorI2RlZmluZSBzb2xhcmlzX2Nob3duIHN5c19jaG93bgorI2RlZmluZSBzb2xhcmlzX3JlbmFtZSBzeXNfcmVuYW1lCisjZGVmaW5lIHNvbGFyaXNfZ2V0dGltZW9mZGF5IHN5c19nZXR0aW1lb2ZkYXkKKyNkZWZpbmUgc29sYXJpc19nZXRpdGltZXIgc3lzX2dldGl0aW1lcgorI2RlZmluZSBzb2xhcmlzX3NldGl0aW1lciBzeXNfc2V0aXRpbWVyCisjZGVmaW5lIHNvbGFyaXNfYnJrIHN5c19icmsKKyNkZWZpbmUgc29sYXJpc19tbWFwIHN5c19tbWFwCisjZGVmaW5lIHNvbGFyaXNfZ2V0c2lkIHN5c19nZXRzaWQKKyNkZWZpbmUgc29sYXJpc19zZXRzaWQgc3lzX3NldHNpZAorI2RlZmluZSBzb2xhcmlzX2dldHBnaWQgc3lzX2dldHBnaWQKKyNkZWZpbmUgc29sYXJpc19zZXRwZ2lkIHN5c19zZXRwZ2lkCisjZGVmaW5lIHNvbGFyaXNfZ2V0cGdycCBzeXNfZ2V0cGdycAorCisvKiBUaGVzZSBhcmUgaGFuZGxlZCBhY2NvcmRpbmcgdG8gY3VycmVudF9wZXJzb25hbGl0eSAqLworI2RlZmluZSBzb2xhcmlzX3hzdGF0IHN5c194c3RhdAorI2RlZmluZSBzb2xhcmlzX2Z4c3RhdCBzeXNfZnhzdGF0CisjZGVmaW5lIHNvbGFyaXNfbHhzdGF0IHN5c19seHN0YXQKKyNkZWZpbmUgc29sYXJpc194bWtub2Qgc3lzX3hta25vZAorI2RlZmluZSBzb2xhcmlzX3N0YXQgc3lzX3N0YXQKKyNkZWZpbmUgc29sYXJpc19mc3RhdCBzeXNfZnN0YXQKKyNkZWZpbmUgc29sYXJpc19sc3RhdCBzeXNfbHN0YXQKKyNkZWZpbmUgc29sYXJpc19wcmVhZCBzeXNfcHJlYWQKKyNkZWZpbmUgc29sYXJpc19wd3JpdGUgc3lzX3B3cml0ZQorI2RlZmluZSBzb2xhcmlzX2lvY3RsIHN5c19pb2N0bAorI2RlZmluZSBzb2xhcmlzX21rbm9kIHN5c19ta25vZAorCisvKiBUbyBiZSBkb25lICovCisjZGVmaW5lIHNvbGFyaXNfbW91bnQgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfc3lzaW5mbyBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19zeXNjb25maWcgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfZ2V0cG1zZyBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19wdXRwbXNnIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3dhaXQgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfd2FpdGlkIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3NpZ3N1c3BlbmQgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfc2V0cGdycCBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19nZXRjb250ZXh0IHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3NldGNvbnRleHQgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfZ2V0cGlkIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX2dldHVpZCBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19raWxsIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX2dldGdpZCBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19mY250bCBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19nZXRtc2cgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfcHV0bXNnIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3NpZ3Byb2NtYXNrIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3NpZ2FjdGlvbiBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19zaWdwZW5kaW5nIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX21pbmNvcmUgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfZmNoZGlyIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3NldHJsaW1pdCBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19nZXRybGltaXQgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfdW5hbWUgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfYWRqdGltZSBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19mY2hyb290IHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3V0aW1lcyBwcmludGFyZ3MKKworI2lmIERPTkUKKyNkZWZpbmUgc29sYXJpc19vcGVuIHByaW50YXJncworI2VuZGlmCmRpZmYgLS1naXQgYS9zdHJhY2UtNC41LjIwL2xpbnV4L3NwYXJjL2Vycm5vZW50LmggYi9zdHJhY2UtNC41LjIwL2xpbnV4L3NwYXJjL2Vycm5vZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDI0MzY5OQotLS0gL2Rldi9udWxsCisrKyBiL3N0cmFjZS00LjUuMjAvbGludXgvc3BhcmMvZXJybm9lbnQuaApAQCAtMCwwICsxLDEyNyBAQAorCSJFUlJOT18wIiwgLyogMCAqLworCSJFUEVSTSIsIC8qIDEgKi8KKwkiRU5PRU5UIiwgLyogMiAqLworCSJFU1JDSCIsIC8qIDMgKi8KKwkiRUlOVFIiLCAvKiA0ICovCisJIkVJTyIsIC8qIDUgKi8KKwkiRU5YSU8iLCAvKiA2ICovCisJIkUyQklHIiwgLyogNyAqLworCSJFTk9FWEVDIiwgLyogOCAqLworCSJFQkFERiIsIC8qIDkgKi8KKwkiRUNISUxEIiwgLyogMTAgKi8KKwkiRUFHQUlOIiwgLyogMTEgKi8KKwkiRU5PTUVNIiwgLyogMTIgKi8KKwkiRUFDQ0VTIiwgLyogMTMgKi8KKwkiRUZBVUxUIiwgLyogMTQgKi8KKwkiRU5PVEJMSyIsIC8qIDE1ICovCisJIkVCVVNZIiwgLyogMTYgKi8KKwkiRUVYSVNUIiwgLyogMTcgKi8KKwkiRVhERVYiLCAvKiAxOCAqLworCSJFTk9ERVYiLCAvKiAxOSAqLworCSJFTk9URElSIiwgLyogMjAgKi8KKwkiRUlTRElSIiwgLyogMjEgKi8KKwkiRUlOVkFMIiwgLyogMjIgKi8KKwkiRU5GSUxFIiwgLyogMjMgKi8KKwkiRU1GSUxFIiwgLyogMjQgKi8KKwkiRU5PVFRZIiwgLyogMjUgKi8KKwkiRVRYVEJTWSIsIC8qIDI2ICovCisJIkVGQklHIiwgLyogMjcgKi8KKwkiRU5PU1BDIiwgLyogMjggKi8KKwkiRVNQSVBFIiwgLyogMjkgKi8KKwkiRVJPRlMiLCAvKiAzMCAqLworCSJFTUxJTksiLCAvKiAzMSAqLworCSJFUElQRSIsIC8qIDMyICovCisJIkVET00iLCAvKiAzMyAqLworCSJFUkFOR0UiLCAvKiAzNCAqLworCSJFV09VTERCTE9DSyIsIC8qIDM1ICovCisJIkVJTlBST0dSRVNTIiwgLyogMzYgKi8KKwkiRUFMUkVBRFkiLCAvKiAzNyAqLworCSJFTk9UU09DSyIsIC8qIDM4ICovCisJIkVERVNUQUREUlJFUSIsIC8qIDM5ICovCisJIkVNU0dTSVpFIiwgLyogNDAgKi8KKwkiRVBST1RPVFlQRSIsIC8qIDQxICovCisJIkVOT1BST1RPT1BUIiwgLyogNDIgKi8KKwkiRVBST1RPTk9TVVBQT1JUIiwgLyogNDMgKi8KKwkiRVNPQ0tUTk9TVVBQT1JUIiwgLyogNDQgKi8KKwkiRU9QTk9UU1VQUCIsIC8qIDQ1ICovCisJIkVQRk5PU1VQUE9SVCIsIC8qIDQ2ICovCisJIkVBRk5PU1VQUE9SVCIsIC8qIDQ3ICovCisJIkVBRERSSU5VU0UiLCAvKiA0OCAqLworCSJFQUREUk5PVEFWQUlMIiwgLyogNDkgKi8KKwkiRU5FVERPV04iLCAvKiA1MCAqLworCSJFTkVUVU5SRUFDSCIsIC8qIDUxICovCisJIkVORVRSRVNFVCIsIC8qIDUyICovCisJIkVDT05OQUJPUlRFRCIsIC8qIDUzICovCisJIkVDT05OUkVTRVQiLCAvKiA1NCAqLworCSJFTk9CVUZTIiwgLyogNTUgKi8KKwkiRUlTQ09OTiIsIC8qIDU2ICovCisJIkVOT1RDT05OIiwgLyogNTcgKi8KKwkiRVNIVVRET1dOIiwgLyogNTggKi8KKwkiRVRPT01BTllSRUZTIiwgLyogNTkgKi8KKwkiRVRJTUVET1VUIiwgLyogNjAgKi8KKwkiRUNPTk5SRUZVU0VEIiwgLyogNjEgKi8KKwkiRUxPT1AiLCAvKiA2MiAqLworCSJFTkFNRVRPT0xPTkciLCAvKiA2MyAqLworCSJFSE9TVERPV04iLCAvKiA2NCAqLworCSJFSE9TVFVOUkVBQ0giLCAvKiA2NSAqLworCSJFTk9URU1QVFkiLCAvKiA2NiAqLworCSJFUFJPQ0xJTSIsIC8qIDY3ICovCisJIkVVU0VSUyIsIC8qIDY4ICovCisJIkVEUVVPVCIsIC8qIDY5ICovCisJIkVTVEFMRSIsIC8qIDcwICovCisJIkVSRU1PVEUiLCAvKiA3MSAqLworCSJFTk9TVFIiLCAvKiA3MiAqLworCSJFVElNRSIsIC8qIDczICovCisJIkVOT1NSIiwgLyogNzQgKi8KKwkiRU5PTVNHIiwgLyogNzUgKi8KKwkiRUJBRE1TRyIsIC8qIDc2ICovCisJIkVJRFJNIiwgLyogNzcgKi8KKwkiRURFQURMSyIsIC8qIDc4ICovCisJIkVOT0xDSyIsIC8qIDc5ICovCisJIkVOT05FVCIsIC8qIDgwICovCisJIkVSUkVNT1RFIiwgLyogODEgKi8KKwkiRU5PTElOSyIsIC8qIDgyICovCisJIkVBRFYiLCAvKiA4MyAqLworCSJFU1JNTlQiLCAvKiA4NCAqLworCSJFQ09NTSIsIC8qIDg1ICovCisJIkVQUk9UTyIsIC8qIDg2ICovCisJIkVNVUxUSUhPUCIsIC8qIDg3ICovCisJIkVET1RET1QiLCAvKiA4OCAqLworCSJFUkVNQ0hHIiwgLyogODkgKi8KKwkiRU5PU1lTIiwgLyogOTAgKi8KKwkiRVNUUlBJUEUiLCAvKiA5MSAqLworCSJFT1ZFUkZMT1ciLCAvKiA5MiAqLworCSJFQkFERkQiLCAvKiA5MyAqLworCSJFQ0hSTkciLCAvKiA5NCAqLworCSJFTDJOU1lOQyIsIC8qIDk1ICovCisJIkVMM0hMVCIsIC8qIDk2ICovCisJIkVMM1JTVCIsIC8qIDk3ICovCisJIkVMTlJORyIsIC8qIDk4ICovCisJIkVVTkFUQ0giLCAvKiA5OSAqLworCSJFTk9DU0kiLCAvKiAxMDAgKi8KKwkiRUwySExUIiwgLyogMTAxICovCisJIkVCQURFIiwgLyogMTAyICovCisJIkVCQURSIiwgLyogMTAzICovCisJIkVYRlVMTCIsIC8qIDEwNCAqLworCSJFTk9BTk8iLCAvKiAxMDUgKi8KKwkiRUJBRFJRQyIsIC8qIDEwNiAqLworCSJFQkFEU0xUIiwgLyogMTA3ICovCisJIkVERUFETE9DSyIsIC8qIDEwOCAqLworCSJFQkZPTlQiLCAvKiAxMDkgKi8KKwkiRUxJQkVYRUMiLCAvKiAxMTAgKi8KKwkiRU5PREFUQSIsIC8qIDExMSAqLworCSJFTElCQkFEIiwgLyogMTEyICovCisJIkVOT1BLRyIsIC8qIDExMyAqLworCSJFTElCQUNDIiwgLyogMTE0ICovCisJIkVOT1RVTklRIiwgLyogMTE1ICovCisJIkVSRVNUQVJUIiwgLyogMTE2ICovCisJIkVVQ0xFQU4iLCAvKiAxMTcgKi8KKwkiRU5PVE5BTSIsIC8qIDExOCAqLworCSJFTkFWQUlMIiwgLyogMTE5ICovCisJIkVJU05BTSIsIC8qIDEyMCAqLworCSJFUkVNT1RFSU8iLCAvKiAxMjEgKi8KKwkiRUlMU0VRIiwgLyogMTIyICovCisJIkVMSUJNQVgiLCAvKiAxMjMgKi8KKwkiRUxJQlNDTiIsIC8qIDEyNCAqLworCSJFTk9NRURJVU0iLCAvKiAxMjUgKi8KKwkiRU1FRElVTVRZUEUiLCAvKiAxMjYgKi8KZGlmZiAtLWdpdCBhL3N0cmFjZS00LjUuMjAvbGludXgvc3BhcmMvZXJybm9lbnQxLmggYi9zdHJhY2UtNC41LjIwL2xpbnV4L3NwYXJjL2Vycm5vZW50MS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRkNzUwYmQKLS0tIC9kZXYvbnVsbAorKysgYi9zdHJhY2UtNC41LjIwL2xpbnV4L3NwYXJjL2Vycm5vZW50MS5oCkBAIC0wLDAgKzEgQEAKKyNpbmNsdWRlICIuLi9zdnI0L2Vycm5vZW50LmgiCmRpZmYgLS1naXQgYS9zdHJhY2UtNC41LjIwL2xpbnV4L3NwYXJjL2dlbi5wbCBiL3N0cmFjZS00LjUuMjAvbGludXgvc3BhcmMvZ2VuLnBsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhjMmY3NWIKLS0tIC9kZXYvbnVsbAorKysgYi9zdHJhY2UtNC41LjIwL2xpbnV4L3NwYXJjL2dlbi5wbApAQCAtMCwwICsxLDM3IEBACitvcGVuIFNQQVJDLCAic3lzY2FsbGVudC5oIiB8fCBkaWUgIm5vIHB1ZWRvIGFicmlyIGVsIGRlIGxhIHNwYXJjIjsKK29wZW4gQUxQSEEsICIuLi9hbHBoYS9zeXNjYWxsZW50LmgiIHx8IGRpZSAibm8gcHVlZG8gYWJyaXIgZWwgZGUgbGEgYWxwaGEiOworb3BlbiBQQywgIi4uL2kzODYvc3lzY2FsbGVudC5oIiB8fCBkaWUgIm5vIHB1ZWRvIGFicmlyIFBDXG4iOworCit3aGlsZSAoPFNQQVJDPikgeworICAgIGNob3A7CisgICAgKCRpMSwgJGkyLCAkaTMsICRzeXNjYWxsLCAkc3lzY2FsbF9uYW1lKSA9IHNwbGl0OworICAgICRzdHJuWyRpbmRleF0gICA9ICRzeXNjYWxsX25hbWU7CisgICAgJG5hbWVbJGluZGV4KytdID0gJHN5c2NhbGw7Cit9CisKK3doaWxlICg8QUxQSEE+KXsKKyAgICBpZiAoL1x7LykgeworCSgkaTEsICRuLCAkcHIsICRzeXNjYWxsKSA9IHNwbGl0OworCSRwYXJ7JHN5c2NhbGx9ID0gJG47CisJJHBycnskc3lzY2FsbH0gPSAkcHI7CisgICAgfQorfQorCit3aGlsZSAoPFBDPil7CisgICAgaWYgKC9cey8pIHsKKwkoJGkxLCAkbiwgJHByLCAkc3lzY2FsbCkgPSBzcGxpdDsKKwkkcGFyeyRzeXNjYWxsfSA9ICRuOworCSRwcnJ7JHN5c2NhbGx9ID0gJHByOworICAgIH0KK30KKworcHJpbnQgIm1pc3NpbmcgXG4iOworCitmb3IgKCRpID0gMDsgJGkgPCAkaW5kZXg7ICRpKyspeworICAgICR4ID0gJG5hbWVbJGldOworICAgICR5ID0gJHN0cm5bJGldOworICAgICRuID0gJHBhcnskeH07CisgICAgJHAgPSAkcHJyeyR4fTsKKyAgICAkaisrOworICAgIHByaW50ICJcdHsgJG5cdCRwXHQkeFx0JHkgfSxcdCAvKiAkaiAqL1xuIjsKK30KZGlmZiAtLWdpdCBhL3N0cmFjZS00LjUuMjAvbGludXgvc3BhcmMvaW9jdGxlbnQuaCBiL3N0cmFjZS00LjUuMjAvbGludXgvc3BhcmMvaW9jdGxlbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMWQ2YjhhCi0tLSAvZGV2L251bGwKKysrIGIvc3RyYWNlLTQuNS4yMC9saW51eC9zcGFyYy9pb2N0bGVudC5oCkBAIC0wLDAgKzEsODM4IEBACisJeyJsaW51eC9mcy5oIiwJIkZJQk1BUCIsCTB4MX0sCisJeyJsaW51eC9mcy5oIiwJIkZJR0VUQlNaIiwJMHgyfSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRHRVRQUk0iLAkweDIwNH0sCisJeyJsaW51eC9mZC5oIiwJIkZER0VUTUFYRVJSUyIsCTB4MjBlfSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRHRVREUlZUWVAiLAkweDIwZn0sCisJeyJsaW51eC9mZC5oIiwJIkZER0VURFJWUFJNIiwJMHgyMTF9LAorCXsibGludXgvZmQuaCIsCSJGREdFVERSVlNUQVQiLAkweDIxMn0sCisJeyJsaW51eC9mZC5oIiwJIkZEUE9MTERSVlNUQVQiLAkweDIxM30sCisJeyJsaW51eC9mZC5oIiwJIkZER0VURkRDU1RBVCIsCTB4MjE1fSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRXRVJST1JHRVQiLAkweDIxN30sCisJeyJsaW51eC9mZC5oIiwJIkZEQ0xSUFJNIiwJMHgyNDF9LAorCXsibGludXgvZmQuaCIsCSJGRFNFVFBSTSIsCTB4MjQyfSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRERUZQUk0iLAkweDI0M30sCisJeyJsaW51eC9mZC5oIiwJIkZETVNHT04iLAkweDI0NX0sCisJeyJsaW51eC9mZC5oIiwJIkZETVNHT0ZGIiwJMHgyNDZ9LAorCXsibGludXgvZmQuaCIsCSJGREZNVEJFRyIsCTB4MjQ3fSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRGTVRUUksiLAkweDI0OH0sCisJeyJsaW51eC9mZC5oIiwJIkZERk1URU5EIiwJMHgyNDl9LAorCXsibGludXgvZmQuaCIsCSJGRFNFVEVNU0dUUkVTSCIsCTB4MjRhfSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRGTFVTSCIsCTB4MjRifSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRTRVRNQVhFUlJTIiwJMHgyNGN9LAorCXsibGludXgvZmQuaCIsCSJGRFJFU0VUIiwJMHgyNTR9LAorCXsibGludXgvZmQuaCIsCSJGRFdFUlJPUkNMUiIsCTB4MjU2fSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRSQVdDTUQiLAkweDI1OH0sCisJeyJsaW51eC9mZC5oIiwJIkZEVFdBRERMRSIsCTB4MjU5fSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRFSkVDVCIsCTB4MjVhfSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRTRVREUlZQUk0iLAkweDI5MH0sCisJeyJsaW51eC91bXNkb3NfZnMuaCIsCSJVTVNET1NfUkVBRERJUl9ET1MiLAkweDRkMn0sCisJeyJsaW51eC91bXNkb3NfZnMuaCIsCSJVTVNET1NfVU5MSU5LX0RPUyIsCTB4NGQzfSwKKwl7ImxpbnV4L3Vtc2Rvc19mcy5oIiwJIlVNU0RPU19STURJUl9ET1MiLAkweDRkNH0sCisJeyJsaW51eC91bXNkb3NfZnMuaCIsCSJVTVNET1NfU1RBVF9ET1MiLAkweDRkNX0sCisJeyJsaW51eC91bXNkb3NfZnMuaCIsCSJVTVNET1NfQ1JFQVRfRU1EIiwJMHg0ZDZ9LAorCXsibGludXgvdW1zZG9zX2ZzLmgiLAkiVU1TRE9TX1VOTElOS19FTUQiLAkweDRkN30sCisJeyJsaW51eC91bXNkb3NfZnMuaCIsCSJVTVNET1NfUkVBRERJUl9FTUQiLAkweDRkOH0sCisJeyJsaW51eC91bXNkb3NfZnMuaCIsCSJVTVNET1NfR0VUVkVSU0lPTiIsCTB4NGQ5fSwKKwl7ImxpbnV4L3Vtc2Rvc19mcy5oIiwJIlVNU0RPU19JTklUX0VNRCIsCTB4NGRhfSwKKwl7ImxpbnV4L3Vtc2Rvc19mcy5oIiwJIlVNU0RPU19ET1NfU0VUVVAiLAkweDRkYn0sCisJeyJsaW51eC91bXNkb3NfZnMuaCIsCSJVTVNET1NfUkVOQU1FX0RPUyIsCTB4NGRjfSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLUk9TRVQiLAkweDEyNWR9LAorCXsibGludXgvZnMuaCIsCSJCTEtST0dFVCIsCTB4MTI1ZX0sCisJeyJsaW51eC9mcy5oIiwJIkJMS1JSUEFSVCIsCTB4MTI1Zn0sCisJeyJsaW51eC9mcy5oIiwJIkJMS0dFVFNJWkUiLAkweDEyNjB9LAorCXsibGludXgvZnMuaCIsCSJCTEtGTFNCVUYiLAkweDEyNjF9LAorCXsibGludXgvZnMuaCIsCSJCTEtSQVNFVCIsCTB4MTI2Mn0sCisJeyJsaW51eC9mcy5oIiwJIkJMS1JBR0VUIiwJMHgxMjYzfSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLRlJBU0VUIiwJMHgxMjY0fSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLRlJBR0VUIiwJMHgxMjY1fSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLU0VDVFNFVCIsCTB4MTI2Nn0sCisJeyJsaW51eC9mcy5oIiwJIkJMS1NFQ1RHRVQiLAkweDEyNjd9LAorCXsibGludXgvZnMuaCIsCSJCTEtTU1pHRVQiLAkweDEyNjh9LAorCXsibGludXgvYmxrcGcuaCIsCSJCTEtQRyIsCTB4MTI2OX0sCisJeyJsaW51eC9mcy5oIiwJIkJMS1BHIiwJMHgxMjY5fSwKKwl7ImxpbnV4L2VsZXZhdG9yLmgiLAkiQkxLRUxWR0VUIiwJMHgxMjZhfSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLRUxWR0VUIiwJMHgxMjZhfSwKKwl7ImxpbnV4L2VsZXZhdG9yLmgiLAkiQkxLRUxWU0VUIiwJMHgxMjZifSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLRUxWU0VUIiwJMHgxMjZifSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLQlNaR0VUIiwJMHgxMjcwfSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLQlNaU0VUIiwJMHgxMjcxfSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLR0VUU0laRTY0IiwJMHgxMjcyfSwKKwl7ImxpbnV4L2FncGdhcnQuaCIsCSJBR1BJT0NfSU5GTyIsCTB4NDEwMH0sCisJeyJsaW51eC9hZ3BnYXJ0LmgiLAkiQUdQSU9DX0FDUVVJUkUiLAkweDQxMDF9LAorCXsibGludXgvYXBtX2Jpb3MuaCIsCSJBUE1fSU9DX1NUQU5EQlkiLAkweDQxMDF9LAorCXsibGludXgvYWdwZ2FydC5oIiwJIkFHUElPQ19SRUxFQVNFIiwJMHg0MTAyfSwKKwl7ImxpbnV4L2FwbV9iaW9zLmgiLAkiQVBNX0lPQ19TVVNQRU5EIiwJMHg0MTAyfSwKKwl7ImxpbnV4L2FncGdhcnQuaCIsCSJBR1BJT0NfU0VUVVAiLAkweDQxMDN9LAorCXsibGludXgvYWdwZ2FydC5oIiwJIkFHUElPQ19SRVNFUlZFIiwJMHg0MTA0fSwKKwl7ImxpbnV4L2FncGdhcnQuaCIsCSJBR1BJT0NfUFJPVEVDVCIsCTB4NDEwNX0sCisJeyJsaW51eC9hZ3BnYXJ0LmgiLAkiQUdQSU9DX0FMTE9DQVRFIiwJMHg0MTA2fSwKKwl7ImxpbnV4L2FncGdhcnQuaCIsCSJBR1BJT0NfREVBTExPQ0FURSIsCTB4NDEwN30sCisJeyJsaW51eC9hZ3BnYXJ0LmgiLAkiQUdQSU9DX0JJTkQiLAkweDQxMDh9LAorCXsibGludXgvYWdwZ2FydC5oIiwJIkFHUElPQ19VTkJJTkQiLAkweDQxMDl9LAorCXsibGludXgvcG11LmgiLAkiUE1VX0lPQ19TTEVFUCIsCTB4NDIwMH0sCisJeyJsaW51eC9jY2lzc19pb2N0bC5oIiwJIkNDSVNTX0dFVFBDSUlORk8iLAkweDQyMDF9LAorCXsibGludXgvcG11LmgiLAkiUE1VX0lPQ19HRVRfQkFDS0xJR0hUIiwJMHg0MjAxfSwKKwl7ImxpbnV4L2NjaXNzX2lvY3RsLmgiLAkiQ0NJU1NfR0VUSU5USU5GTyIsCTB4NDIwMn0sCisJeyJsaW51eC9wbXUuaCIsCSJQTVVfSU9DX1NFVF9CQUNLTElHSFQiLAkweDQyMDJ9LAorCXsibGludXgvY2Npc3NfaW9jdGwuaCIsCSJDQ0lTU19TRVRJTlRJTkZPIiwJMHg0MjAzfSwKKwl7ImxpbnV4L3BtdS5oIiwJIlBNVV9JT0NfR0VUX01PREVMIiwJMHg0MjAzfSwKKwl7ImxpbnV4L2NjaXNzX2lvY3RsLmgiLAkiQ0NJU1NfR0VUTk9ERU5BTUUiLAkweDQyMDR9LAorCXsibGludXgvcG11LmgiLAkiUE1VX0lPQ19IQVNfQURCIiwJMHg0MjA0fSwKKwl7ImxpbnV4L2NjaXNzX2lvY3RsLmgiLAkiQ0NJU1NfU0VUTk9ERU5BTUUiLAkweDQyMDV9LAorCXsibGludXgvcG11LmgiLAkiUE1VX0lPQ19DQU5fU0xFRVAiLAkweDQyMDV9LAorCXsibGludXgvY2Npc3NfaW9jdGwuaCIsCSJDQ0lTU19HRVRIRUFSVEJFQVQiLAkweDQyMDZ9LAorCXsibGludXgvY2Npc3NfaW9jdGwuaCIsCSJDQ0lTU19HRVRCVVNUWVBFUyIsCTB4NDIwN30sCisJeyJsaW51eC9jY2lzc19pb2N0bC5oIiwJIkNDSVNTX0dFVEZJUk1WRVIiLAkweDQyMDh9LAorCXsibGludXgvY2Npc3NfaW9jdGwuaCIsCSJDQ0lTU19HRVREUklWVkVSIiwJMHg0MjA5fSwKKwl7ImxpbnV4L2NjaXNzX2lvY3RsLmgiLAkiQ0NJU1NfUkVWQUxJRFZPTFMiLAkweDQyMGF9LAorCXsibGludXgvY2Npc3NfaW9jdGwuaCIsCSJDQ0lTU19QQVNTVEhSVSIsCTB4NDIwYn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfQ09QUl9SRVNFVCIsCTB4NDMwMH0sCisJeyJsaW51eC9jYXBpLmgiLAkiQ0FQSV9SRUdJU1RFUiIsCTB4NDMwMX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfQ09QUl9MT0FEIiwJMHg0MzAxfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9DT1BSX1JEQVRBIiwJMHg0MzAyfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9DT1BSX1JDT0RFIiwJMHg0MzAzfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9DT1BSX1dEQVRBIiwJMHg0MzA0fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9DT1BSX1dDT0RFIiwJMHg0MzA1fSwKKwl7ImxpbnV4L2NhcGkuaCIsCSJDQVBJX0dFVF9NQU5VRkFDVFVSRVIiLAkweDQzMDZ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0NPUFJfUlVOIiwJMHg0MzA2fSwKKwl7ImxpbnV4L2NhcGkuaCIsCSJDQVBJX0dFVF9WRVJTSU9OIiwJMHg0MzA3fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9DT1BSX0hBTFQiLAkweDQzMDd9LAorCXsibGludXgvY2FwaS5oIiwJIkNBUElfR0VUX1NFUklBTCIsCTB4NDMwOH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfQ09QUl9TRU5ETVNHIiwJMHg0MzA4fSwKKwl7ImxpbnV4L2NhcGkuaCIsCSJDQVBJX0dFVF9QUk9GSUxFIiwJMHg0MzA5fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9DT1BSX1JDVk1TRyIsCTB4NDMwOX0sCisJeyJsaW51eC9jYXBpLmgiLAkiQ0FQSV9NQU5VRkFDVFVSRVJfQ01EIiwJMHg0MzIwfSwKKwl7ImxpbnV4L2NhcGkuaCIsCSJDQVBJX0dFVF9FUlJDT0RFIiwJMHg0MzIxfSwKKwl7ImxpbnV4L2NhcGkuaCIsCSJDQVBJX0lOU1RBTExFRCIsCTB4NDMyMn0sCisJeyJsaW51eC9jYXBpLmgiLAkiQ0FQSV9HRVRfRkxBR1MiLAkweDQzMjN9LAorCXsibGludXgvY2FwaS5oIiwJIkNBUElfU0VUX0ZMQUdTIiwJMHg0MzI0fSwKKwl7ImxpbnV4L2NhcGkuaCIsCSJDQVBJX0NMUl9GTEFHUyIsCTB4NDMyNX0sCisJeyJsaW51eC9jYXBpLmgiLAkiQ0FQSV9OQ0NJX09QRU5DT1VOVCIsCTB4NDMyNn0sCisJeyJsaW51eC9jYXBpLmgiLAkiQ0FQSV9OQ0NJX0dFVFVOSVQiLAkweDQzMjd9LAorCXsibGludXgvaW5wdXQuaCIsCSJFVklPQ0dWRVJTSU9OIiwJMHg0NTAxfSwKKwl7ImxpbnV4L2lucHV0LmgiLAkiRVZJT0NHSUQiLAkweDQ1MDJ9LAorCXsibGludXgvaW5wdXQuaCIsCSJFVklPQ0dSRVAiLAkweDQ1MDN9LAorCXsibGludXgvaW5wdXQuaCIsCSJFVklPQ1NSRVAiLAkweDQ1MDN9LAorCXsibGludXgvaW5wdXQuaCIsCSJFVklPQ0dLRVlDT0RFIiwJMHg0NTA0fSwKKwl7ImxpbnV4L2lucHV0LmgiLAkiRVZJT0NTS0VZQ09ERSIsCTB4NDUwNH0sCisJeyJsaW51eC9pbnB1dC5oIiwJIkVWSU9DR0tFWSIsCTB4NDUwNX0sCisJeyJsaW51eC9pbnB1dC5oIiwJIkVWSU9DR0JVUyIsCTB4NDUwN30sCisJeyJsaW51eC9pbnB1dC5oIiwJIkVWSU9DUk1GRiIsCTB4NDU4MX0sCisJeyJsaW51eC9pbnB1dC5oIiwJIkVWSU9DU0dBSU4iLAkweDQ1ODJ9LAorCXsibGludXgvaW5wdXQuaCIsCSJFVklPQ1NBVVRPQ0VOVEVSIiwJMHg0NTgzfSwKKwl7ImxpbnV4L2lucHV0LmgiLAkiRVZJT0NHRUZGRUNUUyIsCTB4NDU4NH0sCisJeyJsaW51eC9mYi5oIiwJIkZCSU9HRVRfVkJMQU5LIiwJMHg0NjEyfSwKKwl7ImxpbnV4L2hpZGRldi5oIiwJIkhJRElPQ0dWRVJTSU9OIiwJMHg0ODAxfSwKKwl7ImxpbnV4L2hpZGRldi5oIiwJIkhJRElPQ0FQUExJQ0FUSU9OIiwJMHg0ODAyfSwKKwl7ImxpbnV4L2hpZGRldi5oIiwJIkhJRElPQ0dERVZJTkZPIiwJMHg0ODAzfSwKKwl7ImxpbnV4L2hpZGRldi5oIiwJIkhJRElPQ0dTVFJJTkciLAkweDQ4MDR9LAorCXsibGludXgvaGlkZGV2LmgiLAkiSElESU9DSU5JVFJFUE9SVCIsCTB4NDgwNX0sCisJeyJsaW51eC9oaWRkZXYuaCIsCSJISURJT0NHUkVQT1JUIiwJMHg0ODA3fSwKKwl7ImxpbnV4L2hpZGRldi5oIiwJIkhJRElPQ1NSRVBPUlQiLAkweDQ4MDh9LAorCXsibGludXgvaGlkZGV2LmgiLAkiSElESU9DR1JFUE9SVElORk8iLAkweDQ4MDl9LAorCXsibGludXgvaGlkZGV2LmgiLAkiSElESU9DR0ZJRUxESU5GTyIsCTB4NDgwYX0sCisJeyJsaW51eC9oaWRkZXYuaCIsCSJISURJT0NHVVNBR0UiLAkweDQ4MGJ9LAorCXsibGludXgvaGlkZGV2LmgiLAkiSElESU9DU1VTQUdFIiwJMHg0ODBjfSwKKwl7ImxpbnV4L2hpZGRldi5oIiwJIkhJRElPQ0dVQ09ERSIsCTB4NDgwZH0sCisJeyJsaW51eC9pc2RuLmgiLAkiSUlPQ05FVEFJRiIsCTB4NDkwMX0sCisJeyJsaW51eC9pc2RuLmgiLAkiSUlPQ05FVERJRiIsCTB4NDkwMn0sCisJeyJsaW51eC9pc2RuLmgiLAkiSUlPQ05FVFNDRiIsCTB4NDkwM30sCisJeyJsaW51eC9pc2RuLmgiLAkiSUlPQ05FVEdDRiIsCTB4NDkwNH0sCisJeyJsaW51eC9pc2RuLmgiLAkiSUlPQ05FVEFOTSIsCTB4NDkwNX0sCisJeyJsaW51eC9pc2RuLmgiLAkiSUlPQ05FVEROTSIsCTB4NDkwNn0sCisJeyJsaW51eC9pc2RuLmgiLAkiSUlPQ05FVEdOTSIsCTB4NDkwN30sCisJeyJsaW51eC9pc2RuLmgiLAkiSUlPQ0dFVFNFVCIsCTB4NDkwOH0sCisJeyJsaW51eC9pc2RuLmgiLAkiSUlPQ1NFVFNFVCIsCTB4NDkwOX0sCisJeyJsaW51eC9pc2RuLmgiLAkiSUlPQ1NFVFZFUiIsCTB4NDkwYX0sCisJeyJsaW51eC9pc2RuLmgiLAkiSUlPQ05FVEhVUCIsCTB4NDkwYn0sCisJeyJsaW51eC9pc2RuLmgiLAkiSUlPQ1NFVEdTVCIsCTB4NDkwY30sCisJeyJsaW51eC9pc2RuLmgiLAkiSUlPQ1NFVEJSSiIsCTB4NDkwZH0sCisJeyJsaW51eC9pc2RuLmgiLAkiSUlPQ1NJR1BSRiIsCTB4NDkwZX0sCisJeyJsaW51eC9pc2RuLmgiLAkiSUlPQ0dFVFBSRiIsCTB4NDkwZn0sCisJeyJsaW51eC9pc2RuLmgiLAkiSUlPQ1NFVFBSRiIsCTB4NDkxMH0sCisJeyJsaW51eC9pc2RuLmgiLAkiSUlPQ0dFVE1BUCIsCTB4NDkxMX0sCisJeyJsaW51eC9pc2RuLmgiLAkiSUlPQ1NFVE1BUCIsCTB4NDkxMn0sCisJeyJsaW51eC9pc2RuLmgiLAkiSUlPQ05FVEFTTCIsCTB4NDkxM30sCisJeyJsaW51eC9pc2RuLmgiLAkiSUlPQ05FVERJTCIsCTB4NDkxNH0sCisJeyJsaW51eC9pc2RuLmgiLAkiSUlPQ0dFVENQUyIsCTB4NDkxNX0sCisJeyJsaW51eC9pc2RuLmgiLAkiSUlPQ0dFVERWUiIsCTB4NDkxNn0sCisJeyJsaW51eC9pc2RuLmgiLAkiSUlPQ05FVExDUiIsCTB4NDkxN30sCisJeyJsaW51eC9pc2RuLmgiLAkiSUlPQ05FVERXUlNFVCIsCTB4NDkxOH0sCisJeyJsaW51eC9pc2RuLmgiLAkiSUlPQ05FVEFMTiIsCTB4NDkyMH0sCisJeyJsaW51eC9pc2RuLmgiLAkiSUlPQ05FVERMTiIsCTB4NDkyMX0sCisJeyJsaW51eC9pc2RuLmgiLAkiSUlPQ05FVEdQTiIsCTB4NDkyMn0sCisJeyJsaW51eC9pc2RuLmgiLAkiSUlPQ0RCR1ZBUiIsCTB4NDk3Zn0sCisJeyJsaW51eC9pc2RuLmgiLAkiSUlPQ0RSVkNUTCIsCTB4NDk4MH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9NSVhFUl9JTkZPIiwJMHg0ZDY1fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNPVU5EX09MRF9NSVhFUl9JTkZPIiwJMHg0ZDY1fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNPVU5EX01JWEVSX0FDQ0VTUyIsCTB4NGQ2Nn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9NSVhFUl9BR0MiLAkweDRkNjd9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfTUlYRVJfM0RTRSIsCTB4NGQ2OH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9NSVhFUl9QUklWQVRFMSIsCTB4NGQ2Zn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9NSVhFUl9QUklWQVRFMiIsCTB4NGQ3MH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9NSVhFUl9QUklWQVRFMyIsCTB4NGQ3MX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9NSVhFUl9QUklWQVRFNCIsCTB4NGQ3Mn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9NSVhFUl9QUklWQVRFNSIsCTB4NGQ3M30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9NSVhFUl9HRVRMRVZFTFMiLAkweDRkNzR9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfTUlYRVJfU0VUTEVWRUxTIiwJMHg0ZDc1fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIk9TU19HRVRWRVJTSU9OIiwJMHg0ZDc2fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfUkVTRVQiLAkweDUwMDB9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9TWU5DIiwJMHg1MDAxfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfU1BFRUQiLAkweDUwMDJ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfUENNX1JFQURfUkFURSIsCTB4NTAwMn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX1NURVJFTyIsCTB4NTAwM30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX0dFVEJMS1NJWkUiLAkweDUwMDR9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9TRVRGTVQiLAkweDUwMDV9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfUENNX1JFQURfQklUUyIsCTB4NTAwNX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX0NIQU5ORUxTIiwJMHg1MDA2fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNPVU5EX1BDTV9SRUFEX0NIQU5ORUxTIiwJMHg1MDA2fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNPVU5EX1BDTV9XUklURV9GSUxURVIiLAkweDUwMDd9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfUENNX1JFQURfRklMVEVSIiwJMHg1MDA3fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfUE9TVCIsCTB4NTAwOH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX1NVQkRJVklERSIsCTB4NTAwOX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX1NFVEZSQUdNRU5UIiwJMHg1MDBhfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfR0VURk1UUyIsCTB4NTAwYn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX0dFVE9TUEFDRSIsCTB4NTAwY30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX0dFVElTUEFDRSIsCTB4NTAwZH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX05PTkJMT0NLIiwJMHg1MDBlfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfR0VUQ0FQUyIsCTB4NTAwZn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX0dFVFRSSUdHRVIiLAkweDUwMTB9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9TRVRUUklHR0VSIiwJMHg1MDEwfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfR0VUSVBUUiIsCTB4NTAxMX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX0dFVE9QVFIiLAkweDUwMTJ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9NQVBJTkJVRiIsCTB4NTAxM30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX01BUE9VVEJVRiIsCTB4NTAxNH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX1NFVFNZTkNSTyIsCTB4NTAxNX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX1NFVERVUExFWCIsCTB4NTAxNn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX0dFVE9ERUxBWSIsCTB4NTAxN30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX1BST0ZJTEUiLAkweDUwMTd9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9HRVRDSEFOTkVMTUFTSyIsCTB4NTA0MH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX0JJTkRfQ0hBTk5FTCIsCTB4NTA0MX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX1NFVFNQRElGIiwJMHg1MDQyfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfR0VUU1BESUYiLAkweDUwNDN9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NFUV9SRVNFVCIsCTB4NTEwMH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU0VRX1NZTkMiLAkweDUxMDF9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NZTlRIX0lORk8iLAkweDUxMDJ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NFUV9DVFJMUkFURSIsCTB4NTEwM30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU0VRX0dFVE9VVENPVU5UIiwJMHg1MTA0fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TRVFfR0VUSU5DT1VOVCIsCTB4NTEwNX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU0VRX1BFUkNNT0RFIiwJMHg1MTA2fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9GTV9MT0FEX0lOU1RSIiwJMHg1MTA3fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TRVFfVEVTVE1JREkiLAkweDUxMDh9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NFUV9SRVNFVFNBTVBMRVMiLAkweDUxMDl9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NFUV9OUlNZTlRIUyIsCTB4NTEwYX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU0VRX05STUlESVMiLAkweDUxMGJ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX01JRElfSU5GTyIsCTB4NTEwY30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU0VRX1RIUkVTSE9MRCIsCTB4NTEwZH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU1lOVEhfTUVNQVZMIiwJMHg1MTBlfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9GTV80T1BfRU5BQkxFIiwJMHg1MTBmfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TRVFfUEFOSUMiLAkweDUxMTF9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NFUV9PVVRPRkJBTkQiLAkweDUxMTJ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NFUV9HRVRUSU1FIiwJMHg1MTEzfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TWU5USF9JRCIsCTB4NTExNH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU1lOVEhfQ09OVFJPTCIsCTB4NTExNX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU1lOVEhfUkVNT1ZFU0FNUExFIiwJMHg1MTE2fSwKKwl7ImxpbnV4L3JhbmRvbS5oIiwJIlJOREdFVEVOVENOVCIsCTB4NTIwMH0sCisJeyJsaW51eC9yYW5kb20uaCIsCSJSTkRBRERUT0VOVENOVCIsCTB4NTIwMX0sCisJeyJsaW51eC9yYW5kb20uaCIsCSJSTkRHRVRQT09MIiwJMHg1MjAyfSwKKwl7ImxpbnV4L3JhbmRvbS5oIiwJIlJOREFEREVOVFJPUFkiLAkweDUyMDN9LAorCXsibGludXgvcmFuZG9tLmgiLAkiUk5EWkFQRU5UQ05UIiwJMHg1MjA0fSwKKwl7ImxpbnV4L3JhbmRvbS5oIiwJIlJORENMRUFSUE9PTCIsCTB4NTIwNn0sCisJeyJhc20vaW9jdGxzLmgiLAkiVENHRVRTIiwJMHg1NDAxfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9UTVJfVElNRUJBU0UiLAkweDU0MDF9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRDU0VUUyIsCTB4NTQwMn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfVE1SX1NUQVJUIiwJMHg1NDAyfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUQ1NFVFNXIiwJMHg1NDAzfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9UTVJfU1RPUCIsCTB4NTQwM30sCisJeyJhc20vaW9jdGxzLmgiLAkiVENTRVRTRiIsCTB4NTQwNH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfVE1SX0NPTlRJTlVFIiwJMHg1NDA0fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUQ0dFVEEiLAkweDU0MDV9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1RNUl9URU1QTyIsCTB4NTQwNX0sCisJeyJhc20vaW9jdGxzLmgiLAkiVENTRVRBIiwJMHg1NDA2fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9UTVJfU09VUkNFIiwJMHg1NDA2fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUQ1NFVEFXIiwJMHg1NDA3fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9UTVJfTUVUUk9OT01FIiwJMHg1NDA3fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUQ1NFVEFGIiwJMHg1NDA4fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9UTVJfU0VMRUNUIiwJMHg1NDA4fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUQ1NCUksiLAkweDU0MDl9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRDWE9OQyIsCTB4NTQwYX0sCisJeyJhc20vaW9jdGxzLmgiLAkiVENGTFNIIiwJMHg1NDBifSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DRVhDTCIsCTB4NTQwY30sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ05YQ0wiLAkweDU0MGR9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NTQ1RUWSIsCTB4NTQwZX0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ0dQR1JQIiwJMHg1NDBmfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DU1BHUlAiLAkweDU0MTB9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NPVVRRIiwJMHg1NDExfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DU1RJIiwJMHg1NDEyfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DR1dJTlNaIiwJMHg1NDEzfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DU1dJTlNaIiwJMHg1NDE0fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DTUdFVCIsCTB4NTQxNX0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ01CSVMiLAkweDU0MTZ9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NNQklDIiwJMHg1NDE3fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DTVNFVCIsCTB4NTQxOH0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ0dTT0ZUQ0FSIiwJMHg1NDE5fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DU1NPRlRDQVIiLAkweDU0MWF9LAorCXsiYXNtL2lvY3Rscy5oIiwJIkZJT05SRUFEIiwJMHg1NDFifSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DTElOVVgiLAkweDU0MWN9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NDT05TIiwJMHg1NDFkfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DR1NFUklBTCIsCTB4NTQxZX0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NTRVJJQUwiLAkweDU0MWZ9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NQS1QiLAkweDU0MjB9LAorCXsiYXNtL2lvY3Rscy5oIiwJIkZJT05CSU8iLAkweDU0MjF9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NOT1RUWSIsCTB4NTQyMn0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NFVEQiLAkweDU0MjN9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NHRVREIiwJMHg1NDI0fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUQ1NCUktQIiwJMHg1NDI1fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DVFRZR1NUUlVDVCIsCTB4NTQyNn0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NCUksiLAkweDU0Mjd9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NDQlJLIiwJMHg1NDI4fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DR1NJRCIsCTB4NTQyOX0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ0dQVE4iLAkweDU0MzB9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NTUFRMQ0siLAkweDU0MzF9LAorCXsiYXNtL2lvY3Rscy5oIiwJIkZJT05DTEVYIiwJMHg1NDUwfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJGSU9DTEVYIiwJMHg1NDUxfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJGSU9BU1lOQyIsCTB4NTQ1Mn0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NFUkNPTkZJRyIsCTB4NTQ1M30sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NFUkdXSUxEIiwJMHg1NDU0fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DU0VSU1dJTEQiLAkweDU0NTV9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NHTENLVFJNSU9TIiwJMHg1NDU2fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DU0xDS1RSTUlPUyIsCTB4NTQ1N30sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NFUkdTVFJVQ1QiLAkweDU0NTh9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NTRVJHRVRMU1IiLAkweDU0NTl9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NTRVJHRVRNVUxUSSIsCTB4NTQ1YX0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NFUlNFVE1VTFRJIiwJMHg1NDVifSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DTUlXQUlUIiwJMHg1NDVjfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DR0lDT1VOVCIsCTB4NTQ1ZH0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ0dIQVlFU0VTUCIsCTB4NTQ1ZX0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NIQVlFU0VTUCIsCTB4NTQ1Zn0sCisJeyJsaW51eC9pZl90dW4uaCIsCSJUVU5TRVROT0NTVU0iLAkweDU0Yzh9LAorCXsibGludXgvaWZfdHVuLmgiLAkiVFVOU0VUREVCVUciLAkweDU0Yzl9LAorCXsibGludXgvaWZfdHVuLmgiLAkiVFVOU0VUSUZGIiwJMHg1NGNhfSwKKwl7ImxpbnV4L2lmX3R1bi5oIiwJIlRVTlNFVFBFUlNJU1QiLAkweDU0Y2J9LAorCXsibGludXgvaWZfdHVuLmgiLAkiVFVOU0VUT1dORVIiLAkweDU0Y2N9LAorCXsibGludXgvdXNiZGV2aWNlX2ZzLmgiLAkiVVNCREVWRlNfQ09OVFJPTCIsCTB4NTUwMH0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19CVUxLIiwJMHg1NTAyfSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX1JFU0VURVAiLAkweDU1MDN9LAorCXsibGludXgvdXNiZGV2aWNlX2ZzLmgiLAkiVVNCREVWRlNfU0VUSU5URVJGQUNFIiwJMHg1NTA0fSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX1NFVENPTkZJR1VSQVRJT04iLAkweDU1MDV9LAorCXsibGludXgvdXNiZGV2aWNlX2ZzLmgiLAkiVVNCREVWRlNfR0VURFJJVkVSIiwJMHg1NTA4fSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX1NVQk1JVFVSQiIsCTB4NTUwYX0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19ESVNDQVJEVVJCIiwJMHg1NTBifSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX1JFQVBVUkIiLAkweDU1MGN9LAorCXsibGludXgvdXNiZGV2aWNlX2ZzLmgiLAkiVVNCREVWRlNfUkVBUFVSQk5ERUxBWSIsCTB4NTUwZH0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19ESVNDU0lHTkFMIiwJMHg1NTBlfSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX0NMQUlNSU5URVJGQUNFIiwJMHg1NTBmfSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX1JFTEVBU0VJTlRFUkZBQ0UiLAkweDU1MTB9LAorCXsibGludXgvdXNiZGV2aWNlX2ZzLmgiLAkiVVNCREVWRlNfQ09OTkVDVElORk8iLAkweDU1MTF9LAorCXsibGludXgvdXNiZGV2aWNlX2ZzLmgiLAkiVVNCREVWRlNfSU9DVEwiLAkweDU1MTJ9LAorCXsibGludXgvdXNiZGV2aWNlX2ZzLmgiLAkiVVNCREVWRlNfSFVCX1BPUlRJTkZPIiwJMHg1NTEzfSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX1JFU0VUIiwJMHg1NTE0fSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX0NMRUFSX0hBTFQiLAkweDU1MTV9LAorCXsibGludXgvd2F0Y2hkb2cuaCIsCSJXRElPQ19HRVRTVVBQT1JUIiwJMHg1NzAwfSwKKwl7ImxpbnV4L3dhdGNoZG9nLmgiLAkiV0RJT0NfR0VUU1RBVFVTIiwJMHg1NzAxfSwKKwl7ImxpbnV4L3dhdGNoZG9nLmgiLAkiV0RJT0NfR0VUQk9PVFNUQVRVUyIsCTB4NTcwMn0sCisJeyJsaW51eC93YXRjaGRvZy5oIiwJIldESU9DX0dFVFRFTVAiLAkweDU3MDN9LAorCXsibGludXgvd2F0Y2hkb2cuaCIsCSJXRElPQ19TRVRPUFRJT05TIiwJMHg1NzA0fSwKKwl7ImxpbnV4L3dhdGNoZG9nLmgiLAkiV0RJT0NfS0VFUEFMSVZFIiwJMHg1NzA1fSwKKwl7ImxpbnV4L3dhdGNoZG9nLmgiLAkiV0RJT0NfU0VUVElNRU9VVCIsCTB4NTcwNn0sCisJeyJsaW51eC93YXRjaGRvZy5oIiwJIldESU9DX0dFVFRJTUVPVVQiLAkweDU3MDd9LAorCXsibGludXgvaXRlX2dwaW8uaCIsCSJJVEVfR1BJT19JTiIsCTB4NWEwMH0sCisJeyJsaW51eC9pdGVfZ3Bpby5oIiwJIklURV9HUElPX09VVCIsCTB4NWEwMX0sCisJeyJsaW51eC9pdGVfZ3Bpby5oIiwJIklURV9HUElPX0lOVF9DVFJMIiwJMHg1YTAyfSwKKwl7ImxpbnV4L2l0ZV9ncGlvLmgiLAkiSVRFX0dQSU9fSU5fU1RBVFVTIiwJMHg1YTAzfSwKKwl7ImxpbnV4L2l0ZV9ncGlvLmgiLAkiSVRFX0dQSU9fT1VUX1NUQVRVUyIsCTB4NWEwNH0sCisJeyJsaW51eC9pdGVfZ3Bpby5oIiwJIklURV9HUElPX0dFTl9DVFJMIiwJMHg1YTA1fSwKKwl7ImxpbnV4L2l0ZV9ncGlvLmgiLAkiSVRFX0dQSU9fSU5UX1dBSVQiLAkweDVhMDZ9LAorCXsibGludXgvc29uZXQuaCIsCSJTT05FVF9HRVRTVEFUIiwJMHg2MTEwfSwKKwl7ImxpbnV4L3NvbmV0LmgiLAkiU09ORVRfR0VUU1RBVFoiLAkweDYxMTF9LAorCXsibGludXgvc29uZXQuaCIsCSJTT05FVF9TRVRESUFHIiwJMHg2MTEyfSwKKwl7ImxpbnV4L3NvbmV0LmgiLAkiU09ORVRfQ0xSRElBRyIsCTB4NjExM30sCisJeyJsaW51eC9zb25ldC5oIiwJIlNPTkVUX0dFVERJQUciLAkweDYxMTR9LAorCXsibGludXgvc29uZXQuaCIsCSJTT05FVF9TRVRGUkFNSU5HIiwJMHg2MTE1fSwKKwl7ImxpbnV4L3NvbmV0LmgiLAkiU09ORVRfR0VURlJBTUlORyIsCTB4NjExNn0sCisJeyJsaW51eC9zb25ldC5oIiwJIlNPTkVUX0dFVEZSU0VOU0UiLAkweDYxMTd9LAorCXsibGludXgvYXRtX2lkdDc3MTA1LmgiLAkiSURUNzcxMDVfR0VUU1RBVCIsCTB4NjEzMn0sCisJeyJsaW51eC9hdG1faWR0NzcxMDUuaCIsCSJJRFQ3NzEwNV9HRVRTVEFUWiIsCTB4NjEzM30sCisJeyJsaW51eC9hdG1kZXYuaCIsCSJBVE1fR0VUU1RBVCIsCTB4NjE1MH0sCisJeyJsaW51eC9hdG1kZXYuaCIsCSJBVE1fR0VUU1RBVFoiLAkweDYxNTF9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX0dFVExPT1AiLAkweDYxNTJ9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX1NFVExPT1AiLAkweDYxNTN9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX1FVRVJZTE9PUCIsCTB4NjE1NH0sCisJeyJsaW51eC9hdG1fZW5pLmgiLAkiRU5JX01FTURVTVAiLAkweDYxNjB9LAorCXsibGludXgvYXRtX25pY3N0YXIuaCIsCSJOU19HRVRQU1RBVCIsCTB4NjE2MX0sCisJeyJsaW51eC9hdG1femF0bS5oIiwJIlpBVE1fR0VUUE9PTCIsCTB4NjE2MX0sCisJeyJsaW51eC9hdG1fbmljc3Rhci5oIiwJIk5TX1NFVEJVRkxFViIsCTB4NjE2Mn0sCisJeyJsaW51eC9hdG1femF0bS5oIiwJIlpBVE1fR0VUUE9PTFoiLAkweDYxNjJ9LAorCXsibGludXgvYXRtX25pY3N0YXIuaCIsCSJOU19BREpCVUZMRVYiLAkweDYxNjN9LAorCXsibGludXgvYXRtX3phdG0uaCIsCSJaQVRNX1NFVFBPT0wiLAkweDYxNjN9LAorCXsibGludXgvYXRtX3phdG0uaCIsCSJaQVRNX0dFVFRISVNUIiwJMHg2MTY0fSwKKwl7ImxpbnV4L2F0bV9lbmkuaCIsCSJFTklfU0VUTVVMVCIsCTB4NjE2N30sCisJeyJsaW51eC9hdG1fdGNwLmgiLAkiU0lPQ1NJRkFUTVRDUCIsCTB4NjE4MH0sCisJeyJsaW51eC9hdG1kZXYuaCIsCSJBVE1fR0VUTElOS1JBVEUiLAkweDYxODF9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX0dFVE5BTUVTIiwJMHg2MTgzfSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9HRVRUWVBFIiwJMHg2MTg0fSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9HRVRFU0kiLAkweDYxODV9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX0dFVEFERFIiLAkweDYxODZ9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX1JTVEFERFIiLAkweDYxODd9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX0FEREFERFIiLAkweDYxODh9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX0RFTEFERFIiLAkweDYxODl9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX0dFVENJUkFOR0UiLAkweDYxOGF9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX1NFVENJUkFOR0UiLAkweDYxOGJ9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX1NFVEVTSSIsCTB4NjE4Y30sCisJeyJsaW51eC9hdG1kZXYuaCIsCSJBVE1fU0VURVNJRiIsCTB4NjE4ZH0sCisJeyJsaW51eC9hdG1fdGNwLmgiLAkiQVRNVENQX0NSRUFURSIsCTB4NjE4ZX0sCisJeyJsaW51eC9hdG1fdGNwLmgiLAkiQVRNVENQX1JFTU9WRSIsCTB4NjE4Zn0sCisJeyJsaW51eC9hdG1sZWMuaCIsCSJBVE1MRUNfQ1RSTCIsCTB4NjFkMH0sCisJeyJsaW51eC9hdG1sZWMuaCIsCSJBVE1MRUNfREFUQSIsCTB4NjFkMX0sCisJeyJsaW51eC9hdG1sZWMuaCIsCSJBVE1MRUNfTUNBU1QiLAkweDYxZDJ9LAorCXsibGludXgvYXRtbXBjLmgiLAkiQVRNTVBDX0NUUkwiLAkweDYxZDh9LAorCXsibGludXgvYXRtbXBjLmgiLAkiQVRNTVBDX0RBVEEiLAkweDYxZDl9LAorCXsibGludXgvYXRtY2xpcC5oIiwJIlNJT0NNS0NMSVAiLAkweDYxZTB9LAorCXsibGludXgvYXRtYXJwLmgiLAkiQVRNQVJQRF9DVFJMIiwJMHg2MWUxfSwKKwl7ImxpbnV4L2F0bWFycC5oIiwJIkFUTUFSUF9NS0lQIiwJMHg2MWUyfSwKKwl7ImxpbnV4L2F0bWFycC5oIiwJIkFUTUFSUF9TRVRFTlRSWSIsCTB4NjFlM30sCisJeyJsaW51eC9hdG1hcnAuaCIsCSJBVE1BUlBfRU5DQVAiLAkweDYxZTV9LAorCXsibGludXgvYXRtc3ZjLmgiLAkiQVRNU0lHRF9DVFJMIiwJMHg2MWYwfSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9TRVRTQyIsCTB4NjFmMX0sCisJeyJsaW51eC9hdG1kZXYuaCIsCSJBVE1fU0VUQkFDS0VORCIsCTB4NjFmMn0sCisJeyJsaW51eC9jb2RhLmgiLAkiQ0lPQ19LRVJORUxfVkVSU0lPTiIsCTB4NjMwYX0sCisJeyJsaW51eC9jb21zdGF0cy5oIiwJIkNPTV9HRVRQT1JUU1RBVFMiLAkweDYzMWV9LAorCXsibGludXgvY29tc3RhdHMuaCIsCSJDT01fQ0xSUE9SVFNUQVRTIiwJMHg2MzFmfSwKKwl7ImxpbnV4L2NvbXN0YXRzLmgiLAkiQ09NX0dFVEJSRFNUQVRTIiwJMHg2MzIwfSwKKwl7ImxpbnV4L2NvbXN0YXRzLmgiLAkiQ09NX1JFQURQT1JUIiwJMHg2MzI4fSwKKwl7ImxpbnV4L2NvbXN0YXRzLmgiLAkiQ09NX1JFQURCT0FSRCIsCTB4NjMyOX0sCisJeyJsaW51eC9jb21zdGF0cy5oIiwJIkNPTV9SRUFEUEFORUwiLAkweDYzMmF9LAorCXsibGludXgvZGV2ZnNfZnMuaCIsCSJERVZGU0RJT0NfR0VUX1BST1RPX1JFViIsCTB4NjQwMH0sCisJeyJsaW51eC92aWRlb19kZWNvZGVyLmgiLAkiREVDT0RFUl9HRVRfQ0FQQUJJTElUSUVTIiwJMHg2NDAxfSwKKwl7ImxpbnV4L2RldmZzX2ZzLmgiLAkiREVWRlNESU9DX1NFVF9FVkVOVF9NQVNLIiwJMHg2NDAyfSwKKwl7ImxpbnV4L3ZpZGVvX2RlY29kZXIuaCIsCSJERUNPREVSX0dFVF9TVEFUVVMiLAkweDY0MDJ9LAorCXsibGludXgvZGV2ZnNfZnMuaCIsCSJERVZGU0RJT0NfUkVMRUFTRV9FVkVOVF9RVUVVRSIsCTB4NjQwM30sCisJeyJsaW51eC92aWRlb19kZWNvZGVyLmgiLAkiREVDT0RFUl9TRVRfTk9STSIsCTB4NjQwM30sCisJeyJsaW51eC9kZXZmc19mcy5oIiwJIkRFVkZTRElPQ19TRVRfREVCVUdfTUFTSyIsCTB4NjQwNH0sCisJeyJsaW51eC92aWRlb19kZWNvZGVyLmgiLAkiREVDT0RFUl9TRVRfSU5QVVQiLAkweDY0MDR9LAorCXsibGludXgvdmlkZW9fZGVjb2Rlci5oIiwJIkRFQ09ERVJfU0VUX09VVFBVVCIsCTB4NjQwNX0sCisJeyJsaW51eC92aWRlb19kZWNvZGVyLmgiLAkiREVDT0RFUl9FTkFCTEVfT1VUUFVUIiwJMHg2NDA2fSwKKwl7ImxpbnV4L3ZpZGVvX2RlY29kZXIuaCIsCSJERUNPREVSX1NFVF9QSUNUVVJFIiwJMHg2NDA3fSwKKwl7ImxpbnV4L3ZpZGVvX2RlY29kZXIuaCIsCSJERUNPREVSX0RVTVAiLAkweDY0YzB9LAorCXsibGludXgvdmlkZW9fZW5jb2Rlci5oIiwJIkVOQ09ERVJfR0VUX0NBUEFCSUxJVElFUyIsCTB4NjUwMX0sCisJeyJsaW51eC92aWRlb19lbmNvZGVyLmgiLAkiRU5DT0RFUl9TRVRfTk9STSIsCTB4NjUwMn0sCisJeyJsaW51eC92aWRlb19lbmNvZGVyLmgiLAkiRU5DT0RFUl9TRVRfSU5QVVQiLAkweDY1MDN9LAorCXsibGludXgvdmlkZW9fZW5jb2Rlci5oIiwJIkVOQ09ERVJfU0VUX09VVFBVVCIsCTB4NjUwNH0sCisJeyJsaW51eC92aWRlb19lbmNvZGVyLmgiLAkiRU5DT0RFUl9FTkFCTEVfT1VUUFVUIiwJMHg2NTA1fSwKKwl7ImxpbnV4L2V4dDJfZnMuaCIsCSJFWFQyX0lPQ19HRVRGTEFHUyIsCTB4NjYwMX0sCisJeyJsaW51eC9leHQzX2ZzLmgiLAkiRVhUM19JT0NfR0VURkxBR1MiLAkweDY2MDF9LAorCXsibGludXgvZXh0Ml9mcy5oIiwJIkVYVDJfSU9DX1NFVEZMQUdTIiwJMHg2NjAyfSwKKwl7ImxpbnV4L2V4dDNfZnMuaCIsCSJFWFQzX0lPQ19TRVRGTEFHUyIsCTB4NjYwMn0sCisJeyJsaW51eC9leHQzX2ZzLmgiLAkiRVhUM19JT0NfR0VUVkVSU0lPTiIsCTB4NjYwM30sCisJeyJsaW51eC9leHQzX2ZzLmgiLAkiRVhUM19JT0NfU0VUVkVSU0lPTiIsCTB4NjYwNH0sCisJeyJsaW51eC9leHQzX2ZzLmgiLAkiRVhUM19JT0NfV0FJVF9GT1JfUkVBRE9OTFkiLAkweDY2NjN9LAorCXsibGludXgvaTJvLWRldi5oIiwJIkkyT0dFVElPUFMiLAkweDY5MDB9LAorCXsibGludXgvaTJvLWRldi5oIiwJIkkyT0hSVEdFVCIsCTB4NjkwMX0sCisJeyJsaW51eC9pMm8tZGV2LmgiLAkiSTJPTENUR0VUIiwJMHg2OTAyfSwKKwl7ImxpbnV4L2kyby1kZXYuaCIsCSJJMk9QQVJNU0VUIiwJMHg2OTAzfSwKKwl7ImxpbnV4L2kyby1kZXYuaCIsCSJJMk9QQVJNR0VUIiwJMHg2OTA0fSwKKwl7ImxpbnV4L2kyby1kZXYuaCIsCSJJMk9TV0RMIiwJMHg2OTA1fSwKKwl7ImxpbnV4L2kyby1kZXYuaCIsCSJJMk9TV1VMIiwJMHg2OTA2fSwKKwl7ImxpbnV4L2kyby1kZXYuaCIsCSJJMk9TV0RFTCIsCTB4NjkwN30sCisJeyJsaW51eC9pMm8tZGV2LmgiLAkiSTJPVkFMSURBVEUiLAkweDY5MDh9LAorCXsibGludXgvaTJvLWRldi5oIiwJIkkyT0hUTUwiLAkweDY5MDl9LAorCXsibGludXgvaTJvLWRldi5oIiwJIkkyT0VWVFJFRyIsCTB4NjkwYX0sCisJeyJsaW51eC9pMm8tZGV2LmgiLAkiSTJPRVZUR0VUIiwJMHg2OTBifSwKKwl7ImxpbnV4L2k4ay5oIiwJIkk4S19CSU9TX1ZFUlNJT04iLAkweDY5ODB9LAorCXsibGludXgvaThrLmgiLAkiSThLX01BQ0hJTkVfSUQiLAkweDY5ODF9LAorCXsibGludXgvaThrLmgiLAkiSThLX1BPV0VSX1NUQVRVUyIsCTB4Njk4Mn0sCisJeyJsaW51eC9pOGsuaCIsCSJJOEtfRk5fU1RBVFVTIiwJMHg2OTgzfSwKKwl7ImxpbnV4L2k4ay5oIiwJIkk4S19HRVRfVEVNUCIsCTB4Njk4NH0sCisJeyJsaW51eC9pOGsuaCIsCSJJOEtfR0VUX1NQRUVEIiwJMHg2OTg1fSwKKwl7ImxpbnV4L2k4ay5oIiwJIkk4S19HRVRfRkFOIiwJMHg2OTg2fSwKKwl7ImxpbnV4L2k4ay5oIiwJIkk4S19TRVRfRkFOIiwJMHg2OTg3fSwKKwl7ImxpbnV4L2pveXN0aWNrLmgiLAkiSlNJT0NHVkVSU0lPTiIsCTB4NmEwMX0sCisJeyJsaW51eC9qb3lzdGljay5oIiwJIkpTSU9DR0FYRVMiLAkweDZhMTF9LAorCXsibGludXgvam95c3RpY2suaCIsCSJKU0lPQ0dCVVRUT05TIiwJMHg2YTEyfSwKKwl7ImxpbnV4L2pveXN0aWNrLmgiLAkiSlNJT0NTQ09SUiIsCTB4NmEyMX0sCisJeyJsaW51eC9qb3lzdGljay5oIiwJIkpTSU9DR0NPUlIiLAkweDZhMjJ9LAorCXsibGludXgvam95c3RpY2suaCIsCSJKU0lPQ1NBWE1BUCIsCTB4NmEzMX0sCisJeyJsaW51eC9qb3lzdGljay5oIiwJIkpTSU9DR0FYTUFQIiwJMHg2YTMyfSwKKwl7ImxpbnV4L2pveXN0aWNrLmgiLAkiSlNJT0NTQlROTUFQIiwJMHg2YTMzfSwKKwl7ImxpbnV4L2pveXN0aWNrLmgiLAkiSlNJT0NHQlROTUFQIiwJMHg2YTM0fSwKKwl7ImxpbnV4L3VkZl9mc19pLmgiLAkiVURGX0dFVEVBU0laRSIsCTB4NmM0MH0sCisJeyJsaW51eC91ZGZfZnNfaS5oIiwJIlVERl9HRVRFQUJMT0NLIiwJMHg2YzQxfSwKKwl7ImxpbnV4L3VkZl9mc19pLmgiLAkiVURGX0dFVFZPTElERU5UIiwJMHg2YzQyfSwKKwl7ImxpbnV4L3VkZl9mc19pLmgiLAkiVURGX1JFTE9DQVRFX0JMT0NLUyIsCTB4NmM0M30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfTUlESV9QUkVUSU1FIiwJMHg2ZDAwfSwKKwl7ImxpbnV4L3N5bmNsaW5rLmgiLAkiTUdTTF9JT0NTUEFSQU1TIiwJMHg2ZDAwfSwKKwl7ImxpbnV4L210aW8uaCIsCSJNVElPQ1RPUCIsCTB4NmQwMX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfTUlESV9NUFVNT0RFIiwJMHg2ZDAxfSwKKwl7ImxpbnV4L3N5bmNsaW5rLmgiLAkiTUdTTF9JT0NHUEFSQU1TIiwJMHg2ZDAxfSwKKwl7ImxpbnV4L210aW8uaCIsCSJNVElPQ0dFVCIsCTB4NmQwMn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfTUlESV9NUFVDTUQiLAkweDZkMDJ9LAorCXsibGludXgvc3luY2xpbmsuaCIsCSJNR1NMX0lPQ1NUWElETEUiLAkweDZkMDJ9LAorCXsibGludXgvbXRpby5oIiwJIk1USU9DUE9TIiwJMHg2ZDAzfSwKKwl7ImxpbnV4L3N5bmNsaW5rLmgiLAkiTUdTTF9JT0NHVFhJRExFIiwJMHg2ZDAzfSwKKwl7ImxpbnV4L210aW8uaCIsCSJNVElPQ0dFVENPTkZJRyIsCTB4NmQwNH0sCisJeyJsaW51eC9zeW5jbGluay5oIiwJIk1HU0xfSU9DVFhFTkFCTEUiLAkweDZkMDR9LAorCXsibGludXgvbXRpby5oIiwJIk1USU9DU0VUQ09ORklHIiwJMHg2ZDA1fSwKKwl7ImxpbnV4L3N5bmNsaW5rLmgiLAkiTUdTTF9JT0NSWEVOQUJMRSIsCTB4NmQwNX0sCisJeyJsaW51eC9tdGlvLmgiLAkiTVRJT0NSREZUU0VHIiwJMHg2ZDA2fSwKKwl7ImxpbnV4L3N5bmNsaW5rLmgiLAkiTUdTTF9JT0NUWEFCT1JUIiwJMHg2ZDA2fSwKKwl7ImxpbnV4L210aW8uaCIsCSJNVElPQ1dSRlRTRUciLAkweDZkMDd9LAorCXsibGludXgvc3luY2xpbmsuaCIsCSJNR1NMX0lPQ0dTVEFUUyIsCTB4NmQwN30sCisJeyJsaW51eC9tdGlvLmgiLAkiTVRJT0NWT0xJTkZPIiwJMHg2ZDA4fSwKKwl7ImxpbnV4L3N5bmNsaW5rLmgiLAkiTUdTTF9JT0NXQUlURVZFTlQiLAkweDZkMDh9LAorCXsibGludXgvbXRpby5oIiwJIk1USU9DR0VUU0laRSIsCTB4NmQwOX0sCisJeyJsaW51eC9zeW5jbGluay5oIiwJIk1HU0xfSU9DTE9PUFRYRE9ORSIsCTB4NmQwOX0sCisJeyJsaW51eC9tdGlvLmgiLAkiTVRJT0NGVEZPUk1BVCIsCTB4NmQwYX0sCisJeyJsaW51eC9tdGlvLmgiLAkiTVRJT0NGVENNRCIsCTB4NmQwYn0sCisJeyJsaW51eC9zeW5jbGluay5oIiwJIk1HU0xfSU9DQ0xSTU9EQ09VTlQiLAkweDZkMGZ9LAorCXsibGludXgvemZ0YXBlLmgiLAkiTVRJT0NfWkZUQVBFX0dFVEJMS1NaIiwJMHg2ZDY4fSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfTkNQUkVRVUVTVCIsCTB4NmUwMX0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX0dFVE1PVU5UVUlEIiwJMHg2ZTAyfSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfR0VUTU9VTlRVSUQyIiwJMHg2ZTAyfSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfQ09OTl9MT0dHRURfSU4iLAkweDZlMDN9LAorCXsibGludXgvbmNwX2ZzLmgiLAkiTkNQX0lPQ19HRVRfRlNfSU5GTyIsCTB4NmUwNH0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX0dFVF9GU19JTkZPX1YyIiwJMHg2ZTA0fSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfU0lHTl9JTklUIiwJMHg2ZTA1fSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfU0lHTl9XQU5URUQiLAkweDZlMDZ9LAorCXsibGludXgvbmNwX2ZzLmgiLAkiTkNQX0lPQ19TRVRfU0lHTl9XQU5URUQiLAkweDZlMDZ9LAorCXsibGludXgvbmNwX2ZzLmgiLAkiTkNQX0lPQ19MT0NLVU5MT0NLIiwJMHg2ZTA3fSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfR0VUUk9PVCIsCTB4NmUwOH0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX1NFVFJPT1QiLAkweDZlMDh9LAorCXsibGludXgvbmNwX2ZzLmgiLAkiTkNQX0lPQ19HRVRPQkpFQ1ROQU1FIiwJMHg2ZTA5fSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfU0VUT0JKRUNUTkFNRSIsCTB4NmUwOX0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX0dFVFBSSVZBVEVEQVRBIiwJMHg2ZTBhfSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfU0VUUFJJVkFURURBVEEiLAkweDZlMGF9LAorCXsibGludXgvbmNwX2ZzLmgiLAkiTkNQX0lPQ19HRVRDSEFSU0VUUyIsCTB4NmUwYn0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX1NFVENIQVJTRVRTIiwJMHg2ZTBifSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfR0VUREVOVFJZVFRMIiwJMHg2ZTBjfSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfU0VUREVOVFJZVFRMIiwJMHg2ZTBjfSwKKwl7ImxpbnV4L21hdHJveGZiLmgiLAkiTUFUUk9YRkJfU0VUX09VVFBVVF9DT05ORUNUSU9OIiwJMHg2ZWY4fSwKKwl7ImxpbnV4L21hdHJveGZiLmgiLAkiTUFUUk9YRkJfR0VUX09VVFBVVF9DT05ORUNUSU9OIiwJMHg2ZWY4fSwKKwl7ImxpbnV4L21hdHJveGZiLmgiLAkiTUFUUk9YRkJfR0VUX0FWQUlMQUJMRV9PVVRQVVRTIiwJMHg2ZWY5fSwKKwl7ImxpbnV4L21hdHJveGZiLmgiLAkiTUFUUk9YRkJfU0VUX09VVFBVVF9NT0RFIiwJMHg2ZWZhfSwKKwl7ImxpbnV4L21hdHJveGZiLmgiLAkiTUFUUk9YRkJfR0VUX09VVFBVVF9NT0RFIiwJMHg2ZWZhfSwKKwl7ImxpbnV4L21hdHJveGZiLmgiLAkiTUFUUk9YRkJfR0VUX0FMTF9PVVRQVVRTIiwJMHg2ZWZifSwKKwl7ImxpbnV4L3J0Yy5oIiwJIlJUQ19BSUVfT04iLAkweDcwMDF9LAorCXsibGludXgvcnRjLmgiLAkiUlRDX0FJRV9PRkYiLAkweDcwMDJ9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19HRVRNT1VOVCIsCTB4NzAwM30sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfVUlFX09OIiwJMHg3MDAzfSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fU0VUUElEIiwJMHg3MDA0fSwKKwl7ImxpbnV4L3J0Yy5oIiwJIlJUQ19VSUVfT0ZGIiwJMHg3MDA0fSwKKwl7ImxpbnV4L3J0Yy5oIiwJIlJUQ19QSUVfT04iLAkweDcwMDV9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19DTE9TRV9KT1VSTkFMRiIsCTB4NzAwNn0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfUElFX09GRiIsCTB4NzAwNn0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX1NFVF9GU0VUUk9PVCIsCTB4NzAwN30sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfQUxNX1NFVCIsCTB4NzAwN30sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX0NMRUFSX0ZTRVRST09UIiwJMHg3MDA4fSwKKwl7ImxpbnV4L3J0Yy5oIiwJIlJUQ19BTE1fUkVBRCIsCTB4NzAwOH0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX1NFVE9QVCIsCTB4NzAwOX0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfUkRfVElNRSIsCTB4NzAwOX0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX0dFVE9QVCIsCTB4NzAwYX0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfU0VUX1RJTUUiLAkweDcwMGF9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19HRVRfS01MU0laRSIsCTB4NzAwYn0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfSVJRUF9SRUFEIiwJMHg3MDBifSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fR0VUX1JFQ05PIiwJMHg3MDBjfSwKKwl7ImxpbnV4L3J0Yy5oIiwJIlJUQ19JUlFQX1NFVCIsCTB4NzAwY30sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfRVBPQ0hfUkVBRCIsCTB4NzAwZH0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfRVBPQ0hfU0VUIiwJMHg3MDBlfSwKKwl7ImxpbnV4L3J0Yy5oIiwJIlJUQ19XSUVfT04iLAkweDcwMGZ9LAorCXsibGludXgvcnRjLmgiLAkiUlRDX1dLQUxNX1NFVCIsCTB4NzAwZn0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX1ZGU19TRVRBVFRSIiwJMHg3MDEwfSwKKwl7ImxpbnV4L3J0Yy5oIiwJIlJUQ19XSUVfT0ZGIiwJMHg3MDEwfSwKKwl7ImxpbnV4L3J0Yy5oIiwJIlJUQ19XS0FMTV9SRCIsCTB4NzAxMH0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX1ZGU19DUkVBVEUiLAkweDcwMTF9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19WRlNfTElOSyIsCTB4NzAxMn0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX1ZGU19VTkxJTksiLAkweDcwMTN9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19WRlNfU1lNTElOSyIsCTB4NzAxNH0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX1ZGU19NS0RJUiIsCTB4NzAxNX0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX1ZGU19STURJUiIsCTB4NzAxNn0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX1ZGU19NS05PRCIsCTB4NzAxN30sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX1ZGU19SRU5BTUUiLAkweDcwMTh9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19WRlNfQ0xPU0UiLAkweDcwMWF9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19WRlNfSU9QRU4iLAkweDcwMWJ9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19WRlNfU0VURVhUQVRUUiIsCTB4NzAxY30sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX1ZGU19ERUxFWFRBVFRSIiwJMHg3MDFkfSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fTUFSSyIsCTB4NzAyMH0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX1JFTEVBU0VfUEVSTUlUIiwJMHg3MDIxfSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fQ0xFQVJfQUxMX0ZTRVRST09UUyIsCTB4NzAyMn0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX0JBQ0tGRVRDSF9MTUwiLAkweDcwMjN9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19SRUlOVCIsCTB4NzAyNH0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX0NBTkNFTF9MTUwiLAkweDcwMjV9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19SRVNFVF9GU0VUIiwJMHg3MDI2fSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fQ09NUExFVEVfQ0xPU0VTIiwJMHg3MDI3fSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fUkVJTlRfQkVHSU4iLAkweDcwMzB9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19ET19SRUlOVCIsCTB4NzAzMX0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX1JFSU5UX0VORCIsCTB4NzAzMn0sCisJeyJsaW51eC9udnJhbS5oIiwJIk5WUkFNX0lOSVQiLAkweDcwNDB9LAorCXsibGludXgvbnZyYW0uaCIsCSJOVlJBTV9TRVRDS1MiLAkweDcwNDF9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUFNFVE1PREUiLAkweDcwODB9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUFJTVEFUVVMiLAkweDcwODF9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUFJDT05UUk9MIiwJMHg3MDgzfSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBXQ09OVFJPTCIsCTB4NzA4NH0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQUkRBVEEiLAkweDcwODV9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUFdEQVRBIiwJMHg3MDg2fSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBDTEFJTSIsCTB4NzA4Yn0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQUkVMRUFTRSIsCTB4NzA4Y30sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQWUlFTEQiLAkweDcwOGR9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUEZDT05UUk9MIiwJMHg3MDhlfSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBFWENMIiwJMHg3MDhmfSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBEQVRBRElSIiwJMHg3MDkwfSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBORUdPVCIsCTB4NzA5MX0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQV0NUTE9OSVJRIiwJMHg3MDkyfSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBDTFJJUlEiLAkweDcwOTN9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUFNFVFBIQVNFIiwJMHg3MDk0fSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBHRVRUSU1FIiwJMHg3MDk1fSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBTRVRUSU1FIiwJMHg3MDk2fSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBHRVRNT0RFUyIsCTB4NzA5N30sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQR0VUTU9ERSIsCTB4NzA5OH0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQR0VUUEhBU0UiLAkweDcwOTl9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUEdFVEZMQUdTIiwJMHg3MDlhfSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBTRVRGTEFHUyIsCTB4NzA5Yn0sCisJeyJsaW51eC9zZXJpby5oIiwJIlNQSU9DU1RZUEUiLAkweDcxMDF9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfQ0FQQUJJTElUSUVTIiwJMHg3MTgwfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX0NBUEFCSUxJVElFU19MSVNUIiwJMHg3MTgxfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX0NBUEFCSUxJVElFU19DSEVDSyIsCTB4NzE4Mn0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9SSU5HIiwJMHg3MTgzfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX0hPT0tTVEFURSIsCTB4NzE4NH0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9NQVhSSU5HUyIsCTB4NzE4NX0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9SSU5HX0NBREVOQ0UiLAkweDcxODZ9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiT0xEX1BIT05FX1JJTkdfU1RBUlQiLAkweDcxODd9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUklOR19TVEFSVCIsCTB4NzE4N30sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9SSU5HX1NUT1AiLAkweDcxODh9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUkVDX0NPREVDIiwJMHg3MTg5fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1JFQ19TVEFSVCIsCTB4NzE4YX0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9SRUNfU1RPUCIsCTB4NzE4Yn0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9SRUNfREVQVEgiLAkweDcxOGN9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfRlJBTUUiLAkweDcxOGR9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUkVDX1ZPTFVNRSIsCTB4NzE4ZX0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9SRUNfTEVWRUwiLAkweDcxOGZ9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUExBWV9DT0RFQyIsCTB4NzE5MH0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9QTEFZX1NUQVJUIiwJMHg3MTkxfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1BMQVlfU1RPUCIsCTB4NzE5Mn0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9QTEFZX0RFUFRIIiwJMHg3MTkzfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1BMQVlfVk9MVU1FIiwJMHg3MTk0fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1BMQVlfTEVWRUwiLAkweDcxOTV9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfRFRNRl9SRUFEWSIsCTB4NzE5Nn0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9HRVRfRFRNRiIsCTB4NzE5N30sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9HRVRfRFRNRl9BU0NJSSIsCTB4NzE5OH0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9EVE1GX09PQiIsCTB4NzE5OX0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9FWENFUFRJT04iLAkweDcxOWF9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUExBWV9UT05FIiwJMHg3MTlifSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1NFVF9UT05FX09OX1RJTUUiLAkweDcxOWN9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfU0VUX1RPTkVfT0ZGX1RJTUUiLAkweDcxOWR9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfR0VUX1RPTkVfT05fVElNRSIsCTB4NzE5ZX0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9HRVRfVE9ORV9PRkZfVElNRSIsCTB4NzE5Zn0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9HRVRfVE9ORV9TVEFURSIsCTB4NzFhMH0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9CVVNZIiwJMHg3MWExfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1JJTkdCQUNLIiwJMHg3MWEyfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX0RJQUxUT05FIiwJMHg3MWEzfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX0NQVF9TVE9QIiwJMHg3MWE0fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1BTVE5fU0VUX1NUQVRFIiwJMHg3MWE0fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1BTVE5fR0VUX1NUQVRFIiwJMHg3MWE1fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1dJTktfRFVSQVRJT04iLAkweDcxYTZ9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUVVFUllfQ09ERUMiLAkweDcxYTd9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUFNUTl9MSU5FVEVTVCIsCTB4NzFhOH0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9WQUQiLAkweDcxYTl9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfV0lOSyIsCTB4NzFhYX0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0RTUF9SRVNFVCIsCTB4NzFjMH0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0NBUkRUWVBFIiwJMHg3MWMxfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfU0VSSUFMIiwJMHg3MWMyfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfRFNQX1RZUEUiLAkweDcxYzN9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9EU1BfVkVSU0lPTiIsCTB4NzFjNH0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0RTUF9JRExFIiwJMHg3MWM1fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfVEVTVFJBTSIsCTB4NzFjNn0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1NFVF9GSUxURVIiLAkweDcxYzd9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9HRVRfRklMVEVSX0hJU1QiLAkweDcxYzh9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9JTklUX1RPTkUiLAkweDcxYzl9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9UT05FX0NBREVOQ0UiLAkweDcxY2F9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9BRUNfU1RBUlQiLAkweDcxY2J9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9BRUNfU1RPUCIsCTB4NzFjY30sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0FFQ19HRVRfTEVWRUwiLAkweDcxY2R9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9TRVRfTEVEIiwJMHg3MWNlfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfTUlYRVIiLAkweDcxY2Z9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9EQUFfQ09FRkZfU0VUIiwJMHg3MWQwfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfUE9SVCIsCTB4NzFkMX0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0RBQV9BR0FJTiIsCTB4NzFkMn0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1BTVE5fTElORVRFU1QiLAkweDcxZDN9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9DSUQiLAkweDcxZDR9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9QT1RTX1BTVE4iLAkweDcxZDV9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9GSUxURVJfQ0FERU5DRSIsCTB4NzFkNn0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1BMQVlfQ0lEIiwJMHg3MWQ3fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfVk1XSSIsCTB4NzFkOH0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0NJRENXIiwJMHg3MWQ5fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfVkVSU0lPTiIsCTB4NzFkYX0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9SRUNfVk9MVU1FX0xJTkVBUiIsCTB4NzFkYn0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9QTEFZX1ZPTFVNRV9MSU5FQVIiLAkweDcxZGN9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9TRVRfRklMVEVSX1JBVyIsCTB4NzFkZH0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0haIiwJMHg3MWUwfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfUkFURSIsCTB4NzFlMX0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0ZSQU1FU19SRUFEIiwJMHg3MWUyfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfRlJBTUVTX1dSSVRURU4iLAkweDcxZTN9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9SRUFEX1dBSVQiLAkweDcxZTR9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9XUklURV9XQUlUIiwJMHg3MWU1fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfRFJZQlVGRkVSX1JFQUQiLAkweDcxZTZ9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9EUllCVUZGRVJfQ0xFQVIiLAkweDcxZTd9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9EVE1GX1BSRVNDQUxFIiwJMHg3MWU4fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfU0lHQ1RMIiwJMHg3MWU5fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfU0NfUlhHIiwJMHg3MWVhfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfU0NfVFhHIiwJMHg3MWVifSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfSU5URVJDT01fU1RBUlQiLAkweDcxZmR9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9JTlRFUkNPTV9TVE9QIiwJMHg3MWZlfSwKKwl7ImxpbnV4L21zZG9zX2ZzLmgiLAkiVkZBVF9JT0NUTF9SRUFERElSX0JPVEgiLAkweDcyMDF9LAorCXsibGludXgvbXNkb3NfZnMuaCIsCSJWRkFUX0lPQ1RMX1JFQURESVJfU0hPUlQiLAkweDcyMDJ9LAorCXsibGludXgvY2RrLmgiLAkiU1RMX0JJTlRSIiwJMHg3MzE0fSwKKwl7ImxpbnV4L2Nkay5oIiwJIlNUTF9CU1RBUlQiLAkweDczMTV9LAorCXsibGludXgvY2RrLmgiLAkiU1RMX0JTVE9QIiwJMHg3MzE2fSwKKwl7ImxpbnV4L2Nkay5oIiwJIlNUTF9CUkVTRVQiLAkweDczMTd9LAorCXsibGludXgvY2RrLmgiLAkiU1RMX0dFVFBGTEFHIiwJMHg3MzUwfSwKKwl7ImxpbnV4L2Nkay5oIiwJIlNUTF9TRVRQRkxBRyIsCTB4NzM1MX0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NHQ0hBTiIsCTB4NzQzN30sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NBVFRDSEFOIiwJMHg3NDM4fSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ0RJU0NPTk4iLAkweDc0Mzl9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DQ09OTkVDVCIsCTB4NzQzYX0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NTTVJSVSIsCTB4NzQzYn0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NERVRBQ0giLAkweDc0M2N9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DQVRUQUNIIiwJMHg3NDNkfSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ05FV1VOSVQiLAkweDc0M2V9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DR0lETEUiLAkweDc0M2Z9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DU0RFQlVHIiwJMHg3NDQwfSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ0dERUJVRyIsCTB4NzQ0MX0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NTQUNUSVZFIiwJMHg3NDQ2fSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ1NQQVNTIiwJMHg3NDQ3fSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ1NOUE1PREUiLAkweDc0NGJ9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DR05QTU9ERSIsCTB4NzQ0Y30sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NTQ09NUFJFU1MiLAkweDc0NGR9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DWEZFUlVOSVQiLAkweDc0NGV9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DU1hBU1lOQ01BUCIsCTB4NzQ0Zn0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NHWEFTWU5DTUFQIiwJMHg3NDUwfSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ1NNQVhDSUQiLAkweDc0NTF9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DU01SVSIsCTB4NzQ1Mn0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NHTVJVIiwJMHg3NDUzfSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ1NSQVNZTkNNQVAiLAkweDc0NTR9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DR1JBU1lOQ01BUCIsCTB4NzQ1NX0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NHVU5JVCIsCTB4NzQ1Nn0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NTQVNZTkNNQVAiLAkweDc0NTd9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DR0FTWU5DTUFQIiwJMHg3NDU4fSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ1NGTEFHUyIsCTB4NzQ1OX0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NHRkxBR1MiLAkweDc0NWF9LAorCXsibGludXgvamZmcy5oIiwJIkpGRlNfUFJJTlRfSEFTSCIsCTB4NzQ1YX0sCisJeyJsaW51eC9qZmZzLmgiLAkiSkZGU19QUklOVF9UUkVFIiwJMHg3NDVifSwKKwl7ImxpbnV4L2pmZnMuaCIsCSJKRkZTX0dFVF9TVEFUVVMiLAkweDc0NWN9LAorCXsibGludXgvaXNkbl9wcHAuaCIsCSJQUFBJT0NHQ0FMTElORk8iLAkweDc0ODB9LAorCXsibGludXgvaXNkbl9wcHAuaCIsCSJQUFBJT0NCVU5ETEUiLAkweDc0ODF9LAorCXsibGludXgvaXNkbl9wcHAuaCIsCSJQUFBJT0NHTVBGTEFHUyIsCTB4NzQ4Mn0sCisJeyJsaW51eC9pc2RuX3BwcC5oIiwJIlBQUElPQ1NNUEZMQUdTIiwJMHg3NDgzfSwKKwl7ImxpbnV4L2lzZG5fcHBwLmgiLAkiUFBQSU9DU01QTVRVIiwJMHg3NDg0fSwKKwl7ImxpbnV4L2lzZG5fcHBwLmgiLAkiUFBQSU9DU01QTVJVIiwJMHg3NDg1fSwKKwl7ImxpbnV4L2lzZG5fcHBwLmgiLAkiUFBQSU9DR0NPTVBSRVNTT1JTIiwJMHg3NDg2fSwKKwl7ImxpbnV4L2lzZG5fcHBwLmgiLAkiUFBQSU9DU0NPTVBSRVNTT1IiLAkweDc0ODd9LAorCXsibGludXgvaXNkbl9wcHAuaCIsCSJQUFBJT0NHSUZOQU1FIiwJMHg3NDg4fSwKKwl7ImxpbnV4L3Rvc2hpYmEuaCIsCSJUT1NIX1NNTSIsCTB4NzQ5MH0sCisJeyJsaW51eC9zbWJfZnMuaCIsCSJTTUJfSU9DX0dFVE1PVU5UVUlEIiwJMHg3NTAxfSwKKwl7ImxpbnV4L3NtYl9mcy5oIiwJIlNNQl9JT0NfTkVXQ09OTiIsCTB4NzUwMn0sCisJeyJsaW51eC9zbWJfZnMuaCIsCSJTTUJfSU9DX0dFVE1PVU5UVUlEMzIiLAkweDc1MDN9LAorCXsibGludXgvc29ueXBpLmgiLAkiU09OWVBJX0lPQ0dCUlQiLAkweDc2MDB9LAorCXsibGludXgvc29ueXBpLmgiLAkiU09OWVBJX0lPQ1NCUlQiLAkweDc2MDB9LAorCXsibGludXgvZXh0Ml9mcy5oIiwJIkVYVDJfSU9DX0dFVFZFUlNJT04iLAkweDc2MDF9LAorCXsibGludXgvZXh0M19mcy5oIiwJIkVYVDNfSU9DX0dFVFZFUlNJT05fT0xEIiwJMHg3NjAxfSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DR0NBUCIsCTB4NzYwMX0sCisJeyJsaW51eC9leHQyX2ZzLmgiLAkiRVhUMl9JT0NfU0VUVkVSU0lPTiIsCTB4NzYwMn0sCisJeyJsaW51eC9leHQzX2ZzLmgiLAkiRVhUM19JT0NfU0VUVkVSU0lPTl9PTEQiLAkweDc2MDJ9LAorCXsibGludXgvc29ueXBpLmgiLAkiU09OWVBJX0lPQ0dCQVQxQ0FQIiwJMHg3NjAyfSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DR0NIQU4iLAkweDc2MDJ9LAorCXsibGludXgvc29ueXBpLmgiLAkiU09OWVBJX0lPQ0dCQVQxUkVNIiwJMHg3NjAzfSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DU0NIQU4iLAkweDc2MDN9LAorCXsibGludXgvc29ueXBpLmgiLAkiU09OWVBJX0lPQ0dCQVQyQ0FQIiwJMHg3NjA0fSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DR1RVTkVSIiwJMHg3NjA0fSwKKwl7ImxpbnV4L3NvbnlwaS5oIiwJIlNPTllQSV9JT0NHQkFUMlJFTSIsCTB4NzYwNX0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ1NUVU5FUiIsCTB4NzYwNX0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ0dQSUNUIiwJMHg3NjA2fSwKKwl7ImxpbnV4L3NvbnlwaS5oIiwJIlNPTllQSV9JT0NHQkFURkxBR1MiLAkweDc2MDd9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NTUElDVCIsCTB4NzYwN30sCisJeyJsaW51eC9zb255cGkuaCIsCSJTT05ZUElfSU9DR0JMVUUiLAkweDc2MDh9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NDQVBUVVJFIiwJMHg3NjA4fSwKKwl7ImxpbnV4L3NvbnlwaS5oIiwJIlNPTllQSV9JT0NTQkxVRSIsCTB4NzYwOX0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ0dXSU4iLAkweDc2MDl9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NTV0lOIiwJMHg3NjBhfSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DR0ZCVUYiLAkweDc2MGJ9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NTRkJVRiIsCTB4NzYwY30sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ0tFWSIsCTB4NzYwZH0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ0dGUkVRIiwJMHg3NjBlfSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DU0ZSRVEiLAkweDc2MGZ9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NHQVVESU8iLAkweDc2MTB9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NTQVVESU8iLAkweDc2MTF9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NTWU5DIiwJMHg3NjEyfSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DTUNBUFRVUkUiLAkweDc2MTN9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NHTUJVRiIsCTB4NzYxNH0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ0dVTklUIiwJMHg3NjE1fSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DR0NBUFRVUkUiLAkweDc2MTZ9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NTQ0FQVFVSRSIsCTB4NzYxN30sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ1NQTEFZTU9ERSIsCTB4NzYxOH0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ1NXUklURU1PREUiLAkweDc2MTl9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NHUExBWUlORk8iLAkweDc2MWF9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NTTUlDUk9DT0RFIiwJMHg3NjFifSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DR1ZCSUZNVCIsCTB4NzYxY30sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ1NWQklGTVQiLAkweDc2MWR9LAorCXsibGludXgvbWV5ZS5oIiwJIk1FWUVJT0NfR19QQVJBTVMiLAkweDc2YzB9LAorCXsibGludXgvbWV5ZS5oIiwJIk1FWUVJT0NfU19QQVJBTVMiLAkweDc2YzF9LAorCXsibGludXgvbWV5ZS5oIiwJIk1FWUVJT0NfUUJVRl9DQVBUIiwJMHg3NmMyfSwKKwl7ImxpbnV4L21leWUuaCIsCSJNRVlFSU9DX1NZTkMiLAkweDc2YzN9LAorCXsibGludXgvbWV5ZS5oIiwJIk1FWUVJT0NfU1RJTExDQVBUIiwJMHg3NmM0fSwKKwl7ImxpbnV4L21leWUuaCIsCSJNRVlFSU9DX1NUSUxMSkNBUFQiLAkweDc2YzV9LAorCXsibGludXgvZG4uaCIsCSJTSU9DU05FVEFERFIiLAkweDg5ZTB9LAorCXsibGludXgvZG4uaCIsCSJPU0lPQ1NORVRBRERSIiwJMHg4OWUwfSwKKwl7ImxpbnV4L2RuLmgiLAkiU0lPQ0dORVRBRERSIiwJMHg4OWUxfSwKKwl7ImxpbnV4L2RuLmgiLAkiT1NJT0NHTkVUQUREUiIsCTB4ODllMX0sCisJeyJsaW51eC9hdXRvX2ZzLmgiLAkiQVVUT0ZTX0lPQ19SRUFEWSIsCTB4OTM2MH0sCisJeyJsaW51eC9hdXRvX2ZzLmgiLAkiQVVUT0ZTX0lPQ19GQUlMIiwJMHg5MzYxfSwKKwl7ImxpbnV4L2F1dG9fZnMuaCIsCSJBVVRPRlNfSU9DX0NBVEFUT05JQyIsCTB4OTM2Mn0sCisJeyJsaW51eC9hdXRvX2ZzLmgiLAkiQVVUT0ZTX0lPQ19QUk9UT1ZFUiIsCTB4OTM2M30sCisJeyJsaW51eC9hdXRvX2ZzLmgiLAkiQVVUT0ZTX0lPQ19TRVRUSU1FT1VUIiwJMHg5MzY0fSwKKwl7ImxpbnV4L2F1dG9fZnMuaCIsCSJBVVRPRlNfSU9DX0VYUElSRSIsCTB4OTM2NX0sCisJeyJsaW51eC9hdXRvX2ZzNC5oIiwJIkFVVE9GU19JT0NfRVhQSVJFX01VTFRJIiwJMHg5MzY2fSwKKwl7ImxpbnV4L25iZC5oIiwJIk5CRF9TRVRfU09DSyIsCTB4YWIwMH0sCisJeyJsaW51eC9uYmQuaCIsCSJOQkRfU0VUX0JMS1NJWkUiLAkweGFiMDF9LAorCXsibGludXgvbmJkLmgiLAkiTkJEX1NFVF9TSVpFIiwJMHhhYjAyfSwKKwl7ImxpbnV4L25iZC5oIiwJIk5CRF9ET19JVCIsCTB4YWIwM30sCisJeyJsaW51eC9uYmQuaCIsCSJOQkRfQ0xFQVJfU09DSyIsCTB4YWIwNH0sCisJeyJsaW51eC9uYmQuaCIsCSJOQkRfQ0xFQVJfUVVFIiwJMHhhYjA1fSwKKwl7ImxpbnV4L25iZC5oIiwJIk5CRF9QUklOVF9ERUJVRyIsCTB4YWIwNn0sCisJeyJsaW51eC9uYmQuaCIsCSJOQkRfU0VUX1NJWkVfQkxPQ0tTIiwJMHhhYjA3fSwKKwl7ImxpbnV4L25iZC5oIiwJIk5CRF9ESVNDT05ORUNUIiwJMHhhYjA4fSwKKwl7ImxpbnV4L3Jhdy5oIiwJIlJBV19TRVRCSU5EIiwJMHhhYzAwfSwKKwl7ImxpbnV4L3Jhdy5oIiwJIlJBV19HRVRCSU5EIiwJMHhhYzAxfSwKKwl7ImxpbnV4L2lmX3BwcG94LmgiLAkiUFBQT0VJT0NTRldEIiwJMHhiMTAwfSwKKwl7ImxpbnV4L2lmX3BwcG94LmgiLAkiUFBQT0VJT0NERldEIiwJMHhiMTAxfSwKKwl7ImxpbnV4L3JlaXNlcmZzX2ZzLmgiLAkiUkVJU0VSRlNfSU9DX1VOUEFDSyIsCTB4Y2QwMX0sCisJeyJsaW51eC9sdm0uaCIsCSJWR19DUkVBVEVfT0xEIiwJMHhmZTAwfSwKKwl7ImxpbnV4L2x2bS5oIiwJIlZHX1JFTU9WRSIsCTB4ZmUwMX0sCisJeyJsaW51eC9sdm0uaCIsCSJWR19FWFRFTkQiLAkweGZlMDN9LAorCXsibGludXgvbHZtLmgiLAkiVkdfUkVEVUNFIiwJMHhmZTA0fSwKKwl7ImxpbnV4L2x2bS5oIiwJIlZHX1NUQVRVUyIsCTB4ZmUwNX0sCisJeyJsaW51eC9sdm0uaCIsCSJWR19TVEFUVVNfR0VUX0NPVU5UIiwJMHhmZTA2fSwKKwl7ImxpbnV4L2x2bS5oIiwJIlZHX1NUQVRVU19HRVRfTkFNRUxJU1QiLAkweGZlMDd9LAorCXsibGludXgvbHZtLmgiLAkiVkdfU0VUX0VYVEVOREFCTEUiLAkweGZlMDh9LAorCXsibGludXgvbHZtLmgiLAkiVkdfUkVOQU1FIiwJMHhmZTA5fSwKKwl7ImxpbnV4L2x2bS5oIiwJIlZHX0NSRUFURSIsCTB4ZmUwYX0sCisJeyJsaW51eC9sdm0uaCIsCSJMVl9DUkVBVEUiLAkweGZlMjB9LAorCXsibGludXgvbHZtLmgiLAkiTFZfUkVNT1ZFIiwJMHhmZTIxfSwKKwl7ImxpbnV4L2x2bS5oIiwJIkxWX0FDVElWQVRFIiwJMHhmZTIyfSwKKwl7ImxpbnV4L2x2bS5oIiwJIkxWX0RFQUNUSVZBVEUiLAkweGZlMjN9LAorCXsibGludXgvbHZtLmgiLAkiTFZfRVhURU5EIiwJMHhmZTI0fSwKKwl7ImxpbnV4L2x2bS5oIiwJIkxWX1JFRFVDRSIsCTB4ZmUyNX0sCisJeyJsaW51eC9sdm0uaCIsCSJMVl9TVEFUVVNfQllOQU1FIiwJMHhmZTI2fSwKKwl7ImxpbnV4L2x2bS5oIiwJIkxWX1NUQVRVU19CWUlOREVYIiwJMHhmZTI3fSwKKwl7ImxpbnV4L2x2bS5oIiwJIkxWX1NFVF9BQ0NFU1MiLAkweGZlMjh9LAorCXsibGludXgvbHZtLmgiLAkiTFZfU0VUX0FMTE9DQVRJT04iLAkweGZlMjl9LAorCXsibGludXgvbHZtLmgiLAkiTFZfU0VUX1NUQVRVUyIsCTB4ZmUyYX0sCisJeyJsaW51eC9sdm0uaCIsCSJMRV9SRU1BUCIsCTB4ZmUyYn0sCisJeyJsaW51eC9sdm0uaCIsCSJMVl9TTkFQU0hPVF9VU0VfUkFURSIsCTB4ZmUyY30sCisJeyJsaW51eC9sdm0uaCIsCSJMVl9TVEFUVVNfQllERVYiLAkweGZlMmV9LAorCXsibGludXgvbHZtLmgiLAkiTFZfUkVOQU1FIiwJMHhmZTJmfSwKKwl7ImxpbnV4L2x2bS5oIiwJIkxWX0JNQVAiLAkweGZlMzB9LAorCXsibGludXgvbHZtLmgiLAkiUFZfU1RBVFVTIiwJMHhmZTQwfSwKKwl7ImxpbnV4L2x2bS5oIiwJIlBWX0NIQU5HRSIsCTB4ZmU0MX0sCisJeyJsaW51eC9sdm0uaCIsCSJQVl9GTFVTSCIsCTB4ZmU0Mn0sCisJeyJsaW51eC9sdm0uaCIsCSJQRV9MT0NLX1VOTE9DSyIsCTB4ZmU1MH0sCisJeyJsaW51eC9sdm0uaCIsCSJMVk1fR0VUX0lPUF9WRVJTSU9OIiwJMHhmZTk4fSwKKwl7ImxpbnV4L2x2bS5oIiwJIkxWTV9SRVNFVCIsCTB4ZmU5OX0sCisJeyJsaW51eC9sdm0uaCIsCSJMVk1fTE9DS19MVk0iLAkweGZmMDB9LApkaWZmIC0tZ2l0IGEvc3RyYWNlLTQuNS4yMC9saW51eC9zcGFyYy9pb2N0bGVudDEuaCBiL3N0cmFjZS00LjUuMjAvbGludXgvc3BhcmMvaW9jdGxlbnQxLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWQ1MzZjZgotLS0gL2Rldi9udWxsCisrKyBiL3N0cmFjZS00LjUuMjAvbGludXgvc3BhcmMvaW9jdGxlbnQxLmgKQEAgLTAsMCArMSBAQAorI2luY2x1ZGUgIi4uL3N2cjQvaW9jdGxlbnQuaCIKZGlmZiAtLWdpdCBhL3N0cmFjZS00LjUuMjAvbGludXgvc3BhcmMvc2lnbmFsZW50LmggYi9zdHJhY2UtNC41LjIwL2xpbnV4L3NwYXJjL3NpZ25hbGVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUwNTliNWQKLS0tIC9kZXYvbnVsbAorKysgYi9zdHJhY2UtNC41LjIwL2xpbnV4L3NwYXJjL3NpZ25hbGVudC5oCkBAIC0wLDAgKzEsMzIgQEAKKwkiU0lHXzAiLAkvKiAwICovCisJIlNJR0hVUCIsCS8qIDEgKi8KKwkiU0lHSU5UIiwJLyogMiAqLworCSJTSUdRVUlUIiwJLyogMyAqLworCSJTSUdJTEwiLAkvKiA0ICovCisJIlNJR1RSQVAiLAkvKiA1ICovCisJIlNJR0FCUlQiLAkvKiA2ICovCisJIlNJR0VNVCIsCS8qIDcgKi8KKwkiU0lHRlBFIiwJLyogOCAqLworCSJTSUdLSUxMIiwJLyogOSAqLworCSJTSUdCVVMiLAkvKiAxMCAqLworCSJTSUdTRUdWIiwJLyogMTEgKi8KKwkiU0lHU1lTIiwJLyogMTIgKi8KKwkiU0lHUElQRSIsCS8qIDEzICovCisJIlNJR0FMUk0iLAkvKiAxNCAqLworCSJTSUdURVJNIiwJLyogMTUgKi8KKwkiU0lHVVJHIiwJLyogMTYgKi8KKwkiU0lHU1RPUCIsCS8qIDE3ICovCisJIlNJR1RTVFAiLAkvKiAxOCAqLworCSJTSUdDT05UIiwJLyogMTkgKi8KKwkiU0lHQ0hMRCIsCS8qIDIwICovCisJIlNJR1RUSU4iLAkvKiAyMSAqLworCSJTSUdUVE9VIiwJLyogMjIgKi8KKwkiU0lHSU8iLAkvKiAyMyAqLworCSJTSUdYQ1BVIiwJLyogMjQgKi8KKwkiU0lHWEZTWiIsCS8qIDI1ICovCisJIlNJR1ZUQUxSTSIsCS8qIDI2ICovCisJIlNJR1BST0YiLAkvKiAyNyAqLworCSJTSUdXSU5DSCIsCS8qIDI4ICovCisJIlNJR0xPU1QiLAkvKiAyOSAqLworCSJTSUdVU1IxIiwJLyogMzAgKi8KKwkiU0lHVVNSMiIsCS8qIDMxICovCmRpZmYgLS1naXQgYS9zdHJhY2UtNC41LjIwL2xpbnV4L3NwYXJjL3NpZ25hbGVudDEuaCBiL3N0cmFjZS00LjUuMjAvbGludXgvc3BhcmMvc2lnbmFsZW50MS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZiZTdhMjYKLS0tIC9kZXYvbnVsbAorKysgYi9zdHJhY2UtNC41LjIwL2xpbnV4L3NwYXJjL3NpZ25hbGVudDEuaApAQCAtMCwwICsxIEBACisjaW5jbHVkZSAiLi4vc3ZyNC9zaWduYWxlbnQuaCIKZGlmZiAtLWdpdCBhL3N0cmFjZS00LjUuMjAvbGludXgvc3BhcmMvc3lzY2FsbC5oIGIvc3RyYWNlLTQuNS4yMC9saW51eC9zcGFyYy9zeXNjYWxsLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDNlM2E3MQotLS0gL2Rldi9udWxsCisrKyBiL3N0cmFjZS00LjUuMjAvbGludXgvc3BhcmMvc3lzY2FsbC5oCkBAIC0wLDAgKzEsMjU3IEBACisvKgorICogQ29weXJpZ2h0IChjKSAxOTkxLCAxOTkyIFBhdWwgS3JhbmVuYnVyZyA8cGtAY3MuZmV3LmV1ci5ubD4KKyAqIENvcHlyaWdodCAoYykgMTk5MywgMTk5NCwgMTk5NSwgMTk5NiBSaWNrIFNsYWRrZXkgPGpyc0B3b3JsZC5zdGQuY29tPgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIFRoZSBuYW1lIG9mIHRoZSBhdXRob3IgbWF5IG5vdCBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cworICogICAgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQVVUSE9SIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1MgT1IKKyAqIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMKKyAqIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuCisgKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCisgKiBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQKKyAqIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICoKKyAqCSRJZCQKKyAqLworI2luY2x1ZGUgImR1bW15LmgiCisKK2ludAlzeXNfcmVzdGFydF9zeXNjYWxsKCk7CitpbnQJc3lzX25vc3lzKCk7CitpbnQJc3lzX251bGxzeXMoKTsKK2ludAlzeXNfZXJyc3lzKCk7CisKKy8qIDEuMSBwcm9jZXNzZXMgYW5kIHByb3RlY3Rpb24gKi8KK2ludAlzeXNfZ2V0aG9zdGlkKCksc3lzX3NldGhvc3RuYW1lKCksc3lzX2dldGhvc3RuYW1lKCksc3lzX2dldHBpZCgpOworaW50CXN5c19zZXRkb21haW5uYW1lKCksc3lzX2dldGRvbWFpbm5hbWUoKTsKK2ludAlzeXNfZm9yaygpLHN5c19jbG9uZSgpLHN5c19leGl0KCksc3lzX2V4ZWN2KCksc3lzX2V4ZWN2ZSgpLHN5c193YWl0NCgpLHN5c193YWl0cGlkKCk7CitpbnQJc3lzX3NldHVpZCgpLHN5c19zZXRnaWQoKSxzeXNfZ2V0dWlkKCksc3lzX3NldHJldWlkKCksc3lzX2dldGdpZCgpLHN5c19nZXRncm91cHMoKSxzeXNfc2V0cmVnaWQoKSxzeXNfc2V0Z3JvdXBzKCk7CitpbnQJc3lzX2dldHBncnAoKSxzeXNfc2V0cGdycCgpOworaW50CXN5c19zZXRzaWQoKSwgc3lzX3NldHBnaWQoKTsKK2ludAlzeXNfdW5hbWUoKSwgc3lzX3N5c2luZm8oKTsKKworLyogMS4yIG1lbW9yeSBtYW5hZ2VtZW50ICovCitpbnQJc3lzX2JyaygpLHN5c19zYnJrKCksc3lzX3NzdGsoKTsKK2ludAlzeXNfZ2V0cGFnZXNpemUoKSxzeXNfbW1hcCgpLHN5c19tY3RsKCksc3lzX211bm1hcCgpLHN5c19tcHJvdGVjdCgpLHN5c19taW5jb3JlKCksIHN5c19tcmVtYXAoKTsKK2ludAlzeXNfb21zeW5jKCksc3lzX29tYWR2aXNlKCksIHN5c19tYWR2aXNlKCksc3lzX21sb2NrYWxsKCk7CisKKy8qIDEuMyBzaWduYWxzICovCitpbnQJc3lzX3NpZ3ZlYygpLHN5c19zaWdibG9jaygpLHN5c19zaWdzZXRtYXNrKCksc3lzX3NpZ3BhdXNlKCksc3lzX3NpZ3N0YWNrKCksc3lzX3NpZ2NsZWFudXAoKSwgc3lzX3NpZ3JldHVybigpOworaW50CXN5c19raWxsKCksIHN5c19raWxscGcoKSwgc3lzX3NpZ3BlbmRpbmcoKSwgc3lzX3NpZ25hbCgpLCBzeXNfc2lnYWN0aW9uKCksIHN5c19zaWdzdXNwZW5kKCksIHN5c19zaWdwcm9jbWFzaygpOworCisvKiAxLjQgdGltaW5nIGFuZCBzdGF0aXN0aWNzICovCitpbnQJc3lzX2dldHRpbWVvZmRheSgpLHN5c19zZXR0aW1lb2ZkYXkoKTsKK2ludAlzeXNfYWRqdGltZSgpLCBzeXNfYWRqdGltZXgoKTsKK2ludAlzeXNfZ2V0aXRpbWVyKCksc3lzX3NldGl0aW1lcigpOworCisvKiAxLjUgZGVzY3JpcHRvcnMgKi8KK2ludAlzeXNfZ2V0ZHRhYmxlc2l6ZSgpLHN5c19kdXAoKSxzeXNfZHVwMigpLHN5c19jbG9zZSgpOworaW50CXN5c19vbGRzZWxlY3QoKSxzeXNfc2VsZWN0KCksc3lzX2dldGRvcHQoKSxzeXNfc2V0ZG9wdCgpLHN5c19mY250bCgpLHN5c19mbG9jaygpOworaW50CXN5c19lcG9sbF9jcmVhdGUoKSwgc3lzX2Vwb2xsX2N0bCgpLCBzeXNfZXBvbGxfd2FpdCgpOworCisvKiAxLjYgcmVzb3VyY2UgY29udHJvbHMgKi8KK2ludAlzeXNfZ2V0cHJpb3JpdHkoKSxzeXNfc2V0cHJpb3JpdHkoKSxzeXNfZ2V0cnVzYWdlKCksc3lzX2dldHJsaW1pdCgpLHN5c19zZXRybGltaXQoKTsKK2ludAlzeXNfb2xkcXVvdGEoKSwgc3lzX3F1b3RhY3RsKCk7CitpbnQJc3lzX3J0c2NoZWR1bGUoKSwgc3lzX3BlcnNvbmFsaXR5KCk7CisKKy8qIDEuNyBzeXN0ZW0gb3BlcmF0aW9uIHN1cHBvcnQgKi8KK2ludAlzeXNfbW91bnQoKSxzeXNfdW5tb3VudCgpLHN5c19zd2Fwb24oKSxzeXNfcGl2b3Ryb290KCk7CitpbnQJc3lzX3N5bmMoKSxzeXNfcmVib290KCk7CitpbnQJc3lzX3N5c2FjY3QoKTsKK2ludAlzeXNfYXVkaXRzeXMoKTsKKworLyogMi4xIGdlbmVyaWMgb3BlcmF0aW9ucyAqLworaW50CXN5c19yZWFkKCksc3lzX3dyaXRlKCksc3lzX3JlYWR2KCksc3lzX3dyaXRldigpLHN5c19pb2N0bCgpOworCisvKiAyLjEuMSBhc3luY2ggb3BlcmF0aW9ucyAqLworaW50CXN5c19haW9yZWFkKCksIHN5c19haW93cml0ZSgpLCBzeXNfYWlvd2FpdCgpLCBzeXNfYWlvY2FuY2VsKCk7CisKKy8qIDIuMiBmaWxlIHN5c3RlbSAqLworaW50CXN5c19jaGRpcigpLHN5c19jaHJvb3QoKTsKK2ludAlzeXNfZmNoZGlyKCksc3lzX2ZjaHJvb3QoKTsKK2ludAlzeXNfbWtkaXIoKSxzeXNfcm1kaXIoKSxzeXNfZ2V0ZGlyZW50cmllcygpOworaW50CXN5c19nZXRkZW50cygpLCBzeXNfZ2V0ZGVudHM2NCgpLCBzeXNfcmVhZGRpcigpOworaW50CXN5c19jcmVhdCgpLHN5c19vcGVuKCksc3lzX21rbm9kKCksc3lzX3VubGluaygpLHN5c19zdGF0KCksc3lzX2ZzdGF0KCksc3lzX2xzdGF0KCk7CitpbnQJc3lzX2Nob3duKCksc3lzX2ZjaG93bigpLHN5c19jaG1vZCgpLHN5c19mY2htb2QoKSxzeXNfdXRpbWVzKCk7CitpbnQJc3lzX2xpbmsoKSxzeXNfc3ltbGluaygpLHN5c19yZWFkbGluaygpLHN5c19yZW5hbWUoKTsKK2ludAlzeXNfbHNlZWsoKSwgc3lzX2xsc2VlaygpOworaW50CXN5c190cnVuY2F0ZSgpLHN5c19mdHJ1bmNhdGUoKSxzeXNfYWNjZXNzKCksc3lzX2ZzeW5jKCksc3lzX3N5c2N0bCgpOworaW50CXN5c19zdGF0ZnMoKSxzeXNfZnN0YXRmcygpLHN5c19tc3luYygpOworaW50IHN5c19zdGF0NjQoKSwgc3lzX2xzdGF0NjQoKSwgc3lzX2ZzdGF0NjQoKTsKK2ludCBzeXNfdHJ1bmNhdGU2NCgpLCBzeXNfZnRydW5jYXRlNjQoKTsKK2ludCBzeXNfc2VtdGltZWRvcCgpOworCisvKiAyLjMgY29tbXVuaWNhdGlvbnMgKi8KK2ludAlzeXNfc29ja2V0KCksc3lzX2JpbmQoKSxzeXNfbGlzdGVuKCksc3lzX2FjY2VwdCgpLHN5c19jb25uZWN0KCk7CitpbnQJc3lzX3NvY2tldHBhaXIoKSxzeXNfc2VuZHRvKCksc3lzX3NlbmQoKSxzeXNfcmVjdmZyb20oKSxzeXNfcmVjdigpOworaW50CXN5c19zZW5kbXNnKCksc3lzX3JlY3Ztc2coKSxzeXNfc2h1dGRvd24oKSxzeXNfc2V0c29ja29wdCgpLHN5c19nZXRzb2Nrb3B0KCk7CitpbnQJc3lzX2dldHNvY2tuYW1lKCksc3lzX2dldHBlZXJuYW1lKCksc3lzX3BpcGUoKSxzeXNfYWNjZXB0NCgpOworaW50CXN5c19yZWN2bW1zZygpOworCitpbnQgc3lzX3NldHJlc3VpZCgpLCBzeXNfc2V0cmVzZ2lkKCksIHN5c19nZXRyZXN1aWQoKSwgc3lzX2dldHJlc2dpZCgpLCBzeXNfcHJlYWQoKTsKK2ludCBzeXNfcHdyaXRlKCksIHN5c19nZXRjd2QoKTsKK2ludCBzeXNfc2lnYWx0c3RhY2soKSwgc3lzX3J0X3NpZ3Byb2NtYXNrKCksIHN5c19ydF9zaWdhY3Rpb24oKTsKK2ludCBzeXNfcnRfc2lncGVuZGluZygpLCBzeXNfcnRfc2lnc3VzcGVuZCgpLCBzeXNfcnRfc2lncXVldWVpbmZvKCk7CitpbnQgc3lzX3J0X3NpZ3RpbWVkd2FpdCgpLCBzeXNfcHJjdGwoKSwgc3lzX3BvbGwoKTsKK2ludCBzeXNfc2VuZGZpbGUoKSwgc3lzX3F1ZXJ5X21vZHVsZSgpLCBzeXNfY2FwZ2V0KCksIHN5c19jYXBzZXQoKTsKK2ludCBzeXNfY3JlYXRlX21vZHVsZSgpLCBzeXNfaW5pdF9tb2R1bGUoKTsKK2ludCBzeXNfc2V0Z3JvdXBzMzIoKSwgc3lzX2dldGdyb3VwczMyKCk7CisKK2ludAlzeXNfdW1hc2soKTsJCS8qIFhYWCAqLworCitpbnQgc3lzX3NjaGVkX3NldHBhcmFtKCksIHN5c19zY2hlZF9nZXRwYXJhbSgpOworaW50IHN5c19zY2hlZF9zZXRzY2hlZHVsZXIoKSwgc3lzX3NjaGVkX2dldHNjaGVkdWxlcigpLCBzeXNfc2NoZWRfeWllbGQoKTsKK2ludCBzeXNfc2NoZWRfZ2V0X3ByaW9yaXR5X21heCgpLCBzeXNfc2NoZWRfZ2V0X3ByaW9yaXR5X21pbigpOworCisvKiAyLjMuMSBTeXN0ZW1WLWNvbXBhdGlibGUgSVBDICovCitpbnQJc3lzX3NlbXN5cygpLCBzeXNfc2VtY3RsKCksIHN5c19zZW1nZXQoKTsKKyNkZWZpbmUgU1lTX3NlbXN5c19zdWJjYWxsCTIwMAorI2RlZmluZSBTWVNfc2Vtc3lzX25zdWJjYWxscwkzCisjZGVmaW5lIFNZU19zZW1jdGwJCShTWVNfc2Vtc3lzX3N1YmNhbGwgKyAwKQorI2RlZmluZSBTWVNfc2VtZ2V0CQkoU1lTX3NlbXN5c19zdWJjYWxsICsgMSkKKyNkZWZpbmUgU1lTX3NlbW9wCQkoU1lTX3NlbXN5c19zdWJjYWxsICsgMikKK2ludAlzeXNfbXNnc3lzKCksIHN5c19tc2dnZXQoKSwgc3lzX21zZ2N0bCgpLCBzeXNfbXNncmN2KCksIHN5c19tc2dzbmQoKTsKKyNkZWZpbmUgU1lTX21zZ3N5c19zdWJjYWxsCTIwMworI2RlZmluZSBTWVNfbXNnc3lzX25zdWJjYWxscwk0CisjZGVmaW5lIFNZU19tc2dnZXQJCShTWVNfbXNnc3lzX3N1YmNhbGwgKyAwKQorI2RlZmluZSBTWVNfbXNnY3RsCQkoU1lTX21zZ3N5c19zdWJjYWxsICsgMSkKKyNkZWZpbmUgU1lTX21zZ3JjdgkJKFNZU19tc2dzeXNfc3ViY2FsbCArIDIpCisjZGVmaW5lIFNZU19tc2dzbmQJCShTWVNfbXNnc3lzX3N1YmNhbGwgKyAzKQoraW50CXN5c19zaG1zeXMoKSwgc3lzX3NobWF0KCksIHN5c19zaG1jdGwoKSwgc3lzX3NobWR0KCksIHN5c19zaG1nZXQoKTsKKyNkZWZpbmUgU1lTX3NobXN5c19zdWJjYWxsCTIwNworI2RlZmluZSBTWVNfc2htc3lzX25zdWJjYWxscwk0CisjZGVmaW5lCVNZU19zaG1hdAkJKFNZU19zaG1zeXNfc3ViY2FsbCArIDApCisjZGVmaW5lIFNZU19zaG1jdGwJCShTWVNfc2htc3lzX3N1YmNhbGwgKyAxKQorI2RlZmluZSBTWVNfc2htZHQJCShTWVNfc2htc3lzX3N1YmNhbGwgKyAyKQorI2RlZmluZSBTWVNfc2htZ2V0CQkoU1lTX3NobXN5c19zdWJjYWxsICsgMykKKworLyogMi40IHByb2Nlc3NlcyAqLworaW50CXN5c19wdHJhY2UoKTsKKworLyogMi41IHRlcm1pbmFscyAqLworCisvKiBlbXVsYXRpb25zIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSAqLworaW50CXN5c19vdGltZSgpOwkJLyogbm93IHVzZSBnZXR0aW1lb2ZkYXkgKi8KK2ludAlzeXNfb3N0aW1lKCk7CQkvKiBub3cgdXNlIHNldHRpbWVvZmRheSAqLworaW50CXN5c19vYWxhcm0oKTsJCS8qIG5vdyB1c2Ugc2V0aXRpbWVyICovCitpbnQJc3lzX291dGltZSgpOwkJLyogbm93IHVzZSB1dGltZXMgKi8KK2ludAlzeXNfb3BhdXNlKCk7CQkvKiBub3cgdXNlIHNpZ3BhdXNlICovCitpbnQJc3lzX29uaWNlKCk7CQkvKiBub3cgdXNlIHNldHByaW9yaXR5LGdldHByaW9yaXR5ICovCitpbnQJc3lzX29mdGltZSgpOwkJLyogbm93IHVzZSBnZXR0aW1lb2ZkYXkgKi8KK2ludAlzeXNfb3NldHBncnAoKTsJCS8qID8/PyAqLworaW50CXN5c19vdGltZXMoKTsJCS8qIG5vdyB1c2UgZ2V0cnVzYWdlICovCitpbnQJc3lzX29zc2lnKCk7CQkvKiBub3cgdXNlIHNpZ3ZlYywgZXRjICovCitpbnQJc3lzX292bGltaXQoKTsJCS8qIG5vdyB1c2Ugc2V0cmxpbWl0LGdldHJsaW1pdCAqLworaW50CXN5c19vdnRpbWVzKCk7CQkvKiBub3cgdXNlIGdldHJ1c2FnZSAqLworaW50CXN5c19vc2V0dWlkKCk7CQkvKiBub3cgdXNlIHNldHJldWlkICovCitpbnQJc3lzX29zZXRnaWQoKTsJCS8qIG5vdyB1c2Ugc2V0cmVnaWQgKi8KK2ludAlzeXNfb3N0YXQoKTsJCS8qIG5vdyB1c2Ugc3RhdCAqLworaW50CXN5c19vZnN0YXQoKTsJCS8qIG5vdyB1c2UgZnN0YXQgKi8KKworLyogQkVHSU4gSlVOSyAqLworaW50CXN5c19wcm9maWwoKTsJCS8qICdjdXogc3lzIGNhbGxzIGFyZSBpbnRlcnJ1cHRpYmxlICovCitpbnQJc3lzX3ZoYW5ndXAoKTsJCS8qIHNob3VsZCBqdXN0IGRvIGluIHN5c19leGl0KCkgKi8KK2ludAlzeXNfdmZvcmsoKTsJCS8qIFhYWCAtIHdhcyBhd2FpdGluZyBmb3JrIHcvIGNvcHkgb24gd3JpdGUgKi8KK2ludAlzeXNfb3ZhZHZpc2UoKTsJCS8qIGF3YWl0aW5nIG5ldyBtYWR2aXNlICovCitpbnQJc3lzX2luZGlyKCk7CQkvKiBpbmRpcmVjdCBzeXN0ZW0gY2FsbCAqLworaW50CXN5c191c3RhdCgpOwkJLyogU3lzdGVtIFYgY29tcGF0aWJpbGl0eSAqLworaW50CXN5c19vd2FpdCgpOwkJLyogc2hvdWxkIHVzZSB3YWl0NCBpbnRlcmZhY2UgKi8KK2ludAlzeXNfb3dhaXQzKCk7CQkvKiBzaG91bGQgdXNlIHdhaXQ0IGludGVyZmFjZSAqLworaW50CXN5c191bW91bnQoKTsJCS8qIHN0aWxsIG1vcmUgU3lzIFYgKGFuZCA0LjI/KSBjb21wYXRpYmlsaXR5ICovCitpbnQJc3lzX3Vtb3VudDIoKTsKK2ludAlzeXNfcGF0aGNvbmYoKTsJCS8qIHBvc2l4ICovCitpbnQJc3lzX2ZwYXRoY29uZigpOwkJLyogcG9zaXggKi8KK2ludAlzeXNfc3lzY29uZigpOwkJLyogcG9zaXggKi8KK2ludCAgICAgc3lzX2RlbGV0ZV9tb2R1bGUoKTsKK2ludCBzeXNfZGVidWcoKTsKKy8qIEVORCBKVU5LICovCisKK2ludAlzeXNfdnRyYWNlKCk7CQkvKiBrZXJuZWwgZXZlbnQgdHJhY2luZyAqLworCisvKiBuZnMgKi8KK2ludAlzeXNfYXN5bmNfZGFlbW9uKCk7CQkvKiBjbGllbnQgYXN5bmMgZGFlbW9uICovCitpbnQJc3lzX25mc19zdmMoKTsJCS8qIHJ1biBuZnMgc2VydmVyICovCitpbnQJc3lzX25mc19nZXRmaCgpOwkJLyogZ2V0IGZpbGUgaGFuZGxlICovCitpbnQJc3lzX2V4cG9ydGZzKCk7CQkvKiBleHBvcnQgZmlsZSBzeXN0ZW1zICovCisKK2ludCAgCXN5c19yZnNzeXMoKTsJCS8qIFJGUy1yZWxhdGVkIGNhbGxzICovCisKK2ludAlzeXNfZ2V0bXNnKCk7CitpbnQJc3lzX3B1dG1zZygpOworaW50CXN5c19wb2xsKCk7CisKK2ludAlzeXNfdnBpeHN5cygpOwkJLyogVlAvaXggc3lzdGVtIGNhbGxzICovCisKK2ludAlzeXNfc2VuZGZpbGU2NCgpLCBzeXNfZnV0ZXgoKSwgc3lzX2dldHRpZCgpLCBzeXNfc2NoZWRfc2V0YWZmaW5pdHkoKTsKK2ludAlzeXNfc2NoZWRfZ2V0YWZmaW5pdHkoKSwgc3lzX3NldHhhdHRyKCksIHN5c19sc2V0eGF0dHIoKTsKK2ludAlzeXNfZnNldHhhdHRyKCksIHN5c19nZXR4YXR0cigpLCBzeXNfbGdldHhhdHRyKCksIHN5c19mZ2V0eGF0dHIoKTsKK2ludAlzeXNfbGlzdHhhdHRyKCksIHN5c19sbGlzdHhhdHRyKCksIHN5c19mbGlzdHhhdHRyKCk7CitpbnQJc3lzX3JlbW92ZXhhdHRyKCksIHN5c19scmVtb3ZleGF0dHIoKSwgc3lzX2ZyZW1vdmV4YXR0cigpOworaW50CXN5c19yZW1hcF9maWxlX3BhZ2VzKCksIHN5c19yZWFkYWhlYWQoKSwgc3lzX3Rna2lsbCgpLCBzeXNfc3RhdGZzNjQoKTsKK2ludAlzeXNfZnN0YXRmczY0KCksIHN5c19jbG9ja19zZXR0aW1lKCksIHN5c19jbG9ja19nZXR0aW1lKCk7CitpbnQJc3lzX2Nsb2NrX2dldHJlcygpLCBzeXNfY2xvY2tfbmFub3NsZWVwKCksIHN5c19uYW5vc2xlZXAoKTsKK2ludAlzeXNfdGltZXJfY3JlYXRlKCksIHN5c190aW1lcl9zZXR0aW1lKCksIHN5c190aW1lcl9nZXR0aW1lKCk7CisKK2ludAlzeXNfaW9fc2V0dXAoKSwgc3lzX2lvX2Rlc3Ryb3koKSwgc3lzX2lvX3N1Ym1pdCgpLCBzeXNfaW9fY2FuY2VsKCksIHN5c19pb19nZXRldmVudHMoKTsKK2ludAlzeXNfbXFfb3BlbigpLCBzeXNfbXFfdW5saW5rKCksIHN5c19tcV90aW1lZHNlbmQoKSwgc3lzX21xX3RpbWVkcmVjZWl2ZSgpLCBzeXNfbXFfbm90aWZ5KCksIHN5c19tcV9nZXRzZXRhdHRyKCk7CitpbnQJc3lzX3dhaXRpZCgpOworaW50CXN5c19vcGVuYXQoKSwgc3lzX21rZGlyYXQoKSwgc3lzX21rbm9kYXQoKSwgc3lzX2ZjaG93bmF0KCksIHN5c19mdXRpbWVzYXQoKSwgc3lzX25ld2ZzdGF0YXQoKSwgc3lzX3VubGlua2F0KCksIHN5c19yZW5hbWVhdCgpLCBzeXNfbGlua2F0KCksIHN5c19zeW1saW5rYXQoKSwgc3lzX3JlYWRsaW5rYXQoKSwgc3lzX2ZjaG1vZGF0KCksCXN5c19mYWNjZXNzYXQoKTsKK2ludAlzeXNfcHNlbGVjdDYoKSwgc3lzX3Bwb2xsKCk7CitpbnQJc3lzX3Vuc2hhcmUoKTsKK2ludAlzeXNfbW92ZV9wYWdlcygpLCBzeXNfZ2V0Y3B1KCk7CitpbnQJc3lzX2Vwb2xsX3B3YWl0KCk7CitpbnQJc3lzX3NpZ25hbGZkKCksIHN5c190aW1lcmZkKCksIHN5c19ldmVudGZkKCk7CisKKyMgIGRlZmluZSBTWVNfc29ja2V0X3N1YmNhbGwJMzUzCisjZGVmaW5lIFNZU19zdWJfc29ja2V0CQkoU1lTX3NvY2tldF9zdWJjYWxsICsgMSkKKyNkZWZpbmUgU1lTX3N1Yl9iaW5kCQkoU1lTX3NvY2tldF9zdWJjYWxsICsgMikKKyNkZWZpbmUgU1lTX3N1Yl9jb25uZWN0CQkoU1lTX3NvY2tldF9zdWJjYWxsICsgMykKKyNkZWZpbmUgU1lTX3N1Yl9saXN0ZW4JCShTWVNfc29ja2V0X3N1YmNhbGwgKyA0KQorI2RlZmluZSBTWVNfc3ViX2FjY2VwdAkJKFNZU19zb2NrZXRfc3ViY2FsbCArIDUpCisjZGVmaW5lIFNZU19zdWJfZ2V0c29ja25hbWUJKFNZU19zb2NrZXRfc3ViY2FsbCArIDYpCisjZGVmaW5lIFNZU19zdWJfZ2V0cGVlcm5hbWUJKFNZU19zb2NrZXRfc3ViY2FsbCArIDcpCisjZGVmaW5lIFNZU19zdWJfc29ja2V0cGFpcgkoU1lTX3NvY2tldF9zdWJjYWxsICsgOCkKKyNkZWZpbmUgU1lTX3N1Yl9zZW5kCQkoU1lTX3NvY2tldF9zdWJjYWxsICsgOSkKKyNkZWZpbmUgU1lTX3N1Yl9yZWN2CQkoU1lTX3NvY2tldF9zdWJjYWxsICsgMTApCisjZGVmaW5lIFNZU19zdWJfc2VuZHRvCQkoU1lTX3NvY2tldF9zdWJjYWxsICsgMTEpCisjZGVmaW5lIFNZU19zdWJfcmVjdmZyb20JKFNZU19zb2NrZXRfc3ViY2FsbCArIDEyKQorI2RlZmluZSBTWVNfc3ViX3NodXRkb3duCShTWVNfc29ja2V0X3N1YmNhbGwgKyAxMykKKyNkZWZpbmUgU1lTX3N1Yl9zZXRzb2Nrb3B0CShTWVNfc29ja2V0X3N1YmNhbGwgKyAxNCkKKyNkZWZpbmUgU1lTX3N1Yl9nZXRzb2Nrb3B0CShTWVNfc29ja2V0X3N1YmNhbGwgKyAxNSkKKyNkZWZpbmUgU1lTX3N1Yl9zZW5kbXNnCQkoU1lTX3NvY2tldF9zdWJjYWxsICsgMTYpCisjZGVmaW5lIFNZU19zdWJfcmVjdm1zZwkJKFNZU19zb2NrZXRfc3ViY2FsbCArIDE3KQorI2RlZmluZSBTWVNfc3ViX2FjY2VwdDQJCShTWVNfc29ja2V0X3N1YmNhbGwgKyAxOCkKKyNkZWZpbmUgU1lTX3N1Yl9yZWN2bW1zZwkoU1lTX3NvY2tldF9zdWJjYWxsICsgMTkpCisKKyNkZWZpbmUgU1lTX3NvY2tldF9uc3ViY2FsbHMJMjAKKworI2RlZmluZSBTWVNfaXBjX3N1YmNhbGwJCSgoU1lTX3NvY2tldF9zdWJjYWxsKSsoU1lTX3NvY2tldF9uc3ViY2FsbHMpKQorI2RlZmluZSBTWVNfc3ViX3NlbW9wCQkoU1lTX2lwY19zdWJjYWxsICsgMSkKKyNkZWZpbmUgU1lTX3N1Yl9zZW1nZXQJCShTWVNfaXBjX3N1YmNhbGwgKyAyKQorI2RlZmluZSBTWVNfc3ViX3NlbWN0bAkJKFNZU19pcGNfc3ViY2FsbCArIDMpCisjZGVmaW5lIFNZU19zdWJfc2VtdGltZWRvcAkoU1lTX2lwY19zdWJjYWxsICsgNCkKKyNkZWZpbmUgU1lTX3N1Yl9tc2dzbmQJCShTWVNfaXBjX3N1YmNhbGwgKyAxMSkKKyNkZWZpbmUgU1lTX3N1Yl9tc2dyY3YJCShTWVNfaXBjX3N1YmNhbGwgKyAxMikKKyNkZWZpbmUgU1lTX3N1Yl9tc2dnZXQJCShTWVNfaXBjX3N1YmNhbGwgKyAxMykKKyNkZWZpbmUgU1lTX3N1Yl9tc2djdGwJCShTWVNfaXBjX3N1YmNhbGwgKyAxNCkKKyNkZWZpbmUgU1lTX3N1Yl9zaG1hdAkJKFNZU19pcGNfc3ViY2FsbCArIDIxKQorI2RlZmluZSBTWVNfc3ViX3NobWR0CQkoU1lTX2lwY19zdWJjYWxsICsgMjIpCisjZGVmaW5lIFNZU19zdWJfc2htZ2V0CQkoU1lTX2lwY19zdWJjYWxsICsgMjMpCisjZGVmaW5lIFNZU19zdWJfc2htY3RsCQkoU1lTX2lwY19zdWJjYWxsICsgMjQpCisKKyNkZWZpbmUgU1lTX2lwY19uc3ViY2FsbHMJMjUKKworI2luY2x1ZGUgInN5c2NhbGwxLmgiCmRpZmYgLS1naXQgYS9zdHJhY2UtNC41LjIwL2xpbnV4L3NwYXJjL3N5c2NhbGwuaC4yIGIvc3RyYWNlLTQuNS4yMC9saW51eC9zcGFyYy9zeXNjYWxsLmguMgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xOWQzYjRhCi0tLSAvZGV2L251bGwKKysrIGIvc3RyYWNlLTQuNS4yMC9saW51eC9zcGFyYy9zeXNjYWxsLmguMgpAQCAtMCwwICsxLDE0MiBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMTk5MyBCcmFua28gTGFua2VzdGVyIDxicmFua29AaGFja3RpYy5ubD4KKyAqIENvcHlyaWdodCAoYykgMTk5MywgMTk5NCwgMTk5NSBSaWNrIFNsYWRrZXkgPGpyc0B3b3JsZC5zdGQuY29tPgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIFRoZSBuYW1lIG9mIHRoZSBhdXRob3IgbWF5IG5vdCBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cworICogICAgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQVVUSE9SIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1MgT1IKKyAqIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMKKyAqIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuCisgKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCisgKiBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQKKyAqIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICoKKyAqCSRJZCQKKyAqLworCisjaW5jbHVkZSAiZHVtbXkuaCIKKworLyogcHJpbWFyeSBzeXNjYWxscyAqLworCitpbnQgc3lzX3NldHVwKCksIHN5c19leGl0KCksIHN5c19mb3JrKCksIHN5c19yZWFkKCksIHN5c193cml0ZSgpOworaW50IHN5c19vcGVuKCksIHN5c19jbG9zZSgpLCBzeXNfd2FpdHBpZCgpLCBzeXNfY3JlYXQoKSwgc3lzX2xpbmsoKTsKK2ludCBzeXNfdW5saW5rKCksIHN5c19leGVjdmUoKSwgc3lzX2NoZGlyKCksIHN5c190aW1lKCksIHN5c19ta25vZCgpOworaW50IHN5c19jaG1vZCgpLCBzeXNfY2hvd24oKSwgc3lzX2JyZWFrKCksIHN5c19vbGRzdGF0KCk7CitpbnQgc3lzX2xzZWVrKCksIHN5c19nZXRwaWQoKSwgc3lzX21vdW50KCksIHN5c191bW91bnQoKTsKK2ludCBzeXNfc2V0dWlkKCksIHN5c19nZXR1aWQoKSwgc3lzX3N0aW1lKCksIHN5c19wdHJhY2UoKTsKK2ludCBzeXNfYWxhcm0oKSwgc3lzX29sZGZzdGF0KCksIHN5c19wYXVzZSgpLCBzeXNfdXRpbWUoKTsKK2ludCBzeXNfc3R0eSgpLCBzeXNfZ3R0eSgpLCBzeXNfYWNjZXNzKCksIHN5c19uaWNlKCksIHN5c19mdGltZSgpOworaW50IHN5c19zeW5jKCksIHN5c19raWxsKCksIHN5c19yZW5hbWUoKSwgc3lzX21rZGlyKCksIHN5c19ybWRpcigpOworaW50IHN5c19kdXAoKSwgc3lzX3BpcGUoKSwgc3lzX3RpbWVzKCksIHN5c19wcm9mKCksIHN5c19icmsoKTsKK2ludCBzeXNfc2V0Z2lkKCksIHN5c19nZXRnaWQoKSwgc3lzX3NpZ25hbCgpLCBzeXNfZ2V0ZXVpZCgpOworaW50IHN5c19nZXRlZ2lkKCksIHN5c19hY2N0KCksIHN5c19waHlzKCksIHN5c19sb2NrKCksIHN5c19pb2N0bCgpOworaW50IHN5c19mY250bCgpLCBzeXNfbXB4KCksIHN5c19zZXRwZ2lkKCksIHN5c191bGltaXQoKTsKK2ludCBzeXNfb2xkdW5hbWUoKSwgc3lzX3VtYXNrKCksIHN5c19jaHJvb3QoKSwgc3lzX3VzdGF0KCk7CitpbnQgc3lzX2R1cDIoKSwgc3lzX2dldHBwaWQoKSwgc3lzX2dldHBncnAoKSwgc3lzX3NldHNpZCgpOworaW50IHN5c19zaWdhY3Rpb24oKSwgc3lzX3NpZ2dldG1hc2soKSwgc3lzX3NpZ3NldG1hc2soKTsKK2ludCBzeXNfc2V0cmV1aWQoKSwgc3lzX3NldHJlZ2lkKCksIHN5c19zaWdzdXNwZW5kKCk7CitpbnQgc3lzX3NpZ3BlbmRpbmcoKSwgc3lzX3NldGhvc3RuYW1lKCksIHN5c19zZXRybGltaXQoKTsKK2ludCBzeXNfZ2V0cmxpbWl0KCksIHN5c19nZXRydXNhZ2UoKSwgc3lzX2dldHRpbWVvZmRheSgpOworaW50IHN5c19zZXR0aW1lb2ZkYXkoKSwgc3lzX2dldGdyb3VwcygpLCBzeXNfc2V0Z3JvdXBzKCk7CitpbnQgc3lzX29sZHNlbGVjdCgpLCBzeXNfc3ltbGluaygpLCBzeXNfb2xkbHN0YXQoKSwgc3lzX3JlYWRsaW5rKCk7CitpbnQgc3lzX3VzZWxpYigpLCBzeXNfc3dhcG9uKCksIHN5c19yZWJvb3QoKSwgc3lzX3JlYWRkaXIoKTsKK2ludCBzeXNfbW1hcCgpLCBzeXNfbXVubWFwKCksIHN5c190cnVuY2F0ZSgpLCBzeXNfZnRydW5jYXRlKCk7CitpbnQgc3lzX2ZjaG1vZCgpLCBzeXNfZmNob3duKCksIHN5c19nZXRwcmlvcml0eSgpOworaW50IHN5c19zZXRwcmlvcml0eSgpLCBzeXNfcHJvZmlsKCksIHN5c19zdGF0ZnMoKSwgc3lzX2ZzdGF0ZnMoKTsKK2ludCBzeXNfaW9wZXJtKCksIHN5c19zb2NrZXRjYWxsKCksIHN5c19zeXNsb2coKSwgc3lzX3NldGl0aW1lcigpOworaW50IHN5c19nZXRpdGltZXIoKSwgc3lzX3N0YXQoKSwgc3lzX2xzdGF0KCksIHN5c19mc3RhdCgpOworaW50IHN5c191bmFtZSgpLCBzeXNfaW9wbCgpLCBzeXNfdmhhbmd1cCgpLCBzeXNfaWRsZSgpLCBzeXNfdm04NigpOworaW50IHN5c193YWl0NCgpLCBzeXNfc3dhcG9mZigpLCBzeXNfaXBjKCksIHN5c19zaWdyZXR1cm4oKTsKK2ludCBzeXNfZnN5bmMoKSwgc3lzX2Nsb25lKCksIHN5c19zZXRkb21haW5uYW1lKCksIHN5c19zeXNpbmZvKCk7CitpbnQgc3lzX21vZGlmeV9sZHQoKSwgc3lzX2FkanRpbWV4KCksIHN5c19tcHJvdGVjdCgpOworaW50IHN5c19zaWdwcm9jbWFzaygpLCBzeXNfY3JlYXRlX21vZHVsZSgpLCBzeXNfaW5pdF9tb2R1bGUoKTsKK2ludCBzeXNfZGVsZXRlX21vZHVsZSgpLCBzeXNfZ2V0X2tlcm5lbF9zeW1zKCksIHN5c19xdW90YWN0bCgpOworaW50IHN5c19nZXRwZ2lkKCksIHN5c19mY2hkaXIoKSwgc3lzX2JkZmx1c2goKTsKK2ludCBzeXNfc3lzZnMoKSwgc3lzX3BlcnNvbmFsaXR5KCksIHN5c19hZnNfc3lzY2FsbCgpOworaW50IHN5c19zZXRmc3VpZCgpLCBzeXNfc2V0ZnNnaWQoKSwgc3lzX2xsc2VlaygpOworaW50IHN5c19nZXRkZW50cygpLCBzeXNfZmxvY2soKSwgc3lzX21zeW5jKCk7CitpbnQgc3lzX3JlYWR2KCksIHN5c193cml0ZXYoKSwgc3lzX3NlbGVjdCgpOworaW50IHN5c19nZXRzaWQoKSwgc3lzX2ZkYXRhc3luYygpLCBzeXNfc3lzY3RsKCk7CitpbnQgc3lzX21sb2NrKCksIHN5c19tdW5sb2NrKCksIHN5c19tbG9ja2FsbCgpLCBzeXNfbXVubG9ja2FsbCgpOworaW50IHN5c19zY2hlZF9zZXRwYXJhbSgpLCBzeXNfc2NoZWRfZ2V0cGFyYW0oKTsKK2ludCBzeXNfc2NoZWRfc2V0c2NoZWR1bGVyKCksIHN5c19zY2hlZF9nZXRzY2hlZHVsZXIoKSwgc3lzX3NjaGVkX3lpZWxkKCk7CitpbnQgc3lzX3NjaGVkX2dldF9wcmlvcml0eV9tYXgoKSwgc3lzX3NjaGVkX2dldF9wcmlvcml0eV9taW4oKTsKK2ludCBzeXNfc2NoZWRfcnJfZ2V0X2ludGVydmFsKCksIHN5c19uYW5vc2xlZXAoKSwgc3lzX21yZW1hcCgpOworaW50IHN5c19zZW5kbXNnKCksIHN5c19yZWN2bXNnKCk7CisKKy8qIHN5c19zb2NrZXRjYWxsIHN1YmNhbGxzICovCisKK2ludCBzeXNfc29ja2V0KCksIHN5c19iaW5kKCksIHN5c19jb25uZWN0KCksIHN5c19saXN0ZW4oKTsKK2ludCBzeXNfYWNjZXB0KCksIHN5c19nZXRzb2NrbmFtZSgpLCBzeXNfZ2V0cGVlcm5hbWUoKSwgc3lzX3NvY2tldHBhaXIoKTsKK2ludCBzeXNfc2VuZCgpLCBzeXNfcmVjdigpLCBzeXNfc2VuZHRvKCksIHN5c19yZWN2ZnJvbSgpOworaW50IHN5c19zaHV0ZG93bigpLCBzeXNfc2V0c29ja29wdCgpLCBzeXNfZ2V0c29ja29wdCgpOworCisjaWZuZGVmIEFMUEhBCisjZGVmaW5lIFNZU19zb2NrZXRfc3ViY2FsbAkxODAKKyNkZWZpbmUgU1lTX3NvY2tldAkJKFNZU19zb2NrZXRfc3ViY2FsbCArIDEpCisjZGVmaW5lIFNZU19iaW5kCQkoU1lTX3NvY2tldF9zdWJjYWxsICsgMikKKyNkZWZpbmUgU1lTX2Nvbm5lY3QJCShTWVNfc29ja2V0X3N1YmNhbGwgKyAzKQorI2RlZmluZSBTWVNfbGlzdGVuCQkoU1lTX3NvY2tldF9zdWJjYWxsICsgNCkKKyNkZWZpbmUgU1lTX2FjY2VwdAkJKFNZU19zb2NrZXRfc3ViY2FsbCArIDUpCisjZGVmaW5lIFNZU19nZXRzb2NrbmFtZQkJKFNZU19zb2NrZXRfc3ViY2FsbCArIDYpCisjZGVmaW5lIFNZU19nZXRwZWVybmFtZQkJKFNZU19zb2NrZXRfc3ViY2FsbCArIDcpCisjZGVmaW5lIFNZU19zb2NrZXRwYWlyCQkoU1lTX3NvY2tldF9zdWJjYWxsICsgOCkKKyNkZWZpbmUgU1lTX3NlbmQJCShTWVNfc29ja2V0X3N1YmNhbGwgKyA5KQorI2RlZmluZSBTWVNfcmVjdgkJKFNZU19zb2NrZXRfc3ViY2FsbCArIDEwKQorI2RlZmluZSBTWVNfc2VuZHRvCQkoU1lTX3NvY2tldF9zdWJjYWxsICsgMTEpCisjZGVmaW5lIFNZU19yZWN2ZnJvbQkJKFNZU19zb2NrZXRfc3ViY2FsbCArIDEyKQorI2RlZmluZSBTWVNfc2h1dGRvd24JCShTWVNfc29ja2V0X3N1YmNhbGwgKyAxMykKKyNkZWZpbmUgU1lTX3NldHNvY2tvcHQJCShTWVNfc29ja2V0X3N1YmNhbGwgKyAxNCkKKyNkZWZpbmUgU1lTX2dldHNvY2tvcHQJCShTWVNfc29ja2V0X3N1YmNhbGwgKyAxNSkKKworI2RlZmluZSBTWVNfc29ja2V0X25zdWJjYWxscwkxNgorI2VuZGlmIC8qICFBTFBIQSAqLworCisvKiBzeXNfaXBjIHN1YmNhbGxzICovCisKK2ludCBzeXNfc2VtZ2V0KCksIHN5c19zZW1jdGwoKTsKK2ludCBzeXNfbXNnc25kKCksIHN5c19tc2dyY3YoKSwgc3lzX21zZ2dldCgpLCBzeXNfbXNnY3RsKCk7CitpbnQgc3lzX3NobWF0KCksIHN5c19zaG1kdCgpLCBzeXNfc2htZ2V0KCksIHN5c19zaG1jdGwoKTsKKworI2lmbmRlZiBBTFBIQQorI2RlZmluZSBTWVNfaXBjX3N1YmNhbGwJCTIwMAorI2RlZmluZSBTWVNfc2Vtb3AJCShTWVNfaXBjX3N1YmNhbGwgKyAxKQorI2RlZmluZSBTWVNfc2VtZ2V0CQkoU1lTX2lwY19zdWJjYWxsICsgMikKKyNkZWZpbmUgU1lTX3NlbWN0bAkJKFNZU19pcGNfc3ViY2FsbCArIDMpCisjZGVmaW5lIFNZU19tc2dzbmQJCShTWVNfaXBjX3N1YmNhbGwgKyAxMSkKKyNkZWZpbmUgU1lTX21zZ3JjdgkJKFNZU19pcGNfc3ViY2FsbCArIDEyKQorI2RlZmluZSBTWVNfbXNnZ2V0CQkoU1lTX2lwY19zdWJjYWxsICsgMTMpCisjZGVmaW5lIFNZU19tc2djdGwJCShTWVNfaXBjX3N1YmNhbGwgKyAxNCkKKyNkZWZpbmUgU1lTX3NobWF0CQkoU1lTX2lwY19zdWJjYWxsICsgMjEpCisjZGVmaW5lIFNZU19zaG1kdAkJKFNZU19pcGNfc3ViY2FsbCArIDIyKQorI2RlZmluZSBTWVNfc2htZ2V0CQkoU1lTX2lwY19zdWJjYWxsICsgMjMpCisjZGVmaW5lIFNZU19zaG1jdGwJCShTWVNfaXBjX3N1YmNhbGwgKyAyNCkKKworI2RlZmluZSBTWVNfaXBjX25zdWJjYWxscwkyNQorI2VuZGlmIC8qIEFMUEhBICovCisKKyNpZmRlZiBBTFBIQQoraW50IG9zZl9zdGF0ZnMoKSwgb3NmX2ZzdGF0ZnMoKSwgc3lzX2dldHBhZ2VzaXplKCksIHN5c19tYWR2aXNlKCk7CitpbnQgc3lzX3NldHBncnAoKSwgc3lzX2dldGhvc3RuYW1lKCksIHN5c19nZXRkdGFibGVzaXplKCksIHN5c191dGltZXMoKTsKKyNlbmRpZgorCitpbnQgc3lzX19sbHNlZWsoKSwgc3lzX19uZXdzZWxlY3QoKSwgc3lzX19zeXNjdGwoKSwgc3lzX2tsb2coKTsKK2ludCBzeXNfcHJldl9mc3RhdCgpLCBzeXNfcHJldl9sc3RhdCgpLCBzeXNfcHJldl9ta25vZCgpLCBzeXNfcHJldl9zdGF0KCk7CitpbnQgc3lzX3ByZXZfdXN0YXQoKSwgc3lzX3N5c2NhbGxfZmxvY2soKSwgc3lzX3N5c2NhbGxfcmVhZHYoKTsKK2ludCBzeXNfc3lzY2FsbF93cml0ZXYoKTsKKworI2luY2x1ZGUgInN5c2NhbGwxLmgiCmRpZmYgLS1naXQgYS9zdHJhY2UtNC41LjIwL2xpbnV4L3NwYXJjL3N5c2NhbGwxLmggYi9zdHJhY2UtNC41LjIwL2xpbnV4L3NwYXJjL3N5c2NhbGwxLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTRkN2FmMwotLS0gL2Rldi9udWxsCisrKyBiL3N0cmFjZS00LjUuMjAvbGludXgvc3BhcmMvc3lzY2FsbDEuaApAQCAtMCwwICsxLDUwMCBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMTk5MywgMTk5NCwgMTk5NSBSaWNrIFNsYWRrZXkgPGpyc0B3b3JsZC5zdGQuY29tPgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIFRoZSBuYW1lIG9mIHRoZSBhdXRob3IgbWF5IG5vdCBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cworICogICAgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQVVUSE9SIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1MgT1IKKyAqIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMKKyAqIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuCisgKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCisgKiBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQKKyAqIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICoKKyAqCSRJZCQKKyAqLworCisjZGVmaW5lCVNPTEFSSVNfc3lzY2FsbAkwCisjZGVmaW5lCVNPTEFSSVNfZXhpdAkxCisjZGVmaW5lCVNPTEFSSVNfZm9yawkyCisjZGVmaW5lCVNPTEFSSVNfcmVhZAkzCisjZGVmaW5lCVNPTEFSSVNfd3JpdGUJNAorI2RlZmluZQlTT0xBUklTX29wZW4JNQorI2RlZmluZQlTT0xBUklTX2Nsb3NlCTYKKyNkZWZpbmUJU09MQVJJU193YWl0CTcKKyNkZWZpbmUJU09MQVJJU19jcmVhdAk4CisjZGVmaW5lCVNPTEFSSVNfbGluawk5CisjZGVmaW5lCVNPTEFSSVNfdW5saW5rCTEwCisjZGVmaW5lCVNPTEFSSVNfZXhlYwkxMQorI2RlZmluZQlTT0xBUklTX2NoZGlyCTEyCisjZGVmaW5lCVNPTEFSSVNfdGltZQkxMworI2RlZmluZQlTT0xBUklTX21rbm9kCTE0CisjZGVmaW5lCVNPTEFSSVNfY2htb2QJMTUKKyNkZWZpbmUJU09MQVJJU19jaG93bgkxNgorI2RlZmluZQlTT0xBUklTX2JyawkJMTcKKyNkZWZpbmUJU09MQVJJU19zdGF0CTE4CisjZGVmaW5lCVNPTEFSSVNfbHNlZWsJMTkKKyNkZWZpbmUJU09MQVJJU19nZXRwaWQJMjAKKyNkZWZpbmUJU09MQVJJU19tb3VudAkyMQorI2RlZmluZQlTT0xBUklTX3Vtb3VudAkyMgorI2RlZmluZQlTT0xBUklTX3NldHVpZAkyMworI2RlZmluZQlTT0xBUklTX2dldHVpZAkyNAorI2RlZmluZQlTT0xBUklTX3N0aW1lCTI1CisjZGVmaW5lCVNPTEFSSVNfcHRyYWNlCTI2CisjZGVmaW5lCVNPTEFSSVNfYWxhcm0JMjcKKyNkZWZpbmUJU09MQVJJU19mc3RhdAkyOAorI2RlZmluZQlTT0xBUklTX3BhdXNlCTI5CisjZGVmaW5lCVNPTEFSSVNfdXRpbWUJMzAKKyNkZWZpbmUJU09MQVJJU19zdHR5CTMxCisjZGVmaW5lCVNPTEFSSVNfZ3R0eQkzMgorI2RlZmluZQlTT0xBUklTX2FjY2VzcwkzMworI2RlZmluZQlTT0xBUklTX25pY2UJMzQKKyNkZWZpbmUJU09MQVJJU19zdGF0ZnMJMzUKKyNkZWZpbmUJU09MQVJJU19zeW5jCTM2CisjZGVmaW5lCVNPTEFSSVNfa2lsbAkzNworI2RlZmluZQlTT0xBUklTX2ZzdGF0ZnMJMzgKKyNkZWZpbmUJU09MQVJJU19wZ3Jwc3lzCTM5CisjZGVmaW5lCVNPTEFSSVNfeGVuaXgJNDAKKyNkZWZpbmUJU09MQVJJU19kdXAJCTQxCisjZGVmaW5lCVNPTEFSSVNfcGlwZQk0MgorI2RlZmluZQlTT0xBUklTX3RpbWVzCTQzCisjZGVmaW5lCVNPTEFSSVNfcHJvZmlsCTQ0CisjZGVmaW5lCVNPTEFSSVNfcGxvY2sJNDUKKyNkZWZpbmUJU09MQVJJU19zZXRnaWQJNDYKKyNkZWZpbmUJU09MQVJJU19nZXRnaWQJNDcKKyNkZWZpbmUJU09MQVJJU19zaWduYWwJNDgKKyNkZWZpbmUJU09MQVJJU19tc2dzeXMJNDkKKyNkZWZpbmUJU09MQVJJU19zeXNzdW4JNTAKKyNkZWZpbmUJU09MQVJJU19hY2N0CTUxCisjZGVmaW5lCVNPTEFSSVNfc2htc3lzCTUyCisjZGVmaW5lCVNPTEFSSVNfc2Vtc3lzCTUzCisjZGVmaW5lCVNPTEFSSVNfaW9jdGwJNTQKKyNkZWZpbmUJU09MQVJJU191YWRtaW4JNTUKKyNkZWZpbmUJU09MQVJJU191dHNzeXMJNTcKKyNkZWZpbmUJU09MQVJJU19mZHN5bmMJNTgKKyNkZWZpbmUJU09MQVJJU19leGVjdmUJNTkKKyNkZWZpbmUJU09MQVJJU191bWFzawk2MAorI2RlZmluZQlTT0xBUklTX2Nocm9vdAk2MQorI2RlZmluZQlTT0xBUklTX2ZjbnRsCTYyCisjZGVmaW5lCVNPTEFSSVNfdWxpbWl0CTYzCisjZGVmaW5lCVNPTEFSSVNfcm1kaXIJNzkKKyNkZWZpbmUJU09MQVJJU19ta2Rpcgk4MAorI2RlZmluZQlTT0xBUklTX2dldGRlbnRzCTgxCisjZGVmaW5lCVNPTEFSSVNfc3lzZnMJODQKKyNkZWZpbmUJU09MQVJJU19nZXRtc2cJODUKKyNkZWZpbmUJU09MQVJJU19wdXRtc2cJODYKKyNkZWZpbmUJU09MQVJJU19wb2xsCTg3CisjZGVmaW5lCVNPTEFSSVNfbHN0YXQJODgKKyNkZWZpbmUJU09MQVJJU19zeW1saW5rCTg5CisjZGVmaW5lCVNPTEFSSVNfcmVhZGxpbmsJOTAKKyNkZWZpbmUJU09MQVJJU19zZXRncm91cHMJOTEKKyNkZWZpbmUJU09MQVJJU19nZXRncm91cHMJOTIKKyNkZWZpbmUJU09MQVJJU19mY2htb2QJOTMKKyNkZWZpbmUJU09MQVJJU19mY2hvd24JOTQKKyNkZWZpbmUJU09MQVJJU19zaWdwcm9jbWFzawk5NQorI2RlZmluZQlTT0xBUklTX3NpZ3N1c3BlbmQJOTYKKyNkZWZpbmUJU09MQVJJU19zaWdhbHRzdGFjawk5NworI2RlZmluZQlTT0xBUklTX3NpZ2FjdGlvbgk5OAorI2RlZmluZQlTT0xBUklTX3NpZ3BlbmRpbmcJOTkKKyNkZWZpbmUJU09MQVJJU19jb250ZXh0CTEwMAorI2RlZmluZQlTT0xBUklTX2V2c3lzCTEwMQorI2RlZmluZQlTT0xBUklTX2V2dHJhcHJldAkxMDIKKyNkZWZpbmUJU09MQVJJU19zdGF0dmZzCTEwMworI2RlZmluZQlTT0xBUklTX2ZzdGF0dmZzCTEwNAorI2RlZmluZQlTT0xBUklTX25mc3N5cwkxMDYKKyNkZWZpbmUJU09MQVJJU193YWl0c3lzCTEwNworI2RlZmluZQlTT0xBUklTX3NpZ3NlbmRzeXMJMTA4CisjZGVmaW5lCVNPTEFSSVNfaHJ0c3lzCTEwOQorI2RlZmluZQlTT0xBUklTX2FjYW5jZWwJMTEwCisjZGVmaW5lCVNPTEFSSVNfYXN5bmMJMTExCisjZGVmaW5lCVNPTEFSSVNfcHJpb2NudGxzeXMJMTEyCisjZGVmaW5lCVNPTEFSSVNfcGF0aGNvbmYJMTEzCisjZGVmaW5lCVNPTEFSSVNfbWluY29yZQkxMTQKKyNkZWZpbmUJU09MQVJJU19tbWFwCTExNQorI2RlZmluZQlTT0xBUklTX21wcm90ZWN0CTExNgorI2RlZmluZQlTT0xBUklTX211bm1hcAkxMTcKKyNkZWZpbmUJU09MQVJJU19mcGF0aGNvbmYJMTE4CisjZGVmaW5lCVNPTEFSSVNfdmZvcmsJMTE5CisjZGVmaW5lCVNPTEFSSVNfZmNoZGlyCTEyMAorI2RlZmluZQlTT0xBUklTX3JlYWR2CTEyMQorI2RlZmluZQlTT0xBUklTX3dyaXRldgkxMjIKKyNkZWZpbmUJU09MQVJJU194c3RhdAkxMjMKKyNkZWZpbmUJU09MQVJJU19seHN0YXQJMTI0CisjZGVmaW5lCVNPTEFSSVNfZnhzdGF0CTEyNQorI2RlZmluZQlTT0xBUklTX3hta25vZAkxMjYKKyNkZWZpbmUJU09MQVJJU19jbG9jYWwJMTI3CisjZGVmaW5lCVNPTEFSSVNfc2V0cmxpbWl0CTEyOAorI2RlZmluZQlTT0xBUklTX2dldHJsaW1pdAkxMjkKKyNkZWZpbmUJU09MQVJJU19sY2hvd24JMTMwCisjZGVmaW5lCVNPTEFSSVNfbWVtY250bAkxMzEKKyNkZWZpbmUJU09MQVJJU19nZXRwbXNnCTEzMgorI2RlZmluZQlTT0xBUklTX3B1dHBtc2cJMTMzCisjZGVmaW5lCVNPTEFSSVNfcmVuYW1lCTEzNAorI2RlZmluZQlTT0xBUklTX3VuYW1lCTEzNQorI2RlZmluZQlTT0xBUklTX3NldGVnaWQJMTM2CisjZGVmaW5lCVNPTEFSSVNfc3lzY29uZmlnCTEzNworI2RlZmluZQlTT0xBUklTX2FkanRpbWUJMTM4CisjZGVmaW5lCVNPTEFSSVNfc3lzdGVtaW5mbwkxMzkKKyNkZWZpbmUJU09MQVJJU19zZXRldWlkCTE0MQorI2RlZmluZQlTT0xBUklTX3Z0cmFjZQkxNDIKKyNkZWZpbmUJU09MQVJJU19mb3JrMQkxNDMKKyNkZWZpbmUJU09MQVJJU19zaWd0aW1lZHdhaXQJMTQ0CisjZGVmaW5lCVNPTEFSSVNfbHdwX2luZm8JMTQ1CisjZGVmaW5lCVNPTEFSSVNfeWllbGQJMTQ2CisjZGVmaW5lCVNPTEFSSVNfbHdwX3NlbWFfd2FpdAkxNDcKKyNkZWZpbmUJU09MQVJJU19sd3Bfc2VtYV9wb3N0CTE0OAorI2RlZmluZQlTT0xBUklTX21vZGN0bAkxNTIKKyNkZWZpbmUJU09MQVJJU19mY2hyb290CTE1MworI2RlZmluZQlTT0xBUklTX3V0aW1lcwkxNTQKKyNkZWZpbmUJU09MQVJJU192aGFuZ3VwCTE1NQorI2RlZmluZQlTT0xBUklTX2dldHRpbWVvZmRheQkxNTYKKyNkZWZpbmUJU09MQVJJU19nZXRpdGltZXIJCTE1NworI2RlZmluZQlTT0xBUklTX3NldGl0aW1lcgkJMTU4CisjZGVmaW5lCVNPTEFSSVNfbHdwX2NyZWF0ZQkJMTU5CisjZGVmaW5lCVNPTEFSSVNfbHdwX2V4aXQJCTE2MAorI2RlZmluZQlTT0xBUklTX2x3cF9zdXNwZW5kCQkxNjEKKyNkZWZpbmUJU09MQVJJU19sd3BfY29udGludWUJMTYyCisjZGVmaW5lCVNPTEFSSVNfbHdwX2tpbGwJCTE2MworI2RlZmluZQlTT0xBUklTX2x3cF9zZWxmCQkxNjQKKyNkZWZpbmUJU09MQVJJU19sd3Bfc2V0cHJpdmF0ZQkxNjUKKyNkZWZpbmUJU09MQVJJU19sd3BfZ2V0cHJpdmF0ZQkxNjYKKyNkZWZpbmUJU09MQVJJU19sd3Bfd2FpdAkJMTY3CisjZGVmaW5lCVNPTEFSSVNfbHdwX211dGV4X3VubG9jawkxNjgKKyNkZWZpbmUJU09MQVJJU19sd3BfbXV0ZXhfbG9jawkxNjkKKyNkZWZpbmUJU09MQVJJU19sd3BfY29uZF93YWl0CTE3MAorI2RlZmluZQlTT0xBUklTX2x3cF9jb25kX3NpZ25hbAkxNzEKKyNkZWZpbmUJU09MQVJJU19sd3BfY29uZF9icm9hZGNhc3QJMTcyCisjZGVmaW5lCVNPTEFSSVNfcHJlYWQJCTE3MworI2RlZmluZQlTT0xBUklTX3B3cml0ZQkJMTc0CisjZGVmaW5lCVNPTEFSSVNfbGxzZWVrCQkxNzUKKyNkZWZpbmUJU09MQVJJU19pbnN0X3N5bmMJCTE3NgorI2RlZmluZQlTT0xBUklTX2thaW8JCTE3OAorI2RlZmluZQlTT0xBUklTX3Rzb2xzeXMJCTE4NAorI2RlZmluZQlTT0xBUklTX2FjbAkJCTE4NQorI2RlZmluZQlTT0xBUklTX2F1ZGl0c3lzCQkxODYKKyNkZWZpbmUJU09MQVJJU19wcm9jZXNzb3JfYmluZAkxODcKKyNkZWZpbmUJU09MQVJJU19wcm9jZXNzb3JfaW5mbwkxODgKKyNkZWZpbmUJU09MQVJJU19wX29ubGluZQkJMTg5CisjZGVmaW5lCVNPTEFSSVNfc2lncXVldWUJCTE5MAorI2RlZmluZQlTT0xBUklTX2Nsb2NrX2dldHRpbWUJMTkxCisjZGVmaW5lCVNPTEFSSVNfY2xvY2tfc2V0dGltZQkxOTIKKyNkZWZpbmUJU09MQVJJU19jbG9ja19nZXRyZXMJMTkzCisjZGVmaW5lCVNPTEFSSVNfdGltZXJfY3JlYXRlCTE5NAorI2RlZmluZQlTT0xBUklTX3RpbWVyX2RlbGV0ZQkxOTUKKyNkZWZpbmUJU09MQVJJU190aW1lcl9zZXR0aW1lCTE5NgorI2RlZmluZQlTT0xBUklTX3RpbWVyX2dldHRpbWUJMTk3CisjZGVmaW5lCVNPTEFSSVNfdGltZXJfZ2V0b3ZlcnJ1bgkxOTgKKyNkZWZpbmUJU09MQVJJU19uYW5vc2xlZXAJCTE5OQorI2RlZmluZQlTT0xBUklTX2ZhY2wJCTIwMAorI2RlZmluZQlTT0xBUklTX2Rvb3IJCTIwMQorI2RlZmluZQlTT0xBUklTX3NldHJldWlkCQkyMDIKKyNkZWZpbmUJU09MQVJJU19zZXRyZWdpZAkJMjAzCisjZGVmaW5lCVNPTEFSSVNfc2lnbm90aWZ5d2FpdAkyMTAKKyNkZWZpbmUJU09MQVJJU19sd3Bfc2lncmVkaXJlY3QJMjExCisjZGVmaW5lCVNPTEFSSVNfbHdwX2FsYXJtCQkyMTIKKworI2luY2x1ZGUgImR1bW15Mi5oIgorCitleHRlcm4gaW50IHNvbGFyaXNfc3lzY2FsbCgpOworZXh0ZXJuIGludCBzb2xhcmlzX2V4aXQoKTsKK2V4dGVybiBpbnQgc29sYXJpc19mb3JrKCk7CitleHRlcm4gaW50IHNvbGFyaXNfcmVhZCgpOworZXh0ZXJuIGludCBzb2xhcmlzX3dyaXRlKCk7CitleHRlcm4gaW50IHNvbGFyaXNfb3BlbigpOworZXh0ZXJuIGludCBzb2xhcmlzX2Nsb3NlKCk7CitleHRlcm4gaW50IHNvbGFyaXNfd2FpdCgpOworZXh0ZXJuIGludCBzb2xhcmlzX2NyZWF0KCk7CitleHRlcm4gaW50IHNvbGFyaXNfbGluaygpOworZXh0ZXJuIGludCBzb2xhcmlzX3VubGluaygpOworZXh0ZXJuIGludCBzb2xhcmlzX2V4ZWMoKTsKK2V4dGVybiBpbnQgc29sYXJpc19jaGRpcigpOworZXh0ZXJuIGludCBzb2xhcmlzX3RpbWUoKTsKK2V4dGVybiBpbnQgc29sYXJpc19ta25vZCgpOworZXh0ZXJuIGludCBzb2xhcmlzX2NobW9kKCk7CitleHRlcm4gaW50IHNvbGFyaXNfY2hvd24oKTsKK2V4dGVybiBpbnQgc29sYXJpc19icmsoKTsKK2V4dGVybiBpbnQgc29sYXJpc19zdGF0KCk7CitleHRlcm4gaW50IHNvbGFyaXNfbHNlZWsoKTsKK2V4dGVybiBpbnQgc29sYXJpc19nZXRwaWQoKTsKK2V4dGVybiBpbnQgc29sYXJpc19tb3VudCgpOworZXh0ZXJuIGludCBzb2xhcmlzX3Vtb3VudCgpOworZXh0ZXJuIGludCBzb2xhcmlzX3NldHVpZCgpOworZXh0ZXJuIGludCBzb2xhcmlzX2dldHVpZCgpOworZXh0ZXJuIGludCBzb2xhcmlzX3N0aW1lKCk7CitleHRlcm4gaW50IHNvbGFyaXNfcHRyYWNlKCk7CitleHRlcm4gaW50IHNvbGFyaXNfYWxhcm0oKTsKK2V4dGVybiBpbnQgc29sYXJpc19mc3RhdCgpOworZXh0ZXJuIGludCBzb2xhcmlzX3BhdXNlKCk7CitleHRlcm4gaW50IHNvbGFyaXNfdXRpbWUoKTsKK2V4dGVybiBpbnQgc29sYXJpc19zdHR5KCk7CitleHRlcm4gaW50IHNvbGFyaXNfZ3R0eSgpOworZXh0ZXJuIGludCBzb2xhcmlzX2FjY2VzcygpOworZXh0ZXJuIGludCBzb2xhcmlzX25pY2UoKTsKK2V4dGVybiBpbnQgc29sYXJpc19zdGF0ZnMoKTsKK2V4dGVybiBpbnQgc29sYXJpc19zeW5jKCk7CitleHRlcm4gaW50IHNvbGFyaXNfa2lsbCgpOworZXh0ZXJuIGludCBzb2xhcmlzX2ZzdGF0ZnMoKTsKK2V4dGVybiBpbnQgc29sYXJpc19wZ3Jwc3lzKCk7CitleHRlcm4gaW50IHNvbGFyaXNfc2V0cGdycCgpOworZXh0ZXJuIGludCBzb2xhcmlzX3hlbml4KCk7CitleHRlcm4gaW50IHNvbGFyaXNfc3lzc2dpKCk7CitleHRlcm4gaW50IHNvbGFyaXNfZHVwKCk7CitleHRlcm4gaW50IHNvbGFyaXNfcGlwZSgpOworZXh0ZXJuIGludCBzb2xhcmlzX3RpbWVzKCk7CitleHRlcm4gaW50IHNvbGFyaXNfcHJvZmlsKCk7CitleHRlcm4gaW50IHNvbGFyaXNfcGxvY2soKTsKK2V4dGVybiBpbnQgc29sYXJpc19zZXRnaWQoKTsKK2V4dGVybiBpbnQgc29sYXJpc19nZXRnaWQoKTsKK2V4dGVybiBpbnQgc29sYXJpc19zaWdjYWxsKCk7CitleHRlcm4gaW50IHNvbGFyaXNfbXNnc3lzKCk7CitleHRlcm4gaW50IHNvbGFyaXNfc3lzc3VuKCk7CitleHRlcm4gaW50IHNvbGFyaXNfc3lzaTg2KCk7CitleHRlcm4gaW50IHNvbGFyaXNfc3lzbWlwcygpOworZXh0ZXJuIGludCBzb2xhcmlzX3N5c21hY2hpbmUoKTsKK2V4dGVybiBpbnQgc29sYXJpc19hY2N0KCk7CitleHRlcm4gaW50IHNvbGFyaXNfc2htc3lzKCk7CitleHRlcm4gaW50IHNvbGFyaXNfc2Vtc3lzKCk7CitleHRlcm4gaW50IHNvbGFyaXNfaW9jdGwoKTsKK2V4dGVybiBpbnQgc29sYXJpc191YWRtaW4oKTsKK2V4dGVybiBpbnQgc29sYXJpc191dHNzeXMoKTsKK2V4dGVybiBpbnQgc29sYXJpc19mZHN5bmMoKTsKK2V4dGVybiBpbnQgc29sYXJpc19leGVjdmUoKTsKK2V4dGVybiBpbnQgc29sYXJpc191bWFzaygpOworZXh0ZXJuIGludCBzb2xhcmlzX2Nocm9vdCgpOworZXh0ZXJuIGludCBzb2xhcmlzX2ZjbnRsKCk7CitleHRlcm4gaW50IHNvbGFyaXNfdWxpbWl0KCk7CitleHRlcm4gaW50IHNvbGFyaXNfcm1kaXIoKTsKK2V4dGVybiBpbnQgc29sYXJpc19ta2RpcigpOworZXh0ZXJuIGludCBzb2xhcmlzX2dldGRlbnRzKCk7CitleHRlcm4gaW50IHNvbGFyaXNfc3lzZnMoKTsKK2V4dGVybiBpbnQgc29sYXJpc19nZXRtc2coKTsKK2V4dGVybiBpbnQgc29sYXJpc19wdXRtc2coKTsKK2V4dGVybiBpbnQgc29sYXJpc19wb2xsKCk7CitleHRlcm4gaW50IHNvbGFyaXNfbHN0YXQoKTsKK2V4dGVybiBpbnQgc29sYXJpc19zeW1saW5rKCk7CitleHRlcm4gaW50IHNvbGFyaXNfcmVhZGxpbmsoKTsKK2V4dGVybiBpbnQgc29sYXJpc19zZXRncm91cHMoKTsKK2V4dGVybiBpbnQgc29sYXJpc19nZXRncm91cHMoKTsKK2V4dGVybiBpbnQgc29sYXJpc19mY2htb2QoKTsKK2V4dGVybiBpbnQgc29sYXJpc19mY2hvd24oKTsKK2V4dGVybiBpbnQgc29sYXJpc19zaWdwcm9jbWFzaygpOworZXh0ZXJuIGludCBzb2xhcmlzX3NpZ3N1c3BlbmQoKTsKK2V4dGVybiBpbnQgc29sYXJpc19zaWdhbHRzdGFjaygpOworZXh0ZXJuIGludCBzb2xhcmlzX3NpZ2FjdGlvbigpOworZXh0ZXJuIGludCBzb2xhcmlzX3NwY2FsbCgpOworZXh0ZXJuIGludCBzb2xhcmlzX2NvbnRleHQoKTsKK2V4dGVybiBpbnQgc29sYXJpc19ldnN5cygpOworZXh0ZXJuIGludCBzb2xhcmlzX2V2dHJhcHJldCgpOworZXh0ZXJuIGludCBzb2xhcmlzX3N0YXR2ZnMoKTsKK2V4dGVybiBpbnQgc29sYXJpc19mc3RhdHZmcygpOworZXh0ZXJuIGludCBzb2xhcmlzX25mc3N5cygpOworZXh0ZXJuIGludCBzb2xhcmlzX3dhaXRpZCgpOworZXh0ZXJuIGludCBzb2xhcmlzX3NpZ3NlbmRzeXMoKTsKK2V4dGVybiBpbnQgc29sYXJpc19ocnRzeXMoKTsKK2V4dGVybiBpbnQgc29sYXJpc19hY2FuY2VsKCk7CitleHRlcm4gaW50IHNvbGFyaXNfYXN5bmMoKTsKK2V4dGVybiBpbnQgc29sYXJpc19wcmlvY250bHN5cygpOworZXh0ZXJuIGludCBzb2xhcmlzX3BhdGhjb25mKCk7CitleHRlcm4gaW50IHNvbGFyaXNfbWluY29yZSgpOworZXh0ZXJuIGludCBzb2xhcmlzX21tYXAoKTsKK2V4dGVybiBpbnQgc29sYXJpc19tcHJvdGVjdCgpOworZXh0ZXJuIGludCBzb2xhcmlzX211bm1hcCgpOworZXh0ZXJuIGludCBzb2xhcmlzX2ZwYXRoY29uZigpOworZXh0ZXJuIGludCBzb2xhcmlzX3Zmb3JrKCk7CitleHRlcm4gaW50IHNvbGFyaXNfZmNoZGlyKCk7CitleHRlcm4gaW50IHNvbGFyaXNfcmVhZHYoKTsKK2V4dGVybiBpbnQgc29sYXJpc193cml0ZXYoKTsKK2V4dGVybiBpbnQgc29sYXJpc194c3RhdCgpOworZXh0ZXJuIGludCBzb2xhcmlzX2x4c3RhdCgpOworZXh0ZXJuIGludCBzb2xhcmlzX2Z4c3RhdCgpOworZXh0ZXJuIGludCBzb2xhcmlzX3hta25vZCgpOworZXh0ZXJuIGludCBzb2xhcmlzX2Nsb2NhbCgpOworZXh0ZXJuIGludCBzb2xhcmlzX3NldHJsaW1pdCgpOworZXh0ZXJuIGludCBzb2xhcmlzX2dldHJsaW1pdCgpOworZXh0ZXJuIGludCBzb2xhcmlzX2xjaG93bigpOworZXh0ZXJuIGludCBzb2xhcmlzX21lbWNudGwoKTsKK2V4dGVybiBpbnQgc29sYXJpc19nZXRwbXNnKCk7CitleHRlcm4gaW50IHNvbGFyaXNfcHV0cG1zZygpOworZXh0ZXJuIGludCBzb2xhcmlzX3JlbmFtZSgpOworZXh0ZXJuIGludCBzb2xhcmlzX3VuYW1lKCk7CitleHRlcm4gaW50IHNvbGFyaXNfc2V0ZWdpZCgpOworZXh0ZXJuIGludCBzb2xhcmlzX3N5c2NvbmZpZygpOworZXh0ZXJuIGludCBzb2xhcmlzX2FkanRpbWUoKTsKK2V4dGVybiBpbnQgc29sYXJpc19zeXNpbmZvKCk7CitleHRlcm4gaW50IHNvbGFyaXNfc2V0ZXVpZCgpOworZXh0ZXJuIGludCBzb2xhcmlzX3Z0cmFjZSgpOworZXh0ZXJuIGludCBzb2xhcmlzX2ZvcmsxKCk7CitleHRlcm4gaW50IHNvbGFyaXNfc2lndGltZWR3YWl0KCk7CitleHRlcm4gaW50IHNvbGFyaXNfbHdwX2luZm8oKTsKK2V4dGVybiBpbnQgc29sYXJpc195aWVsZCgpOworZXh0ZXJuIGludCBzb2xhcmlzX2x3cF9zZW1hX3dhaXQoKTsKK2V4dGVybiBpbnQgc29sYXJpc19sd3Bfc2VtYV9wb3N0KCk7CitleHRlcm4gaW50IHNvbGFyaXNfbW9kY3RsKCk7CitleHRlcm4gaW50IHNvbGFyaXNfZmNocm9vdCgpOworZXh0ZXJuIGludCBzb2xhcmlzX3V0aW1lcygpOworZXh0ZXJuIGludCBzb2xhcmlzX3ZoYW5ndXAoKTsKK2V4dGVybiBpbnQgc29sYXJpc19nZXR0aW1lb2ZkYXkoKTsKK2V4dGVybiBpbnQgc29sYXJpc19nZXRpdGltZXIoKTsKK2V4dGVybiBpbnQgc29sYXJpc19zZXRpdGltZXIoKTsKK2V4dGVybiBpbnQgc29sYXJpc19sd3BfY3JlYXRlKCk7CitleHRlcm4gaW50IHNvbGFyaXNfbHdwX2V4aXQoKTsKK2V4dGVybiBpbnQgc29sYXJpc19sd3Bfc3VzcGVuZCgpOworZXh0ZXJuIGludCBzb2xhcmlzX2x3cF9jb250aW51ZSgpOworZXh0ZXJuIGludCBzb2xhcmlzX2x3cF9raWxsKCk7CitleHRlcm4gaW50IHNvbGFyaXNfbHdwX3NlbGYoKTsKK2V4dGVybiBpbnQgc29sYXJpc19sd3Bfc2V0cHJpdmF0ZSgpOworZXh0ZXJuIGludCBzb2xhcmlzX2x3cF9nZXRwcml2YXRlKCk7CitleHRlcm4gaW50IHNvbGFyaXNfbHdwX3dhaXQoKTsKK2V4dGVybiBpbnQgc29sYXJpc19sd3BfbXV0ZXhfdW5sb2NrKCk7CitleHRlcm4gaW50IHNvbGFyaXNfbHdwX211dGV4X2xvY2soKTsKK2V4dGVybiBpbnQgc29sYXJpc19sd3BfY29uZF93YWl0KCk7CitleHRlcm4gaW50IHNvbGFyaXNfbHdwX2NvbmRfc2lnbmFsKCk7CitleHRlcm4gaW50IHNvbGFyaXNfbHdwX2NvbmRfYnJvYWRjYXN0KCk7CitleHRlcm4gaW50IHNvbGFyaXNfcHJlYWQoKTsKK2V4dGVybiBpbnQgc29sYXJpc19wd3JpdGUoKTsKK2V4dGVybiBpbnQgc29sYXJpc19sbHNlZWsoKTsKK2V4dGVybiBpbnQgc29sYXJpc19pbnN0X3N5bmMoKTsKK2V4dGVybiBpbnQgc29sYXJpc19hdWRpdHN5cygpOworZXh0ZXJuIGludCBzb2xhcmlzX3Byb2Nlc3Nvcl9iaW5kKCk7CitleHRlcm4gaW50IHNvbGFyaXNfcHJvY2Vzc29yX2luZm8oKTsKK2V4dGVybiBpbnQgc29sYXJpc19wX29ubGluZSgpOworZXh0ZXJuIGludCBzb2xhcmlzX3NpZ3F1ZXVlKCk7CitleHRlcm4gaW50IHNvbGFyaXNfY2xvY2tfZ2V0dGltZSgpOworZXh0ZXJuIGludCBzb2xhcmlzX2Nsb2NrX3NldHRpbWUoKTsKK2V4dGVybiBpbnQgc29sYXJpc19jbG9ja19nZXRyZXMoKTsKK2V4dGVybiBpbnQgc29sYXJpc190aW1lcl9jcmVhdGUoKTsKK2V4dGVybiBpbnQgc29sYXJpc190aW1lcl9kZWxldGUoKTsKK2V4dGVybiBpbnQgc29sYXJpc190aW1lcl9zZXR0aW1lKCk7CitleHRlcm4gaW50IHNvbGFyaXNfdGltZXJfZ2V0dGltZSgpOworZXh0ZXJuIGludCBzb2xhcmlzX3RpbWVyX2dldG92ZXJydW4oKTsKK2V4dGVybiBpbnQgc29sYXJpc19uYW5vc2xlZXAoKTsKKworLyogc29sYXJpc19wZ3Jwc3lzIHN1YmNhbGxzICovCisKK2V4dGVybiBpbnQgc29sYXJpc19nZXRwZ3JwKCksIHNvbGFyaXNfc2V0cGdycCgpLCBzb2xhcmlzX2dldHNpZCgpOworZXh0ZXJuIGludCBzb2xhcmlzX3NldHNpZCgpLCBzb2xhcmlzX2dldHBnaWQoKSwgc29sYXJpc19zZXRwZ2lkKCk7CisKKyNkZWZpbmUgU09MQVJJU19wZ3Jwc3lzX3N1YmNhbGwJMzAwCisjZGVmaW5lIFNPTEFSSVNfZ2V0cGdycAkJKFNPTEFSSVNfcGdycHN5c19zdWJjYWxsICsgMCkKKyNkZWZpbmUgU09MQVJJU19zZXRwZ3JwCQkoU09MQVJJU19wZ3Jwc3lzX3N1YmNhbGwgKyAxKQorI2RlZmluZSBTT0xBUklTX2dldHNpZAkJKFNPTEFSSVNfcGdycHN5c19zdWJjYWxsICsgMikKKyNkZWZpbmUgU09MQVJJU19zZXRzaWQJCShTT0xBUklTX3BncnBzeXNfc3ViY2FsbCArIDMpCisjZGVmaW5lIFNPTEFSSVNfZ2V0cGdpZAkJKFNPTEFSSVNfcGdycHN5c19zdWJjYWxsICsgNCkKKyNkZWZpbmUgU09MQVJJU19zZXRwZ2lkCQkoU09MQVJJU19wZ3Jwc3lzX3N1YmNhbGwgKyA1KQorCisjZGVmaW5lIFNPTEFSSVNfcGdycHN5c19uc3ViY2FsbHMJNgorCisvKiBzb2xhcmlzX3NpZ2NhbGwgc3ViY2FsbHMgKi8KKworI3VuZGVmIFNPTEFSSVNfc2lnbmFsCisjZGVmaW5lIFNPTEFSSVNfc2lnY2FsbAkJNDgKKworZXh0ZXJuIGludCBzb2xhcmlzX3NpZ25hbCgpLCBzb2xhcmlzX3NpZ3NldCgpLCBzb2xhcmlzX3NpZ2hvbGQoKTsKK2V4dGVybiBpbnQgc29sYXJpc19zaWdyZWxzZSgpLCBzb2xhcmlzX3NpZ2lnbm9yZSgpLCBzb2xhcmlzX3NpZ3BhdXNlKCk7CisKKyNkZWZpbmUgU09MQVJJU19zaWdjYWxsX3N1YmNhbGwJMzEwCisjZGVmaW5lIFNPTEFSSVNfc2lnbmFsCQkoU09MQVJJU19zaWdjYWxsX3N1YmNhbGwgKyAwKQorI2RlZmluZSBTT0xBUklTX3NpZ3NldAkJKFNPTEFSSVNfc2lnY2FsbF9zdWJjYWxsICsgMSkKKyNkZWZpbmUgU09MQVJJU19zaWdob2xkCQkoU09MQVJJU19zaWdjYWxsX3N1YmNhbGwgKyAyKQorI2RlZmluZSBTT0xBUklTX3NpZ3JlbHNlCQkoU09MQVJJU19zaWdjYWxsX3N1YmNhbGwgKyAzKQorI2RlZmluZSBTT0xBUklTX3NpZ2lnbm9yZQkJKFNPTEFSSVNfc2lnY2FsbF9zdWJjYWxsICsgNCkKKyNkZWZpbmUgU09MQVJJU19zaWdwYXVzZQkJKFNPTEFSSVNfc2lnY2FsbF9zdWJjYWxsICsgNSkKKworI2RlZmluZSBTT0xBUklTX3NpZ2NhbGxfbnN1YmNhbGxzCTYKKworLyogbXNnc3lzIHN1YmNhbGxzICovCisKK2V4dGVybiBpbnQgc29sYXJpc19tc2dnZXQoKSwgc29sYXJpc19tc2djdGwoKSwgc29sYXJpc19tc2dyY3YoKSwgc29sYXJpc19tc2dzbmQoKTsKKworI2RlZmluZSBTT0xBUklTX21zZ3N5c19zdWJjYWxsCTMyMAorI2RlZmluZSBTT0xBUklTX21zZ2dldAkJKFNPTEFSSVNfbXNnc3lzX3N1YmNhbGwgKyAwKQorI2RlZmluZSBTT0xBUklTX21zZ2N0bAkJKFNPTEFSSVNfbXNnc3lzX3N1YmNhbGwgKyAxKQorI2RlZmluZSBTT0xBUklTX21zZ3JjdgkJKFNPTEFSSVNfbXNnc3lzX3N1YmNhbGwgKyAyKQorI2RlZmluZSBTT0xBUklTX21zZ3NuZAkJKFNPTEFSSVNfbXNnc3lzX3N1YmNhbGwgKyAzKQorCisjZGVmaW5lIFNPTEFSSVNfbXNnc3lzX25zdWJjYWxscwk0CisKKy8qIHNobXN5cyBzdWJjYWxscyAqLworCitleHRlcm4gaW50IHNvbGFyaXNfc2htYXQoKSwgc29sYXJpc19zaG1jdGwoKSwgc29sYXJpc19zaG1kdCgpLCBzb2xhcmlzX3NobWdldCgpOworCisjZGVmaW5lIFNPTEFSSVNfc2htc3lzX3N1YmNhbGwJMzMwCisjZGVmaW5lIFNPTEFSSVNfc2htYXQJCShTT0xBUklTX3NobXN5c19zdWJjYWxsICsgMCkKKyNkZWZpbmUgU09MQVJJU19zaG1jdGwJCShTT0xBUklTX3NobXN5c19zdWJjYWxsICsgMSkKKyNkZWZpbmUgU09MQVJJU19zaG1kdAkJKFNPTEFSSVNfc2htc3lzX3N1YmNhbGwgKyAyKQorI2RlZmluZSBTT0xBUklTX3NobWdldAkJKFNPTEFSSVNfc2htc3lzX3N1YmNhbGwgKyAzKQorCisjZGVmaW5lIFNPTEFSSVNfc2htc3lzX25zdWJjYWxscwk0CisKKy8qIHNlbXN5cyBzdWJjYWxscyAqLworCitleHRlcm4gaW50IHNvbGFyaXNfc2VtY3RsKCksIHNvbGFyaXNfc2VtZ2V0KCksIHNvbGFyaXNfc2Vtb3AoKTsKKworI2RlZmluZSBTT0xBUklTX3NlbXN5c19zdWJjYWxsCTM0MAorI2RlZmluZSBTT0xBUklTX3NlbWN0bAkJKFNPTEFSSVNfc2Vtc3lzX3N1YmNhbGwgKyAwKQorI2RlZmluZSBTT0xBUklTX3NlbWdldAkJKFNPTEFSSVNfc2Vtc3lzX3N1YmNhbGwgKyAxKQorI2RlZmluZSBTT0xBUklTX3NlbW9wCQkoU09MQVJJU19zZW1zeXNfc3ViY2FsbCArIDIpCisKKyNkZWZpbmUgU09MQVJJU19zZW1zeXNfbnN1YmNhbGxzCTMKKworLyogdXRzc3lzIHN1YmNhbGxzICovCisKK2V4dGVybiBpbnQgc29sYXJpc19vbGR1bmFtZSgpLCBzb2xhcmlzX3VzdGF0KCksIHNvbGFyaXNfZnVzZXJzKCk7CisKKyNkZWZpbmUgU09MQVJJU191dHNzeXNfc3ViY2FsbAkzNTAKKworI2RlZmluZSBTT0xBUklTX29sZHVuYW1lCQkoU09MQVJJU191dHNzeXNfc3ViY2FsbCArIDApCisJCQkJLyogMSBpcyB1bnVzZWQgKi8KKyNkZWZpbmUgU09MQVJJU191c3RhdAkJKFNPTEFSSVNfdXRzc3lzX3N1YmNhbGwgKyAyKQorI2RlZmluZSBTT0xBUklTX2Z1c2VycwkJKFNPTEFSSVNfdXRzc3lzX3N1YmNhbGwgKyAzKQorCisjZGVmaW5lIFNPTEFSSVNfdXRzc3lzX25zdWJjYWxscwk0CisKKy8qIHN5c2ZzIHN1YmNhbGxzICovCisKK2V4dGVybiBpbnQgc29sYXJpc19zeXNmczEoKSwgc29sYXJpc19zeXNmczIoKSwgc29sYXJpc19zeXNmczMoKTsKKworI2RlZmluZSBTT0xBUklTX3N5c2ZzX3N1YmNhbGwJMzYwCisJCQkJLyogMCBpcyB1bnVzZWQgKi8KKyNkZWZpbmUgU09MQVJJU19zeXNmczEJCShTT0xBUklTX3N5c2ZzX3N1YmNhbGwgKyAxKQorI2RlZmluZSBTT0xBUklTX3N5c2ZzMgkJKFNPTEFSSVNfc3lzZnNfc3ViY2FsbCArIDIpCisjZGVmaW5lIFNPTEFSSVNfc3lzZnMzCQkoU09MQVJJU19zeXNmc19zdWJjYWxsICsgMykKKworI2RlZmluZSBTT0xBUklTX3N5c2ZzX25zdWJjYWxscwk0CisKKy8qIHNvbGFyaXNfc3BjYWxsIHN1YmNhbGxzICovCisKKyN1bmRlZiBTT0xBUklTX3NpZ3BlbmRpbmcKKyNkZWZpbmUgU09MQVJJU19zcGNhbGwJCTk5CisKK2V4dGVybiBpbnQgc29sYXJpc19zaWdwZW5kaW5nKCksIHNvbGFyaXNfc2lnZmlsbHNldCgpOworCisjZGVmaW5lIFNPTEFSSVNfc3BjYWxsX3N1YmNhbGwJMzcwCisJCQkJLyogMCBpcyB1bnVzZWQgKi8KKyNkZWZpbmUgU09MQVJJU19zaWdwZW5kaW5nCQkoU09MQVJJU19zcGNhbGxfc3ViY2FsbCArIDEpCisjZGVmaW5lIFNPTEFSSVNfc2lnZmlsbHNldAkJKFNPTEFSSVNfc3BjYWxsX3N1YmNhbGwgKyAyKQorCisjZGVmaW5lIFNPTEFSSVNfc3BjYWxsX25zdWJjYWxscwkzCisKKy8qIHNvbGFyaXNfY29udGV4dCBzdWJjYWxscyAqLworCitleHRlcm4gaW50IHNvbGFyaXNfZ2V0Y29udGV4dCgpLCBzb2xhcmlzX3NldGNvbnRleHQoKTsKKworI2RlZmluZSBTT0xBUklTX2NvbnRleHRfc3ViY2FsbAkzODAKKyNkZWZpbmUgU09MQVJJU19nZXRjb250ZXh0CQkoU09MQVJJU19jb250ZXh0X3N1YmNhbGwgKyAwKQorI2RlZmluZSBTT0xBUklTX3NldGNvbnRleHQJCShTT0xBUklTX2NvbnRleHRfc3ViY2FsbCArIDEpCisKKyNkZWZpbmUgU09MQVJJU19jb250ZXh0X25zdWJjYWxscwkyCmRpZmYgLS1naXQgYS9zdHJhY2UtNC41LjIwL2xpbnV4L3NwYXJjL3N5c2NhbGxlbnQuaCBiL3N0cmFjZS00LjUuMjAvbGludXgvc3BhcmMvc3lzY2FsbGVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhkZjgwYzgKLS0tIC9kZXYvbnVsbAorKysgYi9zdHJhY2UtNC41LjIwL2xpbnV4L3NwYXJjL3N5c2NhbGxlbnQuaApAQCAtMCwwICsxLDQwOCBAQAorCXsgMCwJMCwJc3lzX3Jlc3RhcnRfc3lzY2FsbCwgInJlc3RhcnRfc3lzY2FsbCIgfSwvKiAwICovCisJeyAxLAlUUCwJc3lzX2V4aXQsCSJleGl0IiB9LAkJLyogMSAqLworCXsgMCwJVFAsCXN5c19mb3JrLAkiZm9yayIgfSwJCS8qIDIgKi8KKwl7IDMsCVRELAlzeXNfcmVhZCwJInJlYWQiIH0sCQkvKiAzICovCisJeyAzLAlURCwJc3lzX3dyaXRlLAkid3JpdGUiIH0sCQkvKiA0ICovCisJeyAzLAlURHxURiwJc3lzX29wZW4sCSJvcGVuIiB9LAkJLyogNSAqLworCXsgMSwJVEQsCXN5c19jbG9zZSwJImNsb3NlIiB9LAkJLyogNiAqLworCXsgNCwJVFAsCXN5c193YWl0NCwJIndhaXQ0IiB9LAkJLyogNyAqLworCXsgMiwJVER8VEYsCXN5c19jcmVhdCwJImNyZWF0IiB9LAkJLyogOCAqLworCXsgMiwJVEYsCXN5c19saW5rLAkibGluayIgfSwJCS8qIDkgKi8KKwl7IDEsCVRGLAlzeXNfdW5saW5rLAkidW5saW5rIiB9LAkJLyogMTAgKi8KKwl7IDIsICAgIFRGfFRQLAlzeXNfZXhlY3YsCSJleGVjdiIgfSwJCS8qIDExICovCisJeyAxLAlURiwJc3lzX2NoZGlyLAkiY2hkaXIiIH0sCQkvKiAxMiAqLworCXsgMywgICAgVEYsICAgICBzeXNfY2hvd24sICAgICAgImNob3duIn0sCQkvKiAxMyAqLworCXsgMywJVEYsCXN5c19ta25vZCwJIm1rbm9kIiB9LAkJLyogMTQgKi8KKwl7IDIsCVRGLAlzeXNfY2htb2QsCSJjaG1vZCIgfSwJCS8qIDE1ICovCisJeyAzLAlURiwJc3lzX2Nob3duLAkibGNob3duIiB9LAkJLyogMTYgKi8KKwl7IDEsCTAsCXN5c19icmssCSJicmsiIH0sCQkvKiAxNyAqLworCXsgNCwJMCwJcHJpbnRhcmdzLAkicGVyZmN0ciIgfSwJCS8qIDE4ICovCisJeyAzLAlURCwJc3lzX2xzZWVrLAkibHNlZWsiIH0sCQkvKiAxOSAqLworCXsgMCwJMCwJc3lzX2dldHBpZCwJImdldHBpZCIgfSwJCS8qIDIwICovCisJeyAyLAkwLAlzeXNfY2FwZ2V0LAkiY2FwZ2V0IiB9LAkJLyogMjEgKi8KKwl7IDIsCTAsCXN5c19jYXBzZXQsCSJjYXBzZXQiIH0sCQkvKiAyMiAqLworCXsgMSwJMCwJc3lzX3NldHVpZCwJInNldHVpZCIgfSwJCS8qIDIzICovCisJeyAwLAkwLAlzeXNfZ2V0dWlkLAkiZ2V0dWlkIiB9LAkJLyogMjQgKi8KKwl7IDEsCTAsCXN5c190aW1lLAkidGltZSIgfSwJCS8qIDI1ICovCisJeyA1LAkwLAlzeXNfcHRyYWNlLAkicHRyYWNlIiB9LAkJLyogMjYgKi8KKwl7IDEsCTAsCXN5c19hbGFybSwJImFsYXJtIiB9LAkJLyogMjcgKi8KKwl7IDIsCVRTLAlzeXNfc2lnYWx0c3RhY2ssInNpZ2FsdHN0YWNrIiB9LAkvKiAyOCAqLworCXsgMCwJVFMsCXN5c19wYXVzZSwJInBhdXNlIiB9LAkJLyogMjkgKi8KKwl7IDIsCVRGLAlzeXNfdXRpbWUsCSJ1dGltZSIgfSwJCS8qIDMwICovCisJeyAzLAlURiwJc3lzX2Nob3duLAkibGNob3duMzIiIH0sCQkvKiAzMSAqLworCXsgMywJVEQsCXN5c19mY2hvd24sCSJmY2hvd24zMiIgfSwJCS8qIDMyICovCisJeyAyLAlURiwJc3lzX2FjY2VzcywJImFjY2VzcyIgfSwJCS8qIDMzICovCisJeyAxLAkwLAlzeXNfbmljZSwJIm5pY2UiIH0sCQkvKiAzNCAqLworCXsgMywJVEYsCXN5c19jaG93biwJImNob3duMzIiIH0sCQkvKiAzNSAqLworCXsgMCwJMCwJc3lzX3N5bmMsCSJzeW5jIiB9LAkJLyogMzYgKi8KKwl7IDIsCVRTLAlzeXNfa2lsbCwJImtpbGwiIH0sCQkvKiAzNyAqLworCXsgMiwJVEYsCXN5c19zdGF0LAkic3RhdCIgfSwJCS8qIDM4ICovCisJeyA0LAlURHxUTiwJc3lzX3NlbmRmaWxlLAkic2VuZGZpbGUiIH0sCQkvKiAzOSAqLworCXsgMiwJVEYsCXN5c19sc3RhdCwJImxzdGF0IiB9LAkJLyogNDAgKi8KKwl7IDIsCVRELAlzeXNfZHVwLAkiZHVwIiB9LAkJLyogNDEgKi8KKwl7IDAsCVRELAlzeXNfcGlwZSwJInBpcGUiIH0sCQkvKiA0MiAqLworCXsgMSwJMCwJc3lzX3RpbWVzLAkidGltZXMiIH0sCQkvKiA0MyAqLworCXsgMCwJMCwJc3lzX2dldHVpZCwJImdldHVpZDMyIiB9LAkJLyogNDQgKi8KKwl7IDIsCVRGLAlzeXNfdW1vdW50MiwJInVtb3VudCIgfSwJCS8qIDQ1ICovCisJeyAxLAkwLAlzeXNfc2V0Z2lkLAkic2V0Z2lkIiB9LAkJLyogNDYgKi8KKwl7IDAsCTAsCXN5c19nZXRnaWQsCSJnZXRnaWQiIH0sCQkvKiA0NyAqLworCXsgMywJVFMsCXN5c19zaWduYWwsCSJzaWduYWwiIH0sCQkvKiA0OCAqLworCXsgMCwJMCwJc3lzX2dldGV1aWQsCSJnZXRldWlkIiB9LAkJLyogNDkgKi8KKwl7IDAsCTAsCXN5c19nZXRlZ2lkLAkiZ2V0ZWdpZCIgfSwJCS8qIDUwICovCisJeyAxLAlURiwJc3lzX2FjY3QsCSJhY2N0IiB9LAkJLyogNTEgKi8KKwl7IDIsCTAsCXByaW50YXJncywJIm1lbW9yeV9vcmRlcmluZyIgfSwJLyogNTIgKi8KKwl7IDAsCTAsCXN5c19nZXRnaWQsCSJnZXRnaWQzMiIgfSwJCS8qIDUzICovCisJeyAzLAlURCwJc3lzX2lvY3RsLAkiaW9jdGwiIH0sCQkvKiA1NCAqLworCXsgMywJMCwJc3lzX3JlYm9vdCwJInJlYm9vdCIgfSwJCS8qIDU1ICovCisJeyA2LAkwLAlzeXNfbW1hcCwJIm1tYXAyIiB9LAkJLyogNTYgKi8KKwl7IDIsCVRGLAlzeXNfc3ltbGluaywJInN5bWxpbmsiIH0sCQkvKiA1NyAqLworCXsgMywJVEYsCXN5c19yZWFkbGluaywJInJlYWRsaW5rIiB9LAkJLyogNTggKi8KKwl7IDMsCVRGfFRQLAlzeXNfZXhlY3ZlLAkiZXhlY3ZlIiB9LAkJLyogNTkgKi8KKwl7IDEsCTAsCXN5c191bWFzaywJInVtYXNrIiB9LAkJLyogNjAgKi8KKwl7IDEsCVRGLAlzeXNfY2hyb290LAkiY2hyb290IiB9LAkJLyogNjEgKi8KKwl7IDIsCVRELAlzeXNfZnN0YXQsCSJmc3RhdCIgfSwJCS8qIDYyICovCisJeyAyLAlURCwJc3lzX2ZzdGF0NjQsCSJmc3RhdDY0IiB9LAkJLyogNjMgKi8KKwl7IDAsCTAsCXN5c19nZXRwYWdlc2l6ZSwiZ2V0cGFnZXNpemUiIH0sCS8qIDY0ICovCisJeyAzLAkwLAlzeXNfbXN5bmMsCSJtc3luYyIgfSwJCS8qIDY1ICovCisJeyAwLAlUUCwJc3lzX3Zmb3JrLAkidmZvcmsiIH0sCQkvKiA2NiAqLworCXsgNSwJVEQsCXN5c19wcmVhZCwJInByZWFkIiB9LAkJLyogNjcgKi8KKwl7IDUsCVRELAlzeXNfcHdyaXRlLAkicHdyaXRlIiB9LAkJLyogNjggKi8KKwl7IDAsICAgIDAsCXN5c19nZXRldWlkLAkiZ2V0ZXVpZDMyIiB9LAkJLyogNjkgKi8KKwl7IDAsCTAsCXN5c19nZXRlZ2lkLAkiZ2V0ZWdpZDMyIiB9LAkJLyogNzAgKi8KKwl7IDYsCTAsCXN5c19tbWFwLAkibW1hcCIgfSwJCS8qIDcxICovCisJeyAyLAkwLAlzeXNfc2V0cmV1aWQsCSJzZXRyZXVpZDMyIiB9LAkJLyogNzIgKi8KKwl7IDIsCTAsCXN5c19tdW5tYXAsCSJtdW5tYXAiIH0sCQkvKiA3MyAqLworCXsgMywJMCwJc3lzX21wcm90ZWN0LAkibXByb3RlY3QiIH0sCQkvKiA3NCAqLworCXsgMywJMCwJc3lzX21hZHZpc2UsCSJtYWR2aXNlIiB9LAkJLyogNzUgKi8KKwl7IDAsCTAsCXN5c192aGFuZ3VwLAkidmhhbmd1cCIgfSwJCS8qIDc2ICovCisJeyAzLAlURiwJc3lzX3RydW5jYXRlNjQsCSJ0cnVuY2F0ZTY0IiB9LAkJLyogNzcgKi8KKwl7IDMsCTAsCXN5c19taW5jb3JlLAkibWluY29yZSIgfSwJCS8qIDc4ICovCisJeyAyLAkwLAlzeXNfZ2V0Z3JvdXBzLAkiZ2V0Z3JvdXBzIiB9LAkJLyogNzkgKi8KKwl7IDIsCTAsCXN5c19zZXRncm91cHMsCSJzZXRncm91cHMiIH0sCQkvKiA4MCAqLworCXsgMCwJMCwJc3lzX2dldHBncnAsCSJnZXRwZ3JwIiB9LAkJLyogODEgKi8KKwl7IDIsCTAsCXN5c19zZXRncm91cHMzMiwic2V0Z3JvdXBzMzIiIH0sCS8qIDgyICovCisJeyAzLAkwLAlzeXNfc2V0aXRpbWVyLAkic2V0aXRpbWVyIiB9LAkJLyogODMgKi8KKwl7IDIsCVRELAlzeXNfZnRydW5jYXRlLAkiZnRydW5jYXRlNjQiIH0sCS8qIDg0ICovCisJeyAxLAlURiwJc3lzX3N3YXBvbiwJInN3YXBvbiIgfSwJCS8qIDg1ICovCisJeyAyLAkwLAlzeXNfZ2V0aXRpbWVyLAkiZ2V0aXRpbWVyIiB9LAkJLyogODYgKi8KKwl7IDEsCTAsCXN5c19zZXR1aWQsCSJzZXR1aWQzMiIgfSwJCS8qIDg3ICovCisJeyAyLAkwLAlzeXNfc2V0aG9zdG5hbWUsInNldGhvc3RuYW1lIiB9LAkvKiA4OCAqLworCXsgMSwJMCwJc3lzX3NldGdpZCwJInNldGdpZDMyIiB9LAkJLyogODkgKi8KKwl7IDIsCVRELAlzeXNfZHVwMiwJImR1cDIiIH0sCQkvKiA5MCAqLworCXsgMSwJMCwJc3lzX3NldGZzdWlkLAkic2V0ZnN1aWQzMiIgfSwJCS8qIDkxICovCisJeyAzLAlURCwJc3lzX2ZjbnRsLAkiZmNudGwiIH0sCQkvKiA5MiAqLworCXsgNSwJVEQsCXN5c19zZWxlY3QsCSJzZWxlY3QiIH0sCQkvKiA5MyAqLworCXsgMSwJMCwJc3lzX3NldGZzZ2lkLAkic2V0ZnNnaWQzMiIgfSwJCS8qIDk0ICovCisJeyAxLAlURCwJc3lzX2ZzeW5jLAkiZnN5bmMiIH0sCQkvKiA5NSAqLworCXsgMywJMCwJc3lzX3NldHByaW9yaXR5LCJzZXRwcmlvcml0eSIgfSwJLyogOTYgKi8KKwl7IDMsCVROLAlzeXNfc29ja2V0LAkic29ja2V0IiB9LAkJLyogOTcgKi8KKwl7IDMsCVROLAlzeXNfY29ubmVjdCwJImNvbm5lY3QiIH0sCQkvKiA5OCAqLworCXsgMywJVE4sCXN5c19hY2NlcHQsCSJhY2NlcHQiIH0sCQkvKiA5OSAqLworCXsgMiwJMCwJc3lzX2dldHByaW9yaXR5LCJnZXRwcmlvcml0eSIgfSwJLyogMTAwICovCisJeyAxLAlUUywJcHJpbnRhcmdzLAkicnRfc2lncmV0dXJuIiB9LAkvKiAxMDEgKi8KKwl7IDQsCVRTLAlzeXNfcnRfc2lnYWN0aW9uLCJydF9zaWdhY3Rpb24iIH0sCS8qIDEwMiAqLworCXsgNCwJVFMsCXN5c19ydF9zaWdwcm9jbWFzaywicnRfc2lncHJvY21hc2siIH0sCS8qIDEwMyAqLworCXsgMiwJVFMsCXN5c19ydF9zaWdwZW5kaW5nLCJydF9zaWdwZW5kaW5nIiB9LAkvKiAxMDQgKi8KKwl7IDQsCVRTLAlzeXNfcnRfc2lndGltZWR3YWl0LCJydF9zaWd0aW1lZHdhaXQiIH0sLyogMTA1ICovCisJeyAzLAlUUywJc3lzX3J0X3NpZ3F1ZXVlaW5mbywicnRfc2lncXVldWVpbmZvIiB9LC8qIDEwNiAqLworCXsgMiwJVFMsCXN5c19ydF9zaWdzdXNwZW5kLCJydF9zaWdzdXNwZW5kIiB9LAkvKiAxMDcgKi8KKwl7IDMsCVRTLAlzeXNfc2V0cmVzdWlkLAkic2V0cmVzdWlkIiB9LAkJLyogMTA4ICovCisJeyAzLCAgICBUUywJc3lzX2dldHJlc3VpZCwJImdldHJlc3VpZCIgfSwJCS8qIDEwOSAqLworCXsgMywJVFMsCXN5c19zZXRyZXNnaWQsCSJzZXRyZXNnaWQiIH0sCQkvKiAxMTAgKi8KKwl7IDMsCVRTLAlzeXNfZ2V0cmVzZ2lkLAkiZ2V0cmVzZ2lkIiB9LAkJLyogMTExICovCisJeyAyLAlUUywJc3lzX3NldHJlc2dpZCwJInNldHJlc2dpZDMyIiB9LAkvKiAxMTIgKi8KKwl7IDUsCVROLAlzeXNfcmVjdm1zZywJInJlY3Ztc2ciIH0sCQkvKiAxMTMgKi8KKwl7IDUsCVROLAlzeXNfc2VuZG1zZywJInNlbmRtc2ciIH0sCQkvKiAxMTQgKi8KKwl7IDIsCTAsCXN5c19nZXRncm91cHMzMiwiZ2V0Z3JvdXBzMzIiIH0sCS8qIDExNSAqLworCXsgMiwJMCwJc3lzX2dldHRpbWVvZmRheSwiZ2V0dGltZW9mZGF5IiB9LAkvKiAxMTYgKi8KKwl7IDIsCTAsCXN5c19nZXRydXNhZ2UsCSJnZXRydXNhZ2UiIH0sCQkvKiAxMTcgKi8KKwl7IDUsCVROLAlzeXNfZ2V0c29ja29wdCwJImdldHNvY2tvcHQiIH0sCQkvKiAxMTggKi8KKwl7IDIsCVRGLAlzeXNfZ2V0Y3dkLAkiZ2V0Y3dkIiB9LAkJLyogMTE5ICovCisJeyAzLAlURCwJc3lzX3JlYWR2LAkicmVhZHYiIH0sCQkvKiAxMjAgKi8KKwl7IDMsCVRELAlzeXNfd3JpdGV2LAkid3JpdGV2IiB9LAkJLyogMTIxICovCisJeyAyLAkwLAlzeXNfc2V0dGltZW9mZGF5LCJzZXR0aW1lb2ZkYXkiIH0sCS8qIDEyMiAqLworCXsgMywJVEQsCXN5c19mY2hvd24sCSJmY2hvd24iIH0sCQkvKiAxMjMgKi8KKwl7IDIsCVRELAlzeXNfZmNobW9kLAkiZmNobW9kIiB9LAkJLyogMTI0ICovCisJeyA2LAlUTiwJc3lzX3JlY3Zmcm9tLAkicmVjdmZyb20iIH0sCQkvKiAxMjUgKi8KKwl7IDIsCTAsCXN5c19zZXRyZXVpZCwJInNldHJldWlkIiB9LAkJLyogMTI2ICovCisJeyAyLAkwLAlzeXNfc2V0cmVnaWQsCSJzZXRyZWdpZCIgfSwJCS8qIDEyNyAqLworCXsgMiwJVEYsCXN5c19yZW5hbWUsCSJyZW5hbWUiIH0sCQkvKiAxMjggKi8KKwl7IDIsCVRGLAlzeXNfdHJ1bmNhdGUsCSJ0cnVuY2F0ZSIgfSwJCS8qIDEyOSAqLworCXsgMiwJVEQsCXN5c19mdHJ1bmNhdGUsCSJmdHJ1bmNhdGUiIH0sCQkvKiAxMzAgKi8KKwl7IDIsCVRELAlzeXNfZmxvY2ssCSJmbG9jayIgfSwJCS8qIDEzMSAqLworCXsgMiwJVEYsCXN5c19sc3RhdDY0LAkibHN0YXQ2NCIgfSwJCS8qIDEzMiAqLworCXsgNiwJVE4sCXN5c19zZW5kdG8sCSJzZW5kdG8iIH0sCQkvKiAxMzMgKi8KKwl7IDIsCVROLAlzeXNfc2h1dGRvd24sCSJzaHV0ZG93biIgfSwJCS8qIDEzNCAqLworCXsgNCwJVE4sCXN5c19zb2NrZXRwYWlyLAkic29ja2V0cGFpciIgfSwJCS8qIDEzNSAqLworCXsgMiwJVEYsCXN5c19ta2RpciwJIm1rZGlyIiB9LAkJLyogMTM2ICovCisJeyAxLAlURiwJc3lzX3JtZGlyLAkicm1kaXIiIH0sCQkvKiAxMzcgKi8KKwl7IDIsCVRGLAlzeXNfdXRpbWVzLAkidXRpbWVzIiB9LAkJLyogMTM4ICovCisJeyAyLAlURiwJc3lzX3N0YXQ2NCwJInN0YXQ2NCIgfSwJCS8qIDEzOSAqLworCXsgNCwgICAgVER8VE4sCXN5c19zZW5kZmlsZTY0LAkic2VuZGZpbGU2NCIgfSwJCS8qIDE0MCAqLworCXsgMywJVE4sCXN5c19nZXRwZWVybmFtZSwiZ2V0cGVlcm5hbWUiIH0sCS8qIDE0MSAqLworCXsgNiwgICAgMCwJc3lzX2Z1dGV4LAkiZnV0ZXgiIH0sCQkvKiAxNDIgKi8KKwl7IDAsCTAsCXByaW50YXJncywJImdldHRpZCIgfSwJCS8qIDE0MyAqLworCXsgMiwJMCwJc3lzX2dldHJsaW1pdCwJImdldHJsaW1pdCIgfSwJCS8qIDE0NCAqLworCXsgMiwJMCwJc3lzX3NldHJsaW1pdCwJInNldHJsaW1pdCIgfSwJCS8qIDE0NSAqLworCXsgMiwJVEYsCXN5c19waXZvdHJvb3QsCSJwaXZvdF9yb290IiB9LAkJLyogMTQ2ICovCisJeyA1LAkwLAlzeXNfcHJjdGwsCSJwcmN0bCIgfSwJCS8qIDE0NyAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkicGNpY29uZmlnX3JlYWQiIH0sCS8qIDE0OCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkicGNpY29uZmlnX3dyaXRlIiB9LAkvKiAxNDkgKi8KKwl7IDMsCVROLAlzeXNfZ2V0c29ja25hbWUsImdldHNvY2tuYW1lIiB9LAkvKiAxNTAgKi8KKwl7IDQsCVROLAlzeXNfZ2V0bXNnLAkiZ2V0bXNnIiB9LAkJLyogMTUxICovCisJeyA0LAlUTiwJc3lzX3B1dG1zZywJInB1dG1zZyIgfSwJCS8qIDE1MiAqLworCXsgMywJVEQsCXN5c19wb2xsLAkicG9sbCIgfSwJCS8qIDE1MyAqLworCXsgMywJVEQsCXN5c19nZXRkZW50czY0LAkiZ2V0ZGVudHM2NCIgfSwJCS8qIDE1NCAqLworCXsgMywJVEQsCXN5c19mY250bCwJImZjbnRsNjQiIH0sCQkvKiAxNTUgKi8KKwl7IDQsCTAsCXByaW50YXJncywJImdldGRpcmVudHJpZXMiIH0sCS8qIDE1NiAqLworCXsgMiwJVEYsCXN5c19zdGF0ZnMsCSJzdGF0ZnMiIH0sCQkvKiAxNTcgKi8KKwl7IDIsCVRELAlzeXNfZnN0YXRmcywJImZzdGF0ZnMiIH0sCQkvKiAxNTggKi8KKwl7IDEsCVRGLAlzeXNfdW1vdW50LAkib2xkdW1vdW50IiB9LAkJLyogMTU5ICovCisJeyAzLAkwLAlzeXNfc2NoZWRfc2V0YWZmaW5pdHksCSJzY2hlZF9zZXRhZmZpbml0eSIgfSwvKiAxNjAgKi8KKwl7IDMsCTAsCXN5c19zY2hlZF9nZXRhZmZpbml0eSwJInNjaGVkX2dldGFmZmluaXR5IiB9LC8qIDE2MSAqLworCXsgMiwJMCwJcHJpbnRhcmdzLAkiZ2V0ZG9tYWlubmFtZSIgfSwJLyogMTYyICovCisJeyAyLAkwLAlzeXNfc2V0ZG9tYWlubmFtZSwic2V0ZG9tYWlubmFtZSIgfSwJLyogMTYzICovCisJeyA1LAkwLAlwcmludGFyZ3MsCSJ1dHJhcF9pbnN0YWxsIiB9LAkvKiAxNjQgKi8KKwl7IDQsCTAsCXN5c19xdW90YWN0bCwJInF1b3RhY3RsIiB9LAkJLyogMTY1ICovCisJeyAxLAkwLAlwcmludGFyZ3MsCSJzZXRfdGlkX2FkZHJlc3MiIH0sCS8qIDE2NiAqLworCXsgNSwJVEYsCXN5c19tb3VudCwJIm1vdW50IiB9LAkJLyogMTY3ICovCisJeyAyLAkwLAlzeXNfdXN0YXQsCSJ1c3RhdCIgfSwJCS8qIDE2OCAqLworCXsgNSwJVEYsCXN5c19zZXR4YXR0ciwJInNldHhhdHRyIiB9LAkJLyogMTY5ICovCisJeyA1LAlURiwJc3lzX3NldHhhdHRyLAkibHNldHhhdHRyIiB9LAkJLyogMTcwICovCisJeyA1LAlURCwJc3lzX2ZzZXR4YXR0ciwJImZzZXR4YXR0ciIgfSwJCS8qIDE3MSAqLworCXsgNCwJVEYsCXN5c19nZXR4YXR0ciwJImdldHhhdHRyIiB9LAkJLyogMTcyICovCisJeyA0LAlURiwJc3lzX2dldHhhdHRyLAkibGdldHhhdHRyIiB9LAkJLyogMTczICovCisJeyAzLAlURCwJc3lzX2dldGRlbnRzLAkiZ2V0ZGVudHMiIH0sCQkvKiAxNzQgKi8KKwl7IDAsCTAsCXN5c19zZXRzaWQsCSJzZXRzaWQiIH0sCQkvKiAxNzUgKi8KKwl7IDEsCVRELAlzeXNfZmNoZGlyLAkiZmNoZGlyIiB9LAkJLyogMTc2ICovCisJeyA0LCAgICAwLAlzeXNfZmdldHhhdHRyLAkiZmdldHhhdHRyIiB9LAkJLyogMTc3ICovCisJeyAzLAlURiwJc3lzX2xpc3R4YXR0ciwJImxpc3R4YXR0ciIgfSwJCS8qIDE3OCAqLworCXsgMywJVEYsCXN5c19saXN0eGF0dHIsCSJsbGlzdHhhdHRyIiB9LAkJLyogMTc5ICovCisJeyAzLAkwLAlzeXNfZmxpc3R4YXR0ciwJImZsaXN0eGF0dHIiIH0sCQkvKiAxODAgKi8KKwl7IDIsCVRGLAlzeXNfcmVtb3ZleGF0dHIsInJlbW92ZXhhdHRyIiB9LAkvKiAxODEgKi8KKwl7IDIsCVRGLAlzeXNfcmVtb3ZleGF0dHIsImxyZW1vdmV4YXR0ciIgfSwJLyogMTgyICovCisJeyAxLAlUUywJc3lzX3NpZ3BlbmRpbmcsCSJzaWdwZW5kaW5nIiB9LAkJLyogMTgzICovCisJeyA1LAkwLAlzeXNfcXVlcnlfbW9kdWxlLCJxdWVyeV9tb2R1bGUiIH0sCS8qIDE4NCAqLworCXsgMiwJMCwJc3lzX3NldHBnaWQsCSJzZXRwZ2lkIiB9LAkJLyogMTg1ICovCisJeyAyLAlURCwJc3lzX2ZyZW1vdmV4YXR0ciwiZnJlbW92ZXhhdHRyIiB9LAkvKiAxODYgKi8KKwl7IDIsCVRTLAlzeXNfa2lsbCwJInRraWxsIiB9LAkJLyogMTg3ICovCisJeyAxLAlUUCwJc3lzX2V4aXQsCSJleGl0X2dyb3VwIiB9LAkJLyogMTg4ICovCisJeyAxLAkwLAlzeXNfdW5hbWUsCSJ1bmFtZSIgfSwJCS8qIDE4OSAqLworCXsgMywJMCwJc3lzX2luaXRfbW9kdWxlLCJpbml0X21vZHVsZSIgfSwJLyogMTkwICovCisJeyAxLAkwLAlzeXNfcGVyc29uYWxpdHksInBlcnNvbmFsaXR5IiB9LAkvKiAxOTEgKi8KKwl7IDUsCTAsCXN5c19yZW1hcF9maWxlX3BhZ2VzLCJyZW1hcF9maWxlX3BhZ2VzIiB9LC8qIDE5MiAqLworCXsgMSwJMCwJc3lzX2Vwb2xsX2NyZWF0ZSwiZXBvbGxfY3JlYXRlIiB9LAkvKiAxOTMgKi8KKwl7IDQsCVRELAlzeXNfZXBvbGxfY3RsLAkiZXBvbGxfY3RsIiB9LAkJLyogMTk0ICovCisJeyA0LAlURCwJc3lzX2Vwb2xsX3dhaXQsCSJlcG9sbF93YWl0IiB9LAkJLyogMTk1ICovCisJeyAyLAkwLAlzeXNfdWxpbWl0LAkidWxpbWl0IiB9LAkJLyogMTk2ICovCisJeyAwLAkwLAlzeXNfZ2V0cHBpZCwJImdldHBwaWQiIH0sCQkvKiAxOTcgKi8KKwl7IDMsCVRTLAlzeXNfc2lnYWN0aW9uLAkic2lnYWN0aW9uIiB9LAkJLyogMTk4ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCSJzZ2V0bWFzayIgfSwJCS8qIDE5OSAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkic3NldG1hc2siIH0sCQkvKiAyMDAgKi8KKwl7IDMsCVRTLAlzeXNfc2lnc3VzcGVuZCwJInNpZ3N1c3BlbmQiIH0sCQkvKiAyMDEgKi8KKwl7IDIsCVRGLAlzeXNfbHN0YXQsCSJsc3RhdCIgfSwJCS8qIDIwMiAqLworCXsgMSwJVEYsCXN5c191c2VsaWIsCSJ1c2VsaWIiIH0sCQkvKiAyMDMgKi8KKwl7IDMsCVRELAlzeXNfcmVhZGRpciwJInJlYWRkaXIiIH0sCQkvKiAyMDQgKi8KKwl7IDQsCVRELAlzeXNfcmVhZGFoZWFkLAkicmVhZGFoZWFkIiB9LAkJLyogMjA1ICovCisJeyAyLAlURCwJc3lzX3NvY2tldGNhbGwsCSJzb2NrZXRjYWxsIiB9LAkJLyogMjA2ICovCisJeyAzLAkwLAlzeXNfc3lzbG9nLAkic3lzbG9nIiB9LAkJLyogMjA3ICovCisJeyA0LAkwLAlwcmludGFyZ3MsCSJsb29rdXBfZGNvb2tpZSIgfSwJLyogMjA4ICovCisJeyA2LAkwLAlwcmludGFyZ3MsCSJmYWR2aXNlNjQiIH0sCQkvKiAyMDkgKi8KKwl7IDYsCTAsCXByaW50YXJncywJImZhZHZpc2U2NF82NCIgfSwJLyogMjEwICovCisJeyAzLAlUUywJc3lzX3Rna2lsbCwJInRna2lsbCIgfSwJCS8qIDIxMSAqLworCXsgMywJVFAsCXN5c193YWl0cGlkLAkid2FpdHBpZCIgfSwJCS8qIDIxMiAqLworCXsgMSwJMCwJc3lzX3N3YXBvZmYsCSJzd2Fwb2ZmIiB9LAkJLyogMjEzICovCisJeyAxLAkwLAlzeXNfc3lzaW5mbywJInN5c2luZm8iIH0sCQkvKiAyMTQgKi8KKwl7IDUsCTAsCXN5c19pcGMsCSJpcGMiIH0sCQkvKiAyMTUgKi8KKwl7IDEsCVRTLAlzeXNfc2lncmV0dXJuLAkic2lncmV0dXJuIiB9LAkJLyogMjE2ICovCisJeyA1LAlUUCwJc3lzX2Nsb25lLAkiY2xvbmUiIH0sCQkvKiAyMTcgKi8KKwl7IDMsCTAsCXN5c19tb2RpZnlfbGR0LAkibW9kaWZ5X2xkdCIgfSwJCS8qIDIxOCAqLworCXsgMSwJMCwJc3lzX2FkanRpbWV4LAkiYWRqdGltZXgiIH0sCQkvKiAyMTkgKi8KKwl7IDMsCVRTLAlzeXNfc2lncHJvY21hc2ssInNpZ3Byb2NtYXNrIiB9LAkvKiAyMjAgKi8KKwl7IDIsCTAsCXN5c19jcmVhdGVfbW9kdWxlLCJjcmVhdGVfbW9kdWxlIiB9LAkvKiAyMjEgKi8KKwl7IDIsCTAsCXN5c19kZWxldGVfbW9kdWxlLCJkZWxldGVfbW9kdWxlIiB9LAorCXsgMSwJMCwJc3lzX2dldF9rZXJuZWxfc3ltcywiZ2V0X2tlcm5lbF9zeW1zIn0sCS8qIDIyMyAqLworCXsgMSwJMCwJc3lzX2dldHBnaWQsCSJnZXRwZ2lkIiB9LAkJLyogMjI0ICovCisJeyAwLAkwLAlzeXNfYmRmbHVzaCwJImJkZmx1c2giIH0sCQkvKiAyMjUgKi8KKwl7IDMsCTAsCXN5c19zeXNmcywJInN5c2ZzIiB9LAkJLyogMjI2ICovCisJeyA1LAkwLAlzeXNfYWZzX3N5c2NhbGwsImFmc19zeXNjYWxsIiB9LAkvKiAyMjcgKi8KKwl7IDEsCTAsCXN5c19zZXRmc3VpZCwJInNldGZzdWlkIiB9LAkJLyogMjI4ICovCisJeyAxLAkwLAlzeXNfc2V0ZnNnaWQsCSJzZXRmc2dpZCIgfSwJCS8qIDIyOSAqLworCXsgNSwJVEQsCXN5c19zZWxlY3QsCSJzZWxlY3QiIH0sCQkvKiAyMzAgKi8KKwl7IDEsCTAsCXN5c190aW1lLAkidGltZSIgfSwJCS8qIDIzMSAqLworCXsgMiwJVEYsCXN5c19zdGF0LAkic3RhdCIgfSwJCS8qIDIzMiAqLworCXsgMSwJMCwJc3lzX3N0aW1lLAkic3RpbWUiIH0sCQkvKiAyMzMgKi8KKwl7IDMsCVRGLAlzeXNfc3RhdGZzNjQsCSJzdGF0ZnM2NCIgfSwJCS8qIDIzNCAqLworCXsgMywJVEQsCXN5c19mc3RhdGZzNjQsCSJmc3RhdGZzNjQiIH0sCQkvKiAyMzUgKi8KKwl7IDUsCVRELAlzeXNfbGxzZWVrLAkiX2xsc2VlayIgfSwJCS8qIDIzNiAqLworCXsgMiwJMCwJc3lzX21sb2NrLAkibWxvY2siIH0sCQkvKiAyMzcgKi8KKwl7IDIsCTAsCXN5c19tdW5sb2NrLAkibXVubG9jayIgfSwJCS8qIDIzOCAqLworCXsgMiwJMCwJc3lzX21sb2NrYWxsLAkibWxvY2thbGwiIH0sCQkvKiAyMzkgKi8KKwl7IDAsCTAsCXN5c19tdW5sb2NrYWxsLAkibXVubG9ja2FsbCIgfSwJCS8qIDI0MCAqLworCXsgMiwJMCwJc3lzX3NjaGVkX3NldHBhcmFtLCJzY2hlZF9zZXRwYXJhbSJ9LAkvKiAyNDEgKi8KKwl7IDIsCTAsCXN5c19zY2hlZF9nZXRwYXJhbSwic2NoZWRfZ2V0cGFyYW0ifSwJLyogMjQyICovCisJeyAzLAkwLAlzeXNfc2NoZWRfc2V0c2NoZWR1bGVyLCJzY2hlZF9zZXRzY2hlZHVsZXIifSwvKiAyNDMgKi8KKwl7IDEsCTAsCXN5c19zY2hlZF9nZXRzY2hlZHVsZXIsInNjaGVkX2dldHNjaGVkdWxlciJ9LC8qIDI0NCAqLworCXsgMCwJMCwJc3lzX3NjaGVkX3lpZWxkLCJzY2hlZF95aWVsZCIgfSwJLyogMjQ1ICovCisJeyAxLDAsc3lzX3NjaGVkX2dldF9wcmlvcml0eV9tYXgsInNjaGVkX2dldF9wcmlvcml0eV9tYXgifSwvKiAyNDYgKi8KKwl7IDEsMCxzeXNfc2NoZWRfZ2V0X3ByaW9yaXR5X21pbiwic2NoZWRfZ2V0X3ByaW9yaXR5X21pbiJ9LC8qIDI0NyAqLworCXsgMiwJMCxzeXNfc2NoZWRfcnJfZ2V0X2ludGVydmFsLCJzY2hlZF9ycl9nZXRfaW50ZXJ2YWwifSwvKiAyNDggKi8KKwl7IDIsCTAsCXN5c19uYW5vc2xlZXAsCSJuYW5vc2xlZXAiIH0sCQkvKiAyNDkgKi8KKwl7IDUsCTAsCXN5c19tcmVtYXAsCSJtcmVtYXAiIH0sCQkvKiAyNTAgKi8KKwl7IDEsCTAsCXN5c19zeXNjdGwsCSJfc3lzY3RsIiB9LAkJLyogMjUxICovCisJeyAxLAkwLAlzeXNfZ2V0c2lkLAkiZ2V0c2lkIiB9LAkJLyogMjUyICovCisJeyAxLAlURCwJc3lzX2ZkYXRhc3luYywJImZkYXRhc3luYyIgfSwJCS8qIDI1MyAqLworCXsgMywJMCwJcHJpbnRhcmdzLAkibmZzc2VydmN0bCIgfSwJCS8qIDI1NCAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkiYXBsaWIiIH0sCQkvKiAyNTUgKi8KKwl7IDIsCTAsCXN5c19jbG9ja19zZXR0aW1lLCJjbG9ja19zZXR0aW1lIiB9LAkvKiAyNTYgKi8KKwl7IDIsCTAsCXN5c19jbG9ja19nZXR0aW1lLCJjbG9ja19nZXR0aW1lIiB9LAkvKiAyNTcgKi8KKwl7IDIsCTAsCXN5c19jbG9ja19nZXRyZXMsImNsb2NrX2dldHJlcyIgfSwJLyogMjU4ICovCisJeyA0LAkwLAlzeXNfY2xvY2tfbmFub3NsZWVwLCJjbG9ja19uYW5vc2xlZXAiIH0sLyogMjU5ICovCisJeyAzLAkwLAlzeXNfc2NoZWRfc2V0YWZmaW5pdHksInNjaGVkX3NldGFmZmluaXR5IiB9LC8qIDI2MCAqLworCXsgMywJMCwJc3lzX3NjaGVkX2dldGFmZmluaXR5LCJzY2hlZF9nZXRhZmZpbml0eSIgfSwvKiAyNjEgKi8KKwl7IDQsCTAsCXN5c190aW1lcl9zZXR0aW1lLCJ0aW1lcl9zZXR0aW1lIiB9LAkvKiAyNjIgKi8KKwl7IDIsCTAsCXN5c190aW1lcl9nZXR0aW1lLCJ0aW1lcl9nZXR0aW1lIiB9LAkvKiAyNjMgKi8KKwl7IDEsCTAsCXN5c190aW1lcl9nZXRvdmVycnVuLCJ0aW1lcl9nZXRvdmVycnVuIiB9LC8qIDI2NCAqLworCXsgMSwJMCwJc3lzX3RpbWVyX2RlbGV0ZSwidGltZXJfZGVsZXRlIiB9LAkvKiAyNjUgKi8KKwl7IDMsCTAsCXN5c190aW1lcl9jcmVhdGUsInRpbWVyX2NyZWF0ZSIgfSwJLyogMjY2ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCSJTWVNfMjY3IiB9LAkJLyogMjY3ICovCisJeyAyLAkwLAlzeXNfaW9fc2V0dXAsCQkiaW9fc2V0dXAiCX0sIC8qIDI2OCAqLworCXsgMSwJMCwJc3lzX2lvX2Rlc3Ryb3ksCQkiaW9fZGVzdHJveSIJfSwgLyogMjY5ICovCisJeyAzLAkwLAlzeXNfaW9fc3VibWl0LAkJImlvX3N1Ym1pdCIJfSwgLyogMjcwICovCisJeyAzLAkwLAlzeXNfaW9fY2FuY2VsLAkJImlvX2NhbmNlbCIJfSwgLyogMjcxICovCisJeyA1LAkwLAlzeXNfaW9fZ2V0ZXZlbnRzLAkiaW9fZ2V0ZXZlbnRzIgl9LCAvKiAyNzIgKi8KKwl7IDQsCTAsCXN5c19tcV9vcGVuLAkJIm1xX29wZW4iCX0sIC8qIDI3MyAqLworCXsgMSwJMCwJc3lzX21xX3VubGluaywJCSJtcV91bmxpbmsiCX0sIC8qIDI3NCAqLworCXsgNSwJMCwJc3lzX21xX3RpbWVkc2VuZCwJIm1xX3RpbWVkc2VuZCIJfSwgLyogMjc1ICovCisJeyA1LAkwLAlzeXNfbXFfdGltZWRyZWNlaXZlLAkibXFfdGltZWRyZWNlaXZlIiB9LCAvKiAyNzYgKi8KKwl7IDIsCTAsCXN5c19tcV9ub3RpZnksCQkibXFfbm90aWZ5Igl9LCAvKiAyNzcgKi8KKwl7IDMsCTAsCXN5c19tcV9nZXRzZXRhdHRyLAkibXFfZ2V0c2V0YXR0ciIJfSwgLyogMjc4ICovCisJeyA1LAlUUCwJc3lzX3dhaXRpZCwJCSJ3YWl0aWQiCX0sIC8qIDI3OSAqLworCXsgNCwJVEQsCXByaW50YXJncywJCSJ0ZWUiCQl9LCAvKiAyODAgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJhZGRfa2V5Igl9LCAvKiAyODEgKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJyZXF1ZXN0X2tleSIJfSwgLyogMjgyICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkia2V5Y3RsIgl9LCAvKiAyODMgKi8KKwl7IDQsCVREfFRGLAlzeXNfb3BlbmF0LAkJIm9wZW5hdCIJfSwgLyogMjg0ICovCisJeyAzLAlURHxURiwJc3lzX21rZGlyYXQsCQkibWtkaXJhdCIJfSwgLyogMjg1ICovCisJeyA0LAlURHxURiwJc3lzX21rbm9kYXQsCQkibWtub2RhdCIJfSwgLyogMjg2ICovCisJeyA1LAlURHxURiwJc3lzX2ZjaG93bmF0LAkJImZjaG93bmF0Igl9LCAvKiAyODcgKi8KKwl7IDMsCVREfFRGLAlzeXNfZnV0aW1lc2F0LAkJImZ1dGltZXNhdCIJfSwgLyogMjg4ICovCisJeyA0LAlURHxURCwJc3lzX25ld2ZzdGF0YXQsCQkiZnN0YXRhdDY0Igl9LCAvKiAyODkgKi8KKwl7IDMsCVREfFRGLAlzeXNfdW5saW5rYXQsCQkidW5saW5rYXQiCX0sIC8qIDI5MCAqLworCXsgNCwJVER8VEYsCXN5c19yZW5hbWVhdCwJCSJyZW5hbWVhdCIJfSwgLyogMjkxICovCisJeyA1LAlURHxURiwJc3lzX2xpbmthdCwJCSJsaW5rYXQiCX0sIC8qIDI5MiAqLworCXsgMywJVER8VEYsCXN5c19zeW1saW5rYXQsCQkic3ltbGlua2F0Igl9LCAvKiAyOTMgKi8KKwl7IDQsCVREfFRGLAlzeXNfcmVhZGxpbmthdCwJCSJyZWFkbGlua2F0Igl9LCAvKiAyOTQgKi8KKwl7IDMsCVREfFRGLAlzeXNfZmNobW9kYXQsCQkiZmNobW9kYXQiCX0sIC8qIDI5NSAqLworCXsgMywJVER8VEYsCXN5c19mYWNjZXNzYXQsCQkiZmFjY2Vzc2F0Igl9LCAvKiAyOTYgKi8KKwl7IDYsCVRELAlzeXNfcHNlbGVjdDYsCQkicHNlbGVjdDYiCX0sIC8qIDI5NyAqLworCXsgNSwJVEQsCXN5c19wcG9sbCwJCSJwcG9sbCIJCX0sIC8qIDI5OCAqLworCXsgMSwJVFAsCXN5c191bnNoYXJlLAkJInVuc2hhcmUiCX0sIC8qIDI5OSAqLworCXsgMiwJMCwJcHJpbnRhcmdzLAkJInNldF9yb2J1c3RfbGlzdCIgfSwgLyogMzAwICovCisJeyAzLAkwLAlwcmludGFyZ3MsCQkiZ2V0X3JvYnVzdF9saXN0IiB9LCAvKiAzMDEgKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJtaWdyYXRlX3BhZ2VzIgl9LCAvKiAzMDIgKi8KKwl7IDYsCTAsCXN5c19tYmluZCwJCSJtYmluZCIJCX0sIC8qIDMwMyAqLworCXsgNSwJMCwJc3lzX2dldF9tZW1wb2xpY3ksCSJnZXRfbWVtcG9saWN5Igl9LCAvKiAzMDQgKi8KKwl7IDMsCTAsCXN5c19zZXRfbWVtcG9saWN5LAkic2V0X21lbXBvbGljeSIJfSwgLyogMzA1ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkia2V4ZWNfbG9hZCIJfSwgLyogMzA2ICovCisJeyA2LAkwLAlzeXNfbW92ZV9wYWdlcywJCSJtb3ZlX3BhZ2VzIgl9LCAvKiAzMDcgKi8KKwl7IDMsCTAsCXN5c19nZXRjcHUsCQkiZ2V0Y3B1Igl9LCAvKiAzMDggKi8KKwl7IDUsCVRELAlzeXNfZXBvbGxfcHdhaXQsCSJlcG9sbF9wd2FpdCIJfSwgLyogMzA5ICovCisJeyA0LAlURHxURiwJc3lzX3V0aW1lbnNhdCwJCSJ1dGltZW5zYXQiCX0sIC8qIDMxMCAqLworCXsgMywJVER8VFMsCXN5c19zaWduYWxmZCwJCSJzaWduYWxmZCIJfSwgLyogMzExICovCisJeyAyLAlURCwJc3lzX3RpbWVyZmRfY3JlYXRlLAkidGltZXJmZF9jcmVhdGUifSwgLyogMzEyICovCisJeyAxLAlURCwJc3lzX2V2ZW50ZmQsCQkiZXZlbnRmZCIJfSwgLyogMzEzICovCisJeyA2LAlURiwJc3lzX2ZhbGxvY2F0ZSwJCSJmYWxsb2NhdGUiCX0sIC8qIDMxNCAqLworCXsgNCwJVEQsCXN5c190aW1lcmZkX3NldHRpbWUsCSJ0aW1lcmZkX3NldHRpbWUifSwgLyogMzE1ICovCisJeyAyLAlURCwJc3lzX3RpbWVyZmRfZ2V0dGltZSwJInRpbWVyZmRfZ2V0dGltZSJ9LCAvKiAzMTYgKi8KKwl7IDQsCVREfFRTLAlzeXNfc2lnbmFsZmQ0LAkJInNpZ25hbGZkNCIJfSwgLyogMzE3ICovCisJeyAyLAlURCwJc3lzX2V2ZW50ZmQyLAkJImV2ZW50ZmQyIgl9LCAvKiAzMTggKi8KKwl7IDEsCTAsCXN5c19lcG9sbF9jcmVhdGUxLAkiZXBvbGxfY3JlYXRlMSIJfSwgLyogMzE5ICovCisJeyAzLAlURCwJc3lzX2R1cDMsCQkiZHVwMyIJCX0sIC8qIDMyMCAqLworCXsgMiwJVEQsCXN5c19waXBlMiwJCSJwaXBlMiIJCX0sIC8qIDMyMSAqLworCXsgMSwJVEQsCXN5c19pbm90aWZ5X2luaXQxLAkiaW5vdGlmeV9pbml0MSIJfSwgLyogMzIyICovCisJeyA0LAlUTiwJc3lzX2FjY2VwdDQsCQkiYWNjZXB0NCIJfSwgLyogMzIzICovCisJeyA1LAlURCwJcHJpbnRhcmdzLAkJInByZWFkdiIJfSwgLyogMzI0ICovCisJeyA1LAlURCwJcHJpbnRhcmdzLAkJInB3cml0ZXYiCX0sIC8qIDMyNSAqLworCXsgNCwJVFB8VFMsCXByaW50YXJncywJCSJydF90Z3NpZ3F1ZXVlaW5mbyJ9LCAvKiAzMjYgKi8KKwl7IDUsCVRELAlwcmludGFyZ3MsCQkicGVyZl9ldmVudF9vcGVuIn0sIC8qIDMyNyAqLworCXsgNSwJVE4sCXN5c19yZWN2bW1zZywJCSJyZWN2bW1zZyIJfSwgLyogMzI4ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCSJTWVNfMzI5IiB9LAkJLyogMzI5ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCSJTWVNfMzMwIiB9LAkJLyogMzMwICovCisJeyA1LAkwLAlwcmludGFyZ3MsCSJTWVNfMzMxIiB9LAkJLyogMzMxICovCisJeyA1LAkwLAlwcmludGFyZ3MsCSJTWVNfMzMyIiB9LAkJLyogMzMyICovCisJeyA1LAkwLAlwcmludGFyZ3MsCSJTWVNfMzMzIiB9LAkJLyogMzMzICovCisJeyA1LAkwLAlwcmludGFyZ3MsCSJTWVNfMzM0IiB9LAkJLyogMzM0ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCSJTWVNfMzM1IiB9LAkJLyogMzM1ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCSJTWVNfMzM2IiB9LAkJLyogMzM2ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCSJTWVNfMzM3IiB9LAkJLyogMzM3ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCSJTWVNfMzM4IiB9LAkJLyogMzM4ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCSJTWVNfMzM5IiB9LAkJLyogMzM5ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCSJTWVNfMzQwIiB9LAkJLyogMzQwICovCisJeyA1LAkwLAlwcmludGFyZ3MsCSJTWVNfMzQxIiB9LAkJLyogMzQxICovCisJeyA1LAkwLAlwcmludGFyZ3MsCSJTWVNfMzQyIiB9LAkJLyogMzQyICovCisJeyA1LAkwLAlwcmludGFyZ3MsCSJTWVNfMzQzIiB9LAkJLyogMzQzICovCisJeyA1LAkwLAlwcmludGFyZ3MsCSJTWVNfMzQ0IiB9LAkJLyogMzQ0ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCSJTWVNfMzQ1IiB9LAkJLyogMzQ1ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCSJTWVNfMzQ2IiB9LAkJLyogMzQ2ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCSJTWVNfMzQ3IiB9LAkJLyogMzQ3ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCSJTWVNfMzQ4IiB9LAkJLyogMzQ4ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCSJTWVNfMzQ5IiB9LAkJLyogMzQ5ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCSJTWVNfMzUwIiB9LAkJLyogMzUwICovCisJeyA1LAkwLAlwcmludGFyZ3MsCSJTWVNfMzUxIiB9LAkJLyogMzUxICovCisJeyA1LAkwLAlwcmludGFyZ3MsCSJTWVNfMzUyIiB9LAkJLyogMzUyICovCisjaWYgU1lTX3NvY2tldF9zdWJjYWxsICE9IDM1MworICNlcnJvciBmaXggbWUKKyNlbmRpZgorCXsgOCwJMCwJcHJpbnRhcmdzLAkJInNvY2tldF9zdWJjYWxsIn0sIC8qIDM1MyAqLworCXsgMywJVE4sCXN5c19zb2NrZXQsCQkic29ja2V0Igl9LCAvKiAzNTQgKi8KKwl7IDMsCVROLAlzeXNfYmluZCwJCSJiaW5kIgkJfSwgLyogMzU1ICovCisJeyAzLAlUTiwJc3lzX2Nvbm5lY3QsCQkiY29ubmVjdCIJfSwgLyogMzU2ICovCisJeyAyLAlUTiwJc3lzX2xpc3RlbiwJCSJsaXN0ZW4iCX0sIC8qIDM1NyAqLworCXsgMywJVE4sCXN5c19hY2NlcHQsCQkiYWNjZXB0Igl9LCAvKiAzNTggKi8KKwl7IDMsCVROLAlzeXNfZ2V0c29ja25hbWUsCSJnZXRzb2NrbmFtZSIJfSwgLyogMzU5ICovCisJeyAzLAlUTiwJc3lzX2dldHBlZXJuYW1lLAkiZ2V0cGVlcm5hbWUiCX0sIC8qIDM2MCAqLworCXsgNCwJVE4sCXN5c19zb2NrZXRwYWlyLAkJInNvY2tldHBhaXIiCX0sIC8qIDM2MSAqLworCXsgNCwJVE4sCXN5c19zZW5kLAkJInNlbmQiCQl9LCAvKiAzNjIgKi8KKwl7IDQsCVROLAlzeXNfcmVjdiwJCSJyZWN2IgkJfSwgLyogMzYzICovCisJeyA2LAlUTiwJc3lzX3NlbmR0bywJCSJzZW5kdG8iCX0sIC8qIDM2NCAqLworCXsgNiwJVE4sCXN5c19yZWN2ZnJvbSwJCSJyZWN2ZnJvbSIJfSwgLyogMzY1ICovCisJeyAyLAlUTiwJc3lzX3NodXRkb3duLAkJInNodXRkb3duIgl9LCAvKiAzNjYgKi8KKwl7IDUsCVROLAlzeXNfc2V0c29ja29wdCwJCSJzZXRzb2Nrb3B0Igl9LCAvKiAzNjcgKi8KKwl7IDUsCVROLAlzeXNfZ2V0c29ja29wdCwJCSJnZXRzb2Nrb3B0Igl9LCAvKiAzNjggKi8KKwl7IDUsCVROLAlzeXNfc2VuZG1zZywJCSJzZW5kbXNnIgl9LCAvKiAzNjkgKi8KKwl7IDUsCVROLAlzeXNfcmVjdm1zZywJCSJyZWN2bXNnIgl9LCAvKiAzNzAgKi8KKwl7IDQsCVROLAlzeXNfYWNjZXB0NCwJCSJhY2NlcHQ0Igl9LCAvKiAzNzEgKi8KKwl7IDUsCVROLAlzeXNfcmVjdm1tc2csCQkicmVjdm1tc2ciCX0sIC8qIDM3MiAqLworI2lmIFNZU19pcGNfc3ViY2FsbCAhPSAzNzMKKyAjZXJyb3IgZml4IG1lCisjZW5kaWYKKwl7IDQsCTAsCXByaW50YXJncywJCSJpcGNfc3ViY2FsbCIJfSwgLyogMzczICovCisJeyA0LAlUSSwJcHJpbnRhcmdzLAkJInNlbW9wIgkJfSwgLyogMzc0ICovCisJeyA0LAlUSSwJc3lzX3NlbWdldCwJCSJzZW1nZXQiCX0sIC8qIDM3NSAqLworCXsgNCwJVEksCXN5c19zZW1jdGwsCQkic2VtY3RsIgl9LCAvKiAzNzYgKi8KKwl7IDUsCVRJLAlzeXNfc2VtdGltZWRvcCwJCSJzZW10aW1lZG9wIgl9LCAvKiAzNzcgKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJpcGNfc3ViY2FsbCIJfSwgLyogMzc4ICovCisJeyA0LAkwLAlwcmludGFyZ3MsCQkiaXBjX3N1YmNhbGwiCX0sIC8qIDM3OSAqLworCXsgNCwJMCwJcHJpbnRhcmdzLAkJImlwY19zdWJjYWxsIgl9LCAvKiAzODAgKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJpcGNfc3ViY2FsbCIJfSwgLyogMzgxICovCisJeyA0LAkwLAlwcmludGFyZ3MsCQkiaXBjX3N1YmNhbGwiCX0sIC8qIDM4MiAqLworCXsgNCwJMCwJcHJpbnRhcmdzLAkJImlwY19zdWJjYWxsIgl9LCAvKiAzODMgKi8KKwl7IDQsCVRJLAlzeXNfbXNnc25kLAkJIm1zZ3NuZCIJfSwgLyogMzg0ICovCisJeyA0LAlUSSwJc3lzX21zZ3JjdiwJCSJtc2dyY3YiCX0sIC8qIDM4NSAqLworCXsgNCwJVEksCXN5c19tc2dnZXQsCQkibXNnZ2V0Igl9LCAvKiAzODYgKi8KKwl7IDQsCVRJLAlzeXNfbXNnY3RsLAkJIm1zZ2N0bCIJfSwgLyogMzg3ICovCisJeyA0LAkwLAlwcmludGFyZ3MsCQkiaXBjX3N1YmNhbGwiCX0sIC8qIDM4OCAqLworCXsgNCwJMCwJcHJpbnRhcmdzLAkJImlwY19zdWJjYWxsIgl9LCAvKiAzODkgKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJpcGNfc3ViY2FsbCIJfSwgLyogMzkwICovCisJeyA0LAkwLAlwcmludGFyZ3MsCQkiaXBjX3N1YmNhbGwiCX0sIC8qIDM5MSAqLworCXsgNCwJMCwJcHJpbnRhcmdzLAkJImlwY19zdWJjYWxsIgl9LCAvKiAzOTIgKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJpcGNfc3ViY2FsbCIJfSwgLyogMzkzICovCisJeyA0LAlUSSwJc3lzX3NobWF0LAkJInNobWF0IgkJfSwgLyogMzk0ICovCisJeyA0LAlUSSwJc3lzX3NobWR0LAkJInNobWR0IgkJfSwgLyogMzk1ICovCisJeyA0LAlUSSwJc3lzX3NobWdldCwJCSJzaG1nZXQiCX0sIC8qIDM5NiAqLworCXsgNCwJVEksCXN5c19zaG1jdGwsCQkic2htY3RsIgl9LCAvKiAzOTcgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzk3Igl9LCAvKiAzOTggKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzk4Igl9LCAvKiAzOTkgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfMzk5Igl9LCAvKiA0MDAgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJTWVNfNDAwIgl9LCAvKiA0MDEgKi8KZGlmZiAtLWdpdCBhL3N0cmFjZS00LjUuMjAvbGludXgvc3BhcmMvc3lzY2FsbGVudDEuaCBiL3N0cmFjZS00LjUuMjAvbGludXgvc3BhcmMvc3lzY2FsbGVudDEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MjFiM2E5Ci0tLSAvZGV2L251bGwKKysrIGIvc3RyYWNlLTQuNS4yMC9saW51eC9zcGFyYy9zeXNjYWxsZW50MS5oCkBAIC0wLDAgKzEsNDM5IEBACisvKgorICogQ29weXJpZ2h0IChjKSAxOTkzLCAxOTk0LCAxOTk1LCAxOTk2IFJpY2sgU2xhZGtleSA8anJzQHdvcmxkLnN0ZC5jb20+CisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gVGhlIG5hbWUgb2YgdGhlIGF1dGhvciBtYXkgbm90IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzCisgKiAgICBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBBVVRIT1IgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUyBPUgorICogSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUworICogT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4KKyAqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKKyAqIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVAorICogTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKgorICoJJElkJAorICovCisKKwl7IDYsCTAsCXNvbGFyaXNfc3lzY2FsbCwJInN5c2NhbGwiCX0sIC8qIDAgKi8KKwl7IDYsCVRQLAlzb2xhcmlzX2V4aXQsCQkiX2V4aXQiCQl9LCAvKiAxICovCisJeyA2LAlUUCwJc29sYXJpc19mb3JrLAkJImZvcmsiCQl9LCAvKiAyICovCisJeyA2LAkwLAlzb2xhcmlzX3JlYWQsCQkicmVhZCIJCX0sIC8qIDMgKi8KKwl7IDYsCTAsCXNvbGFyaXNfd3JpdGUsCQkid3JpdGUiCQl9LCAvKiA0ICovCisJeyA2LAlURiwJc29sYXJpc19vcGVuLAkJIm9wZW4iCQl9LCAvKiA1ICovCisJeyA2LAkwLAlzb2xhcmlzX2Nsb3NlLAkJImNsb3NlIgkJfSwgLyogNiAqLworCXsgNiwJVFAsCXNvbGFyaXNfd2FpdCwJCSJ3YWl0IgkJfSwgLyogNyAqLworCXsgNiwJVEYsCXNvbGFyaXNfY3JlYXQsCQkiY3JlYXQiCQl9LCAvKiA4ICovCisJeyA2LAlURiwJc29sYXJpc19saW5rLAkJImxpbmsiCQl9LCAvKiA5ICovCisJeyA2LAlURiwJc29sYXJpc191bmxpbmssCQkidW5saW5rIgl9LCAvKiAxMCAqLworCXsgNiwJVEZ8VFAsCXNvbGFyaXNfZXhlYywJCSJleGVjIgkJfSwgLyogMTEgKi8KKwl7IDYsCVRGLAlzb2xhcmlzX2NoZGlyLAkJImNoZGlyIgkJfSwgLyogMTIgKi8KKwl7IDYsCTAsCXNvbGFyaXNfdGltZSwJCSJ0aW1lIgkJfSwgLyogMTMgKi8KKwl7IDYsCVRGLAlzb2xhcmlzX21rbm9kLAkJIm1rbm9kIgkJfSwgLyogMTQgKi8KKwl7IDYsCVRGLAlzb2xhcmlzX2NobW9kLAkJImNobW9kIgkJfSwgLyogMTUgKi8KKwl7IDYsCVRGLAlzb2xhcmlzX2Nob3duLAkJImNob3duIgkJfSwgLyogMTYgKi8KKwl7IDYsCTAsCXNvbGFyaXNfYnJrLAkJImJyayIJCX0sIC8qIDE3ICovCisJeyA2LAlURiwJc29sYXJpc19zdGF0LAkJInN0YXQiCQl9LCAvKiAxOCAqLworCXsgNiwJMCwJc29sYXJpc19sc2VlaywJCSJsc2VlayIJCX0sIC8qIDE5ICovCisJeyA2LAkwLAlzb2xhcmlzX2dldHBpZCwJCSJnZXRwaWQiCX0sIC8qIDIwICovCisJeyA2LAlURiwJc29sYXJpc19tb3VudCwJCSJtb3VudCIJCX0sIC8qIDIxICovCisJeyA2LAlURiwJc29sYXJpc191bW91bnQsCQkidW1vdW50Igl9LCAvKiAyMiAqLworCXsgNiwJMCwJc29sYXJpc19zZXR1aWQsCQkic2V0dWlkIgl9LCAvKiAyMyAqLworCXsgNiwJMCwJc29sYXJpc19nZXR1aWQsCQkiZ2V0dWlkIgl9LCAvKiAyNCAqLworCXsgNiwJMCwJc29sYXJpc19zdGltZSwJCSJzdGltZSIJCX0sIC8qIDI1ICovCisJeyA2LAkwLAlzb2xhcmlzX3B0cmFjZSwJCSJwdHJhY2UiCX0sIC8qIDI2ICovCisJeyA2LAkwLAlzb2xhcmlzX2FsYXJtLAkJImFsYXJtIgkJfSwgLyogMjcgKi8KKwl7IDYsCTAsCXNvbGFyaXNfZnN0YXQsCQkiZnN0YXQiCQl9LCAvKiAyOCAqLworCXsgNiwJVFMsCXNvbGFyaXNfcGF1c2UsCQkicGF1c2UiCQl9LCAvKiAyOSAqLworCXsgNiwJVEYsCXNvbGFyaXNfdXRpbWUsCQkidXRpbWUiCQl9LCAvKiAzMCAqLworCXsgNiwJMCwJc29sYXJpc19zdHR5LAkJInN0dHkiCQl9LCAvKiAzMSAqLworCXsgNiwJMCwJc29sYXJpc19ndHR5LAkJImd0dHkiCQl9LCAvKiAzMiAqLworCXsgNiwJVEYsCXNvbGFyaXNfYWNjZXNzLAkJImFjY2VzcyIJfSwgLyogMzMgKi8KKwl7IDYsCTAsCXNvbGFyaXNfbmljZSwJCSJuaWNlIgkJfSwgLyogMzQgKi8KKwl7IDYsCVRGLAlzb2xhcmlzX3N0YXRmcywJCSJzdGF0ZnMiCX0sIC8qIDM1ICovCisJeyA2LAkwLAlzb2xhcmlzX3N5bmMsCQkic3luYyIJCX0sIC8qIDM2ICovCisJeyA2LAlUUywJc29sYXJpc19raWxsLAkJImtpbGwiCQl9LCAvKiAzNyAqLworCXsgNiwJMCwJc29sYXJpc19mc3RhdGZzLAkiZnN0YXRmcyIJfSwgLyogMzggKi8KKwl7IDYsCTAsCXNvbGFyaXNfcGdycHN5cywJInBncnBzeXMiCX0sIC8qIDM5ICovCisJeyA2LAkwLAlzb2xhcmlzX3hlbml4LAkJInhlbml4IgkJfSwgLyogNDAgKi8KKwl7IDYsCTAsCXNvbGFyaXNfZHVwLAkJImR1cCIJCX0sIC8qIDQxICovCisJeyA2LAkwLAlzb2xhcmlzX3BpcGUsCQkicGlwZSIJCX0sIC8qIDQyICovCisJeyA2LAkwLAlzb2xhcmlzX3RpbWVzLAkJInRpbWVzIgkJfSwgLyogNDMgKi8KKwl7IDYsCTAsCXNvbGFyaXNfcHJvZmlsLAkJInByb2ZpbCIJfSwgLyogNDQgKi8KKwl7IDYsCTAsCXNvbGFyaXNfcGxvY2ssCQkicGxvY2siCQl9LCAvKiA0NSAqLworCXsgNiwJMCwJc29sYXJpc19zZXRnaWQsCQkic2V0Z2lkIgl9LCAvKiA0NiAqLworCXsgNiwJMCwJc29sYXJpc19nZXRnaWQsCQkiZ2V0Z2lkIgl9LCAvKiA0NyAqLworCXsgNiwJMCwJc29sYXJpc19zaWdjYWxsLAkic2lnY2FsbCIJfSwgLyogNDggKi8KKwl7IDYsCVRJLAlzb2xhcmlzX21zZ3N5cywJCSJtc2dzeXMiCX0sIC8qIDQ5ICovCisJeyA2LAkwLAlzb2xhcmlzX3N5c3N1biwJCSJzeXNzdW4iCX0sIC8qIDUwICovCisJeyA2LAlURiwJc29sYXJpc19hY2N0LAkJImFjY3QiCQl9LCAvKiA1MSAqLworCXsgNiwJVEksCXNvbGFyaXNfc2htc3lzLAkJInNobXN5cyIJfSwgLyogNTIgKi8KKwl7IDYsCVRJLAlzb2xhcmlzX3NlbXN5cywJCSJzZW1zeXMiCX0sIC8qIDUzICovCisJeyA2LAkwLAlzb2xhcmlzX2lvY3RsLAkJImlvY3RsIgkJfSwgLyogNTQgKi8KKwl7IDYsCTAsCXNvbGFyaXNfdWFkbWluLAkJInVhZG1pbiIJfSwgLyogNTUgKi8KKwl7IDYsCTAsCXNvbGFyaXNfc3lzbXAsCQkic3lzbXAiCQl9LCAvKiA1NiAqLworCXsgNiwJMCwJc29sYXJpc191dHNzeXMsCQkidXRzc3lzIgl9LCAvKiA1NyAqLworCXsgNiwJMCwJc29sYXJpc19mZHN5bmMsCQkiZmRzeW5jIgl9LCAvKiA1OCAqLworCXsgNiwJVEZ8VFAsCXNvbGFyaXNfZXhlY3ZlLAkJImV4ZWN2ZSIJfSwgLyogNTkgKi8KKwl7IDYsCTAsCXNvbGFyaXNfdW1hc2ssCQkidW1hc2siCQl9LCAvKiA2MCAqLworCXsgNiwJVEYsCXNvbGFyaXNfY2hyb290LAkJImNocm9vdCIJfSwgLyogNjEgKi8KKwl7IDYsCTAsCXNvbGFyaXNfZmNudGwsCQkiZmNudGwiCQl9LCAvKiA2MiAqLworCXsgNiwJMCwJc29sYXJpc191bGltaXQsCQkidWxpbWl0Igl9LCAvKiA2MyAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU182NCIJfSwgLyogNjQgKi8KKwl7IDYsCTAsCXByaW50YXJncywJCSJTWVNfNjUiCX0sIC8qIDY1ICovCisJeyA2LAkwLAlwcmludGFyZ3MsCQkiU1lTXzY2Igl9LCAvKiA2NiAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU182NyIJfSwgLyogNjcgKi8KKwl7IDYsCTAsCXByaW50YXJncywJCSJTWVNfNjgiCX0sIC8qIDY4ICovCisJeyA2LAkwLAlwcmludGFyZ3MsCQkiU1lTXzY5Igl9LCAvKiA2OSAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU183MCIJfSwgLyogNzAgKi8KKwl7IDYsCTAsCXByaW50YXJncywJCSJTWVNfNzEiCX0sIC8qIDcxICovCisJeyA2LAkwLAlwcmludGFyZ3MsCQkiU1lTXzcyIgl9LCAvKiA3MiAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU183MyIJfSwgLyogNzMgKi8KKwl7IDYsCTAsCXByaW50YXJncywJCSJTWVNfNzQiCX0sIC8qIDc0ICovCisJeyA2LAkwLAlwcmludGFyZ3MsCQkiU1lTXzc1Igl9LCAvKiA3NSAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU183NiIJfSwgLyogNzYgKi8KKwl7IDYsCTAsCXByaW50YXJncywJCSJTWVNfNzciCX0sIC8qIDc3ICovCisJeyA2LAkwLAlwcmludGFyZ3MsCQkiU1lTXzc4Igl9LCAvKiA3OCAqLworCXsgNiwJVEYsCXNvbGFyaXNfcm1kaXIsCQkicm1kaXIiCQl9LCAvKiA3OSAqLworCXsgNiwJVEYsCXNvbGFyaXNfbWtkaXIsCQkibWtkaXIiCQl9LCAvKiA4MCAqLworCXsgNiwJMCwJc29sYXJpc19nZXRkZW50cywJImdldGRlbnRzIgl9LCAvKiA4MSAqLworCXsgNiwJMCwJc29sYXJpc19zZ2luYXAsCQkic2dpbmFwIgl9LCAvKiA4MiAqLworCXsgNiwJMCwJc29sYXJpc19zZ2lrb3B0LAkic2dpa29wdCIJfSwgLyogODMgKi8KKwl7IDYsCTAsCXNvbGFyaXNfc3lzZnMsCQkic3lzZnMiCQl9LCAvKiA4NCAqLworCXsgNiwJVE4sCXN5c19nZXRtc2csCQkiZ2V0bXNnIgl9LCAvKiA4NSAqLworCXsgNiwJVE4sCXN5c19wdXRtc2csCQkicHV0bXNnIgl9LCAvKiA4NiAqLworCXsgNiwJVE4sCXNvbGFyaXNfcG9sbCwJCSJwb2xsIgkJfSwgLyogODcgKi8KKwl7IDYsCVRGLAlzb2xhcmlzX2xzdGF0LAkJImxzdGF0IgkJfSwgLyogODggKi8KKwl7IDYsCVRGLAlzb2xhcmlzX3N5bWxpbmssCSJzeW1saW5rIgl9LCAvKiA4OSAqLworCXsgNiwJVEYsCXNvbGFyaXNfcmVhZGxpbmssCSJyZWFkbGluayIJfSwgLyogOTAgKi8KKwl7IDYsCTAsCXNvbGFyaXNfc2V0Z3JvdXBzLAkic2V0Z3JvdXBzIgl9LCAvKiA5MSAqLworCXsgNiwJMCwJc29sYXJpc19nZXRncm91cHMsCSJnZXRncm91cHMiCX0sIC8qIDkyICovCisJeyA2LAkwLAlzb2xhcmlzX2ZjaG1vZCwJCSJmY2htb2QiCX0sIC8qIDkzICovCisJeyA2LAkwLAlzb2xhcmlzX2ZjaG93biwJCSJmY2hvd24iCX0sIC8qIDk0ICovCisJeyA2LAlUUywJc29sYXJpc19zaWdwcm9jbWFzaywJInNpZ3Byb2NtYXNrIgl9LCAvKiA5NSAqLworCXsgNiwJVFMsCXNvbGFyaXNfc2lnc3VzcGVuZCwJInNpZ3N1c3BlbmQiCX0sIC8qIDk2ICovCisJeyA2LAlUUywJc29sYXJpc19zaWdhbHRzdGFjaywJInNpZ2FsdHN0YWNrIgl9LCAvKiA5NyAqLworCXsgNiwJVFMsCXNvbGFyaXNfc2lnYWN0aW9uLAkic2lnYWN0aW9uIgl9LCAvKiA5OCAqLworCXsgNiwJMCwJc29sYXJpc19zcGNhbGwsCQkic3BjYWxsIgl9LCAvKiA5OSAqLworCXsgNiwJMCwJc29sYXJpc19jb250ZXh0LAkiY29udGV4dCIJfSwgLyogMTAwICovCisJeyA2LAkwLAlzb2xhcmlzX2V2c3lzLAkJImV2c3lzIgkJfSwgLyogMTAxICovCisJeyA2LAkwLAlzb2xhcmlzX2V2dHJhcHJldCwJImV2dHJhcHJldCIJfSwgLyogMTAyICovCisJeyA2LAlURiwJc29sYXJpc19zdGF0dmZzLAkic3RhdHZmcyIJfSwgLyogMTAzICovCisJeyA2LAkwLAlzb2xhcmlzX2ZzdGF0dmZzLAkiZnN0YXR2ZnMiCX0sIC8qIDEwNCAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMDUiCX0sIC8qIDEwNSAqLworCXsgNiwJMCwJc29sYXJpc19uZnNzeXMsCQkibmZzc3lzIgl9LCAvKiAxMDYgKi8KKwl7IDYsCVRQLAlzb2xhcmlzX3dhaXRpZCwJCSJ3YWl0aWQiCX0sIC8qIDEwNyAqLworCXsgNiwJMCwJc29sYXJpc19zaWdzZW5kc3lzLAkic2lnc2VuZHN5cyIJfSwgLyogMTA4ICovCisJeyA2LAkwLAlzb2xhcmlzX2hydHN5cywJCSJocnRzeXMiCX0sIC8qIDEwOSAqLworCXsgNiwJMCwJc29sYXJpc19hY2FuY2VsLAkiYWNhbmNlbCIJfSwgLyogMTEwICovCisJeyA2LAkwLAlzb2xhcmlzX2FzeW5jLAkJImFzeW5jIgkJfSwgLyogMTExICovCisJeyA2LAkwLAlzb2xhcmlzX3ByaW9jbnRsc3lzLAkicHJpb2NudGxzeXMiCX0sIC8qIDExMiAqLworCXsgNiwJVEYsCXNvbGFyaXNfcGF0aGNvbmYsCSJwYXRoY29uZiIJfSwgLyogMTEzICovCisJeyA2LAkwLAlzb2xhcmlzX21pbmNvcmUsCSJtaW5jb3JlIgl9LCAvKiAxMTQgKi8KKwl7IDYsCTAsCXNvbGFyaXNfbW1hcCwJCSJtbWFwIgkJfSwgLyogMTE1ICovCisJeyA2LAkwLAlzb2xhcmlzX21wcm90ZWN0LAkibXByb3RlY3QiCX0sIC8qIDExNiAqLworCXsgNiwJMCwJc29sYXJpc19tdW5tYXAsCQkibXVubWFwIgl9LCAvKiAxMTcgKi8KKwl7IDYsCTAsCXNvbGFyaXNfZnBhdGhjb25mLAkiZnBhdGhjb25mIgl9LCAvKiAxMTggKi8KKwl7IDYsCVRQLAlzb2xhcmlzX3Zmb3JrLAkJInZmb3JrIgkJfSwgLyogMTE5ICovCisJeyA2LAkwLAlzb2xhcmlzX2ZjaGRpciwJCSJmY2hkaXIiCX0sIC8qIDEyMCAqLworCXsgNiwJMCwJc29sYXJpc19yZWFkdiwJCSJyZWFkdiIJCX0sIC8qIDEyMSAqLworCXsgNiwJMCwJc29sYXJpc193cml0ZXYsCQkid3JpdGV2Igl9LCAvKiAxMjIgKi8KKwl7IDYsCVRGLAlzb2xhcmlzX3hzdGF0LAkJInhzdGF0IgkJfSwgLyogMTIzICovCisJeyA2LAlURiwJc29sYXJpc19seHN0YXQsCQkibHhzdGF0Igl9LCAvKiAxMjQgKi8KKwl7IDYsCTAsCXNvbGFyaXNfZnhzdGF0LAkJImZ4c3RhdCIJfSwgLyogMTI1ICovCisJeyA2LAlURiwJc29sYXJpc194bWtub2QsCQkieG1rbm9kIgl9LCAvKiAxMjYgKi8KKwl7IDYsCTAsCXNvbGFyaXNfY2xvY2FsLAkJImNsb2NhbCIJfSwgLyogMTI3ICovCisJeyA2LAkwLAlzb2xhcmlzX3NldHJsaW1pdCwJInNldHJsaW1pdCIJfSwgLyogMTI4ICovCisJeyA2LAkwLAlzb2xhcmlzX2dldHJsaW1pdCwJImdldHJsaW1pdCIJfSwgLyogMTI5ICovCisJeyA2LAlURiwJc29sYXJpc19sY2hvd24sCQkibGNob3duIgl9LCAvKiAxMzAgKi8KKwl7IDYsCTAsCXNvbGFyaXNfbWVtY250bCwJIm1lbWNudGwiCX0sIC8qIDEzMSAqLworCXsgNiwJVE4sCXNvbGFyaXNfZ2V0cG1zZywJImdldHBtc2ciCX0sIC8qIDEzMiAqLworCXsgNiwJVE4sCXNvbGFyaXNfcHV0cG1zZywJInB1dHBtc2ciCX0sIC8qIDEzMyAqLworCXsgNiwJVEYsCXNvbGFyaXNfcmVuYW1lLAkJInJlbmFtZSIJfSwgLyogMTM0ICovCisJeyA2LAkwLAlzb2xhcmlzX3VuYW1lLAkJInVuYW1lIgkJfSwgLyogMTM1ICovCisJeyA2LAkwLAlzb2xhcmlzX3NldGVnaWQsCSJzZXRlZ2lkIgl9LCAvKiAxMzYgKi8KKwl7IDYsCTAsCXNvbGFyaXNfc3lzY29uZmlnLAkic3lzY29uZmlnIgl9LCAvKiAxMzcgKi8KKwl7IDYsCTAsCXNvbGFyaXNfYWRqdGltZSwJImFkanRpbWUiCX0sIC8qIDEzOCAqLworCXsgNiwJMCwJc29sYXJpc19zeXNpbmZvLAkic3lzaW5mbyIJfSwgLyogMTM5ICovCisJeyA2LAkwLAlwcmludGFyZ3MsCQkiU1lTXzE0MCIJfSwgLyogMTQwICovCisJeyA2LAkwLAlzb2xhcmlzX3NldGV1aWQsCSJzZXRldWlkIgl9LCAvKiAxNDEgKi8KKwl7IDYsCTAsCXNvbGFyaXNfdnRyYWNlLAkJInZ0cmFjZSIJfSwgLyogMTQyICovCisJeyA2LAlUUCwJc29sYXJpc19mb3JrMSwJCSJmb3JrMSIJCX0sIC8qIDE0MyAqLworCXsgNiwJVFMsCXNvbGFyaXNfc2lndGltZWR3YWl0LAkic2lndGltZWR3YWl0Igl9LCAvKiAxNDQgKi8KKwl7IDYsCTAsCXNvbGFyaXNfbHdwX2luZm8sCSJsd3BfaW5mbyIJfSwgLyogMTQ1ICovCisJeyA2LAkwLAlzb2xhcmlzX3lpZWxkLAkJInlpZWxkIgkJfSwgLyogMTQ2ICovCisJeyA2LAkwLAlzb2xhcmlzX2x3cF9zZW1hX3dhaXQsCSJsd3Bfc2VtYV93YWl0Igl9LCAvKiAxNDcgKi8KKwl7IDYsCTAsCXNvbGFyaXNfbHdwX3NlbWFfcG9zdCwJImx3cF9zZW1hX3Bvc3QiCX0sIC8qIDE0OCAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNDkiCX0sIC8qIDE0OSAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNTAiCX0sIC8qIDE1MCAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNTEiCX0sIC8qIDE1MSAqLworCXsgNiwJMCwJc29sYXJpc19tb2RjdGwsCQkibW9kY3RsIgl9LCAvKiAxNTIgKi8KKwl7IDYsCTAsCXNvbGFyaXNfZmNocm9vdCwJImZjaHJvb3QiCX0sIC8qIDE1MyAqLworCXsgNiwJVEYsCXNvbGFyaXNfdXRpbWVzLAkJInV0aW1lcyIJfSwgLyogMTU0ICovCisJeyA2LAkwLAlzb2xhcmlzX3ZoYW5ndXAsCSJ2aGFuZ3VwIgl9LCAvKiAxNTUgKi8KKwl7IDYsCTAsCXNvbGFyaXNfZ2V0dGltZW9mZGF5LAkiZ2V0dGltZW9mZGF5Igl9LCAvKiAxNTYgKi8KKwl7IDYsCTAsCXNvbGFyaXNfZ2V0aXRpbWVyLAkiZ2V0aXRpbWVyIgl9LCAvKiAxNTcgKi8KKwl7IDYsCTAsCXNvbGFyaXNfc2V0aXRpbWVyLAkic2V0aXRpbWVyIgl9LCAvKiAxNTggKi8KKwl7IDYsCTAsCXNvbGFyaXNfbHdwX2NyZWF0ZSwJImx3cF9jcmVhdGUiCX0sIC8qIDE1OSAqLworCXsgNiwJMCwJc29sYXJpc19sd3BfZXhpdCwJImx3cF9leGl0Igl9LCAvKiAxNjAgKi8KKwl7IDYsCTAsCXNvbGFyaXNfbHdwX3N1c3BlbmQsCSJsd3Bfc3VzcGVuZCIJfSwgLyogMTYxICovCisJeyA2LAkwLAlzb2xhcmlzX2x3cF9jb250aW51ZSwJImx3cF9jb250aW51ZSIJfSwgLyogMTYyICovCisJeyA2LAkwLAlzb2xhcmlzX2x3cF9raWxsLAkibHdwX2tpbGwiCX0sIC8qIDE2MyAqLworCXsgNiwJMCwJc29sYXJpc19sd3Bfc2VsZiwJImx3cF9zZWxmIgl9LCAvKiAxNjQgKi8KKwl7IDYsCTAsCXNvbGFyaXNfbHdwX3NldHByaXZhdGUsCSJsd3Bfc2V0cHJpdmF0ZSJ9LCAvKiAxNjUgKi8KKwl7IDYsCTAsCXNvbGFyaXNfbHdwX2dldHByaXZhdGUsCSJsd3BfZ2V0cHJpdmF0ZSJ9LCAvKiAxNjYgKi8KKwl7IDYsCTAsCXNvbGFyaXNfbHdwX3dhaXQsCSJsd3Bfd2FpdCIJfSwgLyogMTY3ICovCisJeyA2LAkwLAlzb2xhcmlzX2x3cF9tdXRleF91bmxvY2ssImx3cF9tdXRleF91bmxvY2sifSwgLyogMTY4ICovCisJeyA2LAkwLAlzb2xhcmlzX2x3cF9tdXRleF9sb2NrLAkibHdwX211dGV4X2xvY2sifSwgLyogMTY5ICovCisJeyA2LAkwLAlzb2xhcmlzX2x3cF9jb25kX3dhaXQsCSJsd3BfY29uZF93YWl0In0sIC8qIDE3MCAqLworCXsgNiwJMCwJc29sYXJpc19sd3BfY29uZF9zaWduYWwsImx3cF9jb25kX3NpZ25hbCJ9LCAvKiAxNzEgKi8KKwl7IDYsCTAsCXNvbGFyaXNfbHdwX2NvbmRfYnJvYWRjYXN0LCJsd3BfY29uZF9icm9hZGNhc3QifSwgLyogMTcyICovCisJeyA2LAkwLAlzb2xhcmlzX3ByZWFkLAkJInByZWFkIgkJfSwgLyogMTczICovCisJeyA2LAkwLAlzb2xhcmlzX3B3cml0ZSwJCSJwd3JpdGUiCX0sIC8qIDE3NCAqLworCXsgNiwJMCwJc29sYXJpc19sbHNlZWssCQkibGxzZWVrIgl9LCAvKiAxNzUgKi8KKwl7IDYsCTAsCXNvbGFyaXNfaW5zdF9zeW5jLAkiaW5zdF9zeW5jIgl9LCAvKiAxNzYgKi8KKwl7IDYsCTAsCXByaW50YXJncywJCSJTWVNfMTc3Igl9LCAvKiAxNzcgKi8KKwl7IDYsCTAsCXByaW50YXJncywJCSJTWVNfMTc4Igl9LCAvKiAxNzggKi8KKwl7IDYsCTAsCXByaW50YXJncywJCSJTWVNfMTc5Igl9LCAvKiAxNzkgKi8KKwl7IDYsCTAsCXByaW50YXJncywJCSJTWVNfMTgwIgl9LCAvKiAxODAgKi8KKwl7IDYsCTAsCXByaW50YXJncywJCSJTWVNfMTgxIgl9LCAvKiAxODEgKi8KKwl7IDYsCTAsCXByaW50YXJncywJCSJTWVNfMTgyIgl9LCAvKiAxODIgKi8KKwl7IDYsCTAsCXByaW50YXJncywJCSJTWVNfMTgzIgl9LCAvKiAxODMgKi8KKwl7IDYsCTAsCXByaW50YXJncywJCSJTWVNfMTg0Igl9LCAvKiAxODQgKi8KKwl7IDYsCTAsCXByaW50YXJncywJCSJTWVNfMTg1Igl9LCAvKiAxODUgKi8KKwl7IDYsCTAsCXNvbGFyaXNfYXVkaXRzeXMsCSJhdWRpdHN5cyIJfSwgLyogMTg2ICovCisJeyA2LAkwLAlzb2xhcmlzX3Byb2Nlc3Nvcl9iaW5kLAkicHJvY2Vzc29yX2JpbmQifSwgLyogMTg3ICovCisJeyA2LAkwLAlzb2xhcmlzX3Byb2Nlc3Nvcl9pbmZvLAkicHJvY2Vzc29yX2luZm8ifSwgLyogMTg4ICovCisJeyA2LAkwLAlzb2xhcmlzX3Bfb25saW5lLAkicF9vbmxpbmUiCX0sIC8qIDE4OSAqLworCXsgNiwJMCwJc29sYXJpc19zaWdxdWV1ZSwJInNpZ3F1ZXVlIgl9LCAvKiAxOTAgKi8KKwl7IDYsCTAsCXNvbGFyaXNfY2xvY2tfZ2V0dGltZSwJImNsb2NrX2dldHRpbWUiCX0sIC8qIDE5MSAqLworCXsgNiwJMCwJc29sYXJpc19jbG9ja19zZXR0aW1lLAkiY2xvY2tfc2V0dGltZSIJfSwgLyogMTkyICovCisJeyA2LAkwLAlzb2xhcmlzX2Nsb2NrX2dldHJlcywJImNsb2NrX2dldHJlcyIJfSwgLyogMTkzICovCisJeyA2LAkwLAlzb2xhcmlzX3RpbWVyX2NyZWF0ZSwJInRpbWVyX2NyZWF0ZSIJfSwgLyogMTk0ICovCisJeyA2LAkwLAlzb2xhcmlzX3RpbWVyX2RlbGV0ZSwJInRpbWVyX2RlbGV0ZSIJfSwgLyogMTk1ICovCisJeyA2LAkwLAlzb2xhcmlzX3RpbWVyX3NldHRpbWUsCSJ0aW1lcl9zZXR0aW1lIgl9LCAvKiAxOTYgKi8KKwl7IDYsCTAsCXNvbGFyaXNfdGltZXJfZ2V0dGltZSwJInRpbWVyX2dldHRpbWUiCX0sIC8qIDE5NyAqLworCXsgNiwJMCwJc29sYXJpc190aW1lcl9nZXRvdmVycnVuLCJ0aW1lcl9nZXRvdmVycnVuIn0sIC8qIDE5OCAqLworCXsgNiwJMCwJc29sYXJpc19uYW5vc2xlZXAsCSJuYW5vc2xlZXAiCX0sIC8qIDE5OSAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMDAiCX0sIC8qIDIwMCAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMDEiCX0sIC8qIDIwMSAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMDIiCX0sIC8qIDIwMiAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMDMiCX0sIC8qIDIwMyAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMDQiCX0sIC8qIDIwNCAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMDUiCX0sIC8qIDIwNSAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMDYiCX0sIC8qIDIwNiAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMDciCX0sIC8qIDIwNyAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMDgiCX0sIC8qIDIwOCAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMDkiCX0sIC8qIDIwOSAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMTAiCX0sIC8qIDIxMCAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMTEiCX0sIC8qIDIxMSAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMTIiCX0sIC8qIDIxMiAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMTMiCX0sIC8qIDIxMyAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMTQiCX0sIC8qIDIxNCAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMTUiCX0sIC8qIDIxNSAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMTYiCX0sIC8qIDIxNiAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMTciCX0sIC8qIDIxNyAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMTgiCX0sIC8qIDIxOCAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMTkiCX0sIC8qIDIxOSAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMjAiCX0sIC8qIDIyMCAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMjEiCX0sIC8qIDIyMSAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMjIiCX0sIC8qIDIyMiAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMjMiCX0sIC8qIDIyMyAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMjQiCX0sIC8qIDIyNCAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMjUiCX0sIC8qIDIyNSAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMjYiCX0sIC8qIDIyNiAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMjciCX0sIC8qIDIyNyAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMjgiCX0sIC8qIDIyOCAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMjkiCX0sIC8qIDIyOSAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMzAiCX0sIC8qIDIzMCAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMzEiCX0sIC8qIDIzMSAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMzIiCX0sIC8qIDIzMiAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMzMiCX0sIC8qIDIzMyAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMzQiCX0sIC8qIDIzNCAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMzUiCX0sIC8qIDIzNSAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMzYiCX0sIC8qIDIzNiAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMzciCX0sIC8qIDIzNyAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMzgiCX0sIC8qIDIzOCAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMzkiCX0sIC8qIDIzOSAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNDAiCX0sIC8qIDI0MCAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNDEiCX0sIC8qIDI0MSAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNDIiCX0sIC8qIDI0MiAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNDMiCX0sIC8qIDI0MyAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNDQiCX0sIC8qIDI0NCAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNDUiCX0sIC8qIDI0NSAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNDYiCX0sIC8qIDI0NiAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNDciCX0sIC8qIDI0NyAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNDgiCX0sIC8qIDI0OCAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNDkiCX0sIC8qIDI0OSAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNTAiCX0sIC8qIDI1MCAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNTEiCX0sIC8qIDI1MSAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNTIiCX0sIC8qIDI1MiAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNTMiCX0sIC8qIDI1MyAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNTQiCX0sIC8qIDI1NCAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNTUiCX0sIC8qIDI1NSAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNTYiCX0sIC8qIDI1NiAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNTciCX0sIC8qIDI1NyAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNTgiCX0sIC8qIDI1OCAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNTkiCX0sIC8qIDI1OSAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNjAiCX0sIC8qIDI2MCAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNjEiCX0sIC8qIDI2MSAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNjIiCX0sIC8qIDI2MiAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNjMiCX0sIC8qIDI2MyAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNjQiCX0sIC8qIDI2NCAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNjUiCX0sIC8qIDI2NSAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNjYiCX0sIC8qIDI2NiAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNjciCX0sIC8qIDI2NyAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNjgiCX0sIC8qIDI2OCAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNjkiCX0sIC8qIDI2OSAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNzAiCX0sIC8qIDI3MCAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNzEiCX0sIC8qIDI3MSAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNzIiCX0sIC8qIDI3MiAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNzMiCX0sIC8qIDI3MyAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNzQiCX0sIC8qIDI3NCAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNzUiCX0sIC8qIDI3NSAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNzYiCX0sIC8qIDI3NiAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNzciCX0sIC8qIDI3NyAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNzgiCX0sIC8qIDI3OCAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNzkiCX0sIC8qIDI3OSAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yODAiCX0sIC8qIDI4MCAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yODEiCX0sIC8qIDI4MSAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yODIiCX0sIC8qIDI4MiAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yODMiCX0sIC8qIDI4MyAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yODQiCX0sIC8qIDI4NCAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yODUiCX0sIC8qIDI4NSAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yODYiCX0sIC8qIDI4NiAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yODciCX0sIC8qIDI4NyAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yODgiCX0sIC8qIDI4OCAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yODkiCX0sIC8qIDI4OSAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yOTAiCX0sIC8qIDI5MCAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yOTEiCX0sIC8qIDI5MSAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yOTIiCX0sIC8qIDI5MiAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yOTMiCX0sIC8qIDI5MyAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yOTQiCX0sIC8qIDI5NCAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yOTUiCX0sIC8qIDI5NSAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yOTYiCX0sIC8qIDI5NiAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yOTciCX0sIC8qIDI5NyAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yOTgiCX0sIC8qIDI5OCAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18yOTkiCX0sIC8qIDI5OSAqLworCisJeyA2LAkwLAlzb2xhcmlzX2dldHBncnAsCSJnZXRwZ3JwIgl9LCAvKiAzMDAgKi8KKwl7IDYsCTAsCXNvbGFyaXNfc2V0cGdycCwJInNldHBncnAiCX0sIC8qIDMwMSAqLworCXsgNiwJMCwJc29sYXJpc19nZXRzaWQsCQkiZ2V0c2lkIgl9LCAvKiAzMDIgKi8KKwl7IDYsCTAsCXNvbGFyaXNfc2V0c2lkLAkJInNldHNpZCIJfSwgLyogMzAzICovCisJeyA2LAkwLAlzb2xhcmlzX2dldHBnaWQsCSJnZXRwZ2lkIgl9LCAvKiAzMDQgKi8KKwl7IDYsCTAsCXNvbGFyaXNfc2V0cGdpZCwJInNldHBnaWQiCX0sIC8qIDMwNSAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMDYiCX0sIC8qIDMwNiAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMDciCX0sIC8qIDMwNyAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMDgiCX0sIC8qIDMwOCAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMDkiCX0sIC8qIDMwOSAqLworCisJeyA2LAlUUywJc29sYXJpc19zaWduYWwsCQkic2lnbmFsIgl9LCAvKiAzMTAgKi8KKwl7IDYsCVRTLAlzb2xhcmlzX3NpZ3NldCwJCSJzaWdzZXQiCX0sIC8qIDMxMSAqLworCXsgNiwJVFMsCXNvbGFyaXNfc2lnaG9sZCwJInNpZ2hvbGQiCX0sIC8qIDMxMiAqLworCXsgNiwJVFMsCXNvbGFyaXNfc2lncmVsc2UsCSJzaWdyZWxzZSIJfSwgLyogMzEzICovCisJeyA2LAlUUywJc29sYXJpc19zaWdpZ25vcmUsCSJzaWdpZ25vcmUiCX0sIC8qIDMxNCAqLworCXsgNiwJVFMsCXNvbGFyaXNfc2lncGF1c2UsCSJzaWdwYXVzZSIJfSwgLyogMzE1ICovCisJeyA2LAkwLAlwcmludGFyZ3MsCQkiU1lTXzMxNiIJfSwgLyogMzE2ICovCisJeyA2LAkwLAlwcmludGFyZ3MsCQkiU1lTXzMxNyIJfSwgLyogMzE3ICovCisJeyA2LAkwLAlwcmludGFyZ3MsCQkiU1lTXzMxOCIJfSwgLyogMzE4ICovCisJeyA2LAkwLAlwcmludGFyZ3MsCQkiU1lTXzMxOSIJfSwgLyogMzE5ICovCisKKwl7IDYsCVRJLAlzb2xhcmlzX21zZ2dldCwJCSJtc2dnZXQiCX0sIC8qIDMyMCAqLworCXsgNiwJVEksCXNvbGFyaXNfbXNnY3RsLAkJIm1zZ2N0bCIJfSwgLyogMzIxICovCisJeyA2LAlUSSwJc29sYXJpc19tc2dyY3YsCQkibXNncmN2Igl9LCAvKiAzMjIgKi8KKwl7IDYsCVRJLAlzb2xhcmlzX21zZ3NuZCwJCSJtc2dzbmQiCX0sIC8qIDMyMyAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMjQiCX0sIC8qIDMyNCAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMjUiCX0sIC8qIDMyNSAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMjYiCX0sIC8qIDMyNiAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMjciCX0sIC8qIDMyNyAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMjgiCX0sIC8qIDMyOCAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMjkiCX0sIC8qIDMyOSAqLworCisJeyA2LAlUSSwJc29sYXJpc19zaG1hdCwJCSJzaG1hdCIJCX0sIC8qIDMzMCAqLworCXsgNiwJVEksCXNvbGFyaXNfc2htY3RsLAkJInNobWN0bCIJfSwgLyogMzMxICovCisJeyA2LAlUSSwJc29sYXJpc19zaG1kdCwJCSJzaG1kdCIJCX0sIC8qIDMzMiAqLworCXsgNiwJVEksCXNvbGFyaXNfc2htZ2V0LAkJInNobWdldCIJfSwgLyogMzMzICovCisJeyA2LAkwLAlwcmludGFyZ3MsCQkiU1lTXzMzNCIJfSwgLyogMzM0ICovCisJeyA2LAkwLAlwcmludGFyZ3MsCQkiU1lTXzMzNSIJfSwgLyogMzM1ICovCisJeyA2LAkwLAlwcmludGFyZ3MsCQkiU1lTXzMzNiIJfSwgLyogMzM2ICovCisJeyA2LAkwLAlwcmludGFyZ3MsCQkiU1lTXzMzNyIJfSwgLyogMzM3ICovCisJeyA2LAkwLAlwcmludGFyZ3MsCQkiU1lTXzMzOCIJfSwgLyogMzM4ICovCisJeyA2LAkwLAlwcmludGFyZ3MsCQkiU1lTXzMzOSIJfSwgLyogMzM5ICovCisKKwl7IDYsCVRJLAlzb2xhcmlzX3NlbWN0bCwJCSJzZW1jdGwiCX0sIC8qIDM0MCAqLworCXsgNiwJVEksCXNvbGFyaXNfc2VtZ2V0LAkJInNlbWdldCIJfSwgLyogMzQxICovCisJeyA2LAlUSSwJc29sYXJpc19zZW1vcCwJCSJzZW1vcCIJCX0sIC8qIDM0MiAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNDMiCX0sIC8qIDM0MyAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNDQiCX0sIC8qIDM0NCAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNDUiCX0sIC8qIDM0NSAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNDYiCX0sIC8qIDM0NiAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNDciCX0sIC8qIDM0NyAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNDgiCX0sIC8qIDM0OCAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNDkiCX0sIC8qIDM0OSAqLworCisJeyA2LAkwLAlzb2xhcmlzX29sZHVuYW1lLAkib2xkdW5hbWUiCX0sIC8qIDM1MCAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJInV0c3N5czEiCX0sIC8qIDM1MSAqLworCXsgNiwJMCwJc29sYXJpc191c3RhdCwJCSJ1c3RhdCIJCX0sIC8qIDM1MiAqLworCXsgNiwJMCwJc29sYXJpc19mdXNlcnMsCQkiZnVzZXJzIgl9LCAvKiAzNTMgKi8KKwl7IDYsCTAsCXByaW50YXJncywJCSJTWVNfMzU0Igl9LCAvKiAzNTQgKi8KKwl7IDYsCTAsCXByaW50YXJncywJCSJTWVNfMzU1Igl9LCAvKiAzNTUgKi8KKwl7IDYsCTAsCXByaW50YXJncywJCSJTWVNfMzU2Igl9LCAvKiAzNTYgKi8KKwl7IDYsCTAsCXByaW50YXJncywJCSJTWVNfMzU3Igl9LCAvKiAzNTcgKi8KKwl7IDYsCTAsCXByaW50YXJncywJCSJTWVNfMzU4Igl9LCAvKiAzNTggKi8KKwl7IDYsCTAsCXByaW50YXJncywJCSJTWVNfMzU5Igl9LCAvKiAzNTkgKi8KKworCXsgNiwJMCwJcHJpbnRhcmdzLAkJInN5c2ZzMCIJfSwgLyogMzYwICovCisJeyA2LAkwLAlzb2xhcmlzX3N5c2ZzMSwJCSJzeXNmczEiCX0sIC8qIDM2MSAqLworCXsgNiwJMCwJc29sYXJpc19zeXNmczIsCQkic3lzZnMyIgl9LCAvKiAzNjIgKi8KKwl7IDYsCTAsCXNvbGFyaXNfc3lzZnMzLAkJInN5c2ZzMyIJfSwgLyogMzYzICovCisJeyA2LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2NCIJfSwgLyogMzY0ICovCisJeyA2LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2NSIJfSwgLyogMzY1ICovCisJeyA2LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2NiIJfSwgLyogMzY2ICovCisJeyA2LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2NyIJfSwgLyogMzY3ICovCisJeyA2LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2OCIJfSwgLyogMzY4ICovCisJeyA2LAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2OSIJfSwgLyogMzY5ICovCisKKwl7IDYsCTAsCXByaW50YXJncywJCSJzcGNhbGwwIgl9LCAvKiAzNzAgKi8KKwl7IDYsCVRTLAlzb2xhcmlzX3NpZ3BlbmRpbmcsCSJzaWdwZW5kaW5nIgl9LCAvKiAzNzEgKi8KKwl7IDYsCVRTLAlzb2xhcmlzX3NpZ2ZpbGxzZXQsCSJzaWdmaWxsc2V0Igl9LCAvKiAzNzIgKi8KKwl7IDYsCTAsCXByaW50YXJncywJCSJTWVNfMzczIgl9LCAvKiAzNzMgKi8KKwl7IDYsCTAsCXByaW50YXJncywJCSJTWVNfMzc0Igl9LCAvKiAzNzQgKi8KKwl7IDYsCTAsCXByaW50YXJncywJCSJTWVNfMzc1Igl9LCAvKiAzNzUgKi8KKwl7IDYsCTAsCXByaW50YXJncywJCSJTWVNfMzc2Igl9LCAvKiAzNzYgKi8KKwl7IDYsCTAsCXByaW50YXJncywJCSJTWVNfMzc3Igl9LCAvKiAzNzcgKi8KKwl7IDYsCTAsCXByaW50YXJncywJCSJTWVNfMzc4Igl9LCAvKiAzNzggKi8KKwl7IDYsCTAsCXByaW50YXJncywJCSJTWVNfMzc5Igl9LCAvKiAzNzkgKi8KKworCXsgNiwJMCwJc29sYXJpc19nZXRjb250ZXh0LAkiZ2V0Y29udGV4dCIJfSwgLyogMzgwICovCisJeyA2LAkwLAlzb2xhcmlzX3NldGNvbnRleHQsCSJzZXRjb250ZXh0Igl9LCAvKiAzODEgKi8KKwl7IDYsCTAsCXByaW50YXJncywJCSJTWVNfMzgyIgl9LCAvKiAzODIgKi8KKwl7IDYsCTAsCXByaW50YXJncywJCSJTWVNfMzgzIgl9LCAvKiAzODMgKi8KKwl7IDYsCTAsCXByaW50YXJncywJCSJTWVNfMzg0Igl9LCAvKiAzODQgKi8KKwl7IDYsCTAsCXByaW50YXJncywJCSJTWVNfMzg1Igl9LCAvKiAzODUgKi8KKwl7IDYsCTAsCXByaW50YXJncywJCSJTWVNfMzg2Igl9LCAvKiAzODYgKi8KKwl7IDYsCTAsCXByaW50YXJncywJCSJTWVNfMzg3Igl9LCAvKiAzODcgKi8KKwl7IDYsCTAsCXByaW50YXJncywJCSJTWVNfMzg4Igl9LCAvKiAzODggKi8KKwl7IDYsCTAsCXByaW50YXJncywJCSJTWVNfMzg5Igl9LCAvKiAzODkgKi8KKworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18zOTAiCX0sIC8qIDM5MCAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18zOTEiCX0sIC8qIDM5MSAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18zOTIiCX0sIC8qIDM5MiAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18zOTMiCX0sIC8qIDM5MyAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18zOTQiCX0sIC8qIDM5NCAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18zOTUiCX0sIC8qIDM5NSAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18zOTYiCX0sIC8qIDM5NiAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18zOTciCX0sIC8qIDM5NyAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18zOTgiCX0sIC8qIDM5OCAqLworCXsgNiwJMCwJcHJpbnRhcmdzLAkJIlNZU18zOTkiCX0sIC8qIDM5OSAqLwpkaWZmIC0tZ2l0IGEvc3RyYWNlLTQuNS4yMC9saW51eC9zcGFyYzY0L2R1bW15Mi5oIGIvc3RyYWNlLTQuNS4yMC9saW51eC9zcGFyYzY0L2R1bW15Mi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhmZjQ2NGIKLS0tIC9kZXYvbnVsbAorKysgYi9zdHJhY2UtNC41LjIwL2xpbnV4L3NwYXJjNjQvZHVtbXkyLmgKQEAgLTAsMCArMSwyODIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDE5OTMsIDE5OTQsIDE5OTUgUmljayBTbGFka2V5IDxqcnNAd29ybGQuc3RkLmNvbT4KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBUaGUgbmFtZSBvZiB0aGUgYXV0aG9yIG1heSBub3QgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMKKyAqICAgIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIEFVVEhPUiBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCisgKiBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELgorICogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAorICogSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUCisgKiBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqCisgKgkkSWQkCisgKi8KKworLyogc3RpbGwgdW5maW5pc2hlZCAqLworCisjZGVmaW5lIHNvbGFyaXNfc3lzbXAgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfc2dpbmFwIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3NnaWtvcHQgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfc3lzbWlwcyBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19zaWdyZXR1cm4gcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfcmVjdm1zZyBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19zZW5kbXNnIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX25mc3N2YyBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19nZXRmaCBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19hc3luY19kYWVtb24gcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfZXhwb3J0ZnMgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfQlNEX2dldGltZSBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19zcHJvYyBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19wcm9jYmxrIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3Nwcm9jc3AgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfbXN5bmMgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfbWFkdmlzZSBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19wYWdlbG9jayBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19xdW90YWN0bCBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19jYWNoZWZsdXNoIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX2NhY2hlY3RsIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX251bmFtZSBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19zaWdwb2xsIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3N3YXBjdGwgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfc2lnc3RhY2sgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfc2lnc2VuZHNldCBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19wcmlvY250bCBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19rc2lncXVldWUgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfbHdwX3NlbWFfd2FpdCBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19tZW1jbnRsIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3N5c2NhbGwgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfY2xvY2FsIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3N5c3N1biBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19zeXNpODYgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfc3lzbWFjaGluZSBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19wbG9jayBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19wYXRoY29uZiBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19zaWd0aW1lZHdhaXQgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfdWxpbWl0IHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3B0cmFjZSBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19zdHR5IHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX2x3cF9pbmZvIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3ByaW9jbnRsc3lzIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX2hydHN5cyBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc194ZW5peCBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19zdGF0ZnMgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfZnN0YXRmcyBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19zdGF0dmZzIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX2ZzdGF0dmZzIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX2ZvcmsxIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3NpZ3NlbmRzeXMgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfZ3R0eSBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc192dHJhY2UgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfZnBhdGhjb25mIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX2V2c3lzIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX2FjY3QgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfZXhlYyBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19sd3Bfc2VtYV9wb3N0IHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX25mc3N5cyBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19zaWdhbHRzdGFjayBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc191YWRtaW4gcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfdW1vdW50IHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX21vZGN0bCBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19hY2FuY2VsIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX2FzeW5jIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX2V2dHJhcHJldCBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19sd3BfY3JlYXRlIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX2x3cF9leGl0IHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX2x3cF9zdXNwZW5kIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX2x3cF9jb250aW51ZSBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19sd3Bfa2lsbCBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19sd3Bfc2VsZiBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19sd3Bfc2V0cHJpdmF0ZSBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19sd3BfZ2V0cHJpdmF0ZSBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19sd3Bfd2FpdCBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19sd3BfbXV0ZXhfdW5sb2NrIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX2x3cF9tdXRleF9sb2NrIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX2x3cF9jb25kX3dhaXQgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfbHdwX2NvbmRfc2lnbmFsIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX2x3cF9jb25kX2Jyb2FkY2FzdCBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19sbHNlZWsgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfaW5zdF9zeW5jIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX2F1ZGl0c3lzIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3Byb2Nlc3Nvcl9iaW5kIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3Byb2Nlc3Nvcl9pbmZvIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3Bfb25saW5lIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3NpZ3F1ZXVlIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX2Nsb2NrX2dldHRpbWUgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfY2xvY2tfc2V0dGltZSBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19jbG9ja19nZXRyZXMgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfbmFub3NsZWVwIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3RpbWVyX2NyZWF0ZSBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc190aW1lcl9kZWxldGUgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfdGltZXJfc2V0dGltZSBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc190aW1lcl9nZXR0aW1lIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3RpbWVyX2dldG92ZXJydW4gcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfc2lnbmFsIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3NpZ3NldCBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19zaWdob2xkIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3NpZ3JlbHNlIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3NpZ2lnbm9yZSBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19zaWdwYXVzZSBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19tc2djdGwgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfbXNnZ2V0IHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX21zZ3JjdiBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19tc2dzbmQgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfc2htYXQgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfc2htY3RsIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3NobWR0IHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3NobWdldCBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19zZW1jdGwgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfc2VtZ2V0IHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3NlbW9wIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX29sZHVuYW1lIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3VzdGF0IHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX2Z1c2VycyBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19zeXNmczEgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfc3lzZnMyIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3N5c2ZzMyBwcmludGFyZ3MKKworLyogbGlrZSBhbm90aGVyIGNhbGwgKi8KKyNkZWZpbmUgc29sYXJpc19sY2hvd24gc29sYXJpc19jaG93bgorI2RlZmluZSBzb2xhcmlzX3NldHVpZCBzb2xhcmlzX2Nsb3NlCisjZGVmaW5lIHNvbGFyaXNfc2V0ZXVpZCBzb2xhcmlzX2Nsb3NlCisjZGVmaW5lIHNvbGFyaXNfc2V0Z2lkIHNvbGFyaXNfY2xvc2UKKyNkZWZpbmUgc29sYXJpc19zZXRlZ2lkIHNvbGFyaXNfY2xvc2UKKyNkZWZpbmUgc29sYXJpc192aGFuZ3VwIHNvbGFyaXNfY2xvc2UKKyNkZWZpbmUgc29sYXJpc19mZHN5bmMgc29sYXJpc19jbG9zZQorI2RlZmluZSBzb2xhcmlzX3NpZ2ZpbGxzZXQgc29sYXJpc19zaWdwZW5kaW5nCisjZGVmaW5lIHNvbGFyaXNfdmZvcmsgc29sYXJpc19mb3JrCisjZGVmaW5lIHNvbGFyaXNfa3NpZ2FjdGlvbiBzb2xhcmlzX3NpZ2FjdGlvbgorI2RlZmluZSBzb2xhcmlzX0JTRGdldHBncnAgc29sYXJpc19nZXRwZ3JwCisjZGVmaW5lIHNvbGFyaXNfQlNEc2V0cGdycCBzb2xhcmlzX3NldHBncnAKKyNkZWZpbmUgc29sYXJpc193YWl0c3lzIHNvbGFyaXNfd2FpdGlkCisKKy8qIHByaW50YXJncyBkb2VzIHRoZSByaWdodCB0aGluZyAqLworI2RlZmluZSBzb2xhcmlzX3N5bmMgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfcHJvZmlsIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3lpZWxkIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3BhdXNlIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3NldGhvc3RpZCBwcmludGFyZ3MKKworLyogc3ViZnVuY3Rpb24gZW50cnkgcG9pbnRzICovCisjZGVmaW5lIHNvbGFyaXNfcGdycHN5cyBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19zaWdjYWxsIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX21zZ3N5cyBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19zaG1zeXMgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfc2Vtc3lzIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3V0c3N5cyBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19zeXNmcyBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19zcGNhbGwgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfY29udGV4dCBwcmludGFyZ3MKKworLyogc2FtZSBhcyBsaW51eCAqLworI2RlZmluZSBzb2xhcmlzX2V4aXQgc3lzX2V4aXQKKyNkZWZpbmUgc29sYXJpc19mb3JrIHN5c19mb3JrCisjZGVmaW5lIHNvbGFyaXNfcmVhZCBzeXNfcmVhZAorI2RlZmluZSBzb2xhcmlzX3dyaXRlIHN5c193cml0ZQorI2RlZmluZSBzb2xhcmlzX2Nsb3NlIHN5c19jbG9zZQorI2RlZmluZSBzb2xhcmlzX2NyZWF0IHN5c19jcmVhdAorI2RlZmluZSBzb2xhcmlzX2xpbmsgc3lzX2xpbmsKKyNkZWZpbmUgc29sYXJpc191bmxpbmsgc3lzX3VubGluaworI2RlZmluZSBzb2xhcmlzX2NoZGlyIHN5c19jaGRpcgorI2RlZmluZSBzb2xhcmlzX3RpbWUgc3lzX3RpbWUKKyNkZWZpbmUgc29sYXJpc19jaG1vZCBzeXNfY2htb2QKKyNkZWZpbmUgc29sYXJpc19sc2VlayBzeXNfbHNlZWsKKyNkZWZpbmUgc29sYXJpc19zdGltZSBzeXNfc3RpbWUKKyNkZWZpbmUgc29sYXJpc19hbGFybSBzeXNfYWxhcm0KKyNkZWZpbmUgc29sYXJpc191dGltZSBzeXNfdXRpbWUKKyNkZWZpbmUgc29sYXJpc19hY2Nlc3Mgc3lzX2FjY2VzcworI2RlZmluZSBzb2xhcmlzX25pY2Ugc3lzX25pY2UKKyNkZWZpbmUgc29sYXJpc19kdXAgc3lzX2R1cAorI2RlZmluZSBzb2xhcmlzX3BpcGUgc3lzX3BpcGUKKyNkZWZpbmUgc29sYXJpc190aW1lcyBzeXNfdGltZXMKKyNkZWZpbmUgc29sYXJpc19leGVjdmUgc3lzX2V4ZWN2ZQorI2RlZmluZSBzb2xhcmlzX3VtYXNrIHN5c191bWFzaworI2RlZmluZSBzb2xhcmlzX2Nocm9vdCBzeXNfY2hyb290CisjZGVmaW5lIHNvbGFyaXNfcm1kaXIgc3lzX3JtZGlyCisjZGVmaW5lIHNvbGFyaXNfbWtkaXIgc3lzX21rZGlyCisjZGVmaW5lIHNvbGFyaXNfZ2V0ZGVudHMgc3lzX2dldGRlbnRzCisjZGVmaW5lIHNvbGFyaXNfcG9sbCBzeXNfcG9sbAorI2RlZmluZSBzb2xhcmlzX3N5bWxpbmsgc3lzX3N5bWxpbmsKKyNkZWZpbmUgc29sYXJpc19yZWFkbGluayBzeXNfcmVhZGxpbmsKKyNkZWZpbmUgc29sYXJpc19zZXRncm91cHMgc3lzX3NldGdyb3VwcworI2RlZmluZSBzb2xhcmlzX2dldGdyb3VwcyBzeXNfZ2V0Z3JvdXBzCisjZGVmaW5lIHNvbGFyaXNfZmNobW9kIHN5c19mY2htb2QKKyNkZWZpbmUgc29sYXJpc19mY2hvd24gc3lzX2ZjaG93bgorI2RlZmluZSBzb2xhcmlzX21wcm90ZWN0IHN5c19tcHJvdGVjdAorI2RlZmluZSBzb2xhcmlzX211bm1hcCBzeXNfbXVubWFwCisjZGVmaW5lIHNvbGFyaXNfcmVhZHYgc3lzX3JlYWR2CisjZGVmaW5lIHNvbGFyaXNfd3JpdGV2IHN5c193cml0ZXYKKyNkZWZpbmUgc29sYXJpc19jaG93biBzeXNfY2hvd24KKyNkZWZpbmUgc29sYXJpc19yZW5hbWUgc3lzX3JlbmFtZQorI2RlZmluZSBzb2xhcmlzX2dldHRpbWVvZmRheSBzeXNfZ2V0dGltZW9mZGF5CisjZGVmaW5lIHNvbGFyaXNfZ2V0aXRpbWVyIHN5c19nZXRpdGltZXIKKyNkZWZpbmUgc29sYXJpc19zZXRpdGltZXIgc3lzX3NldGl0aW1lcgorI2RlZmluZSBzb2xhcmlzX2JyayBzeXNfYnJrCisjZGVmaW5lIHNvbGFyaXNfbW1hcCBzeXNfbW1hcAorI2RlZmluZSBzb2xhcmlzX2dldHNpZCBzeXNfZ2V0c2lkCisjZGVmaW5lIHNvbGFyaXNfc2V0c2lkIHN5c19zZXRzaWQKKyNkZWZpbmUgc29sYXJpc19nZXRwZ2lkIHN5c19nZXRwZ2lkCisjZGVmaW5lIHNvbGFyaXNfc2V0cGdpZCBzeXNfc2V0cGdpZAorI2RlZmluZSBzb2xhcmlzX2dldHBncnAgc3lzX2dldHBncnAKKworLyogVGhlc2UgYXJlIGhhbmRsZWQgYWNjb3JkaW5nIHRvIGN1cnJlbnRfcGVyc29uYWxpdHkgKi8KKyNkZWZpbmUgc29sYXJpc194c3RhdCBzeXNfeHN0YXQKKyNkZWZpbmUgc29sYXJpc19meHN0YXQgc3lzX2Z4c3RhdAorI2RlZmluZSBzb2xhcmlzX2x4c3RhdCBzeXNfbHhzdGF0CisjZGVmaW5lIHNvbGFyaXNfeG1rbm9kIHN5c194bWtub2QKKyNkZWZpbmUgc29sYXJpc19zdGF0IHN5c19zdGF0CisjZGVmaW5lIHNvbGFyaXNfZnN0YXQgc3lzX2ZzdGF0CisjZGVmaW5lIHNvbGFyaXNfbHN0YXQgc3lzX2xzdGF0CisjZGVmaW5lIHNvbGFyaXNfcHJlYWQgc3lzX3ByZWFkCisjZGVmaW5lIHNvbGFyaXNfcHdyaXRlIHN5c19wd3JpdGUKKyNkZWZpbmUgc29sYXJpc19pb2N0bCBzeXNfaW9jdGwKKyNkZWZpbmUgc29sYXJpc19ta25vZCBzeXNfbWtub2QKKworLyogVG8gYmUgZG9uZSAqLworI2RlZmluZSBzb2xhcmlzX21vdW50IHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3N5c2luZm8gcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfc3lzY29uZmlnIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX2dldHBtc2cgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfcHV0cG1zZyBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc193YWl0IHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3dhaXRpZCBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19zaWdzdXNwZW5kIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3NldHBncnAgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfZ2V0Y29udGV4dCBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19zZXRjb250ZXh0IHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX2dldHBpZCBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19nZXR1aWQgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfa2lsbCBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19nZXRnaWQgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfZmNudGwgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfZ2V0bXNnIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3B1dG1zZyBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19zaWdwcm9jbWFzayBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19zaWdhY3Rpb24gcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfc2lncGVuZGluZyBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19taW5jb3JlIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX2ZjaGRpciBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc19zZXRybGltaXQgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfZ2V0cmxpbWl0IHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX3VuYW1lIHByaW50YXJncworI2RlZmluZSBzb2xhcmlzX2FkanRpbWUgcHJpbnRhcmdzCisjZGVmaW5lIHNvbGFyaXNfZmNocm9vdCBwcmludGFyZ3MKKyNkZWZpbmUgc29sYXJpc191dGltZXMgcHJpbnRhcmdzCisKKyNpZiBET05FCisjZGVmaW5lIHNvbGFyaXNfb3BlbiBwcmludGFyZ3MKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvc3RyYWNlLTQuNS4yMC9saW51eC9zcGFyYzY0L2Vycm5vZW50LmggYi9zdHJhY2UtNC41LjIwL2xpbnV4L3NwYXJjNjQvZXJybm9lbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMjQzNjk5Ci0tLSAvZGV2L251bGwKKysrIGIvc3RyYWNlLTQuNS4yMC9saW51eC9zcGFyYzY0L2Vycm5vZW50LmgKQEAgLTAsMCArMSwxMjcgQEAKKwkiRVJSTk9fMCIsIC8qIDAgKi8KKwkiRVBFUk0iLCAvKiAxICovCisJIkVOT0VOVCIsIC8qIDIgKi8KKwkiRVNSQ0giLCAvKiAzICovCisJIkVJTlRSIiwgLyogNCAqLworCSJFSU8iLCAvKiA1ICovCisJIkVOWElPIiwgLyogNiAqLworCSJFMkJJRyIsIC8qIDcgKi8KKwkiRU5PRVhFQyIsIC8qIDggKi8KKwkiRUJBREYiLCAvKiA5ICovCisJIkVDSElMRCIsIC8qIDEwICovCisJIkVBR0FJTiIsIC8qIDExICovCisJIkVOT01FTSIsIC8qIDEyICovCisJIkVBQ0NFUyIsIC8qIDEzICovCisJIkVGQVVMVCIsIC8qIDE0ICovCisJIkVOT1RCTEsiLCAvKiAxNSAqLworCSJFQlVTWSIsIC8qIDE2ICovCisJIkVFWElTVCIsIC8qIDE3ICovCisJIkVYREVWIiwgLyogMTggKi8KKwkiRU5PREVWIiwgLyogMTkgKi8KKwkiRU5PVERJUiIsIC8qIDIwICovCisJIkVJU0RJUiIsIC8qIDIxICovCisJIkVJTlZBTCIsIC8qIDIyICovCisJIkVORklMRSIsIC8qIDIzICovCisJIkVNRklMRSIsIC8qIDI0ICovCisJIkVOT1RUWSIsIC8qIDI1ICovCisJIkVUWFRCU1kiLCAvKiAyNiAqLworCSJFRkJJRyIsIC8qIDI3ICovCisJIkVOT1NQQyIsIC8qIDI4ICovCisJIkVTUElQRSIsIC8qIDI5ICovCisJIkVST0ZTIiwgLyogMzAgKi8KKwkiRU1MSU5LIiwgLyogMzEgKi8KKwkiRVBJUEUiLCAvKiAzMiAqLworCSJFRE9NIiwgLyogMzMgKi8KKwkiRVJBTkdFIiwgLyogMzQgKi8KKwkiRVdPVUxEQkxPQ0siLCAvKiAzNSAqLworCSJFSU5QUk9HUkVTUyIsIC8qIDM2ICovCisJIkVBTFJFQURZIiwgLyogMzcgKi8KKwkiRU5PVFNPQ0siLCAvKiAzOCAqLworCSJFREVTVEFERFJSRVEiLCAvKiAzOSAqLworCSJFTVNHU0laRSIsIC8qIDQwICovCisJIkVQUk9UT1RZUEUiLCAvKiA0MSAqLworCSJFTk9QUk9UT09QVCIsIC8qIDQyICovCisJIkVQUk9UT05PU1VQUE9SVCIsIC8qIDQzICovCisJIkVTT0NLVE5PU1VQUE9SVCIsIC8qIDQ0ICovCisJIkVPUE5PVFNVUFAiLCAvKiA0NSAqLworCSJFUEZOT1NVUFBPUlQiLCAvKiA0NiAqLworCSJFQUZOT1NVUFBPUlQiLCAvKiA0NyAqLworCSJFQUREUklOVVNFIiwgLyogNDggKi8KKwkiRUFERFJOT1RBVkFJTCIsIC8qIDQ5ICovCisJIkVORVRET1dOIiwgLyogNTAgKi8KKwkiRU5FVFVOUkVBQ0giLCAvKiA1MSAqLworCSJFTkVUUkVTRVQiLCAvKiA1MiAqLworCSJFQ09OTkFCT1JURUQiLCAvKiA1MyAqLworCSJFQ09OTlJFU0VUIiwgLyogNTQgKi8KKwkiRU5PQlVGUyIsIC8qIDU1ICovCisJIkVJU0NPTk4iLCAvKiA1NiAqLworCSJFTk9UQ09OTiIsIC8qIDU3ICovCisJIkVTSFVURE9XTiIsIC8qIDU4ICovCisJIkVUT09NQU5ZUkVGUyIsIC8qIDU5ICovCisJIkVUSU1FRE9VVCIsIC8qIDYwICovCisJIkVDT05OUkVGVVNFRCIsIC8qIDYxICovCisJIkVMT09QIiwgLyogNjIgKi8KKwkiRU5BTUVUT09MT05HIiwgLyogNjMgKi8KKwkiRUhPU1RET1dOIiwgLyogNjQgKi8KKwkiRUhPU1RVTlJFQUNIIiwgLyogNjUgKi8KKwkiRU5PVEVNUFRZIiwgLyogNjYgKi8KKwkiRVBST0NMSU0iLCAvKiA2NyAqLworCSJFVVNFUlMiLCAvKiA2OCAqLworCSJFRFFVT1QiLCAvKiA2OSAqLworCSJFU1RBTEUiLCAvKiA3MCAqLworCSJFUkVNT1RFIiwgLyogNzEgKi8KKwkiRU5PU1RSIiwgLyogNzIgKi8KKwkiRVRJTUUiLCAvKiA3MyAqLworCSJFTk9TUiIsIC8qIDc0ICovCisJIkVOT01TRyIsIC8qIDc1ICovCisJIkVCQURNU0ciLCAvKiA3NiAqLworCSJFSURSTSIsIC8qIDc3ICovCisJIkVERUFETEsiLCAvKiA3OCAqLworCSJFTk9MQ0siLCAvKiA3OSAqLworCSJFTk9ORVQiLCAvKiA4MCAqLworCSJFUlJFTU9URSIsIC8qIDgxICovCisJIkVOT0xJTksiLCAvKiA4MiAqLworCSJFQURWIiwgLyogODMgKi8KKwkiRVNSTU5UIiwgLyogODQgKi8KKwkiRUNPTU0iLCAvKiA4NSAqLworCSJFUFJPVE8iLCAvKiA4NiAqLworCSJFTVVMVElIT1AiLCAvKiA4NyAqLworCSJFRE9URE9UIiwgLyogODggKi8KKwkiRVJFTUNIRyIsIC8qIDg5ICovCisJIkVOT1NZUyIsIC8qIDkwICovCisJIkVTVFJQSVBFIiwgLyogOTEgKi8KKwkiRU9WRVJGTE9XIiwgLyogOTIgKi8KKwkiRUJBREZEIiwgLyogOTMgKi8KKwkiRUNIUk5HIiwgLyogOTQgKi8KKwkiRUwyTlNZTkMiLCAvKiA5NSAqLworCSJFTDNITFQiLCAvKiA5NiAqLworCSJFTDNSU1QiLCAvKiA5NyAqLworCSJFTE5STkciLCAvKiA5OCAqLworCSJFVU5BVENIIiwgLyogOTkgKi8KKwkiRU5PQ1NJIiwgLyogMTAwICovCisJIkVMMkhMVCIsIC8qIDEwMSAqLworCSJFQkFERSIsIC8qIDEwMiAqLworCSJFQkFEUiIsIC8qIDEwMyAqLworCSJFWEZVTEwiLCAvKiAxMDQgKi8KKwkiRU5PQU5PIiwgLyogMTA1ICovCisJIkVCQURSUUMiLCAvKiAxMDYgKi8KKwkiRUJBRFNMVCIsIC8qIDEwNyAqLworCSJFREVBRExPQ0siLCAvKiAxMDggKi8KKwkiRUJGT05UIiwgLyogMTA5ICovCisJIkVMSUJFWEVDIiwgLyogMTEwICovCisJIkVOT0RBVEEiLCAvKiAxMTEgKi8KKwkiRUxJQkJBRCIsIC8qIDExMiAqLworCSJFTk9QS0ciLCAvKiAxMTMgKi8KKwkiRUxJQkFDQyIsIC8qIDExNCAqLworCSJFTk9UVU5JUSIsIC8qIDExNSAqLworCSJFUkVTVEFSVCIsIC8qIDExNiAqLworCSJFVUNMRUFOIiwgLyogMTE3ICovCisJIkVOT1ROQU0iLCAvKiAxMTggKi8KKwkiRU5BVkFJTCIsIC8qIDExOSAqLworCSJFSVNOQU0iLCAvKiAxMjAgKi8KKwkiRVJFTU9URUlPIiwgLyogMTIxICovCisJIkVJTFNFUSIsIC8qIDEyMiAqLworCSJFTElCTUFYIiwgLyogMTIzICovCisJIkVMSUJTQ04iLCAvKiAxMjQgKi8KKwkiRU5PTUVESVVNIiwgLyogMTI1ICovCisJIkVNRURJVU1UWVBFIiwgLyogMTI2ICovCmRpZmYgLS1naXQgYS9zdHJhY2UtNC41LjIwL2xpbnV4L3NwYXJjNjQvZXJybm9lbnQxLmggYi9zdHJhY2UtNC41LjIwL2xpbnV4L3NwYXJjNjQvZXJybm9lbnQxLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGQ3NTBiZAotLS0gL2Rldi9udWxsCisrKyBiL3N0cmFjZS00LjUuMjAvbGludXgvc3BhcmM2NC9lcnJub2VudDEuaApAQCAtMCwwICsxIEBACisjaW5jbHVkZSAiLi4vc3ZyNC9lcnJub2VudC5oIgpkaWZmIC0tZ2l0IGEvc3RyYWNlLTQuNS4yMC9saW51eC9zcGFyYzY0L2Vycm5vZW50Mi5oIGIvc3RyYWNlLTQuNS4yMC9saW51eC9zcGFyYzY0L2Vycm5vZW50Mi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQyNDM2OTkKLS0tIC9kZXYvbnVsbAorKysgYi9zdHJhY2UtNC41LjIwL2xpbnV4L3NwYXJjNjQvZXJybm9lbnQyLmgKQEAgLTAsMCArMSwxMjcgQEAKKwkiRVJSTk9fMCIsIC8qIDAgKi8KKwkiRVBFUk0iLCAvKiAxICovCisJIkVOT0VOVCIsIC8qIDIgKi8KKwkiRVNSQ0giLCAvKiAzICovCisJIkVJTlRSIiwgLyogNCAqLworCSJFSU8iLCAvKiA1ICovCisJIkVOWElPIiwgLyogNiAqLworCSJFMkJJRyIsIC8qIDcgKi8KKwkiRU5PRVhFQyIsIC8qIDggKi8KKwkiRUJBREYiLCAvKiA5ICovCisJIkVDSElMRCIsIC8qIDEwICovCisJIkVBR0FJTiIsIC8qIDExICovCisJIkVOT01FTSIsIC8qIDEyICovCisJIkVBQ0NFUyIsIC8qIDEzICovCisJIkVGQVVMVCIsIC8qIDE0ICovCisJIkVOT1RCTEsiLCAvKiAxNSAqLworCSJFQlVTWSIsIC8qIDE2ICovCisJIkVFWElTVCIsIC8qIDE3ICovCisJIkVYREVWIiwgLyogMTggKi8KKwkiRU5PREVWIiwgLyogMTkgKi8KKwkiRU5PVERJUiIsIC8qIDIwICovCisJIkVJU0RJUiIsIC8qIDIxICovCisJIkVJTlZBTCIsIC8qIDIyICovCisJIkVORklMRSIsIC8qIDIzICovCisJIkVNRklMRSIsIC8qIDI0ICovCisJIkVOT1RUWSIsIC8qIDI1ICovCisJIkVUWFRCU1kiLCAvKiAyNiAqLworCSJFRkJJRyIsIC8qIDI3ICovCisJIkVOT1NQQyIsIC8qIDI4ICovCisJIkVTUElQRSIsIC8qIDI5ICovCisJIkVST0ZTIiwgLyogMzAgKi8KKwkiRU1MSU5LIiwgLyogMzEgKi8KKwkiRVBJUEUiLCAvKiAzMiAqLworCSJFRE9NIiwgLyogMzMgKi8KKwkiRVJBTkdFIiwgLyogMzQgKi8KKwkiRVdPVUxEQkxPQ0siLCAvKiAzNSAqLworCSJFSU5QUk9HUkVTUyIsIC8qIDM2ICovCisJIkVBTFJFQURZIiwgLyogMzcgKi8KKwkiRU5PVFNPQ0siLCAvKiAzOCAqLworCSJFREVTVEFERFJSRVEiLCAvKiAzOSAqLworCSJFTVNHU0laRSIsIC8qIDQwICovCisJIkVQUk9UT1RZUEUiLCAvKiA0MSAqLworCSJFTk9QUk9UT09QVCIsIC8qIDQyICovCisJIkVQUk9UT05PU1VQUE9SVCIsIC8qIDQzICovCisJIkVTT0NLVE5PU1VQUE9SVCIsIC8qIDQ0ICovCisJIkVPUE5PVFNVUFAiLCAvKiA0NSAqLworCSJFUEZOT1NVUFBPUlQiLCAvKiA0NiAqLworCSJFQUZOT1NVUFBPUlQiLCAvKiA0NyAqLworCSJFQUREUklOVVNFIiwgLyogNDggKi8KKwkiRUFERFJOT1RBVkFJTCIsIC8qIDQ5ICovCisJIkVORVRET1dOIiwgLyogNTAgKi8KKwkiRU5FVFVOUkVBQ0giLCAvKiA1MSAqLworCSJFTkVUUkVTRVQiLCAvKiA1MiAqLworCSJFQ09OTkFCT1JURUQiLCAvKiA1MyAqLworCSJFQ09OTlJFU0VUIiwgLyogNTQgKi8KKwkiRU5PQlVGUyIsIC8qIDU1ICovCisJIkVJU0NPTk4iLCAvKiA1NiAqLworCSJFTk9UQ09OTiIsIC8qIDU3ICovCisJIkVTSFVURE9XTiIsIC8qIDU4ICovCisJIkVUT09NQU5ZUkVGUyIsIC8qIDU5ICovCisJIkVUSU1FRE9VVCIsIC8qIDYwICovCisJIkVDT05OUkVGVVNFRCIsIC8qIDYxICovCisJIkVMT09QIiwgLyogNjIgKi8KKwkiRU5BTUVUT09MT05HIiwgLyogNjMgKi8KKwkiRUhPU1RET1dOIiwgLyogNjQgKi8KKwkiRUhPU1RVTlJFQUNIIiwgLyogNjUgKi8KKwkiRU5PVEVNUFRZIiwgLyogNjYgKi8KKwkiRVBST0NMSU0iLCAvKiA2NyAqLworCSJFVVNFUlMiLCAvKiA2OCAqLworCSJFRFFVT1QiLCAvKiA2OSAqLworCSJFU1RBTEUiLCAvKiA3MCAqLworCSJFUkVNT1RFIiwgLyogNzEgKi8KKwkiRU5PU1RSIiwgLyogNzIgKi8KKwkiRVRJTUUiLCAvKiA3MyAqLworCSJFTk9TUiIsIC8qIDc0ICovCisJIkVOT01TRyIsIC8qIDc1ICovCisJIkVCQURNU0ciLCAvKiA3NiAqLworCSJFSURSTSIsIC8qIDc3ICovCisJIkVERUFETEsiLCAvKiA3OCAqLworCSJFTk9MQ0siLCAvKiA3OSAqLworCSJFTk9ORVQiLCAvKiA4MCAqLworCSJFUlJFTU9URSIsIC8qIDgxICovCisJIkVOT0xJTksiLCAvKiA4MiAqLworCSJFQURWIiwgLyogODMgKi8KKwkiRVNSTU5UIiwgLyogODQgKi8KKwkiRUNPTU0iLCAvKiA4NSAqLworCSJFUFJPVE8iLCAvKiA4NiAqLworCSJFTVVMVElIT1AiLCAvKiA4NyAqLworCSJFRE9URE9UIiwgLyogODggKi8KKwkiRVJFTUNIRyIsIC8qIDg5ICovCisJIkVOT1NZUyIsIC8qIDkwICovCisJIkVTVFJQSVBFIiwgLyogOTEgKi8KKwkiRU9WRVJGTE9XIiwgLyogOTIgKi8KKwkiRUJBREZEIiwgLyogOTMgKi8KKwkiRUNIUk5HIiwgLyogOTQgKi8KKwkiRUwyTlNZTkMiLCAvKiA5NSAqLworCSJFTDNITFQiLCAvKiA5NiAqLworCSJFTDNSU1QiLCAvKiA5NyAqLworCSJFTE5STkciLCAvKiA5OCAqLworCSJFVU5BVENIIiwgLyogOTkgKi8KKwkiRU5PQ1NJIiwgLyogMTAwICovCisJIkVMMkhMVCIsIC8qIDEwMSAqLworCSJFQkFERSIsIC8qIDEwMiAqLworCSJFQkFEUiIsIC8qIDEwMyAqLworCSJFWEZVTEwiLCAvKiAxMDQgKi8KKwkiRU5PQU5PIiwgLyogMTA1ICovCisJIkVCQURSUUMiLCAvKiAxMDYgKi8KKwkiRUJBRFNMVCIsIC8qIDEwNyAqLworCSJFREVBRExPQ0siLCAvKiAxMDggKi8KKwkiRUJGT05UIiwgLyogMTA5ICovCisJIkVMSUJFWEVDIiwgLyogMTEwICovCisJIkVOT0RBVEEiLCAvKiAxMTEgKi8KKwkiRUxJQkJBRCIsIC8qIDExMiAqLworCSJFTk9QS0ciLCAvKiAxMTMgKi8KKwkiRUxJQkFDQyIsIC8qIDExNCAqLworCSJFTk9UVU5JUSIsIC8qIDExNSAqLworCSJFUkVTVEFSVCIsIC8qIDExNiAqLworCSJFVUNMRUFOIiwgLyogMTE3ICovCisJIkVOT1ROQU0iLCAvKiAxMTggKi8KKwkiRU5BVkFJTCIsIC8qIDExOSAqLworCSJFSVNOQU0iLCAvKiAxMjAgKi8KKwkiRVJFTU9URUlPIiwgLyogMTIxICovCisJIkVJTFNFUSIsIC8qIDEyMiAqLworCSJFTElCTUFYIiwgLyogMTIzICovCisJIkVMSUJTQ04iLCAvKiAxMjQgKi8KKwkiRU5PTUVESVVNIiwgLyogMTI1ICovCisJIkVNRURJVU1UWVBFIiwgLyogMTI2ICovCmRpZmYgLS1naXQgYS9zdHJhY2UtNC41LjIwL2xpbnV4L3NwYXJjNjQvaW9jdGxlbnQuaCBiL3N0cmFjZS00LjUuMjAvbGludXgvc3BhcmM2NC9pb2N0bGVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMxZDZiOGEKLS0tIC9kZXYvbnVsbAorKysgYi9zdHJhY2UtNC41LjIwL2xpbnV4L3NwYXJjNjQvaW9jdGxlbnQuaApAQCAtMCwwICsxLDgzOCBAQAorCXsibGludXgvZnMuaCIsCSJGSUJNQVAiLAkweDF9LAorCXsibGludXgvZnMuaCIsCSJGSUdFVEJTWiIsCTB4Mn0sCisJeyJsaW51eC9mZC5oIiwJIkZER0VUUFJNIiwJMHgyMDR9LAorCXsibGludXgvZmQuaCIsCSJGREdFVE1BWEVSUlMiLAkweDIwZX0sCisJeyJsaW51eC9mZC5oIiwJIkZER0VURFJWVFlQIiwJMHgyMGZ9LAorCXsibGludXgvZmQuaCIsCSJGREdFVERSVlBSTSIsCTB4MjExfSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRHRVREUlZTVEFUIiwJMHgyMTJ9LAorCXsibGludXgvZmQuaCIsCSJGRFBPTExEUlZTVEFUIiwJMHgyMTN9LAorCXsibGludXgvZmQuaCIsCSJGREdFVEZEQ1NUQVQiLAkweDIxNX0sCisJeyJsaW51eC9mZC5oIiwJIkZEV0VSUk9SR0VUIiwJMHgyMTd9LAorCXsibGludXgvZmQuaCIsCSJGRENMUlBSTSIsCTB4MjQxfSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRTRVRQUk0iLAkweDI0Mn0sCisJeyJsaW51eC9mZC5oIiwJIkZEREVGUFJNIiwJMHgyNDN9LAorCXsibGludXgvZmQuaCIsCSJGRE1TR09OIiwJMHgyNDV9LAorCXsibGludXgvZmQuaCIsCSJGRE1TR09GRiIsCTB4MjQ2fSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRGTVRCRUciLAkweDI0N30sCisJeyJsaW51eC9mZC5oIiwJIkZERk1UVFJLIiwJMHgyNDh9LAorCXsibGludXgvZmQuaCIsCSJGREZNVEVORCIsCTB4MjQ5fSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRTRVRFTVNHVFJFU0giLAkweDI0YX0sCisJeyJsaW51eC9mZC5oIiwJIkZERkxVU0giLAkweDI0Yn0sCisJeyJsaW51eC9mZC5oIiwJIkZEU0VUTUFYRVJSUyIsCTB4MjRjfSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRSRVNFVCIsCTB4MjU0fSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRXRVJST1JDTFIiLAkweDI1Nn0sCisJeyJsaW51eC9mZC5oIiwJIkZEUkFXQ01EIiwJMHgyNTh9LAorCXsibGludXgvZmQuaCIsCSJGRFRXQURETEUiLAkweDI1OX0sCisJeyJsaW51eC9mZC5oIiwJIkZERUpFQ1QiLAkweDI1YX0sCisJeyJsaW51eC9mZC5oIiwJIkZEU0VURFJWUFJNIiwJMHgyOTB9LAorCXsibGludXgvdW1zZG9zX2ZzLmgiLAkiVU1TRE9TX1JFQURESVJfRE9TIiwJMHg0ZDJ9LAorCXsibGludXgvdW1zZG9zX2ZzLmgiLAkiVU1TRE9TX1VOTElOS19ET1MiLAkweDRkM30sCisJeyJsaW51eC91bXNkb3NfZnMuaCIsCSJVTVNET1NfUk1ESVJfRE9TIiwJMHg0ZDR9LAorCXsibGludXgvdW1zZG9zX2ZzLmgiLAkiVU1TRE9TX1NUQVRfRE9TIiwJMHg0ZDV9LAorCXsibGludXgvdW1zZG9zX2ZzLmgiLAkiVU1TRE9TX0NSRUFUX0VNRCIsCTB4NGQ2fSwKKwl7ImxpbnV4L3Vtc2Rvc19mcy5oIiwJIlVNU0RPU19VTkxJTktfRU1EIiwJMHg0ZDd9LAorCXsibGludXgvdW1zZG9zX2ZzLmgiLAkiVU1TRE9TX1JFQURESVJfRU1EIiwJMHg0ZDh9LAorCXsibGludXgvdW1zZG9zX2ZzLmgiLAkiVU1TRE9TX0dFVFZFUlNJT04iLAkweDRkOX0sCisJeyJsaW51eC91bXNkb3NfZnMuaCIsCSJVTVNET1NfSU5JVF9FTUQiLAkweDRkYX0sCisJeyJsaW51eC91bXNkb3NfZnMuaCIsCSJVTVNET1NfRE9TX1NFVFVQIiwJMHg0ZGJ9LAorCXsibGludXgvdW1zZG9zX2ZzLmgiLAkiVU1TRE9TX1JFTkFNRV9ET1MiLAkweDRkY30sCisJeyJsaW51eC9mcy5oIiwJIkJMS1JPU0VUIiwJMHgxMjVkfSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLUk9HRVQiLAkweDEyNWV9LAorCXsibGludXgvZnMuaCIsCSJCTEtSUlBBUlQiLAkweDEyNWZ9LAorCXsibGludXgvZnMuaCIsCSJCTEtHRVRTSVpFIiwJMHgxMjYwfSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLRkxTQlVGIiwJMHgxMjYxfSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLUkFTRVQiLAkweDEyNjJ9LAorCXsibGludXgvZnMuaCIsCSJCTEtSQUdFVCIsCTB4MTI2M30sCisJeyJsaW51eC9mcy5oIiwJIkJMS0ZSQVNFVCIsCTB4MTI2NH0sCisJeyJsaW51eC9mcy5oIiwJIkJMS0ZSQUdFVCIsCTB4MTI2NX0sCisJeyJsaW51eC9mcy5oIiwJIkJMS1NFQ1RTRVQiLAkweDEyNjZ9LAorCXsibGludXgvZnMuaCIsCSJCTEtTRUNUR0VUIiwJMHgxMjY3fSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLU1NaR0VUIiwJMHgxMjY4fSwKKwl7ImxpbnV4L2Jsa3BnLmgiLAkiQkxLUEciLAkweDEyNjl9LAorCXsibGludXgvZnMuaCIsCSJCTEtQRyIsCTB4MTI2OX0sCisJeyJsaW51eC9lbGV2YXRvci5oIiwJIkJMS0VMVkdFVCIsCTB4MTI2YX0sCisJeyJsaW51eC9mcy5oIiwJIkJMS0VMVkdFVCIsCTB4MTI2YX0sCisJeyJsaW51eC9lbGV2YXRvci5oIiwJIkJMS0VMVlNFVCIsCTB4MTI2Yn0sCisJeyJsaW51eC9mcy5oIiwJIkJMS0VMVlNFVCIsCTB4MTI2Yn0sCisJeyJsaW51eC9mcy5oIiwJIkJMS0JTWkdFVCIsCTB4MTI3MH0sCisJeyJsaW51eC9mcy5oIiwJIkJMS0JTWlNFVCIsCTB4MTI3MX0sCisJeyJsaW51eC9mcy5oIiwJIkJMS0dFVFNJWkU2NCIsCTB4MTI3Mn0sCisJeyJsaW51eC9hZ3BnYXJ0LmgiLAkiQUdQSU9DX0lORk8iLAkweDQxMDB9LAorCXsibGludXgvYWdwZ2FydC5oIiwJIkFHUElPQ19BQ1FVSVJFIiwJMHg0MTAxfSwKKwl7ImxpbnV4L2FwbV9iaW9zLmgiLAkiQVBNX0lPQ19TVEFOREJZIiwJMHg0MTAxfSwKKwl7ImxpbnV4L2FncGdhcnQuaCIsCSJBR1BJT0NfUkVMRUFTRSIsCTB4NDEwMn0sCisJeyJsaW51eC9hcG1fYmlvcy5oIiwJIkFQTV9JT0NfU1VTUEVORCIsCTB4NDEwMn0sCisJeyJsaW51eC9hZ3BnYXJ0LmgiLAkiQUdQSU9DX1NFVFVQIiwJMHg0MTAzfSwKKwl7ImxpbnV4L2FncGdhcnQuaCIsCSJBR1BJT0NfUkVTRVJWRSIsCTB4NDEwNH0sCisJeyJsaW51eC9hZ3BnYXJ0LmgiLAkiQUdQSU9DX1BST1RFQ1QiLAkweDQxMDV9LAorCXsibGludXgvYWdwZ2FydC5oIiwJIkFHUElPQ19BTExPQ0FURSIsCTB4NDEwNn0sCisJeyJsaW51eC9hZ3BnYXJ0LmgiLAkiQUdQSU9DX0RFQUxMT0NBVEUiLAkweDQxMDd9LAorCXsibGludXgvYWdwZ2FydC5oIiwJIkFHUElPQ19CSU5EIiwJMHg0MTA4fSwKKwl7ImxpbnV4L2FncGdhcnQuaCIsCSJBR1BJT0NfVU5CSU5EIiwJMHg0MTA5fSwKKwl7ImxpbnV4L3BtdS5oIiwJIlBNVV9JT0NfU0xFRVAiLAkweDQyMDB9LAorCXsibGludXgvY2Npc3NfaW9jdGwuaCIsCSJDQ0lTU19HRVRQQ0lJTkZPIiwJMHg0MjAxfSwKKwl7ImxpbnV4L3BtdS5oIiwJIlBNVV9JT0NfR0VUX0JBQ0tMSUdIVCIsCTB4NDIwMX0sCisJeyJsaW51eC9jY2lzc19pb2N0bC5oIiwJIkNDSVNTX0dFVElOVElORk8iLAkweDQyMDJ9LAorCXsibGludXgvcG11LmgiLAkiUE1VX0lPQ19TRVRfQkFDS0xJR0hUIiwJMHg0MjAyfSwKKwl7ImxpbnV4L2NjaXNzX2lvY3RsLmgiLAkiQ0NJU1NfU0VUSU5USU5GTyIsCTB4NDIwM30sCisJeyJsaW51eC9wbXUuaCIsCSJQTVVfSU9DX0dFVF9NT0RFTCIsCTB4NDIwM30sCisJeyJsaW51eC9jY2lzc19pb2N0bC5oIiwJIkNDSVNTX0dFVE5PREVOQU1FIiwJMHg0MjA0fSwKKwl7ImxpbnV4L3BtdS5oIiwJIlBNVV9JT0NfSEFTX0FEQiIsCTB4NDIwNH0sCisJeyJsaW51eC9jY2lzc19pb2N0bC5oIiwJIkNDSVNTX1NFVE5PREVOQU1FIiwJMHg0MjA1fSwKKwl7ImxpbnV4L3BtdS5oIiwJIlBNVV9JT0NfQ0FOX1NMRUVQIiwJMHg0MjA1fSwKKwl7ImxpbnV4L2NjaXNzX2lvY3RsLmgiLAkiQ0NJU1NfR0VUSEVBUlRCRUFUIiwJMHg0MjA2fSwKKwl7ImxpbnV4L2NjaXNzX2lvY3RsLmgiLAkiQ0NJU1NfR0VUQlVTVFlQRVMiLAkweDQyMDd9LAorCXsibGludXgvY2Npc3NfaW9jdGwuaCIsCSJDQ0lTU19HRVRGSVJNVkVSIiwJMHg0MjA4fSwKKwl7ImxpbnV4L2NjaXNzX2lvY3RsLmgiLAkiQ0NJU1NfR0VURFJJVlZFUiIsCTB4NDIwOX0sCisJeyJsaW51eC9jY2lzc19pb2N0bC5oIiwJIkNDSVNTX1JFVkFMSURWT0xTIiwJMHg0MjBhfSwKKwl7ImxpbnV4L2NjaXNzX2lvY3RsLmgiLAkiQ0NJU1NfUEFTU1RIUlUiLAkweDQyMGJ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0NPUFJfUkVTRVQiLAkweDQzMDB9LAorCXsibGludXgvY2FwaS5oIiwJIkNBUElfUkVHSVNURVIiLAkweDQzMDF9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0NPUFJfTE9BRCIsCTB4NDMwMX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfQ09QUl9SREFUQSIsCTB4NDMwMn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfQ09QUl9SQ09ERSIsCTB4NDMwM30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfQ09QUl9XREFUQSIsCTB4NDMwNH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfQ09QUl9XQ09ERSIsCTB4NDMwNX0sCisJeyJsaW51eC9jYXBpLmgiLAkiQ0FQSV9HRVRfTUFOVUZBQ1RVUkVSIiwJMHg0MzA2fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9DT1BSX1JVTiIsCTB4NDMwNn0sCisJeyJsaW51eC9jYXBpLmgiLAkiQ0FQSV9HRVRfVkVSU0lPTiIsCTB4NDMwN30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfQ09QUl9IQUxUIiwJMHg0MzA3fSwKKwl7ImxpbnV4L2NhcGkuaCIsCSJDQVBJX0dFVF9TRVJJQUwiLAkweDQzMDh9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0NPUFJfU0VORE1TRyIsCTB4NDMwOH0sCisJeyJsaW51eC9jYXBpLmgiLAkiQ0FQSV9HRVRfUFJPRklMRSIsCTB4NDMwOX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfQ09QUl9SQ1ZNU0ciLAkweDQzMDl9LAorCXsibGludXgvY2FwaS5oIiwJIkNBUElfTUFOVUZBQ1RVUkVSX0NNRCIsCTB4NDMyMH0sCisJeyJsaW51eC9jYXBpLmgiLAkiQ0FQSV9HRVRfRVJSQ09ERSIsCTB4NDMyMX0sCisJeyJsaW51eC9jYXBpLmgiLAkiQ0FQSV9JTlNUQUxMRUQiLAkweDQzMjJ9LAorCXsibGludXgvY2FwaS5oIiwJIkNBUElfR0VUX0ZMQUdTIiwJMHg0MzIzfSwKKwl7ImxpbnV4L2NhcGkuaCIsCSJDQVBJX1NFVF9GTEFHUyIsCTB4NDMyNH0sCisJeyJsaW51eC9jYXBpLmgiLAkiQ0FQSV9DTFJfRkxBR1MiLAkweDQzMjV9LAorCXsibGludXgvY2FwaS5oIiwJIkNBUElfTkNDSV9PUEVOQ09VTlQiLAkweDQzMjZ9LAorCXsibGludXgvY2FwaS5oIiwJIkNBUElfTkNDSV9HRVRVTklUIiwJMHg0MzI3fSwKKwl7ImxpbnV4L2lucHV0LmgiLAkiRVZJT0NHVkVSU0lPTiIsCTB4NDUwMX0sCisJeyJsaW51eC9pbnB1dC5oIiwJIkVWSU9DR0lEIiwJMHg0NTAyfSwKKwl7ImxpbnV4L2lucHV0LmgiLAkiRVZJT0NHUkVQIiwJMHg0NTAzfSwKKwl7ImxpbnV4L2lucHV0LmgiLAkiRVZJT0NTUkVQIiwJMHg0NTAzfSwKKwl7ImxpbnV4L2lucHV0LmgiLAkiRVZJT0NHS0VZQ09ERSIsCTB4NDUwNH0sCisJeyJsaW51eC9pbnB1dC5oIiwJIkVWSU9DU0tFWUNPREUiLAkweDQ1MDR9LAorCXsibGludXgvaW5wdXQuaCIsCSJFVklPQ0dLRVkiLAkweDQ1MDV9LAorCXsibGludXgvaW5wdXQuaCIsCSJFVklPQ0dCVVMiLAkweDQ1MDd9LAorCXsibGludXgvaW5wdXQuaCIsCSJFVklPQ1JNRkYiLAkweDQ1ODF9LAorCXsibGludXgvaW5wdXQuaCIsCSJFVklPQ1NHQUlOIiwJMHg0NTgyfSwKKwl7ImxpbnV4L2lucHV0LmgiLAkiRVZJT0NTQVVUT0NFTlRFUiIsCTB4NDU4M30sCisJeyJsaW51eC9pbnB1dC5oIiwJIkVWSU9DR0VGRkVDVFMiLAkweDQ1ODR9LAorCXsibGludXgvZmIuaCIsCSJGQklPR0VUX1ZCTEFOSyIsCTB4NDYxMn0sCisJeyJsaW51eC9oaWRkZXYuaCIsCSJISURJT0NHVkVSU0lPTiIsCTB4NDgwMX0sCisJeyJsaW51eC9oaWRkZXYuaCIsCSJISURJT0NBUFBMSUNBVElPTiIsCTB4NDgwMn0sCisJeyJsaW51eC9oaWRkZXYuaCIsCSJISURJT0NHREVWSU5GTyIsCTB4NDgwM30sCisJeyJsaW51eC9oaWRkZXYuaCIsCSJISURJT0NHU1RSSU5HIiwJMHg0ODA0fSwKKwl7ImxpbnV4L2hpZGRldi5oIiwJIkhJRElPQ0lOSVRSRVBPUlQiLAkweDQ4MDV9LAorCXsibGludXgvaGlkZGV2LmgiLAkiSElESU9DR1JFUE9SVCIsCTB4NDgwN30sCisJeyJsaW51eC9oaWRkZXYuaCIsCSJISURJT0NTUkVQT1JUIiwJMHg0ODA4fSwKKwl7ImxpbnV4L2hpZGRldi5oIiwJIkhJRElPQ0dSRVBPUlRJTkZPIiwJMHg0ODA5fSwKKwl7ImxpbnV4L2hpZGRldi5oIiwJIkhJRElPQ0dGSUVMRElORk8iLAkweDQ4MGF9LAorCXsibGludXgvaGlkZGV2LmgiLAkiSElESU9DR1VTQUdFIiwJMHg0ODBifSwKKwl7ImxpbnV4L2hpZGRldi5oIiwJIkhJRElPQ1NVU0FHRSIsCTB4NDgwY30sCisJeyJsaW51eC9oaWRkZXYuaCIsCSJISURJT0NHVUNPREUiLAkweDQ4MGR9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRBSUYiLAkweDQ5MDF9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRESUYiLAkweDQ5MDJ9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRTQ0YiLAkweDQ5MDN9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRHQ0YiLAkweDQ5MDR9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRBTk0iLAkweDQ5MDV9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRETk0iLAkweDQ5MDZ9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRHTk0iLAkweDQ5MDd9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NHRVRTRVQiLAkweDQ5MDh9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NTRVRTRVQiLAkweDQ5MDl9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NTRVRWRVIiLAkweDQ5MGF9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRIVVAiLAkweDQ5MGJ9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NTRVRHU1QiLAkweDQ5MGN9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NTRVRCUkoiLAkweDQ5MGR9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NTSUdQUkYiLAkweDQ5MGV9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NHRVRQUkYiLAkweDQ5MGZ9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NTRVRQUkYiLAkweDQ5MTB9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NHRVRNQVAiLAkweDQ5MTF9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NTRVRNQVAiLAkweDQ5MTJ9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRBU0wiLAkweDQ5MTN9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRESUwiLAkweDQ5MTR9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NHRVRDUFMiLAkweDQ5MTV9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NHRVREVlIiLAkweDQ5MTZ9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRMQ1IiLAkweDQ5MTd9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVREV1JTRVQiLAkweDQ5MTh9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRBTE4iLAkweDQ5MjB9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRETE4iLAkweDQ5MjF9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRHUE4iLAkweDQ5MjJ9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NEQkdWQVIiLAkweDQ5N2Z9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NEUlZDVEwiLAkweDQ5ODB9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfTUlYRVJfSU5GTyIsCTB4NGQ2NX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9PTERfTUlYRVJfSU5GTyIsCTB4NGQ2NX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9NSVhFUl9BQ0NFU1MiLAkweDRkNjZ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfTUlYRVJfQUdDIiwJMHg0ZDY3fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNPVU5EX01JWEVSXzNEU0UiLAkweDRkNjh9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfTUlYRVJfUFJJVkFURTEiLAkweDRkNmZ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfTUlYRVJfUFJJVkFURTIiLAkweDRkNzB9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfTUlYRVJfUFJJVkFURTMiLAkweDRkNzF9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfTUlYRVJfUFJJVkFURTQiLAkweDRkNzJ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfTUlYRVJfUFJJVkFURTUiLAkweDRkNzN9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfTUlYRVJfR0VUTEVWRUxTIiwJMHg0ZDc0fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNPVU5EX01JWEVSX1NFVExFVkVMUyIsCTB4NGQ3NX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJPU1NfR0VUVkVSU0lPTiIsCTB4NGQ3Nn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX1JFU0VUIiwJMHg1MDAwfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfU1lOQyIsCTB4NTAwMX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX1NQRUVEIiwJMHg1MDAyfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNPVU5EX1BDTV9SRUFEX1JBVEUiLAkweDUwMDJ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9TVEVSRU8iLAkweDUwMDN9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9HRVRCTEtTSVpFIiwJMHg1MDA0fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfU0VURk1UIiwJMHg1MDA1fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNPVU5EX1BDTV9SRUFEX0JJVFMiLAkweDUwMDV9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9DSEFOTkVMUyIsCTB4NTAwNn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9QQ01fUkVBRF9DSEFOTkVMUyIsCTB4NTAwNn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9QQ01fV1JJVEVfRklMVEVSIiwJMHg1MDA3fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNPVU5EX1BDTV9SRUFEX0ZJTFRFUiIsCTB4NTAwN30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX1BPU1QiLAkweDUwMDh9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9TVUJESVZJREUiLAkweDUwMDl9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9TRVRGUkFHTUVOVCIsCTB4NTAwYX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX0dFVEZNVFMiLAkweDUwMGJ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9HRVRPU1BBQ0UiLAkweDUwMGN9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9HRVRJU1BBQ0UiLAkweDUwMGR9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9OT05CTE9DSyIsCTB4NTAwZX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX0dFVENBUFMiLAkweDUwMGZ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9HRVRUUklHR0VSIiwJMHg1MDEwfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfU0VUVFJJR0dFUiIsCTB4NTAxMH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX0dFVElQVFIiLAkweDUwMTF9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9HRVRPUFRSIiwJMHg1MDEyfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfTUFQSU5CVUYiLAkweDUwMTN9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9NQVBPVVRCVUYiLAkweDUwMTR9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9TRVRTWU5DUk8iLAkweDUwMTV9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9TRVREVVBMRVgiLAkweDUwMTZ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9HRVRPREVMQVkiLAkweDUwMTd9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9QUk9GSUxFIiwJMHg1MDE3fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfR0VUQ0hBTk5FTE1BU0siLAkweDUwNDB9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9CSU5EX0NIQU5ORUwiLAkweDUwNDF9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9TRVRTUERJRiIsCTB4NTA0Mn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX0dFVFNQRElGIiwJMHg1MDQzfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TRVFfUkVTRVQiLAkweDUxMDB9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NFUV9TWU5DIiwJMHg1MTAxfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TWU5USF9JTkZPIiwJMHg1MTAyfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TRVFfQ1RSTFJBVEUiLAkweDUxMDN9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NFUV9HRVRPVVRDT1VOVCIsCTB4NTEwNH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU0VRX0dFVElOQ09VTlQiLAkweDUxMDV9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NFUV9QRVJDTU9ERSIsCTB4NTEwNn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRk1fTE9BRF9JTlNUUiIsCTB4NTEwN30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU0VRX1RFU1RNSURJIiwJMHg1MTA4fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TRVFfUkVTRVRTQU1QTEVTIiwJMHg1MTA5fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TRVFfTlJTWU5USFMiLAkweDUxMGF9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NFUV9OUk1JRElTIiwJMHg1MTBifSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9NSURJX0lORk8iLAkweDUxMGN9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NFUV9USFJFU0hPTEQiLAkweDUxMGR9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NZTlRIX01FTUFWTCIsCTB4NTEwZX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRk1fNE9QX0VOQUJMRSIsCTB4NTEwZn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU0VRX1BBTklDIiwJMHg1MTExfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TRVFfT1VUT0ZCQU5EIiwJMHg1MTEyfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TRVFfR0VUVElNRSIsCTB4NTExM30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU1lOVEhfSUQiLAkweDUxMTR9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NZTlRIX0NPTlRST0wiLAkweDUxMTV9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NZTlRIX1JFTU9WRVNBTVBMRSIsCTB4NTExNn0sCisJeyJsaW51eC9yYW5kb20uaCIsCSJSTkRHRVRFTlRDTlQiLAkweDUyMDB9LAorCXsibGludXgvcmFuZG9tLmgiLAkiUk5EQUREVE9FTlRDTlQiLAkweDUyMDF9LAorCXsibGludXgvcmFuZG9tLmgiLAkiUk5ER0VUUE9PTCIsCTB4NTIwMn0sCisJeyJsaW51eC9yYW5kb20uaCIsCSJSTkRBRERFTlRST1BZIiwJMHg1MjAzfSwKKwl7ImxpbnV4L3JhbmRvbS5oIiwJIlJORFpBUEVOVENOVCIsCTB4NTIwNH0sCisJeyJsaW51eC9yYW5kb20uaCIsCSJSTkRDTEVBUlBPT0wiLAkweDUyMDZ9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRDR0VUUyIsCTB4NTQwMX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfVE1SX1RJTUVCQVNFIiwJMHg1NDAxfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUQ1NFVFMiLAkweDU0MDJ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1RNUl9TVEFSVCIsCTB4NTQwMn0sCisJeyJhc20vaW9jdGxzLmgiLAkiVENTRVRTVyIsCTB4NTQwM30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfVE1SX1NUT1AiLAkweDU0MDN9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRDU0VUU0YiLAkweDU0MDR9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1RNUl9DT05USU5VRSIsCTB4NTQwNH0sCisJeyJhc20vaW9jdGxzLmgiLAkiVENHRVRBIiwJMHg1NDA1fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9UTVJfVEVNUE8iLAkweDU0MDV9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRDU0VUQSIsCTB4NTQwNn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfVE1SX1NPVVJDRSIsCTB4NTQwNn0sCisJeyJhc20vaW9jdGxzLmgiLAkiVENTRVRBVyIsCTB4NTQwN30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfVE1SX01FVFJPTk9NRSIsCTB4NTQwN30sCisJeyJhc20vaW9jdGxzLmgiLAkiVENTRVRBRiIsCTB4NTQwOH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfVE1SX1NFTEVDVCIsCTB4NTQwOH0sCisJeyJhc20vaW9jdGxzLmgiLAkiVENTQlJLIiwJMHg1NDA5fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUQ1hPTkMiLAkweDU0MGF9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRDRkxTSCIsCTB4NTQwYn0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ0VYQ0wiLAkweDU0MGN9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NOWENMIiwJMHg1NDBkfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DU0NUVFkiLAkweDU0MGV9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NHUEdSUCIsCTB4NTQwZn0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NQR1JQIiwJMHg1NDEwfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DT1VUUSIsCTB4NTQxMX0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NUSSIsCTB4NTQxMn0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ0dXSU5TWiIsCTB4NTQxM30sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NXSU5TWiIsCTB4NTQxNH0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ01HRVQiLAkweDU0MTV9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NNQklTIiwJMHg1NDE2fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DTUJJQyIsCTB4NTQxN30sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ01TRVQiLAkweDU0MTh9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NHU09GVENBUiIsCTB4NTQxOX0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NTT0ZUQ0FSIiwJMHg1NDFhfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJGSU9OUkVBRCIsCTB4NTQxYn0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ0xJTlVYIiwJMHg1NDFjfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DQ09OUyIsCTB4NTQxZH0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ0dTRVJJQUwiLAkweDU0MWV9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NTU0VSSUFMIiwJMHg1NDFmfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DUEtUIiwJMHg1NDIwfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJGSU9OQklPIiwJMHg1NDIxfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DTk9UVFkiLAkweDU0MjJ9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NTRVREIiwJMHg1NDIzfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DR0VURCIsCTB4NTQyNH0sCisJeyJhc20vaW9jdGxzLmgiLAkiVENTQlJLUCIsCTB4NTQyNX0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1RUWUdTVFJVQ1QiLAkweDU0MjZ9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NTQlJLIiwJMHg1NDI3fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DQ0JSSyIsCTB4NTQyOH0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ0dTSUQiLAkweDU0Mjl9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NHUFROIiwJMHg1NDMwfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DU1BUTENLIiwJMHg1NDMxfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJGSU9OQ0xFWCIsCTB4NTQ1MH0sCisJeyJhc20vaW9jdGxzLmgiLAkiRklPQ0xFWCIsCTB4NTQ1MX0sCisJeyJhc20vaW9jdGxzLmgiLAkiRklPQVNZTkMiLAkweDU0NTJ9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NTRVJDT05GSUciLAkweDU0NTN9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NTRVJHV0lMRCIsCTB4NTQ1NH0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NFUlNXSUxEIiwJMHg1NDU1fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DR0xDS1RSTUlPUyIsCTB4NTQ1Nn0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NMQ0tUUk1JT1MiLAkweDU0NTd9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NTRVJHU1RSVUNUIiwJMHg1NDU4fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DU0VSR0VUTFNSIiwJMHg1NDU5fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DU0VSR0VUTVVMVEkiLAkweDU0NWF9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NTRVJTRVRNVUxUSSIsCTB4NTQ1Yn0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ01JV0FJVCIsCTB4NTQ1Y30sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ0dJQ09VTlQiLAkweDU0NWR9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NHSEFZRVNFU1AiLAkweDU0NWV9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NTSEFZRVNFU1AiLAkweDU0NWZ9LAorCXsibGludXgvaWZfdHVuLmgiLAkiVFVOU0VUTk9DU1VNIiwJMHg1NGM4fSwKKwl7ImxpbnV4L2lmX3R1bi5oIiwJIlRVTlNFVERFQlVHIiwJMHg1NGM5fSwKKwl7ImxpbnV4L2lmX3R1bi5oIiwJIlRVTlNFVElGRiIsCTB4NTRjYX0sCisJeyJsaW51eC9pZl90dW4uaCIsCSJUVU5TRVRQRVJTSVNUIiwJMHg1NGNifSwKKwl7ImxpbnV4L2lmX3R1bi5oIiwJIlRVTlNFVE9XTkVSIiwJMHg1NGNjfSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX0NPTlRST0wiLAkweDU1MDB9LAorCXsibGludXgvdXNiZGV2aWNlX2ZzLmgiLAkiVVNCREVWRlNfQlVMSyIsCTB4NTUwMn0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19SRVNFVEVQIiwJMHg1NTAzfSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX1NFVElOVEVSRkFDRSIsCTB4NTUwNH0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19TRVRDT05GSUdVUkFUSU9OIiwJMHg1NTA1fSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX0dFVERSSVZFUiIsCTB4NTUwOH0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19TVUJNSVRVUkIiLAkweDU1MGF9LAorCXsibGludXgvdXNiZGV2aWNlX2ZzLmgiLAkiVVNCREVWRlNfRElTQ0FSRFVSQiIsCTB4NTUwYn0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19SRUFQVVJCIiwJMHg1NTBjfSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX1JFQVBVUkJOREVMQVkiLAkweDU1MGR9LAorCXsibGludXgvdXNiZGV2aWNlX2ZzLmgiLAkiVVNCREVWRlNfRElTQ1NJR05BTCIsCTB4NTUwZX0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19DTEFJTUlOVEVSRkFDRSIsCTB4NTUwZn0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19SRUxFQVNFSU5URVJGQUNFIiwJMHg1NTEwfSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX0NPTk5FQ1RJTkZPIiwJMHg1NTExfSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX0lPQ1RMIiwJMHg1NTEyfSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX0hVQl9QT1JUSU5GTyIsCTB4NTUxM30sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19SRVNFVCIsCTB4NTUxNH0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19DTEVBUl9IQUxUIiwJMHg1NTE1fSwKKwl7ImxpbnV4L3dhdGNoZG9nLmgiLAkiV0RJT0NfR0VUU1VQUE9SVCIsCTB4NTcwMH0sCisJeyJsaW51eC93YXRjaGRvZy5oIiwJIldESU9DX0dFVFNUQVRVUyIsCTB4NTcwMX0sCisJeyJsaW51eC93YXRjaGRvZy5oIiwJIldESU9DX0dFVEJPT1RTVEFUVVMiLAkweDU3MDJ9LAorCXsibGludXgvd2F0Y2hkb2cuaCIsCSJXRElPQ19HRVRURU1QIiwJMHg1NzAzfSwKKwl7ImxpbnV4L3dhdGNoZG9nLmgiLAkiV0RJT0NfU0VUT1BUSU9OUyIsCTB4NTcwNH0sCisJeyJsaW51eC93YXRjaGRvZy5oIiwJIldESU9DX0tFRVBBTElWRSIsCTB4NTcwNX0sCisJeyJsaW51eC93YXRjaGRvZy5oIiwJIldESU9DX1NFVFRJTUVPVVQiLAkweDU3MDZ9LAorCXsibGludXgvd2F0Y2hkb2cuaCIsCSJXRElPQ19HRVRUSU1FT1VUIiwJMHg1NzA3fSwKKwl7ImxpbnV4L2l0ZV9ncGlvLmgiLAkiSVRFX0dQSU9fSU4iLAkweDVhMDB9LAorCXsibGludXgvaXRlX2dwaW8uaCIsCSJJVEVfR1BJT19PVVQiLAkweDVhMDF9LAorCXsibGludXgvaXRlX2dwaW8uaCIsCSJJVEVfR1BJT19JTlRfQ1RSTCIsCTB4NWEwMn0sCisJeyJsaW51eC9pdGVfZ3Bpby5oIiwJIklURV9HUElPX0lOX1NUQVRVUyIsCTB4NWEwM30sCisJeyJsaW51eC9pdGVfZ3Bpby5oIiwJIklURV9HUElPX09VVF9TVEFUVVMiLAkweDVhMDR9LAorCXsibGludXgvaXRlX2dwaW8uaCIsCSJJVEVfR1BJT19HRU5fQ1RSTCIsCTB4NWEwNX0sCisJeyJsaW51eC9pdGVfZ3Bpby5oIiwJIklURV9HUElPX0lOVF9XQUlUIiwJMHg1YTA2fSwKKwl7ImxpbnV4L3NvbmV0LmgiLAkiU09ORVRfR0VUU1RBVCIsCTB4NjExMH0sCisJeyJsaW51eC9zb25ldC5oIiwJIlNPTkVUX0dFVFNUQVRaIiwJMHg2MTExfSwKKwl7ImxpbnV4L3NvbmV0LmgiLAkiU09ORVRfU0VURElBRyIsCTB4NjExMn0sCisJeyJsaW51eC9zb25ldC5oIiwJIlNPTkVUX0NMUkRJQUciLAkweDYxMTN9LAorCXsibGludXgvc29uZXQuaCIsCSJTT05FVF9HRVRESUFHIiwJMHg2MTE0fSwKKwl7ImxpbnV4L3NvbmV0LmgiLAkiU09ORVRfU0VURlJBTUlORyIsCTB4NjExNX0sCisJeyJsaW51eC9zb25ldC5oIiwJIlNPTkVUX0dFVEZSQU1JTkciLAkweDYxMTZ9LAorCXsibGludXgvc29uZXQuaCIsCSJTT05FVF9HRVRGUlNFTlNFIiwJMHg2MTE3fSwKKwl7ImxpbnV4L2F0bV9pZHQ3NzEwNS5oIiwJIklEVDc3MTA1X0dFVFNUQVQiLAkweDYxMzJ9LAorCXsibGludXgvYXRtX2lkdDc3MTA1LmgiLAkiSURUNzcxMDVfR0VUU1RBVFoiLAkweDYxMzN9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX0dFVFNUQVQiLAkweDYxNTB9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX0dFVFNUQVRaIiwJMHg2MTUxfSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9HRVRMT09QIiwJMHg2MTUyfSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9TRVRMT09QIiwJMHg2MTUzfSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9RVUVSWUxPT1AiLAkweDYxNTR9LAorCXsibGludXgvYXRtX2VuaS5oIiwJIkVOSV9NRU1EVU1QIiwJMHg2MTYwfSwKKwl7ImxpbnV4L2F0bV9uaWNzdGFyLmgiLAkiTlNfR0VUUFNUQVQiLAkweDYxNjF9LAorCXsibGludXgvYXRtX3phdG0uaCIsCSJaQVRNX0dFVFBPT0wiLAkweDYxNjF9LAorCXsibGludXgvYXRtX25pY3N0YXIuaCIsCSJOU19TRVRCVUZMRVYiLAkweDYxNjJ9LAorCXsibGludXgvYXRtX3phdG0uaCIsCSJaQVRNX0dFVFBPT0xaIiwJMHg2MTYyfSwKKwl7ImxpbnV4L2F0bV9uaWNzdGFyLmgiLAkiTlNfQURKQlVGTEVWIiwJMHg2MTYzfSwKKwl7ImxpbnV4L2F0bV96YXRtLmgiLAkiWkFUTV9TRVRQT09MIiwJMHg2MTYzfSwKKwl7ImxpbnV4L2F0bV96YXRtLmgiLAkiWkFUTV9HRVRUSElTVCIsCTB4NjE2NH0sCisJeyJsaW51eC9hdG1fZW5pLmgiLAkiRU5JX1NFVE1VTFQiLAkweDYxNjd9LAorCXsibGludXgvYXRtX3RjcC5oIiwJIlNJT0NTSUZBVE1UQ1AiLAkweDYxODB9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX0dFVExJTktSQVRFIiwJMHg2MTgxfSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9HRVROQU1FUyIsCTB4NjE4M30sCisJeyJsaW51eC9hdG1kZXYuaCIsCSJBVE1fR0VUVFlQRSIsCTB4NjE4NH0sCisJeyJsaW51eC9hdG1kZXYuaCIsCSJBVE1fR0VURVNJIiwJMHg2MTg1fSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9HRVRBRERSIiwJMHg2MTg2fSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9SU1RBRERSIiwJMHg2MTg3fSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9BRERBRERSIiwJMHg2MTg4fSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9ERUxBRERSIiwJMHg2MTg5fSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9HRVRDSVJBTkdFIiwJMHg2MThhfSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9TRVRDSVJBTkdFIiwJMHg2MThifSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9TRVRFU0kiLAkweDYxOGN9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX1NFVEVTSUYiLAkweDYxOGR9LAorCXsibGludXgvYXRtX3RjcC5oIiwJIkFUTVRDUF9DUkVBVEUiLAkweDYxOGV9LAorCXsibGludXgvYXRtX3RjcC5oIiwJIkFUTVRDUF9SRU1PVkUiLAkweDYxOGZ9LAorCXsibGludXgvYXRtbGVjLmgiLAkiQVRNTEVDX0NUUkwiLAkweDYxZDB9LAorCXsibGludXgvYXRtbGVjLmgiLAkiQVRNTEVDX0RBVEEiLAkweDYxZDF9LAorCXsibGludXgvYXRtbGVjLmgiLAkiQVRNTEVDX01DQVNUIiwJMHg2MWQyfSwKKwl7ImxpbnV4L2F0bW1wYy5oIiwJIkFUTU1QQ19DVFJMIiwJMHg2MWQ4fSwKKwl7ImxpbnV4L2F0bW1wYy5oIiwJIkFUTU1QQ19EQVRBIiwJMHg2MWQ5fSwKKwl7ImxpbnV4L2F0bWNsaXAuaCIsCSJTSU9DTUtDTElQIiwJMHg2MWUwfSwKKwl7ImxpbnV4L2F0bWFycC5oIiwJIkFUTUFSUERfQ1RSTCIsCTB4NjFlMX0sCisJeyJsaW51eC9hdG1hcnAuaCIsCSJBVE1BUlBfTUtJUCIsCTB4NjFlMn0sCisJeyJsaW51eC9hdG1hcnAuaCIsCSJBVE1BUlBfU0VURU5UUlkiLAkweDYxZTN9LAorCXsibGludXgvYXRtYXJwLmgiLAkiQVRNQVJQX0VOQ0FQIiwJMHg2MWU1fSwKKwl7ImxpbnV4L2F0bXN2Yy5oIiwJIkFUTVNJR0RfQ1RSTCIsCTB4NjFmMH0sCisJeyJsaW51eC9hdG1kZXYuaCIsCSJBVE1fU0VUU0MiLAkweDYxZjF9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX1NFVEJBQ0tFTkQiLAkweDYxZjJ9LAorCXsibGludXgvY29kYS5oIiwJIkNJT0NfS0VSTkVMX1ZFUlNJT04iLAkweDYzMGF9LAorCXsibGludXgvY29tc3RhdHMuaCIsCSJDT01fR0VUUE9SVFNUQVRTIiwJMHg2MzFlfSwKKwl7ImxpbnV4L2NvbXN0YXRzLmgiLAkiQ09NX0NMUlBPUlRTVEFUUyIsCTB4NjMxZn0sCisJeyJsaW51eC9jb21zdGF0cy5oIiwJIkNPTV9HRVRCUkRTVEFUUyIsCTB4NjMyMH0sCisJeyJsaW51eC9jb21zdGF0cy5oIiwJIkNPTV9SRUFEUE9SVCIsCTB4NjMyOH0sCisJeyJsaW51eC9jb21zdGF0cy5oIiwJIkNPTV9SRUFEQk9BUkQiLAkweDYzMjl9LAorCXsibGludXgvY29tc3RhdHMuaCIsCSJDT01fUkVBRFBBTkVMIiwJMHg2MzJhfSwKKwl7ImxpbnV4L2RldmZzX2ZzLmgiLAkiREVWRlNESU9DX0dFVF9QUk9UT19SRVYiLAkweDY0MDB9LAorCXsibGludXgvdmlkZW9fZGVjb2Rlci5oIiwJIkRFQ09ERVJfR0VUX0NBUEFCSUxJVElFUyIsCTB4NjQwMX0sCisJeyJsaW51eC9kZXZmc19mcy5oIiwJIkRFVkZTRElPQ19TRVRfRVZFTlRfTUFTSyIsCTB4NjQwMn0sCisJeyJsaW51eC92aWRlb19kZWNvZGVyLmgiLAkiREVDT0RFUl9HRVRfU1RBVFVTIiwJMHg2NDAyfSwKKwl7ImxpbnV4L2RldmZzX2ZzLmgiLAkiREVWRlNESU9DX1JFTEVBU0VfRVZFTlRfUVVFVUUiLAkweDY0MDN9LAorCXsibGludXgvdmlkZW9fZGVjb2Rlci5oIiwJIkRFQ09ERVJfU0VUX05PUk0iLAkweDY0MDN9LAorCXsibGludXgvZGV2ZnNfZnMuaCIsCSJERVZGU0RJT0NfU0VUX0RFQlVHX01BU0siLAkweDY0MDR9LAorCXsibGludXgvdmlkZW9fZGVjb2Rlci5oIiwJIkRFQ09ERVJfU0VUX0lOUFVUIiwJMHg2NDA0fSwKKwl7ImxpbnV4L3ZpZGVvX2RlY29kZXIuaCIsCSJERUNPREVSX1NFVF9PVVRQVVQiLAkweDY0MDV9LAorCXsibGludXgvdmlkZW9fZGVjb2Rlci5oIiwJIkRFQ09ERVJfRU5BQkxFX09VVFBVVCIsCTB4NjQwNn0sCisJeyJsaW51eC92aWRlb19kZWNvZGVyLmgiLAkiREVDT0RFUl9TRVRfUElDVFVSRSIsCTB4NjQwN30sCisJeyJsaW51eC92aWRlb19kZWNvZGVyLmgiLAkiREVDT0RFUl9EVU1QIiwJMHg2NGMwfSwKKwl7ImxpbnV4L3ZpZGVvX2VuY29kZXIuaCIsCSJFTkNPREVSX0dFVF9DQVBBQklMSVRJRVMiLAkweDY1MDF9LAorCXsibGludXgvdmlkZW9fZW5jb2Rlci5oIiwJIkVOQ09ERVJfU0VUX05PUk0iLAkweDY1MDJ9LAorCXsibGludXgvdmlkZW9fZW5jb2Rlci5oIiwJIkVOQ09ERVJfU0VUX0lOUFVUIiwJMHg2NTAzfSwKKwl7ImxpbnV4L3ZpZGVvX2VuY29kZXIuaCIsCSJFTkNPREVSX1NFVF9PVVRQVVQiLAkweDY1MDR9LAorCXsibGludXgvdmlkZW9fZW5jb2Rlci5oIiwJIkVOQ09ERVJfRU5BQkxFX09VVFBVVCIsCTB4NjUwNX0sCisJeyJsaW51eC9leHQyX2ZzLmgiLAkiRVhUMl9JT0NfR0VURkxBR1MiLAkweDY2MDF9LAorCXsibGludXgvZXh0M19mcy5oIiwJIkVYVDNfSU9DX0dFVEZMQUdTIiwJMHg2NjAxfSwKKwl7ImxpbnV4L2V4dDJfZnMuaCIsCSJFWFQyX0lPQ19TRVRGTEFHUyIsCTB4NjYwMn0sCisJeyJsaW51eC9leHQzX2ZzLmgiLAkiRVhUM19JT0NfU0VURkxBR1MiLAkweDY2MDJ9LAorCXsibGludXgvZXh0M19mcy5oIiwJIkVYVDNfSU9DX0dFVFZFUlNJT04iLAkweDY2MDN9LAorCXsibGludXgvZXh0M19mcy5oIiwJIkVYVDNfSU9DX1NFVFZFUlNJT04iLAkweDY2MDR9LAorCXsibGludXgvZXh0M19mcy5oIiwJIkVYVDNfSU9DX1dBSVRfRk9SX1JFQURPTkxZIiwJMHg2NjYzfSwKKwl7ImxpbnV4L2kyby1kZXYuaCIsCSJJMk9HRVRJT1BTIiwJMHg2OTAwfSwKKwl7ImxpbnV4L2kyby1kZXYuaCIsCSJJMk9IUlRHRVQiLAkweDY5MDF9LAorCXsibGludXgvaTJvLWRldi5oIiwJIkkyT0xDVEdFVCIsCTB4NjkwMn0sCisJeyJsaW51eC9pMm8tZGV2LmgiLAkiSTJPUEFSTVNFVCIsCTB4NjkwM30sCisJeyJsaW51eC9pMm8tZGV2LmgiLAkiSTJPUEFSTUdFVCIsCTB4NjkwNH0sCisJeyJsaW51eC9pMm8tZGV2LmgiLAkiSTJPU1dETCIsCTB4NjkwNX0sCisJeyJsaW51eC9pMm8tZGV2LmgiLAkiSTJPU1dVTCIsCTB4NjkwNn0sCisJeyJsaW51eC9pMm8tZGV2LmgiLAkiSTJPU1dERUwiLAkweDY5MDd9LAorCXsibGludXgvaTJvLWRldi5oIiwJIkkyT1ZBTElEQVRFIiwJMHg2OTA4fSwKKwl7ImxpbnV4L2kyby1kZXYuaCIsCSJJMk9IVE1MIiwJMHg2OTA5fSwKKwl7ImxpbnV4L2kyby1kZXYuaCIsCSJJMk9FVlRSRUciLAkweDY5MGF9LAorCXsibGludXgvaTJvLWRldi5oIiwJIkkyT0VWVEdFVCIsCTB4NjkwYn0sCisJeyJsaW51eC9pOGsuaCIsCSJJOEtfQklPU19WRVJTSU9OIiwJMHg2OTgwfSwKKwl7ImxpbnV4L2k4ay5oIiwJIkk4S19NQUNISU5FX0lEIiwJMHg2OTgxfSwKKwl7ImxpbnV4L2k4ay5oIiwJIkk4S19QT1dFUl9TVEFUVVMiLAkweDY5ODJ9LAorCXsibGludXgvaThrLmgiLAkiSThLX0ZOX1NUQVRVUyIsCTB4Njk4M30sCisJeyJsaW51eC9pOGsuaCIsCSJJOEtfR0VUX1RFTVAiLAkweDY5ODR9LAorCXsibGludXgvaThrLmgiLAkiSThLX0dFVF9TUEVFRCIsCTB4Njk4NX0sCisJeyJsaW51eC9pOGsuaCIsCSJJOEtfR0VUX0ZBTiIsCTB4Njk4Nn0sCisJeyJsaW51eC9pOGsuaCIsCSJJOEtfU0VUX0ZBTiIsCTB4Njk4N30sCisJeyJsaW51eC9qb3lzdGljay5oIiwJIkpTSU9DR1ZFUlNJT04iLAkweDZhMDF9LAorCXsibGludXgvam95c3RpY2suaCIsCSJKU0lPQ0dBWEVTIiwJMHg2YTExfSwKKwl7ImxpbnV4L2pveXN0aWNrLmgiLAkiSlNJT0NHQlVUVE9OUyIsCTB4NmExMn0sCisJeyJsaW51eC9qb3lzdGljay5oIiwJIkpTSU9DU0NPUlIiLAkweDZhMjF9LAorCXsibGludXgvam95c3RpY2suaCIsCSJKU0lPQ0dDT1JSIiwJMHg2YTIyfSwKKwl7ImxpbnV4L2pveXN0aWNrLmgiLAkiSlNJT0NTQVhNQVAiLAkweDZhMzF9LAorCXsibGludXgvam95c3RpY2suaCIsCSJKU0lPQ0dBWE1BUCIsCTB4NmEzMn0sCisJeyJsaW51eC9qb3lzdGljay5oIiwJIkpTSU9DU0JUTk1BUCIsCTB4NmEzM30sCisJeyJsaW51eC9qb3lzdGljay5oIiwJIkpTSU9DR0JUTk1BUCIsCTB4NmEzNH0sCisJeyJsaW51eC91ZGZfZnNfaS5oIiwJIlVERl9HRVRFQVNJWkUiLAkweDZjNDB9LAorCXsibGludXgvdWRmX2ZzX2kuaCIsCSJVREZfR0VURUFCTE9DSyIsCTB4NmM0MX0sCisJeyJsaW51eC91ZGZfZnNfaS5oIiwJIlVERl9HRVRWT0xJREVOVCIsCTB4NmM0Mn0sCisJeyJsaW51eC91ZGZfZnNfaS5oIiwJIlVERl9SRUxPQ0FURV9CTE9DS1MiLAkweDZjNDN9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX01JRElfUFJFVElNRSIsCTB4NmQwMH0sCisJeyJsaW51eC9zeW5jbGluay5oIiwJIk1HU0xfSU9DU1BBUkFNUyIsCTB4NmQwMH0sCisJeyJsaW51eC9tdGlvLmgiLAkiTVRJT0NUT1AiLAkweDZkMDF9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX01JRElfTVBVTU9ERSIsCTB4NmQwMX0sCisJeyJsaW51eC9zeW5jbGluay5oIiwJIk1HU0xfSU9DR1BBUkFNUyIsCTB4NmQwMX0sCisJeyJsaW51eC9tdGlvLmgiLAkiTVRJT0NHRVQiLAkweDZkMDJ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX01JRElfTVBVQ01EIiwJMHg2ZDAyfSwKKwl7ImxpbnV4L3N5bmNsaW5rLmgiLAkiTUdTTF9JT0NTVFhJRExFIiwJMHg2ZDAyfSwKKwl7ImxpbnV4L210aW8uaCIsCSJNVElPQ1BPUyIsCTB4NmQwM30sCisJeyJsaW51eC9zeW5jbGluay5oIiwJIk1HU0xfSU9DR1RYSURMRSIsCTB4NmQwM30sCisJeyJsaW51eC9tdGlvLmgiLAkiTVRJT0NHRVRDT05GSUciLAkweDZkMDR9LAorCXsibGludXgvc3luY2xpbmsuaCIsCSJNR1NMX0lPQ1RYRU5BQkxFIiwJMHg2ZDA0fSwKKwl7ImxpbnV4L210aW8uaCIsCSJNVElPQ1NFVENPTkZJRyIsCTB4NmQwNX0sCisJeyJsaW51eC9zeW5jbGluay5oIiwJIk1HU0xfSU9DUlhFTkFCTEUiLAkweDZkMDV9LAorCXsibGludXgvbXRpby5oIiwJIk1USU9DUkRGVFNFRyIsCTB4NmQwNn0sCisJeyJsaW51eC9zeW5jbGluay5oIiwJIk1HU0xfSU9DVFhBQk9SVCIsCTB4NmQwNn0sCisJeyJsaW51eC9tdGlvLmgiLAkiTVRJT0NXUkZUU0VHIiwJMHg2ZDA3fSwKKwl7ImxpbnV4L3N5bmNsaW5rLmgiLAkiTUdTTF9JT0NHU1RBVFMiLAkweDZkMDd9LAorCXsibGludXgvbXRpby5oIiwJIk1USU9DVk9MSU5GTyIsCTB4NmQwOH0sCisJeyJsaW51eC9zeW5jbGluay5oIiwJIk1HU0xfSU9DV0FJVEVWRU5UIiwJMHg2ZDA4fSwKKwl7ImxpbnV4L210aW8uaCIsCSJNVElPQ0dFVFNJWkUiLAkweDZkMDl9LAorCXsibGludXgvc3luY2xpbmsuaCIsCSJNR1NMX0lPQ0xPT1BUWERPTkUiLAkweDZkMDl9LAorCXsibGludXgvbXRpby5oIiwJIk1USU9DRlRGT1JNQVQiLAkweDZkMGF9LAorCXsibGludXgvbXRpby5oIiwJIk1USU9DRlRDTUQiLAkweDZkMGJ9LAorCXsibGludXgvc3luY2xpbmsuaCIsCSJNR1NMX0lPQ0NMUk1PRENPVU5UIiwJMHg2ZDBmfSwKKwl7ImxpbnV4L3pmdGFwZS5oIiwJIk1USU9DX1pGVEFQRV9HRVRCTEtTWiIsCTB4NmQ2OH0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX05DUFJFUVVFU1QiLAkweDZlMDF9LAorCXsibGludXgvbmNwX2ZzLmgiLAkiTkNQX0lPQ19HRVRNT1VOVFVJRCIsCTB4NmUwMn0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX0dFVE1PVU5UVUlEMiIsCTB4NmUwMn0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX0NPTk5fTE9HR0VEX0lOIiwJMHg2ZTAzfSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfR0VUX0ZTX0lORk8iLAkweDZlMDR9LAorCXsibGludXgvbmNwX2ZzLmgiLAkiTkNQX0lPQ19HRVRfRlNfSU5GT19WMiIsCTB4NmUwNH0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX1NJR05fSU5JVCIsCTB4NmUwNX0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX1NJR05fV0FOVEVEIiwJMHg2ZTA2fSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfU0VUX1NJR05fV0FOVEVEIiwJMHg2ZTA2fSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfTE9DS1VOTE9DSyIsCTB4NmUwN30sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX0dFVFJPT1QiLAkweDZlMDh9LAorCXsibGludXgvbmNwX2ZzLmgiLAkiTkNQX0lPQ19TRVRST09UIiwJMHg2ZTA4fSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfR0VUT0JKRUNUTkFNRSIsCTB4NmUwOX0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX1NFVE9CSkVDVE5BTUUiLAkweDZlMDl9LAorCXsibGludXgvbmNwX2ZzLmgiLAkiTkNQX0lPQ19HRVRQUklWQVRFREFUQSIsCTB4NmUwYX0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX1NFVFBSSVZBVEVEQVRBIiwJMHg2ZTBhfSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfR0VUQ0hBUlNFVFMiLAkweDZlMGJ9LAorCXsibGludXgvbmNwX2ZzLmgiLAkiTkNQX0lPQ19TRVRDSEFSU0VUUyIsCTB4NmUwYn0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX0dFVERFTlRSWVRUTCIsCTB4NmUwY30sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX1NFVERFTlRSWVRUTCIsCTB4NmUwY30sCisJeyJsaW51eC9tYXRyb3hmYi5oIiwJIk1BVFJPWEZCX1NFVF9PVVRQVVRfQ09OTkVDVElPTiIsCTB4NmVmOH0sCisJeyJsaW51eC9tYXRyb3hmYi5oIiwJIk1BVFJPWEZCX0dFVF9PVVRQVVRfQ09OTkVDVElPTiIsCTB4NmVmOH0sCisJeyJsaW51eC9tYXRyb3hmYi5oIiwJIk1BVFJPWEZCX0dFVF9BVkFJTEFCTEVfT1VUUFVUUyIsCTB4NmVmOX0sCisJeyJsaW51eC9tYXRyb3hmYi5oIiwJIk1BVFJPWEZCX1NFVF9PVVRQVVRfTU9ERSIsCTB4NmVmYX0sCisJeyJsaW51eC9tYXRyb3hmYi5oIiwJIk1BVFJPWEZCX0dFVF9PVVRQVVRfTU9ERSIsCTB4NmVmYX0sCisJeyJsaW51eC9tYXRyb3hmYi5oIiwJIk1BVFJPWEZCX0dFVF9BTExfT1VUUFVUUyIsCTB4NmVmYn0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfQUlFX09OIiwJMHg3MDAxfSwKKwl7ImxpbnV4L3J0Yy5oIiwJIlJUQ19BSUVfT0ZGIiwJMHg3MDAyfSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fR0VUTU9VTlQiLAkweDcwMDN9LAorCXsibGludXgvcnRjLmgiLAkiUlRDX1VJRV9PTiIsCTB4NzAwM30sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX1NFVFBJRCIsCTB4NzAwNH0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfVUlFX09GRiIsCTB4NzAwNH0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfUElFX09OIiwJMHg3MDA1fSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fQ0xPU0VfSk9VUk5BTEYiLAkweDcwMDZ9LAorCXsibGludXgvcnRjLmgiLAkiUlRDX1BJRV9PRkYiLAkweDcwMDZ9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19TRVRfRlNFVFJPT1QiLAkweDcwMDd9LAorCXsibGludXgvcnRjLmgiLAkiUlRDX0FMTV9TRVQiLAkweDcwMDd9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19DTEVBUl9GU0VUUk9PVCIsCTB4NzAwOH0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfQUxNX1JFQUQiLAkweDcwMDh9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19TRVRPUFQiLAkweDcwMDl9LAorCXsibGludXgvcnRjLmgiLAkiUlRDX1JEX1RJTUUiLAkweDcwMDl9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19HRVRPUFQiLAkweDcwMGF9LAorCXsibGludXgvcnRjLmgiLAkiUlRDX1NFVF9USU1FIiwJMHg3MDBhfSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fR0VUX0tNTFNJWkUiLAkweDcwMGJ9LAorCXsibGludXgvcnRjLmgiLAkiUlRDX0lSUVBfUkVBRCIsCTB4NzAwYn0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX0dFVF9SRUNOTyIsCTB4NzAwY30sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfSVJRUF9TRVQiLAkweDcwMGN9LAorCXsibGludXgvcnRjLmgiLAkiUlRDX0VQT0NIX1JFQUQiLAkweDcwMGR9LAorCXsibGludXgvcnRjLmgiLAkiUlRDX0VQT0NIX1NFVCIsCTB4NzAwZX0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfV0lFX09OIiwJMHg3MDBmfSwKKwl7ImxpbnV4L3J0Yy5oIiwJIlJUQ19XS0FMTV9TRVQiLAkweDcwMGZ9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19WRlNfU0VUQVRUUiIsCTB4NzAxMH0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfV0lFX09GRiIsCTB4NzAxMH0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfV0tBTE1fUkQiLAkweDcwMTB9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19WRlNfQ1JFQVRFIiwJMHg3MDExfSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fVkZTX0xJTksiLAkweDcwMTJ9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19WRlNfVU5MSU5LIiwJMHg3MDEzfSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fVkZTX1NZTUxJTksiLAkweDcwMTR9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19WRlNfTUtESVIiLAkweDcwMTV9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19WRlNfUk1ESVIiLAkweDcwMTZ9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19WRlNfTUtOT0QiLAkweDcwMTd9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19WRlNfUkVOQU1FIiwJMHg3MDE4fSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fVkZTX0NMT1NFIiwJMHg3MDFhfSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fVkZTX0lPUEVOIiwJMHg3MDFifSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fVkZTX1NFVEVYVEFUVFIiLAkweDcwMWN9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19WRlNfREVMRVhUQVRUUiIsCTB4NzAxZH0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX01BUksiLAkweDcwMjB9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19SRUxFQVNFX1BFUk1JVCIsCTB4NzAyMX0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX0NMRUFSX0FMTF9GU0VUUk9PVFMiLAkweDcwMjJ9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19CQUNLRkVUQ0hfTE1MIiwJMHg3MDIzfSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fUkVJTlQiLAkweDcwMjR9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19DQU5DRUxfTE1MIiwJMHg3MDI1fSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fUkVTRVRfRlNFVCIsCTB4NzAyNn0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX0NPTVBMRVRFX0NMT1NFUyIsCTB4NzAyN30sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX1JFSU5UX0JFR0lOIiwJMHg3MDMwfSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fRE9fUkVJTlQiLAkweDcwMzF9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19SRUlOVF9FTkQiLAkweDcwMzJ9LAorCXsibGludXgvbnZyYW0uaCIsCSJOVlJBTV9JTklUIiwJMHg3MDQwfSwKKwl7ImxpbnV4L252cmFtLmgiLAkiTlZSQU1fU0VUQ0tTIiwJMHg3MDQxfSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBTRVRNT0RFIiwJMHg3MDgwfSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBSU1RBVFVTIiwJMHg3MDgxfSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBSQ09OVFJPTCIsCTB4NzA4M30sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQV0NPTlRST0wiLAkweDcwODR9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUFJEQVRBIiwJMHg3MDg1fSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBXREFUQSIsCTB4NzA4Nn0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQQ0xBSU0iLAkweDcwOGJ9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUFJFTEVBU0UiLAkweDcwOGN9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUFlJRUxEIiwJMHg3MDhkfSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBGQ09OVFJPTCIsCTB4NzA4ZX0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQRVhDTCIsCTB4NzA4Zn0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQREFUQURJUiIsCTB4NzA5MH0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQTkVHT1QiLAkweDcwOTF9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUFdDVExPTklSUSIsCTB4NzA5Mn0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQQ0xSSVJRIiwJMHg3MDkzfSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBTRVRQSEFTRSIsCTB4NzA5NH0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQR0VUVElNRSIsCTB4NzA5NX0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQU0VUVElNRSIsCTB4NzA5Nn0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQR0VUTU9ERVMiLAkweDcwOTd9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUEdFVE1PREUiLAkweDcwOTh9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUEdFVFBIQVNFIiwJMHg3MDk5fSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBHRVRGTEFHUyIsCTB4NzA5YX0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQU0VURkxBR1MiLAkweDcwOWJ9LAorCXsibGludXgvc2VyaW8uaCIsCSJTUElPQ1NUWVBFIiwJMHg3MTAxfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX0NBUEFCSUxJVElFUyIsCTB4NzE4MH0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9DQVBBQklMSVRJRVNfTElTVCIsCTB4NzE4MX0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9DQVBBQklMSVRJRVNfQ0hFQ0siLAkweDcxODJ9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUklORyIsCTB4NzE4M30sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9IT09LU1RBVEUiLAkweDcxODR9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfTUFYUklOR1MiLAkweDcxODV9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUklOR19DQURFTkNFIiwJMHg3MTg2fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIk9MRF9QSE9ORV9SSU5HX1NUQVJUIiwJMHg3MTg3fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1JJTkdfU1RBUlQiLAkweDcxODd9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUklOR19TVE9QIiwJMHg3MTg4fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1JFQ19DT0RFQyIsCTB4NzE4OX0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9SRUNfU1RBUlQiLAkweDcxOGF9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUkVDX1NUT1AiLAkweDcxOGJ9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUkVDX0RFUFRIIiwJMHg3MThjfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX0ZSQU1FIiwJMHg3MThkfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1JFQ19WT0xVTUUiLAkweDcxOGV9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUkVDX0xFVkVMIiwJMHg3MThmfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1BMQVlfQ09ERUMiLAkweDcxOTB9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUExBWV9TVEFSVCIsCTB4NzE5MX0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9QTEFZX1NUT1AiLAkweDcxOTJ9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUExBWV9ERVBUSCIsCTB4NzE5M30sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9QTEFZX1ZPTFVNRSIsCTB4NzE5NH0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9QTEFZX0xFVkVMIiwJMHg3MTk1fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX0RUTUZfUkVBRFkiLAkweDcxOTZ9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfR0VUX0RUTUYiLAkweDcxOTd9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfR0VUX0RUTUZfQVNDSUkiLAkweDcxOTh9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfRFRNRl9PT0IiLAkweDcxOTl9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfRVhDRVBUSU9OIiwJMHg3MTlhfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1BMQVlfVE9ORSIsCTB4NzE5Yn0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9TRVRfVE9ORV9PTl9USU1FIiwJMHg3MTljfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1NFVF9UT05FX09GRl9USU1FIiwJMHg3MTlkfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX0dFVF9UT05FX09OX1RJTUUiLAkweDcxOWV9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfR0VUX1RPTkVfT0ZGX1RJTUUiLAkweDcxOWZ9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfR0VUX1RPTkVfU1RBVEUiLAkweDcxYTB9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfQlVTWSIsCTB4NzFhMX0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9SSU5HQkFDSyIsCTB4NzFhMn0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9ESUFMVE9ORSIsCTB4NzFhM30sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9DUFRfU1RPUCIsCTB4NzFhNH0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9QU1ROX1NFVF9TVEFURSIsCTB4NzFhNH0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9QU1ROX0dFVF9TVEFURSIsCTB4NzFhNX0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9XSU5LX0RVUkFUSU9OIiwJMHg3MWE2fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1FVRVJZX0NPREVDIiwJMHg3MWE3fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1BTVE5fTElORVRFU1QiLAkweDcxYTh9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfVkFEIiwJMHg3MWE5fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1dJTksiLAkweDcxYWF9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9EU1BfUkVTRVQiLAkweDcxYzB9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9DQVJEVFlQRSIsCTB4NzFjMX0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1NFUklBTCIsCTB4NzFjMn0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0RTUF9UWVBFIiwJMHg3MWMzfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfRFNQX1ZFUlNJT04iLAkweDcxYzR9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9EU1BfSURMRSIsCTB4NzFjNX0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1RFU1RSQU0iLAkweDcxYzZ9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9TRVRfRklMVEVSIiwJMHg3MWM3fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfR0VUX0ZJTFRFUl9ISVNUIiwJMHg3MWM4fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfSU5JVF9UT05FIiwJMHg3MWM5fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfVE9ORV9DQURFTkNFIiwJMHg3MWNhfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfQUVDX1NUQVJUIiwJMHg3MWNifSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfQUVDX1NUT1AiLAkweDcxY2N9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9BRUNfR0VUX0xFVkVMIiwJMHg3MWNkfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfU0VUX0xFRCIsCTB4NzFjZX0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX01JWEVSIiwJMHg3MWNmfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfREFBX0NPRUZGX1NFVCIsCTB4NzFkMH0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1BPUlQiLAkweDcxZDF9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9EQUFfQUdBSU4iLAkweDcxZDJ9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9QU1ROX0xJTkVURVNUIiwJMHg3MWQzfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfQ0lEIiwJMHg3MWQ0fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfUE9UU19QU1ROIiwJMHg3MWQ1fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfRklMVEVSX0NBREVOQ0UiLAkweDcxZDZ9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9QTEFZX0NJRCIsCTB4NzFkN30sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1ZNV0kiLAkweDcxZDh9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9DSURDVyIsCTB4NzFkOX0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1ZFUlNJT04iLAkweDcxZGF9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUkVDX1ZPTFVNRV9MSU5FQVIiLAkweDcxZGJ9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUExBWV9WT0xVTUVfTElORUFSIiwJMHg3MWRjfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfU0VUX0ZJTFRFUl9SQVciLAkweDcxZGR9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9IWiIsCTB4NzFlMH0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1JBVEUiLAkweDcxZTF9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9GUkFNRVNfUkVBRCIsCTB4NzFlMn0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0ZSQU1FU19XUklUVEVOIiwJMHg3MWUzfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfUkVBRF9XQUlUIiwJMHg3MWU0fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfV1JJVEVfV0FJVCIsCTB4NzFlNX0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0RSWUJVRkZFUl9SRUFEIiwJMHg3MWU2fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfRFJZQlVGRkVSX0NMRUFSIiwJMHg3MWU3fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfRFRNRl9QUkVTQ0FMRSIsCTB4NzFlOH0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1NJR0NUTCIsCTB4NzFlOX0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1NDX1JYRyIsCTB4NzFlYX0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1NDX1RYRyIsCTB4NzFlYn0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0lOVEVSQ09NX1NUQVJUIiwJMHg3MWZkfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfSU5URVJDT01fU1RPUCIsCTB4NzFmZX0sCisJeyJsaW51eC9tc2Rvc19mcy5oIiwJIlZGQVRfSU9DVExfUkVBRERJUl9CT1RIIiwJMHg3MjAxfSwKKwl7ImxpbnV4L21zZG9zX2ZzLmgiLAkiVkZBVF9JT0NUTF9SRUFERElSX1NIT1JUIiwJMHg3MjAyfSwKKwl7ImxpbnV4L2Nkay5oIiwJIlNUTF9CSU5UUiIsCTB4NzMxNH0sCisJeyJsaW51eC9jZGsuaCIsCSJTVExfQlNUQVJUIiwJMHg3MzE1fSwKKwl7ImxpbnV4L2Nkay5oIiwJIlNUTF9CU1RPUCIsCTB4NzMxNn0sCisJeyJsaW51eC9jZGsuaCIsCSJTVExfQlJFU0VUIiwJMHg3MzE3fSwKKwl7ImxpbnV4L2Nkay5oIiwJIlNUTF9HRVRQRkxBRyIsCTB4NzM1MH0sCisJeyJsaW51eC9jZGsuaCIsCSJTVExfU0VUUEZMQUciLAkweDczNTF9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DR0NIQU4iLAkweDc0Mzd9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DQVRUQ0hBTiIsCTB4NzQzOH0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NESVNDT05OIiwJMHg3NDM5fSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ0NPTk5FQ1QiLAkweDc0M2F9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DU01SUlUiLAkweDc0M2J9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DREVUQUNIIiwJMHg3NDNjfSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ0FUVEFDSCIsCTB4NzQzZH0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NORVdVTklUIiwJMHg3NDNlfSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ0dJRExFIiwJMHg3NDNmfSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ1NERUJVRyIsCTB4NzQ0MH0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NHREVCVUciLAkweDc0NDF9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DU0FDVElWRSIsCTB4NzQ0Nn0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NTUEFTUyIsCTB4NzQ0N30sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NTTlBNT0RFIiwJMHg3NDRifSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ0dOUE1PREUiLAkweDc0NGN9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DU0NPTVBSRVNTIiwJMHg3NDRkfSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ1hGRVJVTklUIiwJMHg3NDRlfSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ1NYQVNZTkNNQVAiLAkweDc0NGZ9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DR1hBU1lOQ01BUCIsCTB4NzQ1MH0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NTTUFYQ0lEIiwJMHg3NDUxfSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ1NNUlUiLAkweDc0NTJ9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DR01SVSIsCTB4NzQ1M30sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NTUkFTWU5DTUFQIiwJMHg3NDU0fSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ0dSQVNZTkNNQVAiLAkweDc0NTV9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DR1VOSVQiLAkweDc0NTZ9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DU0FTWU5DTUFQIiwJMHg3NDU3fSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ0dBU1lOQ01BUCIsCTB4NzQ1OH0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NTRkxBR1MiLAkweDc0NTl9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DR0ZMQUdTIiwJMHg3NDVhfSwKKwl7ImxpbnV4L2pmZnMuaCIsCSJKRkZTX1BSSU5UX0hBU0giLAkweDc0NWF9LAorCXsibGludXgvamZmcy5oIiwJIkpGRlNfUFJJTlRfVFJFRSIsCTB4NzQ1Yn0sCisJeyJsaW51eC9qZmZzLmgiLAkiSkZGU19HRVRfU1RBVFVTIiwJMHg3NDVjfSwKKwl7ImxpbnV4L2lzZG5fcHBwLmgiLAkiUFBQSU9DR0NBTExJTkZPIiwJMHg3NDgwfSwKKwl7ImxpbnV4L2lzZG5fcHBwLmgiLAkiUFBQSU9DQlVORExFIiwJMHg3NDgxfSwKKwl7ImxpbnV4L2lzZG5fcHBwLmgiLAkiUFBQSU9DR01QRkxBR1MiLAkweDc0ODJ9LAorCXsibGludXgvaXNkbl9wcHAuaCIsCSJQUFBJT0NTTVBGTEFHUyIsCTB4NzQ4M30sCisJeyJsaW51eC9pc2RuX3BwcC5oIiwJIlBQUElPQ1NNUE1UVSIsCTB4NzQ4NH0sCisJeyJsaW51eC9pc2RuX3BwcC5oIiwJIlBQUElPQ1NNUE1SVSIsCTB4NzQ4NX0sCisJeyJsaW51eC9pc2RuX3BwcC5oIiwJIlBQUElPQ0dDT01QUkVTU09SUyIsCTB4NzQ4Nn0sCisJeyJsaW51eC9pc2RuX3BwcC5oIiwJIlBQUElPQ1NDT01QUkVTU09SIiwJMHg3NDg3fSwKKwl7ImxpbnV4L2lzZG5fcHBwLmgiLAkiUFBQSU9DR0lGTkFNRSIsCTB4NzQ4OH0sCisJeyJsaW51eC90b3NoaWJhLmgiLAkiVE9TSF9TTU0iLAkweDc0OTB9LAorCXsibGludXgvc21iX2ZzLmgiLAkiU01CX0lPQ19HRVRNT1VOVFVJRCIsCTB4NzUwMX0sCisJeyJsaW51eC9zbWJfZnMuaCIsCSJTTUJfSU9DX05FV0NPTk4iLAkweDc1MDJ9LAorCXsibGludXgvc21iX2ZzLmgiLAkiU01CX0lPQ19HRVRNT1VOVFVJRDMyIiwJMHg3NTAzfSwKKwl7ImxpbnV4L3NvbnlwaS5oIiwJIlNPTllQSV9JT0NHQlJUIiwJMHg3NjAwfSwKKwl7ImxpbnV4L3NvbnlwaS5oIiwJIlNPTllQSV9JT0NTQlJUIiwJMHg3NjAwfSwKKwl7ImxpbnV4L2V4dDJfZnMuaCIsCSJFWFQyX0lPQ19HRVRWRVJTSU9OIiwJMHg3NjAxfSwKKwl7ImxpbnV4L2V4dDNfZnMuaCIsCSJFWFQzX0lPQ19HRVRWRVJTSU9OX09MRCIsCTB4NzYwMX0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ0dDQVAiLAkweDc2MDF9LAorCXsibGludXgvZXh0Ml9mcy5oIiwJIkVYVDJfSU9DX1NFVFZFUlNJT04iLAkweDc2MDJ9LAorCXsibGludXgvZXh0M19mcy5oIiwJIkVYVDNfSU9DX1NFVFZFUlNJT05fT0xEIiwJMHg3NjAyfSwKKwl7ImxpbnV4L3NvbnlwaS5oIiwJIlNPTllQSV9JT0NHQkFUMUNBUCIsCTB4NzYwMn0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ0dDSEFOIiwJMHg3NjAyfSwKKwl7ImxpbnV4L3NvbnlwaS5oIiwJIlNPTllQSV9JT0NHQkFUMVJFTSIsCTB4NzYwM30sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ1NDSEFOIiwJMHg3NjAzfSwKKwl7ImxpbnV4L3NvbnlwaS5oIiwJIlNPTllQSV9JT0NHQkFUMkNBUCIsCTB4NzYwNH0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ0dUVU5FUiIsCTB4NzYwNH0sCisJeyJsaW51eC9zb255cGkuaCIsCSJTT05ZUElfSU9DR0JBVDJSRU0iLAkweDc2MDV9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NTVFVORVIiLAkweDc2MDV9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NHUElDVCIsCTB4NzYwNn0sCisJeyJsaW51eC9zb255cGkuaCIsCSJTT05ZUElfSU9DR0JBVEZMQUdTIiwJMHg3NjA3fSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DU1BJQ1QiLAkweDc2MDd9LAorCXsibGludXgvc29ueXBpLmgiLAkiU09OWVBJX0lPQ0dCTFVFIiwJMHg3NjA4fSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DQ0FQVFVSRSIsCTB4NzYwOH0sCisJeyJsaW51eC9zb255cGkuaCIsCSJTT05ZUElfSU9DU0JMVUUiLAkweDc2MDl9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NHV0lOIiwJMHg3NjA5fSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DU1dJTiIsCTB4NzYwYX0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ0dGQlVGIiwJMHg3NjBifSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DU0ZCVUYiLAkweDc2MGN9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NLRVkiLAkweDc2MGR9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NHRlJFUSIsCTB4NzYwZX0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ1NGUkVRIiwJMHg3NjBmfSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DR0FVRElPIiwJMHg3NjEwfSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DU0FVRElPIiwJMHg3NjExfSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DU1lOQyIsCTB4NzYxMn0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ01DQVBUVVJFIiwJMHg3NjEzfSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DR01CVUYiLAkweDc2MTR9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NHVU5JVCIsCTB4NzYxNX0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ0dDQVBUVVJFIiwJMHg3NjE2fSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DU0NBUFRVUkUiLAkweDc2MTd9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NTUExBWU1PREUiLAkweDc2MTh9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NTV1JJVEVNT0RFIiwJMHg3NjE5fSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DR1BMQVlJTkZPIiwJMHg3NjFhfSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DU01JQ1JPQ09ERSIsCTB4NzYxYn0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ0dWQklGTVQiLAkweDc2MWN9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NTVkJJRk1UIiwJMHg3NjFkfSwKKwl7ImxpbnV4L21leWUuaCIsCSJNRVlFSU9DX0dfUEFSQU1TIiwJMHg3NmMwfSwKKwl7ImxpbnV4L21leWUuaCIsCSJNRVlFSU9DX1NfUEFSQU1TIiwJMHg3NmMxfSwKKwl7ImxpbnV4L21leWUuaCIsCSJNRVlFSU9DX1FCVUZfQ0FQVCIsCTB4NzZjMn0sCisJeyJsaW51eC9tZXllLmgiLAkiTUVZRUlPQ19TWU5DIiwJMHg3NmMzfSwKKwl7ImxpbnV4L21leWUuaCIsCSJNRVlFSU9DX1NUSUxMQ0FQVCIsCTB4NzZjNH0sCisJeyJsaW51eC9tZXllLmgiLAkiTUVZRUlPQ19TVElMTEpDQVBUIiwJMHg3NmM1fSwKKwl7ImxpbnV4L2RuLmgiLAkiU0lPQ1NORVRBRERSIiwJMHg4OWUwfSwKKwl7ImxpbnV4L2RuLmgiLAkiT1NJT0NTTkVUQUREUiIsCTB4ODllMH0sCisJeyJsaW51eC9kbi5oIiwJIlNJT0NHTkVUQUREUiIsCTB4ODllMX0sCisJeyJsaW51eC9kbi5oIiwJIk9TSU9DR05FVEFERFIiLAkweDg5ZTF9LAorCXsibGludXgvYXV0b19mcy5oIiwJIkFVVE9GU19JT0NfUkVBRFkiLAkweDkzNjB9LAorCXsibGludXgvYXV0b19mcy5oIiwJIkFVVE9GU19JT0NfRkFJTCIsCTB4OTM2MX0sCisJeyJsaW51eC9hdXRvX2ZzLmgiLAkiQVVUT0ZTX0lPQ19DQVRBVE9OSUMiLAkweDkzNjJ9LAorCXsibGludXgvYXV0b19mcy5oIiwJIkFVVE9GU19JT0NfUFJPVE9WRVIiLAkweDkzNjN9LAorCXsibGludXgvYXV0b19mcy5oIiwJIkFVVE9GU19JT0NfU0VUVElNRU9VVCIsCTB4OTM2NH0sCisJeyJsaW51eC9hdXRvX2ZzLmgiLAkiQVVUT0ZTX0lPQ19FWFBJUkUiLAkweDkzNjV9LAorCXsibGludXgvYXV0b19mczQuaCIsCSJBVVRPRlNfSU9DX0VYUElSRV9NVUxUSSIsCTB4OTM2Nn0sCisJeyJsaW51eC9uYmQuaCIsCSJOQkRfU0VUX1NPQ0siLAkweGFiMDB9LAorCXsibGludXgvbmJkLmgiLAkiTkJEX1NFVF9CTEtTSVpFIiwJMHhhYjAxfSwKKwl7ImxpbnV4L25iZC5oIiwJIk5CRF9TRVRfU0laRSIsCTB4YWIwMn0sCisJeyJsaW51eC9uYmQuaCIsCSJOQkRfRE9fSVQiLAkweGFiMDN9LAorCXsibGludXgvbmJkLmgiLAkiTkJEX0NMRUFSX1NPQ0siLAkweGFiMDR9LAorCXsibGludXgvbmJkLmgiLAkiTkJEX0NMRUFSX1FVRSIsCTB4YWIwNX0sCisJeyJsaW51eC9uYmQuaCIsCSJOQkRfUFJJTlRfREVCVUciLAkweGFiMDZ9LAorCXsibGludXgvbmJkLmgiLAkiTkJEX1NFVF9TSVpFX0JMT0NLUyIsCTB4YWIwN30sCisJeyJsaW51eC9uYmQuaCIsCSJOQkRfRElTQ09OTkVDVCIsCTB4YWIwOH0sCisJeyJsaW51eC9yYXcuaCIsCSJSQVdfU0VUQklORCIsCTB4YWMwMH0sCisJeyJsaW51eC9yYXcuaCIsCSJSQVdfR0VUQklORCIsCTB4YWMwMX0sCisJeyJsaW51eC9pZl9wcHBveC5oIiwJIlBQUE9FSU9DU0ZXRCIsCTB4YjEwMH0sCisJeyJsaW51eC9pZl9wcHBveC5oIiwJIlBQUE9FSU9DREZXRCIsCTB4YjEwMX0sCisJeyJsaW51eC9yZWlzZXJmc19mcy5oIiwJIlJFSVNFUkZTX0lPQ19VTlBBQ0siLAkweGNkMDF9LAorCXsibGludXgvbHZtLmgiLAkiVkdfQ1JFQVRFX09MRCIsCTB4ZmUwMH0sCisJeyJsaW51eC9sdm0uaCIsCSJWR19SRU1PVkUiLAkweGZlMDF9LAorCXsibGludXgvbHZtLmgiLAkiVkdfRVhURU5EIiwJMHhmZTAzfSwKKwl7ImxpbnV4L2x2bS5oIiwJIlZHX1JFRFVDRSIsCTB4ZmUwNH0sCisJeyJsaW51eC9sdm0uaCIsCSJWR19TVEFUVVMiLAkweGZlMDV9LAorCXsibGludXgvbHZtLmgiLAkiVkdfU1RBVFVTX0dFVF9DT1VOVCIsCTB4ZmUwNn0sCisJeyJsaW51eC9sdm0uaCIsCSJWR19TVEFUVVNfR0VUX05BTUVMSVNUIiwJMHhmZTA3fSwKKwl7ImxpbnV4L2x2bS5oIiwJIlZHX1NFVF9FWFRFTkRBQkxFIiwJMHhmZTA4fSwKKwl7ImxpbnV4L2x2bS5oIiwJIlZHX1JFTkFNRSIsCTB4ZmUwOX0sCisJeyJsaW51eC9sdm0uaCIsCSJWR19DUkVBVEUiLAkweGZlMGF9LAorCXsibGludXgvbHZtLmgiLAkiTFZfQ1JFQVRFIiwJMHhmZTIwfSwKKwl7ImxpbnV4L2x2bS5oIiwJIkxWX1JFTU9WRSIsCTB4ZmUyMX0sCisJeyJsaW51eC9sdm0uaCIsCSJMVl9BQ1RJVkFURSIsCTB4ZmUyMn0sCisJeyJsaW51eC9sdm0uaCIsCSJMVl9ERUFDVElWQVRFIiwJMHhmZTIzfSwKKwl7ImxpbnV4L2x2bS5oIiwJIkxWX0VYVEVORCIsCTB4ZmUyNH0sCisJeyJsaW51eC9sdm0uaCIsCSJMVl9SRURVQ0UiLAkweGZlMjV9LAorCXsibGludXgvbHZtLmgiLAkiTFZfU1RBVFVTX0JZTkFNRSIsCTB4ZmUyNn0sCisJeyJsaW51eC9sdm0uaCIsCSJMVl9TVEFUVVNfQllJTkRFWCIsCTB4ZmUyN30sCisJeyJsaW51eC9sdm0uaCIsCSJMVl9TRVRfQUNDRVNTIiwJMHhmZTI4fSwKKwl7ImxpbnV4L2x2bS5oIiwJIkxWX1NFVF9BTExPQ0FUSU9OIiwJMHhmZTI5fSwKKwl7ImxpbnV4L2x2bS5oIiwJIkxWX1NFVF9TVEFUVVMiLAkweGZlMmF9LAorCXsibGludXgvbHZtLmgiLAkiTEVfUkVNQVAiLAkweGZlMmJ9LAorCXsibGludXgvbHZtLmgiLAkiTFZfU05BUFNIT1RfVVNFX1JBVEUiLAkweGZlMmN9LAorCXsibGludXgvbHZtLmgiLAkiTFZfU1RBVFVTX0JZREVWIiwJMHhmZTJlfSwKKwl7ImxpbnV4L2x2bS5oIiwJIkxWX1JFTkFNRSIsCTB4ZmUyZn0sCisJeyJsaW51eC9sdm0uaCIsCSJMVl9CTUFQIiwJMHhmZTMwfSwKKwl7ImxpbnV4L2x2bS5oIiwJIlBWX1NUQVRVUyIsCTB4ZmU0MH0sCisJeyJsaW51eC9sdm0uaCIsCSJQVl9DSEFOR0UiLAkweGZlNDF9LAorCXsibGludXgvbHZtLmgiLAkiUFZfRkxVU0giLAkweGZlNDJ9LAorCXsibGludXgvbHZtLmgiLAkiUEVfTE9DS19VTkxPQ0siLAkweGZlNTB9LAorCXsibGludXgvbHZtLmgiLAkiTFZNX0dFVF9JT1BfVkVSU0lPTiIsCTB4ZmU5OH0sCisJeyJsaW51eC9sdm0uaCIsCSJMVk1fUkVTRVQiLAkweGZlOTl9LAorCXsibGludXgvbHZtLmgiLAkiTFZNX0xPQ0tfTFZNIiwJMHhmZjAwfSwKZGlmZiAtLWdpdCBhL3N0cmFjZS00LjUuMjAvbGludXgvc3BhcmM2NC9pb2N0bGVudDEuaCBiL3N0cmFjZS00LjUuMjAvbGludXgvc3BhcmM2NC9pb2N0bGVudDEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZDUzNmNmCi0tLSAvZGV2L251bGwKKysrIGIvc3RyYWNlLTQuNS4yMC9saW51eC9zcGFyYzY0L2lvY3RsZW50MS5oCkBAIC0wLDAgKzEgQEAKKyNpbmNsdWRlICIuLi9zdnI0L2lvY3RsZW50LmgiCmRpZmYgLS1naXQgYS9zdHJhY2UtNC41LjIwL2xpbnV4L3NwYXJjNjQvaW9jdGxlbnQyLmggYi9zdHJhY2UtNC41LjIwL2xpbnV4L3NwYXJjNjQvaW9jdGxlbnQyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzFkNmI4YQotLS0gL2Rldi9udWxsCisrKyBiL3N0cmFjZS00LjUuMjAvbGludXgvc3BhcmM2NC9pb2N0bGVudDIuaApAQCAtMCwwICsxLDgzOCBAQAorCXsibGludXgvZnMuaCIsCSJGSUJNQVAiLAkweDF9LAorCXsibGludXgvZnMuaCIsCSJGSUdFVEJTWiIsCTB4Mn0sCisJeyJsaW51eC9mZC5oIiwJIkZER0VUUFJNIiwJMHgyMDR9LAorCXsibGludXgvZmQuaCIsCSJGREdFVE1BWEVSUlMiLAkweDIwZX0sCisJeyJsaW51eC9mZC5oIiwJIkZER0VURFJWVFlQIiwJMHgyMGZ9LAorCXsibGludXgvZmQuaCIsCSJGREdFVERSVlBSTSIsCTB4MjExfSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRHRVREUlZTVEFUIiwJMHgyMTJ9LAorCXsibGludXgvZmQuaCIsCSJGRFBPTExEUlZTVEFUIiwJMHgyMTN9LAorCXsibGludXgvZmQuaCIsCSJGREdFVEZEQ1NUQVQiLAkweDIxNX0sCisJeyJsaW51eC9mZC5oIiwJIkZEV0VSUk9SR0VUIiwJMHgyMTd9LAorCXsibGludXgvZmQuaCIsCSJGRENMUlBSTSIsCTB4MjQxfSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRTRVRQUk0iLAkweDI0Mn0sCisJeyJsaW51eC9mZC5oIiwJIkZEREVGUFJNIiwJMHgyNDN9LAorCXsibGludXgvZmQuaCIsCSJGRE1TR09OIiwJMHgyNDV9LAorCXsibGludXgvZmQuaCIsCSJGRE1TR09GRiIsCTB4MjQ2fSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRGTVRCRUciLAkweDI0N30sCisJeyJsaW51eC9mZC5oIiwJIkZERk1UVFJLIiwJMHgyNDh9LAorCXsibGludXgvZmQuaCIsCSJGREZNVEVORCIsCTB4MjQ5fSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRTRVRFTVNHVFJFU0giLAkweDI0YX0sCisJeyJsaW51eC9mZC5oIiwJIkZERkxVU0giLAkweDI0Yn0sCisJeyJsaW51eC9mZC5oIiwJIkZEU0VUTUFYRVJSUyIsCTB4MjRjfSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRSRVNFVCIsCTB4MjU0fSwKKwl7ImxpbnV4L2ZkLmgiLAkiRkRXRVJST1JDTFIiLAkweDI1Nn0sCisJeyJsaW51eC9mZC5oIiwJIkZEUkFXQ01EIiwJMHgyNTh9LAorCXsibGludXgvZmQuaCIsCSJGRFRXQURETEUiLAkweDI1OX0sCisJeyJsaW51eC9mZC5oIiwJIkZERUpFQ1QiLAkweDI1YX0sCisJeyJsaW51eC9mZC5oIiwJIkZEU0VURFJWUFJNIiwJMHgyOTB9LAorCXsibGludXgvdW1zZG9zX2ZzLmgiLAkiVU1TRE9TX1JFQURESVJfRE9TIiwJMHg0ZDJ9LAorCXsibGludXgvdW1zZG9zX2ZzLmgiLAkiVU1TRE9TX1VOTElOS19ET1MiLAkweDRkM30sCisJeyJsaW51eC91bXNkb3NfZnMuaCIsCSJVTVNET1NfUk1ESVJfRE9TIiwJMHg0ZDR9LAorCXsibGludXgvdW1zZG9zX2ZzLmgiLAkiVU1TRE9TX1NUQVRfRE9TIiwJMHg0ZDV9LAorCXsibGludXgvdW1zZG9zX2ZzLmgiLAkiVU1TRE9TX0NSRUFUX0VNRCIsCTB4NGQ2fSwKKwl7ImxpbnV4L3Vtc2Rvc19mcy5oIiwJIlVNU0RPU19VTkxJTktfRU1EIiwJMHg0ZDd9LAorCXsibGludXgvdW1zZG9zX2ZzLmgiLAkiVU1TRE9TX1JFQURESVJfRU1EIiwJMHg0ZDh9LAorCXsibGludXgvdW1zZG9zX2ZzLmgiLAkiVU1TRE9TX0dFVFZFUlNJT04iLAkweDRkOX0sCisJeyJsaW51eC91bXNkb3NfZnMuaCIsCSJVTVNET1NfSU5JVF9FTUQiLAkweDRkYX0sCisJeyJsaW51eC91bXNkb3NfZnMuaCIsCSJVTVNET1NfRE9TX1NFVFVQIiwJMHg0ZGJ9LAorCXsibGludXgvdW1zZG9zX2ZzLmgiLAkiVU1TRE9TX1JFTkFNRV9ET1MiLAkweDRkY30sCisJeyJsaW51eC9mcy5oIiwJIkJMS1JPU0VUIiwJMHgxMjVkfSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLUk9HRVQiLAkweDEyNWV9LAorCXsibGludXgvZnMuaCIsCSJCTEtSUlBBUlQiLAkweDEyNWZ9LAorCXsibGludXgvZnMuaCIsCSJCTEtHRVRTSVpFIiwJMHgxMjYwfSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLRkxTQlVGIiwJMHgxMjYxfSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLUkFTRVQiLAkweDEyNjJ9LAorCXsibGludXgvZnMuaCIsCSJCTEtSQUdFVCIsCTB4MTI2M30sCisJeyJsaW51eC9mcy5oIiwJIkJMS0ZSQVNFVCIsCTB4MTI2NH0sCisJeyJsaW51eC9mcy5oIiwJIkJMS0ZSQUdFVCIsCTB4MTI2NX0sCisJeyJsaW51eC9mcy5oIiwJIkJMS1NFQ1RTRVQiLAkweDEyNjZ9LAorCXsibGludXgvZnMuaCIsCSJCTEtTRUNUR0VUIiwJMHgxMjY3fSwKKwl7ImxpbnV4L2ZzLmgiLAkiQkxLU1NaR0VUIiwJMHgxMjY4fSwKKwl7ImxpbnV4L2Jsa3BnLmgiLAkiQkxLUEciLAkweDEyNjl9LAorCXsibGludXgvZnMuaCIsCSJCTEtQRyIsCTB4MTI2OX0sCisJeyJsaW51eC9lbGV2YXRvci5oIiwJIkJMS0VMVkdFVCIsCTB4MTI2YX0sCisJeyJsaW51eC9mcy5oIiwJIkJMS0VMVkdFVCIsCTB4MTI2YX0sCisJeyJsaW51eC9lbGV2YXRvci5oIiwJIkJMS0VMVlNFVCIsCTB4MTI2Yn0sCisJeyJsaW51eC9mcy5oIiwJIkJMS0VMVlNFVCIsCTB4MTI2Yn0sCisJeyJsaW51eC9mcy5oIiwJIkJMS0JTWkdFVCIsCTB4MTI3MH0sCisJeyJsaW51eC9mcy5oIiwJIkJMS0JTWlNFVCIsCTB4MTI3MX0sCisJeyJsaW51eC9mcy5oIiwJIkJMS0dFVFNJWkU2NCIsCTB4MTI3Mn0sCisJeyJsaW51eC9hZ3BnYXJ0LmgiLAkiQUdQSU9DX0lORk8iLAkweDQxMDB9LAorCXsibGludXgvYWdwZ2FydC5oIiwJIkFHUElPQ19BQ1FVSVJFIiwJMHg0MTAxfSwKKwl7ImxpbnV4L2FwbV9iaW9zLmgiLAkiQVBNX0lPQ19TVEFOREJZIiwJMHg0MTAxfSwKKwl7ImxpbnV4L2FncGdhcnQuaCIsCSJBR1BJT0NfUkVMRUFTRSIsCTB4NDEwMn0sCisJeyJsaW51eC9hcG1fYmlvcy5oIiwJIkFQTV9JT0NfU1VTUEVORCIsCTB4NDEwMn0sCisJeyJsaW51eC9hZ3BnYXJ0LmgiLAkiQUdQSU9DX1NFVFVQIiwJMHg0MTAzfSwKKwl7ImxpbnV4L2FncGdhcnQuaCIsCSJBR1BJT0NfUkVTRVJWRSIsCTB4NDEwNH0sCisJeyJsaW51eC9hZ3BnYXJ0LmgiLAkiQUdQSU9DX1BST1RFQ1QiLAkweDQxMDV9LAorCXsibGludXgvYWdwZ2FydC5oIiwJIkFHUElPQ19BTExPQ0FURSIsCTB4NDEwNn0sCisJeyJsaW51eC9hZ3BnYXJ0LmgiLAkiQUdQSU9DX0RFQUxMT0NBVEUiLAkweDQxMDd9LAorCXsibGludXgvYWdwZ2FydC5oIiwJIkFHUElPQ19CSU5EIiwJMHg0MTA4fSwKKwl7ImxpbnV4L2FncGdhcnQuaCIsCSJBR1BJT0NfVU5CSU5EIiwJMHg0MTA5fSwKKwl7ImxpbnV4L3BtdS5oIiwJIlBNVV9JT0NfU0xFRVAiLAkweDQyMDB9LAorCXsibGludXgvY2Npc3NfaW9jdGwuaCIsCSJDQ0lTU19HRVRQQ0lJTkZPIiwJMHg0MjAxfSwKKwl7ImxpbnV4L3BtdS5oIiwJIlBNVV9JT0NfR0VUX0JBQ0tMSUdIVCIsCTB4NDIwMX0sCisJeyJsaW51eC9jY2lzc19pb2N0bC5oIiwJIkNDSVNTX0dFVElOVElORk8iLAkweDQyMDJ9LAorCXsibGludXgvcG11LmgiLAkiUE1VX0lPQ19TRVRfQkFDS0xJR0hUIiwJMHg0MjAyfSwKKwl7ImxpbnV4L2NjaXNzX2lvY3RsLmgiLAkiQ0NJU1NfU0VUSU5USU5GTyIsCTB4NDIwM30sCisJeyJsaW51eC9wbXUuaCIsCSJQTVVfSU9DX0dFVF9NT0RFTCIsCTB4NDIwM30sCisJeyJsaW51eC9jY2lzc19pb2N0bC5oIiwJIkNDSVNTX0dFVE5PREVOQU1FIiwJMHg0MjA0fSwKKwl7ImxpbnV4L3BtdS5oIiwJIlBNVV9JT0NfSEFTX0FEQiIsCTB4NDIwNH0sCisJeyJsaW51eC9jY2lzc19pb2N0bC5oIiwJIkNDSVNTX1NFVE5PREVOQU1FIiwJMHg0MjA1fSwKKwl7ImxpbnV4L3BtdS5oIiwJIlBNVV9JT0NfQ0FOX1NMRUVQIiwJMHg0MjA1fSwKKwl7ImxpbnV4L2NjaXNzX2lvY3RsLmgiLAkiQ0NJU1NfR0VUSEVBUlRCRUFUIiwJMHg0MjA2fSwKKwl7ImxpbnV4L2NjaXNzX2lvY3RsLmgiLAkiQ0NJU1NfR0VUQlVTVFlQRVMiLAkweDQyMDd9LAorCXsibGludXgvY2Npc3NfaW9jdGwuaCIsCSJDQ0lTU19HRVRGSVJNVkVSIiwJMHg0MjA4fSwKKwl7ImxpbnV4L2NjaXNzX2lvY3RsLmgiLAkiQ0NJU1NfR0VURFJJVlZFUiIsCTB4NDIwOX0sCisJeyJsaW51eC9jY2lzc19pb2N0bC5oIiwJIkNDSVNTX1JFVkFMSURWT0xTIiwJMHg0MjBhfSwKKwl7ImxpbnV4L2NjaXNzX2lvY3RsLmgiLAkiQ0NJU1NfUEFTU1RIUlUiLAkweDQyMGJ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0NPUFJfUkVTRVQiLAkweDQzMDB9LAorCXsibGludXgvY2FwaS5oIiwJIkNBUElfUkVHSVNURVIiLAkweDQzMDF9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0NPUFJfTE9BRCIsCTB4NDMwMX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfQ09QUl9SREFUQSIsCTB4NDMwMn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfQ09QUl9SQ09ERSIsCTB4NDMwM30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfQ09QUl9XREFUQSIsCTB4NDMwNH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfQ09QUl9XQ09ERSIsCTB4NDMwNX0sCisJeyJsaW51eC9jYXBpLmgiLAkiQ0FQSV9HRVRfTUFOVUZBQ1RVUkVSIiwJMHg0MzA2fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9DT1BSX1JVTiIsCTB4NDMwNn0sCisJeyJsaW51eC9jYXBpLmgiLAkiQ0FQSV9HRVRfVkVSU0lPTiIsCTB4NDMwN30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfQ09QUl9IQUxUIiwJMHg0MzA3fSwKKwl7ImxpbnV4L2NhcGkuaCIsCSJDQVBJX0dFVF9TRVJJQUwiLAkweDQzMDh9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0NPUFJfU0VORE1TRyIsCTB4NDMwOH0sCisJeyJsaW51eC9jYXBpLmgiLAkiQ0FQSV9HRVRfUFJPRklMRSIsCTB4NDMwOX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfQ09QUl9SQ1ZNU0ciLAkweDQzMDl9LAorCXsibGludXgvY2FwaS5oIiwJIkNBUElfTUFOVUZBQ1RVUkVSX0NNRCIsCTB4NDMyMH0sCisJeyJsaW51eC9jYXBpLmgiLAkiQ0FQSV9HRVRfRVJSQ09ERSIsCTB4NDMyMX0sCisJeyJsaW51eC9jYXBpLmgiLAkiQ0FQSV9JTlNUQUxMRUQiLAkweDQzMjJ9LAorCXsibGludXgvY2FwaS5oIiwJIkNBUElfR0VUX0ZMQUdTIiwJMHg0MzIzfSwKKwl7ImxpbnV4L2NhcGkuaCIsCSJDQVBJX1NFVF9GTEFHUyIsCTB4NDMyNH0sCisJeyJsaW51eC9jYXBpLmgiLAkiQ0FQSV9DTFJfRkxBR1MiLAkweDQzMjV9LAorCXsibGludXgvY2FwaS5oIiwJIkNBUElfTkNDSV9PUEVOQ09VTlQiLAkweDQzMjZ9LAorCXsibGludXgvY2FwaS5oIiwJIkNBUElfTkNDSV9HRVRVTklUIiwJMHg0MzI3fSwKKwl7ImxpbnV4L2lucHV0LmgiLAkiRVZJT0NHVkVSU0lPTiIsCTB4NDUwMX0sCisJeyJsaW51eC9pbnB1dC5oIiwJIkVWSU9DR0lEIiwJMHg0NTAyfSwKKwl7ImxpbnV4L2lucHV0LmgiLAkiRVZJT0NHUkVQIiwJMHg0NTAzfSwKKwl7ImxpbnV4L2lucHV0LmgiLAkiRVZJT0NTUkVQIiwJMHg0NTAzfSwKKwl7ImxpbnV4L2lucHV0LmgiLAkiRVZJT0NHS0VZQ09ERSIsCTB4NDUwNH0sCisJeyJsaW51eC9pbnB1dC5oIiwJIkVWSU9DU0tFWUNPREUiLAkweDQ1MDR9LAorCXsibGludXgvaW5wdXQuaCIsCSJFVklPQ0dLRVkiLAkweDQ1MDV9LAorCXsibGludXgvaW5wdXQuaCIsCSJFVklPQ0dCVVMiLAkweDQ1MDd9LAorCXsibGludXgvaW5wdXQuaCIsCSJFVklPQ1JNRkYiLAkweDQ1ODF9LAorCXsibGludXgvaW5wdXQuaCIsCSJFVklPQ1NHQUlOIiwJMHg0NTgyfSwKKwl7ImxpbnV4L2lucHV0LmgiLAkiRVZJT0NTQVVUT0NFTlRFUiIsCTB4NDU4M30sCisJeyJsaW51eC9pbnB1dC5oIiwJIkVWSU9DR0VGRkVDVFMiLAkweDQ1ODR9LAorCXsibGludXgvZmIuaCIsCSJGQklPR0VUX1ZCTEFOSyIsCTB4NDYxMn0sCisJeyJsaW51eC9oaWRkZXYuaCIsCSJISURJT0NHVkVSU0lPTiIsCTB4NDgwMX0sCisJeyJsaW51eC9oaWRkZXYuaCIsCSJISURJT0NBUFBMSUNBVElPTiIsCTB4NDgwMn0sCisJeyJsaW51eC9oaWRkZXYuaCIsCSJISURJT0NHREVWSU5GTyIsCTB4NDgwM30sCisJeyJsaW51eC9oaWRkZXYuaCIsCSJISURJT0NHU1RSSU5HIiwJMHg0ODA0fSwKKwl7ImxpbnV4L2hpZGRldi5oIiwJIkhJRElPQ0lOSVRSRVBPUlQiLAkweDQ4MDV9LAorCXsibGludXgvaGlkZGV2LmgiLAkiSElESU9DR1JFUE9SVCIsCTB4NDgwN30sCisJeyJsaW51eC9oaWRkZXYuaCIsCSJISURJT0NTUkVQT1JUIiwJMHg0ODA4fSwKKwl7ImxpbnV4L2hpZGRldi5oIiwJIkhJRElPQ0dSRVBPUlRJTkZPIiwJMHg0ODA5fSwKKwl7ImxpbnV4L2hpZGRldi5oIiwJIkhJRElPQ0dGSUVMRElORk8iLAkweDQ4MGF9LAorCXsibGludXgvaGlkZGV2LmgiLAkiSElESU9DR1VTQUdFIiwJMHg0ODBifSwKKwl7ImxpbnV4L2hpZGRldi5oIiwJIkhJRElPQ1NVU0FHRSIsCTB4NDgwY30sCisJeyJsaW51eC9oaWRkZXYuaCIsCSJISURJT0NHVUNPREUiLAkweDQ4MGR9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRBSUYiLAkweDQ5MDF9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRESUYiLAkweDQ5MDJ9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRTQ0YiLAkweDQ5MDN9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRHQ0YiLAkweDQ5MDR9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRBTk0iLAkweDQ5MDV9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRETk0iLAkweDQ5MDZ9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRHTk0iLAkweDQ5MDd9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NHRVRTRVQiLAkweDQ5MDh9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NTRVRTRVQiLAkweDQ5MDl9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NTRVRWRVIiLAkweDQ5MGF9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRIVVAiLAkweDQ5MGJ9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NTRVRHU1QiLAkweDQ5MGN9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NTRVRCUkoiLAkweDQ5MGR9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NTSUdQUkYiLAkweDQ5MGV9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NHRVRQUkYiLAkweDQ5MGZ9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NTRVRQUkYiLAkweDQ5MTB9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NHRVRNQVAiLAkweDQ5MTF9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NTRVRNQVAiLAkweDQ5MTJ9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRBU0wiLAkweDQ5MTN9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRESUwiLAkweDQ5MTR9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NHRVRDUFMiLAkweDQ5MTV9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NHRVREVlIiLAkweDQ5MTZ9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRMQ1IiLAkweDQ5MTd9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVREV1JTRVQiLAkweDQ5MTh9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRBTE4iLAkweDQ5MjB9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRETE4iLAkweDQ5MjF9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NORVRHUE4iLAkweDQ5MjJ9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NEQkdWQVIiLAkweDQ5N2Z9LAorCXsibGludXgvaXNkbi5oIiwJIklJT0NEUlZDVEwiLAkweDQ5ODB9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfTUlYRVJfSU5GTyIsCTB4NGQ2NX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9PTERfTUlYRVJfSU5GTyIsCTB4NGQ2NX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9NSVhFUl9BQ0NFU1MiLAkweDRkNjZ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfTUlYRVJfQUdDIiwJMHg0ZDY3fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNPVU5EX01JWEVSXzNEU0UiLAkweDRkNjh9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfTUlYRVJfUFJJVkFURTEiLAkweDRkNmZ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfTUlYRVJfUFJJVkFURTIiLAkweDRkNzB9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfTUlYRVJfUFJJVkFURTMiLAkweDRkNzF9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfTUlYRVJfUFJJVkFURTQiLAkweDRkNzJ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfTUlYRVJfUFJJVkFURTUiLAkweDRkNzN9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU09VTkRfTUlYRVJfR0VUTEVWRUxTIiwJMHg0ZDc0fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNPVU5EX01JWEVSX1NFVExFVkVMUyIsCTB4NGQ3NX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJPU1NfR0VUVkVSU0lPTiIsCTB4NGQ3Nn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX1JFU0VUIiwJMHg1MDAwfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfU1lOQyIsCTB4NTAwMX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX1NQRUVEIiwJMHg1MDAyfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNPVU5EX1BDTV9SRUFEX1JBVEUiLAkweDUwMDJ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9TVEVSRU8iLAkweDUwMDN9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9HRVRCTEtTSVpFIiwJMHg1MDA0fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfU0VURk1UIiwJMHg1MDA1fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNPVU5EX1BDTV9SRUFEX0JJVFMiLAkweDUwMDV9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9DSEFOTkVMUyIsCTB4NTAwNn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9QQ01fUkVBRF9DSEFOTkVMUyIsCTB4NTAwNn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTT1VORF9QQ01fV1JJVEVfRklMVEVSIiwJMHg1MDA3fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNPVU5EX1BDTV9SRUFEX0ZJTFRFUiIsCTB4NTAwN30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX1BPU1QiLAkweDUwMDh9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9TVUJESVZJREUiLAkweDUwMDl9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9TRVRGUkFHTUVOVCIsCTB4NTAwYX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX0dFVEZNVFMiLAkweDUwMGJ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9HRVRPU1BBQ0UiLAkweDUwMGN9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9HRVRJU1BBQ0UiLAkweDUwMGR9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9OT05CTE9DSyIsCTB4NTAwZX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX0dFVENBUFMiLAkweDUwMGZ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9HRVRUUklHR0VSIiwJMHg1MDEwfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfU0VUVFJJR0dFUiIsCTB4NTAxMH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX0dFVElQVFIiLAkweDUwMTF9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9HRVRPUFRSIiwJMHg1MDEyfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfTUFQSU5CVUYiLAkweDUwMTN9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9NQVBPVVRCVUYiLAkweDUwMTR9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9TRVRTWU5DUk8iLAkweDUwMTV9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9TRVREVVBMRVgiLAkweDUwMTZ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9HRVRPREVMQVkiLAkweDUwMTd9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9QUk9GSUxFIiwJMHg1MDE3fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9EU1BfR0VUQ0hBTk5FTE1BU0siLAkweDUwNDB9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9CSU5EX0NIQU5ORUwiLAkweDUwNDF9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX0RTUF9TRVRTUERJRiIsCTB4NTA0Mn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRFNQX0dFVFNQRElGIiwJMHg1MDQzfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TRVFfUkVTRVQiLAkweDUxMDB9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NFUV9TWU5DIiwJMHg1MTAxfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TWU5USF9JTkZPIiwJMHg1MTAyfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TRVFfQ1RSTFJBVEUiLAkweDUxMDN9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NFUV9HRVRPVVRDT1VOVCIsCTB4NTEwNH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU0VRX0dFVElOQ09VTlQiLAkweDUxMDV9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NFUV9QRVJDTU9ERSIsCTB4NTEwNn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRk1fTE9BRF9JTlNUUiIsCTB4NTEwN30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU0VRX1RFU1RNSURJIiwJMHg1MTA4fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TRVFfUkVTRVRTQU1QTEVTIiwJMHg1MTA5fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TRVFfTlJTWU5USFMiLAkweDUxMGF9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NFUV9OUk1JRElTIiwJMHg1MTBifSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9NSURJX0lORk8iLAkweDUxMGN9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NFUV9USFJFU0hPTEQiLAkweDUxMGR9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NZTlRIX01FTUFWTCIsCTB4NTEwZX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfRk1fNE9QX0VOQUJMRSIsCTB4NTEwZn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU0VRX1BBTklDIiwJMHg1MTExfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TRVFfT1VUT0ZCQU5EIiwJMHg1MTEyfSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9TRVFfR0VUVElNRSIsCTB4NTExM30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfU1lOVEhfSUQiLAkweDUxMTR9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NZTlRIX0NPTlRST0wiLAkweDUxMTV9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1NZTlRIX1JFTU9WRVNBTVBMRSIsCTB4NTExNn0sCisJeyJsaW51eC9yYW5kb20uaCIsCSJSTkRHRVRFTlRDTlQiLAkweDUyMDB9LAorCXsibGludXgvcmFuZG9tLmgiLAkiUk5EQUREVE9FTlRDTlQiLAkweDUyMDF9LAorCXsibGludXgvcmFuZG9tLmgiLAkiUk5ER0VUUE9PTCIsCTB4NTIwMn0sCisJeyJsaW51eC9yYW5kb20uaCIsCSJSTkRBRERFTlRST1BZIiwJMHg1MjAzfSwKKwl7ImxpbnV4L3JhbmRvbS5oIiwJIlJORFpBUEVOVENOVCIsCTB4NTIwNH0sCisJeyJsaW51eC9yYW5kb20uaCIsCSJSTkRDTEVBUlBPT0wiLAkweDUyMDZ9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRDR0VUUyIsCTB4NTQwMX0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfVE1SX1RJTUVCQVNFIiwJMHg1NDAxfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUQ1NFVFMiLAkweDU0MDJ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1RNUl9TVEFSVCIsCTB4NTQwMn0sCisJeyJhc20vaW9jdGxzLmgiLAkiVENTRVRTVyIsCTB4NTQwM30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfVE1SX1NUT1AiLAkweDU0MDN9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRDU0VUU0YiLAkweDU0MDR9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX1RNUl9DT05USU5VRSIsCTB4NTQwNH0sCisJeyJhc20vaW9jdGxzLmgiLAkiVENHRVRBIiwJMHg1NDA1fSwKKwl7ImxpbnV4L3NvdW5kY2FyZC5oIiwJIlNORENUTF9UTVJfVEVNUE8iLAkweDU0MDV9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRDU0VUQSIsCTB4NTQwNn0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfVE1SX1NPVVJDRSIsCTB4NTQwNn0sCisJeyJhc20vaW9jdGxzLmgiLAkiVENTRVRBVyIsCTB4NTQwN30sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfVE1SX01FVFJPTk9NRSIsCTB4NTQwN30sCisJeyJhc20vaW9jdGxzLmgiLAkiVENTRVRBRiIsCTB4NTQwOH0sCisJeyJsaW51eC9zb3VuZGNhcmQuaCIsCSJTTkRDVExfVE1SX1NFTEVDVCIsCTB4NTQwOH0sCisJeyJhc20vaW9jdGxzLmgiLAkiVENTQlJLIiwJMHg1NDA5fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUQ1hPTkMiLAkweDU0MGF9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRDRkxTSCIsCTB4NTQwYn0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ0VYQ0wiLAkweDU0MGN9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NOWENMIiwJMHg1NDBkfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DU0NUVFkiLAkweDU0MGV9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NHUEdSUCIsCTB4NTQwZn0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NQR1JQIiwJMHg1NDEwfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DT1VUUSIsCTB4NTQxMX0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NUSSIsCTB4NTQxMn0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ0dXSU5TWiIsCTB4NTQxM30sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NXSU5TWiIsCTB4NTQxNH0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ01HRVQiLAkweDU0MTV9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NNQklTIiwJMHg1NDE2fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DTUJJQyIsCTB4NTQxN30sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ01TRVQiLAkweDU0MTh9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NHU09GVENBUiIsCTB4NTQxOX0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NTT0ZUQ0FSIiwJMHg1NDFhfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJGSU9OUkVBRCIsCTB4NTQxYn0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ0xJTlVYIiwJMHg1NDFjfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DQ09OUyIsCTB4NTQxZH0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ0dTRVJJQUwiLAkweDU0MWV9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NTU0VSSUFMIiwJMHg1NDFmfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DUEtUIiwJMHg1NDIwfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJGSU9OQklPIiwJMHg1NDIxfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DTk9UVFkiLAkweDU0MjJ9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NTRVREIiwJMHg1NDIzfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DR0VURCIsCTB4NTQyNH0sCisJeyJhc20vaW9jdGxzLmgiLAkiVENTQlJLUCIsCTB4NTQyNX0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1RUWUdTVFJVQ1QiLAkweDU0MjZ9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NTQlJLIiwJMHg1NDI3fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DQ0JSSyIsCTB4NTQyOH0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ0dTSUQiLAkweDU0Mjl9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NHUFROIiwJMHg1NDMwfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DU1BUTENLIiwJMHg1NDMxfSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJGSU9OQ0xFWCIsCTB4NTQ1MH0sCisJeyJhc20vaW9jdGxzLmgiLAkiRklPQ0xFWCIsCTB4NTQ1MX0sCisJeyJhc20vaW9jdGxzLmgiLAkiRklPQVNZTkMiLAkweDU0NTJ9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NTRVJDT05GSUciLAkweDU0NTN9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NTRVJHV0lMRCIsCTB4NTQ1NH0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NFUlNXSUxEIiwJMHg1NDU1fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DR0xDS1RSTUlPUyIsCTB4NTQ1Nn0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ1NMQ0tUUk1JT1MiLAkweDU0NTd9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NTRVJHU1RSVUNUIiwJMHg1NDU4fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DU0VSR0VUTFNSIiwJMHg1NDU5fSwKKwl7ImFzbS9pb2N0bHMuaCIsCSJUSU9DU0VSR0VUTVVMVEkiLAkweDU0NWF9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NTRVJTRVRNVUxUSSIsCTB4NTQ1Yn0sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ01JV0FJVCIsCTB4NTQ1Y30sCisJeyJhc20vaW9jdGxzLmgiLAkiVElPQ0dJQ09VTlQiLAkweDU0NWR9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NHSEFZRVNFU1AiLAkweDU0NWV9LAorCXsiYXNtL2lvY3Rscy5oIiwJIlRJT0NTSEFZRVNFU1AiLAkweDU0NWZ9LAorCXsibGludXgvaWZfdHVuLmgiLAkiVFVOU0VUTk9DU1VNIiwJMHg1NGM4fSwKKwl7ImxpbnV4L2lmX3R1bi5oIiwJIlRVTlNFVERFQlVHIiwJMHg1NGM5fSwKKwl7ImxpbnV4L2lmX3R1bi5oIiwJIlRVTlNFVElGRiIsCTB4NTRjYX0sCisJeyJsaW51eC9pZl90dW4uaCIsCSJUVU5TRVRQRVJTSVNUIiwJMHg1NGNifSwKKwl7ImxpbnV4L2lmX3R1bi5oIiwJIlRVTlNFVE9XTkVSIiwJMHg1NGNjfSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX0NPTlRST0wiLAkweDU1MDB9LAorCXsibGludXgvdXNiZGV2aWNlX2ZzLmgiLAkiVVNCREVWRlNfQlVMSyIsCTB4NTUwMn0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19SRVNFVEVQIiwJMHg1NTAzfSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX1NFVElOVEVSRkFDRSIsCTB4NTUwNH0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19TRVRDT05GSUdVUkFUSU9OIiwJMHg1NTA1fSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX0dFVERSSVZFUiIsCTB4NTUwOH0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19TVUJNSVRVUkIiLAkweDU1MGF9LAorCXsibGludXgvdXNiZGV2aWNlX2ZzLmgiLAkiVVNCREVWRlNfRElTQ0FSRFVSQiIsCTB4NTUwYn0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19SRUFQVVJCIiwJMHg1NTBjfSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX1JFQVBVUkJOREVMQVkiLAkweDU1MGR9LAorCXsibGludXgvdXNiZGV2aWNlX2ZzLmgiLAkiVVNCREVWRlNfRElTQ1NJR05BTCIsCTB4NTUwZX0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19DTEFJTUlOVEVSRkFDRSIsCTB4NTUwZn0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19SRUxFQVNFSU5URVJGQUNFIiwJMHg1NTEwfSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX0NPTk5FQ1RJTkZPIiwJMHg1NTExfSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX0lPQ1RMIiwJMHg1NTEyfSwKKwl7ImxpbnV4L3VzYmRldmljZV9mcy5oIiwJIlVTQkRFVkZTX0hVQl9QT1JUSU5GTyIsCTB4NTUxM30sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19SRVNFVCIsCTB4NTUxNH0sCisJeyJsaW51eC91c2JkZXZpY2VfZnMuaCIsCSJVU0JERVZGU19DTEVBUl9IQUxUIiwJMHg1NTE1fSwKKwl7ImxpbnV4L3dhdGNoZG9nLmgiLAkiV0RJT0NfR0VUU1VQUE9SVCIsCTB4NTcwMH0sCisJeyJsaW51eC93YXRjaGRvZy5oIiwJIldESU9DX0dFVFNUQVRVUyIsCTB4NTcwMX0sCisJeyJsaW51eC93YXRjaGRvZy5oIiwJIldESU9DX0dFVEJPT1RTVEFUVVMiLAkweDU3MDJ9LAorCXsibGludXgvd2F0Y2hkb2cuaCIsCSJXRElPQ19HRVRURU1QIiwJMHg1NzAzfSwKKwl7ImxpbnV4L3dhdGNoZG9nLmgiLAkiV0RJT0NfU0VUT1BUSU9OUyIsCTB4NTcwNH0sCisJeyJsaW51eC93YXRjaGRvZy5oIiwJIldESU9DX0tFRVBBTElWRSIsCTB4NTcwNX0sCisJeyJsaW51eC93YXRjaGRvZy5oIiwJIldESU9DX1NFVFRJTUVPVVQiLAkweDU3MDZ9LAorCXsibGludXgvd2F0Y2hkb2cuaCIsCSJXRElPQ19HRVRUSU1FT1VUIiwJMHg1NzA3fSwKKwl7ImxpbnV4L2l0ZV9ncGlvLmgiLAkiSVRFX0dQSU9fSU4iLAkweDVhMDB9LAorCXsibGludXgvaXRlX2dwaW8uaCIsCSJJVEVfR1BJT19PVVQiLAkweDVhMDF9LAorCXsibGludXgvaXRlX2dwaW8uaCIsCSJJVEVfR1BJT19JTlRfQ1RSTCIsCTB4NWEwMn0sCisJeyJsaW51eC9pdGVfZ3Bpby5oIiwJIklURV9HUElPX0lOX1NUQVRVUyIsCTB4NWEwM30sCisJeyJsaW51eC9pdGVfZ3Bpby5oIiwJIklURV9HUElPX09VVF9TVEFUVVMiLAkweDVhMDR9LAorCXsibGludXgvaXRlX2dwaW8uaCIsCSJJVEVfR1BJT19HRU5fQ1RSTCIsCTB4NWEwNX0sCisJeyJsaW51eC9pdGVfZ3Bpby5oIiwJIklURV9HUElPX0lOVF9XQUlUIiwJMHg1YTA2fSwKKwl7ImxpbnV4L3NvbmV0LmgiLAkiU09ORVRfR0VUU1RBVCIsCTB4NjExMH0sCisJeyJsaW51eC9zb25ldC5oIiwJIlNPTkVUX0dFVFNUQVRaIiwJMHg2MTExfSwKKwl7ImxpbnV4L3NvbmV0LmgiLAkiU09ORVRfU0VURElBRyIsCTB4NjExMn0sCisJeyJsaW51eC9zb25ldC5oIiwJIlNPTkVUX0NMUkRJQUciLAkweDYxMTN9LAorCXsibGludXgvc29uZXQuaCIsCSJTT05FVF9HRVRESUFHIiwJMHg2MTE0fSwKKwl7ImxpbnV4L3NvbmV0LmgiLAkiU09ORVRfU0VURlJBTUlORyIsCTB4NjExNX0sCisJeyJsaW51eC9zb25ldC5oIiwJIlNPTkVUX0dFVEZSQU1JTkciLAkweDYxMTZ9LAorCXsibGludXgvc29uZXQuaCIsCSJTT05FVF9HRVRGUlNFTlNFIiwJMHg2MTE3fSwKKwl7ImxpbnV4L2F0bV9pZHQ3NzEwNS5oIiwJIklEVDc3MTA1X0dFVFNUQVQiLAkweDYxMzJ9LAorCXsibGludXgvYXRtX2lkdDc3MTA1LmgiLAkiSURUNzcxMDVfR0VUU1RBVFoiLAkweDYxMzN9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX0dFVFNUQVQiLAkweDYxNTB9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX0dFVFNUQVRaIiwJMHg2MTUxfSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9HRVRMT09QIiwJMHg2MTUyfSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9TRVRMT09QIiwJMHg2MTUzfSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9RVUVSWUxPT1AiLAkweDYxNTR9LAorCXsibGludXgvYXRtX2VuaS5oIiwJIkVOSV9NRU1EVU1QIiwJMHg2MTYwfSwKKwl7ImxpbnV4L2F0bV9uaWNzdGFyLmgiLAkiTlNfR0VUUFNUQVQiLAkweDYxNjF9LAorCXsibGludXgvYXRtX3phdG0uaCIsCSJaQVRNX0dFVFBPT0wiLAkweDYxNjF9LAorCXsibGludXgvYXRtX25pY3N0YXIuaCIsCSJOU19TRVRCVUZMRVYiLAkweDYxNjJ9LAorCXsibGludXgvYXRtX3phdG0uaCIsCSJaQVRNX0dFVFBPT0xaIiwJMHg2MTYyfSwKKwl7ImxpbnV4L2F0bV9uaWNzdGFyLmgiLAkiTlNfQURKQlVGTEVWIiwJMHg2MTYzfSwKKwl7ImxpbnV4L2F0bV96YXRtLmgiLAkiWkFUTV9TRVRQT09MIiwJMHg2MTYzfSwKKwl7ImxpbnV4L2F0bV96YXRtLmgiLAkiWkFUTV9HRVRUSElTVCIsCTB4NjE2NH0sCisJeyJsaW51eC9hdG1fZW5pLmgiLAkiRU5JX1NFVE1VTFQiLAkweDYxNjd9LAorCXsibGludXgvYXRtX3RjcC5oIiwJIlNJT0NTSUZBVE1UQ1AiLAkweDYxODB9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX0dFVExJTktSQVRFIiwJMHg2MTgxfSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9HRVROQU1FUyIsCTB4NjE4M30sCisJeyJsaW51eC9hdG1kZXYuaCIsCSJBVE1fR0VUVFlQRSIsCTB4NjE4NH0sCisJeyJsaW51eC9hdG1kZXYuaCIsCSJBVE1fR0VURVNJIiwJMHg2MTg1fSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9HRVRBRERSIiwJMHg2MTg2fSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9SU1RBRERSIiwJMHg2MTg3fSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9BRERBRERSIiwJMHg2MTg4fSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9ERUxBRERSIiwJMHg2MTg5fSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9HRVRDSVJBTkdFIiwJMHg2MThhfSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9TRVRDSVJBTkdFIiwJMHg2MThifSwKKwl7ImxpbnV4L2F0bWRldi5oIiwJIkFUTV9TRVRFU0kiLAkweDYxOGN9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX1NFVEVTSUYiLAkweDYxOGR9LAorCXsibGludXgvYXRtX3RjcC5oIiwJIkFUTVRDUF9DUkVBVEUiLAkweDYxOGV9LAorCXsibGludXgvYXRtX3RjcC5oIiwJIkFUTVRDUF9SRU1PVkUiLAkweDYxOGZ9LAorCXsibGludXgvYXRtbGVjLmgiLAkiQVRNTEVDX0NUUkwiLAkweDYxZDB9LAorCXsibGludXgvYXRtbGVjLmgiLAkiQVRNTEVDX0RBVEEiLAkweDYxZDF9LAorCXsibGludXgvYXRtbGVjLmgiLAkiQVRNTEVDX01DQVNUIiwJMHg2MWQyfSwKKwl7ImxpbnV4L2F0bW1wYy5oIiwJIkFUTU1QQ19DVFJMIiwJMHg2MWQ4fSwKKwl7ImxpbnV4L2F0bW1wYy5oIiwJIkFUTU1QQ19EQVRBIiwJMHg2MWQ5fSwKKwl7ImxpbnV4L2F0bWNsaXAuaCIsCSJTSU9DTUtDTElQIiwJMHg2MWUwfSwKKwl7ImxpbnV4L2F0bWFycC5oIiwJIkFUTUFSUERfQ1RSTCIsCTB4NjFlMX0sCisJeyJsaW51eC9hdG1hcnAuaCIsCSJBVE1BUlBfTUtJUCIsCTB4NjFlMn0sCisJeyJsaW51eC9hdG1hcnAuaCIsCSJBVE1BUlBfU0VURU5UUlkiLAkweDYxZTN9LAorCXsibGludXgvYXRtYXJwLmgiLAkiQVRNQVJQX0VOQ0FQIiwJMHg2MWU1fSwKKwl7ImxpbnV4L2F0bXN2Yy5oIiwJIkFUTVNJR0RfQ1RSTCIsCTB4NjFmMH0sCisJeyJsaW51eC9hdG1kZXYuaCIsCSJBVE1fU0VUU0MiLAkweDYxZjF9LAorCXsibGludXgvYXRtZGV2LmgiLAkiQVRNX1NFVEJBQ0tFTkQiLAkweDYxZjJ9LAorCXsibGludXgvY29kYS5oIiwJIkNJT0NfS0VSTkVMX1ZFUlNJT04iLAkweDYzMGF9LAorCXsibGludXgvY29tc3RhdHMuaCIsCSJDT01fR0VUUE9SVFNUQVRTIiwJMHg2MzFlfSwKKwl7ImxpbnV4L2NvbXN0YXRzLmgiLAkiQ09NX0NMUlBPUlRTVEFUUyIsCTB4NjMxZn0sCisJeyJsaW51eC9jb21zdGF0cy5oIiwJIkNPTV9HRVRCUkRTVEFUUyIsCTB4NjMyMH0sCisJeyJsaW51eC9jb21zdGF0cy5oIiwJIkNPTV9SRUFEUE9SVCIsCTB4NjMyOH0sCisJeyJsaW51eC9jb21zdGF0cy5oIiwJIkNPTV9SRUFEQk9BUkQiLAkweDYzMjl9LAorCXsibGludXgvY29tc3RhdHMuaCIsCSJDT01fUkVBRFBBTkVMIiwJMHg2MzJhfSwKKwl7ImxpbnV4L2RldmZzX2ZzLmgiLAkiREVWRlNESU9DX0dFVF9QUk9UT19SRVYiLAkweDY0MDB9LAorCXsibGludXgvdmlkZW9fZGVjb2Rlci5oIiwJIkRFQ09ERVJfR0VUX0NBUEFCSUxJVElFUyIsCTB4NjQwMX0sCisJeyJsaW51eC9kZXZmc19mcy5oIiwJIkRFVkZTRElPQ19TRVRfRVZFTlRfTUFTSyIsCTB4NjQwMn0sCisJeyJsaW51eC92aWRlb19kZWNvZGVyLmgiLAkiREVDT0RFUl9HRVRfU1RBVFVTIiwJMHg2NDAyfSwKKwl7ImxpbnV4L2RldmZzX2ZzLmgiLAkiREVWRlNESU9DX1JFTEVBU0VfRVZFTlRfUVVFVUUiLAkweDY0MDN9LAorCXsibGludXgvdmlkZW9fZGVjb2Rlci5oIiwJIkRFQ09ERVJfU0VUX05PUk0iLAkweDY0MDN9LAorCXsibGludXgvZGV2ZnNfZnMuaCIsCSJERVZGU0RJT0NfU0VUX0RFQlVHX01BU0siLAkweDY0MDR9LAorCXsibGludXgvdmlkZW9fZGVjb2Rlci5oIiwJIkRFQ09ERVJfU0VUX0lOUFVUIiwJMHg2NDA0fSwKKwl7ImxpbnV4L3ZpZGVvX2RlY29kZXIuaCIsCSJERUNPREVSX1NFVF9PVVRQVVQiLAkweDY0MDV9LAorCXsibGludXgvdmlkZW9fZGVjb2Rlci5oIiwJIkRFQ09ERVJfRU5BQkxFX09VVFBVVCIsCTB4NjQwNn0sCisJeyJsaW51eC92aWRlb19kZWNvZGVyLmgiLAkiREVDT0RFUl9TRVRfUElDVFVSRSIsCTB4NjQwN30sCisJeyJsaW51eC92aWRlb19kZWNvZGVyLmgiLAkiREVDT0RFUl9EVU1QIiwJMHg2NGMwfSwKKwl7ImxpbnV4L3ZpZGVvX2VuY29kZXIuaCIsCSJFTkNPREVSX0dFVF9DQVBBQklMSVRJRVMiLAkweDY1MDF9LAorCXsibGludXgvdmlkZW9fZW5jb2Rlci5oIiwJIkVOQ09ERVJfU0VUX05PUk0iLAkweDY1MDJ9LAorCXsibGludXgvdmlkZW9fZW5jb2Rlci5oIiwJIkVOQ09ERVJfU0VUX0lOUFVUIiwJMHg2NTAzfSwKKwl7ImxpbnV4L3ZpZGVvX2VuY29kZXIuaCIsCSJFTkNPREVSX1NFVF9PVVRQVVQiLAkweDY1MDR9LAorCXsibGludXgvdmlkZW9fZW5jb2Rlci5oIiwJIkVOQ09ERVJfRU5BQkxFX09VVFBVVCIsCTB4NjUwNX0sCisJeyJsaW51eC9leHQyX2ZzLmgiLAkiRVhUMl9JT0NfR0VURkxBR1MiLAkweDY2MDF9LAorCXsibGludXgvZXh0M19mcy5oIiwJIkVYVDNfSU9DX0dFVEZMQUdTIiwJMHg2NjAxfSwKKwl7ImxpbnV4L2V4dDJfZnMuaCIsCSJFWFQyX0lPQ19TRVRGTEFHUyIsCTB4NjYwMn0sCisJeyJsaW51eC9leHQzX2ZzLmgiLAkiRVhUM19JT0NfU0VURkxBR1MiLAkweDY2MDJ9LAorCXsibGludXgvZXh0M19mcy5oIiwJIkVYVDNfSU9DX0dFVFZFUlNJT04iLAkweDY2MDN9LAorCXsibGludXgvZXh0M19mcy5oIiwJIkVYVDNfSU9DX1NFVFZFUlNJT04iLAkweDY2MDR9LAorCXsibGludXgvZXh0M19mcy5oIiwJIkVYVDNfSU9DX1dBSVRfRk9SX1JFQURPTkxZIiwJMHg2NjYzfSwKKwl7ImxpbnV4L2kyby1kZXYuaCIsCSJJMk9HRVRJT1BTIiwJMHg2OTAwfSwKKwl7ImxpbnV4L2kyby1kZXYuaCIsCSJJMk9IUlRHRVQiLAkweDY5MDF9LAorCXsibGludXgvaTJvLWRldi5oIiwJIkkyT0xDVEdFVCIsCTB4NjkwMn0sCisJeyJsaW51eC9pMm8tZGV2LmgiLAkiSTJPUEFSTVNFVCIsCTB4NjkwM30sCisJeyJsaW51eC9pMm8tZGV2LmgiLAkiSTJPUEFSTUdFVCIsCTB4NjkwNH0sCisJeyJsaW51eC9pMm8tZGV2LmgiLAkiSTJPU1dETCIsCTB4NjkwNX0sCisJeyJsaW51eC9pMm8tZGV2LmgiLAkiSTJPU1dVTCIsCTB4NjkwNn0sCisJeyJsaW51eC9pMm8tZGV2LmgiLAkiSTJPU1dERUwiLAkweDY5MDd9LAorCXsibGludXgvaTJvLWRldi5oIiwJIkkyT1ZBTElEQVRFIiwJMHg2OTA4fSwKKwl7ImxpbnV4L2kyby1kZXYuaCIsCSJJMk9IVE1MIiwJMHg2OTA5fSwKKwl7ImxpbnV4L2kyby1kZXYuaCIsCSJJMk9FVlRSRUciLAkweDY5MGF9LAorCXsibGludXgvaTJvLWRldi5oIiwJIkkyT0VWVEdFVCIsCTB4NjkwYn0sCisJeyJsaW51eC9pOGsuaCIsCSJJOEtfQklPU19WRVJTSU9OIiwJMHg2OTgwfSwKKwl7ImxpbnV4L2k4ay5oIiwJIkk4S19NQUNISU5FX0lEIiwJMHg2OTgxfSwKKwl7ImxpbnV4L2k4ay5oIiwJIkk4S19QT1dFUl9TVEFUVVMiLAkweDY5ODJ9LAorCXsibGludXgvaThrLmgiLAkiSThLX0ZOX1NUQVRVUyIsCTB4Njk4M30sCisJeyJsaW51eC9pOGsuaCIsCSJJOEtfR0VUX1RFTVAiLAkweDY5ODR9LAorCXsibGludXgvaThrLmgiLAkiSThLX0dFVF9TUEVFRCIsCTB4Njk4NX0sCisJeyJsaW51eC9pOGsuaCIsCSJJOEtfR0VUX0ZBTiIsCTB4Njk4Nn0sCisJeyJsaW51eC9pOGsuaCIsCSJJOEtfU0VUX0ZBTiIsCTB4Njk4N30sCisJeyJsaW51eC9qb3lzdGljay5oIiwJIkpTSU9DR1ZFUlNJT04iLAkweDZhMDF9LAorCXsibGludXgvam95c3RpY2suaCIsCSJKU0lPQ0dBWEVTIiwJMHg2YTExfSwKKwl7ImxpbnV4L2pveXN0aWNrLmgiLAkiSlNJT0NHQlVUVE9OUyIsCTB4NmExMn0sCisJeyJsaW51eC9qb3lzdGljay5oIiwJIkpTSU9DU0NPUlIiLAkweDZhMjF9LAorCXsibGludXgvam95c3RpY2suaCIsCSJKU0lPQ0dDT1JSIiwJMHg2YTIyfSwKKwl7ImxpbnV4L2pveXN0aWNrLmgiLAkiSlNJT0NTQVhNQVAiLAkweDZhMzF9LAorCXsibGludXgvam95c3RpY2suaCIsCSJKU0lPQ0dBWE1BUCIsCTB4NmEzMn0sCisJeyJsaW51eC9qb3lzdGljay5oIiwJIkpTSU9DU0JUTk1BUCIsCTB4NmEzM30sCisJeyJsaW51eC9qb3lzdGljay5oIiwJIkpTSU9DR0JUTk1BUCIsCTB4NmEzNH0sCisJeyJsaW51eC91ZGZfZnNfaS5oIiwJIlVERl9HRVRFQVNJWkUiLAkweDZjNDB9LAorCXsibGludXgvdWRmX2ZzX2kuaCIsCSJVREZfR0VURUFCTE9DSyIsCTB4NmM0MX0sCisJeyJsaW51eC91ZGZfZnNfaS5oIiwJIlVERl9HRVRWT0xJREVOVCIsCTB4NmM0Mn0sCisJeyJsaW51eC91ZGZfZnNfaS5oIiwJIlVERl9SRUxPQ0FURV9CTE9DS1MiLAkweDZjNDN9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX01JRElfUFJFVElNRSIsCTB4NmQwMH0sCisJeyJsaW51eC9zeW5jbGluay5oIiwJIk1HU0xfSU9DU1BBUkFNUyIsCTB4NmQwMH0sCisJeyJsaW51eC9tdGlvLmgiLAkiTVRJT0NUT1AiLAkweDZkMDF9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX01JRElfTVBVTU9ERSIsCTB4NmQwMX0sCisJeyJsaW51eC9zeW5jbGluay5oIiwJIk1HU0xfSU9DR1BBUkFNUyIsCTB4NmQwMX0sCisJeyJsaW51eC9tdGlvLmgiLAkiTVRJT0NHRVQiLAkweDZkMDJ9LAorCXsibGludXgvc291bmRjYXJkLmgiLAkiU05EQ1RMX01JRElfTVBVQ01EIiwJMHg2ZDAyfSwKKwl7ImxpbnV4L3N5bmNsaW5rLmgiLAkiTUdTTF9JT0NTVFhJRExFIiwJMHg2ZDAyfSwKKwl7ImxpbnV4L210aW8uaCIsCSJNVElPQ1BPUyIsCTB4NmQwM30sCisJeyJsaW51eC9zeW5jbGluay5oIiwJIk1HU0xfSU9DR1RYSURMRSIsCTB4NmQwM30sCisJeyJsaW51eC9tdGlvLmgiLAkiTVRJT0NHRVRDT05GSUciLAkweDZkMDR9LAorCXsibGludXgvc3luY2xpbmsuaCIsCSJNR1NMX0lPQ1RYRU5BQkxFIiwJMHg2ZDA0fSwKKwl7ImxpbnV4L210aW8uaCIsCSJNVElPQ1NFVENPTkZJRyIsCTB4NmQwNX0sCisJeyJsaW51eC9zeW5jbGluay5oIiwJIk1HU0xfSU9DUlhFTkFCTEUiLAkweDZkMDV9LAorCXsibGludXgvbXRpby5oIiwJIk1USU9DUkRGVFNFRyIsCTB4NmQwNn0sCisJeyJsaW51eC9zeW5jbGluay5oIiwJIk1HU0xfSU9DVFhBQk9SVCIsCTB4NmQwNn0sCisJeyJsaW51eC9tdGlvLmgiLAkiTVRJT0NXUkZUU0VHIiwJMHg2ZDA3fSwKKwl7ImxpbnV4L3N5bmNsaW5rLmgiLAkiTUdTTF9JT0NHU1RBVFMiLAkweDZkMDd9LAorCXsibGludXgvbXRpby5oIiwJIk1USU9DVk9MSU5GTyIsCTB4NmQwOH0sCisJeyJsaW51eC9zeW5jbGluay5oIiwJIk1HU0xfSU9DV0FJVEVWRU5UIiwJMHg2ZDA4fSwKKwl7ImxpbnV4L210aW8uaCIsCSJNVElPQ0dFVFNJWkUiLAkweDZkMDl9LAorCXsibGludXgvc3luY2xpbmsuaCIsCSJNR1NMX0lPQ0xPT1BUWERPTkUiLAkweDZkMDl9LAorCXsibGludXgvbXRpby5oIiwJIk1USU9DRlRGT1JNQVQiLAkweDZkMGF9LAorCXsibGludXgvbXRpby5oIiwJIk1USU9DRlRDTUQiLAkweDZkMGJ9LAorCXsibGludXgvc3luY2xpbmsuaCIsCSJNR1NMX0lPQ0NMUk1PRENPVU5UIiwJMHg2ZDBmfSwKKwl7ImxpbnV4L3pmdGFwZS5oIiwJIk1USU9DX1pGVEFQRV9HRVRCTEtTWiIsCTB4NmQ2OH0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX05DUFJFUVVFU1QiLAkweDZlMDF9LAorCXsibGludXgvbmNwX2ZzLmgiLAkiTkNQX0lPQ19HRVRNT1VOVFVJRCIsCTB4NmUwMn0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX0dFVE1PVU5UVUlEMiIsCTB4NmUwMn0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX0NPTk5fTE9HR0VEX0lOIiwJMHg2ZTAzfSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfR0VUX0ZTX0lORk8iLAkweDZlMDR9LAorCXsibGludXgvbmNwX2ZzLmgiLAkiTkNQX0lPQ19HRVRfRlNfSU5GT19WMiIsCTB4NmUwNH0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX1NJR05fSU5JVCIsCTB4NmUwNX0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX1NJR05fV0FOVEVEIiwJMHg2ZTA2fSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfU0VUX1NJR05fV0FOVEVEIiwJMHg2ZTA2fSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfTE9DS1VOTE9DSyIsCTB4NmUwN30sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX0dFVFJPT1QiLAkweDZlMDh9LAorCXsibGludXgvbmNwX2ZzLmgiLAkiTkNQX0lPQ19TRVRST09UIiwJMHg2ZTA4fSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfR0VUT0JKRUNUTkFNRSIsCTB4NmUwOX0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX1NFVE9CSkVDVE5BTUUiLAkweDZlMDl9LAorCXsibGludXgvbmNwX2ZzLmgiLAkiTkNQX0lPQ19HRVRQUklWQVRFREFUQSIsCTB4NmUwYX0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX1NFVFBSSVZBVEVEQVRBIiwJMHg2ZTBhfSwKKwl7ImxpbnV4L25jcF9mcy5oIiwJIk5DUF9JT0NfR0VUQ0hBUlNFVFMiLAkweDZlMGJ9LAorCXsibGludXgvbmNwX2ZzLmgiLAkiTkNQX0lPQ19TRVRDSEFSU0VUUyIsCTB4NmUwYn0sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX0dFVERFTlRSWVRUTCIsCTB4NmUwY30sCisJeyJsaW51eC9uY3BfZnMuaCIsCSJOQ1BfSU9DX1NFVERFTlRSWVRUTCIsCTB4NmUwY30sCisJeyJsaW51eC9tYXRyb3hmYi5oIiwJIk1BVFJPWEZCX1NFVF9PVVRQVVRfQ09OTkVDVElPTiIsCTB4NmVmOH0sCisJeyJsaW51eC9tYXRyb3hmYi5oIiwJIk1BVFJPWEZCX0dFVF9PVVRQVVRfQ09OTkVDVElPTiIsCTB4NmVmOH0sCisJeyJsaW51eC9tYXRyb3hmYi5oIiwJIk1BVFJPWEZCX0dFVF9BVkFJTEFCTEVfT1VUUFVUUyIsCTB4NmVmOX0sCisJeyJsaW51eC9tYXRyb3hmYi5oIiwJIk1BVFJPWEZCX1NFVF9PVVRQVVRfTU9ERSIsCTB4NmVmYX0sCisJeyJsaW51eC9tYXRyb3hmYi5oIiwJIk1BVFJPWEZCX0dFVF9PVVRQVVRfTU9ERSIsCTB4NmVmYX0sCisJeyJsaW51eC9tYXRyb3hmYi5oIiwJIk1BVFJPWEZCX0dFVF9BTExfT1VUUFVUUyIsCTB4NmVmYn0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfQUlFX09OIiwJMHg3MDAxfSwKKwl7ImxpbnV4L3J0Yy5oIiwJIlJUQ19BSUVfT0ZGIiwJMHg3MDAyfSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fR0VUTU9VTlQiLAkweDcwMDN9LAorCXsibGludXgvcnRjLmgiLAkiUlRDX1VJRV9PTiIsCTB4NzAwM30sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX1NFVFBJRCIsCTB4NzAwNH0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfVUlFX09GRiIsCTB4NzAwNH0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfUElFX09OIiwJMHg3MDA1fSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fQ0xPU0VfSk9VUk5BTEYiLAkweDcwMDZ9LAorCXsibGludXgvcnRjLmgiLAkiUlRDX1BJRV9PRkYiLAkweDcwMDZ9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19TRVRfRlNFVFJPT1QiLAkweDcwMDd9LAorCXsibGludXgvcnRjLmgiLAkiUlRDX0FMTV9TRVQiLAkweDcwMDd9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19DTEVBUl9GU0VUUk9PVCIsCTB4NzAwOH0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfQUxNX1JFQUQiLAkweDcwMDh9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19TRVRPUFQiLAkweDcwMDl9LAorCXsibGludXgvcnRjLmgiLAkiUlRDX1JEX1RJTUUiLAkweDcwMDl9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19HRVRPUFQiLAkweDcwMGF9LAorCXsibGludXgvcnRjLmgiLAkiUlRDX1NFVF9USU1FIiwJMHg3MDBhfSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fR0VUX0tNTFNJWkUiLAkweDcwMGJ9LAorCXsibGludXgvcnRjLmgiLAkiUlRDX0lSUVBfUkVBRCIsCTB4NzAwYn0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX0dFVF9SRUNOTyIsCTB4NzAwY30sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfSVJRUF9TRVQiLAkweDcwMGN9LAorCXsibGludXgvcnRjLmgiLAkiUlRDX0VQT0NIX1JFQUQiLAkweDcwMGR9LAorCXsibGludXgvcnRjLmgiLAkiUlRDX0VQT0NIX1NFVCIsCTB4NzAwZX0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfV0lFX09OIiwJMHg3MDBmfSwKKwl7ImxpbnV4L3J0Yy5oIiwJIlJUQ19XS0FMTV9TRVQiLAkweDcwMGZ9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19WRlNfU0VUQVRUUiIsCTB4NzAxMH0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfV0lFX09GRiIsCTB4NzAxMH0sCisJeyJsaW51eC9ydGMuaCIsCSJSVENfV0tBTE1fUkQiLAkweDcwMTB9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19WRlNfQ1JFQVRFIiwJMHg3MDExfSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fVkZTX0xJTksiLAkweDcwMTJ9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19WRlNfVU5MSU5LIiwJMHg3MDEzfSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fVkZTX1NZTUxJTksiLAkweDcwMTR9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19WRlNfTUtESVIiLAkweDcwMTV9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19WRlNfUk1ESVIiLAkweDcwMTZ9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19WRlNfTUtOT0QiLAkweDcwMTd9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19WRlNfUkVOQU1FIiwJMHg3MDE4fSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fVkZTX0NMT1NFIiwJMHg3MDFhfSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fVkZTX0lPUEVOIiwJMHg3MDFifSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fVkZTX1NFVEVYVEFUVFIiLAkweDcwMWN9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19WRlNfREVMRVhUQVRUUiIsCTB4NzAxZH0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX01BUksiLAkweDcwMjB9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19SRUxFQVNFX1BFUk1JVCIsCTB4NzAyMX0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX0NMRUFSX0FMTF9GU0VUUk9PVFMiLAkweDcwMjJ9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19CQUNLRkVUQ0hfTE1MIiwJMHg3MDIzfSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fUkVJTlQiLAkweDcwMjR9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19DQU5DRUxfTE1MIiwJMHg3MDI1fSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fUkVTRVRfRlNFVCIsCTB4NzAyNn0sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX0NPTVBMRVRFX0NMT1NFUyIsCTB4NzAyN30sCisJeyJsaW51eC9pbnRlcm1lenpvX2ZzLmgiLAkiUFJFU1RPX1JFSU5UX0JFR0lOIiwJMHg3MDMwfSwKKwl7ImxpbnV4L2ludGVybWV6em9fZnMuaCIsCSJQUkVTVE9fRE9fUkVJTlQiLAkweDcwMzF9LAorCXsibGludXgvaW50ZXJtZXp6b19mcy5oIiwJIlBSRVNUT19SRUlOVF9FTkQiLAkweDcwMzJ9LAorCXsibGludXgvbnZyYW0uaCIsCSJOVlJBTV9JTklUIiwJMHg3MDQwfSwKKwl7ImxpbnV4L252cmFtLmgiLAkiTlZSQU1fU0VUQ0tTIiwJMHg3MDQxfSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBTRVRNT0RFIiwJMHg3MDgwfSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBSU1RBVFVTIiwJMHg3MDgxfSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBSQ09OVFJPTCIsCTB4NzA4M30sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQV0NPTlRST0wiLAkweDcwODR9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUFJEQVRBIiwJMHg3MDg1fSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBXREFUQSIsCTB4NzA4Nn0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQQ0xBSU0iLAkweDcwOGJ9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUFJFTEVBU0UiLAkweDcwOGN9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUFlJRUxEIiwJMHg3MDhkfSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBGQ09OVFJPTCIsCTB4NzA4ZX0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQRVhDTCIsCTB4NzA4Zn0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQREFUQURJUiIsCTB4NzA5MH0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQTkVHT1QiLAkweDcwOTF9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUFdDVExPTklSUSIsCTB4NzA5Mn0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQQ0xSSVJRIiwJMHg3MDkzfSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBTRVRQSEFTRSIsCTB4NzA5NH0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQR0VUVElNRSIsCTB4NzA5NX0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQU0VUVElNRSIsCTB4NzA5Nn0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQR0VUTU9ERVMiLAkweDcwOTd9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUEdFVE1PREUiLAkweDcwOTh9LAorCXsibGludXgvcHBkZXYuaCIsCSJQUEdFVFBIQVNFIiwJMHg3MDk5fSwKKwl7ImxpbnV4L3BwZGV2LmgiLAkiUFBHRVRGTEFHUyIsCTB4NzA5YX0sCisJeyJsaW51eC9wcGRldi5oIiwJIlBQU0VURkxBR1MiLAkweDcwOWJ9LAorCXsibGludXgvc2VyaW8uaCIsCSJTUElPQ1NUWVBFIiwJMHg3MTAxfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX0NBUEFCSUxJVElFUyIsCTB4NzE4MH0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9DQVBBQklMSVRJRVNfTElTVCIsCTB4NzE4MX0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9DQVBBQklMSVRJRVNfQ0hFQ0siLAkweDcxODJ9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUklORyIsCTB4NzE4M30sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9IT09LU1RBVEUiLAkweDcxODR9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfTUFYUklOR1MiLAkweDcxODV9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUklOR19DQURFTkNFIiwJMHg3MTg2fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIk9MRF9QSE9ORV9SSU5HX1NUQVJUIiwJMHg3MTg3fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1JJTkdfU1RBUlQiLAkweDcxODd9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUklOR19TVE9QIiwJMHg3MTg4fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1JFQ19DT0RFQyIsCTB4NzE4OX0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9SRUNfU1RBUlQiLAkweDcxOGF9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUkVDX1NUT1AiLAkweDcxOGJ9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUkVDX0RFUFRIIiwJMHg3MThjfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX0ZSQU1FIiwJMHg3MThkfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1JFQ19WT0xVTUUiLAkweDcxOGV9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUkVDX0xFVkVMIiwJMHg3MThmfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1BMQVlfQ09ERUMiLAkweDcxOTB9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUExBWV9TVEFSVCIsCTB4NzE5MX0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9QTEFZX1NUT1AiLAkweDcxOTJ9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUExBWV9ERVBUSCIsCTB4NzE5M30sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9QTEFZX1ZPTFVNRSIsCTB4NzE5NH0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9QTEFZX0xFVkVMIiwJMHg3MTk1fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX0RUTUZfUkVBRFkiLAkweDcxOTZ9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfR0VUX0RUTUYiLAkweDcxOTd9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfR0VUX0RUTUZfQVNDSUkiLAkweDcxOTh9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfRFRNRl9PT0IiLAkweDcxOTl9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfRVhDRVBUSU9OIiwJMHg3MTlhfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1BMQVlfVE9ORSIsCTB4NzE5Yn0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9TRVRfVE9ORV9PTl9USU1FIiwJMHg3MTljfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1NFVF9UT05FX09GRl9USU1FIiwJMHg3MTlkfSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX0dFVF9UT05FX09OX1RJTUUiLAkweDcxOWV9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfR0VUX1RPTkVfT0ZGX1RJTUUiLAkweDcxOWZ9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfR0VUX1RPTkVfU1RBVEUiLAkweDcxYTB9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfQlVTWSIsCTB4NzFhMX0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9SSU5HQkFDSyIsCTB4NzFhMn0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9ESUFMVE9ORSIsCTB4NzFhM30sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9DUFRfU1RPUCIsCTB4NzFhNH0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9QU1ROX1NFVF9TVEFURSIsCTB4NzFhNH0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9QU1ROX0dFVF9TVEFURSIsCTB4NzFhNX0sCisJeyJsaW51eC90ZWxlcGhvbnkuaCIsCSJQSE9ORV9XSU5LX0RVUkFUSU9OIiwJMHg3MWE2fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1FVRVJZX0NPREVDIiwJMHg3MWE3fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1BTVE5fTElORVRFU1QiLAkweDcxYTh9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfVkFEIiwJMHg3MWE5fSwKKwl7ImxpbnV4L3RlbGVwaG9ueS5oIiwJIlBIT05FX1dJTksiLAkweDcxYWF9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9EU1BfUkVTRVQiLAkweDcxYzB9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9DQVJEVFlQRSIsCTB4NzFjMX0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1NFUklBTCIsCTB4NzFjMn0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0RTUF9UWVBFIiwJMHg3MWMzfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfRFNQX1ZFUlNJT04iLAkweDcxYzR9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9EU1BfSURMRSIsCTB4NzFjNX0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1RFU1RSQU0iLAkweDcxYzZ9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9TRVRfRklMVEVSIiwJMHg3MWM3fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfR0VUX0ZJTFRFUl9ISVNUIiwJMHg3MWM4fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfSU5JVF9UT05FIiwJMHg3MWM5fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfVE9ORV9DQURFTkNFIiwJMHg3MWNhfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfQUVDX1NUQVJUIiwJMHg3MWNifSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfQUVDX1NUT1AiLAkweDcxY2N9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9BRUNfR0VUX0xFVkVMIiwJMHg3MWNkfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfU0VUX0xFRCIsCTB4NzFjZX0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX01JWEVSIiwJMHg3MWNmfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfREFBX0NPRUZGX1NFVCIsCTB4NzFkMH0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1BPUlQiLAkweDcxZDF9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9EQUFfQUdBSU4iLAkweDcxZDJ9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9QU1ROX0xJTkVURVNUIiwJMHg3MWQzfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfQ0lEIiwJMHg3MWQ0fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfUE9UU19QU1ROIiwJMHg3MWQ1fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfRklMVEVSX0NBREVOQ0UiLAkweDcxZDZ9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9QTEFZX0NJRCIsCTB4NzFkN30sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1ZNV0kiLAkweDcxZDh9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9DSURDVyIsCTB4NzFkOX0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1ZFUlNJT04iLAkweDcxZGF9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUkVDX1ZPTFVNRV9MSU5FQVIiLAkweDcxZGJ9LAorCXsibGludXgvdGVsZXBob255LmgiLAkiUEhPTkVfUExBWV9WT0xVTUVfTElORUFSIiwJMHg3MWRjfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfU0VUX0ZJTFRFUl9SQVciLAkweDcxZGR9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9IWiIsCTB4NzFlMH0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1JBVEUiLAkweDcxZTF9LAorCXsibGludXgvaXhqdXNlci5oIiwJIklYSkNUTF9GUkFNRVNfUkVBRCIsCTB4NzFlMn0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0ZSQU1FU19XUklUVEVOIiwJMHg3MWUzfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfUkVBRF9XQUlUIiwJMHg3MWU0fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfV1JJVEVfV0FJVCIsCTB4NzFlNX0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0RSWUJVRkZFUl9SRUFEIiwJMHg3MWU2fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfRFJZQlVGRkVSX0NMRUFSIiwJMHg3MWU3fSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfRFRNRl9QUkVTQ0FMRSIsCTB4NzFlOH0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1NJR0NUTCIsCTB4NzFlOX0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1NDX1JYRyIsCTB4NzFlYX0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX1NDX1RYRyIsCTB4NzFlYn0sCisJeyJsaW51eC9peGp1c2VyLmgiLAkiSVhKQ1RMX0lOVEVSQ09NX1NUQVJUIiwJMHg3MWZkfSwKKwl7ImxpbnV4L2l4anVzZXIuaCIsCSJJWEpDVExfSU5URVJDT01fU1RPUCIsCTB4NzFmZX0sCisJeyJsaW51eC9tc2Rvc19mcy5oIiwJIlZGQVRfSU9DVExfUkVBRERJUl9CT1RIIiwJMHg3MjAxfSwKKwl7ImxpbnV4L21zZG9zX2ZzLmgiLAkiVkZBVF9JT0NUTF9SRUFERElSX1NIT1JUIiwJMHg3MjAyfSwKKwl7ImxpbnV4L2Nkay5oIiwJIlNUTF9CSU5UUiIsCTB4NzMxNH0sCisJeyJsaW51eC9jZGsuaCIsCSJTVExfQlNUQVJUIiwJMHg3MzE1fSwKKwl7ImxpbnV4L2Nkay5oIiwJIlNUTF9CU1RPUCIsCTB4NzMxNn0sCisJeyJsaW51eC9jZGsuaCIsCSJTVExfQlJFU0VUIiwJMHg3MzE3fSwKKwl7ImxpbnV4L2Nkay5oIiwJIlNUTF9HRVRQRkxBRyIsCTB4NzM1MH0sCisJeyJsaW51eC9jZGsuaCIsCSJTVExfU0VUUEZMQUciLAkweDczNTF9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DR0NIQU4iLAkweDc0Mzd9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DQVRUQ0hBTiIsCTB4NzQzOH0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NESVNDT05OIiwJMHg3NDM5fSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ0NPTk5FQ1QiLAkweDc0M2F9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DU01SUlUiLAkweDc0M2J9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DREVUQUNIIiwJMHg3NDNjfSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ0FUVEFDSCIsCTB4NzQzZH0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NORVdVTklUIiwJMHg3NDNlfSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ0dJRExFIiwJMHg3NDNmfSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ1NERUJVRyIsCTB4NzQ0MH0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NHREVCVUciLAkweDc0NDF9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DU0FDVElWRSIsCTB4NzQ0Nn0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NTUEFTUyIsCTB4NzQ0N30sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NTTlBNT0RFIiwJMHg3NDRifSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ0dOUE1PREUiLAkweDc0NGN9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DU0NPTVBSRVNTIiwJMHg3NDRkfSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ1hGRVJVTklUIiwJMHg3NDRlfSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ1NYQVNZTkNNQVAiLAkweDc0NGZ9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DR1hBU1lOQ01BUCIsCTB4NzQ1MH0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NTTUFYQ0lEIiwJMHg3NDUxfSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ1NNUlUiLAkweDc0NTJ9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DR01SVSIsCTB4NzQ1M30sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NTUkFTWU5DTUFQIiwJMHg3NDU0fSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ0dSQVNZTkNNQVAiLAkweDc0NTV9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DR1VOSVQiLAkweDc0NTZ9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DU0FTWU5DTUFQIiwJMHg3NDU3fSwKKwl7ImxpbnV4L2lmX3BwcC5oIiwJIlBQUElPQ0dBU1lOQ01BUCIsCTB4NzQ1OH0sCisJeyJsaW51eC9pZl9wcHAuaCIsCSJQUFBJT0NTRkxBR1MiLAkweDc0NTl9LAorCXsibGludXgvaWZfcHBwLmgiLAkiUFBQSU9DR0ZMQUdTIiwJMHg3NDVhfSwKKwl7ImxpbnV4L2pmZnMuaCIsCSJKRkZTX1BSSU5UX0hBU0giLAkweDc0NWF9LAorCXsibGludXgvamZmcy5oIiwJIkpGRlNfUFJJTlRfVFJFRSIsCTB4NzQ1Yn0sCisJeyJsaW51eC9qZmZzLmgiLAkiSkZGU19HRVRfU1RBVFVTIiwJMHg3NDVjfSwKKwl7ImxpbnV4L2lzZG5fcHBwLmgiLAkiUFBQSU9DR0NBTExJTkZPIiwJMHg3NDgwfSwKKwl7ImxpbnV4L2lzZG5fcHBwLmgiLAkiUFBQSU9DQlVORExFIiwJMHg3NDgxfSwKKwl7ImxpbnV4L2lzZG5fcHBwLmgiLAkiUFBQSU9DR01QRkxBR1MiLAkweDc0ODJ9LAorCXsibGludXgvaXNkbl9wcHAuaCIsCSJQUFBJT0NTTVBGTEFHUyIsCTB4NzQ4M30sCisJeyJsaW51eC9pc2RuX3BwcC5oIiwJIlBQUElPQ1NNUE1UVSIsCTB4NzQ4NH0sCisJeyJsaW51eC9pc2RuX3BwcC5oIiwJIlBQUElPQ1NNUE1SVSIsCTB4NzQ4NX0sCisJeyJsaW51eC9pc2RuX3BwcC5oIiwJIlBQUElPQ0dDT01QUkVTU09SUyIsCTB4NzQ4Nn0sCisJeyJsaW51eC9pc2RuX3BwcC5oIiwJIlBQUElPQ1NDT01QUkVTU09SIiwJMHg3NDg3fSwKKwl7ImxpbnV4L2lzZG5fcHBwLmgiLAkiUFBQSU9DR0lGTkFNRSIsCTB4NzQ4OH0sCisJeyJsaW51eC90b3NoaWJhLmgiLAkiVE9TSF9TTU0iLAkweDc0OTB9LAorCXsibGludXgvc21iX2ZzLmgiLAkiU01CX0lPQ19HRVRNT1VOVFVJRCIsCTB4NzUwMX0sCisJeyJsaW51eC9zbWJfZnMuaCIsCSJTTUJfSU9DX05FV0NPTk4iLAkweDc1MDJ9LAorCXsibGludXgvc21iX2ZzLmgiLAkiU01CX0lPQ19HRVRNT1VOVFVJRDMyIiwJMHg3NTAzfSwKKwl7ImxpbnV4L3NvbnlwaS5oIiwJIlNPTllQSV9JT0NHQlJUIiwJMHg3NjAwfSwKKwl7ImxpbnV4L3NvbnlwaS5oIiwJIlNPTllQSV9JT0NTQlJUIiwJMHg3NjAwfSwKKwl7ImxpbnV4L2V4dDJfZnMuaCIsCSJFWFQyX0lPQ19HRVRWRVJTSU9OIiwJMHg3NjAxfSwKKwl7ImxpbnV4L2V4dDNfZnMuaCIsCSJFWFQzX0lPQ19HRVRWRVJTSU9OX09MRCIsCTB4NzYwMX0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ0dDQVAiLAkweDc2MDF9LAorCXsibGludXgvZXh0Ml9mcy5oIiwJIkVYVDJfSU9DX1NFVFZFUlNJT04iLAkweDc2MDJ9LAorCXsibGludXgvZXh0M19mcy5oIiwJIkVYVDNfSU9DX1NFVFZFUlNJT05fT0xEIiwJMHg3NjAyfSwKKwl7ImxpbnV4L3NvbnlwaS5oIiwJIlNPTllQSV9JT0NHQkFUMUNBUCIsCTB4NzYwMn0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ0dDSEFOIiwJMHg3NjAyfSwKKwl7ImxpbnV4L3NvbnlwaS5oIiwJIlNPTllQSV9JT0NHQkFUMVJFTSIsCTB4NzYwM30sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ1NDSEFOIiwJMHg3NjAzfSwKKwl7ImxpbnV4L3NvbnlwaS5oIiwJIlNPTllQSV9JT0NHQkFUMkNBUCIsCTB4NzYwNH0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ0dUVU5FUiIsCTB4NzYwNH0sCisJeyJsaW51eC9zb255cGkuaCIsCSJTT05ZUElfSU9DR0JBVDJSRU0iLAkweDc2MDV9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NTVFVORVIiLAkweDc2MDV9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NHUElDVCIsCTB4NzYwNn0sCisJeyJsaW51eC9zb255cGkuaCIsCSJTT05ZUElfSU9DR0JBVEZMQUdTIiwJMHg3NjA3fSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DU1BJQ1QiLAkweDc2MDd9LAorCXsibGludXgvc29ueXBpLmgiLAkiU09OWVBJX0lPQ0dCTFVFIiwJMHg3NjA4fSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DQ0FQVFVSRSIsCTB4NzYwOH0sCisJeyJsaW51eC9zb255cGkuaCIsCSJTT05ZUElfSU9DU0JMVUUiLAkweDc2MDl9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NHV0lOIiwJMHg3NjA5fSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DU1dJTiIsCTB4NzYwYX0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ0dGQlVGIiwJMHg3NjBifSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DU0ZCVUYiLAkweDc2MGN9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NLRVkiLAkweDc2MGR9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NHRlJFUSIsCTB4NzYwZX0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ1NGUkVRIiwJMHg3NjBmfSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DR0FVRElPIiwJMHg3NjEwfSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DU0FVRElPIiwJMHg3NjExfSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DU1lOQyIsCTB4NzYxMn0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ01DQVBUVVJFIiwJMHg3NjEzfSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DR01CVUYiLAkweDc2MTR9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NHVU5JVCIsCTB4NzYxNX0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ0dDQVBUVVJFIiwJMHg3NjE2fSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DU0NBUFRVUkUiLAkweDc2MTd9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NTUExBWU1PREUiLAkweDc2MTh9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NTV1JJVEVNT0RFIiwJMHg3NjE5fSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DR1BMQVlJTkZPIiwJMHg3NjFhfSwKKwl7ImxpbnV4L3ZpZGVvZGV2LmgiLAkiVklESU9DU01JQ1JPQ09ERSIsCTB4NzYxYn0sCisJeyJsaW51eC92aWRlb2Rldi5oIiwJIlZJRElPQ0dWQklGTVQiLAkweDc2MWN9LAorCXsibGludXgvdmlkZW9kZXYuaCIsCSJWSURJT0NTVkJJRk1UIiwJMHg3NjFkfSwKKwl7ImxpbnV4L21leWUuaCIsCSJNRVlFSU9DX0dfUEFSQU1TIiwJMHg3NmMwfSwKKwl7ImxpbnV4L21leWUuaCIsCSJNRVlFSU9DX1NfUEFSQU1TIiwJMHg3NmMxfSwKKwl7ImxpbnV4L21leWUuaCIsCSJNRVlFSU9DX1FCVUZfQ0FQVCIsCTB4NzZjMn0sCisJeyJsaW51eC9tZXllLmgiLAkiTUVZRUlPQ19TWU5DIiwJMHg3NmMzfSwKKwl7ImxpbnV4L21leWUuaCIsCSJNRVlFSU9DX1NUSUxMQ0FQVCIsCTB4NzZjNH0sCisJeyJsaW51eC9tZXllLmgiLAkiTUVZRUlPQ19TVElMTEpDQVBUIiwJMHg3NmM1fSwKKwl7ImxpbnV4L2RuLmgiLAkiU0lPQ1NORVRBRERSIiwJMHg4OWUwfSwKKwl7ImxpbnV4L2RuLmgiLAkiT1NJT0NTTkVUQUREUiIsCTB4ODllMH0sCisJeyJsaW51eC9kbi5oIiwJIlNJT0NHTkVUQUREUiIsCTB4ODllMX0sCisJeyJsaW51eC9kbi5oIiwJIk9TSU9DR05FVEFERFIiLAkweDg5ZTF9LAorCXsibGludXgvYXV0b19mcy5oIiwJIkFVVE9GU19JT0NfUkVBRFkiLAkweDkzNjB9LAorCXsibGludXgvYXV0b19mcy5oIiwJIkFVVE9GU19JT0NfRkFJTCIsCTB4OTM2MX0sCisJeyJsaW51eC9hdXRvX2ZzLmgiLAkiQVVUT0ZTX0lPQ19DQVRBVE9OSUMiLAkweDkzNjJ9LAorCXsibGludXgvYXV0b19mcy5oIiwJIkFVVE9GU19JT0NfUFJPVE9WRVIiLAkweDkzNjN9LAorCXsibGludXgvYXV0b19mcy5oIiwJIkFVVE9GU19JT0NfU0VUVElNRU9VVCIsCTB4OTM2NH0sCisJeyJsaW51eC9hdXRvX2ZzLmgiLAkiQVVUT0ZTX0lPQ19FWFBJUkUiLAkweDkzNjV9LAorCXsibGludXgvYXV0b19mczQuaCIsCSJBVVRPRlNfSU9DX0VYUElSRV9NVUxUSSIsCTB4OTM2Nn0sCisJeyJsaW51eC9uYmQuaCIsCSJOQkRfU0VUX1NPQ0siLAkweGFiMDB9LAorCXsibGludXgvbmJkLmgiLAkiTkJEX1NFVF9CTEtTSVpFIiwJMHhhYjAxfSwKKwl7ImxpbnV4L25iZC5oIiwJIk5CRF9TRVRfU0laRSIsCTB4YWIwMn0sCisJeyJsaW51eC9uYmQuaCIsCSJOQkRfRE9fSVQiLAkweGFiMDN9LAorCXsibGludXgvbmJkLmgiLAkiTkJEX0NMRUFSX1NPQ0siLAkweGFiMDR9LAorCXsibGludXgvbmJkLmgiLAkiTkJEX0NMRUFSX1FVRSIsCTB4YWIwNX0sCisJeyJsaW51eC9uYmQuaCIsCSJOQkRfUFJJTlRfREVCVUciLAkweGFiMDZ9LAorCXsibGludXgvbmJkLmgiLAkiTkJEX1NFVF9TSVpFX0JMT0NLUyIsCTB4YWIwN30sCisJeyJsaW51eC9uYmQuaCIsCSJOQkRfRElTQ09OTkVDVCIsCTB4YWIwOH0sCisJeyJsaW51eC9yYXcuaCIsCSJSQVdfU0VUQklORCIsCTB4YWMwMH0sCisJeyJsaW51eC9yYXcuaCIsCSJSQVdfR0VUQklORCIsCTB4YWMwMX0sCisJeyJsaW51eC9pZl9wcHBveC5oIiwJIlBQUE9FSU9DU0ZXRCIsCTB4YjEwMH0sCisJeyJsaW51eC9pZl9wcHBveC5oIiwJIlBQUE9FSU9DREZXRCIsCTB4YjEwMX0sCisJeyJsaW51eC9yZWlzZXJmc19mcy5oIiwJIlJFSVNFUkZTX0lPQ19VTlBBQ0siLAkweGNkMDF9LAorCXsibGludXgvbHZtLmgiLAkiVkdfQ1JFQVRFX09MRCIsCTB4ZmUwMH0sCisJeyJsaW51eC9sdm0uaCIsCSJWR19SRU1PVkUiLAkweGZlMDF9LAorCXsibGludXgvbHZtLmgiLAkiVkdfRVhURU5EIiwJMHhmZTAzfSwKKwl7ImxpbnV4L2x2bS5oIiwJIlZHX1JFRFVDRSIsCTB4ZmUwNH0sCisJeyJsaW51eC9sdm0uaCIsCSJWR19TVEFUVVMiLAkweGZlMDV9LAorCXsibGludXgvbHZtLmgiLAkiVkdfU1RBVFVTX0dFVF9DT1VOVCIsCTB4ZmUwNn0sCisJeyJsaW51eC9sdm0uaCIsCSJWR19TVEFUVVNfR0VUX05BTUVMSVNUIiwJMHhmZTA3fSwKKwl7ImxpbnV4L2x2bS5oIiwJIlZHX1NFVF9FWFRFTkRBQkxFIiwJMHhmZTA4fSwKKwl7ImxpbnV4L2x2bS5oIiwJIlZHX1JFTkFNRSIsCTB4ZmUwOX0sCisJeyJsaW51eC9sdm0uaCIsCSJWR19DUkVBVEUiLAkweGZlMGF9LAorCXsibGludXgvbHZtLmgiLAkiTFZfQ1JFQVRFIiwJMHhmZTIwfSwKKwl7ImxpbnV4L2x2bS5oIiwJIkxWX1JFTU9WRSIsCTB4ZmUyMX0sCisJeyJsaW51eC9sdm0uaCIsCSJMVl9BQ1RJVkFURSIsCTB4ZmUyMn0sCisJeyJsaW51eC9sdm0uaCIsCSJMVl9ERUFDVElWQVRFIiwJMHhmZTIzfSwKKwl7ImxpbnV4L2x2bS5oIiwJIkxWX0VYVEVORCIsCTB4ZmUyNH0sCisJeyJsaW51eC9sdm0uaCIsCSJMVl9SRURVQ0UiLAkweGZlMjV9LAorCXsibGludXgvbHZtLmgiLAkiTFZfU1RBVFVTX0JZTkFNRSIsCTB4ZmUyNn0sCisJeyJsaW51eC9sdm0uaCIsCSJMVl9TVEFUVVNfQllJTkRFWCIsCTB4ZmUyN30sCisJeyJsaW51eC9sdm0uaCIsCSJMVl9TRVRfQUNDRVNTIiwJMHhmZTI4fSwKKwl7ImxpbnV4L2x2bS5oIiwJIkxWX1NFVF9BTExPQ0FUSU9OIiwJMHhmZTI5fSwKKwl7ImxpbnV4L2x2bS5oIiwJIkxWX1NFVF9TVEFUVVMiLAkweGZlMmF9LAorCXsibGludXgvbHZtLmgiLAkiTEVfUkVNQVAiLAkweGZlMmJ9LAorCXsibGludXgvbHZtLmgiLAkiTFZfU05BUFNIT1RfVVNFX1JBVEUiLAkweGZlMmN9LAorCXsibGludXgvbHZtLmgiLAkiTFZfU1RBVFVTX0JZREVWIiwJMHhmZTJlfSwKKwl7ImxpbnV4L2x2bS5oIiwJIkxWX1JFTkFNRSIsCTB4ZmUyZn0sCisJeyJsaW51eC9sdm0uaCIsCSJMVl9CTUFQIiwJMHhmZTMwfSwKKwl7ImxpbnV4L2x2bS5oIiwJIlBWX1NUQVRVUyIsCTB4ZmU0MH0sCisJeyJsaW51eC9sdm0uaCIsCSJQVl9DSEFOR0UiLAkweGZlNDF9LAorCXsibGludXgvbHZtLmgiLAkiUFZfRkxVU0giLAkweGZlNDJ9LAorCXsibGludXgvbHZtLmgiLAkiUEVfTE9DS19VTkxPQ0siLAkweGZlNTB9LAorCXsibGludXgvbHZtLmgiLAkiTFZNX0dFVF9JT1BfVkVSU0lPTiIsCTB4ZmU5OH0sCisJeyJsaW51eC9sdm0uaCIsCSJMVk1fUkVTRVQiLAkweGZlOTl9LAorCXsibGludXgvbHZtLmgiLAkiTFZNX0xPQ0tfTFZNIiwJMHhmZjAwfSwKZGlmZiAtLWdpdCBhL3N0cmFjZS00LjUuMjAvbGludXgvc3BhcmM2NC9zaWduYWxlbnQuaCBiL3N0cmFjZS00LjUuMjAvbGludXgvc3BhcmM2NC9zaWduYWxlbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMDU5YjVkCi0tLSAvZGV2L251bGwKKysrIGIvc3RyYWNlLTQuNS4yMC9saW51eC9zcGFyYzY0L3NpZ25hbGVudC5oCkBAIC0wLDAgKzEsMzIgQEAKKwkiU0lHXzAiLAkvKiAwICovCisJIlNJR0hVUCIsCS8qIDEgKi8KKwkiU0lHSU5UIiwJLyogMiAqLworCSJTSUdRVUlUIiwJLyogMyAqLworCSJTSUdJTEwiLAkvKiA0ICovCisJIlNJR1RSQVAiLAkvKiA1ICovCisJIlNJR0FCUlQiLAkvKiA2ICovCisJIlNJR0VNVCIsCS8qIDcgKi8KKwkiU0lHRlBFIiwJLyogOCAqLworCSJTSUdLSUxMIiwJLyogOSAqLworCSJTSUdCVVMiLAkvKiAxMCAqLworCSJTSUdTRUdWIiwJLyogMTEgKi8KKwkiU0lHU1lTIiwJLyogMTIgKi8KKwkiU0lHUElQRSIsCS8qIDEzICovCisJIlNJR0FMUk0iLAkvKiAxNCAqLworCSJTSUdURVJNIiwJLyogMTUgKi8KKwkiU0lHVVJHIiwJLyogMTYgKi8KKwkiU0lHU1RPUCIsCS8qIDE3ICovCisJIlNJR1RTVFAiLAkvKiAxOCAqLworCSJTSUdDT05UIiwJLyogMTkgKi8KKwkiU0lHQ0hMRCIsCS8qIDIwICovCisJIlNJR1RUSU4iLAkvKiAyMSAqLworCSJTSUdUVE9VIiwJLyogMjIgKi8KKwkiU0lHSU8iLAkvKiAyMyAqLworCSJTSUdYQ1BVIiwJLyogMjQgKi8KKwkiU0lHWEZTWiIsCS8qIDI1ICovCisJIlNJR1ZUQUxSTSIsCS8qIDI2ICovCisJIlNJR1BST0YiLAkvKiAyNyAqLworCSJTSUdXSU5DSCIsCS8qIDI4ICovCisJIlNJR0xPU1QiLAkvKiAyOSAqLworCSJTSUdVU1IxIiwJLyogMzAgKi8KKwkiU0lHVVNSMiIsCS8qIDMxICovCmRpZmYgLS1naXQgYS9zdHJhY2UtNC41LjIwL2xpbnV4L3NwYXJjNjQvc2lnbmFsZW50MS5oIGIvc3RyYWNlLTQuNS4yMC9saW51eC9zcGFyYzY0L3NpZ25hbGVudDEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YmU3YTI2Ci0tLSAvZGV2L251bGwKKysrIGIvc3RyYWNlLTQuNS4yMC9saW51eC9zcGFyYzY0L3NpZ25hbGVudDEuaApAQCAtMCwwICsxIEBACisjaW5jbHVkZSAiLi4vc3ZyNC9zaWduYWxlbnQuaCIKZGlmZiAtLWdpdCBhL3N0cmFjZS00LjUuMjAvbGludXgvc3BhcmM2NC9zaWduYWxlbnQyLmggYi9zdHJhY2UtNC41LjIwL2xpbnV4L3NwYXJjNjQvc2lnbmFsZW50Mi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUwNTliNWQKLS0tIC9kZXYvbnVsbAorKysgYi9zdHJhY2UtNC41LjIwL2xpbnV4L3NwYXJjNjQvc2lnbmFsZW50Mi5oCkBAIC0wLDAgKzEsMzIgQEAKKwkiU0lHXzAiLAkvKiAwICovCisJIlNJR0hVUCIsCS8qIDEgKi8KKwkiU0lHSU5UIiwJLyogMiAqLworCSJTSUdRVUlUIiwJLyogMyAqLworCSJTSUdJTEwiLAkvKiA0ICovCisJIlNJR1RSQVAiLAkvKiA1ICovCisJIlNJR0FCUlQiLAkvKiA2ICovCisJIlNJR0VNVCIsCS8qIDcgKi8KKwkiU0lHRlBFIiwJLyogOCAqLworCSJTSUdLSUxMIiwJLyogOSAqLworCSJTSUdCVVMiLAkvKiAxMCAqLworCSJTSUdTRUdWIiwJLyogMTEgKi8KKwkiU0lHU1lTIiwJLyogMTIgKi8KKwkiU0lHUElQRSIsCS8qIDEzICovCisJIlNJR0FMUk0iLAkvKiAxNCAqLworCSJTSUdURVJNIiwJLyogMTUgKi8KKwkiU0lHVVJHIiwJLyogMTYgKi8KKwkiU0lHU1RPUCIsCS8qIDE3ICovCisJIlNJR1RTVFAiLAkvKiAxOCAqLworCSJTSUdDT05UIiwJLyogMTkgKi8KKwkiU0lHQ0hMRCIsCS8qIDIwICovCisJIlNJR1RUSU4iLAkvKiAyMSAqLworCSJTSUdUVE9VIiwJLyogMjIgKi8KKwkiU0lHSU8iLAkvKiAyMyAqLworCSJTSUdYQ1BVIiwJLyogMjQgKi8KKwkiU0lHWEZTWiIsCS8qIDI1ICovCisJIlNJR1ZUQUxSTSIsCS8qIDI2ICovCisJIlNJR1BST0YiLAkvKiAyNyAqLworCSJTSUdXSU5DSCIsCS8qIDI4ICovCisJIlNJR0xPU1QiLAkvKiAyOSAqLworCSJTSUdVU1IxIiwJLyogMzAgKi8KKwkiU0lHVVNSMiIsCS8qIDMxICovCmRpZmYgLS1naXQgYS9zdHJhY2UtNC41LjIwL2xpbnV4L3NwYXJjNjQvc3lzY2FsbC5oIGIvc3RyYWNlLTQuNS4yMC9saW51eC9zcGFyYzY0L3N5c2NhbGwuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNTZlMDhkCi0tLSAvZGV2L251bGwKKysrIGIvc3RyYWNlLTQuNS4yMC9saW51eC9zcGFyYzY0L3N5c2NhbGwuaApAQCAtMCwwICsxIEBACisjaW5jbHVkZSAiLi4vc3BhcmMvc3lzY2FsbC5oIgpkaWZmIC0tZ2l0IGEvc3RyYWNlLTQuNS4yMC9saW51eC9zcGFyYzY0L3N5c2NhbGwxLmggYi9zdHJhY2UtNC41LjIwL2xpbnV4L3NwYXJjNjQvc3lzY2FsbDEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNGQ3YWYzCi0tLSAvZGV2L251bGwKKysrIGIvc3RyYWNlLTQuNS4yMC9saW51eC9zcGFyYzY0L3N5c2NhbGwxLmgKQEAgLTAsMCArMSw1MDAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDE5OTMsIDE5OTQsIDE5OTUgUmljayBTbGFka2V5IDxqcnNAd29ybGQuc3RkLmNvbT4KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBUaGUgbmFtZSBvZiB0aGUgYXV0aG9yIG1heSBub3QgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMKKyAqICAgIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIEFVVEhPUiBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCisgKiBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELgorICogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAorICogSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUCisgKiBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqCisgKgkkSWQkCisgKi8KKworI2RlZmluZQlTT0xBUklTX3N5c2NhbGwJMAorI2RlZmluZQlTT0xBUklTX2V4aXQJMQorI2RlZmluZQlTT0xBUklTX2ZvcmsJMgorI2RlZmluZQlTT0xBUklTX3JlYWQJMworI2RlZmluZQlTT0xBUklTX3dyaXRlCTQKKyNkZWZpbmUJU09MQVJJU19vcGVuCTUKKyNkZWZpbmUJU09MQVJJU19jbG9zZQk2CisjZGVmaW5lCVNPTEFSSVNfd2FpdAk3CisjZGVmaW5lCVNPTEFSSVNfY3JlYXQJOAorI2RlZmluZQlTT0xBUklTX2xpbmsJOQorI2RlZmluZQlTT0xBUklTX3VubGluawkxMAorI2RlZmluZQlTT0xBUklTX2V4ZWMJMTEKKyNkZWZpbmUJU09MQVJJU19jaGRpcgkxMgorI2RlZmluZQlTT0xBUklTX3RpbWUJMTMKKyNkZWZpbmUJU09MQVJJU19ta25vZAkxNAorI2RlZmluZQlTT0xBUklTX2NobW9kCTE1CisjZGVmaW5lCVNPTEFSSVNfY2hvd24JMTYKKyNkZWZpbmUJU09MQVJJU19icmsJCTE3CisjZGVmaW5lCVNPTEFSSVNfc3RhdAkxOAorI2RlZmluZQlTT0xBUklTX2xzZWVrCTE5CisjZGVmaW5lCVNPTEFSSVNfZ2V0cGlkCTIwCisjZGVmaW5lCVNPTEFSSVNfbW91bnQJMjEKKyNkZWZpbmUJU09MQVJJU191bW91bnQJMjIKKyNkZWZpbmUJU09MQVJJU19zZXR1aWQJMjMKKyNkZWZpbmUJU09MQVJJU19nZXR1aWQJMjQKKyNkZWZpbmUJU09MQVJJU19zdGltZQkyNQorI2RlZmluZQlTT0xBUklTX3B0cmFjZQkyNgorI2RlZmluZQlTT0xBUklTX2FsYXJtCTI3CisjZGVmaW5lCVNPTEFSSVNfZnN0YXQJMjgKKyNkZWZpbmUJU09MQVJJU19wYXVzZQkyOQorI2RlZmluZQlTT0xBUklTX3V0aW1lCTMwCisjZGVmaW5lCVNPTEFSSVNfc3R0eQkzMQorI2RlZmluZQlTT0xBUklTX2d0dHkJMzIKKyNkZWZpbmUJU09MQVJJU19hY2Nlc3MJMzMKKyNkZWZpbmUJU09MQVJJU19uaWNlCTM0CisjZGVmaW5lCVNPTEFSSVNfc3RhdGZzCTM1CisjZGVmaW5lCVNPTEFSSVNfc3luYwkzNgorI2RlZmluZQlTT0xBUklTX2tpbGwJMzcKKyNkZWZpbmUJU09MQVJJU19mc3RhdGZzCTM4CisjZGVmaW5lCVNPTEFSSVNfcGdycHN5cwkzOQorI2RlZmluZQlTT0xBUklTX3hlbml4CTQwCisjZGVmaW5lCVNPTEFSSVNfZHVwCQk0MQorI2RlZmluZQlTT0xBUklTX3BpcGUJNDIKKyNkZWZpbmUJU09MQVJJU190aW1lcwk0MworI2RlZmluZQlTT0xBUklTX3Byb2ZpbAk0NAorI2RlZmluZQlTT0xBUklTX3Bsb2NrCTQ1CisjZGVmaW5lCVNPTEFSSVNfc2V0Z2lkCTQ2CisjZGVmaW5lCVNPTEFSSVNfZ2V0Z2lkCTQ3CisjZGVmaW5lCVNPTEFSSVNfc2lnbmFsCTQ4CisjZGVmaW5lCVNPTEFSSVNfbXNnc3lzCTQ5CisjZGVmaW5lCVNPTEFSSVNfc3lzc3VuCTUwCisjZGVmaW5lCVNPTEFSSVNfYWNjdAk1MQorI2RlZmluZQlTT0xBUklTX3NobXN5cwk1MgorI2RlZmluZQlTT0xBUklTX3NlbXN5cwk1MworI2RlZmluZQlTT0xBUklTX2lvY3RsCTU0CisjZGVmaW5lCVNPTEFSSVNfdWFkbWluCTU1CisjZGVmaW5lCVNPTEFSSVNfdXRzc3lzCTU3CisjZGVmaW5lCVNPTEFSSVNfZmRzeW5jCTU4CisjZGVmaW5lCVNPTEFSSVNfZXhlY3ZlCTU5CisjZGVmaW5lCVNPTEFSSVNfdW1hc2sJNjAKKyNkZWZpbmUJU09MQVJJU19jaHJvb3QJNjEKKyNkZWZpbmUJU09MQVJJU19mY250bAk2MgorI2RlZmluZQlTT0xBUklTX3VsaW1pdAk2MworI2RlZmluZQlTT0xBUklTX3JtZGlyCTc5CisjZGVmaW5lCVNPTEFSSVNfbWtkaXIJODAKKyNkZWZpbmUJU09MQVJJU19nZXRkZW50cwk4MQorI2RlZmluZQlTT0xBUklTX3N5c2ZzCTg0CisjZGVmaW5lCVNPTEFSSVNfZ2V0bXNnCTg1CisjZGVmaW5lCVNPTEFSSVNfcHV0bXNnCTg2CisjZGVmaW5lCVNPTEFSSVNfcG9sbAk4NworI2RlZmluZQlTT0xBUklTX2xzdGF0CTg4CisjZGVmaW5lCVNPTEFSSVNfc3ltbGluawk4OQorI2RlZmluZQlTT0xBUklTX3JlYWRsaW5rCTkwCisjZGVmaW5lCVNPTEFSSVNfc2V0Z3JvdXBzCTkxCisjZGVmaW5lCVNPTEFSSVNfZ2V0Z3JvdXBzCTkyCisjZGVmaW5lCVNPTEFSSVNfZmNobW9kCTkzCisjZGVmaW5lCVNPTEFSSVNfZmNob3duCTk0CisjZGVmaW5lCVNPTEFSSVNfc2lncHJvY21hc2sJOTUKKyNkZWZpbmUJU09MQVJJU19zaWdzdXNwZW5kCTk2CisjZGVmaW5lCVNPTEFSSVNfc2lnYWx0c3RhY2sJOTcKKyNkZWZpbmUJU09MQVJJU19zaWdhY3Rpb24JOTgKKyNkZWZpbmUJU09MQVJJU19zaWdwZW5kaW5nCTk5CisjZGVmaW5lCVNPTEFSSVNfY29udGV4dAkxMDAKKyNkZWZpbmUJU09MQVJJU19ldnN5cwkxMDEKKyNkZWZpbmUJU09MQVJJU19ldnRyYXByZXQJMTAyCisjZGVmaW5lCVNPTEFSSVNfc3RhdHZmcwkxMDMKKyNkZWZpbmUJU09MQVJJU19mc3RhdHZmcwkxMDQKKyNkZWZpbmUJU09MQVJJU19uZnNzeXMJMTA2CisjZGVmaW5lCVNPTEFSSVNfd2FpdHN5cwkxMDcKKyNkZWZpbmUJU09MQVJJU19zaWdzZW5kc3lzCTEwOAorI2RlZmluZQlTT0xBUklTX2hydHN5cwkxMDkKKyNkZWZpbmUJU09MQVJJU19hY2FuY2VsCTExMAorI2RlZmluZQlTT0xBUklTX2FzeW5jCTExMQorI2RlZmluZQlTT0xBUklTX3ByaW9jbnRsc3lzCTExMgorI2RlZmluZQlTT0xBUklTX3BhdGhjb25mCTExMworI2RlZmluZQlTT0xBUklTX21pbmNvcmUJMTE0CisjZGVmaW5lCVNPTEFSSVNfbW1hcAkxMTUKKyNkZWZpbmUJU09MQVJJU19tcHJvdGVjdAkxMTYKKyNkZWZpbmUJU09MQVJJU19tdW5tYXAJMTE3CisjZGVmaW5lCVNPTEFSSVNfZnBhdGhjb25mCTExOAorI2RlZmluZQlTT0xBUklTX3Zmb3JrCTExOQorI2RlZmluZQlTT0xBUklTX2ZjaGRpcgkxMjAKKyNkZWZpbmUJU09MQVJJU19yZWFkdgkxMjEKKyNkZWZpbmUJU09MQVJJU193cml0ZXYJMTIyCisjZGVmaW5lCVNPTEFSSVNfeHN0YXQJMTIzCisjZGVmaW5lCVNPTEFSSVNfbHhzdGF0CTEyNAorI2RlZmluZQlTT0xBUklTX2Z4c3RhdAkxMjUKKyNkZWZpbmUJU09MQVJJU194bWtub2QJMTI2CisjZGVmaW5lCVNPTEFSSVNfY2xvY2FsCTEyNworI2RlZmluZQlTT0xBUklTX3NldHJsaW1pdAkxMjgKKyNkZWZpbmUJU09MQVJJU19nZXRybGltaXQJMTI5CisjZGVmaW5lCVNPTEFSSVNfbGNob3duCTEzMAorI2RlZmluZQlTT0xBUklTX21lbWNudGwJMTMxCisjZGVmaW5lCVNPTEFSSVNfZ2V0cG1zZwkxMzIKKyNkZWZpbmUJU09MQVJJU19wdXRwbXNnCTEzMworI2RlZmluZQlTT0xBUklTX3JlbmFtZQkxMzQKKyNkZWZpbmUJU09MQVJJU191bmFtZQkxMzUKKyNkZWZpbmUJU09MQVJJU19zZXRlZ2lkCTEzNgorI2RlZmluZQlTT0xBUklTX3N5c2NvbmZpZwkxMzcKKyNkZWZpbmUJU09MQVJJU19hZGp0aW1lCTEzOAorI2RlZmluZQlTT0xBUklTX3N5c3RlbWluZm8JMTM5CisjZGVmaW5lCVNPTEFSSVNfc2V0ZXVpZAkxNDEKKyNkZWZpbmUJU09MQVJJU192dHJhY2UJMTQyCisjZGVmaW5lCVNPTEFSSVNfZm9yazEJMTQzCisjZGVmaW5lCVNPTEFSSVNfc2lndGltZWR3YWl0CTE0NAorI2RlZmluZQlTT0xBUklTX2x3cF9pbmZvCTE0NQorI2RlZmluZQlTT0xBUklTX3lpZWxkCTE0NgorI2RlZmluZQlTT0xBUklTX2x3cF9zZW1hX3dhaXQJMTQ3CisjZGVmaW5lCVNPTEFSSVNfbHdwX3NlbWFfcG9zdAkxNDgKKyNkZWZpbmUJU09MQVJJU19tb2RjdGwJMTUyCisjZGVmaW5lCVNPTEFSSVNfZmNocm9vdAkxNTMKKyNkZWZpbmUJU09MQVJJU191dGltZXMJMTU0CisjZGVmaW5lCVNPTEFSSVNfdmhhbmd1cAkxNTUKKyNkZWZpbmUJU09MQVJJU19nZXR0aW1lb2ZkYXkJMTU2CisjZGVmaW5lCVNPTEFSSVNfZ2V0aXRpbWVyCQkxNTcKKyNkZWZpbmUJU09MQVJJU19zZXRpdGltZXIJCTE1OAorI2RlZmluZQlTT0xBUklTX2x3cF9jcmVhdGUJCTE1OQorI2RlZmluZQlTT0xBUklTX2x3cF9leGl0CQkxNjAKKyNkZWZpbmUJU09MQVJJU19sd3Bfc3VzcGVuZAkJMTYxCisjZGVmaW5lCVNPTEFSSVNfbHdwX2NvbnRpbnVlCTE2MgorI2RlZmluZQlTT0xBUklTX2x3cF9raWxsCQkxNjMKKyNkZWZpbmUJU09MQVJJU19sd3Bfc2VsZgkJMTY0CisjZGVmaW5lCVNPTEFSSVNfbHdwX3NldHByaXZhdGUJMTY1CisjZGVmaW5lCVNPTEFSSVNfbHdwX2dldHByaXZhdGUJMTY2CisjZGVmaW5lCVNPTEFSSVNfbHdwX3dhaXQJCTE2NworI2RlZmluZQlTT0xBUklTX2x3cF9tdXRleF91bmxvY2sJMTY4CisjZGVmaW5lCVNPTEFSSVNfbHdwX211dGV4X2xvY2sJMTY5CisjZGVmaW5lCVNPTEFSSVNfbHdwX2NvbmRfd2FpdAkxNzAKKyNkZWZpbmUJU09MQVJJU19sd3BfY29uZF9zaWduYWwJMTcxCisjZGVmaW5lCVNPTEFSSVNfbHdwX2NvbmRfYnJvYWRjYXN0CTE3MgorI2RlZmluZQlTT0xBUklTX3ByZWFkCQkxNzMKKyNkZWZpbmUJU09MQVJJU19wd3JpdGUJCTE3NAorI2RlZmluZQlTT0xBUklTX2xsc2VlawkJMTc1CisjZGVmaW5lCVNPTEFSSVNfaW5zdF9zeW5jCQkxNzYKKyNkZWZpbmUJU09MQVJJU19rYWlvCQkxNzgKKyNkZWZpbmUJU09MQVJJU190c29sc3lzCQkxODQKKyNkZWZpbmUJU09MQVJJU19hY2wJCQkxODUKKyNkZWZpbmUJU09MQVJJU19hdWRpdHN5cwkJMTg2CisjZGVmaW5lCVNPTEFSSVNfcHJvY2Vzc29yX2JpbmQJMTg3CisjZGVmaW5lCVNPTEFSSVNfcHJvY2Vzc29yX2luZm8JMTg4CisjZGVmaW5lCVNPTEFSSVNfcF9vbmxpbmUJCTE4OQorI2RlZmluZQlTT0xBUklTX3NpZ3F1ZXVlCQkxOTAKKyNkZWZpbmUJU09MQVJJU19jbG9ja19nZXR0aW1lCTE5MQorI2RlZmluZQlTT0xBUklTX2Nsb2NrX3NldHRpbWUJMTkyCisjZGVmaW5lCVNPTEFSSVNfY2xvY2tfZ2V0cmVzCTE5MworI2RlZmluZQlTT0xBUklTX3RpbWVyX2NyZWF0ZQkxOTQKKyNkZWZpbmUJU09MQVJJU190aW1lcl9kZWxldGUJMTk1CisjZGVmaW5lCVNPTEFSSVNfdGltZXJfc2V0dGltZQkxOTYKKyNkZWZpbmUJU09MQVJJU190aW1lcl9nZXR0aW1lCTE5NworI2RlZmluZQlTT0xBUklTX3RpbWVyX2dldG92ZXJydW4JMTk4CisjZGVmaW5lCVNPTEFSSVNfbmFub3NsZWVwCQkxOTkKKyNkZWZpbmUJU09MQVJJU19mYWNsCQkyMDAKKyNkZWZpbmUJU09MQVJJU19kb29yCQkyMDEKKyNkZWZpbmUJU09MQVJJU19zZXRyZXVpZAkJMjAyCisjZGVmaW5lCVNPTEFSSVNfc2V0cmVnaWQJCTIwMworI2RlZmluZQlTT0xBUklTX3NpZ25vdGlmeXdhaXQJMjEwCisjZGVmaW5lCVNPTEFSSVNfbHdwX3NpZ3JlZGlyZWN0CTIxMQorI2RlZmluZQlTT0xBUklTX2x3cF9hbGFybQkJMjEyCisKKyNpbmNsdWRlICJkdW1teTIuaCIKKworZXh0ZXJuIGludCBzb2xhcmlzX3N5c2NhbGwoKTsKK2V4dGVybiBpbnQgc29sYXJpc19leGl0KCk7CitleHRlcm4gaW50IHNvbGFyaXNfZm9yaygpOworZXh0ZXJuIGludCBzb2xhcmlzX3JlYWQoKTsKK2V4dGVybiBpbnQgc29sYXJpc193cml0ZSgpOworZXh0ZXJuIGludCBzb2xhcmlzX29wZW4oKTsKK2V4dGVybiBpbnQgc29sYXJpc19jbG9zZSgpOworZXh0ZXJuIGludCBzb2xhcmlzX3dhaXQoKTsKK2V4dGVybiBpbnQgc29sYXJpc19jcmVhdCgpOworZXh0ZXJuIGludCBzb2xhcmlzX2xpbmsoKTsKK2V4dGVybiBpbnQgc29sYXJpc191bmxpbmsoKTsKK2V4dGVybiBpbnQgc29sYXJpc19leGVjKCk7CitleHRlcm4gaW50IHNvbGFyaXNfY2hkaXIoKTsKK2V4dGVybiBpbnQgc29sYXJpc190aW1lKCk7CitleHRlcm4gaW50IHNvbGFyaXNfbWtub2QoKTsKK2V4dGVybiBpbnQgc29sYXJpc19jaG1vZCgpOworZXh0ZXJuIGludCBzb2xhcmlzX2Nob3duKCk7CitleHRlcm4gaW50IHNvbGFyaXNfYnJrKCk7CitleHRlcm4gaW50IHNvbGFyaXNfc3RhdCgpOworZXh0ZXJuIGludCBzb2xhcmlzX2xzZWVrKCk7CitleHRlcm4gaW50IHNvbGFyaXNfZ2V0cGlkKCk7CitleHRlcm4gaW50IHNvbGFyaXNfbW91bnQoKTsKK2V4dGVybiBpbnQgc29sYXJpc191bW91bnQoKTsKK2V4dGVybiBpbnQgc29sYXJpc19zZXR1aWQoKTsKK2V4dGVybiBpbnQgc29sYXJpc19nZXR1aWQoKTsKK2V4dGVybiBpbnQgc29sYXJpc19zdGltZSgpOworZXh0ZXJuIGludCBzb2xhcmlzX3B0cmFjZSgpOworZXh0ZXJuIGludCBzb2xhcmlzX2FsYXJtKCk7CitleHRlcm4gaW50IHNvbGFyaXNfZnN0YXQoKTsKK2V4dGVybiBpbnQgc29sYXJpc19wYXVzZSgpOworZXh0ZXJuIGludCBzb2xhcmlzX3V0aW1lKCk7CitleHRlcm4gaW50IHNvbGFyaXNfc3R0eSgpOworZXh0ZXJuIGludCBzb2xhcmlzX2d0dHkoKTsKK2V4dGVybiBpbnQgc29sYXJpc19hY2Nlc3MoKTsKK2V4dGVybiBpbnQgc29sYXJpc19uaWNlKCk7CitleHRlcm4gaW50IHNvbGFyaXNfc3RhdGZzKCk7CitleHRlcm4gaW50IHNvbGFyaXNfc3luYygpOworZXh0ZXJuIGludCBzb2xhcmlzX2tpbGwoKTsKK2V4dGVybiBpbnQgc29sYXJpc19mc3RhdGZzKCk7CitleHRlcm4gaW50IHNvbGFyaXNfcGdycHN5cygpOworZXh0ZXJuIGludCBzb2xhcmlzX3NldHBncnAoKTsKK2V4dGVybiBpbnQgc29sYXJpc194ZW5peCgpOworZXh0ZXJuIGludCBzb2xhcmlzX3N5c3NnaSgpOworZXh0ZXJuIGludCBzb2xhcmlzX2R1cCgpOworZXh0ZXJuIGludCBzb2xhcmlzX3BpcGUoKTsKK2V4dGVybiBpbnQgc29sYXJpc190aW1lcygpOworZXh0ZXJuIGludCBzb2xhcmlzX3Byb2ZpbCgpOworZXh0ZXJuIGludCBzb2xhcmlzX3Bsb2NrKCk7CitleHRlcm4gaW50IHNvbGFyaXNfc2V0Z2lkKCk7CitleHRlcm4gaW50IHNvbGFyaXNfZ2V0Z2lkKCk7CitleHRlcm4gaW50IHNvbGFyaXNfc2lnY2FsbCgpOworZXh0ZXJuIGludCBzb2xhcmlzX21zZ3N5cygpOworZXh0ZXJuIGludCBzb2xhcmlzX3N5c3N1bigpOworZXh0ZXJuIGludCBzb2xhcmlzX3N5c2k4NigpOworZXh0ZXJuIGludCBzb2xhcmlzX3N5c21pcHMoKTsKK2V4dGVybiBpbnQgc29sYXJpc19zeXNtYWNoaW5lKCk7CitleHRlcm4gaW50IHNvbGFyaXNfYWNjdCgpOworZXh0ZXJuIGludCBzb2xhcmlzX3NobXN5cygpOworZXh0ZXJuIGludCBzb2xhcmlzX3NlbXN5cygpOworZXh0ZXJuIGludCBzb2xhcmlzX2lvY3RsKCk7CitleHRlcm4gaW50IHNvbGFyaXNfdWFkbWluKCk7CitleHRlcm4gaW50IHNvbGFyaXNfdXRzc3lzKCk7CitleHRlcm4gaW50IHNvbGFyaXNfZmRzeW5jKCk7CitleHRlcm4gaW50IHNvbGFyaXNfZXhlY3ZlKCk7CitleHRlcm4gaW50IHNvbGFyaXNfdW1hc2soKTsKK2V4dGVybiBpbnQgc29sYXJpc19jaHJvb3QoKTsKK2V4dGVybiBpbnQgc29sYXJpc19mY250bCgpOworZXh0ZXJuIGludCBzb2xhcmlzX3VsaW1pdCgpOworZXh0ZXJuIGludCBzb2xhcmlzX3JtZGlyKCk7CitleHRlcm4gaW50IHNvbGFyaXNfbWtkaXIoKTsKK2V4dGVybiBpbnQgc29sYXJpc19nZXRkZW50cygpOworZXh0ZXJuIGludCBzb2xhcmlzX3N5c2ZzKCk7CitleHRlcm4gaW50IHNvbGFyaXNfZ2V0bXNnKCk7CitleHRlcm4gaW50IHNvbGFyaXNfcHV0bXNnKCk7CitleHRlcm4gaW50IHNvbGFyaXNfcG9sbCgpOworZXh0ZXJuIGludCBzb2xhcmlzX2xzdGF0KCk7CitleHRlcm4gaW50IHNvbGFyaXNfc3ltbGluaygpOworZXh0ZXJuIGludCBzb2xhcmlzX3JlYWRsaW5rKCk7CitleHRlcm4gaW50IHNvbGFyaXNfc2V0Z3JvdXBzKCk7CitleHRlcm4gaW50IHNvbGFyaXNfZ2V0Z3JvdXBzKCk7CitleHRlcm4gaW50IHNvbGFyaXNfZmNobW9kKCk7CitleHRlcm4gaW50IHNvbGFyaXNfZmNob3duKCk7CitleHRlcm4gaW50IHNvbGFyaXNfc2lncHJvY21hc2soKTsKK2V4dGVybiBpbnQgc29sYXJpc19zaWdzdXNwZW5kKCk7CitleHRlcm4gaW50IHNvbGFyaXNfc2lnYWx0c3RhY2soKTsKK2V4dGVybiBpbnQgc29sYXJpc19zaWdhY3Rpb24oKTsKK2V4dGVybiBpbnQgc29sYXJpc19zcGNhbGwoKTsKK2V4dGVybiBpbnQgc29sYXJpc19jb250ZXh0KCk7CitleHRlcm4gaW50IHNvbGFyaXNfZXZzeXMoKTsKK2V4dGVybiBpbnQgc29sYXJpc19ldnRyYXByZXQoKTsKK2V4dGVybiBpbnQgc29sYXJpc19zdGF0dmZzKCk7CitleHRlcm4gaW50IHNvbGFyaXNfZnN0YXR2ZnMoKTsKK2V4dGVybiBpbnQgc29sYXJpc19uZnNzeXMoKTsKK2V4dGVybiBpbnQgc29sYXJpc193YWl0aWQoKTsKK2V4dGVybiBpbnQgc29sYXJpc19zaWdzZW5kc3lzKCk7CitleHRlcm4gaW50IHNvbGFyaXNfaHJ0c3lzKCk7CitleHRlcm4gaW50IHNvbGFyaXNfYWNhbmNlbCgpOworZXh0ZXJuIGludCBzb2xhcmlzX2FzeW5jKCk7CitleHRlcm4gaW50IHNvbGFyaXNfcHJpb2NudGxzeXMoKTsKK2V4dGVybiBpbnQgc29sYXJpc19wYXRoY29uZigpOworZXh0ZXJuIGludCBzb2xhcmlzX21pbmNvcmUoKTsKK2V4dGVybiBpbnQgc29sYXJpc19tbWFwKCk7CitleHRlcm4gaW50IHNvbGFyaXNfbXByb3RlY3QoKTsKK2V4dGVybiBpbnQgc29sYXJpc19tdW5tYXAoKTsKK2V4dGVybiBpbnQgc29sYXJpc19mcGF0aGNvbmYoKTsKK2V4dGVybiBpbnQgc29sYXJpc192Zm9yaygpOworZXh0ZXJuIGludCBzb2xhcmlzX2ZjaGRpcigpOworZXh0ZXJuIGludCBzb2xhcmlzX3JlYWR2KCk7CitleHRlcm4gaW50IHNvbGFyaXNfd3JpdGV2KCk7CitleHRlcm4gaW50IHNvbGFyaXNfeHN0YXQoKTsKK2V4dGVybiBpbnQgc29sYXJpc19seHN0YXQoKTsKK2V4dGVybiBpbnQgc29sYXJpc19meHN0YXQoKTsKK2V4dGVybiBpbnQgc29sYXJpc194bWtub2QoKTsKK2V4dGVybiBpbnQgc29sYXJpc19jbG9jYWwoKTsKK2V4dGVybiBpbnQgc29sYXJpc19zZXRybGltaXQoKTsKK2V4dGVybiBpbnQgc29sYXJpc19nZXRybGltaXQoKTsKK2V4dGVybiBpbnQgc29sYXJpc19sY2hvd24oKTsKK2V4dGVybiBpbnQgc29sYXJpc19tZW1jbnRsKCk7CitleHRlcm4gaW50IHNvbGFyaXNfZ2V0cG1zZygpOworZXh0ZXJuIGludCBzb2xhcmlzX3B1dHBtc2coKTsKK2V4dGVybiBpbnQgc29sYXJpc19yZW5hbWUoKTsKK2V4dGVybiBpbnQgc29sYXJpc191bmFtZSgpOworZXh0ZXJuIGludCBzb2xhcmlzX3NldGVnaWQoKTsKK2V4dGVybiBpbnQgc29sYXJpc19zeXNjb25maWcoKTsKK2V4dGVybiBpbnQgc29sYXJpc19hZGp0aW1lKCk7CitleHRlcm4gaW50IHNvbGFyaXNfc3lzaW5mbygpOworZXh0ZXJuIGludCBzb2xhcmlzX3NldGV1aWQoKTsKK2V4dGVybiBpbnQgc29sYXJpc192dHJhY2UoKTsKK2V4dGVybiBpbnQgc29sYXJpc19mb3JrMSgpOworZXh0ZXJuIGludCBzb2xhcmlzX3NpZ3RpbWVkd2FpdCgpOworZXh0ZXJuIGludCBzb2xhcmlzX2x3cF9pbmZvKCk7CitleHRlcm4gaW50IHNvbGFyaXNfeWllbGQoKTsKK2V4dGVybiBpbnQgc29sYXJpc19sd3Bfc2VtYV93YWl0KCk7CitleHRlcm4gaW50IHNvbGFyaXNfbHdwX3NlbWFfcG9zdCgpOworZXh0ZXJuIGludCBzb2xhcmlzX21vZGN0bCgpOworZXh0ZXJuIGludCBzb2xhcmlzX2ZjaHJvb3QoKTsKK2V4dGVybiBpbnQgc29sYXJpc191dGltZXMoKTsKK2V4dGVybiBpbnQgc29sYXJpc192aGFuZ3VwKCk7CitleHRlcm4gaW50IHNvbGFyaXNfZ2V0dGltZW9mZGF5KCk7CitleHRlcm4gaW50IHNvbGFyaXNfZ2V0aXRpbWVyKCk7CitleHRlcm4gaW50IHNvbGFyaXNfc2V0aXRpbWVyKCk7CitleHRlcm4gaW50IHNvbGFyaXNfbHdwX2NyZWF0ZSgpOworZXh0ZXJuIGludCBzb2xhcmlzX2x3cF9leGl0KCk7CitleHRlcm4gaW50IHNvbGFyaXNfbHdwX3N1c3BlbmQoKTsKK2V4dGVybiBpbnQgc29sYXJpc19sd3BfY29udGludWUoKTsKK2V4dGVybiBpbnQgc29sYXJpc19sd3Bfa2lsbCgpOworZXh0ZXJuIGludCBzb2xhcmlzX2x3cF9zZWxmKCk7CitleHRlcm4gaW50IHNvbGFyaXNfbHdwX3NldHByaXZhdGUoKTsKK2V4dGVybiBpbnQgc29sYXJpc19sd3BfZ2V0cHJpdmF0ZSgpOworZXh0ZXJuIGludCBzb2xhcmlzX2x3cF93YWl0KCk7CitleHRlcm4gaW50IHNvbGFyaXNfbHdwX211dGV4X3VubG9jaygpOworZXh0ZXJuIGludCBzb2xhcmlzX2x3cF9tdXRleF9sb2NrKCk7CitleHRlcm4gaW50IHNvbGFyaXNfbHdwX2NvbmRfd2FpdCgpOworZXh0ZXJuIGludCBzb2xhcmlzX2x3cF9jb25kX3NpZ25hbCgpOworZXh0ZXJuIGludCBzb2xhcmlzX2x3cF9jb25kX2Jyb2FkY2FzdCgpOworZXh0ZXJuIGludCBzb2xhcmlzX3ByZWFkKCk7CitleHRlcm4gaW50IHNvbGFyaXNfcHdyaXRlKCk7CitleHRlcm4gaW50IHNvbGFyaXNfbGxzZWVrKCk7CitleHRlcm4gaW50IHNvbGFyaXNfaW5zdF9zeW5jKCk7CitleHRlcm4gaW50IHNvbGFyaXNfYXVkaXRzeXMoKTsKK2V4dGVybiBpbnQgc29sYXJpc19wcm9jZXNzb3JfYmluZCgpOworZXh0ZXJuIGludCBzb2xhcmlzX3Byb2Nlc3Nvcl9pbmZvKCk7CitleHRlcm4gaW50IHNvbGFyaXNfcF9vbmxpbmUoKTsKK2V4dGVybiBpbnQgc29sYXJpc19zaWdxdWV1ZSgpOworZXh0ZXJuIGludCBzb2xhcmlzX2Nsb2NrX2dldHRpbWUoKTsKK2V4dGVybiBpbnQgc29sYXJpc19jbG9ja19zZXR0aW1lKCk7CitleHRlcm4gaW50IHNvbGFyaXNfY2xvY2tfZ2V0cmVzKCk7CitleHRlcm4gaW50IHNvbGFyaXNfdGltZXJfY3JlYXRlKCk7CitleHRlcm4gaW50IHNvbGFyaXNfdGltZXJfZGVsZXRlKCk7CitleHRlcm4gaW50IHNvbGFyaXNfdGltZXJfc2V0dGltZSgpOworZXh0ZXJuIGludCBzb2xhcmlzX3RpbWVyX2dldHRpbWUoKTsKK2V4dGVybiBpbnQgc29sYXJpc190aW1lcl9nZXRvdmVycnVuKCk7CitleHRlcm4gaW50IHNvbGFyaXNfbmFub3NsZWVwKCk7CisKKy8qIHNvbGFyaXNfcGdycHN5cyBzdWJjYWxscyAqLworCitleHRlcm4gaW50IHNvbGFyaXNfZ2V0cGdycCgpLCBzb2xhcmlzX3NldHBncnAoKSwgc29sYXJpc19nZXRzaWQoKTsKK2V4dGVybiBpbnQgc29sYXJpc19zZXRzaWQoKSwgc29sYXJpc19nZXRwZ2lkKCksIHNvbGFyaXNfc2V0cGdpZCgpOworCisjZGVmaW5lIFNPTEFSSVNfcGdycHN5c19zdWJjYWxsCTMwMAorI2RlZmluZSBTT0xBUklTX2dldHBncnAJCShTT0xBUklTX3BncnBzeXNfc3ViY2FsbCArIDApCisjZGVmaW5lIFNPTEFSSVNfc2V0cGdycAkJKFNPTEFSSVNfcGdycHN5c19zdWJjYWxsICsgMSkKKyNkZWZpbmUgU09MQVJJU19nZXRzaWQJCShTT0xBUklTX3BncnBzeXNfc3ViY2FsbCArIDIpCisjZGVmaW5lIFNPTEFSSVNfc2V0c2lkCQkoU09MQVJJU19wZ3Jwc3lzX3N1YmNhbGwgKyAzKQorI2RlZmluZSBTT0xBUklTX2dldHBnaWQJCShTT0xBUklTX3BncnBzeXNfc3ViY2FsbCArIDQpCisjZGVmaW5lIFNPTEFSSVNfc2V0cGdpZAkJKFNPTEFSSVNfcGdycHN5c19zdWJjYWxsICsgNSkKKworI2RlZmluZSBTT0xBUklTX3BncnBzeXNfbnN1YmNhbGxzCTYKKworLyogc29sYXJpc19zaWdjYWxsIHN1YmNhbGxzICovCisKKyN1bmRlZiBTT0xBUklTX3NpZ25hbAorI2RlZmluZSBTT0xBUklTX3NpZ2NhbGwJCTQ4CisKK2V4dGVybiBpbnQgc29sYXJpc19zaWduYWwoKSwgc29sYXJpc19zaWdzZXQoKSwgc29sYXJpc19zaWdob2xkKCk7CitleHRlcm4gaW50IHNvbGFyaXNfc2lncmVsc2UoKSwgc29sYXJpc19zaWdpZ25vcmUoKSwgc29sYXJpc19zaWdwYXVzZSgpOworCisjZGVmaW5lIFNPTEFSSVNfc2lnY2FsbF9zdWJjYWxsCTMxMAorI2RlZmluZSBTT0xBUklTX3NpZ25hbAkJKFNPTEFSSVNfc2lnY2FsbF9zdWJjYWxsICsgMCkKKyNkZWZpbmUgU09MQVJJU19zaWdzZXQJCShTT0xBUklTX3NpZ2NhbGxfc3ViY2FsbCArIDEpCisjZGVmaW5lIFNPTEFSSVNfc2lnaG9sZAkJKFNPTEFSSVNfc2lnY2FsbF9zdWJjYWxsICsgMikKKyNkZWZpbmUgU09MQVJJU19zaWdyZWxzZQkJKFNPTEFSSVNfc2lnY2FsbF9zdWJjYWxsICsgMykKKyNkZWZpbmUgU09MQVJJU19zaWdpZ25vcmUJCShTT0xBUklTX3NpZ2NhbGxfc3ViY2FsbCArIDQpCisjZGVmaW5lIFNPTEFSSVNfc2lncGF1c2UJCShTT0xBUklTX3NpZ2NhbGxfc3ViY2FsbCArIDUpCisKKyNkZWZpbmUgU09MQVJJU19zaWdjYWxsX25zdWJjYWxscwk2CisKKy8qIG1zZ3N5cyBzdWJjYWxscyAqLworCitleHRlcm4gaW50IHNvbGFyaXNfbXNnZ2V0KCksIHNvbGFyaXNfbXNnY3RsKCksIHNvbGFyaXNfbXNncmN2KCksIHNvbGFyaXNfbXNnc25kKCk7CisKKyNkZWZpbmUgU09MQVJJU19tc2dzeXNfc3ViY2FsbAkzMjAKKyNkZWZpbmUgU09MQVJJU19tc2dnZXQJCShTT0xBUklTX21zZ3N5c19zdWJjYWxsICsgMCkKKyNkZWZpbmUgU09MQVJJU19tc2djdGwJCShTT0xBUklTX21zZ3N5c19zdWJjYWxsICsgMSkKKyNkZWZpbmUgU09MQVJJU19tc2dyY3YJCShTT0xBUklTX21zZ3N5c19zdWJjYWxsICsgMikKKyNkZWZpbmUgU09MQVJJU19tc2dzbmQJCShTT0xBUklTX21zZ3N5c19zdWJjYWxsICsgMykKKworI2RlZmluZSBTT0xBUklTX21zZ3N5c19uc3ViY2FsbHMJNAorCisvKiBzaG1zeXMgc3ViY2FsbHMgKi8KKworZXh0ZXJuIGludCBzb2xhcmlzX3NobWF0KCksIHNvbGFyaXNfc2htY3RsKCksIHNvbGFyaXNfc2htZHQoKSwgc29sYXJpc19zaG1nZXQoKTsKKworI2RlZmluZSBTT0xBUklTX3NobXN5c19zdWJjYWxsCTMzMAorI2RlZmluZSBTT0xBUklTX3NobWF0CQkoU09MQVJJU19zaG1zeXNfc3ViY2FsbCArIDApCisjZGVmaW5lIFNPTEFSSVNfc2htY3RsCQkoU09MQVJJU19zaG1zeXNfc3ViY2FsbCArIDEpCisjZGVmaW5lIFNPTEFSSVNfc2htZHQJCShTT0xBUklTX3NobXN5c19zdWJjYWxsICsgMikKKyNkZWZpbmUgU09MQVJJU19zaG1nZXQJCShTT0xBUklTX3NobXN5c19zdWJjYWxsICsgMykKKworI2RlZmluZSBTT0xBUklTX3NobXN5c19uc3ViY2FsbHMJNAorCisvKiBzZW1zeXMgc3ViY2FsbHMgKi8KKworZXh0ZXJuIGludCBzb2xhcmlzX3NlbWN0bCgpLCBzb2xhcmlzX3NlbWdldCgpLCBzb2xhcmlzX3NlbW9wKCk7CisKKyNkZWZpbmUgU09MQVJJU19zZW1zeXNfc3ViY2FsbAkzNDAKKyNkZWZpbmUgU09MQVJJU19zZW1jdGwJCShTT0xBUklTX3NlbXN5c19zdWJjYWxsICsgMCkKKyNkZWZpbmUgU09MQVJJU19zZW1nZXQJCShTT0xBUklTX3NlbXN5c19zdWJjYWxsICsgMSkKKyNkZWZpbmUgU09MQVJJU19zZW1vcAkJKFNPTEFSSVNfc2Vtc3lzX3N1YmNhbGwgKyAyKQorCisjZGVmaW5lIFNPTEFSSVNfc2Vtc3lzX25zdWJjYWxscwkzCisKKy8qIHV0c3N5cyBzdWJjYWxscyAqLworCitleHRlcm4gaW50IHNvbGFyaXNfb2xkdW5hbWUoKSwgc29sYXJpc191c3RhdCgpLCBzb2xhcmlzX2Z1c2VycygpOworCisjZGVmaW5lIFNPTEFSSVNfdXRzc3lzX3N1YmNhbGwJMzUwCisKKyNkZWZpbmUgU09MQVJJU19vbGR1bmFtZQkJKFNPTEFSSVNfdXRzc3lzX3N1YmNhbGwgKyAwKQorCQkJCS8qIDEgaXMgdW51c2VkICovCisjZGVmaW5lIFNPTEFSSVNfdXN0YXQJCShTT0xBUklTX3V0c3N5c19zdWJjYWxsICsgMikKKyNkZWZpbmUgU09MQVJJU19mdXNlcnMJCShTT0xBUklTX3V0c3N5c19zdWJjYWxsICsgMykKKworI2RlZmluZSBTT0xBUklTX3V0c3N5c19uc3ViY2FsbHMJNAorCisvKiBzeXNmcyBzdWJjYWxscyAqLworCitleHRlcm4gaW50IHNvbGFyaXNfc3lzZnMxKCksIHNvbGFyaXNfc3lzZnMyKCksIHNvbGFyaXNfc3lzZnMzKCk7CisKKyNkZWZpbmUgU09MQVJJU19zeXNmc19zdWJjYWxsCTM2MAorCQkJCS8qIDAgaXMgdW51c2VkICovCisjZGVmaW5lIFNPTEFSSVNfc3lzZnMxCQkoU09MQVJJU19zeXNmc19zdWJjYWxsICsgMSkKKyNkZWZpbmUgU09MQVJJU19zeXNmczIJCShTT0xBUklTX3N5c2ZzX3N1YmNhbGwgKyAyKQorI2RlZmluZSBTT0xBUklTX3N5c2ZzMwkJKFNPTEFSSVNfc3lzZnNfc3ViY2FsbCArIDMpCisKKyNkZWZpbmUgU09MQVJJU19zeXNmc19uc3ViY2FsbHMJNAorCisvKiBzb2xhcmlzX3NwY2FsbCBzdWJjYWxscyAqLworCisjdW5kZWYgU09MQVJJU19zaWdwZW5kaW5nCisjZGVmaW5lIFNPTEFSSVNfc3BjYWxsCQk5OQorCitleHRlcm4gaW50IHNvbGFyaXNfc2lncGVuZGluZygpLCBzb2xhcmlzX3NpZ2ZpbGxzZXQoKTsKKworI2RlZmluZSBTT0xBUklTX3NwY2FsbF9zdWJjYWxsCTM3MAorCQkJCS8qIDAgaXMgdW51c2VkICovCisjZGVmaW5lIFNPTEFSSVNfc2lncGVuZGluZwkJKFNPTEFSSVNfc3BjYWxsX3N1YmNhbGwgKyAxKQorI2RlZmluZSBTT0xBUklTX3NpZ2ZpbGxzZXQJCShTT0xBUklTX3NwY2FsbF9zdWJjYWxsICsgMikKKworI2RlZmluZSBTT0xBUklTX3NwY2FsbF9uc3ViY2FsbHMJMworCisvKiBzb2xhcmlzX2NvbnRleHQgc3ViY2FsbHMgKi8KKworZXh0ZXJuIGludCBzb2xhcmlzX2dldGNvbnRleHQoKSwgc29sYXJpc19zZXRjb250ZXh0KCk7CisKKyNkZWZpbmUgU09MQVJJU19jb250ZXh0X3N1YmNhbGwJMzgwCisjZGVmaW5lIFNPTEFSSVNfZ2V0Y29udGV4dAkJKFNPTEFSSVNfY29udGV4dF9zdWJjYWxsICsgMCkKKyNkZWZpbmUgU09MQVJJU19zZXRjb250ZXh0CQkoU09MQVJJU19jb250ZXh0X3N1YmNhbGwgKyAxKQorCisjZGVmaW5lIFNPTEFSSVNfY29udGV4dF9uc3ViY2FsbHMJMgpkaWZmIC0tZ2l0IGEvc3RyYWNlLTQuNS4yMC9saW51eC9zcGFyYzY0L3N5c2NhbGxlbnQuaCBiL3N0cmFjZS00LjUuMjAvbGludXgvc3BhcmM2NC9zeXNjYWxsZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzc2YjVmMQotLS0gL2Rldi9udWxsCisrKyBiL3N0cmFjZS00LjUuMjAvbGludXgvc3BhcmM2NC9zeXNjYWxsZW50LmgKQEAgLTAsMCArMSBAQAorI2luY2x1ZGUgIi4uL3NwYXJjL3N5c2NhbGxlbnQuaCIKZGlmZiAtLWdpdCBhL3N0cmFjZS00LjUuMjAvbGludXgvc3BhcmM2NC9zeXNjYWxsZW50MS5oIGIvc3RyYWNlLTQuNS4yMC9saW51eC9zcGFyYzY0L3N5c2NhbGxlbnQxLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODIxZDc3YwotLS0gL2Rldi9udWxsCisrKyBiL3N0cmFjZS00LjUuMjAvbGludXgvc3BhcmM2NC9zeXNjYWxsZW50MS5oCkBAIC0wLDAgKzEgQEAKKyNpbmNsdWRlICIuLi9zcGFyYy9zeXNjYWxsZW50MS5oIgpkaWZmIC0tZ2l0IGEvc3RyYWNlLTQuNS4yMC9saW51eC9zcGFyYzY0L3N5c2NhbGxlbnQyLmggYi9zdHJhY2UtNC41LjIwL2xpbnV4L3NwYXJjNjQvc3lzY2FsbGVudDIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NzZiNWYxCi0tLSAvZGV2L251bGwKKysrIGIvc3RyYWNlLTQuNS4yMC9saW51eC9zcGFyYzY0L3N5c2NhbGxlbnQyLmgKQEAgLTAsMCArMSBAQAorI2luY2x1ZGUgIi4uL3NwYXJjL3N5c2NhbGxlbnQuaCIKZGlmZiAtLWdpdCBhL3N0cmFjZS00LjUuMjAvbGludXgvc3lzY2FsbC5oIGIvc3RyYWNlLTQuNS4yMC9saW51eC9zeXNjYWxsLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmJmZWQ4NwotLS0gL2Rldi9udWxsCisrKyBiL3N0cmFjZS00LjUuMjAvbGludXgvc3lzY2FsbC5oCkBAIC0wLDAgKzEsMzM3IEBACisvKgorICogQ29weXJpZ2h0IChjKSAxOTkzIEJyYW5rbyBMYW5rZXN0ZXIgPGJyYW5rb0BoYWNrdGljLm5sPgorICogQ29weXJpZ2h0IChjKSAxOTkzLCAxOTk0LCAxOTk1IFJpY2sgU2xhZGtleSA8anJzQHdvcmxkLnN0ZC5jb20+CisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gVGhlIG5hbWUgb2YgdGhlIGF1dGhvciBtYXkgbm90IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzCisgKiAgICBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBBVVRIT1IgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUyBPUgorICogSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUworICogT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4KKyAqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKKyAqIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVAorICogTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKgorICoJJElkJAorICovCisKKyNpbmNsdWRlICJkdW1teS5oIgorCisvKiBwcmltYXJ5IHN5c2NhbGxzICovCisKK2ludCBzeXNfcmVzdGFydF9zeXNjYWxsKCk7CitpbnQgc3lzX3NldHVwKCksIHN5c19leGl0KCksIHN5c19mb3JrKCksIHN5c19yZWFkKCksIHN5c193cml0ZSgpOworaW50IHN5c19vcGVuKCksIHN5c19jbG9zZSgpLCBzeXNfd2FpdHBpZCgpLCBzeXNfY3JlYXQoKSwgc3lzX2xpbmsoKTsKK2ludCBzeXNfdW5saW5rKCksIHN5c19leGVjdmUoKSwgc3lzX2NoZGlyKCksIHN5c190aW1lKCksIHN5c19ta25vZCgpOworaW50IHN5c19jaG1vZCgpLCBzeXNfY2hvd24oKSwgc3lzX2JyZWFrKCksIHN5c19vbGRzdGF0KCk7CitpbnQgc3lzX2xzZWVrKCksIHN5c19nZXRwaWQoKSwgc3lzX21vdW50KCksIHN5c191bW91bnQoKSwgc3lzX3Vtb3VudDIoKTsKK2ludCBzeXNfc2V0dWlkKCksIHN5c19nZXR1aWQoKSwgc3lzX3N0aW1lKCksIHN5c19wdHJhY2UoKTsKK2ludCBzeXNfYWxhcm0oKSwgc3lzX29sZGZzdGF0KCksIHN5c19wYXVzZSgpLCBzeXNfdXRpbWUoKTsKK2ludCBzeXNfc3R0eSgpLCBzeXNfZ3R0eSgpLCBzeXNfYWNjZXNzKCksIHN5c19uaWNlKCksIHN5c19mdGltZSgpOworaW50IHN5c19zeW5jKCksIHN5c19raWxsKCksIHN5c19yZW5hbWUoKSwgc3lzX21rZGlyKCksIHN5c19ybWRpcigpOworaW50IHN5c19kdXAoKSwgc3lzX3BpcGUoKSwgc3lzX3RpbWVzKCksIHN5c19wcm9mKCksIHN5c19icmsoKTsKK2ludCBzeXNfc2V0Z2lkKCksIHN5c19nZXRnaWQoKSwgc3lzX3NpZ25hbCgpLCBzeXNfZ2V0ZXVpZCgpOworaW50IHN5c19nZXRlZ2lkKCksIHN5c19hY2N0KCksIHN5c19waHlzKCksIHN5c19sb2NrKCksIHN5c19pb2N0bCgpOworaW50IHN5c19mY250bCgpLCBzeXNfbXB4KCksIHN5c19zZXRwZ2lkKCksIHN5c191bGltaXQoKTsKK2ludCBzeXNfb2xkdW5hbWUoKSwgc3lzX3VtYXNrKCksIHN5c19jaHJvb3QoKSwgc3lzX3VzdGF0KCk7CitpbnQgc3lzX2R1cDIoKSwgc3lzX2dldHBwaWQoKSwgc3lzX2dldHBncnAoKSwgc3lzX3NldHNpZCgpOworaW50IHN5c19zaWdhY3Rpb24oKSwgc3lzX3NpZ2dldG1hc2soKSwgc3lzX3NpZ3NldG1hc2soKTsKK2ludCBzeXNfc2V0cmV1aWQoKSwgc3lzX3NldHJlZ2lkKCksIHN5c19zaWdzdXNwZW5kKCk7CitpbnQgc3lzX3NpZ3BlbmRpbmcoKSwgc3lzX3NldGhvc3RuYW1lKCksIHN5c19zZXRybGltaXQoKTsKK2ludCBzeXNfZ2V0cmxpbWl0KCksIHN5c19nZXRydXNhZ2UoKSwgc3lzX2dldHRpbWVvZmRheSgpOworaW50IHN5c19zZXR0aW1lb2ZkYXkoKSwgc3lzX2dldGdyb3VwcygpLCBzeXNfc2V0Z3JvdXBzKCk7CitpbnQgc3lzX3NldGdyb3VwczMyKCksIHN5c19nZXRncm91cHMzMigpOworaW50IHN5c19vbGRzZWxlY3QoKSwgc3lzX3N5bWxpbmsoKSwgc3lzX29sZGxzdGF0KCksIHN5c19yZWFkbGluaygpOworaW50IHN5c191c2VsaWIoKSwgc3lzX3N3YXBvbigpLCBzeXNfcmVib290KCksIHN5c19yZWFkZGlyKCk7CitpbnQgc3lzX21tYXAoKSwgc3lzX211bm1hcCgpLCBzeXNfdHJ1bmNhdGUoKSwgc3lzX2Z0cnVuY2F0ZSgpOworaW50IHN5c19mY2htb2QoKSwgc3lzX2ZjaG93bigpLCBzeXNfZ2V0cHJpb3JpdHkoKTsKK2ludCBzeXNfc2V0cHJpb3JpdHkoKSwgc3lzX3Byb2ZpbCgpLCBzeXNfc3RhdGZzKCksIHN5c19mc3RhdGZzKCk7CitpbnQgc3lzX2lvcGVybSgpLCBzeXNfc29ja2V0Y2FsbCgpLCBzeXNfc3lzbG9nKCksIHN5c19zZXRpdGltZXIoKTsKK2ludCBzeXNfZ2V0aXRpbWVyKCksIHN5c19zdGF0KCksIHN5c19sc3RhdCgpLCBzeXNfZnN0YXQoKTsKK2ludCBzeXNfdW5hbWUoKSwgc3lzX2lvcGwoKSwgc3lzX3ZoYW5ndXAoKSwgc3lzX2lkbGUoKSwgc3lzX3ZtODYoKTsKK2ludCBzeXNfd2FpdDQoKSwgc3lzX3N3YXBvZmYoKSwgc3lzX2lwYygpLCBzeXNfc2lncmV0dXJuKCk7CitpbnQgc3lzX2ZzeW5jKCksIHN5c19jbG9uZSgpLCBzeXNfc2V0ZG9tYWlubmFtZSgpLCBzeXNfc3lzaW5mbygpOworaW50IHN5c19tb2RpZnlfbGR0KCksIHN5c19hZGp0aW1leCgpLCBzeXNfbXByb3RlY3QoKTsKK2ludCBzeXNfc2lncHJvY21hc2soKSwgc3lzX2NyZWF0ZV9tb2R1bGUoKSwgc3lzX2luaXRfbW9kdWxlKCk7CitpbnQgc3lzX2RlbGV0ZV9tb2R1bGUoKSwgc3lzX2dldF9rZXJuZWxfc3ltcygpLCBzeXNfcXVvdGFjdGwoKTsKK2ludCBzeXNfZ2V0cGdpZCgpLCBzeXNfZmNoZGlyKCksIHN5c19iZGZsdXNoKCk7CitpbnQgc3lzX3N5c2ZzKCksIHN5c19wZXJzb25hbGl0eSgpLCBzeXNfYWZzX3N5c2NhbGwoKTsKK2ludCBzeXNfc2V0ZnN1aWQoKSwgc3lzX3NldGZzZ2lkKCksIHN5c19sbHNlZWsoKTsKK2ludCBzeXNfZ2V0ZGVudHMoKSwgc3lzX2Zsb2NrKCksIHN5c19tc3luYygpOworaW50IHN5c19yZWFkdigpLCBzeXNfd3JpdGV2KCksIHN5c19zZWxlY3QoKTsKK2ludCBzeXNfZ2V0c2lkKCksIHN5c19mZGF0YXN5bmMoKSwgc3lzX3N5c2N0bCgpOworaW50IHN5c19tbG9jaygpLCBzeXNfbXVubG9jaygpLCBzeXNfbWxvY2thbGwoKSwgc3lzX211bmxvY2thbGwoKSwgc3lzX21hZHZpc2UoKTsKK2ludCBzeXNfc2NoZWRfc2V0cGFyYW0oKSwgc3lzX3NjaGVkX2dldHBhcmFtKCk7CitpbnQgc3lzX3NjaGVkX3NldHNjaGVkdWxlcigpLCBzeXNfc2NoZWRfZ2V0c2NoZWR1bGVyKCksIHN5c19zY2hlZF95aWVsZCgpOworaW50IHN5c19zY2hlZF9nZXRfcHJpb3JpdHlfbWF4KCksIHN5c19zY2hlZF9nZXRfcHJpb3JpdHlfbWluKCk7CitpbnQgc3lzX3NjaGVkX3JyX2dldF9pbnRlcnZhbCgpLCBzeXNfbmFub3NsZWVwKCksIHN5c19tcmVtYXAoKTsKK2ludCBzeXNfc2VuZG1zZygpLCBzeXNfcmVjdm1zZygpLCBzeXNfc2V0cmVzdWlkKCksIHN5c19zZXRyZXNnaWQoKTsKK2ludCBzeXNfZ2V0cmVzdWlkKCksIHN5c19nZXRyZXNnaWQoKSwgc3lzX3ByZWFkKCksIHN5c19wd3JpdGUoKSwgc3lzX2dldGN3ZCgpOworaW50IHN5c19zaWdhbHRzdGFjaygpLCBzeXNfcnRfc2lncHJvY21hc2soKSwgc3lzX3J0X3NpZ2FjdGlvbigpOworaW50IHN5c19ydF9zaWdwZW5kaW5nKCksIHN5c19ydF9zaWdzdXNwZW5kKCksIHN5c19ydF9zaWdxdWV1ZWluZm8oKTsKK2ludCBzeXNfcnRfc2lndGltZWR3YWl0KCksIHN5c19wcmN0bCgpLCBzeXNfcG9sbCgpLCBzeXNfdmZvcmsoKTsKK2ludCBzeXNfc2VuZGZpbGUoKSwgc3lzX29sZF9tbWFwKCksIHN5c19zdGF0NjQoKSwgc3lzX2xzdGF0NjQoKSwgc3lzX2ZzdGF0NjQoKTsKK2ludCBzeXNfdHJ1bmNhdGU2NCgpLCBzeXNfZnRydW5jYXRlNjQoKSwgc3lzX3Bpdm90cm9vdCgpOworaW50IHN5c19nZXRkZW50czY0KCk7CitpbnQgc3lzX2dldHBtc2coKSwgc3lzX3B1dHBtc2coKSwgc3lzX3JlYWRhaGVhZCgpLCBzeXNfc2VuZGZpbGU2NCgpOworaW50IHN5c19zZXR4YXR0cigpLCBzeXNfZnNldHhhdHRyKCksIHN5c19nZXR4YXR0cigpLCBzeXNfZmdldHhhdHRyKCk7CitpbnQgc3lzX2xpc3R4YXR0cigpLCBzeXNfZmxpc3R4YXR0cigpLCBzeXNfcmVtb3ZleGF0dHIoKSwgc3lzX2ZyZW1vdmV4YXR0cigpOworaW50IHN5c19zY2hlZF9zZXRhZmZpbml0eSgpLCBzeXNfc2NoZWRfZ2V0YWZmaW5pdHkoKSwgc3lzX2Z1dGV4KCk7CitpbnQgc3lzX3NldF90aHJlYWRfYXJlYSgpLCBzeXNfZ2V0X3RocmVhZF9hcmVhKCksIHN5c19yZW1hcF9maWxlX3BhZ2VzKCk7CitpbnQgc3lzX3RpbWVyX2NyZWF0ZSgpLCBzeXNfdGltZXJfZGVsZXRlKCksIHN5c190aW1lcl9nZXRvdmVycnVuKCk7CitpbnQgc3lzX3RpbWVyX2dldHRpbWUoKSwgc3lzX3RpbWVyX3NldHRpbWUoKSwgc3lzX2Nsb2NrX3NldHRpbWUoKTsKK2ludCBzeXNfY2xvY2tfZ2V0dGltZSgpLCBzeXNfY2xvY2tfZ2V0cmVzKCksIHN5c19jbG9ja19uYW5vc2xlZXAoKTsKK2ludCBzeXNfc2VtdGltZWRvcCgpLCBzeXNfc3RhdGZzNjQoKSwgc3lzX2ZzdGF0ZnM2NCgpLCBzeXNfdGdraWxsKCk7CitpbnQgc3lzX21xX29wZW4oKSwgc3lzX21xX3RpbWVkc2VuZCgpLCBzeXNfbXFfdGltZWRyZWNlaXZlKCk7CitpbnQgc3lzX21xX25vdGlmeSgpLCBzeXNfbXFfZ2V0c2V0YXR0cigpOworaW50IHN5c19lcG9sbF9jcmVhdGUoKSwgc3lzX2Vwb2xsX2N0bCgpLCBzeXNfZXBvbGxfd2FpdCgpOworaW50IHN5c193YWl0aWQoKSwgc3lzX2ZhZHZpc2U2NCgpLCBzeXNfZmFkdmlzZTY0XzY0KCk7CitpbnQgc3lzX21iaW5kKCksIHN5c19nZXRfbWVtcG9saWN5KCksIHN5c19zZXRfbWVtcG9saWN5KCksIHN5c19tb3ZlX3BhZ2VzKCk7CitpbnQgc3lzX2FyY2hfcHJjdGwoKTsKK2ludCBzeXNfaW9fc2V0dXAoKSwgc3lzX2lvX3N1Ym1pdCgpLCBzeXNfaW9fY2FuY2VsKCksIHN5c19pb19nZXRldmVudHMoKSwgc3lzX2lvX2Rlc3Ryb3koKTsKK2ludCBzeXNfdXRpbWVuc2F0KCksIHN5c19lcG9sbF9wd2FpdCgpLCBzeXNfc2lnbmFsZmQoKSwgc3lzX3RpbWVyZmQoKSwgc3lzX2V2ZW50ZmQoKTsKK2ludCBzeXNfZ2V0Y3B1KCk7CitpbnQgc3lzX2ZhbGxvY2F0ZSgpLCBzeXNfdGltZXJmZF9jcmVhdGUoKSwgc3lzX3RpbWVyZmRfc2V0dGltZSgpLCBzeXNfdGltZXJmZF9nZXR0aW1lKCk7CitpbnQgc3lzX3NpZ25hbGZkNCgpLCBzeXNfZXZlbnRmZDIoKSwgc3lzX2Vwb2xsX2NyZWF0ZTEoKSwgc3lzX2R1cDMoKSwgc3lzX3BpcGUyKCk7CisKKy8qIHN5c19zb2NrZXRjYWxsIHN1YmNhbGxzICovCisKK2ludCBzeXNfc29ja2V0KCksIHN5c19iaW5kKCksIHN5c19jb25uZWN0KCksIHN5c19saXN0ZW4oKSwgc3lzX2FjY2VwdDQoKTsKK2ludCBzeXNfYWNjZXB0KCksIHN5c19nZXRzb2NrbmFtZSgpLCBzeXNfZ2V0cGVlcm5hbWUoKSwgc3lzX3NvY2tldHBhaXIoKTsKK2ludCBzeXNfc2VuZCgpLCBzeXNfcmVjdigpLCBzeXNfc2VuZHRvKCksIHN5c19yZWN2ZnJvbSgpOworaW50IHN5c19zaHV0ZG93bigpLCBzeXNfc2V0c29ja29wdCgpLCBzeXNfZ2V0c29ja29wdCgpOworaW50IHN5c19yZWN2bW1zZygpOworCisvKiAqYXQgc3lzY2FsbHMgKi8KK2ludCBzeXNfZmNobW9kYXQoKTsKK2ludCBzeXNfbmV3ZnN0YXRhdCgpOworaW50IHN5c191bmxpbmthdCgpOworaW50IHN5c19mY2hvd25hdCgpOworaW50IHN5c19vcGVuYXQoKTsKK2ludCBzeXNfcmVuYW1lYXQoKTsKK2ludCBzeXNfc3ltbGlua2F0KCk7CitpbnQgc3lzX3JlYWRsaW5rYXQoKTsKK2ludCBzeXNfbGlua2F0KCk7CitpbnQgc3lzX2ZhY2Nlc3NhdCgpOworaW50IHN5c19ta2RpcmF0KCk7CitpbnQgc3lzX21rbm9kYXQoKTsKK2ludCBzeXNfZnV0aW1lc2F0KCk7CisKKy8qIG5ldyBvbmVzICovCitpbnQgc3lzX3F1ZXJ5X21vZHVsZSgpOworaW50IHN5c19wb2xsKCk7CitpbnQgc3lzX21pbmNvcmUoKTsKK2ludCBzeXNfaW5vdGlmeV9hZGRfd2F0Y2goKTsKK2ludCBzeXNfaW5vdGlmeV9ybV93YXRjaCgpOworaW50IHN5c19pbm90aWZ5X2luaXQxKCk7CitpbnQgc3lzX3BzZWxlY3Q2KCk7CitpbnQgc3lzX3Bwb2xsKCk7CitpbnQgc3lzX3Vuc2hhcmUoKTsKKworLyogYXJjaGl0ZWN0dXJlLXNwZWNpZmljIGNhbGxzICovCisjaWZkZWYgQUxQSEEKK2ludCBzeXNfb3NmX3NlbGVjdCgpOworaW50IHN5c19vc2ZfZ2V0dGltZW9mZGF5KCk7CitpbnQgc3lzX29zZl9zZXR0aW1lb2ZkYXkoKTsKK2ludCBzeXNfb3NmX2dldGl0aW1lcigpOworaW50IHN5c19vc2Zfc2V0aXRpbWVyKCk7CitpbnQgc3lzX29zZl9nZXRydXNhZ2UoKTsKK2ludCBzeXNfb3NmX3dhaXQ0KCk7CitpbnQgc3lzX29zZl91dGltZXMoKTsKKyNlbmRpZgorCisKKyNpZm5kZWYgU1lTX3dhaXRpZAorIyBpZmRlZiBJMzg2CisjICBkZWZpbmUgU1lTX3dhaXRpZCAyODQKKyMgZWxpZiBkZWZpbmVkIEFMUEhBCisjICBkZWZpbmUgU1lTX3dhaXRpZCA0MzgKKyMgZWxpZiBkZWZpbmVkIEFSTQorIyAgZGVmaW5lIFNZU193YWl0aWQgKE5SX1NZU0NBTExfQkFTRSArIDI4MCkKKyMgZWxpZiBkZWZpbmVkIElBNjQKKyMgIGRlZmluZSBTWVNfd2FpdGlkIDEyNzAKKyMgZWxpZiBkZWZpbmVkIE02OEsKKyMgIGRlZmluZSBTWVNfd2FpdGlkIDI3NworIyBlbGlmIGRlZmluZWQgUE9XRVJQQworIyAgZGVmaW5lIFNZU193YWl0aWQgMjcyCisjIGVsaWYgZGVmaW5lZCBTMzkwIHx8IGRlZmluZWQgUzM5MFgKKyMgIGRlZmluZSBTWVNfd2FpdGlkIDI4MQorIyBlbGlmIGRlZmluZWQgU0g2NAorIyAgZGVmaW5lIFNZU193YWl0aWQgMzEyCisjIGVsaWYgZGVmaW5lZCBTSDY0CisjICBkZWZpbmUgU1lTX3dhaXRpZCAzMTIKKyMgZWxpZiBkZWZpbmVkIFNICisjICBkZWZpbmUgU1lTX3dhaXRpZCAyODQKKyMgZWxpZiBkZWZpbmVkIFNQQVJDIHx8IGRlZmluZWQgU1BBUkM2NAorIyAgZGVmaW5lIFNZU193YWl0aWQgMjc5CisjIGVsaWYgZGVmaW5lZCBYODZfNjQKKyMgIGRlZmluZSBTWVNfd2FpdGlkIDI0NworIyBlbmRpZgorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChBTFBIQSkgJiYgIWRlZmluZWQoTUlQUykgJiYgIWRlZmluZWQoSFBQQSkgJiYgXAorCSFkZWZpbmVkKF9fQVJNX0VBQklfXykKKyMgaWZkZWYJSUE2NAorLyoKKyAqICBJQTY0IHN5c2NhbGwgbnVtYmVycyAodGhlIG9ubHkgb25lcyBhdmFpbGFibGUgZnJvbSBzdGFuZGFyZCBoZWFkZXIKKyAqICBmaWxlcykgYXJlIGRpc2pvaW50IGZyb20gSUEzMiBzeXNjYWxsIG51bWJlcnMuICBXZSBuZWVkIHRvIGRlZmluZQorICogIHRoZSBJQTMyIHNvY2tldCBjYWxsIG51bWJlciBoZXJlLgorICovCisjICBkZWZpbmUgU1lTX3NvY2tldGNhbGwJMTAyCisKKyMgIHVuZGVmIFNZU19zb2NrZXQKKyMgIHVuZGVmIFNZU19iaW5kCisjICB1bmRlZiBTWVNfY29ubmVjdAorIyAgdW5kZWYgU1lTX2xpc3RlbgorIyAgdW5kZWYgU1lTX2FjY2VwdAorIyAgdW5kZWYgU1lTX2dldHNvY2tuYW1lCisjICB1bmRlZiBTWVNfZ2V0cGVlcm5hbWUKKyMgIHVuZGVmIFNZU19zb2NrZXRwYWlyCisjICB1bmRlZiBTWVNfc2VuZAorIyAgdW5kZWYgU1lTX3JlY3YKKyMgIHVuZGVmIFNZU19zZW5kdG8KKyMgIHVuZGVmIFNZU19yZWN2ZnJvbQorIyAgdW5kZWYgU1lTX3NodXRkb3duCisjICB1bmRlZiBTWVNfc2V0c29ja29wdAorIyAgdW5kZWYgU1lTX2dldHNvY2tvcHQKKyMgIHVuZGVmIFNZU19zZW5kbXNnCisjICB1bmRlZiBTWVNfcmVjdm1zZworIyBlbmRpZiAvKiBJQTY0ICovCisjICBkZWZpbmUgU1lTX3NvY2tldF9zdWJjYWxsCTQwMAorI2RlZmluZSBTWVNfc3ViX3NvY2tldAkJKFNZU19zb2NrZXRfc3ViY2FsbCArIDEpCisjZGVmaW5lIFNZU19zdWJfYmluZAkJKFNZU19zb2NrZXRfc3ViY2FsbCArIDIpCisjZGVmaW5lIFNZU19zdWJfY29ubmVjdAkJKFNZU19zb2NrZXRfc3ViY2FsbCArIDMpCisjZGVmaW5lIFNZU19zdWJfbGlzdGVuCQkoU1lTX3NvY2tldF9zdWJjYWxsICsgNCkKKyNkZWZpbmUgU1lTX3N1Yl9hY2NlcHQJCShTWVNfc29ja2V0X3N1YmNhbGwgKyA1KQorI2RlZmluZSBTWVNfc3ViX2dldHNvY2tuYW1lCShTWVNfc29ja2V0X3N1YmNhbGwgKyA2KQorI2RlZmluZSBTWVNfc3ViX2dldHBlZXJuYW1lCShTWVNfc29ja2V0X3N1YmNhbGwgKyA3KQorI2RlZmluZSBTWVNfc3ViX3NvY2tldHBhaXIJKFNZU19zb2NrZXRfc3ViY2FsbCArIDgpCisjZGVmaW5lIFNZU19zdWJfc2VuZAkJKFNZU19zb2NrZXRfc3ViY2FsbCArIDkpCisjZGVmaW5lIFNZU19zdWJfcmVjdgkJKFNZU19zb2NrZXRfc3ViY2FsbCArIDEwKQorI2RlZmluZSBTWVNfc3ViX3NlbmR0bwkJKFNZU19zb2NrZXRfc3ViY2FsbCArIDExKQorI2RlZmluZSBTWVNfc3ViX3JlY3Zmcm9tCShTWVNfc29ja2V0X3N1YmNhbGwgKyAxMikKKyNkZWZpbmUgU1lTX3N1Yl9zaHV0ZG93bgkoU1lTX3NvY2tldF9zdWJjYWxsICsgMTMpCisjZGVmaW5lIFNZU19zdWJfc2V0c29ja29wdAkoU1lTX3NvY2tldF9zdWJjYWxsICsgMTQpCisjZGVmaW5lIFNZU19zdWJfZ2V0c29ja29wdAkoU1lTX3NvY2tldF9zdWJjYWxsICsgMTUpCisjZGVmaW5lIFNZU19zdWJfc2VuZG1zZwkJKFNZU19zb2NrZXRfc3ViY2FsbCArIDE2KQorI2RlZmluZSBTWVNfc3ViX3JlY3Ztc2cJCShTWVNfc29ja2V0X3N1YmNhbGwgKyAxNykKKyNkZWZpbmUgU1lTX3N1Yl9hY2NlcHQ0CQkoU1lTX3NvY2tldF9zdWJjYWxsICsgMTgpCisjZGVmaW5lIFNZU19zdWJfcmVjdm1tc2cJKFNZU19zb2NrZXRfc3ViY2FsbCArIDE5KQorCisjZGVmaW5lIFNZU19zb2NrZXRfbnN1YmNhbGxzCTIwCisjZW5kaWYgLyogIShBTFBIQSB8fCBNSVBTIHx8IEhQUEEpICovCisKKy8qIHN5c19pcGMgc3ViY2FsbHMgKi8KKworaW50IHN5c19zZW1nZXQoKSwgc3lzX3NlbWN0bCgpLCBzeXNfc2Vtb3AoKTsKK2ludCBzeXNfbXNnc25kKCksIHN5c19tc2dyY3YoKSwgc3lzX21zZ2dldCgpLCBzeXNfbXNnY3RsKCk7CitpbnQgc3lzX3NobWF0KCksIHN5c19zaG1kdCgpLCBzeXNfc2htZ2V0KCksIHN5c19zaG1jdGwoKTsKKworI2lmICFkZWZpbmVkKEFMUEhBKSAmJiAhZGVmaW5lZChNSVBTKSAmJiAhZGVmaW5lZChTUEFSQykgJiYgIWRlZmluZWQoSFBQQSkgJiYgXAorCSFkZWZpbmVkKF9fQVJNX0VBQklfXykKKyMgaWZkZWYJSUE2NAorICAgLyoKKyAgICAqIElBNjQgc3lzY2FsbCBudW1iZXJzICh0aGUgb25seSBvbmVzIGF2YWlsYWJsZSBmcm9tIHN0YW5kYXJkCisgICAgKiBoZWFkZXIgZmlsZXMpIGFyZSBkaXNqb2ludCBmcm9tIElBMzIgc3lzY2FsbCBudW1iZXJzLiAgV2UgbmVlZAorICAgICogdG8gZGVmaW5lIHRoZSBJQTMyIHNvY2tldCBjYWxsIG51bWJlciBoZXJlLiAgRm9ydHVuYXRlbHksIHRoaXMKKyAgICAqIHN5bWJvbCwgYFNZU19pcGMnLCBpcyBub3QgdXNlZCBieSBhbnkgb2YgdGhlIElBNjQgY29kZSBzbworICAgICogcmUtZGVmaW5pbmcgdGhpcyBzeW1ib2wgd2lsbCBub3QgY2F1c2UgYSBwcm9ibGVtLgorICAgKi8KKyMgIHVuZGVmIFNZU19pcGMKKyMgIGRlZmluZSBTWVNfaXBjCQkxMTcKKyMgIHVuZGVmIFNZU19zZW1vcAorIyAgdW5kZWYgU1lTX3NlbWdldAorIyAgdW5kZWYgU1lTX3NlbWN0bAorIyAgdW5kZWYgU1lTX3NlbXRpbWVkb3AKKyMgIHVuZGVmIFNZU19tc2dzbmQKKyMgIHVuZGVmIFNZU19tc2dyY3YKKyMgIHVuZGVmIFNZU19tc2dnZXQKKyMgIHVuZGVmIFNZU19tc2djdGwKKyMgIHVuZGVmIFNZU19zaG1hdAorIyAgdW5kZWYgU1lTX3NobWR0CisjICB1bmRlZiBTWVNfc2htZ2V0CisjICB1bmRlZiBTWVNfc2htY3RsCisjIGVuZGlmIC8qIElBNjQgKi8KKyNkZWZpbmUgU1lTX2lwY19zdWJjYWxsCQkoKFNZU19zb2NrZXRfc3ViY2FsbCkrKFNZU19zb2NrZXRfbnN1YmNhbGxzKSkKKyNkZWZpbmUgU1lTX3N1Yl9zZW1vcAkJKFNZU19pcGNfc3ViY2FsbCArIDEpCisjZGVmaW5lIFNZU19zdWJfc2VtZ2V0CQkoU1lTX2lwY19zdWJjYWxsICsgMikKKyNkZWZpbmUgU1lTX3N1Yl9zZW1jdGwJCShTWVNfaXBjX3N1YmNhbGwgKyAzKQorI2RlZmluZSBTWVNfc3ViX3NlbXRpbWVkb3AJKFNZU19pcGNfc3ViY2FsbCArIDQpCisjZGVmaW5lIFNZU19zdWJfbXNnc25kCQkoU1lTX2lwY19zdWJjYWxsICsgMTEpCisjZGVmaW5lIFNZU19zdWJfbXNncmN2CQkoU1lTX2lwY19zdWJjYWxsICsgMTIpCisjZGVmaW5lIFNZU19zdWJfbXNnZ2V0CQkoU1lTX2lwY19zdWJjYWxsICsgMTMpCisjZGVmaW5lIFNZU19zdWJfbXNnY3RsCQkoU1lTX2lwY19zdWJjYWxsICsgMTQpCisjZGVmaW5lIFNZU19zdWJfc2htYXQJCShTWVNfaXBjX3N1YmNhbGwgKyAyMSkKKyNkZWZpbmUgU1lTX3N1Yl9zaG1kdAkJKFNZU19pcGNfc3ViY2FsbCArIDIyKQorI2RlZmluZSBTWVNfc3ViX3NobWdldAkJKFNZU19pcGNfc3ViY2FsbCArIDIzKQorI2RlZmluZSBTWVNfc3ViX3NobWN0bAkJKFNZU19pcGNfc3ViY2FsbCArIDI0KQorCisjZGVmaW5lIFNZU19pcGNfbnN1YmNhbGxzCTI1CisjZW5kaWYgLyogIShBTFBIQSB8fCBNSVBTIHx8IFNQQVJDIHx8IEhQUEEpICovCisKKyNpZiBkZWZpbmVkIFNZU19pcGNfc3ViY2FsbCAmJiAhZGVmaW5lZCBTWVNfaXBjCisjIGRlZmluZSBTWVNfaXBjIFNZU19pcGNfc3ViY2FsbAorI2VuZGlmCisjaWYgZGVmaW5lZCBTWVNfc29ja2V0X3N1YmNhbGwgJiYgIWRlZmluZWQgU1lTX3NvY2tldGNhbGwKKyMgZGVmaW5lIFNZU19zb2NrZXRjYWxsIFNZU19zb2NrZXRfc3ViY2FsbAorI2VuZGlmCisKKyNpZmRlZiBJQTY0CisgIC8qCisgICAqIElBNjQgc3lzY2FsbCBudW1iZXJzICh0aGUgb25seSBvbmVzIGF2YWlsYWJsZSBmcm9tIHN0YW5kYXJkIGhlYWRlcgorICAgKiBmaWxlcykgYXJlIGRpc2pvaW50IGZyb20gSUEzMiBzeXNjYWxsIG51bWJlcnMuICBXZSBuZWVkIHRvIGRlZmluZQorICAgKiBzb21lIElBMzIgc3BlY2lmaWMgc3lzY2FsbHMgaGVyZS4KKyAgICovCisjIGRlZmluZSBTWVNfZm9yawkyCisjIGRlZmluZSBTWVNfdmZvcmsJMTkwCisjIGRlZmluZSBTWVMzMl9leGl0CTEKKyMgZGVmaW5lIFNZU193YWl0cGlkCTcKKyMgZGVmaW5lIFNZUzMyX3dhaXQ0CTExNAorIyBkZWZpbmUgU1lTMzJfZXhlY3ZlCTExCisjZW5kaWYgLyogSUE2NCAqLworCisjaWYgZGVmaW5lZChBTFBIQSkgfHwgZGVmaW5lZChJQTY0KQoraW50IHN5c19nZXRwYWdlc2l6ZSgpOworI2VuZGlmCisKKyNpZmRlZiBBTFBIQQoraW50IG9zZl9zdGF0ZnMoKSwgb3NmX2ZzdGF0ZnMoKTsKKyNlbmRpZgorCisjaWZkZWYgSUE2NAoraW50IHN5c19nZXRwbXNnKCksIHN5c19wdXRwbXNnKCk7CS8qIFNUUkVBTVMgc3R1ZmYgKi8KKyNlbmRpZgorCisjaWZkZWYgTUlQUworaW50IHN5c19zeXNtaXBzKCk7CisjZW5kaWYKKworaW50IHN5c19zZXRwZ3JwKCksIHN5c19nZXRob3N0bmFtZSgpLCBzeXNfZ2V0ZHRhYmxlc2l6ZSgpLCBzeXNfdXRpbWVzKCk7CitpbnQgc3lzX2NhcGdldCgpLCBzeXNfY2Fwc2V0KCk7CisKKyNpZmRlZiBNNjhLCitpbnQgc3lzX2NhY2hlZmx1c2goKTsKKyNlbmRpZgorCitpbnQgc3lzX3ByZWFkNjQoKSwgc3lzX3B3cml0ZTY0KCk7CisKKyNpZmRlZiBQT1dFUlBDCitpbnQgc3lzX3N1YnBhZ2VfcHJvdCgpOworI2VuZGlmCisKKyNpZmRlZiBCRklOCitpbnQgc3lzX3NyYW1fYWxsb2MoKTsKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvc3RyYWNlLTQuNS4yMC9saW51eC90aWxlL3N5c2NhbGxlbnQuaCBiL3N0cmFjZS00LjUuMjAvbGludXgvdGlsZS9zeXNjYWxsZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2M1Y2E2OQotLS0gL2Rldi9udWxsCisrKyBiL3N0cmFjZS00LjUuMjAvbGludXgvdGlsZS9zeXNjYWxsZW50LmgKQEAgLTAsMCArMSwzMDIgQEAKKwl7IDAsCTAsCXN5c19yZXN0YXJ0X3N5c2NhbGwsCSJyZXN0YXJ0X3N5c2NhbGwiIH0sIC8qIDAgKi8KKwl7IDEsCVRQLAlzeXNfZXhpdCwJCSJleGl0IiB9LCAvKiAxICovCisJeyAwLAlUUCwJc3lzX2ZvcmssCQkiZm9yayIgfSwgLyogMiAqLworCXsgMywJVEQsCXN5c19yZWFkLAkJInJlYWQiIH0sIC8qIDMgKi8KKwl7IDMsCVRELAlzeXNfd3JpdGUsCQkid3JpdGUiIH0sIC8qIDQgKi8KKwl7IDMsCVREfFRGLAlzeXNfb3BlbiwJCSJvcGVuIiB9LCAvKiA1ICovCisJeyAxLAlURCwJc3lzX2Nsb3NlLAkJImNsb3NlIiB9LCAvKiA2ICovCisJeyAzLAlUUCwJc3lzX3dhaXRwaWQsCQkid2FpdHBpZCIgfSwgLyogNyAqLworCXsgMiwJVER8VEYsCXN5c19jcmVhdCwJCSJjcmVhdCIgfSwgLyogOCAqLworCXsgMiwJVEYsCXN5c19saW5rLAkJImxpbmsiIH0sIC8qIDkgKi8KKwl7IDEsCVRGLAlzeXNfdW5saW5rLAkJInVubGluayIgfSwgLyogMTAgKi8KKwl7IDMsCVRGfFRQLAlzeXNfZXhlY3ZlLAkJImV4ZWN2ZSIgfSwgLyogMTEgKi8KKwl7IDEsCVRGLAlzeXNfY2hkaXIsCQkiY2hkaXIiIH0sIC8qIDEyICovCisJeyAxLAkwLAlzeXNfdGltZSwJCSJ0aW1lIiB9LCAvKiAxMyAqLworCXsgMywJVEYsCXN5c19ta25vZCwJCSJta25vZCIgfSwgLyogMTQgKi8KKwl7IDIsCVRGLAlzeXNfY2htb2QsCQkiY2htb2QiIH0sIC8qIDE1ICovCisJeyAzLAlURiwJc3lzX2Nob3duLAkJImxjaG93biIgfSwgLyogMTYgKi8KKwl7IDIsCVRGLAlzeXNfc3RhdCwJCSJzdGF0IiB9LCAvKiAxNyAqLworCXsgMywJVEQsCXN5c19sc2VlaywJCSJsc2VlayIgfSwgLyogMTggKi8KKwl7IDAsCTAsCXN5c19nZXRwaWQsCQkiZ2V0cGlkIiB9LCAvKiAxOSAqLworCXsgNSwJVEYsCXN5c19tb3VudCwJCSJtb3VudCIgfSwgLyogMjAgKi8KKwl7IDIsCVRGLAlzeXNfdW1vdW50MiwJCSJ1bW91bnQiIH0sIC8qIDIxICovCisJeyAxLAkwLAlzeXNfc2V0dWlkLAkJInNldHVpZCIgfSwgLyogMjIgKi8KKwl7IDAsCTAsCXN5c19nZXR1aWQsCQkiZ2V0dWlkIiB9LCAvKiAyMyAqLworCXsgMSwJMCwJc3lzX3N0aW1lLAkJInN0aW1lIiB9LCAvKiAyNCAqLworCXsgNCwJMCwJc3lzX3B0cmFjZSwJCSJwdHJhY2UiIH0sIC8qIDI1ICovCisJeyAxLAkwLAlzeXNfYWxhcm0sCQkiYWxhcm0iIH0sIC8qIDI2ICovCisJeyAyLAlURCwJc3lzX2ZzdGF0LAkJImZzdGF0IiB9LCAvKiAyNyAqLworCXsgMCwJVFMsCXN5c19wYXVzZSwJCSJwYXVzZSIgfSwgLyogMjggKi8KKwl7IDIsCVRGLAlzeXNfdXRpbWUsCQkidXRpbWUiIH0sIC8qIDI5ICovCisJeyAyLAlURiwJc3lzX2FjY2VzcywJCSJhY2Nlc3MiIH0sIC8qIDMwICovCisJeyAxLAkwLAlzeXNfbmljZSwJCSJuaWNlIiB9LCAvKiAzMSAqLworCXsgMCwJMCwJc3lzX3N5bmMsCQkic3luYyIgfSwgLyogMzIgKi8KKwl7IDIsCVRTLAlzeXNfa2lsbCwJCSJraWxsIiB9LCAvKiAzMyAqLworCXsgMiwJVEYsCXN5c19yZW5hbWUsCQkicmVuYW1lIiB9LCAvKiAzNCAqLworCXsgMiwJVEYsCXN5c19ta2RpciwJCSJta2RpciIgfSwgLyogMzUgKi8KKwl7IDEsCVRGLAlzeXNfcm1kaXIsCQkicm1kaXIiIH0sIC8qIDM2ICovCisJeyAxLAlURCwJc3lzX2R1cCwJCSJkdXAiIH0sIC8qIDM3ICovCisJeyAxLAlURCwJc3lzX3BpcGUsCQkicGlwZSIgfSwgLyogMzggKi8KKwl7IDEsCTAsCXN5c190aW1lcywJCSJ0aW1lcyIgfSwgLyogMzkgKi8KKwl7IDEsCTAsCXN5c19icmssCQkiYnJrIiB9LCAvKiA0MCAqLworCXsgMSwJMCwJc3lzX3NldGdpZCwJCSJzZXRnaWQiIH0sIC8qIDQxICovCisJeyAwLAkwLAlzeXNfZ2V0Z2lkLAkJImdldGdpZCIgfSwgLyogNDIgKi8KKwl7IDMsCVRTLAlzeXNfc2lnbmFsLAkJInNpZ25hbCIgfSwgLyogNDMgKi8KKwl7IDAsCTAsCXN5c19nZXRldWlkLAkJImdldGV1aWQiIH0sIC8qIDQ0ICovCisJeyAwLAkwLAlzeXNfZ2V0ZWdpZCwJCSJnZXRlZ2lkIiB9LCAvKiA0NSAqLworCXsgMSwJVEYsCXN5c19hY2N0LAkJImFjY3QiIH0sIC8qIDQ2ICovCisJeyAzLAlURCwJc3lzX2lvY3RsLAkJImlvY3RsIiB9LCAvKiA0NyAqLworCXsgMywJVEQsCXN5c19mY250bCwJCSJmY250bCIgfSwgLyogNDggKi8KKwl7IDIsCTAsCXN5c19zZXRwZ2lkLAkJInNldHBnaWQiIH0sIC8qIDQ5ICovCisJeyAxLAkwLAlzeXNfdW1hc2ssCQkidW1hc2siIH0sIC8qIDUwICovCisJeyAxLAlURiwJc3lzX2Nocm9vdCwJCSJjaHJvb3QiIH0sIC8qIDUxICovCisJeyAyLAkwLAlzeXNfdXN0YXQsCQkidXN0YXQiIH0sIC8qIDUyICovCisJeyAyLAlURCwJc3lzX2R1cDIsCQkiZHVwMiIgfSwgLyogNTMgKi8KKwl7IDAsCTAsCXN5c19nZXRwcGlkLAkJImdldHBwaWQiIH0sIC8qIDU0ICovCisJeyAwLAkwLAlzeXNfZ2V0cGdycCwJCSJnZXRwZ3JwIiB9LCAvKiA1NSAqLworCXsgMCwJMCwJc3lzX3NldHNpZCwJCSJzZXRzaWQiIH0sIC8qIDU2ICovCisJeyAwLAlUUywgCXByaW50YXJncywJCSJzZ2V0bWFzayIgfSwgLyogNTcgKi8KKwl7IDEsCVRTLAlwcmludGFyZ3MsCQkic3NldG1hc2siIH0sIC8qIDU4ICovCisJeyAyLAkwLAlzeXNfc2V0cmV1aWQsCQkic2V0cmV1aWQiIH0sIC8qIDU5ICovCisJeyAyLAkwLAlzeXNfc2V0cmVnaWQsCQkic2V0cmVnaWQiIH0sIC8qIDYwICovCisJeyAxLAlUUywJc3lzX3NpZ3BlbmRpbmcsCQkic2lncGVuZGluZyIgfSwgLyogNjEgKi8KKwl7IDIsCTAsCXN5c19zZXRob3N0bmFtZSwJInNldGhvc3RuYW1lIiB9LCAvKiA2MiAqLworCXsgMiwJMCwJc3lzX3NldHJsaW1pdCwJCSJzZXRybGltaXQiIH0sIC8qIDYzICovCisJeyAyLAkwLAlzeXNfZ2V0cmxpbWl0LAkJInVnZXRybGltaXQiCX0sIC8qIDY0ICovCisJeyAyLAkwLAlzeXNfZ2V0cnVzYWdlLAkJImdldHJ1c2FnZSIgfSwgLyogNjUgKi8KKwl7IDIsCTAsCXN5c19nZXR0aW1lb2ZkYXksCSJnZXR0aW1lb2ZkYXkiIH0sIC8qIDY2ICovCisJeyAyLAkwLAlzeXNfc2V0dGltZW9mZGF5LAkic2V0dGltZW9mZGF5IiB9LCAvKiA2NyAqLworCXsgMiwJMCwJc3lzX2dldGdyb3VwcywJCSJnZXRncm91cHMiIH0sIC8qIDY4ICovCisJeyAyLAkwLAlzeXNfc2V0Z3JvdXBzLAkJInNldGdyb3VwcyIgfSwgLyogNjkgKi8KKwl7IDUsCVRELAlzeXNfc2VsZWN0LAkJInNlbGVjdCIJfSwgLyogNzAgKi8KKwl7IDIsCVRGLAlzeXNfc3ltbGluaywJCSJzeW1saW5rIiB9LCAvKiA3MSAqLworCXsgMiwJVEYsCXN5c19sc3RhdCwJCSJsc3RhdCIgfSwgLyogNzIgKi8KKwl7IDMsCVRGLAlzeXNfcmVhZGxpbmssCQkicmVhZGxpbmsiIH0sIC8qIDczICovCisJeyAxLAlURiwJc3lzX3VzZWxpYiwJCSJ1c2VsaWIiIH0sIC8qIDc0ICovCisJeyAxLAlURiwJc3lzX3N3YXBvbiwJCSJzd2Fwb24iIH0sIC8qIDc1ICovCisJeyAzLAkwLAlzeXNfcmVib290LAkJInJlYm9vdCIgfSwgLyogNzYgKi8KKwl7IDYsCTAsCXN5c19tbWFwLAkJIm1tYXAyIiB9LCAvKiA3NyAqLworCXsgMiwJMCwJc3lzX211bm1hcCwJCSJtdW5tYXAiIH0sIC8qIDc4ICovCisJeyAyLAlURiwJc3lzX3RydW5jYXRlLAkJInRydW5jYXRlIiB9LCAvKiA3OSAqLworCXsgMiwJVEQsCXN5c19mdHJ1bmNhdGUsCQkiZnRydW5jYXRlIiB9LCAvKiA4MCAqLworCXsgMiwJVEQsCXN5c19mY2htb2QsCQkiZmNobW9kIiB9LCAvKiA4MSAqLworCXsgMywJVEQsCXN5c19mY2hvd24sCQkiZmNob3duIiB9LCAvKiA4MiAqLworCXsgMiwJMCwJc3lzX2dldHByaW9yaXR5LAkiZ2V0cHJpb3JpdHkiIH0sIC8qIDgzICovCisJeyAzLAkwLAlzeXNfc2V0cHJpb3JpdHksCSJzZXRwcmlvcml0eSIgfSwgLyogODQgKi8KKwl7IDIsCVRGLAlzeXNfc3RhdGZzLAkJInN0YXRmcyIgfSwgLyogODUgKi8KKwl7IDIsCVRELAlzeXNfZnN0YXRmcywJCSJmc3RhdGZzIiB9LCAvKiA4NiAqLworCXsgMywJVE4sCXN5c19zb2NrZXQsCQkic29ja2V0IiB9LCAvKiA4NyAqLworCXsgMywJVE4sCXN5c19iaW5kLAkJImJpbmQiIH0sIC8qIDg4ICovCisJeyAzLAlUTiwJc3lzX2Nvbm5lY3QsCQkiY29ubmVjdCIgfSwgLyogODkgKi8KKwl7IDIsCVROLAlzeXNfbGlzdGVuLAkJImxpc3RlbiIgfSwgLyogOTAgKi8KKwl7IDMsCVROLAlzeXNfYWNjZXB0LAkJImFjY2VwdCIgfSwgLyogOTEgKi8KKwl7IDMsCVROLAlzeXNfZ2V0c29ja25hbWUsCSJnZXRzb2NrbmFtZSIgfSwgLyogOTIgKi8KKwl7IDMsCVROLAlzeXNfZ2V0cGVlcm5hbWUsCSJnZXRwZWVybmFtZSIgfSwgLyogOTMgKi8KKwl7IDQsCVROLAlzeXNfc29ja2V0cGFpciwJCSJzb2NrZXRwYWlyIiB9LCAvKiA5NCAqLworCXsgNCwJVE4sCXN5c19zZW5kLAkJInNlbmQiIH0sIC8qIDk1ICovCisJeyA2LAlUTiwJc3lzX3NlbmR0bywJCSJzZW5kdG8iIH0sIC8qIDk2ICovCisJeyA0LAlUTiwJc3lzX3JlY3YsCQkicmVjdiIgfSwgLyogOTcgKi8KKwl7IDYsCVROLAlzeXNfcmVjdmZyb20sCQkicmVjdmZyb20iIH0sIC8qIDk4ICovCisJeyAyLAlUTiwJc3lzX3NodXRkb3duLAkJInNodXRkb3duIiB9LCAvKiA5OSAqLworCXsgNSwJVE4sCXN5c19zZXRzb2Nrb3B0LAkJInNldHNvY2tvcHQiIH0sIC8qIDEwMCAqLworCXsgNSwJVE4sCXN5c19nZXRzb2Nrb3B0LAkJImdldHNvY2tvcHQiIH0sIC8qIDEwMSAqLworCXsgNSwJVE4sCXN5c19zZW5kbXNnLAkJInNlbmRtc2ciIH0sIC8qIDEwMiAqLworCXsgNSwJVE4sCXN5c19yZWN2bXNnLAkJInJlY3Ztc2ciIH0sIC8qIDEwMyAqLworCXsgMywJMCwJc3lzX3N5c2xvZywJCSJzeXNsb2ciIH0sIC8qIDEwNCAqLworCXsgMywJMCwJc3lzX3NldGl0aW1lciwJCSJzZXRpdGltZXIiIH0sIC8qIDEwNSAqLworCXsgMiwJMCwJc3lzX2dldGl0aW1lciwJCSJnZXRpdGltZXIiIH0sIC8qIDEwNiAqLworCXsgMCwJMCwJc3lzX3ZoYW5ndXAsCQkidmhhbmd1cCIgfSwgLyogMTA3ICovCisJeyA0LAlUUCwJc3lzX3dhaXQ0LAkJIndhaXQ0IiB9LCAvKiAxMDggKi8KKwl7IDEsCTAsCXN5c19zd2Fwb2ZmLAkJInN3YXBvZmYiIH0sIC8qIDEwOSAqLworCXsgMSwJMCwJc3lzX3N5c2luZm8sCQkic3lzaW5mbyIgfSwgLyogMTEwICovCisJeyA0LAlUSSwJc3lzX3NobWdldCwJCSJzaG1nZXQiIH0sIC8qIDExMSAqLworCXsgNCwJVEksCXN5c19zaG1hdCwJCSJzaG1hdCIgfSwgLyogMTEyICovCisJeyA0LAlUSSwJc3lzX3NobWN0bCwJCSJzaG1jdGwiIH0sIC8qIDExMyAqLworCXsgNCwJVEksCXN5c19zaG1kdCwJCSJzaG1kdCIgfSwgLyogMTE0ICovCisJeyA0LAlUSSwJc3lzX3NlbWdldCwJCSJzZW1nZXQiIH0sIC8qIDExNSAqLworCXsgNCwJVEksCXN5c19zZW1vcCwJCSJzZW1vcCIgfSwgLyogMTE2ICovCisJeyA0LAlUSSwJc3lzX3NlbWN0bCwJCSJzZW1jdGwiIH0sIC8qIDExNyAqLworCXsgNSwJVEksCXN5c19zZW10aW1lZG9wLAkJInNlbXRpbWVkb3AiIH0sIC8qIDExOCAqLworCXsgNCwJVEksCXN5c19tc2dnZXQsCQkibXNnZ2V0IiB9LCAvKiAxMTkgKi8KKwl7IDQsCVRJLAlzeXNfbXNnc25kLAkJIm1zZ3NuZCIgfSwgLyogMTIwICovCisJeyA0LAlUSSwJc3lzX21zZ3JjdiwJCSJtc2dyY3YiIH0sIC8qIDEyMSAqLworCXsgNCwJVEksCXN5c19tc2djdGwsCQkibXNnY3RsIiB9LCAvKiAxMjIgKi8KKwl7IDEsCVRELAlzeXNfZnN5bmMsCQkiZnN5bmMiIH0sIC8qIDEyMyAqLworCXsgMSwJVFMsCXByaW50YXJncywJCSJzaWdyZXR1cm4iIH0sIC8qIDEyNCAqLworCXsgNSwJVFAsCXN5c19jbG9uZSwJCSJjbG9uZSIgfSwgLyogMTI1ICovCisJeyAyLAkwLAlzeXNfc2V0ZG9tYWlubmFtZSwJInNldGRvbWFpbm5hbWUiIH0sIC8qIDEyNiAqLworCXsgMSwJMCwJc3lzX3VuYW1lLAkJInVuYW1lIiB9LCAvKiAxMjcgKi8KKwl7IDEsCTAsCXN5c19hZGp0aW1leCwJCSJhZGp0aW1leCIgfSwgLyogMTI4ICovCisJeyAzLAkwLAlzeXNfbXByb3RlY3QsCQkibXByb3RlY3QiIH0sIC8qIDEyOSAqLworCXsgMywJVFMsCXN5c19zaWdwcm9jbWFzaywJInNpZ3Byb2NtYXNrIiB9LCAvKiAxMzAgKi8KKwl7IDMsCTAsCXN5c19pbml0X21vZHVsZSwJImluaXRfbW9kdWxlIiB9LCAvKiAxMzEgKi8KKwl7IDEsCTAsCXN5c19kZWxldGVfbW9kdWxlLAkiZGVsZXRlX21vZHVsZSIgfSwgLyogMTMyICovCisJeyA0LAkwLAlzeXNfcXVvdGFjdGwsCQkicXVvdGFjdGwiIH0sIC8qIDEzMyAqLworCXsgMSwJMCwJc3lzX2dldHBnaWQsCQkiZ2V0cGdpZCIgfSwgLyogMTM0ICovCisJeyAxLAlURCwJc3lzX2ZjaGRpciwJCSJmY2hkaXIiIH0sIC8qIDEzNSAqLworCXsgMCwJMCwJc3lzX2JkZmx1c2gsCQkiYmRmbHVzaCIgfSwgLyogMTM2ICovCisJeyAzLAkwLAlzeXNfc3lzZnMsCQkic3lzZnMiIH0sIC8qIDEzNyAqLworCXsgMSwJMCwJc3lzX3BlcnNvbmFsaXR5LAkicGVyc29uYWxpdHkiIH0sIC8qIDEzOCAqLworCXsgNSwJMCwJc3lzX2Fmc19zeXNjYWxsLAkiYWZzX3N5c2NhbGwiIH0sIC8qIDEzOSAqLworCXsgMSwJMCwJc3lzX3NldGZzdWlkLAkJInNldGZzdWlkIiB9LCAvKiAxNDAgKi8KKwl7IDEsCTAsCXN5c19zZXRmc2dpZCwJCSJzZXRmc2dpZCIgfSwgLyogMTQxICovCisJeyA1LAlURCwJc3lzX2xsc2VlaywJCSJfbGxzZWVrIiB9LCAvKiAxNDIgKi8KKwl7IDMsCVRELAlzeXNfZ2V0ZGVudHMsCQkiZ2V0ZGVudHMiIH0sIC8qIDE0MyAqLworCXsgMiwJVEQsCXN5c19mbG9jaywJCSJmbG9jayIgfSwgLyogMTQ0ICovCisJeyAzLAkwLAlzeXNfbXN5bmMsCQkibXN5bmMiIH0sIC8qIDE0NSAqLworCXsgMywJVEQsCXN5c19yZWFkdiwJCSJyZWFkdiIgfSwgLyogMTQ2ICovCisJeyAzLAlURCwJc3lzX3dyaXRldiwJCSJ3cml0ZXYiIH0sIC8qIDE0NyAqLworCXsgMSwJMCwJc3lzX2dldHNpZCwJCSJnZXRzaWQiIH0sIC8qIDE0OCAqLworCXsgMSwJVEQsCXN5c19mZGF0YXN5bmMsCQkiZmRhdGFzeW5jIiB9LCAvKiAxNDkgKi8KKwl7IDEsCTAsCXN5c19zeXNjdGwsCQkiX3N5c2N0bCIgfSwgLyogMTUwICovCisJeyAyLAkwLAlzeXNfbWxvY2ssCQkibWxvY2siIH0sIC8qIDE1MSAqLworCXsgMiwJMCwJc3lzX211bmxvY2ssCQkibXVubG9jayIgfSwgLyogMTUyICovCisJeyAyLAkwLAlzeXNfbWxvY2thbGwsCQkibWxvY2thbGwiIH0sIC8qIDE1MyAqLworCXsgMCwJMCwJc3lzX211bmxvY2thbGwsCQkibXVubG9ja2FsbCIgfSwgLyogMTU0ICovCisJeyAwLAkwLAlzeXNfc2NoZWRfc2V0cGFyYW0sCSJzY2hlZF9zZXRwYXJhbSIgfSwgLyogMTU1ICovCisJeyAyLAkwLAlzeXNfc2NoZWRfZ2V0cGFyYW0sCSJzY2hlZF9nZXRwYXJhbSIgfSwgLyogMTU2ICovCisJeyAzLAkwLAlzeXNfc2NoZWRfc2V0c2NoZWR1bGVyLAkic2NoZWRfc2V0c2NoZWR1bGVyIiB9LCAvKiAxNTcgKi8KKwl7IDEsCTAsCXN5c19zY2hlZF9nZXRzY2hlZHVsZXIsCSJzY2hlZF9nZXRzY2hlZHVsZXIiIH0sIC8qIDE1OCAqLworCXsgMCwJMCwJc3lzX3NjaGVkX3lpZWxkLAkic2NoZWRfeWllbGQiIH0sIC8qIDE1OSAqLworCXsgMSwJMCwJc3lzX3NjaGVkX2dldF9wcmlvcml0eV9tYXgsInNjaGVkX2dldF9wcmlvcml0eV9tYXgiIH0sIC8qIDE2MCAqLworCXsgMSwJMCwJc3lzX3NjaGVkX2dldF9wcmlvcml0eV9taW4sInNjaGVkX2dldF9wcmlvcml0eV9taW4iIH0sIC8qIDE2MSAqLworCXsgMiwJMCwJc3lzX3NjaGVkX3JyX2dldF9pbnRlcnZhbCwic2NoZWRfcnJfZ2V0X2ludGVydmFsIiB9LCAvKiAxNjIgKi8KKwl7IDIsCTAsCXN5c19uYW5vc2xlZXAsCQkibmFub3NsZWVwIiB9LCAvKiAxNjMgKi8KKwl7IDQsCTAsCXN5c19tcmVtYXAsCQkibXJlbWFwIiB9LCAvKiAxNjQgKi8KKwl7IDMsCTAsCXN5c19zZXRyZXN1aWQsCQkic2V0cmVzdWlkIiB9LCAvKiAxNjUgKi8KKwl7IDMsCTAsCXN5c19nZXRyZXN1aWQsCQkiZ2V0cmVzdWlkIiB9LCAvKiAxNjYgKi8KKwl7IDMsCVRELAlzeXNfcG9sbCwJCSJwb2xsIiB9LCAvKiAxNjcgKi8KKwl7IDMsCTAsCXByaW50YXJncywJCSJuZnNzZXJ2Y3RsIiB9LCAvKiAxNjggKi8KKwl7IDMsCTAsCXN5c19zZXRyZXNnaWQsCQkic2V0cmVzZ2lkIiB9LCAvKiAxNjkgKi8KKwl7IDMsCTAsCXN5c19nZXRyZXNnaWQsCQkiZ2V0cmVzZ2lkIiB9LCAvKiAxNzAgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJwcmN0bCIgfSwgLyogMTcxICovCisJeyAxLAlUUywJcHJpbnRhcmdzLAkJInJ0X3NpZ3JldHVybiIgfSwgLyogMTcyICovCisJeyA0LAlUUywJc3lzX3J0X3NpZ2FjdGlvbiwJInJ0X3NpZ2FjdGlvbiIgfSwgLyogMTczICovCisJeyA0LAlUUywJc3lzX3J0X3NpZ3Byb2NtYXNrLAkicnRfc2lncHJvY21hc2siIH0sIC8qIDE3NCAqLworCXsgMiwJVFMsCXN5c19ydF9zaWdwZW5kaW5nLAkicnRfc2lncGVuZGluZyIgfSwgLyogMTc1ICovCisJeyA0LAlUUywJc3lzX3J0X3NpZ3RpbWVkd2FpdCwJInJ0X3NpZ3RpbWVkd2FpdCIgfSwgLyogMTc2ICovCisJeyAzLAlUUywJc3lzX3J0X3NpZ3F1ZXVlaW5mbywgICAgInJ0X3NpZ3F1ZXVlaW5mbyIgfSwgLyogMTc3ICovCisJeyAyLAlUUywJc3lzX3J0X3NpZ3N1c3BlbmQsCSJydF9zaWdzdXNwZW5kIiB9LCAvKiAxNzggKi8KKwl7IDUsCVRELAlzeXNfcHJlYWQsCQkicHJlYWQ2NCIgfSwgLyogMTc5ICovCisJeyA1LAlURCwJc3lzX3B3cml0ZSwJCSJwd3JpdGU2NCIgfSwgLyogMTgwICovCisJeyAzLAlURiwJc3lzX2Nob3duLAkJImNob3duIiB9LCAvKiAxODEgKi8KKwl7IDIsCVRGLAlzeXNfZ2V0Y3dkLAkJImdldGN3ZCIgfSwgLyogMTgyICovCisJeyAyLAkwLAlzeXNfY2FwZ2V0LAkJImNhcGdldCIgfSwgLyogMTgzICovCisJeyAyLAkwLAlzeXNfY2Fwc2V0LAkJImNhcHNldCIgfSwgLyogMTg0ICovCisJeyAyLAlUUywJc3lzX3NpZ2FsdHN0YWNrLAkic2lnYWx0c3RhY2siIH0sIC8qIDE4NSAqLworCXsgNCwJVEQsCXN5c19zZW5kZmlsZSwJCSJzZW5kZmlsZSIgfSwgLyogMTg2ICovCisJeyA1LAkwLAlzeXNfZ2V0cG1zZywJCSJnZXRwbXNnIiB9LCAvKiAxODcgKi8KKwl7IDUsCTAsCXN5c19wdXRwbXNnLAkJInB1dHBtc2ciIH0sIC8qIDE4OCAqLworCXsgMCwJVFAsCXN5c192Zm9yaywJCSJ2Zm9yayIgfSwgLyogMTg5ICovCisJeyAzLAlURiwJc3lzX3RydW5jYXRlNjQsCQkidHJ1bmNhdGU2NCIgfSwgLyogMTkwICovCisJeyAzLAlURCwJc3lzX2Z0cnVuY2F0ZTY0LAkiZnRydW5jYXRlNjQiIH0sIC8qIDE5MSAqLworCXsgMiwJVEYsCXN5c19zdGF0NjQsCQkic3RhdDY0IiB9LCAvKiAxOTIgKi8KKwl7IDIsCVRGLAlzeXNfbHN0YXQ2NCwJCSJsc3RhdDY0IiB9LCAvKiAxOTMgKi8KKwl7IDIsCVRELAlzeXNfZnN0YXQ2NCwJCSJmc3RhdDY0IiB9LCAvKiAxOTQgKi8KKwl7IDIsCVRGLAlzeXNfcGl2b3Ryb290LAkJInBpdm90X3Jvb3QiIH0sIC8qIDE5NSAqLworCXsgMywJMCwJc3lzX21pbmNvcmUsCQkibWluY29yZSIgfSwgLyogMTk2ICovCisJeyAzLAkwLAlzeXNfbWFkdmlzZSwJCSJtYWR2aXNlIiB9LCAvKiAxOTcgKi8KKwl7IDQsCVRELAlzeXNfZ2V0ZGVudHM2NCwJCSJnZXRkZW50czY0IiB9LCAvKiAxOTggKi8KKwl7IDMsCVRELAlzeXNfZmNudGwsCQkiZmNudGw2NCIgfSwgLyogMTk5ICovCisJeyAwLAkwLAlwcmludGFyZ3MsCQkiZ2V0dGlkIiB9LCAvKiAyMDAgKi8KKwl7IDQsCVRELAlzeXNfcmVhZGFoZWFkLAkJInJlYWRhaGVhZCIgfSwgLyogMjAxICovCisJeyA1LAlURiwJc3lzX3NldHhhdHRyLAkJInNldHhhdHRyIiB9LCAvKiAyMDIgKi8KKwl7IDUsCVRGLAlzeXNfc2V0eGF0dHIsCQkibHNldHhhdHRyIiB9LCAvKiAyMDMgKi8KKwl7IDUsCVRELAlzeXNfZnNldHhhdHRyLAkJImZzZXR4YXR0ciIgfSwgLyogMjA0ICovCisJeyA0LAlURiwJc3lzX2dldHhhdHRyLAkJImdldHhhdHRyIiB9LCAvKiAyMDUgKi8KKwl7IDQsCVRGLAlzeXNfZ2V0eGF0dHIsCQkibGdldHhhdHRyIiB9LCAvKiAyMDYgKi8KKwl7IDQsCTAsCXN5c19mZ2V0eGF0dHIsCQkiZmdldHhhdHRyIiB9LCAvKiAyMDcgKi8KKwl7IDMsCVRGLAlzeXNfbGlzdHhhdHRyLAkJImxpc3R4YXR0ciIgfSwgLyogMjA4ICovCisJeyAzLAlURiwJc3lzX2xpc3R4YXR0ciwJCSJsbGlzdHhhdHRyIiB9LCAvKiAyMDkgKi8KKwl7IDMsCTAsCXN5c19mbGlzdHhhdHRyLAkJImZsaXN0eGF0dHIiIH0sIC8qIDIxMCAqLworCXsgMiwJVEYsCXN5c19yZW1vdmV4YXR0ciwJInJlbW92ZXhhdHRyIiB9LCAvKiAyMTEgKi8KKwl7IDIsCVRGLAlzeXNfcmVtb3ZleGF0dHIsCSJscmVtb3ZleGF0dHIiIH0sIC8qIDIxMiAqLworCXsgMiwJVEQsCXN5c19mcmVtb3ZleGF0dHIsCSJmcmVtb3ZleGF0dHIiIH0sIC8qIDIxMyAqLworCXsgMiwJVFMsCXN5c19raWxsLAkJInRraWxsIiB9LCAvKiAyMTQgKi8KKwl7IDQsCVRELAlzeXNfc2VuZGZpbGU2NCwJCSJzZW5kZmlsZTY0IiB9LCAvKiAyMTUgKi8KKwl7IDUsCTAsCXN5c19mdXRleCwJCSJmdXRleCIgfSwgLyogMjE2ICovCisJeyAzLAkwLAlzeXNfc2NoZWRfc2V0YWZmaW5pdHksCSJzY2hlZF9zZXRhZmZpbml0eSIgfSwgLyogMjE3ICovCisJeyAzLAkwLAlzeXNfc2NoZWRfZ2V0YWZmaW5pdHksCSJzY2hlZF9nZXRhZmZpbml0eSIgfSwgLyogMjE4ICovCisJeyAyLAkwLAlzeXNfaW9fc2V0dXAsCQkiaW9fc2V0dXAiIH0sIC8qIDIxOSAqLworCXsgMSwJMCwJc3lzX2lvX2Rlc3Ryb3ksCQkiaW9fZGVzdHJveSIgfSwgLyogMjIwICovCisJeyA1LAkwLAlzeXNfaW9fZ2V0ZXZlbnRzLAkiaW9fZ2V0ZXZlbnRzIiB9LCAvKiAyMjEgKi8KKwl7IDMsCTAsCXN5c19pb19zdWJtaXQsCQkiaW9fc3VibWl0IiB9LCAvKiAyMjIgKi8KKwl7IDMsCTAsCXN5c19pb19jYW5jZWwsCQkiaW9fY2FuY2VsIiB9LCAvKiAyMjMgKi8KKwl7IDUsCTAsCXN5c19mYWR2aXNlNjQsCQkiZmFkdmlzZTY0IiB9LCAvKiAyMjQgKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJtaWdyYXRlX3BhZ2VzIiB9LCAvKiAyMjUgKi8KKwl7IDEsCVRQLAlzeXNfZXhpdCwJCSJleGl0X2dyb3VwIiB9LCAvKiAyMjYgKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJsb29rdXBfZGNvb2tpZSIgfSwgLyogMjI3ICovCisJeyAxLAkwLAlzeXNfZXBvbGxfY3JlYXRlLAkiZXBvbGxfY3JlYXRlIiB9LCAvKiAyMjggKi8KKwl7IDQsCVRELAlzeXNfZXBvbGxfY3RsLAkJImVwb2xsX2N0bCIgfSwgLyogMjI5ICovCisJeyA0LAlURCwJc3lzX2Vwb2xsX3dhaXQsCQkiZXBvbGxfd2FpdCIgfSwgLyogMjMwICovCisJeyA1LAkwLAlzeXNfcmVtYXBfZmlsZV9wYWdlcywJInJlbWFwX2ZpbGVfcGFnZXMiIH0sIC8qIDIzMSAqLworCXsgMSwJMCwJcHJpbnRhcmdzLAkJInNldF90aWRfYWRkcmVzcyIgfSwgLyogMjMyICovCisJeyAzLAkwLAlzeXNfdGltZXJfY3JlYXRlLAkidGltZXJfY3JlYXRlIiB9LCAvKiAyMzMgKi8KKwl7IDQsCTAsCXN5c190aW1lcl9zZXR0aW1lLAkidGltZXJfc2V0dGltZSIJfSwgLyogMjM0ICovCisJeyAyLAkwLAlzeXNfdGltZXJfZ2V0dGltZSwJInRpbWVyX2dldHRpbWUiCX0sIC8qIDIzNSAqLworCXsgMSwJMCwJc3lzX3RpbWVyX2dldG92ZXJydW4sCSJ0aW1lcl9nZXRvdmVycnVuIn0sIC8qIDIzNiAqLworCXsgMSwJMCwJc3lzX3RpbWVyX2RlbGV0ZSwJInRpbWVyX2RlbGV0ZSIJfSwgLyogMjM3ICovCisJeyAyLAkwLAlzeXNfY2xvY2tfc2V0dGltZSwJImNsb2NrX3NldHRpbWUiCX0sIC8qIDIzOSAqLworCXsgMiwJMCwJc3lzX2Nsb2NrX2dldHRpbWUsCSJjbG9ja19nZXR0aW1lIgl9LCAvKiAyMzkgKi8KKwl7IDIsCTAsCXN5c19jbG9ja19nZXRyZXMsCSJjbG9ja19nZXRyZXMiCX0sIC8qIDI0MCAqLworCXsgNCwJMCwJc3lzX2Nsb2NrX25hbm9zbGVlcCwJImNsb2NrX25hbm9zbGVlcCJ9LCAvKiAyNDEgKi8KKwl7IDMsCVRGLAlzeXNfc3RhdGZzNjQsCQkic3RhdGZzNjQiIH0sIC8qIDI0MiAqLworCXsgMywJVEQsCXN5c19mc3RhdGZzNjQsCQkiZnN0YXRmczY0IiB9LCAvKiAyNDMgKi8KKwl7IDMsCVRTLAlzeXNfdGdraWxsLAkJInRna2lsbCIgfSwgLyogMjQ0ICovCisJeyAyLAlURiwJc3lzX3V0aW1lcywJCSJ1dGltZXMiIH0sIC8qIDI0NSAqLworCXsgNiwJMCwJc3lzX2ZhZHZpc2U2NF82NCwJImZhZHZpc2U2NF82NCIgfSwgLyogMjQ2ICovCisJeyA2LAkwLAlzeXNfbWJpbmQsCQkibWJpbmQiIH0sIC8qIDI0NyAqLworCXsgNSwJMCwJc3lzX2dldF9tZW1wb2xpY3ksCSJnZXRfbWVtcG9saWN5IiB9LCAvKiAyNDggKi8KKwl7IDMsCTAsCXN5c19zZXRfbWVtcG9saWN5LAkic2V0X21lbXBvbGljeSIgfSwgLyogMjQ5ICovCisJeyA0LAkwLAlzeXNfbXFfb3BlbiwJCSJtcV9vcGVuIiB9LCAvKiAyNTAgKi8KKwl7IDEsCTAsCXN5c19tcV91bmxpbmssCQkibXFfdW5saW5rIgl9LCAvKiAyNTEgKi8KKwl7IDUsCTAsCXN5c19tcV90aW1lZHNlbmQsCSJtcV90aW1lZHNlbmQiCX0sIC8qIDI1MiAqLworCXsgNSwJMCwJc3lzX21xX3RpbWVkcmVjZWl2ZSwJIm1xX3RpbWVkcmVjZWl2ZSIgfSwgLyogMjUzICovCisJeyAyLAkwLAlzeXNfbXFfbm90aWZ5LAkJIm1xX25vdGlmeSIJfSwgLyogMjU0ICovCisJeyAzLAkwLAlzeXNfbXFfZ2V0c2V0YXR0ciwJIm1xX2dldHNldGF0dHIiCX0sIC8qIDI1NSAqLworCXsgNCwJMCwJcHJpbnRhcmdzLAkJImtleGVjX2xvYWQiIH0sIC8qIDI1NiAqLworCXsgNSwJVFAsCXN5c193YWl0aWQsCQkid2FpdGlkIiB9LCAvKiAyNTcgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJhZGRfa2V5IiB9LCAvKiAyNTggKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJyZXF1ZXN0X2tleSIgfSwgLyogMjU5ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkia2V5Y3RsIiB9LCAvKiAyNjAgKi8KKwl7IDMsCTAsCXByaW50YXJncywJCSJpb3ByaW9fc2V0IiB9LCAvKiAyNjEgKi8KKwl7IDIsCTAsCXByaW50YXJncywJCSJpb3ByaW9fZ2V0IiB9LCAvKiAyNjIgKi8KKwl7IDAsCVRELAlwcmludGFyZ3MsCQkiaW5vdGlmeV9pbml0IiB9LCAvKiAyNjMgKi8KKwl7IDMsCVRELAlzeXNfaW5vdGlmeV9hZGRfd2F0Y2gsCSJpbm90aWZ5X2FkZF93YXRjaCIgfSwgLyogMjY0ICovCisJeyAyLAlURCwJc3lzX2lub3RpZnlfcm1fd2F0Y2gsCSJpbm90aWZ5X3JtX3dhdGNoIiB9LCAvKiAyNjUgKi8KKwl7IDEsCTAsCXByaW50YXJncywJCSJyYWlzZV9mcGUiIH0sIC8qIDI2NiAqLworCXsgNCwJVER8VEYsCXN5c19vcGVuYXQsCQkib3BlbmF0IiB9LCAvKiAyNjcgKi8KKwl7IDMsCVREfFRGLAlzeXNfbWtkaXJhdCwJCSJta2RpcmF0IiB9LCAvKiAyNjggKi8KKwl7IDQsCVREfFRGLAlzeXNfbWtub2RhdCwJCSJta25vZGF0IiB9LCAvKiAyNjkgKi8KKwl7IDUsCVREfFRGLAlzeXNfZmNob3duYXQsCQkiZmNob3duYXQiIH0sIC8qIDI3MCAqLworCXsgMywJVER8VEYsCXN5c19mdXRpbWVzYXQsCQkiZnV0aW1lc2F0IiB9LCAvKiAyNzEgKi8KKwl7IDQsCVREfFRELAlzeXNfbmV3ZnN0YXRhdCwJCSJmc3RhdGF0NjQiIH0sIC8qIDI3MiAqLworCXsgMywJVER8VEYsCXN5c191bmxpbmthdCwJCSJ1bmxpbmthdCIgfSwgLyogMjczICovCisJeyA0LAlURHxURiwJc3lzX3JlbmFtZWF0LAkJInJlbmFtZWF0IiB9LCAvKiAyNzQgKi8KKwl7IDUsCVREfFRGLAlzeXNfbGlua2F0LAkJImxpbmthdCIgfSwgLyogMjc1ICovCisJeyAzLAlURHxURiwJc3lzX3N5bWxpbmthdCwJCSJzeW1saW5rYXQiIH0sIC8qIDI3NiAqLworCXsgNCwJVER8VEYsCXN5c19yZWFkbGlua2F0LAkJInJlYWRsaW5rYXQiIH0sIC8qIDI3NyAqLworCXsgMywJVER8VEYsCXN5c19mY2htb2RhdCwJCSJmY2htb2RhdCIgfSwgLyogMjc4ICovCisJeyAzLAlURHxURiwJc3lzX2ZhY2Nlc3NhdCwJCSJmYWNjZXNzYXQiIH0sIC8qIDI3OSAqLworCXsgNiwJVEQsCXN5c19wc2VsZWN0NiwJCSJwc2VsZWN0NiIgfSwgLyogMjgwICovCisJeyA1LAlURCwJc3lzX3Bwb2xsLAkJInBwb2xsIiB9LCAvKiAyODEgKi8KKwl7IDEsCVRQLAlzeXNfdW5zaGFyZSwJCSJ1bnNoYXJlIiB9LCAvKiAyODIgKi8KKwl7IDIsCTAsCXByaW50YXJncywJCSJzZXRfcm9idXN0X2xpc3QiIH0sIC8qIDI4MyAqLworCXsgMywJMCwJcHJpbnRhcmdzLAkJImdldF9yb2J1c3RfbGlzdCIgfSwgLyogMjg0ICovCisJeyA2LAlURCwJcHJpbnRhcmdzLAkJInNwbGljZSIgfSwgLyogMjg1ICovCisJeyA0LAlURCwJcHJpbnRhcmdzLAkJInN5bmNfZmlsZV9yYW5nZSIgfSwgLyogMjg2ICovCisJeyA0LAlURCwJcHJpbnRhcmdzLAkJInRlZSIgfSwgLyogMjg3ICovCisJeyA0LAlURCwJcHJpbnRhcmdzLAkJInZtc3BsaWNlIiB9LCAvKiAyODggKi8KKwl7IDYsCVRQLCAJc3lzX21vdmVfcGFnZXMsCQkibW92ZV9wYWdlcyIgfSwgLyogMjg5ICovCisJeyAxLAlUUCwJcHJpbnRhcmdzLAkJInVudXNlZCIgfSwgLyogMjkwICovCisJeyAxLAkwLAlwcmludGFyZ3MsCQkiY21weGNoZ19iYWRhZGRyIiB9LCAvKiAyOTEgKi8KKwl7IDMsCTAsCXN5c19nZXRjcHUsCQkiZ2V0Y3B1IiB9LCAvKiAyOTIgKi8KKwl7IDUsCVRELAlzeXNfZXBvbGxfcHdhaXQsCSJlcG9sbF9wd2FpdCIJfSwgLyogMjkzICovCisJeyA0LAlURHxURiwJc3lzX3V0aW1lbnNhdCwJCSJ1dGltZW5zYXQiIH0sIC8qIDI5NCAqLworCXsgMywJVER8VFMsCXN5c19zaWduYWxmZCwJCSJzaWduYWxmZCIgfSwgLyogMjk1ICovCisJeyAyLAlURCwJc3lzX3RpbWVyZmRfY3JlYXRlLAkidGltZXJmZF9jcmVhdGUiIH0sIC8qIDI5NiAqLworCXsgMSwJVEQsCXN5c19ldmVudGZkLAkJImV2ZW50ZmQiIH0sIC8qIDI5NyAqLworCXsgNiwJVEYsCXN5c19mYWxsb2NhdGUsCQkiZmFsbG9jYXRlIiB9LCAvKiAyOTggKi8KKwl7IDQsCVRELAlzeXNfdGltZXJmZF9zZXR0aW1lLAkidGltZXJmZF9zZXR0aW1lIiB9LCAvKiAyOTkgKi8KKwl7IDIsCVRELAlzeXNfdGltZXJmZF9nZXR0aW1lLAkidGltZXJmZF9nZXR0aW1lIiB9LCAvKiAzMDAgKi8KKwl7IDEsCTAsCXByaW50YXJncywJCSJmbHVzaF9jYWNoZSIgfSAvKiAzMDEgKi8KZGlmZiAtLWdpdCBhL3N0cmFjZS00LjUuMjAvbGludXgveDg2XzY0L2Vycm5vZW50MS5oIGIvc3RyYWNlLTQuNS4yMC9saW51eC94ODZfNjQvZXJybm9lbnQxLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTg5NDgyNwotLS0gL2Rldi9udWxsCisrKyBiL3N0cmFjZS00LjUuMjAvbGludXgveDg2XzY0L2Vycm5vZW50MS5oCkBAIC0wLDAgKzEsMiBAQAorLyogT3VyIHNlY29uZCBzZXQgY29tZXMgZnJvbSB0aGUgaTM4NiBmaWxlcy4gICovCisjaW5jbHVkZSAiLi4vZXJybm9lbnQuaCIKZGlmZiAtLWdpdCBhL3N0cmFjZS00LjUuMjAvbGludXgveDg2XzY0L2dlbnRhYi5wbCBiL3N0cmFjZS00LjUuMjAvbGludXgveDg2XzY0L2dlbnRhYi5wbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yODU4ZTA3Ci0tLSAvZGV2L251bGwKKysrIGIvc3RyYWNlLTQuNS4yMC9saW51eC94ODZfNjQvZ2VudGFiLnBsCkBAIC0wLDAgKzEsNzUgQEAKKyMhL3Vzci9iaW4vcGVybCAtdworI2dlbmVyYXRlIHN5c2NhbGwgdGFibGUgZnJvbSBhIHRlbXBsYXRlIGZpbGUgKHVzdWFsbHkgdGhlIG1hc3RlciBpMzg2IHN5c2NhbGwKKyNlbnQuaCkgYW5kIHRoZSB4ODZfNjQgdW5pc3RkLmgKKyVjb252ID0gICgKKwkiZXhpdCIgPT4gIl9leGl0IiwKKyk7CisKKyVrbm93biA9ICgKKwkibW1hcCIgPT4gInN5c19tbWFwIiwKKwkic2NoZWRfeWllbGQiID0+ICJwcmludGFyZ3MiLAorKTsKKworIyBvbmx5IHVzZWQgd2hlbiB0aGUgdGVtcGxhdGUgZmlsZSBoYXMgbm8gZW50cnkKKyVhcmdzID0gKAorCSJhcmNoX3ByY3RsIiA9PiAyLAorCSJ0a2lsbCIgPT4gMiwKKwkiZ2V0dGlkIiA9PiAwLAorCSJyZWFkYWhlYWQiID0+IDMsCisJIyBzaG91bGQgZGVjb2RlIGFsbCB0aGVzZToKKwkic2V0eGF0dHIiID0+IDUsCisJImxzZXR4YXR0ciIgPT4gNSwKKwkiZnNldHhhdHRyIiA9PiA1LAorCSJnZXR4YXR0ciIgPT4gNCwKKwkibGdldHhhdHRyIiA9PiA0LAorCSJmZ2V0eGF0dHIiID0+IDQsCisJImxpc3R4YXR0ciIgPT4gMywKKwkibGxpc3R4YXR0ciIgPT4gMywKKwkiZmxpc3R4YXR0ciIgPT4gMywKKwkicmVtb3ZleGF0dHIiID0+IDIsCisJImxyZW1vdmV4YXR0ciIgPT4gMiwKKwkiZnJlbW92ZXhhdHRyIiA9PiAyLAorCSJtbWFwIiA9PiA2LAorCSJzY2hlZF95aWVsZCIgPT4gMCwKKyk7CisKK29wZW4oRiwkQVJHVlswXSkgfHwgZGllICJjYW5ub3Qgb3BlbiB0ZW1wbGF0ZSBmaWxlICRBUkdWWzBdXG4iOworCit3aGlsZSAoPEY+KSB7CisJbmV4dCB1bmxlc3MgL3svOworCXMvXC9cKi4qXCpcLy8vOworCSgkbmFtZSkgPSAvIihbXiJdKykiLzsKKwljaG9tcDsKKwkkY2FsbHskbmFtZX0gPSAkXzsKK30KKworb3BlbihTTCwgIj5zeXNjYWxsbnVtLmgiKSB8fCBkaWUgImNhbm5vdCBjcmVhdGUgc3lzY2FsbG51bS5oXG4iOworCisKKworb3BlbihTLCRBUkdWWzFdKSB8fCBkaWUgImNhbm5vdCBvcGVuIHN5c2NhbGwgZmlsZSAkQVJHVlsxXVxuIjsKK3doaWxlICg8Uz4pIHsKKwkkbmFtZSA9ICIiOworCW5leHQgdW5sZXNzICAoKCRuYW1lLCAkbnVtKSA9IC9kZWZpbmVccytfX05SXyhcUyspXHMrKFxkKykvKTsKKwluZXh0IGlmICRuYW1lIGVxICIiOworCisJJG5hbWUgPSAkY29udnskbmFtZX0gaWYgZGVmaW5lZCgkY29udnskbmFtZX0pOworCisJaWYgKCFkZWZpbmVkKCRjYWxseyRuYW1lfSkpIHsKKwkJdW5sZXNzIChkZWZpbmVkKCRhcmdzeyRuYW1lfSkpIHsKKwkJCXByaW50IFNUREVSUiAidW5rbm93biBjYWxsICRuYW1lICRudW1cbiI7CisJCQkkbmEgPSAzOworCQl9IGVsc2UgeworCQkJJG5hID0gJGFyZ3N7JG5hbWV9OworCQl9CisJCWlmIChkZWZpbmVkKCRrbm93bnskbmFtZX0pKSB7CisJCQkkZnVuYyA9ICRrbm93bnskbmFtZX07CisJCX0gZWxzZSB7CisJCQkkZnVuYyA9ICJwcmludGFyZ3MiOworCQl9CisJCXByaW50ICJcdHsgJG5hLFx0MCxcdCRmdW5jLFx0XCIkbmFtZVwiIH0sIC8qICRudW0gKi9cbiI7CisJfSBlbHNlIHsKKwkJcHJpbnQgIiRjYWxseyRuYW1lfSAvKiAkbnVtICovXG4iOworCX0KKwlwcmludCBTTCAiI2RlZmluZSBTWVNfJG5hbWUgJG51bVxuIgorfQpkaWZmIC0tZ2l0IGEvc3RyYWNlLTQuNS4yMC9saW51eC94ODZfNjQvaW9jdGxlbnQxLmggYi9zdHJhY2UtNC41LjIwL2xpbnV4L3g4Nl82NC9pb2N0bGVudDEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNDRiMGFlCi0tLSAvZGV2L251bGwKKysrIGIvc3RyYWNlLTQuNS4yMC9saW51eC94ODZfNjQvaW9jdGxlbnQxLmgKQEAgLTAsMCArMSwyIEBACisvKiBPdXIgc2Vjb25kIHNldCBjb21lcyBmcm9tIHRoZSBpMzg2IGZpbGVzLiAgKi8KKyNpbmNsdWRlICIuLi9pb2N0bGVudC5oIgpkaWZmIC0tZ2l0IGEvc3RyYWNlLTQuNS4yMC9saW51eC94ODZfNjQvc2lnbmFsZW50MS5oIGIvc3RyYWNlLTQuNS4yMC9saW51eC94ODZfNjQvc2lnbmFsZW50MS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVjMThkOTgKLS0tIC9kZXYvbnVsbAorKysgYi9zdHJhY2UtNC41LjIwL2xpbnV4L3g4Nl82NC9zaWduYWxlbnQxLmgKQEAgLTAsMCArMSwyIEBACisvKiBPdXIgc2Vjb25kIHNldCBjb21lcyBmcm9tIHRoZSBpMzg2IGZpbGVzLiAgKi8KKyNpbmNsdWRlICIuLi9zaWduYWxlbnQuaCIKZGlmZiAtLWdpdCBhL3N0cmFjZS00LjUuMjAvbGludXgveDg2XzY0L3N5c2NhbGxlbnQuaCBiL3N0cmFjZS00LjUuMjAvbGludXgveDg2XzY0L3N5c2NhbGxlbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMTgyMDdhCi0tLSAvZGV2L251bGwKKysrIGIvc3RyYWNlLTQuNS4yMC9saW51eC94ODZfNjQvc3lzY2FsbGVudC5oCkBAIC0wLDAgKzEsMzAwIEBACisJeyAzLAlURCwJc3lzX3JlYWQsCQkicmVhZCIJCX0sICAvKiAwICovCisJeyAzLAlURCwJc3lzX3dyaXRlLAkJIndyaXRlIgkJfSwgIC8qIDEgKi8KKwl7IDMsCVREfFRGLAlzeXNfb3BlbiwJCSJvcGVuIgkJfSwgIC8qIDIgKi8KKwl7IDEsCVRELAlzeXNfY2xvc2UsCQkiY2xvc2UiCQl9LCAgLyogMyAqLworCXsgMiwJVEYsCXN5c19zdGF0LAkJInN0YXQiCQl9LCAgLyogNCAqLworCXsgMiwJVEQsCXN5c19mc3RhdCwJCSJmc3RhdCIJCX0sICAvKiA1ICovCisJeyAyLAlURiwJc3lzX2xzdGF0LAkJImxzdGF0IgkJfSwgIC8qIDYgKi8KKwl7IDMsCVRELAlzeXNfcG9sbCwJCSJwb2xsIgkJfSwgIC8qIDcgKi8KKwl7IDMsCVRELAlzeXNfbHNlZWssCQkibHNlZWsiCQl9LCAgLyogOCAqLworCXsgNiwJMCwJc3lzX21tYXAsCSJtbWFwIiB9LCAvKiA5ICovCisJeyAzLAkwLAlzeXNfbXByb3RlY3QsCQkibXByb3RlY3QiCX0sICAvKiAxMCAqLworCXsgMiwJMCwJc3lzX211bm1hcCwJCSJtdW5tYXAiCX0sICAvKiAxMSAqLworCXsgMSwJMCwJc3lzX2JyaywJCSJicmsiCQl9LCAgLyogMTIgKi8KKwl7IDQsCVRTLAlzeXNfcnRfc2lnYWN0aW9uLAkicnRfc2lnYWN0aW9uIiAgfSwgIC8qIDEzICovCisJeyA0LAlUUywJc3lzX3J0X3NpZ3Byb2NtYXNrLAkicnRfc2lncHJvY21hc2sifSwgIC8qIDE0ICovCisJeyAxLAlUUywJcHJpbnRhcmdzLAkJInJ0X3NpZ3JldHVybiIJfSwgIC8qIDE1ICovCisJeyAzLAlURCwJc3lzX2lvY3RsLAkJImlvY3RsIgkJfSwgIC8qIDE2ICovCisJeyA1LAlURCwJc3lzX3ByZWFkLAkJInByZWFkIgkJfSwgIC8qIDE3ICovCisJeyA1LAlURCwJc3lzX3B3cml0ZSwJCSJwd3JpdGUiCX0sICAvKiAxOCAqLworCXsgMywJVEQsCXN5c19yZWFkdiwJCSJyZWFkdiIJCX0sICAvKiAxOSAqLworCXsgMywJVEQsCXN5c193cml0ZXYsCQkid3JpdGV2Igl9LCAgLyogMjAgKi8KKwl7IDIsCVRGLAlzeXNfYWNjZXNzLAkJImFjY2VzcyIJfSwgIC8qIDIxICovCisJeyAxLAlURCwJc3lzX3BpcGUsCQkicGlwZSIJCX0sICAvKiAyMiAqLworCXsgNSwJVEQsCXN5c19zZWxlY3QsCQkic2VsZWN0Igl9LCAgLyogMjMgKi8KKwl7IDAsCTAsCXN5c19zY2hlZF95aWVsZCwJInNjaGVkX3lpZWxkIn0sICAvKiAyNCAqLworCXsgNSwJMCwJc3lzX21yZW1hcCwJCSJtcmVtYXAiCX0sICAvKiAyNSAqLworCXsgMywJMCwJc3lzX21zeW5jLAkJIm1zeW5jIgkJfSwgIC8qIDI2ICovCisJeyAzLAkwLAlzeXNfbWluY29yZSwJCSJtaW5jb3JlIgl9LCAgLyogMjcgKi8KKwl7IDMsCTAsCXN5c19tYWR2aXNlLAkJIm1hZHZpc2UiCX0sICAvKiAyOCAqLworCXsgNCwJVEksCXN5c19zaG1nZXQsCQkic2htZ2V0Igl9LCAgLyogMjkgKi8KKwl7IDQsCVRJLAlzeXNfc2htYXQsCQkic2htYXQiCQl9LCAgLyogMzAgKi8KKwl7IDQsCVRJLAlzeXNfc2htY3RsLAkJInNobWN0bCIJfSwgIC8qIDMxICovCisJeyAxLAlURCwJc3lzX2R1cCwJCSJkdXAiCQl9LCAgLyogMzIgKi8KKwl7IDIsCVRELAlzeXNfZHVwMiwJCSJkdXAyIgkJfSwgIC8qIDMzICovCisJeyAwLAlUUywJc3lzX3BhdXNlLAkJInBhdXNlIgkJfSwgIC8qIDM0ICovCisJeyAyLAkwLAlzeXNfbmFub3NsZWVwLAkJIm5hbm9zbGVlcCIJfSwgIC8qIDM1ICovCisJeyAyLAkwLAlzeXNfZ2V0aXRpbWVyLAkJImdldGl0aW1lciIJfSwgIC8qIDM2ICovCisJeyAxLAkwLAlzeXNfYWxhcm0sCQkiYWxhcm0iCQl9LCAgLyogMzcgKi8KKwl7IDMsCTAsCXN5c19zZXRpdGltZXIsCQkic2V0aXRpbWVyIgl9LCAgLyogMzggKi8KKwl7IDAsCTAsCXN5c19nZXRwaWQsCQkiZ2V0cGlkIgl9LCAgLyogMzkgKi8KKwl7IDQsCVREfFROLAlzeXNfc2VuZGZpbGUsCQkic2VuZGZpbGUiCX0sICAvKiA0MCAqLworCXsgMywJVE4sCXN5c19zb2NrZXQsCQkic29ja2V0Igl9LCAgLyogNDEgKi8KKwl7IDMsCVROLAlzeXNfY29ubmVjdCwJCSJjb25uZWN0Igl9LCAgLyogNDIgKi8KKwl7IDMsCVROLAlzeXNfYWNjZXB0LAkJImFjY2VwdCIJfSwgIC8qIDQzICovCisJeyA2LAlUTiwJc3lzX3NlbmR0bywJCSJzZW5kdG8iCX0sICAvKiA0NCAqLworCXsgNiwJVE4sCXN5c19yZWN2ZnJvbSwJCSJyZWN2ZnJvbSIJfSwgIC8qIDQ1ICovCisJeyA1LAlUTiwJc3lzX3NlbmRtc2csCQkic2VuZG1zZyIJfSwgIC8qIDQ2ICovCisJeyA1LAlUTiwJc3lzX3JlY3Ztc2csCQkicmVjdm1zZyIJfSwgIC8qIDQ3ICovCisJeyAyLAlUTiwJc3lzX3NodXRkb3duLAkJInNodXRkb3duIgl9LCAgLyogNDggKi8KKwl7IDMsCVROLAlzeXNfYmluZCwJCSJiaW5kIgkJfSwgIC8qIDQ5ICovCisJeyAyLAlUTiwJc3lzX2xpc3RlbiwJCSJsaXN0ZW4iCX0sICAvKiA1MCAqLworCXsgMywJVE4sCXN5c19nZXRzb2NrbmFtZSwJImdldHNvY2tuYW1lIgl9LCAgLyogNTEgKi8KKwl7IDMsCVROLAlzeXNfZ2V0cGVlcm5hbWUsCSJnZXRwZWVybmFtZSIJfSwgIC8qIDUyICovCisJeyA0LAlUTiwJc3lzX3NvY2tldHBhaXIsCQkic29ja2V0cGFpciIJfSwgIC8qIDUzICovCisJeyA1LAlUTiwJc3lzX3NldHNvY2tvcHQsCQkic2V0c29ja29wdCIJfSwgIC8qIDU0ICovCisJeyA1LAlUTiwJc3lzX2dldHNvY2tvcHQsCQkiZ2V0c29ja29wdCIJfSwgIC8qIDU1ICovCisJeyA1LAlUUCwJc3lzX2Nsb25lLAkJImNsb25lIgkJfSwgIC8qIDU2ICovCisJeyAwLAlUUCwJc3lzX2ZvcmssCQkiZm9yayIJCX0sICAvKiA1NyAqLworCXsgMCwJVFAsCXN5c192Zm9yaywJCSJ2Zm9yayIJCX0sICAvKiA1OCAqLworCXsgMywJVEZ8VFAsCXN5c19leGVjdmUsCQkiZXhlY3ZlIgl9LCAgLyogNTkgKi8KKwl7IDEsCVRQLAlzeXNfZXhpdCwJCSJfZXhpdCIJCX0sICAvKiA2MCAqLworCXsgNCwJVFAsCXN5c193YWl0NCwJCSJ3YWl0NCIJCX0sICAvKiA2MSAqLworCXsgMiwJVFMsCXN5c19raWxsLAkJImtpbGwiCQl9LCAgLyogNjIgKi8KKwl7IDEsCTAsCXN5c191bmFtZSwJCSJ1bmFtZSIJCX0sICAvKiA2MyAqLworCXsgNCwJVEksCXN5c19zZW1nZXQsCQkic2VtZ2V0Igl9LCAgLyogNjQgKi8KKwl7IDQsCVRJLAlzeXNfc2Vtb3AsCQkic2Vtb3AiCQl9LCAgLyogNjUgKi8KKwl7IDQsCVRJLAlzeXNfc2VtY3RsLAkJInNlbWN0bCIJfSwgIC8qIDY2ICovCisJeyA0LAlUSSwJc3lzX3NobWR0LAkJInNobWR0IgkJfSwgIC8qIDY3ICovCisJeyA0LAlUSSwJc3lzX21zZ2dldCwJCSJtc2dnZXQiCX0sICAvKiA2OCAqLworCXsgNCwJVEksCXN5c19tc2dzbmQsCQkibXNnc25kIgl9LCAgLyogNjkgKi8KKwl7IDUsCVRJLAlzeXNfbXNncmN2LAkJIm1zZ3JjdiIJfSwgIC8qIDcwICovCisJeyAzLAlUSSwJc3lzX21zZ2N0bCwJCSJtc2djdGwiCX0sICAvKiA3MSAqLworCXsgMywJVEQsCXN5c19mY250bCwJCSJmY250bCIJCX0sICAvKiA3MiAqLworCXsgMiwJVEQsCXN5c19mbG9jaywJCSJmbG9jayIJCX0sICAvKiA3MyAqLworCXsgMSwJVEQsCXN5c19mc3luYywJCSJmc3luYyIJCX0sICAvKiA3NCAqLworCXsgMSwJVEQsCXN5c19mZGF0YXN5bmMsCQkiZmRhdGFzeW5jIgl9LCAgLyogNzUgKi8KKwl7IDIsCVRGLAlzeXNfdHJ1bmNhdGUsCQkidHJ1bmNhdGUiCX0sICAvKiA3NiAqLworCXsgMiwJVEQsCXN5c19mdHJ1bmNhdGUsCQkiZnRydW5jYXRlIgl9LCAgLyogNzcgKi8KKwl7IDMsCVRELAlzeXNfZ2V0ZGVudHMsCQkiZ2V0ZGVudHMiCX0sICAvKiA3OCAqLworCXsgMiwJVEYsCXN5c19nZXRjd2QsCQkiZ2V0Y3dkIgl9LCAgLyogNzkgKi8KKwl7IDEsCVRGLAlzeXNfY2hkaXIsCQkiY2hkaXIiCQl9LCAgLyogODAgKi8KKwl7IDEsCVRELAlzeXNfZmNoZGlyLAkJImZjaGRpciIJfSwgIC8qIDgxICovCisJeyAyLAlURiwJc3lzX3JlbmFtZSwJCSJyZW5hbWUiCX0sICAvKiA4MiAqLworCXsgMiwJVEYsCXN5c19ta2RpciwJCSJta2RpciIJCX0sICAvKiA4MyAqLworCXsgMSwJVEYsCXN5c19ybWRpciwJCSJybWRpciIJCX0sICAvKiA4NCAqLworCXsgMiwJVER8VEYsCXN5c19jcmVhdCwJCSJjcmVhdCIJCX0sICAvKiA4NSAqLworCXsgMiwJVEYsCXN5c19saW5rLAkJImxpbmsiCQl9LCAgLyogODYgKi8KKwl7IDEsCVRGLAlzeXNfdW5saW5rLAkJInVubGluayIJfSwgIC8qIDg3ICovCisJeyAyLAlURiwJc3lzX3N5bWxpbmssCQkic3ltbGluayIJfSwgIC8qIDg4ICovCisJeyAzLAlURiwJc3lzX3JlYWRsaW5rLAkJInJlYWRsaW5rIgl9LCAgLyogODkgKi8KKwl7IDIsCVRGLAlzeXNfY2htb2QsCQkiY2htb2QiCQl9LCAgLyogOTAgKi8KKwl7IDIsCVRELAlzeXNfZmNobW9kLAkJImZjaG1vZCIJfSwgIC8qIDkxICovCisJeyAzLAlURiwJc3lzX2Nob3duLAkJImNob3duIgkJfSwgIC8qIDkyICovCisJeyAzLAlURCwJc3lzX2ZjaG93biwJCSJmY2hvd24iCX0sICAvKiA5MyAqLworCXsgMywJVEYsCXN5c19jaG93biwJCSJsY2hvd24iCX0sICAvKiA5NCAqLworCXsgMSwJMCwJc3lzX3VtYXNrLAkJInVtYXNrIgkJfSwgIC8qIDk1ICovCisJeyAyLAkwLAlzeXNfZ2V0dGltZW9mZGF5LAkiZ2V0dGltZW9mZGF5Igl9LCAgLyogOTYgKi8KKwl7IDIsCTAsCXN5c19nZXRybGltaXQsCQkiZ2V0cmxpbWl0Igl9LCAgLyogOTcgKi8KKwl7IDIsCTAsCXN5c19nZXRydXNhZ2UsCQkiZ2V0cnVzYWdlIgl9LCAgLyogOTggKi8KKwl7IDEsCTAsCXN5c19zeXNpbmZvLAkJInN5c2luZm8iCX0sICAvKiA5OSAqLworCXsgMSwJMCwJc3lzX3RpbWVzLAkJInRpbWVzIgkJfSwgIC8qIDEwMCAqLworCXsgNCwJMCwJc3lzX3B0cmFjZSwJCSJwdHJhY2UiCX0sICAvKiAxMDEgKi8KKwl7IDAsCTAsCXN5c19nZXR1aWQsCQkiZ2V0dWlkIgl9LCAgLyogMTAyICovCisJeyAzLAkwLAlzeXNfc3lzbG9nLAkJInN5c2xvZyIJfSwgIC8qIDEwMyAqLworCXsgMCwJMCwJc3lzX2dldGdpZCwJCSJnZXRnaWQiCX0sICAvKiAxMDQgKi8KKwl7IDEsCTAsCXN5c19zZXR1aWQsCQkic2V0dWlkIgl9LCAgLyogMTA1ICovCisJeyAxLAkwLAlzeXNfc2V0Z2lkLAkJInNldGdpZCIJfSwgIC8qIDEwNiAqLworCXsgMCwJMCwJc3lzX2dldGV1aWQsCQkiZ2V0ZXVpZCIJfSwgIC8qIDEwNyAqLworCXsgMCwJMCwJc3lzX2dldGVnaWQsCQkiZ2V0ZWdpZCIJfSwgIC8qIDEwOCAqLworCXsgMiwJMCwJc3lzX3NldHBnaWQsCQkic2V0cGdpZCIJfSwgIC8qIDEwOSAqLworCXsgMCwJMCwJc3lzX2dldHBwaWQsCQkiZ2V0cHBpZCIJfSwgIC8qIDExMCAqLworCXsgMCwJMCwJc3lzX2dldHBncnAsCQkiZ2V0cGdycCIJfSwgIC8qIDExMSAqLworCXsgMCwJMCwJc3lzX3NldHNpZCwJCSJzZXRzaWQiCX0sICAvKiAxMTIgKi8KKwl7IDIsCTAsCXN5c19zZXRyZXVpZCwJCSJzZXRyZXVpZCIJfSwgIC8qIDExMyAqLworCXsgMiwJMCwJc3lzX3NldHJlZ2lkLAkJInNldHJlZ2lkIgl9LCAgLyogMTE0ICovCisJeyAyLAkwLAlzeXNfZ2V0Z3JvdXBzLAkJImdldGdyb3VwcyIJfSwgIC8qIDExNSAqLworCXsgMiwJMCwJc3lzX3NldGdyb3VwcywJCSJzZXRncm91cHMiCX0sICAvKiAxMTYgKi8KKwl7IDMsCTAsCXN5c19zZXRyZXN1aWQsCQkic2V0cmVzdWlkIgl9LCAgLyogMTE3ICovCisJeyAzLAkwLAlzeXNfZ2V0cmVzdWlkLAkJImdldHJlc3VpZCIJfSwgIC8qIDExOCAqLworCXsgMywJMCwJc3lzX3NldHJlc2dpZCwJCSJzZXRyZXNnaWQiCX0sICAvKiAxMTkgKi8KKwl7IDMsCTAsCXN5c19nZXRyZXNnaWQsCQkiZ2V0cmVzZ2lkIgl9LCAgLyogMTIwICovCisJeyAxLAkwLAlzeXNfZ2V0cGdpZCwJCSJnZXRwZ2lkIgl9LCAgLyogMTIxICovCisJeyAxLAkwLAlzeXNfc2V0ZnN1aWQsCQkic2V0ZnN1aWQiCX0sICAvKiAxMjIgKi8KKwl7IDEsCTAsCXN5c19zZXRmc2dpZCwJCSJzZXRmc2dpZCIJfSwgIC8qIDEyMyAqLworCXsgMSwJMCwJc3lzX2dldHNpZCwJCSJnZXRzaWQiCX0sICAvKiAxMjQgKi8KKwl7IDIsCTAsCXN5c19jYXBnZXQsCQkiY2FwZ2V0Igl9LCAgLyogMTI1ICovCisJeyAyLAkwLAlzeXNfY2Fwc2V0LAkJImNhcHNldCIJfSwgIC8qIDEyNiAqLworCXsgMiwJVFMsCXN5c19ydF9zaWdwZW5kaW5nLAkicnRfc2lncGVuZGluZyIJfSwgIC8qIDEyNyAqLworCXsgNCwJVFMsCXN5c19ydF9zaWd0aW1lZHdhaXQsCSJydF9zaWd0aW1lZHdhaXQiCX0sICAvKiAxMjggKi8KKwl7IDMsCVRTLAlzeXNfcnRfc2lncXVldWVpbmZvLCAgICAicnRfc2lncXVldWVpbmZvIgl9LCAgLyogMTI5ICovCisJeyAyLAlUUywJc3lzX3J0X3NpZ3N1c3BlbmQsCSJydF9zaWdzdXNwZW5kIgl9LCAgLyogMTMwICovCisJeyAyLAlUUywJc3lzX3NpZ2FsdHN0YWNrLAkic2lnYWx0c3RhY2siCX0sICAvKiAxMzEgKi8KKwl7IDIsCVRGLAlzeXNfdXRpbWUsCQkidXRpbWUiCQl9LCAgLyogMTMyICovCisJeyAzLAlURiwJc3lzX21rbm9kLAkJIm1rbm9kIgkJfSwgIC8qIDEzMyAqLworCXsgMSwJVEYsCXN5c191c2VsaWIsCQkidXNlbGliIgl9LCAgLyogMTM0ICovCisJeyAxLAkwLAlzeXNfcGVyc29uYWxpdHksCSJwZXJzb25hbGl0eSIJfSwgIC8qIDEzNSAqLworCXsgMiwJMCwJc3lzX3VzdGF0LAkJInVzdGF0IgkJfSwgIC8qIDEzNiAqLworCXsgMiwJVEYsCXN5c19zdGF0ZnMsCQkic3RhdGZzIgl9LCAgLyogMTM3ICovCisJeyAyLAlURCwJc3lzX2ZzdGF0ZnMsCQkiZnN0YXRmcyIJfSwgIC8qIDEzOCAqLworCXsgMywJMCwJc3lzX3N5c2ZzLAkJInN5c2ZzIgkJfSwgIC8qIDEzOSAqLworCXsgMiwJMCwJc3lzX2dldHByaW9yaXR5LAkiZ2V0cHJpb3JpdHkiCX0sICAvKiAxNDAgKi8KKwl7IDMsCTAsCXN5c19zZXRwcmlvcml0eSwJInNldHByaW9yaXR5Igl9LCAgLyogMTQxICovCisJeyAwLAkwLAlzeXNfc2NoZWRfc2V0cGFyYW0sCSJzY2hlZF9zZXRwYXJhbSIJfSwgIC8qIDE0MiAqLworCXsgMiwJMCwJc3lzX3NjaGVkX2dldHBhcmFtLAkic2NoZWRfZ2V0cGFyYW0iCX0sICAvKiAxNDMgKi8KKwl7IDMsCTAsCXN5c19zY2hlZF9zZXRzY2hlZHVsZXIsCSJzY2hlZF9zZXRzY2hlZHVsZXIiCX0sICAvKiAxNDQgKi8KKwl7IDEsCTAsCXN5c19zY2hlZF9nZXRzY2hlZHVsZXIsCSJzY2hlZF9nZXRzY2hlZHVsZXIiCX0sICAvKiAxNDUgKi8KKwl7IDEsCTAsCXN5c19zY2hlZF9nZXRfcHJpb3JpdHlfbWF4LAkic2NoZWRfZ2V0X3ByaW9yaXR5X21heCIJfSwgIC8qIDE0NiAqLworCXsgMSwJMCwJc3lzX3NjaGVkX2dldF9wcmlvcml0eV9taW4sCSJzY2hlZF9nZXRfcHJpb3JpdHlfbWluIgl9LCAgLyogMTQ3ICovCisJeyAyLAkwLAlzeXNfc2NoZWRfcnJfZ2V0X2ludGVydmFsLAkic2NoZWRfcnJfZ2V0X2ludGVydmFsIgl9LCAgLyogMTQ4ICovCisJeyAyLAkwLAlzeXNfbWxvY2ssCQkibWxvY2siCQl9LCAgLyogMTQ5ICovCisJeyAyLAkwLAlzeXNfbXVubG9jaywJCSJtdW5sb2NrIgl9LCAgLyogMTUwICovCisJeyAyLAkwLAlzeXNfbWxvY2thbGwsCQkibWxvY2thbGwiCX0sICAvKiAxNTEgKi8KKwl7IDAsCTAsCXN5c19tdW5sb2NrYWxsLAkJIm11bmxvY2thbGwiCX0sICAvKiAxNTIgKi8KKwl7IDAsCTAsCXN5c192aGFuZ3VwLAkJInZoYW5ndXAiCX0sICAvKiAxNTMgKi8KKwl7IDMsCTAsCXN5c19tb2RpZnlfbGR0LAkJIm1vZGlmeV9sZHQiCX0sICAvKiAxNTQgKi8KKwl7IDIsCVRGLAlzeXNfcGl2b3Ryb290LAkJInBpdm90X3Jvb3QiCX0sICAvKiAxNTUgKi8KKwl7IDEsCTAsCXN5c19zeXNjdGwsCQkiX3N5c2N0bCIJfSwgIC8qIDE1NiAqLworCXsgNSwJMCwJc3lzX3ByY3RsLAkJInByY3RsIgkJfSwgIC8qIDE1NyAqLworCXsgMiwJVFAsCXN5c19hcmNoX3ByY3RsLAkJImFyY2hfcHJjdGwiCX0sICAvKiAxNTggKi8KKwl7IDEsCTAsCXN5c19hZGp0aW1leCwJCSJhZGp0aW1leCIJfSwgIC8qIDE1OSAqLworCXsgMiwJMCwJc3lzX3NldHJsaW1pdCwJCSJzZXRybGltaXQiCX0sICAvKiAxNjAgKi8KKwl7IDEsCVRGLAlzeXNfY2hyb290LAkJImNocm9vdCIJfSwgIC8qIDE2MSAqLworCXsgMCwJMCwJc3lzX3N5bmMsCQkic3luYyIJCX0sICAvKiAxNjIgKi8KKwl7IDEsCVRGLAlzeXNfYWNjdCwJCSJhY2N0IgkJfSwgIC8qIDE2MyAqLworCXsgMiwJMCwJc3lzX3NldHRpbWVvZmRheSwJInNldHRpbWVvZmRheSIJfSwgIC8qIDE2NCAqLworCXsgNSwJVEYsCXN5c19tb3VudCwJCSJtb3VudCIJCX0sICAvKiAxNjUgKi8KKwl7IDIsCVRGLAlzeXNfdW1vdW50MiwJCSJ1bW91bnQiCX0sIC8qIDE2NiAqLworCXsgMSwJVEYsCXN5c19zd2Fwb24sCQkic3dhcG9uIgl9LCAgLyogMTY3ICovCisJeyAxLAkwLAlzeXNfc3dhcG9mZiwJCSJzd2Fwb2ZmIgl9LCAgLyogMTY4ICovCisJeyAzLAkwLAlzeXNfcmVib290LAkJInJlYm9vdCIJfSwgIC8qIDE2OSAqLworCXsgMiwJMCwJc3lzX3NldGhvc3RuYW1lLAkic2V0aG9zdG5hbWUiCX0sICAvKiAxNzAgKi8KKwl7IDIsCTAsCXN5c19zZXRkb21haW5uYW1lLAkic2V0ZG9tYWlubmFtZSIJfSwgIC8qIDE3MSAqLworCXsgMSwJMCwJc3lzX2lvcGwsCQkiaW9wbCIJCX0sICAvKiAxNzIgKi8KKwl7IDMsCTAsCXN5c19pb3Blcm0sCQkiaW9wZXJtIgl9LCAgLyogMTczICovCisJeyAyLAkwLAlzeXNfY3JlYXRlX21vZHVsZSwJImNyZWF0ZV9tb2R1bGUiCX0sICAvKiAxNzQgKi8KKwl7IDMsCTAsCXN5c19pbml0X21vZHVsZSwJImluaXRfbW9kdWxlIgl9LCAgLyogMTc1ICovCisJeyAyLAkwLAlzeXNfZGVsZXRlX21vZHVsZSwJImRlbGV0ZV9tb2R1bGUiCX0sICAvKiAxNzYgKi8KKwl7IDEsCTAsCXN5c19nZXRfa2VybmVsX3N5bXMsCSJnZXRfa2VybmVsX3N5bXMifSwgIC8qIDE3NyAqLworCXsgNSwJMCwJc3lzX3F1ZXJ5X21vZHVsZSwJInF1ZXJ5X21vZHVsZSIJfSwgIC8qIDE3OCAqLworCXsgNCwJMCwJc3lzX3F1b3RhY3RsLAkJInF1b3RhY3RsIgl9LCAgLyogMTc5ICovCisJeyAzLAkwLAlwcmludGFyZ3MsCQkibmZzc2VydmN0bCIJfSwgIC8qIDE4MCAqLworCXsgNSwJMCwJc3lzX2dldHBtc2csCQkiZ2V0cG1zZyIJfSwgLyogMTgxICovCisJeyA1LAkwLAlzeXNfcHV0cG1zZywJCSJwdXRwbXNnIgl9LCAvKiAxODIgKi8KKwl7IDUsCTAsCXN5c19hZnNfc3lzY2FsbCwJImFmc19zeXNjYWxsIgl9LCAgLyogMTgzICovCisJeyAzLAkwLAlwcmludGFyZ3MsCQkidHV4Y2FsbCIJfSwgLyogMTg0ICovCisJeyAzLAkwLAlwcmludGFyZ3MsCQkic2VjdXJpdHkiCX0sIC8qIDE4NSAqLworCXsgMCwJMCwJcHJpbnRhcmdzLAkJImdldHRpZCIJfSwgLyogMTg2ICovCisJeyA0LAlURCwJc3lzX3JlYWRhaGVhZCwJCSJyZWFkYWhlYWQiCX0sIC8qIDE4NyAqLworCXsgNSwJVEYsCXN5c19zZXR4YXR0ciwJCSJzZXR4YXR0ciIJfSwgLyogMTg4ICovCisJeyA1LAlURiwJc3lzX3NldHhhdHRyLAkJImxzZXR4YXR0ciIJfSwgLyogMTg5ICovCisJeyA1LAlURCwJc3lzX2ZzZXR4YXR0ciwJCSJmc2V0eGF0dHIiCX0sIC8qIDE5MCAqLworCXsgNCwJVEYsCXN5c19nZXR4YXR0ciwJCSJnZXR4YXR0ciIJfSwgLyogMTkxICovCisJeyA0LAlURiwJc3lzX2dldHhhdHRyLAkJImxnZXR4YXR0ciIJfSwgLyogMTkyICovCisJeyA0LAkwLAlzeXNfZmdldHhhdHRyLAkJImZnZXR4YXR0ciIJfSwgLyogMTkzICovCisJeyAzLAlURiwJc3lzX2xpc3R4YXR0ciwJCSJsaXN0eGF0dHIiCX0sIC8qIDE5NCAqLworCXsgMywJVEYsCXN5c19saXN0eGF0dHIsCQkibGxpc3R4YXR0ciIJfSwgLyogMTk1ICovCisJeyAzLAkwLAlzeXNfZmxpc3R4YXR0ciwJCSJmbGlzdHhhdHRyIgl9LCAvKiAxOTYgKi8KKwl7IDIsCVRGLAlzeXNfcmVtb3ZleGF0dHIsCSJyZW1vdmV4YXR0ciIJfSwgLyogMTk3ICovCisJeyAyLAlURiwJc3lzX3JlbW92ZXhhdHRyLAkibHJlbW92ZXhhdHRyIgl9LCAvKiAxOTggKi8KKwl7IDIsCVRELAlzeXNfZnJlbW92ZXhhdHRyLAkiZnJlbW92ZXhhdHRyIgl9LCAvKiAxOTkgKi8KKwl7IDIsCTAsCXN5c19raWxsLAkJInRraWxsIgkJfSwgLyogMjAwICovCisJeyAxLAkwLAlzeXNfdGltZSwJCSJ0aW1lIgkJfSwgIC8qIDIwMSAqLworCXsgNiwJMCwJc3lzX2Z1dGV4LAkJImZ1dGV4IgkJfSwgLyogMjAyICovCisJeyAzLAkwLAlzeXNfc2NoZWRfc2V0YWZmaW5pdHksCSJzY2hlZF9zZXRhZmZpbml0eSIgfSwvKiAyMDMgKi8KKwl7IDMsCTAsCXN5c19zY2hlZF9nZXRhZmZpbml0eSwJInNjaGVkX2dldGFmZmluaXR5IiB9LC8qIDIwNCAqLworCXsgMSwJMCwJc3lzX3NldF90aHJlYWRfYXJlYSwJInNldF90aHJlYWRfYXJlYSIgfSwgLyogMjA1ICovCisJeyAyLAkwLAlzeXNfaW9fc2V0dXAsCQkiaW9fc2V0dXAiCX0sIC8qIDIwNiAqLworCXsgMSwJMCwJc3lzX2lvX2Rlc3Ryb3ksCQkiaW9fZGVzdHJveSIJfSwgLyogMjA3ICovCisJeyA1LAkwLAlzeXNfaW9fZ2V0ZXZlbnRzLAkJImlvX2dldGV2ZW50cyIJfSwgLyogMjA4ICovCisJeyAzLAkwLAlzeXNfaW9fc3VibWl0LAkJImlvX3N1Ym1pdCIJfSwgLyogMjA5ICovCisJeyAzLAkwLAlzeXNfaW9fY2FuY2VsLAkJImlvX2NhbmNlbCIJfSwgLyogMjEwICovCisJeyAxLAkwLAlzeXNfZ2V0X3RocmVhZF9hcmVhLAkiZ2V0X3RocmVhZF9hcmVhIiB9LCAvKiAyMTEgKi8KKwl7IDQsCTAsCXByaW50YXJncywJCSJsb29rdXBfZGNvb2tpZSJ9LCAvKiAyMTIgKi8KKwl7IDEsCTAsCXN5c19lcG9sbF9jcmVhdGUsCSJlcG9sbF9jcmVhdGUiCX0sIC8qIDIxMyAqLworCXsgNCwJMCwJcHJpbnRhcmdzLAkJImVwb2xsX2N0bF9vbGQiCX0sIC8qIDIxNCAqLworCXsgNCwJMCwJcHJpbnRhcmdzLAkJImVwb2xsX3dhaXRfb2xkIn0sIC8qIDIxNSAqLworCXsgNSwJMCwJc3lzX3JlbWFwX2ZpbGVfcGFnZXMsCSJyZW1hcF9maWxlX3BhZ2VzIn0sIC8qIDIxNiAqLworCXsgMywJVEQsCXN5c19nZXRkZW50czY0LAkJImdldGRlbnRzNjQiCX0sIC8qIDIxNyAqLworCXsgMSwJMCwJcHJpbnRhcmdzLAkJInNldF90aWRfYWRkcmVzcyJ9LCAvKiAyMTggKi8KKwl7IDAsCTAsCXN5c19yZXN0YXJ0X3N5c2NhbGwsCSJyZXN0YXJ0X3N5c2NhbGwifSwgLyogMjE5ICovCisJeyA1LAlUSSwJc3lzX3NlbXRpbWVkb3AsCQkic2VtdGltZWRvcCIJfSwgLyogMjIwICovCisJeyA0LAkwLAlzeXNfZmFkdmlzZTY0XzY0LAkiZmFkdmlzZTY0Igl9LCAvKiAyMjEgKi8KKwl7IDMsCTAsCXN5c190aW1lcl9jcmVhdGUsCSJ0aW1lcl9jcmVhdGUiCX0sIC8qIDIyMiAqLworCXsgNCwJMCwJc3lzX3RpbWVyX3NldHRpbWUsCSJ0aW1lcl9zZXR0aW1lIgl9LCAvKiAyMjMgKi8KKwl7IDIsCTAsCXN5c190aW1lcl9nZXR0aW1lLAkidGltZXJfZ2V0dGltZSIJfSwgLyogMjI0ICovCisJeyAxLAkwLAlzeXNfdGltZXJfZ2V0b3ZlcnJ1biwJInRpbWVyX2dldG92ZXJydW4ifSwgLyogMjI1ICovCisJeyAxLAkwLAlzeXNfdGltZXJfZGVsZXRlLAkidGltZXJfZGVsZXRlIgl9LCAvKiAyMjYgKi8KKwl7IDIsCTAsCXN5c19jbG9ja19zZXR0aW1lLAkiY2xvY2tfc2V0dGltZSIJfSwgLyogMjI3ICovCisJeyAyLAkwLAlzeXNfY2xvY2tfZ2V0dGltZSwJImNsb2NrX2dldHRpbWUiCX0sIC8qIDIyOCAqLworCXsgMiwJMCwJc3lzX2Nsb2NrX2dldHJlcywJImNsb2NrX2dldHJlcyIJfSwgLyogMjI5ICovCisJeyA0LAkwLAlzeXNfY2xvY2tfbmFub3NsZWVwLAkiY2xvY2tfbmFub3NsZWVwIn0sIC8qIDIzMCAqLworCXsgMSwJVFAsCXN5c19leGl0LAkJImV4aXRfZ3JvdXAiCX0sIC8qIDIzMSAqLworCXsgNSwJVEQsCXN5c19lcG9sbF93YWl0LAkJImVwb2xsX3dhaXQiCX0sIC8qIDIzMiAqLworCXsgNSwJVEQsCXN5c19lcG9sbF9jdGwsCQkiZXBvbGxfY3RsIgl9LCAvKiAyMzMgKi8KKwl7IDMsCVRTLAlzeXNfdGdraWxsLAkJInRna2lsbCIJfSwgLyogMjM0ICovCisJeyAyLAlURiwJc3lzX3V0aW1lcywJCSJ1dGltZXMiCX0sIC8qIDIzNSAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJInZzZXJ2ZXIiCX0sIC8qIDIzNiAqLworCXsgNiwJMCwJc3lzX21iaW5kLAkJIm1iaW5kIgkJfSwgLyogMjM3ICovCisJeyAzLAkwLAlzeXNfc2V0X21lbXBvbGljeSwJInNldF9tZW1wb2xpY3kiCX0sIC8qIDIzOCAqLworCXsgNSwJMCwJc3lzX2dldF9tZW1wb2xpY3ksCSJnZXRfbWVtcG9saWN5Igl9LCAvKiAyMzkgKi8KKwl7IDQsCTAsCXN5c19tcV9vcGVuLAkJIm1xX29wZW4iCX0sIC8qIDI0MCAqLworCXsgMSwJMCwJc3lzX21xX3VubGluaywJCSJtcV91bmxpbmsiCX0sIC8qIDI0MSAqLworCXsgNSwJMCwJc3lzX21xX3RpbWVkc2VuZCwJIm1xX3RpbWVkc2VuZCIJfSwgLyogMjQyICovCisJeyA1LAkwLAlzeXNfbXFfdGltZWRyZWNlaXZlLAkibXFfdGltZWRyZWNlaXZlIiB9LCAvKiAyNDMgKi8KKwl7IDIsCTAsCXN5c19tcV9ub3RpZnksCQkibXFfbm90aWZ5Igl9LCAvKiAyNDQgKi8KKwl7IDMsCTAsCXN5c19tcV9nZXRzZXRhdHRyLAkibXFfZ2V0c2V0YXR0ciIJfSwgLyogMjQ1ICovCisJeyA1LAkwLAlwcmludGFyZ3MsCQkia2V4ZWNfbG9hZCIJfSwgLyogMjQ2ICovCisJeyA1LAlUUCwJc3lzX3dhaXRpZCwJCSJ3YWl0aWQiCX0sIC8qIDI0NyAqLworCXsgNSwJMCwJcHJpbnRhcmdzLAkJImFkZF9rZXkiCX0sIC8qIDI0OCAqLworCXsgNCwJMCwJcHJpbnRhcmdzLAkJInJlcXVlc3Rfa2V5Igl9LCAvKiAyNDkgKi8KKwl7IDUsCTAsCXByaW50YXJncywJCSJrZXljdGwiCX0sIC8qIDI1MCAqLworCXsgMywJMCwJcHJpbnRhcmdzLAkJImlvcHJpb19zZXQiCX0sIC8qIDI1MSAqLworCXsgMiwJMCwJcHJpbnRhcmdzLAkJImlvcHJpb19nZXQiCX0sIC8qIDI1MiAqLworCXsgMCwJVEQsCXByaW50YXJncywJCSJpbm90aWZ5X2luaXQiCX0sIC8qIDI1MyAqLworCXsgMywJVEQsCXN5c19pbm90aWZ5X2FkZF93YXRjaCwJImlub3RpZnlfYWRkX3dhdGNoIiB9LCAvKiAyNTQgKi8KKwl7IDIsCVRELAlzeXNfaW5vdGlmeV9ybV93YXRjaCwJImlub3RpZnlfcm1fd2F0Y2giIH0sIC8qIDI1NSAqLworCXsgNCwJMCwJcHJpbnRhcmdzLAkJIm1pZ3JhdGVfcGFnZXMiCX0sIC8qIDI1NiAqLworCXsgNCwJVER8VEYsCXN5c19vcGVuYXQsCQkib3BlbmF0Igl9LCAvKiAyNTcgKi8KKwl7IDMsCVREfFRGLAlzeXNfbWtkaXJhdCwJCSJta2RpcmF0Igl9LCAvKiAyNTggKi8KKwl7IDQsCVREfFRGLAlzeXNfbWtub2RhdCwJCSJta25vZGF0Igl9LCAvKiAyNTkgKi8KKwl7IDUsCVREfFRGLAlzeXNfZmNob3duYXQsCQkiZmNob3duYXQiCX0sIC8qIDI2MCAqLworCXsgMywJVER8VEYsCXN5c19mdXRpbWVzYXQsCQkiZnV0aW1lc2F0Igl9LCAvKiAyNjEgKi8KKwl7IDQsCVREfFRELAlzeXNfbmV3ZnN0YXRhdCwJCSJuZXdmc3RhdGF0Igl9LCAvKiAyNjIgKi8KKwl7IDMsCVREfFRGLAlzeXNfdW5saW5rYXQsCQkidW5saW5rYXQiCX0sIC8qIDI2MyAqLworCXsgNCwJVER8VEYsCXN5c19yZW5hbWVhdCwJCSJyZW5hbWVhdCIJfSwgLyogMjY0ICovCisJeyA1LAlURHxURiwJc3lzX2xpbmthdCwJCSJsaW5rYXQiCX0sIC8qIDI2NSAqLworCXsgMywJVER8VEYsCXN5c19zeW1saW5rYXQsCQkic3ltbGlua2F0Igl9LCAvKiAyNjYgKi8KKwl7IDQsCVREfFRGLAlzeXNfcmVhZGxpbmthdCwJCSJyZWFkbGlua2F0Igl9LCAvKiAyNjcgKi8KKwl7IDMsCVREfFRGLAlzeXNfZmNobW9kYXQsCQkiZmNobW9kYXQiCX0sIC8qIDI2OCAqLworCXsgMywJVER8VEYsCXN5c19mYWNjZXNzYXQsCQkiZmFjY2Vzc2F0Igl9LCAvKiAyNjkgKi8KKwl7IDYsCVRELAlzeXNfcHNlbGVjdDYsCQkicHNlbGVjdDYiCX0sIC8qIDI3MCAqLworCXsgNSwJVEQsCXN5c19wcG9sbCwJCSJwcG9sbCIJCX0sIC8qIDI3MSAqLworCXsgMSwJVFAsCXN5c191bnNoYXJlLAkJInVuc2hhcmUiCX0sIC8qIDI3MiAqLworCXsgMiwJMCwJcHJpbnRhcmdzLAkJInNldF9yb2J1c3RfbGlzdCIgfSwgLyogMjczICovCisJeyAzLAkwLAlwcmludGFyZ3MsCQkiZ2V0X3JvYnVzdF9saXN0IiB9LCAvKiAyNzQgKi8KKwl7IDYsCVRELAlwcmludGFyZ3MsCQkic3BsaWNlIgl9LCAvKiAyNzUgKi8KKwl7IDQsCVRELAlwcmludGFyZ3MsCQkidGVlIgkJfSwgLyogMjc2ICovCisJeyA0LAlURCwJcHJpbnRhcmdzLAkJInN5bmNfZmlsZV9yYW5nZSIgfSwgLyogMjc3ICovCisJeyA0LAlURCwJcHJpbnRhcmdzLAkJInZtc3BsaWNlIgl9LCAvKiAyNzggKi8KKwl7IDYsCTAsCXN5c19tb3ZlX3BhZ2VzLAkJIm1vdmVfcGFnZXMiCX0sIC8qIDI3OSAqLworCXsgNCwJVER8VEYsCXN5c191dGltZW5zYXQsCQkidXRpbWVuc2F0Igl9LCAvKiAyODAgKi8KKwl7IDUsCVRELAlzeXNfZXBvbGxfcHdhaXQsCSJlcG9sbF9wd2FpdCIJfSwgLyogMjgxICovCisJeyAzLAlURHxUUywJc3lzX3NpZ25hbGZkLAkJInNpZ25hbGZkIgl9LCAvKiAyODIgKi8KKwl7IDIsCVRELAlzeXNfdGltZXJmZF9jcmVhdGUsCSJ0aW1lcmZkX2NyZWF0ZSJ9LCAvKiAyODMgKi8KKwl7IDEsCVRELAlzeXNfZXZlbnRmZCwJCSJldmVudGZkIgl9LCAvKiAyODQgKi8KKwl7IDYsCVRGLAlzeXNfZmFsbG9jYXRlLAkJImZhbGxvY2F0ZSIJfSwgLyogMjg1ICovCisJeyA0LAlURCwJc3lzX3RpbWVyZmRfc2V0dGltZSwJInRpbWVyZmRfc2V0dGltZSJ9LCAvKiAyODYgKi8KKwl7IDIsCVRELAlzeXNfdGltZXJmZF9nZXR0aW1lLAkidGltZXJmZF9nZXR0aW1lIn0sIC8qIDI4NyAqLworCXsgNCwJVE4sCXN5c19hY2NlcHQ0LAkJImFjY2VwdDQiCX0sIC8qIDI4OCAqLworCXsgNCwJVER8VFMsCXN5c19zaWduYWxmZDQsCQkic2lnbmFsZmQ0Igl9LCAvKiAyODkgKi8KKwl7IDIsCVRELAlzeXNfZXZlbnRmZDIsCQkiZXZlbnRmZDIiCX0sIC8qIDI5MCAqLworCXsgMSwJMCwJc3lzX2Vwb2xsX2NyZWF0ZTEsCSJlcG9sbF9jcmVhdGUxIgl9LCAvKiAyOTEgKi8KKwl7IDMsCVRELAlzeXNfZHVwMywJCSJkdXAzIgkJfSwgLyogMjkyICovCisJeyAyLAlURCwJc3lzX3BpcGUyLAkJInBpcGUyIgkJfSwgLyogMjkzICovCisJeyAxLAlURCwJc3lzX2lub3RpZnlfaW5pdDEsCSJpbm90aWZ5X2luaXQxIgl9LCAvKiAyOTQgKi8KKwl7IDUsCVRELAlwcmludGFyZ3MsCQkicHJlYWR2Igl9LCAvKiAyOTUgKi8KKwl7IDUsCVRELAlwcmludGFyZ3MsCQkicHdyaXRldiIJfSwgLyogMjk2ICovCisJeyA0LAlUUHxUUywJcHJpbnRhcmdzLAkJInJ0X3Rnc2lncXVldWVpbmZvIn0sIC8qIDI5NyAqLworCXsgNSwJVEQsCXByaW50YXJncywJCSJwZXJmX2V2ZW50X29wZW4ifSwgLyogMjk4ICovCisJeyA1LAlUTiwJc3lzX3JlY3ZtbXNnLAkJInJlY3ZtbXNnIgl9LCAvKiAyOTkgKi8KZGlmZiAtLWdpdCBhL3N0cmFjZS00LjUuMjAvbGludXgveDg2XzY0L3N5c2NhbGxlbnQxLmggYi9zdHJhY2UtNC41LjIwL2xpbnV4L3g4Nl82NC9zeXNjYWxsZW50MS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkwOTc3ODUKLS0tIC9kZXYvbnVsbAorKysgYi9zdHJhY2UtNC41LjIwL2xpbnV4L3g4Nl82NC9zeXNjYWxsZW50MS5oCkBAIC0wLDAgKzEsNyBAQAorLyogT3VyIHNlY29uZCBzZXQgY29tZXMgZnJvbSB0aGUgaTM4NiBmaWxlcy4KKyAgIE9ubHkgYSBjb3VwbGUgb2YgY2FsbHMgd2UgY2Fubm90IHN1cHBvcnQgd2l0aG91dCB0aGUgaTM4NiBoZWFkZXJzLiAgKi8KKworI2RlZmluZSBzeXNfb2xkc3RhdCBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX29sZGZzdGF0IHByaW50YXJncworI2RlZmluZSBzeXNfb2xkbHN0YXQgcHJpbnRhcmdzCisjaW5jbHVkZSAiaTM4Ni9zeXNjYWxsZW50LmgiCmRpZmYgLS1naXQgYS9zdHJhY2UtNC41LjIwL21lbS5jIGIvc3RyYWNlLTQuNS4yMC9tZW0uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNTVjZDY5Ci0tLSAvZGV2L251bGwKKysrIGIvc3RyYWNlLTQuNS4yMC9tZW0uYwpAQCAtMCwwICsxLDk4NiBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMTk5MSwgMTk5MiBQYXVsIEtyYW5lbmJ1cmcgPHBrQGNzLmZldy5ldXIubmw+CisgKiBDb3B5cmlnaHQgKGMpIDE5OTMgQnJhbmtvIExhbmtlc3RlciA8YnJhbmtvQGhhY2t0aWMubmw+CisgKiBDb3B5cmlnaHQgKGMpIDE5OTMsIDE5OTQsIDE5OTUsIDE5OTYgUmljayBTbGFka2V5IDxqcnNAd29ybGQuc3RkLmNvbT4KKyAqIENvcHlyaWdodCAoYykgMTk5Ni0xOTk5IFdpY2hlcnQgQWtrZXJtYW4gPHdpY2hlcnRAY2lzdHJvbi5ubD4KKyAqIENvcHlyaWdodCAoYykgMjAwMCBQb2NrZXRQZW5ndWlucyBJbmMuICBMaW51eCBmb3IgSGl0YWNoaSBTdXBlckgKKyAqICAgICAgICAgICAgICAgICAgICBwb3J0IGJ5IEdyZWcgQmFua3MgPGdiYW5rc0Bwb2NrZXRwZW5ndWlucy5jb20+CisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gVGhlIG5hbWUgb2YgdGhlIGF1dGhvciBtYXkgbm90IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzCisgKiAgICBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBBVVRIT1IgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUyBPUgorICogSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUworICogT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4KKyAqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKKyAqIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVAorICogTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKgorICoJJElkJAorICovCisKKyNpbmNsdWRlICJkZWZzLmgiCisKKyNpZmRlZiBMSU5VWAorI2luY2x1ZGUgPGFzbS9tbWFuLmg+CisjZW5kaWYKKyNpbmNsdWRlIDxzeXMvbW1hbi5oPgorCisjaWYgZGVmaW5lZChMSU5VWCkgJiYgZGVmaW5lZChJMzg2KQorI2luY2x1ZGUgPGFzbS9sZHQuaD4KKyMgaWZkZWYgSEFWRV9TVFJVQ1RfVVNFUl9ERVNDCisjICBkZWZpbmUgbW9kaWZ5X2xkdF9sZHRfcyB1c2VyX2Rlc2MKKyMgZW5kaWYKKyNlbmRpZgorI2lmIGRlZmluZWQoTElOVVgpICYmIGRlZmluZWQoU0g2NCkKKyNpbmNsdWRlIDxhc20vcGFnZS5oPgkgICAgLyogZm9yIFBBR0VfU0hJRlQgKi8KKyNlbmRpZgorCisjaWZkZWYgSEFWRV9MT05HX0xPTkdfT0ZGX1QKKy8qCisgKiBVZ2x5IGhhY2tzIGZvciBzeXN0ZW1zIHRoYXQgaGF2ZSBhIGxvbmcgbG9uZyBvZmZfdAorICovCisjZGVmaW5lIHN5c19tbWFwNjQJc3lzX21tYXAKKyNlbmRpZgorCitpbnQKK3N5c19icmsodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXRwcmludGYoIiUjbHgiLCB0Y3AtPnVfYXJnWzBdKTsKKwl9CisjaWZkZWYgTElOVVgKKwlyZXR1cm4gUlZBTF9IRVg7CisjZWxzZQorCXJldHVybiAwOworI2VuZGlmCit9CisKKyNpZiBkZWZpbmVkKEZSRUVCU0QpIHx8IGRlZmluZWQoU1VOT1M0KQoraW50CitzeXNfc2Jyayh0Y3ApCitzdHJ1Y3QgdGNiICp0Y3A7Cit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJdHByaW50ZigiJWx1IiwgdGNwLT51X2FyZ1swXSk7CisJfQorCXJldHVybiBSVkFMX0hFWDsKK30KKyNlbmRpZiAvKiBGUkVFQlNEIHx8IFNVTk9TNCAqLworCitzdGF0aWMgY29uc3Qgc3RydWN0IHhsYXQgbW1hcF9wcm90W10gPSB7CisJeyBQUk9UX05PTkUsCSJQUk9UX05PTkUiLAl9LAorCXsgUFJPVF9SRUFELAkiUFJPVF9SRUFEIgl9LAorCXsgUFJPVF9XUklURSwJIlBST1RfV1JJVEUiCX0sCisJeyBQUk9UX0VYRUMsCSJQUk9UX0VYRUMiCX0sCisjaWZkZWYgUFJPVF9TRU0KKwl7IFBST1RfU0VNLAkiUFJPVF9TRU0iCX0sCisjZW5kaWYKKyNpZmRlZiBQUk9UX0dST1dTRE9XTgorCXsgUFJPVF9HUk9XU0RPV04sIlBST1RfR1JPV1NET1dOIn0sCisjZW5kaWYKKyNpZmRlZiBQUk9UX0dST1dTVVAKKwl7IFBST1RfR1JPV1NVUCwgIlBST1RfR1JPV1NVUCIJfSwKKyNlbmRpZgorI2lmZGVmIFBST1RfU0FPCisJeyBQUk9UX1NBTywJIlBST1RfU0FPIgl9LAorI2VuZGlmCisJeyAwLAkJTlVMTAkJfSwKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCBtbWFwX2ZsYWdzW10gPSB7CisJeyBNQVBfU0hBUkVELAkiTUFQX1NIQVJFRCIJfSwKKwl7IE1BUF9QUklWQVRFLAkiTUFQX1BSSVZBVEUiCX0sCisJeyBNQVBfRklYRUQsCSJNQVBfRklYRUQiCX0sCisjaWZkZWYgTUFQX0FOT05ZTU9VUworCXsgTUFQX0FOT05ZTU9VUywiTUFQX0FOT05ZTU9VUyIJfSwKKyNlbmRpZgorI2lmZGVmIE1BUF8zMkJJVAorCXsgTUFQXzMyQklULAkiTUFQXzMyQklUIgl9LAorI2VuZGlmCisjaWZkZWYgTUFQX1JFTkFNRQorCXsgTUFQX1JFTkFNRSwJIk1BUF9SRU5BTUUiCX0sCisjZW5kaWYKKyNpZmRlZiBNQVBfTk9SRVNFUlZFCisJeyBNQVBfTk9SRVNFUlZFLCJNQVBfTk9SRVNFUlZFIgl9LAorI2VuZGlmCisjaWZkZWYgTUFQX1BPUFVMQVRFCisJeyBNQVBfUE9QVUxBVEUsICJNQVBfUE9QVUxBVEUiIH0sCisjZW5kaWYKKyNpZmRlZiBNQVBfTk9OQkxPQ0sKKwl7IE1BUF9OT05CTE9DSywgIk1BUF9OT05CTE9DSyIgfSwKKyNlbmRpZgorCS8qCisJICogWFhYIC0gdGhpcyB3YXMgaW50cm9kdWNlZCBpbiBTdW5PUyA0LnggdG8gZGlzdGluZ3Vpc2ggYmV0d2VlbgorCSAqIHRoZSBvbGQgcHJlLTQueCAibW1hcCgpIiwgd2hpY2g6CisJICoKKwkgKglvbmx5IGxldCB5b3UgbWFwIGRldmljZXMgd2l0aCBhbiAibW1hcCIgcm91dGluZSAoZS5nLiwKKwkgKglmcmFtZSBidWZmZXJzKSBpbjsKKwkgKgorCSAqCXJlcXVpcmVkIHlvdSB0byBzcGVjaWZ5IHRoZSBtYXBwaW5nIGFkZHJlc3M7CisJICoKKwkgKglyZXR1cm5lZCAwIG9uIHN1Y2Nlc3MgYW5kIC0xIG9uIGZhaWx1cmU7CisJICoKKwkgKiBtZW1vcnkgYW5kIHdoaWNoLCBhbmQgdGhlIDQueCAibW1hcCgpIiB3aGljaDoKKwkgKgorCSAqCWNhbiBtYXAgcGxhaW4gZmlsZXM7CisJICoKKwkgKgljYW4gYmUgYXNrZWQgdG8gcGljayB3aGVyZSB0byBtYXAgdGhlIGZpbGU7CisJICoKKwkgKglyZXR1cm5zIHRoZSBhZGRyZXNzIHdoZXJlIGl0IG1hcHBlZCB0aGUgZmlsZSBvbiBzdWNjZXNzCisJICoJYW5kIC0xIG9uIGZhaWx1cmUuCisJICoKKwkgKiBJdCdzIG5vdCBhY3R1YWxseSB1c2VkIGluIHNvdXJjZSBjb2RlIHRoYXQgY2FsbHMgIm1tYXAoKSI7IHRoZQorCSAqICJtbWFwKCkiIHJvdXRpbmUgYWRkcyBpdCBmb3IgeW91LgorCSAqCisJICogSXQnZCBiZSBuaWNlIHRvIGNvbWUgdXAgd2l0aCBzb21lIHdheSBvZiBlbGltaW5hdGluZyBpdCBmcm9tCisJICogdGhlIGZsYWdzLCBlLmcuIHJlcG9ydGluZyBjYWxscyAqd2l0aG91dCogaXQgYXMgIm9sZF9tbWFwKCkiCisJICogYW5kIGNhbGxzIHdpdGggaXQgYXMgIm1tYXAoKSIuCisJICovCisjaWZkZWYgX01BUF9ORVcKKwl7IF9NQVBfTkVXLAkiX01BUF9ORVciCX0sCisjZW5kaWYKKyNpZmRlZiBNQVBfR1JPV1NET1dOCisJeyBNQVBfR1JPV1NET1dOLCJNQVBfR1JPV1NET1dOIgl9LAorI2VuZGlmCisjaWZkZWYgTUFQX0RFTllXUklURQorCXsgTUFQX0RFTllXUklURSwiTUFQX0RFTllXUklURSIJfSwKKyNlbmRpZgorI2lmZGVmIE1BUF9FWEVDVVRBQkxFCisJeyBNQVBfRVhFQ1VUQUJMRSwiTUFQX0VYRUNVVEFCTEUifSwKKyNlbmRpZgorI2lmZGVmIE1BUF9JTkhFUklUCisJeyBNQVBfSU5IRVJJVCwiTUFQX0lOSEVSSVQiCX0sCisjZW5kaWYKKyNpZmRlZiBNQVBfRklMRQorCXsgTUFQX0ZJTEUsIk1BUF9GSUxFIn0sCisjZW5kaWYKKyNpZmRlZiBNQVBfTE9DS0VECisJeyBNQVBfTE9DS0VELCJNQVBfTE9DS0VEIn0sCisjZW5kaWYKKwkvKiBGcmVlQlNEIG9uZXMgKi8KKyNpZmRlZiBNQVBfQU5PTgorCXsgTUFQX0FOT04sCQkiTUFQX0FOT04iCX0sCisjZW5kaWYKKyNpZmRlZiBNQVBfSEFTU0VNQVBIT1JFCisJeyBNQVBfSEFTU0VNQVBIT1JFLAkiTUFQX0hBU1NFTUFQSE9SRSIJfSwKKyNlbmRpZgorI2lmZGVmIE1BUF9TVEFDSworCXsgTUFQX1NUQUNLLAkJIk1BUF9TVEFDSyIJfSwKKyNlbmRpZgorI2lmZGVmIE1BUF9OT1NZTkMKKwl7IE1BUF9OT1NZTkMsCQkiTUFQX05PU1lOQyIJfSwKKyNlbmRpZgorI2lmZGVmIE1BUF9OT0NPUkUKKwl7IE1BUF9OT0NPUkUsCQkiTUFQX05PQ09SRSIJfSwKKyNlbmRpZgorI2lmZGVmIFRJTEUKKwl7IE1BUF9DQUNIRV9OT19MT0NBTCwgIk1BUF9DQUNIRV9OT19MT0NBTCIgfSwKKwl7IE1BUF9DQUNIRV9OT19MMiwgIk1BUF9DQUNIRV9OT19MMiIgfSwKKwl7IE1BUF9DQUNIRV9OT19MMSwgIk1BUF9DQUNIRV9OT19MMSIgfSwKKyNlbmRpZgorCXsgMCwJCU5VTEwJCX0sCit9OworCisjaWZkZWYgVElMRQorc3RhdGljCitpbnQKK2FkZHRpbGVmbGFncyhmbGFncykKK2xvbmcgZmxhZ3M7Cit7CisJbG9uZyBob21lID0gZmxhZ3MgJiBfTUFQX0NBQ0hFX01LSE9NRShfTUFQX0NBQ0hFX0hPTUVfTUFTSyk7CisJZmxhZ3MgJj0gfl9NQVBfQ0FDSEVfTUtIT01FKF9NQVBfQ0FDSEVfSE9NRV9NQVNLKTsKKworCWlmIChmbGFncyAmIF9NQVBfQ0FDSEVfSU5DT0hFUkVOVCkgeworCQlmbGFncyAmPSB+X01BUF9DQUNIRV9JTkNPSEVSRU5UOworCQlpZiAoaG9tZSA9PSBNQVBfQ0FDSEVfSE9NRV9OT05FKSB7CisJCQl0cHJpbnRmKCJ8TUFQX0NBQ0hFX0lOQ09IRVJFTlQiKTsKKwkJCXJldHVybiBmbGFnczsKKwkJfQorCQl0cHJpbnRmKCJ8X01BUF9DQUNIRV9JTkNPSEVSRU5UIik7CisJfQorCisJc3dpdGNoIChob21lKSB7CisJY2FzZSAwOglicmVhazsKKwljYXNlIE1BUF9DQUNIRV9IT01FX0hFUkU6IHRwcmludGYoInxNQVBfQ0FDSEVfSE9NRV9IRVJFIik7IGJyZWFrOworCWNhc2UgTUFQX0NBQ0hFX0hPTUVfTk9ORTogdHByaW50ZigifE1BUF9DQUNIRV9IT01FX05PTkUiKTsgYnJlYWs7CisJY2FzZSBNQVBfQ0FDSEVfSE9NRV9TSU5HTEU6IHRwcmludGYoInxNQVBfQ0FDSEVfSE9NRV9TSU5HTEUiKTsgYnJlYWs7CisJY2FzZSBNQVBfQ0FDSEVfSE9NRV9UQVNLOiB0cHJpbnRmKCJ8TUFQX0NBQ0hFX0hPTUVfVEFTSyIpOyBicmVhazsKKwljYXNlIE1BUF9DQUNIRV9IT01FX0hBU0g6IHRwcmludGYoInxNQVBfQ0FDSEVfSE9NRV9IQVNIIik7IGJyZWFrOworCWRlZmF1bHQ6CisJCXRwcmludGYoInxNQVBfQ0FDSEVfSE9NRSglZCkiLAorCQkJKGhvbWUgPj4gX01BUF9DQUNIRV9IT01FX1NISUZUKSApOworCQlicmVhazsKKwl9CisKKwlyZXR1cm4gZmxhZ3M7Cit9CisjZW5kaWYKKworI2lmICFIQVZFX0xPTkdfTE9OR19PRkZfVAorc3RhdGljCitpbnQKK3ByaW50X21tYXAodGNwLHVfYXJnLCBvZmZzZXQpCitzdHJ1Y3QgdGNiICp0Y3A7Citsb25nICp1X2FyZzsKK2xvbmcgbG9uZyBvZmZzZXQ7Cit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJLyogYWRkciAqLworCQlpZiAoIXVfYXJnWzBdKQorCQkJdHByaW50ZigiTlVMTCwgIik7CisJCWVsc2UKKwkJCXRwcmludGYoIiUjbHgsICIsIHVfYXJnWzBdKTsKKwkJLyogbGVuICovCisJCXRwcmludGYoIiVsdSwgIiwgdV9hcmdbMV0pOworCQkvKiBwcm90ICovCisJCXByaW50ZmxhZ3MobW1hcF9wcm90LCB1X2FyZ1syXSwgIlBST1RfPz8/Iik7CisJCXRwcmludGYoIiwgIik7CisJCS8qIGZsYWdzICovCisjaWZkZWYgTUFQX1RZUEUKKwkJcHJpbnR4dmFsKG1tYXBfZmxhZ3MsIHVfYXJnWzNdICYgTUFQX1RZUEUsICJNQVBfPz8/Iik7CisjaWZkZWYgVElMRQorCQlhZGRmbGFncyhtbWFwX2ZsYWdzLCBhZGR0aWxlZmxhZ3ModV9hcmdbM10gJiB+TUFQX1RZUEUpKTsKKyNlbHNlCisJCWFkZGZsYWdzKG1tYXBfZmxhZ3MsIHVfYXJnWzNdICYgfk1BUF9UWVBFKTsKKyNlbmRpZgorI2Vsc2UKKwkJcHJpbnRmbGFncyhtbWFwX2ZsYWdzLCB1X2FyZ1szXSwgIk1BUF8/Pz8iKTsKKyNlbmRpZgorCQkvKiBmZCAoaXMgYWx3YXlzIGludCwgbm90IGxvbmcpICovCisJCXRwcmludGYoIiwgJWQsICIsIChpbnQpdV9hcmdbNF0pOworCQkvKiBvZmZzZXQgKi8KKwkJdHByaW50ZigiJSNsbHgiLCBvZmZzZXQpOworCX0KKwlyZXR1cm4gUlZBTF9IRVg7Cit9CisKKyNpZmRlZiBMSU5VWAoraW50IHN5c19vbGRfbW1hcCh0Y3ApCitzdHJ1Y3QgdGNiICp0Y3A7Cit7CisJbG9uZyB1X2FyZ1s2XTsKKworI2lmCWRlZmluZWQoSUE2NCkKKwlpbnQgaSwgdjsKKwkvKgorCSAqICBJQTY0IHByb2Nlc3NlcyBuZXZlciBjYWxsIHRoaXMgcm91dGluZSwgdGhleSBvbmx5IHVzZSB0aGUKKwkgKiAgbmV3IGBzeXNfbW1hcCcgaW50ZXJmYWNlLiAgVGhpcyBjb2RlIGNvbnZlcnRzIHRoZSBpbnRlZ2VyCisJICogIGFyZ3VtZW50cyB0aGF0IHRoZSBJQTMyIHByb2Nlc3MgcHVzaGVkIG9udG8gdGhlIHN0YWNrIGludG8KKwkgKiAgbG9uZ3MuCisJICoKKwkgKiAgTm90ZSB0aGF0IGFkZHJlc3NlcyB3aXRoIGJpdCAzMSBzZXQgd2lsbCBiZSBzaWduIGV4dGVuZGVkLgorCSAqICBGb3J0dW5hdGVseSwgdGhvc2UgYWRkcmVzc2VzIGFyZSBub3QgY3VycmVudGx5IGJlaW5nIGdlbmVyYXRlZAorCSAqICBmb3IgSUEzMiBwcm9jZXNzZXMgc28gaXQncyBub3QgYSBwcm9ibGVtLgorCSAqLworCWZvciAoaSA9IDA7IGkgPCA2OyBpKyspCisJCWlmICh1bW92ZSh0Y3AsIHRjcC0+dV9hcmdbMF0gKyAoaSAqIHNpemVvZihpbnQpKSwgJnYpID09IC0xKQorCQkJcmV0dXJuIDA7CisJCWVsc2UKKwkJCXVfYXJnW2ldID0gdjsKKyNlbGlmIGRlZmluZWQoU0gpIHx8IGRlZmluZWQoU0g2NCkKKwkvKiBTSCBoYXMgYWx3YXlzIHBhc3NlZCB0aGUgYXJncyBpbiByZWdpc3RlcnMgKi8KKwlpbnQgaTsKKwlmb3IgKGk9MDsgaTw2OyBpKyspCisJCXVfYXJnW2ldID0gdGNwLT51X2FyZ1tpXTsKKyNlbHNlCisjIGlmIGRlZmluZWQoWDg2XzY0KQorCWlmIChjdXJyZW50X3BlcnNvbmFsaXR5ID09IDEpIHsKKwkJaW50IGk7CisJCWZvciAoaSA9IDA7IGkgPCA2OyArK2kpIHsKKwkJCXVuc2lnbmVkIGludCB2YWw7CisJCQlpZiAodW1vdmUodGNwLCB0Y3AtPnVfYXJnWzBdICsgaSAqIDQsICZ2YWwpID09IC0xKQorCQkJCXJldHVybiAwOworCQkJdV9hcmdbaV0gPSB2YWw7CisJCX0KKwl9CisJZWxzZQorIyBlbmRpZgorCWlmICh1bW92ZW4odGNwLCB0Y3AtPnVfYXJnWzBdLCBzaXplb2YgdV9hcmcsIChjaGFyICopIHVfYXJnKSA9PSAtMSkKKwkJcmV0dXJuIDA7CisjZW5kaWYJLy8gZGVmaW5lZChJQTY0KQorCXJldHVybiBwcmludF9tbWFwKHRjcCwgdV9hcmcsIHVfYXJnWzVdKTsKK30KKyNlbmRpZgorCitpbnQKK3N5c19tbWFwKHRjcCkKK3N0cnVjdCB0Y2IgKnRjcDsKK3sKKwlsb25nIGxvbmcgb2Zmc2V0ID0gdGNwLT51X2FyZ1s1XTsKKworI2lmIGRlZmluZWQoTElOVVgpICYmIGRlZmluZWQoU0g2NCkKKwkvKgorCSAqIE9sZCBtbWFwIGRpZmZlcnMgZnJvbSBuZXcgbW1hcCBpbiBzcGVjaWZ5aW5nIHRoZQorCSAqIG9mZnNldCBpbiB1bml0cyBvZiBieXRlcyByYXRoZXIgdGhhbiBwYWdlcy4gIFdlCisJICogcHJldGVuZCBpdCdzIGluIGJ5dGUgdW5pdHMgc28gdGhlIHVzZXIgb25seSBldmVyCisJICogc2VlcyBieXRlcyBpbiB0aGUgcHJpbnRvdXQuCisJICovCisJb2Zmc2V0IDw8PSBQQUdFX1NISUZUOworI2VuZGlmCisjaWYgZGVmaW5lZChMSU5VWF9NSVBTTjMyKQorCW9mZnNldCA9IHRjcC0+ZXh0X2FyZ1s1XTsKKyNlbmRpZgorCXJldHVybiBwcmludF9tbWFwKHRjcCwgdGNwLT51X2FyZywgb2Zmc2V0KTsKK30KKyNlbmRpZiAvKiAhSEFWRV9MT05HX0xPTkdfT0ZGX1QgKi8KKworI2lmIF9MRlM2NF9MQVJHRUZJTEUgfHwgSEFWRV9MT05HX0xPTkdfT0ZGX1QKK2ludAorc3lzX21tYXA2NCh0Y3ApCitzdHJ1Y3QgdGNiICp0Y3A7Cit7CisjaWZkZWYgbGludXgKKyNpZmRlZiBBTFBIQQorCWxvbmcgKnVfYXJnID0gdGNwLT51X2FyZzsKKyNlbHNlIC8qICFBTFBIQSAqLworCWxvbmcgdV9hcmdbN107CisjZW5kaWYgLyogIUFMUEhBICovCisjZWxzZSAvKiAhbGludXggKi8KKwlsb25nICp1X2FyZyA9IHRjcC0+dV9hcmc7CisjZW5kaWYgLyogIWxpbnV4ICovCisKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworI2lmZGVmIGxpbnV4CisjaWZuZGVmIEFMUEhBCisJCWlmICh1bW92ZW4odGNwLCB0Y3AtPnVfYXJnWzBdLCBzaXplb2YgdV9hcmcsCisJCQkJKGNoYXIgKikgdV9hcmcpID09IC0xKQorCQkJcmV0dXJuIDA7CisjZW5kaWYgLyogQUxQSEEgKi8KKyNlbmRpZiAvKiBsaW51eCAqLworCisJCS8qIGFkZHIgKi8KKwkJdHByaW50ZigiJSNseCwgIiwgdV9hcmdbMF0pOworCQkvKiBsZW4gKi8KKwkJdHByaW50ZigiJWx1LCAiLCB1X2FyZ1sxXSk7CisJCS8qIHByb3QgKi8KKwkJcHJpbnRmbGFncyhtbWFwX3Byb3QsIHVfYXJnWzJdLCAiUFJPVF8/Pz8iKTsKKwkJdHByaW50ZigiLCAiKTsKKwkJLyogZmxhZ3MgKi8KKyNpZmRlZiBNQVBfVFlQRQorCQlwcmludHh2YWwobW1hcF9mbGFncywgdV9hcmdbM10gJiBNQVBfVFlQRSwgIk1BUF8/Pz8iKTsKKwkJYWRkZmxhZ3MobW1hcF9mbGFncywgdV9hcmdbM10gJiB+TUFQX1RZUEUpOworI2Vsc2UKKwkJcHJpbnRmbGFncyhtbWFwX2ZsYWdzLCB1X2FyZ1szXSwgIk1BUF8/Pz8iKTsKKyNlbmRpZgorCQkvKiBmZCAqLworCQl0cHJpbnRmKCIsICVsZCwgIiwgdV9hcmdbNF0pOworCQkvKiBvZmZzZXQgKi8KKwkJcHJpbnRsbHZhbCh0Y3AsICIlI2xseCIsIDUpOworCX0KKwlyZXR1cm4gUlZBTF9IRVg7Cit9CisjZW5kaWYKKworCitpbnQKK3N5c19tdW5tYXAodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXRwcmludGYoIiUjbHgsICVsdSIsCisJCQl0Y3AtPnVfYXJnWzBdLCB0Y3AtPnVfYXJnWzFdKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK2ludAorc3lzX21wcm90ZWN0KHRjcCkKK3N0cnVjdCB0Y2IgKnRjcDsKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQl0cHJpbnRmKCIlI2x4LCAlbHUsICIsCisJCQl0Y3AtPnVfYXJnWzBdLCB0Y3AtPnVfYXJnWzFdKTsKKwkJcHJpbnRmbGFncyhtbWFwX3Byb3QsIHRjcC0+dV9hcmdbMl0sICJQUk9UXz8/PyIpOworCX0KKwlyZXR1cm4gMDsKK30KKworI2lmZGVmIExJTlVYCisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCBtcmVtYXBfZmxhZ3NbXSA9IHsKKwl7IE1SRU1BUF9NQVlNT1ZFLAkiTVJFTUFQX01BWU1PVkUiCX0sCisjaWZkZWYgTVJFTUFQX0ZJWEVECisJeyBNUkVNQVBfRklYRUQsCQkiTVJFTUFQX0ZJWEVEIgkJfSwKKyNlbmRpZgorCXsgMCwJCQlOVUxMCQkJfQorfTsKKworaW50CitzeXNfbXJlbWFwKHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQl0cHJpbnRmKCIlI2x4LCAlbHUsICVsdSwgIiwgdGNwLT51X2FyZ1swXSwgdGNwLT51X2FyZ1sxXSwKKwkJCXRjcC0+dV9hcmdbMl0pOworCQlwcmludGZsYWdzKG1yZW1hcF9mbGFncywgdGNwLT51X2FyZ1szXSwgIk1SRU1BUF8/Pz8iKTsKKyNpZmRlZiBNUkVNQVBfRklYRUQKKwkJaWYgKCh0Y3AtPnVfYXJnWzNdICYgKE1SRU1BUF9NQVlNT1ZFIHwgTVJFTUFQX0ZJWEVEKSkgPT0KKwkJICAgIChNUkVNQVBfTUFZTU9WRSB8IE1SRU1BUF9GSVhFRCkpCisJCQl0cHJpbnRmKCIsICUjbHgiLCB0Y3AtPnVfYXJnWzRdKTsKKyNlbmRpZgorCX0KKwlyZXR1cm4gUlZBTF9IRVg7Cit9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCBtYWR2aXNlX2NtZHNbXSA9IHsKKyNpZmRlZiBNQURWX05PUk1BTAorCXsgTUFEVl9OT1JNQUwsCQkiTUFEVl9OT1JNQUwiIH0sCisjZW5kaWYKKyNpZmRlZiBNQURWX1JBTkRPTQorCXsgTUFEVl9SQU5ET00sCQkiTUFEVl9SQU5ET00iIH0sCisjZW5kaWYKKyNpZmRlZiBNQURWX1NFUVVFTlRJQUwKKwl7IE1BRFZfU0VRVUVOVElBTCwJIk1BRFZfU0VRVUVOVElBTCIgfSwKKyNlbmRpZgorI2lmZGVmIE1BRFZfV0lMTE5FRUQKKwl7IE1BRFZfV0lMTE5FRUQsCSJNQURWX1dJTExORUVEIiB9LAorI2VuZGlmCisjaWZkZWYgTUFEVl9ET05UTkVFRAorCXsgTUFEVl9ET05UTkVFRCwJIk1BRFZfRE9OVE5FRUQiIH0sCisjZW5kaWYKKwl7IDAsCQkJTlVMTCB9LAorfTsKKworCitpbnQKK3N5c19tYWR2aXNlKHRjcCkKK3N0cnVjdCB0Y2IgKnRjcDsKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQl0cHJpbnRmKCIlI2x4LCAlbHUsICIsIHRjcC0+dV9hcmdbMF0sIHRjcC0+dV9hcmdbMV0pOworCQlwcmludHh2YWwobWFkdmlzZV9jbWRzLCB0Y3AtPnVfYXJnWzJdLCAiTUFEVl8/Pz8iKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKKworc3RhdGljIGNvbnN0IHN0cnVjdCB4bGF0IG1sb2NrYWxsX2ZsYWdzW10gPSB7CisjaWZkZWYgTUNMX0NVUlJFTlQKKwl7IE1DTF9DVVJSRU5ULAkiTUNMX0NVUlJFTlQiIH0sCisjZW5kaWYKKyNpZmRlZiBNQ0xfRlVUVVJFCisJeyBNQ0xfRlVUVVJFLAkiTUNMX0ZVVFVSRSIgfSwKKyNlbmRpZgorCXsgMCwJCU5VTEx9Cit9OworCitpbnQKK3N5c19tbG9ja2FsbCh0Y3ApCitzdHJ1Y3QgdGNiICp0Y3A7Cit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJcHJpbnRmbGFncyhtbG9ja2FsbF9mbGFncywgdGNwLT51X2FyZ1swXSwgIk1DTF8/Pz8iKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKKworI2VuZGlmIC8qIExJTlVYICovCisKKyNpZmRlZiBNU19BU1lOQworCitzdGF0aWMgY29uc3Qgc3RydWN0IHhsYXQgbWN0bF9zeW5jW10gPSB7CisjaWZkZWYgTVNfU1lOQworCXsgTVNfU1lOQywJIk1TX1NZTkMiCX0sCisjZW5kaWYKKwl7IE1TX0FTWU5DLAkiTVNfQVNZTkMiCX0sCisJeyBNU19JTlZBTElEQVRFLCJNU19JTlZBTElEQVRFIgl9LAorCXsgMCwJCU5VTEwJCX0sCit9OworCitpbnQKK3N5c19tc3luYyh0Y3ApCitzdHJ1Y3QgdGNiICp0Y3A7Cit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJLyogYWRkciAqLworCQl0cHJpbnRmKCIlI2x4IiwgdGNwLT51X2FyZ1swXSk7CisJCS8qIGxlbiAqLworCQl0cHJpbnRmKCIsICVsdSwgIiwgdGNwLT51X2FyZ1sxXSk7CisJCS8qIGZsYWdzICovCisJCXByaW50ZmxhZ3MobWN0bF9zeW5jLCB0Y3AtPnVfYXJnWzJdLCAiTVNfPz8/Iik7CisJfQorCXJldHVybiAwOworfQorCisjZW5kaWYgLyogTVNfQVNZTkMgKi8KKworI2lmZGVmIE1DX1NZTkMKKworc3RhdGljIGNvbnN0IHN0cnVjdCB4bGF0IG1jdGxfZnVuY3NbXSA9IHsKKwl7IE1DX0xPQ0ssCSJNQ19MT0NLIgl9LAorCXsgTUNfTE9DS0FTLAkiTUNfTE9DS0FTIgl9LAorCXsgTUNfU1lOQywJIk1DX1NZTkMiCX0sCisJeyBNQ19VTkxPQ0ssCSJNQ19VTkxPQ0siCX0sCisJeyBNQ19VTkxPQ0tBUywJIk1DX1VOTE9DS0FTIgl9LAorCXsgMCwJCU5VTEwJCX0sCit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IHhsYXQgbWN0bF9sb2NrYXNbXSA9IHsKKwl7IE1DTF9DVVJSRU5ULAkiTUNMX0NVUlJFTlQiCX0sCisJeyBNQ0xfRlVUVVJFLAkiTUNMX0ZVVFVSRSIJfSwKKwl7IDAsCQlOVUxMCQl9LAorfTsKKworaW50CitzeXNfbWN0bCh0Y3ApCitzdHJ1Y3QgdGNiICp0Y3A7Cit7CisJaW50IGFyZywgZnVuY3Rpb247CisKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQkvKiBhZGRyICovCisJCXRwcmludGYoIiUjbHgiLCB0Y3AtPnVfYXJnWzBdKTsKKwkJLyogbGVuICovCisJCXRwcmludGYoIiwgJWx1LCAiLCB0Y3AtPnVfYXJnWzFdKTsKKwkJLyogZnVuY3Rpb24gKi8KKwkJZnVuY3Rpb24gPSB0Y3AtPnVfYXJnWzJdOworCQlwcmludGZsYWdzKG1jdGxfZnVuY3MsIGZ1bmN0aW9uLCAiTUNfPz8/Iik7CisJCS8qIGFyZyAqLworCQlhcmcgPSB0Y3AtPnVfYXJnWzNdOworCQl0cHJpbnRmKCIsICIpOworCQlzd2l0Y2ggKGZ1bmN0aW9uKSB7CisJCWNhc2UgTUNfU1lOQzoKKwkJCXByaW50ZmxhZ3MobWN0bF9zeW5jLCBhcmcsICJNU18/Pz8iKTsKKwkJCWJyZWFrOworCQljYXNlIE1DX0xPQ0tBUzoKKwkJCXByaW50ZmxhZ3MobWN0bF9sb2NrYXMsIGFyZywgIk1DTF8/Pz8iKTsKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJdHByaW50ZigiJSN4IiwgYXJnKTsKKwkJCWJyZWFrOworCQl9CisJfQorCXJldHVybiAwOworfQorCisjZW5kaWYgLyogTUNfU1lOQyAqLworCitpbnQKK3N5c19taW5jb3JlKHRjcCkKK3N0cnVjdCB0Y2IgKnRjcDsKK3sKKwl1bnNpZ25lZCBsb25nIGksIGxlbjsKKwljaGFyICp2ZWMgPSBOVUxMOworCisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJdHByaW50ZigiJSNseCwgJWx1LCAiLCB0Y3AtPnVfYXJnWzBdLCB0Y3AtPnVfYXJnWzFdKTsKKwl9IGVsc2UgeworCQlsZW4gPSB0Y3AtPnVfYXJnWzFdOworCQlpZiAoc3lzZXJyb3IodGNwKSB8fCB0Y3AtPnVfYXJnWzJdID09IDAgfHwKKwkJCSh2ZWMgPSBtYWxsb2MobGVuKSkgPT0gTlVMTCB8fAorCQkJdW1vdmVuKHRjcCwgdGNwLT51X2FyZ1syXSwgbGVuLCB2ZWMpIDwgMCkKKwkJCXRwcmludGYoIiUjbHgiLCB0Y3AtPnVfYXJnWzJdKTsKKwkJZWxzZSB7CisJCQl0cHJpbnRmKCJbIik7CisJCQlmb3IgKGkgPSAwOyBpIDwgbGVuOyBpKyspIHsKKwkJCQlpZiAoYWJicmV2KHRjcCkgJiYgaSA+PSBtYXhfc3RybGVuKSB7CisJCQkJCXRwcmludGYoIi4uLiIpOworCQkJCQlicmVhazsKKwkJCQl9CisJCQkJdHByaW50ZigodmVjW2ldICYgMSkgPyAiMSIgOiAiMCIpOworCQkJfQorCQkJdHByaW50ZigiXSIpOworCQl9CisJCWlmICh2ZWMpCisJCQlmcmVlKHZlYyk7CisJfQorCXJldHVybiAwOworfQorCisjaWYgZGVmaW5lZChBTFBIQSkgfHwgZGVmaW5lZChGUkVFQlNEKSB8fCBkZWZpbmVkKElBNjQpIHx8IGRlZmluZWQoU1VOT1M0KSB8fCBkZWZpbmVkKFNWUjQpIHx8IGRlZmluZWQoU1BBUkMpIHx8IGRlZmluZWQoU1BBUkM2NCkKK2ludAorc3lzX2dldHBhZ2VzaXplKHRjcCkKK3N0cnVjdCB0Y2IgKnRjcDsKK3sKKwlpZiAoZXhpdGluZyh0Y3ApKQorCQlyZXR1cm4gUlZBTF9IRVg7CisJcmV0dXJuIDA7Cit9CisjZW5kaWYgLyogQUxQSEEgfHwgRlJFRUJTRCB8fCBJQTY0IHx8IFNVTk9TNCB8fCBTVlI0ICovCisKKyNpZiBkZWZpbmVkKExJTlVYKSAmJiBkZWZpbmVkKF9faTM4Nl9fKQordm9pZAorcHJpbnRfbGR0X2VudHJ5KHN0cnVjdCBtb2RpZnlfbGR0X2xkdF9zICpsZHRfZW50cnkpCit7CisJdHByaW50ZigiYmFzZV9hZGRyOiUjMDhseCwgIgorCQkibGltaXQ6JWQsICIKKwkJInNlZ18zMmJpdDolZCwgIgorCQkiY29udGVudHM6JWQsICIKKwkJInJlYWRfZXhlY19vbmx5OiVkLCAiCisJCSJsaW1pdF9pbl9wYWdlczolZCwgIgorCQkic2VnX25vdF9wcmVzZW50OiVkLCAiCisJCSJ1c2VhYmxlOiVkfSIsCisJCShsb25nKSBsZHRfZW50cnktPmJhc2VfYWRkciwKKwkJbGR0X2VudHJ5LT5saW1pdCwKKwkJbGR0X2VudHJ5LT5zZWdfMzJiaXQsCisJCWxkdF9lbnRyeS0+Y29udGVudHMsCisJCWxkdF9lbnRyeS0+cmVhZF9leGVjX29ubHksCisJCWxkdF9lbnRyeS0+bGltaXRfaW5fcGFnZXMsCisJCWxkdF9lbnRyeS0+c2VnX25vdF9wcmVzZW50LAorCQlsZHRfZW50cnktPnVzZWFibGUpOworfQorCitpbnQKK3N5c19tb2RpZnlfbGR0KHRjcCkKK3N0cnVjdCB0Y2IgKnRjcDsKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQlzdHJ1Y3QgbW9kaWZ5X2xkdF9sZHRfcyBjb3B5OworCQl0cHJpbnRmKCIlbGQiLCB0Y3AtPnVfYXJnWzBdKTsKKwkJaWYgKHRjcC0+dV9hcmdbMV0gPT0gMAorCQkJCXx8IHRjcC0+dV9hcmdbMl0gIT0gc2l6ZW9mIChzdHJ1Y3QgbW9kaWZ5X2xkdF9sZHRfcykKKwkJCQl8fCB1bW92ZSh0Y3AsIHRjcC0+dV9hcmdbMV0sICZjb3B5KSA9PSAtMSkKKwkJCXRwcmludGYoIiwgJWx4IiwgdGNwLT51X2FyZ1sxXSk7CisJCWVsc2UgeworCQkJdHByaW50ZigiLCB7ZW50cnlfbnVtYmVyOiVkLCAiLCBjb3B5LmVudHJ5X251bWJlcik7CisJCQlpZiAoIXZlcmJvc2UodGNwKSkKKwkJCQl0cHJpbnRmKCIuLi59Iik7CisJCQllbHNlIHsKKwkJCQlwcmludF9sZHRfZW50cnkoJmNvcHkpOworCQkJfQorCQl9CisJCXRwcmludGYoIiwgJWx1IiwgdGNwLT51X2FyZ1syXSk7CisJfQorCXJldHVybiAwOworfQorCitpbnQKK3N5c19zZXRfdGhyZWFkX2FyZWEodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCXN0cnVjdCBtb2RpZnlfbGR0X2xkdF9zIGNvcHk7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJaWYgKHVtb3ZlKHRjcCwgdGNwLT51X2FyZ1swXSwgJmNvcHkpICE9IC0xKSB7CisJCQlpZiAoY29weS5lbnRyeV9udW1iZXIgPT0gLTEpCisJCQkJdHByaW50Zigie2VudHJ5X251bWJlcjolZCAtPiAiLAorCQkJCQljb3B5LmVudHJ5X251bWJlcik7CisJCQllbHNlCisJCQkJdHByaW50Zigie2VudHJ5X251bWJlcjoiKTsKKwkJfQorCX0gZWxzZSB7CisJCWlmICh1bW92ZSh0Y3AsIHRjcC0+dV9hcmdbMF0sICZjb3B5KSAhPSAtMSkgeworCQkJdHByaW50ZigiJWQsICIsIGNvcHkuZW50cnlfbnVtYmVyKTsKKwkJCWlmICghdmVyYm9zZSh0Y3ApKQorCQkJCXRwcmludGYoIi4uLn0iKTsKKwkJCWVsc2UgeworCQkJCXByaW50X2xkdF9lbnRyeSgmY29weSk7CisJCQl9CisJCX0gZWxzZSB7CisJCQl0cHJpbnRmKCIlbHgiLCB0Y3AtPnVfYXJnWzBdKTsKKwkJfQorCX0KKwlyZXR1cm4gMDsKKworfQorCitpbnQKK3N5c19nZXRfdGhyZWFkX2FyZWEodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCXN0cnVjdCBtb2RpZnlfbGR0X2xkdF9zIGNvcHk7CisJaWYgKGV4aXRpbmcodGNwKSkgeworCQlpZiAodW1vdmUodGNwLCB0Y3AtPnVfYXJnWzBdLCAmY29weSkgIT0gLTEpIHsKKwkJCXRwcmludGYoIntlbnRyeV9udW1iZXI6JWQsICIsIGNvcHkuZW50cnlfbnVtYmVyKTsKKwkJCWlmICghdmVyYm9zZSh0Y3ApKQorCQkJCXRwcmludGYoIi4uLn0iKTsKKwkJCWVsc2UgeworCQkJCXByaW50X2xkdF9lbnRyeSgmY29weSk7CisJCQl9CisJCX0gZWxzZSB7CisJCQl0cHJpbnRmKCIlbHgiLCB0Y3AtPnVfYXJnWzBdKTsKKwkJfQorCX0KKwlyZXR1cm4gMDsKKworfQorI2VuZGlmIC8qIExJTlVYICYmIF9faTM4Nl9fICovCisKKyNpZiBkZWZpbmVkKExJTlVYKQoraW50CitzeXNfcmVtYXBfZmlsZV9wYWdlcyh0Y3ApCitzdHJ1Y3QgdGNiICp0Y3A7Cit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJdHByaW50ZigiJSNseCwgJWx1LCAiLCB0Y3AtPnVfYXJnWzBdLCB0Y3AtPnVfYXJnWzFdKTsKKwkJcHJpbnRmbGFncyhtbWFwX3Byb3QsIHRjcC0+dV9hcmdbMl0sICJQUk9UXz8/PyIpOworCQl0cHJpbnRmKCIsICVsdSwgIiwgdGNwLT51X2FyZ1szXSk7CisjaWZkZWYgTUFQX1RZUEUKKwkJcHJpbnR4dmFsKG1tYXBfZmxhZ3MsIHRjcC0+dV9hcmdbNF0gJiBNQVBfVFlQRSwgIk1BUF8/Pz8iKTsKKwkJYWRkZmxhZ3MobW1hcF9mbGFncywgdGNwLT51X2FyZ1s0XSAmIH5NQVBfVFlQRSk7CisjZWxzZQorCQlwcmludGZsYWdzKG1tYXBfZmxhZ3MsIHRjcC0+dV9hcmdbNF0sICJNQVBfPz8/Iik7CisjZW5kaWYKKwl9CisJcmV0dXJuIDA7Cit9CisKKworI2RlZmluZSBNUE9MX0RFRkFVTFQgICAgMAorI2RlZmluZSBNUE9MX1BSRUZFUlJFRCAgMQorI2RlZmluZSBNUE9MX0JJTkQgICAgICAgMgorI2RlZmluZSBNUE9MX0lOVEVSTEVBVkUgMworCisjZGVmaW5lIE1QT0xfRl9OT0RFICAgICAoMTw8MCkKKyNkZWZpbmUgTVBPTF9GX0FERFIgICAgICgxPDwxKQorCisjZGVmaW5lIE1QT0xfTUZfU1RSSUNUICAoMTw8MCkKKyNkZWZpbmUgTVBPTF9NRl9NT1ZFCSgxPDwxKQorI2RlZmluZSBNUE9MX01GX01PVkVfQUxMICgxPDwyKQorCisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCBwb2xpY2llc1tdID0geworCXsgTVBPTF9ERUZBVUxULAkJIk1QT0xfREVGQVVMVCIJCX0sCisJeyBNUE9MX1BSRUZFUlJFRCwJIk1QT0xfUFJFRkVSUkVEIgl9LAorCXsgTVBPTF9CSU5ELAkJIk1QT0xfQklORCIJCX0sCisJeyBNUE9MX0lOVEVSTEVBVkUsCSJNUE9MX0lOVEVSTEVBVkUiCX0sCisJeyAwLAkJCU5VTEwJCQl9Cit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IHhsYXQgbWJpbmRmbGFnc1tdID0geworCXsgTVBPTF9NRl9TVFJJQ1QsCSJNUE9MX01GX1NUUklDVCIJfSwKKwl7IE1QT0xfTUZfTU9WRSwJCSJNUE9MX01GX01PVkUiCQl9LAorCXsgTVBPTF9NRl9NT1ZFX0FMTCwJIk1QT0xfTUZfTU9WRV9BTEwiCX0sCisJeyAwLAkJCU5VTEwJCQl9Cit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IHhsYXQgbWVtcG9saWN5ZmxhZ3NbXSA9IHsKKwl7IE1QT0xfRl9OT0RFLAkJIk1QT0xfRl9OT0RFIgkJfSwKKwl7IE1QT0xfRl9BRERSLAkJIk1QT0xfRl9BRERSIgkJfSwKKwl7IDAsCQkJTlVMTAkJCX0KK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCBtb3ZlX3BhZ2VzX2ZsYWdzW10gPSB7CisJeyBNUE9MX01GX01PVkUsCQkiTVBPTF9NRl9NT1ZFIgkJfSwKKwl7IE1QT0xfTUZfTU9WRV9BTEwsCSJNUE9MX01GX01PVkVfQUxMIgl9LAorCXsgMCwJCQlOVUxMCQkJfQorfTsKKworCitzdGF0aWMgdm9pZAorZ2V0X25vZGVzKHRjcCwgcHRyLCBtYXhub2RlcywgZXJyKQorc3RydWN0IHRjYiAqdGNwOwordW5zaWduZWQgbG9uZyBwdHI7Cit1bnNpZ25lZCBsb25nIG1heG5vZGVzOworaW50IGVycjsKK3sKKwl1bnNpZ25lZCBsb25nIG5sb25ncywgc2l6ZSwgZW5kOworCisJbmxvbmdzID0gKG1heG5vZGVzICsgOCAqIHNpemVvZihsb25nKSAtIDEpIC8gKDggKiBzaXplb2YobG9uZykpOworCXNpemUgPSBubG9uZ3MgKiBzaXplb2YobG9uZyk7CisJZW5kID0gcHRyICsgc2l6ZTsKKwlpZiAobmxvbmdzID09IDAgfHwgKChlcnIgfHwgdmVyYm9zZSh0Y3ApKSAmJiAoc2l6ZSAqIDggPT0gbWF4bm9kZXMpCisJCQkgICAgJiYgKGVuZCA+IHB0cikpKSB7CisJCXVuc2lnbmVkIGxvbmcgbiwgY3VyLCBhYmJyZXZfZW5kOworCQlpbnQgZmFpbGVkID0gMDsKKworCQlpZiAoYWJicmV2KHRjcCkpIHsKKwkJCWFiYnJldl9lbmQgPSBwdHIgKyBtYXhfc3RybGVuICogc2l6ZW9mKGxvbmcpOworCQkJaWYgKGFiYnJldl9lbmQgPCBwdHIpCisJCQkJYWJicmV2X2VuZCA9IGVuZDsKKwkJfSBlbHNlIHsKKwkJCWFiYnJldl9lbmQgPSBlbmQ7CisJCX0KKwkJdHByaW50ZigiLCB7Iik7CisJCWZvciAoY3VyID0gcHRyOyBjdXIgPCBlbmQ7IGN1ciArPSBzaXplb2YobG9uZykpIHsKKwkJCWlmIChjdXIgPiBwdHIpCisJCQkJdHByaW50ZigiLCAiKTsKKwkJCWlmIChjdXIgPj0gYWJicmV2X2VuZCkgeworCQkJCXRwcmludGYoIi4uLiIpOworCQkJCWJyZWFrOworCQkJfQorCQkJaWYgKHVtb3Zlbih0Y3AsIGN1ciwgc2l6ZW9mKG4pLCAoY2hhciAqKSAmbikgPCAwKSB7CisJCQkJdHByaW50ZigiPyIpOworCQkJCWZhaWxlZCA9IDE7CisJCQkJYnJlYWs7CisJCQl9CisJCQl0cHJpbnRmKCIlIzAqbHgiLCAoaW50KSBzaXplb2YobG9uZykgKiAyICsgMiwgbik7CisJCX0KKwkJdHByaW50ZigifSIpOworCQlpZiAoZmFpbGVkKQorCQkJdHByaW50ZigiICUjbHgiLCBwdHIpOworCX0gZWxzZQorCQl0cHJpbnRmKCIsICUjbHgiLCBwdHIpOworCXRwcmludGYoIiwgJWx1IiwgbWF4bm9kZXMpOworfQorCitpbnQKK3N5c19tYmluZCh0Y3ApCitzdHJ1Y3QgdGNiICp0Y3A7Cit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJdHByaW50ZigiJSNseCwgJWx1LCAiLCB0Y3AtPnVfYXJnWzBdLCB0Y3AtPnVfYXJnWzFdKTsKKwkJcHJpbnR4dmFsKHBvbGljaWVzLCB0Y3AtPnVfYXJnWzJdLCAiTVBPTF8/Pz8iKTsKKwkJZ2V0X25vZGVzKHRjcCwgdGNwLT51X2FyZ1szXSwgdGNwLT51X2FyZ1s0XSwgMCk7CisJCXRwcmludGYoIiwgIik7CisJCXByaW50ZmxhZ3MobWJpbmRmbGFncywgdGNwLT51X2FyZ1s1XSwgIk1QT0xfPz8/Iik7CisJfQorCXJldHVybiAwOworfQorCitpbnQKK3N5c19zZXRfbWVtcG9saWN5KHRjcCkKK3N0cnVjdCB0Y2IgKnRjcDsKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQlwcmludHh2YWwocG9saWNpZXMsIHRjcC0+dV9hcmdbMF0sICJNUE9MXz8/PyIpOworCQlnZXRfbm9kZXModGNwLCB0Y3AtPnVfYXJnWzFdLCB0Y3AtPnVfYXJnWzJdLCAwKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK2ludAorc3lzX2dldF9tZW1wb2xpY3kodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCWlmIChleGl0aW5nKHRjcCkpIHsKKwkJaW50IHBvbDsKKwkJaWYgKHRjcC0+dV9hcmdbMF0gPT0gMCkKKwkJCXRwcmludGYoIk5VTEwiKTsKKwkJZWxzZSBpZiAoc3lzZXJyb3IodGNwKSB8fCB1bW92ZSh0Y3AsIHRjcC0+dV9hcmdbMF0sICZwb2wpIDwgMCkKKwkJCXRwcmludGYoIiUjbHgiLCB0Y3AtPnVfYXJnWzBdKTsKKwkJZWxzZQorCQkJcHJpbnR4dmFsKHBvbGljaWVzLCBwb2wsICJNUE9MXz8/PyIpOworCQlnZXRfbm9kZXModGNwLCB0Y3AtPnVfYXJnWzFdLCB0Y3AtPnVfYXJnWzJdLCBzeXNlcnJvcih0Y3ApKTsKKwkJdHByaW50ZigiLCAlI2x4LCAiLCB0Y3AtPnVfYXJnWzNdKTsKKwkJcHJpbnRmbGFncyhtZW1wb2xpY3lmbGFncywgdGNwLT51X2FyZ1s0XSwgIk1QT0xfPz8/Iik7CisJfQorCXJldHVybiAwOworfQorCitpbnQKK3N5c19tb3ZlX3BhZ2VzKHRjcCkKK3N0cnVjdCB0Y2IgKnRjcDsKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQl1bnNpZ25lZCBsb25nIG5wYWdlcyA9IHRjcC0+dV9hcmdbMV07CisJCXRwcmludGYoIiVsZCwgJWx1LCAiLCB0Y3AtPnVfYXJnWzBdLCBucGFnZXMpOworCQlpZiAodGNwLT51X2FyZ1syXSA9PSAwKQorCQkJdHByaW50ZigiTlVMTCwgIik7CisJCWVsc2UgeworCQkJaW50IGk7CisJCQlsb25nIHB1c2VyID0gdGNwLT51X2FyZ1syXTsKKwkJCXRwcmludGYoInsiKTsKKwkJCWZvciAoaSA9IDA7IGkgPCBucGFnZXM7ICsraSkgeworCQkJCXZvaWQgKnA7CisJCQkJaWYgKGkgPiAwKQorCQkJCQl0cHJpbnRmKCIsICIpOworCQkJCWlmICh1bW92ZSh0Y3AsIHB1c2VyLCAmcCkgPCAwKSB7CisJCQkJCXRwcmludGYoIj8/PyIpOworCQkJCQlicmVhazsKKwkJCQl9CisJCQkJdHByaW50ZigiJXAiLCBwKTsKKwkJCQlwdXNlciArPSBzaXplb2YgKHZvaWQgKik7CisJCQl9CisJCQl0cHJpbnRmKCJ9LCAiKTsKKwkJfQorCQlpZiAodGNwLT51X2FyZ1szXSA9PSAwKQorCQkJdHByaW50ZigiTlVMTCwgIik7CisJCWVsc2UgeworCQkJaW50IGk7CisJCQlsb25nIG5vZGV1c2VyID0gdGNwLT51X2FyZ1szXTsKKwkJCXRwcmludGYoInsiKTsKKwkJCWZvciAoaSA9IDA7IGkgPCBucGFnZXM7ICsraSkgeworCQkJCWludCBub2RlOworCQkJCWlmIChpID4gMCkKKwkJCQkJdHByaW50ZigiLCAiKTsKKwkJCQlpZiAodW1vdmUodGNwLCBub2RldXNlciwgJm5vZGUpIDwgMCkgeworCQkJCQl0cHJpbnRmKCI/Pz8iKTsKKwkJCQkJYnJlYWs7CisJCQkJfQorCQkJCXRwcmludGYoIiUjeCIsIG5vZGUpOworCQkJCW5vZGV1c2VyICs9IHNpemVvZiAoaW50KTsKKwkJCX0KKwkJCXRwcmludGYoIn0sICIpOworCQl9CisJfQorCWlmIChleGl0aW5nKHRjcCkpIHsKKwkJdW5zaWduZWQgbG9uZyBucGFnZXMgPSB0Y3AtPnVfYXJnWzFdOworCQlpZiAodGNwLT51X2FyZ1s0XSA9PSAwKQorCQkJdHByaW50ZigiTlVMTCwgIik7CisJCWVsc2UgeworCQkJaW50IGk7CisJCQlsb25nIHN0YXR1c3VzZXIgPSB0Y3AtPnVfYXJnWzRdOworCQkJdHByaW50ZigieyIpOworCQkJZm9yIChpID0gMDsgaSA8IG5wYWdlczsgKytpKSB7CisJCQkJaW50IHN0YXR1czsKKwkJCQlpZiAoaSA+IDApCisJCQkJCXRwcmludGYoIiwgIik7CisJCQkJaWYgKHVtb3ZlKHRjcCwgc3RhdHVzdXNlciwgJnN0YXR1cykgPCAwKSB7CisJCQkJCXRwcmludGYoIj8/PyIpOworCQkJCQlicmVhazsKKwkJCQl9CisJCQkJdHByaW50ZigiJSN4Iiwgc3RhdHVzKTsKKwkJCQlzdGF0dXN1c2VyICs9IHNpemVvZiAoaW50KTsKKwkJCX0KKwkJCXRwcmludGYoIn0sICIpOworCQl9CisJCXByaW50ZmxhZ3MobW92ZV9wYWdlc19mbGFncywgdGNwLT51X2FyZ1s1XSwgIk1QT0xfPz8/Iik7CisJfQorCXJldHVybiAwOworfQorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJTlVYKSAmJiBkZWZpbmVkKFBPV0VSUEMpCitpbnQKK3N5c19zdWJwYWdlX3Byb3QodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXVuc2lnbmVkIGxvbmcgY3VyLCBlbmQsIGFiYnJldl9lbmQsIGVudHJpZXM7CisJCXVuc2lnbmVkIGludCBlbnRyeTsKKworCQl0cHJpbnRmKCIlI2x4LCAlI2x4LCAiLCB0Y3AtPnVfYXJnWzBdLCB0Y3AtPnVfYXJnWzFdKTsKKwkJZW50cmllcyA9IHRjcC0+dV9hcmdbMV0gPj4gMTY7CisJCWlmICghZW50cmllcyB8fCAhdGNwLT51X2FyZ1syXSkgeworCQkJdHByaW50Zigie30iKTsKKwkJCXJldHVybiAwOworCQl9CisJCWN1ciA9IHRjcC0+dV9hcmdbMl07CisJCWVuZCA9IGN1ciArIChzaXplb2YoaW50KSAqIGVudHJpZXMpOworCQlpZiAoIXZlcmJvc2UodGNwKSB8fCBlbmQgPCB0Y3AtPnVfYXJnWzJdKSB7CisJCQl0cHJpbnRmKCIlI2x4IiwgdGNwLT51X2FyZ1syXSk7CisJCQlyZXR1cm4gMDsKKwkJfQorCQlpZiAoYWJicmV2KHRjcCkpIHsKKwkJCWFiYnJldl9lbmQgPSBjdXIgKyAoc2l6ZW9mKGludCkgKiBtYXhfc3RybGVuKTsKKwkJCWlmIChhYmJyZXZfZW5kID4gZW5kKQorCQkJCWFiYnJldl9lbmQgPSBlbmQ7CisJCX0KKwkJZWxzZQorCQkJYWJicmV2X2VuZCA9IGVuZDsKKwkJdHByaW50ZigieyIpOworCQlmb3IgKDsgY3VyIDwgZW5kOyBjdXIgKz0gc2l6ZW9mKGludCkpIHsKKwkJCWlmIChjdXIgPiB0Y3AtPnVfYXJnWzJdKQorCQkJCXRwcmludGYoIiwgIik7CisJCQlpZiAoY3VyID49IGFiYnJldl9lbmQpIHsKKwkJCQl0cHJpbnRmKCIuLi4iKTsKKwkJCQlicmVhazsKKwkJCX0KKwkJCWlmICh1bW92ZSh0Y3AsIGN1ciwgJmVudHJ5KSA8IDApIHsKKwkJCQl0cHJpbnRmKCI/Pz8gWyUjbHhdIiwgY3VyKTsKKwkJCQlicmVhazsKKwkJCX0KKwkJCWVsc2UKKwkJCQl0cHJpbnRmKCIlIzA4eCIsIGVudHJ5KTsKKwkJfQorCQl0cHJpbnRmKCJ9Iik7CisJfQorCisJcmV0dXJuIDA7Cit9CisjZW5kaWYKZGlmZiAtLWdpdCBhL3N0cmFjZS00LjUuMjAvbWlzc2luZyBiL3N0cmFjZS00LjUuMjAvbWlzc2luZwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yODA1NWQyCi0tLSAvZGV2L251bGwKKysrIGIvc3RyYWNlLTQuNS4yMC9taXNzaW5nCkBAIC0wLDAgKzEsMzc2IEBACisjISAvYmluL3NoCisjIENvbW1vbiBzdHViIGZvciBhIGZldyBtaXNzaW5nIEdOVSBwcm9ncmFtcyB3aGlsZSBpbnN0YWxsaW5nLgorCitzY3JpcHR2ZXJzaW9uPTIwMDktMDQtMjguMjE7ICMgVVRDCisKKyMgQ29weXJpZ2h0IChDKSAxOTk2LCAxOTk3LCAxOTk5LCAyMDAwLCAyMDAyLCAyMDAzLCAyMDA0LCAyMDA1LCAyMDA2LAorIyAyMDA4LCAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorIyBPcmlnaW5hbGx5IGJ5IEZyYW4sY29pcyBQaW5hcmQgPHBpbmFyZEBpcm8udW1vbnRyZWFsLmNhPiwgMTk5Ni4KKworIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyLCBvciAoYXQgeW91ciBvcHRpb24pCisjIGFueSBsYXRlciB2ZXJzaW9uLgorCisjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisKKyMgQXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIGlmIHlvdQorIyBkaXN0cmlidXRlIHRoaXMgZmlsZSBhcyBwYXJ0IG9mIGEgcHJvZ3JhbSB0aGF0IGNvbnRhaW5zIGEKKyMgY29uZmlndXJhdGlvbiBzY3JpcHQgZ2VuZXJhdGVkIGJ5IEF1dG9jb25mLCB5b3UgbWF5IGluY2x1ZGUgaXQgdW5kZXIKKyMgdGhlIHNhbWUgZGlzdHJpYnV0aW9uIHRlcm1zIHRoYXQgeW91IHVzZSBmb3IgdGhlIHJlc3Qgb2YgdGhhdCBwcm9ncmFtLgorCitpZiB0ZXN0ICQjIC1lcSAwOyB0aGVuCisgIGVjaG8gMT4mMiAiVHJ5IFxgJDAgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbiIKKyAgZXhpdCAxCitmaQorCitydW49Ogorc2VkX291dHB1dD0ncy8uKiAtLW91dHB1dFsgPV1cKFteIF0qXCkuKi9cMS9wJworc2VkX21pbnVzbz0ncy8uKiAtbyBcKFteIF0qXCkuKi9cMS9wJworCisjIEluIHRoZSBjYXNlcyB3aGVyZSB0aGlzIG1hdHRlcnMsIGBtaXNzaW5nJyBpcyBiZWluZyBydW4gaW4gdGhlCisjIHNyY2RpciBhbHJlYWR5LgoraWYgdGVzdCAtZiBjb25maWd1cmUuYWM7IHRoZW4KKyAgY29uZmlndXJlX2FjPWNvbmZpZ3VyZS5hYworZWxzZQorICBjb25maWd1cmVfYWM9Y29uZmlndXJlLmluCitmaQorCittc2c9Im1pc3Npbmcgb24geW91ciBzeXN0ZW0iCisKK2Nhc2UgJDEgaW4KKy0tcnVuKQorICAjIFRyeSB0byBydW4gcmVxdWVzdGVkIHByb2dyYW0sIGFuZCBqdXN0IGV4aXQgaWYgaXQgc3VjY2VlZHMuCisgIHJ1bj0KKyAgc2hpZnQKKyAgIiRAIiAmJiBleGl0IDAKKyAgIyBFeGl0IGNvZGUgNjMgbWVhbnMgdmVyc2lvbiBtaXNtYXRjaC4gIFRoaXMgb2Z0ZW4gaGFwcGVucworICAjIHdoZW4gdGhlIHVzZXIgdHJ5IHRvIHVzZSBhbiBhbmNpZW50IHZlcnNpb24gb2YgYSB0b29sIG9uCisgICMgYSBmaWxlIHRoYXQgcmVxdWlyZXMgYSBtaW5pbXVtIHZlcnNpb24uICBJbiB0aGlzIGNhc2Ugd2UKKyAgIyB3ZSBzaG91bGQgcHJvY2VlZCBoYXMgaWYgdGhlIHByb2dyYW0gaGFkIGJlZW4gYWJzZW50LCBvcgorICAjIGlmIC0tcnVuIGhhZG4ndCBiZWVuIHBhc3NlZC4KKyAgaWYgdGVzdCAkPyA9IDYzOyB0aGVuCisgICAgcnVuPToKKyAgICBtc2c9InByb2JhYmx5IHRvbyBvbGQiCisgIGZpCisgIDs7CisKKyAgLWh8LS1ofC0taGV8LS1oZWx8LS1oZWxwKQorICAgIGVjaG8gIlwKKyQwIFtPUFRJT05dLi4uIFBST0dSQU0gW0FSR1VNRU5UXS4uLgorCitIYW5kbGUgXGBQUk9HUkFNIFtBUkdVTUVOVF0uLi4nIGZvciB3aGVuIFBST0dSQU0gaXMgbWlzc2luZywgb3IgcmV0dXJuIGFuCitlcnJvciBzdGF0dXMgaWYgdGhlcmUgaXMgbm8ga25vd24gaGFuZGxpbmcgZm9yIFBST0dSQU0uCisKK09wdGlvbnM6CisgIC1oLCAtLWhlbHAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdAorICAtdiwgLS12ZXJzaW9uICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQKKyAgLS1ydW4gICAgICAgICAgIHRyeSB0byBydW4gdGhlIGdpdmVuIGNvbW1hbmQsIGFuZCBlbXVsYXRlIGl0IGlmIGl0IGZhaWxzCisKK1N1cHBvcnRlZCBQUk9HUkFNIHZhbHVlczoKKyAgYWNsb2NhbCAgICAgIHRvdWNoIGZpbGUgXGBhY2xvY2FsLm00JworICBhdXRvY29uZiAgICAgdG91Y2ggZmlsZSBcYGNvbmZpZ3VyZScKKyAgYXV0b2hlYWRlciAgIHRvdWNoIGZpbGUgXGBjb25maWcuaC5pbicKKyAgYXV0b200dGUgICAgIHRvdWNoIHRoZSBvdXRwdXQgZmlsZSwgb3IgY3JlYXRlIGEgc3R1YiBvbmUKKyAgYXV0b21ha2UgICAgIHRvdWNoIGFsbCBcYE1ha2VmaWxlLmluJyBmaWxlcworICBiaXNvbiAgICAgICAgY3JlYXRlIFxgeS50YWIuW2NoXScsIGlmIHBvc3NpYmxlLCBmcm9tIGV4aXN0aW5nIC5bY2hdCisgIGZsZXggICAgICAgICBjcmVhdGUgXGBsZXgueXkuYycsIGlmIHBvc3NpYmxlLCBmcm9tIGV4aXN0aW5nIC5jCisgIGhlbHAybWFuICAgICB0b3VjaCB0aGUgb3V0cHV0IGZpbGUKKyAgbGV4ICAgICAgICAgIGNyZWF0ZSBcYGxleC55eS5jJywgaWYgcG9zc2libGUsIGZyb20gZXhpc3RpbmcgLmMKKyAgbWFrZWluZm8gICAgIHRvdWNoIHRoZSBvdXRwdXQgZmlsZQorICB0YXIgICAgICAgICAgdHJ5IHRhciwgZ251dGFyLCBndGFyLCB0aGVuIHRhciB3aXRob3V0IG5vbi1wb3J0YWJsZSBmbGFncworICB5YWNjICAgICAgICAgY3JlYXRlIFxgeS50YWIuW2NoXScsIGlmIHBvc3NpYmxlLCBmcm9tIGV4aXN0aW5nIC5bY2hdCisKK1ZlcnNpb24gc3VmZml4ZXMgdG8gUFJPR1JBTSBhcyB3ZWxsIGFzIHRoZSBwcmVmaXhlcyBcYGdudS0nLCBcYGdudScsIGFuZAorXGBnJyBhcmUgaWdub3JlZCB3aGVuIGNoZWNraW5nIHRoZSBuYW1lLgorCitTZW5kIGJ1ZyByZXBvcnRzIHRvIDxidWctYXV0b21ha2VAZ251Lm9yZz4uIgorICAgIGV4aXQgJD8KKyAgICA7OworCisgIC12fC0tdnwtLXZlfC0tdmVyfC0tdmVyc3wtLXZlcnNpfC0tdmVyc2lvfC0tdmVyc2lvbikKKyAgICBlY2hvICJtaXNzaW5nICRzY3JpcHR2ZXJzaW9uIChHTlUgQXV0b21ha2UpIgorICAgIGV4aXQgJD8KKyAgICA7OworCisgIC0qKQorICAgIGVjaG8gMT4mMiAiJDA6IFVua25vd24gXGAkMScgb3B0aW9uIgorICAgIGVjaG8gMT4mMiAiVHJ5IFxgJDAgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbiIKKyAgICBleGl0IDEKKyAgICA7OworCitlc2FjCisKKyMgbm9ybWFsaXplIHByb2dyYW0gbmFtZSB0byBjaGVjayBmb3IuCitwcm9ncmFtPWBlY2hvICIkMSIgfCBzZWQgJworICBzL15nbnUtLy87IHQKKyAgcy9eZ251Ly87IHQKKyAgcy9eZy8vOyB0J2AKKworIyBOb3cgZXhpdCBpZiB3ZSBoYXZlIGl0LCBidXQgaXQgZmFpbGVkLiAgQWxzbyBleGl0IG5vdyBpZiB3ZQorIyBkb24ndCBoYXZlIGl0IGFuZCAtLXZlcnNpb24gd2FzIHBhc3NlZCAobW9zdCBsaWtlbHkgdG8gZGV0ZWN0CisjIHRoZSBwcm9ncmFtKS4gIFRoaXMgaXMgYWJvdXQgbm9uLUdOVSBwcm9ncmFtcywgc28gdXNlICQxIG5vdAorIyAkcHJvZ3JhbS4KK2Nhc2UgJDEgaW4KKyAgbGV4Knx5YWNjKikKKyAgICAjIE5vdCBHTlUgcHJvZ3JhbXMsIHRoZXkgZG9uJ3QgaGF2ZSAtLXZlcnNpb24uCisgICAgOzsKKworICB0YXIqKQorICAgIGlmIHRlc3QgLW4gIiRydW4iOyB0aGVuCisgICAgICAgZWNobyAxPiYyICJFUlJPUjogXGB0YXInIHJlcXVpcmVzIC0tcnVuIgorICAgICAgIGV4aXQgMQorICAgIGVsaWYgdGVzdCAieCQyIiA9ICJ4LS12ZXJzaW9uIiB8fCB0ZXN0ICJ4JDIiID0gIngtLWhlbHAiOyB0aGVuCisgICAgICAgZXhpdCAxCisgICAgZmkKKyAgICA7OworCisgICopCisgICAgaWYgdGVzdCAteiAiJHJ1biIgJiYgKCQxIC0tdmVyc2lvbikgPiAvZGV2L251bGwgMj4mMTsgdGhlbgorICAgICAgICMgV2UgaGF2ZSBpdCwgYnV0IGl0IGZhaWxlZC4KKyAgICAgICBleGl0IDEKKyAgICBlbGlmIHRlc3QgIngkMiIgPSAieC0tdmVyc2lvbiIgfHwgdGVzdCAieCQyIiA9ICJ4LS1oZWxwIjsgdGhlbgorICAgICAgICMgQ291bGQgbm90IHJ1biAtLXZlcnNpb24gb3IgLS1oZWxwLiAgVGhpcyBpcyBwcm9iYWJseSBzb21lb25lCisgICAgICAgIyBydW5uaW5nIGAkVE9PTCAtLXZlcnNpb24nIG9yIGAkVE9PTCAtLWhlbHAnIHRvIGNoZWNrIHdoZXRoZXIKKyAgICAgICAjICRUT09MIGV4aXN0cyBhbmQgbm90IGtub3dpbmcgJFRPT0wgdXNlcyBtaXNzaW5nLgorICAgICAgIGV4aXQgMQorICAgIGZpCisgICAgOzsKK2VzYWMKKworIyBJZiBpdCBkb2VzIG5vdCBleGlzdCwgb3IgZmFpbHMgdG8gcnVuIChwb3NzaWJseSBhbiBvdXRkYXRlZCB2ZXJzaW9uKSwKKyMgdHJ5IHRvIGVtdWxhdGUgaXQuCitjYXNlICRwcm9ncmFtIGluCisgIGFjbG9jYWwqKQorICAgIGVjaG8gMT4mMiAiXAorV0FSTklORzogXGAkMScgaXMgJG1zZy4gIFlvdSBzaG91bGQgb25seSBuZWVkIGl0IGlmCisgICAgICAgICB5b3UgbW9kaWZpZWQgXGBhY2luY2x1ZGUubTQnIG9yIFxgJHtjb25maWd1cmVfYWN9Jy4gIFlvdSBtaWdodCB3YW50CisgICAgICAgICB0byBpbnN0YWxsIHRoZSBcYEF1dG9tYWtlJyBhbmQgXGBQZXJsJyBwYWNrYWdlcy4gIEdyYWIgdGhlbSBmcm9tCisgICAgICAgICBhbnkgR05VIGFyY2hpdmUgc2l0ZS4iCisgICAgdG91Y2ggYWNsb2NhbC5tNAorICAgIDs7CisKKyAgYXV0b2NvbmYqKQorICAgIGVjaG8gMT4mMiAiXAorV0FSTklORzogXGAkMScgaXMgJG1zZy4gIFlvdSBzaG91bGQgb25seSBuZWVkIGl0IGlmCisgICAgICAgICB5b3UgbW9kaWZpZWQgXGAke2NvbmZpZ3VyZV9hY30nLiAgWW91IG1pZ2h0IHdhbnQgdG8gaW5zdGFsbCB0aGUKKyAgICAgICAgIFxgQXV0b2NvbmYnIGFuZCBcYEdOVSBtNCcgcGFja2FnZXMuICBHcmFiIHRoZW0gZnJvbSBhbnkgR05VCisgICAgICAgICBhcmNoaXZlIHNpdGUuIgorICAgIHRvdWNoIGNvbmZpZ3VyZQorICAgIDs7CisKKyAgYXV0b2hlYWRlciopCisgICAgZWNobyAxPiYyICJcCitXQVJOSU5HOiBcYCQxJyBpcyAkbXNnLiAgWW91IHNob3VsZCBvbmx5IG5lZWQgaXQgaWYKKyAgICAgICAgIHlvdSBtb2RpZmllZCBcYGFjY29uZmlnLmgnIG9yIFxgJHtjb25maWd1cmVfYWN9Jy4gIFlvdSBtaWdodCB3YW50CisgICAgICAgICB0byBpbnN0YWxsIHRoZSBcYEF1dG9jb25mJyBhbmQgXGBHTlUgbTQnIHBhY2thZ2VzLiAgR3JhYiB0aGVtCisgICAgICAgICBmcm9tIGFueSBHTlUgYXJjaGl2ZSBzaXRlLiIKKyAgICBmaWxlcz1gc2VkIC1uICdzL15bIF0qQVtDTV1fQ09ORklHX0hFQURFUihcKFteKV0qXCkpLiovXDEvcCcgJHtjb25maWd1cmVfYWN9YAorICAgIHRlc3QgLXogIiRmaWxlcyIgJiYgZmlsZXM9ImNvbmZpZy5oIgorICAgIHRvdWNoX2ZpbGVzPQorICAgIGZvciBmIGluICRmaWxlczsgZG8KKyAgICAgIGNhc2UgJGYgaW4KKyAgICAgICo6KikgdG91Y2hfZmlsZXM9IiR0b3VjaF9maWxlcyAiYGVjaG8gIiRmIiB8CisJCQkJICAgICAgIHNlZCAtZSAncy9eW146XSo6Ly8nIC1lICdzLzouKi8vJ2A7OworICAgICAgKikgdG91Y2hfZmlsZXM9IiR0b3VjaF9maWxlcyAkZi5pbiI7OworICAgICAgZXNhYworICAgIGRvbmUKKyAgICB0b3VjaCAkdG91Y2hfZmlsZXMKKyAgICA7OworCisgIGF1dG9tYWtlKikKKyAgICBlY2hvIDE+JjIgIlwKK1dBUk5JTkc6IFxgJDEnIGlzICRtc2cuICBZb3Ugc2hvdWxkIG9ubHkgbmVlZCBpdCBpZgorICAgICAgICAgeW91IG1vZGlmaWVkIFxgTWFrZWZpbGUuYW0nLCBcYGFjaW5jbHVkZS5tNCcgb3IgXGAke2NvbmZpZ3VyZV9hY30nLgorICAgICAgICAgWW91IG1pZ2h0IHdhbnQgdG8gaW5zdGFsbCB0aGUgXGBBdXRvbWFrZScgYW5kIFxgUGVybCcgcGFja2FnZXMuCisgICAgICAgICBHcmFiIHRoZW0gZnJvbSBhbnkgR05VIGFyY2hpdmUgc2l0ZS4iCisgICAgZmluZCAuIC10eXBlIGYgLW5hbWUgTWFrZWZpbGUuYW0gLXByaW50IHwKKwkgICBzZWQgJ3MvXC5hbSQvLmluLycgfAorCSAgIHdoaWxlIHJlYWQgZjsgZG8gdG91Y2ggIiRmIjsgZG9uZQorICAgIDs7CisKKyAgYXV0b200dGUqKQorICAgIGVjaG8gMT4mMiAiXAorV0FSTklORzogXGAkMScgaXMgbmVlZGVkLCBidXQgaXMgJG1zZy4KKyAgICAgICAgIFlvdSBtaWdodCBoYXZlIG1vZGlmaWVkIHNvbWUgZmlsZXMgd2l0aG91dCBoYXZpbmcgdGhlCisgICAgICAgICBwcm9wZXIgdG9vbHMgZm9yIGZ1cnRoZXIgaGFuZGxpbmcgdGhlbS4KKyAgICAgICAgIFlvdSBjYW4gZ2V0IFxgJDEnIGFzIHBhcnQgb2YgXGBBdXRvY29uZicgZnJvbSBhbnkgR05VCisgICAgICAgICBhcmNoaXZlIHNpdGUuIgorCisgICAgZmlsZT1gZWNobyAiJCoiIHwgc2VkIC1uICIkc2VkX291dHB1dCJgCisgICAgdGVzdCAteiAiJGZpbGUiICYmIGZpbGU9YGVjaG8gIiQqIiB8IHNlZCAtbiAiJHNlZF9taW51c28iYAorICAgIGlmIHRlc3QgLWYgIiRmaWxlIjsgdGhlbgorCXRvdWNoICRmaWxlCisgICAgZWxzZQorCXRlc3QgLXogIiRmaWxlIiB8fCBleGVjID4kZmlsZQorCWVjaG8gIiMhIC9iaW4vc2giCisJZWNobyAiIyBDcmVhdGVkIGJ5IEdOVSBBdXRvbWFrZSBtaXNzaW5nIGFzIGEgcmVwbGFjZW1lbnQgb2YiCisJZWNobyAiIyAgJCAkQCIKKwllY2hvICJleGl0IDAiCisJY2htb2QgK3ggJGZpbGUKKwlleGl0IDEKKyAgICBmaQorICAgIDs7CisKKyAgYmlzb24qfHlhY2MqKQorICAgIGVjaG8gMT4mMiAiXAorV0FSTklORzogXGAkMScgJG1zZy4gIFlvdSBzaG91bGQgb25seSBuZWVkIGl0IGlmCisgICAgICAgICB5b3UgbW9kaWZpZWQgYSBcYC55JyBmaWxlLiAgWW91IG1heSBuZWVkIHRoZSBcYEJpc29uJyBwYWNrYWdlCisgICAgICAgICBpbiBvcmRlciBmb3IgdGhvc2UgbW9kaWZpY2F0aW9ucyB0byB0YWtlIGVmZmVjdC4gIFlvdSBjYW4gZ2V0CisgICAgICAgICBcYEJpc29uJyBmcm9tIGFueSBHTlUgYXJjaGl2ZSBzaXRlLiIKKyAgICBybSAtZiB5LnRhYi5jIHkudGFiLmgKKyAgICBpZiB0ZXN0ICQjIC1uZSAxOyB0aGVuCisgICAgICAgIGV2YWwgTEFTVEFSRz0iXCR7JCN9IgorCWNhc2UgJExBU1RBUkcgaW4KKwkqLnkpCisJICAgIFNSQ0ZJTEU9YGVjaG8gIiRMQVNUQVJHIiB8IHNlZCAncy95JC9jLydgCisJICAgIGlmIHRlc3QgLWYgIiRTUkNGSUxFIjsgdGhlbgorCSAgICAgICAgIGNwICIkU1JDRklMRSIgeS50YWIuYworCSAgICBmaQorCSAgICBTUkNGSUxFPWBlY2hvICIkTEFTVEFSRyIgfCBzZWQgJ3MveSQvaC8nYAorCSAgICBpZiB0ZXN0IC1mICIkU1JDRklMRSI7IHRoZW4KKwkgICAgICAgICBjcCAiJFNSQ0ZJTEUiIHkudGFiLmgKKwkgICAgZmkKKwkgIDs7CisJZXNhYworICAgIGZpCisgICAgaWYgdGVzdCAhIC1mIHkudGFiLmg7IHRoZW4KKwllY2hvID55LnRhYi5oCisgICAgZmkKKyAgICBpZiB0ZXN0ICEgLWYgeS50YWIuYzsgdGhlbgorCWVjaG8gJ21haW4oKSB7IHJldHVybiAwOyB9JyA+eS50YWIuYworICAgIGZpCisgICAgOzsKKworICBsZXgqfGZsZXgqKQorICAgIGVjaG8gMT4mMiAiXAorV0FSTklORzogXGAkMScgaXMgJG1zZy4gIFlvdSBzaG91bGQgb25seSBuZWVkIGl0IGlmCisgICAgICAgICB5b3UgbW9kaWZpZWQgYSBcYC5sJyBmaWxlLiAgWW91IG1heSBuZWVkIHRoZSBcYEZsZXgnIHBhY2thZ2UKKyAgICAgICAgIGluIG9yZGVyIGZvciB0aG9zZSBtb2RpZmljYXRpb25zIHRvIHRha2UgZWZmZWN0LiAgWW91IGNhbiBnZXQKKyAgICAgICAgIFxgRmxleCcgZnJvbSBhbnkgR05VIGFyY2hpdmUgc2l0ZS4iCisgICAgcm0gLWYgbGV4Lnl5LmMKKyAgICBpZiB0ZXN0ICQjIC1uZSAxOyB0aGVuCisgICAgICAgIGV2YWwgTEFTVEFSRz0iXCR7JCN9IgorCWNhc2UgJExBU1RBUkcgaW4KKwkqLmwpCisJICAgIFNSQ0ZJTEU9YGVjaG8gIiRMQVNUQVJHIiB8IHNlZCAncy9sJC9jLydgCisJICAgIGlmIHRlc3QgLWYgIiRTUkNGSUxFIjsgdGhlbgorCSAgICAgICAgIGNwICIkU1JDRklMRSIgbGV4Lnl5LmMKKwkgICAgZmkKKwkgIDs7CisJZXNhYworICAgIGZpCisgICAgaWYgdGVzdCAhIC1mIGxleC55eS5jOyB0aGVuCisJZWNobyAnbWFpbigpIHsgcmV0dXJuIDA7IH0nID5sZXgueXkuYworICAgIGZpCisgICAgOzsKKworICBoZWxwMm1hbiopCisgICAgZWNobyAxPiYyICJcCitXQVJOSU5HOiBcYCQxJyBpcyAkbXNnLiAgWW91IHNob3VsZCBvbmx5IG5lZWQgaXQgaWYKKwkgeW91IG1vZGlmaWVkIGEgZGVwZW5kZW5jeSBvZiBhIG1hbnVhbCBwYWdlLiAgWW91IG1heSBuZWVkIHRoZQorCSBcYEhlbHAybWFuJyBwYWNrYWdlIGluIG9yZGVyIGZvciB0aG9zZSBtb2RpZmljYXRpb25zIHRvIHRha2UKKwkgZWZmZWN0LiAgWW91IGNhbiBnZXQgXGBIZWxwMm1hbicgZnJvbSBhbnkgR05VIGFyY2hpdmUgc2l0ZS4iCisKKyAgICBmaWxlPWBlY2hvICIkKiIgfCBzZWQgLW4gIiRzZWRfb3V0cHV0ImAKKyAgICB0ZXN0IC16ICIkZmlsZSIgJiYgZmlsZT1gZWNobyAiJCoiIHwgc2VkIC1uICIkc2VkX21pbnVzbyJgCisgICAgaWYgdGVzdCAtZiAiJGZpbGUiOyB0aGVuCisJdG91Y2ggJGZpbGUKKyAgICBlbHNlCisJdGVzdCAteiAiJGZpbGUiIHx8IGV4ZWMgPiRmaWxlCisJZWNobyAiLmFiIGhlbHAybWFuIGlzIHJlcXVpcmVkIHRvIGdlbmVyYXRlIHRoaXMgcGFnZSIKKwlleGl0ICQ/CisgICAgZmkKKyAgICA7OworCisgIG1ha2VpbmZvKikKKyAgICBlY2hvIDE+JjIgIlwKK1dBUk5JTkc6IFxgJDEnIGlzICRtc2cuICBZb3Ugc2hvdWxkIG9ubHkgbmVlZCBpdCBpZgorICAgICAgICAgeW91IG1vZGlmaWVkIGEgXGAudGV4aScgb3IgXGAudGV4aW5mbycgZmlsZSwgb3IgYW55IG90aGVyIGZpbGUKKyAgICAgICAgIGluZGlyZWN0bHkgYWZmZWN0aW5nIHRoZSBhc3BlY3Qgb2YgdGhlIG1hbnVhbC4gIFRoZSBzcHVyaW91cworICAgICAgICAgY2FsbCBtaWdodCBhbHNvIGJlIHRoZSBjb25zZXF1ZW5jZSBvZiB1c2luZyBhIGJ1Z2d5IFxgbWFrZScgKEFJWCwKKyAgICAgICAgIERVLCBJUklYKS4gIFlvdSBtaWdodCB3YW50IHRvIGluc3RhbGwgdGhlIFxgVGV4aW5mbycgcGFja2FnZSBvcgorICAgICAgICAgdGhlIFxgR05VIG1ha2UnIHBhY2thZ2UuICBHcmFiIGVpdGhlciBmcm9tIGFueSBHTlUgYXJjaGl2ZSBzaXRlLiIKKyAgICAjIFRoZSBmaWxlIHRvIHRvdWNoIGlzIHRoYXQgc3BlY2lmaWVkIHdpdGggLW8gLi4uCisgICAgZmlsZT1gZWNobyAiJCoiIHwgc2VkIC1uICIkc2VkX291dHB1dCJgCisgICAgdGVzdCAteiAiJGZpbGUiICYmIGZpbGU9YGVjaG8gIiQqIiB8IHNlZCAtbiAiJHNlZF9taW51c28iYAorICAgIGlmIHRlc3QgLXogIiRmaWxlIjsgdGhlbgorICAgICAgIyAuLi4gb3IgaXQgaXMgdGhlIG9uZSBzcGVjaWZpZWQgd2l0aCBAc2V0ZmlsZW5hbWUgLi4uCisgICAgICBpbmZpbGU9YGVjaG8gIiQqIiB8IHNlZCAncy8uKiBcKFteIF0qXCkgKiQvXDEvJ2AKKyAgICAgIGZpbGU9YHNlZCAtbiAnCisJL15Ac2V0ZmlsZW5hbWUveworCSAgcy8uKiBcKFteIF0qXCkgKiQvXDEvCisJICBwCisJICBxCisJfScgJGluZmlsZWAKKyAgICAgICMgLi4uIG9yIGl0IGlzIGRlcml2ZWQgZnJvbSB0aGUgc291cmNlIG5hbWUgKGRpci9mLnRleGkgYmVjb21lcyBmLmluZm8pCisgICAgICB0ZXN0IC16ICIkZmlsZSIgJiYgZmlsZT1gZWNobyAiJGluZmlsZSIgfCBzZWQgJ3MsLiovLCw7cywuW14uXSokLCwnYC5pbmZvCisgICAgZmkKKyAgICAjIElmIHRoZSBmaWxlIGRvZXMgbm90IGV4aXN0LCB0aGUgdXNlciByZWFsbHkgbmVlZHMgbWFrZWluZm87CisgICAgIyBsZXQncyBmYWlsIHdpdGhvdXQgdG91Y2hpbmcgYW55dGhpbmcuCisgICAgdGVzdCAtZiAkZmlsZSB8fCBleGl0IDEKKyAgICB0b3VjaCAkZmlsZQorICAgIDs7CisKKyAgdGFyKikKKyAgICBzaGlmdAorCisgICAgIyBXZSBoYXZlIGFscmVhZHkgdHJpZWQgdGFyIGluIHRoZSBnZW5lcmljIHBhcnQuCisgICAgIyBMb29rIGZvciBnbnV0YXIvZ3RhciBiZWZvcmUgaW52b2NhdGlvbiB0byBhdm9pZCB1Z2x5IGVycm9yCisgICAgIyBtZXNzYWdlcy4KKyAgICBpZiAoZ251dGFyIC0tdmVyc2lvbiA+IC9kZXYvbnVsbCAyPiYxKTsgdGhlbgorICAgICAgIGdudXRhciAiJEAiICYmIGV4aXQgMAorICAgIGZpCisgICAgaWYgKGd0YXIgLS12ZXJzaW9uID4gL2Rldi9udWxsIDI+JjEpOyB0aGVuCisgICAgICAgZ3RhciAiJEAiICYmIGV4aXQgMAorICAgIGZpCisgICAgZmlyc3Rhcmc9IiQxIgorICAgIGlmIHNoaWZ0OyB0aGVuCisJY2FzZSAkZmlyc3RhcmcgaW4KKwkqbyopCisJICAgIGZpcnN0YXJnPWBlY2hvICIkZmlyc3RhcmciIHwgc2VkIHMvby8vYAorCSAgICB0YXIgIiRmaXJzdGFyZyIgIiRAIiAmJiBleGl0IDAKKwkgICAgOzsKKwllc2FjCisJY2FzZSAkZmlyc3RhcmcgaW4KKwkqaCopCisJICAgIGZpcnN0YXJnPWBlY2hvICIkZmlyc3RhcmciIHwgc2VkIHMvaC8vYAorCSAgICB0YXIgIiRmaXJzdGFyZyIgIiRAIiAmJiBleGl0IDAKKwkgICAgOzsKKwllc2FjCisgICAgZmkKKworICAgIGVjaG8gMT4mMiAiXAorV0FSTklORzogSSBjYW4ndCBzZWVtIHRvIGJlIGFibGUgdG8gcnVuIFxgdGFyJyB3aXRoIHRoZSBnaXZlbiBhcmd1bWVudHMuCisgICAgICAgICBZb3UgbWF5IHdhbnQgdG8gaW5zdGFsbCBHTlUgdGFyIG9yIEZyZWUgcGF4dXRpbHMsIG9yIGNoZWNrIHRoZQorICAgICAgICAgY29tbWFuZCBsaW5lIGFyZ3VtZW50cy4iCisgICAgZXhpdCAxCisgICAgOzsKKworICAqKQorICAgIGVjaG8gMT4mMiAiXAorV0FSTklORzogXGAkMScgaXMgbmVlZGVkLCBhbmQgaXMgJG1zZy4KKyAgICAgICAgIFlvdSBtaWdodCBoYXZlIG1vZGlmaWVkIHNvbWUgZmlsZXMgd2l0aG91dCBoYXZpbmcgdGhlCisgICAgICAgICBwcm9wZXIgdG9vbHMgZm9yIGZ1cnRoZXIgaGFuZGxpbmcgdGhlbS4gIENoZWNrIHRoZSBcYFJFQURNRScgZmlsZSwKKyAgICAgICAgIGl0IG9mdGVuIHRlbGxzIHlvdSBhYm91dCB0aGUgbmVlZGVkIHByZXJlcXVpc2l0ZXMgZm9yIGluc3RhbGxpbmcKKyAgICAgICAgIHRoaXMgcGFja2FnZS4gIFlvdSBtYXkgYWxzbyBwZWVrIGF0IGFueSBHTlUgYXJjaGl2ZSBzaXRlLCBpbiBjYXNlCisgICAgICAgICBzb21lIG90aGVyIHBhY2thZ2Ugd291bGQgY29udGFpbiB0aGlzIG1pc3NpbmcgXGAkMScgcHJvZ3JhbS4iCisgICAgZXhpdCAxCisgICAgOzsKK2VzYWMKKworZXhpdCAwCisKKyMgTG9jYWwgdmFyaWFibGVzOgorIyBldmFsOiAoYWRkLWhvb2sgJ3dyaXRlLWZpbGUtaG9va3MgJ3RpbWUtc3RhbXApCisjIHRpbWUtc3RhbXAtc3RhcnQ6ICJzY3JpcHR2ZXJzaW9uPSIKKyMgdGltZS1zdGFtcC1mb3JtYXQ6ICIlOnktJTAybS0lMDJkLiUwMkgiCisjIHRpbWUtc3RhbXAtdGltZS16b25lOiAiVVRDIgorIyB0aW1lLXN0YW1wLWVuZDogIjsgIyBVVEMiCisjIEVuZDoKZGlmZiAtLWdpdCBhL3N0cmFjZS00LjUuMjAvbmV0LmMgYi9zdHJhY2UtNC41LjIwL25ldC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY1NjY2NGUKLS0tIC9kZXYvbnVsbAorKysgYi9zdHJhY2UtNC41LjIwL25ldC5jCkBAIC0wLDAgKzEsMjE0MyBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMTk5MSwgMTk5MiBQYXVsIEtyYW5lbmJ1cmcgPHBrQGNzLmZldy5ldXIubmw+CisgKiBDb3B5cmlnaHQgKGMpIDE5OTMgQnJhbmtvIExhbmtlc3RlciA8YnJhbmtvQGhhY2t0aWMubmw+CisgKiBDb3B5cmlnaHQgKGMpIDE5OTMsIDE5OTQsIDE5OTUsIDE5OTYgUmljayBTbGFka2V5IDxqcnNAd29ybGQuc3RkLmNvbT4KKyAqIENvcHlyaWdodCAoYykgMTk5Ni0yMDAwIFdpY2hlcnQgQWtrZXJtYW4gPHdpY2hlcnRAY2lzdHJvbi5ubD4KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBUaGUgbmFtZSBvZiB0aGUgYXV0aG9yIG1heSBub3QgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMKKyAqICAgIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIEFVVEhPUiBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCisgKiBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELgorICogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAorICogSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUCisgKiBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqCisgKgkkSWQkCisgKi8KKworI2luY2x1ZGUgImRlZnMuaCIKKworI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgorI2luY2x1ZGUgPHN5cy91bi5oPgorCisjaWYgZGVmaW5lZChIQVZFX1NJTjZfU0NPUEVfSURfTElOVVgpCisjZGVmaW5lIGluNl9hZGRyIGluNl9hZGRyX2xpYmMKKyNkZWZpbmUgaXB2Nl9tcmVxIGlwdjZfbXJlcV9saWJjCisjZGVmaW5lIHNvY2thZGRyX2luNiBzb2NrYWRkcl9pbjZfbGliYworI2VuZGlmCisKKyNpbmNsdWRlIDxuZXRpbmV0L2luLmg+CisjaWZkZWYgSEFWRV9ORVRJTkVUX1RDUF9ICisjaW5jbHVkZSA8bmV0aW5ldC90Y3AuaD4KKyNlbmRpZgorI2lmZGVmIEhBVkVfTkVUSU5FVF9VRFBfSAorI2luY2x1ZGUgPG5ldGluZXQvdWRwLmg+CisjZW5kaWYKKyNpbmNsdWRlIDxhcnBhL2luZXQuaD4KKyNpbmNsdWRlIDxuZXQvaWYuaD4KKyNpZiBkZWZpbmVkKExJTlVYKQorI2luY2x1ZGUgPGFzbS90eXBlcy5oPgorI2lmIGRlZmluZWQoX19HTElCQ19fKSAmJiAoX19HTElCQ19fID49IDIpICYmIChfX0dMSUJDX18gKyBfX0dMSUJDX01JTk9SX18gPj0gMykKKyMgIGluY2x1ZGUgPG5ldGlweC9pcHguaD4KKyNlbHNlCisjICBpbmNsdWRlIDxsaW51eC9pcHguaD4KKyNlbmRpZgorI2VuZGlmIC8qIExJTlVYICovCisKKyNpZiBkZWZpbmVkIChfX0dMSUJDX18pICYmICgoKF9fR0xJQkNfXyA8IDIpIHx8IChfX0dMSUJDX18gPT0gMiAmJiBfX0dMSUJDX01JTk9SX18gPCAxKSkgfHwgZGVmaW5lZChIQVZFX1NJTjZfU0NPUEVfSURfTElOVVgpKQorI2lmIGRlZmluZWQoSEFWRV9MSU5VWF9JTjZfSCkKKyNpZiBkZWZpbmVkKEhBVkVfU0lONl9TQ09QRV9JRF9MSU5VWCkKKyN1bmRlZiBpbjZfYWRkcgorI3VuZGVmIGlwdjZfbXJlcQorI3VuZGVmIHNvY2thZGRyX2luNgorI2RlZmluZSBpbjZfYWRkciBpbjZfYWRkcl9rZXJuZWwKKyNkZWZpbmUgaXB2Nl9tcmVxIGlwdjZfbXJlcV9rZXJuZWwKKyNkZWZpbmUgc29ja2FkZHJfaW42IHNvY2thZGRyX2luNl9rZXJuZWwKKyNlbmRpZgorI2luY2x1ZGUgPGxpbnV4L2luNi5oPgorI2lmIGRlZmluZWQoSEFWRV9TSU42X1NDT1BFX0lEX0xJTlVYKQorI3VuZGVmIGluNl9hZGRyCisjdW5kZWYgaXB2Nl9tcmVxCisjdW5kZWYgc29ja2FkZHJfaW42CisjZGVmaW5lIGluNl9hZGRyIGluNl9hZGRyX2xpYmMKKyNkZWZpbmUgaXB2Nl9tcmVxIGlwdjZfbXJlcV9saWJjCisjZGVmaW5lIHNvY2thZGRyX2luNiBzb2NrYWRkcl9pbjZfa2VybmVsCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKEhBVkVfU1lTX1VJT19IKQorI2luY2x1ZGUgPHN5cy91aW8uaD4KKyNlbmRpZgorCisjaWYgZGVmaW5lZChIQVZFX0xJTlVYX05FVExJTktfSCkKKyNpbmNsdWRlIDxsaW51eC9uZXRsaW5rLmg+CisjZW5kaWYKKworI2lmIGRlZmluZWQoSEFWRV9MSU5VWF9JRl9QQUNLRVRfSCkKKyNpbmNsdWRlIDxsaW51eC9pZl9wYWNrZXQuaD4KKyNlbmRpZgorCisjaWYgZGVmaW5lZChIQVZFX0xJTlVYX0lDTVBfSCkKKyNpbmNsdWRlIDxsaW51eC9pY21wLmg+CisjZW5kaWYKKworI2lmbmRlZiBQRl9VTlNQRUMKKyNkZWZpbmUgUEZfVU5TUEVDIEFGX1VOU1BFQworI2VuZGlmCisKKyNpZiBVTklYV0FSRSA+PSA3CisjZGVmaW5lIEhBVkVfU0VORE1TRwkJMQkJLyogSEFDSyAtICpGSVhNRSogKi8KKyNlbmRpZgorCisjaWZkZWYgTElOVVgKKy8qIFVuZGVyIExpbnV4IHRoZXNlIGFyZSBlbnVtcyBzbyB3ZSBjYW4ndCB0ZXN0IGZvciB0aGVtIHdpdGggaWZkZWYuICovCisjZGVmaW5lIElQUFJPVE9fRUdQIElQUFJPVE9fRUdQCisjZGVmaW5lIElQUFJPVE9fUFVQIElQUFJPVE9fUFVQCisjZGVmaW5lIElQUFJPVE9fSURQIElQUFJPVE9fSURQCisjZGVmaW5lIElQUFJPVE9fSUdNUCBJUFBST1RPX0lHTVAKKyNkZWZpbmUgSVBQUk9UT19SQVcgSVBQUk9UT19SQVcKKyNkZWZpbmUgSVBQUk9UT19NQVggSVBQUk9UT19NQVgKKyNlbmRpZgorCitzdGF0aWMgY29uc3Qgc3RydWN0IHhsYXQgZG9tYWluc1tdID0geworI2lmZGVmIFBGX0FBTDUKKwl7IFBGX0FBTDUsCSJQRl9BQUw1Igl9LAorI2VuZGlmCisjaWZkZWYgUEZfQVBQTEVUQUxLCisJeyBQRl9BUFBMRVRBTEssCSJQRl9BUFBMRVRBTEsiCX0sCisjZW5kaWYKKyNpZmRlZiBQRl9BU0gKKwl7IFBGX0FTSCwJIlBGX0FTSCIJfSwKKyNlbmRpZgorI2lmZGVmIFBGX0FUTVBWQworCXsgUEZfQVRNUFZDLAkiUEZfQVRNUFZDIgl9LAorI2VuZGlmCisjaWZkZWYgUEZfQVRNU1ZDCisJeyBQRl9BVE1TVkMsCSJQRl9BVE1TVkMiCX0sCisjZW5kaWYKKyNpZmRlZiBQRl9BWDI1CisJeyBQRl9BWDI1LAkiUEZfQVgyNSIJfSwKKyNlbmRpZgorI2lmZGVmIFBGX0JMVUVUT09USAorCXsgUEZfQkxVRVRPT1RILAkiUEZfQkxVRVRPT1RIIgl9LAorI2VuZGlmCisjaWZkZWYgUEZfQlJJREdFCisJeyBQRl9CUklER0UsCSJQRl9CUklER0UiCX0sCisjZW5kaWYKKyNpZmRlZiBQRl9ERUNuZXQKKwl7IFBGX0RFQ25ldCwJIlBGX0RFQ25ldCIJfSwKKyNlbmRpZgorI2lmZGVmIFBGX0RFQ05FVAorCXsgUEZfREVDTkVULAkiUEZfREVDTkVUIgl9LAorI2VuZGlmCisjaWZkZWYgUEZfRUNPTkVUCisJeyBQRl9FQ09ORVQsCSJQRl9FQ09ORVQiCX0sCisjZW5kaWYKKyNpZmRlZiBQRl9GSUxFCisJeyBQRl9GSUxFLAkiUEZfRklMRSIJfSwKKyNlbmRpZgorI2lmZGVmIFBGX0lNUExJTksKKwl7IFBGX0lNUExJTkssCSJQRl9JTVBMSU5LIgl9LAorI2VuZGlmCisjaWZkZWYgUEZfSU5FVAorCXsgUEZfSU5FVCwJIlBGX0lORVQiCX0sCisjZW5kaWYKKyNpZmRlZiBQRl9JTkVUNgorCXsgUEZfSU5FVDYsCSJQRl9JTkVUNiIJfSwKKyNlbmRpZgorI2lmZGVmIFBGX0lQWAorCXsgUEZfSVBYLAkiUEZfSVBYIgl9LAorI2VuZGlmCisjaWZkZWYgUEZfSVJEQQorCXsgUEZfSVJEQSwJIlBGX0lSREEiCX0sCisjZW5kaWYKKyNpZmRlZiBQRl9JU08KKwl7IFBGX0lTTywJIlBGX0lTTyIJfSwKKyNlbmRpZgorI2lmZGVmIFBGX0tFWQorCXsgUEZfS0VZLAkiUEZfS0VZIgl9LAorI2VuZGlmCisjaWZkZWYgUEZfVU5JWAorCXsgUEZfVU5JWCwJIlBGX1VOSVgiCX0sCisjZW5kaWYKKyNpZmRlZiBQRl9MT0NBTAorCXsgUEZfTE9DQUwsCSJQRl9MT0NBTCIJfSwKKyNlbmRpZgorI2lmZGVmIFBGX05FVEJFVUkKKwl7IFBGX05FVEJFVUksCSJQRl9ORVRCRVVJIgl9LAorI2VuZGlmCisjaWZkZWYgUEZfTkVUTElOSworCXsgUEZfTkVUTElOSywJIlBGX05FVExJTksiCX0sCisjZW5kaWYKKyNpZmRlZiBQRl9ORVRST00KKwl7IFBGX05FVFJPTSwJIlBGX05FVFJPTSIJfSwKKyNlbmRpZgorI2lmZGVmIFBGX1BBQ0tFVAorCXsgUEZfUEFDS0VULAkiUEZfUEFDS0VUIgl9LAorI2VuZGlmCisjaWZkZWYgUEZfUFBQT1gKKwl7IFBGX1BQUE9YLAkiUEZfUFBQT1giCX0sCisjZW5kaWYKKyNpZmRlZiBQRl9ST1NFCisJeyBQRl9ST1NFLAkiUEZfUk9TRSIJfSwKKyNlbmRpZgorI2lmZGVmIFBGX1JPVVRFCisJeyBQRl9ST1VURSwJIlBGX1JPVVRFIgl9LAorI2VuZGlmCisjaWZkZWYgUEZfU0VDVVJJVFkKKwl7IFBGX1NFQ1VSSVRZLAkiUEZfU0VDVVJJVFkiCX0sCisjZW5kaWYKKyNpZmRlZiBQRl9TTkEKKwl7IFBGX1NOQSwJIlBGX1NOQSIJfSwKKyNlbmRpZgorI2lmZGVmIFBGX1VOU1BFQworCXsgUEZfVU5TUEVDLAkiUEZfVU5TUEVDIgl9LAorI2VuZGlmCisjaWZkZWYgUEZfV0FOUElQRQorCXsgUEZfV0FOUElQRSwJIlBGX1dBTlBJUEUiCX0sCisjZW5kaWYKKyNpZmRlZiBQRl9YMjUKKwl7IFBGX1gyNSwJIlBGX1gyNSIJfSwKKyNlbmRpZgorCXsgMCwJCU5VTEwJCX0sCit9OworY29uc3Qgc3RydWN0IHhsYXQgYWRkcmZhbXNbXSA9IHsKKyNpZmRlZiBBRl9BUFBMRVRBTEsKKwl7IEFGX0FQUExFVEFMSywJIkFGX0FQUExFVEFMSyIJfSwKKyNlbmRpZgorI2lmZGVmIEFGX0FTSAorCXsgQUZfQVNILAkiQUZfQVNIIgl9LAorI2VuZGlmCisjaWZkZWYgQUZfQVRNUFZDCisJeyBBRl9BVE1QVkMsCSJBRl9BVE1QVkMiCX0sCisjZW5kaWYKKyNpZmRlZiBBRl9BVE1TVkMKKwl7IEFGX0FUTVNWQywJIkFGX0FUTVNWQyIJfSwKKyNlbmRpZgorI2lmZGVmIEFGX0FYMjUKKwl7IEFGX0FYMjUsCSJBRl9BWDI1Igl9LAorI2VuZGlmCisjaWZkZWYgQUZfQkxVRVRPT1RICisJeyBBRl9CTFVFVE9PVEgsCSJBRl9CTFVFVE9PVEgiCX0sCisjZW5kaWYKKyNpZmRlZiBBRl9CUklER0UKKwl7IEFGX0JSSURHRSwJIkFGX0JSSURHRSIJfSwKKyNlbmRpZgorI2lmZGVmIEFGX0RFQ25ldAorCXsgQUZfREVDbmV0LAkiQUZfREVDbmV0Igl9LAorI2VuZGlmCisjaWZkZWYgQUZfRUNPTkVUCisJeyBBRl9FQ09ORVQsCSJBRl9FQ09ORVQiCX0sCisjZW5kaWYKKyNpZmRlZiBBRl9GSUxFCisJeyBBRl9GSUxFLAkiQUZfRklMRSIJfSwKKyNlbmRpZgorI2lmZGVmIEFGX0lNUExJTksKKwl7IEFGX0lNUExJTkssCSJBRl9JTVBMSU5LIgl9LAorI2VuZGlmCisjaWZkZWYgQUZfSU5FVAorCXsgQUZfSU5FVCwJIkFGX0lORVQiCX0sCisjZW5kaWYKKyNpZmRlZiBBRl9JTkVUNgorCXsgQUZfSU5FVDYsCSJBRl9JTkVUNiIJfSwKKyNlbmRpZgorI2lmZGVmIEFGX0lQWAorCXsgQUZfSVBYLAkiQUZfSVBYIgl9LAorI2VuZGlmCisjaWZkZWYgQUZfSVJEQQorCXsgQUZfSVJEQSwJIkFGX0lSREEiCX0sCisjZW5kaWYKKyNpZmRlZiBBRl9JU08KKwl7IEFGX0lTTywJIkFGX0lTTyIJfSwKKyNlbmRpZgorI2lmZGVmIEFGX0tFWQorCXsgQUZfS0VZLAkiQUZfS0VZIgl9LAorI2VuZGlmCisjaWZkZWYgQUZfVU5JWAorCXsgQUZfVU5JWCwJIkFGX1VOSVgiCX0sCisjZW5kaWYKKyNpZmRlZiBBRl9MT0NBTAorCXsgQUZfTE9DQUwsCSJBRl9MT0NBTCIJfSwKKyNlbmRpZgorI2lmZGVmIEFGX05FVEJFVUkKKwl7IEFGX05FVEJFVUksCSJBRl9ORVRCRVVJIgl9LAorI2VuZGlmCisjaWZkZWYgQUZfTkVUTElOSworCXsgQUZfTkVUTElOSywJIkFGX05FVExJTksiCX0sCisjZW5kaWYKKyNpZmRlZiBBRl9ORVRST00KKwl7IEFGX05FVFJPTSwJIkFGX05FVFJPTSIJfSwKKyNlbmRpZgorI2lmZGVmIEFGX1BBQ0tFVAorCXsgQUZfUEFDS0VULAkiQUZfUEFDS0VUIgl9LAorI2VuZGlmCisjaWZkZWYgQUZfUFBQT1gKKwl7IEFGX1BQUE9YLAkiQUZfUFBQT1giCX0sCisjZW5kaWYKKyNpZmRlZiBBRl9ST1NFCisJeyBBRl9ST1NFLAkiQUZfUk9TRSIJfSwKKyNlbmRpZgorI2lmZGVmIEFGX1JPVVRFCisJeyBBRl9ST1VURSwJIkFGX1JPVVRFIgl9LAorI2VuZGlmCisjaWZkZWYgQUZfU0VDVVJJVFkKKwl7IEFGX1NFQ1VSSVRZLAkiQUZfU0VDVVJJVFkiCX0sCisjZW5kaWYKKyNpZmRlZiBBRl9TTkEKKwl7IEFGX1NOQSwJIkFGX1NOQSIJfSwKKyNlbmRpZgorI2lmZGVmIEFGX1VOU1BFQworCXsgQUZfVU5TUEVDLAkiQUZfVU5TUEVDIgl9LAorI2VuZGlmCisjaWZkZWYgQUZfV0FOUElQRQorCXsgQUZfV0FOUElQRSwJIkFGX1dBTlBJUEUiCX0sCisjZW5kaWYKKyNpZmRlZiBBRl9YMjUKKwl7IEFGX1gyNSwJIkFGX1gyNSIJfSwKKyNlbmRpZgorCXsgMCwJCU5VTEwJCX0sCit9Oworc3RhdGljIGNvbnN0IHN0cnVjdCB4bGF0IHNvY2t0eXBlc1tdID0geworCXsgU09DS19TVFJFQU0sCSJTT0NLX1NUUkVBTSIJfSwKKwl7IFNPQ0tfREdSQU0sCSJTT0NLX0RHUkFNIgl9LAorI2lmZGVmIFNPQ0tfUkFXCisJeyBTT0NLX1JBVywJIlNPQ0tfUkFXIgl9LAorI2VuZGlmCisjaWZkZWYgU09DS19SRE0KKwl7IFNPQ0tfUkRNLAkiU09DS19SRE0iCX0sCisjZW5kaWYKKyNpZmRlZiBTT0NLX1NFUVBBQ0tFVAorCXsgU09DS19TRVFQQUNLRVQsIlNPQ0tfU0VRUEFDS0VUIn0sCisjZW5kaWYKKyNpZmRlZiBTT0NLX0RDQ1AKKwl7IFNPQ0tfRENDUCwJIlNPQ0tfRENDUCIJfSwKKyNlbmRpZgorI2lmZGVmIFNPQ0tfUEFDS0VUCisJeyBTT0NLX1BBQ0tFVCwJIlNPQ0tfUEFDS0VUIgl9LAorI2VuZGlmCisJeyAwLAkJTlVMTAkJfSwKK307Citjb25zdCBzdHJ1Y3QgeGxhdCBzb2NrX3R5cGVfZmxhZ3NbXSA9IHsKKyNpZmRlZiBTT0NLX0NMT0VYRUMKKwl7IFNPQ0tfQ0xPRVhFQywJIlNPQ0tfQ0xPRVhFQyIJfSwKKyNlbmRpZgorI2lmZGVmIFNPQ0tfTk9OQkxPQ0sKKwl7IFNPQ0tfTk9OQkxPQ0ssIlNPQ0tfTk9OQkxPQ0siCX0sCisjZW5kaWYKKwl7IDAsCQlOVUxMCQl9LAorfTsKKyNpZm5kZWYgU09DS19UWVBFX01BU0sKKyMgZGVmaW5lIFNPQ0tfVFlQRV9NQVNLIDB4ZgorI2VuZGlmCitzdGF0aWMgY29uc3Qgc3RydWN0IHhsYXQgc29ja2V0bGF5ZXJzW10gPSB7CisjaWYgZGVmaW5lZChTT0xfSVApCisJeyBTT0xfSVAsCSJTT0xfSVAiCX0sCisjZW5kaWYKKyNpZiBkZWZpbmVkKFNPTF9JQ01QKQorCXsgU09MX0lDTVAsCSJTT0xfSUNNUCIJfSwKKyNlbmRpZgorI2lmIGRlZmluZWQoU09MX1RDUCkKKwl7IFNPTF9UQ1AsCSJTT0xfVENQIgl9LAorI2VuZGlmCisjaWYgZGVmaW5lZChTT0xfVURQKQorCXsgU09MX1VEUCwJIlNPTF9VRFAiCX0sCisjZW5kaWYKKyNpZiBkZWZpbmVkKFNPTF9JUFY2KQorCXsgU09MX0lQVjYsCSJTT0xfSVBWNiIJfSwKKyNlbmRpZgorI2lmIGRlZmluZWQoU09MX0lDTVBWNikKKwl7IFNPTF9JQ01QVjYsCSJTT0xfSUNNUFY2Igl9LAorI2VuZGlmCisjaWYgZGVmaW5lZChTT0xfUkFXKQorCXsgU09MX1JBVywJIlNPTF9SQVciCX0sCisjZW5kaWYKKyNpZiBkZWZpbmVkKFNPTF9JUFgpCisJeyBTT0xfSVBYLAkiU09MX0lQWCIJfSwKKyNlbmRpZgorI2lmIGRlZmluZWQoU09MX0lQWCkKKwl7IFNPTF9JUFgsCSJTT0xfSVBYIgl9LAorI2VuZGlmCisjaWYgZGVmaW5lZChTT0xfQVgyNSkKKwl7IFNPTF9BWDI1LAkiU09MX0FYMjUiCX0sCisjZW5kaWYKKyNpZiBkZWZpbmVkKFNPTF9BVEFMSykKKwl7IFNPTF9BVEFMSywJIlNPTF9BVEFMSyIJfSwKKyNlbmRpZgorI2lmIGRlZmluZWQoU09MX05FVFJPTSkKKwl7IFNPTF9ORVRST00sCSJTT0xfTkVUUk9NIgl9LAorI2VuZGlmCisjaWYgZGVmaW5lZChTT0xfUk9TRSkKKwl7IFNPTF9ST1NFLAkiU09MX1JPU0UiCX0sCisjZW5kaWYKKyNpZiBkZWZpbmVkKFNPTF9ERUNORVQpCisJeyBTT0xfREVDTkVULAkiU09MX0RFQ05FVCIJfSwKKyNlbmRpZgorI2lmIGRlZmluZWQoU09MX1gyNSkKKwl7IFNPTF9YMjUsCSJTT0xfWDI1Igl9LAorI2VuZGlmCisjaWYgZGVmaW5lZChTT0xfUEFDS0VUKQorCXsgU09MX1BBQ0tFVCwJIlNPTF9QQUNLRVQiCX0sCisjZW5kaWYKKyNpZiBkZWZpbmVkKFNPTF9BVE0pCisJeyBTT0xfQVRNLAkiU09MX0FUTSIJfSwKKyNlbmRpZgorI2lmIGRlZmluZWQoU09MX0FBTCkKKwl7IFNPTF9BQUwsCSJTT0xfQUFMIgl9LAorI2VuZGlmCisjaWYgZGVmaW5lZChTT0xfSVJEQSkKKwl7IFNPTF9JUkRBLAkiU09MX0lSREEiCX0sCisjZW5kaWYKKwl7IFNPTF9TT0NLRVQsCSJTT0xfU09DS0VUIgl9LAkvKiBOZXZlciB1c2VkISAqLworfTsKKy8qKiogV0FSTklORzogREFOR0VSIFdJTEwgUk9CSU5TT046IE5PVEUgInNvY2tldGxheWVycyIgYXJyYXkgYWJvdmUKKyAgICAgZmFsbHMgaW50byAicHJvdG9jb2xzIiBhcnJheSBiZWxvdyEhISEgICBUaGlzIGlzIGludGVuZGVkISEhICoqKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCBwcm90b2NvbHNbXSA9IHsKKwl7IElQUFJPVE9fSVAsCSJJUFBST1RPX0lQIgl9LAorCXsgSVBQUk9UT19JQ01QLAkiSVBQUk9UT19JQ01QIgl9LAorCXsgSVBQUk9UT19UQ1AsCSJJUFBST1RPX1RDUCIJfSwKKwl7IElQUFJPVE9fVURQLAkiSVBQUk9UT19VRFAiCX0sCisjaWZkZWYgSVBQUk9UT19HR1AKKwl7IElQUFJPVE9fR0dQLAkiSVBQUk9UT19HR1AiCX0sCisjZW5kaWYKKyNpZmRlZiBJUFBST1RPX0VHUAorCXsgSVBQUk9UT19FR1AsCSJJUFBST1RPX0VHUCIJfSwKKyNlbmRpZgorI2lmZGVmIElQUFJPVE9fUFVQCisJeyBJUFBST1RPX1BVUCwJIklQUFJPVE9fUFVQIgl9LAorI2VuZGlmCisjaWZkZWYgSVBQUk9UT19JRFAKKwl7IElQUFJPVE9fSURQLAkiSVBQUk9UT19JRFAiCX0sCisjZW5kaWYKKyNpZmRlZiBJUFBST1RPX0lQVjYKKwl7IElQUFJPVE9fSVBWNiwJIklQUFJPVE9fSVBWNiIJfSwKKyNlbmRpZgorI2lmZGVmIElQUFJPVE9fSUNNUFY2CisJeyBJUFBST1RPX0lDTVBWNiwiSVBQUk9UT19JQ01QVjYifSwKKyNlbmRpZgorI2lmZGVmIElQUFJPVE9fSUdNUAorCXsgSVBQUk9UT19JR01QLAkiSVBQUk9UT19JR01QIgl9LAorI2VuZGlmCisjaWZkZWYgSVBQUk9UT19IRUxMTworCXsgSVBQUk9UT19IRUxMTywiSVBQUk9UT19IRUxMTyIJfSwKKyNlbmRpZgorI2lmZGVmIElQUFJPVE9fTkQKKwl7IElQUFJPVE9fTkQsCSJJUFBST1RPX05EIgl9LAorI2VuZGlmCisjaWZkZWYgSVBQUk9UT19SQVcKKwl7IElQUFJPVE9fUkFXLAkiSVBQUk9UT19SQVciCX0sCisjZW5kaWYKKyNpZmRlZiBJUFBST1RPX01BWAorCXsgSVBQUk9UT19NQVgsCSJJUFBST1RPX01BWCIJfSwKKyNlbmRpZgorI2lmZGVmIElQUFJPVE9fSVBJUAorCXsgSVBQUk9UT19JUElQLAkiSVBQUk9UT19JUElQIgl9LAorI2VuZGlmCisJeyAwLAkJTlVMTAkJfSwKK307CitzdGF0aWMgY29uc3Qgc3RydWN0IHhsYXQgbXNnX2ZsYWdzW10gPSB7CisJeyBNU0dfT09CLAkJIk1TR19PT0IiCQl9LAorI2lmZGVmIE1TR19ET05UUk9VVEUKKwl7IE1TR19ET05UUk9VVEUsCSJNU0dfRE9OVFJPVVRFIgkJfSwKKyNlbmRpZgorI2lmZGVmIE1TR19QRUVLCisJeyBNU0dfUEVFSywJCSJNU0dfUEVFSyIJCX0sCisjZW5kaWYKKyNpZmRlZiBNU0dfQ1RSVU5DCisJeyBNU0dfQ1RSVU5DLAkJIk1TR19DVFJVTkMiCQl9LAorI2VuZGlmCisjaWZkZWYgTVNHX1BST1hZCisJeyBNU0dfUFJPWFksCQkiTVNHX1BST1hZIgkJfSwKKyNlbmRpZgorI2lmZGVmIE1TR19FT1IKKwl7IE1TR19FT1IsCQkiTVNHX0VPUiIJCX0sCisjZW5kaWYKKyNpZmRlZiBNU0dfV0FJVEFMTAorCXsgTVNHX1dBSVRBTEwsCQkiTVNHX1dBSVRBTEwiCQl9LAorI2VuZGlmCisjaWZkZWYgTVNHX1RSVU5DCisJeyBNU0dfVFJVTkMsCQkiTVNHX1RSVU5DIgkJfSwKKyNlbmRpZgorI2lmZGVmIE1TR19DVFJVTkMKKwl7IE1TR19DVFJVTkMsCQkiTVNHX0NUUlVOQyIJCX0sCisjZW5kaWYKKyNpZmRlZiBNU0dfRVJSUVVFVUUKKwl7IE1TR19FUlJRVUVVRSwJCSJNU0dfRVJSUVVFVUUiCQl9LAorI2VuZGlmCisjaWZkZWYgTVNHX0RPTlRXQUlUCisJeyBNU0dfRE9OVFdBSVQsCQkiTVNHX0RPTlRXQUlUIgkJfSwKKyNlbmRpZgorI2lmZGVmIE1TR19DT05GSVJNCisJeyBNU0dfQ09ORklSTSwJCSJNU0dfQ09ORklSTSIJCX0sCisjZW5kaWYKKyNpZmRlZiBNU0dfUFJPQkUKKwl7IE1TR19QUk9CRSwJCSJNU0dfUFJPQkUiCQl9LAorI2VuZGlmCisjaWZkZWYgTVNHX0ZJTgorCXsgTVNHX0ZJTiwJCSJNU0dfRklOIgkJfSwKKyNlbmRpZgorI2lmZGVmIE1TR19TWU4KKwl7IE1TR19TWU4sCQkiTVNHX1NZTiIJCX0sCisjZW5kaWYKKyNpZmRlZiBNU0dfUlNUCisJeyBNU0dfUlNULAkJIk1TR19SU1QiCQl9LAorI2VuZGlmCisjaWZkZWYgTVNHX05PU0lHTkFMCisJeyBNU0dfTk9TSUdOQUwsCQkiTVNHX05PU0lHTkFMIgkJfSwKKyNlbmRpZgorI2lmZGVmIE1TR19NT1JFCisJeyBNU0dfTU9SRSwJCSJNU0dfTU9SRSIJCX0sCisjZW5kaWYKKyNpZmRlZiBNU0dfQ01TR19DTE9FWEVDCisJeyBNU0dfQ01TR19DTE9FWEVDLAkiTVNHX0NNU0dfQ0xPRVhFQyIJfSwKKyNlbmRpZgorCXsgMCwJCQlOVUxMCQkJfSwKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCBzb2Nrb3B0aW9uc1tdID0geworI2lmZGVmIFNPX0FDQ0VQVENPTk4KKwl7IFNPX0FDQ0VQVENPTk4sCSJTT19BQ0NFUFRDT05OIgl9LAorI2VuZGlmCisjaWZkZWYgU09fQUxMUkFXCisJeyBTT19BTExSQVcsCSJTT19BTExSQVciCX0sCisjZW5kaWYKKyNpZmRlZiBTT19BVFRBQ0hfRklMVEVSCisJeyBTT19BVFRBQ0hfRklMVEVSLAkiU09fQVRUQUNIX0ZJTFRFUiIJfSwKKyNlbmRpZgorI2lmZGVmIFNPX0JJTkRUT0RFVklDRQorCXsgU09fQklORFRPREVWSUNFLAkiU09fQklORFRPREVWSUNFIgl9LAorI2VuZGlmCisjaWZkZWYgU09fQlJPQURDQVNUCisJeyBTT19CUk9BRENBU1QsCSJTT19CUk9BRENBU1QiCX0sCisjZW5kaWYKKyNpZmRlZiBTT19CU0RDT01QQVQKKwl7IFNPX0JTRENPTVBBVCwJIlNPX0JTRENPTVBBVCIJfSwKKyNlbmRpZgorI2lmZGVmIFNPX0RFQlVHCisJeyBTT19ERUJVRywJIlNPX0RFQlVHIgl9LAorI2VuZGlmCisjaWZkZWYgU09fREVUQUNIX0ZJTFRFUgorCXsgU09fREVUQUNIX0ZJTFRFUiwJIlNPX0RFVEFDSF9GSUxURVIiCX0sCisjZW5kaWYKKyNpZmRlZiBTT19ET05UUk9VVEUKKwl7IFNPX0RPTlRST1VURSwJIlNPX0RPTlRST1VURSIJfSwKKyNlbmRpZgorI2lmZGVmIFNPX0VSUk9SCisJeyBTT19FUlJPUiwJIlNPX0VSUk9SIgl9LAorI2VuZGlmCisjaWZkZWYgU09fSUNTCisJeyBTT19JQ1MsCSJTT19JQ1MiCX0sCisjZW5kaWYKKyNpZmRlZiBTT19JTUFTT0NLRVQKKwl7IFNPX0lNQVNPQ0tFVCwJIlNPX0lNQVNPQ0tFVCIJfSwKKyNlbmRpZgorI2lmZGVmIFNPX0tFRVBBTElWRQorCXsgU09fS0VFUEFMSVZFLAkiU09fS0VFUEFMSVZFIgl9LAorI2VuZGlmCisjaWZkZWYgU09fTElOR0VSCisJeyBTT19MSU5HRVIsCSJTT19MSU5HRVIiCX0sCisjZW5kaWYKKyNpZmRlZiBTT19MSVNURU5JTkcKKwl7IFNPX0xJU1RFTklORywJIlNPX0xJU1RFTklORyIJfSwKKyNlbmRpZgorI2lmZGVmIFNPX01HTVQKKwl7IFNPX01HTVQsCSJTT19NR01UIgl9LAorI2VuZGlmCisjaWZkZWYgU09fTk9fQ0hFQ0sKKwl7IFNPX05PX0NIRUNLLAkiU09fTk9fQ0hFQ0siCX0sCisjZW5kaWYKKyNpZmRlZiBTT19PT0JJTkxJTkUKKwl7IFNPX09PQklOTElORSwJIlNPX09PQklOTElORSIJfSwKKyNlbmRpZgorI2lmZGVmIFNPX09SRFJFTAorCXsgU09fT1JEUkVMLAkiU09fT1JEUkVMIgl9LAorI2VuZGlmCisjaWZkZWYgU09fUEFSQUxMRUxTVlIKKwl7IFNPX1BBUkFMTEVMU1ZSLAkiU09fUEFSQUxMRUxTVlIiCX0sCisjZW5kaWYKKyNpZmRlZiBTT19QQVNTQ1JFRAorCXsgU09fUEFTU0NSRUQsCSJTT19QQVNTQ1JFRCIJfSwKKyNlbmRpZgorI2lmZGVmIFNPX1BFRVJDUkVECisJeyBTT19QRUVSQ1JFRCwJIlNPX1BFRVJDUkVEIgl9LAorI2VuZGlmCisjaWZkZWYgU09fUEVFUk5BTUUKKwl7IFNPX1BFRVJOQU1FLAkiU09fUEVFUk5BTUUiCX0sCisjZW5kaWYKKyNpZmRlZiBTT19QRUVSU0VDCisJeyBTT19QRUVSU0VDLAkiU09fUEVFUlNFQyIJfSwKKyNlbmRpZgorI2lmZGVmIFNPX1BSSU9SSVRZCisJeyBTT19QUklPUklUWSwJIlNPX1BSSU9SSVRZIgl9LAorI2VuZGlmCisjaWZkZWYgU09fUFJPVE9UWVBFCisJeyBTT19QUk9UT1RZUEUsCSJTT19QUk9UT1RZUEUiCX0sCisjZW5kaWYKKyNpZmRlZiBTT19SQ1ZCVUYKKwl7IFNPX1JDVkJVRiwJIlNPX1JDVkJVRiIJfSwKKyNlbmRpZgorI2lmZGVmIFNPX1JDVkxPV0FUCisJeyBTT19SQ1ZMT1dBVCwJIlNPX1JDVkxPV0FUIgl9LAorI2VuZGlmCisjaWZkZWYgU09fUkNWVElNRU8KKwl7IFNPX1JDVlRJTUVPLAkiU09fUkNWVElNRU8iCX0sCisjZW5kaWYKKyNpZmRlZiBTT19SRFdSCisJeyBTT19SRFdSLAkiU09fUkRXUiIJfSwKKyNlbmRpZgorI2lmZGVmIFNPX1JFVVNFQUREUgorCXsgU09fUkVVU0VBRERSLAkiU09fUkVVU0VBRERSIgl9LAorI2VuZGlmCisjaWZkZWYgU09fUkVVU0VQT1JUCisJeyBTT19SRVVTRVBPUlQsCSJTT19SRVVTRVBPUlQiCX0sCisjZW5kaWYKKyNpZmRlZiBTT19TRUNVUklUWV9BVVRIRU5USUNBVElPTgorCXsgU09fU0VDVVJJVFlfQVVUSEVOVElDQVRJT04sIlNPX1NFQ1VSSVRZX0FVVEhFTlRJQ0FUSU9OIn0sCisjZW5kaWYKKyNpZmRlZiBTT19TRUNVUklUWV9FTkNSWVBUSU9OX05FVFdPUksKKwl7IFNPX1NFQ1VSSVRZX0VOQ1JZUFRJT05fTkVUV09SSywiU09fU0VDVVJJVFlfRU5DUllQVElPTl9ORVRXT1JLIn0sCisjZW5kaWYKKyNpZmRlZiBTT19TRUNVUklUWV9FTkNSWVBUSU9OX1RSQU5TUE9SVAorCXsgU09fU0VDVVJJVFlfRU5DUllQVElPTl9UUkFOU1BPUlQsIlNPX1NFQ1VSSVRZX0VOQ1JZUFRJT05fVFJBTlNQT1JUIn0sCisjZW5kaWYKKyNpZmRlZiBTT19TRU1BCisJeyBTT19TRU1BLAkiU09fU0VNQSIJfSwKKyNlbmRpZgorI2lmZGVmIFNPX1NOREJVRgorCXsgU09fU05EQlVGLAkiU09fU05EQlVGIgl9LAorI2VuZGlmCisjaWZkZWYgU09fU05ETE9XQVQKKwl7IFNPX1NORExPV0FULAkiU09fU05ETE9XQVQiCX0sCisjZW5kaWYKKyNpZmRlZiBTT19TTkRUSU1FTworCXsgU09fU05EVElNRU8sCSJTT19TTkRUSU1FTyIJfSwKKyNlbmRpZgorI2lmZGVmIFNPX1RJTUVTVEFNUAorCXsgU09fVElNRVNUQU1QLAkiU09fVElNRVNUQU1QIgl9LAorI2VuZGlmCisjaWZkZWYgU09fVFlQRQorCXsgU09fVFlQRSwJIlNPX1RZUEUiCX0sCisjZW5kaWYKKyNpZmRlZiBTT19VU0VMT09QQkFDSworCXsgU09fVVNFTE9PUEJBQ0ssCSJTT19VU0VMT09QQkFDSyIJfSwKKyNlbmRpZgorCXsgMCwJCU5VTEwJCX0sCit9OworCisjaWYgIWRlZmluZWQgKFNPTF9JUCkgJiYgZGVmaW5lZCAoSVBQUk9UT19JUCkKKyNkZWZpbmUgU09MX0lQIElQUFJPVE9fSVAKKyNlbmRpZgorCisjaWZkZWYgU09MX0lQCitzdGF0aWMgY29uc3Qgc3RydWN0IHhsYXQgc29ja2lwb3B0aW9uc1tdID0geworI2lmZGVmIElQX1RPUworCXsgSVBfVE9TLAkJIklQX1RPUyIJCX0sCisjZW5kaWYKKyNpZmRlZiBJUF9UVEwKKwl7IElQX1RUTCwJCSJJUF9UVEwiCQl9LAorI2VuZGlmCisjaWZkZWYgSVBfSERSSU5DTAorCXsgSVBfSERSSU5DTCwJCSJJUF9IRFJJTkNMIgkJfSwKKyNlbmRpZgorI2lmZGVmIElQX09QVElPTlMKKwl7IElQX09QVElPTlMsCQkiSVBfT1BUSU9OUyIJCX0sCisjZW5kaWYKKyNpZmRlZiBJUF9ST1VURVJfQUxFUlQKKwl7IElQX1JPVVRFUl9BTEVSVCwJIklQX1JPVVRFUl9BTEVSVCIJfSwKKyNlbmRpZgorI2lmZGVmIElQX1JFQ1ZPUFRJT05TCisJeyBJUF9SRUNWT1BUSU9OUywJIklQX1JFQ1ZPUFRJT05TIgl9LAorI2VuZGlmCisjaWZkZWYgSVBfUkVDVk9QVFMKKwl7IElQX1JFQ1ZPUFRTLAkJIklQX1JFQ1ZPUFRTIgkJfSwKKyNlbmRpZgorI2lmZGVmIElQX1JFQ1ZSRVRPUFRTCisJeyBJUF9SRUNWUkVUT1BUUywJIklQX1JFQ1ZSRVRPUFRTIgl9LAorI2VuZGlmCisjaWZkZWYgSVBfUkVDVkRTVEFERFIKKwl7IElQX1JFQ1ZEU1RBRERSLAkiSVBfUkVDVkRTVEFERFIiCX0sCisjZW5kaWYKKyNpZmRlZiBJUF9SRVRPUFRTCisJeyBJUF9SRVRPUFRTLAkJIklQX1JFVE9QVFMiCQl9LAorI2VuZGlmCisjaWZkZWYgSVBfUEtUSU5GTworCXsgSVBfUEtUSU5GTywJCSJJUF9QS1RJTkZPIgkJfSwKKyNlbmRpZgorI2lmZGVmIElQX1BLVE9QVElPTlMKKwl7IElQX1BLVE9QVElPTlMsCSJJUF9QS1RPUFRJT05TIgkJfSwKKyNlbmRpZgorI2lmZGVmIElQX01UVV9ESVNDT1ZFUgorCXsgSVBfTVRVX0RJU0NPVkVSLAkiSVBfTVRVX0RJU0NPVkVSIgl9LAorI2VuZGlmCisjaWZkZWYgSVBfUkVDVkVSUgorCXsgSVBfUkVDVkVSUiwJCSJJUF9SRUNWRVJSIgkJfSwKKyNlbmRpZgorI2lmZGVmIElQX1JFQ1ZUVEwKKwl7IElQX1JFQ1ZUVEwsCQkiSVBfUkVDVlRUTCIJCX0sCisjZW5kaWYKKyNpZmRlZiBJUF9SRUNWVE9TCisJeyBJUF9SRUNWVE9TLAkJIklQX1JFQ1ZUT1MiCQl9LAorI2VuZGlmCisjaWZkZWYgSVBfTVRVCisJeyBJUF9NVFUsCQkiSVBfTVRVIgkJfSwKKyNlbmRpZgorI2lmZGVmIElQX01VTFRJQ0FTVF9JRgorCXsgSVBfTVVMVElDQVNUX0lGLAkiSVBfTVVMVElDQVNUX0lGIgl9LAorI2VuZGlmCisjaWZkZWYgSVBfTVVMVElDQVNUX1RUTAorCXsgSVBfTVVMVElDQVNUX1RUTCwJIklQX01VTFRJQ0FTVF9UVEwiCX0sCisjZW5kaWYKKyNpZmRlZiBJUF9NVUxUSUNBU1RfTE9PUAorCXsgSVBfTVVMVElDQVNUX0xPT1AsCSJJUF9NVUxUSUNBU1RfTE9PUCIJfSwKKyNlbmRpZgorI2lmZGVmIElQX0FERF9NRU1CRVJTSElQCisJeyBJUF9BRERfTUVNQkVSU0hJUCwJIklQX0FERF9NRU1CRVJTSElQIgl9LAorI2VuZGlmCisjaWZkZWYgSVBfRFJPUF9NRU1CRVJTSElQCisJeyBJUF9EUk9QX01FTUJFUlNISVAsCSJJUF9EUk9QX01FTUJFUlNISVAiCX0sCisjZW5kaWYKKyNpZmRlZiBJUF9CUk9BRENBU1RfSUYKKwl7IElQX0JST0FEQ0FTVF9JRiwJIklQX0JST0FEQ0FTVF9JRiIJfSwKKyNlbmRpZgorI2lmZGVmIElQX1JFQ1ZJRklOREVYCisJeyBJUF9SRUNWSUZJTkRFWCwJIklQX1JFQ1ZJRklOREVYIgl9LAorI2VuZGlmCisjaWZkZWYgSVBfTVNGSUxURVIKKwl7IElQX01TRklMVEVSLAkJIklQX01TRklMVEVSIgkJfSwKKyNlbmRpZgorI2lmZGVmIE1DQVNUX01TRklMVEVSCisJeyBNQ0FTVF9NU0ZJTFRFUiwJIk1DQVNUX01TRklMVEVSIgl9LAorI2VuZGlmCisjaWZkZWYgSVBfRlJFRUJJTkQKKwl7IElQX0ZSRUVCSU5ELAkJIklQX0ZSRUVCSU5EIgkJfSwKKyNlbmRpZgorCXsgMCwJCQlOVUxMCQkJfSwKK307CisjZW5kaWYgLyogU09MX0lQICovCisKKyNpZmRlZiBTT0xfSVBWNgorc3RhdGljIGNvbnN0IHN0cnVjdCB4bGF0IHNvY2tpcHY2b3B0aW9uc1tdID0geworI2lmZGVmIElQVjZfQUREUkZPUk0KKwl7IElQVjZfQUREUkZPUk0sCSJJUFY2X0FERFJGT1JNIgkJfSwKKyNlbmRpZgorI2lmZGVmIE1DQVNUX0ZJTFRFUgorCXsgTUNBU1RfRklMVEVSLAkJIk1DQVNUX0ZJTFRFUiIJCX0sCisjZW5kaWYKKyNpZmRlZiBJUFY2X1BLVE9QVElPTlMKKwl7IElQVjZfUEtUT1BUSU9OUywJIklQVjZfUEtUT1BUSU9OUyIJfSwKKyNlbmRpZgorI2lmZGVmIElQVjZfTVRVCisJeyBJUFY2X01UVSwJCSJJUFY2X01UVSIJCX0sCisjZW5kaWYKKyNpZmRlZiBJUFY2X1Y2T05MWQorCXsgSVBWNl9WNk9OTFksCQkiSVBWNl9WNk9OTFkiCQl9LAorI2VuZGlmCisjaWZkZWYgSVBWNl9QS1RJTkZPCisJeyBJUFY2X1BLVElORk8sCQkiSVBWNl9QS1RJTkZPIgkJfSwKKyNlbmRpZgorI2lmZGVmIElQVjZfSE9QTElNSVQKKwl7IElQVjZfSE9QTElNSVQsCSJJUFY2X0hPUExJTUlUIgkJfSwKKyNlbmRpZgorI2lmZGVmIElQVjZfUlRIRFIKKwl7IElQVjZfUlRIRFIsCQkiSVBWNl9SVEhEUiIJCX0sCisjZW5kaWYKKyNpZmRlZiBJUFY2X0hPUE9QVFMKKwl7IElQVjZfSE9QT1BUUywJCSJJUFY2X0hPUE9QVFMiCQl9LAorI2VuZGlmCisjaWZkZWYgSVBWNl9EU1RPUFRTCisJeyBJUFY2X0RTVE9QVFMsCQkiSVBWNl9EU1RPUFRTIgkJfSwKKyNlbmRpZgorI2lmZGVmIElQVjZfRkxPV0lORk8KKwl7IElQVjZfRkxPV0lORk8sCSJJUFY2X0ZMT1dJTkZPIgkJfSwKKyNlbmRpZgorI2lmZGVmIElQVjZfVU5JQ0FTVF9IT1BTCisJeyBJUFY2X1VOSUNBU1RfSE9QUywJIklQVjZfVU5JQ0FTVF9IT1BTIgl9LAorI2VuZGlmCisjaWZkZWYgSVBWNl9NVUxUSUNBU1RfSE9QUworCXsgSVBWNl9NVUxUSUNBU1RfSE9QUywJIklQVjZfTVVMVElDQVNUX0hPUFMiCX0sCisjZW5kaWYKKyNpZmRlZiBJUFY2X01VTFRJQ0FTVF9MT09QCisJeyBJUFY2X01VTFRJQ0FTVF9MT09QLAkiSVBWNl9NVUxUSUNBU1RfTE9PUCIJfSwKKyNlbmRpZgorI2lmZGVmIElQVjZfTVVMVElDQVNUX0lGCisJeyBJUFY2X01VTFRJQ0FTVF9JRiwJIklQVjZfTVVMVElDQVNUX0lGIgl9LAorI2VuZGlmCisjaWZkZWYgSVBWNl9NVFVfRElTQ09WRVIKKwl7IElQVjZfTVRVX0RJU0NPVkVSLAkiSVBWNl9NVFVfRElTQ09WRVIiCX0sCisjZW5kaWYKKyNpZmRlZiBJUFY2X1JFQ1ZFUlIKKwl7IElQVjZfUkVDVkVSUiwJCSJJUFY2X1JFQ1ZFUlIiCQl9LAorI2VuZGlmCisjaWZkZWYgSVBWNl9GTE9XSU5GT19TRU5ECisJeyBJUFY2X0ZMT1dJTkZPX1NFTkQsCSJJUFY2X0ZMT1dJTkZPX1NFTkQiCX0sCisjZW5kaWYKKyNpZmRlZiBJUFY2X0FERF9NRU1CRVJTSElQCisJeyBJUFY2X0FERF9NRU1CRVJTSElQLAkiSVBWNl9BRERfTUVNQkVSU0hJUCIJfSwKKyNlbmRpZgorI2lmZGVmIElQVjZfRFJPUF9NRU1CRVJTSElQCisJeyBJUFY2X0RST1BfTUVNQkVSU0hJUCwJIklQVjZfRFJPUF9NRU1CRVJTSElQIgl9LAorI2VuZGlmCisjaWZkZWYgSVBWNl9ST1VURVJfQUxFUlQKKwl7IElQVjZfUk9VVEVSX0FMRVJULAkiSVBWNl9ST1VURVJfQUxFUlQiCX0sCisjZW5kaWYKKwl7IDAsCQkJTlVMTAkJCX0sCit9OworI2VuZGlmIC8qIFNPTF9JUFY2ICovCisKKyNpZmRlZiBTT0xfSVBYCitzdGF0aWMgY29uc3Qgc3RydWN0IHhsYXQgc29ja2lweG9wdGlvbnNbXSA9IHsKKwl7IElQWF9UWVBFLCAgICAgIklQWF9UWVBFIiAgICAgIH0sCisJeyAwLCAgICAgICAgICAgIE5VTEwgICAgICAgICAgICB9LAorfTsKKyNlbmRpZiAvKiBTT0xfSVBYICovCisKKyNpZmRlZiBTT0xfUkFXCitzdGF0aWMgY29uc3Qgc3RydWN0IHhsYXQgc29ja3Jhd29wdGlvbnNbXSA9IHsKKyNpZiBkZWZpbmVkKElDTVBfRklMVEVSKQorCXsgSUNNUF9GSUxURVIsCQkiSUNNUF9GSUxURVIiCX0sCisjZW5kaWYKKwl7IDAsCQkJTlVMTAkJfSwKK307CisjZW5kaWYgLyogU09MX1JBVyAqLworCisjaWZkZWYgU09MX1BBQ0tFVAorc3RhdGljIGNvbnN0IHN0cnVjdCB4bGF0IHNvY2twYWNrZXRvcHRpb25zW10gPSB7CisjaWZkZWYgUEFDS0VUX0FERF9NRU1CRVJTSElQCisJeyBQQUNLRVRfQUREX01FTUJFUlNISVAsCSJQQUNLRVRfQUREX01FTUJFUlNISVAiCX0sCisjZW5kaWYKKyNpZmRlZiBQQUNLRVRfRFJPUF9NRU1CRVJTSElQCisJeyBQQUNLRVRfRFJPUF9NRU1CRVJTSElQLAkiUEFDS0VUX0RST1BfTUVNQkVSU0hJUCJ9LAorI2VuZGlmCisjaWYgZGVmaW5lZChQQUNLRVRfUkVDVl9PVVRQVVQpCisJeyBQQUNLRVRfUkVDVl9PVVRQVVQsCQkiUEFDS0VUX1JFQ1ZfT1VUUFVUIgl9LAorI2VuZGlmCisjaWYgZGVmaW5lZChQQUNLRVRfUlhfUklORykKKwl7IFBBQ0tFVF9SWF9SSU5HLAkJIlBBQ0tFVF9SWF9SSU5HIgl9LAorI2VuZGlmCisjaWYgZGVmaW5lZChQQUNLRVRfU1RBVElTVElDUykKKwl7IFBBQ0tFVF9TVEFUSVNUSUNTLAkJIlBBQ0tFVF9TVEFUSVNUSUNTIgl9LAorI2VuZGlmCisjaWYgZGVmaW5lZChQQUNLRVRfQ09QWV9USFJFU0gpCisJeyBQQUNLRVRfQ09QWV9USFJFU0gsCQkiUEFDS0VUX0NPUFlfVEhSRVNIIgl9LAorI2VuZGlmCisjaWYgZGVmaW5lZChQQUNLRVRfQVVYREFUQSkKKwl7IFBBQ0tFVF9BVVhEQVRBLAkJIlBBQ0tFVF9BVVhEQVRBIgl9LAorI2VuZGlmCisjaWYgZGVmaW5lZChQQUNLRVRfT1JJR0RFVikKKwl7IFBBQ0tFVF9PUklHREVWLAkJIlBBQ0tFVF9PUklHREVWIgl9LAorI2VuZGlmCisjaWYgZGVmaW5lZChQQUNLRVRfVkVSU0lPTikKKwl7IFBBQ0tFVF9WRVJTSU9OLAkJIlBBQ0tFVF9WRVJTSU9OIgl9LAorI2VuZGlmCisjaWYgZGVmaW5lZChQQUNLRVRfSERSTEVOKQorCXsgUEFDS0VUX0hEUkxFTiwJCSJQQUNLRVRfSERSTEVOIgl9LAorI2VuZGlmCisjaWYgZGVmaW5lZChQQUNLRVRfUkVTRVJWRSkKKwl7IFBBQ0tFVF9SRVNFUlZFLAkJIlBBQ0tFVF9SRVNFUlZFIgl9LAorI2VuZGlmCisjaWYgZGVmaW5lZChQQUNLRVRfVFhfUklORykKKwl7IFBBQ0tFVF9UWF9SSU5HLAkJIlBBQ0tFVF9UWF9SSU5HIgl9LAorI2VuZGlmCisjaWYgZGVmaW5lZChQQUNLRVRfTE9TUykKKwl7IFBBQ0tFVF9MT1NTLAkJCSJQQUNLRVRfTE9TUyIJfSwKKyNlbmRpZgorCXsgMCwJCQkJTlVMTAkJCX0sCit9OworI2VuZGlmIC8qIFNPTF9QQUNLRVQgKi8KKworI2lmICAhZGVmaW5lZCAoU09MX1RDUCkgJiYgZGVmaW5lZCAoSVBQUk9UT19UQ1ApCisjZGVmaW5lIFNPTF9UQ1AgSVBQUk9UT19UQ1AKKyNlbmRpZgorCisjaWZkZWYgU09MX1RDUAorc3RhdGljIGNvbnN0IHN0cnVjdCB4bGF0IHNvY2t0Y3BvcHRpb25zW10gPSB7CisJeyBUQ1BfTk9ERUxBWSwJCSJUQ1BfTk9ERUxBWSIJfSwKKwl7IFRDUF9NQVhTRUcsCQkiVENQX01BWFNFRyIJfSwKKyNpZiBkZWZpbmVkKFRDUF9DT1JLKQorCXsgVENQX0NPUkssCQkiVENQX0NPUksiCX0sCisjZW5kaWYKKyNpZiBkZWZpbmVkKFRDUF9LRUVQSURMRSkKKwl7IFRDUF9LRUVQSURMRSwJCSJUQ1BfS0VFUElETEUiIH0sCisjZW5kaWYKKyNpZiBkZWZpbmVkKFRDUF9LRUVQSU5UVkwpCisJeyBUQ1BfS0VFUElOVFZMLAkiVENQX0tFRVBJTlRWTCIgfSwKKyNlbmRpZgorI2lmIGRlZmluZWQoVENQX0tFRVBDTlQpCisJeyBUQ1BfS0VFUENOVCwJCSJUQ1BfS0VFUENOVCIgfSwKKyNlbmRpZgorI2lmIGRlZmluZWQoVENQX05LRUVQKQorCXsgVENQX05LRUVQLAkJIlRDUF9OS0VFUCIJfSwKKyNlbmRpZgorI2lmIGRlZmluZWQoVENQX1NZTkNOVCkKKwl7IFRDUF9TWU5DTlQsCQkiVENQX1NZTkNOVCIgfSwKKyNlbmRpZgorI2lmIGRlZmluZWQoVENQX0xJTkdFUjIpCisJeyBUQ1BfTElOR0VSMiwJCSJUQ1BfTElOR0VSMiIgfSwKKyNlbmRpZgorI2lmIGRlZmluZWQoVENQX0RFRkVSX0FDQ0VQVCkKKwl7IFRDUF9ERUZFUl9BQ0NFUFQsCSJUQ1BfREVGRVJfQUNDRVBUIiB9LAorI2VuZGlmCisjaWYgZGVmaW5lZChUQ1BfV0lORE9XX0NMQU1QKQorCXsgVENQX1dJTkRPV19DTEFNUCwJIlRDUF9XSU5ET1dfQ0xBTVAiIH0sCisjZW5kaWYKKyNpZiBkZWZpbmVkKFRDUF9JTkZPKQorCXsgVENQX0lORk8sCQkiVENQX0lORk8iIH0sCisjZW5kaWYKKyNpZiBkZWZpbmVkKFRDUF9RVUlDS0FDSykKKwl7IFRDUF9RVUlDS0FDSywJCSJUQ1BfUVVJQ0tBQ0siIH0sCisjZW5kaWYKKwl7IDAsCQkJTlVMTAkJfSwKK307CisjZW5kaWYgLyogU09MX1RDUCAqLworCisjaWZkZWYgU09MX1JBVworc3RhdGljIGNvbnN0IHN0cnVjdCB4bGF0IGljbXBmaWx0ZXJmbGFnc1tdID0geworI2lmIGRlZmluZWQoSUNNUF9FQ0hPUkVQTFkpCisJeyAoMTw8SUNNUF9FQ0hPUkVQTFkpLAkJIklDTVBfRUNIT1JFUExZIgl9LAorI2VuZGlmCisjaWYgZGVmaW5lZChJQ01QX0RFU1RfVU5SRUFDSCkKKwl7ICgxPDxJQ01QX0RFU1RfVU5SRUFDSCksCSJJQ01QX0RFU1RfVU5SRUFDSCIJfSwKKyNlbmRpZgorI2lmIGRlZmluZWQoSUNNUF9TT1VSQ0VfUVVFTkNIKQorCXsgKDE8PElDTVBfU09VUkNFX1FVRU5DSCksCSJJQ01QX1NPVVJDRV9RVUVOQ0giCX0sCisjZW5kaWYKKyNpZiBkZWZpbmVkKElDTVBfUkVESVJFQ1QpCisJeyAoMTw8SUNNUF9SRURJUkVDVCksCQkiSUNNUF9SRURJUkVDVCIJCX0sCisjZW5kaWYKKyNpZiBkZWZpbmVkKElDTVBfRUNITykKKwl7ICgxPDxJQ01QX0VDSE8pLAkJIklDTVBfRUNITyIJCX0sCisjZW5kaWYKKyNpZiBkZWZpbmVkKElDTVBfVElNRV9FWENFRURFRCkKKwl7ICgxPDxJQ01QX1RJTUVfRVhDRUVERUQpLAkiSUNNUF9USU1FX0VYQ0VFREVEIgl9LAorI2VuZGlmCisjaWYgZGVmaW5lZChJQ01QX1BBUkFNRVRFUlBST0IpCisJeyAoMTw8SUNNUF9QQVJBTUVURVJQUk9CKSwJIklDTVBfUEFSQU1FVEVSUFJPQiIJfSwKKyNlbmRpZgorI2lmIGRlZmluZWQoSUNNUF9USU1FU1RBTVApCisJeyAoMTw8SUNNUF9USU1FU1RBTVApLAkJIklDTVBfVElNRVNUQU1QIgl9LAorI2VuZGlmCisjaWYgZGVmaW5lZChJQ01QX1RJTUVTVEFNUFJFUExZKQorCXsgKDE8PElDTVBfVElNRVNUQU1QUkVQTFkpLAkiSUNNUF9USU1FU1RBTVBSRVBMWSIJfSwKKyNlbmRpZgorI2lmIGRlZmluZWQoSUNNUF9JTkZPX1JFUVVFU1QpCisJeyAoMTw8SUNNUF9JTkZPX1JFUVVFU1QpLAkiSUNNUF9JTkZPX1JFUVVFU1QiCX0sCisjZW5kaWYKKyNpZiBkZWZpbmVkKElDTVBfSU5GT19SRVBMWSkKKwl7ICgxPDxJQ01QX0lORk9fUkVQTFkpLAkJIklDTVBfSU5GT19SRVBMWSIJfSwKKyNlbmRpZgorI2lmIGRlZmluZWQoSUNNUF9BRERSRVNTKQorCXsgKDE8PElDTVBfQUREUkVTUyksCQkiSUNNUF9BRERSRVNTIgkJfSwKKyNlbmRpZgorI2lmIGRlZmluZWQoSUNNUF9BRERSRVNTUkVQTFkpCisJeyAoMTw8SUNNUF9BRERSRVNTUkVQTFkpLAkiSUNNUF9BRERSRVNTUkVQTFkiCX0sCisjZW5kaWYKKwl7IDAsCQkJCU5VTEwJCQl9LAorfTsKKyNlbmRpZiAvKiBTT0xfUkFXICovCisKKyNpZiBkZWZpbmVkKEFGX1BBQ0tFVCkgLyogZnJvbSBlLmcuIGxpbnV4L2lmX3BhY2tldC5oICovCitzdGF0aWMgY29uc3Qgc3RydWN0IHhsYXQgYWZfcGFja2V0X3R5cGVzW10gPSB7CisjaWYgZGVmaW5lZChQQUNLRVRfSE9TVCkKKwl7IFBBQ0tFVF9IT1NULAkJCSJQQUNLRVRfSE9TVCIJCX0sCisjZW5kaWYKKyNpZiBkZWZpbmVkKFBBQ0tFVF9CUk9BRENBU1QpCisJeyBQQUNLRVRfQlJPQURDQVNULAkJIlBBQ0tFVF9CUk9BRENBU1QiCX0sCisjZW5kaWYKKyNpZiBkZWZpbmVkKFBBQ0tFVF9NVUxUSUNBU1QpCisJeyBQQUNLRVRfTVVMVElDQVNULAkJIlBBQ0tFVF9NVUxUSUNBU1QiCX0sCisjZW5kaWYKKyNpZiBkZWZpbmVkKFBBQ0tFVF9PVEhFUkhPU1QpCisJeyBQQUNLRVRfT1RIRVJIT1NULAkJIlBBQ0tFVF9PVEhFUkhPU1QiCX0sCisjZW5kaWYKKyNpZiBkZWZpbmVkKFBBQ0tFVF9PVVRHT0lORykKKwl7IFBBQ0tFVF9PVVRHT0lORywJCSJQQUNLRVRfT1VUR09JTkciCX0sCisjZW5kaWYKKyNpZiBkZWZpbmVkKFBBQ0tFVF9MT09QQkFDSykKKwl7IFBBQ0tFVF9MT09QQkFDSywJCSJQQUNLRVRfTE9PUEJBQ0siCX0sCisjZW5kaWYKKyNpZiBkZWZpbmVkKFBBQ0tFVF9GQVNUUk9VVEUpCisJeyBQQUNLRVRfRkFTVFJPVVRFLAkJIlBBQ0tFVF9GQVNUUk9VVEUiCX0sCisjZW5kaWYKKwl7IDAsCQkJCU5VTEwJCQl9LAorfTsKKyNlbmRpZiAvKiBkZWZpbmVkKEFGX1BBQ0tFVCkgKi8KKworCit2b2lkCitwcmludHNvY2soc3RydWN0IHRjYiAqdGNwLCBsb25nIGFkZHIsIGludCBhZGRybGVuKQoreworCXVuaW9uIHsKKwkJY2hhciBwYWRbMTI4XTsKKwkJc3RydWN0IHNvY2thZGRyIHNhOworCQlzdHJ1Y3Qgc29ja2FkZHJfaW4gc2luOworCQlzdHJ1Y3Qgc29ja2FkZHJfdW4gc2F1OworI2lmZGVmIEhBVkVfSU5FVF9OVE9QCisJCXN0cnVjdCBzb2NrYWRkcl9pbjYgc2E2OworI2VuZGlmCisjaWYgZGVmaW5lZChMSU5VWCkgJiYgZGVmaW5lZChBRl9JUFgpCisJCXN0cnVjdCBzb2NrYWRkcl9pcHggc2lweDsKKyNlbmRpZgorI2lmZGVmIEFGX1BBQ0tFVAorCQlzdHJ1Y3Qgc29ja2FkZHJfbGwgbGw7CisjZW5kaWYKKyNpZmRlZiBBRl9ORVRMSU5LCisJCXN0cnVjdCBzb2NrYWRkcl9ubCBubDsKKyNlbmRpZgorCX0gYWRkcmJ1ZjsKKwljaGFyIHN0cmluZ19hZGRyWzEwMF07CisKKwlpZiAoYWRkciA9PSAwKSB7CisJCXRwcmludGYoIk5VTEwiKTsKKwkJcmV0dXJuOworCX0KKwlpZiAoIXZlcmJvc2UodGNwKSkgeworCQl0cHJpbnRmKCIlI2x4IiwgYWRkcik7CisJCXJldHVybjsKKwl9CisKKwlpZiAoYWRkcmxlbiA8IDIgfHwgYWRkcmxlbiA+IHNpemVvZihhZGRyYnVmKSkKKwkJYWRkcmxlbiA9IHNpemVvZihhZGRyYnVmKTsKKworCW1lbXNldCgmYWRkcmJ1ZiwgMCwgc2l6ZW9mKGFkZHJidWYpKTsKKwlpZiAodW1vdmVuKHRjcCwgYWRkciwgYWRkcmxlbiwgYWRkcmJ1Zi5wYWQpIDwgMCkgeworCQl0cHJpbnRmKCJ7Li4ufSIpOworCQlyZXR1cm47CisJfQorCWFkZHJidWYucGFkW3NpemVvZihhZGRyYnVmLnBhZCkgLSAxXSA9ICdcMCc7CisKKwl0cHJpbnRmKCJ7c2FfZmFtaWx5PSIpOworCXByaW50eHZhbChhZGRyZmFtcywgYWRkcmJ1Zi5zYS5zYV9mYW1pbHksICJBRl8/Pz8iKTsKKwl0cHJpbnRmKCIsICIpOworCisJc3dpdGNoIChhZGRyYnVmLnNhLnNhX2ZhbWlseSkgeworCWNhc2UgQUZfVU5JWDoKKwkJaWYgKGFkZHJsZW4gPT0gMikgeworCQkJdHByaW50ZigiTlVMTCIpOworCQl9IGVsc2UgaWYgKGFkZHJidWYuc2F1LnN1bl9wYXRoWzBdKSB7CisJCQl0cHJpbnRmKCJwYXRoPSIpOworCQkJcHJpbnRwYXRobih0Y3AsIGFkZHIgKyAyLCBzdHJsZW4oYWRkcmJ1Zi5zYXUuc3VuX3BhdGgpKTsKKwkJfSBlbHNlIHsKKwkJCXRwcmludGYoInBhdGg9QCIpOworCQkJcHJpbnRwYXRobih0Y3AsIGFkZHIgKyAzLCBzdHJsZW4oYWRkcmJ1Zi5zYXUuc3VuX3BhdGggKyAxKSk7CisJCX0KKwkJYnJlYWs7CisJY2FzZSBBRl9JTkVUOgorCQl0cHJpbnRmKCJzaW5fcG9ydD1odG9ucygldSksIHNpbl9hZGRyPWluZXRfYWRkcihcIiVzXCIpIiwKKwkJCW50b2hzKGFkZHJidWYuc2luLnNpbl9wb3J0KSwgaW5ldF9udG9hKGFkZHJidWYuc2luLnNpbl9hZGRyKSk7CisJCWJyZWFrOworI2lmZGVmIEhBVkVfSU5FVF9OVE9QCisJY2FzZSBBRl9JTkVUNjoKKwkJaW5ldF9udG9wKEFGX0lORVQ2LCAmYWRkcmJ1Zi5zYTYuc2luNl9hZGRyLCBzdHJpbmdfYWRkciwgc2l6ZW9mKHN0cmluZ19hZGRyKSk7CisJCXRwcmludGYoInNpbjZfcG9ydD1odG9ucygldSksIGluZXRfcHRvbihBRl9JTkVUNiwgXCIlc1wiLCAmc2luNl9hZGRyKSwgc2luNl9mbG93aW5mbz0ldSIsCisJCQkJbnRvaHMoYWRkcmJ1Zi5zYTYuc2luNl9wb3J0KSwgc3RyaW5nX2FkZHIsCisJCQkJYWRkcmJ1Zi5zYTYuc2luNl9mbG93aW5mbyk7CisjaWZkZWYgSEFWRV9TVFJVQ1RfU09DS0FERFJfSU42X1NJTjZfU0NPUEVfSUQKKwkJeworI2lmIGRlZmluZWQoSEFWRV9JRl9JTkRFWFRPTkFNRSkgJiYgZGVmaW5lZChJTjZfSVNfQUREUl9MSU5LTE9DQUwpICYmIGRlZmluZWQoSU42X0lTX0FERFJfTUNfTElOS0xPQ0FMKQorCQkgICAgaW50IG51bWVyaWNzY29wZSA9IDA7CisJCSAgICBpZiAoSU42X0lTX0FERFJfTElOS0xPQ0FMICgmYWRkcmJ1Zi5zYTYuc2luNl9hZGRyKQorCQkJICAgIHx8IElONl9JU19BRERSX01DX0xJTktMT0NBTCAoJmFkZHJidWYuc2E2LnNpbjZfYWRkcikpIHsKKwkJCWNoYXIgc2NvcGVidWZbSUZOQU1TSVogKyAxXTsKKworCQkJaWYgKGlmX2luZGV4dG9uYW1lIChhZGRyYnVmLnNhNi5zaW42X3Njb3BlX2lkLCBzY29wZWJ1ZikgPT0gTlVMTCkKKwkJCSAgICBudW1lcmljc2NvcGUrKzsKKwkJCWVsc2UKKwkJCSAgICB0cHJpbnRmKCIsIHNpbjZfc2NvcGVfaWQ9aWZfbmFtZXRvaW5kZXgoXCIlc1wiKSIsIHNjb3BlYnVmKTsKKwkJICAgIH0gZWxzZQorCQkJbnVtZXJpY3Njb3BlKys7CisKKwkJICAgIGlmIChudW1lcmljc2NvcGUpCisjZW5kaWYKKwkJCXRwcmludGYoIiwgc2luNl9zY29wZV9pZD0ldSIsIGFkZHJidWYuc2E2LnNpbjZfc2NvcGVfaWQpOworCQl9CisjZW5kaWYKKwkJICAgIGJyZWFrOworI2VuZGlmCisjaWYgZGVmaW5lZChBRl9JUFgpICYmIGRlZmluZWQobGludXgpCisJY2FzZSBBRl9JUFg6CisJCXsKKwkJCWludCBpOworCQkJdHByaW50Zigic2lweF9wb3J0PWh0b25zKCV1KSwgIiwKKwkJCQkJbnRvaHMoYWRkcmJ1Zi5zaXB4LnNpcHhfcG9ydCkpOworCQkJLyogWWVzLCBJIGtub3csIHRoaXMgZG9lcyBub3QgbG9vayB0b28KKwkJCSAqIHN0cmFjZS1pc2gsIGJ1dCBvdGhlcndpc2UgdGhlIElQWAorCQkJICogYWRkcmVzc2VzIGp1c3QgbG9vayBtb25zdHJvdXMuLi4KKwkJCSAqIEFueXdheXMsIGZlZWwgZnJlZSBpZiB5b3UgZG9uJ3QgbGlrZQorCQkJICogdGhpcyB3YXkuLiA6KQorCQkJICovCisJCQl0cHJpbnRmKCIlMDhseDoiLCAodW5zaWduZWQgbG9uZyludG9obChhZGRyYnVmLnNpcHguc2lweF9uZXR3b3JrKSk7CisJCQlmb3IgKGkgPSAwOyBpPElQWF9OT0RFX0xFTjsgaSsrKQorCQkJCXRwcmludGYoIiUwMngiLCBhZGRyYnVmLnNpcHguc2lweF9ub2RlW2ldKTsKKwkJCXRwcmludGYoIi9bJTAyeF0iLCBhZGRyYnVmLnNpcHguc2lweF90eXBlKTsKKwkJfQorCQlicmVhazsKKyNlbmRpZiAvKiBBRl9JUFggJiYgbGludXggKi8KKyNpZmRlZiBBRl9QQUNLRVQKKwljYXNlIEFGX1BBQ0tFVDoKKwkJeworCQkJaW50IGk7CisJCQl0cHJpbnRmKCJwcm90bz0lIzA0eCwgaWYlZCwgcGt0dHlwZT0iLAorCQkJCQludG9ocyhhZGRyYnVmLmxsLnNsbF9wcm90b2NvbCksCisJCQkJCWFkZHJidWYubGwuc2xsX2lmaW5kZXgpOworCQkJcHJpbnR4dmFsKGFmX3BhY2tldF90eXBlcywgYWRkcmJ1Zi5sbC5zbGxfcGt0dHlwZSwgIj8iKTsKKwkJCXRwcmludGYoIiwgYWRkciglZCk9eyVkLCAiLAorCQkJCQlhZGRyYnVmLmxsLnNsbF9oYWxlbiwKKwkJCQkJYWRkcmJ1Zi5sbC5zbGxfaGF0eXBlKTsKKwkJCWZvciAoaT0wOyBpPGFkZHJidWYubGwuc2xsX2hhbGVuOyBpKyspCisJCQkJdHByaW50ZigiJTAyeCIsIGFkZHJidWYubGwuc2xsX2FkZHJbaV0pOworCQl9CisJCWJyZWFrOworCisjZW5kaWYgLyogQUZfQVBBQ0tFVCAqLworI2lmZGVmIEFGX05FVExJTksKKwljYXNlIEFGX05FVExJTks6CisJCXRwcmludGYoInBpZD0lZCwgZ3JvdXBzPSUwOHgiLCBhZGRyYnVmLm5sLm5sX3BpZCwgYWRkcmJ1Zi5ubC5ubF9ncm91cHMpOworCQlicmVhazsKKyNlbmRpZiAvKiBBRl9ORVRMSU5LICovCisJLyogQUZfQVgyNSBBRl9BUFBMRVRBTEsgQUZfTkVUUk9NIEFGX0JSSURHRSBBRl9BQUw1CisJQUZfWDI1IEFGX1JPU0UgZXRjLiBzdGlsbCBuZWVkIHRvIGJlIGRvbmUgKi8KKworCWRlZmF1bHQ6CisJCXRwcmludGYoInNhX2RhdGE9Iik7CisJCXByaW50c3RyKHRjcCwgKGxvbmcpICYoKHN0cnVjdCBzb2NrYWRkciAqKSBhZGRyKS0+c2FfZGF0YSwKKwkJCXNpemVvZiBhZGRyYnVmLnNhLnNhX2RhdGEpOworCQlicmVhazsKKwl9CisJdHByaW50ZigifSIpOworfQorCisjaWYgSEFWRV9TRU5ETVNHCitzdGF0aWMgY29uc3Qgc3RydWN0IHhsYXQgc2NtdmFsc1tdID0geworI2lmZGVmIFNDTV9SSUdIVFMKKwl7IFNDTV9SSUdIVFMsCQkiU0NNX1JJR0hUUyIJCX0sCisjZW5kaWYKKyNpZmRlZiBTQ01fQ1JFREVOVElBTFMKKwl7IFNDTV9DUkVERU5USUFMUywJIlNDTV9DUkVERU5USUFMUyIJfSwKKyNlbmRpZgorCXsgMCwJCQlOVUxMCQkJfQorfTsKKworc3RhdGljIHZvaWQKK3ByaW50Y21zZ2hkcihzdHJ1Y3QgdGNiICp0Y3AsIHVuc2lnbmVkIGxvbmcgYWRkciwgdW5zaWduZWQgbG9uZyBsZW4pCit7CisJc3RydWN0IGNtc2doZHIgKmNtc2cgPSBsZW4gPCBzaXplb2Yoc3RydWN0IGNtc2doZHIpID8KKwkJCSAgICAgICBOVUxMIDogbWFsbG9jKGxlbik7CisJaWYgKGNtc2cgPT0gTlVMTCB8fCB1bW92ZW4odGNwLCBhZGRyLCBsZW4sIChjaGFyICopIGNtc2cpIDwgMCkgeworCQl0cHJpbnRmKCIsIG1zZ19jb250cm9sPSUjbHgiLCBhZGRyKTsKKwkJZnJlZShjbXNnKTsKKwkJcmV0dXJuOworCX0KKworCXRwcmludGYoIiwge2Ntc2dfbGVuPSV1LCBjbXNnX2xldmVsPSIsICh1bnNpZ25lZCkgY21zZy0+Y21zZ19sZW4pOworCXByaW50eHZhbChzb2NrZXRsYXllcnMsIGNtc2ctPmNtc2dfbGV2ZWwsICJTT0xfPz8/Iik7CisJdHByaW50ZigiLCBjbXNnX3R5cGU9Iik7CisKKwlpZiAoY21zZy0+Y21zZ19sZXZlbCA9PSBTT0xfU09DS0VUKSB7CisJCXVuc2lnbmVkIGxvbmcgY21zZ19sZW47CisKKwkJcHJpbnR4dmFsKHNjbXZhbHMsIGNtc2ctPmNtc2dfdHlwZSwgIlNDTV8/Pz8iKTsKKwkJY21zZ19sZW4gPSAobGVuIDwgY21zZy0+Y21zZ19sZW4pID8gbGVuIDogY21zZy0+Y21zZ19sZW47CisKKwkJaWYgKGNtc2ctPmNtc2dfdHlwZSA9PSBTQ01fUklHSFRTCisJCSAgICAmJiBDTVNHX0xFTihzaXplb2YoaW50KSkgPD0gY21zZ19sZW4pIHsKKwkJCWludCAqZmRzID0gKGludCAqKSBDTVNHX0RBVEEgKGNtc2cpOworCQkJaW50IGZpcnN0ID0gMTsKKworCQkJdHByaW50ZigiLCB7Iik7CisJCQl3aGlsZSAoKGNoYXIgKikgZmRzIDwgKChjaGFyICopIGNtc2cgKyBjbXNnX2xlbikpIHsKKwkJCQlpZiAoIWZpcnN0KQorCQkJCQl0cHJpbnRmKCIsICIpOworCQkJCXRwcmludGYoIiVkIiwgKmZkcysrKTsKKwkJCQlmaXJzdCA9IDA7CisJCQl9CisJCQl0cHJpbnRmKCJ9fSIpOworCQkJZnJlZShjbXNnKTsKKwkJCXJldHVybjsKKwkJfQorCQlpZiAoY21zZy0+Y21zZ190eXBlID09IFNDTV9DUkVERU5USUFMUworCQkgICAgJiYgQ01TR19MRU4oc2l6ZW9mKHN0cnVjdCB1Y3JlZCkpIDw9IGNtc2dfbGVuKSB7CisJCQlzdHJ1Y3QgdWNyZWQgKnVjID0gKHN0cnVjdCB1Y3JlZCAqKSBDTVNHX0RBVEEgKGNtc2cpOworCisJCQl0cHJpbnRmKCJ7cGlkPSVsZCwgdWlkPSVsZCwgZ2lkPSVsZH19IiwKKwkJCQkobG9uZyl1Yy0+cGlkLCAobG9uZyl1Yy0+dWlkLCAobG9uZyl1Yy0+Z2lkKTsKKwkJCWZyZWUoY21zZyk7CisJCQlyZXR1cm47CisJCX0KKwl9CisJZnJlZShjbXNnKTsKKwl0cHJpbnRmKCIsIC4uLn0iKTsKK30KKworc3RhdGljIHZvaWQKK2RvX21zZ2hkcihzdHJ1Y3QgdGNiICp0Y3AsIHN0cnVjdCBtc2doZHIgKm1zZykKK3sKKwl0cHJpbnRmKCJ7bXNnX25hbWUoJWQpPSIsIG1zZy0+bXNnX25hbWVsZW4pOworCXByaW50c29jayh0Y3AsIChsb25nKW1zZy0+bXNnX25hbWUsIG1zZy0+bXNnX25hbWVsZW4pOworCisJdHByaW50ZigiLCBtc2dfaW92KCVsdSk9IiwgKHVuc2lnbmVkIGxvbmcpbXNnLT5tc2dfaW92bGVuKTsKKwl0cHJpbnRfaW92KHRjcCwgKHVuc2lnbmVkIGxvbmcpbXNnLT5tc2dfaW92bGVuLAorCQkgICAodW5zaWduZWQgbG9uZyltc2ctPm1zZ19pb3YpOworCisjaWZkZWYgSEFWRV9TVFJVQ1RfTVNHSERSX01TR19DT05UUk9MCisJdHByaW50ZigiLCBtc2dfY29udHJvbGxlbj0lbHUiLCAodW5zaWduZWQgbG9uZyltc2ctPm1zZ19jb250cm9sbGVuKTsKKwlpZiAobXNnLT5tc2dfY29udHJvbGxlbikKKwkJcHJpbnRjbXNnaGRyKHRjcCwgKHVuc2lnbmVkIGxvbmcpIG1zZy0+bXNnX2NvbnRyb2wsCisJCQkgICAgIG1zZy0+bXNnX2NvbnRyb2xsZW4pOworCXRwcmludGYoIiwgbXNnX2ZsYWdzPSIpOworCXByaW50ZmxhZ3MobXNnX2ZsYWdzLCBtc2ctPm1zZ19mbGFncywgIk1TR18/Pz8iKTsKKyNlbHNlIC8qICFIQVZFX1NUUlVDVF9NU0dIRFJfTVNHX0NPTlRST0wgKi8KKwl0cHJpbnRmKCJtc2dfYWNjcmlnaHRzPSUjbHgsIG1zZ19hY2NyaWdodHNsZW49JXUiLAorCQkodW5zaWduZWQgbG9uZykgbXNnLT5tc2dfYWNjcmlnaHRzLCBtc2ctPm1zZ19hY2NyaWdodHNsZW4pOworI2VuZGlmIC8qICFIQVZFX1NUUlVDVF9NU0dIRFJfTVNHX0NPTlRST0wgKi8KKwl0cHJpbnRmKCJ9Iik7Cit9CisKK3N0YXRpYyB2b2lkCitwcmludG1zZ2hkcih0Y3AsIGFkZHIpCitzdHJ1Y3QgdGNiICp0Y3A7Citsb25nIGFkZHI7Cit7CisJc3RydWN0IG1zZ2hkciBtc2c7CisKKwlpZiAodW1vdmUodGNwLCBhZGRyLCAmbXNnKSA8IDApIHsKKwkJdHByaW50ZigiJSNseCIsIGFkZHIpOworCQlyZXR1cm47CisJfQorCWRvX21zZ2hkcih0Y3AsICZtc2cpOworfQorCisjaWZkZWYgTElOVVgKK3N0YXRpYyB2b2lkCitwcmludG1tc2doZHIoc3RydWN0IHRjYiAqdGNwLCBsb25nIGFkZHIpCit7CisJc3RydWN0IG1tc2doZHIgeworCQlzdHJ1Y3QgbXNnaGRyIG1zZ19oZHI7CisJCXVuc2lnbmVkIG1zZ19sZW47CisJfSBtbXNnOworCisJaWYgKHVtb3ZlKHRjcCwgYWRkciwgJm1tc2cpIDwgMCkgeworCQl0cHJpbnRmKCIlI2x4IiwgYWRkcik7CisJCXJldHVybjsKKwl9CisJdHByaW50ZigieyIpOworCWRvX21zZ2hkcih0Y3AsICZtbXNnLm1zZ19oZHIpOworCXRwcmludGYoIiwgJXV9IiwgbW1zZy5tc2dfbGVuKTsKK30KKyNlbmRpZgorCisjZW5kaWYgLyogSEFWRV9TRU5ETVNHICovCisKKy8qCisgKiBsb3cgYml0cyBvZiB0aGUgc29ja2V0IHR5cGUgZGVmaW5lIHJlYWwgc29ja2V0IHR5cGUsCisgKiBvdGhlciBiaXRzIGFyZSBzb2NrZXQgdHlwZSBmbGFncy4KKyAqLworc3RhdGljIHZvaWQKK3RwcmludF9zb2NrX3R5cGUoc3RydWN0IHRjYiAqdGNwLCBpbnQgZmxhZ3MpCit7CisJY29uc3QgY2hhciAqc3RyID0geGxvb2t1cChzb2NrdHlwZXMsIGZsYWdzICYgU09DS19UWVBFX01BU0spOworCisJaWYgKHN0cikKKwl7CisJCXRwcmludGYoIiVzIiwgc3RyKTsKKwkJZmxhZ3MgJj0gflNPQ0tfVFlQRV9NQVNLOworCQlpZiAoIWZsYWdzKQorCQkJcmV0dXJuOworCQl0cHJpbnRmKCJ8Iik7CisJfQorCXByaW50ZmxhZ3Moc29ja190eXBlX2ZsYWdzLCBmbGFncywgIlNPQ0tfPz8/Iik7Cit9CisKK2ludAorc3lzX3NvY2tldChzdHJ1Y3QgdGNiICp0Y3ApCit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJcHJpbnR4dmFsKGRvbWFpbnMsIHRjcC0+dV9hcmdbMF0sICJQRl8/Pz8iKTsKKwkJdHByaW50ZigiLCAiKTsKKwkJdHByaW50X3NvY2tfdHlwZSh0Y3AsIHRjcC0+dV9hcmdbMV0pOworCQl0cHJpbnRmKCIsICIpOworCQlzd2l0Y2ggKHRjcC0+dV9hcmdbMF0pIHsKKwkJY2FzZSBQRl9JTkVUOgorI2lmZGVmIFBGX0lORVQ2CisJCWNhc2UgUEZfSU5FVDY6CisjZW5kaWYKKwkJCXByaW50eHZhbChwcm90b2NvbHMsIHRjcC0+dV9hcmdbMl0sICJJUFBST1RPXz8/PyIpOworCQkJYnJlYWs7CisjaWZkZWYgUEZfSVBYCisJCWNhc2UgUEZfSVBYOgorCQkJLyogQlRXOiBJIGRvbid0IGJlbGlldmUgdGhpcy4uICovCisJCQl0cHJpbnRmKCJbIik7CisJCQlwcmludHh2YWwoZG9tYWlucywgdGNwLT51X2FyZ1syXSwgIlBGXz8/PyIpOworCQkJdHByaW50ZigiXSIpOworCQkJYnJlYWs7CisjZW5kaWYgLyogUEZfSVBYICovCisJCWRlZmF1bHQ6CisJCQl0cHJpbnRmKCIlbHUiLCB0Y3AtPnVfYXJnWzJdKTsKKwkJCWJyZWFrOworCQl9CisJfQorCXJldHVybiAwOworfQorCisjaWZkZWYgU1ZSNAoraW50CitzeXNfc29fc29ja2V0KHRjcCkKK3N0cnVjdCB0Y2IgKnRjcDsKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQkvKiBub3Qgc3VyZSByZWFsbHkgd2hhdCB0aGVzZSBhcmdzIGFyZS4uLiBidXQgdGhpcworCQkgKiBpcyBob3cgdHJ1c3MgcHJpbnRzIGl0CisJCSAqLworCQl0cHJpbnRmKCIlbGQsICVsZCwgJWxkLCAiLAorCQkgIHRjcC0+dV9hcmdbMF0sIHRjcC0+dV9hcmdbMV0sIHRjcC0+dV9hcmdbMl0pOworCQlwcmludHBhdGgodGNwLCB0Y3AtPnVfYXJnWzNdKTsKKwkJdHByaW50ZigiLCAlbGQiLCB0Y3AtPnVfYXJnWzRdKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK2ludAorc3lzX3NvX3NvY2tldHBhaXIodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCS8qIG5vdCBzdXJlIHdoYXQgdGhpcyBhcmcgaXMgKi8KKwkJdHByaW50ZigiMHglbHgiLCB0Y3AtPnVfYXJnWzBdKTsKKwl9CisJcmV0dXJuIDA7Cit9CisjZW5kaWYgLyogU1ZSNCAqLworCitpbnQKK3N5c19iaW5kKHRjcCkKK3N0cnVjdCB0Y2IgKnRjcDsKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQl0cHJpbnRmKCIlbGQsICIsIHRjcC0+dV9hcmdbMF0pOworCQlwcmludHNvY2sodGNwLCB0Y3AtPnVfYXJnWzFdLCB0Y3AtPnVfYXJnWzJdKTsKKwkJdHByaW50ZigiLCAlbHUiLCB0Y3AtPnVfYXJnWzJdKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK2ludAorc3lzX2Nvbm5lY3QodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCXJldHVybiBzeXNfYmluZCh0Y3ApOworfQorCitpbnQKK3N5c19saXN0ZW4odGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXRwcmludGYoIiVsZCwgJWx1IiwgdGNwLT51X2FyZ1swXSwgdGNwLT51X2FyZ1sxXSk7CisJfQorCXJldHVybiAwOworfQorCitzdGF0aWMgaW50Citkb19hY2NlcHQoc3RydWN0IHRjYiAqdGNwLCBpbnQgZmxhZ3NfYXJnKQoreworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXRwcmludGYoIiVsZCwgIiwgdGNwLT51X2FyZ1swXSk7CisJCXJldHVybiAwOworCX0KKwlpZiAoIXRjcC0+dV9hcmdbMl0pCisJCXRwcmludGYoIiUjbHgsIE5VTEwiLCB0Y3AtPnVfYXJnWzFdKTsKKwllbHNlIHsKKwkJaW50IGxlbjsKKwkJaWYgKHRjcC0+dV9hcmdbMV0gPT0gMCB8fCBzeXNlcnJvcih0Y3ApCisJCSAgICB8fCB1bW92ZSAodGNwLCB0Y3AtPnVfYXJnWzJdLCAmbGVuKSA8IDApIHsKKwkJCXRwcmludGYoIiUjbHgiLCB0Y3AtPnVfYXJnWzFdKTsKKwkJfSBlbHNlIHsKKwkJCXByaW50c29jayh0Y3AsIHRjcC0+dV9hcmdbMV0sIGxlbik7CisJCX0KKwkJdHByaW50ZigiLCAiKTsKKwkJcHJpbnRudW1faW50KHRjcCwgdGNwLT51X2FyZ1syXSwgIiV1Iik7CisJfQorCWlmIChmbGFnc19hcmcgPj0gMCkgeworCQl0cHJpbnRmKCIsICIpOworCQlwcmludGZsYWdzKHNvY2tfdHlwZV9mbGFncywgdGNwLT51X2FyZ1tmbGFnc19hcmddLAorCQkJICAgIlNPQ0tfPz8/Iik7CisJfQorCXJldHVybiAwOworfQorCitpbnQKK3N5c19hY2NlcHQoc3RydWN0IHRjYiAqdGNwKQoreworCXJldHVybiBkb19hY2NlcHQodGNwLCAtMSk7Cit9CisKKyNpZmRlZiBMSU5VWAoraW50CitzeXNfYWNjZXB0NChzdHJ1Y3QgdGNiICp0Y3ApCit7CisJcmV0dXJuIGRvX2FjY2VwdCh0Y3AsIDMpOworfQorI2VuZGlmCisKK2ludAorc3lzX3NlbmQodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXRwcmludGYoIiVsZCwgIiwgdGNwLT51X2FyZ1swXSk7CisJCXByaW50c3RyKHRjcCwgdGNwLT51X2FyZ1sxXSwgdGNwLT51X2FyZ1syXSk7CisJCXRwcmludGYoIiwgJWx1LCAiLCB0Y3AtPnVfYXJnWzJdKTsKKwkJLyogZmxhZ3MgKi8KKwkJcHJpbnRmbGFncyhtc2dfZmxhZ3MsIHRjcC0+dV9hcmdbM10sICJNU0dfPz8/Iik7CisJfQorCXJldHVybiAwOworfQorCitpbnQKK3N5c19zZW5kdG8odGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXRwcmludGYoIiVsZCwgIiwgdGNwLT51X2FyZ1swXSk7CisJCXByaW50c3RyKHRjcCwgdGNwLT51X2FyZ1sxXSwgdGNwLT51X2FyZ1syXSk7CisJCXRwcmludGYoIiwgJWx1LCAiLCB0Y3AtPnVfYXJnWzJdKTsKKwkJLyogZmxhZ3MgKi8KKwkJcHJpbnRmbGFncyhtc2dfZmxhZ3MsIHRjcC0+dV9hcmdbM10sICJNU0dfPz8/Iik7CisJCS8qIHRvIGFkZHJlc3MgKi8KKwkJdHByaW50ZigiLCAiKTsKKwkJcHJpbnRzb2NrKHRjcCwgdGNwLT51X2FyZ1s0XSwgdGNwLT51X2FyZ1s1XSk7CisJCS8qIHRvIGxlbmd0aCAqLworCQl0cHJpbnRmKCIsICVsdSIsIHRjcC0+dV9hcmdbNV0pOworCX0KKwlyZXR1cm4gMDsKK30KKworI2lmZGVmIEhBVkVfU0VORE1TRworCitpbnQKK3N5c19zZW5kbXNnKHRjcCkKK3N0cnVjdCB0Y2IgKnRjcDsKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQl0cHJpbnRmKCIlbGQsICIsIHRjcC0+dV9hcmdbMF0pOworCQlwcmludG1zZ2hkcih0Y3AsIHRjcC0+dV9hcmdbMV0pOworCQkvKiBmbGFncyAqLworCQl0cHJpbnRmKCIsICIpOworCQlwcmludGZsYWdzKG1zZ19mbGFncywgdGNwLT51X2FyZ1syXSwgIk1TR18/Pz8iKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKKyNlbmRpZiAvKiBIQVZFX1NFTkRNU0cgKi8KKworaW50CitzeXNfcmVjdih0Y3ApCitzdHJ1Y3QgdGNiICp0Y3A7Cit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJdHByaW50ZigiJWxkLCAiLCB0Y3AtPnVfYXJnWzBdKTsKKwl9IGVsc2UgeworCQlpZiAoc3lzZXJyb3IodGNwKSkKKwkJCXRwcmludGYoIiUjbHgiLCB0Y3AtPnVfYXJnWzFdKTsKKwkJZWxzZQorCQkJcHJpbnRzdHIodGNwLCB0Y3AtPnVfYXJnWzFdLCB0Y3AtPnVfcnZhbCk7CisKKwkJdHByaW50ZigiLCAlbHUsICIsIHRjcC0+dV9hcmdbMl0pOworCQlwcmludGZsYWdzKG1zZ19mbGFncywgdGNwLT51X2FyZ1szXSwgIk1TR18/Pz8iKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK2ludAorc3lzX3JlY3Zmcm9tKHRjcCkKK3N0cnVjdCB0Y2IgKnRjcDsKK3sKKwlpbnQgZnJvbWxlbjsKKworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXRwcmludGYoIiVsZCwgIiwgdGNwLT51X2FyZ1swXSk7CisJfSBlbHNlIHsKKwkJaWYgKHN5c2Vycm9yKHRjcCkpIHsKKwkJCXRwcmludGYoIiUjbHgsICVsdSwgJWx1LCAlI2x4LCAlI2x4IiwKKwkJCQl0Y3AtPnVfYXJnWzFdLCB0Y3AtPnVfYXJnWzJdLCB0Y3AtPnVfYXJnWzNdLAorCQkJCXRjcC0+dV9hcmdbNF0sIHRjcC0+dV9hcmdbNV0pOworCQkJcmV0dXJuIDA7CisJCX0KKwkJLyogYnVmICovCisJCXByaW50c3RyKHRjcCwgdGNwLT51X2FyZ1sxXSwgdGNwLT51X3J2YWwpOworCQkvKiBsZW4gKi8KKwkJdHByaW50ZigiLCAlbHUsICIsIHRjcC0+dV9hcmdbMl0pOworCQkvKiBmbGFncyAqLworCQlwcmludGZsYWdzKG1zZ19mbGFncywgdGNwLT51X2FyZ1szXSwgIk1TR18/Pz8iKTsKKwkJLyogZnJvbSBhZGRyZXNzLCBsZW4gKi8KKwkJaWYgKCF0Y3AtPnVfYXJnWzRdIHx8ICF0Y3AtPnVfYXJnWzVdKSB7CisJCQlpZiAodGNwLT51X2FyZ1s0XSA9PSAwKQorCQkJCXRwcmludGYoIiwgTlVMTCIpOworCQkJZWxzZQorCQkJCXRwcmludGYoIiwgJSNseCIsIHRjcC0+dV9hcmdbNF0pOworCQkJaWYgKHRjcC0+dV9hcmdbNV0gPT0gMCkKKwkJCQl0cHJpbnRmKCIsIE5VTEwiKTsKKwkJCWVsc2UKKwkJCQl0cHJpbnRmKCIsICUjbHgiLCB0Y3AtPnVfYXJnWzVdKTsKKwkJCXJldHVybiAwOworCQl9CisJCWlmICh1bW92ZSh0Y3AsIHRjcC0+dV9hcmdbNV0sICZmcm9tbGVuKSA8IDApIHsKKwkJCXRwcmludGYoIiwgey4uLn0sIFs/XSIpOworCQkJcmV0dXJuIDA7CisJCX0KKwkJdHByaW50ZigiLCAiKTsKKwkJcHJpbnRzb2NrKHRjcCwgdGNwLT51X2FyZ1s0XSwgdGNwLT51X2FyZ1s1XSk7CisJCS8qIGZyb20gbGVuZ3RoICovCisJCXRwcmludGYoIiwgWyV1XSIsIGZyb21sZW4pOworCX0KKwlyZXR1cm4gMDsKK30KKworI2lmZGVmIEhBVkVfU0VORE1TRworCitpbnQKK3N5c19yZWN2bXNnKHRjcCkKK3N0cnVjdCB0Y2IgKnRjcDsKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQl0cHJpbnRmKCIlbGQsICIsIHRjcC0+dV9hcmdbMF0pOworCX0gZWxzZSB7CisJCWlmIChzeXNlcnJvcih0Y3ApIHx8ICF2ZXJib3NlKHRjcCkpCisJCQl0cHJpbnRmKCIlI2x4IiwgdGNwLT51X2FyZ1sxXSk7CisJCWVsc2UKKwkJCXByaW50bXNnaGRyKHRjcCwgdGNwLT51X2FyZ1sxXSk7CisJCS8qIGZsYWdzICovCisJCXRwcmludGYoIiwgIik7CisJCXByaW50ZmxhZ3MobXNnX2ZsYWdzLCB0Y3AtPnVfYXJnWzJdLCAiTVNHXz8/PyIpOworCX0KKwlyZXR1cm4gMDsKK30KKworI2lmZGVmIExJTlVYCitpbnQKK3N5c19yZWN2bW1zZyhzdHJ1Y3QgdGNiICp0Y3ApCit7CisJc3RhdGljIGNoYXIgc3RyWzEyOF07CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKworCQl0cHJpbnRmKCIlbGQsICIsIHRjcC0+dV9hcmdbMF0pOworCQlpZiAodmVyYm9zZSh0Y3ApKSB7CisJCQlzcHJpbnRfdGltZXNwZWMoc3RyLCB0Y3AsIHRjcC0+dV9hcmdbNF0pOworCQkJdGNwLT5hdXhzdHIgPSBzdHJkdXAoc3RyKTsKKwkJfSBlbHNlIHsKKwkJCXRwcmludGYoIiUjbHgsICVsZCwgIiwgdGNwLT51X2FyZ1sxXSwgdGNwLT51X2FyZ1syXSk7CisJCQlwcmludGZsYWdzKG1zZ19mbGFncywgdGNwLT51X2FyZ1szXSwgIk1TR18/Pz8iKTsKKwkJCXRwcmludGYoIiwgIik7CisJCQlwcmludF90aW1lc3BlYyh0Y3AsIHRjcC0+dV9hcmdbNF0pOworCQl9CisJCXJldHVybiAwOworCX0gZWxzZSB7CisJCWlmICh2ZXJib3NlKHRjcCkpIHsKKwkJCWlmIChzeXNlcnJvcih0Y3ApKQorCQkJCXRwcmludGYoIiUjbHgiLCB0Y3AtPnVfYXJnWzFdKTsKKwkJCWVsc2UKKwkJCQlwcmludG1tc2doZHIodGNwLCB0Y3AtPnVfYXJnWzFdKTsKKwkJCXRwcmludGYoIiwgJWxkLCAiLCB0Y3AtPnVfYXJnWzJdKTsKKwkJCS8qIGZsYWdzICovCisJCQlwcmludGZsYWdzKG1zZ19mbGFncywgdGNwLT51X2FyZ1szXSwgIk1TR18/Pz8iKTsKKwkJCS8qIHRpbWVvdXQgb24gZW50cmFuY2UgKi8KKwkJCXRwcmludGYoIiwgJXMiLCB0Y3AtPmF1eHN0ciA/IHRjcC0+YXV4c3RyIDogInsuLi59Iik7CisJCQlmcmVlKCh2b2lkICopIHRjcC0+YXV4c3RyKTsKKwkJCXRjcC0+YXV4c3RyID0gTlVMTDsKKwkJfQorCQlpZiAoc3lzZXJyb3IodGNwKSkKKwkJCXJldHVybiAwOworCQlpZiAodGNwLT51X3J2YWwgPT0gMCkgeworCQkJdGNwLT5hdXhzdHIgPSAiVGltZW91dCI7CisJCQlyZXR1cm4gUlZBTF9TVFI7CisJCX0KKwkJaWYgKCF2ZXJib3NlKHRjcCkpCisJCQlyZXR1cm4gMDsKKwkJLyogdGltZW91dCBvbiBleGl0ICovCisJCXN0cmNweShzdHIsICJsZWZ0ICIpOworCQlzcHJpbnRfdGltZXNwZWMoc3RyICsgc3RybGVuKHN0ciksIHRjcCwgdGNwLT51X2FyZ1s0XSk7CisJCXRjcC0+YXV4c3RyID0gc3RyOworCQlyZXR1cm4gUlZBTF9TVFI7CisJfQorfQorI2VuZGlmCisKKyNlbmRpZiAvKiBIQVZFX1NFTkRNU0cgKi8KKworaW50CitzeXNfc2h1dGRvd24odGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXRwcmludGYoIiVsZCwgJWxkIiwgdGNwLT51X2FyZ1swXSwgdGNwLT51X2FyZ1sxXSk7CisJCXN3aXRjaCAodGNwLT51X2FyZ1sxXSkgeworCQljYXNlIDA6CisJCQl0cHJpbnRmKCIlcyIsICIgLyogcmVjZWl2ZSAqLyIpOworCQkJYnJlYWs7CisJCWNhc2UgMToKKwkJCXRwcmludGYoIiVzIiwgIiAvKiBzZW5kICovIik7CisJCQlicmVhazsKKwkJY2FzZSAyOgorCQkJdHByaW50ZigiJXMiLCAiIC8qIHNlbmQgYW5kIHJlY2VpdmUgKi8iKTsKKwkJCWJyZWFrOworCQl9CisJfQorCXJldHVybiAwOworfQorCitpbnQKK3N5c19nZXRzb2NrbmFtZSh0Y3ApCitzdHJ1Y3QgdGNiICp0Y3A7Cit7CisJcmV0dXJuIHN5c19hY2NlcHQodGNwKTsKK30KKworaW50CitzeXNfZ2V0cGVlcm5hbWUodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCXJldHVybiBzeXNfYWNjZXB0KHRjcCk7Cit9CisKK3N0YXRpYyBpbnQKK2RvX3BpcGUoc3RydWN0IHRjYiAqdGNwLCBpbnQgZmxhZ3NfYXJnKQoreworCWlmIChleGl0aW5nKHRjcCkpIHsKKwkJaWYgKHN5c2Vycm9yKHRjcCkpIHsKKwkJCXRwcmludGYoIiUjbHgiLCB0Y3AtPnVfYXJnWzBdKTsKKwkJfSBlbHNlIHsKKyNpZiBkZWZpbmVkKExJTlVYKSAmJiAhZGVmaW5lZChTUEFSQykgJiYgIWRlZmluZWQoU1BBUkM2NCkgJiYgIWRlZmluZWQoU0gpICYmICFkZWZpbmVkKElBNjQpCisJCQlpbnQgZmRzWzJdOworCisJCQlpZiAodW1vdmVuKHRjcCwgdGNwLT51X2FyZ1swXSwgc2l6ZW9mIGZkcywgKGNoYXIgKikgZmRzKSA8IDApCisJCQkJdHByaW50ZigiWy4uLl0iKTsKKwkJCWVsc2UKKwkJCQl0cHJpbnRmKCJbJXUsICV1XSIsIGZkc1swXSwgZmRzWzFdKTsKKyNlbGlmIGRlZmluZWQoU1BBUkMpIHx8IGRlZmluZWQoU1BBUkM2NCkgfHwgZGVmaW5lZChTSCkgfHwgZGVmaW5lZChTVlI0KSB8fCBkZWZpbmVkKEZSRUVCU0QpIHx8IGRlZmluZWQoSUE2NCkKKwkJCXRwcmludGYoIlslbHUsICVsdV0iLCB0Y3AtPnVfcnZhbCwgZ2V0cnZhbDIodGNwKSk7CisjZWxzZQorCQkJdHByaW50ZigiJSNseCIsIHRjcC0+dV9hcmdbMF0pOworI2VuZGlmCisJCX0KKwkJaWYgKGZsYWdzX2FyZyA+PSAwKSB7CisJCQl0cHJpbnRmKCIsICIpOworCQkJcHJpbnRmbGFncyhvcGVuX21vZGVfZmxhZ3MsIHRjcC0+dV9hcmdbZmxhZ3NfYXJnXSwgIk9fPz8/Iik7CisJCX0KKwl9CisJcmV0dXJuIDA7Cit9CisKK2ludAorc3lzX3BpcGUoc3RydWN0IHRjYiAqdGNwKQoreworCXJldHVybiBkb19waXBlKHRjcCwgLTEpOworfQorCisjaWZkZWYgTElOVVgKK2ludAorc3lzX3BpcGUyKHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwlyZXR1cm4gZG9fcGlwZSh0Y3AsIDEpOworfQorI2VuZGlmCisKK2ludAorc3lzX3NvY2tldHBhaXIoc3RydWN0IHRjYiAqdGNwKQoreworI2lmZGVmIExJTlVYCisJaW50IGZkc1syXTsKKyNlbmRpZgorCisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJcHJpbnR4dmFsKGRvbWFpbnMsIHRjcC0+dV9hcmdbMF0sICJQRl8/Pz8iKTsKKwkJdHByaW50ZigiLCAiKTsKKwkJdHByaW50X3NvY2tfdHlwZSh0Y3AsIHRjcC0+dV9hcmdbMV0pOworCQl0cHJpbnRmKCIsICIpOworCQlzd2l0Y2ggKHRjcC0+dV9hcmdbMF0pIHsKKwkJY2FzZSBQRl9JTkVUOgorCQkJcHJpbnR4dmFsKHByb3RvY29scywgdGNwLT51X2FyZ1syXSwgIklQUFJPVE9fPz8/Iik7CisJCQlicmVhazsKKyNpZmRlZiBQRl9JUFgKKwkJY2FzZSBQRl9JUFg6CisJCQkvKiBCVFc6IEkgZG9uJ3QgYmVsaWV2ZSB0aGlzLi4gKi8KKwkJCXRwcmludGYoIlsiKTsKKwkJCXByaW50eHZhbChkb21haW5zLCB0Y3AtPnVfYXJnWzJdLCAiUEZfPz8/Iik7CisJCQl0cHJpbnRmKCJdIik7CisJCQlicmVhazsKKyNlbmRpZiAvKiBQRl9JUFggKi8KKwkJZGVmYXVsdDoKKwkJCXRwcmludGYoIiVsdSIsIHRjcC0+dV9hcmdbMl0pOworCQkJYnJlYWs7CisJCX0KKwl9IGVsc2UgeworCQlpZiAoc3lzZXJyb3IodGNwKSkgeworCQkJdHByaW50ZigiLCAlI2x4IiwgdGNwLT51X2FyZ1szXSk7CisJCQlyZXR1cm4gMDsKKwkJfQorI2lmZGVmIExJTlVYCisJCWlmICh1bW92ZW4odGNwLCB0Y3AtPnVfYXJnWzNdLCBzaXplb2YgZmRzLCAoY2hhciAqKSBmZHMpIDwgMCkKKwkJCXRwcmludGYoIiwgWy4uLl0iKTsKKwkJZWxzZQorCQkJdHByaW50ZigiLCBbJXUsICV1XSIsIGZkc1swXSwgZmRzWzFdKTsKKyNlbmRpZiAvKiBMSU5VWCAqLworI2lmIGRlZmluZWQoU1VOT1M0KSB8fCBkZWZpbmVkKFNWUjQpIHx8IGRlZmluZWQoRlJFRUJTRCkKKwkJdHByaW50ZigiLCBbJWx1LCAlbHVdIiwgdGNwLT51X3J2YWwsIGdldHJ2YWwyKHRjcCkpOworI2VuZGlmIC8qIFNVTk9TNCB8fCBTVlI0IHx8IEZSRUVCU0QgKi8KKwl9CisJcmV0dXJuIDA7Cit9CisKK2ludAorc3lzX2dldHNvY2tvcHQoc3RydWN0IHRjYiAqdGNwKQoreworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXRwcmludGYoIiVsZCwgIiwgdGNwLT51X2FyZ1swXSk7CisJCXByaW50eHZhbChzb2NrZXRsYXllcnMsIHRjcC0+dV9hcmdbMV0sICJTT0xfPz8/Iik7CisJCXRwcmludGYgKCIsICIpOworCQlzd2l0Y2ggKHRjcC0+dV9hcmdbMV0pIHsKKwkJY2FzZSBTT0xfU09DS0VUOgorCQkJcHJpbnR4dmFsKHNvY2tvcHRpb25zLCB0Y3AtPnVfYXJnWzJdLCAiU09fPz8/Iik7CisJCQlicmVhazsKKyNpZmRlZiBTT0xfSVAKKwkJY2FzZSBTT0xfSVA6CisJCQlwcmludHh2YWwoc29ja2lwb3B0aW9ucywgdGNwLT51X2FyZ1syXSwgIklQXz8/PyIpOworCQkJYnJlYWs7CisjZW5kaWYKKyNpZmRlZiBTT0xfSVBWNgorCQljYXNlIFNPTF9JUFY2OgorCQkJcHJpbnR4dmFsKHNvY2tpcHY2b3B0aW9ucywgdGNwLT51X2FyZ1syXSwgIklQVjZfPz8/Iik7CisJCQlicmVhazsKKyNlbmRpZgorI2lmZGVmIFNPTF9JUFgKKwkJY2FzZSBTT0xfSVBYOgorCQkJcHJpbnR4dmFsKHNvY2tpcHhvcHRpb25zLCB0Y3AtPnVfYXJnWzJdLCAiSVBYXz8/PyIpOworCQkJYnJlYWs7CisjZW5kaWYKKyNpZmRlZiBTT0xfUEFDS0VUCisJCWNhc2UgU09MX1BBQ0tFVDoKKwkJCXByaW50eHZhbChzb2NrcGFja2V0b3B0aW9ucywgdGNwLT51X2FyZ1syXSwgIlBBQ0tFVF8/Pz8iKTsKKwkJCWJyZWFrOworI2VuZGlmCisjaWZkZWYgU09MX1RDUAorCQljYXNlIFNPTF9UQ1A6CisJCQlwcmludHh2YWwoc29ja3RjcG9wdGlvbnMsIHRjcC0+dV9hcmdbMl0sICJUQ1BfPz8/Iik7CisJCQlicmVhazsKKyNlbmRpZgorCisJCS8qIFNPTF9BWDI1IFNPTF9ST1NFIFNPTF9BVEFMSyBTT0xfTkVUUk9NIFNPTF9VRFAgU09MX0RFQ05FVCBTT0xfWDI1CisJCSAqIGV0Yy4gc3RpbGwgbmVlZCB3b3JrICovCisJCWRlZmF1bHQ6CisJCQl0cHJpbnRmKCIlbHUiLCB0Y3AtPnVfYXJnWzJdKTsKKwkJCWJyZWFrOworCQl9CisJCXRwcmludGYgKCIsICIpOworCX0gZWxzZSB7CisJCWludCBsZW47CisJCWlmIChzeXNlcnJvcih0Y3ApIHx8IHVtb3ZlICh0Y3AsIHRjcC0+dV9hcmdbNF0sICZsZW4pIDwgMCkgeworCQkJdHByaW50ZigiJSNseCwgJSNseCIsCisJCQkJdGNwLT51X2FyZ1szXSwgdGNwLT51X2FyZ1s0XSk7CisJCQlyZXR1cm4gMDsKKwkJfQorCisJCXN3aXRjaCAodGNwLT51X2FyZ1sxXSkgeworCQljYXNlIFNPTF9TT0NLRVQ6CisJCQlzd2l0Y2ggKHRjcC0+dV9hcmdbMl0pIHsKKyNpZmRlZiBTT19MSU5HRVIKKwkJCWNhc2UgU09fTElOR0VSOgorCQkJCWlmIChsZW4gPT0gc2l6ZW9mIChzdHJ1Y3QgbGluZ2VyKSkgeworCQkJCQlzdHJ1Y3QgbGluZ2VyIGxpbmdlcjsKKwkJCQkJaWYgKHVtb3ZlICh0Y3AsCisJCQkJCQkgICB0Y3AtPnVfYXJnWzNdLAorCQkJCQkJICAgJmxpbmdlcikgPCAwKQorCQkJCQkJYnJlYWs7CisJCQkJCXRwcmludGYoIntvbm9mZj0lZCwgbGluZ2VyPSVkfSwgIgorCQkJCQkJIlslZF0iLAorCQkJCQkJbGluZ2VyLmxfb25vZmYsCisJCQkJCQlsaW5nZXIubF9saW5nZXIsCisJCQkJCQlsZW4pOworCQkJCQlyZXR1cm4gMDsKKwkJCQl9CisJCQkJYnJlYWs7CisjZW5kaWYKKwkJCX0KKwkJCWJyZWFrOworCQljYXNlIFNPTF9QQUNLRVQ6CisJCQlzd2l0Y2ggKHRjcC0+dV9hcmdbMl0pIHsKKyNpZmRlZiBQQUNLRVRfU1RBVElTVElDUworCQkJY2FzZSBQQUNLRVRfU1RBVElTVElDUzoKKwkJCQlpZiAobGVuID09IHNpemVvZihzdHJ1Y3QgdHBhY2tldF9zdGF0cykpIHsKKwkJCQkJc3RydWN0IHRwYWNrZXRfc3RhdHMgc3RhdHM7CisJCQkJCWlmICh1bW92ZSAodGNwLAorCQkJCQkJICAgdGNwLT51X2FyZ1szXSwKKwkJCQkJCSAgICZzdGF0cykgPCAwKQorCQkJCQkJYnJlYWs7CisJCQkJCXRwcmludGYoIntwYWNrZXRzPSV1LCBkcm9wcz0ldX0sICIKKwkJCQkJCSJbJWRdIiwKKwkJCQkJCXN0YXRzLnRwX3BhY2tldHMsCisJCQkJCQlzdGF0cy50cF9kcm9wcywKKwkJCQkJCWxlbik7CisJCQkJCXJldHVybiAwOworCQkJCX0KKwkJCQlicmVhazsKKyNlbmRpZgorCQkJfQorCQkJYnJlYWs7CisJCX0KKworCQlpZiAobGVuID09IHNpemVvZiAoaW50KSkgeworCQkJcHJpbnRudW1faW50KHRjcCwgdGNwLT51X2FyZ1szXSwgIiVkIik7CisJCX0KKwkJZWxzZSB7CisJCQlwcmludHN0ciAodGNwLCB0Y3AtPnVfYXJnWzNdLCBsZW4pOworCQl9CisJCXRwcmludGYoIiwgWyVkXSIsIGxlbik7CisJfQorCXJldHVybiAwOworfQorCisjaWYgZGVmaW5lZChJQ01QX0ZJTFRFUikKK3N0YXRpYyB2b2lkIHByaW50aWNtcGZpbHRlcih0Y3AsIGFkZHIpCitzdHJ1Y3QgdGNiICp0Y3A7Citsb25nIGFkZHI7Cit7CisJc3RydWN0IGljbXBfZmlsdGVyCWZpbHRlcjsKKworCWlmICghYWRkcikgeworCQl0cHJpbnRmKCJOVUxMIik7CisJCXJldHVybjsKKwl9CisJaWYgKHN5c2Vycm9yKHRjcCkgfHwgIXZlcmJvc2UodGNwKSkgeworCQl0cHJpbnRmKCIlI2x4IiwgYWRkcik7CisJCXJldHVybjsKKwl9CisJaWYgKHVtb3ZlKHRjcCwgYWRkciwgJmZpbHRlcikgPCAwKSB7CisJCXRwcmludGYoInsuLi59Iik7CisJCXJldHVybjsKKwl9CisKKwl0cHJpbnRmKCJ+KCIpOworCXByaW50ZmxhZ3MoaWNtcGZpbHRlcmZsYWdzLCB+ZmlsdGVyLmRhdGEsICJJQ01QXz8/PyIpOworCXRwcmludGYoIikiKTsKK30KKyNlbmRpZiAvKiBJQ01QX0ZJTFRFUiAqLworCitzdGF0aWMgaW50CitwcmludHNvY2tvcHQgKHRjcCwgbGV2ZWwsIG5hbWUsIGFkZHIsIGxlbikKK3N0cnVjdCB0Y2IgKnRjcDsKK2ludCBsZXZlbDsKK2ludCBuYW1lOworbG9uZyBhZGRyOworaW50IGxlbjsKK3sKKwlwcmludHh2YWwoc29ja2V0bGF5ZXJzLCBsZXZlbCwgIlNPTF8/PyIpOworCXRwcmludGYgKCIsICIpOworCXN3aXRjaCAobGV2ZWwpIHsKKwkgICAgY2FzZSBTT0xfU09DS0VUOgorCQlwcmludHh2YWwoc29ja29wdGlvbnMsIG5hbWUsICJTT18/Pz8iKTsKKwkJc3dpdGNoIChuYW1lKSB7CisjaWYgZGVmaW5lZChTT19MSU5HRVIpCisJCSAgICBjYXNlIFNPX0xJTkdFUjoKKwkJCWlmIChsZW4gPT0gc2l6ZW9mIChzdHJ1Y3QgbGluZ2VyKSkgeworCQkJCXN0cnVjdCBsaW5nZXIgbGluZ2VyOworCQkJCWlmICh1bW92ZSAodGNwLCBhZGRyLCAmbGluZ2VyKSA8IDApCisJCQkJCWJyZWFrOworCQkJCXRwcmludGYoIiwge29ub2ZmPSVkLCBsaW5nZXI9JWR9IiwKKwkJCQkJbGluZ2VyLmxfb25vZmYsCisJCQkJCWxpbmdlci5sX2xpbmdlcik7CisJCQkJcmV0dXJuIDA7CisJCQl9CisJCQlicmVhazsKKyNlbmRpZgorCQl9CisJCWJyZWFrOworI2lmZGVmIFNPTF9JUAorCSAgICBjYXNlIFNPTF9JUDoKKwkJcHJpbnR4dmFsKHNvY2tpcG9wdGlvbnMsIG5hbWUsICJJUF8/Pz8iKTsKKwkJYnJlYWs7CisjZW5kaWYKKyNpZmRlZiBTT0xfSVBWNgorCSAgICBjYXNlIFNPTF9JUFY2OgorCQlwcmludHh2YWwoc29ja2lwdjZvcHRpb25zLCBuYW1lLCAiSVBWNl8/Pz8iKTsKKwkJYnJlYWs7CisjZW5kaWYKKyNpZmRlZiBTT0xfSVBYCisJICAgIGNhc2UgU09MX0lQWDoKKwkJcHJpbnR4dmFsKHNvY2tpcHhvcHRpb25zLCBuYW1lLCAiSVBYXz8/PyIpOworCQlicmVhazsKKyNlbmRpZgorI2lmZGVmIFNPTF9QQUNLRVQKKwkgICAgY2FzZSBTT0xfUEFDS0VUOgorCQlwcmludHh2YWwoc29ja3BhY2tldG9wdGlvbnMsIG5hbWUsICJQQUNLRVRfPz8/Iik7CisJCS8qIFRPRE86IGRlY29kZSBwYWNrYXRlX21yZXEgZm9yIFBBQ0tFVF8qX01FTUJFUlNISVAgKi8KKwkJc3dpdGNoIChuYW1lKSB7CisjaWZkZWYgUEFDS0VUX1JYX1JJTkcKKwkJICAgIGNhc2UgUEFDS0VUX1JYX1JJTkc6CisjZW5kaWYKKyNpZmRlZiBQQUNLRVRfVFhfUklORworCQkgICAgY2FzZSBQQUNLRVRfVFhfUklORzoKKyNlbmRpZgorI2lmIGRlZmluZWQoUEFDS0VUX1JYX1JJTkcpIHx8IGRlZmluZWQoUEFDS0VUX1RYX1JJTkcpCisJCQlpZiAobGVuID09IHNpemVvZihzdHJ1Y3QgdHBhY2tldF9yZXEpKSB7CisJCQkJc3RydWN0IHRwYWNrZXRfcmVxIHJlcTsKKwkJCQlpZiAodW1vdmUodGNwLCBhZGRyLCAmcmVxKSA8IDApCisJCQkJCWJyZWFrOworCQkJCXRwcmludGYoIiwge2Jsb2NrX3NpemU9JXUsIGJsb2NrX25yPSV1LCBmcmFtZV9zaXplPSV1LCBmcmFtZV9ucj0ldX0iLAorCQkJCQlyZXEudHBfYmxvY2tfc2l6ZSwKKwkJCQkJcmVxLnRwX2Jsb2NrX25yLAorCQkJCQlyZXEudHBfZnJhbWVfc2l6ZSwKKwkJCQkJcmVxLnRwX2ZyYW1lX25yKTsKKwkJCQlyZXR1cm4gMDsKKwkJCX0KKwkJCWJyZWFrOworI2VuZGlmIC8qIFBBQ0tFVF9SWF9SSU5HIHx8IFBBQ0tFVF9UWF9SSU5HICovCisJCX0KKwkJYnJlYWs7CisjZW5kaWYKKyNpZmRlZiBTT0xfVENQCisJICAgIGNhc2UgU09MX1RDUDoKKwkJcHJpbnR4dmFsKHNvY2t0Y3BvcHRpb25zLCBuYW1lLCAiVENQXz8/PyIpOworCQlicmVhazsKKyNlbmRpZgorI2lmZGVmIFNPTF9SQVcKKwkgICAgY2FzZSBTT0xfUkFXOgorCQlwcmludHh2YWwoc29ja3Jhd29wdGlvbnMsIG5hbWUsICJSQVdfPz8/Iik7CisJCXN3aXRjaCAobmFtZSkgeworI2lmIGRlZmluZWQoSUNNUF9GSUxURVIpCisJCSAgICBjYXNlIElDTVBfRklMVEVSOgorCQkJdHByaW50ZigiLCAiKTsKKwkJCXByaW50aWNtcGZpbHRlcih0Y3AsIGFkZHIpOworCQkJcmV0dXJuIDA7CisjZW5kaWYKKwkJfQorCQlicmVhazsKKyNlbmRpZgorCisJCS8qIFNPTF9BWDI1IFNPTF9BVEFMSyBTT0xfTkVUUk9NIFNPTF9VRFAgU09MX0RFQ05FVCBTT0xfWDI1CisJCSAqIGV0Yy4gc3RpbGwgbmVlZCB3b3JrICAqLworCisJICAgIGRlZmF1bHQ6CisJCXRwcmludGYoIiV1IiwgbmFtZSk7CisJfQorCisJLyogZGVmYXVsdCBhcmcgcHJpbnRpbmcgKi8KKworCXRwcmludGYgKCIsICIpOworCisJaWYgKGxlbiA9PSBzaXplb2YgKGludCkpIHsKKwkJcHJpbnRudW1faW50ICh0Y3AsIGFkZHIsICIlZCIpOworCX0KKwllbHNlIHsKKwkJcHJpbnRzdHIgKHRjcCwgYWRkciwgbGVuKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKKworI2lmZGVmIEhBVkVfU1RSVUNUX09QVEhEUgorCit2b2lkCitwcmludF9zb2NrX29wdG1nbXQgKHRjcCwgYWRkciwgbGVuKQorc3RydWN0IHRjYiAqdGNwOworbG9uZyBhZGRyOworaW50IGxlbjsKK3sKKwlpbnQgYyA9IDA7CisJc3RydWN0IG9wdGhkciBoZHI7CisKKwl3aGlsZSAobGVuID49IChpbnQpIHNpemVvZiBoZHIpIHsKKwkJaWYgKHVtb3ZlKHRjcCwgYWRkciwgJmhkcikgPCAwKSBicmVhazsKKwkJaWYgKGMrKykgeworCQkJdHByaW50ZiAoIiwgIik7CisJCX0KKwkJZWxzZSBpZiAobGVuID4gaGRyLmxlbiArIHNpemVvZiBoZHIpIHsKKwkJCXRwcmludGYgKCJbIik7CisJCX0KKwkJdHByaW50ZiAoInsiKTsKKwkJYWRkciArPSBzaXplb2YgaGRyOworCQlsZW4gLT0gc2l6ZW9mIGhkcjsKKwkJcHJpbnRzb2Nrb3B0ICh0Y3AsIGhkci5sZXZlbCwgaGRyLm5hbWUsIGFkZHIsIGhkci5sZW4pOworCQlpZiAoaGRyLmxlbiA+IDApIHsKKwkJCWFkZHIgKz0gaGRyLmxlbjsKKwkJCWxlbiAtPSBoZHIubGVuOworCQl9CisJCXRwcmludGYgKCJ9Iik7CisJfQorCWlmIChsZW4gPiAwKSB7CisJCWlmIChjKyspIHRwcmludGYgKCIsICIpOworCQlwcmludHN0ciAodGNwLCBhZGRyLCBsZW4pOworCX0KKwlpZiAoYyA+IDEpIHRwcmludGYgKCJdIik7Cit9CisKKyNlbmRpZgorCitpbnQKK3N5c19zZXRzb2Nrb3B0KHRjcCkKK3N0cnVjdCB0Y2IgKnRjcDsKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQl0cHJpbnRmKCIlbGQsICIsIHRjcC0+dV9hcmdbMF0pOworCQlwcmludHNvY2tvcHQgKHRjcCwgdGNwLT51X2FyZ1sxXSwgdGNwLT51X2FyZ1syXSwKKwkJCSAgICAgIHRjcC0+dV9hcmdbM10sIHRjcC0+dV9hcmdbNF0pOworCQl0cHJpbnRmKCIsICVsdSIsIHRjcC0+dV9hcmdbNF0pOworCX0KKwlyZXR1cm4gMDsKK30KKworI2lmIFVOSVhXQVJFID49IDcKKworc3RhdGljIGNvbnN0IHN0cnVjdCB4bGF0IHNvY2tfdmVyc2lvbltdID0geworCXsgX19ORVRMSUJfVVcyMTFfU1ZSNCwJIlVXMjExX1NWUjQiIH0sCisJeyBfX05FVExJQl9VVzIxMV9YUEc0LAkiVVcyMTFfWFBHNCIgfSwKKwl7IF9fTkVUTElCX0dFTUlOSV9TVlI0LAkiR0VNSU5JX1NWUjQiIH0sCisJeyBfX05FVExJQl9HRU1JTklfWFBHNCwJIkdFTUlOSV9YUEc0IiB9LAorCXsgX19ORVRMSUJfRlAxX1NWUjQsCSJGUDFfU1ZSNCIgfSwKKwl7IF9fTkVUTElCX0ZQMV9YUEc0LAkiRlAxX1hQRzQiIH0sCisJeyAwLCAgICAgICAgICAgIE5VTEwgICAgICAgICAgICB9LAorfTsKKworCitpbnQKK25ldGxpYl9jYWxsKHRjcCwgZnVuYykKK3N0cnVjdCB0Y2IgKnRjcDsKK2ludCAoKmZ1bmMpICgpOworeworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCWludCBpOworCQlwcmludHh2YWwgKHNvY2tfdmVyc2lvbiwgdGNwLT51X2FyZ1swXSwgIl9fTkVUTElCXz8/PyIpOworCQl0cHJpbnRmKCIsICIpOworCQktLXRjcC0+dV9uYXJnczsKKwkJZm9yIChpID0gMDsgaSA8IHRjcC0+dV9uYXJnczsgaSsrKQorCQkJdGNwLT51X2FyZ1tpXSA9IHRjcC0+dV9hcmdbaSArIDFdOworCQlyZXR1cm4gZnVuYyAodGNwKTsKKworCX0KKworCXJldHVybiBmdW5jICh0Y3ApOworfQorCitpbnQKK3N5c194c29ja2V0KHRjcCkKK3N0cnVjdCB0Y2IgKnRjcDsKK3sKKwlyZXR1cm4gbmV0bGliX2NhbGwgKHRjcCwgc3lzX3NvY2tldCk7Cit9CisKK2ludAorc3lzX3hzb2NrZXRwYWlyKHRjcCkKK3N0cnVjdCB0Y2IgKnRjcDsKK3sKKwlyZXR1cm4gbmV0bGliX2NhbGwgKHRjcCwgc3lzX3NvY2tldHBhaXIpOworfQorCitpbnQKK3N5c194YmluZCh0Y3ApCitzdHJ1Y3QgdGNiICp0Y3A7Cit7CisJcmV0dXJuIG5ldGxpYl9jYWxsICh0Y3AsIHN5c19iaW5kKTsKK30KKworaW50CitzeXNfeGNvbm5lY3QodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCXJldHVybiBuZXRsaWJfY2FsbCAodGNwLCBzeXNfY29ubmVjdCk7Cit9CisKK2ludAorc3lzX3hsaXN0ZW4odGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCXJldHVybiBuZXRsaWJfY2FsbCAodGNwLCBzeXNfbGlzdGVuKTsKK30KKworaW50CitzeXNfeGFjY2VwdCh0Y3ApCitzdHJ1Y3QgdGNiICp0Y3A7Cit7CisJcmV0dXJuIG5ldGxpYl9jYWxsICh0Y3AsIHN5c19hY2NlcHQpOworfQorCitpbnQKK3N5c194c2VuZG1zZyh0Y3ApCitzdHJ1Y3QgdGNiICp0Y3A7Cit7CisJcmV0dXJuIG5ldGxpYl9jYWxsICh0Y3AsIHN5c19zZW5kbXNnKTsKK30KKworaW50CitzeXNfeHJlY3Ztc2codGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCXJldHVybiBuZXRsaWJfY2FsbCAodGNwLCBzeXNfcmVjdm1zZyk7Cit9CisKK2ludAorc3lzX3hnZXRzb2NrYWRkcih0Y3ApCitzdHJ1Y3QgdGNiICp0Y3A7Cit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJcHJpbnR4dmFsIChzb2NrX3ZlcnNpb24sIHRjcC0+dV9hcmdbMF0sICJfX05FVExJQl8/Pz8iKTsKKwkJdHByaW50ZigiLCAiKTsKKwkJaWYgKHRjcC0+dV9hcmdbMV0gPT0gMCkgeworCQkJdHByaW50ZiAoIkxPQ0FMTkFNRSwgIik7CisJCX0KKwkJZWxzZSBpZiAodGNwLT51X2FyZ1sxXSA9PSAxKSB7CisJCQl0cHJpbnRmICgiUkVNT1RFTkFNRSwgIik7CisJCX0KKwkJZWxzZSB7CisJCQl0cHJpbnRmICgiJWxkLCAiLCB0Y3AtPnVfYXJnIFsxXSk7CisJCX0KKwkJdHByaW50ZiAoIiVsZCwgIiwgdGNwLT51X2FyZyBbMl0pOworCX0KKwllbHNlIHsKKwkJaWYgKHRjcC0+dV9hcmdbM10gPT0gMCB8fCBzeXNlcnJvcih0Y3ApKSB7CisJCQl0cHJpbnRmKCIlI2x4IiwgdGNwLT51X2FyZ1szXSk7CisJCX0gZWxzZSB7CisJCQlwcmludHNvY2sodGNwLCB0Y3AtPnVfYXJnWzNdLCB0Y3AtPnVfYXJnWzRdKTsKKwkJfQorCQl0cHJpbnRmKCIsICIpOworCQlwcmludG51bSh0Y3AsIHRjcC0+dV9hcmdbNF0sICIlbHUiKTsKKwl9CisKKwlyZXR1cm4gMDsKKworfQorCitpbnQKK3N5c194Z2V0c29ja29wdCh0Y3ApCitzdHJ1Y3QgdGNiICp0Y3A7Cit7CisJcmV0dXJuIG5ldGxpYl9jYWxsICh0Y3AsIHN5c19nZXRzb2Nrb3B0KTsKK30KKworaW50CitzeXNfeHNldHNvY2tvcHQodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCXJldHVybiBuZXRsaWJfY2FsbCAodGNwLCBzeXNfc2V0c29ja29wdCk7Cit9CisKK2ludAorc3lzX3hzaHV0ZG93bih0Y3ApCitzdHJ1Y3QgdGNiICp0Y3A7Cit7CisJcmV0dXJuIG5ldGxpYl9jYWxsICh0Y3AsIHN5c19zaHV0ZG93bik7Cit9CisKKyNlbmRpZiAvKiBVTklYV0FSRSAqLwpkaWZmIC0tZ2l0IGEvc3RyYWNlLTQuNS4yMC9wcm9jLmMgYi9zdHJhY2UtNC41LjIwL3Byb2MuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNGVmOGZiCi0tLSAvZGV2L251bGwKKysrIGIvc3RyYWNlLTQuNS4yMC9wcm9jLmMKQEAgLTAsMCArMSwyNjAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDE5OTMsIDE5OTQsIDE5OTUgUmljayBTbGFka2V5IDxqcnNAd29ybGQuc3RkLmNvbT4KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBUaGUgbmFtZSBvZiB0aGUgYXV0aG9yIG1heSBub3QgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMKKyAqICAgIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIEFVVEhPUiBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCisgKiBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELgorICogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAorICogSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUCisgKiBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqCisgKgkkSWQkCisgKi8KKworI2luY2x1ZGUgImRlZnMuaCIKKworI2lmZGVmIFNWUjQKKyNpZm5kZWYgSEFWRV9NUF9QUk9DRlMKKworc3RhdGljIGNvbnN0IHN0cnVjdCB4bGF0IHByb2Nfc3RhdHVzX2ZsYWdzW10gPSB7CisJeyBQUl9TVE9QUEVELAkiUFJfU1RPUFBFRCIJfSwKKwl7IFBSX0lTVE9QLAkiUFJfSVNUT1AiCX0sCisJeyBQUl9EU1RPUCwJIlBSX0RTVE9QIgl9LAorCXsgUFJfQVNMRUVQLAkiUFJfQVNMRUVQIgl9LAorCXsgUFJfRk9SSywJIlBSX0ZPUksiCX0sCisJeyBQUl9STEMsCSJQUl9STEMiCX0sCisJeyBQUl9QVFJBQ0UsCSJQUl9QVFJBQ0UiCX0sCisJeyBQUl9QQ0lOVkFMLAkiUFJfUENJTlZBTCIJfSwKKwl7IFBSX0lTU1lTLAkiUFJfSVNTWVMiCX0sCisjaWZkZWYgUFJfU1RFUAorCXsgUFJfU1RFUCwJIlBSX1NURVAiCX0sCisjZW5kaWYKKyNpZmRlZiBQUl9LTEMKKwl7IFBSX0tMQywJIlBSX0tMQyIJfSwKKyNlbmRpZgorI2lmZGVmIFBSX0FTWU5DCisJeyBQUl9BU1lOQywJIlBSX0FTWU5DIgl9LAorI2VuZGlmCisjaWZkZWYgUFJfUENPTVBBVAorCXsgUFJfUENPTVBBVCwJIlBSX1BDT01QQVQiCX0sCisjZW5kaWYKKwl7IDAsCQlOVUxMCQl9LAorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCB4bGF0IHByb2Nfc3RhdHVzX3doeVtdID0geworCXsgUFJfUkVRVUVTVEVELAkiUFJfUkVRVUVTVEVEIgl9LAorCXsgUFJfU0lHTkFMTEVELAkiUFJfU0lHTkFMTEVEIgl9LAorCXsgUFJfU1lTRU5UUlksCSJQUl9TWVNFTlRSWSIJfSwKKwl7IFBSX1NZU0VYSVQsCSJQUl9TWVNFWElUIgl9LAorCXsgUFJfSk9CQ09OVFJPTCwiUFJfSk9CQ09OVFJPTCIJfSwKKwl7IFBSX0ZBVUxURUQsCSJQUl9GQVVMVEVEIgl9LAorI2lmZGVmIFBSX1NVU1BFTkRFRAorCXsgUFJfU1VTUEVOREVELAkiUFJfU1VTUEVOREVEIgl9LAorI2VuZGlmCisjaWZkZWYgUFJfQ0hFQ0tQT0lOVAorCXsgUFJfQ0hFQ0tQT0lOVCwiUFJfQ0hFQ0tQT0lOVCIJfSwKKyNlbmRpZgorCXsgMCwJCU5VTEwJCX0sCit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IHhsYXQgcHJvY19ydW5fZmxhZ3NbXSA9IHsKKwl7IFBSQ1NJRywJIlBSQ1NJRyIJfSwKKwl7IFBSQ0ZBVUxULAkiUFJDRkFVTFQiCX0sCisJeyBQUlNUUkFDRSwJIlBSU1RSQUNFIgl9LAorCXsgUFJTSE9MRCwJIlBSU0hPTEQiCX0sCisJeyBQUlNGQVVMVCwJIlBSU0ZBVUxUIgl9LAorCXsgUFJTVkFERFIsCSJQUlNWQUREUiIJfSwKKwl7IFBSU1RFUCwJIlBSU1RFUCIJfSwKKwl7IFBSU0FCT1JULAkiUFJTQUJPUlQiCX0sCisJeyBQUlNUT1AsCSJQUlNUT1AiCX0sCisJeyAwLAkJTlVMTAkJfSwKK307CisKK2ludAorcHJvY19pb2N0bCh0Y3AsIGNvZGUsIGFyZykKK3N0cnVjdCB0Y2IgKnRjcDsKK2ludCBjb2RlLCBhcmc7Cit7CisJaW50IHZhbDsKKwlwcnN0YXR1c190IHN0YXR1czsKKwlwcnJ1bl90IHJ1bjsKKworCWlmIChlbnRlcmluZyh0Y3ApKQorCQlyZXR1cm4gMDsKKworCXN3aXRjaCAoY29kZSkgeworCWNhc2UgUElPQ1NUQVRVUzoKKwljYXNlIFBJT0NTVE9QOgorCWNhc2UgUElPQ1dTVE9QOgorCQlpZiAoYXJnID09IDApCisJCQl0cHJpbnRmKCIsIE5VTEwiKTsKKwkJZWxzZSBpZiAoc3lzZXJyb3IodGNwKSkKKwkJCXRwcmludGYoIiwgJSN4IiwgYXJnKTsKKwkJZWxzZSBpZiAodW1vdmUodGNwLCBhcmcsICZzdGF0dXMpIDwgMCkKKwkJCXRwcmludGYoIiwgey4uLn0iKTsKKwkJZWxzZSB7CisJCQl0cHJpbnRmKCIsIHtwcl9mbGFncz0iKTsKKwkJCXByaW50ZmxhZ3MocHJvY19zdGF0dXNfZmxhZ3MsIHN0YXR1cy5wcl9mbGFncywgIlBSXz8/PyIpOworCQkJaWYgKHN0YXR1cy5wcl93aHkpIHsKKwkJCQl0cHJpbnRmKCIsIHByX3doeT0iKTsKKwkJCQlwcmludHh2YWwocHJvY19zdGF0dXNfd2h5LCBzdGF0dXMucHJfd2h5LAorCQkJCQkgICJQUl8/Pz8iKTsKKwkJCX0KKwkJCXN3aXRjaCAoc3RhdHVzLnByX3doeSkgeworCQkJY2FzZSBQUl9TSUdOQUxMRUQ6CisJCQljYXNlIFBSX0pPQkNPTlRST0w6CisJCQkJdHByaW50ZigiLCBwcl93aGF0PSIpOworCQkJCXByaW50c2lnbmFsKHN0YXR1cy5wcl93aGF0KTsKKwkJCQlicmVhazsKKwkJCWNhc2UgUFJfRkFVTFRFRDoKKwkJCQl0cHJpbnRmKCIsIHByX3doYXQ9JWQiLCBzdGF0dXMucHJfd2hhdCk7CisJCQkJYnJlYWs7CisJCQljYXNlIFBSX1NZU0VOVFJZOgorCQkJY2FzZSBQUl9TWVNFWElUOgorCQkJCXRwcmludGYoIiwgcHJfd2hhdD1TWVNfJXMiLAorCQkJCQlzeXNlbnRbc3RhdHVzLnByX3doYXRdLnN5c19uYW1lKTsKKwkJCQlicmVhazsKKwkJCX0KKwkJCXRwcmludGYoIiwgLi4ufSIpOworCQl9CisJCXJldHVybiAxOworCWNhc2UgUElPQ1JVTjoKKwkJaWYgKGFyZyA9PSAwKQorCQkJdHByaW50ZigiLCBOVUxMIik7CisJCWVsc2UgaWYgKHVtb3ZlKHRjcCwgYXJnLCAmcnVuKSA8IDApCisJCQl0cHJpbnRmKCIsIHsuLi59Iik7CisJCWVsc2UgeworCQkJdHByaW50ZigiLCB7cHJfZmxhZ3M9Iik7CisJCQlwcmludGZsYWdzKHByb2NfcnVuX2ZsYWdzLCBydW4ucHJfZmxhZ3MsICJQUj8/PyIpOworCQkJdHByaW50ZigiLCAuLi59Iik7CisJCX0KKwkJcmV0dXJuIDE7CisjaWZkZWYgUElPQ1NFVAorCWNhc2UgUElPQ1NFVDoKKwljYXNlIFBJT0NSRVNFVDoKKwkJaWYgKHVtb3ZlKHRjcCwgYXJnLCAmdmFsKSA8IDApCisJCQl0cHJpbnRmKCIsIFs/XSIpOworCQllbHNlIHsKKwkJCXRwcmludGYoIiwgWyIpOworCQkJcHJpbnRmbGFncyhwcm9jX3N0YXR1c19mbGFncywgdmFsLCAiUFJfPz8/Iik7CisJCQl0cHJpbnRmKCJdIik7CisJCX0KKwkJcmV0dXJuIDE7CisjZW5kaWYgLyogUElPQ1NFVCAqLworCWNhc2UgUElPQ0tJTEw6CisJY2FzZSBQSU9DVU5LSUxMOgorCQkvKiB0YWtlcyBhIHBvaW50ZXIgdG8gYSBzaWduYWwgKi8KKwkJaWYgKHVtb3ZlKHRjcCwgYXJnLCAmdmFsKSA8IDApCisJCQl0cHJpbnRmKCIsIFs/XSIpOworCQllbHNlIHsKKwkJCXRwcmludGYoIiwgWyIpOworCQkJcHJpbnRzaWduYWwodmFsKTsKKwkJCXRwcmludGYoIl0iKTsKKwkJfQorCQlyZXR1cm4gMTsKKwljYXNlIFBJT0NTRk9SSzoKKwljYXNlIFBJT0NSRk9SSzoKKwljYXNlIFBJT0NTUkxDOgorCWNhc2UgUElPQ1JSTEM6CisJCS8qIGRvZXNuJ3QgdGFrZSBhbiBhcmcgKi8KKwkJcmV0dXJuIDE7CisJZGVmYXVsdDoKKwkJLyogYWQgbmFzZXVtICovCisJCXJldHVybiAwOworCX0KK30KKworI2VuZGlmIC8qIEhBVkVfTVBfUFJPQ0ZTICovCisjZW5kaWYgLyogU1ZSNCAqLworCisjaWZkZWYgRlJFRUJTRAorI2luY2x1ZGUgPHN5cy9waW9jdGwuaD4KKworc3RhdGljIGNvbnN0IHN0cnVjdCB4bGF0IHByb2Nfc3RhdHVzX3doeVtdID0geworCXsgU19FWEVDLAkiU19FWEVDIgl9LAorCXsgU19TSUcsCSJTX1NJRyIJCX0sCisJeyBTX1NDRSwJIlNfU0NFIgkJfSwKKwl7IFNfU0NYLAkiU19TQ1giCQl9LAorCXsgU19DT1JFLAkiU19DT1JFIgl9LAorCXsgU19FWElULAkiU19FWElUIgl9LAorCXsgMCwJCU5VTEwJCX0KK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCBwcm9jX3N0YXR1c19mbGFnc1tdID0geworCXsgUEZfTElOR0VSLAkiUEZfTElOR0VSIgl9LAorCXsgUEZfSVNVR0lELAkiUEZfSVNVR0lEIgl9LAorCXsgMCwJCU5VTEwJCX0KK307CisKK2ludAorcHJvY19pb2N0bCh0Y3AsIGNvZGUsIGFyZykKK3N0cnVjdCB0Y2IgKnRjcDsKK2ludCBjb2RlLCBhcmc7Cit7CisJaW50IHZhbDsKKwlzdHJ1Y3QgcHJvY2ZzX3N0YXR1cyBzdGF0dXM7CisKKwlpZiAoZW50ZXJpbmcodGNwKSkKKwkJcmV0dXJuIDA7CisKKwlzd2l0Y2ggKGNvZGUpIHsKKwljYXNlIFBJT0NTVEFUVVM6CisJY2FzZSBQSU9DV0FJVDoKKwkJaWYgKGFyZyA9PSAwKQorCQkJdHByaW50ZigiLCBOVUxMIik7CisJCWVsc2UgaWYgKHN5c2Vycm9yKHRjcCkpCisJCQl0cHJpbnRmKCIsICV4IiwgYXJnKTsKKwkJZWxzZSBpZiAodW1vdmUodGNwLCBhcmcsICZzdGF0dXMpIDwgMCkKKwkJCXRwcmludGYoIiwgey4uLn0iKTsKKwkJZWxzZSB7CisJCQl0cHJpbnRmKCIsIHtzdGF0ZT0lZCwgZmxhZ3M9Iiwgc3RhdHVzLnN0YXRlKTsKKwkJCXByaW50ZmxhZ3MocHJvY19zdGF0dXNfZmxhZ3MsIHN0YXR1cy5mbGFncywgIlBGXz8/PyIpOworCQkJdHByaW50ZigiLCBldmVudHM9Iik7CisJCQlwcmludGZsYWdzKHByb2Nfc3RhdHVzX3doeSwgc3RhdHVzLmV2ZW50cywgIlNfPz8/Iik7CisJCQl0cHJpbnRmKCIsIHdoeT0iKTsKKwkJCXByaW50eHZhbChwcm9jX3N0YXR1c193aHksIHN0YXR1cy53aHksICJTXz8/PyIpOworCQkJdHByaW50ZigiLCB2YWw9JWx1fSIsIHN0YXR1cy52YWwpOworCQl9CisJCXJldHVybiAxOworCWNhc2UgUElPQ0JJUzoKKwkJdHByaW50ZigiLCAiKTsKKwkJcHJpbnRmbGFncyhwcm9jX3N0YXR1c193aHksIGFyZywgIlNfPz8/Iik7CisJCXJldHVybiAxOworCQlyZXR1cm4gMTsKKwljYXNlIFBJT0NTRkw6CisJCXRwcmludGYoIiwgIik7CisJCXByaW50ZmxhZ3MocHJvY19zdGF0dXNfZmxhZ3MsIGFyZywgIlBGXz8/PyIpOworCQlyZXR1cm4gMTsKKwljYXNlIFBJT0NHRkw6CisJCWlmIChzeXNlcnJvcih0Y3ApKQorCQkJdHByaW50ZigiLCAlI3giLCBhcmcpOworCQllbHNlIGlmICh1bW92ZSh0Y3AsIGFyZywgJnZhbCkgPCAwKQorCQkJdHByaW50ZigiLCB7Li4ufSIpOworCQllbHNlIHsKKwkJCXRwcmludGYoIiwgWyIpOworCQkJcHJpbnRmbGFncyhwcm9jX3N0YXR1c19mbGFncywgdmFsLCAiUEZfPz8/Iik7CisJCQl0cHJpbnRmKCJdIik7CisJCX0KKwkJcmV0dXJuIDE7CisJZGVmYXVsdDoKKwkJLyogYWQgbmFzZXVtICovCisJCXJldHVybiAwOworCX0KK30KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvc3RyYWNlLTQuNS4yMC9wcm9jZXNzLmMgYi9zdHJhY2UtNC41LjIwL3Byb2Nlc3MuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNjllNDVlCi0tLSAvZGV2L251bGwKKysrIGIvc3RyYWNlLTQuNS4yMC9wcm9jZXNzLmMKQEAgLTAsMCArMSwzNjQ1IEBACisvKgorICogQ29weXJpZ2h0IChjKSAxOTkxLCAxOTkyIFBhdWwgS3JhbmVuYnVyZyA8cGtAY3MuZmV3LmV1ci5ubD4KKyAqIENvcHlyaWdodCAoYykgMTk5MyBCcmFua28gTGFua2VzdGVyIDxicmFua29AaGFja3RpYy5ubD4KKyAqIENvcHlyaWdodCAoYykgMTk5MywgMTk5NCwgMTk5NSwgMTk5NiBSaWNrIFNsYWRrZXkgPGpyc0B3b3JsZC5zdGQuY29tPgorICogQ29weXJpZ2h0IChjKSAxOTk2LTE5OTkgV2ljaGVydCBBa2tlcm1hbiA8d2ljaGVydEBjaXN0cm9uLm5sPgorICogQ29weXJpZ2h0IChjKSAxOTk5IElCTSBEZXV0c2NobGFuZCBFbnR3aWNrbHVuZyBHbWJILCBJQk0gQ29ycG9yYXRpb24KKyAqICAgICAgICAgICAgICAgICAgICAgTGludXggZm9yIHMzOTAgcG9ydCBieSBELkouIEJhcnJvdworICogICAgICAgICAgICAgICAgICAgIDxiYXJyb3dfZGpAbWFpbC55YWhvby5jb20sZGpiYXJyb3dAZGUuaWJtLmNvbT4KKyAqIENvcHlyaWdodCAoYykgMjAwMCBQb2NrZXRQZW5ndWlucyBJbmMuICBMaW51eCBmb3IgSGl0YWNoaSBTdXBlckgKKyAqICAgICAgICAgICAgICAgICAgICBwb3J0IGJ5IEdyZWcgQmFua3MgPGdiYW5rc0Bwb2NrZXRwZW5ndWlucy5jb20+CisKKyAqCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gVGhlIG5hbWUgb2YgdGhlIGF1dGhvciBtYXkgbm90IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzCisgKiAgICBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBBVVRIT1IgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUyBPUgorICogSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUworICogT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4KKyAqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKKyAqIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVAorICogTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKgorICoJJElkJAorICovCisKKyNpbmNsdWRlICJkZWZzLmgiCisKKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8c3lzL3RpbWUuaD4KKyNpbmNsdWRlIDxzeXMvd2FpdC5oPgorI2luY2x1ZGUgPHN5cy9yZXNvdXJjZS5oPgorI2luY2x1ZGUgPHN5cy91dHNuYW1lLmg+CisjaW5jbHVkZSA8c3lzL3VzZXIuaD4KKyNpbmNsdWRlIDxzeXMvc3lzY2FsbC5oPgorI2luY2x1ZGUgPHNpZ25hbC5oPgorI2lmZGVmIFNVTk9TNAorI2luY2x1ZGUgPG1hY2hpbmUvcmVnLmg+CisjZW5kaWYgLyogU1VOT1M0ICovCisKKyNpZmRlZiBGUkVFQlNECisjaW5jbHVkZSA8c3lzL3B0cmFjZS5oPgorI2VuZGlmCisKKyNpZmRlZiBIQVZFX1NZU19SRUdfSAorIyBpbmNsdWRlIDxzeXMvcmVnLmg+CisjaWZuZGVmIFBUUkFDRV9QRUVLVVNSCisjIGRlZmluZSBQVFJBQ0VfUEVFS1VTUiBQVFJBQ0VfUEVFS1VTRVIKKyNlbmRpZgorI2lmbmRlZiBQVFJBQ0VfUE9LRVVTUgorIyBkZWZpbmUgUFRSQUNFX1BPS0VVU1IgUFRSQUNFX1BPS0VVU0VSCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgSEFWRV9MSU5VWF9QVFJBQ0VfSAorI3VuZGVmIFBUUkFDRV9TWVNDQUxMCisjIGlmZGVmIEhBVkVfU1RSVUNUX0lBNjRfRlBSRUcKKyMgIGRlZmluZSBpYTY0X2ZwcmVnIFhYWF9pYTY0X2ZwcmVnCisjIGVuZGlmCisjIGlmZGVmIEhBVkVfU1RSVUNUX1BUX0FMTF9VU0VSX1JFR1MKKyMgIGRlZmluZSBwdF9hbGxfdXNlcl9yZWdzIFhYWF9wdF9hbGxfdXNlcl9yZWdzCisjIGVuZGlmCisjaW5jbHVkZSA8bGludXgvcHRyYWNlLmg+CisjIHVuZGVmIGlhNjRfZnByZWcKKyMgdW5kZWYgcHRfYWxsX3VzZXJfcmVncworI2VuZGlmCisKKyNpZiBkZWZpbmVkIChMSU5VWCkgJiYgZGVmaW5lZCAoU1BBUkM2NCkKKyMgZGVmaW5lIHJfcGMgcl90cGMKKyMgdW5kZWYgUFRSQUNFX0dFVFJFR1MKKyMgZGVmaW5lIFBUUkFDRV9HRVRSRUdTIFBUUkFDRV9HRVRSRUdTNjQKKyMgdW5kZWYgUFRSQUNFX1NFVFJFR1MKKyMgZGVmaW5lIFBUUkFDRV9TRVRSRUdTIFBUUkFDRV9TRVRSRUdTNjQKKyNlbmRpZiAvKiBMSU5VWCAmJiBTUEFSQzY0ICovCisKKyNpZmRlZiBIQVZFX0xJTlVYX0ZVVEVYX0gKKyMgaW5jbHVkZSA8bGludXgvZnV0ZXguaD4KKyNlbmRpZgorI2lmZGVmIExJTlVYCisjIGlmbmRlZiBGVVRFWF9XQUlUCisjICBkZWZpbmUgRlVURVhfV0FJVCAwCisjIGVuZGlmCisjIGlmbmRlZiBGVVRFWF9XQUtFCisjICBkZWZpbmUgRlVURVhfV0FLRSAxCisjIGVuZGlmCisjIGlmbmRlZiBGVVRFWF9GRAorIyAgZGVmaW5lIEZVVEVYX0ZEIDIKKyMgZW5kaWYKKyMgaWZuZGVmIEZVVEVYX1JFUVVFVUUKKyMgIGRlZmluZSBGVVRFWF9SRVFVRVVFIDMKKyMgZW5kaWYKKyNlbmRpZiAvKiBMSU5VWCAqLworCisjaWZkZWYgTElOVVgKKyNpbmNsdWRlIDxzY2hlZC5oPgorI2luY2x1ZGUgPGFzbS9wb3NpeF90eXBlcy5oPgorI3VuZGVmIEdFVEdST1VQU19UCisjZGVmaW5lIEdFVEdST1VQU19UIF9fa2VybmVsX2dpZF90CisjdW5kZWYgR0VUR1JPVVBTMzJfVAorI2RlZmluZSBHRVRHUk9VUFMzMl9UIF9fa2VybmVsX2dpZDMyX3QKKyNlbmRpZiAvKiBMSU5VWCAqLworCisjaWYgZGVmaW5lZChMSU5VWCkgJiYgZGVmaW5lZChJQTY0KQorIyBpbmNsdWRlIDxhc20vcHRyYWNlX29mZnNldHMuaD4KKyMgaW5jbHVkZSA8YXNtL3JzZS5oPgorI2VuZGlmCisKKyNpZmRlZiBIQVZFX1BSQ1RMCisjIGluY2x1ZGUgPHN5cy9wcmN0bC5oPgorCitzdGF0aWMgY29uc3Qgc3RydWN0IHhsYXQgcHJjdGxfb3B0aW9uc1tdID0geworI2lmZGVmIFBSX01BWFBST0NTCisJeyBQUl9NQVhQUk9DUywJCSJQUl9NQVhQUk9DUyIJCX0sCisjZW5kaWYKKyNpZmRlZiBQUl9JU0JMT0NLRUQKKwl7IFBSX0lTQkxPQ0tFRCwJCSJQUl9JU0JMT0NLRUQiCQl9LAorI2VuZGlmCisjaWZkZWYgUFJfU0VUU1RBQ0tTSVpFCisJeyBQUl9TRVRTVEFDS1NJWkUsCSJQUl9TRVRTVEFDS1NJWkUiCX0sCisjZW5kaWYKKyNpZmRlZiBQUl9HRVRTVEFDS1NJWkUKKwl7IFBSX0dFVFNUQUNLU0laRSwJIlBSX0dFVFNUQUNLU0laRSIJfSwKKyNlbmRpZgorI2lmZGVmIFBSX01BWFBQUk9DUworCXsgUFJfTUFYUFBST0NTLAkJIlBSX01BWFBQUk9DUyIJCX0sCisjZW5kaWYKKyNpZmRlZiBQUl9VTkJMS09ORVhFQworCXsgUFJfVU5CTEtPTkVYRUMsCSJQUl9VTkJMS09ORVhFQyIJfSwKKyNlbmRpZgorI2lmZGVmIFBSX0FUT01JQ1NJTQorCXsgUFJfQVRPTUlDU0lNLAkJIlBSX0FUT01JQ1NJTSIJCX0sCisjZW5kaWYKKyNpZmRlZiBQUl9TRVRFWElUU0lHCisJeyBQUl9TRVRFWElUU0lHLAkiUFJfU0VURVhJVFNJRyIJCX0sCisjZW5kaWYKKyNpZmRlZiBQUl9SRVNJREVOVAorCXsgUFJfUkVTSURFTlQsCQkiUFJfUkVTSURFTlQiCQl9LAorI2VuZGlmCisjaWZkZWYgUFJfQVRUQUNIQUREUgorCXsgUFJfQVRUQUNIQUREUiwJIlBSX0FUVEFDSEFERFIiCQl9LAorI2VuZGlmCisjaWZkZWYgUFJfREVUQUNIQUREUgorCXsgUFJfREVUQUNIQUREUiwJIlBSX0RFVEFDSEFERFIiCQl9LAorI2VuZGlmCisjaWZkZWYgUFJfVEVSTUNISUxECisJeyBQUl9URVJNQ0hJTEQsCQkiUFJfVEVSTUNISUxEIgkJfSwKKyNlbmRpZgorI2lmZGVmIFBSX0dFVFNITUFTSworCXsgUFJfR0VUU0hNQVNLLAkJIlBSX0dFVFNITUFTSyIJCX0sCisjZW5kaWYKKyNpZmRlZiBQUl9HRVROU0hBUkUKKwl7IFBSX0dFVE5TSEFSRSwJCSJQUl9HRVROU0hBUkUiCQl9LAorI2VuZGlmCisjaWZkZWYgUFJfQ09SRVBJRAorCXsgUFJfQ09SRVBJRCwJCSJQUl9DT1JFUElEIgkJfSwKKyNlbmRpZgorI2lmZGVmIFBSX0FUVEFDSEFERFJQRVJNCisJeyBQUl9BVFRBQ0hBRERSUEVSTSwJIlBSX0FUVEFDSEFERFJQRVJNIgl9LAorI2VuZGlmCisjaWZkZWYgUFJfUFRIUkVBREVYSVQKKwl7IFBSX1BUSFJFQURFWElULAkiUFJfUFRIUkVBREVYSVQiCX0sCisjZW5kaWYKKyNpZmRlZiBQUl9TRVRfUERFQVRIU0lHCisJeyBQUl9TRVRfUERFQVRIU0lHLAkiUFJfU0VUX1BERUFUSFNJRyIJfSwKKyNlbmRpZgorI2lmZGVmIFBSX0dFVF9QREVBVEhTSUcKKwl7IFBSX0dFVF9QREVBVEhTSUcsCSJQUl9HRVRfUERFQVRIU0lHIgl9LAorI2VuZGlmCisjaWZkZWYgUFJfR0VUX0RVTVBBQkxFCisJeyBQUl9HRVRfRFVNUEFCTEUsCSJQUl9HRVRfRFVNUEFCTEUiCX0sCisjZW5kaWYKKyNpZmRlZiBQUl9TRVRfRFVNUEFCTEUKKwl7IFBSX1NFVF9EVU1QQUJMRSwJIlBSX1NFVF9EVU1QQUJMRSIJfSwKKyNlbmRpZgorI2lmZGVmIFBSX0dFVF9VTkFMSUdOCisJeyBQUl9HRVRfVU5BTElHTiwJIlBSX0dFVF9VTkFMSUdOIgl9LAorI2VuZGlmCisjaWZkZWYgUFJfU0VUX1VOQUxJR04KKwl7IFBSX1NFVF9VTkFMSUdOLAkiUFJfU0VUX1VOQUxJR04iCX0sCisjZW5kaWYKKyNpZmRlZiBQUl9HRVRfS0VFUENBUFMKKwl7IFBSX0dFVF9LRUVQQ0FQUywJIlBSX0dFVF9LRUVQQ0FQUyIJfSwKKyNlbmRpZgorI2lmZGVmIFBSX1NFVF9LRUVQQ0FQUworCXsgUFJfU0VUX0tFRVBDQVBTLAkiUFJfU0VUX0tFRVBDQVBTIgl9LAorI2VuZGlmCisjaWZkZWYgUFJfR0VUX0ZQRU1VCisJeyBQUl9HRVRfRlBFTVUsCQkiUFJfR0VUX0ZQRU1VIgkJfSwKKyNlbmRpZgorI2lmZGVmIFBSX1NFVF9GUEVNVQorCXsgUFJfU0VUX0ZQRU1VLAkJIlBSX1NFVF9GUEVNVSIJCX0sCisjZW5kaWYKKyNpZmRlZiBQUl9HRVRfRlBFWEMKKwl7IFBSX0dFVF9GUEVYQywJCSJQUl9HRVRfRlBFWEMiCQl9LAorI2VuZGlmCisjaWZkZWYgUFJfU0VUX0ZQRVhDCisJeyBQUl9TRVRfRlBFWEMsCQkiUFJfU0VUX0ZQRVhDIgkJfSwKKyNlbmRpZgorI2lmZGVmIFBSX0dFVF9USU1JTkcKKwl7IFBSX0dFVF9USU1JTkcsCSJQUl9HRVRfVElNSU5HIgkJfSwKKyNlbmRpZgorI2lmZGVmIFBSX1NFVF9USU1JTkcKKwl7IFBSX1NFVF9USU1JTkcsCSJQUl9TRVRfVElNSU5HIgkJfSwKKyNlbmRpZgorI2lmZGVmIFBSX1NFVF9OQU1FCisJeyBQUl9TRVRfTkFNRSwJCSJQUl9TRVRfTkFNRSIJCX0sCisjZW5kaWYKKyNpZmRlZiBQUl9HRVRfTkFNRQorCXsgUFJfR0VUX05BTUUsCQkiUFJfR0VUX05BTUUiCQl9LAorI2VuZGlmCisjaWZkZWYgUFJfR0VUX0VORElBTgorCXsgUFJfR0VUX0VORElBTiwJIlBSX0dFVF9FTkRJQU4iCQl9LAorI2VuZGlmCisjaWZkZWYgUFJfU0VUX0VORElBTgorCXsgUFJfU0VUX0VORElBTiwJIlBSX1NFVF9FTkRJQU4iCQl9LAorI2VuZGlmCisjaWZkZWYgUFJfR0VUX1NFQ0NPTVAKKwl7IFBSX0dFVF9TRUNDT01QLAkiUFJfR0VUX1NFQ0NPTVAiCX0sCisjZW5kaWYKKyNpZmRlZiBQUl9TRVRfU0VDQ09NUAorCXsgUFJfU0VUX1NFQ0NPTVAsCSJQUl9TRVRfU0VDQ09NUCIJfSwKKyNlbmRpZgorI2lmZGVmIFBSX0dFVF9UU0MKKwl7IFBSX0dFVF9UU0MsCQkiUFJfR0VUX1RTQyIJCX0sCisjZW5kaWYKKyNpZmRlZiBQUl9TRVRfVFNDCisJeyBQUl9TRVRfVFNDLAkJIlBSX1NFVF9UU0MiCQl9LAorI2VuZGlmCisjaWZkZWYgUFJfR0VUX1NFQ1VSRUJJVFMKKwl7IFBSX0dFVF9TRUNVUkVCSVRTLAkiUFJfR0VUX1NFQ1VSRUJJVFMiCX0sCisjZW5kaWYKKyNpZmRlZiBQUl9TRVRfU0VDVVJFQklUUworCXsgUFJfU0VUX1NFQ1VSRUJJVFMsCSJQUl9TRVRfU0VDVVJFQklUUyIJfSwKKyNlbmRpZgorCXsgMCwJCQlOVUxMCQkJfSwKK307CisKKworc3RhdGljIGNvbnN0IGNoYXIgKgordW5hbGlnbmN0bF9zdHJpbmcgKHVuc2lnbmVkIGludCBjdGwpCit7CisJc3RhdGljIGNoYXIgYnVmWzE2XTsKKworCXN3aXRjaCAoY3RsKSB7CisjaWZkZWYgUFJfVU5BTElHTl9OT1BSSU5UCisJICAgICAgY2FzZSBQUl9VTkFMSUdOX05PUFJJTlQ6CisJCXJldHVybiAiTk9QUklOVCI7CisjZW5kaWYKKyNpZmRlZiBQUl9VTkFMSUdOX1NJR0JVUworCSAgICAgIGNhc2UgUFJfVU5BTElHTl9TSUdCVVM6CisJCXJldHVybiAiU0lHQlVTIjsKKyNlbmRpZgorCSAgICAgIGRlZmF1bHQ6CisJCWJyZWFrOworCX0KKwlzcHJpbnRmKGJ1ZiwgIiV4IiwgY3RsKTsKKwlyZXR1cm4gYnVmOworfQorCisKK2ludAorc3lzX3ByY3RsKHRjcCkKK3N0cnVjdCB0Y2IgKnRjcDsKK3sKKwlpbnQgaTsKKworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXByaW50eHZhbChwcmN0bF9vcHRpb25zLCB0Y3AtPnVfYXJnWzBdLCAiUFJfPz8/Iik7CisJCXN3aXRjaCAodGNwLT51X2FyZ1swXSkgeworI2lmZGVmIFBSX0dFVE5TSEFSRQorCQljYXNlIFBSX0dFVE5TSEFSRToKKwkJCWJyZWFrOworI2VuZGlmCisjaWZkZWYgUFJfU0VUX1BERUFUSFNJRworCQljYXNlIFBSX1NFVF9QREVBVEhTSUc6CisJCQl0cHJpbnRmKCIsICVsdSIsIHRjcC0+dV9hcmdbMV0pOworCQkJYnJlYWs7CisjZW5kaWYKKyNpZmRlZiBQUl9HRVRfUERFQVRIU0lHCisJCWNhc2UgUFJfR0VUX1BERUFUSFNJRzoKKwkJCWJyZWFrOworI2VuZGlmCisjaWZkZWYgUFJfU0VUX0RVTVBBQkxFCisJCWNhc2UgUFJfU0VUX0RVTVBBQkxFOgorCQkJdHByaW50ZigiLCAlbHUiLCB0Y3AtPnVfYXJnWzFdKTsKKwkJCWJyZWFrOworI2VuZGlmCisjaWZkZWYgUFJfR0VUX0RVTVBBQkxFCisJCWNhc2UgUFJfR0VUX0RVTVBBQkxFOgorCQkJYnJlYWs7CisjZW5kaWYKKyNpZmRlZiBQUl9TRVRfVU5BTElHTgorCQljYXNlIFBSX1NFVF9VTkFMSUdOOgorCQkJdHByaW50ZigiLCAlcyIsIHVuYWxpZ25jdGxfc3RyaW5nKHRjcC0+dV9hcmdbMV0pKTsKKwkJCWJyZWFrOworI2VuZGlmCisjaWZkZWYgUFJfR0VUX1VOQUxJR04KKwkJY2FzZSBQUl9HRVRfVU5BTElHTjoKKwkJCXRwcmludGYoIiwgJSNseCIsIHRjcC0+dV9hcmdbMV0pOworCQkJYnJlYWs7CisjZW5kaWYKKyNpZmRlZiBQUl9TRVRfS0VFUENBUFMKKwkJY2FzZSBQUl9TRVRfS0VFUENBUFM6CisJCQl0cHJpbnRmKCIsICVsdSIsIHRjcC0+dV9hcmdbMV0pOworCQkJYnJlYWs7CisjZW5kaWYKKyNpZmRlZiBQUl9HRVRfS0VFUENBUFMKKwkJY2FzZSBQUl9HRVRfS0VFUENBUFM6CisJCQlicmVhazsKKyNlbmRpZgorCQlkZWZhdWx0OgorCQkJZm9yIChpID0gMTsgaSA8IHRjcC0+dV9uYXJnczsgaSsrKQorCQkJCXRwcmludGYoIiwgJSNseCIsIHRjcC0+dV9hcmdbaV0pOworCQkJYnJlYWs7CisJCX0KKwl9IGVsc2UgeworCQlzd2l0Y2ggKHRjcC0+dV9hcmdbMF0pIHsKKyNpZmRlZiBQUl9HRVRfUERFQVRIU0lHCisJCWNhc2UgUFJfR0VUX1BERUFUSFNJRzoKKwkJCWlmICh1bW92ZSh0Y3AsIHRjcC0+dV9hcmdbMV0sICZpKSA8IDApCisJCQkJdHByaW50ZigiLCAlI2x4IiwgdGNwLT51X2FyZ1sxXSk7CisJCQllbHNlCisJCQkJdHByaW50ZigiLCB7JXV9IiwgaSk7CisJCQlicmVhazsKKyNlbmRpZgorI2lmZGVmIFBSX0dFVF9EVU1QQUJMRQorCQljYXNlIFBSX0dFVF9EVU1QQUJMRToKKwkJCXJldHVybiBSVkFMX1VERUNJTUFMOworI2VuZGlmCisjaWZkZWYgUFJfR0VUX1VOQUxJR04KKwkJY2FzZSBQUl9HRVRfVU5BTElHTjoKKwkJCWlmIChzeXNlcnJvcih0Y3ApIHx8IHVtb3ZlKHRjcCwgdGNwLT51X2FyZ1sxXSwgJmkpIDwgMCkKKwkJCQlicmVhazsKKwkJCXRjcC0+YXV4c3RyID0gdW5hbGlnbmN0bF9zdHJpbmcoaSk7CisJCQlyZXR1cm4gUlZBTF9TVFI7CisjZW5kaWYKKyNpZmRlZiBQUl9HRVRfS0VFUENBUFMKKwkJY2FzZSBQUl9HRVRfS0VFUENBUFM6CisJCQlyZXR1cm4gUlZBTF9VREVDSU1BTDsKKyNlbmRpZgorCQlkZWZhdWx0OgorCQkJYnJlYWs7CisJCX0KKwl9CisJcmV0dXJuIDA7Cit9CisjZW5kaWYgLyogSEFWRV9QUkNUTCAqLworCisjaWYgZGVmaW5lZChGUkVFQlNEKSB8fCBkZWZpbmVkKFNVTk9TNCkgfHwgZGVmaW5lZChTVlI0KQoraW50CitzeXNfZ2V0aG9zdGlkKHRjcCkKK3N0cnVjdCB0Y2IgKnRjcDsKK3sKKwlpZiAoZXhpdGluZyh0Y3ApKQorCQlyZXR1cm4gUlZBTF9IRVg7CisJcmV0dXJuIDA7Cit9CisjZW5kaWYgLyogRlJFRUJTRCB8fCBTVU5PUzQgfHwgU1ZSNCAqLworCitpbnQKK3N5c19zZXRob3N0bmFtZSh0Y3ApCitzdHJ1Y3QgdGNiICp0Y3A7Cit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJcHJpbnRwYXRobih0Y3AsIHRjcC0+dV9hcmdbMF0sIHRjcC0+dV9hcmdbMV0pOworCQl0cHJpbnRmKCIsICVsdSIsIHRjcC0+dV9hcmdbMV0pOworCX0KKwlyZXR1cm4gMDsKK30KKworI2lmIGRlZmluZWQoQUxQSEEpIHx8IGRlZmluZWQoRlJFRUJTRCkgfHwgZGVmaW5lZChTVU5PUzQpIHx8IGRlZmluZWQoU1ZSNCkKK2ludAorc3lzX2dldGhvc3RuYW1lKHRjcCkKK3N0cnVjdCB0Y2IgKnRjcDsKK3sKKwlpZiAoZXhpdGluZyh0Y3ApKSB7CisJCWlmIChzeXNlcnJvcih0Y3ApKQorCQkJdHByaW50ZigiJSNseCIsIHRjcC0+dV9hcmdbMF0pOworCQllbHNlCisJCQlwcmludHBhdGgodGNwLCB0Y3AtPnVfYXJnWzBdKTsKKwkJdHByaW50ZigiLCAlbHUiLCB0Y3AtPnVfYXJnWzFdKTsKKwl9CisJcmV0dXJuIDA7Cit9CisjZW5kaWYgLyogQUxQSEEgfHwgRlJFRUJTRCB8fCBTVU5PUzQgfHwgU1ZSNCAqLworCitpbnQKK3N5c19zZXRkb21haW5uYW1lKHRjcCkKK3N0cnVjdCB0Y2IgKnRjcDsKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQlwcmludHBhdGhuKHRjcCwgdGNwLT51X2FyZ1swXSwgdGNwLT51X2FyZ1sxXSk7CisJCXRwcmludGYoIiwgJWx1IiwgdGNwLT51X2FyZ1sxXSk7CisJfQorCXJldHVybiAwOworfQorCisjaWYgIWRlZmluZWQoTElOVVgpCisKK2ludAorc3lzX2dldGRvbWFpbm5hbWUodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCWlmIChleGl0aW5nKHRjcCkpIHsKKwkJaWYgKHN5c2Vycm9yKHRjcCkpCisJCQl0cHJpbnRmKCIlI2x4IiwgdGNwLT51X2FyZ1swXSk7CisJCWVsc2UKKwkJCXByaW50cGF0aCh0Y3AsIHRjcC0+dV9hcmdbMF0pOworCQl0cHJpbnRmKCIsICVsdSIsIHRjcC0+dV9hcmdbMV0pOworCX0KKwlyZXR1cm4gMDsKK30KKyNlbmRpZiAvKiAhTElOVVggKi8KKworaW50CitzeXNfZXhpdCh0Y3ApCitzdHJ1Y3QgdGNiICp0Y3A7Cit7CisJaWYgKGV4aXRpbmcodGNwKSkgeworCQlmcHJpbnRmKHN0ZGVyciwgIl9leGl0IHJldHVybmVkIVxuIik7CisJCXJldHVybiAtMTsKKwl9CisJLyogc3BlY2lhbCBjYXNlOiB3ZSBzdG9wIHRyYWNpbmcgdGhpcyBwcm9jZXNzLCBmaW5pc2ggbGluZSBub3cgKi8KKwl0cHJpbnRmKCIlbGQpICIsIHRjcC0+dV9hcmdbMF0pOworCXRhYnRvKGFjb2x1bW4pOworCXRwcmludGYoIj0gPyIpOworCXByaW50dHJhaWxlcigpOworCXJldHVybiAwOworfQorCitpbnQKK2ludGVybmFsX2V4aXQodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXRjcC0+ZmxhZ3MgfD0gVENCX0VYSVRJTkc7CisjaWZkZWYgX19OUl9leGl0X2dyb3VwCisjIGlmZGVmIElBNjQKKwkJaWYgKGlhMzIpIHsKKwkJCWlmICh0Y3AtPnNjbm8gPT0gMjUyKQorCQkJCXRjcC0+ZmxhZ3MgfD0gVENCX0dST1VQX0VYSVRJTkc7CisJCX0gZWxzZQorIyBlbmRpZgorCQlpZiAoa25vd25fc2Nubyh0Y3ApID09IF9fTlJfZXhpdF9ncm91cCkKKwkJCXRjcC0+ZmxhZ3MgfD0gVENCX0dST1VQX0VYSVRJTkc7CisjZW5kaWYKKwl9CisJcmV0dXJuIDA7Cit9CisKKy8qIFRDUCBpcyBjcmVhdGluZyBhIGNoaWxkIHdlIHdhbnQgdG8gZm9sbG93LgorICAgSWYgdGhlcmUgd2lsbCBiZSBzcGFjZSBpbiB0Y2J0YWIgZm9yIGl0LCBzZXQgVENCX0ZPTExPV0ZPUksgYW5kIHJldHVybiAwLgorICAgSWYgbm90LCBjbGVhciBUQ0JfRk9MTE9XRk9SSywgcHJpbnQgYW4gZXJyb3IsIGFuZCByZXR1cm4gMS4gICovCitzdGF0aWMgdm9pZAorZm9ya190Y2Ioc3RydWN0IHRjYiAqdGNwKQoreworCWlmIChucHJvY3MgPT0gdGNidGFic2l6ZSkKKwkJZXhwYW5kX3RjYnRhYigpOworCisJdGNwLT5mbGFncyB8PSBUQ0JfRk9MTE9XRk9SSzsKK30KKworI2lmZGVmIFVTRV9QUk9DRlMKKworaW50CitzeXNfZm9yayhzdHJ1Y3QgdGNiICp0Y3ApCit7CisJaWYgKGV4aXRpbmcodGNwKSAmJiAhc3lzZXJyb3IodGNwKSkgeworCQlpZiAoZ2V0cnZhbDIodGNwKSkgeworCQkJdGNwLT5hdXhzdHIgPSAiY2hpbGQgcHJvY2VzcyI7CisJCQlyZXR1cm4gUlZBTF9VREVDSU1BTCB8IFJWQUxfU1RSOworCQl9CisJfQorCXJldHVybiAwOworfQorCisjaWYgVU5JWFdBUkUgPiAyCisKK2ludAorc3lzX3Jmb3JrKHRjcCkKK3N0cnVjdCB0Y2IgKnRjcDsKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQl0cHJpbnRmICgiJWxkIiwgdGNwLT51X2FyZ1swXSk7CisJfQorCWVsc2UgaWYgKCFzeXNlcnJvcih0Y3ApKSB7CisJCWlmIChnZXRydmFsMih0Y3ApKSB7CisJCQl0Y3AtPmF1eHN0ciA9ICJjaGlsZCBwcm9jZXNzIjsKKwkJCXJldHVybiBSVkFMX1VERUNJTUFMIHwgUlZBTF9TVFI7CisJCX0KKwl9CisJcmV0dXJuIDA7Cit9CisKKyNlbmRpZgorCitpbnQKK2ludGVybmFsX2ZvcmsodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCXN0cnVjdCB0Y2IgKnRjcGNoaWxkOworCisJaWYgKGV4aXRpbmcodGNwKSkgeworI2lmZGVmIFNZU19yZm9yaworCQlpZiAoa25vd25fc2Nubyh0Y3ApID09IFNZU19yZm9yayAmJiAhKHRjcC0+dV9hcmdbMF0mUkZQUk9DKSkKKwkJCXJldHVybiAwOworI2VuZGlmCisJCWlmIChnZXRydmFsMih0Y3ApKQorCQkJcmV0dXJuIDA7CisJCWlmICghZm9sbG93Zm9yaykKKwkJCXJldHVybiAwOworCQlmb3JrX3RjYih0Y3ApOworCQlpZiAoc3lzZXJyb3IodGNwKSkKKwkJCXJldHVybiAwOworCQl0Y3BjaGlsZCA9IGFsbG9jdGNiKHRjcC0+dV9ydmFsKTsKKwkJaWYgKHByb2Nfb3Blbih0Y3BjaGlsZCwgMikgPCAwKQorCQkJZHJvcHRjYih0Y3BjaGlsZCk7CisJfQorCXJldHVybiAwOworfQorCisjZWxzZSAvKiAhVVNFX1BST0NGUyAqLworCisjaWZkZWYgTElOVVgKKworLyogZGVmaW5lcyBjb3BpZWQgZnJvbSBsaW51eC9zY2hlZC5oIHNpbmNlIHdlIGNhbid0IGluY2x1ZGUgdGhhdAorICogb3Vyc2VsdmVzIChpdCBjb25mbGljdHMgd2l0aCAqbG90cyogb2YgbGliYyBpbmNsdWRlcykKKyAqLworI2RlZmluZSBDU0lHTkFMICAgICAgICAgMHgwMDAwMDBmZiAgICAgIC8qIHNpZ25hbCBtYXNrIHRvIGJlIHNlbnQgYXQgZXhpdCAqLworI2RlZmluZSBDTE9ORV9WTSAgICAgICAgMHgwMDAwMDEwMCAgICAgIC8qIHNldCBpZiBWTSBzaGFyZWQgYmV0d2VlbiBwcm9jZXNzZXMgKi8KKyNkZWZpbmUgQ0xPTkVfRlMgICAgICAgIDB4MDAwMDAyMDAgICAgICAvKiBzZXQgaWYgZnMgaW5mbyBzaGFyZWQgYmV0d2VlbiBwcm9jZXNzZXMgKi8KKyNkZWZpbmUgQ0xPTkVfRklMRVMgICAgIDB4MDAwMDA0MDAgICAgICAvKiBzZXQgaWYgb3BlbiBmaWxlcyBzaGFyZWQgYmV0d2VlbiBwcm9jZXNzZXMgKi8KKyNkZWZpbmUgQ0xPTkVfU0lHSEFORCAgIDB4MDAwMDA4MDAgICAgICAvKiBzZXQgaWYgc2lnbmFsIGhhbmRsZXJzIHNoYXJlZCAqLworI2RlZmluZSBDTE9ORV9JRExFVEFTSyAgMHgwMDAwMTAwMCAgICAgIC8qIGtlcm5lbC1vbmx5IGZsYWcgKi8KKyNkZWZpbmUgQ0xPTkVfUFRSQUNFICAgIDB4MDAwMDIwMDAgICAgICAvKiBzZXQgaWYgd2Ugd2FudCB0byBsZXQgdHJhY2luZyBjb250aW51ZSBvbiB0aGUgY2hpbGQgdG9vICovCisjZGVmaW5lIENMT05FX1ZGT1JLICAgICAweDAwMDA0MDAwICAgICAgLyogc2V0IGlmIHRoZSBwYXJlbnQgd2FudHMgdGhlIGNoaWxkIHRvIHdha2UgaXQgdXAgb24gbW1fcmVsZWFzZSAqLworI2RlZmluZSBDTE9ORV9QQVJFTlQgICAgMHgwMDAwODAwMCAgICAgIC8qIHNldCBpZiB3ZSB3YW50IHRvIGhhdmUgdGhlIHNhbWUgcGFyZW50IGFzIHRoZSBjbG9uZXIgKi8KKyNkZWZpbmUgQ0xPTkVfVEhSRUFECTB4MDAwMTAwMDAJLyogU2FtZSB0aHJlYWQgZ3JvdXA/ICovCisjZGVmaW5lIENMT05FX05FV05TCTB4MDAwMjAwMDAJLyogTmV3IG5hbWVzcGFjZSBncm91cD8gKi8KKyNkZWZpbmUgQ0xPTkVfU1lTVlNFTQkweDAwMDQwMDAwCS8qIHNoYXJlIHN5c3RlbSBWIFNFTV9VTkRPIHNlbWFudGljcyAqLworI2RlZmluZSBDTE9ORV9TRVRUTFMJMHgwMDA4MDAwMAkvKiBjcmVhdGUgYSBuZXcgVExTIGZvciB0aGUgY2hpbGQgKi8KKyNkZWZpbmUgQ0xPTkVfUEFSRU5UX1NFVFRJRAkweDAwMTAwMDAwCS8qIHNldCB0aGUgVElEIGluIHRoZSBwYXJlbnQgKi8KKyNkZWZpbmUgQ0xPTkVfQ0hJTERfQ0xFQVJUSUQJMHgwMDIwMDAwMAkvKiBjbGVhciB0aGUgVElEIGluIHRoZSBjaGlsZCAqLworI2RlZmluZSBDTE9ORV9ERVRBQ0hFRAkJMHgwMDQwMDAwMAkvKiBwYXJlbnQgd2FudHMgbm8gY2hpbGQtZXhpdCBzaWduYWwgKi8KKyNkZWZpbmUgQ0xPTkVfVU5UUkFDRUQJCTB4MDA4MDAwMDAJLyogc2V0IGlmIHRoZSB0cmFjaW5nIHByb2Nlc3MgY2FuJ3QgZm9yY2UgQ0xPTkVfUFRSQUNFIG9uIHRoaXMgY2xvbmUgKi8KKyNkZWZpbmUgQ0xPTkVfQ0hJTERfU0VUVElECTB4MDEwMDAwMDAJLyogc2V0IHRoZSBUSUQgaW4gdGhlIGNoaWxkICovCisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCBjbG9uZV9mbGFnc1tdID0geworICAgIHsgQ0xPTkVfVk0sCQkiQ0xPTkVfVk0iCX0sCisgICAgeyBDTE9ORV9GUywJCSJDTE9ORV9GUyIJfSwKKyAgICB7IENMT05FX0ZJTEVTLAkiQ0xPTkVfRklMRVMiCX0sCisgICAgeyBDTE9ORV9TSUdIQU5ELAkiQ0xPTkVfU0lHSEFORCIJfSwKKyAgICB7IENMT05FX0lETEVUQVNLLAkiQ0xPTkVfSURMRVRBU0sifSwKKyAgICB7IENMT05FX1BUUkFDRSwJIkNMT05FX1BUUkFDRSIJfSwKKyAgICB7IENMT05FX1ZGT1JLLAkiQ0xPTkVfVkZPUksiCX0sCisgICAgeyBDTE9ORV9QQVJFTlQsCSJDTE9ORV9QQVJFTlQiCX0sCisgICAgeyBDTE9ORV9USFJFQUQsCSJDTE9ORV9USFJFQUQiIH0sCisgICAgeyBDTE9ORV9ORVdOUywJIkNMT05FX05FV05TIiB9LAorICAgIHsgQ0xPTkVfU1lTVlNFTSwJIkNMT05FX1NZU1ZTRU0iIH0sCisgICAgeyBDTE9ORV9TRVRUTFMsCSJDTE9ORV9TRVRUTFMiIH0sCisgICAgeyBDTE9ORV9QQVJFTlRfU0VUVElELCJDTE9ORV9QQVJFTlRfU0VUVElEIiB9LAorICAgIHsgQ0xPTkVfQ0hJTERfQ0xFQVJUSUQsIkNMT05FX0NISUxEX0NMRUFSVElEIiB9LAorICAgIHsgQ0xPTkVfREVUQUNIRUQsCSJDTE9ORV9ERVRBQ0hFRCIgfSwKKyAgICB7IENMT05FX1VOVFJBQ0VELAkiQ0xPTkVfVU5UUkFDRUQiIH0sCisgICAgeyBDTE9ORV9DSElMRF9TRVRUSUQsIkNMT05FX0NISUxEX1NFVFRJRCIgfSwKKyAgICB7IDAsCQlOVUxMCQl9LAorfTsKKworIyBpZmRlZiBJMzg2CisjICBpbmNsdWRlIDxhc20vbGR0Lmg+CisjICAgaWZkZWYgSEFWRV9TVFJVQ1RfVVNFUl9ERVNDCisjICAgIGRlZmluZSBtb2RpZnlfbGR0X2xkdF9zIHVzZXJfZGVzYworIyAgIGVuZGlmCitleHRlcm4gdm9pZCBwcmludF9sZHRfZW50cnkoKTsKKyMgZW5kaWYKKworIyBpZiBkZWZpbmVkIElBNjQKKyMgIGRlZmluZSBBUkdfRkxBR1MJMAorIyAgZGVmaW5lIEFSR19TVEFDSwkxCisjICBkZWZpbmUgQVJHX1NUQUNLU0laRQkoa25vd25fc2Nubyh0Y3ApID09IFNZU19jbG9uZTIgPyAyIDogLTEpCisjICBkZWZpbmUgQVJHX1BUSUQJKGtub3duX3Njbm8odGNwKSA9PSBTWVNfY2xvbmUyID8gMyA6IDIpCisjICBkZWZpbmUgQVJHX0NUSUQJKGtub3duX3Njbm8odGNwKSA9PSBTWVNfY2xvbmUyID8gNCA6IDMpCisjICBkZWZpbmUgQVJHX1RMUwkoa25vd25fc2Nubyh0Y3ApID09IFNZU19jbG9uZTIgPyA1IDogNCkKKyMgZWxpZiBkZWZpbmVkIFMzOTAgfHwgZGVmaW5lZCBTMzkwWCB8fCBkZWZpbmVkIENSSVNWMTAgfHwgZGVmaW5lZCBDUklTVjMyCisjICBkZWZpbmUgQVJHX1NUQUNLCTAKKyMgIGRlZmluZSBBUkdfRkxBR1MJMQorIyAgZGVmaW5lIEFSR19QVElECTIKKyMgIGRlZmluZSBBUkdfQ1RJRAkzCisjICBkZWZpbmUgQVJHX1RMUwk0CisjIGVsaWYgZGVmaW5lZCBYODZfNjQgfHwgZGVmaW5lZCBBTFBIQQorIyAgZGVmaW5lIEFSR19GTEFHUwkwCisjICBkZWZpbmUgQVJHX1NUQUNLCTEKKyMgIGRlZmluZSBBUkdfUFRJRAkyCisjICBkZWZpbmUgQVJHX0NUSUQJMworIyAgZGVmaW5lIEFSR19UTFMJNAorIyBlbHNlCisjICBkZWZpbmUgQVJHX0ZMQUdTCTAKKyMgIGRlZmluZSBBUkdfU1RBQ0sJMQorIyAgZGVmaW5lIEFSR19QVElECTIKKyMgIGRlZmluZSBBUkdfVExTCTMKKyMgIGRlZmluZSBBUkdfQ1RJRAk0CisjIGVuZGlmCisKK2ludAorc3lzX2Nsb25lKHRjcCkKK3N0cnVjdCB0Y2IgKnRjcDsKK3sKKwlpZiAoZXhpdGluZyh0Y3ApKSB7CisJCXVuc2lnbmVkIGxvbmcgZmxhZ3MgPSB0Y3AtPnVfYXJnW0FSR19GTEFHU107CisJCXRwcmludGYoImNoaWxkX3N0YWNrPSUjbHgsICIsIHRjcC0+dV9hcmdbQVJHX1NUQUNLXSk7CisjIGlmZGVmIEFSR19TVEFDS1NJWkUKKwkJaWYgKEFSR19TVEFDS1NJWkUgIT0gLTEpCisJCQl0cHJpbnRmKCJzdGFja19zaXplPSUjbHgsICIsCisJCQkJdGNwLT51X2FyZ1tBUkdfU1RBQ0tTSVpFXSk7CisjIGVuZGlmCisJCXRwcmludGYoImZsYWdzPSIpOworCQlwcmludGZsYWdzKGNsb25lX2ZsYWdzLCBmbGFncyAmfiBDU0lHTkFMLCBOVUxMKTsKKwkJaWYgKChmbGFncyAmIENTSUdOQUwpICE9IDApCisJCQl0cHJpbnRmKCJ8JXMiLCBzaWduYW1lKGZsYWdzICYgQ1NJR05BTCkpOworCQlpZiAoKGZsYWdzICYgKENMT05FX1BBUkVOVF9TRVRUSUR8Q0xPTkVfQ0hJTERfU0VUVElECisJCQkgICAgICB8Q0xPTkVfQ0hJTERfQ0xFQVJUSUR8Q0xPTkVfU0VUVExTKSkgPT0gMCkKKwkJCXJldHVybiAwOworCQlpZiAoZmxhZ3MgJiBDTE9ORV9QQVJFTlRfU0VUVElEKQorCQkJdHByaW50ZigiLCBwYXJlbnRfdGlkcHRyPSUjbHgiLCB0Y3AtPnVfYXJnW0FSR19QVElEXSk7CisJCWlmIChmbGFncyAmIENMT05FX1NFVFRMUykgeworIyBpZmRlZiBJMzg2CisJCQlzdHJ1Y3QgbW9kaWZ5X2xkdF9sZHRfcyBjb3B5OworCQkJaWYgKHVtb3ZlKHRjcCwgdGNwLT51X2FyZ1tBUkdfVExTXSwgJmNvcHkpICE9IC0xKSB7CisJCQkJdHByaW50ZigiLCB7ZW50cnlfbnVtYmVyOiVkLCAiLAorCQkJCQljb3B5LmVudHJ5X251bWJlcik7CisJCQkJaWYgKCF2ZXJib3NlKHRjcCkpCisJCQkJCXRwcmludGYoIi4uLn0iKTsKKwkJCQllbHNlCisJCQkJCXByaW50X2xkdF9lbnRyeSgmY29weSk7CisJCQl9CisJCQllbHNlCisjIGVuZGlmCisJCQkJdHByaW50ZigiLCB0bHM9JSNseCIsIHRjcC0+dV9hcmdbQVJHX1RMU10pOworCQl9CisJCWlmIChmbGFncyAmIChDTE9ORV9DSElMRF9TRVRUSUR8Q0xPTkVfQ0hJTERfQ0xFQVJUSUQpKQorCQkJdHByaW50ZigiLCBjaGlsZF90aWRwdHI9JSNseCIsIHRjcC0+dV9hcmdbQVJHX0NUSURdKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK2ludAorc3lzX3Vuc2hhcmUoc3RydWN0IHRjYiAqdGNwKQoreworCWlmIChlbnRlcmluZyh0Y3ApKQorCQlwcmludGZsYWdzKGNsb25lX2ZsYWdzLCB0Y3AtPnVfYXJnWzBdLCAiQ0xPTkVfPz8/Iik7CisJcmV0dXJuIDA7Cit9CisjZW5kaWYgLyogTElOVVggKi8KKworaW50CitzeXNfZm9yayh0Y3ApCitzdHJ1Y3QgdGNiICp0Y3A7Cit7CisJaWYgKGV4aXRpbmcodGNwKSkKKwkJcmV0dXJuIFJWQUxfVURFQ0lNQUw7CisJcmV0dXJuIDA7Cit9CisKK2ludAorY2hhbmdlX3N5c2NhbGwoc3RydWN0IHRjYiAqdGNwLCBpbnQgbmV3KQoreworI2lmZGVmIExJTlVYCisjaWYgZGVmaW5lZChJMzg2KQorCS8qIEF0dGVtcHQgdG8gbWFrZSB2Zm9yayBpbnRvIGZvcmssIHdoaWNoIHdlIGNhbiBmb2xsb3cuICovCisJaWYgKHB0cmFjZShQVFJBQ0VfUE9LRVVTRVIsIHRjcC0+cGlkLCAoY2hhciopKE9SSUdfRUFYICogNCksIG5ldykgPCAwKQorCQlyZXR1cm4gLTE7CisJcmV0dXJuIDA7CisjZWxpZiBkZWZpbmVkKFg4Nl82NCkKKwkvKiBBdHRlbXB0IHRvIG1ha2UgdmZvcmsgaW50byBmb3JrLCB3aGljaCB3ZSBjYW4gZm9sbG93LiAqLworCWlmIChwdHJhY2UoUFRSQUNFX1BPS0VVU0VSLCB0Y3AtPnBpZCwgKGNoYXIqKShPUklHX1JBWCAqIDgpLCBuZXcpIDwgMCkKKwkJcmV0dXJuIC0xOworCXJldHVybiAwOworI2VsaWYgZGVmaW5lZChQT1dFUlBDKQorCWlmIChwdHJhY2UoUFRSQUNFX1BPS0VVU0VSLCB0Y3AtPnBpZCwKKwkJICAgKGNoYXIqKShzaXplb2YodW5zaWduZWQgbG9uZykqUFRfUjApLCBuZXcpIDwgMCkKKwkJcmV0dXJuIC0xOworCXJldHVybiAwOworI2VsaWYgZGVmaW5lZChTMzkwKSB8fCBkZWZpbmVkKFMzOTBYKQorCS8qIHMzOTAgbGludXggYWZ0ZXIgMi40LjcgaGFzIGEgaG9vayBpbiBlbnRyeS5TIHRvIGFsbG93IHRoaXMgKi8KKwlpZiAocHRyYWNlKFBUUkFDRV9QT0tFVVNFUiwgdGNwLT5waWQsIChjaGFyKikoUFRfR1BSMiksIG5ldyk8MCkKKwkJcmV0dXJuIC0xOworCXJldHVybiAwOworI2VsaWYgZGVmaW5lZChNNjhLKQorCWlmIChwdHJhY2UoUFRSQUNFX1BPS0VVU0VSLCB0Y3AtPnBpZCwgKGNoYXIqKSg0KlBUX09SSUdfRDApLCBuZXcpPDApCisJCXJldHVybiAtMTsKKwlyZXR1cm4gMDsKKyNlbGlmIGRlZmluZWQoU1BBUkMpIHx8IGRlZmluZWQoU1BBUkM2NCkKKwlzdHJ1Y3QgcHRfcmVncyByZWdzOworCWlmIChwdHJhY2UoUFRSQUNFX0dFVFJFR1MsIHRjcC0+cGlkLCAoY2hhciopJnJlZ3MsIDApPDApCisJCXJldHVybiAtMTsKKwlyZWdzLnVfcmVnc1tVX1JFR19HMV0gPSBuZXc7CisJaWYgKHB0cmFjZShQVFJBQ0VfU0VUUkVHUywgdGNwLT5waWQsIChjaGFyKikmcmVncywgMCk8MCkKKwkJcmV0dXJuIC0xOworCXJldHVybiAwOworI2VsaWYgZGVmaW5lZChNSVBTKQorCWlmIChwdHJhY2UoUFRSQUNFX1BPS0VVU0VSLCB0Y3AtPnBpZCwgKGNoYXIqKShSRUdfVjApLCBuZXcpPDApCisJCXJldHVybiAtMTsKKwlyZXR1cm4gMDsKKyNlbGlmIGRlZmluZWQoQUxQSEEpCisJaWYgKHB0cmFjZShQVFJBQ0VfUE9LRVVTRVIsIHRjcC0+cGlkLCAoY2hhciopKFJFR19BMyksIG5ldyk8MCkKKwkJcmV0dXJuIC0xOworCXJldHVybiAwOworI2VsaWYgZGVmaW5lZChBVlIzMikKKwlpZiAocHRyYWNlKFBUUkFDRV9QT0tFVVNFUiwgdGNwLT5waWQsIChjaGFyKikoUkVHX1I4KSwgbmV3KSA8IDApCisJCXJldHVybiAtMTsKKwlyZXR1cm4gMDsKKyNlbGlmIGRlZmluZWQoQkZJTikKKwlpZiAocHRyYWNlKFBUUkFDRV9QT0tFVVNFUiwgdGNwLT5waWQsIChjaGFyKikoUkVHX1AwKSwgbmV3KTwwKQorCQlyZXR1cm4gLTE7CisJcmV0dXJuIDA7CisjZWxpZiBkZWZpbmVkKElBNjQpCisJaWYgKGlhMzIpIHsKKwkJc3dpdGNoIChuZXcpIHsKKwkJY2FzZSAyOgorCQkJYnJlYWs7CS8qIHg4NiBTWVNfZm9yayAqLworCQljYXNlIFNZU19jbG9uZToKKwkJCW5ldyA9IDEyMDsKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJZnByaW50ZihzdGRlcnIsICIlczogdW5leHBlY3RlZCBzeXNjYWxsICVkXG4iLAorCQkJCV9fRlVOQ1RJT05fXywgbmV3KTsKKwkJCXJldHVybiAtMTsKKwkJfQorCQlpZiAocHRyYWNlKFBUUkFDRV9QT0tFVVNFUiwgdGNwLT5waWQsIChjaGFyKikoUFRfUjEpLCBuZXcpPDApCisJCQlyZXR1cm4gLTE7CisJfSBlbHNlIGlmIChwdHJhY2UoUFRSQUNFX1BPS0VVU0VSLCB0Y3AtPnBpZCwgKGNoYXIqKShQVF9SMTUpLCBuZXcpPDApCisJCXJldHVybiAtMTsKKwlyZXR1cm4gMDsKKyNlbGlmIGRlZmluZWQoSFBQQSkKKwlpZiAocHRyYWNlKFBUUkFDRV9QT0tFVVNFUiwgdGNwLT5waWQsIChjaGFyKikoUFRfR1IyMCksIG5ldyk8MCkKKwkJcmV0dXJuIC0xOworCXJldHVybiAwOworI2VsaWYgZGVmaW5lZChTSCkKKwlpZiAocHRyYWNlKFBUUkFDRV9QT0tFVVNFUiwgdGNwLT5waWQsIChjaGFyKikoNCooUkVHX1JFRzArMykpLCBuZXcpPDApCisJCXJldHVybiAtMTsKKwlyZXR1cm4gMDsKKyNlbGlmIGRlZmluZWQoU0g2NCkKKwkvKiBUb3AgaGFsZiBvZiByZWcgZW5jb2RlcyB0aGUgbm8uIG9mIGFyZ3MgbiBhcyAweDFuLgorCSAgIEFzc3VtZSAwIGFyZ3MgYXMga2VybmVsIG5ldmVyIGFjdHVhbGx5IGNoZWNrcy4uLiAqLworCWlmIChwdHJhY2UoUFRSQUNFX1BPS0VVU0VSLCB0Y3AtPnBpZCwgKGNoYXIqKShSRUdfU1lTQ0FMTCksCisJCQkJMHgxMDAwMDAgfCBuZXcpIDwgMCkKKwkJcmV0dXJuIC0xOworCXJldHVybiAwOworI2VsaWYgZGVmaW5lZChDUklTVjEwKSB8fCBkZWZpbmVkKENSSVNWMzIpCisJaWYgKHB0cmFjZShQVFJBQ0VfUE9LRVVTRVIsIHRjcC0+cGlkLCAoY2hhciopKDQqUFRfUjkpLCBuZXcpIDwgMCkKKwkJcmV0dXJuIC0xOworCXJldHVybiAwOworI2VsaWYgZGVmaW5lZChBUk0pCisJLyogU29tZSBrZXJuZWxzIHN1cHBvcnQgdGhpcywgc29tZSAocHJlLTIuNi4xNiBvciBzbykgZG9uJ3QuICAqLworIyBpZm5kZWYgUFRSQUNFX1NFVF9TWVNDQUxMCisjICBkZWZpbmUgUFRSQUNFX1NFVF9TWVNDQUxMIDIzCisjIGVuZGlmCisKKwlpZiAocHRyYWNlIChQVFJBQ0VfU0VUX1NZU0NBTEwsIHRjcC0+cGlkLCAwLCBuZXcgJiAweGZmZmYpICE9IDApCisJCXJldHVybiAtMTsKKworCXJldHVybiAwOworI2VsaWYgZGVmaW5lZChUSUxFKQorCWlmIChwdHJhY2UoUFRSQUNFX1BPS0VVU0VSLCB0Y3AtPnBpZCwKKwkJICAgKGNoYXIqKVBUUkVHU19PRkZTRVRfUkVHKDApLAorCQkgICBuZXcpICE9IDApCisJCXJldHVybiAtMTsKKwlyZXR1cm4gMDsKKyNlbHNlCisjd2FybmluZyBEbyBub3Qga25vdyBob3cgdG8gaGFuZGxlIGNoYW5nZV9zeXNjYWxsIGZvciB0aGlzIGFyY2hpdGVjdHVyZQorI2VuZGlmIC8qIGFyY2hpdGVjdHVyZSAqLworI2VuZGlmIC8qIExJTlVYICovCisJcmV0dXJuIC0xOworfQorCisjaWZkZWYgTElOVVgKK2ludAoraW50ZXJuYWxfZm9yayhzdHJ1Y3QgdGNiICp0Y3ApCit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJaWYgKCFmb2xsb3dmb3JrKQorCQkJcmV0dXJuIDA7CisJCWZvcmtfdGNiKHRjcCk7CisJCWlmIChzZXRicHQodGNwKSA8IDApCisJCQlyZXR1cm4gMDsKKwl9IGVsc2UgeworCQlzdHJ1Y3QgdGNiICp0Y3BjaGlsZDsKKwkJaW50IHBpZDsKKwkJaW50IGJwdDsKKworCQlpZiAoISh0Y3AtPmZsYWdzICYgVENCX0ZPTExPV0ZPUkspKQorCQkJcmV0dXJuIDA7CisKKwkJYnB0ID0gdGNwLT5mbGFncyAmIFRDQl9CUFRTRVQ7CisKKwkJaWYgKHN5c2Vycm9yKHRjcCkpIHsKKwkJCWlmIChicHQpCisJCQkJY2xlYXJicHQodGNwKTsKKwkJCXJldHVybiAwOworCQl9CisKKwkJcGlkID0gdGNwLT51X3J2YWw7CisKKyNpZmRlZiBDTE9ORV9QVFJBQ0UJCS8qIFNlZSBuZXcgc2V0YnB0IGNvZGUuICAqLworCQl0Y3BjaGlsZCA9IHBpZDJ0Y2IocGlkKTsKKwkJaWYgKHRjcGNoaWxkICE9IE5VTEwpIHsKKwkJCS8qIFRoZSBjaGlsZCBhbHJlYWR5IHJlcG9ydGVkIGl0cyBzdGFydHVwIHRyYXAKKwkJCSAgIGJlZm9yZSB0aGUgcGFyZW50IHJlcG9ydGVkIGl0cyBzeXNjYWxsIHJldHVybi4gICovCisJCQlpZiAoKHRjcGNoaWxkLT5mbGFncworCQkJICAgICAmIChUQ0JfU1RBUlRVUHxUQ0JfQVRUQUNIRUR8VENCX1NVU1BFTkRFRCkpCisJCQkgICAgIT0gKFRDQl9TVEFSVFVQfFRDQl9BVFRBQ0hFRHxUQ0JfU1VTUEVOREVEKSkKKwkJCQlmcHJpbnRmKHN0ZGVyciwgIlwKK1twcmVhdHRhY2hlZCBjaGlsZCAlZCBvZiAlZCBpbiB3ZWlyZCBzdGF0ZSFdXG4iLAorCQkJCQlwaWQsIHRjcC0+cGlkKTsKKwkJfQorCQllbHNlCisjZW5kaWYgLyogQ0xPTkVfUFRSQUNFICovCisJCXsKKwkJCWZvcmtfdGNiKHRjcCk7CisJCQl0Y3BjaGlsZCA9IGFsbG9jdGNiKHBpZCk7CisJCX0KKworI2lmbmRlZiBDTE9ORV9QVFJBQ0UKKwkJLyogQXR0YWNoIHRvIHRoZSBuZXcgY2hpbGQgKi8KKwkJaWYgKHB0cmFjZShQVFJBQ0VfQVRUQUNILCBwaWQsIChjaGFyICopIDEsIDApIDwgMCkgeworCQkJaWYgKGJwdCkKKwkJCQljbGVhcmJwdCh0Y3ApOworCQkJcGVycm9yKCJQVFJBQ0VfQVRUQUNIIik7CisJCQlmcHJpbnRmKHN0ZGVyciwgIlRvbyBsYXRlP1xuIik7CisJCQlkcm9wdGNiKHRjcGNoaWxkKTsKKwkJCXJldHVybiAwOworCQl9CisjZW5kaWYgLyogIUNMT05FX1BUUkFDRSAqLworCisJCWlmIChicHQpCisJCQljbGVhcmJwdCh0Y3ApOworCisJCXRjcGNoaWxkLT5mbGFncyB8PSBUQ0JfQVRUQUNIRUQ7CisJCS8qIENoaWxkIGhhcyBCUFQgdG9vLCBtdXN0IGJlIHJlbW92ZWQgb24gZmlyc3Qgb2NjYXNpb24uICAqLworCQlpZiAoYnB0KSB7CisJCQl0Y3BjaGlsZC0+ZmxhZ3MgfD0gVENCX0JQVFNFVDsKKwkJCXRjcGNoaWxkLT5iYWRkciA9IHRjcC0+YmFkZHI7CisJCQltZW1jcHkodGNwY2hpbGQtPmluc3QsIHRjcC0+aW5zdCwKKwkJCQlzaXplb2YgdGNwY2hpbGQtPmluc3QpOworCQl9CisJCXRjcGNoaWxkLT5wYXJlbnQgPSB0Y3A7CisJCXRjcC0+bmNoaWxkcmVuKys7CisJCWlmICh0Y3BjaGlsZC0+ZmxhZ3MgJiBUQ0JfU1VTUEVOREVEKSB7CisJCQkvKiBUaGUgY2hpbGQgd2FzIGJvcm4gc3VzcGVuZGVkLCBkdWUgdG8gb3VyIGhhdmluZworCQkJICAgZm9yY2VkIENMT05FX1BUUkFDRS4gICovCisJCQlpZiAoYnB0KQorCQkJCWNsZWFyYnB0KHRjcGNoaWxkKTsKKworCQkJdGNwY2hpbGQtPmZsYWdzICY9IH4oVENCX1NVU1BFTkRFRHxUQ0JfU1RBUlRVUCk7CisJCQlpZiAocHRyYWNlX3Jlc3RhcnQoUFRSQUNFX1NZU0NBTEwsIHRjcGNoaWxkLCAwKSA8IDApCisJCQkJcmV0dXJuIC0xOworCisJCQlpZiAoIXFmbGFnKQorCQkJCWZwcmludGYoc3RkZXJyLCAiXAorUHJvY2VzcyAldSByZXN1bWVkIChwYXJlbnQgJWQgcmVhZHkpXG4iLAorCQkJCQlwaWQsIHRjcC0+cGlkKTsKKwkJfQorCQllbHNlIHsKKwkJCWlmICghcWZsYWcpCisJCQkJZnByaW50ZihzdGRlcnIsICJQcm9jZXNzICVkIGF0dGFjaGVkXG4iLCBwaWQpOworCQl9CisKKyNpZmRlZiBUQ0JfQ0xPTkVfVEhSRUFECisJCXsKKwkJCS8qCisJCQkgKiBTYXZlIHRoZSBmbGFncyB1c2VkIGluIHRoaXMgY2FsbCwKKwkJCSAqIGluIGNhc2Ugd2UgcG9pbnQgVENQIHRvIG91ciBwYXJlbnQgYmVsb3cuCisJCQkgKi8KKwkJCWludCBjYWxsX2ZsYWdzID0gdGNwLT51X2FyZ1tBUkdfRkxBR1NdOworCQkJaWYgKCh0Y3AtPmZsYWdzICYgVENCX0NMT05FX1RIUkVBRCkgJiYKKwkJCSAgICB0Y3AtPnBhcmVudCAhPSBOVUxMKSB7CisJCQkJLyogVGhlIHBhcmVudCBpbiB0aGlzIGNsb25lIGlzIGl0c2VsZiBhCisJCQkJICAgdGhyZWFkIGJlbG9uZ2luZyB0byBhbm90aGVyIHByb2Nlc3MuCisJCQkJICAgVGhlcmUgaXMgbm8gbWVhbmluZyB0byB0aGUgcGFyZW50YWdlCisJCQkJICAgcmVsYXRpb25zaGlwIG9mIHRoZSBuZXcgY2hpbGQgd2l0aCB0aGUKKwkJCQkgICB0aHJlYWQsIG9ubHkgd2l0aCB0aGUgcHJvY2Vzcy4gIFdlCisJCQkJICAgYXNzb2NpYXRlIHRoZSBuZXcgdGhyZWFkIHdpdGggb3VyCisJCQkJICAgcGFyZW50LiAgU2luY2UgdGhpcyBpcyBkb25lIGZvciBldmVyeQorCQkJCSAgIG5ldyB0aHJlYWQsIHRoZXJlIHdpbGwgbmV2ZXIgYmUgYQorCQkJCSAgIFRDQl9DTE9ORV9USFJFQUQgcHJvY2VzcyB0aGF0IGhhcworCQkJCSAgIGNoaWxkcmVuLiAgKi8KKwkJCQktLXRjcC0+bmNoaWxkcmVuOworCQkJCXRjcCA9IHRjcC0+cGFyZW50OworCQkJCXRjcGNoaWxkLT5wYXJlbnQgPSB0Y3A7CisJCQkJKyt0Y3AtPm5jaGlsZHJlbjsKKwkJCX0KKwkJCWlmIChjYWxsX2ZsYWdzICYgQ0xPTkVfVEhSRUFEKSB7CisJCQkJdGNwY2hpbGQtPmZsYWdzIHw9IFRDQl9DTE9ORV9USFJFQUQ7CisJCQkJKyt0Y3AtPm5jbG9uZV90aHJlYWRzOworCQkJfQorCQkJaWYgKGNhbGxfZmxhZ3MgJiBDTE9ORV9ERVRBQ0hFRCkgeworCQkJCXRjcGNoaWxkLT5mbGFncyB8PSBUQ0JfQ0xPTkVfREVUQUNIRUQ7CisJCQkJKyt0Y3AtPm5jbG9uZV9kZXRhY2hlZDsKKwkJCX0KKwkJfQorI2VuZGlmIC8qIFRDQl9DTE9ORV9USFJFQUQgKi8KKwl9CisJcmV0dXJuIDA7Cit9CisKKyNlbHNlIC8qICFMSU5VWCAqLworCitpbnQKK2ludGVybmFsX2ZvcmsodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCXN0cnVjdCB0Y2IgKnRjcGNoaWxkOworCWludCBwaWQ7CisJaW50IGRvbnRfZm9sbG93ID0gMDsKKworI2lmZGVmIFNZU192Zm9yaworCWlmIChrbm93bl9zY25vKHRjcCkgPT0gU1lTX3Zmb3JrKSB7CisJCS8qIEF0dGVtcHQgdG8gbWFrZSB2Zm9yayBpbnRvIGZvcmssIHdoaWNoIHdlIGNhbiBmb2xsb3cuICovCisJCWlmIChjaGFuZ2Vfc3lzY2FsbCh0Y3AsIFNZU19mb3JrKSA8IDApCisJCQlkb250X2ZvbGxvdyA9IDE7CisJfQorI2VuZGlmCisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJaWYgKCFmb2xsb3dmb3JrIHx8IGRvbnRfZm9sbG93KQorCQkJcmV0dXJuIDA7CisJCWZvcmtfdGNiKHRjcCk7CisJCWlmIChzZXRicHQodGNwKSA8IDApCisJCQlyZXR1cm4gMDsKKwl9CisJZWxzZSB7CisJCWludCBicHQgPSB0Y3AtPmZsYWdzICYgVENCX0JQVFNFVDsKKworCQlpZiAoISh0Y3AtPmZsYWdzICYgVENCX0ZPTExPV0ZPUkspKQorCQkJcmV0dXJuIDA7CisJCWlmIChicHQpCisJCQljbGVhcmJwdCh0Y3ApOworCisJCWlmIChzeXNlcnJvcih0Y3ApKQorCQkJcmV0dXJuIDA7CisKKwkJcGlkID0gdGNwLT51X3J2YWw7CisJCWZvcmtfdGNiKHRjcCk7CisJCXRjcGNoaWxkID0gYWxsb2N0Y2IocGlkKTsKKyNpZmRlZiBTVU5PUzQKKyNpZmRlZiBvbGR3YXkKKwkJLyogVGhlIGNoaWxkIG11c3QgaGF2ZSBydW4gYmVmb3JlIGl0IGNhbiBiZSBhdHRhY2hlZC4gKi8KKwkJeworCQkJc3RydWN0IHRpbWV2YWwgdHY7CisJCQl0di50dl9zZWMgPSAwOworCQkJdHYudHZfdXNlYyA9IDEwMDAwOworCQkJc2VsZWN0KDAsIE5VTEwsIE5VTEwsIE5VTEwsICZ0dik7CisJCX0KKwkJaWYgKHB0cmFjZShQVFJBQ0VfQVRUQUNILCBwaWQsIChjaGFyICopMSwgMCkgPCAwKSB7CisJCQlwZXJyb3IoIlBUUkFDRV9BVFRBQ0giKTsKKwkJCWZwcmludGYoc3RkZXJyLCAiVG9vIGxhdGU/XG4iKTsKKwkJCWRyb3B0Y2IodGNwY2hpbGQpOworCQkJcmV0dXJuIDA7CisJCX0KKyNlbHNlIC8qICFvbGR3YXkgKi8KKwkJLyogVHJ5IHRvIGNhdGNoIHRoZSBuZXcgcHJvY2VzcyBhcyBzb29uIGFzIHBvc3NpYmxlLiAqLworCQl7CisJCQlpbnQgaTsKKwkJCWZvciAoaSA9IDA7IGkgPCAxMDI0OyBpKyspCisJCQkJaWYgKHB0cmFjZShQVFJBQ0VfQVRUQUNILCBwaWQsIChjaGFyICopIDEsIDApID49IDApCisJCQkJCWJyZWFrOworCQkJaWYgKGkgPT0gMTAyNCkgeworCQkJCXBlcnJvcigiUFRSQUNFX0FUVEFDSCIpOworCQkJCWZwcmludGYoc3RkZXJyLCAiVG9vIGxhdGU/XG4iKTsKKwkJCQlkcm9wdGNiKHRjcGNoaWxkKTsKKwkJCQlyZXR1cm4gMDsKKwkJCX0KKwkJfQorI2VuZGlmIC8qICFvbGR3YXkgKi8KKyNlbmRpZiAvKiBTVU5PUzQgKi8KKwkJdGNwY2hpbGQtPmZsYWdzIHw9IFRDQl9BVFRBQ0hFRDsKKwkJLyogQ2hpbGQgaGFzIEJQVCB0b28sIG11c3QgYmUgcmVtb3ZlZCBvbiBmaXJzdCBvY2Nhc2lvbiAqLworCQlpZiAoYnB0KSB7CisJCQl0Y3BjaGlsZC0+ZmxhZ3MgfD0gVENCX0JQVFNFVDsKKwkJCXRjcGNoaWxkLT5iYWRkciA9IHRjcC0+YmFkZHI7CisJCQltZW1jcHkodGNwY2hpbGQtPmluc3QsIHRjcC0+aW5zdCwKKwkJCQlzaXplb2YgdGNwY2hpbGQtPmluc3QpOworCQl9CisJCXRjcGNoaWxkLT5wYXJlbnQgPSB0Y3A7CisJCXRjcC0+bmNoaWxkcmVuKys7CisJCWlmICghcWZsYWcpCisJCQlmcHJpbnRmKHN0ZGVyciwgIlByb2Nlc3MgJWQgYXR0YWNoZWRcbiIsIHBpZCk7CisJfQorCXJldHVybiAwOworfQorCisjZW5kaWYgLyogIUxJTlVYICovCisKKyNlbmRpZiAvKiAhVVNFX1BST0NGUyAqLworCisjaWYgZGVmaW5lZChTVU5PUzQpIHx8IGRlZmluZWQoTElOVVgpIHx8IGRlZmluZWQoRlJFRUJTRCkKKworaW50CitzeXNfdmZvcmsodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCWlmIChleGl0aW5nKHRjcCkpCisJCXJldHVybiBSVkFMX1VERUNJTUFMOworCXJldHVybiAwOworfQorCisjZW5kaWYgLyogU1VOT1M0IHx8IExJTlVYIHx8IEZSRUVCU0QgKi8KKworI2lmbmRlZiBMSU5VWAorCitzdGF0aWMgY2hhciBpZHN0clsxNl07CisKK2ludAorc3lzX2dldHBpZCh0Y3ApCitzdHJ1Y3QgdGNiICp0Y3A7Cit7CisJaWYgKGV4aXRpbmcodGNwKSkgeworCQlzcHJpbnRmKGlkc3RyLCAicHBpZCAlbHUiLCBnZXRydmFsMih0Y3ApKTsKKwkJdGNwLT5hdXhzdHIgPSBpZHN0cjsKKwkJcmV0dXJuIFJWQUxfU1RSOworCX0KKwlyZXR1cm4gMDsKK30KKworaW50CitzeXNfZ2V0dWlkKHRjcCkKK3N0cnVjdCB0Y2IgKnRjcDsKK3sKKwlpZiAoZXhpdGluZyh0Y3ApKSB7CisJCXNwcmludGYoaWRzdHIsICJldWlkICVsdSIsIGdldHJ2YWwyKHRjcCkpOworCQl0Y3AtPmF1eHN0ciA9IGlkc3RyOworCQlyZXR1cm4gUlZBTF9TVFI7CisJfQorCXJldHVybiAwOworfQorCitpbnQKK3N5c19nZXRnaWQodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCWlmIChleGl0aW5nKHRjcCkpIHsKKwkJc3ByaW50ZihpZHN0ciwgImVnaWQgJWx1IiwgZ2V0cnZhbDIodGNwKSk7CisJCXRjcC0+YXV4c3RyID0gaWRzdHI7CisJCXJldHVybiBSVkFMX1NUUjsKKwl9CisJcmV0dXJuIDA7Cit9CisKKyNlbmRpZiAvKiAhTElOVVggKi8KKworI2lmZGVmIExJTlVYCisKK2ludAorc3lzX3NldHVpZCh0Y3ApCitzdHJ1Y3QgdGNiICp0Y3A7Cit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJdHByaW50ZigiJXUiLCAodWlkX3QpIHRjcC0+dV9hcmdbMF0pOworCX0KKwlyZXR1cm4gMDsKK30KKworaW50CitzeXNfc2V0Z2lkKHRjcCkKK3N0cnVjdCB0Y2IgKnRjcDsKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQl0cHJpbnRmKCIldSIsIChnaWRfdCkgdGNwLT51X2FyZ1swXSk7CisJfQorCXJldHVybiAwOworfQorCitpbnQKK3N5c19nZXRyZXN1aWQoc3RydWN0IHRjYiAqdGNwKQoreworCWlmIChleGl0aW5nKHRjcCkpIHsKKwkJX19rZXJuZWxfdWlkX3QgdWlkOworCQlpZiAoc3lzZXJyb3IodGNwKSkKKwkJCXRwcmludGYoIiUjbHgsICUjbHgsICUjbHgiLCB0Y3AtPnVfYXJnWzBdLAorCQkJCXRjcC0+dV9hcmdbMV0sIHRjcC0+dV9hcmdbMl0pOworCQllbHNlIHsKKwkJCWlmICh1bW92ZSh0Y3AsIHRjcC0+dV9hcmdbMF0sICZ1aWQpIDwgMCkKKwkJCQl0cHJpbnRmKCIlI2x4LCAiLCB0Y3AtPnVfYXJnWzBdKTsKKwkJCWVsc2UKKwkJCQl0cHJpbnRmKCJbJWx1XSwgIiwgKHVuc2lnbmVkIGxvbmcpIHVpZCk7CisJCQlpZiAodW1vdmUodGNwLCB0Y3AtPnVfYXJnWzFdLCAmdWlkKSA8IDApCisJCQkJdHByaW50ZigiJSNseCwgIiwgdGNwLT51X2FyZ1sxXSk7CisJCQllbHNlCisJCQkJdHByaW50ZigiWyVsdV0sICIsICh1bnNpZ25lZCBsb25nKSB1aWQpOworCQkJaWYgKHVtb3ZlKHRjcCwgdGNwLT51X2FyZ1syXSwgJnVpZCkgPCAwKQorCQkJCXRwcmludGYoIiUjbHgiLCB0Y3AtPnVfYXJnWzJdKTsKKwkJCWVsc2UKKwkJCQl0cHJpbnRmKCJbJWx1XSIsICh1bnNpZ25lZCBsb25nKSB1aWQpOworCQl9CisJfQorCXJldHVybiAwOworfQorCitpbnQKK3N5c19nZXRyZXNnaWQodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCWlmIChleGl0aW5nKHRjcCkpIHsKKwkJX19rZXJuZWxfZ2lkX3QgZ2lkOworCQlpZiAoc3lzZXJyb3IodGNwKSkKKwkJCXRwcmludGYoIiUjbHgsICUjbHgsICUjbHgiLCB0Y3AtPnVfYXJnWzBdLAorCQkJCXRjcC0+dV9hcmdbMV0sIHRjcC0+dV9hcmdbMl0pOworCQllbHNlIHsKKwkJCWlmICh1bW92ZSh0Y3AsIHRjcC0+dV9hcmdbMF0sICZnaWQpIDwgMCkKKwkJCQl0cHJpbnRmKCIlI2x4LCAiLCB0Y3AtPnVfYXJnWzBdKTsKKwkJCWVsc2UKKwkJCQl0cHJpbnRmKCJbJWx1XSwgIiwgKHVuc2lnbmVkIGxvbmcpIGdpZCk7CisJCQlpZiAodW1vdmUodGNwLCB0Y3AtPnVfYXJnWzFdLCAmZ2lkKSA8IDApCisJCQkJdHByaW50ZigiJSNseCwgIiwgdGNwLT51X2FyZ1sxXSk7CisJCQllbHNlCisJCQkJdHByaW50ZigiWyVsdV0sICIsICh1bnNpZ25lZCBsb25nKSBnaWQpOworCQkJaWYgKHVtb3ZlKHRjcCwgdGNwLT51X2FyZ1syXSwgJmdpZCkgPCAwKQorCQkJCXRwcmludGYoIiUjbHgiLCB0Y3AtPnVfYXJnWzJdKTsKKwkJCWVsc2UKKwkJCQl0cHJpbnRmKCJbJWx1XSIsICh1bnNpZ25lZCBsb25nKSBnaWQpOworCQl9CisJfQorCXJldHVybiAwOworfQorCisjZW5kaWYgLyogTElOVVggKi8KKworaW50CitzeXNfc2V0cmV1aWQodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXByaW50dWlkKCIiLCB0Y3AtPnVfYXJnWzBdKTsKKwkJcHJpbnR1aWQoIiwgIiwgdGNwLT51X2FyZ1sxXSk7CisJfQorCXJldHVybiAwOworfQorCitpbnQKK3N5c19zZXRyZWdpZCh0Y3ApCitzdHJ1Y3QgdGNiICp0Y3A7Cit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJcHJpbnR1aWQoIiIsIHRjcC0+dV9hcmdbMF0pOworCQlwcmludHVpZCgiLCAiLCB0Y3AtPnVfYXJnWzFdKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKKyNpZiBkZWZpbmVkKExJTlVYKSB8fCBkZWZpbmVkKEZSRUVCU0QpCitpbnQKK3N5c19zZXRyZXN1aWQodGNwKQorICAgICBzdHJ1Y3QgdGNiICp0Y3A7Cit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJcHJpbnR1aWQoIiIsIHRjcC0+dV9hcmdbMF0pOworCQlwcmludHVpZCgiLCAiLCB0Y3AtPnVfYXJnWzFdKTsKKwkJcHJpbnR1aWQoIiwgIiwgdGNwLT51X2FyZ1syXSk7CisJfQorCXJldHVybiAwOworfQoraW50CitzeXNfc2V0cmVzZ2lkKHRjcCkKKyAgICAgc3RydWN0IHRjYiAqdGNwOworeworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXByaW50dWlkKCIiLCB0Y3AtPnVfYXJnWzBdKTsKKwkJcHJpbnR1aWQoIiwgIiwgdGNwLT51X2FyZ1sxXSk7CisJCXByaW50dWlkKCIsICIsIHRjcC0+dV9hcmdbMl0pOworCX0KKwlyZXR1cm4gMDsKK30KKworI2VuZGlmIC8qIExJTlVYIHx8IEZSRUVCU0QgKi8KKworaW50CitzeXNfc2V0Z3JvdXBzKHRjcCkKK3N0cnVjdCB0Y2IgKnRjcDsKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQl1bnNpZ25lZCBsb25nIGxlbiwgc2l6ZSwgc3RhcnQsIGN1ciwgZW5kLCBhYmJyZXZfZW5kOworCQlHRVRHUk9VUFNfVCBnaWQ7CisJCWludCBmYWlsZWQgPSAwOworCisJCWxlbiA9IHRjcC0+dV9hcmdbMF07CisJCXRwcmludGYoIiVsdSwgIiwgbGVuKTsKKwkJaWYgKGxlbiA9PSAwKSB7CisJCQl0cHJpbnRmKCJbXSIpOworCQkJcmV0dXJuIDA7CisJCX0KKwkJc3RhcnQgPSB0Y3AtPnVfYXJnWzFdOworCQlpZiAoc3RhcnQgPT0gMCkgeworCQkJdHByaW50ZigiTlVMTCIpOworCQkJcmV0dXJuIDA7CisJCX0KKwkJc2l6ZSA9IGxlbiAqIHNpemVvZihnaWQpOworCQllbmQgPSBzdGFydCArIHNpemU7CisJCWlmICghdmVyYm9zZSh0Y3ApIHx8IHNpemUgLyBzaXplb2YoZ2lkKSAhPSBsZW4gfHwgZW5kIDwgc3RhcnQpIHsKKwkJCXRwcmludGYoIiUjbHgiLCBzdGFydCk7CisJCQlyZXR1cm4gMDsKKwkJfQorCQlpZiAoYWJicmV2KHRjcCkpIHsKKwkJCWFiYnJldl9lbmQgPSBzdGFydCArIG1heF9zdHJsZW4gKiBzaXplb2YoZ2lkKTsKKwkJCWlmIChhYmJyZXZfZW5kIDwgc3RhcnQpCisJCQkJYWJicmV2X2VuZCA9IGVuZDsKKwkJfSBlbHNlIHsKKwkJCWFiYnJldl9lbmQgPSBlbmQ7CisJCX0KKwkJdHByaW50ZigiWyIpOworCQlmb3IgKGN1ciA9IHN0YXJ0OyBjdXIgPCBlbmQ7IGN1ciArPSBzaXplb2YoZ2lkKSkgeworCQkJaWYgKGN1ciA+IHN0YXJ0KQorCQkJCXRwcmludGYoIiwgIik7CisJCQlpZiAoY3VyID49IGFiYnJldl9lbmQpIHsKKwkJCQl0cHJpbnRmKCIuLi4iKTsKKwkJCQlicmVhazsKKwkJCX0KKwkJCWlmICh1bW92ZW4odGNwLCBjdXIsIHNpemVvZihnaWQpLCAoY2hhciAqKSAmZ2lkKSA8IDApIHsKKwkJCQl0cHJpbnRmKCI/Iik7CisJCQkJZmFpbGVkID0gMTsKKwkJCQlicmVhazsKKwkJCX0KKwkJCXRwcmludGYoIiVsdSIsICh1bnNpZ25lZCBsb25nKSBnaWQpOworCQl9CisJCXRwcmludGYoIl0iKTsKKwkJaWYgKGZhaWxlZCkKKwkJCXRwcmludGYoIiAlI2x4IiwgdGNwLT51X2FyZ1sxXSk7CisJfQorCXJldHVybiAwOworfQorCitpbnQKK3N5c19nZXRncm91cHModGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCXVuc2lnbmVkIGxvbmcgbGVuOworCisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJbGVuID0gdGNwLT51X2FyZ1swXTsKKwkJdHByaW50ZigiJWx1LCAiLCBsZW4pOworCX0gZWxzZSB7CisJCXVuc2lnbmVkIGxvbmcgc2l6ZSwgc3RhcnQsIGN1ciwgZW5kLCBhYmJyZXZfZW5kOworCQlHRVRHUk9VUFNfVCBnaWQ7CisJCWludCBmYWlsZWQgPSAwOworCisJCWxlbiA9IHRjcC0+dV9ydmFsOworCQlpZiAobGVuID09IDApIHsKKwkJCXRwcmludGYoIltdIik7CisJCQlyZXR1cm4gMDsKKwkJfQorCQlzdGFydCA9IHRjcC0+dV9hcmdbMV07CisJCWlmIChzdGFydCA9PSAwKSB7CisJCQl0cHJpbnRmKCJOVUxMIik7CisJCQlyZXR1cm4gMDsKKwkJfQorCQlpZiAodGNwLT51X2FyZ1swXSA9PSAwKSB7CisJCQl0cHJpbnRmKCIlI2x4Iiwgc3RhcnQpOworCQkJcmV0dXJuIDA7CisJCX0KKwkJc2l6ZSA9IGxlbiAqIHNpemVvZihnaWQpOworCQllbmQgPSBzdGFydCArIHNpemU7CisJCWlmICghdmVyYm9zZSh0Y3ApIHx8IHRjcC0+dV9hcmdbMF0gPT0gMCB8fAorCQkgICAgc2l6ZSAvIHNpemVvZihnaWQpICE9IGxlbiB8fCBlbmQgPCBzdGFydCkgeworCQkJdHByaW50ZigiJSNseCIsIHN0YXJ0KTsKKwkJCXJldHVybiAwOworCQl9CisJCWlmIChhYmJyZXYodGNwKSkgeworCQkJYWJicmV2X2VuZCA9IHN0YXJ0ICsgbWF4X3N0cmxlbiAqIHNpemVvZihnaWQpOworCQkJaWYgKGFiYnJldl9lbmQgPCBzdGFydCkKKwkJCQlhYmJyZXZfZW5kID0gZW5kOworCQl9IGVsc2UgeworCQkJYWJicmV2X2VuZCA9IGVuZDsKKwkJfQorCQl0cHJpbnRmKCJbIik7CisJCWZvciAoY3VyID0gc3RhcnQ7IGN1ciA8IGVuZDsgY3VyICs9IHNpemVvZihnaWQpKSB7CisJCQlpZiAoY3VyID4gc3RhcnQpCisJCQkJdHByaW50ZigiLCAiKTsKKwkJCWlmIChjdXIgPj0gYWJicmV2X2VuZCkgeworCQkJCXRwcmludGYoIi4uLiIpOworCQkJCWJyZWFrOworCQkJfQorCQkJaWYgKHVtb3Zlbih0Y3AsIGN1ciwgc2l6ZW9mKGdpZCksIChjaGFyICopICZnaWQpIDwgMCkgeworCQkJCXRwcmludGYoIj8iKTsKKwkJCQlmYWlsZWQgPSAxOworCQkJCWJyZWFrOworCQkJfQorCQkJdHByaW50ZigiJWx1IiwgKHVuc2lnbmVkIGxvbmcpIGdpZCk7CisJCX0KKwkJdHByaW50ZigiXSIpOworCQlpZiAoZmFpbGVkKQorCQkJdHByaW50ZigiICUjbHgiLCB0Y3AtPnVfYXJnWzFdKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKKyNpZmRlZiBMSU5VWAoraW50CitzeXNfc2V0Z3JvdXBzMzIodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXVuc2lnbmVkIGxvbmcgbGVuLCBzaXplLCBzdGFydCwgY3VyLCBlbmQsIGFiYnJldl9lbmQ7CisJCUdFVEdST1VQUzMyX1QgZ2lkOworCQlpbnQgZmFpbGVkID0gMDsKKworCQlsZW4gPSB0Y3AtPnVfYXJnWzBdOworCQl0cHJpbnRmKCIlbHUsICIsIGxlbik7CisJCWlmIChsZW4gPT0gMCkgeworCQkJdHByaW50ZigiW10iKTsKKwkJCXJldHVybiAwOworCQl9CisJCXN0YXJ0ID0gdGNwLT51X2FyZ1sxXTsKKwkJaWYgKHN0YXJ0ID09IDApIHsKKwkJCXRwcmludGYoIk5VTEwiKTsKKwkJCXJldHVybiAwOworCQl9CisJCXNpemUgPSBsZW4gKiBzaXplb2YoZ2lkKTsKKwkJZW5kID0gc3RhcnQgKyBzaXplOworCQlpZiAoIXZlcmJvc2UodGNwKSB8fCBzaXplIC8gc2l6ZW9mKGdpZCkgIT0gbGVuIHx8IGVuZCA8IHN0YXJ0KSB7CisJCQl0cHJpbnRmKCIlI2x4Iiwgc3RhcnQpOworCQkJcmV0dXJuIDA7CisJCX0KKwkJaWYgKGFiYnJldih0Y3ApKSB7CisJCQlhYmJyZXZfZW5kID0gc3RhcnQgKyBtYXhfc3RybGVuICogc2l6ZW9mKGdpZCk7CisJCQlpZiAoYWJicmV2X2VuZCA8IHN0YXJ0KQorCQkJCWFiYnJldl9lbmQgPSBlbmQ7CisJCX0gZWxzZSB7CisJCQlhYmJyZXZfZW5kID0gZW5kOworCQl9CisJCXRwcmludGYoIlsiKTsKKwkJZm9yIChjdXIgPSBzdGFydDsgY3VyIDwgZW5kOyBjdXIgKz0gc2l6ZW9mKGdpZCkpIHsKKwkJCWlmIChjdXIgPiBzdGFydCkKKwkJCQl0cHJpbnRmKCIsICIpOworCQkJaWYgKGN1ciA+PSBhYmJyZXZfZW5kKSB7CisJCQkJdHByaW50ZigiLi4uIik7CisJCQkJYnJlYWs7CisJCQl9CisJCQlpZiAodW1vdmVuKHRjcCwgY3VyLCBzaXplb2YoZ2lkKSwgKGNoYXIgKikgJmdpZCkgPCAwKSB7CisJCQkJdHByaW50ZigiPyIpOworCQkJCWZhaWxlZCA9IDE7CisJCQkJYnJlYWs7CisJCQl9CisJCQl0cHJpbnRmKCIlbHUiLCAodW5zaWduZWQgbG9uZykgZ2lkKTsKKwkJfQorCQl0cHJpbnRmKCJdIik7CisJCWlmIChmYWlsZWQpCisJCQl0cHJpbnRmKCIgJSNseCIsIHRjcC0+dV9hcmdbMV0pOworCX0KKwlyZXR1cm4gMDsKK30KKworaW50CitzeXNfZ2V0Z3JvdXBzMzIodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCXVuc2lnbmVkIGxvbmcgbGVuOworCisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJbGVuID0gdGNwLT51X2FyZ1swXTsKKwkJdHByaW50ZigiJWx1LCAiLCBsZW4pOworCX0gZWxzZSB7CisJCXVuc2lnbmVkIGxvbmcgc2l6ZSwgc3RhcnQsIGN1ciwgZW5kLCBhYmJyZXZfZW5kOworCQlHRVRHUk9VUFMzMl9UIGdpZDsKKwkJaW50IGZhaWxlZCA9IDA7CisKKwkJbGVuID0gdGNwLT51X3J2YWw7CisJCWlmIChsZW4gPT0gMCkgeworCQkJdHByaW50ZigiW10iKTsKKwkJCXJldHVybiAwOworCQl9CisJCXN0YXJ0ID0gdGNwLT51X2FyZ1sxXTsKKwkJaWYgKHN0YXJ0ID09IDApIHsKKwkJCXRwcmludGYoIk5VTEwiKTsKKwkJCXJldHVybiAwOworCQl9CisJCXNpemUgPSBsZW4gKiBzaXplb2YoZ2lkKTsKKwkJZW5kID0gc3RhcnQgKyBzaXplOworCQlpZiAoIXZlcmJvc2UodGNwKSB8fCB0Y3AtPnVfYXJnWzBdID09IDAgfHwKKwkJICAgIHNpemUgLyBzaXplb2YoZ2lkKSAhPSBsZW4gfHwgZW5kIDwgc3RhcnQpIHsKKwkJCXRwcmludGYoIiUjbHgiLCBzdGFydCk7CisJCQlyZXR1cm4gMDsKKwkJfQorCQlpZiAoYWJicmV2KHRjcCkpIHsKKwkJCWFiYnJldl9lbmQgPSBzdGFydCArIG1heF9zdHJsZW4gKiBzaXplb2YoZ2lkKTsKKwkJCWlmIChhYmJyZXZfZW5kIDwgc3RhcnQpCisJCQkJYWJicmV2X2VuZCA9IGVuZDsKKwkJfSBlbHNlIHsKKwkJCWFiYnJldl9lbmQgPSBlbmQ7CisJCX0KKwkJdHByaW50ZigiWyIpOworCQlmb3IgKGN1ciA9IHN0YXJ0OyBjdXIgPCBlbmQ7IGN1ciArPSBzaXplb2YoZ2lkKSkgeworCQkJaWYgKGN1ciA+IHN0YXJ0KQorCQkJCXRwcmludGYoIiwgIik7CisJCQlpZiAoY3VyID49IGFiYnJldl9lbmQpIHsKKwkJCQl0cHJpbnRmKCIuLi4iKTsKKwkJCQlicmVhazsKKwkJCX0KKwkJCWlmICh1bW92ZW4odGNwLCBjdXIsIHNpemVvZihnaWQpLCAoY2hhciAqKSAmZ2lkKSA8IDApIHsKKwkJCQl0cHJpbnRmKCI/Iik7CisJCQkJZmFpbGVkID0gMTsKKwkJCQlicmVhazsKKwkJCX0KKwkJCXRwcmludGYoIiVsdSIsICh1bnNpZ25lZCBsb25nKSBnaWQpOworCQl9CisJCXRwcmludGYoIl0iKTsKKwkJaWYgKGZhaWxlZCkKKwkJCXRwcmludGYoIiAlI2x4IiwgdGNwLT51X2FyZ1sxXSk7CisJfQorCXJldHVybiAwOworfQorI2VuZGlmIC8qIExJTlVYICovCisKKyNpZiBkZWZpbmVkKEFMUEhBKSB8fCBkZWZpbmVkKFNVTk9TNCkgfHwgZGVmaW5lZChTVlI0KQoraW50CitzeXNfc2V0cGdycCh0Y3ApCitzdHJ1Y3QgdGNiICp0Y3A7Cit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKyNpZm5kZWYgU1ZSNAorCQl0cHJpbnRmKCIlbHUsICVsdSIsIHRjcC0+dV9hcmdbMF0sIHRjcC0+dV9hcmdbMV0pOworI2VuZGlmIC8qICFTVlI0ICovCisJfQorCXJldHVybiAwOworfQorI2VuZGlmIC8qIEFMUEhBIHx8IFNVTk9TNCB8fCBTVlI0ICovCisKK2ludAorc3lzX2dldHBncnAodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisjaWZuZGVmIFNWUjQKKwkJdHByaW50ZigiJWx1IiwgdGNwLT51X2FyZ1swXSk7CisjZW5kaWYgLyogIVNWUjQgKi8KKwl9CisJcmV0dXJuIDA7Cit9CisKK2ludAorc3lzX2dldHNpZCh0Y3ApCitzdHJ1Y3QgdGNiICp0Y3A7Cit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJdHByaW50ZigiJWx1IiwgdGNwLT51X2FyZ1swXSk7CisJfQorCXJldHVybiAwOworfQorCitpbnQKK3N5c19zZXRzaWQodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCXJldHVybiAwOworfQorCitpbnQKK3N5c19nZXRwZ2lkKHRjcCkKK3N0cnVjdCB0Y2IgKnRjcDsKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQl0cHJpbnRmKCIlbHUiLCB0Y3AtPnVfYXJnWzBdKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK2ludAorc3lzX3NldHBnaWQodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXRwcmludGYoIiVsdSwgJWx1IiwgdGNwLT51X2FyZ1swXSwgdGNwLT51X2FyZ1sxXSk7CisJfQorCXJldHVybiAwOworfQorCisjaWYgVU5JWFdBUkUgPj0gMgorCisjaW5jbHVkZSA8c3lzL3ByaXZpbGVnZS5oPgorCisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCBwcm9jcHJpdl9jbWRzIFtdID0geworCXsgU0VUUFJWLAkiU0VUUFJWIgl9LAorCXsgQ0xSUFJWLAkiQ0xSUFJWIgl9LAorCXsgUFVUUFJWLAkiUFVUUFJWIgl9LAorCXsgR0VUUFJWLAkiR0VUUFJWIgl9LAorCXsgQ05UUFJWLAkiQ05UUFJWIgl9LAorCXsgMCwJCU5VTEwJCX0sCit9OworCisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCBwcm9jcHJpdl9wcml2IFtdID0geworCXsgUF9PV05FUiwJIlBfT1dORVIiCX0sCisJeyBQX0FVRElULAkiUF9BVURJVCIJfSwKKwl7IFBfQ09NUEFULAkiUF9DT01QQVQiCX0sCisJeyBQX0RBQ1JFQUQsCSJQX0RBQ1JFQUQiCX0sCisJeyBQX0RBQ1dSSVRFLAkiUF9EQUNXUklURSIJfSwKKwl7IFBfREVWLAkiUF9ERVYiCQl9LAorCXsgUF9GSUxFU1lTLAkiUF9GSUxFU1lTIgl9LAorCXsgUF9NQUNSRUFELAkiUF9NQUNSRUFEIgl9LAorCXsgUF9NQUNXUklURSwJIlBfTUFDV1JJVEUiCX0sCisJeyBQX01PVU5ULAkiUF9NT1VOVCIJfSwKKwl7IFBfTVVMVElESVIsCSJQX01VTFRJRElSIgl9LAorCXsgUF9TRVRQTEVWRUwsCSJQX1NFVFBMRVZFTCIJfSwKKwl7IFBfU0VUU1BSSVYsCSJQX1NFVFNQUklWIgl9LAorCXsgUF9TRVRVSUQsCSJQX1NFVFVJRCIJfSwKKwl7IFBfU1lTT1BTLAkiUF9TWVNPUFMiCX0sCisJeyBQX1NFVFVQUklWLAkiUF9TRVRVUFJJViIJfSwKKwl7IFBfRFJJVkVSLAkiUF9EUklWRVIiCX0sCisJeyBQX1JUSU1FLAkiUF9SVElNRSIJfSwKKwl7IFBfTUFDVVBHUkFERSwJIlBfTUFDVVBHUkFERSIJfSwKKwl7IFBfRlNZU1JBTkdFLAkiUF9GU1lTUkFOR0UiCX0sCisJeyBQX1NFVEZMRVZFTCwJIlBfU0VURkxFVkVMIgl9LAorCXsgUF9BVURJVFdSLAkiUF9BVURJVFdSIgl9LAorCXsgUF9UU0hBUiwJIlBfVFNIQVIiCX0sCisJeyBQX1BMT0NLLAkiUF9QTE9DSyIJfSwKKwl7IFBfQ09SRSwJIlBfQ09SRSIJfSwKKwl7IFBfTE9BRE1PRCwJIlBfTE9BRE1PRCIJfSwKKwl7IFBfQklORCwJIlBfQklORCIJfSwKKwl7IFBfQUxMUFJJVlMsCSJQX0FMTFBSSVZTIgl9LAorCXsgMCwJCU5VTEwJCX0sCit9OworCisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCBwcm9jcHJpdl90eXBlIFtdID0geworCXsgUFNfRklYLAkiUFNfRklYIgl9LAorCXsgUFNfSU5ILAkiUFNfSU5IIgl9LAorCXsgUFNfTUFYLAkiUFNfTUFYIgl9LAorCXsgUFNfV0tHLAkiUFNfV0tHIgl9LAorCXsgMCwJCU5VTEwJCX0sCit9OworCisKK3N0YXRpYyB2b2lkCitwcmludHByaXYoc3RydWN0IHRjYiAqdGNwLCBsb25nIGFkZHIsIGludCBsZW4sIGNvbnN0IHN0cnVjdCB4bGF0ICpvcHQpCit7CisJcHJpdl90IGJ1ZiBbMTI4XTsKKwlpbnQgbWF4ID0gdmVyYm9zZSAodGNwKSA/IHNpemVvZiBidWYgLyBzaXplb2YgYnVmIFswXSA6IDEwOworCWludCBkb3RzID0gbGVuID4gbWF4OworCWludCBpOworCisJaWYgKGxlbiA+IG1heCkgbGVuID0gbWF4OworCisJaWYgKGxlbiA8PSAwIHx8CisJICAgIHVtb3ZlbiAodGNwLCBhZGRyLCBsZW4gKiBzaXplb2YgYnVmWzBdLCAoY2hhciAqKSBidWYpIDwgMCkKKwl7CisJCXRwcmludGYgKCIlI2x4IiwgYWRkcik7CisJCXJldHVybjsKKwl9CisKKwl0cHJpbnRmICgiWyIpOworCisJZm9yIChpID0gMDsgaSA8IGxlbjsgKytpKSB7CisJCWNvbnN0IGNoYXIgKnQsICpwOworCisJCWlmIChpKSB0cHJpbnRmICgiLCAiKTsKKworCQlpZiAoKHQgPSB4bG9va3VwIChwcm9jcHJpdl90eXBlLCBidWYgW2ldICYgUFNfVFlQRSkpICYmCisJCSAgICAocCA9IHhsb29rdXAgKHByb2Nwcml2X3ByaXYsIGJ1ZiBbaV0gJiB+UFNfVFlQRSkpKQorCQl7CisJCQl0cHJpbnRmICgiJXN8JXMiLCB0LCBwKTsKKwkJfQorCQllbHNlIHsKKwkJCXRwcmludGYgKCIlI2x4IiwgYnVmIFtpXSk7CisJCX0KKwl9CisKKwlpZiAoZG90cykgdHByaW50ZiAoIiAuLi4iKTsKKworCXRwcmludGYgKCJdIik7Cit9CisKKworaW50CitzeXNfcHJvY3ByaXYodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXByaW50eHZhbChwcm9jcHJpdl9jbWRzLCB0Y3AtPnVfYXJnWzBdLCAiPz8/UFJWIik7CisJCXN3aXRjaCAodGNwLT51X2FyZ1swXSkgeworCQkgICAgY2FzZSBDTlRQUlY6CisJCQl0cHJpbnRmKCIsICUjbHgsICVsZCIsIHRjcC0+dV9hcmdbMV0sIHRjcC0+dV9hcmdbMl0pOworCQkJYnJlYWs7CisKKwkJICAgIGNhc2UgR0VUUFJWOgorCQkJYnJlYWs7CisKKwkJICAgIGRlZmF1bHQ6CisJCQl0cHJpbnRmICgiLCAiKTsKKwkJCXByaW50cHJpdiAodGNwLCB0Y3AtPnVfYXJnWzFdLCB0Y3AtPnVfYXJnWzJdKTsKKwkJCXRwcmludGYgKCIsICVsZCIsIHRjcC0+dV9hcmdbMl0pOworCQl9CisJfQorCWVsc2UgaWYgKHRjcC0+dV9hcmdbMF0gPT0gR0VUUFJWKSB7CisJCWlmIChzeXNlcnJvciAodGNwKSkgeworCQkJdHByaW50ZigiLCAlI2x4LCAlbGQiLCB0Y3AtPnVfYXJnWzFdLCB0Y3AtPnVfYXJnWzJdKTsKKwkJfQorCQllbHNlIHsKKwkJCXRwcmludGYgKCIsICIpOworCQkJcHJpbnRwcml2ICh0Y3AsIHRjcC0+dV9hcmdbMV0sIHRjcC0+dV9ydmFsKTsKKwkJCXRwcmludGYgKCIsICVsZCIsIHRjcC0+dV9hcmdbMl0pOworCQl9CisJfQorCisJcmV0dXJuIDA7Cit9CisKKyNlbmRpZiAvKiBVTklYV0FSRSAqLworCisKK3N0YXRpYyB2b2lkCitwcmludGFyZ3YodGNwLCBhZGRyKQorc3RydWN0IHRjYiAqdGNwOworbG9uZyBhZGRyOworeworCXVuaW9uIHsKKwkJdW5zaWduZWQgaW50IHAzMjsKKwkJdW5zaWduZWQgbG9uZyBwNjQ7CisJCWNoYXIgZGF0YVtzaXplb2YobG9uZyldOworCX0gY3A7CisJY2hhciAqc2VwOworCWludCBuID0gMDsKKworCWNwLnA2NCA9IDE7CisJZm9yIChzZXAgPSAiIjsgIWFiYnJldih0Y3ApIHx8IG4gPCBtYXhfc3RybGVuIC8gMjsgc2VwID0gIiwgIiwgKytuKSB7CisJCWlmICh1bW92ZW4odGNwLCBhZGRyLCBwZXJzb25hbGl0eV93b3Jkc2l6ZVtjdXJyZW50X3BlcnNvbmFsaXR5XSwKKwkJCSAgIGNwLmRhdGEpIDwgMCkgeworCQkJdHByaW50ZigiJSNseCIsIGFkZHIpOworCQkJcmV0dXJuOworCQl9CisJCWlmIChwZXJzb25hbGl0eV93b3Jkc2l6ZVtjdXJyZW50X3BlcnNvbmFsaXR5XSA9PSA0KQorCQkJY3AucDY0ID0gY3AucDMyOworCQlpZiAoY3AucDY0ID09IDApCisJCQlicmVhazsKKwkJdHByaW50ZigiJXMiLCBzZXApOworCQlwcmludHN0cih0Y3AsIGNwLnA2NCwgLTEpOworCQlhZGRyICs9IHBlcnNvbmFsaXR5X3dvcmRzaXplW2N1cnJlbnRfcGVyc29uYWxpdHldOworCX0KKwlpZiAoY3AucDY0KQorCQl0cHJpbnRmKCIlcy4uLiIsIHNlcCk7Cit9CisKK3N0YXRpYyB2b2lkCitwcmludGFyZ2MoZm10LCB0Y3AsIGFkZHIpCitjaGFyICpmbXQ7CitzdHJ1Y3QgdGNiICp0Y3A7Citsb25nIGFkZHI7Cit7CisJaW50IGNvdW50OworCWNoYXIgKmNwOworCisJZm9yIChjb3VudCA9IDA7IHVtb3ZlKHRjcCwgYWRkciwgJmNwKSA+PSAwICYmIGNwICE9IE5VTEw7IGNvdW50KyspIHsKKwkJYWRkciArPSBzaXplb2YoY2hhciAqKTsKKwl9CisJdHByaW50ZihmbXQsIGNvdW50LCBjb3VudCA9PSAxID8gIiIgOiAicyIpOworfQorCisjaWYgZGVmaW5lZChTUEFSQykgfHwgZGVmaW5lZChTUEFSQzY0KSB8fCBkZWZpbmVkKFNVTk9TNCkKK2ludAorc3lzX2V4ZWN2KHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQlwcmludHBhdGgodGNwLCB0Y3AtPnVfYXJnWzBdKTsKKwkJaWYgKCF2ZXJib3NlKHRjcCkpCisJCQl0cHJpbnRmKCIsICUjbHgiLCB0Y3AtPnVfYXJnWzFdKTsKKwkJZWxzZSB7CisJCQl0cHJpbnRmKCIsIFsiKTsKKwkJCXByaW50YXJndih0Y3AsIHRjcC0+dV9hcmdbMV0pOworCQkJdHByaW50ZigiXSIpOworCQl9CisJfQorCXJldHVybiAwOworfQorI2VuZGlmIC8qIFNQQVJDIHx8IFNQQVJDNjQgfHwgU1VOT1M0ICovCisKK2ludAorc3lzX2V4ZWN2ZShzdHJ1Y3QgdGNiICp0Y3ApCit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJcHJpbnRwYXRoKHRjcCwgdGNwLT51X2FyZ1swXSk7CisJCWlmICghdmVyYm9zZSh0Y3ApKQorCQkJdHByaW50ZigiLCAlI2x4IiwgdGNwLT51X2FyZ1sxXSk7CisJCWVsc2UgeworCQkJdHByaW50ZigiLCBbIik7CisJCQlwcmludGFyZ3YodGNwLCB0Y3AtPnVfYXJnWzFdKTsKKwkJCXRwcmludGYoIl0iKTsKKwkJfQorCQlpZiAoIXZlcmJvc2UodGNwKSkKKwkJCXRwcmludGYoIiwgJSNseCIsIHRjcC0+dV9hcmdbMl0pOworCQllbHNlIGlmIChhYmJyZXYodGNwKSkKKwkJCXByaW50YXJnYygiLCBbLyogJWQgdmFyJXMgKi9dIiwgdGNwLCB0Y3AtPnVfYXJnWzJdKTsKKwkJZWxzZSB7CisJCQl0cHJpbnRmKCIsIFsiKTsKKwkJCXByaW50YXJndih0Y3AsIHRjcC0+dV9hcmdbMl0pOworCQkJdHByaW50ZigiXSIpOworCQl9CisJfQorCXJldHVybiAwOworfQorCisjaWYgVU5JWFdBUkUgPiAyCisKK2ludCBzeXNfcmV4ZWN2ZSh0Y3ApCitzdHJ1Y3QgdGNiICp0Y3A7Cit7CisJaWYgKGVudGVyaW5nICh0Y3ApKSB7CisJCXN5c19leGVjdmUgKHRjcCk7CisJCXRwcmludGYgKCIsICVsZCIsIHRjcC0+dV9hcmdbM10pOworCX0KKwlyZXR1cm4gMDsKK30KKworI2VuZGlmCisKK2ludAoraW50ZXJuYWxfZXhlYyh0Y3ApCitzdHJ1Y3QgdGNiICp0Y3A7Cit7CisjaWZkZWYgU1VOT1M0CisJaWYgKGV4aXRpbmcodGNwKSAmJiAhc3lzZXJyb3IodGNwKSAmJiBmb2xsb3dmb3JrKQorCQlmaXh2Zm9yayh0Y3ApOworI2VuZGlmIC8qIFNVTk9TNCAqLworI2lmIGRlZmluZWQgTElOVVggJiYgZGVmaW5lZCBUQ0JfV0FJVEVYRUNWRQorCWlmIChleGl0aW5nKHRjcCkgJiYgc3lzZXJyb3IodGNwKSkKKwkJdGNwLT5mbGFncyAmPSB+VENCX1dBSVRFWEVDVkU7CisJZWxzZQorCQl0Y3AtPmZsYWdzIHw9IFRDQl9XQUlURVhFQ1ZFOworI2VuZGlmIC8qIExJTlVYICYmIFRDQl9XQUlURVhFQ1ZFICovCisJcmV0dXJuIDA7Cit9CisKKyNpZmRlZiBMSU5VWAorI2lmbmRlZiBfX1dOT1RIUkVBRAorI2RlZmluZSBfX1dOT1RIUkVBRAkweDIwMDAwMDAwCisjZW5kaWYKKyNpZm5kZWYgX19XQUxMCisjZGVmaW5lIF9fV0FMTAkJMHg0MDAwMDAwMAorI2VuZGlmCisjaWZuZGVmIF9fV0NMT05FCisjZGVmaW5lIF9fV0NMT05FCTB4ODAwMDAwMDAKKyNlbmRpZgorI2VuZGlmIC8qIExJTlVYICovCisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCB3YWl0NF9vcHRpb25zW10gPSB7CisJeyBXTk9IQU5HLAkiV05PSEFORyIJfSwKKyNpZm5kZWYgV1NUT1BQRUQKKwl7IFdVTlRSQUNFRCwJIldVTlRSQUNFRCIJfSwKKyNlbmRpZgorI2lmZGVmIFdFWElURUQKKwl7IFdFWElURUQsCSJXRVhJVEVEIgl9LAorI2VuZGlmCisjaWZkZWYgV1RSQVBQRUQKKwl7IFdUUkFQUEVELAkiV1RSQVBQRUQiCX0sCisjZW5kaWYKKyNpZmRlZiBXU1RPUFBFRAorCXsgV1NUT1BQRUQsCSJXU1RPUFBFRCIJfSwKKyNlbmRpZgorI2lmZGVmIFdDT05USU5VRUQKKwl7IFdDT05USU5VRUQsCSJXQ09OVElOVUVEIgl9LAorI2VuZGlmCisjaWZkZWYgV05PV0FJVAorCXsgV05PV0FJVCwJIldOT1dBSVQiCX0sCisjZW5kaWYKKyNpZmRlZiBfX1dDTE9ORQorCXsgX19XQ0xPTkUsCSJfX1dDTE9ORSIJfSwKKyNlbmRpZgorI2lmZGVmIF9fV0FMTAorCXsgX19XQUxMLAkiX19XQUxMIgl9LAorI2VuZGlmCisjaWZkZWYgX19XTk9USFJFQUQKKwl7IF9fV05PVEhSRUFELAkiX19XTk9USFJFQUQiCX0sCisjZW5kaWYKKwl7IDAsCQlOVUxMCQl9LAorfTsKKworI2lmICFkZWZpbmVkIFdDT1JFRkxBRyAmJiBkZWZpbmVkIFdDT1JFRkxHCisjIGRlZmluZSBXQ09SRUZMQUcgV0NPUkVGTEcKKyNlbmRpZgorI2lmbmRlZiBXQ09SRUZMQUcKKyMgZGVmaW5lIFdDT1JFRkxBRyAweDgwCisjZW5kaWYKKyNpZm5kZWYgV0NPUkVEVU1QCisjIGRlZmluZSBXQ09SRURVTVAoc3RhdHVzKSAoKHN0YXR1cykgJiAwMjAwKQorI2VuZGlmCisKKworI2lmbmRlZiBXX1NUT1BDT0RFCisjZGVmaW5lIFdfU1RPUENPREUoc2lnKQkJKChzaWcpIDw8IDggfCAweDdmKQorI2VuZGlmCisjaWZuZGVmIFdfRVhJVENPREUKKyNkZWZpbmUgV19FWElUQ09ERShyZXQsIHNpZykJKChyZXQpIDw8IDggfCAoc2lnKSkKKyNlbmRpZgorCitzdGF0aWMgaW50CitwcmludHN0YXR1cyhzdGF0dXMpCitpbnQgc3RhdHVzOworeworCWludCBleGl0ZWQgPSAwOworCisJLyoKKwkgKiBIZXJlIGlzIGEgdHJpY2t5IHByZXNlbnRhdGlvbiBwcm9ibGVtLiAgVGhpcyBzb2x1dGlvbgorCSAqIGlzIHN0aWxsIG5vdCBlbnRpcmVseSBzYXRpc2ZhY3RvcnkgYnV0IHNpbmNlIHRoZXJlCisJICogYXJlIG5vIHdhaXQgc3RhdHVzIGNvbnN0cnVjdG9ycyBpdCB3aWxsIGhhdmUgdG8gZG8uCisJICovCisJaWYgKFdJRlNUT1BQRUQoc3RhdHVzKSkgeworCQl0cHJpbnRmKCJbe1dJRlNUT1BQRUQocykgJiYgV1NUT1BTSUcocykgPT0gJXN9IiwKKwkJCXNpZ25hbWUoV1NUT1BTSUcoc3RhdHVzKSkpOworCQlzdGF0dXMgJj0gfldfU1RPUENPREUoV1NUT1BTSUcoc3RhdHVzKSk7CisJfQorCWVsc2UgaWYgKFdJRlNJR05BTEVEKHN0YXR1cykpIHsKKwkJdHByaW50ZigiW3tXSUZTSUdOQUxFRChzKSAmJiBXVEVSTVNJRyhzKSA9PSAlcyVzfSIsCisJCQlzaWduYW1lKFdURVJNU0lHKHN0YXR1cykpLAorCQkJV0NPUkVEVU1QKHN0YXR1cykgPyAiICYmIFdDT1JFRFVNUChzKSIgOiAiIik7CisJCXN0YXR1cyAmPSB+KFdfRVhJVENPREUoMCwgV1RFUk1TSUcoc3RhdHVzKSkgfCBXQ09SRUZMQUcpOworCX0KKwllbHNlIGlmIChXSUZFWElURUQoc3RhdHVzKSkgeworCQl0cHJpbnRmKCJbe1dJRkVYSVRFRChzKSAmJiBXRVhJVFNUQVRVUyhzKSA9PSAlZH0iLAorCQkJV0VYSVRTVEFUVVMoc3RhdHVzKSk7CisJCWV4aXRlZCA9IDE7CisJCXN0YXR1cyAmPSB+V19FWElUQ09ERShXRVhJVFNUQVRVUyhzdGF0dXMpLCAwKTsKKwl9CisJZWxzZSB7CisJCXRwcmludGYoIlslI3hdIiwgc3RhdHVzKTsKKwkJcmV0dXJuIDA7CisJfQorCisJaWYgKHN0YXR1cyA9PSAwKQorCQl0cHJpbnRmKCJdIik7CisJZWxzZQorCQl0cHJpbnRmKCIgfCAlI3hdIiwgc3RhdHVzKTsKKworCXJldHVybiBleGl0ZWQ7Cit9CisKK3N0YXRpYyBpbnQKK3ByaW50d2FpdG4oc3RydWN0IHRjYiAqdGNwLCBpbnQgbiwgaW50IGJpdG5lc3MpCit7CisJaW50IHN0YXR1czsKKwlpbnQgZXhpdGVkID0gMDsKKworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisjaWZkZWYgTElOVVgKKwkJLyogT24gTGludXgsIGtlcm5lbC1zaWRlIHBpZF90IGlzIHR5cGVkZWYnZWQgdG8gaW50CisJCSAqIG9uIGFsbCBhcmNoZXMuIEFsc28sIGdsaWJjLTIuOCB0cnVuY2F0ZXMgd2FpdDMgYW5kIHdhaXQ0CisJCSAqIHBpZCBhcmd1bWVudCB0byBpbnQgb24gNjRiaXQgYXJjaGVzLCBwcm9kdWNpbmcsCisJCSAqIGZvciBleGFtcGxlLCB3YWl0NCg0Mjk0OTY3Mjk1LCAuLi4pIGluc3RlYWQgb2YgLTEKKwkJICogaW4gc3RyYWNlLiBXZSBoYXZlIHRvIHVzZSBpbnQgaGVyZSwgbm90IGxvbmcuCisJCSAqLworCQlpbnQgcGlkID0gdGNwLT51X2FyZ1swXTsKKwkJdHByaW50ZigiJWQsICIsIHBpZCk7CisjZWxzZQorCQkvKgorCQkgKiBTaWduLWV4dGVuZCBhIDMyLWJpdCB2YWx1ZSB3aGVuIHRoYXQncyB3aGF0IGl0IGlzLgorCQkgKi8KKwkJbG9uZyBwaWQgPSB0Y3AtPnVfYXJnWzBdOworCQlpZiAocGVyc29uYWxpdHlfd29yZHNpemVbY3VycmVudF9wZXJzb25hbGl0eV0gPCBzaXplb2YgcGlkKQorCQkJcGlkID0gKGxvbmcpIChpbnQpIHBpZDsKKwkJdHByaW50ZigiJWxkLCAiLCBwaWQpOworI2VuZGlmCisJfSBlbHNlIHsKKwkJLyogc3RhdHVzICovCisJCWlmICghdGNwLT51X2FyZ1sxXSkKKwkJCXRwcmludGYoIk5VTEwiKTsKKwkJZWxzZSBpZiAoc3lzZXJyb3IodGNwKSB8fCB0Y3AtPnVfcnZhbCA9PSAwKQorCQkJdHByaW50ZigiJSNseCIsIHRjcC0+dV9hcmdbMV0pOworCQllbHNlIGlmICh1bW92ZSh0Y3AsIHRjcC0+dV9hcmdbMV0sICZzdGF0dXMpIDwgMCkKKwkJCXRwcmludGYoIls/XSIpOworCQllbHNlCisJCQlleGl0ZWQgPSBwcmludHN0YXR1cyhzdGF0dXMpOworCQkvKiBvcHRpb25zICovCisJCXRwcmludGYoIiwgIik7CisJCXByaW50ZmxhZ3Mod2FpdDRfb3B0aW9ucywgdGNwLT51X2FyZ1syXSwgIlc/Pz8iKTsKKwkJaWYgKG4gPT0gNCkgeworCQkJdHByaW50ZigiLCAiKTsKKwkJCS8qIHVzYWdlICovCisJCQlpZiAoIXRjcC0+dV9hcmdbM10pCisJCQkJdHByaW50ZigiTlVMTCIpOworI2lmZGVmIExJTlVYCisJCQllbHNlIGlmICh0Y3AtPnVfcnZhbCA+IDApIHsKKyNpZmRlZiBBTFBIQQorCQkJCWlmIChiaXRuZXNzKQorCQkJCQlwcmludHJ1c2FnZTMyKHRjcCwgdGNwLT51X2FyZ1szXSk7CisJCQkJZWxzZQorI2VuZGlmCisJCQkJCXByaW50cnVzYWdlKHRjcCwgdGNwLT51X2FyZ1szXSk7CisJCQl9CisjZW5kaWYgLyogTElOVVggKi8KKyNpZmRlZiBTVU5PUzQKKwkJCWVsc2UgaWYgKHRjcC0+dV9ydmFsID4gMCAmJiBleGl0ZWQpCisJCQkJcHJpbnRydXNhZ2UodGNwLCB0Y3AtPnVfYXJnWzNdKTsKKyNlbmRpZiAvKiBTVU5PUzQgKi8KKwkJCWVsc2UKKwkJCQl0cHJpbnRmKCIlI2x4IiwgdGNwLT51X2FyZ1szXSk7CisJCX0KKwl9CisJcmV0dXJuIDA7Cit9CisKK2ludAoraW50ZXJuYWxfd2FpdCh0Y3AsIGZsYWdhcmcpCitzdHJ1Y3QgdGNiICp0Y3A7CitpbnQgZmxhZ2FyZzsKK3sKKwlpbnQgZ290X2tpZHM7CisKKyNpZmRlZiBUQ0JfQ0xPTkVfVEhSRUFECisJaWYgKHRjcC0+ZmxhZ3MgJiBUQ0JfQ0xPTkVfVEhSRUFEKQorCQkvKiBUaGUgY2hpbGRyZW4gd2Ugd2FpdCBmb3IgYXJlIG91ciBwYXJlbnQncyBjaGlsZHJlbi4gICovCisJCWdvdF9raWRzID0gKHRjcC0+cGFyZW50LT5uY2hpbGRyZW4KKwkJCSAgICA+IHRjcC0+cGFyZW50LT5uY2xvbmVfZGV0YWNoZWQpOworCWVsc2UKKwkJZ290X2tpZHMgPSAodGNwLT5uY2hpbGRyZW4gPiB0Y3AtPm5jbG9uZV9kZXRhY2hlZCk7CisjZWxzZQorCWdvdF9raWRzID0gdGNwLT5uY2hpbGRyZW4gPiAwOworI2VuZGlmCisKKwlpZiAoZW50ZXJpbmcodGNwKSAmJiBnb3Rfa2lkcykgeworCQkvKiBUaGVyZSBhcmUgY2hpbGRyZW4gdGhhdCB0aGlzIHBhcmVudCBzaG91bGQgYmxvY2sgZm9yLgorCQkgICBCdXQgcHRyYWNlIG1hZGUgdXMgdGhlIHBhcmVudCBvZiB0aGUgdHJhY2VkIGNoaWxkcmVuCisJCSAgIGFuZCB0aGUgcmVhbCBwYXJlbnQgd2lsbCBnZXQgRUNISUxEIGZyb20gdGhlIHdhaXQgY2FsbC4KKworCQkgICBYWFggSWYgd2UgYXR0YWNoZWQgd2l0aCBzdHJhY2UgLWYgLXAgUElELCB0aGVuIHRoZXJlCisJCSAgIG1heSBiZSB1bnRyYWNlZCBkZWFkIGNoaWxkcmVuIHRoZSBwYXJlbnQgY291bGQgYmUgcmVhcGluZworCQkgICBub3csIGJ1dCB3ZSBtYWtlIGhpbSBibG9jay4gICovCisKKwkJLyogPz8/IFdUQTogZml4IGJ1ZyB3aXRoIGhhbmdpbmcgY2hpbGRyZW4gKi8KKworCQlpZiAoISh0Y3AtPnVfYXJnW2ZsYWdhcmddICYgV05PSEFORykpIHsKKwkJCS8qCisJCQkgKiBUaGVyZSBhcmUgdHJhY2VkIGNoaWxkcmVuLiAgV2UnbGwgbWFrZSB0aGUgcGFyZW50CisJCQkgKiBibG9jayB0byBhdm9pZCBhIGZhbHNlIEVDSElMRCBlcnJvciBkdWUgdG8gb3VyCisJCQkgKiBwdHJhY2UgaGF2aW5nIHN0b2xlbiB0aGUgY2hpbGRyZW4uICBIb3dldmVyLAorCQkJICogd2Ugc2hvdWxkbid0IGJsb2NrIGlmIHRoZXJlIGFyZSB6b21iaWVzIHRvIHJlYXAuCisJCQkgKiBYWFggZG9lc24ndCBoYW5kbGUgcGdycCBtYXRjaGVzICh1X2FyZ1swXT09MCw8LTEpCisJCQkgKi8KKwkJCXN0cnVjdCB0Y2IgKmNoaWxkID0gTlVMTDsKKwkJCWlmICh0Y3AtPm56b21iaWVzID4gMCAmJgorCQkJICAgICh0Y3AtPnVfYXJnWzBdID09IC0xIHx8CisJCQkgICAgIChjaGlsZCA9IHBpZDJ0Y2IodGNwLT51X2FyZ1swXSkpID09IE5VTEwpKQorCQkJCXJldHVybiAwOworCQkJaWYgKHRjcC0+dV9hcmdbMF0gPiAwKSB7CisJCQkJLyoKKwkJCQkgKiBJZiB0aGUgcGFyZW50IHdhaXRzIGZvciBhIHNwZWNpZmllZCBjaGlsZAorCQkJCSAqIFBJRCwgdGhlbiBpdCBtdXN0IGdldCBFQ0hJTEQgcmlnaHQgYXdheQorCQkJCSAqIGlmIHRoYXQgUElEIGlzIG5vdCBvbmUgb2YgaXRzIGNoaWxkcmVuLgorCQkJCSAqIE1ha2Ugc3VyZSB0aGF0IHRoZSByZXF1ZXN0ZWQgUElEIG1hdGNoZXMKKwkJCQkgKiBvbmUgb2YgdGhlIHBhcmVudCdzIGNoaWxkcmVuIHRoYXQgd2UgYXJlCisJCQkJICogdHJhY2luZywgYW5kIGRvbid0IHN1c3BlbmQgaXQgb3RoZXJ3aXNlLgorCQkJCSAqLworCQkJCWlmIChjaGlsZCA9PSBOVUxMKQorCQkJCQljaGlsZCA9IHBpZDJ0Y2IodGNwLT51X2FyZ1swXSk7CisJCQkJaWYgKGNoaWxkID09IE5VTEwgfHwgY2hpbGQtPnBhcmVudCAhPSAoCisjaWZkZWYgVENCX0NMT05FX1RIUkVBRAorCQkJCQkgICAgKHRjcC0+ZmxhZ3MgJiBUQ0JfQ0xPTkVfVEhSRUFEKQorCQkJCQkgICAgPyB0Y3AtPnBhcmVudCA6CisjZW5kaWYKKwkJCQkJICAgIHRjcCkgfHwKKwkJCQkgICAgKGNoaWxkLT5mbGFncyAmIFRDQl9FWElUSU5HKSkKKwkJCQkJcmV0dXJuIDA7CisJCQl9CisJCQl0Y3AtPmZsYWdzIHw9IFRDQl9TVVNQRU5ERUQ7CisJCQl0Y3AtPndhaXRwaWQgPSB0Y3AtPnVfYXJnWzBdOworI2lmZGVmIFRDQl9DTE9ORV9USFJFQUQKKwkJCWlmICh0Y3AtPmZsYWdzICYgVENCX0NMT05FX1RIUkVBRCkKKwkJCQl0Y3AtPnBhcmVudC0+bmNsb25lX3dhaXRpbmcrKzsKKyNlbmRpZgorCQl9CisJfQorCWlmIChleGl0aW5nKHRjcCkgJiYgdGNwLT51X2Vycm9yID09IEVDSElMRCAmJiBnb3Rfa2lkcykgeworCQlpZiAodGNwLT51X2FyZ1tmbGFnYXJnXSAmIFdOT0hBTkcpIHsKKwkJCS8qIFdlIG11c3QgZm9yY2UgYSBmYWtlIHJlc3VsdCBvZiAwIGluc3RlYWQgb2YKKwkJCSAgIHRoZSBFQ0hJTEQgZXJyb3IuICAqLworCQkJZXh0ZXJuIGludCBmb3JjZV9yZXN1bHQoKTsKKwkJCXJldHVybiBmb3JjZV9yZXN1bHQodGNwLCAwLCAwKTsKKwkJfQorCX0KKwllbHNlIGlmIChleGl0aW5nKHRjcCkgJiYgdGNwLT51X2Vycm9yID09IDAgJiYgdGNwLT51X3J2YWwgPiAwICYmCisJCSB0Y3AtPm56b21iaWVzID4gMCAmJiBwaWQydGNiKHRjcC0+dV9ydmFsKSA9PSBOVUxMKSB7CisJCS8qCisJCSAqIFdlIGp1c3QgcmVhcGVkIGEgY2hpbGQgd2UgZG9uJ3Qga25vdyBhYm91dCwKKwkJICogcHJlc3VtYWJseSBhIHpvbWJpZSB3ZSBhbHJlYWR5IGRyb3B0Y2InZC4KKwkJICovCisJCXRjcC0+bnpvbWJpZXMtLTsKKwl9CisJcmV0dXJuIDA7Cit9CisKKyNpZmRlZiBTVlI0CisKK2ludAorc3lzX3dhaXQodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCWlmIChleGl0aW5nKHRjcCkpIHsKKwkJLyogVGhlIGxpYnJhcnkgd3JhcHBlciBzdHVmZnMgdGhpcyBpbnRvIHRoZSB1c2VyIHZhcmlhYmxlLiAqLworCQlpZiAoIXN5c2Vycm9yKHRjcCkpCisJCQlwcmludHN0YXR1cyhnZXRydmFsMih0Y3ApKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKKyNlbmRpZiAvKiBTVlI0ICovCisKKyNpZmRlZiBGUkVFQlNECitpbnQKK3N5c193YWl0KHRjcCkKK3N0cnVjdCB0Y2IgKnRjcDsKK3sKKwlpbnQgc3RhdHVzOworCisJaWYgKGV4aXRpbmcodGNwKSkgeworCQlpZiAoIXN5c2Vycm9yKHRjcCkpIHsKKwkJCWlmICh1bW92ZSh0Y3AsIHRjcC0+dV9hcmdbMF0sICZzdGF0dXMpIDwgMCkKKwkJCQl0cHJpbnRmKCIlI2x4IiwgdGNwLT51X2FyZ1swXSk7CisJCQllbHNlCisJCQkJcHJpbnRzdGF0dXMoc3RhdHVzKTsKKwkJfQorCX0KKwlyZXR1cm4gMDsKK30KKyNlbmRpZgorCitpbnQKK3N5c193YWl0cGlkKHRjcCkKK3N0cnVjdCB0Y2IgKnRjcDsKK3sKKwlyZXR1cm4gcHJpbnR3YWl0bih0Y3AsIDMsIDApOworfQorCitpbnQKK3N5c193YWl0NCh0Y3ApCitzdHJ1Y3QgdGNiICp0Y3A7Cit7CisJcmV0dXJuIHByaW50d2FpdG4odGNwLCA0LCAwKTsKK30KKworI2lmZGVmIEFMUEhBCitpbnQKK3N5c19vc2Zfd2FpdDQodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCXJldHVybiBwcmludHdhaXRuKHRjcCwgNCwgMSk7Cit9CisjZW5kaWYKKworI2lmIGRlZmluZWQgU1ZSNCB8fCBkZWZpbmVkIExJTlVYCisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCB3YWl0aWRfdHlwZXNbXSA9IHsKKwl7IFBfUElELAkiUF9QSUQiCQl9LAorI2lmZGVmIFBfUFBJRAorCXsgUF9QUElELAkiUF9QUElEIgl9LAorI2VuZGlmCisJeyBQX1BHSUQsCSJQX1BHSUQiCX0sCisjaWZkZWYgUF9TSUQKKwl7IFBfU0lELAkiUF9TSUQiCQl9LAorI2VuZGlmCisjaWZkZWYgUF9DSUQKKwl7IFBfQ0lELAkiUF9DSUQiCQl9LAorI2VuZGlmCisjaWZkZWYgUF9VSUQKKwl7IFBfVUlELAkiUF9VSUQiCQl9LAorI2VuZGlmCisjaWZkZWYgUF9HSUQKKwl7IFBfR0lELAkiUF9HSUQiCQl9LAorI2VuZGlmCisJeyBQX0FMTCwJIlBfQUxMIgkJfSwKKyNpZmRlZiBQX0xXUElECisJeyBQX0xXUElELAkiUF9MV1BJRCIJfSwKKyNlbmRpZgorCXsgMCwJCU5VTEwJCX0sCit9OworCitpbnQKK3N5c193YWl0aWQodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCXNpZ2luZm9fdCBzaTsKKwlpbnQgZXhpdGVkOworCisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJcHJpbnR4dmFsKHdhaXRpZF90eXBlcywgdGNwLT51X2FyZ1swXSwgIlBfPz8/Iik7CisJCXRwcmludGYoIiwgJWxkLCAiLCB0Y3AtPnVfYXJnWzFdKTsKKwl9CisJZWxzZSB7CisJCS8qIHNpZ2luZm8gKi8KKwkJZXhpdGVkID0gMDsKKwkJaWYgKCF0Y3AtPnVfYXJnWzJdKQorCQkJdHByaW50ZigiTlVMTCIpOworCQllbHNlIGlmIChzeXNlcnJvcih0Y3ApKQorCQkJdHByaW50ZigiJSNseCIsIHRjcC0+dV9hcmdbMl0pOworCQllbHNlIGlmICh1bW92ZSh0Y3AsIHRjcC0+dV9hcmdbMl0sICZzaSkgPCAwKQorCQkJdHByaW50Zigiez8/P30iKTsKKwkJZWxzZQorCQkJcHJpbnRzaWdpbmZvKCZzaSwgdmVyYm9zZSh0Y3ApKTsKKwkJLyogb3B0aW9ucyAqLworCQl0cHJpbnRmKCIsICIpOworCQlwcmludGZsYWdzKHdhaXQ0X29wdGlvbnMsIHRjcC0+dV9hcmdbM10sICJXPz8/Iik7CisJCWlmICh0Y3AtPnVfbmFyZ3MgPiA0KSB7CisJCQkvKiB1c2FnZSAqLworCQkJdHByaW50ZigiLCAiKTsKKwkJCWlmICghdGNwLT51X2FyZ1s0XSkKKwkJCQl0cHJpbnRmKCJOVUxMIik7CisJCQllbHNlIGlmICh0Y3AtPnVfZXJyb3IpCisJCQkJdHByaW50ZigiJSNseCIsIHRjcC0+dV9hcmdbNF0pOworCQkJZWxzZQorCQkJCXByaW50cnVzYWdlKHRjcCwgdGNwLT51X2FyZ1s0XSk7CisJCX0KKwl9CisJcmV0dXJuIDA7Cit9CisKKyNlbmRpZiAvKiBTVlI0IG9yIExJTlVYICovCisKK2ludAorc3lzX2FsYXJtKHRjcCkKK3N0cnVjdCB0Y2IgKnRjcDsKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkKKwkJdHByaW50ZigiJWx1IiwgdGNwLT51X2FyZ1swXSk7CisJcmV0dXJuIDA7Cit9CisKK2ludAorc3lzX3VuYW1lKHRjcCkKK3N0cnVjdCB0Y2IgKnRjcDsKK3sKKwlzdHJ1Y3QgdXRzbmFtZSB1bmFtZTsKKworCWlmIChleGl0aW5nKHRjcCkpIHsKKwkJaWYgKHN5c2Vycm9yKHRjcCkgfHwgIXZlcmJvc2UodGNwKSkKKwkJCXRwcmludGYoIiUjbHgiLCB0Y3AtPnVfYXJnWzBdKTsKKwkJZWxzZSBpZiAodW1vdmUodGNwLCB0Y3AtPnVfYXJnWzBdLCAmdW5hbWUpIDwgMCkKKwkJCXRwcmludGYoInsuLi59Iik7CisJCWVsc2UgaWYgKCFhYmJyZXYodGNwKSkgeworCisJCQl0cHJpbnRmKCJ7c3lzbmFtZT1cIiVzXCIsIG5vZGVuYW1lPVwiJXNcIiwgIiwKKwkJCQl1bmFtZS5zeXNuYW1lLCB1bmFtZS5ub2RlbmFtZSk7CisJCQl0cHJpbnRmKCJyZWxlYXNlPVwiJXNcIiwgdmVyc2lvbj1cIiVzXCIsICIsCisJCQkJdW5hbWUucmVsZWFzZSwgdW5hbWUudmVyc2lvbik7CisJCQl0cHJpbnRmKCJtYWNoaW5lPVwiJXNcIiIsIHVuYW1lLm1hY2hpbmUpOworI2lmZGVmIExJTlVYCisjaWZuZGVmIF9fR0xJQkNfXworCQkJdHByaW50ZigiLCBkb21haW5uYW1lPVwiJXNcIiIsIHVuYW1lLmRvbWFpbm5hbWUpOworI2VuZGlmCisjZW5kaWYKKwkJCXRwcmludGYoIn0iKTsKKwkJfQorCQllbHNlCisJCQl0cHJpbnRmKCJ7c3lzPVwiJXNcIiwgbm9kZT1cIiVzXCIsIC4uLn0iLAorCQkJCXVuYW1lLnN5c25hbWUsIHVuYW1lLm5vZGVuYW1lKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKKyNpZm5kZWYgU1ZSNAorCitzdGF0aWMgY29uc3Qgc3RydWN0IHhsYXQgcHRyYWNlX2NtZHNbXSA9IHsKKyMgaWZuZGVmIEZSRUVCU0QKKwl7IFBUUkFDRV9UUkFDRU1FLAkiUFRSQUNFX1RSQUNFTUUiCX0sCisJeyBQVFJBQ0VfUEVFS1RFWFQsCSJQVFJBQ0VfUEVFS1RFWFQiLAl9LAorCXsgUFRSQUNFX1BFRUtEQVRBLAkiUFRSQUNFX1BFRUtEQVRBIiwJfSwKKwl7IFBUUkFDRV9QRUVLVVNFUiwJIlBUUkFDRV9QRUVLVVNFUiIsCX0sCisJeyBQVFJBQ0VfUE9LRVRFWFQsCSJQVFJBQ0VfUE9LRVRFWFQiLAl9LAorCXsgUFRSQUNFX1BPS0VEQVRBLAkiUFRSQUNFX1BPS0VEQVRBIiwJfSwKKwl7IFBUUkFDRV9QT0tFVVNFUiwJIlBUUkFDRV9QT0tFVVNFUiIsCX0sCisJeyBQVFJBQ0VfQ09OVCwJCSJQVFJBQ0VfQ09OVCIJCX0sCisJeyBQVFJBQ0VfS0lMTCwJCSJQVFJBQ0VfS0lMTCIJCX0sCisJeyBQVFJBQ0VfU0lOR0xFU1RFUCwJIlBUUkFDRV9TSU5HTEVTVEVQIgl9LAorCXsgUFRSQUNFX0FUVEFDSCwJIlBUUkFDRV9BVFRBQ0giCQl9LAorCXsgUFRSQUNFX0RFVEFDSCwJIlBUUkFDRV9ERVRBQ0giCQl9LAorIyAgaWZkZWYgUFRSQUNFX0dFVFJFR1MKKwl7IFBUUkFDRV9HRVRSRUdTLAkiUFRSQUNFX0dFVFJFR1MiCX0sCisjICBlbmRpZgorIyAgaWZkZWYgUFRSQUNFX1NFVFJFR1MKKwl7IFBUUkFDRV9TRVRSRUdTLAkiUFRSQUNFX1NFVFJFR1MiCX0sCisjICBlbmRpZgorIyAgaWZkZWYgUFRSQUNFX0dFVEZQUkVHUworCXsgUFRSQUNFX0dFVEZQUkVHUywJIlBUUkFDRV9HRVRGUFJFR1MiLAl9LAorIyAgZW5kaWYKKyMgIGlmZGVmIFBUUkFDRV9TRVRGUFJFR1MKKwl7IFBUUkFDRV9TRVRGUFJFR1MsCSJQVFJBQ0VfU0VURlBSRUdTIiwJfSwKKyMgIGVuZGlmCisjICBpZmRlZiBQVFJBQ0VfR0VURlBYUkVHUworCXsgUFRSQUNFX0dFVEZQWFJFR1MsCSJQVFJBQ0VfR0VURlBYUkVHUyIsCX0sCisjICBlbmRpZgorIyAgaWZkZWYgUFRSQUNFX1NFVEZQWFJFR1MKKwl7IFBUUkFDRV9TRVRGUFhSRUdTLAkiUFRSQUNFX1NFVEZQWFJFR1MiLAl9LAorIyAgZW5kaWYKKyMgIGlmZGVmIFBUUkFDRV9HRVRWUlJFR1MKKwl7IFBUUkFDRV9HRVRWUlJFR1MsCSJQVFJBQ0VfR0VUVlJSRUdTIiwJfSwKKyMgIGVuZGlmCisjICBpZmRlZiBQVFJBQ0VfU0VUVlJSRUdTCisJeyBQVFJBQ0VfU0VUVlJSRUdTLAkiUFRSQUNFX1NFVFZSUkVHUyIsCX0sCisjICBlbmRpZgorIyAgaWZkZWYgUFRSQUNFX1NFVE9QVElPTlMKKwl7IFBUUkFDRV9TRVRPUFRJT05TLAkiUFRSQUNFX1NFVE9QVElPTlMiLAl9LAorIyAgZW5kaWYKKyMgIGlmZGVmIFBUUkFDRV9HRVRFVkVOVE1TRworCXsgUFRSQUNFX0dFVEVWRU5UTVNHLAkiUFRSQUNFX0dFVEVWRU5UTVNHIiwJfSwKKyMgIGVuZGlmCisjICBpZmRlZiBQVFJBQ0VfR0VUU0lHSU5GTworCXsgUFRSQUNFX0dFVFNJR0lORk8sCSJQVFJBQ0VfR0VUU0lHSU5GTyIsCX0sCisjICBlbmRpZgorIyAgaWZkZWYgUFRSQUNFX1NFVFNJR0lORk8KKwl7IFBUUkFDRV9TRVRTSUdJTkZPLAkiUFRSQUNFX1NFVFNJR0lORk8iLAl9LAorIyAgZW5kaWYKKyMgIGlmZGVmIFBUUkFDRV9TRVRfU1lTQ0FMTAorCXsgUFRSQUNFX1NFVF9TWVNDQUxMLAkiUFRSQUNFX1NFVF9TWVNDQUxMIiwJfSwKKyMgIGVuZGlmCisjICBpZmRlZiBTVU5PUzQKKwl7IFBUUkFDRV9SRUFEREFUQSwJIlBUUkFDRV9SRUFEREFUQSIJfSwKKwl7IFBUUkFDRV9XUklURURBVEEsCSJQVFJBQ0VfV1JJVEVEQVRBIgl9LAorCXsgUFRSQUNFX1JFQURURVhULAkiUFRSQUNFX1JFQURURVhUIgl9LAorCXsgUFRSQUNFX1dSSVRFVEVYVCwJIlBUUkFDRV9XUklURVRFWFQiCX0sCisJeyBQVFJBQ0VfR0VURlBBUkVHUywJIlBUUkFDRV9HRVRGUEFSRUdTIgl9LAorCXsgUFRSQUNFX1NFVEZQQVJFR1MsCSJQVFJBQ0VfU0VURlBBUkVHUyIJfSwKKyMgICBpZmRlZiBTUEFSQworCXsgUFRSQUNFX0dFVFdJTkRPVywJIlBUUkFDRV9HRVRXSU5ET1ciCX0sCisJeyBQVFJBQ0VfU0VUV0lORE9XLAkiUFRSQUNFX1NFVFdJTkRPVyIJfSwKKyMgICBlbHNlIC8qICFTUEFSQyAqLworCXsgUFRSQUNFXzIyLAkJIlBUUkFDRV8yMiIJCX0sCisJeyBQVFJBQ0VfMjMsCQkiUFRSQUNFXzMiCQl9LAorIyAgIGVuZGlmIC8qICFTUEFSQyAqLworIyAgZW5kaWYgLyogU1VOT1M0ICovCisJeyBQVFJBQ0VfU1lTQ0FMTCwJIlBUUkFDRV9TWVNDQUxMIgl9LAorIyAgaWZkZWYgU1VOT1M0CisJeyBQVFJBQ0VfRFVNUENPUkUsCSJQVFJBQ0VfRFVNUENPUkUiCX0sCisjICAgaWZkZWYgSTM4NgorCXsgUFRSQUNFX1NFVFdSQktQVCwJIlBUUkFDRV9TRVRXUkJLUFQiCX0sCisJeyBQVFJBQ0VfU0VUQUNCS1BULAkiUFRSQUNFX1NFVEFDQktQVCIJfSwKKwl7IFBUUkFDRV9DTFJEUjcsCSJQVFJBQ0VfQ0xSRFI3IgkJfSwKKyMgICBlbHNlIC8qICFJMzg2ICovCisJeyBQVFJBQ0VfMjYsCQkiUFRSQUNFXzI2IgkJfSwKKwl7IFBUUkFDRV8yNywJCSJQVFJBQ0VfMjciCQl9LAorCXsgUFRSQUNFXzI4LAkJIlBUUkFDRV8yOCIJCX0sCisjICAgZW5kaWYgLyogIUkzODYgKi8KKwl7IFBUUkFDRV9HRVRVQ09ERSwJIlBUUkFDRV9HRVRVQ09ERSIJfSwKKyMgIGVuZGlmIC8qIFNVTk9TNCAqLworCisjIGVsc2UgLyogRlJFRUJTRCAqLworCisJeyBQVF9UUkFDRV9NRSwJCSJQVF9UUkFDRV9NRSIJCX0sCisJeyBQVF9SRUFEX0ksCQkiUFRfUkVBRF9JIgkJfSwKKwl7IFBUX1JFQURfRCwJCSJQVF9SRUFEX0QiCQl9LAorCXsgUFRfV1JJVEVfSSwJCSJQVF9XUklURV9JIgkJfSwKKwl7IFBUX1dSSVRFX0QsCQkiUFRfV1JJVEVfRCIJCX0sCisjICBpZmRlZiBQVF9SRUFEX1UKKwl7IFBUX1JFQURfVSwJCSJQVF9SRUFEX1UiCQl9LAorIyAgZW5kaWYKKwl7IFBUX0NPTlRJTlVFLAkJIlBUX0NPTlRJTlVFIgkJfSwKKwl7IFBUX0tJTEwsCQkiUFRfS0lMTCIJCX0sCisJeyBQVF9TVEVQLAkJIlBUX1NURVAiCQl9LAorCXsgUFRfQVRUQUNILAkJIlBUX0FUVEFDSCIJCX0sCisJeyBQVF9ERVRBQ0gsCQkiUFRfREVUQUNIIgkJfSwKKwl7IFBUX0dFVFJFR1MsCQkiUFRfR0VUUkVHUyIJCX0sCisJeyBQVF9TRVRSRUdTLAkJIlBUX1NFVFJFR1MiCQl9LAorCXsgUFRfR0VURlBSRUdTLAkJIlBUX0dFVEZQUkVHUyIJCX0sCisJeyBQVF9TRVRGUFJFR1MsCQkiUFRfU0VURlBSRUdTIgkJfSwKKwl7IFBUX0dFVERCUkVHUywJCSJQVF9HRVREQlJFR1MiCQl9LAorCXsgUFRfU0VUREJSRUdTLAkJIlBUX1NFVERCUkVHUyIJCX0sCisjIGVuZGlmIC8qIEZSRUVCU0QgKi8KKwl7IDAsCQkJTlVMTAkJCX0sCit9OworCisjIGlmbmRlZiBGUkVFQlNECisjICBpZmRlZiBQVFJBQ0VfU0VUT1BUSU9OUworc3RhdGljIGNvbnN0IHN0cnVjdCB4bGF0IHB0cmFjZV9zZXRvcHRpb25zX2ZsYWdzW10gPSB7CisjICAgaWZkZWYgUFRSQUNFX09fVFJBQ0VTWVNHT09ECisJeyBQVFJBQ0VfT19UUkFDRVNZU0dPT0QsIlBUUkFDRV9PX1RSQUNFU1lTR09PRCIJfSwKKyMgICBlbmRpZgorIyAgIGlmZGVmIFBUUkFDRV9PX1RSQUNFRk9SSworCXsgUFRSQUNFX09fVFJBQ0VGT1JLLAkiUFRSQUNFX09fVFJBQ0VGT1JLIgl9LAorIyAgIGVuZGlmCisjICAgaWZkZWYgUFRSQUNFX09fVFJBQ0VWRk9SSworCXsgUFRSQUNFX09fVFJBQ0VWRk9SSywJIlBUUkFDRV9PX1RSQUNFVkZPUksiCX0sCisjICAgZW5kaWYKKyMgICBpZmRlZiBQVFJBQ0VfT19UUkFDRUNMT05FCisJeyBQVFJBQ0VfT19UUkFDRUNMT05FLAkiUFRSQUNFX09fVFJBQ0VDTE9ORSIJfSwKKyMgICBlbmRpZgorIyAgIGlmZGVmIFBUUkFDRV9PX1RSQUNFRVhFQworCXsgUFRSQUNFX09fVFJBQ0VFWEVDLAkiUFRSQUNFX09fVFJBQ0VFWEVDIgl9LAorIyAgIGVuZGlmCisjICAgaWZkZWYgUFRSQUNFX09fVFJBQ0VWRk9SS0RPTkUKKwl7IFBUUkFDRV9PX1RSQUNFVkZPUktET05FLCJQVFJBQ0VfT19UUkFDRVZGT1JLRE9ORSJ9LAorIyAgIGVuZGlmCisjICAgaWZkZWYgUFRSQUNFX09fVFJBQ0VFWElUCisJeyBQVFJBQ0VfT19UUkFDRUVYSVQsCSJQVFJBQ0VfT19UUkFDRUVYSVQiCX0sCisjICAgZW5kaWYKKwl7IDAsCQkJTlVMTAkJCX0sCit9OworIyAgZW5kaWYgLyogUFRSQUNFX1NFVE9QVElPTlMgKi8KKyMgZW5kaWYgLyogIUZSRUVCU0QgKi8KKworIyBpZm5kZWYgRlJFRUJTRAorY29uc3Qgc3RydWN0IHhsYXQgc3RydWN0X3VzZXJfb2Zmc2V0c1tdID0geworIyAgaWZkZWYgTElOVVgKKyMgICBpZiBkZWZpbmVkKFMzOTApIHx8IGRlZmluZWQoUzM5MFgpCisJeyBQVF9QU1dNQVNLLAkJInBzd19tYXNrIgkJCQl9LAorCXsgUFRfUFNXQUREUiwJCSJwc3dfYWRkciIJCQkJfSwKKwl7IFBUX0dQUjAsCQkiZ3ByMCIJCQkJCX0sCisJeyBQVF9HUFIxLAkJImdwcjEiCQkJCQl9LAorCXsgUFRfR1BSMiwJCSJncHIyIgkJCQkJfSwKKwl7IFBUX0dQUjMsCQkiZ3ByMyIJCQkJCX0sCisJeyBQVF9HUFI0LAkJImdwcjQiCQkJCQl9LAorCXsgUFRfR1BSNSwJCSJncHI1IgkJCQkJfSwKKwl7IFBUX0dQUjYsCQkiZ3ByNiIJCQkJCX0sCisJeyBQVF9HUFI3LAkJImdwcjciCQkJCQl9LAorCXsgUFRfR1BSOCwJCSJncHI4IgkJCQkJfSwKKwl7IFBUX0dQUjksCQkiZ3ByOSIJCQkJCX0sCisJeyBQVF9HUFIxMCwJCSJncHIxMCIJCQkJCX0sCisJeyBQVF9HUFIxMSwJCSJncHIxMSIJCQkJCX0sCisJeyBQVF9HUFIxMiwJCSJncHIxMiIJCQkJCX0sCisJeyBQVF9HUFIxMywJCSJncHIxMyIJCQkJCX0sCisJeyBQVF9HUFIxNCwJCSJncHIxNCIJCQkJCX0sCisJeyBQVF9HUFIxNSwJCSJncHIxNSIJCQkJCX0sCisJeyBQVF9BQ1IwLAkJImFjcjAiCQkJCQl9LAorCXsgUFRfQUNSMSwJCSJhY3IxIgkJCQkJfSwKKwl7IFBUX0FDUjIsCQkiYWNyMiIJCQkJCX0sCisJeyBQVF9BQ1IzLAkJImFjcjMiCQkJCQl9LAorCXsgUFRfQUNSNCwJCSJhY3I0IgkJCQkJfSwKKwl7IFBUX0FDUjUsCQkiYWNyNSIJCQkJCX0sCisJeyBQVF9BQ1I2LAkJImFjcjYiCQkJCQl9LAorCXsgUFRfQUNSNywJCSJhY3I3IgkJCQkJfSwKKwl7IFBUX0FDUjgsCQkiYWNyOCIJCQkJCX0sCisJeyBQVF9BQ1I5LAkJImFjcjkiCQkJCQl9LAorCXsgUFRfQUNSMTAsCQkiYWNyMTAiCQkJCQl9LAorCXsgUFRfQUNSMTEsCQkiYWNyMTEiCQkJCQl9LAorCXsgUFRfQUNSMTIsCQkiYWNyMTIiCQkJCQl9LAorCXsgUFRfQUNSMTMsCQkiYWNyMTMiCQkJCQl9LAorCXsgUFRfQUNSMTQsCQkiYWNyMTQiCQkJCQl9LAorCXsgUFRfQUNSMTUsCQkiYWNyMTUiCQkJCQl9LAorCXsgUFRfT1JJR0dQUjIsCQkib3JpZ19ncHIyIgkJCQl9LAorCXsgUFRfRlBDLAkJImZwYyIJCQkJCX0sCisjICAgIGlmIGRlZmluZWQoUzM5MCkKKwl7IFBUX0ZQUjBfSEksCQkiZnByMC5oaSIJCQkJfSwKKwl7IFBUX0ZQUjBfTE8sCQkiZnByMC5sbyIJCQkJfSwKKwl7IFBUX0ZQUjFfSEksCQkiZnByMS5oaSIJCQkJfSwKKwl7IFBUX0ZQUjFfTE8sCQkiZnByMS5sbyIJCQkJfSwKKwl7IFBUX0ZQUjJfSEksCQkiZnByMi5oaSIJCQkJfSwKKwl7IFBUX0ZQUjJfTE8sCQkiZnByMi5sbyIJCQkJfSwKKwl7IFBUX0ZQUjNfSEksCQkiZnByMy5oaSIJCQkJfSwKKwl7IFBUX0ZQUjNfTE8sCQkiZnByMy5sbyIJCQkJfSwKKwl7IFBUX0ZQUjRfSEksCQkiZnByNC5oaSIJCQkJfSwKKwl7IFBUX0ZQUjRfTE8sCQkiZnByNC5sbyIJCQkJfSwKKwl7IFBUX0ZQUjVfSEksCQkiZnByNS5oaSIJCQkJfSwKKwl7IFBUX0ZQUjVfTE8sCQkiZnByNS5sbyIJCQkJfSwKKwl7IFBUX0ZQUjZfSEksCQkiZnByNi5oaSIJCQkJfSwKKwl7IFBUX0ZQUjZfTE8sCQkiZnByNi5sbyIJCQkJfSwKKwl7IFBUX0ZQUjdfSEksCQkiZnByNy5oaSIJCQkJfSwKKwl7IFBUX0ZQUjdfTE8sCQkiZnByNy5sbyIJCQkJfSwKKwl7IFBUX0ZQUjhfSEksCQkiZnByOC5oaSIJCQkJfSwKKwl7IFBUX0ZQUjhfTE8sCQkiZnByOC5sbyIJCQkJfSwKKwl7IFBUX0ZQUjlfSEksCQkiZnByOS5oaSIJCQkJfSwKKwl7IFBUX0ZQUjlfTE8sCQkiZnByOS5sbyIJCQkJfSwKKwl7IFBUX0ZQUjEwX0hJLAkJImZwcjEwLmhpIgkJCQl9LAorCXsgUFRfRlBSMTBfTE8sCQkiZnByMTAubG8iCQkJCX0sCisJeyBQVF9GUFIxMV9ISSwJCSJmcHIxMS5oaSIJCQkJfSwKKwl7IFBUX0ZQUjExX0xPLAkJImZwcjExLmxvIgkJCQl9LAorCXsgUFRfRlBSMTJfSEksCQkiZnByMTIuaGkiCQkJCX0sCisJeyBQVF9GUFIxMl9MTywJCSJmcHIxMi5sbyIJCQkJfSwKKwl7IFBUX0ZQUjEzX0hJLAkJImZwcjEzLmhpIgkJCQl9LAorCXsgUFRfRlBSMTNfTE8sCQkiZnByMTMubG8iCQkJCX0sCisJeyBQVF9GUFIxNF9ISSwJCSJmcHIxNC5oaSIJCQkJfSwKKwl7IFBUX0ZQUjE0X0xPLAkJImZwcjE0LmxvIgkJCQl9LAorCXsgUFRfRlBSMTVfSEksCQkiZnByMTUuaGkiCQkJCX0sCisJeyBQVF9GUFIxNV9MTywJCSJmcHIxNS5sbyIJCQkJfSwKKyMgICAgZW5kaWYKKyMgICAgaWYgZGVmaW5lZChTMzkwWCkKKwl7IFBUX0ZQUjAsCQkiZnByMCIJCQkJCX0sCisJeyBQVF9GUFIxLAkJImZwcjEiCQkJCQl9LAorCXsgUFRfRlBSMiwJCSJmcHIyIgkJCQkJfSwKKwl7IFBUX0ZQUjMsCQkiZnByMyIJCQkJCX0sCisJeyBQVF9GUFI0LAkJImZwcjQiCQkJCQl9LAorCXsgUFRfRlBSNSwJCSJmcHI1IgkJCQkJfSwKKwl7IFBUX0ZQUjYsCQkiZnByNiIJCQkJCX0sCisJeyBQVF9GUFI3LAkJImZwcjciCQkJCQl9LAorCXsgUFRfRlBSOCwJCSJmcHI4IgkJCQkJfSwKKwl7IFBUX0ZQUjksCQkiZnByOSIJCQkJCX0sCisJeyBQVF9GUFIxMCwJCSJmcHIxMCIJCQkJCX0sCisJeyBQVF9GUFIxMSwJCSJmcHIxMSIJCQkJCX0sCisJeyBQVF9GUFIxMiwJCSJmcHIxMiIJCQkJCX0sCisJeyBQVF9GUFIxMywJCSJmcHIxMyIJCQkJCX0sCisJeyBQVF9GUFIxNCwJCSJmcHIxNCIJCQkJCX0sCisJeyBQVF9GUFIxNSwJCSJmcHIxNSIJCQkJCX0sCisjICAgIGVuZGlmCisJeyBQVF9DUl85LAkJImNyOSIJCQkJCX0sCisJeyBQVF9DUl8xMCwJCSJjcjEwIgkJCQkJfSwKKwl7IFBUX0NSXzExLAkJImNyMTEiCQkJCQl9LAorCXsgUFRfSUVFRV9JUCwgICAgICAgICAgICJpZWVlX2V4Y2VwdGlvbl9pcCIgICAgICAgICAgICAgICAgICAgICB9LAorIyAgIGVsaWYgZGVmaW5lZChTUEFSQykKKwkvKiBYWFggTm8gc3VwcG9ydCBmb3IgdGhlc2Ugb2Zmc2V0cyB5ZXQuICovCisjICAgZWxpZiBkZWZpbmVkKEhQUEEpCisJLyogWFhYIE5vIHN1cHBvcnQgZm9yIHRoZXNlIG9mZnNldHMgeWV0LiAqLworIyAgIGVsaWYgZGVmaW5lZChQT1dFUlBDKQorIyAgICBpZm5kZWYgUFRfT1JJR19SMworIyAgICAgZGVmaW5lIFBUX09SSUdfUjMgMzQKKyMgICAgZW5kaWYKKyMgICAgZGVmaW5lIFJFR1NJWkUgKHNpemVvZih1bnNpZ25lZCBsb25nKSkKKwl7IFJFR1NJWkUqUFRfUjAsCQkicjAiCQkJCX0sCisJeyBSRUdTSVpFKlBUX1IxLAkJInIxIgkJCQl9LAorCXsgUkVHU0laRSpQVF9SMiwJCSJyMiIJCQkJfSwKKwl7IFJFR1NJWkUqUFRfUjMsCQkicjMiCQkJCX0sCisJeyBSRUdTSVpFKlBUX1I0LAkJInI0IgkJCQl9LAorCXsgUkVHU0laRSpQVF9SNSwJCSJyNSIJCQkJfSwKKwl7IFJFR1NJWkUqUFRfUjYsCQkicjYiCQkJCX0sCisJeyBSRUdTSVpFKlBUX1I3LAkJInI3IgkJCQl9LAorCXsgUkVHU0laRSpQVF9SOCwJCSJyOCIJCQkJfSwKKwl7IFJFR1NJWkUqUFRfUjksCQkicjkiCQkJCX0sCisJeyBSRUdTSVpFKlBUX1IxMCwJCSJyMTAiCQkJCX0sCisJeyBSRUdTSVpFKlBUX1IxMSwJCSJyMTEiCQkJCX0sCisJeyBSRUdTSVpFKlBUX1IxMiwJCSJyMTIiCQkJCX0sCisJeyBSRUdTSVpFKlBUX1IxMywJCSJyMTMiCQkJCX0sCisJeyBSRUdTSVpFKlBUX1IxNCwJCSJyMTQiCQkJCX0sCisJeyBSRUdTSVpFKlBUX1IxNSwJCSJyMTUiCQkJCX0sCisJeyBSRUdTSVpFKlBUX1IxNiwJCSJyMTYiCQkJCX0sCisJeyBSRUdTSVpFKlBUX1IxNywJCSJyMTciCQkJCX0sCisJeyBSRUdTSVpFKlBUX1IxOCwJCSJyMTgiCQkJCX0sCisJeyBSRUdTSVpFKlBUX1IxOSwJCSJyMTkiCQkJCX0sCisJeyBSRUdTSVpFKlBUX1IyMCwJCSJyMjAiCQkJCX0sCisJeyBSRUdTSVpFKlBUX1IyMSwJCSJyMjEiCQkJCX0sCisJeyBSRUdTSVpFKlBUX1IyMiwJCSJyMjIiCQkJCX0sCisJeyBSRUdTSVpFKlBUX1IyMywJCSJyMjMiCQkJCX0sCisJeyBSRUdTSVpFKlBUX1IyNCwJCSJyMjQiCQkJCX0sCisJeyBSRUdTSVpFKlBUX1IyNSwJCSJyMjUiCQkJCX0sCisJeyBSRUdTSVpFKlBUX1IyNiwJCSJyMjYiCQkJCX0sCisJeyBSRUdTSVpFKlBUX1IyNywJCSJyMjciCQkJCX0sCisJeyBSRUdTSVpFKlBUX1IyOCwJCSJyMjgiCQkJCX0sCisJeyBSRUdTSVpFKlBUX1IyOSwJCSJyMjkiCQkJCX0sCisJeyBSRUdTSVpFKlBUX1IzMCwJCSJyMzAiCQkJCX0sCisJeyBSRUdTSVpFKlBUX1IzMSwJCSJyMzEiCQkJCX0sCisJeyBSRUdTSVpFKlBUX05JUCwJCSJOSVAiCQkJCX0sCisJeyBSRUdTSVpFKlBUX01TUiwJCSJNU1IiCQkJCX0sCisJeyBSRUdTSVpFKlBUX09SSUdfUjMsCQkiT1JJR19SMyIJCQl9LAorCXsgUkVHU0laRSpQVF9DVFIsCQkiQ1RSIgkJCQl9LAorCXsgUkVHU0laRSpQVF9MTkssCQkiTE5LIgkJCQl9LAorCXsgUkVHU0laRSpQVF9YRVIsCQkiWEVSIgkJCQl9LAorCXsgUkVHU0laRSpQVF9DQ1IsCQkiQ0NSIgkJCQl9LAorCXsgUkVHU0laRSpQVF9GUFIwLAkJIkZQUjAiCQkJCX0sCisjICAgIHVuZGVmIFJFR1NJWkUKKyMgICBlbGlmIGRlZmluZWQoQUxQSEEpCisJeyAwLAkJCSJyMCIJCQkJCX0sCisJeyAxLAkJCSJyMSIJCQkJCX0sCisJeyAyLAkJCSJyMiIJCQkJCX0sCisJeyAzLAkJCSJyMyIJCQkJCX0sCisJeyA0LAkJCSJyNCIJCQkJCX0sCisJeyA1LAkJCSJyNSIJCQkJCX0sCisJeyA2LAkJCSJyNiIJCQkJCX0sCisJeyA3LAkJCSJyNyIJCQkJCX0sCisJeyA4LAkJCSJyOCIJCQkJCX0sCisJeyA5LAkJCSJyOSIJCQkJCX0sCisJeyAxMCwJCQkicjEwIgkJCQkJfSwKKwl7IDExLAkJCSJyMTEiCQkJCQl9LAorCXsgMTIsCQkJInIxMiIJCQkJCX0sCisJeyAxMywJCQkicjEzIgkJCQkJfSwKKwl7IDE0LAkJCSJyMTQiCQkJCQl9LAorCXsgMTUsCQkJInIxNSIJCQkJCX0sCisJeyAxNiwJCQkicjE2IgkJCQkJfSwKKwl7IDE3LAkJCSJyMTciCQkJCQl9LAorCXsgMTgsCQkJInIxOCIJCQkJCX0sCisJeyAxOSwJCQkicjE5IgkJCQkJfSwKKwl7IDIwLAkJCSJyMjAiCQkJCQl9LAorCXsgMjEsCQkJInIyMSIJCQkJCX0sCisJeyAyMiwJCQkicjIyIgkJCQkJfSwKKwl7IDIzLAkJCSJyMjMiCQkJCQl9LAorCXsgMjQsCQkJInIyNCIJCQkJCX0sCisJeyAyNSwJCQkicjI1IgkJCQkJfSwKKwl7IDI2LAkJCSJyMjYiCQkJCQl9LAorCXsgMjcsCQkJInIyNyIJCQkJCX0sCisJeyAyOCwJCQkicjI4IgkJCQkJfSwKKwl7IDI5LAkJCSJncCIJCQkJCX0sCisJeyAzMCwJCQkiZnAiCQkJCQl9LAorCXsgMzEsCQkJInplcm8iCQkJCQl9LAorCXsgMzIsCQkJImZwMCIJCQkJCX0sCisJeyAzMywJCQkiZnAiCQkJCQl9LAorCXsgMzQsCQkJImZwMiIJCQkJCX0sCisJeyAzNSwJCQkiZnAzIgkJCQkJfSwKKwl7IDM2LAkJCSJmcDQiCQkJCQl9LAorCXsgMzcsCQkJImZwNSIJCQkJCX0sCisJeyAzOCwJCQkiZnA2IgkJCQkJfSwKKwl7IDM5LAkJCSJmcDciCQkJCQl9LAorCXsgNDAsCQkJImZwOCIJCQkJCX0sCisJeyA0MSwJCQkiZnA5IgkJCQkJfSwKKwl7IDQyLAkJCSJmcDEwIgkJCQkJfSwKKwl7IDQzLAkJCSJmcDExIgkJCQkJfSwKKwl7IDQ0LAkJCSJmcDEyIgkJCQkJfSwKKwl7IDQ1LAkJCSJmcDEzIgkJCQkJfSwKKwl7IDQ2LAkJCSJmcDE0IgkJCQkJfSwKKwl7IDQ3LAkJCSJmcDE1IgkJCQkJfSwKKwl7IDQ4LAkJCSJmcDE2IgkJCQkJfSwKKwl7IDQ5LAkJCSJmcDE3IgkJCQkJfSwKKwl7IDUwLAkJCSJmcDE4IgkJCQkJfSwKKwl7IDUxLAkJCSJmcDE5IgkJCQkJfSwKKwl7IDUyLAkJCSJmcDIwIgkJCQkJfSwKKwl7IDUzLAkJCSJmcDIxIgkJCQkJfSwKKwl7IDU0LAkJCSJmcDIyIgkJCQkJfSwKKwl7IDU1LAkJCSJmcDIzIgkJCQkJfSwKKwl7IDU2LAkJCSJmcDI0IgkJCQkJfSwKKwl7IDU3LAkJCSJmcDI1IgkJCQkJfSwKKwl7IDU4LAkJCSJmcDI2IgkJCQkJfSwKKwl7IDU5LAkJCSJmcDI3IgkJCQkJfSwKKwl7IDYwLAkJCSJmcDI4IgkJCQkJfSwKKwl7IDYxLAkJCSJmcDI5IgkJCQkJfSwKKwl7IDYyLAkJCSJmcDMwIgkJCQkJfSwKKwl7IDYzLAkJCSJmcDMxIgkJCQkJfSwKKwl7IDY0LAkJCSJwYyIJCQkJCX0sCisjICAgZWxpZiBkZWZpbmVkKElBNjQpCisJeyBQVF9GMzIsICJmMzIiIH0sIHsgUFRfRjMzLCAiZjMzIiB9LCB7IFBUX0YzNCwgImYzNCIgfSwKKwl7IFBUX0YzNSwgImYzNSIgfSwgeyBQVF9GMzYsICJmMzYiIH0sIHsgUFRfRjM3LCAiZjM3IiB9LAorCXsgUFRfRjM4LCAiZjM4IiB9LCB7IFBUX0YzOSwgImYzOSIgfSwgeyBQVF9GNDAsICJmNDAiIH0sCisJeyBQVF9GNDEsICJmNDEiIH0sIHsgUFRfRjQyLCAiZjQyIiB9LCB7IFBUX0Y0MywgImY0MyIgfSwKKwl7IFBUX0Y0NCwgImY0NCIgfSwgeyBQVF9GNDUsICJmNDUiIH0sIHsgUFRfRjQ2LCAiZjQ2IiB9LAorCXsgUFRfRjQ3LCAiZjQ3IiB9LCB7IFBUX0Y0OCwgImY0OCIgfSwgeyBQVF9GNDksICJmNDkiIH0sCisJeyBQVF9GNTAsICJmNTAiIH0sIHsgUFRfRjUxLCAiZjUxIiB9LCB7IFBUX0Y1MiwgImY1MiIgfSwKKwl7IFBUX0Y1MywgImY1MyIgfSwgeyBQVF9GNTQsICJmNTQiIH0sIHsgUFRfRjU1LCAiZjU1IiB9LAorCXsgUFRfRjU2LCAiZjU2IiB9LCB7IFBUX0Y1NywgImY1NyIgfSwgeyBQVF9GNTgsICJmNTgiIH0sCisJeyBQVF9GNTksICJmNTkiIH0sIHsgUFRfRjYwLCAiZjYwIiB9LCB7IFBUX0Y2MSwgImY2MSIgfSwKKwl7IFBUX0Y2MiwgImY2MiIgfSwgeyBQVF9GNjMsICJmNjMiIH0sIHsgUFRfRjY0LCAiZjY0IiB9LAorCXsgUFRfRjY1LCAiZjY1IiB9LCB7IFBUX0Y2NiwgImY2NiIgfSwgeyBQVF9GNjcsICJmNjciIH0sCisJeyBQVF9GNjgsICJmNjgiIH0sIHsgUFRfRjY5LCAiZjY5IiB9LCB7IFBUX0Y3MCwgImY3MCIgfSwKKwl7IFBUX0Y3MSwgImY3MSIgfSwgeyBQVF9GNzIsICJmNzIiIH0sIHsgUFRfRjczLCAiZjczIiB9LAorCXsgUFRfRjc0LCAiZjc0IiB9LCB7IFBUX0Y3NSwgImY3NSIgfSwgeyBQVF9GNzYsICJmNzYiIH0sCisJeyBQVF9GNzcsICJmNzciIH0sIHsgUFRfRjc4LCAiZjc4IiB9LCB7IFBUX0Y3OSwgImY3OSIgfSwKKwl7IFBUX0Y4MCwgImY4MCIgfSwgeyBQVF9GODEsICJmODEiIH0sIHsgUFRfRjgyLCAiZjgyIiB9LAorCXsgUFRfRjgzLCAiZjgzIiB9LCB7IFBUX0Y4NCwgImY4NCIgfSwgeyBQVF9GODUsICJmODUiIH0sCisJeyBQVF9GODYsICJmODYiIH0sIHsgUFRfRjg3LCAiZjg3IiB9LCB7IFBUX0Y4OCwgImY4OCIgfSwKKwl7IFBUX0Y4OSwgImY4OSIgfSwgeyBQVF9GOTAsICJmOTAiIH0sIHsgUFRfRjkxLCAiZjkxIiB9LAorCXsgUFRfRjkyLCAiZjkyIiB9LCB7IFBUX0Y5MywgImY5MyIgfSwgeyBQVF9GOTQsICJmOTQiIH0sCisJeyBQVF9GOTUsICJmOTUiIH0sIHsgUFRfRjk2LCAiZjk2IiB9LCB7IFBUX0Y5NywgImY5NyIgfSwKKwl7IFBUX0Y5OCwgImY5OCIgfSwgeyBQVF9GOTksICJmOTkiIH0sIHsgUFRfRjEwMCwgImYxMDAiIH0sCisJeyBQVF9GMTAxLCAiZjEwMSIgfSwgeyBQVF9GMTAyLCAiZjEwMiIgfSwgeyBQVF9GMTAzLCAiZjEwMyIgfSwKKwl7IFBUX0YxMDQsICJmMTA0IiB9LCB7IFBUX0YxMDUsICJmMTA1IiB9LCB7IFBUX0YxMDYsICJmMTA2IiB9LAorCXsgUFRfRjEwNywgImYxMDciIH0sIHsgUFRfRjEwOCwgImYxMDgiIH0sIHsgUFRfRjEwOSwgImYxMDkiIH0sCisJeyBQVF9GMTEwLCAiZjExMCIgfSwgeyBQVF9GMTExLCAiZjExMSIgfSwgeyBQVF9GMTEyLCAiZjExMiIgfSwKKwl7IFBUX0YxMTMsICJmMTEzIiB9LCB7IFBUX0YxMTQsICJmMTE0IiB9LCB7IFBUX0YxMTUsICJmMTE1IiB9LAorCXsgUFRfRjExNiwgImYxMTYiIH0sIHsgUFRfRjExNywgImYxMTciIH0sIHsgUFRfRjExOCwgImYxMTgiIH0sCisJeyBQVF9GMTE5LCAiZjExOSIgfSwgeyBQVF9GMTIwLCAiZjEyMCIgfSwgeyBQVF9GMTIxLCAiZjEyMSIgfSwKKwl7IFBUX0YxMjIsICJmMTIyIiB9LCB7IFBUX0YxMjMsICJmMTIzIiB9LCB7IFBUX0YxMjQsICJmMTI0IiB9LAorCXsgUFRfRjEyNSwgImYxMjUiIH0sIHsgUFRfRjEyNiwgImYxMjYiIH0sIHsgUFRfRjEyNywgImYxMjciIH0sCisJLyogc3dpdGNoIHN0YWNrOiAqLworCXsgUFRfRjIsICJmMiIgfSwgeyBQVF9GMywgImYzIiB9LCB7IFBUX0Y0LCAiZjQiIH0sCisJeyBQVF9GNSwgImY1IiB9LCB7IFBUX0YxMCwgImYxMCIgfSwgeyBQVF9GMTEsICJmMTEiIH0sCisJeyBQVF9GMTIsICJmMTIiIH0sIHsgUFRfRjEzLCAiZjEzIiB9LCB7IFBUX0YxNCwgImYxNCIgfSwKKwl7IFBUX0YxNSwgImYxNSIgfSwgeyBQVF9GMTYsICJmMTYiIH0sIHsgUFRfRjE3LCAiZjE3IiB9LAorCXsgUFRfRjE4LCAiZjE4IiB9LCB7IFBUX0YxOSwgImYxOSIgfSwgeyBQVF9GMjAsICJmMjAiIH0sCisJeyBQVF9GMjEsICJmMjEiIH0sIHsgUFRfRjIyLCAiZjIyIiB9LCB7IFBUX0YyMywgImYyMyIgfSwKKwl7IFBUX0YyNCwgImYyNCIgfSwgeyBQVF9GMjUsICJmMjUiIH0sIHsgUFRfRjI2LCAiZjI2IiB9LAorCXsgUFRfRjI3LCAiZjI3IiB9LCB7IFBUX0YyOCwgImYyOCIgfSwgeyBQVF9GMjksICJmMjkiIH0sCisJeyBQVF9GMzAsICJmMzAiIH0sIHsgUFRfRjMxLCAiZjMxIiB9LCB7IFBUX1I0LCAicjQiIH0sCisJeyBQVF9SNSwgInI1IiB9LCB7IFBUX1I2LCAicjYiIH0sIHsgUFRfUjcsICJyNyIgfSwKKwl7IFBUX0IxLCAiYjEiIH0sIHsgUFRfQjIsICJiMiIgfSwgeyBQVF9CMywgImIzIiB9LAorCXsgUFRfQjQsICJiNCIgfSwgeyBQVF9CNSwgImI1IiB9LAorCXsgUFRfQVJfRUMsICJhci5lYyIgfSwgeyBQVF9BUl9MQywgImFyLmxjIiB9LAorCS8qIHB0X3JlZ3MgKi8KKwl7IFBUX0NSX0lQU1IsICJwc3IiIH0sIHsgUFRfQ1JfSUlQLCAiaXAiIH0sCisJeyBQVF9DRk0sICJjZm0iIH0sIHsgUFRfQVJfVU5BVCwgImFyLnVuYXQiIH0sCisJeyBQVF9BUl9QRlMsICJhci5wZnMiIH0sIHsgUFRfQVJfUlNDLCAiYXIucnNjIiB9LAorCXsgUFRfQVJfUk5BVCwgImFyLnJuYXQiIH0sIHsgUFRfQVJfQlNQU1RPUkUsICJhci5ic3BzdG9yZSIgfSwKKwl7IFBUX1BSLCAicHIiIH0sIHsgUFRfQjYsICJiNiIgfSwgeyBQVF9BUl9CU1AsICJhci5ic3AiIH0sCisJeyBQVF9SMSwgInIxIiB9LCB7IFBUX1IyLCAicjIiIH0sIHsgUFRfUjMsICJyMyIgfSwKKwl7IFBUX1IxMiwgInIxMiIgfSwgeyBQVF9SMTMsICJyMTMiIH0sIHsgUFRfUjE0LCAicjE0IiB9LAorCXsgUFRfUjE1LCAicjE1IiB9LCB7IFBUX1I4LCAicjgiIH0sIHsgUFRfUjksICJyOSIgfSwKKwl7IFBUX1IxMCwgInIxMCIgfSwgeyBQVF9SMTEsICJyMTEiIH0sIHsgUFRfUjE2LCAicjE2IiB9LAorCXsgUFRfUjE3LCAicjE3IiB9LCB7IFBUX1IxOCwgInIxOCIgfSwgeyBQVF9SMTksICJyMTkiIH0sCisJeyBQVF9SMjAsICJyMjAiIH0sIHsgUFRfUjIxLCAicjIxIiB9LCB7IFBUX1IyMiwgInIyMiIgfSwKKwl7IFBUX1IyMywgInIyMyIgfSwgeyBQVF9SMjQsICJyMjQiIH0sIHsgUFRfUjI1LCAicjI1IiB9LAorCXsgUFRfUjI2LCAicjI2IiB9LCB7IFBUX1IyNywgInIyNyIgfSwgeyBQVF9SMjgsICJyMjgiIH0sCisJeyBQVF9SMjksICJyMjkiIH0sIHsgUFRfUjMwLCAicjMwIiB9LCB7IFBUX1IzMSwgInIzMSIgfSwKKwl7IFBUX0FSX0NDViwgImFyLmNjdiIgfSwgeyBQVF9BUl9GUFNSLCAiYXIuZnBzciIgfSwKKwl7IFBUX0IwLCAiYjAiIH0sIHsgUFRfQjcsICJiNyIgfSwgeyBQVF9GNiwgImY2IiB9LAorCXsgUFRfRjcsICJmNyIgfSwgeyBQVF9GOCwgImY4IiB9LCB7IFBUX0Y5LCAiZjkiIH0sCisjICAgIGlmZGVmIFBUX0FSX0NTRAorCXsgUFRfQVJfQ1NELCAiYXIuY3NkIiB9LAorIyAgICBlbmRpZgorIyAgICBpZmRlZiBQVF9BUl9TU0QKKwl7IFBUX0FSX1NTRCwgImFyLnNzZCIgfSwKKyMgICAgZW5kaWYKKwl7IFBUX0RCUiwgImRiciIgfSwgeyBQVF9JQlIsICJpYnIiIH0sIHsgUFRfUE1ELCAicG1kIiB9LAorIyAgIGVsaWYgZGVmaW5lZChJMzg2KQorCXsgNCpFQlgsCQkiNCpFQlgiCQkJCQl9LAorCXsgNCpFQ1gsCQkiNCpFQ1giCQkJCQl9LAorCXsgNCpFRFgsCQkiNCpFRFgiCQkJCQl9LAorCXsgNCpFU0ksCQkiNCpFU0kiCQkJCQl9LAorCXsgNCpFREksCQkiNCpFREkiCQkJCQl9LAorCXsgNCpFQlAsCQkiNCpFQlAiCQkJCQl9LAorCXsgNCpFQVgsCQkiNCpFQVgiCQkJCQl9LAorCXsgNCpEUywJCQkiNCpEUyIJCQkJCX0sCisJeyA0KkVTLAkJCSI0KkVTIgkJCQkJfSwKKwl7IDQqRlMsCQkJIjQqRlMiCQkJCQl9LAorCXsgNCpHUywJCQkiNCpHUyIJCQkJCX0sCisJeyA0Kk9SSUdfRUFYLAkJIjQqT1JJR19FQVgiCQkJCX0sCisJeyA0KkVJUCwJCSI0KkVJUCIJCQkJCX0sCisJeyA0KkNTLAkJCSI0KkNTIgkJCQkJfSwKKwl7IDQqRUZMLAkJIjQqRUZMIgkJCQkJfSwKKwl7IDQqVUVTUCwJCSI0KlVFU1AiCQkJCX0sCisJeyA0KlNTLAkJCSI0KlNTIgkJCQkJfSwKKyMgICBlbGlmIGRlZmluZWQoWDg2XzY0KQorCXsgOCpSMTUsIAkJIjgqUjE1IgkJCQkJfSwKKwl7IDgqUjE0LCAJCSI4KlIxNCIJCQkJCX0sCisJeyA4KlIxMywgCQkiOCpSMTMiCQkJCQl9LAorCXsgOCpSMTIsIAkJIjgqUjEyIgkJCQkJfSwKKwl7IDgqUkJQLAkJIjgqUkJQIgkJCQkJfSwKKwl7IDgqUkJYLAkJIjgqUkJYIgkJCQkJfSwKKwl7IDgqUjExLAkJIjgqUjExIgkJCQkJfSwKKwl7IDgqUjEwLAkJIjgqUjEwIgkJCQkJfSwKKwl7IDgqUjksCQkJIjgqUjkiCQkJCQl9LAorCXsgOCpSOCwJCQkiOCpSOCIJCQkJCX0sCisJeyA4KlJBWCwJCSI4KlJBWCIJCQkJCX0sCisJeyA4KlJDWCwJCSI4KlJDWCIJCQkJCX0sCisJeyA4KlJEWCwJCSI4KlJEWCIJCQkJCX0sCisJeyA4KlJTSSwJCSI4KlJTSSIJCQkJCX0sCisJeyA4KlJESSwJCSI4KlJESSIJCQkJCX0sCisJeyA4Kk9SSUdfUkFYLAkJIjgqT1JJR19SQVgiCQkJCX0sCisJeyA4KlJJUCwJCSI4KlJJUCIJCQkJCX0sCisJeyA4KkNTLAkJCSI4KkNTIgkJCQkJfSwKKwl7IDgqRUZMQUdTLAkJIjgqRUZMIgkJCQkJfSwKKwl7IDgqUlNQLAkJIjgqUlNQIgkJCQkJfSwKKwl7IDgqU1MsCQkJIjgqU1MiCQkJCQl9LAorIyAgIGVsaWYgZGVmaW5lZChNNjhLKQorCXsgNCpQVF9EMSwJCSI0KlBUX0QxIgkJCQl9LAorCXsgNCpQVF9EMiwJCSI0KlBUX0QyIgkJCQl9LAorCXsgNCpQVF9EMywJCSI0KlBUX0QzIgkJCQl9LAorCXsgNCpQVF9ENCwJCSI0KlBUX0Q0IgkJCQl9LAorCXsgNCpQVF9ENSwJCSI0KlBUX0Q1IgkJCQl9LAorCXsgNCpQVF9ENiwJCSI0KlBUX0Q2IgkJCQl9LAorCXsgNCpQVF9ENywJCSI0KlBUX0Q3IgkJCQl9LAorCXsgNCpQVF9BMCwJCSI0KlBUX0EwIgkJCQl9LAorCXsgNCpQVF9BMSwJCSI0KlBUX0ExIgkJCQl9LAorCXsgNCpQVF9BMiwJCSI0KlBUX0EyIgkJCQl9LAorCXsgNCpQVF9BMywJCSI0KlBUX0EzIgkJCQl9LAorCXsgNCpQVF9BNCwJCSI0KlBUX0E0IgkJCQl9LAorCXsgNCpQVF9BNSwJCSI0KlBUX0E1IgkJCQl9LAorCXsgNCpQVF9BNiwJCSI0KlBUX0E2IgkJCQl9LAorCXsgNCpQVF9EMCwJCSI0KlBUX0QwIgkJCQl9LAorCXsgNCpQVF9VU1AsCQkiNCpQVF9VU1AiCQkJCX0sCisJeyA0KlBUX09SSUdfRDAsCQkiNCpQVF9PUklHX0QwIgkJCQl9LAorCXsgNCpQVF9TUiwJCSI0KlBUX1NSIgkJCQl9LAorCXsgNCpQVF9QQywJCSI0KlBUX1BDIgkJCQl9LAorIyAgIGVsaWYgZGVmaW5lZChTSCkKKwl7IDQqUkVHX1JFRzAsICAgICAgICAgICAiNCpSRUdfUkVHMCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKwl7IDQqKFJFR19SRUcwKzEpLCAgICAgICAiNCpSRUdfUkVHMSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKwl7IDQqKFJFR19SRUcwKzIpLCAgICAgICAiNCpSRUdfUkVHMiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKwl7IDQqKFJFR19SRUcwKzMpLCAgICAgICAiNCpSRUdfUkVHMyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKwl7IDQqKFJFR19SRUcwKzQpLCAgICAgICAiNCpSRUdfUkVHNCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKwl7IDQqKFJFR19SRUcwKzUpLCAgICAgICAiNCpSRUdfUkVHNSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKwl7IDQqKFJFR19SRUcwKzYpLCAgICAgICAiNCpSRUdfUkVHNiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKwl7IDQqKFJFR19SRUcwKzcpLCAgICAgICAiNCpSRUdfUkVHNyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKwl7IDQqKFJFR19SRUcwKzgpLCAgICAgICAiNCpSRUdfUkVHOCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKwl7IDQqKFJFR19SRUcwKzkpLCAgICAgICAiNCpSRUdfUkVHOSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKwl7IDQqKFJFR19SRUcwKzEwKSwgICAgICAiNCpSRUdfUkVHMTAiICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKwl7IDQqKFJFR19SRUcwKzExKSwgICAgICAiNCpSRUdfUkVHMTEiICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKwl7IDQqKFJFR19SRUcwKzEyKSwgICAgICAiNCpSRUdfUkVHMTIiICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKwl7IDQqKFJFR19SRUcwKzEzKSwgICAgICAiNCpSRUdfUkVHMTMiICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKwl7IDQqKFJFR19SRUcwKzE0KSwgICAgICAiNCpSRUdfUkVHMTQiICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKwl7IDQqUkVHX1JFRzE1LCAgICAgICAgICAiNCpSRUdfUkVHMTUiICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKwl7IDQqUkVHX1BDLCAgICAgICAgICAgICAiNCpSRUdfUEMiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKwl7IDQqUkVHX1BSLCAgICAgICAgICAgICAiNCpSRUdfUFIiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKwl7IDQqUkVHX1NSLCAgICAgICAgICAgICAiNCpSRUdfU1IiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKwl7IDQqUkVHX0dCUiwgICAgICAgICAgICAiNCpSRUdfR0JSIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKwl7IDQqUkVHX01BQ0gsICAgICAgICAgICAiNCpSRUdfTUFDSCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKwl7IDQqUkVHX01BQ0wsICAgICAgICAgICAiNCpSRUdfTUFDTCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKwl7IDQqUkVHX1NZU0NBTEwsICAgICAgICAiNCpSRUdfU1lTQ0FMTCIgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKwl7IDQqUkVHX0ZQVUwsICAgICAgICAgICAiNCpSRUdfRlBVTCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKwl7IDQqUkVHX0ZQUkVHMCwgICAgICAgICAiNCpSRUdfRlBSRUcwIiAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKwl7IDQqKFJFR19GUFJFRzArMSksICAgICAiNCpSRUdfRlBSRUcxIiAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKwl7IDQqKFJFR19GUFJFRzArMiksICAgICAiNCpSRUdfRlBSRUcyIiAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKwl7IDQqKFJFR19GUFJFRzArMyksICAgICAiNCpSRUdfRlBSRUczIiAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKwl7IDQqKFJFR19GUFJFRzArNCksICAgICAiNCpSRUdfRlBSRUc0IiAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKwl7IDQqKFJFR19GUFJFRzArNSksICAgICAiNCpSRUdfRlBSRUc1IiAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKwl7IDQqKFJFR19GUFJFRzArNiksICAgICAiNCpSRUdfRlBSRUc2IiAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKwl7IDQqKFJFR19GUFJFRzArNyksICAgICAiNCpSRUdfRlBSRUc3IiAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKwl7IDQqKFJFR19GUFJFRzArOCksICAgICAiNCpSRUdfRlBSRUc4IiAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKwl7IDQqKFJFR19GUFJFRzArOSksICAgICAiNCpSRUdfRlBSRUc5IiAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKwl7IDQqKFJFR19GUFJFRzArMTApLCAgICAiNCpSRUdfRlBSRUcxMCIgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKwl7IDQqKFJFR19GUFJFRzArMTEpLCAgICAiNCpSRUdfRlBSRUcxMSIgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKwl7IDQqKFJFR19GUFJFRzArMTIpLCAgICAiNCpSRUdfRlBSRUcxMiIgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKwl7IDQqKFJFR19GUFJFRzArMTMpLCAgICAiNCpSRUdfRlBSRUcxMyIgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKwl7IDQqKFJFR19GUFJFRzArMTQpLCAgICAiNCpSRUdfRlBSRUcxNCIgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKwl7IDQqUkVHX0ZQUkVHMTUsICAgICAgICAiNCpSRUdfRlBSRUcxNSIgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKyMgICAgaWZkZWYgUkVHX1hEUkVHMAorCXsgNCpSRUdfWERSRUcwLCAgICAgICAgICI0KlJFR19YRFJFRzAiICAgICAgICAgICAgICAgICAgICAgICAgICB9LAorCXsgNCooUkVHX1hEUkVHMCsyKSwgICAgICI0KlJFR19YRFJFRzIiICAgICAgICAgICAgICAgICAgICAgICAgICB9LAorCXsgNCooUkVHX1hEUkVHMCs0KSwgICAgICI0KlJFR19YRFJFRzQiICAgICAgICAgICAgICAgICAgICAgICAgICB9LAorCXsgNCooUkVHX1hEUkVHMCs2KSwgICAgICI0KlJFR19YRFJFRzYiICAgICAgICAgICAgICAgICAgICAgICAgICB9LAorCXsgNCooUkVHX1hEUkVHMCs4KSwgICAgICI0KlJFR19YRFJFRzgiICAgICAgICAgICAgICAgICAgICAgICAgICB9LAorCXsgNCooUkVHX1hEUkVHMCsxMCksICAgICI0KlJFR19YRFJFRzEwIiAgICAgICAgICAgICAgICAgICAgICAgICB9LAorCXsgNCooUkVHX1hEUkVHMCsxMiksICAgICI0KlJFR19YRFJFRzEyIiAgICAgICAgICAgICAgICAgICAgICAgICB9LAorCXsgNCpSRUdfWERSRUcxNCwgICAgICAgICI0KlJFR19YRFJFRzE0IiAgICAgICAgICAgICAgICAgICAgICAgICB9LAorIyAgICBlbmRpZgorCXsgNCpSRUdfRlBTQ1IsICAgICAgICAgICI0KlJFR19GUFNDUiIgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAorIyAgIGVsaWYgZGVmaW5lZChTSDY0KQorCXsgMCwJCSAgICAgICAgIlBDKEwpIgkJCQkgICAgICAgIH0sCisJeyA0LAkgICAgICAgICAgICAgICAgIlBDKFUpIgkJCQkgICAgICAgIH0sCisJeyA4LCAJICAgICAgICAgICAgICAgICJTUihMKSIJICAJICAgICAgICAgCQl9LAorCXsgMTIsICAgICAgICAgICAgICAgCSJTUihVKSIgICAgIAkJCQl9LAorCXsgMTYsICAgICAgICAgICAgCSJzeXNjYWxsIG5vLihMKSIgCQkJfSwKKwl7IDIwLCAgICAgICAgICAgIAkic3lzY2FsbF9uby4oVSkiCQkJfSwKKwl7IDI0LCAgICAgICAgICAgIAkiUjAoTCkiICAgICAJCQkJfSwKKwl7IDI4LCAgICAgICAgICAgIAkiUjAoVSkiICAgICAJCQkJfSwKKwl7IDMyLCAgICAgICAgICAgIAkiUjEoTCkiICAgICAJCQkJfSwKKwl7IDM2LCAgICAgICAgICAgIAkiUjEoVSkiICAgICAJCQkJfSwKKwl7IDQwLCAgICAgICAgICAgIAkiUjIoTCkiICAgICAJCQkJfSwKKwl7IDQ0LCAgICAgICAgICAgIAkiUjIoVSkiICAgICAJCQkJfSwKKwl7IDQ4LCAgICAgICAgICAgIAkiUjMoTCkiICAgICAJCQkJfSwKKwl7IDUyLCAgICAgICAgICAgIAkiUjMoVSkiICAgICAJCQkJfSwKKwl7IDU2LCAgICAgICAgICAgIAkiUjQoTCkiICAgICAJCQkJfSwKKwl7IDYwLCAgICAgICAgICAgIAkiUjQoVSkiICAgICAJCQkJfSwKKwl7IDY0LCAgICAgICAgICAgIAkiUjUoTCkiICAgICAJCQkJfSwKKwl7IDY4LCAgICAgICAgICAgIAkiUjUoVSkiICAgICAJCQkJfSwKKwl7IDcyLCAgICAgICAgICAgIAkiUjYoTCkiICAgICAJCQkJfSwKKwl7IDc2LCAgICAgICAgICAgIAkiUjYoVSkiICAgICAJCQkJfSwKKwl7IDgwLCAgICAgICAgICAgIAkiUjcoTCkiICAgICAJCQkJfSwKKwl7IDg0LCAgICAgICAgICAgIAkiUjcoVSkiICAgICAJCQkJfSwKKwl7IDg4LCAgICAgICAgICAgIAkiUjgoTCkiICAgICAJCQkJfSwKKwl7IDkyLCAgICAgICAgICAgIAkiUjgoVSkiICAgICAJCQkJfSwKKwl7IDk2LCAgICAgICAgICAgIAkiUjkoTCkiICAgICAJCQkJfSwKKwl7IDEwMCwgICAgICAgICAgIAkiUjkoVSkiICAgICAJCQkJfSwKKwl7IDEwNCwgICAgICAgICAgIAkiUjEwKEwpIiAgICAgCQkJCX0sCisJeyAxMDgsICAgICAgICAgICAJIlIxMChVKSIgICAgIAkJCQl9LAorCXsgMTEyLCAgICAgICAgICAgCSJSMTEoTCkiICAgICAJCQkJfSwKKwl7IDExNiwgICAgICAgICAgIAkiUjExKFUpIiAgICAgCQkJCX0sCisJeyAxMjAsICAgICAgICAgICAJIlIxMihMKSIgICAgIAkJCQl9LAorCXsgMTI0LCAgICAgICAgICAgCSJSMTIoVSkiICAgICAJCQkJfSwKKwl7IDEyOCwgICAgICAgICAgIAkiUjEzKEwpIiAgICAgCQkJCX0sCisJeyAxMzIsICAgICAgICAgICAJIlIxMyhVKSIgICAgIAkJCQl9LAorCXsgMTM2LCAgICAgICAgICAgCSJSMTQoTCkiICAgICAJCQkJfSwKKwl7IDE0MCwgICAgICAgICAgIAkiUjE0KFUpIiAgICAgCQkJCX0sCisJeyAxNDQsICAgICAgICAgICAJIlIxNShMKSIgICAgIAkJCQl9LAorCXsgMTQ4LCAgICAgICAgICAgCSJSMTUoVSkiICAgICAJCQkJfSwKKwl7IDE1MiwgICAgICAgICAgIAkiUjE2KEwpIiAgICAgCQkJCX0sCisJeyAxNTYsICAgICAgICAgICAJIlIxNihVKSIgICAgIAkJCQl9LAorCXsgMTYwLCAgICAgICAgICAgCSJSMTcoTCkiICAgICAJCQkJfSwKKwl7IDE2NCwgICAgICAgICAgIAkiUjE3KFUpIiAgICAgCQkJCX0sCisJeyAxNjgsICAgICAgICAgICAJIlIxOChMKSIgICAgIAkJCQl9LAorCXsgMTcyLCAgICAgICAgICAgCSJSMTgoVSkiICAgICAJCQkJfSwKKwl7IDE3NiwgICAgICAgICAgIAkiUjE5KEwpIiAgICAgCQkJCX0sCisJeyAxODAsICAgICAgICAgICAJIlIxOShVKSIgICAgIAkJCQl9LAorCXsgMTg0LCAgICAgICAgICAgCSJSMjAoTCkiICAgICAJCQkJfSwKKwl7IDE4OCwgICAgICAgICAgIAkiUjIwKFUpIiAgICAgCQkJCX0sCisJeyAxOTIsICAgICAgICAgICAJIlIyMShMKSIgICAgIAkJCQl9LAorCXsgMTk2LCAgICAgICAgICAgCSJSMjEoVSkiICAgICAJCQkJfSwKKwl7IDIwMCwgICAgICAgICAgIAkiUjIyKEwpIiAgICAgCQkJCX0sCisJeyAyMDQsICAgICAgICAgICAJIlIyMihVKSIgICAgIAkJCQl9LAorCXsgMjA4LCAgICAgICAgICAgCSJSMjMoTCkiICAgICAJCQkJfSwKKwl7IDIxMiwgICAgICAgICAgIAkiUjIzKFUpIiAgICAgCQkJCX0sCisJeyAyMTYsICAgICAgICAgICAJIlIyNChMKSIgICAgIAkJCQl9LAorCXsgMjIwLCAgICAgICAgICAgCSJSMjQoVSkiICAgICAJCQkJfSwKKwl7IDIyNCwgICAgICAgICAgIAkiUjI1KEwpIiAgICAgCQkJCX0sCisJeyAyMjgsICAgICAgICAgICAJIlIyNShVKSIgICAgIAkJCQl9LAorCXsgMjMyLCAgICAgICAgICAgCSJSMjYoTCkiICAgICAJCQkJfSwKKwl7IDIzNiwgICAgICAgICAgIAkiUjI2KFUpIiAgICAgCQkJCX0sCisJeyAyNDAsICAgICAgICAgICAJIlIyNyhMKSIgICAgIAkJCQl9LAorCXsgMjQ0LCAgICAgICAgICAgCSJSMjcoVSkiICAgICAJCQkJfSwKKwl7IDI0OCwgICAgICAgICAgIAkiUjI4KEwpIiAgICAgCQkJCX0sCisJeyAyNTIsICAgICAgICAgICAJIlIyOChVKSIgICAgIAkJCQl9LAorCXsgMjU2LCAgICAgICAgICAgCSJSMjkoTCkiICAgICAJCQkJfSwKKwl7IDI2MCwgICAgICAgICAgIAkiUjI5KFUpIiAgICAgCQkJCX0sCisJeyAyNjQsICAgICAgICAgICAJIlIzMChMKSIgICAgIAkJCQl9LAorCXsgMjY4LCAgICAgICAgICAgCSJSMzAoVSkiICAgICAJCQkJfSwKKwl7IDI3MiwgICAgICAgICAgIAkiUjMxKEwpIiAgICAgCQkJCX0sCisJeyAyNzYsICAgICAgICAgICAJIlIzMShVKSIgICAgIAkJCQl9LAorCXsgMjgwLCAgICAgICAgICAgCSJSMzIoTCkiICAgICAJCQkJfSwKKwl7IDI4NCwgICAgICAgICAgIAkiUjMyKFUpIiAgICAgCQkJCX0sCisJeyAyODgsICAgICAgICAgICAJIlIzMyhMKSIgICAgIAkJCQl9LAorCXsgMjkyLCAgICAgICAgICAgCSJSMzMoVSkiICAgICAJCQkJfSwKKwl7IDI5NiwgICAgICAgICAgIAkiUjM0KEwpIiAgICAgCQkJCX0sCisJeyAzMDAsICAgICAgICAgICAJIlIzNChVKSIgICAgIAkJCQl9LAorCXsgMzA0LCAgICAgICAgICAgCSJSMzUoTCkiICAgICAJCQkJfSwKKwl7IDMwOCwgICAgICAgICAgIAkiUjM1KFUpIiAgICAgCQkJCX0sCisJeyAzMTIsICAgICAgICAgICAJIlIzNihMKSIgICAgIAkJCQl9LAorCXsgMzE2LCAgICAgICAgICAgCSJSMzYoVSkiICAgICAJCQkJfSwKKwl7IDMyMCwgICAgICAgICAgIAkiUjM3KEwpIiAgICAgCQkJCX0sCisJeyAzMjQsICAgICAgICAgICAJIlIzNyhVKSIgICAgIAkJCQl9LAorCXsgMzI4LCAgICAgICAgICAgCSJSMzgoTCkiICAgICAJCQkJfSwKKwl7IDMzMiwgICAgICAgICAgIAkiUjM4KFUpIiAgICAgCQkJCX0sCisJeyAzMzYsICAgICAgICAgICAJIlIzOShMKSIgICAgIAkJCQl9LAorCXsgMzQwLCAgICAgICAgICAgCSJSMzkoVSkiICAgICAJCQkJfSwKKwl7IDM0NCwgICAgICAgICAgIAkiUjQwKEwpIiAgICAgCQkJCX0sCisJeyAzNDgsICAgICAgICAgICAJIlI0MChVKSIgICAgIAkJCQl9LAorCXsgMzUyLCAgICAgICAgICAgCSJSNDEoTCkiICAgICAJCQkJfSwKKwl7IDM1NiwgICAgICAgICAgIAkiUjQxKFUpIiAgICAgCQkJCX0sCisJeyAzNjAsICAgICAgICAgICAJIlI0MihMKSIgICAgIAkJCQl9LAorCXsgMzY0LCAgICAgICAgICAgCSJSNDIoVSkiICAgICAJCQkJfSwKKwl7IDM2OCwgICAgICAgICAgIAkiUjQzKEwpIiAgICAgCQkJCX0sCisJeyAzNzIsICAgICAgICAgICAJIlI0MyhVKSIgICAgIAkJCQl9LAorCXsgMzc2LCAgICAgICAgICAgCSJSNDQoTCkiICAgICAJCQkJfSwKKwl7IDM4MCwgICAgICAgICAgIAkiUjQ0KFUpIiAgICAgCQkJCX0sCisJeyAzODQsICAgICAgICAgICAJIlI0NShMKSIgICAgIAkJCQl9LAorCXsgMzg4LCAgICAgICAgICAgCSJSNDUoVSkiICAgICAJCQkJfSwKKwl7IDM5MiwgICAgICAgICAgIAkiUjQ2KEwpIiAgICAgCQkJCX0sCisJeyAzOTYsICAgICAgICAgICAJIlI0NihVKSIgICAgIAkJCQl9LAorCXsgNDAwLCAgICAgICAgICAgCSJSNDcoTCkiICAgICAJCQkJfSwKKwl7IDQwNCwgICAgICAgICAgIAkiUjQ3KFUpIiAgICAgCQkJCX0sCisJeyA0MDgsICAgICAgICAgICAJIlI0OChMKSIgICAgIAkJCQl9LAorCXsgNDEyLCAgICAgICAgICAgCSJSNDgoVSkiICAgICAJCQkJfSwKKwl7IDQxNiwgICAgICAgICAgIAkiUjQ5KEwpIiAgICAgCQkJCX0sCisJeyA0MjAsICAgICAgICAgICAJIlI0OShVKSIgICAgIAkJCQl9LAorCXsgNDI0LCAgICAgICAgICAgCSJSNTAoTCkiICAgICAJCQkJfSwKKwl7IDQyOCwgICAgICAgICAgIAkiUjUwKFUpIiAgICAgCQkJCX0sCisJeyA0MzIsICAgICAgICAgICAJIlI1MShMKSIgICAgIAkJCQl9LAorCXsgNDM2LCAgICAgICAgICAgCSJSNTEoVSkiICAgICAJCQkJfSwKKwl7IDQ0MCwgICAgICAgICAgIAkiUjUyKEwpIiAgICAgCQkJCX0sCisJeyA0NDQsICAgICAgICAgICAJIlI1MihVKSIgICAgIAkJCQl9LAorCXsgNDQ4LCAgICAgICAgICAgCSJSNTMoTCkiICAgICAJCQkJfSwKKwl7IDQ1MiwgICAgICAgICAgIAkiUjUzKFUpIiAgICAgCQkJCX0sCisJeyA0NTYsICAgICAgICAgICAJIlI1NChMKSIgICAgIAkJCQl9LAorCXsgNDYwLCAgICAgICAgICAgCSJSNTQoVSkiICAgICAJCQkJfSwKKwl7IDQ2NCwgICAgICAgICAgIAkiUjU1KEwpIiAgICAgCQkJCX0sCisJeyA0NjgsICAgICAgICAgICAJIlI1NShVKSIgICAgIAkJCQl9LAorCXsgNDcyLCAgICAgICAgICAgCSJSNTYoTCkiICAgICAJCQkJfSwKKwl7IDQ3NiwgICAgICAgICAgIAkiUjU2KFUpIiAgICAgCQkJCX0sCisJeyA0ODAsICAgICAgICAgICAJIlI1NyhMKSIgICAgIAkJCQl9LAorCXsgNDg0LCAgICAgICAgICAgCSJSNTcoVSkiICAgICAJCQkJfSwKKwl7IDQ4OCwgICAgICAgICAgIAkiUjU4KEwpIiAgICAgCQkJCX0sCisJeyA0OTIsICAgICAgICAgICAJIlI1OChVKSIgICAgIAkJCQl9LAorCXsgNDk2LCAgICAgICAgICAgCSJSNTkoTCkiICAgICAJCQkJfSwKKwl7IDUwMCwgICAgICAgICAgIAkiUjU5KFUpIiAgICAgCQkJCX0sCisJeyA1MDQsICAgICAgICAgICAJIlI2MChMKSIgICAgIAkJCQl9LAorCXsgNTA4LCAgICAgICAgICAgCSJSNjAoVSkiICAgICAJCQkJfSwKKwl7IDUxMiwgICAgICAgICAgIAkiUjYxKEwpIiAgICAgCQkJCX0sCisJeyA1MTYsICAgICAgICAgICAJIlI2MShVKSIgICAgIAkJCQl9LAorCXsgNTIwLCAgICAgICAgICAgCSJSNjIoTCkiICAgICAJCQkJfSwKKwl7IDUyNCwgICAgICAgICAgIAkiUjYyKFUpIiAgICAgCQkJCX0sCisJeyA1MjgsICAgICAgICAgICAgICAgICAgIlRSMChMKSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCisJeyA1MzIsICAgICAgICAgICAgICAgICAgIlRSMChVKSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCisJeyA1MzYsICAgICAgICAgICAgICAgICAgIlRSMShMKSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCisJeyA1NDAsICAgICAgICAgICAgICAgICAgIlRSMShVKSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCisJeyA1NDQsICAgICAgICAgICAgICAgICAgIlRSMihMKSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCisJeyA1NDgsICAgICAgICAgICAgICAgICAgIlRSMihVKSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCisJeyA1NTIsICAgICAgICAgICAgICAgICAgIlRSMyhMKSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCisJeyA1NTYsICAgICAgICAgICAgICAgICAgIlRSMyhVKSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCisJeyA1NjAsICAgICAgICAgICAgICAgICAgIlRSNChMKSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCisJeyA1NjQsICAgICAgICAgICAgICAgICAgIlRSNChVKSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCisJeyA1NjgsICAgICAgICAgICAgICAgICAgIlRSNShMKSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCisJeyA1NzIsICAgICAgICAgICAgICAgICAgIlRSNShVKSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCisJeyA1NzYsICAgICAgICAgICAgICAgICAgIlRSNihMKSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCisJeyA1ODAsICAgICAgICAgICAgICAgICAgIlRSNihVKSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCisJeyA1ODQsICAgICAgICAgICAgICAgICAgIlRSNyhMKSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCisJeyA1ODgsICAgICAgICAgICAgICAgICAgIlRSNyhVKSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCisJLyogVGhpcyBlbnRyeSBpcyBpbiBjYXNlIHB0X3JlZ3MgY29udGFpbnMgZHJlZ3MgKGRlcGVuZHMgb24KKwkgICB0aGUga2VybmVsIGJ1aWxkIG9wdGlvbnMpLiAqLworCXsgdW9mZihyZWdzKSwJICAgICAgICAib2Zmc2V0b2Yoc3RydWN0IHVzZXIsIHJlZ3MpIgkgICAgICAgIH0sCisJeyB1b2ZmKGZwdSksCSAgICAgICAgIm9mZnNldG9mKHN0cnVjdCB1c2VyLCBmcHUpIgkgICAgICAgIH0sCisjICAgZWxpZiBkZWZpbmVkKEFSTSkKKwl7IHVvZmYocmVncy5BUk1fcjApLAkicjAiCQkJCQl9LAorCXsgdW9mZihyZWdzLkFSTV9yMSksCSJyMSIJCQkJCX0sCisJeyB1b2ZmKHJlZ3MuQVJNX3IyKSwJInIyIgkJCQkJfSwKKwl7IHVvZmYocmVncy5BUk1fcjMpLAkicjMiCQkJCQl9LAorCXsgdW9mZihyZWdzLkFSTV9yNCksCSJyNCIJCQkJCX0sCisJeyB1b2ZmKHJlZ3MuQVJNX3I1KSwJInI1IgkJCQkJfSwKKwl7IHVvZmYocmVncy5BUk1fcjYpLAkicjYiCQkJCQl9LAorCXsgdW9mZihyZWdzLkFSTV9yNyksCSJyNyIJCQkJCX0sCisJeyB1b2ZmKHJlZ3MuQVJNX3I4KSwJInI4IgkJCQkJfSwKKwl7IHVvZmYocmVncy5BUk1fcjkpLAkicjkiCQkJCQl9LAorCXsgdW9mZihyZWdzLkFSTV9yMTApLAkicjEwIgkJCQkJfSwKKwl7IHVvZmYocmVncy5BUk1fZnApLAkiZnAiCQkJCQl9LAorCXsgdW9mZihyZWdzLkFSTV9pcCksCSJpcCIJCQkJCX0sCisJeyB1b2ZmKHJlZ3MuQVJNX3NwKSwJInNwIgkJCQkJfSwKKwl7IHVvZmYocmVncy5BUk1fbHIpLAkibHIiCQkJCQl9LAorCXsgdW9mZihyZWdzLkFSTV9wYyksCSJwYyIJCQkJCX0sCisJeyB1b2ZmKHJlZ3MuQVJNX2Nwc3IpLAkiY3BzciIJCQkJCX0sCisjICAgZWxpZiBkZWZpbmVkKEFWUjMyKQorCXsgdW9mZihyZWdzLnNyKSwJInNyIgkJCQkJfSwKKwl7IHVvZmYocmVncy5wYyksCSJwYyIJCQkJCX0sCisJeyB1b2ZmKHJlZ3MubHIpLAkibHIiCQkJCQl9LAorCXsgdW9mZihyZWdzLnNwKSwJInNwIgkJCQkJfSwKKwl7IHVvZmYocmVncy5yMTIpLAkicjEyIgkJCQkJfSwKKwl7IHVvZmYocmVncy5yMTEpLAkicjExIgkJCQkJfSwKKwl7IHVvZmYocmVncy5yMTApLAkicjEwIgkJCQkJfSwKKwl7IHVvZmYocmVncy5yOSksCSJyOSIJCQkJCX0sCisJeyB1b2ZmKHJlZ3MucjgpLAkicjgiCQkJCQl9LAorCXsgdW9mZihyZWdzLnI3KSwJInI3IgkJCQkJfSwKKwl7IHVvZmYocmVncy5yNiksCSJyNiIJCQkJCX0sCisJeyB1b2ZmKHJlZ3MucjUpLAkicjUiCQkJCQl9LAorCXsgdW9mZihyZWdzLnI0KSwJInI0IgkJCQkJfSwKKwl7IHVvZmYocmVncy5yMyksCSJyMyIJCQkJCX0sCisJeyB1b2ZmKHJlZ3MucjIpLAkicjIiCQkJCQl9LAorCXsgdW9mZihyZWdzLnIxKSwJInIxIgkJCQkJfSwKKwl7IHVvZmYocmVncy5yMCksCSJyMCIJCQkJCX0sCisJeyB1b2ZmKHJlZ3MucjEyX29yaWcpLAkib3JpZ19yMTIiCQkJCX0sCisjICAgZWxpZiBkZWZpbmVkKE1JUFMpCisJeyAwLAkJCSJyMCIJCQkJCX0sCisJeyAxLAkJCSJyMSIJCQkJCX0sCisJeyAyLAkJCSJyMiIJCQkJCX0sCisJeyAzLAkJCSJyMyIJCQkJCX0sCisJeyA0LAkJCSJyNCIJCQkJCX0sCisJeyA1LAkJCSJyNSIJCQkJCX0sCisJeyA2LAkJCSJyNiIJCQkJCX0sCisJeyA3LAkJCSJyNyIJCQkJCX0sCisJeyA4LAkJCSJyOCIJCQkJCX0sCisJeyA5LAkJCSJyOSIJCQkJCX0sCisJeyAxMCwJCQkicjEwIgkJCQkJfSwKKwl7IDExLAkJCSJyMTEiCQkJCQl9LAorCXsgMTIsCQkJInIxMiIJCQkJCX0sCisJeyAxMywJCQkicjEzIgkJCQkJfSwKKwl7IDE0LAkJCSJyMTQiCQkJCQl9LAorCXsgMTUsCQkJInIxNSIJCQkJCX0sCisJeyAxNiwJCQkicjE2IgkJCQkJfSwKKwl7IDE3LAkJCSJyMTciCQkJCQl9LAorCXsgMTgsCQkJInIxOCIJCQkJCX0sCisJeyAxOSwJCQkicjE5IgkJCQkJfSwKKwl7IDIwLAkJCSJyMjAiCQkJCQl9LAorCXsgMjEsCQkJInIyMSIJCQkJCX0sCisJeyAyMiwJCQkicjIyIgkJCQkJfSwKKwl7IDIzLAkJCSJyMjMiCQkJCQl9LAorCXsgMjQsCQkJInIyNCIJCQkJCX0sCisJeyAyNSwJCQkicjI1IgkJCQkJfSwKKwl7IDI2LAkJCSJyMjYiCQkJCQl9LAorCXsgMjcsCQkJInIyNyIJCQkJCX0sCisJeyAyOCwJCQkicjI4IgkJCQkJfSwKKwl7IDI5LAkJCSJyMjkiCQkJCQl9LAorCXsgMzAsCQkJInIzMCIJCQkJCX0sCisJeyAzMSwJCQkicjMxIgkJCQkJfSwKKwl7IDMyLAkJCSJmMCIJCQkJCX0sCisJeyAzMywJCQkiZjEiCQkJCQl9LAorCXsgMzQsCQkJImYyIgkJCQkJfSwKKwl7IDM1LAkJCSJmMyIJCQkJCX0sCisJeyAzNiwJCQkiZjQiCQkJCQl9LAorCXsgMzcsCQkJImY1IgkJCQkJfSwKKwl7IDM4LAkJCSJmNiIJCQkJCX0sCisJeyAzOSwJCQkiZjciCQkJCQl9LAorCXsgNDAsCQkJImY4IgkJCQkJfSwKKwl7IDQxLAkJCSJmOSIJCQkJCX0sCisJeyA0MiwJCQkiZjEwIgkJCQkJfSwKKwl7IDQzLAkJCSJmMTEiCQkJCQl9LAorCXsgNDQsCQkJImYxMiIJCQkJCX0sCisJeyA0NSwJCQkiZjEzIgkJCQkJfSwKKwl7IDQ2LAkJCSJmMTQiCQkJCQl9LAorCXsgNDcsCQkJImYxNSIJCQkJCX0sCisJeyA0OCwJCQkiZjE2IgkJCQkJfSwKKwl7IDQ5LAkJCSJmMTciCQkJCQl9LAorCXsgNTAsCQkJImYxOCIJCQkJCX0sCisJeyA1MSwJCQkiZjE5IgkJCQkJfSwKKwl7IDUyLAkJCSJmMjAiCQkJCQl9LAorCXsgNTMsCQkJImYyMSIJCQkJCX0sCisJeyA1NCwJCQkiZjIyIgkJCQkJfSwKKwl7IDU1LAkJCSJmMjMiCQkJCQl9LAorCXsgNTYsCQkJImYyNCIJCQkJCX0sCisJeyA1NywJCQkiZjI1IgkJCQkJfSwKKwl7IDU4LAkJCSJmMjYiCQkJCQl9LAorCXsgNTksCQkJImYyNyIJCQkJCX0sCisJeyA2MCwJCQkiZjI4IgkJCQkJfSwKKwl7IDYxLAkJCSJmMjkiCQkJCQl9LAorCXsgNjIsCQkJImYzMCIJCQkJCX0sCisJeyA2MywJCQkiZjMxIgkJCQkJfSwKKwl7IDY0LAkJCSJwYyIJCQkJCX0sCisJeyA2NSwJCQkiY2F1c2UiCQkJCQl9LAorCXsgNjYsCQkJImJhZHZhZGRyIgkJCQl9LAorCXsgNjcsCQkJIm1taGkiCQkJCQl9LAorCXsgNjgsCQkJIm1tbG8iCQkJCQl9LAorCXsgNjksCQkJImZwY3NyIgkJCQkJfSwKKwl7IDcwLAkJCSJmcGVpciIJCQkJCX0sCisjICAgZWxpZiBkZWZpbmVkKFRJTEUpCisJeyBQVFJFR1NfT0ZGU0VUX1JFRygwKSwgICJyMCIgIH0sCisJeyBQVFJFR1NfT0ZGU0VUX1JFRygxKSwgICJyMSIgIH0sCisJeyBQVFJFR1NfT0ZGU0VUX1JFRygyKSwgICJyMiIgIH0sCisJeyBQVFJFR1NfT0ZGU0VUX1JFRygzKSwgICJyMyIgIH0sCisJeyBQVFJFR1NfT0ZGU0VUX1JFRyg0KSwgICJyNCIgIH0sCisJeyBQVFJFR1NfT0ZGU0VUX1JFRyg1KSwgICJyNSIgIH0sCisJeyBQVFJFR1NfT0ZGU0VUX1JFRyg2KSwgICJyNiIgIH0sCisJeyBQVFJFR1NfT0ZGU0VUX1JFRyg3KSwgICJyNyIgIH0sCisJeyBQVFJFR1NfT0ZGU0VUX1JFRyg4KSwgICJyOCIgIH0sCisJeyBQVFJFR1NfT0ZGU0VUX1JFRyg5KSwgICJyOSIgIH0sCisJeyBQVFJFR1NfT0ZGU0VUX1JFRygxMCksICJyMTAiIH0sCisJeyBQVFJFR1NfT0ZGU0VUX1JFRygxMSksICJyMTEiIH0sCisJeyBQVFJFR1NfT0ZGU0VUX1JFRygxMiksICJyMTIiIH0sCisJeyBQVFJFR1NfT0ZGU0VUX1JFRygxMyksICJyMTMiIH0sCisJeyBQVFJFR1NfT0ZGU0VUX1JFRygxNCksICJyMTQiIH0sCisJeyBQVFJFR1NfT0ZGU0VUX1JFRygxNSksICJyMTUiIH0sCisJeyBQVFJFR1NfT0ZGU0VUX1JFRygxNiksICJyMTYiIH0sCisJeyBQVFJFR1NfT0ZGU0VUX1JFRygxNyksICJyMTciIH0sCisJeyBQVFJFR1NfT0ZGU0VUX1JFRygxOCksICJyMTgiIH0sCisJeyBQVFJFR1NfT0ZGU0VUX1JFRygxOSksICJyMTkiIH0sCisJeyBQVFJFR1NfT0ZGU0VUX1JFRygyMCksICJyMjAiIH0sCisJeyBQVFJFR1NfT0ZGU0VUX1JFRygyMSksICJyMjEiIH0sCisJeyBQVFJFR1NfT0ZGU0VUX1JFRygyMiksICJyMjIiIH0sCisJeyBQVFJFR1NfT0ZGU0VUX1JFRygyMyksICJyMjMiIH0sCisJeyBQVFJFR1NfT0ZGU0VUX1JFRygyNCksICJyMjQiIH0sCisJeyBQVFJFR1NfT0ZGU0VUX1JFRygyNSksICJyMjUiIH0sCisJeyBQVFJFR1NfT0ZGU0VUX1JFRygyNiksICJyMjYiIH0sCisJeyBQVFJFR1NfT0ZGU0VUX1JFRygyNyksICJyMjciIH0sCisJeyBQVFJFR1NfT0ZGU0VUX1JFRygyOCksICJyMjgiIH0sCisJeyBQVFJFR1NfT0ZGU0VUX1JFRygyOSksICJyMjkiIH0sCisJeyBQVFJFR1NfT0ZGU0VUX1JFRygzMCksICJyMzAiIH0sCisJeyBQVFJFR1NfT0ZGU0VUX1JFRygzMSksICJyMzEiIH0sCisJeyBQVFJFR1NfT0ZGU0VUX1JFRygzMiksICJyMzIiIH0sCisJeyBQVFJFR1NfT0ZGU0VUX1JFRygzMyksICJyMzMiIH0sCisJeyBQVFJFR1NfT0ZGU0VUX1JFRygzNCksICJyMzQiIH0sCisJeyBQVFJFR1NfT0ZGU0VUX1JFRygzNSksICJyMzUiIH0sCisJeyBQVFJFR1NfT0ZGU0VUX1JFRygzNiksICJyMzYiIH0sCisJeyBQVFJFR1NfT0ZGU0VUX1JFRygzNyksICJyMzciIH0sCisJeyBQVFJFR1NfT0ZGU0VUX1JFRygzOCksICJyMzgiIH0sCisJeyBQVFJFR1NfT0ZGU0VUX1JFRygzOSksICJyMzkiIH0sCisJeyBQVFJFR1NfT0ZGU0VUX1JFRyg0MCksICJyNDAiIH0sCisJeyBQVFJFR1NfT0ZGU0VUX1JFRyg0MSksICJyNDEiIH0sCisJeyBQVFJFR1NfT0ZGU0VUX1JFRyg0MiksICJyNDIiIH0sCisJeyBQVFJFR1NfT0ZGU0VUX1JFRyg0MyksICJyNDMiIH0sCisJeyBQVFJFR1NfT0ZGU0VUX1JFRyg0NCksICJyNDQiIH0sCisJeyBQVFJFR1NfT0ZGU0VUX1JFRyg0NSksICJyNDUiIH0sCisJeyBQVFJFR1NfT0ZGU0VUX1JFRyg0NiksICJyNDYiIH0sCisJeyBQVFJFR1NfT0ZGU0VUX1JFRyg0NyksICJyNDciIH0sCisJeyBQVFJFR1NfT0ZGU0VUX1JFRyg0OCksICJyNDgiIH0sCisJeyBQVFJFR1NfT0ZGU0VUX1JFRyg0OSksICJyNDkiIH0sCisJeyBQVFJFR1NfT0ZGU0VUX1JFRyg1MCksICJyNTAiIH0sCisJeyBQVFJFR1NfT0ZGU0VUX1JFRyg1MSksICJyNTEiIH0sCisJeyBQVFJFR1NfT0ZGU0VUX1JFRyg1MiksICJyNTIiIH0sCisJeyBQVFJFR1NfT0ZGU0VUX1RQLCAidHAiIH0sCisJeyBQVFJFR1NfT0ZGU0VUX1NQLCAic3AiIH0sCisJeyBQVFJFR1NfT0ZGU0VUX0xSLCAibHIiIH0sCisJeyBQVFJFR1NfT0ZGU0VUX1BDLCAicGMiIH0sCisJeyBQVFJFR1NfT0ZGU0VUX0VYMSwgImV4MSIgfSwKKwl7IFBUUkVHU19PRkZTRVRfRkFVTFROVU0sICJmYXVsdG51bSIgfSwKKwl7IFBUUkVHU19PRkZTRVRfT1JJR19SMCwgIm9yaWdfcjAiIH0sCisJeyBQVFJFR1NfT0ZGU0VUX0ZMQUdTLCAiZmxhZ3MiIH0sCisjICAgZW5kaWYKKyMgICBpZmRlZiBDUklTVjEwCisJeyA0KlBUX0ZSQU1FVFlQRSwgIjQqUFRfRlJBTUVUWVBFIiB9LAorCXsgNCpQVF9PUklHX1IxMCwgIjQqUFRfT1JJR19SMTAiIH0sCisJeyA0KlBUX1IxMywgIjQqUFRfUjEzIiB9LAorCXsgNCpQVF9SMTIsICI0KlBUX1IxMiIgfSwKKwl7IDQqUFRfUjExLCAiNCpQVF9SMTEiIH0sCisJeyA0KlBUX1IxMCwgIjQqUFRfUjEwIiB9LAorCXsgNCpQVF9SOSwgIjQqUFRfUjkiIH0sCisJeyA0KlBUX1I4LCAiNCpQVF9SOCIgfSwKKwl7IDQqUFRfUjcsICI0KlBUX1I3IiB9LAorCXsgNCpQVF9SNiwgIjQqUFRfUjYiIH0sCisJeyA0KlBUX1I1LCAiNCpQVF9SNSIgfSwKKwl7IDQqUFRfUjQsICI0KlBUX1I0IiB9LAorCXsgNCpQVF9SMywgIjQqUFRfUjMiIH0sCisJeyA0KlBUX1IyLCAiNCpQVF9SMiIgfSwKKwl7IDQqUFRfUjEsICI0KlBUX1IxIiB9LAorCXsgNCpQVF9SMCwgIjQqUFRfUjAiIH0sCisJeyA0KlBUX01PRiwgIjQqUFRfTU9GIiB9LAorCXsgNCpQVF9EQ0NSLCAiNCpQVF9EQ0NSIiB9LAorCXsgNCpQVF9TUlAsICI0KlBUX1NSUCIgfSwKKwl7IDQqUFRfSVJQLCAiNCpQVF9JUlAiIH0sCisJeyA0KlBUX0NTUklOU1RSLCAiNCpQVF9DU1JJTlNUUiIgfSwKKwl7IDQqUFRfQ1NSQUREUiwgIjQqUFRfQ1NSQUREUiIgfSwKKwl7IDQqUFRfQ1NSREFUQSwgIjQqUFRfQ1NSREFUQSIgfSwKKwl7IDQqUFRfVVNQLCAiNCpQVF9VU1AiIH0sCisjICAgZW5kaWYKKyMgICBpZmRlZiBDUklTVjMyCisJeyA0KlBUX09SSUdfUjEwLCAiNCpQVF9PUklHX1IxMCIgfSwKKwl7IDQqUFRfUjAsICI0KlBUX1IwIiB9LAorCXsgNCpQVF9SMSwgIjQqUFRfUjEiIH0sCisJeyA0KlBUX1IyLCAiNCpQVF9SMiIgfSwKKwl7IDQqUFRfUjMsICI0KlBUX1IzIiB9LAorCXsgNCpQVF9SNCwgIjQqUFRfUjQiIH0sCisJeyA0KlBUX1I1LCAiNCpQVF9SNSIgfSwKKwl7IDQqUFRfUjYsICI0KlBUX1I2IiB9LAorCXsgNCpQVF9SNywgIjQqUFRfUjciIH0sCisJeyA0KlBUX1I4LCAiNCpQVF9SOCIgfSwKKwl7IDQqUFRfUjksICI0KlBUX1I5IiB9LAorCXsgNCpQVF9SMTAsICI0KlBUX1IxMCIgfSwKKwl7IDQqUFRfUjExLCAiNCpQVF9SMTEiIH0sCisJeyA0KlBUX1IxMiwgIjQqUFRfUjEyIiB9LAorCXsgNCpQVF9SMTMsICI0KlBUX1IxMyIgfSwKKwl7IDQqUFRfQUNSLCAiNCpQVF9BQ1IiIH0sCisJeyA0KlBUX1NSUywgIjQqUFRfU1JTIiB9LAorCXsgNCpQVF9NT0YsICI0KlBUX01PRiIgfSwKKwl7IDQqUFRfU1BDLCAiNCpQVF9TUEMiIH0sCisJeyA0KlBUX0NDUywgIjQqUFRfQ0NTIiB9LAorCXsgNCpQVF9TUlAsICI0KlBUX1NSUCIgfSwKKwl7IDQqUFRfRVJQLCAiNCpQVF9FUlAiIH0sCisJeyA0KlBUX0VYUywgIjQqUFRfRVhTIiB9LAorCXsgNCpQVF9FREEsICI0KlBUX0VEQSIgfSwKKwl7IDQqUFRfVVNQLCAiNCpQVF9VU1AiIH0sCisJeyA0KlBUX1BQQywgIjQqUFRfUFBDIiB9LAorCXsgNCpQVF9CUF9DVFJMLCAiNCpQVF9CUF9DVFJMIiB9LAorCXsgNCpQVF9CUCs0LCAiNCpQVF9CUCs0IiB9LAorCXsgNCpQVF9CUCs4LCAiNCpQVF9CUCs4IiB9LAorCXsgNCpQVF9CUCsxMiwgIjQqUFRfQlArMTIiIH0sCisJeyA0KlBUX0JQKzE2LCAiNCpQVF9CUCsxNiIgfSwKKwl7IDQqUFRfQlArMjAsICI0KlBUX0JQKzIwIiB9LAorCXsgNCpQVF9CUCsyNCwgIjQqUFRfQlArMjQiIH0sCisJeyA0KlBUX0JQKzI4LCAiNCpQVF9CUCsyOCIgfSwKKwl7IDQqUFRfQlArMzIsICI0KlBUX0JQKzMyIiB9LAorCXsgNCpQVF9CUCszNiwgIjQqUFRfQlArMzYiIH0sCisJeyA0KlBUX0JQKzQwLCAiNCpQVF9CUCs0MCIgfSwKKwl7IDQqUFRfQlArNDQsICI0KlBUX0JQKzQ0IiB9LAorCXsgNCpQVF9CUCs0OCwgIjQqUFRfQlArNDgiIH0sCisJeyA0KlBUX0JQKzUyLCAiNCpQVF9CUCs1MiIgfSwKKwl7IDQqUFRfQlArNTYsICI0KlBUX0JQKzU2IiB9LAorIyAgIGVuZGlmCisKKyMgICBpZiAhZGVmaW5lZChTUEFSQykgJiYgIWRlZmluZWQoSFBQQSkgJiYgIWRlZmluZWQoUE9XRVJQQykgXAorCQkmJiAhZGVmaW5lZChBTFBIQSkgJiYgIWRlZmluZWQoSUE2NCkgXAorCQkmJiAhZGVmaW5lZChDUklTVjEwKSAmJiAhZGVmaW5lZChDUklTVjMyKQorIyAgICBpZiAhZGVmaW5lZChTMzkwKSAmJiAhZGVmaW5lZChTMzkwWCkgJiYgIWRlZmluZWQoTUlQUykgJiYgIWRlZmluZWQoU1BBUkM2NCkgJiYgIWRlZmluZWQoQVZSMzIpICYmICFkZWZpbmVkKEJGSU4pICYmICFkZWZpbmVkKFRJTEUpCisJeyB1b2ZmKHVfZnB2YWxpZCksCSJvZmZzZXRvZihzdHJ1Y3QgdXNlciwgdV9mcHZhbGlkKSIJfSwKKyMgICAgZW5kaWYKKyMgICAgaWYgZGVmaW5lZChJMzg2KSB8fCBkZWZpbmVkKFg4Nl82NCkKKwl7IHVvZmYoaTM4NyksCQkib2Zmc2V0b2Yoc3RydWN0IHVzZXIsIGkzODcpIgkJfSwKKyMgICAgZW5kaWYKKyMgICAgaWYgZGVmaW5lZChNNjhLKQorCXsgdW9mZihtNjhrZnApLAkJIm9mZnNldG9mKHN0cnVjdCB1c2VyLCBtNjhrZnApIgkJfSwKKyMgICAgZW5kaWYKKwl7IHVvZmYodV90c2l6ZSksCSJvZmZzZXRvZihzdHJ1Y3QgdXNlciwgdV90c2l6ZSkiCX0sCisJeyB1b2ZmKHVfZHNpemUpLAkib2Zmc2V0b2Yoc3RydWN0IHVzZXIsIHVfZHNpemUpIgl9LAorCXsgdW9mZih1X3NzaXplKSwJIm9mZnNldG9mKHN0cnVjdCB1c2VyLCB1X3NzaXplKSIJfSwKKyMgICAgaWYgIWRlZmluZWQoU1BBUkM2NCkKKwl7IHVvZmYoc3RhcnRfY29kZSksCSJvZmZzZXRvZihzdHJ1Y3QgdXNlciwgc3RhcnRfY29kZSkiCX0sCisjICAgIGVuZGlmCisjICAgIGlmIGRlZmluZWQoQVZSMzIpIHx8IGRlZmluZWQoU0g2NCkKKwl7IHVvZmYoc3RhcnRfZGF0YSksCSJvZmZzZXRvZihzdHJ1Y3QgdXNlciwgc3RhcnRfZGF0YSkiCX0sCisjICAgIGVuZGlmCisjICAgIGlmICFkZWZpbmVkKFNQQVJDNjQpCisJeyB1b2ZmKHN0YXJ0X3N0YWNrKSwJIm9mZnNldG9mKHN0cnVjdCB1c2VyLCBzdGFydF9zdGFjaykiCX0sCisjICAgIGVuZGlmCisJeyB1b2ZmKHNpZ25hbCksCQkib2Zmc2V0b2Yoc3RydWN0IHVzZXIsIHNpZ25hbCkiCQl9LAorIyAgICBpZiAhZGVmaW5lZChBVlIzMikgJiYgIWRlZmluZWQoUzM5MCkgJiYgIWRlZmluZWQoUzM5MFgpICYmICFkZWZpbmVkKE1JUFMpICYmICFkZWZpbmVkKFNIKSAmJiAhZGVmaW5lZChTSDY0KSAmJiAhZGVmaW5lZChTUEFSQzY0KSAmJiAhZGVmaW5lZChUSUxFKQorCXsgdW9mZihyZXNlcnZlZCksCSJvZmZzZXRvZihzdHJ1Y3QgdXNlciwgcmVzZXJ2ZWQpIgl9LAorIyAgICBlbmRpZgorIyAgICBpZiAhZGVmaW5lZChTUEFSQzY0KQorCXsgdW9mZih1X2FyMCksCQkib2Zmc2V0b2Yoc3RydWN0IHVzZXIsIHVfYXIwKSIJCX0sCisjICAgIGVuZGlmCisjICAgIGlmICFkZWZpbmVkKEFSTSkgJiYgIWRlZmluZWQoQVZSMzIpICYmICFkZWZpbmVkKE1JUFMpICYmICFkZWZpbmVkKFMzOTApICYmICFkZWZpbmVkKFMzOTBYKSAmJiAhZGVmaW5lZChTUEFSQzY0KSAmJiAhZGVmaW5lZChCRklOKSAmJiAhZGVmaW5lZChUSUxFKQorCXsgdW9mZih1X2Zwc3RhdGUpLAkib2Zmc2V0b2Yoc3RydWN0IHVzZXIsIHVfZnBzdGF0ZSkiCX0sCisjICAgIGVuZGlmCisJeyB1b2ZmKG1hZ2ljKSwJCSJvZmZzZXRvZihzdHJ1Y3QgdXNlciwgbWFnaWMpIgkJfSwKKwl7IHVvZmYodV9jb21tKSwJCSJvZmZzZXRvZihzdHJ1Y3QgdXNlciwgdV9jb21tKSIJCX0sCisjICAgIGlmIGRlZmluZWQoSTM4NikgfHwgZGVmaW5lZChYODZfNjQpCisJeyB1b2ZmKHVfZGVidWdyZWcpLAkib2Zmc2V0b2Yoc3RydWN0IHVzZXIsIHVfZGVidWdyZWcpIgl9LAorIyAgICBlbmRpZgorIyAgIGVuZGlmIC8qICFkZWZpbmVkKG1hbnkgYXJjaGVzKSAqLworCisjICBlbmRpZiAvKiBMSU5VWCAqLworCisjICBpZmRlZiBTVU5PUzQKKwl7IHVvZmYodV9wY2IpLAkJIm9mZnNldG9mKHN0cnVjdCB1c2VyLCB1X3BjYikiCQl9LAorCXsgdW9mZih1X3Byb2NwKSwJIm9mZnNldG9mKHN0cnVjdCB1c2VyLCB1X3Byb2NwKSIJfSwKKwl7IHVvZmYodV9hcjApLAkJIm9mZnNldG9mKHN0cnVjdCB1c2VyLCB1X2FyMCkiCQl9LAorCXsgdW9mZih1X2NvbW1bMF0pLAkib2Zmc2V0b2Yoc3RydWN0IHVzZXIsIHVfY29tbVswXSkiCX0sCisJeyB1b2ZmKHVfYXJnWzBdKSwJIm9mZnNldG9mKHN0cnVjdCB1c2VyLCB1X2FyZ1swXSkiCX0sCisJeyB1b2ZmKHVfYXApLAkJIm9mZnNldG9mKHN0cnVjdCB1c2VyLCB1X2FwKSIJCX0sCisJeyB1b2ZmKHVfcXNhdmUpLAkib2Zmc2V0b2Yoc3RydWN0IHVzZXIsIHVfcXNhdmUpIgl9LAorCXsgdW9mZih1X3J2YWwxKSwJIm9mZnNldG9mKHN0cnVjdCB1c2VyLCB1X3J2YWwxKSIJfSwKKwl7IHVvZmYodV9ydmFsMiksCSJvZmZzZXRvZihzdHJ1Y3QgdXNlciwgdV9ydmFsMikiCX0sCisJeyB1b2ZmKHVfZXJyb3IpLAkib2Zmc2V0b2Yoc3RydWN0IHVzZXIsIHVfZXJyb3IpIgl9LAorCXsgdW9mZih1X2Vvc3lzKSwJIm9mZnNldG9mKHN0cnVjdCB1c2VyLCB1X2Vvc3lzKSIJfSwKKwl7IHVvZmYodV9zc2F2ZSksCSJvZmZzZXRvZihzdHJ1Y3QgdXNlciwgdV9zc2F2ZSkiCX0sCisJeyB1b2ZmKHVfc2lnbmFsWzBdKSwJIm9mZnNldG9mKHN0cnVjdCB1c2VyLCB1X3NpZ25hbCkiCX0sCisJeyB1b2ZmKHVfc2lnbWFza1swXSksCSJvZmZzZXRvZihzdHJ1Y3QgdXNlciwgdV9zaWdtYXNrKSIJfSwKKwl7IHVvZmYodV9zaWdvbnN0YWNrKSwJIm9mZnNldG9mKHN0cnVjdCB1c2VyLCB1X3NpZ29uc3RhY2spIgl9LAorCXsgdW9mZih1X3NpZ2ludHIpLAkib2Zmc2V0b2Yoc3RydWN0IHVzZXIsIHVfc2lnaW50cikiCX0sCisJeyB1b2ZmKHVfc2lncmVzZXQpLAkib2Zmc2V0b2Yoc3RydWN0IHVzZXIsIHVfc2lncmVzZXQpIgl9LAorCXsgdW9mZih1X29sZG1hc2spLAkib2Zmc2V0b2Yoc3RydWN0IHVzZXIsIHVfb2xkbWFzaykiCX0sCisJeyB1b2ZmKHVfY29kZSksCQkib2Zmc2V0b2Yoc3RydWN0IHVzZXIsIHVfY29kZSkiCQl9LAorCXsgdW9mZih1X2FkZHIpLAkJIm9mZnNldG9mKHN0cnVjdCB1c2VyLCB1X2FkZHIpIgkJfSwKKwl7IHVvZmYodV9zaWdzdGFjayksCSJvZmZzZXRvZihzdHJ1Y3QgdXNlciwgdV9zaWdzdGFjaykiCX0sCisJeyB1b2ZmKHVfb2ZpbGUpLAkib2Zmc2V0b2Yoc3RydWN0IHVzZXIsIHVfb2ZpbGUpIgl9LAorCXsgdW9mZih1X3BvZmlsZSksCSJvZmZzZXRvZihzdHJ1Y3QgdXNlciwgdV9wb2ZpbGUpIgl9LAorCXsgdW9mZih1X29maWxlX2FyclswXSksCSJvZmZzZXRvZihzdHJ1Y3QgdXNlciwgdV9vZmlsZV9hcnJbMF0pIgl9LAorCXsgdW9mZih1X3BvZmlsZV9hcnJbMF0pLCJvZmZzZXRvZihzdHJ1Y3QgdXNlciwgdV9wb2ZpbGVfYXJyWzBdKSJ9LAorCXsgdW9mZih1X2xhc3RmaWxlKSwJIm9mZnNldG9mKHN0cnVjdCB1c2VyLCB1X2xhc3RmaWxlKSIJfSwKKwl7IHVvZmYodV9jd2QpLAkJIm9mZnNldG9mKHN0cnVjdCB1c2VyLCB1X2N3ZCkiCQl9LAorCXsgdW9mZih1X2NkaXIpLAkJIm9mZnNldG9mKHN0cnVjdCB1c2VyLCB1X2NkaXIpIgkJfSwKKwl7IHVvZmYodV9yZGlyKSwJCSJvZmZzZXRvZihzdHJ1Y3QgdXNlciwgdV9yZGlyKSIJCX0sCisJeyB1b2ZmKHVfY21hc2spLAkib2Zmc2V0b2Yoc3RydWN0IHVzZXIsIHVfY21hc2spIgl9LAorCXsgdW9mZih1X3J1KSwJCSJvZmZzZXRvZihzdHJ1Y3QgdXNlciwgdV9ydSkiCQl9LAorCXsgdW9mZih1X2NydSksCQkib2Zmc2V0b2Yoc3RydWN0IHVzZXIsIHVfY3J1KSIJCX0sCisJeyB1b2ZmKHVfdGltZXJbMF0pLAkib2Zmc2V0b2Yoc3RydWN0IHVzZXIsIHVfdGltZXJbMF0pIgl9LAorCXsgdW9mZih1X1hYWFswXSksCSJvZmZzZXRvZihzdHJ1Y3QgdXNlciwgdV9YWFhbMF0pIgl9LAorCXsgdW9mZih1X2lvY2gpLAkJIm9mZnNldG9mKHN0cnVjdCB1c2VyLCB1X2lvY2gpIgkJfSwKKwl7IHVvZmYodV9zdGFydCksCSJvZmZzZXRvZihzdHJ1Y3QgdXNlciwgdV9zdGFydCkiCX0sCisJeyB1b2ZmKHVfYWNmbGFnKSwJIm9mZnNldG9mKHN0cnVjdCB1c2VyLCB1X2FjZmxhZykiCX0sCisJeyB1b2ZmKHVfcHJvZi5wcl9iYXNlKSwJIm9mZnNldG9mKHN0cnVjdCB1c2VyLCB1X3Byb2YucHJfYmFzZSkiCX0sCisJeyB1b2ZmKHVfcHJvZi5wcl9zaXplKSwJIm9mZnNldG9mKHN0cnVjdCB1c2VyLCB1X3Byb2YucHJfc2l6ZSkiCX0sCisJeyB1b2ZmKHVfcHJvZi5wcl9vZmYpLAkib2Zmc2V0b2Yoc3RydWN0IHVzZXIsIHVfcHJvZi5wcl9vZmYpIgl9LAorCXsgdW9mZih1X3Byb2YucHJfc2NhbGUpLCJvZmZzZXRvZihzdHJ1Y3QgdXNlciwgdV9wcm9mLnByX3NjYWxlKSJ9LAorCXsgdW9mZih1X3JsaW1pdFswXSksCSJvZmZzZXRvZihzdHJ1Y3QgdXNlciwgdV9ybGltaXQpIgl9LAorCXsgdW9mZih1X2V4ZGF0YS5VeF9BKSwJIm9mZnNldG9mKHN0cnVjdCB1c2VyLCB1X2V4ZGF0YS5VeF9BKSIJfSwKKwl7IHVvZmYodV9leGRhdGEudXhfc2hlbGxbMF0pLCJvZmZzZXRvZihzdHJ1Y3QgdXNlciwgdV9leGRhdGEudXhfc2hlbGxbMF0pIn0sCisJeyB1b2ZmKHVfbG9mYXVsdCksCSJvZmZzZXRvZihzdHJ1Y3QgdXNlciwgdV9sb2ZhdWx0KSIJfSwKKyMgIGVuZGlmIC8qIFNVTk9TNCAqLworIyAgaWZuZGVmIEhQUEEKKwl7IHNpemVvZihzdHJ1Y3QgdXNlciksCSJzaXplb2Yoc3RydWN0IHVzZXIpIgkJCX0sCisjICBlbmRpZgorCXsgMCwJCQlOVUxMCQkJCQl9LAorfTsKKyMgZW5kaWYgLyogIUZSRUVCU0QgKi8KKworaW50CitzeXNfcHRyYWNlKHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwljb25zdCBzdHJ1Y3QgeGxhdCAqeDsKKwlsb25nIGFkZHI7CisKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQlwcmludHh2YWwocHRyYWNlX2NtZHMsIHRjcC0+dV9hcmdbMF0sCisjIGlmbmRlZiBGUkVFQlNECisJCQkgICJQVFJBQ0VfPz8/IgorIyBlbHNlCisJCQkgICJQVF8/Pz8iCisjIGVuZGlmCisJCQkpOworCQl0cHJpbnRmKCIsICVsdSwgIiwgdGNwLT51X2FyZ1sxXSk7CisJCWFkZHIgPSB0Y3AtPnVfYXJnWzJdOworIyBpZm5kZWYgRlJFRUJTRAorCQlpZiAodGNwLT51X2FyZ1swXSA9PSBQVFJBQ0VfUEVFS1VTRVIKKwkJCXx8IHRjcC0+dV9hcmdbMF0gPT0gUFRSQUNFX1BPS0VVU0VSKSB7CisJCQlmb3IgKHggPSBzdHJ1Y3RfdXNlcl9vZmZzZXRzOyB4LT5zdHI7IHgrKykgeworCQkJCWlmICh4LT52YWwgPj0gYWRkcikKKwkJCQkJYnJlYWs7CisJCQl9CisJCQlpZiAoIXgtPnN0cikKKwkJCQl0cHJpbnRmKCIlI2x4LCAiLCBhZGRyKTsKKwkJCWVsc2UgaWYgKHgtPnZhbCA+IGFkZHIgJiYgeCAhPSBzdHJ1Y3RfdXNlcl9vZmZzZXRzKSB7CisJCQkJeC0tOworCQkJCXRwcmludGYoIiVzICsgJWxkLCAiLCB4LT5zdHIsIGFkZHIgLSB4LT52YWwpOworCQkJfQorCQkJZWxzZQorCQkJCXRwcmludGYoIiVzLCAiLCB4LT5zdHIpOworCQl9CisJCWVsc2UKKyMgZW5kaWYKKwkJCXRwcmludGYoIiUjbHgsICIsIHRjcC0+dV9hcmdbMl0pOworIyBpZmRlZiBMSU5VWAorCQlzd2l0Y2ggKHRjcC0+dV9hcmdbMF0pIHsKKyMgIGlmbmRlZiBJQTY0CisJCWNhc2UgUFRSQUNFX1BFRUtEQVRBOgorCQljYXNlIFBUUkFDRV9QRUVLVEVYVDoKKwkJY2FzZSBQVFJBQ0VfUEVFS1VTRVI6CisJCQlicmVhazsKKyMgIGVuZGlmCisJCWNhc2UgUFRSQUNFX0NPTlQ6CisJCWNhc2UgUFRSQUNFX1NJTkdMRVNURVA6CisJCWNhc2UgUFRSQUNFX1NZU0NBTEw6CisJCWNhc2UgUFRSQUNFX0RFVEFDSDoKKwkJCXByaW50c2lnbmFsKHRjcC0+dV9hcmdbM10pOworCQkJYnJlYWs7CisjICBpZmRlZiBQVFJBQ0VfU0VUT1BUSU9OUworCQljYXNlIFBUUkFDRV9TRVRPUFRJT05TOgorCQkJcHJpbnRmbGFncyhwdHJhY2Vfc2V0b3B0aW9uc19mbGFncywgdGNwLT51X2FyZ1szXSwgIlBUUkFDRV9PXz8/PyIpOworCQkJYnJlYWs7CisjICBlbmRpZgorIyAgaWZkZWYgUFRSQUNFX1NFVFNJR0lORk8KKwkJY2FzZSBQVFJBQ0VfU0VUU0lHSU5GTzogeworCQkJc2lnaW5mb190IHNpOworCQkJaWYgKCF0Y3AtPnVfYXJnWzNdKQorCQkJCXRwcmludGYoIk5VTEwiKTsKKwkJCWVsc2UgaWYgKHN5c2Vycm9yKHRjcCkpCisJCQkJdHByaW50ZigiJSNseCIsIHRjcC0+dV9hcmdbM10pOworCQkJZWxzZSBpZiAodW1vdmUodGNwLCB0Y3AtPnVfYXJnWzNdLCAmc2kpIDwgMCkKKwkJCQl0cHJpbnRmKCJ7Pz8/fSIpOworCQkJZWxzZQorCQkJCXByaW50c2lnaW5mbygmc2ksIHZlcmJvc2UodGNwKSk7CisJCQlicmVhazsKKwkJfQorIyAgZW5kaWYKKyMgIGlmZGVmIFBUUkFDRV9HRVRTSUdJTkZPCisJCWNhc2UgUFRSQUNFX0dFVFNJR0lORk86CisJCQkvKiBEb24ndCBwcmludCBhbnl0aGluZywgZG8gaXQgYXQgc3lzY2FsbCByZXR1cm4uICovCisJCQlicmVhazsKKyMgIGVuZGlmCisJCWRlZmF1bHQ6CisJCQl0cHJpbnRmKCIlI2x4IiwgdGNwLT51X2FyZ1szXSk7CisJCQlicmVhazsKKwkJfQorCX0gZWxzZSB7CisJCXN3aXRjaCAodGNwLT51X2FyZ1swXSkgeworCQljYXNlIFBUUkFDRV9QRUVLREFUQToKKwkJY2FzZSBQVFJBQ0VfUEVFS1RFWFQ6CisJCWNhc2UgUFRSQUNFX1BFRUtVU0VSOgorIyAgaWZkZWYgSUE2NAorCQkJcmV0dXJuIFJWQUxfSEVYOworIyAgZWxzZQorCQkJcHJpbnRudW0odGNwLCB0Y3AtPnVfYXJnWzNdLCAiJSNseCIpOworCQkJYnJlYWs7CisjICBlbmRpZgorIyAgaWZkZWYgUFRSQUNFX0dFVFNJR0lORk8KKwkJY2FzZSBQVFJBQ0VfR0VUU0lHSU5GTzogeworCQkJc2lnaW5mb190IHNpOworCQkJaWYgKCF0Y3AtPnVfYXJnWzNdKQorCQkJCXRwcmludGYoIk5VTEwiKTsKKwkJCWVsc2UgaWYgKHN5c2Vycm9yKHRjcCkpCisJCQkJdHByaW50ZigiJSNseCIsIHRjcC0+dV9hcmdbM10pOworCQkJZWxzZSBpZiAodW1vdmUodGNwLCB0Y3AtPnVfYXJnWzNdLCAmc2kpIDwgMCkKKwkJCQl0cHJpbnRmKCJ7Pz8/fSIpOworCQkJZWxzZQorCQkJCXByaW50c2lnaW5mbygmc2ksIHZlcmJvc2UodGNwKSk7CisJCQlicmVhazsKKwkJfQorIyAgZW5kaWYKKwkJfQorCX0KKyMgZW5kaWYgLyogTElOVVggKi8KKyMgaWZkZWYgU1VOT1M0CisJCWlmICh0Y3AtPnVfYXJnWzBdID09IFBUUkFDRV9XUklURURBVEEgfHwKKwkJCXRjcC0+dV9hcmdbMF0gPT0gUFRSQUNFX1dSSVRFVEVYVCkgeworCQkJdHByaW50ZigiJWx1LCAiLCB0Y3AtPnVfYXJnWzNdKTsKKwkJCXByaW50c3RyKHRjcCwgdGNwLT51X2FyZ1s0XSwgdGNwLT51X2FyZ1szXSk7CisJCX0gZWxzZSBpZiAodGNwLT51X2FyZ1swXSAhPSBQVFJBQ0VfUkVBRERBVEEgJiYKKwkJCQl0Y3AtPnVfYXJnWzBdICE9IFBUUkFDRV9SRUFEVEVYVCkgeworCQkJdHByaW50ZigiJSNseCIsIHRjcC0+dV9hcmdbM10pOworCQl9CisJfSBlbHNlIHsKKwkJaWYgKHRjcC0+dV9hcmdbMF0gPT0gUFRSQUNFX1JFQUREQVRBIHx8CisJCQl0Y3AtPnVfYXJnWzBdID09IFBUUkFDRV9SRUFEVEVYVCkgeworCQkJdHByaW50ZigiJWx1LCAiLCB0Y3AtPnVfYXJnWzNdKTsKKwkJCXByaW50c3RyKHRjcCwgdGNwLT51X2FyZ1s0XSwgdGNwLT51X2FyZ1szXSk7CisJCX0KKwl9CisjIGVuZGlmIC8qIFNVTk9TNCAqLworIyBpZmRlZiBGUkVFQlNECisJCXRwcmludGYoIiVsdSIsIHRjcC0+dV9hcmdbM10pOworCX0KKyMgZW5kaWYgLyogRlJFRUJTRCAqLworCXJldHVybiAwOworfQorCisjZW5kaWYgLyogIVNWUjQgKi8KKworI2lmZGVmIExJTlVYCisjIGlmbmRlZiBGVVRFWF9DTVBfUkVRVUVVRQorIyAgZGVmaW5lIEZVVEVYX0NNUF9SRVFVRVVFIDQKKyMgZW5kaWYKKyMgaWZuZGVmIEZVVEVYX1dBS0VfT1AKKyMgIGRlZmluZSBGVVRFWF9XQUtFX09QIDUKKyMgZW5kaWYKKyMgaWZuZGVmIEZVVEVYX0xPQ0tfUEkKKyMgIGRlZmluZSBGVVRFWF9MT0NLX1BJIDYKKyMgIGRlZmluZSBGVVRFWF9VTkxPQ0tfUEkgNworIyAgZGVmaW5lIEZVVEVYX1RSWUxPQ0tfUEkgOAorIyBlbmRpZgorIyBpZm5kZWYgRlVURVhfV0FJVF9CSVRTRVQKKyMgIGRlZmluZSBGVVRFWF9XQUlUX0JJVFNFVCA5CisjIGVuZGlmCisjIGlmbmRlZiBGVVRFWF9XQUtFX0JJVFNFVAorIyAgZGVmaW5lIEZVVEVYX1dBS0VfQklUU0VUIDEwCisjIGVuZGlmCisjIGlmbmRlZiBGVVRFWF9XQUlUX1JFUVVFVUVfUEkKKyMgIGRlZmluZSBGVVRFWF9XQUlUX1JFUVVFVUVfUEkgMTEKKyMgZW5kaWYKKyMgaWZuZGVmIEZVVEVYX0NNUF9SRVFVRVVFX1BJCisjICBkZWZpbmUgRlVURVhfQ01QX1JFUVVFVUVfUEkgMTIKKyMgZW5kaWYKKyMgaWZuZGVmIEZVVEVYX1BSSVZBVEVfRkxBRworIyAgZGVmaW5lIEZVVEVYX1BSSVZBVEVfRkxBRyAxMjgKKyMgZW5kaWYKKyMgaWZuZGVmIEZVVEVYX0NMT0NLX1JFQUxUSU1FCisjICBkZWZpbmUgRlVURVhfQ0xPQ0tfUkVBTFRJTUUgMjU2CisjIGVuZGlmCitzdGF0aWMgY29uc3Qgc3RydWN0IHhsYXQgZnV0ZXhvcHNbXSA9IHsKKwl7IEZVVEVYX1dBSVQsCQkJCQkiRlVURVhfV0FJVCIgfSwKKwl7IEZVVEVYX1dBS0UsCQkJCQkiRlVURVhfV0FLRSIgfSwKKwl7IEZVVEVYX0ZELAkJCQkJIkZVVEVYX0ZEIiB9LAorCXsgRlVURVhfUkVRVUVVRSwJCQkJIkZVVEVYX1JFUVVFVUUiIH0sCisJeyBGVVRFWF9DTVBfUkVRVUVVRSwJCQkJIkZVVEVYX0NNUF9SRVFVRVVFIiB9LAorCXsgRlVURVhfV0FLRV9PUCwJCQkJIkZVVEVYX1dBS0VfT1AiIH0sCisJeyBGVVRFWF9MT0NLX1BJLAkJCQkiRlVURVhfTE9DS19QSSIgfSwKKwl7IEZVVEVYX1VOTE9DS19QSSwJCQkJIkZVVEVYX1VOTE9DS19QSSIgfSwKKwl7IEZVVEVYX1RSWUxPQ0tfUEksCQkJCSJGVVRFWF9UUllMT0NLX1BJIiB9LAorCXsgRlVURVhfV0FJVF9CSVRTRVQsCQkJCSJGVVRFWF9XQUlUX0JJVFNFVCIgfSwKKwl7IEZVVEVYX1dBS0VfQklUU0VULAkJCQkiRlVURVhfV0FLRV9CSVRTRVQiIH0sCisJeyBGVVRFWF9XQUlUX1JFUVVFVUVfUEksCQkJIkZVVEVYX1dBSVRfUkVRVUVVRV9QSSIgfSwKKwl7IEZVVEVYX0NNUF9SRVFVRVVFX1BJLAkJCQkiRlVURVhfQ01QX1JFUVVFVUVfUEkiIH0sCisJeyBGVVRFWF9XQUlUfEZVVEVYX1BSSVZBVEVfRkxBRywJCSJGVVRFWF9XQUlUX1BSSVZBVEUiIH0sCisJeyBGVVRFWF9XQUtFfEZVVEVYX1BSSVZBVEVfRkxBRywJCSJGVVRFWF9XQUtFX1BSSVZBVEUiIH0sCisJeyBGVVRFWF9GRHxGVVRFWF9QUklWQVRFX0ZMQUcsCQkJIkZVVEVYX0ZEX1BSSVZBVEUiIH0sCisJeyBGVVRFWF9SRVFVRVVFfEZVVEVYX1BSSVZBVEVfRkxBRywJCSJGVVRFWF9SRVFVRVVFX1BSSVZBVEUiIH0sCisJeyBGVVRFWF9DTVBfUkVRVUVVRXxGVVRFWF9QUklWQVRFX0ZMQUcsCQkiRlVURVhfQ01QX1JFUVVFVUVfUFJJVkFURSIgfSwKKwl7IEZVVEVYX1dBS0VfT1B8RlVURVhfUFJJVkFURV9GTEFHLAkJIkZVVEVYX1dBS0VfT1BfUFJJVkFURSIgfSwKKwl7IEZVVEVYX0xPQ0tfUEl8RlVURVhfUFJJVkFURV9GTEFHLAkJIkZVVEVYX0xPQ0tfUElfUFJJVkFURSIgfSwKKwl7IEZVVEVYX1VOTE9DS19QSXxGVVRFWF9QUklWQVRFX0ZMQUcsCQkiRlVURVhfVU5MT0NLX1BJX1BSSVZBVEUiIH0sCisJeyBGVVRFWF9UUllMT0NLX1BJfEZVVEVYX1BSSVZBVEVfRkxBRywJCSJGVVRFWF9UUllMT0NLX1BJX1BSSVZBVEUiIH0sCisJeyBGVVRFWF9XQUlUX0JJVFNFVHxGVVRFWF9QUklWQVRFX0ZMQUcsCQkiRlVURVhfV0FJVF9CSVRTRVRfUFJJVkFURSIgfSwKKwl7IEZVVEVYX1dBS0VfQklUU0VUfEZVVEVYX1BSSVZBVEVfRkxBRywJCSJGVVRFWF9XQUtFX0JJVFNFVF9QUklWQVRFIiB9LAorCXsgRlVURVhfV0FJVF9SRVFVRVVFX1BJfEZVVEVYX1BSSVZBVEVfRkxBRywJIkZVVEVYX1dBSVRfUkVRVUVVRV9QSV9QUklWQVRFIiB9LAorCXsgRlVURVhfQ01QX1JFUVVFVUVfUEl8RlVURVhfUFJJVkFURV9GTEFHLAkiRlVURVhfQ01QX1JFUVVFVUVfUElfUFJJVkFURSIgfSwKKwl7IEZVVEVYX1dBSVRfQklUU0VUfEZVVEVYX0NMT0NLX1JFQUxUSU1FLAkiRlVURVhfV0FJVF9CSVRTRVR8RlVURVhfQ0xPQ0tfUkVBTFRJTUUiIH0sCisJeyBGVVRFWF9XQUlUX0JJVFNFVHxGVVRFWF9QUklWQVRFX0ZMQUd8RlVURVhfQ0xPQ0tfUkVBTFRJTUUsCSJGVVRFWF9XQUlUX0JJVFNFVF9QUklWQVRFfEZVVEVYX0NMT0NLX1JFQUxUSU1FIiB9LAorCXsgRlVURVhfV0FJVF9SRVFVRVVFX1BJfEZVVEVYX0NMT0NLX1JFQUxUSU1FLAkiRlVURVhfV0FJVF9SRVFVRVVFX1BJfEZVVEVYX0NMT0NLX1JFQUxUSU1FIiB9LAorCXsgRlVURVhfV0FJVF9SRVFVRVVFX1BJfEZVVEVYX1BSSVZBVEVfRkxBR3xGVVRFWF9DTE9DS19SRUFMVElNRSwJIkZVVEVYX1dBSVRfUkVRVUVVRV9QSV9QUklWQVRFfEZVVEVYX0NMT0NLX1JFQUxUSU1FIiB9LAorCXsgMCwJCQkJCQlOVUxMIH0KK307CisjIGlmbmRlZiBGVVRFWF9PUF9TRVQKKyMgIGRlZmluZSBGVVRFWF9PUF9TRVQJCTAKKyMgIGRlZmluZSBGVVRFWF9PUF9BREQJCTEKKyMgIGRlZmluZSBGVVRFWF9PUF9PUgkJMgorIyAgZGVmaW5lIEZVVEVYX09QX0FORE4JCTMKKyMgIGRlZmluZSBGVVRFWF9PUF9YT1IJCTQKKyMgIGRlZmluZSBGVVRFWF9PUF9DTVBfRVEJMAorIyAgZGVmaW5lIEZVVEVYX09QX0NNUF9ORQkxCisjICBkZWZpbmUgRlVURVhfT1BfQ01QX0xUCTIKKyMgIGRlZmluZSBGVVRFWF9PUF9DTVBfTEUJMworIyAgZGVmaW5lIEZVVEVYX09QX0NNUF9HVAk0CisjICBkZWZpbmUgRlVURVhfT1BfQ01QX0dFCTUKKyMgZW5kaWYKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCBmdXRleHdha2VvcHNbXSA9IHsKKwl7IEZVVEVYX09QX1NFVCwJCSJGVVRFWF9PUF9TRVQiIH0sCisJeyBGVVRFWF9PUF9BREQsCQkiRlVURVhfT1BfQUREIiB9LAorCXsgRlVURVhfT1BfT1IsCQkiRlVURVhfT1BfT1IiIH0sCisJeyBGVVRFWF9PUF9BTkROLAkiRlVURVhfT1BfQU5ETiIgfSwKKwl7IEZVVEVYX09QX1hPUiwJCSJGVVRFWF9PUF9YT1IiIH0sCisJeyAwLAkJCU5VTEwgfQorfTsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCBmdXRleHdha2VjbXBzW10gPSB7CisJeyBGVVRFWF9PUF9DTVBfRVEsCSJGVVRFWF9PUF9DTVBfRVEiIH0sCisJeyBGVVRFWF9PUF9DTVBfTkUsCSJGVVRFWF9PUF9DTVBfTkUiIH0sCisJeyBGVVRFWF9PUF9DTVBfTFQsCSJGVVRFWF9PUF9DTVBfTFQiIH0sCisJeyBGVVRFWF9PUF9DTVBfTEUsCSJGVVRFWF9PUF9DTVBfTEUiIH0sCisJeyBGVVRFWF9PUF9DTVBfR1QsCSJGVVRFWF9PUF9DTVBfR1QiIH0sCisJeyBGVVRFWF9PUF9DTVBfR0UsCSJGVVRFWF9PUF9DTVBfR0UiIH0sCisJeyAwLAkJCU5VTEwgfQorfTsKKworaW50CitzeXNfZnV0ZXgoc3RydWN0IHRjYiAqdGNwKQoreworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCWxvbmcgaW50IGNtZCA9IHRjcC0+dV9hcmdbMV0gJiAxMjc7CisJCXRwcmludGYoIiVwLCAiLCAodm9pZCAqKSB0Y3AtPnVfYXJnWzBdKTsKKwkJcHJpbnR4dmFsKGZ1dGV4b3BzLCB0Y3AtPnVfYXJnWzFdLCAiRlVURVhfPz8/Iik7CisJCXRwcmludGYoIiwgJWxkIiwgdGNwLT51X2FyZ1syXSk7CisJCWlmIChjbWQgPT0gRlVURVhfV0FLRV9CSVRTRVQpCisJCQl0cHJpbnRmKCIsICVseCIsIHRjcC0+dV9hcmdbNV0pOworCQllbHNlIGlmIChjbWQgPT0gRlVURVhfV0FJVCkgeworCQkJdHByaW50ZigiLCAiKTsKKwkJCXByaW50dHYodGNwLCB0Y3AtPnVfYXJnWzNdKTsKKwkJfSBlbHNlIGlmIChjbWQgPT0gRlVURVhfV0FJVF9CSVRTRVQpIHsKKwkJCXRwcmludGYoIiwgIik7CisJCQlwcmludHR2KHRjcCwgdGNwLT51X2FyZ1szXSk7CisJCQl0cHJpbnRmKCIsICVseCIsIHRjcC0+dV9hcmdbNV0pOworCQl9IGVsc2UgaWYgKGNtZCA9PSBGVVRFWF9SRVFVRVVFKQorCQkJdHByaW50ZigiLCAlbGQsICVwIiwgdGNwLT51X2FyZ1szXSwgKHZvaWQgKikgdGNwLT51X2FyZ1s0XSk7CisJCWVsc2UgaWYgKGNtZCA9PSBGVVRFWF9DTVBfUkVRVUVVRSB8fCBjbWQgPT0gRlVURVhfQ01QX1JFUVVFVUVfUEkpCisJCQl0cHJpbnRmKCIsICVsZCwgJXAsICVsZCIsIHRjcC0+dV9hcmdbM10sICh2b2lkICopIHRjcC0+dV9hcmdbNF0sIHRjcC0+dV9hcmdbNV0pOworCQllbHNlIGlmIChjbWQgPT0gRlVURVhfV0FLRV9PUCkgeworCQkJdHByaW50ZigiLCAlbGQsICVwLCB7IiwgdGNwLT51X2FyZ1szXSwgKHZvaWQgKikgdGNwLT51X2FyZ1s0XSk7CisJCQlpZiAoKHRjcC0+dV9hcmdbNV0gPj4gMjgpICYgOCkKKwkJCQl0cHJpbnRmKCJGVVRFWF9PUF9PUEFSR19TSElGVHwiKTsKKwkJCXByaW50eHZhbChmdXRleHdha2VvcHMsICh0Y3AtPnVfYXJnWzVdID4+IDI4KSAmIDB4NywgIkZVVEVYX09QXz8/PyIpOworCQkJdHByaW50ZigiLCAlbGQsICIsICh0Y3AtPnVfYXJnWzVdID4+IDEyKSAmIDB4ZmZmKTsKKwkJCWlmICgodGNwLT51X2FyZ1s1XSA+PiAyNCkgJiA4KQorCQkJCXRwcmludGYoIkZVVEVYX09QX09QQVJHX1NISUZUfCIpOworCQkJcHJpbnR4dmFsKGZ1dGV4d2FrZWNtcHMsICh0Y3AtPnVfYXJnWzVdID4+IDI0KSAmIDB4NywgIkZVVEVYX09QX0NNUF8/Pz8iKTsKKwkJCXRwcmludGYoIiwgJWxkfSIsIHRjcC0+dV9hcmdbNV0gJiAweGZmZik7CisJCX0gZWxzZSBpZiAoY21kID09IEZVVEVYX1dBSVRfUkVRVUVVRV9QSSkgeworCQkJdHByaW50ZigiLCAiKTsKKwkJCXByaW50dHYodGNwLCB0Y3AtPnVfYXJnWzNdKTsKKwkJCXRwcmludGYoIiwgJXAiLCAodm9pZCAqKSB0Y3AtPnVfYXJnWzRdKTsKKwkJfQorCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQKK3ByaW50X2FmZmluaXR5bGlzdChzdHJ1Y3QgdGNiICp0Y3AsIGxvbmcgbGlzdCwgdW5zaWduZWQgaW50IGxlbikKK3sKKwlpbnQgZmlyc3QgPSAxOworCXVuc2lnbmVkIGxvbmcgdywgbWluX2xlbjsKKworCWlmIChhYmJyZXYodGNwKSAmJiBsZW4gLyBzaXplb2YodykgPiBtYXhfc3RybGVuKQorCQltaW5fbGVuID0gbGVuIC0gbWF4X3N0cmxlbiAqIHNpemVvZih3KTsKKwllbHNlCisJCW1pbl9sZW4gPSAwOworCWZvciAoOyBsZW4gPj0gc2l6ZW9mKHcpICYmIGxlbiA+IG1pbl9sZW47CisJICAgICBsZW4gLT0gc2l6ZW9mKHcpLCBsaXN0ICs9IHNpemVvZih3KSkgeworCQlpZiAodW1vdmUodGNwLCBsaXN0LCAmdykgPCAwKQorCQkJYnJlYWs7CisJCWlmIChmaXJzdCkKKwkJCXRwcmludGYoInsiKTsKKwkJZWxzZQorCQkJdHByaW50ZigiLCAiKTsKKwkJZmlyc3QgPSAwOworCQl0cHJpbnRmKCIlbHgiLCB3KTsKKwl9CisJaWYgKGxlbikgeworCQlpZiAoZmlyc3QpCisJCQl0cHJpbnRmKCIlI2x4IiwgbGlzdCk7CisJCWVsc2UKKwkJCXRwcmludGYoIiwgJXN9IiwgKGxlbiA+PSBzaXplb2YodykgJiYgbGVuID4gbWluX2xlbiA/CisJCQkJIj8/PyIgOiAiLi4uIikpOworCX0gZWxzZSB7CisJCXRwcmludGYoZmlyc3QgPyAie30iIDogIn0iKTsKKwl9Cit9CisKK2ludAorc3lzX3NjaGVkX3NldGFmZmluaXR5KHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQl0cHJpbnRmKCIlbGQsICVsdSwgIiwgdGNwLT51X2FyZ1swXSwgdGNwLT51X2FyZ1sxXSk7CisJCXByaW50X2FmZmluaXR5bGlzdCh0Y3AsIHRjcC0+dV9hcmdbMl0sIHRjcC0+dV9hcmdbMV0pOworCX0KKwlyZXR1cm4gMDsKK30KKworaW50CitzeXNfc2NoZWRfZ2V0YWZmaW5pdHkoc3RydWN0IHRjYiAqdGNwKQoreworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXRwcmludGYoIiVsZCwgJWx1LCAiLCB0Y3AtPnVfYXJnWzBdLCB0Y3AtPnVfYXJnWzFdKTsKKwl9IGVsc2UgeworCQlpZiAodGNwLT51X3J2YWwgPT0gLTEpCisJCQl0cHJpbnRmKCIlI2x4IiwgdGNwLT51X2FyZ1syXSk7CisJCWVsc2UKKwkJCXByaW50X2FmZmluaXR5bGlzdCh0Y3AsIHRjcC0+dV9hcmdbMl0sIHRjcC0+dV9ydmFsKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCBzY2hlZHVsZXJzW10gPSB7CisJeyBTQ0hFRF9PVEhFUiwJIlNDSEVEX09USEVSIiB9LAorCXsgU0NIRURfUlIsCSJTQ0hFRF9SUiIgfSwKKwl7IFNDSEVEX0ZJRk8sCSJTQ0hFRF9GSUZPIiB9LAorCXsgMCwJCU5VTEwgfQorfTsKKworaW50CitzeXNfc2NoZWRfZ2V0c2NoZWR1bGVyKHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQl0cHJpbnRmKCIlZCIsIChpbnQpIHRjcC0+dV9hcmdbMF0pOworCX0gZWxzZSBpZiAoISBzeXNlcnJvcih0Y3ApKSB7CisJCXRjcC0+YXV4c3RyID0geGxvb2t1cCAoc2NoZWR1bGVycywgdGNwLT51X3J2YWwpOworCQlpZiAodGNwLT5hdXhzdHIgIT0gTlVMTCkKKwkJCXJldHVybiBSVkFMX1NUUjsKKwl9CisJcmV0dXJuIDA7Cit9CisKK2ludAorc3lzX3NjaGVkX3NldHNjaGVkdWxlcihzdHJ1Y3QgdGNiICp0Y3ApCit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJc3RydWN0IHNjaGVkX3BhcmFtIHA7CisJCXRwcmludGYoIiVkLCAiLCAoaW50KSB0Y3AtPnVfYXJnWzBdKTsKKwkJcHJpbnR4dmFsKHNjaGVkdWxlcnMsIHRjcC0+dV9hcmdbMV0sICJTQ0hFRF8/Pz8iKTsKKwkJaWYgKHVtb3ZlKHRjcCwgdGNwLT51X2FyZ1syXSwgJnApIDwgMCkKKwkJCXRwcmludGYoIiwgJSNseCIsIHRjcC0+dV9hcmdbMl0pOworCQllbHNlCisJCQl0cHJpbnRmKCIsIHsgJWQgfSIsIHAuX19zY2hlZF9wcmlvcml0eSk7CisJfQorCXJldHVybiAwOworfQorCitpbnQKK3N5c19zY2hlZF9nZXRwYXJhbShzdHJ1Y3QgdGNiICp0Y3ApCit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJdHByaW50ZigiJWQsICIsIChpbnQpIHRjcC0+dV9hcmdbMF0pOworCX0gZWxzZSB7CisJCXN0cnVjdCBzY2hlZF9wYXJhbSBwOworCQlpZiAodW1vdmUodGNwLCB0Y3AtPnVfYXJnWzFdLCAmcCkgPCAwKQorCQkJdHByaW50ZigiJSNseCIsIHRjcC0+dV9hcmdbMV0pOworCQllbHNlCisJCQl0cHJpbnRmKCJ7ICVkIH0iLCBwLl9fc2NoZWRfcHJpb3JpdHkpOworCX0KKwlyZXR1cm4gMDsKK30KKworaW50CitzeXNfc2NoZWRfc2V0cGFyYW0oc3RydWN0IHRjYiAqdGNwKQoreworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXN0cnVjdCBzY2hlZF9wYXJhbSBwOworCQlpZiAodW1vdmUodGNwLCB0Y3AtPnVfYXJnWzFdLCAmcCkgPCAwKQorCQkJdHByaW50ZigiJWQsICUjbHgiLCAoaW50KSB0Y3AtPnVfYXJnWzBdLCB0Y3AtPnVfYXJnWzFdKTsKKwkJZWxzZQorCQkJdHByaW50ZigiJWQsIHsgJWQgfSIsIChpbnQpIHRjcC0+dV9hcmdbMF0sIHAuX19zY2hlZF9wcmlvcml0eSk7CisJfQorCXJldHVybiAwOworfQorCitpbnQKK3N5c19zY2hlZF9nZXRfcHJpb3JpdHlfbWluKHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQlwcmludHh2YWwoc2NoZWR1bGVycywgdGNwLT51X2FyZ1swXSwgIlNDSEVEXz8/PyIpOworCX0KKwlyZXR1cm4gMDsKK30KKworIyBpZmRlZiBYODZfNjQKKyMgaW5jbHVkZSA8YXNtL3ByY3RsLmg+CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCBhcmNodmFsc1tdID0geworCXsgQVJDSF9TRVRfR1MsCQkiQVJDSF9TRVRfR1MiCQl9LAorCXsgQVJDSF9TRVRfRlMsCQkiQVJDSF9TRVRfRlMiCQl9LAorCXsgQVJDSF9HRVRfRlMsCQkiQVJDSF9HRVRfRlMiCQl9LAorCXsgQVJDSF9HRVRfR1MsCQkiQVJDSF9HRVRfR1MiCQl9LAorCXsgMCwJCQlOVUxMCQkJfSwKK307CisKK2ludAorc3lzX2FyY2hfcHJjdGwoc3RydWN0IHRjYiAqdGNwKQoreworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXByaW50eHZhbChhcmNodmFscywgdGNwLT51X2FyZ1swXSwgIkFSQ0hfPz8/Iik7CisJCWlmICh0Y3AtPnVfYXJnWzBdID09IEFSQ0hfU0VUX0dTCisJCSB8fCB0Y3AtPnVfYXJnWzBdID09IEFSQ0hfU0VUX0ZTCisJCSkgeworCQkJdHByaW50ZigiLCAlI2x4IiwgdGNwLT51X2FyZ1sxXSk7CisJCX0KKwl9IGVsc2UgeworCQlpZiAodGNwLT51X2FyZ1swXSA9PSBBUkNIX0dFVF9HUworCQkgfHwgdGNwLT51X2FyZ1swXSA9PSBBUkNIX0dFVF9GUworCQkpIHsKKwkJCWxvbmcgaW50IHY7CisJCQlpZiAoIXN5c2Vycm9yKHRjcCkgJiYgdW1vdmUodGNwLCB0Y3AtPnVfYXJnWzFdLCAmdikgIT0gLTEpCisJCQkJdHByaW50ZigiLCBbJSNseF0iLCB2KTsKKwkJCWVsc2UKKwkJCQl0cHJpbnRmKCIsICUjbHgiLCB0Y3AtPnVfYXJnWzFdKTsKKwkJfQorCX0KKwlyZXR1cm4gMDsKK30KKyMgZW5kaWYgLyogWDg2XzY0ICovCisKKworaW50CitzeXNfZ2V0Y3B1KHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwlpZiAoZXhpdGluZyh0Y3ApKSB7CisJCXVuc2lnbmVkIHU7CisJCWlmICh0Y3AtPnVfYXJnWzBdID09IDApCisJCQl0cHJpbnRmKCJOVUxMLCAiKTsKKwkJZWxzZSBpZiAodW1vdmUodGNwLCB0Y3AtPnVfYXJnWzBdLCAmdSkgPCAwKQorCQkJdHByaW50ZigiJSNseCwgIiwgdGNwLT51X2FyZ1swXSk7CisJCWVsc2UKKwkJCXRwcmludGYoIlsldV0sICIsIHUpOworCQlpZiAodGNwLT51X2FyZ1sxXSA9PSAwKQorCQkJdHByaW50ZigiTlVMTCwgIik7CisJCWVsc2UgaWYgKHVtb3ZlKHRjcCwgdGNwLT51X2FyZ1sxXSwgJnUpIDwgMCkKKwkJCXRwcmludGYoIiUjbHgsICIsIHRjcC0+dV9hcmdbMV0pOworCQllbHNlCisJCQl0cHJpbnRmKCJbJXVdLCAiLCB1KTsKKwkJdHByaW50ZigiJSNseCIsIHRjcC0+dV9hcmdbMl0pOworCX0KKwlyZXR1cm4gMDsKK30KKworI2VuZGlmIC8qIExJTlVYICovCmRpZmYgLS1naXQgYS9zdHJhY2UtNC41LjIwL3F1b3RhLmMgYi9zdHJhY2UtNC41LjIwL3F1b3RhLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjA3ZDFhMQotLS0gL2Rldi9udWxsCisrKyBiL3N0cmFjZS00LjUuMjAvcXVvdGEuYwpAQCAtMCwwICsxLDczNiBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMTk5MSwgMTk5MiBQYXVsIEtyYW5lbmJ1cmcgPHBrQGNzLmZldy5ldXIubmw+CisgKiBDb3B5cmlnaHQgKGMpIDE5OTMgQnJhbmtvIExhbmtlc3RlciA8YnJhbmtvQGhhY2t0aWMubmw+CisgKiBDb3B5cmlnaHQgKGMpIDE5OTMsIDE5OTQsIDE5OTUsIDE5OTYgUmljayBTbGFka2V5IDxqcnNAd29ybGQuc3RkLmNvbT4KKyAqIENvcHlyaWdodCAoYykgMTk5Ni0xOTk5IFdpY2hlcnQgQWtrZXJtYW4gPHdpY2hlcnRAY2lzdHJvbi5ubD4KKyAqIENvcHlyaWdodCAoYykgMjAwNSwgMjAwNiBEbWl0cnkgVi4gTGV2aW4gPGxkdkBhbHRsaW51eC5vcmc+CisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gVGhlIG5hbWUgb2YgdGhlIGF1dGhvciBtYXkgbm90IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzCisgKiAgICBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBBVVRIT1IgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUyBPUgorICogSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUworICogT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4KKyAqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKKyAqIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVAorICogTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKgorICoJJElkJAorICovCisKKyNpbmNsdWRlICJkZWZzLmgiCisKKyNpZmRlZiBMSU5VWAorCisjaW5jbHVkZSA8aW50dHlwZXMuaD4KKworI2RlZmluZSBTVUJDTURNQVNLICAweDAwZmYKKyNkZWZpbmUgU1VCQ01EU0hJRlQgOAorI2RlZmluZSBRQ01EX0NNRChjbWQpCSgodV9pbnQzMl90KShjbWQpID4+IFNVQkNNRFNISUZUKQorI2RlZmluZSBRQ01EX1RZUEUoY21kKQkoKHVfaW50MzJfdCkoY21kKSAmIFNVQkNNRE1BU0spCisKKyNkZWZpbmUgT0xEX0NNRChjbWQpCSgodV9pbnQzMl90KShjbWQpIDw8IDgpCisjZGVmaW5lIE5FV19DTUQoY21kKQkoKHVfaW50MzJfdCkoY21kKSB8IDB4ODAwMDAwKQorI2RlZmluZSBYUU1fQ01EKGNtZCkJKCh1X2ludDMyX3QpKGNtZCkgfCAoJ1gnPDw4KSkKKworI2RlZmluZSBRX1YxX1FVT1RBT04JT0xEX0NNRCgweDEpCisjZGVmaW5lIFFfVjFfUVVPVEFPRkYJT0xEX0NNRCgweDIpCisjZGVmaW5lIFFfVjFfR0VUUVVPVEEJT0xEX0NNRCgweDMpCisjZGVmaW5lIFFfVjFfU0VUUVVPVEEJT0xEX0NNRCgweDQpCisjZGVmaW5lIFFfVjFfU0VUVVNFCU9MRF9DTUQoMHg1KQorI2RlZmluZSBRX1YxX1NZTkMJT0xEX0NNRCgweDYpCisjZGVmaW5lIFFfU0VUUUxJTQlPTERfQ01EKDB4NykKKyNkZWZpbmUgUV9WMV9HRVRTVEFUUwlPTERfQ01EKDB4OCkKKyNkZWZpbmUgUV9WMV9SU1FVQVNICU9MRF9DTUQoMHgxMCkKKworI2RlZmluZSBRX1YyX0dFVFFVT1RBCU9MRF9DTUQoMHhEKQorI2RlZmluZSBRX1YyX1NFVFFVT1RBCU9MRF9DTUQoMHhFKQorI2RlZmluZSBRX1YyX1NFVFVTRQlPTERfQ01EKDB4RikKKyNkZWZpbmUgUV9WMl9HRVRJTkZPCU9MRF9DTUQoMHg5KQorI2RlZmluZSBRX1YyX1NFVElORk8JT0xEX0NNRCgweEEpCisjZGVmaW5lIFFfVjJfU0VUR1JBQ0UJT0xEX0NNRCgweEIpCisjZGVmaW5lIFFfVjJfU0VURkxBR1MJT0xEX0NNRCgweEMpCisjZGVmaW5lIFFfVjJfR0VUU1RBVFMJT0xEX0NNRCgweDExKQorCisjZGVmaW5lIFFfU1lOQwkJTkVXX0NNRCgweDEpCisjZGVmaW5lIFFfUVVPVEFPTglORVdfQ01EKDB4MikKKyNkZWZpbmUgUV9RVU9UQU9GRglORVdfQ01EKDB4MykKKyNkZWZpbmUgUV9HRVRGTVQJTkVXX0NNRCgweDQpCisjZGVmaW5lIFFfR0VUSU5GTwlORVdfQ01EKDB4NSkKKyNkZWZpbmUgUV9TRVRJTkZPCU5FV19DTUQoMHg2KQorI2RlZmluZSBRX0dFVFFVT1RBCU5FV19DTUQoMHg3KQorI2RlZmluZSBRX1NFVFFVT1RBCU5FV19DTUQoMHg4KQorCisjZGVmaW5lIFFfWFFVT1RBT04JWFFNX0NNRCgweDEpCisjZGVmaW5lIFFfWFFVT1RBT0ZGCVhRTV9DTUQoMHgyKQorI2RlZmluZSBRX1hHRVRRVU9UQQlYUU1fQ01EKDB4MykKKyNkZWZpbmUgUV9YU0VUUUxJTQlYUU1fQ01EKDB4NCkKKyNkZWZpbmUgUV9YR0VUUVNUQVQJWFFNX0NNRCgweDUpCisjZGVmaW5lIFFfWFFVT1RBUk0JWFFNX0NNRCgweDYpCisjZGVmaW5lIFFfWFFVT1RBU1lOQwlYUU1fQ01EKDB4NykKKworc3RhdGljIGNvbnN0IHN0cnVjdCB4bGF0IHF1b3RhY21kc1tdID0geworCXtRX1YxX1FVT1RBT04sICJRX1YxX1FVT1RBT04ifSwKKwl7UV9WMV9RVU9UQU9GRiwgIlFfVjFfUVVPVEFPRkYifSwKKwl7UV9WMV9HRVRRVU9UQSwgIlFfVjFfR0VUUVVPVEEifSwKKwl7UV9WMV9TRVRRVU9UQSwgIlFfVjFfU0VUUVVPVEEifSwKKwl7UV9WMV9TRVRVU0UsICJRX1YxX1NFVFVTRSJ9LAorCXtRX1YxX1NZTkMsICJRX1YxX1NZTkMifSwKKwl7UV9TRVRRTElNLCAiUV9TRVRRTElNIn0sCisJe1FfVjFfR0VUU1RBVFMsICJRX1YxX0dFVFNUQVRTIn0sCisJe1FfVjFfUlNRVUFTSCwgIlFfVjFfUlNRVUFTSCJ9LAorCisJe1FfVjJfR0VUUVVPVEEsICJRX1YyX0dFVFFVT1RBIn0sCisJe1FfVjJfU0VUUVVPVEEsICJRX1YyX1NFVFFVT1RBIn0sCisJe1FfVjJfU0VUVVNFLCAiUV9WMl9TRVRVU0UifSwKKwl7UV9WMl9HRVRJTkZPLCAiUV9WMl9HRVRJTkZPIn0sCisJe1FfVjJfU0VUSU5GTywgIlFfVjJfU0VUSU5GTyJ9LAorCXtRX1YyX1NFVEdSQUNFLCAiUV9WMl9TRVRHUkFDRSJ9LAorCXtRX1YyX1NFVEZMQUdTLCAiUV9WMl9TRVRGTEFHUyJ9LAorCXtRX1YyX0dFVFNUQVRTLCAiUV9WMl9HRVRTVEFUUyJ9LAorCisJe1FfU1lOQywgIlFfU1lOQyJ9LAorCXtRX1FVT1RBT04sICJRX1FVT1RBT04ifSwKKwl7UV9RVU9UQU9GRiwgIlFfUVVPVEFPRkYifSwKKwl7UV9HRVRGTVQsICJRX0dFVEZNVCJ9LAorCXtRX0dFVElORk8sICJRX0dFVElORk8ifSwKKwl7UV9TRVRJTkZPLCAiUV9TRVRJTkZPIn0sCisJe1FfR0VUUVVPVEEsICJRX0dFVFFVT1RBIn0sCisJe1FfU0VUUVVPVEEsICJRX1NFVFFVT1RBIn0sCisKKwl7UV9YUVVPVEFPTiwgIlFfWFFVT1RBT04ifSwKKwl7UV9YUVVPVEFPRkYsICJRX1hRVU9UQU9GRiJ9LAorCXtRX1hHRVRRVU9UQSwgIlFfWEdFVFFVT1RBIn0sCisJe1FfWFNFVFFMSU0sICJRX1hTRVRRTElNIn0sCisJe1FfWEdFVFFTVEFULCAiUV9YR0VUUVNUQVQifSwKKwl7UV9YUVVPVEFSTSwgIlFfWFFVT1RBUk0ifSwKKwl7UV9YUVVPVEFTWU5DLCAiUV9YUVVPVEFTWU5DIn0sCisKKwl7MCwgTlVMTH0sCit9OworCisjZGVmaW5lIFVTUlFVT1RBIDAKKyNkZWZpbmUgR1JQUVVPVEEgMQorCitzdGF0aWMgY29uc3Qgc3RydWN0IHhsYXQgcXVvdGF0eXBlc1tdID0geworCXtVU1JRVU9UQSwgIlVTUlFVT1RBIn0sCisJe0dSUFFVT1RBLCAiR1JQUVVPVEEifSwKKwl7MCwgTlVMTH0sCit9OworCisvKiBRdW90YSBmb3JtYXQgaWRlbnRpZmllcnMgKi8KKyNkZWZpbmUgUUZNVF9WRlNfT0xEIDEKKyNkZWZpbmUgUUZNVF9WRlNfVjAgIDIKKworc3RhdGljIGNvbnN0IHN0cnVjdCB4bGF0IHF1b3RhX2Zvcm1hdHNbXSA9IHsKKwl7UUZNVF9WRlNfT0xELCAiUUZNVF9WRlNfT0xEIn0sCisJe1FGTVRfVkZTX1YwLCAiUUZNVF9WRlNfVjAifSwKKwl7MCwgTlVMTH0sCit9OworCisjZGVmaW5lIFhGU19RVU9UQV9VRFFfQUNDVAkoMTw8MCkJLyogdXNlciBxdW90YSBhY2NvdW50aW5nICovCisjZGVmaW5lIFhGU19RVU9UQV9VRFFfRU5GRAkoMTw8MSkJLyogdXNlciBxdW90YSBsaW1pdHMgZW5mb3JjZW1lbnQgKi8KKyNkZWZpbmUgWEZTX1FVT1RBX0dEUV9BQ0NUCSgxPDwyKQkvKiBncm91cCBxdW90YSBhY2NvdW50aW5nICovCisjZGVmaW5lIFhGU19RVU9UQV9HRFFfRU5GRAkoMTw8MykJLyogZ3JvdXAgcXVvdGEgbGltaXRzIGVuZm9yY2VtZW50ICovCisKKyNkZWZpbmUgWEZTX1VTRVJfUVVPVEEJCSgxPDwwKQkvKiB1c2VyIHF1b3RhIHR5cGUgKi8KKyNkZWZpbmUgWEZTX1BST0pfUVVPVEEJCSgxPDwxKQkvKiAoSVJJWCkgcHJvamVjdCBxdW90YSB0eXBlICovCisjZGVmaW5lIFhGU19HUk9VUF9RVU9UQQkJKDE8PDIpCS8qIGdyb3VwIHF1b3RhIHR5cGUgKi8KKworc3RhdGljIGNvbnN0IHN0cnVjdCB4bGF0IHhmc19xdW90YV9mbGFnc1tdID0geworCXtYRlNfUVVPVEFfVURRX0FDQ1QsICJYRlNfUVVPVEFfVURRX0FDQ1QifSwKKwl7WEZTX1FVT1RBX1VEUV9FTkZELCAiWEZTX1FVT1RBX1VEUV9FTkZEIn0sCisJe1hGU19RVU9UQV9HRFFfQUNDVCwgIlhGU19RVU9UQV9HRFFfQUNDVCJ9LAorCXtYRlNfUVVPVEFfR0RRX0VORkQsICJYRlNfUVVPVEFfR0RRX0VORkQifSwKKwl7MCwgTlVMTH0KK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCB4ZnNfZHFibGtfZmxhZ3NbXSA9IHsKKwl7WEZTX1VTRVJfUVVPVEEsICJYRlNfVVNFUl9RVU9UQSJ9LAorCXtYRlNfUFJPSl9RVU9UQSwgIlhGU19QUk9KX1FVT1RBIn0sCisJe1hGU19HUk9VUF9RVU9UQSwgIlhGU19HUk9VUF9RVU9UQSJ9LAorCXswLCBOVUxMfQorfTsKKworLyoKKyAqIEZvbGxvd2luZyBmbGFncyBhcmUgdXNlZCB0byBzcGVjaWZ5IHdoaWNoIGZpZWxkcyBhcmUgdmFsaWQKKyAqLworI2RlZmluZSBRSUZfQkxJTUlUUwkxCisjZGVmaW5lIFFJRl9TUEFDRQkyCisjZGVmaW5lIFFJRl9JTElNSVRTCTQKKyNkZWZpbmUgUUlGX0lOT0RFUwk4CisjZGVmaW5lIFFJRl9CVElNRQkxNgorI2RlZmluZSBRSUZfSVRJTUUJMzIKKworc3RhdGljIGNvbnN0IHN0cnVjdCB4bGF0IGlmX2RxYmxrX3ZhbGlkW10gPSB7CisJe1FJRl9CTElNSVRTLCAiUUlGX0JMSU1JVFMifSwKKwl7UUlGX1NQQUNFLCAiUUlGX1NQQUNFIn0sCisJe1FJRl9JTElNSVRTLCAiUUlGX0lMSU1JVFMifSwKKwl7UUlGX0lOT0RFUywgIlFJRl9JTk9ERVMifSwKKwl7UUlGX0JUSU1FLCAiUUlGX0JUSU1FIn0sCisJe1FJRl9JVElNRSwgIlFJRl9JVElNRSJ9LAorCXswLCBOVUxMfQorfTsKKworc3RydWN0IGlmX2RxYmxrCit7CisJdV9pbnQ2NF90IGRxYl9iaGFyZGxpbWl0OworCXVfaW50NjRfdCBkcWJfYnNvZnRsaW1pdDsKKwl1X2ludDY0X3QgZHFiX2N1cnNwYWNlOworCXVfaW50NjRfdCBkcWJfaWhhcmRsaW1pdDsKKwl1X2ludDY0X3QgZHFiX2lzb2Z0bGltaXQ7CisJdV9pbnQ2NF90IGRxYl9jdXJpbm9kZXM7CisJdV9pbnQ2NF90IGRxYl9idGltZTsKKwl1X2ludDY0X3QgZHFiX2l0aW1lOworCXVfaW50MzJfdCBkcWJfdmFsaWQ7Cit9OworCitzdHJ1Y3QgdjFfZHFibGsKK3sKKwl1X2ludDMyX3QgZHFiX2JoYXJkbGltaXQ7CS8qIGFic29sdXRlIGxpbWl0IG9uIGRpc2sgYmxrcyBhbGxvYyAqLworCXVfaW50MzJfdCBkcWJfYnNvZnRsaW1pdDsJLyogcHJlZmVycmVkIGxpbWl0IG9uIGRpc2sgYmxrcyAqLworCXVfaW50MzJfdCBkcWJfY3VyYmxvY2tzOwkvKiBjdXJyZW50IGJsb2NrIGNvdW50ICovCisJdV9pbnQzMl90IGRxYl9paGFyZGxpbWl0OwkvKiBtYXhpbXVtICMgYWxsb2NhdGVkIGlub2RlcyAqLworCXVfaW50MzJfdCBkcWJfaXNvZnRsaW1pdDsJLyogcHJlZmVycmVkIGlub2RlIGxpbWl0ICovCisJdV9pbnQzMl90IGRxYl9jdXJpbm9kZXM7CS8qIGN1cnJlbnQgIyBhbGxvY2F0ZWQgaW5vZGVzICovCisJdGltZV90ICBkcWJfYnRpbWU7CS8qIHRpbWUgbGltaXQgZm9yIGV4Y2Vzc2l2ZSBkaXNrIHVzZSAqLworCXRpbWVfdCAgZHFiX2l0aW1lOwkvKiB0aW1lIGxpbWl0IGZvciBleGNlc3NpdmUgZmlsZXMgKi8KK307CisKK3N0cnVjdCB2Ml9kcWJsaworeworCXVuc2lnbmVkIGludCBkcWJfaWhhcmRsaW1pdDsKKwl1bnNpZ25lZCBpbnQgZHFiX2lzb2Z0bGltaXQ7CisJdW5zaWduZWQgaW50IGRxYl9jdXJpbm9kZXM7CisJdW5zaWduZWQgaW50IGRxYl9iaGFyZGxpbWl0OworCXVuc2lnbmVkIGludCBkcWJfYnNvZnRsaW1pdDsKKwl1X2ludDY0X3QgZHFiX2N1cnNwYWNlOworCXRpbWVfdCAgZHFiX2J0aW1lOworCXRpbWVfdCAgZHFiX2l0aW1lOworfTsKKworc3RydWN0IHhmc19kcWJsaworeworCWludDhfdCAgZF92ZXJzaW9uOwkvKiB2ZXJzaW9uIG9mIHRoaXMgc3RydWN0dXJlICovCisJaW50OF90ICBkX2ZsYWdzOwkvKiBYRlNfe1VTRVIsUFJPSixHUk9VUH1fUVVPVEEgKi8KKwl1X2ludDE2X3QgZF9maWVsZG1hc2s7CS8qIGZpZWxkIHNwZWNpZmllciAqLworCXVfaW50MzJfdCBkX2lkOwkJLyogdXNlciwgcHJvamVjdCwgb3IgZ3JvdXAgSUQgKi8KKwl1X2ludDY0X3QgZF9ibGtfaGFyZGxpbWl0OwkvKiBhYnNvbHV0ZSBsaW1pdCBvbiBkaXNrIGJsa3MgKi8KKwl1X2ludDY0X3QgZF9ibGtfc29mdGxpbWl0OwkvKiBwcmVmZXJyZWQgbGltaXQgb24gZGlzayBibGtzICovCisJdV9pbnQ2NF90IGRfaW5vX2hhcmRsaW1pdDsJLyogbWF4aW11bSAjIGFsbG9jYXRlZCBpbm9kZXMgKi8KKwl1X2ludDY0X3QgZF9pbm9fc29mdGxpbWl0OwkvKiBwcmVmZXJyZWQgaW5vZGUgbGltaXQgKi8KKwl1X2ludDY0X3QgZF9iY291bnQ7CS8qICMgZGlzayBibG9ja3Mgb3duZWQgYnkgdGhlIHVzZXIgKi8KKwl1X2ludDY0X3QgZF9pY291bnQ7CS8qICMgaW5vZGVzIG93bmVkIGJ5IHRoZSB1c2VyICovCisJaW50MzJfdCBkX2l0aW1lcjsJLyogemVybyBpZiB3aXRoaW4gaW5vZGUgbGltaXRzICovCisJaW50MzJfdCBkX2J0aW1lcjsJLyogc2ltaWxhciB0byBhYm92ZTsgZm9yIGRpc2sgYmxvY2tzICovCisJdV9pbnQxNl90IGRfaXdhcm5zOwkvKiAjIHdhcm5pbmdzIGlzc3VlZCB3cnQgbnVtIGlub2RlcyAqLworCXVfaW50MTZfdCBkX2J3YXJuczsJLyogIyB3YXJuaW5ncyBpc3N1ZWQgd3J0IGRpc2sgYmxvY2tzICovCisJaW50MzJfdCBkX3BhZGRpbmcyOwkvKiBwYWRkaW5nMiAtIGZvciBmdXR1cmUgdXNlICovCisJdV9pbnQ2NF90IGRfcnRiX2hhcmRsaW1pdDsJLyogYWJzb2x1dGUgbGltaXQgb24gcmVhbHRpbWUgYmxrcyAqLworCXVfaW50NjRfdCBkX3J0Yl9zb2Z0bGltaXQ7CS8qIHByZWZlcnJlZCBsaW1pdCBvbiBSVCBkaXNrIGJsa3MgKi8KKwl1X2ludDY0X3QgZF9ydGJjb3VudDsJLyogIyByZWFsdGltZSBibG9ja3Mgb3duZWQgKi8KKwlpbnQzMl90IGRfcnRidGltZXI7CS8qIHNpbWlsYXIgdG8gYWJvdmU7IGZvciBSVCBkaXNrIGJsa3MgKi8KKwl1X2ludDE2X3QgZF9ydGJ3YXJuczsJLyogIyB3YXJuaW5ncyBpc3N1ZWQgd3J0IFJUIGRpc2sgYmxrcyAqLworCWludDE2X3QgZF9wYWRkaW5nMzsJLyogcGFkZGluZzMgLSBmb3IgZnV0dXJlIHVzZSAqLworCWNoYXIgICAgZF9wYWRkaW5nNFs4XTsJLyogeWV0IG1vcmUgcGFkZGluZyAqLworfTsKKworLyoKKyAqIEZvbGxvd2luZyBmbGFncyBhcmUgdXNlZCB0byBzcGVjaWZ5IHdoaWNoIGZpZWxkcyBhcmUgdmFsaWQKKyAqLworI2RlZmluZSBJSUZfQkdSQUNFCTEKKyNkZWZpbmUgSUlGX0lHUkFDRQkyCisjZGVmaW5lIElJRl9GTEFHUwk0CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCBpZl9kcWluZm9fdmFsaWRbXSA9IHsKKwl7SUlGX0JHUkFDRSwgIklJRl9CR1JBQ0UifSwKKwl7SUlGX0lHUkFDRSwgIklJRl9JR1JBQ0UifSwKKwl7SUlGX0ZMQUdTLCAiSUlGX0ZMQUdTIn0sCisJezAsIE5VTEx9Cit9OworCitzdHJ1Y3QgaWZfZHFpbmZvCit7CisJdV9pbnQ2NF90IGRxaV9iZ3JhY2U7CisJdV9pbnQ2NF90IGRxaV9pZ3JhY2U7CisJdV9pbnQzMl90IGRxaV9mbGFnczsKKwl1X2ludDMyX3QgZHFpX3ZhbGlkOworfTsKKworc3RydWN0IHYyX2RxaW5mbworeworCXVuc2lnbmVkIGludCBkcWlfYmdyYWNlOworCXVuc2lnbmVkIGludCBkcWlfaWdyYWNlOworCXVuc2lnbmVkIGludCBkcWlfZmxhZ3M7CisJdW5zaWduZWQgaW50IGRxaV9ibG9ja3M7CisJdW5zaWduZWQgaW50IGRxaV9mcmVlX2JsazsKKwl1bnNpZ25lZCBpbnQgZHFpX2ZyZWVfZW50cnk7Cit9OworCitzdHJ1Y3QgdjFfZHFzdGF0cworeworCXVfaW50MzJfdCBsb29rdXBzOworCXVfaW50MzJfdCBkcm9wczsKKwl1X2ludDMyX3QgcmVhZHM7CisJdV9pbnQzMl90IHdyaXRlczsKKwl1X2ludDMyX3QgY2FjaGVfaGl0czsKKwl1X2ludDMyX3QgYWxsb2NhdGVkX2RxdW90czsKKwl1X2ludDMyX3QgZnJlZV9kcXVvdHM7CisJdV9pbnQzMl90IHN5bmNzOworfTsKKworc3RydWN0IHYyX2Rxc3RhdHMKK3sKKwl1X2ludDMyX3QgbG9va3VwczsKKwl1X2ludDMyX3QgZHJvcHM7CisJdV9pbnQzMl90IHJlYWRzOworCXVfaW50MzJfdCB3cml0ZXM7CisJdV9pbnQzMl90IGNhY2hlX2hpdHM7CisJdV9pbnQzMl90IGFsbG9jYXRlZF9kcXVvdHM7CisJdV9pbnQzMl90IGZyZWVfZHF1b3RzOworCXVfaW50MzJfdCBzeW5jczsKKwl1X2ludDMyX3QgdmVyc2lvbjsKK307CisKK3R5cGVkZWYgc3RydWN0IGZzX3FmaWxlc3RhdAoreworCXVfaW50NjRfdCBxZnNfaW5vOwkvKiBpbm9kZSBudW1iZXIgKi8KKwl1X2ludDY0X3QgcWZzX25ibGtzOwkvKiBudW1iZXIgb2YgQkJzIDUxMi1ieXRlLWJsa3MgKi8KKwl1X2ludDMyX3QgcWZzX25leHRlbnRzOwkvKiBudW1iZXIgb2YgZXh0ZW50cyAqLworfSBmc19xZmlsZXN0YXRfdDsKKworc3RydWN0IHhmc19kcXN0YXRzCit7CisJaW50OF90ICBxc192ZXJzaW9uOwkvKiB2ZXJzaW9uIG51bWJlciBmb3IgZnV0dXJlIGNoYW5nZXMgKi8KKwl1X2ludDE2X3QgcXNfZmxhZ3M7CS8qIFhGU19RVU9UQV97VSxQLEd9RFFfe0FDQ1QsRU5GRH0gKi8KKwlpbnQ4X3QgIHFzX3BhZDsJCS8qIHVudXNlZCAqLworCWZzX3FmaWxlc3RhdF90IHFzX3VxdW90YTsJLyogdXNlciBxdW90YSBzdG9yYWdlIGluZm9ybWF0aW9uICovCisJZnNfcWZpbGVzdGF0X3QgcXNfZ3F1b3RhOwkvKiBncm91cCBxdW90YSBzdG9yYWdlIGluZm9ybWF0aW9uICovCisJdV9pbnQzMl90IHFzX2luY29yZWRxczsJLyogbnVtYmVyIG9mIGRxdW90cyBpbmNvcmUgKi8KKwlpbnQzMl90IHFzX2J0aW1lbGltaXQ7CS8qIGxpbWl0IGZvciBibGtzIHRpbWVyICovCisJaW50MzJfdCBxc19pdGltZWxpbWl0OwkvKiBsaW1pdCBmb3IgaW5vZGVzIHRpbWVyICovCisJaW50MzJfdCBxc19ydGJ0aW1lbGltaXQ7CS8qIGxpbWl0IGZvciBydCBibGtzIHRpbWVyICovCisJdV9pbnQxNl90IHFzX2J3YXJubGltaXQ7CS8qIGxpbWl0IGZvciBudW0gd2FybmluZ3MgKi8KKwl1X2ludDE2X3QgcXNfaXdhcm5saW1pdDsJLyogbGltaXQgZm9yIG51bSB3YXJuaW5ncyAqLworfTsKKworc3RhdGljIHZvaWQKK2RlY29kZV9jbWRfZGF0YShzdHJ1Y3QgdGNiICp0Y3AsIHVfaW50MzJfdCBjbWQsIHVuc2lnbmVkIGxvbmcgZGF0YSkKK3sKKwlzd2l0Y2ggKGNtZCkKKwl7CisJCWNhc2UgUV9HRVRRVU9UQToKKwkJY2FzZSBRX1NFVFFVT1RBOgorCQl7CisJCQlzdHJ1Y3QgaWZfZHFibGsgZHE7CisKKwkJCWlmIChjbWQgPT0gUV9HRVRRVU9UQSAmJiBzeXNlcnJvcih0Y3ApKQorCQkJeworCQkJCXRwcmludGYoIiUjbHgiLCBkYXRhKTsKKwkJCQlicmVhazsKKwkJCX0KKwkJCWlmICh1bW92ZSh0Y3AsIGRhdGEsICZkcSkgPCAwKQorCQkJeworCQkJCXRwcmludGYoIns/Pz99ICUjbHgiLCBkYXRhKTsKKwkJCQlicmVhazsKKwkJCX0KKwkJCXRwcmludGYoIntiaGFyZGxpbWl0PSUiIFBSSXU2NCAiLCAiLCBkcS5kcWJfYmhhcmRsaW1pdCk7CisJCQl0cHJpbnRmKCJic29mdGxpbWl0PSUiIFBSSXU2NCAiLCAiLCBkcS5kcWJfYnNvZnRsaW1pdCk7CisJCQl0cHJpbnRmKCJjdXJzcGFjZT0lIiBQUkl1NjQgIiwgIiwgZHEuZHFiX2N1cnNwYWNlKTsKKwkJCXRwcmludGYoImloYXJkbGltaXQ9JSIgUFJJdTY0ICIsICIsIGRxLmRxYl9paGFyZGxpbWl0KTsKKwkJCXRwcmludGYoImlzb2Z0bGltaXQ9JSIgUFJJdTY0ICIsICIsIGRxLmRxYl9pc29mdGxpbWl0KTsKKwkJCXRwcmludGYoImN1cmlub2Rlcz0lIiBQUkl1NjQgIiwgIiwgZHEuZHFiX2N1cmlub2Rlcyk7CisJCQlpZiAoIWFiYnJldih0Y3ApKQorCQkJeworCQkJCXRwcmludGYoImJ0aW1lPSUiIFBSSXU2NCAiLCAiLCBkcS5kcWJfYnRpbWUpOworCQkJCXRwcmludGYoIml0aW1lPSUiIFBSSXU2NCAiLCAiLCBkcS5kcWJfaXRpbWUpOworCQkJCXRwcmludGYoInZhbGlkPSIpOworCQkJCXByaW50ZmxhZ3MoaWZfZHFibGtfdmFsaWQsCisJCQkJCSAgIGRxLmRxYl92YWxpZCwgIlFJRl8/Pz8iKTsKKwkJCQl0cHJpbnRmKCJ9Iik7CisJCQl9IGVsc2UKKwkJCQl0cHJpbnRmKCIuLi59Iik7CisJCQlicmVhazsKKwkJfQorCQljYXNlIFFfVjFfR0VUUVVPVEE6CisJCWNhc2UgUV9WMV9TRVRRVU9UQToKKwkJeworCQkJc3RydWN0IHYxX2RxYmxrIGRxOworCisJCQlpZiAoY21kID09IFFfVjFfR0VUUVVPVEEgJiYgc3lzZXJyb3IodGNwKSkKKwkJCXsKKwkJCQl0cHJpbnRmKCIlI2x4IiwgZGF0YSk7CisJCQkJYnJlYWs7CisJCQl9CisJCQlpZiAodW1vdmUodGNwLCBkYXRhLCAmZHEpIDwgMCkKKwkJCXsKKwkJCQl0cHJpbnRmKCJ7Pz8/fSAlI2x4IiwgZGF0YSk7CisJCQkJYnJlYWs7CisJCQl9CisJCQl0cHJpbnRmKCJ7YmhhcmRsaW1pdD0ldSwgIiwgZHEuZHFiX2JoYXJkbGltaXQpOworCQkJdHByaW50ZigiYnNvZnRsaW1pdD0ldSwgIiwgZHEuZHFiX2Jzb2Z0bGltaXQpOworCQkJdHByaW50ZigiY3VyYmxvY2tzPSV1LCAiLCBkcS5kcWJfY3VyYmxvY2tzKTsKKwkJCXRwcmludGYoImloYXJkbGltaXQ9JXUsICIsIGRxLmRxYl9paGFyZGxpbWl0KTsKKwkJCXRwcmludGYoImlzb2Z0bGltaXQ9JXUsICIsIGRxLmRxYl9pc29mdGxpbWl0KTsKKwkJCXRwcmludGYoImN1cmlub2Rlcz0ldSwgIiwgZHEuZHFiX2N1cmlub2Rlcyk7CisJCQl0cHJpbnRmKCJidGltZT0lbHUsICIsIGRxLmRxYl9idGltZSk7CisJCQl0cHJpbnRmKCJpdGltZT0lbHV9IiwgZHEuZHFiX2l0aW1lKTsKKwkJCWJyZWFrOworCQl9CisJCWNhc2UgUV9WMl9HRVRRVU9UQToKKwkJY2FzZSBRX1YyX1NFVFFVT1RBOgorCQl7CisJCQlzdHJ1Y3QgdjJfZHFibGsgZHE7CisKKwkJCWlmIChjbWQgPT0gUV9WMl9HRVRRVU9UQSAmJiBzeXNlcnJvcih0Y3ApKQorCQkJeworCQkJCXRwcmludGYoIiUjbHgiLCBkYXRhKTsKKwkJCQlicmVhazsKKwkJCX0KKwkJCWlmICh1bW92ZSh0Y3AsIGRhdGEsICZkcSkgPCAwKQorCQkJeworCQkJCXRwcmludGYoIns/Pz99ICUjbHgiLCBkYXRhKTsKKwkJCQlicmVhazsKKwkJCX0KKwkJCXRwcmludGYoIntpaGFyZGxpbWl0PSV1LCAiLCBkcS5kcWJfaWhhcmRsaW1pdCk7CisJCQl0cHJpbnRmKCJpc29mdGxpbWl0PSV1LCAiLCBkcS5kcWJfaXNvZnRsaW1pdCk7CisJCQl0cHJpbnRmKCJjdXJpbm9kZXM9JXUsICIsIGRxLmRxYl9jdXJpbm9kZXMpOworCQkJdHByaW50ZigiYmhhcmRsaW1pdD0ldSwgIiwgZHEuZHFiX2JoYXJkbGltaXQpOworCQkJdHByaW50ZigiYnNvZnRsaW1pdD0ldSwgIiwgZHEuZHFiX2Jzb2Z0bGltaXQpOworCQkJdHByaW50ZigiY3Vyc3BhY2U9JSIgUFJJdTY0ICIsICIsIGRxLmRxYl9jdXJzcGFjZSk7CisJCQl0cHJpbnRmKCJidGltZT0lbHUsICIsIGRxLmRxYl9idGltZSk7CisJCQl0cHJpbnRmKCJpdGltZT0lbHV9IiwgZHEuZHFiX2l0aW1lKTsKKwkJCWJyZWFrOworCQl9CisJCWNhc2UgUV9YR0VUUVVPVEE6CisJCWNhc2UgUV9YU0VUUUxJTToKKwkJeworCQkJc3RydWN0IHhmc19kcWJsayBkcTsKKworCQkJaWYgKGNtZCA9PSBRX1hHRVRRVU9UQSAmJiBzeXNlcnJvcih0Y3ApKQorCQkJeworCQkJCXRwcmludGYoIiUjbHgiLCBkYXRhKTsKKwkJCQlicmVhazsKKwkJCX0KKwkJCWlmICh1bW92ZSh0Y3AsIGRhdGEsICZkcSkgPCAwKQorCQkJeworCQkJCXRwcmludGYoIns/Pz99ICUjbHgiLCBkYXRhKTsKKwkJCQlicmVhazsKKwkJCX0KKwkJCXRwcmludGYoInt2ZXJzaW9uPSVkLCAiLCBkcS5kX3ZlcnNpb24pOworCQkJdHByaW50ZigiZmxhZ3M9Iik7CisJCQlwcmludGZsYWdzKHhmc19kcWJsa19mbGFncywKKwkJCQkgICBkcS5kX2ZsYWdzLCAiWEZTXz8/P19RVU9UQSIpOworCQkJdHByaW50ZigiLCBmaWVsZG1hc2s9JSN4LCAiLCBkcS5kX2ZpZWxkbWFzayk7CisJCQl0cHJpbnRmKCJpZD0ldSwgIiwgZHEuZF9pZCk7CisJCQl0cHJpbnRmKCJibGtfaGFyZGxpbWl0PSUiIFBSSXU2NCAiLCAiLCBkcS5kX2Jsa19oYXJkbGltaXQpOworCQkJdHByaW50ZigiYmxrX3NvZnRsaW1pdD0lIiBQUkl1NjQgIiwgIiwgZHEuZF9ibGtfc29mdGxpbWl0KTsKKwkJCXRwcmludGYoImlub19oYXJkbGltaXQ9JSIgUFJJdTY0ICIsICIsIGRxLmRfaW5vX2hhcmRsaW1pdCk7CisJCQl0cHJpbnRmKCJpbm9fc29mdGxpbWl0PSUiIFBSSXU2NCAiLCAiLCBkcS5kX2lub19zb2Z0bGltaXQpOworCQkJdHByaW50ZigiYmNvdW50PSUiIFBSSXU2NCAiLCAiLCBkcS5kX2Jjb3VudCk7CisJCQl0cHJpbnRmKCJpY291bnQ9JSIgUFJJdTY0ICIsICIsIGRxLmRfaWNvdW50KTsKKwkJCWlmICghYWJicmV2KHRjcCkpCisJCQl7CisJCQkJdHByaW50ZigiaXRpbWVyPSVkLCAiLCBkcS5kX2l0aW1lcik7CisJCQkJdHByaW50ZigiYnRpbWVyPSVkLCAiLCBkcS5kX2J0aW1lcik7CisJCQkJdHByaW50ZigiaXdhcm5zPSV1LCAiLCBkcS5kX2l3YXJucyk7CisJCQkJdHByaW50ZigiYndhcm5zPSV1LCAiLCBkcS5kX2J3YXJucyk7CisJCQkJdHByaW50ZigicnRiY291bnQ9JSIgUFJJdTY0ICIsICIsIGRxLmRfcnRiY291bnQpOworCQkJCXRwcmludGYoInJ0YnRpbWVyPSVkLCAiLCBkcS5kX3J0YnRpbWVyKTsKKwkJCQl0cHJpbnRmKCJydGJ3YXJucz0ldX0iLCBkcS5kX3J0Yndhcm5zKTsKKwkJCX0gZWxzZQorCQkJCXRwcmludGYoIi4uLn0iKTsKKwkJCWJyZWFrOworCQl9CisJCWNhc2UgUV9HRVRGTVQ6CisJCXsKKwkJCXVfaW50MzJfdCBmbXQ7CisKKwkJCWlmIChzeXNlcnJvcih0Y3ApKQorCQkJeworCQkJCXRwcmludGYoIiUjbHgiLCBkYXRhKTsKKwkJCQlicmVhazsKKwkJCX0KKwkJCWlmICh1bW92ZSh0Y3AsIGRhdGEsICZmbXQpIDwgMCkKKwkJCXsKKwkJCQl0cHJpbnRmKCJ7Pz8/fSAlI2x4IiwgZGF0YSk7CisJCQkJYnJlYWs7CisJCQl9CisJCQl0cHJpbnRmKCJ7Iik7CisJCQlwcmludHh2YWwocXVvdGFfZm9ybWF0cywgZm10LCAiUUZNVF9WRlNfPz8/Iik7CisJCQl0cHJpbnRmKCJ9Iik7CisJCQlicmVhazsKKwkJfQorCQljYXNlIFFfR0VUSU5GTzoKKwkJY2FzZSBRX1NFVElORk86CisJCXsKKwkJCXN0cnVjdCBpZl9kcWluZm8gZHE7CisKKwkJCWlmIChjbWQgPT0gUV9HRVRJTkZPICYmIHN5c2Vycm9yKHRjcCkpCisJCQl7CisJCQkJdHByaW50ZigiJSNseCIsIGRhdGEpOworCQkJCWJyZWFrOworCQkJfQorCQkJaWYgKHVtb3ZlKHRjcCwgZGF0YSwgJmRxKSA8IDApCisJCQl7CisJCQkJdHByaW50Zigiez8/P30gJSNseCIsIGRhdGEpOworCQkJCWJyZWFrOworCQkJfQorCQkJdHByaW50Zigie2JncmFjZT0lIiBQUkl1NjQgIiwgIiwgZHEuZHFpX2JncmFjZSk7CisJCQl0cHJpbnRmKCJpZ3JhY2U9JSIgUFJJdTY0ICIsICIsIGRxLmRxaV9pZ3JhY2UpOworCQkJdHByaW50ZigiZmxhZ3M9JSN4LCAiLCBkcS5kcWlfZmxhZ3MpOworCQkJdHByaW50ZigidmFsaWQ9Iik7CisJCQlwcmludGZsYWdzKGlmX2RxaW5mb192YWxpZCwgZHEuZHFpX3ZhbGlkLCAiSUlGXz8/PyIpOworCQkJdHByaW50ZigifSIpOworCQkJYnJlYWs7CisJCX0KKwkJY2FzZSBRX1YyX0dFVElORk86CisJCWNhc2UgUV9WMl9TRVRJTkZPOgorCQl7CisJCQlzdHJ1Y3QgdjJfZHFpbmZvIGRxOworCisJCQlpZiAoY21kID09IFFfVjJfR0VUSU5GTyAmJiBzeXNlcnJvcih0Y3ApKQorCQkJeworCQkJCXRwcmludGYoIiUjbHgiLCBkYXRhKTsKKwkJCQlicmVhazsKKwkJCX0KKwkJCWlmICh1bW92ZSh0Y3AsIGRhdGEsICZkcSkgPCAwKQorCQkJeworCQkJCXRwcmludGYoIns/Pz99ICUjbHgiLCBkYXRhKTsKKwkJCQlicmVhazsKKwkJCX0KKwkJCXRwcmludGYoIntiZ3JhY2U9JXUsICIsIGRxLmRxaV9iZ3JhY2UpOworCQkJdHByaW50ZigiaWdyYWNlPSV1LCAiLCBkcS5kcWlfaWdyYWNlKTsKKwkJCXRwcmludGYoImZsYWdzPSUjeCwgIiwgZHEuZHFpX2ZsYWdzKTsKKwkJCXRwcmludGYoImJsb2Nrcz0ldSwgIiwgZHEuZHFpX2Jsb2Nrcyk7CisJCQl0cHJpbnRmKCJmcmVlX2Jsaz0ldSwgIiwgZHEuZHFpX2ZyZWVfYmxrKTsKKwkJCXRwcmludGYoImZyZWVfZW50cnk9JXV9IiwgZHEuZHFpX2ZyZWVfZW50cnkpOworCQkJYnJlYWs7CisJCX0KKwkJY2FzZSBRX1YxX0dFVFNUQVRTOgorCQl7CisJCQlzdHJ1Y3QgdjFfZHFzdGF0cyBkcTsKKworCQkJaWYgKHN5c2Vycm9yKHRjcCkpCisJCQl7CisJCQkJdHByaW50ZigiJSNseCIsIGRhdGEpOworCQkJCWJyZWFrOworCQkJfQorCQkJaWYgKHVtb3ZlKHRjcCwgZGF0YSwgJmRxKSA8IDApCisJCQl7CisJCQkJdHByaW50Zigiez8/P30gJSNseCIsIGRhdGEpOworCQkJCWJyZWFrOworCQkJfQorCQkJdHByaW50Zigie2xvb2t1cHM9JXUsICIsIGRxLmxvb2t1cHMpOworCQkJdHByaW50ZigiZHJvcHM9JXUsICIsIGRxLmRyb3BzKTsKKwkJCXRwcmludGYoInJlYWRzPSV1LCAiLCBkcS5yZWFkcyk7CisJCQl0cHJpbnRmKCJ3cml0ZXM9JXUsICIsIGRxLndyaXRlcyk7CisJCQl0cHJpbnRmKCJjYWNoZV9oaXRzPSV1LCAiLCBkcS5jYWNoZV9oaXRzKTsKKwkJCXRwcmludGYoImFsbG9jYXRlZF9kcXVvdHM9JXUsICIsIGRxLmFsbG9jYXRlZF9kcXVvdHMpOworCQkJdHByaW50ZigiZnJlZV9kcXVvdHM9JXUsICIsIGRxLmZyZWVfZHF1b3RzKTsKKwkJCXRwcmludGYoInN5bmNzPSV1fSIsIGRxLnN5bmNzKTsKKwkJCWJyZWFrOworCQl9CisJCWNhc2UgUV9WMl9HRVRTVEFUUzoKKwkJeworCQkJc3RydWN0IHYyX2Rxc3RhdHMgZHE7CisKKwkJCWlmIChzeXNlcnJvcih0Y3ApKQorCQkJeworCQkJCXRwcmludGYoIiUjbHgiLCBkYXRhKTsKKwkJCQlicmVhazsKKwkJCX0KKwkJCWlmICh1bW92ZSh0Y3AsIGRhdGEsICZkcSkgPCAwKQorCQkJeworCQkJCXRwcmludGYoIns/Pz99ICUjbHgiLCBkYXRhKTsKKwkJCQlicmVhazsKKwkJCX0KKwkJCXRwcmludGYoIntsb29rdXBzPSV1LCAiLCBkcS5sb29rdXBzKTsKKwkJCXRwcmludGYoImRyb3BzPSV1LCAiLCBkcS5kcm9wcyk7CisJCQl0cHJpbnRmKCJyZWFkcz0ldSwgIiwgZHEucmVhZHMpOworCQkJdHByaW50Zigid3JpdGVzPSV1LCAiLCBkcS53cml0ZXMpOworCQkJdHByaW50ZigiY2FjaGVfaGl0cz0ldSwgIiwgZHEuY2FjaGVfaGl0cyk7CisJCQl0cHJpbnRmKCJhbGxvY2F0ZWRfZHF1b3RzPSV1LCAiLCBkcS5hbGxvY2F0ZWRfZHF1b3RzKTsKKwkJCXRwcmludGYoImZyZWVfZHF1b3RzPSV1LCAiLCBkcS5mcmVlX2RxdW90cyk7CisJCQl0cHJpbnRmKCJzeW5jcz0ldSwgIiwgZHEuc3luY3MpOworCQkJdHByaW50ZigidmVyc2lvbj0ldX0iLCBkcS52ZXJzaW9uKTsKKwkJCWJyZWFrOworCQl9CisJCWNhc2UgUV9YR0VUUVNUQVQ6CisJCXsKKwkJCXN0cnVjdCB4ZnNfZHFzdGF0cyBkcTsKKworCQkJaWYgKHN5c2Vycm9yKHRjcCkpCisJCQl7CisJCQkJdHByaW50ZigiJSNseCIsIGRhdGEpOworCQkJCWJyZWFrOworCQkJfQorCQkJaWYgKHVtb3ZlKHRjcCwgZGF0YSwgJmRxKSA8IDApCisJCQl7CisJCQkJdHByaW50Zigiez8/P30gJSNseCIsIGRhdGEpOworCQkJCWJyZWFrOworCQkJfQorCQkJdHByaW50Zigie3ZlcnNpb249JWQsICIsIGRxLnFzX3ZlcnNpb24pOworCQkJaWYgKGFiYnJldih0Y3ApKQorCQkJeworCQkJCXRwcmludGYoIi4uLn0iKTsKKwkJCQlicmVhazsKKwkJCX0KKwkJCXRwcmludGYoImZsYWdzPSIpOworCQkJcHJpbnRmbGFncyh4ZnNfcXVvdGFfZmxhZ3MsCisJCQkJICAgZHEucXNfZmxhZ3MsICJYRlNfUVVPVEFfPz8/Iik7CisJCQl0cHJpbnRmKCIsIGluY29yZWRxcz0ldSwgIiwgZHEucXNfaW5jb3JlZHFzKTsKKwkJCXRwcmludGYoInVfaW5vPSUiIFBSSXU2NCAiLCAiLCBkcS5xc191cXVvdGEucWZzX2lubyk7CisJCQl0cHJpbnRmKCJ1X25ibGtzPSUiIFBSSXU2NCAiLCAiLCBkcS5xc191cXVvdGEucWZzX25ibGtzKTsKKwkJCXRwcmludGYoInVfbmV4dGVudHM9JXUsICIsIGRxLnFzX3VxdW90YS5xZnNfbmV4dGVudHMpOworCQkJdHByaW50ZigiZ19pbm89JSIgUFJJdTY0ICIsICIsIGRxLnFzX2dxdW90YS5xZnNfaW5vKTsKKwkJCXRwcmludGYoImdfbmJsa3M9JSIgUFJJdTY0ICIsICIsIGRxLnFzX2dxdW90YS5xZnNfbmJsa3MpOworCQkJdHByaW50ZigiZ19uZXh0ZW50cz0ldSwgIiwgZHEucXNfZ3F1b3RhLnFmc19uZXh0ZW50cyk7CisJCQl0cHJpbnRmKCJidGltZWxpbWl0PSVkLCAiLCBkcS5xc19idGltZWxpbWl0KTsKKwkJCXRwcmludGYoIml0aW1lbGltaXQ9JWQsICIsIGRxLnFzX2l0aW1lbGltaXQpOworCQkJdHByaW50ZigicnRidGltZWxpbWl0PSVkLCAiLCBkcS5xc19ydGJ0aW1lbGltaXQpOworCQkJdHByaW50ZigiYndhcm5saW1pdD0ldSwgIiwgZHEucXNfYndhcm5saW1pdCk7CisJCQl0cHJpbnRmKCJpd2FybmxpbWl0PSV1fSIsIGRxLnFzX2l3YXJubGltaXQpOworCQkJYnJlYWs7CisJCX0KKwkJY2FzZSBRX1hRVU9UQU9OOgorCQl7CisJCQl1X2ludDMyX3QgZmxhZzsKKworCQkJaWYgKHVtb3ZlKHRjcCwgZGF0YSwgJmZsYWcpIDwgMCkKKwkJCXsKKwkJCQl0cHJpbnRmKCJ7Pz8/fSAlI2x4IiwgZGF0YSk7CisJCQkJYnJlYWs7CisJCQl9CisJCQl0cHJpbnRmKCJ7Iik7CisJCQlwcmludGZsYWdzKHhmc19xdW90YV9mbGFncywgZmxhZywgIlhGU19RVU9UQV8/Pz8iKTsKKwkJCXRwcmludGYoIn0iKTsKKwkJCWJyZWFrOworCQl9CisJCWRlZmF1bHQ6CisJCQl0cHJpbnRmKCIlI2x4IiwgZGF0YSk7CisJCQlicmVhazsKKwl9Cit9CisKK2ludAorc3lzX3F1b3RhY3RsKHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwkvKgorCSAqIFRoZSBMaW51eCBrZXJuZWwgb25seSBsb29rcyBhdCB0aGUgbG93IDMyIGJpdHMgb2YgY29tbWFuZCBhbmQgaWQKKwkgKiBhcmd1bWVudHMsIGJ1dCBvbiBzb21lIDY0LWJpdCBhcmNoaXRlY3R1cmVzIChzMzkweCkgdGhpcyB3b3JkCisJICogd2lsbCBoYXZlIGJlZW4gc2lnbi1leHRlbmRlZCB3aGVuIHdlIHNlZSBpdC4gIFRoZSBoaWdoIDEgYml0cworCSAqIGRvbid0IG1lYW4gYW55dGhpbmcsIHNvIGRvbid0IGNvbmZ1c2UgdGhlIG91dHB1dCB3aXRoIHRoZW0uCisJICovCisJdV9pbnQzMl90IHFjbWQgPSB0Y3AtPnVfYXJnWzBdOworCXVfaW50MzJfdCBjbWQgPSBRQ01EX0NNRChxY21kKTsKKwl1X2ludDMyX3QgdHlwZSA9IFFDTURfVFlQRShxY21kKTsKKwl1X2ludDMyX3QgaWQgPSB0Y3AtPnVfYXJnWzJdOworCisJaWYgKCF2ZXJib3NlKHRjcCkpCisJCXJldHVybiBwcmludGFyZ3ModGNwKTsKKworCWlmIChlbnRlcmluZyh0Y3ApKQorCXsKKwkJcHJpbnR4dmFsKHF1b3RhY21kcywgY21kLCAiUV8/Pz8iKTsKKwkJdHByaW50ZigifCIpOworCQlwcmludHh2YWwocXVvdGF0eXBlcywgdHlwZSwgIj8/P1FVT1RBIik7CisJCXRwcmludGYoIiwgIik7CisJCXByaW50c3RyKHRjcCwgdGNwLT51X2FyZ1sxXSwgLTEpOworCQl0cHJpbnRmKCIsICIpOworCQlzd2l0Y2ggKGNtZCkKKwkJeworCQkJY2FzZSBRX1YxX1FVT1RBT046CisJCQljYXNlIFFfUVVPVEFPTjoKKwkJCQlwcmludHh2YWwocXVvdGFfZm9ybWF0cywgaWQsICJRRk1UX1ZGU18/Pz8iKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgUV9WMV9HRVRRVU9UQToKKwkJCWNhc2UgUV9WMl9HRVRRVU9UQToKKwkJCWNhc2UgUV9HRVRRVU9UQToKKwkJCWNhc2UgUV9WMV9TRVRRVU9UQToKKwkJCWNhc2UgUV9WMl9TRVRRVU9UQToKKwkJCWNhc2UgUV9WMV9TRVRVU0U6CisJCQljYXNlIFFfVjJfU0VUVVNFOgorCQkJY2FzZSBRX1NFVFFMSU06CisJCQljYXNlIFFfU0VUUVVPVEE6CisJCQljYXNlIFFfWEdFVFFVT1RBOgorCQkJY2FzZSBRX1hTRVRRTElNOgorCQkJCXRwcmludGYoIiV1IiwgaWQpOworCQkJCWJyZWFrOworCQkJZGVmYXVsdDoKKwkJCQl0cHJpbnRmKCIlI2x4IiwgdGNwLT51X2FyZ1syXSk7CisJCQkJYnJlYWs7CisJCX0KKwkJdHByaW50ZigiLCAiKTsKKwl9IGVsc2UKKwl7CisJCWlmICghdGNwLT51X2FyZ1szXSkKKwkJCXRwcmludGYoIk5VTEwiKTsKKwkJZWxzZQorCQkJZGVjb2RlX2NtZF9kYXRhKHRjcCwgY21kLCB0Y3AtPnVfYXJnWzNdKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKKyNlbmRpZiAvKiBMaW51eCAqLworCisjaWYgZGVmaW5lZChTVU5PUzQpIHx8IGRlZmluZWQoRlJFRUJTRCkKKworI2lmZGVmIFNVTk9TNAorI2luY2x1ZGUgPHVmcy9xdW90YS5oPgorI2VuZGlmCisKKyNpZmRlZiBGUkVFQlNECisjaW5jbHVkZSA8dWZzL3Vmcy9xdW90YS5oPgorI2VuZGlmCisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCBxdW90YWNtZHNbXSA9IHsKKwl7UV9RVU9UQU9OLCAiUV9RVU9UQU9OIn0sCisJe1FfUVVPVEFPRkYsICJRX1FVT1RBT0ZGIn0sCisJe1FfR0VUUVVPVEEsICJRX0dFVFFVT1RBIn0sCisJe1FfU0VUUVVPVEEsICJRX1NFVFFVT1RBIn0sCisjaWZkZWYgUV9TRVRRTElNCisJe1FfU0VUUUxJTSwgIlFfU0VUUUxJTSJ9LAorI2VuZGlmCisjaWZkZWYgUV9TRVRVU0UKKwl7UV9TRVRVU0UsICJRX1NFVFVTRSJ9LAorI2VuZGlmCisJe1FfU1lOQywgIlFfU1lOQyJ9LAorCXswLCBOVUxMfSwKK307CisKK2ludAorc3lzX3F1b3RhY3RsKHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwkvKiBmb3VydGggYXJnIChhZGRyKSBub3QgaW50ZXJwcmV0ZWQgaGVyZSAqLworCWlmIChlbnRlcmluZyh0Y3ApKQorCXsKKyNpZmRlZiBTVU5PUzQKKwkJcHJpbnR4dmFsKHF1b3RhY21kcywgdGNwLT51X2FyZ1swXSwgIlFfPz8/Iik7CisJCXRwcmludGYoIiwgIik7CisJCXByaW50c3RyKHRjcCwgdGNwLT51X2FyZ1sxXSwgLTEpOworI2VuZGlmCisjaWZkZWYgRlJFRUJTRAorCQlwcmludHBhdGgodGNwLCB0Y3AtPnVfYXJnWzBdKTsKKwkJdHByaW50ZigiLCAiKTsKKwkJcHJpbnR4dmFsKHF1b3RhY21kcywgdGNwLT51X2FyZ1sxXSwgIlFfPz8/Iik7CisjZW5kaWYKKwkJdHByaW50ZigiLCAlbHUsICUjbHgiLCB0Y3AtPnVfYXJnWzJdLCB0Y3AtPnVfYXJnWzNdKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKKyNlbmRpZiAvKiBTVU5PUzQgfHwgRlJFRUJTRCAqLwpkaWZmIC0tZ2l0IGEvc3RyYWNlLTQuNS4yMC9yZXNvdXJjZS5jIGIvc3RyYWNlLTQuNS4yMC9yZXNvdXJjZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgyNzRmM2UKLS0tIC9kZXYvbnVsbAorKysgYi9zdHJhY2UtNC41LjIwL3Jlc291cmNlLmMKQEAgLTAsMCArMSw0NDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDE5OTEsIDE5OTIgUGF1bCBLcmFuZW5idXJnIDxwa0Bjcy5mZXcuZXVyLm5sPgorICogQ29weXJpZ2h0IChjKSAxOTkzIEJyYW5rbyBMYW5rZXN0ZXIgPGJyYW5rb0BoYWNrdGljLm5sPgorICogQ29weXJpZ2h0IChjKSAxOTkzLCAxOTk0LCAxOTk1LCAxOTk2IFJpY2sgU2xhZGtleSA8anJzQHdvcmxkLnN0ZC5jb20+CisgKiBDb3B5cmlnaHQgKGMpIDE5OTYtMTk5OSBXaWNoZXJ0IEFra2VybWFuIDx3aWNoZXJ0QGNpc3Ryb24ubmw+CisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gVGhlIG5hbWUgb2YgdGhlIGF1dGhvciBtYXkgbm90IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzCisgKiAgICBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBBVVRIT1IgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUyBPUgorICogSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUworICogT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4KKyAqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKKyAqIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVAorICogTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKgorICoJJElkJAorICovCisKKyNpbmNsdWRlICJkZWZzLmgiCisKKyNpbmNsdWRlIDxzeXMvcmVzb3VyY2UuaD4KKyNpZmRlZiBMSU5VWAorI2luY2x1ZGUgPHN5cy90aW1lcy5oPgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2VuZGlmIC8qIExJTlVYICovCisjaWYgZGVmaW5lZChTVlI0KSB8fCBkZWZpbmVkKEZSRUVCU0QpCisjaW5jbHVkZSA8c3lzL3RpbWVzLmg+CisjaW5jbHVkZSA8c3lzL3RpbWUuaD4KKyNlbmRpZgorCisjaWYgSEFWRV9MT05HX0xPTkdfUkxJTV9UCisvKgorICogSGFja3MgZm9yIHN5c3RlbXMgdGhhdCBoYXZlIGEgbG9uZyBsb25nIHJsaW1fdAorICovCisKKyNkZWZpbmUgcmxpbWl0NjQgcmxpbWl0CQkJLyogVWdseSBoYWNrICovCisjZGVmaW5lIHJsaW02NF90IHJsaW1fdAkJCS8qIFVnbHkgaGFjayAqLworI2RlZmluZSBSTElNNjRfSU5GSU5JVFkgUkxJTV9JTkZJTklUWQkvKiBZb3UgZ3Vlc3NlZCBpdCAqLworCisjZGVmaW5lIHN5c19nZXRybGltaXQ2NAlzeXNfZ2V0cmxpbWl0CisjZGVmaW5lIHN5c19zZXRybGltaXQ2NAlzeXNfc2V0cmxpbWl0CisjZW5kaWYKKworc3RhdGljIGNvbnN0IHN0cnVjdCB4bGF0IHJlc291cmNlc1tdID0geworI2lmZGVmIFJMSU1JVF9BUworCXsgUkxJTUlUX0FTLAkiUkxJTUlUX0FTIgl9LAorI2VuZGlmCisjaWZkZWYgUkxJTUlUX0NPUkUKKwl7IFJMSU1JVF9DT1JFLAkiUkxJTUlUX0NPUkUiCX0sCisjZW5kaWYKKyNpZmRlZiBSTElNSVRfQ1BVCisJeyBSTElNSVRfQ1BVLAkiUkxJTUlUX0NQVSIJfSwKKyNlbmRpZgorI2lmZGVmIFJMSU1JVF9EQVRBCisJeyBSTElNSVRfREFUQSwJIlJMSU1JVF9EQVRBIgl9LAorI2VuZGlmCisjaWZkZWYgUkxJTUlUX0ZTSVpFCisJeyBSTElNSVRfRlNJWkUsCSJSTElNSVRfRlNJWkUiCX0sCisjZW5kaWYKKyNpZmRlZiBSTElNSVRfTE9DS1MKKwl7IFJMSU1JVF9MT0NLUywJIlJMSU1JVF9MT0NLUyIJfSwKKyNlbmRpZgorI2lmZGVmIFJMSU1JVF9NRU1MT0NLCisJeyBSTElNSVRfTUVNTE9DSywJIlJMSU1JVF9NRU1MT0NLIgl9LAorI2VuZGlmCisjaWZkZWYgUkxJTUlUX01TR1FVRVVFCisJeyBSTElNSVRfTVNHUVVFVUUsCSJSTElNSVRfTVNHUVVFVUUiCX0sCisjZW5kaWYKKyNpZmRlZiBSTElNSVRfTklDRQorCXsgUkxJTUlUX05JQ0UsCSJSTElNSVRfTklDRSIJfSwKKyNlbmRpZgorI2lmZGVmIFJMSU1JVF9OT0ZJTEUKKwl7IFJMSU1JVF9OT0ZJTEUsCSJSTElNSVRfTk9GSUxFIgl9LAorI2VuZGlmCisjaWZkZWYgUkxJTUlUX05QUk9DCisJeyBSTElNSVRfTlBST0MsCSJSTElNSVRfTlBST0MiCX0sCisjZW5kaWYKKyNpZmRlZiBSTElNSVRfUlNTCisJeyBSTElNSVRfUlNTLAkiUkxJTUlUX1JTUyIJfSwKKyNlbmRpZgorI2lmZGVmIFJMSU1JVF9SVFBSSU8KKwl7IFJMSU1JVF9SVFBSSU8sCSJSTElNSVRfUlRQUklPIgl9LAorI2VuZGlmCisjaWZkZWYgUkxJTUlUX1NJR1BFTkRJTkcKKwl7IFJMSU1JVF9TSUdQRU5ESU5HLAkiUkxJTUlUX1NJR1BFTkRJTkciCX0sCisjZW5kaWYKKyNpZmRlZiBSTElNSVRfU1RBQ0sKKwl7IFJMSU1JVF9TVEFDSywJIlJMSU1JVF9TVEFDSyIJfSwKKyNlbmRpZgorI2lmZGVmIFJMSU1JVF9WTUVNCisJeyBSTElNSVRfVk1FTSwJIlJMSU1JVF9WTUVNIgl9LAorI2VuZGlmCisJeyAwLAkJTlVMTAkJfSwKK307CisKKyNpZiAhSEFWRV9MT05HX0xPTkdfUkxJTV9UCitzdGF0aWMgY2hhciAqCitzcHJpbnRybGltKGxvbmcgbGltKQoreworCXN0YXRpYyBjaGFyIGJ1ZlszMl07CisKKwlpZiAobGltID09IFJMSU1fSU5GSU5JVFkpCisJCXNwcmludGYoYnVmLCAiUkxJTV9JTkZJTklUWSIpOworCWVsc2UgaWYgKGxpbSA+IDEwMjQgJiYgbGltJTEwMjQgPT0gMCkKKwkJc3ByaW50ZihidWYsICIlbGQqMTAyNCIsIGxpbS8xMDI0KTsKKwllbHNlCisJCXNwcmludGYoYnVmLCAiJWxkIiwgbGltKTsKKwlyZXR1cm4gYnVmOworfQorCitpbnQKK3N5c19nZXRybGltaXQoc3RydWN0IHRjYiAqdGNwKQoreworCXN0cnVjdCBybGltaXQgcmxpbTsKKworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXByaW50eHZhbChyZXNvdXJjZXMsIHRjcC0+dV9hcmdbMF0sICJSTElNSVRfPz8/Iik7CisJCXRwcmludGYoIiwgIik7CisJfQorCWVsc2UgeworCQlpZiAoc3lzZXJyb3IodGNwKSB8fCAhdmVyYm9zZSh0Y3ApKQorCQkJdHByaW50ZigiJSNseCIsIHRjcC0+dV9hcmdbMV0pOworCQllbHNlIGlmICh1bW92ZSh0Y3AsIHRjcC0+dV9hcmdbMV0sICZybGltKSA8IDApCisJCQl0cHJpbnRmKCJ7Li4ufSIpOworCQllbHNlIHsKKwkJCXRwcmludGYoIntybGltX2N1cj0lcywiLCBzcHJpbnRybGltKHJsaW0ucmxpbV9jdXIpKTsKKwkJCXRwcmludGYoIiBybGltX21heD0lc30iLCBzcHJpbnRybGltKHJsaW0ucmxpbV9tYXgpKTsKKwkJfQorCX0KKwlyZXR1cm4gMDsKK30KKworaW50CitzeXNfc2V0cmxpbWl0KHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwlzdHJ1Y3QgcmxpbWl0IHJsaW07CisKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQlwcmludHh2YWwocmVzb3VyY2VzLCB0Y3AtPnVfYXJnWzBdLCAiUkxJTUlUXz8/PyIpOworCQl0cHJpbnRmKCIsICIpOworCQlpZiAoIXZlcmJvc2UodGNwKSkKKwkJCXRwcmludGYoIiUjbHgiLCB0Y3AtPnVfYXJnWzFdKTsKKwkJZWxzZSBpZiAodW1vdmUodGNwLCB0Y3AtPnVfYXJnWzFdLCAmcmxpbSkgPCAwKQorCQkJdHByaW50Zigiey4uLn0iKTsKKwkJZWxzZSB7CisJCQl0cHJpbnRmKCJ7cmxpbV9jdXI9JXMsIiwgc3ByaW50cmxpbShybGltLnJsaW1fY3VyKSk7CisJCQl0cHJpbnRmKCIgcmxpbV9tYXg9JXN9Iiwgc3ByaW50cmxpbShybGltLnJsaW1fbWF4KSk7CisJCX0KKwl9CisJcmV0dXJuIDA7Cit9CisjZW5kaWYgLyogIUhBVkVfTE9OR19MT05HX1JMSU1fVCAqLworCisjaWYgX0xGUzY0X0xBUkdFRklMRSB8fCBIQVZFX0xPTkdfTE9OR19STElNX1QKK3N0YXRpYyBjaGFyICoKK3NwcmludHJsaW02NChybGltNjRfdCBsaW0pCit7CisJc3RhdGljIGNoYXIgYnVmWzY0XTsKKworCWlmIChsaW0gPT0gUkxJTTY0X0lORklOSVRZKQorCQlzcHJpbnRmKGJ1ZiwgIlJMSU02NF9JTkZJTklUWSIpOworCWVsc2UgaWYgKGxpbSA+IDEwMjQgJiYgbGltJTEwMjQgPT0gMCkKKwkJc3ByaW50ZihidWYsICIlbGxkKjEwMjQiLCAobG9uZyBsb25nKSBsaW0vMTAyNCk7CisJZWxzZQorCQlzcHJpbnRmKGJ1ZiwgIiVsbGQiLCAobG9uZyBsb25nKSBsaW0pOworCXJldHVybiBidWY7Cit9CisKK2ludAorc3lzX2dldHJsaW1pdDY0KHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwlzdHJ1Y3QgcmxpbWl0NjQgcmxpbTsKKworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXByaW50eHZhbChyZXNvdXJjZXMsIHRjcC0+dV9hcmdbMF0sICJSTElNSVRfPz8/Iik7CisJCXRwcmludGYoIiwgIik7CisJfQorCWVsc2UgeworCQlpZiAoc3lzZXJyb3IodGNwKSB8fCAhdmVyYm9zZSh0Y3ApKQorCQkJdHByaW50ZigiJSNseCIsIHRjcC0+dV9hcmdbMV0pOworCQllbHNlIGlmICh1bW92ZSh0Y3AsIHRjcC0+dV9hcmdbMV0sICZybGltKSA8IDApCisJCQl0cHJpbnRmKCJ7Li4ufSIpOworCQllbHNlIHsKKwkJCXRwcmludGYoIntybGltX2N1cj0lcywiLCBzcHJpbnRybGltNjQocmxpbS5ybGltX2N1cikpOworCQkJdHByaW50ZigiIHJsaW1fbWF4PSVzfSIsIHNwcmludHJsaW02NChybGltLnJsaW1fbWF4KSk7CisJCX0KKwl9CisJcmV0dXJuIDA7Cit9CisKK2ludAorc3lzX3NldHJsaW1pdDY0KHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwlzdHJ1Y3QgcmxpbWl0NjQgcmxpbTsKKworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXByaW50eHZhbChyZXNvdXJjZXMsIHRjcC0+dV9hcmdbMF0sICJSTElNSVRfPz8/Iik7CisJCXRwcmludGYoIiwgIik7CisJCWlmICghdmVyYm9zZSh0Y3ApKQorCQkJdHByaW50ZigiJSNseCIsIHRjcC0+dV9hcmdbMV0pOworCQllbHNlIGlmICh1bW92ZSh0Y3AsIHRjcC0+dV9hcmdbMV0sICZybGltKSA8IDApCisJCQl0cHJpbnRmKCJ7Li4ufSIpOworCQllbHNlIHsKKwkJCXRwcmludGYoIntybGltX2N1cj0lcywiLCBzcHJpbnRybGltNjQocmxpbS5ybGltX2N1cikpOworCQkJdHByaW50ZigiIHJsaW1fbWF4PSVzfSIsIHNwcmludHJsaW02NChybGltLnJsaW1fbWF4KSk7CisJCX0KKwl9CisJcmV0dXJuIDA7Cit9CisjZW5kaWYgLyogX0xGUzY0X0xBUkdFRklMRVMgfHwgSEFWRV9MT05HX0xPTkdfUkxJTV9UICovCisKKyNpZm5kZWYgU1ZSNAorCitzdGF0aWMgY29uc3Qgc3RydWN0IHhsYXQgdXNhZ2V3aG9bXSA9IHsKKwl7IFJVU0FHRV9TRUxGLAkJIlJVU0FHRV9TRUxGIgkJfSwKKwl7IFJVU0FHRV9DSElMRFJFTiwJIlJVU0FHRV9DSElMRFJFTiIJfSwKKyNpZmRlZiBSVVNBR0VfQk9USAorCXsgUlVTQUdFX0JPVEgsCQkiUlVTQUdFX0JPVEgiCQl9LAorI2VuZGlmCisJeyAwLAkJCU5VTEwJCQl9LAorfTsKKworI2lmZGVmIEFMUEhBCit2b2lkCitwcmludHJ1c2FnZTMyKHN0cnVjdCB0Y2IgKnRjcCwgbG9uZyBhZGRyKQoreworCXN0cnVjdCB0aW1ldmFsMzIgeworCQl1bnNpZ25lZCB0dl9zZWM7CisJCXVuc2lnbmVkIHR2X3VzZWM7CisJfTsKKwlzdHJ1Y3QgcnVzYWdlMzIgeworCQlzdHJ1Y3QgdGltZXZhbDMyIHJ1X3V0aW1lOwkvKiB1c2VyIHRpbWUgdXNlZCAqLworCQlzdHJ1Y3QgdGltZXZhbDMyIHJ1X3N0aW1lOwkvKiBzeXN0ZW0gdGltZSB1c2VkICovCisJCWxvbmcJcnVfbWF4cnNzOwkJLyogbWF4aW11bSByZXNpZGVudCBzZXQgc2l6ZSAqLworCQlsb25nCXJ1X2l4cnNzOwkJLyogaW50ZWdyYWwgc2hhcmVkIG1lbW9yeSBzaXplICovCisJCWxvbmcJcnVfaWRyc3M7CQkvKiBpbnRlZ3JhbCB1bnNoYXJlZCBkYXRhIHNpemUgKi8KKwkJbG9uZwlydV9pc3JzczsJCS8qIGludGVncmFsIHVuc2hhcmVkIHN0YWNrIHNpemUgKi8KKwkJbG9uZwlydV9taW5mbHQ7CQkvKiBwYWdlIHJlY2xhaW1zICovCisJCWxvbmcJcnVfbWFqZmx0OwkJLyogcGFnZSBmYXVsdHMgKi8KKwkJbG9uZwlydV9uc3dhcDsJCS8qIHN3YXBzICovCisJCWxvbmcJcnVfaW5ibG9jazsJCS8qIGJsb2NrIGlucHV0IG9wZXJhdGlvbnMgKi8KKwkJbG9uZwlydV9vdWJsb2NrOwkJLyogYmxvY2sgb3V0cHV0IG9wZXJhdGlvbnMgKi8KKwkJbG9uZwlydV9tc2dzbmQ7CQkvKiBtZXNzYWdlcyBzZW50ICovCisJCWxvbmcJcnVfbXNncmN2OwkJLyogbWVzc2FnZXMgcmVjZWl2ZWQgKi8KKwkJbG9uZwlydV9uc2lnbmFsczsJCS8qIHNpZ25hbHMgcmVjZWl2ZWQgKi8KKwkJbG9uZwlydV9udmNzdzsJCS8qIHZvbHVudGFyeSBjb250ZXh0IHN3aXRjaGVzICovCisJCWxvbmcJcnVfbml2Y3N3OwkJLyogaW52b2x1bnRhcnkgIiAqLworCX0gcnU7CisKKwlpZiAoIWFkZHIpCisJCXRwcmludGYoIk5VTEwiKTsKKwllbHNlIGlmIChzeXNlcnJvcih0Y3ApIHx8ICF2ZXJib3NlKHRjcCkpCisJCXRwcmludGYoIiUjbHgiLCBhZGRyKTsKKwllbHNlIGlmICh1bW92ZSh0Y3AsIGFkZHIsICZydSkgPCAwKQorCQl0cHJpbnRmKCJ7Li4ufSIpOworCWVsc2UgaWYgKCFhYmJyZXYodGNwKSkgeworCQl0cHJpbnRmKCJ7cnVfdXRpbWU9eyVsdSwgJWx1fSwgcnVfc3RpbWU9eyVsdSwgJWx1fSwgIiwKKwkJCShsb25nKSBydS5ydV91dGltZS50dl9zZWMsIChsb25nKSBydS5ydV91dGltZS50dl91c2VjLAorCQkJKGxvbmcpIHJ1LnJ1X3N0aW1lLnR2X3NlYywgKGxvbmcpIHJ1LnJ1X3N0aW1lLnR2X3VzZWMpOworCQl0cHJpbnRmKCJydV9tYXhyc3M9JWx1LCBydV9peHJzcz0lbHUsICIsCisJCQlydS5ydV9tYXhyc3MsIHJ1LnJ1X2l4cnNzKTsKKwkJdHByaW50ZigicnVfaWRyc3M9JWx1LCBydV9pc3Jzcz0lbHUsICIsCisJCQlydS5ydV9pZHJzcywgcnUucnVfaXNyc3MpOworCQl0cHJpbnRmKCJydV9taW5mbHQ9JWx1LCBydV9tYWpmbHQ9JWx1LCBydV9uc3dhcD0lbHUsICIsCisJCQlydS5ydV9taW5mbHQsIHJ1LnJ1X21hamZsdCwgcnUucnVfbnN3YXApOworCQl0cHJpbnRmKCJydV9pbmJsb2NrPSVsdSwgcnVfb3VibG9jaz0lbHUsICIsCisJCQlydS5ydV9pbmJsb2NrLCBydS5ydV9vdWJsb2NrKTsKKwkJdHByaW50ZigicnVfbXNnc25kPSVsdSwgcnVfbXNncmN2PSVsdSwgIiwKKwkJCXJ1LnJ1X21zZ3NuZCwgcnUucnVfbXNncmN2KTsKKwkJdHByaW50ZigicnVfbnNpZ25hbHM9JWx1LCBydV9udmNzdz0lbHUsIHJ1X25pdmNzdz0lbHV9IiwKKwkJCXJ1LnJ1X25zaWduYWxzLCBydS5ydV9udmNzdywgcnUucnVfbml2Y3N3KTsKKwl9CisJZWxzZSB7CisJCXRwcmludGYoIntydV91dGltZT17JWx1LCAlbHV9LCBydV9zdGltZT17JWx1LCAlbHV9LCAuLi59IiwKKwkJCShsb25nKSBydS5ydV91dGltZS50dl9zZWMsIChsb25nKSBydS5ydV91dGltZS50dl91c2VjLAorCQkJKGxvbmcpIHJ1LnJ1X3N0aW1lLnR2X3NlYywgKGxvbmcpIHJ1LnJ1X3N0aW1lLnR2X3VzZWMpOworCX0KK30KKyNlbmRpZgorCit2b2lkCitwcmludHJ1c2FnZShzdHJ1Y3QgdGNiICp0Y3AsIGxvbmcgYWRkcikKK3sKKwlzdHJ1Y3QgcnVzYWdlIHJ1OworCisJaWYgKCFhZGRyKQorCQl0cHJpbnRmKCJOVUxMIik7CisJZWxzZSBpZiAoc3lzZXJyb3IodGNwKSB8fCAhdmVyYm9zZSh0Y3ApKQorCQl0cHJpbnRmKCIlI2x4IiwgYWRkcik7CisJZWxzZSBpZiAodW1vdmUodGNwLCBhZGRyLCAmcnUpIDwgMCkKKwkJdHByaW50Zigiey4uLn0iKTsKKwllbHNlIGlmICghYWJicmV2KHRjcCkpIHsKKwkJdHByaW50Zigie3J1X3V0aW1lPXslbHUsICVsdX0sIHJ1X3N0aW1lPXslbHUsICVsdX0sICIsCisJCQkobG9uZykgcnUucnVfdXRpbWUudHZfc2VjLCAobG9uZykgcnUucnVfdXRpbWUudHZfdXNlYywKKwkJCShsb25nKSBydS5ydV9zdGltZS50dl9zZWMsIChsb25nKSBydS5ydV9zdGltZS50dl91c2VjKTsKKwkJdHByaW50ZigicnVfbWF4cnNzPSVsdSwgcnVfaXhyc3M9JWx1LCAiLAorCQkJcnUucnVfbWF4cnNzLCBydS5ydV9peHJzcyk7CisJCXRwcmludGYoInJ1X2lkcnNzPSVsdSwgcnVfaXNyc3M9JWx1LCAiLAorCQkJcnUucnVfaWRyc3MsIHJ1LnJ1X2lzcnNzKTsKKwkJdHByaW50ZigicnVfbWluZmx0PSVsdSwgcnVfbWFqZmx0PSVsdSwgcnVfbnN3YXA9JWx1LCAiLAorCQkJcnUucnVfbWluZmx0LCBydS5ydV9tYWpmbHQsIHJ1LnJ1X25zd2FwKTsKKwkJdHByaW50ZigicnVfaW5ibG9jaz0lbHUsIHJ1X291YmxvY2s9JWx1LCAiLAorCQkJcnUucnVfaW5ibG9jaywgcnUucnVfb3VibG9jayk7CisJCXRwcmludGYoInJ1X21zZ3NuZD0lbHUsIHJ1X21zZ3Jjdj0lbHUsICIsCisJCQlydS5ydV9tc2dzbmQsIHJ1LnJ1X21zZ3Jjdik7CisJCXRwcmludGYoInJ1X25zaWduYWxzPSVsdSwgcnVfbnZjc3c9JWx1LCBydV9uaXZjc3c9JWx1fSIsCisJCQlydS5ydV9uc2lnbmFscywgcnUucnVfbnZjc3csIHJ1LnJ1X25pdmNzdyk7CisJfQorCWVsc2UgeworCQl0cHJpbnRmKCJ7cnVfdXRpbWU9eyVsdSwgJWx1fSwgcnVfc3RpbWU9eyVsdSwgJWx1fSwgLi4ufSIsCisJCQkobG9uZykgcnUucnVfdXRpbWUudHZfc2VjLCAobG9uZykgcnUucnVfdXRpbWUudHZfdXNlYywKKwkJCShsb25nKSBydS5ydV9zdGltZS50dl9zZWMsIChsb25nKSBydS5ydV9zdGltZS50dl91c2VjKTsKKwl9Cit9CisKK2ludAorc3lzX2dldHJ1c2FnZShzdHJ1Y3QgdGNiICp0Y3ApCit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJcHJpbnR4dmFsKHVzYWdld2hvLCB0Y3AtPnVfYXJnWzBdLCAiUlVTQUdFXz8/PyIpOworCQl0cHJpbnRmKCIsICIpOworCX0KKwllbHNlCisJCXByaW50cnVzYWdlKHRjcCwgdGNwLT51X2FyZ1sxXSk7CisJcmV0dXJuIDA7Cit9CisKKyNpZmRlZiBBTFBIQQoraW50CitzeXNfb3NmX2dldHJ1c2FnZShzdHJ1Y3QgdGNiICp0Y3ApCit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJcHJpbnR4dmFsKHVzYWdld2hvLCB0Y3AtPnVfYXJnWzBdLCAiUlVTQUdFXz8/PyIpOworCQl0cHJpbnRmKCIsICIpOworCX0KKwllbHNlCisJCXByaW50cnVzYWdlMzIodGNwLCB0Y3AtPnVfYXJnWzFdKTsKKwlyZXR1cm4gMDsKK30KKyNlbmRpZiAvKiBBTFBIQSAqLworCisjZW5kaWYgLyogIVNWUjQgKi8KKworI2lmZGVmIExJTlVYCisKK2ludAorc3lzX3N5c2luZm8oc3RydWN0IHRjYiAqdGNwKQoreworCXN0cnVjdCBzeXNpbmZvIHNpOworCisJaWYgKGV4aXRpbmcodGNwKSkgeworCQlpZiAoc3lzZXJyb3IodGNwKSB8fCAhdmVyYm9zZSh0Y3ApKQorCQkJdHByaW50ZigiJSNseCIsIHRjcC0+dV9hcmdbMF0pOworCQllbHNlIGlmICh1bW92ZSh0Y3AsIHRjcC0+dV9hcmdbMF0sICZzaSkgPCAwKQorCQkJdHByaW50Zigiey4uLn0iKTsKKwkJZWxzZSB7CisJCQl0cHJpbnRmKCJ7dXB0aW1lPSVsdSwgbG9hZHM9WyVsdSwgJWx1LCAlbHVdICIsCisJCQkJc2kudXB0aW1lLCBzaS5sb2Fkc1swXSwgc2kubG9hZHNbMV0sCisJCQkJc2kubG9hZHNbMl0pOworCQkJdHByaW50ZigidG90YWxyYW09JWx1LCBmcmVlcmFtPSVsdSwgIiwKKwkJCQlzaS50b3RhbHJhbSwgc2kuZnJlZXJhbSk7CisJCQl0cHJpbnRmKCJzaGFyZWRyYW09JWx1LCBidWZmZXJyYW09JWx1fSAiLAorCQkJCXNpLnNoYXJlZHJhbSwgc2kuYnVmZmVycmFtKTsKKwkJCXRwcmludGYoInRvdGFsc3dhcD0lbHUsIGZyZWVzd2FwPSVsdSwgcHJvY3M9JWh1fSIsCisJCQkJc2kudG90YWxzd2FwLCBzaS5mcmVlc3dhcCwgc2kucHJvY3MpOworCQl9CisJfQorCXJldHVybiAwOworfQorCisjZW5kaWYgLyogTElOVVggKi8KKworc3RhdGljIGNvbnN0IHN0cnVjdCB4bGF0IHByaW9yaXRpZXNbXSA9IHsKKwl7IFBSSU9fUFJPQ0VTUywJIlBSSU9fUFJPQ0VTUyIJfSwKKwl7IFBSSU9fUEdSUCwJIlBSSU9fUEdSUCIJfSwKKwl7IFBSSU9fVVNFUiwJIlBSSU9fVVNFUiIJfSwKKwl7IDAsCQlOVUxMCQl9LAorfTsKKworaW50CitzeXNfZ2V0cHJpb3JpdHkoc3RydWN0IHRjYiAqdGNwKQoreworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXByaW50eHZhbChwcmlvcml0aWVzLCB0Y3AtPnVfYXJnWzBdLCAiUFJJT18/Pz8iKTsKKwkJdHByaW50ZigiLCAlbHUiLCB0Y3AtPnVfYXJnWzFdKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK2ludAorc3lzX3NldHByaW9yaXR5KHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQlwcmludHh2YWwocHJpb3JpdGllcywgdGNwLT51X2FyZ1swXSwgIlBSSU9fPz8/Iik7CisJCXRwcmludGYoIiwgJWx1LCAlbGQiLCB0Y3AtPnVfYXJnWzFdLCB0Y3AtPnVfYXJnWzJdKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK2ludAorc3lzX25pY2Uoc3RydWN0IHRjYiAqdGNwKQoreworCWlmIChlbnRlcmluZyh0Y3ApKQorCQl0cHJpbnRmKCIlbGQiLCB0Y3AtPnVfYXJnWzBdKTsKKwlyZXR1cm4gMDsKK30KKworI2lmbmRlZiBTVU5PUzQKKworaW50CitzeXNfdGltZXMoc3RydWN0IHRjYiAqdGNwKQoreworCXN0cnVjdCB0bXMgdGJ1ZjsKKworCWlmIChleGl0aW5nKHRjcCkpIHsKKwkJaWYgKHRjcC0+dV9hcmdbMF0gPT0gMCkKKwkJCXRwcmludGYoIk5VTEwiKTsKKwkJZWxzZSBpZiAoc3lzZXJyb3IodGNwKSkKKwkJCXRwcmludGYoIiUjbHgiLCB0Y3AtPnVfYXJnWzBdKTsKKwkJZWxzZSBpZiAodW1vdmUodGNwLCB0Y3AtPnVfYXJnWzBdLCAmdGJ1ZikgPCAwKQorCQkJdHByaW50Zigiey4uLn0iKTsKKwkJZWxzZSB7CisJCQl0cHJpbnRmKCJ7dG1zX3V0aW1lPSVsdSwgdG1zX3N0aW1lPSVsdSwgIiwKKwkJCQl0YnVmLnRtc191dGltZSwgdGJ1Zi50bXNfc3RpbWUpOworCQkJdHByaW50ZigidG1zX2N1dGltZT0lbHUsIHRtc19jc3RpbWU9JWx1fSIsCisJCQkJdGJ1Zi50bXNfY3V0aW1lLCB0YnVmLnRtc19jc3RpbWUpOworCQl9CisJfQorCXJldHVybiAwOworfQorCisjZW5kaWYgLyogIVNVTk9TNCAqLwpkaWZmIC0tZ2l0IGEvc3RyYWNlLTQuNS4yMC9zY3NpLmMgYi9zdHJhY2UtNC41LjIwL3Njc2kuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYzA3N2E5Ci0tLSAvZGV2L251bGwKKysrIGIvc3RyYWNlLTQuNS4yMC9zY3NpLmMKQEAgLTAsMCArMSwxMTQgQEAKKyNpbmNsdWRlICJkZWZzLmgiCisKKyNpZmRlZiBMSU5VWAorI2luY2x1ZGUgPHN5cy9pb2N0bC5oPgorI2luY2x1ZGUgPHNjc2kvc2cuaD4KKworc3RhdGljIGNvbnN0IHN0cnVjdCB4bGF0IHNnX2lvX2R4ZmVyX2RpcmVjdGlvbltdID0geworCXtTR19EWEZFUl9OT05FLCAgICAgICAgIlNHX0RYRkVSX05PTkUifSwKKwl7U0dfRFhGRVJfVE9fREVWLCAgICAgICJTR19EWEZFUl9UT19ERVYifSwKKwl7U0dfRFhGRVJfRlJPTV9ERVYsICAgICJTR19EWEZFUl9GUk9NX0RFViJ9LAorCXtTR19EWEZFUl9UT19GUk9NX0RFViwgIlNHX0RYRkVSX1RPX0ZST01fREVWIn0sCisJezAsIE5VTEx9Cit9OworCitzdGF0aWMgdm9pZAorcHJpbnRfc2dfaW9fYnVmZmVyKHN0cnVjdCB0Y2IgKnRjcCwgdW5zaWduZWQgY2hhciAqYWRkciwgaW50IGxlbikKK3sKKwl1bnNpZ25lZCBjaGFyICpidWYgPSBOVUxMOworCWludCAgICAgYWxsb2NhdGVkLCBpOworCisJaWYgKGxlbiA9PSAwKQorCQlyZXR1cm47CisJYWxsb2NhdGVkID0gKGxlbiA+IG1heF9zdHJsZW4pID8gbWF4X3N0cmxlbiA6IGxlbjsKKwlpZiAobGVuIDwgMCB8fAorCSAgICAoYnVmID0gbWFsbG9jKGFsbG9jYXRlZCkpID09IE5VTEwgfHwKKwkgICAgdW1vdmVuKHRjcCwgKHVuc2lnbmVkIGxvbmcpIGFkZHIsIGFsbG9jYXRlZCwgKGNoYXIgKikgYnVmKSA8IDApIHsKKwkJdHByaW50ZigiJXAiLCBhZGRyKTsKKwkJZnJlZShidWYpOworCQlyZXR1cm47CisJfQorCXRwcmludGYoIiUwMngiLCBidWZbMF0pOworCWZvciAoaSA9IDE7IGkgPCBhbGxvY2F0ZWQ7ICsraSkKKwkJdHByaW50ZigiLCAlMDJ4IiwgYnVmW2ldKTsKKwlmcmVlKGJ1Zik7CisJaWYgKGFsbG9jYXRlZCAhPSBsZW4pCisJCXRwcmludGYoIiwgLi4uIik7Cit9CisKK3N0YXRpYyB2b2lkCitwcmludF9zZ19pb19yZXEoc3RydWN0IHRjYiAqdGNwLCBzdHJ1Y3Qgc2dfaW9faGRyICpzZ19pbykKK3sKKwl0cHJpbnRmKCJ7JyVjJywgIiwgc2dfaW8tPmludGVyZmFjZV9pZCk7CisJcHJpbnR4dmFsKHNnX2lvX2R4ZmVyX2RpcmVjdGlvbiwgc2dfaW8tPmR4ZmVyX2RpcmVjdGlvbiwKKwkJICAiU0dfRFhGRVJfPz8/Iik7CisJdHByaW50ZigiLCBjbWRbJXVdPVsiLCBzZ19pby0+Y21kX2xlbik7CisJcHJpbnRfc2dfaW9fYnVmZmVyKHRjcCwgc2dfaW8tPmNtZHAsIHNnX2lvLT5jbWRfbGVuKTsKKwl0cHJpbnRmKCJdLCBteF9zYl9sZW49JWQsICIsIHNnX2lvLT5teF9zYl9sZW4pOworCXRwcmludGYoImlvdmVjX2NvdW50PSVkLCAiLCBzZ19pby0+aW92ZWNfY291bnQpOworCXRwcmludGYoImR4ZmVyX2xlbj0ldSwgIiwgc2dfaW8tPmR4ZmVyX2xlbik7CisJdHByaW50ZigidGltZW91dD0ldSwgIiwgc2dfaW8tPnRpbWVvdXQpOworCXRwcmludGYoImZsYWdzPSUjeCIsIHNnX2lvLT5mbGFncyk7CisKKwlpZiAoc2dfaW8tPmR4ZmVyX2RpcmVjdGlvbiA9PSBTR19EWEZFUl9UT19ERVYgfHwKKwkgICAgc2dfaW8tPmR4ZmVyX2RpcmVjdGlvbiA9PSBTR19EWEZFUl9UT19GUk9NX0RFVikgeworCQl0cHJpbnRmKCIsIGRhdGFbJXVdPVsiLCBzZ19pby0+ZHhmZXJfbGVuKTsKKwkJcHJpbnRzdHIodGNwLCAodW5zaWduZWQgbG9uZykgc2dfaW8tPmR4ZmVycCwKKwkJCSBzZ19pby0+ZHhmZXJfbGVuKTsKKwkJdHByaW50ZigiXSIpOworCX0KK30KKworc3RhdGljIHZvaWQKK3ByaW50X3NnX2lvX3JlcyhzdHJ1Y3QgdGNiICp0Y3AsIHN0cnVjdCBzZ19pb19oZHIgKnNnX2lvKQoreworCWlmIChzZ19pby0+ZHhmZXJfZGlyZWN0aW9uID09IFNHX0RYRkVSX0ZST01fREVWIHx8CisJICAgIHNnX2lvLT5keGZlcl9kaXJlY3Rpb24gPT0gU0dfRFhGRVJfVE9fRlJPTV9ERVYpIHsKKwkJdHByaW50ZigiLCBkYXRhWyV1XT1bIiwgc2dfaW8tPmR4ZmVyX2xlbik7CisJCXByaW50c3RyKHRjcCwgKHVuc2lnbmVkIGxvbmcpIHNnX2lvLT5keGZlcnAsCisJCQkgc2dfaW8tPmR4ZmVyX2xlbik7CisJCXRwcmludGYoIl0iKTsKKwl9CisJdHByaW50ZigiLCBzdGF0dXM9JTAyeCwgIiwgc2dfaW8tPnN0YXR1cyk7CisJdHByaW50ZigibWFza2VkX3N0YXR1cz0lMDJ4LCAiLCBzZ19pby0+bWFza2VkX3N0YXR1cyk7CisJdHByaW50Zigic2JbJXVdPVsiLCBzZ19pby0+c2JfbGVuX3dyKTsKKwlwcmludF9zZ19pb19idWZmZXIodGNwLCBzZ19pby0+c2JwLCBzZ19pby0+c2JfbGVuX3dyKTsKKwl0cHJpbnRmKCJdLCBob3N0X3N0YXR1cz0lI3gsICIsIHNnX2lvLT5ob3N0X3N0YXR1cyk7CisJdHByaW50ZigiZHJpdmVyX3N0YXR1cz0lI3gsICIsIHNnX2lvLT5kcml2ZXJfc3RhdHVzKTsKKwl0cHJpbnRmKCJyZXNpZD0lZCwgIiwgc2dfaW8tPnJlc2lkKTsKKwl0cHJpbnRmKCJkdXJhdGlvbj0lZCwgIiwgc2dfaW8tPmR1cmF0aW9uKTsKKwl0cHJpbnRmKCJpbmZvPSUjeH0iLCBzZ19pby0+aW5mbyk7Cit9CisKK2ludAorc2NzaV9pb2N0bChzdHJ1Y3QgdGNiICp0Y3AsIGxvbmcgY29kZSwgbG9uZyBhcmcpCit7CisJc3dpdGNoIChjb2RlKSB7CisJY2FzZSBTR19JTzoKKwkJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJCXN0cnVjdCBzZ19pb19oZHIgc2dfaW87CisKKwkJCWlmICh1bW92ZSh0Y3AsIGFyZywgJnNnX2lvKSA8IDApCisJCQkJdHByaW50ZigiLCAlI2x4IiwgYXJnKTsKKwkJCWVsc2UgeworCQkJCXRwcmludGYoIiwgIik7CisJCQkJcHJpbnRfc2dfaW9fcmVxKHRjcCwgJnNnX2lvKTsKKwkJCX0KKwkJfQorCQlpZiAoZXhpdGluZyh0Y3ApKSB7CisJCQlzdHJ1Y3Qgc2dfaW9faGRyIHNnX2lvOworCisJCQlpZiAoIXN5c2Vycm9yKHRjcCkgJiYgdW1vdmUodGNwLCBhcmcsICZzZ19pbykgPj0gMCkKKwkJCQlwcmludF9zZ19pb19yZXModGNwLCAmc2dfaW8pOworCQkJZWxzZQorCQkJCXRwcmludGYoIn0iKTsKKwkJfQorCQlicmVhazsKKwlkZWZhdWx0OgorCQlpZiAoZW50ZXJpbmcodGNwKSkKKwkJCXRwcmludGYoIiwgJSNseCIsIGFyZyk7CisJCWJyZWFrOworCX0KKwlyZXR1cm4gMTsKK30KKyNlbmRpZiAvKiBMSU5VWCAqLwpkaWZmIC0tZ2l0IGEvc3RyYWNlLTQuNS4yMC9zaWduYWwuYyBiL3N0cmFjZS00LjUuMjAvc2lnbmFsLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmY5N2U5MAotLS0gL2Rldi9udWxsCisrKyBiL3N0cmFjZS00LjUuMjAvc2lnbmFsLmMKQEAgLTAsMCArMSwyMTI3IEBACisvKgorICogQ29weXJpZ2h0IChjKSAxOTkxLCAxOTkyIFBhdWwgS3JhbmVuYnVyZyA8cGtAY3MuZmV3LmV1ci5ubD4KKyAqIENvcHlyaWdodCAoYykgMTk5MyBCcmFua28gTGFua2VzdGVyIDxicmFua29AaGFja3RpYy5ubD4KKyAqIENvcHlyaWdodCAoYykgMTk5MywgMTk5NCwgMTk5NSwgMTk5NiBSaWNrIFNsYWRrZXkgPGpyc0B3b3JsZC5zdGQuY29tPgorICogQ29weXJpZ2h0IChjKSAxOTk2LTE5OTkgV2ljaGVydCBBa2tlcm1hbiA8d2ljaGVydEBjaXN0cm9uLm5sPgorICogQ29weXJpZ2h0IChjKSAxOTk5IElCTSBEZXV0c2NobGFuZCBFbnR3aWNrbHVuZyBHbWJILCBJQk0gQ29ycG9yYXRpb24KKyAqICAgICAgICAgICAgICAgICAgICAgTGludXggZm9yIHMzOTAgcG9ydCBieSBELkouIEJhcnJvdworICogICAgICAgICAgICAgICAgICAgIDxiYXJyb3dfZGpAbWFpbC55YWhvby5jb20sZGpiYXJyb3dAZGUuaWJtLmNvbT4KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBUaGUgbmFtZSBvZiB0aGUgYXV0aG9yIG1heSBub3QgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMKKyAqICAgIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIEFVVEhPUiBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCisgKiBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELgorICogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAorICogSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUCisgKiBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqCisgKgkkSWQkCisgKi8KKworI2luY2x1ZGUgImRlZnMuaCIKKworI2luY2x1ZGUgPHN0ZGludC5oPgorI2luY2x1ZGUgPHNpZ25hbC5oPgorI2luY2x1ZGUgPHN5cy91c2VyLmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKworI2lmZGVmIFNWUjQKKyNpbmNsdWRlIDxzeXMvdWNvbnRleHQuaD4KKyNlbmRpZiAvKiBTVlI0ICovCisKKyNpZmRlZiBIQVZFX1NZU19SRUdfSAorIyBpbmNsdWRlIDxzeXMvcmVnLmg+CisjaWZuZGVmIFBUUkFDRV9QRUVLVVNSCisjIGRlZmluZSBQVFJBQ0VfUEVFS1VTUiBQVFJBQ0VfUEVFS1VTRVIKKyNlbmRpZgorI2lmbmRlZiBQVFJBQ0VfUE9LRVVTUgorIyBkZWZpbmUgUFRSQUNFX1BPS0VVU1IgUFRSQUNFX1BPS0VVU0VSCisjZW5kaWYKKyNlbGlmIGRlZmluZWQoSEFWRV9MSU5VWF9QVFJBQ0VfSCkKKyN1bmRlZiBQVFJBQ0VfU1lTQ0FMTAorIyBpZmRlZiBIQVZFX1NUUlVDVF9JQTY0X0ZQUkVHCisjICBkZWZpbmUgaWE2NF9mcHJlZyBYWFhfaWE2NF9mcHJlZworIyBlbmRpZgorIyBpZmRlZiBIQVZFX1NUUlVDVF9QVF9BTExfVVNFUl9SRUdTCisjICBkZWZpbmUgcHRfYWxsX3VzZXJfcmVncyBYWFhfcHRfYWxsX3VzZXJfcmVncworIyBlbmRpZgorI2luY2x1ZGUgPGxpbnV4L3B0cmFjZS5oPgorIyB1bmRlZiBpYTY0X2ZwcmVnCisjIHVuZGVmIHB0X2FsbF91c2VyX3JlZ3MKKyNlbmRpZgorCisKKyNpZmRlZiBMSU5VWAorCisjaWZkZWYgSUE2NAorIyBpbmNsdWRlIDxhc20vcHRyYWNlX29mZnNldHMuaD4KKyNlbmRpZiAvKiAhSUE2NCAqLworCisjaWYgZGVmaW5lZCAoTElOVVgpICYmIGRlZmluZWQgKFNQQVJDNjQpCisjIHVuZGVmIFBUUkFDRV9HRVRSRUdTCisjIGRlZmluZSBQVFJBQ0VfR0VUUkVHUyBQVFJBQ0VfR0VUUkVHUzY0CisjIHVuZGVmIFBUUkFDRV9TRVRSRUdTCisjIGRlZmluZSBQVFJBQ0VfU0VUUkVHUyBQVFJBQ0VfU0VUUkVHUzY0CisjZW5kaWYgLyogTElOVVggJiYgU1BBUkM2NCAqLworCisjaWYgZGVmaW5lZCAoU1BBUkMpIHx8IGRlZmluZWQgKFNQQVJDNjQpIHx8IGRlZmluZWQgKE1JUFMpCit0eXBlZGVmIHN0cnVjdCB7CisJc3RydWN0IHB0X3JlZ3MJCXNpX3JlZ3M7CisJaW50CQkJc2lfbWFzazsKK30gbV9zaWdpbmZvX3Q7CisjZWxpZiBkZWZpbmVkIEhBVkVfQVNNX1NJR0NPTlRFWFRfSAorI2lmICFkZWZpbmVkKElBNjQpICYmICFkZWZpbmVkKFg4Nl82NCkKKyNpbmNsdWRlIDxhc20vc2lnY29udGV4dC5oPgorI2VuZGlmIC8qICFJQTY0ICYmICFYODZfNjQgKi8KKyNlbHNlIC8qICFIQVZFX0FTTV9TSUdDT05URVhUX0ggKi8KKyNpZiBkZWZpbmVkIEkzODYgJiYgIWRlZmluZWQgSEFWRV9TVFJVQ1RfU0lHQ09OVEVYVF9TVFJVQ1QKK3N0cnVjdCBzaWdjb250ZXh0X3N0cnVjdCB7CisJdW5zaWduZWQgc2hvcnQgZ3MsIF9fZ3NoOworCXVuc2lnbmVkIHNob3J0IGZzLCBfX2ZzaDsKKwl1bnNpZ25lZCBzaG9ydCBlcywgX19lc2g7CisJdW5zaWduZWQgc2hvcnQgZHMsIF9fZHNoOworCXVuc2lnbmVkIGxvbmcgZWRpOworCXVuc2lnbmVkIGxvbmcgZXNpOworCXVuc2lnbmVkIGxvbmcgZWJwOworCXVuc2lnbmVkIGxvbmcgZXNwOworCXVuc2lnbmVkIGxvbmcgZWJ4OworCXVuc2lnbmVkIGxvbmcgZWR4OworCXVuc2lnbmVkIGxvbmcgZWN4OworCXVuc2lnbmVkIGxvbmcgZWF4OworCXVuc2lnbmVkIGxvbmcgdHJhcG5vOworCXVuc2lnbmVkIGxvbmcgZXJyOworCXVuc2lnbmVkIGxvbmcgZWlwOworCXVuc2lnbmVkIHNob3J0IGNzLCBfX2NzaDsKKwl1bnNpZ25lZCBsb25nIGVmbGFnczsKKwl1bnNpZ25lZCBsb25nIGVzcF9hdF9zaWduYWw7CisJdW5zaWduZWQgc2hvcnQgc3MsIF9fc3NoOworCXVuc2lnbmVkIGxvbmcgaTM4NzsKKwl1bnNpZ25lZCBsb25nIG9sZG1hc2s7CisJdW5zaWduZWQgbG9uZyBjcjI7Cit9OworI2Vsc2UgLyogIUkzODYgKi8KKyNpZiBkZWZpbmVkIE02OEsgJiYgIWRlZmluZWQgSEFWRV9TVFJVQ1RfU0lHQ09OVEVYVAorc3RydWN0IHNpZ2NvbnRleHQKK3sKKwl1bnNpZ25lZCBsb25nIHNjX21hc2s7CisJdW5zaWduZWQgbG9uZyBzY191c3A7CisJdW5zaWduZWQgbG9uZyBzY19kMDsKKwl1bnNpZ25lZCBsb25nIHNjX2QxOworCXVuc2lnbmVkIGxvbmcgc2NfYTA7CisJdW5zaWduZWQgbG9uZyBzY19hMTsKKwl1bnNpZ25lZCBzaG9ydCBzY19zcjsKKwl1bnNpZ25lZCBsb25nIHNjX3BjOworCXVuc2lnbmVkIHNob3J0IHNjX2Zvcm1hdHZlYzsKK307CisjZW5kaWYgLyogTTY4SyAqLworI2VuZGlmIC8qICFJMzg2ICovCisjZW5kaWYgLyogIUhBVkVfQVNNX1NJR0NPTlRFWFRfSCAqLworI2lmbmRlZiBOU0lHCisjZGVmaW5lIE5TSUcgMzIKKyNlbmRpZgorI2lmZGVmIEFSTQorI3VuZGVmIE5TSUcKKyNkZWZpbmUgTlNJRyAzMgorI2VuZGlmCisjZW5kaWYgLyogTElOVVggKi8KKworY29uc3QgY2hhciAqY29uc3Qgc2lnbmFsZW50MFtdID0geworI2luY2x1ZGUgInNpZ25hbGVudC5oIgorfTsKK2NvbnN0IGludCBuc2lnbmFsczAgPSBzaXplb2Ygc2lnbmFsZW50MCAvIHNpemVvZiBzaWduYWxlbnQwWzBdOworCisjaWYgU1VQUE9SVEVEX1BFUlNPTkFMSVRJRVMgPj0gMgorY29uc3QgY2hhciAqY29uc3Qgc2lnbmFsZW50MVtdID0geworI2luY2x1ZGUgInNpZ25hbGVudDEuaCIKK307Citjb25zdCBpbnQgbnNpZ25hbHMxID0gc2l6ZW9mIHNpZ25hbGVudDEgLyBzaXplb2Ygc2lnbmFsZW50MVswXTsKKyNlbmRpZiAvKiBTVVBQT1JURURfUEVSU09OQUxJVElFUyA+PSAyICovCisKKyNpZiBTVVBQT1JURURfUEVSU09OQUxJVElFUyA+PSAzCitjb25zdCBjaGFyICpjb25zdCBzaWduYWxlbnQyW10gPSB7CisjaW5jbHVkZSAic2lnbmFsZW50Mi5oIgorfTsKK2NvbnN0IGludCBuc2lnbmFsczIgPSBzaXplb2Ygc2lnbmFsZW50MiAvIHNpemVvZiBzaWduYWxlbnQyWzBdOworI2VuZGlmIC8qIFNVUFBPUlRFRF9QRVJTT05BTElUSUVTID49IDMgKi8KKworY29uc3QgY2hhciAqY29uc3QgKnNpZ25hbGVudDsKK2ludCBuc2lnbmFsczsKKworI2lmIGRlZmluZWQoU1VOT1M0KSB8fCBkZWZpbmVkKEZSRUVCU0QpCisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCBzaWd2ZWNfZmxhZ3NbXSA9IHsKKwl7IFNWX09OU1RBQ0ssCSJTVl9PTlNUQUNLIgl9LAorCXsgU1ZfSU5URVJSVVBULAkiU1ZfSU5URVJSVVBUIgl9LAorCXsgU1ZfUkVTRVRIQU5ELAkiU1ZfUkVTRVRIQU5EIgl9LAorCXsgU0FfTk9DTERTVE9QLAkiU0FfTk9DTERTVE9QIgl9LAorCXsgMCwJCU5VTEwJCX0sCit9OworCisjZW5kaWYgLyogU1VOT1M0IHx8IEZSRUVCU0QgKi8KKworI2lmZGVmIEhBVkVfU0lHQUNUSU9OCisKKyNpZiBkZWZpbmVkIExJTlVYICYmIChkZWZpbmVkIEkzODYgfHwgZGVmaW5lZCBYODZfNjQpCisvKiBUaGUgbGliYyBoZWFkZXJzIGRvIG5vdCBkZWZpbmUgdGhpcyBjb25zdGFudCBzaW5jZSBpdCBzaG91bGQgb25seSBiZQorICAgdXNlZCBieSB0aGUgaW1wbGVtZW50YXRpb24uICBTbyB3d2UgZGVmaW5lIGl0IGhlcmUuICAqLworIyBpZm5kZWYgU0FfUkVTVE9SRVIKKyMgIGRlZmluZSBTQV9SRVNUT1JFUiAweDA0MDAwMDAwCisjIGVuZGlmCisjZW5kaWYKKworc3RhdGljIGNvbnN0IHN0cnVjdCB4bGF0IHNpZ2FjdF9mbGFnc1tdID0geworI2lmZGVmIFNBX1JFU1RPUkVSCisJeyBTQV9SRVNUT1JFUiwJIlNBX1JFU1RPUkVSIgl9LAorI2VuZGlmCisjaWZkZWYgU0FfU1RBQ0sKKwl7IFNBX1NUQUNLLAkiU0FfU1RBQ0siCX0sCisjZW5kaWYKKyNpZmRlZiBTQV9SRVNUQVJUCisJeyBTQV9SRVNUQVJULAkiU0FfUkVTVEFSVCIJfSwKKyNlbmRpZgorI2lmZGVmIFNBX0lOVEVSUlVQVAorCXsgU0FfSU5URVJSVVBULAkiU0FfSU5URVJSVVBUIgl9LAorI2VuZGlmCisjaWZkZWYgU0FfTk9ERUZFUgorCXsgU0FfTk9ERUZFUiwJIlNBX05PREVGRVIiCX0sCisjZW5kaWYKKyNpZiBkZWZpbmVkIFNBX05PTUFTSyAmJiBTQV9OT0RFRkVSICE9IFNBX05PTUFTSworCXsgU0FfTk9NQVNLLAkiU0FfTk9NQVNLIgl9LAorI2VuZGlmCisjaWZkZWYgU0FfUkVTRVRIQU5ECisJeyBTQV9SRVNFVEhBTkQsCSJTQV9SRVNFVEhBTkQiCX0sCisjZW5kaWYKKyNpZiBkZWZpbmVkIFNBX09ORVNIT1QgJiYgU0FfT05FU0hPVCAhPSBTQV9SRVNFVEhBTkQKKwl7IFNBX09ORVNIT1QsCSJTQV9PTkVTSE9UIgl9LAorI2VuZGlmCisjaWZkZWYgU0FfU0lHSU5GTworCXsgU0FfU0lHSU5GTywJIlNBX1NJR0lORk8iCX0sCisjZW5kaWYKKyNpZmRlZiBTQV9SRVNFVEhBTkQKKwl7IFNBX1JFU0VUSEFORCwJIlNBX1JFU0VUSEFORCIJfSwKKyNlbmRpZgorI2lmZGVmIFNBX09OU1RBQ0sKKwl7IFNBX09OU1RBQ0ssCSJTQV9PTlNUQUNLIgl9LAorI2VuZGlmCisjaWZkZWYgU0FfTk9ERUZFUgorCXsgU0FfTk9ERUZFUiwJIlNBX05PREVGRVIiCX0sCisjZW5kaWYKKyNpZmRlZiBTQV9OT0NMRFNUT1AKKwl7IFNBX05PQ0xEU1RPUCwJIlNBX05PQ0xEU1RPUCIJfSwKKyNlbmRpZgorI2lmZGVmIFNBX05PQ0xEV0FJVAorCXsgU0FfTk9DTERXQUlULAkiU0FfTk9DTERXQUlUIgl9LAorI2VuZGlmCisjaWZkZWYgX1NBX0JTRENBTEwKKwl7IF9TQV9CU0RDQUxMLAkiX1NBX0JTRENBTEwiCX0sCisjZW5kaWYKKyNpZmRlZiBTQV9OT1BUUkFDRQorCXsgU0FfTk9QVFJBQ0UsCSJTQV9OT1BUUkFDRSIJfSwKKyNlbmRpZgorCXsgMCwJCU5VTEwJCX0sCit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IHhsYXQgc2lncHJvY21hc2tjbWRzW10gPSB7CisJeyBTSUdfQkxPQ0ssCSJTSUdfQkxPQ0siCX0sCisJeyBTSUdfVU5CTE9DSywJIlNJR19VTkJMT0NLIgl9LAorCXsgU0lHX1NFVE1BU0ssCSJTSUdfU0VUTUFTSyIJfSwKKyNpZmRlZiBTSUdfU0VUTUFTSzMyCisJeyBTSUdfU0VUTUFTSzMyLCJTSUdfU0VUTUFTSzMyIgl9LAorI2VuZGlmCisJeyAwLAkJTlVMTAkJfSwKK307CisKKyNlbmRpZiAvKiBIQVZFX1NJR0FDVElPTiAqLworCisvKiBBbm9ueW1vdXMgcmVhbHRpbWUgc2lnbmFscy4gKi8KKy8qIFVuZGVyIGdsaWJjIDIuMSwgU0lHUlRNSU4gZXQgYWwgYXJlIGZ1bmN0aW9ucywgYnV0IF9fU0lHUlRNSU4gaXMgYQorICAgY29uc3RhbnQuICBUaGlzIGlzIHdoYXQgd2Ugd2FudC4gIE90aGVyd2lzZSwganVzdCB1c2UgU0lHUlRNSU4uICovCisjaWZkZWYgU0lHUlRNSU4KKyNpZm5kZWYgX19TSUdSVE1JTgorI2RlZmluZSBfX1NJR1JUTUlOIFNJR1JUTUlOCisjZGVmaW5lIF9fU0lHUlRNQVggU0lHUlRNQVggLyogbGlrZXdpc2UgKi8KKyNlbmRpZgorI2VuZGlmCisKK2NvbnN0IGNoYXIgKgorc2lnbmFtZShzaWcpCitpbnQgc2lnOworeworCXN0YXRpYyBjaGFyIGJ1ZlszMF07CisJaWYgKHNpZyA+PSAwICYmIHNpZyA8IG5zaWduYWxzKSB7CisJCXJldHVybiBzaWduYWxlbnRbc2lnXTsKKyNpZmRlZiBTSUdSVE1JTgorCX0gZWxzZSBpZiAoc2lnID49IF9fU0lHUlRNSU4gJiYgc2lnIDw9IF9fU0lHUlRNQVgpIHsKKwkJc3ByaW50ZihidWYsICJTSUdSVF8lbGQiLCAobG9uZykoc2lnIC0gX19TSUdSVE1JTikpOworCQlyZXR1cm4gYnVmOworI2VuZGlmIC8qIFNJR1JUTUlOICovCisJfSBlbHNlIHsKKwkJc3ByaW50ZihidWYsICIlZCIsIHNpZyk7CisJCXJldHVybiBidWY7CisJfQorfQorCisjaWZuZGVmIFVOSVhXQVJFCitzdGF0aWMgdm9pZAorbG9uZ190b19zaWdzZXQobCwgcykKK2xvbmcgbDsKK3NpZ3NldF90ICpzOworeworCXNpZ2VtcHR5c2V0KHMpOworCSoobG9uZyAqKXMgPSBsOworfQorI2VuZGlmCisKK3N0YXRpYyBpbnQKK2NvcHlfc2lnc2V0X2xlbih0Y3AsIGFkZHIsIHMsIGxlbikKK3N0cnVjdCB0Y2IgKnRjcDsKK2xvbmcgYWRkcjsKK3NpZ3NldF90ICpzOworaW50IGxlbjsKK3sKKwlpZiAobGVuID4gc2l6ZW9mKCpzKSkKKwkJbGVuID0gc2l6ZW9mKCpzKTsKKwlzaWdlbXB0eXNldChzKTsKKwlpZiAodW1vdmVuKHRjcCwgYWRkciwgbGVuLCAoY2hhciAqKXMpIDwgMCkKKwkJcmV0dXJuIC0xOworCXJldHVybiAwOworfQorCisjaWZkZWYgTElOVVgKKy8qIE9yaWdpbmFsIHNpZ3NldCBpcyB1bnNpZ25lZCBsb25nICovCisjZGVmaW5lIGNvcHlfc2lnc2V0KHRjcCwgYWRkciwgcykgY29weV9zaWdzZXRfbGVuKHRjcCwgYWRkciwgcywgc2l6ZW9mKGxvbmcpKQorI2Vsc2UKKyNkZWZpbmUgY29weV9zaWdzZXQodGNwLCBhZGRyLCBzKSBjb3B5X3NpZ3NldF9sZW4odGNwLCBhZGRyLCBzLCBzaXplb2Yoc2lnc2V0X3QpKQorI2VuZGlmCisKK3N0YXRpYyBjb25zdCBjaGFyICoKK3NwcmludHNpZ21hc2soY29uc3QgY2hhciAqc3RyLCBzaWdzZXRfdCAqbWFzaywgaW50IHJ0KQorLyogc2V0IG1pZ2h0IGluY2x1ZGUgcmVhbHRpbWUgc2lncyAqLworeworCWludCBpLCBuc2lnczsKKwlpbnQgbWF4c2lnczsKKwljaGFyICpmb3JtYXQsICpzOworCXN0YXRpYyBjaGFyIG91dHN0cls4ICogc2l6ZW9mKHNpZ3NldF90KSAqIDhdOworCisJc3RyY3B5KG91dHN0ciwgc3RyKTsKKwlzID0gb3V0c3RyICsgc3RybGVuKG91dHN0cik7CisJbnNpZ3MgPSAwOworCW1heHNpZ3MgPSBuc2lnbmFsczsKKyNpZmRlZiBfX1NJR1JUTUFYCisJaWYgKHJ0KQorCQltYXhzaWdzID0gX19TSUdSVE1BWDsgLyogaW5zdGVhZCAqLworI2VuZGlmCisJZm9yIChpID0gMTsgaSA8IG1heHNpZ3M7IGkrKykgeworCQlpZiAoc2lnaXNtZW1iZXIobWFzaywgaSkgPT0gMSkKKwkJCW5zaWdzKys7CisJfQorCWlmIChuc2lncyA+PSBuc2lnbmFscyAqIDIgLyAzKSB7CisJCSpzKysgPSAnfic7CisJCWZvciAoaSA9IDE7IGkgPCBtYXhzaWdzOyBpKyspIHsKKwkJCXN3aXRjaCAoc2lnaXNtZW1iZXIobWFzaywgaSkpIHsKKwkJCWNhc2UgMToKKwkJCQlzaWdkZWxzZXQobWFzaywgaSk7CisJCQkJYnJlYWs7CisJCQljYXNlIDA6CisJCQkJc2lnYWRkc2V0KG1hc2ssIGkpOworCQkJCWJyZWFrOworCQkJfQorCQl9CisJfQorCWZvcm1hdCA9ICIlcyI7CisJKnMrKyA9ICdbJzsKKwlmb3IgKGkgPSAxOyBpIDwgbWF4c2lnczsgaSsrKSB7CisJCWlmIChzaWdpc21lbWJlcihtYXNrLCBpKSA9PSAxKSB7CisJCQkvKiByZWFsLXRpbWUgc2lnbmFscyBvbiBzb2xhcmlzIGRvbid0IGhhdmUKKwkJCSAqIHNpZ25hbGVudCBlbnRyaWVzCisJCQkgKi8KKwkJCWlmIChpIDwgbnNpZ25hbHMpIHsKKwkJCQlzcHJpbnRmKHMsIGZvcm1hdCwgc2lnbmFsZW50W2ldICsgMyk7CisJCQl9CisjaWZkZWYgU0lHUlRNSU4KKwkJCWVsc2UgaWYgKGkgPj0gX19TSUdSVE1JTiAmJiBpIDw9IF9fU0lHUlRNQVgpIHsKKwkJCQljaGFyIHRzaWdbNDBdOworCQkJCXNwcmludGYodHNpZywgIlJUXyV1IiwgaSAtIF9fU0lHUlRNSU4pOworCQkJCXNwcmludGYocywgZm9ybWF0LCB0c2lnKTsKKwkJCX0KKyNlbmRpZiAvKiBTSUdSVE1JTiAqLworCQkJZWxzZSB7CisJCQkJY2hhciB0c2lnWzMyXTsKKwkJCQlzcHJpbnRmKHRzaWcsICIldSIsIGkpOworCQkJCXNwcmludGYocywgZm9ybWF0LCB0c2lnKTsKKwkJCX0KKwkJCXMgKz0gc3RybGVuKHMpOworCQkJZm9ybWF0ID0gIiAlcyI7CisJCX0KKwl9CisJKnMrKyA9ICddJzsKKwkqcyA9ICdcMCc7CisJcmV0dXJuIG91dHN0cjsKK30KKworc3RhdGljIHZvaWQKK3ByaW50c2lnbWFzayhtYXNrLCBydCkKK3NpZ3NldF90ICptYXNrOworaW50IHJ0OworeworCXRwcmludGYoIiVzIiwgc3ByaW50c2lnbWFzaygiIiwgbWFzaywgcnQpKTsKK30KKwordm9pZAorcHJpbnRzaWduYWwobnIpCitpbnQgbnI7Cit7CisJdHByaW50ZigiJXMiLCBzaWduYW1lKG5yKSk7Cit9CisKK3ZvaWQKK3ByaW50X3NpZ3NldChzdHJ1Y3QgdGNiICp0Y3AsIGxvbmcgYWRkciwgaW50IHJ0KQoreworCXNpZ3NldF90IHNzOworCisJaWYgKCFhZGRyKQorCQl0cHJpbnRmKCJOVUxMIik7CisJZWxzZSBpZiAoY29weV9zaWdzZXQodGNwLCBhZGRyLCAmc3MpIDwgMCkKKwkJdHByaW50ZigiJSNseCIsIGFkZHIpOworCWVsc2UKKwkJcHJpbnRzaWdtYXNrKCZzcywgcnQpOworfQorCisjaWZkZWYgTElOVVgKKworI2lmbmRlZiBJTExfSUxMT1BDCisjZGVmaW5lIElMTF9JTExPUEMgICAgICAxICAgICAgIC8qIGlsbGVnYWwgb3Bjb2RlICovCisjZGVmaW5lIElMTF9JTExPUE4gICAgICAyICAgICAgIC8qIGlsbGVnYWwgb3BlcmFuZCAqLworI2RlZmluZSBJTExfSUxMQURSICAgICAgMyAgICAgICAvKiBpbGxlZ2FsIGFkZHJlc3NpbmcgbW9kZSAqLworI2RlZmluZSBJTExfSUxMVFJQICAgICAgNCAgICAgICAvKiBpbGxlZ2FsIHRyYXAgKi8KKyNkZWZpbmUgSUxMX1BSVk9QQyAgICAgIDUgICAgICAgLyogcHJpdmlsZWdlZCBvcGNvZGUgKi8KKyNkZWZpbmUgSUxMX1BSVlJFRyAgICAgIDYgICAgICAgLyogcHJpdmlsZWdlZCByZWdpc3RlciAqLworI2RlZmluZSBJTExfQ09QUk9DICAgICAgNyAgICAgICAvKiBjb3Byb2Nlc3NvciBlcnJvciAqLworI2RlZmluZSBJTExfQkFEU1RLICAgICAgOCAgICAgICAvKiBpbnRlcm5hbCBzdGFjayBlcnJvciAqLworI2RlZmluZSBGUEVfSU5URElWICAgICAgMSAgICAgICAvKiBpbnRlZ2VyIGRpdmlkZSBieSB6ZXJvICovCisjZGVmaW5lIEZQRV9JTlRPVkYgICAgICAyICAgICAgIC8qIGludGVnZXIgb3ZlcmZsb3cgKi8KKyNkZWZpbmUgRlBFX0ZMVERJViAgICAgIDMgICAgICAgLyogZmxvYXRpbmcgcG9pbnQgZGl2aWRlIGJ5IHplcm8gKi8KKyNkZWZpbmUgRlBFX0ZMVE9WRiAgICAgIDQgICAgICAgLyogZmxvYXRpbmcgcG9pbnQgb3ZlcmZsb3cgKi8KKyNkZWZpbmUgRlBFX0ZMVFVORCAgICAgIDUgICAgICAgLyogZmxvYXRpbmcgcG9pbnQgdW5kZXJmbG93ICovCisjZGVmaW5lIEZQRV9GTFRSRVMgICAgICA2ICAgICAgIC8qIGZsb2F0aW5nIHBvaW50IGluZXhhY3QgcmVzdWx0ICovCisjZGVmaW5lIEZQRV9GTFRJTlYgICAgICA3ICAgICAgIC8qIGZsb2F0aW5nIHBvaW50IGludmFsaWQgb3BlcmF0aW9uICovCisjZGVmaW5lIEZQRV9GTFRTVUIgICAgICA4ICAgICAgIC8qIHN1YnNjcmlwdCBvdXQgb2YgcmFuZ2UgKi8KKyNkZWZpbmUgU0VHVl9NQVBFUlIgICAgIDEgICAgICAgLyogYWRkcmVzcyBub3QgbWFwcGVkIHRvIG9iamVjdCAqLworI2RlZmluZSBTRUdWX0FDQ0VSUiAgICAgMiAgICAgICAvKiBpbnZhbGlkIHBlcm1pc3Npb25zIGZvciBtYXBwZWQgb2JqZWN0ICovCisjZGVmaW5lIEJVU19BRFJBTE4gICAgICAxICAgICAgIC8qIGludmFsaWQgYWRkcmVzcyBhbGlnbm1lbnQgKi8KKyNkZWZpbmUgQlVTX0FEUkVSUiAgICAgIDIgICAgICAgLyogbm9uLWV4aXN0YW50IHBoeXNpY2FsIGFkZHJlc3MgKi8KKyNkZWZpbmUgQlVTX09CSkVSUiAgICAgIDMgICAgICAgLyogb2JqZWN0IHNwZWNpZmljIGhhcmR3YXJlIGVycm9yICovCisjZGVmaW5lIFRSQVBfQlJLUFQgICAgICAxICAgICAgIC8qIHByb2Nlc3MgYnJlYWtwb2ludCAqLworI2RlZmluZSBUUkFQX1RSQUNFICAgICAgMiAgICAgICAvKiBwcm9jZXNzIHRyYWNlIHRyYXAgKi8KKyNkZWZpbmUgQ0xEX0VYSVRFRCAgICAgIDEgICAgICAgLyogY2hpbGQgaGFzIGV4aXRlZCAqLworI2RlZmluZSBDTERfS0lMTEVEICAgICAgMiAgICAgICAvKiBjaGlsZCB3YXMga2lsbGVkICovCisjZGVmaW5lIENMRF9EVU1QRUQgICAgICAzICAgICAgIC8qIGNoaWxkIHRlcm1pbmF0ZWQgYWJub3JtYWxseSAqLworI2RlZmluZSBDTERfVFJBUFBFRCAgICAgNCAgICAgICAvKiB0cmFjZWQgY2hpbGQgaGFzIHRyYXBwZWQgKi8KKyNkZWZpbmUgQ0xEX1NUT1BQRUQgICAgIDUgICAgICAgLyogY2hpbGQgaGFzIHN0b3BwZWQgKi8KKyNkZWZpbmUgQ0xEX0NPTlRJTlVFRCAgIDYgICAgICAgLyogc3RvcHBlZCBjaGlsZCBoYXMgY29udGludWVkICovCisjZGVmaW5lIFBPTExfSU4gICAgICAgICAxICAgICAgIC8qIGRhdGEgaW5wdXQgYXZhaWxhYmxlICovCisjZGVmaW5lIFBPTExfT1VUICAgICAgICAyICAgICAgIC8qIG91dHB1dCBidWZmZXJzIGF2YWlsYWJsZSAqLworI2RlZmluZSBQT0xMX01TRyAgICAgICAgMyAgICAgICAvKiBpbnB1dCBtZXNzYWdlIGF2YWlsYWJsZSAqLworI2RlZmluZSBQT0xMX0VSUiAgICAgICAgNCAgICAgICAvKiBpL28gZXJyb3IgKi8KKyNkZWZpbmUgUE9MTF9QUkkgICAgICAgIDUgICAgICAgLyogaGlnaCBwcmlvcml0eSBpbnB1dCBhdmFpbGFibGUgKi8KKyNkZWZpbmUgUE9MTF9IVVAgICAgICAgIDYgICAgICAgLyogZGV2aWNlIGRpc2Nvbm5lY3RlZCAqLworI2RlZmluZSBTSV9VU0VSICAgICAgICAgMCAgICAgICAvKiBzZW50IGJ5IGtpbGwsIHNpZ3NlbmQsIHJhaXNlICovCisjZGVmaW5lIFNJX1FVRVVFICAgICAgICAtMSAgICAgIC8qIHNlbnQgYnkgc2lncXVldWUgKi8KKyNkZWZpbmUgU0lfVElNRVIgICAgICAgIC0yICAgICAgLyogc2VudCBieSB0aW1lciBleHBpcmF0aW9uICovCisjZGVmaW5lIFNJX01FU0dRICAgICAgICAtMyAgICAgIC8qIHNlbnQgYnkgcmVhbCB0aW1lIG1lc3Egc3RhdGUgY2hhbmdlICovCisjZGVmaW5lIFNJX0FTWU5DSU8gICAgICAtNCAgICAgIC8qIHNlbnQgYnkgQUlPIGNvbXBsZXRpb24gKi8KKyNkZWZpbmUgU0lfU0lHSU8JLTUJLyogU2VudCBieSBTSUdJTyAqLworI2RlZmluZSBTSV9US0lMTAktNgkvKiBTZW50IGJ5IHRraWxsICovCisjZW5kaWYKKworI2lmIF9fR0xJQkNfTUlOT1JfXyA8IDEKKy8qIFR5cGUgZm9yIGRhdGEgYXNzb2NpYXRlZCB3aXRoIGEgc2lnbmFsLiAgKi8KK3R5cGVkZWYgdW5pb24gc2lndmFsCit7CisJaW50IHNpdmFsX2ludDsKKwl2b2lkICpzaXZhbF9wdHI7Cit9IHNpZ3ZhbF90OworCisjIGRlZmluZSBfX1NJX01BWF9TSVpFICAgICAxMjgKKyMgZGVmaW5lIF9fU0lfUEFEX1NJWkUgICAgICgoX19TSV9NQVhfU0laRSAvIHNpemVvZiAoaW50KSkgLSAzKQorCit0eXBlZGVmIHN0cnVjdCBzaWdpbmZvCit7CisJaW50IHNpX3NpZ25vOyAgICAgICAgICAgICAgIC8qIFNpZ25hbCBudW1iZXIuICAqLworCWludCBzaV9lcnJubzsgICAgICAgICAgICAgICAvKiBJZiBub24temVybywgYW4gZXJybm8gdmFsdWUgYXNzb2NpYXRlZCB3aXRoCisJCQkJCQkJCSAgIHRoaXMgc2lnbmFsLCBhcyBkZWZpbmVkIGluIDxlcnJuby5oPi4gICovCisJaW50IHNpX2NvZGU7ICAgICAgICAgICAgICAgIC8qIFNpZ25hbCBjb2RlLiAgKi8KKworCXVuaW9uCisJeworCQlpbnQgX3BhZFtfX1NJX1BBRF9TSVpFXTsKKworCQkvKiBraWxsKCkuICAqLworCQlzdHJ1Y3QKKwkJeworCQkJX19waWRfdCBzaV9waWQ7ICAgICAvKiBTZW5kaW5nIHByb2Nlc3MgSUQuICAqLworCQkJX191aWRfdCBzaV91aWQ7ICAgICAvKiBSZWFsIHVzZXIgSUQgb2Ygc2VuZGluZyBwcm9jZXNzLiAgKi8KKwkJfSBfa2lsbDsKKworCQkvKiBQT1NJWC4xYiB0aW1lcnMuICAqLworCQlzdHJ1Y3QKKwkJeworCQkJdW5zaWduZWQgaW50IF90aW1lcjE7CisJCQl1bnNpZ25lZCBpbnQgX3RpbWVyMjsKKwkJfSBfdGltZXI7CisKKwkJLyogUE9TSVguMWIgc2lnbmFscy4gICovCisJCXN0cnVjdAorCQl7CisJCQlfX3BpZF90IHNpX3BpZDsgICAgIC8qIFNlbmRpbmcgcHJvY2VzcyBJRC4gICovCisJCQlfX3VpZF90IHNpX3VpZDsgICAgIC8qIFJlYWwgdXNlciBJRCBvZiBzZW5kaW5nIHByb2Nlc3MuICAqLworCQkJc2lndmFsX3Qgc2lfc2lndmFsOyAvKiBTaWduYWwgdmFsdWUuICAqLworCQl9IF9ydDsKKworCQkvKiBTSUdDSExELiAgKi8KKwkJc3RydWN0CisJCXsKKwkJCV9fcGlkX3Qgc2lfcGlkOyAgICAgLyogV2hpY2ggY2hpbGQuICAqLworCQkJaW50IHNpX3N0YXR1czsgICAgICAvKiBFeGl0IHZhbHVlIG9yIHNpZ25hbC4gICovCisJCQlfX2Nsb2NrX3Qgc2lfdXRpbWU7CisJCQlfX2Nsb2NrX3Qgc2lfc3RpbWU7CisJCX0gX3NpZ2NobGQ7CisKKwkJLyogU0lHSUxMLCBTSUdGUEUsIFNJR1NFR1YsIFNJR0JVUy4gICovCisJCXN0cnVjdAorCQl7CisJCQl2b2lkICpzaV9hZGRyOyAgICAgIC8qIEZhdWx0aW5nIGluc24vbWVtb3J5IHJlZi4gICovCisJCX0gX3NpZ2ZhdWx0OworCisJCS8qIFNJR1BPTEwuICAqLworCQlzdHJ1Y3QKKwkJeworCQkJaW50IHNpX2JhbmQ7ICAgICAgICAvKiBCYW5kIGV2ZW50IGZvciBTSUdQT0xMLiAgKi8KKwkJCWludCBzaV9mZDsKKwkJfSBfc2lncG9sbDsKKwl9IF9zaWZpZWxkczsKK30gc2lnaW5mb190OworCisjZGVmaW5lIHNpX3BpZAkJX3NpZmllbGRzLl9raWxsLnNpX3BpZAorI2RlZmluZSBzaV91aWQJCV9zaWZpZWxkcy5fa2lsbC5zaV91aWQKKyNkZWZpbmUgc2lfc3RhdHVzCV9zaWZpZWxkcy5fc2lnY2hsZC5zaV9zdGF0dXMKKyNkZWZpbmUgc2lfdXRpbWUJX3NpZmllbGRzLl9zaWdjaGxkLnNpX3V0aW1lCisjZGVmaW5lIHNpX3N0aW1lCV9zaWZpZWxkcy5fc2lnY2hsZC5zaV9zdGltZQorI2RlZmluZSBzaV92YWx1ZQlfc2lmaWVsZHMuX3J0LnNpX3NpZ3ZhbAorI2RlZmluZSBzaV9pbnQJCV9zaWZpZWxkcy5fcnQuc2lfc2lndmFsLnNpdmFsX2ludAorI2RlZmluZSBzaV9wdHIJCV9zaWZpZWxkcy5fcnQuc2lfc2lndmFsLnNpdmFsX3B0cgorI2RlZmluZSBzaV9hZGRyCQlfc2lmaWVsZHMuX3NpZ2ZhdWx0LnNpX2FkZHIKKyNkZWZpbmUgc2lfYmFuZAkJX3NpZmllbGRzLl9zaWdwb2xsLnNpX2JhbmQKKyNkZWZpbmUgc2lfZmQJCV9zaWZpZWxkcy5fc2lncG9sbC5zaV9mZAorCisjZW5kaWYKKworI2VuZGlmCisKKyNpZiBkZWZpbmVkIChTVlI0KSB8fCBkZWZpbmVkIChMSU5VWCkKKworc3RhdGljIGNvbnN0IHN0cnVjdCB4bGF0IHNpZ2luZm9fY29kZXNbXSA9IHsKKyNpZmRlZiBTSV9OT0lORk8KKwl7IFNJX05PSU5GTywJIlNJX05PSU5GTyIJfSwKKyNlbmRpZgorI2lmZGVmIFNJX1VTRVIKKwl7IFNJX1VTRVIsCSJTSV9VU0VSIgl9LAorI2VuZGlmCisjaWZkZWYgU0lfTFdQCisJeyBTSV9MV1AsCSJTSV9MV1AiCX0sCisjZW5kaWYKKyNpZmRlZiBTSV9RVUVVRQorCXsgU0lfUVVFVUUsCSJTSV9RVUVVRSIJfSwKKyNlbmRpZgorI2lmZGVmIFNJX1RJTUVSCisJeyBTSV9USU1FUiwJIlNJX1RJTUVSIgl9LAorI2VuZGlmCisjaWZkZWYgU0lfQVNZTkNJTworCXsgU0lfQVNZTkNJTywJIlNJX0FTWU5DSU8iCX0sCisjZW5kaWYKKyNpZmRlZiBTSV9NRVNHUQorCXsgU0lfTUVTR1EsCSJTSV9NRVNHUSIJfSwKKyNlbmRpZgorI2lmZGVmIFNJX1NJR0lPCisJeyBTSV9TSUdJTywJIlNJX1NJR0lPIgl9LAorI2VuZGlmCisjaWZkZWYgU0lfVEtJTEwKKwl7IFNJX1RLSUxMLAkiU0lfVEtJTEwiCX0sCisjZW5kaWYKKwl7IDAsCQlOVUxMCQl9LAorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCB4bGF0IHNpZ2lsbF9jb2Rlc1tdID0geworCXsgSUxMX0lMTE9QQywJIklMTF9JTExPUEMiCX0sCisJeyBJTExfSUxMT1BOLAkiSUxMX0lMTE9QTiIJfSwKKwl7IElMTF9JTExBRFIsCSJJTExfSUxMQURSIgl9LAorCXsgSUxMX0lMTFRSUCwJIklMTF9JTExUUlAiCX0sCisJeyBJTExfUFJWT1BDLAkiSUxMX1BSVk9QQyIJfSwKKwl7IElMTF9QUlZSRUcsCSJJTExfUFJWUkVHIgl9LAorCXsgSUxMX0NPUFJPQywJIklMTF9DT1BST0MiCX0sCisJeyBJTExfQkFEU1RLLAkiSUxMX0JBRFNUSyIJfSwKKwl7IDAsCQlOVUxMCQl9LAorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCB4bGF0IHNpZ2ZwZV9jb2Rlc1tdID0geworCXsgRlBFX0lOVERJViwJIkZQRV9JTlRESVYiCX0sCisJeyBGUEVfSU5UT1ZGLAkiRlBFX0lOVE9WRiIJfSwKKwl7IEZQRV9GTFRESVYsCSJGUEVfRkxURElWIgl9LAorCXsgRlBFX0ZMVE9WRiwJIkZQRV9GTFRPVkYiCX0sCisJeyBGUEVfRkxUVU5ELAkiRlBFX0ZMVFVORCIJfSwKKwl7IEZQRV9GTFRSRVMsCSJGUEVfRkxUUkVTIgl9LAorCXsgRlBFX0ZMVElOViwJIkZQRV9GTFRJTlYiCX0sCisJeyBGUEVfRkxUU1VCLAkiRlBFX0ZMVFNVQiIJfSwKKwl7IDAsCQlOVUxMCQl9LAorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCB4bGF0IHNpZ3RyYXBfY29kZXNbXSA9IHsKKwl7IFRSQVBfQlJLUFQsCSJUUkFQX0JSS1BUIgl9LAorCXsgVFJBUF9UUkFDRSwJIlRSQVBfVFJBQ0UiCX0sCisJeyAwLAkJTlVMTAkJfSwKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCBzaWdjaGxkX2NvZGVzW10gPSB7CisJeyBDTERfRVhJVEVELAkiQ0xEX0VYSVRFRCIJfSwKKwl7IENMRF9LSUxMRUQsCSJDTERfS0lMTEVEIgl9LAorCXsgQ0xEX0RVTVBFRCwJIkNMRF9EVU1QRUQiCX0sCisJeyBDTERfVFJBUFBFRCwJIkNMRF9UUkFQUEVEIgl9LAorCXsgQ0xEX1NUT1BQRUQsCSJDTERfU1RPUFBFRCIJfSwKKwl7IENMRF9DT05USU5VRUQsIkNMRF9DT05USU5VRUQiCX0sCisJeyAwLAkJTlVMTAkJfSwKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCBzaWdwb2xsX2NvZGVzW10gPSB7CisJeyBQT0xMX0lOLAkiUE9MTF9JTiIJfSwKKwl7IFBPTExfT1VULAkiUE9MTF9PVVQiCX0sCisJeyBQT0xMX01TRywJIlBPTExfTVNHIgl9LAorCXsgUE9MTF9FUlIsCSJQT0xMX0VSUiIJfSwKKwl7IFBPTExfUFJJLAkiUE9MTF9QUkkiCX0sCisJeyBQT0xMX0hVUCwJIlBPTExfSFVQIgl9LAorCXsgMCwJCU5VTEwJCX0sCit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IHhsYXQgc2lncHJvZl9jb2Rlc1tdID0geworI2lmZGVmIFBST0ZfU0lHCisJeyBQUk9GX1NJRywJIlBST0ZfU0lHIgl9LAorI2VuZGlmCisJeyAwLAkJTlVMTAkJfSwKK307CisKKyNpZmRlZiBTSUdFTVQKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCBzaWdlbXRfY29kZXNbXSA9IHsKKyNpZmRlZiBFTVRfVEFHT1ZGCisJeyBFTVRfVEFHT1ZGLAkiRU1UX1RBR09WRiIJfSwKKyNlbmRpZgorCXsgMCwJCU5VTEwJCX0sCit9OworI2VuZGlmCisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCBzaWdzZWd2X2NvZGVzW10gPSB7CisJeyBTRUdWX01BUEVSUiwJIlNFR1ZfTUFQRVJSIgl9LAorCXsgU0VHVl9BQ0NFUlIsCSJTRUdWX0FDQ0VSUiIJfSwKKwl7IDAsCQlOVUxMCQl9LAorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCB4bGF0IHNpZ2J1c19jb2Rlc1tdID0geworCXsgQlVTX0FEUkFMTiwJIkJVU19BRFJBTE4iCX0sCisJeyBCVVNfQURSRVJSLAkiQlVTX0FEUkVSUiIJfSwKKwl7IEJVU19PQkpFUlIsCSJCVVNfT0JKRVJSIgl9LAorCXsgMCwJCU5VTEwJCX0sCit9OworCit2b2lkCitwcmludHNpZ2luZm8oc2lwLCB2ZXJib3NlKQorc2lnaW5mb190ICpzaXA7CitpbnQgdmVyYm9zZTsKK3sKKwljb25zdCBjaGFyICpjb2RlOworCisJaWYgKHNpcC0+c2lfc2lnbm8gPT0gMCkgeworCQl0cHJpbnRmICgie30iKTsKKwkJcmV0dXJuOworCX0KKwl0cHJpbnRmKCJ7c2lfc2lnbm89Iik7CisJcHJpbnRzaWduYWwoc2lwLT5zaV9zaWdubyk7CisJY29kZSA9IHhsb29rdXAoc2lnaW5mb19jb2Rlcywgc2lwLT5zaV9jb2RlKTsKKwlpZiAoIWNvZGUpIHsKKwkJc3dpdGNoIChzaXAtPnNpX3NpZ25vKSB7CisJCWNhc2UgU0lHVFJBUDoKKwkJCWNvZGUgPSB4bG9va3VwKHNpZ3RyYXBfY29kZXMsIHNpcC0+c2lfY29kZSk7CisJCQlicmVhazsKKwkJY2FzZSBTSUdDSExEOgorCQkJY29kZSA9IHhsb29rdXAoc2lnY2hsZF9jb2Rlcywgc2lwLT5zaV9jb2RlKTsKKwkJCWJyZWFrOworCQljYXNlIFNJR1BPTEw6CisJCQljb2RlID0geGxvb2t1cChzaWdwb2xsX2NvZGVzLCBzaXAtPnNpX2NvZGUpOworCQkJYnJlYWs7CisJCWNhc2UgU0lHUFJPRjoKKwkJCWNvZGUgPSB4bG9va3VwKHNpZ3Byb2ZfY29kZXMsIHNpcC0+c2lfY29kZSk7CisJCQlicmVhazsKKwkJY2FzZSBTSUdJTEw6CisJCQljb2RlID0geGxvb2t1cChzaWdpbGxfY29kZXMsIHNpcC0+c2lfY29kZSk7CisJCQlicmVhazsKKyNpZmRlZiBTSUdFTVQKKwkJY2FzZSBTSUdFTVQ6CisJCQljb2RlID0geGxvb2t1cChzaWdlbXRfY29kZXMsIHNpcC0+c2lfY29kZSk7CisJCQlicmVhazsKKyNlbmRpZgorCQljYXNlIFNJR0ZQRToKKwkJCWNvZGUgPSB4bG9va3VwKHNpZ2ZwZV9jb2Rlcywgc2lwLT5zaV9jb2RlKTsKKwkJCWJyZWFrOworCQljYXNlIFNJR1NFR1Y6CisJCQljb2RlID0geGxvb2t1cChzaWdzZWd2X2NvZGVzLCBzaXAtPnNpX2NvZGUpOworCQkJYnJlYWs7CisJCWNhc2UgU0lHQlVTOgorCQkJY29kZSA9IHhsb29rdXAoc2lnYnVzX2NvZGVzLCBzaXAtPnNpX2NvZGUpOworCQkJYnJlYWs7CisJCX0KKwl9CisJaWYgKGNvZGUpCisJCXRwcmludGYoIiwgc2lfY29kZT0lcyIsIGNvZGUpOworCWVsc2UKKwkJdHByaW50ZigiLCBzaV9jb2RlPSUjeCIsIHNpcC0+c2lfY29kZSk7CisjaWZkZWYgU0lfTk9JTkZPCisJaWYgKHNpcC0+c2lfY29kZSAhPSBTSV9OT0lORk8pCisjZW5kaWYKKwl7CisJCWlmIChzaXAtPnNpX2Vycm5vKSB7CisJCQlpZiAoc2lwLT5zaV9lcnJubyA8IDAgfHwgc2lwLT5zaV9lcnJubyA+PSBuZXJybm9zKQorCQkJCXRwcmludGYoIiwgc2lfZXJybm89JWQiLCBzaXAtPnNpX2Vycm5vKTsKKwkJCWVsc2UKKwkJCQl0cHJpbnRmKCIsIHNpX2Vycm5vPSVzIiwKKwkJCQkJZXJybm9lbnRbc2lwLT5zaV9lcnJub10pOworCQl9CisjaWZkZWYgU0lfRlJPTVVTRVIKKwkJaWYgKFNJX0ZST01VU0VSKHNpcCkpIHsKKwkJCXRwcmludGYoIiwgc2lfcGlkPSVsZCwgc2lfdWlkPSVsZCIsCisJCQkJc2lwLT5zaV9waWQsIHNpcC0+c2lfdWlkKTsKKyNpZmRlZiBTSV9RVUVVRQorCQkJc3dpdGNoIChzaXAtPnNpX2NvZGUpIHsKKwkJCWNhc2UgU0lfUVVFVUU6CisjaWZkZWYgU0lfVElNRVIKKwkJCWNhc2UgU0lfVElNRVI6CisjZW5kaWYgLyogU0lfUVVFVUUgKi8KKwkJCWNhc2UgU0lfQVNZTkNJTzoKKyNpZmRlZiBTSV9NRVNHUQorCQkJY2FzZSBTSV9NRVNHUToKKyNlbmRpZiAvKiBTSV9NRVNHUSAqLworCQkJCXRwcmludGYoIiwgc2lfdmFsdWU9JWQiLAorCQkJCQlzaXAtPnNpX3ZhbHVlLnNpdmFsX2ludCk7CisJCQkJYnJlYWs7CisJCQl9CisjZW5kaWYgLyogU0lfUVVFVUUgKi8KKwkJfQorCQllbHNlCisjZW5kaWYgLyogU0lfRlJPTVVTRVIgKi8KKwkJeworCQkJc3dpdGNoIChzaXAtPnNpX3NpZ25vKSB7CisJCQljYXNlIFNJR0NITEQ6CisJCQkJdHByaW50ZigiLCBzaV9waWQ9JWxkLCBzaV9zdGF0dXM9IiwKKwkJCQkJKGxvbmcpIHNpcC0+c2lfcGlkKTsKKwkJCQlpZiAoc2lwLT5zaV9jb2RlID09IENMRF9FWElURUQpCisJCQkJCXRwcmludGYoIiVkIiwgc2lwLT5zaV9zdGF0dXMpOworCQkJCWVsc2UKKwkJCQkJcHJpbnRzaWduYWwoc2lwLT5zaV9zdGF0dXMpOworI2lmIExJTlVYCisJCQkJaWYgKCF2ZXJib3NlKQorCQkJCQl0cHJpbnRmKCIsIC4uLiIpOworCQkJCWVsc2UKKwkJCQkJdHByaW50ZigiLCBzaV91dGltZT0lbHUsIHNpX3N0aW1lPSVsdSIsCisJCQkJCQlzaXAtPnNpX3V0aW1lLAorCQkJCQkJc2lwLT5zaV9zdGltZSk7CisjZW5kaWYKKwkJCQlicmVhazsKKwkJCWNhc2UgU0lHSUxMOiBjYXNlIFNJR0ZQRToKKwkJCWNhc2UgU0lHU0VHVjogY2FzZSBTSUdCVVM6CisJCQkJdHByaW50ZigiLCBzaV9hZGRyPSUjbHgiLAorCQkJCQkodW5zaWduZWQgbG9uZykgc2lwLT5zaV9hZGRyKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgU0lHUE9MTDoKKwkJCQlzd2l0Y2ggKHNpcC0+c2lfY29kZSkgeworCQkJCWNhc2UgUE9MTF9JTjogY2FzZSBQT0xMX09VVDogY2FzZSBQT0xMX01TRzoKKwkJCQkJdHByaW50ZigiLCBzaV9iYW5kPSVsZCIsCisJCQkJCQkobG9uZykgc2lwLT5zaV9iYW5kKTsKKwkJCQkJYnJlYWs7CisJCQkJfQorCQkJCWJyZWFrOworI2lmZGVmIExJTlVYCisJCQlkZWZhdWx0OgorCQkJICAgICAgICB0cHJpbnRmKCIsIHNpX3BpZD0lbHUsIHNpX3VpZD0lbHUsICIsCisJCQkJCSh1bnNpZ25lZCBsb25nKSBzaXAtPnNpX3BpZCwKKwkJCQkJKHVuc2lnbmVkIGxvbmcpIHNpcC0+c2lfdWlkKTsKKwkJCQlpZiAoIXZlcmJvc2UpCisJCQkJCXRwcmludGYoIi4uLiIpOworCQkJCWVsc2UgeworCQkJCQl0cHJpbnRmKCJzaV92YWx1ZT17aW50PSV1LCBwdHI9JSNseH0iLAorCQkJCQkJc2lwLT5zaV9pbnQsCisJCQkJCQkodW5zaWduZWQgbG9uZykgc2lwLT5zaV9wdHIpOworCQkJCX0KKyNlbmRpZgorCisJCQl9CisJCX0KKwl9CisJdHByaW50ZigifSIpOworfQorCisjZW5kaWYgLyogU1ZSNCB8fCBMSU5VWCAqLworCisjaWZkZWYgTElOVVgKKworc3RhdGljIHZvaWQKK3BhcnNlX3NpZ3NldF90IChjb25zdCBjaGFyICpzdHIsIHNpZ3NldF90ICpzZXQpCit7CisJY29uc3QgY2hhciAqcDsKKwl1bnNpZ25lZCBpbnQgZGlnaXQ7CisJaW50IGk7CisKKwlzaWdlbXB0eXNldChzZXQpOworCisJcCA9IHN0cmNocihzdHIsICdcbicpOworCWlmIChwID09IE5VTEwpCisJCXAgPSBzdHJjaHIoc3RyLCAnXDAnKTsKKwlmb3IgKGkgPSAwOyBwLS0gPiBzdHI7IGkgKz0gNCkgeworCQlpZiAoKnAgPj0gJzAnICYmICpwIDw9ICc5JykKKwkJCWRpZ2l0ID0gKnAgLSAnMCc7CisJCWVsc2UgaWYgKCpwID49ICdhJyAmJiAqcCA8PSAnZicpCisJCQlkaWdpdCA9ICpwIC0gJ2EnICsgMTA7CisJCWVsc2UgaWYgKCpwID49ICdBJyAmJiAqcCA8PSAnRicpCisJCQlkaWdpdCA9ICpwIC0gJ0EnICsgMTA7CisJCWVsc2UKKwkJCWJyZWFrOworCQlpZiAoZGlnaXQgJiAxKQorCQkJc2lnYWRkc2V0KHNldCwgaSArIDEpOworCQlpZiAoZGlnaXQgJiAyKQorCQkJc2lnYWRkc2V0KHNldCwgaSArIDIpOworCQlpZiAoZGlnaXQgJiA0KQorCQkJc2lnYWRkc2V0KHNldCwgaSArIDMpOworCQlpZiAoZGlnaXQgJiA4KQorCQkJc2lnYWRkc2V0KHNldCwgaSArIDQpOworCX0KK30KKworI2VuZGlmCisKKy8qCisgKiBDaGVjayBwcm9jZXNzIFRDUCBmb3IgdGhlIGRpc3Bvc2l0aW9uIG9mIHNpZ25hbCBTSUcuCisgKiBSZXR1cm4gMSBpZiB0aGUgcHJvY2VzcyB3b3VsZCBzb21laG93IG1hbmFnZSB0byAgc3Vydml2ZSBzaWduYWwgU0lHLAorICogZWxzZSByZXR1cm4gMC4gIFRoaXMgcm91dGluZSB3aWxsIG5ldmVyIGJlIGNhbGxlZCB3aXRoIFNJR0tJTEwuCisgKi8KK2ludAorc2lnaXNoYW5kbGVkKHRjcCwgc2lnKQorc3RydWN0IHRjYiAqdGNwOworaW50IHNpZzsKK3sKKyNpZmRlZiBMSU5VWAorCWludCBzZmQ7CisJY2hhciBzbmFtZVszMl07CisJY2hhciBidWZbMjA0OF07CisJY2hhciAqczsKKwlpbnQgaTsKKwlzaWdzZXRfdCBpZ25vcmVkLCBjYXVnaHQ7CisjZW5kaWYKKyNpZmRlZiBTVlI0CisJLyoKKwkgKiBTaW5jZSBwcm9jZnMgZG9lc24ndCBpbnRlcmZlcmUgd2l0aCB3YWl0IEkgdGhpbmsgaXQgaXMgc2FmZQorCSAqIHRvIHB1bnQgb24gdGhpcyBxdWVzdGlvbi4gIElmIG5vdCwgdGhlIGluZm9ybWF0aW9uIGlzIHRoZXJlLgorCSAqLworCXJldHVybiAxOworI2Vsc2UgLyogIVNWUjQgKi8KKwlzd2l0Y2ggKHNpZykgeworCWNhc2UgU0lHQ09OVDoKKwljYXNlIFNJR1NUT1A6CisJY2FzZSBTSUdUU1RQOgorCWNhc2UgU0lHVFRJTjoKKwljYXNlIFNJR1RUT1U6CisJY2FzZSBTSUdDSExEOgorCWNhc2UgU0lHSU86CisjaWYgZGVmaW5lZChTSUdVUkcpICYmIFNJR1VSRyAhPSBTSUdJTworCWNhc2UgU0lHVVJHOgorI2VuZGlmCisJY2FzZSBTSUdXSU5DSDoKKwkJLyogR2xvcmlhIEdheW5vciBzYXlzIC4uLiAqLworCQlyZXR1cm4gMTsKKwlkZWZhdWx0OgorCQlicmVhazsKKwl9CisjZW5kaWYgLyogIVNWUjQgKi8KKyNpZmRlZiBMSU5VWAorCisJLyogVGhpcyBpcyBpbmNyZWRpYmx5IGNvc3RseSBidXQgaXQncyB3b3J0aCBpdC4gKi8KKwkvKiBOT1RFOiBMaW51eFRocmVhZHMgaW50ZXJuYWxseSB1c2VzIFNJR1JUTUlOLCBTSUdSVE1JTiArIDEgYW5kCisJICAgU0lHUlRNSU4gKyAyLCBzbyB3ZSBjYW4ndCB1c2UgdGhlIG9ic29sZXRlIC9wcm9jLyVkL3N0YXQgd2hpY2gKKwkgICBkb2Vzbid0IGhhbmRsZSByZWFsLXRpbWUgc2lnbmFscykuICovCisJc3ByaW50ZihzbmFtZSwgIi9wcm9jLyVkL3N0YXR1cyIsIHRjcC0+cGlkKTsKKwlpZiAoKHNmZCA9IG9wZW4oc25hbWUsIE9fUkRPTkxZKSkgPT0gLTEpIHsKKwkJcGVycm9yKHNuYW1lKTsKKwkJcmV0dXJuIDE7CisJfQorCWkgPSByZWFkKHNmZCwgYnVmLCBzaXplb2YoYnVmKSk7CisJYnVmW2ldID0gJ1wwJzsKKwljbG9zZShzZmQpOworCS8qCisJICogU2tpcCB0aGUgZXh0cmFuZW91cyBmaWVsZHMuIFdlIG5lZWQgdG8gc2tpcAorCSAqIGNvbW1hbmQgbmFtZSBoYXMgYW55IHNwYWNlcyBpbiBpdC4gIFNvIGJlIGl0LgorCSAqLworCXMgPSBzdHJzdHIoYnVmLCAiU2lnSWduOlx0Iik7CisJaWYgKCFzKQorCXsKKwkJZnByaW50ZihzdGRlcnIsICIvcHJvYy9waWQvc3RhdHVzIGZvcm1hdCBlcnJvclxuIik7CisJCXJldHVybiAxOworCX0KKwlwYXJzZV9zaWdzZXRfdChzICsgOCwgJmlnbm9yZWQpOworCisJcyA9IHN0cnN0cihidWYsICJTaWdDZ3Q6XHQiKTsKKwlpZiAoIXMpCisJeworCQlmcHJpbnRmKHN0ZGVyciwgIi9wcm9jL3BpZC9zdGF0dXMgZm9ybWF0IGVycm9yXG4iKTsKKwkJcmV0dXJuIDE7CisJfQorCXBhcnNlX3NpZ3NldF90KHMgKyA4LCAmY2F1Z2h0KTsKKworI2lmZGVmIERFQlVHCisJZnByaW50ZihzdGRlcnIsICJzaWdzOiAlMDE2cXggJTAxNnF4IChzaWc9JWQpXG4iLAorCQkqKGxvbmcgbG9uZyAqKSAmaWdub3JlZCwgKihsb25nIGxvbmcgKikgJmNhdWdodCwgc2lnKTsKKyNlbmRpZgorCWlmIChzaWdpc21lbWJlcigmaWdub3JlZCwgc2lnKSB8fCBzaWdpc21lbWJlcigmY2F1Z2h0LCBzaWcpKQorCQlyZXR1cm4gMTsKKyNlbmRpZiAvKiBMSU5VWCAqLworCisjaWZkZWYgU1VOT1M0CisJdm9pZCAoKnVfc2lnbmFsKSgpOworCisJaWYgKHVwZWVrKHRjcCwgdW9mZih1X3NpZ25hbFswXSkgKyBzaWcqc2l6ZW9mKHVfc2lnbmFsKSwKKwkgICAgKGxvbmcgKikgJnVfc2lnbmFsKSA8IDApIHsKKwkJcmV0dXJuIDA7CisJfQorCWlmICh1X3NpZ25hbCAhPSBTSUdfREZMKQorCQlyZXR1cm4gMTsKKyNlbmRpZiAvKiBTVU5PUzQgKi8KKworCXJldHVybiAwOworfQorCisjaWYgZGVmaW5lZChTVU5PUzQpIHx8IGRlZmluZWQoRlJFRUJTRCkKKworaW50CitzeXNfc2lndmVjKHRjcCkKK3N0cnVjdCB0Y2IgKnRjcDsKK3sKKwlzdHJ1Y3Qgc2lndmVjIHN2OworCWxvbmcgYWRkcjsKKworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXByaW50c2lnbmFsKHRjcC0+dV9hcmdbMF0pOworCQl0cHJpbnRmKCIsICIpOworCQlhZGRyID0gdGNwLT51X2FyZ1sxXTsKKwl9IGVsc2UgeworCQlhZGRyID0gdGNwLT51X2FyZ1syXTsKKwl9CisJaWYgKGFkZHIgPT0gMCkKKwkJdHByaW50ZigiTlVMTCIpOworCWVsc2UgaWYgKCF2ZXJib3NlKHRjcCkpCisJCXRwcmludGYoIiUjbHgiLCBhZGRyKTsKKwllbHNlIGlmICh1bW92ZSh0Y3AsIGFkZHIsICZzdikgPCAwKQorCQl0cHJpbnRmKCJ7Li4ufSIpOworCWVsc2UgeworCQlzd2l0Y2ggKChpbnQpIHN2LnN2X2hhbmRsZXIpIHsKKwkJY2FzZSAoaW50KSBTSUdfRVJSOgorCQkJdHByaW50Zigie1NJR19FUlJ9Iik7CisJCQlicmVhazsKKwkJY2FzZSAoaW50KSBTSUdfREZMOgorCQkJdHByaW50Zigie1NJR19ERkx9Iik7CisJCQlicmVhazsKKwkJY2FzZSAoaW50KSBTSUdfSUdOOgorCQkJaWYgKHRjcC0+dV9hcmdbMF0gPT0gU0lHVFJBUCkgeworCQkJCXRjcC0+ZmxhZ3MgfD0gVENCX1NJR1RSQVBQRUQ7CisJCQkJa2lsbCh0Y3AtPnBpZCwgU0lHU1RPUCk7CisJCQl9CisJCQl0cHJpbnRmKCJ7U0lHX0lHTn0iKTsKKwkJCWJyZWFrOworCQljYXNlIChpbnQpIFNJR19IT0xEOgorCQkJaWYgKHRjcC0+dV9hcmdbMF0gPT0gU0lHVFJBUCkgeworCQkJCXRjcC0+ZmxhZ3MgfD0gVENCX1NJR1RSQVBQRUQ7CisJCQkJa2lsbCh0Y3AtPnBpZCwgU0lHU1RPUCk7CisJCQl9CisJCQl0cHJpbnRmKCJTSUdfSE9MRCIpOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQlpZiAodGNwLT51X2FyZ1swXSA9PSBTSUdUUkFQKSB7CisJCQkJdGNwLT5mbGFncyB8PSBUQ0JfU0lHVFJBUFBFRDsKKwkJCQlraWxsKHRjcC0+cGlkLCBTSUdTVE9QKTsKKwkJCX0KKwkJCXRwcmludGYoInslI2x4LCAiLCAodW5zaWduZWQgbG9uZykgc3Yuc3ZfaGFuZGxlcik7CisJCQlwcmludHNpZ21hc2soJnN2LnN2X21hc2ssIDApOworCQkJdHByaW50ZigiLCAiKTsKKwkJCXByaW50ZmxhZ3Moc2lndmVjX2ZsYWdzLCBzdi5zdl9mbGFncywgIlNWXz8/PyIpOworCQkJdHByaW50ZigifSIpOworCQl9CisJfQorCWlmIChlbnRlcmluZyh0Y3ApKQorCQl0cHJpbnRmKCIsICIpOworCXJldHVybiAwOworfQorCitpbnQKK3N5c19zaWdwYXVzZSh0Y3ApCitzdHJ1Y3QgdGNiICp0Y3A7Cit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsJLyogV1RBOiBVRCBoYWQgYSBidWcgaGVyZTogaGUgZm9yZ290IHRoZSBicmFjZXMgKi8KKwkJc2lnc2V0X3Qgc2lnbTsKKwkJbG9uZ190b19zaWdzZXQodGNwLT51X2FyZ1swXSwgJnNpZ20pOworCQlwcmludHNpZ21hc2soJnNpZ20sIDApOworCX0KKwlyZXR1cm4gMDsKK30KKworaW50CitzeXNfc2lnc3RhY2sodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCXN0cnVjdCBzaWdzdGFjayBzczsKKwlsb25nIGFkZHI7CisKKwlpZiAoZW50ZXJpbmcodGNwKSkKKwkJYWRkciA9IHRjcC0+dV9hcmdbMF07CisJZWxzZQorCQlhZGRyID0gdGNwLT51X2FyZ1sxXTsKKwlpZiAoYWRkciA9PSAwKQorCQl0cHJpbnRmKCJOVUxMIik7CisJZWxzZSBpZiAodW1vdmUodGNwLCBhZGRyLCAmc3MpIDwgMCkKKwkJdHByaW50ZigiJSNseCIsIGFkZHIpOworCWVsc2UgeworCQl0cHJpbnRmKCJ7c3Nfc3AgJSNseCAiLCAodW5zaWduZWQgbG9uZykgc3Muc3Nfc3ApOworCQl0cHJpbnRmKCJzc19vbnN0YWNrICVzfSIsIHNzLnNzX29uc3RhY2sgPyAiWUVTIiA6ICJOTyIpOworCX0KKwlpZiAoZW50ZXJpbmcodGNwKSkKKwkJdHByaW50ZigiLCAiKTsKKwlyZXR1cm4gMDsKK30KKworaW50CitzeXNfc2lnY2xlYW51cCh0Y3ApCitzdHJ1Y3QgdGNiICp0Y3A7Cit7CisJcmV0dXJuIDA7Cit9CisKKyNlbmRpZiAvKiBTVU5PUzQgfHwgRlJFRUJTRCAqLworCisjaWZuZGVmIFNWUjQKKworaW50CitzeXNfc2lnc2V0bWFzayh0Y3ApCitzdHJ1Y3QgdGNiICp0Y3A7Cit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJc2lnc2V0X3Qgc2lnbTsKKwkJbG9uZ190b19zaWdzZXQodGNwLT51X2FyZ1swXSwgJnNpZ20pOworCQlwcmludHNpZ21hc2soJnNpZ20sIDApOworI2lmbmRlZiBVU0VfUFJPQ0ZTCisJCWlmICgodGNwLT51X2FyZ1swXSAmIHNpZ21hc2soU0lHVFJBUCkpKSB7CisJCQkvKiBNYXJrIGF0dGVtcHQgdG8gYmxvY2sgU0lHVFJBUCAqLworCQkJdGNwLT5mbGFncyB8PSBUQ0JfU0lHVFJBUFBFRDsKKwkJCS8qIFNlbmQgdW5ibG9ja2FibGUgc2lnbmFsICovCisJCQlraWxsKHRjcC0+cGlkLCBTSUdTVE9QKTsKKwkJfQorI2VuZGlmIC8qICFVU0VfUFJPQ0ZTICovCisJfQorCWVsc2UgaWYgKCFzeXNlcnJvcih0Y3ApKSB7CisJCXNpZ3NldF90IHNpZ207CisJCWxvbmdfdG9fc2lnc2V0KHRjcC0+dV9ydmFsLCAmc2lnbSk7CisJCXRjcC0+YXV4c3RyID0gc3ByaW50c2lnbWFzaygib2xkIG1hc2sgIiwgJnNpZ20sIDApOworCisJCXJldHVybiBSVkFMX0hFWCB8IFJWQUxfU1RSOworCX0KKwlyZXR1cm4gMDsKK30KKworI2lmIGRlZmluZWQoU1VOT1M0KSB8fCBkZWZpbmVkKEZSRUVCU0QpCitpbnQKK3N5c19zaWdibG9jayh0Y3ApCitzdHJ1Y3QgdGNiICp0Y3A7Cit7CisJcmV0dXJuIHN5c19zaWdzZXRtYXNrKHRjcCk7Cit9CisjZW5kaWYgLyogU1VOT1M0IHx8IEZSRUVCU0QgKi8KKworI2VuZGlmIC8qICFTVlI0ICovCisKKyNpZmRlZiBIQVZFX1NJR0FDVElPTgorCisjaWZkZWYgTElOVVgKK3N0cnVjdCBvbGRfc2lnYWN0aW9uIHsKKwlfX3NpZ2hhbmRsZXJfdCBfX3NhX2hhbmRsZXI7CisJdW5zaWduZWQgbG9uZyBzYV9tYXNrOworCXVuc2lnbmVkIGxvbmcgc2FfZmxhZ3M7CisJdm9pZCAoKnNhX3Jlc3RvcmVyKSh2b2lkKTsKK307CisjZGVmaW5lIFNBX0hBTkRMRVIgX19zYV9oYW5kbGVyCisjZW5kaWYgLyogTElOVVggKi8KKworI2lmbmRlZiBTQV9IQU5ETEVSCisjZGVmaW5lIFNBX0hBTkRMRVIgc2FfaGFuZGxlcgorI2VuZGlmCisKK2ludAorc3lzX3NpZ2FjdGlvbih0Y3ApCitzdHJ1Y3QgdGNiICp0Y3A7Cit7CisJbG9uZyBhZGRyOworI2lmZGVmIExJTlVYCisJc2lnc2V0X3Qgc2lnc2V0OworCXN0cnVjdCBvbGRfc2lnYWN0aW9uIHNhOworI2Vsc2UKKwlzdHJ1Y3Qgc2lnYWN0aW9uIHNhOworI2VuZGlmCisKKworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXByaW50c2lnbmFsKHRjcC0+dV9hcmdbMF0pOworCQl0cHJpbnRmKCIsICIpOworCQlhZGRyID0gdGNwLT51X2FyZ1sxXTsKKwl9IGVsc2UKKwkJYWRkciA9IHRjcC0+dV9hcmdbMl07CisJaWYgKGFkZHIgPT0gMCkKKwkJdHByaW50ZigiTlVMTCIpOworCWVsc2UgaWYgKCF2ZXJib3NlKHRjcCkpCisJCXRwcmludGYoIiUjbHgiLCBhZGRyKTsKKwllbHNlIGlmICh1bW92ZSh0Y3AsIGFkZHIsICZzYSkgPCAwKQorCQl0cHJpbnRmKCJ7Li4ufSIpOworCWVsc2UgeworCQkvKiBBcmNoaXRlY3R1cmVzIHVzaW5nIGZ1bmN0aW9uIHBvaW50ZXJzLCBsaWtlCisJCSAqIGhwcGEsIG1heSBuZWVkIHRvIG1hbmlwdWxhdGUgdGhlIGZ1bmN0aW9uIHBvaW50ZXIKKwkJICogdG8gY29tcHV0ZSB0aGUgcmVzdWx0IG9mIGEgY29tcGFyaXNvbi4gSG93ZXZlciwKKwkJICogdGhlIFNBX0hBTkRMRVIgZnVuY3Rpb24gcG9pbnRlciBleGlzdHMgb25seSBpbgorCQkgKiB0aGUgYWRkcmVzcyBzcGFjZSBvZiB0aGUgdHJhY2VkIHByb2Nlc3MsIGFuZCBjYW4ndAorCQkgKiBiZSBtYW5pcHVsYXRlZCBieSBzdHJhY2UuIEluIG9yZGVyIHRvIHByZXZlbnQgdGhlCisJCSAqIGNvbXBpbGVyIGZyb20gZ2VuZXJhdGluZyBjb2RlIHRvIG1hbmlwdWxhdGUKKwkJICogU0FfSEFORExFUiB3ZSBjYXN0IHRoZSBmdW5jdGlvbiBwb2ludGVycyB0byBsb25nLiAqLworCQlpZiAoKGxvbmcpc2EuU0FfSEFORExFUiA9PSAobG9uZylTSUdfRVJSKQorCQkJdHByaW50Zigie1NJR19FUlIsICIpOworCQllbHNlIGlmICgobG9uZylzYS5TQV9IQU5ETEVSID09IChsb25nKVNJR19ERkwpCisJCQl0cHJpbnRmKCJ7U0lHX0RGTCwgIik7CisJCWVsc2UgaWYgKChsb25nKXNhLlNBX0hBTkRMRVIgPT0gKGxvbmcpU0lHX0lHTikgeworI2lmbmRlZiBVU0VfUFJPQ0ZTCisJCQlpZiAodGNwLT51X2FyZ1swXSA9PSBTSUdUUkFQKSB7CisJCQkJdGNwLT5mbGFncyB8PSBUQ0JfU0lHVFJBUFBFRDsKKwkJCQlraWxsKHRjcC0+cGlkLCBTSUdTVE9QKTsKKwkJCX0KKyNlbmRpZiAvKiAhVVNFX1BST0NGUyAqLworCQkJdHByaW50Zigie1NJR19JR04sICIpOworCQl9CisJCWVsc2UgeworI2lmbmRlZiBVU0VfUFJPQ0ZTCisJCQlpZiAodGNwLT51X2FyZ1swXSA9PSBTSUdUUkFQKSB7CisJCQkJdGNwLT5mbGFncyB8PSBUQ0JfU0lHVFJBUFBFRDsKKwkJCQlraWxsKHRjcC0+cGlkLCBTSUdTVE9QKTsKKwkJCX0KKyNlbmRpZiAvKiAhVVNFX1BST0NGUyAqLworCQkJdHByaW50ZigieyUjbHgsICIsIChsb25nKSBzYS5TQV9IQU5ETEVSKTsKKyNpZm5kZWYgTElOVVgKKwkJCXByaW50c2lnbWFzayAoJnNhLnNhX21hc2ssIDApOworI2Vsc2UKKwkJCWxvbmdfdG9fc2lnc2V0KHNhLnNhX21hc2ssICZzaWdzZXQpOworCQkJcHJpbnRzaWdtYXNrKCZzaWdzZXQsIDApOworI2VuZGlmCisJCQl0cHJpbnRmKCIsICIpOworCQkJcHJpbnRmbGFncyhzaWdhY3RfZmxhZ3MsIHNhLnNhX2ZsYWdzLCAiU0FfPz8/Iik7CisjaWZkZWYgU0FfUkVTVE9SRVIKKwkJCWlmIChzYS5zYV9mbGFncyAmIFNBX1JFU1RPUkVSKQorCQkJCXRwcmludGYoIiwgJXAiLCBzYS5zYV9yZXN0b3Jlcik7CisjZW5kaWYKKwkJCXRwcmludGYoIn0iKTsKKwkJfQorCX0KKwlpZiAoZW50ZXJpbmcodGNwKSkKKwkJdHByaW50ZigiLCAiKTsKKyNpZmRlZiBMSU5VWAorCWVsc2UKKwkJdHByaW50ZigiLCAlI2x4IiwgKHVuc2lnbmVkIGxvbmcpIHNhLnNhX3Jlc3RvcmVyKTsKKyNlbmRpZgorCXJldHVybiAwOworfQorCitpbnQKK3N5c19zaWduYWwodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXByaW50c2lnbmFsKHRjcC0+dV9hcmdbMF0pOworCQl0cHJpbnRmKCIsICIpOworCQlzd2l0Y2ggKHRjcC0+dV9hcmdbMV0pIHsKKwkJY2FzZSAobG9uZykgU0lHX0VSUjoKKwkJCXRwcmludGYoIlNJR19FUlIiKTsKKwkJCWJyZWFrOworCQljYXNlIChsb25nKSBTSUdfREZMOgorCQkJdHByaW50ZigiU0lHX0RGTCIpOworCQkJYnJlYWs7CisJCWNhc2UgKGxvbmcpIFNJR19JR046CisjaWZuZGVmIFVTRV9QUk9DRlMKKwkJCWlmICh0Y3AtPnVfYXJnWzBdID09IFNJR1RSQVApIHsKKwkJCQl0Y3AtPmZsYWdzIHw9IFRDQl9TSUdUUkFQUEVEOworCQkJCWtpbGwodGNwLT5waWQsIFNJR1NUT1ApOworCQkJfQorI2VuZGlmIC8qICFVU0VfUFJPQ0ZTICovCisJCQl0cHJpbnRmKCJTSUdfSUdOIik7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKyNpZm5kZWYgVVNFX1BST0NGUworCQkJaWYgKHRjcC0+dV9hcmdbMF0gPT0gU0lHVFJBUCkgeworCQkJCXRjcC0+ZmxhZ3MgfD0gVENCX1NJR1RSQVBQRUQ7CisJCQkJa2lsbCh0Y3AtPnBpZCwgU0lHU1RPUCk7CisJCQl9CisjZW5kaWYgLyogIVVTRV9QUk9DRlMgKi8KKwkJCXRwcmludGYoIiUjbHgiLCB0Y3AtPnVfYXJnWzFdKTsKKwkJfQorCQlyZXR1cm4gMDsKKwl9CisJZWxzZSBpZiAoIXN5c2Vycm9yKHRjcCkpIHsKKwkJc3dpdGNoICh0Y3AtPnVfcnZhbCkgeworCQkgICAgY2FzZSAobG9uZykgU0lHX0VSUjoKKwkJCXRjcC0+YXV4c3RyID0gIlNJR19FUlIiOyBicmVhazsKKwkJICAgIGNhc2UgKGxvbmcpIFNJR19ERkw6CisJCQl0Y3AtPmF1eHN0ciA9ICJTSUdfREZMIjsgYnJlYWs7CisJCSAgICBjYXNlIChsb25nKSBTSUdfSUdOOgorCQkJdGNwLT5hdXhzdHIgPSAiU0lHX0lHTiI7IGJyZWFrOworCQkgICAgZGVmYXVsdDoKKwkJCXRjcC0+YXV4c3RyID0gTlVMTDsKKwkJfQorCQlyZXR1cm4gUlZBTF9IRVggfCBSVkFMX1NUUjsKKwl9CisJcmV0dXJuIDA7Cit9CisKKyNpZmRlZiBTVlI0CitpbnQKK3N5c19zaWdob2xkKHRjcCkKK3N0cnVjdCB0Y2IgKnRjcDsKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQlwcmludHNpZ25hbCh0Y3AtPnVfYXJnWzBdKTsKKwl9CisJcmV0dXJuIDA7Cit9CisjZW5kaWYgLyogU1ZSNCAqLworCisjZW5kaWYgLyogSEFWRV9TSUdBQ1RJT04gKi8KKworI2lmZGVmIExJTlVYCisKK2ludAorc3lzX3NpZ3JldHVybihzdHJ1Y3QgdGNiICp0Y3ApCit7CisjaWYgZGVmaW5lZChBUk0pCisJc3RydWN0IHB0X3JlZ3MgcmVnczsKKwlzdHJ1Y3Qgc2lnY29udGV4dF9zdHJ1Y3Qgc2M7CisKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQl0Y3AtPnVfYXJnWzBdID0gMDsKKworCQlpZiAocHRyYWNlKFBUUkFDRV9HRVRSRUdTLCB0Y3AtPnBpZCwgTlVMTCwgKHZvaWQgKikmcmVncykgPT0gLTEpCisJCQlyZXR1cm4gMDsKKworCQlpZiAodW1vdmUodGNwLCByZWdzLkFSTV9zcCwgJnNjKSA8IDApCisJCQlyZXR1cm4gMDsKKworCQl0Y3AtPnVfYXJnWzBdID0gMTsKKwkJdGNwLT51X2FyZ1sxXSA9IHNjLm9sZG1hc2s7CisJfSBlbHNlIHsKKwkJc2lnc2V0X3Qgc2lnbTsKKwkJbG9uZ190b19zaWdzZXQodGNwLT51X2FyZ1sxXSwgJnNpZ20pOworCQl0Y3AtPnVfcnZhbCA9IHRjcC0+dV9lcnJvciA9IDA7CisJCWlmICh0Y3AtPnVfYXJnWzBdID09IDApCisJCQlyZXR1cm4gMDsKKwkJdGNwLT5hdXhzdHIgPSBzcHJpbnRzaWdtYXNrKCJtYXNrIG5vdyAiLCAmc2lnbSwgMCk7CisJCXJldHVybiBSVkFMX05PTkUgfCBSVkFMX1NUUjsKKwl9CisJcmV0dXJuIDA7CisjZWxpZiBkZWZpbmVkKFMzOTApIHx8IGRlZmluZWQoUzM5MFgpCisJbG9uZyB1c3A7CisJc3RydWN0IHNpZ2NvbnRleHRfc3RydWN0IHNjOworCisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJdGNwLT51X2FyZ1swXSA9IDA7CisJCWlmICh1cGVlayh0Y3AsUFRfR1BSMTUsJnVzcCk8MCkKKwkJCXJldHVybiAwOworCQlpZiAodW1vdmUodGNwLCB1c3ArX19TSUdOQUxfRlJBTUVTSVpFLCAmc2MpIDwgMCkKKwkJCXJldHVybiAwOworCQl0Y3AtPnVfYXJnWzBdID0gMTsKKwkJbWVtY3B5KCZ0Y3AtPnVfYXJnWzFdLCZzYy5vbGRtYXNrWzBdLHNpemVvZihzaWdzZXRfdCkpOworCX0gZWxzZSB7CisJCXRjcC0+dV9ydmFsID0gdGNwLT51X2Vycm9yID0gMDsKKwkJaWYgKHRjcC0+dV9hcmdbMF0gPT0gMCkKKwkJCXJldHVybiAwOworCQl0Y3AtPmF1eHN0ciA9IHNwcmludHNpZ21hc2soIm1hc2sgbm93ICIsKHNpZ3NldF90ICopJnRjcC0+dV9hcmdbMV0sMCk7CisJCXJldHVybiBSVkFMX05PTkUgfCBSVkFMX1NUUjsKKwl9CisJcmV0dXJuIDA7CisjZWxpZiBkZWZpbmVkKEkzODYpCisJbG9uZyBlc3A7CisJc3RydWN0IHNpZ2NvbnRleHRfc3RydWN0IHNjOworCisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJdGNwLT51X2FyZ1swXSA9IDA7CisJCWlmICh1cGVlayh0Y3AsIDQqVUVTUCwgJmVzcCkgPCAwKQorCQkJcmV0dXJuIDA7CisJCWlmICh1bW92ZSh0Y3AsIGVzcCwgJnNjKSA8IDApCisJCQlyZXR1cm4gMDsKKwkJdGNwLT51X2FyZ1swXSA9IDE7CisJCXRjcC0+dV9hcmdbMV0gPSBzYy5vbGRtYXNrOworCX0KKwllbHNlIHsKKwkJc2lnc2V0X3Qgc2lnbTsKKwkJbG9uZ190b19zaWdzZXQodGNwLT51X2FyZ1sxXSwgJnNpZ20pOworCQl0Y3AtPnVfcnZhbCA9IHRjcC0+dV9lcnJvciA9IDA7CisJCWlmICh0Y3AtPnVfYXJnWzBdID09IDApCisJCQlyZXR1cm4gMDsKKwkJdGNwLT5hdXhzdHIgPSBzcHJpbnRzaWdtYXNrKCJtYXNrIG5vdyAiLCAmc2lnbSwgMCk7CisJCXJldHVybiBSVkFMX05PTkUgfCBSVkFMX1NUUjsKKwl9CisJcmV0dXJuIDA7CisjZWxpZiBkZWZpbmVkKElBNjQpCisJc3RydWN0IHNpZ2NvbnRleHQgc2M7CisJbG9uZyBzcDsKKworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCS8qIG9mZnNldCBvZiBzaWdjb250ZXh0IGluIHRoZSBrZXJuZWwncyBzaWdmcmFtZSBzdHJ1Y3R1cmU6ICovCisjCQlkZWZpbmUgU0lHRlJBTUVfU0NfT0ZGU0VUCTB4OTAKKwkJdGNwLT51X2FyZ1swXSA9IDA7CisJCWlmICh1cGVlayh0Y3AsIFBUX1IxMiwgJnNwKSA8IDApCisJCQlyZXR1cm4gMDsKKwkJaWYgKHVtb3ZlKHRjcCwgc3AgKyAxNiArIFNJR0ZSQU1FX1NDX09GRlNFVCwgJnNjKSA8IDApCisJCQlyZXR1cm4gMDsKKwkJdGNwLT51X2FyZ1swXSA9IDE7CisJCW1lbWNweSh0Y3AtPnVfYXJnICsgMSwgJnNjLnNjX21hc2ssIHNpemVvZihzYy5zY19tYXNrKSk7CisJfQorCWVsc2UgeworCQlzaWdzZXRfdCBzaWdtOworCisJCW1lbWNweSgmc2lnbSwgdGNwLT51X2FyZyArIDEsIHNpemVvZiAoc2lnbSkpOworCQl0Y3AtPnVfcnZhbCA9IHRjcC0+dV9lcnJvciA9IDA7CisJCWlmICh0Y3AtPnVfYXJnWzBdID09IDApCisJCQlyZXR1cm4gMDsKKwkJdGNwLT5hdXhzdHIgPSBzcHJpbnRzaWdtYXNrKCJtYXNrIG5vdyAiLCAmc2lnbSwgMCk7CisJCXJldHVybiBSVkFMX05PTkUgfCBSVkFMX1NUUjsKKwl9CisJcmV0dXJuIDA7CisjZWxpZiBkZWZpbmVkKFBPV0VSUEMpCisJbG9uZyBlc3A7CisJc3RydWN0IHNpZ2NvbnRleHRfc3RydWN0IHNjOworCisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJdGNwLT51X2FyZ1swXSA9IDA7CisJCWlmICh1cGVlayh0Y3AsIHNpemVvZih1bnNpZ25lZCBsb25nKSpQVF9SMSwgJmVzcCkgPCAwKQorCQkJcmV0dXJuIDA7CisJCS8qIFNraXAgZHVtbXkgc3RhY2sgZnJhbWUuICovCisjaWZkZWYgX19wb3dlcnBjNjRfXworCQllc3AgKz0gMTI4OworI2Vsc2UKKwkJZXNwICs9IDY0OworI2VuZGlmCisJCWlmICh1bW92ZSh0Y3AsIGVzcCwgJnNjKSA8IDApCisJCQlyZXR1cm4gMDsKKwkJdGNwLT51X2FyZ1swXSA9IDE7CisJCXRjcC0+dV9hcmdbMV0gPSBzYy5vbGRtYXNrOworCX0KKwllbHNlIHsKKwkJc2lnc2V0X3Qgc2lnbTsKKwkJbG9uZ190b19zaWdzZXQodGNwLT51X2FyZ1sxXSwgJnNpZ20pOworCQl0Y3AtPnVfcnZhbCA9IHRjcC0+dV9lcnJvciA9IDA7CisJCWlmICh0Y3AtPnVfYXJnWzBdID09IDApCisJCQlyZXR1cm4gMDsKKwkJdGNwLT5hdXhzdHIgPSBzcHJpbnRzaWdtYXNrKCJtYXNrIG5vdyAiLCAmc2lnbSwgMCk7CisJCXJldHVybiBSVkFMX05PTkUgfCBSVkFMX1NUUjsKKwl9CisJcmV0dXJuIDA7CisjZWxpZiBkZWZpbmVkKE02OEspCisJbG9uZyB1c3A7CisJc3RydWN0IHNpZ2NvbnRleHQgc2M7CisKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQl0Y3AtPnVfYXJnWzBdID0gMDsKKwkJaWYgKHVwZWVrKHRjcCwgNCpQVF9VU1AsICZ1c3ApIDwgMCkKKwkJCXJldHVybiAwOworCQlpZiAodW1vdmUodGNwLCB1c3AsICZzYykgPCAwKQorCQkJcmV0dXJuIDA7CisJCXRjcC0+dV9hcmdbMF0gPSAxOworCQl0Y3AtPnVfYXJnWzFdID0gc2Muc2NfbWFzazsKKwl9CisJZWxzZSB7CisJCXNpZ3NldF90IHNpZ207CisJCWxvbmdfdG9fc2lnc2V0KHRjcC0+dV9hcmdbMV0sICZzaWdtKTsKKwkJdGNwLT51X3J2YWwgPSB0Y3AtPnVfZXJyb3IgPSAwOworCQlpZiAodGNwLT51X2FyZ1swXSA9PSAwKQorCQkJcmV0dXJuIDA7CisJCXRjcC0+YXV4c3RyID0gc3ByaW50c2lnbWFzaygibWFzayBub3cgIiwgJnNpZ20sIDApOworCQlyZXR1cm4gUlZBTF9OT05FIHwgUlZBTF9TVFI7CisJfQorCXJldHVybiAwOworI2VsaWYgZGVmaW5lZChBTFBIQSkKKwlsb25nIGZwOworCXN0cnVjdCBzaWdjb250ZXh0X3N0cnVjdCBzYzsKKworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXRjcC0+dV9hcmdbMF0gPSAwOworCQlpZiAodXBlZWsodGNwLCBSRUdfRlAsICZmcCkgPCAwKQorCQkJcmV0dXJuIDA7CisJCWlmICh1bW92ZSh0Y3AsIGZwLCAmc2MpIDwgMCkKKwkJCXJldHVybiAwOworCQl0Y3AtPnVfYXJnWzBdID0gMTsKKwkJdGNwLT51X2FyZ1sxXSA9IHNjLnNjX21hc2s7CisJfQorCWVsc2UgeworCQlzaWdzZXRfdCBzaWdtOworCQlsb25nX3RvX3NpZ3NldCh0Y3AtPnVfYXJnWzFdLCAmc2lnbSk7CisJCXRjcC0+dV9ydmFsID0gdGNwLT51X2Vycm9yID0gMDsKKwkJaWYgKHRjcC0+dV9hcmdbMF0gPT0gMCkKKwkJCXJldHVybiAwOworCQl0Y3AtPmF1eHN0ciA9IHNwcmludHNpZ21hc2soIm1hc2sgbm93ICIsICZzaWdtLCAwKTsKKwkJcmV0dXJuIFJWQUxfTk9ORSB8IFJWQUxfU1RSOworCX0KKwlyZXR1cm4gMDsKKyNlbGlmIGRlZmluZWQgKFNQQVJDKSB8fCBkZWZpbmVkIChTUEFSQzY0KQorCWxvbmcgaTE7CisJc3RydWN0IHB0X3JlZ3MgcmVnczsKKwltX3NpZ2luZm9fdCBzaTsKKworCWlmKHB0cmFjZShQVFJBQ0VfR0VUUkVHUywgdGNwLT5waWQsIChjaGFyICopJnJlZ3MsIDApIDwgMCkgeworCQlwZXJyb3IoInNpZ3JldHVybjogUFRSQUNFX0dFVFJFR1MgIik7CisJCXJldHVybiAwOworCX0KKwlpZihlbnRlcmluZyh0Y3ApKSB7CisJCXRjcC0+dV9hcmdbMF0gPSAwOworCQlpMSA9IHJlZ3MudV9yZWdzW1VfUkVHX08xXTsKKwkJaWYodW1vdmUodGNwLCBpMSwgJnNpKSA8IDApIHsKKwkJCXBlcnJvcigic2lncmV0dXJuOiB1bW92ZSAiKTsKKwkJCXJldHVybiAwOworCQl9CisJCXRjcC0+dV9hcmdbMF0gPSAxOworCQl0Y3AtPnVfYXJnWzFdID0gc2kuc2lfbWFzazsKKwl9IGVsc2UgeworCQlzaWdzZXRfdCBzaWdtOworCQlsb25nX3RvX3NpZ3NldCh0Y3AtPnVfYXJnWzFdLCAmc2lnbSk7CisJCXRjcC0+dV9ydmFsID0gdGNwLT51X2Vycm9yID0gMDsKKwkJaWYodGNwLT51X2FyZ1swXSA9PSAwKQorCQkJcmV0dXJuIDA7CisJCXRjcC0+YXV4c3RyID0gc3ByaW50c2lnbWFzaygibWFzayBub3cgIiwgJnNpZ20sIDApOworCQlyZXR1cm4gUlZBTF9OT05FIHwgUlZBTF9TVFI7CisJfQorCXJldHVybiAwOworI2VsaWYgZGVmaW5lZCAoTElOVVhfTUlQU04zMikgfHwgZGVmaW5lZCAoTElOVVhfTUlQU042NCkKKwkvKiBUaGlzIGRlY29kZXMgcnRfc2lncmV0dXJuLiAgVGhlIDY0LWJpdCBBQklzIGRvIG5vdCBoYXZlCisJICAgc2lncmV0dXJuLiAgKi8KKwlsb25nIHNwOworCXN0cnVjdCB1Y29udGV4dCB1YzsKKworCWlmKGVudGVyaW5nKHRjcCkpIHsKKwkJdGNwLT51X2FyZ1swXSA9IDA7CisJCWlmICh1cGVlayh0Y3AsIFJFR19TUCwgJnNwKSA8IDApCisJCQlyZXR1cm4gMDsKKwkJLyogVGhlcmUgYXJlIHNpeCB3b3JkcyBmb2xsb3dlZCBieSBhIDEyOC1ieXRlIHNpZ2luZm8uICAqLworCQlzcCA9IHNwICsgNiAqIDQgKyAxMjg7CisJCWlmICh1bW92ZSh0Y3AsIHNwLCAmdWMpIDwgMCkKKwkJCXJldHVybiAwOworCQl0Y3AtPnVfYXJnWzBdID0gMTsKKwkJdGNwLT51X2FyZ1sxXSA9ICoobG9uZyAqKSAmdWMudWNfc2lnbWFzazsKKwl9IGVsc2UgeworCQlzaWdzZXRfdCBzaWdtOworCQlsb25nX3RvX3NpZ3NldCh0Y3AtPnVfYXJnWzFdLCAmc2lnbSk7CisJCXRjcC0+dV9ydmFsID0gdGNwLT51X2Vycm9yID0gMDsKKwkJaWYodGNwLT51X2FyZ1swXSA9PSAwKQorCQkJcmV0dXJuIDA7CisJCXRjcC0+YXV4c3RyID0gc3ByaW50c2lnbWFzaygibWFzayBub3cgIiwgJnNpZ20sIDApOworCQlyZXR1cm4gUlZBTF9OT05FIHwgUlZBTF9TVFI7CisJfQorCXJldHVybiAwOworI2VsaWYgZGVmaW5lZChNSVBTKQorCWxvbmcgc3A7CisJc3RydWN0IHB0X3JlZ3MgcmVnczsKKwltX3NpZ2luZm9fdCBzaTsKKworCWlmKHB0cmFjZShQVFJBQ0VfR0VUUkVHUywgdGNwLT5waWQsIChjaGFyICopJnJlZ3MsIDApIDwgMCkgeworCQlwZXJyb3IoInNpZ3JldHVybjogUFRSQUNFX0dFVFJFR1MgIik7CisJCXJldHVybiAwOworCX0KKwlpZihlbnRlcmluZyh0Y3ApKSB7CisJCXRjcC0+dV9hcmdbMF0gPSAwOworCQlzcCA9IHJlZ3MucmVnc1syOV07CisJCWlmICh1bW92ZSh0Y3AsIHNwLCAmc2kpIDwgMCkKKwkJdGNwLT51X2FyZ1swXSA9IDE7CisJCXRjcC0+dV9hcmdbMV0gPSBzaS5zaV9tYXNrOworCX0gZWxzZSB7CisJCXNpZ3NldF90IHNpZ207CisJCWxvbmdfdG9fc2lnc2V0KHRjcC0+dV9hcmdbMV0sICZzaWdtKTsKKwkJdGNwLT51X3J2YWwgPSB0Y3AtPnVfZXJyb3IgPSAwOworCQlpZih0Y3AtPnVfYXJnWzBdID09IDApCisJCQlyZXR1cm4gMDsKKwkJdGNwLT5hdXhzdHIgPSBzcHJpbnRzaWdtYXNrKCJtYXNrIG5vdyAiLCAmc2lnbSwgMCk7CisJCXJldHVybiBSVkFMX05PTkUgfCBSVkFMX1NUUjsKKwl9CisJcmV0dXJuIDA7CisjZWxpZiBkZWZpbmVkKENSSVNWMTApIHx8IGRlZmluZWQoQ1JJU1YzMikKKwlzdHJ1Y3Qgc2lnY29udGV4dCBzYzsKKworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCWxvbmcgcmVnc1tQVF9NQVgrMV07CisKKwkJdGNwLT51X2FyZ1swXSA9IDA7CisKKwkJaWYgKHB0cmFjZShQVFJBQ0VfR0VUUkVHUywgdGNwLT5waWQsIE5VTEwsIChsb25nKXJlZ3MpIDwgMCkgeworCQkJcGVycm9yKCJzaWdyZXR1cm46IFBUUkFDRV9HRVRSRUdTIik7CisJCQlyZXR1cm4gMDsKKwkJfQorCQlpZiAodW1vdmUodGNwLCByZWdzW1BUX1VTUF0sICZzYykgPCAwKQorCQkJcmV0dXJuIDA7CisJCXRjcC0+dV9hcmdbMF0gPSAxOworCQl0Y3AtPnVfYXJnWzFdID0gc2Mub2xkbWFzazsKKwl9IGVsc2UgeworCQlzaWdzZXRfdCBzaWdtOworCQlsb25nX3RvX3NpZ3NldCh0Y3AtPnVfYXJnWzFdLCAmc2lnbSk7CisJCXRjcC0+dV9ydmFsID0gdGNwLT51X2Vycm9yID0gMDsKKworCQlpZiAodGNwLT51X2FyZ1swXSA9PSAwKQorCQkJcmV0dXJuIDA7CisJCXRjcC0+YXV4c3RyID0gc3ByaW50c2lnbWFzaygibWFzayBub3cgIiwgJnNpZ20sIDApOworCQlyZXR1cm4gUlZBTF9OT05FIHwgUlZBTF9TVFI7CisJfQorCXJldHVybiAwOworI2VsaWYgZGVmaW5lZChUSUxFKQorCXN0cnVjdCB1Y29udGV4dCB1YzsKKwlsb25nIHNwOworCisJLyogb2Zmc2V0IG9mIHVjb250ZXh0IGluIHRoZSBrZXJuZWwncyBzaWdmcmFtZSBzdHJ1Y3R1cmUgKi8KKyMJZGVmaW5lIFNJR0ZSQU1FX1VDX09GRlNFVCBDX0FCSV9TQVZFX0FSRUFfU0laRSArIHNpemVvZihzdHJ1Y3Qgc2lnaW5mbykKKworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXRjcC0+dV9hcmdbMF0gPSAwOworCQlpZiAodXBlZWsodGNwLCBQVFJFR1NfT0ZGU0VUX1NQLCAmc3ApIDwgMCkKKwkJCXJldHVybiAwOworCQlpZiAodW1vdmUodGNwLCBzcCArIFNJR0ZSQU1FX1VDX09GRlNFVCwgJnVjKSA8IDApCisJCQlyZXR1cm4gMDsKKwkJdGNwLT51X2FyZ1swXSA9IDE7CisJCW1lbWNweSh0Y3AtPnVfYXJnICsgMSwgJnVjLnVjX3NpZ21hc2ssIHNpemVvZih1Yy51Y19zaWdtYXNrKSk7CisJfQorCWVsc2UgeworCQlzaWdzZXRfdCBzaWdtOworCisJCW1lbWNweSgmc2lnbSwgdGNwLT51X2FyZyArIDEsIHNpemVvZiAoc2lnbSkpOworCQl0Y3AtPnVfcnZhbCA9IHRjcC0+dV9lcnJvciA9IDA7CisJCWlmICh0Y3AtPnVfYXJnWzBdID09IDApCisJCQlyZXR1cm4gMDsKKwkJdGNwLT5hdXhzdHIgPSBzcHJpbnRzaWdtYXNrKCJtYXNrIG5vdyAiLCAmc2lnbSwgMCk7CisJCXJldHVybiBSVkFMX05PTkUgfCBSVkFMX1NUUjsKKwl9CisJcmV0dXJuIDA7CisjZWxzZQorI3dhcm5pbmcgTm8gc3lzX3NpZ3JldHVybigpIGZvciB0aGlzIGFyY2hpdGVjdHVyZQorI3dhcm5pbmcgICAgICAgICAobm8gcHJvYmxlbSwganVzdCBhIHJlbWluZGVyIDotKQorCXJldHVybiAwOworI2VuZGlmCit9CisKK2ludAorc3lzX3NpZ2dldG1hc2sodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCWlmIChleGl0aW5nKHRjcCkpIHsKKwkJc2lnc2V0X3Qgc2lnbTsKKwkJbG9uZ190b19zaWdzZXQodGNwLT51X3J2YWwsICZzaWdtKTsKKwkJdGNwLT5hdXhzdHIgPSBzcHJpbnRzaWdtYXNrKCJtYXNrICIsICZzaWdtLCAwKTsKKwl9CisJcmV0dXJuIFJWQUxfSEVYIHwgUlZBTF9TVFI7Cit9CisKK2ludAorc3lzX3NpZ3N1c3BlbmQoc3RydWN0IHRjYiAqdGNwKQoreworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXNpZ3NldF90IHNpZ207CisJCWxvbmdfdG9fc2lnc2V0KHRjcC0+dV9hcmdbMl0sICZzaWdtKTsKKwkJcHJpbnRzaWdtYXNrKCZzaWdtLCAwKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKKyNlbmRpZiAvKiBMSU5VWCAqLworCisjaWYgZGVmaW5lZChTVlI0KSB8fCBkZWZpbmVkKEZSRUVCU0QpCisKK2ludAorc3lzX3NpZ3N1c3BlbmQodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCXNpZ3NldF90IHNpZ3NldDsKKworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCWlmICh1bW92ZSh0Y3AsIHRjcC0+dV9hcmdbMF0sICZzaWdzZXQpIDwgMCkKKwkJCXRwcmludGYoIls/XSIpOworCQllbHNlCisJCQlwcmludHNpZ21hc2soJnNpZ3NldCwgMCk7CisJfQorCXJldHVybiAwOworfQorI2lmbmRlZiBGUkVFQlNECitzdGF0aWMgY29uc3Qgc3RydWN0IHhsYXQgdWNvbnRleHRfZmxhZ3NbXSA9IHsKKwl7IFVDX1NJR01BU0ssCSJVQ19TSUdNQVNLIgl9LAorCXsgVUNfU1RBQ0ssCSJVQ19TVEFDSyIJfSwKKwl7IFVDX0NQVSwJIlVDX0NQVSIJfSwKKyNpZmRlZiBVQ19GUFUKKwl7IFVDX0ZQVSwJIlVDX0ZQVSIJfSwKKyNlbmRpZgorI2lmZGVmIFVDX0lOVFIKKwl7IFVDX0lOVFIsCSJVQ19JTlRSIgl9LAorI2VuZGlmCisJeyAwLAkJTlVMTAkJfSwKK307CisjZW5kaWYgLyogIUZSRUVCU0QgKi8KKyNlbmRpZiAvKiBTVlI0IHx8IEZSRUVCU0QgKi8KKworI2lmIGRlZmluZWQgU1ZSNCB8fCBkZWZpbmVkIExJTlVYIHx8IGRlZmluZWQgRlJFRUJTRAorI2lmIGRlZmluZWQgTElOVVggJiYgIWRlZmluZWQgU1NfT05TVEFDSworI2RlZmluZSBTU19PTlNUQUNLICAgICAgMQorI2RlZmluZSBTU19ESVNBQkxFICAgICAgMgorI2lmIF9fR0xJQkNfTUlOT1JfXyA9PSAwCit0eXBlZGVmIHN0cnVjdAoreworCV9fcHRyX3Qgc3Nfc3A7CisJaW50IHNzX2ZsYWdzOworCXNpemVfdCBzc19zaXplOworfSBzdGFja190OworI2VuZGlmCisjZW5kaWYKKyNpZmRlZiBGUkVFQlNECisjZGVmaW5lIHN0YWNrX3Qgc3RydWN0IHNpZ2FsdHN0YWNrCisjZW5kaWYKKworc3RhdGljIGNvbnN0IHN0cnVjdCB4bGF0IHNpZ2FsdHN0YWNrX2ZsYWdzW10gPSB7CisJeyBTU19PTlNUQUNLLAkiU1NfT05TVEFDSyIJfSwKKwl7IFNTX0RJU0FCTEUsCSJTU19ESVNBQkxFIgl9LAorCXsgMCwJCU5VTEwJCX0sCit9OworI2VuZGlmCisKKyNpZmRlZiBTVlI0CitzdGF0aWMgdm9pZAorcHJpbnRjb250ZXh0KHRjcCwgdWNwKQorc3RydWN0IHRjYiAqdGNwOwordWNvbnRleHRfdCAqdWNwOworeworCXRwcmludGYoInsiKTsKKwlpZiAoIWFiYnJldih0Y3ApKSB7CisJCXRwcmludGYoInVjX2ZsYWdzPSIpOworCQlwcmludGZsYWdzKHVjb250ZXh0X2ZsYWdzLCB1Y3AtPnVjX2ZsYWdzLCAiVUNfPz8/Iik7CisJCXRwcmludGYoIiwgdWNfbGluaz0lI2x4LCAiLCAodW5zaWduZWQgbG9uZykgdWNwLT51Y19saW5rKTsKKwl9CisJdHByaW50ZigidWNfc2lnbWFzaz0iKTsKKwlwcmludHNpZ21hc2soJnVjcC0+dWNfc2lnbWFzaywgMCk7CisJaWYgKCFhYmJyZXYodGNwKSkgeworCQl0cHJpbnRmKCIsIHVjX3N0YWNrPXtzc19zcD0lI2x4LCBzc19zaXplPSVkLCBzc19mbGFncz0iLAorCQkJKHVuc2lnbmVkIGxvbmcpIHVjcC0+dWNfc3RhY2suc3Nfc3AsCisJCQl1Y3AtPnVjX3N0YWNrLnNzX3NpemUpOworCQlwcmludGZsYWdzKHNpZ2FsdHN0YWNrX2ZsYWdzLCB1Y3AtPnVjX3N0YWNrLnNzX2ZsYWdzLCAiU1NfPz8/Iik7CisJCXRwcmludGYoIn0iKTsKKwl9CisJdHByaW50ZigiLCAuLi59Iik7Cit9CisKK2ludAorc3lzX2dldGNvbnRleHQodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCXVjb250ZXh0X3QgdWM7CisKKwlpZiAoZXhpdGluZyh0Y3ApKSB7CisJCWlmICh0Y3AtPnVfZXJyb3IpCisJCQl0cHJpbnRmKCIlI2x4IiwgdGNwLT51X2FyZ1swXSk7CisJCWVsc2UgaWYgKCF0Y3AtPnVfYXJnWzBdKQorCQkJdHByaW50ZigiTlVMTCIpOworCQllbHNlIGlmICh1bW92ZSh0Y3AsIHRjcC0+dV9hcmdbMF0sICZ1YykgPCAwKQorCQkJdHByaW50Zigiey4uLn0iKTsKKwkJZWxzZQorCQkJcHJpbnRjb250ZXh0KHRjcCwgJnVjKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK2ludAorc3lzX3NldGNvbnRleHQodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCXVjb250ZXh0X3QgdWM7CisKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQlpZiAoIXRjcC0+dV9hcmdbMF0pCisJCQl0cHJpbnRmKCJOVUxMIik7CisJCWVsc2UgaWYgKHVtb3ZlKHRjcCwgdGNwLT51X2FyZ1swXSwgJnVjKSA8IDApCisJCQl0cHJpbnRmKCJ7Li4ufSIpOworCQllbHNlCisJCQlwcmludGNvbnRleHQodGNwLCAmdWMpOworCX0KKwllbHNlIHsKKwkJdGNwLT51X3J2YWwgPSB0Y3AtPnVfZXJyb3IgPSAwOworCQlpZiAodGNwLT51X2FyZ1swXSA9PSAwKQorCQkJcmV0dXJuIDA7CisJCXJldHVybiBSVkFMX05PTkU7CisJfQorCXJldHVybiAwOworfQorCisjZW5kaWYgLyogU1ZSNCAqLworCisjaWYgZGVmaW5lZChMSU5VWCkgfHwgZGVmaW5lZChGUkVFQlNEKQorCitzdGF0aWMgaW50CitwcmludF9zdGFja190KHRjcCwgYWRkcikKK3N0cnVjdCB0Y2IgKnRjcDsKK3Vuc2lnbmVkIGxvbmcgYWRkcjsKK3sKKwlzdGFja190IHNzOworCWlmICh1bW92ZSh0Y3AsIGFkZHIsICZzcykgPCAwKQorCQlyZXR1cm4gLTE7CisJdHByaW50Zigie3NzX3NwPSUjbHgsIHNzX2ZsYWdzPSIsICh1bnNpZ25lZCBsb25nKSBzcy5zc19zcCk7CisJcHJpbnRmbGFncyhzaWdhbHRzdGFja19mbGFncywgc3Muc3NfZmxhZ3MsICJTU18/Pz8iKTsKKwl0cHJpbnRmKCIsIHNzX3NpemU9JWx1fSIsICh1bnNpZ25lZCBsb25nKSBzcy5zc19zaXplKTsKKwlyZXR1cm4gMDsKK30KKworaW50CitzeXNfc2lnYWx0c3RhY2sodGNwKQorCXN0cnVjdCB0Y2IgKnRjcDsKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQlpZiAodGNwLT51X2FyZ1swXSA9PSAwKQorCQkJdHByaW50ZigiTlVMTCIpOworCQllbHNlIGlmIChwcmludF9zdGFja190KHRjcCwgdGNwLT51X2FyZ1swXSkgPCAwKQorCQkJcmV0dXJuIC0xOworCX0KKwllbHNlIHsKKwkJdHByaW50ZigiLCAiKTsKKwkJaWYgKHRjcC0+dV9hcmdbMV0gPT0gMCkKKwkJCXRwcmludGYoIk5VTEwiKTsKKwkJZWxzZSBpZiAocHJpbnRfc3RhY2tfdCh0Y3AsIHRjcC0+dV9hcmdbMV0pIDwgMCkKKwkJCXJldHVybiAtMTsKKwl9CisJcmV0dXJuIDA7Cit9CisjZW5kaWYKKworI2lmZGVmIEhBVkVfU0lHQUNUSU9OCisKK2ludAorc3lzX3NpZ3Byb2NtYXNrKHRjcCkKK3N0cnVjdCB0Y2IgKnRjcDsKK3sKKyNpZmRlZiBBTFBIQQorCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXByaW50eHZhbChzaWdwcm9jbWFza2NtZHMsIHRjcC0+dV9hcmdbMF0sICJTSUdfPz8/Iik7CisJCXRwcmludGYoIiwgIik7CisJCXByaW50c2lnbWFzayh0Y3AtPnVfYXJnWzFdLCAwKTsKKwl9CisJZWxzZSBpZiAoIXN5c2Vycm9yKHRjcCkpIHsKKwkJdGNwLT5hdXhzdHIgPSBzcHJpbnRzaWdtYXNrKCJvbGQgbWFzayAiLCB0Y3AtPnVfcnZhbCwgMCk7CisJCXJldHVybiBSVkFMX0hFWCB8IFJWQUxfU1RSOworCX0KKyNlbHNlIC8qICFBTFBIQSAqLworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisjaWZkZWYgU1ZSNAorCQlpZiAodGNwLT51X2FyZ1swXSA9PSAwKQorCQkJdHByaW50ZigiMCIpOworCQllbHNlCisjZW5kaWYgLyogU1ZSNCAqLworCQlwcmludHh2YWwoc2lncHJvY21hc2tjbWRzLCB0Y3AtPnVfYXJnWzBdLCAiU0lHXz8/PyIpOworCQl0cHJpbnRmKCIsICIpOworCQlwcmludF9zaWdzZXQodGNwLCB0Y3AtPnVfYXJnWzFdLCAwKTsKKwkJdHByaW50ZigiLCAiKTsKKwl9CisJZWxzZSB7CisJCWlmICghdGNwLT51X2FyZ1syXSkKKwkJCXRwcmludGYoIk5VTEwiKTsKKwkJZWxzZSBpZiAoc3lzZXJyb3IodGNwKSkKKwkJCXRwcmludGYoIiUjbHgiLCB0Y3AtPnVfYXJnWzJdKTsKKwkJZWxzZQorCQkJcHJpbnRfc2lnc2V0KHRjcCwgdGNwLT51X2FyZ1syXSwgMCk7CisJfQorI2VuZGlmIC8qICFBTFBIQSAqLworCXJldHVybiAwOworfQorCisjZW5kaWYgLyogSEFWRV9TSUdBQ1RJT04gKi8KKworaW50CitzeXNfa2lsbCh0Y3ApCitzdHJ1Y3QgdGNiICp0Y3A7Cit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJLyoKKwkJICogU2lnbi1leHRlbmQgYSAzMi1iaXQgdmFsdWUgd2hlbiB0aGF0J3Mgd2hhdCBpdCBpcy4KKwkJICovCisJCWxvbmcgcGlkID0gdGNwLT51X2FyZ1swXTsKKwkJaWYgKHBlcnNvbmFsaXR5X3dvcmRzaXplW2N1cnJlbnRfcGVyc29uYWxpdHldIDwgc2l6ZW9mIHBpZCkKKwkJCXBpZCA9IChsb25nKSAoaW50KSBwaWQ7CisJCXRwcmludGYoIiVsZCwgJXMiLCBwaWQsIHNpZ25hbWUodGNwLT51X2FyZ1sxXSkpOworCX0KKwlyZXR1cm4gMDsKK30KKworI2lmIGRlZmluZWQoRlJFRUJTRCkgfHwgZGVmaW5lZChTVU5PUzQpCitpbnQKK3N5c19raWxscGcodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCXJldHVybiBzeXNfa2lsbCh0Y3ApOworfQorI2VuZGlmIC8qIEZSRUVCU0QgfHwgU1VOT1M0ICovCisKKyNpZmRlZiBMSU5VWAoraW50CitzeXNfdGdraWxsKHRjcCkKKwlzdHJ1Y3QgdGNiICp0Y3A7Cit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJdHByaW50ZigiJWxkLCAlbGQsICVzIiwKKwkJCXRjcC0+dV9hcmdbMF0sIHRjcC0+dV9hcmdbMV0sIHNpZ25hbWUodGNwLT51X2FyZ1syXSkpOworCX0KKwlyZXR1cm4gMDsKK30KKyNlbmRpZgorCitpbnQKK3N5c19zaWdwZW5kaW5nKHRjcCkKK3N0cnVjdCB0Y2IgKnRjcDsKK3sKKwlzaWdzZXRfdCBzaWdzZXQ7CisKKwlpZiAoZXhpdGluZyh0Y3ApKSB7CisJCWlmIChzeXNlcnJvcih0Y3ApKQorCQkJdHByaW50ZigiJSNseCIsIHRjcC0+dV9hcmdbMF0pOworCQllbHNlIGlmIChjb3B5X3NpZ3NldCh0Y3AsIHRjcC0+dV9hcmdbMF0sICZzaWdzZXQpIDwgMCkKKwkJCXRwcmludGYoIls/XSIpOworCQllbHNlCisJCQlwcmludHNpZ21hc2soJnNpZ3NldCwgMCk7CisJfQorCXJldHVybiAwOworfQorCisjaWZkZWYgU1ZSNAoraW50IHN5c19zaWd3YWl0KHRjcCkKK3N0cnVjdCB0Y2IgKnRjcDsKK3sKKwlzaWdzZXRfdCBzaWdzZXQ7CisKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQlpZiAoY29weV9zaWdzZXQodGNwLCB0Y3AtPnVfYXJnWzBdLCAmc2lnc2V0KSA8IDApCisJCQl0cHJpbnRmKCJbP10iKTsKKwkJZWxzZQorCQkJcHJpbnRzaWdtYXNrKCZzaWdzZXQsIDApOworCX0KKwllbHNlIHsKKwkJaWYgKCFzeXNlcnJvcih0Y3ApKSB7CisJCQl0Y3AtPmF1eHN0ciA9IHNpZ25hbGVudFt0Y3AtPnVfcnZhbF07CisJCQlyZXR1cm4gUlZBTF9ERUNJTUFMIHwgUlZBTF9TVFI7CisJCX0KKwl9CisJcmV0dXJuIDA7Cit9CisjZW5kaWYgLyogU1ZSNCAqLworCisjaWZkZWYgTElOVVgKKworCWludAorc3lzX3J0X3NpZ3Byb2NtYXNrKHRjcCkKKwlzdHJ1Y3QgdGNiICp0Y3A7Cit7CisJc2lnc2V0X3Qgc2lnc2V0OworCisJLyogTm90ZTogYXJnWzNdIGlzIHRoZSBsZW5ndGggb2YgdGhlIHNpZ3NldC4gKi8KKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQlwcmludHh2YWwoc2lncHJvY21hc2tjbWRzLCB0Y3AtPnVfYXJnWzBdLCAiU0lHXz8/PyIpOworCQl0cHJpbnRmKCIsICIpOworCQlpZiAoIXRjcC0+dV9hcmdbMV0pCisJCQl0cHJpbnRmKCJOVUxMLCAiKTsKKwkJZWxzZSBpZiAoY29weV9zaWdzZXRfbGVuKHRjcCwgdGNwLT51X2FyZ1sxXSwgJnNpZ3NldCwgdGNwLT51X2FyZ1szXSkgPCAwKQorCQkJdHByaW50ZigiJSNseCwgIiwgdGNwLT51X2FyZ1sxXSk7CisJCWVsc2UgeworCQkJcHJpbnRzaWdtYXNrKCZzaWdzZXQsIDEpOworCQkJdHByaW50ZigiLCAiKTsKKwkJfQorCX0KKwllbHNlIHsKKwkJaWYgKCF0Y3AtPnVfYXJnWzJdKQorCisJCQl0cHJpbnRmKCJOVUxMIik7CisJCWVsc2UgaWYgKHN5c2Vycm9yKHRjcCkpCisJCQl0cHJpbnRmKCIlI2x4IiwgdGNwLT51X2FyZ1syXSk7CisJCWVsc2UgaWYgKGNvcHlfc2lnc2V0X2xlbih0Y3AsIHRjcC0+dV9hcmdbMl0sICZzaWdzZXQsIHRjcC0+dV9hcmdbM10pIDwgMCkKKwkJCXRwcmludGYoIls/XSIpOworCQllbHNlCisJCQlwcmludHNpZ21hc2soJnNpZ3NldCwgMSk7CisJCXRwcmludGYoIiwgJWx1IiwgdGNwLT51X2FyZ1szXSk7CisJfQorCXJldHVybiAwOworfQorCisKKy8qIFN0cnVjdHVyZSBkZXNjcmliaW5nIHRoZSBhY3Rpb24gdG8gYmUgdGFrZW4gd2hlbiBhIHNpZ25hbCBhcnJpdmVzLiAgKi8KK3N0cnVjdCBuZXdfc2lnYWN0aW9uCit7CisJX19zaWdoYW5kbGVyX3QgX19zYV9oYW5kbGVyOworCXVuc2lnbmVkIGxvbmcgc2FfZmxhZ3M7CisJdm9pZCAoKnNhX3Jlc3RvcmVyKSAodm9pZCk7CisJLyogS2VybmVsIHRyZWF0cyBzYV9tYXNrIGFzIGFuIGFycmF5IG9mIGxvbmdzLiAqLworCXVuc2lnbmVkIGxvbmcgc2FfbWFza1tOU0lHIC8gc2l6ZW9mKGxvbmcpID8gTlNJRyAvIHNpemVvZihsb25nKSA6IDFdOworfTsKKy8qIFNhbWUgZm9yIGkzODYtb24teDg2XzY0IGFuZCBzaW1pbGFyIGNhc2VzICovCitzdHJ1Y3QgbmV3X3NpZ2FjdGlvbjMyCit7CisJdWludDMyX3QgX19zYV9oYW5kbGVyOworCXVpbnQzMl90IHNhX2ZsYWdzOworCXVpbnQzMl90IHNhX3Jlc3RvcmVyOworCXVpbnQzMl90IHNhX21hc2tbMiAqIChOU0lHIC8gc2l6ZW9mKGxvbmcpID8gTlNJRyAvIHNpemVvZihsb25nKSA6IDEpXTsKK307CisKKworaW50CitzeXNfcnRfc2lnYWN0aW9uKHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwlzdHJ1Y3QgbmV3X3NpZ2FjdGlvbiBzYTsKKwlzaWdzZXRfdCBzaWdzZXQ7CisJbG9uZyBhZGRyOworCWludCByOworCisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJcHJpbnRzaWduYWwodGNwLT51X2FyZ1swXSk7CisJCXRwcmludGYoIiwgIik7CisJCWFkZHIgPSB0Y3AtPnVfYXJnWzFdOworCX0gZWxzZQorCQlhZGRyID0gdGNwLT51X2FyZ1syXTsKKworCWlmIChhZGRyID09IDApIHsKKwkJdHByaW50ZigiTlVMTCIpOworCQlnb3RvIGFmdGVyX3NhOworCX0KKwlpZiAoIXZlcmJvc2UodGNwKSkgeworCQl0cHJpbnRmKCIlI2x4IiwgYWRkcik7CisJCWdvdG8gYWZ0ZXJfc2E7CisJfQorI2lmIFNVUFBPUlRFRF9QRVJTT05BTElUSUVTID4gMQorCWlmIChwZXJzb25hbGl0eV93b3Jkc2l6ZVtjdXJyZW50X3BlcnNvbmFsaXR5XSAhPSBzaXplb2Yoc2Euc2FfZmxhZ3MpCisJICYmIHBlcnNvbmFsaXR5X3dvcmRzaXplW2N1cnJlbnRfcGVyc29uYWxpdHldID09IDQKKwkpIHsKKwkJc3RydWN0IG5ld19zaWdhY3Rpb24zMiBzYTMyOworCQlyID0gdW1vdmUodGNwLCBhZGRyLCAmc2EzMik7CisJCWlmIChyID49IDApIHsKKwkJCW1lbXNldCgmc2EsIDAsIHNpemVvZihzYSkpOworCQkJc2EuX19zYV9oYW5kbGVyID0gKHZvaWQqKSh1bnNpZ25lZCBsb25nKXNhMzIuX19zYV9oYW5kbGVyOworCQkJc2Euc2FfZmxhZ3MgICAgID0gc2EzMi5zYV9mbGFnczsKKwkJCXNhLnNhX3Jlc3RvcmVyICA9ICh2b2lkKikodW5zaWduZWQgbG9uZylzYTMyLnNhX3Jlc3RvcmVyOworCQkJLyogS2VybmVsIHRyZWF0cyBzYV9tYXNrIGFzIGFuIGFycmF5IG9mIGxvbmdzLgorCQkJICogRm9yIDMyLWJpdCBwcm9jZXNzLCAibG9uZyIgaXMgdWludDMyX3QsIHRodXMsIGZvciBleGFtcGxlLAorCQkJICogMzJ0aCBiaXQgaW4gc2FfbWFzayB3aWxsIGVuZCB1cCBhcyBiaXQgMCBpbiBzYV9tYXNrWzFdLgorCQkJICogQnV0IGZvciAoNjQtYml0KSBrZXJuZWwsIDMydGggYml0IGluIHNhX21hc2sgaXMKKwkJCSAqIDMydGggYml0IGluIDB0aCAoNjQtYml0KSBsb25nIQorCQkJICogRm9yIGxpdHRsZS1lbmRpYW4sIGl0J3MgdGhlIHNhbWUuCisJCQkgKiBGb3IgYmlnLWVuZGlhbiwgd2Ugc3dhcCAzMi1iaXQgd29yZHMuCisJCQkgKi8KKwkJCXNhLnNhX21hc2tbMF0gPSBzYTMyLnNhX21hc2tbMF0gKyAoKGxvbmcpKHNhMzIuc2FfbWFza1sxXSkgPDwgMzIpOworCQl9CisJfSBlbHNlCisjZW5kaWYKKwl7CisJCXIgPSB1bW92ZSh0Y3AsIGFkZHIsICZzYSk7CisJfQorCWlmIChyIDwgMCkgeworCQl0cHJpbnRmKCJ7Li4ufSIpOworCQlnb3RvIGFmdGVyX3NhOworCX0KKwkvKiBBcmNoaXRlY3R1cmVzIHVzaW5nIGZ1bmN0aW9uIHBvaW50ZXJzLCBsaWtlCisJICogaHBwYSwgbWF5IG5lZWQgdG8gbWFuaXB1bGF0ZSB0aGUgZnVuY3Rpb24gcG9pbnRlcgorCSAqIHRvIGNvbXB1dGUgdGhlIHJlc3VsdCBvZiBhIGNvbXBhcmlzb24uIEhvd2V2ZXIsCisJICogdGhlIFNBX0hBTkRMRVIgZnVuY3Rpb24gcG9pbnRlciBleGlzdHMgb25seSBpbgorCSAqIHRoZSBhZGRyZXNzIHNwYWNlIG9mIHRoZSB0cmFjZWQgcHJvY2VzcywgYW5kIGNhbid0CisJICogYmUgbWFuaXB1bGF0ZWQgYnkgc3RyYWNlLiBJbiBvcmRlciB0byBwcmV2ZW50IHRoZQorCSAqIGNvbXBpbGVyIGZyb20gZ2VuZXJhdGluZyBjb2RlIHRvIG1hbmlwdWxhdGUKKwkgKiBTQV9IQU5ETEVSIHdlIGNhc3QgdGhlIGZ1bmN0aW9uIHBvaW50ZXJzIHRvIGxvbmcuICovCisJaWYgKChsb25nKXNhLl9fc2FfaGFuZGxlciA9PSAobG9uZylTSUdfRVJSKQorCQl0cHJpbnRmKCJ7U0lHX0VSUiwgIik7CisJZWxzZSBpZiAoKGxvbmcpc2EuX19zYV9oYW5kbGVyID09IChsb25nKVNJR19ERkwpCisJCXRwcmludGYoIntTSUdfREZMLCAiKTsKKwllbHNlIGlmICgobG9uZylzYS5fX3NhX2hhbmRsZXIgPT0gKGxvbmcpU0lHX0lHTikKKwkJdHByaW50Zigie1NJR19JR04sICIpOworCWVsc2UKKwkJdHByaW50ZigieyUjbHgsICIsIChsb25nKSBzYS5fX3NhX2hhbmRsZXIpOworCS8qIFF1ZXN0aW9uYWJsZSBjb2RlIGJlbG93LgorCSAqIEtlcm5lbCB3b24ndCBoYW5kbGUgc3lzX3J0X3NpZ2FjdGlvbgorCSAqIHdpdGggd3Jvbmcgc2lnc2V0IHNpemUgKGp1c3QgcmV0dXJucyBFSU5WQUwpCisJICogdGhlcmVmb3JlIHRjcC0+dV9hcmdbMyg0KV0gX211c3RfIGJlIE5TSUcgLyA4IGhlcmUsCisJICogYW5kIHdlIGFsd2F5cyB1c2Ugc21hbGxlciBtZW1jcHkuICovCisJc2lnZW1wdHlzZXQoJnNpZ3NldCk7CisjaWZkZWYgTElOVVhTUEFSQworCWlmICh0Y3AtPnVfYXJnWzRdIDw9IHNpemVvZihzaWdzZXQpKQorCQltZW1jcHkoJnNpZ3NldCwgJnNhLnNhX21hc2ssIHRjcC0+dV9hcmdbNF0pOworI2Vsc2UKKwlpZiAodGNwLT51X2FyZ1szXSA8PSBzaXplb2Yoc2lnc2V0KSkKKwkJbWVtY3B5KCZzaWdzZXQsICZzYS5zYV9tYXNrLCB0Y3AtPnVfYXJnWzNdKTsKKyNlbmRpZgorCWVsc2UKKwkJbWVtY3B5KCZzaWdzZXQsICZzYS5zYV9tYXNrLCBzaXplb2Yoc2lnc2V0KSk7CisJcHJpbnRzaWdtYXNrKCZzaWdzZXQsIDEpOworCXRwcmludGYoIiwgIik7CisJcHJpbnRmbGFncyhzaWdhY3RfZmxhZ3MsIHNhLnNhX2ZsYWdzLCAiU0FfPz8/Iik7CisjaWZkZWYgU0FfUkVTVE9SRVIKKwlpZiAoc2Euc2FfZmxhZ3MgJiBTQV9SRVNUT1JFUikKKwkJdHByaW50ZigiLCAlcCIsIHNhLnNhX3Jlc3RvcmVyKTsKKyNlbmRpZgorCXRwcmludGYoIn0iKTsKKworIGFmdGVyX3NhOgorCWlmIChlbnRlcmluZyh0Y3ApKQorCQl0cHJpbnRmKCIsICIpOworCWVsc2UKKyNpZmRlZiBMSU5VWFNQQVJDCisJCXRwcmludGYoIiwgJSNseCwgJWx1IiwgdGNwLT51X2FyZ1szXSwgdGNwLT51X2FyZ1s0XSk7CisjZWxpZiBkZWZpbmVkKEFMUEhBKQorCQl0cHJpbnRmKCIsICVsdSwgJSNseCIsIHRjcC0+dV9hcmdbM10sIHRjcC0+dV9hcmdbNF0pOworI2Vsc2UKKwkJdHByaW50ZigiLCAlbHUiLCB0Y3AtPnVfYXJnWzNdKTsKKyNlbmRpZgorCXJldHVybiAwOworfQorCitpbnQKK3N5c19ydF9zaWdwZW5kaW5nKHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwlzaWdzZXRfdCBzaWdzZXQ7CisKKwlpZiAoZXhpdGluZyh0Y3ApKSB7CisJCWlmIChzeXNlcnJvcih0Y3ApKQorCQkJdHByaW50ZigiJSNseCIsIHRjcC0+dV9hcmdbMF0pOworCQllbHNlIGlmIChjb3B5X3NpZ3NldF9sZW4odGNwLCB0Y3AtPnVfYXJnWzBdLAorCQkJCQkgJnNpZ3NldCwgdGNwLT51X2FyZ1sxXSkgPCAwKQorCQkJdHByaW50ZigiWz9dIik7CisJCWVsc2UKKwkJCXByaW50c2lnbWFzaygmc2lnc2V0LCAxKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK2ludAorc3lzX3J0X3NpZ3N1c3BlbmQoc3RydWN0IHRjYiAqdGNwKQoreworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXNpZ3NldF90IHNpZ207CisJCWlmIChjb3B5X3NpZ3NldF9sZW4odGNwLCB0Y3AtPnVfYXJnWzBdLCAmc2lnbSwgdGNwLT51X2FyZ1sxXSkgPCAwKQorCQkJdHByaW50ZigiWz9dIik7CisJCWVsc2UKKwkJCXByaW50c2lnbWFzaygmc2lnbSwgMSk7CisJfQorCXJldHVybiAwOworfQorCitpbnQKK3N5c19ydF9zaWdxdWV1ZWluZm8oc3RydWN0IHRjYiAqdGNwKQoreworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXNpZ2luZm9fdCBzaTsKKwkJdHByaW50ZigiJWx1LCAiLCB0Y3AtPnVfYXJnWzBdKTsKKwkJcHJpbnRzaWduYWwodGNwLT51X2FyZ1sxXSk7CisJCXRwcmludGYoIiwgIik7CisJCWlmICh1bW92ZSh0Y3AsIHRjcC0+dV9hcmdbMl0sICZzaSkgPCAwKQorCQkJdHByaW50ZigiJSNseCIsIHRjcC0+dV9hcmdbMl0pOworCQllbHNlCisJCQlwcmludHNpZ2luZm8oJnNpLCB2ZXJib3NlKHRjcCkpOworCX0KKwlyZXR1cm4gMDsKK30KKworaW50IHN5c19ydF9zaWd0aW1lZHdhaXQoc3RydWN0IHRjYiAqdGNwKQoreworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXNpZ3NldF90IHNpZ3NldDsKKworCQlpZiAoY29weV9zaWdzZXRfbGVuKHRjcCwgdGNwLT51X2FyZ1swXSwKKwkJCQkgICAgJnNpZ3NldCwgdGNwLT51X2FyZ1szXSkgPCAwKQorCQkJdHByaW50ZigiWz9dIik7CisJCWVsc2UKKwkJCXByaW50c2lnbWFzaygmc2lnc2V0LCAxKTsKKwkJdHByaW50ZigiLCAiKTsKKwkJLyogVGhpcyBpcyB0aGUgb25seSAicmV0dXJuIiBwYXJhbWV0ZXIsICovCisJCWlmICh0Y3AtPnVfYXJnWzFdICE9IDApCisJCQlyZXR1cm4gMDsKKwkJLyogLi4uIGlmIGl0J3MgTlVMTCwgY2FuIGRlY29kZSBhbGwgb24gZW50cnkgKi8KKwkJdHByaW50ZigiTlVMTCwgIik7CisJfQorCWVsc2UgaWYgKHRjcC0+dV9hcmdbMV0gIT0gMCkgeworCQkvKiBzeXNjYWxsIGV4aXQsIGFuZCB1X2FyZ1sxXSB3YXNuJ3QgTlVMTCAqLworCQlpZiAoc3lzZXJyb3IodGNwKSkKKwkJCXRwcmludGYoIiUjbHgsICIsIHRjcC0+dV9hcmdbMV0pOworCQllbHNlIHsKKwkJCXNpZ2luZm9fdCBzaTsKKwkJCWlmICh1bW92ZSh0Y3AsIHRjcC0+dV9hcmdbMV0sICZzaSkgPCAwKQorCQkJCXRwcmludGYoIiUjbHgsICIsIHRjcC0+dV9hcmdbMV0pOworCQkJZWxzZSB7CisJCQkJcHJpbnRzaWdpbmZvKCZzaSwgdmVyYm9zZSh0Y3ApKTsKKwkJCQl0cHJpbnRmKCIsICIpOworCQkJfQorCQl9CisJfQorCWVsc2UgeworCQkvKiBzeXNjYWxsIGV4aXQsIGFuZCB1X2FyZ1sxXSB3YXMgTlVMTCAqLworCQlyZXR1cm4gMDsKKwl9CisJcHJpbnRfdGltZXNwZWModGNwLCB0Y3AtPnVfYXJnWzJdKTsKKwl0cHJpbnRmKCIsICVkIiwgKGludCkgdGNwLT51X2FyZ1szXSk7CisJcmV0dXJuIDA7Cit9OworCitpbnQKK3N5c19yZXN0YXJ0X3N5c2NhbGwoc3RydWN0IHRjYiAqdGNwKQoreworCWlmIChlbnRlcmluZyh0Y3ApKQorCQl0cHJpbnRmKCI8Li4uIHJlc3VtaW5nIGludGVycnVwdGVkIGNhbGwgLi4uPiIpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50Citkb19zaWduYWxmZChzdHJ1Y3QgdGNiICp0Y3AsIGludCBmbGFnc19hcmcpCit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJdHByaW50ZigiJWxkLCAiLCB0Y3AtPnVfYXJnWzBdKTsKKwkJcHJpbnRfc2lnc2V0KHRjcCwgdGNwLT51X2FyZ1sxXSwgMSk7CisJCXRwcmludGYoIiwgJWx1IiwgdGNwLT51X2FyZ1syXSk7CisJCWlmIChmbGFnc19hcmcgPj0gMCkgeworCQkJdHByaW50ZigiLCAiKTsKKwkJCXByaW50ZmxhZ3Mob3Blbl9tb2RlX2ZsYWdzLCB0Y3AtPnVfYXJnW2ZsYWdzX2FyZ10sICJPXz8/PyIpOworCQl9CisJfQorCXJldHVybiAwOworfQorCitpbnQKK3N5c19zaWduYWxmZChzdHJ1Y3QgdGNiICp0Y3ApCit7CisJcmV0dXJuIGRvX3NpZ25hbGZkKHRjcCwgLTEpOworfQorCitpbnQKK3N5c19zaWduYWxmZDQoc3RydWN0IHRjYiAqdGNwKQoreworCXJldHVybiBkb19zaWduYWxmZCh0Y3AsIDMpOworfQorI2VuZGlmIC8qIExJTlVYICovCmRpZmYgLS1naXQgYS9zdHJhY2UtNC41LjIwL3NpZ25hbGVudC5zaCBiL3N0cmFjZS00LjUuMjAvc2lnbmFsZW50LnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjlhMzQ2ZGQKLS0tIC9kZXYvbnVsbAorKysgYi9zdHJhY2UtNC41LjIwL3NpZ25hbGVudC5zaApAQCAtMCwwICsxLDU1IEBACisjIS9iaW4vc2gKKyMgQ29weXJpZ2h0IChjKSAxOTk2IFJpY2sgU2xhZGtleSA8anJzQHdvcmxkLnN0ZC5jb20+CisjIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyMgYXJlIG1ldDoKKyMgMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisjICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisjIDMuIFRoZSBuYW1lIG9mIHRoZSBhdXRob3IgbWF5IG5vdCBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cworIyAgICBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQVVUSE9SIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1MgT1IKKyMgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUworIyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELgorIyBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCisjIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVAorIyBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisjIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorIyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorIyBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorIworIwkkSWQkCisKK2NhdCAkKiB8CisJc2VkIC1uIC1lICdzL1wvXCouKlwqXC8vIC8nIC1lICdzL14jWyAJXSpkZWZpbmVbIAldWyAJXSpTSUdcKFteXyAJXSpcKVsgCV1bIAldKlwoWzAtOV1bMC05XSpcKVsgCV0qJC9cMSBcMi9wJyB8CisJc29ydCAtazJuIHwgdW5pcSB8CisJYXdrICcKKwlCRUdJTiB7CisJCXRhYnMgPSAiXHRcdFx0XHRcdFx0XHRcdCIKKwkJc2lnbmFsID0gLTE7CisJfQorCSQyIDw9IDI1NiB7CisJCWlmIChzaWduYWwgPT0gJDIpCisJCQluZXh0CisJCXdoaWxlICgrK3NpZ25hbCA8ICQyKSB7CisJCQluID0gIlwiU0lHXyIgc2lnbmFsICJcIiIKKwkJCXMgPSAiXHQiIG4gIiwiCisJCQlzID0gcyBzdWJzdHIodGFicywgMSwgMTYvOCAtIGludCgobGVuZ3RoKG4pICsgMSkvOCkpCisJCQlzID0gcyAiLyogIiBzaWduYWwgIiAqLyIKKwkJCXByaW50IHMKKwkJfQorCQlpZiAoc2lnbmFsID09ICQyKQorCQkJbiA9ICJcIlNJRyIgJDEgIlwiIgorCQluID0gIlwiU0lHIiAkMSAiXCIiCisJCXMgPSAiXHQiIG4gIiwiCisJCXMgPSBzIHN1YnN0cih0YWJzLCAxLCAxNi84IC0gaW50KChsZW5ndGgobikgKyAxKS84KSkKKwkJcyA9IHMgIi8qICIgc2lnbmFsICIgKi8iCisJCXByaW50IHMKKwl9CisJJwpkaWZmIC0tZ2l0IGEvc3RyYWNlLTQuNS4yMC9zb2NrLmMgYi9zdHJhY2UtNC41LjIwL3NvY2suYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lN2M3MmI1Ci0tLSAvZGV2L251bGwKKysrIGIvc3RyYWNlLTQuNS4yMC9zb2NrLmMKQEAgLTAsMCArMSwyOTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDE5OTMsIDE5OTQsIDE5OTUsIDE5OTYgUmljayBTbGFka2V5IDxqcnNAd29ybGQuc3RkLmNvbT4KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBUaGUgbmFtZSBvZiB0aGUgYXV0aG9yIG1heSBub3QgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMKKyAqICAgIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIEFVVEhPUiBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCisgKiBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELgorICogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAorICogSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUCisgKiBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqCisgKgkkSWQkCisgKi8KKworI2luY2x1ZGUgImRlZnMuaCIKKworI2lmZGVmIExJTlVYCisjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgorI2luY2x1ZGUgPGxpbnV4L3NvY2tpb3MuaD4KKyNlbHNlCisjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgorI2luY2x1ZGUgPHN5cy9zb2NraW8uaD4KKyNlbmRpZgorI2luY2x1ZGUgPGFycGEvaW5ldC5oPgorCisjaWYgZGVmaW5lZCAoQUxQSEEpIHx8IGRlZmluZWQoU0gpIHx8IGRlZmluZWQoU0g2NCkKKyNpZmRlZiBIQVZFX1NZU19JT0NUTF9ICisjaW5jbHVkZSA8c3lzL2lvY3RsLmg+CisjZWxpZiBkZWZpbmVkKEhBVkVfSU9DVExTX0gpCisjaW5jbHVkZSA8aW9jdGxzLmg+CisjZW5kaWYKKyNlbmRpZgorI2luY2x1ZGUgPG5ldC9pZi5oPgorCitzdGF0aWMgY29uc3Qgc3RydWN0IHhsYXQgaWZmZmxhZ3NbXSA9IHsKKwl7IElGRl9VUCwJCSJJRkZfVVAiCQl9LAorCXsgSUZGX0JST0FEQ0FTVCwJIklGRl9CUk9BRENBU1QiCQl9LAorCXsgSUZGX0RFQlVHLAkJIklGRl9ERUJVRyIJCX0sCisJeyBJRkZfTE9PUEJBQ0ssCQkiSUZGX0xPT1BCQUNLIgkJfSwKKwl7IElGRl9QT0lOVE9QT0lOVCwJIklGRl9QT0lOVE9QT0lOVCIJfSwKKwl7IElGRl9OT1RSQUlMRVJTLAkiSUZGX05PVFJBSUxFUlMiCX0sCisJeyBJRkZfUlVOTklORywJCSJJRkZfUlVOTklORyIJCX0sCisJeyBJRkZfTk9BUlAsCQkiSUZGX05PQVJQIgkJfSwKKwl7IElGRl9QUk9NSVNDLAkJIklGRl9QUk9NSVNDIgkJfSwKKwl7IElGRl9BTExNVUxUSSwJCSJJRkZfQUxMTVVMVEkiCQl9LAorCXsgSUZGX01BU1RFUiwJCSJJRkZfTUFTVEVSIgkJfSwKKwl7IElGRl9TTEFWRSwJCSJJRkZfU0xBVkUiCQl9LAorCXsgSUZGX01VTFRJQ0FTVCwJIklGRl9NVUxUSUNBU1QiCQl9LAorCXsgSUZGX1BPUlRTRUwsCQkiSUZGX1BPUlRTRUwiCQl9LAorCXsgSUZGX0FVVE9NRURJQSwJIklGRl9BVVRPTUVESUEiCQl9LAorCXsgMCwJCQlOVUxMCQkJfQorfTsKKworCitzdGF0aWMgdm9pZAorcHJpbnRfYWRkcih0Y3AsIGFkZHIsIGlmcikKK3N0cnVjdCB0Y2IgKnRjcDsKK2xvbmcgYWRkcjsKK3N0cnVjdCBpZnJlcSAqaWZyOworeworCWlmIChpZnItPmlmcl9hZGRyLnNhX2ZhbWlseSA9PSBBRl9JTkVUKSB7CisJCXN0cnVjdCBzb2NrYWRkcl9pbiAqc2lucDsKKwkJc2lucCA9IChzdHJ1Y3Qgc29ja2FkZHJfaW4gKikgJmlmci0+aWZyX2FkZHI7CisJCXRwcmludGYoImluZXRfYWRkcihcIiVzXCIpIiwgaW5ldF9udG9hKHNpbnAtPnNpbl9hZGRyKSk7CisJfSBlbHNlCisJCXByaW50c3RyKHRjcCwgYWRkciwgc2l6ZW9mKGlmci0+aWZyX2FkZHIuc2FfZGF0YSkpOworfQorCitpbnQKK3NvY2tfaW9jdGwoc3RydWN0IHRjYiAqdGNwLCBsb25nIGNvZGUsIGxvbmcgYXJnKQoreworCXN0cnVjdCBpZnJlcSBpZnI7CisJc3RydWN0IGlmY29uZiBpZmM7CisJY29uc3QgY2hhciAqc3RyID0gTlVMTDsKKwl1bnNpZ25lZCBjaGFyICpieXRlczsKKworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCWlmIChjb2RlID09IFNJT0NHSUZDT05GKSB7CisJCQlpZiAodW1vdmUodGNwLCB0Y3AtPnVfYXJnWzJdLCAmaWZjKSA+PSAwCisJCQkgICAgJiYgaWZjLmlmY19idWYgPT0gTlVMTCkKKwkJCQl0cHJpbnRmKCIsIHslZCAtPiAiLCBpZmMuaWZjX2xlbik7CisJCQllbHNlCisJCQkJdHByaW50ZigiLCB7Iik7CisJCX0KKwkJcmV0dXJuIDA7CisJfQorCisJc3dpdGNoIChjb2RlKSB7CisjaWZkZWYgU0lPQ1NISVdBVAorCWNhc2UgU0lPQ1NISVdBVDoKKyNlbmRpZgorI2lmZGVmIFNJT0NHSElXQVQKKwljYXNlIFNJT0NHSElXQVQ6CisjZW5kaWYKKyNpZmRlZiBTSU9DU0xPV0FUCisJY2FzZSBTSU9DU0xPV0FUOgorI2VuZGlmCisjaWZkZWYgU0lPQ0dMT1dBVAorCWNhc2UgU0lPQ0dMT1dBVDoKKyNlbmRpZgorI2lmZGVmIEZJT1NFVE9XTgorCWNhc2UgRklPU0VUT1dOOgorI2VuZGlmCisjaWZkZWYgRklPR0VUT1dOCisJY2FzZSBGSU9HRVRPV046CisjZW5kaWYKKyNpZmRlZiBTSU9DU1BHUlAKKwljYXNlIFNJT0NTUEdSUDoKKyNlbmRpZgorI2lmZGVmIFNJT0NHUEdSUAorCWNhc2UgU0lPQ0dQR1JQOgorI2VuZGlmCisjaWZkZWYgU0lPQ0FUTUFSSworCWNhc2UgU0lPQ0FUTUFSSzoKKyNlbmRpZgorCQlwcmludG51bSh0Y3AsIGFyZywgIiwgJSNkIik7CisJCXJldHVybiAxOworI2lmZGVmIExJTlVYCisJY2FzZSBTSU9DR0lGTkFNRToKKwljYXNlIFNJT0NTSUZOQU1FOgorCWNhc2UgU0lPQ0dJRklOREVYOgorCWNhc2UgU0lPQ0dJRkFERFI6CisJY2FzZSBTSU9DU0lGQUREUjoKKwljYXNlIFNJT0NHSUZEU1RBRERSOgorCWNhc2UgU0lPQ1NJRkRTVEFERFI6CisJY2FzZSBTSU9DR0lGQlJEQUREUjoKKwljYXNlIFNJT0NTSUZCUkRBRERSOgorCWNhc2UgU0lPQ0dJRk5FVE1BU0s6CisJY2FzZSBTSU9DU0lGTkVUTUFTSzoKKwljYXNlIFNJT0NHSUZGTEFHUzoKKwljYXNlIFNJT0NTSUZGTEFHUzoKKwljYXNlIFNJT0NHSUZNRVRSSUM6CisJY2FzZSBTSU9DU0lGTUVUUklDOgorCWNhc2UgU0lPQ0dJRk1UVToKKwljYXNlIFNJT0NTSUZNVFU6CisJY2FzZSBTSU9DR0lGU0xBVkU6CisJY2FzZSBTSU9DU0lGU0xBVkU6CisJY2FzZSBTSU9DR0lGSFdBRERSOgorCWNhc2UgU0lPQ1NJRkhXQUREUjoKKwljYXNlIFNJT0NHSUZUWFFMRU46CisJY2FzZSBTSU9DU0lGVFhRTEVOOgorCWNhc2UgU0lPQ0dJRk1BUDoKKwljYXNlIFNJT0NTSUZNQVA6CisJCWlmICh1bW92ZSh0Y3AsIHRjcC0+dV9hcmdbMl0sICZpZnIpIDwgMCkKKwkJCXRwcmludGYoIiwgJSNseCIsIHRjcC0+dV9hcmdbMl0pOworCQllbHNlIGlmIChzeXNlcnJvcih0Y3ApKSB7CisJCQlpZiAoY29kZSA9PSBTSU9DR0lGTkFNRSB8fCBjb2RlID09IFNJT0NTSUZOQU1FKQorCQkJCXRwcmludGYoIiwge2lmcl9pbmRleD0lZCwgaWZyX25hbWU9Pz8/fSIsIGlmci5pZnJfaWZpbmRleCk7CisJCQllbHNlCisJCQkJdHByaW50ZigiLCB7aWZyX25hbWU9XCIlc1wiLCA/Pz99IiwgaWZyLmlmcl9uYW1lKTsKKwkJfSBlbHNlIGlmIChjb2RlID09IFNJT0NHSUZOQU1FIHx8IGNvZGUgPT0gU0lPQ1NJRk5BTUUpCisJCQl0cHJpbnRmKCIsIHtpZnJfaW5kZXg9JWQsIGlmcl9uYW1lPVwiJXNcIn0iLAorCQkJCWlmci5pZnJfaWZpbmRleCwgaWZyLmlmcl9uYW1lKTsKKwkJZWxzZSB7CisJCQl0cHJpbnRmKCIsIHtpZnJfbmFtZT1cIiVzXCIsICIsIGlmci5pZnJfbmFtZSk7CisJCQlzd2l0Y2ggKGNvZGUpIHsKKwkJCWNhc2UgU0lPQ0dJRklOREVYOgorCQkJCXRwcmludGYoImlmcl9pbmRleD0lZCIsIGlmci5pZnJfaWZpbmRleCk7CisJCQkJYnJlYWs7CisJCQljYXNlIFNJT0NHSUZBRERSOgorCQkJY2FzZSBTSU9DU0lGQUREUjoKKwkJCQlzdHIgPSAiaWZyX2FkZHIiOworCQkJY2FzZSBTSU9DR0lGRFNUQUREUjoKKwkJCWNhc2UgU0lPQ1NJRkRTVEFERFI6CisJCQkJaWYgKCFzdHIpCisJCQkJCXN0ciA9ICJpZnJfZHN0YWRkciI7CisJCQljYXNlIFNJT0NHSUZCUkRBRERSOgorCQkJY2FzZSBTSU9DU0lGQlJEQUREUjoKKwkJCQlpZiAoIXN0cikKKwkJCQkJc3RyID0gImlmcl9icm9hZGFkZHIiOworCQkJY2FzZSBTSU9DR0lGTkVUTUFTSzoKKwkJCWNhc2UgU0lPQ1NJRk5FVE1BU0s6CisJCQkJaWYgKCFzdHIpCisJCQkJCXN0ciA9ICJpZnJfbmV0bWFzayI7CisJCQkJdHByaW50ZigiJXM9eyIsIHN0cik7CisJCQkJcHJpbnR4dmFsKGFkZHJmYW1zLAorCQkJCQkgIGlmci5pZnJfYWRkci5zYV9mYW1pbHksCisJCQkJCSAgIkFGXz8/PyIpOworCQkJCXRwcmludGYoIiwgIik7CisJCQkJcHJpbnRfYWRkcih0Y3AsICgobG9uZykgdGNwLT51X2FyZ1syXQorCQkJCQkJICsgb2Zmc2V0b2YgKHN0cnVjdCBpZnJlcSwKKwkJCQkJCQkgICAgIGlmcl9hZGRyLnNhX2RhdGEpKSwKKwkJCQkJICAgJmlmcik7CisJCQkJdHByaW50ZigifSIpOworCQkJCWJyZWFrOworCQkJY2FzZSBTSU9DR0lGSFdBRERSOgorCQkJY2FzZSBTSU9DU0lGSFdBRERSOgorCQkJCS8qIFhYWCBBcmUgdGhlcmUgb3RoZXIgaGFyZHdhcmUgYWRkcmVzc2VzCisJCQkJICAgdGhhbiA2LWJ5dGUgTUFDcz8gICovCisJCQkJYnl0ZXMgPSAodW5zaWduZWQgY2hhciAqKSAmaWZyLmlmcl9od2FkZHIuc2FfZGF0YTsKKwkJCQl0cHJpbnRmKCJpZnJfaHdhZGRyPSUwMng6JTAyeDolMDJ4OiUwMng6JTAyeDolMDJ4IiwKKwkJCQkJYnl0ZXNbMF0sIGJ5dGVzWzFdLCBieXRlc1syXSwKKwkJCQkJYnl0ZXNbM10sIGJ5dGVzWzRdLCBieXRlc1s1XSk7CisJCQkJYnJlYWs7CisJCQljYXNlIFNJT0NHSUZGTEFHUzoKKwkJCWNhc2UgU0lPQ1NJRkZMQUdTOgorCQkJCXRwcmludGYoImlmcl9mbGFncz0iKTsKKwkJCQlwcmludGZsYWdzKGlmZmZsYWdzLCBpZnIuaWZyX2ZsYWdzLCAiSUZGXz8/PyIpOworCQkJCWJyZWFrOworCQkJY2FzZSBTSU9DR0lGTUVUUklDOgorCQkJY2FzZSBTSU9DU0lGTUVUUklDOgorCQkJCXRwcmludGYoImlmcl9tZXRyaWM9JWQiLCBpZnIuaWZyX21ldHJpYyk7CisJCQkJYnJlYWs7CisJCQljYXNlIFNJT0NHSUZNVFU6CisJCQljYXNlIFNJT0NTSUZNVFU6CisJCQkJdHByaW50ZigiaWZyX210dT0lZCIsIGlmci5pZnJfbXR1KTsKKwkJCQlicmVhazsKKwkJCWNhc2UgU0lPQ0dJRlNMQVZFOgorCQkJY2FzZSBTSU9DU0lGU0xBVkU6CisJCQkJdHByaW50ZigiaWZyX3NsYXZlPVwiJXNcIiIsIGlmci5pZnJfc2xhdmUpOworCQkJCWJyZWFrOworCQkJY2FzZSBTSU9DR0lGVFhRTEVOOgorCQkJY2FzZSBTSU9DU0lGVFhRTEVOOgorCQkJCXRwcmludGYoImlmcl9xbGVuPSVkIiwgaWZyLmlmcl9xbGVuKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgU0lPQ0dJRk1BUDoKKwkJCWNhc2UgU0lPQ1NJRk1BUDoKKwkJCQl0cHJpbnRmKCJpZnJfbWFwPXttZW1fc3RhcnQ9JSNseCwgIgorCQkJCQkibWVtX2VuZD0lI2x4LCBiYXNlX2FkZHI9JSN4LCAiCisJCQkJCSJpcnE9JXUsIGRtYT0ldSwgcG9ydD0ldX0iLAorCQkJCQlpZnIuaWZyX21hcC5tZW1fc3RhcnQsCisJCQkJCWlmci5pZnJfbWFwLm1lbV9lbmQsCisJCQkJCSh1bnNpZ25lZCkgaWZyLmlmcl9tYXAuYmFzZV9hZGRyLAorCQkJCQkodW5zaWduZWQpIGlmci5pZnJfbWFwLmlycSwKKwkJCQkJKHVuc2lnbmVkKSBpZnIuaWZyX21hcC5kbWEsCisJCQkJCSh1bnNpZ25lZCkgaWZyLmlmcl9tYXAucG9ydCk7CisJCQkJYnJlYWs7CisJCQl9CisJCQl0cHJpbnRmKCJ9Iik7CisJCX0KKwkJcmV0dXJuIDE7CisJY2FzZSBTSU9DR0lGQ09ORjoKKwkJaWYgKHVtb3ZlKHRjcCwgdGNwLT51X2FyZ1syXSwgJmlmYykgPCAwKSB7CisJCQl0cHJpbnRmKCI/Pz99Iik7CisJCQlyZXR1cm4gMTsKKwkJfQorCQl0cHJpbnRmKCIlZCwgIiwgaWZjLmlmY19sZW4pOworCQlpZiAoc3lzZXJyb3IodGNwKSkgeworCQkJdHByaW50ZigiJWx4IiwgKHVuc2lnbmVkIGxvbmcpIGlmYy5pZmNfYnVmKTsKKwkJfSBlbHNlIGlmIChpZmMuaWZjX2J1ZiA9PSBOVUxMKSB7CisJCQl0cHJpbnRmKCJOVUxMIik7CisJCX0gZWxzZSB7CisJCQlpbnQgaTsKKwkJCXVuc2lnbmVkIG5pZnJhID0gaWZjLmlmY19sZW4gLyBzaXplb2Yoc3RydWN0IGlmcmVxKTsKKwkJCXN0cnVjdCBpZnJlcSBpZnJhW25pZnJhXTsKKworCQkJaWYgKHVtb3Zlbih0Y3AsICh1bnNpZ25lZCBsb25nKSBpZmMuaWZjX2J1ZiwKKwkJCQlzaXplb2YoaWZyYSksIChjaGFyICopIGlmcmEpIDwgMCkgeworCQkJCXRwcmludGYoIiVseH0iLCAodW5zaWduZWQgbG9uZykgaWZjLmlmY19idWYpOworCQkJCXJldHVybiAxOworCQkJfQorCQkJdHByaW50ZigieyIpOworCQkJZm9yIChpID0gMDsgaSA8IG5pZnJhOyArK2kgKSB7CisJCQkJaWYgKGkgPiAwKQorCQkJCQl0cHJpbnRmKCIsICIpOworCQkJCXRwcmludGYoIntcIiVzXCIsIHsiLAorCQkJCQlpZnJhW2ldLmlmcl9uYW1lKTsKKwkJCQlpZiAodmVyYm9zZSh0Y3ApKSB7CisJCQkJCXByaW50eHZhbChhZGRyZmFtcywKKwkJCQkJCSAgaWZyYVtpXS5pZnJfYWRkci5zYV9mYW1pbHksCisJCQkJCQkgICJBRl8/Pz8iKTsKKwkJCQkJdHByaW50ZigiLCAiKTsKKwkJCQkJcHJpbnRfYWRkcih0Y3AsICgobG9uZykgdGNwLT51X2FyZ1syXQorCQkJCQkJCSArIG9mZnNldG9mIChzdHJ1Y3QgaWZyZXEsCisJCQkJCQkJCSAgICAgaWZyX2FkZHIuc2FfZGF0YSkKKwkJCQkJCQkgKyAoKGNoYXIgKikgJmlmcmFbaV0KKwkJCQkJCQkgICAgLSAoY2hhciAqKSAmaWZyYVswXSkpLAorCQkJCQkJICAgJmlmcmFbaV0pOworCQkJCX0gZWxzZQorCQkJCQl0cHJpbnRmKCIuLi4iKTsKKwkJCQl0cHJpbnRmKCJ9fSIpOworCQkJfQorCQkJdHByaW50ZigifSIpOworCQl9CisJCXRwcmludGYoIn0iKTsKKwkJcmV0dXJuIDE7CisjZW5kaWYKKwlkZWZhdWx0OgorCQlyZXR1cm4gMDsKKwl9Cit9CmRpZmYgLS1naXQgYS9zdHJhY2UtNC41LjIwL3N0cmFjZS1ncmFwaCBiL3N0cmFjZS00LjUuMjAvc3RyYWNlLWdyYXBoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjZhMDRhYzIKLS0tIC9kZXYvbnVsbAorKysgYi9zdHJhY2UtNC41LjIwL3N0cmFjZS1ncmFwaApAQCAtMCwwICsxLDMzOCBAQAorIyEvdXNyL2Jpbi9wZXJsCisKKyMgVGhpcyBzY3JpcHQgcHJvY2Vzc2VzIHN0cmFjZSAtZiBvdXRwdXQuICBJdCBkaXNwbGF5cyBhIGdyYXBoIG9mIGludm9rZWQKKyMgc3VicHJvY2Vzc2VzLCBhbmQgaXMgdXNlZnVsIGZvciBmaW5kaW5nIG91dCB3aGF0IGNvbXBsZXggY29tbWFuZHMgZG8uCisKKyMgWW91IHdpbGwgcHJvYmFibHkgd2FudCB0byBpbnZva2Ugc3RyYWNlIHdpdGggLXEgYXMgd2VsbCwgYW5kIHdpdGgKKyMgLXMgMTAwIHRvIGdldCBjb21wbGV0ZSBmaWxlbmFtZXMuCisKKyMgVGhlIHNjcmlwdCBjYW4gYWxzbyBoYW5kbGUgdGhlIG91dHB1dCB3aXRoIHN0cmFjZSAtdCwgLXR0LCBvciAtdHR0LgorIyBJdCB3aWxsIGFkZCBlbGFwc2VkIHRpbWUgZm9yIGVhY2ggcHJvY2VzcyBpbiB0aGF0IGNhc2UuCisKKyMgVGhpcyBzY3JpcHQgaXMgQ29weXJpZ2h0IChDKSAxOTk4IGJ5IFJpY2hhcmQgQnJhYWttYW4gPGRhcmtAeHM0YWxsLm5sPi4KKworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisjIGFyZSBtZXQ6CisjIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorIyAzLiBUaGUgbmFtZSBvZiB0aGUgYXV0aG9yIG1heSBub3QgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMKKyMgICAgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIEFVVEhPUiBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SCisjIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMKKyMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4KKyMgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAorIyBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQKKyMgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorIyBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyMgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyMgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyMKKyMJJElkJAorCitteSAldW5maW5pc2hlZDsKKworIyBTY2FsZXMgZm9yIHN0cmFjZSBzbG93ZG93bi4gIE1ha2UgY29uZmlndXJhYmxlIQorbXkgJHNjYWxlX2ZhY3RvciA9IDMuNTsKKword2hpbGUgKDw+KSB7CisgICAgbXkgKCRwaWQsICRjYWxsLCAkYXJncywgJHJlc3VsdCwgJHRpbWUpOworICAgIGNob3A7CisKKyAgICBzL14oXGQrKVxzKy8vOworICAgICRwaWQgPSAkMTsKKworICAgIGlmIChzL14oXGRcZCk6KFxkXGQpOihcZFxkKSg/OlwuKFxkXGRcZFxkXGRcZCkpPyAvLykgeworCSR0aW1lID0gJDEgKiAzNjAwICsgJDIgKiA2MCArICQzOworCWlmIChkZWZpbmVkICQ0KSB7CisJICAgICR0aW1lID0gJHRpbWUgKyAkNCAvIDEwMDAwMDA7CisJICAgICRmbG9hdGZvcm0gPSAxOworCX0KKyAgICB9IGVsc2lmIChzL14oXGQrKVwuKFxkXGRcZFxkXGRcZCkgLy8pIHsKKwkkdGltZSA9ICQxICsgKCQyIC8gMTAwMDAwMCk7CisJJGZsb2F0Zm9ybSA9IDE7CisgICAgfQorCisgICAgaWYgKHMvIDx1bmZpbmlzaGVkIC4uLj4kLy8pIHsKKwkkdW5maW5pc2hlZHskcGlkfSA9ICRfOworCW5leHQ7CisgICAgfQorCisgICAgaWYgKHMvXjwuLi4gXFMrIHJlc3VtZWQ+IC8vKSB7CisJdW5sZXNzIChleGlzdHMgJHVuZmluaXNoZWR7JHBpZH0pIHsKKwkgICAgcHJpbnQgU1RERVJSICIkMDogJEFSR1Y6IGNhbm5vdCBmaW5kIHN0YXJ0IG9mIHJlc3VtZWQgY2FsbCBvbiBsaW5lICQuIjsKKwkgICAgbmV4dDsKKwl9CisJJF8gPSAkdW5maW5pc2hlZHskcGlkfSAuICRfOworCWRlbGV0ZSAkdW5maW5pc2hlZHskcGlkfTsKKyAgICB9CisKKyAgICBpZiAoL14tLS0gU0lHKFxTKykgXCguKlwpIC0tLSQvKSB7CisJIyAkcGlkIHJlY2VpdmVkIHNpZ25hbCAkMQorCSMgY3VycmVudGx5IHdlIGRvbid0IGRvIGFueXRoaW5nIHdpdGggdGhpcworCW5leHQ7CisgICAgfQorCisgICAgaWYgKC9eXCtcK1wrIGtpbGxlZCBieSBTSUcoXFMrKSBcK1wrXCskLykgeworCSMgJHBpZCByZWNlaXZlZCBzaWduYWwgJDEKKwloYW5kbGVfa2lsbGVkKCRwaWQsICR0aW1lKTsKKwluZXh0OworICAgIH0KKworICAgICgkY2FsbCwgJGFyZ3MsICRyZXN1bHQpID0gLyhcUyspXCgoLiopXClccys9ICguKikkLzsKKyAgICB1bmxlc3MgKGRlZmluZWQgJHJlc3VsdCkgeworCXByaW50IFNUREVSUiAiJDA6ICRBUkdWOiAkLjogY2Fubm90IHBhcnNlIGxpbmUuXG4iOworCW5leHQ7CisgICAgfQorCisgICAgaGFuZGxlX3RyYWNlKCRwaWQsICRjYWxsLCAkYXJncywgJHJlc3VsdCwgJHRpbWUpOworfQorCitkaXNwbGF5X3RyYWNlKCk7CisKK2V4aXQgMDsKKworc3ViIHBhcnNlX3N0ciB7CisgICAgbXkgKCRpbikgPSBAXzsKKyAgICBteSAkcmVzdWx0ID0gIiI7CisKKyAgICB3aGlsZSAoMSkgeworCWlmICgkaW4gPX4gcy9eXFwoLikvLykgeworCSAgICAkcmVzdWx0IC49ICQxOworCX0gZWxzaWYgKCRpbiA9fiBzL15cIi8vKSB7CisJICAgIGlmICgkaW4gPX4gcy9eXC5cLlwuLy8pIHsKKwkJcmV0dXJuICgiJHJlc3VsdC4uLiIsICRpbik7CisJICAgIH0KKwkgICAgcmV0dXJuICgkcmVzdWx0LCAkaW4pOworCX0gZWxzaWYgKCRpbiA9fiBzLyhbXlxcXCJdKikvLykgeworCSAgICAkcmVzdWx0IC49ICQxOworCX0gZWxzZSB7CisJICAgIHJldHVybiAodW5kZWYsICRpbik7CisJfQorICAgIH0KK30KKworc3ViIHBhcnNlX29uZSB7CisgICAgbXkgKCRpbikgPSBAXzsKKworICAgIGlmICgkaW4gPX4gcy9eXCIvLykgeworCSgkdG1wLCAkaW4pID0gcGFyc2Vfc3RyKCRpbik7CisJaWYgKG5vdCBkZWZpbmVkICR0bXApIHsKKwkgICAgcHJpbnQgU1RERVJSICIkMDogJEFSR1Y6ICQuOiBjYW5ub3QgcGFyc2Ugc3RyaW5nLlxuIjsKKwkgICAgcmV0dXJuICh1bmRlZiwgJGluKTsKKwl9CisJcmV0dXJuICgkdG1wLCAkaW4pOworICAgIH0gZWxzaWYgKCRpbiA9fiBzL14weChceCspLy8pIHsKKwlyZXR1cm4gKGhleCAkMSwgJGluKTsKKyAgICB9IGVsc2lmICgkaW4gPX4gcy9eKFxkKykvLykgeworCXJldHVybiAoaW50ICQxLCAkaW4pOworICAgIH0gZWxzZSB7CisJcHJpbnQgU1RERVJSICIkMDogJEFSR1Y6ICQuOiB1bnJlY29nbml6ZWQgZWxlbWVudC5cbiI7CisJcmV0dXJuICh1bmRlZiwgJGluKTsKKyAgICB9Cit9CisKK3N1YiBwYXJzZWFyZ3MgeworICAgIG15ICgkaW4pID0gQF87CisgICAgbXkgQGFyZ3MgPSAoKTsKKyAgICBteSAkdG1wOworCisgICAgd2hpbGUgKGxlbmd0aCAkaW4pIHsKKwlpZiAoJGluID1+IHMvXlxbLy8pIHsKKwkgICAgbXkgQHN1YmFyciA9ICgpOworCSAgICBpZiAoJGluID1+IHMsXi9cKiAoXGQrKSB2YXJzIFwqL1xdLCwpIHsKKwkJcHVzaCBAYXJncywgJDE7CisJICAgIH0gZWxzZSB7CisJCXdoaWxlICgkaW4gIX4gcy9eXF0vLykgeworCQkgICAgKCR0bXAsICRpbikgPSBwYXJzZV9vbmUoJGluKTsKKwkJICAgIGRlZmluZWQgJHRtcCBvciByZXR1cm4gdW5kZWY7CisJCSAgICBwdXNoIEBzdWJhcnIsICR0bXA7CisJCSAgICB1bmxlc3MgKCRpbiA9fiAvXlxdLyBvciAkaW4gPX4gcy9eLCAvLykgeworCQkJcHJpbnQgU1RERVJSICIkMDogJEFSR1Y6ICQuOiBtaXNzaW5nIGNvbW1hIGluIGFycmF5LlxuIjsKKwkJCXJldHVybiB1bmRlZjsKKwkJICAgIH0KKwkJICAgIGlmICgkaW4gPX4gcy9eXC5cLlwuLy8pIHsKKwkJCXB1c2ggQHN1YmFyciwgIi4uLiI7CisJCSAgICB9CisJCX0KKwkJcHVzaCBAYXJncywgXEBzdWJhcnI7CisJICAgIH0KKwl9IGVsc2lmICgkaW4gPX4gcy9eXHsvLykgeworCSAgICBteSAlc3ViaGFzaCA9ICgpOworCSAgICB3aGlsZSAoJGluICF+IHMvXlx9Ly8pIHsKKwkJbXkgJGtleTsKKwkJdW5sZXNzICgkaW4gPX4gcy9eKFx3Kyk9Ly8pIHsKKwkJICAgIHByaW50IFNUREVSUiAiJDA6ICRBUkdWOiAkLjogc3RydWN0IGZpZWxkIGV4cGVjdGVkLlxuIjsKKwkJICAgIHJldHVybiB1bmRlZjsKKwkJfQorCQkka2V5ID0gJDE7CisJCSgkdG1wLCAkaW4pID0gcGFyc2Vfb25lKCRpbik7CisJCWRlZmluZWQgJHRtcCBvciByZXR1cm4gdW5kZWY7CisJCSRzdWJoYXNoeyRrZXl9ID0gJHRtcDsKKwkJdW5sZXNzICgkaW4gPX4gcy8sIC8vKSB7CisJCSAgICBwcmludCBTVERFUlIgIiQwOiAkQVJHVjogJC46IG1pc3NpbmcgY29tbWEgaW4gc3RydWN0LlxuIjsKKwkJICAgIHJldHVybiB1bmRlZjsKKwkJfQorCSAgICB9CisJICAgIHB1c2ggQGFyZ3MsIFwlc3ViaGFzaDsKKwl9IGVsc2UgeworCSAgICAoJHRtcCwgJGluKSA9IHBhcnNlX29uZSgkaW4pOworCSAgICBkZWZpbmVkICR0bXAgb3IgcmV0dXJuIHVuZGVmOworCSAgICBwdXNoIEBhcmdzLCAkdG1wOworCX0KKwl1bmxlc3MgKGxlbmd0aCgkaW4pID09IDAgb3IgJGluID1+IHMvXiwgLy8pIHsKKwkgICAgcHJpbnQgU1RERVJSICIkMDogJEFSR1Y6ICQuOiBtaXNzaW5nIGNvbW1hLlxuIjsKKwkgICAgcmV0dXJuIHVuZGVmOworCX0KKyAgICB9CisgICAgcmV0dXJuIEBhcmdzOworfQorCisKK215ICRkZXB0aCA9ICIiOworCisjIHByb2Nlc3MgaW5mbywgaW5kZXhlZCBieSBwaWQuCisjIGZpZWxkczoKKyMgICAgcGFyZW50ICAgICAgICAgcGlkIG51bWJlcgorIyAgICBzZXEgICAgICAgICAgICBmb3JrcyBhbmQgZXhlY3MgZm9yIHRoaXMgcGlkLCBpbiBzZXF1ZW5jZSAgKGFycmF5KQorCisjICBmaWxlbmFtZSBhbmQgYXJndiAoZnJvbSBsYXRlc3QgZXhlYykKKyMgIGJhc2VuYW1lIChkZXJpdmVkIGZyb20gZmlsZW5hbWUpCisjIGFyZ3ZbMF0gaXMgbW9kaWZpZWQgdG8gYWRkIHRoZSBiYXNlbmFtZSBpZiBpdCBkaWZmZXJzIGZyb20gdGhlIDB0aCBhcmd1bWVudC4KKworbXkgJXByOworCitzdWIgaGFuZGxlX3RyYWNlIHsKKyAgICBteSAoJHBpZCwgJGNhbGwsICRhcmdzLCAkcmVzdWx0LCAkdGltZSkgPSBAXzsKKyAgICBteSAkcDsKKworICAgIGlmIChkZWZpbmVkICR0aW1lIGFuZCBub3QgZGVmaW5lZCAkcHJ7JHBpZH17c3RhcnR9KSB7CisJJHByeyRwaWR9e3N0YXJ0fSA9ICR0aW1lOworICAgIH0KKworICAgIGlmICgkY2FsbCBlcSAnZXhlY3ZlJykgeworCXJldHVybiBpZiAkcmVzdWx0ICE9IDA7CisKKwlteSAoJGZpbGVuYW1lLCAkYXJndikgPSBwYXJzZWFyZ3MoJGFyZ3MpOworCSgkYmFzZW5hbWUpID0gJGZpbGVuYW1lID1+IG0vKFteXC9dKikkLzsKKwlpZiAoJGJhc2VuYW1lIG5lICQkYXJndlswXSkgeworCSAgICAkJGFyZ3ZbMF0gPSAiJGJhc2VuYW1lKCQkYXJndlswXSkiOworICAgICAgICB9CisJbXkgJHNlcSA9ICRwcnskcGlkfXtzZXF9OworCSRzZXEgPSBbXSBpZiBub3QgZGVmaW5lZCAkc2VxOworCisJcHVzaCBAJHNlcSwgWydFWEVDJywgJGZpbGVuYW1lLCAkYXJndl07CisKKwkkcHJ7JHBpZH17c2VxfSA9ICRzZXE7CisgICAgfSBlbHNpZiAoJGNhbGwgZXEgJ2ZvcmsnIHx8ICRjYWxsIGVxICdjbG9uZScgfHwgJGNhbGwgZXEgJ3Zmb3JrJykgeworCXJldHVybiBpZiAkcmVzdWx0ID09IDA7CisKKwlteSAkc2VxID0gJHByeyRwaWR9e3NlcX07CisJJHNlcSA9IFtdIGlmIG5vdCBkZWZpbmVkICRzZXE7CisJcHVzaCBAJHNlcSwgWydGT1JLJywgJHJlc3VsdF07CisJJHByeyRwaWR9e3NlcX0gPSAkc2VxOworCSRwcnskcmVzdWx0fXtwYXJlbnR9ID0gJHBpZDsKKyAgICB9IGVsc2lmICgkY2FsbCBlcSAnX2V4aXQnKSB7CisJJHByeyRwaWR9e2VuZH0gPSAkdGltZSBpZiBkZWZpbmVkICR0aW1lOworICAgIH0KK30KKworc3ViIGhhbmRsZV9raWxsZWQgeworICAgIG15ICgkcGlkLCAkdGltZSkgPSBAXzsKKyAgICAkcHJ7JHBpZH17ZW5kfSA9ICR0aW1lIGlmIGRlZmluZWQgJHRpbWU7Cit9CisKK3N1YiBzdHJhaWdodF9zZXEgeworICAgIG15ICgkcGlkKSA9IEBfOworICAgIG15ICRzZXEgPSAkcHJ7JHBpZH17c2VxfTsKKworICAgIGZvciAkZWxlbSAoQCRzZXEpIHsKKwlpZiAoJCRlbGVtWzBdIGVxICdFWEVDJykgeworCSAgICBteSAkYXJndiA9ICQkZWxlbVsyXTsKKwkgICAgcHJpbnQgIiQkZWxlbVswXSAkJGVsZW1bMV0gQCRhcmd2XG4iOworCX0gZWxzaWYgKCQkZWxlbVswXSBlcSAnRk9SSycpIHsKKwkgICAgcHJpbnQgIiQkZWxlbVswXSAkJGVsZW1bMV1cbiI7CisJfSBlbHNlIHsKKwkgICAgcHJpbnQgIiQkZWxlbVswXVxuIjsKKwl9CisgICAgfQorfQorCitzdWIgZmlyc3RfZXhlYyB7CisgICAgbXkgKCRwaWQpID0gQF87CisgICAgbXkgJHNlcSA9ICRwcnskcGlkfXtzZXF9OworCisgICAgZm9yICRlbGVtIChAJHNlcSkgeworCWlmICgkJGVsZW1bMF0gZXEgJ0VYRUMnKSB7CisJICAgIHJldHVybiAkZWxlbTsKKwl9CisgICAgfQorICAgIHJldHVybiB1bmRlZjsKK30KKworc3ViIGRpc3BsYXlfcGlkX3RyYWNlIHsKKyAgICBteSAoJHBpZCwgJGxlYWQpID0gQF87CisgICAgbXkgJGkgPSAwOworICAgIG15IEBzZXEgPSBAeyRwcnskcGlkfXtzZXF9fTsKKyAgICBteSAkZWxhcHNlZDsKKworICAgIGlmIChub3QgZGVmaW5lZCBmaXJzdF9leGVjKCRwaWQpKSB7CisJdW5zaGlmdCBAc2VxLCBbJ0VYRUMnLCAnJywgWycoYW5vbiknXSBdOworICAgIH0KKworICAgIGlmIChkZWZpbmVkICRwcnskcGlkfXtzdGFydH0gYW5kIGRlZmluZWQgJHByeyRwaWR9e2VuZH0pIHsKKwkkZWxhcHNlZCA9ICRwcnskcGlkfXtlbmR9IC0gJHByeyRwaWR9e3N0YXJ0fTsKKwkkZWxhcHNlZCAvPSAkc2NhbGVfZmFjdG9yOworCWlmICgkZmxvYXRmb3JtKSB7CisJICAgICRlbGFwc2VkID0gc3ByaW50ZigiJTAuMDJmIiwgJGVsYXBzZWQpOworCX0gZWxzZSB7CisJICAgICRlbGFwc2VkID0gaW50ICRlbGFwc2VkOworCX0KKyAgICB9CisKKyAgICBmb3IgJGVsZW0gKEBzZXEpIHsKKwkkaSsrOworCWlmICgkJGVsZW1bMF0gZXEgJ0VYRUMnKSB7CisJICAgIG15ICRhcmd2ID0gJCRlbGVtWzJdOworCSAgICBpZiAoZGVmaW5lZCAkZWxhcHNlZCkgeworCQlwcmludCAiJGxlYWQgWyRlbGFwc2VkXSBAJGFyZ3ZcbiI7CisJCXVuZGVmICRlbGFwc2VkOworCSAgICB9IGVsc2UgeworCQlwcmludCAiJGxlYWQgQCRhcmd2XG4iOworCSAgICB9CisJfSBlbHNpZiAoJCRlbGVtWzBdIGVxICdGT1JLJykgeworCSAgICBpZiAoJGkgPT0gMSkgeworICAgICAgICAgICAgICAgIGlmICgkbGVhZCA9fiAvLSQvKSB7CisJCSAgICBkaXNwbGF5X3BpZF90cmFjZSgkJGVsZW1bMV0sICIkbGVhZC0tKy0tIik7CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKwkJICAgIGRpc3BsYXlfcGlkX3RyYWNlKCQkZWxlbVsxXSwgIiRsZWFkICArLS0iKTsKKyAgICAgICAgICAgICAgICB9CisJICAgIH0gZWxzaWYgKCRpID09IEBzZXEpIHsKKwkJZGlzcGxheV9waWRfdHJhY2UoJCRlbGVtWzFdLCAiJGxlYWQgIGAtLSIpOworCSAgICB9IGVsc2UgeworCQlkaXNwbGF5X3BpZF90cmFjZSgkJGVsZW1bMV0sICIkbGVhZCAgKy0tIik7CisJICAgIH0KKwl9CisJaWYgKCRpID09IDEpIHsKKwkgICAgJGxlYWQgPX4gcy9cYC0tLyAgIC9nOworCSAgICAkbGVhZCA9fiBzLy0vIC9nOworCSAgICAkbGVhZCA9fiBzL1wrL3wvZzsKKwl9CisgICAgfQorfQorCitzdWIgZGlzcGxheV90cmFjZSB7CisgICAgbXkgKCRzdGFydHBpZCkgPSBAXzsKKworICAgICRzdGFydHBpZCA9IChrZXlzICVwcilbMF07CisgICAgd2hpbGUgKCRwcnskc3RhcnRwaWR9e3BhcmVudH0pIHsKKwkkc3RhcnRwaWQgPSAkcHJ7JHN0YXJ0cGlkfXtwYXJlbnR9OworICAgIH0KKworICAgIGRpc3BsYXlfcGlkX3RyYWNlKCRzdGFydHBpZCwgIiIpOworfQpkaWZmIC0tZ2l0IGEvc3RyYWNlLTQuNS4yMC9zdHJhY2UuMSBiL3N0cmFjZS00LjUuMjAvc3RyYWNlLjEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTk4YjlmOQotLS0gL2Rldi9udWxsCisrKyBiL3N0cmFjZS00LjUuMjAvc3RyYWNlLjEKQEAgLTAsMCArMSw3MzAgQEAKKy5cIiBDb3B5cmlnaHQgKGMpIDE5OTEsIDE5OTIgUGF1bCBLcmFuZW5idXJnIDxwa0Bjcy5mZXcuZXVyLm5sPgorLlwiIENvcHlyaWdodCAoYykgMTk5MyBCcmFua28gTGFua2VzdGVyIDxicmFua29AaGFja3RpYy5ubD4KKy5cIiBDb3B5cmlnaHQgKGMpIDE5OTMsIDE5OTQsIDE5OTUsIDE5OTYgUmljayBTbGFka2V5IDxqcnNAd29ybGQuc3RkLmNvbT4KKy5cIiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLlwiCisuXCIgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisuXCIgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisuXCIgYXJlIG1ldDoKKy5cIiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorLlwiICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKy5cIiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorLlwiICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKy5cIiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorLlwiIDMuIFRoZSBuYW1lIG9mIHRoZSBhdXRob3IgbWF5IG5vdCBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cworLlwiICAgIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLlwiCisuXCIgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQVVUSE9SIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1MgT1IKKy5cIiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCisuXCIgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4KKy5cIiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCisuXCIgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUCisuXCIgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorLlwiIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorLlwiIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKy5cIiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKy5cIiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorLlwiCisuXCIJJElkJAorLlwiCisuZGUgQ1cKKy5zcAorLm5mCisuZnQgQ1cKKy4uCisuZGUgQ0UKKy5mdCBSCisuZmkKKy5zcAorLi4KKy5USCBTVFJBQ0UgMSAiMjAxMC0wMy0zMCIKKy5TSCBOQU1FCitzdHJhY2UgXC0gdHJhY2Ugc3lzdGVtIGNhbGxzIGFuZCBzaWduYWxzCisuU0ggU1lOT1BTSVMKKy5CIHN0cmFjZQorWworLkIgXC1DZGZmaGlxcnR0dFR2eHgKK10KK1sKKy5CSSBcLWEgY29sdW1uCitdCitbCisuQkkgXC1lIGV4cHIKK10KK1wmLi4uCitbCisuQkkgXC1vIGZpbGUKK10KK1sKKy5CSSBcLXAgcGlkCitdCitcJi4uLgorWworLkJJIFwtcyBzdHJzaXplCitdCitbCisuQkkgXC11IHVzZXJuYW1lCitdCitbCisuQkkgXC1FIHZhcj12YWwKK10KK1wmLi4uCitbCisuQkkgXC1FIHZhcgorXQorXCYuLi4KK1sKKy5JIGNvbW1hbmQKK1sKKy5JIGFyZworXCYuLi4KK10KK10KKy5zcAorLkIgc3RyYWNlCisuQiBcLWMKK1sKKy5CSSBcLWUgZXhwcgorXQorXCYuLi4KK1sKKy5CSSBcLU8gb3ZlcmhlYWQKK10KK1sKKy5CSSBcLVMgc29ydGJ5CitdCitbCisuSSBjb21tYW5kCitbCisuSSBhcmcKK1wmLi4uCitdCitdCisuU0ggREVTQ1JJUFRJT04KKy5JWCAic3RyYWNlIGNvbW1hbmQiICIiICJcZkxzdHJhY2VcZlIgY29tbWFuZCIKKy5MUAorSW4gdGhlIHNpbXBsZXN0IGNhc2UKKy5CIHN0cmFjZQorcnVucyB0aGUgc3BlY2lmaWVkCisuSSBjb21tYW5kCit1bnRpbCBpdCBleGl0cy4KK0l0IGludGVyY2VwdHMgYW5kIHJlY29yZHMgdGhlIHN5c3RlbSBjYWxscyB3aGljaCBhcmUgY2FsbGVkCitieSBhIHByb2Nlc3MgYW5kIHRoZSBzaWduYWxzIHdoaWNoIGFyZSByZWNlaXZlZCBieSBhIHByb2Nlc3MuCitUaGUgbmFtZSBvZiBlYWNoIHN5c3RlbSBjYWxsLCBpdHMgYXJndW1lbnRzIGFuZCBpdHMgcmV0dXJuIHZhbHVlCithcmUgcHJpbnRlZCBvbiBzdGFuZGFyZCBlcnJvciBvciB0byB0aGUgZmlsZSBzcGVjaWZpZWQgd2l0aCB0aGUKKy5CIFwtbworb3B0aW9uLgorLkxQCisuQiBzdHJhY2UKK2lzIGEgdXNlZnVsIGRpYWdub3N0aWMsIGluc3RydWN0aW9uYWwsIGFuZCBkZWJ1Z2dpbmcgdG9vbC4KK1N5c3RlbSBhZG1pbmlzdHJhdG9ycywgZGlhZ25vc3RpY2lhbnMgYW5kIHRyb3VibGUtc2hvb3RlcnMgd2lsbCBmaW5kCitpdCBpbnZhbHVhYmxlIGZvciBzb2x2aW5nIHByb2JsZW1zIHdpdGgKK3Byb2dyYW1zIGZvciB3aGljaCB0aGUgc291cmNlIGlzIG5vdCByZWFkaWx5IGF2YWlsYWJsZSBzaW5jZQordGhleSBkbyBub3QgbmVlZCB0byBiZSByZWNvbXBpbGVkIGluIG9yZGVyIHRvIHRyYWNlIHRoZW0uCitTdHVkZW50cywgaGFja2VycyBhbmQgdGhlIG92ZXJseS1jdXJpb3VzIHdpbGwgZmluZCB0aGF0CithIGdyZWF0IGRlYWwgY2FuIGJlIGxlYXJuZWQgYWJvdXQgYSBzeXN0ZW0gYW5kIGl0cyBzeXN0ZW0gY2FsbHMgYnkKK3RyYWNpbmcgZXZlbiBvcmRpbmFyeSBwcm9ncmFtcy4gIEFuZCBwcm9ncmFtbWVycyB3aWxsIGZpbmQgdGhhdAorc2luY2Ugc3lzdGVtIGNhbGxzIGFuZCBzaWduYWxzIGFyZSBldmVudHMgdGhhdCBoYXBwZW4gYXQgdGhlIHVzZXIva2VybmVsCitpbnRlcmZhY2UsIGEgY2xvc2UgZXhhbWluYXRpb24gb2YgdGhpcyBib3VuZGFyeSBpcyB2ZXJ5Cit1c2VmdWwgZm9yIGJ1ZyBpc29sYXRpb24sIHNhbml0eSBjaGVja2luZyBhbmQKK2F0dGVtcHRpbmcgdG8gY2FwdHVyZSByYWNlIGNvbmRpdGlvbnMuCisuTFAKK0VhY2ggbGluZSBpbiB0aGUgdHJhY2UgY29udGFpbnMgdGhlIHN5c3RlbSBjYWxsIG5hbWUsIGZvbGxvd2VkCitieSBpdHMgYXJndW1lbnRzIGluIHBhcmVudGhlc2VzIGFuZCBpdHMgcmV0dXJuIHZhbHVlLgorQW4gZXhhbXBsZSBmcm9tIHN0cmFjaW5nIHRoZSBjb21tYW5kIGBgY2F0IC9kZXYvbnVsbCcnIGlzOgorLkNXCitvcGVuKCIvZGV2L251bGwiLCBPX1JET05MWSkgPSAzCisuQ0UKK0Vycm9ycyAodHlwaWNhbGx5IGEgcmV0dXJuIHZhbHVlIG9mIFwtMSkgaGF2ZSB0aGUgZXJybm8gc3ltYm9sCithbmQgZXJyb3Igc3RyaW5nIGFwcGVuZGVkLgorLkNXCitvcGVuKCIvZm9vL2JhciIsIE9fUkRPTkxZKSA9IC0xIEVOT0VOVCAoTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeSkKKy5DRQorU2lnbmFscyBhcmUgcHJpbnRlZCBhcyBhIHNpZ25hbCBzeW1ib2wgYW5kIGEgc2lnbmFsIHN0cmluZy4KK0FuIGV4Y2VycHQgZnJvbSBzdHJhY2luZyBhbmQgaW50ZXJydXB0aW5nIHRoZSBjb21tYW5kIGBgc2xlZXAgNjY2JycgaXM6CisuQ1cKK3NpZ3N1c3BlbmQoW10gPHVuZmluaXNoZWQgLi4uPgorLS0tIFNJR0lOVCAoSW50ZXJydXB0KSAtLS0KKysrKyBraWxsZWQgYnkgU0lHSU5UICsrKworLkNFCitJZiBhIHN5c3RlbSBjYWxsIGlzIGJlaW5nIGV4ZWN1dGVkIGFuZCBtZWFud2hpbGUgYW5vdGhlciBvbmUgaXMgYmVpbmcgY2FsbGVkCitmcm9tIGEgZGlmZmVyZW50IHRocmVhZC9wcm9jZXNzIHRoZW4KKy5CIHN0cmFjZQord2lsbCB0cnkgdG8gcHJlc2VydmUgdGhlIG9yZGVyIG9mIHRob3NlIGV2ZW50cyBhbmQgbWFyayB0aGUgb25nb2luZyBjYWxsIGFzCitiZWluZworLklSIHVuZmluaXNoZWQgLgorV2hlbiB0aGUgY2FsbCByZXR1cm5zIGl0IHdpbGwgYmUgbWFya2VkIGFzCisuSVIgcmVzdW1lZCAuCisuQ1cKK1twaWQgMjg3NzJdIHNlbGVjdCg0LCBbM10sIE5VTEwsIE5VTEwsIE5VTEwgPHVuZmluaXNoZWQgLi4uPgorW3BpZCAyODc3OV0gY2xvY2tfZ2V0dGltZShDTE9DS19SRUFMVElNRSwgezExMzAzMjIxNDgsIDkzOTk3NzAwMH0pID0gMAorW3BpZCAyODc3Ml0gPC4uLiBzZWxlY3QgcmVzdW1lZD4gKSAgICAgID0gMSAoaW4gWzNdKQorLkNFCitJbnRlcnJ1cHRpb24gb2YgYSAocmVzdGFydGFibGUpIHN5c3RlbSBjYWxsIGJ5IGEgc2lnbmFsIGRlbGl2ZXJ5IGlzIHByb2Nlc3NlZAorZGlmZmVyZW50bHkgYXMga2VybmVsIHRlcm1pbmF0ZXMgdGhlIHN5c3RlbSBjYWxsIGFuZCBhbHNvIGFycmFuZ2VzIGl0cworaW1tZWRpYXRlIHJlZXhlY3V0aW9uIGFmdGVyIHRoZSBzaWduYWwgaGFuZGxlciBjb21wbGV0ZXMuCisuQ1cKK3JlYWQoMCwgMHg3ZmZmZjcyY2Y1Y2YsIDEpICAgICAgICAgICAgICA9ID8gRVJFU1RBUlRTWVMgKFRvIGJlIHJlc3RhcnRlZCkKKy0tLSBTSUdBTFJNIChBbGFybSBjbG9jaykgQCAwICgwKSAtLS0KK3J0X3NpZ3JldHVybigweGUpICAgICAgICAgICAgICAgICAgICAgICA9IDAKK3JlYWQoMCwgIiIuLi4sIDEpICAgICAgICAgICAgICAgICAgICAgICA9IDAKKy5DRQorQXJndW1lbnRzIGFyZSBwcmludGVkIGluIHN5bWJvbGljIGZvcm0gd2l0aCBhIHBhc3Npb24uCitUaGlzIGV4YW1wbGUgc2hvd3MgdGhlIHNoZWxsIHBlcmZvcm1pbmcgYGA+Pnh5enp5Jycgb3V0cHV0IHJlZGlyZWN0aW9uOgorLkNXCitvcGVuKCJ4eXp6eSIsIE9fV1JPTkxZfE9fQVBQRU5EfE9fQ1JFQVQsIDA2NjYpID0gMworLkNFCitIZXJlIHRoZSB0aHJlZSBhcmd1bWVudCBmb3JtIG9mIG9wZW4gaXMgZGVjb2RlZCBieSBicmVha2luZyBkb3duIHRoZQorZmxhZyBhcmd1bWVudCBpbnRvIGl0cyB0aHJlZSBiaXR3aXNlLU9SIGNvbnN0aXR1ZW50cyBhbmQgcHJpbnRpbmcgdGhlCittb2RlIHZhbHVlIGluIG9jdGFsIGJ5IHRyYWRpdGlvbi4gIFdoZXJlIHRyYWRpdGlvbmFsIG9yIG5hdGl2ZQordXNhZ2UgZGlmZmVycyBmcm9tIEFOU0kgb3IgUE9TSVgsIHRoZSBsYXR0ZXIgZm9ybXMgYXJlIHByZWZlcnJlZC4KK0luIHNvbWUgY2FzZXMsCisuQiBzdHJhY2UKK291dHB1dCBoYXMgcHJvdmVuIHRvIGJlIG1vcmUgcmVhZGFibGUgdGhhbiB0aGUgc291cmNlLgorLkxQCitTdHJ1Y3R1cmUgcG9pbnRlcnMgYXJlIGRlcmVmZXJlbmNlZCBhbmQgdGhlIG1lbWJlcnMgYXJlIGRpc3BsYXllZAorYXMgYXBwcm9wcmlhdGUuICBJbiBhbGwgY2FzZXMgYXJndW1lbnRzIGFyZSBmb3JtYXR0ZWQgaW4gdGhlIG1vc3QgQy1saWtlCitmYXNoaW9uIHBvc3NpYmxlLgorRm9yIGV4YW1wbGUsIHRoZSBlc3NlbmNlIG9mIHRoZSBjb21tYW5kIGBgbHMgXC1sIC9kZXYvbnVsbCcnIGlzIGNhcHR1cmVkIGFzOgorLkNXCitsc3RhdCgiL2Rldi9udWxsIiwge3N0X21vZGU9U19JRkNIUnwwNjY2LCBzdF9yZGV2PW1ha2VkZXYoMSwgMyksIC4uLn0pID0gMAorLkNFCitOb3RpY2UgaG93IHRoZSBgc3RydWN0IHN0YXQnIGFyZ3VtZW50IGlzIGRlcmVmZXJlbmNlZCBhbmQgaG93IGVhY2ggbWVtYmVyIGlzCitkaXNwbGF5ZWQgc3ltYm9saWNhbGx5LiAgSW4gcGFydGljdWxhciwgb2JzZXJ2ZSBob3cgdGhlIHN0X21vZGUgbWVtYmVyCitpcyBjYXJlZnVsbHkgZGVjb2RlZCBpbnRvIGEgYml0d2lzZS1PUiBvZiBzeW1ib2xpYyBhbmQgbnVtZXJpYyB2YWx1ZXMuCitBbHNvIG5vdGljZSBpbiB0aGlzIGV4YW1wbGUgdGhhdCB0aGUgZmlyc3QgYXJndW1lbnQgdG8gbHN0YXQgaXMgYW4gaW5wdXQKK3RvIHRoZSBzeXN0ZW0gY2FsbCBhbmQgdGhlIHNlY29uZCBhcmd1bWVudCBpcyBhbiBvdXRwdXQuICBTaW5jZSBvdXRwdXQKK2FyZ3VtZW50cyBhcmUgbm90IG1vZGlmaWVkIGlmIHRoZSBzeXN0ZW0gY2FsbCBmYWlscywgYXJndW1lbnRzIG1heSBub3QKK2Fsd2F5cyBiZSBkZXJlZmVyZW5jZWQuICBGb3IgZXhhbXBsZSwgcmV0cnlpbmcgdGhlIGBgbHMgXC1sJycgZXhhbXBsZQord2l0aCBhIG5vbi1leGlzdGVudCBmaWxlIHByb2R1Y2VzIHRoZSBmb2xsb3dpbmcgbGluZToKKy5DVworbHN0YXQoIi9mb28vYmFyIiwgMHhiMDA0KSA9IC0xIEVOT0VOVCAoTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeSkKKy5DRQorSW4gdGhpcyBjYXNlIHRoZSBwb3JjaCBsaWdodCBpcyBvbiBidXQgbm9ib2R5IGlzIGhvbWUuCisuTFAKK0NoYXJhY3RlciBwb2ludGVycyBhcmUgZGVyZWZlcmVuY2VkIGFuZCBwcmludGVkIGFzIEMgc3RyaW5ncy4KK05vbi1wcmludGluZyBjaGFyYWN0ZXJzIGluIHN0cmluZ3MgYXJlIG5vcm1hbGx5IHJlcHJlc2VudGVkIGJ5CitvcmRpbmFyeSBDIGVzY2FwZSBjb2Rlcy4KK09ubHkgdGhlIGZpcnN0CisuSSBzdHJzaXplCisoMzIgYnkgZGVmYXVsdCkgYnl0ZXMgb2Ygc3RyaW5ncyBhcmUgcHJpbnRlZDsKK2xvbmdlciBzdHJpbmdzIGhhdmUgYW4gZWxsaXBzaXMgYXBwZW5kZWQgZm9sbG93aW5nIHRoZSBjbG9zaW5nIHF1b3RlLgorSGVyZSBpcyBhIGxpbmUgZnJvbSBgYGxzIFwtbCcnIHdoZXJlIHRoZQorLkIgZ2V0cHd1aWQKK2xpYnJhcnkgcm91dGluZSBpcyByZWFkaW5nIHRoZSBwYXNzd29yZCBmaWxlOgorLkNXCityZWFkKDMsICJyb290OjowOjA6U3lzdGVtIEFkbWluaXN0cmF0b3I6LyIuLi4sIDEwMjQpID0gNDIyCisuQ0UKK1doaWxlIHN0cnVjdHVyZXMgYXJlIGFubm90YXRlZCB1c2luZyBjdXJseSBicmFjZXMsIHNpbXBsZSBwb2ludGVycworYW5kIGFycmF5cyBhcmUgcHJpbnRlZCB1c2luZyBzcXVhcmUgYnJhY2tldHMgd2l0aCBjb21tYXMgc2VwYXJhdGluZworZWxlbWVudHMuICBIZXJlIGlzIGFuIGV4YW1wbGUgZnJvbSB0aGUgY29tbWFuZCBgYGlkJycgb24gYSBzeXN0ZW0gd2l0aAorc3VwcGxlbWVudGFyeSBncm91cCBpZHM6CisuQ1cKK2dldGdyb3VwcygzMiwgWzEwMCwgMF0pID0gMgorLkNFCitPbiB0aGUgb3RoZXIgaGFuZCwgYml0LXNldHMgYXJlIGFsc28gc2hvd24gdXNpbmcgc3F1YXJlIGJyYWNrZXRzCitidXQgc2V0IGVsZW1lbnRzIGFyZSBzZXBhcmF0ZWQgb25seSBieSBhIHNwYWNlLiAgSGVyZSBpcyB0aGUgc2hlbGwKK3ByZXBhcmluZyB0byBleGVjdXRlIGFuIGV4dGVybmFsIGNvbW1hbmQ6CisuQ1cKK3NpZ3Byb2NtYXNrKFNJR19CTE9DSywgW0NITEQgVFRPVV0sIFtdKSA9IDAKKy5DRQorSGVyZSB0aGUgc2Vjb25kIGFyZ3VtZW50IGlzIGEgYml0LXNldCBvZiB0d28gc2lnbmFscywgU0lHQ0hMRCBhbmQgU0lHVFRPVS4KK0luIHNvbWUgY2FzZXMgdGhlIGJpdC1zZXQgaXMgc28gZnVsbCB0aGF0IHByaW50aW5nIG91dCB0aGUgdW5zZXQKK2VsZW1lbnRzIGlzIG1vcmUgdmFsdWFibGUuICBJbiB0aGF0IGNhc2UsIHRoZSBiaXQtc2V0IGlzIHByZWZpeGVkIGJ5CithIHRpbGRlIGxpa2UgdGhpczoKKy5DVworc2lncHJvY21hc2soU0lHX1VOQkxPQ0ssIH5bXSwgTlVMTCkgPSAwCisuQ0UKK0hlcmUgdGhlIHNlY29uZCBhcmd1bWVudCByZXByZXNlbnRzIHRoZSBmdWxsIHNldCBvZiBhbGwgc2lnbmFscy4KKy5TSCBPUFRJT05TCisuVFAgMTIKKy5UUAorLkIgXC1jCitDb3VudCB0aW1lLCBjYWxscywgYW5kIGVycm9ycyBmb3IgZWFjaCBzeXN0ZW0gY2FsbCBhbmQgcmVwb3J0IGEgc3VtbWFyeSBvbgorcHJvZ3JhbSBleGl0LiAgT24gTGludXgsIHRoaXMgYXR0ZW1wdHMgdG8gc2hvdyBzeXN0ZW0gdGltZSAoQ1BVIHRpbWUgc3BlbnQKK3J1bm5pbmcgaW4gdGhlIGtlcm5lbCkgaW5kZXBlbmRlbnQgb2Ygd2FsbCBjbG9jayB0aW1lLiAgSWYKKy5CIFwtYworaXMgdXNlZCB3aXRoCisuQiBcLWYKK29yCisuQiBcLUYKKyhiZWxvdyksIG9ubHkgYWdncmVnYXRlIHRvdGFscyBmb3IgYWxsIHRyYWNlZCBwcm9jZXNzZXMgYXJlIGtlcHQuCisuVFAKKy5CIFwtQworTGlrZQorLkIgXC1jCitidXQgYWxzbyBwcmludCByZWd1bGFyIG91dHB1dCB3aGlsZSBwcm9jZXNzZXMgYXJlIHJ1bm5pbmcuCisuVFAKKy5CIFwtZAorU2hvdyBzb21lIGRlYnVnZ2luZyBvdXRwdXQgb2YKKy5CIHN0cmFjZQoraXRzZWxmIG9uIHRoZSBzdGFuZGFyZCBlcnJvci4KKy5UUAorLkIgXC1mCitUcmFjZSBjaGlsZCBwcm9jZXNzZXMgYXMgdGhleSBhcmUgY3JlYXRlZCBieSBjdXJyZW50bHkgdHJhY2VkCitwcm9jZXNzZXMgYXMgYSByZXN1bHQgb2YgdGhlCisuQlIgZm9yayAoMikKK3N5c3RlbSBjYWxsLgorLklQCitPbiBub24tTGludXggcGxhdGZvcm1zIHRoZSBuZXcgcHJvY2VzcyBpcworYXR0YWNoZWQgdG8gYXMgc29vbiBhcyBpdHMgcGlkIGlzIGtub3duICh0aHJvdWdoIHRoZSByZXR1cm4gdmFsdWUgb2YKKy5CUiBmb3JrICgyKQoraW4gdGhlIHBhcmVudCBwcm9jZXNzKS4gVGhpcyBtZWFucyB0aGF0IHN1Y2ggY2hpbGRyZW4gbWF5IHJ1bgordW5jb250cm9sbGVkIGZvciBhIHdoaWxlIChlc3BlY2lhbGx5IGluIHRoZSBjYXNlIG9mIGEKKy5CUiB2Zm9yayAoMikpLAordW50aWwgdGhlIHBhcmVudCBpcyBzY2hlZHVsZWQgYWdhaW4gdG8gY29tcGxldGUgaXRzCisuUkIgKCB2ICkgZm9yayAoMikKK2NhbGwuICBPbiBMaW51eCB0aGUgY2hpbGQgaXMgdHJhY2VkIGZyb20gaXRzIGZpcnN0IGluc3RydWN0aW9uIHdpdGggbm8gZGVsYXkuCitJZiB0aGUgcGFyZW50IHByb2Nlc3MgZGVjaWRlcyB0bworLkJSIHdhaXQgKDIpCitmb3IgYSBjaGlsZCB0aGF0IGlzIGN1cnJlbnRseQorYmVpbmcgdHJhY2VkLCBpdCBpcyBzdXNwZW5kZWQgdW50aWwgYW4gYXBwcm9wcmlhdGUgY2hpbGQgcHJvY2VzcyBlaXRoZXIKK3Rlcm1pbmF0ZXMgb3IgaW5jdXJzIGEgc2lnbmFsIHRoYXQgd291bGQgY2F1c2UgaXQgdG8gdGVybWluYXRlIChhcworZGV0ZXJtaW5lZCBmcm9tIHRoZSBjaGlsZCdzIGN1cnJlbnQgc2lnbmFsIGRpc3Bvc2l0aW9uKS4KKy5JUAorT24gU3VuT1MgNC54IHRoZSB0cmFjaW5nIG9mCisuQlIgdmZvcmsgcworaXMgYWNjb21wbGlzaGVkIHdpdGggc29tZSBkeW5hbWljIGxpbmtpbmcgdHJpY2tlcnkuCisuVFAKKy5CIFwtZmYKK0lmIHRoZQorLkIgXC1vCisuSSBmaWxlbmFtZQorb3B0aW9uIGlzIGluIGVmZmVjdCwgZWFjaCBwcm9jZXNzZXMgdHJhY2UgaXMgd3JpdHRlbiB0bworLkkgZmlsZW5hbWUucGlkCit3aGVyZSBwaWQgaXMgdGhlIG51bWVyaWMgcHJvY2VzcyBpZCBvZiBlYWNoIHByb2Nlc3MuCitUaGlzIGlzIGluY29tcGF0aWJsZSB3aXRoCisuQlIgXC1jICwKK3NpbmNlIG5vIHBlci1wcm9jZXNzIGNvdW50cyBhcmUga2VwdC4KKy5UUAorLkIgXC1GCitUaGlzIG9wdGlvbiBpcyBub3cgb2Jzb2xldGUgYW5kIGl0IGhhcyB0aGUgc2FtZSBmdW5jdGlvbmFsaXR5IGFzCisuQlIgXC1mIC4KKy5UUAorLkIgXC1oCitQcmludCB0aGUgaGVscCBzdW1tYXJ5LgorLlRQCisuQiBcLWkKK1ByaW50IHRoZSBpbnN0cnVjdGlvbiBwb2ludGVyIGF0IHRoZSB0aW1lIG9mIHRoZSBzeXN0ZW0gY2FsbC4KKy5UUAorLkIgXC1xCitTdXBwcmVzcyBtZXNzYWdlcyBhYm91dCBhdHRhY2hpbmcsIGRldGFjaGluZyBldGMuICBUaGlzIGhhcHBlbnMKK2F1dG9tYXRpY2FsbHkgd2hlbiBvdXRwdXQgaXMgcmVkaXJlY3RlZCB0byBhIGZpbGUgYW5kIHRoZSBjb21tYW5kCitpcyBydW4gZGlyZWN0bHkgaW5zdGVhZCBvZiBhdHRhY2hpbmcuCisuVFAKKy5CIFwtcgorUHJpbnQgYSByZWxhdGl2ZSB0aW1lc3RhbXAgdXBvbiBlbnRyeSB0byBlYWNoIHN5c3RlbSBjYWxsLiAgVGhpcworcmVjb3JkcyB0aGUgdGltZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIGJlZ2lubmluZyBvZiBzdWNjZXNzaXZlCitzeXN0ZW0gY2FsbHMuCisuVFAKKy5CIFwtdAorUHJlZml4IGVhY2ggbGluZSBvZiB0aGUgdHJhY2Ugd2l0aCB0aGUgdGltZSBvZiBkYXkuCisuVFAKKy5CIFwtdHQKK0lmIGdpdmVuIHR3aWNlLCB0aGUgdGltZSBwcmludGVkIHdpbGwgaW5jbHVkZSB0aGUgbWljcm9zZWNvbmRzLgorLlRQCisuQiBcLXR0dAorSWYgZ2l2ZW4gdGhyaWNlLCB0aGUgdGltZSBwcmludGVkIHdpbGwgaW5jbHVkZSB0aGUgbWljcm9zZWNvbmRzCithbmQgdGhlIGxlYWRpbmcgcG9ydGlvbiB3aWxsIGJlIHByaW50ZWQgYXMgdGhlIG51bWJlcgorb2Ygc2Vjb25kcyBzaW5jZSB0aGUgZXBvY2guCisuVFAKKy5CIFwtVAorU2hvdyB0aGUgdGltZSBzcGVudCBpbiBzeXN0ZW0gY2FsbHMuIFRoaXMgcmVjb3JkcyB0aGUgdGltZQorZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSBiZWdpbm5pbmcgYW5kIHRoZSBlbmQgb2YgZWFjaCBzeXN0ZW0gY2FsbC4KKy5UUAorLkIgXC12CitQcmludCB1bmFiYnJldmlhdGVkIHZlcnNpb25zIG9mIGVudmlyb25tZW50LCBzdGF0LCB0ZXJtaW9zLCBldGMuCitjYWxscy4gIFRoZXNlIHN0cnVjdHVyZXMgYXJlIHZlcnkgY29tbW9uIGluIGNhbGxzIGFuZCBzbyB0aGUgZGVmYXVsdAorYmVoYXZpb3IgZGlzcGxheXMgYSByZWFzb25hYmxlIHN1YnNldCBvZiBzdHJ1Y3R1cmUgbWVtYmVycy4gIFVzZQordGhpcyBvcHRpb24gdG8gZ2V0IGFsbCBvZiB0aGUgZ29yeSBkZXRhaWxzLgorLlRQCisuQiBcLVYKK1ByaW50IHRoZSB2ZXJzaW9uIG51bWJlciBvZgorLkJSIHN0cmFjZSAuCisuVFAKKy5CIFwteAorUHJpbnQgYWxsIG5vbi1BU0NJSSBzdHJpbmdzIGluIGhleGFkZWNpbWFsIHN0cmluZyBmb3JtYXQuCisuVFAKKy5CIFwteHgKK1ByaW50IGFsbCBzdHJpbmdzIGluIGhleGFkZWNpbWFsIHN0cmluZyBmb3JtYXQuCisuVFAKKy5CSSAiXC1hICIgY29sdW1uCitBbGlnbiByZXR1cm4gdmFsdWVzIGluIGEgc3BlY2lmaWMgY29sdW1uIChkZWZhdWx0IGNvbHVtbiA0MCkuCisuVFAKKy5CSSAiXC1lICIgZXhwcgorQSBxdWFsaWZ5aW5nIGV4cHJlc3Npb24gd2hpY2ggbW9kaWZpZXMgd2hpY2ggZXZlbnRzIHRvIHRyYWNlCitvciBob3cgdG8gdHJhY2UgdGhlbS4gIFRoZSBmb3JtYXQgb2YgdGhlIGV4cHJlc3Npb24gaXM6CisuUlMgMTUKKy5JUAorW1xmSXF1YWxpZmllclxmQj1cZlJdW1xmQiFcZlJdXGZJdmFsdWUxXGZSW1xmQixcZkl2YWx1ZTJcZlJdLi4uCisuUkUKKy5JUAord2hlcmUKKy5JIHF1YWxpZmllcgoraXMgb25lIG9mCisuQlIgdHJhY2UgLAorLkJSIGFiYnJldiAsCisuQlIgdmVyYm9zZSAsCisuQlIgcmF3ICwKKy5CUiBzaWduYWwgLAorLkJSIHJlYWQgLAorb3IKKy5CIHdyaXRlCithbmQKKy5JIHZhbHVlCitpcyBhIHF1YWxpZmllci1kZXBlbmRlbnQgc3ltYm9sIG9yIG51bWJlci4gIFRoZSBkZWZhdWx0CitxdWFsaWZpZXIgaXMKKy5CUiB0cmFjZSAuCitVc2luZyBhbiBleGNsYW1hdGlvbiBtYXJrIG5lZ2F0ZXMgdGhlIHNldCBvZiB2YWx1ZXMuICBGb3IgZXhhbXBsZSwKKy5CUiBcLWUgIlwgIiBvcGVuCittZWFucyBsaXRlcmFsbHkKKy5CUiBcLWUgIlwgIiB0cmFjZSA9IG9wZW4KK3doaWNoIGluIHR1cm4gbWVhbnMgdHJhY2Ugb25seSB0aGUKKy5CIG9wZW4KK3N5c3RlbSBjYWxsLiAgQnkgY29udHJhc3QsCisuQlIgXC1lICJcICIgdHJhY2UgIj0hIiBvcGVuCittZWFucyB0byB0cmFjZSBldmVyeSBzeXN0ZW0gY2FsbCBleGNlcHQKKy5CUiBvcGVuIC4KK0luIGFkZGl0aW9uLCB0aGUgc3BlY2lhbCB2YWx1ZXMKKy5CIGFsbAorYW5kCisuQiBub25lCitoYXZlIHRoZSBvYnZpb3VzIG1lYW5pbmdzLgorLklQCitOb3RlIHRoYXQgc29tZSBzaGVsbHMgdXNlIHRoZSBleGNsYW1hdGlvbiBwb2ludCBmb3IgaGlzdG9yeQorZXhwYW5zaW9uIGV2ZW4gaW5zaWRlIHF1b3RlZCBhcmd1bWVudHMuICBJZiBzbywgeW91IG11c3QgZXNjYXBlCit0aGUgZXhjbGFtYXRpb24gcG9pbnQgd2l0aCBhIGJhY2tzbGFzaC4KKy5UUAorXGZCXC1lXCB0cmFjZVxmUj1cZklzZXRcZlIKK1RyYWNlIG9ubHkgdGhlIHNwZWNpZmllZCBzZXQgb2Ygc3lzdGVtIGNhbGxzLiAgVGhlCisuQiBcLWMKK29wdGlvbiBpcyB1c2VmdWwgZm9yIGRldGVybWluaW5nIHdoaWNoIHN5c3RlbSBjYWxscyBtaWdodCBiZSB1c2VmdWwKK3RvIHRyYWNlLiAgRm9yIGV4YW1wbGUsCisuQlIgdHJhY2UgPSBvcGVuLGNsb3NlLHJlYWQsd3JpdGUKK21lYW5zIHRvIG9ubHkKK3RyYWNlIHRob3NlIGZvdXIgc3lzdGVtIGNhbGxzLiAgQmUgY2FyZWZ1bCB3aGVuIG1ha2luZyBpbmZlcmVuY2VzCithYm91dCB0aGUgdXNlci9rZXJuZWwgYm91bmRhcnkgaWYgb25seSBhIHN1YnNldCBvZiBzeXN0ZW0gY2FsbHMKK2FyZSBiZWluZyBtb25pdG9yZWQuICBUaGUgZGVmYXVsdCBpcworLkJSIHRyYWNlID0gYWxsIC4KKy5UUAorXGZCXC1lXCB0cmFjZVxmUj1cZklmaWxlXGZSCitUcmFjZSBhbGwgc3lzdGVtIGNhbGxzIHdoaWNoIHRha2UgYSBmaWxlIG5hbWUgYXMgYW4gYXJndW1lbnQuICBZb3UKK2NhbiB0aGluayBvZiB0aGlzIGFzIGFuIGFiYnJldmlhdGlvbiBmb3IKKy5CUiAiXC1lXCB0cmFjZSIgPSBvcGVuICwgc3RhdCAsIGNobW9kICwgdW5saW5rICwuLi4KK3doaWNoIGlzIHVzZWZ1bCB0byBzZWVpbmcgd2hhdCBmaWxlcyB0aGUgcHJvY2VzcyBpcyByZWZlcmVuY2luZy4KK0Z1cnRoZXJtb3JlLCB1c2luZyB0aGUgYWJicmV2aWF0aW9uIHdpbGwgZW5zdXJlIHRoYXQgeW91IGRvbid0CithY2NpZGVudGFsbHkgZm9yZ2V0IHRvIGluY2x1ZGUgYSBjYWxsIGxpa2UKKy5CIGxzdGF0CitpbiB0aGUgbGlzdC4gIEJldGNoeWEgd291bGRhIGZvcmdvdCB0aGF0IG9uZS4KKy5UUAorXGZCXC1lXCB0cmFjZVxmUj1cZklwcm9jZXNzXGZSCitUcmFjZSBhbGwgc3lzdGVtIGNhbGxzIHdoaWNoIGludm9sdmUgcHJvY2VzcyBtYW5hZ2VtZW50LiAgVGhpcworaXMgdXNlZnVsIGZvciB3YXRjaGluZyB0aGUgZm9yaywgd2FpdCwgYW5kIGV4ZWMgc3RlcHMgb2YgYSBwcm9jZXNzLgorLlRQCitcZkJcLWVcIHRyYWNlXGZSPVxmSW5ldHdvcmtcZlIKK1RyYWNlIGFsbCB0aGUgbmV0d29yayByZWxhdGVkIHN5c3RlbSBjYWxscy4KKy5UUAorXGZCXC1lXCB0cmFjZVxmUj1cZklzaWduYWxcZlIKK1RyYWNlIGFsbCBzaWduYWwgcmVsYXRlZCBzeXN0ZW0gY2FsbHMuCisuVFAKK1xmQlwtZVwgdHJhY2VcZlI9XGZJaXBjXGZSCitUcmFjZSBhbGwgSVBDIHJlbGF0ZWQgc3lzdGVtIGNhbGxzLgorLlRQCitcZkJcLWVcIHRyYWNlXGZSPVxmSWRlc2NcZlIKK1RyYWNlIGFsbCBmaWxlIGRlc2NyaXB0b3IgcmVsYXRlZCBzeXN0ZW0gY2FsbHMuCisuVFAKK1xmQlwtZVwgYWJicmV2XGZSPVxmSXNldFxmUgorQWJicmV2aWF0ZSB0aGUgb3V0cHV0IGZyb20gcHJpbnRpbmcgZWFjaCBtZW1iZXIgb2YgbGFyZ2Ugc3RydWN0dXJlcy4KK1RoZSBkZWZhdWx0IGlzCisuQlIgYWJicmV2ID0gYWxsIC4KK1RoZQorLkIgXC12CitvcHRpb24gaGFzIHRoZSBlZmZlY3Qgb2YKKy5CUiBhYmJyZXYgPSBub25lIC4KKy5UUAorXGZCXC1lXCB2ZXJib3NlXGZSPVxmSXNldFxmUgorRGVyZWZlcmVuY2Ugc3RydWN0dXJlcyBmb3IgdGhlIHNwZWNpZmllZCBzZXQgb2Ygc3lzdGVtIGNhbGxzLiAgVGhlCitkZWZhdWx0IGlzCisuQlIgdmVyYm9zZSA9IGFsbCAuCisuVFAKK1xmQlwtZVwgcmF3XGZSPVxmSXNldFxmUgorUHJpbnQgcmF3LCB1bmRlY29kZWQgYXJndW1lbnRzIGZvciB0aGUgc3BlY2lmaWVkIHNldCBvZiBzeXN0ZW0gY2FsbHMuCitUaGlzIG9wdGlvbiBoYXMgdGhlIGVmZmVjdCBvZiBjYXVzaW5nIGFsbCBhcmd1bWVudHMgdG8gYmUgcHJpbnRlZAoraW4gaGV4YWRlY2ltYWwuICBUaGlzIGlzIG1vc3RseSB1c2VmdWwgaWYgeW91IGRvbid0IHRydXN0IHRoZQorZGVjb2Rpbmcgb3IgeW91IG5lZWQgdG8ga25vdyB0aGUgYWN0dWFsIG51bWVyaWMgdmFsdWUgb2YgYW4KK2FyZ3VtZW50LgorLlRQCitcZkJcLWVcIHNpZ25hbFxmUj1cZklzZXRcZlIKK1RyYWNlIG9ubHkgdGhlIHNwZWNpZmllZCBzdWJzZXQgb2Ygc2lnbmFscy4gIFRoZSBkZWZhdWx0IGlzCisuQlIgc2lnbmFsID0gYWxsIC4KK0ZvciBleGFtcGxlLAorLkIgc2lnbmFsICI9ISIgU0lHSU8KKyhvcgorLkJSIHNpZ25hbCAiPSEiIGlvICkKK2NhdXNlcyBTSUdJTyBzaWduYWxzIG5vdCB0byBiZSB0cmFjZWQuCisuVFAKK1xmQlwtZVwgcmVhZFxmUj1cZklzZXRcZlIKK1BlcmZvcm0gYSBmdWxsIGhleGFkZWNpbWFsIGFuZCBBU0NJSSBkdW1wIG9mIGFsbCB0aGUgZGF0YSByZWFkIGZyb20KK2ZpbGUgZGVzY3JpcHRvcnMgbGlzdGVkIGluIHRoZSBzcGVjaWZpZWQgc2V0LiAgRm9yIGV4YW1wbGUsIHRvIHNlZQorYWxsIGlucHV0IGFjdGl2aXR5IG9uIGZpbGUgZGVzY3JpcHRvcnMKKy5JIDMKK2FuZAorLkkgNQordXNlCitcZkJcLWVcIHJlYWRcZlI9XGZJM1xmUixcZkk1XGZSLgorTm90ZSB0aGF0IHRoaXMgaXMgaW5kZXBlbmRlbnQgZnJvbSB0aGUgbm9ybWFsIHRyYWNpbmcgb2YgdGhlCisuQlIgcmVhZCAoMikKK3N5c3RlbSBjYWxsIHdoaWNoIGlzIGNvbnRyb2xsZWQgYnkgdGhlIG9wdGlvbgorLkJSIC1lICJcICIgdHJhY2UgPSByZWFkIC4KKy5UUAorXGZCXC1lXCB3cml0ZVxmUj1cZklzZXRcZlIKK1BlcmZvcm0gYSBmdWxsIGhleGFkZWNpbWFsIGFuZCBBU0NJSSBkdW1wIG9mIGFsbCB0aGUgZGF0YSB3cml0dGVuIHRvCitmaWxlIGRlc2NyaXB0b3JzIGxpc3RlZCBpbiB0aGUgc3BlY2lmaWVkIHNldC4gIEZvciBleGFtcGxlLCB0byBzZWUKK2FsbCBvdXRwdXQgYWN0aXZpdHkgb24gZmlsZSBkZXNjcmlwdG9ycworLkkgMworYW5kCisuSSA1Cit1c2UKK1xmQlwtZVwgd3JpdGVcZlI9XGZJM1xmUixcZkk1XGZSLgorTm90ZSB0aGF0IHRoaXMgaXMgaW5kZXBlbmRlbnQgZnJvbSB0aGUgbm9ybWFsIHRyYWNpbmcgb2YgdGhlCisuQlIgd3JpdGUgKDIpCitzeXN0ZW0gY2FsbCB3aGljaCBpcyBjb250cm9sbGVkIGJ5IHRoZSBvcHRpb24KKy5CUiAtZSAiXCAiIHRyYWNlID0gd3JpdGUgLgorLlRQCisuQkkgIlwtbyAiIGZpbGVuYW1lCitXcml0ZSB0aGUgdHJhY2Ugb3V0cHV0IHRvIHRoZSBmaWxlCisuSSBmaWxlbmFtZQorcmF0aGVyIHRoYW4gdG8gc3RkZXJyLgorVXNlCisuSSBmaWxlbmFtZS5waWQKK2lmCisuQiBcLWZmCitpcyB1c2VkLgorSWYgdGhlIGFyZ3VtZW50IGJlZ2lucyB3aXRoIGB8JyBvciB3aXRoIGAhJyB0aGVuIHRoZSByZXN0IG9mIHRoZQorYXJndW1lbnQgaXMgdHJlYXRlZCBhcyBhIGNvbW1hbmQgYW5kIGFsbCBvdXRwdXQgaXMgcGlwZWQgdG8gaXQuCitUaGlzIGlzIGNvbnZlbmllbnQgZm9yIHBpcGluZyB0aGUgZGVidWdnaW5nIG91dHB1dCB0byBhIHByb2dyYW0KK3dpdGhvdXQgYWZmZWN0aW5nIHRoZSByZWRpcmVjdGlvbnMgb2YgZXhlY3V0ZWQgcHJvZ3JhbXMuCisuVFAKKy5CSSAiXC1PICIgb3ZlcmhlYWQKK1NldCB0aGUgb3ZlcmhlYWQgZm9yIHRyYWNpbmcgc3lzdGVtIGNhbGxzIHRvCisuSSBvdmVyaGVhZAorbWljcm9zZWNvbmRzLgorVGhpcyBpcyB1c2VmdWwgZm9yIG92ZXJyaWRpbmcgdGhlIGRlZmF1bHQgaGV1cmlzdGljIGZvciBndWVzc2luZworaG93IG11Y2ggdGltZSBpcyBzcGVudCBpbiBtZXJlIG1lYXN1cmluZyB3aGVuIHRpbWluZyBzeXN0ZW0gY2FsbHMgdXNpbmcKK3RoZQorLkIgXC1jCitvcHRpb24uICBUaGUgYWNjdXJhY3kgb2YgdGhlIGhldXJpc3RpYyBjYW4gYmUgZ2F1Z2VkIGJ5IHRpbWluZyBhIGdpdmVuCitwcm9ncmFtIHJ1biB3aXRob3V0IHRyYWNpbmcgKHVzaW5nCisuQlIgdGltZSAoMSkpCithbmQgY29tcGFyaW5nIHRoZSBhY2N1bXVsYXRlZAorc3lzdGVtIGNhbGwgdGltZSB0byB0aGUgdG90YWwgcHJvZHVjZWQgdXNpbmcKKy5CUiBcLWMgLgorLlRQCisuQkkgIlwtcCAiIHBpZAorQXR0YWNoIHRvIHRoZSBwcm9jZXNzIHdpdGggdGhlIHByb2Nlc3MKKy5TTSBJRAorLkkgcGlkCithbmQgYmVnaW4gdHJhY2luZy4KK1RoZSB0cmFjZSBtYXkgYmUgdGVybWluYXRlZAorYXQgYW55IHRpbWUgYnkgYSBrZXlib2FyZCBpbnRlcnJ1cHQgc2lnbmFsIChcYworLlNNIENUUkxcczAtQykuCisuQiBzdHJhY2UKK3dpbGwgcmVzcG9uZCBieSBkZXRhY2hpbmcgaXRzZWxmIGZyb20gdGhlIHRyYWNlZCBwcm9jZXNzKGVzKQorbGVhdmluZyBpdCAodGhlbSkgdG8gY29udGludWUgcnVubmluZy4KK011bHRpcGxlCisuQiBcLXAKK29wdGlvbnMgY2FuIGJlIHVzZWQgdG8gYXR0YWNoIHRvIHVwIHRvIDMyIHByb2Nlc3NlcyBpbiBhZGRpdGlvbiB0bworLkkgY29tbWFuZAorKHdoaWNoIGlzIG9wdGlvbmFsIGlmIGF0IGxlYXN0IG9uZQorLkIgXC1wCitvcHRpb24gaXMgZ2l2ZW4pLgorLlRQCisuQkkgIlwtcyAiIHN0cnNpemUKK1NwZWNpZnkgdGhlIG1heGltdW0gc3RyaW5nIHNpemUgdG8gcHJpbnQgKHRoZSBkZWZhdWx0IGlzIDMyKS4gIE5vdGUKK3RoYXQgZmlsZW5hbWVzIGFyZSBub3QgY29uc2lkZXJlZCBzdHJpbmdzIGFuZCBhcmUgYWx3YXlzIHByaW50ZWQgaW4KK2Z1bGwuCisuVFAKKy5CSSAiXC1TICIgc29ydGJ5CitTb3J0IHRoZSBvdXRwdXQgb2YgdGhlIGhpc3RvZ3JhbSBwcmludGVkIGJ5IHRoZQorLkIgXC1jCitvcHRpb24gYnkgdGhlIHNwZWNpZmllZCBjcml0ZXJpb24uICBMZWdhbCB2YWx1ZXMgYXJlCisuQlIgdGltZSAsCisuQlIgY2FsbHMgLAorLkJSIG5hbWUgLAorYW5kCisuQiBub3RoaW5nCisoZGVmYXVsdCBpcworLkJSIHRpbWUgKS4KKy5UUAorLkJJICJcLXUgIiB1c2VybmFtZQorUnVuIGNvbW1hbmQgd2l0aCB0aGUgdXNlciBccy0xSURcczAsIGdyb3VwIFxzLTJJRFxzMCwgYW5kCitzdXBwbGVtZW50YXJ5IGdyb3VwcyBvZgorLklSIHVzZXJuYW1lIC4KK1RoaXMgb3B0aW9uIGlzIG9ubHkgdXNlZnVsIHdoZW4gcnVubmluZyBhcyByb290IGFuZCBlbmFibGVzIHRoZQorY29ycmVjdCBleGVjdXRpb24gb2Ygc2V0dWlkIGFuZC9vciBzZXRnaWQgYmluYXJpZXMuCitVbmxlc3MgdGhpcyBvcHRpb24gaXMgdXNlZCBzZXR1aWQgYW5kIHNldGdpZCBwcm9ncmFtcyBhcmUgZXhlY3V0ZWQKK3dpdGhvdXQgZWZmZWN0aXZlIHByaXZpbGVnZXMuCisuVFAKK1xmQlwtRVwgXGZJdmFyXGZSPVxmSXZhbFxmUgorUnVuIGNvbW1hbmQgd2l0aAorLklSIHZhciA9IHZhbAoraW4gaXRzIGxpc3Qgb2YgZW52aXJvbm1lbnQgdmFyaWFibGVzLgorLlRQCisuQkkgIlwtRSAiIHZhcgorUmVtb3ZlCisuSVIgdmFyCitmcm9tIHRoZSBpbmhlcml0ZWQgbGlzdCBvZiBlbnZpcm9ubWVudCB2YXJpYWJsZXMgYmVmb3JlIHBhc3NpbmcgaXQgb24gdG8KK3RoZSBjb21tYW5kLgorLlNIIERJQUdOT1NUSUNTCitXaGVuCisuSSBjb21tYW5kCitleGl0cywKKy5CIHN0cmFjZQorZXhpdHMgd2l0aCB0aGUgc2FtZSBleGl0IHN0YXR1cy4KK0lmCisuSSBjb21tYW5kCitpcyB0ZXJtaW5hdGVkIGJ5IGEgc2lnbmFsLAorLkIgc3RyYWNlCit0ZXJtaW5hdGVzIGl0c2VsZiB3aXRoIHRoZSBzYW1lIHNpZ25hbCwgc28gdGhhdAorLkIgc3RyYWNlCitjYW4gYmUgdXNlZCBhcyBhIHdyYXBwZXIgcHJvY2VzcyB0cmFuc3BhcmVudCB0byB0aGUgaW52b2tpbmcgcGFyZW50IHByb2Nlc3MuCisuTFAKK1doZW4gdXNpbmcKKy5CUiBcLXAgLAordGhlIGV4aXQgc3RhdHVzIG9mCisuQiBzdHJhY2UKK2lzIHplcm8gdW5sZXNzIHRoZXJlIHdhcyBhbiB1bmV4cGVjdGVkIGVycm9yIGluIGRvaW5nIHRoZSB0cmFjaW5nLgorLlNIICJTRVRVSUQgSU5TVEFMTEFUSU9OIgorSWYKKy5CIHN0cmFjZQoraXMgaW5zdGFsbGVkIHNldHVpZCB0byByb290IHRoZW4gdGhlIGludm9raW5nIHVzZXIgd2lsbCBiZSBhYmxlIHRvCithdHRhY2ggdG8gYW5kIHRyYWNlIHByb2Nlc3NlcyBvd25lZCBieSBhbnkgdXNlci4KK0luIGFkZGl0aW9uIHNldHVpZCBhbmQgc2V0Z2lkIHByb2dyYW1zIHdpbGwgYmUgZXhlY3V0ZWQgYW5kIHRyYWNlZAord2l0aCB0aGUgY29ycmVjdCBlZmZlY3RpdmUgcHJpdmlsZWdlcy4KK1NpbmNlIG9ubHkgdXNlcnMgdHJ1c3RlZCB3aXRoIGZ1bGwgcm9vdCBwcml2aWxlZ2VzIHNob3VsZCBiZSBhbGxvd2VkCit0byBkbyB0aGVzZSB0aGluZ3MsCitpdCBvbmx5IG1ha2VzIHNlbnNlIHRvIGluc3RhbGwKKy5CIHN0cmFjZQorYXMgc2V0dWlkIHRvIHJvb3Qgd2hlbiB0aGUgdXNlcnMgd2hvIGNhbiBleGVjdXRlIGl0IGFyZSByZXN0cmljdGVkCit0byB0aG9zZSB1c2VycyB3aG8gaGF2ZSB0aGlzIHRydXN0LgorRm9yIGV4YW1wbGUsIGl0IG1ha2VzIHNlbnNlIHRvIGluc3RhbGwgYSBzcGVjaWFsIHZlcnNpb24gb2YKKy5CIHN0cmFjZQord2l0aCBtb2RlIGByd3NyLXhyLS0nLCB1c2VyCisuQiByb290CithbmQgZ3JvdXAKKy5CUiB0cmFjZSAsCit3aGVyZSBtZW1iZXJzIG9mIHRoZQorLkIgdHJhY2UKK2dyb3VwIGFyZSB0cnVzdGVkIHVzZXJzLgorSWYgeW91IGRvIHVzZSB0aGlzIGZlYXR1cmUsIHBsZWFzZSByZW1lbWJlciB0byBpbnN0YWxsCithIG5vbi1zZXR1aWQgdmVyc2lvbiBvZgorLkIgc3RyYWNlCitmb3Igb3JkaW5hcnkgbHVzZXJzIHRvIHVzZS4KKy5TSCAiU0VFIEFMU08iCisuQlIgbHRyYWNlICgxKSwKKy5CUiB0aW1lICgxKSwKKy5CUiBwdHJhY2UgKDIpLAorLkJSIHByb2MgKDUpCisuU0ggTk9URVMKK0l0IGlzIGEgcGl0eSB0aGF0IHNvIG11Y2ggdHJhY2luZyBjbHV0dGVyIGlzIHByb2R1Y2VkIGJ5IHN5c3RlbXMKK2VtcGxveWluZyBzaGFyZWQgbGlicmFyaWVzLgorLkxQCitJdCBpcyBpbnN0cnVjdGl2ZSB0byB0aGluayBhYm91dCBzeXN0ZW0gY2FsbCBpbnB1dHMgYW5kIG91dHB1dHMKK2FzIGRhdGEtZmxvdyBhY3Jvc3MgdGhlIHVzZXIva2VybmVsIGJvdW5kYXJ5LiAgQmVjYXVzZSB1c2VyLXNwYWNlCithbmQga2VybmVsLXNwYWNlIGFyZSBzZXBhcmF0ZSBhbmQgYWRkcmVzcy1wcm90ZWN0ZWQsIGl0IGlzCitzb21ldGltZXMgcG9zc2libGUgdG8gbWFrZSBkZWR1Y3RpdmUgaW5mZXJlbmNlcyBhYm91dCBwcm9jZXNzCitiZWhhdmlvciB1c2luZyBpbnB1dHMgYW5kIG91dHB1dHMgYXMgcHJvcG9zaXRpb25zLgorLkxQCitJbiBzb21lIGNhc2VzLCBhIHN5c3RlbSBjYWxsIHdpbGwgZGlmZmVyIGZyb20gdGhlIGRvY3VtZW50ZWQgYmVoYXZpb3IKK29yIGhhdmUgYSBkaWZmZXJlbnQgbmFtZS4gIEZvciBleGFtcGxlLCBvbiBTeXN0ZW0gVi1kZXJpdmVkIHN5c3RlbXMKK3RoZSB0cnVlCisuQlIgdGltZSAoMikKK3N5c3RlbSBjYWxsIGRvZXMgbm90IHRha2UgYW4gYXJndW1lbnQgYW5kIHRoZQorLkIgc3RhdAorZnVuY3Rpb24gaXMgY2FsbGVkCisuQiB4c3RhdAorYW5kIHRha2VzIGFuIGV4dHJhIGxlYWRpbmcgYXJndW1lbnQuICBUaGVzZQorZGlzY3JlcGFuY2llcyBhcmUgbm9ybWFsIGJ1dCBpZGlvc3luY3JhdGljIGNoYXJhY3RlcmlzdGljcyBvZiB0aGUKK3N5c3RlbSBjYWxsIGludGVyZmFjZSBhbmQgYXJlIGFjY291bnRlZCBmb3IgYnkgQyBsaWJyYXJ5IHdyYXBwZXIKK2Z1bmN0aW9ucy4KKy5MUAorT24gc29tZSBwbGF0Zm9ybXMgYSBwcm9jZXNzIHRoYXQgaGFzIGEgc3lzdGVtIGNhbGwgdHJhY2UgYXBwbGllZAordG8gaXQgd2l0aCB0aGUKKy5CIFwtcAorb3B0aW9uIHdpbGwgcmVjZWl2ZSBhCisuQlIgXHMtMVNJR1NUT1BcczAgLgorVGhpcyBzaWduYWwgbWF5IGludGVycnVwdCBhIHN5c3RlbSBjYWxsIHRoYXQgaXMgbm90IHJlc3RhcnRhYmxlLgorVGhpcyBtYXkgaGF2ZSBhbiB1bnByZWRpY3RhYmxlIGVmZmVjdCBvbiB0aGUgcHJvY2VzcworaWYgdGhlIHByb2Nlc3MgdGFrZXMgbm8gYWN0aW9uIHRvIHJlc3RhcnQgdGhlIHN5c3RlbSBjYWxsLgorLlNIIEJVR1MKK1Byb2dyYW1zIHRoYXQgdXNlIHRoZQorLkkgc2V0dWlkCitiaXQgZG8gbm90IGhhdmUKK2VmZmVjdGl2ZSB1c2VyCisuU00gSUQKK3ByaXZpbGVnZXMgd2hpbGUgYmVpbmcgdHJhY2VkLgorLkxQCitBIHRyYWNlZCBwcm9jZXNzIGlnbm9yZXMKKy5TTSBTSUdTVE9QCitleGNlcHQgb24gU1ZSNCBwbGF0Zm9ybXMuCisuTFAKK0EgdHJhY2VkIHByb2Nlc3Mgd2hpY2ggdHJpZXMgdG8gYmxvY2sgU0lHVFJBUCB3aWxsIGJlIHNlbnQgYSBTSUdTVE9QCitpbiBhbiBhdHRlbXB0IHRvIGZvcmNlIGNvbnRpbnVhdGlvbiBvZiB0cmFjaW5nLgorLkxQCitBIHRyYWNlZCBwcm9jZXNzIHJ1bnMgc2xvd2x5LgorLkxQCitUcmFjZWQgcHJvY2Vzc2VzIHdoaWNoIGFyZSBkZXNjZW5kZWQgZnJvbQorLkkgY29tbWFuZAorbWF5IGJlIGxlZnQgcnVubmluZyBhZnRlciBhbiBpbnRlcnJ1cHQgc2lnbmFsIChcYworLlNNIENUUkxcczAtQykuCisuTFAKK09uIExpbnV4LCBleGNpdGluZyBhcyBpdCB3b3VsZCBiZSwgdHJhY2luZyB0aGUgaW5pdCBwcm9jZXNzIGlzIGZvcmJpZGRlbi4KKy5MUAorVGhlCisuQiBcLWkKK29wdGlvbiBpcyB3ZWFrbHkgc3VwcG9ydGVkLgorLlNIIEhJU1RPUlkKKy5CIHN0cmFjZQorVGhlIG9yaWdpbmFsCisuQiBzdHJhY2UKK3dhcyB3cml0dGVuIGJ5IFBhdWwgS3JhbmVuYnVyZworZm9yIFN1bk9TIGFuZCB3YXMgaW5zcGlyZWQgYnkgaXRzIHRyYWNlIHV0aWxpdHkuCitUaGUgU3VuT1MgdmVyc2lvbiBvZgorLkIgc3RyYWNlCit3YXMgcG9ydGVkIHRvIExpbnV4IGFuZCBlbmhhbmNlZAorYnkgQnJhbmtvIExhbmtlc3Rlciwgd2hvIGFsc28gd3JvdGUgdGhlIExpbnV4IGtlcm5lbCBzdXBwb3J0LgorRXZlbiB0aG91Z2ggUGF1bCByZWxlYXNlZAorLkIgc3RyYWNlCisyLjUgaW4gMTk5MiwKK0JyYW5rbydzIHdvcmsgd2FzIGJhc2VkIG9uIFBhdWwncworLkIgc3RyYWNlCisxLjUgcmVsZWFzZSBmcm9tIDE5OTEuCitJbiAxOTkzLCBSaWNrIFNsYWRrZXkgbWVyZ2VkCisuQiBzdHJhY2UKKzIuNSBmb3IgU3VuT1MgYW5kIHRoZSBzZWNvbmQgcmVsZWFzZSBvZgorLkIgc3RyYWNlCitmb3IgTGludXgsIGFkZGVkIG1hbnkgb2YgdGhlIGZlYXR1cmVzIG9mCisuQlIgdHJ1c3MgKDEpCitmcm9tIFNWUjQsIGFuZCBwcm9kdWNlZCBhbgorLkIgc3RyYWNlCit0aGF0IHdvcmtlZCBvbiBib3RoIHBsYXRmb3Jtcy4gIEluIDE5OTQgUmljayBwb3J0ZWQKKy5CIHN0cmFjZQordG8gU1ZSNCBhbmQgU29sYXJpcyBhbmQgd3JvdGUgdGhlCithdXRvbWF0aWMgY29uZmlndXJhdGlvbiBzdXBwb3J0LiAgSW4gMTk5NSBoZSBwb3J0ZWQKKy5CIHN0cmFjZQordG8gSXJpeAorYW5kIHRpcmVkIG9mIHdyaXRpbmcgYWJvdXQgaGltc2VsZiBpbiB0aGUgdGhpcmQgcGVyc29uLgorLlNIIEJVR1MKK1RoZSBTSUdUUkFQIHNpZ25hbCBpcyB1c2VkIGludGVybmFsbHkgYnkgdGhlIGtlcm5lbCBpbXBsZW1lbnRhdGlvbiBvZgorc3lzdGVtIGNhbGwgdHJhY2luZy4gIFdoZW4gYSB0cmFjZWQgcHJvY2VzcyByZWNlaXZlcyBhIFNJR1RSQVAgc2lnbmFsIG5vdAorYXNzb2NpYXRlZCB3aXRoIHRyYWNpbmcsIHN0cmFjZSB3aWxsIG5vdCByZXBvcnQgdGhhdCBzaWduYWwgY29ycmVjdGx5LgorVGhpcyBzaWduYWwgaXMgbm90IG5vcm1hbGx5IHVzZWQgYnkgcHJvZ3JhbXMsIGJ1dCBjb3VsZCBiZSB2aWEgYSBoYXJkLWNvZGVkCiticmVhayBpbnN0cnVjdGlvbiBvciB2aWEKKy5CUiBraWxsICgyKS4KKy5TSCBQUk9CTEVNUworUHJvYmxlbXMgd2l0aAorLkIgc3RyYWNlCitzaG91bGQgYmUgcmVwb3J0ZWQgdmlhIHRoZSBEZWJpYW4gQnVnIFRyYWNraW5nIFN5c3RlbSwKK29yIHRvIHRoZQorLkIgc3RyYWNlCittYWlsaW5nIGxpc3QgYXQgPHN0cmFjZVwtZGV2ZWxAbGlzdHMuc291cmNlZm9yZ2UubmV0Pi4KZGlmZiAtLWdpdCBhL3N0cmFjZS00LjUuMjAvc3RyYWNlLmMgYi9zdHJhY2UtNC41LjIwL3N0cmFjZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQwZjg5MDcKLS0tIC9kZXYvbnVsbAorKysgYi9zdHJhY2UtNC41LjIwL3N0cmFjZS5jCkBAIC0wLDAgKzEsMjcxOCBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMTk5MSwgMTk5MiBQYXVsIEtyYW5lbmJ1cmcgPHBrQGNzLmZldy5ldXIubmw+CisgKiBDb3B5cmlnaHQgKGMpIDE5OTMgQnJhbmtvIExhbmtlc3RlciA8YnJhbmtvQGhhY2t0aWMubmw+CisgKiBDb3B5cmlnaHQgKGMpIDE5OTMsIDE5OTQsIDE5OTUsIDE5OTYgUmljayBTbGFka2V5IDxqcnNAd29ybGQuc3RkLmNvbT4KKyAqIENvcHlyaWdodCAoYykgMTk5Ni0xOTk5IFdpY2hlcnQgQWtrZXJtYW4gPHdpY2hlcnRAY2lzdHJvbi5ubD4KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBUaGUgbmFtZSBvZiB0aGUgYXV0aG9yIG1heSBub3QgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMKKyAqICAgIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIEFVVEhPUiBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCisgKiBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELgorICogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAorICogSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUCisgKiBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqCisgKgkkSWQkCisgKi8KKworI2luY2x1ZGUgImRlZnMuaCIKKworI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHNpZ25hbC5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8c3lzL3BhcmFtLmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxzeXMvcmVzb3VyY2UuaD4KKyNpbmNsdWRlIDxzeXMvd2FpdC5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8cHdkLmg+CisjaW5jbHVkZSA8Z3JwLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8bGltaXRzLmg+CisjaW5jbHVkZSA8ZGlyZW50Lmg+CisKKyNpZmRlZiBMSU5VWAorIyBpbmNsdWRlIDxhc20vdW5pc3RkLmg+CisjIGlmIGRlZmluZWQgX19OUl90Z2tpbGwKKyMgIGRlZmluZSBteV90Z2tpbGwocGlkLCB0aWQsIHNpZykgc3lzY2FsbCAoX19OUl90Z2tpbGwsIChwaWQpLCAodGlkKSwgKHNpZykpCisjIGVsaWYgZGVmaW5lZCBfX05SX3RraWxsCisjICBkZWZpbmUgbXlfdGdraWxsKHBpZCwgdGlkLCBzaWcpIHN5c2NhbGwgKF9fTlJfdGtpbGwsICh0aWQpLCAoc2lnKSkKKyMgZWxzZQorICAgLyoga2lsbCgpIG1heSBjaG9vc2UgYXJiaXRyYXJpbHkgdGhlIHRhcmdldCB0YXNrIG9mIHRoZSBwcm9jZXNzIGdyb3VwCisgICAgICB3aGlsZSB3ZSBsYXRlciB3YWl0IG9uIGEgdGhhdCBzcGVjaWZpYyBUSUQuICBQSUQgcHJvY2VzcyB3YWl0cyBiZWNvbWUKKyAgICAgIFRJRCB0YXNrIHNwZWNpZmljIHdhaXRzIGZvciBhIHByb2Nlc3MgdW5kZXIgcHRyYWNlKDIpLiAgKi8KKyMgIHdhcm5pbmcgIk5laXRoZXIgdGtpbGwoMikgbm9yIHRna2lsbCgyKSBhdmFpbGFibGUsIHJpc2sgb2Ygc3RyYWNlIGhhbmdzISIKKyMgIGRlZmluZSBteV90Z2tpbGwocGlkLCB0aWQsIHNpZykga2lsbCAoKHRpZCksIChzaWcpKQorIyBlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKElBNjQpICYmIGRlZmluZWQoTElOVVgpCisjIGluY2x1ZGUgPGFzbS9wdHJhY2Vfb2Zmc2V0cy5oPgorI2VuZGlmCisKKyNpZmRlZiBVU0VfUFJPQ0ZTCisjaW5jbHVkZSA8cG9sbC5oPgorI2VuZGlmCisKKyNpZmRlZiBTVlI0CisjaW5jbHVkZSA8c3lzL3N0cm9wdHMuaD4KKyNpZmRlZiBIQVZFX01QX1BST0NGUworI2lmZGVmIEhBVkVfU1lTX1VJT19ICisjaW5jbHVkZSA8c3lzL3Vpby5oPgorI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorZXh0ZXJuIGNoYXIgKiplbnZpcm9uOworZXh0ZXJuIGludCBvcHRpbmQ7CitleHRlcm4gY2hhciAqb3B0YXJnOworCisKK2ludCBkZWJ1ZyA9IDAsIGZvbGxvd2ZvcmsgPSAwOworaW50IGR0aW1lID0gMCwgeGZsYWcgPSAwLCBxZmxhZyA9IDA7CitjZmxhZ190IGNmbGFnID0gQ0ZMQUdfTk9ORTsKK3N0YXRpYyBpbnQgaWZsYWcgPSAwLCBpbnRlcmFjdGl2ZSA9IDAsIHBmbGFnX3NlZW4gPSAwLCByZmxhZyA9IDAsIHRmbGFnID0gMDsKKy8qCisgKiBkYWVtb25pemVkX3RyYWNlciBzdXBwb3J0cyAtRCBvcHRpb24uCisgKiBXaXRoIHRoaXMgb3B0aW9uLCBzdHJhY2UgZm9ya3MgdHdpY2UuCisgKiBVbmxpa2Ugbm9ybWFsIGNhc2UsIHdpdGggLUQgKmdyYW5kcGFyZW50KiBwcm9jZXNzIGV4ZWMncywKKyAqIGJlY29taW5nIGEgdHJhY2VkIHByb2Nlc3MuIENoaWxkIGV4aXRzICh0aGlzIHByZXZlbnRzIHRyYWNlZCBwcm9jZXNzCisgKiBmcm9tIGhhdmluZyBjaGlsZHJlbiBpdCBkb2Vzbid0IGV4cGVjdCB0byBoYXZlKSwgYW5kIGdyYW5kY2hpbGQKKyAqIGF0dGFjaGVzIHRvIGdyYW5kcGFyZW50IHNpbWlsYXJseSB0byBzdHJhY2UgLXAgUElELgorICogVGhpcyBhbGxvd3MgZm9yIG1vcmUgdHJhbnNwYXJlbnQgaW50ZXJhY3Rpb24gaW4gY2FzZXMKKyAqIHdoZW4gcHJvY2VzcyBhbmQgaXRzIHBhcmVudCBhcmUgY29tbXVuaWNhdGluZyB2aWEgc2lnbmFscywKKyAqIHdhaXQoKSBldGMuIFdpdGhvdXQgLUQsIHN0cmFjZSBwcm9jZXNzIGdldHMgbG9kZ2VkIGluIGJldHdlZW4sCisgKiBkaXNydXB0aW5nIHBhcmVudDwtPmNoaWxkIGxpbmsuCisgKi8KK3N0YXRpYyBib29sIGRhZW1vbml6ZWRfdHJhY2VyID0gMDsKKworLyogU29tZXRpbWVzIHdlIHdhbnQgdG8gcHJpbnQgb25seSBzdWNjZWVkaW5nIHN5c2NhbGxzLiAqLworaW50IG5vdF9mYWlsaW5nX29ubHkgPSAwOworCitzdGF0aWMgaW50IGV4aXRfY29kZSA9IDA7CitzdGF0aWMgaW50IHN0cmFjZV9jaGlsZCA9IDA7CisKK3N0YXRpYyBjaGFyICp1c2VybmFtZSA9IE5VTEw7Cit1aWRfdCBydW5fdWlkOworZ2lkX3QgcnVuX2dpZDsKKworaW50IGFjb2x1bW4gPSBERUZBVUxUX0FDT0xVTU47CitpbnQgbWF4X3N0cmxlbiA9IERFRkFVTFRfU1RSTEVOOworc3RhdGljIGNoYXIgKm91dGZuYW1lID0gTlVMTDsKK0ZJTEUgKm91dGY7CitzdGF0aWMgaW50IGN1cmNvbDsKK3N0cnVjdCB0Y2IgKip0Y2J0YWI7Cit1bnNpZ25lZCBpbnQgbnByb2NzLCB0Y2J0YWJzaXplOworY2hhciAqcHJvZ25hbWU7CitleHRlcm4gY2hhciAqKmVudmlyb247CisKK3N0YXRpYyBpbnQgZGV0YWNoKHN0cnVjdCB0Y2IgKnRjcCwgaW50IHNpZyk7CitzdGF0aWMgaW50IHRyYWNlKHZvaWQpOworc3RhdGljIHZvaWQgY2xlYW51cCh2b2lkKTsKK3N0YXRpYyB2b2lkIGludGVycnVwdChpbnQgc2lnKTsKK3N0YXRpYyBzaWdzZXRfdCBlbXB0eV9zZXQsIGJsb2NrZWRfc2V0OworCisjaWZkZWYgSEFWRV9TSUdfQVRPTUlDX1QKK3N0YXRpYyB2b2xhdGlsZSBzaWdfYXRvbWljX3QgaW50ZXJydXB0ZWQ7CisjZWxzZSAvKiAhSEFWRV9TSUdfQVRPTUlDX1QgKi8KK3N0YXRpYyB2b2xhdGlsZSBpbnQgaW50ZXJydXB0ZWQ7CisjZW5kaWYgLyogIUhBVkVfU0lHX0FUT01JQ19UICovCisKKyNpZmRlZiBVU0VfUFJPQ0ZTCisKK3N0YXRpYyBzdHJ1Y3QgdGNiICpwZmQydGNiKGludCBwZmQpOworc3RhdGljIHZvaWQgcmVhcGVyKGludCBzaWcpOworc3RhdGljIHZvaWQgcmVidWlsZF9wb2xsdih2b2lkKTsKK3N0YXRpYyBzdHJ1Y3QgcG9sbGZkICpwb2xsdjsKKworI2lmbmRlZiBIQVZFX1BPTExBQkxFX1BST0NGUworCitzdGF0aWMgdm9pZCBwcm9jX3BvbGxfb3Blbih2b2lkKTsKK3N0YXRpYyB2b2lkIHByb2NfcG9sbGVyKGludCBwZmQpOworCitzdHJ1Y3QgcHJvY19wb2xsZmQgeworCWludCBmZDsKKwlpbnQgcmV2ZW50czsKKwlpbnQgcGlkOworfTsKKworc3RhdGljIGludCBwb2xsZXJfcGlkOworc3RhdGljIGludCBwcm9jX3BvbGxfcGlwZVsyXSA9IHsgLTEsIC0xIH07CisKKyNlbmRpZiAvKiAhSEFWRV9QT0xMQUJMRV9QUk9DRlMgKi8KKworI2lmZGVmIEhBVkVfTVBfUFJPQ0ZTCisjZGVmaW5lIFBPTExXQU5UCVBPTExXUk5PUk0KKyNlbHNlCisjZGVmaW5lIFBPTExXQU5UCVBPTExQUkkKKyNlbmRpZgorI2VuZGlmIC8qIFVTRV9QUk9DRlMgKi8KKworc3RhdGljIHZvaWQKK3VzYWdlKG9mcCwgZXhpdHZhbCkKK0ZJTEUgKm9mcDsKK2ludCBleGl0dmFsOworeworCWZwcmludGYob2ZwLCAiXAordXNhZ2U6IHN0cmFjZSBbLWRmZmhpcXJ0dHRUdlZ4eF0gWy1hIGNvbHVtbl0gWy1lIGV4cHJdIC4uLiBbLW8gZmlsZV1cblwKKyAgICAgICAgICAgICAgWy1wIHBpZF0gLi4uIFstcyBzdHJzaXplXSBbLXUgdXNlcm5hbWVdIFstRSB2YXI9dmFsXSAuLi5cblwKKyAgICAgICAgICAgICAgW2NvbW1hbmQgW2FyZyAuLi5dXVxuXAorICAgb3I6IHN0cmFjZSAtYyAtRCBbLWUgZXhwcl0gLi4uIFstTyBvdmVyaGVhZF0gWy1TIHNvcnRieV0gWy1FIHZhcj12YWxdIC4uLlxuXAorICAgICAgICAgICAgICBbY29tbWFuZCBbYXJnIC4uLl1dXG5cCistYyAtLSBjb3VudCB0aW1lLCBjYWxscywgYW5kIGVycm9ycyBmb3IgZWFjaCBzeXNjYWxsIGFuZCByZXBvcnQgc3VtbWFyeVxuXAorLWYgLS0gZm9sbG93IGZvcmtzLCAtZmYgLS0gd2l0aCBvdXRwdXQgaW50byBzZXBhcmF0ZSBmaWxlc1xuXAorLUYgLS0gYXR0ZW1wdCB0byBmb2xsb3cgdmZvcmtzLCAtaCAtLSBwcmludCBoZWxwIG1lc3NhZ2VcblwKKy1pIC0tIHByaW50IGluc3RydWN0aW9uIHBvaW50ZXIgYXQgdGltZSBvZiBzeXNjYWxsXG5cCistcSAtLSBzdXBwcmVzcyBtZXNzYWdlcyBhYm91dCBhdHRhY2hpbmcsIGRldGFjaGluZywgZXRjLlxuXAorLXIgLS0gcHJpbnQgcmVsYXRpdmUgdGltZXN0YW1wLCAtdCAtLSBhYnNvbHV0ZSB0aW1lc3RhbXAsIC10dCAtLSB3aXRoIHVzZWNzXG5cCistVCAtLSBwcmludCB0aW1lIHNwZW50IGluIGVhY2ggc3lzY2FsbCwgLVYgLS0gcHJpbnQgdmVyc2lvblxuXAorLXYgLS0gdmVyYm9zZSBtb2RlOiBwcmludCB1bmFiYnJldmlhdGVkIGFyZ3YsIHN0YXQsIHRlcm1pb1tzXSwgZXRjLiBhcmdzXG5cCisteCAtLSBwcmludCBub24tYXNjaWkgc3RyaW5ncyBpbiBoZXgsIC14eCAtLSBwcmludCBhbGwgc3RyaW5ncyBpbiBoZXhcblwKKy1hIGNvbHVtbiAtLSBhbGlnbm1lbnQgQ09MVU1OIGZvciBwcmludGluZyBzeXNjYWxsIHJlc3VsdHMgKGRlZmF1bHQgJWQpXG5cCistZSBleHByIC0tIGEgcXVhbGlmeWluZyBleHByZXNzaW9uOiBvcHRpb249WyFdYWxsIG9yIG9wdGlvbj1bIV12YWwxWyx2YWwyXS4uLlxuXAorICAgb3B0aW9uczogdHJhY2UsIGFiYnJldiwgdmVyYm9zZSwgcmF3LCBzaWduYWwsIHJlYWQsIG9yIHdyaXRlXG5cCistbyBmaWxlIC0tIHNlbmQgdHJhY2Ugb3V0cHV0IHRvIEZJTEUgaW5zdGVhZCBvZiBzdGRlcnJcblwKKy1PIG92ZXJoZWFkIC0tIHNldCBvdmVyaGVhZCBmb3IgdHJhY2luZyBzeXNjYWxscyB0byBPVkVSSEVBRCB1c2Vjc1xuXAorLXAgcGlkIC0tIHRyYWNlIHByb2Nlc3Mgd2l0aCBwcm9jZXNzIGlkIFBJRCwgbWF5IGJlIHJlcGVhdGVkXG5cCistRCAtLSBydW4gdHJhY2VyIHByb2Nlc3MgYXMgYSBkZXRhY2hlZCBncmFuZGNoaWxkLCBub3QgYXMgcGFyZW50XG5cCistcyBzdHJzaXplIC0tIGxpbWl0IGxlbmd0aCBvZiBwcmludCBzdHJpbmdzIHRvIFNUUlNJWkUgY2hhcnMgKGRlZmF1bHQgJWQpXG5cCistUyBzb3J0YnkgLS0gc29ydCBzeXNjYWxsIGNvdW50cyBieTogdGltZSwgY2FsbHMsIG5hbWUsIG5vdGhpbmcgKGRlZmF1bHQgJXMpXG5cCistdSB1c2VybmFtZSAtLSBydW4gY29tbWFuZCBhcyB1c2VybmFtZSBoYW5kbGluZyBzZXR1aWQgYW5kL29yIHNldGdpZFxuXAorLUUgdmFyPXZhbCAtLSBwdXQgdmFyPXZhbCBpbiB0aGUgZW52aXJvbm1lbnQgZm9yIGNvbW1hbmRcblwKKy1FIHZhciAtLSByZW1vdmUgdmFyIGZyb20gdGhlIGVudmlyb25tZW50IGZvciBjb21tYW5kXG5cCisiIC8qIHRoaXMgaXMgYnJva2VuLCBzbyBkb24ndCBkb2N1bWVudCBpdAorLXogLS0gcHJpbnQgb25seSBzdWNjZWVkaW5nIHN5c2NhbGxzXG5cCisgICovCissIERFRkFVTFRfQUNPTFVNTiwgREVGQVVMVF9TVFJMRU4sIERFRkFVTFRfU09SVEJZKTsKKwlleGl0KGV4aXR2YWwpOworfQorCisjaWZkZWYgU1ZSNAorI2lmZGVmIE1JUFMKK3ZvaWQKK2Zvb2JhcigpCit7Cit9CisjZW5kaWYgLyogTUlQUyAqLworI2VuZGlmIC8qIFNWUjQgKi8KKworLyogR2x1ZSBmb3Igc3lzdGVtcyB3aXRob3V0IGEgTU1VIHRoYXQgY2Fubm90IHByb3ZpZGUgZm9yaygpICovCisjaWZkZWYgSEFWRV9GT1JLCisjIGRlZmluZSBzdHJhY2VfdmZvcmtlZCAwCisjZWxzZQorIyBkZWZpbmUgc3RyYWNlX3Zmb3JrZWQgMQorIyBkZWZpbmUgZm9yaygpICAgICAgICAgdmZvcmsoKQorI2VuZGlmCisKK3N0YXRpYyBpbnQKK3NldF9jbG9leGVjX2ZsYWcoaW50IGZkKQoreworCWludCAgICAgZmxhZ3MsIG5ld2ZsYWdzOworCisJaWYgKChmbGFncyA9IGZjbnRsKGZkLCBGX0dFVEZELCAwKSkgPCAwKQorCXsKKwkJZnByaW50ZihzdGRlcnIsICIlczogZmNudGwgRl9HRVRGRDogJXNcbiIsCisJCQlwcm9nbmFtZSwgc3RyZXJyb3IoZXJybm8pKTsKKwkJcmV0dXJuIC0xOworCX0KKworCW5ld2ZsYWdzID0gZmxhZ3MgfCBGRF9DTE9FWEVDOworCWlmIChmbGFncyA9PSBuZXdmbGFncykKKwkJcmV0dXJuIDA7CisKKwlpZiAoZmNudGwoZmQsIEZfU0VURkQsIG5ld2ZsYWdzKSA8IDApCisJeworCQlmcHJpbnRmKHN0ZGVyciwgIiVzOiBmY250bCBGX1NFVEZEOiAlc1xuIiwKKwkJCXByb2duYW1lLCBzdHJlcnJvcihlcnJubykpOworCQlyZXR1cm4gLTE7CisJfQorCisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBXaGVuIHN0cmFjZSBpcyBzZXR1aWQgZXhlY3V0YWJsZSwgd2UgaGF2ZSB0byBzd2FwIHVpZHMKKyAqIGJlZm9yZSBhbmQgYWZ0ZXIgZmlsZXN5c3RlbSBhbmQgcHJvY2VzcyBtYW5hZ2VtZW50IG9wZXJhdGlvbnMuCisgKi8KK3N0YXRpYyB2b2lkCitzd2FwX3VpZCh2b2lkKQoreworI2lmbmRlZiBTVlI0CisJaW50IGV1aWQgPSBnZXRldWlkKCksIHVpZCA9IGdldHVpZCgpOworCisJaWYgKGV1aWQgIT0gdWlkICYmIHNldHJldWlkKGV1aWQsIHVpZCkgPCAwKQorCXsKKwkJZnByaW50ZihzdGRlcnIsICIlczogc2V0cmV1aWQ6ICVzXG4iLAorCQkJcHJvZ25hbWUsIHN0cmVycm9yKGVycm5vKSk7CisJCWV4aXQoMSk7CisJfQorI2VuZGlmCit9CisKKyNpZiBfTEZTNjRfTEFSR0VGSUxFCisjIGRlZmluZSBmb3Blbl9mb3Jfb3V0cHV0IGZvcGVuNjQKKyNlbHNlCisjIGRlZmluZSBmb3Blbl9mb3Jfb3V0cHV0IGZvcGVuCisjZW5kaWYKKworc3RhdGljIEZJTEUgKgorc3RyYWNlX2ZvcGVuKGNvbnN0IGNoYXIgKnBhdGgsIGNvbnN0IGNoYXIgKm1vZGUpCit7CisJRklMRSAqZnA7CisKKwlzd2FwX3VpZCgpOworCWlmICgoZnAgPSBmb3Blbl9mb3Jfb3V0cHV0KHBhdGgsIG1vZGUpKSA9PSBOVUxMKQorCQlmcHJpbnRmKHN0ZGVyciwgIiVzOiBjYW4ndCBmb3BlbiAnJXMnOiAlc1xuIiwKKwkJCXByb2duYW1lLCBwYXRoLCBzdHJlcnJvcihlcnJubykpOworCXN3YXBfdWlkKCk7CisJaWYgKGZwICYmIHNldF9jbG9leGVjX2ZsYWcoZmlsZW5vKGZwKSkgPCAwKQorCXsKKwkJZmNsb3NlKGZwKTsKKwkJZnAgPSBOVUxMOworCX0KKwlyZXR1cm4gZnA7Cit9CisKK3N0YXRpYyBpbnQgcG9wZW5fcGlkID0gLTE7CisKKyNpZm5kZWYgX1BBVEhfQlNIRUxMCisjIGRlZmluZSBfUEFUSF9CU0hFTEwgIi9iaW4vc2giCisjZW5kaWYKKworLyoKKyAqIFdlIGNhbm5vdCB1c2Ugc3RhbmRhcmQgcG9wZW4oMykgaGVyZSBiZWNhdXNlIHdlIGhhdmUgdG8gZGlzdGluZ3Vpc2gKKyAqIHBvcGVuIGNoaWxkIHByb2Nlc3MgZnJvbSBvdGhlciBwcm9jZXNzZXMgd2UgdHJhY2UsIGFuZCBzdGFuZGFyZCBwb3BlbigzKQorICogZG9lcyBub3QgZXhwb3J0IGl0cyBjaGlsZCdzIHBpZC4KKyAqLworc3RhdGljIEZJTEUgKgorc3RyYWNlX3BvcGVuKGNvbnN0IGNoYXIgKmNvbW1hbmQpCit7CisJaW50ICAgICBmZHNbMl07CisKKwlzd2FwX3VpZCgpOworCWlmIChwaXBlKGZkcykgPCAwKQorCXsKKwkJZnByaW50ZihzdGRlcnIsICIlczogcGlwZTogJXNcbiIsCisJCQlwcm9nbmFtZSwgc3RyZXJyb3IoZXJybm8pKTsKKwkJc3dhcF91aWQoKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCisJaWYgKHNldF9jbG9leGVjX2ZsYWcoZmRzWzFdKSA8IDApCisJeworCQljbG9zZShmZHNbMF0pOworCQljbG9zZShmZHNbMV0pOworCQlzd2FwX3VpZCgpOworCQlyZXR1cm4gTlVMTDsKKwl9CisKKwlpZiAoKHBvcGVuX3BpZCA9IGZvcmsoKSkgPT0gLTEpCisJeworCQlmcHJpbnRmKHN0ZGVyciwgIiVzOiBmb3JrOiAlc1xuIiwKKwkJCXByb2duYW1lLCBzdHJlcnJvcihlcnJubykpOworCQljbG9zZShmZHNbMF0pOworCQljbG9zZShmZHNbMV0pOworCQlzd2FwX3VpZCgpOworCQlyZXR1cm4gTlVMTDsKKwl9CisKKwlpZiAocG9wZW5fcGlkKQorCXsKKwkJLyogcGFyZW50ICovCisJCWNsb3NlKGZkc1swXSk7CisJCXN3YXBfdWlkKCk7CisJCXJldHVybiBmZG9wZW4oZmRzWzFdLCAidyIpOworCX0gZWxzZQorCXsKKwkJLyogY2hpbGQgKi8KKwkJY2xvc2UoZmRzWzFdKTsKKwkJaWYgKGZkc1swXSAmJiAoZHVwMihmZHNbMF0sIDApIHx8IGNsb3NlKGZkc1swXSkpKQorCQl7CisJCQlmcHJpbnRmKHN0ZGVyciwgIiVzOiBkdXAyOiAlc1xuIiwKKwkJCQlwcm9nbmFtZSwgc3RyZXJyb3IoZXJybm8pKTsKKwkJCV9leGl0KDEpOworCQl9CisJCWV4ZWNsKF9QQVRIX0JTSEVMTCwgInNoIiwgIi1jIiwgY29tbWFuZCwgTlVMTCk7CisJCWZwcmludGYoc3RkZXJyLCAiJXM6IGV4ZWNsOiAlczogJXNcbiIsCisJCQlwcm9nbmFtZSwgX1BBVEhfQlNIRUxMLCBzdHJlcnJvcihlcnJubykpOworCQlfZXhpdCgxKTsKKwl9Cit9CisKK3N0YXRpYyBpbnQKK25ld291dGYoc3RydWN0IHRjYiAqdGNwKQoreworCWlmIChvdXRmbmFtZSAmJiBmb2xsb3dmb3JrID4gMSkgeworCQljaGFyIG5hbWVbNTIwICsgc2l6ZW9mKGludCkgKiAzXTsKKwkJRklMRSAqZnA7CisKKwkJc3ByaW50ZihuYW1lLCAiJS41MTJzLiV1Iiwgb3V0Zm5hbWUsIHRjcC0+cGlkKTsKKwkJaWYgKChmcCA9IHN0cmFjZV9mb3BlbihuYW1lLCAidyIpKSA9PSBOVUxMKQorCQkJcmV0dXJuIC0xOworCQl0Y3AtPm91dGYgPSBmcDsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkCitzdGFydHVwX2F0dGFjaCh2b2lkKQoreworCWludCB0Y2JpOworCXN0cnVjdCB0Y2IgKnRjcDsKKworCS8qCisJICogQmxvY2sgdXNlciBpbnRlcnJ1cHRpb25zIGFzIHdlIHdvdWxkIGxlYXZlIHRoZSB0cmFjZWQKKwkgKiBwcm9jZXNzIHN0b3BwZWQgKHByb2Nlc3Mgc3RhdGUgVCkgaWYgd2Ugd291bGQgdGVybWluYXRlIGluCisJICogYmV0d2VlbiBQVFJBQ0VfQVRUQUNIIGFuZCB3YWl0NCAoKSBvbiBTSUdTVE9QLgorCSAqIFdlIHJlbHkgb24gY2xlYW51cCAoKSBmcm9tIHRoaXMgcG9pbnQgb24uCisJICovCisJaWYgKGludGVyYWN0aXZlKQorCQlzaWdwcm9jbWFzayhTSUdfQkxPQ0ssICZibG9ja2VkX3NldCwgTlVMTCk7CisKKwlpZiAoZGFlbW9uaXplZF90cmFjZXIpIHsKKwkJcGlkX3QgcGlkID0gZm9yaygpOworCQlpZiAocGlkIDwgMCkgeworCQkJX2V4aXQoMSk7CisJCX0KKwkJaWYgKHBpZCkgeyAvKiBwYXJlbnQgKi8KKwkJCS8qCisJCQkgKiBXYWl0IGZvciBjaGlsZCB0byBhdHRhY2ggdG8gc3RyYWNlZCBwcm9jZXNzCisJCQkgKiAob3VyIHBhcmVudCkuIENoaWxkIFNJR0tJTExzIHVzIGFmdGVyIGl0IGF0dGFjaGVkLgorCQkJICogUGFyZW50J3Mgd2FpdCgpIGlzIHVuYmxvY2tlZCBieSBvdXIgZGVhdGgsCisJCQkgKiBpdCBwcm9jZWVkcyB0byBleGVjIHRoZSBzdHJhY2VkIHByb2dyYW0uCisJCQkgKi8KKwkJCXBhdXNlKCk7CisJCQlfZXhpdCgwKTsgLyogcGFyYW5vaWEgKi8KKwkJfQorCX0KKworCWZvciAodGNiaSA9IDA7IHRjYmkgPCB0Y2J0YWJzaXplOyB0Y2JpKyspIHsKKwkJdGNwID0gdGNidGFiW3RjYmldOworCQlpZiAoISh0Y3AtPmZsYWdzICYgVENCX0lOVVNFKSB8fCAhKHRjcC0+ZmxhZ3MgJiBUQ0JfQVRUQUNIRUQpKQorCQkJY29udGludWU7CisjaWZkZWYgTElOVVgKKwkJaWYgKHRjcC0+ZmxhZ3MgJiBUQ0JfQ0xPTkVfVEhSRUFEKQorCQkJY29udGludWU7CisjZW5kaWYKKwkJLyogUmVpbml0aWFsaXplIHRoZSBvdXRwdXQgc2luY2UgaXQgbWF5IGhhdmUgY2hhbmdlZC4gKi8KKwkJdGNwLT5vdXRmID0gb3V0ZjsKKwkJaWYgKG5ld291dGYodGNwKSA8IDApCisJCQlleGl0KDEpOworCisjaWZkZWYgVVNFX1BST0NGUworCQlpZiAocHJvY19vcGVuKHRjcCwgMSkgPCAwKSB7CisJCQlmcHJpbnRmKHN0ZGVyciwgInRyb3VibGUgb3BlbmluZyBwcm9jIGZpbGVcbiIpOworCQkJZHJvcHRjYih0Y3ApOworCQkJY29udGludWU7CisJCX0KKyNlbHNlIC8qICFVU0VfUFJPQ0ZTICovCisjIGlmZGVmIExJTlVYCisJCWlmIChmb2xsb3dmb3JrICYmICFkYWVtb25pemVkX3RyYWNlcikgeworCQkJY2hhciBwcm9jZGlyW3NpemVvZigiL3Byb2MvJWQvdGFzayIpICsgc2l6ZW9mKGludCkgKiAzXTsKKwkJCURJUiAqZGlyOworCisJCQlzcHJpbnRmKHByb2NkaXIsICIvcHJvYy8lZC90YXNrIiwgdGNwLT5waWQpOworCQkJZGlyID0gb3BlbmRpcihwcm9jZGlyKTsKKwkJCWlmIChkaXIgIT0gTlVMTCkgeworCQkJCXVuc2lnbmVkIGludCBudGlkID0gMCwgbmVyciA9IDA7CisJCQkJc3RydWN0IGRpcmVudCAqZGU7CisJCQkJaW50IHRpZDsKKwkJCQl3aGlsZSAoKGRlID0gcmVhZGRpcihkaXIpKSAhPSBOVUxMKSB7CisJCQkJCWlmIChkZS0+ZF9maWxlbm8gPT0gMCkKKwkJCQkJCWNvbnRpbnVlOworCQkJCQl0aWQgPSBhdG9pKGRlLT5kX25hbWUpOworCQkJCQlpZiAodGlkIDw9IDApCisJCQkJCQljb250aW51ZTsKKwkJCQkJKytudGlkOworCQkJCQlpZiAocHRyYWNlKFBUUkFDRV9BVFRBQ0gsIHRpZCwgKGNoYXIgKikgMSwgMCkgPCAwKQorCQkJCQkJKytuZXJyOworCQkJCQllbHNlIGlmICh0aWQgIT0gdGNidGFiW3RjYmldLT5waWQpIHsKKwkJCQkJCXRjcCA9IGFsbG9jdGNiKHRpZCk7CisJCQkJCQl0Y3AtPmZsYWdzIHw9IFRDQl9BVFRBQ0hFRHxUQ0JfQ0xPTkVfVEhSRUFEfFRDQl9DTE9ORV9ERVRBQ0hFRHxUQ0JfRk9MTE9XRk9SSzsKKwkJCQkJCXRjYnRhYlt0Y2JpXS0+bmNoaWxkcmVuKys7CisJCQkJCQl0Y2J0YWJbdGNiaV0tPm5jbG9uZV90aHJlYWRzKys7CisJCQkJCQl0Y2J0YWJbdGNiaV0tPm5jbG9uZV9kZXRhY2hlZCsrOworCQkJCQkJdGNwLT5wYXJlbnQgPSB0Y2J0YWJbdGNiaV07CisJCQkJCX0KKwkJCQkJaWYgKGludGVyYWN0aXZlKSB7CisJCQkJCQlzaWdwcm9jbWFzayhTSUdfU0VUTUFTSywgJmVtcHR5X3NldCwgTlVMTCk7CisJCQkJCQlpZiAoaW50ZXJydXB0ZWQpCisJCQkJCQkJcmV0dXJuOworCQkJCQkJc2lncHJvY21hc2soU0lHX0JMT0NLLCAmYmxvY2tlZF9zZXQsIE5VTEwpOworCQkJCQl9CisJCQkJfQorCQkJCWNsb3NlZGlyKGRpcik7CisJCQkJbnRpZCAtPSBuZXJyOworCQkJCWlmIChudGlkID09IDApIHsKKwkJCQkJcGVycm9yKCJhdHRhY2g6IHB0cmFjZShQVFJBQ0VfQVRUQUNILCAuLi4pIik7CisJCQkJCWRyb3B0Y2IodGNwKTsKKwkJCQkJY29udGludWU7CisJCQkJfQorCQkJCWlmICghcWZsYWcpIHsKKwkJCQkJZnByaW50ZihzdGRlcnIsIG50aWQgPiAxCis/ICJQcm9jZXNzICV1IGF0dGFjaGVkIHdpdGggJXUgdGhyZWFkcyAtIGludGVycnVwdCB0byBxdWl0XG4iCis6ICJQcm9jZXNzICV1IGF0dGFjaGVkIC0gaW50ZXJydXB0IHRvIHF1aXRcbiIsCisJCQkJCQl0Y2J0YWJbdGNiaV0tPnBpZCwgbnRpZCk7CisJCQkJfQorCQkJCWNvbnRpbnVlOworCQkJfSAvKiBpZiAob3BlbmRpciB3b3JrZWQpICovCisJCX0gLyogaWYgKC1mKSAqLworIyBlbmRpZgorCQlpZiAocHRyYWNlKFBUUkFDRV9BVFRBQ0gsIHRjcC0+cGlkLCAoY2hhciAqKSAxLCAwKSA8IDApIHsKKwkJCXBlcnJvcigiYXR0YWNoOiBwdHJhY2UoUFRSQUNFX0FUVEFDSCwgLi4uKSIpOworCQkJZHJvcHRjYih0Y3ApOworCQkJY29udGludWU7CisJCX0KKwkJLyogSU5URVJSVVBURUQgaXMgZ29pbmcgdG8gYmUgY2hlY2tlZCBhdCB0aGUgdG9wIG9mIFRSQUNFLiAgKi8KKworCQlpZiAoZGFlbW9uaXplZF90cmFjZXIpIHsKKwkJCS8qCisJCQkgKiBJdCBpcyBvdXIgZ3JhbmRwYXJlbnQgd2UgdHJhY2UsIG5vdCBhIC1wIFBJRC4KKwkJCSAqIERvbid0IHdhbnQgdG8ganVzdCBkZXRhY2ggb24gZXhpdCwgc28uLi4KKwkJCSAqLworCQkJdGNwLT5mbGFncyAmPSB+VENCX0FUVEFDSEVEOworCQkJLyoKKwkJCSAqIE1ha2UgcGFyZW50IGdvIGF3YXkuCisJCQkgKiBBbHNvIG1ha2VzIGdyYW5kcGFyZW50J3Mgd2FpdCgpIHVuYmxvY2suCisJCQkgKi8KKwkJCWtpbGwoZ2V0cHBpZCgpLCBTSUdLSUxMKTsKKwkJfQorCisjZW5kaWYgLyogIVVTRV9QUk9DRlMgKi8KKwkJaWYgKCFxZmxhZykKKwkJCWZwcmludGYoc3RkZXJyLAorCQkJCSJQcm9jZXNzICV1IGF0dGFjaGVkIC0gaW50ZXJydXB0IHRvIHF1aXRcbiIsCisJCQkJdGNwLT5waWQpOworCX0KKworCWlmIChpbnRlcmFjdGl2ZSkKKwkJc2lncHJvY21hc2soU0lHX1NFVE1BU0ssICZlbXB0eV9zZXQsIE5VTEwpOworfQorCitzdGF0aWMgdm9pZAorc3RhcnR1cF9jaGlsZCAoY2hhciAqKmFyZ3YpCit7CisJc3RydWN0IHN0YXQgc3RhdGJ1ZjsKKwljb25zdCBjaGFyICpmaWxlbmFtZTsKKwljaGFyIHBhdGhuYW1lW01BWFBBVEhMRU5dOworCWludCBwaWQgPSAwOworCXN0cnVjdCB0Y2IgKnRjcDsKKworCWZpbGVuYW1lID0gYXJndlswXTsKKwlpZiAoc3RyY2hyKGZpbGVuYW1lLCAnLycpKSB7CisJCWlmIChzdHJsZW4oZmlsZW5hbWUpID4gc2l6ZW9mIHBhdGhuYW1lIC0gMSkgeworCQkJZXJybm8gPSBFTkFNRVRPT0xPTkc7CisJCQlwZXJyb3IoInN0cmFjZTogZXhlYyIpOworCQkJZXhpdCgxKTsKKwkJfQorCQlzdHJjcHkocGF0aG5hbWUsIGZpbGVuYW1lKTsKKwl9CisjaWZkZWYgVVNFX0RFQlVHR0lOR19FWEVDCisJLyoKKwkgKiBEZWJ1Z2dlcnMgY3VzdG9tYXJpbHkgY2hlY2sgdGhlIGN1cnJlbnQgZGlyZWN0b3J5CisJICogZmlyc3QgcmVnYXJkbGVzcyBvZiB0aGUgcGF0aCBidXQgZG9pbmcgdGhhdCBnaXZlcworCSAqIHNlY3VyaXR5IGdlZWtzIGEgcGFuaWMgYXR0YWNrLgorCSAqLworCWVsc2UgaWYgKHN0YXQoZmlsZW5hbWUsICZzdGF0YnVmKSA9PSAwKQorCQlzdHJjcHkocGF0aG5hbWUsIGZpbGVuYW1lKTsKKyNlbmRpZiAvKiBVU0VfREVCVUdHSU5HX0VYRUMgKi8KKwllbHNlIHsKKwkJY2hhciAqcGF0aDsKKwkJaW50IG0sIG4sIGxlbjsKKworCQlmb3IgKHBhdGggPSBnZXRlbnYoIlBBVEgiKTsgcGF0aCAmJiAqcGF0aDsgcGF0aCArPSBtKSB7CisJCQlpZiAoc3RyY2hyKHBhdGgsICc6JykpIHsKKwkJCQluID0gc3RyY2hyKHBhdGgsICc6JykgLSBwYXRoOworCQkJCW0gPSBuICsgMTsKKwkJCX0KKwkJCWVsc2UKKwkJCQltID0gbiA9IHN0cmxlbihwYXRoKTsKKwkJCWlmIChuID09IDApIHsKKwkJCQlpZiAoIWdldGN3ZChwYXRobmFtZSwgTUFYUEFUSExFTikpCisJCQkJCWNvbnRpbnVlOworCQkJCWxlbiA9IHN0cmxlbihwYXRobmFtZSk7CisJCQl9CisJCQllbHNlIGlmIChuID4gc2l6ZW9mIHBhdGhuYW1lIC0gMSkKKwkJCQljb250aW51ZTsKKwkJCWVsc2UgeworCQkJCXN0cm5jcHkocGF0aG5hbWUsIHBhdGgsIG4pOworCQkJCWxlbiA9IG47CisJCQl9CisJCQlpZiAobGVuICYmIHBhdGhuYW1lW2xlbiAtIDFdICE9ICcvJykKKwkJCQlwYXRobmFtZVtsZW4rK10gPSAnLyc7CisJCQlzdHJjcHkocGF0aG5hbWUgKyBsZW4sIGZpbGVuYW1lKTsKKwkJCWlmIChzdGF0KHBhdGhuYW1lLCAmc3RhdGJ1ZikgPT0gMCAmJgorCQkJICAgIC8qIEFjY2VwdCBvbmx5IHJlZ3VsYXIgZmlsZXMKKwkJCSAgICAgICB3aXRoIHNvbWUgZXhlY3V0ZSBiaXRzIHNldC4KKwkJCSAgICAgICBYWFggbm90IHBlcmZlY3QsIG1pZ2h0IHN0aWxsIGZhaWwgKi8KKwkJCSAgICBTX0lTUkVHKHN0YXRidWYuc3RfbW9kZSkgJiYKKwkJCSAgICAoc3RhdGJ1Zi5zdF9tb2RlICYgMDExMSkpCisJCQkJYnJlYWs7CisJCX0KKwl9CisJaWYgKHN0YXQocGF0aG5hbWUsICZzdGF0YnVmKSA8IDApIHsKKwkJZnByaW50ZihzdGRlcnIsICIlczogJXM6IGNvbW1hbmQgbm90IGZvdW5kXG4iLAorCQkJcHJvZ25hbWUsIGZpbGVuYW1lKTsKKwkJZXhpdCgxKTsKKwl9CisJc3RyYWNlX2NoaWxkID0gcGlkID0gZm9yaygpOworCWlmIChwaWQgPCAwKSB7CisJCXBlcnJvcigic3RyYWNlOiBmb3JrIik7CisJCWNsZWFudXAoKTsKKwkJZXhpdCgxKTsKKwl9CisJaWYgKChwaWQgIT0gMCAmJiBkYWVtb25pemVkX3RyYWNlcikgLyogcGFyZW50OiB0byBiZWNvbWUgYSB0cmFjZWQgcHJvY2VzcyAqLworCSB8fCAocGlkID09IDAgJiYgIWRhZW1vbml6ZWRfdHJhY2VyKSAvKiBjaGlsZDogdG8gYmVjb21lIGEgdHJhY2VkIHByb2Nlc3MgKi8KKwkpIHsKKwkJcGlkID0gZ2V0cGlkKCk7CisjaWZkZWYgVVNFX1BST0NGUworCQlpZiAob3V0ZiAhPSBzdGRlcnIpIGNsb3NlIChmaWxlbm8gKG91dGYpKTsKKyNpZmRlZiBNSVBTCisJCS8qIEtsdWRnZSBmb3IgU0dJLCBzZWUgcHJvY19vcGVuIGZvciBkZXRhaWxzLiAqLworCQlzYS5zYV9oYW5kbGVyID0gZm9vYmFyOworCQlzYS5zYV9mbGFncyA9IDA7CisJCXNpZ2VtcHR5c2V0KCZzYS5zYV9tYXNrKTsKKwkJc2lnYWN0aW9uKFNJR0lOVCwgJnNhLCBOVUxMKTsKKyNlbmRpZiAvKiBNSVBTICovCisjaWZuZGVmIEZSRUVCU0QKKwkJcGF1c2UoKTsKKyNlbHNlIC8qIEZSRUVCU0QgKi8KKwkJa2lsbChwaWQsIFNJR1NUT1ApOyAvKiBzdG9wIEhFUkUgKi8KKyNlbmRpZiAvKiBGUkVFQlNEICovCisjZWxzZSAvKiAhVVNFX1BST0NGUyAqLworCQlpZiAob3V0ZiE9c3RkZXJyKQorCQkJY2xvc2UoZmlsZW5vIChvdXRmKSk7CisKKwkJaWYgKCFkYWVtb25pemVkX3RyYWNlcikgeworCQkJaWYgKHB0cmFjZShQVFJBQ0VfVFJBQ0VNRSwgMCwgKGNoYXIgKikgMSwgMCkgPCAwKSB7CisJCQkJcGVycm9yKCJzdHJhY2U6IHB0cmFjZShQVFJBQ0VfVFJBQ0VNRSwgLi4uKSIpOworCQkJCWV4aXQoMSk7CisJCQl9CisJCQlpZiAoZGVidWcpCisJCQkJa2lsbChwaWQsIFNJR1NUT1ApOworCQl9CisKKwkJaWYgKHVzZXJuYW1lICE9IE5VTEwgfHwgZ2V0ZXVpZCgpID09IDApIHsKKwkJCXVpZF90IHJ1bl9ldWlkID0gcnVuX3VpZDsKKwkJCWdpZF90IHJ1bl9lZ2lkID0gcnVuX2dpZDsKKworCQkJaWYgKHN0YXRidWYuc3RfbW9kZSAmIFNfSVNVSUQpCisJCQkJcnVuX2V1aWQgPSBzdGF0YnVmLnN0X3VpZDsKKwkJCWlmIChzdGF0YnVmLnN0X21vZGUgJiBTX0lTR0lEKQorCQkJCXJ1bl9lZ2lkID0gc3RhdGJ1Zi5zdF9naWQ7CisKKwkJCS8qCisJCQkgKiBJdCBpcyBpbXBvcnRhbnQgdG8gc2V0IGdyb3VwcyBiZWZvcmUgd2UKKwkJCSAqIGxvc2UgcHJpdmlsZWdlcyBvbiBzZXR1aWQuCisJCQkgKi8KKwkJCWlmICh1c2VybmFtZSAhPSBOVUxMKSB7CisJCQkJaWYgKGluaXRncm91cHModXNlcm5hbWUsIHJ1bl9naWQpIDwgMCkgeworCQkJCQlwZXJyb3IoImluaXRncm91cHMiKTsKKwkJCQkJZXhpdCgxKTsKKwkJCQl9CisJCQkJaWYgKHNldHJlZ2lkKHJ1bl9naWQsIHJ1bl9lZ2lkKSA8IDApIHsKKwkJCQkJcGVycm9yKCJzZXRyZWdpZCIpOworCQkJCQlleGl0KDEpOworCQkJCX0KKwkJCQlpZiAoc2V0cmV1aWQocnVuX3VpZCwgcnVuX2V1aWQpIDwgMCkgeworCQkJCQlwZXJyb3IoInNldHJldWlkIik7CisJCQkJCWV4aXQoMSk7CisJCQkJfQorCQkJfQorCQl9CisJCWVsc2UKKwkJCXNldHJldWlkKHJ1bl91aWQsIHJ1bl91aWQpOworCisJCWlmICghZGFlbW9uaXplZF90cmFjZXIpIHsKKwkJCS8qCisJCQkgKiBJbmR1Y2UgYW4gaW1tZWRpYXRlIHN0b3Agc28gdGhhdCB0aGUgcGFyZW50CisJCQkgKiB3aWxsIHJlc3VtZSB1cyB3aXRoIFBUUkFDRV9TWVNDQUxMIGFuZCBkaXNwbGF5CisJCQkgKiB0aGlzIGV4ZWN2ZSBjYWxsIG5vcm1hbGx5LgorCQkJICogVW5sZXNzIG9mIGNvdXJzZSB3ZSdyZSBvbiBhIG5vLU1NVSBzeXN0ZW0gd2hlcmUKKwkJCSAqIHdlIHZmb3JrKCktZWQsIHNvIHdlIGNhbm5vdCBzdG9wIHRoZSBjaGlsZC4KKwkJCSAqLworCQkJaWYgKCFzdHJhY2VfdmZvcmtlZCkKKwkJCQlraWxsKGdldHBpZCgpLCBTSUdTVE9QKTsKKwkJfSBlbHNlIHsKKwkJCXN0cnVjdCBzaWdhY3Rpb24gc3Zfc2lnY2hsZDsKKwkJCXNpZ2FjdGlvbihTSUdDSExELCBOVUxMLCAmc3Zfc2lnY2hsZCk7CisJCQkvKgorCQkJICogTWFrZSBzdXJlIGl0IGlzIG5vdCBTSUdfSUdOLCBvdGhlcndpc2Ugd2FpdAorCQkJICogd2lsbCBub3QgYmxvY2suCisJCQkgKi8KKwkJCXNpZ25hbChTSUdDSExELCBTSUdfREZMKTsKKwkJCS8qCisJCQkgKiBXYWl0IGZvciBncmFuZGNoaWxkIHRvIGF0dGFjaCB0byB1cy4KKwkJCSAqIEl0IGtpbGxzIGNoaWxkIGFmdGVyIHRoYXQsIGFuZCB3YWl0KCkgdW5ibG9ja3MuCisJCQkgKi8KKwkJCWFsYXJtKDMpOworCQkJd2FpdChOVUxMKTsKKwkJCWFsYXJtKDApOworCQkJc2lnYWN0aW9uKFNJR0NITEQsICZzdl9zaWdjaGxkLCBOVUxMKTsKKwkJfQorI2VuZGlmIC8qICFVU0VfUFJPQ0ZTICovCisKKwkJZXhlY3YocGF0aG5hbWUsIGFyZ3YpOworCQlwZXJyb3IoInN0cmFjZTogZXhlYyIpOworCQlfZXhpdCgxKTsKKwl9CisKKwkvKiBXZSBhcmUgdGhlIHRyYWNlci4gICovCisJdGNwID0gYWxsb2N0Y2IoZGFlbW9uaXplZF90cmFjZXIgPyBnZXRwcGlkKCkgOiBwaWQpOworCWlmIChkYWVtb25pemVkX3RyYWNlcikgeworCQkvKiBXZSB3YW50IHN1YnNlcXVlbnQgc3RhcnR1cF9hdHRhY2goKSB0byBhdHRhY2ggdG8gaXQuICAqLworCQl0Y3AtPmZsYWdzIHw9IFRDQl9BVFRBQ0hFRDsKKwl9CisjaWZkZWYgVVNFX1BST0NGUworCWlmIChwcm9jX29wZW4odGNwLCAwKSA8IDApIHsKKwkJZnByaW50ZihzdGRlcnIsICJ0cm91YmxlIG9wZW5pbmcgcHJvYyBmaWxlXG4iKTsKKwkJY2xlYW51cCgpOworCQlleGl0KDEpOworCX0KKyNlbmRpZiAvKiBVU0VfUFJPQ0ZTICovCit9CisKK2ludAorbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCXN0cnVjdCB0Y2IgKnRjcDsKKwlpbnQgYywgcGlkID0gMDsKKwlpbnQgb3B0RiA9IDA7CisJc3RydWN0IHNpZ2FjdGlvbiBzYTsKKworCXN0YXRpYyBjaGFyIGJ1ZltCVUZTSVpdOworCisJcHJvZ25hbWUgPSBhcmd2WzBdID8gYXJndlswXSA6ICJzdHJhY2UiOworCisJLyogQWxsb2NhdGUgdGhlIGluaXRpYWwgdGNidGFiLiAgKi8KKwl0Y2J0YWJzaXplID0gYXJnYzsJLyogU3VyZWx5IGVub3VnaCBmb3IgYWxsIC1wIGFyZ3MuICAqLworCWlmICgodGNidGFiID0gY2FsbG9jKHRjYnRhYnNpemUsIHNpemVvZiB0Y2J0YWJbMF0pKSA9PSBOVUxMKSB7CisJCWZwcmludGYoc3RkZXJyLCAiJXM6IG91dCBvZiBtZW1vcnlcbiIsIHByb2duYW1lKTsKKwkJZXhpdCgxKTsKKwl9CisJaWYgKCh0Y2J0YWJbMF0gPSBjYWxsb2ModGNidGFic2l6ZSwgc2l6ZW9mIHRjYnRhYlswXVswXSkpID09IE5VTEwpIHsKKwkJZnByaW50ZihzdGRlcnIsICIlczogb3V0IG9mIG1lbW9yeVxuIiwgcHJvZ25hbWUpOworCQlleGl0KDEpOworCX0KKwlmb3IgKHRjcCA9IHRjYnRhYlswXTsgdGNwIDwgJnRjYnRhYlswXVt0Y2J0YWJzaXplXTsgKyt0Y3ApCisJCXRjYnRhYlt0Y3AgLSB0Y2J0YWJbMF1dID0gJnRjYnRhYlswXVt0Y3AgLSB0Y2J0YWJbMF1dOworCisJb3V0ZiA9IHN0ZGVycjsKKwlpbnRlcmFjdGl2ZSA9IDE7CisJc2V0X3NvcnRieShERUZBVUxUX1NPUlRCWSk7CisJc2V0X3BlcnNvbmFsaXR5KERFRkFVTFRfUEVSU09OQUxJVFkpOworCXF1YWxpZnkoInRyYWNlPWFsbCIpOworCXF1YWxpZnkoImFiYnJldj1hbGwiKTsKKwlxdWFsaWZ5KCJ2ZXJib3NlPWFsbCIpOworCXF1YWxpZnkoInNpZ25hbD1hbGwiKTsKKwl3aGlsZSAoKGMgPSBnZXRvcHQoYXJnYywgYXJndiwKKwkJIitjQ2RmRmhpcXJ0VHZWeHoiCisjaWZuZGVmIFVTRV9QUk9DRlMKKwkJIkQiCisjZW5kaWYKKwkJImE6ZTpvOk86cDpzOlM6dTpFOiIpKSAhPSBFT0YpIHsKKwkJc3dpdGNoIChjKSB7CisJCWNhc2UgJ2MnOgorCQkJaWYgKGNmbGFnID09IENGTEFHX0JPVEgpIHsKKwkJCQlmcHJpbnRmKHN0ZGVyciwgIiVzOiAtYyBhbmQgLUMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSBvcHRpb25zXG4iLAorCQkJCQlwcm9nbmFtZSk7CisJCQkJZXhpdCgxKTsKKwkJCX0KKwkJCWNmbGFnID0gQ0ZMQUdfT05MWV9TVEFUUzsKKwkJCWJyZWFrOworCQljYXNlICdDJzoKKwkJCWlmIChjZmxhZyA9PSBDRkxBR19PTkxZX1NUQVRTKSB7CisJCQkJZnByaW50ZihzdGRlcnIsICIlczogLWMgYW5kIC1DIGFyZSBtdXR1YWxseSBleGNsdXNpdmUgb3B0aW9uc1xuIiwKKwkJCQkJcHJvZ25hbWUpOworCQkJCWV4aXQoMSk7CisJCQl9CisJCQljZmxhZyA9IENGTEFHX0JPVEg7CisJCQlicmVhazsKKwkJY2FzZSAnZCc6CisJCQlkZWJ1ZysrOworCQkJYnJlYWs7CisjaWZuZGVmIFVTRV9QUk9DRlMKKwkJLyogRXhwZXJpbWVudGFsLCBub3QgZG9jdW1lbnRlZCBpbiBtYW5wYWdlIHlldC4gKi8KKwkJY2FzZSAnRCc6CisJCQlkYWVtb25pemVkX3RyYWNlciA9IDE7CisJCQlicmVhazsKKyNlbmRpZgorCQljYXNlICdGJzoKKwkJCW9wdEYgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ2YnOgorCQkJZm9sbG93Zm9yaysrOworCQkJYnJlYWs7CisJCWNhc2UgJ2gnOgorCQkJdXNhZ2Uoc3Rkb3V0LCAwKTsKKwkJCWJyZWFrOworCQljYXNlICdpJzoKKwkJCWlmbGFnKys7CisJCQlicmVhazsKKwkJY2FzZSAncSc6CisJCQlxZmxhZysrOworCQkJYnJlYWs7CisJCWNhc2UgJ3InOgorCQkJcmZsYWcrKzsKKwkJCXRmbGFnKys7CisJCQlicmVhazsKKwkJY2FzZSAndCc6CisJCQl0ZmxhZysrOworCQkJYnJlYWs7CisJCWNhc2UgJ1QnOgorCQkJZHRpbWUrKzsKKwkJCWJyZWFrOworCQljYXNlICd4JzoKKwkJCXhmbGFnKys7CisJCQlicmVhazsKKwkJY2FzZSAndic6CisJCQlxdWFsaWZ5KCJhYmJyZXY9bm9uZSIpOworCQkJYnJlYWs7CisJCWNhc2UgJ1YnOgorCQkJcHJpbnRmKCIlcyAtLSB2ZXJzaW9uICVzXG4iLCBQQUNLQUdFX05BTUUsIFZFUlNJT04pOworCQkJZXhpdCgwKTsKKwkJCWJyZWFrOworCQljYXNlICd6JzoKKwkJCW5vdF9mYWlsaW5nX29ubHkgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ2EnOgorCQkJYWNvbHVtbiA9IGF0b2kob3B0YXJnKTsKKwkJCWJyZWFrOworCQljYXNlICdlJzoKKwkJCXF1YWxpZnkob3B0YXJnKTsKKwkJCWJyZWFrOworCQljYXNlICdvJzoKKwkJCW91dGZuYW1lID0gc3RyZHVwKG9wdGFyZyk7CisJCQlicmVhazsKKwkJY2FzZSAnTyc6CisJCQlzZXRfb3ZlcmhlYWQoYXRvaShvcHRhcmcpKTsKKwkJCWJyZWFrOworCQljYXNlICdwJzoKKwkJCWlmICgocGlkID0gYXRvaShvcHRhcmcpKSA8PSAwKSB7CisJCQkJZnByaW50ZihzdGRlcnIsICIlczogSW52YWxpZCBwcm9jZXNzIGlkOiAlc1xuIiwKKwkJCQkJcHJvZ25hbWUsIG9wdGFyZyk7CisJCQkJYnJlYWs7CisJCQl9CisJCQlpZiAocGlkID09IGdldHBpZCgpKSB7CisJCQkJZnByaW50ZihzdGRlcnIsICIlczogSSdtIHNvcnJ5LCBJIGNhbid0IGxldCB5b3UgZG8gdGhhdCwgRGF2ZS5cbiIsIHByb2duYW1lKTsKKwkJCQlicmVhazsKKwkJCX0KKwkJCXRjcCA9IGFsbG9jX3RjYihwaWQsIDApOworCQkJdGNwLT5mbGFncyB8PSBUQ0JfQVRUQUNIRUQ7CisJCQlwZmxhZ19zZWVuKys7CisJCQlicmVhazsKKwkJY2FzZSAncyc6CisJCQltYXhfc3RybGVuID0gYXRvaShvcHRhcmcpOworCQkJaWYgKG1heF9zdHJsZW4gPCAwKSB7CisJCQkJZnByaW50ZihzdGRlcnIsCisJCQkJCSIlczogaW52YWxpZCAtcyBhcmd1bWVudDogJXNcbiIsCisJCQkJCXByb2duYW1lLCBvcHRhcmcpOworCQkJCWV4aXQoMSk7CisJCQl9CisJCQlicmVhazsKKwkJY2FzZSAnUyc6CisJCQlzZXRfc29ydGJ5KG9wdGFyZyk7CisJCQlicmVhazsKKwkJY2FzZSAndSc6CisJCQl1c2VybmFtZSA9IHN0cmR1cChvcHRhcmcpOworCQkJYnJlYWs7CisJCWNhc2UgJ0UnOgorCQkJaWYgKHB1dGVudihvcHRhcmcpIDwgMCkgeworCQkJCWZwcmludGYoc3RkZXJyLCAiJXM6IG91dCBvZiBtZW1vcnlcbiIsCisJCQkJCXByb2duYW1lKTsKKwkJCQlleGl0KDEpOworCQkJfQorCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQl1c2FnZShzdGRlcnIsIDEpOworCQkJYnJlYWs7CisJCX0KKwl9CisKKwlpZiAoKG9wdGluZCA9PSBhcmdjKSA9PSAhcGZsYWdfc2VlbikKKwkJdXNhZ2Uoc3RkZXJyLCAxKTsKKworCWlmICghZm9sbG93Zm9yaykKKwkJZm9sbG93Zm9yayA9IG9wdEY7CisKKwlpZiAoZm9sbG93Zm9yayA+IDEgJiYgY2ZsYWcpIHsKKwkJZnByaW50ZihzdGRlcnIsCisJCQkiJXM6ICgtYyBvciAtQykgYW5kIC1mZiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIG9wdGlvbnNcbiIsCisJCQlwcm9nbmFtZSk7CisJCWV4aXQoMSk7CisJfQorCisJLyogU2VlIGlmIHRoZXkgd2FudCB0byBydW4gYXMgYW5vdGhlciB1c2VyLiAqLworCWlmICh1c2VybmFtZSAhPSBOVUxMKSB7CisJCXN0cnVjdCBwYXNzd2QgKnBlbnQ7CisKKwkJaWYgKGdldHVpZCgpICE9IDAgfHwgZ2V0ZXVpZCgpICE9IDApIHsKKwkJCWZwcmludGYoc3RkZXJyLAorCQkJCSIlczogeW91IG11c3QgYmUgcm9vdCB0byB1c2UgdGhlIC11IG9wdGlvblxuIiwKKwkJCQlwcm9nbmFtZSk7CisJCQlleGl0KDEpOworCQl9CisJCWlmICgocGVudCA9IGdldHB3bmFtKHVzZXJuYW1lKSkgPT0gTlVMTCkgeworCQkJZnByaW50ZihzdGRlcnIsICIlczogY2Fubm90IGZpbmQgdXNlciBgJXMnXG4iLAorCQkJCXByb2duYW1lLCB1c2VybmFtZSk7CisJCQlleGl0KDEpOworCQl9CisJCXJ1bl91aWQgPSBwZW50LT5wd191aWQ7CisJCXJ1bl9naWQgPSBwZW50LT5wd19naWQ7CisJfQorCWVsc2UgeworCQlydW5fdWlkID0gZ2V0dWlkKCk7CisJCXJ1bl9naWQgPSBnZXRnaWQoKTsKKwl9CisKKwkvKiBDaGVjayBpZiB0aGV5IHdhbnQgdG8gcmVkaXJlY3QgdGhlIG91dHB1dC4gKi8KKwlpZiAob3V0Zm5hbWUpIHsKKwkJLyogU2VlIGlmIHRoZXkgd2FudCB0byBwaXBlIHRoZSBvdXRwdXQuICovCisJCWlmIChvdXRmbmFtZVswXSA9PSAnfCcgfHwgb3V0Zm5hbWVbMF0gPT0gJyEnKSB7CisJCQkvKgorCQkJICogV2UgY2FuJ3QgZG8gdGhlIDxvdXRmbmFtZT4uUElEIGZ1bm55IGJ1c2luZXNzCisJCQkgKiB3aGVuIHVzaW5nIHBvcGVuLCBzbyBwcm9oaWJpdCBpdC4KKwkJCSAqLworCQkJaWYgKGZvbGxvd2ZvcmsgPiAxKSB7CisJCQkJZnByaW50ZihzdGRlcnIsICJcCislczogcGlwaW5nIHRoZSBvdXRwdXQgYW5kIC1mZiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIG9wdGlvbnNcbiIsCisJCQkJCXByb2duYW1lKTsKKwkJCQlleGl0KDEpOworCQkJfQorCisJCQlpZiAoKG91dGYgPSBzdHJhY2VfcG9wZW4ob3V0Zm5hbWUgKyAxKSkgPT0gTlVMTCkKKwkJCQlleGl0KDEpOworCQl9CisJCWVsc2UgaWYgKGZvbGxvd2ZvcmsgPD0gMSAmJgorCQkJIChvdXRmID0gc3RyYWNlX2ZvcGVuKG91dGZuYW1lLCAidyIpKSA9PSBOVUxMKQorCQkJZXhpdCgxKTsKKwl9CisKKwlpZiAoIW91dGZuYW1lIHx8IG91dGZuYW1lWzBdID09ICd8JyB8fCBvdXRmbmFtZVswXSA9PSAnIScpCisJCXNldHZidWYob3V0ZiwgYnVmLCBfSU9MQkYsIEJVRlNJWik7CisJaWYgKG91dGZuYW1lICYmIG9wdGluZCA8IGFyZ2MpIHsKKwkJaW50ZXJhY3RpdmUgPSAwOworCQlxZmxhZyA9IDE7CisJfQorCS8qIFZhbGlkIHN0YXRlcyBoZXJlOgorCSAgIG9wdGluZCA8IGFyZ2MJcGZsYWdfc2VlbglvdXRmbmFtZQlpbnRlcmFjdGl2ZQorCSAgIDEJCQkwCQkwCQkxCisJICAgMAkJCTEJCTAJCTEKKwkgICAxCQkJMAkJMQkJMAorCSAgIDAJCQkxCQkxCQkxCisJICovCisKKwkvKiBTVEFSVFVQX0NISUxEIG11c3QgYmUgY2FsbGVkIGJlZm9yZSB0aGUgc2lnbmFsIGhhbmRsZXJzIGdldAorCSAgIGluc3RhbGxlZCBiZWxvdyBhcyB0aGV5IGFyZSBpbmhlcml0ZWQgaW50byB0aGUgc3Bhd25lZCBwcm9jZXNzLgorCSAgIEFsc28gd2UgZG8gbm90IG5lZWQgdG8gYmUgcHJvdGVjdGVkIGJ5IHRoZW0gYXMgZHVyaW5nIGludGVycnVwdGlvbgorCSAgIGluIHRoZSBTVEFSVFVQX0NISUxEIG1vZGUgd2Uga2lsbCB0aGUgc3Bhd25lZCBwcm9jZXNzIGFueXdheS4gICovCisJaWYgKCFwZmxhZ19zZWVuKQorCQlzdGFydHVwX2NoaWxkKCZhcmd2W29wdGluZF0pOworCisJc2lnZW1wdHlzZXQoJmVtcHR5X3NldCk7CisJc2lnZW1wdHlzZXQoJmJsb2NrZWRfc2V0KTsKKwlzYS5zYV9oYW5kbGVyID0gU0lHX0lHTjsKKwlzaWdlbXB0eXNldCgmc2Euc2FfbWFzayk7CisJc2Euc2FfZmxhZ3MgPSAwOworCXNpZ2FjdGlvbihTSUdUVE9VLCAmc2EsIE5VTEwpOworCXNpZ2FjdGlvbihTSUdUVElOLCAmc2EsIE5VTEwpOworCWlmIChpbnRlcmFjdGl2ZSkgeworCQlzaWdhZGRzZXQoJmJsb2NrZWRfc2V0LCBTSUdIVVApOworCQlzaWdhZGRzZXQoJmJsb2NrZWRfc2V0LCBTSUdJTlQpOworCQlzaWdhZGRzZXQoJmJsb2NrZWRfc2V0LCBTSUdRVUlUKTsKKwkJc2lnYWRkc2V0KCZibG9ja2VkX3NldCwgU0lHUElQRSk7CisJCXNpZ2FkZHNldCgmYmxvY2tlZF9zZXQsIFNJR1RFUk0pOworCQlzYS5zYV9oYW5kbGVyID0gaW50ZXJydXB0OworI2lmZGVmIFNVTk9TNAorCQkvKiBQT1NJWCBzaWduYWxzIG9uIHN1bm9zNC4xIGFyZSBhIGxpdHRsZSBicm9rZW4uICovCisJCXNhLnNhX2ZsYWdzID0gU0FfSU5URVJSVVBUOworI2VuZGlmIC8qIFNVTk9TNCAqLworCX0KKwlzaWdhY3Rpb24oU0lHSFVQLCAmc2EsIE5VTEwpOworCXNpZ2FjdGlvbihTSUdJTlQsICZzYSwgTlVMTCk7CisJc2lnYWN0aW9uKFNJR1FVSVQsICZzYSwgTlVMTCk7CisJc2lnYWN0aW9uKFNJR1BJUEUsICZzYSwgTlVMTCk7CisJc2lnYWN0aW9uKFNJR1RFUk0sICZzYSwgTlVMTCk7CisjaWZkZWYgVVNFX1BST0NGUworCXNhLnNhX2hhbmRsZXIgPSByZWFwZXI7CisJc2lnYWN0aW9uKFNJR0NITEQsICZzYSwgTlVMTCk7CisjZWxzZQorCS8qIE1ha2Ugc3VyZSBTSUdDSExEIGhhcyB0aGUgZGVmYXVsdCBhY3Rpb24gc28gdGhhdCB3YWl0cGlkCisJICAgZGVmaW5pdGVseSB3b3JrcyB3aXRob3V0IGxvc2luZyB0cmFjayBvZiBjaGlsZHJlbi4gIFRoZSB1c2VyCisJICAgc2hvdWxkIG5vdCBoYXZlIGdpdmVuIHVzIGEgYm9ndXMgc3RhdGUgdG8gaW5oZXJpdCwgYnV0IGhlIG1pZ2h0CisJICAgaGF2ZS4gIEFyZ3VhYmx5IHdlIHNob3VsZCBkZXRlY3QgU0lHX0lHTiBoZXJlIGFuZCBwYXNzIGl0IG9uCisJICAgdG8gY2hpbGRyZW4sIGJ1dCBwcm9iYWJseSBub29uZSByZWFsbHkgbmVlZHMgdGhhdC4gICovCisJc2Euc2FfaGFuZGxlciA9IFNJR19ERkw7CisJc2lnYWN0aW9uKFNJR0NITEQsICZzYSwgTlVMTCk7CisjZW5kaWYgLyogVVNFX1BST0NGUyAqLworCisJaWYgKHBmbGFnX3NlZW4gfHwgZGFlbW9uaXplZF90cmFjZXIpCisJCXN0YXJ0dXBfYXR0YWNoKCk7CisKKwlpZiAodHJhY2UoKSA8IDApCisJCWV4aXQoMSk7CisJY2xlYW51cCgpOworCWZmbHVzaChOVUxMKTsKKwlpZiAoZXhpdF9jb2RlID4gMHhmZikgeworCQkvKiBDaGlsZCB3YXMga2lsbGVkIGJ5IGEgc2lnbmFsLCBtaW1pYyB0aGF0LiAgKi8KKwkJZXhpdF9jb2RlICY9IDB4ZmY7CisJCXNpZ25hbChleGl0X2NvZGUsIFNJR19ERkwpOworCQlyYWlzZShleGl0X2NvZGUpOworCQkvKiBQYXJhbm9pYSAtIHdoYXQgaWYgdGhpcyBzaWduYWwgaXMgbm90IGZhdGFsPworCQkgICBFeGl0IHdpdGggMTI4ICsgc2lnbm8gdGhlbi4gICovCisJCWV4aXRfY29kZSArPSAxMjg7CisJfQorCWV4aXQoZXhpdF9jb2RlKTsKK30KKwordm9pZAorZXhwYW5kX3RjYnRhYih2b2lkKQoreworCS8qIEFsbG9jYXRlIHNvbWUgbW9yZSBUQ0JzIGFuZCBleHBhbmQgdGhlIHRhYmxlLgorCSAgIFdlIGRvbid0IHdhbnQgdG8gcmVsb2NhdGUgdGhlIFRDQnMgYmVjYXVzZSBvdXIKKwkgICBjYWxsZXJzIGhhdmUgcG9pbnRlcnMgYW5kIGl0IHdvdWxkIGJlIGEgcGFpbi4KKwkgICBTbyB0Y2J0YWIgaXMgYSB0YWJsZSBvZiBwb2ludGVycy4gIFNpbmNlIHdlIG5ldmVyCisJICAgZnJlZSB0aGUgVENCcywgd2UgYWxsb2NhdGUgYSBzaW5nbGUgY2h1bmsgb2YgbWFueS4gICovCisJc3RydWN0IHRjYiAqKm5ld3RhYiA9IChzdHJ1Y3QgdGNiICoqKQorCQlyZWFsbG9jKHRjYnRhYiwgMiAqIHRjYnRhYnNpemUgKiBzaXplb2YgdGNidGFiWzBdKTsKKwlzdHJ1Y3QgdGNiICpuZXd0Y2JzID0gKHN0cnVjdCB0Y2IgKikgY2FsbG9jKHRjYnRhYnNpemUsCisJCQkJCQkgICAgc2l6ZW9mICpuZXd0Y2JzKTsKKwlpbnQgaTsKKwlpZiAobmV3dGFiID09IE5VTEwgfHwgbmV3dGNicyA9PSBOVUxMKSB7CisJCWZwcmludGYoc3RkZXJyLCAiJXM6IGV4cGFuZF90Y2J0YWI6IG91dCBvZiBtZW1vcnlcbiIsCisJCQlwcm9nbmFtZSk7CisJCWNsZWFudXAoKTsKKwkJZXhpdCgxKTsKKwl9CisJZm9yIChpID0gdGNidGFic2l6ZTsgaSA8IDIgKiB0Y2J0YWJzaXplOyArK2kpCisJCW5ld3RhYltpXSA9ICZuZXd0Y2JzW2kgLSB0Y2J0YWJzaXplXTsKKwl0Y2J0YWJzaXplICo9IDI7CisJdGNidGFiID0gbmV3dGFiOworfQorCitzdHJ1Y3QgdGNiICoKK2FsbG9jX3RjYihpbnQgcGlkLCBpbnQgY29tbWFuZF9vcHRpb25zX3BhcnNlZCkKK3sKKwlpbnQgaTsKKwlzdHJ1Y3QgdGNiICp0Y3A7CisKKwlpZiAobnByb2NzID09IHRjYnRhYnNpemUpCisJCWV4cGFuZF90Y2J0YWIoKTsKKworCWZvciAoaSA9IDA7IGkgPCB0Y2J0YWJzaXplOyBpKyspIHsKKwkJdGNwID0gdGNidGFiW2ldOworCQlpZiAoKHRjcC0+ZmxhZ3MgJiBUQ0JfSU5VU0UpID09IDApIHsKKwkJCXRjcC0+cGlkID0gcGlkOworCQkJdGNwLT5wYXJlbnQgPSBOVUxMOworCQkJdGNwLT5uY2hpbGRyZW4gPSAwOworCQkJdGNwLT5uem9tYmllcyA9IDA7CisjaWZkZWYgVENCX0NMT05FX1RIUkVBRAorCQkJdGNwLT5uY2xvbmVfdGhyZWFkcyA9IHRjcC0+bmNsb25lX2RldGFjaGVkID0gMDsKKwkJCXRjcC0+bmNsb25lX3dhaXRpbmcgPSAwOworI2VuZGlmCisJCQl0Y3AtPmZsYWdzID0gVENCX0lOVVNFIHwgVENCX1NUQVJUVVA7CisJCQl0Y3AtPm91dGYgPSBvdXRmOyAvKiBJbml0aWFsaXNlIHRvIGN1cnJlbnQgb3V0IGZpbGUgKi8KKwkJCXRjcC0+Y3VyY29sID0gMDsKKwkJCXRjcC0+c3RpbWUudHZfc2VjID0gMDsKKwkJCXRjcC0+c3RpbWUudHZfdXNlYyA9IDA7CisJCQl0Y3AtPnBmZCA9IC0xOworCQkJbnByb2NzKys7CisJCQlpZiAoY29tbWFuZF9vcHRpb25zX3BhcnNlZCkKKwkJCQluZXdvdXRmKHRjcCk7CisJCQlyZXR1cm4gdGNwOworCQl9CisJfQorCWZwcmludGYoc3RkZXJyLCAiJXM6IGJ1ZyBpbiBhbGxvY190Y2JcbiIsIHByb2duYW1lKTsKKwljbGVhbnVwKCk7CisJZXhpdCgxKTsKK30KKworI2lmZGVmIFVTRV9QUk9DRlMKK2ludAorcHJvY19vcGVuKHN0cnVjdCB0Y2IgKnRjcCwgaW50IGF0dGFjaGluZykKK3sKKwljaGFyIHByb2NbMzJdOworCWxvbmcgYXJnOworI2lmZGVmIFNWUjQKKwlpbnQgaTsKKwlzeXNzZXRfdCBzeXNjYWxsczsKKwlzaWdzZXRfdCBzaWduYWxzOworCWZsdHNldF90IGZhdWx0czsKKyNlbmRpZgorI2lmbmRlZiBIQVZFX1BPTExBQkxFX1BST0NGUworCXN0YXRpYyBpbnQgbGFzdF9wZmQ7CisjZW5kaWYKKworI2lmZGVmIEhBVkVfTVBfUFJPQ0ZTCisJLyogT3BlbiB0aGUgcHJvY2VzcyBwc2V1ZG8tZmlsZXMgaW4gL3Byb2MuICovCisJc3ByaW50Zihwcm9jLCAiL3Byb2MvJWQvY3RsIiwgdGNwLT5waWQpOworCWlmICgodGNwLT5wZmQgPSBvcGVuKHByb2MsIE9fV1JPTkxZfE9fRVhDTCkpIDwgMCkgeworCQlwZXJyb3IoInN0cmFjZTogb3BlbihcIi9wcm9jLy4uLlwiLCAuLi4pIik7CisJCXJldHVybiAtMTsKKwl9CisJaWYgKHNldF9jbG9leGVjX2ZsYWcodGNwLT5wZmQpIDwgMCkgeworCQlyZXR1cm4gLTE7CisJfQorCXNwcmludGYocHJvYywgIi9wcm9jLyVkL3N0YXR1cyIsIHRjcC0+cGlkKTsKKwlpZiAoKHRjcC0+cGZkX3N0YXQgPSBvcGVuKHByb2MsIE9fUkRPTkxZfE9fRVhDTCkpIDwgMCkgeworCQlwZXJyb3IoInN0cmFjZTogb3BlbihcIi9wcm9jLy4uLlwiLCAuLi4pIik7CisJCXJldHVybiAtMTsKKwl9CisJaWYgKHNldF9jbG9leGVjX2ZsYWcodGNwLT5wZmRfc3RhdCkgPCAwKSB7CisJCXJldHVybiAtMTsKKwl9CisJc3ByaW50Zihwcm9jLCAiL3Byb2MvJWQvYXMiLCB0Y3AtPnBpZCk7CisJaWYgKCh0Y3AtPnBmZF9hcyA9IG9wZW4ocHJvYywgT19SRE9OTFl8T19FWENMKSkgPCAwKSB7CisJCXBlcnJvcigic3RyYWNlOiBvcGVuKFwiL3Byb2MvLi4uXCIsIC4uLikiKTsKKwkJcmV0dXJuIC0xOworCX0KKwlpZiAoc2V0X2Nsb2V4ZWNfZmxhZyh0Y3AtPnBmZF9hcykgPCAwKSB7CisJCXJldHVybiAtMTsKKwl9CisjZWxzZQorCS8qIE9wZW4gdGhlIHByb2Nlc3MgcHNldWRvLWZpbGUgaW4gL3Byb2MuICovCisjaWZuZGVmIEZSRUVCU0QKKwlzcHJpbnRmKHByb2MsICIvcHJvYy8lZCIsIHRjcC0+cGlkKTsKKwlpZiAoKHRjcC0+cGZkID0gb3Blbihwcm9jLCBPX1JEV1J8T19FWENMKSkgPCAwKSB7CisjZWxzZSAvKiBGUkVFQlNEICovCisJc3ByaW50Zihwcm9jLCAiL3Byb2MvJWQvbWVtIiwgdGNwLT5waWQpOworCWlmICgodGNwLT5wZmQgPSBvcGVuKHByb2MsIE9fUkRXUikpIDwgMCkgeworI2VuZGlmIC8qIEZSRUVCU0QgKi8KKwkJcGVycm9yKCJzdHJhY2U6IG9wZW4oXCIvcHJvYy8uLi5cIiwgLi4uKSIpOworCQlyZXR1cm4gLTE7CisJfQorCWlmIChzZXRfY2xvZXhlY19mbGFnKHRjcC0+cGZkKSA8IDApIHsKKwkJcmV0dXJuIC0xOworCX0KKyNlbmRpZgorI2lmZGVmIEZSRUVCU0QKKwlzcHJpbnRmKHByb2MsICIvcHJvYy8lZC9yZWdzIiwgdGNwLT5waWQpOworCWlmICgodGNwLT5wZmRfcmVnID0gb3Blbihwcm9jLCBPX1JET05MWSkpIDwgMCkgeworCQlwZXJyb3IoInN0cmFjZTogb3BlbihcIi9wcm9jLy4uLi9yZWdzXCIsIC4uLikiKTsKKwkJcmV0dXJuIC0xOworCX0KKwlpZiAoY2ZsYWcpIHsKKwkJc3ByaW50Zihwcm9jLCAiL3Byb2MvJWQvc3RhdHVzIiwgdGNwLT5waWQpOworCQlpZiAoKHRjcC0+cGZkX3N0YXR1cyA9IG9wZW4ocHJvYywgT19SRE9OTFkpKSA8IDApIHsKKwkJCXBlcnJvcigic3RyYWNlOiBvcGVuKFwiL3Byb2MvLi4uL3N0YXR1c1wiLCAuLi4pIik7CisJCQlyZXR1cm4gLTE7CisJCX0KKwl9IGVsc2UKKwkJdGNwLT5wZmRfc3RhdHVzID0gLTE7CisjZW5kaWYgLyogRlJFRUJTRCAqLworCXJlYnVpbGRfcG9sbHYoKTsKKwlpZiAoIWF0dGFjaGluZykgeworCQkvKgorCQkgKiBXYWl0IGZvciB0aGUgY2hpbGQgdG8gcGF1c2UuICBCZWNhdXNlIG9mIGEgcmFjZQorCQkgKiBjb25kaXRpb24gd2UgaGF2ZSB0byBwb2xsIGZvciB0aGUgZXZlbnQuCisJCSAqLworCQlmb3IgKDs7KSB7CisJCQlpZiAoSU9DVExfU1RBVFVTICh0Y3ApIDwgMCkgeworCQkJCXBlcnJvcigic3RyYWNlOiBQSU9DU1RBVFVTIik7CisJCQkJcmV0dXJuIC0xOworCQkJfQorCQkJaWYgKHRjcC0+c3RhdHVzLlBSX0ZMQUdTICYgUFJfQVNMRUVQKQorCQkJICAgIGJyZWFrOworCQl9CisJfQorI2lmbmRlZiBGUkVFQlNECisJLyogU3RvcCB0aGUgcHJvY2VzcyBzbyB0aGF0IHdlIG93biB0aGUgc3RvcC4gKi8KKwlpZiAoSU9DVEwodGNwLT5wZmQsIFBJT0NTVE9QLCAoY2hhciAqKU5VTEwpIDwgMCkgeworCQlwZXJyb3IoInN0cmFjZTogUElPQ1NUT1AiKTsKKwkJcmV0dXJuIC0xOworCX0KKyNlbmRpZgorI2lmZGVmIFBJT0NTRVQKKwkvKiBTZXQgUnVuLW9uLUxhc3QtQ2xvc2UuICovCisJYXJnID0gUFJfUkxDOworCWlmIChJT0NUTCh0Y3AtPnBmZCwgUElPQ1NFVCwgJmFyZykgPCAwKSB7CisJCXBlcnJvcigiUElPQ1NFVCBQUl9STEMiKTsKKwkJcmV0dXJuIC0xOworCX0KKwkvKiBTZXQgb3IgUmVzZXQgSW5oZXJpdC1vbi1Gb3JrLiAqLworCWFyZyA9IFBSX0ZPUks7CisJaWYgKElPQ1RMKHRjcC0+cGZkLCBmb2xsb3dmb3JrID8gUElPQ1NFVCA6IFBJT0NSRVNFVCwgJmFyZykgPCAwKSB7CisJCXBlcnJvcigiUElPQ3tTRVQsUkVTRVR9IFBSX0ZPUksiKTsKKwkJcmV0dXJuIC0xOworCX0KKyNlbHNlICAvKiAhUElPQ1NFVCAqLworI2lmbmRlZiBGUkVFQlNECisJaWYgKGlvY3RsKHRjcC0+cGZkLCBQSU9DU1JMQykgPCAwKSB7CisJCXBlcnJvcigiUElPQ1NSTEMiKTsKKwkJcmV0dXJuIC0xOworCX0KKwlpZiAoaW9jdGwodGNwLT5wZmQsIGZvbGxvd2ZvcmsgPyBQSU9DU0ZPUksgOiBQSU9DUkZPUkspIDwgMCkgeworCQlwZXJyb3IoIlBJT0N7UyxSfUZPUksiKTsKKwkJcmV0dXJuIC0xOworCX0KKyNlbHNlIC8qIEZSRUVCU0QgKi8KKwkvKiBqdXN0IHVuc2V0IHRoZSBQRl9MSU5HRVIgZmxhZyBmb3IgdGhlIFJ1bi1vbi1MYXN0LUNsb3NlLiAqLworCWlmIChpb2N0bCh0Y3AtPnBmZCwgUElPQ0dGTCwgJmFyZykgPCAwKSB7CisJICAgICAgICBwZXJyb3IoIlBJT0NHRkwiKTsKKwkJcmV0dXJuIC0xOworCX0KKwlhcmcgJj0gflBGX0xJTkdFUjsKKwlpZiAoaW9jdGwodGNwLT5wZmQsIFBJT0NTRkwsIGFyZykgPCAwKSB7CisJCXBlcnJvcigiUElPQ1NGTCIpOworCQlyZXR1cm4gLTE7CisJfQorI2VuZGlmIC8qIEZSRUVCU0QgKi8KKyNlbmRpZiAvKiAhUElPQ1NFVCAqLworI2lmbmRlZiBGUkVFQlNECisJLyogRW5hYmxlIGFsbCBzeXNjYWxsIGVudHJpZXMgd2UgY2FyZSBhYm91dC4gKi8KKwlwcmVtcHR5c2V0KCZzeXNjYWxscyk7CisJZm9yIChpID0gMTsgaSA8IE1BWF9RVUFMUzsgKytpKSB7CisJCWlmIChpID4gKHNpemVvZiBzeXNjYWxscykgKiBDSEFSX0JJVCkgYnJlYWs7CisJCWlmIChxdWFsX2ZsYWdzIFtpXSAmIFFVQUxfVFJBQ0UpIHByYWRkc2V0ICgmc3lzY2FsbHMsIGkpOworCX0KKwlwcmFkZHNldCAoJnN5c2NhbGxzLCBTWVNfZXhlY3ZlKTsKKwlpZiAoZm9sbG93Zm9yaykgeworCQlwcmFkZHNldCAoJnN5c2NhbGxzLCBTWVNfZm9yayk7CisjaWZkZWYgU1lTX2ZvcmthbGwKKwkJcHJhZGRzZXQgKCZzeXNjYWxscywgU1lTX2ZvcmthbGwpOworI2VuZGlmCisjaWZkZWYgU1lTX2ZvcmsxCisJCXByYWRkc2V0ICgmc3lzY2FsbHMsIFNZU19mb3JrMSk7CisjZW5kaWYKKyNpZmRlZiBTWVNfcmZvcmsxCisJCXByYWRkc2V0ICgmc3lzY2FsbHMsIFNZU19yZm9yazEpOworI2VuZGlmCisjaWZkZWYgU1lTX3Jmb3JrYWxsCisJCXByYWRkc2V0ICgmc3lzY2FsbHMsIFNZU19yZm9ya2FsbCk7CisjZW5kaWYKKwl9CisJaWYgKElPQ1RMKHRjcC0+cGZkLCBQSU9DU0VOVFJZLCAmc3lzY2FsbHMpIDwgMCkgeworCQlwZXJyb3IoIlBJT0NTRU5UUlkiKTsKKwkJcmV0dXJuIC0xOworCX0KKwkvKiBFbmFibGUgdGhlIHN5c2NhbGwgZXhpdHMuICovCisJaWYgKElPQ1RMKHRjcC0+cGZkLCBQSU9DU0VYSVQsICZzeXNjYWxscykgPCAwKSB7CisJCXBlcnJvcigiUElPU0VYSVQiKTsKKwkJcmV0dXJuIC0xOworCX0KKwkvKiBFbmFibGUgc2lnbmFscyB3ZSBjYXJlIGFib3V0LiAqLworCXByZW1wdHlzZXQoJnNpZ25hbHMpOworCWZvciAoaSA9IDE7IGkgPCBNQVhfUVVBTFM7ICsraSkgeworCQlpZiAoaSA+IChzaXplb2Ygc2lnbmFscykgKiBDSEFSX0JJVCkgYnJlYWs7CisJCWlmIChxdWFsX2ZsYWdzIFtpXSAmIFFVQUxfU0lHTkFMKSBwcmFkZHNldCAoJnNpZ25hbHMsIGkpOworCX0KKwlpZiAoSU9DVEwodGNwLT5wZmQsIFBJT0NTVFJBQ0UsICZzaWduYWxzKSA8IDApIHsKKwkJcGVycm9yKCJQSU9DU1RSQUNFIik7CisJCXJldHVybiAtMTsKKwl9CisJLyogRW5hYmxlIGZhdWx0cyB3ZSBjYXJlIGFib3V0ICovCisJcHJlbXB0eXNldCgmZmF1bHRzKTsKKwlmb3IgKGkgPSAxOyBpIDwgTUFYX1FVQUxTOyArK2kpIHsKKwkJaWYgKGkgPiAoc2l6ZW9mIGZhdWx0cykgKiBDSEFSX0JJVCkgYnJlYWs7CisJCWlmIChxdWFsX2ZsYWdzIFtpXSAmIFFVQUxfRkFVTFQpIHByYWRkc2V0ICgmZmF1bHRzLCBpKTsKKwl9CisJaWYgKElPQ1RMKHRjcC0+cGZkLCBQSU9DU0ZBVUxULCAmZmF1bHRzKSA8IDApIHsKKwkJcGVycm9yKCJQSU9DU0ZBVUxUIik7CisJCXJldHVybiAtMTsKKwl9CisjZWxzZSAvKiBGUkVFQlNEICovCisJLyogc2V0IGV2ZW50cyBmbGFncy4gKi8KKwlhcmcgPSBTX1NJRyB8IFNfU0NFIHwgU19TQ1ggOworCWlmKGlvY3RsKHRjcC0+cGZkLCBQSU9DQklTLCBhcmcpIDwgMCkgeworCQlwZXJyb3IoIlBJT0NCSVMiKTsKKwkJcmV0dXJuIC0xOworCX0KKyNlbmRpZiAvKiBGUkVFQlNEICovCisJaWYgKCFhdHRhY2hpbmcpIHsKKyNpZmRlZiBNSVBTCisJCS8qCisJCSAqIFRoZSBTR0kgUFJTQUJPUlQgZG9lc24ndCB3b3JrIGZvciBwYXVzZSgpIHNvCisJCSAqIHdlIHNlbmQgaXQgYSBjYXVnaHQgc2lnbmFsIHRvIHdha2UgaXQgdXAuCisJCSAqLworCQlraWxsKHRjcC0+cGlkLCBTSUdJTlQpOworI2Vsc2UgLyogIU1JUFMgKi8KKyNpZmRlZiBQUlNBQk9SVAorCQkvKiBUaGUgY2hpbGQgaXMgaW4gYSBwYXVzZSgpLCBhYm9ydCBpdC4gKi8KKwkJYXJnID0gUFJTQUJPUlQ7CisJCWlmIChJT0NUTCAodGNwLT5wZmQsIFBJT0NSVU4sICZhcmcpIDwgMCkgeworCQkJcGVycm9yKCJQSU9DUlVOIik7CisJCQlyZXR1cm4gLTE7CisJCX0KKyNlbmRpZgorI2VuZGlmIC8qICFNSVBTKi8KKyNpZmRlZiBGUkVFQlNECisJCS8qIHdha2UgdXAgdGhlIGNoaWxkIGlmIGl0IHJlY2VpdmVkIHRoZSBTSUdTVE9QICovCisJCWtpbGwodGNwLT5waWQsIFNJR0NPTlQpOworI2VuZGlmCisJCWZvciAoOzspIHsKKwkJCS8qIFdhaXQgZm9yIHRoZSBjaGlsZCB0byBkbyBzb21ldGhpbmcuICovCisJCQlpZiAoSU9DVExfV1NUT1AgKHRjcCkgPCAwKSB7CisJCQkJcGVycm9yKCJQSU9DV1NUT1AiKTsKKwkJCQlyZXR1cm4gLTE7CisJCQl9CisJCQlpZiAodGNwLT5zdGF0dXMuUFJfV0hZID09IFBSX1NZU0VOVFJZKSB7CisJCQkJdGNwLT5mbGFncyAmPSB+VENCX0lOU1lTQ0FMTDsKKwkJCQlnZXRfc2Nubyh0Y3ApOworCQkJCWlmIChrbm93bl9zY25vKHRjcCkgPT0gU1lTX2V4ZWN2ZSkKKwkJCQkJYnJlYWs7CisJCQl9CisJCQkvKiBTZXQgaXQgcnVubmluZzogbWF5YmUgZXhlY3ZlIHdpbGwgYmUgbmV4dC4gKi8KKyNpZm5kZWYgRlJFRUJTRAorCQkJYXJnID0gMDsKKwkJCWlmIChJT0NUTCh0Y3AtPnBmZCwgUElPQ1JVTiwgJmFyZykgPCAwKSB7CisjZWxzZSAvKiBGUkVFQlNEICovCisJCQlpZiAoSU9DVEwodGNwLT5wZmQsIFBJT0NSVU4sIDApIDwgMCkgeworI2VuZGlmIC8qIEZSRUVCU0QgKi8KKwkJCQlwZXJyb3IoIlBJT0NSVU4iKTsKKwkJCQlyZXR1cm4gLTE7CisJCQl9CisjaWZkZWYgRlJFRUJTRAorCQkJLyogaGFuZGxlIHRoZSBjYXNlIHdoZXJlIHdlICJvcGVuZWQiIHRoZSBjaGlsZCBiZWZvcmUKKwkJCSAgIGl0IGRpZCB0aGUga2lsbCAtU1RPUCAqLworCQkJaWYgKHRjcC0+c3RhdHVzLlBSX1dIWSA9PSBQUl9TSUdOQUxMRUQgJiYKKwkJCSAgICB0Y3AtPnN0YXR1cy5QUl9XSEFUID09IFNJR1NUT1ApCisJCQkgICAgICAgIGtpbGwodGNwLT5waWQsIFNJR0NPTlQpOworI2VuZGlmCisJCX0KKyNpZm5kZWYgRlJFRUJTRAorCX0KKyNlbHNlIC8qIEZSRUVCU0QgKi8KKwl9IGVsc2UgeworCQlpZiAoYXR0YWNoaW5nIDwgMikgeworCQkJLyogV2UgYXJlIGF0dGFjaGluZyB0byBhbiBhbHJlYWR5IHJ1bm5pbmcgcHJvY2Vzcy4KKwkJCSAqIFRyeSB0byBmaWd1cmUgb3V0IHRoZSBzdGF0ZSBvZiB0aGUgcHJvY2VzcyBpbiBzeXNjYWxscywKKwkJCSAqIHRvIGhhbmRsZSB0aGUgZmlyc3QgZXZlbnQgd2VsbC4KKwkJCSAqIFRoaXMgaXMgZG9uZSBieSBoYXZpbmcgYSBsb29rIGF0IHRoZSAid2NoYW4iIHByb3BlcnR5IG9mIHRoZQorCQkJICogcHJvY2Vzcywgd2hpY2ggdGVsbHMgd2hlcmUgaXQgaXMgc3RvcHBlZCAoaWYgaXQgaXMpLiAqLworCQkJRklMRSAqIHN0YXR1czsKKwkJCWNoYXIgd2NoYW5bMjBdOyAvKiBzaG91bGQgYmUgZW5vdWdoICovCisKKwkJCXNwcmludGYocHJvYywgIi9wcm9jLyVkL3N0YXR1cyIsIHRjcC0+cGlkKTsKKwkJCXN0YXR1cyA9IGZvcGVuKHByb2MsICJyIik7CisJCQlpZiAoc3RhdHVzICYmCisJCQkgICAgKGZzY2FuZihzdGF0dXMsICIlKnMgJSpkICUqZCAlKmQgJSpkICUqZCwlKmQgJSpzICUqZCwlKmQiCisJCQkJICAgICIlKmQsJSpkICUqZCwlKmQgJTE5cyIsIHdjaGFuKSA9PSAxKSAmJgorCQkJICAgIHN0cmNtcCh3Y2hhbiwgIm5vY2hhbiIpICYmIHN0cmNtcCh3Y2hhbiwgInNwcmVhZCIpICYmCisJCQkgICAgc3RyY21wKHdjaGFuLCAic3RvcGV2ZW50IikpIHsKKwkJCQkvKiBUaGUgcHJvY2VzcyBpcyBhc2xlZXAgaW4gdGhlIG1pZGRsZSBvZiBhIHN5c2NhbGwuCisJCQkJICAgRmFrZSB0aGUgc3lzY2FsbCBlbnRyeSBldmVudCAqLworCQkJCXRjcC0+ZmxhZ3MgJj0gfihUQ0JfSU5TWVNDQUxMfFRDQl9TVEFSVFVQKTsKKwkJCQl0Y3AtPnN0YXR1cy5QUl9XSFkgPSBQUl9TWVNFTlRSWTsKKwkJCQl0cmFjZV9zeXNjYWxsKHRjcCk7CisJCQl9CisJCQlpZiAoc3RhdHVzKQorCQkJCWZjbG9zZShzdGF0dXMpOworCQl9IC8qIG90aGVyd2lzZSBpdCdzIGEgZm9yayBiZWluZyBmb2xsb3dlZCAqLworCX0KKyNlbmRpZiAvKiBGUkVFQlNEICovCisjaWZuZGVmIEhBVkVfUE9MTEFCTEVfUFJPQ0ZTCisJaWYgKHByb2NfcG9sbF9waXBlWzBdICE9IC0xKQorCQlwcm9jX3BvbGxlcih0Y3AtPnBmZCk7CisJZWxzZSBpZiAobnByb2NzID4gMSkgeworCQlwcm9jX3BvbGxfb3BlbigpOworCQlwcm9jX3BvbGxlcihsYXN0X3BmZCk7CisJCXByb2NfcG9sbGVyKHRjcC0+cGZkKTsKKwl9CisJbGFzdF9wZmQgPSB0Y3AtPnBmZDsKKyNlbmRpZiAvKiAhSEFWRV9QT0xMQUJMRV9QUk9DRlMgKi8KKwlyZXR1cm4gMDsKK30KKworI2VuZGlmIC8qIFVTRV9QUk9DRlMgKi8KKworc3RydWN0IHRjYiAqCitwaWQydGNiKHBpZCkKK2ludCBwaWQ7Cit7CisJaW50IGk7CisJc3RydWN0IHRjYiAqdGNwOworCisJZm9yIChpID0gMDsgaSA8IHRjYnRhYnNpemU7IGkrKykgeworCQl0Y3AgPSB0Y2J0YWJbaV07CisJCWlmIChwaWQgJiYgdGNwLT5waWQgIT0gcGlkKQorCQkJY29udGludWU7CisJCWlmICh0Y3AtPmZsYWdzICYgVENCX0lOVVNFKQorCQkJcmV0dXJuIHRjcDsKKwl9CisJcmV0dXJuIE5VTEw7Cit9CisKKyNpZmRlZiBVU0VfUFJPQ0ZTCisKK3N0YXRpYyBzdHJ1Y3QgdGNiICoKK3BmZDJ0Y2IocGZkKQoraW50IHBmZDsKK3sKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCB0Y2J0YWJzaXplOyBpKyspIHsKKwkJc3RydWN0IHRjYiAqdGNwID0gdGNidGFiW2ldOworCQlpZiAodGNwLT5wZmQgIT0gcGZkKQorCQkJY29udGludWU7CisJCWlmICh0Y3AtPmZsYWdzICYgVENCX0lOVVNFKQorCQkJcmV0dXJuIHRjcDsKKwl9CisJcmV0dXJuIE5VTEw7Cit9CisKKyNlbmRpZiAvKiBVU0VfUFJPQ0ZTICovCisKK3ZvaWQKK2Ryb3B0Y2IodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCWlmICh0Y3AtPnBpZCA9PSAwKQorCQlyZXR1cm47CisjaWZkZWYgVENCX0NMT05FX1RIUkVBRAorCWlmICh0Y3AtPm5jbG9uZV90aHJlYWRzID4gMCkgeworCQkvKiBUaGVyZSBhcmUgb3RoZXIgdGhyZWFkcyBsZWZ0IGluIHRoaXMgcHJvY2VzcywgYnV0IHRoaXMKKwkJICAgaXMgdGhlIG9uZSB3aG9zZSBQSUQgcmVwcmVzZW50cyB0aGUgd2hvbGUgcHJvY2Vzcy4KKwkJICAgV2UgbmVlZCB0byBrZWVwIHRoaXMgcmVjb3JkIGFyb3VuZCBhcyBhIHpvbWJpZSB1bnRpbAorCQkgICBhbGwgdGhlIHRocmVhZHMgZGllLiAgKi8KKwkJdGNwLT5mbGFncyB8PSBUQ0JfRVhJVElORzsKKwkJcmV0dXJuOworCX0KKyNlbmRpZgorCW5wcm9jcy0tOworCXRjcC0+cGlkID0gMDsKKworCWlmICh0Y3AtPnBhcmVudCAhPSBOVUxMKSB7CisJCXRjcC0+cGFyZW50LT5uY2hpbGRyZW4tLTsKKyNpZmRlZiBUQ0JfQ0xPTkVfVEhSRUFECisJCWlmICh0Y3AtPmZsYWdzICYgVENCX0NMT05FX0RFVEFDSEVEKQorCQkJdGNwLT5wYXJlbnQtPm5jbG9uZV9kZXRhY2hlZC0tOworCQlpZiAodGNwLT5mbGFncyAmIFRDQl9DTE9ORV9USFJFQUQpCisJCQl0Y3AtPnBhcmVudC0+bmNsb25lX3RocmVhZHMtLTsKKyNlbmRpZgorI2lmZGVmIFRDQl9DTE9ORV9ERVRBQ0hFRAorCQlpZiAoISh0Y3AtPmZsYWdzICYgVENCX0NMT05FX0RFVEFDSEVEKSkKKyNlbmRpZgorCQkJdGNwLT5wYXJlbnQtPm56b21iaWVzKys7CisjaWZkZWYgTElOVVgKKwkJLyogVXBkYXRlIGB0Y3AtPnBhcmVudC0+cGFyZW50LT5uY2hpbGRyZW4nIGFuZCB0aGUgb3RoZXIgZmllbGRzCisJCSAgIGxpa2UgTkNMT05FX0RFVEFDSEVELCBvbmx5IGZvciB6b21iaWUgZ3JvdXAgbGVhZGVyIHRoYXQgaGFzCisJCSAgIGFscmVhZHkgcmVwb3J0ZWQgYW5kIGJlZW4gc2hvcnQtY2lyY3VpdGVkIGF0IHRoZSB0b3Agb2YgdGhpcworCQkgICBmdW5jdGlvbi4gIFRoZSBzYW1lIGNvbmRpdGlvbiBhcyBhdCB0aGUgdG9wIG9mIERFVEFDSC4gICovCisJCWlmICgodGNwLT5mbGFncyAmIFRDQl9DTE9ORV9USFJFQUQpICYmCisJCSAgICB0Y3AtPnBhcmVudC0+bmNsb25lX3RocmVhZHMgPT0gMCAmJgorCQkgICAgKHRjcC0+cGFyZW50LT5mbGFncyAmIFRDQl9FWElUSU5HKSkKKwkJCWRyb3B0Y2IodGNwLT5wYXJlbnQpOworI2VuZGlmCisJCXRjcC0+cGFyZW50ID0gTlVMTDsKKwl9CisKKwl0Y3AtPmZsYWdzID0gMDsKKwlpZiAodGNwLT5wZmQgIT0gLTEpIHsKKwkJY2xvc2UodGNwLT5wZmQpOworCQl0Y3AtPnBmZCA9IC0xOworI2lmZGVmIEZSRUVCU0QKKwkJaWYgKHRjcC0+cGZkX3JlZyAhPSAtMSkgeworCQkgICAgICAgIGNsb3NlKHRjcC0+cGZkX3JlZyk7CisJCSAgICAgICAgdGNwLT5wZmRfcmVnID0gLTE7CisJCX0KKwkJaWYgKHRjcC0+cGZkX3N0YXR1cyAhPSAtMSkgeworCQkJY2xvc2UodGNwLT5wZmRfc3RhdHVzKTsKKwkJCXRjcC0+cGZkX3N0YXR1cyA9IC0xOworCQl9CisjZW5kaWYgLyogIUZSRUVCU0QgKi8KKyNpZmRlZiBVU0VfUFJPQ0ZTCisJCXJlYnVpbGRfcG9sbHYoKTsgLyogTm90ZSwgZmxhZ3MgbmVlZHMgdG8gYmUgY2xlYXJlZCBieSBub3cuICAqLworI2VuZGlmCisJfQorCisJaWYgKG91dGZuYW1lICYmIGZvbGxvd2ZvcmsgPiAxICYmIHRjcC0+b3V0ZikKKwkJZmNsb3NlKHRjcC0+b3V0Zik7CisKKwl0Y3AtPm91dGYgPSAwOworfQorCisjaWZuZGVmIFVTRV9QUk9DRlMKKworc3RhdGljIGludAorcmVzdW1lKHRjcCkKK3N0cnVjdCB0Y2IgKnRjcDsKK3sKKwlpZiAodGNwID09IE5VTEwpCisJCXJldHVybiAtMTsKKworCWlmICghKHRjcC0+ZmxhZ3MgJiBUQ0JfU1VTUEVOREVEKSkgeworCQlmcHJpbnRmKHN0ZGVyciwgIlBBTklDOiBwaWQgJXUgbm90IHN1c3BlbmRlZFxuIiwgdGNwLT5waWQpOworCQlyZXR1cm4gLTE7CisJfQorCXRjcC0+ZmxhZ3MgJj0gflRDQl9TVVNQRU5ERUQ7CisjaWZkZWYgVENCX0NMT05FX1RIUkVBRAorCWlmICh0Y3AtPmZsYWdzICYgVENCX0NMT05FX1RIUkVBRCkKKwkJdGNwLT5wYXJlbnQtPm5jbG9uZV93YWl0aW5nLS07CisjZW5kaWYKKworCWlmIChwdHJhY2VfcmVzdGFydChQVFJBQ0VfU1lTQ0FMTCwgdGNwLCAwKSA8IDApCisJCXJldHVybiAtMTsKKworCWlmICghcWZsYWcpCisJCWZwcmludGYoc3RkZXJyLCAiUHJvY2VzcyAldSByZXN1bWVkXG4iLCB0Y3AtPnBpZCk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQKK3Jlc3VtZV9mcm9tX3RjcCAoc3RydWN0IHRjYiAqdGNwKQoreworCWludCBlcnJvciA9IDA7CisJaW50IHJlc3VtZWQgPSAwOworCisJLyogWFhYIFRoaXMgd29uJ3QgYWx3YXlzIGJlIHF1aXRlIHJpZ2h0IChidXQgaXQgbmV2ZXIgd2FzKS4KKwkgICBBIHdhaXRlciB3aXRoIGFyZ3VtZW50IDAgb3IgPCAtMSBpcyB3YWl0aW5nIGZvciBhbnkgcGlkIGluCisJICAgYSBwYXJ0aWN1bGFyIHBncnAsIHdoaWNoIHRoaXMgY2hpbGQgbWlnaHQgb3IgbWlnaHQgbm90IGJlCisJICAgaW4uICBUaGUgd2FpdGVyIHdpbGwgb25seSB3YWtlIHVwIGlmIGl0J3MgYXJndW1lbnQgaXMgLTEKKwkgICBvciBpZiBpdCdzIHdhaXRpbmcgZm9yIHRjcC0+cGlkJ3MgcGdycC4gIEl0IG1ha2VzIGEKKwkgICBkaWZmZXJlbmNlIHRvIHdha2UgdXAgYSB3YWl0ZXIgd2hlbiB0aGVyZSBtaWdodCBiZSBtb3JlCisJICAgdHJhY2VkIGNoaWxkcmVuLCBiZWNhdXNlIGl0IGNvdWxkIGdldCBhIGZhbHNlIEVDSElMRAorCSAgIGVycm9yLiAgT1RPSCwgaWYgdGhpcyB3YXMgdGhlIGxhc3QgY2hpbGQgaW4gdGhlIHBncnAsIHRoZW4KKwkgICBpdCBvdWdodCB0byB3YWtlIHVwIGFuZCBnZXQgRUNISUxELiAgV2Ugd291bGQgaGF2ZSB0bworCSAgIHNlYXJjaCB0aGUgc3lzdGVtIGZvciBhbGwgcGlkJ3MgaW4gdGhlIHBncnAgdG8gYmUgc3VyZS4KKworCSAgICAgJiYgKHQtPndhaXRwaWQgPT0gLTEgfHwKKwkJICh0LT53YWl0cGlkID09IDAgJiYgZ2V0cGdpZCAodGNwLT5waWQpID09IGdldHBnaWQgKHQtPnBpZCkpCisJCSB8fCAodC0+d2FpdHBpZCA8IDAgJiYgdC0+d2FpdHBpZCA9PSAtZ2V0cGlkICh0LT5waWQpKSkKKwkqLworCisJaWYgKHRjcC0+cGFyZW50ICYmCisJICAgICh0Y3AtPnBhcmVudC0+ZmxhZ3MgJiBUQ0JfU1VTUEVOREVEKSAmJgorCSAgICAodGNwLT5wYXJlbnQtPndhaXRwaWQgPD0gMCB8fCB0Y3AtPnBhcmVudC0+d2FpdHBpZCA9PSB0Y3AtPnBpZCkpIHsKKwkJZXJyb3IgPSByZXN1bWUodGNwLT5wYXJlbnQpOworCQkrK3Jlc3VtZWQ7CisJfQorI2lmZGVmIFRDQl9DTE9ORV9USFJFQUQKKwlpZiAodGNwLT5wYXJlbnQgJiYgdGNwLT5wYXJlbnQtPm5jbG9uZV93YWl0aW5nID4gMCkgeworCQkvKiBTb21lIG90aGVyIHRocmVhZHMgb2Ygb3VyIHBhcmVudCBhcmUgd2FpdGluZyB0b28uICAqLworCQl1bnNpZ25lZCBpbnQgaTsKKworCQkvKiBSZXN1bWUgYWxsIHRoZSB0aHJlYWRzIHRoYXQgd2VyZSB3YWl0aW5nIGZvciB0aGlzIFBJRC4gICovCisJCWZvciAoaSA9IDA7IGkgPCB0Y2J0YWJzaXplOyBpKyspIHsKKwkJCXN0cnVjdCB0Y2IgKnQgPSB0Y2J0YWJbaV07CisJCQlpZiAodC0+cGFyZW50ID09IHRjcC0+cGFyZW50ICYmIHQgIT0gdGNwCisJCQkgICAgJiYgKCh0LT5mbGFncyAmIChUQ0JfQ0xPTkVfVEhSRUFEfFRDQl9TVVNQRU5ERUQpKQorCQkJCT09IChUQ0JfQ0xPTkVfVEhSRUFEfFRDQl9TVVNQRU5ERUQpKQorCQkJICAgICYmIHQtPndhaXRwaWQgPT0gdGNwLT5waWQpIHsKKwkJCQllcnJvciB8PSByZXN1bWUgKHQpOworCQkJCSsrcmVzdW1lZDsKKwkJCX0KKwkJfQorCQlpZiAocmVzdW1lZCA9PSAwKQorCQkJLyogTm9vbmUgd2FzIHdhaXRpbmcgZm9yIHRoaXMgUElEIGluIHBhcnRpY3VsYXIsCisJCQkgICBzbyBub3cgd2UgbWlnaHQgbmVlZCB0byByZXN1bWUgc29tZSB3aWxkY2FyZGVycy4gICovCisJCQlmb3IgKGkgPSAwOyBpIDwgdGNidGFic2l6ZTsgaSsrKSB7CisJCQkJc3RydWN0IHRjYiAqdCA9IHRjYnRhYltpXTsKKwkJCQlpZiAodC0+cGFyZW50ID09IHRjcC0+cGFyZW50ICYmIHQgIT0gdGNwCisJCQkJICAgICYmICgodC0+ZmxhZ3MKKwkJCQkJICYgKFRDQl9DTE9ORV9USFJFQUR8VENCX1NVU1BFTkRFRCkpCisJCQkJCT09IChUQ0JfQ0xPTkVfVEhSRUFEfFRDQl9TVVNQRU5ERUQpKQorCQkJCSAgICAmJiB0LT53YWl0cGlkIDw9IDAKKwkJCQkJKSB7CisJCQkJCWVycm9yIHw9IHJlc3VtZSAodCk7CisJCQkJCWJyZWFrOworCQkJCX0KKwkJCX0KKwl9CisjZW5kaWYKKworCXJldHVybiBlcnJvcjsKK30KKworI2VuZGlmIC8qICFVU0VfUFJPQ0ZTICovCisKKy8qIGRldGFjaCB0cmFjZWQgcHJvY2VzczsgY29udGludWUgd2l0aCBzaWcKKyAgIE5ldmVyIGNhbGwgREVUQUNIIHR3aWNlIG9uIHRoZSBzYW1lIHByb2Nlc3MgYXMgYm90aCB1bmF0dGFjaGVkIGFuZAorICAgYXR0YWNoZWQtdW5zdG9wcGVkIHByb2Nlc3NlcyBnaXZlIHRoZSBzYW1lIEVTUkNILiAgRm9yIHVuYXR0YWNoZWQgcHJvY2VzcyB3ZQorICAgd291bGQgU0lHU1RPUCBpdCBhbmQgd2FpdCBmb3IgaXRzIFNJR1NUT1Agbm90aWZpY2F0aW9uIGZvcmV2ZXIuICAqLworCitzdGF0aWMgaW50CitkZXRhY2godGNwLCBzaWcpCitzdHJ1Y3QgdGNiICp0Y3A7CitpbnQgc2lnOworeworCWludCBlcnJvciA9IDA7CisjaWZkZWYgTElOVVgKKwlpbnQgc3RhdHVzLCBjYXRjaF9zaWdzdG9wOworCXN0cnVjdCB0Y2IgKnpvbWJpZSA9IE5VTEw7CisKKwkvKiBJZiB0aGUgZ3JvdXAgbGVhZGVyIGlzIGxpbmdlcmluZyBvbmx5IGJlY2F1c2Ugb2YgdGhpcyBvdGhlcgorCSAgIHRocmVhZCBub3cgZHlpbmcsIHRoZW4gZGV0YWNoIHRoZSBsZWFkZXIgYXMgd2VsbC4gICovCisJaWYgKCh0Y3AtPmZsYWdzICYgVENCX0NMT05FX1RIUkVBRCkgJiYKKwkgICAgdGNwLT5wYXJlbnQtPm5jbG9uZV90aHJlYWRzID09IDEgJiYKKwkgICAgKHRjcC0+cGFyZW50LT5mbGFncyAmIFRDQl9FWElUSU5HKSkKKwkJem9tYmllID0gdGNwLT5wYXJlbnQ7CisjZW5kaWYKKworCWlmICh0Y3AtPmZsYWdzICYgVENCX0JQVFNFVCkKKwkJY2xlYXJicHQodGNwKTsKKworI2lmZGVmIExJTlVYCisJLyoKKwkgKiBMaW51eCB3cm9uZ2x5IGluc2lzdHMgdGhlIGNoaWxkIGJlIHN0b3BwZWQKKwkgKiBiZWZvcmUgZGV0YWNoaW5nLiAgQXJnaGguICBXZSBnbyB0aHJvdWdoIGhvb3BzCisJICogdG8gbWFrZSBhIGNsZWFuIGJyZWFrIG9mIHRoaW5ncy4KKwkgKi8KKyNpZiBkZWZpbmVkKFNQQVJDKQorI3VuZGVmIFBUUkFDRV9ERVRBQ0gKKyNkZWZpbmUgUFRSQUNFX0RFVEFDSCBQVFJBQ0VfU1VOREVUQUNICisjZW5kaWYKKwkvKgorCSAqIE9uIFRDQl9TVEFSVFVQIHdlIGRpZCBQVFJBQ0VfQVRUQUNIIGJ1dCBzdGlsbCBkaWQgbm90IGdldCB0aGUKKwkgKiBleHBlY3RlZCBTSUdTVE9QLiAgV2UgbXVzdCBjYXRjaCBleGFjdGx5IG9uZSBhcyBvdGhlcndpc2UgdGhlCisJICogZGV0YWNoZWQgcHJvY2VzcyB3b3VsZCBiZSBsZWZ0IHN0b3BwZWQgKHByb2Nlc3Mgc3RhdGUgVCkuCisJICovCisJY2F0Y2hfc2lnc3RvcCA9ICh0Y3AtPmZsYWdzICYgVENCX1NUQVJUVVApOworCWlmICgoZXJyb3IgPSBwdHJhY2UoUFRSQUNFX0RFVEFDSCwgdGNwLT5waWQsIChjaGFyICopIDEsIHNpZykpID09IDApIHsKKwkJLyogT24gYSBjbGVhciBkYXksIHlvdSBjYW4gc2VlIGZvcmV2ZXIuICovCisJfQorCWVsc2UgaWYgKGVycm5vICE9IEVTUkNIKSB7CisJCS8qIFNob3VsZG4ndCBoYXBwZW4uICovCisJCXBlcnJvcigiZGV0YWNoOiBwdHJhY2UoUFRSQUNFX0RFVEFDSCwgLi4uKSIpOworCX0KKwllbHNlIGlmIChteV90Z2tpbGwoKHRjcC0+ZmxhZ3MgJiBUQ0JfQ0xPTkVfVEhSRUFEID8gdGNwLT5wYXJlbnQtPnBpZAorCQkJCQkJCSAgOiB0Y3AtPnBpZCksCisJCQkgICB0Y3AtPnBpZCwgMCkgPCAwKSB7CisJCWlmIChlcnJubyAhPSBFU1JDSCkKKwkJCXBlcnJvcigiZGV0YWNoOiBjaGVja2luZyBzYW5pdHkiKTsKKwl9CisJZWxzZSBpZiAoIWNhdGNoX3NpZ3N0b3AgJiYgbXlfdGdraWxsKCh0Y3AtPmZsYWdzICYgVENCX0NMT05FX1RIUkVBRAorCQkJCQkgICAgICA/IHRjcC0+cGFyZW50LT5waWQgOiB0Y3AtPnBpZCksCisJCQkJCSAgICAgdGNwLT5waWQsIFNJR1NUT1ApIDwgMCkgeworCQlpZiAoZXJybm8gIT0gRVNSQ0gpCisJCQlwZXJyb3IoImRldGFjaDogc3RvcHBpbmcgY2hpbGQiKTsKKwl9CisJZWxzZQorCQljYXRjaF9zaWdzdG9wID0gMTsKKwlpZiAoY2F0Y2hfc2lnc3RvcCkgeworCQlmb3IgKDs7KSB7CisjaWZkZWYgX19XQUxMCisJCQlpZiAod2FpdDQodGNwLT5waWQsICZzdGF0dXMsIF9fV0FMTCwgTlVMTCkgPCAwKSB7CisJCQkJaWYgKGVycm5vID09IEVDSElMRCkgLyogQWxyZWFkeSBnb25lLiAgKi8KKwkJCQkJYnJlYWs7CisJCQkJaWYgKGVycm5vICE9IEVJTlZBTCkgeworCQkJCQlwZXJyb3IoImRldGFjaDogd2FpdGluZyIpOworCQkJCQlicmVhazsKKwkJCQl9CisjZW5kaWYgLyogX19XQUxMICovCisJCQkJLyogTm8gX19XQUxMIGhlcmUuICAqLworCQkJCWlmICh3YWl0cGlkKHRjcC0+cGlkLCAmc3RhdHVzLCAwKSA8IDApIHsKKwkJCQkJaWYgKGVycm5vICE9IEVDSElMRCkgeworCQkJCQkJcGVycm9yKCJkZXRhY2g6IHdhaXRpbmciKTsKKwkJCQkJCWJyZWFrOworCQkJCQl9CisjaWZkZWYgX19XQ0xPTkUKKwkJCQkJLyogSWYgbm8gcHJvY2Vzc2VzLCB0cnkgY2xvbmVzLiAgKi8KKwkJCQkJaWYgKHdhaXQ0KHRjcC0+cGlkLCAmc3RhdHVzLCBfX1dDTE9ORSwKKwkJCQkJCSAgTlVMTCkgPCAwKSB7CisJCQkJCQlpZiAoZXJybm8gIT0gRUNISUxEKQorCQkJCQkJCXBlcnJvcigiZGV0YWNoOiB3YWl0aW5nIik7CisJCQkJCQlicmVhazsKKwkJCQkJfQorI2VuZGlmIC8qIF9fV0NMT05FICovCisJCQkJfQorI2lmZGVmIF9fV0FMTAorCQkJfQorI2VuZGlmCisJCQlpZiAoIVdJRlNUT1BQRUQoc3RhdHVzKSkgeworCQkJCS8qIEF1IHJldm9pciwgbW9uIGFtaS4gKi8KKwkJCQlicmVhazsKKwkJCX0KKwkJCWlmIChXU1RPUFNJRyhzdGF0dXMpID09IFNJR1NUT1ApIHsKKwkJCQlwdHJhY2VfcmVzdGFydChQVFJBQ0VfREVUQUNILCB0Y3AsIHNpZyk7CisJCQkJYnJlYWs7CisJCQl9CisJCQllcnJvciA9IHB0cmFjZV9yZXN0YXJ0KFBUUkFDRV9DT05ULCB0Y3AsCisJCQkJCVdTVE9QU0lHKHN0YXR1cykgPT0gU0lHVFJBUCA/IDAKKwkJCQkJOiBXU1RPUFNJRyhzdGF0dXMpKTsKKwkJCWlmIChlcnJvciA8IDApCisJCQkJYnJlYWs7CisJCX0KKwl9CisjZW5kaWYgLyogTElOVVggKi8KKworI2lmIGRlZmluZWQoU1VOT1M0KQorCS8qIFBUUkFDRV9ERVRBQ0ggd29uJ3QgcmVzcGVjdCBgc2lnJyBhcmd1bWVudCwgc28gd2UgcG9zdCBpdCBoZXJlLiAqLworCWlmIChzaWcgJiYga2lsbCh0Y3AtPnBpZCwgc2lnKSA8IDApCisJCXBlcnJvcigiZGV0YWNoOiBraWxsIik7CisJc2lnID0gMDsKKwllcnJvciA9IHB0cmFjZV9yZXN0YXJ0KFBUUkFDRV9ERVRBQ0gsIHRjcCwgc2lnKTsKKyNlbmRpZiAvKiBTVU5PUzQgKi8KKworI2lmbmRlZiBVU0VfUFJPQ0ZTCisJZXJyb3IgfD0gcmVzdW1lX2Zyb21fdGNwICh0Y3ApOworI2VuZGlmCisKKwlpZiAoIXFmbGFnKQorCQlmcHJpbnRmKHN0ZGVyciwgIlByb2Nlc3MgJXUgZGV0YWNoZWRcbiIsIHRjcC0+cGlkKTsKKworCWRyb3B0Y2IodGNwKTsKKworI2lmZGVmIExJTlVYCisJaWYgKHpvbWJpZSAhPSBOVUxMKSB7CisJCS8qIFRDUCBubyBsb25nZXIgZXhpc3RzIHRoZXJlZm9yZSB5b3UgbXVzdCBub3QgZGV0YWNoICgpIGl0LiAgKi8KKwkJZHJvcHRjYih6b21iaWUpOworCX0KKyNlbmRpZgorCisJcmV0dXJuIGVycm9yOworfQorCisjaWZkZWYgVVNFX1BST0NGUworCitzdGF0aWMgdm9pZCByZWFwZXIoaW50IHNpZykKK3sKKwlpbnQgcGlkOworCWludCBzdGF0dXM7CisKKwl3aGlsZSAoKHBpZCA9IHdhaXRwaWQoLTEsICZzdGF0dXMsIFdOT0hBTkcpKSA+IDApIHsKKwl9Cit9CisKKyNlbmRpZiAvKiBVU0VfUFJPQ0ZTICovCisKK3N0YXRpYyB2b2lkCitjbGVhbnVwKCkKK3sKKwlpbnQgaTsKKwlzdHJ1Y3QgdGNiICp0Y3A7CisKKwlmb3IgKGkgPSAwOyBpIDwgdGNidGFic2l6ZTsgaSsrKSB7CisJCXRjcCA9IHRjYnRhYltpXTsKKwkJaWYgKCEodGNwLT5mbGFncyAmIFRDQl9JTlVTRSkpCisJCQljb250aW51ZTsKKwkJaWYgKGRlYnVnKQorCQkJZnByaW50ZihzdGRlcnIsCisJCQkJImNsZWFudXA6IGxvb2tpbmcgYXQgcGlkICV1XG4iLCB0Y3AtPnBpZCk7CisJCWlmICh0Y3BfbGFzdCAmJgorCQkgICAgKCFvdXRmbmFtZSB8fCBmb2xsb3dmb3JrIDwgMiB8fCB0Y3BfbGFzdCA9PSB0Y3ApKSB7CisJCQl0cHJpbnRmKCIgPHVuZmluaXNoZWQgLi4uPiIpOworCQkJcHJpbnR0cmFpbGVyKCk7CisJCX0KKwkJaWYgKHRjcC0+ZmxhZ3MgJiBUQ0JfQVRUQUNIRUQpCisJCQlkZXRhY2godGNwLCAwKTsKKwkJZWxzZSB7CisJCQlraWxsKHRjcC0+cGlkLCBTSUdDT05UKTsKKwkJCWtpbGwodGNwLT5waWQsIFNJR1RFUk0pOworCQl9CisJfQorCWlmIChjZmxhZykKKwkJY2FsbF9zdW1tYXJ5KG91dGYpOworfQorCitzdGF0aWMgdm9pZAoraW50ZXJydXB0KHNpZykKK2ludCBzaWc7Cit7CisJaW50ZXJydXB0ZWQgPSAxOworfQorCisjaWZuZGVmIEhBVkVfU1RSRVJST1IKKworI2lmICFIQVZFX0RFQ0xfU1lTX0VSUkxJU1QKK2V4dGVybiBpbnQgc3lzX25lcnI7CitleHRlcm4gY2hhciAqc3lzX2Vycmxpc3RbXTsKKyNlbmRpZiAvKiBIQVZFX0RFQ0xfU1lTX0VSUkxJU1QgKi8KKworY29uc3QgY2hhciAqCitzdHJlcnJvcihlcnJubykKK2ludCBlcnJubzsKK3sKKwlzdGF0aWMgY2hhciBidWZbNjRdOworCisJaWYgKGVycm5vIDwgMSB8fCBlcnJubyA+PSBzeXNfbmVycikgeworCQlzcHJpbnRmKGJ1ZiwgIlVua25vd24gZXJyb3IgJWQiLCBlcnJubyk7CisJCXJldHVybiBidWY7CisJfQorCXJldHVybiBzeXNfZXJybGlzdFtlcnJub107Cit9CisKKyNlbmRpZiAvKiBIQVZFX1NURVJSUk9SICovCisKKyNpZm5kZWYgSEFWRV9TVFJTSUdOQUwKKworI2lmIGRlZmluZWQgSEFWRV9TWVNfU0lHTElTVCAmJiAhZGVmaW5lZCBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QKK2V4dGVybiBjaGFyICpzeXNfc2lnbGlzdFtdOworI2VuZGlmCisjaWYgZGVmaW5lZCBIQVZFX1NZU19fU0lHTElTVCAmJiAhZGVmaW5lZCBIQVZFX0RFQ0xfX1NZU19TSUdMSVNUCitleHRlcm4gY2hhciAqX3N5c19zaWdsaXN0W107CisjZW5kaWYKKworY29uc3QgY2hhciAqCitzdHJzaWduYWwoc2lnKQoraW50IHNpZzsKK3sKKwlzdGF0aWMgY2hhciBidWZbNjRdOworCisJaWYgKHNpZyA8IDEgfHwgc2lnID49IE5TSUcpIHsKKwkJc3ByaW50ZihidWYsICJVbmtub3duIHNpZ25hbCAlZCIsIHNpZyk7CisJCXJldHVybiBidWY7CisJfQorI2lmZGVmIEhBVkVfX1NZU19TSUdMSVNUCisJcmV0dXJuIF9zeXNfc2lnbGlzdFtzaWddOworI2Vsc2UKKwlyZXR1cm4gc3lzX3NpZ2xpc3Rbc2lnXTsKKyNlbmRpZgorfQorCisjZW5kaWYgLyogSEFWRV9TVFJTSUdOQUwgKi8KKworI2lmZGVmIFVTRV9QUk9DRlMKKworc3RhdGljIHZvaWQKK3JlYnVpbGRfcG9sbHYoKQoreworCWludCBpLCBqOworCisJaWYgKHBvbGx2ICE9IE5VTEwpCisJCWZyZWUgKHBvbGx2KTsKKwlwb2xsdiA9IChzdHJ1Y3QgcG9sbGZkICopIG1hbGxvYyhucHJvY3MgKiBzaXplb2YgcG9sbHZbMF0pOworCWlmIChwb2xsdiA9PSBOVUxMKSB7CisJCWZwcmludGYoc3RkZXJyLCAiJXM6IG91dCBvZiBtZW1vcnlcbiIsIHByb2duYW1lKTsKKwkJZXhpdCgxKTsKKwl9CisKKwlmb3IgKGkgPSBqID0gMDsgaSA8IHRjYnRhYnNpemU7IGkrKykgeworCQlzdHJ1Y3QgdGNiICp0Y3AgPSB0Y2J0YWJbaV07CisJCWlmICghKHRjcC0+ZmxhZ3MgJiBUQ0JfSU5VU0UpKQorCQkJY29udGludWU7CisJCXBvbGx2W2pdLmZkID0gdGNwLT5wZmQ7CisJCXBvbGx2W2pdLmV2ZW50cyA9IFBPTExXQU5UOworCQlqKys7CisJfQorCWlmIChqICE9IG5wcm9jcykgeworCQlmcHJpbnRmKHN0ZGVyciwgInN0cmFjZTogcHJvYyBtaXNjb3VudFxuIik7CisJCWV4aXQoMSk7CisJfQorfQorCisjaWZuZGVmIEhBVkVfUE9MTEFCTEVfUFJPQ0ZTCisKK3N0YXRpYyB2b2lkCitwcm9jX3BvbGxfb3BlbigpCit7CisJaW50IGk7CisKKwlpZiAocGlwZShwcm9jX3BvbGxfcGlwZSkgPCAwKSB7CisJCXBlcnJvcigicGlwZSIpOworCQlleGl0KDEpOworCX0KKwlmb3IgKGkgPSAwOyBpIDwgMjsgaSsrKSB7CisJCWlmIChzZXRfY2xvZXhlY19mbGFnKHByb2NfcG9sbF9waXBlW2ldKSA8IDApIHsKKwkJCWV4aXQoMSk7CisJCX0KKwl9Cit9CisKK3N0YXRpYyBpbnQKK3Byb2NfcG9sbChwb2xsdiwgbmZkcywgdGltZW91dCkKK3N0cnVjdCBwb2xsZmQgKnBvbGx2OworaW50IG5mZHM7CitpbnQgdGltZW91dDsKK3sKKwlpbnQgaTsKKwlpbnQgbjsKKwlzdHJ1Y3QgcHJvY19wb2xsZmQgcG9sbGluZm87CisKKwlpZiAoKG4gPSByZWFkKHByb2NfcG9sbF9waXBlWzBdLCAmcG9sbGluZm8sIHNpemVvZihwb2xsaW5mbykpKSA8IDApCisJCXJldHVybiBuOworCWlmIChuICE9IHNpemVvZihzdHJ1Y3QgcHJvY19wb2xsZmQpKSB7CisJCWZwcmludGYoc3RkZXJyLCAicGFuaWM6IHNob3J0IHJlYWQ6ICVkXG4iLCBuKTsKKwkJZXhpdCgxKTsKKwl9CisJZm9yIChpID0gMDsgaSA8IG5wcm9jczsgaSsrKSB7CisJCWlmIChwb2xsdltpXS5mZCA9PSBwb2xsaW5mby5mZCkKKwkJCXBvbGx2W2ldLnJldmVudHMgPSBwb2xsaW5mby5yZXZlbnRzOworCQllbHNlCisJCQlwb2xsdltpXS5yZXZlbnRzID0gMDsKKwl9CisJcG9sbGVyX3BpZCA9IHBvbGxpbmZvLnBpZDsKKwlyZXR1cm4gMTsKK30KKworc3RhdGljIHZvaWQKK3dha2V1cF9oYW5kbGVyKHNpZykKK2ludCBzaWc7Cit7Cit9CisKK3N0YXRpYyB2b2lkCitwcm9jX3BvbGxlcihwZmQpCitpbnQgcGZkOworeworCXN0cnVjdCBwcm9jX3BvbGxmZCBwb2xsaW5mbzsKKwlzdHJ1Y3Qgc2lnYWN0aW9uIHNhOworCXNpZ3NldF90IGJsb2NrZWRfc2V0LCBlbXB0eV9zZXQ7CisJaW50IGk7CisJaW50IG47CisJc3RydWN0IHJsaW1pdCBybDsKKyNpZmRlZiBGUkVFQlNECisJc3RydWN0IHByb2Nmc19zdGF0dXMgcGZzOworI2VuZGlmIC8qIEZSRUVCU0QgKi8KKworCXN3aXRjaCAoZm9yaygpKSB7CisJY2FzZSAtMToKKwkJcGVycm9yKCJmb3JrIik7CisJCV9leGl0KDEpOworCWNhc2UgMDoKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcmV0dXJuOworCX0KKworCXNhLnNhX2hhbmRsZXIgPSBpbnRlcmFjdGl2ZSA/IFNJR19ERkwgOiBTSUdfSUdOOworCXNhLnNhX2ZsYWdzID0gMDsKKwlzaWdlbXB0eXNldCgmc2Euc2FfbWFzayk7CisJc2lnYWN0aW9uKFNJR0hVUCwgJnNhLCBOVUxMKTsKKwlzaWdhY3Rpb24oU0lHSU5ULCAmc2EsIE5VTEwpOworCXNpZ2FjdGlvbihTSUdRVUlULCAmc2EsIE5VTEwpOworCXNpZ2FjdGlvbihTSUdQSVBFLCAmc2EsIE5VTEwpOworCXNpZ2FjdGlvbihTSUdURVJNLCAmc2EsIE5VTEwpOworCXNhLnNhX2hhbmRsZXIgPSB3YWtldXBfaGFuZGxlcjsKKwlzaWdhY3Rpb24oU0lHVVNSMSwgJnNhLCBOVUxMKTsKKwlzaWdlbXB0eXNldCgmYmxvY2tlZF9zZXQpOworCXNpZ2FkZHNldCgmYmxvY2tlZF9zZXQsIFNJR1VTUjEpOworCXNpZ3Byb2NtYXNrKFNJR19CTE9DSywgJmJsb2NrZWRfc2V0LCBOVUxMKTsKKwlzaWdlbXB0eXNldCgmZW1wdHlfc2V0KTsKKworCWlmIChnZXRybGltaXQoUkxJTUlUX05PRklMRSwgJnJsKSA8IDApIHsKKwkJcGVycm9yKCJnZXRybGltaXQoUkxJTUlUX05PRklMRSwgLi4uKSIpOworCQlfZXhpdCgxKTsKKwl9CisJbiA9IHJsLnJsaW1fY3VyOworCWZvciAoaSA9IDA7IGkgPCBuOyBpKyspIHsKKwkJaWYgKGkgIT0gcGZkICYmIGkgIT0gcHJvY19wb2xsX3BpcGVbMV0pCisJCQljbG9zZShpKTsKKwl9CisKKwlwb2xsaW5mby5mZCA9IHBmZDsKKwlwb2xsaW5mby5waWQgPSBnZXRwaWQoKTsKKwlmb3IgKDs7KSB7CisjaWZuZGVmIEZSRUVCU0QKKwkJaWYgKGlvY3RsKHBmZCwgUElPQ1dTVE9QLCBOVUxMKSA8IDApCisjZWxzZQorCQlpZiAoaW9jdGwocGZkLCBQSU9DV1NUT1AsICZwZnMpIDwgMCkKKyNlbmRpZgorCQl7CisJCQlzd2l0Y2ggKGVycm5vKSB7CisJCQljYXNlIEVJTlRSOgorCQkJCWNvbnRpbnVlOworCQkJY2FzZSBFQkFERjoKKwkJCQlwb2xsaW5mby5yZXZlbnRzID0gUE9MTEVSUjsKKwkJCQlicmVhazsKKwkJCWNhc2UgRU5PRU5UOgorCQkJCXBvbGxpbmZvLnJldmVudHMgPSBQT0xMSFVQOworCQkJCWJyZWFrOworCQkJZGVmYXVsdDoKKwkJCQlwZXJyb3IoInByb2NfcG9sbGVyOiBQSU9DV1NUT1AiKTsKKwkJCX0KKwkJCXdyaXRlKHByb2NfcG9sbF9waXBlWzFdLCAmcG9sbGluZm8sIHNpemVvZihwb2xsaW5mbykpOworCQkJX2V4aXQoMCk7CisJCX0KKwkJcG9sbGluZm8ucmV2ZW50cyA9IFBPTExXQU5UOworCQl3cml0ZShwcm9jX3BvbGxfcGlwZVsxXSwgJnBvbGxpbmZvLCBzaXplb2YocG9sbGluZm8pKTsKKwkJc2lnc3VzcGVuZCgmZW1wdHlfc2V0KTsKKwl9Cit9CisKKyNlbmRpZiAvKiAhSEFWRV9QT0xMQUJMRV9QUk9DRlMgKi8KKworc3RhdGljIGludAorY2hvb3NlX3BmZCgpCit7CisJaW50IGksIGo7CisJc3RydWN0IHRjYiAqdGNwOworCisJc3RhdGljIGludCBsYXN0OworCisJaWYgKGZvbGxvd2ZvcmsgPCAyICYmCisJICAgIGxhc3QgPCBucHJvY3MgJiYgKHBvbGx2W2xhc3RdLnJldmVudHMgJiBQT0xMV0FOVCkpIHsKKwkJLyoKKwkJICogVGhlIHByZXZpb3VzIHByb2Nlc3MgaXMgcmVhZHkgdG8gcnVuIGFnYWluLiAgV2UnbGwKKwkJICogbGV0IGl0IGRvIHNvIGlmIGl0IGlzIGN1cnJlbnRseSBpbiBhIHN5c2NhbGwuICBUaGlzCisJCSAqIGhldXJpc3RpYyBpbXByb3ZlcyB0aGUgcmVhZGFiaWxpdHkgb2YgdGhlIHRyYWNlLgorCQkgKi8KKwkJdGNwID0gcGZkMnRjYihwb2xsdltsYXN0XS5mZCk7CisJCWlmICh0Y3AgJiYgKHRjcC0+ZmxhZ3MgJiBUQ0JfSU5TWVNDQUxMKSkKKwkJCXJldHVybiBwb2xsdltsYXN0XS5mZDsKKwl9CisKKwlmb3IgKGkgPSAwOyBpIDwgbnByb2NzOyBpKyspIHsKKwkJLyogTGV0IGNvbXBldGluZyBjaGlsZHJlbiBydW4gcm91bmQgcm9iaW4uICovCisJCWogPSAoaSArIGxhc3QgKyAxKSAlIG5wcm9jczsKKwkJaWYgKHBvbGx2W2pdLnJldmVudHMgJiAoUE9MTEhVUCB8IFBPTExFUlIpKSB7CisJCQl0Y3AgPSBwZmQydGNiKHBvbGx2W2pdLmZkKTsKKwkJCWlmICghdGNwKSB7CisJCQkJZnByaW50ZihzdGRlcnIsICJzdHJhY2U6IGxvc3QgcHJvY1xuIik7CisJCQkJZXhpdCgxKTsKKwkJCX0KKwkJCWRyb3B0Y2IodGNwKTsKKwkJCXJldHVybiAtMTsKKwkJfQorCQlpZiAocG9sbHZbal0ucmV2ZW50cyAmIFBPTExXQU5UKSB7CisJCQlsYXN0ID0gajsKKwkJCXJldHVybiBwb2xsdltqXS5mZDsKKwkJfQorCX0KKwlmcHJpbnRmKHN0ZGVyciwgInN0cmFjZTogbm90aGluZyByZWFkeVxuIik7CisJZXhpdCgxKTsKK30KKworc3RhdGljIGludAordHJhY2UoKQoreworI2lmZGVmIFBPTExfSEFDSworCXN0cnVjdCB0Y2IgKmluX3N5c2NhbGwgPSBOVUxMOworI2VuZGlmCisJc3RydWN0IHRjYiAqdGNwOworCWludCBwZmQ7CisJaW50IHdoYXQ7CisJaW50IGlvY3RsX3Jlc3VsdCA9IDAsIGlvY3RsX2Vycm5vID0gMDsKKwlsb25nIGFyZzsKKworCWZvciAoOzspIHsKKwkJaWYgKGludGVyYWN0aXZlKQorCQkJc2lncHJvY21hc2soU0lHX1NFVE1BU0ssICZlbXB0eV9zZXQsIE5VTEwpOworCisJCWlmIChucHJvY3MgPT0gMCkKKwkJCWJyZWFrOworCisJCXN3aXRjaCAobnByb2NzKSB7CisJCWNhc2UgMToKKyNpZm5kZWYgSEFWRV9QT0xMQUJMRV9QUk9DRlMKKwkJCWlmIChwcm9jX3BvbGxfcGlwZVswXSA9PSAtMSkgeworI2VuZGlmCisJCQkJdGNwID0gcGlkMnRjYigwKTsKKwkJCQlpZiAoIXRjcCkKKwkJCQkJY29udGludWU7CisJCQkJcGZkID0gdGNwLT5wZmQ7CisJCQkJaWYgKHBmZCA9PSAtMSkKKwkJCQkJY29udGludWU7CisJCQkJYnJlYWs7CisjaWZuZGVmIEhBVkVfUE9MTEFCTEVfUFJPQ0ZTCisJCQl9CisJCQkvKiBmYWxsIHRocm91Z2ggLi4uICovCisjZW5kaWYgLyogIUhBVkVfUE9MTEFCTEVfUFJPQ0ZTICovCisJCWRlZmF1bHQ6CisjaWZkZWYgSEFWRV9QT0xMQUJMRV9QUk9DRlMKKyNpZmRlZiBQT0xMX0hBQ0sKKwkJICAgICAgICAvKiBPbiBzb21lIHN5c3RlbXMgKGUuZy4gVW5peFdhcmUpIHdlIGdldCB0b28gbXVjaCB1Z2x5CisJCQkgICAidW5maW5pc2hlZC4uLiIgc3R1ZmYgd2hlbiBtdWx0aXBsZSBwcm9jZXNlcyBhcmUgaW4KKwkJCSAgIHN5c2NhbGxzLiAgSGVyZSdzIGEgbmFzdHkgaGFjayAqLworCisJCQlpZiAoaW5fc3lzY2FsbCkgeworCQkJCXN0cnVjdCBwb2xsZmQgcHY7CisJCQkJdGNwID0gaW5fc3lzY2FsbDsKKwkJCQlpbl9zeXNjYWxsID0gTlVMTDsKKwkJCQlwdi5mZCA9IHRjcC0+cGZkOworCQkJCXB2LmV2ZW50cyA9IFBPTExXQU5UOworCQkJCWlmICgod2hhdCA9IHBvbGwgKCZwdiwgMSwgMSkpIDwgMCkgeworCQkJCQlpZiAoaW50ZXJydXB0ZWQpCisJCQkJCQlyZXR1cm4gMDsKKwkJCQkJY29udGludWU7CisJCQkJfQorCQkJCWVsc2UgaWYgKHdoYXQgPT0gMSAmJiBwdi5yZXZlbnRzICYgUE9MTFdBTlQpIHsKKwkJCQkJZ290byBGT1VORDsKKwkJCQl9CisJCQl9CisjZW5kaWYKKworCQkJaWYgKHBvbGwocG9sbHYsIG5wcm9jcywgSU5GVElNKSA8IDApIHsKKwkJCQlpZiAoaW50ZXJydXB0ZWQpCisJCQkJCXJldHVybiAwOworCQkJCWNvbnRpbnVlOworCQkJfQorI2Vsc2UgLyogIUhBVkVfUE9MTEFCTEVfUFJPQ0ZTICovCisJCQlpZiAocHJvY19wb2xsKHBvbGx2LCBucHJvY3MsIElORlRJTSkgPCAwKSB7CisJCQkJaWYgKGludGVycnVwdGVkKQorCQkJCQlyZXR1cm4gMDsKKwkJCQljb250aW51ZTsKKwkJCX0KKyNlbmRpZiAvKiAhSEFWRV9QT0xMQUJMRV9QUk9DRlMgKi8KKwkJCXBmZCA9IGNob29zZV9wZmQoKTsKKwkJCWlmIChwZmQgPT0gLTEpCisJCQkJY29udGludWU7CisJCQlicmVhazsKKwkJfQorCisJCS8qIExvb2sgdXAgYHBmZCcgaW4gb3VyIHRhYmxlLiAqLworCQlpZiAoKHRjcCA9IHBmZDJ0Y2IocGZkKSkgPT0gTlVMTCkgeworCQkJZnByaW50ZihzdGRlcnIsICJ1bmtub3duIHBmZDogJXVcbiIsIHBmZCk7CisJCQlleGl0KDEpOworCQl9CisjaWZkZWYgUE9MTF9IQUNLCisJRk9VTkQ6CisjZW5kaWYKKwkJLyogR2V0IHRoZSBzdGF0dXMgb2YgdGhlIHByb2Nlc3MuICovCisJCWlmICghaW50ZXJydXB0ZWQpIHsKKyNpZm5kZWYgRlJFRUJTRAorCQkJaW9jdGxfcmVzdWx0ID0gSU9DVExfV1NUT1AgKHRjcCk7CisjZWxzZSAvKiBGUkVFQlNEICovCisJCQkvKiBUaGFua3MgdG8gc29tZSBzY2hlZHVsaW5nIG15c3RlcnksIHRoZSBmaXJzdCBwb2xsZXIKKwkJCSAgIHNvbWV0aW1lcyB3YWl0cyBmb3IgdGhlIGFscmVhZHkgcHJvY2Vzc2VkIGVuZCBvZiBmb3JrCisJCQkgICBldmVudC4gRG9pbmcgYSBub24gYmxvY2tpbmcgcG9sbCBoZXJlIHNvbHZlcyB0aGUgcHJvYmxlbS4gKi8KKwkJCWlmIChwcm9jX3BvbGxfcGlwZVswXSAhPSAtMSkKKwkJCQlpb2N0bF9yZXN1bHQgPSBJT0NUTF9TVEFUVVMgKHRjcCk7CisJCQllbHNlCisJCQkJaW9jdGxfcmVzdWx0ID0gSU9DVExfV1NUT1AgKHRjcCk7CisjZW5kaWYgLyogRlJFRUJTRCAqLworCQkJaW9jdGxfZXJybm8gPSBlcnJubzsKKyNpZm5kZWYgSEFWRV9QT0xMQUJMRV9QUk9DRlMKKwkJCWlmIChwcm9jX3BvbGxfcGlwZVswXSAhPSAtMSkgeworCQkJCWlmIChpb2N0bF9yZXN1bHQgPCAwKQorCQkJCQlraWxsKHBvbGxlcl9waWQsIFNJR0tJTEwpOworCQkJCWVsc2UKKwkJCQkJa2lsbChwb2xsZXJfcGlkLCBTSUdVU1IxKTsKKwkJCX0KKyNlbmRpZiAvKiAhSEFWRV9QT0xMQUJMRV9QUk9DRlMgKi8KKwkJfQorCQlpZiAoaW50ZXJydXB0ZWQpCisJCQlyZXR1cm4gMDsKKworCQlpZiAoaW50ZXJhY3RpdmUpCisJCQlzaWdwcm9jbWFzayhTSUdfQkxPQ0ssICZibG9ja2VkX3NldCwgTlVMTCk7CisKKwkJaWYgKGlvY3RsX3Jlc3VsdCA8IDApIHsKKwkJCS8qIEZpbmQgb3V0IHdoYXQgaGFwcGVuZWQgaWYgaXQgZmFpbGVkLiAqLworCQkJc3dpdGNoIChpb2N0bF9lcnJubykgeworCQkJY2FzZSBFSU5UUjoKKwkJCWNhc2UgRUJBREY6CisJCQkJY29udGludWU7CisjaWZkZWYgRlJFRUJTRAorCQkJY2FzZSBFTk9UVFk6CisjZW5kaWYKKwkJCWNhc2UgRU5PRU5UOgorCQkJCWRyb3B0Y2IodGNwKTsKKwkJCQljb250aW51ZTsKKwkJCWRlZmF1bHQ6CisJCQkJcGVycm9yKCJQSU9DV1NUT1AiKTsKKwkJCQlleGl0KDEpOworCQkJfQorCQl9CisKKyNpZmRlZiBGUkVFQlNECisJCWlmICgodGNwLT5mbGFncyAmIFRDQl9TVEFSVFVQKSAmJiAodGNwLT5zdGF0dXMuUFJfV0hZID09IFBSX1NZU0VYSVQpKSB7CisJCQkvKiBkaXNjYXJkIGZpcnN0IGV2ZW50IGZvciBhIHN5c2NhbGwgd2UgbmV2ZXIgZW50ZXJlZCAqLworCQkJSU9DVEwgKHRjcC0+cGZkLCBQSU9DUlVOLCAwKTsKKwkJCWNvbnRpbnVlOworCQl9CisjZW5kaWYKKworCQkvKiBjbGVhciB0aGUganVzdCBzdGFydGVkIGZsYWcgKi8KKwkJdGNwLT5mbGFncyAmPSB+VENCX1NUQVJUVVA7CisKKwkJLyogc2V0IGN1cnJlbnQgb3V0cHV0IGZpbGUgKi8KKwkJb3V0ZiA9IHRjcC0+b3V0ZjsKKwkJY3VyY29sID0gdGNwLT5jdXJjb2w7CisKKwkJaWYgKGNmbGFnKSB7CisJCQlzdHJ1Y3QgdGltZXZhbCBzdGltZTsKKyNpZmRlZiBGUkVFQlNECisJCQljaGFyIGJ1ZlsxMDI0XTsKKwkJCWludCBsZW47CisKKwkJCWlmICgobGVuID0gcHJlYWQodGNwLT5wZmRfc3RhdHVzLCBidWYsIHNpemVvZihidWYpIC0gMSwgMCkpID4gMCkgeworCQkJCWJ1ZltsZW5dID0gJ1wwJzsKKwkJCQlzc2NhbmYoYnVmLAorCQkJCSAgICAgICAiJSpzICUqZCAlKmQgJSpkICUqZCAlKmQsJSpkICUqcyAlKmQsJSpkICUqZCwlKmQgJWxkLCVsZCIsCisJCQkJICAgICAgICZzdGltZS50dl9zZWMsICZzdGltZS50dl91c2VjKTsKKwkJCX0gZWxzZQorCQkJCXN0aW1lLnR2X3NlYyA9IHN0aW1lLnR2X3VzZWMgPSAwOworI2Vsc2UgLyogIUZSRUVCU0QgKi8KKwkJCXN0aW1lLnR2X3NlYyA9IHRjcC0+c3RhdHVzLnByX3N0aW1lLnR2X3NlYzsKKwkJCXN0aW1lLnR2X3VzZWMgPSB0Y3AtPnN0YXR1cy5wcl9zdGltZS50dl9uc2VjLzEwMDA7CisjZW5kaWYgLyogIUZSRUVCU0QgKi8KKwkJCXR2X3N1YigmdGNwLT5kdGltZSwgJnN0aW1lLCAmdGNwLT5zdGltZSk7CisJCQl0Y3AtPnN0aW1lID0gc3RpbWU7CisJCX0KKwkJd2hhdCA9IHRjcC0+c3RhdHVzLlBSX1dIQVQ7CisJCXN3aXRjaCAodGNwLT5zdGF0dXMuUFJfV0hZKSB7CisjaWZuZGVmIEZSRUVCU0QKKwkJY2FzZSBQUl9SRVFVRVNURUQ6CisJCQlpZiAodGNwLT5zdGF0dXMuUFJfRkxBR1MgJiBQUl9BU0xFRVApIHsKKwkJCQl0Y3AtPnN0YXR1cy5QUl9XSFkgPSBQUl9TWVNFTlRSWTsKKwkJCQlpZiAodHJhY2Vfc3lzY2FsbCh0Y3ApIDwgMCkgeworCQkJCQlmcHJpbnRmKHN0ZGVyciwgInN5c2NhbGwgdHJvdWJsZVxuIik7CisJCQkJCWV4aXQoMSk7CisJCQkJfQorCQkJfQorCQkJYnJlYWs7CisjZW5kaWYgLyogIUZSRUVCU0QgKi8KKwkJY2FzZSBQUl9TWVNFTlRSWToKKyNpZmRlZiBQT0xMX0hBQ0sKKwkJICAgICAgICBpbl9zeXNjYWxsID0gdGNwOworI2VuZGlmCisJCWNhc2UgUFJfU1lTRVhJVDoKKwkJCWlmICh0cmFjZV9zeXNjYWxsKHRjcCkgPCAwKSB7CisJCQkJZnByaW50ZihzdGRlcnIsICJzeXNjYWxsIHRyb3VibGVcbiIpOworCQkJCWV4aXQoMSk7CisJCQl9CisJCQlicmVhazsKKwkJY2FzZSBQUl9TSUdOQUxMRUQ6CisJCQlpZiAoY2ZsYWcgIT0gQ0ZMQUdfT05MWV9TVEFUUworCQkJICAgICYmIChxdWFsX2ZsYWdzW3doYXRdICYgUVVBTF9TSUdOQUwpKSB7CisJCQkJcHJpbnRsZWFkZXIodGNwKTsKKwkJCQl0cHJpbnRmKCItLS0gJXMgKCVzKSAtLS0iLAorCQkJCQlzaWduYW1lKHdoYXQpLCBzdHJzaWduYWwod2hhdCkpOworCQkJCXByaW50dHJhaWxlcigpOworI2lmZGVmIFBSX0lORk8KKwkJCQlpZiAodGNwLT5zdGF0dXMuUFJfSU5GTy5zaV9zaWdubyA9PSB3aGF0KSB7CisJCQkJCXByaW50bGVhZGVyKHRjcCk7CisJCQkJCXRwcmludGYoIiAgICBzaWdpbmZvPSIpOworCQkJCQlwcmludHNpZ2luZm8oJnRjcC0+c3RhdHVzLlBSX0lORk8sIDEpOworCQkJCQlwcmludHRyYWlsZXIoKTsKKwkJCQl9CisjZW5kaWYKKwkJCX0KKwkJCWJyZWFrOworCQljYXNlIFBSX0ZBVUxURUQ6CisJCQlpZiAoY2ZsYWcgIT0gQ0ZMQUdTX09OTFlfU1RBVFMKKwkJCSAgICAmJiAocXVhbF9mbGFnc1t3aGF0XSAmIFFVQUxfRkFVTFQpKSB7CisJCQkJcHJpbnRsZWFkZXIodGNwKTsKKwkJCQl0cHJpbnRmKCI9PT0gRkFVTFQgJWQgPT09Iiwgd2hhdCk7CisJCQkJcHJpbnR0cmFpbGVyKCk7CisJCQl9CisJCQlicmVhazsKKyNpZmRlZiBGUkVFQlNECisJCWNhc2UgMDogLyogaGFuZGxlIGNhc2Ugd2UgcG9sbGVkIGZvciBub3RoaW5nICovCisJCQljb250aW51ZTsKKyNlbmRpZgorCQlkZWZhdWx0OgorCQkJZnByaW50ZihzdGRlcnIsICJvZGQgc3RvcCAlZFxuIiwgdGNwLT5zdGF0dXMuUFJfV0hZKTsKKwkJCWV4aXQoMSk7CisJCQlicmVhazsKKwkJfQorCQkvKiBSZW1lbWJlciBjdXJyZW50IHByaW50IGNvbHVtbiBiZWZvcmUgY29udGludWluZy4gKi8KKwkJdGNwLT5jdXJjb2wgPSBjdXJjb2w7CisJCWFyZyA9IDA7CisjaWZuZGVmIEZSRUVCU0QKKwkJaWYgKElPQ1RMICh0Y3AtPnBmZCwgUElPQ1JVTiwgJmFyZykgPCAwKSB7CisjZWxzZQorCQlpZiAoSU9DVEwgKHRjcC0+cGZkLCBQSU9DUlVOLCAwKSA8IDApIHsKKyNlbmRpZgorCQkJcGVycm9yKCJQSU9DUlVOIik7CisJCQlleGl0KDEpOworCQl9CisJfQorCXJldHVybiAwOworfQorCisjZWxzZSAvKiAhVVNFX1BST0NGUyAqLworCisjaWZkZWYgVENCX0dST1VQX0VYSVRJTkcKKy8qIEhhbmRsZSBhbiBleGl0IGRldGFjaCBvciBkZWF0aCBzaWduYWwgdGhhdCBpcyB0YWtpbmcgYWxsIHRoZQorICAgcmVsYXRlZCBjbG9uZSB0aHJlYWRzIHdpdGggaXQuICBUaGlzIGlzIGNhbGxlZCBpbiB0aHJlZSBjaXJjdW1zdGFuY2VzOgorICAgU0lHID09IC0xCVRDUCBoYXMgYWxyZWFkeSBkaWVkIChUQ0JfQVRUQUNIRUQgaXMgY2xlYXIsIHN0cmFjZSBpcyBwYXJlbnQpLgorICAgU0lHID09IDAJQ29udGludWluZyBUQ1Agd2lsbCBwZXJmb3JtIGFuIGV4aXRfZ3JvdXAgc3lzY2FsbC4KKyAgIFNJRyA9PSBvdGhlcglDb250aW51aW5nIFRDUCB3aXRoIFNJRyB3aWxsIGtpbGwgdGhlIHByb2Nlc3MuCisqLworc3RhdGljIGludAoraGFuZGxlX2dyb3VwX2V4aXQoc3RydWN0IHRjYiAqdGNwLCBpbnQgc2lnKQoreworCS8qIFdlIG5lZWQgdG8gbG9jYXRlIG91ciByZWNvcmRzIG9mIGFsbCB0aGUgY2xvbmUgdGhyZWFkcworCSAgIHJlbGF0ZWQgdG8gVENQLCBlaXRoZXIgaXRzIGNoaWxkcmVuIG9yIHNpYmxpbmdzLiAgKi8KKwlzdHJ1Y3QgdGNiICpsZWFkZXIgPSBOVUxMOworCisJaWYgKHRjcC0+ZmxhZ3MgJiBUQ0JfQ0xPTkVfVEhSRUFEKQorCQlsZWFkZXIgPSB0Y3AtPnBhcmVudDsKKwllbHNlIGlmICh0Y3AtPm5jbG9uZV9kZXRhY2hlZCA+IDApCisJCWxlYWRlciA9IHRjcDsKKworCWlmIChzaWcgPCAwKSB7CisJCWlmIChsZWFkZXIgIT0gTlVMTCAmJiBsZWFkZXIgIT0gdGNwCisJCSAmJiAhKGxlYWRlci0+ZmxhZ3MgJiBUQ0JfR1JPVVBfRVhJVElORykKKwkJICYmICEodGNwLT5mbGFncyAmIFRDQl9TVEFSVFVQKQorCQkpIHsKKwkJCWZwcmludGYoc3RkZXJyLAorCQkJCSJQQU5JQzogaGFuZGxlX2dyb3VwX2V4aXQ6ICVkIGxlYWRlciAlZFxuIiwKKwkJCQl0Y3AtPnBpZCwgbGVhZGVyID8gbGVhZGVyLT5waWQgOiAtMSk7CisJCX0KKwkJLyogVENQIG5vIGxvbmdlciBleGlzdHMgdGhlcmVmb3JlIHlvdSBtdXN0IG5vdCBkZXRhY2goKSBpdC4gICovCisjaWZuZGVmIFVTRV9QUk9DRlMKKwkJcmVzdW1lX2Zyb21fdGNwKHRjcCk7CisjZW5kaWYKKwkJZHJvcHRjYih0Y3ApOwkvKiBBbHJlYWR5IGRpZWQuICAqLworCX0KKwllbHNlIHsKKwkJLyogTWFyayB0aGF0IHdlIGFyZSB0YWtpbmcgdGhlIHByb2Nlc3MgZG93bi4gICovCisJCXRjcC0+ZmxhZ3MgfD0gVENCX0VYSVRJTkcgfCBUQ0JfR1JPVVBfRVhJVElORzsKKwkJaWYgKHRjcC0+ZmxhZ3MgJiBUQ0JfQVRUQUNIRUQpIHsKKwkJCWRldGFjaCh0Y3AsIHNpZyk7CisJCQlpZiAobGVhZGVyICE9IE5VTEwgJiYgbGVhZGVyICE9IHRjcCkKKwkJCQlsZWFkZXItPmZsYWdzIHw9IFRDQl9HUk9VUF9FWElUSU5HOworCQl9IGVsc2UgeworCQkJaWYgKHB0cmFjZV9yZXN0YXJ0KFBUUkFDRV9DT05ULCB0Y3AsIHNpZykgPCAwKSB7CisJCQkJY2xlYW51cCgpOworCQkJCXJldHVybiAtMTsKKwkJCX0KKwkJCWlmIChsZWFkZXIgIT0gTlVMTCkgeworCQkJCWxlYWRlci0+ZmxhZ3MgfD0gVENCX0dST1VQX0VYSVRJTkc7CisJCQkJaWYgKGxlYWRlciAhPSB0Y3ApCisJCQkJCWRyb3B0Y2IodGNwKTsKKwkJCX0KKwkJCS8qIFRoZSBsZWFkZXIgd2lsbCByZXBvcnQgdG8gdXMgYXMgcGFyZW50IG5vdywKKwkJCSAgIGFuZCB0aGVuIHdlJ2xsIGdldCB0byB0aGUgU0lHPT0tMSBjYXNlLiAgKi8KKwkJCXJldHVybiAwOworCQl9CisJfQorCisJcmV0dXJuIDA7Cit9CisjZW5kaWYKKworc3RhdGljIGludAordHJhY2UoKQoreworCWludCBwaWQ7CisJaW50IHdhaXRfZXJybm87CisJaW50IHN0YXR1czsKKwlzdHJ1Y3QgdGNiICp0Y3A7CisjaWZkZWYgTElOVVgKKwlzdHJ1Y3QgcnVzYWdlIHJ1OworI2lmZGVmIF9fV0FMTAorCXN0YXRpYyBpbnQgd2FpdDRfb3B0aW9ucyA9IF9fV0FMTDsKKyNlbmRpZgorI2VuZGlmIC8qIExJTlVYICovCisKKwl3aGlsZSAobnByb2NzICE9IDApIHsKKwkJaWYgKGludGVycnVwdGVkKQorCQkJcmV0dXJuIDA7CisJCWlmIChpbnRlcmFjdGl2ZSkKKwkJCXNpZ3Byb2NtYXNrKFNJR19TRVRNQVNLLCAmZW1wdHlfc2V0LCBOVUxMKTsKKyNpZmRlZiBMSU5VWAorI2lmZGVmIF9fV0FMTAorCQlwaWQgPSB3YWl0NCgtMSwgJnN0YXR1cywgd2FpdDRfb3B0aW9ucywgY2ZsYWcgPyAmcnUgOiBOVUxMKTsKKwkJaWYgKHBpZCA8IDAgJiYgKHdhaXQ0X29wdGlvbnMgJiBfX1dBTEwpICYmIGVycm5vID09IEVJTlZBTCkgeworCQkJLyogdGhpcyBrZXJuZWwgZG9lcyBub3Qgc3VwcG9ydCBfX1dBTEwgKi8KKwkJCXdhaXQ0X29wdGlvbnMgJj0gfl9fV0FMTDsKKwkJCWVycm5vID0gMDsKKwkJCXBpZCA9IHdhaXQ0KC0xLCAmc3RhdHVzLCB3YWl0NF9vcHRpb25zLAorCQkJCQljZmxhZyA/ICZydSA6IE5VTEwpOworCQl9CisJCWlmIChwaWQgPCAwICYmICEod2FpdDRfb3B0aW9ucyAmIF9fV0FMTCkgJiYgZXJybm8gPT0gRUNISUxEKSB7CisJCQkvKiBtb3N0IGxpa2VseSBhICJjbG9uZWQiIHByb2Nlc3MgKi8KKwkJCXBpZCA9IHdhaXQ0KC0xLCAmc3RhdHVzLCBfX1dDTE9ORSwKKwkJCQkJY2ZsYWcgPyAmcnUgOiBOVUxMKTsKKwkJCWlmIChwaWQgPT0gLTEpIHsKKwkJCQlmcHJpbnRmKHN0ZGVyciwgInN0cmFjZTogY2xvbmUgd2FpdDQgIgorCQkJCQkJImZhaWxlZDogJXNcbiIsIHN0cmVycm9yKGVycm5vKSk7CisJCQl9CisJCX0KKyNlbHNlCisJCXBpZCA9IHdhaXQ0KC0xLCAmc3RhdHVzLCAwLCBjZmxhZyA/ICZydSA6IE5VTEwpOworI2VuZGlmIC8qIF9fV0FMTCAqLworI2VuZGlmIC8qIExJTlVYICovCisjaWZkZWYgU1VOT1M0CisJCXBpZCA9IHdhaXQoJnN0YXR1cyk7CisjZW5kaWYgLyogU1VOT1M0ICovCisJCXdhaXRfZXJybm8gPSBlcnJubzsKKwkJaWYgKGludGVyYWN0aXZlKQorCQkJc2lncHJvY21hc2soU0lHX0JMT0NLLCAmYmxvY2tlZF9zZXQsIE5VTEwpOworCisJCWlmIChwaWQgPT0gLTEpIHsKKwkJCXN3aXRjaCAod2FpdF9lcnJubykgeworCQkJY2FzZSBFSU5UUjoKKwkJCQljb250aW51ZTsKKwkJCWNhc2UgRUNISUxEOgorCQkJCS8qCisJCQkJICogV2Ugd291bGQgbGlrZSB0byB2ZXJpZnkgdGhpcyBjYXNlCisJCQkJICogYnV0IHNvbWV0aW1lcyBhIHJhY2UgaW4gU29sYm91cm5lJ3MKKwkJCQkgKiB2ZXJzaW9uIG9mIFN1bk9TIHNvbWV0aW1lcyByZXBvcnRzCisJCQkJICogRUNISUxEIGJlZm9yZSBzZW5kaW5nIHVzIFNJR0NISUxELgorCQkJCSAqLworCQkJCXJldHVybiAwOworCQkJZGVmYXVsdDoKKwkJCQllcnJubyA9IHdhaXRfZXJybm87CisJCQkJcGVycm9yKCJzdHJhY2U6IHdhaXQiKTsKKwkJCQlyZXR1cm4gLTE7CisJCQl9CisJCX0KKwkJaWYgKHBpZCA9PSBwb3Blbl9waWQpIHsKKwkJCWlmIChXSUZFWElURUQoc3RhdHVzKSB8fCBXSUZTSUdOQUxFRChzdGF0dXMpKQorCQkJCXBvcGVuX3BpZCA9IC0xOworCQkJY29udGludWU7CisJCX0KKwkJaWYgKGRlYnVnKQorCQkJZnByaW50ZihzdGRlcnIsICIgW3dhaXQoJSN4KSA9ICV1XVxuIiwgc3RhdHVzLCBwaWQpOworCisJCS8qIExvb2sgdXAgYHBpZCcgaW4gb3VyIHRhYmxlLiAqLworCQlpZiAoKHRjcCA9IHBpZDJ0Y2IocGlkKSkgPT0gTlVMTCkgeworI2lmZGVmIExJTlVYCisJCQlpZiAoZm9sbG93Zm9yaykgeworCQkJCS8qIFRoaXMgaXMgbmVlZGVkIHRvIGdvIHdpdGggdGhlIENMT05FX1BUUkFDRQorCQkJCSAgIGNoYW5nZXMgaW4gcHJvY2Vzcy5jL3V0aWwuYzogd2UgbWlnaHQgc2VlCisJCQkJICAgdGhlIGNoaWxkJ3MgaW5pdGlhbCB0cmFwIGJlZm9yZSB3ZSBzZWUgdGhlCisJCQkJICAgcGFyZW50IHJldHVybiBmcm9tIHRoZSBjbG9uZSBzeXNjYWxsLgorCQkJCSAgIExlYXZlIHRoZSBjaGlsZCBzdXNwZW5kZWQgdW50aWwgdGhlIHBhcmVudAorCQkJCSAgIHJldHVybnMgZnJvbSBpdHMgc3lzdGVtIGNhbGwuICBPbmx5IHRoZW4KKwkJCQkgICB3aWxsIHdlIGhhdmUgdGhlIGFzc29jaWF0aW9uIG9mIHBhcmVudCBhbmQKKwkJCQkgICBjaGlsZCBzbyB0aGF0IHdlIGtub3cgaG93IHRvIGRvIGNsZWFyYnB0CisJCQkJICAgaW4gdGhlIGNoaWxkLiAgKi8KKwkJCQl0Y3AgPSBhbGxvY3RjYihwaWQpOworCQkJCXRjcC0+ZmxhZ3MgfD0gVENCX0FUVEFDSEVEIHwgVENCX1NVU1BFTkRFRDsKKwkJCQlpZiAoIXFmbGFnKQorCQkJCQlmcHJpbnRmKHN0ZGVyciwgIlwKK1Byb2Nlc3MgJWQgYXR0YWNoZWQgKHdhaXRpbmcgZm9yIHBhcmVudClcbiIsCisJCQkJCQlwaWQpOworCQkJfQorCQkJZWxzZQorCQkJCS8qIFRoaXMgY2FuIGhhcHBlbiBpZiBhIGNsb25lIGNhbGwgdXNlZAorCQkJCSAgIENMT05FX1BUUkFDRSBpdHNlbGYuICAqLworI2VuZGlmCisJCQl7CisJCQkJZnByaW50ZihzdGRlcnIsICJ1bmtub3duIHBpZDogJXVcbiIsIHBpZCk7CisJCQkJaWYgKFdJRlNUT1BQRUQoc3RhdHVzKSkKKwkJCQkJcHRyYWNlKFBUUkFDRV9DT05ULCBwaWQsIChjaGFyICopIDEsIDApOworCQkJCWV4aXQoMSk7CisJCQl9CisJCX0KKwkJLyogc2V0IGN1cnJlbnQgb3V0cHV0IGZpbGUgKi8KKwkJb3V0ZiA9IHRjcC0+b3V0ZjsKKwkJY3VyY29sID0gdGNwLT5jdXJjb2w7CisJCWlmIChjZmxhZykgeworI2lmZGVmIExJTlVYCisJCQl0dl9zdWIoJnRjcC0+ZHRpbWUsICZydS5ydV9zdGltZSwgJnRjcC0+c3RpbWUpOworCQkJdGNwLT5zdGltZSA9IHJ1LnJ1X3N0aW1lOworI2VuZGlmIC8qICFMSU5VWCAqLworCQl9CisKKwkJaWYgKHRjcC0+ZmxhZ3MgJiBUQ0JfU1VTUEVOREVEKSB7CisJCQkvKgorCQkJICogQXBwYXJlbnRseSwgZG9pbmcgYW55IHB0cmFjZSgpIGNhbGwgb24gYSBzdG9wcGVkCisJCQkgKiBwcm9jZXNzLCBwcm92b2tlcyB0aGUga2VybmVsIHRvIHJlcG9ydCB0aGUgcHJvY2VzcworCQkJICogc3RhdHVzIGFnYWluIG9uIGEgc3Vic2VxdWVudCB3YWl0KCksIGV2ZW4gaWYgdGhlCisJCQkgKiBwcm9jZXNzIGhhcyBub3QgYmVlbiBhY3R1YWxseSByZXN0YXJ0ZWQuCisJCQkgKiBTaW5jZSB3ZSBoYXZlIGluc3BlY3RlZCB0aGUgYXJndW1lbnRzIG9mIHN1c3BlbmRlZAorCQkJICogcHJvY2Vzc2VzIHdlIGVuZCB1cCBoZXJlIHRlc3RpbmcgZm9yIHRoaXMgY2FzZS4KKwkJCSAqLworCQkJY29udGludWU7CisJCX0KKwkJaWYgKFdJRlNJR05BTEVEKHN0YXR1cykpIHsKKwkJCWlmIChwaWQgPT0gc3RyYWNlX2NoaWxkKQorCQkJCWV4aXRfY29kZSA9IDB4MTAwIHwgV1RFUk1TSUcoc3RhdHVzKTsKKwkJCWlmIChjZmxhZyAhPSBDRkxBR19PTkxZX1NUQVRTCisJCQkgICAgJiYgKHF1YWxfZmxhZ3NbV1RFUk1TSUcoc3RhdHVzKV0gJiBRVUFMX1NJR05BTCkpIHsKKwkJCQlwcmludGxlYWRlcih0Y3ApOworCQkJCXRwcmludGYoIisrKyBraWxsZWQgYnkgJXMgJXMrKysiLAorCQkJCQlzaWduYW1lKFdURVJNU0lHKHN0YXR1cykpLAorI2lmZGVmIFdDT1JFRFVNUAorCQkJCQlXQ09SRURVTVAoc3RhdHVzKSA/ICIoY29yZSBkdW1wZWQpICIgOgorI2VuZGlmCisJCQkJCSIiKTsKKwkJCQlwcmludHRyYWlsZXIoKTsKKwkJCX0KKyNpZmRlZiBUQ0JfR1JPVVBfRVhJVElORworCQkJaGFuZGxlX2dyb3VwX2V4aXQodGNwLCAtMSk7CisjZWxzZQorCQkJZHJvcHRjYih0Y3ApOworI2VuZGlmCisJCQljb250aW51ZTsKKwkJfQorCQlpZiAoV0lGRVhJVEVEKHN0YXR1cykpIHsKKwkJCWlmIChwaWQgPT0gc3RyYWNlX2NoaWxkKQorCQkJCWV4aXRfY29kZSA9IFdFWElUU1RBVFVTKHN0YXR1cyk7CisJCQlpZiAoZGVidWcpCisJCQkJZnByaW50ZihzdGRlcnIsICJwaWQgJXUgZXhpdGVkIHdpdGggJWRcbiIsIHBpZCwgV0VYSVRTVEFUVVMoc3RhdHVzKSk7CisJCQlpZiAoKHRjcC0+ZmxhZ3MgJiAoVENCX0FUVEFDSEVEfFRDQl9TVEFSVFVQKSkgPT0gVENCX0FUVEFDSEVECisjaWZkZWYgVENCX0dST1VQX0VYSVRJTkcKKwkJCSAgICAmJiAhKHRjcC0+cGFyZW50ICYmICh0Y3AtPnBhcmVudC0+ZmxhZ3MgJiBUQ0JfR1JPVVBfRVhJVElORykpCisJCQkgICAgJiYgISh0Y3AtPmZsYWdzICYgVENCX0dST1VQX0VYSVRJTkcpCisjZW5kaWYKKwkJCSkgeworCQkJCWZwcmludGYoc3RkZXJyLAorCQkJCQkiUEFOSUM6IGF0dGFjaGVkIHBpZCAldSBleGl0ZWQgd2l0aCAlZFxuIiwKKwkJCQkJcGlkLCBXRVhJVFNUQVRVUyhzdGF0dXMpKTsKKwkJCX0KKwkJCWlmICh0Y3AgPT0gdGNwX2xhc3QpIHsKKwkJCQlpZiAoKHRjcC0+ZmxhZ3MgJiAoVENCX0lOU1lTQ0FMTHxUQ0JfUkVQUklOVCkpID09IFRDQl9JTlNZU0NBTEwpCisJCQkJCXRwcmludGYoIiA8dW5maW5pc2hlZCAuLi4gZXhpdCBzdGF0dXMgJWQ+XG4iLAorCQkJCQkJV0VYSVRTVEFUVVMoc3RhdHVzKSk7CisJCQkJdGNwX2xhc3QgPSBOVUxMOworCQkJfQorI2lmZGVmIFRDQl9HUk9VUF9FWElUSU5HCisJCQloYW5kbGVfZ3JvdXBfZXhpdCh0Y3AsIC0xKTsKKyNlbHNlCisJCQlkcm9wdGNiKHRjcCk7CisjZW5kaWYKKwkJCWNvbnRpbnVlOworCQl9CisJCWlmICghV0lGU1RPUFBFRChzdGF0dXMpKSB7CisJCQlmcHJpbnRmKHN0ZGVyciwgIlBBTklDOiBwaWQgJXUgbm90IHN0b3BwZWRcbiIsIHBpZCk7CisJCQlkcm9wdGNiKHRjcCk7CisJCQljb250aW51ZTsKKwkJfQorCQlpZiAoZGVidWcpCisJCQlmcHJpbnRmKHN0ZGVyciwgInBpZCAldSBzdG9wcGVkLCBbJXNdXG4iLAorCQkJCXBpZCwgc2lnbmFtZShXU1RPUFNJRyhzdGF0dXMpKSk7CisKKwkJLyoKKwkJICogSW50ZXJlc3RpbmdseSwgdGhlIHByb2Nlc3MgbWF5IHN0b3AKKwkJICogd2l0aCBTVE9QU0lHIGVxdWFsIHRvIHNvbWUgb3RoZXIgc2lnbmFsCisJCSAqIHRoYW4gU0lHU1RPUCBpZiB3ZSBoYXBwZW5kIHRvIGF0dGFjaAorCQkgKiBqdXN0IGJlZm9yZSB0aGUgcHJvY2VzcyB0YWtlcyBhIHNpZ25hbC4KKwkJICogQSBuby1NTVUgdmZvcmtlZCBjaGlsZCB3b24ndCBzZW5kIHVwIGEgc2lnbmFsLAorCQkgKiBzbyBza2lwIHRoZSBmaXJzdCAobG9zdCkgZXhlY3ZlIG5vdGlmaWNhdGlvbi4KKwkJICovCisJCWlmICgodGNwLT5mbGFncyAmIFRDQl9TVEFSVFVQKSAmJgorCQkgICAgKFdTVE9QU0lHKHN0YXR1cykgPT0gU0lHU1RPUCB8fCBzdHJhY2VfdmZvcmtlZCkpIHsKKwkJCS8qCisJCQkgKiBUaGlzIGZsYWcgaXMgdGhlcmUgdG8ga2VlcCB1cyBpbiBzeW5jLgorCQkJICogTmV4dCB0aW1lIHRoaXMgcHJvY2VzcyBzdG9wcyBpdCBzaG91bGQKKwkJCSAqIHJlYWxseSBiZSBlbnRlcmluZyBhIHN5c3RlbSBjYWxsLgorCQkJICovCisJCQl0Y3AtPmZsYWdzICY9IH5UQ0JfU1RBUlRVUDsKKwkJCWlmICh0Y3AtPmZsYWdzICYgVENCX0JQVFNFVCkgeworCQkJCS8qCisJCQkJICogT25lIGV4YW1wbGUgaXMgYSBicmVha3BvaW50IGluaGVyaXRlZCBmcm9tCisJCQkJICogcGFyZW50IHRocm91Z2ggZm9yayAoKS4KKwkJCQkgKi8KKwkJCQlpZiAoY2xlYXJicHQodGNwKSA8IDApIC8qIFByZXR0eSBmYXRhbCAqLyB7CisJCQkJCWRyb3B0Y2IodGNwKTsKKwkJCQkJY2xlYW51cCgpOworCQkJCQlyZXR1cm4gLTE7CisJCQkJfQorCQkJfQorCQkJZ290byB0cmFjaW5nOworCQl9CisKKwkJaWYgKFdTVE9QU0lHKHN0YXR1cykgIT0gU0lHVFJBUCkgeworCQkJaWYgKFdTVE9QU0lHKHN0YXR1cykgPT0gU0lHU1RPUCAmJgorCQkJCQkodGNwLT5mbGFncyAmIFRDQl9TSUdUUkFQUEVEKSkgeworCQkJCS8qCisJCQkJICogVHJhcHBlZCBhdHRlbXB0IHRvIGJsb2NrIFNJR1RSQVAKKwkJCQkgKiBIb3BlIHdlIGFyZSBiYWNrIGluIGNvbnRyb2wgbm93LgorCQkJCSAqLworCQkJCXRjcC0+ZmxhZ3MgJj0gfihUQ0JfSU5TWVNDQUxMIHwgVENCX1NJR1RSQVBQRUQpOworCQkJCWlmIChwdHJhY2VfcmVzdGFydChQVFJBQ0VfU1lTQ0FMTCwgdGNwLCAwKSA8IDApIHsKKwkJCQkJY2xlYW51cCgpOworCQkJCQlyZXR1cm4gLTE7CisJCQkJfQorCQkJCWNvbnRpbnVlOworCQkJfQorCQkJaWYgKGNmbGFnICE9IENGTEFHX09OTFlfU1RBVFMKKwkJCSAgICAmJiAocXVhbF9mbGFnc1tXU1RPUFNJRyhzdGF0dXMpXSAmIFFVQUxfU0lHTkFMKSkgeworCQkJCXVuc2lnbmVkIGxvbmcgYWRkciA9IDA7CisJCQkJbG9uZyBwYyA9IDA7CisjaWYgZGVmaW5lZChQVF9DUl9JUFNSKSAmJiBkZWZpbmVkKFBUX0NSX0lJUCkgJiYgZGVmaW5lZChQVF9HRVRTSUdJTkZPKQorIwkJCQlkZWZpbmUgUFNSX1JJCTQxCisJCQkJc3RydWN0IHNpZ2luZm8gc2k7CisJCQkJbG9uZyBwc3I7CisKKwkJCQl1cGVlayh0Y3AsIFBUX0NSX0lQU1IsICZwc3IpOworCQkJCXVwZWVrKHRjcCwgUFRfQ1JfSUlQLCAmcGMpOworCisJCQkJcGMgKz0gKHBzciA+PiBQU1JfUkkpICYgMHgzOworCQkJCXB0cmFjZShQVF9HRVRTSUdJTkZPLCBwaWQsIDAsIChsb25nKSAmc2kpOworCQkJCWFkZHIgPSAodW5zaWduZWQgbG9uZykgc2kuc2lfYWRkcjsKKyNlbGlmIGRlZmluZWQgUFRSQUNFX0dFVFNJR0lORk8KKwkJCQlpZiAoV1NUT1BTSUcoc3RhdHVzKSA9PSBTSUdTRUdWIHx8CisJCQkJICAgIFdTVE9QU0lHKHN0YXR1cykgPT0gU0lHQlVTKSB7CisJCQkJCXNpZ2luZm9fdCBzaTsKKwkJCQkJaWYgKHB0cmFjZShQVFJBQ0VfR0VUU0lHSU5GTywgcGlkLAorCQkJCQkJICAgMCwgJnNpKSA9PSAwKQorCQkJCQkJYWRkciA9ICh1bnNpZ25lZCBsb25nKQorCQkJCQkJCXNpLnNpX2FkZHI7CisJCQkJfQorI2VuZGlmCisJCQkJcHJpbnRsZWFkZXIodGNwKTsKKwkJCQl0cHJpbnRmKCItLS0gJXMgKCVzKSBAICVseCAoJWx4KSAtLS0iLAorCQkJCQlzaWduYW1lKFdTVE9QU0lHKHN0YXR1cykpLAorCQkJCQlzdHJzaWduYWwoV1NUT1BTSUcoc3RhdHVzKSksIHBjLCBhZGRyKTsKKwkJCQlwcmludHRyYWlsZXIoKTsKKwkJCX0KKwkJCWlmICgoKHRjcC0+ZmxhZ3MgJiBUQ0JfQVRUQUNIRUQpIHx8CisJCQkgICAgIHRjcC0+bmNsb25lX3RocmVhZHMgPiAwKSAmJgorCQkJCSFzaWdpc2hhbmRsZWQodGNwLCBXU1RPUFNJRyhzdGF0dXMpKSkgeworI2lmZGVmIFRDQl9HUk9VUF9FWElUSU5HCisJCQkJaGFuZGxlX2dyb3VwX2V4aXQodGNwLCBXU1RPUFNJRyhzdGF0dXMpKTsKKyNlbHNlCisJCQkJZGV0YWNoKHRjcCwgV1NUT1BTSUcoc3RhdHVzKSk7CisjZW5kaWYKKwkJCQljb250aW51ZTsKKwkJCX0KKwkJCWlmIChwdHJhY2VfcmVzdGFydChQVFJBQ0VfU1lTQ0FMTCwgdGNwLCBXU1RPUFNJRyhzdGF0dXMpKSA8IDApIHsKKwkJCQljbGVhbnVwKCk7CisJCQkJcmV0dXJuIC0xOworCQkJfQorCQkJdGNwLT5mbGFncyAmPSB+VENCX1NVU1BFTkRFRDsKKwkJCWNvbnRpbnVlOworCQl9CisJCS8qIHdlIGhhbmRsZWQgdGhlIFNUQVRVUywgd2UgYXJlIHBlcm1pdHRlZCB0byBpbnRlcnJ1cHQgbm93LiAqLworCQlpZiAoaW50ZXJydXB0ZWQpCisJCQlyZXR1cm4gMDsKKwkJaWYgKHRyYWNlX3N5c2NhbGwodGNwKSA8IDAgJiYgIXRjcC0+cHRyYWNlX2Vycm5vKSB7CisJCQkvKiBwdHJhY2UoKSBmYWlsZWQgaW4gdHJhY2Vfc3lzY2FsbCgpIHdpdGggRVNSQ0guCisJCQkgKiBMaWtlbHkgYSByZXN1bHQgb2YgcHJvY2VzcyBkaXNhcHBlYXJpbmcgbWlkLWZsaWdodC4KKwkJCSAqIE9ic2VydmVkIGNhc2U6IGV4aXRfZ3JvdXAoKSB0ZXJtaW5hdGluZworCQkJICogYWxsIHByb2Nlc3NlcyBpbiB0aHJlYWQgZ3JvdXAuIEluIHRoaXMgY2FzZSwgdGhyZWFkcworCQkJICogImRpc2FwcGVhciIgaW4gYW4gdW5wcmVkaWN0YWJsZSBtb21lbnQgd2l0aG91dCBhbnkKKwkJCSAqIG5vdGlmaWNhdGlvbiB0byBzdHJhY2UgdmlhIHdhaXQoKS4KKwkJCSAqLworCQkJaWYgKHRjcC0+ZmxhZ3MgJiBUQ0JfQVRUQUNIRUQpIHsKKwkJCQlpZiAodGNwX2xhc3QpIHsKKwkJCQkJLyogRG8gd2UgaGF2ZSBkYW5nbGluZyBsaW5lICJzeXNjYWxsKHBhcmFtLCBwYXJhbSI/CisJCQkJCSAqIEZpbmlzaCB0aGUgbGluZSB0aGVuLiBXZSBjYW5ub3QKKwkJCQkJICovCisJCQkJCXRjcF9sYXN0LT5mbGFncyB8PSBUQ0JfUkVQUklOVDsKKwkJCQkJdHByaW50ZigiIDx1bmZpbmlzaGVkIC4uLj4iKTsKKwkJCQkJcHJpbnR0cmFpbGVyKCk7CisJCQkJfQorCQkJCWRldGFjaCh0Y3AsIDApOworCQkJfSBlbHNlIHsKKwkJCQlwdHJhY2UoUFRSQUNFX0tJTEwsCisJCQkJCXRjcC0+cGlkLCAoY2hhciAqKSAxLCBTSUdURVJNKTsKKwkJCQlkcm9wdGNiKHRjcCk7CisJCQl9CisJCQljb250aW51ZTsKKwkJfQorCQlpZiAodGNwLT5mbGFncyAmIFRDQl9FWElUSU5HKSB7CisjaWZkZWYgVENCX0dST1VQX0VYSVRJTkcKKwkJCWlmICh0Y3AtPmZsYWdzICYgVENCX0dST1VQX0VYSVRJTkcpIHsKKwkJCQlpZiAoaGFuZGxlX2dyb3VwX2V4aXQodGNwLCAwKSA8IDApCisJCQkJCXJldHVybiAtMTsKKwkJCQljb250aW51ZTsKKwkJCX0KKyNlbmRpZgorCQkJaWYgKHRjcC0+ZmxhZ3MgJiBUQ0JfQVRUQUNIRUQpCisJCQkJZGV0YWNoKHRjcCwgMCk7CisJCQllbHNlIGlmIChwdHJhY2VfcmVzdGFydChQVFJBQ0VfQ09OVCwgdGNwLCAwKSA8IDApIHsKKwkJCQljbGVhbnVwKCk7CisJCQkJcmV0dXJuIC0xOworCQkJfQorCQkJY29udGludWU7CisJCX0KKwkJaWYgKHRjcC0+ZmxhZ3MgJiBUQ0JfU1VTUEVOREVEKSB7CisJCQlpZiAoIXFmbGFnKQorCQkJCWZwcmludGYoc3RkZXJyLCAiUHJvY2VzcyAldSBzdXNwZW5kZWRcbiIsIHBpZCk7CisJCQljb250aW51ZTsKKwkJfQorCXRyYWNpbmc6CisJCS8qIFJlbWVtYmVyIGN1cnJlbnQgcHJpbnQgY29sdW1uIGJlZm9yZSBjb250aW51aW5nLiAqLworCQl0Y3AtPmN1cmNvbCA9IGN1cmNvbDsKKwkJaWYgKHB0cmFjZV9yZXN0YXJ0KFBUUkFDRV9TWVNDQUxMLCB0Y3AsIDApIDwgMCkgeworCQkJY2xlYW51cCgpOworCQkJcmV0dXJuIC0xOworCQl9CisJfQorCXJldHVybiAwOworfQorCisjZW5kaWYgLyogIVVTRV9QUk9DRlMgKi8KKworI2luY2x1ZGUgPHN0ZGFyZy5oPgorCit2b2lkCit0cHJpbnRmKGNvbnN0IGNoYXIgKmZtdCwgLi4uKQoreworCXZhX2xpc3QgYXJnczsKKworCXZhX3N0YXJ0KGFyZ3MsIGZtdCk7CisJaWYgKG91dGYpIHsKKwkJaW50IG4gPSB2ZnByaW50ZihvdXRmLCBmbXQsIGFyZ3MpOworCQlpZiAobiA8IDApIHsKKwkJCWlmIChvdXRmICE9IHN0ZGVycikKKwkJCQlwZXJyb3Iob3V0Zm5hbWUgPT0gTlVMTAorCQkJCSAgICAgICA/ICI8d3JpdGluZyB0byBwaXBlPiIgOiBvdXRmbmFtZSk7CisJCX0gZWxzZQorCQkJY3VyY29sICs9IG47CisJfQorCXZhX2VuZChhcmdzKTsKKwlyZXR1cm47Cit9CisKK3ZvaWQKK3ByaW50bGVhZGVyKHRjcCkKK3N0cnVjdCB0Y2IgKnRjcDsKK3sKKwlpZiAodGNwX2xhc3QpIHsKKwkJaWYgKHRjcF9sYXN0LT5wdHJhY2VfZXJybm8pIHsKKwkJCWlmICh0Y3BfbGFzdC0+ZmxhZ3MgJiBUQ0JfSU5TWVNDQUxMKSB7CisJCQkJdHByaW50ZigiIDx1bmF2YWlsYWJsZT4pIik7CisJCQkJdGFidG8oYWNvbHVtbik7CisJCQl9CisJCQl0cHJpbnRmKCI9ID8gPHVuYXZhaWxhYmxlPlxuIik7CisJCQl0Y3BfbGFzdC0+cHRyYWNlX2Vycm5vID0gMDsKKwkJfSBlbHNlIGlmICghb3V0Zm5hbWUgfHwgZm9sbG93Zm9yayA8IDIgfHwgdGNwX2xhc3QgPT0gdGNwKSB7CisJCQl0Y3BfbGFzdC0+ZmxhZ3MgfD0gVENCX1JFUFJJTlQ7CisJCQl0cHJpbnRmKCIgPHVuZmluaXNoZWQgLi4uPlxuIik7CisJCX0KKwl9CisJY3VyY29sID0gMDsKKwlpZiAoKGZvbGxvd2ZvcmsgPT0gMSB8fCBwZmxhZ19zZWVuID4gMSkgJiYgb3V0Zm5hbWUpCisJCXRwcmludGYoIiUtNWQgIiwgdGNwLT5waWQpOworCWVsc2UgaWYgKG5wcm9jcyA+IDEgJiYgIW91dGZuYW1lKQorCQl0cHJpbnRmKCJbcGlkICU1dV0gIiwgdGNwLT5waWQpOworCWlmICh0ZmxhZykgeworCQljaGFyIHN0cltzaXplb2YoIkhIOk1NOlNTIildOworCQlzdHJ1Y3QgdGltZXZhbCB0diwgZHR2OworCQlzdGF0aWMgc3RydWN0IHRpbWV2YWwgb3R2OworCisJCWdldHRpbWVvZmRheSgmdHYsIE5VTEwpOworCQlpZiAocmZsYWcpIHsKKwkJCWlmIChvdHYudHZfc2VjID09IDApCisJCQkJb3R2ID0gdHY7CisJCQl0dl9zdWIoJmR0diwgJnR2LCAmb3R2KTsKKwkJCXRwcmludGYoIiU2bGQuJTA2bGQgIiwKKwkJCQkobG9uZykgZHR2LnR2X3NlYywgKGxvbmcpIGR0di50dl91c2VjKTsKKwkJCW90diA9IHR2OworCQl9CisJCWVsc2UgaWYgKHRmbGFnID4gMikgeworCQkJdHByaW50ZigiJWxkLiUwNmxkICIsCisJCQkJKGxvbmcpIHR2LnR2X3NlYywgKGxvbmcpIHR2LnR2X3VzZWMpOworCQl9CisJCWVsc2UgeworCQkJdGltZV90IGxvY2FsID0gdHYudHZfc2VjOworCQkJc3RyZnRpbWUoc3RyLCBzaXplb2Yoc3RyKSwgIiVUIiwgbG9jYWx0aW1lKCZsb2NhbCkpOworCQkJaWYgKHRmbGFnID4gMSkKKwkJCQl0cHJpbnRmKCIlcy4lMDZsZCAiLCBzdHIsIChsb25nKSB0di50dl91c2VjKTsKKwkJCWVsc2UKKwkJCQl0cHJpbnRmKCIlcyAiLCBzdHIpOworCQl9CisJfQorCWlmIChpZmxhZykKKwkJcHJpbnRjYWxsKHRjcCk7Cit9CisKK3ZvaWQKK3RhYnRvKGNvbCkKK2ludCBjb2w7Cit7CisJaWYgKGN1cmNvbCA8IGNvbCkKKwkJdHByaW50ZigiJSpzIiwgY29sIC0gY3VyY29sLCAiIik7Cit9CisKK3ZvaWQKK3ByaW50dHJhaWxlcih2b2lkKQoreworCXRwcmludGYoIlxuIik7CisJdGNwX2xhc3QgPSBOVUxMOworfQorCisjaWZkZWYgSEFWRV9NUF9QUk9DRlMKKworaW50CittcF9pb2N0bChpbnQgZmQsIGludCBjbWQsIHZvaWQgKmFyZywgaW50IHNpemUpCit7CisJc3RydWN0IGlvdmVjIGlvdlsyXTsKKwlpbnQgbiA9IDE7CisKKwlpb3ZbMF0uaW92X2Jhc2UgPSAmY21kOworCWlvdlswXS5pb3ZfbGVuID0gc2l6ZW9mIGNtZDsKKwlpZiAoYXJnKSB7CisJCSsrbjsKKwkJaW92WzFdLmlvdl9iYXNlID0gYXJnOworCQlpb3ZbMV0uaW92X2xlbiA9IHNpemU7CisJfQorCisJcmV0dXJuIHdyaXRldihmZCwgaW92LCBuKTsKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9zdHJhY2UtNC41LjIwL3N0cmFjZS5zcGVjIGIvc3RyYWNlLTQuNS4yMC9zdHJhY2Uuc3BlYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZDk1NjJjCi0tLSAvZGV2L251bGwKKysrIGIvc3RyYWNlLTQuNS4yMC9zdHJhY2Uuc3BlYwpAQCAtMCwwICsxLDQ2MCBAQAorU3VtbWFyeTogVHJhY2tzIGFuZCBkaXNwbGF5cyBzeXN0ZW0gY2FsbHMgYXNzb2NpYXRlZCB3aXRoIGEgcnVubmluZyBwcm9jZXNzCitOYW1lOiBzdHJhY2UKK1ZlcnNpb246IDQuNS4yMAorUmVsZWFzZTogMSV7P2Rpc3R9CitMaWNlbnNlOiBCU0QKK0dyb3VwOiBEZXZlbG9wbWVudC9EZWJ1Z2dlcnMKK1VSTDogaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9zdHJhY2UvCitTb3VyY2UwOiBodHRwOi8vZGwuc291cmNlZm9yZ2UubmV0L3N0cmFjZS8le25hbWV9LSV7dmVyc2lvbn0udGFyLmJ6MgorQnVpbGRSb290OiAle190bXBwYXRofS8le25hbWV9LSV7dmVyc2lvbn0tJXtyZWxlYXNlfS1yb290LSUoJXtfX2lkX3V9IC1uKQorCitCdWlsZFJlcXVpcmVzOiBsaWJhaW8tZGV2ZWwsIGxpYmFjbC1kZXZlbAorCislZGVmaW5lIHN0cmFjZTY0X2FyY2hlcyBwcGM2NCBzcGFyYzY0CisKKyVkZXNjcmlwdGlvbgorVGhlIHN0cmFjZSBwcm9ncmFtIGludGVyY2VwdHMgYW5kIHJlY29yZHMgdGhlIHN5c3RlbSBjYWxscyBjYWxsZWQgYW5kCityZWNlaXZlZCBieSBhIHJ1bm5pbmcgcHJvY2Vzcy4gIFN0cmFjZSBjYW4gcHJpbnQgYSByZWNvcmQgb2YgZWFjaAorc3lzdGVtIGNhbGwsIGl0cyBhcmd1bWVudHMgYW5kIGl0cyByZXR1cm4gdmFsdWUuICBTdHJhY2UgaXMgdXNlZnVsIGZvcgorZGlhZ25vc2luZyBwcm9ibGVtcyBhbmQgZGVidWdnaW5nLCBhcyB3ZWxsIGFzIGZvciBpbnN0cnVjdGlvbmFsCitwdXJwb3Nlcy4KKworSW5zdGFsbCBzdHJhY2UgaWYgeW91IG5lZWQgYSB0b29sIHRvIHRyYWNrIHRoZSBzeXN0ZW0gY2FsbHMgbWFkZSBhbmQKK3JlY2VpdmVkIGJ5IGEgcHJvY2Vzcy4KKworJWlmYXJjaCAle3N0cmFjZTY0X2FyY2hlc30KKyVwYWNrYWdlIC1uIHN0cmFjZTY0CitTdW1tYXJ5OiBUcmFja3MgYW5kIGRpc3BsYXlzIHN5c3RlbSBjYWxscyBhc3NvY2lhdGVkIHdpdGggYSBydW5uaW5nIHByb2Nlc3MuCitHcm91cDogRGV2ZWxvcG1lbnQvRGVidWdnZXJzCisKKyVkZXNjcmlwdGlvbiAtbiBzdHJhY2U2NAorVGhlIHN0cmFjZSBwcm9ncmFtIGludGVyY2VwdHMgYW5kIHJlY29yZHMgdGhlIHN5c3RlbSBjYWxscyBjYWxsZWQgYW5kCityZWNlaXZlZCBieSBhIHJ1bm5pbmcgcHJvY2Vzcy4gIFN0cmFjZSBjYW4gcHJpbnQgYSByZWNvcmQgb2YgZWFjaAorc3lzdGVtIGNhbGwsIGl0cyBhcmd1bWVudHMgYW5kIGl0cyByZXR1cm4gdmFsdWUuICBTdHJhY2UgaXMgdXNlZnVsIGZvcgorZGlhZ25vc2luZyBwcm9ibGVtcyBhbmQgZGVidWdnaW5nLCBhcyB3ZWxsIGFzIGZvciBpbnN0cnVjdGlvbmFsCitwdXJwb3Nlcy4KKworSW5zdGFsbCBzdHJhY2UgaWYgeW91IG5lZWQgYSB0b29sIHRvIHRyYWNrIHRoZSBzeXN0ZW0gY2FsbHMgbWFkZSBhbmQKK3JlY2VpdmVkIGJ5IGEgcHJvY2Vzcy4KKworVGhpcyBwYWNrYWdlIHByb3ZpZGVzIHRoZSBgc3RyYWNlNjQnIHByb2dyYW0gdG8gdHJhY2UgNjQtYml0IHByb2Nlc3Nlcy4KK1RoZSBgc3RyYWNlJyBwcm9ncmFtIGluIHRoZSBgc3RyYWNlJyBwYWNrYWdlIGlzIGZvciAzMi1iaXQgcHJvY2Vzc2VzLgorJWVuZGlmCisKKyVwcmVwCislc2V0dXAgLXEKKworJWJ1aWxkCislY29uZmlndXJlCittYWtlICV7P19zbXBfbWZsYWdzfQorCislaW5zdGFsbAorcm0gLXJmICV7YnVpbGRyb290fQorbWFrZSBERVNURElSPSV7YnVpbGRyb290fSBpbnN0YWxsCisKKyMgcmVtb3ZlIHVucGFja2FnZWQgZmlsZXMgZnJvbSB0aGUgYnVpbGRyb290CitybSAtZiAle2J1aWxkcm9vdH0le19iaW5kaXJ9L3N0cmFjZS1ncmFwaAorCislZGVmaW5lIGNvcHk2NCBsbgorJWlmIDAlez9yaGVsfQorJWlmIDAlez9yaGVsfSA8IDYKKyVlbmRpZgorJWRlZmluZSBjb3B5NjQgY3AgLXAKKyVlbmRpZgorCislaWZhcmNoICV7c3RyYWNlNjRfYXJjaGVzfQorJXtjb3B5NjR9ICV7YnVpbGRyb290fSV7X2JpbmRpcn0vc3RyYWNlICV7YnVpbGRyb290fSV7X2JpbmRpcn0vc3RyYWNlNjQKKyVlbmRpZgorCislY2xlYW4KK3JtIC1yZiAle2J1aWxkcm9vdH0KKworJWZpbGVzCislZGVmYXR0cigtLHJvb3Qscm9vdCkKKyVkb2MgQ1JFRElUUyBDaGFuZ2VMb2cgQ2hhbmdlTG9nLUNWUyBDT1BZUklHSFQgTkVXUyBQT1JUSU5HIFJFQURNRQorJXtfYmluZGlyfS9zdHJhY2UKKyV7X21hbmRpcn0vbWFuMS8qCisKKyVpZmFyY2ggJXtzdHJhY2U2NF9hcmNoZXN9CislZmlsZXMgLW4gc3RyYWNlNjQKKyVkZWZhdHRyKC0scm9vdCxyb290KQorJXtfYmluZGlyfS9zdHJhY2U2NAorJWVuZGlmCisKKyVjaGFuZ2Vsb2cKKyogVHVlIEFwciAxMyAyMDEwIFJvbGFuZCBNY0dyYXRoIDxyb2xhbmRAcmVkaGF0LmNvbT4gLSA0LjUuMjAtMQorLSBOZXcgdXBzdHJlYW0gcmVsZWFzZSwgd29yayBtb3N0bHkgYnkgQW5kcmVhcyBTY2h3YWIgYW5kIERtaXRyeSBWLiBMZXZpbi4KKyAgKyBmaXhlZCBwb3RlbnRpYWwgc3RhY2sgYnVmZmVyIG92ZXJmbG93IGluIHNlbGVjdCBkZWNvZGVyICgjNTU2Njc4KTsKKyAgKyBmaXhlZCBGVEJGUyAoIzUzOTA0NCkuCisKKyogV2VkIE9jdCAyMSAyMDA5IFJvbGFuZCBNY0dyYXRoIDxyb2xhbmRAcmVkaGF0LmNvbT4gLSA0LjUuMTktMQorLSBOZXcgdXBzdHJlYW0gcmVsZWFzZSwgd29yayBtb3N0bHkgYnkgRG1pdHJ5IFYuIExldmluIDxsZHZAYWx0bGludXgub3JnPgorICArIGV4aXQva2lsbCBzdHJhY2Ugd2l0aCB0cmFjZWQgcHJvY2VzcyBleGl0Y29kZS9zaWduYWwgKCMxMDUzNzEpOworICArIGZpeGVkIGJ1aWxkIG9uIEFSTSBFQUJJICgjNTA3NTc2KTsKKyAgKyBmaXhlZCBkaXNwbGF5IG9mIDMyLWJpdCBhcmd2IGFycmF5IG9uIDY0LWJpdCBhcmNoaXRlY3R1cmVzICgjNTE5NDgwKTsKKyAgKyBmaXhlZCBkaXNwbGF5IG9mIDMyLWJpdCBmY250bChGX1NFVExLKSBvbiA2NC1iaXQgYXJjaGl0ZWN0dXJlcyAoIzQ3MTE2OSk7CisgICsgZml4ZWQgc2V2ZXJhbCBidWdzIGluIHN0cmluZ3MgZGVjb2RlciwgaW5jbHVkaW5nIHBvdGVudGlhbCBoZWFwCisgICAgbWVtb3J5IGNvcnJ1cHRpb24gKCM0NzA1MjksICM0NzgzMjQsICM1MTEwMzUpLgorCisqIFRodSBBdWcgMjggMjAwOCBSb2xhbmQgTWNHcmF0aCA8cm9sYW5kQHJlZGhhdC5jb20+IC0gNC41LjE4LTEKKy0gYnVpbGQgZml4IGZvciBuZXdlciBrZXJuZWwgaGVhZGVycyAoIzQ1NzI5MSkKKy0gZml4IENMT05FX1ZGT1JLIGhhbmRsaW5nICgjNDU1MDc4KQorLSBTdXBwb3J0IG5ldyBMaW51eC9QUEMgc3lzdGVtIGNhbGwgc3VicGFnZV9wcm90IGFuZCBQUk9UX1NBTyBmbGFnLgorLSBJbiBzaWdhY3Rpb24gc3lzdGVtIGNhbGwsIGRpc3BsYXkgc2FfZmxhZ3MgdmFsdWUgYWxvbmcgd2l0aCBTSUdfREZML1NJR19JR04uCisKKyogTW9uIEp1bCAyMSAyMDA4IFJvbGFuZCBNY0dyYXRoIDxyb2xhbmRAcmVkaGF0LmNvbT4gLSA0LjUuMTctMQorLSBoYW5kbGUgT19DTE9FWEVDLCBNU0dfQ01TR19DTE9FWEVDICgjMzY1NzgxKQorLSBmaXggYmlhcmNoIHN0YXQ2NCBkZWNvZGluZyAoIzIyMjI3NSkKKy0gZml4IHNwdXJpb3VzICIuLi4iIGluIHByaW50aW5nIG9mIGVudmlyb25tZW50IHN0cmluZ3MgKCMzNTgyNDEpCistIGltcHJvdmUgcHJjdGwgZGVjb2RpbmcgKCMzNjQ0MDEpCistIGZpeCBoYW5nIHdhaXQgb24gZXhpdGVkIGNoaWxkIHdpdGggZXhpdGVkIGNoaWxkICgjMzU0MjYxKQorLSBmaXggYmlhcmNoIGZvcmsvdmZvcmsgKC1mKSB0cmFjaW5nICgjNDQ3NDc1KQorLSBmaXggYmlhcmNoIHByaW50aW5nIG9mIG5lZ2F0aXZlIGFyZ3VtZW50IGtpbGwgKCM0MzA1ODUpCistIGZpeCBiaWFyY2ggZGVjb2Rpbmcgb2YgZXJyb3IgcmV0dXJuIHZhbHVlcyAoIzQ0NzU4NykKKy0gZml4IC1mIHRyYWNpbmcgb2YgQ0xPTkVfVkZPUksgKCM0NTUwNzgpCistIGZpeCBpYTY0IHJlZ2lzdGVyIGNsb2JiZXJhdGlvbiBpbiAtZiB0cmFjaW5nICgjNDUzNDM4KQorLSBwcmludCBTT19OT0RFRkVSLCBTQV9SRVNFVEhBTkQgaW5zdGVhZCBvZiBTQV9OT01BU0ssIFNBX09ORVNIT1QgKCM0NTU4MjEpCistIGZpeCBmdXRleCBhcmd1bWVudCBkZWNvZGluZyAoIzQ0ODYyOCwgIzQ0ODYyOSkKKworKiBGcmkgQXVnICAzIDIwMDcgUm9sYW5kIE1jR3JhdGggPHJvbGFuZEByZWRoYXQuY29tPiAtIDQuNS4xNi0xCistIGZpeCBtdWx0aXRocmVhZCBpc3N1ZXMgKCMyNDA5NjIsICMyNDA5NjEsICMyNDc5MDcpCistIGZpeCBzcHVyaW91cyBTSUdTVE9QIG9uIGVhcmx5IGludGVycnVwdCAoIzI0MDk4NikKKy0gZml4IHV0aW1lIGZvciBiaWFyY2ggKCMyNDcxODUpCistIGZpeCAtdSBlcnJvciBtZXNzYWdlICgjMjQ3MTcwKQorLSBiZXR0ZXIgZnV0ZXggc3lzY2FsbCBwcmludGluZyAoIyMyNDE0NjcpCistIGZpeCBhcmd2L2VudnAgcHJpbnRpbmcgd2l0aCBzbWFsbCAtcyBzZXR0aW5ncywgYW5kIGZvciBiaWFyY2gKKy0gbmV3IHN5c2NhbGxzOiBnZXRjcHUsIGV2ZW50ZmQsIHRpbWVyZmQsIHNpZ25hbGZkLCBlcG9sbF9wd2FpdCwKKyAgbW92ZV9wYWdlcywgdXRpbWVuc2F0CisKKyogVHVlIEphbiAxNiAyMDA3IFJvbGFuZCBNY0dyYXRoIDxyb2xhbmRAcmVkaGF0LmNvbT4gLSA0LjUuMTUtMQorLSBiaWFyY2ggZml4ZXMgKCMxNzk3NDAsICMxOTIxOTMsICMxNzE2MjYsICMxNzMwNTAsICMyMTg0MzMsICMyMTgwNDMpCistIGZpeCAtZmYgLW8gYmVoYXZpb3IgKCMyMDQ5NTAsICMyMTg0MzUsICMxOTM4MDgsICMyMTk0MjMpCistIGJldHRlciBxdW90YWN0bCBwcmludGluZyAoIzExODY5NikKKy0gKmF0LCBpbm90aWZ5KiwgcHNlbGVjdDYsIHBwb2xsIGFuZCB1bnNoYXJlIHN5c2NhbGxzICgjMTc4NjMzLCAjMTkxMjc1KQorLSBnbGliYy0yLjUgYnVpbGQgZml4ZXMgKCMyMDk4NTYpCistIG1lbW9yeSBjb3JydXB0aW9uIGZpeGVzICgjMjAwNjIxCistIGZpeCByYWNlIGluIGNoaWxkIHNldHVwIHVuZGVyIC1mICgjMTgwMjkzKQorLSBzaG93IGlwYyBrZXkgdmFsdWVzIGluIGhleCAoIzE5ODE3OSwgIzE5MjE4MikKKy0gZGlzYWxsb3cgLWMgd2l0aCAtZmYgKCMxODc4NDcpCistIFJlc29sdmVzOiBSSEJaICMxNzk3NDAsIFJIQlogIzE5MjE5MywgUkhCWiAjMjA0OTUwLCBSSEJaICMyMTg0MzUKKy0gUmVzb2x2ZXM6IFJIQlogIzE5MzgwOCwgUkhCWiAjMjE5NDIzLCBSSEJaICMxNzE2MjYsIFJIQlogIzE3MzA1MAorLSBSZXNvbHZlczogUkhCWiAjMjE4NDMzLCBSSEJaICMyMTgwNDMsIFJIQlogIzExODY5NiwgUkhCWiAjMTc4NjMzCistIFJlc29sdmVzOiBSSEJaICMxOTEyNzUsIFJIQlogIzIwOTg1NiwgUkhCWiAjMjAwNjIxLCBSSEJaICMxODAyOTMKKy0gUmVzb2x2ZXM6IFJIQlogIzE5ODE3OSwgUkhCWiAjMTk4MTgyLCBSSEJaICMxODc4NDcKKworKiBNb24gTm92IDIwIDIwMDYgSmFrdWIgSmVsaW5layA8amFrdWJAcmVkaGF0LmNvbT4gLSA0LjUuMTQtNAorLSBGaXggaWE2NCBzeXNjYWxsIGRlY29kaW5nICgjMjA2NzY4KQorLSBGaXggYnVpbGQgd2l0aCBnbGliYy0yLjQuOTAtMzMgYW5kIHVwIG9uIGFsbCBhcmNoZXMgYnV0IGlhNjQKKy0gRml4IGJ1aWxkIGFnYWluc3QgMi42LjE4KyBoZWFkZXJzCisKKyogVHVlIEF1ZyAyMiAyMDA2IFJvbGFuZCBNY0dyYXRoIDxyb2xhbmRAcmVkaGF0LmNvbT4gLSA0LjUuMTQtMworLSBGaXggYm9ndXMgZGVjb2Rpbmcgb2Ygc3lzY2FsbHMgPj0gMzAwICgjMjAxNDYyLCAjMjAyNjIwKS4KKworKiBGcmkgSnVsIDE0IDIwMDYgSmVzc2UgS2VhdGluZyA8amtlYXRpbmdAcmVkaGF0LmNvbT4gLSA0LjUuMTQtMgorLSByZWJ1aWxkCisKKyogRnJpIEZlYiAxMCAyMDA2IEplc3NlIEtlYXRpbmcgPGprZWF0aW5nQHJlZGhhdC5jb20+IC0gNC41LjE0LTEuMgorLSBidW1wIGFnYWluIGZvciBsb25nIGRvdWJsZSBidWcgb24gcHBjeyw2NH0KKworKiBUdWUgRmViIDA3IDIwMDYgSmVzc2UgS2VhdGluZyA8amtlYXRpbmdAcmVkaGF0LmNvbT4gLSA0LjUuMTQtMS4xCistIHJlYnVpbHQgZm9yIG5ldyBnY2M0LjEgc25hcHNob3QgYW5kIGdsaWJjIGNoYW5nZXMKKworKiBNb24gSmFuIDE2IDIwMDYgUm9sYW5kIE1jR3JhdGggPHJvbGFuZEByZWRoYXQuY29tPiAtIDQuNS4xNC0xCistIEZpeCBiaWFyY2ggZGVjb2Rpbmcgb2Ygc29ja2V0IHN5c2NhbGxzICgjMTc0MzU0KS4KKy0gRml4IGJpYXJjaCAtZSBzdXBwb3J0ICgjMTczOTg2KS4KKy0gQWNjZXB0IG51bWVyaWMgc3lzY2FsbHMgaW4gLWUgKCMxNzQ3OTgpLgorLSBGaXggaXBjIHN5c2NhbGwgZGVjb2RpbmcgKCMxNjQ3NTUpLgorLSBJbXByb3ZlIG1zZ3JjdiBwcmludGluZyAoIzE2NDc1NykuCistIE1hbiBwYWdlIHVwZGF0ZXMgKCMxNjUzNzUpLgorLSBJbXByb3ZlIG1vdW50IHN5c2NhbGwgcHJpbnRpbmcgKCMxNjUzNzcpLgorLSBDb3JyZWN0IHByaW50aW5nIG9mIHJlc3RhcnRpbmcgc3lzY2FsbHMgKCMxNjU0NjkpLgorCisqIFdlZCBBdWcgIDMgMjAwNSBSb2xhbmQgTWNHcmF0aCA8cm9sYW5kQHJlZGhhdC5jb20+IC0gNC41LjEzLTEKKy0gRml4IHNldHNvY2tvcHQgZGVjb2Rpbmcgb24gNjQtYml0ICgjMTYyNDQ5KS4KKy0gRml4IHR5cG9zIGluIHNvY2tldCBvcHRpb24gbmFtZSBzdHJpbmdzICgjMTYxNTc4KS4KKy0gRGlzcGxheSBtb3JlIElQVjYgc29ja2V0IG9wdGlvbnMgYnkgbmFtZSAoIzE2MjQ1MCkuCistIERvbid0IGRpc3BsYXkgaW5hcHByb3ByaWF0ZSBzeXNjYWxscyBmb3IgLWUgdHJhY2U9ZmlsZSAoIzE1OTM0MCkuCistIE5ldyBzZWxlY3RvciB0eXBlIC1lIHRyYWNlPWRlc2MgZm9yIGZpbGUtZGVzY3JpcHRvciB1c2luZyBjYWxscyAoIzE1OTQwMCkuCistIEZpeCAzMi1iaXQgb2xkX21tYXAgc3lzY2FsbCBkZWNvZGluZyBvbiB4ODYtNjQgKCMxNjI0NjcsICMxNjQyMTUpLgorLSBGaXggZXJyb3JzIGRldGFjaGluZyBmcm9tIG11bHRpdGhyZWFkZWQgcHJvY2VzcyBvbiBpbnRlcnJ1cHQgKCMxNjE5MTkpLgorLSBOb3RlIDQuNS4xMiBmaXggZm9yIGNyYXNoIGhhbmRsaW5nIGJhZCBzaWduYWwgbnVtYmVycyAoIzE2MjczOSkuCisKKyogV2VkIEp1biAgOCAyMDA1IFJvbGFuZCBNY0dyYXRoIDxyb2xhbmRAcmVkaGF0LmNvbT4gLSA0LjUuMTItMQorLSBGaXgga25vd24gc3lzY2FsbCByZWNvZ25pdGlvbiBmb3IgSUEzMiBwcm9jZXNzZXMgb24geDg2LTY0ICgjMTU4OTM0KS4KKy0gRml4IGJhZCBvdXRwdXQgZm9yIHB0cmFjZSBvbiB4ODYtNjQgKCMxNTk3ODcpLgorLSBGaXggcG90ZW50aWFsIGJ1ZmZlciBvdmVycnVucyAoIzE1MTU3MCwgIzE1OTE5NikuCistIE1ha2Ugc29tZSBkaWFnbm9zdGljcyBtb3JlIGNvbnNpc3RlbnQgKCMxNTkzMDgpLgorLSBVcGRhdGUgUG93ZXJQQyBzeXN0ZW0gY2FsbHMuCistIEJldHRlciBwcmludGluZyBmb3IgTGludXggYWlvIHN5c3RlbSBjYWxscy4KKy0gRG9uJ3QgdHJ1bmNhdGUgc3RhdGZzNjQgZmllbGRzIHRvIDMyIGJpdHMgaW4gb3V0cHV0ICgjMTU4MjQzKS4KKy0gQ29zbWV0aWMgY29kZSBjbGVhbnVwcyAoIzE1OTY4OCkuCisKKyogVHVlIE1hciAyMiAyMDA1IFJvbGFuZCBNY0dyYXRoIDxyb2xhbmRAcmVkaGF0LmNvbT4gLSA0LjUuMTEtMQorLSBCdWlsZCB0d2Vha3MuCistIE5vdGUgNC41LjEwIHNlbGVjdCBmaXggKCMxNTE1NzApLgorCisqIE1vbiBNYXIgMTQgMjAwNSBSb2xhbmQgTWNHcmF0aCA8cm9sYW5kQHJlZGhhdC5jb20+IC0gNC41LjEwLTEKKy0gRml4IHNlbGVjdCBoYW5kbGluZyBvbiBub25zdGFuZGFyZCBmZF9zZXQgc2l6ZXMuCistIERvbid0IHByaW50IGVycm9ycyBmb3IgbnVsbCBmaWxlIG5hbWUgcG9pbnRlcnMuCistIEZpeCBpbml0aWFsIGV4ZWN2ZSBvdXRwdXQgd2l0aCAtaSAoIzE0MzM2NSkuCisKKyogRnJpIEZlYiAgNCAyMDA1IFJvbGFuZCBNY0dyYXRoIDxyb2xhbmRAcmVkaGF0LmNvbT4gLSA0LjUuOS0yCistIHVwZGF0ZSBpYTY0IHN5c2NhbGwgbGlzdCAoIzE0NjI0NSkKKy0gZml4IHg4Nl82NCBzeXNjYWxsIGFyZ3VtZW50IGV4dHJhY3Rpb24gZm9yIDMyLWJpdCBwcm9jZXNzZXMgKCMxNDYwOTMpCistIGZpeCAtZSBzaWduYWw9TkFNRSBwYXJzaW5nICgjMTQzMzYyKQorLSBmaXggeDg2XzY0IGV4aXRfZ3JvdXAgc3lzY2FsbCBoYW5kbGluZworLSBpbXByb3ZlIHNvY2tldCBpb2N0bCBwcmludGluZyAoIzEzODIyMykKKy0gY29kZSBjbGVhbnVwcyAoIzE0MzM2OSwgIzE0MzM3MCkKKy0gaW1wcm92ZSBtb3VudCBmbGFncyBwcmludGluZyAoIzE0MTkzMikKKy0gc3VwcG9ydCBzeW1ib2xpYyBwcmludGluZyBvZiB4ODZfNjQgYXJjaF9wcmN0bCBwYXJhbWV0ZXJzICgjMTQyNjY3KQorLSBmaXggcG90ZW50aWFsIGNyYXNoIGluIGdldHhhdHRyIHByaW50aW5nCisKKyogVHVlIE9jdCAxOSAyMDA0IFJvbGFuZCBNY0dyYXRoIDxyb2xhbmRAcmVkaGF0LmNvbT4gLSA0LjUuOC0xCistIGZpeCBtdWx0aXRocmVhZGVkIGV4aXQgaGFuZGxpbmcgKCMxMzIxNTAsICMxMzUyNTQpCistIGZpeCBpb2N0bCBuYW1lIG1hdGNoaW5nICgjMTI5ODA4KQorLSBwcmludCBSVENfKiBpb2N0bCBzdHJ1Y3R1cmUgY29udGVudHMgKCM1ODYwNikKKy0gZ3JvayBlcG9sbF8qIHN5c2NhbGxzICgjMTM0NDYzKQorLSBncm9rIG5ldyBSTElNSVRfKiB2YWx1ZXMgKCMxMzM1OTQpCistIHByaW50IHN0cnVjdCBjbXNnaGRyIGNvbnRlbnRzIGZvciBzZW5kbXNnICgjMTMxNjg5KQorLSBmaXggY2xvY2tfKiBhbmQgdGltZXJfKiBhcmd1bWVudCBvdXRwdXQgKCMxMzE0MjApCisKKyogVHVlIEF1ZyAzMSAyMDA0IFJvbGFuZCBNY0dyYXRoIDxyb2xhbmRAcmVkaGF0LmNvbT4gLSA0LjUuNy0yCistIG5ldyB1cHN0cmVhbSB2ZXJzaW9uLCBtaXNjIGZpeGVzIGFuZCB1cGRhdGVzICgjMTI4MDkxLCAjMTI5MTY2LCAjMTI4MzkxLCAjMTI5Mzc4LCAjMTMwOTY1LCAjMTMxMTc3KQorCisqIE1vbiBKdWwgMTIgMjAwNCBSb2xhbmQgTWNHcmF0aCA8cm9sYW5kQHJlZGhhdC5jb20+IDQuNS42LTEKKy0gbmV3IHVwc3RyZWFtIHZlcnNpb24sIHVwZGF0ZXMgaW9jdGwgbGlzdHMgKCMxMjczOTgpLCBmaXhlcyBxdW90YWN0bCAoIzEyNzM5MyksIG1vcmUgaW9jdGwgZGVjb2RpbmcgKCMxMjY5MTcpCisKKyogU3VuIEp1biAyNyAyMDA0IFJvbGFuZCBNY0dyYXRoIDxyb2xhbmRAcmVkaGF0LmNvbT4gNC41LjUtMQorLSBuZXcgdXBzdHJlYW0gdmVyc2lvbiwgZml4ZXMgeDg2LTY0IGJpYXJjaCBzdXBwb3J0ICgjMTI2NTQ3KQorCisqIFR1ZSBKdW4gMTUgMjAwNCBFbGxpb3QgTGVlIDxzb3B3aXRoQHJlZGhhdC5jb20+IDQuNS40LTIKKy0gcmVidWlsdAorCisqIFRodSBKdW4gIDMgMjAwNCBSb2xhbmQgTWNHcmF0aCA8cm9sYW5kQHJlZGhhdC5jb20+IDQuNS40LTAuRkMxCistIHJlYnVpbHQgZm9yIEZDMSB1cGRhdGUKKworKiBUaHUgSnVuICAzIDIwMDQgUm9sYW5kIE1jR3JhdGggPHJvbGFuZEByZWRoYXQuY29tPiA0LjUuNC0xCistIG5ldyB1cHN0cmVhbSB2ZXJzaW9uLCBtb3JlIGlvY3RscyAoIzEyMjI1NyksIG1pbm9yIGZpeGVzCisKKyogRnJpIEFwciAxNiAyMDA0IFJvbGFuZCBNY0dyYXRoIDxyb2xhbmRAcmVkaGF0LmNvbT4gNC41LjMtMQorLSBuZXcgdXBzdHJlYW0gdmVyc2lvbiwgbXFfKiBjYWxscyAoIzEyMDcwMSksIC1wIHZzIE5QVEwgKCMxMjA0NjIpLCBtb3JlIGZpeGVzICgjMTE4Njk0LCAjMTIwNTQxLCAjMTE4Njg1KQorCisqIFR1ZSBNYXIgMDIgMjAwNCBFbGxpb3QgTGVlIDxzb3B3aXRoQHJlZGhhdC5jb20+IDQuNS4yLTEuMQorLSByZWJ1aWx0CisKKyogTW9uIE1hciAgMSAyMDA0IFJvbGFuZCBNY0dyYXRoIDxyb2xhbmRAcmVkaGF0LmNvbT4gNC41LjItMQorLSBuZXcgdXBzdHJlYW0gdmVyc2lvbiwgc2NoZWRfKiBjYWxscyAoIzExNjk5MCksIHNob3cgY29yZSBmbGFnICgjMTEyMTE3KQorCisqIEZyaSBGZWIgMTMgMjAwNCBFbGxpb3QgTGVlIDxzb3B3aXRoQHJlZGhhdC5jb20+CistIHJlYnVpbHQKKworKiBUaHUgTm92IDEzIDIwMDMgUm9sYW5kIE1jR3JhdGggPHJvbGFuZEByZWRoYXQuY29tPiA0LjUuMS0xCistIG5ldyB1cHN0cmVhbSB2ZXJzaW9uLCBtb3JlIGZpeGVzICgjMTA4MDEyLCAjMTA1MzY2LCAjMTA1MzU5LCAjMTA1MzU4KQorCisqIFR1ZSBTZXAgMzAgMjAwMyBSb2xhbmQgTWNHcmF0aCA8cm9sYW5kQHJlZGhhdC5jb20+IDQuNS0zCistIHJldmVydCBib2d1cyBzMzkwIGZpeAorCisqIFRodSBTZXAgMjUgMjAwMyBSb2xhbmQgTWNHcmF0aCA8cm9sYW5kQHJlZGhhdC5jb20+IDQuNS0xLjIuMUFTCistIHJlYnVpbHQgZm9yIDIuMUFTIGVycmF0dW0KKworKiBXZWQgU2VwIDI0IDIwMDMgUm9sYW5kIE1jR3JhdGggPHJvbGFuZEByZWRoYXQuY29tPiA0LjUtMgorLSByZWJ1aWx0CisKKyogV2VkIFNlcCAyNCAyMDAzIFJvbGFuZCBNY0dyYXRoIDxyb2xhbmRAcmVkaGF0LmNvbT4gNC41LTEKKy0gbmV3IHVwc3RyZWFtIHZlcnNpb24sIG1vcmUgZml4ZXMgKCMxMDE0OTksICMxMDQzNjUpCisKKyogVGh1IEp1bCAxNyAyMDAzIFJvbGFuZCBNY0dyYXRoIDxyb2xhbmRAcmVkaGF0LmNvbT4gNC40Ljk5LTIKKy0gcmVidWlsdAorCisqIFRodSBKdWwgMTcgMjAwMyBSb2xhbmQgTWNHcmF0aCA8cm9sYW5kQHJlZGhhdC5jb20+IDQuNC45OS0xCistIG5ldyB1cHN0cmVhbSB2ZXJzaW9uLCBncm9rcyBtb3JlIG5ldyBzeXN0ZW0gY2FsbHMsIFBGX0lORVQ2IHNvY2tldHMKKworKiBNb24gSnVuIDEwIDIwMDMgUm9sYW5kIE1jR3JhdGggPHJvbGFuZEByZWRoYXQuY29tPiA0LjQuOTgtMQorLSBuZXcgdXBzdHJlYW0gdmVyc2lvbiwgbW9yZSBmaXhlcyAoIzkwNzU0LCAjOTEwODUpCisKKyogV2VkIEp1biAwNCAyMDAzIEVsbGlvdCBMZWUgPHNvcHdpdGhAcmVkaGF0LmNvbT4KKy0gcmVidWlsdAorCisqIFN1biBNYXIgMzAgMjAwMyBSb2xhbmQgTWNHcmF0aCA8cm9sYW5kQHJlZGhhdC5jb20+IDQuNC45Ni0xCistIG5ldyB1cHN0cmVhbSB2ZXJzaW9uLCBoYW5kbGVzIHlldCBtb3JlIDIuNSBzeXNjYWxscywgeDg2XzY0ICYgaWE2NCBmaXhlcworCisqIE1vbiBGZWIgMjQgMjAwMyBFbGxpb3QgTGVlIDxzb3B3aXRoQHJlZGhhdC5jb20+IDQuNC45NS0yCistIHJlYnVpbHQKKworKiBNb24gRmViIDI0IDIwMDMgUm9sYW5kIE1jR3JhdGggPHJvbGFuZEByZWRoYXQuY29tPiA0LjQuOTUtMQorLSBuZXcgdXBzdHJlYW0gdmVyc2lvbiwgZml4ZWQgZ2V0cmVzdWlkL2dldHJlc2dpZCAoIzg0OTU5KQorCisqIFdlZCBGZWIgMTkgMjAwMyBSb2xhbmQgTWNHcmF0aCA8cm9sYW5kQHJlZGhhdC5jb20+IDQuNC45NC0xCistIG5ldyB1cHN0cmVhbSB2ZXJzaW9uLCBuZXcgb3B0aW9uIC1FIHRvIHNldCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgKCM4MjM5MikKKworKiBXZWQgSmFuIDIyIDIwMDMgVGltIFBvd2VycyA8dGltcEByZWRoYXQuY29tPiA0LjQuOTMtMgorLSByZWJ1aWx0CisKKyogVHVlIEphbiAyMSAyMDAzIFJvbGFuZCBNY0dyYXRoIDxyb2xhbmRAcmVkaGF0LmNvbT4gNC40LjkzLTEKKy0gbmV3IHVwc3RyZWFtIHZlcnNpb24sIGZpeGVzIHBwYyBhbmQgczM5MCBidWdzLCBhZGRzIG1pc3NpbmcgcHRyYWNlIHJlcXVlc3RzCisKKyogRnJpIEphbiAxMCAyMDAzIFJvbGFuZCBNY0dyYXRoIDxyb2xhbmRAcmVkaGF0LmNvbT4gNC40LjkxLTEKKy0gbmV3IHVwc3RyZWFtIHZlcnNpb24sIGZpeGVzIC1mIG9uIHg4Ni02NAorCisqIEZyaSBKYW4gMTAgMjAwMyBSb2xhbmQgTWNHcmF0aCA8cm9sYW5kQHJlZGhhdC5jb20+IDQuNC45MC0xCistIG5ldyB1cHN0cmVhbSB2ZXJzaW9uLCBmaXhlcyBhbGwga25vd24gYnVncyBtb2R1bG8gaWE2NCBhbmQgczM5MCBpc3N1ZXMKKworKiBGcmkgSmFuIDAzIDIwMDMgRmxvcmlhbiBMYSBSb2NoZSA8Rmxvcmlhbi5MYVJvY2hlQHJlZGhhdC5kZT4gNC40LTExCistIGFkZCBmdXJ0aGVyIHMzOTAgcGF0Y2ggZnJvbSBJQk0KKworKiBXZWQgTm92IDI3IDIwMDIgVGltIFBvd2VycyA8dGltcEByZWRoYXQuY29tPiA0LjQtMTAKKy0gcmVtb3ZlIHVucGFja2FnZWQgZmlsZXMgZnJvbSB0aGUgYnVpbGRyb290CisKKyogTW9uIE9jdCAwNyAyMDAyIFBoaWwgS25pcnNjaCA8cGtuaXJzY2hAcmVkaGF0LmNvbT4gNC40LTkuMQorLSBBZGRlZCBsYXRlc3QgczM5MCh4KSBwYXRjaC4KKworKiBGcmkgU2VwIDA2IDIwMDIgS2Fyc3RlbiBIb3BwIDxrYXJzdGVuQHJlZGhhdC5kZT4gNC40LTkKKy0gcHJlbGltaW5hcnkgeDg2XzY0IHN1cHBvcnQgd2l0aCBhbiB1Z2x5IHBhdGNoIHRvIGhlbHAKKyAgZGVidWdnaW5nLiBOZWVkcyBjbGVhbnVwIQorCisqIE1vbiBTZXAgIDIgMjAwMiBKYWt1YiBKZWxpbmVrIDxqYWt1YkByZWRoYXQuY29tPiA0LjQtOAorLSBuZXdlciB2ZXJzaW9uIG9mIHRoZSBjbG9uZSBmaXhpbmcgcGF0Y2ggKFJvbGFuZCBNY0dyYXRoKQorLSBhaW8gc3lzY2FsbHMgZm9yIGkzODYvaWE2NC9wcGMgKEJlbiBMYUhhaXNlKQorCisqIFdlZCBBdWcgMjggMjAwMiBKYWt1YiBKZWxpbmVrIDxqYWt1YkByZWRoYXQuY29tPiA0LjQtNworLSBmaXggc3RyYWNlIC1mIChSb2xhbmQgTWNHcmF0aCwgIzY4OTk0KQorLSBoYW5kbGUgP2V0X3RocmVhZF9hcmVhLCBTQV9SRVNUT1JFUiAoVWxyaWNoIERyZXBwZXIpCisKKyogRnJpIEp1biAyMSAyMDAyIEpha3ViIEplbGluZWsgPGpha3ViQHJlZGhhdC5jb20+IDQuNC02CistIGhhbmRsZSBmdXRleGVzLCAqeGF0dHIsIHNlbmRmaWxlNjQsIGV0Yy4gKFVscmljaCBEcmVwcGVyKQorLSBoYW5kbGUgbW9kaWZ5X2xkdCAoIzY2ODk0KQorCisqIFRodSBNYXkgMjMgMjAwMiBUaW0gUG93ZXJzIDx0aW1wQHJlZGhhdC5jb20+CistIGF1dG9tYXRlZCByZWJ1aWxkCisKKyogVHVlIEFwciAxNiAyMDAyIEpha3ViIEplbGluZWsgPGpha3ViQHJlZGhhdC5jb20+IDQuNC00CistIGZpeCBmb3IgdGhlIGxhc3QgcGF0Y2ggYnkgSmVmZiBMYXcgKCM2MjU5MSkKKworKiBNb24gTWFyICA0IDIwMDIgUHJlc3RvbiBCcm93biA8cGJyb3duQHJlZGhhdC5jb20+IDQuNC0zCistIGludGVncmF0ZSBwYXRjaCBmcm9tIEplZmYgTGF3IHRvIGVsaW1pbmF0ZSBoYW5nIHRyYWNpbmcgdGhyZWFkcworCisqIFNhdCBGZWIgMjMgMjAwMiBGbG9yaWFuIExhIFJvY2hlIDxGbG9yaWFuLkxhUm9jaGVAcmVkaGF0LmRlPgorLSBtaW5vciB1cGRhdGUgZnJvbSBkZWJpYW4gdGFyLWJhbGwKKworKiBXZWQgSmFuIDAyIDIwMDIgRmxvcmlhbiBMYSBSb2NoZSA8Rmxvcmlhbi5MYVJvY2hlQHJlZGhhdC5kZT4KKy0gdXBkYXRlIHRvIDQuNAorCisqIFN1biBKdWwgMjIgMjAwMSBGbG9yaWFuIExhIFJvY2hlIDxGbG9yaWFuLkxhUm9jaGVAcmVkaGF0LmRlPgorLSBkaXNhYmxlIHMzOTAgcGF0Y2hlcywgdGhleSBhcmUgYWxyZWFkeSBpbmNsdWRlZAorCisqIFdlZCBKdWwgMTggMjAwMSBQcmVzdG9uIEJyb3duIDxwYnJvd25AcmVkaGF0LmNvbT4gNC4zLTEKKy0gbmV3IHVwc3RyZWFtIHZlcnNpb24uICBTZWVtcyB0byBoYXZlIGludGVncmF0ZWQgbW9zdCBuZXcgc3lzY2FsbHMKKy0gdHJhY2luZyB0aHJlYWRlZCBwcm9ncmFtcyBpcyBub3cgZnVuY3Rpb25hbC4KKworKiBNb24gSnVuIDExIDIwMDEgVGhhbiBOZ28gPHRoYW5AcmVkaGF0LmNvbT4KKy0gcG9ydCBzMzkwIHBhdGNoZXMgZnJvbSBJQk0KKworKiBXZWQgTWF5IDE2IDIwMDEgTmFsaW4gRGFoeWFiaGFpIDxuYWxpbkByZWRoYXQuY29tPgorLSBtb2RpZnkgbmV3IHN5c2NhbGwgcGF0Y2ggdG8gYWxsb2NhdGUgZW5vdWdoIGhlYXAgc3BhY2UgaW4gc2V0Z3JvdXBzMzIoKQorCisqIFdlZCBGZWIgMTQgMjAwMSBKYWt1YiBKZWxpbmVrIDxqYWt1YkByZWRoYXQuY29tPgorLSAjaW5jbHVkZSA8dGltZS5oPiBpbiBhZGRpdGlvbiB0byA8c3lzL3RpbWUuaD4KKworKiBGcmkgSmFuIDI2IDIwMDEgS2Fyc3RlbiBIb3BwIDxrYXJzdGVuQHJlZGhhdC5jb20+CistIGNsZWFuIHVwIGNvbmZsaWN0aW5nIHBhdGNoZXMuIFRoaXMgaGFwcGVuZWQgb25seQorICB3aGVuIGJ1aWxkaW5nIG9uIFMzOTAKKworKiBGcmkgSmFuIDE5IDIwMDEgQmlsbCBOb3R0aW5naGFtIDxub3R0aW5nQHJlZGhhdC5jb20+CistIHVwZGF0ZSB0byBDVlMsIHJlaW50ZWdyYXRlIGlhNjQgc3VwcG9ydAorCisqIFNhdCBEZWMgIDggMjAwMCBCZXJuaGFyZCBSb3NlbmtyYWVuemVyIDxiZXJvQHJlZGhhdC5jb20+CistIEdldCBTLzM5MCBzdXBwb3J0IGludG8gdGhlIG5vcm1hbCBwYWNrYWdlCisKKyogU2F0IE5vdiAxOCAyMDAwIEZsb3JpYW4gTGEgUm9jaGUgPEZsb3JpYW4uTGFSb2NoZUByZWRoYXQuZGU+CistIGFkZGVkIFMvMzkwIHBhdGNoIGZyb20gSUJNLCBhZGFwdGluZyBpdCB0byBub3QgY29uZmxpY3Qgd2l0aAorICBJQTY0IHBhdGNoCisKKyogU2F0IEF1ZyAxOSAyMDAwIEpha3ViIEplbGluZWsgPGpha3ViQHJlZGhhdC5jb20+CistIGRvaCwgYWN0dWFsbHkgYXBwbHkgdGhlIDIuNCBzeXNjYWxscyBwYXRjaAorLSBtYWtlIGl0IGNvbXBpbGUgd2l0aCAyLjQuMC10ZXN0Ny1wcmU0KyBoZWFkZXJzLCBhZGQKKyAgZ2V0ZGVudHM2NCBhbmQgZmNudGw2NAorCisqIFRodSBBdWcgIDMgMjAwMCBKYWt1YiBKZWxpbmVrIDxqYWt1YkByZWRoYXQuY29tPgorLSBhZGQgYSBidW5jaCBvZiBuZXcgMi40IHN5c2NhbGxzICgjMTQwMzYpCisKKyogV2VkIEp1bCAxMiAyMDAwIFByb3NwZWN0b3IgPGJ1Z3ppbGxhQHJlZGhhdC5jb20+CistIGF1dG9tYXRpYyByZWJ1aWxkCistIGV4Y2x1ZGVhcmNoIGlhNjQKKworKiBGcmkgSnVuICAyIDIwMDAgTWF0dCBXaWxzb24gPG1zd0ByZWRoYXQuY29tPgorLSB1c2UgYnVpbGRpbnN0YWxsIGZvciBGSFMKKworKiBXZWQgTWF5IDI0IDIwMDAgSmFrdWIgSmVsaW5layA8amFrdWJAcmVkaGF0LmNvbT4KKy0gbWFrZSB0aGluZ3MgY29tcGlsZSBvbiBzcGFyYworLSBmaXggc2lncmV0dXJuIG9uIHNwYXJjCisKKyogRnJpIE1hciAzMSAyMDAwIEJpbGwgTm90dGluZ2hhbSA8bm90dGluZ0ByZWRoYXQuY29tPgorLSBmaXggc3RhdDY0IG1pc2RlZiAoIzEwNDg1KQorCisqIFR1ZSBNYXIgMjEgMjAwMCBNaWNoYWVsIEsuIEpvaG5zb24gPGpvaG5zb25tQHJlZGhhdC5jb20+CistIGFkZGVkIGlhNjQgcGF0Y2gKKworKiBUaHUgRmViIDAzIDIwMDAgQ3Jpc3RpYW4gR2FmdG9uIDxnYWZ0b25AcmVkaGF0LmNvbT4KKy0gbWFuIHBhZ2VzIGFyZSBjb21wcmVzc2VkCistIHZlcnNpb24gNC4yICh3aHkgYXJlIHdlIGtlZXBpbmcgYWxsIHRoZXNlIHBhdGNoZXMgYXJvdW5kPykKKworKiBTYXQgTm92IDI3IDE5OTkgSmVmZiBKb2huc29uIDxqYmpAcmVkaGF0LmNvbT4KKy0gdXBkYXRlIHRvIDQuMSAod2l0aCBzcGFyYyBzb2NrZXRjYWxsIHBhdGNoKS4KKworKiBGcmkgTm92IDEyIDE5OTkgSmFrdWIgSmVsaW5layA8amFrdWJAcmVkaGF0LmNvbT4KKy0gZml4IHNvY2tldGNhbGwgb24gc3BhcmMuCisKKyogVGh1IFNlcCAwMiAxOTk5IENyaXN0aWFuIEdhZnRvbiA8Z2FmdG9uQHJlZGhhdC5jb20+CistIGZpeCBLRVJOX1NFQ1VSRUxWTCBjb21waWxlIHByb2JsZW0KKworKiBUdWUgQXVnIDMxIDE5OTkgQ3Jpc3RpYW4gR2FmdG9uIDxnYWZ0b25AcmVkaGF0LmNvbT4KKy0gYWRkZWQgYWxwaGEgcGF0Y2ggZnJvbSBISkx1IHRvIGZpeCB0aGUgb3NmX3NpZ3Byb2NtYXNrIGludGVycHJldGF0aW9uCisKKyogU2F0IEp1biAxMiAxOTk5IEplZmYgSm9obnNvbiA8amJqQHJlZGhhdC5jb20+CistIHVwZGF0ZSB0byAzLjk5LjEuCisKKyogV2VkIEp1biAgMiAxOTk5IEplZmYgSm9obnNvbiA8amJqQHJlZGhhdC5jb20+CistIGFkZCAodGhlIG90aGVyIDotKSBqaidzIHNwYXJjIHBhdGNoLgorCisqIFdlZCBNYXkgMjYgMTk5OSBKZWZmIEpvaG5zb24gPGpiakByZWRoYXQuY29tPgorLSB1cGdyYWRlIHRvIDMuOTkgaW4gb3JkZXIgdG8KKy0gICAgYWRkIG5ldyAyLjIueCBvcGVuIGZsYWdzICgjMjk1NSkuCistICAgIGFkZCBuZXcgMi4yLnggc3lzY2FsbHMgKCMyODY2KS4KKy0gc3RyYWNlIDMuMSBwYXRjaGVzIGNhcnJpZWQgYWxvbmcgZm9yIG5vdy4KKworKiBTdW4gTWF5IDE2IDE5OTkgSmVmZiBKb2huc29uIDxqYmpAcmVkaGF0LmNvbT4KKy0gZG9uJ3QgcmVseSBvbiAoYnJva2VuISkgcnBtICUlcGF0Y2ggKCMyNzM1KQorCisqIFR1ZSBBcHIgMDYgMTk5OSBQcmVzdG9uIEJyb3duIDxwYnJvd25AcmVkaGF0LmNvbT4KKy0gc3RyaXAgYmluYXJ5CisKKyogU3VuIE1hciAyMSAxOTk5IENyaXN0aWFuIEdhZnRvbiA8Z2FmdG9uQHJlZGhhdC5jb20+CistIGF1dG8gcmVidWlsZCBpbiB0aGUgbmV3IGJ1aWxkIGVudmlyb25tZW50IChyZWxlYXNlIDE2KQorCisqIFR1ZSBGZWIgIDkgMTk5OSBKZWZmIEpvaG5zb24gPGpiakByZWRoYXQuY29tPgorLSB2Zm9yayBlc3QgYXJyaXZlIQorCisqIFR1ZSBGZWIgIDkgMTk5OSBDaHJpc3RvcGhlciBCbGl6emFyZCA8YmxpenphcmRAcmVkaGF0LmNvbT4KKy0gQWRkIHBhdGNoIHRvIGZvbGxvdyBjbG9uZSgpIHN5c2NhbGxzLCB0b28uCisKKyogU3VuIEphbiAxNyAxOTk5IEplZmYgSm9obnNvbiA8amJqQHJlZGhhdC5jb20+CistIHBhdGNoIHRvIGJ1aWxkIGFscGhhL3NwYXJjIHdpdGggZ2xpYmMgMi4xLgorCisqIFRodSBEZWMgMDMgMTk5OCBDcmlzdGlhbiBHYWZ0b24gPGdhZnRvbkByZWRoYXQuY29tPgorLSBwYXRjaCB0byBidWlsZCBvbiBBUk0KKworKiBXZWQgU2VwIDMwIDE5OTggSmVmZiBKb2huc29uIDxqYmpAcmVkaGF0LmNvbT4KKy0gZml4IHR5cG8gKHByaW50Ziwgbm90IHRwcmludGYpLgorCisqIFNhdCBTZXAgMTkgMTk5OCBKZWZmIEpvaG5zb24gPGpiakByZWRoYXQuY29tPgorLSBmaXggY29tcGlsZSBwcm9ibGVtIG9uIHNwYXJjLgorCisqIFR1ZSBBdWcgMTggMTk5OCBDcmlzdGlhbiBHYWZ0b24gPGdhZnRvbkByZWRoYXQuY29tPgorLSBidWlsZHJvb3QKKworKiBNb24gSnVsIDIwIDE5OTggQ3Jpc3RpYW4gR2FmdG9uIDxnYWZ0b25AcmVkaGF0LmNvbT4KKy0gYWRkZWQgdGhlIHVtb3ZlbiBwYXRjaCBmcm9tIEphbWVzIFlvdW5nbWFuIDxqYXlAZ251Lm9yZz4KKy0gZml4ZWQgYnVpbGQgcHJvYmxlbXMgb24gbmV3ZXIgZ2xpYmMgcmVsZWFzZXMKKworKiBNb24gSnVuIDA4IDE5OTggUHJvc3BlY3RvciBTeXN0ZW0gPGJ1Z3NAcmVkaGF0LmNvbT4KKy0gdHJhbnNsYXRpb25zIG1vZGlmaWVkIGZvciBkZSwgZnIsIHRyCmRpZmYgLS1naXQgYS9zdHJhY2UtNC41LjIwL3N0cmVhbS5jIGIvc3RyYWNlLTQuNS4yMC9zdHJlYW0uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MWZkODIzCi0tLSAvZGV2L251bGwKKysrIGIvc3RyYWNlLTQuNS4yMC9zdHJlYW0uYwpAQCAtMCwwICsxLDEzOTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDE5OTMsIDE5OTQsIDE5OTUsIDE5OTYgUmljayBTbGFka2V5IDxqcnNAd29ybGQuc3RkLmNvbT4KKyAqIENvcHlyaWdodCAoYykgMTk5Ni0xOTk5IFdpY2hlcnQgQWtrZXJtYW4gPHdpY2hlcnRAY2lzdHJvbi5ubD4KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBUaGUgbmFtZSBvZiB0aGUgYXV0aG9yIG1heSBub3QgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMKKyAqICAgIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIEFVVEhPUiBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCisgKiBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELgorICogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAorICogSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUCisgKiBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqCisgKgkkSWQkCisgKi8KKworI2luY2x1ZGUgImRlZnMuaCIKKyNpbmNsdWRlIDxzeXMvc3lzY2FsbC5oPgorCisjaWZkZWYgSEFWRV9QT0xMX0gKKyNpbmNsdWRlIDxwb2xsLmg+CisjZW5kaWYKKyNpZmRlZiBIQVZFX1NZU19QT0xMX0gKKyNpbmNsdWRlIDxzeXMvcG9sbC5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9TVFJPUFRTX0gKKyNpbmNsdWRlIDxzdHJvcHRzLmg+CisjZW5kaWYKKyNpZmRlZiBIQVZFX1NZU19DT05GX0gKKyNpbmNsdWRlIDxzeXMvY29uZi5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9TWVNfU1RSRUFNX0gKKyNpbmNsdWRlIDxzeXMvc3RyZWFtLmg+CisjZW5kaWYKKyNpZmRlZiBIQVZFX1NZU19USUhEUl9ICisjaW5jbHVkZSA8c3lzL3RpaGRyLmg+CisjZW5kaWYKKworI2lmIGRlZmluZWQoSEFWRV9TWVNfU1RSRUFNX0gpIHx8IGRlZmluZWQoTElOVVgpIHx8IGRlZmluZWQoRlJFRUJTRCkKKworI2lmbmRlZiBIQVZFX1NUUk9QVFNfSAorI2RlZmluZSBSU19ISVBSSSAxCitzdHJ1Y3Qgc3RyYnVmIHsKKwlpbnQgICAgIG1heGxlbjsgICAgICAgICAgICAgICAgIC8qIG5vLiBvZiBieXRlcyBpbiBidWZmZXIgKi8KKwlpbnQgICAgIGxlbjsgICAgICAgICAgICAgICAgICAgIC8qIG5vLiBvZiBieXRlcyByZXR1cm5lZCAqLworCWNoYXIgICAgKmJ1ZjsgICAgICAgICAgICAgICAgICAgLyogcG9pbnRlciB0byBkYXRhICovCit9OworI2RlZmluZSBNT1JFQ1RMIDEKKyNkZWZpbmUgTU9SRURBVEEgMgorI2VuZGlmIC8qICFIQVZFX1NUUk9QVFNfSCAqLworCisjaWZkZWYgSEFWRV9TWVNfVElVU0VSX0gKKyNpbmNsdWRlIDxzeXMvdGl1c2VyLmg+CisjaW5jbHVkZSA8c3lzL3NvY2ttb2QuaD4KKyNpbmNsdWRlIDxzeXMvdGltb2QuaD4KKyNlbmRpZiAvKiBIQVZFX1NZU19USVVTRVJfSCAqLworCisjaWZuZGVmIEZSRUVCU0QKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCBtc2dmbGFnc1tdID0geworCXsgUlNfSElQUkksCSJSU19ISVBSSSIJfSwKKwl7IDAsCQlOVUxMCQl9LAorfTsKKworCitzdGF0aWMgdm9pZAorcHJpbnRzdHJidWYodGNwLCBzYnAsIGdldHRpbmcpCitzdHJ1Y3QgdGNiICp0Y3A7CitzdHJ1Y3Qgc3RyYnVmICpzYnA7CitpbnQgZ2V0dGluZzsKK3sKKwlpZiAoc2JwLT5tYXhsZW4gPT0gLTEgJiYgZ2V0dGluZykKKwkJdHByaW50Zigie21heGxlbj0tMX0iKTsKKwllbHNlIHsKKwkJdHByaW50ZigieyIpOworCQlpZiAoZ2V0dGluZykKKwkJCXRwcmludGYoIm1heGxlbj0lZCwgIiwgc2JwLT5tYXhsZW4pOworCQl0cHJpbnRmKCJsZW49JWQsIGJ1Zj0iLCBzYnAtPmxlbik7CisJCXByaW50c3RyKHRjcCwgKHVuc2lnbmVkIGxvbmcpIHNicC0+YnVmLCBzYnAtPmxlbik7CisJCXRwcmludGYoIn0iKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkCitwcmludHN0cmJ1ZmFyZyh0Y3AsIGFyZywgZ2V0dGluZykKK3N0cnVjdCB0Y2IgKnRjcDsKK2ludCBhcmc7CitpbnQgZ2V0dGluZzsKK3sKKwlzdHJ1Y3Qgc3RyYnVmIGJ1ZjsKKworCWlmIChhcmcgPT0gMCkKKwkJdHByaW50ZigiTlVMTCIpOworCWVsc2UgaWYgKHVtb3ZlKHRjcCwgYXJnLCAmYnVmKSA8IDApCisJCXRwcmludGYoInsuLi59Iik7CisJZWxzZQorCQlwcmludHN0cmJ1Zih0Y3AsICZidWYsIGdldHRpbmcpOworCXRwcmludGYoIiwgIik7Cit9CisKK2ludAorc3lzX3B1dG1zZyh0Y3ApCitzdHJ1Y3QgdGNiICp0Y3A7Cit7CisJaW50IGk7CisKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQkvKiBmZCAqLworCQl0cHJpbnRmKCIlbGQsICIsIHRjcC0+dV9hcmdbMF0pOworCQkvKiBjb250cm9sIGFuZCBkYXRhICovCisJCWZvciAoaSA9IDE7IGkgPCAzOyBpKyspCisJCQlwcmludHN0cmJ1ZmFyZyh0Y3AsIHRjcC0+dV9hcmdbaV0sIDApOworCQkvKiBmbGFncyAqLworCQlwcmludGZsYWdzKG1zZ2ZsYWdzLCB0Y3AtPnVfYXJnWzNdLCAiUlNfPz8/Iik7CisJfQorCXJldHVybiAwOworfQorCisjaWYgZGVmaW5lZChTUEFSQykgfHwgZGVmaW5lZChTUEFSQzY0KSB8fCBkZWZpbmVkKFNVTk9TNCkgfHwgZGVmaW5lZChTVlI0KQoraW50CitzeXNfZ2V0bXNnKHRjcCkKK3N0cnVjdCB0Y2IgKnRjcDsKK3sKKwlpbnQgaSwgZmxhZ3M7CisKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQkvKiBmZCAqLworCQl0cHJpbnRmKCIlbHUsICIsIHRjcC0+dV9hcmdbMF0pOworCX0gZWxzZSB7CisJCWlmIChzeXNlcnJvcih0Y3ApKSB7CisJCQl0cHJpbnRmKCIlI2x4LCAlI2x4LCAlI2x4IiwKKwkJCQl0Y3AtPnVfYXJnWzFdLCB0Y3AtPnVfYXJnWzJdLCB0Y3AtPnVfYXJnWzNdKTsKKwkJCXJldHVybiAwOworCQl9CisJCS8qIGNvbnRyb2wgYW5kIGRhdGEgKi8KKwkJZm9yIChpID0gMTsgaSA8IDM7IGkrKykKKwkJCXByaW50c3RyYnVmYXJnKHRjcCwgdGNwLT51X2FyZ1tpXSwgMSk7CisJCS8qIHBvaW50ZXIgdG8gZmxhZ3MgKi8KKwkJaWYgKHRjcC0+dV9hcmdbM10gPT0gMCkKKwkJCXRwcmludGYoIk5VTEwiKTsKKwkJZWxzZSBpZiAodW1vdmUodGNwLCB0Y3AtPnVfYXJnWzNdLCAmZmxhZ3MpIDwgMCkKKwkJCXRwcmludGYoIls/XSIpOworCQllbHNlIHsKKwkJCXRwcmludGYoIlsiKTsKKwkJCXByaW50ZmxhZ3MobXNnZmxhZ3MsIGZsYWdzLCAiUlNfPz8/Iik7CisJCQl0cHJpbnRmKCJdIik7CisJCX0KKwkJLyogZGVjb2RlIHJldHVybiB2YWx1ZSAqLworCQlzd2l0Y2ggKHRjcC0+dV9ydmFsKSB7CisJCWNhc2UgTU9SRUNUTDoKKwkJCXRjcC0+YXV4c3RyID0gIk1PUkVDVEwiOworCQkJYnJlYWs7CisJCWNhc2UgTU9SRUNUTHxNT1JFREFUQToKKwkJCXRjcC0+YXV4c3RyID0gIk1PUkVDVEx8TU9SRURBVEEiOworCQkJYnJlYWs7CisJCWNhc2UgTU9SRURBVEE6CisJCQl0Y3AtPmF1eHN0ciA9ICJNT1JFQ1RMIjsKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJdGNwLT5hdXhzdHIgPSBOVUxMOworCQkJYnJlYWs7CisJCX0KKwl9CisJcmV0dXJuIFJWQUxfSEVYIHwgUlZBTF9TVFI7Cit9CisjZW5kaWYgLyogU1BBUkMgfHwgU1BBUkM2NCB8fCBTVU5PUzQgfHwgU1ZSNCAqLworCisjaWYgZGVmaW5lZCBTWVNfcHV0cG1zZyB8fCBkZWZpbmVkIFNZU19nZXRwbXNnCitzdGF0aWMgY29uc3Qgc3RydWN0IHhsYXQgcG1zZ2ZsYWdzW10gPSB7CisjaWZkZWYgTVNHX0hJUFJJCisJeyBNU0dfSElQUkksCSJNU0dfSElQUkkiCX0sCisjZW5kaWYKKyNpZmRlZiBNU0dfQU5ECisJeyBNU0dfQU5ZLAkiTVNHX0FOWSIJfSwKKyNlbmRpZgorI2lmZGVmIE1TR19CQU5ECisJeyBNU0dfQkFORCwJIk1TR19CQU5EIgl9LAorI2VuZGlmCisJeyAwLAkJTlVMTAkJfSwKK307CisjZW5kaWYKKworI2lmZGVmIFNZU19wdXRwbXNnCitpbnQKK3N5c19wdXRwbXNnKHRjcCkKK3N0cnVjdCB0Y2IgKnRjcDsKK3sKKwlpbnQgaTsKKworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCS8qIGZkICovCisJCXRwcmludGYoIiVsZCwgIiwgdGNwLT51X2FyZ1swXSk7CisJCS8qIGNvbnRyb2wgYW5kIGRhdGEgKi8KKwkJZm9yIChpID0gMTsgaSA8IDM7IGkrKykKKwkJCXByaW50c3RyYnVmYXJnKHRjcCwgdGNwLT51X2FyZ1tpXSwgMCk7CisJCS8qIGJhbmQgKi8KKwkJdHByaW50ZigiJWxkLCAiLCB0Y3AtPnVfYXJnWzNdKTsKKwkJLyogZmxhZ3MgKi8KKwkJcHJpbnRmbGFncyhwbXNnZmxhZ3MsIHRjcC0+dV9hcmdbNF0sICJNU0dfPz8/Iik7CisJfQorCXJldHVybiAwOworfQorI2VuZGlmIC8qIFNZU19wdXRwbXNnICovCisKKyNpZmRlZiBTWVNfZ2V0cG1zZworaW50CitzeXNfZ2V0cG1zZyh0Y3ApCitzdHJ1Y3QgdGNiICp0Y3A7Cit7CisJaW50IGksIGZsYWdzOworCisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJLyogZmQgKi8KKwkJdHByaW50ZigiJWx1LCAiLCB0Y3AtPnVfYXJnWzBdKTsKKwl9IGVsc2UgeworCQlpZiAoc3lzZXJyb3IodGNwKSkgeworCQkJdHByaW50ZigiJSNseCwgJSNseCwgJSNseCwgJSNseCIsIHRjcC0+dV9hcmdbMV0sCisJCQkJdGNwLT51X2FyZ1syXSwgdGNwLT51X2FyZ1szXSwgdGNwLT51X2FyZ1s0XSk7CisJCQlyZXR1cm4gMDsKKwkJfQorCQkvKiBjb250cm9sIGFuZCBkYXRhICovCisJCWZvciAoaSA9IDE7IGkgPCAzOyBpKyspCisJCQlwcmludHN0cmJ1ZmFyZyh0Y3AsIHRjcC0+dV9hcmdbaV0sIDEpOworCQkvKiBwb2ludGVyIHRvIGJhbmQgKi8KKwkJcHJpbnRudW0odGNwLCB0Y3AtPnVfYXJnWzNdLCAiJWQiKTsKKwkJdHByaW50ZigiLCAiKTsKKwkJLyogcG9pbnRlciB0byBmbGFncyAqLworCQlpZiAodGNwLT51X2FyZ1s0XSA9PSAwKQorCQkJdHByaW50ZigiTlVMTCIpOworCQllbHNlIGlmICh1bW92ZSh0Y3AsIHRjcC0+dV9hcmdbNF0sICZmbGFncykgPCAwKQorCQkJdHByaW50ZigiWz9dIik7CisJCWVsc2UgeworCQkJdHByaW50ZigiWyIpOworCQkJcHJpbnRmbGFncyhwbXNnZmxhZ3MsIGZsYWdzLCAiTVNHXz8/PyIpOworCQkJdHByaW50ZigiXSIpOworCQl9CisJCS8qIGRlY29kZSByZXR1cm4gdmFsdWUgKi8KKwkJc3dpdGNoICh0Y3AtPnVfcnZhbCkgeworCQljYXNlIE1PUkVDVEw6CisJCQl0Y3AtPmF1eHN0ciA9ICJNT1JFQ1RMIjsKKwkJCWJyZWFrOworCQljYXNlIE1PUkVDVEx8TU9SRURBVEE6CisJCQl0Y3AtPmF1eHN0ciA9ICJNT1JFQ1RMfE1PUkVEQVRBIjsKKwkJCWJyZWFrOworCQljYXNlIE1PUkVEQVRBOgorCQkJdGNwLT5hdXhzdHIgPSAiTU9SRUNUTCI7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCXRjcC0+YXV4c3RyID0gTlVMTDsKKwkJCWJyZWFrOworCQl9CisJfQorCXJldHVybiBSVkFMX0hFWCB8IFJWQUxfU1RSOworfQorI2VuZGlmIC8qIFNZU19nZXRwbXNnICovCisKKyNlbmRpZiAvKiAhRlJFRUJTRCAqLworCisKKyNpZmRlZiBIQVZFX1NZU19QT0xMX0gKKworc3RhdGljIGNvbnN0IHN0cnVjdCB4bGF0IHBvbGxmbGFnc1tdID0geworI2lmZGVmIFBPTExJTgorCXsgUE9MTElOLAkiUE9MTElOIgl9LAorCXsgUE9MTFBSSSwJIlBPTExQUkkiCX0sCisJeyBQT0xMT1VULAkiUE9MTE9VVCIJfSwKKyNpZmRlZiBQT0xMUkROT1JNCisJeyBQT0xMUkROT1JNLAkiUE9MTFJETk9STSIJfSwKKyNlbmRpZgorI2lmZGVmIFBPTExXUk5PUk0KKwl7IFBPTExXUk5PUk0sCSJQT0xMV1JOT1JNIgl9LAorI2VuZGlmCisjaWZkZWYgUE9MTFJEQkFORAorCXsgUE9MTFJEQkFORCwJIlBPTExSREJBTkQiCX0sCisjZW5kaWYKKyNpZmRlZiBQT0xMV1JCQU5ECisJeyBQT0xMV1JCQU5ELAkiUE9MTFdSQkFORCIJfSwKKyNlbmRpZgorCXsgUE9MTEVSUiwJIlBPTExFUlIiCX0sCisJeyBQT0xMSFVQLAkiUE9MTEhVUCIJfSwKKwl7IFBPTExOVkFMLAkiUE9MTE5WQUwiCX0sCisjZW5kaWYKKwl7IDAsCQlOVUxMCQl9LAorfTsKKworc3RhdGljIGludAorZGVjb2RlX3BvbGwoc3RydWN0IHRjYiAqdGNwLCBsb25nIHB0cykKK3sKKwlzdHJ1Y3QgcG9sbGZkIGZkczsKKwl1bnNpZ25lZCBuZmRzOworCXVuc2lnbmVkIGxvbmcgc2l6ZSwgc3RhcnQsIGN1ciwgZW5kLCBhYmJyZXZfZW5kOworCWludCBmYWlsZWQgPSAwOworCisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJbmZkcyA9IHRjcC0+dV9hcmdbMV07CisJCXNpemUgPSBzaXplb2YoZmRzKSAqIG5mZHM7CisJCXN0YXJ0ID0gdGNwLT51X2FyZ1swXTsKKwkJZW5kID0gc3RhcnQgKyBzaXplOworCQlpZiAobmZkcyA9PSAwIHx8IHNpemUgLyBzaXplb2YoZmRzKSAhPSBuZmRzIHx8IGVuZCA8IHN0YXJ0KSB7CisJCQl0cHJpbnRmKCIlI2x4LCAlZCwgIiwKKwkJCQl0Y3AtPnVfYXJnWzBdLCBuZmRzKTsKKwkJCXJldHVybiAwOworCQl9CisJCWlmIChhYmJyZXYodGNwKSkgeworCQkJYWJicmV2X2VuZCA9IHN0YXJ0ICsgbWF4X3N0cmxlbiAqIHNpemVvZihmZHMpOworCQkJaWYgKGFiYnJldl9lbmQgPCBzdGFydCkKKwkJCQlhYmJyZXZfZW5kID0gZW5kOworCQl9IGVsc2UgeworCQkJYWJicmV2X2VuZCA9IGVuZDsKKwkJfQorCQl0cHJpbnRmKCJbIik7CisJCWZvciAoY3VyID0gc3RhcnQ7IGN1ciA8IGVuZDsgY3VyICs9IHNpemVvZihmZHMpKSB7CisJCQlpZiAoY3VyID4gc3RhcnQpCisJCQkJdHByaW50ZigiLCAiKTsKKwkJCWlmIChjdXIgPj0gYWJicmV2X2VuZCkgeworCQkJCXRwcmludGYoIi4uLiIpOworCQkJCWJyZWFrOworCQkJfQorCQkJaWYgKHVtb3Zlbih0Y3AsIGN1ciwgc2l6ZW9mIGZkcywgKGNoYXIgKikgJmZkcykgPCAwKSB7CisJCQkJdHByaW50ZigiPyIpOworCQkJCWZhaWxlZCA9IDE7CisJCQkJYnJlYWs7CisJCQl9CisJCQlpZiAoZmRzLmZkIDwgMCkgeworCQkJCXRwcmludGYoIntmZD0lZH0iLCBmZHMuZmQpOworCQkJCWNvbnRpbnVlOworCQkJfQorCQkJdHByaW50Zigie2ZkPSVkLCBldmVudHM9IiwgZmRzLmZkKTsKKwkJCXByaW50ZmxhZ3MocG9sbGZsYWdzLCBmZHMuZXZlbnRzLCAiUE9MTD8/PyIpOworCQkJdHByaW50ZigifSIpOworCQl9CisJCXRwcmludGYoIl0iKTsKKwkJaWYgKGZhaWxlZCkKKwkJCXRwcmludGYoIiAlI2x4Iiwgc3RhcnQpOworCQl0cHJpbnRmKCIsICVkLCAiLCBuZmRzKTsKKwkJcmV0dXJuIDA7CisJfSBlbHNlIHsKKwkJc3RhdGljIGNoYXIgb3V0c3RyWzEwMjRdOworCQljaGFyIHN0cls2NF07CisJCWNvbnN0IGNoYXIgKmZsYWdzdHI7CisJCXVuc2lnbmVkIGludCBjdW1sZW47CisKKwkJaWYgKHN5c2Vycm9yKHRjcCkpCisJCQlyZXR1cm4gMDsKKwkJaWYgKHRjcC0+dV9ydmFsID09IDApIHsKKwkJCXRjcC0+YXV4c3RyID0gIlRpbWVvdXQiOworCQkJcmV0dXJuIFJWQUxfU1RSOworCQl9CisKKwkJbmZkcyA9IHRjcC0+dV9hcmdbMV07CisJCXNpemUgPSBzaXplb2YoZmRzKSAqIG5mZHM7CisJCXN0YXJ0ID0gdGNwLT51X2FyZ1swXTsKKwkJZW5kID0gc3RhcnQgKyBzaXplOworCQlpZiAobmZkcyA9PSAwIHx8IHNpemUgLyBzaXplb2YoZmRzKSAhPSBuZmRzIHx8IGVuZCA8IHN0YXJ0KQorCQkJcmV0dXJuIDA7CisJCWlmIChhYmJyZXYodGNwKSkgeworCQkJYWJicmV2X2VuZCA9IHN0YXJ0ICsgbWF4X3N0cmxlbiAqIHNpemVvZihmZHMpOworCQkJaWYgKGFiYnJldl9lbmQgPCBzdGFydCkKKwkJCQlhYmJyZXZfZW5kID0gZW5kOworCQl9IGVsc2UgeworCQkJYWJicmV2X2VuZCA9IGVuZDsKKwkJfQorCisJCW91dHN0clswXSA9ICdcMCc7CisJCWN1bWxlbiA9IDA7CisKKwkJZm9yIChjdXIgPSBzdGFydDsgY3VyIDwgZW5kOyBjdXIgKz0gc2l6ZW9mKGZkcykpIHsKKwkJCWlmICh1bW92ZW4odGNwLCBjdXIsIHNpemVvZiBmZHMsIChjaGFyICopICZmZHMpIDwgMCkgeworCQkJCSsrY3VtbGVuOworCQkJCWlmIChjdW1sZW4gPCBzaXplb2Yob3V0c3RyKSkKKwkJCQkJc3RyY2F0KG91dHN0ciwgIj8iKTsKKwkJCQlmYWlsZWQgPSAxOworCQkJCWJyZWFrOworCQkJfQorCQkJaWYgKCFmZHMucmV2ZW50cykKKwkJCQljb250aW51ZTsKKwkJCWlmICghY3VtbGVuKSB7CisJCQkJKytjdW1sZW47CisJCQkJc3RyY2F0KG91dHN0ciwgIlsiKTsKKwkJCX0gZWxzZSB7CisJCQkJY3VtbGVuICs9IDI7CisJCQkJaWYgKGN1bWxlbiA8IHNpemVvZihvdXRzdHIpKQorCQkJCQlzdHJjYXQob3V0c3RyLCAiLCAiKTsKKwkJCX0KKwkJCWlmIChjdXIgPj0gYWJicmV2X2VuZCkgeworCQkJCWN1bWxlbiArPSAzOworCQkJCWlmIChjdW1sZW4gPCBzaXplb2Yob3V0c3RyKSkKKwkJCQkJc3RyY2F0KG91dHN0ciwgIi4uLiIpOworCQkJCWJyZWFrOworCQkJfQorCQkJc3ByaW50ZihzdHIsICJ7ZmQ9JWQsIHJldmVudHM9IiwgZmRzLmZkKTsKKwkJCWZsYWdzdHI9c3ByaW50ZmxhZ3MoIiIsIHBvbGxmbGFncywgZmRzLnJldmVudHMpOworCQkJY3VtbGVuICs9IHN0cmxlbihzdHIpICsgc3RybGVuKGZsYWdzdHIpICsgMTsKKwkJCWlmIChjdW1sZW4gPCBzaXplb2Yob3V0c3RyKSkgeworCQkJCXN0cmNhdChvdXRzdHIsIHN0cik7CisJCQkJc3RyY2F0KG91dHN0ciwgZmxhZ3N0cik7CisJCQkJc3RyY2F0KG91dHN0ciwgIn0iKTsKKwkJCX0KKwkJfQorCQlpZiAoZmFpbGVkKQorCQkJcmV0dXJuIDA7CisKKwkJaWYgKGN1bWxlbiAmJiArK2N1bWxlbiA8IHNpemVvZihvdXRzdHIpKQorCQkJc3RyY2F0KG91dHN0ciwgIl0iKTsKKworCQlpZiAocHRzKSB7CisJCQljaGFyIHN0clsxMjhdOworCisJCQlzcHJpbnRmKHN0ciwgIiVzbGVmdCAiLCBjdW1sZW4gPyAiLCAiIDogIiIpOworCQkJc3ByaW50X3RpbWVzcGVjKHN0ciArIHN0cmxlbihzdHIpLCB0Y3AsIHB0cyk7CisJCQlpZiAoKGN1bWxlbiArPSBzdHJsZW4oc3RyKSkgPCBzaXplb2Yob3V0c3RyKSkKKwkJCQlzdHJjYXQob3V0c3RyLCBzdHIpOworCQl9CisKKwkJaWYgKCFvdXRzdHJbMF0pCisJCQlyZXR1cm4gMDsKKworCQl0Y3AtPmF1eHN0ciA9IG91dHN0cjsKKwkJcmV0dXJuIFJWQUxfU1RSOworCX0KK30KKworaW50CitzeXNfcG9sbChzdHJ1Y3QgdGNiICp0Y3ApCit7CisJaW50IHJjID0gZGVjb2RlX3BvbGwodGNwLCAwKTsKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworI2lmZGVmIElORlRJTQorCQlpZiAodGNwLT51X2FyZ1syXSA9PSBJTkZUSU0pCisJCQl0cHJpbnRmKCJJTkZUSU0iKTsKKwkJZWxzZQorI2VuZGlmCisJCQl0cHJpbnRmKCIlbGQiLCB0Y3AtPnVfYXJnWzJdKTsKKwl9CisJcmV0dXJuIHJjOworfQorCisjaWZkZWYgTElOVVgKK2ludAorc3lzX3Bwb2xsKHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwlpbnQgcmMgPSBkZWNvZGVfcG9sbCh0Y3AsIHRjcC0+dV9hcmdbMl0pOworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXByaW50X3RpbWVzcGVjKHRjcCwgdGNwLT51X2FyZ1syXSk7CisJCXRwcmludGYoIiwgIik7CisJCXByaW50X3NpZ3NldCh0Y3AsIHRjcC0+dV9hcmdbM10sIDApOworCQl0cHJpbnRmKCIsICVsdSIsIHRjcC0+dV9hcmdbNF0pOworCX0KKwlyZXR1cm4gcmM7Cit9CisjZW5kaWYKKworI2Vsc2UgLyogIUhBVkVfU1lTX1BPTExfSCAqLworaW50CitzeXNfcG9sbCh0Y3ApCitzdHJ1Y3QgdGNiICp0Y3A7Cit7CisJcmV0dXJuIDA7Cit9CisjZW5kaWYKKworI2lmICFkZWZpbmVkKExJTlVYKSAmJiAhZGVmaW5lZChGUkVFQlNEKQorCitzdGF0aWMgY29uc3Qgc3RydWN0IHhsYXQgc3RyZWFtX2ZsdXNoX29wdGlvbnNbXSA9IHsKKwl7IEZMVVNIUiwJIkZMVVNIUiIJfSwKKwl7IEZMVVNIVywJIkZMVVNIVyIJfSwKKwl7IEZMVVNIUlcsCSJGTFVTSFJXIgl9LAorI2lmZGVmIEZMVVNIQkFORAorCXsgRkxVU0hCQU5ELAkiRkxVU0hCQU5EIgl9LAorI2VuZGlmCisJeyAwLAkJTlVMTAkJfSwKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCBzdHJlYW1fc2V0c2lnX2ZsYWdzW10gPSB7CisJeyBTX0lOUFVULAkiU19JTlBVVCIJfSwKKwl7IFNfSElQUkksCSJTX0hJUFJJIgl9LAorCXsgU19PVVRQVVQsCSJTX09VVFBVVCIJfSwKKwl7IFNfTVNHLAkiU19NU0ciCQl9LAorI2lmZGVmIFNfRVJST1IKKwl7IFNfRVJST1IsCSJTX0VSUk9SIgl9LAorI2VuZGlmCisjaWZkZWYgU19IQU5HVVAKKwl7IFNfSEFOR1VQLAkiU19IQU5HVVAiCX0sCisjZW5kaWYKKyNpZmRlZiBTX1JETk9STQorCXsgU19SRE5PUk0sCSJTX1JETk9STSIJfSwKKyNlbmRpZgorI2lmZGVmIFNfV1JOT1JNCisJeyBTX1dSTk9STSwJIlNfV1JOT1JNIgl9LAorI2VuZGlmCisjaWZkZWYgU19SREJBTkQKKwl7IFNfUkRCQU5ELAkiU19SREJBTkQiCX0sCisjZW5kaWYKKyNpZmRlZiBTX1dSQkFORAorCXsgU19XUkJBTkQsCSJTX1dSQkFORCIJfSwKKyNlbmRpZgorI2lmZGVmIFNfQkFORFVSRworCXsgU19CQU5EVVJHLAkiU19CQU5EVVJHIgl9LAorI2VuZGlmCisJeyAwLAkJTlVMTAkJfSwKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCBzdHJlYW1fcmVhZF9vcHRpb25zW10gPSB7CisJeyBSTk9STSwJIlJOT1JNIgkJfSwKKwl7IFJNU0dELAkiUk1TR0QiCQl9LAorCXsgUk1TR04sCSJSTVNHTiIJCX0sCisJeyAwLAkJTlVMTAkJfSwKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCBzdHJlYW1fcmVhZF9mbGFnc1tdID0geworI2lmZGVmIFJQUk9UREFUCisJeyBSUFJPVERBVCwJIlJQUk9UREFUIgl9LAorI2VuZGlmCisjaWZkZWYgUlBST1RESVMKKwl7IFJQUk9URElTLAkiUlBST1RESVMiCX0sCisjZW5kaWYKKyNpZmRlZiBSUFJPVE5PUk0KKwl7IFJQUk9UTk9STSwJIlJQUk9UTk9STSIJfSwKKyNlbmRpZgorCXsgMCwJCU5VTEwJCX0sCit9OworCisjaWZuZGVmIFJNT0RFTUFTSworI2RlZmluZSBSTU9ERU1BU0sgKH4wKQorI2VuZGlmCisKKyNpZmRlZiBJX1NXUk9QVAorc3RhdGljIGNvbnN0IHN0cnVjdCB4bGF0IHN0cmVhbV93cml0ZV9mbGFnc1tdID0geworCXsgU05EWkVSTywJIlNORFpFUk8iCX0sCisJeyBTTkRQSVBFLAkiU05EUElQRSIJfSwKKwl7IDAsCQlOVUxMCQl9LAorfTsKKyNlbmRpZiAvKiBJX1NXUk9QVCAqLworCisjaWZkZWYgSV9BVE1BUksKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCBzdHJlYW1fYXRtYXJrX29wdGlvbnNbXSA9IHsKKwl7IEFOWU1BUkssCSJBTllNQVJLIgl9LAorCXsgTEFTVE1BUkssCSJMQVNUTUFSSyIJfSwKKwl7IDAsCQlOVUxMCQl9LAorfTsKKyNlbmRpZiAvKiBJX0FUTUFSSyAqLworCisjaWZkZWYgVElfQklORAorc3RhdGljIGNvbnN0IHN0cnVjdCB4bGF0IHRyYW5zcG9ydF91c2VyX29wdGlvbnNbXSA9IHsKKwl7IFRfQ09OTl9SRVEsCSJUX0NPTk5fUkVRIgl9LAorCXsgVF9DT05OX1JFUywJIlRfQ09OTl9SRVMiCX0sCisJeyBUX0RJU0NPTl9SRVEsCSJUX0RJU0NPTl9SRVEiCX0sCisJeyBUX0RBVEFfUkVRLAkiVF9EQVRBX1JFUSIJfSwKKwl7IFRfRVhEQVRBX1JFUSwJIlRfRVhEQVRBX1JFUSIJfSwKKwl7IFRfSU5GT19SRVEsCSJUX0lORk9fUkVRIgl9LAorCXsgVF9CSU5EX1JFUSwJIlRfQklORF9SRVEiCX0sCisJeyBUX1VOQklORF9SRVEsCSJUX1VOQklORF9SRVEiCX0sCisJeyBUX1VOSVREQVRBX1JFUSwiVF9VTklUREFUQV9SRVEifSwKKwl7IFRfT1BUTUdNVF9SRVEsIlRfT1BUTUdNVF9SRVEiCX0sCisJeyBUX09SRFJFTF9SRVEsCSJUX09SRFJFTF9SRVEiCX0sCisJeyAwLAkJTlVMTAkJfSwKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCB0cmFuc3BvcnRfdXNlcl9mbGFncyBbXSA9IHsKKwl7IDAsCQkiMCIJCX0sCisJeyBUX01PUkUsCSJUX01PUkUiCX0sCisJeyBUX0VYUEVESVRFRCwJIlRfRVhQRURJVEVEIgl9LAorCXsgVF9ORUdPVElBVEUsCSJUX05FR09USUFURSIJfSwKKwl7IFRfQ0hFQ0ssCSJUX0NIRUNLIgl9LAorCXsgVF9ERUZBVUxULAkiVF9ERUZBVUxUIgl9LAorCXsgVF9TVUNDRVNTLAkiVF9TVUNDRVNTIgl9LAorCXsgVF9GQUlMVVJFLAkiVF9GQUlMVVJFIgl9LAorCXsgVF9DVVJSRU5ULAkiVF9DVVJSRU5UIgl9LAorCXsgVF9QQVJUU1VDQ0VTUywiVF9QQVJUU1VDQ0VTUyIJfSwKKwl7IFRfUkVBRE9OTFksCSJUX1JFQURPTkxZIgl9LAorCXsgVF9OT1RTVVBQT1JULAkiVF9OT1RTVVBQT1JUIgl9LAorCXsgMCwJCU5VTEwJCX0sCit9OworCisKKyNpZmRlZiBIQVZFX1NUUlVDVF9UX09QVEhEUgorCitzdGF0aWMgY29uc3Qgc3RydWN0IHhsYXQgeHRpX2xldmVsIFtdID0geworCXsgWFRJX0dFTkVSSUMsCSJYVElfR0VORVJJQyIJfSwKKwl7IDAsCQlOVUxMCQl9LAorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCB4bGF0IHh0aV9nZW5lcmljIFtdID0geworCXsgWFRJX0RFQlVHLAkiWFRJX0RFQlVHIgl9LAorCXsgWFRJX0xJTkdFUiwJIlhUSV9MSU5HRVIiCX0sCisJeyBYVElfUkNWQlVGLAkiWFRJX1JDVkJVRiIJfSwKKwl7IFhUSV9SQ1ZMT1dBVCwJIlhUSV9SQ1ZMT1dBVCIJfSwKKwl7IFhUSV9TTkRCVUYsCSJYVElfU05EQlVGIgl9LAorCXsgWFRJX1NORExPV0FULAkiWFRJX1NORExPV0FUIgl9LAorCXsgMCwJCU5VTEwJCX0sCit9OworCisKKwordm9pZAorcHJpbnRfeHRpX29wdG1nbXQgKHRjcCwgYWRkciwgbGVuKQorc3RydWN0IHRjYiAqdGNwOworbG9uZyBhZGRyOworaW50IGxlbjsKK3sKKwlpbnQgYyA9IDA7CisJc3RydWN0IHRfb3B0aGRyIGhkcjsKKworCXdoaWxlIChsZW4gPj0gKGludCkgc2l6ZW9mIGhkcikgeworCQlpZiAodW1vdmUodGNwLCBhZGRyLCAmaGRyKSA8IDApIGJyZWFrOworCQlpZiAoYysrKSB7CisJCQl0cHJpbnRmICgiLCAiKTsKKwkJfQorCQllbHNlIGlmIChsZW4gPiBoZHIubGVuICsgc2l6ZW9mIGhkcikgeworCQkJdHByaW50ZiAoIlsiKTsKKwkJfQorCQl0cHJpbnRmICgie2xldmVsPSIpOworCQlwcmludHh2YWwgKHh0aV9sZXZlbCwgaGRyLmxldmVsLCAiPz8/Iik7CisJCXRwcmludGYgKCIsIG5hbWU9Iik7CisJCXN3aXRjaCAoaGRyLmxldmVsKSB7CisJCSAgICBjYXNlIFhUSV9HRU5FUklDOgorCQkJcHJpbnR4dmFsICh4dGlfZ2VuZXJpYywgaGRyLm5hbWUsICJYVElfPz8/Iik7CisJCQlicmVhazsKKwkJICAgIGRlZmF1bHQ6CisJCQl0cHJpbnRmICgiJWxkIiwgaGRyLm5hbWUpOworCQkJYnJlYWs7CisJCX0KKwkJdHByaW50ZiAoIiwgc3RhdHVzPSIpOworCQlwcmludHh2YWwgKHRyYW5zcG9ydF91c2VyX2ZsYWdzLCAgaGRyLnN0YXR1cywgIlRfPz8/Iik7CisJCWFkZHIgKz0gc2l6ZW9mIGhkcjsKKwkJbGVuIC09IHNpemVvZiBoZHI7CisJCWlmICgoaGRyLmxlbiAtPSBzaXplb2YgaGRyKSA+IDApIHsKKwkJCWlmIChoZHIubGVuID4gbGVuKSBicmVhazsKKwkJCXRwcmludGYgKCIsIHZhbD0iKTsKKwkJCWlmIChsZW4gPT0gc2l6ZW9mIChpbnQpKQorCQkJCXByaW50bnVtICh0Y3AsIGFkZHIsICIlZCIpOworCQkJZWxzZQorCQkJCXByaW50c3RyICh0Y3AsIGFkZHIsIGhkci5sZW4pOworCQkJYWRkciArPSBoZHIubGVuOworCQkJbGVuIC09IGhkci5sZW47CisJCX0KKwkJdHByaW50ZiAoIn0iKTsKKwl9CisJaWYgKGxlbiA+IDApIHsKKwkJaWYgKGMrKykgdHByaW50ZiAoIiwgIik7CisJCXByaW50c3RyICh0Y3AsIGFkZHIsIGxlbik7CisJfQorCWlmIChjID4gMSkgdHByaW50ZiAoIl0iKTsKK30KKworI2VuZGlmCisKKworc3RhdGljIHZvaWQKK3ByaW50X29wdG1nbXQgKHRjcCwgYWRkciwgbGVuKQorc3RydWN0IHRjYiAqdGNwOworbG9uZyBhZGRyOworaW50IGxlbjsKK3sKKwkvKiBXZSBkb24ndCBrbm93IGhvdyB0byB0ZWxsIGlmIFRMSSAoc29ja2V0KSBvciBYVEkKKwkgICBvcHRtZ210IGlzIGJlaW5nIHVzZWQgeWV0LCBhc3N1bWUgVExJLiAqLworI2lmIGRlZmluZWQgKEhBVkVfU1RSVUNUX09QVEhEUikKKwlwcmludF9zb2NrX29wdG1nbXQgKHRjcCwgYWRkciwgbGVuKTsKKyNlbGlmIGRlZmluZWQgKEhBVkVfU1RSVUNUX1RfT1BUSERSKQorCXByaW50X3h0aV9vcHRtZ210ICh0Y3AsIGFkZHIsIGxlbik7CisjZWxzZQorCXByaW50c3RyICh0Y3AsIGFkZHIsIGxlbik7CisjZW5kaWYKK30KKworCisKKworc3RhdGljIGNvbnN0IHN0cnVjdCB4bGF0IHNlcnZpY2VfdHlwZSBbXSA9IHsKKwl7IFRfQ09UUywJIlRfQ09UUyIJfSwKKwl7IFRfQ09UU19PUkQsCSJUX0NPVFNfT1JEIgl9LAorCXsgVF9DTFRTLAkiVF9DTFRTIgl9LAorCXsgMCwJCU5VTEwJCX0sCit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IHhsYXQgdHNfc3RhdGUgW10gPSB7CisJeyBUU19VTkJORCwJIlRTX1VOQk5EIgl9LAorCXsgVFNfV0FDS19CUkVRLAkiVFNfV0FDS19CUkVRIgl9LAorCXsgVFNfV0FDS19VUkVRLAkiVFNfV0FDS19VUkVRIgl9LAorCXsgVFNfSURMRSwJIlRTX0lETEUiCX0sCisJeyBUU19XQUNLX09QVFJFUSwiVFNfV0FDS19PUFRSRVEifSwKKwl7IFRTX1dBQ0tfQ1JFUSwJIlRTX1dBQ0tfQ1JFUSIJfSwKKwl7IFRTX1dDT05fQ1JFUSwJIlRTX1dDT05fQ1JFUSIJfSwKKwl7IFRTX1dSRVNfQ0lORCwJIlRTX1dSRVNfQ0lORCIJfSwKKwl7IFRTX1dBQ0tfQ1JFUywJIlRTX1dBQ0tfQ1JFUyIJfSwKKwl7IFRTX0RBVEFfWEZFUiwJIlRTX0RBVEFfWEZFUiIJfSwKKwl7IFRTX1dJTkRfT1JEUkVMLCJUU19XSU5EX09SRFJFTCJ9LAorCXsgVFNfV1JFUV9PUkRSRUwsIlRTX1dSRVFfT1JEUkVMIn0sCisJeyBUU19XQUNLX0RSRVE2LCJUU19XQUNLX0RSRVE2Igl9LAorCXsgVFNfV0FDS19EUkVRNywiVFNfV0FDS19EUkVRNyIJfSwKKwl7IFRTX1dBQ0tfRFJFUTksIlRTX1dBQ0tfRFJFUTkiCX0sCisJeyBUU19XQUNLX0RSRVExMCwiVFNfV0FDS19EUkVRMTAifSwKKwl7IFRTX1dBQ0tfRFJFUTExLCJUU19XQUNLX0RSRVExMSJ9LAorCXsgMCwJCU5VTEwJCX0sCit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IHhsYXQgcHJvdmlkZXJfZmxhZ3MgW10gPSB7CisJeyAwLAkJIjAiCQl9LAorCXsgU0VORFpFUk8sCSJTRU5EWkVSTyIJfSwKKwl7IEVYUElOTElORSwJIkVYUElOTElORSIJfSwKKwl7IFhQRzRfMSwJIlhQRzRfMSIJfSwKKwl7IDAsCQlOVUxMCQl9LAorfTsKKworCitzdGF0aWMgY29uc3Qgc3RydWN0IHhsYXQgdGxpX2Vycm9ycyBbXSA9IHsKKwl7IFRCQURBRERSLAkiVEJBREFERFIiCX0sCisJeyBUQkFET1BULAkiVEJBRE9QVCIJfSwKKwl7IFRBQ0NFUywJIlRBQ0NFUyIJfSwKKwl7IFRCQURGLAkiVEJBREYiCQl9LAorCXsgVE5PQUREUiwJIlROT0FERFIiCX0sCisJeyBUT1VUU1RBVEUsCSJUT1VUU1RBVEUiCX0sCisJeyBUQkFEU0VRLAkiVEJBRFNFUSIJfSwKKwl7IFRTWVNFUlIsCSJUU1lTRVJSIgl9LAorCXsgVExPT0ssCSJUTE9PSyIJCX0sCisJeyBUQkFEREFUQSwJIlRCQUREQVRBIgl9LAorCXsgVEJVRk9WRkxXLAkiVEJVRk9WRkxXIgl9LAorCXsgVEZMT1csCSJURkxPVyIJCX0sCisJeyBUTk9EQVRBLAkiVE5PREFUQSIJfSwKKwl7IFROT0RJUywJIlROT0RJUyIJfSwKKwl7IFROT1VERVJSLAkiVE5PVURFUlIiCX0sCisJeyBUQkFERkxBRywJIlRCQURGTEFHIgl9LAorCXsgVE5PUkVMLAkiVE5PUkVMIgl9LAorCXsgVE5PVFNVUFBPUlQsCSJUTk9UU1VQUE9SVCIJfSwKKwl7IFRTVEFURUNITkcsCSJUU1RBVEVDSE5HIgl9LAorCXsgVE5PU1RSVUNUWVBFLAkiVE5PU1RSVUNUWVBFIgl9LAorCXsgVEJBRE5BTUUsCSJUQkFETkFNRSIJfSwKKwl7IFRCQURRTEVOLAkiVEJBRFFMRU4iCX0sCisJeyBUQUREUkJVU1ksCSJUQUREUkJVU1kiCX0sCisJeyBUSU5ET1VULAkiVElORE9VVCIJfSwKKwl7IFRQUk9WTUlTTUFUQ0gsIlRQUk9WTUlTTUFUQ0giCX0sCisJeyBUUkVTUUxFTiwJIlRSRVNRTEVOIgl9LAorCXsgVFJFU0FERFIsCSJUUkVTQUREUiIJfSwKKwl7IFRRRlVMTCwJIlRRRlVMTCIJfSwKKwl7IFRQUk9UTywJIlRQUk9UTyIJfSwKKwl7IDAsCQlOVUxMCQl9LAorfTsKKworCitzdGF0aWMgaW50CitwcmludF90cmFuc3BvcnRfbWVzc2FnZSAodGNwLCBleHBlY3QsIGFkZHIsIGxlbikKK3N0cnVjdCB0Y2IgKnRjcDsKK2ludCBleHBlY3Q7Citsb25nIGFkZHI7CitpbnQgbGVuOworeworCXVuaW9uIFRfcHJpbWl0aXZlcyBtOworCWludCBjID0gMDsKKworCWlmIChsZW4gPCBzaXplb2YgbS50eXBlKSBnb3RvIGR1bXA7CisKKwlpZiAodW1vdmUgKHRjcCwgYWRkciwgJm0udHlwZSkgPCAwKSBnb3RvIGR1bXA7CisKKyNkZWZpbmUgR0VUKHR5cGUsIHN0cnVjdCkJXAorCWRvIHsJCQkJCQkJXAorCQlpZiAobGVuIDwgc2l6ZW9mIG0uc3RydWN0KSBnb3RvIGR1bXA7CQlcCisJCWlmICh1bW92ZSAodGNwLCBhZGRyLCAmbS5zdHJ1Y3QpIDwgMCkgZ290byBkdW1wO1wKKwkJdHByaW50ZiAoInsiKTsJCQkJCVwKKwkJaWYgKGV4cGVjdCAhPSB0eXBlKSB7CQkJCVwKKwkJCSsrYzsJCQkJCVwKKwkJCXRwcmludGYgKCN0eXBlKTsJCQlcCisJCX0JCQkJCQlcCisJfQkJCQkJCQlcCisJd2hpbGUgKDApCisKKyNkZWZpbmUgQ09NTUEoKSBcCisJZG8geyBpZiAoYysrKSB0cHJpbnRmICgiLCAiKTsgfSB3aGlsZSAoMCkKKworCisjZGVmaW5lIFNUUlVDVChzdHJ1Y3QsIGVsZW0sIHByaW50KQkJCQkJXAorCWRvIHsJCQkJCQkJCVwKKwkJQ09NTUEgKCk7CQkJCQkJXAorCQlpZiAobS5zdHJ1Y3QuZWxlbSMjX2xlbmd0aCA8IDAgfHwJCQlcCisJCSAgICBtLnN0cnVjdC5lbGVtIyNfb2Zmc2V0IDwgc2l6ZW9mIG0uc3RydWN0IHx8CQlcCisJCSAgICBtLnN0cnVjdC5lbGVtIyNfb2Zmc2V0ICsgbS5zdHJ1Y3QuZWxlbSMjX2xlbmd0aCA+IGxlbikgXAorCQl7CQkJCQkJCVwKKwkJCXRwcmludGYgKCNlbGVtICJfbGVuZ3RoPSVsZCwgIiAjZWxlbSAiX29mZnNldD0lbGQiLFwKKwkJCQltLnN0cnVjdC5lbGVtIyNfbGVuZ3RoLAkJCVwKKwkJCQltLnN0cnVjdC5lbGVtIyNfb2Zmc2V0KTsJCVwKKwkJfQkJCQkJCQlcCisJCWVsc2UgewkJCQkJCQlcCisJCQl0cHJpbnRmICgjZWxlbSAiPSIpOwkJCQlcCisJCQlwcmludCAodGNwLAkJCQkJXAorCQkJCSBhZGRyICsgbS5zdHJ1Y3QuZWxlbSMjX29mZnNldCwJCVwKKwkJCQkgbS5zdHJ1Y3QuZWxlbSMjX2xlbmd0aCk7CQlcCisJCX0JCQkJCQkJXAorCX0JCQkJCQkJCVwKKwl3aGlsZSAoMCkKKworI2RlZmluZSBBRERSKHN0cnVjdCwgZWxlbSkgU1RSVUNUIChzdHJ1Y3QsIGVsZW0sIHByaW50c3RyKQorCisJc3dpdGNoIChtLnR5cGUpIHsKKyNpZmRlZiBUX0NPTk5fUkVRCisJICAgIGNhc2UgVF9DT05OX1JFUToJLyogY29ubmVjdCByZXF1ZXN0ICAgKi8KKwkJR0VUIChUX0NPTk5fUkVRLCBjb25uX3JlcSk7CisJCUFERFIgKGNvbm5fcmVxLCBERVNUKTsKKwkJQUREUiAoY29ubl9yZXEsIE9QVCk7CisJCWJyZWFrOworI2VuZGlmCisjaWZkZWYgVF9DT05OX1JFUworCSAgICBjYXNlIFRfQ09OTl9SRVM6CS8qIGNvbm5lY3QgcmVzcG9uc2UgICAqLworCQlHRVQgKFRfQ09OTl9SRVMsIGNvbm5fcmVzKTsKKyNpZmRlZiBIQVZFX1NUUlVDVF9UX0NPTk5fUkVTX1FVRVVFX1BUUgorCQlDT01NQSAoKTsKKwkJdHByaW50ZiAoIlFVRVVFPSVwIiwgbS5jb25uX3Jlcy5RVUVVRV9wdHIpOworI2VsaWYgZGVmaW5lZCBIQVZFX1NUUlVDVF9UX0NPTk5fUkVTX0FDQ0VQVE9SX0lECisJCUNPTU1BICgpOworCQl0cHJpbnRmICgiQUNDRVBUT1I9JSNseCIsIG0uY29ubl9yZXMuQUNDRVBUT1JfaWQpOworI2VuZGlmCisJCUFERFIgKGNvbm5fcmVzLCBPUFQpOworCQlDT01NQSAoKTsKKwkJdHByaW50ZiAoIlNFUT0lbGQiLCBtLmNvbm5fcmVzLlNFUV9udW1iZXIpOworCQlicmVhazsKKyNlbmRpZgorI2lmZGVmIFRfRElTQ09OX1JFUQorCSAgICBjYXNlIFRfRElTQ09OX1JFUToJLyogZGlzY29ubmVjdCByZXF1ZXN0ICovCisJCUdFVCAoVF9ESVNDT05fUkVRLCBkaXNjb25fcmVxKTsKKwkJQ09NTUEgKCk7CisJCXRwcmludGYgKCJTRVE9JWxkIiwgbS5kaXNjb25fcmVxLlNFUV9udW1iZXIpOworCQlicmVhazsKKyNlbmRpZgorI2lmZGVmIFRfREFUQV9SRVEKKwkgICAgY2FzZSBUX0RBVEFfUkVROgkvKiBkYXRhIHJlcXVlc3QgICAgICAgKi8KKwkJR0VUIChUX0RBVEFfUkVRLCBkYXRhX3JlcSk7CisJCUNPTU1BICgpOworCQl0cHJpbnRmICgiTU9SRT0lbGQiLCBtLmRhdGFfcmVxLk1PUkVfZmxhZyk7CisJCWJyZWFrOworI2VuZGlmCisjaWZkZWYgVF9FWERBVEFfUkVRCisJICAgIGNhc2UgVF9FWERBVEFfUkVROgkvKiBleHBlZGl0ZWQgZGF0YSByZXEgKi8KKwkJR0VUIChUX0VYREFUQV9SRVEsIGV4ZGF0YV9yZXEpOworCQlDT01NQSAoKTsKKwkJdHByaW50ZiAoIk1PUkU9JWxkIiwgbS5leGRhdGFfcmVxLk1PUkVfZmxhZyk7CisJCWJyZWFrOworI2VuZGlmCisjaWZkZWYgVF9JTkZPX1JFUQorCSAgICBjYXNlIFRfSU5GT19SRVE6CS8qIGluZm9ybWF0aW9uIHJlcSAgICAqLworCQlHRVQgKFRfSU5GT19SRVEsIGluZm9fcmVxKTsKKwkJYnJlYWs7CisjZW5kaWYKKyNpZmRlZiBUX0JJTkRfUkVRCisJICAgIGNhc2UgVF9CSU5EX1JFUToJLyogYmluZCByZXF1ZXN0ICAgICAgICovCisjaWZkZWYgT19UX0JJTkRfUkVRCisJICAgIGNhc2UgT19UX0JJTkRfUkVROgkvKiBVZ2x5IHh0aS90bGkgaGFjayAqLworI2VuZGlmCisJCUdFVCAoVF9CSU5EX1JFUSwgYmluZF9yZXEpOworCQlBRERSIChiaW5kX3JlcSwgQUREUik7CisJCUNPTU1BICgpOworCQl0cHJpbnRmICgiQ09OSU5EPSVsZCIsIG0uYmluZF9yZXEuQ09OSU5EX251bWJlcik7CisJCWJyZWFrOworI2VuZGlmCisjaWZkZWYgVF9VTkJJTkRfUkVRCisJICAgIGNhc2UgVF9VTkJJTkRfUkVROgkvKiB1bmJpbmQgcmVxdWVzdCAgICAgKi8KKwkJR0VUIChUX1VOQklORF9SRVEsIHVuYmluZF9yZXEpOworCQlicmVhazsKKyNlbmRpZgorI2lmZGVmIFRfVU5JVERBVEFfUkVRCisJICAgIGNhc2UgVF9VTklUREFUQV9SRVE6CS8qIHVuaXRkYXRhIHJlcXVzZXQgICAqLworCQlHRVQgKFRfVU5JVERBVEFfUkVRLCB1bml0ZGF0YV9yZXEpOworCQlBRERSICh1bml0ZGF0YV9yZXEsIERFU1QpOworCQlBRERSICh1bml0ZGF0YV9yZXEsIE9QVCk7CisJCWJyZWFrOworI2VuZGlmCisjaWZkZWYgVF9PUFRNR01UX1JFUQorCSAgICBjYXNlIFRfT1BUTUdNVF9SRVE6CS8qIG1hbmFnZSBvcHQgcmVxICAgICAqLworCQlHRVQgKFRfT1BUTUdNVF9SRVEsIG9wdG1nbXRfcmVxKTsKKwkJQ09NTUEgKCk7CisJCXRwcmludGYgKCJNR01UPSIpOworCQlwcmludGZsYWdzICh0cmFuc3BvcnRfdXNlcl9mbGFncywgbS5vcHRtZ210X3JlcS5NR01UX2ZsYWdzLAorCQkJICAgICJUXz8/PyIpOworCQlTVFJVQ1QgKG9wdG1nbXRfcmVxLCBPUFQsIHByaW50X29wdG1nbXQpOworCQlicmVhazsKKyNlbmRpZgorI2lmZGVmIFRfT1JEUkVMX1JFUQorCSAgICBjYXNlIFRfT1JEUkVMX1JFUToJLyogb3JkZXJseSByZWwgcmVxICAgICovCisJCUdFVCAoVF9PUkRSRUxfUkVRLCBvcmRyZWxfcmVxKTsKKwkJYnJlYWs7CisjZW5kaWYKKyNpZmRlZiBUX0NPTk5fSU5ECisJICAgIGNhc2UgVF9DT05OX0lORDoJLyogY29ubmVjdCBpbmRpY2F0aW9uICovCisJCUdFVCAoVF9DT05OX0lORCwgY29ubl9pbmQpOworCQlBRERSIChjb25uX2luZCwgU1JDKTsKKwkJQUREUiAoY29ubl9pbmQsIE9QVCk7CisJCXRwcmludGYgKCIsIFNFUT0lbGQiLCBtLmNvbm5faW5kLlNFUV9udW1iZXIpOworCQlicmVhazsKKyNlbmRpZgorI2lmZGVmIFRfQ09OTl9DT04KKwkgICAgY2FzZSBUX0NPTk5fQ09OOgkvKiBjb25uZWN0IGNvcmZpcm0gICAgKi8KKwkJR0VUIChUX0NPTk5fQ09OLCBjb25uX2Nvbik7CisJCUFERFIgKGNvbm5fY29uLCBSRVMpOworCQlBRERSIChjb25uX2NvbiwgT1BUKTsKKwkJYnJlYWs7CisjZW5kaWYKKyNpZmRlZiBUX0RJU0NPTl9JTkQKKwkgICAgY2FzZSBUX0RJU0NPTl9JTkQ6CS8qIGRpc2NvbiBpbmRpY2F0aW9uICAqLworCQlHRVQgKFRfRElTQ09OX0lORCwgZGlzY29uX2luZCk7CisJCUNPTU1BICgpOworCQl0cHJpbnRmICgiRElTQ09OPSVsZCwgU0VRPSVsZCIsCisJCQkgbS5kaXNjb25faW5kLkRJU0NPTl9yZWFzb24sIG0uZGlzY29uX2luZC5TRVFfbnVtYmVyKTsKKwkJYnJlYWs7CisjZW5kaWYKKyNpZmRlZiBUX0RBVEFfSU5ECisJICAgIGNhc2UgVF9EQVRBX0lORDoJLyogZGF0YSBpbmRpY2F0aW9uICAgICovCisJCUdFVCAoVF9EQVRBX0lORCwgZGF0YV9pbmQpOworCQlDT01NQSAoKTsKKwkJdHByaW50ZiAoIk1PUkU9JWxkIiwgbS5kYXRhX2luZC5NT1JFX2ZsYWcpOworCQlicmVhazsKKyNlbmRpZgorI2lmZGVmIFRfRVhEQVRBX0lORAorCSAgICBjYXNlIFRfRVhEQVRBX0lORDoJLyogZXhwZWRpdGVkIGRhdGEgaW5kICovCisJCUdFVCAoVF9FWERBVEFfSU5ELCBleGRhdGFfaW5kKTsKKwkJQ09NTUEgKCk7CisJCXRwcmludGYgKCJNT1JFPSVsZCIsIG0uZXhkYXRhX2luZC5NT1JFX2ZsYWcpOworCQlicmVhazsKKyNlbmRpZgorI2lmZGVmIFRfSU5GT19BQ0sKKwkgICAgY2FzZSBUX0lORk9fQUNLOgkvKiBpbmZvIGFjayAgICAgICAgICAgKi8KKwkJR0VUIChUX0lORk9fQUNLLCBpbmZvX2Fjayk7CisJCUNPTU1BICgpOworCQl0cHJpbnRmICgiVFNEVT0lbGQsIEVUU0RVPSVsZCwgQ0RBVEE9JWxkLCBEREFUQT0lbGQsICIKKwkJCSAiQUREUj0lbGQsIE9QVD0lbGQsIFRJRFU9JWxkLCBTRVJWPSIsCisJCQkgbS5pbmZvX2Fjay5UU0RVX3NpemUsIG0uaW5mb19hY2suRVRTRFVfc2l6ZSwKKwkJCSBtLmluZm9fYWNrLkNEQVRBX3NpemUsIG0uaW5mb19hY2suRERBVEFfc2l6ZSwKKwkJCSBtLmluZm9fYWNrLkFERFJfc2l6ZSwgbS5pbmZvX2Fjay5PUFRfc2l6ZSwKKwkJCSBtLmluZm9fYWNrLlRJRFVfc2l6ZSk7CisJCXByaW50eHZhbCAoc2VydmljZV90eXBlLCBtLmluZm9fYWNrLlNFUlZfdHlwZSwgIlRfPz8/Iik7CisJCXRwcmludGYgKCIsIENVUlJFTlQ9Iik7CisJCXByaW50eHZhbCAodHNfc3RhdGUsIG0uaW5mb19hY2suQ1VSUkVOVF9zdGF0ZSwgIlRTXz8/PyIpOworCQl0cHJpbnRmICgiLCBQUk9WSURFUj0iKTsKKwkJcHJpbnRmbGFncyAocHJvdmlkZXJfZmxhZ3MsIG0uaW5mb19hY2suUFJPVklERVJfZmxhZywgIj8/PyIpOworCQlicmVhazsKKyNlbmRpZgorI2lmZGVmIFRfQklORF9BQ0sKKwkgICAgY2FzZSBUX0JJTkRfQUNLOgkvKiBiaW5kIGFjayAgICAgICAgICAgKi8KKwkJR0VUIChUX0JJTkRfQUNLLCBiaW5kX2Fjayk7CisJCUFERFIgKGJpbmRfYWNrLCBBRERSKTsKKwkJdHByaW50ZiAoIiwgQ09OSU5EPSVsZCIsIG0uYmluZF9hY2suQ09OSU5EX251bWJlcik7CisJCWJyZWFrOworI2VuZGlmCisjaWZkZWYgVF9FUlJPUl9BQ0sKKwkgICAgY2FzZSBUX0VSUk9SX0FDSzoJLyogZXJyb3IgYWNrICAgICAgICAgICovCisJCUdFVCAoVF9FUlJPUl9BQ0ssIGVycm9yX2Fjayk7CisJCUNPTU1BICgpOworCQl0cHJpbnRmICgiRVJST1I9Iik7CisJCXByaW50eHZhbCAodHJhbnNwb3J0X3VzZXJfb3B0aW9ucywKKwkJCSAgIG0uZXJyb3JfYWNrLkVSUk9SX3ByaW0sICJUSV8/Pz8iKTsKKwkJdHByaW50ZiAoIiwgVExJPSIpOworCQlwcmludHh2YWwgKHRsaV9lcnJvcnMsIG0uZXJyb3JfYWNrLlRMSV9lcnJvciwgIlQ/Pz8iKTsKKwkJdHByaW50ZiAoIlVOSVg9JXMiLCBzdHJlcnJvciAobS5lcnJvcl9hY2suVU5JWF9lcnJvcikpOworCQlicmVhazsKKyNlbmRpZgorI2lmZGVmIFRfT0tfQUNLCisJICAgIGNhc2UgVF9PS19BQ0s6CS8qIG9rIGFjayAgICAgICAgICAgICAqLworCQlHRVQgKFRfT0tfQUNLLCBva19hY2spOworCQlDT01NQSAoKTsKKwkJdHByaW50ZiAoIkNPUlJFQ1Q9Iik7CisJCXByaW50eHZhbCAodHJhbnNwb3J0X3VzZXJfb3B0aW9ucywKKwkJCSAgIG0ub2tfYWNrLkNPUlJFQ1RfcHJpbSwgIlRJXz8/PyIpOworCQlicmVhazsKKyNlbmRpZgorI2lmZGVmIFRfVU5JVERBVEFfSU5ECisJICAgIGNhc2UgVF9VTklUREFUQV9JTkQ6CS8qIHVuaXRkYXRhIGluZCAgICAgICAqLworCQlHRVQgKFRfVU5JVERBVEFfSU5ELCB1bml0ZGF0YV9pbmQpOworCQlBRERSICh1bml0ZGF0YV9pbmQsIFNSQyk7CisJCUFERFIgKHVuaXRkYXRhX2luZCwgT1BUKTsKKwkJYnJlYWs7CisjZW5kaWYKKyNpZmRlZiBUX1VERVJST1JfSU5ECisJICAgIGNhc2UgVF9VREVSUk9SX0lORDoJLyogdW5pdGRhdGEgZXJyb3IgaW5kICovCisJCUdFVCAoVF9VREVSUk9SX0lORCwgdWRlcnJvcl9pbmQpOworCQlBRERSICh1ZGVycm9yX2luZCwgREVTVCk7CisJCUFERFIgKHVkZXJyb3JfaW5kLCBPUFQpOworCQl0cHJpbnRmICgiLCBFUlJPUj0lbGQiLCBtLnVkZXJyb3JfaW5kLkVSUk9SX3R5cGUpOworCQlicmVhazsKKyNlbmRpZgorI2lmZGVmIFRfT1BUTUdNVF9BQ0sKKwkgICAgY2FzZSBUX09QVE1HTVRfQUNLOgkvKiBtYW5hZ2Ugb3B0IGFjayAgICAgKi8KKwkJR0VUIChUX09QVE1HTVRfQUNLLCBvcHRtZ210X2Fjayk7CisJCUNPTU1BICgpOworCQl0cHJpbnRmICgiTUdNVD0iKTsKKwkJcHJpbnRmbGFncyAodHJhbnNwb3J0X3VzZXJfZmxhZ3MsIG0ub3B0bWdtdF9hY2suTUdNVF9mbGFncywKKwkJCSAgICAiVF8/Pz8iKTsKKwkJU1RSVUNUIChvcHRtZ210X2FjaywgT1BULCBwcmludF9vcHRtZ210KTsKKwkJYnJlYWs7CisjZW5kaWYKKyNpZmRlZiBUX09SRFJFTF9JTkQKKwljYXNlIFRfT1JEUkVMX0lORDoJLyogb3JkZXJseSByZWwgaW5kICAgICovCisJCUdFVCAoVF9PUkRSRUxfSU5ELCBvcmRyZWxfaW5kKTsKKwkJYnJlYWs7CisjZW5kaWYKKyNpZmRlZiBUX0FERFJfUkVRCisJICAgIGNhc2UgVF9BRERSX1JFUToJLyogYWRkcmVzcyByZXEgICAgICAgICovCisJCUdFVCAoVF9BRERSX1JFUSwgYWRkcl9yZXEpOworCQlicmVhazsKKyNlbmRpZgorI2lmZGVmIFRfQUREUl9BQ0sKKwkgICAgY2FzZSBUX0FERFJfQUNLOgkvKiBhZGRyZXNzIHJlc3BvbnNlICAgKi8KKwkJR0VUIChUX0FERFJfQUNLLCBhZGRyX2Fjayk7CisJCUFERFIgKGFkZHJfYWNrLCBMT0NBRERSKTsKKwkJQUREUiAoYWRkcl9hY2ssIFJFTUFERFIpOworCQlicmVhazsKKyNlbmRpZgorCSAgICBkZWZhdWx0OgorCSAgICBkdW1wOgorCQljID0gLTE7CisJCXByaW50c3RyKHRjcCwgYWRkciwgbGVuKTsKKwkJYnJlYWs7CisJfQorCisJaWYgKGMgPj0gMCkgdHByaW50ZiAoIn0iKTsKKworI3VuZGVmIEFERFIKKyN1bmRlZiBDT01NQQorI3VuZGVmIFNUUlVDVAorCisJcmV0dXJuIDA7Cit9CisKKworI2VuZGlmIC8qIFRJX0JJTkQgKi8KKworCitzdGF0aWMgaW50IGludGVybmFsX3N0cmVhbV9pb2N0bChzdHJ1Y3QgdGNiICp0Y3AsIGludCBhcmcpCit7CisJc3RydWN0IHN0cmlvY3RsIHNpOworCXN0cnVjdCBpb2N0bGVudCAqaW9wOworCWludCBpbl9hbmRfb3V0OworCWludCB0aW1vZCA9IDA7CisjaWZkZWYgU0lfR0VUVURBVEEKKwlzdHJ1Y3Qgc2lfdWRhdGEgdWRhdGE7CisjZW5kaWYgLyogU0lfR0VUVURBVEEgKi8KKworCWlmICghYXJnKQorCQlyZXR1cm4gMDsKKwlpZiAodW1vdmUodGNwLCBhcmcsICZzaSkgPCAwKSB7CisJCWlmIChlbnRlcmluZyh0Y3ApKQorCQkJdHByaW50ZigiLCB7Li4ufSIpOworCQlyZXR1cm4gMTsKKwl9CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJaW9wID0gaW9jdGxfbG9va3VwKHNpLmljX2NtZCk7CisJCWlmIChpb3ApIHsKKwkJCXRwcmludGYoIiwge2ljX2NtZD0lcyIsIGlvcC0+c3ltYm9sKTsKKwkJCXdoaWxlICgoaW9wID0gaW9jdGxfbmV4dF9tYXRjaChpb3ApKSkKKwkJCQl0cHJpbnRmKCIgb3IgJXMiLCBpb3AtPnN5bWJvbCk7CisJCX0gZWxzZQorCQkJdHByaW50ZigiLCB7aWNfY21kPSUjeCIsIHNpLmljX2NtZCk7CisJCWlmIChzaS5pY190aW1vdXQgPT0gSU5GVElNKQorCQkJdHByaW50ZigiLCBpY190aW1vdXQ9SU5GVElNLCAiKTsKKwkJZWxzZQorCQkJdHByaW50ZigiIGljX3RpbW91dD0lZCwgIiwgc2kuaWNfdGltb3V0KTsKKwl9CisJaW5fYW5kX291dCA9IDE7CisJc3dpdGNoIChzaS5pY19jbWQpIHsKKyNpZmRlZiBTSV9HRVRVREFUQQorCWNhc2UgU0lfR0VUVURBVEE6CisJCWluX2FuZF9vdXQgPSAwOworCQlicmVhazsKKyNlbmRpZiAvKiBTSV9HRVRVREFUQSAqLworCX0KKwlpZiAoaW5fYW5kX291dCkgeworCQlpZiAoZW50ZXJpbmcodGNwKSkKKwkJCXRwcmludGYoIi8qIGluICovICIpOworCQllbHNlCisJCQl0cHJpbnRmKCIsIC8qIG91dCAqLyAiKTsKKwl9CisJaWYgKGluX2FuZF9vdXQgfHwgZW50ZXJpbmcodGNwKSkKKwkJdHByaW50ZigiaWNfbGVuPSVkLCBpY19kcD0iLCBzaS5pY19sZW4pOworCXN3aXRjaCAoc2kuaWNfY21kKSB7CisjaWZkZWYgVElfQklORAorCWNhc2UgVElfQklORDoKKwkJLyogaW4gVF9CSU5EX1JFUSwgb3V0IFRfQklORF9BQ0sgKi8KKwkJKyt0aW1vZDsKKwkJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJCXByaW50X3RyYW5zcG9ydF9tZXNzYWdlICh0Y3AsCisJCQkJCQkgVF9CSU5EX1JFUSwKKwkJCQkJCSBzaS5pY19kcCwgc2kuaWNfbGVuKTsKKwkJfQorCQllbHNlIHsKKwkJCXByaW50X3RyYW5zcG9ydF9tZXNzYWdlICh0Y3AsCisJCQkJCQkgVF9CSU5EX0FDSywKKwkJCQkJCSBzaS5pY19kcCwgc2kuaWNfbGVuKTsKKwkJfQorCQlicmVhazsKKyNlbmRpZiAvKiBUSV9CSU5EICovCisjaWZkZWYgVElfVU5CSU5ECisJY2FzZSBUSV9VTkJJTkQ6CisJCS8qIGluIFRfVU5CSU5EX1JFUSwgb3V0IFRfT0tfQUNLICovCisJCSsrdGltb2Q7CisJCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCQlwcmludF90cmFuc3BvcnRfbWVzc2FnZSAodGNwLAorCQkJCQkJIFRfVU5CSU5EX1JFUSwKKwkJCQkJCSBzaS5pY19kcCwgc2kuaWNfbGVuKTsKKwkJfQorCQllbHNlIHsKKwkJCXByaW50X3RyYW5zcG9ydF9tZXNzYWdlICh0Y3AsCisJCQkJCQkgVF9PS19BQ0ssCisJCQkJCQkgc2kuaWNfZHAsIHNpLmljX2xlbik7CisJCX0KKwkJYnJlYWs7CisjZW5kaWYgLyogVElfVU5CSU5EICovCisjaWZkZWYgVElfR0VUSU5GTworCWNhc2UgVElfR0VUSU5GTzoKKwkJLyogaW4gVF9JTkZPX1JFUSwgb3V0IFRfSU5GT19BQ0sgKi8KKwkJKyt0aW1vZDsKKwkJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJCXByaW50X3RyYW5zcG9ydF9tZXNzYWdlICh0Y3AsCisJCQkJCQkgVF9JTkZPX1JFUSwKKwkJCQkJCSBzaS5pY19kcCwgc2kuaWNfbGVuKTsKKwkJfQorCQllbHNlIHsKKwkJCXByaW50X3RyYW5zcG9ydF9tZXNzYWdlICh0Y3AsCisJCQkJCQkgVF9JTkZPX0FDSywKKwkJCQkJCSBzaS5pY19kcCwgc2kuaWNfbGVuKTsKKwkJfQorCQlicmVhazsKKyNlbmRpZiAvKiBUSV9HRVRJTkZPICovCisjaWZkZWYgVElfT1BUTUdNVAorCWNhc2UgVElfT1BUTUdNVDoKKwkJLyogaW4gVF9PUFRNR01UX1JFUSwgb3V0IFRfT1BUTUdNVF9BQ0sgKi8KKwkJKyt0aW1vZDsKKwkJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJCXByaW50X3RyYW5zcG9ydF9tZXNzYWdlICh0Y3AsCisJCQkJCQkgVF9PUFRNR01UX1JFUSwKKwkJCQkJCSBzaS5pY19kcCwgc2kuaWNfbGVuKTsKKwkJfQorCQllbHNlIHsKKwkJCXByaW50X3RyYW5zcG9ydF9tZXNzYWdlICh0Y3AsCisJCQkJCQkgVF9PUFRNR01UX0FDSywKKwkJCQkJCSBzaS5pY19kcCwgc2kuaWNfbGVuKTsKKwkJfQorCQlicmVhazsKKyNlbmRpZiAvKiBUSV9PUFRNR01UICovCisjaWZkZWYgU0lfR0VUVURBVEEKKwljYXNlIFNJX0dFVFVEQVRBOgorCQlpZiAoZW50ZXJpbmcodGNwKSkKKwkJCWJyZWFrOworCQlpZiAodW1vdmUodGNwLCAoaW50KSBzaS5pY19kcCwgJnVkYXRhKSA8IDApCisJCQl0cHJpbnRmKCJ7Li4ufSIpOworCQllbHNlIHsKKwkJCXRwcmludGYoInt0aWR1c2l6ZT0lZCwgYWRkcnNpemU9JWQsICIsCisJCQkJdWRhdGEudGlkdXNpemUsIHVkYXRhLmFkZHJzaXplKTsKKwkJCXRwcmludGYoIm9wdHNpemU9JWQsIGV0c2R1c2l6ZT0lZCwgIiwKKwkJCQl1ZGF0YS5vcHRzaXplLCB1ZGF0YS5ldHNkdXNpemUpOworCQkJdHByaW50Zigic2VydnR5cGU9JWQsIHNvX3N0YXRlPSVkLCAiLAorCQkJCXVkYXRhLnNlcnZ0eXBlLCB1ZGF0YS5zb19zdGF0ZSk7CisJCQl0cHJpbnRmKCJzb19vcHRpb25zPSVkIiwgdWRhdGEuc29fb3B0aW9ucyk7CisJCQl0cHJpbnRmKCJ9Iik7CisJCX0KKwkJYnJlYWs7CisjZW5kaWYgLyogU0lfR0VUVURBVEEgKi8KKwlkZWZhdWx0OgorCQlwcmludHN0cih0Y3AsIChsb25nKSBzaS5pY19kcCwgc2kuaWNfbGVuKTsKKwkJYnJlYWs7CisJfQorCWlmIChleGl0aW5nKHRjcCkpIHsKKwkJdHByaW50ZigifSIpOworCQlpZiAodGltb2QgJiYgdGNwLT51X3J2YWwgJiYgIXN5c2Vycm9yKHRjcCkpIHsKKwkJCXRjcC0+YXV4c3RyID0geGxvb2t1cCAodGxpX2Vycm9ycywgdGNwLT51X3J2YWwpOworCQkJcmV0dXJuIFJWQUxfU1RSICsgMTsKKwkJfQorCX0KKworCXJldHVybiAxOworfQorCitpbnQKK3N0cmVhbV9pb2N0bCh0Y3AsIGNvZGUsIGFyZykKK3N0cnVjdCB0Y2IgKnRjcDsKK2ludCBjb2RlLCBhcmc7Cit7CisjaWZkZWYgSV9MSVNUCisJaW50IGk7CisjZW5kaWYKKwlpbnQgdmFsOworI2lmZGVmIElfRkxVU0hCQU5ECisJc3RydWN0IGJhbmRpbmZvIGJpOworI2VuZGlmCisJc3RydWN0IHN0cnBlZWsgc3A7CisJc3RydWN0IHN0cmZkaW5zZXJ0IHNmaTsKKwlzdHJ1Y3Qgc3RycmVjdmZkIHNyZjsKKyNpZmRlZiBJX0xJU1QKKwlzdHJ1Y3Qgc3RyX2xpc3Qgc2w7CisjZW5kaWYKKworCS8qIElfU1RSIGlzIGEgc3BlY2lhbCBjYXNlIGJlY2F1c2UgdGhlIGRhdGEgaXMgcmVhZCAmIHdyaXR0ZW4uICovCisJaWYgKGNvZGUgPT0gSV9TVFIpCisJCXJldHVybiBpbnRlcm5hbF9zdHJlYW1faW9jdGwodGNwLCBhcmcpOworCWlmIChlbnRlcmluZyh0Y3ApKQorCQlyZXR1cm4gMDsKKworCXN3aXRjaCAoY29kZSkgeworCWNhc2UgSV9QVVNIOgorCWNhc2UgSV9MT09LOgorCWNhc2UgSV9GSU5EOgorCQkvKiBhcmcgaXMgYSBzdHJpbmcgKi8KKwkJdHByaW50ZigiLCAiKTsKKwkJcHJpbnRwYXRoKHRjcCwgYXJnKTsKKwkJcmV0dXJuIDE7CisJY2FzZSBJX1BPUDoKKwkJLyogZG9lc24ndCB0YWtlIGFuIGFyZ3VtZW50ICovCisJCXJldHVybiAxOworCWNhc2UgSV9GTFVTSDoKKwkJLyogYXJndW1lbnQgaXMgYW4gb3B0aW9uICovCisJCXRwcmludGYoIiwgIik7CisJCXByaW50eHZhbChzdHJlYW1fZmx1c2hfb3B0aW9ucywgYXJnLCAiRkxVU0g/Pz8iKTsKKwkJcmV0dXJuIDE7CisjaWZkZWYgSV9GTFVTSEJBTkQKKwljYXNlIElfRkxVU0hCQU5EOgorCQkvKiBhcmd1bWVudCBpcyBhIHBvaW50ZXIgdG8gYSBiYW5kaW5mbyBzdHJ1Y3QgKi8KKwkJaWYgKHVtb3ZlKHRjcCwgYXJnLCAmYmkpIDwgMCkKKwkJCXRwcmludGYoIiwgey4uLn0iKTsKKwkJZWxzZSB7CisJCQl0cHJpbnRmKCIsIHtiaV9wcmk9JWQsIGJpX2ZsYWc9IiwgYmkuYmlfcHJpKTsKKwkJCXByaW50ZmxhZ3Moc3RyZWFtX2ZsdXNoX29wdGlvbnMsIGJpLmJpX2ZsYWcsICJGTFVTSD8/PyIpOworCQkJdHByaW50ZigifSIpOworCQl9CisJCXJldHVybiAxOworI2VuZGlmIC8qIElfRkxVU0hCQU5EICovCisJY2FzZSBJX1NFVFNJRzoKKwkJLyogYXJndW1lbnQgaXMgYSBzZXQgb2YgZmxhZ3MgKi8KKwkJdHByaW50ZigiLCAiKTsKKwkJcHJpbnRmbGFncyhzdHJlYW1fc2V0c2lnX2ZsYWdzLCBhcmcsICJTXz8/PyIpOworCQlyZXR1cm4gMTsKKwljYXNlIElfR0VUU0lHOgorCQkvKiBhcmd1bWVudCBpcyBhIHBvaW50ZXIgdG8gYSBzZXQgb2YgZmxhZ3MgKi8KKwkJaWYgKHN5c2Vycm9yKHRjcCkpCisJCQlyZXR1cm4gMDsKKwkJdHByaW50ZigiLCBbIik7CisJCWlmICh1bW92ZSh0Y3AsIGFyZywgJnZhbCkgPCAwKQorCQkJdHByaW50ZigiPyIpOworCQllbHNlCisJCQlwcmludGZsYWdzKHN0cmVhbV9zZXRzaWdfZmxhZ3MsIHZhbCwgIlNfPz8/Iik7CisJCXRwcmludGYoIl0iKTsKKwkJcmV0dXJuIDE7CisJY2FzZSBJX1BFRUs6CisJCS8qIGFyZ3VtZW50IGlzIGEgcG9pbnRlciB0byBhIHN0cnBlZWsgc3RydWN0dXJlICovCisJCWlmIChzeXNlcnJvcih0Y3ApIHx8ICFhcmcpCisJCQlyZXR1cm4gMDsKKwkJaWYgKHVtb3ZlKHRjcCwgYXJnLCAmc3ApIDwgMCkgeworCQkJdHByaW50ZigiLCB7Li4ufSIpOworCQkJcmV0dXJuIDE7CisJCX0KKwkJdHByaW50ZigiLCB7Y3RsYnVmPSIpOworCQlwcmludHN0cmJ1Zih0Y3AsICZzcC5jdGxidWYsIDEpOworCQl0cHJpbnRmKCIsIGRhdGFidWY9Iik7CisJCXByaW50c3RyYnVmKHRjcCwgJnNwLmRhdGFidWYsIDEpOworCQl0cHJpbnRmKCIsIGZsYWdzPSIpOworCQlwcmludGZsYWdzKG1zZ2ZsYWdzLCBzcC5mbGFncywgIlJTXz8/PyIpOworCQl0cHJpbnRmKCJ9Iik7CisJCXJldHVybiAxOworCWNhc2UgSV9TUkRPUFQ6CisJCS8qIGFyZ3VtZW50IGlzIGFuIG9wdGlvbiB3aXRoIGZsYWdzICovCisJCXRwcmludGYoIiwgIik7CisJCXByaW50eHZhbChzdHJlYW1fcmVhZF9vcHRpb25zLCBhcmcgJiBSTU9ERU1BU0ssICJSPz8/Iik7CisJCWFkZGZsYWdzKHN0cmVhbV9yZWFkX2ZsYWdzLCBhcmcgJiB+Uk1PREVNQVNLKTsKKwkJcmV0dXJuIDE7CisJY2FzZSBJX0dSRE9QVDoKKwkJLyogYXJndW1lbnQgaXMgYW4gcG9pbnRlciB0byBhbiBvcHRpb24gd2l0aCBmbGFncyAqLworCQlpZiAoc3lzZXJyb3IodGNwKSkKKwkJCXJldHVybiAwOworCQl0cHJpbnRmKCIsIFsiKTsKKwkJaWYgKHVtb3ZlKHRjcCwgYXJnLCAmdmFsKSA8IDApCisJCQl0cHJpbnRmKCI/Iik7CisJCWVsc2UgeworCQkJcHJpbnR4dmFsKHN0cmVhbV9yZWFkX29wdGlvbnMsCisJCQkJICBhcmcgJiBSTU9ERU1BU0ssICJSPz8/Iik7CisJCQlhZGRmbGFncyhzdHJlYW1fcmVhZF9mbGFncywgYXJnICYgflJNT0RFTUFTSyk7CisJCX0KKwkJdHByaW50ZigiXSIpOworCQlyZXR1cm4gMTsKKwljYXNlIElfTlJFQUQ6CisjaWZkZWYgSV9HRVRCQU5ECisJY2FzZSBJX0dFVEJBTkQ6CisjZW5kaWYKKyNpZmRlZiBJX1NFVENMVElNRQorCWNhc2UgSV9TRVRDTFRJTUU6CisjZW5kaWYKKyNpZmRlZiBJX0dFVENMVElNRQorCWNhc2UgSV9HRVRDTFRJTUU6CisjZW5kaWYKKwkJLyogYXJndW1lbnQgaXMgYSBwb2ludGVyIHRvIGEgZGVjaW1hbCBpbnRlZ2VyICovCisJCWlmIChzeXNlcnJvcih0Y3ApKQorCQkJcmV0dXJuIDA7CisJCXRwcmludGYoIiwgIik7CisJCXByaW50bnVtKHRjcCwgYXJnLCAiJWQiKTsKKwkJcmV0dXJuIDE7CisJY2FzZSBJX0ZESU5TRVJUOgorCQkvKiBhcmd1bWVudCBpcyBhIHBvaW50ZXIgdG8gYSBzdHJmZGluc2VydCBzdHJ1Y3R1cmUgKi8KKwkJaWYgKHN5c2Vycm9yKHRjcCkgfHwgIWFyZykKKwkJCXJldHVybiAwOworCQlpZiAodW1vdmUodGNwLCBhcmcsICZzZmkpIDwgMCkgeworCQkJdHByaW50ZigiLCB7Li4ufSIpOworCQkJcmV0dXJuIDE7CisJCX0KKwkJdHByaW50ZigiLCB7Y3RsYnVmPSIpOworCQlwcmludHN0cmJ1Zih0Y3AsICZzZmkuY3RsYnVmLCAxKTsKKwkJdHByaW50ZigiLCBkYXRhYnVmPSIpOworCQlwcmludHN0cmJ1Zih0Y3AsICZzZmkuZGF0YWJ1ZiwgMSk7CisJCXRwcmludGYoIiwgZmxhZ3M9Iik7CisJCXByaW50ZmxhZ3MobXNnZmxhZ3MsIHNmaS5mbGFncywgIlJTXz8/PyIpOworCQl0cHJpbnRmKCIsIGZpbGVkZXM9JWQsIG9mZnNldD0lZH0iLCBzZmkuZmlsZGVzLCBzZmkub2Zmc2V0KTsKKwkJcmV0dXJuIDE7CisjaWZkZWYgSV9TV1JPUFQKKwljYXNlIElfU1dST1BUOgorCQkvKiBhcmd1bWVudCBpcyBhIHNldCBvZiBmbGFncyAqLworCQl0cHJpbnRmKCIsICIpOworCQlwcmludGZsYWdzKHN0cmVhbV93cml0ZV9mbGFncywgYXJnLCAiU05EPz8/Iik7CisJCXJldHVybiAxOworI2VuZGlmIC8qIElfU1dST1BUICovCisjaWZkZWYgSV9HV1JPUFQKKwljYXNlIElfR1dST1BUOgorCQkvKiBhcmd1bWVudCBpcyBhbiBwb2ludGVyIHRvIGFuIG9wdGlvbiB3aXRoIGZsYWdzICovCisJCWlmIChzeXNlcnJvcih0Y3ApKQorCQkJcmV0dXJuIDA7CisJCXRwcmludGYoIiwgWyIpOworCQlpZiAodW1vdmUodGNwLCBhcmcsICZ2YWwpIDwgMCkKKwkJCXRwcmludGYoIj8iKTsKKwkJZWxzZQorCQkJcHJpbnRmbGFncyhzdHJlYW1fd3JpdGVfZmxhZ3MsIGFyZywgIlNORD8/PyIpOworCQl0cHJpbnRmKCJdIik7CisJCXJldHVybiAxOworI2VuZGlmIC8qIElfR1dST1BUICovCisJY2FzZSBJX1NFTkRGRDoKKyNpZmRlZiBJX0NLQkFORAorCWNhc2UgSV9DS0JBTkQ6CisjZW5kaWYKKyNpZmRlZiBJX0NBTlBVVAorCWNhc2UgSV9DQU5QVVQ6CisjZW5kaWYKKwljYXNlIElfTElOSzoKKwljYXNlIElfVU5MSU5LOgorCWNhc2UgSV9QTElOSzoKKwljYXNlIElfUFVOTElOSzoKKwkJLyogYXJndW1lbnQgaXMgYSBkZWNpbWFsIGludGVnZXIgKi8KKwkJdHByaW50ZigiLCAlZCIsIGFyZyk7CisJCXJldHVybiAxOworCWNhc2UgSV9SRUNWRkQ6CisJCS8qIGFyZ3VtZW50IGlzIGEgcG9pbnRlciB0byBhIHN0cnJlY3ZmZCBzdHJ1Y3R1cmUgKi8KKwkJaWYgKHN5c2Vycm9yKHRjcCkgfHwgIWFyZykKKwkJCXJldHVybiAwOworCQlpZiAodW1vdmUodGNwLCBhcmcsICZzcmYpIDwgMCkgeworCQkJdHByaW50ZigiLCB7Li4ufSIpOworCQkJcmV0dXJuIDE7CisJCX0KKwkJdHByaW50ZigiLCB7ZmQ9JWQsIHVpZD0lbHUsIGdpZD0lbHV9Iiwgc3JmLmZkLAorCQkJKHVuc2lnbmVkIGxvbmcpIHNyZi51aWQsICh1bnNpZ25lZCBsb25nKSBzcmYuZ2lkKTsKKwkJcmV0dXJuIDE7CisjaWZkZWYgSV9MSVNUCisJY2FzZSBJX0xJU1Q6CisJCWlmIChzeXNlcnJvcih0Y3ApKQorCQkJcmV0dXJuIDA7CisJCWlmIChhcmcgPT0gMCkgeworCQkJdHByaW50ZigiLCBOVUxMIik7CisJCQlyZXR1cm4gMTsKKwkJfQorCQlpZiAodW1vdmUodGNwLCBhcmcsICZzbCkgPCAwKSB7CisJCQl0cHJpbnRmKCIsIHsuLi59Iik7CisJCQlyZXR1cm4gMTsKKwkJfQorCQl0cHJpbnRmKCIsIHtzbF9ubW9kcz0lZCwgc2xfbW9kbGlzdD1bIiwgc2wuc2xfbm1vZHMpOworCQlmb3IgKGkgPSAwOyBpIDwgdGNwLT51X3J2YWw7IGkrKykgeworCQkJaWYgKGkpCisJCQkJdHByaW50ZigiLCAiKTsKKwkJCXByaW50cGF0aCh0Y3AsIChpbnQpIHNsLnNsX21vZGxpc3RbaV0ubF9uYW1lKTsKKwkJfQorCQl0cHJpbnRmKCJdfSIpOworCQlyZXR1cm4gMTsKKyNlbmRpZiAvKiBJX0xJU1QgKi8KKyNpZmRlZiBJX0FUTUFSSworCWNhc2UgSV9BVE1BUks6CisJCXRwcmludGYoIiwgIik7CisJCXByaW50eHZhbChzdHJlYW1fYXRtYXJrX29wdGlvbnMsIGFyZywgIj8/P01BUksiKTsKKwkJcmV0dXJuIDE7CisjZW5kaWYgLyogSV9BVE1BUksgKi8KKwlkZWZhdWx0OgorCQlyZXR1cm4gMDsKKwl9Cit9CisKKyNlbmRpZiAvKiAhTElOVVggJiYgIUZSRUVCU0QgKi8KKworI2VuZGlmIC8qIEhBVkVfU1lTX1NUUkVBTV9IIHx8IExJTlVYIHx8IEZSRUVCU0QgKi8KZGlmZiAtLWdpdCBhL3N0cmFjZS00LjUuMjAvc3Vub3M0L2R1bW15LmggYi9zdHJhY2UtNC41LjIwL3N1bm9zNC9kdW1teS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlmMDI1OWQKLS0tIC9kZXYvbnVsbAorKysgYi9zdHJhY2UtNC41LjIwL3N1bm9zNC9kdW1teS5oCkBAIC0wLDAgKzEsMjEyIEBACisvKgorICogQ29weXJpZ2h0IChjKSAxOTkxLCAxOTkyIFBhdWwgS3JhbmVuYnVyZyA8cGtAY3MuZmV3LmV1ci5ubD4KKyAqIENvcHlyaWdodCAoYykgMTk5MywgMTk5NCwgMTk5NSwgMTk5NiBSaWNrIFNsYWRrZXkgPGpyc0B3b3JsZC5zdGQuY29tPgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIFRoZSBuYW1lIG9mIHRoZSBhdXRob3IgbWF5IG5vdCBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cworICogICAgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQVVUSE9SIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1MgT1IKKyAqIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMKKyAqIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuCisgKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCisgKiBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQKKyAqIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICoKKyAqCSRJZCQKKyAqLworCisvKiBPYnNvbGV0ZSBzeXNjYWxscyAqLworI2RlZmluZSBzeXNfb3RpbWUJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19vc2V0dWlkCXByaW50YXJncworI2RlZmluZSBzeXNfb3N0aW1lCXByaW50YXJncworI2RlZmluZSBzeXNfb2FsYXJtCXByaW50YXJncworI2RlZmluZSBzeXNfb2ZzdGF0CXByaW50YXJncworI2RlZmluZSBzeXNfb3BhdXNlCXByaW50YXJncworI2RlZmluZSBzeXNfb3V0aW1lCXByaW50YXJncworI2RlZmluZSBzeXNfb25pY2UJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19vZnRpbWUJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19vc2V0cGdycAlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX290aW1lcwlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX29zZXRnaWQJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19vc3NpZwlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX293YWl0MwlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX29tc3luYwlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX292YWR2aXNlCXByaW50YXJncworI2RlZmluZSBzeXNfb21hZHZpc2UJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19vdmxpbWl0CXByaW50YXJncworI2RlZmluZSBzeXNfb3dhaXQJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19vdnRpbWVzCXByaW50YXJncworI2RlZmluZSBzeXNfb2xkcXVvdGEJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19nZXRkaXJlbnRyaWVzCXByaW50YXJncworCisvKiBObyBpbnRlcmVzdGluZyBwYXJhbWV0ZXJzIG9yIHJldHVybiB2YWx1ZXMgKi8KKyNkZWZpbmUgc3lzX3ZoYW5ndXAJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19zeXNfc2V0c2lkCXByaW50YXJncworI2RlZmluZSBzeXNfZXJyc3lzCXByaW50YXJncworI2RlZmluZSBzeXNfbm9zeXMJcHJpbnRhcmdzCisKKy8qIERvbid0IGtub3cgd2hhdCB0byBkbyB3aXRoIHRoZXNlICovCisjZGVmaW5lIHN5c19zc3RrCXByaW50YXJncworI2RlZmluZSBzeXNfcHJvZmlsCXByaW50YXJncworI2RlZmluZSBzeXNfdnRyYWNlCXByaW50YXJncworI2RlZmluZSBzeXNfYXN5bmNfZGFlbW9uIHByaW50YXJncworI2RlZmluZSBzeXNfbmZzX2dldGZoCXByaW50YXJncworI2RlZmluZSBzeXNfcnRzY2hlZHVsZQlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2F1ZGl0c3lzCXByaW50YXJncworI2RlZmluZSBzeXNfcmZzc3lzCXByaW50YXJncworI2RlZmluZSBzeXNfdnBpeHN5cwlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2dldGRvcHQJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19zZXRkb3B0CXByaW50YXJncworI2RlZmluZSBzeXNfc2Vtc3lzCXByaW50YXJncworI2RlZmluZSBzeXNfbXNnc3lzCXByaW50YXJncworI2RlZmluZSBzeXNfc2htc3lzCXByaW50YXJncworI2RlZmluZSBzeXNfc2Vtb3AJcHJpbnRhcmdzCisKKyNpZiBET05FCisjZGVmaW5lIHN5c19yZXhpdAlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2luZGlyCXByaW50YXJncworI2RlZmluZSBzeXNfcmVhZAlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3dyaXRlCXByaW50YXJncworI2RlZmluZSBzeXNfcmVhZHYJcHJpbnRhcmdzCisjZGVmaW5lIHN5c193cml0ZXYJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19pb2N0bAlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2ZjbnRsCXByaW50YXJncworI2RlZmluZSBzeXNfZnN0YXQJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19zdGF0CXByaW50YXJncworI2RlZmluZSBzeXNfbHN0YXQJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19vcGVuCXByaW50YXJncworI2RlZmluZSBzeXNfY3JlYXQJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19jbG9zZQlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2NoZGlyCXByaW50YXJncworI2RlZmluZSBzeXNfZmNoZGlyCXByaW50YXJncworI2RlZmluZSBzeXNfbWtkaXIJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19ybWRpcglwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2Nocm9vdAlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2ZjaHJvb3QJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19ta25vZAlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2xpbmsJcHJpbnRhcmdzCisjZGVmaW5lIHN5c191bmxpbmsJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19jaG93bglwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2ZjaG93bglwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2NobW9kCXByaW50YXJncworI2RlZmluZSBzeXNfZmNobW9kCXByaW50YXJncworI2RlZmluZSBzeXNfdXRpbWVzCXByaW50YXJncworI2RlZmluZSBzeXNfc3ltbGluawlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3JlYWRsaW5rCXByaW50YXJncworI2RlZmluZSBzeXNfcmVuYW1lCXByaW50YXJncworI2RlZmluZSBzeXNfZ2V0ZGVudHMJcHJpbnRhcmdzCisjZGVmaW5lIHN5c190cnVuY2F0ZQlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2Z0cnVuY2F0ZQlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2FjY2VzcwlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2xzZWVrCXByaW50YXJncworI2RlZmluZSBzeXNfc29ja2V0CXByaW50YXJncworI2RlZmluZSBzeXNfYmluZAlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2Nvbm5lY3QJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19saXN0ZW4JcHJpbnRhcmdzCisjZGVmaW5lIHN5c19hY2NlcHQJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19zaHV0ZG93bglwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3NlbmQJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19zZW5kdG8JcHJpbnRhcmdzCisjZGVmaW5lIHN5c19zZW5kbXNnCXByaW50YXJncworI2RlZmluZSBzeXNfcmVjdglwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3JlY3Zmcm9tCXByaW50YXJncworI2RlZmluZSBzeXNfcmVjdm1zZwlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3BpcGUJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19zb2NrZXRwYWlyCXByaW50YXJncworI2RlZmluZSBzeXNfc2V0c29ja29wdAlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2dldHNvY2tvcHQJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19nZXRzb2NrbmFtZQlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2dldHBlZXJuYW1lCXByaW50YXJncworI2RlZmluZSBzeXNfZ2V0aG9zdGlkCXByaW50YXJncworI2RlZmluZSBzeXNfZ2V0aG9zdG5hbWUJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19zZXRob3N0bmFtZQlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2dldHBpZAlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2dldGRvbWFpbm5hbWUJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19zZXRkb21haW5uYW1lCXByaW50YXJncworI2RlZmluZSBzeXNfdmZvcmsJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19mb3JrCXByaW50YXJncworI2RlZmluZSBzeXNfZ2V0dWlkCXByaW50YXJncworI2RlZmluZSBzeXNfZ2V0Z2lkCXByaW50YXJncworI2RlZmluZSBzeXNfc2V0cmV1aWQJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19zZXRyZWdpZAlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2dldGdyb3VwcwlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3NldGdyb3VwcwlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2dldHBncnAJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19zZXRwZ3JwCXByaW50YXJncworI2RlZmluZSBzeXNfc2V0cGdpZAlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2V4ZWN2CXByaW50YXJncworI2RlZmluZSBzeXNfZXhlY3ZlCXByaW50YXJncworI2RlZmluZSBzeXNfd2FpdDQJcHJpbnRhcmdzCisjZGVmaW5lIHN5c191bmFtZQlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3B0cmFjZQlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2JyawkJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19zYnJrCXByaW50YXJncworI2RlZmluZSBzeXNfbW1hcAlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX211bm1hcAlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX21wcm90ZWN0CXByaW50YXJncworI2RlZmluZSBzeXNfbWN0bAlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX21pbmNvcmUJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19zaWd2ZWMJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19zaWdibG9jawlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3NpZ3NldG1hc2sJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19zaWdwYXVzZQlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3NpZ3N0YWNrCXByaW50YXJncworI2RlZmluZSBzeXNfc2lnY2xlYW51cAlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3NpZ3BlbmRpbmcJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19raWxsCXByaW50YXJncworI2RlZmluZSBzeXNfa2lsbHBnCXByaW50YXJncworI2RlZmluZSBzeXNfZHVwCQlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2R1cDIJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19nZXRkdGFibGVzaXplCXByaW50YXJncworI2RlZmluZSBzeXNfc2VsZWN0CXByaW50YXJncworI2RlZmluZSBzeXNfZmxvY2sJcHJpbnRhcmdzCisjZGVmaW5lIHN5c191bWFzawlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2dldHRpbWVvZmRheQlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3NldHRpbWVvZmRheQlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2dldGl0aW1lcglwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3NldGl0aW1lcglwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2FkanRpbWUJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19zZXRwcmlvcml0eQlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2dldHByaW9yaXR5CXByaW50YXJncworI2RlZmluZSBzeXNfZ2V0cnVzYWdlCXByaW50YXJncworI2RlZmluZSBzeXNfZ2V0cmxpbWl0CXByaW50YXJncworI2RlZmluZSBzeXNfc2V0cmxpbWl0CXByaW50YXJncworI2RlZmluZSBzeXNfcXVvdGFjdGwJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19zeXNhY2N0CXByaW50YXJncworI2RlZmluZSBzeXNfcmVib290CXByaW50YXJncworI2RlZmluZSBzeXNfc3luYwlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX21vdW50CXByaW50YXJncworI2RlZmluZSBzeXNfdW1vdW50CXByaW50YXJncworI2RlZmluZSBzeXNfdW5tb3VudAlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3N3YXBvbglwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2ZzeW5jCXByaW50YXJncworI2RlZmluZSBzeXNfZXhwb3J0ZnMJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19uZnNfc3ZjCXByaW50YXJncworI2RlZmluZSBzeXNfc3RhdGZzCXByaW50YXJncworI2RlZmluZSBzeXNfZnN0YXRmcwlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3VzdGF0CXByaW50YXJncworI2RlZmluZSBzeXNfYWlvcmVhZAlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2Fpb3dyaXRlCXByaW50YXJncworI2RlZmluZSBzeXNfYWlvd2FpdAlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2Fpb2NhbmNlbAlwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2dldHBhZ2VzaXplCXByaW50YXJncworI2RlZmluZSBzeXNfcGF0aGNvbmYJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19mcGF0aGNvbmYJcHJpbnRhcmdzCisjZGVmaW5lIHN5c19zeXNjb25mCXByaW50YXJncworI2RlZmluZSBzeXNfZ2V0bXNnCXByaW50YXJncworI2RlZmluZSBzeXNfcHV0bXNnCXByaW50YXJncworI2RlZmluZSBzeXNfcG9sbAlwcmludGFyZ3MKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvc3RyYWNlLTQuNS4yMC9zdW5vczQvZXJybm9lbnQuaCBiL3N0cmFjZS00LjUuMjAvc3Vub3M0L2Vycm5vZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjkwZWI1MwotLS0gL2Rldi9udWxsCisrKyBiL3N0cmFjZS00LjUuMjAvc3Vub3M0L2Vycm5vZW50LmgKQEAgLTAsMCArMSw5MSBAQAorCSJFUlJOT18wIiwgLyogMCAqLworCSJFUEVSTSIsIC8qIDEgKi8KKwkiRU5PRU5UIiwgLyogMiAqLworCSJFU1JDSCIsIC8qIDMgKi8KKwkiRUlOVFIiLCAvKiA0ICovCisJIkVJTyIsIC8qIDUgKi8KKwkiRU5YSU8iLCAvKiA2ICovCisJIkUyQklHIiwgLyogNyAqLworCSJFTk9FWEVDIiwgLyogOCAqLworCSJFQkFERiIsIC8qIDkgKi8KKwkiRUNISUxEIiwgLyogMTAgKi8KKwkiRUFHQUlOIiwgLyogMTEgKi8KKwkiRU5PTUVNIiwgLyogMTIgKi8KKwkiRUFDQ0VTIiwgLyogMTMgKi8KKwkiRUZBVUxUIiwgLyogMTQgKi8KKwkiRU5PVEJMSyIsIC8qIDE1ICovCisJIkVCVVNZIiwgLyogMTYgKi8KKwkiRUVYSVNUIiwgLyogMTcgKi8KKwkiRVhERVYiLCAvKiAxOCAqLworCSJFTk9ERVYiLCAvKiAxOSAqLworCSJFTk9URElSIiwgLyogMjAgKi8KKwkiRUlTRElSIiwgLyogMjEgKi8KKwkiRUlOVkFMIiwgLyogMjIgKi8KKwkiRU5GSUxFIiwgLyogMjMgKi8KKwkiRU1GSUxFIiwgLyogMjQgKi8KKwkiRU5PVFRZIiwgLyogMjUgKi8KKwkiRVRYVEJTWSIsIC8qIDI2ICovCisJIkVGQklHIiwgLyogMjcgKi8KKwkiRU5PU1BDIiwgLyogMjggKi8KKwkiRVNQSVBFIiwgLyogMjkgKi8KKwkiRVJPRlMiLCAvKiAzMCAqLworCSJFTUxJTksiLCAvKiAzMSAqLworCSJFUElQRSIsIC8qIDMyICovCisJIkVET00iLCAvKiAzMyAqLworCSJFUkFOR0UiLCAvKiAzNCAqLworCSJFV09VTERCTE9DSyIsIC8qIDM1ICovCisJIkVJTlBST0dSRVNTIiwgLyogMzYgKi8KKwkiRUFMUkVBRFkiLCAvKiAzNyAqLworCSJFTk9UU09DSyIsIC8qIDM4ICovCisJIkVERVNUQUREUlJFUSIsIC8qIDM5ICovCisJIkVNU0dTSVpFIiwgLyogNDAgKi8KKwkiRVBST1RPVFlQRSIsIC8qIDQxICovCisJIkVOT1BST1RPT1BUIiwgLyogNDIgKi8KKwkiRVBST1RPTk9TVVBQT1JUIiwgLyogNDMgKi8KKwkiRVNPQ0tUTk9TVVBQT1JUIiwgLyogNDQgKi8KKwkiRU9QTk9UU1VQUCIsIC8qIDQ1ICovCisJIkVQRk5PU1VQUE9SVCIsIC8qIDQ2ICovCisJIkVBRk5PU1VQUE9SVCIsIC8qIDQ3ICovCisJIkVBRERSSU5VU0UiLCAvKiA0OCAqLworCSJFQUREUk5PVEFWQUlMIiwgLyogNDkgKi8KKwkiRU5FVERPV04iLCAvKiA1MCAqLworCSJFTkVUVU5SRUFDSCIsIC8qIDUxICovCisJIkVORVRSRVNFVCIsIC8qIDUyICovCisJIkVDT05OQUJPUlRFRCIsIC8qIDUzICovCisJIkVDT05OUkVTRVQiLCAvKiA1NCAqLworCSJFTk9CVUZTIiwgLyogNTUgKi8KKwkiRUlTQ09OTiIsIC8qIDU2ICovCisJIkVOT1RDT05OIiwgLyogNTcgKi8KKwkiRVNIVVRET1dOIiwgLyogNTggKi8KKwkiRVRPT01BTllSRUZTIiwgLyogNTkgKi8KKwkiRVRJTUVET1VUIiwgLyogNjAgKi8KKwkiRUNPTk5SRUZVU0VEIiwgLyogNjEgKi8KKwkiRUxPT1AiLCAvKiA2MiAqLworCSJFTkFNRVRPT0xPTkciLCAvKiA2MyAqLworCSJFSE9TVERPV04iLCAvKiA2NCAqLworCSJFSE9TVFVOUkVBQ0giLCAvKiA2NSAqLworCSJFTk9URU1QVFkiLCAvKiA2NiAqLworCSJFUFJPQ0xJTSIsIC8qIDY3ICovCisJIkVVU0VSUyIsIC8qIDY4ICovCisJIkVEUVVPVCIsIC8qIDY5ICovCisJIkVTVEFMRSIsIC8qIDcwICovCisJIkVSRU1PVEUiLCAvKiA3MSAqLworCSJFTk9TVFIiLCAvKiA3MiAqLworCSJFVElNRSIsIC8qIDczICovCisJIkVOT1NSIiwgLyogNzQgKi8KKwkiRU5PTVNHIiwgLyogNzUgKi8KKwkiRUJBRE1TRyIsIC8qIDc2ICovCisJIkVJRFJNIiwgLyogNzcgKi8KKwkiRURFQURMSyIsIC8qIDc4ICovCisJIkVOT0xDSyIsIC8qIDc5ICovCisJIkVOT05FVCIsIC8qIDgwICovCisJIkVSUkVNT1RFIiwgLyogODEgKi8KKwkiRU5PTElOSyIsIC8qIDgyICovCisJIkVBRFYiLCAvKiA4MyAqLworCSJFU1JNTlQiLCAvKiA4NCAqLworCSJFQ09NTSIsIC8qIDg1ICovCisJIkVQUk9UTyIsIC8qIDg2ICovCisJIkVNVUxUSUhPUCIsIC8qIDg3ICovCisJIkVET1RET1QiLCAvKiA4OCAqLworCSJFUkVNQ0hHIiwgLyogODkgKi8KKwkiRU5PU1lTIiwgLyogOTAgKi8KZGlmZiAtLWdpdCBhL3N0cmFjZS00LjUuMjAvc3Vub3M0L2lvY3RsZW50LmggYi9zdHJhY2UtNC41LjIwL3N1bm9zNC9pb2N0bGVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZiZmM3OWIKLS0tIC9kZXYvbnVsbAorKysgYi9zdHJhY2UtNC41LjIwL3N1bm9zNC9pb2N0bGVudC5oCkBAIC0wLDAgKzEsNDkzIEBACit7InN1bi9hdWRpb2lvLmgiLCAiQVVESU9fRFJBSU4iLCAweDIwMDA0MTAzfSwKK3sic3VuL2lzZG5pby5oIiwgIklTRE5fUEhfQUNUSVZBVEVfUkVRIiwgMHgyMDAwNDEwYX0sCit7InN1bi9pc2RuaW8uaCIsICJJU0ROX01QSF9ERUFDVElWQVRFX1JFUSIsIDB4MjAwMDQxMGJ9LAoreyJzdW4vZmJpby5oIiwgIkZCSU9fV0lEX0RCTF9TRVQiLCAweDIwMDA0NjI1fSwKK3sicGl4cmVjdC9ncDF2YXIuaCIsICJHUDFJT19TQ01BUCIsIDB4MjAwMDQ3NjZ9LAoreyJzdW4vbWVtLmgiLCAiTU1fSFJDTlQiLCAweDIwMDA0ZDAyfSwKK3sic3VuZGV2L29wZW5wcm9taW8uaCIsICJPUFJPTUdFVE9QVCIsIDB4MjAwMDRmMDF9LAoreyJzdW5kZXYvb3BlbnByb21pby5oIiwgIk9QUk9NU0VUT1BUIiwgMHgyMDAwNGYwMn0sCit7InN1bmRldi9vcGVucHJvbWlvLmgiLCAiT1BST01OWFRPUFQiLCAweDIwMDA0ZjAzfSwKK3sic3VuZGV2L29wZW5wcm9taW8uaCIsICJPUFJPTVNFVE9QVDIiLCAweDIwMDA0ZjA0fSwKK3sic3VuZGV2L29wZW5wcm9taW8uaCIsICJPUFJPTU5FWFQiLCAweDIwMDA0ZjA1fSwKK3sic3VuZGV2L29wZW5wcm9taW8uaCIsICJPUFJPTUNISUxEIiwgMHgyMDAwNGYwNn0sCit7InN1bmRldi9vcGVucHJvbWlvLmgiLCAiT1BST01HRVRQUk9QIiwgMHgyMDAwNGYwN30sCit7InN1bmRldi9vcGVucHJvbWlvLmgiLCAiT1BST01OWFRQUk9QIiwgMHgyMDAwNGYwOH0sCit7InN1bmRldi9vcGVucHJvbWlvLmgiLCAiT1BST01VMlAiLCAweDIwMDA0ZjA5fSwKK3sic3VuZGV2L29wZW5wcm9taW8uaCIsICJPUFJPTUdFVENPTlMiLCAweDIwMDA0ZjBhfSwKK3sic3Ryb3B0cy5oIiwgIklfUE9QIiwgMHgyMDAwNTMwM30sCit7InN5cy9zdHJvcHRzLmgiLCAiSV9QT1AiLCAweDIwMDA1MzAzfSwKK3sic3Ryb3B0cy5oIiwgIklfRkxVU0giLCAweDIwMDA1MzA1fSwKK3sic3lzL3N0cm9wdHMuaCIsICJJX0ZMVVNIIiwgMHgyMDAwNTMwNX0sCit7InN5cy9zdHJvcHRzLmgiLCAiSV9TUkRPUFQiLCAweDIwMDA1MzA2fSwKK3sic3Ryb3B0cy5oIiwgIklfU1JET1BUIiwgMHgyMDAwNTMwNn0sCit7InN5cy9zdHJvcHRzLmgiLCAiSV9TRVRTSUciLCAweDIwMDA1MzA5fSwKK3sic3Ryb3B0cy5oIiwgIklfU0VUU0lHIiwgMHgyMDAwNTMwOX0sCit7InN5cy9zdHJvcHRzLmgiLCAiSV9MSU5LIiwgMHgyMDAwNTMwY30sCit7InN0cm9wdHMuaCIsICJJX0xJTksiLCAweDIwMDA1MzBjfSwKK3sic3lzL3N0cm9wdHMuaCIsICJJX1VOTElOSyIsIDB4MjAwMDUzMGR9LAoreyJzdHJvcHRzLmgiLCAiSV9VTkxJTksiLCAweDIwMDA1MzBkfSwKK3sic3lzL3N0cm9wdHMuaCIsICJJX1NFTkRGRCIsIDB4MjAwMDUzMTF9LAoreyJzdHJvcHRzLmgiLCAiSV9TRU5ERkQiLCAweDIwMDA1MzExfSwKK3sic3lzL3N0cm9wdHMuaCIsICJJX1BMSU5LIiwgMHgyMDAwNTMxM30sCit7InN0cm9wdHMuaCIsICJJX1BMSU5LIiwgMHgyMDAwNTMxM30sCit7InN0cm9wdHMuaCIsICJJX1BVTkxJTksiLCAweDIwMDA1MzE0fSwKK3sic3lzL3N0cm9wdHMuaCIsICJJX1BVTkxJTksiLCAweDIwMDA1MzE0fSwKK3sidGVybWlvLmgiLCAiVENTQlJLIiwgMHgyMDAwNTQwNX0sCit7InN5cy90ZXJtaW8uaCIsICJUQ1NCUksiLCAweDIwMDA1NDA1fSwKK3sidGVybWlvcy5oIiwgIlRDWE9OQyIsIDB4MjAwMDU0MDZ9LAoreyJzeXMvdGVybWlvcy5oIiwgIlRDWE9OQyIsIDB4MjAwMDU0MDZ9LAoreyJzeXMvdGVybWlvcy5oIiwgIlRDRkxTSCIsIDB4MjAwMDU0MDd9LAoreyJ0ZXJtaW9zLmgiLCAiVENGTFNIIiwgMHgyMDAwNTQwN30sCit7InN1bi90dmlvLmgiLCAiVFZJT0dSQUIiLCAweDIwMDA1ODFkfSwKK3sic3VuL3R2aW8uaCIsICJUVklPUkVMRUFTRSIsIDB4MjAwMDU4MWV9LAoreyJzdW4vdHZpby5oIiwgIlRWSU9SRURJUkVDVCIsIDB4MjAwMDU4MjJ9LAoreyJzdW4vdHZpby5oIiwgIlRWSU9TWU5DIiwgMHgyMDAwNTgyNX0sCit7InN1bi90dmlvLmgiLCAiVFZJT1ZXQUlUIiwgMHgyMDAwNTgyZH0sCit7InN1bi90dmlvLmgiLCAiVFZJT1NMT09QQkFDS0NBTCIsIDB4MjAwMDU4M2R9LAoreyJzYnVzZGV2L2JwcF9pby5oIiwgIkJQUElPQ19URVNUSU8iLCAweDIwMDA2MjA2fSwKK3sic2NzaS90YXJnZXRzL3NyZGVmLmgiLCAiQ0RST01QQVVTRSIsIDB4MjAwMDYzMGF9LAoreyJzdW5kZXYvc3JyZWcuaCIsICJDRFJPTVBBVVNFIiwgMHgyMDAwNjMwYX0sCit7InN1bmRldi9zcnJlZy5oIiwgIkNEUk9NUkVTVU1FIiwgMHgyMDAwNjMwYn0sCit7InN1bmRldi9zcnJlZy5oIiwgIkNEUk9NU1RPUCIsIDB4MjAwMDYzNjl9LAoreyJzY3NpL3RhcmdldHMvc3JkZWYuaCIsICJDRFJPTVNUT1AiLCAweDIwMDA2MzY5fSwKK3sic2NzaS90YXJnZXRzL3NyZGVmLmgiLCAiQ0RST01TVEFSVCIsIDB4MjAwMDYzNmF9LAoreyJzdW5kZXYvc3JyZWcuaCIsICJDRFJPTVNUQVJUIiwgMHgyMDAwNjM2YX0sCit7InNjc2kvdGFyZ2V0cy9zcmRlZi5oIiwgIkNEUk9NRUpFQ1QiLCAweDIwMDA2MzZifSwKK3sic3VuZGV2L3NycmVnLmgiLCAiQ0RST01FSkVDVCIsIDB4MjAwMDYzNmJ9LAoreyJzdW4vZGtpby5oIiwgIkZES0VKRUNUIiwgMHgyMDAwNjQ3MH0sCit7InN5cy9maWxpby5oIiwgIkZJT0NMRVgiLCAweDIwMDA2NjAxfSwKK3sic3lzL2ZpbGlvLmgiLCAiRklPTkNMRVgiLCAweDIwMDA2NjAyfSwKK3sic3lzL2ZpbGlvLmgiLCAiRklPTEZTIiwgMHgyMDAwNjY0MH0sCit7InN5cy9maWxpby5oIiwgIkZJT0xGU1MiLCAweDIwMDA2NjQxfSwKK3sic3lzL2ZpbGlvLmgiLCAiRklPRkZTIiwgMHgyMDAwNjY0Mn0sCit7InN5cy9maWxpby5oIiwgIkZJT0FJIiwgMHgyMDAwNjY0M30sCit7InN5cy9maWxpby5oIiwgIkZJT0RVVElNRVMiLCAweDIwMDA2NjQ0fSwKK3sic3lzL2ZpbGlvLmgiLCAiRklPRElPIiwgMHgyMDAwNjY0NX0sCit7InN5cy9maWxpby5oIiwgIkZJT0RJT1MiLCAweDIwMDA2NjQ2fSwKK3sic3Vud2luZG93L3dpbl9pb2N0bC5oIiwgIldJTklOU0VSVCIsIDB4MjAwMDY3MDN9LAoreyJzdW53aW5kb3cvd2luX2lvY3RsLmgiLCAiV0lOUkVNT1ZFIiwgMHgyMDAwNjcwNH0sCit7InN1bndpbmRvdy93aW5faW9jdGwuaCIsICJXSU5DT01QVVRFQ0xJUFBJTkciLCAweDIwMDA2NzEyfSwKK3sic3Vud2luZG93L3dpbl9pb2N0bC5oIiwgIldJTkxPQ0tEQVRBIiwgMHgyMDAwNjcxNX0sCit7InN1bndpbmRvdy93aW5faW9jdGwuaCIsICJXSU5VTkxPQ0tEQVRBIiwgMHgyMDAwNjcxNn0sCit7InN1bndpbmRvdy93aW5faW9jdGwuaCIsICJXSU5HUkFCSU8iLCAweDIwMDA2NzE3fSwKK3sic3Vud2luZG93L3dpbl9pb2N0bC5oIiwgIldJTlJFTEVBU0VJTyIsIDB4MjAwMDY3MTh9LAoreyJzdW53aW5kb3cvd2luX2lvY3RsLmgiLCAiV0lOVU5MT0NLRVZFTlQiLCAweDIwMDA2NzFjfSwKK3sic3Vud2luZG93L3dpbl9pb2N0bC5oIiwgIldJTlVOTE9DS1NDUkVFTiIsIDB4MjAwMDY3MWV9LAoreyJzdW53aW5kb3cvd2luX2lvY3RsLmgiLCAiV0lOU0NSRUVOREVTVFJPWSIsIDB4MjAwMDY3MmF9LAoreyJzdW53aW5kb3cvd2luX2lvY3RsLmgiLCAiV0lOUFJJTlQiLCAweDIwMDA2NzJjfSwKK3sic3Vud2luZG93L3dpbl9pb2N0bC5oIiwgIldJTlJFRlVTRUtCREZPQ1VTIiwgMHgyMDAwNjczYX0sCit7InN1bndpbmRvdy93aW5faW9jdGwuaCIsICJXSU5EQkxBQ0NFU1MiLCAweDIwMDA2NzQ3fSwKK3sic3Vud2luZG93L3dpbl9pb2N0bC5oIiwgIldJTkRCTEZMSVAiLCAweDIwMDA2NzQ4fSwKK3sic3Vud2luZG93L3dpbl9pb2N0bC5oIiwgIldJTkRCTEFCU09SQiIsIDB4MjAwMDY3NDl9LAoreyJzdW53aW5kb3cvd2luX2lvY3RsLmgiLCAiV0lOREJMUkxTRSIsIDB4MjAwMDY3NGF9LAoreyJzdW53aW5kb3cvd2luX2lvY3RsLmgiLCAiV0lOU0hBUkVRVUVVRSIsIDB4MjAwMDY3NTB9LAoreyJzdW53aW5kb3cvd2luX2lvY3RsLmgiLCAiV0lORElTQ09OTkVDVCIsIDB4MjAwMDY3OTh9LAoreyJzdW53aW5kb3cvd2luX2lvY3RsLmgiLCAiV0lOUkVDT05ORUNUIiwgMHgyMDAwNjc5OX0sCit7InN1bi9uZGlvLmgiLCAiTkRJT0NTT04iLCAweDIwMDA2ZTAwfSwKK3sic3VuL25kaW8uaCIsICJORElPQ1NPRkYiLCAweDIwMDA2ZTAxfSwKK3sic3VuL25kaW8uaCIsICJORElPQ0NMRUFSIiwgMHgyMDAwNmUwNX0sCit7Im5ldC9uaXRfYnVmLmgiLCAiTklPQ0NUSU1FIiwgMHgyMDAwNzAwOH0sCit7InN5cy90dG9sZC5oIiwgIlRJT0NIUENMIiwgMHgyMDAwNzQwMn0sCit7InNidXNkZXYvZ3RyZWcuaCIsICJGQl9TRVRTRVJWRVIiLCAweDIwMDA3NDA3fSwKK3sic3lzL3R0b2xkLmgiLCAiVElPQ0VYQ0wiLCAweDIwMDA3NDBkfSwKK3sic3lzL3R0b2xkLmgiLCAiVElPQ05YQ0wiLCAweDIwMDA3NDBlfSwKK3sic2J1c2Rldi9ndHJlZy5oIiwgIkZCX0RJU0NPTk5FQ1QiLCAweDIwMDA3NDEwfSwKK3sic2J1c2Rldi9ndHJlZy5oIiwgIkZCX1VOR1JBQkhXIiwgMHgyMDAwNzQxNH0sCit7InN5cy90dHljb20uaCIsICJUSU9DQ09OUyIsIDB4MjAwMDc0MjR9LAoreyJzeXMvdHRvbGQuaCIsICJfT19USU9DQ09OUyIsIDB4MjAwMDc0Njh9LAoreyJzeXMvdHRvbGQuaCIsICJUSU9DU1RBUlQiLCAweDIwMDA3NDZlfSwKK3sic3lzL3R0b2xkLmgiLCAiVElPQ1NUT1AiLCAweDIwMDA3NDZmfSwKK3sic3lzL3R0eWNvbS5oIiwgIlRJT0NOT1RUWSIsIDB4MjAwMDc0NzF9LAoreyJzeXMvdHRvbGQuaCIsICJUSU9DQ0RUUiIsIDB4MjAwMDc0Nzh9LAoreyJzeXMvdHRvbGQuaCIsICJUSU9DU0RUUiIsIDB4MjAwMDc0Nzl9LAoreyJzeXMvdHRvbGQuaCIsICJUSU9DQ0JSSyIsIDB4MjAwMDc0N2F9LAoreyJzeXMvdHRvbGQuaCIsICJUSU9DU0JSSyIsIDB4MjAwMDc0N2J9LAoreyJzeXMvdHR5Y29tLmgiLCAiVElPQ1NDVFRZIiwgMHgyMDAwNzQ4NH0sCit7InN1bi9ncGlvLmgiLCAiR1AxSU9fR0VUX1RSVU1JTk9SREVWIiwgMHg0MDAxNDcwOH0sCit7InN1bmRldi9rYmlvLmgiLCAiS0lPQ0dMRUQiLCAweDQwMDE2YjBmfSwKK3sic3VuZGV2L3BwcmVnLmgiLCAiUFBJT0NHRVRTIiwgMHg0MDAxNzAwMH0sCit7InN1bmRldi9wcHJlZy5oIiwgIlBQSU9DR0VUQyIsIDB4NDAwMTcwMDF9LAoreyJzdW4vZ3Bpby5oIiwgIkdQMUlPX0dFVF9SRVFERVYiLCAweDQwMDI0NzA3fSwKK3sic3VuL3R2aW8uaCIsICJUVklPR0JJTkQiLCAweDQwMDI1ODFmfSwKK3sic2J1c2Rldi9icHBfaW8uaCIsICJCUFBJT0NfR0VUT1VUUElOUyIsIDB4NDAwMjYyMDR9LAoreyJzdW5kZXYvc3JyZWcuaCIsICJDRFJPTVJFQURUT0NIRFIiLCAweDQwMDI2MzY3fSwKK3sic2J1c2Rldi9icHBfaW8uaCIsICJCUFBJT0NfR0VURVJSIiwgMHg0MDAzNjIwNX0sCit7InN1bi9hdWRpb2lvLmgiLCAiQVVESU9fR0VUREVWIiwgMHg0MDA0NDEwNH0sCit7InN1bi9mYmlvLmgiLCAiRkJJT0dWSURFTyIsIDB4NDAwNDQ2MDh9LAoreyJzdW4vZmJpby5oIiwgIkdSQUJQQUdFQUxMT0MiLCAweDQwMDQ0NjBhfSwKK3sic3VuL2ZiaW8uaCIsICJGQklPR1BMTkdSUCIsIDB4NDAwNDQ2MGR9LAoreyJzdW4vZmJpby5oIiwgIkZCSU9HQ01TSVpFIiwgMHg0MDA0NDYwZX0sCit7InN1bi9mYmlvLmgiLCAiRkJJT0FWQUlMUExOR1JQIiwgMHg0MDA0NDYxMX0sCit7InN1bi9mYmlvLmgiLCAiRkJJT1NXSU5GRCIsIDB4NDAwNDQ2MTR9LAoreyJzdW4vZmJpby5oIiwgIkZCSU9TQVZXSU5GRCIsIDB4NDAwNDQ2MTV9LAoreyJzdW4vZmJpby5oIiwgIkZCSU9SRVNXSU5GRCIsIDB4NDAwNDQ2MTZ9LAoreyJzdW4vZmJpby5oIiwgIkZCSU9TUldJTkZEIiwgMHg0MDA0NDYxN30sCit7InN1bi9mYmlvLmgiLCAiRkJJT0dDVVJNQVgiLCAweDQwMDQ0NjFjfSwKK3sic3VuL2ZiaW8uaCIsICJHUkFCTE9DS0lORk8iLCAweDQwMDQ0NjFkfSwKK3sic3VuL2ZiaW8uaCIsICJGQklPX0RFVklEIiwgMHg0MDA0NDYyMn0sCit7InN1bi9mYmlvLmgiLCAiRkJJT19GVUxMU0NSRUVOX0VMSU1JTkFUSU9OX0dST1VQUyIsIDB4NDAwNDQ2MjR9LAoreyJzdW4vZmJpby5oIiwgIkZCSU9WUlRPRkZTRVQiLCAweDQwMDQ0NjI2fSwKK3sic3VuL2dwaW8uaCIsICJHUDFJT19HRVRfU1RBVElDX0JMT0NLIiwgMHg0MDA0NDcwMX0sCit7InN1bi9ncGlvLmgiLCAiR1AxSU9fR0VUX0dCVUZGRVJfU1RBVEUiLCAweDQwMDQ0NzAzfSwKK3sic3VuL2dwaW8uaCIsICJHUDFJT19HRVRfUkVTVEFSVF9DT1VOVCIsIDB4NDAwNDQ3MDV9LAoreyJzdW4vZ3Bpby5oIiwgIkdQMUlPX0NIS19GT1JfR0JVRkZFUiIsIDB4NDAwNDQ3MDl9LAoreyJzdHJvcHRzLmgiLCAiSV9OUkVBRCIsIDB4NDAwNDUzMDF9LAoreyJzeXMvc3Ryb3B0cy5oIiwgIklfTlJFQUQiLCAweDQwMDQ1MzAxfSwKK3sic3lzL3N0cm9wdHMuaCIsICJJX0dSRE9QVCIsIDB4NDAwNDUzMDd9LAoreyJzdHJvcHRzLmgiLCAiSV9HUkRPUFQiLCAweDQwMDQ1MzA3fSwKK3sic3lzL3N0cm9wdHMuaCIsICJJX0dFVFNJRyIsIDB4NDAwNDUzMGF9LAoreyJzdHJvcHRzLmgiLCAiSV9HRVRTSUciLCAweDQwMDQ1MzBhfSwKK3sic3VuL3R2aW8uaCIsICJUVklPR0ZPUk1BVCIsIDB4NDAwNDU4MDF9LAoreyJzdW4vdHZpby5oIiwgIlRWSU9HQ09NUE9VVCIsIDB4NDAwNDU4MDN9LAoreyJzdW4vdHZpby5oIiwgIlRWSU9HU1lOQyIsIDB4NDAwNDU4MDV9LAoreyJwaXhyZWN0L2NnOHZhci5oIiwgIlBJUElPX0dfUElQX09OX09GRiIsIDB4NDAwNDU4MDV9LAoreyJzdW4vdHZpby5oIiwgIlRWSU9HT1VUIiwgMHg0MDA0NTgwN30sCit7InN1bi90dmlvLmgiLCAiVFZJT0dDT01QUkVTUyIsIDB4NDAwNDU4MDl9LAoreyJwaXhyZWN0L2NnOHZhci5oIiwgIlBJUElPX0dfUElQX09OX09GRl9SRVNVTUUiLCAweDQwMDQ1ODA5fSwKK3sicGl4cmVjdC9jZzh2YXIuaCIsICJQSVBJT19HX1BJUF9PTl9PRkZfU1VTUEVORCIsIDB4NDAwNDU4MGF9LAoreyJzdW4vdHZpby5oIiwgIlRWSU9HQ0hST01BR0FJTiIsIDB4NDAwNDU4MGJ9LAoreyJzdW4vdHZpby5oIiwgIlRWSU9HUkVER0FJTiIsIDB4NDAwNDU4MGR9LAoreyJzdW4vdHZpby5oIiwgIlRWSU9HUkVEQkxBQ0siLCAweDQwMDQ1ODBmfSwKK3sic3VuL3R2aW8uaCIsICJUVklPR0dSRUVOR0FJTiIsIDB4NDAwNDU4MTF9LAoreyJzdW4vdHZpby5oIiwgIlRWSU9HR1JFRU5CTEFDSyIsIDB4NDAwNDU4MTN9LAoreyJzdW4vdHZpby5oIiwgIlRWSU9HQkxVRUdBSU4iLCAweDQwMDQ1ODE1fSwKK3sic3VuL3R2aW8uaCIsICJUVklPR0JMVUVCTEFDSyIsIDB4NDAwNDU4MTd9LAoreyJzdW4vdHZpby5oIiwgIlRWSU9HTFVNQUdBSU4iLCAweDQwMDQ1ODE5fSwKK3sic3VuL3R2aW8uaCIsICJUVklPR0JUWVBFIiwgMHg0MDA0NTgyMX0sCit7InN1bi90dmlvLmgiLCAiVFZJT0dMSVZFIiwgMHg0MDA0NTgyM30sCit7InN1bi90dmlvLmgiLCAiVFZJT0dDSFJPTUFTRVAiLCAweDQwMDQ1ODI3fSwKK3sicGl4cmVjdC9jZzh2YXIuaCIsICJQSVBJT19HX0NVUlNPUl9DT0xPUl9GUkVFWkUiLCAweDQwMDQ1ODI4fSwKK3sic3VuL3R2aW8uaCIsICJUVklPR0NIUk9NQURFTU9EIiwgMHg0MDA0NTgyOX0sCit7InBpeHJlY3QvY2c4dmFyLmgiLCAiUElQSU9fR19URVNUIiwgMHg0MDA0NTgyYn0sCit7InN1bi90dmlvLmgiLCAiVFZJT0dHRU5MT0NLIiwgMHg0MDA0NTgyYn0sCit7InN1bi90dmlvLmgiLCAiVFZJT0dTWU5DQUJTRU5UIiwgMHg0MDA0NTgyZX0sCit7InN1bi90dmlvLmgiLCAiVFZJT0dCVVJTVEFCU0VOVCIsIDB4NDAwNDU4MmZ9LAoreyJzdW4vdHZpby5oIiwgIlRWSU9HSUJTVEFURSIsIDB4NDAwNDU4Mzd9LAoreyJzdW4vdHZpby5oIiwgIlRWSU9HQUJTVEFURSIsIDB4NDAwNDU4Mzl9LAoreyJzdW4vdHZpby5oIiwgIlRWSU9HQ09OVFJPTCIsIDB4NDAwNDU4M2J9LAoreyJzdW4vZGtpby5oIiwgIkZES0dFVENIQU5HRSIsIDB4NDAwNDY0NmZ9LAoreyJzeXMvZmlsaW8uaCIsICJGSU9HRVRPV04iLCAweDQwMDQ2NjdifSwKK3sic3lzL2ZpbGlvLmgiLCAiRklPTlJFQUQiLCAweDQwMDQ2NjdmfSwKK3sic3Vud2luZG93L3dpbl9pb2N0bC5oIiwgIldJTkdFVFVTRVJGTEFHUyIsIDB4NDAwNDY3MGV9LAoreyJzdW53aW5kb3cvd2luX2lvY3RsLmgiLCAiV0lOR0VUT1dORVIiLCAweDQwMDQ2NzEwfSwKK3sic3Vud2luZG93L3dpbl9pb2N0bC5oIiwgIldJTkdFVEJVVFRPTk9SREVSIiwgMHg0MDA0NjcyNH0sCit7InN1bndpbmRvdy93aW5faW9jdGwuaCIsICJXSU5HRVRORVhUSU5QVVQiLCAweDQwMDQ2NzM5fSwKK3sic3Vud2luZG93L3dpbl9pb2N0bC5oIiwgIldJTkdFVFBMQU5FR1JPVVAiLCAweDQwMDQ2NzQwfSwKK3sic3Vud2luZG93L3dpbl9pb2N0bC5oIiwgIldJTkdFVE5PVElGWUFMTCIsIDB4NDAwNDY3NTF9LAoreyJzdW5kZXYva2Jpby5oIiwgIktJT0NHVFJBTlMiLCAweDQwMDQ2YjA1fSwKK3sic3VuZGV2L2tiaW8uaCIsICJLSU9DR1RSQU5TQUJMRSIsIDB4NDAwNDZiMDd9LAoreyJzdW5kZXYva2Jpby5oIiwgIktJT0NUWVBFIiwgMHg0MDA0NmIwOX0sCit7InN1bmRldi9rYmlvLmgiLCAiS0lPQ0dESVJFQ1QiLCAweDQwMDQ2YjBifSwKK3sic3VuZGV2L2tiaW8uaCIsICJLSU9DR0NPTVBBVCIsIDB4NDAwNDZiMTF9LAoreyJzdW5kZXYva2Jpby5oIiwgIktJT0NMQVlPVVQiLCAweDQwMDQ2YjE0fSwKK3sic3lzL3NvY2tpby5oIiwgIlNJT0NHSElXQVQiLCAweDQwMDQ3MzAxfSwKK3sic3lzL3NvY2tpby5oIiwgIlNJT0NHTE9XQVQiLCAweDQwMDQ3MzAzfSwKK3sic3lzL3NvY2tpby5oIiwgIlNJT0NBVE1BUksiLCAweDQwMDQ3MzA3fSwKK3sic3lzL3NvY2tpby5oIiwgIlNJT0NHUEdSUCIsIDB4NDAwNDczMDl9LAoreyJzeXMvdHRvbGQuaCIsICJUSU9DR0VURCIsIDB4NDAwNDc0MDB9LAoreyJzeXMvdHRvbGQuaCIsICJUSU9DTU9ERyIsIDB4NDAwNDc0MDN9LAoreyJzYnVzZGV2L2d0cmVnLmgiLCAiRkJfR0VUV1BBUlQiLCAweDQwMDQ3NDBhfSwKK3sic2J1c2Rldi9ndHJlZy5oIiwgIkZCX0dFVE1PTklUT1IiLCAweDQwMDQ3NDBjfSwKK3sic2J1c2Rldi9ndHJlZy5oIiwgIkZCX0dSQUJIVyIsIDB4NDAwNDc0MTN9LAoreyJzYnVzZGV2L2d0cmVnLmgiLCAiRkJfR0VUQ0xVVFBBUlQiLCAweDQwMDQ3NDE4fSwKK3sic3lzL3R0b2xkLmgiLCAiVElPQ0dFVFgiLCAweDQwMDQ3NDIzfSwKK3sic3lzL3R0eWNvbS5oIiwgIlRJT0NHU09GVENBUiIsIDB4NDAwNDc0NjR9LAoreyJzeXMvdHR5Y29tLmgiLCAiVElPQ01HRVQiLCAweDQwMDQ3NDZhfSwKK3sic3lzL3R0eWNvbS5oIiwgIlRJT0NPVVRRIiwgMHg0MDA0NzQ3M30sCit7InN5cy90dHljb20uaCIsICJUSU9DR1BHUlAiLCAweDQwMDQ3NDc3fSwKK3sic3lzL3R0b2xkLmgiLCAiVElPQ0xHRVQiLCAweDQwMDQ3NDdjfSwKK3sic3lzL3R0eWNvbS5oIiwgIlRJT0NJU1BBQ0UiLCAweDQwMDQ3NDgwfSwKK3sic3lzL3R0eWNvbS5oIiwgIlRJT0NJU0laRSIsIDB4NDAwNDc0ODF9LAoreyJzeXMvdHR5Y29tLmgiLCAiVElPQ0dFVFBHUlAiLCAweDQwMDQ3NDgzfSwKK3sic3lzL3ZjbWQuaCIsICJWR0VUU1RBVEUiLCAweDQwMDQ3NjAwfSwKK3sic3VuZGV2L3Z1aWRfZXZlbnQuaCIsICJWVUlER0ZPUk1BVCIsIDB4NDAwNDc2MDJ9LAoreyJzdW4vZGtpby5oIiwgIkRLSU9DR1RZUEUiLCAweDQwMDY2NDdjfSwKK3sic3lzL3R0b2xkLmgiLCAiVElPQ0dFVFAiLCAweDQwMDY3NDA4fSwKK3sic3lzL3R0b2xkLmgiLCAiVElPQ0dFVEMiLCAweDQwMDY3NDEyfSwKK3sic3lzL3R0b2xkLmgiLCAiVElPQ0dMVEMiLCAweDQwMDY3NDc0fSwKK3sic3VuL3R2aW8uaCIsICJUVklPR1BPUyIsIDB4NDAwODU4MWJ9LAoreyJzdW4vZGtpby5oIiwgIkRLSU9DR1BBUlQiLCAweDQwMDg2NDA0fSwKK3sic3VuL2RraW8uaCIsICJGREtHRVRTRUFSQ0giLCAweDQwMDg2NDZjfSwKK3sic3Vud2luZG93L3dpbl9pb2N0bC5oIiwgIldJTk5FWFRGUkVFIiwgMHg0MDA4NjcwNX0sCit7InN1bndpbmRvdy93aW5faW9jdGwuaCIsICJXSU5HRVRSRUNUIiwgMHg0MDA4NjcwYX0sCit7InN1bndpbmRvdy93aW5faW9jdGwuaCIsICJXSU5HRVRTQVZFRFJFQ1QiLCAweDQwMDg2NzBkfSwKK3sic3Vud2luZG93L3dpbl9pb2N0bC5oIiwgIldJTkdFVEVWRU5UVElNRU9VVCIsIDB4NDAwODY3M2N9LAoreyJzdW53aW5kb3cvd2luX2lvY3RsLmgiLCAiV0lOREJMQ1VSUkVOVCIsIDB4NDAwODY3NGR9LAoreyJzdW4vc3F6LmgiLCAiU1FaR0VUIiwgMHg0MDA4NzEwMn0sCit7InNidXNkZXYvZ3RyZWcuaCIsICJGQl9HRVRMSUdIVFBFTlBBUkFNIiwgMHg0MDA4NzQxYn0sCit7InNidXNkZXYvZ3RyZWcuaCIsICJGQl9HRVRHQU1NQSIsIDB4NDAwODc0MjB9LAoreyJzeXMvdHR5Y29tLmgiLCAiVElPQ0dTSVpFIiwgMHg0MDA4NzQyNn0sCit7InN5cy90dG9sZC5oIiwgIl9PX1RJT0NHU0laRSIsIDB4NDAwODc0NjZ9LAoreyJzeXMvdHR5Y29tLmgiLCAiVElPQ0dXSU5TWiIsIDB4NDAwODc0Njh9LAoreyJzdW4vZGtpby5oIiwgIkRLSU9DSU5GTyIsIDB4NDAwYzY0MDh9LAoreyJzdW4vZGtpby5oIiwgIkRLSU9DR0RJQUciLCAweDQwMGM2NDc0fSwKK3sic3VuL2RraW8uaCIsICJES0lPQ0dMT0ciLCAweDQwMGM2NDc2fSwKK3sic3Vud2luZG93L3dpbl9pb2N0bC5oIiwgIldJTkdFVEZPQ1VTRVZFTlQiLCAweDQwMGM2NzQ3fSwKK3sic3Vud2luZG93L3dpbl9pb2N0bC5oIiwgIldJTkdFVFNXQUxMT1dFVkVOVCIsIDB4NDAwYzY3NDl9LAoreyJwaXhyZWN0L2NnOHZhci5oIiwgIlBJUElPX0dfRU1VTEFUSU9OX01PREUiLCAweDQwMGU1ODAzfSwKK3sic3VuL2ZiaW8uaCIsICJGQklPR1hJTkZPIiwgMHg0MDEwNDYyN30sCit7InN5cy9zdHJvcHRzLmgiLCAiSV9SRUNWRkQiLCAweDQwMTA1MzEyfSwKK3sic3Ryb3B0cy5oIiwgIklfUkVDVkZEIiwgMHg0MDEwNTMxMn0sCit7InN1bndpbmRvdy93aW5faW9jdGwuaCIsICJXSU5HRVRTQ1JFRU5QT1NJVElPTlMiLCAweDQwMTA2NzJkfSwKK3sic2NzaS90YXJnZXRzL3N0ZGVmLmgiLCAiU1RJT0NHRVQiLCAweDQwMTA2ZDAyfSwKK3sic3VuZGV2L3N0cmVnLmgiLCAiU1RJT0NHRVQiLCAweDQwMTA2ZDAyfSwKK3sic3lzL3Rlcm1pby5oIiwgIlRDR0VUQSIsIDB4NDAxMjU0MDF9LAoreyJ0ZXJtaW8uaCIsICJUQ0dFVEEiLCAweDQwMTI1NDAxfSwKK3sic3Vud2luZG93L3dpbl9pb2N0bC5oIiwgIldJTkdFVEFWQUlMUExBTkVHUk9VUFMiLCAweDQwMTQ2NzQyfSwKK3sic3VuL2ZiaW8uaCIsICJGQklPR1RZUEUiLCAweDQwMTg0NjAwfSwKK3sic3VuL2ZiaW8uaCIsICJGQklPR0lORk8iLCAweDQwMTg0NjAyfSwKK3sic3VuL2ZiaW8uaCIsICJGQklPREJMR0lORk8iLCAweDQwMTg0NjEyfSwKK3sic3lzL210aW8uaCIsICJNVElPQ0dFVCIsIDB4NDAxODZkMDJ9LAoreyJzdW4vZGtpby5oIiwgIkZES0lPR0NIQVIiLCAweDQwMWM2NDcyfSwKK3sic3VuL2ZiaW8uaCIsICJGQklPTU9OSU5GTyIsIDB4NDAyMDQ2Mjh9LAoreyJzYnVzZGV2L2JwcF9pby5oIiwgIkJQUElPQ19HRVRQQVJNUyIsIDB4NDAyMDYyMDJ9LAoreyJzYnVzZGV2L2d0cmVnLmgiLCAiRkJfR1RfR0VUVkVSU0lPTiIsIDB4NDAyMDc0Mjl9LAoreyJzeXMvdGVybWlvcy5oIiwgIlRDR0VUUyIsIDB4NDAyNDU0MDh9LAoreyJ0ZXJtaW9zLmgiLCAiVENHRVRTIiwgMHg0MDI0NTQwOH0sCit7InN1bi9ka2lvLmgiLCAiREtJT0NHR0VPTSIsIDB4NDAyNjY0MDJ9LAoreyJzdW53aW5kb3cvd2luX2lvY3RsLmgiLCAiV0lOR0VUS0JETUFTSyIsIDB4NDAzNDY3MzR9LAoreyJzdW53aW5kb3cvd2luX2lvY3RsLmgiLCAiV0lOR0VUUElDS01BU0siLCAweDQwMzQ2NzM1fSwKK3sic3VuL2RraW8uaCIsICJGREtHRVREUklWRUNIQVIiLCAweDQwMzg2NDZlfSwKK3sic3VuL2RraW8uaCIsICJES0lPQ0dDT05GIiwgMHg0MDNjNjQ3ZX0sCit7InN1bi90dmlvLmgiLCAiVFZJT0dWSURFT0NBTCIsIDB4NDA0MDU4MzF9LAoreyJzdW4vdHZpby5oIiwgIlRWSU9OVlJFQUQiLCAweDQwNDA1ODMzfSwKK3sic3VuL2RraW8uaCIsICJES0lPQ0dBUEFSVCIsIDB4NDA0MDY0N2F9LAoreyJzdW53aW5kb3cvd2luX2lvY3RsLmgiLCAiV0lOR0VUU0NBTElORyIsIDB4NDA0MDY3MjZ9LAoreyJzdW4vZmJpby5oIiwgIkZCSU9HQVRUUiIsIDB4NDA1ODQ2MDZ9LAoreyJzdW53aW5kb3cvd2luX2lvY3RsLmgiLCAiV0lOU0NSRUVOR0VUIiwgMHg0MDY0NjcyOX0sCit7InN1bndpbmRvdy93aW5faW9jdGwuaCIsICJXSU5HRVRJTlBVVE1BU0siLCAweDQwNmM2NzEzfSwKK3sic3VuL2F1ZGlvaW8uaCIsICJBVURJT19HRVRJTkZPIiwgMHg0MDg0NDEwMX0sCit7InBpeHJlY3QvY2c4dmFyLmgiLCAiUElQSU9fR19GQl9JTkZPIiwgMHg0MGQwNTgwMX0sCit7InN1bmRldi9rYmlvLmgiLCAiS0lPQ1NMRUQiLCAweDgwMDE2YjBlfSwKK3sic3VuZGV2L3BwcmVnLmgiLCAiUFBJT0NTRVRDIiwgMHg4MDAxNzAwMn0sCit7InN5cy90dHljb20uaCIsICJUSU9DU1RJIiwgMHg4MDAxNzQ3Mn0sCit7InN1bi90dmlvLmgiLCAiVFZJT1NCSU5EIiwgMHg4MDAyNTgyMH0sCit7InNidXNkZXYvYnBwX2lvLmgiLCAiQlBQSU9DX1NFVE9VVFBJTlMiLCAweDgwMDI2MjAzfSwKK3sic3VuL2lzZG5pby5oIiwgIklTRE5fTUVTU0FHRV9TRVQiLCAweDgwMDQ0MTBjfSwKK3sic3VuL2ZiaW8uaCIsICJGQklPU1ZJREVPIiwgMHg4MDA0NDYwN30sCit7InN1bi9mYmlvLmgiLCAiRkJJT1ZFUlRJQ0FMIiwgMHg4MDA0NDYwOX0sCit7InN1bi9mYmlvLmgiLCAiR1JBQlBBR0VGUkVFIiwgMHg4MDA0NDYwYn0sCit7InN1bi9mYmlvLmgiLCAiR1JBQkFUVEFDSCIsIDB4ODAwNDQ2MGN9LAoreyJzdW4vZmJpby5oIiwgIkZCSU9TQ01TSVpFIiwgMHg4MDA0NDYwZn0sCit7InN1bi9mYmlvLmgiLCAiRkJJT1NDTVMiLCAweDgwMDQ0NjEwfSwKK3sic3VuL2ZiaW8uaCIsICJGQklPU0NVUlBPUyIsIDB4ODAwNDQ2MWF9LAoreyJzdW4vZmJpby5oIiwgIkZCSU9HQ1VSUE9TIiwgMHg4MDA0NDYxYn0sCit7InN1bi9mYmlvLmgiLCAiRkJJT19VX1JTVCIsIDB4ODAwNDQ2MjN9LAoreyJzdW4vZ3Bpby5oIiwgIkdQMUlPX0ZSRUVfU1RBVElDX0JMT0NLIiwgMHg4MDA0NDcwMn0sCit7InN1bi9ncGlvLmgiLCAiR1AxSU9fQ0hLX0dQIiwgMHg4MDA0NDcwNH0sCit7InN1bi9ncGlvLmgiLCAiR1AxSU9fUkVESVJFQ1RfREVWRkIiLCAweDgwMDQ0NzA2fSwKK3sic3VuL2dwaW8uaCIsICJHUDFJT19TRVRfVVNJTkdfR0JVRkZFUiIsIDB4ODAwNDQ3MGF9LAoreyJzdW4vbWVtLmgiLCAiTU1fQ0NSVyIsIDB4ODAwNDRkMDN9LAoreyJzdW4vbWVtLmgiLCAiTU1fUENOVDAiLCAweDgwMDQ0ZDA0fSwKK3sic3VuL21lbS5oIiwgIk1NX1BDTlQxIiwgMHg4MDA0NGQwNX0sCit7InN1bi92ZGRydi5oIiwgIlZERlJFRVZBRERSIiwgMHg4MDA0NTYwNH0sCit7InN1bi90dmlvLmgiLCAiVFZJT1NGT1JNQVQiLCAweDgwMDQ1ODAyfSwKK3sic3VuL3R2aW8uaCIsICJUVklPU0NPTVBPVVQiLCAweDgwMDQ1ODA0fSwKK3sic3VuL3R2aW8uaCIsICJUVklPU1NZTkMiLCAweDgwMDQ1ODA2fSwKK3sicGl4cmVjdC9jZzh2YXIuaCIsICJQSVBJT19TX1BJUF9PTl9PRkYiLCAweDgwMDQ1ODA3fSwKK3sic3VuL3R2aW8uaCIsICJUVklPU09VVCIsIDB4ODAwNDU4MDh9LAoreyJzdW4vdHZpby5oIiwgIlRWSU9TQ09NUFJFU1MiLCAweDgwMDQ1ODBhfSwKK3sic3VuL3R2aW8uaCIsICJUVklPU0NIUk9NQUdBSU4iLCAweDgwMDQ1ODBjfSwKK3sic3VuL3R2aW8uaCIsICJUVklPU1JFREdBSU4iLCAweDgwMDQ1ODBlfSwKK3sic3VuL3R2aW8uaCIsICJUVklPU1JFREJMQUNLIiwgMHg4MDA0NTgxMH0sCit7InN1bi90dmlvLmgiLCAiVFZJT1NHUkVFTkdBSU4iLCAweDgwMDQ1ODEyfSwKK3sic3VuL3R2aW8uaCIsICJUVklPU0dSRUVOQkxBQ0siLCAweDgwMDQ1ODE0fSwKK3sic3VuL3R2aW8uaCIsICJUVklPU0JMVUVHQUlOIiwgMHg4MDA0NTgxNn0sCit7InN1bi90dmlvLmgiLCAiVFZJT1NCTFVFQkxBQ0siLCAweDgwMDQ1ODE4fSwKK3sic3VuL3R2aW8uaCIsICJUVklPU0xVTUFHQUlOIiwgMHg4MDA0NTgxYX0sCit7InN1bi90dmlvLmgiLCAiVFZJT1NMSVZFIiwgMHg4MDA0NTgyNH0sCit7InN1bi90dmlvLmgiLCAiVFZJT1NDSFJPTUFTRVAiLCAweDgwMDQ1ODI4fSwKK3sicGl4cmVjdC9jZzh2YXIuaCIsICJQSVBJT19TX0NVUlNPUl9DT0xPUl9GUkVFWkUiLCAweDgwMDQ1ODI5fSwKK3sicGl4cmVjdC9jZzh2YXIuaCIsICJQSVBJT19TX01BUF9TTE9UIiwgMHg4MDA0NTgyYX0sCit7InN1bi90dmlvLmgiLCAiVFZJT1NDSFJPTUFERU1PRCIsIDB4ODAwNDU4MmF9LAoreyJwaXhyZWN0L2NnOHZhci5oIiwgIlBJUElPX1NfVEVTVCIsIDB4ODAwNDU4MmN9LAoreyJzdW4vdHZpby5oIiwgIlRWSU9TR0VOTE9DSyIsIDB4ODAwNDU4MmN9LAoreyJzdW4vdHZpby5oIiwgIlRWSU9TSUJBRFZBTkNFIiwgMHg4MDA0NTgzNX0sCit7InN1bi90dmlvLmgiLCAiVFZJT1NBQlNUQVRFIiwgMHg4MDA0NTgzOH0sCit7InN1bi90dmlvLmgiLCAiVFZJT1NDT05UUk9MIiwgMHg4MDA0NTgzY30sCit7InN1bmRldi9zcnJlZy5oIiwgIkNEUk9NUExBWVRSS0lORCIsIDB4ODAwNDYzMGR9LAoreyJzY3NpL3RhcmdldHMvc3JkZWYuaCIsICJDRFJPTVBMQVlUUktJTkQiLCAweDgwMDQ2MzBkfSwKK3sic3VuZGV2L3NycmVnLmgiLCAiQ0RST01WT0xDVFJMIiwgMHg4MDA0NjMwZX0sCit7InN1bi9ka2lvLmgiLCAiREtJT0NHQkFEIiwgMHg4MDA0NjQ3OH0sCit7InN1bi9ka2lvLmgiLCAiREtJT0NTQkFEIiwgMHg4MDA0NjQ3OX0sCit7InN5cy9maWxpby5oIiwgIkZJT1NFVE9XTiIsIDB4ODAwNDY2N2N9LAoreyJzeXMvZmlsaW8uaCIsICJGSU9BU1lOQyIsIDB4ODAwNDY2N2R9LAoreyJzeXMvZmlsaW8uaCIsICJGSU9OQklPIiwgMHg4MDA0NjY3ZX0sCit7InN1bndpbmRvdy93aW5faW9jdGwuaCIsICJXSU5TRVRNT1VTRSIsIDB4ODAwNDY3MDZ9LAoreyJzdW53aW5kb3cvd2luX2lvY3RsLmgiLCAiV0lOU0VUVVNFUkZMQUdTIiwgMHg4MDA0NjcwZn0sCit7InN1bndpbmRvdy93aW5faW9jdGwuaCIsICJXSU5TRVRPV05FUiIsIDB4ODAwNDY3MTF9LAoreyJzdW53aW5kb3cvd2luX2lvY3RsLmgiLCAiV0lORE9ORURBTUFHRUQiLCAweDgwMDQ2NzIxfSwKK3sic3Vud2luZG93L3dpbl9pb2N0bC5oIiwgIldJTlNFVEJVVFRPTk9SREVSIiwgMHg4MDA0NjcyNX0sCit7InN1bndpbmRvdy93aW5faW9jdGwuaCIsICJXSU5TRVRORVhUSU5QVVQiLCAweDgwMDQ2NzM4fSwKK3sic3Vud2luZG93L3dpbl9pb2N0bC5oIiwgIldJTlNFVEtCREZPQ1VTIiwgMHg4MDA0NjczZH0sCit7InN1bndpbmRvdy93aW5faW9jdGwuaCIsICJXSU5TRVRQTEFORUdST1VQIiwgMHg4MDA0NjczZn0sCit7InN1bndpbmRvdy93aW5faW9jdGwuaCIsICJXSU5TRVROT1RJRllBTEwiLCAweDgwMDQ2NzUyfSwKK3sic3Vud2luZG93L3dpbl9pb2N0bC5oIiwgIldJTlNFVFJFQ1FVRSIsIDB4ODAwNDY3Yzh9LAoreyJzdW53aW5kb3cvd2luX2lvY3RsLmgiLCAiV0lOU0VUUkVDT1JEIiwgMHg4MDA0NjdjOX0sCit7InN1bndpbmRvdy93aW5faW9jdGwuaCIsICJXSU5TRVRQTEFZQkFDSyIsIDB4ODAwNDY3Y2J9LAoreyJzeXMvc29ja2lvLmgiLCAiU0lPQ1NQUk9NSVNDIiwgMHg4MDA0NjkzMH0sCit7InN1bmRldi9rYmlvLmgiLCAiS0lPQ1RSQU5TIiwgMHg4MDA0NmIwMH0sCit7InN1bmRldi9rYmlvLmgiLCAiS0lPQ1RSQU5TQUJMRSIsIDB4ODAwNDZiMDZ9LAoreyJzdW5kZXYva2Jpby5oIiwgIktJT0NDTUQiLCAweDgwMDQ2YjA4fSwKK3sic3VuZGV2L2tiaW8uaCIsICJLSU9DU0RJUkVDVCIsIDB4ODAwNDZiMGF9LAoreyJzdW5kZXYva2Jpby5oIiwgIktJT0NTQ09NUEFUIiwgMHg4MDA0NmIxMH0sCit7InN1bi9uZGlvLmgiLCAiTkRJT0NTQVQiLCAweDgwMDQ2ZTA0fSwKK3sic3VuL25kaW8uaCIsICJORElPQ1ZFUiIsIDB4ODAwNDZlMDd9LAoreyJuZXQvbml0X2lmLmgiLCAiTklPQ1NGTEFHUyIsIDB4ODAwNDcwMDR9LAoreyJuZXQvbml0X2lmLmgiLCAiTklPQ1NTTkFQIiwgMHg4MDA0NzAwNn0sCit7Im5ldC9uaXRfYnVmLmgiLCAiTklPQ1NDSFVOSyIsIDB4ODAwNDcwMDl9LAoreyJzdW4vc3F6LmgiLCAiU1FaU0VUIiwgMHg4MDA0NzEwMX0sCit7InN5cy9zb2NraW8uaCIsICJTSU9DU0hJV0FUIiwgMHg4MDA0NzMwMH0sCit7InN5cy9zb2NraW8uaCIsICJTSU9DU0xPV0FUIiwgMHg4MDA0NzMwMn0sCit7InN5cy9zb2NraW8uaCIsICJTSU9DU1BHUlAiLCAweDgwMDQ3MzA4fSwKK3sic3lzL3R0b2xkLmgiLCAiVElPQ1NFVEQiLCAweDgwMDQ3NDAxfSwKK3sic3lzL3R0b2xkLmgiLCAiVElPQ01PRFMiLCAweDgwMDQ3NDA0fSwKK3sic2J1c2Rldi9ndHJlZy5oIiwgIkZCX0ZDU0ZSRUUiLCAweDgwMDQ3NDA2fSwKK3sic2J1c2Rldi9ndHJlZy5oIiwgIkZCX1NFVERJQUdNT0RFIiwgMHg4MDA0NzQwOH0sCit7InNidXNkZXYvZ3RyZWcuaCIsICJGQl9TRVRXUEFSVCIsIDB4ODAwNDc0MDl9LAoreyJzYnVzZGV2L2d0cmVnLmgiLCAiRkJfU0VUTU9OSVRPUiIsIDB4ODAwNDc0MGJ9LAoreyJzeXMvdHRvbGQuaCIsICJUSU9DRkxVU0giLCAweDgwMDQ3NDEwfSwKK3sic2J1c2Rldi9ndHJlZy5oIiwgIkZCX0xPQURLTUNCIiwgMHg4MDA0NzQxMX0sCit7InNidXNkZXYvZ3RyZWcuaCIsICJGQl9TRVRDTFVUUEFSVCIsIDB4ODAwNDc0MTd9LAoreyJzYnVzZGV2L2d0cmVnLmgiLCAiRkJfTElHSFRQRU5FTkFCTEUiLCAweDgwMDQ3NDE5fSwKK3sic3lzL3R0eWNvbS5oIiwgIlRJT0NUQ05UTCIsIDB4ODAwNDc0MjB9LAoreyJzeXMvdHR5Y29tLmgiLCAiVElPQ1NJR05BTCIsIDB4ODAwNDc0MjF9LAoreyJzeXMvdHRvbGQuaCIsICJUSU9DU0VUWCIsIDB4ODAwNDc0MjJ9LAoreyJzeXMvdHR5Y29tLmgiLCAiVElPQ1NTT0ZUQ0FSIiwgMHg4MDA0NzQ2NX0sCit7InN5cy90dHljb20uaCIsICJUSU9DVUNOVEwiLCAweDgwMDQ3NDY2fSwKK3sic3lzL3R0eWNvbS5oIiwgIlRJT0NSRU1PVEUiLCAweDgwMDQ3NDY5fSwKK3sic3lzL3R0eWNvbS5oIiwgIlRJT0NNQklDIiwgMHg4MDA0NzQ2Yn0sCit7InN5cy90dHljb20uaCIsICJUSU9DTUJJUyIsIDB4ODAwNDc0NmN9LAoreyJzeXMvdHR5Y29tLmgiLCAiVElPQ01TRVQiLCAweDgwMDQ3NDZkfSwKK3sic3lzL3R0eWNvbS5oIiwgIlRJT0NQS1QiLCAweDgwMDQ3NDcwfSwKK3sic3lzL3R0eWNvbS5oIiwgIlRJT0NTUEdSUCIsIDB4ODAwNDc0NzZ9LAoreyJzeXMvdHRvbGQuaCIsICJUSU9DTFNFVCIsIDB4ODAwNDc0N2R9LAoreyJzeXMvdHRvbGQuaCIsICJUSU9DTEJJQyIsIDB4ODAwNDc0N2V9LAoreyJzeXMvdHRvbGQuaCIsICJUSU9DTEJJUyIsIDB4ODAwNDc0N2Z9LAoreyJzeXMvdHR5Y29tLmgiLCAiVElPQ1NFVFBHUlAiLCAweDgwMDQ3NDgyfSwKK3sic3VuZGV2L3Z1aWRfZXZlbnQuaCIsICJWVUlEU0ZPUk1BVCIsIDB4ODAwNDc2MDF9LAoreyJzeXMvdmNtZC5oIiwgIlZTRVRTVEFURSIsIDB4ODAwNDc2MDF9LAoreyJzdW5kZXYvdnVpZF9ldmVudC5oIiwgIlZVSURTQUREUiIsIDB4ODAwNDc2MDN9LAoreyJzY3NpL3RhcmdldHMvc3JkZWYuaCIsICJDRFJPTVBMQVlNU0YiLCAweDgwMDY2MzBjfSwKK3sic3VuZGV2L3NycmVnLmgiLCAiQ0RST01QTEFZTVNGIiwgMHg4MDA2NjMwY30sCit7InN1bi9ka2lvLmgiLCAiREtJT0NTVFlQRSIsIDB4ODAwNjY0N2R9LAoreyJzeXMvdHRvbGQuaCIsICJUSU9DU0VUUCIsIDB4ODAwNjc0MDl9LAoreyJzeXMvdHRvbGQuaCIsICJUSU9DU0VUTiIsIDB4ODAwNjc0MGF9LAoreyJzeXMvdHRvbGQuaCIsICJUSU9DU0VUQyIsIDB4ODAwNjc0MTF9LAoreyJzeXMvdHRvbGQuaCIsICJUSU9DU0xUQyIsIDB4ODAwNjc0NzV9LAoreyJzdW4vaXNkbmlvLmgiLCAiSVNETl9TRVRfTE9PUEJBQ0siLCAweDgwMDg0MTBlfSwKK3sic3VuL2lzZG5pby5oIiwgIklTRE5fUkVTRVRfTE9PUEJBQ0siLCAweDgwMDg0MTBmfSwKK3sic3VuZGV2L2xpZ2h0cGVucmVnLmgiLCAiTElHSFRQRU5fQ0FMSUJSQVRFIiwgMHg4MDA4NGMwMX0sCit7InN1bi90dmlvLmgiLCAiVFZJT1NQT1MiLCAweDgwMDg1ODFjfSwKK3sic3VuL2RraW8uaCIsICJES0lPQ1NQQVJUIiwgMHg4MDA4NjQwNX0sCit7InN1bi9ka2lvLmgiLCAiRkRLU0VUU0VBUkNIIiwgMHg4MDA4NjQ2Yn0sCit7InN1bndpbmRvdy93aW5faW9jdGwuaCIsICJXSU5TRVRMSU5LIiwgMHg4MDA4NjcwMX0sCit7InN1bndpbmRvdy93aW5faW9jdGwuaCIsICJXSU5TRVRSRUNUIiwgMHg4MDA4NjcwYn0sCit7InN1bndpbmRvdy93aW5faW9jdGwuaCIsICJXSU5TRVRTQVZFRFJFQ1QiLCAweDgwMDg2NzBjfSwKK3sic3Vud2luZG93L3dpbl9pb2N0bC5oIiwgIldJTlBBUlRJQUxSRVBBSVIiLCAweDgwMDg2NzJifSwKK3sic3Vud2luZG93L3dpbl9pb2N0bC5oIiwgIldJTlNFVEVWRU5UVElNRU9VVCIsIDB4ODAwODY3M2J9LAoreyJzdW53aW5kb3cvd2luX2lvY3RsLmgiLCAiV0lOREJMU0VUIiwgMHg4MDA4Njc0Yn0sCit7InN1bndpbmRvdy93aW5faW9jdGwuaCIsICJXSU5TRVRQTEFZSU5UUiIsIDB4ODAwODY3Y2N9LAoreyJzeXMvbXRpby5oIiwgIk1USU9DVE9QIiwgMHg4MDA4NmQwMX0sCit7Im5ldC9uaXRfYnVmLmgiLCAiTklPQ1NUSU1FIiwgMHg4MDA4NzAwNn0sCit7InNidXNkZXYvZ3RyZWcuaCIsICJGQl9WTUJBQ0siLCAweDgwMDg3NDE1fSwKK3sic2J1c2Rldi9ndHJlZy5oIiwgIkZCX1ZNVU5CQUNLIiwgMHg4MDA4NzQxNn0sCit7InNidXNkZXYvZ3RyZWcuaCIsICJGQl9TRVRMSUdIVFBFTlBBUkFNIiwgMHg4MDA4NzQxYX0sCit7InNidXNkZXYvZ3RyZWcuaCIsICJGQl9TRVRHQU1NQSIsIDB4ODAwODc0MWZ9LAoreyJzeXMvdHR5Y29tLmgiLCAiVElPQ1NTSVpFIiwgMHg4MDA4NzQyNX0sCit7InN5cy90dG9sZC5oIiwgIl9PX1RJT0NTU0laRSIsIDB4ODAwODc0Njd9LAoreyJzeXMvdHR5Y29tLmgiLCAiVElPQ1NXSU5TWiIsIDB4ODAwODc0Njd9LAoreyJzdW4vaXNkbmlvLmgiLCAiSVNETl9TRVRfUEFSQU0iLCAweDgwMGM0MTEwfSwKK3sic3VuL2ZiaW8uaCIsICJGQklPX1dJRF9GUkVFIiwgMHg4MDBjNDYxZn0sCit7InN1bi9mYmlvLmgiLCAiRkJJT19XSURfUFVUIiwgMHg4MDBjNDYyMH0sCit7InN1bi9mYmlvLmgiLCAiRkJJT19XSURfR0VUIiwgMHg4MDBjNDYyMX0sCit7InN1bmRldi9saWdodHBlbnJlZy5oIiwgIkxJR0hUUEVOX0ZJTFRFUiIsIDB4ODAwYzRjMDJ9LAoreyJzdW5kZXYvZmRyZWcuaCIsICJWX0ZPUk1BVCIsIDB4ODAwYzU2MDV9LAoreyJzdW5kZXYvc3JyZWcuaCIsICJDRFJPTVJFQURNT0RFMiIsIDB4ODAwYzYzNmV9LAoreyJzdW5kZXYvc3JyZWcuaCIsICJDRFJPTVJFQURNT0RFMSIsIDB4ODAwYzYzNmZ9LAoreyJzdW53aW5kb3cvd2luX2lvY3RsLmgiLCAiV0lOU0VUQ1VSU09SIiwgMHg4MDBjNjcwN30sCit7InN1bndpbmRvdy93aW5faW9jdGwuaCIsICJXSU5TRVRGT0NVU0VWRU5UIiwgMHg4MDBjNjc0Nn0sCit7InN1bndpbmRvdy93aW5faW9jdGwuaCIsICJXSU5TRVRTV0FMTE9XRVZFTlQiLCAweDgwMGM2NzQ4fSwKK3sic3VuZGV2L21zaW8uaCIsICJNU0lPU0VUUEFSTVMiLCAweDgwMGM2ZDAzfSwKK3sic2J1c2Rldi9ndHJlZy5oIiwgIkZCX0NMVVRGUkVFIiwgMHg4MDBjNzQwMn0sCit7InNidXNkZXYvZ3RyZWcuaCIsICJGQl9WTUNUTCIsIDB4ODAwYzc0MWV9LAoreyJwaXhyZWN0L2NnOHZhci5oIiwgIlBJUElPX1NfRU1VTEFUSU9OX01PREUiLCAweDgwMGU1ODA0fSwKK3sic3Vud2luZG93L3dpbl9pb2N0bC5oIiwgIldJTlNDUkVFTlBPU0lUSU9OUyIsIDB4ODAxMDY3MmJ9LAoreyJzdW5kZXYva2Jpby5oIiwgIktJT0NTRVRLRVkiLCAweDgwMTA2YjAxfSwKK3sic3VuL25kaW8uaCIsICJORElPQ0VUSEVSIiwgMHg4MDEwNmUwOH0sCit7InN5cy90ZXJtaW8uaCIsICJUQ1NFVEEiLCAweDgwMTI1NDAyfSwKK3sidGVybWlvLmgiLCAiVENTRVRBIiwgMHg4MDEyNTQwMn0sCit7InN5cy90ZXJtaW8uaCIsICJUQ1NFVEFXIiwgMHg4MDEyNTQwM30sCit7InRlcm1pby5oIiwgIlRDU0VUQVciLCAweDgwMTI1NDAzfSwKK3sic3lzL3Rlcm1pby5oIiwgIlRDU0VUQUYiLCAweDgwMTI1NDA0fSwKK3sidGVybWlvLmgiLCAiVENTRVRBRiIsIDB4ODAxMjU0MDR9LAoreyJzdW4vZmJpby5oIiwgIkZCSU9QVVRDTUFQIiwgMHg4MDE0NDYwM30sCit7InN1bi9mYmlvLmgiLCAiRkJJT0dFVENNQVAiLCAweDgwMTQ0NjA0fSwKK3sic3Vud2luZG93L3dpbl9pb2N0bC5oIiwgIldJTlNFVEFWQUlMUExBTkVHUk9VUFMiLCAweDgwMTQ2NzQxfSwKK3sic3Vud2luZG93L3dpbl9pb2N0bC5oIiwgIldJTlNFVFNZTkNQVCIsIDB4ODAxNDY3Y2R9LAoreyJzdW5kZXYva2Jpby5oIiwgIktJT0NTS0VZIiwgMHg4MDE0NmIwY30sCit7InN1bi9mYmlvLmgiLCAiRkJJT0RCTFNJTkZPIiwgMHg4MDE4NDYxM30sCit7InN1bi9ncGlvLmgiLCAiR1AxSU9fUFVUX0lORk8iLCAweDgwMTg0NzAwfSwKK3sic3VuL2RraW8uaCIsICJES0lPQ1NDTUQiLCAweDgwMTg2NDc3fSwKK3sic3Vud2luZG93L3dpbl9pb2N0bC5oIiwgIldJTlNFVElOUFVUREVWIiwgMHg4MDE4NjczMn0sCit7InN1bi9uZGlvLmgiLCAiTkRJT0NVU0VSIiwgMHg4MDE4NmUwM30sCit7InN1bi9mYmlvLmgiLCAiRkJJT1BVVENNQVBJIiwgMHg4MDFjNDYyOX0sCit7InN1bi9mYmlvLmgiLCAiRkJJT0dFVENNQVBJIiwgMHg4MDFjNDYyYX0sCit7InN1bi9ka2lvLmgiLCAiRkRLSU9TQ0hBUiIsIDB4ODAxYzY0NzF9LAoreyJzYnVzZGV2L2d0cmVnLmgiLCAiRkJfQ0xVVFBPU1QiLCAweDgwMWM3NDA0fSwKK3sic2J1c2Rldi9icHBfaW8uaCIsICJCUFBJT0NfU0VUUEFSTVMiLCAweDgwMjA2MjAxfSwKK3sic3lzL3NvY2tpby5oIiwgIlNJT0NTSUZBRERSIiwgMHg4MDIwNjkwY30sCit7InN5cy9zb2NraW8uaCIsICJTSU9DU0lGRFNUQUREUiIsIDB4ODAyMDY5MGV9LAoreyJzeXMvc29ja2lvLmgiLCAiU0lPQ1NJRkZMQUdTIiwgMHg4MDIwNjkxMH0sCit7InN5cy9zb2NraW8uaCIsICJTSU9DU0lGTUVNIiwgMHg4MDIwNjkxMn0sCit7InN5cy9zb2NraW8uaCIsICJTSU9DU0lGTVRVIiwgMHg4MDIwNjkxNX0sCit7InN5cy9zb2NraW8uaCIsICJTSU9DU0lGQlJEQUREUiIsIDB4ODAyMDY5MTh9LAoreyJzeXMvc29ja2lvLmgiLCAiU0lPQ1NJRk5FVE1BU0siLCAweDgwMjA2OTFhfSwKK3sic3lzL3NvY2tpby5oIiwgIlNJT0NTSUZNRVRSSUMiLCAweDgwMjA2OTFjfSwKK3sic3lzL3NvY2tpby5oIiwgIlNJT0NVUFBFUiIsIDB4ODAyMDY5Mjh9LAoreyJzeXMvc29ja2lvLmgiLCAiU0lPQ0xPV0VSIiwgMHg4MDIwNjkyOX0sCit7InN5cy9zb2NraW8uaCIsICJTSU9DU0VUU1lOQyIsIDB4ODAyMDY5MmN9LAoreyJzeXMvc29ja2lvLmgiLCAiU0lPQ0FERE1VTFRJIiwgMHg4MDIwNjkzMX0sCit7InN5cy9zb2NraW8uaCIsICJTSU9DREVMTVVMVEkiLCAweDgwMjA2OTMyfSwKK3sic3lzL3NvY2tpby5oIiwgIlNJT0NGRFJFU0VUIiwgMHg4MDIwNjkzM30sCit7InN5cy9zb2NraW8uaCIsICJTSU9DRkRTTEVFUCIsIDB4ODAyMDY5MzR9LAoreyJzeXMvc29ja2lvLmgiLCAiU0lPQ0xETlNUUlRGVyIsIDB4ODAyMDY5MzZ9LAoreyJzeXMvc29ja2lvLmgiLCAiU0lPQ0dFVEZEU1RBVCIsIDB4ODAyMDY5Mzd9LAoreyJzeXMvc29ja2lvLmgiLCAiU0lPQ0ZETk1JSU5UIiwgMHg4MDIwNjkzOH0sCit7InN5cy9zb2NraW8uaCIsICJTSU9DRkRFWFVTRVIiLCAweDgwMjA2OTM5fSwKK3sic3lzL3NvY2tpby5oIiwgIlNJT0NGREdORVRNQVAiLCAweDgwMjA2OTNhfSwKK3sic3lzL3NvY2tpby5oIiwgIlNJT0NGREdJT0NUTCIsIDB4ODAyMDY5M2J9LAoreyJuZXQvbml0X2lmLmgiLCAiTklPQ0JJTkQiLCAweDgwMjA3MDAzfSwKK3sic2J1c2Rldi9ndHJlZy5oIiwgIkZCX0dUX1NFVFZFUlNJT04iLCAweDgwMjA3NDI4fSwKK3sic3lzL3N0cm9wdHMuaCIsICJJX0ZESU5TRVJUIiwgMHg4MDI0NTMxMH0sCit7InN0cm9wdHMuaCIsICJJX0ZESU5TRVJUIiwgMHg4MDI0NTMxMH0sCit7InRlcm1pb3MuaCIsICJUQ1NFVFMiLCAweDgwMjQ1NDA5fSwKK3sic3lzL3Rlcm1pb3MuaCIsICJUQ1NFVFMiLCAweDgwMjQ1NDA5fSwKK3sidGVybWlvcy5oIiwgIlRDU0VUU1ciLCAweDgwMjQ1NDBhfSwKK3sic3lzL3Rlcm1pb3MuaCIsICJUQ1NFVFNXIiwgMHg4MDI0NTQwYX0sCit7InRlcm1pb3MuaCIsICJUQ1NFVFNGIiwgMHg4MDI0NTQwYn0sCit7InN5cy90ZXJtaW9zLmgiLCAiVENTRVRTRiIsIDB4ODAyNDU0MGJ9LAoreyJzeXMvc29ja2lvLmgiLCAiU0lPQ1NBUlAiLCAweDgwMjQ2OTFlfSwKK3sic3lzL3NvY2tpby5oIiwgIlNJT0NEQVJQIiwgMHg4MDI0NjkyMH0sCit7InN5cy9zb2NraW8uaCIsICJTSU9DU05JVCIsIDB4ODAyNDcwMDB9LAoreyJzdW4vZGtpby5oIiwgIkRLSU9DU0dFT00iLCAweDgwMjY2NDAzfSwKK3sic3VuL2ZiaW8uaCIsICJGQklPU0FUVFIiLCAweDgwMjg0NjA1fSwKK3sic3VuL2ZiaW8uaCIsICJGQklPU0NVUlNPUiIsIDB4ODAyYzQ2MTh9LAoreyJzdW53aW5kb3cvd2luX2lvY3RsLmgiLCAiV0lOU0VUTE9DQVRPUiIsIDB4ODAzMDY3MzB9LAoreyJzdW53aW5kb3cvd2luX2lvY3RsLmgiLCAiV0lOU0VUQ1BDVVJTT1IiLCAweDgwMzA2Nzk2fSwKK3sic2J1c2Rldi9hdWRpb183OUMzMC5oIiwgIkFVRElPU0VUUkVHIiwgMHg4MDMwNjkwMn0sCit7InN5cy9zb2NraW8uaCIsICJTSU9DQUREUlQiLCAweDgwMzA3MjBhfSwKK3sic3lzL3NvY2tpby5oIiwgIlNJT0NERUxSVCIsIDB4ODAzMDcyMGJ9LAoreyJzdW53aW5kb3cvd2luX2lvY3RsLmgiLCAiV0lOU0VUS0JETUFTSyIsIDB4ODAzNDY3MzZ9LAoreyJzdW53aW5kb3cvd2luX2lvY3RsLmgiLCAiV0lOU0VUUElDS01BU0siLCAweDgwMzQ2NzM3fSwKK3sic3VuL2RraW8uaCIsICJGREtTRVREUklWRUNIQVIiLCAweDgwMzg2NDZkfSwKK3sic3VuL3R2aW8uaCIsICJUVklPU1ZJREVPQ0FMIiwgMHg4MDQwNTgzMn0sCit7InN1bi90dmlvLmgiLCAiVFZJT05WV1JJVEUiLCAweDgwNDA1ODM0fSwKK3sic3VuL2RraW8uaCIsICJES0lPQ1NBUEFSVCIsIDB4ODA0MDY0N2J9LAoreyJzdW53aW5kb3cvd2luX2lvY3RsLmgiLCAiV0lOU0VUU0NBTElORyIsIDB4ODA0MDY3Mjd9LAoreyJuZXQvbml0X3BmLmgiLCAiTklPQ1NFVEYiLCAweDgwNTI3MDAyfSwKK3sicGl4cmVjdC9ncDF2YXIuaCIsICJHUDFJT19TQVRUUiIsIDB4ODA1ODQ3NjV9LAoreyJzdW53aW5kb3cvd2luX2lvY3RsLmgiLCAiV0lOU0VUSU5QVVRNQVNLIiwgMHg4MDZjNjcxNH0sCit7InN1bndpbmRvdy93aW5faW9jdGwuaCIsICJXSU5TQ1JFRU5ORVciLCAweDgwNzA2NzI4fSwKK3sic3Vud2luZG93L3dpbl9pb2N0bC5oIiwgIldJTlNFVEtCRCIsIDB4ODA3MDY3MmV9LAoreyJzdW53aW5kb3cvd2luX2lvY3RsLmgiLCAiV0lOU0VUTVMiLCAweDgwNzA2NzJmfSwKZGlmZiAtLWdpdCBhL3N0cmFjZS00LjUuMjAvc3Vub3M0L2lvY3RsZW50LnNoIGIvc3RyYWNlLTQuNS4yMC9zdW5vczQvaW9jdGxlbnQuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNmFlMDI5NAotLS0gL2Rldi9udWxsCisrKyBiL3N0cmFjZS00LjUuMjAvc3Vub3M0L2lvY3RsZW50LnNoCkBAIC0wLDAgKzEsMTI0IEBACisjIS9iaW4vc2gKKyMgQ29weXJpZ2h0IChjKSAxOTkzLCAxOTk0LCAxOTk1IFJpY2sgU2xhZGtleSA8anJzQHdvcmxkLnN0ZC5jb20+CisjIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyMgYXJlIG1ldDoKKyMgMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisjICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisjIDMuIFRoZSBuYW1lIG9mIHRoZSBhdXRob3IgbWF5IG5vdCBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cworIyAgICBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQVVUSE9SIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1MgT1IKKyMgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUworIyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELgorIyBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCisjIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVAorIyBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisjIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorIyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorIyBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorIworIwkkSWQkCisKK2lmIFsgJCMgLW5lIDEgXQordGhlbgorCWVjaG8gInVzYWdlOiAkMCBpbmNsdWRlLWRpcmVjdG9yeSIgPiYyCisJZXhpdCAxCitmaQorCitiYWRfZGVmaW5lcz0nV0lOR0VUVkFMSURWQUxVRVMnCisoCisJY2QgJDEKKwlmaW5kIC4gLW5hbWUgJyouaCcgLXByaW50IHwgc2VkICdzL15cLlwvLy8nIHwKKwkJeGFyZ3MgZWdyZXAgJ15bCSBdKiNbCSBdKmRlZmluZVsJIF1bIAldKltBLVpfXVtBLVphLXowLTlfXSpbIAldWwkgXSpfSU9bUlddP1woJyAvZGV2L251bGwgfAorCQlzZWQgJ3MvXCguKlwpOiNbIAldKmRlZmluZVsgCV0qXChbQS1aX11bQS1aYS16MC05X10qXClbIAldKlwoX0lPW14pXSopXClbIAldKlwoLipcKS8JeyAiXDEiLAkiXDIiLAlcMgl9LAlcNC8nIHwKKwlzb3J0IC11CispID5pb2N0bGVudC50bXAKK2VjaG8gIlwKKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNkZWZpbmUgS0VSTkVMCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdHJpbmdzLmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvdGltZS5oPgorI2luY2x1ZGUgPHN5cy9pb2N0bC5oPgorI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KKyNpbmNsdWRlIDxzeXMvZGVzLmg+CisjaW5jbHVkZSA8c3lzL210aW8uaD4KKyNpbmNsdWRlIDxzeXMvc3Ryb3B0cy5oPgorI2luY2x1ZGUgPHN5cy9zdHJlYW0uaD4KKyNpbmNsdWRlIDxzeXMvdmNtZC5oPgorCisjaW5jbHVkZSA8bmV0L2lmLmg+CisjaW5jbHVkZSA8bmV0L2lmX2FycC5oPgorI2luY2x1ZGUgPG5ldC9yb3V0ZS5oPgorI2luY2x1ZGUgPG5ldC9uaXQuaD4KKyNpbmNsdWRlIDxuZXQvbml0X2lmLmg+CisjaW5jbHVkZSA8bmV0L25pdF9wZi5oPgorI2luY2x1ZGUgPG5ldC9uaXRfYnVmLmg+CisjaW5jbHVkZSA8bmV0L3BhY2tldGZpbHQuaD4KKyNpbmNsdWRlIDxuZXRpbmV0L2luLmg+CisjaW5jbHVkZSA8bmV0aW5ldC9pbl9zeXN0bS5oPgorI2luY2x1ZGUgPG5ldGluZXQvaW5fdmFyLmg+CisjaW5jbHVkZSA8bmV0aW5ldC9pcC5oPgorI2luY2x1ZGUgPG5ldGluZXQvaXBfaWNtcC5oPgorI2luY2x1ZGUgPG5ldGluZXQvaWZfZXRoZXIuaD4KKworI2luY2x1ZGUgPHNjc2kvaW1wbC91c2NzaS5oPgorI2RlZmluZSBzcHJpbnRmIHNjc2lfc3ByaW50ZgorI2luY2x1ZGUgPHNjc2kvc2NzaS5oPgorI3VuZGVmIHNwcmludGYKKyNpbmNsdWRlIDxzY3NpL3RhcmdldHMvc3JkZWYuaD4KKyNpbmNsdWRlIDxzY3NpL3RhcmdldHMvc3RkZWYuaD4KKyNpZiAwCisjaW5jbHVkZSA8c2NzaS90YXJnZXRzL3NkZGVmLmg+CisjZW5kaWYKKworI2luY2x1ZGUgPHN1bi9hdWRpb2lvLmg+CisjaW5jbHVkZSA8c3VuL2ZiaW8uaD4KKyNpbmNsdWRlIDxzdW4vZ3Bpby5oPgorI2luY2x1ZGUgPHN1bi9uZGlvLmg+CisjaW5jbHVkZSA8c3VuL3R2aW8uaD4KKyNpbmNsdWRlIDxzdW4vbWVtLmg+CisjaW5jbHVkZSA8c3VuL3Nxei5oPgorI2luY2x1ZGUgPHN1bi92ZGRydi5oPgorI2luY2x1ZGUgPHN1bi9pc2RuaW8uaD4KKworI2luY2x1ZGUgPG1hY2hpbmUvcmVnLmg+CisKKyNpbmNsdWRlIDxzdW5kZXYva2Jpby5oPgorI2luY2x1ZGUgPHN1bmRldi9tc2lvLmg+CisjaW5jbHVkZSA8c3VuZGV2L2ZkcmVnLmg+CisjaW5jbHVkZSA8c3VuZGV2L3BwcmVnLmg+CisjaW5jbHVkZSA8c3VuZGV2L29wZW5wcm9taW8uaD4KKyNpbmNsdWRlIDxzdW5kZXYvbGlnaHRwZW5yZWcuaD4KKworI2luY2x1ZGUgPHN1bndpbmRvdy93aW5kb3dfaHMuaD4KKyNpbmNsdWRlIDxzdW53aW5kb3cvd2luX2VudW0uaD4KKyNpbmNsdWRlIDxzdW53aW5kb3cvd2luX2lvY3RsLmg+CisKKyNpbmNsdWRlIDxzYnVzZGV2L2F1ZGlvdmFyLmg+CisjZGVmaW5lIEFNRF9DSElQCisjaW5jbHVkZSA8c2J1c2Rldi9hdWRpb183OUMzMC5oPgorI2luY2x1ZGUgPHNidXNkZXYvYnBwX2lvLmg+CisjaW5jbHVkZSA8c2J1c2Rldi9ndHJlZy5oPgorCisjaW5jbHVkZSA8c3lzL3Rlcm1pby5oPgorIgorZWNobyAic3RydWN0IGlvY3RsZW50IGlvY3RsZW50W10gPSB7IgorZWdyZXAgLXYgIiRiYWRfZGVmaW5lcyIgaW9jdGxlbnQudG1wIHwgYXdrICcKK3sKKwlwcmludCAiI2lmZGVmICIgJDQKKwlwcmludAorCXByaW50ICIjZW5kaWYiCit9CisnCitlY2hvICJ9OyIKK3JtIC1mIGlvY3RsZW50LnRtcApkaWZmIC0tZ2l0IGEvc3RyYWNlLTQuNS4yMC9zdW5vczQvc2lnbmFsZW50LmggYi9zdHJhY2UtNC41LjIwL3N1bm9zNC9zaWduYWxlbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMDU5YjVkCi0tLSAvZGV2L251bGwKKysrIGIvc3RyYWNlLTQuNS4yMC9zdW5vczQvc2lnbmFsZW50LmgKQEAgLTAsMCArMSwzMiBAQAorCSJTSUdfMCIsCS8qIDAgKi8KKwkiU0lHSFVQIiwJLyogMSAqLworCSJTSUdJTlQiLAkvKiAyICovCisJIlNJR1FVSVQiLAkvKiAzICovCisJIlNJR0lMTCIsCS8qIDQgKi8KKwkiU0lHVFJBUCIsCS8qIDUgKi8KKwkiU0lHQUJSVCIsCS8qIDYgKi8KKwkiU0lHRU1UIiwJLyogNyAqLworCSJTSUdGUEUiLAkvKiA4ICovCisJIlNJR0tJTEwiLAkvKiA5ICovCisJIlNJR0JVUyIsCS8qIDEwICovCisJIlNJR1NFR1YiLAkvKiAxMSAqLworCSJTSUdTWVMiLAkvKiAxMiAqLworCSJTSUdQSVBFIiwJLyogMTMgKi8KKwkiU0lHQUxSTSIsCS8qIDE0ICovCisJIlNJR1RFUk0iLAkvKiAxNSAqLworCSJTSUdVUkciLAkvKiAxNiAqLworCSJTSUdTVE9QIiwJLyogMTcgKi8KKwkiU0lHVFNUUCIsCS8qIDE4ICovCisJIlNJR0NPTlQiLAkvKiAxOSAqLworCSJTSUdDSExEIiwJLyogMjAgKi8KKwkiU0lHVFRJTiIsCS8qIDIxICovCisJIlNJR1RUT1UiLAkvKiAyMiAqLworCSJTSUdJTyIsCS8qIDIzICovCisJIlNJR1hDUFUiLAkvKiAyNCAqLworCSJTSUdYRlNaIiwJLyogMjUgKi8KKwkiU0lHVlRBTFJNIiwJLyogMjYgKi8KKwkiU0lHUFJPRiIsCS8qIDI3ICovCisJIlNJR1dJTkNIIiwJLyogMjggKi8KKwkiU0lHTE9TVCIsCS8qIDI5ICovCisJIlNJR1VTUjEiLAkvKiAzMCAqLworCSJTSUdVU1IyIiwJLyogMzEgKi8KZGlmZiAtLWdpdCBhL3N0cmFjZS00LjUuMjAvc3Vub3M0L3N5c2NhbGwuaCBiL3N0cmFjZS00LjUuMjAvc3Vub3M0L3N5c2NhbGwuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45OGI3ZTUxCi0tLSAvZGV2L251bGwKKysrIGIvc3RyYWNlLTQuNS4yMC9zdW5vczQvc3lzY2FsbC5oCkBAIC0wLDAgKzEsMTc0IEBACisvKgorICogQ29weXJpZ2h0IChjKSAxOTkxLCAxOTkyIFBhdWwgS3JhbmVuYnVyZyA8cGtAY3MuZmV3LmV1ci5ubD4KKyAqIENvcHlyaWdodCAoYykgMTk5MywgMTk5NCwgMTk5NSwgMTk5NiBSaWNrIFNsYWRrZXkgPGpyc0B3b3JsZC5zdGQuY29tPgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIFRoZSBuYW1lIG9mIHRoZSBhdXRob3IgbWF5IG5vdCBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cworICogICAgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQVVUSE9SIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1MgT1IKKyAqIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMKKyAqIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuCisgKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCisgKiBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQKKyAqIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICoKKyAqCSRJZCQKKyAqLworI2luY2x1ZGUgImR1bW15LmgiCisKK2ludAlzeXNfbm9zeXMoKTsKK2ludAlzeXNfbnVsbHN5cygpOworaW50CXN5c19lcnJzeXMoKTsKKworLyogMS4xIHByb2Nlc3NlcyBhbmQgcHJvdGVjdGlvbiAqLworaW50CXN5c19nZXRob3N0aWQoKSxzeXNfc2V0aG9zdG5hbWUoKSxzeXNfZ2V0aG9zdG5hbWUoKSxzeXNfZ2V0cGlkKCk7CitpbnQJc3lzX3NldGRvbWFpbm5hbWUoKSxzeXNfZ2V0ZG9tYWlubmFtZSgpOworaW50CXN5c19mb3JrKCksc3lzX2V4aXQoKSxzeXNfZXhlY3YoKSxzeXNfZXhlY3ZlKCksc3lzX3dhaXQ0KCk7CitpbnQJc3lzX2dldHVpZCgpLHN5c19zZXRyZXVpZCgpLHN5c19nZXRnaWQoKSxzeXNfZ2V0Z3JvdXBzKCksc3lzX3NldHJlZ2lkKCksc3lzX3NldGdyb3VwcygpOworaW50CXN5c19nZXRwZ3JwKCksc3lzX3NldHBncnAoKTsKK2ludAlzeXNfc3lzX3NldHNpZCgpLCBzeXNfc2V0cGdpZCgpOworaW50CXN5c191bmFtZSgpOworCisvKiAxLjIgbWVtb3J5IG1hbmFnZW1lbnQgKi8KK2ludAlzeXNfYnJrKCksc3lzX3NicmsoKSxzeXNfc3N0aygpOworaW50CXN5c19nZXRwYWdlc2l6ZSgpLHN5c19tbWFwKCksc3lzX21jdGwoKSxzeXNfbXVubWFwKCksc3lzX21wcm90ZWN0KCksc3lzX21pbmNvcmUoKTsKK2ludAlzeXNfb21zeW5jKCksc3lzX29tYWR2aXNlKCk7CisKKy8qIDEuMyBzaWduYWxzICovCitpbnQJc3lzX3NpZ3ZlYygpLHN5c19zaWdibG9jaygpLHN5c19zaWdzZXRtYXNrKCksc3lzX3NpZ3BhdXNlKCksc3lzX3NpZ3N0YWNrKCksc3lzX3NpZ2NsZWFudXAoKTsKK2ludAlzeXNfa2lsbCgpLCBzeXNfa2lsbHBnKCksIHN5c19zaWdwZW5kaW5nKCk7CisKKy8qIDEuNCB0aW1pbmcgYW5kIHN0YXRpc3RpY3MgKi8KK2ludAlzeXNfZ2V0dGltZW9mZGF5KCksc3lzX3NldHRpbWVvZmRheSgpOworaW50CXN5c19hZGp0aW1lKCk7CitpbnQJc3lzX2dldGl0aW1lcigpLHN5c19zZXRpdGltZXIoKTsKKworLyogMS41IGRlc2NyaXB0b3JzICovCitpbnQJc3lzX2dldGR0YWJsZXNpemUoKSxzeXNfZHVwKCksc3lzX2R1cDIoKSxzeXNfY2xvc2UoKTsKK2ludAlzeXNfc2VsZWN0KCksc3lzX2dldGRvcHQoKSxzeXNfc2V0ZG9wdCgpLHN5c19mY250bCgpLHN5c19mbG9jaygpOworCisvKiAxLjYgcmVzb3VyY2UgY29udHJvbHMgKi8KK2ludAlzeXNfZ2V0cHJpb3JpdHkoKSxzeXNfc2V0cHJpb3JpdHkoKSxzeXNfZ2V0cnVzYWdlKCksc3lzX2dldHJsaW1pdCgpLHN5c19zZXRybGltaXQoKTsKK2ludAlzeXNfb2xkcXVvdGEoKSwgc3lzX3F1b3RhY3RsKCk7CitpbnQJc3lzX3J0c2NoZWR1bGUoKTsKKworLyogMS43IHN5c3RlbSBvcGVyYXRpb24gc3VwcG9ydCAqLworaW50CXN5c19tb3VudCgpLHN5c191bm1vdW50KCksc3lzX3N3YXBvbigpOworaW50CXN5c19zeW5jKCksc3lzX3JlYm9vdCgpOworaW50CXN5c19zeXNhY2N0KCk7CitpbnQJc3lzX2F1ZGl0c3lzKCk7CisKKy8qIDIuMSBnZW5lcmljIG9wZXJhdGlvbnMgKi8KK2ludAlzeXNfcmVhZCgpLHN5c193cml0ZSgpLHN5c19yZWFkdigpLHN5c193cml0ZXYoKSxzeXNfaW9jdGwoKTsKKworLyogMi4xLjEgYXN5bmNoIG9wZXJhdGlvbnMgKi8KK2ludAlzeXNfYWlvcmVhZCgpLCBzeXNfYWlvd3JpdGUoKSwgc3lzX2Fpb3dhaXQoKSwgc3lzX2Fpb2NhbmNlbCgpOworCisvKiAyLjIgZmlsZSBzeXN0ZW0gKi8KK2ludAlzeXNfY2hkaXIoKSxzeXNfY2hyb290KCk7CitpbnQJc3lzX2ZjaGRpcigpLHN5c19mY2hyb290KCk7CitpbnQJc3lzX21rZGlyKCksc3lzX3JtZGlyKCksc3lzX2dldGRpcmVudHJpZXMoKSwgc3lzX2dldGRlbnRzKCk7CitpbnQJc3lzX2NyZWF0KCksc3lzX29wZW4oKSxzeXNfbWtub2QoKSxzeXNfdW5saW5rKCksc3lzX3N0YXQoKSxzeXNfZnN0YXQoKSxzeXNfbHN0YXQoKTsKK2ludAlzeXNfY2hvd24oKSxzeXNfZmNob3duKCksc3lzX2NobW9kKCksc3lzX2ZjaG1vZCgpLHN5c191dGltZXMoKTsKK2ludAlzeXNfbGluaygpLHN5c19zeW1saW5rKCksc3lzX3JlYWRsaW5rKCksc3lzX3JlbmFtZSgpOworaW50CXN5c19sc2VlaygpLHN5c190cnVuY2F0ZSgpLHN5c19mdHJ1bmNhdGUoKSxzeXNfYWNjZXNzKCksc3lzX2ZzeW5jKCk7CitpbnQJc3lzX3N0YXRmcygpLHN5c19mc3RhdGZzKCk7CisKKy8qIDIuMyBjb21tdW5pY2F0aW9ucyAqLworaW50CXN5c19zb2NrZXQoKSxzeXNfYmluZCgpLHN5c19saXN0ZW4oKSxzeXNfYWNjZXB0KCksc3lzX2Nvbm5lY3QoKTsKK2ludAlzeXNfc29ja2V0cGFpcigpLHN5c19zZW5kdG8oKSxzeXNfc2VuZCgpLHN5c19yZWN2ZnJvbSgpLHN5c19yZWN2KCk7CitpbnQJc3lzX3NlbmRtc2coKSxzeXNfcmVjdm1zZygpLHN5c19zaHV0ZG93bigpLHN5c19zZXRzb2Nrb3B0KCksc3lzX2dldHNvY2tvcHQoKTsKK2ludAlzeXNfZ2V0c29ja25hbWUoKSxzeXNfZ2V0cGVlcm5hbWUoKSxzeXNfcGlwZSgpOworCitpbnQJc3lzX3VtYXNrKCk7CQkvKiBYWFggKi8KKworLyogMi4zLjEgU3lzdGVtVi1jb21wYXRpYmxlIElQQyAqLworaW50CXN5c19zZW1zeXMoKSwgc3lzX3NlbWN0bCgpLCBzeXNfc2VtZ2V0KCk7CisjZGVmaW5lIFNZU19zZW1zeXNfc3ViY2FsbAkyMDAKKyNkZWZpbmUgU1lTX3NlbXN5c19uc3ViY2FsbHMJMworI2RlZmluZSBTWVNfc2VtY3RsCQkoU1lTX3NlbXN5c19zdWJjYWxsICsgMCkKKyNkZWZpbmUgU1lTX3NlbWdldAkJKFNZU19zZW1zeXNfc3ViY2FsbCArIDEpCisjZGVmaW5lIFNZU19zZW1vcAkJKFNZU19zZW1zeXNfc3ViY2FsbCArIDIpCitpbnQJc3lzX21zZ3N5cygpLCBzeXNfbXNnZ2V0KCksIHN5c19tc2djdGwoKSwgc3lzX21zZ3JjdigpLCBzeXNfbXNnc25kKCk7CisjZGVmaW5lIFNZU19tc2dzeXNfc3ViY2FsbAkyMDMKKyNkZWZpbmUgU1lTX21zZ3N5c19uc3ViY2FsbHMJNAorI2RlZmluZSBTWVNfbXNnZ2V0CQkoU1lTX21zZ3N5c19zdWJjYWxsICsgMCkKKyNkZWZpbmUgU1lTX21zZ2N0bAkJKFNZU19tc2dzeXNfc3ViY2FsbCArIDEpCisjZGVmaW5lIFNZU19tc2dyY3YJCShTWVNfbXNnc3lzX3N1YmNhbGwgKyAyKQorI2RlZmluZSBTWVNfbXNnc25kCQkoU1lTX21zZ3N5c19zdWJjYWxsICsgMykKK2ludAlzeXNfc2htc3lzKCksIHN5c19zaG1hdCgpLCBzeXNfc2htY3RsKCksIHN5c19zaG1kdCgpLCBzeXNfc2htZ2V0KCk7CisjZGVmaW5lIFNZU19zaG1zeXNfc3ViY2FsbAkyMDcKKyNkZWZpbmUgU1lTX3NobXN5c19uc3ViY2FsbHMJNAorI2RlZmluZQlTWVNfc2htYXQJCShTWVNfc2htc3lzX3N1YmNhbGwgKyAwKQorI2RlZmluZSBTWVNfc2htY3RsCQkoU1lTX3NobXN5c19zdWJjYWxsICsgMSkKKyNkZWZpbmUgU1lTX3NobWR0CQkoU1lTX3NobXN5c19zdWJjYWxsICsgMikKKyNkZWZpbmUgU1lTX3NobWdldAkJKFNZU19zaG1zeXNfc3ViY2FsbCArIDMpCisKKy8qIDIuNCBwcm9jZXNzZXMgKi8KK2ludAlzeXNfcHRyYWNlKCk7CisKKy8qIDIuNSB0ZXJtaW5hbHMgKi8KKworLyogZW11bGF0aW9ucyBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgKi8KK2ludAlzeXNfb3RpbWUoKTsJCS8qIG5vdyB1c2UgZ2V0dGltZW9mZGF5ICovCitpbnQJc3lzX29zdGltZSgpOwkJLyogbm93IHVzZSBzZXR0aW1lb2ZkYXkgKi8KK2ludAlzeXNfb2FsYXJtKCk7CQkvKiBub3cgdXNlIHNldGl0aW1lciAqLworaW50CXN5c19vdXRpbWUoKTsJCS8qIG5vdyB1c2UgdXRpbWVzICovCitpbnQJc3lzX29wYXVzZSgpOwkJLyogbm93IHVzZSBzaWdwYXVzZSAqLworaW50CXN5c19vbmljZSgpOwkJLyogbm93IHVzZSBzZXRwcmlvcml0eSxnZXRwcmlvcml0eSAqLworaW50CXN5c19vZnRpbWUoKTsJCS8qIG5vdyB1c2UgZ2V0dGltZW9mZGF5ICovCitpbnQJc3lzX29zZXRwZ3JwKCk7CQkvKiA/Pz8gKi8KK2ludAlzeXNfb3RpbWVzKCk7CQkvKiBub3cgdXNlIGdldHJ1c2FnZSAqLworaW50CXN5c19vc3NpZygpOwkJLyogbm93IHVzZSBzaWd2ZWMsIGV0YyAqLworaW50CXN5c19vdmxpbWl0KCk7CQkvKiBub3cgdXNlIHNldHJsaW1pdCxnZXRybGltaXQgKi8KK2ludAlzeXNfb3Z0aW1lcygpOwkJLyogbm93IHVzZSBnZXRydXNhZ2UgKi8KK2ludAlzeXNfb3NldHVpZCgpOwkJLyogbm93IHVzZSBzZXRyZXVpZCAqLworaW50CXN5c19vc2V0Z2lkKCk7CQkvKiBub3cgdXNlIHNldHJlZ2lkICovCitpbnQJc3lzX29zdGF0KCk7CQkvKiBub3cgdXNlIHN0YXQgKi8KK2ludAlzeXNfb2ZzdGF0KCk7CQkvKiBub3cgdXNlIGZzdGF0ICovCisKKy8qIEJFR0lOIEpVTksgKi8KK2ludAlzeXNfcHJvZmlsKCk7CQkvKiAnY3V6IHN5cyBjYWxscyBhcmUgaW50ZXJydXB0aWJsZSAqLworaW50CXN5c192aGFuZ3VwKCk7CQkvKiBzaG91bGQganVzdCBkbyBpbiBzeXNfZXhpdCgpICovCitpbnQJc3lzX3Zmb3JrKCk7CQkvKiBYWFggLSB3YXMgYXdhaXRpbmcgZm9yayB3LyBjb3B5IG9uIHdyaXRlICovCitpbnQJc3lzX292YWR2aXNlKCk7CQkvKiBhd2FpdGluZyBuZXcgbWFkdmlzZSAqLworaW50CXN5c19pbmRpcigpOwkJLyogaW5kaXJlY3Qgc3lzdGVtIGNhbGwgKi8KK2ludAlzeXNfdXN0YXQoKTsJCS8qIFN5c3RlbSBWIGNvbXBhdGliaWxpdHkgKi8KK2ludAlzeXNfb3dhaXQoKTsJCS8qIHNob3VsZCB1c2Ugd2FpdDQgaW50ZXJmYWNlICovCitpbnQJc3lzX293YWl0MygpOwkJLyogc2hvdWxkIHVzZSB3YWl0NCBpbnRlcmZhY2UgKi8KK2ludAlzeXNfdW1vdW50KCk7CQkvKiBzdGlsbCBtb3JlIFN5cyBWIChhbmQgNC4yPykgY29tcGF0aWJpbGl0eSAqLworaW50CXN5c19wYXRoY29uZigpOwkJLyogcG9zaXggKi8KK2ludAlzeXNfZnBhdGhjb25mKCk7CQkvKiBwb3NpeCAqLworaW50CXN5c19zeXNjb25mKCk7CQkvKiBwb3NpeCAqLworCitpbnQgc3lzX2RlYnVnKCk7CisvKiBFTkQgSlVOSyAqLworCitpbnQJc3lzX3Z0cmFjZSgpOwkJLyoga2VybmVsIGV2ZW50IHRyYWNpbmcgKi8KKworLyogbmZzICovCitpbnQJc3lzX2FzeW5jX2RhZW1vbigpOwkJLyogY2xpZW50IGFzeW5jIGRhZW1vbiAqLworaW50CXN5c19uZnNfc3ZjKCk7CQkvKiBydW4gbmZzIHNlcnZlciAqLworaW50CXN5c19uZnNfZ2V0ZmgoKTsJCS8qIGdldCBmaWxlIGhhbmRsZSAqLworaW50CXN5c19leHBvcnRmcygpOwkJLyogZXhwb3J0IGZpbGUgc3lzdGVtcyAqLworCitpbnQgIAlzeXNfcmZzc3lzKCk7CQkvKiBSRlMtcmVsYXRlZCBjYWxscyAqLworCitpbnQJc3lzX2dldG1zZygpOworaW50CXN5c19wdXRtc2coKTsKK2ludAlzeXNfcG9sbCgpOworCitpbnQJc3lzX3ZwaXhzeXMoKTsJCS8qIFZQL2l4IHN5c3RlbSBjYWxscyAqLwpkaWZmIC0tZ2l0IGEvc3RyYWNlLTQuNS4yMC9zdW5vczQvc3lzY2FsbGVudC5oIGIvc3RyYWNlLTQuNS4yMC9zdW5vczQvc3lzY2FsbGVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY2YzIwNDgKLS0tIC9kZXYvbnVsbAorKysgYi9zdHJhY2UtNC41LjIwL3N1bm9zNC9zeXNjYWxsZW50LmgKQEAgLTAsMCArMSwyNDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDE5OTEsIDE5OTIgUGF1bCBLcmFuZW5idXJnIDxwa0Bjcy5mZXcuZXVyLm5sPgorICogQ29weXJpZ2h0IChjKSAxOTkzLCAxOTk0LCAxOTk1LCAxOTk2IFJpY2sgU2xhZGtleSA8anJzQHdvcmxkLnN0ZC5jb20+CisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gVGhlIG5hbWUgb2YgdGhlIGF1dGhvciBtYXkgbm90IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzCisgKiAgICBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBBVVRIT1IgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUyBPUgorICogSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUworICogT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4KKyAqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKKyAqIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVAorICogTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKgorICoJJElkJAorICovCisKKwl7IDEsCTAsCXN5c19pbmRpciwJCSJpbmRpciIJCX0sIC8qIDAgKi8KKwl7IDEsCVRQLAlzeXNfZXhpdCwJCSJfZXhpdCIJCX0sIC8qIDEgKi8KKwl7IDAsCVRQLAlzeXNfZm9yaywJCSJmb3JrIgkJfSwgLyogMiAqLworCXsgMywJVEQsCXN5c19yZWFkLAkJInJlYWQiCQl9LCAvKiAzICovCisJeyAzLAlURCwJc3lzX3dyaXRlLAkJIndyaXRlIgkJfSwgLyogNCAqLworCXsgMywJVER8VEYsCXN5c19vcGVuLAkJIm9wZW4iCQl9LCAvKiA1ICovCisJeyAxLAlURCwJc3lzX2Nsb3NlLAkJImNsb3NlIgkJfSwgLyogNiAqLworCXsgNCwJVFAsCXN5c193YWl0NCwJCSJ3YWl0NCIJCX0sIC8qIDcgKi8KKwl7IDIsCVREfFRGLAlzeXNfY3JlYXQsCQkiY3JlYXQiCQl9LCAvKiA4ICovCisJeyAyLAlURiwJc3lzX2xpbmssCQkibGluayIJCX0sIC8qIDkgKi8KKwl7IDEsCVRGLAlzeXNfdW5saW5rLAkJInVubGluayIJfSwgLyogMTAgKi8KKwl7IDIsCVRGfFRQLAlzeXNfZXhlY3YsCQkiZXhlY3YiCQl9LCAvKiAxMSAqLworCXsgMSwJVEYsCXN5c19jaGRpciwJCSJjaGRpciIJCX0sIC8qIDEyICovCisJeyAwLAkwLAlzeXNfb3RpbWUsCQkib3RpbWUiCQl9LCAvKiAxMyAqLworCXsgMywJVEYsCXN5c19ta25vZCwJCSJta25vZCIJCX0sIC8qIDE0ICovCisJeyAyLAlURiwJc3lzX2NobW9kLAkJImNobW9kIgkJfSwgLyogMTUgKi8KKwl7IDMsCVRGLAlzeXNfY2hvd24sCQkiY2hvd24iCQl9LCAvKiAxNiAqLworCXsgMSwJMCwJc3lzX2JyaywJCSJicmsiCQl9LCAvKiAxNyAqLworCXsgMiwJVEYsCXN5c19zdGF0LAkJInN0YXQiCQl9LCAvKiAxOCAqLworCXsgMywJVEQsCXN5c19sc2VlaywJCSJsc2VlayIJCX0sIC8qIDE5ICovCisJeyAwLAkwLAlzeXNfZ2V0cGlkLAkJImdldHBpZCIJfSwgLyogMjAgKi8KKwl7IDAsCTAsCXN5c19ub3N5cywJCSJub3N5cyIJCX0sIC8qIDIxICovCisJeyAxLAlURiwJc3lzX3Vtb3VudCwJCSJ1bW91bnQiCX0sIC8qIDIyICovCisJeyAxLAkwLAlzeXNfb3NldHVpZCwJCSJvc2V0dWlkIgl9LCAvKiAyMyAqLworCXsgMCwJMCwJc3lzX2dldHVpZCwJCSJnZXR1aWQiCX0sIC8qIDI0ICovCisJeyAxLAkwLAlzeXNfb3N0aW1lLAkJIm9zdGltZSIJfSwgLyogMjUgKi8KKwl7IDUsCTAsCXN5c19wdHJhY2UsCQkicHRyYWNlIgl9LCAvKiAyNiAqLworCXsgMSwJMCwJc3lzX29hbGFybSwJCSJvYWxhcm0iCX0sIC8qIDI3ICovCisJeyAyLAkwLAlzeXNfb2ZzdGF0LAkJIm9mc3RhdCIJfSwgLyogMjggKi8KKwl7IDAsCTAsCXN5c19vcGF1c2UsCQkib3BhdXNlIgl9LCAvKiAyOSAqLworCXsgMiwJVEYsCXN5c19vdXRpbWUsCQkib3V0aW1lIgl9LCAvKiAzMCAqLworCXsgMCwJMCwJc3lzX25vc3lzLAkJIm5vc3lzIgkJfSwgLyogMzEgKi8KKwl7IDAsCTAsCXN5c19ub3N5cywJCSJub3N5cyIJCX0sIC8qIDMyICovCisJeyAyLAlURiwJc3lzX2FjY2VzcywJCSJhY2Nlc3MiCX0sIC8qIDMzICovCisJeyAxLAkwLAlzeXNfb25pY2UsCQkib25pY2UiCQl9LCAvKiAzNCAqLworCXsgMSwJMCwJc3lzX29mdGltZSwJCSJvZnRpbWUiCX0sIC8qIDM1ICovCisJeyAwLAkwLAlzeXNfc3luYywJCSJzeW5jIgkJfSwgLyogMzYgKi8KKwl7IDIsCVRTLAlzeXNfa2lsbCwJCSJraWxsIgkJfSwgLyogMzcgKi8KKwl7IDIsCVRGLAlzeXNfc3RhdCwJCSJzdGF0IgkJfSwgLyogMzggKi8KKwl7IDIsCTAsCXN5c19vc2V0cGdycCwJCSJvc2V0cGdycCIJfSwgLyogMzkgKi8KKwl7IDIsCVRGLAlzeXNfbHN0YXQsCQkibHN0YXQiCQl9LCAvKiA0MCAqLworCXsgMiwJVEQsCXN5c19kdXAsCQkiZHVwIgkJfSwgLyogNDEgKi8KKwl7IDAsCVRELAlzeXNfcGlwZSwJCSJwaXBlIgkJfSwgLyogNDIgKi8KKwl7IDEsCTAsCXN5c19vdGltZXMsCQkib3RpbWVzIgl9LCAvKiA0MyAqLworCXsgNCwJMCwJc3lzX3Byb2ZpbCwJCSJwcm9maWwiCX0sIC8qIDQ0ICovCisJeyAwLAkwLAlzeXNfbm9zeXMsCQkibm9zeXMiCQl9LCAvKiA0NSAqLworCXsgMSwJMCwJc3lzX29zZXRnaWQsCQkib3NldGdpZCIJfSwgLyogNDYgKi8KKwl7IDAsCTAsCXN5c19nZXRnaWQsCQkiZ2V0Z2lkIgl9LCAvKiA0NyAqLworCXsgMiwJMCwJc3lzX29zc2lnLAkJIm9zc2lnIgkJfSwgLyogNDggKi8KKwl7IDAsCTAsCXN5c19ub3N5cywJCSJub3N5cyIJCX0sIC8qIDQ5ICovCisJeyAwLAkwLAlzeXNfbm9zeXMsCQkibm9zeXMiCQl9LCAvKiA1MCAqLworCXsgMSwJMCwJc3lzX3N5c2FjY3QsCQkic3lzYWNjdCIJfSwgLyogNTEgKi8KKwl7IDAsCTAsCXN5c19ub3N5cywJCSJub3N5cyIJCX0sIC8qIDUyICovCisJeyA0LAkwLAlzeXNfbWN0bCwJCSJtY3RsIgkJfSwgLyogNTMgKi8KKwl7IDMsCVRELAlzeXNfaW9jdGwsCQkiaW9jdGwiCQl9LCAvKiA1NCAqLworCXsgMiwJMCwJc3lzX3JlYm9vdCwJCSJyZWJvb3QiCX0sIC8qIDU1ICovCisJeyAzLAlUUCwJc3lzX293YWl0MywJCSJvd2FpdDMiCX0sIC8qIDU2ICovCisJeyAyLAlURiwJc3lzX3N5bWxpbmssCQkic3ltbGluayIJfSwgLyogNTcgKi8KKwl7IDMsCVRGLAlzeXNfcmVhZGxpbmssCQkicmVhZGxpbmsiCX0sIC8qIDU4ICovCisJeyAzLAlURnxUUCwJc3lzX2V4ZWN2ZSwJCSJleGVjdmUiCX0sIC8qIDU5ICovCisJeyAxLAkwLAlzeXNfdW1hc2ssCQkidW1hc2siCQl9LCAvKiA2MCAqLworCXsgMSwJVEYsCXN5c19jaHJvb3QsCQkiY2hyb290Igl9LCAvKiA2MSAqLworCXsgMiwJVEQsCXN5c19mc3RhdCwJCSJmc3RhdCIJCX0sIC8qIDYyICovCisJeyAwLAkwLAlzeXNfbm9zeXMsCQkibm9zeXMiCQl9LCAvKiA2MyAqLworCXsgMSwJMCwJc3lzX2dldHBhZ2VzaXplLAkiZ2V0cGFnZXNpemUiCX0sIC8qIDY0ICovCisJeyAzLAkwLAlzeXNfb21zeW5jLAkJIm9tc3luYyIJfSwgLyogNjUgKi8KKwl7IDAsCVRQLAlzeXNfdmZvcmssCQkidmZvcmsiCQl9LCAvKiA2NiAqLworCXsgMCwJVEQsCXN5c19yZWFkLAkJInJlYWQiCQl9LCAvKiA2NyAqLworCXsgMCwJVEQsCXN5c193cml0ZSwJCSJ3cml0ZSIJCX0sIC8qIDY4ICovCisJeyAxLAkwLAlzeXNfc2JyaywJCSJzYnJrIgkJfSwgLyogNjkgKi8KKwl7IDEsCTAsCXN5c19zc3RrLAkJInNzdGsiCQl9LCAvKiA3MCAqLworCXsgNiwJMCwJc3lzX21tYXAsCQkibW1hcCIJCX0sIC8qIDcxICovCisJeyAxLAkwLAlzeXNfb3ZhZHZpc2UsCQkib3ZhZHZpc2UiCX0sIC8qIDcyICovCisJeyAyLAkwLAlzeXNfbXVubWFwLAkJIm11bm1hcCIJfSwgLyogNzMgKi8KKwl7IDMsCTAsCXN5c19tcHJvdGVjdCwJCSJtcHJvdGVjdCIJfSwgLyogNzQgKi8KKwl7IDMsCTAsCXN5c19vbWFkdmlzZSwJCSJvbWFkdmlzZSIJfSwgLyogNzUgKi8KKwl7IDEsCTAsCXN5c192aGFuZ3VwLAkJInZoYW5ndXAiCX0sIC8qIDc2ICovCisJeyAyLAkwLAlzeXNfb3ZsaW1pdCwJCSJvdmxpbWl0Igl9LCAvKiA3NyAqLworCXsgMywJMCwJc3lzX21pbmNvcmUsCQkibWluY29yZSIJfSwgLyogNzggKi8KKwl7IDIsCTAsCXN5c19nZXRncm91cHMsCQkiZ2V0Z3JvdXBzIgl9LCAvKiA3OSAqLworCXsgMiwJMCwJc3lzX3NldGdyb3VwcywJCSJzZXRncm91cHMiCX0sIC8qIDgwICovCisJeyAxLAkwLAlzeXNfZ2V0cGdycCwJCSJnZXRwZ3JwIgl9LCAvKiA4MSAqLworCXsgMiwJMCwJc3lzX3NldHBncnAsCQkic2V0cGdycCIJfSwgLyogODIgKi8KKwl7IDMsCTAsCXN5c19zZXRpdGltZXIsCQkic2V0aXRpbWVyIgl9LCAvKiA4MyAqLworCXsgMCwJVFAsCXN5c19vd2FpdCwJCSJvd2FpdCIJCX0sIC8qIDg0ICovCisJeyAxLAlURiwJc3lzX3N3YXBvbiwJCSJzd2Fwb24iCX0sIC8qIDg1ICovCisJeyAyLAkwLAlzeXNfZ2V0aXRpbWVyLAkJImdldGl0aW1lciIJfSwgLyogODYgKi8KKwl7IDIsCTAsCXN5c19nZXRob3N0bmFtZSwJImdldGhvc3RuYW1lIgl9LCAvKiA4NyAqLworCXsgMiwJMCwJc3lzX3NldGhvc3RuYW1lLAkic2V0aG9zdG5hbWUiCX0sIC8qIDg4ICovCisJeyAwLAkwLAlzeXNfZ2V0ZHRhYmxlc2l6ZSwJImdldGR0YWJsZXNpemUiCX0sIC8qIDg5ICovCisJeyAyLAlURCwJc3lzX2R1cDIsCQkiZHVwMiIJCX0sIC8qIDkwICovCisJeyAyLAkwLAlzeXNfZ2V0ZG9wdCwJCSJnZXRkb3B0Igl9LCAvKiA5MSAqLworCXsgMywJVEQsCXN5c19mY250bCwJCSJmY250bCIJCX0sIC8qIDkyICovCisJeyA1LAlURCwJc3lzX3NlbGVjdCwJCSJzZWxlY3QiCX0sIC8qIDkzICovCisJeyAyLAkwLAlzeXNfc2V0ZG9wdCwJCSJzZXRkb3B0Igl9LCAvKiA5NCAqLworCXsgMSwJVEQsCXN5c19mc3luYywJCSJmc3luYyIJCX0sIC8qIDk1ICovCisJeyAzLAkwLAlzeXNfc2V0cHJpb3JpdHksCSJzZXRwcmlvcml0eSIJfSwgLyogOTYgKi8KKwl7IDMsCVROLAlzeXNfc29ja2V0LAkJInNvY2tldCIJfSwgLyogOTcgKi8KKwl7IDMsCVROLAlzeXNfY29ubmVjdCwJCSJjb25uZWN0Igl9LCAvKiA5OCAqLworCXsgMywJVE4sCXN5c19hY2NlcHQsCQkiYWNjZXB0Igl9LCAvKiA5OSAqLworCXsgMiwJMCwJc3lzX2dldHByaW9yaXR5LAkiZ2V0cHJpb3JpdHkiCX0sIC8qIDEwMCAqLworCXsgNCwJVE4sCXN5c19zZW5kLAkJInNlbmQiCQl9LCAvKiAxMDEgKi8KKwl7IDQsCVROLAlzeXNfcmVjdiwJCSJyZWN2IgkJfSwgLyogMTAyICovCisJeyAwLAkwLAlzeXNfbm9zeXMsCQkibm9zeXMiCQl9LCAvKiAxMDMgKi8KKwl7IDMsCVROLAlzeXNfYmluZCwJCSJiaW5kIgkJfSwgLyogMTA0ICovCisJeyA1LAlUTiwJc3lzX3NldHNvY2tvcHQsCQkic2V0c29ja29wdCIJfSwgLyogMTA1ICovCisJeyAyLAlUTiwJc3lzX2xpc3RlbiwJCSJsaXN0ZW4iCX0sIC8qIDEwNiAqLworCXsgMiwJMCwJc3lzX292dGltZXMsCQkib3Z0aW1lcyIJfSwgLyogMTA3ICovCisJeyAzLAlUUywJc3lzX3NpZ3ZlYywJCSJzaWd2ZWMiCX0sIC8qIDEwOCAqLworCXsgMSwJVFMsCXN5c19zaWdibG9jaywJCSJzaWdibG9jayIJfSwgLyogMTA5ICovCisJeyAxLAlUUywJc3lzX3NpZ3NldG1hc2ssCQkic2lnc2V0bWFzayIJfSwgLyogMTEwICovCisJeyAxLAlUUywJc3lzX3NpZ3BhdXNlLAkJInNpZ3BhdXNlIgl9LCAvKiAxMTEgKi8KKwl7IDIsCVRTLAlzeXNfc2lnc3RhY2ssCQkic2lnc3RhY2siCX0sIC8qIDExMiAqLworCXsgMywJVE4sCXN5c19yZWN2bXNnLAkJInJlY3Ztc2ciCX0sIC8qIDExMyAqLworCXsgMywJVE4sCXN5c19zZW5kbXNnLAkJInNlbmRtc2ciCX0sIC8qIDExNCAqLworCXsgMywJMCwJc3lzX3Z0cmFjZSwJCSJ2dHJhY2UiCX0sIC8qIDExNSAqLworCXsgMiwJMCwJc3lzX2dldHRpbWVvZmRheSwJImdldHRpbWVvZmRheSIJfSwgLyogMTE2ICovCisJeyAyLAkwLAlzeXNfZ2V0cnVzYWdlLAkJImdldHJ1c2FnZSIJfSwgLyogMTE3ICovCisJeyA1LAlUTiwJc3lzX2dldHNvY2tvcHQsCQkiZ2V0c29ja29wdCIJfSwgLyogMTE4ICovCisJeyAwLAkwLAlzeXNfbm9zeXMsCQkibm9zeXMiCQl9LCAvKiAxMTkgKi8KKwl7IDMsCVRELAlzeXNfcmVhZHYsCQkicmVhZHYiCQl9LCAvKiAxMjAgKi8KKwl7IDMsCVRELAlzeXNfd3JpdGV2LAkJIndyaXRldiIJfSwgLyogMTIxICovCisJeyAyLAkwLAlzeXNfc2V0dGltZW9mZGF5LAkic2V0dGltZW9mZGF5Igl9LCAvKiAxMjIgKi8KKwl7IDMsCVRELAlzeXNfZmNob3duLAkJImZjaG93biIJfSwgLyogMTIzICovCisJeyAyLAlURCwJc3lzX2ZjaG1vZCwJCSJmY2htb2QiCX0sIC8qIDEyNCAqLworCXsgNiwJVE4sCXN5c19yZWN2ZnJvbSwJCSJyZWN2ZnJvbSIJfSwgLyogMTI1ICovCisJeyAyLAkwLAlzeXNfc2V0cmV1aWQsCQkic2V0cmV1aWQiCX0sIC8qIDEyNiAqLworCXsgMiwJMCwJc3lzX3NldHJlZ2lkLAkJInNldHJlZ2lkIgl9LCAvKiAxMjcgKi8KKwl7IDIsCVRGLAlzeXNfcmVuYW1lLAkJInJlbmFtZSIJfSwgLyogMTI4ICovCisJeyAyLAlURiwJc3lzX3RydW5jYXRlLAkJInRydW5jYXRlIgl9LCAvKiAxMjkgKi8KKwl7IDIsCVRELAlzeXNfZnRydW5jYXRlLAkJImZ0cnVuY2F0ZSIJfSwgLyogMTMwICovCisJeyAyLAlURCwJc3lzX2Zsb2NrLAkJImZsb2NrIgkJfSwgLyogMTMxICovCisJeyAwLAkwLAlzeXNfbm9zeXMsCQkibm9zeXMiCQl9LCAvKiAxMzIgKi8KKwl7IDYsCVROLAlzeXNfc2VuZHRvLAkJInNlbmR0byIJfSwgLyogMTMzICovCisJeyAyLAlUTiwJc3lzX3NodXRkb3duLAkJInNodXRkb3duIgl9LCAvKiAxMzQgKi8KKwl7IDUsCVROLAlzeXNfc29ja2V0cGFpciwJCSJzb2NrZXRwYWlyIgl9LCAvKiAxMzUgKi8KKwl7IDIsCVRGLAlzeXNfbWtkaXIsCQkibWtkaXIiCQl9LCAvKiAxMzYgKi8KKwl7IDEsCVRGLAlzeXNfcm1kaXIsCQkicm1kaXIiCQl9LCAvKiAxMzcgKi8KKwl7IDIsCVRGLAlzeXNfdXRpbWVzLAkJInV0aW1lcyIJfSwgLyogMTM4ICovCisJeyAwLAlUUywJc3lzX3NpZ2NsZWFudXAsCQkic2lnY2xlYW51cCIJfSwgLyogMTM5ICovCisJeyAyLAkwLAlzeXNfYWRqdGltZSwJCSJhZGp0aW1lIgl9LCAvKiAxNDAgKi8KKwl7IDMsCVROLAlzeXNfZ2V0cGVlcm5hbWUsCSJnZXRwZWVybmFtZSIJfSwgLyogMTQxICovCisJeyAyLAkwLAlzeXNfZ2V0aG9zdGlkLAkJImdldGhvc3RpZCIJfSwgLyogMTQyICovCisJeyAwLAkwLAlzeXNfbm9zeXMsCQkibm9zeXMiCQl9LCAvKiAxNDMgKi8KKwl7IDIsCTAsCXN5c19nZXRybGltaXQsCQkiZ2V0cmxpbWl0Igl9LCAvKiAxNDQgKi8KKwl7IDIsCTAsCXN5c19zZXRybGltaXQsCQkic2V0cmxpbWl0Igl9LCAvKiAxNDUgKi8KKwl7IDIsCVRTLAlzeXNfa2lsbHBnLAkJImtpbGxwZyIJfSwgLyogMTQ2ICovCisJeyAwLAkwLAlzeXNfbm9zeXMsCQkibm9zeXMiCQl9LCAvKiAxNDcgKi8KKwl7IDAsCTAsCXN5c19vbGRxdW90YSwJCSJvbGRxdW90YSIJfSwgLyogMTQ4ICovCisJeyAwLAkwLAlzeXNfb2xkcXVvdGEsCQkib2xkcXVvdGEiCX0sIC8qIDE0OSAqLworCXsgMywJVE4sCXN5c19nZXRzb2NrbmFtZSwJImdldHNvY2tuYW1lIgl9LCAvKiAxNTAgKi8KKwl7IDQsCVROLAlzeXNfZ2V0bXNnLAkJImdldG1zZyIJfSwgLyogMTUxICovCisJeyA0LAlUTiwJc3lzX3B1dG1zZywJCSJwdXRtc2ciCX0sIC8qIDE1MiAqLworCXsgMywJVE4sCXN5c19wb2xsLAkJInBvbGwiCQl9LCAvKiAxNTMgKi8KKwl7IDAsCTAsCXN5c19ub3N5cywJCSJub3N5cyIJCX0sIC8qIDE1NCAqLworCXsgMSwJMCwJc3lzX25mc19zdmMsCQkibmZzX3N2YyIJfSwgLyogMTU1ICovCisJeyA0LAkwLAlzeXNfZ2V0ZGlyZW50cmllcywJImdldGRpcmVudHJpZXMiCX0sIC8qIDE1NiAqLworCXsgMiwJVEYsCXN5c19zdGF0ZnMsCQkic3RhdGZzIgl9LCAvKiAxNTcgKi8KKwl7IDIsCVRELAlzeXNfZnN0YXRmcywJCSJmc3RhdGZzIgl9LCAvKiAxNTggKi8KKwl7IDEsCVRGLAlzeXNfdW5tb3VudCwJCSJ1bm1vdW50Igl9LCAvKiAxNTkgKi8KKwl7IDAsCTAsCXN5c19hc3luY19kYWVtb24sCSJhc3luY19kYWVtb24iCX0sIC8qIDE2MCAqLworCXsgMiwJMCwJc3lzX25mc19nZXRmaCwJCSJuZnNfZ2V0ZmgiCX0sIC8qIDE2MSAqLworCXsgMiwJMCwJc3lzX2dldGRvbWFpbm5hbWUsCSJnZXRkb21haW5uYW1lIgl9LCAvKiAxNjIgKi8KKwl7IDIsCTAsCXN5c19zZXRkb21haW5uYW1lLAkic2V0ZG9tYWlubmFtZSIJfSwgLyogMTYzICovCisJeyA1LAkwLAlzeXNfcnRzY2hlZHVsZSwJCSJydHNjaGVkdWxlIgl9LCAvKiAxNjQgKi8KKwl7IDQsCTAsCXN5c19xdW90YWN0bCwJCSJxdW90YWN0bCIJfSwgLyogMTY1ICovCisJeyAyLAkwLAlzeXNfZXhwb3J0ZnMsCQkiZXhwb3J0ZnMiCX0sIC8qIDE2NiAqLworCXsgNCwJVEYsCXN5c19tb3VudCwJCSJtb3VudCIJCX0sIC8qIDE2NyAqLworCXsgMiwJMCwJc3lzX3VzdGF0LAkJInVzdGF0IgkJfSwgLyogMTY4ICovCisJeyA1LAlUSSwJc3lzX3NlbXN5cywJCSJzZW1zeXMiCX0sIC8qIDE2OSAqLworCXsgNiwJVEksCXN5c19tc2dzeXMsCQkibXNnc3lzIgl9LCAvKiAxNzAgKi8KKwl7IDQsCVRJLAlzeXNfc2htc3lzLAkJInNobXN5cyIJfSwgLyogMTcxICovCisJeyA0LAkwLAlzeXNfYXVkaXRzeXMsCQkiYXVkaXRzeXMiCX0sIC8qIDE3MiAqLworCXsgNSwJMCwJc3lzX3Jmc3N5cywJCSJyZnNzeXMiCX0sIC8qIDE3MyAqLworCXsgMywJVEQsCXN5c19nZXRkZW50cywJCSJnZXRkZW50cyIJfSwgLyogMTc0ICovCisJeyAxLAkwLAlzeXNfc3lzX3NldHNpZCwJCSJzeXNfc2V0c2lkIgl9LCAvKiAxNzUgKi8KKwl7IDEsCVRELAlzeXNfZmNoZGlyLAkJImZjaGRpciIJfSwgLyogMTc2ICovCisJeyAxLAkwLAlzeXNfZmNocm9vdCwJCSJmY2hyb290Igl9LCAvKiAxNzcgKi8KKwl7IDIsCTAsCXN5c192cGl4c3lzLAkJInZwaXhzeXMiCX0sIC8qIDE3OCAqLworCXsgNiwJMCwJc3lzX2Fpb3JlYWQsCQkiYWlvcmVhZCIJfSwgLyogMTc5ICovCisJeyA2LAkwLAlzeXNfYWlvd3JpdGUsCQkiYWlvd3JpdGUiCX0sIC8qIDE4MCAqLworCXsgMSwJMCwJc3lzX2Fpb3dhaXQsCQkiYWlvd2FpdCIJfSwgLyogMTgxICovCisJeyAxLAkwLAlzeXNfYWlvY2FuY2VsLAkJImFpb2NhbmNlbCIJfSwgLyogMTgyICovCisJeyAxLAlUUywJc3lzX3NpZ3BlbmRpbmcsCQkic2lncGVuZGluZyIJfSwgLyogMTgzICovCisJeyAwLAkwLAlzeXNfZXJyc3lzLAkJImVycnN5cyIJfSwgLyogMTg0ICovCisJeyAyLAkwLAlzeXNfc2V0cGdpZCwJCSJzZXRwZ2lkIgl9LCAvKiAxODUgKi8KKwl7IDIsCVRGLAlzeXNfcGF0aGNvbmYsCQkicGF0aGNvbmYiCX0sIC8qIDE4NiAqLworCXsgMiwJMCwJc3lzX2ZwYXRoY29uZiwJCSJmcGF0aGNvbmYiCX0sIC8qIDE4NyAqLworCXsgMSwJMCwJc3lzX3N5c2NvbmYsCQkic3lzY29uZiIJfSwgLyogMTg4ICovCisJeyAxLAkwLAlzeXNfdW5hbWUsCQkidW5hbWUiCQl9LCAvKiAxODkgKi8KKwl7IDAsCTAsCXN5c19ub3N5cywJCSJub3N5cyIJCX0sIC8qIDE5MCAqLworCXsgMCwJMCwJc3lzX25vc3lzLAkJIm5vc3lzIgkJfSwgLyogMTkxICovCisJeyAwLAkwLAlzeXNfbm9zeXMsCQkibm9zeXMiCQl9LCAvKiAxOTIgKi8KKwl7IDAsCTAsCXN5c19ub3N5cywJCSJub3N5cyIJCX0sIC8qIDE5MyAqLworCXsgMCwJMCwJc3lzX25vc3lzLAkJIm5vc3lzIgkJfSwgLyogMTk0ICovCisJeyAwLAkwLAlzeXNfbm9zeXMsCQkibm9zeXMiCQl9LCAvKiAxOTUgKi8KKwl7IDAsCTAsCXN5c19ub3N5cywJCSJub3N5cyIJCX0sIC8qIDE5NiAqLworCXsgMCwJMCwJc3lzX25vc3lzLAkJIm5vc3lzIgkJfSwgLyogMTk3ICovCisJeyAwLAkwLAlzeXNfbm9zeXMsCQkibm9zeXMiCQl9LCAvKiAxOTggKi8KKwl7IDAsCTAsCXN5c19ub3N5cywJCSJub3N5cyIJCX0sIC8qIDE5OSAqLworCXsgNCwJVEksCXN5c19zZW1jdGwsCQkic2VtY3RsIgl9LCAvKiAyMDAgKi8KKwl7IDQsCVRJLAlzeXNfc2VtZ2V0LAkJInNlbWdldCIJfSwgLyogMjAxICovCisJeyA0LAlUSSwJc3lzX3NlbW9wLAkJInNlbW9wIiAJfSwgLyogMjAyICovCisJeyA1LAlUSSwJc3lzX21zZ2dldCwJCSJtc2dnZXQiCX0sIC8qIDIwMyAqLworCXsgNSwJVEksCXN5c19tc2djdGwsCQkibXNnY3RsIgl9LCAvKiAyMDQgKi8KKwl7IDUsCVRJLAlzeXNfbXNncmN2LAkJIm1zZ3JjdiIJfSwgLyogMjA1ICovCisJeyA1LAlUSSwJc3lzX21zZ3NuZCwJCSJtc2dzbmQiCX0sIC8qIDIwNiAqLworCXsgMywJVEksCXN5c19zaG1hdCwJCSJzaG1hdCIgCX0sIC8qIDIwNyAqLworCXsgMywJVEksCXN5c19zaG1jdGwsCQkic2htY3RsIgl9LCAvKiAyMDggKi8KKwl7IDMsCVRJLAlzeXNfc2htZHQsCQkic2htZHQiIAl9LCAvKiAyMDkgKi8KKwl7IDMsCVRJLAlzeXNfc2htZ2V0LAkJInNobWdldCIJfSwgLyogMjEwICovCmRpZmYgLS1naXQgYS9zdHJhY2UtNC41LjIwL3N2cjQvZHVtbXkuaCBiL3N0cmFjZS00LjUuMjAvc3ZyNC9kdW1teS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRhNzE2NmQKLS0tIC9kZXYvbnVsbAorKysgYi9zdHJhY2UtNC41LjIwL3N2cjQvZHVtbXkuaApAQCAtMCwwICsxLDM5OSBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMTk5MywgMTk5NCwgMTk5NSBSaWNrIFNsYWRrZXkgPGpyc0B3b3JsZC5zdGQuY29tPgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIFRoZSBuYW1lIG9mIHRoZSBhdXRob3IgbWF5IG5vdCBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cworICogICAgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQVVUSE9SIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1MgT1IKKyAqIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMKKyAqIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuCisgKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCisgKiBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQKKyAqIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICoKKyAqCSRJZCQKKyAqLworCisvKiBzdGlsbCB1bmZpbmlzaGVkICovCisKKyNkZWZpbmUgc3lzX3N5c21wIHByaW50YXJncworI2RlZmluZSBzeXNfc2dpbmFwIHByaW50YXJncworI2RlZmluZSBzeXNfc2dpa29wdCBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3N5c21pcHMgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19zaWdyZXR1cm4gcHJpbnRhcmdzCisjZGVmaW5lIHN5c19yZWN2bXNnIHByaW50YXJncworI2RlZmluZSBzeXNfc2VuZG1zZyBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX25mc3N2YyBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2dldGZoIHByaW50YXJncworI2RlZmluZSBzeXNfYXN5bmNfZGFlbW9uIHByaW50YXJncworI2RlZmluZSBzeXNfZXhwb3J0ZnMgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19CU0RfZ2V0aW1lIHByaW50YXJncworI2RlZmluZSBzeXNfc3Byb2MgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19wcm9jYmxrIHByaW50YXJncworI2RlZmluZSBzeXNfc3Byb2NzcCBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX21zeW5jIHByaW50YXJncworI2RlZmluZSBzeXNfbWFkdmlzZSBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3BhZ2Vsb2NrIHByaW50YXJncworI2RlZmluZSBzeXNfcXVvdGFjdGwgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19jYWNoZWZsdXNoIHByaW50YXJncworI2RlZmluZSBzeXNfY2FjaGVjdGwgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19udW5hbWUgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19zaWdwb2xsIHByaW50YXJncworI2RlZmluZSBzeXNfc3dhcGN0bCBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3NpZ3N0YWNrIHByaW50YXJncworI2RlZmluZSBzeXNfc2lnc2VuZHNldCBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3ByaW9jbnRsIHByaW50YXJncworI2RlZmluZSBzeXNfa3NpZ3F1ZXVlIHByaW50YXJncworI2RlZmluZSBzeXNfbHdwX3NlbWFfd2FpdCBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2x3cF9zZW1hX3RyeXdhaXQgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19zeXNjYWxsIHByaW50YXJncworI2RlZmluZSBzeXNfY2xvY2FsIHByaW50YXJncworI2RlZmluZSBzeXNfc3lzc3VuIHByaW50YXJncworI2RlZmluZSBzeXNfc3lzaTg2IHByaW50YXJncworI2RlZmluZSBzeXNfc3lzbWFjaGluZSBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3Bsb2NrIHByaW50YXJncworI2RlZmluZSBzeXNfcGF0aGNvbmYgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19zaWd0aW1lZHdhaXQgcHJpbnRhcmdzCisjZGVmaW5lIHN5c191bGltaXQgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19wdHJhY2UgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19zdHR5IHByaW50YXJncworI2RlZmluZSBzeXNfbHdwX2luZm8gcHJpbnRhcmdzCisjZGVmaW5lIHN5c19wcmlvY250bHN5cyBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2hydHN5cyBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3hlbml4IHByaW50YXJncworI2RlZmluZSBzeXNfc3RhdGZzIHByaW50YXJncworI2RlZmluZSBzeXNfZnN0YXRmcyBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3N0YXR2ZnMgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19mc3RhdHZmcyBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3NpZ3NlbmRzeXMgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19ndHR5IHByaW50YXJncworI2RlZmluZSBzeXNfdnRyYWNlIHByaW50YXJncworI2RlZmluZSBzeXNfZnBhdGhjb25mIHByaW50YXJncworI2RlZmluZSBzeXNfZXZzeXMgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19hY2N0IHByaW50YXJncworI2RlZmluZSBzeXNfZXhlYyBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2x3cF9zZW1hX3Bvc3QgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19uZnNzeXMgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19zaWdhbHRzdGFjayBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3VhZG1pbiBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3Vtb3VudCBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX21vZGN0bCBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2FjYW5jZWwgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19hc3luYyBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2V2dHJhcHJldCBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2x3cF9jcmVhdGUgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19sd3BfZXhpdCBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2x3cF9zdXNwZW5kIHByaW50YXJncworI2RlZmluZSBzeXNfbHdwX2NvbnRpbnVlIHByaW50YXJncworI2RlZmluZSBzeXNfbHdwX2tpbGwgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19sd3Bfc2VsZiBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2x3cF9zZXRwcml2YXRlIHByaW50YXJncworI2RlZmluZSBzeXNfbHdwX2dldHByaXZhdGUgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19sd3Bfd2FpdCBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2x3cF9tdXRleF91bmxvY2sgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19sd3BfbXV0ZXhfbG9jayBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2x3cF9jb25kX3dhaXQgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19sd3BfY29uZF9zaWduYWwgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19sd3BfY29uZF9icm9hZGNhc3QgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19pbnN0X3N5bmMgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19hdWRpdHN5cyBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3Byb2Nlc3Nvcl9iaW5kIHByaW50YXJncworI2RlZmluZSBzeXNfcHJvY2Vzc29yX2luZm8gcHJpbnRhcmdzCisjZGVmaW5lIHN5c19wX29ubGluZSBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3NpZ3F1ZXVlIHByaW50YXJncworI2RlZmluZSBzeXNfY2xvY2tfZ2V0dGltZSBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2Nsb2NrX3NldHRpbWUgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19jbG9ja19nZXRyZXMgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19uYW5vc2xlZXAgcHJpbnRhcmdzCisjZGVmaW5lIHN5c190aW1lcl9jcmVhdGUgcHJpbnRhcmdzCisjZGVmaW5lIHN5c190aW1lcl9kZWxldGUgcHJpbnRhcmdzCisjZGVmaW5lIHN5c190aW1lcl9zZXR0aW1lIHByaW50YXJncworI2RlZmluZSBzeXNfdGltZXJfZ2V0dGltZSBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3RpbWVyX2dldG92ZXJydW4gcHJpbnRhcmdzCisjZGVmaW5lIHN5c19tc2djdGwgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19tc2dnZXQgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19tc2dyY3YgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19tc2dzbmQgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19zaG1hdCBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3NobWN0bCBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3NobWR0IHByaW50YXJncworI2RlZmluZSBzeXNfc2htZ2V0IHByaW50YXJncworI2RlZmluZSBzeXNfc2VtY3RsIHByaW50YXJncworI2RlZmluZSBzeXNfc2VtZ2V0IHByaW50YXJncworI2RlZmluZSBzeXNfc2Vtb3AgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19vbGR1bmFtZSBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3VzdGF0IHByaW50YXJncworI2RlZmluZSBzeXNfZnVzZXJzIHByaW50YXJncworI2RlZmluZSBzeXNfc3lzZnMxIHByaW50YXJncworI2RlZmluZSBzeXNfc3lzZnMyIHByaW50YXJncworI2RlZmluZSBzeXNfc3lzZnMzIHByaW50YXJncworI2RlZmluZSBzeXNfa2V5Y3RsIHByaW50YXJncworI2RlZmluZSBzeXNfc2Vjc3lzIHByaW50YXJncworI2RlZmluZSBzeXNfZmlsZXByaXYgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19kZXZzdGF0IHByaW50YXJncworI2RlZmluZSBzeXNfZmRldnN0YXQgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19mbHZsZmlsZSBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2x2bGZpbGUgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19sdmxlcXVhbCBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2x2bHByb2MgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19sdmxpcGMgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19hdWRpdGV2dCBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2F1ZGl0Y3RsIHByaW50YXJncworI2RlZmluZSBzeXNfYXVkaXRkbXAgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19hdWRpdGxvZyBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2F1ZGl0YnVmIHByaW50YXJncworI2RlZmluZSBzeXNfbHZsZG9tIHByaW50YXJncworI2RlZmluZSBzeXNfbHZsdmZzIHByaW50YXJncworI2RlZmluZSBzeXNfbWttbGQgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19tbGRtb2RlIHByaW50YXJncworI2RlZmluZSBzeXNfc2VjYWR2aXNlIHByaW50YXJncworI2RlZmluZSBzeXNfb25saW5lIHByaW50YXJncworI2RlZmluZSBzeXNfbHdwaW5mbyBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2x3cHByaXZhdGUgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19wcm9jZXNzb3JfZXhiaW5kIHByaW50YXJncworI2RlZmluZSBzeXNfcHJlcGJsb2NrIHByaW50YXJncworI2RlZmluZSBzeXNfYmxvY2sgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19yZGJsb2NrIHByaW50YXJncworI2RlZmluZSBzeXNfdW5ibG9jayBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2NhbmNlbGJsb2NrIHByaW50YXJncworI2RlZmluZSBzeXNfbHdwa2lsbCBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX21vZGxvYWQgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19tb2R1bG9hZCBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX21vZHBhdGggcHJpbnRhcmdzCisjZGVmaW5lIHN5c19tb2RzdGF0IHByaW50YXJncworI2RlZmluZSBzeXNfbW9kYWRtIHByaW50YXJncworI2RlZmluZSBzeXNfbHdwc3VzcGVuZCBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2x3cGNvbnRpbnVlIHByaW50YXJncworI2RlZmluZSBzeXNfcHJpb2NudGxsc3QgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19sd3Bfc2VtYV90cnl3YWl0IHByaW50YXJncworI2RlZmluZSBzeXNfeHNldHNvY2thZGRyIHByaW50YXJncworI2RlZmluZSBzeXNfZHNobXN5cyBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2ludmxwZyBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX21pZ3JhdGUgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19raWxsMyBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3hiaW5kcmVzdnBvcnQgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19sd3Bfc2VtYV90cnl3YWl0IHByaW50YXJncworI2RlZmluZSBzeXNfdHNvbHN5cyBwcmludGFyZ3MKKyNpZm5kZWYgSEFWRV9TWVNfQUNMX0gKKyNkZWZpbmUgc3lzX2FjbCBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2ZhY2wgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19hY2xpcGMgcHJpbnRhcmdzCisjZW5kaWYKKyNkZWZpbmUgc3lzX2luc3RhbGxfdXRyYXAgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19zaWdub3RpZnkgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19zY2hlZGN0bCBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3BzZXQgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19yZXNvbHZlcGF0aCBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3NpZ25vdGlmeXdhaXQgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19sd3Bfc2lncmVkaXJlY3QgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19sd3BfYWxhcm0gcHJpbnRhcmdzCisjZGVmaW5lIHN5c19ycGNzeXMgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19zb2NrY29uZmlnIHByaW50YXJncworI2RlZmluZSBzeXNfbnRwX2dldHRpbWUgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19udHBfYWRqdGltZSBwcmludGFyZ3MKKworLyogbGlrZSBhbm90aGVyIGNhbGwgKi8KKyNkZWZpbmUgc3lzX2xjaG93biBzeXNfY2hvd24KKyNkZWZpbmUgc3lzX3NldHVpZCBzeXNfY2xvc2UKKyNkZWZpbmUgc3lzX3NldGV1aWQgc3lzX2Nsb3NlCisjZGVmaW5lIHN5c19zZXRnaWQgc3lzX2Nsb3NlCisjZGVmaW5lIHN5c19zZXRlZ2lkIHN5c19jbG9zZQorI2RlZmluZSBzeXNfdmhhbmd1cCBzeXNfY2xvc2UKKyNkZWZpbmUgc3lzX2Zkc3luYyBzeXNfY2xvc2UKKyNkZWZpbmUgc3lzX3NldHJldWlkIHN5c19kdXAyCisjZGVmaW5lIHN5c19zZXRyZWdpZCBzeXNfZHVwMgorI2RlZmluZSBzeXNfc2lnZmlsbHNldCBzeXNfc2lncGVuZGluZworI2RlZmluZSBzeXNfdmZvcmsgc3lzX2ZvcmsKKyNkZWZpbmUgc3lzX2tzaWdhY3Rpb24gc3lzX3NpZ2FjdGlvbgorI2RlZmluZSBzeXNfQlNEZ2V0cGdycCBzeXNfZ2V0cGdycAorI2RlZmluZSBzeXNfQlNEc2V0cGdycCBzeXNfc2V0cGdycAorI2RlZmluZSBzeXNfd2FpdHN5cyBzeXNfd2FpdGlkCisjZGVmaW5lIHN5c19zaWdzZXQgc3lzX3NpZ25hbAorI2RlZmluZSBzeXNfc2lncmVsc2Ugc3lzX3NpZ2hvbGQKKyNkZWZpbmUgc3lzX3NpZ2lnbm9yZSBzeXNfc2lnaG9sZAorI2RlZmluZSBzeXNfc2lncGF1c2Ugc3lzX3NpZ2hvbGQKKyNkZWZpbmUgc3lzX3NsZWVwIHN5c19hbGFybQorI2RlZmluZSBzeXNfZm9yazEgc3lzX2ZvcmsKKyNkZWZpbmUgc3lzX2ZvcmthbGwgc3lzX2ZvcmsKKyNkZWZpbmUgc3lzX21lbWNudGwgc3lzX21jdGwKKyNpZiBVTklYV0FSRSA+IDIKKyNkZWZpbmUgc3lzX3Jmb3JrMSBzeXNfcmZvcmsKKyNkZWZpbmUgc3lzX3Jmb3JrYWxsIHN5c19yZm9yaworI2lmbmRlZiBIQVZFX1NZU19OU0NTWVNfSAorI2RlZmluZSBzeXNfc3Npc3lzIHByaW50YXJncworI2VuZGlmCisjZW5kaWYKKworLyogYWlvICovCisjZGVmaW5lIHN5c19haW9ub3RpZnkgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19haW9pbml0IHByaW50YXJncworI2RlZmluZSBzeXNfYWlvc3RhcnQgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19haW9saW8gcHJpbnRhcmdzCisjZGVmaW5lIHN5c19haW9zdXNwZW5kIHByaW50YXJncworI2RlZmluZSBzeXNfYWlvZXJyb3IgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19haW9saW93YWl0IHByaW50YXJncworI2RlZmluZSBzeXNfYWlvYXJlYWQgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19haW9hd3JpdGUgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19haW9saW82NCBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2Fpb3N1c3BlbmQ2NCBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2Fpb2Vycm9yNjQgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19haW9saW93YWl0NjQgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19haW9hcmVhZDY0IHByaW50YXJncworI2RlZmluZSBzeXNfYWlvYXJlYWQ2NCBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2Fpb2F3cml0ZTY0IHByaW50YXJncworI2RlZmluZSBzeXNfYWlvY2FuY2VsNjQgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19haW9mc3luYyBwcmludGFyZ3MKKworLyogdGhlIHZhcmlvdXMgNjQtYml0IGZpbGUgc3R1ZmYgKi8KKyNpZiAhX0xGUzY0X0xBUkdFRklMRQorLyogd2UndmUgaW1wbGVtZW50ZWQgdGhlc2UgKi8KKyNkZWZpbmUgc3lzX2dldGRlbnRzNjQgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19tbWFwNjQgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19zdGF0NjQgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19sc3RhdDY0IHByaW50YXJncworI2RlZmluZSBzeXNfZnN0YXQ2NCBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3NldHJsaW1pdDY0IHByaW50YXJncworI2RlZmluZSBzeXNfZ2V0cmxpbWl0NjQgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19wcmVhZDY0IHByaW50YXJncworI2RlZmluZSBzeXNfcHdyaXRlNjQgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19mdHJ1bmNhdGU2NCBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3RydW5jYXRlNjQgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19sc2VlazY0IHByaW50YXJncworI2VuZGlmCisKKy8qIHVuaW1wbGVtZW50ZWQgNjQtYml0IHN0dWZmICovCisjZGVmaW5lIHN5c19zdGF0dmZzNjQgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19mc3RhdHZmczY0IHByaW50YXJncworCisvKiBsaWtlIGFub3RoZXIgY2FsbCAqLworI2RlZmluZSBzeXNfY3JlYXQ2NCBzeXNfY3JlYXQKKyNkZWZpbmUgc3lzX29wZW42NCBzeXNfb3BlbgorI2RlZmluZSBzeXNfbGxzZWVrIHN5c19sc2VlazY0CisKKy8qIHByaW50YXJncyBkb2VzIHRoZSByaWdodCB0aGluZyAqLworI2RlZmluZSBzeXNfc3luYyBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3Byb2ZpbCBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3lpZWxkIHByaW50YXJncworI2RlZmluZSBzeXNfcGF1c2UgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19zZXRob3N0aWQgcHJpbnRhcmdzCisKKy8qIHN1YmZ1bmN0aW9uIGVudHJ5IHBvaW50cyAqLworI2RlZmluZSBzeXNfcGdycHN5cyBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3NpZ2NhbGwgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19tc2dzeXMgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19zaG1zeXMgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19zZW1zeXMgcHJpbnRhcmdzCisjZGVmaW5lIHN5c191dHNzeXMgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19zeXNmcyBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3NwY2FsbCBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2NvbnRleHQgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19kb29yIHByaW50YXJncworI2RlZmluZSBzeXNfa2FpbyBwcmludGFyZ3MKKworI2lmIERPTkUKKyNkZWZpbmUgc3lzX3NpZ3dhaXQgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19tb3VudCBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3N5c2luZm8gcHJpbnRhcmdzCisjZGVmaW5lIHN5c19zeXNjb25maWcgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19nZXRwbXNnIHByaW50YXJncworI2RlZmluZSBzeXNfcHV0cG1zZyBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3ByZWFkIHByaW50YXJncworI2RlZmluZSBzeXNfcHdyaXRlIHByaW50YXJncworI2RlZmluZSBzeXNfcmVhZHYgcHJpbnRhcmdzCisjZGVmaW5lIHN5c193cml0ZXYgcHJpbnRhcmdzCisjZGVmaW5lIHN5c193YWl0IHByaW50YXJncworI2RlZmluZSBzeXNfd2FpdGlkIHByaW50YXJncworI2RlZmluZSBzeXNfc2lnc3VzcGVuZCBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2dldHBncnAgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19zZXRwZ3JwIHByaW50YXJncworI2RlZmluZSBzeXNfZ2V0c2lkIHByaW50YXJncworI2RlZmluZSBzeXNfc2V0c2lkIHByaW50YXJncworI2RlZmluZSBzeXNfZ2V0cGdpZCBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3NldHBnaWQgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19nZXRjb250ZXh0IHByaW50YXJncworI2RlZmluZSBzeXNfc2V0Y29udGV4dCBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3N0aW1lIHByaW50YXJncworI2RlZmluZSBzeXNfdGltZSBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX25pY2UgcHJpbnRhcmdzCisjZGVmaW5lIHN5c190aW1lcyBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2FsYXJtIHByaW50YXJncworI2RlZmluZSBzeXNfeHN0YXQgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19meHN0YXQgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19seHN0YXQgcHJpbnRhcmdzCisjZGVmaW5lIHN5c194bWtub2QgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19leGl0IHByaW50YXJncworI2RlZmluZSBzeXNfZm9yayBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3JlYWQgcHJpbnRhcmdzCisjZGVmaW5lIHN5c193cml0ZSBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX29wZW4gcHJpbnRhcmdzCisjZGVmaW5lIHN5c19jbG9zZSBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2NyZWF0IHByaW50YXJncworI2RlZmluZSBzeXNfbGluayBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3VubGluayBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2NoZGlyIHByaW50YXJncworI2RlZmluZSBzeXNfbWtub2QgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19jaG1vZCBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2Nob3duIHByaW50YXJncworI2RlZmluZSBzeXNfYnJrIHByaW50YXJncworI2RlZmluZSBzeXNfc3RhdCBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2xzZWVrIHByaW50YXJncworI2RlZmluZSBzeXNfZ2V0cGlkIHByaW50YXJncworI2RlZmluZSBzeXNfZ2V0dWlkIHByaW50YXJncworI2RlZmluZSBzeXNfZnN0YXQgcHJpbnRhcmdzCisjZGVmaW5lIHN5c191dGltZSBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2FjY2VzcyBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2tpbGwgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19kdXAgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19waXBlIHByaW50YXJncworI2RlZmluZSBzeXNfZ2V0Z2lkIHByaW50YXJncworI2RlZmluZSBzeXNfaW9jdGwgcHJpbnRhcmdzCisjZGVmaW5lIHN5c191bWFzayBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2Nocm9vdCBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2ZjbnRsIHByaW50YXJncworI2RlZmluZSBzeXNfcm1kaXIgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19ta2RpciBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2dldGRlbnRzIHByaW50YXJncworI2RlZmluZSBzeXNfZ2V0bXNnIHByaW50YXJncworI2RlZmluZSBzeXNfcHV0bXNnIHByaW50YXJncworI2RlZmluZSBzeXNfcG9sbCBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2xzdGF0IHByaW50YXJncworI2RlZmluZSBzeXNfc3ltbGluayBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3JlYWRsaW5rIHByaW50YXJncworI2RlZmluZSBzeXNfc2V0Z3JvdXBzIHByaW50YXJncworI2RlZmluZSBzeXNfZ2V0Z3JvdXBzIHByaW50YXJncworI2RlZmluZSBzeXNfZmNobW9kIHByaW50YXJncworI2RlZmluZSBzeXNfZmNob3duIHByaW50YXJncworI2RlZmluZSBzeXNfc2lncHJvY21hc2sgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19zaWdhY3Rpb24gcHJpbnRhcmdzCisjZGVmaW5lIHN5c19zaWdwZW5kaW5nIHByaW50YXJncworI2RlZmluZSBzeXNfbWluY29yZSBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX21tYXAgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19tcHJvdGVjdCBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX211bm1hcCBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3Zmb3JrIHByaW50YXJncworI2RlZmluZSBzeXNfZmNoZGlyIHByaW50YXJncworI2RlZmluZSBzeXNfc2V0cmxpbWl0IHByaW50YXJncworI2RlZmluZSBzeXNfZ2V0cmxpbWl0IHByaW50YXJncworI2RlZmluZSBzeXNfcmVuYW1lIHByaW50YXJncworI2RlZmluZSBzeXNfdW5hbWUgcHJpbnRhcmdzCisjZGVmaW5lIHN5c19hZGp0aW1lIHByaW50YXJncworI2RlZmluZSBzeXNfZmNocm9vdCBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3V0aW1lcyBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2dldHRpbWVvZmRheSBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX2dldGl0aW1lciBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3NldGl0aW1lciBwcmludGFyZ3MKKyNkZWZpbmUgc3lzX3NldHRpbWVvZmRheSBwcmludGFyZ3MKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvc3RyYWNlLTQuNS4yMC9zdnI0L2Vycm5vZW50LmggYi9zdHJhY2UtNC41LjIwL3N2cjQvZXJybm9lbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MThlMmRiCi0tLSAvZGV2L251bGwKKysrIGIvc3RyYWNlLTQuNS4yMC9zdnI0L2Vycm5vZW50LmgKQEAgLTAsMCArMSwxNTIgQEAKKwkiRVJSTk9fMCIsIC8qIDAgKi8KKwkiRVBFUk0iLCAvKiAxICovCisJIkVOT0VOVCIsIC8qIDIgKi8KKwkiRVNSQ0giLCAvKiAzICovCisJIkVJTlRSIiwgLyogNCAqLworCSJFSU8iLCAvKiA1ICovCisJIkVOWElPIiwgLyogNiAqLworCSJFMkJJRyIsIC8qIDcgKi8KKwkiRU5PRVhFQyIsIC8qIDggKi8KKwkiRUJBREYiLCAvKiA5ICovCisJIkVDSElMRCIsIC8qIDEwICovCisJIkVBR0FJTiIsIC8qIDExICovCisJIkVOT01FTSIsIC8qIDEyICovCisJIkVBQ0NFUyIsIC8qIDEzICovCisJIkVGQVVMVCIsIC8qIDE0ICovCisJIkVOT1RCTEsiLCAvKiAxNSAqLworCSJFQlVTWSIsIC8qIDE2ICovCisJIkVFWElTVCIsIC8qIDE3ICovCisJIkVYREVWIiwgLyogMTggKi8KKwkiRU5PREVWIiwgLyogMTkgKi8KKwkiRU5PVERJUiIsIC8qIDIwICovCisJIkVJU0RJUiIsIC8qIDIxICovCisJIkVJTlZBTCIsIC8qIDIyICovCisJIkVORklMRSIsIC8qIDIzICovCisJIkVNRklMRSIsIC8qIDI0ICovCisJIkVOT1RUWSIsIC8qIDI1ICovCisJIkVUWFRCU1kiLCAvKiAyNiAqLworCSJFRkJJRyIsIC8qIDI3ICovCisJIkVOT1NQQyIsIC8qIDI4ICovCisJIkVTUElQRSIsIC8qIDI5ICovCisJIkVST0ZTIiwgLyogMzAgKi8KKwkiRU1MSU5LIiwgLyogMzEgKi8KKwkiRVBJUEUiLCAvKiAzMiAqLworCSJFRE9NIiwgLyogMzMgKi8KKwkiRVJBTkdFIiwgLyogMzQgKi8KKwkiRU5PTVNHIiwgLyogMzUgKi8KKwkiRUlEUk0iLCAvKiAzNiAqLworCSJFQ0hSTkciLCAvKiAzNyAqLworCSJFTDJOU1lOQyIsIC8qIDM4ICovCisJIkVMM0hMVCIsIC8qIDM5ICovCisJIkVMM1JTVCIsIC8qIDQwICovCisJIkVMTlJORyIsIC8qIDQxICovCisJIkVVTkFUQ0giLCAvKiA0MiAqLworCSJFTk9DU0kiLCAvKiA0MyAqLworCSJFTDJITFQiLCAvKiA0NCAqLworCSJFREVBRExLIiwgLyogNDUgKi8KKwkiRU5PTENLIiwgLyogNDYgKi8KKwkiRUNBTkNFTEVEIiwgLyogNDcgKi8KKwkiRU5PVFNVUCIsIC8qIDQ4ICovCisJIkVSUk5PXzQ5IiwgLyogNDkgKi8KKwkiRUJBREUiLCAvKiA1MCAqLworCSJFQkFEUiIsIC8qIDUxICovCisJIkVYRlVMTCIsIC8qIDUyICovCisJIkVOT0FOTyIsIC8qIDUzICovCisJIkVCQURSUUMiLCAvKiA1NCAqLworCSJFQkFEU0xUIiwgLyogNTUgKi8KKwkiRURFQURMT0NLIiwgLyogNTYgKi8KKwkiRUJGT05UIiwgLyogNTcgKi8KKwkiRVJSTk9fNTgiLCAvKiA1OCAqLworCSJFUlJOT181OSIsIC8qIDU5ICovCisJIkVOT1NUUiIsIC8qIDYwICovCisJIkVOT0RBVEEiLCAvKiA2MSAqLworCSJFVElNRSIsIC8qIDYyICovCisJIkVOT1NSIiwgLyogNjMgKi8KKwkiRU5PTkVUIiwgLyogNjQgKi8KKwkiRU5PUEtHIiwgLyogNjUgKi8KKwkiRVJFTU9URSIsIC8qIDY2ICovCisJIkVOT0xJTksiLCAvKiA2NyAqLworCSJFQURWIiwgLyogNjggKi8KKwkiRVNSTU5UIiwgLyogNjkgKi8KKwkiRUNPTU0iLCAvKiA3MCAqLworCSJFUFJPVE8iLCAvKiA3MSAqLworCSJFUlJOT183MiIsIC8qIDcyICovCisJIkVSUk5PXzczIiwgLyogNzMgKi8KKwkiRU1VTFRJSE9QIiwgLyogNzQgKi8KKwkiRVJSTk9fNzUiLCAvKiA3NSAqLworCSJFUlJOT183NiIsIC8qIDc2ICovCisJIkVCQURNU0ciLCAvKiA3NyAqLworCSJFTkFNRVRPT0xPTkciLCAvKiA3OCAqLworCSJFT1ZFUkZMT1ciLCAvKiA3OSAqLworCSJFTk9UVU5JUSIsIC8qIDgwICovCisJIkVCQURGRCIsIC8qIDgxICovCisJIkVSRU1DSEciLCAvKiA4MiAqLworCSJFTElCQUNDIiwgLyogODMgKi8KKwkiRUxJQkJBRCIsIC8qIDg0ICovCisJIkVMSUJTQ04iLCAvKiA4NSAqLworCSJFTElCTUFYIiwgLyogODYgKi8KKwkiRUxJQkVYRUMiLCAvKiA4NyAqLworCSJFSUxTRVEiLCAvKiA4OCAqLworCSJFTk9TWVMiLCAvKiA4OSAqLworCSJFTE9PUCIsIC8qIDkwICovCisJIkVSRVNUQVJUIiwgLyogOTEgKi8KKwkiRVNUUlBJUEUiLCAvKiA5MiAqLworCSJFTk9URU1QVFkiLCAvKiA5MyAqLworCSJFVVNFUlMiLCAvKiA5NCAqLworCSJFTk9UU09DSyIsIC8qIDk1ICovCisJIkVERVNUQUREUlJFUSIsIC8qIDk2ICovCisJIkVNU0dTSVpFIiwgLyogOTcgKi8KKwkiRVBST1RPVFlQRSIsIC8qIDk4ICovCisJIkVOT1BST1RPT1BUIiwgLyogOTkgKi8KKwkiRVJSTk9fMTAwIiwgLyogMTAwICovCisJIkVSUk5PXzEwMSIsIC8qIDEwMSAqLworCSJFUlJOT18xMDIiLCAvKiAxMDIgKi8KKwkiRVJSTk9fMTAzIiwgLyogMTAzICovCisJIkVSUk5PXzEwNCIsIC8qIDEwNCAqLworCSJFUlJOT18xMDUiLCAvKiAxMDUgKi8KKwkiRVJSTk9fMTA2IiwgLyogMTA2ICovCisJIkVSUk5PXzEwNyIsIC8qIDEwNyAqLworCSJFUlJOT18xMDgiLCAvKiAxMDggKi8KKwkiRVJSTk9fMTA5IiwgLyogMTA5ICovCisJIkVSUk5PXzExMCIsIC8qIDExMCAqLworCSJFUlJOT18xMTEiLCAvKiAxMTEgKi8KKwkiRVJSTk9fMTEyIiwgLyogMTEyICovCisJIkVSUk5PXzExMyIsIC8qIDExMyAqLworCSJFUlJOT18xMTQiLCAvKiAxMTQgKi8KKwkiRVJSTk9fMTE1IiwgLyogMTE1ICovCisJIkVSUk5PXzExNiIsIC8qIDExNiAqLworCSJFUlJOT18xMTciLCAvKiAxMTcgKi8KKwkiRVJSTk9fMTE4IiwgLyogMTE4ICovCisJIkVSUk5PXzExOSIsIC8qIDExOSAqLworCSJFUFJPVE9OT1NVUFBPUlQiLCAvKiAxMjAgKi8KKwkiRVNPQ0tUTk9TVVBQT1JUIiwgLyogMTIxICovCisJIkVPUE5PVFNVUFAiLCAvKiAxMjIgKi8KKwkiRVBGTk9TVVBQT1JUIiwgLyogMTIzICovCisJIkVBRk5PU1VQUE9SVCIsIC8qIDEyNCAqLworCSJFQUREUklOVVNFIiwgLyogMTI1ICovCisJIkVBRERSTk9UQVZBSUwiLCAvKiAxMjYgKi8KKwkiRU5FVERPV04iLCAvKiAxMjcgKi8KKwkiRU5FVFVOUkVBQ0giLCAvKiAxMjggKi8KKwkiRU5FVFJFU0VUIiwgLyogMTI5ICovCisJIkVDT05OQUJPUlRFRCIsIC8qIDEzMCAqLworCSJFQ09OTlJFU0VUIiwgLyogMTMxICovCisJIkVOT0JVRlMiLCAvKiAxMzIgKi8KKwkiRUlTQ09OTiIsIC8qIDEzMyAqLworCSJFTk9UQ09OTiIsIC8qIDEzNCAqLworCSJFUlJOT18xMzUiLCAvKiAxMzUgKi8KKwkiRVJSTk9fMTM2IiwgLyogMTM2ICovCisJIkVSUk5PXzEzNyIsIC8qIDEzNyAqLworCSJFUlJOT18xMzgiLCAvKiAxMzggKi8KKwkiRVJSTk9fMTM5IiwgLyogMTM5ICovCisJIkVSUk5PXzE0MCIsIC8qIDE0MCAqLworCSJFUlJOT18xNDEiLCAvKiAxNDEgKi8KKwkiRVJSTk9fMTQyIiwgLyogMTQyICovCisJIkVTSFVURE9XTiIsIC8qIDE0MyAqLworCSJFVE9PTUFOWVJFRlMiLCAvKiAxNDQgKi8KKwkiRVRJTUVET1VUIiwgLyogMTQ1ICovCisJIkVDT05OUkVGVVNFRCIsIC8qIDE0NiAqLworCSJFSE9TVERPV04iLCAvKiAxNDcgKi8KKwkiRUhPU1RVTlJFQUNIIiwgLyogMTQ4ICovCisJIkVBTFJFQURZIiwgLyogMTQ5ICovCisJIkVJTlBST0dSRVNTIiwgLyogMTUwICovCisJIkVTVEFMRSIsIC8qIDE1MSAqLwpkaWZmIC0tZ2l0IGEvc3RyYWNlLTQuNS4yMC9zdnI0L2lvY3RsZW50LmggYi9zdHJhY2UtNC41LjIwL3N2cjQvaW9jdGxlbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MTE5Yzg3Ci0tLSAvZGV2L251bGwKKysrIGIvc3RyYWNlLTQuNS4yMC9zdnI0L2lvY3RsZW50LmgKQEAgLTAsMCArMSw0MjkgQEAKK3sic3lzL2RraW8uaCIsICJES0lPQ0dHRU9NIiwgMHg0MDF9LAoreyJzeXMvZGtpby5oIiwgIkRLSU9DU0dFT00iLCAweDQwMn0sCit7InN5cy9ka2lvLmgiLCAiREtJT0NJTkZPIiwgMHg0MDN9LAoreyJzeXMvZGtpby5oIiwgIkRLSU9DU0FQQVJUIiwgMHg0MDR9LAoreyJzeXMvZGtpby5oIiwgIkRLSU9DR0FQQVJUIiwgMHg0MDV9LAoreyJzeXMvZGtpby5oIiwgIkRLSU9DRUpFQ1QiLCAweDQwNn0sCit7InN5cy9ka2lvLmgiLCAiREtJT0NMT0NLIiwgMHg0MDd9LAoreyJzeXMvZGtpby5oIiwgIkRLSU9DVU5MT0NLIiwgMHg0MDh9LAoreyJzeXMvZGtpby5oIiwgIkRLSU9DR1ZUT0MiLCAweDQwYn0sCit7InN5cy9ka2lvLmgiLCAiREtJT0NTVlRPQyIsIDB4NDBjfSwKK3sic3lzL2RraW8uaCIsICJES0lPQ1NUQVRFIiwgMHg0MGR9LAoreyJzeXMvZmRpby5oIiwgIkZESU9HQ0hBUiIsIDB4NDMzfSwKK3sic3lzL2ZkaW8uaCIsICJGRElPU0NIQVIiLCAweDQzNH0sCit7InN5cy9mZGlvLmgiLCAiRkRFSkVDVCIsIDB4NDM1fSwKK3sic3lzL2ZkaW8uaCIsICJGREdFVENIQU5HRSIsIDB4NDM2fSwKK3sic3lzL2ZkaW8uaCIsICJGREdFVERSSVZFQ0hBUiIsIDB4NDM3fSwKK3sic3lzL2ZkaW8uaCIsICJGRFNFVERSSVZFQ0hBUiIsIDB4NDM4fSwKK3sic3lzL2ZkaW8uaCIsICJGREdFVFNFQVJDSCIsIDB4NDM5fSwKK3sic3lzL2ZkaW8uaCIsICJGRFNFVFNFQVJDSCIsIDB4NDNhfSwKK3sic3lzL2ZkaW8uaCIsICJGRElPQ01EIiwgMHg0M2J9LAoreyJzeXMvZmRpby5oIiwgIkZEUkFXIiwgMHg0NDZ9LAoreyJzeXMvZmRpby5oIiwgIkZEREVGR0VPQ0hBUiIsIDB4NDU2fSwKK3sic3lzL2hkaW8uaCIsICJIREtJT0NTVFlQRSIsIDB4NDY1fSwKK3sic3lzL2hkaW8uaCIsICJIREtJT0NHVFlQRSIsIDB4NDY2fSwKK3sic3lzL2hkaW8uaCIsICJIREtJT0NTQkFEIiwgMHg0Njd9LAoreyJzeXMvaGRpby5oIiwgIkhES0lPQ0dCQUQiLCAweDQ2OH0sCit7InN5cy9oZGlvLmgiLCAiSERLSU9DU0NNRCIsIDB4NDY5fSwKK3sic3lzL2hkaW8uaCIsICJIREtJT0NHRElBRyIsIDB4NDZhfSwKK3sic3lzL2NkaW8uaCIsICJDRFJPTVBBVVNFIiwgMHg0OTd9LAoreyJzeXMvY2Rpby5oIiwgIkNEUk9NUkVTVU1FIiwgMHg0OTh9LAoreyJzeXMvY2Rpby5oIiwgIkNEUk9NUExBWU1TRiIsIDB4NDk5fSwKK3sic3lzL2NkaW8uaCIsICJDRFJPTVBMQVlUUktJTkQiLCAweDQ5YX0sCit7InN5cy9jZGlvLmgiLCAiQ0RST01SRUFEVE9DSERSIiwgMHg0OWJ9LAoreyJzeXMvY2Rpby5oIiwgIkNEUk9NUkVBRFRPQ0VOVFJZIiwgMHg0OWN9LAoreyJzeXMvY2Rpby5oIiwgIkNEUk9NU1RPUCIsIDB4NDlkfSwKK3sic3lzL2NkaW8uaCIsICJDRFJPTVNUQVJUIiwgMHg0OWV9LAoreyJzeXMvY2Rpby5oIiwgIkNEUk9NRUpFQ1QiLCAweDQ5Zn0sCit7InN5cy9jZGlvLmgiLCAiQ0RST01WT0xDVFJMIiwgMHg0YTB9LAoreyJzeXMvY2Rpby5oIiwgIkNEUk9NU1VCQ0hOTCIsIDB4NGExfSwKK3sic3lzL2NkaW8uaCIsICJDRFJPTVJFQURNT0RFMiIsIDB4NGEyfSwKK3sic3lzL2NkaW8uaCIsICJDRFJPTVJFQURNT0RFMSIsIDB4NGEzfSwKK3sic3lzL2NkaW8uaCIsICJDRFJPTVJFQURPRkZTRVQiLCAweDRhNH0sCit7InN5cy9jZGlvLmgiLCAiQ0RST01HQkxLTU9ERSIsIDB4NGE1fSwKK3sic3lzL2NkaW8uaCIsICJDRFJPTVNCTEtNT0RFIiwgMHg0YTZ9LAoreyJzeXMvY2Rpby5oIiwgIkNEUk9NQ0REQSIsIDB4NGE3fSwKK3sic3lzL2NkaW8uaCIsICJDRFJPTUNEWEEiLCAweDRhOH0sCit7InN5cy9jZGlvLmgiLCAiQ0RST01TVUJDT0RFIiwgMHg0YTl9LAoreyJzeXMvY2Rpby5oIiwgIkNEUk9NR0RSVlNQRUVEIiwgMHg0YWF9LAoreyJzeXMvY2Rpby5oIiwgIkNEUk9NU0RSVlNQRUVEIiwgMHg0YWJ9LAoreyJzeXMvc2NzaS9pbXBsL3VzY3NpLmgiLCAiVVNDU0lDTUQiLCAweDRjOX0sCit7InN5cy9idWZtb2QuaCIsICJTQklPQ1NUSU1FIiwgMHg0MjAxfSwKK3sic3lzL2J1Zm1vZC5oIiwgIlNCSU9DR1RJTUUiLCAweDQyMDJ9LAoreyJzeXMvYnVmbW9kLmgiLCAiU0JJT0NDVElNRSIsIDB4NDIwM30sCit7InN5cy9idWZtb2QuaCIsICJTQklPQ1NDSFVOSyIsIDB4NDIwNH0sCit7InN5cy9idWZtb2QuaCIsICJTQklPQ0dDSFVOSyIsIDB4NDIwNX0sCit7InN5cy9idWZtb2QuaCIsICJTQklPQ1NTTkFQIiwgMHg0MjA2fSwKK3sic3lzL2J1Zm1vZC5oIiwgIlNCSU9DR1NOQVAiLCAweDQyMDd9LAoreyJzeXMvYnVmbW9kLmgiLCAiU0JJT0NTRkxBR1MiLCAweDQyMDh9LAoreyJzeXMvYnVmbW9kLmgiLCAiU0JJT0NHRkxBR1MiLCAweDQyMDl9LAoreyJzeXMvdGVybWlvcy5oIiwgIkxET1BFTiIsIDB4NDQwMH0sCit7InN5cy90ZXJtaW9zLmgiLCAiTERDTE9TRSIsIDB4NDQwMX0sCit7InN5cy9kbHBpLmgiLCAiRExJT0NSQVciLCAweDQ0MDF9LAoreyJzeXMvc2FkLmgiLCAiU0FEX1NBUCIsIDB4NDQwMX0sCit7InN5cy90ZXJtaW9zLmgiLCAiTERDSEciLCAweDQ0MDJ9LAoreyJzeXMvc2FkLmgiLCAiU0FEX0dBUCIsIDB4NDQwMn0sCit7InN5cy9zYWQuaCIsICJTQURfVk1MIiwgMHg0NDAzfSwKK3sic3lzL3Rlcm1pb3MuaCIsICJMREdFVFQiLCAweDQ0MDh9LAoreyJzeXMvdGVybWlvcy5oIiwgIkxEU0VUVCIsIDB4NDQwOX0sCit7InN5cy9kbHBpLmgiLCAiRExfSU9DX0hEUl9JTkZPIiwgMHg0NDBhfSwKK3sic3lzL3Rlcm1pb3MuaCIsICJMRFNNQVAiLCAweDQ0NmV9LAoreyJzeXMvdGVybWlvcy5oIiwgIkxER01BUCIsIDB4NDQ2Zn0sCit7InN5cy90ZXJtaW9zLmgiLCAiTEROTUFQIiwgMHg0NDcwfSwKK3sic3lzL3Rlcm1pb3MuaCIsICJMREVNQVAiLCAweDQ0NzF9LAoreyJzeXMvdGVybWlvcy5oIiwgIkxERE1BUCIsIDB4NDQ3Mn0sCit7InN5cy9mYmlvLmgiLCAiRkJJT0dUWVBFIiwgMHg0NjAwfSwKK3sic3lzL2ZiaW8uaCIsICJGQklPR0lORk8iLCAweDQ2MDJ9LAoreyJzeXMvZmJpby5oIiwgIkZCSU9QVVRDTUFQIiwgMHg0NjAzfSwKK3sic3lzL2ZiaW8uaCIsICJGQklPR0VUQ01BUCIsIDB4NDYwNH0sCit7InN5cy9mYmlvLmgiLCAiRkJJT1NBVFRSIiwgMHg0NjA1fSwKK3sic3lzL2ZiaW8uaCIsICJGQklPR0FUVFIiLCAweDQ2MDZ9LAoreyJzeXMvZmJpby5oIiwgIkZCSU9TVklERU8iLCAweDQ2MDd9LAoreyJzeXMvZmJpby5oIiwgIkZCSU9HVklERU8iLCAweDQ2MDh9LAoreyJzeXMvZmJpby5oIiwgIkZCSU9WRVJUSUNBTCIsIDB4NDYwOX0sCit7InN5cy9mYmlvLmgiLCAiR1JBQlBBR0VBTExPQyIsIDB4NDYwYX0sCit7InN5cy9mYmlvLmgiLCAiR1JBQlBBR0VGUkVFIiwgMHg0NjBifSwKK3sic3lzL2ZiaW8uaCIsICJHUkFCQVRUQUNIIiwgMHg0NjBjfSwKK3sic3lzL2ZiaW8uaCIsICJGQklPR1BMTkdSUCIsIDB4NDYwZH0sCit7InN5cy9mYmlvLmgiLCAiRkJJT0dDTVNJWkUiLCAweDQ2MGV9LAoreyJzeXMvZmJpby5oIiwgIkZCSU9TQ01TSVpFIiwgMHg0NjBmfSwKK3sic3lzL2ZiaW8uaCIsICJGQklPU0NNUyIsIDB4NDYxMH0sCit7InN5cy9mYmlvLmgiLCAiRkJJT0FWQUlMUExOR1JQIiwgMHg0NjExfSwKK3sic3lzL2ZiaW8uaCIsICJGQklPREJMR0lORk8iLCAweDQ2MTJ9LAoreyJzeXMvZmJpby5oIiwgIkZCSU9EQkxTSU5GTyIsIDB4NDYxM30sCit7InN5cy9mYmlvLmgiLCAiRkJJT1NXSU5GRCIsIDB4NDYxNH0sCit7InN5cy9mYmlvLmgiLCAiRkJJT1NBVldJTkZEIiwgMHg0NjE1fSwKK3sic3lzL2ZiaW8uaCIsICJGQklPUkVTV0lORkQiLCAweDQ2MTZ9LAoreyJzeXMvZmJpby5oIiwgIkZCSU9TUldJTkZEIiwgMHg0NjE3fSwKK3sic3lzL3Zpc3VhbF9pby5oIiwgIlZJU19TRVRDVVJTT1IiLCAweDQ2MTh9LAoreyJzeXMvZmJpby5oIiwgIkZCSU9TQ1VSU09SIiwgMHg0NjE4fSwKK3sic3lzL2ZiaW8uaCIsICJGQklPR0NVUlNPUiIsIDB4NDYxOX0sCit7InN5cy92aXN1YWxfaW8uaCIsICJWSVNfR0VUQ1VSU09SIiwgMHg0NjE5fSwKK3sic3lzL2ZiaW8uaCIsICJGQklPU0NVUlBPUyIsIDB4NDYxYX0sCit7InN5cy92aXN1YWxfaW8uaCIsICJWSVNfTU9WRUNVUlNPUiIsIDB4NDYxYX0sCit7InN5cy9mYmlvLmgiLCAiRkJJT0dDVVJQT1MiLCAweDQ2MWJ9LAoreyJzeXMvdmlzdWFsX2lvLmgiLCAiVklTX0dFVENVUlNPUlBPUyIsIDB4NDYxYn0sCit7InN5cy9mYmlvLmgiLCAiRkJJT0dDVVJNQVgiLCAweDQ2MWN9LAoreyJzeXMvZmJpby5oIiwgIkdSQUJMT0NLSU5GTyIsIDB4NDYxZH0sCit7InN5cy9mYmlvLmgiLCAiRkJJT19XSURfQUxMT0MiLCAweDQ2MWV9LAoreyJzeXMvZmJpby5oIiwgIkZCSU9fV0lEX0ZSRUUiLCAweDQ2MWZ9LAoreyJzeXMvZmJpby5oIiwgIkZCSU9fV0lEX1BVVCIsIDB4NDYyMH0sCit7InN5cy9mYmlvLmgiLCAiRkJJT19XSURfR0VUIiwgMHg0NjIxfSwKK3sic3lzL2ZiaW8uaCIsICJGQklPX0RFVklEIiwgMHg0NjIyfSwKK3sic3lzL2ZiaW8uaCIsICJGQklPX1VfUlNUIiwgMHg0NjIzfSwKK3sic3lzL2ZiaW8uaCIsICJGQklPX0ZVTExTQ1JFRU5fRUxJTUlOQVRJT05fR1JPVVBTIiwgMHg0NjI0fSwKK3sic3lzL2ZiaW8uaCIsICJGQklPX1dJRF9EQkxfU0VUIiwgMHg0NjI1fSwKK3sic3lzL2ZiaW8uaCIsICJGQklPVlJUT0ZGU0VUIiwgMHg0NjI2fSwKK3sic3lzL2ZiaW8uaCIsICJGQklPR1hJTkZPIiwgMHg0NjI3fSwKK3sic3lzL2ZiaW8uaCIsICJGQklPTU9OSU5GTyIsIDB4NDYyOH0sCit7InN5cy9mYmlvLmgiLCAiRkJJT1BVVENNQVBJIiwgMHg0NjI5fSwKK3sic3lzL2ZiaW8uaCIsICJGQklPR0VUQ01BUEkiLCAweDQ2MmF9LAoreyJzeXMvZmJpby5oIiwgIkZCSU9fQVNTSUdOV0lEIiwgMHg0NjJifSwKK3sic3lzL2ZiaW8uaCIsICJGQklPX1NURVJFTyIsIDB4NDYyY30sCit7InN5cy9ncGlvLmgiLCAiR1AxSU9fUFVUX0lORk8iLCAweDQ3MDB9LAoreyJzeXMvZ3Bpby5oIiwgIkdQMUlPX0dFVF9TVEFUSUNfQkxPQ0siLCAweDQ3MDF9LAoreyJzeXMvZ3Bpby5oIiwgIkdQMUlPX0ZSRUVfU1RBVElDX0JMT0NLIiwgMHg0NzAyfSwKK3sic3lzL2dwaW8uaCIsICJHUDFJT19HRVRfR0JVRkZFUl9TVEFURSIsIDB4NDcwM30sCit7InN5cy9ncGlvLmgiLCAiR1AxSU9fQ0hLX0dQIiwgMHg0NzA0fSwKK3sic3lzL2dwaW8uaCIsICJHUDFJT19HRVRfUkVTVEFSVF9DT1VOVCIsIDB4NDcwNX0sCit7InN5cy9ncGlvLmgiLCAiR1AxSU9fUkVESVJFQ1RfREVWRkIiLCAweDQ3MDZ9LAoreyJzeXMvZ3Bpby5oIiwgIkdQMUlPX0dFVF9SRVFERVYiLCAweDQ3MDd9LAoreyJzeXMvZ3Bpby5oIiwgIkdQMUlPX0dFVF9UUlVNSU5PUkRFViIsIDB4NDcwOH0sCit7InN5cy9ncGlvLmgiLCAiR1AxSU9fQ0hLX0ZPUl9HQlVGRkVSIiwgMHg0NzA5fSwKK3sic3lzL2dwaW8uaCIsICJHUDFJT19TRVRfVVNJTkdfR0JVRkZFUiIsIDB4NDcwYX0sCit7InN5cy9ncGlvLmgiLCAiR1AxSU9fSU5GT19TVEFUSUNfQkxPQ0siLCAweDQ3MGJ9LAoreyJzeXMvc29ja21vZC5oIiwgIk9fU0lfR0VUVURBVEEiLCAweDQ5NjV9LAoreyJzeXMvc29ja21vZC5oIiwgIlNJX1NIVVRET1dOIiwgMHg0OTY2fSwKK3sic3lzL3NvY2ttb2QuaCIsICJTSV9MSVNURU4iLCAweDQ5Njd9LAoreyJzeXMvc29ja21vZC5oIiwgIlNJX1NFVE1ZTkFNRSIsIDB4NDk2OH0sCit7InN5cy9zb2NrbW9kLmgiLCAiU0lfU0VUUEVFUk5BTUUiLCAweDQ5Njl9LAoreyJzeXMvc29ja21vZC5oIiwgIlNJX0dFVElOVFJBTlNJVCIsIDB4NDk2YX0sCit7InN5cy9zb2NrbW9kLmgiLCAiU0lfU09DS1BBUkFNUyIsIDB4NDk2ZH0sCit7InN5cy9zb2NrbW9kLmgiLCAiU0lfR0VUVURBVEEiLCAweDQ5NmV9LAoreyJzeXMvc3RybG9nLmgiLCAiSV9UUkNMT0ciLCAweDRjMDF9LAoreyJzeXMvc3RybG9nLmgiLCAiSV9FUlJMT0ciLCAweDRjMDJ9LAoreyJzeXMvc3RybG9nLmgiLCAiSV9DT05TTE9HIiwgMHg0YzAzfSwKK3sic3lzL2NnMTRpby5oIiwgIk1ESV9SRVNFVCIsIDB4NGQwMX0sCit7InN5cy9jZzE0aW8uaCIsICJNRElfR0VUX0NGR0lORk8iLCAweDRkMDJ9LAoreyJzeXMvY2cxNGlvLmgiLCAiTURJX1NFVF9QSVhFTE1PREUiLCAweDRkMDN9LAoreyJzeXMvY2cxNGlvLmgiLCAiTURJX1NFVF9DT1VOVEVSUyIsIDB4NGQwNH0sCit7InN5cy9jZzE0aW8uaCIsICJNRElfU0VUX1BQUiIsIDB4NGQwNX0sCit7InN5cy9jZzE0aW8uaCIsICJNRElfVlJUX0NOVEwiLCAweDRkMDZ9LAoreyJzeXMvY2cxNGlvLmgiLCAiTURJX1NFVF9DTFVUIiwgMHg0ZDA3fSwKK3sic3lzL2NnMTRpby5oIiwgIk1ESV9HRVRfQ0xVVCIsIDB4NGQwOH0sCit7InN5cy9jZzE0aW8uaCIsICJNRElfU0VUX1hMVVQiLCAweDRkMDl9LAoreyJzeXMvY2cxNGlvLmgiLCAiTURJX0dFVF9YTFVUIiwgMHg0ZDBhfSwKK3sic3lzL2NnMTRpby5oIiwgIk1ESV9HQU1NQV9DT1JSRUNUIiwgMHg0ZDBifSwKK3sic3lzL2NnMTRpby5oIiwgIk1ESV9TRVRfR0FNTUFMVVQiLCAweDRkMGN9LAoreyJzeXMvY2cxNGlvLmgiLCAiTURJX0dFVF9HQU1NQUxVVCIsIDB4NGQwZH0sCit7InN5cy9jZzE0aW8uaCIsICJNRElfU0VUX0RFR0FNTUFMVVQiLCAweDRkMGV9LAoreyJzeXMvY2cxNGlvLmgiLCAiTURJX0dFVF9ERUdBTU1BTFVUIiwgMHg0ZDBmfSwKK3sic3lzL2NnMTRpby5oIiwgIk1ESV9HRVRfQlVGRkVSX0lORk8iLCAweDRkMTB9LAoreyJzeXMvY2cxNGlvLmgiLCAiTURJX1NFVF9DVVJTT1IiLCAweDRkMTF9LAoreyJzeXMvY2cxNGlvLmgiLCAiTURJX0dFVF9ESUFHSU5GTyIsIDB4NGQxMn0sCit7InN5cy9jZzE0aW8uaCIsICJNRElfU0VUX1JFU09MVVRJT04iLCAweDRkMTN9LAoreyJzeXMvY2cxNGlvLmgiLCAiU0VUX01PTklUT1JfUE9XRVIiLCAweDRkMTR9LAoreyJzeXMvb3BlbnByb21pby5oIiwgIk9QUk9NR0VUQk9PVEFSR1MiLCAweDRmMGN9LAoreyJzeXMvcGZtb2QuaCIsICJQRklPQ1NFVEYiLCAweDUwMDF9LAoreyJzeXMvc3Ryb3B0cy5oIiwgIklfTlJFQUQiLCAweDUzMDF9LAoreyJzeXMvc3Ryb3B0cy5oIiwgIklfUFVTSCIsIDB4NTMwMn0sCit7InN5cy9zdHJvcHRzLmgiLCAiSV9QT1AiLCAweDUzMDN9LAoreyJzeXMvc3Ryb3B0cy5oIiwgIklfTE9PSyIsIDB4NTMwNH0sCit7InN5cy9zdHJvcHRzLmgiLCAiSV9GTFVTSCIsIDB4NTMwNX0sCit7InN5cy9zdHJvcHRzLmgiLCAiSV9TUkRPUFQiLCAweDUzMDZ9LAoreyJzeXMvc3Ryb3B0cy5oIiwgIklfR1JET1BUIiwgMHg1MzA3fSwKK3sic3lzL3N0cm9wdHMuaCIsICJJX1NUUiIsIDB4NTMwOH0sCit7InN5cy9zdHJvcHRzLmgiLCAiSV9TRVRTSUciLCAweDUzMDl9LAoreyJzeXMvc3Ryb3B0cy5oIiwgIklfR0VUU0lHIiwgMHg1MzBhfSwKK3sic3lzL3N0cm9wdHMuaCIsICJJX0ZJTkQiLCAweDUzMGJ9LAoreyJzeXMvc3Ryb3B0cy5oIiwgIklfTElOSyIsIDB4NTMwY30sCit7InN5cy9zdHJvcHRzLmgiLCAiSV9VTkxJTksiLCAweDUzMGR9LAoreyJzeXMvc3Ryb3B0cy5oIiwgIklfUkVDVkZEIiwgMHg1MzBlfSwKK3sic3lzL3N0cm9wdHMuaCIsICJJX1BFRUsiLCAweDUzMGZ9LAoreyJzeXMvc3Ryb3B0cy5oIiwgIklfRkRJTlNFUlQiLCAweDUzMTB9LAoreyJzeXMvc3Ryb3B0cy5oIiwgIklfU0VOREZEIiwgMHg1MzExfSwKK3sic3lzL3N0cm9wdHMuaCIsICJJX1NXUk9QVCIsIDB4NTMxM30sCit7InN5cy9zdHJvcHRzLmgiLCAiSV9HV1JPUFQiLCAweDUzMTR9LAoreyJzeXMvc3Ryb3B0cy5oIiwgIklfTElTVCIsIDB4NTMxNX0sCit7InN5cy9zdHJvcHRzLmgiLCAiSV9QTElOSyIsIDB4NTMxNn0sCit7InN5cy9zdHJvcHRzLmgiLCAiSV9QVU5MSU5LIiwgMHg1MzE3fSwKK3sic3lzL3N0cm9wdHMuaCIsICJJX1NFVEVWIiwgMHg1MzE4fSwKK3sic3lzL3N0cm9wdHMuaCIsICJJX0dFVEVWIiwgMHg1MzE5fSwKK3sic3lzL3N0cm9wdHMuaCIsICJJX1NUUkVWIiwgMHg1MzFhfSwKK3sic3lzL3N0cm9wdHMuaCIsICJJX1VOU1RSRVYiLCAweDUzMWJ9LAoreyJzeXMvc3Ryb3B0cy5oIiwgIklfRkxVU0hCQU5EIiwgMHg1MzFjfSwKK3sic3lzL3N0cm9wdHMuaCIsICJJX0NLQkFORCIsIDB4NTMxZH0sCit7InN5cy9zdHJvcHRzLmgiLCAiSV9HRVRCQU5EIiwgMHg1MzFlfSwKK3sic3lzL3N0cm9wdHMuaCIsICJJX0FUTUFSSyIsIDB4NTMxZn0sCit7InN5cy9zdHJvcHRzLmgiLCAiSV9TRVRDTFRJTUUiLCAweDUzMjB9LAoreyJzeXMvc3Ryb3B0cy5oIiwgIklfR0VUQ0xUSU1FIiwgMHg1MzIxfSwKK3sic3lzL3N0cm9wdHMuaCIsICJJX0NBTlBVVCIsIDB4NTMyMn0sCit7InN5cy90ZXJtaW9zLmgiLCAiVENHRVRBIiwgMHg1NDAxfSwKK3sic3lzL3Rlcm1pb3MuaCIsICJUQ1NFVEEiLCAweDU0MDJ9LAoreyJzeXMvdGVybWlvcy5oIiwgIlRDU0VUQVciLCAweDU0MDN9LAoreyJzeXMvdGVybWlvcy5oIiwgIlRDU0VUQUYiLCAweDU0MDR9LAoreyJzeXMvdGVybWlvcy5oIiwgIlRDU0JSSyIsIDB4NTQwNX0sCit7InN5cy90ZXJtaW9zLmgiLCAiVENYT05DIiwgMHg1NDA2fSwKK3sic3lzL3Rlcm1pb3MuaCIsICJUQ0ZMU0giLCAweDU0MDd9LAoreyJzeXMvdGVybWlvcy5oIiwgIlRJT0NLQk9OIiwgMHg1NDA4fSwKK3sic3lzL3Rlcm1pb3MuaCIsICJUSU9DS0JPRiIsIDB4NTQwOX0sCit7InN5cy90ZXJtaW9zLmgiLCAiS0JFTkFCTEVEIiwgMHg1NDBhfSwKK3sic3lzL3Rlcm1pb3MuaCIsICJUQ0dFVFMiLCAweDU0MGR9LAoreyJzeXMvdGVybWlvcy5oIiwgIlRDU0VUUyIsIDB4NTQwZX0sCit7InN5cy90ZXJtaW9zLmgiLCAiVENTQU5PVyIsIDB4NTQwZX0sCit7InN5cy90ZXJtaW9zLmgiLCAiVENTQURSQUlOIiwgMHg1NDBmfSwKK3sic3lzL3Rlcm1pb3MuaCIsICJUQ1NFVFNXIiwgMHg1NDBmfSwKK3sic3lzL3Rlcm1pb3MuaCIsICJUQ1NBRkxVU0giLCAweDU0MTB9LAoreyJzeXMvdGVybWlvcy5oIiwgIlRDU0VUU0YiLCAweDU0MTB9LAoreyJzeXMvdGVybWlvLmgiLCAiVENEU0VUIiwgMHg1NDIwfSwKK3sic3lzL3Rlcm1pb3MuaCIsICJUQ0RTRVQiLCAweDU0MjB9LAoreyJzeXMvdGVybWlvcy5oIiwgIlJUU19UT0ciLCAweDU0MjF9LAoreyJzeXMvdHRvbGQuaCIsICJUSU9DU1dJTlNaIiwgMHg1NDY3fSwKK3sic3lzL3Rlcm1pb3MuaCIsICJUSU9DU1dJTlNaIiwgMHg1NDY3fSwKK3sic3lzL3R0b2xkLmgiLCAiVElPQ0dXSU5TWiIsIDB4NTQ2OH0sCit7InN5cy90ZXJtaW9zLmgiLCAiVElPQ0dXSU5TWiIsIDB4NTQ2OH0sCit7InN5cy90ZXJtaW9zLmgiLCAiVElPQ0dTT0ZUQ0FSIiwgMHg1NDY5fSwKK3sic3lzL3Rlcm1pb3MuaCIsICJUSU9DU1NPRlRDQVIiLCAweDU0NmF9LAoreyJzeXMvdGltb2QuaCIsICJUSV9HRVRJTkZPIiwgMHg1NDhjfSwKK3sic3lzL3RpbW9kLmgiLCAiVElfT1BUTUdNVCIsIDB4NTQ4ZH0sCit7InN5cy90aW1vZC5oIiwgIlRJX0JJTkQiLCAweDU0OGV9LAoreyJzeXMvdGltb2QuaCIsICJUSV9VTkJJTkQiLCAweDU0OGZ9LAoreyJzeXMvdGltb2QuaCIsICJUSV9HRVRNWU5BTUUiLCAweDU0OTB9LAoreyJzeXMvdGltb2QuaCIsICJUSV9HRVRQRUVSTkFNRSIsIDB4NTQ5MX0sCit7InN5cy90aW1vZC5oIiwgIlRJX1NFVE1ZTkFNRSIsIDB4NTQ5Mn0sCit7InN5cy90aW1vZC5oIiwgIlRJX1NFVFBFRVJOQU1FIiwgMHg1NDkzfSwKK3sic3lzL3Rlcm1pb3guaCIsICJUQ0dFVFgiLCAweDU4MDF9LAoreyJzeXMvdGVybWlveC5oIiwgIlRDU0VUWCIsIDB4NTgwMn0sCit7InN5cy90ZXJtaW94LmgiLCAiVENTRVRYVyIsIDB4NTgwM30sCit7InN5cy90ZXJtaW94LmgiLCAiVENTRVRYRiIsIDB4NTgwNH0sCit7InN5cy9pb2N0bC5oIiwgIkRJT0NHRVRDIiwgMHg2NDAxfSwKK3sic3lzL2lvY3RsLmgiLCAiRElPQ0dFVEIiLCAweDY0MDJ9LAoreyJzeXMvaW9jdGwuaCIsICJESU9DU0VURSIsIDB4NjQwM30sCit7InN5cy90ZXJtaW9zLmgiLCAiRElPQ0dFVFAiLCAweDY0MDh9LAoreyJzeXMvdGVybWlvcy5oIiwgIkRJT0NTRVRQIiwgMHg2NDA5fSwKK3sic3lzL2ppb2N0bC5oIiwgIkpCT09UIiwgMHg2YTAxfSwKK3sic3lzL2ppb2N0bC5oIiwgIkpURVJNIiwgMHg2YTAyfSwKK3sic3lzL2ppb2N0bC5oIiwgIkpNUFgiLCAweDZhMDN9LAoreyJzeXMvamlvY3RsLmgiLCAiSldJTlNJWkUiLCAweDZhMDV9LAoreyJzeXMvamlvY3RsLmgiLCAiSlpPTUJPT1QiLCAweDZhMDd9LAoreyJzeXMvamlvY3RsLmgiLCAiSkFHRU5UIiwgMHg2YTA5fSwKK3sic3lzL2ppb2N0bC5oIiwgIkpUUlVOIiwgMHg2YTBhfSwKK3sic3lzL2ppb2N0bC5oIiwgIkpYVFBST1RPIiwgMHg2YTBifSwKK3sic3lzL2tiaW8uaCIsICJLSU9DVFJBTlMiLCAweDZiMDB9LAoreyJzeXMva2Jpby5oIiwgIktJT0NTRVRLRVkiLCAweDZiMDF9LAoreyJzeXMva2Jpby5oIiwgIktJT0NHRVRLRVkiLCAweDZiMDJ9LAoreyJzeXMva2Jpby5oIiwgIktJT0NHVFJBTlMiLCAweDZiMDV9LAoreyJzeXMva2Jpby5oIiwgIktJT0NUUkFOU0FCTEUiLCAweDZiMDZ9LAoreyJzeXMva2Jpby5oIiwgIktJT0NHVFJBTlNBQkxFIiwgMHg2YjA3fSwKK3sic3lzL2tiaW8uaCIsICJLSU9DQ01EIiwgMHg2YjA4fSwKK3sic3lzL2tiaW8uaCIsICJLSU9DVFlQRSIsIDB4NmIwOX0sCit7InN5cy9rYmlvLmgiLCAiS0lPQ1NESVJFQ1QiLCAweDZiMGF9LAoreyJzeXMva2Jpby5oIiwgIktJT0NHRElSRUNUIiwgMHg2YjBifSwKK3sic3lzL2tiaW8uaCIsICJLSU9DU0tFWSIsIDB4NmIwY30sCit7InN5cy9rYmlvLmgiLCAiS0lPQ0dLRVkiLCAweDZiMGR9LAoreyJzeXMva2Jpby5oIiwgIktJT0NTTEVEIiwgMHg2YjBlfSwKK3sic3lzL2tiaW8uaCIsICJLSU9DR0xFRCIsIDB4NmIwZn0sCit7InN5cy9rYmlvLmgiLCAiS0lPQ1NDT01QQVQiLCAweDZiMTB9LAoreyJzeXMva2Jpby5oIiwgIktJT0NHQ09NUEFUIiwgMHg2YjExfSwKK3sic3lzL2tiaW8uaCIsICJLSU9DTEFZT1VUIiwgMHg2YjE0fSwKK3sic3lzL2lvY3RsLmgiLCAiTElPQ0dFVFAiLCAweDZjMDF9LAoreyJzeXMvaW9jdGwuaCIsICJMSU9DU0VUUCIsIDB4NmMwMn0sCit7InN5cy9pb2N0bC5oIiwgIkxJT0NHRVRTIiwgMHg2YzA1fSwKK3sic3lzL2lvY3RsLmgiLCAiTElPQ1NFVFMiLCAweDZjMDZ9LAoreyJzeXMvbXRpby5oIiwgIk1USU9DVE9QIiwgMHg2ZDAxfSwKK3sic3lzL21zaW8uaCIsICJNU0lPR0VUUEFSTVMiLCAweDZkMDF9LAoreyJzeXMvbXNpby5oIiwgIk1TSU9TRVRQQVJNUyIsIDB4NmQwMn0sCit7InN5cy9tdGlvLmgiLCAiTVRJT0NHRVQiLCAweDZkMDJ9LAoreyJzeXMvbXRpby5oIiwgIk1USU9DR0VURFJJVkVUWVBFIiwgMHg2ZDAzfSwKK3sic3lzL3Byb2Nmcy5oIiwgIlBJT0NTVEFUVVMiLCAweDcxMDF9LAoreyJzeXMvcHJvY2ZzLmgiLCAiUElPQ1NUT1AiLCAweDcxMDJ9LAoreyJzeXMvcHJvY2ZzLmgiLCAiUElPQ1dTVE9QIiwgMHg3MTAzfSwKK3sic3lzL3Byb2Nmcy5oIiwgIlBJT0NSVU4iLCAweDcxMDR9LAoreyJzeXMvcHJvY2ZzLmgiLCAiUElPQ0dUUkFDRSIsIDB4NzEwNX0sCit7InN5cy9wcm9jZnMuaCIsICJQSU9DU1RSQUNFIiwgMHg3MTA2fSwKK3sic3lzL3Byb2Nmcy5oIiwgIlBJT0NTU0lHIiwgMHg3MTA3fSwKK3sic3lzL3Byb2Nmcy5oIiwgIlBJT0NLSUxMIiwgMHg3MTA4fSwKK3sic3lzL3Byb2Nmcy5oIiwgIlBJT0NVTktJTEwiLCAweDcxMDl9LAoreyJzeXMvcHJvY2ZzLmgiLCAiUElPQ0dIT0xEIiwgMHg3MTBhfSwKK3sic3lzL3Byb2Nmcy5oIiwgIlBJT0NTSE9MRCIsIDB4NzEwYn0sCit7InN5cy9wcm9jZnMuaCIsICJQSU9DTUFYU0lHIiwgMHg3MTBjfSwKK3sic3lzL3Byb2Nmcy5oIiwgIlBJT0NBQ1RJT04iLCAweDcxMGR9LAoreyJzeXMvcHJvY2ZzLmgiLCAiUElPQ0dGQVVMVCIsIDB4NzEwZX0sCit7InN5cy9wcm9jZnMuaCIsICJQSU9DU0ZBVUxUIiwgMHg3MTBmfSwKK3sic3lzL3Byb2Nmcy5oIiwgIlBJT0NDRkFVTFQiLCAweDcxMTB9LAoreyJzeXMvcHJvY2ZzLmgiLCAiUElPQ0dFTlRSWSIsIDB4NzExMX0sCit7InN5cy9wcm9jZnMuaCIsICJQSU9DU0VOVFJZIiwgMHg3MTEyfSwKK3sic3lzL3Byb2Nmcy5oIiwgIlBJT0NHRVhJVCIsIDB4NzExM30sCit7InN5cy9wcm9jZnMuaCIsICJQSU9DU0VYSVQiLCAweDcxMTR9LAoreyJzeXMvcHJvY2ZzLmgiLCAiUElPQ1NGT1JLIiwgMHg3MTE1fSwKK3sic3lzL3Byb2Nmcy5oIiwgIlBJT0NSRk9SSyIsIDB4NzExNn0sCit7InN5cy9wcm9jZnMuaCIsICJQSU9DU1JMQyIsIDB4NzExN30sCit7InN5cy9wcm9jZnMuaCIsICJQSU9DUlJMQyIsIDB4NzExOH0sCit7InN5cy9wcm9jZnMuaCIsICJQSU9DR1JFRyIsIDB4NzExOX0sCit7InN5cy9wcm9jZnMuaCIsICJQSU9DU1JFRyIsIDB4NzExYX0sCit7InN5cy9wcm9jZnMuaCIsICJQSU9DR0ZQUkVHIiwgMHg3MTFifSwKK3sic3lzL3Byb2Nmcy5oIiwgIlBJT0NTRlBSRUciLCAweDcxMWN9LAoreyJzeXMvcHJvY2ZzLmgiLCAiUElPQ05JQ0UiLCAweDcxMWR9LAoreyJzeXMvcHJvY2ZzLmgiLCAiUElPQ1BTSU5GTyIsIDB4NzExZX0sCit7InN5cy9wcm9jZnMuaCIsICJQSU9DTk1BUCIsIDB4NzExZn0sCit7InN5cy9wcm9jZnMuaCIsICJQSU9DTUFQIiwgMHg3MTIwfSwKK3sic3lzL3Byb2Nmcy5oIiwgIlBJT0NPUEVOTSIsIDB4NzEyMX0sCit7InN5cy9wcm9jZnMuaCIsICJQSU9DQ1JFRCIsIDB4NzEyMn0sCit7InN5cy9wcm9jZnMuaCIsICJQSU9DR1JPVVBTIiwgMHg3MTIzfSwKK3sic3lzL3Byb2Nmcy5oIiwgIlBJT0NHRVRQUiIsIDB4NzEyNH0sCit7InN5cy9wcm9jZnMuaCIsICJQSU9DR0VUVSIsIDB4NzEyNX0sCit7InN5cy9wcm9jZnMuaCIsICJQSU9DU0VUIiwgMHg3MTI2fSwKK3sic3lzL3Byb2Nmcy5oIiwgIlBJT0NSRVNFVCIsIDB4NzEyN30sCit7InN5cy9wcm9jZnMuaCIsICJQSU9DTldBVENIIiwgMHg3MTI4fSwKK3sic3lzL3Byb2Nmcy5oIiwgIlBJT0NHV0FUQ0giLCAweDcxMjl9LAoreyJzeXMvcHJvY2ZzLmgiLCAiUElPQ1NXQVRDSCIsIDB4NzEyYX0sCit7InN5cy9wcm9jZnMuaCIsICJQSU9DVVNBR0UiLCAweDcxMmJ9LAoreyJzeXMvcHJvY2ZzLmgiLCAiUElPQ09QRU5QRCIsIDB4NzEyY30sCit7InN5cy9wcm9jZnMuaCIsICJQSU9DTFdQSURTIiwgMHg3MTJkfSwKK3sic3lzL3Byb2Nmcy5oIiwgIlBJT0NPUEVOTFdQIiwgMHg3MTJlfSwKK3sic3lzL3Byb2Nmcy5oIiwgIlBJT0NMU1RBVFVTIiwgMHg3MTJmfSwKK3sic3lzL3Byb2Nmcy5oIiwgIlBJT0NMVVNBR0UiLCAweDcxMzB9LAoreyJzeXMvcHJvY2ZzLmgiLCAiUElPQ05BVVhWIiwgMHg3MTMxfSwKK3sic3lzL3Byb2Nmcy5oIiwgIlBJT0NBVVhWIiwgMHg3MTMyfSwKK3sic3lzL3Byb2Nmcy5oIiwgIlBJT0NHV0lOIiwgMHg3MTY1fSwKK3sic3lzL3R0b2xkLmgiLCAiVElPQ0dFVEQiLCAweDc0MDB9LAoreyJzeXMvdGVybWlvcy5oIiwgIlRJT0NHRVREIiwgMHg3NDAwfSwKK3sic3lzL3Rlcm1pb3MuaCIsICJUSU9DU0VURCIsIDB4NzQwMX0sCit7InN5cy90dG9sZC5oIiwgIlRJT0NTRVREIiwgMHg3NDAxfSwKK3sic3lzL3Rlcm1pb3MuaCIsICJUSU9DSFBDTCIsIDB4NzQwMn0sCit7InN5cy90dG9sZC5oIiwgIlRJT0NIUENMIiwgMHg3NDAyfSwKK3sic3lzL3R0b2xkLmgiLCAiVElPQ0dFVFAiLCAweDc0MDh9LAoreyJzeXMvdGVybWlvcy5oIiwgIlRJT0NHRVRQIiwgMHg3NDA4fSwKK3sic3lzL3Rlcm1pb3MuaCIsICJUSU9DU0VUUCIsIDB4NzQwOX0sCit7InN5cy90dG9sZC5oIiwgIlRJT0NTRVRQIiwgMHg3NDA5fSwKK3sic3lzL3R0b2xkLmgiLCAiVElPQ1NFVE4iLCAweDc0MGF9LAoreyJzeXMvdGVybWlvcy5oIiwgIlRJT0NTRVROIiwgMHg3NDBhfSwKK3sic3lzL3R0b2xkLmgiLCAiVElPQ0VYQ0wiLCAweDc0MGR9LAoreyJzeXMvdGVybWlvcy5oIiwgIlRJT0NFWENMIiwgMHg3NDBkfSwKK3sic3lzL3R0b2xkLmgiLCAiVElPQ05YQ0wiLCAweDc0MGV9LAoreyJzeXMvdGVybWlvcy5oIiwgIlRJT0NOWENMIiwgMHg3NDBlfSwKK3sic3lzL3Rlcm1pb3MuaCIsICJUSU9DRkxVU0giLCAweDc0MTB9LAoreyJzeXMvdHRvbGQuaCIsICJUSU9DRkxVU0giLCAweDc0MTB9LAoreyJzeXMvdGVybWlvcy5oIiwgIlRJT0NTRVRDIiwgMHg3NDExfSwKK3sic3lzL3R0b2xkLmgiLCAiVElPQ1NFVEMiLCAweDc0MTF9LAoreyJzeXMvdGVybWlvcy5oIiwgIlRJT0NHRVRDIiwgMHg3NDEyfSwKK3sic3lzL3R0b2xkLmgiLCAiVElPQ0dFVEMiLCAweDc0MTJ9LAoreyJzeXMvdGVybWlvcy5oIiwgIlRJT0NHUEdSUCIsIDB4NzQxNH0sCit7InN5cy90ZXJtaW9zLmgiLCAiVElPQ1NQR1JQIiwgMHg3NDE1fSwKK3sic3lzL3Rlcm1pb3MuaCIsICJUSU9DR1NJRCIsIDB4NzQxNn0sCit7InN5cy90ZXJtaW9zLmgiLCAiVElPQ1NUSSIsIDB4NzQxN30sCit7InN5cy90ZXJtaW9zLmgiLCAiVElPQ1NTSUQiLCAweDc0MTh9LAoreyJzeXMvdGVybWlvcy5oIiwgIlRJT0NNU0VUIiwgMHg3NDFhfSwKK3sic3lzL3Rlcm1pb3MuaCIsICJUSU9DTUJJUyIsIDB4NzQxYn0sCit7InN5cy90ZXJtaW9zLmgiLCAiVElPQ01CSUMiLCAweDc0MWN9LAoreyJzeXMvdGVybWlvcy5oIiwgIlRJT0NNR0VUIiwgMHg3NDFkfSwKK3sic3lzL3Rlcm1pb3MuaCIsICJUSU9DUkVNT1RFIiwgMHg3NDFlfSwKK3sic3lzL3R0b2xkLmgiLCAiVElPQ1JFTU9URSIsIDB4NzQxZX0sCit7InN5cy90ZXJtaW9zLmgiLCAiVElPQ1NJR05BTCIsIDB4NzQxZn0sCit7InN5cy90ZXJtaW9zLmgiLCAiVElPQ1NUQVJUIiwgMHg3NDZlfSwKK3sic3lzL3R0b2xkLmgiLCAiVElPQ1NUQVJUIiwgMHg3NDZlfSwKK3sic3lzL3Rlcm1pb3MuaCIsICJUSU9DU1RPUCIsIDB4NzQ2Zn0sCit7InN5cy90dG9sZC5oIiwgIlRJT0NTVE9QIiwgMHg3NDZmfSwKK3sic3lzL3R0b2xkLmgiLCAiVElPQ05PVFRZIiwgMHg3NDcxfSwKK3sic3lzL3Rlcm1pb3MuaCIsICJUSU9DTk9UVFkiLCAweDc0NzF9LAoreyJzeXMvdGVybWlvcy5oIiwgIlRJT0NPVVRRIiwgMHg3NDczfSwKK3sic3lzL3R0b2xkLmgiLCAiVElPQ09VVFEiLCAweDc0NzN9LAoreyJzeXMvdGVybWlvcy5oIiwgIlRJT0NHTFRDIiwgMHg3NDc0fSwKK3sic3lzL3R0b2xkLmgiLCAiVElPQ0dMVEMiLCAweDc0NzR9LAoreyJzeXMvdGVybWlvcy5oIiwgIlRJT0NTTFRDIiwgMHg3NDc1fSwKK3sic3lzL3R0b2xkLmgiLCAiVElPQ1NMVEMiLCAweDc0NzV9LAoreyJzeXMvdGVybWlvcy5oIiwgIlRJT0NDRFRSIiwgMHg3NDc4fSwKK3sic3lzL3R0b2xkLmgiLCAiVElPQ0NEVFIiLCAweDc0Nzh9LAoreyJzeXMvdHRvbGQuaCIsICJUSU9DU0RUUiIsIDB4NzQ3OX0sCit7InN5cy90ZXJtaW9zLmgiLCAiVElPQ1NEVFIiLCAweDc0Nzl9LAoreyJzeXMvdGVybWlvcy5oIiwgIlRJT0NDQlJLIiwgMHg3NDdhfSwKK3sic3lzL3R0b2xkLmgiLCAiVElPQ0NCUksiLCAweDc0N2F9LAoreyJzeXMvdGVybWlvcy5oIiwgIlRJT0NTQlJLIiwgMHg3NDdifSwKK3sic3lzL3R0b2xkLmgiLCAiVElPQ1NCUksiLCAweDc0N2J9LAoreyJzeXMvdGVybWlvcy5oIiwgIlRJT0NMR0VUIiwgMHg3NDdjfSwKK3sic3lzL3R0b2xkLmgiLCAiVElPQ0xHRVQiLCAweDc0N2N9LAoreyJzeXMvdGVybWlvcy5oIiwgIlRJT0NMU0VUIiwgMHg3NDdkfSwKK3sic3lzL3R0b2xkLmgiLCAiVElPQ0xTRVQiLCAweDc0N2R9LAoreyJzeXMvdHRvbGQuaCIsICJUSU9DTEJJQyIsIDB4NzQ3ZX0sCit7InN5cy90ZXJtaW9zLmgiLCAiVElPQ0xCSUMiLCAweDc0N2V9LAoreyJzeXMvdHRvbGQuaCIsICJUSU9DTEJJUyIsIDB4NzQ3Zn0sCit7InN5cy90ZXJtaW9zLmgiLCAiVElPQ0xCSVMiLCAweDc0N2Z9LAoreyJzeXMvdm9sLmgiLCAiVk9MSU9DTUFQIiwgMHg3NjAxfSwKK3sic3lzL3Z1aWRfZXZlbnQuaCIsICJWVUlEU0ZPUk1BVCIsIDB4NzYwMX0sCit7InN5cy92dWlkX2V2ZW50LmgiLCAiVlVJRFNGT1JNQVQiLCAweDc2MDF9LAoreyJzeXMvdnVpZF9ldmVudC5oIiwgIlZVSURHRk9STUFUIiwgMHg3NjAyfSwKK3sic3lzL3Z1aWRfZXZlbnQuaCIsICJWVUlER0ZPUk1BVCIsIDB4NzYwMn0sCit7InN5cy92b2wuaCIsICJWT0xJT0NVTk1BUCIsIDB4NzYwMn0sCit7InN5cy92b2wuaCIsICJWT0xJT0NFVkVOVCIsIDB4NzYwM30sCit7InN5cy92dWlkX2V2ZW50LmgiLCAiVlVJRFNBRERSIiwgMHg3NjAzfSwKK3sic3lzL3Z1aWRfZXZlbnQuaCIsICJWVUlEU0FERFIiLCAweDc2MDN9LAoreyJzeXMvdnVpZF9ldmVudC5oIiwgIlZVSURHQUREUiIsIDB4NzYwNH0sCit7InN5cy92dWlkX2V2ZW50LmgiLCAiVlVJREdBRERSIiwgMHg3NjA0fSwKK3sic3lzL3ZvbC5oIiwgIlZPTElPQ0VKRUNUIiwgMHg3NjA0fSwKK3sic3lzL3ZvbC5oIiwgIlZPTElPQ0NIRUNLIiwgMHg3NjA1fSwKK3sic3lzL3ZvbC5oIiwgIlZPTElPQ0lOVVNFIiwgMHg3NjA2fSwKK3sic3lzL3ZvbC5oIiwgIlZPTElPQ0RHQVRUUiIsIDB4NzYwN30sCit7InN5cy92b2wuaCIsICJWT0xJT0NEU0FUVFIiLCAweDc2MDh9LAoreyJzeXMvdm9sLmgiLCAiVk9MSU9DRENIRUNLIiwgMHg3NjA5fSwKK3sic3lzL3ZvbC5oIiwgIlZPTElPQ0NBTkNFTCIsIDB4NzYwYX0sCit7InN5cy92b2wuaCIsICJWT0xJT0NJTkZPIiwgMHg3NjBifSwKK3sic3lzL3ZvbC5oIiwgIlZPTElPQ1NBVFRSIiwgMHg3NjBjfSwKK3sic3lzL3ZvbC5oIiwgIlZPTElPQ0dBVFRSIiwgMHg3NjBkfSwKK3sic3lzL3ZvbC5oIiwgIlZPTElPQ0RJTlVTRSIsIDB4NzYwZX0sCit7InN5cy92b2wuaCIsICJWT0xJT0NEQUVNT04iLCAweDc2MGZ9LAoreyJzeXMvdm9sLmgiLCAiVk9MSU9DRkxBR1MiLCAweDc2MTB9LAoreyJzeXMvdm9sLmgiLCAiVk9MSU9DRVhUUkE0IiwgMHg3NjExfSwKK3sic3lzL3ZvbC5oIiwgIlZPTElPQ0VYVFJBNSIsIDB4NzYxMn0sCit7InN5cy92b2wuaCIsICJWT0xJT0NFWFRSQTYiLCAweDc2MTN9LAoreyJzeXMvdm9sLmgiLCAiVk9MSU9DRVhUUkE3IiwgMHg3NjE0fSwKK3sic3lzL3Nlcl9zeW5jLmgiLCAiU19JT0NHRVRNT0RFIiwgMHg3YTAxfSwKK3sic3lzL3Nlcl9zeW5jLmgiLCAiU19JT0NTRVRNT0RFIiwgMHg3YTAyfSwKK3sic3lzL3Nlcl9zeW5jLmgiLCAiU19JT0NHRVRTVEFUUyIsIDB4N2EwM30sCit7InN5cy9zZXJfc3luYy5oIiwgIlNfSU9DQ0xSU1RBVFMiLCAweDdhMDR9LAoreyJzeXMvc2VyX3N5bmMuaCIsICJTX0lPQ0dFVFNQRUVEIiwgMHg3YTA1fSwKK3sic3lzL3Nlcl9zeW5jLmgiLCAiU19JT0NHRVRNUlUiLCAweDdhMDZ9LAoreyJzeXMvc2VyX3N5bmMuaCIsICJTX0lPQ1NFVE1SVSIsIDB4N2EwN30sCit7InN5cy9zZXJfc3luYy5oIiwgIlNfSU9DR0VUTVRVIiwgMHg3YTA4fSwKK3sic3lzL3Nlcl9zeW5jLmgiLCAiU19JT0NTRVRNVFUiLCAweDdhMDl9LAoreyJzeXMvc2VyX3N5bmMuaCIsICJTX0lPQ0dFVE1DVEwiLCAweDdhMGF9LAoreyJzeXMvdGwuaCIsICJUTF9JT0NfQ1JFRE9QVCIsIDB4NTQ0YzAxfSwKZGlmZiAtLWdpdCBhL3N0cmFjZS00LjUuMjAvc3ZyNC9pb2N0bGVudC5zaCBiL3N0cmFjZS00LjUuMjAvc3ZyNC9pb2N0bGVudC5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hZTllMzZlCi0tLSAvZGV2L251bGwKKysrIGIvc3RyYWNlLTQuNS4yMC9zdnI0L2lvY3RsZW50LnNoCkBAIC0wLDAgKzEsNTMgQEAKKyMhL2Jpbi9zaAorIyBDb3B5cmlnaHQgKGMpIDE5OTMsIDE5OTQsIDE5OTUgUmljayBTbGFka2V5IDxqcnNAd29ybGQuc3RkLmNvbT4KKyMgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworIyBhcmUgbWV0OgorIyAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyMgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyMgMy4gVGhlIG5hbWUgb2YgdGhlIGF1dGhvciBtYXkgbm90IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzCisjICAgIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBBVVRIT1IgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUyBPUgorIyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCisjIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuCisjIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKKyMgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUCisjIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyMgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisjIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisjIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisjCisjCSRJZCQKKworaWYgWyAkIyAtbmUgMSBdCit0aGVuCisJZWNobyAidXNhZ2U6ICQwIGluY2x1ZGUtZGlyZWN0b3J5IiA+JjIKKwlleGl0IDEKK2ZpCisKK2JhZF9pbmNsdWRlcz0nY2dbNDhddmFyXC5ofHN5cy9zcGFkXC5oJworYmFkX2RlZmluZXM9J2NnWzQ4XXZhclwuaHxSRUFEU0xJQ0V8SV9FX1JFQ1ZGRHxGQklPR1BJWFJFQ1R8SlRJTU98VFRZVFlQRXxUSU9DQ09OU3xUQ0xfTElOS3xUQ0xfVU5MSU5LJworCisoCisJY2QgJDEgfHwgZXhpdAorCWZpbmQgc3lzIC1uYW1lICcqLmgnIC1wcmludCB8CisJCXhhcmdzIGdyZXAgJ15bCSBdKiNbCSBdKmRlZmluZVsJIF1bIAldKltBLVpfXVtBLVphLXowLTlfXSpbIAldWwkgXSooICpbQS1aYS16X11bQS1aYS16MC05X10qICp8ICpbMC05XVswLTldKiAqKScgL2Rldi9udWxsIHwKKwkJc2VkICdzL1woLipcKTojWyAJXSpkZWZpbmVbIAldKlwoW0EtWl9dW0EtWmEtejAtOV9dKlwpWyAJXSpcKChbXildKilcKVsgCV0qXCguKlwpLwl7ICJcMSIsCSJcMiIsCVwyCX0sCVw0IFwvKipcLy8nCispID5pb2N0bGVudC50bXAKK2NhdCBpb2N0bGVudC50bXAgfAorCWF3ayAneyBwcmludCAiI2luY2x1ZGUgPCIgc3Vic3RyKCQyLCAyLCBsZW5ndGgoJDIpIC0gMykgIj4iIH0nIHwKKwlzb3J0IC11IHwKKwllZ3JlcCAtdiAiJGJhZF9pbmNsdWRlcyIKK2VjaG8geHl6enkKK2VjaG8gInN0cnVjdCBpb2N0bGVudCBpb2N0bGVudFtdID0geyIKK2VncmVwIC12ICIkYmFkX2RlZmluZXMiIGlvY3RsZW50LnRtcCB8Cithd2sgJ3sgcHJpbnQgIiNpZmRlZiAiICQ0OyBwcmludCAkMDsgcHJpbnQgIiNlbmRpZiIgfScKK2VjaG8gIn07Igorcm0gLWYgaW9jdGxlbnQudG1wCmRpZmYgLS1naXQgYS9zdHJhY2UtNC41LjIwL3N2cjQvc2lnbmFsZW50LmggYi9zdHJhY2UtNC41LjIwL3N2cjQvc2lnbmFsZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTg4NjlhNQotLS0gL2Rldi9udWxsCisrKyBiL3N0cmFjZS00LjUuMjAvc3ZyNC9zaWduYWxlbnQuaApAQCAtMCwwICsxLDM2IEBACisJIlNJR18wIiwJLyogMCAqLworCSJTSUdIVVAiLAkvKiAxICovCisJIlNJR0lOVCIsCS8qIDIgKi8KKwkiU0lHUVVJVCIsCS8qIDMgKi8KKwkiU0lHSUxMIiwJLyogNCAqLworCSJTSUdUUkFQIiwJLyogNSAqLworCSJTSUdBQlJUIiwJLyogNiAqLworCSJTSUdFTVQiLAkvKiA3ICovCisJIlNJR0ZQRSIsCS8qIDggKi8KKwkiU0lHS0lMTCIsCS8qIDkgKi8KKwkiU0lHQlVTIiwJLyogMTAgKi8KKwkiU0lHU0VHViIsCS8qIDExICovCisJIlNJR1NZUyIsCS8qIDEyICovCisJIlNJR1BJUEUiLAkvKiAxMyAqLworCSJTSUdBTFJNIiwJLyogMTQgKi8KKwkiU0lHVEVSTSIsCS8qIDE1ICovCisJIlNJR1VTUjEiLAkvKiAxNiAqLworCSJTSUdVU1IyIiwJLyogMTcgKi8KKwkiU0lHQ0hMRCIsCS8qIDE4ICovCisJIlNJR1BXUiIsCS8qIDE5ICovCisJIlNJR1dJTkNIIiwJLyogMjAgKi8KKwkiU0lHVVJHIiwJLyogMjEgKi8KKwkiU0lHUE9MTCIsCS8qIDIyICovCisJIlNJR1NUT1AiLAkvKiAyMyAqLworCSJTSUdUU1RQIiwJLyogMjQgKi8KKwkiU0lHQ09OVCIsCS8qIDI1ICovCisJIlNJR1RUSU4iLAkvKiAyNiAqLworCSJTSUdUVE9VIiwJLyogMjcgKi8KKwkiU0lHVlRBTFJNIiwJLyogMjggKi8KKwkiU0lHUFJPRiIsCS8qIDI5ICovCisJIlNJR1hDUFUiLAkvKiAzMCAqLworCSJTSUdYRlNaIiwJLyogMzEgKi8KKwkiU0lHV0FJVElORyIsCS8qIDMyICovCisJIlNJR0xXUCIsCS8qIDMzICovCisJIlNJR0ZSRUVaRSIsCS8qIDM0ICovCisJIlNJR1RIQVciLAkvKiAzNSAqLwpkaWZmIC0tZ2l0IGEvc3RyYWNlLTQuNS4yMC9zdnI0L3N5c2NhbGwuaCBiL3N0cmFjZS00LjUuMjAvc3ZyNC9zeXNjYWxsLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTBmYmEwOAotLS0gL2Rldi9udWxsCisrKyBiL3N0cmFjZS00LjUuMjAvc3ZyNC9zeXNjYWxsLmgKQEAgLTAsMCArMSw1NDAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDE5OTMsIDE5OTQsIDE5OTUgUmljayBTbGFka2V5IDxqcnNAd29ybGQuc3RkLmNvbT4KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBUaGUgbmFtZSBvZiB0aGUgYXV0aG9yIG1heSBub3QgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMKKyAqICAgIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIEFVVEhPUiBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCisgKiBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELgorICogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAorICogSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUCisgKiBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqCisgKgkkSWQkCisgKi8KKworI2luY2x1ZGUgImR1bW15LmgiCisKK2V4dGVybiBpbnQgc3lzX3N5c2NhbGwoKTsKK2V4dGVybiBpbnQgc3lzX2V4aXQoKTsKK2V4dGVybiBpbnQgc3lzX2ZvcmsoKTsKK2V4dGVybiBpbnQgc3lzX3JlYWQoKTsKK2V4dGVybiBpbnQgc3lzX3dyaXRlKCk7CitleHRlcm4gaW50IHN5c19vcGVuKCk7CitleHRlcm4gaW50IHN5c19jbG9zZSgpOworZXh0ZXJuIGludCBzeXNfd2FpdCgpOworZXh0ZXJuIGludCBzeXNfY3JlYXQoKTsKK2V4dGVybiBpbnQgc3lzX2xpbmsoKTsKK2V4dGVybiBpbnQgc3lzX3VubGluaygpOworZXh0ZXJuIGludCBzeXNfZXhlYygpOworZXh0ZXJuIGludCBzeXNfY2hkaXIoKTsKK2V4dGVybiBpbnQgc3lzX3RpbWUoKTsKK2V4dGVybiBpbnQgc3lzX3NldHRpbWVvZmRheSgpOworZXh0ZXJuIGludCBzeXNfbWtub2QoKTsKK2V4dGVybiBpbnQgc3lzX2NobW9kKCk7CitleHRlcm4gaW50IHN5c19jaG93bigpOworZXh0ZXJuIGludCBzeXNfYnJrKCk7CitleHRlcm4gaW50IHN5c19zdGF0KCk7CitleHRlcm4gaW50IHN5c19sc2VlaygpOworZXh0ZXJuIGludCBzeXNfZ2V0cGlkKCk7CitleHRlcm4gaW50IHN5c19tb3VudCgpOworZXh0ZXJuIGludCBzeXNfdW1vdW50KCk7CitleHRlcm4gaW50IHN5c19zZXR1aWQoKTsKK2V4dGVybiBpbnQgc3lzX2dldHVpZCgpOworZXh0ZXJuIGludCBzeXNfc3RpbWUoKTsKK2V4dGVybiBpbnQgc3lzX3B0cmFjZSgpOworZXh0ZXJuIGludCBzeXNfYWxhcm0oKTsKK2V4dGVybiBpbnQgc3lzX2ZzdGF0KCk7CitleHRlcm4gaW50IHN5c19wYXVzZSgpOworZXh0ZXJuIGludCBzeXNfdXRpbWUoKTsKK2V4dGVybiBpbnQgc3lzX3N0dHkoKTsKK2V4dGVybiBpbnQgc3lzX2d0dHkoKTsKK2V4dGVybiBpbnQgc3lzX2FjY2VzcygpOworZXh0ZXJuIGludCBzeXNfbmljZSgpOworZXh0ZXJuIGludCBzeXNfc3RhdGZzKCk7CitleHRlcm4gaW50IHN5c19zeW5jKCk7CitleHRlcm4gaW50IHN5c19raWxsKCk7CitleHRlcm4gaW50IHN5c19mc3RhdGZzKCk7CitleHRlcm4gaW50IHN5c19wZ3Jwc3lzKCk7CitleHRlcm4gaW50IHN5c19zZXRwZ3JwKCk7CitleHRlcm4gaW50IHN5c194ZW5peCgpOworZXh0ZXJuIGludCBzeXNfc3lzc2dpKCk7CitleHRlcm4gaW50IHN5c19kdXAoKTsKK2V4dGVybiBpbnQgc3lzX3BpcGUoKTsKK2V4dGVybiBpbnQgc3lzX3RpbWVzKCk7CitleHRlcm4gaW50IHN5c19wcm9maWwoKTsKK2V4dGVybiBpbnQgc3lzX3Bsb2NrKCk7CitleHRlcm4gaW50IHN5c19zZXRnaWQoKTsKK2V4dGVybiBpbnQgc3lzX2dldGdpZCgpOworZXh0ZXJuIGludCBzeXNfc2lnY2FsbCgpOworZXh0ZXJuIGludCBzeXNfbXNnc3lzKCk7CitleHRlcm4gaW50IHN5c19zeXNzdW4oKTsKK2V4dGVybiBpbnQgc3lzX3N5c2k4NigpOworZXh0ZXJuIGludCBzeXNfc3lzbWlwcygpOworZXh0ZXJuIGludCBzeXNfc3lzbWFjaGluZSgpOworZXh0ZXJuIGludCBzeXNfYWNjdCgpOworZXh0ZXJuIGludCBzeXNfc2htc3lzKCk7CitleHRlcm4gaW50IHN5c19zZW1zeXMoKTsKK2V4dGVybiBpbnQgc3lzX2lvY3RsKCk7CitleHRlcm4gaW50IHN5c191YWRtaW4oKTsKK2V4dGVybiBpbnQgc3lzX3V0c3N5cygpOworZXh0ZXJuIGludCBzeXNfZmRzeW5jKCk7CitleHRlcm4gaW50IHN5c19leGVjdmUoKTsKK2V4dGVybiBpbnQgc3lzX3VtYXNrKCk7CitleHRlcm4gaW50IHN5c19jaHJvb3QoKTsKK2V4dGVybiBpbnQgc3lzX2ZjbnRsKCk7CitleHRlcm4gaW50IHN5c191bGltaXQoKTsKK2V4dGVybiBpbnQgc3lzX3JtZGlyKCk7CitleHRlcm4gaW50IHN5c19ta2RpcigpOworZXh0ZXJuIGludCBzeXNfZ2V0ZGVudHMoKTsKK2V4dGVybiBpbnQgc3lzX3N5c2ZzKCk7CitleHRlcm4gaW50IHN5c19nZXRtc2coKTsKK2V4dGVybiBpbnQgc3lzX3B1dG1zZygpOworZXh0ZXJuIGludCBzeXNfcG9sbCgpOworZXh0ZXJuIGludCBzeXNfZHVwMigpOworZXh0ZXJuIGludCBzeXNfYmluZCgpOworZXh0ZXJuIGludCBzeXNfbGlzdGVuKCk7CitleHRlcm4gaW50IHN5c19hY2NlcHQoKTsKK2V4dGVybiBpbnQgc3lzX2Nvbm5lY3QoKTsKK2V4dGVybiBpbnQgc3lzX3NodXRkb3duKCk7CitleHRlcm4gaW50IHN5c19yZWN2KCk7CitleHRlcm4gaW50IHN5c19yZWN2ZnJvbSgpOworZXh0ZXJuIGludCBzeXNfc2VuZCgpOworZXh0ZXJuIGludCBzeXNfc2VuZHRvKCk7CitleHRlcm4gaW50IHN5c19nZXRwZWVybmFtZSgpOworZXh0ZXJuIGludCBzeXNfZ2V0c29ja25hbWUoKTsKK2V4dGVybiBpbnQgc3lzX2dldHNvY2tvcHQoKTsKK2V4dGVybiBpbnQgc3lzX3NldHNvY2tvcHQoKTsKKyNpZmRlZiBNSVBTCitleHRlcm4gaW50IHN5c19zaWdyZXR1cm4oKTsKK2V4dGVybiBpbnQgc3lzX2dldGhvc3RpZCgpOworZXh0ZXJuIGludCBzeXNfcmVjdm1zZygpOworZXh0ZXJuIGludCBzeXNfc2VsZWN0KCk7CitleHRlcm4gaW50IHN5c19zZW5kbXNnKCk7CitleHRlcm4gaW50IHN5c19zZXRob3N0aWQoKTsKK2V4dGVybiBpbnQgc3lzX3NvY2tldCgpOworZXh0ZXJuIGludCBzeXNfbGlzdGVuKCk7CitleHRlcm4gaW50IHN5c19nZXRob3N0bmFtZSgpOworZXh0ZXJuIGludCBzeXNfc2V0aG9zdG5hbWUoKTsKK2V4dGVybiBpbnQgc3lzX2dldGRvbWFpbm5hbWUoKTsKK2V4dGVybiBpbnQgc3lzX3NldGRvbWFpbm5hbWUoKTsKK2V4dGVybiBpbnQgc3lzX3RydW5jYXRlKCk7CitleHRlcm4gaW50IHN5c19mdHJ1bmNhdGUoKTsKK2V4dGVybiBpbnQgc3lzX3JlbmFtZSgpOworZXh0ZXJuIGludCBzeXNfc3ltbGluaygpOworZXh0ZXJuIGludCBzeXNfcmVhZGxpbmsoKTsKK2V4dGVybiBpbnQgc3lzX25mc3N2YygpOworZXh0ZXJuIGludCBzeXNfZ2V0ZmgoKTsKK2V4dGVybiBpbnQgc3lzX2FzeW5jX2RhZW1vbigpOworZXh0ZXJuIGludCBzeXNfZXhwb3J0ZnMoKTsKK2V4dGVybiBpbnQgc3lzX3NldHJlZ2lkKCk7CitleHRlcm4gaW50IHN5c19zZXRyZXVpZCgpOworZXh0ZXJuIGludCBzeXNfZ2V0aXRpbWVyKCk7CitleHRlcm4gaW50IHN5c19zZXRpdGltZXIoKTsKK2V4dGVybiBpbnQgc3lzX2FkanRpbWUoKTsKK2V4dGVybiBpbnQgc3lzX0JTRF9nZXRpbWUoKTsKK2V4dGVybiBpbnQgc3lzX3Nwcm9jKCk7CitleHRlcm4gaW50IHN5c19wcmN0bCgpOworZXh0ZXJuIGludCBzeXNfcHJvY2JsaygpOworZXh0ZXJuIGludCBzeXNfc3Byb2NzcCgpOworZXh0ZXJuIGludCBzeXNfbW1hcCgpOworZXh0ZXJuIGludCBzeXNfbXVubWFwKCk7CitleHRlcm4gaW50IHN5c19tcHJvdGVjdCgpOworZXh0ZXJuIGludCBzeXNfbXN5bmMoKTsKK2V4dGVybiBpbnQgc3lzX21hZHZpc2UoKTsKK2V4dGVybiBpbnQgc3lzX3BhZ2Vsb2NrKCk7CitleHRlcm4gaW50IHN5c19nZXRwYWdlc2l6ZSgpOworZXh0ZXJuIGludCBzeXNfcXVvdGFjdGwoKTsKK2V4dGVybiBpbnQgc3lzX0JTRGdldHBncnAoKTsKK2V4dGVybiBpbnQgc3lzX0JTRHNldHBncnAoKTsKK2V4dGVybiBpbnQgc3lzX3ZoYW5ndXAoKTsKK2V4dGVybiBpbnQgc3lzX2ZzeW5jKCk7CitleHRlcm4gaW50IHN5c19mY2hkaXIoKTsKK2V4dGVybiBpbnQgc3lzX2dldHJsaW1pdCgpOworZXh0ZXJuIGludCBzeXNfc2V0cmxpbWl0KCk7CitleHRlcm4gaW50IHN5c19jYWNoZWZsdXNoKCk7CitleHRlcm4gaW50IHN5c19jYWNoZWN0bCgpOworZXh0ZXJuIGludCBzeXNfZmNob3duKCk7CitleHRlcm4gaW50IHN5c19mY2htb2QoKTsKK2V4dGVybiBpbnQgc3lzX3NvY2tldHBhaXIoKTsKK2V4dGVybiBpbnQgc3lzX3N5c2luZm8oKTsKK2V4dGVybiBpbnQgc3lzX251bmFtZSgpOworZXh0ZXJuIGludCBzeXNfeHN0YXQoKTsKK2V4dGVybiBpbnQgc3lzX2x4c3RhdCgpOworZXh0ZXJuIGludCBzeXNfZnhzdGF0KCk7CitleHRlcm4gaW50IHN5c194bWtub2QoKTsKK2V4dGVybiBpbnQgc3lzX2tzaWdhY3Rpb24oKTsKK2V4dGVybiBpbnQgc3lzX3NpZ3BlbmRpbmcoKTsKK2V4dGVybiBpbnQgc3lzX3NpZ3Byb2NtYXNrKCk7CitleHRlcm4gaW50IHN5c19zaWdzdXNwZW5kKCk7CitleHRlcm4gaW50IHN5c19zaWdwb2xsKCk7CitleHRlcm4gaW50IHN5c19zd2FwY3RsKCk7CitleHRlcm4gaW50IHN5c19nZXRjb250ZXh0KCk7CitleHRlcm4gaW50IHN5c19zZXRjb250ZXh0KCk7CitleHRlcm4gaW50IHN5c193YWl0c3lzKCk7CitleHRlcm4gaW50IHN5c19zaWdzdGFjaygpOworZXh0ZXJuIGludCBzeXNfc2lnYWx0c3RhY2soKTsKK2V4dGVybiBpbnQgc3lzX3NpZ3NlbmRzZXQoKTsKK2V4dGVybiBpbnQgc3lzX3N0YXR2ZnMoKTsKK2V4dGVybiBpbnQgc3lzX2ZzdGF0dmZzKCk7CitleHRlcm4gaW50IHN5c19nZXRwbXNnKCk7CitleHRlcm4gaW50IHN5c19wdXRwbXNnKCk7CitleHRlcm4gaW50IHN5c19sY2hvd24oKTsKK2V4dGVybiBpbnQgc3lzX3ByaW9jbnRsKCk7CitleHRlcm4gaW50IHN5c19rc2lncXVldWUoKTsKKyNlbHNlIC8qICFNSVBTICovCitleHRlcm4gaW50IHN5c19sc3RhdCgpOworZXh0ZXJuIGludCBzeXNfc3ltbGluaygpOworZXh0ZXJuIGludCBzeXNfcmVhZGxpbmsoKTsKK2V4dGVybiBpbnQgc3lzX3NldGdyb3VwcygpOworZXh0ZXJuIGludCBzeXNfZ2V0Z3JvdXBzKCk7CitleHRlcm4gaW50IHN5c19mY2htb2QoKTsKK2V4dGVybiBpbnQgc3lzX2ZjaG93bigpOworZXh0ZXJuIGludCBzeXNfc2lncHJvY21hc2soKTsKK2V4dGVybiBpbnQgc3lzX3NpZ3N1c3BlbmQoKTsKK2V4dGVybiBpbnQgc3lzX3NpZ2FsdHN0YWNrKCk7CitleHRlcm4gaW50IHN5c19zaWdhY3Rpb24oKTsKK2V4dGVybiBpbnQgc3lzX3NwY2FsbCgpOworZXh0ZXJuIGludCBzeXNfY29udGV4dCgpOworZXh0ZXJuIGludCBzeXNfZXZzeXMoKTsKK2V4dGVybiBpbnQgc3lzX2V2dHJhcHJldCgpOworZXh0ZXJuIGludCBzeXNfc3RhdHZmcygpOworZXh0ZXJuIGludCBzeXNfZnN0YXR2ZnMoKTsKK2V4dGVybiBpbnQgc3lzX25mc3N5cygpOworZXh0ZXJuIGludCBzeXNfd2FpdGlkKCk7CitleHRlcm4gaW50IHN5c19zaWdzZW5kc3lzKCk7CitleHRlcm4gaW50IHN5c19ocnRzeXMoKTsKK2V4dGVybiBpbnQgc3lzX2FjYW5jZWwoKTsKK2V4dGVybiBpbnQgc3lzX2FzeW5jKCk7CitleHRlcm4gaW50IHN5c19wcmlvY250bHN5cygpOworZXh0ZXJuIGludCBzeXNfcGF0aGNvbmYoKTsKK2V4dGVybiBpbnQgc3lzX21pbmNvcmUoKTsKK2V4dGVybiBpbnQgc3lzX21tYXAoKTsKK2V4dGVybiBpbnQgc3lzX21wcm90ZWN0KCk7CitleHRlcm4gaW50IHN5c19tdW5tYXAoKTsKK2V4dGVybiBpbnQgc3lzX2ZwYXRoY29uZigpOworZXh0ZXJuIGludCBzeXNfdmZvcmsoKTsKK2V4dGVybiBpbnQgc3lzX2ZjaGRpcigpOworZXh0ZXJuIGludCBzeXNfcmVhZHYoKTsKK2V4dGVybiBpbnQgc3lzX3dyaXRldigpOworZXh0ZXJuIGludCBzeXNfeHN0YXQoKTsKK2V4dGVybiBpbnQgc3lzX2x4c3RhdCgpOworZXh0ZXJuIGludCBzeXNfZnhzdGF0KCk7CitleHRlcm4gaW50IHN5c194bWtub2QoKTsKK2V4dGVybiBpbnQgc3lzX2Nsb2NhbCgpOworZXh0ZXJuIGludCBzeXNfc2V0cmxpbWl0KCk7CitleHRlcm4gaW50IHN5c19nZXRybGltaXQoKTsKK2V4dGVybiBpbnQgc3lzX2xjaG93bigpOworZXh0ZXJuIGludCBzeXNfbWVtY250bCgpOworZXh0ZXJuIGludCBzeXNfZ2V0cG1zZygpOworZXh0ZXJuIGludCBzeXNfcHV0cG1zZygpOworZXh0ZXJuIGludCBzeXNfcmVuYW1lKCk7CitleHRlcm4gaW50IHN5c191bmFtZSgpOworZXh0ZXJuIGludCBzeXNfc2V0ZWdpZCgpOworZXh0ZXJuIGludCBzeXNfc3lzY29uZmlnKCk7CitleHRlcm4gaW50IHN5c19hZGp0aW1lKCk7CitleHRlcm4gaW50IHN5c19zeXNpbmZvKCk7CitleHRlcm4gaW50IHN5c19zZXRldWlkKCk7CitleHRlcm4gaW50IHN5c192dHJhY2UoKTsKK2V4dGVybiBpbnQgc3lzX2ZvcmsxKCk7CitleHRlcm4gaW50IHN5c19zaWd0aW1lZHdhaXQoKTsKK2V4dGVybiBpbnQgc3lzX2x3cF9pbmZvKCk7CitleHRlcm4gaW50IHN5c195aWVsZCgpOworZXh0ZXJuIGludCBzeXNfbHdwX3NlbWFfd2FpdCgpOworZXh0ZXJuIGludCBzeXNfbHdwX3NlbWFfcG9zdCgpOworZXh0ZXJuIGludCBzeXNfbW9kY3RsKCk7CitleHRlcm4gaW50IHN5c19mY2hyb290KCk7CitleHRlcm4gaW50IHN5c191dGltZXMoKTsKK2V4dGVybiBpbnQgc3lzX3ZoYW5ndXAoKTsKK2V4dGVybiBpbnQgc3lzX2dldHRpbWVvZmRheSgpOworZXh0ZXJuIGludCBzeXNfZ2V0aXRpbWVyKCk7CitleHRlcm4gaW50IHN5c19zZXRpdGltZXIoKTsKK2V4dGVybiBpbnQgc3lzX2x3cF9jcmVhdGUoKTsKK2V4dGVybiBpbnQgc3lzX2x3cF9leGl0KCk7CitleHRlcm4gaW50IHN5c19sd3Bfc3VzcGVuZCgpOworZXh0ZXJuIGludCBzeXNfbHdwX2NvbnRpbnVlKCk7CitleHRlcm4gaW50IHN5c19sd3Bfa2lsbCgpOworZXh0ZXJuIGludCBzeXNfbHdwX3NlbGYoKTsKK2V4dGVybiBpbnQgc3lzX2x3cF9zZXRwcml2YXRlKCk7CitleHRlcm4gaW50IHN5c19sd3BfZ2V0cHJpdmF0ZSgpOworZXh0ZXJuIGludCBzeXNfbHdwX3dhaXQoKTsKK2V4dGVybiBpbnQgc3lzX2x3cF9tdXRleF91bmxvY2soKTsKK2V4dGVybiBpbnQgc3lzX2x3cF9tdXRleF9sb2NrKCk7CitleHRlcm4gaW50IHN5c19sd3BfY29uZF93YWl0KCk7CitleHRlcm4gaW50IHN5c19sd3BfY29uZF9zaWduYWwoKTsKK2V4dGVybiBpbnQgc3lzX2x3cF9jb25kX2Jyb2FkY2FzdCgpOworZXh0ZXJuIGludCBzeXNfcHJlYWQoKTsKK2V4dGVybiBpbnQgc3lzX3B3cml0ZSgpOworZXh0ZXJuIGludCBzeXNfaW5zdF9zeW5jKCk7CitleHRlcm4gaW50IHN5c19hdWRpdHN5cygpOworZXh0ZXJuIGludCBzeXNfcHJvY2Vzc29yX2JpbmQoKTsKK2V4dGVybiBpbnQgc3lzX3Byb2Nlc3Nvcl9pbmZvKCk7CitleHRlcm4gaW50IHN5c19wX29ubGluZSgpOworZXh0ZXJuIGludCBzeXNfc2lncXVldWUoKTsKK2V4dGVybiBpbnQgc3lzX2Nsb2NrX2dldHRpbWUoKTsKK2V4dGVybiBpbnQgc3lzX2Nsb2NrX3NldHRpbWUoKTsKK2V4dGVybiBpbnQgc3lzX2Nsb2NrX2dldHJlcygpOworZXh0ZXJuIGludCBzeXNfdGltZXJfY3JlYXRlKCk7CitleHRlcm4gaW50IHN5c190aW1lcl9kZWxldGUoKTsKK2V4dGVybiBpbnQgc3lzX3RpbWVyX3NldHRpbWUoKTsKK2V4dGVybiBpbnQgc3lzX3RpbWVyX2dldHRpbWUoKTsKK2V4dGVybiBpbnQgc3lzX3RpbWVyX2dldG92ZXJydW4oKTsKK2V4dGVybiBpbnQgc3lzX25hbm9zbGVlcCgpOworZXh0ZXJuIGludCBzeXNfc2V0cmV1aWQoKTsKK2V4dGVybiBpbnQgc3lzX3NldHJlZ2lkKCk7CisjaWZkZWYgSEFWRV9TWVNfQUNMX0gKK2V4dGVybiBpbnQgc3lzX2FjbCgpOworZXh0ZXJuIGludCBzeXNfZmFjbCgpOworZXh0ZXJuIGludCBzeXNfYWNsaXBjKCk7CisjZW5kaWYKKyNpZmRlZiBIQVZFX1NZU19ET09SX0gKK2V4dGVybiBpbnQgc3lzX2Rvb3IoKTsKKyNlbmRpZgorI2lmIFVOSVhXQVJFID49IDIKK2V4dGVybiBpbnQgc3lzX3NpZ3dhaXQoKTsKK2V4dGVybiBpbnQgc3lzX3RydW5jYXRlKCk7CitleHRlcm4gaW50IHN5c19mdHJ1bmNhdGUoKTsKK2V4dGVybiBpbnQgc3lzX2dldGtzeW0gKCk7CitleHRlcm4gaW50IHN5c19wcm9jcHJpdigpOworI2VuZGlmCisjaWYgVU5JWFdBUkUgPj0gNworZXh0ZXJuIGludCBzeXNfbHNlZWs2NCAoKTsKK2V4dGVybiBpbnQgc3lzX3RydW5jYXRlNjQgKCk7CitleHRlcm4gaW50IHN5c19mdHJ1bmNhdGU2NCAoKTsKK2V4dGVybiBpbnQgc3lzX3hzb2NrZXQgKCk7CitleHRlcm4gaW50IHN5c194c29ja2V0cGFpciAoKTsKK2V4dGVybiBpbnQgc3lzX3hiaW5kICgpOworZXh0ZXJuIGludCBzeXNfeGNvbm5lY3QgKCk7CitleHRlcm4gaW50IHN5c194bGlzdGVuICgpOworZXh0ZXJuIGludCBzeXNfeGFjY2VwdCAoKTsKK2V4dGVybiBpbnQgc3lzX3hyZWN2bXNnICgpOworZXh0ZXJuIGludCBzeXNfeHNlbmRtc2cgKCk7CitleHRlcm4gaW50IHN5c194Z2V0c29ja2FkZHIgKCk7CitleHRlcm4gaW50IHN5c194c2V0c29ja2FkZHIgKCk7CitleHRlcm4gaW50IHN5c194Z2V0c29ja29wdCAoKTsKK2V4dGVybiBpbnQgc3lzX3hzZXRzb2Nrb3B0ICgpOworZXh0ZXJuIGludCBzeXNfeHNodXRkb3duICgpOworZXh0ZXJuIGludCBzeXNfcmZvcmsgKCk7CitleHRlcm4gaW50IHN5c19zc2lzeXMgKCk7CitleHRlcm4gaW50IHN5c19yZXhlY3ZlICgpOworI2VuZGlmCisjZW5kaWYgLyogIU1JUFMgKi8KKworI2lmZGVmIE1JUFMKKyNkZWZpbmUgU0dJX0tMVURHRSAxCisjZWxzZQorI2RlZmluZSBTR0lfS0xVREdFIDAKKyNlbmRpZgorCisvKiBzeXNfcGdycHN5cyBzdWJjYWxscyAqLworCitleHRlcm4gaW50IHN5c19nZXRwZ3JwKCksIHN5c19zZXRwZ3JwKCksIHN5c19nZXRzaWQoKTsKK2V4dGVybiBpbnQgc3lzX3NldHNpZCgpLCBzeXNfZ2V0cGdpZCgpLCBzeXNfc2V0cGdpZCgpOworCisjaWZuZGVmIE1JUFMKKworI2RlZmluZSBTWVNfcGdycHN5c19zdWJjYWxsCTMwMCArIFNHSV9LTFVER0UKKyNkZWZpbmUgU1lTX2dldHBncnAJCShTWVNfcGdycHN5c19zdWJjYWxsICsgMCkKKyNkZWZpbmUgU1lTX3NldHBncnAJCShTWVNfcGdycHN5c19zdWJjYWxsICsgMSkKKyNkZWZpbmUgU1lTX2dldHNpZAkJKFNZU19wZ3Jwc3lzX3N1YmNhbGwgKyAyKQorI2RlZmluZSBTWVNfc2V0c2lkCQkoU1lTX3BncnBzeXNfc3ViY2FsbCArIDMpCisjZGVmaW5lIFNZU19nZXRwZ2lkCQkoU1lTX3BncnBzeXNfc3ViY2FsbCArIDQpCisjZGVmaW5lIFNZU19zZXRwZ2lkCQkoU1lTX3BncnBzeXNfc3ViY2FsbCArIDUpCisKKyNkZWZpbmUgU1lTX3BncnBzeXNfbnN1YmNhbGxzCTYKKworI2VuZGlmIC8qICFNSVBTICovCisKKy8qIHN5c19zaWdjYWxsIHN1YmNhbGxzICovCisKKyN1bmRlZiBTWVNfc2lnbmFsCisjZGVmaW5lIFNZU19zaWdjYWxsCQk0OAorCitleHRlcm4gaW50IHN5c19zaWduYWwoKSwgc3lzX3NpZ3NldCgpLCBzeXNfc2lnaG9sZCgpOworZXh0ZXJuIGludCBzeXNfc2lncmVsc2UoKSwgc3lzX3NpZ2lnbm9yZSgpLCBzeXNfc2lncGF1c2UoKTsKKworI2lmbmRlZiBNSVBTCisKKyNkZWZpbmUgU1lTX3NpZ2NhbGxfc3ViY2FsbAkzMTAgKyBTR0lfS0xVREdFCisjZGVmaW5lIFNZU19zaWduYWwJCShTWVNfc2lnY2FsbF9zdWJjYWxsICsgMCkKKyNkZWZpbmUgU1lTX3NpZ3NldAkJKFNZU19zaWdjYWxsX3N1YmNhbGwgKyAxKQorI2RlZmluZSBTWVNfc2lnaG9sZAkJKFNZU19zaWdjYWxsX3N1YmNhbGwgKyAyKQorI2RlZmluZSBTWVNfc2lncmVsc2UJCShTWVNfc2lnY2FsbF9zdWJjYWxsICsgMykKKyNkZWZpbmUgU1lTX3NpZ2lnbm9yZQkJKFNZU19zaWdjYWxsX3N1YmNhbGwgKyA0KQorI2RlZmluZSBTWVNfc2lncGF1c2UJCShTWVNfc2lnY2FsbF9zdWJjYWxsICsgNSkKKworI2RlZmluZSBTWVNfc2lnY2FsbF9uc3ViY2FsbHMJNgorCisjZW5kaWYgLyogIU1JUFMgKi8KKworLyogbXNnc3lzIHN1YmNhbGxzICovCisKK2V4dGVybiBpbnQgc3lzX21zZ2dldCgpLCBzeXNfbXNnY3RsKCksIHN5c19tc2dyY3YoKSwgc3lzX21zZ3NuZCgpOworCisjZGVmaW5lIFNZU19tc2dzeXNfc3ViY2FsbAkzMjAgKyBTR0lfS0xVREdFCisjZGVmaW5lIFNZU19tc2dnZXQJCShTWVNfbXNnc3lzX3N1YmNhbGwgKyAwKQorI2RlZmluZSBTWVNfbXNnY3RsCQkoU1lTX21zZ3N5c19zdWJjYWxsICsgMSkKKyNkZWZpbmUgU1lTX21zZ3JjdgkJKFNZU19tc2dzeXNfc3ViY2FsbCArIDIpCisjZGVmaW5lIFNZU19tc2dzbmQJCShTWVNfbXNnc3lzX3N1YmNhbGwgKyAzKQorCisjZGVmaW5lIFNZU19tc2dzeXNfbnN1YmNhbGxzCTQKKworLyogc2htc3lzIHN1YmNhbGxzICovCisKK2V4dGVybiBpbnQgc3lzX3NobWF0KCksIHN5c19zaG1jdGwoKSwgc3lzX3NobWR0KCksIHN5c19zaG1nZXQoKTsKKworI2RlZmluZSBTWVNfc2htc3lzX3N1YmNhbGwJMzMwICsgU0dJX0tMVURHRQorI2RlZmluZSBTWVNfc2htYXQJCShTWVNfc2htc3lzX3N1YmNhbGwgKyAwKQorI2RlZmluZSBTWVNfc2htY3RsCQkoU1lTX3NobXN5c19zdWJjYWxsICsgMSkKKyNkZWZpbmUgU1lTX3NobWR0CQkoU1lTX3NobXN5c19zdWJjYWxsICsgMikKKyNkZWZpbmUgU1lTX3NobWdldAkJKFNZU19zaG1zeXNfc3ViY2FsbCArIDMpCisKKyNkZWZpbmUgU1lTX3NobXN5c19uc3ViY2FsbHMJNAorCisvKiBzZW1zeXMgc3ViY2FsbHMgKi8KKworZXh0ZXJuIGludCBzeXNfc2VtY3RsKCksIHN5c19zZW1nZXQoKSwgc3lzX3NlbW9wKCk7CisKKyNkZWZpbmUgU1lTX3NlbXN5c19zdWJjYWxsCTM0MCArIFNHSV9LTFVER0UKKyNkZWZpbmUgU1lTX3NlbWN0bAkJKFNZU19zZW1zeXNfc3ViY2FsbCArIDApCisjZGVmaW5lIFNZU19zZW1nZXQJCShTWVNfc2Vtc3lzX3N1YmNhbGwgKyAxKQorI2RlZmluZSBTWVNfc2Vtb3AJCShTWVNfc2Vtc3lzX3N1YmNhbGwgKyAyKQorCisjZGVmaW5lIFNZU19zZW1zeXNfbnN1YmNhbGxzCTMKKworLyogdXRzc3lzIHN1YmNhbGxzICovCisKK2V4dGVybiBpbnQgc3lzX29sZHVuYW1lKCksIHN5c191c3RhdCgpLCBzeXNfZnVzZXJzKCk7CisKKyNkZWZpbmUgU1lTX3V0c3N5c19zdWJjYWxsCTM1MCArIFNHSV9LTFVER0UKKworI2RlZmluZSBTWVNfb2xkdW5hbWUJCShTWVNfdXRzc3lzX3N1YmNhbGwgKyAwKQorCQkJCS8qIDEgaXMgdW51c2VkICovCisjZGVmaW5lIFNZU191c3RhdAkJKFNZU191dHNzeXNfc3ViY2FsbCArIDIpCisjZGVmaW5lIFNZU19mdXNlcnMJCShTWVNfdXRzc3lzX3N1YmNhbGwgKyAzKQorCisjZGVmaW5lIFNZU191dHNzeXNfbnN1YmNhbGxzCTQKKworLyogc3lzZnMgc3ViY2FsbHMgKi8KKworZXh0ZXJuIGludCBzeXNfc3lzZnMxKCksIHN5c19zeXNmczIoKSwgc3lzX3N5c2ZzMygpOworCisjZGVmaW5lIFNZU19zeXNmc19zdWJjYWxsCTM2MCArIFNHSV9LTFVER0UKKwkJCQkvKiAwIGlzIHVudXNlZCAqLworI2RlZmluZSBTWVNfc3lzZnMxCQkoU1lTX3N5c2ZzX3N1YmNhbGwgKyAxKQorI2RlZmluZSBTWVNfc3lzZnMyCQkoU1lTX3N5c2ZzX3N1YmNhbGwgKyAyKQorI2RlZmluZSBTWVNfc3lzZnMzCQkoU1lTX3N5c2ZzX3N1YmNhbGwgKyAzKQorCisjZGVmaW5lIFNZU19zeXNmc19uc3ViY2FsbHMJNAorCisvKiBzeXNfc3BjYWxsIHN1YmNhbGxzICovCisKKyN1bmRlZiBTWVNfc2lncGVuZGluZworI2RlZmluZSBTWVNfc3BjYWxsCQk5OQorCitleHRlcm4gaW50IHN5c19zaWdwZW5kaW5nKCksIHN5c19zaWdmaWxsc2V0KCk7CisKKyNkZWZpbmUgU1lTX3NwY2FsbF9zdWJjYWxsCTM3MCArIFNHSV9LTFVER0UKKwkJCQkvKiAwIGlzIHVudXNlZCAqLworI2RlZmluZSBTWVNfc2lncGVuZGluZwkJKFNZU19zcGNhbGxfc3ViY2FsbCArIDEpCisjZGVmaW5lIFNZU19zaWdmaWxsc2V0CQkoU1lTX3NwY2FsbF9zdWJjYWxsICsgMikKKworI2RlZmluZSBTWVNfc3BjYWxsX25zdWJjYWxscwkzCisKKy8qIHN5c19jb250ZXh0IHN1YmNhbGxzICovCisKK2V4dGVybiBpbnQgc3lzX2dldGNvbnRleHQoKSwgc3lzX3NldGNvbnRleHQoKTsKKworI2lmbmRlZiBNSVBTCisKKyNkZWZpbmUgU1lTX2NvbnRleHRfc3ViY2FsbAkzODAgKyBTR0lfS0xVREdFCisjZGVmaW5lIFNZU19nZXRjb250ZXh0CQkoU1lTX2NvbnRleHRfc3ViY2FsbCArIDApCisjZGVmaW5lIFNZU19zZXRjb250ZXh0CQkoU1lTX2NvbnRleHRfc3ViY2FsbCArIDEpCisKKyNkZWZpbmUgU1lTX2NvbnRleHRfbnN1YmNhbGxzCTIKKworI2VuZGlmIC8qICFNSVBTICovCisKKworI2lmZGVmIEhBVkVfU1lTX0FJT19ICitleHRlcm4gaW50IHN5c19haW9yZWFkKCk7CitleHRlcm4gaW50IHN5c19haW93cml0ZSgpOworZXh0ZXJuIGludCBzeXNfYWlvd2FpdCgpOworZXh0ZXJuIGludCBzeXNfYWlvY2FuY2VsKCk7CisjZW5kaWYgLyogSEFWRV9TWVNfQUlPX0ggKi8KKworLyogNjQtYml0IGZpbGUgc3R1ZmYgKi8KKworI2lmIF9MRlM2NF9MQVJHRUZJTEUKK2V4dGVybiBpbnQgc3lzX2dldGRlbnRzNjQoKTsKK2V4dGVybiBpbnQgc3lzX21tYXA2NCgpOworZXh0ZXJuIGludCBzeXNfc3RhdDY0KCk7CitleHRlcm4gaW50IHN5c19sc3RhdDY0KCk7CitleHRlcm4gaW50IHN5c19mc3RhdDY0KCk7CitleHRlcm4gaW50IHN5c19zZXRybGltaXQ2NCgpOworZXh0ZXJuIGludCBzeXNfZ2V0cmxpbWl0NjQoKTsKK2V4dGVybiBpbnQgc3lzX3ByZWFkNjQoKTsKK2V4dGVybiBpbnQgc3lzX3B3cml0ZTY0KCk7CitleHRlcm4gaW50IHN5c19sc2VlazY0KCk7CisjZW5kaWYKKworLyogc29sYXJpcyAyLjYgc3R1ZmYgKi8KK2V4dGVybiBpbnQgc3lzX3NvX3NvY2tldCgpOworZXh0ZXJuIGludCBzeXNfc29fc29ja2V0cGFpcigpOworCisjaWZkZWYgSEFWRV9TWVNfRE9PUl9ICisKKyNkZWZpbmUgU1lTX2Rvb3Jfc3ViY2FsbAkzOTAgKyBTR0lfS0xVREdFCisjZGVmaW5lIFNZU19kb29yX2NyZWF0ZQkJKFNZU19kb29yX3N1YmNhbGwgKyAwKQorI2RlZmluZSBTWVNfZG9vcl9yZXZva2UJCShTWVNfZG9vcl9zdWJjYWxsICsgMSkKKyNkZWZpbmUgU1lTX2Rvb3JfaW5mbwkJKFNZU19kb29yX3N1YmNhbGwgKyAyKQorI2RlZmluZSBTWVNfZG9vcl9jYWxsCQkoU1lTX2Rvb3Jfc3ViY2FsbCArIDMpCisjZGVmaW5lIFNZU19kb29yX3JldHVybgkJKFNZU19kb29yX3N1YmNhbGwgKyA0KQorI2RlZmluZSBTWVNfZG9vcl9jcmVkCQkoU1lTX2Rvb3Jfc3ViY2FsbCArIDUpCisKKyNkZWZpbmUgU1lTX2Rvb3JfbnN1YmNhbGxzCTYKKworI2VuZGlmIC8qIEhBVkVfU1lTX0RPT1JfSCAqLworCisjaWZkZWYgSEFWRV9TWVNfQUlPX0gKKworI2RlZmluZSBTWVNfa2Fpb19zdWJjYWxsCTQwMCArIFNHSV9LTFVER0UKKyNkZWZpbmUgU1lTX2Fpb3JlYWQJCShTWVNfa2Fpb19zdWJjYWxsICsgMCkKKyNkZWZpbmUgU1lTX2Fpb3dyaXRlCQkoU1lTX2thaW9fc3ViY2FsbCArIDEpCisjZGVmaW5lIFNZU19haW93YWl0CQkoU1lTX2thaW9fc3ViY2FsbCArIDIpCisjZGVmaW5lIFNZU19haW9jYW5jZWwJCShTWVNfa2Fpb19zdWJjYWxsICsgMykKKyNkZWZpbmUgU1lTX2Fpb25vdGlmeQkJKFNZU19rYWlvX3N1YmNhbGwgKyA0KQorI2RlZmluZSBTWVNfYWlvaW5pdAkJKFNZU19rYWlvX3N1YmNhbGwgKyA1KQorI2RlZmluZSBTWVNfYWlvc3RhcnQJCShTWVNfa2Fpb19zdWJjYWxsICsgNikKKyNkZWZpbmUgU1lTX2Fpb2xpbwkJKFNZU19rYWlvX3N1YmNhbGwgKyA3KQorI2RlZmluZSBTWVNfYWlvc3VzcGVuZAkJKFNZU19rYWlvX3N1YmNhbGwgKyA4KQorI2RlZmluZSBTWVNfYWlvZXJyb3IJCShTWVNfa2Fpb19zdWJjYWxsICsgOSkKKyNkZWZpbmUgU1lTX2Fpb2xpb3dhaXQJCShTWVNfa2Fpb19zdWJjYWxsICsgMTApCisjZGVmaW5lIFNZU19haW9hcmVhZAkJKFNZU19rYWlvX3N1YmNhbGwgKyAxMSkKKyNkZWZpbmUgU1lTX2Fpb2F3cml0ZQkJKFNZU19rYWlvX3N1YmNhbGwgKyAxMikKKyNkZWZpbmUgU1lTX2Fpb2xpbzY0CQkoU1lTX2thaW9fc3ViY2FsbCArIDEzKQorI2RlZmluZSBTWVNfYWlvc3VzcGVuZDY0CShTWVNfa2Fpb19zdWJjYWxsICsgMTQpCisjZGVmaW5lIFNZU19haW9lcnJvcjY0CQkoU1lTX2thaW9fc3ViY2FsbCArIDE1KQorI2RlZmluZSBTWVNfYWlvbGlvd2FpdDY0CShTWVNfa2Fpb19zdWJjYWxsICsgMTYpCisjZGVmaW5lIFNZU19haW9hcmVhZDY0CQkoU1lTX2thaW9fc3ViY2FsbCArIDE3KQorI2RlZmluZSBTWVNfYWlvYXdyaXRlNjQJCShTWVNfa2Fpb19zdWJjYWxsICsgMTgpCisjZGVmaW5lIFNZU19haW9jYW5jZWw2NAkJKFNZU19rYWlvX3N1YmNhbGwgKyAxOSkKKyNkZWZpbmUgU1lTX2Fpb2ZzeW5jCQkoU1lTX2thaW9fc3ViY2FsbCArIDIwKQorCisjZGVmaW5lIFNZU19rYWlvX25zdWJjYWxscwkyMQorCisjZW5kaWYgLyogSEFWRV9TWVNfQUlPX0ggKi8KZGlmZiAtLWdpdCBhL3N0cmFjZS00LjUuMjAvc3ZyNC9zeXNjYWxsZW50LmggYi9zdHJhY2UtNC41LjIwL3N2cjQvc3lzY2FsbGVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ4ZTVhMTIKLS0tIC9kZXYvbnVsbAorKysgYi9zdHJhY2UtNC41LjIwL3N2cjQvc3lzY2FsbGVudC5oCkBAIC0wLDAgKzEsODI3IEBACisvKgorICogQ29weXJpZ2h0IChjKSAxOTkzLCAxOTk0LCAxOTk1LCAxOTk2IFJpY2sgU2xhZGtleSA8anJzQHdvcmxkLnN0ZC5jb20+CisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gVGhlIG5hbWUgb2YgdGhlIGF1dGhvciBtYXkgbm90IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzCisgKiAgICBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBBVVRIT1IgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUyBPUgorICogSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUworICogT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4KKyAqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKKyAqIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVAorICogTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKgorICoJJElkJAorICovCisKKyNpZmRlZiBNSVBTCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18tMSIJfSwgLyogLTEgKi8KKyNlbmRpZiAvKiBNSVBTICovCisJeyAtMSwJMCwJc3lzX3N5c2NhbGwsCQkic3lzY2FsbCIJfSwgLyogMCAqLworCXsgLTEsCVRQLAlzeXNfZXhpdCwJCSJfZXhpdCIJCX0sIC8qIDEgKi8KKwl7IC0xLAlUUCwJc3lzX2ZvcmssCQkiZm9yayIJCX0sIC8qIDIgKi8KKwl7IC0xLAlURCwJc3lzX3JlYWQsCQkicmVhZCIJCX0sIC8qIDMgKi8KKwl7IC0xLAlURCwJc3lzX3dyaXRlLAkJIndyaXRlIgkJfSwgLyogNCAqLworCXsgLTEsCVREfFRGLAlzeXNfb3BlbiwJCSJvcGVuIgkJfSwgLyogNSAqLworCXsgLTEsCVRELAlzeXNfY2xvc2UsCQkiY2xvc2UiCQl9LCAvKiA2ICovCisJeyAtMSwJVFAsCXN5c193YWl0LAkJIndhaXQiCQl9LCAvKiA3ICovCisJeyAtMSwJVER8VEYsCXN5c19jcmVhdCwJCSJjcmVhdCIJCX0sIC8qIDggKi8KKwl7IC0xLAlURiwJc3lzX2xpbmssCQkibGluayIJCX0sIC8qIDkgKi8KKwl7IC0xLAlURiwJc3lzX3VubGluaywJCSJ1bmxpbmsiCX0sIC8qIDEwICovCisJeyAtMSwJVEZ8VFAsCXN5c19leGVjLAkJImV4ZWMiCQl9LCAvKiAxMSAqLworCXsgLTEsCVRGLAlzeXNfY2hkaXIsCQkiY2hkaXIiCQl9LCAvKiAxMiAqLworCXsgLTEsCTAsCXN5c190aW1lLAkJInRpbWUiCQl9LCAvKiAxMyAqLworCXsgLTEsCVRGLAlzeXNfbWtub2QsCQkibWtub2QiCQl9LCAvKiAxNCAqLworCXsgLTEsCVRGLAlzeXNfY2htb2QsCQkiY2htb2QiCQl9LCAvKiAxNSAqLworCXsgLTEsCVRGLAlzeXNfY2hvd24sCQkiY2hvd24iCQl9LCAvKiAxNiAqLworCXsgLTEsCTAsCXN5c19icmssCQkiYnJrIgkJfSwgLyogMTcgKi8KKwl7IC0xLAlURiwJc3lzX3N0YXQsCQkic3RhdCIJCX0sIC8qIDE4ICovCisJeyAtMSwJVEQsCXN5c19sc2VlaywJCSJsc2VlayIJCX0sIC8qIDE5ICovCisJeyAtMSwJMCwJc3lzX2dldHBpZCwJCSJnZXRwaWQiCX0sIC8qIDIwICovCisJeyAtMSwJVEYsCXN5c19tb3VudCwJCSJtb3VudCIJCX0sIC8qIDIxICovCisJeyAtMSwJVEYsCXN5c191bW91bnQsCQkidW1vdW50Igl9LCAvKiAyMiAqLworCXsgLTEsCTAsCXN5c19zZXR1aWQsCQkic2V0dWlkIgl9LCAvKiAyMyAqLworCXsgLTEsCTAsCXN5c19nZXR1aWQsCQkiZ2V0dWlkIgl9LCAvKiAyNCAqLworCXsgLTEsCTAsCXN5c19zdGltZSwJCSJzdGltZSIJCX0sIC8qIDI1ICovCisJeyAtMSwJMCwJc3lzX3B0cmFjZSwJCSJwdHJhY2UiCX0sIC8qIDI2ICovCisJeyAtMSwJMCwJc3lzX2FsYXJtLAkJImFsYXJtIgkJfSwgLyogMjcgKi8KKwl7IC0xLAlURCwJc3lzX2ZzdGF0LAkJImZzdGF0IgkJfSwgLyogMjggKi8KKwl7IC0xLAlUUywJc3lzX3BhdXNlLAkJInBhdXNlIgkJfSwgLyogMjkgKi8KKwl7IC0xLAlURiwJc3lzX3V0aW1lLAkJInV0aW1lIgkJfSwgLyogMzAgKi8KKwl7IC0xLAkwLAlzeXNfc3R0eSwJCSJzdHR5IgkJfSwgLyogMzEgKi8KKwl7IC0xLAkwLAlzeXNfZ3R0eSwJCSJndHR5IgkJfSwgLyogMzIgKi8KKwl7IC0xLAlURiwJc3lzX2FjY2VzcywJCSJhY2Nlc3MiCX0sIC8qIDMzICovCisJeyAtMSwJMCwJc3lzX25pY2UsCQkibmljZSIJCX0sIC8qIDM0ICovCisJeyAtMSwJVEYsCXN5c19zdGF0ZnMsCQkic3RhdGZzIgl9LCAvKiAzNSAqLworCXsgLTEsCTAsCXN5c19zeW5jLAkJInN5bmMiCQl9LCAvKiAzNiAqLworCXsgLTEsCVRTLAlzeXNfa2lsbCwJCSJraWxsIgkJfSwgLyogMzcgKi8KKwl7IC0xLAlURCwJc3lzX2ZzdGF0ZnMsCQkiZnN0YXRmcyIJfSwgLyogMzggKi8KKyNpZmRlZiBNSVBTCisJeyAtMSwJMCwJc3lzX3NldHBncnAsCQkic2V0cGdycCIJfSwgLyogMzkgKi8KKyNlbHNlIC8qICFNSVBTICovCisJeyAtMSwJMCwJc3lzX3BncnBzeXMsCQkicGdycHN5cyIJfSwgLyogMzkgKi8KKyNlbmRpZiAvKiAhTUlQUyAqLworI2lmZGVmIE1JUFMKKwl7IC0xLAkwLAlzeXNfc3lzc2dpLAkJInN5c3NnaSIJfSwgLyogNDAgKi8KKyNlbHNlIC8qICFNSVBTICovCisJeyAtMSwJMCwJc3lzX3hlbml4LAkJInhlbml4IgkJfSwgLyogNDAgKi8KKyNlbmRpZiAvKiAhTUlQUyAqLworCXsgLTEsCVRELAlzeXNfZHVwLAkJImR1cCIJCX0sIC8qIDQxICovCisJeyAtMSwJVEQsCXN5c19waXBlLAkJInBpcGUiCQl9LCAvKiA0MiAqLworCXsgLTEsCTAsCXN5c190aW1lcywJCSJ0aW1lcyIJCX0sIC8qIDQzICovCisJeyAtMSwJMCwJc3lzX3Byb2ZpbCwJCSJwcm9maWwiCX0sIC8qIDQ0ICovCisJeyAtMSwJMCwJc3lzX3Bsb2NrLAkJInBsb2NrIgkJfSwgLyogNDUgKi8KKwl7IC0xLAkwLAlzeXNfc2V0Z2lkLAkJInNldGdpZCIJfSwgLyogNDYgKi8KKwl7IC0xLAkwLAlzeXNfZ2V0Z2lkLAkJImdldGdpZCIJfSwgLyogNDcgKi8KKwl7IC0xLAkwLAlzeXNfc2lnY2FsbCwJCSJzaWdjYWxsIgl9LCAvKiA0OCAqLworCXsgLTEsCVRJLAlzeXNfbXNnc3lzLAkJIm1zZ3N5cyIJfSwgLyogNDkgKi8KKyNpZmRlZiBTUEFSQworCXsgLTEsCTAsCXN5c19zeXNzdW4sCQkic3lzc3VuIgl9LCAvKiA1MCAqLworI2Vsc2UgLyogIVNQQVJDICovCisjaWZkZWYgSTM4NgorCXsgLTEsCTAsCXN5c19zeXNpODYsCQkic3lzaTg2Igl9LCAvKiA1MCAqLworI2Vsc2UgLyogIUkzODYgKi8KKyNpZmRlZiBNSVBTCisJeyAtMSwJMCwJc3lzX3N5c21pcHMsCQkic3lzbWlwcyIJfSwgLyogNTAgKi8KKyNlbHNlIC8qICFNSVBTICovCisJeyAtMSwJMCwJc3lzX3N5c21hY2hpbmUsCQkic3lzbWFjaGluZSIJfSwgLyogNTAgKi8KKyNlbmRpZiAvKiAhTUlQUyAqLworI2VuZGlmIC8qICFJMzg2ICovCisjZW5kaWYgLyogIVNQQVJDICovCisJeyAtMSwJVEYsCXN5c19hY2N0LAkJImFjY3QiCQl9LCAvKiA1MSAqLworCXsgLTEsCVRJLAlzeXNfc2htc3lzLAkJInNobXN5cyIJfSwgLyogNTIgKi8KKwl7IC0xLAlUSSwJc3lzX3NlbXN5cywJCSJzZW1zeXMiCX0sIC8qIDUzICovCisJeyAtMSwJVEQsCXN5c19pb2N0bCwJCSJpb2N0bCIJCX0sIC8qIDU0ICovCisJeyAtMSwJMCwJc3lzX3VhZG1pbiwJCSJ1YWRtaW4iCX0sIC8qIDU1ICovCisJeyAtMSwJMCwJc3lzX3N5c21wLAkJInN5c21wIgkJfSwgLyogNTYgKi8KKwl7IC0xLAkwLAlzeXNfdXRzc3lzLAkJInV0c3N5cyIJfSwgLyogNTcgKi8KKwl7IC0xLAkwLAlzeXNfZmRzeW5jLAkJImZkc3luYyIJfSwgLyogNTggKi8KKwl7IC0xLAlURnxUUCwJc3lzX2V4ZWN2ZSwJCSJleGVjdmUiCX0sIC8qIDU5ICovCisJeyAtMSwJMCwJc3lzX3VtYXNrLAkJInVtYXNrIgkJfSwgLyogNjAgKi8KKwl7IC0xLAlURiwJc3lzX2Nocm9vdCwJCSJjaHJvb3QiCX0sIC8qIDYxICovCisJeyAtMSwJVEQsCXN5c19mY250bCwJCSJmY250bCIJCX0sIC8qIDYyICovCisJeyAtMSwJMCwJc3lzX3VsaW1pdCwJCSJ1bGltaXQiCX0sIC8qIDYzICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU182NCIJfSwgLyogNjQgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY1Igl9LCAvKiA2NSAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfNjYiCX0sIC8qIDY2ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU182NyIJfSwgLyogNjcgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzY4Igl9LCAvKiA2OCAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfNjkiCX0sIC8qIDY5ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU183MCIJfSwgLyogNzAgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzcxIgl9LCAvKiA3MSAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfNzIiCX0sIC8qIDcyICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU183MyIJfSwgLyogNzMgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzc0Igl9LCAvKiA3NCAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfNzUiCX0sIC8qIDc1ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU183NiIJfSwgLyogNzYgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzc3Igl9LCAvKiA3NyAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfNzgiCX0sIC8qIDc4ICovCisJeyAtMSwJVEYsCXN5c19ybWRpciwJCSJybWRpciIJCX0sIC8qIDc5ICovCisJeyAtMSwJVEYsCXN5c19ta2RpciwJCSJta2RpciIJCX0sIC8qIDgwICovCisJeyAtMSwJVEQsCXN5c19nZXRkZW50cywJCSJnZXRkZW50cyIJfSwgLyogODEgKi8KKwl7IC0xLAkwLAlzeXNfc2dpbmFwLAkJInNnaW5hcCIJfSwgLyogODIgKi8KKwl7IC0xLAkwLAlzeXNfc2dpa29wdCwJCSJzZ2lrb3B0Igl9LCAvKiA4MyAqLworCXsgLTEsCTAsCXN5c19zeXNmcywJCSJzeXNmcyIJCX0sIC8qIDg0ICovCisJeyAtMSwJVE4sCXN5c19nZXRtc2csCQkiZ2V0bXNnIgl9LCAvKiA4NSAqLworCXsgLTEsCVROLAlzeXNfcHV0bXNnLAkJInB1dG1zZyIJfSwgLyogODYgKi8KKwl7IC0xLAlUTiwJc3lzX3BvbGwsCQkicG9sbCIJCX0sIC8qIDg3ICovCisjaWZkZWYgTUlQUworCXsgLTEsCVRTLAlzeXNfc2lncmV0dXJuLAkJInNpZ3JldHVybiIJfSwgLyogODggKi8KKwl7IC0xLAlUTiwJc3lzX2FjY2VwdCwJCSJhY2NlcHQiCX0sIC8qIDg5ICovCisJeyAtMSwJVE4sCXN5c19iaW5kLAkJImJpbmQiCQl9LCAvKiA5MCAqLworCXsgLTEsCVROLAlzeXNfY29ubmVjdCwJCSJjb25uZWN0Igl9LCAvKiA5MSAqLworCXsgLTEsCTAsCXN5c19nZXRob3N0aWQsCQkiZ2V0aG9zdGlkIgl9LCAvKiA5MiAqLworCXsgLTEsCVROLAlzeXNfZ2V0cGVlcm5hbWUsCSJnZXRwZWVybmFtZSIJfSwgLyogOTMgKi8KKwl7IC0xLAlUTiwJc3lzX2dldHNvY2tuYW1lLAkiZ2V0c29ja25hbWUiCX0sIC8qIDk0ICovCisJeyAtMSwJVE4sCXN5c19nZXRzb2Nrb3B0LAkJImdldHNvY2tvcHQiCX0sIC8qIDk1ICovCisJeyAtMSwJVE4sCXN5c19saXN0ZW4sCQkibGlzdGVuIgl9LCAvKiA5NiAqLworCXsgLTEsCVROLAlzeXNfcmVjdiwJCSJyZWN2IgkJfSwgLyogOTcgKi8KKwl7IC0xLAlUTiwJc3lzX3JlY3Zmcm9tLAkJInJlY3Zmcm9tIgl9LCAvKiA5OCAqLworCXsgLTEsCVROLAlzeXNfcmVjdm1zZywJCSJyZWN2bXNnIgl9LCAvKiA5OSAqLworCXsgLTEsCVRELAlzeXNfc2VsZWN0LAkJInNlbGVjdCIJfSwgLyogMTAwICovCisJeyAtMSwJVE4sCXN5c19zZW5kLAkJInNlbmQiCQl9LCAvKiAxMDEgKi8KKwl7IC0xLAlUTiwJc3lzX3NlbmRtc2csCQkic2VuZG1zZyIJfSwgLyogMTAyICovCisJeyAtMSwJVE4sCXN5c19zZW5kdG8sCQkic2VuZHRvIgl9LCAvKiAxMDMgKi8KKwl7IC0xLAkwLAlzeXNfc2V0aG9zdGlkLAkJInNldGhvc3RpZCIJfSwgLyogMTA0ICovCisJeyAtMSwJVE4sCXN5c19zZXRzb2Nrb3B0LAkJInNldHNvY2tvcHQiCX0sIC8qIDEwNSAqLworCXsgLTEsCVROLAlzeXNfc2h1dGRvd24sCQkic2h1dGRvd24iCX0sIC8qIDEwNiAqLworCXsgLTEsCVROLAlzeXNfc29ja2V0LAkJInNvY2tldCIJfSwgLyogMTA3ICovCisJeyAtMSwJMCwJc3lzX2dldGhvc3RuYW1lLAkiZ2V0aG9zdG5hbWUiCX0sIC8qIDEwOCAqLworCXsgLTEsCTAsCXN5c19zZXRob3N0bmFtZSwJInNldGhvc3RuYW1lIgl9LCAvKiAxMDkgKi8KKwl7IC0xLAkwLAlzeXNfZ2V0ZG9tYWlubmFtZSwJImdldGRvbWFpbm5hbWUiCX0sIC8qIDExMCAqLworCXsgLTEsCTAsCXN5c19zZXRkb21haW5uYW1lLAkic2V0ZG9tYWlubmFtZSIJfSwgLyogMTExICovCisJeyAtMSwJVEYsCXN5c190cnVuY2F0ZSwJCSJ0cnVuY2F0ZSIJfSwgLyogMTEyICovCisJeyAtMSwJVEQsCXN5c19mdHJ1bmNhdGUsCQkiZnRydW5jYXRlIgl9LCAvKiAxMTMgKi8KKwl7IC0xLAlURiwJc3lzX3JlbmFtZSwJCSJyZW5hbWUiCX0sIC8qIDExNCAqLworCXsgLTEsCVRGLAlzeXNfc3ltbGluaywJCSJzeW1saW5rIgl9LCAvKiAxMTUgKi8KKwl7IC0xLAlURiwJc3lzX3JlYWRsaW5rLAkJInJlYWRsaW5rIgl9LCAvKiAxMTYgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzExNyIJfSwgLyogMTE3ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18xMTgiCX0sIC8qIDExOCAqLworCXsgLTEsCTAsCXN5c19uZnNzdmMsCQkibmZzc3ZjIgl9LCAvKiAxMTkgKi8KKwl7IC0xLAkwLAlzeXNfZ2V0ZmgsCQkiZ2V0ZmgiCQl9LCAvKiAxMjAgKi8KKwl7IC0xLAkwLAlzeXNfYXN5bmNfZGFlbW9uLAkiYXN5bmNfZGFlbW9uIgl9LCAvKiAxMjEgKi8KKwl7IC0xLAkwLAlzeXNfZXhwb3J0ZnMsCQkiZXhwb3J0ZnMiCX0sIC8qIDEyMiAqLworCXsgLTEsCTAsCXN5c19zZXRyZWdpZCwJCSJzZXRyZWdpZCIJfSwgLyogMTIzICovCisJeyAtMSwJMCwJc3lzX3NldHJldWlkLAkJInNldHJldWlkIgl9LCAvKiAxMjQgKi8KKwl7IC0xLAkwLAlzeXNfZ2V0aXRpbWVyLAkJImdldGl0aW1lciIJfSwgLyogMTI1ICovCisJeyAtMSwJMCwJc3lzX3NldGl0aW1lciwJCSJzZXRpdGltZXIiCX0sIC8qIDEyNiAqLworCXsgLTEsCTAsCXN5c19hZGp0aW1lLAkJImFkanRpbWUiCX0sIC8qIDEyNyAqLworCXsgLTEsCTAsCXN5c19CU0RfZ2V0aW1lLAkJIkJTRF9nZXRpbWUiCX0sIC8qIDEyOCAqLworCXsgLTEsCTAsCXN5c19zcHJvYywJCSJzcHJvYyIJCX0sIC8qIDEyOSAqLworCXsgLTEsCTAsCXN5c19wcmN0bCwJCSJwcmN0bCIJCX0sIC8qIDEzMCAqLworCXsgLTEsCTAsCXN5c19wcm9jYmxrLAkJInByb2NibGsiCX0sIC8qIDEzMSAqLworCXsgLTEsCTAsCXN5c19zcHJvY3NwLAkJInNwcm9jc3AiCX0sIC8qIDEzMiAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMTMzIgl9LCAvKiAxMzMgKi8KKwl7IC0xLAkwLAlzeXNfbW1hcCwJCSJtbWFwIgkJfSwgLyogMTM0ICovCisJeyAtMSwJMCwJc3lzX211bm1hcCwJCSJtdW5tYXAiCX0sIC8qIDEzNSAqLworCXsgLTEsCTAsCXN5c19tcHJvdGVjdCwJCSJtcHJvdGVjdCIJfSwgLyogMTM2ICovCisJeyAtMSwJMCwJc3lzX21zeW5jLAkJIm1zeW5jIgkJfSwgLyogMTM3ICovCisJeyAtMSwJMCwJc3lzX21hZHZpc2UsCQkibWFkdmlzZSIJfSwgLyogMTM4ICovCisJeyAtMSwJMCwJc3lzX3BhZ2Vsb2NrLAkJInBhZ2Vsb2NrIgl9LCAvKiAxMzkgKi8KKwl7IC0xLAkwLAlzeXNfZ2V0cGFnZXNpemUsCSJnZXRwYWdlc2l6ZSIJfSwgLyogMTQwICovCisJeyAtMSwJMCwJc3lzX3F1b3RhY3RsLAkJInF1b3RhY3RsIgl9LCAvKiAxNDEgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE0MiIJfSwgLyogMTQyICovCisJeyAtMSwJMCwJc3lzX0JTRGdldHBncnAsCQkiQlNEZ2V0cGdycCIJfSwgLyogMTQzICovCisJeyAtMSwJMCwJc3lzX0JTRHNldHBncnAsCQkiQlNEc2V0cGdycCIJfSwgLyogMTQ0ICovCisJeyAtMSwJMCwJc3lzX3ZoYW5ndXAsCQkidmhhbmd1cCIJfSwgLyogMTQ1ICovCisJeyAtMSwJVEQsCXN5c19mc3luYywJCSJmc3luYyIJCX0sIC8qIDE0NiAqLworCXsgLTEsCVRELAlzeXNfZmNoZGlyLAkJImZjaGRpciIJfSwgLyogMTQ3ICovCisJeyAtMSwJMCwJc3lzX2dldHJsaW1pdCwJCSJnZXRybGltaXQiCX0sIC8qIDE0OCAqLworCXsgLTEsCTAsCXN5c19zZXRybGltaXQsCQkic2V0cmxpbWl0Igl9LCAvKiAxNDkgKi8KKwl7IC0xLAkwLAlzeXNfY2FjaGVmbHVzaCwJCSJjYWNoZWZsdXNoIgl9LCAvKiAxNTAgKi8KKwl7IC0xLAkwLAlzeXNfY2FjaGVjdGwsCQkiY2FjaGVjdGwiCX0sIC8qIDE1MSAqLworCXsgLTEsCVRELAlzeXNfZmNob3duLAkJImZjaG93biIJfSwgLyogMTUyICovCisJeyAtMSwJVEQsCXN5c19mY2htb2QsCQkiZmNobW9kIgl9LCAvKiAxNTMgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE1NCIJfSwgLyogMTU0ICovCisJeyAtMSwJVE4sCXN5c19zb2NrZXRwYWlyLAkJInNvY2tldHBhaXIiCX0sIC8qIDE1NSAqLworCXsgLTEsCTAsCXN5c19zeXNpbmZvLAkJInN5c2luZm8iCX0sIC8qIDE1NiAqLworCXsgLTEsCTAsCXN5c19udW5hbWUsCQkibnVuYW1lIgl9LCAvKiAxNTcgKi8KKwl7IC0xLAlURiwJc3lzX3hzdGF0LAkJInhzdGF0IgkJfSwgLyogMTU4ICovCisJeyAtMSwJVEYsCXN5c19seHN0YXQsCQkibHhzdGF0Igl9LCAvKiAxNTkgKi8KKwl7IC0xLAkwLAlzeXNfZnhzdGF0LAkJImZ4c3RhdCIJfSwgLyogMTYwICovCisJeyAtMSwJVEYsCXN5c194bWtub2QsCQkieG1rbm9kIgl9LCAvKiAxNjEgKi8KKwl7IC0xLAlUUywJc3lzX2tzaWdhY3Rpb24sCQkic2lnYWN0aW9uIgl9LCAvKiAxNjIgKi8KKwl7IC0xLAlUUywJc3lzX3NpZ3BlbmRpbmcsCQkic2lncGVuZGluZyIJfSwgLyogMTYzICovCisJeyAtMSwJVFMsCXN5c19zaWdwcm9jbWFzaywJInNpZ3Byb2NtYXNrIgl9LCAvKiAxNjQgKi8KKwl7IC0xLAlUUywJc3lzX3NpZ3N1c3BlbmQsCQkic2lnc3VzcGVuZCIJfSwgLyogMTY1ICovCisJeyAtMSwJVFMsCXN5c19zaWdwb2xsLAkJInNpZ3BvbGwiCX0sIC8qIDE2NiAqLworCXsgLTEsCTAsCXN5c19zd2FwY3RsLAkJInN3YXBjdGwiCX0sIC8qIDE2NyAqLworCXsgLTEsCTAsCXN5c19nZXRjb250ZXh0LAkJImdldGNvbnRleHQiCX0sIC8qIDE2OCAqLworCXsgLTEsCTAsCXN5c19zZXRjb250ZXh0LAkJInNldGNvbnRleHQiCX0sIC8qIDE2OSAqLworCXsgLTEsCVRQLAlzeXNfd2FpdGlkLAkJIndhaXRpZCIJfSwgLyogMTcwICovCisJeyAtMSwJVFMsCXN5c19zaWdzdGFjaywJCSJzaWdzdGFjayIJfSwgLyogMTcxICovCisJeyAtMSwJVFMsCXN5c19zaWdhbHRzdGFjaywJInNpZ2FsdHN0YWNrIgl9LCAvKiAxNzIgKi8KKwl7IC0xLAlUUywJc3lzX3NpZ3NlbmRzZXQsCQkic2lnc2VuZHNldCIJfSwgLyogMTczICovCisJeyAtMSwJVEYsCXN5c19zdGF0dmZzLAkJInN0YXR2ZnMiCX0sIC8qIDE3NCAqLworCXsgLTEsCTAsCXN5c19mc3RhdHZmcywJCSJmc3RhdHZmcyIJfSwgLyogMTc1ICovCisJeyAtMSwJVE4sCXN5c19nZXRwbXNnLAkJImdldHBtc2ciCX0sIC8qIDE3NiAqLworCXsgLTEsCVROLAlzeXNfcHV0cG1zZywJCSJwdXRwbXNnIgl9LCAvKiAxNzcgKi8KKwl7IC0xLAlURiwJc3lzX2xjaG93biwJCSJsY2hvd24iCX0sIC8qIDE3OCAqLworCXsgLTEsCTAsCXN5c19wcmlvY250bCwJCSJwcmlvY250bCIJfSwgLyogMTc5ICovCisJeyAtMSwJVFMsCXN5c19rc2lncXVldWUsCQkia3NpZ3F1ZXVlIgl9LCAvKiAxODAgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE4MSIJfSwgLyogMTgxICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18xODIiCX0sIC8qIDE4MiAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMTgzIgl9LCAvKiAxODMgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE4NCIJfSwgLyogMTg0ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18xODUiCX0sIC8qIDE4NSAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMTg2Igl9LCAvKiAxODYgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE4NyIJfSwgLyogMTg3ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18xODgiCX0sIC8qIDE4OCAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMTg5Igl9LCAvKiAxODkgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE5MCIJfSwgLyogMTkwICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18xOTEiCX0sIC8qIDE5MSAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMTkyIgl9LCAvKiAxOTIgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE5MyIJfSwgLyogMTkzICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18xOTQiCX0sIC8qIDE5NCAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMTk1Igl9LCAvKiAxOTUgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE5NiIJfSwgLyogMTk2ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18xOTciCX0sIC8qIDE5NyAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMTk4Igl9LCAvKiAxOTggKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE5OSIJfSwgLyogMTk5ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMDAiCX0sIC8qIDIwMCAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMjAxIgl9LCAvKiAyMDEgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIwMiIJfSwgLyogMjAyICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMDMiCX0sIC8qIDIwMyAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMjA0Igl9LCAvKiAyMDQgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIwNSIJfSwgLyogMjA1ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMDYiCX0sIC8qIDIwNiAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMjA3Igl9LCAvKiAyMDcgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIwOCIJfSwgLyogMjA4ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMDkiCX0sIC8qIDIwOSAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMjEwIgl9LCAvKiAyMTAgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIxMSIJfSwgLyogMjExICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMTIiCX0sIC8qIDIxMiAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMjEzIgl9LCAvKiAyMTMgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIxNCIJfSwgLyogMjE0ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMTUiCX0sIC8qIDIxNSAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMjE2Igl9LCAvKiAyMTYgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIxNyIJfSwgLyogMjE3ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMTgiCX0sIC8qIDIxOCAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMjE5Igl9LCAvKiAyMTkgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIyMCIJfSwgLyogMjIwICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMjEiCX0sIC8qIDIyMSAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMjIyIgl9LCAvKiAyMjIgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIyMyIJfSwgLyogMjIzICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMjQiCX0sIC8qIDIyNCAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMjI1Igl9LCAvKiAyMjUgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIyNiIJfSwgLyogMjI2ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMjciCX0sIC8qIDIyNyAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMjI4Igl9LCAvKiAyMjggKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIyOSIJfSwgLyogMjI5ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMzAiCX0sIC8qIDIzMCAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMjMxIgl9LCAvKiAyMzEgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIzMiIJfSwgLyogMjMyICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMzMiCX0sIC8qIDIzMyAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMjM0Igl9LCAvKiAyMzQgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIzNSIJfSwgLyogMjM1ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMzYiCX0sIC8qIDIzNiAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMjM3Igl9LCAvKiAyMzcgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIzOCIJfSwgLyogMjM4ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMzkiCX0sIC8qIDIzOSAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMjQwIgl9LCAvKiAyNDAgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI0MSIJfSwgLyogMjQxICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNDIiCX0sIC8qIDI0MiAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMjQzIgl9LCAvKiAyNDMgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI0NCIJfSwgLyogMjQ0ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNDUiCX0sIC8qIDI0NSAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMjQ2Igl9LCAvKiAyNDYgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI0NyIJfSwgLyogMjQ3ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNDgiCX0sIC8qIDI0OCAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMjQ5Igl9LCAvKiAyNDkgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI1MCIJfSwgLyogMjUwICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNTEiCX0sIC8qIDI1MSAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMjUyIgl9LCAvKiAyNTIgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI1MyIJfSwgLyogMjUzICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNTQiCX0sIC8qIDI1NCAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMjU1Igl9LCAvKiAyNTUgKi8KKyNlbHNlIC8qICFNSVBTICovCisJeyAtMSwJVEYsCXN5c19sc3RhdCwJCSJsc3RhdCIJCX0sIC8qIDg4ICovCisJeyAtMSwJVEYsCXN5c19zeW1saW5rLAkJInN5bWxpbmsiCX0sIC8qIDg5ICovCisJeyAtMSwJVEYsCXN5c19yZWFkbGluaywJCSJyZWFkbGluayIJfSwgLyogOTAgKi8KKwl7IC0xLAkwLAlzeXNfc2V0Z3JvdXBzLAkJInNldGdyb3VwcyIJfSwgLyogOTEgKi8KKwl7IC0xLAkwLAlzeXNfZ2V0Z3JvdXBzLAkJImdldGdyb3VwcyIJfSwgLyogOTIgKi8KKwl7IC0xLAlURCwJc3lzX2ZjaG1vZCwJCSJmY2htb2QiCX0sIC8qIDkzICovCisJeyAtMSwJVEQsCXN5c19mY2hvd24sCQkiZmNob3duIgl9LCAvKiA5NCAqLworCXsgLTEsCVRTLAlzeXNfc2lncHJvY21hc2ssCSJzaWdwcm9jbWFzayIJfSwgLyogOTUgKi8KKwl7IC0xLAlUUywJc3lzX3NpZ3N1c3BlbmQsCQkic2lnc3VzcGVuZCIJfSwgLyogOTYgKi8KKwl7IC0xLAlUUywJc3lzX3NpZ2FsdHN0YWNrLAkic2lnYWx0c3RhY2siCX0sIC8qIDk3ICovCisJeyAtMSwJVFMsCXN5c19zaWdhY3Rpb24sCQkic2lnYWN0aW9uIgl9LCAvKiA5OCAqLworCXsgLTEsCTAsCXN5c19zcGNhbGwsCQkic3BjYWxsIgl9LCAvKiA5OSAqLworCXsgLTEsCTAsCXN5c19jb250ZXh0LAkJImNvbnRleHQiCX0sIC8qIDEwMCAqLworCXsgLTEsCTAsCXN5c19ldnN5cywJCSJldnN5cyIJCX0sIC8qIDEwMSAqLworCXsgLTEsCTAsCXN5c19ldnRyYXByZXQsCQkiZXZ0cmFwcmV0Igl9LCAvKiAxMDIgKi8KKwl7IC0xLAlURiwJc3lzX3N0YXR2ZnMsCQkic3RhdHZmcyIJfSwgLyogMTAzICovCisJeyAtMSwJMCwJc3lzX2ZzdGF0dmZzLAkJImZzdGF0dmZzIgl9LCAvKiAxMDQgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzEwNSIJfSwgLyogMTA1ICovCisJeyAtMSwJMCwJc3lzX25mc3N5cywJCSJuZnNzeXMiCX0sIC8qIDEwNiAqLworI2lmIFVOSVhXQVJFCisJeyAtMSwJVFAsCXN5c193YWl0c3lzLAkJIndhaXRzeXMiCX0sIC8qIDEwNyAqLworI2Vsc2UKKwl7IC0xLAlUUCwJc3lzX3dhaXRpZCwJCSJ3YWl0aWQiCX0sIC8qIDEwNyAqLworI2VuZGlmCisJeyAtMSwJMCwJc3lzX3NpZ3NlbmRzeXMsCQkic2lnc2VuZHN5cyIJfSwgLyogMTA4ICovCisJeyAtMSwJMCwJc3lzX2hydHN5cywJCSJocnRzeXMiCX0sIC8qIDEwOSAqLworCXsgLTEsCTAsCXN5c19hY2FuY2VsLAkJImFjYW5jZWwiCX0sIC8qIDExMCAqLworCXsgLTEsCTAsCXN5c19hc3luYywJCSJhc3luYyIJCX0sIC8qIDExMSAqLworCXsgLTEsCTAsCXN5c19wcmlvY250bHN5cywJInByaW9jbnRsc3lzIgl9LCAvKiAxMTIgKi8KKwl7IC0xLAlURiwJc3lzX3BhdGhjb25mLAkJInBhdGhjb25mIgl9LCAvKiAxMTMgKi8KKwl7IC0xLAkwLAlzeXNfbWluY29yZSwJCSJtaW5jb3JlIgl9LCAvKiAxMTQgKi8KKwl7IC0xLAkwLAlzeXNfbW1hcCwJCSJtbWFwIgkJfSwgLyogMTE1ICovCisJeyAtMSwJMCwJc3lzX21wcm90ZWN0LAkJIm1wcm90ZWN0Igl9LCAvKiAxMTYgKi8KKwl7IC0xLAkwLAlzeXNfbXVubWFwLAkJIm11bm1hcCIJfSwgLyogMTE3ICovCisJeyAtMSwJMCwJc3lzX2ZwYXRoY29uZiwJCSJmcGF0aGNvbmYiCX0sIC8qIDExOCAqLworCXsgLTEsCVRQLAlzeXNfdmZvcmssCQkidmZvcmsiCQl9LCAvKiAxMTkgKi8KKwl7IC0xLAlURCwJc3lzX2ZjaGRpciwJCSJmY2hkaXIiCX0sIC8qIDEyMCAqLworCXsgLTEsCVRELAlzeXNfcmVhZHYsCQkicmVhZHYiCQl9LCAvKiAxMjEgKi8KKwl7IC0xLAlURCwJc3lzX3dyaXRldiwJCSJ3cml0ZXYiCX0sIC8qIDEyMiAqLworCXsgLTEsCVRGLAlzeXNfeHN0YXQsCQkieHN0YXQiCQl9LCAvKiAxMjMgKi8KKwl7IC0xLAlURiwJc3lzX2x4c3RhdCwJCSJseHN0YXQiCX0sIC8qIDEyNCAqLworCXsgLTEsCTAsCXN5c19meHN0YXQsCQkiZnhzdGF0Igl9LCAvKiAxMjUgKi8KKwl7IC0xLAlURiwJc3lzX3hta25vZCwJCSJ4bWtub2QiCX0sIC8qIDEyNiAqLworCXsgLTEsCTAsCXN5c19jbG9jYWwsCQkiY2xvY2FsIgl9LCAvKiAxMjcgKi8KKwl7IC0xLAkwLAlzeXNfc2V0cmxpbWl0LAkJInNldHJsaW1pdCIJfSwgLyogMTI4ICovCisJeyAtMSwJMCwJc3lzX2dldHJsaW1pdCwJCSJnZXRybGltaXQiCX0sIC8qIDEyOSAqLworCXsgLTEsCVRGLAlzeXNfbGNob3duLAkJImxjaG93biIJfSwgLyogMTMwICovCisJeyAtMSwJMCwJc3lzX21lbWNudGwsCQkibWVtY250bCIJfSwgLyogMTMxICovCisJeyAtMSwJVE4sCXN5c19nZXRwbXNnLAkJImdldHBtc2ciCX0sIC8qIDEzMiAqLworCXsgLTEsCVROLAlzeXNfcHV0cG1zZywJCSJwdXRwbXNnIgl9LCAvKiAxMzMgKi8KKwl7IC0xLAlURiwJc3lzX3JlbmFtZSwJCSJyZW5hbWUiCX0sIC8qIDEzNCAqLworCXsgLTEsCTAsCXN5c191bmFtZSwJCSJ1bmFtZSIJCX0sIC8qIDEzNSAqLworCXsgLTEsCTAsCXN5c19zZXRlZ2lkLAkJInNldGVnaWQiCX0sIC8qIDEzNiAqLworCXsgLTEsCTAsCXN5c19zeXNjb25maWcsCQkic3lzY29uZmlnIgl9LCAvKiAxMzcgKi8KKwl7IC0xLAkwLAlzeXNfYWRqdGltZSwJCSJhZGp0aW1lIgl9LCAvKiAxMzggKi8KKwl7IC0xLAkwLAlzeXNfc3lzaW5mbywJCSJzeXNpbmZvIgl9LCAvKiAxMzkgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE0MCIJfSwgLyogMTQwICovCisjaWYgVU5JWFdBUkUgPj0gMgorCXsgLTEsCTAsCXN5c19zZXRldWlkLAkJInNldGV1aWQiCX0sIC8qIDE0MSAqLworCXsgLTEsCTAsIAlwcmludGFyZ3MsCQkiU1lTXzE0MiIJfSwgLyogMTQyICovCisJeyAtMSwJMCwJc3lzX2tleWN0bCwJCSJrZXljdGwiCX0sIC8qIDE0MyAqLworCXsgLTEsCTAsCXN5c19zZWNzeXMsCQkic2Vjc3lzIgl9LCAvKiAxNDQgKi8KKwl7IC0xLAkwLAlzeXNfZmlsZXByaXYsCQkiZmlsZXByaXYiCX0sIC8qIDE0NSAqLworCXsgLTEsCTAsCXN5c19wcm9jcHJpdiwJCSJwcm9jcHJpdiIJfSwgLyogMTQ2ICovCisJeyAtMSwJMCwJc3lzX2RldnN0YXQsCQkiZGV2c3RhdCIJfSwgLyogMTQ3ICovCisJeyAtMSwJMCwJc3lzX2FjbGlwYywJCSJhY2xpcGMiCX0sIC8qIDE0OCAqLworCXsgLTEsCTAsCXN5c19mZGV2c3RhdCwJCSJmZGV2c3RhdCIJfSwgLyogMTQ5ICovCisJeyAtMSwJMCwJc3lzX2ZsdmxmaWxlLAkJImZsdmxmaWxlIgl9LCAvKiAxNTAgKi8KKwl7IC0xLAkwLAlzeXNfbHZsZmlsZSwJCSJsdmxmaWxlIgl9LCAvKiAxNTEgKi8KKwl7IC0xLAkwLCAJcHJpbnRhcmdzLAkJIlNZU18xNTIiCX0sIC8qIDE1MiAqLworCXsgLTEsCTAsCXN5c19sdmxlcXVhbCwJCSJsdmxlcXVhbCIJfSwgLyogMTUzICovCisJeyAtMSwJMCwJc3lzX2x2bHByb2MsCQkibHZscHJvYyIJfSwgLyogMTU0ICovCisJeyAtMSwJMCwgCXByaW50YXJncywJCSJTWVNfMTU1Igl9LCAvKiAxNTUgKi8KKwl7IC0xLAkwLAlzeXNfbHZsaXBjLAkJImx2bGlwYyIJfSwgLyogMTU2ICovCisJeyAtMSwJMCwJc3lzX2FjbCwJCSJhY2wiCQl9LCAvKiAxNTcgKi8KKwl7IC0xLAkwLAlzeXNfYXVkaXRldnQsCQkiYXVkaXRldnQiCX0sIC8qIDE1OCAqLworCXsgLTEsCTAsCXN5c19hdWRpdGN0bCwJCSJhdWRpdGN0bCIJfSwgLyogMTU5ICovCisJeyAtMSwJMCwJc3lzX2F1ZGl0ZG1wLAkJImF1ZGl0ZG1wIgl9LCAvKiAxNjAgKi8KKwl7IC0xLAkwLAlzeXNfYXVkaXRsb2csCQkiYXVkaXRsb2ciCX0sIC8qIDE2MSAqLworCXsgLTEsCTAsCXN5c19hdWRpdGJ1ZiwJCSJhdWRpdGJ1ZiIJfSwgLyogMTYyICovCisJeyAtMSwJMCwJc3lzX2x2bGRvbSwJCSJsdmxkb20iCX0sIC8qIDE2MyAqLworCXsgLTEsCTAsCXN5c19sdmx2ZnMsCQkibHZsdmZzIgl9LCAvKiAxNjQgKi8KKwl7IC0xLAkwLAlzeXNfbWttbGQsCQkibWttbGQiCQl9LCAvKiAxNjUgKi8KKwl7IC0xLAkwLAlzeXNfbWxkbW9kZSwJCSJtbGRtb2RlIgl9LCAvKiAxNjYgKi8KKwl7IC0xLAkwLAlzeXNfc2VjYWR2aXNlLAkJInNlY2FkdmlzZSIJfSwgLyogMTY3ICovCisJeyAtMSwJMCwJc3lzX29ubGluZSwJCSJvbmxpbmUiCX0sIC8qIDE2OCAqLworCXsgLTEsCTAsCXN5c19zZXRpdGltZXIsCQkic2V0aXRpbWVyIgl9LCAvKiAxNjkgKi8KKwl7IC0xLAkwLAlzeXNfZ2V0aXRpbWVyLAkJImdldGl0aW1lciIJfSwgLyogMTcwICovCisJeyAtMSwJMCwJc3lzX2dldHRpbWVvZmRheSwJImdldHRpbWVvZmRheSIJfSwgLyogMTcxICovCisJeyAtMSwJMCwJc3lzX3NldHRpbWVvZmRheSwJInNldHRpbWVvZmRheSIJfSwgLyogMTcyICovCisJeyAtMSwJMCwJc3lzX2x3cF9jcmVhdGUsCQkibHdwY3JlYXRlIgl9LCAvKiAxNzMgKi8KKwl7IC0xLAkwLAlzeXNfbHdwX2V4aXQsCQkibHdwZXhpdCIJfSwgLyogMTc0ICovCisJeyAtMSwJMCwJc3lzX2x3cF93YWl0LAkJImx3cHdhaXQiCX0sIC8qIDE3NSAqLworCXsgLTEsCTAsCXN5c19sd3Bfc2VsZiwJCSJsd3BzZWxmIgl9LCAvKiAxNzYgKi8KKwl7IC0xLAkwLAlzeXNfbHdwaW5mbywJCSJsd3BpbmZvIgl9LCAvKiAxNzcgKi8KKwl7IC0xLAkwLAlzeXNfbHdwcHJpdmF0ZSwJCSJsd3Bwcml2YXRlIgl9LCAvKiAxNzggKi8KKwl7IC0xLAkwLAlzeXNfcHJvY2Vzc29yX2JpbmQsCSJwcm9jZXNzb3JfYmluZCJ9LCAvKiAxNzkgKi8KKwl7IC0xLAkwLAlzeXNfcHJvY2Vzc29yX2V4YmluZCwJInByb2Nlc3Nvcl9leGJpbmQifSwgLyogMTgwICovCisJeyAtMSwJMCwgCXByaW50YXJncywJCSJTWVNfMTgxIgl9LCAvKiAxODEgKi8KKwl7IC0xLAkwLCAJcHJpbnRhcmdzLAkJIlNZU18xODIiCX0sIC8qIDE4MiAqLworCXsgLTEsCTAsCXN5c19wcmVwYmxvY2ssCQkicHJlcGJsb2NrIgl9LCAvKiAxODMgKi8KKwl7IC0xLAkwLAlzeXNfYmxvY2ssCQkiYmxvY2siCQl9LCAvKiAxODQgKi8KKwl7IC0xLAkwLAlzeXNfcmRibG9jaywJCSJyZGJsb2NrIgl9LCAvKiAxODUgKi8KKwl7IC0xLAkwLAlzeXNfdW5ibG9jaywJCSJ1bmJsb2NrIgl9LCAvKiAxODYgKi8KKwl7IC0xLAkwLAlzeXNfY2FuY2VsYmxvY2ssCSJjYW5jZWxibG9jayIJfSwgLyogMTg3ICovCisJeyAtMSwJMCwgCXByaW50YXJncywJCSJTWVNfMTg4Igl9LCAvKiAxODggKi8KKwl7IC0xLAlURCwJc3lzX3ByZWFkLAkJInByZWFkIgkJfSwgLyogMTg5ICovCisJeyAtMSwJVEQsCXN5c19wd3JpdGUsCQkicHdyaXRlIgl9LCAvKiAxOTAgKi8KKwl7IC0xLAlURiwJc3lzX3RydW5jYXRlLAkJInRydW5jYXRlIgl9LCAvKiAxOTEgKi8KKwl7IC0xLAlURCwJc3lzX2Z0cnVuY2F0ZSwJCSJmdHJ1bmNhdGUiCX0sIC8qIDE5MiAqLworCXsgLTEsCTAsCXN5c19sd3BraWxsLAkJImx3cGtpbGwiCX0sIC8qIDE5MyAqLworCXsgLTEsCTAsCXN5c19zaWd3YWl0LAkJInNpZ3dhaXQiCX0sIC8qIDE5NCAqLworCXsgLTEsCTAsCXN5c19mb3JrMSwJCSJmb3JrMSIJCX0sIC8qIDE5NSAqLworCXsgLTEsCTAsCXN5c19mb3JrYWxsLAkJImZvcmthbGwiCX0sIC8qIDE5NiAqLworCXsgLTEsCTAsCXN5c19tb2Rsb2FkLAkJIm1vZGxvYWQiCX0sIC8qIDE5NyAqLworCXsgLTEsCTAsCXN5c19tb2R1bG9hZCwJCSJtb2R1bG9hZCIJfSwgLyogMTk4ICovCisJeyAtMSwJMCwJc3lzX21vZHBhdGgsCQkibW9kcGF0aCIJfSwgLyogMTk5ICovCisJeyAtMSwJMCwJc3lzX21vZHN0YXQsCQkibW9kc3RhdCIJfSwgLyogMjAwICovCisJeyAtMSwJMCwJc3lzX21vZGFkbSwJCSJtb2RhZG0iCX0sIC8qIDIwMSAqLworCXsgLTEsCTAsCXN5c19nZXRrc3ltLAkJImdldGtzeW0iCX0sIC8qIDIwMiAqLworCXsgLTEsCTAsCXN5c19sd3BzdXNwZW5kLAkJImx3cHN1c3BlbmQiCX0sIC8qIDIwMyAqLworCXsgLTEsCTAsCXN5c19sd3Bjb250aW51ZSwJImx3cGNvbnRpbnVlIgl9LCAvKiAyMDQgKi8KKwl7IC0xLAkwLAlzeXNfcHJpb2NudGxsc3QsCSJwcmlvY250bGxzdCIJfSwgLyogMjA1ICovCisJeyAtMSwJMCwJc3lzX3NsZWVwLAkJInNsZWVwIgkJfSwgLyogMjA2ICovCisJeyAtMSwJMCwJc3lzX2x3cF9zZW1hX3dhaXQsCSJsd3Bfc2VtYV93YWl0Igl9LCAvKiAyMDcgKi8KKwl7IC0xLAkwLAlzeXNfbHdwX3NlbWFfcG9zdCwJImx3cF9zZW1hX3Bvc3QiCX0sIC8qIDIwOCAqLworCXsgLTEsCTAsCXN5c19sd3Bfc2VtYV90cnl3YWl0LAkibHdwX3NlbWFfdHJ5d2FpdCJ9LCAvKiAyMDkgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIxMCIJfSwgLyogMjEwICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMTEiCX0sIC8qIDIxMSAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMjEyIgl9LCAvKiAyMTIgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIxMyIJfSwgLyogMjEzICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMTQiCX0sIC8qIDIxNCAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMjE1Igl9LCAvKiAyMTUgKi8KKyNpZiBVTklYV0FSRSA+PSA3CisJeyAtMSwJMCwJc3lzX2ZzdGF0dmZzNjQsCQkiZnN0YXR2ZnM2NCIJfSwgLyogMjE2ICovCisJeyAtMSwJVEYsCXN5c19zdGF0dmZzNjQsCQkic3RhdHZmczY0Igl9LCAvKiAyMTcgKi8KKwl7IC0xLAlURCwJc3lzX2Z0cnVuY2F0ZTY0LAkiZnRydW5jYXRlNjQiCX0sIC8qIDIxOCAqLworCXsgLTEsCVRGLAlzeXNfdHJ1bmNhdGU2NCwJCSJ0cnVuY2F0ZTY0Igl9LCAvKiAyMTkgKi8KKwl7IC0xLAkwLAlzeXNfZ2V0cmxpbWl0NjQsCSJnZXRybGltaXQ2NCIJfSwgLyogMjIwICovCisJeyAtMSwJMCwJc3lzX3NldHJsaW1pdDY0LAkic2V0cmxpbWl0NjQiCX0sIC8qIDIyMSAqLworCXsgLTEsCVRGLAlzeXNfbHNlZWs2NCwJCSJsc2VlazY0Igl9LCAvKiAyMjIgKi8KKwl7IC0xLAlURiwJc3lzX21tYXA2NCwJCSJtbWFwNjQiCX0sIC8qIDIyMyAqLworCXsgLTEsCVRGLAlzeXNfcHJlYWQ2NCwJCSJwcmVhZDY0Igl9LCAvKiAyMjQgKi8KKwl7IC0xLAlURiwJc3lzX3B3cml0ZTY0LAkJInB3cml0ZTY0Igl9LCAvKiAyMjUgKi8KKwl7IC0xLAlURHxURiwJc3lzX2NyZWF0NjQsCQkiY3JlYXQ2NCIJfSwgLyogMjI2ICovCisJeyAtMSwJMCwJc3lzX2RzaG1zeXMsCQkiZHNobXN5cyIJfSwgLyogMjI3ICovCisJeyAtMSwJMCwJc3lzX2ludmxwZywJCSJpbnZscGciCX0sIC8qIDIyOCAqLworCXsgLTEsCTAsCXN5c19yZm9yazEsCQkicmZvcmsxIgl9LCAvKiAyMjkgKi8KKwl7IC0xLAkwLAlzeXNfcmZvcmthbGwsCQkicmZvcmthbGwiCX0sIC8qIDIzMCAqLworCXsgLTEsCTAsCXN5c19yZXhlY3ZlLAkJInJleGVjdmUiCX0sIC8qIDIzMSAqLworCXsgLTEsCTAsCXN5c19taWdyYXRlLAkJIm1pZ3JhdGUiCX0sIC8qIDIzMiAqLworCXsgLTEsCTAsCXN5c19raWxsMywJCSJraWxsMyIJCX0sIC8qIDIzMyAqLworCXsgLTEsCTAsCXN5c19zc2lzeXMsCQkic3Npc3lzIgl9LCAvKiAyMzQgKi8KKwl7IC0xLAlUTiwJc3lzX3hhY2NlcHQsCQkieGFjY2VwdCIJfSwgLyogMjM1ICovCisJeyAtMSwJVE4sCXN5c194YmluZCwJCSJ4YmluZCIJCX0sIC8qIDIzNiAqLworCXsgLTEsCVROLAlzeXNfeGJpbmRyZXN2cG9ydCwJInhiaW5kcmVzdnBvcnQiCX0sIC8qIDIzNyAqLworCXsgLTEsCVROLAlzeXNfeGNvbm5lY3QsCQkieGNvbm5lY3QiCX0sIC8qIDIzOCAqLworCXsgLTEsCVROLAlzeXNfeGdldHNvY2thZGRyLAkieGdldHNvY2thZGRyIgl9LCAvKiAyMzkgKi8KKwl7IC0xLAlUTiwJc3lzX3hnZXRzb2Nrb3B0LAkieGdldHNvY2tvcHQiCX0sIC8qIDI0MCAqLworCXsgLTEsCVROLAlzeXNfeGxpc3RlbiwJCSJ4bGlzdGVuIgl9LCAvKiAyNDEgKi8KKwl7IC0xLAlUTiwJc3lzX3hyZWN2bXNnLAkJInhyZWN2bXNnIgl9LCAvKiAyNDIgKi8KKwl7IC0xLAlUTiwJc3lzX3hzZW5kbXNnLAkJInhzZW5kbXNnIgl9LCAvKiAyNDMgKi8KKwl7IC0xLAlUTiwJc3lzX3hzZXRzb2NrYWRkciwJInhzZXRzb2NrYWRkciIJfSwgLyogMjQ0ICovCisJeyAtMSwJVE4sCXN5c194c2V0c29ja29wdCwJInhzZXRzb2Nrb3B0Igl9LCAvKiAyNDUgKi8KKwl7IC0xLAlUTiwJc3lzX3hzaHV0ZG93biwJCSJ4c2h1dGRvd24iCX0sIC8qIDI0NiAqLworCXsgLTEsCVROLAlzeXNfeHNvY2tldCwJCSJ4c29ja2V0Igl9LCAvKiAyNDcgKi8KKwl7IC0xLAlUTiwJc3lzX3hzb2NrZXRwYWlyLAkieHNvY2tldHBhaXIiCX0sIC8qIDI0OCAqLworI2Vsc2UJLyogVU5JWFdBUkUgMiAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMjE2Igl9LCAvKiAyMTYgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIxNyIJfSwgLyogMjE3ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMTgiCX0sIC8qIDIxOCAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMjE5Igl9LCAvKiAyMTkgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIyMCIJfSwgLyogMjIwICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMjEiCX0sIC8qIDIyMSAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMjIyIgl9LCAvKiAyMjIgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIyMyIJfSwgLyogMjIzICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMjQiCX0sIC8qIDIyNCAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMjI1Igl9LCAvKiAyMjUgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIyNiIJfSwgLyogMjI2ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMjciCX0sIC8qIDIyNyAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMjI4Igl9LCAvKiAyMjggKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIyOSIJfSwgLyogMjI5ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMzAiCX0sIC8qIDIzMCAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMjMxIgl9LCAvKiAyMzEgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIzMiIJfSwgLyogMjMyICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMzMiCX0sIC8qIDIzMyAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMjM0Igl9LCAvKiAyMzQgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIzNSIJfSwgLyogMjM1ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMzYiCX0sIC8qIDIzNiAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMjM3Igl9LCAvKiAyMzcgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIzOCIJfSwgLyogMjM4ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMzkiCX0sIC8qIDIzOSAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMjQwIgl9LCAvKiAyNDAgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI0MSIJfSwgLyogMjQxICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNDIiCX0sIC8qIDI0MiAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMjQzIgl9LCAvKiAyNDMgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI0NCIJfSwgLyogMjQ0ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNDUiCX0sIC8qIDI0NSAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMjQ2Igl9LCAvKiAyNDYgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI0NyIJfSwgLyogMjQ3ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNDgiCX0sIC8qIDI0OCAqLworI2VuZGlmCS8qIFVOSVhXQVJFIDIgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI0OSIJfSwgLyogMjQ5ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNTAiCX0sIC8qIDI1MCAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMjUxIgl9LCAvKiAyNTEgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI1MiIJfSwgLyogMjUyICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNTMiCX0sIC8qIDI1MyAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMjU0Igl9LCAvKiAyNTQgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI1NSIJfSwgLyogMjU1ICovCisjZWxzZSAgIC8qICFVTklYV0FSRSAqLworCXsgLTEsCTAsCXN5c19zZXRldWlkLAkJInNldGV1aWQiCX0sIC8qIDE0MSAqLworCXsgLTEsCTAsCXN5c192dHJhY2UsCQkidnRyYWNlIgl9LCAvKiAxNDIgKi8KKwl7IC0xLAlUUCwJc3lzX2ZvcmsxLAkJImZvcmsxIgkJfSwgLyogMTQzICovCisJeyAtMSwJVFMsCXN5c19zaWd0aW1lZHdhaXQsCSJzaWd0aW1lZHdhaXQiCX0sIC8qIDE0NCAqLworCXsgLTEsCTAsCXN5c19sd3BfaW5mbywJCSJsd3BfaW5mbyIJfSwgLyogMTQ1ICovCisJeyAtMSwJMCwJc3lzX3lpZWxkLAkJInlpZWxkIgkJfSwgLyogMTQ2ICovCisJeyAtMSwJMCwJc3lzX2x3cF9zZW1hX3dhaXQsCSJsd3Bfc2VtYV93YWl0Igl9LCAvKiAxNDcgKi8KKwl7IC0xLAkwLAlzeXNfbHdwX3NlbWFfcG9zdCwJImx3cF9zZW1hX3Bvc3QiCX0sIC8qIDE0OCAqLworCXsgLTEsCTAsCXN5c19sd3Bfc2VtYV90cnl3YWl0LCJsd3Bfc2VtYV90cnl3YWl0Igl9LCAvKiAxNDkgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE1MCIJfSwgLyogMTUwICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18xNTEiCX0sIC8qIDE1MSAqLworCXsgLTEsCTAsCXN5c19tb2RjdGwsCQkibW9kY3RsIgl9LCAvKiAxNTIgKi8KKwl7IC0xLAkwLAlzeXNfZmNocm9vdCwJCSJmY2hyb290Igl9LCAvKiAxNTMgKi8KKwl7IC0xLAlURiwJc3lzX3V0aW1lcywJCSJ1dGltZXMiCX0sIC8qIDE1NCAqLworCXsgLTEsCTAsCXN5c192aGFuZ3VwLAkJInZoYW5ndXAiCX0sIC8qIDE1NSAqLworCXsgLTEsCTAsCXN5c19nZXR0aW1lb2ZkYXksCSJnZXR0aW1lb2ZkYXkiCX0sIC8qIDE1NiAqLworCXsgLTEsCTAsCXN5c19nZXRpdGltZXIsCQkiZ2V0aXRpbWVyIgl9LCAvKiAxNTcgKi8KKwl7IC0xLAkwLAlzeXNfc2V0aXRpbWVyLAkJInNldGl0aW1lciIJfSwgLyogMTU4ICovCisJeyAtMSwJMCwJc3lzX2x3cF9jcmVhdGUsCQkibHdwX2NyZWF0ZSIJfSwgLyogMTU5ICovCisJeyAtMSwJMCwJc3lzX2x3cF9leGl0LAkJImx3cF9leGl0Igl9LCAvKiAxNjAgKi8KKwl7IC0xLAkwLAlzeXNfbHdwX3N1c3BlbmQsCSJsd3Bfc3VzcGVuZCIJfSwgLyogMTYxICovCisJeyAtMSwJMCwJc3lzX2x3cF9jb250aW51ZSwJImx3cF9jb250aW51ZSIJfSwgLyogMTYyICovCisJeyAtMSwJMCwJc3lzX2x3cF9raWxsLAkJImx3cF9raWxsIgl9LCAvKiAxNjMgKi8KKwl7IC0xLAkwLAlzeXNfbHdwX3NlbGYsCQkibHdwX3NlbGYiCX0sIC8qIDE2NCAqLworCXsgLTEsCTAsCXN5c19sd3Bfc2V0cHJpdmF0ZSwJImx3cF9zZXRwcml2YXRlIn0sIC8qIDE2NSAqLworCXsgLTEsCTAsCXN5c19sd3BfZ2V0cHJpdmF0ZSwJImx3cF9nZXRwcml2YXRlIn0sIC8qIDE2NiAqLworCXsgLTEsCTAsCXN5c19sd3Bfd2FpdCwJCSJsd3Bfd2FpdCIJfSwgLyogMTY3ICovCisJeyAtMSwJMCwJc3lzX2x3cF9tdXRleF91bmxvY2ssCSJsd3BfbXV0ZXhfdW5sb2NrIn0sIC8qIDE2OCAqLworCXsgLTEsCTAsCXN5c19sd3BfbXV0ZXhfbG9jaywJImx3cF9tdXRleF9sb2NrIn0sIC8qIDE2OSAqLworCXsgLTEsCTAsCXN5c19sd3BfY29uZF93YWl0LAkibHdwX2NvbmRfd2FpdCJ9LCAvKiAxNzAgKi8KKwl7IC0xLAkwLAlzeXNfbHdwX2NvbmRfc2lnbmFsLAkibHdwX2NvbmRfc2lnbmFsIn0sIC8qIDE3MSAqLworCXsgLTEsCTAsCXN5c19sd3BfY29uZF9icm9hZGNhc3QsCSJsd3BfY29uZF9icm9hZGNhc3QifSwgLyogMTcyICovCisJeyAtMSwJVEQsCXN5c19wcmVhZCwJCSJwcmVhZCIJCX0sIC8qIDE3MyAqLworCXsgLTEsCVRELAlzeXNfcHdyaXRlLAkJInB3cml0ZSIJfSwgLyogMTc0ICovCisJeyAtMSwJVEQsCXN5c19sbHNlZWssCQkibGxzZWVrIgl9LCAvKiAxNzUgKi8KKwl7IC0xLAkwLAlzeXNfaW5zdF9zeW5jLAkJImluc3Rfc3luYyIJfSwgLyogMTc2ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJInNybWxpbWl0c3lzIgl9LCAvKiAxNzcgKi8KKwl7IC0xLAkwLAlzeXNfa2FpbywJCSJrYWlvIgkJfSwgLyogMTc4ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJImNwYyIJCX0sIC8qIDE3OSAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMTgwIgl9LCAvKiAxODAgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE4MSIJfSwgLyogMTgxICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18xODIiCX0sIC8qIDE4MiAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMTgzIgl9LCAvKiAxODMgKi8KKwl7IC0xLAkwLAlzeXNfdHNvbHN5cywJCSJ0c29sc3lzIgl9LCAvKiAxODQgKi8KKyNpZmRlZiBIQVZFX1NZU19BQ0xfSAorCXsgLTEsCVRGLAlzeXNfYWNsLAkJImFjbCIJCX0sIC8qIDE4NSAqLworI2Vsc2UKKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzE4NSIJfSwgLyogMTg1ICovCisjZW5kaWYKKwl7IC0xLAkwLAlzeXNfYXVkaXRzeXMsCQkiYXVkaXRzeXMiCX0sIC8qIDE4NiAqLworCXsgLTEsCTAsCXN5c19wcm9jZXNzb3JfYmluZCwJInByb2Nlc3Nvcl9iaW5kIn0sIC8qIDE4NyAqLworCXsgLTEsCTAsCXN5c19wcm9jZXNzb3JfaW5mbywJInByb2Nlc3Nvcl9pbmZvIn0sIC8qIDE4OCAqLworCXsgLTEsCTAsCXN5c19wX29ubGluZSwJCSJwX29ubGluZSIJfSwgLyogMTg5ICovCisJeyAtMSwJMCwJc3lzX3NpZ3F1ZXVlLAkJInNpZ3F1ZXVlIgl9LCAvKiAxOTAgKi8KKwl7IC0xLAkwLAlzeXNfY2xvY2tfZ2V0dGltZSwJImNsb2NrX2dldHRpbWUiCX0sIC8qIDE5MSAqLworCXsgLTEsCTAsCXN5c19jbG9ja19zZXR0aW1lLAkiY2xvY2tfc2V0dGltZSIJfSwgLyogMTkyICovCisJeyAtMSwJMCwJc3lzX2Nsb2NrX2dldHJlcywJImNsb2NrX2dldHJlcyIJfSwgLyogMTkzICovCisJeyAtMSwJMCwJc3lzX3RpbWVyX2NyZWF0ZSwJInRpbWVyX2NyZWF0ZSIJfSwgLyogMTk0ICovCisJeyAtMSwJMCwJc3lzX3RpbWVyX2RlbGV0ZSwJInRpbWVyX2RlbGV0ZSIJfSwgLyogMTk1ICovCisJeyAtMSwJMCwJc3lzX3RpbWVyX3NldHRpbWUsCSJ0aW1lcl9zZXR0aW1lIgl9LCAvKiAxOTYgKi8KKwl7IC0xLAkwLAlzeXNfdGltZXJfZ2V0dGltZSwJInRpbWVyX2dldHRpbWUiCX0sIC8qIDE5NyAqLworCXsgLTEsCTAsCXN5c190aW1lcl9nZXRvdmVycnVuLAkidGltZXJfZ2V0b3ZlcnJ1biJ9LCAvKiAxOTggKi8KKwl7IC0xLAkwLAlzeXNfbmFub3NsZWVwLAkJIm5hbm9zbGVlcCIJfSwgLyogMTk5ICovCisjaWZkZWYgSEFWRV9TWVNfQUNMX0gKKwl7IC0xLAkwLAlzeXNfZmFjbCwJCSJmYWNsIgkJfSwgLyogMjAwICovCisjZWxzZQorCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMjAwIgl9LCAvKiAyMDAgKi8KKyNlbmRpZgorI2lmZGVmIEhBVkVfU1lTX0RPT1JfSAorCXsgLTEsCTAsCXN5c19kb29yLAkJImRvb3IiCQl9LCAvKiAyMDEgKi8KKyNlbHNlCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMDEiCX0sIC8qIDIwMSAqLworI2VuZGlmCisJeyAtMSwJMCwJc3lzX3NldHJldWlkLAkJInNldHJldWlkIgl9LCAvKiAyMDIgKi8KKwl7IC0xLAkwLAlzeXNfc2V0cmVnaWQsCQkic2V0cmVnaWQiCX0sIC8qIDIwMyAqLworCXsgLTEsCTAsCXN5c19pbnN0YWxsX3V0cmFwLAkiaW5zdGFsbF91dHJhcCIJfSwgLyogMjA0ICovCisJeyAtMSwJMCwJc3lzX3NpZ25vdGlmeSwJCSJzaWdub3RpZnkiCX0sIC8qIDIwNSAqLworCXsgLTEsCTAsCXN5c19zY2hlZGN0bCwJCSJzY2hlZGN0bCIJfSwgLyogMjA2ICovCisJeyAtMSwJMCwJc3lzX3BzZXQsCQkicHNldCIJfSwgLyogMjA3ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIl9fc3BhcmNfdXRyYXBfaW5zdGFsbCIJfSwgLyogMjA4ICovCisJeyAtMSwJMCwJc3lzX3Jlc29sdmVwYXRoLAkicmVzb2x2ZXBhdGgiCX0sIC8qIDIwOSAqLworCXsgLTEsCTAsCXN5c19zaWdub3RpZnl3YWl0LAkic2lnbm90aWZ5d2FpdCIJfSwgLyogMjEwICovCisJeyAtMSwJMCwJc3lzX2x3cF9zaWdyZWRpcmVjdCwJImx3cF9zaWdyZWRpcmVjdCIJfSwgLyogMjExICovCisJeyAtMSwJMCwJc3lzX2x3cF9hbGFybSwJCSJsd3BfYWxhcm0iCX0sIC8qIDIxMiAqLworCXsgLTEsCVRELAlzeXNfZ2V0ZGVudHM2NCwJCSJnZXRkZW50czY0Igl9LCAvKiAyMTMgKi8KKwl7IC0xLAkwLAlzeXNfbW1hcDY0LAkJIm1tYXA2NCIJfSwgLyogMjE0ICovCisJeyAtMSwJMCwJc3lzX3N0YXQ2NCwJCSJzdGF0NjQiCX0sIC8qIDIxNSAqLworCXsgLTEsCTAsCXN5c19sc3RhdDY0LAkJImxzdGF0NjQiCX0sIC8qIDIxNiAqLworCXsgLTEsCVRELAlzeXNfZnN0YXQ2NCwJCSJmc3RhdDY0Igl9LCAvKiAyMTcgKi8KKwl7IC0xLAkwLAlzeXNfc3RhdHZmczY0LAkJInN0YXR2ZnM2NCIJfSwgLyogMjE4ICovCisJeyAtMSwJMCwJc3lzX2ZzdGF0dmZzNjQsCQkiZnN0YXR2ZnM2NCIJfSwgLyogMjE5ICovCisJeyAtMSwJMCwJc3lzX3NldHJsaW1pdDY0LAkic2V0cmxpbWl0NjQiCX0sIC8qIDIyMCAqLworCXsgLTEsCTAsCXN5c19nZXRybGltaXQ2NCwJImdldHJsaW1pdDY0Igl9LCAvKiAyMjEgKi8KKwl7IC0xLAlURCwJc3lzX3ByZWFkNjQsCQkicHJlYWQ2NCIJfSwgLyogMjIyICovCisJeyAtMSwJVEQsCXN5c19wd3JpdGU2NCwJCSJwd3JpdGU2NCIJfSwgLyogMjIzICovCisJeyAtMSwJMCwJc3lzX2NyZWF0NjQsCQkiY3JlYXQ2NCIJfSwgLyogMjI0ICovCisJeyAtMSwJMCwJc3lzX29wZW42NCwJCSJvcGVuNjQiCX0sIC8qIDIyNSAqLworCXsgLTEsCTAsCXN5c19ycGNzeXMsCQkicnBjc3lzIgl9LCAvKiAyMjYgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzIyNyIJfSwgLyogMjI3ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yMjgiCX0sIC8qIDIyOCAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMjI5Igl9LCAvKiAyMjkgKi8KKwl7IC0xLAlUTiwJc3lzX3NvX3NvY2tldCwJCSJzb19zb2NrZXQiCX0sIC8qIDIzMCAqLworCXsgLTEsCVROLAlzeXNfc29fc29ja2V0cGFpciwJInNvX3NvY2tldHBhaXIiCX0sIC8qIDIzMSAqLworCXsgLTEsCVROLAlzeXNfYmluZCwJCSJiaW5kIgkJfSwgLyogMjMyICovCisJeyAtMSwJVE4sCXN5c19saXN0ZW4sCQkibGlzdGVuIgl9LCAvKiAyMzMgKi8KKwl7IC0xLAlUTiwJc3lzX2FjY2VwdCwJCSJhY2NlcHQiCX0sIC8qIDIzNCAqLworCXsgLTEsCVROLAlzeXNfY29ubmVjdCwJCSJjb25uZWN0Igl9LCAvKiAyMzUgKi8KKwl7IC0xLAlUTiwJc3lzX3NodXRkb3duLAkJInNodXRkb3duIgl9LCAvKiAyMzYgKi8KKwl7IC0xLAlUTiwJc3lzX3JlY3YsCQkicmVjdiIJCX0sIC8qIDIzNyAqLworCXsgLTEsCVROLAlzeXNfcmVjdmZyb20sCQkicmVjdmZyb20iCX0sIC8qIDIzOCAqLworCXsgLTEsCVROLAlzeXNfcmVjdm1zZywJCSJyZWN2bXNnIgl9LCAvKiAyMzkgKi8KKwl7IC0xLAlUTiwJc3lzX3NlbmQsCQkic2VuZCIJCX0sIC8qIDI0MCAqLworCXsgLTEsCVROLAlzeXNfc2VuZG1zZywJCSJzZW5kbXNnIgl9LCAvKiAyNDEgKi8KKwl7IC0xLAlUTiwJc3lzX3NlbmR0bywJCSJzZW5kdG8iCX0sIC8qIDI0MiAqLworCXsgLTEsCVROLAlzeXNfZ2V0cGVlcm5hbWUsCSJnZXRwZWVybmFtZSIJfSwgLyogMjQzICovCisJeyAtMSwJVE4sCXN5c19nZXRzb2NrbmFtZSwJImdldHNvY2tuYW1lIgl9LCAvKiAyNDQgKi8KKwl7IC0xLAlUTiwJc3lzX2dldHNvY2tvcHQsCQkiZ2V0c29ja29wdCIJfSwgLyogMjQ1ICovCisJeyAtMSwJVE4sCXN5c19zZXRzb2Nrb3B0LAkJInNldHNvY2tvcHQiCX0sIC8qIDI0NiAqLworCXsgLTEsCVROLAlzeXNfc29ja2NvbmZpZywJCSJzb2NrY29uZmlnIgl9LCAvKiAyNDcgKi8KKwl7IC0xLAkwLAlzeXNfbnRwX2dldHRpbWUsCSJudHBfZ2V0dGltZSIJfSwgLyogMjQ4ICovCisJeyAtMSwJMCwJc3lzX250cF9hZGp0aW1lLAkibnRwX2FkanRpbWUiCX0sIC8qIDI0OSAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJsd3BfbXV0ZXhfdW5sb2NrIgl9LCAvKiAyNTAgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkibHdwX211dGV4X3RyeWxvY2siCX0sIC8qIDI1MSAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJsd3BfbXV0ZXhfaW5pdCIJfSwgLyogMjUyICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJImNsYWRtIgkJfSwgLyogMjUzICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJImx3cF9zaWdfdGltZWR3YWl0Igl9LCAvKiAyNTQgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkidW1vdW50MiIJfSwgLyogMjU1ICovCisjZW5kaWYgLyogIVVOSVhXQVJFICovCisjZW5kaWYgLyogIU1JUFMgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI1NiIJfSwgLyogMjU2ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNTciCX0sIC8qIDI1NyAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMjU4Igl9LCAvKiAyNTggKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI1OSIJfSwgLyogMjU5ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNjAiCX0sIC8qIDI2MCAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMjYxIgl9LCAvKiAyNjEgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI2MiIJfSwgLyogMjYyICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNjMiCX0sIC8qIDI2MyAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMjY0Igl9LCAvKiAyNjQgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI2NSIJfSwgLyogMjY1ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNjYiCX0sIC8qIDI2NiAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMjY3Igl9LCAvKiAyNjcgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI2OCIJfSwgLyogMjY4ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNjkiCX0sIC8qIDI2OSAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMjcwIgl9LCAvKiAyNzAgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI3MSIJfSwgLyogMjcxICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNzIiCX0sIC8qIDI3MiAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMjczIgl9LCAvKiAyNzMgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI3NCIJfSwgLyogMjc0ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNzUiCX0sIC8qIDI3NSAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMjc2Igl9LCAvKiAyNzYgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI3NyIJfSwgLyogMjc3ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yNzgiCX0sIC8qIDI3OCAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMjc5Igl9LCAvKiAyNzkgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI4MCIJfSwgLyogMjgwICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yODEiCX0sIC8qIDI4MSAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMjgyIgl9LCAvKiAyODIgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI4MyIJfSwgLyogMjgzICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yODQiCX0sIC8qIDI4NCAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMjg1Igl9LCAvKiAyODUgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI4NiIJfSwgLyogMjg2ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yODciCX0sIC8qIDI4NyAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMjg4Igl9LCAvKiAyODggKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI4OSIJfSwgLyogMjg5ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yOTAiCX0sIC8qIDI5MCAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMjkxIgl9LCAvKiAyOTEgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI5MiIJfSwgLyogMjkyICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yOTMiCX0sIC8qIDI5MyAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMjk0Igl9LCAvKiAyOTQgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI5NSIJfSwgLyogMjk1ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yOTYiCX0sIC8qIDI5NiAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMjk3Igl9LCAvKiAyOTcgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzI5OCIJfSwgLyogMjk4ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18yOTkiCX0sIC8qIDI5OSAqLworCisJeyAtMSwJMCwJc3lzX2dldHBncnAsCQkiZ2V0cGdycCIJfSwgLyogMzAwICovCisJeyAtMSwJMCwJc3lzX3NldHBncnAsCQkic2V0cGdycCIJfSwgLyogMzAxICovCisJeyAtMSwJMCwJc3lzX2dldHNpZCwJCSJnZXRzaWQiCX0sIC8qIDMwMiAqLworCXsgLTEsCTAsCXN5c19zZXRzaWQsCQkic2V0c2lkIgl9LCAvKiAzMDMgKi8KKwl7IC0xLAkwLAlzeXNfZ2V0cGdpZCwJCSJnZXRwZ2lkIgl9LCAvKiAzMDQgKi8KKwl7IC0xLAkwLAlzeXNfc2V0cGdpZCwJCSJzZXRwZ2lkIgl9LCAvKiAzMDUgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMwNiIJfSwgLyogMzA2ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMDciCX0sIC8qIDMwNyAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMzA4Igl9LCAvKiAzMDggKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMwOSIJfSwgLyogMzA5ICovCisKKwl7IC0xLAlUUywJc3lzX3NpZ25hbCwJCSJzaWduYWwiCX0sIC8qIDMxMCAqLworCXsgLTEsCVRTLAlzeXNfc2lnc2V0LAkJInNpZ3NldCIJfSwgLyogMzExICovCisJeyAtMSwJVFMsCXN5c19zaWdob2xkLAkJInNpZ2hvbGQiCX0sIC8qIDMxMiAqLworCXsgLTEsCVRTLAlzeXNfc2lncmVsc2UsCQkic2lncmVsc2UiCX0sIC8qIDMxMyAqLworCXsgLTEsCVRTLAlzeXNfc2lnaWdub3JlLAkJInNpZ2lnbm9yZSIJfSwgLyogMzE0ICovCisJeyAtMSwJVFMsCXN5c19zaWdwYXVzZSwJCSJzaWdwYXVzZSIJfSwgLyogMzE1ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMTYiCX0sIC8qIDMxNiAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMzE3Igl9LCAvKiAzMTcgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMxOCIJfSwgLyogMzE4ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMTkiCX0sIC8qIDMxOSAqLworCisJeyAtMSwJVEksCXN5c19tc2dnZXQsCQkibXNnZ2V0Igl9LCAvKiAzMjAgKi8KKwl7IC0xLAlUSSwJc3lzX21zZ2N0bCwJCSJtc2djdGwiCX0sIC8qIDMyMSAqLworCXsgLTEsCVRJLAlzeXNfbXNncmN2LAkJIm1zZ3JjdiIJfSwgLyogMzIyICovCisJeyAtMSwJVEksCXN5c19tc2dzbmQsCQkibXNnc25kIgl9LCAvKiAzMjMgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyNCIJfSwgLyogMzI0ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMjUiCX0sIC8qIDMyNSAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMzI2Igl9LCAvKiAzMjYgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMyNyIJfSwgLyogMzI3ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMjgiCX0sIC8qIDMyOCAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMzI5Igl9LCAvKiAzMjkgKi8KKworCXsgLTEsCVRJLAlzeXNfc2htYXQsCQkic2htYXQiCQl9LCAvKiAzMzAgKi8KKwl7IC0xLAlUSSwJc3lzX3NobWN0bCwJCSJzaG1jdGwiCX0sIC8qIDMzMSAqLworCXsgLTEsCVRJLAlzeXNfc2htZHQsCQkic2htZHQiCQl9LCAvKiAzMzIgKi8KKwl7IC0xLAlUSSwJc3lzX3NobWdldCwJCSJzaG1nZXQiCX0sIC8qIDMzMyAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMzM0Igl9LCAvKiAzMzQgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMzNSIJfSwgLyogMzM1ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMzYiCX0sIC8qIDMzNiAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMzM3Igl9LCAvKiAzMzcgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzMzOCIJfSwgLyogMzM4ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zMzkiCX0sIC8qIDMzOSAqLworCisJeyAtMSwJVEksCXN5c19zZW1jdGwsCQkic2VtY3RsIgl9LCAvKiAzNDAgKi8KKwl7IC0xLAlUSSwJc3lzX3NlbWdldCwJCSJzZW1nZXQiCX0sIC8qIDM0MSAqLworCXsgLTEsCVRJLAlzeXNfc2Vtb3AsCQkic2Vtb3AiCQl9LCAvKiAzNDIgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0MyIJfSwgLyogMzQzICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNDQiCX0sIC8qIDM0NCAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMzQ1Igl9LCAvKiAzNDUgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0NiIJfSwgLyogMzQ2ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNDciCX0sIC8qIDM0NyAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMzQ4Igl9LCAvKiAzNDggKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM0OSIJfSwgLyogMzQ5ICovCisKKwl7IC0xLAkwLAlzeXNfb2xkdW5hbWUsCQkib2xkdW5hbWUiCX0sIC8qIDM1MCAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJ1dHNzeXMxIgl9LCAvKiAzNTEgKi8KKwl7IC0xLAkwLAlzeXNfdXN0YXQsCQkidXN0YXQiCQl9LCAvKiAzNTIgKi8KKwl7IC0xLAkwLAlzeXNfZnVzZXJzLAkJImZ1c2VycyIJfSwgLyogMzUzICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNTQiCX0sIC8qIDM1NCAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMzU1Igl9LCAvKiAzNTUgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1NiIJfSwgLyogMzU2ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNTciCX0sIC8qIDM1NyAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMzU4Igl9LCAvKiAzNTggKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM1OSIJfSwgLyogMzU5ICovCisKKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkic3lzZnMwIgl9LCAvKiAzNjAgKi8KKwl7IC0xLAkwLAlzeXNfc3lzZnMxLAkJInN5c2ZzMSIJfSwgLyogMzYxICovCisJeyAtMSwJMCwJc3lzX3N5c2ZzMiwJCSJzeXNmczIiCX0sIC8qIDM2MiAqLworCXsgLTEsCTAsCXN5c19zeXNmczMsCQkic3lzZnMzIgl9LCAvKiAzNjMgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2NCIJfSwgLyogMzY0ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNjUiCX0sIC8qIDM2NSAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMzY2Igl9LCAvKiAzNjYgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM2NyIJfSwgLyogMzY3ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNjgiCX0sIC8qIDM2OCAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMzY5Igl9LCAvKiAzNjkgKi8KKworCXsgLTEsCTAsCXByaW50YXJncywJCSJzcGNhbGwwIgl9LCAvKiAzNzAgKi8KKwl7IC0xLAlUUywJc3lzX3NpZ3BlbmRpbmcsCQkic2lncGVuZGluZyIJfSwgLyogMzcxICovCisJeyAtMSwJVFMsCXN5c19zaWdmaWxsc2V0LAkJInNpZ2ZpbGxzZXQiCX0sIC8qIDM3MiAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMzczIgl9LCAvKiAzNzMgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3NCIJfSwgLyogMzc0ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNzUiCX0sIC8qIDM3NSAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMzc2Igl9LCAvKiAzNzYgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM3NyIJfSwgLyogMzc3ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zNzgiCX0sIC8qIDM3OCAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMzc5Igl9LCAvKiAzNzkgKi8KKworCXsgLTEsCTAsCXN5c19nZXRjb250ZXh0LAkJImdldGNvbnRleHQiCX0sIC8qIDM4MCAqLworCXsgLTEsCTAsCXN5c19zZXRjb250ZXh0LAkJInNldGNvbnRleHQiCX0sIC8qIDM4MSAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMzgyIgl9LCAvKiAzODIgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4MyIJfSwgLyogMzgzICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zODQiCX0sIC8qIDM4NCAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMzg1Igl9LCAvKiAzODUgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4NiIJfSwgLyogMzg2ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zODciCX0sIC8qIDM4NyAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMzg4Igl9LCAvKiAzODggKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM4OSIJfSwgLyogMzg5ICovCisKKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiZG9vcl9jcmVhdGUiCX0sIC8qIDM5MCAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJkb29yX3Jldm9rZSIJfSwgLyogMzkxICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJImRvb3JfaW5mbyIJfSwgLyogMzkyICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJImRvb3JfY2FsbCIJfSwgLyogMzkzICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJImRvb3JfcmV0dXJuIgl9LCAvKiAzOTQgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiZG9vcl9jcmVkIgl9LCAvKiAzOTUgKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5NiIJfSwgLyogMzk2ICovCisJeyAtMSwJMCwJcHJpbnRhcmdzLAkJIlNZU18zOTciCX0sIC8qIDM5NyAqLworCXsgLTEsCTAsCXByaW50YXJncywJCSJTWVNfMzk4Igl9LCAvKiAzOTggKi8KKwl7IC0xLAkwLAlwcmludGFyZ3MsCQkiU1lTXzM5OSIJfSwgLyogMzk5ICovCisKKyNpZmRlZiBIQVZFX1NZU19BSU9fSAorCXsgLTEsCVRGLAlzeXNfYWlvcmVhZCwJCSJhaW9yZWFkIgl9LCAvKiA0MDAgKi8KKwl7IC0xLAlURiwJc3lzX2Fpb3dyaXRlLAkJImFpb3dyaXRlIgl9LCAvKiA0MDEgKi8KKwl7IC0xLAlURiwJc3lzX2Fpb3dhaXQsCQkiYWlvd2FpdCIJfSwgLyogNDAyICovCisJeyAtMSwJVEYsCXN5c19haW9jYW5jZWwsCQkiYWlvY2FuY2VsIgl9LCAvKiA0MDMgKi8KKwl7IC0xLAlURiwJc3lzX2Fpb25vdGlmeSwJCSJhaW9ub3RpZnkiCX0sIC8qIDQwNCAqLworCXsgLTEsCVRGLAlzeXNfYWlvaW5pdCwJCSJhaW9pbml0Igl9LCAvKiA0MDUgKi8KKwl7IC0xLAlURiwJc3lzX2Fpb3N0YXJ0LAkJImFpb3N0YXJ0Igl9LCAvKiA0MDYgKi8KKwl7IC0xLAlURiwJc3lzX2Fpb2xpbywJCSJhaW9saW8iCX0sIC8qIDQwNyAqLworCXsgLTEsCVRGLAlzeXNfYWlvc3VzcGVuZCwJCSJhaW9zdXNwZW5kIgl9LCAvKiA0MDggKi8KKwl7IC0xLAlURiwJc3lzX2Fpb2Vycm9yLAkJImFpb2Vycm9yIgl9LCAvKiA0MDkgKi8KKwl7IC0xLAlURiwJc3lzX2Fpb2xpb3dhaXQsCQkiYWlvbGlvd2FpdCIJfSwgLyogNDEwICovCisJeyAtMSwJVEYsCXN5c19haW9hcmVhZCwJCSJhaW9hcmVhZCIJfSwgLyogNDExICovCisJeyAtMSwJVEYsCXN5c19haW9hd3JpdGUsCQkiYWlvYXdyaXRlIgl9LCAvKiA0MTIgKi8KKwl7IC0xLAlURiwJc3lzX2Fpb2xpbzY0LAkJImFpb2xpbzY0Igl9LCAvKiA0MTMgKi8KKwl7IC0xLAlURiwJc3lzX2Fpb3N1c3BlbmQ2NCwJImFpb3N1c3BlbmQ2NCIJfSwgLyogNDE0ICovCisJeyAtMSwJVEYsCXN5c19haW9lcnJvcjY0LAkJImFpb2Vycm9yNjQiCX0sIC8qIDQxNSAqLworCXsgLTEsCVRGLAlzeXNfYWlvbGlvd2FpdDY0LAkiYWlvbGlvd2FpdDY0Igl9LCAvKiA0MTYgKi8KKwl7IC0xLAlURiwJc3lzX2Fpb2FyZWFkNjQsCQkiYWlvYXJlYWQ2NCIJfSwgLyogNDE3ICovCisJeyAtMSwJVEYsCXN5c19haW9hd3JpdGU2NCwJImFpb2F3cml0ZTY0Igl9LCAvKiA0MTggKi8KKwl7IC0xLAlURiwJc3lzX2Fpb2NhbmNlbDY0LAkiYWlvY2FuY2VsNjQiCX0sIC8qIDQxOSAqLworCXsgLTEsCVRGLAlzeXNfYWlvZnN5bmMsCQkiYWlvZnN5bmMiCX0sIC8qIDQyMCAqLworI2VuZGlmCmRpZmYgLS1naXQgYS9zdHJhY2UtNC41LjIwL3N5c2NhbGwuYyBiL3N0cmFjZS00LjUuMjAvc3lzY2FsbC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI3YmI3MzMKLS0tIC9kZXYvbnVsbAorKysgYi9zdHJhY2UtNC41LjIwL3N5c2NhbGwuYwpAQCAtMCwwICsxLDI3OTkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDE5OTEsIDE5OTIgUGF1bCBLcmFuZW5idXJnIDxwa0Bjcy5mZXcuZXVyLm5sPgorICogQ29weXJpZ2h0IChjKSAxOTkzIEJyYW5rbyBMYW5rZXN0ZXIgPGJyYW5rb0BoYWNrdGljLm5sPgorICogQ29weXJpZ2h0IChjKSAxOTkzLCAxOTk0LCAxOTk1LCAxOTk2IFJpY2sgU2xhZGtleSA8anJzQHdvcmxkLnN0ZC5jb20+CisgKiBDb3B5cmlnaHQgKGMpIDE5OTYtMTk5OSBXaWNoZXJ0IEFra2VybWFuIDx3aWNoZXJ0QGNpc3Ryb24ubmw+CisgKiBDb3B5cmlnaHQgKGMpIDE5OTkgSUJNIERldXRzY2hsYW5kIEVudHdpY2tsdW5nIEdtYkgsIElCTSBDb3Jwb3JhdGlvbgorICogICAgICAgICAgICAgICAgICAgICBMaW51eCBmb3IgczM5MCBwb3J0IGJ5IEQuSi4gQmFycm93CisgKiAgICAgICAgICAgICAgICAgICAgPGJhcnJvd19kakBtYWlsLnlhaG9vLmNvbSxkamJhcnJvd0BkZS5pYm0uY29tPgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIFRoZSBuYW1lIG9mIHRoZSBhdXRob3IgbWF5IG5vdCBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cworICogICAgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQVVUSE9SIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1MgT1IKKyAqIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMKKyAqIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuCisgKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCisgKiBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQKKyAqIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICoKKyAqCSRJZCQKKyAqLworCisjaW5jbHVkZSAiZGVmcy5oIgorCisjaW5jbHVkZSA8c2lnbmFsLmg+CisjaW5jbHVkZSA8dGltZS5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8c3lzL3VzZXIuaD4KKyNpbmNsdWRlIDxzeXMvc3lzY2FsbC5oPgorI2luY2x1ZGUgPHN5cy9wYXJhbS5oPgorCisjaWZkZWYgSEFWRV9TWVNfUkVHX0gKKyNpbmNsdWRlIDxzeXMvcmVnLmg+CisjaWZuZGVmIFBUUkFDRV9QRUVLVVNSCisjIGRlZmluZSBQVFJBQ0VfUEVFS1VTUiBQVFJBQ0VfUEVFS1VTRVIKKyNlbmRpZgorI2VsaWYgZGVmaW5lZChIQVZFX0xJTlVYX1BUUkFDRV9IKQorI3VuZGVmIFBUUkFDRV9TWVNDQUxMCisjIGlmZGVmIEhBVkVfU1RSVUNUX0lBNjRfRlBSRUcKKyMgIGRlZmluZSBpYTY0X2ZwcmVnIFhYWF9pYTY0X2ZwcmVnCisjIGVuZGlmCisjIGlmZGVmIEhBVkVfU1RSVUNUX1BUX0FMTF9VU0VSX1JFR1MKKyMgIGRlZmluZSBwdF9hbGxfdXNlcl9yZWdzIFhYWF9wdF9hbGxfdXNlcl9yZWdzCisjIGVuZGlmCisjaW5jbHVkZSA8bGludXgvcHRyYWNlLmg+CisjIHVuZGVmIGlhNjRfZnByZWcKKyMgdW5kZWYgcHRfYWxsX3VzZXJfcmVncworI2VuZGlmCisKKyNpZiBkZWZpbmVkIChMSU5VWCkgJiYgZGVmaW5lZCAoU1BBUkM2NCkKKyMgdW5kZWYgUFRSQUNFX0dFVFJFR1MKKyMgZGVmaW5lIFBUUkFDRV9HRVRSRUdTIFBUUkFDRV9HRVRSRUdTNjQKKyMgdW5kZWYgUFRSQUNFX1NFVFJFR1MKKyMgZGVmaW5lIFBUUkFDRV9TRVRSRUdTIFBUUkFDRV9TRVRSRUdTNjQKKyNlbmRpZiAvKiBMSU5VWCAmJiBTUEFSQzY0ICovCisKKyNpZiBkZWZpbmVkKExJTlVYKSAmJiBkZWZpbmVkKElBNjQpCisjIGluY2x1ZGUgPGFzbS9wdHJhY2Vfb2Zmc2V0cy5oPgorIyBpbmNsdWRlIDxhc20vcnNlLmg+CisjZW5kaWYKKworI2RlZmluZSBOUl9TWVNDQUxMX0JBU0UgMAorI2lmZGVmIExJTlVYCisjaWZuZGVmIEVSRVNUQVJUU1lTCisjZGVmaW5lIEVSRVNUQVJUU1lTCTUxMgorI2VuZGlmCisjaWZuZGVmIEVSRVNUQVJUTk9JTlRSCisjZGVmaW5lIEVSRVNUQVJUTk9JTlRSCTUxMworI2VuZGlmCisjaWZuZGVmIEVSRVNUQVJUTk9IQU5ECisjZGVmaW5lIEVSRVNUQVJUTk9IQU5ECTUxNAkvKiByZXN0YXJ0IGlmIG5vIGhhbmRsZXIuLiAqLworI2VuZGlmCisjaWZuZGVmIEVOT0lPQ1RMQ01ECisjZGVmaW5lIEVOT0lPQ1RMQ01ECTUxNQkvKiBObyBpb2N0bCBjb21tYW5kICovCisjZW5kaWYKKyNpZm5kZWYgRVJFU1RBUlRfUkVTVEFSVEJMT0NLCisjZGVmaW5lIEVSRVNUQVJUX1JFU1RBUlRCTE9DSyA1MTYJLyogcmVzdGFydCBieSBjYWxsaW5nIHN5c19yZXN0YXJ0X3N5c2NhbGwgKi8KKyNlbmRpZgorI2lmbmRlZiBOU0lHCisjZGVmaW5lIE5TSUcgMzIKKyNlbmRpZgorI2lmZGVmIEFSTQorI3VuZGVmIE5TSUcKKyNkZWZpbmUgTlNJRyAzMgorI3VuZGVmIE5SX1NZU0NBTExfQkFTRQorI2RlZmluZSBOUl9TWVNDQUxMX0JBU0UgX19OUl9TWVNDQUxMX0JBU0UKKyNlbmRpZgorI2VuZGlmIC8qIExJTlVYICovCisKKyNpbmNsdWRlICJzeXNjYWxsLmgiCisKKy8qIERlZmluZSB0aGVzZSBzaG9ydGhhbmQgbm90YXRpb25zIHRvIHNpbXBsaWZ5IHRoZSBzeXNjYWxsZW50IGZpbGVzLiAqLworI2RlZmluZSBURCBUUkFDRV9ERVNDCisjZGVmaW5lIFRGIFRSQUNFX0ZJTEUKKyNkZWZpbmUgVEkgVFJBQ0VfSVBDCisjZGVmaW5lIFROIFRSQUNFX05FVFdPUksKKyNkZWZpbmUgVFAgVFJBQ0VfUFJPQ0VTUworI2RlZmluZSBUUyBUUkFDRV9TSUdOQUwKKworc3RhdGljIGNvbnN0IHN0cnVjdCBzeXNlbnQgc3lzZW50MFtdID0geworI2luY2x1ZGUgInN5c2NhbGxlbnQuaCIKK307CitzdGF0aWMgY29uc3QgaW50IG5zeXNjYWxsczAgPSBzaXplb2Ygc3lzZW50MCAvIHNpemVvZiBzeXNlbnQwWzBdOworaW50IHF1YWxfZmxhZ3MwW01BWF9RVUFMU107CisKKyNpZiBTVVBQT1JURURfUEVSU09OQUxJVElFUyA+PSAyCitzdGF0aWMgY29uc3Qgc3RydWN0IHN5c2VudCBzeXNlbnQxW10gPSB7CisjaW5jbHVkZSAic3lzY2FsbGVudDEuaCIKK307CitzdGF0aWMgY29uc3QgaW50IG5zeXNjYWxsczEgPSBzaXplb2Ygc3lzZW50MSAvIHNpemVvZiBzeXNlbnQxWzBdOworaW50IHF1YWxfZmxhZ3MxW01BWF9RVUFMU107CisjZW5kaWYgLyogU1VQUE9SVEVEX1BFUlNPTkFMSVRJRVMgPj0gMiAqLworCisjaWYgU1VQUE9SVEVEX1BFUlNPTkFMSVRJRVMgPj0gMworc3RhdGljIGNvbnN0IHN0cnVjdCBzeXNlbnQgc3lzZW50MltdID0geworI2luY2x1ZGUgInN5c2NhbGxlbnQyLmgiCit9Oworc3RhdGljIGNvbnN0IGludCBuc3lzY2FsbHMyID0gc2l6ZW9mIHN5c2VudDIgLyBzaXplb2Ygc3lzZW50MlswXTsKK2ludCBxdWFsX2ZsYWdzMltNQVhfUVVBTFNdOworI2VuZGlmIC8qIFNVUFBPUlRFRF9QRVJTT05BTElUSUVTID49IDMgKi8KKworY29uc3Qgc3RydWN0IHN5c2VudCAqc3lzZW50OworaW50ICpxdWFsX2ZsYWdzOworaW50IG5zeXNjYWxsczsKKworLyogTm93IHVuZGVmIHRoZW0gc2luY2Ugc2hvcnQgZGVmaW5lcyBjYXVzZSB3aWNrZWQgbmFtZXNwYWNlIHBvbGx1dGlvbi4gKi8KKyN1bmRlZiBURAorI3VuZGVmIFRGCisjdW5kZWYgVEkKKyN1bmRlZiBUTgorI3VuZGVmIFRQCisjdW5kZWYgVFMKKworc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IGVycm5vZW50MFtdID0geworI2luY2x1ZGUgImVycm5vZW50LmgiCit9Oworc3RhdGljIGNvbnN0IGludCBuZXJybm9zMCA9IHNpemVvZiBlcnJub2VudDAgLyBzaXplb2YgZXJybm9lbnQwWzBdOworCisjaWYgU1VQUE9SVEVEX1BFUlNPTkFMSVRJRVMgPj0gMgorc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IGVycm5vZW50MVtdID0geworI2luY2x1ZGUgImVycm5vZW50MS5oIgorfTsKK3N0YXRpYyBjb25zdCBpbnQgbmVycm5vczEgPSBzaXplb2YgZXJybm9lbnQxIC8gc2l6ZW9mIGVycm5vZW50MVswXTsKKyNlbmRpZiAvKiBTVVBQT1JURURfUEVSU09OQUxJVElFUyA+PSAyICovCisKKyNpZiBTVVBQT1JURURfUEVSU09OQUxJVElFUyA+PSAzCitzdGF0aWMgY29uc3QgY2hhciAqY29uc3QgZXJybm9lbnQyW10gPSB7CisjaW5jbHVkZSAiZXJybm9lbnQyLmgiCit9Oworc3RhdGljIGNvbnN0IGludCBuZXJybm9zMiA9IHNpemVvZiBlcnJub2VudDIgLyBzaXplb2YgZXJybm9lbnQyWzBdOworI2VuZGlmIC8qIFNVUFBPUlRFRF9QRVJTT05BTElUSUVTID49IDMgKi8KKworY29uc3QgY2hhciAqY29uc3QgKmVycm5vZW50OworaW50IG5lcnJub3M7CisKK2ludCBjdXJyZW50X3BlcnNvbmFsaXR5OworCisjaWZuZGVmIFBFUlNPTkFMSVRZMF9XT1JEU0laRQorIyBkZWZpbmUgUEVSU09OQUxJVFkwX1dPUkRTSVpFIHNpemVvZihsb25nKQorI2VuZGlmCitjb25zdCBpbnQgcGVyc29uYWxpdHlfd29yZHNpemVbU1VQUE9SVEVEX1BFUlNPTkFMSVRJRVNdID0geworCVBFUlNPTkFMSVRZMF9XT1JEU0laRSwKKyNpZiBTVVBQT1JURURfUEVSU09OQUxJVElFUyA+IDEKKwlQRVJTT05BTElUWTFfV09SRFNJWkUsCisjZW5kaWYKKyNpZiBTVVBQT1JURURfUEVSU09OQUxJVElFUyA+IDIKKwlQRVJTT05BTElUWTJfV09SRFNJWkUsCisjZW5kaWYKK307OworCitpbnQKK3NldF9wZXJzb25hbGl0eShpbnQgcGVyc29uYWxpdHkpCit7CisJc3dpdGNoIChwZXJzb25hbGl0eSkgeworCWNhc2UgMDoKKwkJZXJybm9lbnQgPSBlcnJub2VudDA7CisJCW5lcnJub3MgPSBuZXJybm9zMDsKKwkJc3lzZW50ID0gc3lzZW50MDsKKwkJbnN5c2NhbGxzID0gbnN5c2NhbGxzMDsKKwkJaW9jdGxlbnQgPSBpb2N0bGVudDA7CisJCW5pb2N0bGVudHMgPSBuaW9jdGxlbnRzMDsKKwkJc2lnbmFsZW50ID0gc2lnbmFsZW50MDsKKwkJbnNpZ25hbHMgPSBuc2lnbmFsczA7CisJCXF1YWxfZmxhZ3MgPSBxdWFsX2ZsYWdzMDsKKwkJYnJlYWs7CisKKyNpZiBTVVBQT1JURURfUEVSU09OQUxJVElFUyA+PSAyCisJY2FzZSAxOgorCQllcnJub2VudCA9IGVycm5vZW50MTsKKwkJbmVycm5vcyA9IG5lcnJub3MxOworCQlzeXNlbnQgPSBzeXNlbnQxOworCQluc3lzY2FsbHMgPSBuc3lzY2FsbHMxOworCQlpb2N0bGVudCA9IGlvY3RsZW50MTsKKwkJbmlvY3RsZW50cyA9IG5pb2N0bGVudHMxOworCQlzaWduYWxlbnQgPSBzaWduYWxlbnQxOworCQluc2lnbmFscyA9IG5zaWduYWxzMTsKKwkJcXVhbF9mbGFncyA9IHF1YWxfZmxhZ3MxOworCQlicmVhazsKKyNlbmRpZiAvKiBTVVBQT1JURURfUEVSU09OQUxJVElFUyA+PSAyICovCisKKyNpZiBTVVBQT1JURURfUEVSU09OQUxJVElFUyA+PSAzCisJY2FzZSAyOgorCQllcnJub2VudCA9IGVycm5vZW50MjsKKwkJbmVycm5vcyA9IG5lcnJub3MyOworCQlzeXNlbnQgPSBzeXNlbnQyOworCQluc3lzY2FsbHMgPSBuc3lzY2FsbHMyOworCQlpb2N0bGVudCA9IGlvY3RsZW50MjsKKwkJbmlvY3RsZW50cyA9IG5pb2N0bGVudHMyOworCQlzaWduYWxlbnQgPSBzaWduYWxlbnQyOworCQluc2lnbmFscyA9IG5zaWduYWxzMjsKKwkJcXVhbF9mbGFncyA9IHF1YWxfZmxhZ3MyOworCQlicmVhazsKKyNlbmRpZiAvKiBTVVBQT1JURURfUEVSU09OQUxJVElFUyA+PSAzICovCisKKwlkZWZhdWx0OgorCQlyZXR1cm4gLTE7CisJfQorCisJY3VycmVudF9wZXJzb25hbGl0eSA9IHBlcnNvbmFsaXR5OworCXJldHVybiAwOworfQorCisKK3N0YXRpYyBpbnQgcXVhbF9zeXNjYWxsKCksIHF1YWxfc2lnbmFsKCksIHF1YWxfZmF1bHQoKSwgcXVhbF9kZXNjKCk7CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcXVhbF9vcHRpb25zIHsKKwlpbnQgYml0ZmxhZzsKKwljaGFyICpvcHRpb25fbmFtZTsKKwlpbnQgKCpxdWFsaWZ5KSgpOworCWNoYXIgKmFyZ3VtZW50X25hbWU7Cit9IHF1YWxfb3B0aW9uc1tdID0geworCXsgUVVBTF9UUkFDRSwJInRyYWNlIiwJcXVhbF9zeXNjYWxsLAkic3lzdGVtIGNhbGwiCX0sCisJeyBRVUFMX1RSQUNFLAkidCIsCQlxdWFsX3N5c2NhbGwsCSJzeXN0ZW0gY2FsbCIJfSwKKwl7IFFVQUxfQUJCUkVWLAkiYWJicmV2IiwJcXVhbF9zeXNjYWxsLAkic3lzdGVtIGNhbGwiCX0sCisJeyBRVUFMX0FCQlJFViwJImEiLAkJcXVhbF9zeXNjYWxsLAkic3lzdGVtIGNhbGwiCX0sCisJeyBRVUFMX1ZFUkJPU0UsCSJ2ZXJib3NlIiwJcXVhbF9zeXNjYWxsLAkic3lzdGVtIGNhbGwiCX0sCisJeyBRVUFMX1ZFUkJPU0UsCSJ2IiwJCXF1YWxfc3lzY2FsbCwJInN5c3RlbSBjYWxsIgl9LAorCXsgUVVBTF9SQVcsCSJyYXciLAkJcXVhbF9zeXNjYWxsLAkic3lzdGVtIGNhbGwiCX0sCisJeyBRVUFMX1JBVywJIngiLAkJcXVhbF9zeXNjYWxsLAkic3lzdGVtIGNhbGwiCX0sCisJeyBRVUFMX1NJR05BTCwJInNpZ25hbCIsCXF1YWxfc2lnbmFsLAkic2lnbmFsIgl9LAorCXsgUVVBTF9TSUdOQUwsCSJzaWduYWxzIiwJcXVhbF9zaWduYWwsCSJzaWduYWwiCX0sCisJeyBRVUFMX1NJR05BTCwJInMiLAkJcXVhbF9zaWduYWwsCSJzaWduYWwiCX0sCisJeyBRVUFMX0ZBVUxULAkiZmF1bHQiLAlxdWFsX2ZhdWx0LAkiZmF1bHQiCQl9LAorCXsgUVVBTF9GQVVMVCwJImZhdWx0cyIsCXF1YWxfZmF1bHQsCSJmYXVsdCIJCX0sCisJeyBRVUFMX0ZBVUxULAkibSIsCQlxdWFsX2ZhdWx0LAkiZmF1bHQiCQl9LAorCXsgUVVBTF9SRUFELAkicmVhZCIsCQlxdWFsX2Rlc2MsCSJkZXNjcmlwdG9yIgl9LAorCXsgUVVBTF9SRUFELAkicmVhZHMiLAlxdWFsX2Rlc2MsCSJkZXNjcmlwdG9yIgl9LAorCXsgUVVBTF9SRUFELAkiciIsCQlxdWFsX2Rlc2MsCSJkZXNjcmlwdG9yIgl9LAorCXsgUVVBTF9XUklURSwJIndyaXRlIiwJcXVhbF9kZXNjLAkiZGVzY3JpcHRvciIJfSwKKwl7IFFVQUxfV1JJVEUsCSJ3cml0ZXMiLAlxdWFsX2Rlc2MsCSJkZXNjcmlwdG9yIgl9LAorCXsgUVVBTF9XUklURSwJInciLAkJcXVhbF9kZXNjLAkiZGVzY3JpcHRvciIJfSwKKwl7IDAsCQlOVUxMLAkJTlVMTCwJCU5VTEwJCX0sCit9OworCitzdGF0aWMgdm9pZAorcXVhbGlmeV9vbmUobiwgb3B0LCBub3QsIHBlcnMpCisJaW50IG47CisJY29uc3Qgc3RydWN0IHF1YWxfb3B0aW9ucyAqb3B0OworCWludCBub3Q7CisJaW50IHBlcnM7Cit7CisJaWYgKHBlcnMgPT0gMCB8fCBwZXJzIDwgMCkgeworCQlpZiAobm90KQorCQkJcXVhbF9mbGFnczBbbl0gJj0gfm9wdC0+Yml0ZmxhZzsKKwkJZWxzZQorCQkJcXVhbF9mbGFnczBbbl0gfD0gb3B0LT5iaXRmbGFnOworCX0KKworI2lmIFNVUFBPUlRFRF9QRVJTT05BTElUSUVTID49IDIKKwlpZiAocGVycyA9PSAxIHx8IHBlcnMgPCAwKSB7CisJCWlmIChub3QpCisJCQlxdWFsX2ZsYWdzMVtuXSAmPSB+b3B0LT5iaXRmbGFnOworCQllbHNlCisJCQlxdWFsX2ZsYWdzMVtuXSB8PSBvcHQtPmJpdGZsYWc7CisJfQorI2VuZGlmIC8qIFNVUFBPUlRFRF9QRVJTT05BTElUSUVTID49IDIgKi8KKworI2lmIFNVUFBPUlRFRF9QRVJTT05BTElUSUVTID49IDMKKwlpZiAocGVycyA9PSAyIHx8IHBlcnMgPCAwKSB7CisJCWlmIChub3QpCisJCQlxdWFsX2ZsYWdzMltuXSAmPSB+b3B0LT5iaXRmbGFnOworCQllbHNlCisJCQlxdWFsX2ZsYWdzMltuXSB8PSBvcHQtPmJpdGZsYWc7CisJfQorI2VuZGlmIC8qIFNVUFBPUlRFRF9QRVJTT05BTElUSUVTID49IDMgKi8KK30KKworc3RhdGljIGludAorcXVhbF9zeXNjYWxsKHMsIG9wdCwgbm90KQorCWNoYXIgKnM7CisJY29uc3Qgc3RydWN0IHF1YWxfb3B0aW9ucyAqb3B0OworCWludCBub3Q7Cit7CisJaW50IGk7CisJaW50IHJjID0gLTE7CisKKwlpZiAoaXNkaWdpdCgodW5zaWduZWQgY2hhcikqcykpIHsKKwkJaW50IGkgPSBhdG9pKHMpOworCQlpZiAoaSA8IDAgfHwgaSA+PSBNQVhfUVVBTFMpCisJCQlyZXR1cm4gLTE7CisJCXF1YWxpZnlfb25lKGksIG9wdCwgbm90LCAtMSk7CisJCXJldHVybiAwOworCX0KKwlmb3IgKGkgPSAwOyBpIDwgbnN5c2NhbGxzMDsgaSsrKQorCQlpZiAoc3RyY21wKHMsIHN5c2VudDBbaV0uc3lzX25hbWUpID09IDApIHsKKwkJCXF1YWxpZnlfb25lKGksIG9wdCwgbm90LCAwKTsKKwkJCXJjID0gMDsKKwkJfQorCisjaWYgU1VQUE9SVEVEX1BFUlNPTkFMSVRJRVMgPj0gMgorCWZvciAoaSA9IDA7IGkgPCBuc3lzY2FsbHMxOyBpKyspCisJCWlmIChzdHJjbXAocywgc3lzZW50MVtpXS5zeXNfbmFtZSkgPT0gMCkgeworCQkJcXVhbGlmeV9vbmUoaSwgb3B0LCBub3QsIDEpOworCQkJcmMgPSAwOworCQl9CisjZW5kaWYgLyogU1VQUE9SVEVEX1BFUlNPTkFMSVRJRVMgPj0gMiAqLworCisjaWYgU1VQUE9SVEVEX1BFUlNPTkFMSVRJRVMgPj0gMworCWZvciAoaSA9IDA7IGkgPCBuc3lzY2FsbHMyOyBpKyspCisJCWlmIChzdHJjbXAocywgc3lzZW50MltpXS5zeXNfbmFtZSkgPT0gMCkgeworCQkJcXVhbGlmeV9vbmUoaSwgb3B0LCBub3QsIDIpOworCQkJcmMgPSAwOworCQl9CisjZW5kaWYgLyogU1VQUE9SVEVEX1BFUlNPTkFMSVRJRVMgPj0gMyAqLworCisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50CitxdWFsX3NpZ25hbChzLCBvcHQsIG5vdCkKKwljaGFyICpzOworCWNvbnN0IHN0cnVjdCBxdWFsX29wdGlvbnMgKm9wdDsKKwlpbnQgbm90OworeworCWludCBpOworCWNoYXIgYnVmWzMyXTsKKworCWlmIChpc2RpZ2l0KCh1bnNpZ25lZCBjaGFyKSpzKSkgeworCQlpbnQgc2lnbm8gPSBhdG9pKHMpOworCQlpZiAoc2lnbm8gPCAwIHx8IHNpZ25vID49IE1BWF9RVUFMUykKKwkJCXJldHVybiAtMTsKKwkJcXVhbGlmeV9vbmUoc2lnbm8sIG9wdCwgbm90LCAtMSk7CisJCXJldHVybiAwOworCX0KKwlpZiAoc3RybGVuKHMpID49IHNpemVvZiBidWYpCisJCXJldHVybiAtMTsKKwlzdHJjcHkoYnVmLCBzKTsKKwlzID0gYnVmOworCWZvciAoaSA9IDA7IHNbaV07IGkrKykKKwkJc1tpXSA9IHRvdXBwZXIoKHVuc2lnbmVkIGNoYXIpKHNbaV0pKTsKKwlpZiAoc3RybmNtcChzLCAiU0lHIiwgMykgPT0gMCkKKwkJcyArPSAzOworCWZvciAoaSA9IDA7IGkgPD0gTlNJRzsgaSsrKQorCQlpZiAoc3RyY21wKHMsIHNpZ25hbWUoaSkgKyAzKSA9PSAwKSB7CisJCQlxdWFsaWZ5X29uZShpLCBvcHQsIG5vdCwgLTEpOworCQkJcmV0dXJuIDA7CisJCX0KKwlyZXR1cm4gLTE7Cit9CisKK3N0YXRpYyBpbnQKK3F1YWxfZmF1bHQocywgb3B0LCBub3QpCisJY2hhciAqczsKKwljb25zdCBzdHJ1Y3QgcXVhbF9vcHRpb25zICpvcHQ7CisJaW50IG5vdDsKK3sKKwlyZXR1cm4gLTE7Cit9CisKK3N0YXRpYyBpbnQKK3F1YWxfZGVzYyhzLCBvcHQsIG5vdCkKKwljaGFyICpzOworCWNvbnN0IHN0cnVjdCBxdWFsX29wdGlvbnMgKm9wdDsKKwlpbnQgbm90OworeworCWlmIChpc2RpZ2l0KCh1bnNpZ25lZCBjaGFyKSpzKSkgeworCQlpbnQgZGVzYyA9IGF0b2kocyk7CisJCWlmIChkZXNjIDwgMCB8fCBkZXNjID49IE1BWF9RVUFMUykKKwkJCXJldHVybiAtMTsKKwkJcXVhbGlmeV9vbmUoZGVzYywgb3B0LCBub3QsIC0xKTsKKwkJcmV0dXJuIDA7CisJfQorCXJldHVybiAtMTsKK30KKworc3RhdGljIGludAorbG9va3VwX2NsYXNzKHMpCisJY2hhciAqczsKK3sKKwlpZiAoc3RyY21wKHMsICJmaWxlIikgPT0gMCkKKwkJcmV0dXJuIFRSQUNFX0ZJTEU7CisJaWYgKHN0cmNtcChzLCAiaXBjIikgPT0gMCkKKwkJcmV0dXJuIFRSQUNFX0lQQzsKKwlpZiAoc3RyY21wKHMsICJuZXR3b3JrIikgPT0gMCkKKwkJcmV0dXJuIFRSQUNFX05FVFdPUks7CisJaWYgKHN0cmNtcChzLCAicHJvY2VzcyIpID09IDApCisJCXJldHVybiBUUkFDRV9QUk9DRVNTOworCWlmIChzdHJjbXAocywgInNpZ25hbCIpID09IDApCisJCXJldHVybiBUUkFDRV9TSUdOQUw7CisJaWYgKHN0cmNtcChzLCAiZGVzYyIpID09IDApCisJCXJldHVybiBUUkFDRV9ERVNDOworCXJldHVybiAtMTsKK30KKwordm9pZAorcXVhbGlmeShzKQorY2hhciAqczsKK3sKKwljb25zdCBzdHJ1Y3QgcXVhbF9vcHRpb25zICpvcHQ7CisJaW50IG5vdDsKKwljaGFyICpwOworCWludCBpLCBuOworCisJb3B0ID0gJnF1YWxfb3B0aW9uc1swXTsKKwlmb3IgKGkgPSAwOyAocCA9IHF1YWxfb3B0aW9uc1tpXS5vcHRpb25fbmFtZSk7IGkrKykgeworCQluID0gc3RybGVuKHApOworCQlpZiAoc3RybmNtcChzLCBwLCBuKSA9PSAwICYmIHNbbl0gPT0gJz0nKSB7CisJCQlvcHQgPSAmcXVhbF9vcHRpb25zW2ldOworCQkJcyArPSBuICsgMTsKKwkJCWJyZWFrOworCQl9CisJfQorCW5vdCA9IDA7CisJaWYgKCpzID09ICchJykgeworCQlub3QgPSAxOworCQlzKys7CisJfQorCWlmIChzdHJjbXAocywgIm5vbmUiKSA9PSAwKSB7CisJCW5vdCA9IDEgLSBub3Q7CisJCXMgPSAiYWxsIjsKKwl9CisJaWYgKHN0cmNtcChzLCAiYWxsIikgPT0gMCkgeworCQlmb3IgKGkgPSAwOyBpIDwgTUFYX1FVQUxTOyBpKyspIHsKKwkJCXF1YWxpZnlfb25lKGksIG9wdCwgbm90LCAtMSk7CisJCX0KKwkJcmV0dXJuOworCX0KKwlmb3IgKGkgPSAwOyBpIDwgTUFYX1FVQUxTOyBpKyspIHsKKwkJcXVhbGlmeV9vbmUoaSwgb3B0LCAhbm90LCAtMSk7CisJfQorCWZvciAocCA9IHN0cnRvayhzLCAiLCIpOyBwOyBwID0gc3RydG9rKE5VTEwsICIsIikpIHsKKwkJaWYgKG9wdC0+Yml0ZmxhZyA9PSBRVUFMX1RSQUNFICYmIChuID0gbG9va3VwX2NsYXNzKHApKSA+IDApIHsKKwkJCWZvciAoaSA9IDA7IGkgPCBuc3lzY2FsbHMwOyBpKyspCisJCQkJaWYgKHN5c2VudDBbaV0uc3lzX2ZsYWdzICYgbikKKwkJCQkJcXVhbGlmeV9vbmUoaSwgb3B0LCBub3QsIDApOworCisjaWYgU1VQUE9SVEVEX1BFUlNPTkFMSVRJRVMgPj0gMgorCQkJZm9yIChpID0gMDsgaSA8IG5zeXNjYWxsczE7IGkrKykKKwkJCQlpZiAoc3lzZW50MVtpXS5zeXNfZmxhZ3MgJiBuKQorCQkJCQlxdWFsaWZ5X29uZShpLCBvcHQsIG5vdCwgMSk7CisjZW5kaWYgLyogU1VQUE9SVEVEX1BFUlNPTkFMSVRJRVMgPj0gMiAqLworCisjaWYgU1VQUE9SVEVEX1BFUlNPTkFMSVRJRVMgPj0gMworCQkJZm9yIChpID0gMDsgaSA8IG5zeXNjYWxsczI7IGkrKykKKwkJCQlpZiAoc3lzZW50MltpXS5zeXNfZmxhZ3MgJiBuKQorCQkJCQlxdWFsaWZ5X29uZShpLCBvcHQsIG5vdCwgMik7CisjZW5kaWYgLyogU1VQUE9SVEVEX1BFUlNPTkFMSVRJRVMgPj0gMyAqLworCisJCQljb250aW51ZTsKKwkJfQorCQlpZiAob3B0LT5xdWFsaWZ5KHAsIG9wdCwgbm90KSkgeworCQkJZnByaW50ZihzdGRlcnIsICJzdHJhY2U6IGludmFsaWQgJXMgYCVzJ1xuIiwKKwkJCQlvcHQtPmFyZ3VtZW50X25hbWUsIHApOworCQkJZXhpdCgxKTsKKwkJfQorCX0KKwlyZXR1cm47Cit9CisKK3N0YXRpYyB2b2lkCitkdW1waW8odGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCWlmIChzeXNlcnJvcih0Y3ApKQorCQlyZXR1cm47CisJaWYgKHRjcC0+dV9hcmdbMF0gPCAwIHx8IHRjcC0+dV9hcmdbMF0gPj0gTUFYX1FVQUxTKQorCQlyZXR1cm47CisJc3dpdGNoIChrbm93bl9zY25vKHRjcCkpIHsKKwljYXNlIFNZU19yZWFkOgorI2lmZGVmIFNZU19wcmVhZDY0CisJY2FzZSBTWVNfcHJlYWQ2NDoKKyNlbmRpZgorI2lmIGRlZmluZWQgU1lTX3ByZWFkICYmIFNZU19wcmVhZDY0ICE9IFNZU19wcmVhZAorCWNhc2UgU1lTX3ByZWFkOgorI2VuZGlmCisjaWZkZWYgU1lTX3JlY3YKKwljYXNlIFNZU19yZWN2OgorI2VsaWYgZGVmaW5lZCBTWVNfc3ViX3JlY3YKKwljYXNlIFNZU19zdWJfcmVjdjoKKyNlbmRpZgorI2lmZGVmIFNZU19yZWN2ZnJvbQorCWNhc2UgU1lTX3JlY3Zmcm9tOgorI2VsaWYgZGVmaW5lZCBTWVNfc3ViX3JlY3Zmcm9tCisJY2FzZSBTWVNfc3ViX3JlY3Zmcm9tOgorI2VuZGlmCisJCWlmIChxdWFsX2ZsYWdzW3RjcC0+dV9hcmdbMF1dICYgUVVBTF9SRUFEKQorCQkJZHVtcHN0cih0Y3AsIHRjcC0+dV9hcmdbMV0sIHRjcC0+dV9ydmFsKTsKKwkJYnJlYWs7CisJY2FzZSBTWVNfd3JpdGU6CisjaWZkZWYgU1lTX3B3cml0ZTY0CisJY2FzZSBTWVNfcHdyaXRlNjQ6CisjZW5kaWYKKyNpZiBkZWZpbmVkIFNZU19wd3JpdGUgJiYgU1lTX3B3cml0ZTY0ICE9IFNZU19wd3JpdGUKKwljYXNlIFNZU19wd3JpdGU6CisjZW5kaWYKKyNpZmRlZiBTWVNfc2VuZAorCWNhc2UgU1lTX3NlbmQ6CisjZWxpZiBkZWZpbmVkIFNZU19zdWJfc2VuZAorCWNhc2UgU1lTX3N1Yl9zZW5kOgorI2VuZGlmCisjaWZkZWYgU1lTX3NlbmR0bworCWNhc2UgU1lTX3NlbmR0bzoKKyNlbGlmIGRlZmluZWQgU1lTX3N1Yl9zZW5kdG8KKwljYXNlIFNZU19zdWJfc2VuZHRvOgorI2VuZGlmCisJCWlmIChxdWFsX2ZsYWdzW3RjcC0+dV9hcmdbMF1dICYgUVVBTF9XUklURSkKKwkJCWR1bXBzdHIodGNwLCB0Y3AtPnVfYXJnWzFdLCB0Y3AtPnVfYXJnWzJdKTsKKwkJYnJlYWs7CisjaWZkZWYgU1lTX3JlYWR2CisJY2FzZSBTWVNfcmVhZHY6CisJCWlmIChxdWFsX2ZsYWdzW3RjcC0+dV9hcmdbMF1dICYgUVVBTF9SRUFEKQorCQkJZHVtcGlvdih0Y3AsIHRjcC0+dV9hcmdbMl0sIHRjcC0+dV9hcmdbMV0pOworCQlicmVhazsKKyNlbmRpZgorI2lmZGVmIFNZU193cml0ZXYKKwljYXNlIFNZU193cml0ZXY6CisJCWlmIChxdWFsX2ZsYWdzW3RjcC0+dV9hcmdbMF1dICYgUVVBTF9XUklURSkKKwkJCWR1bXBpb3YodGNwLCB0Y3AtPnVfYXJnWzJdLCB0Y3AtPnVfYXJnWzFdKTsKKwkJYnJlYWs7CisjZW5kaWYKKwl9Cit9CisKKyNpZm5kZWYgRlJFRUJTRAorZW51bSBzdWJjYWxsX3N0eWxlIHsgc2hpZnRfc3R5bGUsIGRlcmVmX3N0eWxlLCBtYXNrX3N0eWxlLCBkb29yX3N0eWxlIH07CisjZWxzZSAvKiBGUkVFQlNEICovCitlbnVtIHN1YmNhbGxfc3R5bGUgeyBzaGlmdF9zdHlsZSwgZGVyZWZfc3R5bGUsIG1hc2tfc3R5bGUsIGRvb3Jfc3R5bGUsIHRhYmxlX3N0eWxlIH07CisKK3N0cnVjdCBzdWJjYWxsIHsKKyAgaW50IGNhbGw7CisgIGludCBuc3ViY2FsbHM7CisgIGludCBzdWJjYWxsc1s1XTsKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc3ViY2FsbCBzdWJjYWxsc190YWJsZVtdID0geworICB7IFNZU19zaG1zeXMsIDUsIHsgU1lTX3NobWF0LCBTWVNfc2htY3RsLCBTWVNfc2htZHQsIFNZU19zaG1nZXQsIFNZU19zaG1jdGwgfSB9LAorI2lmZGVmIFNZU19zZW1jb25maWcKKyAgeyBTWVNfc2Vtc3lzLCA0LCB7IFNZU19fX3NlbWN0bCwgU1lTX3NlbWdldCwgU1lTX3NlbW9wLCBTWVNfc2VtY29uZmlnIH0gfSwKKyNlbHNlCisgIHsgU1lTX3NlbXN5cywgMywgeyBTWVNfX19zZW1jdGwsIFNZU19zZW1nZXQsIFNZU19zZW1vcCB9IH0sCisjZW5kaWYKKyAgeyBTWVNfbXNnc3lzLCA0LCB7IFNZU19tc2djdGwsIFNZU19tc2dnZXQsIFNZU19tc2dzbmQsIFNZU19tc2dyY3YgfSB9LAorfTsKKyNlbmRpZiAvKiBGUkVFQlNEICovCisKKyNpZiAhKGRlZmluZWQoTElOVVgpICYmICggZGVmaW5lZChBTFBIQSkgfHwgZGVmaW5lZChNSVBTKSB8fCBkZWZpbmVkKF9fQVJNX0VBQklfXykgKSkKKworc3RhdGljIHZvaWQKK2RlY29kZV9zdWJjYWxsKHRjcCwgc3ViY2FsbCwgbnN1YmNhbGxzLCBzdHlsZSkKK3N0cnVjdCB0Y2IgKnRjcDsKK2ludCBzdWJjYWxsOworaW50IG5zdWJjYWxsczsKK2VudW0gc3ViY2FsbF9zdHlsZSBzdHlsZTsKK3sKKwl1bnNpZ25lZCBsb25nIGFkZHIsIG1hc2s7CisJaW50IGk7CisJaW50IHNpemUgPSBwZXJzb25hbGl0eV93b3Jkc2l6ZVtjdXJyZW50X3BlcnNvbmFsaXR5XTsKKworCXN3aXRjaCAoc3R5bGUpIHsKKwljYXNlIHNoaWZ0X3N0eWxlOgorCQlpZiAodGNwLT51X2FyZ1swXSA8IDAgfHwgdGNwLT51X2FyZ1swXSA+PSBuc3ViY2FsbHMpCisJCQlyZXR1cm47CisJCXRjcC0+c2NubyA9IHN1YmNhbGwgKyB0Y3AtPnVfYXJnWzBdOworCQlpZiAoc3lzZW50W3RjcC0+c2Nub10ubmFyZ3MgIT0gLTEpCisJCQl0Y3AtPnVfbmFyZ3MgPSBzeXNlbnRbdGNwLT5zY25vXS5uYXJnczsKKwkJZWxzZQorCQkJdGNwLT51X25hcmdzLS07CisJCWZvciAoaSA9IDA7IGkgPCB0Y3AtPnVfbmFyZ3M7IGkrKykKKwkJCXRjcC0+dV9hcmdbaV0gPSB0Y3AtPnVfYXJnW2kgKyAxXTsKKwkJYnJlYWs7CisJY2FzZSBkZXJlZl9zdHlsZToKKwkJaWYgKHRjcC0+dV9hcmdbMF0gPCAwIHx8IHRjcC0+dV9hcmdbMF0gPj0gbnN1YmNhbGxzKQorCQkJcmV0dXJuOworCQl0Y3AtPnNjbm8gPSBzdWJjYWxsICsgdGNwLT51X2FyZ1swXTsKKwkJYWRkciA9IHRjcC0+dV9hcmdbMV07CisJCWZvciAoaSA9IDA7IGkgPCBzeXNlbnRbdGNwLT5zY25vXS5uYXJnczsgaSsrKSB7CisJCQlpZiAoc2l6ZSA9PSBzaXplb2YoaW50KSkgeworCQkJCXVuc2lnbmVkIGludCBhcmc7CisJCQkJaWYgKHVtb3ZlKHRjcCwgYWRkciwgJmFyZykgPCAwKQorCQkJCQlhcmcgPSAwOworCQkJCXRjcC0+dV9hcmdbaV0gPSBhcmc7CisJCQl9CisJCQllbHNlIGlmIChzaXplID09IHNpemVvZihsb25nKSkgeworCQkJCXVuc2lnbmVkIGxvbmcgYXJnOworCQkJCWlmICh1bW92ZSh0Y3AsIGFkZHIsICZhcmcpIDwgMCkKKwkJCQkJYXJnID0gMDsKKwkJCQl0Y3AtPnVfYXJnW2ldID0gYXJnOworCQkJfQorCQkJZWxzZQorCQkJCWFib3J0KCk7CisJCQlhZGRyICs9IHNpemU7CisJCX0KKwkJdGNwLT51X25hcmdzID0gc3lzZW50W3RjcC0+c2Nub10ubmFyZ3M7CisJCWJyZWFrOworCWNhc2UgbWFza19zdHlsZToKKwkJbWFzayA9ICh0Y3AtPnVfYXJnWzBdID4+IDgpICYgMHhmZjsKKwkJZm9yIChpID0gMDsgbWFzazsgaSsrKQorCQkJbWFzayA+Pj0gMTsKKwkJaWYgKGkgPj0gbnN1YmNhbGxzKQorCQkJcmV0dXJuOworCQl0Y3AtPnVfYXJnWzBdICY9IDB4ZmY7CisJCXRjcC0+c2NubyA9IHN1YmNhbGwgKyBpOworCQlpZiAoc3lzZW50W3RjcC0+c2Nub10ubmFyZ3MgIT0gLTEpCisJCQl0Y3AtPnVfbmFyZ3MgPSBzeXNlbnRbdGNwLT5zY25vXS5uYXJnczsKKwkJYnJlYWs7CisJY2FzZSBkb29yX3N0eWxlOgorCQkvKgorCQkgKiBPaCwgeXVjay4gIFRoZSBjYWxsIGNvZGUgaXMgdGhlICpzaXh0aCogYXJndW1lbnQuCisJCSAqIChkb24ndCB5b3UgbWVhbiB0aGUgKmxhc3QqIGFyZ3VtZW50PyAtIEpIKQorCQkgKi8KKwkJaWYgKHRjcC0+dV9hcmdbNV0gPCAwIHx8IHRjcC0+dV9hcmdbNV0gPj0gbnN1YmNhbGxzKQorCQkJcmV0dXJuOworCQl0Y3AtPnNjbm8gPSBzdWJjYWxsICsgdGNwLT51X2FyZ1s1XTsKKwkJaWYgKHN5c2VudFt0Y3AtPnNjbm9dLm5hcmdzICE9IC0xKQorCQkJdGNwLT51X25hcmdzID0gc3lzZW50W3RjcC0+c2Nub10ubmFyZ3M7CisJCWVsc2UKKwkJCXRjcC0+dV9uYXJncy0tOworCQlicmVhazsKKyNpZmRlZiBGUkVFQlNECisJY2FzZSB0YWJsZV9zdHlsZToKKwkJZm9yIChpID0gMDsgaSA8IHNpemVvZihzdWJjYWxsc190YWJsZSkgLyBzaXplb2Yoc3RydWN0IHN1YmNhbGwpOyBpKyspCisJCQlpZiAoc3ViY2FsbHNfdGFibGVbaV0uY2FsbCA9PSB0Y3AtPnNjbm8pIGJyZWFrOworCQlpZiAoaSA8IHNpemVvZihzdWJjYWxsc190YWJsZSkgLyBzaXplb2Yoc3RydWN0IHN1YmNhbGwpICYmCisJCSAgICB0Y3AtPnVfYXJnWzBdID49IDAgJiYgdGNwLT51X2FyZ1swXSA8IHN1YmNhbGxzX3RhYmxlW2ldLm5zdWJjYWxscykgeworCQkJdGNwLT5zY25vID0gc3ViY2FsbHNfdGFibGVbaV0uc3ViY2FsbHNbdGNwLT51X2FyZ1swXV07CisJCQlmb3IgKGkgPSAwOyBpIDwgdGNwLT51X25hcmdzOyBpKyspCisJCQkJdGNwLT51X2FyZ1tpXSA9IHRjcC0+dV9hcmdbaSArIDFdOworCQl9CisJCWJyZWFrOworI2VuZGlmIC8qIEZSRUVCU0QgKi8KKwl9Cit9CisjZW5kaWYKKworc3RydWN0IHRjYiAqdGNwX2xhc3QgPSBOVUxMOworCitzdGF0aWMgaW50CitpbnRlcm5hbF9zeXNjYWxsKHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwkvKgorCSAqIFdlIG11c3QgYWx3YXlzIHRyYWNlIGEgZmV3IGNyaXRpY2FsIHN5c3RlbSBjYWxscyBpbiBvcmRlciB0bworCSAqIGNvcnJlY3RseSBzdXBwb3J0IGZvbGxvd2luZyBmb3JrcyBpbiB0aGUgcHJlc2VuY2Ugb2YgdHJhY2luZworCSAqIHF1YWxpZmllcnMuCisJICovCisJaW50CSgqZnVuYykoKTsKKworCWlmICh0Y3AtPnNjbm8gPCAwIHx8IHRjcC0+c2NubyA+PSBuc3lzY2FsbHMpCisJCXJldHVybiAwOworCisJZnVuYyA9IHN5c2VudFt0Y3AtPnNjbm9dLnN5c19mdW5jOworCisJaWYgKHN5c19leGl0ID09IGZ1bmMpCisJCXJldHVybiBpbnRlcm5hbF9leGl0KHRjcCk7CisKKwlpZiAoICAgc3lzX2ZvcmsgPT0gZnVuYworI2lmIGRlZmluZWQoRlJFRUJTRCkgfHwgZGVmaW5lZChMSU5VWCkgfHwgZGVmaW5lZChTVU5PUzQpCisJICAgIHx8IHN5c192Zm9yayA9PSBmdW5jCisjZW5kaWYKKyNpZmRlZiBMSU5VWAorCSAgICB8fCBzeXNfY2xvbmUgPT0gZnVuYworI2VuZGlmCisjaWYgVU5JWFdBUkUgPiAyCisJICAgIHx8IHN5c19yZm9yayA9PSBmdW5jCisjZW5kaWYKKwkgICApCisJCXJldHVybiBpbnRlcm5hbF9mb3JrKHRjcCk7CisKKwlpZiAoICAgc3lzX2V4ZWN2ZSA9PSBmdW5jCisjaWYgZGVmaW5lZChTUEFSQykgfHwgZGVmaW5lZChTUEFSQzY0KSB8fCBkZWZpbmVkKFNVTk9TNCkKKwkgICAgfHwgc3lzX2V4ZWN2ID09IGZ1bmMKKyNlbmRpZgorI2lmIFVOSVhXQVJFID4gMgorCSAgICB8fCBzeXNfcmV4ZWN2ZSA9PSBmdW5jCisjZW5kaWYKKwkgICApCisJCXJldHVybiBpbnRlcm5hbF9leGVjKHRjcCk7CisKKwlpZiAoICAgc3lzX3dhaXRwaWQgPT0gZnVuYworCSAgICB8fCBzeXNfd2FpdDQgPT0gZnVuYworI2lmIGRlZmluZWQoU1ZSNCkgfHwgZGVmaW5lZChGUkVFQlNEKSB8fCBkZWZpbmVkKFNVTk9TNCkKKwkgICAgfHwgc3lzX3dhaXQgPT0gZnVuYworI2VuZGlmCisjaWZkZWYgQUxQSEEKKwkgICAgfHwgc3lzX29zZl93YWl0NCA9PSBmdW5jCisjZW5kaWYKKwkgICApCisJCXJldHVybiBpbnRlcm5hbF93YWl0KHRjcCwgMik7CisKKyNpZiBkZWZpbmVkKExJTlVYKSB8fCBkZWZpbmVkKFNWUjQpCisJaWYgKHN5c193YWl0aWQgPT0gZnVuYykKKwkJcmV0dXJuIGludGVybmFsX3dhaXQodGNwLCAzKTsKKyNlbmRpZgorCisJcmV0dXJuIDA7Cit9CisKKworI2lmZGVmIExJTlVYCisjaWYgZGVmaW5lZCAoSTM4NikKKwlzdGF0aWMgbG9uZyBlYXg7CisjZWxpZiBkZWZpbmVkIChJQTY0KQorCWxvbmcgcjgsIHIxMCwgcHNyOworCWxvbmcgaWEzMiA9IDA7CisjZWxpZiBkZWZpbmVkIChQT1dFUlBDKQorCXN0YXRpYyBsb25nIHJlc3VsdCxmbGFnczsKKyNlbGlmIGRlZmluZWQgKE02OEspCisJc3RhdGljIGludCBkMDsKKyNlbGlmIGRlZmluZWQoQkZJTikKKwlzdGF0aWMgbG9uZyByMDsKKyNlbGlmIGRlZmluZWQgKEFSTSkKKwlzdGF0aWMgc3RydWN0IHB0X3JlZ3MgcmVnczsKKyNlbGlmIGRlZmluZWQgKEFMUEhBKQorCXN0YXRpYyBsb25nIHIwOworCXN0YXRpYyBsb25nIGEzOworI2VsaWYgZGVmaW5lZChBVlIzMikKKwlzdGF0aWMgc3RydWN0IHB0X3JlZ3MgcmVnczsKKyNlbGlmIGRlZmluZWQgKFNQQVJDKSB8fCBkZWZpbmVkIChTUEFSQzY0KQorCXN0YXRpYyBzdHJ1Y3QgcHRfcmVncyByZWdzOworCXN0YXRpYyB1bnNpZ25lZCBsb25nIHRyYXA7CisjZWxpZiBkZWZpbmVkKExJTlVYX01JUFNOMzIpCisJc3RhdGljIGxvbmcgbG9uZyBhMzsKKwlzdGF0aWMgbG9uZyBsb25nIHIyOworI2VsaWYgZGVmaW5lZChNSVBTKQorCXN0YXRpYyBsb25nIGEzOworCXN0YXRpYyBsb25nIHIyOworI2VsaWYgZGVmaW5lZChTMzkwKSB8fCBkZWZpbmVkKFMzOTBYKQorCXN0YXRpYyBsb25nIGdwcjI7CisJc3RhdGljIGxvbmcgcGM7CisJc3RhdGljIGxvbmcgc3lzY2FsbF9tb2RlOworI2VsaWYgZGVmaW5lZChIUFBBKQorCXN0YXRpYyBsb25nIHIyODsKKyNlbGlmIGRlZmluZWQoU0gpCisJc3RhdGljIGxvbmcgcjA7CisjZWxpZiBkZWZpbmVkKFNINjQpCisJc3RhdGljIGxvbmcgcjk7CisjZWxpZiBkZWZpbmVkKFg4Nl82NCkKKwlzdGF0aWMgbG9uZyByYXg7CisjZWxpZiBkZWZpbmVkKENSSVNWMTApIHx8IGRlZmluZWQoQ1JJU1YzMikKKwlzdGF0aWMgbG9uZyByMTA7CisjZW5kaWYKKyNlbmRpZiAvKiBMSU5VWCAqLworI2lmZGVmIEZSRUVCU0QKKwlzdHJ1Y3QgcmVnIHJlZ3M7CisjZW5kaWYgLyogRlJFRUJTRCAqLworCitpbnQKK2dldF9zY25vKHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwlsb25nIHNjbm8gPSAwOworCisjaWZkZWYgTElOVVgKKyMgaWYgZGVmaW5lZChTMzkwKSB8fCBkZWZpbmVkKFMzOTBYKQorCWlmICh0Y3AtPmZsYWdzICYgVENCX1dBSVRFWEVDVkUpIHsKKwkJLyoKKwkJICogV2hlbiB0aGUgZXhlY3ZlIHN5c3RlbSBjYWxsIGNvbXBsZXRlcyBzdWNjZXNzZnVsbHksIHRoZQorCQkgKiBuZXcgcHJvY2VzcyBzdGlsbCBoYXMgLUVOT1NZUyAob2xkIHN0eWxlKSBvciBfX05SX2V4ZWN2ZQorCQkgKiAobmV3IHN0eWxlKSBpbiBncHIyLiAgV2UgY2Fubm90IHJlY292ZXIgdGhlIHNjbm8gYWdhaW4KKwkJICogYnkgZGlzYXNzZW1ibHksIGJlY2F1c2UgdGhlIGltYWdlIHRoYXQgZXhlY3V0ZWQgdGhlCisJCSAqIHN5c2NhbGwgaXMgZ29uZSBub3cuICBGb3J0dW5hdGVseSwgd2UgZG9uJ3Qgd2FudCBpdC4gIFdlCisJCSAqIGxlYXZlIHRoZSBmbGFnIHNldCBzbyB0aGF0IHN5c2NhbGxfZml4dXAgY2FuIGZha2UgdGhlCisJCSAqIHJlc3VsdC4KKwkJICovCisJCWlmICh0Y3AtPmZsYWdzICYgVENCX0lOU1lTQ0FMTCkKKwkJCXJldHVybiAxOworCQkvKgorCQkgKiBUaGlzIGlzIHRoZSBTSUdUUkFQIGFmdGVyIGV4ZWN2ZS4gIFdlIGNhbm5vdCB0cnkgdG8gcmVhZAorCQkgKiB0aGUgc3lzdGVtIGNhbGwgaGVyZSBlaXRoZXIuCisJCSAqLworCQl0Y3AtPmZsYWdzICY9IH5UQ0JfV0FJVEVYRUNWRTsKKwkJcmV0dXJuIDA7CisJfQorCisJaWYgKHVwZWVrKHRjcCwgUFRfR1BSMiwgJnN5c2NhbGxfbW9kZSkgPCAwKQorCQkJcmV0dXJuIC0xOworCisJaWYgKHN5c2NhbGxfbW9kZSAhPSAtRU5PU1lTKSB7CisJCS8qCisJCSAqIFNpbmNlIGtlcm5lbCB2ZXJzaW9uIDIuNS40NCB0aGUgc2NubyBnZXRzIHBhc3NlZCBpbiBncHIyLgorCQkgKi8KKwkJc2NubyA9IHN5c2NhbGxfbW9kZTsKKwl9IGVsc2UgeworCQkvKgorCQkgKiBPbGQgc3R5bGUgb2YgInBhc3NpbmciIHRoZSBzY25vIHZpYSB0aGUgU1ZDIGluc3RydWN0aW9uLgorCQkgKi8KKworCQlsb25nIG9wY29kZSwgb2Zmc2V0X3JlZywgdG1wOworCQl2b2lkICogc3ZjX2FkZHI7CisJCWludCBncHJfb2Zmc2V0WzE2XSA9IHtQVF9HUFIwLCAgUFRfR1BSMSwgIFBUX09SSUdHUFIyLCBQVF9HUFIzLAorCQkJCSAgICAgIFBUX0dQUjQsICBQVF9HUFI1LCAgUFRfR1BSNiwgICAgIFBUX0dQUjcsCisJCQkJICAgICAgUFRfR1BSOCwgIFBUX0dQUjksICBQVF9HUFIxMCwgICAgUFRfR1BSMTEsCisJCQkJICAgICAgUFRfR1BSMTIsIFBUX0dQUjEzLCBQVF9HUFIxNCwgICAgUFRfR1BSMTV9OworCisJCWlmICh1cGVlayh0Y3AsIFBUX1BTV0FERFIsICZwYykgPCAwKQorCQkJcmV0dXJuIC0xOworCQllcnJubyA9IDA7CisJCW9wY29kZSA9IHB0cmFjZShQVFJBQ0VfUEVFS1RFWFQsIHRjcC0+cGlkLCAoY2hhciAqKShwYy1zaXplb2YobG9uZykpLCAwKTsKKwkJaWYgKGVycm5vKSB7CisJCQlwZXJyb3IoInBlZWt0ZXh0KHBjLW9uZXdvcmQpIik7CisJCQlyZXR1cm4gLTE7CisJCX0KKworCQkvKgorCQkgKiAgV2UgaGF2ZSB0byBjaGVjayBpZiB0aGUgU1ZDIGdvdCBleGVjdXRlZCBkaXJlY3RseSBvciB2aWEgYW4KKwkJICogIEVYRUNVVEUgaW5zdHJ1Y3Rpb24uIEluIGNhc2Ugb2YgRVhFQ1VURSBpdCBpcyBuZWNlc3NhcnkgdG8gZG8KKwkJICogIGluc3RydWN0aW9uIGRlY29kaW5nIHRvIGRlcml2ZSB0aGUgc3lzdGVtIGNhbGwgbnVtYmVyLgorCQkgKiAgVW5mb3J0dW5hdGVseSB0aGUgb3Bjb2RlIHNpemVzIG9mIEVYRUNVVEUgYW5kIFNWQyBhcmUgZGlmZmVyZW50bHksCisJCSAqICBzbyB0aGF0IHRoaXMgZG9lc24ndCB3b3JrIGlmIGEgU1ZDIG9wY29kZSBpcyBwYXJ0IG9mIGFuIEVYRUNVVEUKKwkJICogIG9wY29kZS4gU2luY2UgdGhlcmUgaXMgbm8gd2F5IHRvIGZpbmQgb3V0IHRoZSBvcGNvZGUgc2l6ZSB0aGlzCisJCSAqICBpcyB0aGUgYmVzdCB3ZSBjYW4gZG8uLi4KKwkJICovCisKKwkJaWYgKChvcGNvZGUgJiAweGZmMDApID09IDB4MGEwMCkgeworCQkJLyogU1ZDIG9wY29kZSAqLworCQkJc2NubyA9IG9wY29kZSAmIDB4ZmY7CisJCX0KKwkJZWxzZSB7CisJCQkvKiBTVkMgZ290IGV4ZWN1dGVkIGJ5IEVYRUNVVEUgaW5zdHJ1Y3Rpb24gKi8KKworCQkJLyoKKwkJCSAqICBEbyBpbnN0cnVjdGlvbiBkZWNvZGluZyBvZiBFWEVDVVRFLiBJZiB5b3UgcmVhbGx5IHdhbnQgdG8KKwkJCSAqICB1bmRlcnN0YW5kIHRoaXMsIHJlYWQgdGhlIFByaW5jaXBsZXMgb2YgT3BlcmF0aW9ucy4KKwkJCSAqLworCQkJc3ZjX2FkZHIgPSAodm9pZCAqKSAob3Bjb2RlICYgMHhmZmYpOworCisJCQl0bXAgPSAwOworCQkJb2Zmc2V0X3JlZyA9IChvcGNvZGUgJiAweDAwMGYwMDAwKSA+PiAxNjsKKwkJCWlmIChvZmZzZXRfcmVnICYmICh1cGVlayh0Y3AsIGdwcl9vZmZzZXRbb2Zmc2V0X3JlZ10sICZ0bXApIDwgMCkpCisJCQkJcmV0dXJuIC0xOworCQkJc3ZjX2FkZHIgKz0gdG1wOworCisJCQl0bXAgPSAwOworCQkJb2Zmc2V0X3JlZyA9IChvcGNvZGUgJiAweDAwMDBmMDAwKSA+PiAxMjsKKwkJCWlmIChvZmZzZXRfcmVnICYmICh1cGVlayh0Y3AsIGdwcl9vZmZzZXRbb2Zmc2V0X3JlZ10sICZ0bXApIDwgMCkpCisJCQkJcmV0dXJuIC0xOworCQkJc3ZjX2FkZHIgKz0gdG1wOworCisJCQlzY25vID0gcHRyYWNlKFBUUkFDRV9QRUVLVEVYVCwgdGNwLT5waWQsIHN2Y19hZGRyLCAwKTsKKwkJCWlmIChlcnJubykKKwkJCQlyZXR1cm4gLTE7CisjICBpZiBkZWZpbmVkKFMzOTBYKQorCQkJc2NubyA+Pj0gNDg7CisjICBlbHNlCisJCQlzY25vID4+PSAxNjsKKyMgIGVuZGlmCisJCQl0bXAgPSAwOworCQkJb2Zmc2V0X3JlZyA9IChvcGNvZGUgJiAweDAwZjAwMDAwKSA+PiAyMDsKKwkJCWlmIChvZmZzZXRfcmVnICYmICh1cGVlayh0Y3AsIGdwcl9vZmZzZXRbb2Zmc2V0X3JlZ10sICZ0bXApIDwgMCkpCisJCQkJcmV0dXJuIC0xOworCisJCQlzY25vID0gKHNjbm8gfCB0bXApICYgMHhmZjsKKwkJfQorCX0KKyMgZWxpZiBkZWZpbmVkIChQT1dFUlBDKQorCWlmICh1cGVlayh0Y3AsIHNpemVvZih1bnNpZ25lZCBsb25nKSpQVF9SMCwgJnNjbm8pIDwgMCkKKwkJcmV0dXJuIC0xOworCWlmICghKHRjcC0+ZmxhZ3MgJiBUQ0JfSU5TWVNDQUxMKSkgeworCQkvKiBDaGVjayBpZiB3ZSByZXR1cm4gZnJvbSBleGVjdmUuICovCisJCWlmIChzY25vID09IDAgJiYgKHRjcC0+ZmxhZ3MgJiBUQ0JfV0FJVEVYRUNWRSkpIHsKKwkJCXRjcC0+ZmxhZ3MgJj0gflRDQl9XQUlURVhFQ1ZFOworCQkJcmV0dXJuIDA7CisJCX0KKwl9CisjIGVsaWYgZGVmaW5lZChBVlIzMikKKwkvKgorCSAqIFJlYWQgY29tcGxldGUgcmVnaXN0ZXIgc2V0IGluIG9uZSBnby4KKwkgKi8KKwlpZiAocHRyYWNlKFBUUkFDRV9HRVRSRUdTLCB0Y3AtPnBpZCwgTlVMTCwgJnJlZ3MpIDwgMCkKKwkJcmV0dXJuIC0xOworCisJLyoKKwkgKiBXZSBvbmx5IG5lZWQgdG8gZ3JhYiB0aGUgc3lzY2FsbCBudW1iZXIgb24gc3lzY2FsbCBlbnRyeS4KKwkgKi8KKwlpZiAoISh0Y3AtPmZsYWdzICYgVENCX0lOU1lTQ0FMTCkpIHsKKwkJc2NubyA9IHJlZ3Mucjg7CisKKwkJLyogQ2hlY2sgaWYgd2UgcmV0dXJuIGZyb20gZXhlY3ZlLiAqLworCQlpZiAodGNwLT5mbGFncyAmIFRDQl9XQUlURVhFQ1ZFKSB7CisJCQl0Y3AtPmZsYWdzICY9IH5UQ0JfV0FJVEVYRUNWRTsKKwkJCXJldHVybiAwOworCQl9CisJfQorIyBlbGlmIGRlZmluZWQoQkZJTikKKwlpZiAodXBlZWsodGNwLCBQVF9PUklHX1AwLCAmc2NubykpCisJCXJldHVybiAtMTsKKyMgZWxpZiBkZWZpbmVkIChJMzg2KQorCWlmICh1cGVlayh0Y3AsIDQqT1JJR19FQVgsICZzY25vKSA8IDApCisJCXJldHVybiAtMTsKKyMgZWxpZiBkZWZpbmVkIChYODZfNjQpCisJaWYgKHVwZWVrKHRjcCwgOCpPUklHX1JBWCwgJnNjbm8pIDwgMCkKKwkJcmV0dXJuIC0xOworCisJaWYgKCEodGNwLT5mbGFncyAmIFRDQl9JTlNZU0NBTEwpKSB7CisJCXN0YXRpYyBpbnQgY3VycnBlcnMgPSAtMTsKKwkJbG9uZyB2YWw7CisJCWludCBwaWQgPSB0Y3AtPnBpZDsKKworCQkvKiBDaGVjayBDUyByZWdpc3RlciB2YWx1ZS4gT24geDg2LTY0IGxpbnV4IGl0IGlzOgorCQkgKiAJMHgzMwlmb3IgbG9uZyBtb2RlICg2NCBiaXQpCisJCSAqIAkweDIzCWZvciBjb21wYXRpYmlsaXR5IG1vZGUgKDMyIGJpdCkKKwkJICogSXQgdGFrZXMgb25seSBvbmUgcHRyYWNlIGFuZCB0aHVzIGRvZXNuJ3QgbmVlZAorCQkgKiB0byBiZSBjYWNoZWQuCisJCSAqLworCQlpZiAodXBlZWsodGNwLCA4KkNTLCAmdmFsKSA8IDApCisJCQlyZXR1cm4gLTE7CisJCXN3aXRjaCAodmFsKSB7CisJCQljYXNlIDB4MjM6IGN1cnJwZXJzID0gMTsgYnJlYWs7CisJCQljYXNlIDB4MzM6IGN1cnJwZXJzID0gMDsgYnJlYWs7CisJCQlkZWZhdWx0OgorCQkJCWZwcmludGYoc3RkZXJyLCAiVW5rbm93biB2YWx1ZSBDUz0weCUwMlggd2hpbGUgIgorCQkJCQkgImRldGVjdGluZyBwZXJzb25hbGl0eSBvZiBwcm9jZXNzICIKKwkJCQkJICJQSUQ9JWRcbiIsIChpbnQpdmFsLCBwaWQpOworCQkJCWN1cnJwZXJzID0gY3VycmVudF9wZXJzb25hbGl0eTsKKwkJCQlicmVhazsKKwkJfQorIyAgaWYgMAorCQkvKiBUaGlzIHZlcnNpb24gYW5hbHl6ZXMgdGhlIG9wY29kZSBvZiBhIHN5c2NhbGwgaW5zdHJ1Y3Rpb24uCisJCSAqIChpbnQgMHg4MCBvbiBpMzg2IHZzLiBzeXNjYWxsIG9uIHg4Ni02NCkKKwkJICogSXQgd29ya3MsIGJ1dCBpcyB0b28gY29tcGxpY2F0ZWQuCisJCSAqLworCQl1bnNpZ25lZCBsb25nIHZhbCwgcmlwLCBpOworCisJCWlmICh1cGVlayh0Y3AsIDgqUklQLCAmcmlwKSA8IDApCisJCQlwZXJyb3IoInVwZWVrKFJJUCkiKTsKKworCQkvKiBzaXplb2Yoc3lzY2FsbCkgPT0gc2l6ZW9mKGludCAweDgwKSA9PSAyICovCisJCXJpcCAtPSAyOworCQllcnJubyA9IDA7CisKKwkJY2FsbCA9IHB0cmFjZShQVFJBQ0VfUEVFS1RFWFQsIHBpZCwgKGNoYXIgKilyaXAsIChjaGFyICopMCk7CisJCWlmIChlcnJubykKKwkJCXByaW50ZigicHRyYWNlX3BlZWt0ZXh0IGZhaWxlZDogJXNcbiIsCisJCQkJCXN0cmVycm9yKGVycm5vKSk7CisJCXN3aXRjaCAoY2FsbCAmIDB4ZmZmZikgeworCQkJLyogeDg2LTY0OiBzeXNjYWxsID0gMHgwZiAweDA1ICovCisJCQljYXNlIDB4MDUwZjogY3VycnBlcnMgPSAwOyBicmVhazsKKwkJCS8qIGkzODY6IGludCAweDgwID0gMHhjZCAweDgwICovCisJCQljYXNlIDB4ODBjZDogY3VycnBlcnMgPSAxOyBicmVhazsKKwkJCWRlZmF1bHQ6CisJCQkJY3VycnBlcnMgPSBjdXJyZW50X3BlcnNvbmFsaXR5OworCQkJCWZwcmludGYoc3RkZXJyLAorCQkJCQkiVW5rbm93biBzeXNjYWxsIG9wY29kZSAoMHglMDRYKSB3aGlsZSAiCisJCQkJCSJkZXRlY3RpbmcgcGVyc29uYWxpdHkgb2YgcHJvY2VzcyAiCisJCQkJCSJQSUQ9JWRcbiIsIChpbnQpY2FsbCwgcGlkKTsKKwkJCQlicmVhazsKKwkJfQorIyAgZW5kaWYKKwkJaWYgKGN1cnJwZXJzICE9IGN1cnJlbnRfcGVyc29uYWxpdHkpIHsKKwkJCXN0YXRpYyBjb25zdCBjaGFyICpjb25zdCBuYW1lc1tdID0geyI2NCBiaXQiLCAiMzIgYml0In07CisJCQlzZXRfcGVyc29uYWxpdHkoY3VycnBlcnMpOworCQkJcHJpbnRmKCJbIFByb2Nlc3MgUElEPSVkIHJ1bnMgaW4gJXMgbW9kZS4gXVxuIiwKKwkJCQkJcGlkLCBuYW1lc1tjdXJyZW50X3BlcnNvbmFsaXR5XSk7CisJCX0KKwl9CisjIGVsaWYgZGVmaW5lZChJQTY0KQorIwlkZWZpbmUgSUE2NF9QU1JfSVMJKChsb25nKTEgPDwgMzQpCisJaWYgKHVwZWVrICh0Y3AsIFBUX0NSX0lQU1IsICZwc3IpID49IDApCisJCWlhMzIgPSAocHNyICYgSUE2NF9QU1JfSVMpICE9IDA7CisJaWYgKCEodGNwLT5mbGFncyAmIFRDQl9JTlNZU0NBTEwpKSB7CisJCWlmIChpYTMyKSB7CisJCQlpZiAodXBlZWsodGNwLCBQVF9SMSwgJnNjbm8pIDwgMCkJLyogb3JpZyBlYXggKi8KKwkJCQlyZXR1cm4gLTE7CisJCX0gZWxzZSB7CisJCQlpZiAodXBlZWsgKHRjcCwgUFRfUjE1LCAmc2NubykgPCAwKQorCQkJCXJldHVybiAtMTsKKwkJfQorCQkvKiBDaGVjayBpZiB3ZSByZXR1cm4gZnJvbSBleGVjdmUuICovCisJCWlmICh0Y3AtPmZsYWdzICYgVENCX1dBSVRFWEVDVkUpIHsKKwkJCXRjcC0+ZmxhZ3MgJj0gflRDQl9XQUlURVhFQ1ZFOworCQkJcmV0dXJuIDA7CisJCX0KKwl9IGVsc2UgeworCQkvKiBzeXNjYWxsIGluIHByb2dyZXNzICovCisJCWlmICh1cGVlayAodGNwLCBQVF9SOCwgJnI4KSA8IDApCisJCQlyZXR1cm4gLTE7CisJCWlmICh1cGVlayAodGNwLCBQVF9SMTAsICZyMTApIDwgMCkKKwkJCXJldHVybiAtMTsKKwl9CisjIGVsaWYgZGVmaW5lZCAoQVJNKQorCS8qCisJICogUmVhZCBjb21wbGV0ZSByZWdpc3RlciBzZXQgaW4gb25lIGdvLgorCSAqLworCWlmIChwdHJhY2UoUFRSQUNFX0dFVFJFR1MsIHRjcC0+cGlkLCBOVUxMLCAodm9pZCAqKSZyZWdzKSA9PSAtMSkKKwkJcmV0dXJuIC0xOworCisJLyoKKwkgKiBXZSBvbmx5IG5lZWQgdG8gZ3JhYiB0aGUgc3lzY2FsbCBudW1iZXIgb24gc3lzY2FsbCBlbnRyeS4KKwkgKi8KKwlpZiAocmVncy5BUk1faXAgPT0gMCkgeworCQlpZiAoISh0Y3AtPmZsYWdzICYgVENCX0lOU1lTQ0FMTCkpIHsKKwkJCS8qIENoZWNrIGlmIHdlIHJldHVybiBmcm9tIGV4ZWN2ZS4gKi8KKwkJCWlmICh0Y3AtPmZsYWdzICYgVENCX1dBSVRFWEVDVkUpIHsKKwkJCQl0Y3AtPmZsYWdzICY9IH5UQ0JfV0FJVEVYRUNWRTsKKwkJCQlyZXR1cm4gMDsKKwkJCX0KKwkJfQorCisJCS8qCisJCSAqIE5vdGU6IHdlIG9ubHkgZGVhbCB3aXRoIG9ubHkgMzItYml0IENQVXMgaGVyZS4KKwkJICovCisJCWlmIChyZWdzLkFSTV9jcHNyICYgMHgyMCkgeworCQkJLyoKKwkJCSAqIEdldCB0aGUgVGh1bWItbW9kZSBzeXN0ZW0gY2FsbCBudW1iZXIKKwkJCSAqLworCQkJc2NubyA9IHJlZ3MuQVJNX3I3OworCQl9IGVsc2UgeworCQkJLyoKKwkJCSAqIEdldCB0aGUgQVJNLW1vZGUgc3lzdGVtIGNhbGwgbnVtYmVyCisJCQkgKi8KKwkJCWVycm5vID0gMDsKKwkJCXNjbm8gPSBwdHJhY2UoUFRSQUNFX1BFRUtURVhULCB0Y3AtPnBpZCwgKHZvaWQgKikocmVncy5BUk1fcGMgLSA0KSwgTlVMTCk7CisJCQlpZiAoZXJybm8pCisJCQkJcmV0dXJuIC0xOworCisJCQlpZiAoc2NubyA9PSAwICYmICh0Y3AtPmZsYWdzICYgVENCX1dBSVRFWEVDVkUpKSB7CisJCQkJdGNwLT5mbGFncyAmPSB+VENCX1dBSVRFWEVDVkU7CisJCQkJcmV0dXJuIDA7CisJCQl9CisKKwkJCS8qIEhhbmRsZSB0aGUgRUFCSSBzeXNjYWxsIGNvbnZlbnRpb24uICBXZSBkbyBub3QKKwkJCSAgIGJvdGhlciBjb252ZXJ0aW5nIHN0cnVjdHVyZXMgYmV0d2VlbiB0aGUgdHdvCisJCQkgICBBQklzLCBidXQgYmFzaWMgZnVuY3Rpb25hbGl0eSBzaG91bGQgd29yayBldmVuCisJCQkgICBpZiBzdHJhY2UgYW5kIHRoZSB0cmFjZWQgcHJvZ3JhbSBoYXZlIGRpZmZlcmVudAorCQkJICAgQUJJcy4gICovCisJCQlpZiAoc2NubyA9PSAweGVmMDAwMDAwKSB7CisJCQkJc2NubyA9IHJlZ3MuQVJNX3I3OworCQkJfSBlbHNlIHsKKwkJCQlpZiAoKHNjbm8gJiAweDBmZjAwMDAwKSAhPSAweDBmOTAwMDAwKSB7CisJCQkJCWZwcmludGYoc3RkZXJyLCAic3lzY2FsbDogdW5rbm93biBzeXNjYWxsIHRyYXAgMHglMDhseFxuIiwKKwkJCQkJCXNjbm8pOworCQkJCQlyZXR1cm4gLTE7CisJCQkJfQorCisJCQkJLyoKKwkJCQkgKiBGaXh1cCB0aGUgc3lzY2FsbCBudW1iZXIKKwkJCQkgKi8KKwkJCQlzY25vICY9IDB4MDAwZmZmZmY7CisJCQl9CisJCX0KKwkJaWYgKHNjbm8gJiAweDBmMDAwMCkgeworCQkJLyoKKwkJCSAqIEhhbmRsZSBBUk0gc3BlY2lmaWMgc3lzY2FsbAorCQkJICovCisJCQlzZXRfcGVyc29uYWxpdHkoMSk7CisJCQlzY25vICY9IDB4MDAwMGZmZmY7CisJCX0gZWxzZQorCQkJc2V0X3BlcnNvbmFsaXR5KDApOworCisJCWlmICh0Y3AtPmZsYWdzICYgVENCX0lOU1lTQ0FMTCkgeworCQkJZnByaW50ZihzdGRlcnIsICJwaWQgJWQgc3RyYXkgc3lzY2FsbCBlbnRyeVxuIiwgdGNwLT5waWQpOworCQkJdGNwLT5mbGFncyAmPSB+VENCX0lOU1lTQ0FMTDsKKwkJfQorCX0gZWxzZSB7CisJCWlmICghKHRjcC0+ZmxhZ3MgJiBUQ0JfSU5TWVNDQUxMKSkgeworCQkJZnByaW50ZihzdGRlcnIsICJwaWQgJWQgc3RyYXkgc3lzY2FsbCBleGl0XG4iLCB0Y3AtPnBpZCk7CisJCQl0Y3AtPmZsYWdzIHw9IFRDQl9JTlNZU0NBTEw7CisJCX0KKwl9CisjIGVsaWYgZGVmaW5lZCAoTTY4SykKKwlpZiAodXBlZWsodGNwLCA0KlBUX09SSUdfRDAsICZzY25vKSA8IDApCisJCXJldHVybiAtMTsKKyMgZWxpZiBkZWZpbmVkIChMSU5VWF9NSVBTTjMyKQorCXVuc2lnbmVkIGxvbmcgbG9uZyByZWdzWzM4XTsKKworCWlmIChwdHJhY2UgKFBUUkFDRV9HRVRSRUdTLCB0Y3AtPnBpZCwgTlVMTCwgKGxvbmcpICZyZWdzKSA8IDApCisJCXJldHVybiAtMTsKKwlhMyA9IHJlZ3NbUkVHX0EzXTsKKwlyMiA9IHJlZ3NbUkVHX1YwXTsKKworCWlmKCEodGNwLT5mbGFncyAmIFRDQl9JTlNZU0NBTEwpKSB7CisJCXNjbm8gPSByMjsKKworCQkvKiBDaGVjayBpZiB3ZSByZXR1cm4gZnJvbSBleGVjdmUuICovCisJCWlmIChzY25vID09IDAgJiYgdGNwLT5mbGFncyAmIFRDQl9XQUlURVhFQ1ZFKSB7CisJCQl0Y3AtPmZsYWdzICY9IH5UQ0JfV0FJVEVYRUNWRTsKKwkJCXJldHVybiAwOworCQl9CisKKwkJaWYgKHNjbm8gPCAwIHx8IHNjbm8gPiBuc3lzY2FsbHMpIHsKKwkJCWlmKGEzID09IDAgfHwgYTMgPT0gLTEpIHsKKwkJCQlpZihkZWJ1ZykKKwkJCQkJZnByaW50ZiAoc3RkZXJyLCAic3RyYXkgc3lzY2FsbCBleGl0OiB2MCA9ICVsZFxuIiwgc2Nubyk7CisJCQkJcmV0dXJuIDA7CisJCQl9CisJCX0KKwl9CisjIGVsaWYgZGVmaW5lZCAoTUlQUykKKwlpZiAodXBlZWsodGNwLCBSRUdfQTMsICZhMykgPCAwKQorCQlyZXR1cm4gLTE7CisJaWYoISh0Y3AtPmZsYWdzICYgVENCX0lOU1lTQ0FMTCkpIHsKKwkJaWYgKHVwZWVrKHRjcCwgUkVHX1YwLCAmc2NubykgPCAwKQorCQkJcmV0dXJuIC0xOworCisJCS8qIENoZWNrIGlmIHdlIHJldHVybiBmcm9tIGV4ZWN2ZS4gKi8KKwkJaWYgKHNjbm8gPT0gMCAmJiB0Y3AtPmZsYWdzICYgVENCX1dBSVRFWEVDVkUpIHsKKwkJCXRjcC0+ZmxhZ3MgJj0gflRDQl9XQUlURVhFQ1ZFOworCQkJcmV0dXJuIDA7CisJCX0KKworCQlpZiAoc2NubyA8IDAgfHwgc2NubyA+IG5zeXNjYWxscykgeworCQkJaWYoYTMgPT0gMCB8fCBhMyA9PSAtMSkgeworCQkJCWlmKGRlYnVnKQorCQkJCQlmcHJpbnRmIChzdGRlcnIsICJzdHJheSBzeXNjYWxsIGV4aXQ6IHYwID0gJWxkXG4iLCBzY25vKTsKKwkJCQlyZXR1cm4gMDsKKwkJCX0KKwkJfQorCX0gZWxzZSB7CisJCWlmICh1cGVlayh0Y3AsIFJFR19WMCwgJnIyKSA8IDApCisJCQlyZXR1cm4gLTE7CisJfQorIyBlbGlmIGRlZmluZWQgKEFMUEhBKQorCWlmICh1cGVlayh0Y3AsIFJFR19BMywgJmEzKSA8IDApCisJCXJldHVybiAtMTsKKworCWlmICghKHRjcC0+ZmxhZ3MgJiBUQ0JfSU5TWVNDQUxMKSkgeworCQlpZiAodXBlZWsodGNwLCBSRUdfUjAsICZzY25vKSA8IDApCisJCQlyZXR1cm4gLTE7CisKKwkJLyogQ2hlY2sgaWYgd2UgcmV0dXJuIGZyb20gZXhlY3ZlLiAqLworCQlpZiAoc2NubyA9PSAwICYmIHRjcC0+ZmxhZ3MgJiBUQ0JfV0FJVEVYRUNWRSkgeworCQkJdGNwLT5mbGFncyAmPSB+VENCX1dBSVRFWEVDVkU7CisJCQlyZXR1cm4gMDsKKwkJfQorCisJCS8qCisJCSAqIERvIHNvbWUgc2FuaXR5IGNoZWNrcyB0byBmaWd1cmUgb3V0IGlmIGl0J3MKKwkJICogcmVhbGx5IGEgc3lzY2FsbCBlbnRyeQorCQkgKi8KKwkJaWYgKHNjbm8gPCAwIHx8IHNjbm8gPiBuc3lzY2FsbHMpIHsKKwkJCWlmIChhMyA9PSAwIHx8IGEzID09IC0xKSB7CisJCQkJaWYgKGRlYnVnKQorCQkJCQlmcHJpbnRmIChzdGRlcnIsICJzdHJheSBzeXNjYWxsIGV4aXQ6IHIwID0gJWxkXG4iLCBzY25vKTsKKwkJCQlyZXR1cm4gMDsKKwkJCX0KKwkJfQorCX0KKwllbHNlIHsKKwkJaWYgKHVwZWVrKHRjcCwgUkVHX1IwLCAmcjApIDwgMCkKKwkJCXJldHVybiAtMTsKKwl9CisjIGVsaWYgZGVmaW5lZCAoU1BBUkMpIHx8IGRlZmluZWQgKFNQQVJDNjQpCisJLyogRXZlcnl0aGluZyB3ZSBuZWVkIGlzIGluIHRoZSBjdXJyZW50IHJlZ2lzdGVyIHNldC4gKi8KKwlpZiAocHRyYWNlKFBUUkFDRV9HRVRSRUdTLCB0Y3AtPnBpZCwgKGNoYXIgKikmcmVncywgMCkgPCAwKQorCQlyZXR1cm4gLTE7CisKKwkvKiBJZiB3ZSBhcmUgZW50ZXJpbmcsIHRoZW4gZGlzYXNzZW1ibGUgdGhlIHN5c2NhbGwgdHJhcC4gKi8KKwlpZiAoISh0Y3AtPmZsYWdzICYgVENCX0lOU1lTQ0FMTCkpIHsKKwkJLyogUmV0cmlldmUgdGhlIHN5c2NhbGwgdHJhcCBpbnN0cnVjdGlvbi4gKi8KKwkJZXJybm8gPSAwOworIyAgaWYgZGVmaW5lZChTUEFSQzY0KQorCQl0cmFwID0gcHRyYWNlKFBUUkFDRV9QRUVLVEVYVCwgdGNwLT5waWQsIChjaGFyICopcmVncy50cGMsIDApOworCQl0cmFwID4+PSAzMjsKKyMgIGVsc2UKKwkJdHJhcCA9IHB0cmFjZShQVFJBQ0VfUEVFS1RFWFQsIHRjcC0+cGlkLCAoY2hhciAqKXJlZ3MucGMsIDApOworIyAgZW5kaWYKKwkJaWYgKGVycm5vKQorCQkJcmV0dXJuIC0xOworCisJCS8qIERpc2Fzc2VtYmxlIHRoZSB0cmFwIHRvIHNlZSB3aGF0IHBlcnNvbmFsaXR5IHRvIHVzZS4gKi8KKwkJc3dpdGNoICh0cmFwKSB7CisJCWNhc2UgMHg5MWQwMjAxMDoKKwkJCS8qIExpbnV4L1NQQVJDIHN5c2NhbGwgdHJhcC4gKi8KKwkJCXNldF9wZXJzb25hbGl0eSgwKTsKKwkJCWJyZWFrOworCQljYXNlIDB4OTFkMDIwNmQ6CisJCQkvKiBMaW51eC9TUEFSQzY0IHN5c2NhbGwgdHJhcC4gKi8KKwkJCXNldF9wZXJzb25hbGl0eSgyKTsKKwkJCWJyZWFrOworCQljYXNlIDB4OTFkMDIwMDA6CisJCQkvKiBTdW5PUyBzeXNjYWxsIHRyYXAuIChwZXJzIDEpICovCisJCQlmcHJpbnRmKHN0ZGVyciwic3lzY2FsbDogU3VuT1Mgbm8gc3VwcG9ydFxuIik7CisJCQlyZXR1cm4gLTE7CisJCWNhc2UgMHg5MWQwMjAwODoKKwkJCS8qIFNvbGFyaXMgMi54IHN5c2NhbGwgdHJhcC4gKHBlciAyKSAqLworCQkJc2V0X3BlcnNvbmFsaXR5KDEpOworCQkJYnJlYWs7CisJCWNhc2UgMHg5MWQwMjAwOToKKwkJCS8qIE5ldEJTRC9GcmVlQlNEIHN5c2NhbGwgdHJhcC4gKi8KKwkJCWZwcmludGYoc3RkZXJyLCJzeXNjYWxsOiBOZXRCU0QvRnJlZUJTRCBub3Qgc3VwcG9ydGVkXG4iKTsKKwkJCXJldHVybiAtMTsKKwkJY2FzZSAweDkxZDAyMDI3OgorCQkJLyogU29sYXJpcyAyLnggZ2V0dGltZW9mZGF5ICovCisJCQlzZXRfcGVyc29uYWxpdHkoMSk7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCS8qIFVua25vd24gc3lzY2FsbCB0cmFwLiAqLworCQkJaWYodGNwLT5mbGFncyAmIFRDQl9XQUlURVhFQ1ZFKSB7CisJCQkJdGNwLT5mbGFncyAmPSB+VENCX1dBSVRFWEVDVkU7CisJCQkJcmV0dXJuIDA7CisJCQl9CisjICBpZiBkZWZpbmVkIChTUEFSQzY0KQorCQkJZnByaW50ZihzdGRlcnIsInN5c2NhbGw6IHVua25vd24gc3lzY2FsbCB0cmFwICUwOGx4ICUwMTZseFxuIiwgdHJhcCwgcmVncy50cGMpOworIyAgZWxzZQorCQkJZnByaW50ZihzdGRlcnIsInN5c2NhbGw6IHVua25vd24gc3lzY2FsbCB0cmFwICUwOGx4ICUwOGx4XG4iLCB0cmFwLCByZWdzLnBjKTsKKyMgIGVuZGlmCisJCQlyZXR1cm4gLTE7CisJCX0KKworCQkvKiBFeHRyYWN0IHRoZSBzeXN0ZW0gY2FsbCBudW1iZXIgZnJvbSB0aGUgcmVnaXN0ZXJzLiAqLworCQlpZiAodHJhcCA9PSAweDkxZDAyMDI3KQorCQkJc2NubyA9IDE1NjsKKwkJZWxzZQorCQkJc2NubyA9IHJlZ3MudV9yZWdzW1VfUkVHX0cxXTsKKwkJaWYgKHNjbm8gPT0gMCkgeworCQkJc2NubyA9IHJlZ3MudV9yZWdzW1VfUkVHX08wXTsKKwkJCW1lbW1vdmUgKCZyZWdzLnVfcmVnc1tVX1JFR19PMF0sICZyZWdzLnVfcmVnc1tVX1JFR19PMV0sIDcqc2l6ZW9mKHJlZ3MudV9yZWdzWzBdKSk7CisJCX0KKwl9CisjIGVsaWYgZGVmaW5lZChIUFBBKQorCWlmICh1cGVlayh0Y3AsIFBUX0dSMjAsICZzY25vKSA8IDApCisJCXJldHVybiAtMTsKKwlpZiAoISh0Y3AtPmZsYWdzICYgVENCX0lOU1lTQ0FMTCkpIHsKKwkJLyogQ2hlY2sgaWYgd2UgcmV0dXJuIGZyb20gZXhlY3ZlLiAqLworCQlpZiAoKHRjcC0+ZmxhZ3MgJiBUQ0JfV0FJVEVYRUNWRSkpIHsKKwkJCXRjcC0+ZmxhZ3MgJj0gflRDQl9XQUlURVhFQ1ZFOworCQkJcmV0dXJuIDA7CisJCX0KKwl9CisjIGVsaWYgZGVmaW5lZChTSCkKKwkvKgorCSAqIEluIHRoZSBuZXcgc3lzY2FsbCBBQkksIHRoZSBzeXN0ZW0gY2FsbCBudW1iZXIgaXMgaW4gUjMuCisJICovCisJaWYgKHVwZWVrKHRjcCwgNCooUkVHX1JFRzArMyksICZzY25vKSA8IDApCisJCXJldHVybiAtMTsKKworCWlmIChzY25vIDwgMCkgeworCQkvKiBPZGQgYXMgaXQgbWF5IHNlZW0sIGEgZ2xpYmMgYnVnIGhhcyBiZWVuIGtub3duIHRvIGNhdXNlCisJCSAgIGdsaWJjIHRvIGlzc3VlIGJvZ3VzIG5lZ2F0aXZlIHN5c2NhbGwgbnVtYmVycy4gIFNvIGZvcgorCQkgICBvdXIgcHVycG9zZXMsIG1ha2Ugc3RyYWNlIHByaW50IHdoYXQgaXQgKnNob3VsZCogaGF2ZSBiZWVuICovCisJCWxvbmcgY29ycmVjdF9zY25vID0gKHNjbm8gJiAweGZmKTsKKwkJaWYgKGRlYnVnKQorCQkJZnByaW50ZihzdGRlcnIsCisJCQkJIkRldGVjdGVkIGdsaWJjIGJ1ZzogYm9ndXMgc3lzdGVtIGNhbGwiCisJCQkJIiBudW1iZXIgPSAlbGQsIGNvcnJlY3RpbmcgdG8gJWxkXG4iLAorCQkJCXNjbm8sCisJCQkJY29ycmVjdF9zY25vKTsKKwkJc2NubyA9IGNvcnJlY3Rfc2NubzsKKwl9CisKKwlpZiAoISh0Y3AtPmZsYWdzICYgVENCX0lOU1lTQ0FMTCkpIHsKKwkJLyogQ2hlY2sgaWYgd2UgcmV0dXJuIGZyb20gZXhlY3ZlLiAqLworCQlpZiAoc2NubyA9PSAwICYmIHRjcC0+ZmxhZ3MgJiBUQ0JfV0FJVEVYRUNWRSkgeworCQkJdGNwLT5mbGFncyAmPSB+VENCX1dBSVRFWEVDVkU7CisJCQlyZXR1cm4gMDsKKwkJfQorCX0KKyMgZWxpZiBkZWZpbmVkKFNINjQpCisJaWYgKHVwZWVrKHRjcCwgUkVHX1NZU0NBTEwsICZzY25vKSA8IDApCisJCXJldHVybiAtMTsKKwlzY25vICY9IDB4RkZGRjsKKworCWlmICghKHRjcC0+ZmxhZ3MgJiBUQ0JfSU5TWVNDQUxMKSkgeworCQkvKiBDaGVjayBpZiB3ZSByZXR1cm4gZnJvbSBleGVjdmUuICovCisJCWlmICh0Y3AtPmZsYWdzICYgVENCX1dBSVRFWEVDVkUpIHsKKwkJCXRjcC0+ZmxhZ3MgJj0gflRDQl9XQUlURVhFQ1ZFOworCQkJcmV0dXJuIDA7CisJCX0KKwl9CisjIGVsaWYgZGVmaW5lZChDUklTVjEwKSB8fCBkZWZpbmVkKENSSVNWMzIpCisJaWYgKHVwZWVrKHRjcCwgNCpQVF9SOSwgJnNjbm8pIDwgMCkKKwkJcmV0dXJuIC0xOworIyBlbGlmIGRlZmluZWQoVElMRSkKKwlpZiAodXBlZWsodGNwLCBQVFJFR1NfT0ZGU0VUX1JFRygxMCksICZzY25vKSA8IDApCisJCXJldHVybiAtMTsKKworCWlmICghKHRjcC0+ZmxhZ3MgJiBUQ0JfSU5TWVNDQUxMKSkgeworCQkvKiBDaGVjayBpZiB3ZSByZXR1cm4gZnJvbSBleGVjdmUuICovCisJCWlmICh0Y3AtPmZsYWdzICYgVENCX1dBSVRFWEVDVkUpIHsKKwkJCXRjcC0+ZmxhZ3MgJj0gflRDQl9XQUlURVhFQ1ZFOworCQkJcmV0dXJuIDA7CisJCX0KKwl9CisjIGVuZGlmCisjZW5kaWYgLyogTElOVVggKi8KKworI2lmZGVmIFNVTk9TNAorCWlmICh1cGVlayh0Y3AsIHVvZmYodV9hcmdbN10pLCAmc2NubykgPCAwKQorCQlyZXR1cm4gLTE7CisjZWxpZiBkZWZpbmVkKFNIKQorCS8qIG5ldyBzeXNjYWxsIEFCSSByZXR1cm5zIHJlc3VsdCBpbiBSMCAqLworCWlmICh1cGVlayh0Y3AsIDQqUkVHX1JFRzAsIChsb25nICopJnIwKSA8IDApCisJCXJldHVybiAtMTsKKyNlbGlmIGRlZmluZWQoU0g2NCkKKwkvKiBBQkkgZGVmaW5lcyByZXN1bHQgcmV0dXJuZWQgaW4gcjkgKi8KKwlpZiAodXBlZWsodGNwLCBSRUdfR0VORVJBTCg5KSwgKGxvbmcgKikmcjkpIDwgMCkKKwkJcmV0dXJuIC0xOworI2VuZGlmCisKKyNpZmRlZiBVU0VfUFJPQ0ZTCisjIGlmZGVmIEhBVkVfUFJfU1lTQ0FMTAorCXNjbm8gPSB0Y3AtPnN0YXR1cy5QUl9TWVNDQUxMOworIyBlbHNlCisjICBpZm5kZWYgRlJFRUJTRAorCXNjbm8gPSB0Y3AtPnN0YXR1cy5QUl9XSEFUOworIyAgZWxzZQorCWlmIChwcmVhZCh0Y3AtPnBmZF9yZWcsICZyZWdzLCBzaXplb2YocmVncyksIDApIDwgMCkgeworCQlwZXJyb3IoInByZWFkIik7CisJCXJldHVybiAtMTsKKwl9CisJc3dpdGNoIChyZWdzLnJfZWF4KSB7CisJY2FzZSBTWVNfc3lzY2FsbDoKKwljYXNlIFNZU19fX3N5c2NhbGw6CisJCXByZWFkKHRjcC0+cGZkLCAmc2Nubywgc2l6ZW9mKHNjbm8pLCByZWdzLnJfZXNwICsgc2l6ZW9mKGludCkpOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlzY25vID0gcmVncy5yX2VheDsKKwkJYnJlYWs7CisJfQorIyAgZW5kaWYgLyogRlJFRUJTRCAqLworIyBlbmRpZiAvKiAhSEFWRV9QUl9TWVNDQUxMICovCisjZW5kaWYgLyogVVNFX1BST0NGUyAqLworCisJaWYgKCEodGNwLT5mbGFncyAmIFRDQl9JTlNZU0NBTEwpKQorCQl0Y3AtPnNjbm8gPSBzY25vOworCXJldHVybiAxOworfQorCisKK2xvbmcKK2tub3duX3Njbm8odGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCWxvbmcgc2NubyA9IHRjcC0+c2NubzsKKwlpZiAoc2NubyA+PSAwICYmIHNjbm8gPCBuc3lzY2FsbHMgJiYgc3lzZW50W3Njbm9dLm5hdGl2ZV9zY25vICE9IDApCisJCXNjbm8gPSBzeXNlbnRbc2Nub10ubmF0aXZlX3Njbm87CisJZWxzZQorCQlzY25vICs9IE5SX1NZU0NBTExfQkFTRTsKKwlyZXR1cm4gc2NubzsKK30KKworLyogQ2FsbGVkIGluIHRyYWNlX3N5c2NhbGwoKSBhdCBlYWNoIHN5c2NhbGwgZW50cnkgYW5kIGV4aXQuCisgKiBSZXR1cm5zOgorICogMDogImlnbm9yZSB0aGlzIHN5c2NhbGwiLCBiYWlsIG91dCBvZiB0cmFjZV9zeXNjYWxsKCkgc2lsZW50bHkuCisgKiAxOiBvaywgY29udGludWUgaW4gdHJhY2Vfc3lzY2FsbCgpLgorICogb3RoZXI6IGVycm9yLCB0cmFjZV9zeXNjYWxsKCkgc2hvdWxkIHByaW50IGVycm9yIGluZGljYXRvcgorICogICAgKCI/Pz8/IiBldGMpIGFuZCBiYWlsIG91dC4KKyAqLworc3RhdGljIGludAorc3lzY2FsbF9maXh1cChzdHJ1Y3QgdGNiICp0Y3ApCit7CisjaWZkZWYgVVNFX1BST0NGUworCWludCBzY25vID0ga25vd25fc2Nubyh0Y3ApOworCisJaWYgKCEodGNwLT5mbGFncyAmIFRDQl9JTlNZU0NBTEwpKSB7CisJCWlmICh0Y3AtPnN0YXR1cy5QUl9XSFkgIT0gUFJfU1lTRU5UUlkpIHsKKwkJCWlmICgKKwkJCSAgICBzY25vID09IFNZU19mb3JrCisjaWZkZWYgU1lTX3Zmb3JrCisJCQkgICAgfHwgc2NubyA9PSBTWVNfdmZvcmsKKyNlbmRpZiAvKiBTWVNfdmZvcmsgKi8KKyNpZmRlZiBTWVNfZm9yazEKKwkJCSAgICB8fCBzY25vID09IFNZU19mb3JrMQorI2VuZGlmIC8qIFNZU19mb3JrMSAqLworI2lmZGVmIFNZU19mb3JrYWxsCisJCQkgICAgfHwgc2NubyA9PSBTWVNfZm9ya2FsbAorI2VuZGlmIC8qIFNZU19mb3JrYWxsICovCisjaWZkZWYgU1lTX3Jmb3JrMQorCQkJICAgIHx8IHNjbm8gPT0gU1lTX3Jmb3JrMQorI2VuZGlmIC8qIFNZU19mb3JrMSAqLworI2lmZGVmIFNZU19yZm9ya2FsbAorCQkJICAgIHx8IHNjbm8gPT0gU1lTX3Jmb3JrYWxsCisjZW5kaWYgLyogU1lTX3Jmb3JrYWxsICovCisJCQkgICAgKSB7CisJCQkJLyogV2UgYXJlIHJldHVybmluZyBpbiB0aGUgY2hpbGQsIGZha2UgaXQuICovCisJCQkJdGNwLT5zdGF0dXMuUFJfV0hZID0gUFJfU1lTRU5UUlk7CisJCQkJdHJhY2Vfc3lzY2FsbCh0Y3ApOworCQkJCXRjcC0+c3RhdHVzLlBSX1dIWSA9IFBSX1NZU0VYSVQ7CisJCQl9CisJCQllbHNlIHsKKwkJCQlmcHJpbnRmKHN0ZGVyciwgInN5c2NhbGw6IG1pc3NpbmcgZW50cnlcbiIpOworCQkJCXRjcC0+ZmxhZ3MgfD0gVENCX0lOU1lTQ0FMTDsKKwkJCX0KKwkJfQorCX0KKwllbHNlIHsKKwkJaWYgKHRjcC0+c3RhdHVzLlBSX1dIWSAhPSBQUl9TWVNFWElUKSB7CisJCQlmcHJpbnRmKHN0ZGVyciwgInN5c2NhbGw6IG1pc3NpbmcgZXhpdFxuIik7CisJCQl0Y3AtPmZsYWdzICY9IH5UQ0JfSU5TWVNDQUxMOworCQl9CisJfQorI2VuZGlmIC8qIFVTRV9QUk9DRlMgKi8KKyNpZmRlZiBTVU5PUzQKKwlpZiAoISh0Y3AtPmZsYWdzICYgVENCX0lOU1lTQ0FMTCkpIHsKKwkJaWYgKHNjbm8gPT0gMCkgeworCQkJZnByaW50ZihzdGRlcnIsICJzeXNjYWxsOiBtaXNzaW5nIGVudHJ5XG4iKTsKKwkJCXRjcC0+ZmxhZ3MgfD0gVENCX0lOU1lTQ0FMTDsKKwkJfQorCX0KKwllbHNlIHsKKwkJaWYgKHNjbm8gIT0gMCkgeworCQkJaWYgKGRlYnVnKSB7CisJCQkJLyoKKwkJCQkgKiBUaGlzIGhhcHBlbnMgd2hlbiBhIHNpZ25hbCBoYW5kbGVyCisJCQkJICogZm9yIGEgc2lnbmFsIHdoaWNoIGludGVycnVwdGVkIGEKKwkJCQkgKiBhIHN5c3RlbSBjYWxsIG1ha2VzIGFub3RoZXIgc3lzdGVtIGNhbGwuCisJCQkJICovCisJCQkJZnByaW50ZihzdGRlcnIsICJzeXNjYWxsOiBtaXNzaW5nIGV4aXRcbiIpOworCQkJfQorCQkJdGNwLT5mbGFncyAmPSB+VENCX0lOU1lTQ0FMTDsKKwkJfQorCX0KKyNlbmRpZiAvKiBTVU5PUzQgKi8KKyNpZmRlZiBMSU5VWAorI2lmIGRlZmluZWQgKEkzODYpCisJaWYgKHVwZWVrKHRjcCwgNCpFQVgsICZlYXgpIDwgMCkKKwkJcmV0dXJuIC0xOworCWlmIChlYXggIT0gLUVOT1NZUyAmJiAhKHRjcC0+ZmxhZ3MgJiBUQ0JfSU5TWVNDQUxMKSkgeworCQlpZiAoZGVidWcpCisJCQlmcHJpbnRmKHN0ZGVyciwgInN0cmF5IHN5c2NhbGwgZXhpdDogZWF4ID0gJWxkXG4iLCBlYXgpOworCQlyZXR1cm4gMDsKKwl9CisjZWxpZiBkZWZpbmVkIChYODZfNjQpCisJaWYgKHVwZWVrKHRjcCwgOCpSQVgsICZyYXgpIDwgMCkKKwkJcmV0dXJuIC0xOworCWlmIChjdXJyZW50X3BlcnNvbmFsaXR5ID09IDEpCisJCXJheCA9IChsb25nIGludCkoaW50KXJheDsgLyogc2lnbiBleHRlbmQgZnJvbSAzMiBiaXRzICovCisJaWYgKHJheCAhPSAtRU5PU1lTICYmICEodGNwLT5mbGFncyAmIFRDQl9JTlNZU0NBTEwpKSB7CisJCWlmIChkZWJ1ZykKKwkJCWZwcmludGYoc3RkZXJyLCAic3RyYXkgc3lzY2FsbCBleGl0OiByYXggPSAlbGRcbiIsIHJheCk7CisJCXJldHVybiAwOworCX0KKyNlbGlmIGRlZmluZWQgKFMzOTApIHx8IGRlZmluZWQgKFMzOTBYKQorCWlmICh1cGVlayh0Y3AsIFBUX0dQUjIsICZncHIyKSA8IDApCisJCXJldHVybiAtMTsKKwlpZiAoc3lzY2FsbF9tb2RlICE9IC1FTk9TWVMpCisJCXN5c2NhbGxfbW9kZSA9IHRjcC0+c2NubzsKKwlpZiAoZ3ByMiAhPSBzeXNjYWxsX21vZGUgJiYgISh0Y3AtPmZsYWdzICYgVENCX0lOU1lTQ0FMTCkpIHsKKwkJaWYgKGRlYnVnKQorCQkJZnByaW50ZihzdGRlcnIsICJzdHJheSBzeXNjYWxsIGV4aXQ6IGdwcjIgPSAlbGRcbiIsIGdwcjIpOworCQlyZXR1cm4gMDsKKwl9CisJZWxzZSBpZiAoKCh0Y3AtPmZsYWdzICYgKFRDQl9JTlNZU0NBTEx8VENCX1dBSVRFWEVDVkUpKQorCQkgID09IChUQ0JfSU5TWVNDQUxMfFRDQl9XQUlURVhFQ1ZFKSkKKwkJICYmIChncHIyID09IC1FTk9TWVMgfHwgZ3ByMiA9PSB0Y3AtPnNjbm8pKSB7CisJCS8qCisJCSAqIEZha2UgYSByZXR1cm4gdmFsdWUgb2YgemVyby4gIFdlIGxlYXZlIHRoZSBUQ0JfV0FJVEVYRUNWRQorCQkgKiBmbGFnIHNldCBmb3IgdGhlIHBvc3QtZXhlY3ZlIFNJR1RSQVAgdG8gc2VlIGFuZCByZXNldC4KKwkJICovCisJCWdwcjIgPSAwOworCX0KKyNlbGlmIGRlZmluZWQgKFBPV0VSUEMpCisjIGRlZmluZSBTT19NQVNLIDB4MTAwMDAwMDAKKwlpZiAodXBlZWsodGNwLCBzaXplb2YodW5zaWduZWQgbG9uZykqUFRfQ0NSLCAmZmxhZ3MpIDwgMCkKKwkJcmV0dXJuIC0xOworCWlmICh1cGVlayh0Y3AsIHNpemVvZih1bnNpZ25lZCBsb25nKSpQVF9SMywgJnJlc3VsdCkgPCAwKQorCQlyZXR1cm4gLTE7CisJaWYgKGZsYWdzICYgU09fTUFTSykKKwkJcmVzdWx0ID0gLXJlc3VsdDsKKyNlbGlmIGRlZmluZWQgKE02OEspCisJaWYgKHVwZWVrKHRjcCwgNCpQVF9EMCwgJmQwKSA8IDApCisJCXJldHVybiAtMTsKKwlpZiAoZDAgIT0gLUVOT1NZUyAmJiAhKHRjcC0+ZmxhZ3MgJiBUQ0JfSU5TWVNDQUxMKSkgeworCQlpZiAoZGVidWcpCisJCQlmcHJpbnRmKHN0ZGVyciwgInN0cmF5IHN5c2NhbGwgZXhpdDogZDAgPSAlbGRcbiIsIGQwKTsKKwkJcmV0dXJuIDA7CisJfQorI2VsaWYgZGVmaW5lZCAoQVJNKQorCS8qCisJICogTm90aGluZyByZXF1aXJlZAorCSAqLworI2VsaWYgZGVmaW5lZChCRklOKQorCWlmICh1cGVlayh0Y3AsIFBUX1IwLCAmcjApIDwgMCkKKwkJcmV0dXJuIC0xOworI2VsaWYgZGVmaW5lZCAoSFBQQSkKKwlpZiAodXBlZWsodGNwLCBQVF9HUjI4LCAmcjI4KSA8IDApCisJCXJldHVybiAtMTsKKyNlbGlmIGRlZmluZWQoSUE2NCkKKwlpZiAodXBlZWsodGNwLCBQVF9SMTAsICZyMTApIDwgMCkKKwkJcmV0dXJuIC0xOworCWlmICh1cGVlayh0Y3AsIFBUX1I4LCAmcjgpIDwgMCkKKwkJcmV0dXJuIC0xOworCWlmIChpYTMyICYmIHI4ICE9IC1FTk9TWVMgJiYgISh0Y3AtPmZsYWdzICYgVENCX0lOU1lTQ0FMTCkpIHsKKwkJaWYgKGRlYnVnKQorCQkJZnByaW50ZihzdGRlcnIsICJzdHJheSBzeXNjYWxsIGV4aXQ6IHI4ID0gJWxkXG4iLCByOCk7CisJCXJldHVybiAwOworCX0KKyNlbGlmIGRlZmluZWQoQ1JJU1YxMCkgfHwgZGVmaW5lZChDUklTVjMyKQorCWlmICh1cGVlayh0Y3AsIDQqUFRfUjEwLCAmcjEwKSA8IDApCisJCXJldHVybiAtMTsKKwlpZiAocjEwICE9IC1FTk9TWVMgJiYgISh0Y3AtPmZsYWdzICYgVENCX0lOU1lTQ0FMTCkpIHsKKwkJaWYgKGRlYnVnKQorCQkJZnByaW50ZihzdGRlcnIsICJzdHJheSBzeXNjYWxsIGV4aXQ6IHIxMCA9ICVsZFxuIiwgcjEwKTsKKwkJcmV0dXJuIDA7CisJfQorI2VuZGlmCisjZW5kaWYgLyogTElOVVggKi8KKwlyZXR1cm4gMTsKK30KKworI2lmZGVmIExJTlVYCisvKgorICogQ2hlY2sgdGhlIHN5c2NhbGwgcmV0dXJuIHZhbHVlIHJlZ2lzdGVyIHZhbHVlIGZvciB3aGV0aGVyIGl0IGlzCisgKiBhIG5lZ2F0ZWQgZXJybm8gY29kZSBpbmRpY2F0aW5nIGFuIGVycm9yLCBvciBhIHN1Y2Nlc3MgcmV0dXJuIHZhbHVlLgorICovCitzdGF0aWMgaW5saW5lIGludAoraXNfbmVnYXRlZF9lcnJubyh1bnNpZ25lZCBsb25nIGludCB2YWwpCit7CisJdW5zaWduZWQgbG9uZyBpbnQgbWF4ID0gLShsb25nIGludCkgbmVycm5vczsKKwlpZiAocGVyc29uYWxpdHlfd29yZHNpemVbY3VycmVudF9wZXJzb25hbGl0eV0gPCBzaXplb2YodmFsKSkgeworCQl2YWwgPSAodW5zaWduZWQgaW50KSB2YWw7CisJCW1heCA9ICh1bnNpZ25lZCBpbnQpIG1heDsKKwl9CisJcmV0dXJuIHZhbCA+IG1heDsKK30KKyNlbmRpZgorCitzdGF0aWMgaW50CitnZXRfZXJyb3Ioc3RydWN0IHRjYiAqdGNwKQoreworCWludCB1X2Vycm9yID0gMDsKKyNpZmRlZiBMSU5VWAorIyBpZiBkZWZpbmVkKFMzOTApIHx8IGRlZmluZWQoUzM5MFgpCisJaWYgKGlzX25lZ2F0ZWRfZXJybm8oZ3ByMikpIHsKKwkJdGNwLT51X3J2YWwgPSAtMTsKKwkJdV9lcnJvciA9IC1ncHIyOworCX0KKwllbHNlIHsKKwkJdGNwLT51X3J2YWwgPSBncHIyOworCQl1X2Vycm9yID0gMDsKKwl9CisjIGVsaWYgZGVmaW5lZChJMzg2KQorCWlmIChpc19uZWdhdGVkX2Vycm5vKGVheCkpIHsKKwkJdGNwLT51X3J2YWwgPSAtMTsKKwkJdV9lcnJvciA9IC1lYXg7CisJfQorCWVsc2UgeworCQl0Y3AtPnVfcnZhbCA9IGVheDsKKwkJdV9lcnJvciA9IDA7CisJfQorIyBlbGlmIGRlZmluZWQoWDg2XzY0KQorCWlmIChpc19uZWdhdGVkX2Vycm5vKHJheCkpIHsKKwkJdGNwLT51X3J2YWwgPSAtMTsKKwkJdV9lcnJvciA9IC1yYXg7CisJfQorCWVsc2UgeworCQl0Y3AtPnVfcnZhbCA9IHJheDsKKwkJdV9lcnJvciA9IDA7CisJfQorIyBlbGlmIGRlZmluZWQoSUE2NCkKKwlpZiAoaWEzMikgeworCQlpbnQgZXJyOworCisJCWVyciA9IChpbnQpcjg7CisJCWlmIChpc19uZWdhdGVkX2Vycm5vKGVycikpIHsKKwkJCXRjcC0+dV9ydmFsID0gLTE7CisJCQl1X2Vycm9yID0gLWVycjsKKwkJfQorCQllbHNlIHsKKwkJCXRjcC0+dV9ydmFsID0gZXJyOworCQkJdV9lcnJvciA9IDA7CisJCX0KKwl9IGVsc2UgeworCQlpZiAocjEwKSB7CisJCQl0Y3AtPnVfcnZhbCA9IC0xOworCQkJdV9lcnJvciA9IHI4OworCQl9IGVsc2UgeworCQkJdGNwLT51X3J2YWwgPSByODsKKwkJCXVfZXJyb3IgPSAwOworCQl9CisJfQorIyBlbGlmIGRlZmluZWQoTUlQUykKKwkJaWYgKGEzKSB7CisJCQl0Y3AtPnVfcnZhbCA9IC0xOworCQkJdV9lcnJvciA9IHIyOworCQl9IGVsc2UgeworCQkJdGNwLT51X3J2YWwgPSByMjsKKwkJCXVfZXJyb3IgPSAwOworCQl9CisjIGVsaWYgZGVmaW5lZChQT1dFUlBDKQorCQlpZiAoaXNfbmVnYXRlZF9lcnJubyhyZXN1bHQpKSB7CisJCQl0Y3AtPnVfcnZhbCA9IC0xOworCQkJdV9lcnJvciA9IC1yZXN1bHQ7CisJCX0KKwkJZWxzZSB7CisJCQl0Y3AtPnVfcnZhbCA9IHJlc3VsdDsKKwkJCXVfZXJyb3IgPSAwOworCQl9CisjIGVsaWYgZGVmaW5lZChNNjhLKQorCQlpZiAoaXNfbmVnYXRlZF9lcnJubyhkMCkpIHsKKwkJCXRjcC0+dV9ydmFsID0gLTE7CisJCQl1X2Vycm9yID0gLWQwOworCQl9CisJCWVsc2UgeworCQkJdGNwLT51X3J2YWwgPSBkMDsKKwkJCXVfZXJyb3IgPSAwOworCQl9CisjIGVsaWYgZGVmaW5lZChBUk0pCisJCWlmIChpc19uZWdhdGVkX2Vycm5vKHJlZ3MuQVJNX3IwKSkgeworCQkJdGNwLT51X3J2YWwgPSAtMTsKKwkJCXVfZXJyb3IgPSAtcmVncy5BUk1fcjA7CisJCX0KKwkJZWxzZSB7CisJCQl0Y3AtPnVfcnZhbCA9IHJlZ3MuQVJNX3IwOworCQkJdV9lcnJvciA9IDA7CisJCX0KKyMgZWxpZiBkZWZpbmVkKEFWUjMyKQorCQlpZiAocmVncy5yMTIgJiYgKHVuc2lnbmVkKSAtcmVncy5yMTIgPCBuZXJybm9zKSB7CisJCQl0Y3AtPnVfcnZhbCA9IC0xOworCQkJdV9lcnJvciA9IC1yZWdzLnIxMjsKKwkJfQorCQllbHNlIHsKKwkJCXRjcC0+dV9ydmFsID0gcmVncy5yMTI7CisJCQl1X2Vycm9yID0gMDsKKwkJfQorIyBlbGlmIGRlZmluZWQoQkZJTikKKwkJaWYgKGlzX25lZ2F0ZWRfZXJybm8ocjApKSB7CisJCQl0Y3AtPnVfcnZhbCA9IC0xOworCQkJdV9lcnJvciA9IC1yMDsKKwkJfSBlbHNlIHsKKwkJCXRjcC0+dV9ydmFsID0gcjA7CisJCQl1X2Vycm9yID0gMDsKKwkJfQorIyBlbGlmIGRlZmluZWQoQUxQSEEpCisJCWlmIChhMykgeworCQkJdGNwLT51X3J2YWwgPSAtMTsKKwkJCXVfZXJyb3IgPSByMDsKKwkJfQorCQllbHNlIHsKKwkJCXRjcC0+dV9ydmFsID0gcjA7CisJCQl1X2Vycm9yID0gMDsKKwkJfQorIyBlbGlmIGRlZmluZWQoU1BBUkMpCisJCWlmIChyZWdzLnBzciAmIFBTUl9DKSB7CisJCQl0Y3AtPnVfcnZhbCA9IC0xOworCQkJdV9lcnJvciA9IHJlZ3MudV9yZWdzW1VfUkVHX08wXTsKKwkJfQorCQllbHNlIHsKKwkJCXRjcC0+dV9ydmFsID0gcmVncy51X3JlZ3NbVV9SRUdfTzBdOworCQkJdV9lcnJvciA9IDA7CisJCX0KKyMgZWxpZiBkZWZpbmVkKFNQQVJDNjQpCisJCWlmIChyZWdzLnRzdGF0ZSAmIDB4MTEwMDAwMDAwMFVMKSB7CisJCQl0Y3AtPnVfcnZhbCA9IC0xOworCQkJdV9lcnJvciA9IHJlZ3MudV9yZWdzW1VfUkVHX08wXTsKKwkJfQorCQllbHNlIHsKKwkJCXRjcC0+dV9ydmFsID0gcmVncy51X3JlZ3NbVV9SRUdfTzBdOworCQkJdV9lcnJvciA9IDA7CisJCX0KKyMgZWxpZiBkZWZpbmVkKEhQUEEpCisJCWlmIChpc19uZWdhdGVkX2Vycm5vKHIyOCkpIHsKKwkJCXRjcC0+dV9ydmFsID0gLTE7CisJCQl1X2Vycm9yID0gLXIyODsKKwkJfQorCQllbHNlIHsKKwkJCXRjcC0+dV9ydmFsID0gcjI4OworCQkJdV9lcnJvciA9IDA7CisJCX0KKyMgZWxpZiBkZWZpbmVkKFNIKQorCQkvKiBpbnRlcnByZXQgUjAgYXMgcmV0dXJuIHZhbHVlIG9yIGVycm9yIG51bWJlciAqLworCQlpZiAoaXNfbmVnYXRlZF9lcnJubyhyMCkpIHsKKwkJCXRjcC0+dV9ydmFsID0gLTE7CisJCQl1X2Vycm9yID0gLXIwOworCQl9CisJCWVsc2UgeworCQkJdGNwLT51X3J2YWwgPSByMDsKKwkJCXVfZXJyb3IgPSAwOworCQl9CisjIGVsaWYgZGVmaW5lZChTSDY0KQorCQkvKiBpbnRlcnByZXQgcmVzdWx0IGFzIHJldHVybiB2YWx1ZSBvciBlcnJvciBudW1iZXIgKi8KKwkJaWYgKGlzX25lZ2F0ZWRfZXJybm8ocjkpKSB7CisJCQl0Y3AtPnVfcnZhbCA9IC0xOworCQkJdV9lcnJvciA9IC1yOTsKKwkJfQorCQllbHNlIHsKKwkJCXRjcC0+dV9ydmFsID0gcjk7CisJCQl1X2Vycm9yID0gMDsKKwkJfQorIyBlbGlmIGRlZmluZWQoQ1JJU1YxMCkgfHwgZGVmaW5lZChDUklTVjMyKQorCQlpZiAocjEwICYmICh1bnNpZ25lZCkgLXIxMCA8IG5lcnJub3MpIHsKKwkJCXRjcC0+dV9ydmFsID0gLTE7CisJCQl1X2Vycm9yID0gLXIxMDsKKwkJfQorCQllbHNlIHsKKwkJCXRjcC0+dV9ydmFsID0gcjEwOworCQkJdV9lcnJvciA9IDA7CisJCX0KKyMgZWxpZiBkZWZpbmVkKFRJTEUpCisJCWxvbmcgcnZhbDsKKwkJLyogaW50ZXJwcmV0IHJlc3VsdCBhcyByZXR1cm4gdmFsdWUgb3IgZXJyb3IgbnVtYmVyICovCisJCWlmICh1cGVlayh0Y3AsIFBUUkVHU19PRkZTRVRfUkVHKDApLCAmcnZhbCkgPCAwKQorCQkJcmV0dXJuIC0xOworCQlpZiAocnZhbCA8IDAgJiYgcnZhbCA+IC1uZXJybm9zKSB7CisJCQl0Y3AtPnVfcnZhbCA9IC0xOworCQkJdV9lcnJvciA9IC1ydmFsOworCQl9CisJCWVsc2UgeworCQkJdGNwLT51X3J2YWwgPSBydmFsOworCQkJdV9lcnJvciA9IDA7CisJCX0KKyMgZW5kaWYKKyNlbmRpZiAvKiBMSU5VWCAqLworI2lmZGVmIFNVTk9TNAorCQkvKiBnZXQgZXJyb3IgY29kZSBmcm9tIHVzZXIgc3RydWN0ICovCisJCWlmICh1cGVlayh0Y3AsIHVvZmYodV9lcnJvciksICZ1X2Vycm9yKSA8IDApCisJCQlyZXR1cm4gLTE7CisJCXVfZXJyb3IgPj49IDI0OyAvKiB1X2Vycm9yIGlzIGEgY2hhciAqLworCisJCS8qIGdldCBzeXN0ZW0gY2FsbCByZXR1cm4gdmFsdWUgKi8KKwkJaWYgKHVwZWVrKHRjcCwgdW9mZih1X3J2YWwxKSwgJnRjcC0+dV9ydmFsKSA8IDApCisJCQlyZXR1cm4gLTE7CisjZW5kaWYgLyogU1VOT1M0ICovCisjaWZkZWYgU1ZSNAorI2lmZGVmIFNQQVJDCisJCS8qIEp1ZGljaW91cyBndWVzc2luZyBnb2VzIGEgbG9uZyB3YXkuICovCisJCWlmICh0Y3AtPnN0YXR1cy5wcl9yZWdbUl9QU1JdICYgMHgxMDAwMDApIHsKKwkJCXRjcC0+dV9ydmFsID0gLTE7CisJCQl1X2Vycm9yID0gdGNwLT5zdGF0dXMucHJfcmVnW1JfTzBdOworCQl9CisJCWVsc2UgeworCQkJdGNwLT51X3J2YWwgPSB0Y3AtPnN0YXR1cy5wcl9yZWdbUl9PMF07CisJCQl1X2Vycm9yID0gMDsKKwkJfQorI2VuZGlmIC8qIFNQQVJDICovCisjaWZkZWYgSTM4NgorCQkvKiBXYW5uYSBrbm93IGhvdyB0byBraWxsIGFuIGhvdXIgc2luZ2xlLXN0ZXBwaW5nPyAqLworCQlpZiAodGNwLT5zdGF0dXMuUFJfUkVHW0VGTF0gJiAweDEpIHsKKwkJCXRjcC0+dV9ydmFsID0gLTE7CisJCQl1X2Vycm9yID0gdGNwLT5zdGF0dXMuUFJfUkVHW0VBWF07CisJCX0KKwkJZWxzZSB7CisJCQl0Y3AtPnVfcnZhbCA9IHRjcC0+c3RhdHVzLlBSX1JFR1tFQVhdOworI2lmZGVmIEhBVkVfTE9OR19MT05HCisJCQl0Y3AtPnVfbHJ2YWwgPQorCQkJCSgodW5zaWduZWQgbG9uZyBsb25nKSB0Y3AtPnN0YXR1cy5QUl9SRUdbRURYXSA8PCAzMikgKworCQkJCXRjcC0+c3RhdHVzLlBSX1JFR1tFQVhdOworI2VuZGlmCisJCQl1X2Vycm9yID0gMDsKKwkJfQorI2VuZGlmIC8qIEkzODYgKi8KKyNpZmRlZiBYODZfNjQKKwkJLyogV2FubmEga25vdyBob3cgdG8ga2lsbCBhbiBob3VyIHNpbmdsZS1zdGVwcGluZz8gKi8KKwkJaWYgKHRjcC0+c3RhdHVzLlBSX1JFR1tFRkxBR1NdICYgMHgxKSB7CisJCQl0Y3AtPnVfcnZhbCA9IC0xOworCQkJdV9lcnJvciA9IHRjcC0+c3RhdHVzLlBSX1JFR1tSQVhdOworCQl9CisJCWVsc2UgeworCQkJdGNwLT51X3J2YWwgPSB0Y3AtPnN0YXR1cy5QUl9SRUdbUkFYXTsKKwkJCXVfZXJyb3IgPSAwOworCQl9CisjZW5kaWYgLyogWDg2XzY0ICovCisjaWZkZWYgTUlQUworCQlpZiAodGNwLT5zdGF0dXMucHJfcmVnW0NUWF9BM10pIHsKKwkJCXRjcC0+dV9ydmFsID0gLTE7CisJCQl1X2Vycm9yID0gdGNwLT5zdGF0dXMucHJfcmVnW0NUWF9WMF07CisJCX0KKwkJZWxzZSB7CisJCQl0Y3AtPnVfcnZhbCA9IHRjcC0+c3RhdHVzLnByX3JlZ1tDVFhfVjBdOworCQkJdV9lcnJvciA9IDA7CisJCX0KKyNlbmRpZiAvKiBNSVBTICovCisjZW5kaWYgLyogU1ZSNCAqLworI2lmZGVmIEZSRUVCU0QKKwkJaWYgKHJlZ3Mucl9lZmxhZ3MgJiBQU0xfQykgeworCQkJdGNwLT51X3J2YWwgPSAtMTsKKwkJICAgICAgICB1X2Vycm9yID0gcmVncy5yX2VheDsKKwkJfSBlbHNlIHsKKwkJCXRjcC0+dV9ydmFsID0gcmVncy5yX2VheDsKKwkJCXRjcC0+dV9scnZhbCA9CisJCQkgICgodW5zaWduZWQgbG9uZyBsb25nKSByZWdzLnJfZWR4IDw8IDMyKSArICByZWdzLnJfZWF4OworCQkgICAgICAgIHVfZXJyb3IgPSAwOworCQl9CisjZW5kaWYgLyogRlJFRUJTRCAqLworCXRjcC0+dV9lcnJvciA9IHVfZXJyb3I7CisJcmV0dXJuIDE7Cit9CisKK2ludAorZm9yY2VfcmVzdWx0KHRjcCwgZXJyb3IsIHJ2YWwpCisJc3RydWN0IHRjYiAqdGNwOworCWludCBlcnJvcjsKKwlsb25nIHJ2YWw7Cit7CisjaWZkZWYgTElOVVgKKyMgaWYgZGVmaW5lZChTMzkwKSB8fCBkZWZpbmVkKFMzOTBYKQorCWdwcjIgPSBlcnJvciA/IC1lcnJvciA6IHJ2YWw7CisJaWYgKHB0cmFjZShQVFJBQ0VfUE9LRVVTRVIsIHRjcC0+cGlkLCAoY2hhciopUFRfR1BSMiwgZ3ByMikgPCAwKQorCQlyZXR1cm4gLTE7CisjIGVsaWYgZGVmaW5lZChJMzg2KQorCWVheCA9IGVycm9yID8gLWVycm9yIDogcnZhbDsKKwlpZiAocHRyYWNlKFBUUkFDRV9QT0tFVVNFUiwgdGNwLT5waWQsIChjaGFyKikoRUFYICogNCksIGVheCkgPCAwKQorCQlyZXR1cm4gLTE7CisjIGVsaWYgZGVmaW5lZChYODZfNjQpCisJcmF4ID0gZXJyb3IgPyAtZXJyb3IgOiBydmFsOworCWlmIChwdHJhY2UoUFRSQUNFX1BPS0VVU0VSLCB0Y3AtPnBpZCwgKGNoYXIqKShSQVggKiA4KSwgcmF4KSA8IDApCisJCXJldHVybiAtMTsKKyMgZWxpZiBkZWZpbmVkKElBNjQpCisJaWYgKGlhMzIpIHsKKwkJcjggPSBlcnJvciA/IC1lcnJvciA6IHJ2YWw7CisJCWlmIChwdHJhY2UoUFRSQUNFX1BPS0VVU0VSLCB0Y3AtPnBpZCwgKGNoYXIqKShQVF9SOCksIHI4KSA8IDApCisJCQlyZXR1cm4gLTE7CisJfQorCWVsc2UgeworCQlpZiAoZXJyb3IpIHsKKwkJCXI4ID0gZXJyb3I7CisJCQlyMTAgPSAtMTsKKwkJfQorCQllbHNlIHsKKwkJCXI4ID0gcnZhbDsKKwkJCXIxMCA9IDA7CisJCX0KKwkJaWYgKHB0cmFjZShQVFJBQ0VfUE9LRVVTRVIsIHRjcC0+cGlkLCAoY2hhciopKFBUX1I4KSwgcjgpIDwgMCB8fAorCQkgICAgcHRyYWNlKFBUUkFDRV9QT0tFVVNFUiwgdGNwLT5waWQsIChjaGFyKikoUFRfUjEwKSwgcjEwKSA8IDApCisJCQlyZXR1cm4gLTE7CisJfQorIyBlbGlmIGRlZmluZWQoQkZJTikKKwlyMCA9IGVycm9yID8gLWVycm9yIDogcnZhbDsKKwlpZiAocHRyYWNlKFBUUkFDRV9QT0tFVVNFUiwgdGNwLT5waWQsIChjaGFyKilQVF9SMCwgcjApIDwgMCkKKwkJcmV0dXJuIC0xOworIyBlbGlmIGRlZmluZWQoTUlQUykKKwlpZiAoZXJyb3IpIHsKKwkJcjIgPSBlcnJvcjsKKwkJYTMgPSAtMTsKKwl9CisJZWxzZSB7CisJCXIyID0gcnZhbDsKKwkJYTMgPSAwOworCX0KKwkvKiBQVFJBQ0VfUE9LRVVTRVIgaXMgT0sgZXZlbiBmb3IgbjMyIHNpbmNlIHJ2YWwgaXMgb25seSBhIGxvbmcuICAqLworCWlmIChwdHJhY2UoUFRSQUNFX1BPS0VVU0VSLCB0Y3AtPnBpZCwgKGNoYXIqKShSRUdfQTMpLCBhMykgPCAwIHx8CisJICAgIHB0cmFjZShQVFJBQ0VfUE9LRVVTRVIsIHRjcC0+cGlkLCAoY2hhciopKFJFR19WMCksIHIyKSA8IDApCisJCXJldHVybiAtMTsKKyMgZWxpZiBkZWZpbmVkKFBPV0VSUEMpCisJaWYgKHVwZWVrKHRjcCwgc2l6ZW9mKHVuc2lnbmVkIGxvbmcpKlBUX0NDUiwgJmZsYWdzKSA8IDApCisJCXJldHVybiAtMTsKKwlpZiAoZXJyb3IpIHsKKwkJZmxhZ3MgfD0gU09fTUFTSzsKKwkJcmVzdWx0ID0gZXJyb3I7CisJfQorCWVsc2UgeworCQlmbGFncyAmPSB+U09fTUFTSzsKKwkJcmVzdWx0ID0gcnZhbDsKKwl9CisJaWYgKHB0cmFjZShQVFJBQ0VfUE9LRVVTRVIsIHRjcC0+cGlkLCAoY2hhciopKHNpemVvZih1bnNpZ25lZCBsb25nKSpQVF9DQ1IpLCBmbGFncykgPCAwIHx8CisJICAgIHB0cmFjZShQVFJBQ0VfUE9LRVVTRVIsIHRjcC0+cGlkLCAoY2hhciopKHNpemVvZih1bnNpZ25lZCBsb25nKSpQVF9SMyksIHJlc3VsdCkgPCAwKQorCQlyZXR1cm4gLTE7CisjIGVsaWYgZGVmaW5lZChNNjhLKQorCWQwID0gZXJyb3IgPyAtZXJyb3IgOiBydmFsOworCWlmIChwdHJhY2UoUFRSQUNFX1BPS0VVU0VSLCB0Y3AtPnBpZCwgKGNoYXIqKSg0KlBUX0QwKSwgZDApIDwgMCkKKwkJcmV0dXJuIC0xOworIyBlbGlmIGRlZmluZWQoQVJNKQorCXJlZ3MuQVJNX3IwID0gZXJyb3IgPyAtZXJyb3IgOiBydmFsOworCWlmIChwdHJhY2UoUFRSQUNFX1BPS0VVU0VSLCB0Y3AtPnBpZCwgKGNoYXIqKSg0KjApLCByZWdzLkFSTV9yMCkgPCAwKQorCQlyZXR1cm4gLTE7CisjIGVsaWYgZGVmaW5lZChBVlIzMikKKwlyZWdzLnIxMiA9IGVycm9yID8gLWVycm9yIDogcnZhbDsKKwlpZiAocHRyYWNlKFBUUkFDRV9QT0tFVVNFUiwgdGNwLT5waWQsIChjaGFyKilSRUdfUjEyLCByZWdzLnIxMikgPCAwKQorCQlyZXR1cm4gLTE7CisjIGVsaWYgZGVmaW5lZChBTFBIQSkKKwlpZiAoZXJyb3IpIHsKKwkJYTMgPSAtMTsKKwkJcjAgPSBlcnJvcjsKKwl9CisJZWxzZSB7CisJCWEzID0gMDsKKwkJcjAgPSBydmFsOworCX0KKwlpZiAocHRyYWNlKFBUUkFDRV9QT0tFVVNFUiwgdGNwLT5waWQsIChjaGFyKikoUkVHX0EzKSwgYTMpIDwgMCB8fAorCSAgICBwdHJhY2UoUFRSQUNFX1BPS0VVU0VSLCB0Y3AtPnBpZCwgKGNoYXIqKShSRUdfUjApLCByMCkgPCAwKQorCQlyZXR1cm4gLTE7CisjIGVsaWYgZGVmaW5lZChTUEFSQykKKwlpZiAocHRyYWNlKFBUUkFDRV9HRVRSRUdTLCB0Y3AtPnBpZCwgKGNoYXIgKikmcmVncywgMCkgPCAwKQorCQlyZXR1cm4gLTE7CisJaWYgKGVycm9yKSB7CisJCXJlZ3MucHNyIHw9IFBTUl9DOworCQlyZWdzLnVfcmVnc1tVX1JFR19PMF0gPSBlcnJvcjsKKwl9CisJZWxzZSB7CisJCXJlZ3MucHNyICY9IH5QU1JfQzsKKwkJcmVncy51X3JlZ3NbVV9SRUdfTzBdID0gcnZhbDsKKwl9CisJaWYgKHB0cmFjZShQVFJBQ0VfU0VUUkVHUywgdGNwLT5waWQsIChjaGFyICopJnJlZ3MsIDApIDwgMCkKKwkJcmV0dXJuIC0xOworIyBlbGlmIGRlZmluZWQoU1BBUkM2NCkKKwlpZiAocHRyYWNlKFBUUkFDRV9HRVRSRUdTLCB0Y3AtPnBpZCwgKGNoYXIgKikmcmVncywgMCkgPCAwKQorCQlyZXR1cm4gLTE7CisJaWYgKGVycm9yKSB7CisJCXJlZ3MudHN0YXRlIHw9IDB4MTEwMDAwMDAwMFVMOworCQlyZWdzLnVfcmVnc1tVX1JFR19PMF0gPSBlcnJvcjsKKwl9CisJZWxzZSB7CisJCXJlZ3MudHN0YXRlICY9IH4weDExMDAwMDAwMDBVTDsKKwkJcmVncy51X3JlZ3NbVV9SRUdfTzBdID0gcnZhbDsKKwl9CisJaWYgKHB0cmFjZShQVFJBQ0VfU0VUUkVHUywgdGNwLT5waWQsIChjaGFyICopJnJlZ3MsIDApIDwgMCkKKwkJcmV0dXJuIC0xOworIyBlbGlmIGRlZmluZWQoSFBQQSkKKwlyMjggPSBlcnJvciA/IC1lcnJvciA6IHJ2YWw7CisJaWYgKHB0cmFjZShQVFJBQ0VfUE9LRVVTRVIsIHRjcC0+cGlkLCAoY2hhciopKFBUX0dSMjgpLCByMjgpIDwgMCkKKwkJcmV0dXJuIC0xOworIyBlbGlmIGRlZmluZWQoU0gpCisJcjAgPSBlcnJvciA/IC1lcnJvciA6IHJ2YWw7CisJaWYgKHB0cmFjZShQVFJBQ0VfUE9LRVVTRVIsIHRjcC0+cGlkLCAoY2hhciopKDQqUkVHX1JFRzApLCByMCkgPCAwKQorCQlyZXR1cm4gLTE7CisjIGVsaWYgZGVmaW5lZChTSDY0KQorCXI5ID0gZXJyb3IgPyAtZXJyb3IgOiBydmFsOworCWlmIChwdHJhY2UoUFRSQUNFX1BPS0VVU0VSLCB0Y3AtPnBpZCwgKGNoYXIqKVJFR19HRU5FUkFMKDkpLCByOSkgPCAwKQorCQlyZXR1cm4gLTE7CisjIGVuZGlmCisjZW5kaWYgLyogTElOVVggKi8KKworI2lmZGVmIFNVTk9TNAorCWlmIChwdHJhY2UoUFRSQUNFX1BPS0VVU0VSLCB0Y3AtPnBpZCwgKGNoYXIqKXVvZmYodV9lcnJvciksCisJCSAgIGVycm9yIDw8IDI0KSA8IDAgfHwKKwkgICAgcHRyYWNlKFBUUkFDRV9QT0tFVVNFUiwgdGNwLT5waWQsIChjaGFyKil1b2ZmKHVfcnZhbDEpLCBydmFsKSA8IDApCisJCXJldHVybiAtMTsKKyNlbmRpZiAvKiBTVU5PUzQgKi8KKworI2lmZGVmIFNWUjQKKwkvKiBYWFggbm8gY2x1ZSAqLworCXJldHVybiAtMTsKKyNlbmRpZiAvKiBTVlI0ICovCisKKyNpZmRlZiBGUkVFQlNECisJaWYgKHByZWFkKHRjcC0+cGZkX3JlZywgJnJlZ3MsIHNpemVvZihyZWdzKSwgMCkgPCAwKSB7CisJCXBlcnJvcigicHJlYWQiKTsKKwkJcmV0dXJuIC0xOworCX0KKwlpZiAoZXJyb3IpIHsKKwkJcmVncy5yX2VmbGFncyB8PSBQU0xfQzsKKwkJcmVncy5yX2VheCA9IGVycm9yOworCX0KKwllbHNlIHsKKwkJcmVncy5yX2VmbGFncyAmPSB+UFNMX0M7CisJCXJlZ3Mucl9lYXggPSBydmFsOworCX0KKwlpZiAocHdyaXRlKHRjcC0+cGZkX3JlZywgJnJlZ3MsIHNpemVvZihyZWdzKSwgMCkgPCAwKSB7CisJCXBlcnJvcigicHdyaXRlIik7CisJCXJldHVybiAtMTsKKwl9CisjZW5kaWYgLyogRlJFRUJTRCAqLworCisJLyogQWxsIGJyYW5jaGVzIHJlYWNoIGhlcmUgb24gc3VjY2VzcyAob25seSkuICAqLworCXRjcC0+dV9lcnJvciA9IGVycm9yOworCXRjcC0+dV9ydmFsID0gcnZhbDsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludAorc3lzY2FsbF9lbnRlcihzdHJ1Y3QgdGNiICp0Y3ApCit7CisjaWZkZWYgTElOVVgKKyNpZiBkZWZpbmVkKFMzOTApIHx8IGRlZmluZWQoUzM5MFgpCisJeworCQlpbnQgaTsKKwkJaWYgKHRjcC0+c2NubyA+PSAwICYmIHRjcC0+c2NubyA8IG5zeXNjYWxscyAmJiBzeXNlbnRbdGNwLT5zY25vXS5uYXJncyAhPSAtMSkKKwkJCXRjcC0+dV9uYXJncyA9IHN5c2VudFt0Y3AtPnNjbm9dLm5hcmdzOworCQllbHNlCisJCQl0Y3AtPnVfbmFyZ3MgPSBNQVhfQVJHUzsKKwkJZm9yIChpID0gMDsgaSA8IHRjcC0+dV9uYXJnczsgaSsrKSB7CisJCQlpZiAodXBlZWsodGNwLGk9PTAgPyBQVF9PUklHR1BSMjpQVF9HUFIyK2kqc2l6ZW9mKGxvbmcpLCAmdGNwLT51X2FyZ1tpXSkgPCAwKQorCQkJCXJldHVybiAtMTsKKwkJfQorCX0KKyNlbGlmIGRlZmluZWQgKEFMUEhBKQorCXsKKwkJaW50IGk7CisJCWlmICh0Y3AtPnNjbm8gPj0gMCAmJiB0Y3AtPnNjbm8gPCBuc3lzY2FsbHMgJiYgc3lzZW50W3RjcC0+c2Nub10ubmFyZ3MgIT0gLTEpCisJCQl0Y3AtPnVfbmFyZ3MgPSBzeXNlbnRbdGNwLT5zY25vXS5uYXJnczsKKwkJZWxzZQorCQkJdGNwLT51X25hcmdzID0gTUFYX0FSR1M7CisJCWZvciAoaSA9IDA7IGkgPCB0Y3AtPnVfbmFyZ3M7IGkrKykgeworCQkJLyogV1RBOiBpZiBzY25vIGlzIG91dC1vZi1ib3VuZHMgdGhpcyB3aWxsIGJvbWIuIEFkZCByYW5nZS1jaGVjaworCQkJICogZm9yIHNjbm8gc29tZXdoZXJlIGFib3ZlIGhlcmUhCisJCQkgKi8KKwkJCWlmICh1cGVlayh0Y3AsIFJFR19BMCtpLCAmdGNwLT51X2FyZ1tpXSkgPCAwKQorCQkJCXJldHVybiAtMTsKKwkJfQorCX0KKyNlbGlmIGRlZmluZWQgKElBNjQpCisJeworCQlpZiAoIWlhMzIpIHsKKwkJCXVuc2lnbmVkIGxvbmcgKm91dDAsIGNmbSwgc29mLCBzb2wsIGk7CisJCQlsb25nIHJic19lbmQ7CisJCQkvKiBiZSBiYWNrd2FyZHMgY29tcGF0aWJsZSB3aXRoIGtlcm5lbCA8IDIuNC40Li4uICovCisjCQkJaWZuZGVmIFBUX1JCU19FTkQKKyMJCQkgIGRlZmluZSBQVF9SQlNfRU5ECVBUX0FSX0JTUAorIwkJCWVuZGlmCisKKwkJCWlmICh1cGVlayh0Y3AsIFBUX1JCU19FTkQsICZyYnNfZW5kKSA8IDApCisJCQkJcmV0dXJuIC0xOworCQkJaWYgKHVwZWVrKHRjcCwgUFRfQ0ZNLCAobG9uZyAqKSAmY2ZtKSA8IDApCisJCQkJcmV0dXJuIC0xOworCisJCQlzb2YgPSAoY2ZtID4+IDApICYgMHg3ZjsKKwkJCXNvbCA9IChjZm0gPj4gNykgJiAweDdmOworCQkJb3V0MCA9IGlhNjRfcnNlX3NraXBfcmVncygodW5zaWduZWQgbG9uZyAqKSByYnNfZW5kLCAtc29mICsgc29sKTsKKworCQkJaWYgKHRjcC0+c2NubyA+PSAwICYmIHRjcC0+c2NubyA8IG5zeXNjYWxscworCQkJICAgICYmIHN5c2VudFt0Y3AtPnNjbm9dLm5hcmdzICE9IC0xKQorCQkJCXRjcC0+dV9uYXJncyA9IHN5c2VudFt0Y3AtPnNjbm9dLm5hcmdzOworCQkJZWxzZQorCQkJCXRjcC0+dV9uYXJncyA9IE1BWF9BUkdTOworCQkJZm9yIChpID0gMDsgaSA8IHRjcC0+dV9uYXJnczsgKytpKSB7CisJCQkJaWYgKHVtb3Zlbih0Y3AsICh1bnNpZ25lZCBsb25nKSBpYTY0X3JzZV9za2lwX3JlZ3Mob3V0MCwgaSksCisJCQkJCSAgIHNpemVvZihsb25nKSwgKGNoYXIgKikgJnRjcC0+dV9hcmdbaV0pIDwgMCkKKwkJCQkJcmV0dXJuIC0xOworCQkJfQorCQl9IGVsc2UgeworCQkJaW50IGk7CisKKwkJCWlmICgvKiBFQlggPSBvdXQwICovCisJCQkgICAgdXBlZWsodGNwLCBQVF9SMTEsIChsb25nICopICZ0Y3AtPnVfYXJnWzBdKSA8IDAKKwkJCSAgICAvKiBFQ1ggPSBvdXQxICovCisJCQkgICAgfHwgdXBlZWsodGNwLCBQVF9SOSwgIChsb25nICopICZ0Y3AtPnVfYXJnWzFdKSA8IDAKKwkJCSAgICAvKiBFRFggPSBvdXQyICovCisJCQkgICAgfHwgdXBlZWsodGNwLCBQVF9SMTAsIChsb25nICopICZ0Y3AtPnVfYXJnWzJdKSA8IDAKKwkJCSAgICAvKiBFU0kgPSBvdXQzICovCisJCQkgICAgfHwgdXBlZWsodGNwLCBQVF9SMTQsIChsb25nICopICZ0Y3AtPnVfYXJnWzNdKSA8IDAKKwkJCSAgICAvKiBFREkgPSBvdXQ0ICovCisJCQkgICAgfHwgdXBlZWsodGNwLCBQVF9SMTUsIChsb25nICopICZ0Y3AtPnVfYXJnWzRdKSA8IDAKKwkJCSAgICAvKiBFQlAgPSBvdXQ1ICovCisJCQkgICAgfHwgdXBlZWsodGNwLCBQVF9SMTMsIChsb25nICopICZ0Y3AtPnVfYXJnWzVdKSA8IDApCisJCQkJcmV0dXJuIC0xOworCisJCQlmb3IgKGkgPSAwOyBpIDwgNjsgKytpKQorCQkJCS8qIHRydW5jYXRlIGF3YXkgSVZFIHNpZ24tZXh0ZW5zaW9uICovCisJCQkJdGNwLT51X2FyZ1tpXSAmPSAweGZmZmZmZmZmOworCisJCQlpZiAodGNwLT5zY25vID49IDAgJiYgdGNwLT5zY25vIDwgbnN5c2NhbGxzCisJCQkgICAgJiYgc3lzZW50W3RjcC0+c2Nub10ubmFyZ3MgIT0gLTEpCisJCQkJdGNwLT51X25hcmdzID0gc3lzZW50W3RjcC0+c2Nub10ubmFyZ3M7CisJCQllbHNlCisJCQkJdGNwLT51X25hcmdzID0gNTsKKwkJfQorCX0KKyNlbGlmIGRlZmluZWQgKExJTlVYX01JUFNOMzIpIHx8IGRlZmluZWQgKExJTlVYX01JUFNONjQpCisJLyogTjMyIGFuZCBONjQgYm90aCB1c2UgdXAgdG8gc2l4IHJlZ2lzdGVycy4gICovCisJeworCQl1bnNpZ25lZCBsb25nIGxvbmcgcmVnc1szOF07CisJCWludCBpLCBuYXJnczsKKworCQlpZiAodGNwLT5zY25vID49IDAgJiYgdGNwLT5zY25vIDwgbnN5c2NhbGxzICYmIHN5c2VudFt0Y3AtPnNjbm9dLm5hcmdzICE9IC0xKQorCQkJbmFyZ3MgPSB0Y3AtPnVfbmFyZ3MgPSBzeXNlbnRbdGNwLT5zY25vXS5uYXJnczsKKwkJZWxzZQorCQkJbmFyZ3MgPSB0Y3AtPnVfbmFyZ3MgPSBNQVhfQVJHUzsKKworCQlpZiAocHRyYWNlIChQVFJBQ0VfR0VUUkVHUywgdGNwLT5waWQsIE5VTEwsIChsb25nKSAmcmVncykgPCAwKQorCQkJcmV0dXJuIC0xOworCisJCWZvcihpID0gMDsgaSA8IG5hcmdzOyBpKyspIHsKKwkJCXRjcC0+dV9hcmdbaV0gPSByZWdzW1JFR19BMCArIGldOworIyBpZiBkZWZpbmVkIChMSU5VWF9NSVBTTjMyKQorCQkJdGNwLT5leHRfYXJnW2ldID0gcmVnc1tSRUdfQTAgKyBpXTsKKyMgZW5kaWYKKwkJfQorCX0KKyNlbGlmIGRlZmluZWQgKE1JUFMpCisJeworCQlsb25nIHNwOworCQlpbnQgaSwgbmFyZ3M7CisKKwkJaWYgKHRjcC0+c2NubyA+PSAwICYmIHRjcC0+c2NubyA8IG5zeXNjYWxscyAmJiBzeXNlbnRbdGNwLT5zY25vXS5uYXJncyAhPSAtMSkKKwkJCW5hcmdzID0gdGNwLT51X25hcmdzID0gc3lzZW50W3RjcC0+c2Nub10ubmFyZ3M7CisJCWVsc2UKKwkJCW5hcmdzID0gdGNwLT51X25hcmdzID0gTUFYX0FSR1M7CisJCWlmKG5hcmdzID4gNCkgeworCQkJaWYodXBlZWsodGNwLCBSRUdfU1AsICZzcCkgPCAwKQorCQkJCXJldHVybiAtMTsKKwkJCWZvcihpID0gMDsgaSA8IDQ7IGkrKykgeworCQkJCWlmICh1cGVlayh0Y3AsIFJFR19BMCArIGksICZ0Y3AtPnVfYXJnW2ldKTwwKQorCQkJCQlyZXR1cm4gLTE7CisJCQl9CisJCQl1bW92ZW4odGNwLCBzcCsxNiwgKG5hcmdzLTQpICogc2l6ZW9mKHRjcC0+dV9hcmdbMF0pLAorCQkJICAgICAgIChjaGFyICopKHRjcC0+dV9hcmcgKyA0KSk7CisJCX0gZWxzZSB7CisJCQlmb3IoaSA9IDA7IGkgPCBuYXJnczsgaSsrKSB7CisJCQkJaWYgKHVwZWVrKHRjcCwgUkVHX0EwICsgaSwgJnRjcC0+dV9hcmdbaV0pIDwgMCkKKwkJCQkJcmV0dXJuIC0xOworCQkJfQorCQl9CisJfQorI2VsaWYgZGVmaW5lZCAoUE9XRVJQQykKKyMgaWZuZGVmIFBUX09SSUdfUjMKKyMgIGRlZmluZSBQVF9PUklHX1IzIDM0CisjIGVuZGlmCisJeworCQlpbnQgaTsKKwkJaWYgKHRjcC0+c2NubyA+PSAwICYmIHRjcC0+c2NubyA8IG5zeXNjYWxscyAmJiBzeXNlbnRbdGNwLT5zY25vXS5uYXJncyAhPSAtMSkKKwkJCXRjcC0+dV9uYXJncyA9IHN5c2VudFt0Y3AtPnNjbm9dLm5hcmdzOworCQllbHNlCisJCQl0Y3AtPnVfbmFyZ3MgPSBNQVhfQVJHUzsKKwkJZm9yIChpID0gMDsgaSA8IHRjcC0+dV9uYXJnczsgaSsrKSB7CisJCQlpZiAodXBlZWsodGNwLCAoaT09MCkgPworCQkJCShzaXplb2YodW5zaWduZWQgbG9uZykqUFRfT1JJR19SMykgOgorCQkJCSgoaStQVF9SMykqc2l6ZW9mKHVuc2lnbmVkIGxvbmcpKSwKKwkJCQkJJnRjcC0+dV9hcmdbaV0pIDwgMCkKKwkJCQlyZXR1cm4gLTE7CisJCX0KKwl9CisjZWxpZiBkZWZpbmVkIChTUEFSQykgfHwgZGVmaW5lZCAoU1BBUkM2NCkKKwl7CisJCWludCBpOworCisJCWlmICh0Y3AtPnNjbm8gPj0gMCAmJiB0Y3AtPnNjbm8gPCBuc3lzY2FsbHMgJiYgc3lzZW50W3RjcC0+c2Nub10ubmFyZ3MgIT0gLTEpCisJCQl0Y3AtPnVfbmFyZ3MgPSBzeXNlbnRbdGNwLT5zY25vXS5uYXJnczsKKwkJZWxzZQorCQkJdGNwLT51X25hcmdzID0gTUFYX0FSR1M7CisJCWZvciAoaSA9IDA7IGkgPCB0Y3AtPnVfbmFyZ3M7IGkrKykKKwkJCXRjcC0+dV9hcmdbaV0gPSByZWdzLnVfcmVnc1tVX1JFR19PMCArIGldOworCX0KKyNlbGlmIGRlZmluZWQgKEhQUEEpCisJeworCQlpbnQgaTsKKworCQlpZiAodGNwLT5zY25vID49IDAgJiYgdGNwLT5zY25vIDwgbnN5c2NhbGxzICYmIHN5c2VudFt0Y3AtPnNjbm9dLm5hcmdzICE9IC0xKQorCQkJdGNwLT51X25hcmdzID0gc3lzZW50W3RjcC0+c2Nub10ubmFyZ3M7CisJCWVsc2UKKwkJCXRjcC0+dV9uYXJncyA9IE1BWF9BUkdTOworCQlmb3IgKGkgPSAwOyBpIDwgdGNwLT51X25hcmdzOyBpKyspIHsKKwkJCWlmICh1cGVlayh0Y3AsIFBUX0dSMjYtNCppLCAmdGNwLT51X2FyZ1tpXSkgPCAwKQorCQkJCXJldHVybiAtMTsKKwkJfQorCX0KKyNlbGlmIGRlZmluZWQoQVJNKQorCXsKKwkJaW50IGk7CisKKwkJaWYgKHRjcC0+c2NubyA+PSAwICYmIHRjcC0+c2NubyA8IG5zeXNjYWxscyAmJiBzeXNlbnRbdGNwLT5zY25vXS5uYXJncyAhPSAtMSkKKwkJCXRjcC0+dV9uYXJncyA9IHN5c2VudFt0Y3AtPnNjbm9dLm5hcmdzOworCQllbHNlCisJCQl0Y3AtPnVfbmFyZ3MgPSBNQVhfQVJHUzsKKwkJZm9yIChpID0gMDsgaSA8IHRjcC0+dV9uYXJnczsgaSsrKQorCQkJdGNwLT51X2FyZ1tpXSA9IHJlZ3MudXJlZ3NbaV07CisJfQorI2VsaWYgZGVmaW5lZChBVlIzMikKKwl0Y3AtPnVfbmFyZ3MgPSBzeXNlbnRbdGNwLT5zY25vXS5uYXJnczsKKwl0Y3AtPnVfYXJnWzBdID0gcmVncy5yMTI7CisJdGNwLT51X2FyZ1sxXSA9IHJlZ3MucjExOworCXRjcC0+dV9hcmdbMl0gPSByZWdzLnIxMDsKKwl0Y3AtPnVfYXJnWzNdID0gcmVncy5yOTsKKwl0Y3AtPnVfYXJnWzRdID0gcmVncy5yNTsKKwl0Y3AtPnVfYXJnWzVdID0gcmVncy5yMzsKKyNlbGlmIGRlZmluZWQoQkZJTikKKwl7CisJCWludCBpOworCQlpbnQgYXJncmVnW10gPSB7UFRfUjAsIFBUX1IxLCBQVF9SMiwgUFRfUjMsIFBUX1I0LCBQVF9SNX07CisKKwkJaWYgKHRjcC0+c2NubyA+PSAwICYmIHRjcC0+c2NubyA8IG5zeXNjYWxscyAmJiBzeXNlbnRbdGNwLT5zY25vXS5uYXJncyAhPSAtMSkKKwkJCXRjcC0+dV9uYXJncyA9IHN5c2VudFt0Y3AtPnNjbm9dLm5hcmdzOworCQllbHNlCisJCQl0Y3AtPnVfbmFyZ3MgPSBzaXplb2YoYXJncmVnKSAvIHNpemVvZihhcmdyZWdbMF0pOworCisJCWZvciAoaSA9IDA7IGkgPCB0Y3AtPnVfbmFyZ3M7ICsraSkKKwkJCWlmICh1cGVlayh0Y3AsIGFyZ3JlZ1tpXSwgJnRjcC0+dV9hcmdbaV0pIDwgMCkKKwkJCQlyZXR1cm4gLTE7CisJfQorI2VsaWYgZGVmaW5lZChTSCkKKwl7CisJCWludCBpOworCQlzdGF0aWMgaW50IHN5c2NhbGxfcmVnc1tdID0geworCQkJUkVHX1JFRzArNCwgUkVHX1JFRzArNSwgUkVHX1JFRzArNiwgUkVHX1JFRzArNywKKwkJCVJFR19SRUcwLCBSRUdfUkVHMCsxLCBSRUdfUkVHMCsyCisJCX07CisKKwkJdGNwLT51X25hcmdzID0gc3lzZW50W3RjcC0+c2Nub10ubmFyZ3M7CisJCWZvciAoaSA9IDA7IGkgPCB0Y3AtPnVfbmFyZ3M7IGkrKykgeworCQkJaWYgKHVwZWVrKHRjcCwgNCpzeXNjYWxsX3JlZ3NbaV0sICZ0Y3AtPnVfYXJnW2ldKSA8IDApCisJCQkJcmV0dXJuIC0xOworCQl9CisJfQorI2VsaWYgZGVmaW5lZChTSDY0KQorCXsKKwkJaW50IGk7CisJCS8qIFJlZ2lzdGVycyB1c2VkIGJ5IFNINSBMaW51eCBzeXN0ZW0gY2FsbHMgZm9yIHBhcmFtZXRlcnMgKi8KKwkJc3RhdGljIGludCBzeXNjYWxsX3JlZ3NbXSA9IHsgMiwgMywgNCwgNSwgNiwgNyB9OworCisJCS8qCisJCSAqIFRPRE86IHNob3VsZCBhbHNvIGNoZWNrIHRoYXQgdGhlIG51bWJlciBvZiBhcmd1bWVudHMgZW5jb2RlZAorCQkgKiAgICAgICBpbiB0aGUgdHJhcCBudW1iZXIgbWF0Y2hlcyB0aGUgbnVtYmVyIHN0cmFjZSBleHBlY3RzLgorCQkgKi8KKwkJLyoKKwkJYXNzZXJ0KHN5c2VudFt0Y3AtPnNjbm9dLm5hcmdzIDwKKwkJICAgICAgIHNpemVvZihzeXNjYWxsX3JlZ3MpL3NpemVvZihzeXNjYWxsX3JlZ3NbMF0pKTsKKwkJICovCisKKwkJdGNwLT51X25hcmdzID0gc3lzZW50W3RjcC0+c2Nub10ubmFyZ3M7CisJCWZvciAoaSA9IDA7IGkgPCB0Y3AtPnVfbmFyZ3M7IGkrKykgeworCQkJaWYgKHVwZWVrKHRjcCwgUkVHX0dFTkVSQUwoc3lzY2FsbF9yZWdzW2ldKSwgJnRjcC0+dV9hcmdbaV0pIDwgMCkKKwkJCQlyZXR1cm4gLTE7CisJCX0KKwl9CisKKyNlbGlmIGRlZmluZWQoWDg2XzY0KQorCXsKKwkJaW50IGk7CisJCXN0YXRpYyBpbnQgYXJncmVnW1NVUFBPUlRFRF9QRVJTT05BTElUSUVTXVtNQVhfQVJHU10gPSB7CisJCQl7UkRJLFJTSSxSRFgsUjEwLFI4LFI5fSwJLyogeDg2LTY0IEFCSSAqLworCQkJe1JCWCxSQ1gsUkRYLFJTSSxSREksUkJQfQkvKiBpMzg2IEFCSSAqLworCQl9OworCisJCWlmICh0Y3AtPnNjbm8gPj0gMCAmJiB0Y3AtPnNjbm8gPCBuc3lzY2FsbHMgJiYgc3lzZW50W3RjcC0+c2Nub10ubmFyZ3MgIT0gLTEpCisJCQl0Y3AtPnVfbmFyZ3MgPSBzeXNlbnRbdGNwLT5zY25vXS5uYXJnczsKKwkJZWxzZQorCQkJdGNwLT51X25hcmdzID0gTUFYX0FSR1M7CisJCWZvciAoaSA9IDA7IGkgPCB0Y3AtPnVfbmFyZ3M7IGkrKykgeworCQkJaWYgKHVwZWVrKHRjcCwgYXJncmVnW2N1cnJlbnRfcGVyc29uYWxpdHldW2ldKjgsICZ0Y3AtPnVfYXJnW2ldKSA8IDApCisJCQkJcmV0dXJuIC0xOworCQl9CisJfQorI2VsaWYgZGVmaW5lZChDUklTVjEwKSB8fCBkZWZpbmVkKENSSVNWMzIpCisJeworCQlpbnQgaTsKKwkJc3RhdGljIGNvbnN0IGludCBjcmlzcmVnc1tdID0geworCQkJNCpQVF9PUklHX1IxMCwgNCpQVF9SMTEsIDQqUFRfUjEyLAorCQkJNCpQVF9SMTMsIDQqUFRfTU9GLCA0KlBUX1NSUAorCQl9OworCisJCWlmICh0Y3AtPnNjbm8gPj0gMCAmJiB0Y3AtPnNjbm8gPCBuc3lzY2FsbHMpCisJCQl0Y3AtPnVfbmFyZ3MgPSBzeXNlbnRbdGNwLT5zY25vXS5uYXJnczsKKwkJZWxzZQorCQkJdGNwLT51X25hcmdzID0gMDsKKwkJZm9yIChpID0gMDsgaSA8IHRjcC0+dV9uYXJnczsgaSsrKSB7CisJCQlpZiAodXBlZWsodGNwLCBjcmlzcmVnc1tpXSwgJnRjcC0+dV9hcmdbaV0pIDwgMCkKKwkJCQlyZXR1cm4gLTE7CisJCX0KKwl9CisjZWxpZiBkZWZpbmVkKFRJTEUpCisJeworCQlpbnQgaTsKKwkJaWYgKHRjcC0+c2NubyA+PSAwICYmIHRjcC0+c2NubyA8IG5zeXNjYWxscyAmJiBzeXNlbnRbdGNwLT5zY25vXS5uYXJncyAhPSAtMSkKKwkJCXRjcC0+dV9uYXJncyA9IHN5c2VudFt0Y3AtPnNjbm9dLm5hcmdzOworCQllbHNlCisJCQl0Y3AtPnVfbmFyZ3MgPSBNQVhfQVJHUzsKKwkJZm9yIChpID0gMDsgaSA8IHRjcC0+dV9uYXJnczsgKytpKSB7CisJCQlpZiAodXBlZWsodGNwLCBQVFJFR1NfT0ZGU0VUX1JFRyhpKSwgJnRjcC0+dV9hcmdbaV0pIDwgMCkKKwkJCQlyZXR1cm4gLTE7CisJCX0KKwl9CisjZWxzZSAvKiBPdGhlciBhcmNoaXRlY3R1cmUgKGxpa2UgaTM4NikgKDMyYml0cyBzcGVjaWZpYykgKi8KKwl7CisJCWludCBpOworCQlpZiAodGNwLT5zY25vID49IDAgJiYgdGNwLT5zY25vIDwgbnN5c2NhbGxzICYmIHN5c2VudFt0Y3AtPnNjbm9dLm5hcmdzICE9IC0xKQorCQkJdGNwLT51X25hcmdzID0gc3lzZW50W3RjcC0+c2Nub10ubmFyZ3M7CisJCWVsc2UKKwkJCXRjcC0+dV9uYXJncyA9IE1BWF9BUkdTOworCQlmb3IgKGkgPSAwOyBpIDwgdGNwLT51X25hcmdzOyBpKyspIHsKKwkJCWlmICh1cGVlayh0Y3AsIGkqNCwgJnRjcC0+dV9hcmdbaV0pIDwgMCkKKwkJCQlyZXR1cm4gLTE7CisJCX0KKwl9CisjZW5kaWYKKyNlbmRpZiAvKiBMSU5VWCAqLworI2lmZGVmIFNVTk9TNAorCXsKKwkJaW50IGk7CisJCWlmICh0Y3AtPnNjbm8gPj0gMCAmJiB0Y3AtPnNjbm8gPCBuc3lzY2FsbHMgJiYgc3lzZW50W3RjcC0+c2Nub10ubmFyZ3MgIT0gLTEpCisJCQl0Y3AtPnVfbmFyZ3MgPSBzeXNlbnRbdGNwLT5zY25vXS5uYXJnczsKKwkJZWxzZQorCQkJdGNwLT51X25hcmdzID0gTUFYX0FSR1M7CisJCWZvciAoaSA9IDA7IGkgPCB0Y3AtPnVfbmFyZ3M7IGkrKykgeworCQkJc3RydWN0IHVzZXIgKnU7CisKKwkJCWlmICh1cGVlayh0Y3AsIHVvZmYodV9hcmdbMF0pICsKKwkJCSAgICAoaSpzaXplb2YodS0+dV9hcmdbMF0pKSwgJnRjcC0+dV9hcmdbaV0pIDwgMCkKKwkJCQlyZXR1cm4gLTE7CisJCX0KKwl9CisjZW5kaWYgLyogU1VOT1M0ICovCisjaWZkZWYgU1ZSNAorI2lmZGVmIE1JUFMKKwkvKgorCSAqIFNHSSBpcyBicm9rZW46IGV2ZW4gdGhvdWdoIGl0IGhhcyBwcl9zeXNhcmcsIGl0IGRvZXNuJ3QKKwkgKiBzZXQgdGhlbSBvbiBzeXN0ZW0gY2FsbCBlbnRyeS4gIEdldCBhIGNsdWUuCisJICovCisJaWYgKHRjcC0+c2NubyA+PSAwICYmIHRjcC0+c2NubyA8IG5zeXNjYWxscyAmJiBzeXNlbnRbdGNwLT5zY25vXS5uYXJncyAhPSAtMSkKKwkJdGNwLT51X25hcmdzID0gc3lzZW50W3RjcC0+c2Nub10ubmFyZ3M7CisJZWxzZQorCQl0Y3AtPnVfbmFyZ3MgPSB0Y3AtPnN0YXR1cy5wcl9uc3lzYXJnOworCWlmICh0Y3AtPnVfbmFyZ3MgPiA0KSB7CisJCW1lbWNweSh0Y3AtPnVfYXJnLCAmdGNwLT5zdGF0dXMucHJfcmVnW0NUWF9BMF0sCisJCQk0KnNpemVvZih0Y3AtPnVfYXJnWzBdKSk7CisJCXVtb3Zlbih0Y3AsIHRjcC0+c3RhdHVzLnByX3JlZ1tDVFhfU1BdICsgMTYsCisJCQkodGNwLT51X25hcmdzIC0gNCkqc2l6ZW9mKHRjcC0+dV9hcmdbMF0pLCAoY2hhciAqKSAodGNwLT51X2FyZyArIDQpKTsKKwl9CisJZWxzZSB7CisJCW1lbWNweSh0Y3AtPnVfYXJnLCAmdGNwLT5zdGF0dXMucHJfcmVnW0NUWF9BMF0sCisJCQl0Y3AtPnVfbmFyZ3Mqc2l6ZW9mKHRjcC0+dV9hcmdbMF0pKTsKKwl9CisjZWxpZiBVTklYV0FSRSA+PSAyCisJLyoKKwkgKiBMaWtlIFNHSSwgVW5peFdhcmUgZG9lc24ndCBzZXQgcHJfc3lzYXJnIHVudGlsIHN5c3RlbSBjYWxsIGV4aXQKKwkgKi8KKwlpZiAodGNwLT5zY25vID49IDAgJiYgdGNwLT5zY25vIDwgbnN5c2NhbGxzICYmIHN5c2VudFt0Y3AtPnNjbm9dLm5hcmdzICE9IC0xKQorCQl0Y3AtPnVfbmFyZ3MgPSBzeXNlbnRbdGNwLT5zY25vXS5uYXJnczsKKwllbHNlCisJCXRjcC0+dV9uYXJncyA9IHRjcC0+c3RhdHVzLnByX2x3cC5wcl9uc3lzYXJnOworCXVtb3Zlbih0Y3AsIHRjcC0+c3RhdHVzLlBSX1JFR1tVRVNQXSArIDQsCisJCXRjcC0+dV9uYXJncypzaXplb2YodGNwLT51X2FyZ1swXSksIChjaGFyICopIHRjcC0+dV9hcmcpOworI2VsaWYgZGVmaW5lZCAoSEFWRV9QUl9TWVNDQUxMKQorCWlmICh0Y3AtPnNjbm8gPj0gMCAmJiB0Y3AtPnNjbm8gPCBuc3lzY2FsbHMgJiYgc3lzZW50W3RjcC0+c2Nub10ubmFyZ3MgIT0gLTEpCisJCXRjcC0+dV9uYXJncyA9IHN5c2VudFt0Y3AtPnNjbm9dLm5hcmdzOworCWVsc2UKKwkJdGNwLT51X25hcmdzID0gdGNwLT5zdGF0dXMucHJfbnN5c2FyZzsKKwl7CisJCWludCBpOworCQlmb3IgKGkgPSAwOyBpIDwgdGNwLT51X25hcmdzOyBpKyspCisJCQl0Y3AtPnVfYXJnW2ldID0gdGNwLT5zdGF0dXMucHJfc3lzYXJnW2ldOworCX0KKyNlbGlmIGRlZmluZWQgKEkzODYpCisJaWYgKHRjcC0+c2NubyA+PSAwICYmIHRjcC0+c2NubyA8IG5zeXNjYWxscyAmJiBzeXNlbnRbdGNwLT5zY25vXS5uYXJncyAhPSAtMSkKKwkJdGNwLT51X25hcmdzID0gc3lzZW50W3RjcC0+c2Nub10ubmFyZ3M7CisJZWxzZQorCQl0Y3AtPnVfbmFyZ3MgPSA1OworCXVtb3Zlbih0Y3AsIHRjcC0+c3RhdHVzLlBSX1JFR1tVRVNQXSArIDQsCisJCXRjcC0+dV9uYXJncypzaXplb2YodGNwLT51X2FyZ1swXSksIChjaGFyICopIHRjcC0+dV9hcmcpOworI2Vsc2UKKwlJIERPTlQgS05PVyBXSEFUIFRPIERPCisjZW5kaWYgLyogIUhBVkVfUFJfU1lTQ0FMTCAqLworI2VuZGlmIC8qIFNWUjQgKi8KKyNpZmRlZiBGUkVFQlNECisJaWYgKHRjcC0+c2NubyA+PSAwICYmIHRjcC0+c2NubyA8IG5zeXNjYWxscyAmJgorCSAgICBzeXNlbnRbdGNwLT5zY25vXS5uYXJncyA+IHRjcC0+c3RhdHVzLnZhbCkKKwkJdGNwLT51X25hcmdzID0gc3lzZW50W3RjcC0+c2Nub10ubmFyZ3M7CisJZWxzZQorCQl0Y3AtPnVfbmFyZ3MgPSB0Y3AtPnN0YXR1cy52YWw7CisJaWYgKHRjcC0+dV9uYXJncyA8IDApCisJCXRjcC0+dV9uYXJncyA9IDA7CisJaWYgKHRjcC0+dV9uYXJncyA+IE1BWF9BUkdTKQorCQl0Y3AtPnVfbmFyZ3MgPSBNQVhfQVJHUzsKKwlzd2l0Y2gocmVncy5yX2VheCkgeworCWNhc2UgU1lTX19fc3lzY2FsbDoKKwkJcHJlYWQodGNwLT5wZmQsICZ0Y3AtPnVfYXJnLCB0Y3AtPnVfbmFyZ3MgKiBzaXplb2YodW5zaWduZWQgbG9uZyksCisJCSAgICAgIHJlZ3Mucl9lc3AgKyBzaXplb2YoaW50KSArIHNpemVvZihxdWFkX3QpKTsKKwkJYnJlYWs7CisJY2FzZSBTWVNfc3lzY2FsbDoKKwkJcHJlYWQodGNwLT5wZmQsICZ0Y3AtPnVfYXJnLCB0Y3AtPnVfbmFyZ3MgKiBzaXplb2YodW5zaWduZWQgbG9uZyksCisJCSAgICAgIHJlZ3Mucl9lc3AgKyAyICogc2l6ZW9mKGludCkpOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlwcmVhZCh0Y3AtPnBmZCwgJnRjcC0+dV9hcmcsIHRjcC0+dV9uYXJncyAqIHNpemVvZih1bnNpZ25lZCBsb25nKSwKKwkJICAgICAgcmVncy5yX2VzcCArIHNpemVvZihpbnQpKTsKKwkJYnJlYWs7CisJfQorI2VuZGlmIC8qIEZSRUVCU0QgKi8KKwlyZXR1cm4gMTsKK30KKworc3RhdGljIGludAordHJhY2Vfc3lzY2FsbF9leGl0aW5nKHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwlpbnQgc3lzX3JlczsKKwlzdHJ1Y3QgdGltZXZhbCB0djsKKwlpbnQgcmVzLCBzY25vX2dvb2Q7CisJbG9uZyB1X2Vycm9yOworCisJLyogTWVhc3VyZSB0aGUgZXhpdCB0aW1lIGFzIGVhcmx5IGFzIHBvc3NpYmxlIHRvIGF2b2lkIGVycm9ycy4gKi8KKwlpZiAoZHRpbWUgfHwgY2ZsYWcpCisJCWdldHRpbWVvZmRheSgmdHYsIE5VTEwpOworCisJLyogQlRXLCB3aHkgd2UgZG9uJ3QganVzdCBtZW1vcml6ZSBzeXNjYWxsIG5vLiBvbiBlbnRyeQorCSAqIGluIHRjcC0+c29tZXRoaW5nPworCSAqLworCXNjbm9fZ29vZCA9IHJlcyA9IGdldF9zY25vKHRjcCk7CisJaWYgKHJlcyA9PSAwKQorCQlyZXR1cm4gcmVzOworCWlmIChyZXMgPT0gMSkKKwkJcmVzID0gc3lzY2FsbF9maXh1cCh0Y3ApOworCWlmIChyZXMgPT0gMCkKKwkJcmV0dXJuIHJlczsKKwlpZiAocmVzID09IDEpCisJCXJlcyA9IGdldF9lcnJvcih0Y3ApOworCWlmIChyZXMgPT0gMCkKKwkJcmV0dXJuIHJlczsKKwlpZiAocmVzID09IDEpCisJCWludGVybmFsX3N5c2NhbGwodGNwKTsKKworCWlmIChyZXMgPT0gMSAmJiB0Y3AtPnNjbm8gPj0gMCAmJiB0Y3AtPnNjbm8gPCBuc3lzY2FsbHMgJiYKKwkgICAgIShxdWFsX2ZsYWdzW3RjcC0+c2Nub10gJiBRVUFMX1RSQUNFKSkgeworCQl0Y3AtPmZsYWdzICY9IH5UQ0JfSU5TWVNDQUxMOworCQlyZXR1cm4gMDsKKwl9CisKKwlpZiAodGNwLT5mbGFncyAmIFRDQl9SRVBSSU5UKSB7CisJCXByaW50bGVhZGVyKHRjcCk7CisJCXRwcmludGYoIjwuLi4gIik7CisJCWlmIChzY25vX2dvb2QgIT0gMSkKKwkJCXRwcmludGYoIj8/Pz8iKTsKKwkJZWxzZSBpZiAodGNwLT5zY25vID49IG5zeXNjYWxscyB8fCB0Y3AtPnNjbm8gPCAwKQorCQkJdHByaW50Zigic3lzY2FsbF8lbHUiLCB0Y3AtPnNjbm8pOworCQllbHNlCisJCQl0cHJpbnRmKCIlcyIsIHN5c2VudFt0Y3AtPnNjbm9dLnN5c19uYW1lKTsKKwkJdHByaW50ZigiIHJlc3VtZWQ+ICIpOworCX0KKworCWlmIChjZmxhZykgeworCQlzdHJ1Y3QgdGltZXZhbCB0ID0gdHY7CisJCWludCByYyA9IGNvdW50X3N5c2NhbGwodGNwLCAmdCk7CisJCWlmIChjZmxhZyA9PSBDRkxBR19PTkxZX1NUQVRTKQorCQl7CisJCQl0Y3AtPmZsYWdzICY9IH5UQ0JfSU5TWVNDQUxMOworCQkJcmV0dXJuIHJjOworCQl9CisJfQorCisJaWYgKHJlcyAhPSAxKSB7CisJCXRwcmludGYoIikgIik7CisJCXRhYnRvKGFjb2x1bW4pOworCQl0cHJpbnRmKCI9ID8gPHVuYXZhaWxhYmxlPiIpOworCQlwcmludHRyYWlsZXIoKTsKKwkJdGNwLT5mbGFncyAmPSB+VENCX0lOU1lTQ0FMTDsKKwkJcmV0dXJuIHJlczsKKwl9CisKKwlpZiAodGNwLT5zY25vID49IG5zeXNjYWxscyB8fCB0Y3AtPnNjbm8gPCAwCisJICAgIHx8IChxdWFsX2ZsYWdzW3RjcC0+c2Nub10gJiBRVUFMX1JBVykpCisJCXN5c19yZXMgPSBwcmludGFyZ3ModGNwKTsKKwllbHNlIHsKKwkJaWYgKG5vdF9mYWlsaW5nX29ubHkgJiYgdGNwLT51X2Vycm9yKQorCQkJcmV0dXJuIDA7CS8qIGlnbm9yZSBmYWlsZWQgc3lzY2FsbHMgKi8KKwkJc3lzX3JlcyA9ICgqc3lzZW50W3RjcC0+c2Nub10uc3lzX2Z1bmMpKHRjcCk7CisJfQorCisJdV9lcnJvciA9IHRjcC0+dV9lcnJvcjsKKwl0cHJpbnRmKCIpICIpOworCXRhYnRvKGFjb2x1bW4pOworCWlmICh0Y3AtPnNjbm8gPj0gbnN5c2NhbGxzIHx8IHRjcC0+c2NubyA8IDAgfHwKKwkgICAgcXVhbF9mbGFnc1t0Y3AtPnNjbm9dICYgUVVBTF9SQVcpIHsKKwkJaWYgKHVfZXJyb3IpCisJCQl0cHJpbnRmKCI9IC0xIChlcnJubyAlbGQpIiwgdV9lcnJvcik7CisJCWVsc2UKKwkJCXRwcmludGYoIj0gJSNseCIsIHRjcC0+dV9ydmFsKTsKKwl9CisJZWxzZSBpZiAoIShzeXNfcmVzICYgUlZBTF9OT05FKSAmJiB1X2Vycm9yKSB7CisJCXN3aXRjaCAodV9lcnJvcikgeworI2lmZGVmIExJTlVYCisJCWNhc2UgRVJFU1RBUlRTWVM6CisJCQl0cHJpbnRmKCI9ID8gRVJFU1RBUlRTWVMgKFRvIGJlIHJlc3RhcnRlZCkiKTsKKwkJCWJyZWFrOworCQljYXNlIEVSRVNUQVJUTk9JTlRSOgorCQkJdHByaW50ZigiPSA/IEVSRVNUQVJUTk9JTlRSIChUbyBiZSByZXN0YXJ0ZWQpIik7CisJCQlicmVhazsKKwkJY2FzZSBFUkVTVEFSVE5PSEFORDoKKwkJCXRwcmludGYoIj0gPyBFUkVTVEFSVE5PSEFORCAoVG8gYmUgcmVzdGFydGVkKSIpOworCQkJYnJlYWs7CisJCWNhc2UgRVJFU1RBUlRfUkVTVEFSVEJMT0NLOgorCQkJdHByaW50ZigiPSA/IEVSRVNUQVJUX1JFU1RBUlRCTE9DSyAoVG8gYmUgcmVzdGFydGVkKSIpOworCQkJYnJlYWs7CisjZW5kaWYgLyogTElOVVggKi8KKwkJZGVmYXVsdDoKKwkJCXRwcmludGYoIj0gLTEgIik7CisJCQlpZiAodV9lcnJvciA8IDApCisJCQkJdHByaW50ZigiRT8/PyAoZXJybm8gJWxkKSIsIHVfZXJyb3IpOworCQkJZWxzZSBpZiAodV9lcnJvciA8IG5lcnJub3MpCisJCQkJdHByaW50ZigiJXMgKCVzKSIsIGVycm5vZW50W3VfZXJyb3JdLAorCQkJCQlzdHJlcnJvcih1X2Vycm9yKSk7CisJCQllbHNlCisJCQkJdHByaW50ZigiRVJSTk9fJWxkICglcykiLCB1X2Vycm9yLAorCQkJCQlzdHJlcnJvcih1X2Vycm9yKSk7CisJCQlicmVhazsKKwkJfQorCQlpZiAoKHN5c19yZXMgJiBSVkFMX1NUUikgJiYgdGNwLT5hdXhzdHIpCisJCQl0cHJpbnRmKCIgKCVzKSIsIHRjcC0+YXV4c3RyKTsKKwl9CisJZWxzZSB7CisJCWlmIChzeXNfcmVzICYgUlZBTF9OT05FKQorCQkJdHByaW50ZigiPSA/Iik7CisJCWVsc2UgeworCQkJc3dpdGNoIChzeXNfcmVzICYgUlZBTF9NQVNLKSB7CisJCQljYXNlIFJWQUxfSEVYOgorCQkJCXRwcmludGYoIj0gJSNseCIsIHRjcC0+dV9ydmFsKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgUlZBTF9PQ1RBTDoKKwkJCQl0cHJpbnRmKCI9ICUjbG8iLCB0Y3AtPnVfcnZhbCk7CisJCQkJYnJlYWs7CisJCQljYXNlIFJWQUxfVURFQ0lNQUw6CisJCQkJdHByaW50ZigiPSAlbHUiLCB0Y3AtPnVfcnZhbCk7CisJCQkJYnJlYWs7CisJCQljYXNlIFJWQUxfREVDSU1BTDoKKwkJCQl0cHJpbnRmKCI9ICVsZCIsIHRjcC0+dV9ydmFsKTsKKwkJCQlicmVhazsKKyNpZmRlZiBIQVZFX0xPTkdfTE9ORworCQkJY2FzZSBSVkFMX0xIRVg6CisJCQkJdHByaW50ZigiPSAlI2xseCIsIHRjcC0+dV9scnZhbCk7CisJCQkJYnJlYWs7CisJCQljYXNlIFJWQUxfTE9DVEFMOgorCQkJCXRwcmludGYoIj0gJSNsbG8iLCB0Y3AtPnVfbHJ2YWwpOworCQkJCWJyZWFrOworCQkJY2FzZSBSVkFMX0xVREVDSU1BTDoKKwkJCQl0cHJpbnRmKCI9ICVsbHUiLCB0Y3AtPnVfbHJ2YWwpOworCQkJCWJyZWFrOworCQkJY2FzZSBSVkFMX0xERUNJTUFMOgorCQkJCXRwcmludGYoIj0gJWxsZCIsIHRjcC0+dV9scnZhbCk7CisJCQkJYnJlYWs7CisjZW5kaWYKKwkJCWRlZmF1bHQ6CisJCQkJZnByaW50ZihzdGRlcnIsCisJCQkJCSJpbnZhbGlkIHJ2YWwgZm9ybWF0XG4iKTsKKwkJCQlicmVhazsKKwkJCX0KKwkJfQorCQlpZiAoKHN5c19yZXMgJiBSVkFMX1NUUikgJiYgdGNwLT5hdXhzdHIpCisJCQl0cHJpbnRmKCIgKCVzKSIsIHRjcC0+YXV4c3RyKTsKKwl9CisJaWYgKGR0aW1lKSB7CisJCXR2X3N1YigmdHYsICZ0diwgJnRjcC0+ZXRpbWUpOworCQl0cHJpbnRmKCIgPCVsZC4lMDZsZD4iLAorCQkJKGxvbmcpIHR2LnR2X3NlYywgKGxvbmcpIHR2LnR2X3VzZWMpOworCX0KKwlwcmludHRyYWlsZXIoKTsKKworCWR1bXBpbyh0Y3ApOworCWlmIChmZmx1c2godGNwLT5vdXRmKSA9PSBFT0YpCisJCXJldHVybiAtMTsKKwl0Y3AtPmZsYWdzICY9IH5UQ0JfSU5TWVNDQUxMOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50Cit0cmFjZV9zeXNjYWxsX2VudGVyaW5nKHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwlpbnQgc3lzX3JlczsKKwlpbnQgcmVzLCBzY25vX2dvb2Q7CisKKwlzY25vX2dvb2QgPSByZXMgPSBnZXRfc2Nubyh0Y3ApOworCWlmIChyZXMgPT0gMCkKKwkJcmV0dXJuIHJlczsKKwlpZiAocmVzID09IDEpCisJCXJlcyA9IHN5c2NhbGxfZml4dXAodGNwKTsKKwlpZiAocmVzID09IDApCisJCXJldHVybiByZXM7CisJaWYgKHJlcyA9PSAxKQorCQlyZXMgPSBzeXNjYWxsX2VudGVyKHRjcCk7CisJaWYgKHJlcyA9PSAwKQorCQlyZXR1cm4gcmVzOworCisJaWYgKHJlcyAhPSAxKSB7CisJCXByaW50bGVhZGVyKHRjcCk7CisJCXRjcC0+ZmxhZ3MgJj0gflRDQl9SRVBSSU5UOworCQl0Y3BfbGFzdCA9IHRjcDsKKwkJaWYgKHNjbm9fZ29vZCAhPSAxKQorCQkJdHByaW50ZigiPz8/PyIgLyogYW50aS10cmlncmFwaCBnYXAgKi8gIigiKTsKKwkJZWxzZSBpZiAodGNwLT5zY25vID49IG5zeXNjYWxscyB8fCB0Y3AtPnNjbm8gPCAwKQorCQkJdHByaW50Zigic3lzY2FsbF8lbHUoIiwgdGNwLT5zY25vKTsKKwkJZWxzZQorCQkJdHByaW50ZigiJXMoIiwgc3lzZW50W3RjcC0+c2Nub10uc3lzX25hbWUpOworCQkvKgorCQkgKiAiIDx1bmF2YWlsYWJsZT4iIHdpbGwgYmUgYWRkZWQgbGF0ZXIgYnkgdGhlIGNvZGUgd2hpY2gKKwkJICogZGV0ZWN0cyBwdHJhY2UgZXJyb3JzLgorCQkgKi8KKwkJdGNwLT5mbGFncyB8PSBUQ0JfSU5TWVNDQUxMOworCQlyZXR1cm4gcmVzOworCX0KKworCXN3aXRjaCAoa25vd25fc2Nubyh0Y3ApKSB7CisjaWZkZWYgU1lTX3NvY2tldF9zdWJjYWxsCisJY2FzZSBTWVNfc29ja2V0Y2FsbDoKKwkJZGVjb2RlX3N1YmNhbGwodGNwLCBTWVNfc29ja2V0X3N1YmNhbGwsCisJCQlTWVNfc29ja2V0X25zdWJjYWxscywgZGVyZWZfc3R5bGUpOworCQlicmVhazsKKyNlbmRpZgorI2lmZGVmIFNZU19pcGNfc3ViY2FsbAorCWNhc2UgU1lTX2lwYzoKKwkJZGVjb2RlX3N1YmNhbGwodGNwLCBTWVNfaXBjX3N1YmNhbGwsCisJCQlTWVNfaXBjX25zdWJjYWxscywgc2hpZnRfc3R5bGUpOworCQlicmVhazsKKyNlbmRpZgorI2lmZGVmIFNWUjQKKyNpZmRlZiBTWVNfcGdycHN5c19zdWJjYWxsCisJY2FzZSBTWVNfcGdycHN5czoKKwkJZGVjb2RlX3N1YmNhbGwodGNwLCBTWVNfcGdycHN5c19zdWJjYWxsLAorCQkJU1lTX3BncnBzeXNfbnN1YmNhbGxzLCBzaGlmdF9zdHlsZSk7CisJCWJyZWFrOworI2VuZGlmIC8qIFNZU19wZ3Jwc3lzX3N1YmNhbGwgKi8KKyNpZmRlZiBTWVNfc2lnY2FsbF9zdWJjYWxsCisJY2FzZSBTWVNfc2lnY2FsbDoKKwkJZGVjb2RlX3N1YmNhbGwodGNwLCBTWVNfc2lnY2FsbF9zdWJjYWxsLAorCQkJU1lTX3NpZ2NhbGxfbnN1YmNhbGxzLCBtYXNrX3N0eWxlKTsKKwkJYnJlYWs7CisjZW5kaWYgLyogU1lTX3NpZ2NhbGxfc3ViY2FsbCAqLworCWNhc2UgU1lTX21zZ3N5czoKKwkJZGVjb2RlX3N1YmNhbGwodGNwLCBTWVNfbXNnc3lzX3N1YmNhbGwsCisJCQlTWVNfbXNnc3lzX25zdWJjYWxscywgc2hpZnRfc3R5bGUpOworCQlicmVhazsKKwljYXNlIFNZU19zaG1zeXM6CisJCWRlY29kZV9zdWJjYWxsKHRjcCwgU1lTX3NobXN5c19zdWJjYWxsLAorCQkJU1lTX3NobXN5c19uc3ViY2FsbHMsIHNoaWZ0X3N0eWxlKTsKKwkJYnJlYWs7CisJY2FzZSBTWVNfc2Vtc3lzOgorCQlkZWNvZGVfc3ViY2FsbCh0Y3AsIFNZU19zZW1zeXNfc3ViY2FsbCwKKwkJCVNZU19zZW1zeXNfbnN1YmNhbGxzLCBzaGlmdF9zdHlsZSk7CisJCWJyZWFrOworCWNhc2UgU1lTX3N5c2ZzOgorCQlkZWNvZGVfc3ViY2FsbCh0Y3AsIFNZU19zeXNmc19zdWJjYWxsLAorCQkJU1lTX3N5c2ZzX25zdWJjYWxscywgc2hpZnRfc3R5bGUpOworCQlicmVhazsKKwljYXNlIFNZU19zcGNhbGw6CisJCWRlY29kZV9zdWJjYWxsKHRjcCwgU1lTX3NwY2FsbF9zdWJjYWxsLAorCQkJU1lTX3NwY2FsbF9uc3ViY2FsbHMsIHNoaWZ0X3N0eWxlKTsKKwkJYnJlYWs7CisjaWZkZWYgU1lTX2NvbnRleHRfc3ViY2FsbAorCWNhc2UgU1lTX2NvbnRleHQ6CisJCWRlY29kZV9zdWJjYWxsKHRjcCwgU1lTX2NvbnRleHRfc3ViY2FsbCwKKwkJCVNZU19jb250ZXh0X25zdWJjYWxscywgc2hpZnRfc3R5bGUpOworCQlicmVhazsKKyNlbmRpZiAvKiBTWVNfY29udGV4dF9zdWJjYWxsICovCisjaWZkZWYgU1lTX2Rvb3Jfc3ViY2FsbAorCWNhc2UgU1lTX2Rvb3I6CisJCWRlY29kZV9zdWJjYWxsKHRjcCwgU1lTX2Rvb3Jfc3ViY2FsbCwKKwkJCVNZU19kb29yX25zdWJjYWxscywgZG9vcl9zdHlsZSk7CisJCWJyZWFrOworI2VuZGlmIC8qIFNZU19kb29yX3N1YmNhbGwgKi8KKyNpZmRlZiBTWVNfa2Fpb19zdWJjYWxsCisJY2FzZSBTWVNfa2FpbzoKKwkJZGVjb2RlX3N1YmNhbGwodGNwLCBTWVNfa2Fpb19zdWJjYWxsLAorCQkJU1lTX2thaW9fbnN1YmNhbGxzLCBzaGlmdF9zdHlsZSk7CisJCWJyZWFrOworI2VuZGlmCisjZW5kaWYgLyogU1ZSNCAqLworI2lmZGVmIEZSRUVCU0QKKwljYXNlIFNZU19tc2dzeXM6CisJY2FzZSBTWVNfc2htc3lzOgorCWNhc2UgU1lTX3NlbXN5czoKKwkJZGVjb2RlX3N1YmNhbGwodGNwLCAwLCAwLCB0YWJsZV9zdHlsZSk7CisJCWJyZWFrOworI2VuZGlmCisjaWZkZWYgU1VOT1M0CisJY2FzZSBTWVNfc2Vtc3lzOgorCQlkZWNvZGVfc3ViY2FsbCh0Y3AsIFNZU19zZW1zeXNfc3ViY2FsbCwKKwkJCVNZU19zZW1zeXNfbnN1YmNhbGxzLCBzaGlmdF9zdHlsZSk7CisJCWJyZWFrOworCWNhc2UgU1lTX21zZ3N5czoKKwkJZGVjb2RlX3N1YmNhbGwodGNwLCBTWVNfbXNnc3lzX3N1YmNhbGwsCisJCQlTWVNfbXNnc3lzX25zdWJjYWxscywgc2hpZnRfc3R5bGUpOworCQlicmVhazsKKwljYXNlIFNZU19zaG1zeXM6CisJCWRlY29kZV9zdWJjYWxsKHRjcCwgU1lTX3NobXN5c19zdWJjYWxsLAorCQkJU1lTX3NobXN5c19uc3ViY2FsbHMsIHNoaWZ0X3N0eWxlKTsKKwkJYnJlYWs7CisjZW5kaWYKKwl9CisKKwlpbnRlcm5hbF9zeXNjYWxsKHRjcCk7CisJaWYgKHRjcC0+c2NubyA+PTAgJiYgdGNwLT5zY25vIDwgbnN5c2NhbGxzICYmICEocXVhbF9mbGFnc1t0Y3AtPnNjbm9dICYgUVVBTF9UUkFDRSkpIHsKKwkJdGNwLT5mbGFncyB8PSBUQ0JfSU5TWVNDQUxMOworCQlyZXR1cm4gMDsKKwl9CisKKwlpZiAoY2ZsYWcgPT0gQ0ZMQUdfT05MWV9TVEFUUykgeworCQl0Y3AtPmZsYWdzIHw9IFRDQl9JTlNZU0NBTEw7CisJCWdldHRpbWVvZmRheSgmdGNwLT5ldGltZSwgTlVMTCk7CisJCXJldHVybiAwOworCX0KKworCXByaW50bGVhZGVyKHRjcCk7CisJdGNwLT5mbGFncyAmPSB+VENCX1JFUFJJTlQ7CisJdGNwX2xhc3QgPSB0Y3A7CisJaWYgKHRjcC0+c2NubyA+PSBuc3lzY2FsbHMgfHwgdGNwLT5zY25vIDwgMCkKKwkJdHByaW50Zigic3lzY2FsbF8lbHUoIiwgdGNwLT5zY25vKTsKKwllbHNlCisJCXRwcmludGYoIiVzKCIsIHN5c2VudFt0Y3AtPnNjbm9dLnN5c19uYW1lKTsKKwlpZiAodGNwLT5zY25vID49IG5zeXNjYWxscyB8fCB0Y3AtPnNjbm8gPCAwIHx8CisJICAgICgocXVhbF9mbGFnc1t0Y3AtPnNjbm9dICYgUVVBTF9SQVcpICYmIHRjcC0+c2NubyAhPSBTWVNfZXhpdCkpCisJCXN5c19yZXMgPSBwcmludGFyZ3ModGNwKTsKKwllbHNlCisJCXN5c19yZXMgPSAoKnN5c2VudFt0Y3AtPnNjbm9dLnN5c19mdW5jKSh0Y3ApOworCWlmIChmZmx1c2godGNwLT5vdXRmKSA9PSBFT0YpCisJCXJldHVybiAtMTsKKwl0Y3AtPmZsYWdzIHw9IFRDQl9JTlNZU0NBTEw7CisJLyogTWVhc3VyZSB0aGUgZW50cmFuY2UgdGltZSBhcyBsYXRlIGFzIHBvc3NpYmxlIHRvIGF2b2lkIGVycm9ycy4gKi8KKwlpZiAoZHRpbWUgfHwgY2ZsYWcpCisJCWdldHRpbWVvZmRheSgmdGNwLT5ldGltZSwgTlVMTCk7CisJcmV0dXJuIHN5c19yZXM7Cit9CisKK2ludAordHJhY2Vfc3lzY2FsbChzdHJ1Y3QgdGNiICp0Y3ApCit7CisJcmV0dXJuIGV4aXRpbmcodGNwKSA/CisJCXRyYWNlX3N5c2NhbGxfZXhpdGluZyh0Y3ApIDogdHJhY2Vfc3lzY2FsbF9lbnRlcmluZyh0Y3ApOworfQorCitpbnQKK3ByaW50YXJncyh0Y3ApCitzdHJ1Y3QgdGNiICp0Y3A7Cit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJaW50IGk7CisKKwkJZm9yIChpID0gMDsgaSA8IHRjcC0+dV9uYXJnczsgaSsrKQorCQkJdHByaW50ZigiJXMlI2x4IiwgaSA/ICIsICIgOiAiIiwgdGNwLT51X2FyZ1tpXSk7CisJfQorCXJldHVybiAwOworfQorCitsb25nCitnZXRydmFsMih0Y3ApCitzdHJ1Y3QgdGNiICp0Y3A7Cit7CisJbG9uZyB2YWwgPSAtMTsKKworI2lmZGVmIExJTlVYCisjaWYgZGVmaW5lZCAoU1BBUkMpIHx8IGRlZmluZWQgKFNQQVJDNjQpCisJc3RydWN0IHB0X3JlZ3MgcmVnczsKKwlpZiAocHRyYWNlKFBUUkFDRV9HRVRSRUdTLHRjcC0+cGlkLChjaGFyICopJnJlZ3MsMCkgPCAwKQorCQlyZXR1cm4gLTE7CisJdmFsID0gcmVncy51X3JlZ3NbVV9SRUdfTzFdOworI2VsaWYgZGVmaW5lZChTSCkKKwlpZiAodXBlZWsodGNwLCA0KihSRUdfUkVHMCsxKSwgJnZhbCkgPCAwKQorCQlyZXR1cm4gLTE7CisjZWxpZiBkZWZpbmVkKElBNjQpCisJaWYgKHVwZWVrKHRjcCwgUFRfUjksICZ2YWwpIDwgMCkKKwkJcmV0dXJuIC0xOworI2VuZGlmCisjZW5kaWYgLyogTElOVVggKi8KKworI2lmZGVmIFNVTk9TNAorCWlmICh1cGVlayh0Y3AsIHVvZmYodV9ydmFsMiksICZ2YWwpIDwgMCkKKwkJcmV0dXJuIC0xOworI2VuZGlmIC8qIFNVTk9TNCAqLworCisjaWZkZWYgU1ZSNAorI2lmZGVmIFNQQVJDCisJdmFsID0gdGNwLT5zdGF0dXMuUFJfUkVHW1JfTzFdOworI2VuZGlmIC8qIFNQQVJDICovCisjaWZkZWYgSTM4NgorCXZhbCA9IHRjcC0+c3RhdHVzLlBSX1JFR1tFRFhdOworI2VuZGlmIC8qIEkzODYgKi8KKyNpZmRlZiBYODZfNjQKKwl2YWwgPSB0Y3AtPnN0YXR1cy5QUl9SRUdbUkRYXTsKKyNlbmRpZiAvKiBYODZfNjQgKi8KKyNpZmRlZiBNSVBTCisJdmFsID0gdGNwLT5zdGF0dXMuUFJfUkVHW0NUWF9WMV07CisjZW5kaWYgLyogTUlQUyAqLworI2VuZGlmIC8qIFNWUjQgKi8KKworI2lmZGVmIEZSRUVCU0QKKwlzdHJ1Y3QgcmVnIHJlZ3M7CisJcHJlYWQodGNwLT5wZmRfcmVnLCAmcmVncywgc2l6ZW9mKHJlZ3MpLCAwKTsKKwl2YWwgPSByZWdzLnJfZWR4OworI2VuZGlmCisJcmV0dXJuIHZhbDsKK30KKworI2lmZGVmIFNVTk9TNAorLyoKKyAqIEFwcGFyZW50bHksIGluZGlyZWN0IHN5c3RlbSBjYWxscyBoYXZlIGFscmVhZHkgYmUgY29udmVydGVkIGJ5IHB0cmFjZSgyKSwKKyAqIHNvIGlmIHlvdSBzZWUgImluZGlyIiB0aGlzIHByb2dyYW0gaGFzIGdvbmUgYXN0cmF5LgorICovCitpbnQKK3N5c19pbmRpcih0Y3ApCitzdHJ1Y3QgdGNiICp0Y3A7Cit7CisJaW50IGksIHNjbm8sIG5hcmdzOworCisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJaWYgKChzY25vID0gdGNwLT51X2FyZ1swXSkgPiBuc3lzY2FsbHMpIHsKKwkJCWZwcmludGYoc3RkZXJyLCAiQm9ndXMgc3lzY2FsbDogJXVcbiIsIHNjbm8pOworCQkJcmV0dXJuIDA7CisJCX0KKwkJbmFyZ3MgPSBzeXNlbnRbc2Nub10ubmFyZ3M7CisJCXRwcmludGYoIiVzIiwgc3lzZW50W3Njbm9dLnN5c19uYW1lKTsKKwkJZm9yIChpID0gMDsgaSA8IG5hcmdzOyBpKyspCisJCQl0cHJpbnRmKCIsICUjbHgiLCB0Y3AtPnVfYXJnW2krMV0pOworCX0KKwlyZXR1cm4gMDsKK30KKyNlbmRpZiAvKiBTVU5PUzQgKi8KKworaW50Citpc19yZXN0YXJ0X2Vycm9yKHN0cnVjdCB0Y2IgKnRjcCkKK3sKKyNpZmRlZiBMSU5VWAorCWlmICghc3lzZXJyb3IodGNwKSkKKwkJcmV0dXJuIDA7CisJc3dpdGNoICh0Y3AtPnVfZXJyb3IpIHsKKwkJY2FzZSBFUkVTVEFSVFNZUzoKKwkJY2FzZSBFUkVTVEFSVE5PSU5UUjoKKwkJY2FzZSBFUkVTVEFSVE5PSEFORDoKKwkJY2FzZSBFUkVTVEFSVF9SRVNUQVJUQkxPQ0s6CisJCQlyZXR1cm4gMTsKKwkJZGVmYXVsdDoKKwkJCWJyZWFrOworCX0KKyNlbmRpZiAvKiBMSU5VWCAqLworCXJldHVybiAwOworfQpkaWZmIC0tZ2l0IGEvc3RyYWNlLTQuNS4yMC9zeXNjYWxsZW50LnNoIGIvc3RyYWNlLTQuNS4yMC9zeXNjYWxsZW50LnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjYzNmNlZGUKLS0tIC9kZXYvbnVsbAorKysgYi9zdHJhY2UtNC41LjIwL3N5c2NhbGxlbnQuc2gKQEAgLTAsMCArMSw3NSBAQAorIyEvYmluL3NoCisjIENvcHlyaWdodCAoYykgMTk5MywgMTk5NCwgMTk5NSwgMTk5NiBSaWNrIFNsYWRrZXkgPGpyc0B3b3JsZC5zdGQuY29tPgorIyBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisjIGFyZSBtZXQ6CisjIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorIyAzLiBUaGUgbmFtZSBvZiB0aGUgYXV0aG9yIG1heSBub3QgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMKKyMgICAgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIEFVVEhPUiBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SCisjIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMKKyMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4KKyMgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAorIyBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQKKyMgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorIyBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyMgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyMgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyMKKyMJJElkJAorCitjYXQgJHsxKyIkQCJ9IHwKKwlzZWQgLW4gJ3MvXiNbIAldKmRlZmluZVsgCV1bIAldKlNZU19cKFteIAldKlwpWyAJXSpbXjAtOV0qXChbMC05XSpcKS4qJC9cMSBcMi9wCitzL14jWyAJXSpkZWZpbmVbIAldWyAJXSpfX05SX1woW14gCV0qXClbIAldKlteMC05XSpcKFswLTldKlwpLiokL1wxIFwyL3AKK3MvXiNbIF0qZGVmaW5lWyBdWyBdKl9fTlJfXChbXiBdKlwpWyBdKlteMC05KCldKihfX05SX0xpbnV4ICsgXChbMC05XSpcKSkkL1wxIFwyL3AnIHwKKwlzb3J0IC1rMm4gfCB1bmlxIHwKKwlhd2sgJworCUJFR0lOIHsKKwkJdGFicyA9ICJcdFx0XHRcdFx0XHRcdFx0IgorCQljYWxsID0gLTE7CisJfQorCXsKKwkJd2hpbGUgKCsrY2FsbCA8ICQyKSB7CisJCQlmID0gInByaW50YXJncyIKKwkJCW4gPSAiU1lTXyIgY2FsbAorCQkJcyA9ICJcdHsgLTEsXHQwLFx0IgorCQkJcyA9IHMgZiAiLCIKKwkJCXMgPSBzIHN1YnN0cih0YWJzLCAxLCAyNC84IC0gaW50KChsZW5ndGgoZikgKyAxKS84KSkKKwkJCXMgPSBzICJcIiIgbiAiXCIiCisJCQlzID0gcyBzdWJzdHIodGFicywgMSwgMTYvOCAtIGludCgobGVuZ3RoKG4pICsgMikvOCkpCisJCQlzID0gcyAifSwgLyogIiBjYWxsICIgKi8iCisJCQlwcmludCBzCisJCX0KKwkJZiA9ICJzeXNfIiAkMQorCQluID0gJDEKKwkJcyA9ICJcdHsgLTEsXHQwLFx0IgorCQlzID0gcyBmICIsIgorCQlzID0gcyBzdWJzdHIodGFicywgMSwgMjQvOCAtIGludCgobGVuZ3RoKGYpICsgMSkvOCkpCisJCXMgPSBzICJcIiIgbiAiXCIiCisJCXMgPSBzIHN1YnN0cih0YWJzLCAxLCAxNi84IC0gaW50KChsZW5ndGgobikgKyAyKS84KSkKKwkJcyA9IHMgIn0sIC8qICIgY2FsbCAiICovIgorCQlwcmludCBzCisJfQorCUVORCB7CisJCWxpbWl0ID0gY2FsbCArIDEwMAorCQl3aGlsZSAoKytjYWxsIDwgbGltaXQpIHsKKwkJCWYgPSAicHJpbnRhcmdzIgorCQkJbiA9ICJTWVNfIiBjYWxsCisJCQlzID0gIlx0eyAtMSxcdDAsXHQiCisJCQlzID0gcyBmICIsIgorCQkJcyA9IHMgc3Vic3RyKHRhYnMsIDEsIDI0LzggLSBpbnQoKGxlbmd0aChmKSArIDEpLzgpKQorCQkJcyA9IHMgIlwiIiBuICJcIiIKKwkJCXMgPSBzIHN1YnN0cih0YWJzLCAxLCAxNi84IC0gaW50KChsZW5ndGgobikgKyAyKS84KSkKKwkJCXMgPSBzICJ9LCAvKiAiIGNhbGwgIiAqLyIKKwkJCXByaW50IHMKKwkJfQorCX0KKwknCmRpZmYgLS1naXQgYS9zdHJhY2UtNC41LjIwL3N5c3RlbS5jIGIvc3RyYWNlLTQuNS4yMC9zeXN0ZW0uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42M2E2NGI4Ci0tLSAvZGV2L251bGwKKysrIGIvc3RyYWNlLTQuNS4yMC9zeXN0ZW0uYwpAQCAtMCwwICsxLDIzMTkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDE5OTEsIDE5OTIgUGF1bCBLcmFuZW5idXJnIDxwa0Bjcy5mZXcuZXVyLm5sPgorICogQ29weXJpZ2h0IChjKSAxOTkzIEJyYW5rbyBMYW5rZXN0ZXIgPGJyYW5rb0BoYWNrdGljLm5sPgorICogQ29weXJpZ2h0IChjKSAxOTkzLCAxOTk0LCAxOTk1LCAxOTk2IFJpY2sgU2xhZGtleSA8anJzQHdvcmxkLnN0ZC5jb20+CisgKiBDb3B5cmlnaHQgKGMpIDE5OTYtMTk5OSBXaWNoZXJ0IEFra2VybWFuIDx3aWNoZXJ0QGNpc3Ryb24ubmw+CisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gVGhlIG5hbWUgb2YgdGhlIGF1dGhvciBtYXkgbm90IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzCisgKiAgICBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBBVVRIT1IgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUyBPUgorICogSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUworICogT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4KKyAqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKKyAqIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVAorICogTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKgorICoJJElkJAorICovCisKKyNpbmNsdWRlICJkZWZzLmgiCisKKyNpZmRlZiBMSU5VWAorI2RlZmluZSBfTElOVVhfU09DS0VUX0gKKyNkZWZpbmUgX0xJTlVYX0ZTX0gKKworI2RlZmluZSBNU19SRE9OTFkJIDEJLyogTW91bnQgcmVhZC1vbmx5ICovCisjZGVmaW5lIE1TX05PU1VJRAkgMgkvKiBJZ25vcmUgc3VpZCBhbmQgc2dpZCBiaXRzICovCisjZGVmaW5lIE1TX05PREVWCSA0CS8qIERpc2FsbG93IGFjY2VzcyB0byBkZXZpY2Ugc3BlY2lhbCBmaWxlcyAqLworI2RlZmluZSBNU19OT0VYRUMJIDgJLyogRGlzYWxsb3cgcHJvZ3JhbSBleGVjdXRpb24gKi8KKyNkZWZpbmUgTVNfU1lOQ0hST05PVVMJMTYJLyogV3JpdGVzIGFyZSBzeW5jZWQgYXQgb25jZSAqLworI2RlZmluZSBNU19SRU1PVU5UCTMyCS8qIEFsdGVyIGZsYWdzIG9mIGEgbW91bnRlZCBGUyAqLworI2RlZmluZSBNU19NQU5ETE9DSwk2NAkvKiBBbGxvdyBtYW5kYXRvcnkgbG9ja3Mgb24gYW4gRlMgKi8KKyNkZWZpbmUgTVNfRElSU1lOQwkxMjgJLyogRGlyZWN0b3J5IG1vZGlmaWNhdGlvbnMgYXJlIHN5bmNocm9ub3VzICovCisjZGVmaW5lIE1TX05PQVRJTUUJMTAyNAkvKiBEbyBub3QgdXBkYXRlIGFjY2VzcyB0aW1lcy4gKi8KKyNkZWZpbmUgTVNfTk9ESVJBVElNRQkyMDQ4CS8qIERvIG5vdCB1cGRhdGUgZGlyZWN0b3J5IGFjY2VzcyB0aW1lcyAqLworI2RlZmluZSBNU19CSU5ECQk0MDk2CisjZGVmaW5lIE1TX01PVkUJCTgxOTIKKyNkZWZpbmUgTVNfUkVDCQkxNjM4NAorI2RlZmluZSBNU19TSUxFTlQJMzI3NjgKKyNkZWZpbmUgTVNfUE9TSVhBQ0wJKDE8PDE2KQkvKiBWRlMgZG9lcyBub3QgYXBwbHkgdGhlIHVtYXNrICovCisjZGVmaW5lIE1TX1VOQklOREFCTEUJKDE8PDE3KQkvKiBjaGFuZ2UgdG8gdW5iaW5kYWJsZSAqLworI2RlZmluZSBNU19QUklWQVRFCSgxPDwxOCkJLyogY2hhbmdlIHRvIHByaXZhdGUgKi8KKyNkZWZpbmUgTVNfU0xBVkUJKDE8PDE5KQkvKiBjaGFuZ2UgdG8gc2xhdmUgKi8KKyNkZWZpbmUgTVNfU0hBUkVECSgxPDwyMCkJLyogY2hhbmdlIHRvIHNoYXJlZCAqLworI2RlZmluZSBNU19BQ1RJVkUJKDE8PDMwKQorI2RlZmluZSBNU19OT1VTRVIJKDE8PDMxKQorI2RlZmluZSBNU19NR0NfVkFMCTB4YzBlZDAwMDAJLyogTWFnaWMgZmxhZyBudW1iZXIgKi8KKyNkZWZpbmUgTVNfTUdDX01TSwkweGZmZmYwMDAwCS8qIE1hZ2ljIGZsYWcgbWFzayAqLworCisjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgorI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4KKyNpbmNsdWRlIDxhcnBhL2luZXQuaD4KKworI2luY2x1ZGUgPHN5cy9zeXNjYWxsLmg+CisKKyNpZmRlZiBIQVZFX0xJTlVYX0NBUEFCSUxJVFlfSAorI2luY2x1ZGUgPGxpbnV4L2NhcGFiaWxpdHkuaD4KKyNlbmRpZgorCisjaWZkZWYgSEFWRV9BU01fQ0FDSEVDVExfSAorI2luY2x1ZGUgPGFzbS9jYWNoZWN0bC5oPgorI2VuZGlmCisKKyNpZmRlZiBIQVZFX0xJTlVYX1VTVE5BTUVfSAorI2luY2x1ZGUgPGxpbnV4L3V0c25hbWUuaD4KKyNlbmRpZgorCisjaWZkZWYgSEFWRV9BU01fU1lTTUlQU19ICisjaW5jbHVkZSA8YXNtL3N5c21pcHMuaD4KKyNlbmRpZgorCisjaW5jbHVkZSA8bGludXgvc3lzY3RsLmg+CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCBtb3VudF9mbGFnc1tdID0geworCXsgTVNfTUdDX1ZBTCwJIk1TX01HQ19WQUwiCX0sCisJeyBNU19SRE9OTFksCSJNU19SRE9OTFkiCX0sCisJeyBNU19OT1NVSUQsCSJNU19OT1NVSUQiCX0sCisJeyBNU19OT0RFViwJIk1TX05PREVWIgl9LAorCXsgTVNfTk9FWEVDLAkiTVNfTk9FWEVDIgl9LAorCXsgTVNfU1lOQ0hST05PVVMsIk1TX1NZTkNIUk9OT1VTIn0sCisJeyBNU19SRU1PVU5ULAkiTVNfUkVNT1VOVCIJfSwKKwl7IE1TX01BTkRMT0NLLAkiTVNfTUFORExPQ0siCX0sCisJeyBNU19OT0FUSU1FLAkiTVNfTk9BVElNRSIJfSwKKwl7IE1TX05PRElSQVRJTUUsIk1TX05PRElSQVRJTUUiCX0sCisJeyBNU19CSU5ELAkiTVNfQklORCIJfSwKKwl7IE1TX01PVkUsCSJNU19NT1ZFIgl9LAorCXsgTVNfUkVDLAkiTVNfUkVDIgl9LAorCXsgTVNfU0lMRU5ULAkiTVNfU0lMRU5UIgl9LAorCXsgTVNfUE9TSVhBQ0wsCSJNU19QT1NJWEFDTCIJfSwKKwl7IE1TX1VOQklOREFCTEUsIk1TX1VOQklOREFCTEUiCX0sCisJeyBNU19QUklWQVRFLAkiTVNfUFJJVkFURSIJfSwKKwl7IE1TX1NMQVZFLAkiTVNfU0xBVkUiCX0sCisJeyBNU19TSEFSRUQsCSJNU19TSEFSRUQiCX0sCisJeyBNU19BQ1RJVkUsCSJNU19BQ1RJVkUiCX0sCisJeyBNU19OT1VTRVIsCSJNU19OT1VTRVIiCX0sCisJeyAwLAkJTlVMTAkJfSwKK307CisKK2ludAorc3lzX21vdW50KHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQlpbnQgaWdub3JlX3R5cGUgPSAwLCBpZ25vcmVfZGF0YSA9IDA7CisJCXVuc2lnbmVkIGxvbmcgZmxhZ3MgPSB0Y3AtPnVfYXJnWzNdOworCisJCS8qIERpc2NhcmQgbWFnaWMgKi8KKwkJaWYgKChmbGFncyAmIE1TX01HQ19NU0spID09IE1TX01HQ19WQUwpCisJCQlmbGFncyAmPSB+TVNfTUdDX01TSzsKKworCQlpZiAoZmxhZ3MgJiBNU19SRU1PVU5UKQorCQkJaWdub3JlX3R5cGUgPSAxOworCQllbHNlIGlmIChmbGFncyAmIChNU19CSU5EIHwgTVNfTU9WRSkpCisJCQlpZ25vcmVfdHlwZSA9IGlnbm9yZV9kYXRhID0gMTsKKworCQlwcmludHBhdGgodGNwLCB0Y3AtPnVfYXJnWzBdKTsKKwkJdHByaW50ZigiLCAiKTsKKworCQlwcmludHBhdGgodGNwLCB0Y3AtPnVfYXJnWzFdKTsKKwkJdHByaW50ZigiLCAiKTsKKworCQlpZiAoaWdub3JlX3R5cGUgJiYgdGNwLT51X2FyZ1syXSkKKwkJCXRwcmludGYoIiUjbHgiLCB0Y3AtPnVfYXJnWzJdKTsKKwkJZWxzZQorCQkJcHJpbnRzdHIodGNwLCB0Y3AtPnVfYXJnWzJdLCAtMSk7CisJCXRwcmludGYoIiwgIik7CisKKwkJcHJpbnRmbGFncyhtb3VudF9mbGFncywgdGNwLT51X2FyZ1szXSwgIk1TXz8/PyIpOworCQl0cHJpbnRmKCIsICIpOworCisJCWlmIChpZ25vcmVfZGF0YSAmJiB0Y3AtPnVfYXJnWzRdKQorCQkJdHByaW50ZigiJSNseCIsIHRjcC0+dV9hcmdbNF0pOworCQllbHNlCisJCQlwcmludHN0cih0Y3AsIHRjcC0+dV9hcmdbNF0sIC0xKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKKyNkZWZpbmUgTU5UX0ZPUkNFCTB4MDAwMDAwMDEJLyogQXR0ZW1wdCB0byBmb3JjaWJpbHkgdW1vdW50ICovCisjZGVmaW5lIE1OVF9ERVRBQ0gJMHgwMDAwMDAwMgkvKiBKdXN0IGRldGFjaCBmcm9tIHRoZSB0cmVlICovCisjZGVmaW5lIE1OVF9FWFBJUkUJMHgwMDAwMDAwNAkvKiBNYXJrIGZvciBleHBpcnkgKi8KKworc3RhdGljIGNvbnN0IHN0cnVjdCB4bGF0IHVtb3VudF9mbGFnc1tdID0geworCXsgTU5UX0ZPUkNFLAkiTU5UX0ZPUkNFIgl9LAorCXsgTU5UX0RFVEFDSCwJIk1OVF9ERVRBQ0giCX0sCisJeyBNTlRfRVhQSVJFLAkiTU5UX0VYUElSRSIJfSwKKwl7IDAsCQlOVUxMCQl9LAorfTsKKworaW50CitzeXNfdW1vdW50MihzdHJ1Y3QgdGNiICp0Y3ApCit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJcHJpbnRzdHIodGNwLCB0Y3AtPnVfYXJnWzBdLCAtMSk7CisJCXRwcmludGYoIiwgIik7CisJCXByaW50ZmxhZ3ModW1vdW50X2ZsYWdzLCB0Y3AtPnVfYXJnWzFdLCAiTU5UXz8/PyIpOworCX0KKwlyZXR1cm4gMDsKK30KKworLyogVGhlc2UgYXJlIG5vdCBtYWNyb3MsIGJ1dCBlbnVtcy4gIFdlIGp1c3QgY29weSB0aGUgdmFsdWVzIGJ5IGhhbmQKKyAgIGZyb20gTGludXggMi42LjkgaGVyZS4gICovCitzdGF0aWMgY29uc3Qgc3RydWN0IHhsYXQgcGVyc29uYWxpdHlfb3B0aW9uc1tdID0geworCXsgMCwJCSJQRVJfTElOVVgiCX0sCisJeyAweDAwODAwMDAwLAkiUEVSX0xJTlVYXzMyQklUIn0sCisJeyAweDA0MTAwMDAxLAkiUEVSX1NWUjQiCX0sCisJeyAweDA1MDAwMDAyLAkiUEVSX1NWUjMiCX0sCisJeyAweDA3MDAwMDAzLAkiUEVSX1NDT1NWUjMiCX0sCisJeyAweDA2MDAwMDAzLAkiUEVSX09TUjUiCX0sCisJeyAweDA1MDAwMDA0LAkiUEVSX1dZU0VWMzg2Igl9LAorCXsgMHgwNDAwMDAwNSwJIlBFUl9JU0NSNCIJfSwKKwl7IDB4MDAwMDAwMDYsCSJQRVJfQlNEIgl9LAorCXsgMHgwNDAwMDAwNiwJIlBFUl9TVU5PUyIJfSwKKwl7IDB4MDUwMDAwMDcsCSJQRVJfWEVOSVgiCX0sCisJeyAweDAwMDAwMDA4LAkiUEVSX0xJTlVYMzIiCX0sCisJeyAweDA4MDAwMDA4LAkiUEVSX0xJTlVYMzJfM0dCIn0sCisJeyAweDA0MDAwMDA5LAkiUEVSX0lSSVgzMiIJfSwKKwl7IDB4MDQwMDAwMGEsCSJQRVJfSVJJWE4zMiIJfSwKKwl7IDB4MDQwMDAwMGIsCSJQRVJfSVJJWDY0Igl9LAorCXsgMHgwMDAwMDAwYywJIlBFUl9SSVNDT1MiCX0sCisJeyAweDA0MDAwMDBkLAkiUEVSX1NPTEFSSVMiCX0sCisJeyAweDA0MTAwMDBlLAkiUEVSX1VXNyIJfSwKKwl7IDB4MDAwMDAwMGYsCSJQRVJfT1NGNCIJfSwKKwl7IDB4MDAwMDAwMTAsCSJQRVJfSFBVWCIJfSwKKwl7IDAsCQlOVUxMCQl9LAorfTsKKworaW50CitzeXNfcGVyc29uYWxpdHkodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCWlmIChlbnRlcmluZyh0Y3ApKQorCQlwcmludHh2YWwocGVyc29uYWxpdHlfb3B0aW9ucywgdGNwLT51X2FyZ1swXSwgIlBFUl8/Pz8iKTsKKwlyZXR1cm4gMDsKK30KKworI2luY2x1ZGUgPGxpbnV4L3JlYm9vdC5oPgorc3RhdGljIGNvbnN0IHN0cnVjdCB4bGF0IGJvb3RmbGFnczFbXSA9IHsKKwl7IExJTlVYX1JFQk9PVF9NQUdJQzEsCSJMSU5VWF9SRUJPT1RfTUFHSUMxIgl9LAorCXsgMCwJCQlOVUxMCQkJfSwKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCBib290ZmxhZ3MyW10gPSB7CisJeyBMSU5VWF9SRUJPT1RfTUFHSUMyLAkiTElOVVhfUkVCT09UX01BR0lDMiIJfSwKKwl7IExJTlVYX1JFQk9PVF9NQUdJQzJBLAkiTElOVVhfUkVCT09UX01BR0lDMkEiCX0sCisJeyBMSU5VWF9SRUJPT1RfTUFHSUMyQiwJIkxJTlVYX1JFQk9PVF9NQUdJQzJCIgl9LAorCXsgMCwJCQlOVUxMCQkJfSwKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCBib290ZmxhZ3MzW10gPSB7CisJeyBMSU5VWF9SRUJPT1RfQ01EX0NBRF9PRkYsCSJMSU5VWF9SRUJPT1RfQ01EX0NBRF9PRkYiCX0sCisJeyBMSU5VWF9SRUJPT1RfQ01EX1JFU1RBUlQsCSJMSU5VWF9SRUJPT1RfQ01EX1JFU1RBUlQiCX0sCisJeyBMSU5VWF9SRUJPT1RfQ01EX0hBTFQsCSJMSU5VWF9SRUJPT1RfQ01EX0hBTFQiCQl9LAorCXsgTElOVVhfUkVCT09UX0NNRF9DQURfT04sCSJMSU5VWF9SRUJPT1RfQ01EX0NBRF9PTiIJfSwKKwl7IExJTlVYX1JFQk9PVF9DTURfUE9XRVJfT0ZGLAkiTElOVVhfUkVCT09UX0NNRF9QT1dFUl9PRkYiCX0sCisJeyBMSU5VWF9SRUJPT1RfQ01EX1JFU1RBUlQyLAkiTElOVVhfUkVCT09UX0NNRF9SRVNUQVJUMiIJfSwKKwl7IDAsCQkJCU5VTEwJCQkJfSwKK307CisKK2ludAorc3lzX3JlYm9vdCh0Y3ApCitzdHJ1Y3QgdGNiICp0Y3A7Cit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJcHJpbnRmbGFncyhib290ZmxhZ3MxLCB0Y3AtPnVfYXJnWzBdLCAiTElOVVhfUkVCT09UX01BR0lDXz8/PyIpOworCQl0cHJpbnRmKCIsICIpOworCQlwcmludGZsYWdzKGJvb3RmbGFnczIsIHRjcC0+dV9hcmdbMV0sICJMSU5VWF9SRUJPT1RfTUFHSUNfPz8/Iik7CisJCXRwcmludGYoIiwgIik7CisJCXByaW50ZmxhZ3MoYm9vdGZsYWdzMywgdGNwLT51X2FyZ1syXSwgIkxJTlVYX1JFQk9PVF9DTURfPz8/Iik7CisJCWlmICh0Y3AtPnVfYXJnWzJdID09IExJTlVYX1JFQk9PVF9DTURfUkVTVEFSVDIpIHsKKwkJCXRwcmludGYoIiwgIik7CisJCQlwcmludHN0cih0Y3AsIHRjcC0+dV9hcmdbM10sIC0xKTsKKwkJfQorCX0KKwlyZXR1cm4gMDsKK30KKworI2lmZGVmIE02OEsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCBjYWNoZWZsdXNoX3Njb3BlW10gPSB7CisjaWZkZWYgRkxVU0hfU0NPUEVfTElORQorCXsgRkxVU0hfU0NPUEVfTElORSwJIkZMVVNIX1NDT1BFX0xJTkUiIH0sCisjZW5kaWYKKyNpZmRlZiBGTFVTSF9TQ09QRV9QQUdFCisJeyBGTFVTSF9TQ09QRV9QQUdFLAkiRkxVU0hfU0NPUEVfUEFHRSIgfSwKKyNlbmRpZgorI2lmZGVmIEZMVVNIX1NDT1BFX0FMTAorCXsgRkxVU0hfU0NPUEVfQUxMLAkiRkxVU0hfU0NPUEVfQUxMIiB9LAorI2VuZGlmCisJeyAwLAkJCU5VTEwgfSwKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCBjYWNoZWZsdXNoX2ZsYWdzW10gPSB7CisjaWZkZWYgRkxVU0hfQ0FDSEVfQk9USAorCXsgRkxVU0hfQ0FDSEVfQk9USCwJIkZMVVNIX0NBQ0hFX0JPVEgiIH0sCisjZW5kaWYKKyNpZmRlZiBGTFVTSF9DQUNIRV9EQVRBCisJeyBGTFVTSF9DQUNIRV9EQVRBLAkiRkxVU0hfQ0FDSEVfREFUQSIgfSwKKyNlbmRpZgorI2lmZGVmIEZMVVNIX0NBQ0hFX0lOU04KKwl7IEZMVVNIX0NBQ0hFX0lOU04sCSJGTFVTSF9DQUNIRV9JTlNOIiB9LAorI2VuZGlmCisJeyAwLAkJCU5VTEwgfSwKK307CisKK2ludAorc3lzX2NhY2hlZmx1c2godGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCS8qIGFkZHIgKi8KKwkJdHByaW50ZigiJSNseCwgIiwgdGNwLT51X2FyZ1swXSk7CisJCS8qIHNjb3BlICovCisJCXByaW50eHZhbChjYWNoZWZsdXNoX3Njb3BlLCB0Y3AtPnVfYXJnWzFdLCAiRkxVU0hfU0NPUEVfPz8/Iik7CisJCXRwcmludGYoIiwgIik7CisJCS8qIGZsYWdzICovCisJCXByaW50ZmxhZ3MoY2FjaGVmbHVzaF9mbGFncywgdGNwLT51X2FyZ1syXSwgIkZMVVNIX0NBQ0hFXz8/PyIpOworCQkvKiBsZW4gKi8KKwkJdHByaW50ZigiLCAlbHUiLCB0Y3AtPnVfYXJnWzNdKTsKKwl9CisJcmV0dXJuIDA7Cit9CisjZW5kaWYgLyogTTY4SyAqLworCisjaWZkZWYgQkZJTgorCisjaW5jbHVkZSA8YmZpbl9zcmFtLmg+CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCBzcmFtX2FsbG9jX2ZsYWdzW10gPSB7CisJeyBMMV9JTlNUX1NSQU0sCQkiTDFfSU5TVF9TUkFNIiB9LAorCXsgTDFfREFUQV9BX1NSQU0sCSJMMV9EQVRBX0FfU1JBTSIgfSwKKwl7IEwxX0RBVEFfQl9TUkFNLAkiTDFfREFUQV9CX1NSQU0iIH0sCisJeyBMMV9EQVRBX1NSQU0sCQkiTDFfREFUQV9TUkFNIiB9LAorCXsgTDJfU1JBTSwJCSJMMl9TUkFNIiB9LAorCXsgMCwJCQlOVUxMIH0sCit9OworCitpbnQKK3N5c19zcmFtX2FsbG9jKHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQkvKiBzaXplICovCisJCXRwcmludGYoIiVsdSwgIiwgdGNwLT51X2FyZ1swXSk7CisJCS8qIGZsYWdzICovCisJCXByaW50eHZhbChzcmFtX2FsbG9jX2ZsYWdzLCB0Y3AtPnVfYXJnWzFdLCAiPz8/X1NSQU0iKTsKKwl9CisJcmV0dXJuIDE7Cit9CisKKyNlbmRpZgorCisjZW5kaWYgLyogTElOVVggKi8KKworI2lmZGVmIFNVTk9TNAorCisjaW5jbHVkZSA8c3lzL3JlYm9vdC5oPgorI2RlZmluZSBORlNDTElFTlQKKyNkZWZpbmUgTE9GUworI2RlZmluZSBSRlMKKyNkZWZpbmUgUENGUworI2luY2x1ZGUgPHN5cy9tb3VudC5oPgorI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KKyNpbmNsdWRlIDxuZnMvZXhwb3J0Lmg+CisjaW5jbHVkZSA8cnBjL3R5cGVzLmg+CisjaW5jbHVkZSA8cnBjL2F1dGguaD4KKworLypBUkdTVVNFRCovCitpbnQKK3N5c19zeW5jKHRjcCkKK3N0cnVjdCB0Y2IgKnRjcDsKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGNvbnN0IHN0cnVjdCB4bGF0IGJvb3RmbGFnc1tdID0geworCXsgUkJfQVVUT0JPT1QsCSJSQl9BVVRPQk9PVCIJfSwJLyogZm9yIHN5c3RlbSBhdXRvLWJvb3RpbmcgaXRzZWxmICovCisJeyBSQl9BU0tOQU1FLAkiUkJfQVNLTkFNRSIJfSwJLyogYXNrIGZvciBmaWxlIG5hbWUgdG8gcmVib290IGZyb20gKi8KKwl7IFJCX1NJTkdMRSwJIlJCX1NJTkdMRSIJfSwJLyogcmVib290IHRvIHNpbmdsZSB1c2VyIG9ubHkgKi8KKwl7IFJCX05PU1lOQywJIlJCX05PU1lOQyIJfSwJLyogZG9udCBzeW5jIGJlZm9yZSByZWJvb3QgKi8KKwl7IFJCX0hBTFQsCSJSQl9IQUxUIgl9LAkvKiBkb24ndCByZWJvb3QsIGp1c3QgaGFsdCAqLworCXsgUkJfSU5JVE5BTUUsCSJSQl9JTklUTkFNRSIJfSwJLyogbmFtZSBnaXZlbiBmb3IgL2V0Yy9pbml0ICovCisJeyBSQl9OT0JPT1RSQywJIlJCX05PQk9PVFJDIgl9LAkvKiBkb24ndCBydW4gL2V0Yy9yYy5ib290ICovCisJeyBSQl9ERUJVRywJIlJCX0RFQlVHIgl9LAkvKiBiZWluZyBydW4gdW5kZXIgZGVidWdnZXIgKi8KKwl7IFJCX0RVTVAsCSJSQl9EVU1QIgl9LAkvKiBkdW1wIHN5c3RlbSBjb3JlICovCisJeyBSQl9XUklUQUJMRSwJIlJCX1dSSVRBQkxFIgl9LAkvKiBtb3VudCByb290IHJlYWQvd3JpdGUgKi8KKwl7IFJCX1NUUklORywJIlJCX1NUUklORyIJfSwJLyogcGFzcyBib290IGFyZ3MgdG8gcHJvbSBtb25pdG9yICovCisJeyAwLAkJTlVMTAkJfSwKK307CisKK2ludAorc3lzX3JlYm9vdCh0Y3ApCitzdHJ1Y3QgdGNiICp0Y3A7Cit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJcHJpbnRmbGFncyhib290ZmxhZ3MsIHRjcC0+dV9hcmdbMF0sICJSQl8/Pz8iKTsKKwkJaWYgKHRjcC0+dV9hcmdbMF0gJiBSQl9TVFJJTkcpIHsKKwkJCXByaW50c3RyKHRjcCwgdGNwLT51X2FyZ1sxXSwgLTEpOworCQl9CisJfQorCXJldHVybiAwOworfQorCitpbnQKK3N5c19zeXNhY2N0KHRjcCkKK3N0cnVjdCB0Y2IgKnRjcDsKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQlwcmludHN0cih0Y3AsIHRjcC0+dV9hcmdbMF0sIC0xKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK2ludAorc3lzX3N3YXBvbih0Y3ApCitzdHJ1Y3QgdGNiICp0Y3A7Cit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJcHJpbnRzdHIodGNwLCB0Y3AtPnVfYXJnWzBdLCAtMSk7CisJfQorCXJldHVybiAwOworfQorCitpbnQKK3N5c19uZnNfc3ZjKHRjcCkKK3N0cnVjdCB0Y2IgKnRjcDsKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQlwcmludHNvY2sodGNwLCB0Y3AtPnVfYXJnWzBdKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCBtb3VudGZsYWdzW10gPSB7CisJeyBNX1JET05MWSwJIk1fUkRPTkxZIgl9LAorCXsgTV9OT1NVSUQsCSJNX05PU1VJRCIJfSwKKwl7IE1fTkVXVFlQRSwJIk1fTkVXVFlQRSIJfSwKKwl7IE1fR1JQSUQsCSJNX0dSUElEIgl9LAorI2lmZGVmCU1fUkVNT1VOVAorCXsgTV9SRU1PVU5ULAkiTV9SRU1PVU5UIgl9LAorI2VuZGlmCisjaWZkZWYJTV9OT1NVQgorCXsgTV9OT1NVQiwJIk1fTk9TVUIiCX0sCisjZW5kaWYKKyNpZmRlZglNX01VTFRJCisJeyBNX01VTFRJLAkiTV9NVUxUSSIJfSwKKyNlbmRpZgorI2lmZGVmCU1fU1lTNQorCXsgTV9TWVM1LAkiTV9TWVM1Igl9LAorI2VuZGlmCisJeyAwLAkJTlVMTAkJfSwKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCBuZnNmbGFnc1tdID0geworCXsgTkZTTU5UX1NPRlQsCQkiTkZTTU5UX1NPRlQiCQl9LAorCXsgTkZTTU5UX1dTSVpFLAkJIk5GU01OVF9XU0laRSIJCX0sCisJeyBORlNNTlRfUlNJWkUsCQkiTkZTTU5UX1JTSVpFIgkJfSwKKwl7IE5GU01OVF9USU1FTywJCSJORlNNTlRfVElNRU8iCQl9LAorCXsgTkZTTU5UX1JFVFJBTlMsCSJORlNNTlRfUkVUUkFOUyIJfSwKKwl7IE5GU01OVF9IT1NUTkFNRSwJIk5GU01OVF9IT1NUTkFNRSIJfSwKKwl7IE5GU01OVF9JTlQsCQkiTkZTTU5UX0lOVCIJCX0sCisJeyBORlNNTlRfTk9BQywJCSJORlNNTlRfTk9BQyIJCX0sCisJeyBORlNNTlRfQUNSRUdNSU4sCSJORlNNTlRfQUNSRUdNSU4iCX0sCisJeyBORlNNTlRfQUNSRUdNQVgsCSJORlNNTlRfQUNSRUdNQVgiCX0sCisJeyBORlNNTlRfQUNESVJNSU4sCSJORlNNTlRfQUNESVJNSU4iCX0sCisJeyBORlNNTlRfQUNESVJNQVgsCSJORlNNTlRfQUNESVJNQVgiCX0sCisjaWZkZWYJTkZTTU5UX1NFQ1VSRQorCXsgTkZTTU5UX1NFQ1VSRSwJIk5GU01OVF9TRUNVUkUiCQl9LAorI2VuZGlmCisjaWZkZWYJTkZTTU5UX05PQ1RPCisJeyBORlNNTlRfTk9DVE8sCQkiTkZTTU5UX05PQ1RPIgkJfSwKKyNlbmRpZgorI2lmZGVmCU5GU01OVF9QT1NJWAorCXsgTkZTTU5UX1BPU0lYLAkJIk5GU01OVF9QT1NJWCIJCX0sCisjZW5kaWYKKwl7IDAsCQkJTlVMTAkJCX0sCit9OworCitpbnQKK3N5c19tb3VudCh0Y3ApCitzdHJ1Y3QgdGNiICp0Y3A7Cit7CisJY2hhciB0eXBlWzRdOworCisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJaWYgKCEodGNwLT51X2FyZ1syXSAmIE1fTkVXVFlQRSkgfHwgdW1vdmVzdHIodGNwLAorCQkJCXRjcC0+dV9hcmdbMF0sICBzaXplb2YgdHlwZSwgdHlwZSkgPCAwKSB7CisJCQl0cHJpbnRmKCJPTERUWVBFOiMlbHgiLCB0Y3AtPnVfYXJnWzBdKTsKKwkJfSBlbHNlIHsKKwkJCXRwcmludGYoIlwiJXNcIiwgIiwgdHlwZSk7CisJCX0KKwkJcHJpbnRzdHIodGNwLCB0Y3AtPnVfYXJnWzFdLCAtMSk7CisJCXRwcmludGYoIiwgIik7CisJCXByaW50ZmxhZ3MobW91bnRmbGFncywgdGNwLT51X2FyZ1syXSAmIH5NX05FV1RZUEUsICJNXz8/PyIpOworCQl0cHJpbnRmKCIsICIpOworCisJCWlmIChzdHJjbXAodHlwZSwgIjQuMiIpID09IDApIHsKKwkJCXN0cnVjdCB1ZnNfYXJncyBhOworCQkJaWYgKHVtb3ZlKHRjcCwgdGNwLT51X2FyZ1szXSwgJmEpIDwgMCkKKwkJCQlyZXR1cm4gMDsKKwkJCXByaW50c3RyKHRjcCwgKGludClhLmZzcGVjLCAtMSk7CisJCX0gZWxzZSBpZiAoc3RyY21wKHR5cGUsICJsbyIpID09IDApIHsKKwkJCXN0cnVjdCBsb19hcmdzIGE7CisJCQlpZiAodW1vdmUodGNwLCB0Y3AtPnVfYXJnWzNdLCAmYSkgPCAwKQorCQkJCXJldHVybiAwOworCQkJcHJpbnRzdHIodGNwLCAoaW50KWEuZnNkaXIsIC0xKTsKKwkJfSBlbHNlIGlmIChzdHJjbXAodHlwZSwgIm5mcyIpID09IDApIHsKKwkJCXN0cnVjdCBuZnNfYXJncyBhOworCQkJaWYgKHVtb3ZlKHRjcCwgdGNwLT51X2FyZ1szXSwgJmEpIDwgMCkKKwkJCQlyZXR1cm4gMDsKKwkJCXRwcmludGYoIlsiKTsKKwkJCXByaW50c29jayh0Y3AsIChpbnQpIGEuYWRkcik7CisJCQl0cHJpbnRmKCIsICIpOworCQkJcHJpbnRmbGFncyhuZnNmbGFncywgYS5mbGFncywgIk5GU01OVF8/Pz8iKTsKKwkJCXRwcmludGYoIiwgd3M6JXUscnM6JXUsdG86JXUscmU6JXUsIiwKKwkJCQlhLndzaXplLCBhLnJzaXplLCBhLnRpbWVvLCBhLnJldHJhbnMpOworCQkJaWYgKGEuZmxhZ3MgJiBORlNNTlRfSE9TVE5BTUUgJiYgYS5ob3N0bmFtZSkKKwkJCQlwcmludHN0cih0Y3AsIChpbnQpYS5ob3N0bmFtZSwgLTEpOworCQkJZWxzZQorCQkJCXRwcmludGYoIiUjbHgiLCAodW5zaWduZWQgbG9uZykgYS5ob3N0bmFtZSk7CisJCQl0cHJpbnRmKCIscmVnLW1pbjoldSxtYXg6JXUsZGlyLW1pbjoldSxtYXg6JXUsIiwKKwkJCQlhLmFjcmVnbWluLCBhLmFjcmVnbWF4LCBhLmFjZGlybWluLCBhLmFjZGlybWF4KTsKKwkJCWlmICgoYS5mbGFncyAmIE5GU01OVF9TRUNVUkUpICYmIGEubmV0bmFtZSkKKwkJCQlwcmludHN0cih0Y3AsIChpbnQpIGEubmV0bmFtZSwgLTEpOworCQkJZWxzZQorCQkJCXRwcmludGYoIiUjbHgiLCAodW5zaWduZWQgbG9uZykgYS5uZXRuYW1lKTsKKwkJCXRwcmludGYoIl0iKTsKKwkJfSBlbHNlIGlmIChzdHJjbXAodHlwZSwgInJmcyIpID09IDApIHsKKwkJCXN0cnVjdCByZnNfYXJncyBhOworCQkJc3RydWN0IHRva2VuIHQ7CisJCQlpZiAodW1vdmUodGNwLCB0Y3AtPnVfYXJnWzNdLCAmYSkgPCAwKQorCQkJCXJldHVybiAwOworCQkJdHByaW50ZigiWyIpOworCQkJcHJpbnRzdHIodGNwLCAoaW50KWEucm10ZnMsIC0xKTsKKwkJCWlmICh1bW92ZSh0Y3AsIChpbnQpYS50b2tlbiwgJnQpIDwgMCkKKwkJCQlyZXR1cm4gMDsKKwkJCXRwcmludGYoIiwgJXUsICVzXSIsIHQudF9pZCwgdC50X3VuYW1lKTsKKwkJfSBlbHNlIGlmIChzdHJjbXAodHlwZSwgInBjZnMiKSA9PSAwKSB7CisJCQlzdHJ1Y3QgcGNfYXJncyBhOworCQkJaWYgKHVtb3ZlKHRjcCwgdGNwLT51X2FyZ1szXSwgJmEpIDwgMCkKKwkJCQlyZXR1cm4gMDsKKwkJCXByaW50c3RyKHRjcCwgKGludClhLmZzcGVjLCAtMSk7CisJCX0KKwl9CisJcmV0dXJuIDA7Cit9CisKK2ludAorc3lzX3VubW91bnQodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXByaW50c3RyKHRjcCwgdGNwLT51X2FyZ1swXSwgLTEpOworCX0KKwlyZXR1cm4gMDsKK30KKworaW50CitzeXNfdW1vdW50KHRjcCkKK3N0cnVjdCB0Y2IgKnRjcDsKK3sKKwlyZXR1cm4gc3lzX3VubW91bnQodGNwKTsKK30KKworaW50CitzeXNfYXVkaXRzeXModGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCS8qIFhYWCAtIG5vIGluZm9ybWF0aW9uIGF2YWlsYWJsZSAqLworCXJldHVybiBwcmludGFyZ3ModGNwKTsKK30KKworc3RhdGljIGNvbnN0IHN0cnVjdCB4bGF0IGV4X2F1dGhfZmxhZ3NbXSA9IHsKKwl7IEFVVEhfVU5JWCwJIkFVVEhfVU5JWCIJfSwKKwl7IEFVVEhfREVTLAkiQVVUSF9ERVMiCX0sCisJeyAwLAkJTlVMTAkJfSwKK307CisKK2ludAorc3lzX2V4cG9ydGZzKHRjcCkKK3N0cnVjdCB0Y2IgKnRjcDsKK3sKKwlzdHJ1Y3QgZXhwb3J0IGU7CisJaW50IGk7CisKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQlwcmludHN0cih0Y3AsIHRjcC0+dV9hcmdbMF0sIC0xKTsKKwkJaWYgKHVtb3ZlKHRjcCwgdGNwLT51X2FyZ1sxXSwgJmUpIDwgMCkgeworCQkJdHByaW50ZigiJSNseCIsIHRjcC0+dV9hcmdbMV0pOworCQkJcmV0dXJuIDA7CisJCX0KKwkJdHByaW50Zigie2ZsOiV1LCBhbm9uOiV1LCAiLCBlLmV4X2ZsYWdzLCBlLmV4X2Fub24pOworCQlwcmludHh2YWwoZXhfYXV0aF9mbGFncywgZS5leF9hdXRoLCAiQVVUSF8/Pz8iKTsKKwkJdHByaW50ZigiLCByb290czpbIik7CisJCWlmIChlLmV4X2F1dGggPT0gQVVUSF9VTklYKSB7CisJCQlmb3IgKGk9MDsgaTxlLmV4X3UuZXh1bml4LnJvb3RhZGRycy5uYWRkcnM7IGkrKykgeworCQkJCXByaW50c29jayh0Y3AsCisJCQkJCShpbnQpJmUuZXhfdS5leHVuaXgucm9vdGFkZHJzLmFkZHJ2ZWNbaV0pOworCQkJfQorCQkJdHByaW50ZigiXSwgd3JpdGVyczpbIik7CisJCQlmb3IgKGk9MDsgaTxlLmV4X3dyaXRlYWRkcnMubmFkZHJzOyBpKyspIHsKKwkJCQlwcmludHNvY2sodGNwLAorCQkJCQkoaW50KSZlLmV4X3dyaXRlYWRkcnMuYWRkcnZlY1tpXSk7CisJCQl9CisJCQl0cHJpbnRmKCJdIik7CisJCX0gZWxzZSB7CisJCQlmb3IgKGk9MDsgaTxlLmV4X3UuZXhkZXMubm5hbWVzOyBpKyspIHsKKwkJCQlwcmludHNvY2sodGNwLAorCQkJCQkoaW50KSZlLmV4X3UuZXhkZXMucm9vdG5hbWVzW2ldKTsKKwkJCQl0cHJpbnRmKCIsICIpOworCQkJfQorCQkJdHByaW50ZigiXSwgd2luZG93OiV1IiwgZS5leF91LmV4ZGVzLndpbmRvdyk7CisJCX0KKwkJdHByaW50ZigifSIpOworCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGNvbnN0IHN0cnVjdCB4bGF0IHN5c2NvbmZsaW1pdHNbXSA9IHsKKyNpZmRlZglfU0NfQVJHX01BWAorCXsgX1NDX0FSR19NQVgsCSJfU0NfQVJHX01BWCIJfSwJLyogc3BhY2UgZm9yIGFyZ3YgJiBlbnZwICovCisjZW5kaWYKKyNpZmRlZglfU0NfQ0hJTERfTUFYCisJeyBfU0NfQ0hJTERfTUFYLAkiX1NDX0NISUxEX01BWCIJfSwJLyogbWF4aW11bSBjaGlsZHJlbiBwZXIgcHJvY2Vzcz8/PyAqLworI2VuZGlmCisjaWZkZWYJX1NDX0NMS19UQ0sKKwl7IF9TQ19DTEtfVENLLAkiX1NDX0NMS19UQ0siCX0sCS8qIGNsb2NrIHRpY2tzL3NlYyAqLworI2VuZGlmCisjaWZkZWYJX1NDX05HUk9VUFNfTUFYCisJeyBfU0NfTkdST1VQU19NQVgsCSJfU0NfTkdST1VQU19NQVgiCX0sCS8qIG51bWJlciBvZiBncm91cHMgaWYgbXVsdHBsZSBzdXBwLiAqLworI2VuZGlmCisjaWZkZWYJX1NDX09QRU5fTUFYCisJeyBfU0NfT1BFTl9NQVgsCSJfU0NfT1BFTl9NQVgiCX0sCS8qIG1heCBvcGVuIGZpbGVzIHBlciBwcm9jZXNzICovCisjZW5kaWYKKyNpZmRlZglfU0NfSk9CX0NPTlRST0wKKwl7IF9TQ19KT0JfQ09OVFJPTCwJIl9TQ19KT0JfQ09OVFJPTCIJfSwJLyogZG8gd2UgaGF2ZSBqb2IgY29udHJvbCAqLworI2VuZGlmCisjaWZkZWYJX1NDX1NBVkVEX0lEUworCXsgX1NDX1NBVkVEX0lEUywJIl9TQ19TQVZFRF9JRFMiCX0sCS8qIGRvIHdlIGhhdmUgc2F2ZWQgdWlkL2dpZHMgKi8KKyNlbmRpZgorI2lmZGVmCV9TQ19WRVJTSU9OCisJeyBfU0NfVkVSU0lPTiwJIl9TQ19WRVJTSU9OIgl9LAkvKiBQT1NJWCB2ZXJzaW9uIHN1cHBvcnRlZCAqLworI2VuZGlmCisJeyAwLAkJTlVMTAkJfSwKK307CisKK2ludAorc3lzX3N5c2NvbmYodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXByaW50eHZhbChzeXNjb25mbGltaXRzLCB0Y3AtPnVfYXJnWzBdLCAiX1NDXz8/PyIpOworCX0KKwlyZXR1cm4gMDsKK30KKworI2VuZGlmIC8qIFNVTk9TNCAqLworCisjaWYgZGVmaW5lZChTVU5PUzQpIHx8IGRlZmluZWQoRlJFRUJTRCkKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCBwYXRoY29uZmxpbWl0c1tdID0geworI2lmZGVmCV9QQ19MSU5LX01BWAorCXsgX1BDX0xJTktfTUFYLAkiX1BDX0xJTktfTUFYIgl9LAkvKiBtYXggbGlua3MgdG8gZmlsZS9kaXIgKi8KKyNlbmRpZgorI2lmZGVmCV9QQ19NQVhfQ0FOT04KKwl7IF9QQ19NQVhfQ0FOT04sCSJfUENfTUFYX0NBTk9OIgl9LAkvKiBtYXggbGluZSBsZW5ndGggKi8KKyNlbmRpZgorI2lmZGVmCV9QQ19NQVhfSU5QVVQKKwl7IF9QQ19NQVhfSU5QVVQsCSJfUENfTUFYX0lOUFVUIgl9LAkvKiBtYXggInBhY2tldCIgdG8gYSB0dHkgZGV2aWNlICovCisjZW5kaWYKKyNpZmRlZglfUENfTkFNRV9NQVgKKwl7IF9QQ19OQU1FX01BWCwJIl9QQ19OQU1FX01BWCIJfSwJLyogbWF4IHBhdGhuYW1lIGNvbXBvbmVudCBsZW5ndGggKi8KKyNlbmRpZgorI2lmZGVmCV9QQ19QQVRIX01BWAorCXsgX1BDX1BBVEhfTUFYLAkiX1BDX1BBVEhfTUFYIgl9LAkvKiBtYXggcGF0aG5hbWUgbGVuZ3RoICovCisjZW5kaWYKKyNpZmRlZglfUENfUElQRV9CVUYKKwl7IF9QQ19QSVBFX0JVRiwJIl9QQ19QSVBFX0JVRiIJfSwJLyogc2l6ZSBvZiBhIHBpcGUgKi8KKyNlbmRpZgorI2lmZGVmCV9QQ19DSE9XTl9SRVNUUklDVEVECisJeyBfUENfQ0hPV05fUkVTVFJJQ1RFRCwJIl9QQ19DSE9XTl9SRVNUUklDVEVEIgl9LAkvKiBjYW4gd2UgZ2l2ZSBhd2F5IGZpbGVzICovCisjZW5kaWYKKyNpZmRlZglfUENfTk9fVFJVTkMKKwl7IF9QQ19OT19UUlVOQywJIl9QQ19OT19UUlVOQyIJfSwJLyogdHJ1bmMgb3IgZXJyb3Igb24gPk5BTUVfTUFYICovCisjZW5kaWYKKyNpZmRlZglfUENfVkRJU0FCTEUKKwl7IF9QQ19WRElTQUJMRSwJIl9QQ19WRElTQUJMRSIJfSwJLyogYmVzdCBjaGFyIHRvIHNodXQgb2ZmIHR0eSBjX2NjICovCisjZW5kaWYKKwl7IDAsCQlOVUxMCQl9LAorfTsKKworCitpbnQKK3N5c19wYXRoY29uZih0Y3ApCitzdHJ1Y3QgdGNiICp0Y3A7Cit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJcHJpbnRzdHIodGNwLCB0Y3AtPnVfYXJnWzBdLCAtMSk7CisJCXRwcmludGYoIiwgIik7CisJCXByaW50eHZhbChwYXRoY29uZmxpbWl0cywgdGNwLT51X2FyZ1sxXSwgIl9QQ18/Pz8iKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK2ludAorc3lzX2ZwYXRoY29uZih0Y3ApCitzdHJ1Y3QgdGNiICp0Y3A7Cit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJdHByaW50ZigiJWx1LCAiLCB0Y3AtPnVfYXJnWzBdKTsKKwkJcHJpbnR4dmFsKHBhdGhjb25mbGltaXRzLCB0Y3AtPnVfYXJnWzFdLCAiX1BDXz8/PyIpOworCX0KKwlyZXR1cm4gMDsKK30KKworI2VuZGlmIC8qIFNVTk9TNCB8fCBGUkVFQlNEICovCisKKyNpZmRlZiBTVlI0CisKKyNpZmRlZiBIQVZFX1NZU19TWVNDT05GSUdfSAorI2luY2x1ZGUgPHN5cy9zeXNjb25maWcuaD4KKyNlbmRpZiAvKiBIQVZFX1NZU19TWVNDT05GSUdfSCAqLworCisjaW5jbHVkZSA8c3lzL21vdW50Lmg+CisjaW5jbHVkZSA8c3lzL3N5c3RlbWluZm8uaD4KKyNpbmNsdWRlIDxzeXMvdXRzbmFtZS5oPgorCitzdGF0aWMgY29uc3Qgc3RydWN0IHhsYXQgc3lzY29uZmlnX29wdGlvbnNbXSA9IHsKKyNpZmRlZiBfQ09ORklHX05HUk9VUFMKKwl7IF9DT05GSUdfTkdST1VQUywJCSJfQ09ORklHX05HUk9VUFMiCQl9LAorI2VuZGlmCisjaWZkZWYgX0NPTkZJR19DSElMRF9NQVgKKwl7IF9DT05GSUdfQ0hJTERfTUFYLAkJIl9DT05GSUdfQ0hJTERfTUFYIgkJfSwKKyNlbmRpZgorI2lmZGVmIF9DT05GSUdfT1BFTl9GSUxFUworCXsgX0NPTkZJR19PUEVOX0ZJTEVTLAkJIl9DT05GSUdfT1BFTl9GSUxFUyIJCX0sCisjZW5kaWYKKyNpZmRlZiBfQ09ORklHX1BPU0lYX1ZFUgorCXsgX0NPTkZJR19QT1NJWF9WRVIsCQkiX0NPTkZJR19QT1NJWF9WRVIiCQl9LAorI2VuZGlmCisjaWZkZWYgX0NPTkZJR19QQUdFU0laRQorCXsgX0NPTkZJR19QQUdFU0laRSwJCSJfQ09ORklHX1BBR0VTSVpFIgkJfSwKKyNlbmRpZgorI2lmZGVmIF9DT05GSUdfQ0xLX1RDSworCXsgX0NPTkZJR19DTEtfVENLLAkJIl9DT05GSUdfQ0xLX1RDSyIJCX0sCisjZW5kaWYKKyNpZmRlZiBfQ09ORklHX1hPUEVOX1ZFUgorCXsgX0NPTkZJR19YT1BFTl9WRVIsCQkiX0NPTkZJR19YT1BFTl9WRVIiCQl9LAorI2VuZGlmCisjaWZkZWYgX0NPTkZJR19QUk9GX1RDSworCXsgX0NPTkZJR19QUk9GX1RDSywJCSJfQ09ORklHX1BST0ZfVENLIgkJfSwKKyNlbmRpZgorI2lmZGVmIF9DT05GSUdfTlBST0NfQ09ORgorCXsgX0NPTkZJR19OUFJPQ19DT05GLAkJIl9DT05GSUdfTlBST0NfQ09ORiIJCX0sCisjZW5kaWYKKyNpZmRlZiBfQ09ORklHX05QUk9DX09OTE4KKwl7IF9DT05GSUdfTlBST0NfT05MTiwJCSJfQ09ORklHX05QUk9DX09OTE4iCQl9LAorI2VuZGlmCisjaWZkZWYgX0NPTkZJR19BSU9fTElTVElPX01BWAorCXsgX0NPTkZJR19BSU9fTElTVElPX01BWCwJIl9DT05GSUdfQUlPX0xJU1RJT19NQVgiCX0sCisjZW5kaWYKKyNpZmRlZiBfQ09ORklHX0FJT19NQVgKKwl7IF9DT05GSUdfQUlPX01BWCwJCSJfQ09ORklHX0FJT19NQVgiCQl9LAorI2VuZGlmCisjaWZkZWYgX0NPTkZJR19BSU9fUFJJT19ERUxUQV9NQVgKKwl7IF9DT05GSUdfQUlPX1BSSU9fREVMVEFfTUFYLAkiX0NPTkZJR19BSU9fUFJJT19ERUxUQV9NQVgiCX0sCisjZW5kaWYKKyNpZmRlZiBfQ09ORklHX0NPTkZJR19ERUxBWVRJTUVSX01BWAorCXsgX0NPTkZJR19ERUxBWVRJTUVSX01BWCwJIl9DT05GSUdfREVMQVlUSU1FUl9NQVgiCX0sCisjZW5kaWYKKyNpZmRlZiBfQ09ORklHX01RX09QRU5fTUFYCisJeyBfQ09ORklHX01RX09QRU5fTUFYLAkJIl9DT05GSUdfTVFfT1BFTl9NQVgiCQl9LAorI2VuZGlmCisjaWZkZWYgX0NPTkZJR19NUV9QUklPX01BWAorCXsgX0NPTkZJR19NUV9QUklPX01BWCwJCSJfQ09ORklHX01RX1BSSU9fTUFYIgkJfSwKKyNlbmRpZgorI2lmZGVmIF9DT05GSUdfUlRTSUdfTUFYCisJeyBfQ09ORklHX1JUU0lHX01BWCwJCSJfQ09ORklHX1JUU0lHX01BWCIJCX0sCisjZW5kaWYKKyNpZmRlZiBfQ09ORklHX1NFTV9OU0VNU19NQVgKKwl7IF9DT05GSUdfU0VNX05TRU1TX01BWCwJIl9DT05GSUdfU0VNX05TRU1TX01BWCIJCX0sCisjZW5kaWYKKyNpZmRlZiBfQ09ORklHX1NFTV9WQUxVRV9NQVgKKwl7IF9DT05GSUdfU0VNX1ZBTFVFX01BWCwJIl9DT05GSUdfU0VNX1ZBTFVFX01BWCIJCX0sCisjZW5kaWYKKyNpZmRlZiBfQ09ORklHX1NJR1FVRVVFX01BWAorCXsgX0NPTkZJR19TSUdRVUVVRV9NQVgsCQkiX0NPTkZJR19TSUdRVUVVRV9NQVgiCQl9LAorI2VuZGlmCisjaWZkZWYgX0NPTkZJR19TSUdSVF9NSU4KKwl7IF9DT05GSUdfU0lHUlRfTUlOLAkJIl9DT05GSUdfU0lHUlRfTUlOIgkJfSwKKyNlbmRpZgorI2lmZGVmIF9DT05GSUdfU0lHUlRfTUFYCisJeyBfQ09ORklHX1NJR1JUX01BWCwJCSJfQ09ORklHX1NJR1JUX01BWCIJCX0sCisjZW5kaWYKKyNpZmRlZiBfQ09ORklHX1RJTUVSX01BWAorCXsgX0NPTkZJR19USU1FUl9NQVgsCQkiX0NPTkZJR19USU1FUl9NQVgiCQl9LAorI2VuZGlmCisjaWZkZWYgX0NPTkZJR19DT05GSUdfUEhZU19QQUdFUworCXsgX0NPTkZJR19QSFlTX1BBR0VTLAkJIl9DT05GSUdfUEhZU19QQUdFUyIJCX0sCisjZW5kaWYKKyNpZmRlZiBfQ09ORklHX0FWUEhZU19QQUdFUworCXsgX0NPTkZJR19BVlBIWVNfUEFHRVMsCQkiX0NPTkZJR19BVlBIWVNfUEFHRVMiCQl9LAorI2VuZGlmCisJeyAwLAkJCQlOVUxMCQkJCX0sCit9OworCitpbnQKK3N5c19zeXNjb25maWcodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCWlmIChlbnRlcmluZyh0Y3ApKQorCQlwcmludHh2YWwoc3lzY29uZmlnX29wdGlvbnMsIHRjcC0+dV9hcmdbMF0sICJfQ09ORklHXz8/PyIpOworCXJldHVybiAwOworfQorCitzdGF0aWMgY29uc3Qgc3RydWN0IHhsYXQgc3lzaW5mb19vcHRpb25zW10gPSB7CisJeyBTSV9TWVNOQU1FLAkJIlNJX1NZU05BTUUiCQl9LAorCXsgU0lfSE9TVE5BTUUsCQkiU0lfSE9TVE5BTUUiCQl9LAorCXsgU0lfUkVMRUFTRSwJCSJTSV9SRUxFQVNFIgkJfSwKKwl7IFNJX1ZFUlNJT04sCQkiU0lfVkVSU0lPTiIJCX0sCisJeyBTSV9NQUNISU5FLAkJIlNJX01BQ0hJTkUiCQl9LAorCXsgU0lfQVJDSElURUNUVVJFLAkiU0lfQVJDSElURUNUVVJFIgl9LAorCXsgU0lfSFdfU0VSSUFMLAkJIlNJX0hXX1NFUklBTCIJCX0sCisJeyBTSV9IV19QUk9WSURFUiwJIlNJX0hXX1BST1ZJREVSIgl9LAorCXsgU0lfU1JQQ19ET01BSU4sCSJTSV9TUlBDX0RPTUFJTiIJfSwKKyNpZmRlZiBTSV9TRVRfSE9TVE5BTUUKKwl7IFNJX1NFVF9IT1NUTkFNRSwJIlNJX1NFVF9IT1NUTkFNRSIJfSwKKyNlbmRpZgorI2lmZGVmIFNJX1NFVF9TUlBDX0RPTUFJTgorCXsgU0lfU0VUX1NSUENfRE9NQUlOLAkiU0lfU0VUX1NSUENfRE9NQUlOIgl9LAorI2VuZGlmCisjaWZkZWYgU0lfU0VUX0tFUkJfUkVBTE0KKwl7IFNJX1NFVF9LRVJCX1JFQUxNLAkiU0lfU0VUX0tFUkJfUkVBTE0iCX0sCisjZW5kaWYKKyNpZmRlZiAJU0lfS0VSQl9SRUFMTQorCXsgU0lfS0VSQl9SRUFMTSwJIlNJX0tFUkJfUkVBTE0iCQl9LAorI2VuZGlmCisJeyAwLAkJCU5VTEwJCQl9LAorfTsKKworaW50CitzeXNfc3lzaW5mbyh0Y3ApCitzdHJ1Y3QgdGNiICp0Y3A7Cit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJcHJpbnR4dmFsKHN5c2luZm9fb3B0aW9ucywgdGNwLT51X2FyZ1swXSwgIlNJXz8/PyIpOworCQl0cHJpbnRmKCIsICIpOworCX0KKwllbHNlIHsKKwkJLyogVGVjaG5pY2FsbHkgc29tZSBjYWxscyB3cml0ZSB2YWx1ZXMuICBTbyB3aGF0LiAqLworCQlpZiAoc3lzZXJyb3IodGNwKSkKKwkJCXRwcmludGYoIiUjbHgiLCB0Y3AtPnVfYXJnWzFdKTsKKwkJZWxzZQorCQkJcHJpbnRwYXRoKHRjcCwgdGNwLT51X2FyZ1sxXSk7CisJCXRwcmludGYoIiwgJWx1IiwgdGNwLT51X2FyZ1syXSk7CisJfQorCXJldHVybiAwOworfQorCisjaWZkZWYgTUlQUworCisjaW5jbHVkZSA8c3lzL3N5c3NnaS5oPgorCitzdGF0aWMgY29uc3Qgc3RydWN0IHhsYXQgc3lzc2dpX29wdGlvbnNbXSA9IHsKKwl7IFNHSV9TWVNJRCwJCSJTR0lfU1lTSUQiCQl9LAorI2lmZGVmIFNHSV9SRFVCTEsKKwl7IFNHSV9SRFVCTEssCQkiU0dJX1JEVUJMSyIJCX0sCisjZW5kaWYKKwl7IFNHSV9UVU5FLAkJIlNHSV9UVU5FIgkJfSwKKwl7IFNHSV9JREJHLAkJIlNHSV9JREJHIgkJfSwKKwl7IFNHSV9JTlZFTlQsCQkiU0dJX0lOVkVOVCIJCX0sCisJeyBTR0lfUkROQU1FLAkJIlNHSV9SRE5BTUUiCQl9LAorCXsgU0dJX1NFVExFRCwJCSJTR0lfU0VUTEVEIgkJfSwKKwl7IFNHSV9TRVROVlJBTSwJCSJTR0lfU0VUTlZSQU0iCQl9LAorCXsgU0dJX0dFVE5WUkFNLAkJIlNHSV9HRVROVlJBTSIJCX0sCisJeyBTR0lfUVVFUllfRlRJTUVSLAkiU0dJX1FVRVJZX0ZUSU1FUiIJfSwKKwl7IFNHSV9RVUVSWV9DWUNMRUNOVFIsCSJTR0lfUVVFUllfQ1lDTEVDTlRSIgl9LAorCXsgU0dJX1BST0NTWiwJCSJTR0lfUFJPQ1NaIgkJfSwKKwl7IFNHSV9TSUdBQ1RJT04sCSJTR0lfU0lHQUNUSU9OIgkJfSwKKwl7IFNHSV9TSUdQRU5ESU5HLAkiU0dJX1NJR1BFTkRJTkciCX0sCisJeyBTR0lfU0lHUFJPQ01BU0ssCSJTR0lfU0lHUFJPQ01BU0siCX0sCisJeyBTR0lfU0lHU1VTUEVORCwJIlNHSV9TSUdTVVNQRU5EIgl9LAorCXsgU0dJX1NFVFNJRCwJCSJTR0lfU0VUU0lEIgkJfSwKKwl7IFNHSV9TRVRQR0lELAkJIlNHSV9TRVRQR0lEIgkJfSwKKwl7IFNHSV9TWVNDT05GLAkJIlNHSV9TWVNDT05GIgkJfSwKKwl7IFNHSV9XQUlUNCwJCSJTR0lfV0FJVDQiCQl9LAorCXsgU0dJX1BBVEhDT05GLAkJIlNHSV9QQVRIQ09ORiIJCX0sCisJeyBTR0lfUkVBREIsCQkiU0dJX1JFQURCIgkJfSwKKwl7IFNHSV9XUklURUIsCQkiU0dJX1dSSVRFQiIJCX0sCisJeyBTR0lfU0VUR1JPVVBTLAkiU0dJX1NFVEdST1VQUyIJCX0sCisJeyBTR0lfR0VUR1JPVVBTLAkiU0dJX0dFVEdST1VQUyIJCX0sCisJeyBTR0lfU0VUVElNRU9GREFZLAkiU0dJX1NFVFRJTUVPRkRBWSIJfSwKKwl7IFNHSV9TRVRUSU1FVFJJTSwJIlNHSV9TRVRUSU1FVFJJTSIJfSwKKwl7IFNHSV9HRVRUSU1FVFJJTSwJIlNHSV9HRVRUSU1FVFJJTSIJfSwKKwl7IFNHSV9TUFJPRklMLAkJIlNHSV9TUFJPRklMIgkJfSwKKwl7IFNHSV9SVVNBR0UsCQkiU0dJX1JVU0FHRSIJCX0sCisJeyBTR0lfU0lHU1RBQ0ssCQkiU0dJX1NJR1NUQUNLIgkJfSwKKwl7IFNHSV9TSUdTVEFUVVMsCSJTR0lfU0lHU1RBVFVTIgkJfSwKKwl7IFNHSV9ORVRQUk9DLAkJIlNHSV9ORVRQUk9DIgkJfSwKKwl7IFNHSV9TSUdBTFRTVEFDSywJIlNHSV9TSUdBTFRTVEFDSyIJfSwKKwl7IFNHSV9CREZMVVNIQ05ULAkiU0dJX0JERkxVU0hDTlQiCX0sCisJeyBTR0lfU1NZTkMsCQkiU0dJX1NTWU5DIgkJfSwKKwl7IFNHSV9ORlNDTlZULAkJIlNHSV9ORlNDTlZUIgkJfSwKKwl7IFNHSV9HRVRQR0lELAkJIlNHSV9HRVRQR0lEIgkJfSwKKwl7IFNHSV9HRVRTSUQsCQkiU0dJX0dFVFNJRCIJCX0sCisJeyBTR0lfSU9QUk9CRSwJCSJTR0lfSU9QUk9CRSIJCX0sCisJeyBTR0lfQ09ORklHLAkJIlNHSV9DT05GSUciCQl9LAorCXsgU0dJX0VMRk1BUCwJCSJTR0lfRUxGTUFQIgkJfSwKKwl7IFNHSV9NQ09ORklHLAkJIlNHSV9NQ09ORklHIgkJfSwKKwl7IFNHSV9HRVRQTEFCRUwsCSJTR0lfR0VUUExBQkVMIgkJfSwKKwl7IFNHSV9TRVRQTEFCRUwsCSJTR0lfU0VUUExBQkVMIgkJfSwKKwl7IFNHSV9HRVRMQUJFTCwJCSJTR0lfR0VUTEFCRUwiCQl9LAorCXsgU0dJX1NFVExBQkVMLAkJIlNHSV9TRVRMQUJFTCIJCX0sCisJeyBTR0lfU0FUUkVBRCwJCSJTR0lfU0FUUkVBRCIJCX0sCisJeyBTR0lfU0FUV1JJVEUsCQkiU0dJX1NBVFdSSVRFIgkJfSwKKwl7IFNHSV9TQVRDVEwsCQkiU0dJX1NBVENUTCIJCX0sCisJeyBTR0lfTE9BREFUVFIsCQkiU0dJX0xPQURBVFRSIgkJfSwKKwl7IFNHSV9VTkxPQURBVFRSLAkiU0dJX1VOTE9BREFUVFIiCX0sCisjaWZkZWYgU0dJX1JFQ1ZMTVNHCisJeyBTR0lfUkVDVkxNU0csCQkiU0dJX1JFQ1ZMTVNHIgkJfSwKKyNlbmRpZgorCXsgU0dJX1BMQU5HTU9VTlQsCSJTR0lfUExBTkdNT1VOVCIJfSwKKwl7IFNHSV9HRVRQU09BQ0wsCSJTR0lfR0VUUFNPQUNMIgkJfSwKKwl7IFNHSV9TRVRQU09BQ0wsCSJTR0lfU0VUUFNPQUNMIgkJfSwKKyNpZmRlZiBTR0lfRUFHX0dFVF9BVFRSCisJeyBTR0lfRUFHX0dFVF9BVFRSLAkiU0dJX0VBR19HRVRfQVRUUiIJfSwKKyNlbmRpZgorI2lmZGVmIFNHSV9FQUdfU0VUX0FUVFIKKwl7IFNHSV9FQUdfU0VUX0FUVFIsCSJTR0lfRUFHX1NFVF9BVFRSIgl9LAorI2VuZGlmCisjaWZkZWYgU0dJX0VBR19HRVRfUFJPQ0FUVFIKKwl7IFNHSV9FQUdfR0VUX1BST0NBVFRSLAkiU0dJX0VBR19HRVRfUFJPQ0FUVFIiCX0sCisjZW5kaWYKKyNpZmRlZiBTR0lfRUFHX1NFVF9QUk9DQVRUUgorCXsgU0dJX0VBR19TRVRfUFJPQ0FUVFIsCSJTR0lfRUFHX1NFVF9QUk9DQVRUUiIJfSwKKyNlbmRpZgorI2lmZGVmIFNHSV9GUkVWT0tFCisJeyBTR0lfRlJFVk9LRSwJCSJTR0lfRlJFVk9LRSIJCX0sCisjZW5kaWYKKyNpZmRlZiBTR0lfU0JFX0dFVF9JTkZPCisJeyBTR0lfU0JFX0dFVF9JTkZPLAkiU0dJX1NCRV9HRVRfSU5GTyIJfSwKKyNlbmRpZgorI2lmZGVmIFNHSV9TQkVfQ0xSX0lORk8KKwl7IFNHSV9TQkVfQ0xSX0lORk8sCSJTR0lfU0JFX0NMUl9JTkZPIgl9LAorI2VuZGlmCisJeyBTR0lfUk1JX0ZJWEVDQywJIlNHSV9STUlfRklYRUNDIgl9LAorCXsgU0dJX1I0S19DRVJSUywJIlNHSV9SNEtfQ0VSUlMiCQl9LAorCXsgU0dJX0dFVF9FVkNPTkYsCSJTR0lfR0VUX0VWQ09ORiIJfSwKKwl7IFNHSV9NUENXQVJPRkYsCSJTR0lfTVBDV0FST0ZGIgkJfSwKKwl7IFNHSV9TRVRfQVVUT1BXUk9OLAkiU0dJX1NFVF9BVVRPUFdST04iCX0sCisJeyBTR0lfU1BJUEUsCQkiU0dJX1NQSVBFIgkJfSwKKwl7IFNHSV9TWU1UQUIsCQkiU0dJX1NZTVRBQiIJCX0sCisjaWZkZWYgU0dJX1NFVF9GUERFQlVHCisJeyBTR0lfU0VUX0ZQREVCVUcsCSJTR0lfU0VUX0ZQREVCVUciCX0sCisjZW5kaWYKKyNpZmRlZiBTR0lfU0VUX0ZQX1BSRUNJU0UKKwl7IFNHSV9TRVRfRlBfUFJFQ0lTRSwJIlNHSV9TRVRfRlBfUFJFQ0lTRSIJfSwKKyNlbmRpZgorCXsgU0dJX1RPU1NUU0FWRSwJIlNHSV9UT1NTVFNBVkUiCQl9LAorCXsgU0dJX0ZESEksCQkiU0dJX0ZESEkiCQl9LAorI2lmZGVmIFNHSV9TRVRfQ09ORklHX1NNTQorCXsgU0dJX1NFVF9DT05GSUdfU01NLAkiU0dJX1NFVF9DT05GSUdfU01NIgl9LAorI2VuZGlmCisjaWZkZWYgU0dJX1NFVF9GUF9QUkVTRVJWRQorCXsgU0dJX1NFVF9GUF9QUkVTRVJWRSwJIlNHSV9TRVRfRlBfUFJFU0VSVkUiCX0sCisjZW5kaWYKKwl7IFNHSV9NSU5SU1MsCQkiU0dJX01JTlJTUyIJCX0sCisjaWZkZWYgU0dJX0dSSU8KKwl7IFNHSV9HUklPLAkJIlNHSV9HUklPIgkJfSwKKyNlbmRpZgorI2lmZGVmIFNHSV9YTFZfU0VUX1RBQgorCXsgU0dJX1hMVl9TRVRfVEFCLAkiU0dJX1hMVl9TRVRfVEFCIgl9LAorI2VuZGlmCisjaWZkZWYgU0dJX1hMVl9HRVRfVEFCCisJeyBTR0lfWExWX0dFVF9UQUIsCSJTR0lfWExWX0dFVF9UQUIiCX0sCisjZW5kaWYKKyNpZmRlZiBTR0lfR0VUX0ZQX1BSRUNJU0UKKwl7IFNHSV9HRVRfRlBfUFJFQ0lTRSwJIlNHSV9HRVRfRlBfUFJFQ0lTRSIJfSwKKyNlbmRpZgorI2lmZGVmIFNHSV9HRVRfQ09ORklHX1NNTQorCXsgU0dJX0dFVF9DT05GSUdfU01NLAkiU0dJX0dFVF9DT05GSUdfU01NIgl9LAorI2VuZGlmCisjaWZkZWYgU0dJX0ZQX0lNUFJFQ0lTRV9TVVBQCisJeyBTR0lfRlBfSU1QUkVDSVNFX1NVUFAsIlNHSV9GUF9JTVBSRUNJU0VfU1VQUCIJfSwKKyNlbmRpZgorI2lmZGVmIFNHSV9DT05GSUdfTlNNTV9TVVBQCisJeyBTR0lfQ09ORklHX05TTU1fU1VQUCwJIlNHSV9DT05GSUdfTlNNTV9TVVBQIgl9LAorI2VuZGlmCisjaWZkZWYgU0dJX1JUX1RTVEFNUF9DUkVBVEUKKwl7IFNHSV9SVF9UU1RBTVBfQ1JFQVRFLAkiU0dJX1JUX1RTVEFNUF9DUkVBVEUiCX0sCisjZW5kaWYKKyNpZmRlZiBTR0lfUlRfVFNUQU1QX0RFTEVURQorCXsgU0dJX1JUX1RTVEFNUF9ERUxFVEUsCSJTR0lfUlRfVFNUQU1QX0RFTEVURSIJfSwKKyNlbmRpZgorI2lmZGVmIFNHSV9SVF9UU1RBTVBfU1RBUlQKKwl7IFNHSV9SVF9UU1RBTVBfU1RBUlQsCSJTR0lfUlRfVFNUQU1QX1NUQVJUIgl9LAorI2VuZGlmCisjaWZkZWYgU0dJX1JUX1RTVEFNUF9TVE9QCisJeyBTR0lfUlRfVFNUQU1QX1NUT1AsCSJTR0lfUlRfVFNUQU1QX1NUT1AiCX0sCisjZW5kaWYKKyNpZmRlZiBTR0lfUlRfVFNUQU1QX0FERFIKKwl7IFNHSV9SVF9UU1RBTVBfQUREUiwJIlNHSV9SVF9UU1RBTVBfQUREUiIJfSwKKyNlbmRpZgorI2lmZGVmIFNHSV9SVF9UU1RBTVBfTUFTSworCXsgU0dJX1JUX1RTVEFNUF9NQVNLLAkiU0dJX1JUX1RTVEFNUF9NQVNLIgl9LAorI2VuZGlmCisjaWZkZWYgU0dJX1JUX1RTVEFNUF9FT0JfTU9ERQorCXsgU0dJX1JUX1RTVEFNUF9FT0JfTU9ERSwiU0dJX1JUX1RTVEFNUF9FT0JfTU9ERSJ9LAorI2VuZGlmCisjaWZkZWYgU0dJX1VTRV9GUF9CQ09QWQorCXsgU0dJX1VTRV9GUF9CQ09QWSwJIlNHSV9VU0VfRlBfQkNPUFkiCX0sCisjZW5kaWYKKyNpZmRlZiBTR0lfR0VUX1VTVAorCXsgU0dJX0dFVF9VU1QsCQkiU0dJX0dFVF9VU1QiCQl9LAorI2VuZGlmCisjaWZkZWYgU0dJX1NQRUNVTEFUSVZFX0VYRUMKKwl7IFNHSV9TUEVDVUxBVElWRV9FWEVDLAkiU0dJX1NQRUNVTEFUSVZFX0VYRUMiCX0sCisjZW5kaWYKKyNpZmRlZiBTR0lfWExWX05FWFRfUlFTVAorCXsgU0dJX1hMVl9ORVhUX1JRU1QsCSJTR0lfWExWX05FWFRfUlFTVCIJfSwKKyNlbmRpZgorI2lmZGVmIFNHSV9YTFZfQVRUUl9DVVJTT1IKKwl7IFNHSV9YTFZfQVRUUl9DVVJTT1IsCSJTR0lfWExWX0FUVFJfQ1VSU09SIgl9LAorI2VuZGlmCisjaWZkZWYgU0dJX1hMVl9BVFRSX0dFVAorCXsgU0dJX1hMVl9BVFRSX0dFVCwJIlNHSV9YTFZfQVRUUl9HRVQiCX0sCisjZW5kaWYKKyNpZmRlZiBTR0lfWExWX0FUVFJfU0VUCisJeyBTR0lfWExWX0FUVFJfU0VULAkiU0dJX1hMVl9BVFRSX1NFVCIJfSwKKyNlbmRpZgorI2lmZGVmIFNHSV9CVE9PTFNJWkUKKwl7IFNHSV9CVE9PTFNJWkUsCSJTR0lfQlRPT0xTSVpFIgkJfSwKKyNlbmRpZgorI2lmZGVmIFNHSV9CVE9PTEdFVAorCXsgU0dJX0JUT09MR0VULAkJIlNHSV9CVE9PTEdFVCIJCX0sCisjZW5kaWYKKyNpZmRlZiBTR0lfQlRPT0xSRUlOSVQKKwl7IFNHSV9CVE9PTFJFSU5JVCwJIlNHSV9CVE9PTFJFSU5JVCIJfSwKKyNlbmRpZgorI2lmZGVmIFNHSV9DUkVBVEVfVVVJRAorCXsgU0dJX0NSRUFURV9VVUlELAkiU0dJX0NSRUFURV9VVUlEIgl9LAorI2VuZGlmCisjaWZkZWYgU0dJX05PRlBFCisJeyBTR0lfTk9GUEUsCQkiU0dJX05PRlBFIgkJfSwKKyNlbmRpZgorI2lmZGVmIFNHSV9PTERfU09GVEZQCisJeyBTR0lfT0xEX1NPRlRGUCwJIlNHSV9PTERfU09GVEZQIgl9LAorI2VuZGlmCisjaWZkZWYgU0dJX0ZTX0lOVU1CRVJTCisJeyBTR0lfRlNfSU5VTUJFUlMsCSJTR0lfRlNfSU5VTUJFUlMiCX0sCisjZW5kaWYKKyNpZmRlZiBTR0lfRlNfQlVMS1NUQVQKKwl7IFNHSV9GU19CVUxLU1RBVCwJIlNHSV9GU19CVUxLU1RBVCIJfSwKKyNlbmRpZgorI2lmZGVmIFNHSV9SVF9UU1RBTVBfV0FJVAorCXsgU0dJX1JUX1RTVEFNUF9XQUlULAkiU0dJX1JUX1RTVEFNUF9XQUlUIgl9LAorI2VuZGlmCisjaWZkZWYgU0dJX1JUX1RTVEFNUF9VUERBVEUKKwl7IFNHSV9SVF9UU1RBTVBfVVBEQVRFLAkiU0dJX1JUX1RTVEFNUF9VUERBVEUiCX0sCisjZW5kaWYKKyNpZmRlZiBTR0lfUEFUSF9UT19IQU5ETEUKKwl7IFNHSV9QQVRIX1RPX0hBTkRMRSwJIlNHSV9QQVRIX1RPX0hBTkRMRSIJfSwKKyNlbmRpZgorI2lmZGVmIFNHSV9QQVRIX1RPX0ZTSEFORExFCisJeyBTR0lfUEFUSF9UT19GU0hBTkRMRSwJIlNHSV9QQVRIX1RPX0ZTSEFORExFIgl9LAorI2VuZGlmCisjaWZkZWYgU0dJX0ZEX1RPX0hBTkRMRQorCXsgU0dJX0ZEX1RPX0hBTkRMRSwJIlNHSV9GRF9UT19IQU5ETEUiCX0sCisjZW5kaWYKKyNpZmRlZiBTR0lfT1BFTl9CWV9IQU5ETEUKKwl7IFNHSV9PUEVOX0JZX0hBTkRMRSwJIlNHSV9PUEVOX0JZX0hBTkRMRSIJfSwKKyNlbmRpZgorI2lmZGVmIFNHSV9SRUFETElOS19CWV9IQU5ETEUKKwl7IFNHSV9SRUFETElOS19CWV9IQU5ETEUsIlNHSV9SRUFETElOS19CWV9IQU5ETEUifSwKKyNlbmRpZgorI2lmZGVmIFNHSV9SRUFEX0RBTkdJRAorCXsgU0dJX1JFQURfREFOR0lELAkiU0dJX1JFQURfREFOR0lEIgl9LAorI2VuZGlmCisjaWZkZWYgU0dJX0NPTlNUCisJeyBTR0lfQ09OU1QsCQkiU0dJX0NPTlNUIgkJfSwKKyNlbmRpZgorI2lmZGVmIFNHSV9YRlNfRlNPUEVSQVRJT05TCisJeyBTR0lfWEZTX0ZTT1BFUkFUSU9OUywJIlNHSV9YRlNfRlNPUEVSQVRJT05TIgl9LAorI2VuZGlmCisjaWZkZWYgU0dJX1NFVEFTSAorCXsgU0dJX1NFVEFTSCwJCSJTR0lfU0VUQVNIIgkJfSwKKyNlbmRpZgorI2lmZGVmIFNHSV9HRVRBU0gKKwl7IFNHSV9HRVRBU0gsCQkiU0dJX0dFVEFTSCIJCX0sCisjZW5kaWYKKyNpZmRlZiBTR0lfU0VUUFJJRAorCXsgU0dJX1NFVFBSSUQsCQkiU0dJX1NFVFBSSUQiCQl9LAorI2VuZGlmCisjaWZkZWYgU0dJX0dFVFBSSUQKKwl7IFNHSV9HRVRQUklELAkJIlNHSV9HRVRQUklEIgkJfSwKKyNlbmRpZgorI2lmZGVmIFNHSV9TRVRTUElORk8KKwl7IFNHSV9TRVRTUElORk8sCSJTR0lfU0VUU1BJTkZPIgkJfSwKKyNlbmRpZgorI2lmZGVmIFNHSV9HRVRTUElORk8KKwl7IFNHSV9HRVRTUElORk8sCSJTR0lfR0VUU1BJTkZPIgkJfSwKKyNlbmRpZgorI2lmZGVmIFNHSV9TSEFSRUlJCisJeyBTR0lfU0hBUkVJSSwJCSJTR0lfU0hBUkVJSSIJCX0sCisjZW5kaWYKKyNpZmRlZiBTR0lfTkVXQVJSQVlTRVNTCisJeyBTR0lfTkVXQVJSQVlTRVNTLAkiU0dJX05FV0FSUkFZU0VTUyIJfSwKKyNlbmRpZgorI2lmZGVmIFNHSV9HRVRERkxUUFJJRAorCXsgU0dJX0dFVERGTFRQUklELAkiU0dJX0dFVERGTFRQUklEIgl9LAorI2VuZGlmCisjaWZkZWYgU0dJX1NFVF9ESVNNSVNTRURfRVhDX0NOVAorCXsgU0dJX1NFVF9ESVNNSVNTRURfRVhDX0NOVCwiU0dJX1NFVF9ESVNNSVNTRURfRVhDX0NOVCIJfSwKKyNlbmRpZgorI2lmZGVmIFNHSV9HRVRfRElTTUlTU0VEX0VYQ19DTlQKKwl7IFNHSV9HRVRfRElTTUlTU0VEX0VYQ19DTlQsIlNHSV9HRVRfRElTTUlTU0VEX0VYQ19DTlQiCX0sCisjZW5kaWYKKyNpZmRlZiBTR0lfQ1lDTEVDTlRSX1NJWkUKKwl7IFNHSV9DWUNMRUNOVFJfU0laRSwJIlNHSV9DWUNMRUNOVFJfU0laRSIJfSwKKyNlbmRpZgorI2lmZGVmIFNHSV9RVUVSWV9GQVNUVElNRVIKKwl7IFNHSV9RVUVSWV9GQVNUVElNRVIsCSJTR0lfUVVFUllfRkFTVFRJTUVSIgl9LAorI2VuZGlmCisjaWZkZWYgU0dJX1BJRFNJTkFTSAorCXsgU0dJX1BJRFNJTkFTSCwJIlNHSV9QSURTSU5BU0giCQl9LAorI2VuZGlmCisjaWZkZWYgU0dJX1VMSQorCXsgU0dJX1VMSSwJCSJTR0lfVUxJIgkJfSwKKyNlbmRpZgorI2lmZGVmIFNHSV9MUEdfU0hNR0VUCisJeyBTR0lfTFBHX1NITUdFVCwJIlNHSV9MUEdfU0hNR0VUIgl9LAorI2VuZGlmCisjaWZkZWYgU0dJX0xQR19NQVAKKwl7IFNHSV9MUEdfTUFQLAkJIlNHSV9MUEdfTUFQIgkJfSwKKyNlbmRpZgorI2lmZGVmIFNHSV9DQUNIRUZTX1NZUworCXsgU0dJX0NBQ0hFRlNfU1lTLAkiU0dJX0NBQ0hFRlNfU1lTIgl9LAorI2VuZGlmCisjaWZkZWYgU0dJX05GU05PVElGWQorCXsgU0dJX05GU05PVElGWSwJIlNHSV9ORlNOT1RJRlkiCQl9LAorI2VuZGlmCisjaWZkZWYgU0dJX0xPQ0tEU1lTCisJeyBTR0lfTE9DS0RTWVMsCQkiU0dJX0xPQ0tEU1lTIgkJfSwKKyNlbmRpZgorI2lmZGVmIFNHSV9FVkVOVENUUgorCXsgU0dJX0VWRU5UQ1RSLAkJIlNHSV9FVkVOVENUUiIJCX0sCisjZW5kaWYKKyNpZmRlZiBTR0lfR0VUUFJVU0FHRQorCXsgU0dJX0dFVFBSVVNBR0UsCSJTR0lfR0VUUFJVU0FHRSIJfSwKKyNlbmRpZgorI2lmZGVmIFNHSV9QUk9DTUFTS19MT0NBVElPTgorCXsgU0dJX1BST0NNQVNLX0xPQ0FUSU9OLCJTR0lfUFJPQ01BU0tfTE9DQVRJT04iCX0sCisjZW5kaWYKKyNpZmRlZiBTR0lfVU5VU0VECisJeyBTR0lfVU5VU0VELAkJIlNHSV9VTlVTRUQiCQl9LAorI2VuZGlmCisjaWZkZWYgU0dJX0NLUFRfU1lTCisJeyBTR0lfQ0tQVF9TWVMsCQkiU0dJX0NLUFRfU1lTIgkJfSwKKyNlbmRpZgorI2lmZGVmIFNHSV9DS1BUX1NZUworCXsgU0dJX0NLUFRfU1lTLAkJIlNHSV9DS1BUX1NZUyIJCX0sCisjZW5kaWYKKyNpZmRlZiBTR0lfR0VUR1JQUElECisJeyBTR0lfR0VUR1JQUElELAkiU0dJX0dFVEdSUFBJRCIJCX0sCisjZW5kaWYKKyNpZmRlZiBTR0lfR0VUU0VTUElECisJeyBTR0lfR0VUU0VTUElELAkiU0dJX0dFVFNFU1BJRCIJCX0sCisjZW5kaWYKKyNpZmRlZiBTR0lfRU5VTUFTSFMKKwl7IFNHSV9FTlVNQVNIUywJCSJTR0lfRU5VTUFTSFMiCQl9LAorI2VuZGlmCisjaWZkZWYgU0dJX1NFVEFTTUFDSElECisJeyBTR0lfU0VUQVNNQUNISUQsCSJTR0lfU0VUQVNNQUNISUQiCX0sCisjZW5kaWYKKyNpZmRlZiBTR0lfR0VUQVNNQUNISUQKKwl7IFNHSV9HRVRBU01BQ0hJRCwJIlNHSV9HRVRBU01BQ0hJRCIJfSwKKyNlbmRpZgorI2lmZGVmIFNHSV9HRVRBUlNFU1MKKwl7IFNHSV9HRVRBUlNFU1MsCSJTR0lfR0VUQVJTRVNTIgkJfSwKKyNlbmRpZgorI2lmZGVmIFNHSV9KT0lOQVJSQVlTRVNTCisJeyBTR0lfSk9JTkFSUkFZU0VTUywJIlNHSV9KT0lOQVJSQVlTRVNTIgl9LAorI2VuZGlmCisjaWZkZWYgU0dJX1NQUk9DX0tJTEwKKwl7IFNHSV9TUFJPQ19LSUxMLAkiU0dJX1NQUk9DX0tJTEwiCX0sCisjZW5kaWYKKyNpZmRlZiBTR0lfREJBX0NPTkZJRworCXsgU0dJX0RCQV9DT05GSUcsCSJTR0lfREJBX0NPTkZJRyIJfSwKKyNlbmRpZgorI2lmZGVmIFNHSV9SRUxFQVNFX05BTUUKKwl7IFNHSV9SRUxFQVNFX05BTUUsCSJTR0lfUkVMRUFTRV9OQU1FIgl9LAorI2VuZGlmCisjaWZkZWYgU0dJX1NZTkNIX0NBQ0hFX0hBTkRMRVIKKwl7IFNHSV9TWU5DSF9DQUNIRV9IQU5ETEVSLCJTR0lfU1lOQ0hfQ0FDSEVfSEFORExFUiJ9LAorI2VuZGlmCisjaWZkZWYgU0dJX1NXQVNIX0lOSVQKKwl7IFNHSV9TV0FTSF9JTklULAkiU0dJX1NXQVNIX0lOSVQiCX0sCisjZW5kaWYKKyNpZmRlZiBTR0lfTlVNQV9NSUdSX1BBR0UKKwl7IFNHSV9OVU1BX01JR1JfUEFHRSwJIlNHSV9OVU1BX01JR1JfUEFHRSIJfSwKKyNlbmRpZgorI2lmZGVmIFNHSV9OVU1BX01JR1JfUEFHRV9BTFQKKwl7IFNHSV9OVU1BX01JR1JfUEFHRV9BTFQsIlNHSV9OVU1BX01JR1JfUEFHRV9BTFQifSwKKyNlbmRpZgorI2lmZGVmIFNHSV9LQUlPX1VTRVJJTklUCisJeyBTR0lfS0FJT19VU0VSSU5JVCwJIlNHSV9LQUlPX1VTRVJJTklUIgl9LAorI2VuZGlmCisjaWZkZWYgU0dJX0tBSU9fUkVBRAorCXsgU0dJX0tBSU9fUkVBRCwJIlNHSV9LQUlPX1JFQUQiCQl9LAorI2VuZGlmCisjaWZkZWYgU0dJX0tBSU9fV1JJVEUKKwl7IFNHSV9LQUlPX1dSSVRFLAkiU0dJX0tBSU9fV1JJVEUiCX0sCisjZW5kaWYKKyNpZmRlZiBTR0lfS0FJT19TVVNQRU5ECisJeyBTR0lfS0FJT19TVVNQRU5ELAkiU0dJX0tBSU9fU1VTUEVORCIJfSwKKyNlbmRpZgorI2lmZGVmIFNHSV9LQUlPX1NUQVRTCisJeyBTR0lfS0FJT19TVEFUUywJIlNHSV9LQUlPX1NUQVRTIgl9LAorI2VuZGlmCisjaWZkZWYgU0dJX0lOSVRJQUxfUFRfU1BST0MKKwl7IFNHSV9JTklUSUFMX1BUX1NQUk9DLAkiU0dJX0lOSVRJQUxfUFRfU1BST0MiCX0sCisjZW5kaWYKKwl7IDAsCQkJTlVMTAkJCX0sCit9OworCitpbnQKK3N5c19zeXNzZ2kodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCWludCBpOworCisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJcHJpbnR4dmFsKHN5c3NnaV9vcHRpb25zLCB0Y3AtPnVfYXJnWzBdLCAiU0dJXz8/PyIpOworCQlzd2l0Y2ggKHRjcC0+dV9hcmdbMF0pIHsKKwkJZGVmYXVsdDoKKwkJCWZvciAoaSA9IDE7IGkgPCB0Y3AtPnVfbmFyZ3M7IGkrKykKKwkJCQl0cHJpbnRmKCIsICUjbHgiLCB0Y3AtPnVfYXJnW2ldKTsKKwkJCWJyZWFrOworCQl9CisJfQorCXJldHVybiAwOworfQorCisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8cnBjL3JwYy5oPgorc3RydWN0IGNyZWQ7CitzdHJ1Y3QgdWlvOworI2luY2x1ZGUgPHN5cy9mc2lkLmg+CisjaW5jbHVkZSA8c3lzL3Zub2RlLmg+CisjaW5jbHVkZSA8c3lzL2ZzL25mcy5oPgorI2luY2x1ZGUgPHN5cy9mcy9uZnNfY2xudC5oPgorCitzdGF0aWMgY29uc3Qgc3RydWN0IHhsYXQgbW91bnRfZmxhZ3NbXSA9IHsKKwl7IE1TX1JET05MWSwJIk1TX1JET05MWSIJfSwKKwl7IE1TX0ZTUywJIk1TX0ZTUyIJfSwKKwl7IE1TX0RBVEEsCSJNU19EQVRBIgl9LAorCXsgTVNfTk9TVUlELAkiTVNfTk9TVUlEIgl9LAorCXsgTVNfUkVNT1VOVCwJIk1TX1JFTU9VTlQiCX0sCisJeyBNU19OT1RSVU5DLAkiTVNfTk9UUlVOQyIJfSwKKwl7IE1TX0dSUElELAkiTVNfR1JQSUQiCX0sCisJeyBNU19OT0RFViwJIk1TX05PREVWIgl9LAorCXsgTVNfQkVGT1JFLAkiTVNfQkVGT1JFIgl9LAorCXsgTVNfQUZURVIsCSJNU19BRlRFUiIJfSwKKwl7IDAsCQlOVUxMCQl9LAorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCB4bGF0IG5mc19mbGFnc1tdID0geworCXsgTkZTTU5UX1NPRlQsCQkiTkZTTU5UX1NPRlQiCQl9LAorCXsgTkZTTU5UX1dTSVpFLAkJIk5GU01OVF9XU0laRSIJCX0sCisJeyBORlNNTlRfUlNJWkUsCQkiTkZTTU5UX1JTSVpFIgkJfSwKKwl7IE5GU01OVF9USU1FTywJCSJORlNNTlRfVElNRU8iCQl9LAorCXsgTkZTTU5UX1JFVFJBTlMsCSJORlNNTlRfUkVUUkFOUyIJfSwKKwl7IE5GU01OVF9IT1NUTkFNRSwJIk5GU01OVF9IT1NUTkFNRSIJfSwKKyNpZmRlZiBORlNNTlRfTk9JTlQJLyogSVJJWCA2ICovCisJeyBORlNNTlRfTk9JTlQsCQkiTkZTTU5UX05PSU5UIgkJfSwKKyNlbmRpZgorI2lmZGVmIE5GU01OVF9JTlQJLyogSVJJWCA1ICovCisJeyBORlNNTlRfSU5ULAkJIk5GU01OVF9JTlQiCQl9LAorI2VuZGlmCisJeyBORlNNTlRfTk9BQywJCSJORlNNTlRfTk9BQyIJCX0sCisJeyBORlNNTlRfQUNSRUdNSU4sCSJORlNNTlRfQUNSRUdNSU4iCX0sCisJeyBORlNNTlRfQUNSRUdNQVgsCSJORlNNTlRfQUNSRUdNQVgiCX0sCisJeyBORlNNTlRfQUNESVJNSU4sCSJORlNNTlRfQUNESVJNSU4iCX0sCisJeyBORlNNTlRfQUNESVJNQVgsCSJORlNNTlRfQUNESVJNQVgiCX0sCisJeyBORlNNTlRfUFJJVkFURSwJIk5GU01OVF9QUklWQVRFIgl9LAorCXsgTkZTTU5UX1NZTVRUTCwJIk5GU01OVF9TWU1UVEwiCQl9LAorCXsgTkZTTU5UX0xPT1BCQUNLLAkiTkZTTU5UX0xPT1BCQUNLIgl9LAorCXsgTkZTTU5UX0JBU0VUWVBFLAkiTkZTTU5UX0JBU0VUWVBFIgl9LAorCXsgTkZTTU5UX05BTUVNQVgsCSJORlNNTlRfTkFNRU1BWCIJfSwKKyNpZmRlZiBORlNNTlRfU0hPUlRVSUQJLyogSVJJWCA2ICovCisJeyBORlNNTlRfU0hPUlRVSUQsCSJORlNNTlRfU0hPUlRVSUQiCX0sCisjZW5kaWYKKyNpZmRlZiBORlNNTlRfQVNZTkNOTE0JLyogSVJJWCA2ICovCisJeyBORlNNTlRfQVNZTkNOTE0sCSJORlNNTlRfQVNZTkNOTE0iCX0sCisjZW5kaWYKKwl7IDAsCQkJTlVMTAkJCX0sCit9OworCitpbnQKK3N5c19tb3VudCh0Y3ApCitzdHJ1Y3QgdGNiICp0Y3A7Cit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJcHJpbnRwYXRoKHRjcCwgdGNwLT51X2FyZ1swXSk7CisJCXRwcmludGYoIiwgIik7CisJCXByaW50cGF0aCh0Y3AsIHRjcC0+dV9hcmdbMV0pOworCQl0cHJpbnRmKCIsICIpOworCQlwcmludGZsYWdzKG1vdW50X2ZsYWdzLCB0Y3AtPnVfYXJnWzJdLCAiTVNfPz8/Iik7CisJCWlmICh0Y3AtPnVfYXJnWzJdICYgKE1TX0ZTUyB8IE1TX0RBVEEpKSB7CisJCQl0cHJpbnRmKCIsICIpOworCQkJdHByaW50ZigiJWxkIiwgdGNwLT51X2FyZ1szXSk7CisJCX0KKwkJaWYgKHRjcC0+dV9hcmdbMl0gJiBNU19EQVRBKSB7CisJCQlpbnQgbmZzX3R5cGUgPSBzeXNmcyhHRVRGU0lORCwgRlNJRF9ORlMpOworCisJCQl0cHJpbnRmKCIsICIpOworCQkJaWYgKHRjcC0+dV9hcmdbM10gPT0gbmZzX3R5cGUpIHsKKwkJCQlzdHJ1Y3QgbmZzX2FyZ3MgYXJnczsKKwkJCQlpZiAodW1vdmUodGNwLCB0Y3AtPnVfYXJnWzRdLCAmYXJncykgPCAwKQorCQkJCQl0cHJpbnRmKCIlI2x4IiwgdGNwLT51X2FyZ1s0XSk7CisJCQkJZWxzZSB7CisJCQkJCXRwcmludGYoImFkZHI9Iik7CisJCQkJCXByaW50c29jayh0Y3AsIChpbnQpIGFyZ3MuYWRkcik7CisJCQkJCXRwcmludGYoIiwgZmxhZ3M9Iik7CisJCQkJCXByaW50ZmxhZ3MobmZzX2ZsYWdzLCBhcmdzLmZsYWdzLCAiTkZTTU5UXz8/PyIpOworCQkJCQl0cHJpbnRmKCIsIGhvc3RuYW1lPSIpOworCQkJCQlwcmludHN0cih0Y3AsIChpbnQpIGFyZ3MuaG9zdG5hbWUsIC0xKTsKKwkJCQkJdHByaW50ZigiLCAuLi59Iik7CisJCQkJfQorCQkJfQorCQkJZWxzZQorCQkJCXRwcmludGYoIiUjbHgiLCB0Y3AtPnVfYXJnWzRdKTsKKwkJCXRwcmludGYoIiwgJWxkIiwgdGNwLT51X2FyZ1s1XSk7CisJCX0KKwl9CisJcmV0dXJuIDA7Cit9CisKKyNlbHNlIC8qICFNSVBTICovCisKKyNpZiBVTklYV0FSRQorCisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL2ZzdHlwLmg+CisjaW5jbHVkZSA8c3lzL21vdW50Lmg+CisjaW5jbHVkZSA8c3lzL3h0aS5oPgorCisjZGVmaW5lIE5GU0NMSUVOVAkxCisjaW5jbHVkZSA8bmZzL21vdW50Lmg+CisKKyNpbmNsdWRlIDxzeXMvZnMvdnhfaW9jdGwuaD4KKworc3RhdGljIGNvbnN0IHN0cnVjdCB4bGF0IG1vdW50X2ZsYWdzW10gPSB7CisJeyBNU19SRE9OTFksCSJNU19SRE9OTFkiCX0sCisJeyBNU19GU1MsCSJNU19GU1MiCX0sCisJeyBNU19EQVRBLAkiTVNfREFUQSIJfSwKKwl7IE1TX0hBREJBRCwJIk1TX0hBREJBRCIJfSwKKwl7IE1TX05PU1VJRCwJIk1TX05PU1VJRCIJfSwKKwl7IE1TX1JFTU9VTlQsCSJNU19SRU1PVU5UIgl9LAorCXsgTVNfTk9UUlVOQywJIk1TX05PVFJVTkMiCX0sCisJeyBNU19TT0ZUTU5ULAkiTVNfU09GVE1OVCIJfSwKKwl7IE1TX1NZU1NQQUNFLAkiTVNfU1lTU1BBQ0UiCX0sCisJeyAwLAkJTlVMTAkJfSwKK307CisKKyNpZmRlZiBWWF9NU19NQVNLCitzdGF0aWMgY29uc3Qgc3RydWN0IHhsYXQgdnhmc19mbGFnc1tdID0geworCXsgVlhfTVNfTk9MT0csCQkiVlhfTVNfTk9MT0ciCQl9LAorCXsgVlhfTVNfQkxLQ0xFQVIsCSJWWF9NU19CTEtDTEVBUiIJfSwKKwl7IFZYX01TX1NOQVBTSE9ULAkiVlhfTVNfU05BUFNIT1QiCX0sCisJeyBWWF9NU19OT0RBVEFJTkxPRywJIlZYX01TX05PREFUQUlOTE9HIgl9LAorCXsgVlhfTVNfREVMQVlMT0csCSJWWF9NU19ERUxBWUxPRyIJfSwKKwl7IFZYX01TX1RNUExPRywJCSJWWF9NU19UTVBMT0ciCQl9LAorCXsgVlhfTVNfRklMRVNFVCwJIlZYX01TX0ZJTEVTRVQiCQl9LAorCisJeyBWWF9NU19DQUNIRV9ESVJFQ1QsCSJWWF9NU19DQUNIRV9ESVJFQ1QiCX0sCisJeyBWWF9NU19DQUNIRV9EU1lOQywJIlZYX01TX0NBQ0hFX0RTWU5DIgl9LAorCXsgVlhfTVNfQ0FDSEVfQ0xPU0VTWU5DLCJWWF9NU19DQUNIRV9DTE9TRVNZTkMiCX0sCisJeyBWWF9NU19DQUNIRV9UTVBDQUNIRSwJIlZYX01TX0NBQ0hFX1RNUENBQ0hFIgl9LAorCisJeyBWWF9NU19PU1lOQ19ESVJFQ1QsCSJWWF9NU19PU1lOQ19ESVJFQ1QiCX0sCisJeyBWWF9NU19PU1lOQ19EU1lOQywJIlZYX01TX09TWU5DX0RTWU5DIgl9LAorCXsgVlhfTVNfT1NZTkNfQ0xPU0VTWU5DLCJWWF9NU19PU1lOQ19DTE9TRVNZTkMiCX0sCisJeyBWWF9NU19PU1lOQ19ERUxBWSwJIlZYX01TX09TWU5DX0RFTEFZIgl9LAorCXsgMCwJCQlOVUxMLAkJCX0sCit9OworI2VuZGlmCisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCBuZnNfZmxhZ3NbXSA9IHsKKwl7IE5GU01OVF9TT0ZULAkJIk5GU01OVF9TT0ZUIgkJfSwKKwl7IE5GU01OVF9XU0laRSwJCSJORlNNTlRfV1NJWkUiCQl9LAorCXsgTkZTTU5UX1JTSVpFLAkJIk5GU01OVF9SU0laRSIJCX0sCisJeyBORlNNTlRfVElNRU8sCQkiTkZTTU5UX1RJTUVPIgkJfSwKKwl7IE5GU01OVF9SRVRSQU5TLAkiTkZTTU5UX1JFVFJBTlMiCX0sCisJeyBORlNNTlRfSE9TVE5BTUUsCSJORlNNTlRfSE9TVE5BTUUiCX0sCisJeyBORlNNTlRfSU5ULAkJIk5GU01OVF9JTlQiCQl9LAorCXsgTkZTTU5UX05PQUMsCQkiTkZTTU5UX05PQUMiCQl9LAorCXsgTkZTTU5UX0FDUkVHTUlOLAkiTkZTTU5UX0FDUkVHTUlOIgl9LAorCXsgTkZTTU5UX0FDUkVHTUFYLAkiTkZTTU5UX0FDUkVHTUFYIgl9LAorCXsgTkZTTU5UX0FDRElSTUlOLAkiTkZTTU5UX0FDRElSTUlOIgl9LAorCXsgTkZTTU5UX0FDRElSTUFYLAkiTkZTTU5UX0FDRElSTUFYIgl9LAorCXsgTkZTTU5UX1NFQ1VSRSwJIk5GU01OVF9TRUNVUkUiCQl9LAorCXsgTkZTTU5UX05PQ1RPLAkJIk5GU01OVF9OT0NUTyIJCX0sCisJeyBORlNNTlRfR1JQSUQsCQkiTkZTTU5UX0dSUElEIgkJfSwKKwl7IE5GU01OVF9SUENUSU1FU1lOQywJIk5GU01OVF9SUENUSU1FU1lOQyIJfSwKKwl7IE5GU01OVF9MV1BTTUFYLAkiTkZTTU5UX0xXUFNNQVgiCX0sCisJeyAwLAkJCU5VTEwJCQl9LAorfTsKKworaW50CitzeXNfbW91bnQodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCWNoYXIgZnN0eXAgW0ZTVFlQU1pdOworCQlwcmludHBhdGgodGNwLCB0Y3AtPnVfYXJnWzBdKTsKKwkJdHByaW50ZigiLCAiKTsKKwkJcHJpbnRwYXRoKHRjcCwgdGNwLT51X2FyZ1sxXSk7CisJCXRwcmludGYoIiwgIik7CisJCXByaW50ZmxhZ3MobW91bnRfZmxhZ3MsIHRjcC0+dV9hcmdbMl0sICJNU18/Pz8iKTsKKwkJLyogVGhlIGRvYyBzZXogdGhhdCB0aGUgZmlsZSBzeXN0ZW0gdHlwZSBpcyBnaXZlbiBhcyBhCisJCSAgIGZzaW5kZXgsIGFuZCB3ZSBzaG91bGQgdXNlIHN5c2ZzIHRvIHdvcmsgb3V0IHRoZSBuYW1lLgorCQkgICBUaGlzIGFwcGVhcnMgdG8gYmUgdW50cnVlIGZvciBVVy4gIE1heWJlIGl0J3MgdW50cnVlCisJCSAgIGZvciBhbGwgU1ZSNCdzPyAqLworCQlpZiAodGNwLT51X2FyZ1syXSAmIChNU19GU1MgfCBNU19EQVRBKSkgeworCQkJaWYgKHVtb3Zlc3RyKHRjcCwgdGNwLT51X2FyZ1szXSwgRlNUWVBTWiwgZnN0eXApIDwgMCkgeworCQkJCSpmc3R5cCA9IDA7CisJCQkJdHByaW50ZigiLCAlbGQiLCB0Y3AtPnVfYXJnWzNdKTsKKwkJCX0KKwkJCWVsc2UKKwkJCQl0cHJpbnRmKCIsIFwiJXNcIiIsIGZzdHlwKTsKKwkJfQorCQlpZiAodGNwLT51X2FyZ1syXSAmIE1TX0RBVEEpIHsKKwkJCXRwcmludGYoIiwgIik7CisjaWZkZWYgVlhfTVNfTUFTSworCQkJLyogT24gVVc3IHRoZXkgZG9uJ3QgZ2l2ZSB1cyB0aGUgZGVmaW5lcyBhbmQgc3RydWN0cworCQkJICAgd2UgbmVlZCB0byBzZWUgd2hhdCBpcyBnb2luZyBvbi4gIEJ1bW1lci4gKi8KKwkJCWlmIChzdHJjbXAgKGZzdHlwLCAidnhmcyIpID09IDApIHsKKwkJCQlzdHJ1Y3QgdnhfbW91bnRhcmdzNSBhcmdzOworCQkJCWlmICh1bW92ZSh0Y3AsIHRjcC0+dV9hcmdbNF0sICZhcmdzKSA8IDApCisJCQkJCXRwcmludGYoIiUjbHgiLCB0Y3AtPnVfYXJnWzRdKTsKKwkJCQllbHNlIHsKKwkJCQkJdHByaW50ZigieyBmbGFncz0iKTsKKwkJCQkJcHJpbnRmbGFncyh2eGZzX2ZsYWdzLCBhcmdzLm1mbGFncywgIlZYX01TXz8/PyIpOworCQkJCQlpZiAoYXJncy5tZmxhZ3MgJiBWWF9NU19TTkFQU0hPVCkgeworCQkJCQkJdHByaW50ZiAoIiwgc25hcG9mPSIpOworCQkJCQkJcHJpbnRzdHIgKHRjcCwKKwkJCQkJCQkgIChsb25nKSBhcmdzLnByaW1hcnlzcGVjLAorCQkJCQkJCSAgLTEpOworCQkJCQkJaWYgKGFyZ3Muc25hcHNpemUgPiAwKQorCQkJCQkJCXRwcmludGYgKCIsIHNuYXBzaXplPSVsZCIsIGFyZ3Muc25hcHNpemUpOworCQkJCQl9CisJCQkJCXRwcmludGYoIiB9Iik7CisJCQkJfQorCQkJfQorCQkJZWxzZQorI2VuZGlmCisJCQlpZiAoc3RyY21wIChmc3R5cCwgInNwZWNmcyIpID09IDApIHsKKwkJCQl0cHJpbnRmICgiZGV2PSIpOworCQkJCXByaW50c3RyICh0Y3AsIHRjcC0+dV9hcmdbNF0sIC0xKTsKKwkJCX0KKwkJCWVsc2UKKwkJCWlmIChzdHJjbXAgKGZzdHlwLCAibmZzIikgPT0gMCkgeworCQkJCXN0cnVjdCBuZnNfYXJncyBhcmdzOworCQkJCWlmICh1bW92ZSh0Y3AsIHRjcC0+dV9hcmdbNF0sICZhcmdzKSA8IDApCisJCQkJCXRwcmludGYoIiUjbHgiLCB0Y3AtPnVfYXJnWzRdKTsKKwkJCQllbHNlIHsKKwkJCQkJc3RydWN0IG5ldGJ1ZiBhZGRyOworCQkJCQl0cHJpbnRmKCJ7IGFkZHI9Iik7CisJCQkJCWlmICh1bW92ZSAodGNwLCAoaW50KSBhcmdzLmFkZHIsICZhZGRyKSA8IDApIHsKKwkJCQkJCXRwcmludGYgKCIlI2x4IiwgKGxvbmcpIGFyZ3MuYWRkcik7CisJCQkJCX0KKwkJCQkJZWxzZSB7CisJCQkJCQlwcmludHNvY2sodGNwLCAoaW50KSBhZGRyLmJ1ZiwgYWRkci5sZW4pOworCQkJCQl9CisJCQkJCXRwcmludGYoIiwgZmxhZ3M9Iik7CisJCQkJCXByaW50ZmxhZ3MobmZzX2ZsYWdzLCBhcmdzLmZsYWdzLCAiTkZTTU5UXz8/PyIpOworCQkJCQl0cHJpbnRmKCIsIGhvc3RuYW1lPSIpOworCQkJCQlwcmludHN0cih0Y3AsIChpbnQpIGFyZ3MuaG9zdG5hbWUsIC0xKTsKKwkJCQkJdHByaW50ZigiLCAuLi59Iik7CisJCQkJfQorCQkJfQorCQkJZWxzZQorCQkJCXRwcmludGYoIiUjbHgiLCB0Y3AtPnVfYXJnWzRdKTsKKwkJCXRwcmludGYoIiwgJWxkIiwgdGNwLT51X2FyZ1s1XSk7CisJCX0KKwl9CisJcmV0dXJuIDA7Cit9CisKKyNlbHNlIC8qICFVTklYV0FSRSAqLworCitpbnQKK3N5c19tb3VudCh0Y3ApCitzdHJ1Y3QgdGNiICp0Y3A7Cit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJcHJpbnRwYXRoKHRjcCwgdGNwLT51X2FyZ1swXSk7CisJCXRwcmludGYoIiwgIik7CisJCXByaW50cGF0aCh0Y3AsIHRjcC0+dV9hcmdbMV0pOworCQl0cHJpbnRmKCIsIC4uLiIpOworCX0KKwlyZXR1cm4gMDsKK30KKyNlbmRpZiAvKiAhVU5JWFdBUkUgKi8KKworI2VuZGlmIC8qICFNSVBTICovCisKKyNlbmRpZiAvKiBTVlI0ICovCisKKyNpZmRlZiBTWVNfY2FwZ2V0CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCBjYXBhYmlsaXRpZXNbXSA9IHsKKwl7IDE8PENBUF9DSE9XTiwJCSJDQVBfQ0hPV04iCX0sCisJeyAxPDxDQVBfREFDX09WRVJSSURFLAkiQ0FQX0RBQ19PVkVSUklERSJ9LAorCXsgMTw8Q0FQX0RBQ19SRUFEX1NFQVJDSCwiQ0FQX0RBQ19SRUFEX1NFQVJDSCJ9LAorCXsgMTw8Q0FQX0ZPV05FUiwJIkNBUF9GT1dORVIiCX0sCisJeyAxPDxDQVBfRlNFVElELAkiQ0FQX0ZTRVRJRCIJfSwKKwl7IDE8PENBUF9LSUxMLAkJIkNBUF9LSUxMIgl9LAorCXsgMTw8Q0FQX1NFVEdJRCwJIkNBUF9TRVRHSUQiCX0sCisJeyAxPDxDQVBfU0VUVUlELAkiQ0FQX1NFVFVJRCIJfSwKKwl7IDE8PENBUF9TRVRQQ0FQLAkiQ0FQX1NFVFBDQVAiCX0sCisJeyAxPDxDQVBfTElOVVhfSU1NVVRBQkxFLCJDQVBfTElOVVhfSU1NVVRBQkxFIn0sCisJeyAxPDxDQVBfTkVUX0JJTkRfU0VSVklDRSwiQ0FQX05FVF9CSU5EX1NFUlZJQ0UifSwKKwl7IDE8PENBUF9ORVRfQlJPQURDQVNULAkiQ0FQX05FVF9CUk9BRENBU1QifSwKKwl7IDE8PENBUF9ORVRfQURNSU4sCSJDQVBfTkVUX0FETUlOIgl9LAorCXsgMTw8Q0FQX05FVF9SQVcsCSJDQVBfTkVUX1JBVyIJfSwKKwl7IDE8PENBUF9JUENfTE9DSywJIkNBUF9JUENfTE9DSyIJfSwKKwl7IDE8PENBUF9JUENfT1dORVIsCSJDQVBfSVBDX09XTkVSIgl9LAorCXsgMTw8Q0FQX1NZU19NT0RVTEUsCSJDQVBfU1lTX01PRFVMRSJ9LAorCXsgMTw8Q0FQX1NZU19SQVdJTywJIkNBUF9TWVNfUkFXSU8iCX0sCisJeyAxPDxDQVBfU1lTX0NIUk9PVCwJIkNBUF9TWVNfQ0hST09UIn0sCisJeyAxPDxDQVBfU1lTX1BUUkFDRSwJIkNBUF9TWVNfUFRSQUNFIn0sCisJeyAxPDxDQVBfU1lTX1BBQ0NULAkiQ0FQX1NZU19QQUNDVCIJfSwKKwl7IDE8PENBUF9TWVNfQURNSU4sCSJDQVBfU1lTX0FETUlOIgl9LAorCXsgMTw8Q0FQX1NZU19CT09ULAkiQ0FQX1NZU19CT09UIgl9LAorCXsgMTw8Q0FQX1NZU19OSUNFLAkiQ0FQX1NZU19OSUNFIgl9LAorCXsgMTw8Q0FQX1NZU19SRVNPVVJDRSwJIkNBUF9TWVNfUkVTT1VSQ0UifSwKKwl7IDE8PENBUF9TWVNfVElNRSwJIkNBUF9TWVNfVElNRSIJfSwKKwl7IDE8PENBUF9TWVNfVFRZX0NPTkZJRywiQ0FQX1NZU19UVFlfQ09ORklHIn0sCisjaWZkZWYgQ0FQX01LTk9ECisJeyAxPDxDQVBfTUtOT0QsCQkiQ0FQX01LTk9EIgl9LAorI2VuZGlmCisjaWZkZWYgQ0FQX0xFQVNFCisJeyAxPDxDQVBfTEVBU0UsCQkiQ0FQX0xFQVNFIgl9LAorI2VuZGlmCisjaWZkZWYgQ0FQX0FVRElUX1dSSVRFCisJeyAxPDxDQVBfQVVESVRfV1JJVEUsCSJDQVBfQVVESVRfV1JJVEUifSwKKyNlbmRpZgorI2lmZGVmIENBUF9BVURJVF9DT05UUk9MCisJeyAxPDxDQVBfQVVESVRfQ09OVFJPTCwJIkNBUF9BVURJVF9DT05UUk9MIn0sCisjZW5kaWYKKyNpZmRlZiBDQVBfU0VURkNBUAorCXsgMTw8Q0FQX1NFVEZDQVAsCSJDQVBfU0VURkNBUCIJfSwKKyNlbmRpZgorCXsgMCwgICAgICAgICAgICAgICAgICAgIE5VTEwgICAgICAgICAgICB9LAorfTsKKworCitpbnQKK3N5c19jYXBnZXQodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCXN0YXRpYyBjYXBfdXNlcl9oZWFkZXJfdCAgICAgICBhcmcwID0gTlVMTDsKKwlzdGF0aWMgY2FwX3VzZXJfZGF0YV90ICAgICAgICAgYXJnMSA9IE5VTEw7CisKKwlpZighZW50ZXJpbmcodGNwKSkgeworCQlpZiAoIWFyZzApIHsKKwkJCWlmICgoYXJnMCA9IG1hbGxvYyhzaXplb2YoKmFyZzApKSkgPT0gTlVMTCkgeworCQkJCWZwcmludGYoc3RkZXJyLCAib3V0IG9mIG1lbW9yeVxuIik7CisJCQkJdHByaW50ZigiJSNseCwgJSNseCIsIHRjcC0+dV9hcmdbMF0sIHRjcC0+dV9hcmdbMV0pOworCQkJCXJldHVybiAtMTsKKwkJCX0KKwkJfQorCQlpZiAoIWFyZzEpIHsKKwkJCWlmICgoYXJnMSA9IG1hbGxvYyhzaXplb2YoKmFyZzEpKSkgPT0gTlVMTCkgeworCQkJCWZwcmludGYoc3RkZXJyLCAib3V0IG9mIG1lbW9yeVxuIik7CisJCQkJdHByaW50ZigiJSNseCwgJSNseCIsIHRjcC0+dV9hcmdbMF0sIHRjcC0+dV9hcmdbMV0pOworCQkJCXJldHVybiAtMTsKKwkJCX0KKwkJfQorCisJCWlmICghdGNwLT51X2FyZ1swXSkKKwkJCXRwcmludGYoIk5VTEwiKTsKKwkJZWxzZSBpZiAoIXZlcmJvc2UodGNwKSkKKwkJCXRwcmludGYoIiUjbHgiLCB0Y3AtPnVfYXJnWzBdKTsKKwkJZWxzZSBpZiAodW1vdmVuKHRjcCwgdGNwLT51X2FyZ1swXSwgc2l6ZW9mKCphcmcwKSwgKGNoYXIgKikgYXJnMCkgPCAwKQorCQkJdHByaW50ZigiPz8/Iik7CisJCWVsc2UgeworCQkJdHByaW50ZigiJSN4LCAlZCIsIGFyZzAtPnZlcnNpb24sIGFyZzAtPnBpZCk7CisJCX0KKwkJdHByaW50ZigiLCAiKTsKKwkJaWYgKCF0Y3AtPnVfYXJnWzFdKQorCQkJdHByaW50ZigiTlVMTCIpOworCQllbHNlIGlmICghdmVyYm9zZSh0Y3ApKQorCQkJdHByaW50ZigiJSNseCIsIHRjcC0+dV9hcmdbMV0pOworCQllbHNlIGlmICh1bW92ZW4odGNwLCB0Y3AtPnVfYXJnWzFdLCBzaXplb2YoKmFyZzEpLCAoY2hhciAqKSBhcmcxKSA8IDApCisJCQl0cHJpbnRmKCI/Pz8iKTsKKwkJZWxzZSB7CisJCQl0cHJpbnRmKCJ7Iik7CisJCQlwcmludGZsYWdzKGNhcGFiaWxpdGllcywgYXJnMS0+ZWZmZWN0aXZlLCAiQ0FQXz8/PyIpOworCQkJdHByaW50ZigiLCAiKTsKKwkJCXByaW50ZmxhZ3MoY2FwYWJpbGl0aWVzLCBhcmcxLT5wZXJtaXR0ZWQsICJDQVBfPz8/Iik7CisJCQl0cHJpbnRmKCIsICIpOworCQkJcHJpbnRmbGFncyhjYXBhYmlsaXRpZXMsIGFyZzEtPmluaGVyaXRhYmxlLCAiQ0FQXz8/PyIpOworCQkJdHByaW50ZigifSIpOworCQl9CisJfQorCXJldHVybiAwOworfQorCitpbnQKK3N5c19jYXBzZXQodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCXN0YXRpYyBjYXBfdXNlcl9oZWFkZXJfdCAgICAgICBhcmcwID0gTlVMTDsKKwlzdGF0aWMgY2FwX3VzZXJfZGF0YV90ICAgICAgICAgYXJnMSA9IE5VTEw7CisKKwlpZihlbnRlcmluZyh0Y3ApKSB7CisJCWlmICghYXJnMCkgeworCQkJaWYgKChhcmcwID0gbWFsbG9jKHNpemVvZigqYXJnMCkpKSA9PSBOVUxMKSB7CisJCQkJZnByaW50ZihzdGRlcnIsICJvdXQgb2YgbWVtb3J5XG4iKTsKKwkJCQl0cHJpbnRmKCIlI2x4LCAlI2x4IiwgdGNwLT51X2FyZ1swXSwgdGNwLT51X2FyZ1sxXSk7CisJCQkJcmV0dXJuIC0xOworCQkJfQorCQl9CisJCWlmICghYXJnMSkgeworCQkJaWYgKChhcmcxID0gbWFsbG9jKHNpemVvZigqYXJnMSkpKSA9PSBOVUxMKSB7CisJCQkJZnByaW50ZihzdGRlcnIsICJvdXQgb2YgbWVtb3J5XG4iKTsKKwkJCQl0cHJpbnRmKCIlI2x4LCAlI2x4IiwgdGNwLT51X2FyZ1swXSwgdGNwLT51X2FyZ1sxXSk7CisJCQkJcmV0dXJuIC0xOworCQkJfQorCQl9CisKKwkJaWYgKCF0Y3AtPnVfYXJnWzBdKQorCQkJdHByaW50ZigiTlVMTCIpOworCQllbHNlIGlmICghdmVyYm9zZSh0Y3ApKQorCQkJdHByaW50ZigiJSNseCIsIHRjcC0+dV9hcmdbMF0pOworCQllbHNlIGlmICh1bW92ZW4odGNwLCB0Y3AtPnVfYXJnWzBdLCBzaXplb2YoKmFyZzApLCAoY2hhciAqKSBhcmcwKSA8IDApCisJCQl0cHJpbnRmKCI/Pz8iKTsKKwkJZWxzZSB7CisJCQl0cHJpbnRmKCIlI3gsICVkIiwgYXJnMC0+dmVyc2lvbiwgYXJnMC0+cGlkKTsKKwkJfQorCQl0cHJpbnRmKCIsICIpOworCQlpZiAoIXRjcC0+dV9hcmdbMV0pCisJCQl0cHJpbnRmKCJOVUxMIik7CisJCWVsc2UgaWYgKCF2ZXJib3NlKHRjcCkpCisJCQl0cHJpbnRmKCIlI2x4IiwgdGNwLT51X2FyZ1sxXSk7CisJCWVsc2UgaWYgKHVtb3Zlbih0Y3AsIHRjcC0+dV9hcmdbMV0sIHNpemVvZigqYXJnMSksIChjaGFyICopIGFyZzEpIDwgMCkKKwkJCXRwcmludGYoIj8/PyIpOworCQllbHNlIHsKKwkJCXRwcmludGYoInsiKTsKKwkJCXByaW50ZmxhZ3MoY2FwYWJpbGl0aWVzLCBhcmcxLT5lZmZlY3RpdmUsICJDQVBfPz8/Iik7CisJCQl0cHJpbnRmKCIsICIpOworCQkJcHJpbnRmbGFncyhjYXBhYmlsaXRpZXMsIGFyZzEtPnBlcm1pdHRlZCwgIkNBUF8/Pz8iKTsKKwkJCXRwcmludGYoIiwgIik7CisJCQlwcmludGZsYWdzKGNhcGFiaWxpdGllcywgYXJnMS0+aW5oZXJpdGFibGUsICJDQVBfPz8/Iik7CisJCQl0cHJpbnRmKCJ9Iik7CisJCX0KKwl9CisJcmV0dXJuIDA7Cit9CisKKyNlbHNlCisKK2ludCBzeXNfY2FwZ2V0KHRjcCkKK3N0cnVjdCB0Y2IgKnRjcDsKK3sKKwlyZXR1cm4gcHJpbnRhcmdzKHRjcCk7Cit9CisKK2ludCBzeXNfY2Fwc2V0KHRjcCkKK3N0cnVjdCB0Y2IgKnRjcDsKK3sKKwlyZXR1cm4gcHJpbnRhcmdzKHRjcCk7Cit9CisKKyNlbmRpZgorCisjaWZkZWYgTElOVVgKKy8qIExpbnV4IDIuNi4xOCsgaGVhZGVycyByZW1vdmVkIENUTF9QUk9DIGVudW0uICAqLworIyBkZWZpbmUgQ1RMX1BST0MgNAorIyBkZWZpbmUgQ1RMX0NQVSAxMAkJLyogb2xkZXIgaGVhZGVycyBsYWNrICovCitzdGF0aWMgY29uc3Qgc3RydWN0IHhsYXQgc3lzY3RsX3Jvb3RbXSA9IHsKKwl7IENUTF9LRVJOLCAiQ1RMX0tFUk4iIH0sCisJeyBDVExfVk0sICJDVExfVk0iIH0sCisJeyBDVExfTkVULCAiQ1RMX05FVCIgfSwKKwl7IENUTF9QUk9DLCAiQ1RMX1BST0MiIH0sCisJeyBDVExfRlMsICJDVExfRlMiIH0sCisJeyBDVExfREVCVUcsICJDVExfREVCVUciIH0sCisJeyBDVExfREVWLCAiQ1RMX0RFViIgfSwKKwl7IENUTF9CVVMsICJDVExfQlVTIiB9LAorCXsgQ1RMX0FCSSwgIkNUTF9BQkkiIH0sCisJeyBDVExfQ1BVLCAiQ1RMX0NQVSIgfSwKKwl7IDAsIE5VTEwgfQorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCB4bGF0IHN5c2N0bF9rZXJuW10gPSB7CisJeyBLRVJOX09TVFlQRSwgIktFUk5fT1NUWVBFIiB9LAorCXsgS0VSTl9PU1JFTEVBU0UsICJLRVJOX09TUkVMRUFTRSIgfSwKKwl7IEtFUk5fT1NSRVYsICJLRVJOX09TUkVWIiB9LAorCXsgS0VSTl9WRVJTSU9OLCAiS0VSTl9WRVJTSU9OIiB9LAorCXsgS0VSTl9TRUNVUkVNQVNLLCAiS0VSTl9TRUNVUkVNQVNLIiB9LAorCXsgS0VSTl9QUk9GLCAiS0VSTl9QUk9GIiB9LAorCXsgS0VSTl9OT0RFTkFNRSwgIktFUk5fTk9ERU5BTUUiIH0sCisJeyBLRVJOX0RPTUFJTk5BTUUsICJLRVJOX0RPTUFJTk5BTUUiIH0sCisjaWZkZWYgS0VSTl9TRUNVUkVMVkwKKwl7IEtFUk5fU0VDVVJFTFZMLCAiS0VSTl9TRUNVUkVMVkwiIH0sCisjZW5kaWYKKwl7IEtFUk5fUEFOSUMsICJLRVJOX1BBTklDIiB9LAorI2lmZGVmIEtFUk5fUkVBTFJPT1RERVYKKwl7IEtFUk5fUkVBTFJPT1RERVYsICJLRVJOX1JFQUxST09UREVWIiB9LAorI2VuZGlmCisjaWZkZWYgS0VSTl9KQVZBX0lOVEVSUFJFVEVSCisJeyBLRVJOX0pBVkFfSU5URVJQUkVURVIsICJLRVJOX0pBVkFfSU5URVJQUkVURVIiIH0sCisjZW5kaWYKKyNpZmRlZiBLRVJOX0pBVkFfQVBQTEVUVklFV0VSCisJeyBLRVJOX0pBVkFfQVBQTEVUVklFV0VSLCAiS0VSTl9KQVZBX0FQUExFVFZJRVdFUiIgfSwKKyNlbmRpZgorCXsgS0VSTl9TUEFSQ19SRUJPT1QsICJLRVJOX1NQQVJDX1JFQk9PVCIgfSwKKwl7IEtFUk5fQ1RMQUxUREVMLCAiS0VSTl9DVExBTFRERUwiIH0sCisJeyBLRVJOX1BSSU5USywgIktFUk5fUFJJTlRLIiB9LAorCXsgS0VSTl9OQU1FVFJBTlMsICJLRVJOX05BTUVUUkFOUyIgfSwKKwl7IEtFUk5fUFBDX0hUQUJSRUNMQUlNLCAiS0VSTl9QUENfSFRBQlJFQ0xBSU0iIH0sCisJeyBLRVJOX1BQQ19aRVJPUEFHRUQsICJLRVJOX1BQQ19aRVJPUEFHRUQiIH0sCisJeyBLRVJOX1BQQ19QT1dFUlNBVkVfTkFQLCAiS0VSTl9QUENfUE9XRVJTQVZFX05BUCIgfSwKKwl7IEtFUk5fTU9EUFJPQkUsICJLRVJOX01PRFBST0JFIiB9LAorCXsgS0VSTl9TR19CSUdfQlVGRiwgIktFUk5fU0dfQklHX0JVRkYiIH0sCisJeyBLRVJOX0FDQ1QsICJLRVJOX0FDQ1QiIH0sCisJeyBLRVJOX1BQQ19MMkNSLCAiS0VSTl9QUENfTDJDUiIgfSwKKwl7IEtFUk5fUlRTSUdOUiwgIktFUk5fUlRTSUdOUiIgfSwKKwl7IEtFUk5fUlRTSUdNQVgsICJLRVJOX1JUU0lHTUFYIiB9LAorCXsgS0VSTl9TSE1NQVgsICJLRVJOX1NITU1BWCIgfSwKKwl7IEtFUk5fTVNHTUFYLCAiS0VSTl9NU0dNQVgiIH0sCisJeyBLRVJOX01TR01OQiwgIktFUk5fTVNHTU5CIiB9LAorCXsgS0VSTl9NU0dQT09MLCAiS0VSTl9NU0dQT09MIiB9LAorCXsgMCwgTlVMTCB9Cit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IHhsYXQgc3lzY3RsX3ZtW10gPSB7CisjaWZkZWYgVk1fU1dBUENUTAorCXsgVk1fU1dBUENUTCwgIlZNX1NXQVBDVEwiIH0sCisjZW5kaWYKKyNpZmRlZiBWTV9VTlVTRUQxCisJeyBWTV9VTlVTRUQxLCAiVk1fVU5VU0VEMSIgfSwKKyNlbmRpZgorI2lmZGVmIFZNX1NXQVBPVVQKKwl7IFZNX1NXQVBPVVQsICJWTV9TV0FQT1VUIiB9LAorI2VuZGlmCisjaWZkZWYgVk1fVU5VU0VEMgorCXsgVk1fVU5VU0VEMiwgIlZNX1VOVVNFRDIiIH0sCisjZW5kaWYKKyNpZmRlZiBWTV9GUkVFUEcKKwl7IFZNX0ZSRUVQRywgIlZNX0ZSRUVQRyIgfSwKKyNlbmRpZgorI2lmZGVmIFZNX1VOVVNFRDMKKwl7IFZNX1VOVVNFRDMsICJWTV9VTlVTRUQzIiB9LAorI2VuZGlmCisjaWZkZWYgVk1fQkRGTFVTSAorCXsgVk1fQkRGTFVTSCwgIlZNX0JERkxVU0giIH0sCisjZW5kaWYKKyNpZmRlZiBWTV9VTlVTRUQ0CisJeyBWTV9VTlVTRUQ0LCAiVk1fVU5VU0VENCIgfSwKKyNlbmRpZgorCXsgVk1fT1ZFUkNPTU1JVF9NRU1PUlksICJWTV9PVkVSQ09NTUlUX01FTU9SWSIgfSwKKyNpZmRlZiBWTV9CVUZGRVJNRU0KKwl7IFZNX0JVRkZFUk1FTSwgIlZNX0JVRkZFUk1FTSIgfSwKKyNlbmRpZgorI2lmZGVmIFZNX1VOVVNFRDUKKwl7IFZNX1VOVVNFRDUsICJWTV9VTlVTRUQ1IiB9LAorI2VuZGlmCisjaWZkZWYgVk1fUEFHRUNBQ0hFCisJeyBWTV9QQUdFQ0FDSEUsICJWTV9QQUdFQ0FDSEUiIH0sCisjZW5kaWYKKyNpZmRlZiBWTV9VTlVTRUQ3CisJeyBWTV9VTlVTRUQ3LCAiVk1fVU5VU0VENyIgfSwKKyNlbmRpZgorI2lmZGVmIFZNX1BBR0VSREFFTU9OCisJeyBWTV9QQUdFUkRBRU1PTiwgIlZNX1BBR0VSREFFTU9OIiB9LAorI2VuZGlmCisjaWZkZWYgVk1fVU5VU0VEOAorCXsgVk1fVU5VU0VEOCwgIlZNX1VOVVNFRDgiIH0sCisjZW5kaWYKKyNpZmRlZiBWTV9QR1RfQ0FDSEUKKwl7IFZNX1BHVF9DQUNIRSwgIlZNX1BHVF9DQUNIRSIgfSwKKyNlbmRpZgorI2lmZGVmIFZNX1VOVVNFRDkKKwl7IFZNX1VOVVNFRDksICJWTV9VTlVTRUQ5IiB9LAorI2VuZGlmCisJeyBWTV9QQUdFX0NMVVNURVIsICJWTV9QQUdFX0NMVVNURVIiIH0sCisJeyAwLCBOVUxMIH0sCit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IHhsYXQgc3lzY3RsX25ldFtdID0geworCXsgTkVUX0NPUkUsICJORVRfQ09SRSIgfSwKKwl7IE5FVF9FVEhFUiwgIk5FVF9FVEhFUiIgfSwKKwl7IE5FVF84MDIsICJORVRfODAyIiB9LAorCXsgTkVUX1VOSVgsICJORVRfVU5JWCIgfSwKKwl7IE5FVF9JUFY0LCAiTkVUX0lQVjQiIH0sCisJeyBORVRfSVBYLCAiTkVUX0lQWCIgfSwKKwl7IE5FVF9BVEFMSywgIk5FVF9BVEFMSyIgfSwKKwl7IE5FVF9ORVRST00sICJORVRfTkVUUk9NIiB9LAorCXsgTkVUX0FYMjUsICJORVRfQVgyNSIgfSwKKwl7IE5FVF9CUklER0UsICJORVRfQlJJREdFIiB9LAorCXsgTkVUX1JPU0UsICJORVRfUk9TRSIgfSwKKwl7IE5FVF9JUFY2LCAiTkVUX0lQVjYiIH0sCisJeyBORVRfWDI1LCAiTkVUX1gyNSIgfSwKKwl7IE5FVF9UUiwgIk5FVF9UUiIgfSwKKwl7IE5FVF9ERUNORVQsICJORVRfREVDTkVUIiB9LAorCXsgMCwgTlVMTCB9Cit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IHhsYXQgc3lzY3RsX25ldF9jb3JlW10gPSB7CisJeyBORVRfQ09SRV9XTUVNX01BWCwgIk5FVF9DT1JFX1dNRU1fTUFYIiB9LAorCXsgTkVUX0NPUkVfUk1FTV9NQVgsICJORVRfQ09SRV9STUVNX01BWCIgfSwKKwl7IE5FVF9DT1JFX1dNRU1fREVGQVVMVCwgIk5FVF9DT1JFX1dNRU1fREVGQVVMVCIgfSwKKwl7IE5FVF9DT1JFX1JNRU1fREVGQVVMVCwgIk5FVF9DT1JFX1JNRU1fREVGQVVMVCIgfSwKKwl7IE5FVF9DT1JFX01BWF9CQUNLTE9HLCAiTkVUX0NPUkVfTUFYX0JBQ0tMT0ciIH0sCisJeyBORVRfQ09SRV9GQVNUUk9VVEUsICJORVRfQ09SRV9GQVNUUk9VVEUiIH0sCisJeyBORVRfQ09SRV9NU0dfQ09TVCwgIk5FVF9DT1JFX01TR19DT1NUIiB9LAorCXsgTkVUX0NPUkVfTVNHX0JVUlNULCAiTkVUX0NPUkVfTVNHX0JVUlNUIiB9LAorCXsgTkVUX0NPUkVfT1BUTUVNX01BWCwgIk5FVF9DT1JFX09QVE1FTV9NQVgiIH0sCisJeyAwLCBOVUxMIH0KK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCBzeXNjdGxfbmV0X3VuaXhbXSA9IHsKKwl7IE5FVF9VTklYX0RFU1RST1lfREVMQVksICJORVRfVU5JWF9ERVNUUk9ZX0RFTEFZIiB9LAorCXsgTkVUX1VOSVhfREVMRVRFX0RFTEFZLCAiTkVUX1VOSVhfREVMRVRFX0RFTEFZIiB9LAorCXsgMCwgTlVMTCB9Cit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IHhsYXQgc3lzY3RsX25ldF9pcHY0W10gPSB7CisJeyBORVRfSVBWNF9GT1JXQVJELCAiTkVUX0lQVjRfRk9SV0FSRCIgfSwKKwl7IE5FVF9JUFY0X0RZTkFERFIsICJORVRfSVBWNF9EWU5BRERSIiB9LAorCXsgTkVUX0lQVjRfQ09ORiwgIk5FVF9JUFY0X0NPTkYiIH0sCisJeyBORVRfSVBWNF9ORUlHSCwgIk5FVF9JUFY0X05FSUdIIiB9LAorCXsgTkVUX0lQVjRfUk9VVEUsICJORVRfSVBWNF9ST1VURSIgfSwKKwl7IE5FVF9JUFY0X0ZJQl9IQVNILCAiTkVUX0lQVjRfRklCX0hBU0giIH0sCisJeyBORVRfSVBWNF9UQ1BfVElNRVNUQU1QUywgIk5FVF9JUFY0X1RDUF9USU1FU1RBTVBTIiB9LAorCXsgTkVUX0lQVjRfVENQX1dJTkRPV19TQ0FMSU5HLCAiTkVUX0lQVjRfVENQX1dJTkRPV19TQ0FMSU5HIiB9LAorCXsgTkVUX0lQVjRfVENQX1NBQ0ssICJORVRfSVBWNF9UQ1BfU0FDSyIgfSwKKwl7IE5FVF9JUFY0X1RDUF9SRVRSQU5TX0NPTExBUFNFLCAiTkVUX0lQVjRfVENQX1JFVFJBTlNfQ09MTEFQU0UiIH0sCisJeyBORVRfSVBWNF9ERUZBVUxUX1RUTCwgIk5FVF9JUFY0X0RFRkFVTFRfVFRMIiB9LAorCXsgTkVUX0lQVjRfQVVUT0NPTkZJRywgIk5FVF9JUFY0X0FVVE9DT05GSUciIH0sCisJeyBORVRfSVBWNF9OT19QTVRVX0RJU0MsICJORVRfSVBWNF9OT19QTVRVX0RJU0MiIH0sCisJeyBORVRfSVBWNF9UQ1BfU1lOX1JFVFJJRVMsICJORVRfSVBWNF9UQ1BfU1lOX1JFVFJJRVMiIH0sCisJeyBORVRfSVBWNF9JUEZSQUdfSElHSF9USFJFU0gsICJORVRfSVBWNF9JUEZSQUdfSElHSF9USFJFU0giIH0sCisJeyBORVRfSVBWNF9JUEZSQUdfTE9XX1RIUkVTSCwgIk5FVF9JUFY0X0lQRlJBR19MT1dfVEhSRVNIIiB9LAorCXsgTkVUX0lQVjRfSVBGUkFHX1RJTUUsICJORVRfSVBWNF9JUEZSQUdfVElNRSIgfSwKKwl7IE5FVF9JUFY0X1RDUF9NQVhfS0FfUFJPQkVTLCAiTkVUX0lQVjRfVENQX01BWF9LQV9QUk9CRVMiIH0sCisJeyBORVRfSVBWNF9UQ1BfS0VFUEFMSVZFX1RJTUUsICJORVRfSVBWNF9UQ1BfS0VFUEFMSVZFX1RJTUUiIH0sCisJeyBORVRfSVBWNF9UQ1BfS0VFUEFMSVZFX1BST0JFUywgIk5FVF9JUFY0X1RDUF9LRUVQQUxJVkVfUFJPQkVTIiB9LAorCXsgTkVUX0lQVjRfVENQX1JFVFJJRVMxLCAiTkVUX0lQVjRfVENQX1JFVFJJRVMxIiB9LAorCXsgTkVUX0lQVjRfVENQX1JFVFJJRVMyLCAiTkVUX0lQVjRfVENQX1JFVFJJRVMyIiB9LAorCXsgTkVUX0lQVjRfVENQX0ZJTl9USU1FT1VULCAiTkVUX0lQVjRfVENQX0ZJTl9USU1FT1VUIiB9LAorCXsgTkVUX0lQVjRfSVBfTUFTUV9ERUJVRywgIk5FVF9JUFY0X0lQX01BU1FfREVCVUciIH0sCisJeyBORVRfVENQX1NZTkNPT0tJRVMsICJORVRfVENQX1NZTkNPT0tJRVMiIH0sCisJeyBORVRfVENQX1NURFVSRywgIk5FVF9UQ1BfU1REVVJHIiB9LAorCXsgTkVUX1RDUF9SRkMxMzM3LCAiTkVUX1RDUF9SRkMxMzM3IiB9LAorCXsgTkVUX1RDUF9TWU5fVEFJTERST1AsICJORVRfVENQX1NZTl9UQUlMRFJPUCIgfSwKKwl7IE5FVF9UQ1BfTUFYX1NZTl9CQUNLTE9HLCAiTkVUX1RDUF9NQVhfU1lOX0JBQ0tMT0ciIH0sCisJeyBORVRfSVBWNF9MT0NBTF9QT1JUX1JBTkdFLCAiTkVUX0lQVjRfTE9DQUxfUE9SVF9SQU5HRSIgfSwKKwl7IE5FVF9JUFY0X0lDTVBfRUNIT19JR05PUkVfQUxMLCAiTkVUX0lQVjRfSUNNUF9FQ0hPX0lHTk9SRV9BTEwiIH0sCisJeyBORVRfSVBWNF9JQ01QX0VDSE9fSUdOT1JFX0JST0FEQ0FTVFMsICJORVRfSVBWNF9JQ01QX0VDSE9fSUdOT1JFX0JST0FEQ0FTVFMiIH0sCisJeyBORVRfSVBWNF9JQ01QX1NPVVJDRVFVRU5DSF9SQVRFLCAiTkVUX0lQVjRfSUNNUF9TT1VSQ0VRVUVOQ0hfUkFURSIgfSwKKwl7IE5FVF9JUFY0X0lDTVBfREVTVFVOUkVBQ0hfUkFURSwgIk5FVF9JUFY0X0lDTVBfREVTVFVOUkVBQ0hfUkFURSIgfSwKKwl7IE5FVF9JUFY0X0lDTVBfVElNRUVYQ0VFRF9SQVRFLCAiTkVUX0lQVjRfSUNNUF9USU1FRVhDRUVEX1JBVEUiIH0sCisJeyBORVRfSVBWNF9JQ01QX1BBUkFNUFJPQl9SQVRFLCAiTkVUX0lQVjRfSUNNUF9QQVJBTVBST0JfUkFURSIgfSwKKwl7IE5FVF9JUFY0X0lDTVBfRUNIT1JFUExZX1JBVEUsICJORVRfSVBWNF9JQ01QX0VDSE9SRVBMWV9SQVRFIiB9LAorCXsgTkVUX0lQVjRfSUNNUF9JR05PUkVfQk9HVVNfRVJST1JfUkVTUE9OU0VTLCAiTkVUX0lQVjRfSUNNUF9JR05PUkVfQk9HVVNfRVJST1JfUkVTUE9OU0VTIiB9LAorCXsgTkVUX0lQVjRfSUdNUF9NQVhfTUVNQkVSU0hJUFMsICJORVRfSVBWNF9JR01QX01BWF9NRU1CRVJTSElQUyIgfSwKKwl7ICAwLCBOVUxMIH0KK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCBzeXNjdGxfbmV0X2lwdjRfcm91dGVbXSA9IHsKKwl7IE5FVF9JUFY0X1JPVVRFX0ZMVVNILCAiTkVUX0lQVjRfUk9VVEVfRkxVU0giIH0sCisJeyBORVRfSVBWNF9ST1VURV9NSU5fREVMQVksICJORVRfSVBWNF9ST1VURV9NSU5fREVMQVkiIH0sCisJeyBORVRfSVBWNF9ST1VURV9NQVhfREVMQVksICJORVRfSVBWNF9ST1VURV9NQVhfREVMQVkiIH0sCisJeyBORVRfSVBWNF9ST1VURV9HQ19USFJFU0gsICJORVRfSVBWNF9ST1VURV9HQ19USFJFU0giIH0sCisJeyBORVRfSVBWNF9ST1VURV9NQVhfU0laRSwgIk5FVF9JUFY0X1JPVVRFX01BWF9TSVpFIiB9LAorCXsgTkVUX0lQVjRfUk9VVEVfR0NfTUlOX0lOVEVSVkFMLCAiTkVUX0lQVjRfUk9VVEVfR0NfTUlOX0lOVEVSVkFMIiB9LAorCXsgTkVUX0lQVjRfUk9VVEVfR0NfVElNRU9VVCwgIk5FVF9JUFY0X1JPVVRFX0dDX1RJTUVPVVQiIH0sCisJeyBORVRfSVBWNF9ST1VURV9HQ19JTlRFUlZBTCwgIk5FVF9JUFY0X1JPVVRFX0dDX0lOVEVSVkFMIiB9LAorCXsgTkVUX0lQVjRfUk9VVEVfUkVESVJFQ1RfTE9BRCwgIk5FVF9JUFY0X1JPVVRFX1JFRElSRUNUX0xPQUQiIH0sCisJeyBORVRfSVBWNF9ST1VURV9SRURJUkVDVF9OVU1CRVIsICJORVRfSVBWNF9ST1VURV9SRURJUkVDVF9OVU1CRVIiIH0sCisJeyBORVRfSVBWNF9ST1VURV9SRURJUkVDVF9TSUxFTkNFLCAiTkVUX0lQVjRfUk9VVEVfUkVESVJFQ1RfU0lMRU5DRSIgfSwKKwl7IE5FVF9JUFY0X1JPVVRFX0VSUk9SX0NPU1QsICJORVRfSVBWNF9ST1VURV9FUlJPUl9DT1NUIiB9LAorCXsgTkVUX0lQVjRfUk9VVEVfRVJST1JfQlVSU1QsICJORVRfSVBWNF9ST1VURV9FUlJPUl9CVVJTVCIgfSwKKwl7IE5FVF9JUFY0X1JPVVRFX0dDX0VMQVNUSUNJVFksICJORVRfSVBWNF9ST1VURV9HQ19FTEFTVElDSVRZIiB9LAorCXsgMCwgTlVMTCB9Cit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IHhsYXQgc3lzY3RsX25ldF9pcHY0X2NvbmZbXSA9IHsKKwl7IE5FVF9JUFY0X0NPTkZfRk9SV0FSRElORywgIk5FVF9JUFY0X0NPTkZfRk9SV0FSRElORyIgfSwKKwl7IE5FVF9JUFY0X0NPTkZfTUNfRk9SV0FSRElORywgIk5FVF9JUFY0X0NPTkZfTUNfRk9SV0FSRElORyIgfSwKKwl7IE5FVF9JUFY0X0NPTkZfUFJPWFlfQVJQLCAiTkVUX0lQVjRfQ09ORl9QUk9YWV9BUlAiIH0sCisJeyBORVRfSVBWNF9DT05GX0FDQ0VQVF9SRURJUkVDVFMsICJORVRfSVBWNF9DT05GX0FDQ0VQVF9SRURJUkVDVFMiIH0sCisJeyBORVRfSVBWNF9DT05GX1NFQ1VSRV9SRURJUkVDVFMsICJORVRfSVBWNF9DT05GX1NFQ1VSRV9SRURJUkVDVFMiIH0sCisJeyBORVRfSVBWNF9DT05GX1NFTkRfUkVESVJFQ1RTLCAiTkVUX0lQVjRfQ09ORl9TRU5EX1JFRElSRUNUUyIgfSwKKwl7IE5FVF9JUFY0X0NPTkZfU0hBUkVEX01FRElBLCAiTkVUX0lQVjRfQ09ORl9TSEFSRURfTUVESUEiIH0sCisJeyBORVRfSVBWNF9DT05GX1JQX0ZJTFRFUiwgIk5FVF9JUFY0X0NPTkZfUlBfRklMVEVSIiB9LAorCXsgTkVUX0lQVjRfQ09ORl9BQ0NFUFRfU09VUkNFX1JPVVRFLCAiTkVUX0lQVjRfQ09ORl9BQ0NFUFRfU09VUkNFX1JPVVRFIiB9LAorCXsgTkVUX0lQVjRfQ09ORl9CT09UUF9SRUxBWSwgIk5FVF9JUFY0X0NPTkZfQk9PVFBfUkVMQVkiIH0sCisJeyBORVRfSVBWNF9DT05GX0xPR19NQVJUSUFOUywgIk5FVF9JUFY0X0NPTkZfTE9HX01BUlRJQU5TIiB9LAorCXsgMCwgTlVMTCB9Cit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IHhsYXQgc3lzY3RsX25ldF9pcHY2W10gPSB7CisJeyBORVRfSVBWNl9DT05GLCAiTkVUX0lQVjZfQ09ORiIgfSwKKwl7IE5FVF9JUFY2X05FSUdILCAiTkVUX0lQVjZfTkVJR0giIH0sCisJeyBORVRfSVBWNl9ST1VURSwgIk5FVF9JUFY2X1JPVVRFIiB9LAorCXsgMCwgTlVMTCB9Cit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IHhsYXQgc3lzY3RsX25ldF9pcHY2X3JvdXRlW10gPSB7CisJeyBORVRfSVBWNl9ST1VURV9GTFVTSCwgIk5FVF9JUFY2X1JPVVRFX0ZMVVNIIiB9LAorCXsgTkVUX0lQVjZfUk9VVEVfR0NfVEhSRVNILCAiTkVUX0lQVjZfUk9VVEVfR0NfVEhSRVNIIiB9LAorCXsgTkVUX0lQVjZfUk9VVEVfTUFYX1NJWkUsICJORVRfSVBWNl9ST1VURV9NQVhfU0laRSIgfSwKKwl7IE5FVF9JUFY2X1JPVVRFX0dDX01JTl9JTlRFUlZBTCwgIk5FVF9JUFY2X1JPVVRFX0dDX01JTl9JTlRFUlZBTCIgfSwKKwl7IE5FVF9JUFY2X1JPVVRFX0dDX1RJTUVPVVQsICJORVRfSVBWNl9ST1VURV9HQ19USU1FT1VUIiB9LAorCXsgTkVUX0lQVjZfUk9VVEVfR0NfSU5URVJWQUwsICJORVRfSVBWNl9ST1VURV9HQ19JTlRFUlZBTCIgfSwKKwl7IE5FVF9JUFY2X1JPVVRFX0dDX0VMQVNUSUNJVFksICJORVRfSVBWNl9ST1VURV9HQ19FTEFTVElDSVRZIiB9LAorCXsgMCwgTlVMTCB9Cit9OworCitpbnQKK3N5c19zeXNjdGwodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCXN0cnVjdCBfX3N5c2N0bF9hcmdzIGluZm87CisJaW50ICpuYW1lOworCXVuc2lnbmVkIGxvbmcgc2l6ZTsKKworCWlmICh1bW92ZSAodGNwLCB0Y3AtPnVfYXJnWzBdLCAmaW5mbykgPCAwKQorCQlyZXR1cm4gcHJpbnRhcmdzKHRjcCk7CisKKwlzaXplID0gc2l6ZW9mIChpbnQpICogKHVuc2lnbmVkIGxvbmcpIGluZm8ubmxlbjsKKwluYW1lID0gKHNpemUgLyBzaXplb2YgKGludCkgIT0gaW5mby5ubGVuKSA/IE5VTEwgOiBtYWxsb2MgKHNpemUpOworCWlmIChuYW1lID09IE5VTEwgfHwKKwkgICAgdW1vdmVuKHRjcCwgKHVuc2lnbmVkIGxvbmcpIGluZm8ubmFtZSwgc2l6ZSwgKGNoYXIgKikgbmFtZSkgPCAwKSB7CisJCWZyZWUobmFtZSk7CisJCWlmIChlbnRlcmluZyh0Y3ApKQorCQkJdHByaW50ZigieyVwLCAlZCwgJXAsICVwLCAlcCwgJVp1fSIsCisJCQkJaW5mby5uYW1lLCBpbmZvLm5sZW4sIGluZm8ub2xkdmFsLAorCQkJCWluZm8ub2xkbGVucCwgaW5mby5uZXd2YWwsIGluZm8ubmV3bGVuKTsKKwkJcmV0dXJuIDA7CisJfQorCisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJaW50IGNudCA9IDAsIG1heF9jbnQ7CisKKwkJdHByaW50Zigie3siKTsKKworCQlpZiAoaW5mby5ubGVuID09IDApCisJCQlnb3RvIG91dDsKKwkJcHJpbnR4dmFsKHN5c2N0bF9yb290LCBuYW1lWzBdLCAiQ1RMXz8/PyIpOworCQkrK2NudDsKKworCQlpZiAoaW5mby5ubGVuID09IDEpCisJCQlnb3RvIG91dDsKKwkJc3dpdGNoIChuYW1lWzBdKSB7CisJCWNhc2UgQ1RMX0tFUk46CisJCQl0cHJpbnRmKCIsICIpOworCQkJcHJpbnR4dmFsKHN5c2N0bF9rZXJuLCBuYW1lWzFdLCAiS0VSTl8/Pz8iKTsKKwkJCSsrY250OworCQkJYnJlYWs7CisJCWNhc2UgQ1RMX1ZNOgorCQkJdHByaW50ZigiLCAiKTsKKwkJCXByaW50eHZhbChzeXNjdGxfdm0sIG5hbWVbMV0sICJWTV8/Pz8iKTsKKwkJCSsrY250OworCQkJYnJlYWs7CisJCWNhc2UgQ1RMX05FVDoKKwkJCXRwcmludGYoIiwgIik7CisJCQlwcmludHh2YWwoc3lzY3RsX25ldCwgbmFtZVsxXSwgIk5FVF8/Pz8iKTsKKwkJCSsrY250OworCisJCQlpZiAoaW5mby5ubGVuID09IDIpCisJCQkJZ290byBvdXQ7CisJCQlzd2l0Y2ggKG5hbWVbMV0pIHsKKwkJCWNhc2UgTkVUX0NPUkU6CisJCQkJdHByaW50ZigiLCAiKTsKKwkJCQlwcmludHh2YWwoc3lzY3RsX25ldF9jb3JlLCBuYW1lWzJdLAorCQkJCQkgICJORVRfQ09SRV8/Pz8iKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgTkVUX1VOSVg6CisJCQkJdHByaW50ZigiLCAiKTsKKwkJCQlwcmludHh2YWwoc3lzY3RsX25ldF91bml4LCBuYW1lWzJdLAorCQkJCQkgICJORVRfVU5JWF8/Pz8iKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgTkVUX0lQVjQ6CisJCQkJdHByaW50ZigiLCAiKTsKKwkJCQlwcmludHh2YWwoc3lzY3RsX25ldF9pcHY0LCBuYW1lWzJdLAorCQkJCQkgICJORVRfSVBWNF8/Pz8iKTsKKworCQkJCWlmIChpbmZvLm5sZW4gPT0gMykKKwkJCQkJZ290byBvdXQ7CisJCQkJc3dpdGNoIChuYW1lWzJdKSB7CisJCQkJY2FzZSBORVRfSVBWNF9ST1VURToKKwkJCQkJdHByaW50ZigiLCAiKTsKKwkJCQkJcHJpbnR4dmFsKHN5c2N0bF9uZXRfaXB2NF9yb3V0ZSwKKwkJCQkJCSAgbmFtZVszXSwKKwkJCQkJCSAgIk5FVF9JUFY0X1JPVVRFXz8/PyIpOworCQkJCQlicmVhazsKKwkJCQljYXNlIE5FVF9JUFY0X0NPTkY6CisJCQkJCXRwcmludGYoIiwgIik7CisJCQkJCXByaW50eHZhbChzeXNjdGxfbmV0X2lwdjRfY29uZiwKKwkJCQkJCSAgbmFtZVszXSwKKwkJCQkJCSAgIk5FVF9JUFY0X0NPTkZfPz8/Iik7CisJCQkJCWJyZWFrOworCQkJCWRlZmF1bHQ6CisJCQkJCWdvdG8gb3V0OworCQkJCX0KKwkJCQlicmVhazsKKwkJCWNhc2UgTkVUX0lQVjY6CisJCQkJdHByaW50ZigiLCAiKTsKKwkJCQlwcmludHh2YWwoc3lzY3RsX25ldF9pcHY2LCBuYW1lWzJdLAorCQkJCQkgICJORVRfSVBWNl8/Pz8iKTsKKworCQkJCWlmIChpbmZvLm5sZW4gPT0gMykKKwkJCQkJZ290byBvdXQ7CisJCQkJc3dpdGNoIChuYW1lWzJdKSB7CisJCQkJY2FzZSBORVRfSVBWNl9ST1VURToKKwkJCQkJdHByaW50ZigiLCAiKTsKKwkJCQkJcHJpbnR4dmFsKHN5c2N0bF9uZXRfaXB2Nl9yb3V0ZSwKKwkJCQkJCSAgbmFtZVszXSwKKwkJCQkJCSAgIk5FVF9JUFY2X1JPVVRFXz8/PyIpOworCQkJCQlicmVhazsKKwkJCQlkZWZhdWx0OgorCQkJCQlnb3RvIG91dDsKKwkJCQl9CisJCQkJYnJlYWs7CisJCQlkZWZhdWx0OgorCQkJCWdvdG8gb3V0OworCQkJfQorCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQlnb3RvIG91dDsKKwkJfQorCW91dDoKKwkJbWF4X2NudCA9IGluZm8ubmxlbjsKKwkJaWYgKGFiYnJldih0Y3ApICYmIG1heF9jbnQgPiBtYXhfc3RybGVuKQorCQkJbWF4X2NudCA9IG1heF9zdHJsZW47CisJCXdoaWxlIChjbnQgPCBtYXhfY250KQorCQkJdHByaW50ZigiLCAleCIsIG5hbWVbY250KytdKTsKKwkJaWYgKGNudCA8IGluZm8ubmxlbikKKwkJCXRwcmludGYoIiwgLi4uIik7CisJCXRwcmludGYoIn0sICVkLCAiLCBpbmZvLm5sZW4pOworCX0gZWxzZSB7CisJCXNpemVfdCBvbGRsZW47CisJCWlmICh1bW92ZSh0Y3AsIChzaXplX3QpaW5mby5vbGRsZW5wLCAmb2xkbGVuKSA+PSAwCisJCSAgICAmJiBpbmZvLm5sZW4gPj0gMgorCQkgICAgJiYgKChuYW1lWzBdID09IENUTF9LRVJOCisJCQkgJiYgKG5hbWVbMV0gPT0gS0VSTl9PU1JFTEVBU0UKKwkJCSAgICAgfHwgbmFtZVsxXSA9PSBLRVJOX09TVFlQRQorI2lmZGVmIEtFUk5fSkFWQV9JTlRFUlBSRVRFUgorCQkJICAgICB8fCBuYW1lWzFdID09IEtFUk5fSkFWQV9JTlRFUlBSRVRFUgorI2VuZGlmCisjaWZkZWYgS0VSTl9KQVZBX0FQUExFVFZJRVdFUgorCQkJICAgICB8fCBuYW1lWzFdID09IEtFUk5fSkFWQV9BUFBMRVRWSUVXRVIKKyNlbmRpZgorCQkJCSApKSkpIHsKKwkJCXByaW50cGF0aCh0Y3AsIChzaXplX3QpaW5mby5vbGR2YWwpOworCQkJdHByaW50ZigiLCAlWnUsICIsIG9sZGxlbik7CisJCQlpZiAoaW5mby5uZXd2YWwgPT0gMCkKKwkJCQl0cHJpbnRmKCJOVUxMIik7CisJCQllbHNlIGlmIChzeXNlcnJvcih0Y3ApKQorCQkJCXRwcmludGYoIiVwIiwgaW5mby5uZXd2YWwpOworCQkJZWxzZQorCQkJCXByaW50cGF0aCh0Y3AsIChzaXplX3QpaW5mby5uZXd2YWwpOworCQkJdHByaW50ZigiLCAlWmQiLCBpbmZvLm5ld2xlbik7CisJCX0gZWxzZSB7CisJCQl0cHJpbnRmKCIlcCwgJVpkLCAlcCwgJVpkIiwgaW5mby5vbGR2YWwsIG9sZGxlbiwKKwkJCQlpbmZvLm5ld3ZhbCwgaW5mby5uZXdsZW4pOworCQl9CisJCXRwcmludGYoIn0iKTsKKwl9CisKKwlmcmVlKG5hbWUpOworCXJldHVybiAwOworfQorI2Vsc2UKK2ludCBzeXNfc3lzY3RsKHRjcCkKK3N0cnVjdCB0Y2IgKnRjcDsKK3sKKwlyZXR1cm4gcHJpbnRhcmdzKHRjcCk7Cit9CisjZW5kaWYKKworI2lmZGVmIEZSRUVCU0QKKyNpbmNsdWRlIDxzeXMvc3lzY3RsLmg+CisKK2ludCBzeXNfX19zeXNjdGwodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCWludCBxb2lkW0NUTF9NQVhOQU1FKzJdOworCWNoYXIgY3RsWzEwMjRdOworCXNpemVfdCBsZW47CisJaW50IGksIG51bWVyaWM7CisKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQlpZiAodGNwLT51X2FyZ1sxXSA8IDAgfHwgdGNwLT51X2FyZ1sxXSA+IENUTF9NQVhOQU1FIHx8CisJCSAgICAodW1vdmVuKHRjcCwgdGNwLT51X2FyZ1swXSwgdGNwLT51X2FyZ1sxXSAqIHNpemVvZihpbnQpLAorCQkJICAgIChjaGFyICopIChxb2lkICsgMikpIDwgMCkpCisJCQl0cHJpbnRmKCJbLi4uXSwgIik7CisJCWVsc2UgeworCQkJLyogVXNlIHN5c2N0bCB0byBhc2sgdGhlIG5hbWUgb2YgdGhlIGN1cnJlbnQgTUlCCisJCQkgICBUaGlzIHVzZXMgdGhlIHVuZG9jdW1lbnRlZCAiU3RhZmYtZnVuY3Rpb25zIiB1c2VkCisJCQkgICBieSB0aGUgc3lzY3RsIHByb2dyYW0uIFNlZSBrZXJuX3N5c2N0bC5jIGZvcgorCQkJICAgZGV0YWlscy4gKi8KKwkJCXFvaWRbMF0gPSAwOyAvKiBzeXNjdGwgKi8KKwkJCXFvaWRbMV0gPSAxOyAvKiBuYW1lICovCisJCQlpID0gc2l6ZW9mKGN0bCk7CisJCQl0cHJpbnRmKCJbIik7CisJCQlpZiAoc3lzY3RsKHFvaWQsIHRjcC0+dV9hcmdbMV0gKyAyLCBjdGwsICZpLCAwLCAwKSA+PSAwKSB7CisJCQkJbnVtZXJpYyA9ICFhYmJyZXYodGNwKTsKKwkJCQl0cHJpbnRmKCIlcyVzIiwgY3RsLCBudW1lcmljID8gIiwgIiA6ICIiKTsKKwkJCX0gZWxzZQorCQkJCW51bWVyaWMgPSAxOworCQkJaWYgKG51bWVyaWMpIHsKKwkJCQlmb3IgKGkgPSAwOyBpIDwgdGNwLT51X2FyZ1sxXTsgaSsrKQorCQkJCQl0cHJpbnRmKCIlcyVkIiwgaSA/ICIuIiA6ICIiLCBxb2lkW2kgKyAyXSk7CisJCQl9CisJCQl0cHJpbnRmKCJdLCAiKTsKKwkJCXRwcmludGYoIiVsdSwgIiwgdGNwLT51X2FyZ1sxXSk7CisJCX0KKwl9IGVsc2UgeworCQlpZiAoIXN5c2Vycm9yKHRjcCkgJiYgKHVtb3ZlKHRjcCwgdGNwLT51X2FyZ1szXSwgJmxlbikgPj0gMCkpIHsKKwkJCXByaW50c3RyKHRjcCwgdGNwLT51X2FyZ1syXSwgbGVuKTsKKwkJCXRwcmludGYoIiwgWyV1XSwgIiwgbGVuKTsKKwkJfSBlbHNlCisJCQl0cHJpbnRmKCIlI2x4LCAlI2x4LCAiLCB0Y3AtPnVfYXJnWzJdLCB0Y3AtPnVfYXJnWzNdKTsKKwkJcHJpbnRzdHIodGNwLCB0Y3AtPnVfYXJnWzRdLCB0Y3AtPnVfYXJnWzVdKTsKKwkJdHByaW50ZigiLCAlbHUiLCB0Y3AtPnVfYXJnWzVdKTsKKwl9CisJcmV0dXJuIDA7Cit9CisjZW5kaWYKKworI2lmIFVOSVhXQVJFID49IDIKKworI2luY2x1ZGUgPHN5cy9rc3ltLmg+CisjaW5jbHVkZSA8c3lzL2VsZi5oPgorCitzdGF0aWMgY29uc3Qgc3RydWN0IHhsYXQga3N5bV9mbGFnc1tdID0geworCXsgU1RUX05PVFlQRSwJIlNUVF9OT1RZUEUiCX0sCisJeyBTVFRfRlVOQywJIlNUVF9GVU5DIgl9LAorCXsgU1RUX09CSkVDVCwJIlNUVF9PQkpFQ1QiCX0sCisJeyAwLAkJTlVMTAkJfSwKK307CisKK2ludAorc3lzX2dldGtzeW0odGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCWlmIChlbnRlcmluZyAodGNwKSkgeworCQlwcmludHN0cih0Y3AsIHRjcC0+dV9hcmdbMF0sIC0xKTsKKwkJdHByaW50ZigiLCAiKTsKKwl9CisJZWxzZSB7CisJCWlmIChzeXNlcnJvcih0Y3ApKSB7CisJCQl0cHJpbnRmKCIlI2x4LCAlI2x4IiwKKwkJCQl0Y3AtPnVfYXJnWzFdLCB0Y3AtPnVfYXJnWzJdKTsKKwkJfQorCQllbHNlIHsKKwkJCWludCB2YWw7CisJCQlwcmludG51bSAodGNwLCB0Y3AtPnVfYXJnWzFdLCAiJSNseCIpOworCQkJdHByaW50ZigiLCAiKTsKKwkJCWlmICh1bW92ZSh0Y3AsIHRjcC0+dV9hcmdbMl0sICZ2YWwpIDwgMCkgeworCQkJCXRwcmludGYoIiUjbHgiLCB0Y3AtPnVfYXJnWzJdKTsKKwkJCX0KKwkJCWVsc2UgeworCQkJCXRwcmludGYoIlsiKTsKKwkJCQlwcmludHh2YWwgKGtzeW1fZmxhZ3MsIHZhbCwgIlNUVF8/Pz8iKTsKKwkJCQl0cHJpbnRmKCJdIik7CisJCQl9CisJCX0KKwl9CisKKwlyZXR1cm4gMDsKK30KKworI2lmZGVmIEhBVkVfU1lTX05TQ1NZU19ICisKK3N0cnVjdCBjcmVkOworI2luY2x1ZGUgPHN5cy9uc2NzeXMuaD4KKworc3RhdGljIGNvbnN0IHN0cnVjdCB4bGF0IHNzaV9jbWQgW10gPSB7CisJeyBTU0lTWVNfQkFET1AsCSJTU0lTWVNfQkFET1AiCX0sCisJeyBTU0lTWVNfTERMVkxfSU5JVCwiU1NJU1lTX0xETFZMX0lOSVQifSwKKwl7IFNTSVNZU19MRExWTF9HRVRWRUMsIlNTSVNZU19MRExWTF9HRVRWRUMifSwKKwl7IFNTSVNZU19MRExWTF9QVVRWRUMsIlNTSVNZU19MRExWTF9QVVRWRUMifSwKKwl7IFNTSVNZU19MRExWTF9QVVRSQ01EUywiU1NJU1lTX0xETFZMX1BVVFJDTURTIn0sCisJeyBTU0lTWVNfTERMVkxfU0VUUkVYRUMsIlNTSVNZU19MRExWTF9TRVRSRVhFQyJ9LAorCXsgU1NJU1lTX0NNU19DTFVTVEVSSUQsIlNTSVNZU19DTVNfQ0xVU1RFUklEIn0sCisJeyBTU0lTWVNfQ0ZTX1NUQVRWRlMsIlNTSVNZU19DRlNfU1RBVFZGUyJ9LAorCXsgU1NJU1lTX05PREVfR0VUTlVNLCJTU0lTWVNfTk9ERV9HRVROVU0ifSwKKwl7IFNTSVNZU19OT0RFX1RBQkxFLCJTU0lTWVNfTk9ERV9UQUJMRSJ9LAorCXsgU1NJU1lTX05PREVfRE9XTiwiU1NJU1lTX05PREVfRE9XTiJ9LAorCXsgU1NJU1lTX1JFQ0xBSU1fQ0hJTEQsIlNTSVNZU19SRUNMQUlNX0NISUxEIn0sCisJeyBTU0lTWVNfSVBDX0dFVElORk8sIlNTSVNZU19JUENfR0VUSU5GTyJ9LAorCXsgU1NJU1lTX0lDU19URVNULCJTU0lTWVNfSUNTX1RFU1QifSwKKwl7IFNTSVNZU19OT0RFX1BJRCwiU1NJU1lTX05PREVfUElEIn0sCisJeyBTU0lTWVNfSVNMT0NBTCwiU1NJU1lTX0lTTE9DQUwifSwKKwl7IFNTSVNZU19DRlNfSVNTVEFDS0VELCJTU0lTWVNfQ0ZTX0lTU1RBQ0tFRCJ9LAorCXsgU1NJU1lTX0RORVRfU1lOQywiU1NJU1lTX0RORVRfU1lOQyJ9LAorCXsgU1NJU1lTX0NGU19XQUlUX01PREUsIlNTSVNZU19DRlNfV0FJVF9NT0RFIn0sCisJeyBTU0lTWVNfQ0ZTX1VNT1VOVCwiU1NJU1lTX0NGU19VTU9VTlQifSwKKwl7IFNTSVNZU19MTFNUQVQsIlNTSVNZU19MTFNUQVQiCX0sCisJeyBTU0lTWVNfTFRTX1BFUkZURVNULCJTU0lTWVNfTFRTX1BFUkZURVNUIn0sCisJeyBTU0lTWVNfTFRTX0NPTkZJRywiU1NJU1lTX0xUU19DT05GSUcifSwKKwl7IFNTSVNZU19TTkVUX1BFUkZURVNULCJTU0lTWVNfU05FVF9QRVJGVEVTVCJ9LAorCXsgU1NJU1lTX0lHTk9SRV9IQUxGVVAsIlNTSVNZU19JR05PUkVfSEFMRlVQIn0sCisJeyBTU0lTWVNfTk9ERV9ST09UREVWLCJTU0lTWVNfTk9ERV9ST09UREVWIn0sCisJeyBTU0lTWVNfR0VUX1BSSU1BUlksIlNTSVNZU19HRVRfUFJJTUFSWSJ9LAorCXsgU1NJU1lTX0dFVF9TRUNPTkRBUlksIlNTSVNZU19HRVRfU0VDT05EQVJZIn0sCisJeyBTU0lTWVNfR0VUX1JPT1RESVNLLCJTU0lTWVNfR0VUX1JPT1RESVNLIn0sCisJeyBTU0lTWVNfQ0xVU1RFUk5PREVfTlVNLCJTU0lTWVNfQ0xVU1RFUk5PREVfTlVNIn0sCisJeyBTU0lTWVNfQ0xVU1RFUl9NRU1CRVJTSElQLCJTU0lTWVNfQ0xVU1RFUl9NRU1CRVJTSElQIn0sCisJeyBTU0lTWVNfQ0xVU1RFUl9ERVRBSUxFRFRSQU5TLCJTU0lTWVNfQ0xVU1RFUl9ERVRBSUxFRFRSQU5TIn0sCisJeyBTU0lTWVNfQ0xVU1RFUk5PREVfSU5GTywiU1NJU1lTX0NMVVNURVJOT0RFX0lORk8ifSwKKwl7IFNTSVNZU19DTFVTVEVSTk9ERV9TRVRJTkZPLCJTU0lTWVNfQ0xVU1RFUk5PREVfU0VUSU5GTyJ9LAorCXsgU1NJU1lTX0NMVVNURVJOT0RFX0FWQUlMLCJTU0lTWVNfQ0xVU1RFUk5PREVfQVZBSUwifSwKKwl7IFNTSVNZU19DTFVTVEVSX01BWE5PREVTLCJTU0lTWVNfQ0xVU1RFUl9NQVhOT0RFUyJ9LAorCXsgU1NJU1lTX1NFVF9NRU1QUklPLCJTU0lTWVNfU0VUX01FTVBSSU8ifSwKKwl7IFNTSVNZU19HRVRfVVNFUlMsIlNTSVNZU19HRVRfVVNFUlMifSwKKwl7IFNTSVNZU19GT1JDRV9ST09UX05PREUsIlNTSVNZU19GT1JDRV9ST09UX05PREUifSwKKwl7IFNTSVNZU19DVklQX1NFVCwiU1NJU1lTX0NWSVBfU0VUIn0sCisJeyBTU0lTWVNfQ1ZJUF9HRVQsIlNTSVNZU19DVklQX0dFVCJ9LAorCXsgU1NJU1lTX0dFVF9OT0RFX0NPVU5UUywiU1NJU1lTX0dFVF9OT0RFX0NPVU5UUyJ9LAorCXsgU1NJU1lTX0dFVF9UUkFOU1BPUlQsIlNTSVNZU19HRVRfVFJBTlNQT1JUIn0sCisJeyAwLAkJTlVMTAkJfSwKK307CisKK2ludCBzeXNfc3Npc3lzICh0Y3ApCitzdHJ1Y3QgdGNiICp0Y3A7Cit7CisJc3RydWN0IHNzaXN5c19pb3ZlYyBpb3Y7CisJY2xzX25vZGVpbmZvX2FyZ3NfdCBjbmk7CisJY2x1c3Rlcm5vZGVfaW5mb190IGluZm87CisKKwlpZiAoZW50ZXJpbmcgKHRjcCkpIHsKKwkJdHNfcmVjbGFpbV9jaGlsZF9pbmFyZ3NfdCB0cmM7CisJCWlmICh0Y3AtPnVfYXJnWzFdICE9IHNpemVvZiBpb3YgfHwKKwkJICAgIHVtb3ZlICh0Y3AsIHRjcC0+dV9hcmdbMF0sICZpb3YpIDwgMCkKKwkJeworCQkJdHByaW50ZiAoIiUjbHgsICVsZCIsIHRjcC0+dV9hcmdbMF0sIHRjcC0+dV9hcmdbMV0pOworCQkJcmV0dXJuIDA7CisJCX0KKwkJdHByaW50ZiAoIntpZD0iKTsKKwkJcHJpbnR4dmFsKHNzaV9jbWQsIGlvdi50aW9faWQuaWRfY21kLCAiU1NJU1lTXz8/PyIpOworCQl0cHJpbnRmICgiOiVkIiwgaW92LnRpb19pZC5pZF92ZXIpOworCQlzd2l0Y2ggKGlvdi50aW9faWQuaWRfY21kKSB7CisJCSAgICBjYXNlIFNTSVNZU19SRUNMQUlNX0NISUxEOgorCQkJaWYgKGlvdi50aW9fdWRhdGFpbmxlbiAhPSBzaXplb2YgdHJjIHx8CisJCQkgICAgdW1vdmUgKHRjcCwgKGxvbmcpIGlvdi50aW9fdWRhdGFpbiwgJnRyYykgPCAwKQorCQkJCWdvdG8gYmFkOworCQkJdHByaW50ZiAoIiwgaW49e3BpZD0lbGQsIHN0YXJ0PSVsZH0iLAorCQkJCSB0cmMudHJjX3BpZCwgdHJjLnRyY19zdGFydCk7CisJCQlicmVhazsKKwkJICAgIGNhc2UgU1NJU1lTX0NMVVNURVJOT0RFX0lORk86CisJCQlpZiAoaW92LnRpb191ZGF0YWlubGVuICE9IHNpemVvZiBjbmkgfHwKKwkJCSAgICB1bW92ZSAodGNwLCAobG9uZykgaW92LnRpb191ZGF0YWluLCAmY25pKSA8IDApCisJCQkJZ290byBiYWQ7CisJCQl0cHJpbnRmICgiLCBpbj17bm9kZT0lbGQsIGxlbj0lZH0iLAorCQkJCSBjbmkubm9kZW51bSwgY25pLmluZm9fbGVuKTsKKwkJCWJyZWFrOworCQkgICAgZGVmYXVsdDoKKwkJICAgIGJhZDoKKwkJCWlmIChpb3YudGlvX3VkYXRhaW5sZW4pIHsKKwkJCQl0cHJpbnRmICgiLCBpbj1bLyogJWQgYnl0ZXMgKi9dIiwKKwkJCQkJIGlvdi50aW9fdWRhdGFpbmxlbik7CisJCQl9CisJCX0KKwl9CisJZWxzZSB7CisJCWlmICh0Y3AtPnVfYXJnWzFdICE9IHNpemVvZiBpb3YgfHwKKwkJICAgIHVtb3ZlICh0Y3AsIHRjcC0+dV9hcmdbMF0sICZpb3YpIDwgMCkKKwkJICAgIGdvdG8gZG9uZTsKKwkJc3dpdGNoIChpb3YudGlvX2lkLmlkX2NtZCkgeworCQkgICAgY2FzZSBTU0lTWVNfQ0xVU1RFUk5PREVfSU5GTzoKKwkJCWlmIChpb3YudGlvX3VkYXRhaW5sZW4gIT0gc2l6ZW9mIGNuaSB8fAorCQkJICAgIHVtb3ZlICh0Y3AsIChsb25nKSBpb3YudGlvX3VkYXRhaW4sICZjbmkpIDwgMCkKKwkJCQlnb3RvIGJhZF9vdXQ7CisJCQlpZiAoY25pLmluZm9fbGVuICE9IHNpemVvZiBpbmZvIHx8CisJCQkgICAgaW92LnRpb191ZGF0YW91dGxlbiAhPSBzaXplb2YgJmluZm8gfHwKKwkJCSAgICB1bW92ZSAodGNwLCAobG9uZykgaW92LnRpb191ZGF0YW91dCwgJmluZm8pIDwgMCkKKwkJCQlnb3RvIGJhZF9vdXQ7CisJCQl0cHJpbnRmICgiLCBvdXQ9e25vZGU9JWxkLCBjcHVzPSVkLCBvbmxpbmU9JWR9IiwKKwkJCQkgaW5mby5ub2RlX251bSwgaW5mby5ub2RlX3RvdGFsY3B1cywKKwkJCQkgaW5mby5ub2RlX29ubGluZWNwdXMpOworCQkJYnJlYWs7CisKKwkJICAgIGRlZmF1bHQ6CisJCSAgICBiYWRfb3V0OgorCQkJaWYgKGlvdi50aW9fdWRhdGFvdXRsZW4pIHsKKwkJCQl0cHJpbnRmICgiLCBvdXQ9Wy8qICVkIGJ5dGVzICovXSIsCisJCQkJCSBpb3YudGlvX3VkYXRhb3V0bGVuKTsKKwkJCX0KKwkJfQorCSAgICBkb25lOgorCQl0cHJpbnRmICgifSwgJWxkIiwgdGNwLT51X2FyZ1sxXSk7CisJfQorCXJldHVybiAwOworfQorCisjZW5kaWYKKworI2VuZGlmIC8qIFVOSVhXQVJFID4gMiAqLworCisjaWZkZWYgTUlQUworCisjaWZuZGVmIF9fTkVXX1VUU19MRU4KKyNkZWZpbmUgX19ORVdfVVRTX0xFTiA2NAorI2VuZGlmCisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCBzeXNtaXBzX29wZXJhdGlvbnNbXSA9IHsKKwl7IFNFVE5BTUUsCQkiU0VUTkFNRSIJfSwKKwl7IEZMVVNIX0NBQ0hFLAkJIkZMVVNIX0NBQ0hFIgl9LAorCXsgTUlQU19GSVhBREUsCQkiTUlQU19GSVhBREUiCX0sCisJeyBNSVBTX1JETlZSQU0sCQkiTUlQU19SRE5WUkFNIgl9LAorCXsgTUlQU19BVE9NSUNfU0VULAkiTUlQU19BVE9NSUNfU0VUIgl9LAorCXsgMCwgTlVMTCB9Cit9OworCitpbnQgc3lzX3N5c21pcHModGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXByaW50eHZhbChzeXNtaXBzX29wZXJhdGlvbnMsIHRjcC0+dV9hcmdbMF0sICI/Pz8iKTsKKwkJaWYgKCF2ZXJib3NlKHRjcCkpIHsKKwkJCXRwcmludGYoIiVsZCwgJWxkLCAlbGQiLCB0Y3AtPnVfYXJnWzFdLCB0Y3AtPnVfYXJnWzJdLCB0Y3AtPnVfYXJnWzNdKTsKKwkJfSBlbHNlIGlmICh0Y3AtPnVfYXJnWzBdPT1TRVROQU1FKSB7CisJCQljaGFyIG5vZGVuYW1lW19fTkVXX1VUU19MRU4gKyAxXTsKKwkJCWlmICh1bW92ZXN0cih0Y3AsIHRjcC0+dV9hcmdbMV0sIChfX05FV19VVFNfTEVOICsgMSksIG5vZGVuYW1lKSA8IDApCisJCQkJdHByaW50ZigiLCAlI2x4IiwgdGNwLT51X2FyZ1sxXSk7CisJCQllbHNlCisJCQkJdHByaW50ZigiLCBcIiVzXCIiLCBub2RlbmFtZSk7CisJCX0gZWxzZSBpZiAodGNwLT51X2FyZ1swXSA9PSBNSVBTX0FUT01JQ19TRVQpIHsKKwkJCXRwcmludGYoIiwgJSNseCwgMHglbHgiLCB0Y3AtPnVfYXJnWzFdLCB0Y3AtPnVfYXJnWzJdKTsKKwkJfSBlbHNlIGlmICh0Y3AtPnVfYXJnWzBdID09IE1JUFNfRklYQURFKSB7CisJCQl0cHJpbnRmKCIsIDB4JWx4IiwgdGNwLT51X2FyZ1sxXSk7CisJCX0gZWxzZSB7CisJCQl0cHJpbnRmKCIlbGQsICVsZCwgJWxkIiwgdGNwLT51X2FyZ1sxXSwgdGNwLT51X2FyZ1syXSwgdGNwLT51X2FyZ1szXSk7CisJCX0KKwl9CisKKwlyZXR1cm4gMDsKK30KKworI2VuZGlmIC8qIE1JUFMgKi8KZGlmZiAtLWdpdCBhL3N0cmFjZS00LjUuMjAvdGVybS5jIGIvc3RyYWNlLTQuNS4yMC90ZXJtLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjNkMjMxNwotLS0gL2Rldi9udWxsCisrKyBiL3N0cmFjZS00LjUuMjAvdGVybS5jCkBAIC0wLDAgKzEsNDUwIEBACisvKgorICogQ29weXJpZ2h0IChjKSAxOTkzLCAxOTk0LCAxOTk1LCAxOTk2IFJpY2sgU2xhZGtleSA8anJzQHdvcmxkLnN0ZC5jb20+CisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gVGhlIG5hbWUgb2YgdGhlIGF1dGhvciBtYXkgbm90IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzCisgKiAgICBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBBVVRIT1IgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUyBPUgorICogSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUworICogT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4KKyAqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKKyAqIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVAorICogTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKgorICoJJElkJAorICovCisKKyNpbmNsdWRlICJkZWZzLmgiCisKKyNpZmRlZiBMSU5VWAorLyoKKyAqIFRoZSBDIGxpYnJhcnkncyBkZWZpbml0aW9uIG9mIHN0cnVjdCB0ZXJtaW9zIG1pZ2h0IGRpZmZlciBmcm9tCisgKiB0aGUga2VybmVsIG9uZSwgYW5kIHdlIG5lZWQgdG8gdXNlIHRoZSBrZXJuZWwgbGF5b3V0LgorICovCisjaW5jbHVkZSA8bGludXgvdGVybWlvcy5oPgorI2Vsc2UKKworI2lmZGVmIEhBVkVfVEVSTUlPX0gKKyNpbmNsdWRlIDx0ZXJtaW8uaD4KKyNlbmRpZiAvKiBIQVZFX1RFUk1JT19IICovCisKKyNpbmNsdWRlIDx0ZXJtaW9zLmg+CisjZW5kaWYKKworI2lmZGVmIEhBVkVfU1lTX0ZJTElPX0gKKyNpbmNsdWRlIDxzeXMvZmlsaW8uaD4KKyNlbmRpZgorCitzdGF0aWMgY29uc3Qgc3RydWN0IHhsYXQgdGN4b25jX29wdGlvbnNbXSA9IHsKKwl7IFRDT09GRiwJIlRDT09GRiIJfSwKKwl7IFRDT09OLAkiVENPT04iCQl9LAorCXsgVENJT0ZGLAkiVENJT0ZGIgl9LAorCXsgVENJT04sCSJUQ0lPTiIJCX0sCisJeyAwLAkJTlVMTAkJfSwKK307CisKKyNpZmRlZiBUQ0xGTFNICitzdGF0aWMgY29uc3Qgc3RydWN0IHhsYXQgdGNmbHNoX29wdGlvbnNbXSA9IHsKKwl7IFRDSUZMVVNILAkiVENJRkxVU0giCX0sCisJeyBUQ09GTFVTSCwJIlRDT0ZMVVNIIgl9LAorCXsgVENJT0ZMVVNILAkiVENJT0ZMVVNIIgl9LAorCXsgMCwJCU5VTEwJCX0sCit9OworI2VuZGlmCisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCBiYXVkX29wdGlvbnNbXSA9IHsKKwl7IEIwLAkJIkIwIgkJfSwKKwl7IEI1MCwJCSJCNTAiCQl9LAorCXsgQjc1LAkJIkI3NSIJCX0sCisJeyBCMTEwLAkJIkIxMTAiCQl9LAorCXsgQjEzNCwJCSJCMTM0IgkJfSwKKwl7IEIxNTAsCQkiQjE1MCIJCX0sCisJeyBCMjAwLAkJIkIyMDAiCQl9LAorCXsgQjMwMCwJCSJCMzAwIgkJfSwKKwl7IEI2MDAsCQkiQjYwMCIJCX0sCisJeyBCMTIwMCwJIkIxMjAwIgkJfSwKKwl7IEIxODAwLAkiQjE4MDAiCQl9LAorCXsgQjI0MDAsCSJCMjQwMCIJCX0sCisJeyBCNDgwMCwJIkI0ODAwIgkJfSwKKwl7IEI5NjAwLAkiQjk2MDAiCQl9LAorI2lmZGVmIEIxOTIwMAorCXsgQjE5MjAwLAkiQjE5MjAwIgl9LAorI2VuZGlmCisjaWZkZWYgQjM4NDAwCisJeyBCMzg0MDAsCSJCMzg0MDAiCX0sCisjZW5kaWYKKyNpZmRlZiBCNTc2MDAKKwl7IEI1NzYwMCwJIkI1NzYwMCIJfSwKKyNlbmRpZgorI2lmZGVmIEIxMTUyMDAKKwl7IEIxMTUyMDAsCSJCMTE1MjAwIgl9LAorI2VuZGlmCisjaWZkZWYgQjIzMDQwMAorCXsgQjIzMDQwMCwJIkIyMzA0MDAiCX0sCisjZW5kaWYKKyNpZmRlZiBCNDYwODAwCisJeyBCNDYwODAwLAkiQjQ2MDgwMCIJfSwKKyNlbmRpZgorI2lmZGVmIEI1MDAwMDAKKwl7IEI1MDAwMDAsCSJCNTAwMDAwIgl9LAorI2VuZGlmCisjaWZkZWYgQjU3NjAwMAorCXsgQjU3NjAwMCwJIkI1NzYwMDAiCX0sCisjZW5kaWYKKyNpZmRlZiBCOTIxNjAwCisJeyBCOTIxNjAwLAkiQjkyMTYwMCIJfSwKKyNlbmRpZgorI2lmZGVmIEIxMDAwMDAwCisJeyBCMTAwMDAwMCwJIkIxMDAwMDAwIgl9LAorI2VuZGlmCisjaWZkZWYgQjExNTIwMDAKKwl7IEIxMTUyMDAwLAkiQjExNTIwMDAiCX0sCisjZW5kaWYKKyNpZmRlZiBCMTUwMDAwMAorCXsgQjE1MDAwMDAsCSJCMTUwMDAwMCIJfSwKKyNlbmRpZgorI2lmZGVmIEIyMDAwMDAwCisJeyBCMjAwMDAwMCwJIkIyMDAwMDAwIgl9LAorI2VuZGlmCisjaWZkZWYgQjI1MDAwMDAKKwl7IEIyNTAwMDAwLAkiQjI1MDAwMDAiCX0sCisjZW5kaWYKKyNpZmRlZiBCMzAwMDAwMAorCXsgQjMwMDAwMDAsCSJCMzAwMDAwMCIJfSwKKyNlbmRpZgorI2lmZGVmIEIzNTAwMDAwCisJeyBCMzUwMDAwMCwJIkIzNTAwMDAwIgl9LAorI2VuZGlmCisjaWZkZWYgQjQwMDAwMDAKKwl7IEI0MDAwMDAwLAkiQjQwMDAwMDAiCX0sCisjZW5kaWYKKyNpZmRlZiBFWFRBCisJeyBFWFRBLAkJIkVYVEEiCQl9LAorI2VuZGlmCisjaWZkZWYgRVhUQgorCXsgRVhUQiwJCSJFWFRCIgkJfSwKKyNlbmRpZgorCXsgMCwJCU5VTEwJCX0sCit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IHhsYXQgbW9kZW1fZmxhZ3NbXSA9IHsKKyNpZmRlZiBUSU9DTV9MRQorCXsgVElPQ01fTEUsCSJUSU9DTV9MRSIsCX0sCisjZW5kaWYKKyNpZmRlZiBUSU9DTV9EVFIKKwl7IFRJT0NNX0RUUiwJIlRJT0NNX0RUUiIsCX0sCisjZW5kaWYKKyNpZmRlZiBUSU9DTV9SVFMKKwl7IFRJT0NNX1JUUywJIlRJT0NNX1JUUyIsCX0sCisjZW5kaWYKKyNpZmRlZiBUSU9DTV9TVAorCXsgVElPQ01fU1QsCSJUSU9DTV9TVCIsCX0sCisjZW5kaWYKKyNpZmRlZiBUSU9DTV9TUgorCXsgVElPQ01fU1IsCSJUSU9DTV9TUiIsCX0sCisjZW5kaWYKKyNpZmRlZiBUSU9DTV9DVFMKKwl7IFRJT0NNX0NUUywJIlRJT0NNX0NUUyIsCX0sCisjZW5kaWYKKyNpZmRlZiBUSU9DTV9DQVIKKwl7IFRJT0NNX0NBUiwJIlRJT0NNX0NBUiIsCX0sCisjZW5kaWYKKyNpZmRlZiBUSU9DTV9DRAorCXsgVElPQ01fQ0QsCSJUSU9DTV9DRCIsCX0sCisjZW5kaWYKKyNpZmRlZiBUSU9DTV9STkcKKwl7IFRJT0NNX1JORywJIlRJT0NNX1JORyIsCX0sCisjZW5kaWYKKyNpZmRlZiBUSU9DTV9SSQorCXsgVElPQ01fUkksCSJUSU9DTV9SSSIsCX0sCisjZW5kaWYKKyNpZmRlZiBUSU9DTV9EU1IKKwl7IFRJT0NNX0RTUiwJIlRJT0NNX0RTUiIsCX0sCisjZW5kaWYKKwl7IDAsCQlOVUxMLAkJfSwKK307CisKKworaW50IHRlcm1faW9jdGwoc3RydWN0IHRjYiAqdGNwLCBsb25nIGNvZGUsIGxvbmcgYXJnKQoreworCXN0cnVjdCB0ZXJtaW9zIHRpb3M7CisjaWZuZGVmIEZSRUVCU0QKKwlzdHJ1Y3QgdGVybWlvIHRpbzsKKyNlbHNlCisJI2RlZmluZSBUQ0dFVFMJVElPQ0dFVEEKKwkjZGVmaW5lIFRDU0VUUwlUSU9DU0VUQQorCSNkZWZpbmUgVENTRVRTVwlUSU9DU0VUQVcKKwkjZGVmaW5lIFRDU0VUU0YJVElPQ1NFVEFGCisjZW5kaWYKKwlzdHJ1Y3Qgd2luc2l6ZSB3czsKKyNpZmRlZiBUSU9DR1NJWkUKKwlzdHJ1Y3QgIHR0eXNpemUgdHM7CisjZW5kaWYKKwlpbnQgaTsKKworCWlmIChlbnRlcmluZyh0Y3ApKQorCQlyZXR1cm4gMDsKKworCXN3aXRjaCAoY29kZSkgeworCisJLyogaW9jdGxzIHdpdGggdGVybWlvcyBvciB0ZXJtaW8gYXJncyAqLworCisjaWZkZWYgVENHRVRTCisJY2FzZSBUQ0dFVFM6CisJCWlmIChzeXNlcnJvcih0Y3ApKQorCQkJcmV0dXJuIDA7CisJY2FzZSBUQ1NFVFM6CisJY2FzZSBUQ1NFVFNXOgorCWNhc2UgVENTRVRTRjoKKwkJaWYgKCF2ZXJib3NlKHRjcCkgfHwgdW1vdmUodGNwLCBhcmcsICZ0aW9zKSA8IDApCisJCQlyZXR1cm4gMDsKKwkJaWYgKGFiYnJldih0Y3ApKSB7CisJCQl0cHJpbnRmKCIsIHsiKTsKKyNpZm5kZWYgRlJFRUJTRAorCQkJcHJpbnR4dmFsKGJhdWRfb3B0aW9ucywgdGlvcy5jX2NmbGFnICYgQ0JBVUQsICJCPz8/Iik7CisjZWxzZQorCQkJcHJpbnR4dmFsKGJhdWRfb3B0aW9ucywgdGlvcy5jX2lzcGVlZCwgIkI/Pz8iKTsKKwkJCWlmICh0aW9zLmNfaXNwZWVkICE9IHRpb3MuY19vc3BlZWQpIHsKKwkJCQl0cHJpbnRmKCIgKGluKSIpOworCQkJCXByaW50eHZhbChiYXVkX29wdGlvbnMsIHRpb3MuY19vc3BlZWQsICJCPz8/Iik7CisJCQkJdHByaW50ZigiIChvdXQpIik7CisJCQl9CisjZW5kaWYKKwkJCXRwcmludGYoIiAlc29wb3N0ICVzaXNpZyAlc2ljYW5vbiAlc2VjaG8gLi4ufSIsCisJCQkJKHRpb3MuY19vZmxhZyAmIE9QT1NUKSA/ICIiIDogIi0iLAorCQkJCSh0aW9zLmNfbGZsYWcgJiBJU0lHKSA/ICIiIDogIi0iLAorCQkJCSh0aW9zLmNfbGZsYWcgJiBJQ0FOT04pID8gIiIgOiAiLSIsCisJCQkJKHRpb3MuY19sZmxhZyAmIEVDSE8pID8gIiIgOiAiLSIpOworCQkJcmV0dXJuIDE7CisJCX0KKwkJdHByaW50ZigiLCB7Y19pZmxhZ3M9JSNseCwgY19vZmxhZ3M9JSNseCwgIiwKKwkJCShsb25nKSB0aW9zLmNfaWZsYWcsIChsb25nKSB0aW9zLmNfb2ZsYWcpOworCQl0cHJpbnRmKCJjX2NmbGFncz0lI2x4LCBjX2xmbGFncz0lI2x4LCAiLAorCQkJKGxvbmcpIHRpb3MuY19jZmxhZywgKGxvbmcpIHRpb3MuY19sZmxhZyk7CisjaWYgIWRlZmluZWQoU1ZSNCkgJiYgIWRlZmluZWQoRlJFRUJTRCkKKwkJdHByaW50ZigiY19saW5lPSV1LCAiLCB0aW9zLmNfbGluZSk7CisjZW5kaWYKKwkJaWYgKCEodGlvcy5jX2xmbGFnICYgSUNBTk9OKSkKKwkJCXRwcmludGYoImNfY2NbVk1JTl09JWQsIGNfY2NbVlRJTUVdPSVkLCAiLAorCQkJCXRpb3MuY19jY1tWTUlOXSwgdGlvcy5jX2NjW1ZUSU1FXSk7CisJCXRwcmludGYoImNfY2M9XCIiKTsKKwkJZm9yIChpID0gMDsgaSA8IE5DQ1M7IGkrKykKKwkJCXRwcmludGYoIlxceCUwMngiLCB0aW9zLmNfY2NbaV0pOworCQl0cHJpbnRmKCJcIn0iKTsKKwkJcmV0dXJuIDE7CisjZW5kaWYgLyogVENHRVRTICovCisKKyNpZmRlZiBUQ0dFVEEKKwljYXNlIFRDR0VUQToKKwkJaWYgKHN5c2Vycm9yKHRjcCkpCisJCQlyZXR1cm4gMDsKKwljYXNlIFRDU0VUQToKKwljYXNlIFRDU0VUQVc6CisJY2FzZSBUQ1NFVEFGOgorCQlpZiAoIXZlcmJvc2UodGNwKSB8fCB1bW92ZSh0Y3AsIGFyZywgJnRpbykgPCAwKQorCQkJcmV0dXJuIDA7CisJCWlmIChhYmJyZXYodGNwKSkgeworCQkJdHByaW50ZigiLCB7Iik7CisJCQlwcmludHh2YWwoYmF1ZF9vcHRpb25zLCB0aW8uY19jZmxhZyAmIENCQVVELCAiQj8/PyIpOworCQkJdHByaW50ZigiICVzb3Bvc3QgJXNpc2lnICVzaWNhbm9uICVzZWNobyAuLi59IiwKKwkJCQkodGlvLmNfb2ZsYWcgJiBPUE9TVCkgPyAiIiA6ICItIiwKKwkJCQkodGlvLmNfbGZsYWcgJiBJU0lHKSA/ICIiIDogIi0iLAorCQkJCSh0aW8uY19sZmxhZyAmIElDQU5PTikgPyAiIiA6ICItIiwKKwkJCQkodGlvLmNfbGZsYWcgJiBFQ0hPKSA/ICIiIDogIi0iKTsKKwkJCXJldHVybiAxOworCQl9CisJCXRwcmludGYoIiwge2NfaWZsYWdzPSUjbHgsIGNfb2ZsYWdzPSUjbHgsICIsCisJCQkobG9uZykgdGlvLmNfaWZsYWcsIChsb25nKSB0aW8uY19vZmxhZyk7CisJCXRwcmludGYoImNfY2ZsYWdzPSUjbHgsIGNfbGZsYWdzPSUjbHgsICIsCisJCQkobG9uZykgdGlvLmNfY2ZsYWcsIChsb25nKSB0aW8uY19sZmxhZyk7CisJCXRwcmludGYoImNfbGluZT0ldSwgIiwgdGlvLmNfbGluZSk7CisjaWZkZWYgX1ZNSU4KKwkJaWYgKCEodGlvLmNfbGZsYWcgJiBJQ0FOT04pKQorCQkJdHByaW50ZigiY19jY1tfVk1JTl09JWQsIGNfY2NbX1ZUSU1FXT0lZCwgIiwKKwkJCQl0aW8uY19jY1tfVk1JTl0sIHRpby5jX2NjW19WVElNRV0pOworI2Vsc2UgLyogIV9WTUlOICovCisJCWlmICghKHRpby5jX2xmbGFnICYgSUNBTk9OKSkKKwkJCXRwcmludGYoImNfY2NbVk1JTl09JWQsIGNfY2NbVlRJTUVdPSVkLCAiLAorCQkJCXRpby5jX2NjW1ZNSU5dLCB0aW8uY19jY1tWVElNRV0pOworI2VuZGlmIC8qICFfVk1JTiAqLworCQl0cHJpbnRmKCJjX2NjPVwiIik7CisJCWZvciAoaSA9IDA7IGkgPCBOQ0M7IGkrKykKKwkJCXRwcmludGYoIlxceCUwMngiLCB0aW8uY19jY1tpXSk7CisJCXRwcmludGYoIlwifSIpOworCQlyZXR1cm4gMTsKKyNlbmRpZiAvKiBUQ0dFVEEgKi8KKworCS8qIGlvY3RscyB3aXRoIHdpbnNpemUgb3IgdHR5c2l6ZSBhcmdzICovCisKKyNpZmRlZiBUSU9DR1dJTlNaCisJY2FzZSBUSU9DR1dJTlNaOgorCQlpZiAoc3lzZXJyb3IodGNwKSkKKwkJCXJldHVybiAwOworCWNhc2UgVElPQ1NXSU5TWjoKKwkJaWYgKCF2ZXJib3NlKHRjcCkgfHwgdW1vdmUodGNwLCBhcmcsICZ3cykgPCAwKQorCQkJcmV0dXJuIDA7CisJCXRwcmludGYoIiwge3dzX3Jvdz0lZCwgd3NfY29sPSVkLCB3c194cGl4ZWw9JWQsIHdzX3lwaXhlbD0lZH0iLAorCQkJd3Mud3Nfcm93LCB3cy53c19jb2wsIHdzLndzX3hwaXhlbCwgd3Mud3NfeXBpeGVsKTsKKwkJcmV0dXJuIDE7CisjZW5kaWYgLyogVElPQ0dXSU5TWiAqLworCisjaWZkZWYgVElPQ0dTSVpFCisJY2FzZSBUSU9DR1NJWkU6CisJCWlmIChzeXNlcnJvcih0Y3ApKQorCQkJcmV0dXJuIDA7CisJY2FzZSBUSU9DU1NJWkU6CisJCWlmICghdmVyYm9zZSh0Y3ApIHx8IHVtb3ZlKHRjcCwgYXJnLCAmdHMpIDwgMCkKKwkJCXJldHVybiAwOworCQl0cHJpbnRmKCIsIHt0c19saW5lcz0lZCwgdHNfY29scz0lZH0iLAorCQkJdHMudHNfbGluZXMsIHRzLnRzX2NvbHMpOworCQlyZXR1cm4gMTsKKyNlbmRpZgorCisJLyogaW9jdGxzIHdpdGggYSBkaXJlY3QgZGVjb2RhYmxlIGFyZyAqLworI2lmZGVmIFRDWE9OQworCWNhc2UgVENYT05DOgorCQl0cHJpbnRmKCIsICIpOworCQlwcmludHh2YWwodGN4b25jX29wdGlvbnMsIGFyZywgIlRDPz8/Iik7CisJCXJldHVybiAxOworI2VuZGlmCisjaWZkZWYgVENMRkxTSAorCWNhc2UgVENGTFNIOgorCQl0cHJpbnRmKCIsICIpOworCQlwcmludHh2YWwodGNmbHNoX29wdGlvbnMsIGFyZywgIlRDPz8/Iik7CisJCXJldHVybiAxOworI2VuZGlmCisKKwkvKiBpb2N0bHMgd2l0aCBhbiBpbmRpcmVjdCBwYXJhbWV0ZXIgZGlzcGxheWVkIGFzIG1vZGVtIGZsYWdzICovCisKKyNpZmRlZiBUSU9DTUdFVAorCWNhc2UgVElPQ01HRVQ6CisJY2FzZSBUSU9DTUJJUzoKKwljYXNlIFRJT0NNQklDOgorCWNhc2UgVElPQ01TRVQ6CisJCWlmICh1bW92ZSh0Y3AsIGFyZywgJmkpIDwgMCkKKwkJCXJldHVybiAwOworCQl0cHJpbnRmKCIsIFsiKTsKKwkJcHJpbnRmbGFncyhtb2RlbV9mbGFncywgaSwgIlRJT0NNXz8/PyIpOworCQl0cHJpbnRmKCJdIik7CisJCXJldHVybiAxOworI2VuZGlmIC8qIFRJT0NNR0VUICovCisKKwkvKiBpb2N0bHMgd2l0aCBhbiBpbmRpcmVjdCBwYXJhbWV0ZXIgZGlzcGxheWVkIGluIGRlY2ltYWwgKi8KKworCWNhc2UgVElPQ1NQR1JQOgorCWNhc2UgVElPQ0dQR1JQOgorI2lmZGVmIFRJT0NHRVRQR1JQCisJY2FzZSBUSU9DR0VUUEdSUDoKKyNlbmRpZgorI2lmZGVmIFRJT0NTRVRQR1JQCisJY2FzZSBUSU9DU0VUUEdSUDoKKyNlbmRpZgorI2lmZGVmIEZJT05SRUFECisJY2FzZSBGSU9OUkVBRDoKKyNlbmRpZgorCWNhc2UgVElPQ09VVFE6CisjaWZkZWYgRklPTkJJTworCWNhc2UgRklPTkJJTzoKKyNlbmRpZgorI2lmZGVmIEZJT0FTWU5DCisJY2FzZSBGSU9BU1lOQzoKKyNlbmRpZgorI2lmZGVmIEZJT0dFVE9XTgorCWNhc2UgRklPR0VUT1dOOgorI2VuZGlmCisjaWZkZWYgRklPU0VUT1dOCisJY2FzZSBGSU9TRVRPV046CisjZW5kaWYKKyNpZmRlZiBUSU9DR0VURAorCWNhc2UgVElPQ0dFVEQ6CisjZW5kaWYKKyNpZmRlZiBUSU9DU0VURAorCWNhc2UgVElPQ1NFVEQ6CisjZW5kaWYKKyNpZmRlZiBUSU9DUEtUCisJY2FzZSBUSU9DUEtUOgorI2VuZGlmCisjaWZkZWYgVElPQ1JFTU9URQorCWNhc2UgVElPQ1JFTU9URToKKyNlbmRpZgorI2lmZGVmIFRJT0NVQ05UTAorCWNhc2UgVElPQ1VDTlRMOgorI2VuZGlmCisjaWZkZWYgVElPQ1RDTlRMCisJY2FzZSBUSU9DVENOVEw6CisjZW5kaWYKKyNpZmRlZiBUSU9DU0lHTkFMCisJY2FzZSBUSU9DU0lHTkFMOgorI2VuZGlmCisjaWZkZWYgVElPQ1NTT0ZUQ0FSCisJY2FzZSBUSU9DU1NPRlRDQVI6CisjZW5kaWYKKyNpZmRlZiBUSU9DR1NPRlRDQVIKKwljYXNlIFRJT0NHU09GVENBUjoKKyNlbmRpZgorI2lmZGVmIFRJT0NJU1BBQ0UKKwljYXNlIFRJT0NJU1BBQ0U6CisjZW5kaWYKKyNpZmRlZiBUSU9DSVNJWkUKKwljYXNlIFRJT0NJU0laRToKKyNlbmRpZgorI2lmZGVmIFRJT0NTSU5UUgorCWNhc2UgVElPQ1NJTlRSOgorI2VuZGlmCisjaWZkZWYgVElPQ1NQVExDSworCWNhc2UgVElPQ1NQVExDSzoKKyNlbmRpZgorI2lmZGVmIFRJT0NHUFROCisJY2FzZSBUSU9DR1BUTjoKKyNlbmRpZgorCQl0cHJpbnRmKCIsICIpOworCQlwcmludG51bV9pbnQodGNwLCBhcmcsICIlZCIpOworCQlyZXR1cm4gMTsKKworCS8qIGlvY3RscyB3aXRoIGFuIGluZGlyZWN0IHBhcmFtZXRlciBkaXNwbGF5ZWQgYXMgYSBjaGFyICovCisKKyNpZmRlZiBUSU9DU1RJCisJY2FzZSBUSU9DU1RJOgorI2VuZGlmCisJCXRwcmludGYoIiwgIik7CisJCXByaW50c3RyKHRjcCwgYXJnLCAxKTsKKwkJcmV0dXJuIDE7CisKKwkvKiBpb2N0bHMgd2l0aCBubyBwYXJhbWV0ZXJzICovCisKKyNpZmRlZiBUSU9DU0NUVFkKKwljYXNlIFRJT0NTQ1RUWToKKyNlbmRpZgorI2lmZGVmIFRJT0NOT1RUWQorCWNhc2UgVElPQ05PVFRZOgorI2VuZGlmCisjaWZkZWYgRklPQ0xFWAorCWNhc2UgRklPQ0xFWDoKKyNlbmRpZgorI2lmZGVmIEZJT05DTEVYCisJY2FzZSBGSU9OQ0xFWDoKKyNlbmRpZgorI2lmZGVmIFRJT0NDT05TCisJY2FzZSBUSU9DQ09OUzoKKyNlbmRpZgorCQlyZXR1cm4gMTsKKworCS8qIGlvY3RscyB3aGljaCBhcmUgdW5rbm93biAqLworCisJZGVmYXVsdDoKKwkJcmV0dXJuIDA7CisJfQorfQpkaWZmIC0tZ2l0IGEvc3RyYWNlLTQuNS4yMC90aW1lLmMgYi9zdHJhY2UtNC41LjIwL3RpbWUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMTI0MWQyCi0tLSAvZGV2L251bGwKKysrIGIvc3RyYWNlLTQuNS4yMC90aW1lLmMKQEAgLTAsMCArMSwxMDIyIEBACisvKgorICogQ29weXJpZ2h0IChjKSAxOTkxLCAxOTkyIFBhdWwgS3JhbmVuYnVyZyA8cGtAY3MuZmV3LmV1ci5ubD4KKyAqIENvcHlyaWdodCAoYykgMTk5MyBCcmFua28gTGFua2VzdGVyIDxicmFua29AaGFja3RpYy5ubD4KKyAqIENvcHlyaWdodCAoYykgMTk5MywgMTk5NCwgMTk5NSwgMTk5NiBSaWNrIFNsYWRrZXkgPGpyc0B3b3JsZC5zdGQuY29tPgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIFRoZSBuYW1lIG9mIHRoZSBhdXRob3IgbWF5IG5vdCBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cworICogICAgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQVVUSE9SIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1MgT1IKKyAqIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMKKyAqIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuCisgKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCisgKiBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQKKyAqIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICoKKyAqCSRJZCQKKyAqLworCisjaW5jbHVkZSAiZGVmcy5oIgorCisjaWZkZWYgTElOVVgKKyNpbmNsdWRlIDxsaW51eC92ZXJzaW9uLmg+CisjaW5jbHVkZSA8c3lzL3RpbWV4Lmg+CisjaW5jbHVkZSA8bGludXgvaW9jdGwuaD4KKyNpbmNsdWRlIDxsaW51eC9ydGMuaD4KKworI2lmbmRlZiBVVElNRV9OT1cKKyNkZWZpbmUgVVRJTUVfTk9XICgoMWwgPDwgMzApIC0gMWwpCisjZW5kaWYKKyNpZm5kZWYgVVRJTUVfT01JVAorI2RlZmluZSBVVElNRV9PTUlUICgoMWwgPDwgMzApIC0gMmwpCisjZW5kaWYKKyNlbmRpZiAvKiBMSU5VWCAqLworCitzdHJ1Y3QgdGltZXZhbDMyCit7CisJdV9pbnQzMl90IHR2X3NlYywgdHZfdXNlYzsKK307CisKK3N0YXRpYyB2b2lkCit0cHJpbnRfdGltZXZhbDMyKHN0cnVjdCB0Y2IgKnRjcCwgY29uc3Qgc3RydWN0IHRpbWV2YWwzMiAqdHYpCit7CisJdHByaW50ZigieyV1LCAldX0iLCB0di0+dHZfc2VjLCB0di0+dHZfdXNlYyk7Cit9CisKK3N0YXRpYyB2b2lkCit0cHJpbnRfdGltZXZhbChzdHJ1Y3QgdGNiICp0Y3AsIGNvbnN0IHN0cnVjdCB0aW1ldmFsICp0dikKK3sKKwl0cHJpbnRmKCJ7JWx1LCAlbHV9IiwKKwkJKHVuc2lnbmVkIGxvbmcpIHR2LT50dl9zZWMsICh1bnNpZ25lZCBsb25nKSB0di0+dHZfdXNlYyk7Cit9CisKK3ZvaWQKK3ByaW50dHZfYml0bmVzcyhzdHJ1Y3QgdGNiICp0Y3AsIGxvbmcgYWRkciwgZW51bSBiaXRuZXNzX3QgYml0bmVzcywgaW50IHNwZWNpYWwpCit7CisJaWYgKGFkZHIgPT0gMCkKKwkJdHByaW50ZigiTlVMTCIpOworCWVsc2UgaWYgKCF2ZXJib3NlKHRjcCkpCisJCXRwcmludGYoIiUjbHgiLCBhZGRyKTsKKwllbHNlIHsKKwkJaW50IHJjOworCisJCWlmIChiaXRuZXNzID09IEJJVE5FU1NfMzIKKyNpZiBkZWZpbmVkKExJTlVYKSAmJiBTVVBQT1JURURfUEVSU09OQUxJVElFUyA+IDEKKwkJICAgIHx8IHBlcnNvbmFsaXR5X3dvcmRzaXplW2N1cnJlbnRfcGVyc29uYWxpdHldID09IDQKKyNlbmRpZgorCQkJKQorCQl7CisJCQlzdHJ1Y3QgdGltZXZhbDMyIHR2OworCisJCQlpZiAoKHJjID0gdW1vdmUodGNwLCBhZGRyLCAmdHYpKSA+PSAwKSB7CisJCQkJaWYgKHNwZWNpYWwgJiYgdHYudHZfc2VjID09IDAgJiYKKwkJCQkgICAgdHYudHZfdXNlYyA9PSBVVElNRV9OT1cpCisJCQkJCXRwcmludGYoIlVUSU1FX05PVyIpOworCQkJCWVsc2UgaWYgKHNwZWNpYWwgJiYgdHYudHZfc2VjID09IDAgJiYKKwkJCQkJIHR2LnR2X3VzZWMgPT0gVVRJTUVfT01JVCkKKwkJCQkJdHByaW50ZigiVVRJTUVfT01JVCIpOworCQkJCWVsc2UKKwkJCQkJdHByaW50X3RpbWV2YWwzMih0Y3AsICZ0dik7CisJCQl9CisJCX0gZWxzZSB7CisJCQlzdHJ1Y3QgdGltZXZhbCB0djsKKworCQkJaWYgKChyYyA9IHVtb3ZlKHRjcCwgYWRkciwgJnR2KSkgPj0gMCkgeworCQkJCWlmIChzcGVjaWFsICYmIHR2LnR2X3NlYyA9PSAwICYmCisJCQkJICAgIHR2LnR2X3VzZWMgPT0gVVRJTUVfTk9XKQorCQkJCQl0cHJpbnRmKCJVVElNRV9OT1ciKTsKKwkJCQllbHNlIGlmIChzcGVjaWFsICYmIHR2LnR2X3NlYyA9PSAwICYmCisJCQkJCSB0di50dl91c2VjID09IFVUSU1FX09NSVQpCisJCQkJCXRwcmludGYoIlVUSU1FX09NSVQiKTsKKwkJCQllbHNlCisJCQkJCXRwcmludF90aW1ldmFsKHRjcCwgJnR2KTsKKwkJCX0KKwkJfQorCQlpZiAocmMgPCAwKQorCQkJdHByaW50Zigiey4uLn0iKTsKKwl9Cit9CisKK3ZvaWQKK3NwcmludHR2KHN0cnVjdCB0Y2IgKnRjcCwgbG9uZyBhZGRyLCBlbnVtIGJpdG5lc3NfdCBiaXRuZXNzLCBjaGFyICpidWYpCit7CisJaWYgKGFkZHIgPT0gMCkKKwkJc3RyY3B5KGJ1ZiwgIk5VTEwiKTsKKwllbHNlIGlmICghdmVyYm9zZSh0Y3ApKQorCQlzcHJpbnRmKGJ1ZiwgIiUjbHgiLCBhZGRyKTsKKwllbHNlIHsKKwkJaW50IHJjOworCisJCWlmIChiaXRuZXNzID09IEJJVE5FU1NfMzIKKyNpZiBkZWZpbmVkKExJTlVYKSAmJiBTVVBQT1JURURfUEVSU09OQUxJVElFUyA+IDEKKwkJICAgIHx8IHBlcnNvbmFsaXR5X3dvcmRzaXplW2N1cnJlbnRfcGVyc29uYWxpdHldID09IDQKKyNlbmRpZgorCQkJKQorCQl7CisJCQlzdHJ1Y3QgdGltZXZhbDMyIHR2OworCisJCQlpZiAoKHJjID0gdW1vdmUodGNwLCBhZGRyLCAmdHYpKSA+PSAwKQorCQkJCXNwcmludGYoYnVmLCAieyV1LCAldX0iLAorCQkJCQl0di50dl9zZWMsIHR2LnR2X3VzZWMpOworCQl9IGVsc2UgeworCQkJc3RydWN0IHRpbWV2YWwgdHY7CisKKwkJCWlmICgocmMgPSB1bW92ZSh0Y3AsIGFkZHIsICZ0dikpID49IDApCisJCQkJc3ByaW50ZihidWYsICJ7JWx1LCAlbHV9IiwKKwkJCQkJKHVuc2lnbmVkIGxvbmcpIHR2LnR2X3NlYywKKwkJCQkJKHVuc2lnbmVkIGxvbmcpIHR2LnR2X3VzZWMpOworCQl9CisJCWlmIChyYyA8IDApCisJCQlzdHJjcHkoYnVmLCAiey4uLn0iKTsKKwl9Cit9CisKK3ZvaWQgcHJpbnRfdGltZXNwZWMoc3RydWN0IHRjYiAqdGNwLCBsb25nIGFkZHIpCit7CisJaWYgKGFkZHIgPT0gMCkKKwkJdHByaW50ZigiTlVMTCIpOworCWVsc2UgaWYgKCF2ZXJib3NlKHRjcCkpCisJCXRwcmludGYoIiUjbHgiLCBhZGRyKTsKKwllbHNlIHsKKwkJaW50IHJjOworCisjaWYgZGVmaW5lZChMSU5VWCkgJiYgU1VQUE9SVEVEX1BFUlNPTkFMSVRJRVMgPiAxCisJCWlmIChwZXJzb25hbGl0eV93b3Jkc2l6ZVtjdXJyZW50X3BlcnNvbmFsaXR5XSA9PSA0KSB7CisJCQlzdHJ1Y3QgdGltZXZhbDMyIHR2OworCisJCQlpZiAoKHJjID0gdW1vdmUodGNwLCBhZGRyLCAmdHYpKSA+PSAwKQorCQkJCXRwcmludGYoInsldSwgJXV9IiwKKwkJCQkJdHYudHZfc2VjLCB0di50dl91c2VjKTsKKwkJfSBlbHNlCisjZW5kaWYKKwkJeworCQkJc3RydWN0IHRpbWVzcGVjIHRzOworCisJCQlpZiAoKHJjID0gdW1vdmUodGNwLCBhZGRyLCAmdHMpKSA+PSAwKQorCQkJCXRwcmludGYoInslbHUsICVsdX0iLAorCQkJCQkodW5zaWduZWQgbG9uZykgdHMudHZfc2VjLAorCQkJCQkodW5zaWduZWQgbG9uZykgdHMudHZfbnNlYyk7CisJCX0KKwkJaWYgKHJjIDwgMCkKKwkJCXRwcmludGYoInsuLi59Iik7CisJfQorfQorCit2b2lkIHNwcmludF90aW1lc3BlYyhjaGFyICpidWYsIHN0cnVjdCB0Y2IgKnRjcCwgbG9uZyBhZGRyKQoreworCWlmIChhZGRyID09IDApCisJCXN0cmNweShidWYsICJOVUxMIik7CisJZWxzZSBpZiAoIXZlcmJvc2UodGNwKSkKKwkJc3ByaW50ZihidWYsICIlI2x4IiwgYWRkcik7CisJZWxzZSB7CisJCWludCByYzsKKworI2lmIGRlZmluZWQoTElOVVgpICYmIFNVUFBPUlRFRF9QRVJTT05BTElUSUVTID4gMQorCQlpZiAocGVyc29uYWxpdHlfd29yZHNpemVbY3VycmVudF9wZXJzb25hbGl0eV0gPT0gNCkgeworCQkJc3RydWN0IHRpbWV2YWwzMiB0djsKKworCQkJaWYgKChyYyA9IHVtb3ZlKHRjcCwgYWRkciwgJnR2KSkgPj0gMCkKKwkJCQlzcHJpbnRmKGJ1ZiwgInsldSwgJXV9IiwKKwkJCQkJdHYudHZfc2VjLCB0di50dl91c2VjKTsKKwkJfSBlbHNlCisjZW5kaWYKKwkJeworCQkJc3RydWN0IHRpbWVzcGVjIHRzOworCisJCQlpZiAoKHJjID0gdW1vdmUodGNwLCBhZGRyLCAmdHMpKSA+PSAwKQorCQkJCXNwcmludGYoYnVmLCAieyVsdSwgJWx1fSIsCisJCQkJCSh1bnNpZ25lZCBsb25nKSB0cy50dl9zZWMsCisJCQkJCSh1bnNpZ25lZCBsb25nKSB0cy50dl9uc2VjKTsKKwkJfQorCQlpZiAocmMgPCAwKQorCQkJc3RyY3B5KGJ1ZiwgInsuLi59Iik7CisJfQorfQorCitpbnQKK3N5c190aW1lKHRjcCkKK3N0cnVjdCB0Y2IgKnRjcDsKK3sKKwlpZiAoZXhpdGluZyh0Y3ApKSB7CisjaWZuZGVmIFNWUjQKKwkJcHJpbnRudW0odGNwLCB0Y3AtPnVfYXJnWzBdLCAiJWxkIik7CisjZW5kaWYgLyogU1ZSNCAqLworCX0KKwlyZXR1cm4gMDsKK30KKworaW50CitzeXNfc3RpbWUodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCWlmIChleGl0aW5nKHRjcCkpIHsKKwkJcHJpbnRudW0odGNwLCB0Y3AtPnVfYXJnWzBdLCAiJWxkIik7CisJfQorCXJldHVybiAwOworfQorCitpbnQKK3N5c19nZXR0aW1lb2ZkYXkodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCWlmIChleGl0aW5nKHRjcCkpIHsKKwkJaWYgKHN5c2Vycm9yKHRjcCkpIHsKKwkJCXRwcmludGYoIiUjbHgsICUjbHgiLAorCQkJCXRjcC0+dV9hcmdbMF0sIHRjcC0+dV9hcmdbMV0pOworCQkJcmV0dXJuIDA7CisJCX0KKwkJcHJpbnR0dih0Y3AsIHRjcC0+dV9hcmdbMF0pOworI2lmbmRlZiBTVlI0CisJCXRwcmludGYoIiwgIik7CisJCXByaW50dHYodGNwLCB0Y3AtPnVfYXJnWzFdKTsKKyNlbmRpZiAvKiAhU1ZSNCAqLworCX0KKwlyZXR1cm4gMDsKK30KKworCisjaWZkZWYgQUxQSEEKK2ludAorc3lzX29zZl9nZXR0aW1lb2ZkYXkodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCWlmIChleGl0aW5nKHRjcCkpIHsKKwkJaWYgKHN5c2Vycm9yKHRjcCkpIHsKKwkJCXRwcmludGYoIiUjbHgsICUjbHgiLCB0Y3AtPnVfYXJnWzBdLCB0Y3AtPnVfYXJnWzFdKTsKKwkJCXJldHVybiAwOworCQl9CisJCXByaW50dHZfYml0bmVzcyh0Y3AsIHRjcC0+dV9hcmdbMF0sIEJJVE5FU1NfMzIsIDApOworI2lmbmRlZiBTVlI0CisJCXRwcmludGYoIiwgIik7CisJCXByaW50dHZfYml0bmVzcyh0Y3AsIHRjcC0+dV9hcmdbMV0sIEJJVE5FU1NfMzIsIDApOworI2VuZGlmIC8qICFTVlI0ICovCisJfQorCXJldHVybiAwOworfQorI2VuZGlmCisKK2ludAorc3lzX3NldHRpbWVvZmRheSh0Y3ApCitzdHJ1Y3QgdGNiICp0Y3A7Cit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJcHJpbnR0dih0Y3AsIHRjcC0+dV9hcmdbMF0pOworI2lmbmRlZiBTVlI0CisJCXRwcmludGYoIiwgIik7CisJCXByaW50dHYodGNwLCB0Y3AtPnVfYXJnWzFdKTsKKyNlbmRpZiAvKiAhU1ZSNCAqLworCX0KKwlyZXR1cm4gMDsKK30KKworI2lmZGVmIEFMUEhBCitpbnQKK3N5c19vc2Zfc2V0dGltZW9mZGF5KHRjcCkKK3N0cnVjdCB0Y2IgKnRjcDsKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQlwcmludHR2X2JpdG5lc3ModGNwLCB0Y3AtPnVfYXJnWzBdLCBCSVRORVNTXzMyLCAwKTsKKyNpZm5kZWYgU1ZSNAorCQl0cHJpbnRmKCIsICIpOworCQlwcmludHR2X2JpdG5lc3ModGNwLCB0Y3AtPnVfYXJnWzFdLCBCSVRORVNTXzMyLCAwKTsKKyNlbmRpZiAvKiAhU1ZSNCAqLworCX0KKwlyZXR1cm4gMDsKK30KKyNlbmRpZgorCitpbnQKK3N5c19hZGp0aW1lKHRjcCkKK3N0cnVjdCB0Y2IgKnRjcDsKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQlwcmludHR2KHRjcCwgdGNwLT51X2FyZ1swXSk7CisJCXRwcmludGYoIiwgIik7CisJfSBlbHNlIHsKKwkJaWYgKHN5c2Vycm9yKHRjcCkpCisJCQl0cHJpbnRmKCIlI2x4IiwgdGNwLT51X2FyZ1sxXSk7CisJCWVsc2UKKwkJCXByaW50dHYodGNwLCB0Y3AtPnVfYXJnWzFdKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK2ludAorc3lzX25hbm9zbGVlcChzdHJ1Y3QgdGNiICp0Y3ApCit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJcHJpbnRfdGltZXNwZWModGNwLCB0Y3AtPnVfYXJnWzBdKTsKKwkJdHByaW50ZigiLCAiKTsKKwl9IGVsc2UgeworCQlpZiAoIXRjcC0+dV9hcmdbMV0gfHwgaXNfcmVzdGFydF9lcnJvcih0Y3ApKQorCQkJcHJpbnRfdGltZXNwZWModGNwLCB0Y3AtPnVfYXJnWzFdKTsKKwkJZWxzZQorCQkJdHByaW50ZigiJSNseCIsIHRjcC0+dV9hcmdbMV0pOworCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGNvbnN0IHN0cnVjdCB4bGF0IHdoaWNoW10gPSB7CisJeyBJVElNRVJfUkVBTCwJIklUSU1FUl9SRUFMIgl9LAorCXsgSVRJTUVSX1ZJUlRVQUwsIklUSU1FUl9WSVJUVUFMIn0sCisJeyBJVElNRVJfUFJPRiwJIklUSU1FUl9QUk9GIgl9LAorCXsgMCwJCU5VTEwJCX0sCit9OworCitzdGF0aWMgdm9pZAorcHJpbnRpdHZfYml0bmVzcyhzdHJ1Y3QgdGNiICp0Y3AsIGxvbmcgYWRkciwgZW51bSBiaXRuZXNzX3QgYml0bmVzcykKK3sKKwlpZiAoYWRkciA9PSAwKQorCQl0cHJpbnRmKCJOVUxMIik7CisJZWxzZSBpZiAoIXZlcmJvc2UodGNwKSkKKwkJdHByaW50ZigiJSNseCIsIGFkZHIpOworCWVsc2UgeworCQlpbnQgcmM7CisKKwkJaWYgKGJpdG5lc3MgPT0gQklUTkVTU18zMgorI2lmIGRlZmluZWQoTElOVVgpICYmIFNVUFBPUlRFRF9QRVJTT05BTElUSUVTID4gMQorCQkgICAgfHwgcGVyc29uYWxpdHlfd29yZHNpemVbY3VycmVudF9wZXJzb25hbGl0eV0gPT0gNAorI2VuZGlmCisJCQkpCisJCXsKKwkJCXN0cnVjdCB7CisJCQkJc3RydWN0IHRpbWV2YWwzMiBpdF9pbnRlcnZhbCwgaXRfdmFsdWU7CisJCQl9IGl0djsKKworCQkJaWYgKChyYyA9IHVtb3ZlKHRjcCwgYWRkciwgJml0dikpID49IDApIHsKKwkJCQl0cHJpbnRmKCJ7aXRfaW50ZXJ2YWw9Iik7CisJCQkJdHByaW50X3RpbWV2YWwzMih0Y3AsICZpdHYuaXRfaW50ZXJ2YWwpOworCQkJCXRwcmludGYoIiwgaXRfdmFsdWU9Iik7CisJCQkJdHByaW50X3RpbWV2YWwzMih0Y3AsICZpdHYuaXRfdmFsdWUpOworCQkJCXRwcmludGYoIn0iKTsKKwkJCX0KKwkJfSBlbHNlIHsKKwkJCXN0cnVjdCBpdGltZXJ2YWwgaXR2OworCisJCQlpZiAoKHJjID0gdW1vdmUodGNwLCBhZGRyLCAmaXR2KSkgPj0gMCkJeworCQkJCXRwcmludGYoIntpdF9pbnRlcnZhbD0iKTsKKwkJCQl0cHJpbnRfdGltZXZhbCh0Y3AsICZpdHYuaXRfaW50ZXJ2YWwpOworCQkJCXRwcmludGYoIiwgaXRfdmFsdWU9Iik7CisJCQkJdHByaW50X3RpbWV2YWwodGNwLCAmaXR2Lml0X3ZhbHVlKTsKKwkJCQl0cHJpbnRmKCJ9Iik7CisJCQl9CisJCX0KKwkJaWYgKHJjIDwgMCkKKwkJCXRwcmludGYoInsuLi59Iik7CisJfQorfQorCisjZGVmaW5lIHByaW50aXR2KHRjcCwgYWRkcikJXAorCXByaW50aXR2X2JpdG5lc3MoKHRjcCksIChhZGRyKSwgQklUTkVTU19DVVJSRU5UKQorCitpbnQKK3N5c19nZXRpdGltZXIodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXByaW50eHZhbCh3aGljaCwgdGNwLT51X2FyZ1swXSwgIklUSU1FUl8/Pz8iKTsKKwkJdHByaW50ZigiLCAiKTsKKwl9IGVsc2UgeworCQlpZiAoc3lzZXJyb3IodGNwKSkKKwkJCXRwcmludGYoIiUjbHgiLCB0Y3AtPnVfYXJnWzFdKTsKKwkJZWxzZQorCQkJcHJpbnRpdHYodGNwLCB0Y3AtPnVfYXJnWzFdKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKKworI2lmZGVmIEFMUEhBCitpbnQKK3N5c19vc2ZfZ2V0aXRpbWVyKHRjcCkKK3N0cnVjdCB0Y2IgKnRjcDsKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQlwcmludHh2YWwod2hpY2gsIHRjcC0+dV9hcmdbMF0sICJJVElNRVJfPz8/Iik7CisJCXRwcmludGYoIiwgIik7CisJfSBlbHNlIHsKKwkJaWYgKHN5c2Vycm9yKHRjcCkpCisJCQl0cHJpbnRmKCIlI2x4IiwgdGNwLT51X2FyZ1sxXSk7CisJCWVsc2UKKwkJCXByaW50aXR2X2JpdG5lc3ModGNwLCB0Y3AtPnVfYXJnWzFdLCBCSVRORVNTXzMyKTsKKwl9CisJcmV0dXJuIDA7Cit9CisjZW5kaWYKKworaW50CitzeXNfc2V0aXRpbWVyKHRjcCkKK3N0cnVjdCB0Y2IgKnRjcDsKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQlwcmludHh2YWwod2hpY2gsIHRjcC0+dV9hcmdbMF0sICJJVElNRVJfPz8/Iik7CisJCXRwcmludGYoIiwgIik7CisJCXByaW50aXR2KHRjcCwgdGNwLT51X2FyZ1sxXSk7CisJCXRwcmludGYoIiwgIik7CisJfSBlbHNlIHsKKwkJaWYgKHN5c2Vycm9yKHRjcCkpCisJCQl0cHJpbnRmKCIlI2x4IiwgdGNwLT51X2FyZ1syXSk7CisJCWVsc2UKKwkJCXByaW50aXR2KHRjcCwgdGNwLT51X2FyZ1syXSk7CisJfQorCXJldHVybiAwOworfQorCisjaWZkZWYgQUxQSEEKK2ludAorc3lzX29zZl9zZXRpdGltZXIodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXByaW50eHZhbCh3aGljaCwgdGNwLT51X2FyZ1swXSwgIklUSU1FUl8/Pz8iKTsKKwkJdHByaW50ZigiLCAiKTsKKwkJcHJpbnRpdHZfYml0bmVzcyh0Y3AsIHRjcC0+dV9hcmdbMV0sIEJJVE5FU1NfMzIpOworCQl0cHJpbnRmKCIsICIpOworCX0gZWxzZSB7CisJCWlmIChzeXNlcnJvcih0Y3ApKQorCQkJdHByaW50ZigiJSNseCIsIHRjcC0+dV9hcmdbMl0pOworCQllbHNlCisJCQlwcmludGl0dl9iaXRuZXNzKHRjcCwgdGNwLT51X2FyZ1syXSwgQklUTkVTU18zMik7CisJfQorCXJldHVybiAwOworfQorI2VuZGlmCisKKyNpZmRlZiBMSU5VWAorCitzdGF0aWMgY29uc3Qgc3RydWN0IHhsYXQgYWRqdGltZXhfbW9kZXNbXSA9IHsKKyAgeyAwLCAiMCIgfSwKKyNpZmRlZiBBREpfT0ZGU0VUCisgIHsgQURKX09GRlNFVCwgIkFESl9PRkZTRVQiIH0sCisjZW5kaWYKKyNpZmRlZiBBREpfRlJFUVVFTkNZCisgIHsgQURKX0ZSRVFVRU5DWSwgIkFESl9GUkVRVUVOQ1kiIH0sCisjZW5kaWYKKyNpZmRlZiBBREpfTUFYRVJST1IKKyAgeyBBREpfTUFYRVJST1IsICJBREpfTUFYRVJST1IiIH0sCisjZW5kaWYKKyNpZmRlZiBBREpfRVNURVJST1IKKyAgeyBBREpfRVNURVJST1IsICJBREpfRVNURVJST1IiIH0sCisjZW5kaWYKKyNpZmRlZiBBREpfU1RBVFVTCisgIHsgQURKX1NUQVRVUywgIkFESl9TVEFUVVMiIH0sCisjZW5kaWYKKyNpZmRlZiBBREpfVElNRUNPTlNUCisgIHsgQURKX1RJTUVDT05TVCwgIkFESl9USU1FQ09OU1QiIH0sCisjZW5kaWYKKyNpZmRlZiBBREpfVElDSworICB7IEFESl9USUNLLCAiQURKX1RJQ0siIH0sCisjZW5kaWYKKyNpZmRlZiBBREpfT0ZGU0VUX1NJTkdMRVNIT1QKKyAgeyBBREpfT0ZGU0VUX1NJTkdMRVNIT1QsICJBREpfT0ZGU0VUX1NJTkdMRVNIT1QiIH0sCisjZW5kaWYKKyAgeyAwLCAgICAgICAgICAgICBOVUxMIH0KK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCBhZGp0aW1leF9zdGF0dXNbXSA9IHsKKyNpZmRlZiBTVEFfUExMCisgIHsgU1RBX1BMTCwgIlNUQV9QTEwiIH0sCisjZW5kaWYKKyNpZmRlZiBTVEFfUFBTRlJFUQorICB7IFNUQV9QUFNGUkVRLCAiU1RBX1BQU0ZSRVEiIH0sCisjZW5kaWYKKyNpZmRlZiBTVEFfUFBTVElNRQorICB7IFNUQV9QUFNUSU1FLCAiU1RBX1BQU1RJTUUiIH0sCisjZW5kaWYKKyNpZmRlZiBTVEFfRkxMCisgIHsgU1RBX0ZMTCwgIlNUQV9GTEwiIH0sCisjZW5kaWYKKyNpZmRlZiBTVEFfSU5TCisgIHsgU1RBX0lOUywgIlNUQV9JTlMiIH0sCisjZW5kaWYKKyNpZmRlZiBTVEFfREVMCisgIHsgU1RBX0RFTCwgIlNUQV9ERUwiIH0sCisjZW5kaWYKKyNpZmRlZiBTVEFfVU5TWU5DCisgIHsgU1RBX1VOU1lOQywgIlNUQV9VTlNZTkMiIH0sCisjZW5kaWYKKyNpZmRlZiBTVEFfRlJFUUhPTEQKKyAgeyBTVEFfRlJFUUhPTEQsICJTVEFfRlJFUUhPTEQiIH0sCisjZW5kaWYKKyNpZmRlZiBTVEFfUFBTU0lHTkFMCisgIHsgU1RBX1BQU1NJR05BTCwgIlNUQV9QUFNTSUdOQUwiIH0sCisjZW5kaWYKKyNpZmRlZiBTVEFfUFBTSklUVEVSCisgIHsgU1RBX1BQU0pJVFRFUiwgIlNUQV9QUFNKSVRURVIiIH0sCisjZW5kaWYKKyNpZmRlZiBTVEFfUFBTV0FOREVSCisgIHsgU1RBX1BQU1dBTkRFUiwgIlNUQV9QUFNXQU5ERVIiIH0sCisjZW5kaWYKKyNpZmRlZiBTVEFfUFBTRVJST1IKKyAgeyBTVEFfUFBTRVJST1IsICJTVEFfUFBTRVJST1IiIH0sCisjZW5kaWYKKyNpZmRlZiBTVEFfQ0xPQ0tFUlIKKyAgeyBTVEFfQ0xPQ0tFUlIsICJTVEFfQ0xPQ0tFUlIiIH0sCisjZW5kaWYKKyAgeyAwLCAgICAgICAgICAgICBOVUxMIH0KK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCBhZGp0aW1leF9zdGF0ZVtdID0geworI2lmZGVmIFRJTUVfT0sKKyAgeyBUSU1FX09LLCAiVElNRV9PSyIgfSwKKyNlbmRpZgorI2lmZGVmIFRJTUVfSU5TCisgIHsgVElNRV9JTlMsICJUSU1FX0lOUyIgfSwKKyNlbmRpZgorI2lmZGVmIFRJTUVfREVMCisgIHsgVElNRV9ERUwsICJUSU1FX0RFTCIgfSwKKyNlbmRpZgorI2lmZGVmIFRJTUVfT09QCisgIHsgVElNRV9PT1AsICJUSU1FX09PUCIgfSwKKyNlbmRpZgorI2lmZGVmIFRJTUVfV0FJVAorICB7IFRJTUVfV0FJVCwgIlRJTUVfV0FJVCIgfSwKKyNlbmRpZgorI2lmZGVmIFRJTUVfRVJST1IKKyAgeyBUSU1FX0VSUk9SLCAiVElNRV9FUlJPUiIgfSwKKyNlbmRpZgorICB7IDAsICAgICAgICAgICAgIE5VTEwgfQorfTsKKworI2lmIFNVUFBPUlRFRF9QRVJTT05BTElUSUVTID4gMQorc3RhdGljIGludAordHByaW50X3RpbWV4MzIoc3RydWN0IHRjYiAqdGNwLCBsb25nIGFkZHIpCit7CisJc3RydWN0IHsKKwkJdW5zaWduZWQgaW50IG1vZGVzOworCQlpbnQgICAgIG9mZnNldDsKKwkJaW50ICAgICBmcmVxOworCQlpbnQgICAgIG1heGVycm9yOworCQlpbnQgICAgIGVzdGVycm9yOworCQlpbnQgICAgIHN0YXR1czsKKwkJaW50ICAgICBjb25zdGFudDsKKwkJaW50ICAgICBwcmVjaXNpb247CisJCWludCAgICAgdG9sZXJhbmNlOworCQlzdHJ1Y3QgdGltZXZhbDMyIHRpbWU7CisJCWludCAgICAgdGljazsKKwkJaW50ICAgICBwcHNmcmVxOworCQlpbnQgICAgIGppdHRlcjsKKwkJaW50ICAgICBzaGlmdDsKKwkJaW50ICAgICBzdGFiaWw7CisJCWludCAgICAgaml0Y250OworCQlpbnQgICAgIGNhbGNudDsKKwkJaW50ICAgICBlcnJjbnQ7CisJCWludCAgICAgc3RiY250OworCX0gdHg7CisKKwlpZiAodW1vdmUodGNwLCBhZGRyLCAmdHgpIDwgMCkKKwkJcmV0dXJuIC0xOworCisJdHByaW50Zigie21vZGVzPSIpOworCXByaW50ZmxhZ3MoYWRqdGltZXhfbW9kZXMsIHR4Lm1vZGVzLCAiQURKXz8/PyIpOworCXRwcmludGYoIiwgb2Zmc2V0PSVkLCBmcmVxPSVkLCBtYXhlcnJvcj0lZCwgIiwKKwkJdHgub2Zmc2V0LCB0eC5mcmVxLCB0eC5tYXhlcnJvcik7CisJdHByaW50ZigiZXN0ZXJyb3I9JXUsIHN0YXR1cz0iLCB0eC5lc3RlcnJvcik7CisJcHJpbnRmbGFncyhhZGp0aW1leF9zdGF0dXMsIHR4LnN0YXR1cywgIlNUQV8/Pz8iKTsKKwl0cHJpbnRmKCIsIGNvbnN0YW50PSVkLCBwcmVjaXNpb249JXUsICIsCisJCXR4LmNvbnN0YW50LCB0eC5wcmVjaXNpb24pOworCXRwcmludGYoInRvbGVyYW5jZT0lZCwgdGltZT0iLCB0eC50b2xlcmFuY2UpOworCXRwcmludF90aW1ldmFsMzIodGNwLCAmdHgudGltZSk7CisJdHByaW50ZigiLCB0aWNrPSVkLCBwcHNmcmVxPSVkLCBqaXR0ZXI9JWQiLAorCQl0eC50aWNrLCB0eC5wcHNmcmVxLCB0eC5qaXR0ZXIpOworCXRwcmludGYoIiwgc2hpZnQ9JWQsIHN0YWJpbD0lZCwgaml0Y250PSVkIiwKKwkJdHguc2hpZnQsIHR4LnN0YWJpbCwgdHguaml0Y250KTsKKwl0cHJpbnRmKCIsIGNhbGNudD0lZCwgZXJyY250PSVkLCBzdGJjbnQ9JWQiLAorCQl0eC5jYWxjbnQsIHR4LmVycmNudCwgdHguc3RiY250KTsKKwl0cHJpbnRmKCJ9Iik7CisJcmV0dXJuIDA7Cit9CisjZW5kaWYgLyogU1VQUE9SVEVEX1BFUlNPTkFMSVRJRVMgPiAxICovCisKK3N0YXRpYyBpbnQKK3RwcmludF90aW1leChzdHJ1Y3QgdGNiICp0Y3AsIGxvbmcgYWRkcikKK3sKKwlzdHJ1Y3QgdGltZXggdHg7CisKKyNpZiBTVVBQT1JURURfUEVSU09OQUxJVElFUyA+IDEKKwlpZiAocGVyc29uYWxpdHlfd29yZHNpemVbY3VycmVudF9wZXJzb25hbGl0eV0gPT0gNCkKKwkJcmV0dXJuIHRwcmludF90aW1leDMyKHRjcCwgYWRkcik7CisjZW5kaWYKKwlpZiAodW1vdmUodGNwLCBhZGRyLCAmdHgpIDwgMCkKKwkJcmV0dXJuIC0xOworCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgNjYzMzIKKwl0cHJpbnRmKCJ7bW9kZT0lZCwgb2Zmc2V0PSVsZCwgZnJlcXVlbmN5PSVsZCwgIiwKKwkJdHgubW9kZSwgdHgub2Zmc2V0LCB0eC5mcmVxdWVuY3kpOworCXRwcmludGYoIm1heGVycm9yPSVsZCwgZXN0ZXJyb3I9JWx1LCBzdGF0dXM9JXUsICIsCisJCXR4Lm1heGVycm9yLCB0eC5lc3RlcnJvciwgdHguc3RhdHVzKTsKKwl0cHJpbnRmKCJ0aW1lX2NvbnN0YW50PSVsZCwgcHJlY2lzaW9uPSVsdSwgIiwKKwkJdHgudGltZV9jb25zdGFudCwgdHgucHJlY2lzaW9uKTsKKwl0cHJpbnRmKCJ0b2xlcmFuY2U9JWxkLCB0aW1lPSIsIHR4LnRvbGVyYW5jZSk7CisJdHByaW50X3RpbWV2YWwodGNwLCAmdHgudGltZSk7CisjZWxzZQorCXRwcmludGYoInttb2Rlcz0iKTsKKwlwcmludGZsYWdzKGFkanRpbWV4X21vZGVzLCB0eC5tb2RlcywgIkFESl8/Pz8iKTsKKwl0cHJpbnRmKCIsIG9mZnNldD0lbGQsIGZyZXE9JWxkLCBtYXhlcnJvcj0lbGQsICIsCisJCXR4Lm9mZnNldCwgdHguZnJlcSwgdHgubWF4ZXJyb3IpOworCXRwcmludGYoImVzdGVycm9yPSVsdSwgc3RhdHVzPSIsIHR4LmVzdGVycm9yKTsKKwlwcmludGZsYWdzKGFkanRpbWV4X3N0YXR1cywgdHguc3RhdHVzLCAiU1RBXz8/PyIpOworCXRwcmludGYoIiwgY29uc3RhbnQ9JWxkLCBwcmVjaXNpb249JWx1LCAiLAorCQl0eC5jb25zdGFudCwgdHgucHJlY2lzaW9uKTsKKwl0cHJpbnRmKCJ0b2xlcmFuY2U9JWxkLCB0aW1lPSIsIHR4LnRvbGVyYW5jZSk7CisJdHByaW50X3RpbWV2YWwodGNwLCAmdHgudGltZSk7CisJdHByaW50ZigiLCB0aWNrPSVsZCwgcHBzZnJlcT0lbGQsIGppdHRlcj0lbGQiLAorCQl0eC50aWNrLCB0eC5wcHNmcmVxLCB0eC5qaXR0ZXIpOworCXRwcmludGYoIiwgc2hpZnQ9JWQsIHN0YWJpbD0lbGQsIGppdGNudD0lbGQiLAorCQl0eC5zaGlmdCwgdHguc3RhYmlsLCB0eC5qaXRjbnQpOworCXRwcmludGYoIiwgY2FsY250PSVsZCwgZXJyY250PSVsZCwgc3RiY250PSVsZCIsCisJCXR4LmNhbGNudCwgdHguZXJyY250LCB0eC5zdGJjbnQpOworI2VuZGlmCisJdHByaW50ZigifSIpOworCXJldHVybiAwOworfQorCitpbnQKK3N5c19hZGp0aW1leChzdHJ1Y3QgdGNiICp0Y3ApCit7CisJaWYgKGV4aXRpbmcodGNwKSkgeworCQlpZiAodGNwLT51X2FyZ1swXSA9PSAwKQorCQkJdHByaW50ZigiTlVMTCIpOworCQllbHNlIGlmIChzeXNlcnJvcih0Y3ApIHx8ICF2ZXJib3NlKHRjcCkpCisJCQl0cHJpbnRmKCIlI2x4IiwgdGNwLT51X2FyZ1swXSk7CisJCWVsc2UgaWYgKHRwcmludF90aW1leCh0Y3AsIHRjcC0+dV9hcmdbMF0pIDwgMCkKKwkJCXRwcmludGYoInsuLi59Iik7CisJCWlmIChzeXNlcnJvcih0Y3ApKQorCQkJcmV0dXJuIDA7CisJCXRjcC0+YXV4c3RyID0geGxvb2t1cChhZGp0aW1leF9zdGF0ZSwgdGNwLT51X3J2YWwpOworCQlpZiAodGNwLT5hdXhzdHIpCisJCQlyZXR1cm4gUlZBTF9TVFI7CisJfQorCXJldHVybiAwOworfQorCitzdGF0aWMgY29uc3Qgc3RydWN0IHhsYXQgY2xvY2tmbGFnc1tdID0geworICB7IFRJTUVSX0FCU1RJTUUsICJUSU1FUl9BQlNUSU1FIiB9LAorICB7IDAsICAgICAgICAgICAgIE5VTEwgfQorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCB4bGF0IGNsb2NrbmFtZXNbXSA9IHsKKyNpZmRlZiBDTE9DS19SRUFMVElNRQorICB7IENMT0NLX1JFQUxUSU1FLCAiQ0xPQ0tfUkVBTFRJTUUiIH0sCisjZW5kaWYKKyNpZmRlZiBDTE9DS19NT05PVE9OSUMKKyAgeyBDTE9DS19NT05PVE9OSUMsICJDTE9DS19NT05PVE9OSUMiIH0sCisjZW5kaWYKKyAgeyAwLCAgICAgICAgICAgICBOVUxMIH0KK307CisKK2ludAorc3lzX2Nsb2NrX3NldHRpbWUodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXByaW50eHZhbChjbG9ja25hbWVzLCB0Y3AtPnVfYXJnWzBdLCAiQ0xPQ0tfPz8/Iik7CisJCXRwcmludGYoIiwgIik7CisJCXByaW50dHYodGNwLCB0Y3AtPnVfYXJnWzFdKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK2ludAorc3lzX2Nsb2NrX2dldHRpbWUodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXByaW50eHZhbChjbG9ja25hbWVzLCB0Y3AtPnVfYXJnWzBdLCAiQ0xPQ0tfPz8/Iik7CisJCXRwcmludGYoIiwgIik7CisJfSBlbHNlIHsKKwkJaWYgKHN5c2Vycm9yKHRjcCkpCisJCQl0cHJpbnRmKCIlI2x4IiwgdGNwLT51X2FyZ1sxXSk7CisJCWVsc2UKKwkJCXByaW50dHYodGNwLCB0Y3AtPnVfYXJnWzFdKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK2ludAorc3lzX2Nsb2NrX25hbm9zbGVlcCh0Y3ApCitzdHJ1Y3QgdGNiICp0Y3A7Cit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJcHJpbnR4dmFsKGNsb2NrbmFtZXMsIHRjcC0+dV9hcmdbMF0sICJDTE9DS18/Pz8iKTsKKwkJdHByaW50ZigiLCAiKTsKKwkJcHJpbnRmbGFncyhjbG9ja2ZsYWdzLCB0Y3AtPnVfYXJnWzFdLCAiVElNRVJfPz8/Iik7CisJCXRwcmludGYoIiwgIik7CisJCXByaW50dHYodGNwLCB0Y3AtPnVfYXJnWzJdKTsKKwkJdHByaW50ZigiLCAiKTsKKwl9IGVsc2UgeworCQlpZiAoc3lzZXJyb3IodGNwKSkKKwkJCXRwcmludGYoIiUjbHgiLCB0Y3AtPnVfYXJnWzNdKTsKKwkJZWxzZQorCQkJcHJpbnR0dih0Y3AsIHRjcC0+dV9hcmdbM10pOworCX0KKwlyZXR1cm4gMDsKK30KKworI2lmbmRlZiBTSUdFVl9USFJFQURfSUQKKyMgZGVmaW5lIFNJR0VWX1RIUkVBRF9JRCA0CisjZW5kaWYKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGxhdCBzaWdldl92YWx1ZVtdID0geworCXsgU0lHRVZfU0lHTkFMKzEsICJTSUdFVl9TSUdOQUwiIH0sCisJeyBTSUdFVl9OT05FKzEsICJTSUdFVl9OT05FIiB9LAorCXsgU0lHRVZfVEhSRUFEKzEsICJTSUdFVl9USFJFQUQiIH0sCisJeyBTSUdFVl9USFJFQURfSUQrMSwgIlNJR0VWX1RIUkVBRF9JRCIgfSwKKwl7IDAsIE5VTEwgfQorfTsKKworI2lmIFNVUFBPUlRFRF9QRVJTT05BTElUSUVTID4gMQorc3RhdGljIHZvaWQKK3ByaW50c2lnZXZlbnQzMihzdHJ1Y3QgdGNiICp0Y3AsIGxvbmcgYXJnKQoreworCXN0cnVjdCB7CisJCWludCAgICAgc2lnZXZfdmFsdWU7CisJCWludCAgICAgc2lnZXZfc2lnbm87CisJCWludCAgICAgc2lnZXZfbm90aWZ5OworCisJCXVuaW9uIHsKKwkJCWludCAgICAgdGlkOworCQkJc3RydWN0IHsKKwkJCQlpbnQgICAgIGZ1bmN0aW9uLCBhdHRyaWJ1dGU7CisJCQl9IHRocmVhZDsKKwkJfSB1bjsKKwl9IHNldjsKKworCWlmICh1bW92ZSh0Y3AsIGFyZywgJnNldikgPCAwKQorCQl0cHJpbnRmKCJ7Li4ufSIpOworCWVsc2UgeworCQl0cHJpbnRmKCJ7JSN4LCAiLCBzZXYuc2lnZXZfdmFsdWUpOworCQlpZiAoc2V2LnNpZ2V2X25vdGlmeSA9PSBTSUdFVl9TSUdOQUwpCisJCQl0cHJpbnRmKCIlcywgIiwgc2lnbmFtZShzZXYuc2lnZXZfc2lnbm8pKTsKKwkJZWxzZQorCQkJdHByaW50ZigiJXUsICIsIHNldi5zaWdldl9zaWdubyk7CisJCXByaW50eHZhbChzaWdldl92YWx1ZSwgc2V2LnNpZ2V2X25vdGlmeSArIDEsICJTSUdFVl8/Pz8iKTsKKwkJdHByaW50ZigiLCAiKTsKKwkJaWYgKHNldi5zaWdldl9ub3RpZnkgPT0gU0lHRVZfVEhSRUFEX0lEKQorCQkJdHByaW50ZigieyVkfSIsIHNldi51bi50aWQpOworCQllbHNlIGlmIChzZXYuc2lnZXZfbm90aWZ5ID09IFNJR0VWX1RIUkVBRCkKKwkJCXRwcmludGYoInslI3gsICUjeH0iLAorCQkJCXNldi51bi50aHJlYWQuZnVuY3Rpb24sCisJCQkJc2V2LnVuLnRocmVhZC5hdHRyaWJ1dGUpOworCQllbHNlCisJCQl0cHJpbnRmKCJ7Li4ufSIpOworCQl0cHJpbnRmKCJ9Iik7CisJfQorfQorI2VuZGlmCisKK3ZvaWQKK3ByaW50c2lnZXZlbnQoc3RydWN0IHRjYiAqdGNwLCBsb25nIGFyZykKK3sKKwlzdHJ1Y3Qgc2lnZXZlbnQgc2V2OworCisjaWYgU1VQUE9SVEVEX1BFUlNPTkFMSVRJRVMgPiAxCisJaWYgKHBlcnNvbmFsaXR5X3dvcmRzaXplW2N1cnJlbnRfcGVyc29uYWxpdHldID09IDQpCisJeworCQlwcmludHNpZ2V2ZW50MzIodGNwLCBhcmcpOworCQlyZXR1cm47CisJfQorI2VuZGlmCisJaWYgKHVtb3ZlICh0Y3AsIGFyZywgJnNldikgPCAwKQorCQl0cHJpbnRmKCJ7Li4ufSIpOworCWVsc2UgeworCQl0cHJpbnRmKCJ7JXAsICIsIHNldi5zaWdldl92YWx1ZS5zaXZhbF9wdHIpOworCQlpZiAoc2V2LnNpZ2V2X25vdGlmeSA9PSBTSUdFVl9TSUdOQUwpCisJCQl0cHJpbnRmKCIlcywgIiwgc2lnbmFtZShzZXYuc2lnZXZfc2lnbm8pKTsKKwkJZWxzZQorCQkJdHByaW50ZigiJXUsICIsIHNldi5zaWdldl9zaWdubyk7CisJCXByaW50eHZhbChzaWdldl92YWx1ZSwgc2V2LnNpZ2V2X25vdGlmeSsxLCAiU0lHRVZfPz8/Iik7CisJCXRwcmludGYoIiwgIik7CisJCWlmIChzZXYuc2lnZXZfbm90aWZ5ID09IFNJR0VWX1RIUkVBRF9JRCkKKwkJCS8qIF9wYWRbMF0gaXMgdGhlIF90aWQgZmllbGQgd2hpY2ggbWlnaHQgbm90IGJlCisJCQkgICBwcmVzZW50IGluIHRoZSB1c2VybGV2ZWwgZGVmaW5pdGlvbiBvZiB0aGUKKwkJCSAgIHN0cnVjdC4gICovCisJCQl0cHJpbnRmKCJ7JWR9Iiwgc2V2Ll9zaWdldl91bi5fcGFkWzBdKTsKKwkJZWxzZSBpZiAoc2V2LnNpZ2V2X25vdGlmeSA9PSBTSUdFVl9USFJFQUQpCisJCQl0cHJpbnRmKCJ7JXAsICVwfSIsIHNldi5zaWdldl9ub3RpZnlfZnVuY3Rpb24sCisJCQkJc2V2LnNpZ2V2X25vdGlmeV9hdHRyaWJ1dGVzKTsKKwkJZWxzZQorCQkJdHByaW50Zigiey4uLn0iKTsKKwkJdHByaW50ZigifSIpOworCX0KK30KKworaW50CitzeXNfdGltZXJfY3JlYXRlKHRjcCkKK3N0cnVjdCB0Y2IgKnRjcDsKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQlwcmludHh2YWwoY2xvY2tuYW1lcywgdGNwLT51X2FyZ1swXSwgIkNMT0NLXz8/PyIpOworCQl0cHJpbnRmKCIsICIpOworCQlwcmludHNpZ2V2ZW50KHRjcCwgdGNwLT51X2FyZ1sxXSk7CisJCXRwcmludGYoIiwgIik7CisJfSBlbHNlIHsKKwkJdm9pZCAqcDsKKworCQlpZiAoc3lzZXJyb3IodGNwKSB8fCB1bW92ZSh0Y3AsIHRjcC0+dV9hcmdbMl0sICZwKSA8IDApCisJCQl0cHJpbnRmKCIlI2x4IiwgdGNwLT51X2FyZ1syXSk7CisJCWVsc2UKKwkJCXRwcmludGYoInslcH0iLCBwKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK2ludAorc3lzX3RpbWVyX3NldHRpbWUodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXRwcmludGYoIiUjbHgsICIsIHRjcC0+dV9hcmdbMF0pOworCQlwcmludGZsYWdzKGNsb2NrZmxhZ3MsIHRjcC0+dV9hcmdbMV0sICJUSU1FUl8/Pz8iKTsKKwkJdHByaW50ZigiLCAiKTsKKwkJcHJpbnRpdHYodGNwLCB0Y3AtPnVfYXJnWzJdKTsKKwkJdHByaW50ZigiLCAiKTsKKwl9IGVsc2UgeworCQlpZiAoc3lzZXJyb3IodGNwKSkKKwkJCXRwcmludGYoIiUjbHgiLCB0Y3AtPnVfYXJnWzNdKTsKKwkJZWxzZQorCQkJcHJpbnRpdHYodGNwLCB0Y3AtPnVfYXJnWzNdKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK2ludAorc3lzX3RpbWVyX2dldHRpbWUodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXRwcmludGYoIiUjbHgsICIsIHRjcC0+dV9hcmdbMF0pOworCX0gZWxzZSB7CisJCWlmIChzeXNlcnJvcih0Y3ApKQorCQkJdHByaW50ZigiJSNseCIsIHRjcC0+dV9hcmdbMV0pOworCQllbHNlCisJCQlwcmludGl0dih0Y3AsIHRjcC0+dV9hcmdbMV0pOworCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQKK3ByaW50X3J0Yyh0Y3AsIHJ0KQorc3RydWN0IHRjYiAqdGNwOworY29uc3Qgc3RydWN0IHJ0Y190aW1lICpydDsKK3sKKwl0cHJpbnRmKCJ7dG1fc2VjPSVkLCB0bV9taW49JWQsIHRtX2hvdXI9JWQsICIKKwkJInRtX21kYXk9JWQsIHRtX21vbj0lZCwgdG1feWVhcj0lZCwgIiwKKwkJcnQtPnRtX3NlYywgcnQtPnRtX21pbiwgcnQtPnRtX2hvdXIsCisJCXJ0LT50bV9tZGF5LCBydC0+dG1fbW9uLCBydC0+dG1feWVhcik7CisJaWYgKCFhYmJyZXYodGNwKSkKKwkJdHByaW50ZigidG1fd2RheT0lZCwgdG1feWRheT0lZCwgdG1faXNkc3Q9JWR9IiwKKwkJCXJ0LT50bV93ZGF5LCBydC0+dG1feWRheSwgcnQtPnRtX2lzZHN0KTsKKwllbHNlCisJCXRwcmludGYoIi4uLn0iKTsKK30KKworaW50CitydGNfaW9jdGwodGNwLCBjb2RlLCBhcmcpCitzdHJ1Y3QgdGNiICp0Y3A7Citsb25nIGNvZGU7Citsb25nIGFyZzsKK3sKKwlzd2l0Y2ggKGNvZGUpIHsKKwljYXNlIFJUQ19BTE1fU0VUOgorCWNhc2UgUlRDX1NFVF9USU1FOgorCQlpZiAoZW50ZXJpbmcodGNwKSkgeworCQkJc3RydWN0IHJ0Y190aW1lIHJ0OworCQkJaWYgKHVtb3ZlKHRjcCwgYXJnLCAmcnQpIDwgMCkKKwkJCQl0cHJpbnRmKCIsICUjbHgiLCBhcmcpOworCQkJZWxzZSB7CisJCQkJdHByaW50ZigiLCAiKTsKKwkJCQlwcmludF9ydGModGNwLCAmcnQpOworCQkJfQorCQl9CisJCWJyZWFrOworCWNhc2UgUlRDX0FMTV9SRUFEOgorCWNhc2UgUlRDX1JEX1RJTUU6CisJCWlmIChleGl0aW5nKHRjcCkpIHsKKwkJCXN0cnVjdCBydGNfdGltZSBydDsKKwkJCWlmIChzeXNlcnJvcih0Y3ApIHx8IHVtb3ZlKHRjcCwgYXJnLCAmcnQpIDwgMCkKKwkJCQl0cHJpbnRmKCIsICUjbHgiLCBhcmcpOworCQkJZWxzZSB7CisJCQkJdHByaW50ZigiLCAiKTsKKwkJCQlwcmludF9ydGModGNwLCAmcnQpOworCQkJfQorCQl9CisJCWJyZWFrOworCWNhc2UgUlRDX0lSUVBfU0VUOgorCWNhc2UgUlRDX0VQT0NIX1NFVDoKKwkJaWYgKGVudGVyaW5nKHRjcCkpCisJCQl0cHJpbnRmKCIsICVsdSIsIGFyZyk7CisJCWJyZWFrOworCWNhc2UgUlRDX0lSUVBfUkVBRDoKKwljYXNlIFJUQ19FUE9DSF9SRUFEOgorCQlpZiAoZXhpdGluZyh0Y3ApKQorCQkJdHByaW50ZigiLCAlbHUiLCBhcmcpOworCQlicmVhazsKKwljYXNlIFJUQ19XS0FMTV9TRVQ6CisJCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCQlzdHJ1Y3QgcnRjX3drYWxybSB3azsKKwkJCWlmICh1bW92ZSh0Y3AsIGFyZywgJndrKSA8IDApCisJCQkJdHByaW50ZigiLCAlI2x4IiwgYXJnKTsKKwkJCWVsc2UgeworCQkJCXRwcmludGYoIiwge2VuYWJsZWQ9JWQsIHBlbmRpbmc9JWQsICIsCisJCQkJCXdrLmVuYWJsZWQsIHdrLnBlbmRpbmcpOworCQkJCXByaW50X3J0Yyh0Y3AsICZ3ay50aW1lKTsKKwkJCQl0cHJpbnRmKCJ9Iik7CisJCQl9CisJCX0KKwkJYnJlYWs7CisJY2FzZSBSVENfV0tBTE1fUkQ6CisJCWlmIChleGl0aW5nKHRjcCkpIHsKKwkJCXN0cnVjdCBydGNfd2thbHJtIHdrOworCQkJaWYgKHN5c2Vycm9yKHRjcCkgfHwgdW1vdmUodGNwLCBhcmcsICZ3aykgPCAwKQorCQkJCXRwcmludGYoIiwgJSNseCIsIGFyZyk7CisJCQllbHNlIHsKKwkJCQl0cHJpbnRmKCIsIHtlbmFibGVkPSVkLCBwZW5kaW5nPSVkLCAiLAorCQkJCQl3ay5lbmFibGVkLCB3ay5wZW5kaW5nKTsKKwkJCQlwcmludF9ydGModGNwLCAmd2sudGltZSk7CisJCQkJdHByaW50ZigifSIpOworCQkJfQorCQl9CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCWlmIChlbnRlcmluZyh0Y3ApKQorCQkJdHByaW50ZigiLCAlI2x4IiwgYXJnKTsKKwkJYnJlYWs7CisJfQorCXJldHVybiAxOworfQorCisjaWZuZGVmIFRGRF9USU1FUl9BQlNUSU1FCisjZGVmaW5lIFRGRF9USU1FUl9BQlNUSU1FICgxIDw8IDApCisjZW5kaWYKKworc3RhdGljIGNvbnN0IHN0cnVjdCB4bGF0IHRpbWVyZmRmbGFnc1tdID0geworCXsgVEZEX1RJTUVSX0FCU1RJTUUsCSJURkRfVElNRVJfQUJTVElNRSIJfSwKKwl7IDAsCQkJTlVMTAkJCX0KK307CisKK2ludAorc3lzX3RpbWVyZmQodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCS8qIEl0IGRvZXMgbm90IG1hdHRlciB0aGF0IHRoZSBrZXJuZWwgdXNlcyBpdGltZXJzcGVjLiAgKi8KKwkJdHByaW50ZigiJWxkLCAiLCB0Y3AtPnVfYXJnWzBdKTsKKwkJcHJpbnR4dmFsKGNsb2NrbmFtZXMsIHRjcC0+dV9hcmdbMV0sICJDTE9DS18/Pz8iKTsKKwkJdHByaW50ZigiLCAiKTsKKwkJcHJpbnRmbGFncyh0aW1lcmZkZmxhZ3MsIHRjcC0+dV9hcmdbMl0sICJURkRfPz8/Iik7CisJCXRwcmludGYoIiwgIik7CisJCXByaW50aXR2KHRjcCwgdGNwLT51X2FyZ1szXSk7CisJfQorCXJldHVybiAwOworfQorCitpbnQKK3N5c190aW1lcmZkX2NyZWF0ZShzdHJ1Y3QgdGNiICp0Y3ApCit7CisJaWYgKGVudGVyaW5nKHRjcCkpIHsKKwkJcHJpbnR4dmFsKGNsb2NrbmFtZXMsIHRjcC0+dV9hcmdbMF0sICJDTE9DS18/Pz8iKTsKKwkJdHByaW50ZigiLCAiKTsKKwkJcHJpbnRmbGFncyh0aW1lcmZkZmxhZ3MsIHRjcC0+dV9hcmdbMV0sICJURkRfPz8/Iik7CisJfQorCXJldHVybiAwOworfQorCitpbnQKK3N5c190aW1lcmZkX3NldHRpbWUoc3RydWN0IHRjYiAqdGNwKQoreworCWlmIChlbnRlcmluZyh0Y3ApKSB7CisJCXRwcmludGYoIiVsZCwgIiwgdGNwLT51X2FyZ1swXSk7CisJCXByaW50ZmxhZ3ModGltZXJmZGZsYWdzLCB0Y3AtPnVfYXJnWzFdLCAiVEZEXz8/PyIpOworCQl0cHJpbnRmKCIsICIpOworCQlwcmludGl0dih0Y3AsIHRjcC0+dV9hcmdbMl0pOworCQl0cHJpbnRmKCIsICIpOworCQlwcmludGl0dih0Y3AsIHRjcC0+dV9hcmdbM10pOworCX0KKwlyZXR1cm4gMDsKK30KKworaW50CitzeXNfdGltZXJmZF9nZXR0aW1lKHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwlpZiAoZW50ZXJpbmcodGNwKSkgeworCQl0cHJpbnRmKCIlbGQsICIsIHRjcC0+dV9hcmdbMF0pOworCQl0cHJpbnRmKCIsICIpOworCQlwcmludGl0dih0Y3AsIHRjcC0+dV9hcmdbMV0pOworCX0KKwlyZXR1cm4gMDsKK30KKworI2VuZGlmIC8qIExJTlVYICovCmRpZmYgLS1naXQgYS9zdHJhY2UtNC41LjIwL3V0aWwuYyBiL3N0cmFjZS00LjUuMjAvdXRpbC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJkMTJjMGYKLS0tIC9kZXYvbnVsbAorKysgYi9zdHJhY2UtNC41LjIwL3V0aWwuYwpAQCAtMCwwICsxLDE3NzMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDE5OTEsIDE5OTIgUGF1bCBLcmFuZW5idXJnIDxwa0Bjcy5mZXcuZXVyLm5sPgorICogQ29weXJpZ2h0IChjKSAxOTkzIEJyYW5rbyBMYW5rZXN0ZXIgPGJyYW5rb0BoYWNrdGljLm5sPgorICogQ29weXJpZ2h0IChjKSAxOTkzLCAxOTk0LCAxOTk1LCAxOTk2IFJpY2sgU2xhZGtleSA8anJzQHdvcmxkLnN0ZC5jb20+CisgKiBDb3B5cmlnaHQgKGMpIDE5OTYtMTk5OSBXaWNoZXJ0IEFra2VybWFuIDx3aWNoZXJ0QGNpc3Ryb24ubmw+CisgKiBDb3B5cmlnaHQgKGMpIDE5OTkgSUJNIERldXRzY2hsYW5kIEVudHdpY2tsdW5nIEdtYkgsIElCTSBDb3Jwb3JhdGlvbgorICogICAgICAgICAgICAgICAgICAgICBMaW51eCBmb3IgczM5MCBwb3J0IGJ5IEQuSi4gQmFycm93CisgKiAgICAgICAgICAgICAgICAgICAgPGJhcnJvd19kakBtYWlsLnlhaG9vLmNvbSxkamJhcnJvd0BkZS5pYm0uY29tPgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIFRoZSBuYW1lIG9mIHRoZSBhdXRob3IgbWF5IG5vdCBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cworICogICAgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQVVUSE9SIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1MgT1IKKyAqIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMKKyAqIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuCisgKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCisgKiBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQKKyAqIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICoKKyAqCSRJZCQKKyAqLworCisjaW5jbHVkZSAiZGVmcy5oIgorCisjaW5jbHVkZSA8c2lnbmFsLmg+CisjaW5jbHVkZSA8c3lzL3N5c2NhbGwuaD4KKyNpbmNsdWRlIDxzeXMvdXNlci5oPgorI2luY2x1ZGUgPHN5cy9wYXJhbS5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaWYgSEFWRV9TWVNfVUlPX0gKKyNpbmNsdWRlIDxzeXMvdWlvLmg+CisjZW5kaWYKKyNpZmRlZiBTVU5PUzQKKyNpbmNsdWRlIDxtYWNoaW5lL3JlZy5oPgorI2luY2x1ZGUgPGEub3V0Lmg+CisjaW5jbHVkZSA8bGluay5oPgorI2VuZGlmIC8qIFNVTk9TNCAqLworCisjaWYgZGVmaW5lZChsaW51eCkgJiYgKF9fR0xJQkNfXyA8IDIgfHwgKF9fR0xJQkNfXyA9PSAyICYmIF9fR0xJQkNfTUlOT1JfXyA8IDEpKQorI2luY2x1ZGUgPGxpbnV4L3B0cmFjZS5oPgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJTlVYKSAmJiBkZWZpbmVkKElBNjQpCisjIGluY2x1ZGUgPGFzbS9wdHJhY2Vfb2Zmc2V0cy5oPgorIyBpbmNsdWRlIDxhc20vcnNlLmg+CisjZW5kaWYKKworI2lmZGVmIEhBVkVfU1lTX1JFR19ICisjaW5jbHVkZSA8c3lzL3JlZy5oPgorIyBkZWZpbmUgUFRSQUNFX1BFRUtVU1IgUFRSQUNFX1BFRUtVU0VSCisjZWxpZiBkZWZpbmVkKEhBVkVfTElOVVhfUFRSQUNFX0gpCisjdW5kZWYgUFRSQUNFX1NZU0NBTEwKKyMgaWZkZWYgSEFWRV9TVFJVQ1RfSUE2NF9GUFJFRworIyAgZGVmaW5lIGlhNjRfZnByZWcgWFhYX2lhNjRfZnByZWcKKyMgZW5kaWYKKyMgaWZkZWYgSEFWRV9TVFJVQ1RfUFRfQUxMX1VTRVJfUkVHUworIyAgZGVmaW5lIHB0X2FsbF91c2VyX3JlZ3MgWFhYX3B0X2FsbF91c2VyX3JlZ3MKKyMgZW5kaWYKKyNpbmNsdWRlIDxsaW51eC9wdHJhY2UuaD4KKyMgdW5kZWYgaWE2NF9mcHJlZworIyB1bmRlZiBwdF9hbGxfdXNlcl9yZWdzCisjZW5kaWYKKworI2lmZGVmIFNVTk9TNF9LRVJORUxfQVJDSF9LTFVER0UKKyNpbmNsdWRlIDxzeXMvdXRzbmFtZS5oPgorI2VuZGlmIC8qIFNVTk9TNF9LRVJORUxfQVJDSF9LTFVER0UgKi8KKworI2lmIGRlZmluZWQoTElOVVhTUEFSQykgJiYgZGVmaW5lZCAoU1BBUkM2NCkKKyMgdW5kZWYgUFRSQUNFX0dFVFJFR1MKKyMgZGVmaW5lIFBUUkFDRV9HRVRSRUdTIFBUUkFDRV9HRVRSRUdTNjQKKyMgdW5kZWYgUFRSQUNFX1NFVFJFR1MKKyMgZGVmaW5lIFBUUkFDRV9TRVRSRUdTIFBUUkFDRV9TRVRSRUdTNjQKKyNlbmRpZgorCisvKiBtYWNyb3MgKi8KKyNpZm5kZWYgTUFYCisjZGVmaW5lIE1BWChhLGIpCQkoKChhKSA+IChiKSkgPyAoYSkgOiAoYikpCisjZW5kaWYKKyNpZm5kZWYgTUlOCisjZGVmaW5lIE1JTihhLGIpCQkoKChhKSA8IChiKSkgPyAoYSkgOiAoYikpCisjZW5kaWYKKworaW50Cit0dl9ueihhKQorc3RydWN0IHRpbWV2YWwgKmE7Cit7CisJcmV0dXJuIGEtPnR2X3NlYyB8fCBhLT50dl91c2VjOworfQorCitpbnQKK3R2X2NtcChhLCBiKQorc3RydWN0IHRpbWV2YWwgKmEsICpiOworeworCWlmIChhLT50dl9zZWMgPCBiLT50dl9zZWMKKwkgICAgfHwgKGEtPnR2X3NlYyA9PSBiLT50dl9zZWMgJiYgYS0+dHZfdXNlYyA8IGItPnR2X3VzZWMpKQorCQlyZXR1cm4gLTE7CisJaWYgKGEtPnR2X3NlYyA+IGItPnR2X3NlYworCSAgICB8fCAoYS0+dHZfc2VjID09IGItPnR2X3NlYyAmJiBhLT50dl91c2VjID4gYi0+dHZfdXNlYykpCisJCXJldHVybiAxOworCXJldHVybiAwOworfQorCitkb3VibGUKK3R2X2Zsb2F0KHR2KQorc3RydWN0IHRpbWV2YWwgKnR2OworeworCXJldHVybiB0di0+dHZfc2VjICsgdHYtPnR2X3VzZWMvMTAwMDAwMC4wOworfQorCit2b2lkCit0dl9hZGQodHYsIGEsIGIpCitzdHJ1Y3QgdGltZXZhbCAqdHYsICphLCAqYjsKK3sKKwl0di0+dHZfc2VjID0gYS0+dHZfc2VjICsgYi0+dHZfc2VjOworCXR2LT50dl91c2VjID0gYS0+dHZfdXNlYyArIGItPnR2X3VzZWM7CisJaWYgKHR2LT50dl91c2VjID49IDEwMDAwMDApIHsKKwkJdHYtPnR2X3NlYysrOworCQl0di0+dHZfdXNlYyAtPSAxMDAwMDAwOworCX0KK30KKwordm9pZAordHZfc3ViKHR2LCBhLCBiKQorc3RydWN0IHRpbWV2YWwgKnR2LCAqYSwgKmI7Cit7CisJdHYtPnR2X3NlYyA9IGEtPnR2X3NlYyAtIGItPnR2X3NlYzsKKwl0di0+dHZfdXNlYyA9IGEtPnR2X3VzZWMgLSBiLT50dl91c2VjOworCWlmICgoKGxvbmcpIHR2LT50dl91c2VjKSA8IDApIHsKKwkJdHYtPnR2X3NlYy0tOworCQl0di0+dHZfdXNlYyArPSAxMDAwMDAwOworCX0KK30KKwordm9pZAordHZfZGl2KHR2LCBhLCBuKQorc3RydWN0IHRpbWV2YWwgKnR2LCAqYTsKK2ludCBuOworeworCXR2LT50dl91c2VjID0gKGEtPnR2X3NlYyAlIG4gKiAxMDAwMDAwICsgYS0+dHZfdXNlYyArIG4gLyAyKSAvIG47CisJdHYtPnR2X3NlYyA9IGEtPnR2X3NlYyAvIG4gKyB0di0+dHZfdXNlYyAvIDEwMDAwMDA7CisJdHYtPnR2X3VzZWMgJT0gMTAwMDAwMDsKK30KKwordm9pZAordHZfbXVsKHR2LCBhLCBuKQorc3RydWN0IHRpbWV2YWwgKnR2LCAqYTsKK2ludCBuOworeworCXR2LT50dl91c2VjID0gYS0+dHZfdXNlYyAqIG47CisJdHYtPnR2X3NlYyA9IGEtPnR2X3NlYyAqIG4gKyB0di0+dHZfdXNlYyAvIDEwMDAwMDA7CisJdHYtPnR2X3VzZWMgJT0gMTAwMDAwMDsKK30KKworY29uc3QgY2hhciAqCit4bG9va3VwKGNvbnN0IHN0cnVjdCB4bGF0ICp4bGF0LCBpbnQgdmFsKQoreworCWZvciAoOyB4bGF0LT5zdHIgIT0gTlVMTDsgeGxhdCsrKQorCQlpZiAoeGxhdC0+dmFsID09IHZhbCkKKwkJCXJldHVybiB4bGF0LT5zdHI7CisJcmV0dXJuIE5VTEw7Cit9CisKKy8qCisgKiBHZW5lcmljIHB0cmFjZSB3cmFwcGVyIHdoaWNoIHRyYWNrcyBFU1JDSCBlcnJvcnMKKyAqIGJ5IHNldHRpbmcgdGNwLT5wdHJhY2VfZXJybm8gdG8gRVNSQ0guCisgKgorICogV2UgYXNzdW1lIHRoYXQgRVNSQ0ggaW5kaWNhdGVzIGxpa2VseSBwcm9jZXNzIGRlYXRoIChTSUdLSUxMPyksCisgKiBtb2R1bG8gYnVncyB3aGVyZSBwcm9jZXNzIHNvbWVob3cgZW5kZWQgdXAgbm90IHN0b3BwZWQuCisgKiBVbmZvcnR1bmF0ZWx5IGtlcm5lbCB1c2VzIEVTUkNIIGZvciB0aGF0IGNhc2UgdG9vLiBPaCB3ZWxsLgorICoKKyAqIEN1cnJlbnRseSB1c2VkIGJ5IHVwZWVrKCkgb25seS4KKyAqIFRPRE86IHVzZSB0aGlzIGluIGFsbCBvdGhlciBwdHJhY2UoKSBjYWxscyB3aGlsZSBkZWNvZGluZy4KKyAqLworbG9uZworZG9fcHRyYWNlKGludCByZXF1ZXN0LCBzdHJ1Y3QgdGNiICp0Y3AsIHZvaWQgKmFkZHIsIHZvaWQgKmRhdGEpCit7CisJbG9uZyBsOworCisJZXJybm8gPSAwOworCWwgPSBwdHJhY2UocmVxdWVzdCwgdGNwLT5waWQsIGFkZHIsIChsb25nKSBkYXRhKTsKKwkvKiBOb24tRVNSQ0ggZXJyb3JzIG1pZ2h0IGJlIG91ciBpbnZhbGlkIHJlZy9tZW0gYWNjZXNzZXMsCisJICogd2UgZG8gbm90IHJlY29yZCB0aGVtLiAqLworCWlmIChlcnJubyA9PSBFU1JDSCkKKwkJdGNwLT5wdHJhY2VfZXJybm8gPSBFU1JDSDsKKwlyZXR1cm4gbDsKK30KKworLyoKKyAqIFVzZWQgd2hlbiB3ZSB3YW50IHRvIHVuYmxvY2sgc3RvcHBlZCB0cmFjZWQgcHJvY2Vzcy4KKyAqIFNob3VsZCBiZSBvbmx5IHVzZWQgd2l0aCBQVFJBQ0VfQ09OVCwgUFRSQUNFX0RFVEFDSCBhbmQgUFRSQUNFX1NZU0NBTEwuCisgKiBSZXR1cm5zIDAgb24gc3VjY2VzcyBvciBpZiBlcnJvciB3YXMgRVNSQ0gKKyAqIChwcmVzdW1hYmx5IHByb2Nlc3Mgd2FzIGtpbGxlZCB3aGlsZSB3ZSB0YWxrIHRvIGl0KS4KKyAqIE90aGVyd2lzZSBwcmludHMgZXJyb3IgbWVzc2FnZSBhbmQgcmV0dXJucyAtMS4KKyAqLworaW50CitwdHJhY2VfcmVzdGFydChpbnQgb3AsIHN0cnVjdCB0Y2IgKnRjcCwgaW50IHNpZykKK3sKKwlpbnQgZXJyOworCWNvbnN0IGNoYXIgKm1zZzsKKworCWVycm5vID0gMDsKKwlwdHJhY2Uob3AsIHRjcC0+cGlkLCAodm9pZCAqKSAxLCAobG9uZykgc2lnKTsKKwllcnIgPSBlcnJubzsKKwlpZiAoIWVyciB8fCBlcnIgPT0gRVNSQ0gpCisJCXJldHVybiAwOworCisJdGNwLT5wdHJhY2VfZXJybm8gPSBlcnI7CisJbXNnID0gIlNZU0NBTEwiOworCWlmIChvcCA9PSBQVFJBQ0VfQ09OVCkKKwkJbXNnID0gIkNPTlQiOworCWlmIChvcCA9PSBQVFJBQ0VfREVUQUNIKQorCQltc2cgPSAiREVUQUNIIjsKKwlmcHJpbnRmKHN0ZGVyciwgInN0cmFjZTogcHRyYWNlKFBUUkFDRV8lcywxLCVkKTogJXNcbiIsCisJCQltc2csIHNpZywgc3RyZXJyb3IoZXJyKSk7CisJcmV0dXJuIC0xOworfQorCisvKgorICogUHJpbnQgZW50cnkgaW4gc3RydWN0IHhsYXQgdGFibGUsIGlmIHRoZXJlLgorICovCit2b2lkCitwcmludHh2YWwoY29uc3Qgc3RydWN0IHhsYXQgKnhsYXQsIGludCB2YWwsIGNvbnN0IGNoYXIgKmRmbHQpCit7CisJY29uc3QgY2hhciAqc3RyID0geGxvb2t1cCh4bGF0LCB2YWwpOworCisJaWYgKHN0cikKKwkJdHByaW50ZigiJXMiLCBzdHIpOworCWVsc2UKKwkJdHByaW50ZigiJSN4IC8qICVzICovIiwgdmFsLCBkZmx0KTsKK30KKworI2lmIEhBVkVfTE9OR19MT05HCisvKgorICogUHJpbnQgNjRiaXQgYXJndW1lbnQgYXQgcG9zaXRpb24gbGxhcmcgYW5kIHJldHVybiB0aGUgaW5kZXggb2YgdGhlIG5leHQKKyAqIGFyZ3VtZW50LgorICovCitpbnQKK3ByaW50bGx2YWwoc3RydWN0IHRjYiAqdGNwLCBjb25zdCBjaGFyICpmb3JtYXQsIGludCBsbGFyZykKK3sKKyMgaWYgZGVmaW5lZChGUkVFQlNEKSBcCisgICAgIHx8IChkZWZpbmVkKExJTlVYKSAmJiBkZWZpbmVkKFBPV0VSUEMpICYmICFkZWZpbmVkKF9fcG93ZXJwYzY0X18pKSBcCisgICAgIHx8IGRlZmluZWQgKExJTlVYX01JUFNPMzIpCisJLyogQWxpZ24gNjRiaXQgYXJndW1lbnQgdG8gNjRiaXQgYm91bmRhcnkuICAqLworCWlmIChsbGFyZyAlIDIpIGxsYXJnKys7CisjIGVuZGlmCisjIGlmIGRlZmluZWQgTElOVVggJiYgZGVmaW5lZCBYODZfNjQKKwlpZiAoY3VycmVudF9wZXJzb25hbGl0eSA9PSAwKSB7CisJCXRwcmludGYoZm9ybWF0LCB0Y3AtPnVfYXJnW2xsYXJnXSk7CisJCWxsYXJnKys7CisJfSBlbHNlIHsKKwkJdHByaW50Zihmb3JtYXQsIExPTkdfTE9ORyh0Y3AtPnVfYXJnW2xsYXJnXSwgdGNwLT51X2FyZ1tsbGFyZyArIDFdKSk7CisJCWxsYXJnICs9IDI7CisJfQorIyBlbGlmIGRlZmluZWQgSUE2NCB8fCBkZWZpbmVkIEFMUEhBIHx8IChkZWZpbmVkIFBPV0VSUEMgJiYgZGVmaW5lZCBfX3Bvd2VycGM2NF9fKQorCXRwcmludGYoZm9ybWF0LCB0Y3AtPnVfYXJnW2xsYXJnXSk7CisJbGxhcmcrKzsKKyMgZWxpZiBkZWZpbmVkIExJTlVYX01JUFNOMzIKKwl0cHJpbnRmKGZvcm1hdCwgdGNwLT5leHRfYXJnW2xsYXJnXSk7CisJbGxhcmcrKzsKKyMgZWxzZQorCXRwcmludGYoZm9ybWF0LCBMT05HX0xPTkcodGNwLT51X2FyZ1tsbGFyZ10sIHRjcC0+dV9hcmdbbGxhcmcgKyAxXSkpOworCWxsYXJnICs9IDI7CisjIGVuZGlmCisJcmV0dXJuIGxsYXJnOworfQorI2VuZGlmCisKKy8qCisgKiBJbnRlcnByZXQgYHhsYXQnIGFzIGFuIGFycmF5IG9mIGZsYWdzCisgKiBwcmludCB0aGUgZW50cmllcyB3aG9zZSBiaXRzIGFyZSBvbiBpbiBgZmxhZ3MnCisgKiByZXR1cm4gIyBvZiBmbGFncyBwcmludGVkLgorICovCitpbnQKK2FkZGZsYWdzKHhsYXQsIGZsYWdzKQorY29uc3Qgc3RydWN0IHhsYXQgKnhsYXQ7CitpbnQgZmxhZ3M7Cit7CisJaW50IG47CisKKwlmb3IgKG4gPSAwOyB4bGF0LT5zdHI7IHhsYXQrKykgeworCQlpZiAoeGxhdC0+dmFsICYmIChmbGFncyAmIHhsYXQtPnZhbCkgPT0geGxhdC0+dmFsKSB7CisJCQl0cHJpbnRmKCJ8JXMiLCB4bGF0LT5zdHIpOworCQkJZmxhZ3MgJj0gfnhsYXQtPnZhbDsKKwkJCW4rKzsKKwkJfQorCX0KKwlpZiAoZmxhZ3MpIHsKKwkJdHByaW50ZigifCUjeCIsIGZsYWdzKTsKKwkJbisrOworCX0KKwlyZXR1cm4gbjsKK30KKworLyoKKyAqIEludGVycHJldCBgeGxhdCcgYXMgYW4gYXJyYXkgb2YgZmxhZ3MvCisgKiBQcmludCB0byBzdGF0aWMgc3RyaW5nIHRoZSBlbnRyaWVzIHdob3NlIGJpdHMgYXJlIG9uIGluIGBmbGFncycKKyAqIFJldHVybiBzdGF0aWMgc3RyaW5nLgorICovCitjb25zdCBjaGFyICoKK3NwcmludGZsYWdzKGNvbnN0IGNoYXIgKnByZWZpeCwgY29uc3Qgc3RydWN0IHhsYXQgKnhsYXQsIGludCBmbGFncykKK3sKKwlzdGF0aWMgY2hhciBvdXRzdHJbMTAyNF07CisJaW50IGZvdW5kID0gMDsKKworCXN0cmNweShvdXRzdHIsIHByZWZpeCk7CisKKwlmb3IgKDsgeGxhdC0+c3RyOyB4bGF0KyspIHsKKwkJaWYgKChmbGFncyAmIHhsYXQtPnZhbCkgPT0geGxhdC0+dmFsKSB7CisJCQlpZiAoZm91bmQpCisJCQkJc3RyY2F0KG91dHN0ciwgInwiKTsKKwkJCXN0cmNhdChvdXRzdHIsIHhsYXQtPnN0cik7CisJCQlmbGFncyAmPSB+eGxhdC0+dmFsOworCQkJZm91bmQgPSAxOworCQl9CisJfQorCWlmIChmbGFncykgeworCQlpZiAoZm91bmQpCisJCQlzdHJjYXQob3V0c3RyLCAifCIpOworCQlzcHJpbnRmKG91dHN0ciArIHN0cmxlbihvdXRzdHIpLCAiJSN4IiwgZmxhZ3MpOworCX0KKworCXJldHVybiBvdXRzdHI7Cit9CisKK2ludAorcHJpbnRmbGFncyh4bGF0LCBmbGFncywgZGZsdCkKK2NvbnN0IHN0cnVjdCB4bGF0ICp4bGF0OworaW50IGZsYWdzOworY29uc3QgY2hhciAqZGZsdDsKK3sKKwlpbnQgbjsKKwljaGFyICpzZXA7CisKKwlpZiAoZmxhZ3MgPT0gMCAmJiB4bGF0LT52YWwgPT0gMCkgeworCQl0cHJpbnRmKCIlcyIsIHhsYXQtPnN0cik7CisJCXJldHVybiAxOworCX0KKworCXNlcCA9ICIiOworCWZvciAobiA9IDA7IHhsYXQtPnN0cjsgeGxhdCsrKSB7CisJCWlmICh4bGF0LT52YWwgJiYgKGZsYWdzICYgeGxhdC0+dmFsKSA9PSB4bGF0LT52YWwpIHsKKwkJCXRwcmludGYoIiVzJXMiLCBzZXAsIHhsYXQtPnN0cik7CisJCQlmbGFncyAmPSB+eGxhdC0+dmFsOworCQkJc2VwID0gInwiOworCQkJbisrOworCQl9CisJfQorCisJaWYgKG4pIHsKKwkJaWYgKGZsYWdzKSB7CisJCQl0cHJpbnRmKCIlcyUjeCIsIHNlcCwgZmxhZ3MpOworCQkJbisrOworCQl9CisJfSBlbHNlIHsKKwkJaWYgKGZsYWdzKSB7CisJCQl0cHJpbnRmKCIlI3giLCBmbGFncyk7CisJCQlpZiAoZGZsdCkKKwkJCQl0cHJpbnRmKCIgLyogJXMgKi8iLCBkZmx0KTsKKwkJfSBlbHNlIHsKKwkJCWlmIChkZmx0KQorCQkJCXRwcmludGYoIjAiKTsKKwkJfQorCX0KKworCXJldHVybiBuOworfQorCit2b2lkCitwcmludG51bSh0Y3AsIGFkZHIsIGZtdCkKK3N0cnVjdCB0Y2IgKnRjcDsKK2xvbmcgYWRkcjsKK2NoYXIgKmZtdDsKK3sKKwlsb25nIG51bTsKKworCWlmICghYWRkcikgeworCQl0cHJpbnRmKCJOVUxMIik7CisJCXJldHVybjsKKwl9CisJaWYgKHVtb3ZlKHRjcCwgYWRkciwgJm51bSkgPCAwKSB7CisJCXRwcmludGYoIiUjbHgiLCBhZGRyKTsKKwkJcmV0dXJuOworCX0KKwl0cHJpbnRmKCJbIik7CisJdHByaW50ZihmbXQsIG51bSk7CisJdHByaW50ZigiXSIpOworfQorCit2b2lkCitwcmludG51bV9pbnQodGNwLCBhZGRyLCBmbXQpCitzdHJ1Y3QgdGNiICp0Y3A7Citsb25nIGFkZHI7CitjaGFyICpmbXQ7Cit7CisJaW50IG51bTsKKworCWlmICghYWRkcikgeworCQl0cHJpbnRmKCJOVUxMIik7CisJCXJldHVybjsKKwl9CisJaWYgKHVtb3ZlKHRjcCwgYWRkciwgJm51bSkgPCAwKSB7CisJCXRwcmludGYoIiUjbHgiLCBhZGRyKTsKKwkJcmV0dXJuOworCX0KKwl0cHJpbnRmKCJbIik7CisJdHByaW50ZihmbXQsIG51bSk7CisJdHByaW50ZigiXSIpOworfQorCit2b2lkCitwcmludHVpZCh0ZXh0LCB1aWQpCitjb25zdCBjaGFyICp0ZXh0OwordW5zaWduZWQgbG9uZyB1aWQ7Cit7CisJdHByaW50ZigiJXMiLCB0ZXh0KTsKKwl0cHJpbnRmKCh1aWQgPT0gLTEpID8gIiVsZCIgOiAiJWx1IiwgdWlkKTsKK30KKworc3RhdGljIGNoYXIgcGF0aFtNQVhQQVRITEVOICsgMV07CisKKy8qCisgKiBRdW90ZSBzdHJpbmcgYGluc3RyJyBvZiBsZW5ndGggYHNpemUnCisgKiBXcml0ZSB1cCB0byAoMyArIGBzaXplJyAqIDQpIGJ5dGVzIHRvIGBvdXRzdHInIGJ1ZmZlci4KKyAqIElmIGBsZW4nIDwgMCwgdHJlYXQgYGluc3RyJyBhcyBhIE5VTC10ZXJtaW5hdGVkIHN0cmluZworICogYW5kIHF1b3RlIGF0IG1vc3QgKGBzaXplJyAtIDEpIGJ5dGVzLgorICovCitzdGF0aWMgaW50CitzdHJpbmdfcXVvdGUoY29uc3QgY2hhciAqaW5zdHIsIGNoYXIgKm91dHN0ciwgaW50IGxlbiwgaW50IHNpemUpCit7CisJY29uc3QgdW5zaWduZWQgY2hhciAqdXN0ciA9IChjb25zdCB1bnNpZ25lZCBjaGFyICopIGluc3RyOworCWNoYXIgKnMgPSBvdXRzdHI7CisJaW50IHVzZWhleCA9IDAsIGMsIGk7CisKKwlpZiAoeGZsYWcgPiAxKQorCQl1c2VoZXggPSAxOworCWVsc2UgaWYgKHhmbGFnKSB7CisJCS8qIENoZWNrIGZvciBwcmVzZW5jZSBvZiBzeW1ib2wgd2hpY2ggcmVxdWlyZQorCQkgICB0byBoZXgtcXVvdGUgdGhlIHdob2xlIHN0cmluZy4gKi8KKwkJZm9yIChpID0gMDsgaSA8IHNpemU7ICsraSkgeworCQkJYyA9IHVzdHJbaV07CisJCQkvKiBDaGVjayBmb3IgTlVMLXRlcm1pbmF0ZWQgc3RyaW5nLiAqLworCQkJaWYgKGxlbiA8IDApIHsKKwkJCQlpZiAoYyA9PSAnXDAnKQorCQkJCQlicmVhazsKKwkJCQkvKiBRdW90ZSBhdCBtb3N0IHNpemUgLSAxIGJ5dGVzLiAqLworCQkJCWlmIChpID09IHNpemUgLSAxKQorCQkJCQljb250aW51ZTsKKwkJCX0KKwkJCWlmICghaXNwcmludChjKSAmJiAhaXNzcGFjZShjKSkgeworCQkJCXVzZWhleCA9IDE7CisJCQkJYnJlYWs7CisJCQl9CisJCX0KKwl9CisKKwkqcysrID0gJ1wiJzsKKworCWlmICh1c2VoZXgpIHsKKwkJLyogSGV4LXF1b3RlIHRoZSB3aG9sZSBzdHJpbmcuICovCisJCWZvciAoaSA9IDA7IGkgPCBzaXplOyArK2kpIHsKKwkJCWMgPSB1c3RyW2ldOworCQkJLyogQ2hlY2sgZm9yIE5VTC10ZXJtaW5hdGVkIHN0cmluZy4gKi8KKwkJCWlmIChsZW4gPCAwKSB7CisJCQkJaWYgKGMgPT0gJ1wwJykKKwkJCQkJYnJlYWs7CisJCQkJLyogUXVvdGUgYXQgbW9zdCBzaXplIC0gMSBieXRlcy4gKi8KKwkJCQlpZiAoaSA9PSBzaXplIC0gMSkKKwkJCQkJY29udGludWU7CisJCQl9CisJCQlzcHJpbnRmKHMsICJcXHglMDJ4IiwgYyk7CisJCQlzICs9IDQ7CisJCX0KKwl9IGVsc2UgeworCQlmb3IgKGkgPSAwOyBpIDwgc2l6ZTsgKytpKSB7CisJCQljID0gdXN0cltpXTsKKwkJCS8qIENoZWNrIGZvciBOVUwtdGVybWluYXRlZCBzdHJpbmcuICovCisJCQlpZiAobGVuIDwgMCkgeworCQkJCWlmIChjID09ICdcMCcpCisJCQkJCWJyZWFrOworCQkJCS8qIFF1b3RlIGF0IG1vc3Qgc2l6ZSAtIDEgYnl0ZXMuICovCisJCQkJaWYgKGkgPT0gc2l6ZSAtIDEpCisJCQkJCWNvbnRpbnVlOworCQkJfQorCQkJc3dpdGNoIChjKSB7CisJCQkJY2FzZSAnXCInOiBjYXNlICdcXCc6CisJCQkJCSpzKysgPSAnXFwnOworCQkJCQkqcysrID0gYzsKKwkJCQkJYnJlYWs7CisJCQkJY2FzZSAnXGYnOgorCQkJCQkqcysrID0gJ1xcJzsKKwkJCQkJKnMrKyA9ICdmJzsKKwkJCQkJYnJlYWs7CisJCQkJY2FzZSAnXG4nOgorCQkJCQkqcysrID0gJ1xcJzsKKwkJCQkJKnMrKyA9ICduJzsKKwkJCQkJYnJlYWs7CisJCQkJY2FzZSAnXHInOgorCQkJCQkqcysrID0gJ1xcJzsKKwkJCQkJKnMrKyA9ICdyJzsKKwkJCQkJYnJlYWs7CisJCQkJY2FzZSAnXHQnOgorCQkJCQkqcysrID0gJ1xcJzsKKwkJCQkJKnMrKyA9ICd0JzsKKwkJCQkJYnJlYWs7CisJCQkJY2FzZSAnXHYnOgorCQkJCQkqcysrID0gJ1xcJzsKKwkJCQkJKnMrKyA9ICd2JzsKKwkJCQkJYnJlYWs7CisJCQkJZGVmYXVsdDoKKwkJCQkJaWYgKGlzcHJpbnQoYykpCisJCQkJCQkqcysrID0gYzsKKwkJCQkJZWxzZSBpZiAoaSArIDEgPCBzaXplCisJCQkJCQkgJiYgaXNkaWdpdCh1c3RyW2kgKyAxXSkpIHsKKwkJCQkJCXNwcmludGYocywgIlxcJTAzbyIsIGMpOworCQkJCQkJcyArPSA0OworCQkJCQl9IGVsc2UgeworCQkJCQkJc3ByaW50ZihzLCAiXFwlbyIsIGMpOworCQkJCQkJcyArPSBzdHJsZW4ocyk7CisJCQkJCX0KKwkJCQkJYnJlYWs7CisJCQl9CisJCX0KKwl9CisKKwkqcysrID0gJ1wiJzsKKwkqcyA9ICdcMCc7CisKKwkvKiBSZXR1cm4gbm9uemVybyBpZiB0aGUgc3RyaW5nIHdhcyB1bnRlcm1pbmF0ZWQuICAqLworCXJldHVybiBpID09IHNpemU7Cit9CisKKy8qCisgKiBQcmludCBwYXRoIHN0cmluZyBzcGVjaWZpZWQgYnkgYWRkcmVzcyBgYWRkcicgYW5kIGxlbmd0aCBgbicuCisgKiBJZiBwYXRoIGxlbmd0aCBleGNlZWRzIGBuJywgYXBwZW5kIGAuLi4nIHRvIHRoZSBvdXRwdXQuCisgKi8KK3ZvaWQKK3ByaW50cGF0aG4oc3RydWN0IHRjYiAqdGNwLCBsb25nIGFkZHIsIGludCBuKQoreworCWlmICghYWRkcikgeworCQl0cHJpbnRmKCJOVUxMIik7CisJCXJldHVybjsKKwl9CisKKwkvKiBDYXAgcGF0aCBsZW5ndGggdG8gdGhlIHBhdGggYnVmZmVyIHNpemUsCisJICAgYW5kIE5VTC10ZXJtaW5hdGUgdGhlIGJ1ZmZlci4gKi8KKwlpZiAobiA+IHNpemVvZiBwYXRoIC0gMSkKKwkJbiA9IHNpemVvZiBwYXRoIC0gMTsKKwlwYXRoW25dID0gJ1wwJzsKKworCS8qIEZldGNoIG9uZSBieXRlIG1vcmUgdG8gZmluZCBvdXQgd2hldGhlciBwYXRoIGxlbmd0aCA+IG4uICovCisJaWYgKHVtb3Zlc3RyKHRjcCwgYWRkciwgbiArIDEsIHBhdGgpIDwgMCkKKwkJdHByaW50ZigiJSNseCIsIGFkZHIpOworCWVsc2UgeworCQlzdGF0aWMgY2hhciBvdXRzdHJbNCooc2l6ZW9mIHBhdGggLSAxKSArIHNpemVvZiAiXCIuLi5cIiJdOworCQlpbnQgdHJ1bmMgPSAocGF0aFtuXSAhPSAnXDAnKTsKKworCQlpZiAodHJ1bmMpCisJCQlwYXRoW25dID0gJ1wwJzsKKwkJKHZvaWQpIHN0cmluZ19xdW90ZShwYXRoLCBvdXRzdHIsIC0xLCBuICsgMSk7CisJCWlmICh0cnVuYykKKwkJCXN0cmNhdChvdXRzdHIsICIuLi4iKTsKKwkJdHByaW50ZigiJXMiLCBvdXRzdHIpOworCX0KK30KKwordm9pZAorcHJpbnRwYXRoKHN0cnVjdCB0Y2IgKnRjcCwgbG9uZyBhZGRyKQoreworCXByaW50cGF0aG4odGNwLCBhZGRyLCBzaXplb2YgcGF0aCAtIDEpOworfQorCisvKgorICogUHJpbnQgc3RyaW5nIHNwZWNpZmllZCBieSBhZGRyZXNzIGBhZGRyJyBhbmQgbGVuZ3RoIGBsZW4nLgorICogSWYgYGxlbicgPCAwLCB0cmVhdCB0aGUgc3RyaW5nIGFzIGEgTlVMLXRlcm1pbmF0ZWQgc3RyaW5nLgorICogSWYgc3RyaW5nIGxlbmd0aCBleGNlZWRzIGBtYXhfc3RybGVuJywgYXBwZW5kIGAuLi4nIHRvIHRoZSBvdXRwdXQuCisgKi8KK3ZvaWQKK3ByaW50c3RyKHN0cnVjdCB0Y2IgKnRjcCwgbG9uZyBhZGRyLCBpbnQgbGVuKQoreworCXN0YXRpYyBjaGFyICpzdHIgPSBOVUxMOworCXN0YXRpYyBjaGFyICpvdXRzdHI7CisJaW50IHNpemU7CisKKwlpZiAoIWFkZHIpIHsKKwkJdHByaW50ZigiTlVMTCIpOworCQlyZXR1cm47CisJfQorCS8qIEFsbG9jYXRlIHN0YXRpYyBidWZmZXJzIGlmIHRoZXkgYXJlIG5vdCBhbGxvY2F0ZWQgeWV0LiAqLworCWlmICghc3RyKQorCQlzdHIgPSBtYWxsb2MobWF4X3N0cmxlbiArIDEpOworCWlmICghb3V0c3RyKQorCQlvdXRzdHIgPSBtYWxsb2MoNCAqIG1heF9zdHJsZW4gKyBzaXplb2YgIlwiLi4uXCIiKTsKKwlpZiAoIXN0ciB8fCAhb3V0c3RyKSB7CisJCWZwcmludGYoc3RkZXJyLCAib3V0IG9mIG1lbW9yeVxuIik7CisJCXRwcmludGYoIiUjbHgiLCBhZGRyKTsKKwkJcmV0dXJuOworCX0KKworCWlmIChsZW4gPCAwKSB7CisJCS8qCisJCSAqIFRyZWF0IGFzIGEgTlVMLXRlcm1pbmF0ZWQgc3RyaW5nOiBmZXRjaCBvbmUgYnl0ZSBtb3JlCisJCSAqIGJlY2F1c2Ugc3RyaW5nX3F1b3RlKCkgcXVvdGVzIG9uZSBieXRlIGxlc3MuCisJCSAqLworCQlzaXplID0gbWF4X3N0cmxlbiArIDE7CisJCXN0clttYXhfc3RybGVuXSA9ICdcMCc7CisJCWlmICh1bW92ZXN0cih0Y3AsIGFkZHIsIHNpemUsIHN0cikgPCAwKSB7CisJCQl0cHJpbnRmKCIlI2x4IiwgYWRkcik7CisJCQlyZXR1cm47CisJCX0KKwl9CisJZWxzZSB7CisJCXNpemUgPSBNSU4obGVuLCBtYXhfc3RybGVuKTsKKwkJaWYgKHVtb3Zlbih0Y3AsIGFkZHIsIHNpemUsIHN0cikgPCAwKSB7CisJCQl0cHJpbnRmKCIlI2x4IiwgYWRkcik7CisJCQlyZXR1cm47CisJCX0KKwl9CisKKwlpZiAoc3RyaW5nX3F1b3RlKHN0ciwgb3V0c3RyLCBsZW4sIHNpemUpICYmCisJICAgIChsZW4gPCAwIHx8IGxlbiA+IG1heF9zdHJsZW4pKQorCQlzdHJjYXQob3V0c3RyLCAiLi4uIik7CisKKwl0cHJpbnRmKCIlcyIsIG91dHN0cik7Cit9CisKKyNpZiBIQVZFX1NZU19VSU9fSAordm9pZAorZHVtcGlvdih0Y3AsIGxlbiwgYWRkcikKK3N0cnVjdCB0Y2IgKiB0Y3A7CitpbnQgbGVuOworbG9uZyBhZGRyOworeworI2lmIGRlZmluZWQoTElOVVgpICYmIFNVUFBPUlRFRF9QRVJTT05BTElUSUVTID4gMQorCXVuaW9uIHsKKwkJc3RydWN0IHsgdV9pbnQzMl90IGJhc2U7IHVfaW50MzJfdCBsZW47IH0gKmlvdjMyOworCQlzdHJ1Y3QgeyB1X2ludDY0X3QgYmFzZTsgdV9pbnQ2NF90IGxlbjsgfSAqaW92NjQ7CisJfSBpb3Z1OworI2RlZmluZSBpb3YgaW92dS5pb3Y2NAorI2RlZmluZSBzaXplb2ZfaW92IFwKKyAgKHBlcnNvbmFsaXR5X3dvcmRzaXplW2N1cnJlbnRfcGVyc29uYWxpdHldID09IDQgXAorICAgPyBzaXplb2YoKmlvdnUuaW92MzIpIDogc2l6ZW9mKCppb3Z1LmlvdjY0KSkKKyNkZWZpbmUgaW92X2lvdl9iYXNlKGkpIFwKKyAgKHBlcnNvbmFsaXR5X3dvcmRzaXplW2N1cnJlbnRfcGVyc29uYWxpdHldID09IDQgXAorICAgPyAodV9pbnQ2NF90KSBpb3Z1LmlvdjMyW2ldLmJhc2UgOiBpb3Z1LmlvdjY0W2ldLmJhc2UpCisjZGVmaW5lIGlvdl9pb3ZfbGVuKGkpIFwKKyAgKHBlcnNvbmFsaXR5X3dvcmRzaXplW2N1cnJlbnRfcGVyc29uYWxpdHldID09IDQgXAorICAgPyAodV9pbnQ2NF90KSBpb3Z1LmlvdjMyW2ldLmxlbiA6IGlvdnUuaW92NjRbaV0ubGVuKQorI2Vsc2UKKwlzdHJ1Y3QgaW92ZWMgKmlvdjsKKyNkZWZpbmUgc2l6ZW9mX2lvdiBzaXplb2YoKmlvdikKKyNkZWZpbmUgaW92X2lvdl9iYXNlKGkpIGlvdltpXS5pb3ZfYmFzZQorI2RlZmluZSBpb3ZfaW92X2xlbihpKSBpb3ZbaV0uaW92X2xlbgorI2VuZGlmCisJaW50IGk7CisJdW5zaWduZWQgbG9uZyBzaXplOworCisJc2l6ZSA9IHNpemVvZl9pb3YgKiAodW5zaWduZWQgbG9uZykgbGVuOworCWlmIChzaXplIC8gc2l6ZW9mX2lvdiAhPSBsZW4KKwkgICAgfHwgKGlvdiA9IG1hbGxvYyhzaXplKSkgPT0gTlVMTCkgeworCQlmcHJpbnRmKHN0ZGVyciwgIm91dCBvZiBtZW1vcnlcbiIpOworCQlyZXR1cm47CisJfQorCWlmICh1bW92ZW4odGNwLCBhZGRyLCBzaXplLCAoY2hhciAqKSBpb3YpID49IDApIHsKKwkJZm9yIChpID0gMDsgaSA8IGxlbjsgaSsrKSB7CisJCQkvKiBpbmNsdWRlIHRoZSBidWZmZXIgbnVtYmVyIHRvIG1ha2UgaXQgZWFzeSB0bworCQkJICogbWF0Y2ggdXAgdGhlIHRyYWNlIHdpdGggdGhlIHNvdXJjZSAqLworCQkJdHByaW50ZigiICogJWx1IGJ5dGVzIGluIGJ1ZmZlciAlZFxuIiwKKwkJCQkodW5zaWduZWQgbG9uZylpb3ZfaW92X2xlbihpKSwgaSk7CisJCQlkdW1wc3RyKHRjcCwgKGxvbmcpIGlvdl9pb3ZfYmFzZShpKSwKKwkJCQlpb3ZfaW92X2xlbihpKSk7CisJCX0KKwl9CisJZnJlZSgoY2hhciAqKSBpb3YpOworI3VuZGVmIHNpemVvZl9pb3YKKyN1bmRlZiBpb3ZfaW92X2Jhc2UKKyN1bmRlZiBpb3ZfaW92X2xlbgorI3VuZGVmIGlvdgorfQorI2VuZGlmCisKK3ZvaWQKK2R1bXBzdHIodGNwLCBhZGRyLCBsZW4pCitzdHJ1Y3QgdGNiICp0Y3A7Citsb25nIGFkZHI7CitpbnQgbGVuOworeworCXN0YXRpYyBpbnQgc3Ryc2l6ZSA9IC0xOworCXN0YXRpYyB1bnNpZ25lZCBjaGFyICpzdHI7CisJc3RhdGljIGNoYXIgb3V0c3RyWzgwXTsKKwljaGFyICpzOworCWludCBpLCBqOworCisJaWYgKHN0cnNpemUgPCBsZW4pIHsKKwkJaWYgKHN0cikKKwkJCWZyZWUoc3RyKTsKKwkJaWYgKChzdHIgPSBtYWxsb2MobGVuKSkgPT0gTlVMTCkgeworCQkJZnByaW50ZihzdGRlcnIsICJvdXQgb2YgbWVtb3J5XG4iKTsKKwkJCXJldHVybjsKKwkJfQorCQlzdHJzaXplID0gbGVuOworCX0KKworCWlmICh1bW92ZW4odGNwLCBhZGRyLCBsZW4sIChjaGFyICopIHN0cikgPCAwKQorCQlyZXR1cm47CisKKwlmb3IgKGkgPSAwOyBpIDwgbGVuOyBpICs9IDE2KSB7CisJCXMgPSBvdXRzdHI7CisJCXNwcmludGYocywgIiB8ICUwNXggIiwgaSk7CisJCXMgKz0gOTsKKwkJZm9yIChqID0gMDsgaiA8IDE2OyBqKyspIHsKKwkJCWlmIChqID09IDgpCisJCQkJKnMrKyA9ICcgJzsKKwkJCWlmIChpICsgaiA8IGxlbikgeworCQkJCXNwcmludGYocywgIiAlMDJ4Iiwgc3RyW2kgKyBqXSk7CisJCQkJcyArPSAzOworCQkJfQorCQkJZWxzZSB7CisJCQkJKnMrKyA9ICcgJzsgKnMrKyA9ICcgJzsgKnMrKyA9ICcgJzsKKwkJCX0KKwkJfQorCQkqcysrID0gJyAnOyAqcysrID0gJyAnOworCQlmb3IgKGogPSAwOyBqIDwgMTY7IGorKykgeworCQkJaWYgKGogPT0gOCkKKwkJCQkqcysrID0gJyAnOworCQkJaWYgKGkgKyBqIDwgbGVuKSB7CisJCQkJaWYgKGlzcHJpbnQoc3RyW2kgKyBqXSkpCisJCQkJCSpzKysgPSBzdHJbaSArIGpdOworCQkJCWVsc2UKKwkJCQkJKnMrKyA9ICcuJzsKKwkJCX0KKwkJCWVsc2UKKwkJCQkqcysrID0gJyAnOworCQl9CisJCXRwcmludGYoIiVzIHxcbiIsIG91dHN0cik7CisJfQorfQorCisjZGVmaW5lIFBBR01BU0sJKH4oUEFHU0laIC0gMSkpCisvKgorICogbW92ZSBgbGVuJyBieXRlcyBvZiBkYXRhIGZyb20gcHJvY2VzcyBgcGlkJworICogYXQgYWRkcmVzcyBgYWRkcicgdG8gb3VyIHNwYWNlIGF0IGBsYWRkcicKKyAqLworaW50Cit1bW92ZW4oc3RydWN0IHRjYiAqdGNwLCBsb25nIGFkZHIsIGludCBsZW4sIGNoYXIgKmxhZGRyKQoreworI2lmZGVmIExJTlVYCisJaW50IHBpZCA9IHRjcC0+cGlkOworCWludCBuLCBtOworCWludCBzdGFydGVkID0gMDsKKwl1bmlvbiB7CisJCWxvbmcgdmFsOworCQljaGFyIHhbc2l6ZW9mKGxvbmcpXTsKKwl9IHU7CisKKwlpZiAoYWRkciAmIChzaXplb2YobG9uZykgLSAxKSkgeworCQkvKiBhZGRyIG5vdCBhIG11bHRpcGxlIG9mIHNpemVvZihsb25nKSAqLworCQluID0gYWRkciAtIChhZGRyICYgLXNpemVvZihsb25nKSk7IC8qIHJlc2lkdWUgKi8KKwkJYWRkciAmPSAtc2l6ZW9mKGxvbmcpOyAvKiByZXNpZHVlICovCisJCWVycm5vID0gMDsKKwkJdS52YWwgPSBwdHJhY2UoUFRSQUNFX1BFRUtEQVRBLCBwaWQsIChjaGFyICopIGFkZHIsIDApOworCQlpZiAoZXJybm8pIHsKKwkJCWlmIChzdGFydGVkICYmIChlcnJubz09RVBFUk0gfHwgZXJybm89PUVJTykpIHsKKwkJCQkvKiBSYW4gaW50byAnZW5kIG9mIG1lbW9yeScgLSBzdHVwaWQgInByaW50cGF0aCIgKi8KKwkJCQlyZXR1cm4gMDsKKwkJCX0KKwkJCS8qIEJ1dCBpZiBub3Qgc3RhcnRlZCwgd2UgaGFkIGEgYm9ndXMgYWRkcmVzcy4gKi8KKwkJCWlmIChhZGRyICE9IDAgJiYgZXJybm8gIT0gRUlPICYmIGVycm5vICE9IEVTUkNIKQorCQkJCXBlcnJvcigicHRyYWNlOiB1bW92ZW4iKTsKKwkJCXJldHVybiAtMTsKKwkJfQorCQlzdGFydGVkID0gMTsKKwkJbWVtY3B5KGxhZGRyLCAmdS54W25dLCBtID0gTUlOKHNpemVvZihsb25nKSAtIG4sIGxlbikpOworCQlhZGRyICs9IHNpemVvZihsb25nKSwgbGFkZHIgKz0gbSwgbGVuIC09IG07CisJfQorCXdoaWxlIChsZW4pIHsKKwkJZXJybm8gPSAwOworCQl1LnZhbCA9IHB0cmFjZShQVFJBQ0VfUEVFS0RBVEEsIHBpZCwgKGNoYXIgKikgYWRkciwgMCk7CisJCWlmIChlcnJubykgeworCQkJaWYgKHN0YXJ0ZWQgJiYgKGVycm5vPT1FUEVSTSB8fCBlcnJubz09RUlPKSkgeworCQkJCS8qIFJhbiBpbnRvICdlbmQgb2YgbWVtb3J5JyAtIHN0dXBpZCAicHJpbnRwYXRoIiAqLworCQkJCXJldHVybiAwOworCQkJfQorCQkJaWYgKGFkZHIgIT0gMCAmJiBlcnJubyAhPSBFSU8gJiYgZXJybm8gIT0gRVNSQ0gpCisJCQkJcGVycm9yKCJwdHJhY2U6IHVtb3ZlbiIpOworCQkJcmV0dXJuIC0xOworCQl9CisJCXN0YXJ0ZWQgPSAxOworCQltZW1jcHkobGFkZHIsIHUueCwgbSA9IE1JTihzaXplb2YobG9uZyksIGxlbikpOworCQlhZGRyICs9IHNpemVvZihsb25nKSwgbGFkZHIgKz0gbSwgbGVuIC09IG07CisJfQorI2VuZGlmIC8qIExJTlVYICovCisKKyNpZmRlZiBTVU5PUzQKKwlpbnQgcGlkID0gdGNwLT5waWQ7CisJaW50IG47CisKKwl3aGlsZSAobGVuKSB7CisJCW4gPSBNSU4obGVuLCBQQUdTSVopOworCQluID0gTUlOKG4sICgoYWRkciArIFBBR1NJWikgJiBQQUdNQVNLKSAtIGFkZHIpOworCQlpZiAocHRyYWNlKFBUUkFDRV9SRUFEREFUQSwgcGlkLAorCQkJICAgKGNoYXIgKikgYWRkciwgbGVuLCBsYWRkcikgPCAwKSB7CisJCQlpZiAoZXJybm8gIT0gRVNSQ0gpIHsKKwkJCQlwZXJyb3IoInVtb3ZlbjogcHRyYWNlKFBUUkFDRV9SRUFEREFUQSwgLi4uKSIpOworCQkJCWFib3J0KCk7CisJCQl9CisJCQlyZXR1cm4gLTE7CisJCX0KKwkJbGVuIC09IG47CisJCWFkZHIgKz0gbjsKKwkJbGFkZHIgKz0gbjsKKwl9CisjZW5kaWYgLyogU1VOT1M0ICovCisKKyNpZmRlZiBVU0VfUFJPQ0ZTCisjaWZkZWYgSEFWRV9NUF9QUk9DRlMKKwlpbnQgZmQgPSB0Y3AtPnBmZF9hczsKKyNlbHNlCisJaW50IGZkID0gdGNwLT5wZmQ7CisjZW5kaWYKKwlsc2VlayhmZCwgYWRkciwgU0VFS19TRVQpOworCWlmIChyZWFkKGZkLCBsYWRkciwgbGVuKSA9PSAtMSkKKwkJcmV0dXJuIC0xOworI2VuZGlmIC8qIFVTRV9QUk9DRlMgKi8KKworCXJldHVybiAwOworfQorCisvKgorICogbGlrZSBgdW1vdmUnIGJ1dCBtYWtlIHRoZSBhZGRpdGlvbmFsIGVmZm9ydCBvZiBsb29raW5nCisgKiBmb3IgYSB0ZXJtaW5hdGluZyB6ZXJvIGJ5dGUuCisgKi8KK2ludAordW1vdmVzdHIoc3RydWN0IHRjYiAqdGNwLCBsb25nIGFkZHIsIGludCBsZW4sIGNoYXIgKmxhZGRyKQoreworI2lmZGVmIFVTRV9QUk9DRlMKKyNpZmRlZiBIQVZFX01QX1BST0NGUworCWludCBmZCA9IHRjcC0+cGZkX2FzOworI2Vsc2UKKwlpbnQgZmQgPSB0Y3AtPnBmZDsKKyNlbmRpZgorCS8qIFNvbWUgc3lzdGVtcyAoZS5nLiBGcmVlQlNEKSBjYW4gYmUgdXBzZXQgaWYgd2UgcmVhZCBvZmYgdGhlCisJICAgZW5kIG9mIHZhbGlkIG1lbW9yeSwgIGF2b2lkIHRoaXMgYnkgdHJ5aW5nIHRvIHJlYWQgdXAKKwkgICB0byBwYWdlIGJvdW5kYXJpZXMuICBCdXQgd2UgZG9uJ3Qga25vdyB3aGF0IGEgcGFnZSBpcyAoYW5kCisJICAgZ2V0cGFnZXNpemUoMikgKGlmIGl0IGV4aXN0cykgZG9lc24ndCBuZWNlc3NhcmlseSByZXR1cm4KKwkgICBoYXJkd2FyZSBwYWdlIHNpemUpLiAgQXNzdW1lIGFsbCBwYWdlcyA+PSAxMDI0IChhLWhpc3RvcmljYWwKKwkgICBJIGtub3cpICovCisKKwlpbnQgcGFnZSA9IDEwMjQ7IAkvKiBIb3cgdG8gZmluZCB0aGlzPyAqLworCWludCBtb3ZlID0gcGFnZSAtIChhZGRyICYgKHBhZ2UgLSAxKSk7CisJaW50IGxlZnQgPSBsZW47CisKKwlsc2VlayhmZCwgYWRkciwgU0VFS19TRVQpOworCisJd2hpbGUgKGxlZnQpIHsKKwkJaWYgKG1vdmUgPiBsZWZ0KSBtb3ZlID0gbGVmdDsKKwkJaWYgKChtb3ZlID0gcmVhZChmZCwgbGFkZHIsIG1vdmUpKSA8PSAwKQorCQkJcmV0dXJuIGxlZnQgIT0gbGVuID8gMCA6IC0xOworCQlpZiAobWVtY2hyIChsYWRkciwgMCwgbW92ZSkpIGJyZWFrOworCQlsZWZ0IC09IG1vdmU7CisJCWxhZGRyICs9IG1vdmU7CisJCWFkZHIgKz0gbW92ZTsKKwkJbW92ZSA9IHBhZ2U7CisJfQorI2Vsc2UgLyogIVVTRV9QUk9DRlMgKi8KKwlpbnQgc3RhcnRlZCA9IDA7CisJaW50IHBpZCA9IHRjcC0+cGlkOworCWludCBpLCBuLCBtOworCXVuaW9uIHsKKwkJbG9uZyB2YWw7CisJCWNoYXIgeFtzaXplb2YobG9uZyldOworCX0gdTsKKworCWlmIChhZGRyICYgKHNpemVvZihsb25nKSAtIDEpKSB7CisJCS8qIGFkZHIgbm90IGEgbXVsdGlwbGUgb2Ygc2l6ZW9mKGxvbmcpICovCisJCW4gPSBhZGRyIC0gKGFkZHIgJiAtc2l6ZW9mKGxvbmcpKTsgLyogcmVzaWR1ZSAqLworCQlhZGRyICY9IC1zaXplb2YobG9uZyk7IC8qIHJlc2lkdWUgKi8KKwkJZXJybm8gPSAwOworCQl1LnZhbCA9IHB0cmFjZShQVFJBQ0VfUEVFS0RBVEEsIHBpZCwgKGNoYXIgKilhZGRyLCAwKTsKKwkJaWYgKGVycm5vKSB7CisJCQlpZiAoc3RhcnRlZCAmJiAoZXJybm89PUVQRVJNIHx8IGVycm5vPT1FSU8pKSB7CisJCQkJLyogUmFuIGludG8gJ2VuZCBvZiBtZW1vcnknIC0gc3R1cGlkICJwcmludHBhdGgiICovCisJCQkJcmV0dXJuIDA7CisJCQl9CisJCQlpZiAoYWRkciAhPSAwICYmIGVycm5vICE9IEVJTyAmJiBlcnJubyAhPSBFU1JDSCkKKwkJCQlwZXJyb3IoInVtb3Zlc3RyIik7CisJCQlyZXR1cm4gLTE7CisJCX0KKwkJc3RhcnRlZCA9IDE7CisJCW1lbWNweShsYWRkciwgJnUueFtuXSwgbSA9IE1JTihzaXplb2YobG9uZyktbixsZW4pKTsKKwkJd2hpbGUgKG4gJiAoc2l6ZW9mKGxvbmcpIC0gMSkpCisJCQlpZiAodS54W24rK10gPT0gJ1wwJykKKwkJCQlyZXR1cm4gMDsKKwkJYWRkciArPSBzaXplb2YobG9uZyksIGxhZGRyICs9IG0sIGxlbiAtPSBtOworCX0KKwl3aGlsZSAobGVuKSB7CisJCWVycm5vID0gMDsKKwkJdS52YWwgPSBwdHJhY2UoUFRSQUNFX1BFRUtEQVRBLCBwaWQsIChjaGFyICopYWRkciwgMCk7CisJCWlmIChlcnJubykgeworCQkJaWYgKHN0YXJ0ZWQgJiYgKGVycm5vPT1FUEVSTSB8fCBlcnJubz09RUlPKSkgeworCQkJCS8qIFJhbiBpbnRvICdlbmQgb2YgbWVtb3J5JyAtIHN0dXBpZCAicHJpbnRwYXRoIiAqLworCQkJCXJldHVybiAwOworCQkJfQorCQkJaWYgKGFkZHIgIT0gMCAmJiBlcnJubyAhPSBFSU8gJiYgZXJybm8gIT0gRVNSQ0gpCisJCQkJcGVycm9yKCJ1bW92ZXN0ciIpOworCQkJcmV0dXJuIC0xOworCQl9CisJCXN0YXJ0ZWQgPSAxOworCQltZW1jcHkobGFkZHIsIHUueCwgbSA9IE1JTihzaXplb2YobG9uZyksIGxlbikpOworCQlmb3IgKGkgPSAwOyBpIDwgc2l6ZW9mKGxvbmcpOyBpKyspCisJCQlpZiAodS54W2ldID09ICdcMCcpCisJCQkJcmV0dXJuIDA7CisKKwkJYWRkciArPSBzaXplb2YobG9uZyksIGxhZGRyICs9IG0sIGxlbiAtPSBtOworCX0KKyNlbmRpZiAvKiAhVVNFX1BST0NGUyAqLworCXJldHVybiAwOworfQorCisjaWZkZWYgTElOVVgKKyMgaWYgIWRlZmluZWQgKFNQQVJDKSAmJiAhZGVmaW5lZChTUEFSQzY0KQorIyAgZGVmaW5lIFBUUkFDRV9XUklURVRFWFQJMTAxCisjICBkZWZpbmUgUFRSQUNFX1dSSVRFREFUQQkxMDIKKyMgZW5kaWYgLyogIVNQQVJDICYmICFTUEFSQzY0ICovCisjZW5kaWYgLyogTElOVVggKi8KKworI2lmZGVmIFNVTk9TNAorCitzdGF0aWMgaW50Cit1bG9hZChjbWQsIHBpZCwgYWRkciwgbGVuLCBsYWRkcikKK2ludCBjbWQ7CitpbnQgcGlkOworbG9uZyBhZGRyOworaW50IGxlbjsKK2NoYXIgKmxhZGRyOworeworCWludCBwZWVrLCBwb2tlOworCWludCBuLCBtOworCXVuaW9uIHsKKwkJbG9uZyB2YWw7CisJCWNoYXIgeFtzaXplb2YobG9uZyldOworCX0gdTsKKworCWlmIChjbWQgPT0gUFRSQUNFX1dSSVRFVEVYVCkgeworCQlwZWVrID0gUFRSQUNFX1BFRUtURVhUOworCQlwb2tlID0gUFRSQUNFX1BPS0VURVhUOworCX0KKwllbHNlIHsKKwkJcGVlayA9IFBUUkFDRV9QRUVLREFUQTsKKwkJcG9rZSA9IFBUUkFDRV9QT0tFREFUQTsKKwl9CisJaWYgKGFkZHIgJiAoc2l6ZW9mKGxvbmcpIC0gMSkpIHsKKwkJLyogYWRkciBub3QgYSBtdWx0aXBsZSBvZiBzaXplb2YobG9uZykgKi8KKwkJbiA9IGFkZHIgLSAoYWRkciAmIC1zaXplb2YobG9uZykpOyAvKiByZXNpZHVlICovCisJCWFkZHIgJj0gLXNpemVvZihsb25nKTsKKwkJZXJybm8gPSAwOworCQl1LnZhbCA9IHB0cmFjZShwZWVrLCBwaWQsIChjaGFyICopIGFkZHIsIDApOworCQlpZiAoZXJybm8pIHsKKwkJCXBlcnJvcigidWxvYWQ6IFBPS0UiKTsKKwkJCXJldHVybiAtMTsKKwkJfQorCQltZW1jcHkoJnUueFtuXSwgbGFkZHIsIG0gPSBNSU4oc2l6ZW9mKGxvbmcpIC0gbiwgbGVuKSk7CisJCWlmIChwdHJhY2UocG9rZSwgcGlkLCAoY2hhciAqKWFkZHIsIHUudmFsKSA8IDApIHsKKwkJCXBlcnJvcigidWxvYWQ6IFBPS0UiKTsKKwkJCXJldHVybiAtMTsKKwkJfQorCQlhZGRyICs9IHNpemVvZihsb25nKSwgbGFkZHIgKz0gbSwgbGVuIC09IG07CisJfQorCXdoaWxlIChsZW4pIHsKKwkJaWYgKGxlbiA8IHNpemVvZihsb25nKSkKKwkJCXUudmFsID0gcHRyYWNlKHBlZWssIHBpZCwgKGNoYXIgKikgYWRkciwgMCk7CisJCW1lbWNweSh1LngsIGxhZGRyLCBtID0gTUlOKHNpemVvZihsb25nKSwgbGVuKSk7CisJCWlmIChwdHJhY2UocG9rZSwgcGlkLCAoY2hhciAqKSBhZGRyLCB1LnZhbCkgPCAwKSB7CisJCQlwZXJyb3IoInVsb2FkOiBQT0tFIik7CisJCQlyZXR1cm4gLTE7CisJCX0KKwkJYWRkciArPSBzaXplb2YobG9uZyksIGxhZGRyICs9IG0sIGxlbiAtPSBtOworCX0KKwlyZXR1cm4gMDsKK30KKworaW50Cit0bG9hZChwaWQsIGFkZHIsIGxlbiwgbGFkZHIpCitpbnQgcGlkOworaW50IGFkZHIsIGxlbjsKK2NoYXIgKmxhZGRyOworeworCXJldHVybiB1bG9hZChQVFJBQ0VfV1JJVEVURVhULCBwaWQsIGFkZHIsIGxlbiwgbGFkZHIpOworfQorCitpbnQKK2Rsb2FkKHBpZCwgYWRkciwgbGVuLCBsYWRkcikKK2ludCBwaWQ7CitpbnQgYWRkcjsKK2ludCBsZW47CitjaGFyICpsYWRkcjsKK3sKKwlyZXR1cm4gdWxvYWQoUFRSQUNFX1dSSVRFREFUQSwgcGlkLCBhZGRyLCBsZW4sIGxhZGRyKTsKK30KKworI2VuZGlmIC8qIFNVTk9TNCAqLworCisjaWZuZGVmIFVTRV9QUk9DRlMKKworaW50Cit1cGVlayh0Y3AsIG9mZiwgcmVzKQorc3RydWN0IHRjYiAqdGNwOworbG9uZyBvZmY7Citsb25nICpyZXM7Cit7CisJbG9uZyB2YWw7CisKKyMgaWZkZWYgU1VOT1M0X0tFUk5FTF9BUkNIX0tMVURHRQorCXsKKwkJc3RhdGljIGludCBpc19zdW40bSA9IC0xOworCQlzdHJ1Y3QgdXRzbmFtZSBuYW1lOworCisJCS8qIFJvdW5kIHVwIHRoZSB1c3VhbCBzdXNwZWN0cy4gKi8KKwkJaWYgKGlzX3N1bjRtID09IC0xKSB7CisJCQlpZiAodW5hbWUoJm5hbWUpIDwgMCkgeworCQkJCXBlcnJvcigidXBlZWs6IHVuYW1lPyIpOworCQkJCWV4aXQoMSk7CisJCQl9CisJCQlpc19zdW40bSA9IHN0cmNtcChuYW1lLm1hY2hpbmUsICJzdW40bSIpID09IDA7CisJCQlpZiAoaXNfc3VuNG0pIHsKKwkJCQljb25zdCBzdHJ1Y3QgeGxhdCAqeDsKKworCQkJCWZvciAoeCA9IHN0cnVjdF91c2VyX29mZnNldHM7IHgtPnN0cjsgeCsrKQorCQkJCQl4LT52YWwgKz0gMTAyNDsKKwkJCX0KKwkJfQorCQlpZiAoaXNfc3VuNG0pCisJCQlvZmYgKz0gMTAyNDsKKwl9CisjIGVuZGlmIC8qIFNVTk9TNF9LRVJORUxfQVJDSF9LTFVER0UgKi8KKwllcnJubyA9IDA7CisJdmFsID0gZG9fcHRyYWNlKFBUUkFDRV9QRUVLVVNFUiwgdGNwLCAoY2hhciAqKSBvZmYsIDApOworCWlmICh2YWwgPT0gLTEgJiYgZXJybm8pIHsKKwkJaWYgKGVycm5vICE9IEVTUkNIKSB7CisJCQljaGFyIGJ1Zls2MF07CisJCQlzcHJpbnRmKGJ1ZiwidXBlZWs6IHB0cmFjZShQVFJBQ0VfUEVFS1VTRVIsJWQsJWx1LDApIiwgdGNwLT5waWQsIG9mZik7CisJCQlwZXJyb3IoYnVmKTsKKwkJfQorCQlyZXR1cm4gLTE7CisJfQorCSpyZXMgPSB2YWw7CisJcmV0dXJuIDA7Cit9CisKKyNlbmRpZiAvKiAhVVNFX1BST0NGUyAqLworCit2b2lkCitwcmludGNhbGwoc3RydWN0IHRjYiAqdGNwKQoreworI2RlZmluZSBQUklOVEJBRFBDIHRwcmludGYoc2l6ZW9mKGxvbmcpID09IDQgPyAiWz8/Pz8/Pz8/XSAiIDogXAorCQkJICAgc2l6ZW9mKGxvbmcpID09IDggPyAiWz8/Pz8/Pz8/Pz8/Pz8/Pz9dICIgOiBcCisJCQkgICBOVUxMIC8qIGNyYXNoICovKQorCisjaWZkZWYgTElOVVgKKyMgaWZkZWYgSTM4NgorCWxvbmcgZWlwOworCisJaWYgKHVwZWVrKHRjcCwgNCpFSVAsICZlaXApIDwgMCkgeworCQlQUklOVEJBRFBDOworCQlyZXR1cm47CisJfQorCXRwcmludGYoIlslMDhseF0gIiwgZWlwKTsKKworIyBlbGlmIGRlZmluZWQoUzM5MCkgfHwgZGVmaW5lZChTMzkwWCkKKwlsb25nIHBzdzsKKwlpZih1cGVlayh0Y3AsUFRfUFNXQUREUiwmcHN3KSA8IDApIHsKKwkJUFJJTlRCQURQQzsKKwkJcmV0dXJuOworCX0KKyMgIGlmZGVmIFMzOTAKKwl0cHJpbnRmKCJbJTA4bHhdICIsIHBzdyk7CisjICBlbGlmIFMzOTBYCisJdHByaW50ZigiWyUxNmx4XSAiLCBwc3cpOworIyAgZW5kaWYKKworIyBlbGlmIGRlZmluZWQoWDg2XzY0KQorCWxvbmcgcmlwOworCisJaWYgKHVwZWVrKHRjcCwgOCpSSVAsICZyaXApIDwgMCkgeworCQlQUklOVEJBRFBDOworCQlyZXR1cm47CisJfQorCXRwcmludGYoIlslMTZseF0gIiwgcmlwKTsKKyMgZWxpZiBkZWZpbmVkKElBNjQpCisJbG9uZyBpcDsKKworCWlmICh1cGVlayh0Y3AsIFBUX0IwLCAmaXApIDwgMCkgeworCQlQUklOVEJBRFBDOworCQlyZXR1cm47CisJfQorCXRwcmludGYoIlslMDhseF0gIiwgaXApOworIyBlbGlmIGRlZmluZWQoUE9XRVJQQykKKwlsb25nIHBjOworCisJaWYgKHVwZWVrKHRjcCwgc2l6ZW9mKHVuc2lnbmVkIGxvbmcpKlBUX05JUCwgJnBjKSA8IDApIHsKKwkJdHByaW50ZiAoIls/Pz8/Pz8/P10gIik7CisJCXJldHVybjsKKwl9CisJdHByaW50ZigiWyUwOGx4XSAiLCBwYyk7CisjIGVsaWYgZGVmaW5lZChNNjhLKQorCWxvbmcgcGM7CisKKwlpZiAodXBlZWsodGNwLCA0KlBUX1BDLCAmcGMpIDwgMCkgeworCQl0cHJpbnRmICgiWz8/Pz8/Pz8/XSAiKTsKKwkJcmV0dXJuOworCX0KKwl0cHJpbnRmKCJbJTA4bHhdICIsIHBjKTsKKyMgZWxpZiBkZWZpbmVkKEFMUEhBKQorCWxvbmcgcGM7CisKKwlpZiAodXBlZWsodGNwLCBSRUdfUEMsICZwYykgPCAwKSB7CisJCXRwcmludGYgKCJbPz8/Pz8/Pz8/Pz8/Pz8/P10gIik7CisJCXJldHVybjsKKwl9CisJdHByaW50ZigiWyUwOGx4XSAiLCBwYyk7CisjIGVsaWYgZGVmaW5lZChTUEFSQykgfHwgZGVmaW5lZChTUEFSQzY0KQorCXN0cnVjdCBwdF9yZWdzIHJlZ3M7CisJaWYgKHB0cmFjZShQVFJBQ0VfR0VUUkVHUyx0Y3AtPnBpZCwoY2hhciAqKSZyZWdzLDApIDwgMCkgeworCQlQUklOVEJBRFBDOworCQlyZXR1cm47CisJfQorIyAgaWYgZGVmaW5lZChTUEFSQzY0KQorCXRwcmludGYoIlslMDhseF0gIiwgcmVncy50cGMpOworIyAgZWxzZQorCXRwcmludGYoIlslMDhseF0gIiwgcmVncy5wYyk7CisjICBlbmRpZgorIyBlbGlmIGRlZmluZWQoSFBQQSkKKwlsb25nIHBjOworCisJaWYodXBlZWsodGNwLFBUX0lBT1EwLCZwYykgPCAwKSB7CisJCXRwcmludGYgKCJbPz8/Pz8/Pz9dICIpOworCQlyZXR1cm47CisJfQorCXRwcmludGYoIlslMDhseF0gIiwgcGMpOworIyBlbGlmIGRlZmluZWQoTUlQUykKKwlsb25nIHBjOworCisJaWYgKHVwZWVrKHRjcCwgUkVHX0VQQywgJnBjKSA8IDApIHsKKwkJdHByaW50ZiAoIls/Pz8/Pz8/P10gIik7CisJCXJldHVybjsKKwl9CisJdHByaW50ZigiWyUwOGx4XSAiLCBwYyk7CisjIGVsaWYgZGVmaW5lZChTSCkKKwlsb25nIHBjOworCisJaWYgKHVwZWVrKHRjcCwgNCpSRUdfUEMsICZwYykgPCAwKSB7CisJCXRwcmludGYgKCJbPz8/Pz8/Pz9dICIpOworCQlyZXR1cm47CisJfQorCXRwcmludGYoIlslMDhseF0gIiwgcGMpOworIyBlbGlmIGRlZmluZWQoU0g2NCkKKwlsb25nIHBjOworCisJaWYgKHVwZWVrKHRjcCwgUkVHX1BDLCAmcGMpIDwgMCkgeworCQl0cHJpbnRmICgiWz8/Pz8/Pz8/Pz8/Pz8/Pz9dICIpOworCQlyZXR1cm47CisJfQorCXRwcmludGYoIlslMDhseF0gIiwgcGMpOworIyBlbGlmIGRlZmluZWQoQVJNKQorCWxvbmcgcGM7CisKKwlpZiAodXBlZWsodGNwLCA0KjE1LCAmcGMpIDwgMCkgeworCQlQUklOVEJBRFBDOworCQlyZXR1cm47CisJfQorCXRwcmludGYoIlslMDhseF0gIiwgcGMpOworIyBlbGlmIGRlZmluZWQoQVZSMzIpCisJbG9uZyBwYzsKKworCWlmICh1cGVlayh0Y3AsIFJFR19QQywgJnBjKSA8IDApIHsKKwkJdHByaW50ZigiWz8/Pz8/Pz8/XSAiKTsKKwkJcmV0dXJuOworCX0KKwl0cHJpbnRmKCJbJTA4bHhdICIsIHBjKTsKKyMgZWxpZiBkZWZpbmVkKEJGSU4pCisJbG9uZyBwYzsKKworCWlmICh1cGVlayh0Y3AsIFBUX1BDLCAmcGMpIDwgMCkgeworCQlQUklOVEJBRFBDOworCQlyZXR1cm47CisJfQorCXRwcmludGYoIlslMDhseF0gIiwgcGMpOworI2VsaWYgZGVmaW5lZChDUklTVjEwKQorCWxvbmcgcGM7CisKKwlpZiAodXBlZWsodGNwLCA0KlBUX0lSUCwgJnBjKSA8IDApIHsKKwkJUFJJTlRCQURQQzsKKwkJcmV0dXJuOworCX0KKwl0cHJpbnRmKCJbJTA4bHhdICIsIHBjKTsKKyNlbGlmIGRlZmluZWQoQ1JJU1YzMikKKwlsb25nIHBjOworCisJaWYgKHVwZWVrKHRjcCwgNCpQVF9FUlAsICZwYykgPCAwKSB7CisJCVBSSU5UQkFEUEM7CisJCXJldHVybjsKKwl9CisJdHByaW50ZigiWyUwOGx4XSAiLCBwYyk7CisjIGVuZGlmIC8qIGFyY2hpdGVjdHVyZSAqLworI2VuZGlmIC8qIExJTlVYICovCisKKyNpZmRlZiBTVU5PUzQKKwlzdHJ1Y3QgcmVncyByZWdzOworCisJaWYgKHB0cmFjZShQVFJBQ0VfR0VUUkVHUywgdGNwLT5waWQsIChjaGFyICopICZyZWdzLCAwKSA8IDApIHsKKwkJcGVycm9yKCJwcmludGNhbGw6IHB0cmFjZShQVFJBQ0VfR0VUUkVHUywgLi4uKSIpOworCQlQUklOVEJBRFBDOworCQlyZXR1cm47CisJfQorCXRwcmludGYoIlslMDh4XSAiLCByZWdzLnJfbzcpOworI2VuZGlmIC8qIFNVTk9TNCAqLworCisjaWZkZWYgU1ZSNAorCS8qIFhYWCAqLworCVBSSU5UQkFEUEM7CisjZW5kaWYKKworI2lmZGVmIEZSRUVCU0QKKwlzdHJ1Y3QgcmVnIHJlZ3M7CisJcHJlYWQodGNwLT5wZmRfcmVnLCAmcmVncywgc2l6ZW9mKHJlZ3MpLCAwKTsKKwl0cHJpbnRmKCJbJTA4eF0gIiwgcmVncy5yX2VpcCk7CisjZW5kaWYgLyogRlJFRUJTRCAqLworfQorCisKKy8qCisgKiBUaGVzZSAjaWYncyBhcmUgaHVnZSwgcGxlYXNlIGluZGVudCB0aGVtIGNvcnJlY3RseS4KKyAqIEl0J3MgZWFzeSB0byBnZXQgY29uZnVzZWQgb3RoZXJ3aXNlLgorICovCisjaWZuZGVmIFVTRV9QUk9DRlMKKworI2lmZGVmIExJTlVYCisKKyMgIGluY2x1ZGUgInN5c2NhbGwuaCIKKworIyAgaW5jbHVkZSA8c3lzL3N5c2NhbGwuaD4KKyMgIGlmbmRlZiBDTE9ORV9QVFJBQ0UKKyMgICBkZWZpbmUgQ0xPTkVfUFRSQUNFICAgIDB4MDAwMDIwMDAKKyMgIGVuZGlmCisjICBpZm5kZWYgQ0xPTkVfVkZPUksKKyMgICBkZWZpbmUgQ0xPTkVfVkZPUksgICAgIDB4MDAwMDQwMDAKKyMgIGVuZGlmCisjICBpZm5kZWYgQ0xPTkVfVk0KKyMgICBkZWZpbmUgQ0xPTkVfVk0gICAgICAgIDB4MDAwMDAxMDAKKyMgIGVuZGlmCisjICBpZm5kZWYgQ0xPTkVfU1RPUFBFRAorIyAgIGRlZmluZSBDTE9ORV9TVE9QUEVEICAgMHgwMjAwMDAwMAorIyAgZW5kaWYKKworIyAgaWZkZWYgSUE2NAorCisvKiBXZSBkb24ndCBoYXZlIGZvcmsoKS92Zm9yaygpIHN5c2NhbGxzIG9uIGlhNjQgaXRzZWxmLCBidXQgdGhlIGlhMzIKKyAgIHN1YnN5c3RlbSBoYXMgdGhlbSBmb3IgeDg2Li4uICovCisjICAgZGVmaW5lIFNZU19mb3JrCTIKKyMgICBkZWZpbmUgU1lTX3Zmb3JrCTE5MAorCit0eXBlZGVmIHVuc2lnbmVkIGxvbmcgKmFyZ19zZXR1cF9zdGF0ZTsKKworc3RhdGljIGludAorYXJnX3NldHVwKHN0cnVjdCB0Y2IgKnRjcCwgYXJnX3NldHVwX3N0YXRlICpzdGF0ZSkKK3sKKwl1bnNpZ25lZCBsb25nIGNmbSwgc29mLCBzb2w7CisJbG9uZyBic3A7CisKKwlpZiAoaWEzMikgeworCQkvKiBTYXRpc2Z5IGEgZmFsc2UgR0NDIHdhcm5pbmcuICAqLworCQkqc3RhdGUgPSBOVUxMOworCQlyZXR1cm4gMDsKKwl9CisKKwlpZiAodXBlZWsodGNwLCBQVF9BUl9CU1AsICZic3ApIDwgMCkKKwkJcmV0dXJuIC0xOworCWlmICh1cGVlayh0Y3AsIFBUX0NGTSwgKGxvbmcgKikgJmNmbSkgPCAwKQorCQlyZXR1cm4gLTE7CisKKwlzb2YgPSAoY2ZtID4+IDApICYgMHg3ZjsKKwlzb2wgPSAoY2ZtID4+IDcpICYgMHg3ZjsKKwlic3AgPSAobG9uZykgaWE2NF9yc2Vfc2tpcF9yZWdzKCh1bnNpZ25lZCBsb25nICopIGJzcCwgLXNvZiArIHNvbCk7CisKKwkqc3RhdGUgPSAodW5zaWduZWQgbG9uZyAqKSBic3A7CisJcmV0dXJuIDA7Cit9CisKKyMgICBkZWZpbmUgYXJnX2ZpbmlzaF9jaGFuZ2UodGNwLCBzdGF0ZSkJMAorCisjICAgaWZkZWYgU1lTX2ZvcmsKK3N0YXRpYyBpbnQKK2dldF9hcmcwIChzdHJ1Y3QgdGNiICp0Y3AsIGFyZ19zZXR1cF9zdGF0ZSAqc3RhdGUsIGxvbmcgKnZhbHApCit7CisJaW50IHJldDsKKworCWlmIChpYTMyKQorCQlyZXQgPSB1cGVlayAodGNwLCBQVF9SMTEsIHZhbHApOworCWVsc2UKKwkJcmV0ID0gdW1vdmVuICh0Y3AsCisJCQkgICAgICAodW5zaWduZWQgbG9uZykgaWE2NF9yc2Vfc2tpcF9yZWdzKCpzdGF0ZSwgMCksCisJCQkgICAgICBzaXplb2YobG9uZyksICh2b2lkICopIHZhbHApOworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQKK2dldF9hcmcxIChzdHJ1Y3QgdGNiICp0Y3AsIGFyZ19zZXR1cF9zdGF0ZSAqc3RhdGUsIGxvbmcgKnZhbHApCit7CisJaW50IHJldDsKKworCWlmIChpYTMyKQorCQlyZXQgPSB1cGVlayAodGNwLCBQVF9SOSwgdmFscCk7CisJZWxzZQorCQlyZXQgPSB1bW92ZW4gKHRjcCwKKwkJCSAgICAgICh1bnNpZ25lZCBsb25nKSBpYTY0X3JzZV9za2lwX3JlZ3MoKnN0YXRlLCAxKSwKKwkJCSAgICAgIHNpemVvZihsb25nKSwgKHZvaWQgKikgdmFscCk7CisJcmV0dXJuIHJldDsKK30KKyMgICBlbmRpZgorCitzdGF0aWMgaW50CitzZXRfYXJnMCAoc3RydWN0IHRjYiAqdGNwLCBhcmdfc2V0dXBfc3RhdGUgKnN0YXRlLCBsb25nIHZhbCkKK3sKKwlpbnQgcmVxID0gUFRSQUNFX1BPS0VEQVRBOworCXZvaWQgKmFwOworCisJaWYgKGlhMzIpIHsKKwkJYXAgPSAodm9pZCAqKSAoaW50cHRyX3QpIFBUX1IxMTsJIC8qIHIxMSA9PSBFQlggKi8KKwkJcmVxID0gUFRSQUNFX1BPS0VVU0VSOworCX0gZWxzZQorCQlhcCA9IGlhNjRfcnNlX3NraXBfcmVncygqc3RhdGUsIDApOworCWVycm5vID0gMDsKKwlwdHJhY2UocmVxLCB0Y3AtPnBpZCwgYXAsIHZhbCk7CisJcmV0dXJuIGVycm5vID8gLTEgOiAwOworfQorCitzdGF0aWMgaW50CitzZXRfYXJnMSAoc3RydWN0IHRjYiAqdGNwLCBhcmdfc2V0dXBfc3RhdGUgKnN0YXRlLCBsb25nIHZhbCkKK3sKKwlpbnQgcmVxID0gUFRSQUNFX1BPS0VEQVRBOworCXZvaWQgKmFwOworCisJaWYgKGlhMzIpIHsKKwkJYXAgPSAodm9pZCAqKSAoaW50cHRyX3QpIFBUX1I5OwkJLyogcjkgPT0gRUNYICovCisJCXJlcSA9IFBUUkFDRV9QT0tFVVNFUjsKKwl9IGVsc2UKKwkJYXAgPSBpYTY0X3JzZV9za2lwX3JlZ3MoKnN0YXRlLCAxKTsKKwllcnJubyA9IDA7CisJcHRyYWNlKHJlcSwgdGNwLT5waWQsIGFwLCB2YWwpOworCXJldHVybiBlcnJubyA/IC0xIDogMDsKK30KKworLyogaWE2NCBkb2VzIG5vdCByZXR1cm4gdGhlIGlucHV0IGFyZ3VtZW50cyBmcm9tIGZ1bmN0aW9ucyAoYW5kIHN5c2NhbGxzKQorICAgYWNjb3JkaW5nIHRvIGlhNjQgUlNFIChSZWdpc3RlciBTdGFjayBFbmdpbmUpIGJlaGF2aW9yLiAgKi8KKworIyAgIGRlZmluZSByZXN0b3JlX2FyZzAodGNwLCBzdGF0ZSwgdmFsKSAoKHZvaWQpIChzdGF0ZSksIDApCisjICAgZGVmaW5lIHJlc3RvcmVfYXJnMSh0Y3AsIHN0YXRlLCB2YWwpICgodm9pZCkgKHN0YXRlKSwgMCkKKworIyAgZWxpZiBkZWZpbmVkIChTUEFSQykgfHwgZGVmaW5lZCAoU1BBUkM2NCkKKwordHlwZWRlZiBzdHJ1Y3QgcHRfcmVncyBhcmdfc2V0dXBfc3RhdGU7CisKKyMgICBkZWZpbmUgYXJnX3NldHVwKHRjcCwgc3RhdGUpIFwKKyAgICAocHRyYWNlIChQVFJBQ0VfR0VUUkVHUywgdGNwLT5waWQsIChjaGFyICopIChzdGF0ZSksIDApKQorIyAgIGRlZmluZSBhcmdfZmluaXNoX2NoYW5nZSh0Y3AsIHN0YXRlKSBcCisgICAgKHB0cmFjZSAoUFRSQUNFX1NFVFJFR1MsIHRjcC0+cGlkLCAoY2hhciAqKSAoc3RhdGUpLCAwKSkKKworIyAgIGRlZmluZSBnZXRfYXJnMCh0Y3AsIHN0YXRlLCB2YWxwKSAoKih2YWxwKSA9IChzdGF0ZSktPnVfcmVnc1tVX1JFR19PMF0sIDApCisjICAgZGVmaW5lIGdldF9hcmcxKHRjcCwgc3RhdGUsIHZhbHApICgqKHZhbHApID0gKHN0YXRlKS0+dV9yZWdzW1VfUkVHX08xXSwgMCkKKyMgICBkZWZpbmUgc2V0X2FyZzAodGNwLCBzdGF0ZSwgdmFsKSAoKHN0YXRlKS0+dV9yZWdzW1VfUkVHX08wXSA9ICh2YWwpLCAwKQorIyAgIGRlZmluZSBzZXRfYXJnMSh0Y3AsIHN0YXRlLCB2YWwpICgoc3RhdGUpLT51X3JlZ3NbVV9SRUdfTzFdID0gKHZhbCksIDApCisjICAgZGVmaW5lIHJlc3RvcmVfYXJnMCh0Y3AsIHN0YXRlLCB2YWwpIDAKKworIyAgZWxzZSAvKiBvdGhlciBhcmNoaXRlY3R1cmVzICovCisKKyMgICBpZiBkZWZpbmVkIFMzOTAgfHwgZGVmaW5lZCBTMzkwWAorLyogTm90ZTogdGhpcyBpcyBvbmx5IHRydWUgZm9yIHRoZSBgY2xvbmUnIHN5c3RlbSBjYWxsLCB3aGljaCBoYW5kbGVzCisgICBhcmd1bWVudHMgc3BlY2lhbGx5LiAgV2UgY291bGQgYXMgd2VsbCBzYXkgdGhhdCBpdHMgZmlyc3QgdHdvIGFyZ3VtZW50cworICAgYXJlIHN3YXBwZWQgcmVsYXRpdmUgdG8gb3RoZXIgYXJjaGl0ZWN0dXJlcywgYnV0IHRoYXQgd291bGQganVzdCBiZQorICAgYW5vdGhlciAjaWZkZWYgaW4gdGhlIGNhbGxzLiAgKi8KKyMgICAgZGVmaW5lIGFyZzBfb2Zmc2V0CVBUX0dQUjMKKyMgICAgZGVmaW5lIGFyZzFfb2Zmc2V0CVBUX09SSUdHUFIyCisjICAgIGRlZmluZSByZXN0b3JlX2FyZzAodGNwLCBzdGF0ZSwgdmFsKSAoKHZvaWQpIChzdGF0ZSksIDApCisjICAgIGRlZmluZSByZXN0b3JlX2FyZzEodGNwLCBzdGF0ZSwgdmFsKSAoKHZvaWQpIChzdGF0ZSksIDApCisjICAgIGRlZmluZSBhcmcwX2luZGV4CTEKKyMgICAgZGVmaW5lIGFyZzFfaW5kZXgJMAorIyAgIGVsaWYgZGVmaW5lZCAoQUxQSEEpIHx8IGRlZmluZWQgKE1JUFMpCisjICAgIGRlZmluZSBhcmcwX29mZnNldAlSRUdfQTAKKyMgICAgZGVmaW5lIGFyZzFfb2Zmc2V0CShSRUdfQTArMSkKKyMgICBlbGlmIGRlZmluZWQgKEFWUjMyKQorIyAgICBkZWZpbmUgYXJnMF9vZmZzZXQJKFJFR19SMTIpCisjICAgIGRlZmluZSBhcmcxX29mZnNldAkoUkVHX1IxMSkKKyMgICBlbGlmIGRlZmluZWQgKFBPV0VSUEMpCisjICAgIGRlZmluZSBhcmcwX29mZnNldAkoc2l6ZW9mKHVuc2lnbmVkIGxvbmcpKlBUX1IzKQorIyAgICBkZWZpbmUgYXJnMV9vZmZzZXQJKHNpemVvZih1bnNpZ25lZCBsb25nKSpQVF9SNCkKKyMgICAgZGVmaW5lIHJlc3RvcmVfYXJnMCh0Y3AsIHN0YXRlLCB2YWwpICgodm9pZCkgKHN0YXRlKSwgMCkKKyMgICBlbGlmIGRlZmluZWQgKEhQUEEpCisjICAgIGRlZmluZSBhcmcwX29mZnNldAkgUFRfR1IyNgorIyAgICBkZWZpbmUgYXJnMV9vZmZzZXQJIChQVF9HUjI2LTQpCisjICAgZWxpZiBkZWZpbmVkIChYODZfNjQpCisjICAgIGRlZmluZSBhcmcwX29mZnNldAkoKGxvbmcpKDgqKGN1cnJlbnRfcGVyc29uYWxpdHkgPyBSQlggOiBSREkpKSkKKyMgICAgZGVmaW5lIGFyZzFfb2Zmc2V0CSgobG9uZykoOCooY3VycmVudF9wZXJzb25hbGl0eSA/IFJDWCA6IFJTSSkpKQorIyAgIGVsaWYgZGVmaW5lZCAoU0gpCisjICAgIGRlZmluZSBhcmcwX29mZnNldAkoNCooUkVHX1JFRzArNCkpCisjICAgIGRlZmluZSBhcmcxX29mZnNldAkoNCooUkVHX1JFRzArNSkpCisjICAgZWxpZiBkZWZpbmVkIChTSDY0KQorICAgIC8qIEFCSSBkZWZpbmVzIGFyZzAgJiAxIGluIHIyICYgcjMgKi8KKyMgICAgZGVmaW5lIGFyZzBfb2Zmc2V0ICAgKFJFR19PRkZTRVQrMTYpCisjICAgIGRlZmluZSBhcmcxX29mZnNldCAgIChSRUdfT0ZGU0VUKzI0KQorIyAgICBkZWZpbmUgcmVzdG9yZV9hcmcwKHRjcCwgc3RhdGUsIHZhbCkgMAorIyAgIGVsaWYgZGVmaW5lZCBDUklTVjEwIHx8IGRlZmluZWQgQ1JJU1YzMgorIyAgICBkZWZpbmUgYXJnMF9vZmZzZXQgICAoNCpQVF9SMTEpCisjICAgIGRlZmluZSBhcmcxX29mZnNldCAgICg0KlBUX09SSUdfUjEwKQorIyAgICBkZWZpbmUgcmVzdG9yZV9hcmcwKHRjcCwgc3RhdGUsIHZhbCkgMAorIyAgICBkZWZpbmUgcmVzdG9yZV9hcmcxKHRjcCwgc3RhdGUsIHZhbCkgMAorIyAgICBkZWZpbmUgYXJnMF9pbmRleCAgIDEKKyMgICAgZGVmaW5lIGFyZzFfaW5kZXggICAwCisjICAgZWxzZQorIyAgICBkZWZpbmUgYXJnMF9vZmZzZXQJMAorIyAgICBkZWZpbmUgYXJnMV9vZmZzZXQJNAorIyAgICBpZiBkZWZpbmVkIEFSTQorIyAgICAgZGVmaW5lIHJlc3RvcmVfYXJnMCh0Y3AsIHN0YXRlLCB2YWwpIDAKKyMgICAgZW5kaWYKKyMgICBlbmRpZgorCit0eXBlZGVmIGludCBhcmdfc2V0dXBfc3RhdGU7CisKKyMgICBkZWZpbmUgYXJnX3NldHVwKHRjcCwgc3RhdGUpICgwKQorIyAgIGRlZmluZSBhcmdfZmluaXNoX2NoYW5nZSh0Y3AsIHN0YXRlKQkwCisjICAgZGVmaW5lIGdldF9hcmcwKHRjcCwgY29va2llLCB2YWxwKSBcCisgICAgKHVwZWVrICgodGNwKSwgYXJnMF9vZmZzZXQsICh2YWxwKSkpCisjICAgZGVmaW5lIGdldF9hcmcxKHRjcCwgY29va2llLCB2YWxwKSBcCisgICAgKHVwZWVrICgodGNwKSwgYXJnMV9vZmZzZXQsICh2YWxwKSkpCisKK3N0YXRpYyBpbnQKK3NldF9hcmcwIChzdHJ1Y3QgdGNiICp0Y3AsIHZvaWQgKmNvb2tpZSwgbG9uZyB2YWwpCit7CisJcmV0dXJuIHB0cmFjZSAoUFRSQUNFX1BPS0VVU0VSLCB0Y3AtPnBpZCwgKGNoYXIqKWFyZzBfb2Zmc2V0LCB2YWwpOworfQorCitzdGF0aWMgaW50CitzZXRfYXJnMSAoc3RydWN0IHRjYiAqdGNwLCB2b2lkICpjb29raWUsIGxvbmcgdmFsKQoreworCXJldHVybiBwdHJhY2UgKFBUUkFDRV9QT0tFVVNFUiwgdGNwLT5waWQsIChjaGFyKilhcmcxX29mZnNldCwgdmFsKTsKK30KKworIyAgZW5kaWYgLyogYXJjaGl0ZWN0dXJlcyAqLworCisjICBpZm5kZWYgcmVzdG9yZV9hcmcwCisjICAgZGVmaW5lIHJlc3RvcmVfYXJnMCh0Y3AsIHN0YXRlLCB2YWwpIHNldF9hcmcwKCh0Y3ApLCAoc3RhdGUpLCAodmFsKSkKKyMgIGVuZGlmCisjICBpZm5kZWYgcmVzdG9yZV9hcmcxCisjICAgZGVmaW5lIHJlc3RvcmVfYXJnMSh0Y3AsIHN0YXRlLCB2YWwpIHNldF9hcmcxKCh0Y3ApLCAoc3RhdGUpLCAodmFsKSkKKyMgIGVuZGlmCisKKyMgIGlmbmRlZiBhcmcwX2luZGV4CisjICAgZGVmaW5lIGFyZzBfaW5kZXggMAorIyAgIGRlZmluZSBhcmcxX2luZGV4IDEKKyMgIGVuZGlmCisKK2ludAorc2V0YnB0KHN0cnVjdCB0Y2IgKnRjcCkKK3sKKwlzdGF0aWMgaW50IGNsb25lX3Njbm9bU1VQUE9SVEVEX1BFUlNPTkFMSVRJRVNdID0geyBTWVNfY2xvbmUgfTsKKwlhcmdfc2V0dXBfc3RhdGUgc3RhdGU7CisKKwlpZiAodGNwLT5mbGFncyAmIFRDQl9CUFRTRVQpIHsKKwkJZnByaW50ZihzdGRlcnIsICJQQU5JQzogVENCIGFscmVhZHkgc2V0IGluIHBpZCAldVxuIiwgdGNwLT5waWQpOworCQlyZXR1cm4gLTE7CisJfQorCisJLyoKKwkgKiBJdCdzIGEgc2lsbHkga2x1ZGdlIHRvIGluaXRpYWxpemUgdGhpcyB3aXRoIGEgc2VhcmNoIGF0IHJ1bnRpbWUuCisJICogQnV0IGl0J3MgYmV0dGVyIHRoYW4gbWFpbnRhaW5pbmcgYW5vdGhlciBtYWdpYyB0aGluZyBpbiB0aGUKKwkgKiBnb2Rmb3JzYWtlbiB0YWJsZXMuCisJICovCisJaWYgKGNsb25lX3Njbm9bY3VycmVudF9wZXJzb25hbGl0eV0gPT0gMCkgeworCQlpbnQgaTsKKwkJZm9yIChpID0gMDsgaSA8IG5zeXNjYWxsczsgKytpKQorCQkJaWYgKHN5c2VudFtpXS5zeXNfZnVuYyA9PSBzeXNfY2xvbmUpIHsKKwkJCQljbG9uZV9zY25vW2N1cnJlbnRfcGVyc29uYWxpdHldID0gaTsKKwkJCQlicmVhazsKKwkJCX0KKwl9CisKKwlzd2l0Y2ggKGtub3duX3Njbm8odGNwKSkgeworIyAgaWZkZWYgU1lTX3Zmb3JrCisJY2FzZSBTWVNfdmZvcms6CisjICBlbmRpZgorIyAgaWZkZWYgU1lTX2ZvcmsKKwljYXNlIFNZU19mb3JrOgorIyAgZW5kaWYKKyMgIGlmIGRlZmluZWQgU1lTX2ZvcmsgfHwgZGVmaW5lZCBTWVNfdmZvcmsKKwkJaWYgKGFyZ19zZXR1cCAodGNwLCAmc3RhdGUpIDwgMAorCQkgICAgfHwgZ2V0X2FyZzAgKHRjcCwgJnN0YXRlLCAmdGNwLT5pbnN0WzBdKSA8IDAKKwkJICAgIHx8IGdldF9hcmcxICh0Y3AsICZzdGF0ZSwgJnRjcC0+aW5zdFsxXSkgPCAwCisJCSAgICB8fCBjaGFuZ2Vfc3lzY2FsbCh0Y3AsIGNsb25lX3Njbm9bY3VycmVudF9wZXJzb25hbGl0eV0pIDwgMAorCQkgICAgfHwgc2V0X2FyZzAgKHRjcCwgJnN0YXRlLCBDTE9ORV9QVFJBQ0V8U0lHQ0hMRCkgPCAwCisJCSAgICB8fCBzZXRfYXJnMSAodGNwLCAmc3RhdGUsIDApIDwgMAorCQkgICAgfHwgYXJnX2ZpbmlzaF9jaGFuZ2UgKHRjcCwgJnN0YXRlKSA8IDApCisJCQlyZXR1cm4gLTE7CisJCXRjcC0+dV9hcmdbYXJnMF9pbmRleF0gPSBDTE9ORV9QVFJBQ0V8U0lHQ0hMRDsKKwkJdGNwLT51X2FyZ1thcmcxX2luZGV4XSA9IDA7CisJCXRjcC0+ZmxhZ3MgfD0gVENCX0JQVFNFVDsKKwkJcmV0dXJuIDA7CisjICBlbmRpZgorCisJY2FzZSBTWVNfY2xvbmU6CisjICBpZmRlZiBTWVNfY2xvbmUyCisJY2FzZSBTWVNfY2xvbmUyOgorIyAgZW5kaWYKKwkJLyogaWE2NCBjYWxscyBkaXJlY3RseSBgY2xvbmUgKENMT05FX1ZGT1JLIHwgQ0xPTkVfVk0pJworCQkgICBjb250cmFyeSB0byB4ODYgU1lTX3Zmb3JrIGFib3ZlLiAgRXZlbiBvbiB4ODYgd2UgdHVybiB0aGUKKwkJICAgdmZvcmsgc2VtYW50aWNzIGludG8gcGxhaW4gZm9yayAtIGVhY2ggYXBwbGljYXRpb24gbXVzdCBub3QKKwkJICAgZGVwZW5kIG9uIHRoZSB2Zm9yayBzcGVjaWZpY3MgYWNjb3JkaW5nIHRvIFBPU0lYLiAgV2Ugd291bGQKKwkJICAgaGFuZyB3YWl0aW5nIGZvciB0aGUgcGFyZW50IHJlc3VtZSBvdGhlcndpc2UuICBXZSBuZWVkIHRvCisJCSAgIGNsZWFyIGFsc28gQ0xPTkVfVk0gYnV0IG9ubHkgaW4gdGhlIENMT05FX1ZGT1JLIGNhc2UgYXMKKwkJICAgb3RoZXJ3aXNlIHdlIHdvdWxkIGJyZWFrIHB0aHJlYWRfY3JlYXRlLiAgKi8KKworCQlpZiAoKGFyZ19zZXR1cCAodGNwLCAmc3RhdGUpIDwgMAorCQkgICAgfHwgc2V0X2FyZzAgKHRjcCwgJnN0YXRlLAorCQkJCSAodGNwLT51X2FyZ1thcmcwX2luZGV4XSB8IENMT05FX1BUUkFDRSkKKwkJCQkgJiB+KHRjcC0+dV9hcmdbYXJnMF9pbmRleF0gJiBDTE9ORV9WRk9SSworCQkJCSAgICAgPyBDTE9ORV9WRk9SSyB8IENMT05FX1ZNIDogMCkpIDwgMAorCQkgICAgfHwgYXJnX2ZpbmlzaF9jaGFuZ2UgKHRjcCwgJnN0YXRlKSA8IDApKQorCQkJcmV0dXJuIC0xOworCQl0Y3AtPmZsYWdzIHw9IFRDQl9CUFRTRVQ7CisJCXRjcC0+aW5zdFswXSA9IHRjcC0+dV9hcmdbYXJnMF9pbmRleF07CisJCXRjcC0+aW5zdFsxXSA9IHRjcC0+dV9hcmdbYXJnMV9pbmRleF07CisJCXJldHVybiAwOworCisJZGVmYXVsdDoKKwkJZnByaW50ZihzdGRlcnIsICJQQU5JQzogc2V0YnB0IGZvciBzeXNjYWxsICVsZCBvbiAldT8/P1xuIiwKKwkJCXRjcC0+c2NubywgdGNwLT5waWQpOworCQlicmVhazsKKwl9CisKKwlyZXR1cm4gLTE7Cit9CisKK2ludAorY2xlYXJicHQodGNwKQorc3RydWN0IHRjYiAqdGNwOworeworCWFyZ19zZXR1cF9zdGF0ZSBzdGF0ZTsKKwlpZiAoYXJnX3NldHVwICh0Y3AsICZzdGF0ZSkgPCAwCisJICAgIHx8IHJlc3RvcmVfYXJnMCAodGNwLCAmc3RhdGUsIHRjcC0+aW5zdFswXSkgPCAwCisJICAgIHx8IHJlc3RvcmVfYXJnMSAodGNwLCAmc3RhdGUsIHRjcC0+aW5zdFsxXSkgPCAwCisJICAgIHx8IGFyZ19maW5pc2hfY2hhbmdlICh0Y3AsICZzdGF0ZSkpCisJCWlmIChlcnJubyAhPSBFU1JDSCkgcmV0dXJuIC0xOworCXRjcC0+ZmxhZ3MgJj0gflRDQl9CUFRTRVQ7CisJcmV0dXJuIDA7Cit9CisKKyMgZWxzZSAvKiAhZGVmaW5lZCBMSU5VWCAqLworCitpbnQKK3NldGJwdCh0Y3ApCitzdHJ1Y3QgdGNiICp0Y3A7Cit7CisjICBpZmRlZiBTVU5PUzQKKyMgICBpZmRlZiBTUEFSQwkvKiBUaGlzIGNvZGUgaXMgc2xpZ2h0bHkgc3BhcmMgc3BlY2lmaWMgKi8KKworCXN0cnVjdCByZWdzIHJlZ3M7CisjICAgIGRlZmluZSBCUFQJMHg5MWQwMjAwMQkvKiB0YQkxICovCisjICAgIGRlZmluZSBMT09QCTB4MTA4MDAwMDAJLyogYmEJMCAqLworIyAgICBkZWZpbmUgTE9PUEEJMHgzMDgwMDAwMAkvKiBiYSxhCTAgKi8KKyMgICAgZGVmaW5lIE5PUAkweDAxMDAwMDAwCisjICAgIGlmIExPT1BBCisJc3RhdGljIGludCBsb29wZGVsb29wWzFdID0ge0xPT1BBfTsKKyMgICAgZWxzZQorCXN0YXRpYyBpbnQgbG9vcGRlbG9vcFsyXSA9IHtMT09QLCBOT1B9OworIyAgICBlbmRpZgorCisJaWYgKHRjcC0+ZmxhZ3MgJiBUQ0JfQlBUU0VUKSB7CisJCWZwcmludGYoc3RkZXJyLCAiUEFOSUM6IFRDQiBhbHJlYWR5IHNldCBpbiBwaWQgJXVcbiIsIHRjcC0+cGlkKTsKKwkJcmV0dXJuIC0xOworCX0KKwlpZiAocHRyYWNlKFBUUkFDRV9HRVRSRUdTLCB0Y3AtPnBpZCwgKGNoYXIgKikmcmVncywgMCkgPCAwKSB7CisJCXBlcnJvcigic2V0YnB0OiBwdHJhY2UoUFRSQUNFX0dFVFJFR1MsIC4uLikiKTsKKwkJcmV0dXJuIC0xOworCX0KKwl0Y3AtPmJhZGRyID0gcmVncy5yX283ICsgODsKKwlpZiAocHRyYWNlKFBUUkFDRV9SRUFEVEVYVCwgdGNwLT5waWQsIChjaGFyICopdGNwLT5iYWRkciwKKwkJCQlzaXplb2YgdGNwLT5pbnN0LCAoY2hhciAqKXRjcC0+aW5zdCkgPCAwKSB7CisJCXBlcnJvcigic2V0YnB0OiBwdHJhY2UoUFRSQUNFX1JFQURURVhULCAuLi4pIik7CisJCXJldHVybiAtMTsKKwl9CisKKwkvKgorCSAqIFhYWCAtIEJSVVRBTCBNT0RFIE9OCisJICogV2UgY2Fubm90IHNldCBhIHJlYWwgQlBUIGluIHRoZSBjaGlsZCwgc2luY2UgaXQgd2lsbCBub3QgYmUKKwkgKiB0cmFjZWQgYXQgdGhlIG1vbWVudCBpdCB3aWxsIHJlYWNoIHRoZSB0cmFwIGFuZCB3b3VsZCBwcm9iYWJseQorCSAqIGRpZSB3aXRoIGEgY29yZSBkdW1wLgorCSAqIFRodXMsIHdlIGFyZSBmb3JjZSBvdXIgd2F5IGluIGJ5IHRha2luZyBvdXQgdHdvIGluc3RydWN0aW9ucworCSAqIGFuZCBpbnNlcnQgYW4gZXRlcm5hbCBsb29wIGluIHN0ZWFkLCBpbiBleHBlY3RhbmNlIG9mIHRoZSBTSUdTVE9QCisJICogZ2VuZXJhdGVkIGJ5IG91dCBQVFJBQ0VfQVRUQUNILgorCSAqIE9mIGNhdXNlLCBpZiB3ZSBldmFwb3JhdGUgb3Vyc2VsdmVzIGluIHRoZSBtaWRkbGUgb2YgYWxsIHRoaXMuLi4KKwkgKi8KKwlpZiAocHRyYWNlKFBUUkFDRV9XUklURVRFWFQsIHRjcC0+cGlkLCAoY2hhciAqKSB0Y3AtPmJhZGRyLAorCQkJc2l6ZW9mIGxvb3BkZWxvb3AsIChjaGFyICopIGxvb3BkZWxvb3ApIDwgMCkgeworCQlwZXJyb3IoInNldGJwdDogcHRyYWNlKFBUUkFDRV9XUklURVRFWFQsIC4uLikiKTsKKwkJcmV0dXJuIC0xOworCX0KKwl0Y3AtPmZsYWdzIHw9IFRDQl9CUFRTRVQ7CisKKyMgICBlbmRpZiAvKiBTUEFSQyAqLworIyAgZW5kaWYgLyogU1VOT1M0ICovCisKKwlyZXR1cm4gMDsKK30KKworaW50CitjbGVhcmJwdCh0Y3ApCitzdHJ1Y3QgdGNiICp0Y3A7Cit7CisjICBpZmRlZiBTVU5PUzQKKyMgICBpZmRlZiBTUEFSQworCisjICAgIGlmICFMT09QQQorCXN0cnVjdCByZWdzIHJlZ3M7CisjICAgIGVuZGlmCisKKwlpZiAoISh0Y3AtPmZsYWdzICYgVENCX0JQVFNFVCkpIHsKKwkJZnByaW50ZihzdGRlcnIsICJQQU5JQzogVENCIG5vdCBzZXQgaW4gcGlkICV1XG4iLCB0Y3AtPnBpZCk7CisJCXJldHVybiAtMTsKKwl9CisJaWYgKHB0cmFjZShQVFJBQ0VfV1JJVEVURVhULCB0Y3AtPnBpZCwgKGNoYXIgKikgdGNwLT5iYWRkciwKKwkJCQlzaXplb2YgdGNwLT5pbnN0LCAoY2hhciAqKSB0Y3AtPmluc3QpIDwgMCkgeworCQlwZXJyb3IoImNsZWFyYnRwOiBwdHJhY2UoUFRSQUNFX1dSSVRFVEVYVCwgLi4uKSIpOworCQlyZXR1cm4gLTE7CisJfQorCXRjcC0+ZmxhZ3MgJj0gflRDQl9CUFRTRVQ7CisKKyMgICAgaWYgIUxPT1BBCisJLyoKKwkgKiBTaW5jZSB3ZSBkb24ndCBoYXZlIGEgc2luZ2xlIGluc3RydWN0aW9uIGJyZWFrcG9pbnQsIHdlIG1heSBoYXZlCisJICogdG8gYWRqdXN0IHRoZSBwcm9ncmFtIGNvdW50ZXIgYWZ0ZXIgcmVtb3Zpbmcgb3VyIGBicmVha3BvaW50Jy4KKwkgKi8KKwlpZiAocHRyYWNlKFBUUkFDRV9HRVRSRUdTLCB0Y3AtPnBpZCwgKGNoYXIgKikmcmVncywgMCkgPCAwKSB7CisJCXBlcnJvcigiY2xlYXJicHQ6IHB0cmFjZShQVFJBQ0VfR0VUUkVHUywgLi4uKSIpOworCQlyZXR1cm4gLTE7CisJfQorCWlmICgocmVncy5yX3BjIDwgdGNwLT5iYWRkcikgfHwKKwkJCQkocmVncy5yX3BjID4gdGNwLT5iYWRkciArIDQpKSB7CisJCS8qIFRoZSBicmVha3BvaW50IGhhcyBub3QgYmVlbiByZWFjaGVkIHlldCAqLworCQlpZiAoZGVidWcpCisJCQlmcHJpbnRmKHN0ZGVyciwKKwkJCQkiTk9URTogUEMgbm90IGF0IGJwdCAocGMgJSN4IGJhZGRyICUjeClcbiIsCisJCQkJCXJlZ3Mucl9wYywgdGNwLT5iYWRkcik7CisJCXJldHVybiAwOworCX0KKwlpZiAocmVncy5yX3BjICE9IHRjcC0+YmFkZHIpCisJCWlmIChkZWJ1ZykKKwkJCWZwcmludGYoc3RkZXJyLCAiTk9URTogUEMgYWRqdXN0ZWQgKCUjeCAtPiAlI3hcbiIsCisJCQkJcmVncy5yX3BjLCB0Y3AtPmJhZGRyKTsKKworCXJlZ3Mucl9wYyA9IHRjcC0+YmFkZHI7CisJaWYgKHB0cmFjZShQVFJBQ0VfU0VUUkVHUywgdGNwLT5waWQsIChjaGFyICopJnJlZ3MsIDApIDwgMCkgeworCQlwZXJyb3IoImNsZWFyYnB0OiBwdHJhY2UoUFRSQUNFX1NFVFJFR1MsIC4uLikiKTsKKwkJcmV0dXJuIC0xOworCX0KKyMgICAgZW5kaWYgLyogTE9PUEEgKi8KKyMgICBlbmRpZiAvKiBTUEFSQyAqLworIyAgZW5kaWYgLyogU1VOT1M0ICovCisKKwlyZXR1cm4gMDsKK30KKworIyBlbmRpZiAvKiAhZGVmaW5lZCBMSU5VWCAqLworCisjZW5kaWYgLyogIVVTRV9QUk9DRlMgKi8KKworCisjaWZkZWYgU1VOT1M0CisKK3N0YXRpYyBpbnQKK2dldGV4KHRjcCwgaGRyKQorc3RydWN0IHRjYiAqdGNwOworc3RydWN0IGV4ZWMgKmhkcjsKK3sKKwlpbnQgbjsKKworCWZvciAobiA9IDA7IG4gPCBzaXplb2YgKmhkcjsgbiArPSA0KSB7CisJCWxvbmcgcmVzOworCQlpZiAodXBlZWsodGNwLCB1b2ZmKHVfZXhkYXRhKSArIG4sICZyZXMpIDwgMCkKKwkJCXJldHVybiAtMTsKKwkJbWVtY3B5KCgoY2hhciAqKSBoZHIpICsgbiwgJnJlcywgNCk7CisJfQorCWlmIChkZWJ1ZykgeworCQlmcHJpbnRmKHN0ZGVyciwgIltzdHJ1Y3QgZXhlYzogbWFnaWM6ICVvIHZlcnNpb24gJXUgTWFjaCAlb1xuIiwKKwkJCWhkci0+YV9tYWdpYywgaGRyLT5hX3Rvb2x2ZXJzaW9uLCBoZHItPmFfbWFjaHR5cGUpOworCQlmcHJpbnRmKHN0ZGVyciwgIlRleHQgJWx1IERhdGEgJWx1IEJzcyAlbHUgU3ltcyAlbHUgRW50cnkgJSNseF1cbiIsCisJCQloZHItPmFfdGV4dCwgaGRyLT5hX2RhdGEsIGhkci0+YV9ic3MsIGhkci0+YV9zeW1zLCBoZHItPmFfZW50cnkpOworCX0KKwlyZXR1cm4gMDsKK30KKworaW50CitmaXh2Zm9yayh0Y3ApCitzdHJ1Y3QgdGNiICp0Y3A7Cit7CisJaW50IHBpZCA9IHRjcC0+cGlkOworCS8qCisJICogQ2hhbmdlIGB2Zm9yaycgaW4gYSBmcmVzaGx5IGV4ZWMnZWQgZHluYW1pY2FsbHkgbGlua2VkCisJICogZXhlY3V0YWJsZSdzIChpbnRlcm5hbCkgc3ltYm9sIHRhYmxlIHRvIHBsYWluIG9sZCBgZm9yaycKKwkgKi8KKworCXN0cnVjdCBleGVjIGhkcjsKKwlzdHJ1Y3QgbGlua19keW5hbWljIGR5bjsKKwlzdHJ1Y3QgbGlua19keW5hbWljXzIgbGQ7CisJY2hhciAqc3RydGFiLCAqY3A7CisKKwlpZiAoZ2V0ZXgodGNwLCAmaGRyKSA8IDApCisJCXJldHVybiAtMTsKKwlpZiAoIWhkci5hX2R5bmFtaWMpCisJCXJldHVybiAtMTsKKworCWlmICh1bW92ZSh0Y3AsIChpbnQpIE5fREFUQUREUihoZHIpLCAmZHluKSA8IDApIHsKKwkJZnByaW50ZihzdGRlcnIsICJDYW5ub3QgcmVhZCBEWU5BTUlDXG4iKTsKKwkJcmV0dXJuIC0xOworCX0KKwlpZiAodW1vdmUodGNwLCAoaW50KSBkeW4ubGRfdW4ubGRfMiwgJmxkKSA8IDApIHsKKwkJZnByaW50ZihzdGRlcnIsICJDYW5ub3QgcmVhZCBsaW5rX2R5bmFtaWNfMlxuIik7CisJCXJldHVybiAtMTsKKwl9CisJaWYgKChzdHJ0YWIgPSBtYWxsb2MoKHVuc2lnbmVkKWxkLmxkX3N5bWJfc2l6ZSkpID09IE5VTEwpIHsKKwkJZnByaW50ZihzdGRlcnIsICJvdXQgb2YgbWVtb3J5XG4iKTsKKwkJcmV0dXJuIC0xOworCX0KKwlpZiAodW1vdmVuKHRjcCwgKGludClsZC5sZF9zeW1ib2xzKyhpbnQpTl9UWFRBRERSKGhkciksCisJCQkJCShpbnQpbGQubGRfc3ltYl9zaXplLCBzdHJ0YWIpIDwgMCkKKwkJZ290byBlcnI7CisKKwlmb3IgKGNwID0gc3RydGFiOyBjcCA8IHN0cnRhYiArIGxkLmxkX3N5bWJfc2l6ZTsgKSB7CisJCWlmIChzdHJjbXAoY3AsICJfdmZvcmsiKSA9PSAwKSB7CisJCQlpZiAoZGVidWcpCisJCQkJZnByaW50ZihzdGRlcnIsICJmaXh2Zm9yazogRk9VTkQgX3Zmb3JrXG4iKTsKKwkJCXN0cmNweShjcCwgIl9mb3JrIik7CisJCQlicmVhazsKKwkJfQorCQljcCArPSBzdHJsZW4oY3ApKzE7CisJfQorCWlmIChjcCA8IHN0cnRhYiArIGxkLmxkX3N5bWJfc2l6ZSkKKwkJLyoKKwkJICogV3JpdGUgZW50aXJlIHN5bWJvbCB0YWJsZSBiYWNrIHRvIGF2b2lkCisJCSAqIG1lbW9yeSBhbGlnbm1lbnQgYnVncyBpbiBwdHJhY2UKKwkJICovCisJCWlmICh0bG9hZChwaWQsIChpbnQpbGQubGRfc3ltYm9scysoaW50KU5fVFhUQUREUihoZHIpLAorCQkJCQkoaW50KWxkLmxkX3N5bWJfc2l6ZSwgc3RydGFiKSA8IDApCisJCQlnb3RvIGVycjsKKworCWZyZWUoc3RydGFiKTsKKwlyZXR1cm4gMDsKKworZXJyOgorCWZyZWUoc3RydGFiKTsKKwlyZXR1cm4gLTE7Cit9CisKKyNlbmRpZiAvKiBTVU5PUzQgKi8KZGlmZiAtLWdpdCBhL3N0cmFjZS00LjUuMjAveGxhdGUuZWwgYi9zdHJhY2UtNC41LjIwL3hsYXRlLmVsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNkMDgzYTEKLS0tIC9kZXYvbnVsbAorKysgYi9zdHJhY2UtNC41LjIwL3hsYXRlLmVsCkBAIC0wLDAgKzEsODAgQEAKKzs7IENvcHlyaWdodCAoYykgMTk5MywgMTk5NCwgMTk5NSBSaWNrIFNsYWRrZXkgPGpyc0B3b3JsZC5zdGQuY29tPgorOzsgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKzs7Cis7OyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKzs7IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworOzsgYXJlIG1ldDoKKzs7IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cis7OyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCis7OyAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorOzsgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorOzsgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKzs7IDMuIFRoZSBuYW1lIG9mIHRoZSBhdXRob3IgbWF5IG5vdCBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cworOzsgICAgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCis7OworOzsgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQVVUSE9SIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1MgT1IKKzs7IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMKKzs7IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuCis7OyBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCis7OyBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQKKzs7IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKzs7IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorOzsgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorOzsgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCis7OyBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorOzsKKzs7ICRJZCQKKworOzsgRGVzY3JpcHRpb246IEF1dG9tYXRlIHRoZSBjb25zdHJ1Y3Rpb24gb2Ygc3RyYWNlIHhsYXQgdGFibGVzLgorCis7OyBVc2FnZTogUHV0IHBvaW50IGFuZCBtYXJrIGFyb3VuZCBhIHNldCBvZiBkZWZpbml0aW9ucyBpbiBhIGhlYWRlcgorOzsgZmlsZS4gIFRoZW4gZ3JhYiB0aGVtIHdpdGggQy1jIEcuICBTd2l0Y2ggdG8gdGhlIHN0cmFjZSBzb3VyY2UgZmlsZQorOzsgYW5kIGJ1aWxkIHRoZSB4bGF0IHRhYmxlIHdpdGggQy1jIEIuICBUaGVuIHR5cGUgdGhlIG5hbWUgb2YgdGhlIHRhYmxlLgorCisoZ2xvYmFsLXNldC1rZXkgIlxDLWNHIiAnZ3JhYi14bGF0ZSkKKyhnbG9iYWwtc2V0LWtleSAiXEMtY0IiICdidWlsZC14bGF0ZSkKKworKGRlZnZhciB4bGF0ZS1saXN0IG5pbAorICAiU2VlIGdyYWIteGxhdGUgYW5kIGJ1aWxkLXhsYXRlLiIpCisKKyhkZWZ1biBncmFiLXhsYXRlIChiZWcgZW5kKQorICAiR3JhYiBhbGwgb2YgdGhlIGRlZmluZWQgbmFtZXMgaW4gdGhlIHJlZ2lvbiBhbmQgc2F2ZSB0aGVtIGluIHhsYXRlLWxpc3QuIgorICAoaW50ZXJhY3RpdmUgInIiKQorICAoc2F2ZS1leGN1cnNpb24KKyAgICAoc2V0cSB4bGF0ZS1saXN0IG5pbCkKKyAgICAoZ290by1jaGFyIGJlZykKKyAgICAoYmVnaW5uaW5nLW9mLWxpbmUpCisgICAgKHdoaWxlICg8IChwb2ludCkgZW5kKQorICAgICAgKGFuZCAobG9va2luZy1hdCAiXiNbIFx0XSpkZWZpbmVbIFx0XStcXChbQS1aYS16MC05X10rXFwpWyBcdF0rIikKKwkgICAoc2V0cSB4bGF0ZS1saXN0IChjb25zIChidWZmZXItc3Vic3RyaW5nIChtYXRjaC1iZWdpbm5pbmcgMSkKKwkJCQkJCSAgICAobWF0Y2gtZW5kIDEpKQorCQkJCSAgeGxhdGUtbGlzdCkpKQorICAgICAgKGZvcndhcmQtbGluZSkpKQorICAoYW5kIChmYm91bmRwICdkZWFjdGl2YXRlLW1hcmspCisgICAgICAgKGRlYWN0aXZhdGUtbWFyaykpCisgIChzZXRxIHhsYXRlLWxpc3QgKG5yZXZlcnNlIHhsYXRlLWxpc3QpKSkKKworKGRlZnVuIGJ1aWxkLXhsYXRlICgmb3B0aW9uYWwgbGlzdCkKKyAgIkJ1aWxkIGFuZCBpbnNlcnQgYW4gc3RyYWNlIHhsYXQgdGFibGUgYmFzZWQgb24gdGhlIGxhc3QgZ3JhYi4iCisgIChpbnRlcmFjdGl2ZSkKKyAgKG9yIGxpc3QKKyAgICAgIChzZXRxIGxpc3QgeGxhdGUtbGlzdCkpCisgIChiZWdpbm5pbmctb2YtbGluZSkKKyAgKHNhdmUtZXhjdXJzaW9uCisgICAgKGluc2VydCAic3RhdGljIHN0cnVjdCB4bGF0ID9bXSA9IHtcbiIpCisgICAgKHdoaWxlIGxpc3QKKyAgICAgIChpbnNlcnQgIlx0eyAiIChjYXIgbGlzdCkgIixcbiIpCisgICAgICAoYmFja3dhcmQtY2hhcikKKyAgICAgIChtb3ZlLXRvLWNvbHVtbiAyNCAnZm9yY2UpCisgICAgICAoZW5kLW9mLWxpbmUpCisgICAgICAoaW5zZXJ0ICJcIiIgKGNhciBsaXN0KSAiXCIiKQorICAgICAgKG1vdmUtdG8tY29sdW1uIDQwICdmb3JjZSkKKyAgICAgIChlbmQtb2YtbGluZSkKKyAgICAgIChpbnNlcnQgIn0sIikKKyAgICAgIChmb3J3YXJkLWxpbmUpCisgICAgICAoc2V0cSBsaXN0IChjZHIgbGlzdCkpKQorICAgIChpbnNlcnQgIgl7IDAsCQlOVUxMCQl9LFxuIikKKyAgICAoaW5zZXJ0ICJ9O1xuIikKKyAgICAoaW5zZXJ0ICJcbiIpKQorICAoc2VhcmNoLWZvcndhcmQgIj8iKQorICAoZGVsZXRlLWJhY2t3YXJkLWNoYXIgMSkpCmRpZmYgLS1naXQgYS9zdHJhY2UudGFyLmJ6MiBiL3N0cmFjZS50YXIuYnoyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ4MTM5ZGMKLS0tIC9kZXYvbnVsbAorKysgYi9zdHJhY2UudGFyLmJ6MgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9zdHJhY2UudXJsIGIvc3RyYWNlLnVybApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYjhiZDczCi0tLSAvZGV2L251bGwKKysrIGIvc3RyYWNlLnVybApAQCAtMCwwICsxIEBACitodHRwOi8vZG93bmxvYWQuc291cmNlZm9yZ2UubmV0L3N0cmFjZS9zdHJhY2UtNC41LjIwLnRhci5iejIKZGlmZiAtLWdpdCBhL3N0cmFjZS52ZXJzaW9uIGIvc3RyYWNlLnZlcnNpb24KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTk1YThjNwotLS0gL2Rldi9udWxsCisrKyBiL3N0cmFjZS52ZXJzaW9uCkBAIC0wLDAgKzEgQEAKKzQuNS4yMAo=